q2-tecton-elements 1.49.2 → 1.49.4

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 (363) hide show
  1. package/dist/cjs/click-elsewhere_2.cjs.entry.js +151 -148
  2. package/dist/cjs/click-elsewhere_2.cjs.entry.js.map +1 -1
  3. package/dist/cjs/{index-a93362ed.js → index-4b69f62d.js} +30 -18
  4. package/dist/{q2-tecton-elements/p-84190698.js.map → cjs/index-4b69f62d.js.map} +1 -1
  5. package/dist/cjs/{index-42fcd170.js → index-f69742cf.js} +1 -1
  6. package/dist/cjs/{index-42fcd170.js.map → index-f69742cf.js.map} +1 -1
  7. package/dist/cjs/loader.cjs.js +1 -1
  8. package/dist/cjs/q2-action-sheet.cjs.entry.js +2 -2
  9. package/dist/cjs/q2-avatar.cjs.entry.js +1 -1
  10. package/dist/cjs/q2-btn_2.cjs.entry.js +1 -1
  11. package/dist/cjs/q2-calendar.cjs.entry.js +3 -3
  12. package/dist/cjs/q2-card.cjs.entry.js +1 -1
  13. package/dist/cjs/q2-carousel-pane.cjs.entry.js +3 -3
  14. package/dist/cjs/q2-carousel.cjs.entry.js +2 -2
  15. package/dist/cjs/q2-chart-area.cjs.entry.js +2 -2
  16. package/dist/cjs/q2-chart-bar.cjs.entry.js +2 -2
  17. package/dist/cjs/q2-chart-donut.cjs.entry.js +2 -2
  18. package/dist/cjs/q2-checkbox-group.cjs.entry.js +2 -2
  19. package/dist/cjs/q2-checkbox.cjs.entry.js +2 -2
  20. package/dist/cjs/q2-currency.cjs.entry.js +1 -1
  21. package/dist/cjs/q2-data-table.cjs.entry.js +2 -2
  22. package/dist/cjs/q2-detail.cjs.entry.js +2 -2
  23. package/dist/cjs/q2-dropdown-item.cjs.entry.js +1 -1
  24. package/dist/cjs/q2-dropdown.cjs.entry.js +4 -2
  25. package/dist/cjs/q2-dropdown.cjs.entry.js.map +1 -1
  26. package/dist/cjs/q2-editable-field.cjs.entry.js +2 -2
  27. package/dist/cjs/q2-icon.cjs.entry.js +1 -1
  28. package/dist/cjs/q2-input.cjs.entry.js +2 -2
  29. package/dist/cjs/q2-item.cjs.entry.js +2 -2
  30. package/dist/cjs/q2-legend.cjs.entry.js +1 -1
  31. package/dist/cjs/q2-list.cjs.entry.js +2 -2
  32. package/dist/cjs/q2-loc.cjs.entry.js +2 -2
  33. package/dist/cjs/q2-message.cjs.entry.js +2 -2
  34. package/dist/cjs/q2-month-picker.cjs.entry.js +3 -3
  35. package/dist/cjs/q2-optgroup.cjs.entry.js +2 -2
  36. package/dist/cjs/q2-option-list.cjs.entry.js +13 -11
  37. package/dist/cjs/q2-option-list.cjs.entry.js.map +1 -1
  38. package/dist/cjs/q2-option.cjs.entry.js +1 -1
  39. package/dist/cjs/q2-pagination.cjs.entry.js +3 -3
  40. package/dist/cjs/q2-pill.cjs.entry.js +2 -2
  41. package/dist/cjs/q2-radio-group.cjs.entry.js +2 -2
  42. package/dist/cjs/q2-radio.cjs.entry.js +2 -2
  43. package/dist/cjs/q2-relative-time.cjs.entry.js +3 -3
  44. package/dist/cjs/q2-section.cjs.entry.js +3 -3
  45. package/dist/cjs/q2-select.cjs.entry.js +149 -30
  46. package/dist/cjs/q2-select.cjs.entry.js.map +1 -1
  47. package/dist/cjs/q2-stepper-pane.cjs.entry.js +2 -2
  48. package/dist/cjs/q2-stepper-vertical.cjs.entry.js +2 -2
  49. package/dist/cjs/q2-stepper.cjs.entry.js +2 -2
  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-tag.cjs.entry.js +2 -2
  53. package/dist/cjs/q2-tecton-elements.cjs.js +1 -1
  54. package/dist/cjs/q2-textarea.cjs.entry.js +2 -2
  55. package/dist/cjs/q2-tooltip.cjs.entry.js +1 -1
  56. package/dist/cjs/tecton-tab-pane.cjs.entry.js +2 -2
  57. package/dist/collection/collection-manifest.json +5 -5
  58. package/dist/collection/components/q2-action-sheet/q2-action-sheet.js +1 -1
  59. package/dist/collection/components/q2-avatar/q2-avatar.js +1 -1
  60. package/dist/collection/components/q2-calendar/q2-calendar.js +1 -1
  61. package/dist/collection/components/q2-calendar/q2-month-picker.js +2 -2
  62. package/dist/collection/components/q2-carousel/q2-carousel.js +1 -1
  63. package/dist/collection/components/q2-carousel-pane/q2-carousel-pane.js +2 -2
  64. package/dist/collection/components/q2-chart-area/q2-chart-area.js +1 -1
  65. package/dist/collection/components/q2-chart-bar/q2-chart-bar.js +1 -1
  66. package/dist/collection/components/q2-chart-donut/q2-chart-donut.js +1 -1
  67. package/dist/collection/components/q2-checkbox/q2-checkbox.js +1 -1
  68. package/dist/collection/components/q2-checkbox-group/q2-checkbox-group.js +1 -1
  69. package/dist/collection/components/q2-currency/q2-currency.js +1 -1
  70. package/dist/collection/components/q2-data-table/q2-data-table.js +7 -7
  71. package/dist/collection/components/q2-detail/q2-detail.js +1 -1
  72. package/dist/collection/components/q2-dropdown/q2-dropdown.js +3 -1
  73. package/dist/collection/components/q2-dropdown/q2-dropdown.js.map +1 -1
  74. package/dist/collection/components/q2-editable-field/q2-editable-field.js +1 -1
  75. package/dist/collection/components/q2-input/q2-input.js +2 -2
  76. package/dist/collection/components/q2-item/q2-item.js +1 -1
  77. package/dist/collection/components/q2-legend/q2-legend.js +1 -1
  78. package/dist/collection/components/q2-list/q2-list.js +1 -1
  79. package/dist/collection/components/q2-loc/q2-loc.js +1 -1
  80. package/dist/collection/components/q2-message/q2-message.js +1 -1
  81. package/dist/collection/components/q2-optgroup/q2-optgroup.js +1 -1
  82. package/dist/collection/components/q2-option/q2-option.js +1 -1
  83. package/dist/collection/components/q2-option-list/q2-option-list.js +15 -13
  84. package/dist/collection/components/q2-option-list/q2-option-list.js.map +1 -1
  85. package/dist/collection/components/q2-pagination/q2-pagination.js +2 -2
  86. package/dist/collection/components/q2-pill/q2-pill.js +1 -1
  87. package/dist/collection/components/q2-popover/q2-popover.css +18 -10
  88. package/dist/collection/components/q2-popover/q2-popover.js +207 -203
  89. package/dist/collection/components/q2-popover/q2-popover.js.map +1 -1
  90. package/dist/collection/components/q2-radio/q2-radio.js +1 -1
  91. package/dist/collection/components/q2-radio-group/q2-radio-group.js +1 -1
  92. package/dist/collection/components/q2-relative-time/q2-relative-time.js +1 -1
  93. package/dist/collection/components/q2-section/q2-section.js +2 -2
  94. package/dist/collection/components/q2-select/q2-select.js +187 -32
  95. package/dist/collection/components/q2-select/q2-select.js.map +1 -1
  96. package/dist/collection/components/q2-stepper/q2-stepper.js +1 -1
  97. package/dist/collection/components/q2-stepper-pane/q2-stepper-pane.js +3 -3
  98. package/dist/collection/components/q2-stepper-vertical/q2-stepper-vertical.js +1 -1
  99. package/dist/collection/components/q2-tab-container/q2-tab-container.js +1 -1
  100. package/dist/collection/components/q2-tab-pane/q2-tab-pane.js +1 -1
  101. package/dist/collection/components/q2-tag/q2-tag.js +1 -1
  102. package/dist/collection/components/q2-textarea/q2-textarea.js +1 -1
  103. package/dist/collection/components/tecton-tab-pane/tecton-tab-pane.js +2 -2
  104. package/dist/collection/utils/index.js +46 -0
  105. package/dist/collection/utils/index.js.map +1 -1
  106. package/dist/components/index2.js +29 -17
  107. package/dist/components/index2.js.map +1 -1
  108. package/dist/components/q2-action-sheet.js +1 -1
  109. package/dist/components/q2-avatar2.js +1 -1
  110. package/dist/components/q2-calendar.js +1 -1
  111. package/dist/components/q2-carousel-pane.js +2 -2
  112. package/dist/components/q2-carousel.js +1 -1
  113. package/dist/components/q2-chart-area.js +1 -1
  114. package/dist/components/q2-chart-bar.js +1 -1
  115. package/dist/components/q2-chart-donut.js +1 -1
  116. package/dist/components/q2-checkbox-group.js +1 -1
  117. package/dist/components/q2-checkbox2.js +1 -1
  118. package/dist/components/q2-currency.js +1 -1
  119. package/dist/components/q2-data-table.js +1 -1
  120. package/dist/components/q2-detail.js +1 -1
  121. package/dist/components/q2-dropdown.js +3 -1
  122. package/dist/components/q2-dropdown.js.map +1 -1
  123. package/dist/components/q2-editable-field.js +1 -1
  124. package/dist/components/q2-input2.js +1 -1
  125. package/dist/components/q2-item.js +1 -1
  126. package/dist/components/q2-legend2.js +1 -1
  127. package/dist/components/q2-list.js +1 -1
  128. package/dist/components/q2-loc.js +1 -1
  129. package/dist/components/q2-message2.js +1 -1
  130. package/dist/components/q2-month-picker.js +2 -2
  131. package/dist/components/q2-optgroup2.js +1 -1
  132. package/dist/components/q2-option-list2.js +12 -10
  133. package/dist/components/q2-option-list2.js.map +1 -1
  134. package/dist/components/q2-option2.js +1 -1
  135. package/dist/components/q2-pagination.js +2 -2
  136. package/dist/components/q2-pill.js +1 -1
  137. package/dist/components/q2-popover2.js +158 -155
  138. package/dist/components/q2-popover2.js.map +1 -1
  139. package/dist/components/q2-radio-group.js +1 -1
  140. package/dist/components/q2-radio.js +1 -1
  141. package/dist/components/q2-relative-time.js +1 -1
  142. package/dist/components/q2-section.js +2 -2
  143. package/dist/components/q2-select2.js +153 -33
  144. package/dist/components/q2-select2.js.map +1 -1
  145. package/dist/components/q2-stepper-pane.js +1 -1
  146. package/dist/components/q2-stepper-vertical.js +1 -1
  147. package/dist/components/q2-stepper.js +1 -1
  148. package/dist/components/q2-tab-container.js +1 -1
  149. package/dist/components/q2-tab-pane.js +1 -1
  150. package/dist/components/q2-tag.js +1 -1
  151. package/dist/components/q2-textarea.js +1 -1
  152. package/dist/components/tecton-tab-pane.js +2 -2
  153. package/dist/esm/click-elsewhere_2.entry.js +151 -148
  154. package/dist/esm/click-elsewhere_2.entry.js.map +1 -1
  155. package/dist/esm/{index-1c019b24.js → index-3184c760.js} +1 -1
  156. package/dist/esm/{index-1c019b24.js.map → index-3184c760.js.map} +1 -1
  157. package/dist/esm/{index-3c5cd75e.js → index-73081b4d.js} +30 -18
  158. package/dist/esm/index-73081b4d.js.map +1 -0
  159. package/dist/esm/loader.js +1 -1
  160. package/dist/esm/q2-action-sheet.entry.js +2 -2
  161. package/dist/esm/q2-avatar.entry.js +1 -1
  162. package/dist/esm/q2-btn_2.entry.js +1 -1
  163. package/dist/esm/q2-calendar.entry.js +3 -3
  164. package/dist/esm/q2-card.entry.js +1 -1
  165. package/dist/esm/q2-carousel-pane.entry.js +3 -3
  166. package/dist/esm/q2-carousel.entry.js +2 -2
  167. package/dist/esm/q2-chart-area.entry.js +2 -2
  168. package/dist/esm/q2-chart-bar.entry.js +2 -2
  169. package/dist/esm/q2-chart-donut.entry.js +2 -2
  170. package/dist/esm/q2-checkbox-group.entry.js +2 -2
  171. package/dist/esm/q2-checkbox.entry.js +2 -2
  172. package/dist/esm/q2-currency.entry.js +1 -1
  173. package/dist/esm/q2-data-table.entry.js +2 -2
  174. package/dist/esm/q2-detail.entry.js +2 -2
  175. package/dist/esm/q2-dropdown-item.entry.js +1 -1
  176. package/dist/esm/q2-dropdown.entry.js +4 -2
  177. package/dist/esm/q2-dropdown.entry.js.map +1 -1
  178. package/dist/esm/q2-editable-field.entry.js +2 -2
  179. package/dist/esm/q2-icon.entry.js +1 -1
  180. package/dist/esm/q2-input.entry.js +2 -2
  181. package/dist/esm/q2-item.entry.js +2 -2
  182. package/dist/esm/q2-legend.entry.js +1 -1
  183. package/dist/esm/q2-list.entry.js +2 -2
  184. package/dist/esm/q2-loc.entry.js +2 -2
  185. package/dist/esm/q2-message.entry.js +2 -2
  186. package/dist/esm/q2-month-picker.entry.js +3 -3
  187. package/dist/esm/q2-optgroup.entry.js +2 -2
  188. package/dist/esm/q2-option-list.entry.js +13 -11
  189. package/dist/esm/q2-option-list.entry.js.map +1 -1
  190. package/dist/esm/q2-option.entry.js +1 -1
  191. package/dist/esm/q2-pagination.entry.js +3 -3
  192. package/dist/esm/q2-pill.entry.js +2 -2
  193. package/dist/esm/q2-radio-group.entry.js +2 -2
  194. package/dist/esm/q2-radio.entry.js +2 -2
  195. package/dist/esm/q2-relative-time.entry.js +3 -3
  196. package/dist/esm/q2-section.entry.js +3 -3
  197. package/dist/esm/q2-select.entry.js +150 -31
  198. package/dist/esm/q2-select.entry.js.map +1 -1
  199. package/dist/esm/q2-stepper-pane.entry.js +2 -2
  200. package/dist/esm/q2-stepper-vertical.entry.js +2 -2
  201. package/dist/esm/q2-stepper.entry.js +2 -2
  202. package/dist/esm/q2-tab-container.entry.js +2 -2
  203. package/dist/esm/q2-tab-pane.entry.js +1 -1
  204. package/dist/esm/q2-tag.entry.js +2 -2
  205. package/dist/esm/q2-tecton-elements.js +1 -1
  206. package/dist/esm/q2-textarea.entry.js +2 -2
  207. package/dist/esm/q2-tooltip.entry.js +1 -1
  208. package/dist/esm/tecton-tab-pane.entry.js +2 -2
  209. package/dist/jest.setup.js +33 -0
  210. package/dist/jest.setup.js.map +1 -0
  211. package/dist/q2-tecton-elements/{p-d8d9ba1f.entry.js → p-014c6454.entry.js} +2 -2
  212. package/dist/q2-tecton-elements/{p-e4b8f4b3.entry.js → p-01b436c4.entry.js} +2 -2
  213. package/dist/q2-tecton-elements/p-03fcf787.entry.js +2 -0
  214. package/dist/q2-tecton-elements/{p-a657277b.entry.js.map → p-03fcf787.entry.js.map} +1 -1
  215. package/dist/q2-tecton-elements/p-0b33965c.entry.js +2 -0
  216. package/dist/q2-tecton-elements/{p-4da4cb5d.entry.js.map → p-0b33965c.entry.js.map} +1 -1
  217. package/dist/q2-tecton-elements/{p-a177d812.entry.js → p-0c5ff345.entry.js} +2 -2
  218. package/dist/q2-tecton-elements/p-0d46b95e.js +2 -0
  219. package/dist/q2-tecton-elements/p-0d46b95e.js.map +1 -0
  220. package/dist/q2-tecton-elements/{p-db79c056.entry.js → p-152641b0.entry.js} +2 -2
  221. package/dist/q2-tecton-elements/p-19d02441.entry.js +2 -0
  222. package/dist/q2-tecton-elements/p-19d02441.entry.js.map +1 -0
  223. package/dist/q2-tecton-elements/p-1bb08555.entry.js +2 -0
  224. package/dist/q2-tecton-elements/p-1bb08555.entry.js.map +1 -0
  225. package/dist/q2-tecton-elements/{p-dbfab45b.entry.js → p-1be2778a.entry.js} +2 -2
  226. package/dist/q2-tecton-elements/{p-630613c7.entry.js → p-26a23f08.entry.js} +2 -2
  227. package/dist/q2-tecton-elements/{p-da711c59.entry.js → p-2a21bb2a.entry.js} +2 -2
  228. package/dist/q2-tecton-elements/{p-bbf9d36d.entry.js → p-2a471072.entry.js} +2 -2
  229. package/dist/q2-tecton-elements/{p-0852e6fe.entry.js → p-2cd69fc5.entry.js} +2 -2
  230. package/dist/q2-tecton-elements/{p-f6358905.entry.js → p-2cdc1c18.entry.js} +2 -2
  231. package/dist/q2-tecton-elements/p-3b8fbd85.entry.js +2 -0
  232. package/dist/q2-tecton-elements/p-3b8fbd85.entry.js.map +1 -0
  233. package/dist/q2-tecton-elements/{p-1e7fa870.entry.js → p-408f5dd0.entry.js} +2 -2
  234. package/dist/q2-tecton-elements/{p-ea7876eb.entry.js → p-45cf9f0b.entry.js} +2 -2
  235. package/dist/q2-tecton-elements/{p-08176bd0.entry.js → p-4635d8fd.entry.js} +2 -2
  236. package/dist/q2-tecton-elements/{p-333a41ca.entry.js → p-55554655.entry.js} +2 -2
  237. package/dist/q2-tecton-elements/{p-2bcb7e89.entry.js → p-6443ae6f.entry.js} +2 -2
  238. package/dist/q2-tecton-elements/{p-4388e521.entry.js → p-6c64c5e9.entry.js} +2 -2
  239. package/dist/q2-tecton-elements/{p-793a453e.entry.js → p-6e4b1bfe.entry.js} +2 -2
  240. package/dist/q2-tecton-elements/{p-da0cacef.entry.js → p-79cc72fc.entry.js} +2 -2
  241. package/dist/q2-tecton-elements/{p-c8b4f5f7.entry.js → p-7db2c188.entry.js} +2 -2
  242. package/dist/q2-tecton-elements/{p-9ecabc7a.entry.js → p-818fc8a7.entry.js} +2 -2
  243. package/dist/q2-tecton-elements/{p-9c589ab3.entry.js → p-835cf95a.entry.js} +2 -2
  244. package/dist/q2-tecton-elements/{p-e0a6baea.entry.js → p-88ae4e26.entry.js} +2 -2
  245. package/dist/q2-tecton-elements/{p-ec8a0b64.entry.js → p-8feb8b28.entry.js} +2 -2
  246. package/dist/q2-tecton-elements/p-926bf280.entry.js +2 -0
  247. package/dist/q2-tecton-elements/{p-9e90a38a.entry.js.map → p-926bf280.entry.js.map} +1 -1
  248. package/dist/q2-tecton-elements/{p-6c933b14.entry.js → p-97ab03d0.entry.js} +2 -2
  249. package/dist/q2-tecton-elements/{p-e44560d9.entry.js → p-9c9a2662.entry.js} +2 -2
  250. package/dist/q2-tecton-elements/{p-a8e7e591.entry.js → p-a531a983.entry.js} +2 -2
  251. package/dist/q2-tecton-elements/{p-baa2eaa9.entry.js → p-aa7d16b8.entry.js} +2 -2
  252. package/dist/q2-tecton-elements/{p-d78669df.entry.js → p-adf615fc.entry.js} +2 -2
  253. package/dist/q2-tecton-elements/{p-40df4468.entry.js → p-b6e531bb.entry.js} +2 -2
  254. package/dist/q2-tecton-elements/{p-e3ad770b.entry.js → p-b7805a04.entry.js} +2 -2
  255. package/dist/q2-tecton-elements/{p-77a763eb.entry.js → p-bdaa03ca.entry.js} +2 -2
  256. package/dist/q2-tecton-elements/{p-25bfe0b2.entry.js → p-be03e61f.entry.js} +2 -2
  257. package/dist/q2-tecton-elements/{p-05b30f98.entry.js → p-c08dba38.entry.js} +2 -2
  258. package/dist/q2-tecton-elements/{p-5037fa67.entry.js → p-dba6c931.entry.js} +2 -2
  259. package/dist/q2-tecton-elements/{p-93680d12.entry.js → p-e3d214f7.entry.js} +2 -2
  260. package/dist/q2-tecton-elements/{p-76b98623.entry.js → p-e5e9718c.entry.js} +2 -2
  261. package/dist/q2-tecton-elements/{p-2810ba28.entry.js → p-e844e6f1.entry.js} +2 -2
  262. package/dist/q2-tecton-elements/{p-7b9a6bb7.entry.js → p-ecddccef.entry.js} +2 -2
  263. package/dist/q2-tecton-elements/{p-be518818.js → p-f1e887f5.js} +1 -1
  264. package/dist/q2-tecton-elements/{p-c5aac064.entry.js → p-f6a9e28d.entry.js} +2 -2
  265. package/dist/q2-tecton-elements/{p-5775b02b.entry.js → p-fdf819d2.entry.js} +2 -2
  266. package/dist/q2-tecton-elements/q2-tecton-elements.esm.js +1 -1
  267. package/dist/q2-tecton-elements/q2-tecton-elements.esm.js.map +1 -1
  268. package/dist/test/elements/q2-calendar-test.e2e.js +2 -2
  269. package/dist/test/elements/q2-calendar-test.e2e.js.map +1 -1
  270. package/dist/test/elements/q2-dropdown-test.e2e.js +2 -14
  271. package/dist/test/elements/q2-dropdown-test.e2e.js.map +1 -1
  272. package/dist/test/elements/q2-pagination-test.e2e.js +1 -0
  273. package/dist/test/elements/q2-pagination-test.e2e.js.map +1 -1
  274. package/dist/test/elements/q2-pill-test.e2e.js +1 -1
  275. package/dist/test/elements/q2-pill-test.e2e.js.map +1 -1
  276. package/dist/test/elements/q2-popover-test.e2e.js +1 -34
  277. package/dist/test/elements/q2-popover-test.e2e.js.map +1 -1
  278. package/dist/test/elements/q2-popover-test.spec.js +902 -511
  279. package/dist/test/elements/q2-popover-test.spec.js.map +1 -1
  280. package/dist/test/elements/q2-select-test.e2e.js +1 -15
  281. package/dist/test/elements/q2-select-test.e2e.js.map +1 -1
  282. package/dist/test/elements/q2-select-test.spec.js +552 -0
  283. package/dist/test/elements/q2-select-test.spec.js.map +1 -0
  284. package/dist/test/elements/q2-tag-test.e2e.js +1 -1
  285. package/dist/test/elements/q2-tag-test.e2e.js.map +1 -1
  286. package/dist/types/builds/q2e/development/tecton/tecton/packages/q2-tecton-elements/.stencil/jest.setup.d.ts +10 -0
  287. package/dist/types/components/q2-action-sheet/q2-action-sheet.d.ts +60 -0
  288. package/dist/types/components/q2-calendar/q2-calendar.d.ts +324 -0
  289. package/dist/types/components/q2-carousel/q2-carousel.d.ts +2 -2
  290. package/dist/types/components/q2-data-table/q2-data-table.d.ts +223 -0
  291. package/dist/types/components/q2-dropdown/q2-dropdown.d.ts +130 -0
  292. package/dist/types/components/q2-dropdown-item/q2-dropdown-item.d.ts +50 -0
  293. package/dist/types/components/q2-editable-field/q2-editable-field.d.ts +140 -0
  294. package/dist/types/components/q2-loading/skeleton/shapes.d.ts +1 -0
  295. package/dist/types/components/q2-optgroup/q2-optgroup.d.ts +1 -1
  296. package/dist/types/components/q2-option-list/q2-option-list.d.ts +99 -0
  297. package/dist/types/components/q2-pagination/q2-pagination.d.ts +60 -0
  298. package/dist/types/components/q2-pill/q2-pill.d.ts +102 -0
  299. package/dist/types/components/q2-popover/q2-popover.d.ts +31 -31
  300. package/dist/types/components/q2-select/q2-select.d.ts +260 -0
  301. package/dist/types/components/q2-stepper/q2-stepper.d.ts +52 -0
  302. package/dist/types/components/q2-stepper-vertical/q2-stepper-vertical.d.ts +62 -0
  303. package/dist/types/components/q2-tab-container/q2-tab-container.d.ts +2 -2
  304. package/dist/types/components/q2-tag/q2-tag.d.ts +59 -0
  305. package/dist/types/components.d.ts +8 -0
  306. package/dist/types/utils/action-sheet.d.ts +12 -0
  307. package/dist/types/utils/index.d.ts +4 -0
  308. package/package.json +3 -3
  309. package/dist/cjs/index-a93362ed.js.map +0 -1
  310. package/dist/esm/index-3c5cd75e.js.map +0 -1
  311. package/dist/q2-tecton-elements/p-089a7a1e.entry.js +0 -2
  312. package/dist/q2-tecton-elements/p-089a7a1e.entry.js.map +0 -1
  313. package/dist/q2-tecton-elements/p-2e6669a7.entry.js +0 -2
  314. package/dist/q2-tecton-elements/p-2e6669a7.entry.js.map +0 -1
  315. package/dist/q2-tecton-elements/p-4da4cb5d.entry.js +0 -2
  316. package/dist/q2-tecton-elements/p-84190698.js +0 -2
  317. package/dist/q2-tecton-elements/p-9e90a38a.entry.js +0 -2
  318. package/dist/q2-tecton-elements/p-a657277b.entry.js +0 -2
  319. package/dist/q2-tecton-elements/p-d2d3d95b.entry.js +0 -2
  320. package/dist/q2-tecton-elements/p-d2d3d95b.entry.js.map +0 -1
  321. /package/dist/q2-tecton-elements/{p-d8d9ba1f.entry.js.map → p-014c6454.entry.js.map} +0 -0
  322. /package/dist/q2-tecton-elements/{p-e4b8f4b3.entry.js.map → p-01b436c4.entry.js.map} +0 -0
  323. /package/dist/q2-tecton-elements/{p-a177d812.entry.js.map → p-0c5ff345.entry.js.map} +0 -0
  324. /package/dist/q2-tecton-elements/{p-db79c056.entry.js.map → p-152641b0.entry.js.map} +0 -0
  325. /package/dist/q2-tecton-elements/{p-dbfab45b.entry.js.map → p-1be2778a.entry.js.map} +0 -0
  326. /package/dist/q2-tecton-elements/{p-630613c7.entry.js.map → p-26a23f08.entry.js.map} +0 -0
  327. /package/dist/q2-tecton-elements/{p-da711c59.entry.js.map → p-2a21bb2a.entry.js.map} +0 -0
  328. /package/dist/q2-tecton-elements/{p-bbf9d36d.entry.js.map → p-2a471072.entry.js.map} +0 -0
  329. /package/dist/q2-tecton-elements/{p-0852e6fe.entry.js.map → p-2cd69fc5.entry.js.map} +0 -0
  330. /package/dist/q2-tecton-elements/{p-f6358905.entry.js.map → p-2cdc1c18.entry.js.map} +0 -0
  331. /package/dist/q2-tecton-elements/{p-1e7fa870.entry.js.map → p-408f5dd0.entry.js.map} +0 -0
  332. /package/dist/q2-tecton-elements/{p-ea7876eb.entry.js.map → p-45cf9f0b.entry.js.map} +0 -0
  333. /package/dist/q2-tecton-elements/{p-08176bd0.entry.js.map → p-4635d8fd.entry.js.map} +0 -0
  334. /package/dist/q2-tecton-elements/{p-333a41ca.entry.js.map → p-55554655.entry.js.map} +0 -0
  335. /package/dist/q2-tecton-elements/{p-2bcb7e89.entry.js.map → p-6443ae6f.entry.js.map} +0 -0
  336. /package/dist/q2-tecton-elements/{p-4388e521.entry.js.map → p-6c64c5e9.entry.js.map} +0 -0
  337. /package/dist/q2-tecton-elements/{p-793a453e.entry.js.map → p-6e4b1bfe.entry.js.map} +0 -0
  338. /package/dist/q2-tecton-elements/{p-da0cacef.entry.js.map → p-79cc72fc.entry.js.map} +0 -0
  339. /package/dist/q2-tecton-elements/{p-c8b4f5f7.entry.js.map → p-7db2c188.entry.js.map} +0 -0
  340. /package/dist/q2-tecton-elements/{p-9ecabc7a.entry.js.map → p-818fc8a7.entry.js.map} +0 -0
  341. /package/dist/q2-tecton-elements/{p-9c589ab3.entry.js.map → p-835cf95a.entry.js.map} +0 -0
  342. /package/dist/q2-tecton-elements/{p-e0a6baea.entry.js.map → p-88ae4e26.entry.js.map} +0 -0
  343. /package/dist/q2-tecton-elements/{p-ec8a0b64.entry.js.map → p-8feb8b28.entry.js.map} +0 -0
  344. /package/dist/q2-tecton-elements/{p-6c933b14.entry.js.map → p-97ab03d0.entry.js.map} +0 -0
  345. /package/dist/q2-tecton-elements/{p-e44560d9.entry.js.map → p-9c9a2662.entry.js.map} +0 -0
  346. /package/dist/q2-tecton-elements/{p-a8e7e591.entry.js.map → p-a531a983.entry.js.map} +0 -0
  347. /package/dist/q2-tecton-elements/{p-baa2eaa9.entry.js.map → p-aa7d16b8.entry.js.map} +0 -0
  348. /package/dist/q2-tecton-elements/{p-d78669df.entry.js.map → p-adf615fc.entry.js.map} +0 -0
  349. /package/dist/q2-tecton-elements/{p-40df4468.entry.js.map → p-b6e531bb.entry.js.map} +0 -0
  350. /package/dist/q2-tecton-elements/{p-e3ad770b.entry.js.map → p-b7805a04.entry.js.map} +0 -0
  351. /package/dist/q2-tecton-elements/{p-77a763eb.entry.js.map → p-bdaa03ca.entry.js.map} +0 -0
  352. /package/dist/q2-tecton-elements/{p-25bfe0b2.entry.js.map → p-be03e61f.entry.js.map} +0 -0
  353. /package/dist/q2-tecton-elements/{p-05b30f98.entry.js.map → p-c08dba38.entry.js.map} +0 -0
  354. /package/dist/q2-tecton-elements/{p-5037fa67.entry.js.map → p-dba6c931.entry.js.map} +0 -0
  355. /package/dist/q2-tecton-elements/{p-93680d12.entry.js.map → p-e3d214f7.entry.js.map} +0 -0
  356. /package/dist/q2-tecton-elements/{p-76b98623.entry.js.map → p-e5e9718c.entry.js.map} +0 -0
  357. /package/dist/q2-tecton-elements/{p-2810ba28.entry.js.map → p-e844e6f1.entry.js.map} +0 -0
  358. /package/dist/q2-tecton-elements/{p-7b9a6bb7.entry.js.map → p-ecddccef.entry.js.map} +0 -0
  359. /package/dist/q2-tecton-elements/{p-be518818.js.map → p-f1e887f5.js.map} +0 -0
  360. /package/dist/q2-tecton-elements/{p-c5aac064.entry.js.map → p-f6a9e28d.entry.js.map} +0 -0
  361. /package/dist/q2-tecton-elements/{p-5775b02b.entry.js.map → p-fdf819d2.entry.js.map} +0 -0
  362. /package/dist/types/{workspace/workspace/tecton-production_release_1.49.x → builds/q2e/development/tecton/tecton}/packages/q2-tecton-elements/.stencil/test/elements/q2-detail/slot-component.d.ts +0 -0
  363. /package/dist/types/{workspace/workspace/tecton-production_release_1.49.x → builds/q2e/development/tecton/tecton}/packages/q2-tecton-elements/.stencil/test/helpers.d.ts +0 -0
@@ -1 +0,0 @@
1
- {"version":3,"names":["q2OptionListCss","Q2OptionListStyle0","Q2OptionList","this","keyStore","queue","lastPressedAt","Date","scheduledAfterRender","clickHandler","event","target","option","closest","selectOption","multiple","popoverState","emit","open","action","externalKeydownHandler","stopPropagation","activeIndex","customSearch","allOptions","key","nextIndex","searchString","searchOptions","type","openDropdownWithActiveElement","setDefaultActiveElement","nextPaint","preventDefault","selectedOptions","length","getDefaultActiveIndex","getNextVisibleIndex","Math","max","min","noSelect","setActiveElement","match","focusoutHandler","relatedTarget","isInQ2OptionList","includes","isInLightDom","hostElement","contains","internalKeydownHandler","shiftKey","newOption","find","element","active","disabled","isFirstOptionActive","undefined","adjustActiveOptionAndScroll","isLastOptionActive","searchAndFocus","keyValue","shouldSelect","reorder","pivotIndex","list","map","index","slice","buildQueue","now","getTime","push","searchIndex","keyStr","join","v","display","RegExp","replace","setFocus","matched","loc","componentWillLoad","hasOptions","querySelectorAll","componentDidLoad","overrideFocus","checkOptions","selectedOptionsUpdated","ready","componentDidRender","forEach","fn","handleClick","delegateFocus","isEventFromElement","setActiveOption","setFocusedOption","getContents","allContents","getOptions","handleExternalKeydown","updateMultipleOptionAttrs","updateSingleOptionAttrs","showSelectedUpdated","showSelected","_multiSelectHidden","selected","rootSlot","getRootSlot","acceptedTags","filter","tagName","contents","extractOptions","elements","reduce","acc","Array","from","children","allVisibleOptions","hidden","disabledGroup","numToAdd","scrollToActiveOption","options","optionRole","role","focusSelectedSibling","hasNoSiblings","selectedOptionVisibleIndex","indexOf","nextVisibleSiblingIndex","nextVisibleSibling","nextSiblingIndex","firstSelected","findIndex","firstEnabled","direction","activeOption","visibleActiveOptionIndex","nextVisibleOptionIndex","nextVisibleOption","slot","querySelector","assignedElements","_a","hasAnotherSlot","waitForNextPaint","resetTimer","searchStringTimer","clearTimeout","window","setTimeout","scrollIntoView","block","selectedOption","selectedValue","value","valueObject","innerText","trim","values","isAlreadySelected","change","elementIndex","isOptionVisible","isVisible","focus","selectedValues","render","h","Host","class","ref","el","contentElement","onFocusout","label","onKeyDown","onClick"],"sources":["src/components/q2-option-list/q2-option-list.scss?tag=q2-option-list&encapsulation=shadow","src/components/q2-option-list/q2-option-list.tsx"],"sourcesContent":["@import '../../styles/host.scss';\n@import '../../styles/functions';\n\n:host {\n position: relative;\n width: 100%;\n display: block;\n line-height: var-list(var-prefixer(option-list-line-height),--app-line-height, 1.428571429em);\n}\n\n.content {\n text-align: start;\n\n :host([is-sizeable]) & {\n display: block;\n height: auto;\n }\n}\n","import {\n Component,\n Prop,\n h,\n Event,\n State,\n Element,\n ComponentInterface,\n Host,\n EventEmitter,\n Method,\n Watch,\n Listen,\n} from '@stencil/core';\nimport { isEventFromElement, isVisible, loc, nextPaint, overrideFocus, waitForNextPaint } from 'src/utils';\n\nexport interface IOptionValue {\n value: string;\n display?: string;\n}\n\n@Component({ tag: 'q2-option-list', shadow: true, styleUrl: 'q2-option-list.scss' })\nexport class Q2OptionList implements ComponentInterface {\n // #region Own Properties\n\n activeIndex: number;\n contentElement: HTMLElement;\n keyStore: {\n queue: string[];\n lastPressedAt: Date;\n } = {\n queue: [],\n lastPressedAt: new Date(),\n };\n pivotIndex: number;\n scheduledAfterRender: (() => void)[] = [];\n searchString: string;\n searchStringTimer: number;\n\n // #endregion\n // #region Host HTML Element\n\n @Element()\n hostElement: HTMLElement;\n\n // #endregion\n // #region State Properties\n\n @State()\n hasOptions: boolean;\n\n // #endregion\n // #region Public Property API\n\n @Prop({ reflect: true })\n align: 'left' | 'right';\n\n /** Indicates a custom search is being implemented for the option list. */\n @Prop({ reflect: true })\n customSearch: boolean;\n\n /** Disables the option list. */\n @Prop({ reflect: true })\n disabled: boolean;\n\n /** Determines the label that is applied to the option list for accessibility purposes. */\n @Prop()\n label: string = loc('tecton.element.optionList.label');\n\n /**\n * Enables the multi-select ability for the option list.\n * @info\n * Only applicable when options are provided.\n */\n @Prop({ reflect: true })\n multiple: boolean;\n\n /** Disables the logic that handles selecting and focusing an option in the option list. */\n @Prop({ reflect: true })\n noSelect: boolean;\n\n /** A list of the selected options on the element. */\n @Prop({ mutable: true })\n selectedOptions: IOptionValue[] = [];\n\n /** Applies focus to the selected option. */\n @Prop({ reflect: true, mutable: true })\n showSelected: boolean;\n\n /** Translates to the role of the option list */\n @Prop()\n type: 'menu' | 'listbox' = 'listbox';\n\n // #endregion\n // #region Events\n\n /**\n * Emitted when an option is selected or deselected.\n *\n * When the multi-select is enabled, the `value` property will be `undefined` and the `selectedOptions` property\n * will contain the selected option values.\n */\n @Event()\n change: EventEmitter<{ value: string; values: IOptionValue[] }>;\n\n /**\n * Emitted to indicate the intended state of the popover.\n * @private\n */\n @Event()\n popoverState: EventEmitter<{ open: boolean; action: 'close' | 'select' | 'open' }>;\n\n /**\n * Emitted when the component has finished rendering.\n * @private\n */\n @Event({ bubbles: false })\n ready: EventEmitter<undefined>;\n\n // #endregion\n // #region Component Lifecycle Events\n\n componentWillLoad() {\n this.hasOptions = !!this.hostElement.querySelectorAll('q2-option').length;\n }\n\n componentDidLoad(): void {\n overrideFocus(this.hostElement);\n this.checkOptions();\n this.selectedOptionsUpdated();\n this.ready.emit();\n }\n\n componentDidRender() {\n this.scheduledAfterRender.forEach(fn => fn());\n this.scheduledAfterRender = [];\n }\n\n // #endregion\n // #region Listeners\n\n @Listen('click')\n handleClick(event: MouseEvent) {\n event.stopPropagation();\n }\n\n @Listen('focus')\n delegateFocus(event: FocusEvent) {\n if (!isEventFromElement(event, this.hostElement)) return;\n this.popoverState.emit({ open: true, action: 'open' });\n const { activeIndex } = this;\n if (typeof activeIndex === 'number' && activeIndex > -1) {\n this.setActiveOption();\n this.setFocusedOption();\n } else {\n this.setDefaultActiveElement();\n }\n }\n\n // #endregion\n // #region Public Methods API\n\n @Method()\n async getContents(): Promise<(HTMLQ2OptgroupElement | HTMLQ2OptionElement)[]> {\n return this.allContents;\n }\n\n @Method()\n async getOptions(): Promise<HTMLQ2OptionElement[]> {\n return this.allOptions;\n }\n\n @Method()\n async handleExternalKeydown(event: KeyboardEvent) {\n this.externalKeydownHandler(event);\n }\n\n @Method()\n async setActiveElement(index: number) {\n this.activeIndex = index;\n this.setActiveOption();\n this.setFocusedOption();\n }\n\n @Method()\n async setDefaultActiveElement() {\n this.activeIndex = this.getDefaultActiveIndex();\n this.setActiveOption();\n this.setFocusedOption();\n }\n\n // #endregion\n // #region Watchers\n\n @Watch('selectedOptions')\n selectedOptionsUpdated() {\n if (this.multiple) {\n this.updateMultipleOptionAttrs();\n } else {\n this.updateSingleOptionAttrs();\n }\n }\n\n @Watch('showSelected')\n showSelectedUpdated(showSelected: boolean) {\n if (showSelected && this.selectedOptions.length === 0) {\n this.showSelected = false;\n return;\n }\n this.allOptions.forEach(option => (option._multiSelectHidden = showSelected ? !option.selected : false));\n }\n\n // #endregion\n // #region Local Methods\n\n get allContents(): (HTMLQ2OptgroupElement | HTMLQ2OptionElement)[] {\n const rootSlot = this.getRootSlot(this.hostElement);\n const acceptedTags = ['Q2-OPTGROUP', 'Q2-OPTION'];\n return rootSlot.filter(element => acceptedTags.includes(element.tagName)) as (\n | HTMLQ2OptgroupElement\n | HTMLQ2OptionElement\n )[];\n }\n\n get allOptions(): HTMLQ2OptionElement[] {\n const contents = this.allContents;\n\n const extractOptions = (\n elements: (HTMLQ2OptgroupElement | HTMLQ2OptionElement | Element)[]\n ): HTMLQ2OptionElement[] => {\n return elements.reduce((acc, element) => {\n if (element.tagName === 'Q2-OPTGROUP') {\n return [...acc, ...extractOptions(Array.from(element.children))];\n } else if (element.tagName === 'Q2-OPTION') {\n return [...acc, element];\n } else {\n return acc;\n }\n }, []);\n };\n\n return extractOptions(contents);\n }\n\n get allVisibleOptions(): HTMLQ2OptionElement[] {\n return this.allOptions.filter(\n option => !option.hidden && !option._multiSelectHidden && !option.disabled && !option.disabledGroup\n );\n }\n\n adjustActiveOptionAndScroll(numToAdd: number) {\n this.activeIndex += numToAdd;\n this.setActiveOption();\n this.setFocusedOption();\n this.scrollToActiveOption();\n }\n\n async checkOptions() {\n const { type } = this;\n const options = await this.getOptions();\n if (!type) return;\n const optionRole = type === 'menu' ? 'menuitem' : 'option';\n options.forEach(option => {\n option.role = optionRole;\n });\n }\n\n clickHandler = (event: Event) => {\n const target = event.target as HTMLQ2OptionElement;\n const option = target.closest('q2-option');\n this.selectOption(option);\n if (this.multiple) return;\n this.popoverState.emit({ open: false, action: 'select' });\n };\n\n /* tslint:disable:cyclomatic-complexity */\n externalKeydownHandler = (event: KeyboardEvent) => {\n event.stopPropagation();\n const { activeIndex, customSearch, allOptions } = this;\n const { key } = event;\n\n let nextIndex;\n switch (key) {\n case ' ':\n if (this.searchString) {\n if (customSearch) break;\n\n this.searchOptions(key, true);\n break;\n } else if (this.type === 'menu') {\n this.activeIndex = 0;\n this.openDropdownWithActiveElement(0);\n } else {\n this.setDefaultActiveElement();\n nextPaint(() => this.popoverState.emit({ open: true, action: 'open' }));\n }\n break;\n\n case 'Enter':\n if (this.type === 'menu') {\n this.activeIndex = 0;\n this.openDropdownWithActiveElement(0);\n } else {\n this.setDefaultActiveElement();\n nextPaint(() => this.popoverState.emit({ open: true, action: 'open' }));\n }\n break;\n\n case 'ArrowUp':\n event.preventDefault();\n this.activeIndex = 0;\n nextIndex = !!this.selectedOptions.length ? this.getDefaultActiveIndex() : this.getNextVisibleIndex(-1);\n if (nextIndex === -1) break;\n this.openDropdownWithActiveElement(nextIndex);\n break;\n\n case 'ArrowDown':\n event.preventDefault();\n this.activeIndex = 0;\n nextIndex = !!this.selectedOptions.length ? this.getDefaultActiveIndex() : this.getNextVisibleIndex(0);\n if (nextIndex === -1) break;\n this.openDropdownWithActiveElement(nextIndex);\n break;\n\n case 'Home':\n event.preventDefault();\n this.openDropdownWithActiveElement(0);\n break;\n\n case 'End':\n event.preventDefault();\n this.openDropdownWithActiveElement(allOptions.length - 1);\n break;\n\n case 'PageUp':\n event.preventDefault();\n this.openDropdownWithActiveElement(Math.max((activeIndex || 0) - 10, 0));\n break;\n\n case 'PageDown':\n event.preventDefault();\n this.openDropdownWithActiveElement(Math.min((activeIndex || 0) + 10, allOptions.length - 1));\n break;\n\n case 'Tab':\n this.popoverState.emit({ open: false, action: 'close' });\n break;\n\n case 'Esc':\n case 'Escape':\n if (this.noSelect) this.setActiveElement(null);\n this.popoverState.emit({ open: false, action: 'close' });\n break;\n\n default:\n if (customSearch) break;\n if (!key.match(/^[\\w]$/)) break;\n\n this.searchOptions(key, true);\n break;\n }\n };\n\n /* tslint:enable:cyclomatic-complexity */\n\n focusoutHandler = (event: FocusEvent) => {\n const { relatedTarget } = event as unknown as { relatedTarget: HTMLQ2OptionElement };\n const isInQ2OptionList = this.allOptions.includes(relatedTarget);\n const isInLightDom = !isInQ2OptionList && this.hostElement.contains(relatedTarget);\n if (isInQ2OptionList || isInLightDom) {\n event.stopPropagation();\n }\n };\n\n focusSelectedSibling(option: HTMLQ2OptionElement) {\n const { allVisibleOptions, allOptions } = this;\n const hasNoSiblings = allVisibleOptions.length < 2;\n if (hasNoSiblings) {\n this.showSelected = false;\n return;\n }\n\n const selectedOptionVisibleIndex = allVisibleOptions.indexOf(option);\n const nextVisibleSiblingIndex = selectedOptionVisibleIndex\n ? selectedOptionVisibleIndex - 1\n : selectedOptionVisibleIndex + 1;\n const nextVisibleSibling = allVisibleOptions[nextVisibleSiblingIndex];\n const nextSiblingIndex = allOptions.indexOf(nextVisibleSibling);\n\n this.activeIndex = nextSiblingIndex;\n this.setFocusedOption();\n this.scheduledAfterRender.push(() => {\n option._multiSelectHidden = !option.selected;\n });\n }\n\n getDefaultActiveIndex() {\n const { allOptions } = this;\n const firstSelected = allOptions.findIndex(element => element.selected);\n if (firstSelected > -1) return firstSelected;\n\n const firstEnabled = allOptions.findIndex(element => !element.hidden);\n if (firstEnabled > -1) return firstEnabled;\n\n return 0;\n }\n\n getNextVisibleIndex(direction) {\n const { allVisibleOptions, allOptions, activeIndex } = this;\n const activeOption = allOptions[activeIndex];\n const visibleActiveOptionIndex = allVisibleOptions.indexOf(activeOption);\n let nextVisibleOptionIndex = visibleActiveOptionIndex + direction;\n\n if (nextVisibleOptionIndex < 0) {\n nextVisibleOptionIndex = allVisibleOptions.length - 1;\n } else if (nextVisibleOptionIndex > allVisibleOptions.length - 1) {\n nextVisibleOptionIndex = 0;\n }\n\n const nextVisibleOption = allVisibleOptions[nextVisibleOptionIndex];\n return allOptions.indexOf(nextVisibleOption);\n }\n\n getRootSlot(element: Element): Element[] {\n const slot = element.querySelector('slot');\n const assignedElements = slot?.assignedElements() ?? Array.from(element.children);\n const hasAnotherSlot = !!assignedElements.length && assignedElements[0].tagName === 'SLOT';\n if (hasAnotherSlot) {\n return this.getRootSlot(assignedElements[0]);\n } else {\n return assignedElements;\n }\n }\n\n internalKeydownHandler = (event: KeyboardEvent) => {\n event.stopPropagation();\n const { activeIndex, customSearch, allOptions, multiple } = this;\n const { key, shiftKey } = event;\n\n let newOption;\n switch (key) {\n case ' ':\n if (this.searchString && !this.multiple) {\n if (customSearch) break;\n\n this.searchOptions(key, false);\n break;\n }\n\n event.preventDefault();\n newOption = allOptions.find(element => element.active);\n if (!newOption || newOption.disabled) break;\n this.selectOption(newOption);\n if (multiple) break;\n this.popoverState.emit({ open: false, action: 'select' });\n break;\n\n case 'Enter':\n event.preventDefault();\n newOption = allOptions.find(element => element.active);\n if (!newOption || newOption.disabled) break;\n this.selectOption(newOption);\n if (multiple) break;\n this.popoverState.emit({ open: false, action: 'select' });\n break;\n\n case 'ArrowUp':\n event.preventDefault();\n const isFirstOptionActive = activeIndex === 0;\n if (isFirstOptionActive) break;\n if (activeIndex === undefined) {\n this.setDefaultActiveElement();\n break;\n } else {\n const nextIndex = this.getNextVisibleIndex(-1);\n if (nextIndex === -1) break;\n this.adjustActiveOptionAndScroll(nextIndex - activeIndex);\n break;\n }\n\n case 'ArrowDown':\n event.preventDefault();\n const isLastOptionActive = activeIndex === allOptions.length - 1;\n if (isLastOptionActive) break;\n if (activeIndex === undefined) {\n this.setDefaultActiveElement();\n break;\n } else {\n const nextIndex = this.getNextVisibleIndex(1);\n if (nextIndex === -1) break;\n this.adjustActiveOptionAndScroll(nextIndex - activeIndex);\n break;\n }\n\n case 'Home':\n event.preventDefault();\n this.openDropdownWithActiveElement(0);\n break;\n\n case 'End':\n event.preventDefault();\n this.openDropdownWithActiveElement(allOptions.length - 1);\n break;\n\n case 'PageUp':\n event.preventDefault();\n this.openDropdownWithActiveElement(Math.max(activeIndex - 10, 0));\n break;\n\n case 'PageDown':\n event.preventDefault();\n this.openDropdownWithActiveElement(Math.min(activeIndex + 10, allOptions.length - 1));\n break;\n\n case 'Tab':\n if (shiftKey) break;\n if (this.multiple && this.type === 'listbox') break;\n newOption = allOptions.find(element => element.active);\n if (!newOption || newOption.disabled) return;\n this.selectOption(newOption);\n break;\n\n case 'Esc':\n case 'Escape':\n if (this.noSelect) this.setActiveElement(null);\n this.popoverState.emit({ open: false, action: 'close' });\n break;\n\n default:\n if (customSearch) break;\n if (!key.match(/^[\\w]$/)) break;\n\n this.searchOptions(key, false);\n break;\n }\n };\n\n async openDropdownWithActiveElement(activeIndex: number) {\n if (this.disabled) return;\n this.popoverState.emit({ open: true, action: 'open' });\n await waitForNextPaint();\n this.activeIndex = activeIndex;\n this.setActiveOption();\n this.setFocusedOption();\n this.scrollToActiveOption();\n }\n\n resetTimer() {\n if (this.searchStringTimer) {\n clearTimeout(this.searchStringTimer);\n }\n\n this.searchStringTimer = window.setTimeout(() => {\n this.searchString = null;\n }, 2000);\n }\n\n scrollToActiveOption() {\n const activeOption = this.allOptions[this.activeIndex];\n activeOption?.scrollIntoView({ block: 'nearest' });\n }\n\n searchAndFocus = (keyValue: string, shouldSelect: boolean) => {\n // pseudo search in non-searchable select\n const reorder = () => {\n this.pivotIndex = this.pivotIndex === undefined ? 0 : (this.activeIndex || 0) + 1;\n const list = this.allOptions.map((element, index) => ({ element, index }));\n return [...list.slice(this.pivotIndex), ...list.slice(0, this.pivotIndex)];\n };\n\n const buildQueue = () => {\n const now = new Date();\n if (now.getTime() - this.keyStore.lastPressedAt.getTime() > 1000) {\n // empty stored keys if delay > 1s\n this.keyStore.queue.length = 0;\n }\n if (this.keyStore.queue.length !== 1 || this.keyStore.queue[0] !== keyValue) {\n this.keyStore.queue.push(keyValue);\n }\n this.keyStore.lastPressedAt = now;\n };\n\n const searchIndex = (list: any[]) => {\n const keyStr = this.keyStore.queue.join('');\n return list.find(v => {\n return (\n !v.element.disabled &&\n v.element.display &&\n (v.element.display.match(new RegExp(`^${keyStr}`, 'i')) ||\n v.element.display.replace(/\\s/g, '').match(new RegExp(`^${keyStr}`, 'i')))\n );\n });\n };\n\n const setFocus = ({ index }) => {\n if (this.multiple) {\n // multiple: should open to make sure that which options are selected\n this.openDropdownWithActiveElement(index);\n } else {\n this.activeIndex = index;\n if (shouldSelect) {\n this.selectOption(this.allOptions[index]);\n this.popoverState.emit({ open: false, action: 'select' });\n } else this.setActiveElement(index);\n }\n };\n\n buildQueue();\n const matched = searchIndex(reorder());\n if (matched) {\n setFocus(matched);\n }\n };\n\n searchOptions(key: string, shouldSelect?: boolean) {\n this.searchString = key;\n this.searchAndFocus(key, shouldSelect);\n }\n\n selectOption(selectedOption: HTMLQ2OptionElement) {\n const { multiple, noSelect, showSelected } = this;\n if (!selectedOption || selectedOption.disabled || selectedOption.disabledGroup) return;\n const selectedValue = selectedOption.value;\n const valueObject = {\n value: selectedValue,\n display: selectedOption.display || selectedOption.innerText.trim(),\n };\n\n let values: IOptionValue[] = [];\n if (multiple) {\n const { selectedOptions } = this;\n const isAlreadySelected = selectedOptions.find(option => option.value === selectedValue);\n\n if (isAlreadySelected) {\n values = selectedOptions.filter(({ value }) => value !== selectedValue);\n } else {\n values = [...selectedOptions, valueObject];\n }\n\n if (showSelected) this.focusSelectedSibling(selectedOption);\n } else {\n values = [valueObject];\n }\n\n if (noSelect) this.setActiveElement(null);\n else this.selectedOptions = values;\n\n this.change.emit({ value: selectedValue, values });\n }\n\n setActiveOption() {\n const activeIndex = this.activeIndex;\n\n this.allOptions.forEach((element, elementIndex) => {\n element.active = activeIndex === elementIndex;\n });\n }\n\n setFocusedOption() {\n const option = this.allOptions[this.activeIndex];\n if (!option) return;\n\n const isOptionVisible = isVisible(option);\n if (isOptionVisible) option.focus();\n else nextPaint(() => option.focus());\n }\n\n updateMultipleOptionAttrs() {\n const { allOptions, selectedOptions } = this;\n const selectedValues = selectedOptions.map(({ value }) => value);\n allOptions.forEach(element => {\n element.selected = selectedValues.includes(element.value);\n });\n }\n\n updateSingleOptionAttrs() {\n const { allOptions, selectedOptions } = this;\n const selectedValue = selectedOptions[0]?.value || undefined;\n allOptions.forEach(element => {\n element.selected = element.value === selectedValue;\n });\n }\n\n // #endregion\n // #region Render Methods\n\n render() {\n return (\n <Host>\n <div\n class=\"content\"\n ref={el => (this.contentElement = el)}\n onFocusout={this.focusoutHandler}\n >\n <div\n class=\"options\"\n aria-label={loc('tecton.element.optionList.label', [this.label])}\n aria-multiselectable={`${!!this.multiple}`}\n role={this.type || 'listbox'}\n onKeyDown={this.internalKeydownHandler}\n onClick={this.clickHandler}\n >\n <slot />\n </div>\n </div>\n </Host>\n );\n }\n\n // #endregion\n}\n"],"mappings":"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"}
@@ -1,2 +0,0 @@
1
- import{r as t,c as o,g as i,h as e}from"./p-a5f18e27.js";import{t as r,w as s}from"./p-84190698.js";const n=class{constructor(i){t(this,i);this.change=o(this,"change",7);this.isCurrentlyFocused=false;this.mouseEventList=["mousedown","dragstart","touchstart"];this.mouseHandler=t=>{const o=this.shadowContains(this.findActiveElement());const i=this.shadowContains(this.shadowEventTarget(t))||this.originatesInSlots(t.target);if(!i&&(this.isCurrentlyFocused||o)){this.isCurrentlyFocused=false;this.change.emit();return}this.isCurrentlyFocused=i||o};this.windowBlurHandler=()=>{this.isCurrentlyFocused=false;this.change.emit()}}connectedCallback(){this.mouseEventList.forEach((t=>{document.addEventListener(t,this.mouseHandler)}));window.addEventListener("blur",this.windowBlurHandler)}disconnectedCallback(){this.mouseEventList.forEach((t=>{document.removeEventListener(t,this.mouseHandler)}));window.removeEventListener("blur",this.windowBlurHandler)}componentWillLoad(){}findActiveElement(){let t=document.activeElement;while(true){if(!t||!t.shadowRoot){return t}t=t.shadowRoot.activeElement}}originatesInSlots(t){const o=this.hostElement.querySelectorAll("slot");for(const i of Array.from(o)){const o=i&&i.assignedNodes&&i.assignedNodes()||this.hostElement.childNodes;for(const i of Array.from(o)){if(i.contains(t)){return true}}}return false}shadowContains(t){while(true){if(t===this.hostElement){return true}if(!t){return false}t=t.parentNode||t.host}}shadowEventTarget(t){return t.composedPath()[0]||t.target}get hostElement(){return i(this)}};const a="*{box-sizing:border-box}*:active{outline:none}*:focus{outline:none;box-shadow:var(--const-double-focus-ring, 0 0 0 2px #ffffff, 0 0 0 4px #0066cc)}:host{box-shadow:none !important}::-moz-focus-inner{border:none}input,textarea,button{font-family:inherit;font-size:inherit;font-stretch:inherit}:host(.sr),:host(.sr) button{border:0;clip:rect(0 0 0 0);height:1px;margin:-1px;overflow:hidden;padding:0;position:absolute;width:1px;white-space:nowrap}.sr,.sr button{border:0;clip:rect(0 0 0 0);height:1px;margin:-1px;overflow:hidden;padding:0;position:absolute;width:1px;white-space:nowrap}.hidden{display:none}:host([hidden]){display:none}.invisible{visibility:hidden}.container{display:none}.show{display:block;position:fixed;z-index:var(--tct-popover-z-index, 50);margin:0;padding:0;overflow:auto;background:var(--tct-popover-background, var(--app-white, #ffffff));color:var(--tct-popover-font-color, var(--t-text, #4d4d4d));min-width:var(--tct-popover-min-width, 135px);margin-block:var(--tct-popover-margin-block, 0);box-shadow:var(--tct-popover-box-shadow, var(--app-shadow-1, 0px 0px 2px rgba(0, 0, 0, 0.12), 0px 2px 4px rgba(0, 0, 0, 0.14)));border-width:var(--tct-popover-border-width, 0);border-style:solid;border-color:var(--tct-popover-border-color, transparent);border-radius:var(--tct-popover-border-radius, 0);max-height:var(--comp-pop-max-height);left:var(--comp-pop-left);opacity:var(--comp-pop-opacity, 0);--comp-scrollbar-size:var(--tct-scrollbar-size, var(--t-scrollbar-size, var(--app-scale-1x, 5px)));--comp-scrollbar-border-radius:var(--tct-scrollbar-border-radius, var(--t-scrollbar-border-radius, var(--app-border-radius-1, 4px)));--comp-scrollbar-color:var(--tct-scrollbar-color, var(--t-scrollbar-color, var(--t-a11y-gray-color, #747474)));scrollbar-width:thin;scrollbar-color:var(--comp-scrollbar-color) transparent}:host([block]) .show{right:unset;width:var(--comp-pop-width);min-width:var(--tct-popover-min-width, unset)}:host([align=left]) .show{left:var(--comp-pop-left);right:unset}:host([align=right]) .show{right:var(--comp-pop-right);left:unset}.show.down{top:var(--tct-popover-top, var(--comp-pop-top));bottom:unset}.show.up{top:unset;bottom:var(--comp-pop-bottom)}.show.legacy{position:absolute}.show::-webkit-scrollbar{width:var(--comp-scrollbar-size);height:var(--comp-scrollbar-size);margin:5px}.show::-webkit-scrollbar-thumb{background:var(--comp-scrollbar-color);border-radius:var(--comp-scrollbar-border-radius)}.show::-webkit-scrollbar-track{background:transparent;border-radius:var(--comp-scrollbar-border-radius)}click-elsewhere{position:relative;display:block}";const c=a;const p=class{constructor(i){t(this,i);this.popoverStateChanged=o(this,"popoverStateChanged",7);this.displayBuffer=10;this.orientationChanged=false;this.handleMinHeight=()=>{if(this.minHeight){r(this,"minHeight","prop")}};this.setAbsoluteCSSProperties=async()=>{const{controlElement:t,containerElement:o,currentDirection:i,align:e}=this;if(e==="right"){o.style.setProperty("--comp-pop-right","0");o.style.setProperty("--comp-pop-left","unset")}else{o.style.setProperty("--comp-pop-left","0");o.style.setProperty("--comp-pop-right","unset")}if(this.block){o.style.setProperty("--comp-pop-width","100%")}if(i==="up"){const i=getComputedStyle(t);const e=parseInt(i.height||"0")+parseInt(i.borderTopWidth||"0")+parseInt(i.borderBottomWidth||"0");o.style.setProperty("--comp-pop-bottom",`${e}px`)}await s();o.style.setProperty("--comp-pop-opacity","1")};this.setFixedCSSProperties=async()=>{var t,o;const{controlElement:i,containerElement:e,currentDirection:r,rootElementRect:n}=this;const{top:a,bottom:c,left:p,right:h}=(o=(t=i===null||i===void 0?void 0:i.getBoundingClientRect)===null||t===void 0?void 0:t.call(i))!==null&&o!==void 0?o:{top:0,bottom:0,left:0,right:0};const l=p-n.left;if(this.block)e.style.setProperty("--comp-pop-width",`${i.offsetWidth||0}px`);e.style.setProperty("--comp-pop-left",`${l}px`);e.style.setProperty("--comp-pop-right",`${n.width+n.left-h}px`);if(r==="up"){e.style.setProperty("--comp-pop-bottom",`${n.height+n.top-a}px`)}if(r==="down"){e.style.setProperty("--comp-pop-top",`${c-n.top}px`)}await s();e.style.setProperty("--comp-pop-opacity","1")};this.viewPortChanged=()=>{if(!this.open)return;this.determinePopDirection()};this.viewPortOrientationChanged=()=>{this.orientationChanged=true;this.viewPortChanged()};this.currentDirection=undefined;this.show=false;this.align=undefined;this.block=undefined;this.controlElement=undefined;this.direction=undefined;this.minHeight=undefined;this.mode=null;this.open=undefined}disconnectedCallback(){this.removeViewportListeners()}componentDidLoad(){this.handleMinHeight();if(this.open)this.determinePopDirection()}popoverStateHandler(t){const{detail:{open:o}}=t;if(o===this.open)return;this.open=o;t.stopPropagation()}async scrollContainerTo(t){this.containerElement.scrollTo(t)}async toggle(){this.open=!this.open}minHeightProvided(){this.handleMinHeight()}async openChanged(t){this.setRootElement();this.popoverStateChanged.emit({open:t});if(t){this.addViewportListeners();this.determinePopDirection()}else{this.removeViewportListeners();this.currentDirection=undefined;this.show=false;await s();this.clearCSSProperties()}}get actualDirection(){const{direction:t}=this;switch(t){case"up":case"down":return t;default:return undefined}}get isModule(){var t,o;const i=window!==window.top;const e=Object.keys((o=(t=window.Tecton)===null||t===void 0?void 0:t.platformDimensions)!==null&&o!==void 0?o:{}).length>0;return i&&e}addViewportListeners(){var t;window.addEventListener("resize",this.viewPortOrientationChanged);window.addEventListener("scroll",this.viewPortChanged,{passive:true,capture:true});(t=screen===null||screen===void 0?void 0:screen.orientation)===null||t===void 0?void 0:t.addEventListener("change",this.viewPortOrientationChanged);window.addEventListener("orientationchange",this.viewPortOrientationChanged)}clearCSSProperties(){this.containerElement.style.removeProperty("--comp-pop-max-height");this.containerElement.style.removeProperty("--comp-pop-top");this.containerElement.style.removeProperty("--comp-pop-bottom");this.containerElement.style.removeProperty("--comp-pop-left");this.containerElement.style.removeProperty("--comp-pop-right");this.containerElement.style.removeProperty("--comp-pop-width");this.containerElement.style.removeProperty("--comp-pop-opacity")}async determinePopDirection(){var t,o,i;const{containerElement:e,controlElement:r,actualDirection:n,displayBuffer:a}=this;if(e)e.style.maxHeight=null;await s();const{isModule:c}=this;const{top:p,bottom:h}=(o=(t=r===null||r===void 0?void 0:r.getBoundingClientRect)===null||t===void 0?void 0:t.call(r))!==null&&o!==void 0?o:{top:0,bottom:0};let l;let d;let u;if(c){const{outletOffset:t=0,innerHeight:o=window.innerHeight}=((i=window.Tecton)===null||i===void 0?void 0:i.platformDimensions)||{};const e=window.visualViewport.height-h;const r=o-(t+h);const s=e<r;l=o;d=(t>0?p:p+t)-a;u=s?e-a:r-a}else{l=window.visualViewport.height;d=p-a;u=l-h-a}const f=d>u?"up":"down";const w=!e.style.getPropertyValue("--comp-pop-max-height")||this.orientationChanged;this.orientationChanged=false;const m=this.currentDirection||n||f;switch(m){case"up":if(w){e.style.setProperty("--comp-pop-max-height",`${d}px`)}this.setDirectionAndShow("up");break;case"down":if(w){e.style.setProperty("--comp-pop-max-height",`${u}px`)}this.setDirectionAndShow("down");break}}removeViewportListeners(){var t;window.removeEventListener("resize",this.viewPortOrientationChanged);window.removeEventListener("scroll",this.viewPortChanged);(t=screen===null||screen===void 0?void 0:screen.orientation)===null||t===void 0?void 0:t.removeEventListener("orientationchange",this.viewPortOrientationChanged);window.removeEventListener("orientationchange",this.viewPortOrientationChanged)}setDirectionAndShow(t){this.setRootElement();const o=this.open;if(!o)return;this.currentDirection=t;this.show=true;if(this.mode==="legacy"){this.setAbsoluteCSSProperties()}else{this.setFixedCSSProperties()}}setRootElement(){let t=this.hostElement;while(t&&t!==document.documentElement){const o=window.getComputedStyle(t);if(o.transform!=="none"||o.filter!=="none"||o.perspective!=="none"||o.containerType!=="normal"||["transform","perspective","filter"].includes(o.willChange)||["layout","paint","strict","content"].includes(o.contain)){this.rootElementRect=t.getBoundingClientRect();return}const i=t.getRootNode();const e=typeof ShadowRoot!=="undefined"&&i instanceof ShadowRoot&&i.host instanceof HTMLElement;if(e){t=i.host}else{t=t.parentElement}}this.rootElementRect={top:0,bottom:0,left:0,right:0,height:window.visualViewport.height,width:window.visualViewport.width}}render(){const t=["container",this.currentDirection];if(this.show)t.push("show");if(this.mode==="legacy")t.push("legacy");return e("div",{key:"a58234dadb51baed9f1013b44ec6f1e2b3459cb0",ref:t=>this.containerElement=t,class:t.join(" "),"test-id":"outerContainer"},e("div",{key:"50fb0083b7eeee5a654e0e9ef405d104cbe08b3c",ref:t=>this.contentElement=t,class:"content"},e("slot",{key:"c3a2cb60d4c19261cb5c8e568505d524f9405580"})))}get hostElement(){return i(this)}static get watchers(){return{minHeight:["minHeightProvided"],open:["openChanged"]}}};p.style=c;export{n as click_elsewhere,p as q2_popover};
2
- //# sourceMappingURL=p-2e6669a7.entry.js.map
@@ -1 +0,0 @@
1
- {"version":3,"names":["ClickElsewhere","constructor","hostRef","this","isCurrentlyFocused","mouseEventList","mouseHandler","event","shadowContains","findActiveElement","aboutToBeFocused","shadowEventTarget","originatesInSlots","target","change","emit","windowBlurHandler","connectedCallback","forEach","eventName","document","addEventListener","window","disconnectedCallback","removeEventListener","componentWillLoad","workingElement","activeElement","shadowRoot","slots","hostElement","querySelectorAll","currentSlot","Array","from","lightNodes","assignedNodes","childNodes","currentNode","contains","child","parentNode","host","composedPath","q2PopoverCss","Q2PopoverStyle0","Q2Popover","displayBuffer","orientationChanged","handleMinHeight","minHeight","handleDeprecationWarning","setAbsoluteCSSProperties","async","controlElement","containerElement","currentDirection","align","style","setProperty","block","controlStyle","getComputedStyle","controlSize","parseInt","height","borderTopWidth","borderBottomWidth","waitForNextPaint","setFixedCSSProperties","rootElementRect","top","controlTop","bottom","controlBottom","left","controlLeft","right","controlRight","_b","_a","getBoundingClientRect","call","popoverLeft","offsetWidth","width","viewPortChanged","open","determinePopDirection","viewPortOrientationChanged","undefined","removeViewportListeners","componentDidLoad","popoverStateHandler","detail","stopPropagation","scrollContainerTo","options","scrollTo","toggle","minHeightProvided","openChanged","setRootElement","popoverStateChanged","addViewportListeners","show","clearCSSProperties","actualDirection","direction","isModule","isIframe","hasPlatformDimensions","Object","keys","Tecton","platformDimensions","length","passive","capture","screen","orientation","removeProperty","maxHeight","windowHeight","maxSpaceAbove","maxSpaceBelow","outletOffset","innerHeight","_c","distanceToIframeBottom","visualViewport","viewableSpaceBelow","isIframeShorterThanWindow","directionWithMostSpace","shouldUpdateMaxHeight","getPropertyValue","currentOrDetermineDirection","setDirectionAndShow","isOpen","mode","currentElement","documentElement","computedStyle","transform","filter","perspective","containerType","includes","willChange","contain","rootNode","getRootNode","isRootNodeWebComponent","ShadowRoot","HTMLElement","parentElement","render","containerClasses","push","h","key","ref","el","class","join","contentElement"],"sources":["src/components/click-elsewhere/click-elsewhere.tsx","src/components/q2-popover/q2-popover.scss?tag=q2-popover&encapsulation=shadow","src/components/q2-popover/q2-popover.tsx"],"sourcesContent":["import { Component, ComponentInterface, Element, Event, EventEmitter } from '@stencil/core';\n\n@Component({\n tag: 'click-elsewhere',\n shadow: false,\n})\nexport class ClickElsewhere implements ComponentInterface {\n // #region Own Properties\n\n isCurrentlyFocused: boolean = false;\n /**\n * Listens for mouse and window events that happen outside this click-elsewhere element so we can close popovers when users click outside them\n */\n mouseEventList: string[] = ['mousedown', 'dragstart', 'touchstart'];\n\n // #endregion\n // #region Host HTML Element\n\n @Element()\n hostElement: HTMLElement;\n\n // #endregion\n // #region Events\n\n /**\n * Emitted when the user clicks outside the element\n */\n @Event()\n change: EventEmitter;\n\n // #endregion\n // #region Component Lifecycle Events\n\n /* tslint:enable:no-empty */\n\n connectedCallback() {\n this.mouseEventList.forEach((eventName: string) => {\n document.addEventListener(eventName, this.mouseHandler);\n });\n window.addEventListener('blur', this.windowBlurHandler);\n }\n\n disconnectedCallback() {\n this.mouseEventList.forEach((eventName: string) => {\n document.removeEventListener(eventName, this.mouseHandler);\n });\n window.removeEventListener('blur', this.windowBlurHandler);\n }\n\n /* TODO: Stencil/Rollup is having issues compiling without this here. Will try to remove in future Stencil upgrade. */\n /* tslint:disable:no-empty */\n componentWillLoad() {}\n\n // #endregion\n // #region Local Methods\n\n findActiveElement(): Element | null {\n let workingElement = document.activeElement!;\n while (true) {\n if (!workingElement || !workingElement.shadowRoot) {\n return workingElement;\n }\n workingElement = workingElement.shadowRoot.activeElement;\n }\n }\n\n mouseHandler = (event: Event): void => {\n const isCurrentlyFocused = this.shadowContains(this.findActiveElement());\n const aboutToBeFocused =\n this.shadowContains(this.shadowEventTarget(event)) || this.originatesInSlots(event.target as Element);\n\n if (!aboutToBeFocused && (this.isCurrentlyFocused || isCurrentlyFocused)) {\n this.isCurrentlyFocused = false;\n this.change.emit();\n return;\n }\n this.isCurrentlyFocused = aboutToBeFocused || isCurrentlyFocused;\n };\n\n originatesInSlots(target: Element): boolean {\n const slots = this.hostElement.querySelectorAll('slot');\n for (const currentSlot of Array.from(slots)) {\n const lightNodes =\n (currentSlot && currentSlot.assignedNodes && currentSlot.assignedNodes()) ||\n this.hostElement.childNodes;\n\n for (const currentNode of Array.from(lightNodes)) {\n if (currentNode.contains(target)) {\n return true;\n }\n }\n }\n return false;\n }\n\n shadowContains(child: any): boolean {\n /**\n * shadow-dom enabled version of Node.contains()\n */\n\n while (true) {\n if (child === this.hostElement) {\n return true;\n }\n if (!child) {\n return false;\n }\n child = child.parentNode || child.host;\n }\n }\n\n shadowEventTarget(event: any): Element {\n return event.composedPath()[0] || event.target;\n }\n\n windowBlurHandler = (): void => {\n this.isCurrentlyFocused = false;\n this.change.emit();\n };\n}\n","@import '../../styles/host.scss';\n@import '../../styles/functions';\n\n.container {\n display: none;\n}\n\n.show {\n display: block;\n position: fixed;\n z-index: var-list(--tct-popover-z-index, 50);\n margin: 0;\n padding: 0;\n overflow: auto;\n background: var-list(--tct-popover-background, --app-white, #ffffff);\n color: var-list(--tct-popover-font-color, --t-text, #4d4d4d);\n min-width: var-list(--tct-popover-min-width, 135px);\n margin-block: var-list(--tct-popover-margin-block, 0);\n box-shadow: var-list(--tct-popover-box-shadow, --app-shadow-1, unquote(\"0px 0px 2px rgba(0, 0, 0, 0.12), 0px 2px 4px rgba(0, 0, 0, 0.14)\"));\n border-width: var-list(--tct-popover-border-width, 0);\n border-style: solid;\n border-color: var-list(--tct-popover-border-color, transparent);\n border-radius: var-list(--tct-popover-border-radius, 0);\n // the following --comp variables are set via JS\n max-height: var(--comp-pop-max-height);\n left: var(--comp-pop-left);\n opacity: var(--comp-pop-opacity, 0);\n\n :host([block]) & {\n right: unset;\n width: var(--comp-pop-width);\n min-width: var-list(--tct-popover-min-width, unset);\n }\n\n :host([align='left']) & {\n left: var(--comp-pop-left);\n right: unset;\n }\n\n :host([align='right']) & {\n right: var(--comp-pop-right);\n left: unset;\n }\n\n &.down {\n top: var-list(--tct-popover-top, --comp-pop-top);\n bottom: unset;\n }\n\n &.up {\n top: unset;\n bottom: var(--comp-pop-bottom);\n }\n\n &.legacy {\n position: absolute;\n }\n\n @include tiny-scrollbar();\n}\n\nclick-elsewhere {\n position: relative;\n display: block;\n}\n","import {\n Component,\n Prop,\n h,\n ComponentInterface,\n Element,\n Watch,\n Method,\n Listen,\n EventEmitter,\n Event,\n State,\n} from '@stencil/core';\nimport { handleDeprecationWarning, waitForNextPaint } from '../../utils';\n\n@Component({ tag: 'q2-popover', shadow: true, styleUrl: 'q2-popover.scss' })\nexport class Q2Popover implements ComponentInterface {\n // #region Own Properties\n\n containerElement: HTMLDivElement;\n contentElement: HTMLDivElement;\n /**\n * The number of pixels to leave between the popover and the edge of the viewport\n */\n displayBuffer = 10;\n /** remove when Popover API is supported in iOS */\n orientationChanged: boolean = false;\n rootElementRect: DOMRect;\n\n // #endregion\n // #region Host HTML Element\n\n @Element()\n hostElement: HTMLElement;\n\n // #endregion\n // #region State Properties\n\n @State()\n currentDirection: 'down' | 'up' = undefined;\n\n // remove `show` when Popover API is supported in iOS\n @State()\n show: boolean = false;\n\n // #endregion\n // #region Public Property API\n\n /** Aligns the popover to the left or right side of the control element. */\n @Prop({ reflect: true })\n align: 'left' | 'right';\n\n /** Indicates the popover will match the width of its parent element. */\n @Prop({ reflect: true })\n block: boolean;\n\n /** The element that controls the popover's behavior. */\n @Prop()\n controlElement: HTMLElement;\n\n /**\n * Force the direction of the popover when it opens.\n * If no value is passed, the component will auto-detect the direction based on available space.\n */\n @Prop({ reflect: true })\n direction: 'up' | 'down';\n\n /** @deprecated */\n @Prop()\n minHeight: number;\n\n @Prop()\n mode: 'legacy' = null;\n\n /** Controls whether the popover is open or closed. */\n @Prop({ reflect: true, mutable: true })\n open: boolean;\n\n // #endregion\n // #region Events\n\n /**\n * Emitted when the popover is opened or closed.\n */\n @Event()\n popoverStateChanged: EventEmitter<{ open: boolean }>;\n\n // #endregion\n // #region Component Lifecycle Events\n\n disconnectedCallback() {\n this.removeViewportListeners();\n }\n\n componentDidLoad() {\n this.handleMinHeight();\n if (this.open) this.determinePopDirection();\n }\n\n // #endregion\n // #region Listeners\n\n @Listen('popoverState')\n popoverStateHandler(event: CustomEvent<{ open: boolean }>) {\n const {\n detail: { open },\n } = event;\n if (open === this.open) return;\n\n this.open = open;\n event.stopPropagation();\n }\n\n // #endregion\n // #region Public Methods API\n\n @Method()\n async scrollContainerTo(options: ScrollToOptions) {\n this.containerElement.scrollTo(options);\n }\n\n @Method()\n async toggle() {\n this.open = !this.open;\n }\n\n // #endregion\n // #region Watchers\n\n @Watch('minHeight')\n minHeightProvided() {\n this.handleMinHeight();\n }\n\n @Watch('open')\n async openChanged(open: boolean) {\n this.setRootElement();\n this.popoverStateChanged.emit({ open });\n\n if (open) {\n this.addViewportListeners();\n this.determinePopDirection();\n } else {\n this.removeViewportListeners();\n this.currentDirection = undefined;\n this.show = false;\n await waitForNextPaint();\n this.clearCSSProperties();\n }\n }\n\n // #endregion\n // #region Local Methods\n\n get actualDirection(): 'up' | 'down' | undefined {\n const { direction } = this;\n switch (direction) {\n case 'up':\n case 'down':\n return direction;\n default:\n return undefined;\n }\n }\n\n get isModule() {\n const isIframe = window !== window.top;\n const hasPlatformDimensions = Object.keys(window.Tecton?.platformDimensions ?? {}).length > 0;\n return isIframe && hasPlatformDimensions;\n }\n\n addViewportListeners() {\n window.addEventListener('resize', this.viewPortOrientationChanged);\n // #region remove when Popover API is supported in iOS\n window.addEventListener('scroll', this.viewPortChanged, { passive: true, capture: true });\n screen?.orientation?.addEventListener('change', this.viewPortOrientationChanged);\n window.addEventListener('orientationchange', this.viewPortOrientationChanged);\n\n // #endregion\n }\n\n clearCSSProperties() {\n this.containerElement.style.removeProperty('--comp-pop-max-height');\n this.containerElement.style.removeProperty('--comp-pop-top');\n this.containerElement.style.removeProperty('--comp-pop-bottom');\n this.containerElement.style.removeProperty('--comp-pop-left');\n this.containerElement.style.removeProperty('--comp-pop-right');\n this.containerElement.style.removeProperty('--comp-pop-width');\n this.containerElement.style.removeProperty('--comp-pop-opacity');\n }\n\n async determinePopDirection() {\n const { containerElement, controlElement, actualDirection, displayBuffer } = this;\n if (containerElement) containerElement.style.maxHeight = null;\n\n await waitForNextPaint();\n\n const { isModule } = this;\n const { top: controlTop, bottom: controlBottom } = controlElement?.getBoundingClientRect?.() ?? {\n top: 0,\n bottom: 0,\n };\n\n let windowHeight: number;\n let maxSpaceAbove: number;\n let maxSpaceBelow: number;\n\n if (isModule) {\n const { outletOffset = 0, innerHeight = window.innerHeight } = window.Tecton?.platformDimensions || {};\n const distanceToIframeBottom = window.visualViewport.height - controlBottom;\n const viewableSpaceBelow = innerHeight - (outletOffset + controlBottom);\n const isIframeShorterThanWindow = distanceToIframeBottom < viewableSpaceBelow;\n windowHeight = innerHeight;\n // If the top of the module is below the top of the window we just use the controlTop\n // Otherwise we need to add the outletOffset to the controlTop\n maxSpaceAbove = (outletOffset > 0 ? controlTop : controlTop + outletOffset) - displayBuffer;\n maxSpaceBelow = isIframeShorterThanWindow\n ? distanceToIframeBottom - displayBuffer\n : viewableSpaceBelow - displayBuffer;\n } else {\n windowHeight = window.visualViewport.height;\n maxSpaceAbove = controlTop - displayBuffer;\n maxSpaceBelow = windowHeight - controlBottom - displayBuffer;\n }\n\n const directionWithMostSpace: 'up' | 'down' = maxSpaceAbove > maxSpaceBelow ? 'up' : 'down';\n\n // We do not want to update the max height once the popover is open unless the page orientation shifts (resize or mobile use cases)\n const shouldUpdateMaxHeight =\n !containerElement.style.getPropertyValue('--comp-pop-max-height') || this.orientationChanged;\n // we do not want to constantly update the max-height after an orientation change, so we switch this back to false\n this.orientationChanged = false;\n const currentOrDetermineDirection = this.currentDirection || actualDirection || directionWithMostSpace;\n\n switch (currentOrDetermineDirection) {\n case 'up':\n if (shouldUpdateMaxHeight) {\n containerElement.style.setProperty('--comp-pop-max-height', `${maxSpaceAbove}px`);\n }\n this.setDirectionAndShow('up');\n break;\n case 'down':\n if (shouldUpdateMaxHeight) {\n containerElement.style.setProperty('--comp-pop-max-height', `${maxSpaceBelow}px`);\n }\n this.setDirectionAndShow('down');\n break;\n default:\n break;\n }\n }\n\n handleMinHeight = () => {\n if (this.minHeight) {\n handleDeprecationWarning(this, 'minHeight', 'prop');\n }\n };\n\n removeViewportListeners() {\n window.removeEventListener('resize', this.viewPortOrientationChanged);\n // #region remove when Popover API is supported in iOS\n window.removeEventListener('scroll', this.viewPortChanged);\n screen?.orientation?.removeEventListener('orientationchange', this.viewPortOrientationChanged);\n window.removeEventListener('orientationchange', this.viewPortOrientationChanged);\n\n // #endregion\n }\n\n setAbsoluteCSSProperties = async () => {\n const { controlElement, containerElement, currentDirection, align } = this;\n\n if (align === 'right') {\n containerElement.style.setProperty('--comp-pop-right', '0');\n containerElement.style.setProperty('--comp-pop-left', 'unset');\n } else {\n containerElement.style.setProperty('--comp-pop-left', '0');\n containerElement.style.setProperty('--comp-pop-right', 'unset');\n }\n\n if (this.block) {\n containerElement.style.setProperty('--comp-pop-width', '100%');\n }\n\n if (currentDirection === 'up') {\n const controlStyle = getComputedStyle(controlElement);\n const controlSize =\n parseInt(controlStyle.height || '0') +\n parseInt(controlStyle.borderTopWidth || '0') +\n parseInt(controlStyle.borderBottomWidth || '0');\n\n containerElement.style.setProperty('--comp-pop-bottom', `${controlSize}px`);\n }\n\n // Wait for one paint to prevent layout thrashing\n await waitForNextPaint();\n containerElement.style.setProperty('--comp-pop-opacity', '1');\n };\n\n setDirectionAndShow(direction: 'up' | 'down') {\n this.setRootElement();\n // Due to some runtime inconsistency across devices/browsers we need to add one more check here because the\n // popover can be closed between the time the popover is opened and the time the direction is determined\n const isOpen = this.open;\n if (!isOpen) return;\n\n this.currentDirection = direction;\n this.show = true;\n if (this.mode === 'legacy') {\n this.setAbsoluteCSSProperties();\n } else {\n this.setFixedCSSProperties();\n }\n }\n\n setFixedCSSProperties = async () => {\n const { controlElement, containerElement, currentDirection, rootElementRect } = this;\n const {\n top: controlTop,\n bottom: controlBottom,\n left: controlLeft,\n right: controlRight,\n } = controlElement?.getBoundingClientRect?.() ?? {\n top: 0,\n bottom: 0,\n left: 0,\n right: 0,\n };\n const popoverLeft: number = controlLeft - rootElementRect.left;\n\n if (this.block) containerElement.style.setProperty('--comp-pop-width', `${controlElement.offsetWidth || 0}px`);\n containerElement.style.setProperty('--comp-pop-left', `${popoverLeft}px`);\n containerElement.style.setProperty(\n '--comp-pop-right',\n `${rootElementRect.width + rootElementRect.left - controlRight}px`\n );\n\n if (currentDirection === 'up') {\n containerElement.style.setProperty(\n '--comp-pop-bottom',\n `${rootElementRect.height + rootElementRect.top - controlTop}px`\n );\n }\n if (currentDirection === 'down') {\n containerElement.style.setProperty('--comp-pop-top', `${controlBottom - rootElementRect.top}px`);\n }\n\n // Wait for one paint to prevent layout thrashing\n await waitForNextPaint();\n containerElement.style.setProperty('--comp-pop-opacity', '1');\n };\n\n setRootElement() {\n let currentElement: HTMLElement = this.hostElement;\n\n while (currentElement && currentElement !== document.documentElement) {\n const computedStyle = window.getComputedStyle(currentElement);\n\n // Check if the element has any styles applied that create a new containg block\n if (\n computedStyle.transform !== 'none' ||\n computedStyle.filter !== 'none' ||\n computedStyle.perspective !== 'none' ||\n computedStyle.containerType !== 'normal' ||\n ['transform', 'perspective', 'filter'].includes(computedStyle.willChange) ||\n ['layout', 'paint', 'strict', 'content'].includes(computedStyle.contain)\n ) {\n this.rootElementRect = currentElement.getBoundingClientRect();\n return;\n }\n\n const rootNode = currentElement.getRootNode();\n const isRootNodeWebComponent =\n typeof ShadowRoot !== 'undefined' &&\n rootNode instanceof ShadowRoot &&\n rootNode.host instanceof HTMLElement;\n if (isRootNodeWebComponent) {\n currentElement = rootNode.host;\n } else {\n currentElement = currentElement.parentElement;\n }\n }\n\n // Return the document's bounding rect if no element is found\n this.rootElementRect = {\n top: 0,\n bottom: 0,\n left: 0,\n right: 0,\n height: window.visualViewport.height,\n width: window.visualViewport.width,\n } as DOMRect;\n }\n\n viewPortChanged = () => {\n if (!this.open) return;\n this.determinePopDirection();\n };\n\n viewPortOrientationChanged = () => {\n this.orientationChanged = true;\n this.viewPortChanged();\n };\n\n // #endregion\n // #region Render Methods\n\n render() {\n const containerClasses = ['container', this.currentDirection];\n if (this.show) containerClasses.push('show');\n if (this.mode === 'legacy') containerClasses.push('legacy');\n\n return (\n <div\n ref={el => (this.containerElement = el)}\n class={containerClasses.join(' ')}\n test-id=\"outerContainer\"\n >\n <div\n ref={el => (this.contentElement = el)}\n class=\"content\"\n >\n <slot />\n </div>\n </div>\n );\n }\n\n // #endregion\n}\n"],"mappings":"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"}
@@ -1,2 +0,0 @@
1
- import{r as e,c as t,h as i,g as n}from"./p-a5f18e27.js";import{d as a}from"./p-be518818.js";import{l as s,h as r,o as d,i as o,w as l,a as c}from"./p-84190698.js";function h(e){const t=new Date(e);if(!a.isValid(t))return;return a.formatISO(t,{representation:"date"})}let u;function f(e){const t=new Date(e);if(!a.isValid(t))return;const i=t.toISOString();if(!u){u=new Intl.DateTimeFormat("en-US",{month:"2-digit",day:"2-digit",year:"numeric",timeZone:Intl.DateTimeFormat().resolvedOptions().timeZone})}return u.format(new Date(i))}let v;function p(e){const t=new Date(e);if(!a.isValid(t))return;if(!v){v=new Intl.DateTimeFormat("en-US",{month:"short",day:"numeric",year:"numeric"})}return v.format(t)}let b;function y(e){if(!e)return;const t=new Date(e);if(!a.isValid(t))return;if(!b){b=new Intl.DateTimeFormat("en-US",{month:"long",day:"numeric",year:"numeric",weekday:"long",timeZone:Intl.DateTimeFormat().resolvedOptions().timeZone})}return b.format(t)}function m(e){return e.replace(/[d]/g,"E").replace(/[D]/g,"d").replace(/[Y]/g,"y").replace(/[l]/g,"P").replace(/[W]/g,"I")}function g(e){const t=typeof e==="string";if(!t&&e&&a.isValid(new Date(e||undefined))){e=h(e)}else if(!e||!a.isValid(new Date(e))){return undefined}let i;const n=e.split(/[\/\-]/).map((e=>e.padStart(2,"0")));const s=t&&e.length>=24&&e[10]==="T";const r=n.length===3;const d=n.length<3;if(s){e=e.split("T")[0];i=new Date(e)}else if(r){const t=e.includes("/")&&n[2].length===4;if(t)n.unshift(n.pop());i=new Date(Date.UTC(parseInt(n[0]),parseInt(n[1])-1,parseInt(n[2])))}else if(d){const e=new Date;let t;let a;let s;switch(n.length){case 1:t=e.getFullYear();a=n[0];s="01";break;case 2:t=e.getFullYear();a=n[0];s=n[1];break}i=new Date(`${t}-${a}-${s}`)}if(!a.isValid(i))return undefined;i=w(i);return a.isValid(i)?i:undefined}function w(e){const t=e.getTimezoneOffset();return a.setMinutes(e,t+Math.abs(t%60))}function D(e){if(!Array.isArray(e)||e.length===0){return[]}return e.map((e=>g(e)))}function x(e=new Date){return{monthIndex:e.getMonth(),selectedYear:e.getFullYear()}}function k(e="",t=[],i=[],n=[],r,d,o="mm/dd/yyyy",l){let c=true;let u=false;let f="info";let v=`${s("tecton.element.calendar.hint.format")}: ${o}`;if(!e){return{isValid:c,inputDate:new Date(""),isAvailable:u,messageType:f,message:v}}const b=$(e,l);const y=b.getMonth()+1;const m=b.getDate();const g=b.getFullYear();const w=[y,m,g];if(a.isValid(b)){const a=C()[b.getMonth()];if(e.length===10){c=true;f=null;v=null}u=t.includes(b.getDay());const l=h(b);if(u){const e=i.length&&!i.includes(l);const t=n.length&&n.includes(l);const a=r&&r>l;const s=d&&d<l;if(e||t||a||s){u=false}}if(e.length>=5&&!u){c=false;f="error";const e=!a||!m||!g;v=e?`${s("tecton.element.calendar.hint.invalidDate")}: ${o}`:s("tecton.element.calendar.hint.notAvailableDate",[p(b)])}}else{c=false;f="error";v=`${s("tecton.element.calendar.hint.invalidDate")}: ${o}`}return{isValid:c,messageType:f,message:v,inputDate:b,isAvailable:u,calendarPosition:w}}function $(e,t){const i=new Date;let[n,a,s]=e.split("/");if(n==="0")n="01";if(a==="0")a="01";if(e.length===10){return new Date(e)}else if(n&&a&&Number(a)>0){const e=Number(a)<10?`0${Number(a)}`:a;const i=!s||s.length<4?I(n,a,t):s;return new Date(`${n}/${e}/${i}`)}else if(n){return new Date(`${n}/01/${i.getFullYear()}`)}}function I(e,t,i){const n=`${e}/${t}`;const a=new Date;const s=a.getMonth()<9?`0${a.getMonth()+1}`:`${a.getMonth()+1}`;const r=a.getDate()<10?`0${a.getDate()}`:`${a.getDate()}`;const d=`${s}/${r}/${a.getFullYear()}`;let o=a.getFullYear();if(i==="future"&&d.slice(0,5)>n){o=a.getFullYear()+1}else if(i==="past"&&d.slice(0,5)<n){o=a.getFullYear()-1}return o.toString()}function T(e){if(!e){return""}if(e.match(/^[1-9]\/$/)){return`0${e}/`}else if(e.match(/^[0-9]{2}\/[1-9]{1}\/$/)){const t=e.split("/");return`${t[0]}/0${t[1]}/`}return e}function E(e){const t=(e||"").split("-");if(t.length!==3)return"";return`${t[1]}/${t[2]}/${t[0]}`}function O(e,t){return new Date(t,e,1,1,1,1,1).getDay()}function V(){return[s("tecton.element.calendar.days.short.Sunday"),s("tecton.element.calendar.days.short.Monday"),s("tecton.element.calendar.days.short.Tuesday"),s("tecton.element.calendar.days.short.Wednesday"),s("tecton.element.calendar.days.short.Thursday"),s("tecton.element.calendar.days.short.Friday"),s("tecton.element.calendar.days.short.Saturday")]}function A(){return[s("tecton.element.calendar.days.Sunday"),s("tecton.element.calendar.days.Monday"),s("tecton.element.calendar.days.Tuesday"),s("tecton.element.calendar.days.Wednesday"),s("tecton.element.calendar.days.Thursday"),s("tecton.element.calendar.days.Friday"),s("tecton.element.calendar.days.Saturday")]}function C(){return[s("tecton.element.calendar.months.January"),s("tecton.element.calendar.months.February"),s("tecton.element.calendar.months.March"),s("tecton.element.calendar.months.April"),s("tecton.element.calendar.months.May"),s("tecton.element.calendar.months.June"),s("tecton.element.calendar.months.July"),s("tecton.element.calendar.months.August"),s("tecton.element.calendar.months.September"),s("tecton.element.calendar.months.October"),s("tecton.element.calendar.months.November"),s("tecton.element.calendar.months.December")]}function z(e,t){const i=a.getDaysInMonth(new Date(t,e));return[...Array(i).keys()].reduce(((i,n)=>{i.push(new Date(t,e,n+1));return i}),[])}function q(e=127){const t=e&1;const i=e&2;const n=e&4;const a=e&8;const s=e&16;const r=e&32;const d=e&64;const o=[];if(e<=0)return o;if(t)o.push(0);if(i)o.push(1);if(n)o.push(2);if(a)o.push(3);if(s)o.push(4);if(r)o.push(5);if(d)o.push(6);return o}function S(e,t){return e.includes(t.getDay())}function Y(e,t){return!F(e,t)}function F(e,t){return e.some((e=>a.isSameDay(e,t)))}function M(e,t,i,n,a,s,r){const d=[H.bind(null,s,new Date)];if(t===null||t===void 0?void 0:t.length){d.push(F.bind(null,t))}else{d.push(S.bind(null,e))}d.push(Y.bind(null,i));return L(n,a,s,d,r)}function L({monthIndex:e,selectedYear:t},i,n,s,r){const d=!a.isValid(new Date(r));const o=z(e,t).map(((e,t)=>{const a=s.some((t=>!t(e)));const r=P(e,n,i);const o=j(Object.assign(Object.assign({},r),{isInvalid:a,isIncompleteDate:d}));return Object.assign(Object.assign({},r),{isValid:!a,date:e,integer:t+1,isEmpty:false,isActivity:false,classList:o})}));const l=B(O(e,t));const c=U((l.length+o.length)%7);return[...l,...o,...c]}function H(e,t,i){const n=a.isAfter(e===null||e===void 0?void 0:e.startDate,i);const s=a.isBefore(e===null||e===void 0?void 0:e.endDate,i);const r=a.isSameDay(t,i)&&a.isAfter(t,e===null||e===void 0?void 0:e.cutOffTime);return!(n||r||s)}function P(e,t,i){if(!i)i=new Date;const n=i&&a.isSameDay(i,e);const s=a.isSameDay(e,new Date);const r=a.isSameDay(e,t===null||t===void 0?void 0:t.startDate);const d=a.isSameDay(e,t===null||t===void 0?void 0:t.endDate);return{isSelected:n,isToday:s,isStartDate:r,isEndDate:d}}function j({isInvalid:e,isSelected:t,isEndDate:i,isStartDate:n,isToday:a,isIncompleteDate:s}){const r=[];if(!e)r.push("is-valid");if(t)r.push("is-selected");if(i)r.push("is-end-date");if(n)r.push("is-start-date");if(a)r.push("is-today");if(t&&e&&!s)r.push("is-unavailable");return r.join(" ")}function B(e){return K(0,e)}function U(e){if(e===0)return[];return K(e,7)}const W={date:null,integer:null,isActivity:false,isEmpty:true,isValid:false,isToday:false,isSelected:false,isStartDate:false,isEndDate:false,classList:""};function K(e,t){if(e===7)e=0;return[...Array(t-e).keys()].map((()=>Object.assign({},W)))}const N="*{box-sizing:border-box}*:active{outline:none}*:focus{outline:none;box-shadow:var(--const-double-focus-ring, 0 0 0 2px #ffffff, 0 0 0 4px #0066cc)}:host{box-shadow:none !important}::-moz-focus-inner{border:none}input,textarea,button{font-family:inherit;font-size:inherit;font-stretch:inherit}:host(.sr),:host(.sr) button{border:0;clip:rect(0 0 0 0);height:1px;margin:-1px;overflow:hidden;padding:0;position:absolute;width:1px;white-space:nowrap}.sr,.sr button{border:0;clip:rect(0 0 0 0);height:1px;margin:-1px;overflow:hidden;padding:0;position:absolute;width:1px;white-space:nowrap}.hidden{display:none}:host([hidden]){display:none}.invisible{visibility:hidden}:host{display:block}:host[hidden]{display:none}click-elsewhere{position:relative;display:block}q2-input{margin:0;cursor:pointer}q2-popover{--comp-min-tappable-size:44px;--comp-table-border-spacing:2px;--comp-min-tappable-size-and-spacing:calc(var(--comp-min-tappable-size) + var(--comp-table-border-spacing));--comp-popover-padding:var(--tct-calendar-popover-padding, var(--t-calendar-popover-padding, var(--app-scale-1x, 5px)));--comp-min-table-width:calc(var(--comp-min-tappable-size-and-spacing) * 7);--comp-table-container-border-spacing:calc(var(--comp-table-border-spacing) * 2);--comp-popover-total-padding:calc(var(--comp-popover-padding) * 2);--tct-popover-min-width:calc(\n var(--comp-min-table-width) + var(--comp-table-container-border-spacing) + var(--comp-popover-total-padding)\n )}.calendar-field-popup{padding:var(--comp-popover-padding)}.calendar-label{--comp-label-padding:var(--tct-calendar-label-padding, var(--tct-calendar-label-vertical-padding, var(--t-calendar-label-vertical-padding, var(--tct-scale-2, var(--app-scale-2x, 10px)))) 0);font-size:var(--tct-calendar-label-font-size, var(--t-calendar-label-font-size, 16px));flex:1 1;flex-basis:calc(100% - var(--tct-btn-icon-width, 44px));margin:0;padding:var(--comp-label-padding)}.cal-month-heading{padding:0 0 0.75rem;display:flex;justify-content:center;align-items:center;font-size:var(--tct-calendar-month-font-size, var(--t-calendar-month-font-size, 16px));font-weight:var(--tct-calendar-month-font-weight, var(--t-calendar-month-font-weight, 600));text-align:center}.cal-month-text{min-width:82px;display:inline-block}.cal-year-text{min-width:50px;display:inline-block}table{width:100%;margin-bottom:2px;text-align:center;border-spacing:var(--comp-table-border-spacing)}th{font-size:var(--tct-calendar-day-heading-font-size, var(--t-calendar-day-heading-font-size, inherit));font-weight:var(--tct-calendar-day-heading-font-weight, var(--t-calendar-day-heading-font-weight, 600));width:14.285714%}td{height:var(--comp-min-tappable-size);cursor:pointer;border:var(--tct-calendar-day-border, var(--t-calendar-day-border, 0));border-radius:var(--tct-calendar-day-border-radius, var(--t-calendar-day-border-radius))}td.is-unavailable{border:1px solid var(--tct-input-error-border-color, var(--const-stoplight-alert, #d20a0a))}td.is-valid:hover{border:var(--tct-calendar-day-hover-border, var(--t-calendar-day-hover-border, var(--tct-calendar-day-border, var(--t-calendar-day-border, 0))));border-radius:var(--tct-calendar-day-hover-border-radius, var(--t-calendar-day-hover-border-radius, var(--tct-calendar-day-border-radius, var(--t-calendar-day-border-radius))));background:var(--tct-calendar-day-hover-background, var(--tct-calendar-day-hover-bg, var(--t-calendar-day-hover-bg, var(--tct-gray-14, var(--app-gray14, var(--tct-gray-l4, var(--app-gray-l4, #f2f2f2)))))));color:var(--tct-calendar-day-hover-font-color, var(--t-calendar-day-hover-font-color, inherit))}td[aria-hidden],td[aria-disabled]{pointer-events:none;cursor:not-allowed}td[aria-disabled]{opacity:var(--tct-calendar-day-disabled-opacity, var(--t-calendar-day-disabled-opacity, var(--app-disabled-opacity, 0.4)))}td[aria-selected]{border:var(--tct-calendar-day-selected-border, var(--t-calendar-day-selected-border, var(--tct-calendar-day-border, var(--t-calendar-day-border, 0))));border-radius:var(--tct-calendar-day-selected-border-radius, var(--t-calendar-day-selected-border-radius, var(--tct-calendar-day-border-radius, var(--t-calendar-day-border-radius))));background:var(--tct-calendar-day-selected-background, var(--tct-calendar-day-selected-bg, var(--t-calendar-day-selected-bg, var(--tct-calendar-day-hover-background, var(--tct-calendar-day-hover-bg, var(--t-calendar-day-hover-bg, var(--tct-gray-14, var(--t-gray-14, var(--tct-gray-l4, var(--app-gray-l4, #f2f2f2))))))))));color:var(--tct-calendar-day-selected-font-color, var(--t-calendar-day-selected-font-color, var(--tct-calendar-day-hover-font-color, var(--t-calendar-day-hover-font-color, inherit))));box-shadow:0 0 0 2px var(--tct-calendar-day-selected-outline-color, var(--t-calendar-day-selected-outline-color, var(--tct-stoplight-info, var(--const-stoplight-info, #0079c1))))}td[aria-selected]:focus{box-shadow:0 0 0 2px var(--tct-calendar-day-selected-outline-color, var(--t-calendar-day-selected-outline-color, var(--tct-stoplight-info, var(--const-stoplight-info, #0079c1)))), 0 0 0 4px var(--const-focus-color, #0066cc)}.today-decorator{text-transform:uppercase;font-weight:700;font-size:10px;height:12px}.calendar-disclaimer{font-size:var(--tct-calendar-disclaimer-font-size, var(--t-calendar-disclaimer-font-size, var(--tct-font-size-small, var(--app-font-size-small, 12px))));border-style:solid;border-width:var(--tct-calendar-disclaimer-border-width, var(--t-calendar-disclaimer-border-width, 1px 0 0 0));border-color:var(--tct-calendar-disclaimer-border-color, var(--t-calendar-disclaimer-border-color, var(--tct-gray-13, var(--t-gray-13, var(--tct-gray-l3, var(--app-gray-l3, #e6e6e6))))));padding:var(--tct-calendar-disclaimer-padding, var(--tct-scale-2, var(--app-scale-2x, 10px)));text-align:left}";const _=N;const J=class{constructor(i){e(this,i);this.change=t(this,"change",7);this.error=t(this,"error",7);this.success=t(this,"success",7);this.dayAbbrStrings=V();this.dayStrings=A();this.defaultFormatString="mm/dd/yyyy";this.formatModifier="M/D/YYYY";this.internalError="";this.monthStrings=C();this.scheduledAfterRender=[];this.closeCalendar=()=>{if(!this.open)return;this.open=false;this.focusInput()};this.goToMonthYear=(e,t)=>{if(e<0){e=11;t--}else if(e>11){e=0;t++}this.selectedMonthYear={monthIndex:e,selectedYear:t};this.dateList=this.buildDateList(this.selectedMonthYear);this.scheduledAfterRender.push((()=>this.checkActiveCellForBlankness()))};this.onClickElsewhere=e=>{const t=e.target;if(t.localName==="click-elsewhere"){e.stopPropagation();this.closeCalendar()}};this.onDateKeydown=e=>{const{monthIndex:t,selectedYear:i}=this.selectedMonthYear;const n=parseInt(e.target.dataset.day);const s=this.generateDateFromDay(n);switch(e.key){case"ArrowUp":e.preventDefault();this.activateDay(a.addDays(s,-7));break;case"ArrowDown":e.preventDefault();this.activateDay(a.addDays(s,7));break;case"ArrowRight":e.preventDefault();this.activateDay(a.addDays(s,1));break;case"ArrowLeft":e.preventDefault();this.activateDay(a.addDays(s,-1));break;case"PageUp":e.preventDefault();if(e.shiftKey)this.goToMonthYear(t,i-1);else this.goToMonthYear(t-1,i);break;case"PageDown":e.preventDefault();if(e.shiftKey)this.goToMonthYear(t,i+1);else this.goToMonthYear(t+1,i);break;case"Home":e.preventDefault();this.activateDay(a.addDays(s,-s.getDay()));break;case"End":e.preventDefault();this.activateDay(a.addDays(s,6-s.getDay()));break;case"Escape":e.preventDefault();this.closeCalendar();this.focusInput();break;case"Enter":e.preventDefault();if(!this.dateList.find((({date:e})=>a.isSameDay(e,s))).isValid)return;this.selectDate(s);this.closeCalendar();this.focusInput();break;case" ":e.preventDefault();if(!this.dateList.find((({date:e})=>a.isSameDay(e,s))).isValid)return;this.selectDate(s);this.closeCalendar();this.focusInput();break}};this.onDateSelection=e=>{const t=e.target.closest("td:not([aria-hidden])");if(!t)return;const i=w(new Date(t.dataset.date));this.selectDate(i);this.closeCalendar()};this.onHeaderControlKeydown=e=>{var t;const i=this.generateDateFromDay(1);const n=(t=this.calendarBody)===null||t===void 0?void 0:t.querySelector('[aria-selected="true"]');if(e.key==="Tab"&&!n){e.preventDefault();this.activateDay(i)}};this.onInputBlur=()=>{if(!this.isTypeable)return;const e=q(this.daysOfWeekChecksum);const{typedValue:t}=this;const{isValid:i,inputDate:n,isAvailable:s}=k(this.typedValue,e,this.validDates,this.invalidDates,this.startDate,this.endDate,this.defaultFormatString,this.assume);if(!t&&(n===null||n===void 0?void 0:n.toString())==="Invalid Date"){this.setHints({isValid:true,message:this.defaultHintMessage,messageType:"info"})}else if(i||t&&t.length>4&&n&&a.isValid(n)&&s){this.setCompleteInput(n)}else if(this.value){this.valueOnBlur=this.value;this.value=null;this.change.emit({value:null});this.typedValue=t}};this.onInputChange=e=>{e.stopPropagation()};this.onInputClick=()=>{if(this.disabled)return;this.toggleCalendar()};this.onInputFocus=e=>{if(!this.isTypeable)return;if(e.target===this.controlElement){if(this.valueOnBlur&&!this.value){const e=this.typedValue;this.value=this.valueOnBlur;this.typedValue=e;this.valueOnBlur=null}this.closeCalendar()}};this.onInputInput=({detail:{value:e}})=>{this.typedValue=e};this.onInputKeydown=e=>{const{dateValue:t}=this;switch(e.key){case"ArrowDown":e.preventDefault();this.openCalendar();this.activateDay(t||new Date);break;case"Enter":case" ":if(this.typeable)break;e.preventDefault();if(this.open){this.closeCalendar()}else{this.openCalendar();this.activateDay(t||new Date)}break}};this.onInputKeyup=e=>{if(this.disabled){return}switch(e.key){case"Escape":this.onInputBlur();this.closeCalendar();break}if(!this.isTypeable)return;this.typedValue=T(this.typedValue);const{typedValue:t}=this;const i=q(this.daysOfWeekChecksum);const{isValid:n,message:s,messageType:r,inputDate:d,isAvailable:o,calendarPosition:l}=k(t,i,this.validDates,this.invalidDates,this.startDate,this.endDate,this.defaultFormatString,this.assume);if(l){const[e,t,i]=l;const n=new Date(i,e-1,t);if(a.isValid(n)){this.selectedMonthYear=x(n);this.dateList=this.buildDateList(this.selectedMonthYear);this.validateDate()}}if(e.key==="Enter"){if(n||t&&t.length>4&&d&&a.isValid(d)&&o){this.setCompleteInput(d)}else if(this.value){this.value=null;this.change.emit({value:null});this.typedValue=t}if(this.keyboardSelection){this.keyboardSelection=false;this.closeCalendar()}else{this.toggleCalendar()}}else{this.setHints({isValid:n,message:s,messageType:r})}};this.onPopupKeyup=e=>{if(e.key==="Escape"||e.key==="Esc"){this.onInputBlur();this.closeCalendar()}};this.onRefocus=()=>{var e;(e=this.btnPrevMonth)===null||e===void 0?void 0:e.dispatchEvent(new FocusEvent("focus"))};this.openCalendar=()=>{if(this.readonly||this.open)return;this.selectedMonthYear=x(this.dateValue);this.dateList=this.buildDateList(this.selectedMonthYear);this.open=true};this.selectDate=e=>{const{isValid:t}=this.dateList.find((({date:t})=>a.isSameDay(t,e)));if(!t)return;this.change.emit({value:h(e)});this.typedValue=f(e);this.invalid=false;this.success.emit({value:h(e)})};this.toggleCalendar=()=>{if(this.readonly)return;if(this.open){this.closeCalendar()}else{this.openCalendar()}};this.dateList=undefined;this.hintMessage=this.defaultHintMessage;this.hintMessageType="info";this.keyboardSelection=false;this.typedValue="";this.ariaLabel=undefined;this.assume="current";this.buttonLabel=undefined;this.calendarLabel=undefined;this.clearable=undefined;this.cutoffTime=undefined;this.daysOfWeekChecksum=undefined;this.disabled=undefined;this.disabledMsg=undefined;this.disclaimer=undefined;this.displayFormat=undefined;this.endDate=undefined;this.errors=undefined;this.hideLabel=undefined;this.hints=undefined;this.invalid=undefined;this.invalidDates=undefined;this.label=undefined;this.onsuccess=undefined;this.open=undefined;this.optional=undefined;this.placeholder=undefined;this.popDirection=undefined;this.popoverAlignment=undefined;this.popoverDirection=undefined;this.popoverMinHeight=355;this.popoverMode=null;this.readonly=undefined;this.startDate=undefined;this.typeable=undefined;this.validDates=undefined;this.value=undefined}connectedCallback(){this.selectedMonthYear=x(this.dateValue);this.dateList=this.buildDateList(this.selectedMonthYear);if(this.value&&this.isTypeable&&!this.typedValue){this.typedValue=E(this.value)}this.validateDate()}componentWillLoad(){this.popDirectionHandler();r(this)}componentDidLoad(){d(this.hostElement)}componentDidRender(){setTimeout((()=>{this.scheduledAfterRender.forEach((e=>e()));this.scheduledAfterRender=[]}),25)}defaultChangeHandler(e){if(e.target===this.hostElement&&!this.hostElement.onchange&&!!e.detail){this.value=e.detail.value}}handleClear(){this.change.emit({value:null});this.value=null;this.typedValue=""}defaultErrorHandler(e){if(e.target===this.hostElement&&!this.hostElement.onerror){if(this.hintMessageType==="error"&&this.hintMessage){this.internalError=this.hintMessage}else{this.internalError=s("tecton.element.calendar.hint.invalidDate")}}}delegateFocus(e){if(!o(e,this.hostElement))return;this.controlElement.shadowRoot.querySelector(".input-field").focus()}popoverStateHandler({detail:{open:e}}){if(this.open!==e)this.open=e}defaultSuccessHandler(e){if(e.target!==this.hostElement){return}if(typeof this.onsuccess==="function"){this.onsuccess(e)}else{this.internalError="";if(this.hintMessageType==="error"&&this.hintMessage){this.hintMessage=null;this.hintMessageType=null;this.invalid=false}}}async closePopover(){if(!this.open)return;this._togglePopover()}async openPopover(){if(this.open)return;this._togglePopover()}async setValue(e){var t;const i=typeof e==="string"?g(e):e;if(!a.isValid(i))return;await this.openPopover();await l();this.goToMonthYear(i.getMonth(),i.getFullYear());await l();const n=(t=this.calendarTable)===null||t===void 0?void 0:t.querySelector(`td[data-date="${h(i)}"]`);n===null||n===void 0?void 0:n.click()}async typeValue(e){if(!this.typeable)return;const t=typeof e==="string"?g(e):e;const i=f(t);if(!a.isValid(t))return;const{innerInputField:n,controlElement:s}=this;n.focus();n.dispatchEvent(new FocusEvent("focus"));n.value=i;n.dispatchEvent(new InputEvent("input"));s.dispatchEvent(new KeyboardEvent("keyup"))}ariaLabelObserver(){r(this)}cutoffTimeObserver(){this.dateList=this.buildDateList(this.selectedMonthYear);this.validateDate()}daysOfWeekChecksumObserver(){this.dateList=this.buildDateList(this.selectedMonthYear);this.validateDate()}endDateObserver(){this.dateList=this.buildDateList(this.selectedMonthYear);this.validateDate()}invalidDatesObserver(){this.dateList=this.buildDateList(this.selectedMonthYear);this.validateDate()}popDirectionHandler(){c(this,"popDirection","popoverDirection")}startDateObserver(){this.dateList=this.buildDateList(this.selectedMonthYear);this.validateDate()}typeableChanged(){this.valueObserver(this.value)}validDatesObserver(){this.dateList=this.buildDateList(this.selectedMonthYear);this.validateDate()}valueObserver(e){if(e===""){this.value=undefined;this.setHints({isValid:true,message:this.defaultHintMessage,messageType:"info"});return}const t=e&&typeof e!=="string"&&"toDate"in e;const i=t?e.toDate():g(e);const n=f(i);if(this.isTypeable){this.typedValue=n}else{this.controlElement.value=n;this.selectedMonthYear=x(i);this.dateList=this.buildDateList(this.selectedMonthYear);this.validateDate()}if(this.invalid)return;if(n){this.setHints({isValid:true,message:null,messageType:null})}else{this.setHints({isValid:true,message:this.defaultHintMessage,messageType:"info"})}}get canClear(){if(this.isTypeable){return this.clearable&&!!this.typedValue}else{return this.clearable&&!!this.value}}get computedPlaceholder(){if(this.disabled&&this.disabledMsg){return s(this.disabledMsg)}if(this.buttonLabel&&(this.disabled||this.placeholder)){return s(this.buttonLabel)}return this.placeholder&&s(this.placeholder)||""}get currentWeeks(){const e=this.dateList.reduce(((e,t,i)=>{const n=Math.floor(i/7);if(!e[n]){e[n]=[]}e[n].push(t);return e}),[]);return e}get dateValidators(){const e=new Date(this.cutoffTime||"");return{startDate:g(this.startDate),endDate:g(this.endDate),cutOffTime:a.isValid(e)?e:undefined}}get dateValue(){if(this.isTypeable){return g(this.typedValue)}else{let{value:e}=this;const t=e&&typeof e!=="string"&&"toDate"in e;if(t)return e.toDate();const i=typeof e==="string"&&e.split(" ").length===6&&/GMT-\d{4}/g.test(e);if(i){e=h(e)}return g(e)}}get defaultHintMessage(){return this.typeable?s("tecton.element.calendar.hint.format")+": "+this.defaultFormatString:s("tecton.element.calendar.hint.select")}get errorList(){const{errors:e,internalError:t,invalid:i}=this;let n=[];if(t){n=[t]}if(Array.isArray(e)&&e.length){n=e.filter((e=>!!e)).map((e=>s(e))).concat(n)}else if(!t&&i){return["tecton.element.calendar.invalid"]}return n}get formattedValue(){const{typedValue:e,dateValue:t,displayFormat:i,isTypeable:n}=this;if(n)return e;if(t===undefined)return"";if(i)return a.format(t,m(i));return new Intl.DateTimeFormat("en-US",{year:"numeric",month:"2-digit",day:"2-digit",timeZone:Intl.DateTimeFormat().resolvedOptions().timeZone}).format(t)}get hintList(){const{hints:e,hintMessageType:t,hintMessage:i}=this;if(Array.isArray(e)&&e.length)return e.filter((e=>!!e)).map((e=>s(e)));if(t==="info"&&i)return[i];return[]}get innerInputContainer(){var e,t;return(t=(e=this.controlElement)===null||e===void 0?void 0:e.shadowRoot)===null||t===void 0?void 0:t.querySelector(".input-container")}get innerInputField(){var e,t;return(t=(e=this.controlElement)===null||e===void 0?void 0:e.shadowRoot)===null||t===void 0?void 0:t.querySelector(".input-field")}get isTypeable(){return this.typeable}get selectedDate(){var e;const t=(e=this.calendarBody)===null||e===void 0?void 0:e.querySelector('[aria-selected="true"]');return t?w(new Date(t.dataset.date)):null}_togglePopover(){const e=this.typeable?this.btnCalendarToggle:this.innerInputField;e===null||e===void 0?void 0:e.click();e===null||e===void 0?void 0:e.focus();e.dispatchEvent(new FocusEvent("focus"))}activateDay(e){this.goToMonthYear(e.getMonth(),e.getFullYear());this.scheduledAfterRender.push((()=>this.focusDay(e)))}buildDateList(e){const t=D(this.invalidDates);const i=q(this.daysOfWeekChecksum);const n=D(this.validDates);return M(i,n,t,e,this.dateValue,this.dateValidators,this.typedValue)}calendarDays(){return i("table",{role:"grid","aria-labelledby":"table-label",ref:e=>this.calendarTable=e},i("thead",null,i("tr",null,[...Array(7).keys()].map((e=>i("th",{scope:"col","aria-label":this.dayStrings[e]},this.dayAbbrStrings[e]))))),i("tbody",{onClick:this.onDateSelection,onKeyDown:this.onDateKeydown,ref:e=>this.calendarBody=e,"test-id":"calendarTableBody"},this.currentWeeks.map((e=>i("tr",null,e.map((e=>{var t;let n="";if(e.isToday)n=`${s("tecton.element.calendar.today")}, `;n+=y(e.date);if(e.isSelected)n+=` (${s("tecton.element.calendar.selected")})`;return i("td",{class:e.classList,"aria-hidden":e.isEmpty?"true":undefined,tabindex:e.isSelected?0:-1,role:e.isSelected?"gridcell":undefined,"aria-selected":e.isSelected?"true":undefined,"aria-disabled":e.isValid?undefined:"true","data-day":e.integer||undefined,"data-date":e.date?h(e.date):undefined},(e===null||e===void 0?void 0:e.isToday)&&i("div",{class:"today-decorator","aria-hidden":"true"},s("tecton.element.calendar.today")),i("div",{"aria-label":n},(t=e===null||e===void 0?void 0:e.integer)!==null&&t!==void 0?t:""))})))))))}calendarPopover(){const{monthIndex:e,selectedYear:t}=this.selectedMonthYear;return i("div",{class:"calendar-field-popup",onKeyUp:this.onPopupKeyup},this.calendarLabel&&i("p",{class:"calendar-label"},s(this.calendarLabel)),i("div",{class:"cal-month-heading"},i("q2-btn",{label:s("tecton.element.calendar.previousMonth"),"hide-label":true,ref:e=>this.btnPrevMonth=e,class:"cal-nav-btn prev-month","test-id":"previousMonthButton",onClick:()=>this.goToMonthYear(e-1,t)},i("q2-icon",{type:"chevron-left"})),i("span",{class:"cal-month-text"},this.monthStrings[e]),i("q2-btn",{label:s("tecton.element.calendar.nextMonth"),"hide-label":true,class:"cal-nav-btn next-month",ref:e=>this.btnNextMonth=e,"test-id":"nextMonthButton",onClick:()=>this.goToMonthYear(e+1,t)},i("q2-icon",{type:"chevron-right"})),i("q2-btn",{label:s("tecton.element.calendar.previousYear"),"hide-label":true,class:"cal-nav-btn prev-year",ref:e=>this.btnPrevYear=e,"test-id":"previousYearButton",onClick:()=>this.goToMonthYear(e,t-1)},i("q2-icon",{type:"chevron-left"})),i("span",{class:"cal-year-text"},this.selectedMonthYear.selectedYear),i("q2-btn",{label:s("tecton.element.calendar.nextYear"),"hide-label":true,class:"cal-nav-btn next-year",ref:e=>this.btnNextYear=e,"test-id":"nextYearButton",onClick:()=>this.goToMonthYear(e,t+1),onKeyDown:this.onHeaderControlKeydown},i("q2-icon",{type:"chevron-right"}))),i("div",{class:"sr","aria-live":"polite",id:"table-label"},`${this.monthStrings[e]} ${t}`),this.calendarDays(),this.disclaimer&&i("div",{class:"calendar-disclaimer"},s(this.disclaimer)),i("q2-btn",{class:"sr refocus-popup",onFocus:this.onRefocus}))}checkActiveCellForBlankness(){const e=this.hostElement.shadowRoot.activeElement;if(!e||e.tagName!=="TD"||!e.hasAttribute("aria-hidden"))return;const{calendarBody:t}=this;const i=Array.from(t.querySelectorAll("td"));const n=Array.from(i).indexOf(e);const a=n<15?1:i.filter((e=>!e.hasAttribute("aria-hidden"))).length;this.focusDay(this.generateDateFromDay(a))}async focusDay(e){var t;if(!e)return;await l();(t=this.calendarBody.querySelector(`td[data-day="${e.getDate()}"]`))===null||t===void 0?void 0:t.focus()}focusInput(){var e;(e=this.controlElement)===null||e===void 0?void 0:e.focus()}generateDateFromDay(e){const{monthIndex:t,selectedYear:i}=this.selectedMonthYear;return new Date(i,t,e)}hintField(){if(!this.hintMessage)return;return i("q2-message",{class:"calendar-hint sr",ref:e=>this.hintMessageElement=e,type:this.hintMessageType},this.hintMessage)}inputField(){const{isTypeable:e}=this;return i("q2-input",{ref:e=>this.controlElement=e,class:"calendar-input-field",value:this.formattedValue,label:s(this.label),hideLabel:this.hideLabel,disabled:!!this.disabled,readonly:!!this.readonly,clearable:this.canClear,placeholder:this.computedPlaceholder,optional:!!this.optional,ariaExpanded:`${!!this.open}`,hints:this.hintList,errors:this.errorList,onClick:e?undefined:this.onInputClick,onChange:this.onInputChange,onInput:this.onInputInput,onKeyDown:this.onInputKeydown,onKeyUp:this.onInputKeyup,onBlur:this.onInputBlur,onFocus:this.onInputFocus,"icon-right":e?undefined:"calendar","format-modifier":e?this.formatModifier:this.displayFormat||this.formatModifier,type:"date","hide-messages":!e,"test-id":"inputAndCalendarToggle",_role:"combobox",_preventEntry:!e},e&&i("q2-btn",{ref:e=>this.btnCalendarToggle=e,slot:"input-right",onClick:this.onInputClick,"test-id":"calendarToggle",label:"tecton.element.calendar.toggleAriaLabel","hide-label":true},i("q2-icon",{type:"calendar"})))}setCompleteInput(e){const t=f(e);this.change.emit({value:h(e)});this.typedValue=t;this.internalError=null;this.setHints({isValid:true,message:null,messageType:null})}setHints({isValid:e,message:t,messageType:i}){var n;if(t===this.hintMessage)return(n=this.hintMessageElement)===null||n===void 0?void 0:n.present();this.invalid=!e;this.hintMessage=t;this.hintMessageType=i;if(i==="error"&&t){this.internalError=t;this.error.emit({errors:[{message:t,errorCode:"generalInvalid"}]})}}validateDate(){var e,t,i;try{if(!!this.value){const{dateValue:n}=this;const a=(e=n===null||n===void 0?void 0:n.getMonth())!==null&&e!==void 0?e:undefined;const s=(t=n===null||n===void 0?void 0:n.getFullYear())!==null&&t!==void 0?t:undefined;const{monthIndex:r,selectedYear:d}=this.selectedMonthYear;const o=a===r&&s===d;let l=[];if(!n){l=[]}else if(o){l=this.dateList}else{l=this.buildDateList({monthIndex:a,selectedYear:s})}const c=(i=n===null||n===void 0?void 0:n.getDate())!==null&&i!==void 0?i:undefined;const u=c?!l.find((({integer:e})=>e===c)).isValid:true;if(u){this.error.emit({errors:[{message:`Value passed is invalid: The date ${this.value} is not valid`,errorCode:"generalInvalid"}]})}else{this.success.emit({value:h(n)})}}}catch(e){console.warn("Invalid moment value ",this.dateValue)}}render(){return i("click-elsewhere",{key:"8d3332cbdb66fe4255d57d2b0e02e8a8a9d1ad75",class:this.open?"dropdown-open":undefined,onChange:this.onClickElsewhere},this.inputField(),i("q2-popover",{key:"4ae9a6156dd618bd0106920f4aaf48549e00ddec",ref:e=>this.popoverElement=e,controlElement:this.innerInputContainer,open:this.open,direction:this.popoverDirection,minHeight:this.popoverMinHeight,align:this.popoverAlignment,mode:this.popoverMode||undefined,block:true},this.hintField(),this.calendarPopover()))}get hostElement(){return n(this)}static get watchers(){return{ariaLabel:["ariaLabelObserver"],cutoffTime:["cutoffTimeObserver"],daysOfWeekChecksum:["daysOfWeekChecksumObserver"],endDate:["endDateObserver"],invalidDates:["invalidDatesObserver"],popDirection:["popDirectionHandler"],startDate:["startDateObserver"],typeable:["typeableChanged"],validDates:["validDatesObserver"],value:["valueObserver"]}}};J.style=_;export{J as q2_calendar};
2
- //# sourceMappingURL=p-4da4cb5d.entry.js.map
@@ -1,2 +0,0 @@
1
- import{h as e}from"./p-a5f18e27.js";function n(){return/Android|webOS|iPhone|iPad|iPod|BlackBerry|Mobile|IEMobile|Windows Phone|Opera Mini/i.test(navigator.userAgent)}function i(e,n){const i=e.type;const o=["focusin","focus"];const t=o.includes(i);const r=t?e.target:e.relatedTarget;const a=e=>{if(e===n)return true;if(e.parentElement){return a(e.parentElement)}return false};if(!(r instanceof HTMLElement))return true;return!a(r)}function o(e,n){return e.relatedTarget!==n&&!n.contains(e.relatedTarget)}function t(e,n){var i;return((i=e.composedPath)===null||i===void 0?void 0:i.call(e)[0])===n}function r(e){e.focus=()=>e===null||e===void 0?void 0:e.dispatchEvent(new FocusEvent("focus",{bubbles:false}))}function a(){const e=navigator.userAgent.toLowerCase();return e.includes("firefox")}function s(){return"ontouchstart"in window||navigator.maxTouchPoints>0}function l(e,n){if(e===undefined)return e;if(!n)return e!=="Symbol()"?e:undefined;return n.includes(e)||e===""?e:undefined}let u=1e3;function d(){return u++}function c(e){requestAnimationFrame((()=>{requestAnimationFrame(e)}))}function f(e){return e.offsetWidth>0||e.offsetHeight>0||e.getClientRects().length>0}function m(){return new Promise((e=>c(e)))}function p(e,n){var i,o,t;if(!e)return"";if(((i=window.Tecton)===null||i===void 0?void 0:i.noStrings)===true){return e}return(t=(o=window===null||window===void 0?void 0:window.TectonElements)===null||o===void 0?void 0:o.loc(e,n))!==null&&t!==void 0?t:e}function b(n){const{label:i,hideLabel:o,optional:t,readonly:r}=n;const a=["input-label"];let s="";let l=o;if(!l){const e=n.hostElement.querySelectorAll('[slot="label"]');const o=e.length>0;const t=!!i;l=t||o?false:true}if(l)a.push("sr");if(t){s=e("span",{class:"optional-tag"},p("tecton.element.input.optional"))}if(r){s=e("span",{class:"optional-tag"},p("tecton.element.input.readonly"));a.push("readonly-field")}return e("label",{htmlFor:n.inputId,class:a.join(" ")},e("slot",{name:"label"},i?p(i):undefined,s))}function v(e,n){return e.querySelector(`[slot="${n}"]`)!==null}function h(e){const{ariaLabel:n}=e;if(!n)return;const i=Symbol().toString();if(n===i){e.ariaLabel=undefined;return}if("hideLabel"in e)e.hideLabel=true;e.label=p(n);e.ariaLabel=undefined}function w(e,n,i,o){if(typeof e[n]==="undefined")return;if(e[n]){g(e,n,"prop")}e[i]=e[n];if(o){delete e[n]}}function g(e,n,i){if(window.location.hostname==="localhost"||window.location.host==="stack.q2developer.com"){if(e[n]==="undefined")return;const o=e.constructor.name.toLowerCase().slice(2);switch(i){case"prop":if(n==="size"&&o==="btn"){console.warn(`The property of size in q2-btn should not be typeof number, or typeof string containing a number. This functionality will be deprecated in an upcoming release. Instead, please use the value 'undefined', or typeof string with any of the following values: "small" / "medium" / "large" `)}else{console.warn(`The property ${n} in q2-${o} has been marked for deprecation and will be removed in an upcoming major release.`)}break;case"function":console.warn(`The function ${n} in ${o} has been marked for deprecation and will be removed in an upcoming major release.`);break;case"method":console.warn(`The method ${n} in ${o} has been marked for deprecation and will be removed in an upcoming major release.`);break;case"event":console.warn(`The event ${n} in ${o} has been marked for deprecation and will be removed in an upcoming major release.`);break;default:console.error(`handleDeprecationWarning --\x3e No type found for desired deprecation: ${n} in q2-${o}: deprecatedItemType = ${n}`)}}}function y(n){const i=n.hasError?"danger":"info";return e("div",{class:"messages-container"},e("q2-message",{appearance:"minimal",description:true,type:i,"test-id":"message"},e("ul",{id:n.inputDescribedBy},n.messages.map((n=>e("li",{"test-id":"messageListItem"},p(n)))))))}function $(e){const n=e.hostElement.shadowRoot.querySelector(".messages-container");const i=n.querySelector("q2-message");c((()=>{const o=e.showMessages&&e.hasFocus?i.getBoundingClientRect().height:0;if(n.style.getPropertyValue("height")===`${o}px`)return;if(o===0){i.classList.add("invisible");n.style.removeProperty("height")}else{i.classList.remove("invisible");n.style.setProperty("height",`${o}px`)}}))}const k=()=>{var e,n;return(n=(e=window.TectonElements)===null||e===void 0?void 0:e.resizeIframe)===null||n===void 0?void 0:n.call(e)};const q=e=>{if(!e.intent&&["primary","secondary"].includes(e.color)){e.intent=`workflow-${e.color}`;e.color=undefined}};export{w as a,s as b,d as c,n as d,b as e,v as f,o as g,h,t as i,i as j,a as k,p as l,y as m,c as n,r as o,l as p,f as q,k as r,$ as s,g as t,q as u,m as w};
2
- //# sourceMappingURL=p-84190698.js.map
@@ -1,2 +0,0 @@
1
- import{r as t,c as r,h as e,F as a,g as i}from"./p-a5f18e27.js";import{c as s,d as o,s as n,h as p,o as c,i as d,p as u,f,l,n as h,m,e as x}from"./p-84190698.js";function v(t="",r={prefix:"",suffix:"",decimals:0,decimalSeparator:".",thousandsSeparator:"",allowDecimal:false,allowNegative:true},e=false){const a=t[0]==="-";let i=t;const s=!!r.allowDecimal&&!!r.decimals;if(e){const t=i.replace(/[^\d.]/g,"");i=t&&Number(t).toFixed(s?r.decimals:0)||""}i=i.replace(/[^\d]/g,"");let{integerString:o,decimalString:n}=S(i,s,r.decimals);let p=r.decimalSeparator;if(!s){p="";n=""}const c=r.allowNegative&&a?"-":"";i=`${c}${o}${p}${n}`;o=o.replace(/\B(?=(\d{3})+(?!\d))/g,r.thousandsSeparator);const d=c||o?`${c}${o}${p}${n}`:"";const u=c||o?`${c}${r.prefix}${o}${p}${n}${r.suffix}`:"";let f=d.length-i.length;if(p){f=f+r.decimalSeparator.length}const l=r.prefix||r.suffix;const h=Number.MAX_SAFE_INTEGER.toString().length+f+n.length;const m=`${o.replace(/[^0-9]/g,"")}${n}`.replace(/^0+/,"");return{value:i,formattedValue:d,fullyFormattedValue:u,prefix:l,suffix:"",formattingCharacterCount:f,maxlength:h,unformattedValue:m}}function S(t,r=false,e){if(!r){return{integerString:t,decimalString:""}}const a=t.length-e;let i=t.substring(0,a).padStart(1,"0");if(i.length>1&&i[0]==="0"){i=i.substring(1)}const s=t.substring(a).padStart(e,"0");return{integerString:i,decimalString:s}}function b(t="",r="",e){const a=e&&e.prefix||"";const i=e&&e.suffix||"";if(!t||!r){const r=`${a}${t}${i}`;return{value:t,formattedValue:t,fullyFormattedValue:r,prefix:a.trim()||i.trim(),formattingCharacterCount:0,unformattedValue:t}}const{unformattedValue:s,formattedValue:o,formattingCharacterCount:n}=A(t,r);const p=`${a}${o}${i}`;const c=r.length;const d=Y(r,a,i);return{value:s,formattedValue:o,fullyFormattedValue:p,prefix:a.trim()||i.trim(),formattingCharacterCount:n,maxlength:c,minFormattedLength:d,unformattedValue:s}}const g=["?"];function k(t){return g.includes(t)}const w=["#","@","*",...g];function y(t){return w.includes(t)}function M(t){const r=w.join("|");const e=t.replace(new RegExp(`[${r}]`,"g"),"").split("");return new Set(e)}function C(t,r){return r.has(t)}function D(t,r){switch(r){case"#":t=t.replace(/[^\d]/g,"");break;case"@":t=t.toUpperCase().replace(/[^A-Z]+/g,"");break;case"*":t=t.toUpperCase().replace(/[^\dA-Z]+/g,"");break;case"?":t=t.replace(/[^\d]/g,"");break;default:return t}return t}function A(t,r){const e=r.split("");const a=M(r);let i=0;let s=0;let o="";const n=e.reduce(((r,e)=>{if(i>=t.length){return r}if(k(e)&&C(t[i],a)){return r}if(y(e)){i=L(t,i,a);if(i>=t.length){return r}const s=D(t[i],e);r+=s;o+=s;i++}else{r+=e;s++;if(e===t[i]){i++}}return r}),"");return{unformattedValue:o,formattedValue:n,formattingCharacterCount:s}}function L(t,r,e){if(C(t[r],e)){r++;return L(t,r,e)}return r}function Y(t,r,e){return t.replace(new RegExp(`[${g.join("|")}]`,"g"),"").length+r.length+e.length}const I={AED:{prefix:"",suffix:"د.إ",decimals:2,decimalSeparator:".",thousandsSeparator:","},AFN:{prefix:"¤",suffix:"",decimals:2,decimalSeparator:".",thousandsSeparator:","},ALL:{prefix:"L",suffix:"",decimals:2,decimalSeparator:".",thousandsSeparator:","},AMD:{prefix:"դր.",suffix:"",decimals:2,decimalSeparator:".",thousandsSeparator:","},ANG:{prefix:"ƒ",suffix:"",decimals:2,decimalSeparator:".",thousandsSeparator:","},AOA:{prefix:"Kz",suffix:"",decimals:2,decimalSeparator:".",thousandsSeparator:","},ARS:{prefix:"$",suffix:"",decimals:2,decimalSeparator:".",thousandsSeparator:","},AUD:{prefix:"$",suffix:"",decimals:2,decimalSeparator:".",thousandsSeparator:","},AWG:{prefix:"ƒ",suffix:"",decimals:2,decimalSeparator:".",thousandsSeparator:","},AZN:{prefix:"¤",suffix:"",decimals:2,decimalSeparator:".",thousandsSeparator:","},BAM:{prefix:"КМ",suffix:"",decimals:2,decimalSeparator:".",thousandsSeparator:","},BBD:{prefix:"$",suffix:"",decimals:2,decimalSeparator:".",thousandsSeparator:","},BDT:{prefix:"৳",suffix:"",decimals:2,decimalSeparator:".",thousandsSeparator:","},BGN:{prefix:"৳",suffix:"",decimals:2,decimalSeparator:".",thousandsSeparator:","},BHD:{prefix:"",suffix:"ب.د",decimals:3,decimalSeparator:".",thousandsSeparator:","},BIF:{prefix:"Fr",suffix:"",decimals:0,decimalSeparator:".",thousandsSeparator:","},BMD:{prefix:"$",suffix:"",decimals:2,decimalSeparator:".",thousandsSeparator:","},BND:{prefix:"$",suffix:"",decimals:2,decimalSeparator:".",thousandsSeparator:","},BOB:{prefix:"Bs.",suffix:"",decimals:2,decimalSeparator:".",thousandsSeparator:","},BRL:{prefix:"R$",suffix:"",decimals:2,decimalSeparator:".",thousandsSeparator:","},BSD:{prefix:"$",suffix:"",decimals:2,decimalSeparator:".",thousandsSeparator:","},BTN:{prefix:"¤",suffix:"",decimals:2,decimalSeparator:".",thousandsSeparator:","},BWP:{prefix:"P",suffix:"",decimals:2,decimalSeparator:".",thousandsSeparator:","},BYN:{prefix:"Br",suffix:"",decimals:0,decimalSeparator:".",thousandsSeparator:","},BZD:{prefix:"$",suffix:"",decimals:2,decimalSeparator:".",thousandsSeparator:","},CAD:{prefix:"$",suffix:"",decimals:2,decimalSeparator:".",thousandsSeparator:","},CDF:{prefix:"Fr",suffix:"",decimals:2,decimalSeparator:".",thousandsSeparator:","},CHF:{prefix:"Fr",suffix:"",decimals:2,decimalSeparator:".",thousandsSeparator:","},CLF:{prefix:"Fr",suffix:"",decimals:4,decimalSeparator:".",thousandsSeparator:","},CLP:{prefix:"$",suffix:"",decimals:0,decimalSeparator:".",thousandsSeparator:","},CNY:{prefix:"¥",suffix:"",decimals:2,decimalSeparator:".",thousandsSeparator:","},COP:{prefix:"$",suffix:"",decimals:2,decimalSeparator:".",thousandsSeparator:","},CRC:{prefix:"₡",suffix:"",decimals:2,decimalSeparator:".",thousandsSeparator:","},CUC:{prefix:"$",suffix:"",decimals:2,decimalSeparator:".",thousandsSeparator:","},CUP:{prefix:"$",suffix:"",decimals:2,decimalSeparator:".",thousandsSeparator:","},CVE:{prefix:"$",suffix:"",decimals:0,decimalSeparator:".",thousandsSeparator:","},CZK:{prefix:"Kč",suffix:"",decimals:2,decimalSeparator:".",thousandsSeparator:","},DJF:{prefix:"Fr",suffix:"",decimals:0,decimalSeparator:".",thousandsSeparator:","},DKK:{prefix:"kr",suffix:"",decimals:2,decimalSeparator:".",thousandsSeparator:","},DOP:{prefix:"$",suffix:"",decimals:2,decimalSeparator:".",thousandsSeparator:","},DZD:{prefix:"",suffix:"د.ج",decimals:2,decimalSeparator:".",thousandsSeparator:","},EEK:{prefix:"KR",suffix:"",decimals:2,decimalSeparator:".",thousandsSeparator:","},EGP:{prefix:"£",suffix:"",decimals:2,decimalSeparator:".",thousandsSeparator:","},ERN:{prefix:"Nfk",suffix:"",decimals:2,decimalSeparator:".",thousandsSeparator:","},ETB:{prefix:"¤",suffix:"",decimals:2,decimalSeparator:".",thousandsSeparator:","},EUR:{prefix:"€",suffix:"",decimals:2,decimalSeparator:".",thousandsSeparator:","},FJD:{prefix:"$",suffix:"",decimals:2,decimalSeparator:".",thousandsSeparator:","},FKP:{prefix:"£",suffix:"",decimals:2,decimalSeparator:".",thousandsSeparator:","},GBP:{prefix:"£",suffix:"",decimals:2,decimalSeparator:".",thousandsSeparator:","},GEL:{prefix:"ლ",suffix:"",decimals:2,decimalSeparator:".",thousandsSeparator:","},GHS:{prefix:"¤",suffix:"",decimals:2,decimalSeparator:".",thousandsSeparator:","},GIP:{prefix:"£",suffix:"",decimals:2,decimalSeparator:".",thousandsSeparator:","},GMD:{prefix:"D",suffix:"",decimals:2,decimalSeparator:".",thousandsSeparator:","},GNF:{prefix:"Fr",suffix:"",decimals:0,decimalSeparator:".",thousandsSeparator:","},GTQ:{prefix:"Q",suffix:"",decimals:2,decimalSeparator:".",thousandsSeparator:","},GYD:{prefix:"$",suffix:"",decimals:2,decimalSeparator:".",thousandsSeparator:","},HKD:{prefix:"$",suffix:"",decimals:2,decimalSeparator:".",thousandsSeparator:","},HNL:{prefix:"L",suffix:"",decimals:2,decimalSeparator:".",thousandsSeparator:","},HRK:{prefix:"kn",suffix:"",decimals:2,decimalSeparator:".",thousandsSeparator:","},HTG:{prefix:"G",suffix:"",decimals:2,decimalSeparator:".",thousandsSeparator:","},HUF:{prefix:"Ft",suffix:"",decimals:2,decimalSeparator:".",thousandsSeparator:","},IDR:{prefix:"Rs",suffix:"",decimals:2,decimalSeparator:".",thousandsSeparator:","},ILS:{prefix:"₪",suffix:"",decimals:2,decimalSeparator:".",thousandsSeparator:","},INR:{prefix:"₨",suffix:"",decimals:2,decimalSeparator:".",thousandsSeparator:","},IQD:{prefix:"",suffix:"ع.د",decimals:3,decimalSeparator:".",thousandsSeparator:","},IRR:{prefix:"¤",suffix:"",decimals:2,decimalSeparator:".",thousandsSeparator:","},ISK:{prefix:"kr",suffix:"",decimals:0,decimalSeparator:".",thousandsSeparator:","},JMD:{prefix:"$",suffix:"",decimals:2,decimalSeparator:".",thousandsSeparator:","},JOD:{prefix:"",suffix:"د.ا",decimals:3,decimalSeparator:".",thousandsSeparator:","},JPY:{prefix:"¥",suffix:"",decimals:0,decimalSeparator:".",thousandsSeparator:","},KES:{prefix:"Sh",suffix:"",decimals:2,decimalSeparator:".",thousandsSeparator:","},KGS:{prefix:"¤",suffix:"",decimals:2,decimalSeparator:".",thousandsSeparator:","},KHR:{prefix:"¤",suffix:"",decimals:2,decimalSeparator:".",thousandsSeparator:","},KMF:{prefix:"Fr",suffix:"",decimals:0,decimalSeparator:".",thousandsSeparator:","},KPW:{prefix:"₩",suffix:"",decimals:2,decimalSeparator:".",thousandsSeparator:","},KRW:{prefix:"₩",suffix:"",decimals:0,decimalSeparator:".",thousandsSeparator:","},KWD:{prefix:"د.ك",suffix:"",decimals:3,decimalSeparator:".",thousandsSeparator:","},KYD:{prefix:"$",suffix:"",decimals:2,decimalSeparator:".",thousandsSeparator:","},KZT:{prefix:"〒",suffix:"",decimals:2,decimalSeparator:".",thousandsSeparator:","},LAK:{prefix:"₭",suffix:"",decimals:2,decimalSeparator:".",thousandsSeparator:","},LBP:{prefix:"",suffix:"ل.ل",decimals:2,decimalSeparator:".",thousandsSeparator:","},LKR:{prefix:"Rs",suffix:"",decimals:2,decimalSeparator:".",thousandsSeparator:","},LRD:{prefix:"$",suffix:"",decimals:2,decimalSeparator:".",thousandsSeparator:","},LSL:{prefix:"L",suffix:"",decimals:2,decimalSeparator:".",thousandsSeparator:","},LTL:{prefix:"Lt",suffix:"",decimals:2,decimalSeparator:".",thousandsSeparator:","},LVL:{prefix:"Ls",suffix:"",decimals:2,decimalSeparator:".",thousandsSeparator:","},LYD:{prefix:"",suffix:"ل.د",decimals:3,decimalSeparator:".",thousandsSeparator:","},MAD:{prefix:"",suffix:"د.م.",decimals:2,decimalSeparator:".",thousandsSeparator:","},MDL:{prefix:"L",suffix:"",decimals:2,decimalSeparator:".",thousandsSeparator:","},MGA:{prefix:"¤",suffix:"",decimals:1,decimalSeparator:".",thousandsSeparator:","},MKD:{prefix:"ден",suffix:"",decimals:2,decimalSeparator:".",thousandsSeparator:","},MMK:{prefix:"K",suffix:"",decimals:2,decimalSeparator:".",thousandsSeparator:","},MNT:{prefix:"₮",suffix:"",decimals:2,decimalSeparator:".",thousandsSeparator:","},MOP:{prefix:"P",suffix:"",decimals:2,decimalSeparator:".",thousandsSeparator:","},MRU:{prefix:"UM",suffix:"",decimals:1,decimalSeparator:".",thousandsSeparator:","},MUR:{prefix:"₨",suffix:"",decimals:2,decimalSeparator:".",thousandsSeparator:","},MVR:{prefix:"¤",suffix:"",decimals:2,decimalSeparator:".",thousandsSeparator:","},MWK:{prefix:"MK",suffix:"",decimals:2,decimalSeparator:".",thousandsSeparator:","},MXN:{prefix:"$",suffix:"",decimals:2,decimalSeparator:".",thousandsSeparator:","},MYR:{prefix:"RM",suffix:"",decimals:2,decimalSeparator:".",thousandsSeparator:","},MZN:{prefix:"MTn",suffix:"",decimals:2,decimalSeparator:".",thousandsSeparator:","},NAD:{prefix:"$",suffix:"",decimals:2,decimalSeparator:".",thousandsSeparator:","},NGN:{prefix:"₦",suffix:"",decimals:2,decimalSeparator:".",thousandsSeparator:","},NIO:{prefix:"C$",suffix:"",decimals:2,decimalSeparator:".",thousandsSeparator:","},NOK:{prefix:"kr",suffix:"",decimals:2,decimalSeparator:".",thousandsSeparator:","},NPR:{prefix:"₨",suffix:"",decimals:2,decimalSeparator:".",thousandsSeparator:","},NZD:{prefix:"$",suffix:"",decimals:2,decimalSeparator:".",thousandsSeparator:","},OMR:{prefix:"",suffix:"ر.ع.",decimals:3,decimalSeparator:".",thousandsSeparator:","},PAB:{prefix:"B/.",suffix:"",decimals:2,decimalSeparator:".",thousandsSeparator:","},PEN:{prefix:"S/.",suffix:"",decimals:2,decimalSeparator:".",thousandsSeparator:","},PGK:{prefix:"K",suffix:"",decimals:2,decimalSeparator:".",thousandsSeparator:","},PHP:{prefix:"p",suffix:"",decimals:2,decimalSeparator:".",thousandsSeparator:","},PKR:{prefix:"₨",suffix:"",decimals:2,decimalSeparator:".",thousandsSeparator:","},PLN:{prefix:"zł",suffix:"",decimals:2,decimalSeparator:".",thousandsSeparator:","},PYG:{prefix:"¤",suffix:"",decimals:0,decimalSeparator:".",thousandsSeparator:","},QAR:{prefix:"",suffix:"ر.ق",decimals:2,decimalSeparator:".",thousandsSeparator:","},RON:{prefix:"L",suffix:"",decimals:2,decimalSeparator:".",thousandsSeparator:","},RSD:{prefix:"дин.",suffix:"",decimals:2,decimalSeparator:".",thousandsSeparator:","},RUB:{prefix:"руб.",suffix:"",decimals:2,decimalSeparator:".",thousandsSeparator:","},RWF:{prefix:"Fr",suffix:"",decimals:0,decimalSeparator:".",thousandsSeparator:","},SAR:{prefix:"",suffix:"ر.س",decimals:2,decimalSeparator:".",thousandsSeparator:","},SBD:{prefix:"$",suffix:"",decimals:2,decimalSeparator:".",thousandsSeparator:","},SCR:{prefix:"₨",suffix:"",decimals:2,decimalSeparator:".",thousandsSeparator:","},SDG:{prefix:"£",suffix:"",decimals:2,decimalSeparator:".",thousandsSeparator:","},SEK:{prefix:"kr",suffix:"",decimals:2,decimalSeparator:".",thousandsSeparator:","},SGD:{prefix:"$",suffix:"",decimals:2,decimalSeparator:".",thousandsSeparator:","},SHP:{prefix:"£",suffix:"",decimals:2,decimalSeparator:".",thousandsSeparator:","},SKK:{prefix:"Sk",suffix:"",decimals:2,decimalSeparator:".",thousandsSeparator:","},SLL:{prefix:"Le",suffix:"",decimals:2,decimalSeparator:".",thousandsSeparator:","},SOS:{prefix:"Sh",suffix:"",decimals:2,decimalSeparator:".",thousandsSeparator:","},SRD:{prefix:"$",suffix:"",decimals:2,decimalSeparator:".",thousandsSeparator:","},STN:{prefix:"Db",suffix:"",decimals:2,decimalSeparator:".",thousandsSeparator:","},SVC:{prefix:"₡",suffix:"",decimals:2,decimalSeparator:".",thousandsSeparator:","},SYP:{prefix:"£",suffix:"",decimals:2,decimalSeparator:".",thousandsSeparator:","},SZL:{prefix:"L",suffix:"",decimals:2,decimalSeparator:".",thousandsSeparator:","},THB:{prefix:"฿",suffix:"",decimals:2,decimalSeparator:".",thousandsSeparator:","},TJS:{prefix:"ЅМ",suffix:"",decimals:2,decimalSeparator:".",thousandsSeparator:","},TMM:{prefix:"m",suffix:"",decimals:2,decimalSeparator:".",thousandsSeparator:","},TND:{prefix:"",suffix:"د.ت",decimals:3,decimalSeparator:".",thousandsSeparator:","},TOP:{prefix:"T$",suffix:"",decimals:2,decimalSeparator:".",thousandsSeparator:","},TRY:{prefix:"YTL",suffix:"",decimals:2,decimalSeparator:".",thousandsSeparator:","},TTD:{prefix:"$",suffix:"",decimals:2,decimalSeparator:".",thousandsSeparator:","},TWD:{prefix:"$",suffix:"",decimals:2,decimalSeparator:".",thousandsSeparator:","},TZS:{prefix:"Sh",suffix:"",decimals:2,decimalSeparator:".",thousandsSeparator:","},UAH:{prefix:"¤",suffix:"",decimals:2,decimalSeparator:".",thousandsSeparator:","},UGX:{prefix:"Sh",suffix:"",decimals:0,decimalSeparator:".",thousandsSeparator:","},USD:{prefix:"$",suffix:"",decimals:2,decimalSeparator:".",thousandsSeparator:","},UYU:{prefix:"$",suffix:"",decimals:0,decimalSeparator:".",thousandsSeparator:","},UZS:{prefix:"¤",suffix:"",decimals:2,decimalSeparator:".",thousandsSeparator:","},VEF:{prefix:"Bs F",suffix:"",decimals:2,decimalSeparator:".",thousandsSeparator:","},VND:{prefix:"₫",suffix:"",decimals:0,decimalSeparator:".",thousandsSeparator:","},VUV:{prefix:"Vt",suffix:"",decimals:0,decimalSeparator:".",thousandsSeparator:","},WST:{prefix:"T",suffix:"",decimals:2,decimalSeparator:".",thousandsSeparator:","},XAF:{prefix:"Fr",suffix:"",decimals:0,decimalSeparator:".",thousandsSeparator:","},XCD:{prefix:"$",suffix:"",decimals:2,decimalSeparator:".",thousandsSeparator:","},XOF:{prefix:"Fr",suffix:"",decimals:0,decimalSeparator:".",thousandsSeparator:","},XPF:{prefix:"Fr",suffix:"",decimals:0,decimalSeparator:".",thousandsSeparator:","},YER:{prefix:"¤",suffix:"",decimals:2,decimalSeparator:".",thousandsSeparator:","},ZAR:{prefix:"R",suffix:"",decimals:2,decimalSeparator:".",thousandsSeparator:","},ZMW:{prefix:"ZK",suffix:"",decimals:2,decimalSeparator:".",thousandsSeparator:","},ZWD:{prefix:"$",suffix:"",decimals:2,decimalSeparator:".",thousandsSeparator:","}};function O(t,r="USD",e=false){let a=r||"";let i=true;if(a.includes("-integer")){a=a.split("-integer")[0];i=false}const s=I[a];if(!s){return b(t)}const o=Object.assign(Object.assign({},s),{allowDecimal:i&&s.decimals>0,allowNegative:false});return v(t,o,e)}const F={AF:{mask:"(##) #######",prefix:"+93 "},AL:{mask:"#######",prefix:"+355 "},DZ:{mask:"(##) ###-###",prefix:"+213 "},AD:{mask:"(#) #####",prefix:"+376 "},AO:{mask:"#########",prefix:"+244 "},AI:{mask:"(###) ###-####",prefix:"+1 "},AG:{mask:"(###) ###-####",prefix:"+1 "},AR:{mask:"##########",prefix:"+54 "},AM:{mask:"########",prefix:"+375 "},AQ:{mask:"##-####",prefix:"+672 "},AW:{mask:"###-####",prefix:"+297 "},AU:{mask:"(##) ####-####",prefix:"+61 "},AT:{mask:"#############",prefix:"+43 "},AZ:{mask:"#########",prefix:"+994 "},BS:{mask:"(###) ###-####",prefix:"+1 "},BH:{mask:"####-####",prefix:"+973 "},BD:{mask:"#########",prefix:"+880 "},BB:{mask:"(###) ###-####",prefix:"+1 "},BY:{mask:"#########",prefix:"+375 "},BE:{mask:"########??",prefix:"+32 "},BZ:{mask:"#######",prefix:"+501 "},BJ:{mask:"(##) ###-###",prefix:"+229 "},BM:{mask:"(###) ###-####",prefix:"+1 "},BT:{mask:"(#) ###-###",prefix:"+975 "},BO:{mask:"(#) ###-####",prefix:"+591 "},BA:{mask:"(##) ##-##-##",prefix:"+387 "},BW:{mask:"########",prefix:"+267 "},BR:{mask:"(##) ####-####",prefix:"+55 "},BN:{mask:"###-####",prefix:"+673 "},BG:{mask:"#######?",prefix:"+359 "},BF:{mask:"##-##-##-##",prefix:"+226 "},BI:{mask:"####-####",prefix:"+257 "},KH:{mask:"(##) ######",prefix:"+855 "},CM:{mask:"####-####",prefix:"+237 "},CA:{mask:"(###) ###-####",prefix:"+1 "},CV:{mask:"###-####",prefix:"+238 "},KY:{mask:"(###) ###-####",prefix:"+1 "},CF:{mask:"###-###",prefix:"+236 "},TD:{mask:"###-##-##",prefix:"+235 "},CL:{mask:"#########",prefix:"+56 "},CN:{mask:"###########",prefix:"+86 "},CO:{mask:"##########",prefix:"57 "},KM:{mask:"###-####",prefix:"+269 "},CD:{mask:"###-####",prefix:"+243 "},CG:{mask:"###-####",prefix:"+242 "},CR:{mask:"####-####",prefix:"+506 "},CI:{mask:"####-####",prefix:"+225 "},HR:{mask:"########?",prefix:"+385 "},CU:{mask:"###########",prefix:"+53 "},CY:{mask:"####-####",prefix:"+357 "},CZ:{mask:"#########",prefix:"+420 "},DK:{mask:"####-####",prefix:"+45 "},DJ:{mask:"##-##-##-##",prefix:"+253 "},DM:{mask:"(###) ###-####",prefix:"+1 "},DO:{mask:"(###) ###-####",prefix:"+1 "},TL:{mask:"###-####",prefix:"+670 "},EC:{mask:"(##) ###-####",prefix:"+593 "},EG:{mask:"##########",prefix:"+20 "},SV:{mask:"####-####",prefix:"+503 "},GQ:{mask:"##-####",prefix:"+240 "},EE:{mask:"#######?",prefix:"+372 "},ET:{mask:"(##) ###-####",prefix:"+251 "},FK:{mask:"#####",prefix:"+500 "},FO:{mask:"######",prefix:"+298 "},FJ:{mask:"###-####",prefix:"+679 "},FI:{mask:"############",prefix:"+358 "},FR:{mask:"#########",prefix:"+33 "},GF:{mask:"##########",prefix:"+594 "},PF:{mask:"######",prefix:"+689 "},GA:{mask:"######?",prefix:"+241 "},GM:{mask:"###-####",prefix:"+220 "},GE:{mask:"########",prefix:"+995 "},DE:{mask:"###########",prefix:"+49 "},GH:{mask:"#########",prefix:"+233 "},GI:{mask:"####-####",prefix:"+350 "},GR:{mask:"##########",prefix:"+30 "},GL:{mask:"###-###",prefix:"+299 "},GD:{mask:"(###) ###-####",prefix:"+1 "},GP:{mask:"##########",prefix:"+590 "},GU:{mask:"(###) ###-####",prefix:"+1 "},GT:{mask:"####-####",prefix:"+502 "},GN:{mask:"####-####",prefix:"+224 "},GW:{mask:"###-####",prefix:"+245 "},GY:{mask:"(###) ####",prefix:"+592 "},HK:{mask:"####-####",prefix:"+852 "},HN:{mask:"########",prefix:"+504 "},HT:{mask:"####-####",prefix:"+509 "},HU:{mask:"########??",prefix:"+36 "},IS:{mask:"#########",prefix:"+354 "},IN:{mask:"##########",prefix:"+91 "},ID:{mask:"#######??????",prefix:"+62 "},IR:{mask:"##########",prefix:"+98 "},IQ:{mask:"##########",prefix:"+964 "},IE:{mask:"#########",prefix:"+353 "},IL:{mask:"#########",prefix:"+972 "},IT:{mask:"##########",prefix:"+39 "},JM:{mask:"(###) ###-####",prefix:"+1 "},JP:{mask:"#########??",prefix:"+81 "},JO:{mask:"#########",prefix:"+962 "},KZ:{mask:"(###) ####-###",prefix:"+7 "},KE:{mask:"##########",prefix:"+254 "},KI:{mask:"##-###",prefix:"+686 "},KR:{mask:"##########",prefix:"+82 "},KW:{mask:"####-####",prefix:"+965 "},KG:{mask:"#########",prefix:"+996 "},LA:{mask:"########?",prefix:"+856 "},LV:{mask:"####-####",prefix:"+371 "},LB:{mask:"#######?",prefix:"+961 "},LS:{mask:"##-###-###",prefix:"+266 "},LY:{mask:"########?",prefix:"+218 "},LI:{mask:"###-####",prefix:"+423 "},LT:{mask:"########",prefix:"+370 "},LU:{mask:"###########",prefix:"+352 "},MO:{mask:"####-####",prefix:"+853 "},MK:{mask:"########",prefix:"+389 "},MG:{mask:"##-##-###-##",prefix:"+261 "},MW:{mask:"#########",prefix:"+265 "},MY:{mask:"##########",prefix:"+60 "},MV:{mask:"###-####",prefix:"+960 "},ML:{mask:"####-####",prefix:"+223 "},MT:{mask:"##-##-##-##",prefix:"+356 "},MH:{mask:"###-####",prefix:"+692 "},MQ:{mask:"###-######",prefix:"+596 "},MU:{mask:"###-####",prefix:"+230 "},MX:{mask:"(###) ###-####",prefix:"+52 "},MD:{mask:"########",prefix:"+373 "},MC:{mask:"####-####",prefix:"+377 "},MN:{mask:"###########",prefix:"+976 "},MS:{mask:"(###) ###-####",prefix:"+1 "},MA:{mask:"#########?",prefix:"+212 "},MZ:{mask:"#########",prefix:"+258 "},MM:{mask:"########",prefix:"+95 "},NA:{mask:"##########",prefix:"+264 "},NP:{mask:"##########",prefix:"+977 "},NL:{mask:"#########",prefix:"+31 "},AN:{mask:"########",prefix:"+599 "},NC:{mask:"###-###",prefix:"+687 "},NZ:{mask:"##########",prefix:"+64 "},NI:{mask:"####-####",prefix:"+505 "},NE:{mask:"##-###-###",prefix:"+227 "},NG:{mask:"##########",prefix:"+234 "},MP:{mask:"(###) ###-####",prefix:"+1 "},NO:{mask:"####-####",prefix:"+47 "},OM:{mask:"####-####",prefix:"+968 "},PK:{mask:"##########",prefix:"+92 "},PW:{mask:"###-####",prefix:"+680 "},PA:{mask:"########",prefix:"+507 "},PG:{mask:"########",prefix:"+675 "},PE:{mask:"###########",prefix:"+51 "},PH:{mask:"##########",prefix:"+63 "},PL:{mask:"#########",prefix:"+48 "},PT:{mask:"#-####-####",prefix:"+351 "},PR:{mask:"(###) ###-####",prefix:"+1 "},QA:{mask:"###-####",prefix:"+974 "},RE:{mask:"###-###-###",prefix:"+262 "},RO:{mask:"#########",prefix:"+40 "},RU:{mask:"##########",prefix:"+7 "},RW:{mask:"###-###-###",prefix:"+250 "},SH:{mask:"#-###",prefix:"+290 "},KN:{mask:"(###) ###-####",prefix:"+1 "},LC:{mask:"(###) ###-####",prefix:"+1 "},VC:{mask:"(###) ###-####",prefix:"+1 "},ST:{mask:"##-####",prefix:"+239 "},SA:{mask:"#########",prefix:"+966 "},SN:{mask:"##-###-####",prefix:"+221 "},SC:{mask:"###-###",prefix:"+248 "},SL:{mask:"(##) ###-###",prefix:"+232 "},SG:{mask:"####-####",prefix:"+65 "},SK:{mask:"#########",prefix:"+421 "},SI:{mask:"########",prefix:"+386 "},SB:{mask:"##-###",prefix:"+677 "},ZA:{mask:"(##) ###-####",prefix:"+27 "},ES:{mask:"###-###-###",prefix:"+34 "},LK:{mask:"(##) ###-####",prefix:"+94 "},SD:{mask:"##-###-####",prefix:"+249 "},SR:{mask:"######?",prefix:"+597 "},SZ:{mask:"###-####",prefix:"+268 "},SE:{mask:"###########",prefix:"+46 "},CH:{mask:"(##) ###-####",prefix:"+41 "},SY:{mask:"#########",prefix:"+963 "},TJ:{mask:"#########",prefix:"+992 "},TZ:{mask:"#########",prefix:"+255 "},TH:{mask:"#########",prefix:"+66 "},TG:{mask:"###-####",prefix:"+228 "},TT:{mask:"(###) ###-####",prefix:"+1 "},TN:{mask:"##-###-###",prefix:"+216 "},TR:{mask:"(###) ###-####",prefix:"+90 "},TM:{mask:"########",prefix:"+993 "},TC:{mask:"(###) ###-####",prefix:"+1 "},UG:{mask:"#########",prefix:"+256 "},UA:{mask:"(##) ###-####",prefix:"+380 "},AE:{mask:"#########",prefix:"+971 "},GB:{mask:"#########????",prefix:"+44 "},UY:{mask:"########?",prefix:"+598 "},UZ:{mask:"(##) ###-####",prefix:"+998 "},VE:{mask:"(###) ###-####",prefix:"+58 "},VN:{mask:"#######????",prefix:"+84 "},VG:{mask:"(###) ###-####",prefix:"+1 "},VI:{mask:"(###) ###-####",prefix:"+1 "},YE:{mask:"#########",prefix:"+967 "},ZM:{mask:"#########",prefix:"+260 "},ZW:{mask:"#########",prefix:"+263 "},AC:{mask:"####",prefix:"+247 "},ME:{mask:"(##) ###-###?",prefix:"+382 "},PS:{mask:"#########",prefix:"+970 "},RS:{mask:"#########",prefix:"+381 "},TW:{mask:"#########",prefix:"+886 "},CW:{mask:"#-###-####",prefix:"+599 "},US:{mask:"(###) ###-####",prefix:""}};function R(t,r="US"){const{mask:e,prefix:a}=F[r]||F.US;const i={prefix:a};const s=t||"";if(r==="BR"&&s.replace(/[^0-9]/g,"").length===11){return b(s,"(##) #####-####",i)}else{return b(s,e,i)}}function N(t){return b(t,"###-##-####")}function B(t){return b(t,"##-#######")}function G(t){const r=(t||"").replace(/[^\da-zA-Z]/g,"");return b(r)}function E(t,r){let e=t||"";if(r==="spaced"){e=e.replace(/[^a-zA-Z ]/g,"")}else{e=e.replace(/[^a-zA-Z]/g,"")}return b(e)}function P(t){const r={prefix:"",suffix:"",decimals:0,decimalSeparator:".",thousandsSeparator:"",allowDecimal:false,allowNegative:true};const e=t.split("-");if(e[0]==="delimited"){r.thousandsSeparator=","}else if(e[0].match(/^[0-9]+dec$/)){r.decimals=Number(e[0].replace("dec",""));r.allowDecimal=true;r.thousandsSeparator=","}else{if(e[0].includes("decimal")){r.decimals=Number(e[0].replace("decimal",""));r.allowDecimal=true}else if(e[0]!=="integer"){return}if(e.includes("positive")){r.allowNegative=false}if(e.includes("delimited")){r.thousandsSeparator=","}}return r}function T(t="",r="",e=false){const a=P(r);if(!a){const r=(t||"").replace(/[^\d.,-]/g,"");return b(r)}return v(t,a,e)}function K(t="",r="",e=false){const a=P(r);if(!a){const r=(t||"").replace(/[^\d.,-]/g,"");return b(r,undefined,{suffix:"%"})}a.suffix="%";return v(t,a,e)}const $={AF:"####",AL:"####",DZ:"#####",AC:"ASCN 1ZZ",AD:"AD###",AR:"####","AR+":"@####@@@",AI:"AI-2640",AM:"####",AS:"#####","AS+4":"#####-####",AU:"####",AT:"####",AZ:"AZ ####",BH:"###?",BD:"####",BB:"BB#####",BY:"######",BE:"####",BM:"@@ **",BT:"#####",BA:"######",BR:"#####","BR+3":"#####-###",VG:"VG####",BN:"@@####",BG:"####",KH:"#####",KY:"KY#-####",CA:"@#@ #@#",CL:"###-####",CN:"######",CX:"####",CC:"####",CO:"######",CR:"#####","CR+4":"#####-####",CV:"####",HR:"#####",CU:"#####",CY:"####",CZ:"### ##",DK:"####",DO:"#####",EC:"######",SV:"####",EG:"#####",EE:"#####",ET:"####",FK:"FIQQ 1ZZ",FO:"###",FI:"#####",FR:"#####",GF:"973##",PF:"987##",GI:"GX11 1AA",GE:"####",DE:"#####",GR:"### ##",GL:"####",GP:"971##",GU:"#####","GU+4":"#####-####",GT:"#####",GG:"GY#? #@@",GN:"###",GS:"SIQQ 1ZZ",GW:"####",HT:"####",HN:"@@####","HN-":"#####",HU:"####",IS:"###",IN:"### ###",ID:"#####",IE:"*** ****",IR:"##########",IQ:"#####",IM:"IM#? #@@",IL:"#######",IT:"#####",JM:"##",JP:"###-####",JE:"JE#? #@@",JO:"#####",KZ:"######",KE:"#####",KR:"#####",KN:"KN####",XK:"#####",KW:"#####",KG:"######",LA:"#####",LV:"LV-####",LB:"####? ????",LS:"###",LR:"####",LI:"####",LT:"#####",LU:"####",MK:"####",MG:"###",MY:"#####",MV:"#####",MT:"@@@ ####",MH:"#####","MH+4":"#####-####",MU:"#####",MQ:"972##",MW:"######",YT:"976##",MX:"#####",FM:"#####","FM+4":"#####-####",MD:"####",MC:"980##",MN:"#####",ME:"#####",MA:"#####",MZ:"####",MM:"#####",NA:"#####",NP:"#####",NC:"988##",NZ:"####",NI:"#####",NE:"####",NG:"######",NF:"####",MP:"#####",NO:"####",OM:"###",PK:"#####",PW:"#####","PW+4":"#####-####",PS:"###",PA:"####",PG:"###",PY:"####",PE:"#####","PE+":"####",PH:"####",PL:"##-###",PT:"####","PT+3":"####-###",PR:"#####","PR+4":"#####-####",RE:"974##",PM:"975##",PN:"PCRN 1ZZ",RO:"######",RU:"######",LC:"LC## ###",VC:"####",WS:"####",SM:"4879#",SA:"#####","SA+4":"#####-####",SN:"#####",RS:"#####",SG:"######",SH:"@@@@ 1ZZ",SK:"### ##",SI:"####",SO:"@@ #####",ZA:"####",ES:"#####",LK:"#####",SD:"#####",SZ:"@###",SE:"### ##",CH:"####",SJ:"####",TW:"###","TW+2":"###-##?",TJ:"######",TZ:"#####",TH:"#####",TT:"######",TN:"####",TR:"#####",TM:"######",UA:"#####",UY:"#####",VI:"#####","VI+4":"#####-####",UZ:"######",VE:"####","VE-":"####-@",VN:"#####?",YU:"#####",WF:"986##",ZM:"#####",US:"#####","US+4":"#####-####"};function V(t,r="US"){const e=$[r];if(!e){return G(t)}return b(t,e)}const Z={"MM/DD/YYYY":"##/##/####","M/D/YYYY":"#?/#?/####","MM/DD/YY":"##/##/##","M/D/YY":"#?/#?/##","MM/YY":"##/##","M/YY":"#?/##","DD/MM/YYYY":"##/##/####","D/M/YYYY":"#?/#?/####","DD/MM/YY":"##/##/##","D/M/YY":"#?/#?/##","MM-DD-YYYY":"##-##-####","M-D-YYYY":"#?-#?-####","MM-DD-YY":"##-##-##","M-D-YY":"#?-#?-##","MM-YY":"##-##","M-YY":"#?-##","DD-MM-YYYY":"##-##-####","D-M-YYYY":"#?-#?-####","DD-MM-YY":"##-##-##","D-M-YY":"#?-#?-##"};function z(t,r="MM/DD/YYYY"){const e=Z[r===null||r===void 0?void 0:r.toUpperCase()]||Z["MM/DD/YYYY"];const a=b(t,e);return Object.assign(Object.assign({},a),{value:a.formattedValue})}function U(t){const r=tt.detectCreditCardTypeFromValue(t);const e=X[r](t);if(t.length<2&&r==="unknown"){e.leftIcon="card"}return e}const H=function t(r){const e=b(r,"#### #### #### ####");return Object.assign(Object.assign({},e),{type:"unknown",leftIcon:"card-unknown",leftIconMuted:r.length<16})};const W=function t(r){const e=b(r,"#### ###### #####");return Object.assign(Object.assign({},e),{type:"amex",leftIcon:"card-amex-color",leftIconMuted:r.length<15})};const j=function t(r){const e=b(r,"#### #### #### ####");return Object.assign(Object.assign({},e),{type:"discover",leftIcon:"card-discover-color",leftIconMuted:r.length<16})};const J=function t(r){const e=b(r,"#### #### #### ####");return Object.assign(Object.assign({},e),{type:"masterCard",leftIcon:"card-mastercard-color",leftIconMuted:r.length<16})};const Q=function t(r){const e=b(r,"#### #### #### ####");return Object.assign(Object.assign({},e),{type:"visa",leftIcon:"card-visa-color",leftIconMuted:r.length<16})};const q=function t(r){const e=b(r,"#### ###### ####");return Object.assign(Object.assign({},e),{type:"dinersClub",leftIcon:"card-dinersclub-color",leftIconMuted:r.length<14})};const X={discover:j,amex:W,masterCard:J,visa:Q,dinersClub:q,unknown:H};function _(t){const r=parseInt(t.charAt(0));const e=parseInt(t.charAt(1));switch(r){case 2:if(e>1&&e<8){if(t.length>=4){const r=parseInt(t.substr(0,4));if(r>=2221&&r<2721){return"masterCard"}}else{return"masterCard"}}break;case 3:if(e===4||e===7){return"amex"}if(e===0){if(t.length>2){const r=parseInt(t.charAt(2));if(r<6||r===9){return"dinersClub"}}else{return"dinersClub"}}if(e===6||e===8||e===9){return"dinersClub"}break;case 4:return"visa";case 5:if(e>0&&e<6){return"masterCard"}break;case 6:if(e===0){if(t.length>3){const r=t.substr(0,4);if(r==="6011"){return"discover"}}else{return"discover"}}if(e===4){if(t.length>2){const r=parseInt(t.substr(0,3));if(r>643){return"discover"}}else{return"discover"}}if(e===5){return"discover"}if(e===2){if(t.length>5){const r=parseInt(t.substr(0,6));if(r>=622126&&r<=622925){return"discover"}}else{return"discover"}}break;default:return"unknown"}return"unknown"}const tt={detectCreditCardTypeFromValue:_,format:U,amexFormatter:W,dinersClubInternationalFormatter:q,discoverFormatter:j,masterCardFormatter:J,visaFormatter:Q,unknownFormatter:H};const rt='*{box-sizing:border-box}*:active{outline:none}*:focus{outline:none;box-shadow:var(--const-double-focus-ring, 0 0 0 2px #ffffff, 0 0 0 4px #0066cc)}:host{box-shadow:none !important}::-moz-focus-inner{border:none}input,textarea,button{font-family:inherit;font-size:inherit;font-stretch:inherit}:host(.sr),:host(.sr) button{border:0;clip:rect(0 0 0 0);height:1px;margin:-1px;overflow:hidden;padding:0;position:absolute;width:1px;white-space:nowrap}.sr,.sr button{border:0;clip:rect(0 0 0 0);height:1px;margin:-1px;overflow:hidden;padding:0;position:absolute;width:1px;white-space:nowrap}.hidden{display:none}:host([hidden]){display:none}.invisible{visibility:hidden}:host{--comp-default-input-margin:var(--tct-input-margin-top, var(--t-input-margin-top, var(--app-scale-6x, 30px))) 0 var(--tct-input-margin-bottom, var(--t-input-margin-bottom, var(--app-scale-6x, 30px)));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}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, normal));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, 12px)));font-weight:var(--tct-input-label-optional-font-weight, var(--t-input-label-optional-font-weight, 400))}.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, 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-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-input-border-radius:var(--comp-input-border-top-left-radius) var(--comp-input-border-top-right-radius)\n 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)\n 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, 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);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: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))))}.has-error .input-container{border-color:var(--tct-input-error-border-color, var(--const-stoplight-alert, #d20a0a));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));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)));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));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)));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-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));}.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-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(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}.custom-display-container{max-width:100%}.has-custom-display .custom-display-container{--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)));width:100%}.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)))))}.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>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-right{padding-right:var(--comp-input-horizontal-gap);--comp-visibility-toggle-padding:0px var(--app-scale-2x, 10px)}.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, 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)))))}.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));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:calc(\n 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))\n );border-bottom-left-radius:calc(\n 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))\n );pointer-events:none;}.input-suffix{border-top-right-radius:calc(\n 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))\n );border-bottom-right-radius:calc(\n 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))\n )}.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))}.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, 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)))))}';const et=rt;const at={text:"text",tel:"tel",number:"number",password:"text",search:"search",url:"url",email:"email",currency:"text",phone:"tel",ssn:"text",alphanumeric:"text",alpha:"text",numeric:"text",percentage:"text",postal:"text",date:"text","credit-card":"text"};const it=class{constructor(e){t(this,e);this.change=r(this,"change",7);this.clear=r(this,"clear",7);this.formatted=r(this,"formatted",7);this.input=r(this,"input",7);this.invalid=r(this,"invalid",7);this.guid=s();this.isMobile=o();this.scheduledAfterRender=[];this.handleCurrencyKeydown=t=>{if(t.key!=="Backspace"&&t.key!=="Delete")return;const r=this.inputField;this.textSelectedForDeletion=r.selectionStart!==r.selectionEnd};this.handleValueAndCursor=()=>{const t=this.calculateCursorPositionOnInput();if(this.type!=="number")this.inputField.value=this.formattedValueObject.formattedValue;this.input.emit(Object.assign({value:this.formattedValueObject.value,formattedValue:this.formattedValueObject.fullyFormattedValue,minFormattedLength:this.formattedValueObject.minFormattedLength},this.formattedValueObject.type&&{type:this.formattedValueObject.type}));if(!this.formattedValueObject.value){this.clear.emit()}this.setCursorPosition(t)};this.onClearInput=()=>{const t={value:"",formattedValue:"",minFormattedLength:this.formattedValueObject.minFormattedLength};this.input.emit(t);this.change.emit(t);this.clear.emit();this.inputField.focus()};this.onInputBlur=()=>{this.hasFocus=false;n(this);if(this.valueOnFocus!==this.formattedValueObject.value){this.valueOnFocus=this.formattedValueObject.value;this.change.emit(Object.assign({value:this.formattedValueObject.value,formattedValue:this.formattedValueObject.fullyFormattedValue,minFormattedLength:this.formattedValueObject.minFormattedLength},this.formattedValueObject.type&&{type:this.formattedValueObject.type}))}};this.onInputClick=()=>{if(this.shouldCursorStayAtEnd)this.placeCursorAtEnd()};this.onInputFocus=()=>{if(this.inputField.tagName==="INPUT"){this.scheduledAfterRender.push((()=>this.shouldCursorStartAtEnd?this.placeCursorAtEnd():this.setCursorPosition(this.calculateCursorPositionOnFocus())))}this.hasFocus=true;n(this);this.valueOnFocus=this.value};this.onInputInput=t=>{t.stopPropagation();if(this.type==="currency")this.handleCurrencyDeletion(t);const r=this.getFormattedValue(t.target.value,false);this.handleDataInput(r);this.validateInput()};this.onInputKeydown=t=>{const r=["ArrowLeft","ArrowRight","ArrowUp","ArrowDown","Home","End"];const{key:e}=t;if(this.type==="currency")this.handleCurrencyKeydown(t);if(this.shouldCursorStayAtEnd&&r.includes(e))t.preventDefault();if(e==="Enter"&&this.valueOnFocus!==this.formattedValueObject.value){this.valueOnFocus=this.formattedValueObject.value;this.change.emit(Object.assign({value:this.formattedValueObject.value,formattedValue:this.formattedValueObject.fullyFormattedValue,minFormattedLength:this.formattedValueObject.minFormattedLength},this.formattedValueObject.type&&{type:this.formattedValueObject.type}))}};this.onInputPaste=t=>{if(this.type==="currency"){const r=t.clipboardData.getData("text");const e=this.getFormattedValue(r,true);t.preventDefault();this.handleDataInput(e)}};this.onMutationObserved=()=>{this.checkSlotCount=this.checkSlotCount+1};this.onRefocusInput=()=>{if(this.showMessages){this.inputField.focus();n(this)}};this.onToggleVisibility=()=>{this.hostElement.dispatchEvent(new FocusEvent("focus"));this.textHidden=!this.textHidden};this.validateInput=()=>{var t,r;this.validity=(t=this.inputRef)===null||t===void 0?void 0:t.validity;if(((r=this.validity)===null||r===void 0?void 0:r.valid)===false){this.invalid.emit()}};this.checkSlotCount=0;this.formattedValueObject=undefined;this.hasFocus=undefined;this.isSmall=false;this._preventEntry=undefined;this._role=undefined;this.ariaActivedescendant=undefined;this.ariaControls=undefined;this.ariaExpanded=undefined;this.ariaHaspopup=undefined;this.ariaLabel=undefined;this.ariaOwns=undefined;this.autocapitalize=undefined;this.autocomplete=undefined;this.autocorrect=undefined;this.autofocus=undefined;this.badgeTheme=undefined;this.badgeValue=undefined;this.clearable=undefined;this.current=undefined;this.disabled=false;this.errors=undefined;this.formatModifier=undefined;this.hideLabel=undefined;this.hideMessages=undefined;this.hints=undefined;this.iconLeft=undefined;this.iconRight=undefined;this.label=undefined;this.max=undefined;this.maxlength=undefined;this.min=undefined;this.optional=undefined;this.pattern=undefined;this.placeholder=undefined;this.pseudo=undefined;this.readonly=undefined;this.role=undefined;this.showCount=undefined;this.showVisibilityToggle=false;this.step=undefined;this.textHidden=undefined;this.type="text";this.validity=undefined;this.value=undefined}disconnectedCallback(){var t;this.manageClearableResizeObserver();(t=this.mutationObserver)===null||t===void 0?void 0:t.disconnect();this.mutationObserver=null}componentWillLoad(){if(isNaN(this.maxlength)){this.maxlength=undefined}this.formattedValueObject=this.getFormattedValue(this.stringValue,true);Object.defineProperty(this.hostElement,"formattedValue",{get:()=>{var t,r;return(r=(t=this.formattedValueObject)===null||t===void 0?void 0:t.formattedValue)!==null&&r!==void 0?r:""}});p(this);if(this.textHidden===undefined){this.textHidden=this.type==="password"}this.manageClearableResizeObserver(this.clearable)}componentDidLoad(){if(!this.pseudo){this.inputField.value=this.formattedValueObject.formattedValue}if(this.autofocus===true){this.inputField.focus()}c(this.hostElement);const t=new MutationObserver(this.onMutationObserved);t.observe(this.hostElement,{childList:true});this.mutationObserver=t}componentDidRender(){this.scheduledAfterRender.forEach((t=>t()));this.scheduledAfterRender=[]}onHostElementChange(t){t.stopPropagation();if(t.target===this.hostElement&&!this.hostElement.onchange){this.value=t.detail.value}}onHostElementFocus(t){if(!d(t,this.hostElement))return;this.inputField.focus()}checkValidity(){this.inputRef.checkValidity();this.validateInput()}clearValue(){if(!this.clearable)return;this.onClearInput()}setValue(t){const{inputField:r}=this;r.focus();r.dispatchEvent(new FocusEvent("focus"));r.value=t;r.dispatchEvent(new InputEvent("input"))}ariaLabelObserver(){p(this)}manageClearableResizeObserver(t){var r;const e=190;if(t){if(this.resizeObserver)return;this.resizeObserver=new ResizeObserver((([t])=>{this.isSmall=e>t.contentRect.width}));this.resizeObserver.observe(this.hostElement)}else{this.isSmall=false;(r=this.resizeObserver)===null||r===void 0?void 0:r.unobserve(this.hostElement);this.resizeObserver=null}}errorsObserver(){this.hasFocus&&this.scheduledAfterRender.push((()=>n(this)))}formatModifierObserver(){this.formatAndUpdateValueFromProp()}formattedValueObjectObserver(){this.formatted.emit(this.formattedValueObject)}hintsObserver(){this.hasFocus&&this.scheduledAfterRender.push((()=>n(this)))}typeObserver(){this.formatAndUpdateValueFromProp()}valueObserver(){this.formatAndUpdateValueFromProp()}get ariaAttributes(){return{ariaOwns:u(this.ariaOwns),ariaHaspopup:u(this.ariaHaspopup,["true","false","menu","listbox","tree","grid","dialog"]),ariaExpanded:u(this.ariaExpanded,["true","false"]),ariaActivedescendant:u(this.ariaActivedescendant)}}get canSetSelection(){return!["email","number"].includes(this.computedType)}get clearClasses(){var t;const r=["btn-clear"];if(!this.clearable||!(((t=this.inputField)===null||t===void 0?void 0:t.value)||this.value)){r.push("hidden")}return r}get computedAutocomplete(){if(this.type==="currency")return"transaction-amount";return this.autocomplete||"off"}get computedClassForIconLeft(){let t="icon-left";if(this.formattedValueObject.leftIconMuted){t+=" icon-left-muted"}return t}get computedIconLeft(){if(this.formattedValueObject.prefix){return}if(this.type==="search"){return"search"}if(this.formattedValueObject.leftIcon){return this.formattedValueObject.leftIcon}return this.iconLeft}get computedType(){if(["password","text","ssn"].includes(this.type)&&this.textHidden){return"password"}else{return this.type&&at[this.type]||"text"}}get hasCustomDisplaySlot(){return!!this.hostElement.querySelector("[slot=custom-display]")}get hasError(){return Array.isArray(this.errors)&&this.errors.length>0}get hasInputLeftSlot(){return f(this.hostElement,"input-left")}get hasInputRightSlot(){return f(this.hostElement,"input-right")}get inputDescribedBy(){return this.showMessages?`${this.inputId}-description`:undefined}get inputField(){return this.hostElement.shadowRoot.querySelector(".input-field")}get inputId(){return`input-guid-${this.guid}`}get inputMode(){const t={currency:"numeric",ssn:"numeric",tin:"numeric",numeric:"decimal",percentage:"decimal",postal:"numeric",date:"numeric","credit-card":"numeric"};return this.type&&t[this.type]||undefined}get isMaskedType(){const t=["currency","phone","ssn","tin","alphanumeric","alpha","numeric","percentage","postal","date","credit-card"];return t.includes(this.type)}get messages(){return this.errors&&this.errors.length>0&&this.errors||this.hints&&this.hints.length>0&&this.hints||[]}get shouldCursorStartAtEnd(){return this.type==="currency"}get shouldCursorStayAtEnd(){return this.isMobile&&this.type==="currency"}get showIconSeparator(){return this.type==="credit-card"||!!this.formattedValueObject.prefix}get showMessages(){return this.messages.length>0&&!this.hideMessages}get stringValue(){return this.value&&String(this.value)||""}get visibilityToggleAriaLabel(){return`tecton.element.input.toggleAriaLabel.${this.textHidden?"show":"hide"}`}get visibilityToggleText(){return l(`tecton.element.input.toggle.${this.textHidden?"show":"hide"}`)}get wrapperClasses(){const t=["field-container"];if(this.hasError)t.push("has-error");if(!!this.value)t.push("has-value");if(this.clearable&&!!this.value)t.push("has-clear");if(this.hasFocus)t.push("has-focus");if(this.isSmall)t.push("is-small");if(this.formattedValueObject.prefix)t.push("has-prefix");if(this.computedIconLeft)t.push("has-icon-left");if(this.showIconSeparator)t.push("has-icon-separator");if(this.formattedValueObject.suffix)t.push("has-suffix");if(!this.formattedValueObject.suffix&&this.iconRight)t.push("has-icon-right");if(this.type==="currency")t.push("right-aligned");else t.push("left-aligned");if(this.hasCustomDisplaySlot)t.push("has-custom-display");return t.join(" ")}calculateCursorPositionOnFocus(){var t,r,e;const{inputField:a}=this;const i=(r=(t=a===null||a===void 0?void 0:a.value)===null||t===void 0?void 0:t.length)!==null&&r!==void 0?r:0;const s=(e=a===null||a===void 0?void 0:a.selectionStart)!==null&&e!==void 0?e:i;return{startingPosition:s,valueLength:i,previousValueLength:i,hasSelection:getSelection().toString().length>0}}calculateCursorPositionOnInput(){const t=this.inputField;const r=this.formattedValueObject.formattedValue.length;const e=t.value.length;const a=this.type==="currency"?r:0;return{startingPosition:t&&t.selectionStart||a,valueLength:r,previousValueLength:t&&e,hasSelection:false}}countDOM(){if(!this.showCount)return;const{maxlength:t,formattedValueObject:r}=this;return e("div",{class:"count-tag"},r.unformattedValue.length,t&&`/${t}`)}formatAndUpdateValueFromProp(){this.formattedValueObject=this.getFormattedValue(this.stringValue,true);if(!this.pseudo){const t=()=>{this.inputField.value=this.formattedValueObject.formattedValue};this.inputField?t():this.scheduledAfterRender.push((()=>t()))}}getFormattedValue(t,r){const e={currency:O,phone:R,ssn:N,tin:B,alphanumeric:G,alpha:E,numeric:T,percentage:K,postal:V,date:z,"credit-card":tt.format};if(e[this.type]){return e[this.type](t,this.formatModifier,r)}return{value:t,formattedValue:t,fullyFormattedValue:t,formattingCharacterCount:0,unformattedValue:t}}handleCurrencyDeletion(t){if(this.textSelectedForDeletion){this.textSelectedForDeletion=false;return}if(t.inputType!=="deleteContentBackward"&&t.inputType!=="deleteContentForward")return;const r=t.target;const e=r.selectionStart;const{formattedValue:a}=this.formattedValueObject;if(e===null)return;let i;switch(t.inputType){case"deleteContentBackward":const t=a.substring(0,e+1);const r=/[a-zA-Z0-9]$/.test(t);i={leftIndex:r?e:e-1,rightIndex:r?e+1:e,afterCursorOffset:0,newCursorOffset:1};break;case"deleteContentForward":const s=a.substring(e);const o=/^[a-zA-Z0-9]/.test(s);i={leftIndex:o?e:e+1,rightIndex:o?e+1:e+2,afterCursorOffset:1,newCursorOffset:0};break;default:return}const s=[a.substring(0,i.leftIndex),a.substring(i.rightIndex)].join("");const o=a.length-e-i.afterCursorOffset;const n=this.getFormattedValue(s,false).formattedValue;const p=Math.max(n.length-o+i.newCursorOffset,0);r.value=n;r.setSelectionRange(p,p);if(p===0){h((()=>r.setSelectionRange(p,p)))}}handleDataInput(t){if(this.maxlength===undefined||t.unformattedValue.length<=this.maxlength||t.unformattedValue.length<=this.formattedValueObject.unformattedValue.length){this.formattedValueObject=t}else if(this.maxlength){t=this.getFormattedValue(t.unformattedValue.substring(0,this.maxlength),false);this.formattedValueObject=t}this.handleValueAndCursor()}inputContainerDOM(){const{hasInputLeftSlot:t,hasInputRightSlot:r}=this;return e("div",{class:"input-container",tabindex:-1,"test-id":"inputContainer"},e("div",{class:"input-icons-container-left"},this.formattedValueObject.prefix&&e("div",{class:"input-prefix"},this.formattedValueObject.prefix),this.computedIconLeft&&e("div",null,e("q2-icon",{type:this.computedIconLeft,class:this.computedClassForIconLeft})),t&&e("slot",{name:"input-left"}),this.showIconSeparator&&e("div",{class:"vertical-separator"}),this.hasError&&this.type==="currency"&&e("div",{"test-id":"divIconError",onClick:this.onRefocusInput},e("q2-icon",{type:"error",class:"icon-error","test-id":"iconError"}))),this.pseudo?this.pseudoInputDOM():this.standardInputDOM(),e("div",{class:"input-icons-container-right"},e("q2-btn",{class:this.clearClasses.join(" "),ariaLabel:l("tecton.element.input.clear",[this.label]),"test-id":"clearButton",onClick:this.onClearInput},e("q2-icon",{type:"close",class:"icon-clear"})),["password","text","ssn","tin"].includes(this.type)&&this.showVisibilityToggle&&e("q2-btn",{class:"btn-visibility-toggle","test-id":"toggleVisibilityButton",onClick:this.onToggleVisibility,label:l(this.visibilityToggleAriaLabel,{label:this.label}),"hide-label":true},this.visibilityToggleText),this.formattedValueObject.suffix&&e("span",{class:"input-suffix"},this.formattedValueObject.suffix),this.badgeValue&&e("q2-badge",{size:"large",theme:this.badgeTheme},this.badgeValue),this.hasError&&this.type!=="currency"&&e("div",{"test-id":"divIconError",onClick:this.onRefocusInput},e("q2-icon",{type:"error",class:"icon-error","test-id":"iconError"})),this.iconRight&&!this.formattedValueObject.suffix&&e("div",null,e("q2-icon",{type:this.iconRight,class:"icon-right"})),r&&e("slot",{name:"input-right"})))}placeCursorAtEnd(){const{inputField:t}=this;t.selectionStart=t.selectionEnd=t.value.length}pseudoInputDOM(){const t=!this.value&&!!this.placeholder;const{ariaOwns:r,ariaHaspopup:a,ariaExpanded:i,ariaActivedescendant:s}=this.ariaAttributes;return e("div",{class:"pseudo-input-container"},e("button",{class:"input-field",type:"button",id:this.inputId,"aria-describedby":this.inputDescribedBy,"aria-invalid":`${this.hasError}`,"aria-owns":r,"aria-haspopup":a,"aria-expanded":i,"aria-activedescendant":s,role:this.role&&`${this.role}`||"textbox",disabled:!!this.disabled,"test-id":"q2InputInnerClearButton",onFocus:this.onInputFocus,onBlur:this.onInputBlur},e("div",{class:"custom-display-container"},e("slot",{name:"custom-display"},e("span",{class:t?"placeholder-text":""},t?this.placeholder:this.value)))))}setCursorPosition(t){if(this.canSetSelection&&!t.hasSelection){const r=this.inputField;const{valueLength:e,previousValueLength:a,startingPosition:i}=t;if(this.type==="currency"){if(a-e===1){r.setSelectionRange(i-1,i-1)}else{const t=a-e;r.setSelectionRange(i-t,i-t)}}if(this.type!=="currency"){const t=e-a;const s=i+(t>0?t:0);r.setSelectionRange(s,s)}}}standardInputDOM(){const{hasCustomDisplaySlot:t}=this;const r=["input-field"];const{ariaOwns:i,ariaHaspopup:s,ariaExpanded:o,ariaActivedescendant:n}=this.ariaAttributes;if(t)r.push("sr");return e(a,null,t&&e("div",{class:"custom-display-container"},e("slot",{name:"custom-display"})),e("input",{ref:t=>this.inputRef=t,class:r.join(" "),id:this.inputId,type:this.computedType,size:this.formattedValueObject.prefix?10:undefined,max:this.max,min:this.min,step:this.step,"aria-current":this.current||undefined,"aria-describedby":this.inputDescribedBy,"aria-required":`${!this.optional}`,"aria-invalid":`${this.hasError}`,"aria-owns":i,"aria-haspopup":s,"aria-expanded":o,"aria-activedescendant":n,autocomplete:this.computedAutocomplete,autocapitalize:this.autocapitalize,autocorrect:this.autocorrect==="on"?"on":"off",autofocus:this.autofocus,placeholder:this.placeholder&&l(this.placeholder)||undefined,role:this._role,"test-id":"inputField",readonly:this.readonly||this._preventEntry,disabled:!!this.disabled,onFocus:this.onInputFocus,onBlur:this.onInputBlur,onClick:this.onInputClick,onKeyDown:this.onInputKeydown,onInput:this.onInputInput,onPaste:this.onInputPaste,inputmode:this.inputMode,pattern:this.pattern||undefined}))}render(){return e("div",{key:"aabab7e28c8c4849d6b2ca6b3a59f446fbee9755",class:this.wrapperClasses},e("div",{key:"abdd8152d335850d9f75a9d15ec1ef661de43307",class:"label-wrapper"},x(this),this.countDOM()),this.inputContainerDOM(),m(this))}get hostElement(){return i(this)}static get watchers(){return{ariaLabel:["ariaLabelObserver"],clearable:["manageClearableResizeObserver"],errors:["errorsObserver"],formatModifier:["formatModifierObserver"],formattedValueObject:["formattedValueObjectObserver"],hints:["hintsObserver"],type:["typeObserver"],value:["valueObserver"]}}};it.style=et;export{it as q2_input};
2
- //# sourceMappingURL=p-9e90a38a.entry.js.map
@@ -1,2 +0,0 @@
1
- import{r as t,h as e,F as i,g as n}from"./p-a5f18e27.js";import{w as s,o,i as r,a as d,h,l as a}from"./p-84190698.js";const l="*{box-sizing:border-box}*:active{outline:none}*:focus{outline:none;box-shadow:var(--const-double-focus-ring, 0 0 0 2px #ffffff, 0 0 0 4px #0066cc)}:host{box-shadow:none !important}::-moz-focus-inner{border:none}input,textarea,button{font-family:inherit;font-size:inherit;font-stretch:inherit}:host(.sr),:host(.sr) button{border:0;clip:rect(0 0 0 0);height:1px;margin:-1px;overflow:hidden;padding:0;position:absolute;width:1px;white-space:nowrap}.sr,.sr button{border:0;clip:rect(0 0 0 0);height:1px;margin:-1px;overflow:hidden;padding:0;position:absolute;width:1px;white-space:nowrap}.hidden{display:none}:host([hidden]){display:none}.invisible{visibility:hidden}:host{display:inline-flex}:host([block]){display:block}click-elsewhere{position:relative;display:block}q2-popover{--tct-popover-min-width:var(--tct-dropdown-width, var(--t-dropdown-width))}";const c=l;const u=class{constructor(e){t(this,e);this.dropdownItemSelector="q2-dropdown-item:not([disabled]):not([separator])";this.closeDropdown=()=>{if(!this.open)return;this.open=false};this.focusToggle=()=>{this.controlElement.shadowRoot.querySelector("button").focus()};this.onClickElsewhere=t=>{const e=t.target;if(e.localName==="click-elsewhere"){t.stopPropagation();const{popoverElement:e}=this;if(!e)return;e.open=false}};this.onDropdownMenuClick=async t=>{if(t.target.localName!=="q2-dropdown-item"){return}const e=t.target;if(!e.disabled&&!e.separator){this.closeDropdown();await s();this.focusToggle()}};this.onDropdownMenuKeydown=t=>{if(["Escape","Esc"].includes(t.key)){this.closeDropdown();this.focusToggle();return}if(t.target.localName!=="q2-dropdown-item"){return}const e=t.target;if(["ArrowUp","Up"].includes(t.key)){t.preventDefault();this.focusAdjacentItem(e,"prev");return}if(["ArrowDown","Down"].includes(t.key)){t.preventDefault();this.focusAdjacentItem(e,"next");return}if(t.key==="Tab"){t.preventDefault()}};this.onToggleClick=()=>{if(this.open){this.closeDropdown()}else{this.openDropdown()}};this.onToggleKeydown=t=>{if(["ArrowUp","Up"].includes(t.key)){t.preventDefault();this.openDropdown();this.focusLastItem();return}if(["ArrowDown","Down"].includes(t.key)){t.preventDefault();this.openDropdown();this.focusFirstItem();return}if(["Escape","Esc"].includes(t.key)){t.preventDefault();this.focusToggle();this.closeDropdown();return}};this.openDropdown=()=>{if(this.open)return;this.open=true};this.additionalContext=undefined;this.alignment=undefined;this.ariaLabel=undefined;this.block=undefined;this.context=undefined;this.contextValue=undefined;this.disabled=undefined;this.hideLabel=undefined;this.icon=undefined;this.label=undefined;this.name=undefined;this.open=undefined;this.popDirection=undefined;this.popoverAlignment="left";this.popoverDirection=undefined;this.popoverMinHeight=150;this.popoverMode=null;this.resolvedType=undefined;this.type="icon"}componentWillLoad(){this.popDirectionHandler();this.alignmentHandler();this.ariaLabelHandler()}componentDidLoad(){this.orchestrateResolvedMenuItems();o(this.hostElement)}delegateFocus(t){if(!r(t,this.hostElement))return;this.focusToggle()}popoverStateHandler({detail:{open:t}}){var e;if(this.open!==t)this.open=t;(e=this.popoverElement)===null||e===void 0?void 0:e.scrollContainerTo({top:0})}additionalContextHandler(){this.orchestrateResolvedMenuItems()}alignmentHandler(){d(this,"alignment","popoverAlignment")}ariaLabelHandler(){h(this)}contextHandler(){this.orchestrateResolvedMenuItems()}contextValueHandler(){this.orchestrateResolvedMenuItems()}nameHandler(){this.orchestrateResolvedMenuItems()}popDirectionHandler(){d(this,"popDirection","popoverDirection")}resolvedTypeHandler(){this.orchestrateResolvedMenuItems()}get determineDropdownItemCount(){return this.hostElement.querySelectorAll(this.dropdownItemSelector).length}get hasCustomButton(){return!!this.hostElement.querySelector("[slot=custom-dropdown-button]")}get toggleButtonProps(){const t=["primary","secondary","neutral"];const e=["icon","fab","custom",...t];const i=e.includes(this.type)?this.type:"";const n=i==="icon";const s=i==="fab";const o=i==="custom";let r;if(t.includes(i)){r=i==="neutral"?i:`workflow-${i}`}const d=this.open;const h=!!this.disabled;const a=this.open;const l=!n&&!s&&!r?"unstyled":"";return{icon:n,fab:s,intent:r,active:d,disabled:h,ariaExpanded:a,className:l,custom:o}}focusAdjacentItem(t,e){const i=Array.from(this.hostElement.querySelectorAll(this.dropdownItemSelector));const n=i.indexOf(t);if(n===-1){return}let s=0;if(e==="next"){s=n<i.length-1?n+1:0}else if(e==="prev"){if(n>0){s=n-1}else{s=i.length-1}}const o=i[s];o&&o.dispatchEvent(new Event("focus"))}focusFirstItem(){const t=this.hostElement.querySelector(`${this.dropdownItemSelector}:first-child`);t===null||t===void 0?void 0:t.dispatchEvent(new FocusEvent("focus"))}focusLastItem(){const t=this.hostElement.querySelector(`${this.dropdownItemSelector}:last-child`);t===null||t===void 0?void 0:t.dispatchEvent(new FocusEvent("focus"))}navigateTo(t,e,i){var n,s;return(s=(n=window.TectonElements)===null||n===void 0?void 0:n.navigateTo)===null||s===void 0?void 0:s.call(n,t,e,i)}orchestrateResolvedMenuItems(){if(!this.name||!this.context){this.removeResolvedElements();return}this.resolveMenuItemElements().then((t=>{this.removeResolvedElements();t.forEach((t=>{this.hostElement.appendChild(t)}))})).catch((t=>{this.removeResolvedElements();throw t}))}removeResolvedElements(){const t=this.hostElement.querySelectorAll("q2-dropdown-item.resolved-menu-item");t.forEach((t=>this.hostElement.removeChild(t)))}resolveMenu(){return this.name&&window.TectonElements&&window.TectonElements.resolveMenu(this.name,this.contextValue,this.resolvedType,this.additionalContext)}resolveMenuItemElements(){return this.resolveMenu().then((t=>t.map((t=>{let e;let i;if(t["tct-ctxid"]){i={};i[t.contextIdParamName]=t["tct-ctxid"]}switch(t.action){case"navigateTo":e=()=>this.navigateTo(t.featureName,t.moduleName,i);break;case"showOverpanel":e=()=>this.showOverpanel(`${t.featureName}.${t.moduleName}`,i);break}const n=document.createElement("q2-dropdown-item");n.setAttribute("value",t.itemLabel);n.classList.add("resolved-menu-item");n.innerHTML=t.itemLabel;n.onclick=e;return n}))))}showOverpanel(t,e){var i,n;return(n=(i=window.TectonElements)===null||i===void 0?void 0:i.showOverpanel)===null||n===void 0?void 0:n.call(i,t,e,undefined,true)}render(){const t=this.toggleButtonProps;return e("click-elsewhere",{key:"aeee28aa4e5ba77a2fb445a41ad77013df364fc2",class:this.open?"dropdown-open":"",onChange:this.onClickElsewhere,"test-id":"dropdownContainer"},e("q2-btn",{key:"40a9565e05720f1e851f436fcec9799e21cee9a4",ref:t=>this.controlElement=t,class:t.className,onClick:this.onToggleClick,onKeyDown:this.onToggleKeydown,fab:t.fab,intent:t.intent,active:t.active,disabled:t.disabled,ariaExpanded:`${!!t.ariaExpanded}`,label:this.hideLabel&&this.label?a(this.label):undefined,hideLabel:this.hideLabel,ariaHasPopup:"menu","test-id":"dropdownButton",block:this.block,description:a("tecton.element.dropdown.itemCount",[this.determineDropdownItemCount])},this.hasCustomButton?e("div",{"test-id":"dropdownCustom",class:t.custom?"":"hidden"},e("slot",{name:"custom-dropdown-button"})):e(i,null,this.icon?e("q2-icon",{type:this.icon}):" ",this.label&&!this.hideLabel&&e("span",{class:"dropdown-button-text"},a(this.label)))),e("q2-popover",{key:"268e30f6bbf05c99ddcff2a4e514a137107e8467",ref:t=>this.popoverElement=t,controlElement:this.controlElement,open:this.open,minHeight:this.popoverMinHeight,direction:this.popoverDirection,align:this.popoverAlignment,mode:this.popoverMode||undefined,block:this.block},e("div",{key:"72e00624fc986d5feef7da209832e0ce85d53011",onClick:this.onDropdownMenuClick,onKeyDown:this.onDropdownMenuKeydown,role:"menu","aria-label":a(this.label)||undefined},e("slot",{key:"5e03e01d3a10259be44f92c7b88885ef1ae9ab94"})),this.open&&e("q2-btn",{key:"31f3a4965c6417f689364b913ae0bb0dee647147",class:"sr close-dropdown",onFocus:this.closeDropdown})))}get hostElement(){return n(this)}static get watchers(){return{additionalContext:["additionalContextHandler"],alignment:["alignmentHandler"],ariaLabel:["ariaLabelHandler"],context:["contextHandler"],contextValue:["contextValueHandler"],name:["nameHandler"],popDirection:["popDirectionHandler"],resolvedType:["resolvedTypeHandler"]}}};u.style=c;export{u as q2_dropdown};
2
- //# sourceMappingURL=p-a657277b.entry.js.map
@@ -1,2 +0,0 @@
1
- import{r as t,c as e,h as i,g as s}from"./p-a5f18e27.js";import{l as o,h as l,o as n,g as r,i as a,w as c,j as d}from"./p-84190698.js";import{s as h,a as p}from"./p-780a1d0e.js";const u="*{box-sizing:border-box}*:active{outline:none}*:focus{outline:none;box-shadow:var(--const-double-focus-ring, 0 0 0 2px #ffffff, 0 0 0 4px #0066cc)}:host{box-shadow:none !important}::-moz-focus-inner{border:none}input,textarea,button{font-family:inherit;font-size:inherit;font-stretch:inherit}:host(.sr),:host(.sr) button{border:0;clip:rect(0 0 0 0);height:1px;margin:-1px;overflow:hidden;padding:0;position:absolute;width:1px;white-space:nowrap}.sr,.sr button{border:0;clip:rect(0 0 0 0);height:1px;margin:-1px;overflow:hidden;padding:0;position:absolute;width:1px;white-space:nowrap}.hidden{display:none}:host([hidden]){display:none}.invisible{visibility:hidden}.q2-element-dropdown{display:none;position:absolute;background-color:var(--app-white, #ffffff);color:var(--t-text, #4d4d4d);left:0;width:100%;z-index:100;margin-top:1px;box-shadow:var(--app-shadow-1, 0px 0px 2px rgba(0, 0, 0, 0.12), 0px 2px 4px rgba(0, 0, 0, 0.14));height:0;overflow:hidden;opacity:0;visibility:hidden;transition:opacity var(--app-tween-1, 0.2s ease);border-radius:var(--tct-dropdown-border-radius, --t-dropdown-border-radius, 0);--comp-scrollbar-size:var(--tct-scrollbar-size, var(--t-scrollbar-size, var(--app-scale-1x, 5px)));--comp-scrollbar-border-radius:var(--tct-scrollbar-border-radius, var(--t-scrollbar-border-radius, var(--app-border-radius-1, 4px)));--comp-scrollbar-color:var(--tct-scrollbar-color, var(--t-scrollbar-color, var(--t-a11y-gray-color, #747474)));scrollbar-width:thin;scrollbar-color:var(--comp-scrollbar-color) transparent}.q2-element-dropdown::-webkit-scrollbar{width:var(--comp-scrollbar-size);height:var(--comp-scrollbar-size);margin:5px}.q2-element-dropdown::-webkit-scrollbar-thumb{background:var(--comp-scrollbar-color);border-radius:var(--comp-scrollbar-border-radius)}.q2-element-dropdown::-webkit-scrollbar-track{background:transparent;border-radius:var(--comp-scrollbar-border-radius)}.q2-element-dropdown.sizable{display:block;height:auto}.dropdown-open .q2-element-dropdown{display:block;height:auto;overflow:auto;opacity:1;visibility:visible}:host([alignment=right]) .q2-element-dropdown{left:auto;right:0}:host([block]) q2-btn,:host([block]){display:block}:host{--comp-select-margin:var(--tct-select-margin, var(--tct-select-margin-top, var(--t-select-margin-top, var(--app-scale-4, 30px))) 0 var(--tct-select-margin-bottom, var(--t-select-margin-bottom, var(--app-scale-4, 30px))));display:block;margin:var(--comp-select-margin)}.q2-select-container{position:relative;display:block}.q2-select-input{margin:0;--tct-input-min-height:var(--tct-select-input-min-height, var(--t-select-input-min-height));--tct-input-max-height:var(--tct-select-input-max-height, var(--t-select-input-max-height, none))}::slotted([slot=_selected-display]){width:100%;min-height:var(--comp-selected-display-height, 44px)}.custom-display-content{position:absolute;bottom:0;left:calc(var(--tct-scale-2, var(--app-scale-2x, 10px)) + 1px);height:44px;width:calc(100% - 34px - var(--tct-scale-3, var(--app-scale-3x, 15px)));overflow:hidden;cursor:pointer;transition:left var(--tct-tween-2, var(--app-tween-1, 0.2s ease))}.custom-display-content:not([hidden]){display:flex;align-items:center}.is-searchable.is-focused .custom-display-content,.is-searchable .custom-display-content:active{left:calc(var(--tct-scale-3, var(--app-scale-3x, 15px)) + 1px)}.has-error .custom-display-content{width:calc(100% - 68px - var(--tct-scale-3, var(--app-scale-3x, 15px)))}.popover-content{display:flex;flex-direction:column-reverse}.popover-bottom-container{position:sticky;bottom:0;z-index:5}.popover-top-container{position:sticky;top:0;z-index:5}.popover-top-container .multi-select-header{padding:var(--tct-scale-2, var(--app-scale-2x, 10px)) var(--tct-scale-2, var(--app-scale-2x, 10px));background:var(--app-white);display:flex;gap:var(--app-scale-2x, 10px);align-items:center}.popover-top-container .multi-select-header fieldset{margin:0;padding:0;border:0;display:flex;gap:var(--app-scale-2x, 10px)}.popover-top-container .multi-select-header legend{padding:0;float:left}.popover-top-container .multi-select-header label{cursor:pointer;padding:var(--tct-select-multi-select-option-padding, var(--t-select-multi-select-option-padding, var(--tct-btn-badge-padding, var(--t-btn-badge-padding, 2px 5px))));font-size:var(--tct-select-multi-select-option-font-size, var(--t-select-multi-select-option-font-size, var(--tct-btn-badge-font-size, var(--t-btn-badge-font-size, inherit))));border-radius:var(--tct-select-multi-select-option-radius, var(--t-select-multi-select-option-radius, var(--tct-btn-badge-border-radius, var(--t-btn-badge-border-radius, var(--app-border-radius-1, 4px)))));background:var(--tct-select-multi-select-option-background, var(--tct-select-multi-select-option-bg, var(--t-select-multi-select-option-bg, var(--tct-badge-background, var(--tct-btn-badge-bg, var(--t-btn-badge-bg, transparent))))));color:var(--tct-select-multi-select-option-color, var(--t-select-multi-select-option-color, var(--tct-btn-badge-font-color, var(--t-btn-badge-font-color, inherit))))}.popover-top-container .multi-select-header label:hover{background:var(--tct-select-multi-select-option-hover-background, var(--tct-select-multi-select-option-hover-background-color, var(--t-select-multi-select-option-hover-background-color, var(--tct-btn-badge-hover-bg, var(--t-btn-badge-hover-bg, var(--tct-gray-14, var(--t-gray-14, var(--app-gray-l3, #f2f2f2))))))));color:var(--tct-select-multi-select-option-hover-color, var(--tct-select-multi-select-option-color, var(--t-select-multi-select-option-color, var(--tct-btn-badge-hover-font-color, var(--t-btn-badge-hover-font-color, var(--tct-gray-5, var(--t-gray-5, var(--app-gray-d2, #404040))))))))}.popover-top-container .multi-select-header input:checked+label,.popover-top-container .multi-select-header input:checked+label:enabled:hover{background:var(--tct-select-multi-select-option-active-background, var(--tct-select-multi-select-option-active-background-color, var(--t-select-multi-select-option-active-background-color, var(--tct-btn-primary-bg, var(--t-btn-primary-bg, #2e2e2e)))));color:var(--tct-select-multi-select-option-active-color, var(--t-select-multi-select-option-active-color, var(--tct-btn-primary-font-color, var(--t-btn-primary-font-color, var(--app-white, #ffffff)))))}.popover-top-container .multi-select-header input:disabled+label{opacity:var(--tct-select-multi-select-option-disabled-opacity, var(--t-select-multi-select-option-disabled-opacity, var(--tct-btn-disabled-opacity, var(--t-btn-disabled-opacity, var(--app-disabled-opacity, 0.4)))));cursor:not-allowed}.popover-top-container .multi-select-header input:focus+label{box-shadow:var(--const-double-focus-ring)}";const v=u;const b=class{constructor(i){t(this,i);this.change=e(this,"change",7);this.input=e(this,"input",7);var s;this.scheduledAfterRender=[];this.clickedElsewhere=t=>{const e=t.target;if(e.localName!=="click-elsewhere")return;t.stopPropagation()};this.inputBlurHandler=()=>{this.inputFocused=false};this.inputChangeHandler=t=>{t.stopPropagation()};this.inputClickHandler=async t=>{t.stopPropagation();if(h(this)){return this.executeActionSheet(t)}this.toggleDropdown();this.focusInput()};this.inputFocusHandler=()=>{this.inputFocused=true};this.inputInputHandler=t=>{t.stopPropagation();const e=t.detail.value;const i=!!this.value;if(i)this.clearValue();if(!this.open)this.openDropdownWithoutActiveElement();this.prioritizeSearch=true;this.searchText=e;this.input.emit({query:e})};this.inputKeydownHandler=t=>{if(this.readonly||this.disabled)return;const e=t.key;const i=this.hasPopoverTop||this.hasPopoverBottom;const s=e==="Tab"&&t.shiftKey;if(i&&(e==="Tab"||e==="Enter"||s))return;if(h(this,t)){return this.executeActionSheet(t)}const o=["ArrowDown","ArrowUp","PageDown","PageUp","Home","End","Escape","Tab"];if(this.searchable&&(e===" "||e==="Enter")&&this.inputField.value==""){t.preventDefault();if(!this.open)this.openDropdownWithoutActiveElement()}if(this.searchable&&!o.includes(e))return;if(this.shouldClearSearchText(t))this.clearSearchText();if(e===" ")t.preventDefault();this.optionList.handleExternalKeydown(t)};this.onCustomDisplayClick=t=>{t.stopPropagation();this.focusInput();this.toggleDropdown()};this.onMutationObserved=()=>{const{hostElement:t,hasPopoverTop:e,hasPopoverBottom:i}=this;const s=t.querySelector(".custom-display-content");const o=t.shadowRoot.querySelector('slot[name="q2-select-display"]');const l=!!o?o.assignedNodes().length>0:s.children.length>0;if(this.hasCustomDisplay!==l){this.hasCustomDisplay=l}const n=t.shadowRoot.querySelector('slot[name="popover-top"]');const r=n.assignedNodes().length>0;if(e!==r){this.hasPopoverTop=r}const a=t.shadowRoot.querySelector('slot[name="popover-bottom"]');const c=a.assignedNodes().length>0;if(i!==c){this.hasPopoverBottom=c}this.checkSelectedOptions()};this.onOptionListChange=t=>{t.stopPropagation();const{values:e}=t.detail;if(e.length===0)this.showAllOptions();this.handleSelectionChanges(t.detail)};this.onPopoverState=({detail:{open:t,action:e}})=>{if(!t||this.searchText){if(e!=="select"){this.optionList.setActiveElement(null)}this.inputField.focus()}if(this.open===t)return;this.open=t};this.showAllOptions=()=>{this.showSelected=false};this.showSelectedOptions=()=>{this.showSelected=true};this.visibilityToggleKeyDown=t=>{const e=t.key;const i=e==="Tab"&&t.shiftKey;const s=["ArrowLeft","ArrowRight","ArrowUp","ArrowDown"].includes(e);if(s)t.stopPropagation();if(i){t.stopPropagation();if(this.hasPopoverTop)return;this.optionList.setDefaultActiveElement()}};this.hasCustomDisplay=false;this.hasPopoverBottom=false;this.hasPopoverTop=false;this.inputFocused=false;this.open=false;this.prioritizeSearch=false;this.searchText="";this.showSelected=false;this.statusMessage=undefined;this.structuredSelectedOptions=[];this.ariaLabel=undefined;this.clearable=undefined;this.disabled=false;this.errors=undefined;this.hideLabel=undefined;this.hoist=!!((s=window.Tecton)===null||s===void 0?void 0:s.useActionSheets);this.invalid=undefined;this.label=undefined;this.listLabel=o("tecton.element.select.listLabel");this.minRows=3;this.multilineOptions=false;this.multiple=false;this.optional=false;this.placeholder=undefined;this.popDirection=undefined;this.popoverMode=null;this.readonly=false;this.searchable=false;this.selectedOptions=[];this.value=undefined}disconnectedCallback(){var t;(t=this.mutationObserver)===null||t===void 0?void 0:t.disconnect();this.mutationObserver=null}componentWillLoad(){l(this);this.buildStructuredSelectedOptions();this.handleMultilineOptionsUpdate(this.multilineOptions,false)}componentDidLoad(){const t=new MutationObserver(this.onMutationObserved);t.observe(this.hostElement,{childList:true,subtree:true});this.mutationObserver=t;this.onMutationObserved();n(this.hostElement);setTimeout((()=>this.checkSelectedDisplay()),0)}componentDidRender(){setTimeout((()=>{this.scheduledAfterRender.forEach((t=>t()));this.scheduledAfterRender=[]}),25)}onHostElementChange(t){if(this.readonly||this.disabled)return;if(t.target!==this.hostElement||this.hostElement.onchange)return;if(this.multiple){this.value=null;this.selectedOptions=t.detail.selectedOptions}else{this.value=t.detail.value;this.selectedOptions=[]}}onClearHandler(){this.clearValue()}handleSelectedDisplay(t){if(this.multiple)return;this.inputField.value=t.detail.display}delegateFocus(t){const e=r(t,this.hostElement);const i=this.prioritizeSearch=e&&this.searchable;if(i){this.clearSelectedDisplay()}else if(a(t,this.hostElement)){this.inputField.shadowRoot.querySelector(".input-field").focus()}}handleFocusout(t){const e=d(t,this.hostElement);if(e)this.closeDropdown();this.prioritizeSearch=!e&&this.searchable}onHostElementInput(t){if(!this.searchable||t.target!==this.hostElement||this.hostElement.oninput)return;const e=this.optionElements;const i=this.searchText.trim().toLocaleLowerCase();let s=0;e.forEach((t=>{var e;if(i===""){t.hidden=false;return}const o=((e=t.firstElementChild)===null||e===void 0?void 0:e.tagName)==="Q2-CARD"?t.firstElementChild.title:null;const{display:l="",innerText:n=""}=t;const r=[l,o,n];const a=r.some((t=>{var e;return(e=t===null||t===void 0?void 0:t.toLocaleLowerCase().includes(i))!==null&&e!==void 0?e:false}));t.hidden=!a;if(a)s++}));const l=i?"tecton.element.select.searchable.results":"tecton.element.select.allOptions";const n=i?s:e.length;this.setStatusMessage(o(l,[n]))}keydownHandler(t){this.inputKeydownHandler(t)}async closePopover(){if(!this.open||this.disabled)return;this._togglePopover()}async openPopover(){if(this.open||this.disabled)return;this._togglePopover()}searchOptions(t){if(!this.searchable)return;const{innerInputField:e}=this;e.focus();e.dispatchEvent(new FocusEvent("focus"));e.value=t;e.dispatchEvent(new InputEvent("input"))}async setValue(t,e={closePopover:true}){const i=new Set(Array.isArray(t)?t:[t]);if(!this.open){await this.openPopover();await c()}i.forEach((t=>{var e;(e=this.optionElements.find((e=>e.value===t)))===null||e===void 0?void 0:e.click()}));if(e.closePopover){await this.closePopover();await c()}}ariaLabelObserver(){l(this)}handleMultilineOptionsUpdate(t,e){if(t===e)return;this.optionElements.forEach((e=>e.multiline=t))}openChanged(t){this.scheduledAfterRender.push((async()=>{await c();const{popoverTopContainer:e,popoverElement:i}=this;const s=t&&(e===null||e===void 0?void 0:e.offsetHeight)||0;if(s){i.style.setProperty("--comp-popover-top-container-height",`${s}px`)}else{i.style.removeProperty("--comp-popover-top-container-height")}}))}buildStructuredSelectedOptions(){const{multiple:t,selectedOptions:e,value:i}=this;if(t){this.structuredSelectedOptions=!!(e===null||e===void 0?void 0:e.length)?e.map((t=>typeof t==="string"?{value:t}:t)):[]}else{this.structuredSelectedOptions=i?[{value:i}]:[]}}valueUpdated(){if(this.multiple)return;this.clearSearchText()}get badgeValue(){var t,e;if(!this.multiple)return null;const i=(e=(t=this.selectedOptions)===null||t===void 0?void 0:t.length)!==null&&e!==void 0?e:0;if(this.open&&this.searchable)return i?`${i}`:null;else return i>1?`+${i-1}`:null}get firstSelectedOptionElement(){const{firstSelectedValue:t}=this;return t?this.optionElements.find((({value:e})=>e===t)):null}get firstSelectedValue(){var t;return this.multiple?(t=this.selectedOptions)===null||t===void 0?void 0:t[0]:this.value}get innerInputContainer(){var t,e;return(e=(t=this.inputField)===null||t===void 0?void 0:t.shadowRoot)===null||e===void 0?void 0:e.querySelector(".input-container")}get innerInputField(){var t,e;return(e=(t=this.inputField)===null||t===void 0?void 0:t.shadowRoot)===null||e===void 0?void 0:e.querySelector(".input-field")}get optionElements(){return Array.from(this.hostElement.querySelectorAll("q2-option"))}get popoverMinHeight(){const{minRows:t}=this;const e=this.hostElement.querySelector("q2-option:not([hidden])");let i=e&&window.getComputedStyle(e).minHeight;if(!i||i==="0px")i="44px";return t*parseInt(i)}get selectedDisplay(){if(this.prioritizeSearch||this.searchText)return this.searchText;if(this.hasCustomDisplay)return"";return this.multiple?this.calculateMultiSelectSelectedDisplay():this.calculateSingleSelectSelectedDisplay()}get selectedDisplaySlot(){return this.hostElement.querySelector('[slot="_selected-display"]')}get wrapperClasses(){const{errors:t}=this;const e=["q2-select-container"];if(Array.isArray(t)&&t.length>0)e.push("has-error");if(this.inputFocused)e.push("is-focused");if(this.searchable)e.push("is-searchable");return e.join(" ")}_togglePopover(){const{innerInputField:t}=this;t===null||t===void 0?void 0:t.click();t===null||t===void 0?void 0:t.focus();t.dispatchEvent(new FocusEvent("focus"))}calculateMultiSelectSelectedDisplay(){var t,e,i;const{firstSelectedOptionElement:s,firstSelectedValue:l,multilineOptions:n}=this;if(!l)return"";if(s===null||s===void 0?void 0:s.display)return o(s.display);if(n&&this.searchable)return this.searchText;if(n)return"";return(i=(e=(t=s===null||s===void 0?void 0:s.textContent)===null||t===void 0?void 0:t.trim())!==null&&e!==void 0?e:s===null||s===void 0?void 0:s.value)!==null&&i!==void 0?i:l}calculateSingleSelectSelectedDisplay(){var t;const{firstSelectedOptionElement:e,multilineOptions:i}=this;if(i){return(e===null||e===void 0?void 0:e.display)&&o(e.display)||this.value||""}else{return(e===null||e===void 0?void 0:e.display)&&o(e.display)||((t=e===null||e===void 0?void 0:e.textContent)===null||t===void 0?void 0:t.trim())||this.value||""}}checkSelectedDisplay(){let t=this.selectedDisplaySlot;const{value:e,multiple:i,selectedOptions:s,multilineOptions:o,firstSelectedOptionElement:l,prioritizeSearch:n}=this;const r=!e&&i&&!(s===null||s===void 0?void 0:s.length);if(n||!o||r)return this.clearSelectedDisplay();if(!l||l.display)return this.clearSelectedDisplay();const a=l.firstElementChild.cloneNode(true);a.querySelectorAll("[hide-on-select]").forEach((t=>t.remove()));if(t){const e=t.clientHeight===0?"auto":`${t.clientHeight}px`;t.style.setProperty("--comp-selected-display-height",e);if(t.firstElementChild.outerHTML!==a.outerHTML){t.replaceChild(a,t.firstElementChild)}}else{t=document.createElement("div");t.slot="_selected-display";t.appendChild(a);this.hostElement.appendChild(t)}return t}checkSelectedDisplayHeight(){const{selectedDisplaySlot:t}=this;if(!t)return;t.style.setProperty("--comp-selected-display-height","44px")}checkSelectedOptions(){const{multiple:t,selectedOptions:e,value:i}=this;this.optionElements.forEach((s=>{if(t){s.selected=e.includes(s.value)}else{s.selected=s.value===i}}))}clearSearchText(){if(!this.searchText)return;this.searchText="";this.input.emit({query:""})}clearSelectedDisplay(){var t;(t=this.selectedDisplaySlot)===null||t===void 0?void 0:t.remove()}clearValue(){const{multiple:t}=this;this.value="";this.selectedOptions=[];this.change.emit({value:t?undefined:"",selectedOptions:t?[]:undefined})}closeDropdown(){this.open=false;this.clearSearchText()}async executeActionSheet(t){const e=await p(this,t);this.handleSelectionChanges(e)}focusInput(){var t;(t=this.inputField)===null||t===void 0?void 0:t.dispatchEvent(new FocusEvent("focus"))}handleSelectionChanges(t){const{value:e="",values:i=[]}=t;const s=i.map((t=>t.value));const{multiple:o}=this;if(!this.hostElement.onchange){this.selectedOptions=s}this.change.emit({value:o?undefined:e,selectedOptions:o?s:undefined})}openDropdownWithoutActiveElement(){if(this.readonly||this.disabled)return;this.optionList.setActiveElement(null);this.open=true}optionsDropdown(){return i("q2-popover",{ref:t=>this.popoverElement=t,controlElement:this.innerInputContainer,open:this.open,minHeight:this.popoverMinHeight,direction:this.popDirection,mode:this.popoverMode||undefined,block:true},i("div",{class:"popover-content"},i("q2-option-list",{onPopoverState:this.onPopoverState,ref:t=>this.optionList=t,type:"listbox",id:"option-list","show-selected":this.showSelected,label:this.listLabel,multiple:this.multiple,selectedOptions:this.structuredSelectedOptions,onChange:this.onOptionListChange},i("slot",null)),i("div",{class:"popover-top-container",ref:t=>this.popoverTopContainer=t,hidden:!this.multiple&&!this.hasPopoverTop,tabindex:"-1"},i("slot",{name:"popover-top"}),this.multiple&&this.visibilityToggle())),i("div",{class:"popover-bottom-container",hidden:!this.hasPopoverBottom,tabindex:"-1"},i("slot",{name:"popover-bottom"})))}setStatusMessage(t){clearTimeout(this.statusMessageTimer);this.statusMessage="";this.statusMessageTimer=setTimeout((()=>{this.statusMessage=t}),1e3)}shouldClearSearchText(t){return this.searchable&&!!this.searchText&&t.key==="Escape"}toggleDropdown(){if(this.readonly||this.disabled)return;if(this.open&&!this.searchText){this.closeDropdown()}else{this.openDropdownWithoutActiveElement()}}visibilityToggle(){var t,e;const s=(e=(t=this.selectedOptions)===null||t===void 0?void 0:t.length)!==null&&e!==void 0?e:0;const{showSelected:l}=this;return i("div",{class:"multi-select-header"},i("fieldset",null,i("legend",{"aria-label":o("tecton.element.select.multiHeader.showing")},o("tecton.element.select.multiHeader.showing")),i("div",null,i("input",{class:"sr",type:"radio",id:"all",name:"viewDisplay",value:"all",checked:!l,"aria-label":o("tecton.element.select.multiHeader.allAriaLabel"),"test-id":"allOptionsButton",onClick:this.showAllOptions,onKeyDown:this.visibilityToggleKeyDown}),i("label",{htmlFor:"all"},o("tecton.element.select.multiHeader.all"))),i("div",null,i("input",{class:"sr",type:"radio",id:"selected",disabled:s===0,name:"viewDisplay",value:"selected","aria-label":o("tecton.element.select.multiHeader.selectedAriaLabel",[s]),checked:l,"test-id":"selectedOptionsButton",onClick:this.showSelectedOptions,onKeyDown:this.visibilityToggleKeyDown}),i("label",{htmlFor:"selected"},o("tecton.element.select.multiHeader.selected",[s])))))}renderCustomDisplay(){const t=this.checkSelectedDisplay();if(!t)return;this.checkSelectedDisplayHeight();return i("slot",{name:"_selected-display",slot:"custom-display"})}render(){var t;return i("click-elsewhere",{key:"ee1f153325884056a488d4bdfda9b5ef501cf3be",class:this.wrapperClasses,onChange:this.clickedElsewhere},i("div",{key:"d60cf7a63ba2d5af7f67e2a811336255506ad422","aria-live":"polite","aria-atomic":"true",role:"status",class:"sr"},this.statusMessage),i("q2-input",{key:"2a6c022291b99e1561e090bc74c5014fd5628bc4",ref:t=>this.inputField=t,class:"q2-select-input",label:this.label&&o(this.label)||"",value:this.selectedDisplay,clearable:this.clearable&&(!!this.value||!!((t=this.selectedOptions)===null||t===void 0?void 0:t.length))||undefined,errors:Array.isArray(this.errors)&&this.errors.length>0&&this.errors.map((t=>o(t)))||this.invalid&&["tecton.element.select.invalid"]||[],disabled:this.disabled,optional:this.optional,readonly:!!this.readonly,placeholder:this.placeholder||undefined,hideLabel:this.hideLabel,ariaExpanded:`${this.open}`,ariaControls:"option-list",ariaHaspopup:"listbox","test-id":"toggleDropdown","hide-messages":true,iconRight:"chevron-down",onClick:this.inputClickHandler,onInput:this.inputInputHandler,onKeyDown:this.inputKeydownHandler,onFocus:this.inputFocusHandler,onBlur:this.inputBlurHandler,onChange:this.inputChangeHandler,badgeValue:this.badgeValue,badgeTheme:this.inputFocused?"primary":undefined,_role:"combobox",_preventEntry:!this.searchable},this.renderCustomDisplay()),i("div",{key:"a29711927968b10f9225994ed41367d8ad35c1a9",class:"custom-display-content",hidden:!this.hasCustomDisplay||!!this.searchText,onClick:this.onCustomDisplayClick},i("slot",{key:"3e63c82e5bb6a12638f6d5a8f6af8eb246b105a6",name:"q2-select-display"})),this.optionsDropdown())}get hostElement(){return s(this)}static get watchers(){return{ariaLabel:["ariaLabelObserver"],multilineOptions:["handleMultilineOptionsUpdate"],open:["openChanged"],value:["buildStructuredSelectedOptions","valueUpdated"],selectedOptions:["buildStructuredSelectedOptions"]}}};b.style=v;export{b as q2_select};
2
- //# sourceMappingURL=p-d2d3d95b.entry.js.map