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,5 +1,7 @@
1
1
  'use strict';
2
2
 
3
+ var index = require('./index-BqyWHpNu.js');
4
+
3
5
  /*! *****************************************************************************
4
6
  Copyright (c) Microsoft Corporation.
5
7
 
@@ -34226,6 +34228,82 @@ function install(registers) {
34226
34228
  registers.registerPainter('canvas', CanvasPainter);
34227
34229
  }
34228
34230
 
34231
+ /** Localized feedback shared by chart keyboard controls. */
34232
+ function chartPointDescription(name, value, index$1, count) {
34233
+ return index.loc('tecton.element.chart.pointDescription', [index.loc(name) || '', value, `${index$1 + 1}`, `${count}`]);
34234
+ }
34235
+ /** Coordinates keyboard exploration with ECharts emphasis without changing chart data. */
34236
+ function createChartKeyboardNavigation(options) {
34237
+ let index = null;
34238
+ let focused = false;
34239
+ const clear = () => {
34240
+ var _a;
34241
+ if (index !== null) {
34242
+ (_a = options.getChart()) === null || _a === void 0 ? void 0 : _a.dispatchAction({ type: 'downplay', seriesIndex: 0, dataIndex: index });
34243
+ }
34244
+ index = null;
34245
+ options.onChange(null);
34246
+ };
34247
+ const select = (next) => {
34248
+ var _a;
34249
+ if (!options.getData()[next] || next === index)
34250
+ return;
34251
+ clear();
34252
+ index = next;
34253
+ (_a = options.getChart()) === null || _a === void 0 ? void 0 : _a.dispatchAction({ type: 'highlight', seriesIndex: 0, dataIndex: index });
34254
+ options.onChange(index);
34255
+ };
34256
+ const order = () => { var _a, _b; return (_b = (_a = options.getOrder) === null || _a === void 0 ? void 0 : _a.call(options)) !== null && _b !== void 0 ? _b : options.getData().map((_, i) => i); };
34257
+ return {
34258
+ onFocus: () => {
34259
+ focused = true;
34260
+ select(order()[0]);
34261
+ },
34262
+ onBlur: () => {
34263
+ focused = false;
34264
+ clear();
34265
+ },
34266
+ onKeyDown: (event) => {
34267
+ if (event.altKey || event.ctrlKey || event.metaKey || event.shiftKey)
34268
+ return;
34269
+ const indices = order();
34270
+ if (!indices.length)
34271
+ return;
34272
+ const position = index === null ? -1 : indices.indexOf(index);
34273
+ let next;
34274
+ switch (event.key) {
34275
+ case 'ArrowRight':
34276
+ case 'ArrowDown':
34277
+ next = Math.min(position + 1, indices.length - 1);
34278
+ break;
34279
+ case 'ArrowLeft':
34280
+ case 'ArrowUp':
34281
+ next = Math.max(position - 1, 0);
34282
+ break;
34283
+ case 'Home':
34284
+ next = 0;
34285
+ break;
34286
+ case 'End':
34287
+ next = indices.length - 1;
34288
+ break;
34289
+ case 'Escape':
34290
+ event.preventDefault();
34291
+ clear();
34292
+ return;
34293
+ default:
34294
+ return;
34295
+ }
34296
+ event.preventDefault();
34297
+ select(indices[next]);
34298
+ },
34299
+ refresh: () => {
34300
+ clear();
34301
+ if (focused)
34302
+ select(order()[0]);
34303
+ },
34304
+ };
34305
+ }
34306
+
34229
34307
  var ValidColorNames;
34230
34308
  (function (ValidColorNames) {
34231
34309
  ValidColorNames[ValidColorNames["aliceblue"] = 0] = "aliceblue";
@@ -34449,10 +34527,12 @@ exports.bind = bind$1;
34449
34527
  exports.box = box;
34450
34528
  exports.buildTooltipMarkup = buildTooltipMarkup;
34451
34529
  exports.calculateTextPosition = calculateTextPosition;
34530
+ exports.chartPointDescription = chartPointDescription;
34452
34531
  exports.clear = clear;
34453
34532
  exports.clone = clone$2;
34454
34533
  exports.clonePath = clonePath;
34455
34534
  exports.convertToColorString = convertToColorString;
34535
+ exports.createChartKeyboardNavigation = createChartKeyboardNavigation;
34456
34536
  exports.createFloat32Array = createFloat32Array;
34457
34537
  exports.createHashMap = createHashMap;
34458
34538
  exports.createIcon = createIcon;
@@ -3,7 +3,7 @@
3
3
  var index = require('./index-DUaTw_1N.js');
4
4
  var mirrorEmit = require('./mirror-emit-kjeNv83f.js');
5
5
  var component = require('./component-iASoq6gx.js');
6
- var index$1 = require('./index-SpDCZABA.js');
6
+ var index$1 = require('./index-BqyWHpNu.js');
7
7
 
8
8
  const ClickElsewhere = class {
9
9
  constructor(hostRef) {
@@ -517,6 +517,26 @@ const Q2OptionList = class {
517
517
  option.role = optionRole;
518
518
  });
519
519
  }
520
+ findScrollableAncestor(node) {
521
+ var _a, _b;
522
+ let current = node;
523
+ while (current) {
524
+ if (current instanceof HTMLElement && current !== node) {
525
+ const overflowY = getComputedStyle(current).overflowY;
526
+ // Skip html/body so page-level scroll isn't treated as our container.
527
+ if ((overflowY === 'auto' || overflowY === 'scroll') &&
528
+ current !== document.documentElement &&
529
+ current !== document.body) {
530
+ return current;
531
+ }
532
+ }
533
+ const slot = current.assignedSlot;
534
+ const parent = current.parentNode;
535
+ const shadowHost = current.host;
536
+ current = (_b = (_a = slot !== null && slot !== void 0 ? slot : parent) !== null && _a !== void 0 ? _a : shadowHost) !== null && _b !== void 0 ? _b : null;
537
+ }
538
+ return null;
539
+ }
520
540
  focusSelectedSibling(option) {
521
541
  const { allVisibleOptions, allOptions } = this;
522
542
  const hasNoSiblings = allVisibleOptions.length < 2;
@@ -598,9 +618,18 @@ const Q2OptionList = class {
598
618
  const activeOption = this.allOptions[this.activeIndex];
599
619
  if (!activeOption)
600
620
  return;
601
- const { scrollX, scrollY } = window;
602
- activeOption.scrollIntoView({ block: 'center' });
603
- window.scrollTo(scrollX, scrollY);
621
+ // Do our own scroll math so `scrollIntoView` doesn't cascade to the parent window in an SDK iframe.
622
+ const container = this.findScrollableAncestor(activeOption);
623
+ if (container) {
624
+ if (container.scrollHeight > container.clientHeight) {
625
+ const optionRect = activeOption.getBoundingClientRect();
626
+ const containerRect = container.getBoundingClientRect();
627
+ const optionCenter = optionRect.top - containerRect.top + optionRect.height / 2;
628
+ container.scrollTop += optionCenter - containerRect.height / 2;
629
+ }
630
+ return;
631
+ }
632
+ activeOption.scrollIntoView({ block: 'nearest' });
604
633
  }
605
634
  searchOptions(key, shouldSelect) {
606
635
  this.searchString = key;
@@ -684,7 +713,7 @@ const Q2OptionList = class {
684
713
  // #endregion
685
714
  // #region Render Methods
686
715
  render() {
687
- return (index.h(index.Host, { key: '14f2a8ab97077ed7b93d746b75f89b98f416a55d' }, index.h("div", { key: '1184c5d8d4cf8af63a60bef1282d6442b8539cf6', class: "content", ref: el => (this.contentElement = el), onFocusout: this.focusoutHandler }, index.h("div", { key: '5dcb6a82f1759e46d5e742e72075bf3dfa3c6d70', class: "options", "aria-label": index$1.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 }, index.h("slot", { key: '39372ab91b081ba124ff4c4dc04fc0c84be7a4ad' })))));
716
+ return (index.h(index.Host, { key: '19cadb5668db33a912951df4ec0e81a74b2b78ce' }, index.h("div", { key: '1d5a8f310ee97bc2189b839ee3d87e08bf0fa269', class: "content", ref: el => (this.contentElement = el), onFocusout: this.focusoutHandler }, index.h("div", { key: '24b1616962a9b544fb6215acc1e6edb4f12a5a03', class: "options", "aria-label": index$1.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 }, index.h("slot", { key: 'eeb0342b7c319f5f5af95daa54dcaa732c3159d9' })))));
688
717
  }
689
718
  get hostElement() { return index.getElement(this); }
690
719
  static get watchers() { return {
@@ -698,7 +727,7 @@ const Q2OptionList = class {
698
727
  };
699
728
  Q2OptionList.style = q2OptionListCss();
700
729
 
701
- 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}`;
730
+ 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}`;
702
731
 
703
732
  const Q2Popover = class {
704
733
  constructor(hostRef) {
@@ -711,6 +740,7 @@ const Q2Popover = class {
711
740
  this.displayBuffer = 10;
712
741
  this.orientationChanged = false;
713
742
  this.pendingAnimationResolve = null;
743
+ this.platformScrollUnsubscribe = null;
714
744
  // #endregion
715
745
  // #region State Properties
716
746
  this.animationState = 'idle';
@@ -722,11 +752,30 @@ const Q2Popover = class {
722
752
  /** Aligns the popover to the left or right side of the control element. */
723
753
  this.align = 'left';
724
754
  this.mode = null;
755
+ this.handleInsideScroll = (event) => {
756
+ const { containerElement } = this;
757
+ if (!containerElement)
758
+ return;
759
+ if (containerElement.scrollHeight > containerElement.clientHeight)
760
+ return;
761
+ event.preventDefault();
762
+ };
725
763
  this.handleMinHeight = () => {
726
764
  if (this.minHeight) {
727
765
  index$1.handleDeprecationWarning(this, 'minHeight', 'prop');
728
766
  }
729
767
  };
768
+ this.handleOutsideScroll = (event) => {
769
+ if (!this.open)
770
+ return;
771
+ if (event.composedPath().includes(this.hostElement))
772
+ return;
773
+ this.open = false;
774
+ };
775
+ this.handlePlatformScroll = () => {
776
+ if (this.open)
777
+ this.open = false;
778
+ };
730
779
  this.handlePopoverToggleEvent = (event) => {
731
780
  mirrorEmit.mirrorEmit(this, ['popoverStateChanged', 'tctPopoverStateChanged'], { open: event.newState === 'open' });
732
781
  };
@@ -787,10 +836,10 @@ const Q2Popover = class {
787
836
  const isScrollableIframe = isModule && index$1.isInScrollableContainer(this.hostElement);
788
837
  if (currentDirection === 'up') {
789
838
  if (isModule && !isScrollableIframe) {
790
- containerElement.style.setProperty('--comp-pop-bottom', `${window.innerHeight - controlTop}px`);
839
+ containerElement.style.setProperty('--comp-pop-top', `${controlTop}px`);
791
840
  }
792
841
  else {
793
- containerElement.style.setProperty('--comp-pop-bottom', `${window.innerHeight - controlTop - scrollY}px`);
842
+ containerElement.style.setProperty('--comp-pop-top', `${controlTop + scrollY}px`);
794
843
  }
795
844
  }
796
845
  if (currentDirection === 'down') {
@@ -841,8 +890,10 @@ const Q2Popover = class {
841
890
  this.handleMinHeight();
842
891
  if (this.supportsPopoverAPI)
843
892
  (_a = this.containerElement) === null || _a === void 0 ? void 0 : _a.addEventListener('toggle', this.handlePopoverToggleEvent);
844
- if (this.open)
893
+ if (this.open) {
894
+ this.addViewportListeners();
845
895
  this.determinePopDirection();
896
+ }
846
897
  }
847
898
  // #endregion
848
899
  // #region Listeners
@@ -935,14 +986,22 @@ const Q2Popover = class {
935
986
  return isNaN(maxHeight) ? undefined : maxHeight;
936
987
  }
937
988
  addViewportListeners() {
938
- var _a;
989
+ var _a, _b, _c, _d, _e, _f, _g, _h, _j, _k, _l;
939
990
  window.addEventListener('resize', this.viewPortOrientationChanged);
940
- visualViewport === null || visualViewport === void 0 ? void 0 : visualViewport.addEventListener('resize', this.viewPortChanged);
991
+ (_b = (_a = window.visualViewport) === null || _a === void 0 ? void 0 : _a.addEventListener) === null || _b === void 0 ? void 0 : _b.call(_a, 'resize', this.viewPortChanged);
941
992
  if (index$1.isInScrollableContainer(this.hostElement) && !index$1.isMobile()) {
942
993
  window.addEventListener('scroll', this.viewPortChanged, { passive: true, capture: true });
943
994
  }
944
- (_a = screen === null || screen === void 0 ? void 0 : screen.orientation) === null || _a === void 0 ? void 0 : _a.addEventListener('orientationchange', this.viewPortOrientationChanged);
995
+ (_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);
945
996
  window.addEventListener('orientationchange', this.viewPortOrientationChanged);
997
+ if (!index$1.isMobile()) {
998
+ window.addEventListener('scroll', this.handleOutsideScroll, { passive: true, capture: true });
999
+ }
1000
+ (_f = this.containerElement) === null || _f === void 0 ? void 0 : _f.addEventListener('wheel', this.handleInsideScroll, { passive: false });
1001
+ (_g = this.containerElement) === null || _g === void 0 ? void 0 : _g.addEventListener('touchmove', this.handleInsideScroll, { passive: false });
1002
+ (_h = this.platformScrollUnsubscribe) === null || _h === void 0 ? void 0 : _h.call(this);
1003
+ this.platformScrollUnsubscribe =
1004
+ (_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;
946
1005
  }
947
1006
  clearCSSProperties() {
948
1007
  if (!this.containerElement)
@@ -957,7 +1016,7 @@ const Q2Popover = class {
957
1016
  this.containerElement.style.removeProperty('--comp-pop-position');
958
1017
  }
959
1018
  async determinePopDirection() {
960
- var _a, _b, _c;
1019
+ var _a, _b, _c, _d;
961
1020
  const { containerElement, controlElement, providedDirection, displayBuffer } = this;
962
1021
  if (containerElement)
963
1022
  containerElement.style.maxHeight = null;
@@ -990,9 +1049,10 @@ const Q2Popover = class {
990
1049
  : viewableSpaceBelow - displayBuffer;
991
1050
  }
992
1051
  else {
993
- windowHeight = window.innerHeight;
994
- maxSpaceAbove = controlTop - displayBuffer;
995
- maxSpaceBelow = windowHeight - controlBottom - displayBuffer;
1052
+ const { height = window.innerHeight, offsetTop = 0 } = (_d = window.visualViewport) !== null && _d !== void 0 ? _d : {};
1053
+ windowHeight = height;
1054
+ maxSpaceAbove = controlTop - offsetTop - displayBuffer;
1055
+ maxSpaceBelow = offsetTop + windowHeight - controlBottom - displayBuffer;
996
1056
  }
997
1057
  const directionWithMostSpace = maxSpaceAbove > maxSpaceBelow ? 'up' : 'down';
998
1058
  // We do not want to update the max height once the popover is open unless the page orientation shifts (resize or mobile use cases)
@@ -1020,12 +1080,17 @@ const Q2Popover = class {
1020
1080
  }
1021
1081
  }
1022
1082
  removeViewportListeners() {
1023
- var _a;
1083
+ var _a, _b, _c, _d, _e, _f, _g, _h;
1024
1084
  window.removeEventListener('resize', this.viewPortOrientationChanged);
1025
- visualViewport === null || visualViewport === void 0 ? void 0 : visualViewport.removeEventListener('resize', this.viewPortChanged);
1085
+ (_b = (_a = window.visualViewport) === null || _a === void 0 ? void 0 : _a.removeEventListener) === null || _b === void 0 ? void 0 : _b.call(_a, 'resize', this.viewPortChanged);
1026
1086
  window.removeEventListener('scroll', this.viewPortChanged, { capture: true });
1027
- (_a = screen === null || screen === void 0 ? void 0 : screen.orientation) === null || _a === void 0 ? void 0 : _a.removeEventListener('orientationchange', this.viewPortOrientationChanged);
1087
+ (_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);
1028
1088
  window.removeEventListener('orientationchange', this.viewPortOrientationChanged);
1089
+ window.removeEventListener('scroll', this.handleOutsideScroll, { capture: true });
1090
+ (_f = this.containerElement) === null || _f === void 0 ? void 0 : _f.removeEventListener('wheel', this.handleInsideScroll);
1091
+ (_g = this.containerElement) === null || _g === void 0 ? void 0 : _g.removeEventListener('touchmove', this.handleInsideScroll);
1092
+ (_h = this.platformScrollUnsubscribe) === null || _h === void 0 ? void 0 : _h.call(this);
1093
+ this.platformScrollUnsubscribe = null;
1029
1094
  }
1030
1095
  setDirectionAndShow(direction) {
1031
1096
  var _a;
@@ -1060,7 +1125,7 @@ const Q2Popover = class {
1060
1125
  containerClasses.push('animating-open');
1061
1126
  if (this.animationState === 'closing')
1062
1127
  containerClasses.push('animating-close');
1063
- return (index.h("div", { key: '4fe0c06793144eb83fe53cfc568af81226f78345', ref: el => (this.containerElement = el), class: containerClasses.join(' '), "test-id": "outerContainer", tabIndex: -1, popover: "manual" }, index.h("div", { key: 'ed5d7c9f5efba8b129d580e68ab6692849332cf4', ref: el => (this.contentElement = el), class: "content" }, index.h("slot", { key: '4c5d5b9682014b2e94b153ca33a3e0c4dd58d6bb' }))));
1128
+ return (index.h("div", { key: 'f608766723c6ae6737181318b5baf8b52ed7fc0f', ref: el => (this.containerElement = el), class: containerClasses.join(' '), "test-id": "outerContainer", tabIndex: -1, popover: "manual" }, index.h("div", { key: '477f1a209cf4abc984a82324d0c6fc07ede82160', ref: el => (this.contentElement = el), class: "content" }, index.h("slot", { key: '5b48ff13907b952a2cdcffc1b6e271e4982c78ad' }))));
1064
1129
  }
1065
1130
  get hostElement() { return index.getElement(this); }
1066
1131
  static get watchers() { return {
@@ -1,6 +1,6 @@
1
1
  'use strict';
2
2
 
3
- var charting = require('./charting-ClN1ldqv.js');
3
+ var charting = require('./charting-CdNTrVBe.js');
4
4
 
5
5
  /**
6
6
  * @class
@@ -0,0 +1,257 @@
1
+ 'use strict';
2
+
3
+ var index = require('./index-CgG3VNXc.js');
4
+ var index$1 = require('./index-BqyWHpNu.js');
5
+
6
+ const defaultDisplayFormat = 'MM/DD/YYYY';
7
+ const supportedDisplayFormats = [
8
+ defaultDisplayFormat,
9
+ 'DD/MM/YYYY',
10
+ 'MM-DD-YYYY',
11
+ 'DD-MM-YYYY',
12
+ 'YYYY-MM-DD',
13
+ ];
14
+ const defaultDatePickerStringKeys = {
15
+ 'Choose a date': 'tecton.element.datePicker.calendarLabel',
16
+ 'Dates are shown in your local time zone.': 'tecton.element.datePicker.disclaimer.localTimeZone',
17
+ };
18
+ const isoDatePattern = /^\d{4}-\d{2}-\d{2}$/;
19
+ const isoLikeDatePattern = /^(\d{4})-(\d{1,2})-(\d{1,2})(?:T.*)?$/;
20
+ const slashDatePattern = /^(\d{1,2})\/(\d{1,2})\/(\d{2}|\d{4})$/;
21
+ /** Determines a year for a month and day when typeable input omits the year. */
22
+ function buildInputDate(input, assume) {
23
+ const [month, day, year] = input.split('/');
24
+ if (!month)
25
+ return;
26
+ if (!day)
27
+ return new Date(new Date().getFullYear(), Number(month) - 1, 1);
28
+ if (Number(day) <= 0)
29
+ return;
30
+ const selectedYear = (year === null || year === void 0 ? void 0 : year.length) === 4 ? Number(year) : Number(assumeYear(month, day, assume));
31
+ const date = new Date(selectedYear, Number(month) - 1, Number(day));
32
+ return index.dateFnsExports.isValid(date) ? date : undefined;
33
+ }
34
+ /** Formats a valid date as an ISO calendar date. */
35
+ function formatDateISO(value) {
36
+ if (!index.dateFnsExports.isValid(value))
37
+ return;
38
+ return index.dateFnsExports.formatISO(value, { representation: 'date' });
39
+ }
40
+ /** Formats a date for an accessible day label. */
41
+ function formatDateFull(value) {
42
+ if (!index.dateFnsExports.isValid(value))
43
+ return;
44
+ return new Intl.DateTimeFormat('en-US', {
45
+ month: 'long',
46
+ day: 'numeric',
47
+ year: 'numeric',
48
+ weekday: 'long',
49
+ timeZone: Intl.DateTimeFormat().resolvedOptions().timeZone,
50
+ }).format(value);
51
+ }
52
+ /** Returns localized abbreviated day names beginning with Sunday. */
53
+ function getDays() {
54
+ return [
55
+ index$1.loc('tecton.element.calendar.days.short.Sunday'),
56
+ index$1.loc('tecton.element.calendar.days.short.Monday'),
57
+ index$1.loc('tecton.element.calendar.days.short.Tuesday'),
58
+ index$1.loc('tecton.element.calendar.days.short.Wednesday'),
59
+ index$1.loc('tecton.element.calendar.days.short.Thursday'),
60
+ index$1.loc('tecton.element.calendar.days.short.Friday'),
61
+ index$1.loc('tecton.element.calendar.days.short.Saturday'),
62
+ ];
63
+ }
64
+ /** Returns localized full day names beginning with Sunday. */
65
+ function getDaysOfWeek() {
66
+ return [
67
+ index$1.loc('tecton.element.calendar.days.Sunday'),
68
+ index$1.loc('tecton.element.calendar.days.Monday'),
69
+ index$1.loc('tecton.element.calendar.days.Tuesday'),
70
+ index$1.loc('tecton.element.calendar.days.Wednesday'),
71
+ index$1.loc('tecton.element.calendar.days.Thursday'),
72
+ index$1.loc('tecton.element.calendar.days.Friday'),
73
+ index$1.loc('tecton.element.calendar.days.Saturday'),
74
+ ];
75
+ }
76
+ /** Parses the date picker's public ISO-only value contract. */
77
+ function parseDatePickerValue(value) {
78
+ if (!value || !isoDatePattern.test(value))
79
+ return;
80
+ const [year, month, day] = value.split('-').map(Number);
81
+ return dateFromParts(year, month, day);
82
+ }
83
+ /** Normalizes a legacy string or Moment-like value for the date picker's ISO-only calendar. */
84
+ function normalizeDatePickerValue(value) {
85
+ if (!value)
86
+ return;
87
+ let date;
88
+ if (value instanceof Date) {
89
+ date = value;
90
+ }
91
+ else if (isMomentLike(value)) {
92
+ try {
93
+ date = value.toDate();
94
+ }
95
+ catch (_a) {
96
+ return;
97
+ }
98
+ }
99
+ else {
100
+ const input = value.trim();
101
+ if (!input)
102
+ return;
103
+ date = parseDatePickerValue(input);
104
+ if (!date) {
105
+ const isoLikeParts = input.match(isoLikeDatePattern);
106
+ const slashParts = input.match(slashDatePattern);
107
+ if (isoLikeParts) {
108
+ date = dateFromParts(Number(isoLikeParts[1]), Number(isoLikeParts[2]), Number(isoLikeParts[3]));
109
+ }
110
+ else if (slashParts) {
111
+ const parsedYear = Number(slashParts[3]);
112
+ const year = parsedYear < 100 ? (parsedYear >= 69 ? 1900 : 2000) + parsedYear : parsedYear;
113
+ date = dateFromParts(year, Number(slashParts[1]), Number(slashParts[2]));
114
+ }
115
+ else {
116
+ const parsedDate = new Date(input);
117
+ date = index.dateFnsExports.isValid(parsedDate)
118
+ ? dateFromParts(parsedDate.getFullYear(), parsedDate.getMonth() + 1, parsedDate.getDate())
119
+ : undefined;
120
+ }
121
+ }
122
+ }
123
+ return formatDateISO(date);
124
+ }
125
+ /** Returns the month and year used to initialize the date picker grid. */
126
+ function setupMonthYear(value = new Date()) {
127
+ return {
128
+ monthIndex: value.getMonth(),
129
+ selectedYear: value.getFullYear(),
130
+ };
131
+ }
132
+ /** Returns the enabled day indexes represented by a calendar checksum. */
133
+ function getValidDaysOfWeek(checksum = 127) {
134
+ const validDays = [];
135
+ for (let day = 0; day < 7; day++) {
136
+ if (checksum & (1 << day))
137
+ validDays.push(day);
138
+ }
139
+ return checksum > 0 ? validDays : [];
140
+ }
141
+ /** Determines whether a date satisfies the configured bounds and cutoff. */
142
+ function baseValidation(dateValidators, now, newDate) {
143
+ const isNewDateBeforeStartDate = index.dateFnsExports.isAfter(dateValidators === null || dateValidators === void 0 ? void 0 : dateValidators.startDate, newDate);
144
+ const isNewDateAfterEndDate = index.dateFnsExports.isBefore(dateValidators === null || dateValidators === void 0 ? void 0 : dateValidators.endDate, newDate);
145
+ const isNowAfterCutoffTime = index.dateFnsExports.isSameDay(now, newDate) && index.dateFnsExports.isAfter(now, dateValidators === null || dateValidators === void 0 ? void 0 : dateValidators.cutOffTime);
146
+ return !(isNewDateBeforeStartDate || isNowAfterCutoffTime || isNewDateAfterEndDate);
147
+ }
148
+ /** Determines whether a date's weekday is enabled. */
149
+ function validateAgainstChecksum(validDaysOfWeek, date) {
150
+ return validDaysOfWeek.includes(date.getDay());
151
+ }
152
+ /** Determines whether a date is absent from a blacklist. */
153
+ function validateAgainstBlacklist(invalidDates, date) {
154
+ return !validateAgainstWhitelist(invalidDates, date);
155
+ }
156
+ /** Determines whether a date is present in a whitelist. */
157
+ function validateAgainstWhitelist(validDates, date) {
158
+ return validDates.some(validDate => index.dateFnsExports.isSameDay(validDate, date));
159
+ }
160
+ function assumeYear(month, day, assume) {
161
+ const monthDay = `${month.padStart(2, '0')}/${day.padStart(2, '0')}`;
162
+ const now = new Date();
163
+ const currentMonthDay = `${now.getMonth() + 1}`.padStart(2, '0') + `/${now.getDate()}`.padStart(2, '0');
164
+ let year = now.getFullYear();
165
+ if (assume === 'future' && currentMonthDay > monthDay)
166
+ year++;
167
+ if (assume === 'past' && currentMonthDay < monthDay)
168
+ year--;
169
+ return `${year}`;
170
+ }
171
+ function parseDatePickerValues(values) {
172
+ return (values || []).map(parseDatePickerValue).filter((date) => !!date);
173
+ }
174
+ function dateFromParts(year, month, day) {
175
+ const date = new Date(0);
176
+ date.setFullYear(year, month - 1, day);
177
+ date.setHours(0, 0, 0, 0);
178
+ if (date.getFullYear() !== year || date.getMonth() !== month - 1 || date.getDate() !== day)
179
+ return;
180
+ return date;
181
+ }
182
+ function isMomentLike(value) {
183
+ return typeof value !== 'string' && typeof (value === null || value === void 0 ? void 0 : value.toDate) === 'function';
184
+ }
185
+ /** Formats a date using one of the date picker's supported numeric display formats. */
186
+ function formatDisplayDate(date, displayFormat) {
187
+ const separator = displayFormat.includes('-') ? '-' : '/';
188
+ const month = `${date.getMonth() + 1}`.padStart(2, '0');
189
+ const day = `${date.getDate()}`.padStart(2, '0');
190
+ const year = `${date.getFullYear()}`;
191
+ const dateParts = displayFormat.startsWith('YYYY')
192
+ ? [year, month, day]
193
+ : displayFormat.startsWith('DD')
194
+ ? [day, month, year]
195
+ : [month, day, year];
196
+ return dateParts.join(separator);
197
+ }
198
+ /** Formats a date using the legacy Moment-style tokens accepted by q2-calendar. */
199
+ function formatLegacyDisplayDate(date, displayFormat) {
200
+ const dateFnsFormat = displayFormat
201
+ .replace(/[d]/g, 'E')
202
+ .replace(/[D]/g, 'd')
203
+ .replace(/[Y]/g, 'y')
204
+ .replace(/[l]/g, 'P')
205
+ .replace(/[W]/g, 'I');
206
+ return index.dateFnsExports.format(date, dateFnsFormat);
207
+ }
208
+ /** Determines whether a date satisfies every configured selection constraint. */
209
+ function isDateSelectable(date, constraints) {
210
+ const cutoffTime = new Date(constraints.cutoffTime || '');
211
+ const withinBounds = baseValidation({
212
+ startDate: parseDatePickerValue(constraints.startDate),
213
+ endDate: parseDatePickerValue(constraints.endDate),
214
+ cutOffTime: index.dateFnsExports.isValid(cutoffTime) ? cutoffTime : undefined,
215
+ }, new Date(), date);
216
+ const validDates = parseDatePickerValues(constraints.validDates);
217
+ const matchesAllowedDates = (validDates === null || validDates === void 0 ? void 0 : validDates.length)
218
+ ? validateAgainstWhitelist(validDates, date)
219
+ : validateAgainstChecksum(getValidDaysOfWeek(constraints.daysOfWeekChecksum), date);
220
+ return (withinBounds &&
221
+ matchesAllowedDates &&
222
+ validateAgainstBlacklist(parseDatePickerValues(constraints.invalidDates), date));
223
+ }
224
+ /** Determines whether every date in an inclusive range is selectable. */
225
+ function isRangeSelectable(start, end, constraints) {
226
+ for (let date = start; date.getTime() <= end.getTime(); date = index.dateFnsExports.addDays(date, 1)) {
227
+ if (!isDateSelectable(date, constraints))
228
+ return false;
229
+ }
230
+ return true;
231
+ }
232
+ /** Resolves a date-picker localization key or mapped default string. */
233
+ function localizeDatePickerString(value, substitutions = {}) {
234
+ if (!value)
235
+ return '';
236
+ return index$1.loc(defaultDatePickerStringKeys[value] || value, substitutions);
237
+ }
238
+ /** Returns a supported display format, falling back to the date-picker default. */
239
+ function normalizeDisplayFormat(displayFormat) {
240
+ const normalizedFormat = displayFormat === null || displayFormat === void 0 ? void 0 : displayFormat.toUpperCase();
241
+ return supportedDisplayFormats.includes(normalizedFormat) ? normalizedFormat : defaultDisplayFormat;
242
+ }
243
+
244
+ exports.buildInputDate = buildInputDate;
245
+ exports.formatDateFull = formatDateFull;
246
+ exports.formatDateISO = formatDateISO;
247
+ exports.formatDisplayDate = formatDisplayDate;
248
+ exports.formatLegacyDisplayDate = formatLegacyDisplayDate;
249
+ exports.getDays = getDays;
250
+ exports.getDaysOfWeek = getDaysOfWeek;
251
+ exports.isDateSelectable = isDateSelectable;
252
+ exports.isRangeSelectable = isRangeSelectable;
253
+ exports.localizeDatePickerString = localizeDatePickerString;
254
+ exports.normalizeDatePickerValue = normalizeDatePickerValue;
255
+ exports.normalizeDisplayFormat = normalizeDisplayFormat;
256
+ exports.parseDatePickerValue = parseDatePickerValue;
257
+ exports.setupMonthYear = setupMonthYear;
@@ -202,7 +202,7 @@ function renderLabel(target) {
202
202
  return (index.h("label", { htmlFor: target.inputId, class: labelClasses.join(' ') }, index.h("slot", { name: "label" }, label ? loc(label) : undefined, helpText)));
203
203
  }
204
204
  function hasSlotContent(target, slotName) {
205
- return target.querySelector(`[slot="${slotName}"]`) !== null;
205
+ return Array.from(target.children).some(child => child.getAttribute('slot') === slotName);
206
206
  }
207
207
  function handleAriaLabel(target) {
208
208
  const { ariaLabel } = target;
@@ -291,7 +291,7 @@ const resizeIframe = () => {
291
291
  // Handling color attribute (deprecated)
292
292
  const handleColor = (target) => {
293
293
  if (!target.intent && ['primary', 'secondary'].includes(target.color)) {
294
- target.intent = `workflow-${target.color}`;
294
+ target.intent = target.color;
295
295
  target.color = undefined;
296
296
  }
297
297
  };