q2-tecton-elements 1.71.4 → 1.73.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (415) hide show
  1. package/dist/bundle-report.json +32564 -26687
  2. package/dist/cjs/{charting-ClN1ldqv.js → charting-CdNTrVBe.js} +80 -0
  3. package/dist/cjs/click-elsewhere_3.cjs.entry.js +85 -20
  4. package/dist/cjs/{dataSample-BYR-wrOn.js → dataSample-B4blhlH4.js} +1 -1
  5. package/dist/cjs/date-picker-helpers-UYvPn98R.js +257 -0
  6. package/dist/cjs/{index-SpDCZABA.js → index-BqyWHpNu.js} +2 -2
  7. package/dist/cjs/loader.cjs.js +1 -1
  8. package/dist/cjs/{q2-action-group_2.cjs.entry.js → q2-action-group.cjs.entry.js} +1 -89
  9. package/dist/cjs/q2-action-sheet.cjs.entry.js +98 -18
  10. package/dist/cjs/q2-avatar.cjs.entry.js +1 -1
  11. package/dist/cjs/q2-badge_2.cjs.entry.js +113 -12
  12. package/dist/cjs/q2-btn_2.cjs.entry.js +2 -2
  13. package/dist/cjs/q2-calendar.cjs.entry.js +14 -7
  14. package/dist/cjs/q2-card-image.cjs.entry.js +4 -4
  15. package/dist/cjs/q2-card.cjs.entry.js +1 -1
  16. package/dist/cjs/q2-carousel-pane.cjs.entry.js +3 -3
  17. package/dist/cjs/q2-carousel.cjs.entry.js +20 -6
  18. package/dist/cjs/q2-chart-area.cjs.entry.js +38 -7
  19. package/dist/cjs/q2-chart-bar.cjs.entry.js +39 -8
  20. package/dist/cjs/q2-chart-donut.cjs.entry.js +31 -13
  21. package/dist/cjs/q2-checkbox-group.cjs.entry.js +3 -3
  22. package/dist/cjs/q2-checkbox_2.cjs.entry.js +9 -6
  23. package/dist/cjs/q2-context.cjs.entry.js +6 -5
  24. package/dist/cjs/q2-currency.cjs.entry.js +1 -1
  25. package/dist/cjs/q2-data-table.cjs.entry.js +7 -7
  26. package/dist/cjs/q2-date-calendar.cjs.entry.js +452 -0
  27. package/dist/cjs/q2-date-picker_2.cjs.entry.js +968 -0
  28. package/dist/cjs/q2-detail.cjs.entry.js +2 -2
  29. package/dist/cjs/q2-dropdown-item.cjs.entry.js +1 -1
  30. package/dist/cjs/q2-dropdown.cjs.entry.js +4 -4
  31. package/dist/cjs/q2-editable-field.cjs.entry.js +51 -37
  32. package/dist/cjs/q2-example.cjs.entry.js +1 -1
  33. package/dist/cjs/q2-file-picker.cjs.entry.js +60 -4
  34. package/dist/cjs/q2-form.cjs.entry.js +1 -1
  35. package/dist/cjs/q2-formatted-text.cjs.entry.js +1 -1
  36. package/dist/cjs/q2-icon.cjs.entry.js +1 -1
  37. package/dist/cjs/q2-item.cjs.entry.js +21 -3
  38. package/dist/cjs/q2-legend.cjs.entry.js +1 -1
  39. package/dist/cjs/q2-link_2.cjs.entry.js +2 -2
  40. package/dist/cjs/q2-loc.cjs.entry.js +1 -1
  41. package/dist/cjs/q2-message.cjs.entry.js +3 -3
  42. package/dist/cjs/q2-meter.cjs.entry.js +2 -2
  43. package/dist/cjs/q2-modal.cjs.entry.js +59 -17
  44. package/dist/cjs/q2-month-picker.cjs.entry.js +3 -3
  45. package/dist/cjs/q2-mutation-observer.cjs.entry.js +1 -1
  46. package/dist/cjs/q2-option.cjs.entry.js +1 -1
  47. package/dist/cjs/q2-otp.cjs.entry.js +5 -5
  48. package/dist/cjs/q2-pagination.cjs.entry.js +4 -4
  49. package/dist/cjs/q2-pill.cjs.entry.js +8 -5
  50. package/dist/cjs/q2-radio-group.cjs.entry.js +22 -4
  51. package/dist/cjs/q2-radio.cjs.entry.js +3 -3
  52. package/dist/cjs/q2-relative-time.cjs.entry.js +3 -3
  53. package/dist/cjs/q2-resize-observer.cjs.entry.js +92 -0
  54. package/dist/cjs/q2-search.cjs.entry.js +4 -4
  55. package/dist/cjs/q2-section.cjs.entry.js +7 -7
  56. package/dist/cjs/q2-select.cjs.entry.js +41 -21
  57. package/dist/cjs/q2-stepper-pane.cjs.entry.js +2 -2
  58. package/dist/cjs/q2-stepper-vertical.cjs.entry.js +2 -2
  59. package/dist/cjs/q2-stepper.cjs.entry.js +2 -2
  60. package/dist/cjs/q2-surface.cjs.entry.js +1 -1
  61. package/dist/cjs/q2-tab-container.cjs.entry.js +2 -2
  62. package/dist/cjs/q2-tab-pane.cjs.entry.js +1 -1
  63. package/dist/cjs/q2-tecton-elements.cjs.js +1 -1
  64. package/dist/cjs/q2-textarea.cjs.entry.js +2 -2
  65. package/dist/cjs/q2-toast.cjs.entry.js +1 -1
  66. package/dist/cjs/q2-tooltip.cjs.entry.js +1 -1
  67. package/dist/cjs/{sectorHelper-9TWL-3dw.js → sectorHelper-CxhDl5ql.js} +1 -1
  68. package/dist/cjs/tecton-tab-pane.cjs.entry.js +5 -3
  69. package/dist/collection/collection-manifest.json +2 -0
  70. package/dist/collection/components/q2-action-sheet/q2-action-sheet.css +52 -0
  71. package/dist/collection/components/q2-action-sheet/q2-action-sheet.js +98 -18
  72. package/dist/collection/components/q2-action-sheet/test/q2-action-sheet-test.vr.js +124 -0
  73. package/dist/collection/components/q2-avatar/q2-avatar.js +1 -1
  74. package/dist/collection/components/q2-btn/q2-btn.css +152 -146
  75. package/dist/collection/components/q2-btn/q2-btn.js +10 -4
  76. package/dist/collection/components/q2-btn/test/q2-btn-test.vr.js +229 -20
  77. package/dist/collection/components/q2-calendar/q2-calendar.css +3 -0
  78. package/dist/collection/components/q2-calendar/q2-calendar.js +20 -7
  79. package/dist/collection/components/q2-calendar/q2-month-picker.js +2 -2
  80. package/dist/collection/components/q2-calendar/test/q2-calendar-test.vr.js +26 -15
  81. package/dist/collection/components/q2-card/test/q2-card-test.vr.js +4 -0
  82. package/dist/collection/components/q2-card-image/q2-card-image.css +89 -134
  83. package/dist/collection/components/q2-card-image/q2-card-image.js +4 -4
  84. package/dist/collection/components/q2-card-image/test/q2-card-image-test.vr.js +4 -0
  85. package/dist/collection/components/q2-carousel/q2-carousel.js +19 -5
  86. package/dist/collection/components/q2-carousel/test/q2-carousel-test.vr.js +45 -0
  87. package/dist/collection/components/q2-carousel-pane/q2-carousel-pane.js +2 -2
  88. package/dist/collection/components/q2-chart-area/q2-chart-area.css +11 -0
  89. package/dist/collection/components/q2-chart-area/q2-chart-area.js +53 -7
  90. package/dist/collection/components/q2-chart-area/test/q2-chart-area-test.vr.js +14 -0
  91. package/dist/collection/components/q2-chart-bar/q2-chart-bar.css +11 -0
  92. package/dist/collection/components/q2-chart-bar/q2-chart-bar.js +50 -4
  93. package/dist/collection/components/q2-chart-bar/test/q2-chart-bar-test.vr.js +14 -0
  94. package/dist/collection/components/q2-chart-donut/q2-chart-donut.js +30 -10
  95. package/dist/collection/components/q2-chart-donut/test/q2-chart-donut-test.vr.js +25 -0
  96. package/dist/collection/components/q2-checkbox/q2-checkbox.css +2 -2
  97. package/dist/collection/components/q2-checkbox/q2-checkbox.js +6 -3
  98. package/dist/collection/components/q2-checkbox-group/q2-checkbox-group.css +2 -0
  99. package/dist/collection/components/q2-checkbox-group/q2-checkbox-group.js +6 -3
  100. package/dist/collection/components/q2-context/q2-context.css +5 -0
  101. package/dist/collection/components/q2-context/q2-context.js +4 -3
  102. package/dist/collection/components/q2-context/test/q2-context-test.vr.js +14 -4
  103. package/dist/collection/components/q2-currency/q2-currency.js +1 -1
  104. package/dist/collection/components/q2-data-table/q2-data-table.css +6 -0
  105. package/dist/collection/components/q2-data-table/q2-data-table.js +5 -5
  106. package/dist/collection/components/q2-data-table/test/q2-data-table-test.vr.js +52 -0
  107. package/dist/collection/components/q2-date-calendar/q2-date-calendar.css +393 -0
  108. package/dist/collection/components/q2-date-calendar/q2-date-calendar.js +1022 -0
  109. package/dist/collection/components/q2-date-calendar/test/q2-date-calendar-test.vr.js +111 -0
  110. package/dist/collection/components/q2-date-picker/q2-date-picker.css +138 -0
  111. package/dist/collection/components/q2-date-picker/q2-date-picker.js +2010 -0
  112. package/dist/collection/components/q2-date-picker/test/q2-date-picker-test.vr.js +179 -0
  113. package/dist/collection/components/q2-detail/q2-detail.js +1 -1
  114. package/dist/collection/components/q2-dropdown/q2-dropdown.css +2 -0
  115. package/dist/collection/components/q2-dropdown/q2-dropdown.js +5 -5
  116. package/dist/collection/components/q2-dropdown/test/q2-dropdown-test.vr.js +30 -0
  117. package/dist/collection/components/q2-editable-field/q2-editable-field.css +2 -0
  118. package/dist/collection/components/q2-editable-field/q2-editable-field.js +59 -45
  119. package/dist/collection/components/q2-example/q2-example.js +1 -1
  120. package/dist/collection/components/q2-file-picker/q2-file-picker.css +27 -0
  121. package/dist/collection/components/q2-file-picker/q2-file-picker.js +98 -2
  122. package/dist/collection/components/q2-file-picker/test/q2-file-picker-test.vr.js +22 -0
  123. package/dist/collection/components/q2-form/q2-form.js +1 -1
  124. package/dist/collection/components/q2-formatted-text/q2-formatted-text.js +1 -1
  125. package/dist/collection/components/q2-input/q2-input.css +67 -1
  126. package/dist/collection/components/q2-input/q2-input.js +160 -15
  127. package/dist/collection/components/q2-input/test/q2-input-test.vr.js +35 -0
  128. package/dist/collection/components/q2-item/q2-item.css +3 -1
  129. package/dist/collection/components/q2-item/q2-item.js +19 -1
  130. package/dist/collection/components/q2-item/test/q2-item-test.vr.js +8 -2
  131. package/dist/collection/components/q2-legend/q2-legend.js +1 -1
  132. package/dist/collection/components/q2-list/q2-list.js +1 -1
  133. package/dist/collection/components/q2-message/q2-message.css +5 -5
  134. package/dist/collection/components/q2-message/q2-message.js +1 -1
  135. package/dist/collection/components/q2-meter/q2-meter.js +1 -1
  136. package/dist/collection/components/q2-modal/q2-modal.css +40 -3
  137. package/dist/collection/components/q2-modal/q2-modal.js +100 -16
  138. package/dist/collection/components/q2-modal/test/q2-modal-test.vr.js +32 -7
  139. package/dist/collection/components/q2-mutation-observer/q2-mutation-observer.js +1 -1
  140. package/dist/collection/components/q2-optgroup/q2-optgroup.js +1 -1
  141. package/dist/collection/components/q2-option-list/q2-option-list.js +33 -4
  142. package/dist/collection/components/q2-otp/q2-otp.js +4 -4
  143. package/dist/collection/components/q2-pagination/q2-pagination.js +3 -3
  144. package/dist/collection/components/q2-pill/q2-pill.css +2 -2
  145. package/dist/collection/components/q2-pill/q2-pill.js +6 -3
  146. package/dist/collection/components/q2-popover/q2-popover.css +4 -2
  147. package/dist/collection/components/q2-popover/q2-popover.js +50 -14
  148. package/dist/collection/components/q2-radio/q2-radio.css +158 -104
  149. package/dist/collection/components/q2-radio/q2-radio.js +5 -2
  150. package/dist/collection/components/q2-radio/test/q2-radio-test.vr.js +25 -2
  151. package/dist/collection/components/q2-radio-group/q2-radio-group.css +39 -2
  152. package/dist/collection/components/q2-radio-group/q2-radio-group.js +73 -4
  153. package/dist/collection/components/q2-radio-group/test/q2-radio-group-test.vr.js +43 -1
  154. package/dist/collection/components/q2-relative-time/q2-relative-time.js +2 -2
  155. package/dist/collection/components/q2-resize-observer/q2-resize-observer.js +1 -1
  156. package/dist/collection/components/q2-search/q2-search.css +2 -0
  157. package/dist/collection/components/q2-search/q2-search.js +6 -3
  158. package/dist/collection/components/q2-section/q2-section.css +2 -0
  159. package/dist/collection/components/q2-section/q2-section.js +6 -6
  160. package/dist/collection/components/q2-select/q2-select.css +3 -0
  161. package/dist/collection/components/q2-select/q2-select.js +48 -22
  162. package/dist/collection/components/q2-select/test/q2-select-test.vr.js +13 -0
  163. package/dist/collection/components/q2-stepper/q2-stepper.js +1 -1
  164. package/dist/collection/components/q2-stepper-pane/q2-stepper-pane.js +1 -1
  165. package/dist/collection/components/q2-stepper-vertical/q2-stepper-vertical.js +1 -1
  166. package/dist/collection/components/q2-surface/q2-surface.js +1 -1
  167. package/dist/collection/components/q2-surface/test/q2-surface-test.vr.js +2 -2
  168. package/dist/collection/components/q2-tab-container/q2-tab-container.js +1 -1
  169. package/dist/collection/components/q2-tab-pane/q2-tab-pane.js +1 -1
  170. package/dist/collection/components/q2-tag/q2-tag.js +6 -3
  171. package/dist/collection/components/q2-textarea/q2-textarea.js +6 -3
  172. package/dist/collection/components/q2-tooltip/test/q2-tooltip-test.vr.js +1 -1
  173. package/dist/collection/components/tecton-tab-pane/tecton-tab-pane.js +5 -3
  174. package/dist/collection/utils/chart-keyboard.js +76 -0
  175. package/dist/collection/utils/date-picker/date-picker-helpers.js +239 -0
  176. package/dist/collection/utils/date-picker/date-picker-types.js +1 -0
  177. package/dist/collection/utils/index.js +2 -2
  178. package/dist/collection/utils/test/vr-helpers.js +16 -2
  179. package/dist/components/charting.js +1603 -1532
  180. package/dist/components/dataSample.js +7 -7
  181. package/dist/components/index.js +57 -53
  182. package/dist/components/index2.js +3 -3
  183. package/dist/components/q2-action-sheet.js +224 -103
  184. package/dist/components/q2-avatar2.js +8 -8
  185. package/dist/components/q2-btn2.js +2 -2
  186. package/dist/components/q2-calendar.js +15 -10
  187. package/dist/components/q2-card-image.js +24 -24
  188. package/dist/components/q2-carousel-pane2.js +3 -3
  189. package/dist/components/q2-carousel.js +37 -24
  190. package/dist/components/q2-chart-area.js +415 -369
  191. package/dist/components/q2-chart-bar.js +193 -148
  192. package/dist/components/q2-chart-donut.js +185 -158
  193. package/dist/components/q2-checkbox-group.js +12 -12
  194. package/dist/components/q2-checkbox2.js +12 -12
  195. package/dist/components/q2-context.js +30 -29
  196. package/dist/components/q2-currency.js +9 -9
  197. package/dist/components/q2-data-table.js +111 -111
  198. package/dist/components/q2-date-calendar.d.ts +11 -0
  199. package/dist/components/q2-date-calendar.js +5 -0
  200. package/dist/components/q2-date-calendar2.js +678 -0
  201. package/dist/components/q2-date-picker.d.ts +11 -0
  202. package/dist/components/q2-date-picker.js +5 -0
  203. package/dist/components/q2-date-picker2.js +875 -0
  204. package/dist/components/q2-detail.js +3 -3
  205. package/dist/components/q2-dropdown.js +13 -13
  206. package/dist/components/q2-editable-field.js +45 -36
  207. package/dist/components/q2-example.js +11 -11
  208. package/dist/components/q2-file-picker.js +71 -11
  209. package/dist/components/q2-form.js +6 -6
  210. package/dist/components/q2-formatted-text.js +2 -2
  211. package/dist/components/q2-input2.js +268 -163
  212. package/dist/components/q2-item2.js +33 -23
  213. package/dist/components/q2-legend2.js +7 -7
  214. package/dist/components/q2-list2.js +6 -6
  215. package/dist/components/q2-message2.js +29 -29
  216. package/dist/components/q2-meter.js +7 -7
  217. package/dist/components/q2-modal.js +94 -76
  218. package/dist/components/q2-month-picker.js +17 -17
  219. package/dist/components/q2-mutation-observer.js +1 -1
  220. package/dist/components/q2-optgroup2.js +7 -7
  221. package/dist/components/q2-option-list2.js +52 -32
  222. package/dist/components/q2-otp.js +8 -8
  223. package/dist/components/q2-pagination.js +67 -67
  224. package/dist/components/q2-pill.js +17 -15
  225. package/dist/components/q2-popover2.js +77 -53
  226. package/dist/components/q2-radio-group.js +70 -40
  227. package/dist/components/q2-radio.js +40 -55
  228. package/dist/components/q2-relative-time.js +5 -5
  229. package/dist/components/q2-resize-observer2.js +23 -23
  230. package/dist/components/q2-search.js +6 -6
  231. package/dist/components/q2-section.js +33 -33
  232. package/dist/components/q2-select2.js +47 -40
  233. package/dist/components/q2-stepper-pane.js +17 -13
  234. package/dist/components/q2-stepper-vertical.js +4 -4
  235. package/dist/components/q2-stepper.js +57 -57
  236. package/dist/components/q2-surface.js +3 -3
  237. package/dist/components/q2-tab-container.js +18 -18
  238. package/dist/components/q2-tab-pane.js +2 -2
  239. package/dist/components/q2-tag2.js +8 -6
  240. package/dist/components/q2-textarea.js +3 -3
  241. package/dist/components/sectorHelper.js +78 -78
  242. package/dist/components/tecton-tab-pane.js +12 -11
  243. package/dist/esm/{charting-DOZct-UB.js → charting-DFXJklqs.js} +79 -1
  244. package/dist/esm/click-elsewhere_3.entry.js +85 -20
  245. package/dist/esm/{dataSample-Dm1zpQNi.js → dataSample-CP_VKNqt.js} +1 -1
  246. package/dist/esm/date-picker-helpers-D8QnN_AS.js +242 -0
  247. package/dist/esm/{index-Cps4jSQM.js → index-CP8pXJ-l.js} +2 -2
  248. package/dist/esm/loader.js +1 -1
  249. package/dist/esm/{q2-action-group_2.entry.js → q2-action-group.entry.js} +3 -90
  250. package/dist/esm/q2-action-sheet.entry.js +99 -19
  251. package/dist/esm/q2-avatar.entry.js +1 -1
  252. package/dist/esm/q2-badge_2.entry.js +113 -12
  253. package/dist/esm/q2-btn_2.entry.js +2 -2
  254. package/dist/esm/q2-calendar.entry.js +14 -7
  255. package/dist/esm/q2-card-image.entry.js +4 -4
  256. package/dist/esm/q2-card.entry.js +1 -1
  257. package/dist/esm/q2-carousel-pane.entry.js +3 -3
  258. package/dist/esm/q2-carousel.entry.js +20 -6
  259. package/dist/esm/q2-chart-area.entry.js +38 -7
  260. package/dist/esm/q2-chart-bar.entry.js +39 -8
  261. package/dist/esm/q2-chart-donut.entry.js +31 -13
  262. package/dist/esm/q2-checkbox-group.entry.js +3 -3
  263. package/dist/esm/q2-checkbox_2.entry.js +9 -6
  264. package/dist/esm/q2-context.entry.js +6 -5
  265. package/dist/esm/q2-currency.entry.js +1 -1
  266. package/dist/esm/q2-data-table.entry.js +7 -7
  267. package/dist/esm/q2-date-calendar.entry.js +450 -0
  268. package/dist/esm/q2-date-picker_2.entry.js +965 -0
  269. package/dist/esm/q2-detail.entry.js +2 -2
  270. package/dist/esm/q2-dropdown-item.entry.js +1 -1
  271. package/dist/esm/q2-dropdown.entry.js +4 -4
  272. package/dist/esm/q2-editable-field.entry.js +51 -37
  273. package/dist/esm/q2-example.entry.js +1 -1
  274. package/dist/esm/q2-file-picker.entry.js +60 -4
  275. package/dist/esm/q2-form.entry.js +1 -1
  276. package/dist/esm/q2-formatted-text.entry.js +1 -1
  277. package/dist/esm/q2-icon.entry.js +1 -1
  278. package/dist/esm/q2-item.entry.js +21 -3
  279. package/dist/esm/q2-legend.entry.js +1 -1
  280. package/dist/esm/q2-link_2.entry.js +2 -2
  281. package/dist/esm/q2-loc.entry.js +1 -1
  282. package/dist/esm/q2-message.entry.js +3 -3
  283. package/dist/esm/q2-meter.entry.js +2 -2
  284. package/dist/esm/q2-modal.entry.js +59 -17
  285. package/dist/esm/q2-month-picker.entry.js +3 -3
  286. package/dist/esm/q2-mutation-observer.entry.js +1 -1
  287. package/dist/esm/q2-option.entry.js +1 -1
  288. package/dist/esm/q2-otp.entry.js +5 -5
  289. package/dist/esm/q2-pagination.entry.js +4 -4
  290. package/dist/esm/q2-pill.entry.js +8 -5
  291. package/dist/esm/q2-radio-group.entry.js +22 -4
  292. package/dist/esm/q2-radio.entry.js +3 -3
  293. package/dist/esm/q2-relative-time.entry.js +3 -3
  294. package/dist/esm/q2-resize-observer.entry.js +90 -0
  295. package/dist/esm/q2-search.entry.js +4 -4
  296. package/dist/esm/q2-section.entry.js +7 -7
  297. package/dist/esm/q2-select.entry.js +41 -21
  298. package/dist/esm/q2-stepper-pane.entry.js +2 -2
  299. package/dist/esm/q2-stepper-vertical.entry.js +2 -2
  300. package/dist/esm/q2-stepper.entry.js +2 -2
  301. package/dist/esm/q2-surface.entry.js +1 -1
  302. package/dist/esm/q2-tab-container.entry.js +2 -2
  303. package/dist/esm/q2-tab-pane.entry.js +1 -1
  304. package/dist/esm/q2-tecton-elements.js +1 -1
  305. package/dist/esm/q2-textarea.entry.js +2 -2
  306. package/dist/esm/q2-toast.entry.js +1 -1
  307. package/dist/esm/q2-tooltip.entry.js +1 -1
  308. package/dist/esm/{sectorHelper--RMGWGAy.js → sectorHelper-DBtkWtpl.js} +1 -1
  309. package/dist/esm/tecton-tab-pane.entry.js +5 -3
  310. package/dist/q2-tecton-elements/{charting-DOZct-UB.js → charting-DFXJklqs.js} +1625 -1554
  311. package/dist/q2-tecton-elements/click-elsewhere_3.entry.js +98 -54
  312. package/dist/q2-tecton-elements/{dataSample-Dm1zpQNi.js → dataSample-CP_VKNqt.js} +33 -33
  313. package/dist/q2-tecton-elements/date-picker-helpers-D8QnN_AS.js +153 -0
  314. package/dist/q2-tecton-elements/{index-Cps4jSQM.js → index-CP8pXJ-l.js} +2 -2
  315. package/dist/q2-tecton-elements/{q2-action-group_2.entry.js → q2-action-group.entry.js} +35 -113
  316. package/dist/q2-tecton-elements/q2-action-sheet.entry.js +169 -84
  317. package/dist/q2-tecton-elements/q2-avatar.entry.js +8 -8
  318. package/dist/q2-tecton-elements/q2-badge_2.entry.js +240 -140
  319. package/dist/q2-tecton-elements/q2-btn_2.entry.js +23 -23
  320. package/dist/q2-tecton-elements/q2-calendar.entry.js +18 -13
  321. package/dist/q2-tecton-elements/q2-card-image.entry.js +9 -9
  322. package/dist/q2-tecton-elements/q2-card.entry.js +1 -1
  323. package/dist/q2-tecton-elements/q2-carousel-pane.entry.js +4 -4
  324. package/dist/q2-tecton-elements/q2-carousel.entry.js +24 -11
  325. package/dist/q2-tecton-elements/q2-chart-area.entry.js +190 -144
  326. package/dist/q2-tecton-elements/q2-chart-bar.entry.js +382 -338
  327. package/dist/q2-tecton-elements/q2-chart-donut.entry.js +186 -160
  328. package/dist/q2-tecton-elements/q2-checkbox-group.entry.js +8 -8
  329. package/dist/q2-tecton-elements/q2-checkbox_2.entry.js +21 -19
  330. package/dist/q2-tecton-elements/q2-context.entry.js +18 -17
  331. package/dist/q2-tecton-elements/q2-currency.entry.js +9 -9
  332. package/dist/q2-tecton-elements/q2-data-table.entry.js +38 -38
  333. package/dist/q2-tecton-elements/q2-date-calendar.entry.js +438 -0
  334. package/dist/q2-tecton-elements/q2-date-picker_2.entry.js +792 -0
  335. package/dist/q2-tecton-elements/q2-detail.entry.js +4 -4
  336. package/dist/q2-tecton-elements/q2-dropdown-item.entry.js +1 -1
  337. package/dist/q2-tecton-elements/q2-dropdown.entry.js +10 -10
  338. package/dist/q2-tecton-elements/q2-editable-field.entry.js +50 -41
  339. package/dist/q2-tecton-elements/q2-example.entry.js +1 -1
  340. package/dist/q2-tecton-elements/q2-file-picker.entry.js +62 -7
  341. package/dist/q2-tecton-elements/q2-form.entry.js +2 -2
  342. package/dist/q2-tecton-elements/q2-formatted-text.entry.js +2 -2
  343. package/dist/q2-tecton-elements/q2-icon.entry.js +1 -1
  344. package/dist/q2-tecton-elements/q2-item.entry.js +27 -17
  345. package/dist/q2-tecton-elements/q2-legend.entry.js +2 -2
  346. package/dist/q2-tecton-elements/q2-link_2.entry.js +7 -7
  347. package/dist/q2-tecton-elements/q2-loc.entry.js +1 -1
  348. package/dist/q2-tecton-elements/q2-message.entry.js +30 -30
  349. package/dist/q2-tecton-elements/q2-meter.entry.js +8 -8
  350. package/dist/q2-tecton-elements/q2-modal.entry.js +61 -45
  351. package/dist/q2-tecton-elements/q2-month-picker.entry.js +14 -14
  352. package/dist/q2-tecton-elements/q2-mutation-observer.entry.js +1 -1
  353. package/dist/q2-tecton-elements/q2-option.entry.js +1 -1
  354. package/dist/q2-tecton-elements/q2-otp.entry.js +9 -9
  355. package/dist/q2-tecton-elements/q2-pagination.entry.js +20 -20
  356. package/dist/q2-tecton-elements/q2-pill.entry.js +43 -41
  357. package/dist/q2-tecton-elements/q2-radio-group.entry.js +55 -34
  358. package/dist/q2-tecton-elements/q2-radio.entry.js +38 -53
  359. package/dist/q2-tecton-elements/q2-relative-time.entry.js +11 -11
  360. package/dist/q2-tecton-elements/q2-resize-observer.entry.js +81 -0
  361. package/dist/q2-tecton-elements/q2-search.entry.js +7 -7
  362. package/dist/q2-tecton-elements/q2-section.entry.js +25 -25
  363. package/dist/q2-tecton-elements/q2-select.entry.js +28 -21
  364. package/dist/q2-tecton-elements/q2-stepper-pane.entry.js +19 -15
  365. package/dist/q2-tecton-elements/q2-stepper-vertical.entry.js +9 -9
  366. package/dist/q2-tecton-elements/q2-stepper.entry.js +45 -45
  367. package/dist/q2-tecton-elements/q2-surface.entry.js +3 -3
  368. package/dist/q2-tecton-elements/q2-tab-container.entry.js +15 -15
  369. package/dist/q2-tecton-elements/q2-tab-pane.entry.js +9 -9
  370. package/dist/q2-tecton-elements/q2-tecton-elements.esm.js +1 -1
  371. package/dist/q2-tecton-elements/q2-textarea.entry.js +3 -3
  372. package/dist/q2-tecton-elements/q2-toast.entry.js +1 -1
  373. package/dist/q2-tecton-elements/q2-tooltip.entry.js +1 -1
  374. package/dist/q2-tecton-elements/{sectorHelper--RMGWGAy.js → sectorHelper-DBtkWtpl.js} +56 -56
  375. package/dist/q2-tecton-elements/tecton-tab-pane.entry.js +8 -7
  376. package/dist/types/components/q2-action-sheet/q2-action-sheet.d.ts +21 -1
  377. package/dist/types/components/q2-action-sheet/test/q2-action-sheet-test.vr.d.ts +1 -0
  378. package/dist/types/components/q2-btn/q2-btn.d.ts +7 -3
  379. package/dist/types/components/q2-calendar/q2-calendar.d.ts +10 -2
  380. package/dist/types/components/q2-card-image/q2-card-image.d.ts +1 -1
  381. package/dist/types/components/q2-carousel/q2-carousel.d.ts +5 -0
  382. package/dist/types/components/q2-chart-area/q2-chart-area.d.ts +11 -2
  383. package/dist/types/components/q2-chart-bar/q2-chart-bar.d.ts +9 -0
  384. package/dist/types/components/q2-chart-donut/q2-chart-donut.d.ts +1 -0
  385. package/dist/types/components/q2-checkbox/q2-checkbox.d.ts +4 -3
  386. package/dist/types/components/q2-checkbox-group/q2-checkbox-group.d.ts +4 -2
  387. package/dist/types/components/q2-date-calendar/q2-date-calendar.d.ts +122 -0
  388. package/dist/types/components/q2-date-calendar/test/q2-date-calendar-test.vr.d.ts +1 -0
  389. package/dist/types/components/q2-date-picker/q2-date-picker.d.ts +304 -0
  390. package/dist/types/components/q2-date-picker/test/q2-date-picker-test.vr.d.ts +1 -0
  391. package/dist/types/components/q2-dropdown/q2-dropdown.d.ts +3 -3
  392. package/dist/types/components/q2-dropdown/test/q2-dropdown-test.vr.d.ts +1 -0
  393. package/dist/types/components/q2-editable-field/q2-editable-field.d.ts +20 -2
  394. package/dist/types/components/q2-file-picker/q2-file-picker.d.ts +20 -0
  395. package/dist/types/components/q2-input/q2-input.d.ts +32 -4
  396. package/dist/types/components/q2-item/q2-item.d.ts +3 -0
  397. package/dist/types/components/q2-modal/q2-modal.d.ts +10 -1
  398. package/dist/types/components/q2-option-list/q2-option-list.d.ts +1 -0
  399. package/dist/types/components/q2-popover/q2-popover.d.ts +4 -0
  400. package/dist/types/components/q2-radio/q2-radio.d.ts +3 -2
  401. package/dist/types/components/q2-radio-group/q2-radio-group.d.ts +18 -2
  402. package/dist/types/components/q2-search/q2-search.d.ts +3 -1
  403. package/dist/types/components/q2-select/q2-select.d.ts +12 -4
  404. package/dist/types/components/q2-textarea/q2-textarea.d.ts +4 -2
  405. package/dist/types/components.d.ts +1112 -195
  406. package/dist/types/global.d.ts +1 -0
  407. package/dist/types/index.d.ts +1 -0
  408. package/dist/types/utils/chart-keyboard.d.ts +16 -0
  409. package/dist/types/utils/date-picker/date-picker-helpers.d.ts +47 -0
  410. package/dist/types/utils/date-picker/date-picker-types.d.ts +42 -0
  411. package/dist/types/utils/test/vr-helpers.d.ts +2 -0
  412. package/package.json +3 -3
  413. package/dist/cjs/q2-optgroup.cjs.entry.js +0 -70
  414. package/dist/esm/q2-optgroup.entry.js +0 -68
  415. package/dist/q2-tecton-elements/q2-optgroup.entry.js +0 -88
@@ -1,7 +1,7 @@
1
1
  import { r as registerInstance, c as createEvent, g as getElement, h, H as Host } from './index-Cqkz7Bnm.js';
2
2
  import { m as mirrorEmit } from './mirror-emit-DUjY_ucm.js';
3
3
  import { b as hasValidAncestor } from './component-DaQM9u3s.js';
4
- import { l as loc, n as nextPaint, o as overrideFocus, i as isEventFromElement, w as waitForNextPaint, v as isVisible, q as handleDeprecationWarning, x as isInFixedPositionContext, y as isInScrollableContainer, g as isMobile } from './index-Cps4jSQM.js';
4
+ import { l as loc, n as nextPaint, o as overrideFocus, i as isEventFromElement, w as waitForNextPaint, v as isVisible, q as handleDeprecationWarning, x as isInFixedPositionContext, y as isInScrollableContainer, g as isMobile } from './index-CP8pXJ-l.js';
5
5
 
6
6
  const ClickElsewhere = class {
7
7
  constructor(hostRef) {
@@ -515,6 +515,26 @@ const Q2OptionList = class {
515
515
  option.role = optionRole;
516
516
  });
517
517
  }
518
+ findScrollableAncestor(node) {
519
+ var _a, _b;
520
+ let current = node;
521
+ while (current) {
522
+ if (current instanceof HTMLElement && current !== node) {
523
+ const overflowY = getComputedStyle(current).overflowY;
524
+ // Skip html/body so page-level scroll isn't treated as our container.
525
+ if ((overflowY === 'auto' || overflowY === 'scroll') &&
526
+ current !== document.documentElement &&
527
+ current !== document.body) {
528
+ return current;
529
+ }
530
+ }
531
+ const slot = current.assignedSlot;
532
+ const parent = current.parentNode;
533
+ const shadowHost = current.host;
534
+ current = (_b = (_a = slot !== null && slot !== void 0 ? slot : parent) !== null && _a !== void 0 ? _a : shadowHost) !== null && _b !== void 0 ? _b : null;
535
+ }
536
+ return null;
537
+ }
518
538
  focusSelectedSibling(option) {
519
539
  const { allVisibleOptions, allOptions } = this;
520
540
  const hasNoSiblings = allVisibleOptions.length < 2;
@@ -596,9 +616,18 @@ const Q2OptionList = class {
596
616
  const activeOption = this.allOptions[this.activeIndex];
597
617
  if (!activeOption)
598
618
  return;
599
- const { scrollX, scrollY } = window;
600
- activeOption.scrollIntoView({ block: 'center' });
601
- window.scrollTo(scrollX, scrollY);
619
+ // Do our own scroll math so `scrollIntoView` doesn't cascade to the parent window in an SDK iframe.
620
+ const container = this.findScrollableAncestor(activeOption);
621
+ if (container) {
622
+ if (container.scrollHeight > container.clientHeight) {
623
+ const optionRect = activeOption.getBoundingClientRect();
624
+ const containerRect = container.getBoundingClientRect();
625
+ const optionCenter = optionRect.top - containerRect.top + optionRect.height / 2;
626
+ container.scrollTop += optionCenter - containerRect.height / 2;
627
+ }
628
+ return;
629
+ }
630
+ activeOption.scrollIntoView({ block: 'nearest' });
602
631
  }
603
632
  searchOptions(key, shouldSelect) {
604
633
  this.searchString = key;
@@ -682,7 +711,7 @@ const Q2OptionList = class {
682
711
  // #endregion
683
712
  // #region Render Methods
684
713
  render() {
685
- return (h(Host, { key: '14f2a8ab97077ed7b93d746b75f89b98f416a55d' }, h("div", { key: '1184c5d8d4cf8af63a60bef1282d6442b8539cf6', class: "content", ref: el => (this.contentElement = el), onFocusout: this.focusoutHandler }, h("div", { key: '5dcb6a82f1759e46d5e742e72075bf3dfa3c6d70', class: "options", "aria-label": loc('tecton.element.optionList.label', [this.label]), "aria-multiselectable": this.type === 'menu' ? undefined : this.multiple ? 'true' : undefined, role: this.type || 'listbox', onKeyDown: this.internalKeydownHandler, onClick: this.clickHandler }, h("slot", { key: '39372ab91b081ba124ff4c4dc04fc0c84be7a4ad' })))));
714
+ return (h(Host, { key: '19cadb5668db33a912951df4ec0e81a74b2b78ce' }, h("div", { key: '1d5a8f310ee97bc2189b839ee3d87e08bf0fa269', class: "content", ref: el => (this.contentElement = el), onFocusout: this.focusoutHandler }, h("div", { key: '24b1616962a9b544fb6215acc1e6edb4f12a5a03', class: "options", "aria-label": loc('tecton.element.optionList.label', [this.label]), "aria-multiselectable": this.type === 'menu' ? undefined : this.multiple ? 'true' : undefined, role: this.type || 'listbox', onKeyDown: this.internalKeydownHandler, onClick: this.clickHandler }, h("slot", { key: 'eeb0342b7c319f5f5af95daa54dcaa732c3159d9' })))));
686
715
  }
687
716
  get hostElement() { return getElement(this); }
688
717
  static get watchers() { return {
@@ -696,7 +725,7 @@ const Q2OptionList = class {
696
725
  };
697
726
  Q2OptionList.style = q2OptionListCss();
698
727
 
699
- const q2PopoverCss = () => `*{box-sizing:border-box}*:active{outline:none}*:focus-visible{outline:none;box-shadow:var(--const-double-focus-ring, 0 0 0 2px #ffffff, 0 0 0 4px #0066cc)}:host{box-shadow:none !important}::-moz-focus-inner{border:none}input,textarea,button{font-family:inherit;font-size:inherit;font-stretch:inherit}:host(.sr),:host(.sr) button{border:0;clip:rect(0 0 0 0);height:1px;margin:-1px;overflow:hidden;padding:0;position:absolute;width:1px;white-space:nowrap}.sr,.sr button{border:0;clip:rect(0 0 0 0);height:1px;margin:-1px;overflow:hidden;padding:0;position:absolute;width:1px;white-space:nowrap}.hidden{display:none}:host([hidden]){display:none}.invisible{visibility:hidden}@container style(--t-prefers-motion: "reduced"){*,*::before,*::after{animation-duration:0.01ms !important;transition-duration:0.01ms !important;animation-delay:0ms !important;transition-delay:0ms !important}}@container (not style(--t-prefers-motion: "normal")) and (not style(--t-prefers-motion: "reduced")){@media (prefers-reduced-motion: reduce){*,*::before,*::after{animation-duration:0.01ms !important;transition-duration:0.01ms !important;animation-delay:0ms !important;transition-delay:0ms !important}}}.legacy.container{display:none}.legacy.show{display:block;z-index:var(--tct-popover-z-index, 50)}@keyframes popoverOpen{from{opacity:0;transform:scale(0.95)}to{opacity:1;transform:scale(1)}}@keyframes popoverClose{from{opacity:1;transform:scale(1)}to{opacity:0;transform:scale(0.95)}}:popover-open,.show{position:var(--comp-pop-position, absolute);margin:0;padding:var(--tct-popover-padding, 0);overflow:auto;background:var(--tct-popover-background, var(--app-white, #ffffff));backdrop-filter:var(--tct-popover-backdrop-filter, none);color:var(--tct-popover-font-color, inherit);min-width:var(--tct-popover-min-width, 135px);width:var(--tct-popover-width, auto);margin-block:var(--tct-popover-margin-block, 0);box-shadow:var(--tct-popover-box-shadow, var(--app-shadow-3, 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}:popover-open.animating-open,.show.animating-open{animation-name:popoverOpen;animation-duration:var(--tct-popover-open-animation-duration, var(--t-tween-time-in-1, 150ms));animation-timing-function:var(--tct-popover-open-animation-timing-function, ease-out);animation-fill-mode:var(--tct-popover-open-animation-fill-mode, forwards)}:popover-open.animating-close,.show.animating-close{animation-name:popoverClose;animation-duration:var(--tct-popover-close-animation-duration, var(--t-tween-time-out-1, 100ms));animation-timing-function:var(--tct-popover-close-animation-timing-function, ease-in);animation-fill-mode:var(--tct-popover-close-animation-fill-mode, forwards)}:popover-open.block,.show.block{right:unset;width:var(--comp-pop-width);min-width:var(--tct-popover-min-width, unset)}:popover-open.left,.show.left{left:var(--comp-pop-left);right:unset}:popover-open.right,.show.right{right:var(--comp-pop-right);left:unset}:popover-open.down,.show.down{top:var(--tct-popover-top, var(--comp-pop-top));bottom:unset}:popover-open.up,.show.up{top:unset;bottom:var(--comp-pop-bottom)}:popover-open.down.left:not(.mobile),.show.down.left:not(.mobile){transform-origin:top left}:popover-open.down.right:not(.mobile),.show.down.right:not(.mobile){transform-origin:top right}:popover-open.up.left:not(.mobile),.show.up.left:not(.mobile){transform-origin:bottom left}:popover-open.up.right:not(.mobile),.show.up.right:not(.mobile){transform-origin:bottom right}:popover-open.mobile.down,.show.mobile.down{transform-origin:center top}:popover-open.mobile.up,.show.mobile.up{transform-origin:center bottom}:popover-open::-webkit-scrollbar,.show::-webkit-scrollbar{width:var(--comp-scrollbar-size);height:var(--comp-scrollbar-size);margin:5px}:popover-open::-webkit-scrollbar-thumb,.show::-webkit-scrollbar-thumb{background:var(--comp-scrollbar-color);border-radius:var(--comp-scrollbar-border-radius)}:popover-open::-webkit-scrollbar-track,.show::-webkit-scrollbar-track{background:transparent;border-radius:var(--comp-scrollbar-border-radius)}click-elsewhere{position:relative;display:block}`;
728
+ const q2PopoverCss = () => `*{box-sizing:border-box}*:active{outline:none}*:focus-visible{outline:none;box-shadow:var(--const-double-focus-ring, 0 0 0 2px #ffffff, 0 0 0 4px #0066cc)}:host{box-shadow:none !important}::-moz-focus-inner{border:none}input,textarea,button{font-family:inherit;font-size:inherit;font-stretch:inherit}:host(.sr),:host(.sr) button{border:0;clip:rect(0 0 0 0);height:1px;margin:-1px;overflow:hidden;padding:0;position:absolute;width:1px;white-space:nowrap}.sr,.sr button{border:0;clip:rect(0 0 0 0);height:1px;margin:-1px;overflow:hidden;padding:0;position:absolute;width:1px;white-space:nowrap}.hidden{display:none}:host([hidden]){display:none}.invisible{visibility:hidden}@container style(--t-prefers-motion: "reduced"){*,*::before,*::after{animation-duration:0.01ms !important;transition-duration:0.01ms !important;animation-delay:0ms !important;transition-delay:0ms !important}}@container (not style(--t-prefers-motion: "normal")) and (not style(--t-prefers-motion: "reduced")){@media (prefers-reduced-motion: reduce){*,*::before,*::after{animation-duration:0.01ms !important;transition-duration:0.01ms !important;animation-delay:0ms !important;transition-delay:0ms !important}}}.legacy.container{display:none}.legacy.show{display:block;z-index:var(--tct-popover-z-index, 50)}@keyframes popoverOpen{from{opacity:0;transform:scale(0.95)}to{opacity:1;transform:scale(1)}}@keyframes popoverClose{from{opacity:1;transform:scale(1)}to{opacity:0;transform:scale(0.95)}}:popover-open,.show{position:var(--comp-pop-position, absolute);margin:0;padding:var(--tct-popover-padding, 0);overflow:auto;overscroll-behavior:contain;background:var(--tct-popover-background, var(--app-white, #ffffff));backdrop-filter:var(--tct-popover-backdrop-filter, none);color:var(--tct-popover-font-color, inherit);min-width:var(--tct-popover-min-width, 135px);width:var(--tct-popover-width, auto);margin-block:var(--tct-popover-margin-block, 0);box-shadow:var(--tct-popover-box-shadow, var(--app-shadow-3, 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}:popover-open.animating-open,.show.animating-open{animation-name:popoverOpen;animation-duration:var(--tct-popover-open-animation-duration, var(--t-tween-time-in-1, 150ms));animation-timing-function:var(--tct-popover-open-animation-timing-function, ease-out);animation-fill-mode:var(--tct-popover-open-animation-fill-mode, forwards)}:popover-open.animating-close,.show.animating-close{animation-name:popoverClose;animation-duration:var(--tct-popover-close-animation-duration, var(--t-tween-time-out-1, 100ms));animation-timing-function:var(--tct-popover-close-animation-timing-function, ease-in);animation-fill-mode:var(--tct-popover-close-animation-fill-mode, forwards)}:popover-open.block,.show.block{right:unset;width:var(--comp-pop-width);min-width:var(--tct-popover-min-width, unset)}:popover-open.left,.show.left{left:var(--comp-pop-left);right:unset}:popover-open.right,.show.right{right:var(--comp-pop-right);left:unset}:popover-open.down,.show.down{top:var(--tct-popover-top, var(--comp-pop-top));bottom:unset}:popover-open.up,.show.up{top:var(--comp-pop-top);bottom:unset;translate:0 calc(-100% - var(--app-scale-2x, 10px))}:popover-open.down.left:not(.mobile),.show.down.left:not(.mobile){transform-origin:top left}:popover-open.down.right:not(.mobile),.show.down.right:not(.mobile){transform-origin:top right}:popover-open.up.left:not(.mobile),.show.up.left:not(.mobile){transform-origin:bottom left}:popover-open.up.right:not(.mobile),.show.up.right:not(.mobile){transform-origin:bottom right}:popover-open.mobile.down,.show.mobile.down{transform-origin:center top}:popover-open.mobile.up,.show.mobile.up{transform-origin:center bottom}:popover-open::-webkit-scrollbar,.show::-webkit-scrollbar{width:var(--comp-scrollbar-size);height:var(--comp-scrollbar-size);margin:5px}:popover-open::-webkit-scrollbar-thumb,.show::-webkit-scrollbar-thumb{background:var(--comp-scrollbar-color);border-radius:var(--comp-scrollbar-border-radius)}:popover-open::-webkit-scrollbar-track,.show::-webkit-scrollbar-track{background:transparent;border-radius:var(--comp-scrollbar-border-radius)}click-elsewhere{position:relative;display:block}`;
700
729
 
701
730
  const Q2Popover = class {
702
731
  constructor(hostRef) {
@@ -709,6 +738,7 @@ const Q2Popover = class {
709
738
  this.displayBuffer = 10;
710
739
  this.orientationChanged = false;
711
740
  this.pendingAnimationResolve = null;
741
+ this.platformScrollUnsubscribe = null;
712
742
  // #endregion
713
743
  // #region State Properties
714
744
  this.animationState = 'idle';
@@ -720,11 +750,30 @@ const Q2Popover = class {
720
750
  /** Aligns the popover to the left or right side of the control element. */
721
751
  this.align = 'left';
722
752
  this.mode = null;
753
+ this.handleInsideScroll = (event) => {
754
+ const { containerElement } = this;
755
+ if (!containerElement)
756
+ return;
757
+ if (containerElement.scrollHeight > containerElement.clientHeight)
758
+ return;
759
+ event.preventDefault();
760
+ };
723
761
  this.handleMinHeight = () => {
724
762
  if (this.minHeight) {
725
763
  handleDeprecationWarning(this, 'minHeight', 'prop');
726
764
  }
727
765
  };
766
+ this.handleOutsideScroll = (event) => {
767
+ if (!this.open)
768
+ return;
769
+ if (event.composedPath().includes(this.hostElement))
770
+ return;
771
+ this.open = false;
772
+ };
773
+ this.handlePlatformScroll = () => {
774
+ if (this.open)
775
+ this.open = false;
776
+ };
728
777
  this.handlePopoverToggleEvent = (event) => {
729
778
  mirrorEmit(this, ['popoverStateChanged', 'tctPopoverStateChanged'], { open: event.newState === 'open' });
730
779
  };
@@ -785,10 +834,10 @@ const Q2Popover = class {
785
834
  const isScrollableIframe = isModule && isInScrollableContainer(this.hostElement);
786
835
  if (currentDirection === 'up') {
787
836
  if (isModule && !isScrollableIframe) {
788
- containerElement.style.setProperty('--comp-pop-bottom', `${window.innerHeight - controlTop}px`);
837
+ containerElement.style.setProperty('--comp-pop-top', `${controlTop}px`);
789
838
  }
790
839
  else {
791
- containerElement.style.setProperty('--comp-pop-bottom', `${window.innerHeight - controlTop - scrollY}px`);
840
+ containerElement.style.setProperty('--comp-pop-top', `${controlTop + scrollY}px`);
792
841
  }
793
842
  }
794
843
  if (currentDirection === 'down') {
@@ -839,8 +888,10 @@ const Q2Popover = class {
839
888
  this.handleMinHeight();
840
889
  if (this.supportsPopoverAPI)
841
890
  (_a = this.containerElement) === null || _a === void 0 ? void 0 : _a.addEventListener('toggle', this.handlePopoverToggleEvent);
842
- if (this.open)
891
+ if (this.open) {
892
+ this.addViewportListeners();
843
893
  this.determinePopDirection();
894
+ }
844
895
  }
845
896
  // #endregion
846
897
  // #region Listeners
@@ -933,14 +984,22 @@ const Q2Popover = class {
933
984
  return isNaN(maxHeight) ? undefined : maxHeight;
934
985
  }
935
986
  addViewportListeners() {
936
- var _a;
987
+ var _a, _b, _c, _d, _e, _f, _g, _h, _j, _k, _l;
937
988
  window.addEventListener('resize', this.viewPortOrientationChanged);
938
- visualViewport === null || visualViewport === void 0 ? void 0 : visualViewport.addEventListener('resize', this.viewPortChanged);
989
+ (_b = (_a = window.visualViewport) === null || _a === void 0 ? void 0 : _a.addEventListener) === null || _b === void 0 ? void 0 : _b.call(_a, 'resize', this.viewPortChanged);
939
990
  if (isInScrollableContainer(this.hostElement) && !isMobile()) {
940
991
  window.addEventListener('scroll', this.viewPortChanged, { passive: true, capture: true });
941
992
  }
942
- (_a = screen === null || screen === void 0 ? void 0 : screen.orientation) === null || _a === void 0 ? void 0 : _a.addEventListener('orientationchange', this.viewPortOrientationChanged);
993
+ (_e = (_d = (_c = window.screen) === null || _c === void 0 ? void 0 : _c.orientation) === null || _d === void 0 ? void 0 : _d.addEventListener) === null || _e === void 0 ? void 0 : _e.call(_d, 'orientationchange', this.viewPortOrientationChanged);
943
994
  window.addEventListener('orientationchange', this.viewPortOrientationChanged);
995
+ if (!isMobile()) {
996
+ window.addEventListener('scroll', this.handleOutsideScroll, { passive: true, capture: true });
997
+ }
998
+ (_f = this.containerElement) === null || _f === void 0 ? void 0 : _f.addEventListener('wheel', this.handleInsideScroll, { passive: false });
999
+ (_g = this.containerElement) === null || _g === void 0 ? void 0 : _g.addEventListener('touchmove', this.handleInsideScroll, { passive: false });
1000
+ (_h = this.platformScrollUnsubscribe) === null || _h === void 0 ? void 0 : _h.call(this);
1001
+ this.platformScrollUnsubscribe =
1002
+ (_l = (_k = (_j = window.TectonElements) === null || _j === void 0 ? void 0 : _j.platformScrollChanged) === null || _k === void 0 ? void 0 : _k.call(_j, this.handlePlatformScroll)) !== null && _l !== void 0 ? _l : null;
944
1003
  }
945
1004
  clearCSSProperties() {
946
1005
  if (!this.containerElement)
@@ -955,7 +1014,7 @@ const Q2Popover = class {
955
1014
  this.containerElement.style.removeProperty('--comp-pop-position');
956
1015
  }
957
1016
  async determinePopDirection() {
958
- var _a, _b, _c;
1017
+ var _a, _b, _c, _d;
959
1018
  const { containerElement, controlElement, providedDirection, displayBuffer } = this;
960
1019
  if (containerElement)
961
1020
  containerElement.style.maxHeight = null;
@@ -988,9 +1047,10 @@ const Q2Popover = class {
988
1047
  : viewableSpaceBelow - displayBuffer;
989
1048
  }
990
1049
  else {
991
- windowHeight = window.innerHeight;
992
- maxSpaceAbove = controlTop - displayBuffer;
993
- maxSpaceBelow = windowHeight - controlBottom - displayBuffer;
1050
+ const { height = window.innerHeight, offsetTop = 0 } = (_d = window.visualViewport) !== null && _d !== void 0 ? _d : {};
1051
+ windowHeight = height;
1052
+ maxSpaceAbove = controlTop - offsetTop - displayBuffer;
1053
+ maxSpaceBelow = offsetTop + windowHeight - controlBottom - displayBuffer;
994
1054
  }
995
1055
  const directionWithMostSpace = maxSpaceAbove > maxSpaceBelow ? 'up' : 'down';
996
1056
  // We do not want to update the max height once the popover is open unless the page orientation shifts (resize or mobile use cases)
@@ -1018,12 +1078,17 @@ const Q2Popover = class {
1018
1078
  }
1019
1079
  }
1020
1080
  removeViewportListeners() {
1021
- var _a;
1081
+ var _a, _b, _c, _d, _e, _f, _g, _h;
1022
1082
  window.removeEventListener('resize', this.viewPortOrientationChanged);
1023
- visualViewport === null || visualViewport === void 0 ? void 0 : visualViewport.removeEventListener('resize', this.viewPortChanged);
1083
+ (_b = (_a = window.visualViewport) === null || _a === void 0 ? void 0 : _a.removeEventListener) === null || _b === void 0 ? void 0 : _b.call(_a, 'resize', this.viewPortChanged);
1024
1084
  window.removeEventListener('scroll', this.viewPortChanged, { capture: true });
1025
- (_a = screen === null || screen === void 0 ? void 0 : screen.orientation) === null || _a === void 0 ? void 0 : _a.removeEventListener('orientationchange', this.viewPortOrientationChanged);
1085
+ (_e = (_d = (_c = window.screen) === null || _c === void 0 ? void 0 : _c.orientation) === null || _d === void 0 ? void 0 : _d.removeEventListener) === null || _e === void 0 ? void 0 : _e.call(_d, 'orientationchange', this.viewPortOrientationChanged);
1026
1086
  window.removeEventListener('orientationchange', this.viewPortOrientationChanged);
1087
+ window.removeEventListener('scroll', this.handleOutsideScroll, { capture: true });
1088
+ (_f = this.containerElement) === null || _f === void 0 ? void 0 : _f.removeEventListener('wheel', this.handleInsideScroll);
1089
+ (_g = this.containerElement) === null || _g === void 0 ? void 0 : _g.removeEventListener('touchmove', this.handleInsideScroll);
1090
+ (_h = this.platformScrollUnsubscribe) === null || _h === void 0 ? void 0 : _h.call(this);
1091
+ this.platformScrollUnsubscribe = null;
1027
1092
  }
1028
1093
  setDirectionAndShow(direction) {
1029
1094
  var _a;
@@ -1058,7 +1123,7 @@ const Q2Popover = class {
1058
1123
  containerClasses.push('animating-open');
1059
1124
  if (this.animationState === 'closing')
1060
1125
  containerClasses.push('animating-close');
1061
- return (h("div", { key: '4fe0c06793144eb83fe53cfc568af81226f78345', ref: el => (this.containerElement = el), class: containerClasses.join(' '), "test-id": "outerContainer", tabIndex: -1, popover: "manual" }, h("div", { key: 'ed5d7c9f5efba8b129d580e68ab6692849332cf4', ref: el => (this.contentElement = el), class: "content" }, h("slot", { key: '4c5d5b9682014b2e94b153ca33a3e0c4dd58d6bb' }))));
1126
+ return (h("div", { key: 'f608766723c6ae6737181318b5baf8b52ed7fc0f', ref: el => (this.containerElement = el), class: containerClasses.join(' '), "test-id": "outerContainer", tabIndex: -1, popover: "manual" }, h("div", { key: '477f1a209cf4abc984a82324d0c6fc07ede82160', ref: el => (this.contentElement = el), class: "content" }, h("slot", { key: '5b48ff13907b952a2cdcffc1b6e271e4982c78ad' }))));
1062
1127
  }
1063
1128
  get hostElement() { return getElement(this); }
1064
1129
  static get watchers() { return {
@@ -1,4 +1,4 @@
1
- import { v as each, aH as SINGLE_REFERRING, aD as createHashMap, g as isFunction, a1 as curry, aI as makeSeriesEncodeForAxisCoordSys, aJ as prepareSeriesDataSchema, aK as enableDataStack, aL as SeriesData, aM as CoordinateSystemManager, F as map, aN as getDimensionTypeByAxis, aO as SOURCE_FORMAT_ORIGINAL, E as isArray, aP as getDataItemValue, o as filter, aQ as makeLabelFormatter, aR as getBoundingRect, m as makeInner, aS as getOptionCategoryInterval, aT as shouldShowAllLabels, aU as getPixelPrecision, aV as linearMap, aW as round, _ as __extends, aX as ComponentModel, aY as mixin, d as defaults, aZ as merge, a_ as getLayoutParams, a$ as mergeLayoutParam, b0 as fetchLayoutMode, b1 as OrdinalMeta, i as invert, B as BoundingRect, b2 as applyTransform, b3 as IntervalScale, b4 as getScaleExtent, b5 as increaseInterval, b6 as getLayoutRect, b7 as estimateLabelUnionRect, ai as isObject, z as indexOf, b8 as createScaleByModel, b9 as isCartesian2DSeries, ba as findAxisModels, bb as getDataDimensionsOnAxis, k as keys, bc as isIntervalOrLogScale, bd as niceScaleExtent, be as ifAxisCrossZero, U as Rect, O as Group, bf as layout, bg as AxisBuilder, V as extend, bh as groupTransition, bi as AxisView, bj as Line, bk as subPixelOptimizeLine, bl as ComponentView, a4 as use, bm as install$3, r as retrieve2, ar as ZRText, bn as createTextStyle, bo as windowOpen, h as getECData, bp as retrieveRawValue, R as Sector, y as initProps, bq as isString } from './charting-DOZct-UB.js';
1
+ import { v as each, aJ as SINGLE_REFERRING, aF as createHashMap, g as isFunction, a1 as curry, aK as makeSeriesEncodeForAxisCoordSys, aL as prepareSeriesDataSchema, aM as enableDataStack, aN as SeriesData, aO as CoordinateSystemManager, F as map, aP as getDimensionTypeByAxis, aQ as SOURCE_FORMAT_ORIGINAL, E as isArray, aR as getDataItemValue, o as filter, aS as makeLabelFormatter, aT as getBoundingRect, m as makeInner, aU as getOptionCategoryInterval, aV as shouldShowAllLabels, aW as getPixelPrecision, aX as linearMap, aY as round, _ as __extends, aZ as ComponentModel, a_ as mixin, d as defaults, a$ as merge, b0 as getLayoutParams, b1 as mergeLayoutParam, b2 as fetchLayoutMode, b3 as OrdinalMeta, i as invert, B as BoundingRect, b4 as applyTransform, b5 as IntervalScale, b6 as getScaleExtent, b7 as increaseInterval, b8 as getLayoutRect, b9 as estimateLabelUnionRect, ak as isObject, z as indexOf, ba as createScaleByModel, bb as isCartesian2DSeries, bc as findAxisModels, bd as getDataDimensionsOnAxis, k as keys, be as isIntervalOrLogScale, bf as niceScaleExtent, bg as ifAxisCrossZero, U as Rect, O as Group, bh as layout, bi as AxisBuilder, V as extend, bj as groupTransition, bk as AxisView, bl as Line, bm as subPixelOptimizeLine, bn as ComponentView, a4 as use, bo as install$3, r as retrieve2, at as ZRText, bp as createTextStyle, bq as windowOpen, h as getECData, br as retrieveRawValue, R as Sector, y as initProps, bs as isString } from './charting-DFXJklqs.js';
2
2
 
3
3
  /**
4
4
  * @class
@@ -0,0 +1,242 @@
1
+ import { d as dateFnsExports } from './index-O1A-ZSZs.js';
2
+ import { l as loc } from './index-CP8pXJ-l.js';
3
+
4
+ const defaultDisplayFormat = 'MM/DD/YYYY';
5
+ const supportedDisplayFormats = [
6
+ defaultDisplayFormat,
7
+ 'DD/MM/YYYY',
8
+ 'MM-DD-YYYY',
9
+ 'DD-MM-YYYY',
10
+ 'YYYY-MM-DD',
11
+ ];
12
+ const defaultDatePickerStringKeys = {
13
+ 'Choose a date': 'tecton.element.datePicker.calendarLabel',
14
+ 'Dates are shown in your local time zone.': 'tecton.element.datePicker.disclaimer.localTimeZone',
15
+ };
16
+ const isoDatePattern = /^\d{4}-\d{2}-\d{2}$/;
17
+ const isoLikeDatePattern = /^(\d{4})-(\d{1,2})-(\d{1,2})(?:T.*)?$/;
18
+ const slashDatePattern = /^(\d{1,2})\/(\d{1,2})\/(\d{2}|\d{4})$/;
19
+ /** Determines a year for a month and day when typeable input omits the year. */
20
+ function buildInputDate(input, assume) {
21
+ const [month, day, year] = input.split('/');
22
+ if (!month)
23
+ return;
24
+ if (!day)
25
+ return new Date(new Date().getFullYear(), Number(month) - 1, 1);
26
+ if (Number(day) <= 0)
27
+ return;
28
+ const selectedYear = (year === null || year === void 0 ? void 0 : year.length) === 4 ? Number(year) : Number(assumeYear(month, day, assume));
29
+ const date = new Date(selectedYear, Number(month) - 1, Number(day));
30
+ return dateFnsExports.isValid(date) ? date : undefined;
31
+ }
32
+ /** Formats a valid date as an ISO calendar date. */
33
+ function formatDateISO(value) {
34
+ if (!dateFnsExports.isValid(value))
35
+ return;
36
+ return dateFnsExports.formatISO(value, { representation: 'date' });
37
+ }
38
+ /** Formats a date for an accessible day label. */
39
+ function formatDateFull(value) {
40
+ if (!dateFnsExports.isValid(value))
41
+ return;
42
+ return new Intl.DateTimeFormat('en-US', {
43
+ month: 'long',
44
+ day: 'numeric',
45
+ year: 'numeric',
46
+ weekday: 'long',
47
+ timeZone: Intl.DateTimeFormat().resolvedOptions().timeZone,
48
+ }).format(value);
49
+ }
50
+ /** Returns localized abbreviated day names beginning with Sunday. */
51
+ function getDays() {
52
+ return [
53
+ loc('tecton.element.calendar.days.short.Sunday'),
54
+ loc('tecton.element.calendar.days.short.Monday'),
55
+ loc('tecton.element.calendar.days.short.Tuesday'),
56
+ loc('tecton.element.calendar.days.short.Wednesday'),
57
+ loc('tecton.element.calendar.days.short.Thursday'),
58
+ loc('tecton.element.calendar.days.short.Friday'),
59
+ loc('tecton.element.calendar.days.short.Saturday'),
60
+ ];
61
+ }
62
+ /** Returns localized full day names beginning with Sunday. */
63
+ function getDaysOfWeek() {
64
+ return [
65
+ loc('tecton.element.calendar.days.Sunday'),
66
+ loc('tecton.element.calendar.days.Monday'),
67
+ loc('tecton.element.calendar.days.Tuesday'),
68
+ loc('tecton.element.calendar.days.Wednesday'),
69
+ loc('tecton.element.calendar.days.Thursday'),
70
+ loc('tecton.element.calendar.days.Friday'),
71
+ loc('tecton.element.calendar.days.Saturday'),
72
+ ];
73
+ }
74
+ /** Parses the date picker's public ISO-only value contract. */
75
+ function parseDatePickerValue(value) {
76
+ if (!value || !isoDatePattern.test(value))
77
+ return;
78
+ const [year, month, day] = value.split('-').map(Number);
79
+ return dateFromParts(year, month, day);
80
+ }
81
+ /** Normalizes a legacy string or Moment-like value for the date picker's ISO-only calendar. */
82
+ function normalizeDatePickerValue(value) {
83
+ if (!value)
84
+ return;
85
+ let date;
86
+ if (value instanceof Date) {
87
+ date = value;
88
+ }
89
+ else if (isMomentLike(value)) {
90
+ try {
91
+ date = value.toDate();
92
+ }
93
+ catch (_a) {
94
+ return;
95
+ }
96
+ }
97
+ else {
98
+ const input = value.trim();
99
+ if (!input)
100
+ return;
101
+ date = parseDatePickerValue(input);
102
+ if (!date) {
103
+ const isoLikeParts = input.match(isoLikeDatePattern);
104
+ const slashParts = input.match(slashDatePattern);
105
+ if (isoLikeParts) {
106
+ date = dateFromParts(Number(isoLikeParts[1]), Number(isoLikeParts[2]), Number(isoLikeParts[3]));
107
+ }
108
+ else if (slashParts) {
109
+ const parsedYear = Number(slashParts[3]);
110
+ const year = parsedYear < 100 ? (parsedYear >= 69 ? 1900 : 2000) + parsedYear : parsedYear;
111
+ date = dateFromParts(year, Number(slashParts[1]), Number(slashParts[2]));
112
+ }
113
+ else {
114
+ const parsedDate = new Date(input);
115
+ date = dateFnsExports.isValid(parsedDate)
116
+ ? dateFromParts(parsedDate.getFullYear(), parsedDate.getMonth() + 1, parsedDate.getDate())
117
+ : undefined;
118
+ }
119
+ }
120
+ }
121
+ return formatDateISO(date);
122
+ }
123
+ /** Returns the month and year used to initialize the date picker grid. */
124
+ function setupMonthYear(value = new Date()) {
125
+ return {
126
+ monthIndex: value.getMonth(),
127
+ selectedYear: value.getFullYear(),
128
+ };
129
+ }
130
+ /** Returns the enabled day indexes represented by a calendar checksum. */
131
+ function getValidDaysOfWeek(checksum = 127) {
132
+ const validDays = [];
133
+ for (let day = 0; day < 7; day++) {
134
+ if (checksum & (1 << day))
135
+ validDays.push(day);
136
+ }
137
+ return checksum > 0 ? validDays : [];
138
+ }
139
+ /** Determines whether a date satisfies the configured bounds and cutoff. */
140
+ function baseValidation(dateValidators, now, newDate) {
141
+ const isNewDateBeforeStartDate = dateFnsExports.isAfter(dateValidators === null || dateValidators === void 0 ? void 0 : dateValidators.startDate, newDate);
142
+ const isNewDateAfterEndDate = dateFnsExports.isBefore(dateValidators === null || dateValidators === void 0 ? void 0 : dateValidators.endDate, newDate);
143
+ const isNowAfterCutoffTime = dateFnsExports.isSameDay(now, newDate) && dateFnsExports.isAfter(now, dateValidators === null || dateValidators === void 0 ? void 0 : dateValidators.cutOffTime);
144
+ return !(isNewDateBeforeStartDate || isNowAfterCutoffTime || isNewDateAfterEndDate);
145
+ }
146
+ /** Determines whether a date's weekday is enabled. */
147
+ function validateAgainstChecksum(validDaysOfWeek, date) {
148
+ return validDaysOfWeek.includes(date.getDay());
149
+ }
150
+ /** Determines whether a date is absent from a blacklist. */
151
+ function validateAgainstBlacklist(invalidDates, date) {
152
+ return !validateAgainstWhitelist(invalidDates, date);
153
+ }
154
+ /** Determines whether a date is present in a whitelist. */
155
+ function validateAgainstWhitelist(validDates, date) {
156
+ return validDates.some(validDate => dateFnsExports.isSameDay(validDate, date));
157
+ }
158
+ function assumeYear(month, day, assume) {
159
+ const monthDay = `${month.padStart(2, '0')}/${day.padStart(2, '0')}`;
160
+ const now = new Date();
161
+ const currentMonthDay = `${now.getMonth() + 1}`.padStart(2, '0') + `/${now.getDate()}`.padStart(2, '0');
162
+ let year = now.getFullYear();
163
+ if (assume === 'future' && currentMonthDay > monthDay)
164
+ year++;
165
+ if (assume === 'past' && currentMonthDay < monthDay)
166
+ year--;
167
+ return `${year}`;
168
+ }
169
+ function parseDatePickerValues(values) {
170
+ return (values || []).map(parseDatePickerValue).filter((date) => !!date);
171
+ }
172
+ function dateFromParts(year, month, day) {
173
+ const date = new Date(0);
174
+ date.setFullYear(year, month - 1, day);
175
+ date.setHours(0, 0, 0, 0);
176
+ if (date.getFullYear() !== year || date.getMonth() !== month - 1 || date.getDate() !== day)
177
+ return;
178
+ return date;
179
+ }
180
+ function isMomentLike(value) {
181
+ return typeof value !== 'string' && typeof (value === null || value === void 0 ? void 0 : value.toDate) === 'function';
182
+ }
183
+ /** Formats a date using one of the date picker's supported numeric display formats. */
184
+ function formatDisplayDate(date, displayFormat) {
185
+ const separator = displayFormat.includes('-') ? '-' : '/';
186
+ const month = `${date.getMonth() + 1}`.padStart(2, '0');
187
+ const day = `${date.getDate()}`.padStart(2, '0');
188
+ const year = `${date.getFullYear()}`;
189
+ const dateParts = displayFormat.startsWith('YYYY')
190
+ ? [year, month, day]
191
+ : displayFormat.startsWith('DD')
192
+ ? [day, month, year]
193
+ : [month, day, year];
194
+ return dateParts.join(separator);
195
+ }
196
+ /** Formats a date using the legacy Moment-style tokens accepted by q2-calendar. */
197
+ function formatLegacyDisplayDate(date, displayFormat) {
198
+ const dateFnsFormat = displayFormat
199
+ .replace(/[d]/g, 'E')
200
+ .replace(/[D]/g, 'd')
201
+ .replace(/[Y]/g, 'y')
202
+ .replace(/[l]/g, 'P')
203
+ .replace(/[W]/g, 'I');
204
+ return dateFnsExports.format(date, dateFnsFormat);
205
+ }
206
+ /** Determines whether a date satisfies every configured selection constraint. */
207
+ function isDateSelectable(date, constraints) {
208
+ const cutoffTime = new Date(constraints.cutoffTime || '');
209
+ const withinBounds = baseValidation({
210
+ startDate: parseDatePickerValue(constraints.startDate),
211
+ endDate: parseDatePickerValue(constraints.endDate),
212
+ cutOffTime: dateFnsExports.isValid(cutoffTime) ? cutoffTime : undefined,
213
+ }, new Date(), date);
214
+ const validDates = parseDatePickerValues(constraints.validDates);
215
+ const matchesAllowedDates = (validDates === null || validDates === void 0 ? void 0 : validDates.length)
216
+ ? validateAgainstWhitelist(validDates, date)
217
+ : validateAgainstChecksum(getValidDaysOfWeek(constraints.daysOfWeekChecksum), date);
218
+ return (withinBounds &&
219
+ matchesAllowedDates &&
220
+ validateAgainstBlacklist(parseDatePickerValues(constraints.invalidDates), date));
221
+ }
222
+ /** Determines whether every date in an inclusive range is selectable. */
223
+ function isRangeSelectable(start, end, constraints) {
224
+ for (let date = start; date.getTime() <= end.getTime(); date = dateFnsExports.addDays(date, 1)) {
225
+ if (!isDateSelectable(date, constraints))
226
+ return false;
227
+ }
228
+ return true;
229
+ }
230
+ /** Resolves a date-picker localization key or mapped default string. */
231
+ function localizeDatePickerString(value, substitutions = {}) {
232
+ if (!value)
233
+ return '';
234
+ return loc(defaultDatePickerStringKeys[value] || value, substitutions);
235
+ }
236
+ /** Returns a supported display format, falling back to the date-picker default. */
237
+ function normalizeDisplayFormat(displayFormat) {
238
+ const normalizedFormat = displayFormat === null || displayFormat === void 0 ? void 0 : displayFormat.toUpperCase();
239
+ return supportedDisplayFormats.includes(normalizedFormat) ? normalizedFormat : defaultDisplayFormat;
240
+ }
241
+
242
+ export { getDaysOfWeek as a, formatDisplayDate as b, isRangeSelectable as c, formatDateFull as d, normalizeDatePickerValue as e, formatDateISO as f, getDays as g, formatLegacyDisplayDate as h, isDateSelectable as i, buildInputDate as j, localizeDatePickerString as l, normalizeDisplayFormat as n, parseDatePickerValue as p, setupMonthYear as s };
@@ -200,7 +200,7 @@ function renderLabel(target) {
200
200
  return (h("label", { htmlFor: target.inputId, class: labelClasses.join(' ') }, h("slot", { name: "label" }, label ? loc(label) : undefined, helpText)));
201
201
  }
202
202
  function hasSlotContent(target, slotName) {
203
- return target.querySelector(`[slot="${slotName}"]`) !== null;
203
+ return Array.from(target.children).some(child => child.getAttribute('slot') === slotName);
204
204
  }
205
205
  function handleAriaLabel(target) {
206
206
  const { ariaLabel } = target;
@@ -289,7 +289,7 @@ const resizeIframe = () => {
289
289
  // Handling color attribute (deprecated)
290
290
  const handleColor = (target) => {
291
291
  if (!target.intent && ['primary', 'secondary'].includes(target.color)) {
292
- target.intent = `workflow-${target.color}`;
292
+ target.intent = target.color;
293
293
  target.color = undefined;
294
294
  }
295
295
  };