@ukic/canary-web-components 3.0.0-canary.27 → 3.0.0-canary.29

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 (643) hide show
  1. package/dist/cjs/core.cjs.js +1 -1
  2. package/dist/cjs/{helpers-046745ee.js → helpers-2cc5f6db.js} +5 -1
  3. package/dist/cjs/helpers-2cc5f6db.js.map +1 -0
  4. package/dist/cjs/helpers-da852478.js.map +1 -1
  5. package/dist/cjs/ic-accordion-group.cjs.entry.js +1 -1
  6. package/dist/cjs/ic-accordion.cjs.entry.js +1 -1
  7. package/dist/cjs/ic-action-chip.cjs.entry.js +1 -1
  8. package/dist/cjs/ic-alert.cjs.entry.js +6 -4
  9. package/dist/cjs/ic-alert.cjs.entry.js.map +1 -1
  10. package/dist/cjs/ic-back-to-top.cjs.entry.js +6 -5
  11. package/dist/cjs/ic-back-to-top.cjs.entry.js.map +1 -1
  12. package/dist/cjs/ic-badge.cjs.entry.js +3 -3
  13. package/dist/cjs/ic-badge.cjs.entry.js.map +1 -1
  14. package/dist/cjs/ic-breadcrumb-group.cjs.entry.js +3 -3
  15. package/dist/cjs/ic-breadcrumb-group.cjs.entry.js.map +1 -1
  16. package/dist/cjs/ic-breadcrumb.cjs.entry.js +5 -4
  17. package/dist/cjs/ic-breadcrumb.cjs.entry.js.map +1 -1
  18. package/dist/cjs/ic-button_3.cjs.entry.js +43 -19
  19. package/dist/cjs/ic-button_3.cjs.entry.js.map +1 -1
  20. package/dist/cjs/ic-card-horizontal.cjs.entry.js +32 -6
  21. package/dist/cjs/ic-card-horizontal.cjs.entry.js.map +1 -1
  22. package/dist/cjs/ic-card-vertical.cjs.entry.js +5 -5
  23. package/dist/cjs/ic-card-vertical.cjs.entry.js.map +1 -1
  24. package/dist/cjs/ic-checkbox-group.cjs.entry.js +9 -5
  25. package/dist/cjs/ic-checkbox-group.cjs.entry.js.map +1 -1
  26. package/dist/cjs/ic-checkbox_3.cjs.entry.js +13 -14
  27. package/dist/cjs/ic-checkbox_3.cjs.entry.js.map +1 -1
  28. package/dist/cjs/ic-chip.cjs.entry.js +4 -4
  29. package/dist/cjs/ic-chip.cjs.entry.js.map +1 -1
  30. package/dist/cjs/ic-data-list.cjs.entry.js +2 -2
  31. package/dist/cjs/ic-data-list.cjs.entry.js.map +1 -1
  32. package/dist/cjs/ic-data-row.cjs.entry.js +3 -3
  33. package/dist/cjs/ic-data-row.cjs.entry.js.map +1 -1
  34. package/dist/cjs/ic-data-table-title-bar.cjs.entry.js +3 -3
  35. package/dist/cjs/ic-data-table.cjs.entry.js +35 -15
  36. package/dist/cjs/ic-data-table.cjs.entry.js.map +1 -1
  37. package/dist/cjs/ic-date-input.cjs.entry.js +8 -4
  38. package/dist/cjs/ic-date-input.cjs.entry.js.map +1 -1
  39. package/dist/cjs/ic-date-picker.cjs.entry.js +15 -10
  40. package/dist/cjs/ic-date-picker.cjs.entry.js.map +1 -1
  41. package/dist/cjs/ic-dialog.cjs.entry.js +39 -13
  42. package/dist/cjs/ic-dialog.cjs.entry.js.map +1 -1
  43. package/dist/cjs/ic-divider.cjs.entry.js +3 -2
  44. package/dist/cjs/ic-divider.cjs.entry.js.map +1 -1
  45. package/dist/cjs/ic-footer-link-group.cjs.entry.js +1 -1
  46. package/dist/cjs/ic-footer-link.cjs.entry.js +3 -3
  47. package/dist/cjs/ic-footer-link.cjs.entry.js.map +1 -1
  48. package/dist/cjs/ic-footer.cjs.entry.js +1 -1
  49. package/dist/cjs/ic-hero.cjs.entry.js +8 -7
  50. package/dist/cjs/ic-hero.cjs.entry.js.map +1 -1
  51. package/dist/cjs/ic-horizontal-scroll.cjs.entry.js +6 -6
  52. package/dist/cjs/ic-horizontal-scroll.cjs.entry.js.map +1 -1
  53. package/dist/cjs/ic-input-component-container_4.cjs.entry.js +11 -11
  54. package/dist/cjs/ic-input-component-container_4.cjs.entry.js.map +1 -1
  55. package/dist/cjs/ic-layout-grid-item.cjs.entry.js +2 -2
  56. package/dist/cjs/ic-layout-grid-item.cjs.entry.js.map +1 -1
  57. package/dist/cjs/ic-layout-grid.cjs.entry.js +2 -2
  58. package/dist/cjs/ic-layout-grid.cjs.entry.js.map +1 -1
  59. package/dist/cjs/ic-link.cjs.entry.js +2 -2
  60. package/dist/cjs/ic-link.cjs.entry.js.map +1 -1
  61. package/dist/cjs/ic-menu-group.cjs.entry.js +2 -2
  62. package/dist/cjs/ic-menu-group.cjs.entry.js.map +1 -1
  63. package/dist/cjs/ic-menu-item.cjs.entry.js +3 -2
  64. package/dist/cjs/ic-menu-item.cjs.entry.js.map +1 -1
  65. package/dist/cjs/ic-menu.cjs.entry.js +13 -10
  66. package/dist/cjs/ic-menu.cjs.entry.js.map +1 -1
  67. package/dist/cjs/ic-navigation-button.cjs.entry.js +3 -3
  68. package/dist/cjs/ic-navigation-button.cjs.entry.js.map +1 -1
  69. package/dist/cjs/ic-navigation-group.cjs.entry.js +2 -2
  70. package/dist/cjs/ic-navigation-group.cjs.entry.js.map +1 -1
  71. package/dist/cjs/ic-navigation-item.cjs.entry.js +4 -4
  72. package/dist/cjs/ic-navigation-item.cjs.entry.js.map +1 -1
  73. package/dist/cjs/ic-navigation-menu.cjs.entry.js +5 -5
  74. package/dist/cjs/ic-navigation-menu.cjs.entry.js.map +1 -1
  75. package/dist/cjs/ic-page-header.cjs.entry.js +8 -8
  76. package/dist/cjs/ic-page-header.cjs.entry.js.map +1 -1
  77. package/dist/cjs/ic-pagination_4.cjs.entry.js +36 -23
  78. package/dist/cjs/ic-pagination_4.cjs.entry.js.map +1 -1
  79. package/dist/cjs/ic-popover-menu.cjs.entry.js +5 -5
  80. package/dist/cjs/ic-popover-menu.cjs.entry.js.map +1 -1
  81. package/dist/cjs/ic-radio-group.cjs.entry.js +5 -5
  82. package/dist/cjs/ic-radio-group.cjs.entry.js.map +1 -1
  83. package/dist/cjs/ic-radio-option.cjs.entry.js +5 -5
  84. package/dist/cjs/ic-radio-option.cjs.entry.js.map +1 -1
  85. package/dist/cjs/ic-search-bar.cjs.entry.js +10 -10
  86. package/dist/cjs/ic-search-bar.cjs.entry.js.map +1 -1
  87. package/dist/cjs/ic-section-container.cjs.entry.js +2 -2
  88. package/dist/cjs/ic-section-container.cjs.entry.js.map +1 -1
  89. package/dist/cjs/ic-side-navigation.cjs.entry.js +6 -6
  90. package/dist/cjs/ic-side-navigation.cjs.entry.js.map +1 -1
  91. package/dist/cjs/ic-skeleton.cjs.entry.js +2 -2
  92. package/dist/cjs/ic-skeleton.cjs.entry.js.map +1 -1
  93. package/dist/cjs/ic-skip-link.cjs.entry.js +2 -2
  94. package/dist/cjs/ic-skip-link.cjs.entry.js.map +1 -1
  95. package/dist/cjs/ic-status-tag.cjs.entry.js +4 -4
  96. package/dist/cjs/ic-status-tag.cjs.entry.js.map +1 -1
  97. package/dist/cjs/ic-step.cjs.entry.js +15 -14
  98. package/dist/cjs/ic-step.cjs.entry.js.map +1 -1
  99. package/dist/cjs/ic-stepper.cjs.entry.js +4 -3
  100. package/dist/cjs/ic-stepper.cjs.entry.js.map +1 -1
  101. package/dist/cjs/ic-switch.cjs.entry.js +5 -5
  102. package/dist/cjs/ic-switch.cjs.entry.js.map +1 -1
  103. package/dist/cjs/ic-tab-context.cjs.entry.js +1 -1
  104. package/dist/cjs/ic-tab-context.cjs.entry.js.map +1 -1
  105. package/dist/cjs/ic-tab-group.cjs.entry.js +3 -3
  106. package/dist/cjs/ic-tab-group.cjs.entry.js.map +1 -1
  107. package/dist/cjs/ic-tab-panel.cjs.entry.js +2 -2
  108. package/dist/cjs/ic-tab-panel.cjs.entry.js.map +1 -1
  109. package/dist/cjs/ic-tab.cjs.entry.js +3 -3
  110. package/dist/cjs/ic-tab.cjs.entry.js.map +1 -1
  111. package/dist/cjs/ic-table-of-contents.cjs.entry.js +3 -3
  112. package/dist/cjs/ic-theme.cjs.entry.js +2 -2
  113. package/dist/cjs/ic-theme.cjs.entry.js.map +1 -1
  114. package/dist/cjs/ic-time-input.cjs.entry.js +9 -5
  115. package/dist/cjs/ic-time-input.cjs.entry.js.map +1 -1
  116. package/dist/cjs/ic-toast-region.cjs.entry.js +1 -1
  117. package/dist/cjs/ic-toast-region.cjs.entry.js.map +1 -1
  118. package/dist/cjs/ic-toast.cjs.entry.js +8 -5
  119. package/dist/cjs/ic-toast.cjs.entry.js.map +1 -1
  120. package/dist/cjs/ic-toggle-button-group.cjs.entry.js +8 -4
  121. package/dist/cjs/ic-toggle-button-group.cjs.entry.js.map +1 -1
  122. package/dist/cjs/ic-toggle-button.cjs.entry.js +58 -45
  123. package/dist/cjs/ic-toggle-button.cjs.entry.js.map +1 -1
  124. package/dist/cjs/ic-top-navigation.cjs.entry.js +6 -6
  125. package/dist/cjs/ic-top-navigation.cjs.entry.js.map +1 -1
  126. package/dist/cjs/ic-tree-item.cjs.entry.js +2 -2
  127. package/dist/cjs/ic-tree-view.cjs.entry.js +3 -3
  128. package/dist/cjs/ic-typography.cjs.entry.js +3 -3
  129. package/dist/cjs/ic-typography.cjs.entry.js.map +1 -1
  130. package/dist/cjs/loader.cjs.js +1 -1
  131. package/dist/collection/components/ic-card-horizontal/ic-card-horizontal.css +65 -12
  132. package/dist/collection/components/ic-card-horizontal/ic-card-horizontal.js +88 -13
  133. package/dist/collection/components/ic-card-horizontal/ic-card-horizontal.js.map +1 -1
  134. package/dist/collection/components/ic-card-horizontal/ic-card-horizontal.stories.js +355 -36
  135. package/dist/collection/components/ic-card-horizontal/ic-card-horizontal.stories.js.map +1 -1
  136. package/dist/collection/components/ic-data-table/ic-data-table.css +17 -17
  137. package/dist/collection/components/ic-data-table/ic-data-table.js +37 -16
  138. package/dist/collection/components/ic-data-table/ic-data-table.js.map +1 -1
  139. package/dist/collection/components/ic-data-table/ic-data-table.stories.js +11 -1
  140. package/dist/collection/components/ic-data-table/ic-data-table.stories.js.map +1 -1
  141. package/dist/collection/components/ic-data-table/story-data.js +80 -0
  142. package/dist/collection/components/ic-data-table/story-data.js.map +1 -1
  143. package/dist/collection/components/ic-data-table-title-bar/ic-data-table-title-bar.js +3 -3
  144. package/dist/collection/components/ic-date-input/ic-date-input.js +34 -4
  145. package/dist/collection/components/ic-date-input/ic-date-input.js.map +1 -1
  146. package/dist/collection/components/ic-date-input/ic-date-input.stories.js +81 -0
  147. package/dist/collection/components/ic-date-input/ic-date-input.stories.js.map +1 -1
  148. package/dist/collection/components/ic-date-picker/ic-date-picker.js +41 -10
  149. package/dist/collection/components/ic-date-picker/ic-date-picker.js.map +1 -1
  150. package/dist/collection/components/ic-pagination-bar/ic-pagination-bar.js +6 -7
  151. package/dist/collection/components/ic-pagination-bar/ic-pagination-bar.js.map +1 -1
  152. package/dist/collection/components/ic-table-of-contents/ic-table-of-contents.js +3 -3
  153. package/dist/collection/components/ic-time-input/ic-time-input.js +35 -5
  154. package/dist/collection/components/ic-time-input/ic-time-input.js.map +1 -1
  155. package/dist/collection/components/ic-time-input/ic-time-input.stories.js +82 -1
  156. package/dist/collection/components/ic-time-input/ic-time-input.stories.js.map +1 -1
  157. package/dist/collection/components/ic-tree-item/ic-tree-item.js +2 -2
  158. package/dist/collection/components/ic-tree-view/ic-tree-view.js +3 -3
  159. package/dist/collection/utils/types.js.map +1 -1
  160. package/dist/components/helpers.js +4 -1
  161. package/dist/components/helpers.js.map +1 -1
  162. package/dist/components/helpers2.js.map +1 -1
  163. package/dist/components/ic-action-chip.js +1 -1
  164. package/dist/components/ic-alert.js +6 -4
  165. package/dist/components/ic-alert.js.map +1 -1
  166. package/dist/components/ic-back-to-top.js +6 -5
  167. package/dist/components/ic-back-to-top.js.map +1 -1
  168. package/dist/components/ic-badge.js +3 -3
  169. package/dist/components/ic-badge.js.map +1 -1
  170. package/dist/components/ic-breadcrumb-group.js +3 -3
  171. package/dist/components/ic-breadcrumb-group.js.map +1 -1
  172. package/dist/components/ic-breadcrumb2.js +5 -4
  173. package/dist/components/ic-breadcrumb2.js.map +1 -1
  174. package/dist/components/ic-button2.js +35 -11
  175. package/dist/components/ic-button2.js.map +1 -1
  176. package/dist/components/ic-card-horizontal.js +34 -6
  177. package/dist/components/ic-card-horizontal.js.map +1 -1
  178. package/dist/components/ic-card-vertical.js +5 -5
  179. package/dist/components/ic-card-vertical.js.map +1 -1
  180. package/dist/components/ic-checkbox-group.js +10 -5
  181. package/dist/components/ic-checkbox-group.js.map +1 -1
  182. package/dist/components/ic-checkbox2.js +5 -5
  183. package/dist/components/ic-checkbox2.js.map +1 -1
  184. package/dist/components/ic-chip.js +4 -4
  185. package/dist/components/ic-chip.js.map +1 -1
  186. package/dist/components/ic-data-list.js +2 -2
  187. package/dist/components/ic-data-list.js.map +1 -1
  188. package/dist/components/ic-data-row.js +3 -3
  189. package/dist/components/ic-data-row.js.map +1 -1
  190. package/dist/components/ic-data-table-title-bar.js +3 -3
  191. package/dist/components/ic-data-table.js +36 -15
  192. package/dist/components/ic-data-table.js.map +1 -1
  193. package/dist/components/ic-date-input2.js +9 -4
  194. package/dist/components/ic-date-input2.js.map +1 -1
  195. package/dist/components/ic-date-picker.js +16 -10
  196. package/dist/components/ic-date-picker.js.map +1 -1
  197. package/dist/components/ic-dialog.js +39 -13
  198. package/dist/components/ic-dialog.js.map +1 -1
  199. package/dist/components/ic-divider2.js +3 -2
  200. package/dist/components/ic-divider2.js.map +1 -1
  201. package/dist/components/ic-empty-state2.js +3 -3
  202. package/dist/components/ic-empty-state2.js.map +1 -1
  203. package/dist/components/ic-footer-link-group.js +1 -1
  204. package/dist/components/ic-footer-link.js +3 -3
  205. package/dist/components/ic-footer-link.js.map +1 -1
  206. package/dist/components/ic-footer.js +1 -1
  207. package/dist/components/ic-hero.js +8 -7
  208. package/dist/components/ic-hero.js.map +1 -1
  209. package/dist/components/ic-horizontal-scroll2.js +6 -6
  210. package/dist/components/ic-horizontal-scroll2.js.map +1 -1
  211. package/dist/components/ic-input-component-container2.js +4 -4
  212. package/dist/components/ic-input-component-container2.js.map +1 -1
  213. package/dist/components/ic-input-container2.js +2 -2
  214. package/dist/components/ic-input-container2.js.map +1 -1
  215. package/dist/components/ic-input-label2.js +3 -3
  216. package/dist/components/ic-input-label2.js.map +1 -1
  217. package/dist/components/ic-input-validation2.js +4 -4
  218. package/dist/components/ic-input-validation2.js.map +1 -1
  219. package/dist/components/ic-layout-grid-item.js +2 -2
  220. package/dist/components/ic-layout-grid-item.js.map +1 -1
  221. package/dist/components/ic-layout-grid.js +2 -2
  222. package/dist/components/ic-layout-grid.js.map +1 -1
  223. package/dist/components/ic-link2.js +1 -1
  224. package/dist/components/ic-link2.js.map +1 -1
  225. package/dist/components/ic-loading-indicator2.js +7 -6
  226. package/dist/components/ic-loading-indicator2.js.map +1 -1
  227. package/dist/components/ic-menu-group.js +2 -2
  228. package/dist/components/ic-menu-group.js.map +1 -1
  229. package/dist/components/ic-menu-item2.js +3 -2
  230. package/dist/components/ic-menu-item2.js.map +1 -1
  231. package/dist/components/ic-menu2.js +13 -10
  232. package/dist/components/ic-menu2.js.map +1 -1
  233. package/dist/components/ic-navigation-button.js +3 -3
  234. package/dist/components/ic-navigation-button.js.map +1 -1
  235. package/dist/components/ic-navigation-group.js +2 -2
  236. package/dist/components/ic-navigation-group.js.map +1 -1
  237. package/dist/components/ic-navigation-item.js +4 -4
  238. package/dist/components/ic-navigation-item.js.map +1 -1
  239. package/dist/components/ic-navigation-menu2.js +5 -5
  240. package/dist/components/ic-navigation-menu2.js.map +1 -1
  241. package/dist/components/ic-page-header.js +8 -8
  242. package/dist/components/ic-page-header.js.map +1 -1
  243. package/dist/components/ic-pagination-bar2.js +6 -7
  244. package/dist/components/ic-pagination-bar2.js.map +1 -1
  245. package/dist/components/ic-pagination-item2.js +2 -2
  246. package/dist/components/ic-pagination-item2.js.map +1 -1
  247. package/dist/components/ic-pagination2.js +4 -4
  248. package/dist/components/ic-pagination2.js.map +1 -1
  249. package/dist/components/ic-popover-menu.js +5 -5
  250. package/dist/components/ic-popover-menu.js.map +1 -1
  251. package/dist/components/ic-radio-group.js +5 -5
  252. package/dist/components/ic-radio-group.js.map +1 -1
  253. package/dist/components/ic-radio-option.js +5 -5
  254. package/dist/components/ic-radio-option.js.map +1 -1
  255. package/dist/components/ic-search-bar.js +10 -10
  256. package/dist/components/ic-search-bar.js.map +1 -1
  257. package/dist/components/ic-section-container2.js +2 -2
  258. package/dist/components/ic-section-container2.js.map +1 -1
  259. package/dist/components/ic-select2.js +20 -12
  260. package/dist/components/ic-select2.js.map +1 -1
  261. package/dist/components/ic-side-navigation.js +6 -6
  262. package/dist/components/ic-side-navigation.js.map +1 -1
  263. package/dist/components/ic-skeleton.js +2 -2
  264. package/dist/components/ic-skeleton.js.map +1 -1
  265. package/dist/components/ic-skip-link.js +2 -2
  266. package/dist/components/ic-skip-link.js.map +1 -1
  267. package/dist/components/ic-status-tag.js +3 -3
  268. package/dist/components/ic-status-tag.js.map +1 -1
  269. package/dist/components/ic-step.js +15 -14
  270. package/dist/components/ic-step.js.map +1 -1
  271. package/dist/components/ic-stepper.js +3 -2
  272. package/dist/components/ic-stepper.js.map +1 -1
  273. package/dist/components/ic-switch.js +5 -5
  274. package/dist/components/ic-switch.js.map +1 -1
  275. package/dist/components/ic-tab-context.js +1 -1
  276. package/dist/components/ic-tab-context.js.map +1 -1
  277. package/dist/components/ic-tab-group.js +2 -2
  278. package/dist/components/ic-tab-group.js.map +1 -1
  279. package/dist/components/ic-tab-panel.js +2 -2
  280. package/dist/components/ic-tab-panel.js.map +1 -1
  281. package/dist/components/ic-tab.js +2 -2
  282. package/dist/components/ic-tab.js.map +1 -1
  283. package/dist/components/ic-table-of-contents.js +3 -3
  284. package/dist/components/ic-text-field2.js +12 -7
  285. package/dist/components/ic-text-field2.js.map +1 -1
  286. package/dist/components/ic-theme.js +2 -2
  287. package/dist/components/ic-theme.js.map +1 -1
  288. package/dist/components/ic-time-input.js +10 -5
  289. package/dist/components/ic-time-input.js.map +1 -1
  290. package/dist/components/ic-toast-region.js +1 -1
  291. package/dist/components/ic-toast-region.js.map +1 -1
  292. package/dist/components/ic-toast.js +8 -5
  293. package/dist/components/ic-toast.js.map +1 -1
  294. package/dist/components/ic-toggle-button-group.js +7 -3
  295. package/dist/components/ic-toggle-button-group.js.map +1 -1
  296. package/dist/components/ic-toggle-button.js +58 -45
  297. package/dist/components/ic-toggle-button.js.map +1 -1
  298. package/dist/components/ic-tooltip2.js +3 -3
  299. package/dist/components/ic-tooltip2.js.map +1 -1
  300. package/dist/components/ic-top-navigation.js +6 -6
  301. package/dist/components/ic-top-navigation.js.map +1 -1
  302. package/dist/components/ic-tree-item.js +2 -2
  303. package/dist/components/ic-tree-view.js +3 -3
  304. package/dist/components/ic-typography2.js +2 -2
  305. package/dist/components/ic-typography2.js.map +1 -1
  306. package/dist/core/core.css +11 -8
  307. package/dist/core/core.esm.js +1 -1
  308. package/dist/core/core.esm.js.map +1 -1
  309. package/dist/core/{p-c9953122.entry.js → p-035dbee0.entry.js} +2 -2
  310. package/dist/core/p-035dbee0.entry.js.map +1 -0
  311. package/dist/core/{p-d4a1e90d.entry.js → p-03ae0bc3.entry.js} +2 -2
  312. package/dist/core/{p-d4a1e90d.entry.js.map → p-03ae0bc3.entry.js.map} +1 -1
  313. package/dist/core/p-04a9f82f.entry.js +2 -0
  314. package/dist/core/p-04a9f82f.entry.js.map +1 -0
  315. package/dist/core/{p-e4f1d72b.entry.js → p-069e758b.entry.js} +2 -2
  316. package/dist/core/{p-4747c39f.entry.js → p-09c31ac6.entry.js} +2 -2
  317. package/dist/core/{p-4747c39f.entry.js.map → p-09c31ac6.entry.js.map} +1 -1
  318. package/dist/core/p-0f22f41e.js.map +1 -1
  319. package/dist/core/{p-0b0cc10d.entry.js → p-10950727.entry.js} +2 -2
  320. package/dist/core/p-10950727.entry.js.map +1 -0
  321. package/dist/core/p-12e8dcdd.entry.js +2 -0
  322. package/dist/core/p-12e8dcdd.entry.js.map +1 -0
  323. package/dist/core/{p-f7b1d6bf.entry.js → p-13c8859b.entry.js} +2 -2
  324. package/dist/core/{p-f7b1d6bf.entry.js.map → p-13c8859b.entry.js.map} +1 -1
  325. package/dist/core/p-15a81f32.entry.js +2 -0
  326. package/dist/core/p-15a81f32.entry.js.map +1 -0
  327. package/dist/core/p-1900c7c7.entry.js +2 -0
  328. package/dist/core/p-1900c7c7.entry.js.map +1 -0
  329. package/dist/core/{p-94e5ed81.entry.js → p-193afb53.entry.js} +2 -2
  330. package/dist/core/{p-94e5ed81.entry.js.map → p-193afb53.entry.js.map} +1 -1
  331. package/dist/core/{p-796b9ac5.entry.js → p-1be092cc.entry.js} +2 -2
  332. package/dist/core/{p-796b9ac5.entry.js.map → p-1be092cc.entry.js.map} +1 -1
  333. package/dist/core/{p-8908b8e6.entry.js → p-1ca62941.entry.js} +2 -2
  334. package/dist/core/p-2528ecec.entry.js +2 -0
  335. package/dist/core/p-2528ecec.entry.js.map +1 -0
  336. package/dist/core/{p-6d4418e4.entry.js → p-3594922d.entry.js} +2 -2
  337. package/dist/core/{p-6d4418e4.entry.js.map → p-3594922d.entry.js.map} +1 -1
  338. package/dist/core/{p-54da2d5f.entry.js → p-3f0bce15.entry.js} +2 -2
  339. package/dist/core/{p-54da2d5f.entry.js.map → p-3f0bce15.entry.js.map} +1 -1
  340. package/dist/core/p-402870f7.entry.js +2 -0
  341. package/dist/core/p-402870f7.entry.js.map +1 -0
  342. package/dist/core/{p-07365d6f.entry.js → p-444cd8d3.entry.js} +2 -2
  343. package/dist/core/{p-07365d6f.entry.js.map → p-444cd8d3.entry.js.map} +1 -1
  344. package/dist/core/{p-18b793e0.entry.js → p-5a1cfb3c.entry.js} +2 -2
  345. package/dist/core/{p-9cf6ccfd.entry.js → p-5cf704e3.entry.js} +2 -2
  346. package/dist/core/{p-9cf6ccfd.entry.js.map → p-5cf704e3.entry.js.map} +1 -1
  347. package/dist/core/{p-5d6290bb.entry.js → p-5ef453b6.entry.js} +2 -2
  348. package/dist/core/p-5ef453b6.entry.js.map +1 -0
  349. package/dist/core/{p-9b68bee6.entry.js → p-615d474e.entry.js} +2 -2
  350. package/dist/core/p-63203e59.entry.js +2 -0
  351. package/dist/core/p-63203e59.entry.js.map +1 -0
  352. package/dist/core/p-6c238418.entry.js +2 -0
  353. package/dist/core/p-6c238418.entry.js.map +1 -0
  354. package/dist/core/{p-f591abc2.entry.js → p-7026afad.entry.js} +2 -2
  355. package/dist/core/{p-f591abc2.entry.js.map → p-7026afad.entry.js.map} +1 -1
  356. package/dist/core/p-72171192.entry.js +2 -0
  357. package/dist/core/p-72171192.entry.js.map +1 -0
  358. package/dist/core/p-72b7051a.entry.js +2 -0
  359. package/dist/core/p-72b7051a.entry.js.map +1 -0
  360. package/dist/core/{p-2bba11f8.entry.js → p-7bf9bbde.entry.js} +2 -2
  361. package/dist/core/{p-2bba11f8.entry.js.map → p-7bf9bbde.entry.js.map} +1 -1
  362. package/dist/core/{p-77c4d1d2.entry.js → p-7cf6b428.entry.js} +2 -2
  363. package/dist/core/{p-77c4d1d2.entry.js.map → p-7cf6b428.entry.js.map} +1 -1
  364. package/dist/core/{p-e8cea1d5.entry.js → p-7f304d85.entry.js} +2 -2
  365. package/dist/core/{p-e8cea1d5.entry.js.map → p-7f304d85.entry.js.map} +1 -1
  366. package/dist/core/{p-37d217b5.entry.js → p-889bb8db.entry.js} +2 -2
  367. package/dist/core/{p-37d217b5.entry.js.map → p-889bb8db.entry.js.map} +1 -1
  368. package/dist/core/{p-8c841dc8.entry.js → p-8c580d88.entry.js} +2 -2
  369. package/dist/core/{p-0ec0be8d.entry.js → p-8c94541e.entry.js} +2 -2
  370. package/dist/core/{p-0ec0be8d.entry.js.map → p-8c94541e.entry.js.map} +1 -1
  371. package/dist/core/{p-6d2fa004.entry.js → p-92936b49.entry.js} +2 -2
  372. package/dist/core/{p-57721431.entry.js → p-93e1ba0a.entry.js} +2 -2
  373. package/dist/core/{p-57721431.entry.js.map → p-93e1ba0a.entry.js.map} +1 -1
  374. package/dist/core/{p-70447473.entry.js → p-982a173d.entry.js} +2 -2
  375. package/dist/core/{p-70447473.entry.js.map → p-982a173d.entry.js.map} +1 -1
  376. package/dist/core/p-9a9605c3.entry.js +2 -0
  377. package/dist/core/p-9a9605c3.entry.js.map +1 -0
  378. package/dist/core/{p-37daa8fe.entry.js → p-9c2e9189.entry.js} +2 -2
  379. package/dist/core/{p-37daa8fe.entry.js.map → p-9c2e9189.entry.js.map} +1 -1
  380. package/dist/core/p-9ce9d39a.entry.js +2 -0
  381. package/dist/core/p-9ce9d39a.entry.js.map +1 -0
  382. package/dist/core/p-9e200827.entry.js +2 -0
  383. package/dist/core/{p-9af5008c.entry.js.map → p-9e200827.entry.js.map} +1 -1
  384. package/dist/core/{p-e0abd214.entry.js → p-9fade6ad.entry.js} +2 -2
  385. package/dist/core/p-9fade6ad.entry.js.map +1 -0
  386. package/dist/core/{p-fba9f5b6.entry.js → p-a27e1cee.entry.js} +2 -2
  387. package/dist/core/{p-fba9f5b6.entry.js.map → p-a27e1cee.entry.js.map} +1 -1
  388. package/dist/core/p-a8cc28a6.entry.js +2 -0
  389. package/dist/core/p-a8cc28a6.entry.js.map +1 -0
  390. package/dist/core/{p-f6209622.entry.js → p-a99ad459.entry.js} +2 -2
  391. package/dist/core/{p-f6209622.entry.js.map → p-a99ad459.entry.js.map} +1 -1
  392. package/dist/core/{p-9a8bcb78.entry.js → p-b00efb15.entry.js} +2 -2
  393. package/dist/core/{p-9a8bcb78.entry.js.map → p-b00efb15.entry.js.map} +1 -1
  394. package/dist/core/{p-656b92d7.entry.js → p-b6d6b26e.entry.js} +2 -2
  395. package/dist/core/{p-ff4a873e.entry.js → p-b88db5e3.entry.js} +2 -2
  396. package/dist/core/{p-ff4a873e.entry.js.map → p-b88db5e3.entry.js.map} +1 -1
  397. package/dist/core/p-c0d4db72.entry.js +2 -0
  398. package/dist/core/p-c0d4db72.entry.js.map +1 -0
  399. package/dist/core/{p-d77981a5.entry.js → p-c87cc0d1.entry.js} +2 -2
  400. package/dist/core/{p-d77981a5.entry.js.map → p-c87cc0d1.entry.js.map} +1 -1
  401. package/dist/core/{p-553531bf.entry.js → p-c8ce7d60.entry.js} +2 -2
  402. package/dist/core/{p-553531bf.entry.js.map → p-c8ce7d60.entry.js.map} +1 -1
  403. package/dist/core/p-d144ca59.entry.js +2 -0
  404. package/dist/core/p-d144ca59.entry.js.map +1 -0
  405. package/dist/core/{p-492fcb51.entry.js → p-d8200098.entry.js} +2 -2
  406. package/dist/core/{p-492fcb51.entry.js.map → p-d8200098.entry.js.map} +1 -1
  407. package/dist/core/{p-479e5fa2.entry.js → p-df220b91.entry.js} +2 -2
  408. package/dist/core/p-e380a54e.entry.js +2 -0
  409. package/dist/core/p-e380a54e.entry.js.map +1 -0
  410. package/dist/core/{p-b7a726fb.entry.js → p-e4b82731.entry.js} +2 -2
  411. package/dist/core/{p-b7a726fb.entry.js.map → p-e4b82731.entry.js.map} +1 -1
  412. package/dist/core/{p-542ac498.js → p-e4ef4263.js} +2 -2
  413. package/dist/core/p-e4ef4263.js.map +1 -0
  414. package/dist/core/p-ea1de762.entry.js +2 -0
  415. package/dist/core/p-ea1de762.entry.js.map +1 -0
  416. package/dist/core/{p-a86756fa.entry.js → p-eb958cc8.entry.js} +2 -2
  417. package/dist/core/{p-a86756fa.entry.js.map → p-eb958cc8.entry.js.map} +1 -1
  418. package/dist/core/{p-b4a2f6fa.entry.js → p-f098e531.entry.js} +2 -2
  419. package/dist/core/{p-b4a2f6fa.entry.js.map → p-f098e531.entry.js.map} +1 -1
  420. package/dist/core/p-f16c4210.entry.js +2 -0
  421. package/dist/core/p-f16c4210.entry.js.map +1 -0
  422. package/dist/core/{p-c1ae14ad.entry.js → p-f3ccaa0b.entry.js} +2 -2
  423. package/dist/core/{p-c1ae14ad.entry.js.map → p-f3ccaa0b.entry.js.map} +1 -1
  424. package/dist/core/p-f457d508.entry.js +2 -0
  425. package/dist/core/p-f457d508.entry.js.map +1 -0
  426. package/dist/core/{p-266d5e13.entry.js → p-f4e7cae6.entry.js} +2 -2
  427. package/dist/core/{p-266d5e13.entry.js.map → p-f4e7cae6.entry.js.map} +1 -1
  428. package/dist/core/{p-bf5558ac.entry.js → p-fad44bc8.entry.js} +2 -2
  429. package/dist/core/{p-bf5558ac.entry.js.map → p-fad44bc8.entry.js.map} +1 -1
  430. package/dist/core/{p-5fcfcfb6.entry.js → p-fb43abd6.entry.js} +2 -2
  431. package/dist/core/{p-5fcfcfb6.entry.js.map → p-fb43abd6.entry.js.map} +1 -1
  432. package/dist/core/p-fd64c0e5.entry.js +2 -0
  433. package/dist/core/p-fd64c0e5.entry.js.map +1 -0
  434. package/dist/core/{p-ba26a1f0.entry.js → p-ffbf493f.entry.js} +2 -2
  435. package/dist/core/p-ffc1cea6.entry.js +2 -0
  436. package/dist/core/p-ffc1cea6.entry.js.map +1 -0
  437. package/dist/esm/core.js +1 -1
  438. package/dist/esm/{helpers-1dbd527e.js → helpers-5419eb6c.js} +5 -2
  439. package/dist/esm/helpers-5419eb6c.js.map +1 -0
  440. package/dist/esm/helpers-89cb996d.js.map +1 -1
  441. package/dist/esm/ic-accordion-group.entry.js +1 -1
  442. package/dist/esm/ic-accordion.entry.js +1 -1
  443. package/dist/esm/ic-action-chip.entry.js +1 -1
  444. package/dist/esm/ic-alert.entry.js +6 -4
  445. package/dist/esm/ic-alert.entry.js.map +1 -1
  446. package/dist/esm/ic-back-to-top.entry.js +6 -5
  447. package/dist/esm/ic-back-to-top.entry.js.map +1 -1
  448. package/dist/esm/ic-badge.entry.js +3 -3
  449. package/dist/esm/ic-badge.entry.js.map +1 -1
  450. package/dist/esm/ic-breadcrumb-group.entry.js +3 -3
  451. package/dist/esm/ic-breadcrumb-group.entry.js.map +1 -1
  452. package/dist/esm/ic-breadcrumb.entry.js +5 -4
  453. package/dist/esm/ic-breadcrumb.entry.js.map +1 -1
  454. package/dist/esm/ic-button_3.entry.js +43 -19
  455. package/dist/esm/ic-button_3.entry.js.map +1 -1
  456. package/dist/esm/ic-card-horizontal.entry.js +32 -6
  457. package/dist/esm/ic-card-horizontal.entry.js.map +1 -1
  458. package/dist/esm/ic-card-vertical.entry.js +5 -5
  459. package/dist/esm/ic-card-vertical.entry.js.map +1 -1
  460. package/dist/esm/ic-checkbox-group.entry.js +9 -5
  461. package/dist/esm/ic-checkbox-group.entry.js.map +1 -1
  462. package/dist/esm/ic-checkbox_3.entry.js +13 -14
  463. package/dist/esm/ic-checkbox_3.entry.js.map +1 -1
  464. package/dist/esm/ic-chip.entry.js +4 -4
  465. package/dist/esm/ic-chip.entry.js.map +1 -1
  466. package/dist/esm/ic-data-list.entry.js +2 -2
  467. package/dist/esm/ic-data-list.entry.js.map +1 -1
  468. package/dist/esm/ic-data-row.entry.js +3 -3
  469. package/dist/esm/ic-data-row.entry.js.map +1 -1
  470. package/dist/esm/ic-data-table-title-bar.entry.js +3 -3
  471. package/dist/esm/ic-data-table.entry.js +35 -15
  472. package/dist/esm/ic-data-table.entry.js.map +1 -1
  473. package/dist/esm/ic-date-input.entry.js +8 -4
  474. package/dist/esm/ic-date-input.entry.js.map +1 -1
  475. package/dist/esm/ic-date-picker.entry.js +15 -10
  476. package/dist/esm/ic-date-picker.entry.js.map +1 -1
  477. package/dist/esm/ic-dialog.entry.js +39 -13
  478. package/dist/esm/ic-dialog.entry.js.map +1 -1
  479. package/dist/esm/ic-divider.entry.js +3 -2
  480. package/dist/esm/ic-divider.entry.js.map +1 -1
  481. package/dist/esm/ic-footer-link-group.entry.js +1 -1
  482. package/dist/esm/ic-footer-link.entry.js +3 -3
  483. package/dist/esm/ic-footer-link.entry.js.map +1 -1
  484. package/dist/esm/ic-footer.entry.js +1 -1
  485. package/dist/esm/ic-hero.entry.js +8 -7
  486. package/dist/esm/ic-hero.entry.js.map +1 -1
  487. package/dist/esm/ic-horizontal-scroll.entry.js +6 -6
  488. package/dist/esm/ic-horizontal-scroll.entry.js.map +1 -1
  489. package/dist/esm/ic-input-component-container_4.entry.js +11 -11
  490. package/dist/esm/ic-input-component-container_4.entry.js.map +1 -1
  491. package/dist/esm/ic-layout-grid-item.entry.js +2 -2
  492. package/dist/esm/ic-layout-grid-item.entry.js.map +1 -1
  493. package/dist/esm/ic-layout-grid.entry.js +2 -2
  494. package/dist/esm/ic-layout-grid.entry.js.map +1 -1
  495. package/dist/esm/ic-link.entry.js +2 -2
  496. package/dist/esm/ic-link.entry.js.map +1 -1
  497. package/dist/esm/ic-menu-group.entry.js +2 -2
  498. package/dist/esm/ic-menu-group.entry.js.map +1 -1
  499. package/dist/esm/ic-menu-item.entry.js +3 -2
  500. package/dist/esm/ic-menu-item.entry.js.map +1 -1
  501. package/dist/esm/ic-menu.entry.js +13 -10
  502. package/dist/esm/ic-menu.entry.js.map +1 -1
  503. package/dist/esm/ic-navigation-button.entry.js +3 -3
  504. package/dist/esm/ic-navigation-button.entry.js.map +1 -1
  505. package/dist/esm/ic-navigation-group.entry.js +2 -2
  506. package/dist/esm/ic-navigation-group.entry.js.map +1 -1
  507. package/dist/esm/ic-navigation-item.entry.js +4 -4
  508. package/dist/esm/ic-navigation-item.entry.js.map +1 -1
  509. package/dist/esm/ic-navigation-menu.entry.js +5 -5
  510. package/dist/esm/ic-navigation-menu.entry.js.map +1 -1
  511. package/dist/esm/ic-page-header.entry.js +8 -8
  512. package/dist/esm/ic-page-header.entry.js.map +1 -1
  513. package/dist/esm/ic-pagination_4.entry.js +36 -23
  514. package/dist/esm/ic-pagination_4.entry.js.map +1 -1
  515. package/dist/esm/ic-popover-menu.entry.js +5 -5
  516. package/dist/esm/ic-popover-menu.entry.js.map +1 -1
  517. package/dist/esm/ic-radio-group.entry.js +5 -5
  518. package/dist/esm/ic-radio-group.entry.js.map +1 -1
  519. package/dist/esm/ic-radio-option.entry.js +5 -5
  520. package/dist/esm/ic-radio-option.entry.js.map +1 -1
  521. package/dist/esm/ic-search-bar.entry.js +10 -10
  522. package/dist/esm/ic-search-bar.entry.js.map +1 -1
  523. package/dist/esm/ic-section-container.entry.js +2 -2
  524. package/dist/esm/ic-section-container.entry.js.map +1 -1
  525. package/dist/esm/ic-side-navigation.entry.js +6 -6
  526. package/dist/esm/ic-side-navigation.entry.js.map +1 -1
  527. package/dist/esm/ic-skeleton.entry.js +2 -2
  528. package/dist/esm/ic-skeleton.entry.js.map +1 -1
  529. package/dist/esm/ic-skip-link.entry.js +2 -2
  530. package/dist/esm/ic-skip-link.entry.js.map +1 -1
  531. package/dist/esm/ic-status-tag.entry.js +4 -4
  532. package/dist/esm/ic-status-tag.entry.js.map +1 -1
  533. package/dist/esm/ic-step.entry.js +15 -14
  534. package/dist/esm/ic-step.entry.js.map +1 -1
  535. package/dist/esm/ic-stepper.entry.js +4 -3
  536. package/dist/esm/ic-stepper.entry.js.map +1 -1
  537. package/dist/esm/ic-switch.entry.js +5 -5
  538. package/dist/esm/ic-switch.entry.js.map +1 -1
  539. package/dist/esm/ic-tab-context.entry.js +1 -1
  540. package/dist/esm/ic-tab-context.entry.js.map +1 -1
  541. package/dist/esm/ic-tab-group.entry.js +3 -3
  542. package/dist/esm/ic-tab-group.entry.js.map +1 -1
  543. package/dist/esm/ic-tab-panel.entry.js +2 -2
  544. package/dist/esm/ic-tab-panel.entry.js.map +1 -1
  545. package/dist/esm/ic-tab.entry.js +3 -3
  546. package/dist/esm/ic-tab.entry.js.map +1 -1
  547. package/dist/esm/ic-table-of-contents.entry.js +3 -3
  548. package/dist/esm/ic-theme.entry.js +2 -2
  549. package/dist/esm/ic-theme.entry.js.map +1 -1
  550. package/dist/esm/ic-time-input.entry.js +9 -5
  551. package/dist/esm/ic-time-input.entry.js.map +1 -1
  552. package/dist/esm/ic-toast-region.entry.js +1 -1
  553. package/dist/esm/ic-toast-region.entry.js.map +1 -1
  554. package/dist/esm/ic-toast.entry.js +8 -5
  555. package/dist/esm/ic-toast.entry.js.map +1 -1
  556. package/dist/esm/ic-toggle-button-group.entry.js +8 -4
  557. package/dist/esm/ic-toggle-button-group.entry.js.map +1 -1
  558. package/dist/esm/ic-toggle-button.entry.js +58 -45
  559. package/dist/esm/ic-toggle-button.entry.js.map +1 -1
  560. package/dist/esm/ic-top-navigation.entry.js +6 -6
  561. package/dist/esm/ic-top-navigation.entry.js.map +1 -1
  562. package/dist/esm/ic-tree-item.entry.js +2 -2
  563. package/dist/esm/ic-tree-view.entry.js +3 -3
  564. package/dist/esm/ic-typography.entry.js +3 -3
  565. package/dist/esm/ic-typography.entry.js.map +1 -1
  566. package/dist/esm/loader.js +1 -1
  567. package/dist/types/components/ic-card-horizontal/ic-card-horizontal.d.ts +19 -4
  568. package/dist/types/components/ic-card-horizontal/ic-card-horizontal.stories.d.ts +51 -9
  569. package/dist/types/components/ic-data-table/ic-data-table.d.ts +5 -0
  570. package/dist/types/components/ic-data-table/ic-data-table.stories.d.ts +6 -0
  571. package/dist/types/components/ic-data-table/story-data.d.ts +1 -0
  572. package/dist/types/components/ic-date-input/ic-date-input.d.ts +5 -1
  573. package/dist/types/components/ic-date-input/ic-date-input.stories.d.ts +15 -9
  574. package/dist/types/components/ic-date-picker/ic-date-picker.d.ts +5 -1
  575. package/dist/types/components/ic-time-input/ic-time-input.d.ts +5 -1
  576. package/dist/types/components/ic-time-input/ic-time-input.stories.d.ts +14 -8
  577. package/dist/types/components.d.ts +66 -24
  578. package/dist/types/utils/types.d.ts +7 -2
  579. package/hydrate/index.js +496 -325
  580. package/hydrate/index.mjs +496 -325
  581. package/package.json +3 -3
  582. package/dist/cjs/helpers-046745ee.js.map +0 -1
  583. package/dist/collection/components/ic-card-horizontal/ic-card-horizontal.types.js +0 -2
  584. package/dist/collection/components/ic-card-horizontal/ic-card-horizontal.types.js.map +0 -1
  585. package/dist/core/p-05e0cadf.entry.js +0 -2
  586. package/dist/core/p-05e0cadf.entry.js.map +0 -1
  587. package/dist/core/p-0b0cc10d.entry.js.map +0 -1
  588. package/dist/core/p-0e882f70.entry.js +0 -2
  589. package/dist/core/p-0e882f70.entry.js.map +0 -1
  590. package/dist/core/p-182883cb.entry.js +0 -2
  591. package/dist/core/p-182883cb.entry.js.map +0 -1
  592. package/dist/core/p-1d89fcda.entry.js +0 -2
  593. package/dist/core/p-1d89fcda.entry.js.map +0 -1
  594. package/dist/core/p-2f0ab1d0.entry.js +0 -2
  595. package/dist/core/p-2f0ab1d0.entry.js.map +0 -1
  596. package/dist/core/p-35bff926.entry.js +0 -2
  597. package/dist/core/p-35bff926.entry.js.map +0 -1
  598. package/dist/core/p-542ac498.js.map +0 -1
  599. package/dist/core/p-5d6290bb.entry.js.map +0 -1
  600. package/dist/core/p-6addd986.entry.js +0 -2
  601. package/dist/core/p-6addd986.entry.js.map +0 -1
  602. package/dist/core/p-6e5fc63c.entry.js +0 -2
  603. package/dist/core/p-6e5fc63c.entry.js.map +0 -1
  604. package/dist/core/p-7986db4a.entry.js +0 -2
  605. package/dist/core/p-7986db4a.entry.js.map +0 -1
  606. package/dist/core/p-7bb3531c.entry.js +0 -2
  607. package/dist/core/p-7bb3531c.entry.js.map +0 -1
  608. package/dist/core/p-816aae93.entry.js +0 -2
  609. package/dist/core/p-816aae93.entry.js.map +0 -1
  610. package/dist/core/p-8a5ae4ab.entry.js +0 -2
  611. package/dist/core/p-8a5ae4ab.entry.js.map +0 -1
  612. package/dist/core/p-8b4a7a78.entry.js +0 -2
  613. package/dist/core/p-8b4a7a78.entry.js.map +0 -1
  614. package/dist/core/p-9af5008c.entry.js +0 -2
  615. package/dist/core/p-9fa329f2.entry.js +0 -2
  616. package/dist/core/p-9fa329f2.entry.js.map +0 -1
  617. package/dist/core/p-a7a572d9.entry.js +0 -2
  618. package/dist/core/p-a7a572d9.entry.js.map +0 -1
  619. package/dist/core/p-ac2f8cc8.entry.js +0 -2
  620. package/dist/core/p-ac2f8cc8.entry.js.map +0 -1
  621. package/dist/core/p-b10f5992.entry.js +0 -2
  622. package/dist/core/p-b10f5992.entry.js.map +0 -1
  623. package/dist/core/p-b2b5d4fa.entry.js +0 -2
  624. package/dist/core/p-b2b5d4fa.entry.js.map +0 -1
  625. package/dist/core/p-bad17ba7.entry.js +0 -2
  626. package/dist/core/p-bad17ba7.entry.js.map +0 -1
  627. package/dist/core/p-bf08d34c.entry.js +0 -2
  628. package/dist/core/p-bf08d34c.entry.js.map +0 -1
  629. package/dist/core/p-c4bf8742.entry.js +0 -2
  630. package/dist/core/p-c4bf8742.entry.js.map +0 -1
  631. package/dist/core/p-c9953122.entry.js.map +0 -1
  632. package/dist/core/p-e0abd214.entry.js.map +0 -1
  633. package/dist/esm/helpers-1dbd527e.js.map +0 -1
  634. package/dist/types/components/ic-card-horizontal/ic-card-horizontal.types.d.ts +0 -1
  635. /package/dist/core/{p-e4f1d72b.entry.js.map → p-069e758b.entry.js.map} +0 -0
  636. /package/dist/core/{p-8908b8e6.entry.js.map → p-1ca62941.entry.js.map} +0 -0
  637. /package/dist/core/{p-18b793e0.entry.js.map → p-5a1cfb3c.entry.js.map} +0 -0
  638. /package/dist/core/{p-9b68bee6.entry.js.map → p-615d474e.entry.js.map} +0 -0
  639. /package/dist/core/{p-8c841dc8.entry.js.map → p-8c580d88.entry.js.map} +0 -0
  640. /package/dist/core/{p-6d2fa004.entry.js.map → p-92936b49.entry.js.map} +0 -0
  641. /package/dist/core/{p-656b92d7.entry.js.map → p-b6d6b26e.entry.js.map} +0 -0
  642. /package/dist/core/{p-479e5fa2.entry.js.map → p-df220b91.entry.js.map} +0 -0
  643. /package/dist/core/{p-ba26a1f0.entry.js.map → p-ffbf493f.entry.js.map} +0 -0
@@ -1 +0,0 @@
1
- {"version":3,"names":["DayButton","focussed","today","day","monthInView","onFocusDay","onBlurDay","onSelectDay","selected","focussedDayRef","inRange","showDaysOutsideMonth","disableDay","handleDayClick","handleDayFocus","handleDayBlur","dayNames","stringEnumToArray","IcDayNames","months","IcDateInputMonths","outsideRange","outsideMonth","getMonth","disabled","h","class","hidden","tabIndex","undefined","getDay","getDate","getFullYear","onClick","onBlur","onFocus","ref","el","variant","italic","MonthPicker","size","focussedMonth","onSelectMonth","onKeyDown","focussedMonthRef","minDate","maxDate","yearInView","handleMonthClick","ev","button","target","Number","getAttribute","monthNames","role","map","month","index","current","dateInRange","Date","getMonthStart","getMonthEnd","YearPicker","decadeView","focussedYear","onSelectYear","onFocusYear","onBlurYear","focussedYearRef","handleYearClick","handleYearFocus","handleYearBlur","navButtonMouseDownHandler","preventDefault","prevDecade","nextDecade","years","slice","id","yearInRange","onMouseDown","slot","width","height","fill","xmlns","d","yr","flip","icDatePickerCss","IcDatePickerStyle0","DEFAULT_DATE_FORMAT","DEFAULT_DISABLE_DATES_FROM_NOW_MSG","DEFAULT_DISABLE_DATES_UNTIL_NOW_MSG","DEFAULT_DISABLE_DAYS_MSG","FOCUS_TIMER","PICKER_HEIGHT_SMALL","PICKER_HEIGHT_DEFAULT","PICKER_HEIGHT_LARGE","DatePicker","constructor","hostRef","this","clearButtonEl","daysOfWeek","dayButtonFocussed","dayPickerKeyboardNav","dialogDescription","focusDay","liveRegionEl","monthInViewUpdateHandled","myCalendarButtonClicked","showPickerAbove","todayButtonEl","yearButtonFocussed","calendarOpen","currMonthView","currYearPickerView","focussedDate","monthPickerVisible","orderedDaysOfWeek","selectedDate","yearPickerVisible","dateFormat","emitDatePartChange","disableDays","disableDaysMessage","disableFuture","disableFutureMessage","disablePast","disablePastMessage","hideHelperText","hideLabel","invalidDateMessage","max","min","openAtDate","required","showClearButton","showPickerClearButton","showPickerTodayButton","startOfWeek","IcWeekDays","Monday","theme","validationStatus","validationText","value","setDecadeView","start","currYear","decadeArr","push","decadeStart","decadeEnd","setSelectedDate","emit","dateMatches","_a","inputEl","triggerIcChange","handleCalendarMouseDown","event","tagName","handleCalendarClick","clearDialogDescription","stopImmediatePropagation","handleDocumentClick","keyDownHandler","key","closeButtonClickHandler","setCalendarFocus","focusFirstElement","monthButtonEl","setFocus","focusLastElement","focussedMonthEl","focussedYearEl","focussedDayEl","focus","focusFocussedDay","monthButtonClickHandler","setAriaLiveRegionText","setMonthSelectedLiveRegionText","yearButtonClickHandler","getDecadeInViewText","setYearSelectedLiveRegionText","todayButtonClickHandler","setFocussedDate","getMonthInViewText","setTimeout","todayButtonKeyDownHandler","shiftKey","clearButtonClickHandler","text","innerText","clearButtonKeyDownHandler","goToPreviousMonth","moveMonths","goToNextMonth","goToPreviousYear","isPrevYearAllowed","moveYears","goToNextYear","isNextYearAllowed","renderMonthYearNavButton","buttonSize","disableTooltip","monthYearNavClickHandler","innerHTML","chevron","previousMonthButton","yearMatch","nextMonthButton","previousYearButton","nextYearButton","isYearAllowed","getMonthView","date","getWeekStart","end","addSixWeeks","days","setDate","isCurrentMonth","updateMonthInView","focussedDay","handleSelectDay","handleSelectMonth","handleSelectYear","year","yrPos","indexOf","length","monthName","yearButtonEl","updateFocussedYear","monthPickerKeyDownHandler","handled","updateFocussedMonth","calendarTabHandler","yearPickerKeyDownHandler","onYearButtonFocusHandler","onYearButtonBlurHandler","monthButtonKeyDownHandler","yearButtonKeyDownHandler","handleCalendarKeyDown","moveDays","getNextDayToFocus","onDayButtonFocusHandler","onDayButtonBlurHandler","currDay","forward","level","move","nextDay","includes","numDays","numMonths","newMonth","setMonth","newDate","clampDate","numYears","newYear","setFullYear","adjust","focusYear","setFocussedYear","setFocussedDayEl","element","setFocussedMonthEl","setFocussedYearEl","prevYear","newDecade","Math","floor","oldDecade","setDateInputProps","inputProps","label","showCalendarButton","helperText","inputId","name","watchDisabledHandler","removeDisabledFalse","watchDisableFutureHandler","watchMaxHandler","watchDisablePastHandler","watchMinHandler","createDate","watchStartOfWeekHandler","concat","watchOpenHandler","pickerHeight","offsetTop","offsetHeight","window","innerHeight","openAt","dialogDesc","document","addEventListener","removeEventListener","watchFocussedDateHandler","previous","watchMonthInViewHandler","watchYearInViewHandler","watchYearPickerVisibleHandler","watchMonthPickerVisibleHandler","watchFocussedDayEl","componentWillLoad","onComponentRequiredPropUndefined","prop","propName","IcShortDayNames","componentWillRender","dateInputProps","componentWillUpdate","localCalendarButtonClickHandler","detail","calendarButtonClickHandler","render","monthButtonText","yearButtonText","dialogLabel","monthLabel","yearLabel","minDay","yesterday","Host","Object","assign","above","calendar","dayName","header","charAt"],"sources":["src/components/ic-date-picker/ic-day-button.tsx","src/components/ic-date-picker/ic-month-picker.tsx","src/components/ic-date-picker/ic-year-picker.tsx","src/components/ic-date-picker/ic-date-picker.css?tag=ic-date-picker&encapsulation=shadow","src/components/ic-date-picker/ic-date-picker.tsx"],"sourcesContent":["import { h, FunctionalComponent } from \"@stencil/core\";\nimport { stringEnumToArray } from \"../../utils/helpers\";\nimport { IcDayNames, IcDateInputMonths } from \"../../utils/types\";\n\nexport type DayButtonProps = {\n focussed: boolean;\n today: boolean;\n day: Date;\n monthInView: number;\n onFocusDay: () => void;\n onBlurDay: () => void;\n onSelectDay: (day: Date) => void;\n selected: boolean;\n focussedDayRef?: (element: HTMLButtonElement) => void;\n inRange: boolean;\n showDaysOutsideMonth?: boolean;\n disableDay?: boolean;\n};\n\nexport const DayButton: FunctionalComponent<DayButtonProps> = ({\n focussed,\n today,\n day,\n monthInView,\n onFocusDay,\n onBlurDay,\n onSelectDay,\n selected,\n focussedDayRef,\n inRange,\n showDaysOutsideMonth,\n disableDay,\n}) => {\n const handleDayClick = (): void => {\n onSelectDay(day);\n };\n\n const handleDayFocus = (): void => {\n onFocusDay();\n };\n\n const handleDayBlur = (): void => {\n onBlurDay();\n };\n\n const dayNames = stringEnumToArray(IcDayNames);\n const months = stringEnumToArray(IcDateInputMonths);\n const outsideRange = !inRange || disableDay;\n const outsideMonth = monthInView !== day.getMonth();\n const disabled = outsideRange || (outsideMonth && !showDaysOutsideMonth);\n\n return (\n <div class=\"day-button-container\">\n <button\n class={{\n \"day-button\": true,\n \"outside-month\": outsideMonth,\n \"outside-range\": !!outsideRange,\n hidden: outsideMonth && !showDaysOutsideMonth,\n disabled: disabled,\n today: today,\n selected: selected,\n focussed: focussed,\n }}\n tabIndex={focussed ? 0 : -1}\n aria-hidden={outsideMonth ? \"true\" : \"false\"}\n aria-disabled={disabled ? \"true\" : \"false\"}\n aria-current={today ? \"date\" : undefined}\n aria-label={\n disabled || outsideMonth || outsideRange\n ? undefined\n : `Choose ${dayNames[day.getDay()]}, ${day.getDate()} ${\n months[day.getMonth()]\n } ${day.getFullYear()}`\n }\n disabled={disabled}\n onClick={handleDayClick}\n onBlur={handleDayBlur}\n onFocus={handleDayFocus}\n ref={(el) => {\n if (focussed && el && focussedDayRef) {\n focussedDayRef(el);\n }\n }}\n >\n {(!outsideMonth || (outsideMonth && showDaysOutsideMonth)) && (\n <ic-typography variant=\"subtitle-small\" italic={outsideMonth}>\n {day.getDate()}\n </ic-typography>\n )}\n </button>\n </div>\n );\n};\n","import { h, FunctionalComponent } from \"@stencil/core\";\nimport {\n dateInRange,\n getMonthStart,\n getMonthEnd,\n} from \"../../utils/date-helpers\";\nimport { stringEnumToArray } from \"../../utils/helpers\";\nimport { IcSizes, IcDateInputMonths } from \"../../utils/types\";\n\nexport type MonthPickerProps = {\n focussedMonth: number;\n monthInView: number;\n yearInView: number;\n onSelectMonth: (month: number) => void;\n onKeyDown: (ev: KeyboardEvent) => void;\n focussedMonthRef: (element: HTMLIcButtonElement) => void;\n minDate: Date | null;\n maxDate: Date | null;\n size?: IcSizes;\n};\n\nexport const MonthPicker: FunctionalComponent<MonthPickerProps> = ({\n size,\n focussedMonth,\n monthInView,\n onSelectMonth,\n onKeyDown,\n focussedMonthRef,\n minDate,\n maxDate,\n yearInView,\n}) => {\n const handleMonthClick = (ev: MouseEvent): void => {\n const button = ev.target as HTMLElement;\n onSelectMonth(Number(button.getAttribute(\"data-month\")));\n };\n\n const monthNames = stringEnumToArray(IcDateInputMonths);\n\n return (\n <div\n class={{\n \"month-picker\": true,\n }}\n role=\"list\"\n >\n {monthNames.map((month, index) => {\n const current = monthInView === index;\n const focussed = focussedMonth === index;\n const outsideRange = !dateInRange(\n new Date(yearInView, index, 1),\n minDate ? getMonthStart(minDate) : null,\n maxDate ? getMonthEnd(maxDate) : null\n );\n\n return (\n <ic-button\n role=\"listitem\"\n class={{\n \"month-button\": true,\n selected: current,\n focussed: focussed,\n disabled: outsideRange,\n }}\n full-width\n disabled={outsideRange}\n variant={current ? \"primary\" : \"tertiary\"}\n data-month={index}\n size={size}\n tabIndex={focussed ? 0 : -1}\n aria-current={current ? \"true\" : \"false\"}\n aria-label={current ? \"\" : `select ${month}`}\n onClick={handleMonthClick}\n onKeyDown={onKeyDown}\n ref={(el?: HTMLIcButtonElement) => {\n if (focussed && el) {\n focussedMonthRef(el);\n }\n }}\n >\n {month}\n </ic-button>\n );\n })}\n </div>\n );\n};\n","import { h, FunctionalComponent } from \"@stencil/core\";\nimport { yearInRange } from \"../../utils/date-helpers\";\nimport { IcSizes } from \"../../utils/types\";\n\nexport type YearPickerProps = {\n decadeView: number[];\n focussedYear: number;\n yearInView: number;\n onSelectYear: (year: number) => void;\n onKeyDown: (ev: KeyboardEvent) => void;\n onFocusYear: () => void;\n onBlurYear: () => void;\n minDate: Date | null;\n maxDate: Date | null;\n focussedYearRef: (element: HTMLIcButtonElement) => void;\n size?: IcSizes;\n};\n\nexport const YearPicker: FunctionalComponent<YearPickerProps> = ({\n decadeView,\n size,\n focussedYear,\n yearInView,\n onSelectYear,\n onFocusYear,\n onBlurYear,\n onKeyDown,\n minDate,\n maxDate,\n focussedYearRef,\n}) => {\n const handleYearClick = (ev: MouseEvent): void => {\n const button = ev.target as HTMLElement;\n onSelectYear(Number(button.getAttribute(\"data-year\")));\n };\n\n const handleYearFocus = (): void => {\n onFocusYear();\n };\n\n const handleYearBlur = (): void => {\n onBlurYear();\n };\n\n const navButtonMouseDownHandler = (ev: MouseEvent): void => {\n ev.preventDefault();\n };\n\n const prevDecade = decadeView[0];\n const nextDecade = decadeView[11];\n const years = decadeView.slice(1, 11);\n\n return (\n <div class=\"year-picker\" role=\"list\">\n <div class=\"prev-decade\" aria-hidden=\"true\">\n <ic-button\n id=\"prev-decade-button\"\n class={{\n \"year-button\": true,\n }}\n disabled={!yearInRange(prevDecade, minDate, maxDate)}\n data-year={prevDecade}\n tabIndex={-1}\n variant=\"tertiary\"\n onClick={handleYearClick}\n onMouseDown={navButtonMouseDownHandler}\n aria-hidden=\"true\"\n size={size}\n >\n {`${prevDecade - 9}s`}\n <svg\n slot=\"left-icon\"\n width=\"12\"\n height=\"12\"\n fill=\"none\"\n xmlns=\"http://www.w3.org/2000/svg\"\n >\n <path\n d=\"M11.3333 5.33341H3.21996L6.94663 1.60675L5.99996 0.666748L0.666626 6.00008L5.99996 11.3334L6.93996 10.3934L3.21996 6.66675H11.3333V5.33341Z\"\n fill=\"currentColor\"\n />\n </svg>\n </ic-button>\n </div>\n {years.map((yr) => {\n const current = yearInView === yr;\n const focussed = focussedYear === yr;\n return (\n <ic-button\n class={{\n \"year-button\": true,\n selected: current,\n focussed: focussed,\n }}\n disabled={!yearInRange(yr, minDate, maxDate)}\n data-year={yr}\n tabIndex={focussed ? 0 : -1}\n variant={current ? \"primary\" : \"tertiary\"}\n onClick={handleYearClick}\n aria-label={current ? \"\" : `select ${yr}`}\n role=\"listitem\"\n aria-current={current ? \"true\" : \"false\"}\n onKeyDown={onKeyDown}\n onFocus={handleYearFocus}\n onBlur={handleYearBlur}\n size={size}\n ref={(el: HTMLIcButtonElement) => {\n if (focussed && el) {\n focussedYearRef(el);\n }\n }}\n >\n {yr}\n </ic-button>\n );\n })}\n <div class=\"next-decade\" aria-hidden=\"true\">\n <ic-button\n id=\"next-decade-button\"\n class={{\n \"year-button\": true,\n flip: true,\n }}\n disabled={!yearInRange(nextDecade, minDate, maxDate)}\n data-year={nextDecade}\n tabIndex={-1}\n variant=\"tertiary\"\n onClick={handleYearClick}\n onMouseDown={navButtonMouseDownHandler}\n aria-hidden=\"true\"\n size={size}\n >\n {`${nextDecade}s`}\n <svg\n slot=\"right-icon\"\n width=\"12\"\n height=\"12\"\n fill=\"none\"\n xmlns=\"http://www.w3.org/2000/svg\"\n >\n <path\n d=\"M11.3333 5.33341H3.21996L6.94663 1.60675L5.99996 0.666748L0.666626 6.00008L5.99996 11.3334L6.93996 10.3934L3.21996 6.66675H11.3333V5.33341Z\"\n fill=\"currentColor\"\n />\n </svg>\n </ic-button>\n </div>\n </div>\n );\n};\n","@import \"../../global/normalize.css\";\n\n/**\n* @prop --input-width: Width of the input field\n @prop --ic-z-index-date-picker: z-index of date picker.\n*/\n\n:host {\n display: block;\n position: relative;\n\n --month-year-picker-button-width: 5rem;\n --month-button-width: 5.5rem;\n --input-field-width: var(--input-width, 19.125rem);\n --ic-input-label-helpertext-padding: var(--ic-space-xxs);\n}\n\n:host(.ic-date-picker-large) {\n --month-button-width: 6.3125rem;\n --input-field-width: var(--input-width, 21.125rem);\n}\n\n:host(.ic-date-picker-small) {\n --month-button-width: 6.25rem;\n --input-field-width: var(--input-width, 17.125rem);\n}\n\n:host .date-input-container {\n position: relative;\n}\n\nic-date-input {\n --input-width: var(--input-field-width);\n}\n\n:host .calendar-container {\n min-width: 19rem;\n max-width: 23.5rem;\n width: var(--input-width);\n display: flex;\n flex-direction: column;\n gap: var(--ic-space-xs);\n position: absolute;\n border: var(--ic-border-default);\n border-color: var(--ic-date-picker-calendar-border);\n border-radius: var(--ic-border-radius);\n align-items: center;\n background-color: var(--ic-date-picker-calendar-bg);\n z-index: var(--ic-z-index-date-picker);\n box-sizing: border-box;\n box-shadow: var(--ic-date-picker-calendar-elevation);\n margin-top: var(--ic-space-xxxs);\n padding: var(--ic-space-xs);\n animation: fade-in-calendar var(--ic-transition-duration-slow);\n}\n\n:host(.ic-date-picker-small) .calendar-container {\n min-width: 17rem;\n max-width: 21.5rem;\n}\n\n:host(.ic-date-picker-large) .calendar-container {\n min-width: 21rem;\n max-width: 25.5rem;\n}\n\n:host .calendar-container.above {\n bottom: calc(var(--ic-space-xxl) - var(--ic-space-xxs));\n}\n\n:host .month-year-nav-container {\n display: flex;\n justify-content: space-between;\n align-items: center;\n align-self: stretch;\n}\n\n:host .month-year-nav-container.hidden {\n display: none;\n}\n\n:host .month-year-nav {\n display: flex;\n justify-content: space-between;\n align-items: center;\n flex: 1 0 0;\n}\n\n:host .month-picker,\n:host .year-picker {\n flex-wrap: wrap;\n display: inline-flex;\n align-items: center;\n width: 17.5rem;\n column-gap: var(--ic-space-xs);\n row-gap: var(--ic-space-xxs);\n}\n\n:host(.ic-date-picker-small) .month-picker,\n:host(.ic-date-picker-small) .year-picker {\n width: 13.125rem;\n}\n\n:host(.ic-date-picker-large) .month-picker,\n:host(.ic-date-picker-large) .year-picker {\n width: 20rem;\n}\n\n:host .month-picker-button,\n:host .year-picker-button {\n width: 5rem;\n\n --min-width: 5rem;\n}\n\n:host .month-button,\n:host .year-button {\n width: var(--month-button-width);\n}\n\n:host .month-button.focussed,\n:host .year-button.focussed {\n z-index: 1;\n}\n\n:host .month-button::part(button),\n:host .year-button::part(button) {\n min-width: var(--month-button-width);\n}\n\n:host .prev-decade .year-button svg {\n margin-right: calc(-1 * var(--ic-space-xl));\n padding-top: var(--ic-space-sm);\n}\n\n:host .prev-decade .year-button::part(button) {\n padding-left: 0;\n padding-right: var(--ic-space-lg);\n}\n\n:host(.ic-date-picker-small) .prev-decade .year-button::part(button) {\n padding-left: 0;\n padding-right: calc(var(--ic-space-lg) + var(--ic-space-xxs));\n}\n\n:host .next-decade .year-button svg {\n margin-left: calc(-1 * var(--ic-space-xl));\n padding-top: var(--ic-space-sm);\n}\n\n:host .next-decade .year-button::part(button) {\n padding-right: 0;\n padding-left: var(--ic-space-lg);\n}\n\n:host(.ic-date-picker-small) .next-decade .year-button::part(button),\n:host(.ic-date-picker-large) .next-decade .year-button::part(button) {\n padding-left: var(--ic-space-xl);\n}\n\n:host .bottom-buttons {\n display: flex;\n justify-content: space-between;\n align-items: center;\n align-self: stretch;\n animation: fade-in-buttons var(--ic-transition-duration-slow);\n}\n\n:host .bottom-buttons.no-today {\n align-items: flex-end;\n flex-direction: column;\n}\n\n:host .bottom-buttons.hidden {\n display: none;\n}\n\n:host .calendar {\n display: flex;\n flex-direction: column;\n align-items: flex-start;\n width: 15.75rem;\n animation: fade-in-buttons var(--ic-transition-duration-slow);\n}\n\n:host(.ic-date-picker-large) .calendar {\n width: 19.25rem;\n}\n\n:host(.ic-date-picker-small) .calendar {\n padding-bottom: var(--ic-space-xxs);\n width: 14rem;\n}\n\n:host .hidden {\n display: none;\n}\n\n:host .weekdays {\n display: flex;\n justify-content: space-between;\n align-items: flex-start;\n padding-bottom: var(--ic-space-xs);\n align-self: stretch;\n}\n\n:host .calendar-days-container {\n display: flex;\n flex-wrap: wrap;\n justify-content: space-between;\n row-gap: var(--ic-space-xs);\n padding: var(--ic-space-xxs) 0;\n min-height: 16rem;\n align-content: flex-start;\n}\n\n:host(.ic-date-picker-small) .calendar-days-container {\n padding: var(--ic-space-xxxs) 0;\n min-height: 14.5rem;\n}\n\n:host(.ic-date-picker-large) .calendar-days-container {\n padding: var(--ic-space-xs) 0;\n min-height: 17.5rem;\n}\n\n:host .calendar-day-header {\n display: flex;\n width: 2rem;\n padding: var(--ic-space-xxs) 0;\n justify-content: center;\n align-items: center;\n}\n\n:host(.ic-date-picker-small) .calendar-day-header,\n:host(.ic-date-picker-large) .calendar-day-header {\n padding: var(--ic-space-xxs);\n}\n\n:host .calendar-day-header ic-typography {\n --ic-typography-color: var(--ic-date-picker-calendar-label);\n\n text-align: center;\n}\n\n:host .day-button-container {\n display: flex;\n justify-content: center;\n align-items: center;\n width: 2.25rem;\n height: 2.25rem;\n}\n\n:host(.ic-date-picker-small) .day-button-container {\n width: 2rem;\n height: 2rem;\n}\n\n:host(.ic-date-picker-large) .day-button-container {\n width: 2.5rem;\n height: 2.5rem;\n}\n\n:host .day-button {\n display: flex;\n position: relative;\n justify-content: center;\n align-items: center;\n border: 0;\n border-radius: 2rem;\n background-color: var(--ic-date-picker-calendar-bg);\n width: 2rem;\n height: 2rem;\n cursor: pointer;\n transition: var(--ic-easing-transition-fast);\n z-index: 0;\n}\n\n:host .day-button.disabled {\n cursor: default;\n}\n\n:host(.ic-date-picker-large) .day-button {\n width: 2.25rem;\n height: 2.25rem;\n}\n\n:host(.ic-date-picker-small) .day-button {\n width: 1.75rem;\n height: 1.75rem;\n}\n\n:host .day-button ic-typography {\n width: 1.75rem;\n\n --ic-typography-color: var(--ic-date-picker-date-label-default);\n}\n\n:host .day-button.outside-range ic-typography {\n --ic-typography-color: var(--ic-date-picker-date-label-disabled);\n}\n\n:host .day-button.outside-month ic-typography {\n font-weight: var(--ic-font-weight-regular) !important;\n}\n\n:host\n .day-button.outside-month:not(.outside-range):not(.selected)\n ic-typography {\n --ic-typography-color: var(--ic-date-picker-date-label-default);\n}\n\n:host .day-button:hover:not(.disabled) {\n background-color: var(--ic-date-picker-date-default-bg-hover);\n}\n\n:host .day-button:active:not(.disabled) {\n background-color: var(--ic-date-picker-date-default-bg-pressed);\n}\n\n@media (prefers-reduced-motion: no-preference) {\n :host .day-button:hover:not(.disabled):not(.focussed),\n :host .day-button:active:not(.disabled):not(.focussed) {\n transition: background-color var(--ic-transition-duration-slow) ease-in-out;\n }\n}\n\n:host .day-button.selected:not(.hidden) {\n background-color: var(--ic-date-picker-date-active-bg-default);\n}\n\n:host .day-button.selected ic-typography {\n --ic-typography-color: var(--ic-date-picker-date-label-selected);\n}\n\n:host .day-button.selected:not(.hidden):hover {\n background-color: var(--ic-date-picker-date-active-bg-hover);\n}\n\n:host .day-button.selected:not(.hidden):active {\n background-color: var(--ic-date-picker-date-active-bg-pressed);\n}\n\n:host .day-button.focussed {\n z-index: 1;\n}\n\n:host .day-button:focus {\n outline: none;\n}\n\n:host .day-button.focussed:focus {\n box-shadow: var(--ic-border-focus);\n}\n\n:host .day-button.today:not(.hidden)::after {\n content: \"\";\n position: absolute;\n width: 0.875rem;\n height: 0.125rem;\n bottom: 0.4rem;\n border-radius: var(--ic-border-radius);\n background-color: var(--ic-date-picker-default-underline);\n}\n\n:host(.ic-date-picker-small) .day-button.today::after {\n bottom: 0.35rem;\n}\n\n:host(.ic-date-picker-large) .day-button.today::after {\n width: 1rem;\n}\n\n:host .day-button.today.selected::after {\n background-color: var(--ic-date-picker-selected-underline);\n}\n\n:host #select-month-hint,\n:host #select-year-hint {\n display: none;\n}\n\n.sr-only {\n position: absolute;\n left: -9999px;\n}\n\n@media (prefers-reduced-motion: reduce) {\n :host .calendar-container,\n :host .calendar,\n :host .bottom-buttons {\n animation: none;\n }\n}\n\n@keyframes fade-in-buttons {\n 0% {\n opacity: 0;\n }\n\n 50% {\n opacity: 0;\n }\n\n 100% {\n opacity: 1;\n }\n}\n\n@keyframes fade-in-calendar {\n 0% {\n display: flex;\n max-height: 0;\n }\n\n 100% {\n display: flex;\n max-height: 600px;\n }\n}\n\n@media (forced-colors: active) {\n :host .day-button.today:not(.hidden)::after {\n background-color: highlight;\n }\n\n :host .day-button.selected:not(.hidden) {\n background-color: highlight;\n }\n\n :host .day-button.focussed:focus {\n border: var(--ic-border-hc);\n }\n\n :host .month-button.selected::part(button),\n :host .year-button.selected::part(button) {\n background-color: highlight;\n }\n}\n","import {\n Component,\n Element,\n Host,\n h,\n Prop,\n Listen,\n Watch,\n State,\n Event,\n EventEmitter,\n} from \"@stencil/core\";\nimport {\n createDate,\n clampDate,\n dateMatches,\n dateInRange,\n getMonthStart,\n getMonthEnd,\n getWeekStart,\n yearInRange,\n addSixWeeks,\n} from \"../../utils/date-helpers\";\nimport {\n stringEnumToArray,\n onComponentRequiredPropUndefined,\n removeDisabledFalse,\n} from \"../../utils/helpers\";\nimport {\n IcWeekDays,\n IcShortDayNames,\n IcDateInputMonths,\n IcDateFormat,\n IcSizes,\n IcInformationStatusOrEmpty,\n IcThemeMode,\n} from \"../../utils/types\";\nimport chevron from \"../../assets/chevron-icon.svg\";\nimport { DayButton } from \"./ic-day-button\";\nimport { MonthPicker } from \"./ic-month-picker\";\nimport { YearPicker } from \"./ic-year-picker\";\n\nconst DEFAULT_DATE_FORMAT = \"DD/MM/YYYY\";\nconst DEFAULT_DISABLE_DATES_FROM_NOW_MSG =\n \"Dates in the future are not allowed. Please select a date in the past.\";\nconst DEFAULT_DISABLE_DATES_UNTIL_NOW_MSG =\n \"Dates in the past are not allowed. Please select a date in the future.\";\nconst DEFAULT_DISABLE_DAYS_MSG =\n \"The date you have selected is on a day of the week that is not allowed. Please select another date.\";\nconst FOCUS_TIMER = 100;\nconst PICKER_HEIGHT_SMALL = 360;\nconst PICKER_HEIGHT_DEFAULT = 400;\nconst PICKER_HEIGHT_LARGE = 440;\n\ninterface IcDateInputProps {\n dateFormat?: IcDateFormat;\n disabled?: boolean;\n disableDays?: IcWeekDays[];\n disableDaysMessage?: string;\n disableFuture?: boolean;\n disableFutureMessage?: string;\n disablePast?: boolean;\n disablePastMessage?: string;\n emitDatePartChange?: boolean;\n helperText?: string;\n hideHelperText?: boolean;\n hideLabel?: boolean;\n inputId?: string;\n invalidDateMessage?: string;\n label: string;\n max?: string | Date;\n min?: string | Date;\n name?: string;\n required?: boolean;\n showClearButton?: boolean;\n showCalendarButton?: boolean;\n size?: IcSizes;\n value?: string | Date | null;\n validationStatus?: IcInformationStatusOrEmpty;\n validationText?: string;\n}\n\n/**\n * @slot helper-text - Content is set as the helper text for the date picker.\n */\n@Component({\n tag: \"ic-date-picker\",\n styleUrl: \"ic-date-picker.css\",\n shadow: {\n delegatesFocus: true,\n },\n})\nexport class DatePicker {\n private inputEl?: HTMLIcDateInputElement;\n private clearButtonEl: HTMLIcButtonElement | null = null;\n private dateInputProps: IcDateInputProps;\n private daysOfWeek: string[] = [];\n private dayButtonFocussed: boolean = false;\n private dayPickerKeyboardNav: boolean = false;\n private decadeStart: number;\n private decadeEnd: number;\n private dialogDescription: string = \"\";\n private focusDay: boolean = true;\n private focussedYearEl: HTMLIcButtonElement;\n private liveRegionEl?: HTMLElement = undefined;\n private monthButtonEl: HTMLIcButtonElement;\n private monthNames: string[] = [];\n private monthInViewUpdateHandled: boolean = false;\n private myCalendarButtonClicked: boolean = false;\n private showPickerAbove: boolean = false;\n private today = new Date();\n private todayButtonEl: HTMLIcButtonElement | null = null;\n private yearButtonEl: HTMLIcButtonElement;\n private yearButtonFocussed: boolean = false;\n\n @Element() el: HTMLIcDatePickerElement;\n\n @State() calendarOpen: boolean = false;\n @State() currMonthView: Date[] = [];\n @State() currYearPickerView: number[] = [];\n @State() decadeView: number[] = [];\n @State() focussedDate: Date | null = null;\n @State() focussedDay: number;\n @State() focussedDayEl: HTMLButtonElement;\n @State() focussedMonth: number;\n @State() focussedMonthEl: HTMLIcButtonElement;\n @State() focussedYear: number;\n @State() maxDate: Date | null = null;\n @State() minDate: Date | null = null;\n @State() monthInView: number;\n @State() monthPickerVisible: boolean = false;\n @State() orderedDaysOfWeek: string[] = [];\n @State() selectedDate: Date | null = null;\n @State() yearInView: number;\n @State() yearPickerVisible: boolean = false;\n\n /**\n * The format in which the date will be displayed.\n */\n @Prop() dateFormat: IcDateFormat = \"DD/MM/YYYY\";\n\n /**\n * If `true`, the disabled state will be set.\n */\n @Prop() disabled: boolean = false;\n @Watch(\"disabled\")\n watchDisabledHandler(): void {\n removeDisabledFalse(this.disabled, this.el);\n }\n\n /**\n * If `true`, every individual input field completed will emit an icChange event.\n */\n @Prop() emitDatePartChange?: boolean = false;\n\n /**\n * The days of the week to disable.\n */\n @Prop() disableDays?: IcWeekDays[] = [];\n\n /**\n * The text to display as the validation message when `disableDays` is `true` and a disabled date is entered.\n */\n @Prop() disableDaysMessage?: string =\n \"The date you have selected is on a day of the week that is not allowed. Please select another date.\";\n\n /**\n * If `true`, dates in the future are not allowed. A validation message will appear if a date in the future is entered.\n */\n @Prop() disableFuture?: boolean = false;\n\n @Watch(\"disableFuture\")\n watchDisableFutureHandler(): void {\n this.watchMaxHandler();\n }\n\n /**\n * The text to display as the validation message when `disableFuture` is `true` and a date in the future is entered.\n */\n @Prop() disableFutureMessage?: string =\n \"Dates in the future are not allowed. Please select a date in the past.\";\n\n /**\n * If `true`, dates in the past are not allowed. A validation message will appear if a date in the past is entered.\n */\n @Prop() disablePast?: boolean = false;\n\n @Watch(\"disablePast\")\n watchDisablePastHandler(): void {\n this.watchMinHandler();\n }\n\n /**\n * The text to display as the validation message when `disablePast` is `true` and a date in the past is entered.\n */\n @Prop() disablePastMessage?: string =\n \"Dates in the past are not allowed. Please select a date in the future.\";\n\n /**\n * The helper text that will be displayed for additional field guidance. This will default to the text \"Use format\" along with the `dateFormat` value.\n */\n @Prop() helperText?: string;\n\n /**\n * If `true`, the helper text will be visually hidden, but still read out by screenreaders.\n */\n @Prop() hideHelperText: boolean = false;\n\n /**\n * If `true`, the label will be visually hidden, but the required label will still be read out by screen readers.\n */\n @Prop() hideLabel?: boolean = false;\n\n /**\n * The ID for the input field. The default will be an automatically generated value.\n */\n @Prop() inputId?: string;\n\n /**\n * The text to display as the validation message when an invalid date is entered.\n */\n @Prop() invalidDateMessage?: string = \"Please enter a valid date.\";\n\n /**\n * The label for the date input.\n */\n @Prop() label!: string;\n\n /**\n * The latest date that will be allowed. The value can be in any format supported as `dateFormat`, in ISO 8601 date string format (`yyyy-mm-dd`) or as a JavaScript `Date` object.\n * The value of this prop is ignored if `disableFuture` is set to `true`.\n */\n @Prop() max: string | Date = \"\";\n @Watch(\"max\")\n watchMaxHandler(): void {\n if (this.disableFuture) {\n this.maxDate = new Date();\n } else {\n this.maxDate = createDate(this.max, this.dateFormat);\n }\n }\n\n /**\n * The earliest date that will be allowed. The value can be in any format supported as `dateFormat`, in ISO 8601 date string format (`yyyy-mm-dd`) or as a JavaScript `Date` object.\n * The value of this prop is ignored if `disablePast` is set to `true`.\n */\n @Prop() min: string | Date = \"\";\n @Watch(\"min\")\n watchMinHandler(): void {\n if (this.disablePast) {\n this.minDate = new Date();\n } else {\n this.minDate = createDate(this.min, this.dateFormat);\n }\n }\n\n /**\n * The name of the control, which is submitted with the form data.\n */\n @Prop() name?: string;\n\n /**\n * The date visible when the calendar opens. Used if no date is currently selected.\n * The value can be in any format supported as `dateFormat`, in ISO 8601 date string format (`yyyy-mm-dd`) or as a JavaScript `Date` object.\n */\n @Prop() openAtDate: string | Date = \"\";\n\n /**\n * If `true`, the input will require a value.\n */\n @Prop() required?: boolean = false;\n\n /**\n * If `true`, days outside the current month will be visible in the date picker.\n */\n @Prop() showDaysOutsideMonth?: boolean = true;\n\n /**\n * If 'true', the 'X' button on the date input will be visible, which clears the field.\n */\n @Prop() showClearButton?: boolean = true;\n\n /**\n * If `true`, the `Clear` button on the date picker will be visible.\n */\n @Prop() showPickerClearButton?: boolean = true;\n\n /**\n * If `true`, the `Go to today` button on the date picker will be visible.\n */\n @Prop() showPickerTodayButton?: boolean = true;\n\n /**\n * The size of the date picker to be displayed.\n */\n @Prop() size?: IcSizes = \"medium\";\n\n /**\n * The first day of the week. `0` for Sunday, `1` for Monday, etc.\n * Default is Monday.\n */\n @Prop() startOfWeek: IcWeekDays = IcWeekDays.Monday;\n\n @Watch(\"startOfWeek\")\n watchStartOfWeekHandler(): void {\n this.orderedDaysOfWeek = this.daysOfWeek\n .slice(this.startOfWeek)\n .concat(this.daysOfWeek.slice(0, this.startOfWeek));\n if (this.calendarOpen) {\n this.updateMonthInView();\n }\n }\n\n /**\n * Sets the date picker to the dark or light theme colors. \"inherit\" will set the color based on the system settings or ic-theme component.\n */\n @Prop() theme?: IcThemeMode = \"inherit\";\n\n /**\n * The validation status - e.g. 'error' | 'warning' | 'success'. This will override the built-in date validation.\n */\n @Prop() validationStatus?: IcInformationStatusOrEmpty = \"\";\n\n /**\n * The text to display as the validation message. This will override the built-in date validation.\n */\n @Prop() validationText?: string = \"\";\n\n /**\n * The value of the date picker. The value can be in any format supported as `dateFormat`, in ISO 8601 date string format (`yyyy-mm-dd`) or as a JavaScript `Date` object.\n */\n @Prop({ mutable: true }) value?: string | Date | null | undefined = \"\";\n\n @Watch(\"calendarOpen\")\n watchOpenHandler(): void {\n if (this.calendarOpen) {\n if (this.inputEl) {\n let pickerHeight = PICKER_HEIGHT_DEFAULT;\n if (this.size === \"small\") {\n pickerHeight = PICKER_HEIGHT_SMALL;\n } else if (this.size === \"large\") {\n pickerHeight = PICKER_HEIGHT_LARGE;\n }\n if (\n this.el.offsetTop + this.inputEl.offsetHeight + pickerHeight >\n window.innerHeight &&\n this.el.offsetTop > pickerHeight\n ) {\n this.showPickerAbove = true;\n } else {\n this.showPickerAbove = false;\n }\n }\n if (\n this.selectedDate === null ||\n !dateInRange(this.selectedDate, this.minDate, this.maxDate)\n ) {\n let openAt = new Date();\n if (this.openAtDate !== \"\") {\n openAt = createDate(this.openAtDate, this.dateFormat);\n }\n this.setFocussedDate(openAt);\n } else {\n this.setFocussedDate(this.selectedDate);\n }\n let dialogDesc = this.getMonthInViewText();\n if (this.selectedDate === null) {\n dialogDesc += \" No date selected.\";\n }\n dialogDesc +=\n \" Use arrow keys to change day. Press enter or space to select a date or press escape to close the picker\";\n this.dialogDescription = dialogDesc;\n setTimeout(() => this.focusFocussedDay(), FOCUS_TIMER);\n document.addEventListener(\"click\", this.handleDocumentClick);\n } else {\n document.removeEventListener(\"click\", this.handleDocumentClick);\n this.monthPickerVisible = false;\n this.yearPickerVisible = false;\n }\n }\n\n @Watch(\"focussedDate\")\n watchFocussedDateHandler(current: Date, previous: Date): void {\n if (\n previous === null ||\n !(\n previous.getFullYear() === current.getFullYear() &&\n previous.getMonth() === current.getMonth()\n )\n ) {\n this.updateMonthInView();\n }\n }\n\n @Watch(\"monthInView\")\n watchMonthInViewHandler(): void {\n this.focussedMonth = this.monthInView;\n }\n\n @Watch(\"yearInView\")\n watchYearInViewHandler(): void {\n this.setFocussedYear(this.yearInView, false);\n }\n\n @Watch(\"yearPickerVisible\")\n watchYearPickerVisibleHandler(): void {\n if (!this.yearPickerVisible) {\n this.setFocussedYear(this.yearInView);\n }\n }\n\n @Watch(\"monthPickerVisible\")\n watchMonthPickerVisibleHandler(): void {\n if (!this.monthPickerVisible) {\n this.focussedMonth = this.monthInView;\n }\n }\n\n @Watch(\"focussedDayEl\")\n watchFocussedDayEl(): void {\n if (this.focusDay) {\n setTimeout(() => this.focusFocussedDay(), FOCUS_TIMER);\n }\n\n this.focusDay = true;\n }\n\n /**\n * Emitted when the value has changed.\n */\n @Event() icChange: EventEmitter<{ value: Date }>;\n\n componentWillLoad(): void {\n onComponentRequiredPropUndefined(\n [{ prop: this.label, propName: \"label\" }],\n \"Date Picker\"\n );\n\n this.monthNames = stringEnumToArray(IcDateInputMonths);\n this.daysOfWeek = stringEnumToArray(IcShortDayNames);\n\n this.watchStartOfWeekHandler();\n this.watchMaxHandler();\n this.watchMinHandler();\n removeDisabledFalse(this.disabled, this.el);\n }\n\n componentWillRender(): void {\n this.dateInputProps = this.setDateInputProps();\n }\n\n componentWillUpdate(): void {\n this.dateInputProps = this.setDateInputProps();\n }\n\n @Listen(\"calendarButtonClicked\")\n localCalendarButtonClickHandler(\n ev: CustomEvent<{ value: Date | null }>\n ): void {\n this.myCalendarButtonClicked = true;\n if (!this.calendarOpen) {\n this.setSelectedDate(ev.detail.value, false);\n }\n\n this.calendarOpen = !this.calendarOpen;\n }\n\n @Listen(\"calendarButtonClicked\", { target: \"document\" })\n calendarButtonClickHandler(): void {\n //closes this picker if calendar button in another clicked\n if (!this.myCalendarButtonClicked) {\n this.calendarOpen = false;\n }\n this.myCalendarButtonClicked = false;\n }\n\n private setDecadeView = (start: number) => {\n let currYear = start - 1;\n const decadeArr = [];\n while (currYear <= start + 10) {\n decadeArr.push(currYear);\n currYear++;\n }\n this.decadeView = decadeArr;\n this.decadeStart = decadeArr[1];\n this.decadeEnd = decadeArr[10];\n };\n\n private setSelectedDate = (d: Date | null, emit = true): void => {\n if (d === null || !dateMatches(d, this.selectedDate)) {\n this.selectedDate = d;\n this.value = d;\n if (emit) {\n this.inputEl?.triggerIcChange(d);\n }\n }\n };\n\n private handleCalendarMouseDown = (event: MouseEvent): void => {\n const target = event.target as HTMLElement;\n if (target.tagName !== \"IC-BUTTON\") {\n event.preventDefault();\n }\n };\n\n private handleCalendarClick = (event: MouseEvent): void => {\n this.clearDialogDescription();\n event.stopImmediatePropagation();\n };\n\n private handleDocumentClick = (): void => {\n this.calendarOpen = false;\n };\n\n private keyDownHandler = (event: KeyboardEvent) => {\n if (event.key === \"Escape\") {\n if (this.calendarOpen) {\n this.closeButtonClickHandler();\n this.inputEl?.setCalendarFocus();\n event.stopImmediatePropagation();\n }\n } else {\n this.clearDialogDescription();\n event.stopImmediatePropagation();\n }\n };\n\n private closeButtonClickHandler = () => {\n this.calendarOpen = false;\n };\n\n private focusFirstElement = () => {\n this.monthButtonEl.setFocus();\n };\n\n private focusLastElement = () => {\n if (\n this.showPickerClearButton &&\n this.clearButtonEl &&\n !this.clearButtonEl.disabled\n ) {\n this.clearButtonEl.setFocus();\n } else if (\n this.showPickerTodayButton &&\n this.todayButtonEl &&\n !this.todayButtonEl.disabled\n ) {\n this.todayButtonEl.setFocus();\n } else if (this.monthPickerVisible) {\n this.focussedMonthEl.setFocus();\n } else if (this.yearPickerVisible) {\n this.focussedYearEl.setFocus();\n } else {\n this.focussedDayEl.focus();\n }\n };\n\n private focusFocussedDay = () => {\n this.focussedDayEl.focus();\n };\n\n private monthButtonClickHandler = () => {\n this.yearPickerVisible = false;\n this.focusDay = false;\n this.monthPickerVisible = !this.monthPickerVisible;\n if (this.monthPickerVisible) {\n this.setAriaLiveRegionText(\"Month picker view open\");\n } else {\n this.setMonthSelectedLiveRegionText();\n }\n };\n\n private yearButtonClickHandler = () => {\n this.monthPickerVisible = false;\n this.focusDay = false;\n this.yearPickerVisible = !this.yearPickerVisible;\n if (this.yearPickerVisible) {\n this.setAriaLiveRegionText(\n `Year picker view open. ${this.getDecadeInViewText()}`\n );\n } else {\n this.setYearSelectedLiveRegionText();\n }\n };\n\n private todayButtonClickHandler = () => {\n this.yearPickerVisible = false;\n this.monthPickerVisible = false;\n this.setFocussedDate(new Date());\n this.setAriaLiveRegionText(this.getMonthInViewText());\n\n setTimeout(() => this.focusFocussedDay(), FOCUS_TIMER);\n };\n\n private todayButtonKeyDownHandler = (ev: KeyboardEvent) => {\n if (ev.key === \"Tab\" && !ev.shiftKey && this.clearButtonEl?.disabled) {\n this.focusFirstElement();\n ev.preventDefault();\n }\n };\n\n private clearButtonClickHandler = () => {\n this.setSelectedDate(null);\n let text = \"Selected date cleared.\";\n if (!this.monthPickerVisible && !this.yearPickerVisible) {\n text += ` ${this.getMonthInViewText()}`;\n }\n if (this.monthPickerVisible) {\n this.focussedMonthEl.setFocus();\n } else if (this.yearPickerVisible) {\n this.focussedYearEl.setFocus();\n } else {\n this.focusFocussedDay();\n }\n this.setAriaLiveRegionText(text);\n };\n\n private setMonthSelectedLiveRegionText = () => {\n this.setAriaLiveRegionText(\n `${\n this.monthNames[this.monthInView]\n } selected. ${this.getMonthInViewText()}`\n );\n };\n\n private setYearSelectedLiveRegionText = () => {\n this.setAriaLiveRegionText(\n `${this.yearInView} selected. ${this.getMonthInViewText()}`\n );\n };\n\n private getMonthInViewText = () => {\n return `${this.monthNames[this.monthInView]} ${\n this.yearInView\n } currently in view.`;\n };\n\n private getDecadeInViewText = () => {\n return `${this.decadeStart} to ${this.decadeEnd} currently in view.`;\n };\n\n private setAriaLiveRegionText = (text: string) => {\n this.liveRegionEl && (this.liveRegionEl.innerText = text);\n };\n\n private clearDialogDescription = () => {\n this.dialogDescription = \"\";\n };\n\n private clearButtonKeyDownHandler = (ev: KeyboardEvent) => {\n if (ev.key === \"Tab\" && !ev.shiftKey) {\n this.focusFirstElement();\n ev.preventDefault();\n }\n };\n\n private goToPreviousMonth = (focusDay = false) => {\n this.focusDay = focusDay;\n this.moveMonths(-1);\n };\n\n private goToNextMonth = (focusDay = false) => {\n this.focusDay = focusDay;\n this.moveMonths(1);\n };\n\n private goToPreviousYear = (focusDay = false) => {\n if (this.isPrevYearAllowed()) {\n this.focusDay = focusDay;\n this.moveYears(-1);\n }\n };\n\n private goToNextYear = (focusDay = false) => {\n if (this.isNextYearAllowed()) {\n this.focusDay = focusDay;\n this.moveYears(1);\n }\n };\n\n private navButtonMouseDownHandler = (ev: MouseEvent): void => {\n ev.preventDefault();\n };\n\n private renderMonthYearNavButton = (\n id: string,\n flip: boolean,\n disabled: boolean\n ): void => {\n const buttonSize = this.size;\n return (\n <div aria-hidden=\"true\">\n <ic-button\n id={id}\n disableTooltip={true}\n disabled={disabled}\n onClick={this.monthYearNavClickHandler}\n class={{ flip: flip }}\n variant=\"icon-tertiary\"\n innerHTML={chevron}\n size={buttonSize}\n tabIndex={-1}\n aria-hidden=\"true\"\n onMouseDown={this.navButtonMouseDownHandler}\n />\n </div>\n );\n };\n\n private monthYearNavClickHandler = (ev: Event): void => {\n const target = ev.target as Element;\n switch (target.id) {\n case \"previous-month-button\":\n this.goToPreviousMonth(this.dayButtonFocussed);\n break;\n\n case \"next-month-button\":\n this.goToNextMonth(this.dayButtonFocussed);\n break;\n\n case \"previous-year-button\":\n this.goToPreviousYear(this.dayButtonFocussed);\n break;\n\n case \"next-year-button\":\n this.goToNextYear(this.dayButtonFocussed);\n break;\n }\n };\n\n private previousMonthButton = (): void => {\n let disabled = false;\n if (this.focussedDate !== null && this.minDate !== null) {\n const yearMatch =\n this.focussedDate.getFullYear() === this.minDate.getFullYear();\n if (yearMatch) {\n disabled = this.monthInView - 1 < this.minDate.getMonth();\n }\n }\n return this.renderMonthYearNavButton(\n \"previous-month-button\",\n true,\n disabled\n );\n };\n\n private nextMonthButton = (): void => {\n let disabled = false;\n if (this.focussedDate !== null && this.maxDate !== null) {\n const yearMatch =\n this.focussedDate.getFullYear() === this.maxDate.getFullYear();\n if (yearMatch) {\n disabled = this.monthInView + 1 > this.maxDate.getMonth();\n }\n }\n return this.renderMonthYearNavButton(\"next-month-button\", false, disabled);\n };\n\n private previousYearButton = (): void => {\n return this.renderMonthYearNavButton(\n \"previous-year-button\",\n true,\n !this.isPrevYearAllowed()\n );\n };\n\n private nextYearButton = (): void => {\n return this.renderMonthYearNavButton(\n \"next-year-button\",\n false,\n !this.isNextYearAllowed()\n );\n };\n\n private isPrevYearAllowed = (): boolean => {\n return this.isYearAllowed(this.yearInView - 1);\n };\n\n private isNextYearAllowed = (): boolean => {\n return this.isYearAllowed(this.yearInView + 1);\n };\n\n private isYearAllowed = (yr: number): boolean =>\n yearInRange(yr, this.minDate, this.maxDate);\n\n private getMonthView = (date: Date): Date[] => {\n const start = getWeekStart(getMonthStart(date), this.startOfWeek);\n const end = addSixWeeks(start);\n\n const days: Date[] = [];\n let current = start;\n\n while (!dateMatches(current, end)) {\n days.push(current);\n current = new Date(current);\n current.setDate(current.getDate() + 1);\n }\n\n days.push(current);\n\n return days;\n };\n\n private isCurrentMonth = (): boolean => {\n const d = new Date();\n return (\n d.getFullYear() === this.yearInView && d.getMonth() === this.monthInView\n );\n };\n\n private updateMonthInView = (): void => {\n if (this.focussedDate) {\n this.currMonthView = this.getMonthView(this.focussedDate);\n\n this.focussedDay = this.focussedDate.getDate();\n this.monthInView = this.focussedDate.getMonth();\n this.yearInView = this.focussedDate.getFullYear();\n\n if (this.dayPickerKeyboardNav) {\n this.monthInViewUpdateHandled = true;\n this.setAriaLiveRegionText(this.getMonthInViewText());\n this.dayPickerKeyboardNav = false;\n }\n }\n };\n\n private handleSelectDay = (day: Date): void => {\n this.setSelectedDate(day);\n this.calendarOpen = false;\n this.inputEl?.setCalendarFocus();\n };\n\n private handleSelectMonth = (month: number): void => {\n this.moveMonths(month - this.monthInView);\n setTimeout(() => {\n this.monthButtonEl.setFocus();\n this.monthPickerVisible = false;\n this.setMonthSelectedLiveRegionText();\n }, FOCUS_TIMER);\n };\n\n private handleSelectYear = (year: number): void => {\n const yrPos = this.decadeView.indexOf(year);\n if (yrPos > 0 && yrPos < this.decadeView.length - 1) {\n this.moveYears(year - this.yearInView);\n this.focusDay = false;\n const monthName = this.monthNames[this.monthInView];\n this.setAriaLiveRegionText(\n `${year} selected. ${monthName} ${year} currently in view.`\n );\n setTimeout(() => {\n this.yearButtonEl.setFocus();\n this.yearPickerVisible = false;\n }, FOCUS_TIMER);\n } else {\n const moveYears = year - this.focussedYear > 0 ? 10 : -10;\n this.updateFocussedYear(moveYears, this.yearButtonFocussed);\n this.setAriaLiveRegionText(this.getDecadeInViewText());\n }\n };\n\n private monthPickerKeyDownHandler = (ev: KeyboardEvent): void => {\n let handled = true;\n switch (ev.key) {\n case \"ArrowUp\":\n case \"ArrowLeft\":\n this.updateFocussedMonth(-1);\n break;\n\n case \"ArrowDown\":\n case \"ArrowRight\":\n this.updateFocussedMonth(1);\n break;\n\n case \"Home\":\n this.updateFocussedMonth(-this.focussedMonth);\n break;\n\n case \"End\":\n this.updateFocussedMonth(11 - this.focussedMonth);\n break;\n\n case \"Tab\":\n handled = this.calendarTabHandler(ev);\n break;\n\n case \"Escape\":\n ev.stopImmediatePropagation();\n this.monthPickerVisible = false;\n setTimeout(() => this.focusFocussedDay(), FOCUS_TIMER);\n break;\n\n default:\n handled = false;\n }\n\n if (handled) {\n ev.preventDefault();\n }\n };\n\n private yearPickerKeyDownHandler = (ev: KeyboardEvent): void => {\n let handled = true;\n switch (ev.key) {\n case \"ArrowUp\":\n case \"ArrowLeft\":\n this.updateFocussedYear(-1);\n break;\n\n case \"ArrowDown\":\n case \"ArrowRight\":\n this.updateFocussedYear(1);\n break;\n\n case \"Home\":\n if (this.focussedYear > this.decadeStart) {\n this.updateFocussedYear(this.decadeStart - this.focussedYear);\n }\n break;\n\n case \"End\":\n if (this.focussedYear < this.decadeEnd) {\n this.updateFocussedYear(this.decadeEnd - this.focussedYear);\n }\n break;\n\n case \"PageUp\":\n this.updateFocussedYear(-10);\n break;\n\n case \"PageDown\":\n this.updateFocussedYear(10);\n break;\n\n case \"Tab\":\n handled = this.calendarTabHandler(ev);\n break;\n\n case \"Escape\":\n ev.stopImmediatePropagation();\n this.yearPickerVisible = false;\n setTimeout(() => this.focusFocussedDay(), FOCUS_TIMER);\n break;\n\n default:\n handled = false;\n }\n\n if (handled) {\n ev.preventDefault();\n }\n };\n\n private onYearButtonFocusHandler = () => {\n this.yearButtonFocussed = true;\n };\n\n private onYearButtonBlurHandler = () => {\n this.yearButtonFocussed = false;\n };\n\n private monthButtonKeyDownHandler = (ev: KeyboardEvent): void => {\n let handled = false;\n switch (ev.key) {\n case \"ArrowLeft\":\n case \"ArrowUp\":\n handled = true;\n this.goToPreviousMonth();\n break;\n\n case \"ArrowRight\":\n case \"ArrowDown\":\n handled = true;\n this.goToNextMonth();\n break;\n\n case \"Home\":\n handled = true;\n this.focusDay = false;\n this.moveMonths(-this.monthInView);\n break;\n\n case \"End\":\n handled = true;\n this.focusDay = false;\n this.moveMonths(11 - this.monthInView);\n break;\n\n case \"Tab\":\n if (ev.shiftKey) {\n handled = true;\n this.focusLastElement();\n }\n break;\n\n case \"Escape\":\n if (this.monthPickerVisible) {\n this.monthPickerVisible = false;\n ev.stopImmediatePropagation();\n }\n break;\n\n default:\n break;\n }\n\n if (handled) {\n ev.preventDefault();\n }\n };\n\n private yearButtonKeyDownHandler = (ev: KeyboardEvent): void => {\n let handled = false;\n switch (ev.key) {\n case \"ArrowLeft\":\n case \"ArrowUp\":\n handled = true;\n this.goToPreviousYear();\n break;\n\n case \"ArrowRight\":\n case \"ArrowDown\":\n handled = true;\n this.goToNextYear();\n break;\n\n case \"Home\":\n if (this.yearPickerVisible && this.yearInView > this.decadeStart) {\n handled = true;\n this.moveYears(this.decadeStart - this.yearInView);\n }\n break;\n\n case \"End\":\n if (this.yearPickerVisible && this.yearInView < this.decadeEnd) {\n handled = true;\n this.moveYears(this.decadeEnd - this.focussedYear);\n }\n break;\n\n case \"PageUp\":\n handled = true;\n this.focusDay = false;\n this.moveYears(-10);\n break;\n\n case \"PageDown\":\n handled = true;\n this.focusDay = false;\n this.moveYears(10);\n break;\n\n case \"Escape\":\n if (this.yearPickerVisible) {\n this.yearPickerVisible = false;\n ev.stopImmediatePropagation();\n }\n break;\n\n default:\n break;\n }\n\n if (handled) {\n ev.preventDefault();\n }\n };\n\n private handleCalendarKeyDown = (ev: KeyboardEvent): void => {\n let handled = true;\n switch (ev.key) {\n case \"ArrowDown\":\n this.dayPickerKeyboardNav = true;\n this.moveDays(7);\n break;\n\n case \"ArrowUp\":\n this.dayPickerKeyboardNav = true;\n this.moveDays(-7);\n break;\n\n case \"ArrowLeft\":\n this.dayPickerKeyboardNav = true;\n if (this.focussedDate)\n this.moveDays(-1 * this.getNextDayToFocus(this.focussedDate, false));\n break;\n\n case \"ArrowRight\":\n this.dayPickerKeyboardNav = true;\n if (this.focussedDate)\n this.moveDays(this.getNextDayToFocus(this.focussedDate, true));\n break;\n\n case \"PageUp\":\n this.dayPickerKeyboardNav = true;\n ev.shiftKey ? this.moveYears(-1) : this.moveMonths(-1);\n break;\n\n case \"PageDown\":\n this.dayPickerKeyboardNav = true;\n ev.shiftKey ? this.moveYears(1) : this.moveMonths(1);\n break;\n\n case \"Home\":\n this.dayPickerKeyboardNav = true;\n this.setFocussedDate(\n new Date(this.focussedYear, this.focussedMonth, 1)\n );\n break;\n\n case \"End\":\n this.dayPickerKeyboardNav = true;\n this.setFocussedDate(\n new Date(this.focussedYear, this.focussedMonth + 1, 0)\n );\n break;\n\n case \"Tab\":\n handled = this.calendarTabHandler(ev);\n break;\n\n default:\n handled = false;\n break;\n }\n\n if (handled) {\n ev.preventDefault();\n }\n };\n\n private calendarTabHandler = (ev: KeyboardEvent): boolean => {\n let handled = false;\n if (\n !ev.shiftKey &&\n (!this.showPickerTodayButton || this.isCurrentMonth()) &&\n (!this.showPickerClearButton || this.clearButtonEl?.disabled)\n ) {\n this.focusFirstElement();\n handled = true;\n } else if (ev.shiftKey) {\n this.yearButtonEl.setFocus();\n handled = true;\n }\n return handled;\n };\n\n private onDayButtonFocusHandler = () => {\n this.dayButtonFocussed = true;\n };\n\n private onDayButtonBlurHandler = () => {\n this.dayButtonFocussed = false;\n };\n\n private getNextDayToFocus = (\n currDay: Date,\n forward: boolean,\n level = 1\n ): number => {\n const move = forward ? 1 : -1;\n const nextDay = new Date(currDay);\n nextDay.setDate(nextDay.getDate() + move);\n return this.disableDays?.includes(Number(nextDay.getDay()))\n ? this.getNextDayToFocus(nextDay, forward, level + 1)\n : level;\n };\n\n private moveDays = (numDays: number): void => {\n if (this.focussedDate) {\n const d = new Date(this.focussedDate);\n d.setDate(d.getDate() + numDays);\n this.setFocussedDate(d);\n }\n };\n\n private moveMonths = (numMonths: number): void => {\n if (this.focussedDate) {\n const newMonth = this.focussedDate.getMonth() + numMonths;\n const min = new Date(\n new Date(getMonthStart(this.focussedDate)).setMonth(newMonth)\n );\n const max = getMonthEnd(min);\n const newDate = new Date(new Date(this.focussedDate).setMonth(newMonth));\n this.setFocussedDate(clampDate(newDate, min, max));\n\n if (\n this.monthPickerVisible === false &&\n this.yearPickerVisible === false &&\n this.monthInViewUpdateHandled === false\n ) {\n this.setAriaLiveRegionText(this.getMonthInViewText());\n }\n this.monthInViewUpdateHandled = false;\n }\n };\n\n private moveYears = (numYears: number): void => {\n if (this.focussedDate) {\n const newYear = this.focussedDate.getFullYear() + numYears;\n const min = new Date(\n new Date(getMonthStart(this.focussedDate)).setFullYear(newYear)\n );\n const max = getMonthEnd(min);\n const newDate = new Date(\n new Date(this.focussedDate).setFullYear(newYear)\n );\n this.setFocussedDate(clampDate(newDate, min, max));\n\n if (\n this.monthPickerVisible === false &&\n this.yearPickerVisible === false &&\n this.monthInViewUpdateHandled === false\n ) {\n this.setAriaLiveRegionText(this.getMonthInViewText());\n }\n this.monthInViewUpdateHandled = false;\n }\n };\n\n private updateFocussedMonth = (adjust: number): void => {\n const d = new Date(this.focussedYear, this.focussedMonth, 1);\n d.setMonth(this.focussedMonth + adjust);\n const newDate = clampDate(d, this.minDate, this.maxDate);\n this.focussedMonth = newDate.getMonth();\n setTimeout(() => this.focussedMonthEl.setFocus(), FOCUS_TIMER);\n };\n\n private updateFocussedYear = (adjust: number, focusYear = true): void => {\n const d = new Date(new Date().setFullYear(this.focussedYear + adjust));\n const newDate = clampDate(d, this.minDate, this.maxDate);\n this.setFocussedYear(newDate.getFullYear(), focusYear);\n };\n\n private setFocussedDate = (d: Date): void => {\n this.focussedDate = clampDate(d, this.minDate, this.maxDate);\n };\n\n private setFocussedDayEl = (element: HTMLButtonElement) => {\n this.focussedDayEl = element;\n };\n\n private setFocussedMonthEl = (element: HTMLIcButtonElement) => {\n this.focussedMonthEl = element;\n };\n\n private setFocussedYearEl = (element: HTMLIcButtonElement) => {\n this.focussedYearEl = element;\n };\n\n private setFocussedYear = (newYear: number, focus = true): void => {\n const prevYear = this.focussedYear;\n this.focussedYear = newYear;\n if (this.yearPickerVisible) {\n const newDecade = Math.floor(newYear / 10) * 10;\n const oldDecade = Math.floor(prevYear / 10) * 10;\n if (newDecade !== oldDecade) {\n this.setDecadeView(newDecade);\n this.setAriaLiveRegionText(this.getDecadeInViewText());\n }\n if (focus) {\n setTimeout(() => {\n if (this.focussedYearEl !== null) this.focussedYearEl.setFocus();\n }, FOCUS_TIMER);\n }\n } else {\n this.setDecadeView(Math.floor(newYear / 10) * 10);\n }\n };\n\n private setDateInputProps = (): IcDateInputProps => {\n const inputProps: IcDateInputProps = {\n hideLabel: this.hideLabel,\n invalidDateMessage: this.invalidDateMessage,\n label: this.label,\n showClearButton: true,\n showCalendarButton: true,\n value: this.value,\n emitDatePartChange: this.emitDatePartChange,\n };\n\n if (this.dateFormat !== DEFAULT_DATE_FORMAT) {\n inputProps.dateFormat = this.dateFormat;\n }\n if (this.disableFuture) {\n inputProps.disableFuture = this.disableFuture;\n if (this.disableFutureMessage !== DEFAULT_DISABLE_DATES_FROM_NOW_MSG) {\n inputProps.disableFutureMessage = this.disableFutureMessage;\n }\n }\n if (this.disablePast) {\n inputProps.disablePast = this.disablePast;\n if (this.disablePastMessage !== DEFAULT_DISABLE_DATES_UNTIL_NOW_MSG) {\n inputProps.disablePastMessage = this.disablePastMessage;\n }\n }\n if (this.disableDays && this.disableDays.length > 0) {\n inputProps.disableDays = this.disableDays;\n if (this.disableDaysMessage !== DEFAULT_DISABLE_DAYS_MSG) {\n inputProps.disableDaysMessage = this.disableDaysMessage;\n }\n }\n if (this.max !== null && this.max !== \"\" && this.maxDate) {\n inputProps.max = this.maxDate;\n }\n if (this.min !== null && this.min !== \"\" && this.minDate) {\n inputProps.min = this.minDate;\n }\n if (this.helperText !== undefined) {\n inputProps.helperText = this.helperText;\n }\n if (this.hideHelperText !== false) {\n inputProps.hideHelperText = this.hideHelperText;\n }\n if (this.inputId !== undefined) {\n inputProps.inputId = this.inputId;\n }\n if (this.name !== undefined) {\n inputProps.name = this.name;\n }\n if (this.disabled) {\n inputProps.disabled = this.disabled;\n }\n if (this.required) {\n inputProps.required = this.required;\n }\n if (this.showClearButton !== null) {\n inputProps.showClearButton = this.showClearButton;\n }\n if (this.size !== \"medium\") {\n inputProps.size = this.size;\n }\n if (this.validationStatus !== \"\") {\n inputProps.validationStatus = this.validationStatus;\n }\n if (this.validationText !== \"\") {\n inputProps.validationText = this.validationText;\n }\n return inputProps;\n };\n\n render() {\n const {\n calendarOpen,\n dateInputProps,\n monthNames,\n size,\n focussedMonth,\n focussedYear,\n monthInView,\n yearInView,\n monthPickerVisible,\n yearPickerVisible,\n orderedDaysOfWeek,\n decadeView,\n minDate,\n maxDate,\n showPickerClearButton,\n showPickerTodayButton,\n dialogDescription,\n theme,\n } = this;\n\n let monthButtonText = \"\";\n if (monthPickerVisible) {\n monthButtonText = `Use the arrow keys to change the selected month. To return to day picker view, press Enter or Space to select a month, or press Escape.`;\n } else {\n monthButtonText = `Press Enter or Space to open month picker view or use the arrow keys to change month.`;\n }\n\n let yearButtonText = \"\";\n if (yearPickerVisible) {\n yearButtonText = `Use the arrow keys to change the selected year. To return to day picker view, press Enter or Space to select a year, or press Escape.`;\n } else {\n yearButtonText = `Press Enter or Space to open year picker view or use the arrow keys to change the selected year.`;\n }\n\n const dialogLabel = \"choose date\";\n\n const monthLabel =\n monthNames && monthNames[monthInView]\n ? monthNames[monthInView]\n : \"Open month picker\";\n const yearLabel = this.yearInView ? this.yearInView : \"Open year picker\";\n\n let minDay = minDate;\n if (minDate && this.disablePast) {\n const yesterday = new Date(minDate);\n yesterday.setDate(minDate.getDate() - 1);\n minDay = yesterday;\n }\n\n return (\n <Host\n onKeyDown={this.keyDownHandler}\n class={{\n [`ic-date-picker-${size}`]: true,\n [`ic-theme-${theme}`]: theme !== \"inherit\",\n }}\n >\n <div class=\"date-input-container\">\n <ic-date-input ref={(el) => (this.inputEl = el)} {...dateInputProps}>\n <slot name=\"helper-text\" slot=\"helper-text\"></slot>\n </ic-date-input>\n </div>\n {calendarOpen && (\n <div>\n <span id=\"dialog-description\" class=\"sr-only\">\n {dialogDescription}\n </span>\n <div\n role=\"dialog\"\n aria-modal=\"true\"\n aria-label={dialogLabel}\n aria-describedBy=\"dialog-description\"\n class={{\n \"calendar-container\": true,\n above: this.showPickerAbove,\n }}\n onMouseDown={this.handleCalendarMouseDown}\n onClick={this.handleCalendarClick}\n >\n <span\n ref={(el) => (this.liveRegionEl = el)}\n id=\"live-region\"\n aria-live=\"assertive\"\n class=\"sr-only\"\n ></span>\n <div\n class={{\n \"month-year-nav-container\": true,\n }}\n >\n <div class=\"month-year-nav\">\n {this.previousMonthButton()}\n <span id=\"select-month-hint\" aria-hidden=\"true\">\n {monthButtonText}\n </span>\n <ic-button\n ref={(el: HTMLIcButtonElement) => (this.monthButtonEl = el)}\n size={size}\n class=\"month-picker-button\"\n aria-haspopup=\"menu\"\n aria-expanded={monthPickerVisible ? \"true\" : \"false\"}\n full-width=\"true\"\n variant=\"tertiary\"\n aria-label={monthLabel}\n aria-describedby=\"select-month-hint\"\n onKeyDown={this.monthButtonKeyDownHandler}\n onClick={this.monthButtonClickHandler}\n >\n {monthNames[monthInView]}\n </ic-button>\n {this.nextMonthButton()}\n </div>\n <div class=\"month-year-nav\">\n {this.previousYearButton()}\n <span id=\"select-year-hint\" aria-hidden=\"true\">\n {yearButtonText}\n </span>\n <ic-button\n ref={(el: HTMLIcButtonElement) => (this.yearButtonEl = el)}\n size={size}\n class=\"year-picker-button\"\n aria-haspopup=\"menu\"\n aria-expanded={yearPickerVisible ? \"true\" : \"false\"}\n full-width=\"true\"\n variant=\"tertiary\"\n aria-label={yearLabel}\n aria-describedby=\"select-year-hint\"\n onKeyDown={this.yearButtonKeyDownHandler}\n onClick={this.yearButtonClickHandler}\n >\n {this.yearInView}\n </ic-button>\n {this.nextYearButton()}\n </div>\n </div>\n {!(monthPickerVisible || yearPickerVisible) && (\n <div\n class={{\n calendar: true,\n hidden: monthPickerVisible || yearPickerVisible,\n }}\n onKeyDown={this.handleCalendarKeyDown}\n >\n <div class=\"weekdays\" aria-hidden=\"true\">\n {orderedDaysOfWeek.map((dayName) => {\n const header =\n size === \"small\" ? dayName.charAt(0) : dayName;\n return (\n <div class=\"calendar-day-header\">\n <ic-typography variant=\"caption\">\n {header}\n </ic-typography>\n </div>\n );\n })}\n </div>\n\n <div class=\"calendar-days-container\">\n {this.currMonthView.map((day) => (\n <DayButton\n day={day}\n disableDay={this.disableDays?.includes(\n Number(day.getDay())\n )}\n today={dateMatches(day, this.today)}\n selected={dateMatches(day, this.selectedDate)}\n focussed={dateMatches(day, this.focussedDate)}\n inRange={dateInRange(day, minDay, maxDate)}\n monthInView={monthInView}\n onSelectDay={this.handleSelectDay}\n focussedDayRef={this.setFocussedDayEl}\n onFocusDay={this.onDayButtonFocusHandler}\n onBlurDay={this.onDayButtonBlurHandler}\n showDaysOutsideMonth={this.showDaysOutsideMonth}\n ></DayButton>\n ))}\n </div>\n </div>\n )}\n <div\n class={{\n \"month-picker-container\": true,\n hidden: !monthPickerVisible,\n }}\n >\n {monthPickerVisible && (\n <MonthPicker\n size={size}\n onSelectMonth={this.handleSelectMonth}\n monthInView={monthInView}\n focussedMonth={focussedMonth}\n onKeyDown={this.monthPickerKeyDownHandler}\n focussedMonthRef={this.setFocussedMonthEl}\n minDate={minDate}\n maxDate={maxDate}\n yearInView={yearInView}\n ></MonthPicker>\n )}\n </div>\n <div\n class={{\n \"year-picker-container\": true,\n hidden: !yearPickerVisible,\n }}\n >\n {yearPickerVisible && (\n <YearPicker\n decadeView={decadeView}\n size={size}\n focussedYear={focussedYear}\n onSelectYear={this.handleSelectYear}\n onKeyDown={this.yearPickerKeyDownHandler}\n onFocusYear={this.onYearButtonFocusHandler}\n onBlurYear={this.onYearButtonBlurHandler}\n yearInView={yearInView}\n minDate={minDate}\n maxDate={maxDate}\n focussedYearRef={this.setFocussedYearEl}\n ></YearPicker>\n )}\n </div>\n <div\n class={{\n \"bottom-buttons\": true,\n \"no-today\": !showPickerTodayButton,\n }}\n >\n {showPickerTodayButton && (\n <ic-button\n id=\"today-button\"\n variant=\"tertiary\"\n ref={(el: HTMLIcButtonElement) => (this.todayButtonEl = el)}\n size={size}\n aria-label=\"Navigate to current date\"\n onClick={this.todayButtonClickHandler}\n onKeyDown={this.todayButtonKeyDownHandler}\n disabled={this.isCurrentMonth()}\n >\n Go to today\n </ic-button>\n )}\n {showPickerClearButton && (\n <ic-button\n id=\"clear-button\"\n aria-label=\"clear selected date\"\n ref={(el: HTMLIcButtonElement) => (this.clearButtonEl = el)}\n variant=\"tertiary\"\n size={size}\n onClick={this.clearButtonClickHandler}\n onKeyDown={this.clearButtonKeyDownHandler}\n disabled={\n this.value === \"\" ||\n this.value === null ||\n this.value === undefined\n }\n >\n Clear\n </ic-button>\n )}\n </div>\n </div>\n </div>\n )}\n </Host>\n );\n }\n}\n"],"mappings":"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","ignoreList":[]}
@@ -1,2 +0,0 @@
1
- import{r as i,c as t,h as e,F as s,H as a,g as o}from"./p-8e4e97b4.js";import{c as n}from"./p-e081702e.js";import{h as r,m as l,i as h,o as d}from"./p-542ac498.js";const c='/*! normalize.css v8.0.1 | MIT License | github.com/necolas/normalize.css */html{line-height:1.15;-webkit-text-size-adjust:100%;}body{margin:0}main{display:block}h1{font-size:2em;margin:0.67em 0}hr{box-sizing:content-box;height:0;overflow:visible;}pre{font-family:monospace, monospace;font-size:1em;}a{background-color:transparent}abbr[title]{border-bottom:none;text-decoration:underline;-webkit-text-decoration:underline dotted;text-decoration:underline dotted;}b,strong{font-weight:bolder}code,kbd,samp{font-family:monospace, monospace;font-size:1em;}small{font-size:80%}sub,sup{font-size:75%;line-height:0;position:relative;vertical-align:baseline}sub{bottom:-0.25em}sup{top:-0.5em}img{border-style:none}button,input,optgroup,select,textarea{font-family:inherit;font-size:100%;line-height:1.15;margin:0;}button,input{overflow:visible}button,select{text-transform:none}button,[type="button"],[type="reset"],[type="submit"]{-webkit-appearance:button}button::-moz-focus-inner,[type="button"]::-moz-focus-inner,[type="reset"]::-moz-focus-inner,[type="submit"]::-moz-focus-inner{border-style:none;padding:0}button:-moz-focusring,[type="button"]:-moz-focusring,[type="reset"]:-moz-focusring,[type="submit"]:-moz-focusring{outline:1px dotted ButtonText}fieldset{padding:0.35em 0.75em 0.625em}legend{box-sizing:border-box;color:inherit;display:table;max-width:100%;padding:0;white-space:normal;}progress{vertical-align:baseline}textarea{overflow:auto}[type="checkbox"],[type="radio"]{box-sizing:border-box;padding:0;}[type="number"]::-webkit-inner-spin-button,[type="number"]::-webkit-outer-spin-button{height:auto}[type="search"]{-webkit-appearance:textfield;outline-offset:-2px;}[type="search"]::-webkit-search-decoration{-webkit-appearance:none}::-webkit-file-upload-button{-webkit-appearance:button;font:inherit;}details{display:block}summary{display:list-item}template{display:none}[hidden]{display:none}html,body,div,span,applet,object,iframe,h1,h2,h3,h4,h5,h6,p,blockquote,pre,a,abbr,acronym,address,big,cite,code,del,dfn,em,img,ins,kbd,q,s,samp,small,strike,strong,sub,sup,tt,var,b,u,i,center,dl,dt,dd,ol,ul,li,fieldset,form,label,legend,table,caption,tbody,tfoot,thead,tr,th,td,article,aside,canvas,details,embed,figure,figcaption,footer,header,hgroup,menu,nav,output,ruby,section,summary,time,mark,audio,video{margin:0;padding:0;border:0;font-size:100%;font-style:inherit;vertical-align:baseline}:host{position:fixed;inset:0;display:flex;align-items:center;justify-content:center;min-height:100% !important;background:rgb(0 0 0 / 60%);z-index:var(--ic-z-index-dialog);opacity:0}:host(.ic-dialog-fade-in){opacity:1}:host(.disable-height-constraint){background:none;justify-content:unset;align-items:unset}.dialog.disable-height-constraint{max-height:none;position:relative}.dialog.disable-height-constraint .content-area{overflow-y:visible}@media (prefers-reduced-motion: no-preference){:host{transition:opacity var(--ic-easing-transition-slow)}.dialog{transform:translateY(-3rem);transition:transform 1000s}:host(.ic-dialog-fade-in) .dialog{transform:translateY(0);transition:transform var(--ic-easing-transition-slow)}}:host(.ic-dialog-hidden){display:none}.dialog{background-color:var(--ic-dialog-background);color:var(--ic-dialog-text-primary);--ic-typography-color:var(--ic-dialog-text-primary);border:var(--ic-space-1px) solid var(--ic-dialog-border);border-radius:var(--ic-border-radius);padding:var(--ic-space-xs) 0 var(--ic-space-md);display:flex;flex-direction:column;box-sizing:border-box;overflow-x:visible}.small{width:50%;max-width:25rem;min-height:11rem;max-height:70vh}.medium{width:70vw;max-width:44rem;min-height:12.5rem;max-height:70vh}.large{width:90vw;max-width:62.5rem;min-height:12.5rem;max-height:90vh}.heading-area{display:flex;margin-bottom:var(--ic-space-xs);padding:0 var(--ic-space-md)}.heading{overflow-wrap:break-word}.close-icon{margin-left:auto}.close-icon>svg{color:var(--ic-dialog-clear-button)}.content-area{padding:0 var(--ic-space-md);margin:0;overflow-y:auto}#dialog-content{margin-bottom:var(--ic-space-sm)}#dialog-content ::slotted(ic-typography){overflow-wrap:break-word}#dialog-content ::slotted(*){position:relative}.dialog-controls{margin-top:auto;padding:var(--ic-space-xs) var(--ic-space-md) 0;display:flex;justify-content:flex-end;gap:var(--ic-space-md)}.dialog-control-button{width:-moz-fit-content;width:fit-content}.backdrop{overflow-y:auto;position:fixed;inset:0;display:flex;align-items:center;justify-content:center;background:rgb(0 0 0 / 60%);z-index:var(--ic-z-index-dialog);padding-top:16px;padding-bottom:16px}.heading ic-typography{--ic-typography-color:var(--ic-dialog-text-primary)}.label ic-typography{--ic-typography-color:var(--ic-dialog-label)}@media (min-width: 800px){:host([size="large"]) .dialog:not(.disable-width-constraint)>.content-area{width:75%}}@media (max-width: 576px){.dialog{width:100vw;height:100vh;max-width:none;max-height:none;box-sizing:border-box}.backdrop{padding:0}.dialog.disable-height-constraint{height:auto;min-height:100vh}}@media (max-width: 364px){.dialog-control-button{width:unset}}';const g=c;const p=class{constructor(a){i(this,a);this.icDialogCancelled=t(this,"icDialogCancelled",7);this.icDialogClosed=t(this,"icDialogClosed",7);this.icDialogConfirmed=t(this,"icDialogConfirmed",7);this.icDialogOpened=t(this,"icDialogOpened",7);this.contentAreaMutationObserver=null;this.DATA_GETS_FOCUS="data-gets-focus";this.DIALOG_CONTROLS="dialog-controls";this.dialogHeight=0;this.focusedElementIndex=0;this.IC_TEXT_FIELD="IC-TEXT-FIELD";this.IC_ACCORDION="IC-ACCORDION";this.IC_ACCORDION_GROUP="IC-ACCORDION-GROUP";this.IC_CHECKBOX="IC-CHECKBOX";this.IC_SEARCH_BAR="IC-SEARCH-BAR";this.IC_TAB_CONTEXT="IC-TAB-CONTEXT";this.resizeObserver=null;this.dialogRendered=false;this.fadeIn=false;this.closeOnBackdropClick=true;this.destructive=false;this.dismissLabel="Dismiss";this.disableHeightConstraint=false;this.disableWidthConstraint=false;this.hideCloseButton=false;this.hideDefaultControls=false;this.open=false;this.size="small";this.theme="inherit";this.dialogOpened=()=>{var i,t;this.dialogRendered=true;if(this.disableHeightConstraint){(i=this.dialogEl)===null||i===void 0?void 0:i.show()}else{(t=this.dialogEl)===null||t===void 0?void 0:t.showModal()}setTimeout((()=>{this.fadeIn=true;if(this.backdropEl&&this.disableHeightConstraint&&this.backdropEl.scrollTop!==0){this.backdropEl.scrollTop=0}}),10);setTimeout((()=>{this.setInitialFocus();r(this.runResizeObserver)}),75);setTimeout((()=>{this.icDialogOpened.emit()}),80)};this.runResizeObserver=()=>{if(this.dialogEl){this.resizeObserver=new ResizeObserver((()=>{clearTimeout(this.resizeTimeout);this.resizeTimeout=window.setTimeout(this.resizeObserverCallback,80)}));this.resizeObserver.observe(this.dialogEl)}};this.resizeObserverCallback=()=>{if(this.dialogEl&&this.dialogEl.clientHeight!==this.dialogHeight){this.dialogHeight=this.dialogEl.clientHeight}};this.refreshInteractiveElementsOnSlotChange=()=>{var i,t,e;const s=(i=this.el.shadowRoot)===null||i===void 0?void 0:i.querySelector("#dialog-content");if(s){this.contentArea=s.querySelector("slot");(t=this.contentArea)===null||t===void 0?void 0:t.addEventListener("slotchange",this.getInteractiveElements);this.contentAreaMutationObserver=new MutationObserver((()=>{this.getInteractiveElements()}));(e=l(s))===null||e===void 0?void 0:e.forEach((i=>{var t;(t=this.contentAreaMutationObserver)===null||t===void 0?void 0:t.observe(i,{childList:true,subtree:true})}))}};this.removeSlotChangeListener=()=>{var i;if(this.contentArea){this.contentArea.removeEventListener("slotchange",this.getInteractiveElements);(i=this.contentAreaMutationObserver)===null||i===void 0?void 0:i.disconnect()}};this.setInitialFocus=()=>{this.sourceElement=document.activeElement;this.focusedElementIndex=this.interactiveElementList?this.interactiveElementList.findIndex((i=>i.hasAttribute(this.DATA_GETS_FOCUS))):0;this.focusElement(this.interactiveElementList[this.focusedElementIndex])};this.getFocusedElementIndex=()=>{var i;for(let t=0;t<this.interactiveElementList.length;t++){if(this.interactiveElementList[t]===(((i=this.el.shadowRoot)===null||i===void 0?void 0:i.activeElement)||document.activeElement)){this.focusedElementIndex=t}}};this.closeIconClick=()=>{this.open=false};this.getInteractiveElements=()=>{var i;this.interactiveElementList=Array.from(((i=this.el.shadowRoot)===null||i===void 0?void 0:i.querySelectorAll("ic-button"))||[]);const t=Array.from(this.el.querySelectorAll(`a[href], button, input:not(.ic-input), textarea, select, details, [tabindex]:not([tabindex="-1"]),\n ic-button, ic-checkbox, ic-select, ic-search-bar, ic-tab-context,\n ic-back-to-top, ic-breadcrumb, ic-chip[dismissible="true"], ic-footer-link, ic-link, ic-navigation-button,\n ic-navigation-item, ic-switch, ic-text-field, ic-accordion-group, ic-accordion, ic-date-input, ic-date-picker`));if(t.length>0){if(t[0].slot!==this.DIALOG_CONTROLS){t[0].setAttribute(this.DATA_GETS_FOCUS,"")}else if(!this.destructive){t[t.length-1].setAttribute(this.DATA_GETS_FOCUS,"")}}for(let i=0;i<t.length;i++){this.interactiveElementList.splice(1+i,0,t[i])}};this.getNextFocusEl=i=>this.interactiveElementList[i];this.onTabKeyPress=i=>{this.getFocusedElementIndex();if(this.interactiveElementList[this.focusedElementIndex].tagName===this.IC_SEARCH_BAR){return false}this.setFocusIndexBasedOnShiftKey(i);this.loopNextFocusIndexIfLastElement();this.focusElement(this.getNextFocusEl(this.focusedElementIndex),i);return true};this.shouldSkipElement=i=>{const t=getComputedStyle(i).visibility==="hidden"||i.offsetHeight===0||i.hasAttribute("disabled")||i.tagName===this.IC_ACCORDION_GROUP&&i.hasAttribute("single-expansion");const e=i.closest("ic-radio-option");return t||i.getAttribute("type")==="radio"&&!!e&&!(e.hasAttribute("selected")||i.tabIndex===0)};this.focusElement=(i,t=false)=>{let e=i;if(this.shouldSkipElement(i)){this.setFocusIndexBasedOnShiftKey(t);this.loopNextFocusIndexIfLastElement();e=this.getNextFocusEl(this.focusedElementIndex);this.focusElement(e,t)}else{switch(i.tagName){case this.IC_ACCORDION_GROUP:case this.IC_ACCORDION:case this.IC_SEARCH_BAR:case this.IC_TEXT_FIELD:case this.IC_CHECKBOX:case this.IC_TAB_CONTEXT:i.setFocus();break;default:i.focus()}}};this.renderDialog=()=>{const{hideDefaultControls:i,size:t,heading:a,label:o,destructive:r,dismissLabel:l,hideCloseButton:d,disableHeightConstraint:c,disableWidthConstraint:g,closeIconClick:p,DIALOG_CONTROLS:b}=this;const m=h(this.el,b);return e("dialog",{class:{dialog:true,[`${t}`]:true,"disable-height-constraint":!!c,"disable-width-constraint":!!g},"aria-labelledby":"dialog-label dialog-heading","aria-describedby":"dialog-alert dialog-content",ref:i=>this.dialogEl=i},e("div",{class:"heading-area"},e("div",{class:"heading-content"},e("div",{class:"label"},e("slot",{name:"label"},e("ic-typography",{variant:"label",id:"dialog-label"},o))),e("div",{class:"heading"},e("slot",{name:"heading"},e("ic-typography",{variant:"h4",id:"dialog-heading"},a)))),!d&&e("ic-button",{class:"close-icon",variant:"icon-tertiary",innerHTML:n,"aria-label":l,onClick:p,"data-gets-focus":r||i&&!m?"":null})),e("div",{class:"content-area"},h(this.el,"alert")&&e("slot",{name:"alert"}),e("div",{id:"dialog-content"},e("slot",null))),(m||!i)&&e("div",{class:{[b]:true}},m?e("slot",{name:b}):e(s,null,e("ic-button",{variant:"tertiary",onClick:()=>this.cancelDialog(),class:"dialog-control-button","data-gets-focus":null},"Cancel"),e("ic-button",{variant:r?"destructive":"primary",onClick:()=>this.confirmDialog(),class:"dialog-control-button","data-gets-focus":""},"Confirm"))))}}watchOpenHandler(){if(this.open){this.dialogOpened()}else{this.fadeIn=false;if(this.resizeObserver!==null){this.resizeObserver.disconnect()}setTimeout((()=>{var i,t;this.dialogRendered=false;(i=this.dialogEl)===null||i===void 0?void 0:i.close();(t=this.sourceElement)===null||t===void 0?void 0:t.focus();this.dialogHeight=0;this.icDialogClosed.emit()}),80)}}disconnectedCallback(){this.removeSlotChangeListener()}componentDidLoad(){this.getInteractiveElements();this.refreshInteractiveElementsOnSlotChange();if(this.open){this.dialogOpened()}!h(this.el,"heading")&&d([{prop:this.heading,propName:"heading"}],"Dialog")}componentDidRender(){document.body.style.overflow=getComputedStyle(this.el).display!=="none"&&this.disableHeightConstraint?"hidden":"auto"}handleKeyboard(i){if(this.dialogRendered){switch(i.key){case"Tab":if(this.onTabKeyPress(i.shiftKey)){i.preventDefault()}break;case"Escape":if(!i.repeat){this.open=false}i.stopImmediatePropagation();break}}}handleClick(i){if(this.dialogEl&&this.closeOnBackdropClick&&i.composedPath().indexOf(this.dialogEl)<=0){const{top:t,height:e,left:s,width:a}=this.dialogEl.getBoundingClientRect();const o=t<=i.clientY&&i.clientY<=t+e&&s<=i.clientX&&i.clientX<=s+a;if(!o){this.open=false}}}async cancelDialog(){this.icDialogCancelled.emit();this.open=false}async confirmDialog(){this.icDialogConfirmed.emit()}loopNextFocusIndexIfLastElement(){if(this.focusedElementIndex>this.interactiveElementList.length-1)this.focusedElementIndex=0;else if(this.focusedElementIndex<0){this.focusedElementIndex=this.interactiveElementList.length-1}}setFocusIndexBasedOnShiftKey(i){if(i){this.focusedElementIndex-=1}else{this.focusedElementIndex+=1}}render(){const{dialogRendered:i,disableHeightConstraint:t,fadeIn:s,theme:o}=this;return e(a,{key:"6de63d3d94afa349dc9bb5b30296837bbf89f810",class:{"ic-dialog-hidden":!i,"ic-dialog-fade-in":s,"disable-height-constraint":!!t,[`ic-theme-${o}`]:o!=="inherit"}},t?e("div",{class:"backdrop",ref:i=>this.backdropEl=i},this.renderDialog()):this.renderDialog())}get el(){return o(this)}static get watchers(){return{open:["watchOpenHandler"]}}};p.style=g;export{p as ic_dialog};
2
- //# sourceMappingURL=p-8a5ae4ab.entry.js.map
@@ -1 +0,0 @@
1
- {"version":3,"names":["icDialogCss","IcDialogStyle0","Dialog","constructor","hostRef","this","contentAreaMutationObserver","DATA_GETS_FOCUS","DIALOG_CONTROLS","dialogHeight","focusedElementIndex","IC_TEXT_FIELD","IC_ACCORDION","IC_ACCORDION_GROUP","IC_CHECKBOX","IC_SEARCH_BAR","IC_TAB_CONTEXT","resizeObserver","dialogRendered","fadeIn","closeOnBackdropClick","destructive","dismissLabel","disableHeightConstraint","disableWidthConstraint","hideCloseButton","hideDefaultControls","open","size","theme","dialogOpened","_a","_b","dialogEl","show","showModal","setTimeout","backdropEl","scrollTop","setInitialFocus","checkResizeObserver","runResizeObserver","icDialogOpened","emit","ResizeObserver","clearTimeout","resizeTimeout","window","resizeObserverCallback","observe","clientHeight","refreshInteractiveElementsOnSlotChange","_c","contentWrapper","el","shadowRoot","querySelector","contentArea","addEventListener","getInteractiveElements","MutationObserver","getSlotElements","forEach","childList","subtree","removeSlotChangeListener","removeEventListener","disconnect","sourceElement","document","activeElement","interactiveElementList","findIndex","element","hasAttribute","focusElement","getFocusedElementIndex","i","length","closeIconClick","Array","from","querySelectorAll","slottedInteractiveElements","slot","setAttribute","splice","getNextFocusEl","onTabKeyPress","shiftKey","tagName","setFocusIndexBasedOnShiftKey","loopNextFocusIndexIfLastElement","shouldSkipElement","isHidden","getComputedStyle","visibility","offsetHeight","radioEl","closest","getAttribute","tabIndex","nextFocusEl","setFocus","focus","renderDialog","heading","label","controlsSlotUsed","isSlotUsed","h","class","dialog","ref","name","variant","id","innerHTML","closeIcon","onClick","Fragment","cancelDialog","confirmDialog","watchOpenHandler","close","icDialogClosed","disconnectedCallback","componentDidLoad","onComponentRequiredPropUndefined","prop","propName","componentDidRender","body","style","overflow","display","handleKeyboard","ev","key","preventDefault","repeat","stopImmediatePropagation","handleClick","composedPath","indexOf","top","height","left","width","getBoundingClientRect","isInDialog","clientY","clientX","icDialogCancelled","icDialogConfirmed","render","Host"],"sources":["../web-components/dist/collection/components/ic-dialog/ic-dialog.css?tag=ic-dialog&encapsulation=shadow","../web-components/dist/collection/components/ic-dialog/ic-dialog.js"],"sourcesContent":["/*! normalize.css v8.0.1 | MIT License | github.com/necolas/normalize.css */\n\n/* Document\n ========================================================================== */\n\n/**\n * 1. Correct the line height in all browsers.\n * 2. Prevent adjustments of font size after orientation changes in iOS.\n */\n\nhtml {\n line-height: 1.15; /* 1 */\n -webkit-text-size-adjust: 100%; /* 2 */\n}\n\n/* Sections\n ========================================================================== */\n\n/**\n * Remove the margin in all browsers.\n */\n\nbody {\n margin: 0;\n}\n\n/**\n * Render the `main` element consistently in IE.\n */\n\nmain {\n display: block;\n}\n\n/**\n * Correct the font size and margin on `h1` elements within `section` and\n * `article` contexts in Chrome, Firefox, and Safari.\n */\n\nh1 {\n font-size: 2em;\n margin: 0.67em 0;\n}\n\n/* Grouping content\n ========================================================================== */\n\n/**\n * 1. Add the correct box sizing in Firefox.\n * 2. Show the overflow in Edge and IE.\n */\n\nhr {\n box-sizing: content-box; /* 1 */\n height: 0; /* 1 */\n overflow: visible; /* 2 */\n}\n\n/**\n * 1. Correct the inheritance and scaling of font size in all browsers.\n * 2. Correct the odd `em` font sizing in all browsers.\n */\n\npre {\n font-family: monospace, monospace; /* 1 */\n font-size: 1em; /* 2 */\n}\n\n/* Text-level semantics\n ========================================================================== */\n\n/**\n * Remove the gray background on active links in IE 10.\n */\n\na {\n background-color: transparent;\n}\n\n/**\n * 1. Remove the bottom border in Chrome 57-\n * 2. Add the correct text decoration in Chrome, Edge, IE, Opera, and Safari.\n */\n\nabbr[title] {\n border-bottom: none; /* 1 */\n text-decoration: underline; /* 2 */\n -webkit-text-decoration: underline dotted;\n text-decoration: underline dotted; /* 2 */\n}\n\n/**\n * Add the correct font weight in Chrome, Edge, and Safari.\n */\n\nb,\nstrong {\n font-weight: bolder;\n}\n\n/**\n * 1. Correct the inheritance and scaling of font size in all browsers.\n * 2. Correct the odd `em` font sizing in all browsers.\n */\n\ncode,\nkbd,\nsamp {\n font-family: monospace, monospace; /* 1 */\n font-size: 1em; /* 2 */\n}\n\n/**\n * Add the correct font size in all browsers.\n */\n\nsmall {\n font-size: 80%;\n}\n\n/**\n * Prevent `sub` and `sup` elements from affecting the line height in\n * all browsers.\n */\n\nsub,\nsup {\n font-size: 75%;\n line-height: 0;\n position: relative;\n vertical-align: baseline;\n}\n\nsub {\n bottom: -0.25em;\n}\n\nsup {\n top: -0.5em;\n}\n\n/* Embedded content\n ========================================================================== */\n\n/**\n * Remove the border on images inside links in IE 10.\n */\n\nimg {\n border-style: none;\n}\n\n/* Forms\n ========================================================================== */\n\n/**\n * 1. Change the font styles in all browsers.\n * 2. Remove the margin in Firefox and Safari.\n */\n\nbutton,\ninput,\noptgroup,\nselect,\ntextarea {\n font-family: inherit; /* 1 */\n font-size: 100%; /* 1 */\n line-height: 1.15; /* 1 */\n margin: 0; /* 2 */\n}\n\n/**\n * Show the overflow in IE.\n * 1. Show the overflow in Edge.\n */\n\nbutton,\ninput {\n /* 1 */\n overflow: visible;\n}\n\n/**\n * Remove the inheritance of text transform in Edge, Firefox, and IE.\n * 1. Remove the inheritance of text transform in Firefox.\n */\n\nbutton,\nselect {\n /* 1 */\n text-transform: none;\n}\n\n/**\n * Correct the inability to style clickable types in iOS and Safari.\n */\n\nbutton,\n[type=\"button\"],\n[type=\"reset\"],\n[type=\"submit\"] {\n -webkit-appearance: button;\n}\n\n/**\n * Remove the inner border and padding in Firefox.\n */\n\nbutton::-moz-focus-inner,\n[type=\"button\"]::-moz-focus-inner,\n[type=\"reset\"]::-moz-focus-inner,\n[type=\"submit\"]::-moz-focus-inner {\n border-style: none;\n padding: 0;\n}\n\n/**\n * Restore the focus styles unset by the previous rule.\n */\n\nbutton:-moz-focusring,\n[type=\"button\"]:-moz-focusring,\n[type=\"reset\"]:-moz-focusring,\n[type=\"submit\"]:-moz-focusring {\n outline: 1px dotted ButtonText;\n}\n\n/**\n * Correct the padding in Firefox.\n */\n\nfieldset {\n padding: 0.35em 0.75em 0.625em;\n}\n\n/**\n * 1. Correct the text wrapping in Edge and IE.\n * 2. Correct the color inheritance from `fieldset` elements in IE.\n * 3. Remove the padding so developers are not caught out when they zero out\n * `fieldset` elements in all browsers.\n */\n\nlegend {\n box-sizing: border-box; /* 1 */\n color: inherit; /* 2 */\n display: table; /* 1 */\n max-width: 100%; /* 1 */\n padding: 0; /* 3 */\n white-space: normal; /* 1 */\n}\n\n/**\n * Add the correct vertical alignment in Chrome, Firefox, and Opera.\n */\n\nprogress {\n vertical-align: baseline;\n}\n\n/**\n * Remove the default vertical scrollbar in IE 10+.\n */\n\ntextarea {\n overflow: auto;\n}\n\n/**\n * 1. Add the correct box sizing in IE 10.\n * 2. Remove the padding in IE 10.\n */\n\n[type=\"checkbox\"],\n[type=\"radio\"] {\n box-sizing: border-box; /* 1 */\n padding: 0; /* 2 */\n}\n\n/**\n * Correct the cursor style of increment and decrement buttons in Chrome.\n */\n\n[type=\"number\"]::-webkit-inner-spin-button,\n[type=\"number\"]::-webkit-outer-spin-button {\n height: auto;\n}\n\n/**\n * 1. Correct the odd appearance in Chrome and Safari.\n * 2. Correct the outline style in Safari.\n */\n\n[type=\"search\"] {\n -webkit-appearance: textfield; /* 1 */\n outline-offset: -2px; /* 2 */\n}\n\n/**\n * Remove the inner padding in Chrome and Safari on macOS.\n */\n\n[type=\"search\"]::-webkit-search-decoration {\n -webkit-appearance: none;\n}\n\n/**\n * 1. Correct the inability to style clickable types in iOS and Safari.\n * 2. Change font properties to `inherit` in Safari.\n */\n\n::-webkit-file-upload-button {\n -webkit-appearance: button; /* 1 */\n font: inherit; /* 2 */\n}\n\n/* Interactive\n ========================================================================== */\n\n/*\n * Add the correct display in Edge, IE 10+, and Firefox.\n */\n\ndetails {\n display: block;\n}\n\n/*\n * Add the correct display in all browsers.\n */\n\nsummary {\n display: list-item;\n}\n\n/* Misc\n ========================================================================== */\n\n/**\n * Add the correct display in IE 10+.\n */\n\ntemplate {\n display: none;\n}\n\n/**\n * Add the correct display in IE 10.\n */\n\n[hidden] {\n display: none;\n}\n\nhtml,\nbody,\ndiv,\nspan,\napplet,\nobject,\niframe,\nh1,\nh2,\nh3,\nh4,\nh5,\nh6,\np,\nblockquote,\npre,\na,\nabbr,\nacronym,\naddress,\nbig,\ncite,\ncode,\ndel,\ndfn,\nem,\nimg,\nins,\nkbd,\nq,\ns,\nsamp,\nsmall,\nstrike,\nstrong,\nsub,\nsup,\ntt,\nvar,\nb,\nu,\ni,\ncenter,\ndl,\ndt,\ndd,\nol,\nul,\nli,\nfieldset,\nform,\nlabel,\nlegend,\ntable,\ncaption,\ntbody,\ntfoot,\nthead,\ntr,\nth,\ntd,\narticle,\naside,\ncanvas,\ndetails,\nembed,\nfigure,\nfigcaption,\nfooter,\nheader,\nhgroup,\nmenu,\nnav,\noutput,\nruby,\nsection,\nsummary,\ntime,\nmark,\naudio,\nvideo {\n margin: 0;\n padding: 0;\n border: 0;\n font-size: 100%;\n font-style: inherit;\n vertical-align: baseline;\n}\n\n\n/**\n * @prop --ic-z-index-dialog: z-index of dialog \n */\n\n:host {\n position: fixed;\n inset: 0;\n display: flex;\n align-items: center;\n justify-content: center;\n min-height: 100% !important;\n background: rgb(0 0 0 / 60%);\n z-index: var(--ic-z-index-dialog);\n opacity: 0;\n}\n\n:host(.ic-dialog-fade-in) {\n opacity: 1;\n}\n\n:host(.disable-height-constraint) {\n background: none;\n justify-content: unset;\n align-items: unset;\n}\n\n.dialog.disable-height-constraint {\n max-height: none;\n position: relative;\n}\n\n.dialog.disable-height-constraint .content-area {\n overflow-y: visible;\n}\n\n@media (prefers-reduced-motion: no-preference) {\n :host {\n transition: opacity var(--ic-easing-transition-slow);\n }\n\n .dialog {\n transform: translateY(-3rem);\n transition: transform 1000s;\n }\n\n :host(.ic-dialog-fade-in) .dialog {\n transform: translateY(0);\n transition: transform var(--ic-easing-transition-slow);\n }\n}\n\n:host(.ic-dialog-hidden) {\n display: none;\n}\n\n.dialog {\n background-color: var(--ic-dialog-background);\n color: var(--ic-dialog-text-primary);\n\n --ic-typography-color: var(--ic-dialog-text-primary);\n\n border: var(--ic-space-1px) solid var(--ic-dialog-border);\n border-radius: var(--ic-border-radius);\n padding: var(--ic-space-xs) 0 var(--ic-space-md);\n display: flex;\n flex-direction: column;\n box-sizing: border-box;\n overflow-x: visible;\n}\n\n.small {\n width: 50%;\n max-width: 25rem;\n min-height: 11rem;\n max-height: 70vh;\n}\n\n.medium {\n width: 70vw;\n max-width: 44rem;\n min-height: 12.5rem;\n max-height: 70vh;\n}\n\n.large {\n width: 90vw;\n max-width: 62.5rem;\n min-height: 12.5rem;\n max-height: 90vh;\n}\n\n.heading-area {\n display: flex;\n margin-bottom: var(--ic-space-xs);\n padding: 0 var(--ic-space-md);\n}\n\n.heading {\n overflow-wrap: break-word;\n}\n\n.close-icon {\n margin-left: auto;\n}\n\n.close-icon > svg {\n color: var(--ic-dialog-clear-button);\n}\n\n.content-area {\n padding: 0 var(--ic-space-md);\n margin: 0;\n overflow-y: auto;\n}\n\n#dialog-content {\n margin-bottom: var(--ic-space-sm);\n}\n\n#dialog-content ::slotted(ic-typography) {\n overflow-wrap: break-word;\n}\n\n#dialog-content ::slotted(*) {\n position: relative;\n}\n\n.dialog-controls {\n margin-top: auto;\n padding: var(--ic-space-xs) var(--ic-space-md) 0;\n display: flex;\n justify-content: flex-end;\n gap: var(--ic-space-md);\n}\n\n.dialog-control-button {\n width: -moz-fit-content;\n width: fit-content;\n}\n\n.backdrop {\n overflow-y: auto;\n position: fixed;\n inset: 0;\n display: flex;\n align-items: center;\n justify-content: center;\n background: rgb(0 0 0 / 60%);\n z-index: var(--ic-z-index-dialog);\n padding-top: 16px;\n padding-bottom: 16px;\n}\n\n.heading ic-typography {\n --ic-typography-color: var(--ic-dialog-text-primary);\n}\n\n.label ic-typography {\n --ic-typography-color: var(--ic-dialog-label);\n}\n\n@media (min-width: 800px) {\n :host([size=\"large\"]) .dialog:not(.disable-width-constraint) > .content-area {\n width: 75%;\n }\n}\n\n@media (max-width: 576px) {\n .dialog {\n width: 100vw;\n height: 100vh;\n max-width: none;\n max-height: none;\n box-sizing: border-box;\n }\n\n .backdrop {\n padding: 0;\n }\n\n .dialog.disable-height-constraint {\n height: auto;\n min-height: 100vh;\n }\n}\n\n@media (max-width: 364px) {\n .dialog-control-button {\n width: unset;\n }\n}\n","import { Host, h, Fragment, } from \"@stencil/core\";\nimport closeIcon from \"../../assets/close-icon.svg\";\nimport { isSlotUsed, checkResizeObserver, onComponentRequiredPropUndefined, getSlotElements, } from \"../../utils/helpers\";\n/**\n * @slot dialog-controls - Content will be place at the bottom of the dialog.\n * @slot heading - Content will be placed at the top of the dialog.\n * @slot label - Content will be placed above the dialog heading.\n * @slot alert - Content will be placed at the top of the content area of the dialog.\n */\nexport class Dialog {\n constructor() {\n this.contentAreaMutationObserver = null;\n this.DATA_GETS_FOCUS = \"data-gets-focus\";\n this.DIALOG_CONTROLS = \"dialog-controls\";\n this.dialogHeight = 0;\n this.focusedElementIndex = 0;\n this.IC_TEXT_FIELD = \"IC-TEXT-FIELD\";\n this.IC_ACCORDION = \"IC-ACCORDION\";\n this.IC_ACCORDION_GROUP = \"IC-ACCORDION-GROUP\";\n this.IC_CHECKBOX = \"IC-CHECKBOX\";\n this.IC_SEARCH_BAR = \"IC-SEARCH-BAR\";\n this.IC_TAB_CONTEXT = \"IC-TAB-CONTEXT\";\n this.resizeObserver = null;\n this.dialogRendered = false;\n this.fadeIn = false;\n /**\n * If set to `false`, the dialog will not close when the backdrop is clicked.\n */\n this.closeOnBackdropClick = true;\n /**\n * If 'true', sets the 'primary' or rightmost button to the destructive variant. Stops initial focus being set on the 'primary' or rightmost default or slotted button.\n */\n this.destructive = false;\n /**\n * Sets the dismiss label tooltip and aria label.\n */\n this.dismissLabel = \"Dismiss\";\n /**\n * If set to `true`, the content area max height and overflow properties are removed allowing the dialog to stretch below the fold.\n * This prop also prevents popover elements from being cut off within the content area.\n */\n this.disableHeightConstraint = false;\n /**\n * If set to `true`, the content area width property is removed, allowing content to take the full width of the dialog when using the large variant.\n */\n this.disableWidthConstraint = false;\n /**\n * If `true`, the close button will not be displayed.\n */\n this.hideCloseButton = false;\n /**\n * If set to `true`, default button controls will not be shown, but slotted dialog controls will still be displayed.\n */\n this.hideDefaultControls = false;\n /**\n * If `true`, the dialog will be displayed.\n */\n this.open = false;\n /**\n * Sets the maximum and minimum height and width for the dialog.\n */\n this.size = \"small\";\n /**\n * Sets the theme color to the dark or light theme color. \"inherit\" will set the color based on the system settings or ic-theme component.\n */\n this.theme = \"inherit\";\n this.dialogOpened = () => {\n var _a, _b;\n this.dialogRendered = true;\n if (this.disableHeightConstraint) {\n (_a = this.dialogEl) === null || _a === void 0 ? void 0 : _a.show();\n }\n else {\n (_b = this.dialogEl) === null || _b === void 0 ? void 0 : _b.showModal();\n }\n setTimeout(() => {\n this.fadeIn = true;\n /**\n * This is required to set scroll back to top if:\n * - dialog content goes below the fold\n * - is closed using cancel or confirm and reopened.\n *\n * Without this, the scroll bar will start from the dialog's last scroll-x coordinate.\n */\n if (this.backdropEl &&\n this.disableHeightConstraint &&\n this.backdropEl.scrollTop !== 0) {\n this.backdropEl.scrollTop = 0;\n }\n }, 10);\n setTimeout(() => {\n this.setInitialFocus();\n checkResizeObserver(this.runResizeObserver);\n }, 75);\n setTimeout(() => {\n this.icDialogOpened.emit();\n }, 80);\n };\n this.runResizeObserver = () => {\n if (this.dialogEl) {\n this.resizeObserver = new ResizeObserver(() => {\n clearTimeout(this.resizeTimeout);\n this.resizeTimeout = window.setTimeout(this.resizeObserverCallback, 80);\n });\n this.resizeObserver.observe(this.dialogEl);\n }\n };\n this.resizeObserverCallback = () => {\n if (this.dialogEl && this.dialogEl.clientHeight !== this.dialogHeight) {\n this.dialogHeight = this.dialogEl.clientHeight;\n }\n };\n this.refreshInteractiveElementsOnSlotChange = () => {\n var _a, _b, _c;\n const contentWrapper = (_a = this.el.shadowRoot) === null || _a === void 0 ? void 0 : _a.querySelector(\"#dialog-content\");\n if (contentWrapper) {\n this.contentArea = contentWrapper.querySelector(\"slot\");\n // Detect changes to slotted elements\n (_b = this.contentArea) === null || _b === void 0 ? void 0 : _b.addEventListener(\"slotchange\", this.getInteractiveElements);\n this.contentAreaMutationObserver = new MutationObserver(() => {\n this.getInteractiveElements();\n });\n // Detect changes to children of slotted elements\n (_c = getSlotElements(contentWrapper)) === null || _c === void 0 ? void 0 : _c.forEach((el) => {\n var _a;\n (_a = this.contentAreaMutationObserver) === null || _a === void 0 ? void 0 : _a.observe(el, {\n childList: true,\n subtree: true,\n });\n });\n }\n };\n this.removeSlotChangeListener = () => {\n var _a;\n if (this.contentArea) {\n this.contentArea.removeEventListener(\"slotchange\", this.getInteractiveElements);\n (_a = this.contentAreaMutationObserver) === null || _a === void 0 ? void 0 : _a.disconnect();\n }\n };\n this.setInitialFocus = () => {\n this.sourceElement = document.activeElement;\n this.focusedElementIndex = this.interactiveElementList\n ? this.interactiveElementList.findIndex((element) => element.hasAttribute(this.DATA_GETS_FOCUS))\n : 0;\n this.focusElement(this.interactiveElementList[this.focusedElementIndex]);\n };\n this.getFocusedElementIndex = () => {\n var _a;\n for (let i = 0; i < this.interactiveElementList.length; i++) {\n if (this.interactiveElementList[i] ===\n (((_a = this.el.shadowRoot) === null || _a === void 0 ? void 0 : _a.activeElement) || document.activeElement)) {\n this.focusedElementIndex = i;\n }\n }\n };\n this.closeIconClick = () => {\n this.open = false;\n };\n this.getInteractiveElements = () => {\n var _a;\n this.interactiveElementList = Array.from(((_a = this.el.shadowRoot) === null || _a === void 0 ? void 0 : _a.querySelectorAll(\"ic-button\")) || []);\n const slottedInteractiveElements = Array.from(this.el.querySelectorAll(`a[href], button, input:not(.ic-input), textarea, select, details, [tabindex]:not([tabindex=\"-1\"]),\n ic-button, ic-checkbox, ic-select, ic-search-bar, ic-tab-context,\n ic-back-to-top, ic-breadcrumb, ic-chip[dismissible=\"true\"], ic-footer-link, ic-link, ic-navigation-button,\n ic-navigation-item, ic-switch, ic-text-field, ic-accordion-group, ic-accordion, ic-date-input, ic-date-picker`));\n if (slottedInteractiveElements.length > 0) {\n if (slottedInteractiveElements[0].slot !== this.DIALOG_CONTROLS) {\n slottedInteractiveElements[0].setAttribute(this.DATA_GETS_FOCUS, \"\");\n }\n else if (!this.destructive) {\n slottedInteractiveElements[slottedInteractiveElements.length - 1].setAttribute(this.DATA_GETS_FOCUS, \"\");\n }\n }\n for (let i = 0; i < slottedInteractiveElements.length; i++) {\n this.interactiveElementList.splice(1 + i, 0, slottedInteractiveElements[i]);\n }\n };\n this.getNextFocusEl = (focusedElementIndex) => this.interactiveElementList[focusedElementIndex];\n this.onTabKeyPress = (shiftKey) => {\n this.getFocusedElementIndex();\n if (this.interactiveElementList[this.focusedElementIndex].tagName ===\n this.IC_SEARCH_BAR) {\n return false;\n }\n this.setFocusIndexBasedOnShiftKey(shiftKey);\n this.loopNextFocusIndexIfLastElement();\n this.focusElement(this.getNextFocusEl(this.focusedElementIndex), shiftKey);\n return true;\n };\n this.shouldSkipElement = (element) => {\n const isHidden = getComputedStyle(element).visibility === \"hidden\" ||\n element.offsetHeight === 0 ||\n element.hasAttribute(\"disabled\") ||\n (element.tagName === this.IC_ACCORDION_GROUP &&\n element.hasAttribute(\"single-expansion\"));\n const radioEl = element.closest(\"ic-radio-option\");\n return (isHidden ||\n (element.getAttribute(\"type\") === \"radio\" &&\n !!radioEl &&\n !(radioEl.hasAttribute(\"selected\") || element.tabIndex === 0)));\n };\n this.focusElement = (element, shiftKey = false) => {\n let nextFocusEl = element;\n if (this.shouldSkipElement(element)) {\n this.setFocusIndexBasedOnShiftKey(shiftKey);\n this.loopNextFocusIndexIfLastElement();\n nextFocusEl = this.getNextFocusEl(this.focusedElementIndex);\n this.focusElement(nextFocusEl, shiftKey);\n }\n else {\n switch (element.tagName) {\n case this.IC_ACCORDION_GROUP:\n case this.IC_ACCORDION:\n case this.IC_SEARCH_BAR:\n case this.IC_TEXT_FIELD:\n case this.IC_CHECKBOX:\n case this.IC_TAB_CONTEXT:\n element.setFocus();\n break;\n default:\n element.focus();\n }\n }\n };\n this.renderDialog = () => {\n const { hideDefaultControls, size, heading, label, destructive, dismissLabel, hideCloseButton, disableHeightConstraint, disableWidthConstraint, closeIconClick, DIALOG_CONTROLS, } = this;\n const controlsSlotUsed = isSlotUsed(this.el, DIALOG_CONTROLS);\n return (h(\"dialog\", { class: {\n dialog: true,\n [`${size}`]: true,\n \"disable-height-constraint\": !!disableHeightConstraint,\n \"disable-width-constraint\": !!disableWidthConstraint,\n }, \"aria-labelledby\": \"dialog-label dialog-heading\", \"aria-describedby\": \"dialog-alert dialog-content\", ref: (el) => (this.dialogEl = el) }, h(\"div\", { class: \"heading-area\" }, h(\"div\", { class: \"heading-content\" }, h(\"div\", { class: \"label\" }, h(\"slot\", { name: \"label\" }, h(\"ic-typography\", { variant: \"label\", id: \"dialog-label\" }, label))), h(\"div\", { class: \"heading\" }, h(\"slot\", { name: \"heading\" }, h(\"ic-typography\", { variant: \"h4\", id: \"dialog-heading\" }, heading)))), !hideCloseButton && (h(\"ic-button\", { class: \"close-icon\", variant: \"icon-tertiary\", innerHTML: closeIcon, \"aria-label\": dismissLabel, onClick: closeIconClick, \"data-gets-focus\": destructive || (hideDefaultControls && !controlsSlotUsed)\n ? \"\"\n : null }))), h(\"div\", { class: \"content-area\" }, isSlotUsed(this.el, \"alert\") && h(\"slot\", { name: \"alert\" }), h(\"div\", { id: \"dialog-content\" }, h(\"slot\", null))), (controlsSlotUsed || !hideDefaultControls) && (h(\"div\", { class: {\n [DIALOG_CONTROLS]: true,\n } }, controlsSlotUsed ? (h(\"slot\", { name: DIALOG_CONTROLS })) : (h(Fragment, null, h(\"ic-button\", { variant: \"tertiary\", onClick: () => this.cancelDialog(), class: \"dialog-control-button\", \"data-gets-focus\": null }, \"Cancel\"), h(\"ic-button\", { variant: destructive ? \"destructive\" : \"primary\", onClick: () => this.confirmDialog(), class: \"dialog-control-button\", \"data-gets-focus\": \"\" }, \"Confirm\")))))));\n };\n }\n watchOpenHandler() {\n if (this.open) {\n this.dialogOpened();\n }\n else {\n this.fadeIn = false;\n if (this.resizeObserver !== null) {\n this.resizeObserver.disconnect();\n }\n setTimeout(() => {\n var _a, _b;\n this.dialogRendered = false;\n (_a = this.dialogEl) === null || _a === void 0 ? void 0 : _a.close();\n (_b = this.sourceElement) === null || _b === void 0 ? void 0 : _b.focus();\n this.dialogHeight = 0;\n this.icDialogClosed.emit();\n }, 80);\n }\n }\n disconnectedCallback() {\n this.removeSlotChangeListener();\n }\n componentDidLoad() {\n this.getInteractiveElements();\n this.refreshInteractiveElementsOnSlotChange();\n if (this.open) {\n this.dialogOpened();\n }\n !isSlotUsed(this.el, \"heading\") &&\n onComponentRequiredPropUndefined([{ prop: this.heading, propName: \"heading\" }], \"Dialog\");\n }\n componentDidRender() {\n document.body.style.overflow =\n getComputedStyle(this.el).display !== \"none\" &&\n this.disableHeightConstraint\n ? \"hidden\"\n : \"auto\";\n }\n handleKeyboard(ev) {\n if (this.dialogRendered) {\n switch (ev.key) {\n case \"Tab\":\n if (this.onTabKeyPress(ev.shiftKey)) {\n ev.preventDefault();\n }\n break;\n case \"Escape\":\n if (!ev.repeat) {\n this.open = false;\n }\n ev.stopImmediatePropagation();\n break;\n }\n }\n }\n handleClick(ev) {\n if (this.dialogEl &&\n this.closeOnBackdropClick &&\n ev.composedPath().indexOf(this.dialogEl) <= 0) {\n const { top, height, left, width } = this.dialogEl.getBoundingClientRect();\n const isInDialog = top <= ev.clientY &&\n ev.clientY <= top + height &&\n left <= ev.clientX &&\n ev.clientX <= left + width;\n if (!isInDialog) {\n this.open = false;\n }\n }\n }\n /**\n * Cancels the dialog. Used by the default 'Cancel' button or can be called manually to trigger cancelling of dialog.\n */\n async cancelDialog() {\n this.icDialogCancelled.emit();\n this.open = false;\n }\n /**\n * Confirms the dialog. Used by the default 'Confirm' button or can be called manually to trigger confirming of dialog.\n */\n async confirmDialog() {\n this.icDialogConfirmed.emit();\n }\n loopNextFocusIndexIfLastElement() {\n if (this.focusedElementIndex > this.interactiveElementList.length - 1)\n this.focusedElementIndex = 0;\n else if (this.focusedElementIndex < 0) {\n this.focusedElementIndex = this.interactiveElementList.length - 1;\n }\n }\n setFocusIndexBasedOnShiftKey(shiftKey) {\n if (shiftKey) {\n this.focusedElementIndex -= 1;\n }\n else {\n this.focusedElementIndex += 1;\n }\n }\n render() {\n const { dialogRendered, disableHeightConstraint, fadeIn, theme } = this;\n return (h(Host, { key: '6de63d3d94afa349dc9bb5b30296837bbf89f810', class: {\n \"ic-dialog-hidden\": !dialogRendered,\n \"ic-dialog-fade-in\": fadeIn,\n \"disable-height-constraint\": !!disableHeightConstraint,\n [`ic-theme-${theme}`]: theme !== \"inherit\",\n } }, disableHeightConstraint ? (h(\"div\", { class: \"backdrop\", ref: (el) => (this.backdropEl = el) }, this.renderDialog())) : (this.renderDialog())));\n }\n static get is() { return \"ic-dialog\"; }\n static get encapsulation() { return \"shadow\"; }\n static get originalStyleUrls() {\n return {\n \"$\": [\"ic-dialog.css\"]\n };\n }\n static get styleUrls() {\n return {\n \"$\": [\"ic-dialog.css\"]\n };\n }\n static get properties() {\n return {\n \"closeOnBackdropClick\": {\n \"type\": \"boolean\",\n \"mutable\": false,\n \"complexType\": {\n \"original\": \"boolean\",\n \"resolved\": \"boolean | undefined\",\n \"references\": {}\n },\n \"required\": false,\n \"optional\": true,\n \"docs\": {\n \"tags\": [],\n \"text\": \"If set to `false`, the dialog will not close when the backdrop is clicked.\"\n },\n \"getter\": false,\n \"setter\": false,\n \"attribute\": \"close-on-backdrop-click\",\n \"reflect\": false,\n \"defaultValue\": \"true\"\n },\n \"destructive\": {\n \"type\": \"boolean\",\n \"mutable\": false,\n \"complexType\": {\n \"original\": \"boolean\",\n \"resolved\": \"boolean | undefined\",\n \"references\": {}\n },\n \"required\": false,\n \"optional\": true,\n \"docs\": {\n \"tags\": [],\n \"text\": \"If 'true', sets the 'primary' or rightmost button to the destructive variant. Stops initial focus being set on the 'primary' or rightmost default or slotted button.\"\n },\n \"getter\": false,\n \"setter\": false,\n \"attribute\": \"destructive\",\n \"reflect\": false,\n \"defaultValue\": \"false\"\n },\n \"dismissLabel\": {\n \"type\": \"string\",\n \"mutable\": false,\n \"complexType\": {\n \"original\": \"string\",\n \"resolved\": \"string | undefined\",\n \"references\": {}\n },\n \"required\": false,\n \"optional\": true,\n \"docs\": {\n \"tags\": [],\n \"text\": \"Sets the dismiss label tooltip and aria label.\"\n },\n \"getter\": false,\n \"setter\": false,\n \"attribute\": \"dismiss-label\",\n \"reflect\": false,\n \"defaultValue\": \"\\\"Dismiss\\\"\"\n },\n \"disableHeightConstraint\": {\n \"type\": \"boolean\",\n \"mutable\": false,\n \"complexType\": {\n \"original\": \"boolean\",\n \"resolved\": \"boolean | undefined\",\n \"references\": {}\n },\n \"required\": false,\n \"optional\": true,\n \"docs\": {\n \"tags\": [],\n \"text\": \"If set to `true`, the content area max height and overflow properties are removed allowing the dialog to stretch below the fold.\\nThis prop also prevents popover elements from being cut off within the content area.\"\n },\n \"getter\": false,\n \"setter\": false,\n \"attribute\": \"disable-height-constraint\",\n \"reflect\": false,\n \"defaultValue\": \"false\"\n },\n \"disableWidthConstraint\": {\n \"type\": \"boolean\",\n \"mutable\": false,\n \"complexType\": {\n \"original\": \"boolean\",\n \"resolved\": \"boolean | undefined\",\n \"references\": {}\n },\n \"required\": false,\n \"optional\": true,\n \"docs\": {\n \"tags\": [],\n \"text\": \"If set to `true`, the content area width property is removed, allowing content to take the full width of the dialog when using the large variant.\"\n },\n \"getter\": false,\n \"setter\": false,\n \"attribute\": \"disable-width-constraint\",\n \"reflect\": false,\n \"defaultValue\": \"false\"\n },\n \"hideCloseButton\": {\n \"type\": \"boolean\",\n \"mutable\": false,\n \"complexType\": {\n \"original\": \"boolean\",\n \"resolved\": \"boolean | undefined\",\n \"references\": {}\n },\n \"required\": false,\n \"optional\": true,\n \"docs\": {\n \"tags\": [],\n \"text\": \"If `true`, the close button will not be displayed.\"\n },\n \"getter\": false,\n \"setter\": false,\n \"attribute\": \"hide-close-button\",\n \"reflect\": false,\n \"defaultValue\": \"false\"\n },\n \"hideDefaultControls\": {\n \"type\": \"boolean\",\n \"mutable\": false,\n \"complexType\": {\n \"original\": \"boolean\",\n \"resolved\": \"boolean\",\n \"references\": {}\n },\n \"required\": false,\n \"optional\": false,\n \"docs\": {\n \"tags\": [],\n \"text\": \"If set to `true`, default button controls will not be shown, but slotted dialog controls will still be displayed.\"\n },\n \"getter\": false,\n \"setter\": false,\n \"attribute\": \"hide-default-controls\",\n \"reflect\": false,\n \"defaultValue\": \"false\"\n },\n \"heading\": {\n \"type\": \"string\",\n \"mutable\": false,\n \"complexType\": {\n \"original\": \"string\",\n \"resolved\": \"string | undefined\",\n \"references\": {}\n },\n \"required\": false,\n \"optional\": true,\n \"docs\": {\n \"tags\": [],\n \"text\": \"Sets the heading for the dialog.\"\n },\n \"getter\": false,\n \"setter\": false,\n \"attribute\": \"heading\",\n \"reflect\": false\n },\n \"label\": {\n \"type\": \"string\",\n \"mutable\": false,\n \"complexType\": {\n \"original\": \"string\",\n \"resolved\": \"string | undefined\",\n \"references\": {}\n },\n \"required\": false,\n \"optional\": true,\n \"docs\": {\n \"tags\": [],\n \"text\": \"Sets the optional label for the dialog which appears above the heading.\"\n },\n \"getter\": false,\n \"setter\": false,\n \"attribute\": \"label\",\n \"reflect\": false\n },\n \"open\": {\n \"type\": \"boolean\",\n \"mutable\": true,\n \"complexType\": {\n \"original\": \"boolean\",\n \"resolved\": \"boolean | undefined\",\n \"references\": {}\n },\n \"required\": false,\n \"optional\": true,\n \"docs\": {\n \"tags\": [],\n \"text\": \"If `true`, the dialog will be displayed.\"\n },\n \"getter\": false,\n \"setter\": false,\n \"attribute\": \"open\",\n \"reflect\": true,\n \"defaultValue\": \"false\"\n },\n \"size\": {\n \"type\": \"string\",\n \"mutable\": false,\n \"complexType\": {\n \"original\": \"\\\"small\\\" | \\\"medium\\\" | \\\"large\\\"\",\n \"resolved\": \"\\\"large\\\" | \\\"medium\\\" | \\\"small\\\" | undefined\",\n \"references\": {}\n },\n \"required\": false,\n \"optional\": true,\n \"docs\": {\n \"tags\": [],\n \"text\": \"Sets the maximum and minimum height and width for the dialog.\"\n },\n \"getter\": false,\n \"setter\": false,\n \"attribute\": \"size\",\n \"reflect\": false,\n \"defaultValue\": \"\\\"small\\\"\"\n },\n \"theme\": {\n \"type\": \"string\",\n \"mutable\": false,\n \"complexType\": {\n \"original\": \"IcThemeMode\",\n \"resolved\": \"\\\"dark\\\" | \\\"inherit\\\" | \\\"light\\\" | undefined\",\n \"references\": {\n \"IcThemeMode\": {\n \"location\": \"import\",\n \"path\": \"../../utils/types\",\n \"id\": \"src/utils/types.ts::IcThemeMode\"\n }\n }\n },\n \"required\": false,\n \"optional\": true,\n \"docs\": {\n \"tags\": [],\n \"text\": \"Sets the theme color to the dark or light theme color. \\\"inherit\\\" will set the color based on the system settings or ic-theme component.\"\n },\n \"getter\": false,\n \"setter\": false,\n \"attribute\": \"theme\",\n \"reflect\": false,\n \"defaultValue\": \"\\\"inherit\\\"\"\n }\n };\n }\n static get states() {\n return {\n \"dialogRendered\": {},\n \"fadeIn\": {}\n };\n }\n static get events() {\n return [{\n \"method\": \"icDialogCancelled\",\n \"name\": \"icDialogCancelled\",\n \"bubbles\": true,\n \"cancelable\": true,\n \"composed\": true,\n \"docs\": {\n \"tags\": [],\n \"text\": \"Cancelation event emitted when default 'Cancel' button clicked or 'cancelDialog' method is called.\"\n },\n \"complexType\": {\n \"original\": \"void\",\n \"resolved\": \"void\",\n \"references\": {}\n }\n }, {\n \"method\": \"icDialogClosed\",\n \"name\": \"icDialogClosed\",\n \"bubbles\": true,\n \"cancelable\": true,\n \"composed\": true,\n \"docs\": {\n \"tags\": [],\n \"text\": \"Emitted when dialog has closed.\"\n },\n \"complexType\": {\n \"original\": \"void\",\n \"resolved\": \"void\",\n \"references\": {}\n }\n }, {\n \"method\": \"icDialogConfirmed\",\n \"name\": \"icDialogConfirmed\",\n \"bubbles\": true,\n \"cancelable\": true,\n \"composed\": true,\n \"docs\": {\n \"tags\": [],\n \"text\": \"Confirmation event emitted when default 'Confirm' primary button clicked or 'confirmDialog' method is called.\"\n },\n \"complexType\": {\n \"original\": \"void\",\n \"resolved\": \"void\",\n \"references\": {}\n }\n }, {\n \"method\": \"icDialogOpened\",\n \"name\": \"icDialogOpened\",\n \"bubbles\": true,\n \"cancelable\": true,\n \"composed\": true,\n \"docs\": {\n \"tags\": [],\n \"text\": \"Emitted when dialog has opened.\"\n },\n \"complexType\": {\n \"original\": \"void\",\n \"resolved\": \"void\",\n \"references\": {}\n }\n }];\n }\n static get methods() {\n return {\n \"cancelDialog\": {\n \"complexType\": {\n \"signature\": \"() => Promise<void>\",\n \"parameters\": [],\n \"references\": {\n \"Promise\": {\n \"location\": \"global\",\n \"id\": \"global::Promise\"\n }\n },\n \"return\": \"Promise<void>\"\n },\n \"docs\": {\n \"text\": \"Cancels the dialog. Used by the default 'Cancel' button or can be called manually to trigger cancelling of dialog.\",\n \"tags\": []\n }\n },\n \"confirmDialog\": {\n \"complexType\": {\n \"signature\": \"() => Promise<void>\",\n \"parameters\": [],\n \"references\": {\n \"Promise\": {\n \"location\": \"global\",\n \"id\": \"global::Promise\"\n }\n },\n \"return\": \"Promise<void>\"\n },\n \"docs\": {\n \"text\": \"Confirms the dialog. Used by the default 'Confirm' button or can be called manually to trigger confirming of dialog.\",\n \"tags\": []\n }\n }\n };\n }\n static get elementRef() { return \"el\"; }\n static get watchers() {\n return [{\n \"propName\": \"open\",\n \"methodName\": \"watchOpenHandler\"\n }];\n }\n static get listeners() {\n return [{\n \"name\": \"keydown\",\n \"method\": \"handleKeyboard\",\n \"target\": \"document\",\n \"capture\": false,\n \"passive\": false\n }, {\n \"name\": \"click\",\n \"method\": \"handleClick\",\n \"target\": undefined,\n \"capture\": false,\n \"passive\": false\n }];\n }\n}\n//# sourceMappingURL=ic-dialog.js.map\n"],"mappings":"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","ignoreList":[]}
@@ -1,2 +0,0 @@
1
- import{r as t,c as i,h as e,H as s,g as a}from"./p-8e4e97b4.js";import{c as o}from"./p-e081702e.js";import{i as n,V as r,o as c,K as d,e as l}from"./p-542ac498.js";const h='/*! normalize.css v8.0.1 | MIT License | github.com/necolas/normalize.css */html{line-height:1.15;-webkit-text-size-adjust:100%;}body{margin:0}main{display:block}h1{font-size:2em;margin:0.67em 0}hr{box-sizing:content-box;height:0;overflow:visible;}pre{font-family:monospace, monospace;font-size:1em;}a{background-color:transparent}abbr[title]{border-bottom:none;text-decoration:underline;-webkit-text-decoration:underline dotted;text-decoration:underline dotted;}b,strong{font-weight:bolder}code,kbd,samp{font-family:monospace, monospace;font-size:1em;}small{font-size:80%}sub,sup{font-size:75%;line-height:0;position:relative;vertical-align:baseline}sub{bottom:-0.25em}sup{top:-0.5em}img{border-style:none}button,input,optgroup,select,textarea{font-family:inherit;font-size:100%;line-height:1.15;margin:0;}button,input{overflow:visible}button,select{text-transform:none}button,[type="button"],[type="reset"],[type="submit"]{-webkit-appearance:button}button::-moz-focus-inner,[type="button"]::-moz-focus-inner,[type="reset"]::-moz-focus-inner,[type="submit"]::-moz-focus-inner{border-style:none;padding:0}button:-moz-focusring,[type="button"]:-moz-focusring,[type="reset"]:-moz-focusring,[type="submit"]:-moz-focusring{outline:1px dotted ButtonText}fieldset{padding:0.35em 0.75em 0.625em}legend{box-sizing:border-box;color:inherit;display:table;max-width:100%;padding:0;white-space:normal;}progress{vertical-align:baseline}textarea{overflow:auto}[type="checkbox"],[type="radio"]{box-sizing:border-box;padding:0;}[type="number"]::-webkit-inner-spin-button,[type="number"]::-webkit-outer-spin-button{height:auto}[type="search"]{-webkit-appearance:textfield;outline-offset:-2px;}[type="search"]::-webkit-search-decoration{-webkit-appearance:none}::-webkit-file-upload-button{-webkit-appearance:button;font:inherit;}details{display:block}summary{display:list-item}template{display:none}[hidden]{display:none}html,body,div,span,applet,object,iframe,h1,h2,h3,h4,h5,h6,p,blockquote,pre,a,abbr,acronym,address,big,cite,code,del,dfn,em,img,ins,kbd,q,s,samp,small,strike,strong,sub,sup,tt,var,b,u,i,center,dl,dt,dd,ol,ul,li,fieldset,form,label,legend,table,caption,tbody,tfoot,thead,tr,th,td,article,aside,canvas,details,embed,figure,figcaption,footer,header,hgroup,menu,nav,output,ruby,section,summary,time,mark,audio,video{margin:0;padding:0;border:0;font-size:100%;font-style:inherit;vertical-align:baseline}@media (prefers-reduced-motion: no-preference){:host{animation:fadein var(--ic-transition-duration-slow) ease-in-out}:host(.hidden){animation:fadeout var(--ic-transition-duration-slow) ease-in-out}}:host{--bottom-position:var(--ic-space-xl);position:fixed;bottom:var(--bottom-position);left:50%;transform:translate(-50%);z-index:var(--ic-z-index-toast)}:host(.ic-toast-hidden){display:none}:host(:focus){outline:none}.container{max-width:32.5rem;min-width:18rem;box-shadow:var(--ic-elevation-overlay);min-height:3.5rem;background-color:var(--ic-toast-background);display:flex;align-items:center;position:relative;border-radius:var(--ic-border-radius)}.toast-icon-container{height:100%;display:flex;align-items:center}.divider{height:100%;width:var(--ic-space-xs);position:absolute;border-radius:var(--ic-space-xxxs) 0 0 var(--ic-space-xxxs)}.divider-neutral{background-color:var(--ic-toast-status-neutral)}.divider-info{background-color:var(--ic-toast-status-info)}.divider-warning{background-color:var(--ic-toast-status-warning)}.divider-error{background-color:var(--ic-toast-status-error)}.divider-success{background-color:var(--ic-toast-status-success)}.divider-ai{background-color:var(--ic-toast-status-ai)}.toast-icon,::slotted(svg){height:var(--ic-space-lg);width:var(--ic-space-lg);margin-left:var(--ic-space-md)}:host([variant="neutral"]) .toast-icon svg,::slotted(svg){fill:var(--ic-toast-icon-neutral)}:host([variant="info"]) .toast-icon svg{fill:var(--ic-toast-icon-info)}:host([variant="warning"]) .toast-icon svg{fill:var(--ic-toast-icon-warning)}:host([variant="error"]) .toast-icon svg{fill:var(--ic-toast-icon-error)}:host([variant="success"]) .toast-icon svg{fill:var(--ic-toast-icon-success)}:host([variant="ai"]) .toast-icon svg{fill:var(--ic-toast-icon-ai)}.toast-content{margin-left:var(--ic-space-xs);width:100%}.no-icon{margin-left:var(--ic-space-md)}.toast-text{padding:var(--ic-space-xs) var(--ic-space-xs) var(--ic-space-xs) 0}.toast-heading{--ic-typography-color:var(--ic-toast-title)}.toast-message{--ic-typography-color:var(--ic-toast-description)}.toast-action-container{padding-bottom:var(--ic-space-md)}#dismiss-button{padding:var(--ic-space-xs)}#dismiss-button>svg{color:var(--ic-toast-dismiss-button)}ic-loading-indicator{--outer-color:transparent;--inner-color:var(--ic-action-monochrome)}.toast-dismiss-timer{padding:var(--ic-space-sm)}@media (max-width: 576px){:host{--bottom-position:var(--ic-space-lg);width:calc(100% - 2 * var(--ic-space-md))}}@media (min-width: 993px){:host{--bottom-position:calc(var(--ic-space-xl) + var(--ic-space-xs))}}@media (forced-colors: active){.container{border:var(--ic-border-hc)}}@keyframes fadein{from{bottom:0;opacity:0}to{bottom:var(--bottom-position);opacity:1}}@keyframes fadeout{from{bottom:var(--bottom-position);opacity:1}to{bottom:0;opacity:0}}';const m=h;const b=1e3;const u=70;const p=140;const f=class{constructor(e){t(this,e);this.icDismiss=i(this,"icDismiss",7);this.interactiveElements=[];this.timerProgress=100;this.visible=false;this.autoDismissTimeout=5e3;this.dismissButtonAriaLabel="dismiss";this.dismissMode="manual";this.dismissAction=()=>{this.icDismiss.emit()};this.handleProgressChange=()=>{this.timerProgress-=b/this.autoDismissTimeout*100};this.onFocus=()=>{if(this.focusInteractiveElement){this.isManual=true}};this.onBlur=()=>{this.handleTimer({type:"mouseleave"})}}dismissModeChangeHandler(t){this.isManual=t==="manual"}disconnectedCallback(){window.clearTimeout(this.dismissTimeout);window.clearInterval(this.timerRefreshInterval)}componentWillLoad(){var t,i;this.handleLongText(this.heading.length>u,!!this.message&&((t=this.message)===null||t===void 0?void 0:t.length)>p);if(this.autoDismissTimeout<5e3)this.autoDismissTimeout=5e3;if(n(this.el,"action"))this.dismissMode="manual";this.isManual=this.dismissMode==="manual";if(n(this.el,"neutral-icon"))this.variant="neutral";if(this.variant==="neutral"){this.neutralVariantLabel=(i=this.neutralIconAriaLabel)!==null&&i!==void 0?i:r[this.variant].ariaLabel}if(this.isManual){const t=l(this.message)?`. ${this.message}`:"";this.el.setAttribute("aria-label",this.variant?this.neutralVariantLabel||r[this.variant].ariaLabel:this.heading);(this.variant||this.message)&&this.el.setAttribute("aria-description",this.variant?`${this.heading}${t}`:this.message||"")}}componentDidLoad(){c([{prop:this.heading,propName:"heading"}],"Toast")}componentDidUpdate(){var t;if(this.focusInteractiveElement&&this.isManual){this.resetAutoDismissTimer();const i=d(this.el,"action");const e=(t=this.el.shadowRoot)===null||t===void 0?void 0:t.querySelector("ic-button");if(i)this.interactiveElements.push(i);if(e)this.interactiveElements.push(e);this.focusInteractiveElement=false;this.findNextInteractiveElement(this.shiftKeyPressed).setFocus();this.shiftKeyPressed=false}}watchVisibleHandler(){var t;if(this.visible){const i=d(this.el,"action");const e=(t=this.el.shadowRoot)===null||t===void 0?void 0:t.querySelector("ic-button");if(i)this.interactiveElements.push(i);if(e)this.interactiveElements.push(e)}else{this.interactiveElements=[]}}handleDismiss(){this.visible=false;this.resetAutoDismissTimer()}handleKeyboard(t){if(this.visible){if(this.isManual){switch(t.key){case"Tab":t.preventDefault();this.findNextInteractiveElement(t.shiftKey).setFocus();break;case"Escape":!t.repeat&&this.dismissAction();t.stopImmediatePropagation();break}}else{if(t.key==="Tab"){this.shiftKeyPressed=t.shiftKey;this.focusInteractiveElement=true}}}}handleTimer(t){switch(t.type){case"mouseenter":if(!this.isManual){this.resetAutoDismissTimer()}this.isManual=true;break;case"mouseleave":if(this.dismissMode==="automatic"){this.isManual=false;this.interactiveElements=[];if(this.visible){this.dismissTimeout=window.setTimeout(this.dismissAction,this.autoDismissTimeout);this.timerRefreshInterval=window.setInterval(this.handleProgressChange,b)}}break}}async setVisible(){if(!this.visible)this.visible=true;if(!this.isManual){this.dismissTimeout=window.setTimeout(this.dismissAction,this.autoDismissTimeout);this.timerRefreshInterval=window.setInterval(this.handleProgressChange,b);return null}else{window.setTimeout((()=>this.interactiveElements[0].setFocus()),200);return document.activeElement}}handleLongText(t,i){if(i||t){console.error(`Too many characters in toast ${t?"heading":""}${t&&i?" and ":""}${i?"message":""}. Refer to character limits specified in the prop description`)}}findNextInteractiveElement(t){const i=this.interactiveElements[0];const e=this.interactiveElements[this.interactiveElements.length-1];if(this.isActive(t?i:e))return t?e:i;let s=0;return this.interactiveElements.some(((t,i)=>{if(!this.isActive(t))return false;s=i;return true}))?this.interactiveElements[s+(t?-1:1)]:i}resetAutoDismissTimer(){window.clearTimeout(this.dismissTimeout);window.clearInterval(this.timerRefreshInterval);this.timerProgress=100}isActive(t){return t===this.el?!!this.el.shadowRoot.activeElement:document.activeElement===t}render(){const{variant:t,heading:i,message:a,visible:c,isManual:d,dismissButtonAriaLabel:l}=this;return e(s,{key:"4e5a088492c0c9fb37f0ca2211d6f458be9e1318",class:{["ic-toast-hidden"]:!c},tabindex:"0",onFocus:this.onFocus,onBlur:this.onBlur,role:d?"dialog":"alert","aria-live":d?null:"polite"},e("div",{key:"5692e63d07ebc6ca0beaf89952f6dea339f46b28",class:"container"},t&&c&&e("div",{key:"a1a33233e9436d44ed398a72519d25d37256d355",class:"toast-icon-container"},e("div",{key:"eea9ec3d6b4d330d07f0d9aff54b040b14406d41",class:{["divider"]:true,[`divider-${t}`]:true}}),t==="neutral"?e("slot",{name:"neutral-icon"}):e("span",{class:"toast-icon",innerHTML:r[t].icon})),e("div",{key:"92552b4b1b4d5de15284d8f5382a56ed81a99d89",class:{["toast-content"]:true,["no-icon"]:t==="neutral"&&!n(this.el,"neutral-icon")}},e("div",{key:"96b38beec1024b8c1eff1b86e823f1f95c1e574d",class:"toast-text"},e("ic-typography",{key:"aacffb589fd0e8180b0b72ad7d1315f4720e67ed",variant:"subtitle-large",class:"toast-heading"},c&&(d?e("h5",null,i):e("p",null,i))),a&&e("ic-typography",{key:"6cbbb428be1211f1d730838a45cb17757d8af28a",variant:"body",class:"toast-message"},c&&e("p",{key:"45191e3180d2b133071d727f515c3b16391ca681"},a))),n(this.el,"action")&&e("div",{key:"4d3555d3dc5bb374ac8aa3c112e91da2da37c66d",class:"toast-action-container"},e("slot",{key:"0fcefdc03a5ff6f20e589f74433e51ea25b2e929",name:"action"}))),!d?e("ic-loading-indicator",{class:"toast-dismiss-timer",theme:"dark",monochrome:true,size:"icon",progress:this.timerProgress,description:"Dismiss timer"}):e("ic-button",{id:"dismiss-button",innerHTML:o,onClick:this.dismissAction,variant:"icon-tertiary","aria-label":l})))}get el(){return a(this)}static get watchers(){return{dismissMode:["dismissModeChangeHandler"],visible:["watchVisibleHandler"]}}};f.style=m;export{f as ic_toast};
2
- //# sourceMappingURL=p-8b4a7a78.entry.js.map
@@ -1 +0,0 @@
1
- {"version":3,"names":["icToastCss","IcToastStyle0","AUTO_DISMISS_TIMER_REFRESH_RATE_MS","TOAST_HEADING_CHAR_LIMIT","TOAST_MESSAGE_CHAR_LIMIT","Toast","constructor","hostRef","this","interactiveElements","timerProgress","visible","autoDismissTimeout","dismissButtonAriaLabel","dismissMode","dismissAction","icDismiss","emit","handleProgressChange","onFocus","focusInteractiveElement","isManual","onBlur","handleTimer","type","dismissModeChangeHandler","newValue","disconnectedCallback","window","clearTimeout","dismissTimeout","clearInterval","timerRefreshInterval","componentWillLoad","_a","_b","handleLongText","heading","length","message","isSlotUsed","el","variant","neutralVariantLabel","neutralIconAriaLabel","VARIANT_ICONS","ariaLabel","toastMessage","isPropDefined","setAttribute","componentDidLoad","onComponentRequiredPropUndefined","prop","propName","componentDidUpdate","resetAutoDismissTimer","actionContent","getSlot","dismissButton","shadowRoot","querySelector","push","findNextInteractiveElement","shiftKeyPressed","setFocus","watchVisibleHandler","handleDismiss","handleKeyboard","ev","key","preventDefault","shiftKey","repeat","stopImmediatePropagation","setTimeout","setInterval","setVisible","document","activeElement","headingTooLong","messageTooLong","console","error","isBackwards","firstEl","lastEl","isActive","currentIndex","some","index","targetEl","render","h","Host","class","tabindex","role","name","innerHTML","icon","theme","monochrome","size","progress","description","id","closeIcon","onClick"],"sources":["../web-components/dist/collection/components/ic-toast/ic-toast.css?tag=ic-toast&encapsulation=shadow","../web-components/dist/collection/components/ic-toast/ic-toast.js"],"sourcesContent":["/*! normalize.css v8.0.1 | MIT License | github.com/necolas/normalize.css */\n\n/* Document\n ========================================================================== */\n\n/**\n * 1. Correct the line height in all browsers.\n * 2. Prevent adjustments of font size after orientation changes in iOS.\n */\n\nhtml {\n line-height: 1.15; /* 1 */\n -webkit-text-size-adjust: 100%; /* 2 */\n}\n\n/* Sections\n ========================================================================== */\n\n/**\n * Remove the margin in all browsers.\n */\n\nbody {\n margin: 0;\n}\n\n/**\n * Render the `main` element consistently in IE.\n */\n\nmain {\n display: block;\n}\n\n/**\n * Correct the font size and margin on `h1` elements within `section` and\n * `article` contexts in Chrome, Firefox, and Safari.\n */\n\nh1 {\n font-size: 2em;\n margin: 0.67em 0;\n}\n\n/* Grouping content\n ========================================================================== */\n\n/**\n * 1. Add the correct box sizing in Firefox.\n * 2. Show the overflow in Edge and IE.\n */\n\nhr {\n box-sizing: content-box; /* 1 */\n height: 0; /* 1 */\n overflow: visible; /* 2 */\n}\n\n/**\n * 1. Correct the inheritance and scaling of font size in all browsers.\n * 2. Correct the odd `em` font sizing in all browsers.\n */\n\npre {\n font-family: monospace, monospace; /* 1 */\n font-size: 1em; /* 2 */\n}\n\n/* Text-level semantics\n ========================================================================== */\n\n/**\n * Remove the gray background on active links in IE 10.\n */\n\na {\n background-color: transparent;\n}\n\n/**\n * 1. Remove the bottom border in Chrome 57-\n * 2. Add the correct text decoration in Chrome, Edge, IE, Opera, and Safari.\n */\n\nabbr[title] {\n border-bottom: none; /* 1 */\n text-decoration: underline; /* 2 */\n -webkit-text-decoration: underline dotted;\n text-decoration: underline dotted; /* 2 */\n}\n\n/**\n * Add the correct font weight in Chrome, Edge, and Safari.\n */\n\nb,\nstrong {\n font-weight: bolder;\n}\n\n/**\n * 1. Correct the inheritance and scaling of font size in all browsers.\n * 2. Correct the odd `em` font sizing in all browsers.\n */\n\ncode,\nkbd,\nsamp {\n font-family: monospace, monospace; /* 1 */\n font-size: 1em; /* 2 */\n}\n\n/**\n * Add the correct font size in all browsers.\n */\n\nsmall {\n font-size: 80%;\n}\n\n/**\n * Prevent `sub` and `sup` elements from affecting the line height in\n * all browsers.\n */\n\nsub,\nsup {\n font-size: 75%;\n line-height: 0;\n position: relative;\n vertical-align: baseline;\n}\n\nsub {\n bottom: -0.25em;\n}\n\nsup {\n top: -0.5em;\n}\n\n/* Embedded content\n ========================================================================== */\n\n/**\n * Remove the border on images inside links in IE 10.\n */\n\nimg {\n border-style: none;\n}\n\n/* Forms\n ========================================================================== */\n\n/**\n * 1. Change the font styles in all browsers.\n * 2. Remove the margin in Firefox and Safari.\n */\n\nbutton,\ninput,\noptgroup,\nselect,\ntextarea {\n font-family: inherit; /* 1 */\n font-size: 100%; /* 1 */\n line-height: 1.15; /* 1 */\n margin: 0; /* 2 */\n}\n\n/**\n * Show the overflow in IE.\n * 1. Show the overflow in Edge.\n */\n\nbutton,\ninput {\n /* 1 */\n overflow: visible;\n}\n\n/**\n * Remove the inheritance of text transform in Edge, Firefox, and IE.\n * 1. Remove the inheritance of text transform in Firefox.\n */\n\nbutton,\nselect {\n /* 1 */\n text-transform: none;\n}\n\n/**\n * Correct the inability to style clickable types in iOS and Safari.\n */\n\nbutton,\n[type=\"button\"],\n[type=\"reset\"],\n[type=\"submit\"] {\n -webkit-appearance: button;\n}\n\n/**\n * Remove the inner border and padding in Firefox.\n */\n\nbutton::-moz-focus-inner,\n[type=\"button\"]::-moz-focus-inner,\n[type=\"reset\"]::-moz-focus-inner,\n[type=\"submit\"]::-moz-focus-inner {\n border-style: none;\n padding: 0;\n}\n\n/**\n * Restore the focus styles unset by the previous rule.\n */\n\nbutton:-moz-focusring,\n[type=\"button\"]:-moz-focusring,\n[type=\"reset\"]:-moz-focusring,\n[type=\"submit\"]:-moz-focusring {\n outline: 1px dotted ButtonText;\n}\n\n/**\n * Correct the padding in Firefox.\n */\n\nfieldset {\n padding: 0.35em 0.75em 0.625em;\n}\n\n/**\n * 1. Correct the text wrapping in Edge and IE.\n * 2. Correct the color inheritance from `fieldset` elements in IE.\n * 3. Remove the padding so developers are not caught out when they zero out\n * `fieldset` elements in all browsers.\n */\n\nlegend {\n box-sizing: border-box; /* 1 */\n color: inherit; /* 2 */\n display: table; /* 1 */\n max-width: 100%; /* 1 */\n padding: 0; /* 3 */\n white-space: normal; /* 1 */\n}\n\n/**\n * Add the correct vertical alignment in Chrome, Firefox, and Opera.\n */\n\nprogress {\n vertical-align: baseline;\n}\n\n/**\n * Remove the default vertical scrollbar in IE 10+.\n */\n\ntextarea {\n overflow: auto;\n}\n\n/**\n * 1. Add the correct box sizing in IE 10.\n * 2. Remove the padding in IE 10.\n */\n\n[type=\"checkbox\"],\n[type=\"radio\"] {\n box-sizing: border-box; /* 1 */\n padding: 0; /* 2 */\n}\n\n/**\n * Correct the cursor style of increment and decrement buttons in Chrome.\n */\n\n[type=\"number\"]::-webkit-inner-spin-button,\n[type=\"number\"]::-webkit-outer-spin-button {\n height: auto;\n}\n\n/**\n * 1. Correct the odd appearance in Chrome and Safari.\n * 2. Correct the outline style in Safari.\n */\n\n[type=\"search\"] {\n -webkit-appearance: textfield; /* 1 */\n outline-offset: -2px; /* 2 */\n}\n\n/**\n * Remove the inner padding in Chrome and Safari on macOS.\n */\n\n[type=\"search\"]::-webkit-search-decoration {\n -webkit-appearance: none;\n}\n\n/**\n * 1. Correct the inability to style clickable types in iOS and Safari.\n * 2. Change font properties to `inherit` in Safari.\n */\n\n::-webkit-file-upload-button {\n -webkit-appearance: button; /* 1 */\n font: inherit; /* 2 */\n}\n\n/* Interactive\n ========================================================================== */\n\n/*\n * Add the correct display in Edge, IE 10+, and Firefox.\n */\n\ndetails {\n display: block;\n}\n\n/*\n * Add the correct display in all browsers.\n */\n\nsummary {\n display: list-item;\n}\n\n/* Misc\n ========================================================================== */\n\n/**\n * Add the correct display in IE 10+.\n */\n\ntemplate {\n display: none;\n}\n\n/**\n * Add the correct display in IE 10.\n */\n\n[hidden] {\n display: none;\n}\n\nhtml,\nbody,\ndiv,\nspan,\napplet,\nobject,\niframe,\nh1,\nh2,\nh3,\nh4,\nh5,\nh6,\np,\nblockquote,\npre,\na,\nabbr,\nacronym,\naddress,\nbig,\ncite,\ncode,\ndel,\ndfn,\nem,\nimg,\nins,\nkbd,\nq,\ns,\nsamp,\nsmall,\nstrike,\nstrong,\nsub,\nsup,\ntt,\nvar,\nb,\nu,\ni,\ncenter,\ndl,\ndt,\ndd,\nol,\nul,\nli,\nfieldset,\nform,\nlabel,\nlegend,\ntable,\ncaption,\ntbody,\ntfoot,\nthead,\ntr,\nth,\ntd,\narticle,\naside,\ncanvas,\ndetails,\nembed,\nfigure,\nfigcaption,\nfooter,\nheader,\nhgroup,\nmenu,\nnav,\noutput,\nruby,\nsection,\nsummary,\ntime,\nmark,\naudio,\nvideo {\n margin: 0;\n padding: 0;\n border: 0;\n font-size: 100%;\n font-style: inherit;\n vertical-align: baseline;\n}\n\n\n/**\n * @prop --ic-z-index-toast: z-index of toast\n */\n\n@media (prefers-reduced-motion: no-preference) {\n :host {\n animation: fadein var(--ic-transition-duration-slow) ease-in-out;\n }\n\n :host(.hidden) {\n animation: fadeout var(--ic-transition-duration-slow) ease-in-out;\n }\n}\n\n:host {\n --bottom-position: var(--ic-space-xl);\n\n position: fixed;\n bottom: var(--bottom-position);\n left: 50%;\n transform: translate(-50%);\n z-index: var(--ic-z-index-toast);\n}\n\n:host(.ic-toast-hidden) {\n display: none;\n}\n\n:host(:focus) {\n outline: none;\n}\n\n.container {\n max-width: 32.5rem;\n min-width: 18rem;\n box-shadow: var(--ic-elevation-overlay);\n min-height: 3.5rem;\n background-color: var(--ic-toast-background);\n display: flex;\n align-items: center;\n position: relative;\n border-radius: var(--ic-border-radius);\n}\n\n.toast-icon-container {\n height: 100%;\n display: flex;\n align-items: center;\n}\n\n.divider {\n height: 100%;\n width: var(--ic-space-xs);\n position: absolute;\n border-radius: var(--ic-space-xxxs) 0 0 var(--ic-space-xxxs);\n}\n\n.divider-neutral {\n background-color: var(--ic-toast-status-neutral);\n}\n\n.divider-info {\n background-color: var(--ic-toast-status-info);\n}\n\n.divider-warning {\n background-color: var(--ic-toast-status-warning);\n}\n\n.divider-error {\n background-color: var(--ic-toast-status-error);\n}\n\n.divider-success {\n background-color: var(--ic-toast-status-success);\n}\n\n.divider-ai {\n background-color: var(--ic-toast-status-ai);\n}\n\n.toast-icon,\n::slotted(svg) {\n height: var(--ic-space-lg);\n width: var(--ic-space-lg);\n margin-left: var(--ic-space-md);\n}\n\n:host([variant=\"neutral\"]) .toast-icon svg,\n::slotted(svg) {\n fill: var(--ic-toast-icon-neutral);\n}\n\n:host([variant=\"info\"]) .toast-icon svg {\n fill: var(--ic-toast-icon-info);\n}\n\n:host([variant=\"warning\"]) .toast-icon svg {\n fill: var(--ic-toast-icon-warning);\n}\n\n:host([variant=\"error\"]) .toast-icon svg {\n fill: var(--ic-toast-icon-error);\n}\n\n:host([variant=\"success\"]) .toast-icon svg {\n fill: var(--ic-toast-icon-success);\n}\n\n:host([variant=\"ai\"]) .toast-icon svg {\n fill: var(--ic-toast-icon-ai);\n}\n\n.toast-content {\n margin-left: var(--ic-space-xs);\n width: 100%;\n}\n\n.no-icon {\n margin-left: var(--ic-space-md);\n}\n\n.toast-text {\n padding: var(--ic-space-xs) var(--ic-space-xs) var(--ic-space-xs) 0;\n}\n\n.toast-heading {\n --ic-typography-color: var(--ic-toast-title);\n}\n\n.toast-message {\n --ic-typography-color: var(--ic-toast-description);\n}\n\n.toast-action-container {\n padding-bottom: var(--ic-space-md);\n}\n\n#dismiss-button {\n padding: var(--ic-space-xs);\n}\n\n#dismiss-button > svg {\n color: var(--ic-toast-dismiss-button);\n}\n\nic-loading-indicator {\n --outer-color: transparent;\n --inner-color: var(--ic-action-monochrome);\n}\n\n.toast-dismiss-timer {\n padding: var(--ic-space-sm);\n}\n\n@media (max-width: 576px) {\n :host {\n --bottom-position: var(--ic-space-lg);\n\n width: calc(100% - 2 * var(--ic-space-md));\n }\n}\n\n@media (min-width: 993px) {\n :host {\n --bottom-position: calc(var(--ic-space-xl) + var(--ic-space-xs));\n }\n}\n\n@media (forced-colors: active) {\n .container {\n border: var(--ic-border-hc);\n }\n}\n\n@keyframes fadein {\n from {\n bottom: 0;\n opacity: 0;\n }\n\n to {\n bottom: var(--bottom-position);\n opacity: 1;\n }\n}\n\n@keyframes fadeout {\n from {\n bottom: var(--bottom-position);\n opacity: 1;\n }\n\n to {\n bottom: 0;\n opacity: 0;\n }\n}\n","import { h, Host, } from \"@stencil/core\";\nimport closeIcon from \"../../assets/close-icon.svg\";\nimport { VARIANT_ICONS } from \"../../utils/constants\";\nimport { getSlot, isPropDefined, isSlotUsed, onComponentRequiredPropUndefined, } from \"../../utils/helpers\";\nconst AUTO_DISMISS_TIMER_REFRESH_RATE_MS = 1000;\nconst TOAST_HEADING_CHAR_LIMIT = 70;\nconst TOAST_MESSAGE_CHAR_LIMIT = 140;\n/**\n * @slot action - IcButton or IcLink is placed below header and message. If used will default toast to manual `dismiss` type.\n * @slot neutral-icon - A custom neutral icon is placed on the left side of the component. If used will default toast to `neutral` variant.\n */\nexport class Toast {\n constructor() {\n this.interactiveElements = [];\n this.timerProgress = 100;\n this.visible = false;\n /**\n * If toast dismissMode is set to `automatic`, use this prop to define the time before the toast dismisses (in MILLISECONDS)\n * (NOTE: Has a minimum value of `5000ms`)\n */\n this.autoDismissTimeout = 5000;\n /**\n * If toast can be manually dismissed, this prop sets a custom aria-label for the ic-button component\n */\n this.dismissButtonAriaLabel = \"dismiss\";\n /**\n * How the toast will be dismissed. If manual will display a dismiss button.\n */\n this.dismissMode = \"manual\";\n this.dismissAction = () => {\n this.icDismiss.emit();\n };\n this.handleProgressChange = () => {\n this.timerProgress -=\n (AUTO_DISMISS_TIMER_REFRESH_RATE_MS / this.autoDismissTimeout) * 100;\n };\n this.onFocus = () => {\n if (this.focusInteractiveElement) {\n this.isManual = true;\n }\n };\n this.onBlur = () => {\n this.handleTimer({ type: \"mouseleave\" });\n };\n }\n dismissModeChangeHandler(newValue) {\n this.isManual = newValue === \"manual\";\n }\n disconnectedCallback() {\n window.clearTimeout(this.dismissTimeout);\n window.clearInterval(this.timerRefreshInterval);\n }\n componentWillLoad() {\n var _a, _b;\n this.handleLongText(this.heading.length > TOAST_HEADING_CHAR_LIMIT, !!this.message && ((_a = this.message) === null || _a === void 0 ? void 0 : _a.length) > TOAST_MESSAGE_CHAR_LIMIT);\n if (this.autoDismissTimeout < 5000)\n this.autoDismissTimeout = 5000;\n if (isSlotUsed(this.el, \"action\"))\n this.dismissMode = \"manual\";\n this.isManual = this.dismissMode === \"manual\";\n if (isSlotUsed(this.el, \"neutral-icon\"))\n this.variant = \"neutral\";\n if (this.variant === \"neutral\") {\n this.neutralVariantLabel =\n (_b = this.neutralIconAriaLabel) !== null && _b !== void 0 ? _b : VARIANT_ICONS[this.variant].ariaLabel;\n }\n if (this.isManual) {\n const toastMessage = isPropDefined(this.message)\n ? `. ${this.message}`\n : \"\";\n this.el.setAttribute(\"aria-label\", this.variant\n ? this.neutralVariantLabel || VARIANT_ICONS[this.variant].ariaLabel\n : this.heading);\n (this.variant || this.message) &&\n this.el.setAttribute(\"aria-description\", this.variant ? `${this.heading}${toastMessage}` : this.message || \"\");\n }\n }\n componentDidLoad() {\n onComponentRequiredPropUndefined([{ prop: this.heading, propName: \"heading\" }], \"Toast\");\n }\n componentDidUpdate() {\n var _a;\n if (this.focusInteractiveElement && this.isManual) {\n this.resetAutoDismissTimer();\n const actionContent = getSlot(this.el, \"action\");\n const dismissButton = (_a = this.el.shadowRoot) === null || _a === void 0 ? void 0 : _a.querySelector(\"ic-button\");\n if (actionContent)\n this.interactiveElements.push(actionContent);\n if (dismissButton)\n this.interactiveElements.push(dismissButton);\n this.focusInteractiveElement = false;\n this.findNextInteractiveElement(this.shiftKeyPressed).setFocus();\n this.shiftKeyPressed = false;\n }\n }\n watchVisibleHandler() {\n var _a;\n if (this.visible) {\n const actionContent = getSlot(this.el, \"action\");\n const dismissButton = (_a = this.el.shadowRoot) === null || _a === void 0 ? void 0 : _a.querySelector(\"ic-button\");\n if (actionContent)\n this.interactiveElements.push(actionContent);\n if (dismissButton)\n this.interactiveElements.push(dismissButton);\n }\n else {\n this.interactiveElements = [];\n }\n }\n handleDismiss() {\n this.visible = false;\n this.resetAutoDismissTimer();\n }\n handleKeyboard(ev) {\n if (this.visible) {\n if (this.isManual) {\n switch (ev.key) {\n case \"Tab\":\n ev.preventDefault();\n this.findNextInteractiveElement(ev.shiftKey).setFocus();\n break;\n case \"Escape\":\n !ev.repeat && this.dismissAction();\n ev.stopImmediatePropagation();\n break;\n }\n }\n else {\n if (ev.key === \"Tab\") {\n this.shiftKeyPressed = ev.shiftKey;\n this.focusInteractiveElement = true;\n }\n }\n }\n }\n handleTimer(ev) {\n switch (ev.type) {\n case \"mouseenter\":\n if (!this.isManual) {\n this.resetAutoDismissTimer();\n }\n this.isManual = true;\n break;\n case \"mouseleave\":\n if (this.dismissMode === \"automatic\") {\n this.isManual = false;\n this.interactiveElements = [];\n if (this.visible) {\n this.dismissTimeout = window.setTimeout(this.dismissAction, this.autoDismissTimeout);\n this.timerRefreshInterval = window.setInterval(this.handleProgressChange, AUTO_DISMISS_TIMER_REFRESH_RATE_MS);\n }\n }\n break;\n }\n }\n /**\n * @internal Used to display the individual toast.\n * @returns The element that previously had focus before the toast appeared\n */\n async setVisible() {\n if (!this.visible)\n this.visible = true;\n if (!this.isManual) {\n this.dismissTimeout = window.setTimeout(this.dismissAction, this.autoDismissTimeout);\n this.timerRefreshInterval = window.setInterval(this.handleProgressChange, AUTO_DISMISS_TIMER_REFRESH_RATE_MS);\n return null;\n }\n else {\n window.setTimeout(() => this.interactiveElements[0].setFocus(), 200);\n return document.activeElement;\n }\n }\n handleLongText(headingTooLong, messageTooLong) {\n if (messageTooLong || headingTooLong) {\n console.error(`Too many characters in toast ${headingTooLong ? \"heading\" : \"\"}${headingTooLong && messageTooLong ? \" and \" : \"\"}${messageTooLong ? \"message\" : \"\"}. Refer to character limits specified in the prop description`);\n }\n }\n findNextInteractiveElement(isBackwards) {\n const firstEl = this.interactiveElements[0];\n const lastEl = this.interactiveElements[this.interactiveElements.length - 1];\n if (this.isActive(isBackwards ? firstEl : lastEl))\n return isBackwards ? lastEl : firstEl;\n let currentIndex = 0;\n return this.interactiveElements.some((el, index) => {\n if (!this.isActive(el))\n return false;\n currentIndex = index;\n return true;\n })\n ? this.interactiveElements[currentIndex + (isBackwards ? -1 : 1)]\n : firstEl;\n }\n resetAutoDismissTimer() {\n window.clearTimeout(this.dismissTimeout);\n window.clearInterval(this.timerRefreshInterval);\n this.timerProgress = 100;\n }\n isActive(targetEl) {\n return targetEl === this.el\n ? !!this.el.shadowRoot.activeElement\n : document.activeElement === targetEl;\n }\n render() {\n const { variant, heading, message, visible, isManual, dismissButtonAriaLabel, } = this;\n return (h(Host, { key: '4e5a088492c0c9fb37f0ca2211d6f458be9e1318', class: { [\"ic-toast-hidden\"]: !visible }, tabindex: \"0\", onFocus: this.onFocus, onBlur: this.onBlur, role: isManual ? \"dialog\" : \"alert\", \"aria-live\": isManual ? null : \"polite\" }, h(\"div\", { key: '5692e63d07ebc6ca0beaf89952f6dea339f46b28', class: \"container\" }, variant && visible && (h(\"div\", { key: 'a1a33233e9436d44ed398a72519d25d37256d355', class: \"toast-icon-container\" }, h(\"div\", { key: 'eea9ec3d6b4d330d07f0d9aff54b040b14406d41', class: {\n [\"divider\"]: true,\n [`divider-${variant}`]: true,\n } }), variant === \"neutral\" ? (h(\"slot\", { name: \"neutral-icon\" })) : (h(\"span\", { class: \"toast-icon\", innerHTML: VARIANT_ICONS[variant].icon })))), h(\"div\", { key: '92552b4b1b4d5de15284d8f5382a56ed81a99d89', class: {\n [\"toast-content\"]: true,\n [\"no-icon\"]: variant === \"neutral\" && !isSlotUsed(this.el, \"neutral-icon\"),\n } }, h(\"div\", { key: '96b38beec1024b8c1eff1b86e823f1f95c1e574d', class: \"toast-text\" }, h(\"ic-typography\", { key: 'aacffb589fd0e8180b0b72ad7d1315f4720e67ed', variant: \"subtitle-large\", class: \"toast-heading\" }, visible && (isManual ? h(\"h5\", null, heading) : h(\"p\", null, heading))), message && (h(\"ic-typography\", { key: '6cbbb428be1211f1d730838a45cb17757d8af28a', variant: \"body\", class: \"toast-message\" }, visible && h(\"p\", { key: '45191e3180d2b133071d727f515c3b16391ca681' }, message)))), isSlotUsed(this.el, \"action\") && (h(\"div\", { key: '4d3555d3dc5bb374ac8aa3c112e91da2da37c66d', class: \"toast-action-container\" }, h(\"slot\", { key: '0fcefdc03a5ff6f20e589f74433e51ea25b2e929', name: \"action\" })))), !isManual ? (h(\"ic-loading-indicator\", { class: \"toast-dismiss-timer\", theme: \"dark\", monochrome: true, size: \"icon\", progress: this.timerProgress, description: \"Dismiss timer\" })) : (h(\"ic-button\", { id: \"dismiss-button\", innerHTML: closeIcon, onClick: this.dismissAction, variant: \"icon-tertiary\", \"aria-label\": dismissButtonAriaLabel })))));\n }\n static get is() { return \"ic-toast\"; }\n static get encapsulation() { return \"shadow\"; }\n static get originalStyleUrls() {\n return {\n \"$\": [\"ic-toast.css\"]\n };\n }\n static get styleUrls() {\n return {\n \"$\": [\"ic-toast.css\"]\n };\n }\n static get properties() {\n return {\n \"autoDismissTimeout\": {\n \"type\": \"number\",\n \"mutable\": true,\n \"complexType\": {\n \"original\": \"number | undefined\",\n \"resolved\": \"number | undefined\",\n \"references\": {}\n },\n \"required\": false,\n \"optional\": true,\n \"docs\": {\n \"tags\": [],\n \"text\": \"If toast dismissMode is set to `automatic`, use this prop to define the time before the toast dismisses (in MILLISECONDS)\\n(NOTE: Has a minimum value of `5000ms`)\"\n },\n \"getter\": false,\n \"setter\": false,\n \"attribute\": \"auto-dismiss-timeout\",\n \"reflect\": false,\n \"defaultValue\": \"5000\"\n },\n \"dismissButtonAriaLabel\": {\n \"type\": \"string\",\n \"mutable\": false,\n \"complexType\": {\n \"original\": \"string | undefined\",\n \"resolved\": \"string | undefined\",\n \"references\": {}\n },\n \"required\": false,\n \"optional\": true,\n \"docs\": {\n \"tags\": [],\n \"text\": \"If toast can be manually dismissed, this prop sets a custom aria-label for the ic-button component\"\n },\n \"getter\": false,\n \"setter\": false,\n \"attribute\": \"dismiss-button-aria-label\",\n \"reflect\": false,\n \"defaultValue\": \"\\\"dismiss\\\"\"\n },\n \"dismissMode\": {\n \"type\": \"string\",\n \"mutable\": true,\n \"complexType\": {\n \"original\": \"IcActivationTypes\",\n \"resolved\": \"\\\"automatic\\\" | \\\"manual\\\" | undefined\",\n \"references\": {\n \"IcActivationTypes\": {\n \"location\": \"import\",\n \"path\": \"../../utils/types\",\n \"id\": \"src/utils/types.ts::IcActivationTypes\"\n }\n }\n },\n \"required\": false,\n \"optional\": true,\n \"docs\": {\n \"tags\": [],\n \"text\": \"How the toast will be dismissed. If manual will display a dismiss button.\"\n },\n \"getter\": false,\n \"setter\": false,\n \"attribute\": \"dismiss-mode\",\n \"reflect\": false,\n \"defaultValue\": \"\\\"manual\\\"\"\n },\n \"heading\": {\n \"type\": \"string\",\n \"mutable\": false,\n \"complexType\": {\n \"original\": \"string\",\n \"resolved\": \"string\",\n \"references\": {}\n },\n \"required\": true,\n \"optional\": false,\n \"docs\": {\n \"tags\": [],\n \"text\": \"The title to display at the start of the toast. (NOTE: Should be no more than `70` characters)\"\n },\n \"getter\": false,\n \"setter\": false,\n \"attribute\": \"heading\",\n \"reflect\": false\n },\n \"message\": {\n \"type\": \"string\",\n \"mutable\": false,\n \"complexType\": {\n \"original\": \"string\",\n \"resolved\": \"string | undefined\",\n \"references\": {}\n },\n \"required\": false,\n \"optional\": true,\n \"docs\": {\n \"tags\": [],\n \"text\": \"The main body message of the toast. (NOTE: Should be no more than `140` characters)\"\n },\n \"getter\": false,\n \"setter\": false,\n \"attribute\": \"message\",\n \"reflect\": false\n },\n \"neutralIconAriaLabel\": {\n \"type\": \"string\",\n \"mutable\": false,\n \"complexType\": {\n \"original\": \"string\",\n \"resolved\": \"string | undefined\",\n \"references\": {}\n },\n \"required\": false,\n \"optional\": true,\n \"docs\": {\n \"tags\": [],\n \"text\": \"Provides a custom alt-text to be announced to screen readers, if slotting a custom neutral icon\"\n },\n \"getter\": false,\n \"setter\": false,\n \"attribute\": \"neutral-icon-aria-label\",\n \"reflect\": false\n },\n \"variant\": {\n \"type\": \"string\",\n \"mutable\": true,\n \"complexType\": {\n \"original\": \"IcStatusVariants\",\n \"resolved\": \"\\\"ai\\\" | \\\"error\\\" | \\\"info\\\" | \\\"neutral\\\" | \\\"success\\\" | \\\"warning\\\" | undefined\",\n \"references\": {\n \"IcStatusVariants\": {\n \"location\": \"import\",\n \"path\": \"../../utils/types\",\n \"id\": \"src/utils/types.ts::IcStatusVariants\"\n }\n }\n },\n \"required\": false,\n \"optional\": true,\n \"docs\": {\n \"tags\": [],\n \"text\": \"The variant of the toast being rendered\"\n },\n \"getter\": false,\n \"setter\": false,\n \"attribute\": \"variant\",\n \"reflect\": false\n }\n };\n }\n static get states() {\n return {\n \"isManual\": {},\n \"timerProgress\": {},\n \"visible\": {}\n };\n }\n static get events() {\n return [{\n \"method\": \"icDismiss\",\n \"name\": \"icDismiss\",\n \"bubbles\": true,\n \"cancelable\": true,\n \"composed\": true,\n \"docs\": {\n \"tags\": [],\n \"text\": \"Is emitted when the user dismisses the toast\"\n },\n \"complexType\": {\n \"original\": \"void\",\n \"resolved\": \"void\",\n \"references\": {}\n }\n }];\n }\n static get methods() {\n return {\n \"setVisible\": {\n \"complexType\": {\n \"signature\": \"() => Promise<HTMLElement | null>\",\n \"parameters\": [],\n \"references\": {\n \"Promise\": {\n \"location\": \"global\",\n \"id\": \"global::Promise\"\n },\n \"HTMLElement\": {\n \"location\": \"global\",\n \"id\": \"global::HTMLElement\"\n }\n },\n \"return\": \"Promise<HTMLElement | null>\"\n },\n \"docs\": {\n \"text\": \"\",\n \"tags\": [{\n \"name\": \"internal\",\n \"text\": \"Used to display the individual toast.\"\n }, {\n \"name\": \"returns\",\n \"text\": \"The element that previously had focus before the toast appeared\"\n }]\n }\n }\n };\n }\n static get elementRef() { return \"el\"; }\n static get watchers() {\n return [{\n \"propName\": \"dismissMode\",\n \"methodName\": \"dismissModeChangeHandler\"\n }, {\n \"propName\": \"visible\",\n \"methodName\": \"watchVisibleHandler\"\n }];\n }\n static get listeners() {\n return [{\n \"name\": \"icDismiss\",\n \"method\": \"handleDismiss\",\n \"target\": undefined,\n \"capture\": true,\n \"passive\": false\n }, {\n \"name\": \"keydown\",\n \"method\": \"handleKeyboard\",\n \"target\": \"document\",\n \"capture\": false,\n \"passive\": false\n }, {\n \"name\": \"mouseenter\",\n \"method\": \"handleTimer\",\n \"target\": undefined,\n \"capture\": false,\n \"passive\": true\n }, {\n \"name\": \"mouseleave\",\n \"method\": \"handleTimer\",\n \"target\": undefined,\n \"capture\": false,\n \"passive\": true\n }];\n }\n}\n//# sourceMappingURL=ic-toast.js.map\n"],"mappings":"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","ignoreList":[]}
@@ -1,2 +0,0 @@
1
- import{r as o,h as t,H as r}from"./p-8e4e97b4.js";import{o as e}from"./p-542ac498.js";const c=":host{display:block;margin-bottom:var(--ic-space-md);border-bottom:var(--ic-space-1px) solid var(--ic-tab-bottom-border)}:host(.ic-tab-group-monochrome){border-bottom:var(--ic-space-1px) solid\n var(--ic-tab-bottom-border-monochrome)}:host(.ic-tab-group-inline){margin-bottom:0;border-bottom:none}.tabs-container{display:flex;flex-direction:row}.tabs-container::-webkit-scrollbar{display:none}:host ic-horizontal-scroll{--splitter-color:var(--ic-tab-divider)}:host(.ic-tab-group-monochrome) ic-horizontal-scroll{--splitter-color:var(--ic-tab-divider-monochrome)}";const a=c;const i=class{constructor(t){o(this,t);this.inline=false;this.monochrome=false;this.theme="inherit"}componentDidLoad(){e([{prop:this.label,propName:"label"}],"Tab Group")}render(){const{inline:o,theme:e,label:c,monochrome:a}=this;return t(r,{key:"89f78b3bc3025f9bc250fb045612f11230448011",role:"tablist","aria-label":c,class:{["ic-tab-group-inline"]:!!o,[`ic-theme-${e}`]:e!=="inherit",["ic-tab-group-monochrome"]:!!a}},t("ic-horizontal-scroll",{key:"8924e03f1928a7c726576570ca817638169be532",theme:e,"focus-trigger":"tabFocus",monochrome:a},t("div",{key:"c9534b3cb05161ee14a494925bd31ce3dc6f98f2",class:"tabs-container"},t("slot",{key:"63515a30dd40c06faf2a79f5cbb0cdf15fb726f5"}))))}static get delegatesFocus(){return true}};i.style=a;export{i as ic_tab_group};
2
- //# sourceMappingURL=p-9af5008c.entry.js.map