@ukic/canary-web-components 2.0.0-canary.8 → 3.0.0-canary.1

Sign up to get free protection for your applications and to get access to all the features.
Files changed (853) hide show
  1. package/dist/cjs/core.cjs.js +1 -1
  2. package/dist/cjs/date-helpers-c9551119.js +150 -0
  3. package/dist/cjs/date-helpers-c9551119.js.map +1 -0
  4. package/dist/cjs/{helpers-b525d45a.js → helpers-33b42cd6.js} +101 -102
  5. package/dist/cjs/helpers-33b42cd6.js.map +1 -0
  6. package/dist/cjs/{helpers-93c5fc92.js → helpers-6817cfbb.js} +209 -12
  7. package/dist/cjs/helpers-6817cfbb.js.map +1 -0
  8. package/dist/cjs/ic-accordion-group.cjs.entry.js +31 -9
  9. package/dist/cjs/ic-accordion-group.cjs.entry.js.map +1 -1
  10. package/dist/cjs/ic-accordion.cjs.entry.js +7 -8
  11. package/dist/cjs/ic-accordion.cjs.entry.js.map +1 -1
  12. package/dist/cjs/ic-alert.cjs.entry.js +28 -10
  13. package/dist/cjs/ic-alert.cjs.entry.js.map +1 -1
  14. package/dist/cjs/ic-back-to-top.cjs.entry.js +17 -8
  15. package/dist/cjs/ic-back-to-top.cjs.entry.js.map +1 -1
  16. package/dist/cjs/ic-badge.cjs.entry.js +67 -117
  17. package/dist/cjs/ic-badge.cjs.entry.js.map +1 -1
  18. package/dist/cjs/ic-breadcrumb-group.cjs.entry.js +37 -11
  19. package/dist/cjs/ic-breadcrumb-group.cjs.entry.js.map +1 -1
  20. package/dist/cjs/ic-breadcrumb.cjs.entry.js +8 -7
  21. package/dist/cjs/ic-breadcrumb.cjs.entry.js.map +1 -1
  22. package/dist/cjs/ic-button_3.cjs.entry.js +121 -128
  23. package/dist/cjs/ic-button_3.cjs.entry.js.map +1 -1
  24. package/dist/cjs/ic-card-horizontal.cjs.entry.js +131 -0
  25. package/dist/cjs/ic-card-horizontal.cjs.entry.js.map +1 -0
  26. package/dist/cjs/ic-card-vertical.cjs.entry.js +149 -0
  27. package/dist/cjs/ic-card-vertical.cjs.entry.js.map +1 -0
  28. package/dist/cjs/ic-checkbox-group.cjs.entry.js +27 -20
  29. package/dist/cjs/ic-checkbox-group.cjs.entry.js.map +1 -1
  30. package/dist/cjs/ic-checkbox.cjs.entry.js +45 -40
  31. package/dist/cjs/ic-checkbox.cjs.entry.js.map +1 -1
  32. package/dist/cjs/ic-chip.cjs.entry.js +40 -29
  33. package/dist/cjs/ic-chip.cjs.entry.js.map +1 -1
  34. package/dist/cjs/ic-classification-banner.cjs.entry.js +14 -5
  35. package/dist/cjs/ic-classification-banner.cjs.entry.js.map +1 -1
  36. package/dist/cjs/ic-data-list.cjs.entry.js +32 -0
  37. package/dist/cjs/ic-data-list.cjs.entry.js.map +1 -0
  38. package/dist/cjs/ic-data-row.cjs.entry.js +12 -12
  39. package/dist/cjs/ic-data-row.cjs.entry.js.map +1 -1
  40. package/dist/cjs/ic-data-table-title-bar.cjs.entry.js +57 -0
  41. package/dist/cjs/ic-data-table-title-bar.cjs.entry.js.map +1 -0
  42. package/dist/cjs/ic-data-table.cjs.entry.js +805 -65
  43. package/dist/cjs/ic-data-table.cjs.entry.js.map +1 -1
  44. package/dist/cjs/ic-date-input.cjs.entry.js +1110 -0
  45. package/dist/cjs/ic-date-input.cjs.entry.js.map +1 -0
  46. package/dist/cjs/ic-date-picker.cjs.entry.js +1069 -0
  47. package/dist/cjs/ic-date-picker.cjs.entry.js.map +1 -0
  48. package/dist/cjs/ic-dialog.cjs.entry.js +27 -101
  49. package/dist/cjs/ic-dialog.cjs.entry.js.map +1 -1
  50. package/dist/cjs/ic-divider.cjs.entry.js +2 -3
  51. package/dist/cjs/ic-divider.cjs.entry.js.map +1 -1
  52. package/dist/cjs/ic-empty-state_2.cjs.entry.js +317 -0
  53. package/dist/cjs/ic-empty-state_2.cjs.entry.js.map +1 -0
  54. package/dist/cjs/ic-footer-link-group.cjs.entry.js +9 -10
  55. package/dist/cjs/ic-footer-link-group.cjs.entry.js.map +1 -1
  56. package/dist/cjs/ic-footer-link.cjs.entry.js +6 -8
  57. package/dist/cjs/ic-footer-link.cjs.entry.js.map +1 -1
  58. package/dist/cjs/ic-footer.cjs.entry.js +9 -10
  59. package/dist/cjs/ic-footer.cjs.entry.js.map +1 -1
  60. package/dist/cjs/ic-hero.cjs.entry.js +27 -12
  61. package/dist/cjs/ic-hero.cjs.entry.js.map +1 -1
  62. package/dist/cjs/ic-horizontal-scroll.cjs.entry.js +6 -8
  63. package/dist/cjs/ic-horizontal-scroll.cjs.entry.js.map +1 -1
  64. package/dist/cjs/ic-input-component-container_4.cjs.entry.js +156 -0
  65. package/dist/cjs/ic-input-component-container_4.cjs.entry.js.map +1 -0
  66. package/dist/cjs/ic-link.cjs.entry.js +51 -24
  67. package/dist/cjs/ic-link.cjs.entry.js.map +1 -1
  68. package/dist/cjs/ic-menu-group.cjs.entry.js +2 -3
  69. package/dist/cjs/ic-menu-group.cjs.entry.js.map +1 -1
  70. package/dist/cjs/ic-menu-item.cjs.entry.js +6 -13
  71. package/dist/cjs/ic-menu-item.cjs.entry.js.map +1 -1
  72. package/dist/cjs/ic-menu-with-multi.cjs.entry.js +186 -47
  73. package/dist/cjs/ic-menu-with-multi.cjs.entry.js.map +1 -1
  74. package/dist/cjs/{ic-input-component-container_3.cjs.entry.js → ic-menu.cjs.entry.js} +17 -86
  75. package/dist/cjs/ic-menu.cjs.entry.js.map +1 -0
  76. package/dist/cjs/ic-navigation-button.cjs.entry.js +28 -8
  77. package/dist/cjs/ic-navigation-button.cjs.entry.js.map +1 -1
  78. package/dist/cjs/ic-navigation-group.cjs.entry.js +23 -21
  79. package/dist/cjs/ic-navigation-group.cjs.entry.js.map +1 -1
  80. package/dist/cjs/ic-navigation-item.cjs.entry.js +33 -38
  81. package/dist/cjs/ic-navigation-item.cjs.entry.js.map +1 -1
  82. package/dist/cjs/ic-navigation-menu.cjs.entry.js +3 -4
  83. package/dist/cjs/ic-navigation-menu.cjs.entry.js.map +1 -1
  84. package/dist/cjs/ic-page-header.cjs.entry.js +10 -12
  85. package/dist/cjs/ic-page-header.cjs.entry.js.map +1 -1
  86. package/dist/cjs/ic-pagination_4.cjs.entry.js +226 -185
  87. package/dist/cjs/ic-pagination_4.cjs.entry.js.map +1 -1
  88. package/dist/cjs/ic-popover-menu.cjs.entry.js +15 -21
  89. package/dist/cjs/ic-popover-menu.cjs.entry.js.map +1 -1
  90. package/dist/cjs/ic-radio-group.cjs.entry.js +75 -51
  91. package/dist/cjs/ic-radio-group.cjs.entry.js.map +1 -1
  92. package/dist/cjs/ic-radio-option.cjs.entry.js +44 -53
  93. package/dist/cjs/ic-radio-option.cjs.entry.js.map +1 -1
  94. package/dist/cjs/ic-search-bar.cjs.entry.js +23 -30
  95. package/dist/cjs/ic-search-bar.cjs.entry.js.map +1 -1
  96. package/dist/cjs/ic-section-container.cjs.entry.js +1 -1
  97. package/dist/cjs/ic-section-container.cjs.entry.js.map +1 -1
  98. package/dist/cjs/ic-select-with-multi.cjs.entry.js +20 -69
  99. package/dist/cjs/ic-select-with-multi.cjs.entry.js.map +1 -1
  100. package/dist/cjs/ic-side-navigation.cjs.entry.js +8 -9
  101. package/dist/cjs/ic-side-navigation.cjs.entry.js.map +1 -1
  102. package/dist/cjs/ic-skeleton.cjs.entry.js +17 -37
  103. package/dist/cjs/ic-skeleton.cjs.entry.js.map +1 -1
  104. package/dist/cjs/ic-status-tag.cjs.entry.js +7 -15
  105. package/dist/cjs/ic-status-tag.cjs.entry.js.map +1 -1
  106. package/dist/cjs/ic-step.cjs.entry.js +42 -43
  107. package/dist/cjs/ic-step.cjs.entry.js.map +1 -1
  108. package/dist/cjs/ic-stepper.cjs.entry.js +45 -24
  109. package/dist/cjs/ic-stepper.cjs.entry.js.map +1 -1
  110. package/dist/cjs/ic-switch.cjs.entry.js +7 -9
  111. package/dist/cjs/ic-switch.cjs.entry.js.map +1 -1
  112. package/dist/cjs/ic-tab-context.cjs.entry.js +35 -18
  113. package/dist/cjs/ic-tab-context.cjs.entry.js.map +1 -1
  114. package/dist/cjs/ic-tab-group.cjs.entry.js +25 -11
  115. package/dist/cjs/ic-tab-group.cjs.entry.js.map +1 -1
  116. package/dist/cjs/ic-tab-panel.cjs.entry.js +6 -13
  117. package/dist/cjs/ic-tab-panel.cjs.entry.js.map +1 -1
  118. package/dist/cjs/ic-tab.cjs.entry.js +10 -9
  119. package/dist/cjs/ic-tab.cjs.entry.js.map +1 -1
  120. package/dist/cjs/ic-theme.cjs.entry.js +39 -25
  121. package/dist/cjs/ic-theme.cjs.entry.js.map +1 -1
  122. package/dist/cjs/ic-toast-region.cjs.entry.js +6 -7
  123. package/dist/cjs/ic-toast-region.cjs.entry.js.map +1 -1
  124. package/dist/cjs/ic-toast.cjs.entry.js +88 -35
  125. package/dist/cjs/ic-toast.cjs.entry.js.map +1 -1
  126. package/dist/cjs/ic-toggle-button-group.cjs.entry.js +17 -17
  127. package/dist/cjs/ic-toggle-button-group.cjs.entry.js.map +1 -1
  128. package/dist/cjs/ic-toggle-button.cjs.entry.js +15 -14
  129. package/dist/cjs/ic-toggle-button.cjs.entry.js.map +1 -1
  130. package/dist/cjs/ic-top-navigation.cjs.entry.js +62 -86
  131. package/dist/cjs/ic-top-navigation.cjs.entry.js.map +1 -1
  132. package/dist/cjs/ic-tree-item.cjs.entry.js +241 -0
  133. package/dist/cjs/ic-tree-item.cjs.entry.js.map +1 -0
  134. package/dist/cjs/ic-tree-view.cjs.entry.js +203 -0
  135. package/dist/cjs/ic-tree-view.cjs.entry.js.map +1 -0
  136. package/dist/cjs/ic-typography.cjs.entry.js +55 -19
  137. package/dist/cjs/ic-typography.cjs.entry.js.map +1 -1
  138. package/dist/cjs/index-4cf27b16.js +38 -18
  139. package/dist/cjs/loader.cjs.js +1 -1
  140. package/dist/collection/assets/arrow-dropdown.svg +3 -0
  141. package/dist/collection/assets/calendar.svg +3 -0
  142. package/dist/collection/collection-manifest.json +9 -3
  143. package/dist/collection/components/ic-card-horizontal/ic-card-horizontal.css +661 -0
  144. package/dist/collection/components/ic-card-horizontal/ic-card-horizontal.js +373 -0
  145. package/dist/collection/components/ic-card-horizontal/ic-card-horizontal.js.map +1 -0
  146. package/dist/collection/components/ic-card-horizontal/ic-card-horizontal.types.js +2 -0
  147. package/dist/collection/components/ic-card-horizontal/ic-card-horizontal.types.js.map +1 -0
  148. package/dist/collection/components/ic-card-horizontal/test/basic/ic-card-horizontal.spec.js +130 -0
  149. package/dist/collection/components/ic-card-horizontal/test/basic/ic-card-horizontal.spec.js.map +1 -0
  150. package/dist/collection/components/ic-data-table/ic-data-table.css +155 -10
  151. package/dist/collection/components/ic-data-table/ic-data-table.js +1174 -90
  152. package/dist/collection/components/ic-data-table/ic-data-table.js.map +1 -1
  153. package/dist/collection/components/ic-data-table/ic-data-table.types.js.map +1 -1
  154. package/dist/collection/components/ic-data-table/story-data.js +758 -40
  155. package/dist/collection/components/ic-data-table/story-data.js.map +1 -1
  156. package/dist/collection/components/ic-data-table/test/basic/ic-data-table.spec.js +339 -3
  157. package/dist/collection/components/ic-data-table/test/basic/ic-data-table.spec.js.map +1 -1
  158. package/dist/collection/components/ic-data-table-title-bar/ic-data-table-title-bar.css +93 -0
  159. package/dist/collection/components/ic-data-table-title-bar/ic-data-table-title-bar.js +160 -0
  160. package/dist/collection/components/ic-data-table-title-bar/ic-data-table-title-bar.js.map +1 -0
  161. package/dist/collection/components/ic-data-table-title-bar/test/a11y/ic-data-table-title-bar.test.a11y.js +11 -0
  162. package/dist/collection/components/ic-data-table-title-bar/test/a11y/ic-data-table-title-bar.test.a11y.js.map +1 -0
  163. package/dist/collection/components/ic-data-table-title-bar/test/basic/ic-data-table-title-bar.spec.js +70 -0
  164. package/dist/collection/components/ic-data-table-title-bar/test/basic/ic-data-table-title-bar.spec.js.map +1 -0
  165. package/dist/collection/components/ic-date-input/ic-date-input.css +560 -0
  166. package/dist/collection/components/ic-date-input/ic-date-input.js +1775 -0
  167. package/dist/collection/components/ic-date-input/ic-date-input.js.map +1 -0
  168. package/dist/collection/components/ic-date-input/story-data.js +28 -0
  169. package/dist/collection/components/ic-date-input/story-data.js.map +1 -0
  170. package/dist/collection/components/ic-date-input/test/basic/ic-date-input.spec.js +1158 -0
  171. package/dist/collection/components/ic-date-input/test/basic/ic-date-input.spec.js.map +1 -0
  172. package/dist/collection/components/ic-date-input/test/helpers/ic-date-input.js +42 -0
  173. package/dist/collection/components/ic-date-input/test/helpers/ic-date-input.js.map +1 -0
  174. package/dist/collection/components/ic-date-picker/ic-date-picker.css +880 -0
  175. package/dist/collection/components/ic-date-picker/ic-date-picker.js +1566 -0
  176. package/dist/collection/components/ic-date-picker/ic-date-picker.js.map +1 -0
  177. package/dist/collection/components/ic-date-picker/ic-day-button.js +36 -0
  178. package/dist/collection/components/ic-date-picker/ic-day-button.js.map +1 -0
  179. package/dist/collection/components/ic-date-picker/ic-month-picker.js +29 -0
  180. package/dist/collection/components/ic-date-picker/ic-month-picker.js.map +1 -0
  181. package/dist/collection/components/ic-date-picker/ic-year-picker.js +39 -0
  182. package/dist/collection/components/ic-date-picker/ic-year-picker.js.map +1 -0
  183. package/dist/collection/components/ic-date-picker/story-data.js +148 -0
  184. package/dist/collection/components/ic-date-picker/story-data.js.map +1 -0
  185. package/dist/collection/components/ic-date-picker/test/a11y/ic-date-picker.test.a11y.js +13 -0
  186. package/dist/collection/components/ic-date-picker/test/a11y/ic-date-picker.test.a11y.js.map +1 -0
  187. package/dist/collection/components/ic-date-picker/test/basic/ic-date-picker-utils.spec.js +207 -0
  188. package/dist/collection/components/ic-date-picker/test/basic/ic-date-picker-utils.spec.js.map +1 -0
  189. package/dist/collection/components/ic-date-picker/test/basic/ic-date-picker.spec.js +1030 -0
  190. package/dist/collection/components/ic-date-picker/test/basic/ic-date-picker.spec.js.map +1 -0
  191. package/dist/collection/components/ic-menu-with-multi/ic-menu.css +25 -14
  192. package/dist/collection/components/ic-menu-with-multi/ic-menu.js +189 -71
  193. package/dist/collection/components/ic-menu-with-multi/ic-menu.js.map +1 -1
  194. package/dist/collection/components/ic-menu-with-multi/test/basic/ic-menu.spec.js +229 -52
  195. package/dist/collection/components/ic-menu-with-multi/test/basic/ic-menu.spec.js.map +1 -1
  196. package/dist/collection/components/ic-pagination-bar/ic-pagination-bar.css +1 -1
  197. package/dist/collection/components/ic-pagination-bar/ic-pagination-bar.js +173 -158
  198. package/dist/collection/components/ic-pagination-bar/ic-pagination-bar.js.map +1 -1
  199. package/dist/collection/components/ic-pagination-bar/test/basic/ic-pagination-bar.spec.js +56 -11
  200. package/dist/collection/components/ic-pagination-bar/test/basic/ic-pagination-bar.spec.js.map +1 -1
  201. package/dist/collection/components/ic-select-with-multi/ic-select.css +14 -12
  202. package/dist/collection/components/ic-select-with-multi/ic-select.js +18 -147
  203. package/dist/collection/components/ic-select-with-multi/ic-select.js.map +1 -1
  204. package/dist/collection/components/ic-select-with-multi/test/basic/ic-select.spec.js +7 -7
  205. package/dist/collection/components/ic-select-with-multi/test/basic/ic-select.spec.js.map +1 -1
  206. package/dist/collection/components/ic-tree-item/ic-tree-item.css +172 -0
  207. package/dist/collection/components/ic-tree-item/ic-tree-item.js +592 -0
  208. package/dist/collection/components/ic-tree-item/ic-tree-item.js.map +1 -0
  209. package/dist/collection/components/ic-tree-item/test/basic/ic-tree-item.spec.js +114 -0
  210. package/dist/collection/components/ic-tree-item/test/basic/ic-tree-item.spec.js.map +1 -0
  211. package/dist/collection/components/ic-tree-view/ic-tree-view.css +59 -0
  212. package/dist/collection/components/ic-tree-view/ic-tree-view.js +296 -0
  213. package/dist/collection/components/ic-tree-view/ic-tree-view.js.map +1 -0
  214. package/dist/collection/components/ic-tree-view/test/basic/ic-tree-view.spec.js +85 -0
  215. package/dist/collection/components/ic-tree-view/test/basic/ic-tree-view.spec.js.map +1 -0
  216. package/dist/collection/utils/constants.js +55 -0
  217. package/dist/collection/utils/constants.js.map +1 -1
  218. package/dist/collection/utils/date-helpers.js +133 -0
  219. package/dist/collection/utils/date-helpers.js.map +1 -0
  220. package/dist/collection/utils/helpers.js +302 -10
  221. package/dist/collection/utils/helpers.js.map +1 -1
  222. package/dist/collection/utils/types.js +45 -0
  223. package/dist/collection/utils/types.js.map +1 -1
  224. package/dist/components/helpers.js +90 -91
  225. package/dist/components/helpers.js.map +1 -1
  226. package/dist/components/helpers2.js +197 -12
  227. package/dist/components/helpers2.js.map +1 -1
  228. package/dist/components/ic-accordion-group.js +39 -13
  229. package/dist/components/ic-accordion-group.js.map +1 -1
  230. package/dist/components/ic-accordion.js +6 -6
  231. package/dist/components/ic-accordion.js.map +1 -1
  232. package/dist/components/ic-alert.js +132 -1
  233. package/dist/components/ic-alert.js.map +1 -1
  234. package/dist/components/ic-back-to-top.js +37 -8
  235. package/dist/components/ic-back-to-top.js.map +1 -1
  236. package/dist/components/ic-badge.js +75 -121
  237. package/dist/components/ic-badge.js.map +1 -1
  238. package/dist/components/ic-breadcrumb-group.js +42 -10
  239. package/dist/components/ic-breadcrumb-group.js.map +1 -1
  240. package/dist/components/ic-breadcrumb2.js +10 -7
  241. package/dist/components/ic-breadcrumb2.js.map +1 -1
  242. package/dist/components/ic-button2.js +74 -102
  243. package/dist/components/ic-button2.js.map +1 -1
  244. package/dist/components/ic-card-horizontal.d.ts +11 -0
  245. package/dist/components/ic-card-horizontal.js +167 -0
  246. package/dist/components/ic-card-horizontal.js.map +1 -0
  247. package/dist/components/ic-card-vertical.js +194 -0
  248. package/dist/components/ic-card-vertical.js.map +1 -0
  249. package/dist/components/ic-checkbox-group.js +31 -21
  250. package/dist/components/ic-checkbox-group.js.map +1 -1
  251. package/dist/components/ic-checkbox.js +52 -47
  252. package/dist/components/ic-checkbox.js.map +1 -1
  253. package/dist/components/ic-chip.js +45 -31
  254. package/dist/components/ic-chip.js.map +1 -1
  255. package/dist/components/ic-classification-banner.js +14 -5
  256. package/dist/components/ic-classification-banner.js.map +1 -1
  257. package/dist/components/ic-data-list.js +56 -0
  258. package/dist/components/ic-data-list.js.map +1 -0
  259. package/dist/components/ic-data-row.js +14 -13
  260. package/dist/components/ic-data-row.js.map +1 -1
  261. package/dist/components/ic-data-table-title-bar.d.ts +11 -0
  262. package/dist/components/ic-data-table-title-bar.js +136 -0
  263. package/dist/components/ic-data-table-title-bar.js.map +1 -0
  264. package/dist/components/ic-data-table.js +841 -72
  265. package/dist/components/ic-data-table.js.map +1 -1
  266. package/dist/components/ic-date-input.d.ts +11 -0
  267. package/dist/components/ic-date-input.js +8 -0
  268. package/dist/components/ic-date-input.js.map +1 -0
  269. package/dist/components/ic-date-input2.js +1344 -0
  270. package/dist/components/ic-date-input2.js.map +1 -0
  271. package/dist/components/ic-date-picker.d.ts +11 -0
  272. package/dist/components/ic-date-picker.js +1194 -0
  273. package/dist/components/ic-date-picker.js.map +1 -0
  274. package/dist/components/ic-dialog.js +29 -115
  275. package/dist/components/ic-dialog.js.map +1 -1
  276. package/dist/components/ic-divider2.js +1 -2
  277. package/dist/components/ic-divider2.js.map +1 -1
  278. package/dist/components/ic-empty-state.js +1 -57
  279. package/dist/components/ic-empty-state.js.map +1 -1
  280. package/dist/components/ic-empty-state2.js +80 -0
  281. package/dist/components/ic-empty-state2.js.map +1 -0
  282. package/dist/components/ic-footer-link-group.js +10 -10
  283. package/dist/components/ic-footer-link-group.js.map +1 -1
  284. package/dist/components/ic-footer-link.js +13 -8
  285. package/dist/components/ic-footer-link.js.map +1 -1
  286. package/dist/components/ic-footer.js +9 -10
  287. package/dist/components/ic-footer.js.map +1 -1
  288. package/dist/components/ic-hero.js +28 -14
  289. package/dist/components/ic-hero.js.map +1 -1
  290. package/dist/components/ic-horizontal-scroll2.js +6 -8
  291. package/dist/components/ic-horizontal-scroll2.js.map +1 -1
  292. package/dist/components/ic-input-component-container2.js +26 -21
  293. package/dist/components/ic-input-component-container2.js.map +1 -1
  294. package/dist/components/ic-input-label2.js +9 -11
  295. package/dist/components/ic-input-label2.js.map +1 -1
  296. package/dist/components/ic-input-validation2.js +4 -5
  297. package/dist/components/ic-input-validation2.js.map +1 -1
  298. package/dist/components/ic-link2.js +54 -27
  299. package/dist/components/ic-link2.js.map +1 -1
  300. package/dist/components/ic-loading-indicator2.js +23 -19
  301. package/dist/components/ic-loading-indicator2.js.map +1 -1
  302. package/dist/components/ic-menu-group.js +2 -2
  303. package/dist/components/ic-menu-group.js.map +1 -1
  304. package/dist/components/ic-menu-item2.js +6 -12
  305. package/dist/components/ic-menu-item2.js.map +1 -1
  306. package/dist/components/ic-menu2.js +15 -20
  307. package/dist/components/ic-menu2.js.map +1 -1
  308. package/dist/components/ic-menu3.js +187 -49
  309. package/dist/components/ic-menu3.js.map +1 -1
  310. package/dist/components/ic-navigation-button.js +28 -8
  311. package/dist/components/ic-navigation-button.js.map +1 -1
  312. package/dist/components/ic-navigation-group.js +23 -20
  313. package/dist/components/ic-navigation-group.js.map +1 -1
  314. package/dist/components/ic-navigation-item.js +33 -37
  315. package/dist/components/ic-navigation-item.js.map +1 -1
  316. package/dist/components/ic-navigation-menu2.js +3 -3
  317. package/dist/components/ic-navigation-menu2.js.map +1 -1
  318. package/dist/components/ic-page-header.js +9 -11
  319. package/dist/components/ic-page-header.js.map +1 -1
  320. package/dist/components/ic-pagination-bar2.js +154 -143
  321. package/dist/components/ic-pagination-bar2.js.map +1 -1
  322. package/dist/components/ic-pagination-item2.js +22 -12
  323. package/dist/components/ic-pagination-item2.js.map +1 -1
  324. package/dist/components/ic-pagination2.js +50 -33
  325. package/dist/components/ic-pagination2.js.map +1 -1
  326. package/dist/components/ic-popover-menu.js +15 -20
  327. package/dist/components/ic-popover-menu.js.map +1 -1
  328. package/dist/components/ic-radio-group.js +76 -51
  329. package/dist/components/ic-radio-group.js.map +1 -1
  330. package/dist/components/ic-radio-option.js +47 -60
  331. package/dist/components/ic-radio-option.js.map +1 -1
  332. package/dist/components/ic-search-bar.js +21 -29
  333. package/dist/components/ic-search-bar.js.map +1 -1
  334. package/dist/components/ic-section-container2.js +1 -1
  335. package/dist/components/ic-section-container2.js.map +1 -1
  336. package/dist/components/ic-select-with-multi.js +15 -71
  337. package/dist/components/ic-select-with-multi.js.map +1 -1
  338. package/dist/components/ic-select2.js +59 -42
  339. package/dist/components/ic-select2.js.map +1 -1
  340. package/dist/components/ic-side-navigation.js +8 -9
  341. package/dist/components/ic-side-navigation.js.map +1 -1
  342. package/dist/components/ic-skeleton.js +18 -43
  343. package/dist/components/ic-skeleton.js.map +1 -1
  344. package/dist/components/ic-status-tag.js +7 -15
  345. package/dist/components/ic-status-tag.js.map +1 -1
  346. package/dist/components/ic-step.js +48 -48
  347. package/dist/components/ic-step.js.map +1 -1
  348. package/dist/components/ic-stepper.js +49 -23
  349. package/dist/components/ic-stepper.js.map +1 -1
  350. package/dist/components/ic-switch.js +7 -9
  351. package/dist/components/ic-switch.js.map +1 -1
  352. package/dist/components/ic-tab-context.js +40 -20
  353. package/dist/components/ic-tab-context.js.map +1 -1
  354. package/dist/components/ic-tab-group.js +27 -13
  355. package/dist/components/ic-tab-group.js.map +1 -1
  356. package/dist/components/ic-tab-panel.js +9 -16
  357. package/dist/components/ic-tab-panel.js.map +1 -1
  358. package/dist/components/ic-tab.js +12 -10
  359. package/dist/components/ic-tab.js.map +1 -1
  360. package/dist/components/ic-text-field2.js +104 -113
  361. package/dist/components/ic-text-field2.js.map +1 -1
  362. package/dist/components/ic-theme.js +45 -28
  363. package/dist/components/ic-theme.js.map +1 -1
  364. package/dist/components/ic-toast-region.js +7 -9
  365. package/dist/components/ic-toast-region.js.map +1 -1
  366. package/dist/components/ic-toast.js +93 -36
  367. package/dist/components/ic-toast.js.map +1 -1
  368. package/dist/components/ic-toggle-button-group.js +17 -17
  369. package/dist/components/ic-toggle-button-group.js.map +1 -1
  370. package/dist/components/ic-toggle-button.js +16 -14
  371. package/dist/components/ic-toggle-button.js.map +1 -1
  372. package/dist/components/ic-tooltip2.js +31 -9
  373. package/dist/components/ic-tooltip2.js.map +1 -1
  374. package/dist/components/ic-top-navigation.js +63 -87
  375. package/dist/components/ic-top-navigation.js.map +1 -1
  376. package/dist/components/ic-tree-item.d.ts +11 -0
  377. package/dist/components/ic-tree-item.js +286 -0
  378. package/dist/components/ic-tree-item.js.map +1 -0
  379. package/dist/components/ic-tree-view.d.ts +11 -0
  380. package/dist/components/ic-tree-view.js +237 -0
  381. package/dist/components/ic-tree-view.js.map +1 -0
  382. package/dist/components/ic-typography2.js +62 -21
  383. package/dist/components/ic-typography2.js.map +1 -1
  384. package/dist/core/core.css +38 -20
  385. package/dist/core/core.esm.js +1 -1
  386. package/dist/core/core.esm.js.map +1 -1
  387. package/dist/core/p-06eeb7f2.entry.js +2 -0
  388. package/dist/core/p-06eeb7f2.entry.js.map +1 -0
  389. package/dist/core/p-0922c552.entry.js +2 -0
  390. package/dist/core/p-0922c552.entry.js.map +1 -0
  391. package/dist/core/p-0bc0e852.entry.js +2 -0
  392. package/dist/core/p-0bc0e852.entry.js.map +1 -0
  393. package/dist/core/p-108a9029.entry.js +2 -0
  394. package/dist/core/p-108a9029.entry.js.map +1 -0
  395. package/dist/core/p-13100d3c.entry.js +2 -0
  396. package/dist/core/p-13100d3c.entry.js.map +1 -0
  397. package/dist/core/p-1769df1d.entry.js +2 -0
  398. package/dist/core/p-1769df1d.entry.js.map +1 -0
  399. package/dist/core/p-202bc922.entry.js +2 -0
  400. package/dist/core/p-202bc922.entry.js.map +1 -0
  401. package/dist/core/p-266341f5.entry.js +2 -0
  402. package/dist/core/p-266341f5.entry.js.map +1 -0
  403. package/dist/core/p-297e99cf.js +2 -0
  404. package/dist/core/p-297e99cf.js.map +1 -0
  405. package/dist/core/p-306def43.entry.js +2 -0
  406. package/dist/core/p-306def43.entry.js.map +1 -0
  407. package/dist/core/p-30b046b2.entry.js +2 -0
  408. package/dist/core/p-30b046b2.entry.js.map +1 -0
  409. package/dist/core/p-33dd24eb.js +2 -0
  410. package/dist/core/p-33dd24eb.js.map +1 -0
  411. package/dist/core/p-3778cc5e.entry.js +2 -0
  412. package/dist/core/p-3778cc5e.entry.js.map +1 -0
  413. package/dist/core/p-383a5a76.entry.js +2 -0
  414. package/dist/core/p-383a5a76.entry.js.map +1 -0
  415. package/dist/core/p-3a0510e2.entry.js +2 -0
  416. package/dist/core/p-3a0510e2.entry.js.map +1 -0
  417. package/dist/core/p-3ace51f5.entry.js +2 -0
  418. package/dist/core/p-3ace51f5.entry.js.map +1 -0
  419. package/dist/core/p-3ef28704.entry.js +2 -0
  420. package/dist/core/p-3ef28704.entry.js.map +1 -0
  421. package/dist/core/p-3f0391c1.entry.js +2 -0
  422. package/dist/core/p-3f0391c1.entry.js.map +1 -0
  423. package/dist/core/p-41fecc61.entry.js +2 -0
  424. package/dist/core/p-41fecc61.entry.js.map +1 -0
  425. package/dist/core/p-46cb94a2.entry.js +2 -0
  426. package/dist/core/p-46cb94a2.entry.js.map +1 -0
  427. package/dist/core/p-4e67f127.entry.js +2 -0
  428. package/dist/core/p-4e67f127.entry.js.map +1 -0
  429. package/dist/core/p-505250cf.entry.js +2 -0
  430. package/dist/core/p-505250cf.entry.js.map +1 -0
  431. package/dist/core/p-50e48f4d.entry.js +2 -0
  432. package/dist/core/p-50e48f4d.entry.js.map +1 -0
  433. package/dist/core/p-56e7459a.entry.js +2 -0
  434. package/dist/core/p-56e7459a.entry.js.map +1 -0
  435. package/dist/core/p-59028160.entry.js +2 -0
  436. package/dist/core/p-59028160.entry.js.map +1 -0
  437. package/dist/core/p-5cfb5821.entry.js +2 -0
  438. package/dist/core/p-5cfb5821.entry.js.map +1 -0
  439. package/dist/core/p-5e6fd734.entry.js +2 -0
  440. package/dist/core/p-5e6fd734.entry.js.map +1 -0
  441. package/dist/core/p-5f313e1a.entry.js +2 -0
  442. package/dist/core/p-5f313e1a.entry.js.map +1 -0
  443. package/dist/core/{p-c2b5e7b1.entry.js → p-5f5403e2.entry.js} +2 -2
  444. package/dist/core/{p-c2b5e7b1.entry.js.map → p-5f5403e2.entry.js.map} +1 -1
  445. package/dist/core/p-710c6a42.entry.js +2 -0
  446. package/dist/core/p-710c6a42.entry.js.map +1 -0
  447. package/dist/core/p-73b40c79.entry.js +2 -0
  448. package/dist/core/p-73b40c79.entry.js.map +1 -0
  449. package/dist/core/p-77a32de5.entry.js +2 -0
  450. package/dist/core/p-77a32de5.entry.js.map +1 -0
  451. package/dist/core/p-7a9de008.entry.js +2 -0
  452. package/dist/core/p-7a9de008.entry.js.map +1 -0
  453. package/dist/core/p-801414e2.entry.js +2 -0
  454. package/dist/core/p-801414e2.entry.js.map +1 -0
  455. package/dist/core/p-82ba744d.entry.js +2 -0
  456. package/dist/core/p-82ba744d.entry.js.map +1 -0
  457. package/dist/core/p-897b8d16.entry.js +2 -0
  458. package/dist/core/p-897b8d16.entry.js.map +1 -0
  459. package/dist/core/p-9397b15b.js +2 -0
  460. package/dist/core/p-9397b15b.js.map +1 -0
  461. package/dist/core/p-9af6adb1.entry.js +2 -0
  462. package/dist/core/p-9af6adb1.entry.js.map +1 -0
  463. package/dist/core/p-9b54feca.entry.js +2 -0
  464. package/dist/core/p-9b54feca.entry.js.map +1 -0
  465. package/dist/core/{p-356b8a4c.entry.js → p-9f3cf053.entry.js} +2 -2
  466. package/dist/core/{p-356b8a4c.entry.js.map → p-9f3cf053.entry.js.map} +1 -1
  467. package/dist/core/p-a57cd616.entry.js +2 -0
  468. package/dist/core/p-a57cd616.entry.js.map +1 -0
  469. package/dist/core/p-a5eaed1a.entry.js +2 -0
  470. package/dist/core/p-a5eaed1a.entry.js.map +1 -0
  471. package/dist/core/p-a78cf2cb.entry.js +2 -0
  472. package/dist/core/p-a78cf2cb.entry.js.map +1 -0
  473. package/dist/core/p-a91340b4.entry.js +2 -0
  474. package/dist/core/p-a91340b4.entry.js.map +1 -0
  475. package/dist/core/p-aee8d45b.entry.js +2 -0
  476. package/dist/core/p-aee8d45b.entry.js.map +1 -0
  477. package/dist/core/{p-452985d9.entry.js → p-b40ecaef.entry.js} +2 -2
  478. package/dist/core/p-b40ecaef.entry.js.map +1 -0
  479. package/dist/core/p-badd4c8d.entry.js +2 -0
  480. package/dist/core/p-badd4c8d.entry.js.map +1 -0
  481. package/dist/core/p-bf670360.entry.js +2 -0
  482. package/dist/core/{p-a434c3d4.entry.js.map → p-bf670360.entry.js.map} +1 -1
  483. package/dist/core/p-c033e7d6.entry.js +2 -0
  484. package/dist/core/p-c033e7d6.entry.js.map +1 -0
  485. package/dist/core/p-c07af2d8.entry.js +2 -0
  486. package/dist/core/p-c07af2d8.entry.js.map +1 -0
  487. package/dist/core/p-c21d0db8.entry.js +2 -0
  488. package/dist/core/p-c21d0db8.entry.js.map +1 -0
  489. package/dist/core/p-c678f73d.entry.js +2 -0
  490. package/dist/core/p-c678f73d.entry.js.map +1 -0
  491. package/dist/core/p-c6ae9bad.entry.js +2 -0
  492. package/dist/core/p-c6ae9bad.entry.js.map +1 -0
  493. package/dist/core/p-c6c1e08e.entry.js +2 -0
  494. package/dist/core/p-c6c1e08e.entry.js.map +1 -0
  495. package/dist/core/p-cb6cebdd.entry.js +2 -0
  496. package/dist/core/p-cb6cebdd.entry.js.map +1 -0
  497. package/dist/core/p-d03374fc.entry.js +2 -0
  498. package/dist/core/p-d03374fc.entry.js.map +1 -0
  499. package/dist/core/p-d16f364a.entry.js +2 -0
  500. package/dist/core/p-d16f364a.entry.js.map +1 -0
  501. package/dist/core/p-d239c33b.entry.js +2 -0
  502. package/dist/core/p-d239c33b.entry.js.map +1 -0
  503. package/dist/core/p-d8563643.entry.js +2 -0
  504. package/dist/core/p-d8563643.entry.js.map +1 -0
  505. package/dist/core/p-da40757f.entry.js +2 -0
  506. package/dist/core/p-da40757f.entry.js.map +1 -0
  507. package/dist/core/p-de052137.entry.js +2 -0
  508. package/dist/core/p-de052137.entry.js.map +1 -0
  509. package/dist/core/p-e5d99316.entry.js +2 -0
  510. package/dist/core/p-e5d99316.entry.js.map +1 -0
  511. package/dist/core/p-e89bb650.entry.js +2 -0
  512. package/dist/core/p-e89bb650.entry.js.map +1 -0
  513. package/dist/core/{p-baf81f30.entry.js → p-f1072c28.entry.js} +2 -2
  514. package/dist/core/{p-452985d9.entry.js.map → p-f1072c28.entry.js.map} +1 -1
  515. package/dist/core/p-f37df214.entry.js +2 -0
  516. package/dist/core/{p-c34848da.entry.js.map → p-f37df214.entry.js.map} +1 -1
  517. package/dist/core/p-f743b0eb.entry.js +2 -0
  518. package/dist/core/p-f743b0eb.entry.js.map +1 -0
  519. package/dist/core/p-f98b1afc.entry.js +2 -0
  520. package/dist/core/p-f98b1afc.entry.js.map +1 -0
  521. package/dist/core/p-fe13f1ba.entry.js +2 -0
  522. package/dist/core/p-fe13f1ba.entry.js.map +1 -0
  523. package/dist/esm/core.js +1 -1
  524. package/dist/esm/date-helpers-0e5e32a7.js +136 -0
  525. package/dist/esm/date-helpers-0e5e32a7.js.map +1 -0
  526. package/dist/esm/helpers-5bd2012a.js +368 -0
  527. package/dist/esm/helpers-5bd2012a.js.map +1 -0
  528. package/dist/esm/{helpers-12b4266a.js → helpers-dab8ddfe.js} +91 -92
  529. package/dist/esm/helpers-dab8ddfe.js.map +1 -0
  530. package/dist/esm/ic-accordion-group.entry.js +31 -9
  531. package/dist/esm/ic-accordion-group.entry.js.map +1 -1
  532. package/dist/esm/ic-accordion.entry.js +7 -8
  533. package/dist/esm/ic-accordion.entry.js.map +1 -1
  534. package/dist/esm/ic-alert.entry.js +27 -9
  535. package/dist/esm/ic-alert.entry.js.map +1 -1
  536. package/dist/esm/ic-back-to-top.entry.js +17 -8
  537. package/dist/esm/ic-back-to-top.entry.js.map +1 -1
  538. package/dist/esm/ic-badge.entry.js +67 -117
  539. package/dist/esm/ic-badge.entry.js.map +1 -1
  540. package/dist/esm/ic-breadcrumb-group.entry.js +37 -11
  541. package/dist/esm/ic-breadcrumb-group.entry.js.map +1 -1
  542. package/dist/esm/ic-breadcrumb.entry.js +8 -7
  543. package/dist/esm/ic-breadcrumb.entry.js.map +1 -1
  544. package/dist/esm/ic-button_3.entry.js +118 -125
  545. package/dist/esm/ic-button_3.entry.js.map +1 -1
  546. package/dist/esm/ic-card-horizontal.entry.js +127 -0
  547. package/dist/esm/ic-card-horizontal.entry.js.map +1 -0
  548. package/dist/esm/ic-card-vertical.entry.js +145 -0
  549. package/dist/esm/ic-card-vertical.entry.js.map +1 -0
  550. package/dist/esm/ic-checkbox-group.entry.js +27 -20
  551. package/dist/esm/ic-checkbox-group.entry.js.map +1 -1
  552. package/dist/esm/ic-checkbox.entry.js +45 -40
  553. package/dist/esm/ic-checkbox.entry.js.map +1 -1
  554. package/dist/esm/ic-chip.entry.js +40 -29
  555. package/dist/esm/ic-chip.entry.js.map +1 -1
  556. package/dist/esm/ic-classification-banner.entry.js +14 -5
  557. package/dist/esm/ic-classification-banner.entry.js.map +1 -1
  558. package/dist/esm/ic-data-list.entry.js +28 -0
  559. package/dist/esm/ic-data-list.entry.js.map +1 -0
  560. package/dist/esm/ic-data-row.entry.js +12 -12
  561. package/dist/esm/ic-data-row.entry.js.map +1 -1
  562. package/dist/esm/ic-data-table-title-bar.entry.js +53 -0
  563. package/dist/esm/ic-data-table-title-bar.entry.js.map +1 -0
  564. package/dist/esm/ic-data-table.entry.js +806 -66
  565. package/dist/esm/ic-data-table.entry.js.map +1 -1
  566. package/dist/esm/ic-date-input.entry.js +1106 -0
  567. package/dist/esm/ic-date-input.entry.js.map +1 -0
  568. package/dist/esm/ic-date-picker.entry.js +1065 -0
  569. package/dist/esm/ic-date-picker.entry.js.map +1 -0
  570. package/dist/esm/ic-dialog.entry.js +27 -101
  571. package/dist/esm/ic-dialog.entry.js.map +1 -1
  572. package/dist/esm/ic-divider.entry.js +1 -2
  573. package/dist/esm/ic-divider.entry.js.map +1 -1
  574. package/dist/esm/ic-empty-state_2.entry.js +312 -0
  575. package/dist/esm/ic-empty-state_2.entry.js.map +1 -0
  576. package/dist/esm/ic-footer-link-group.entry.js +9 -10
  577. package/dist/esm/ic-footer-link-group.entry.js.map +1 -1
  578. package/dist/esm/ic-footer-link.entry.js +6 -8
  579. package/dist/esm/ic-footer-link.entry.js.map +1 -1
  580. package/dist/esm/ic-footer.entry.js +9 -10
  581. package/dist/esm/ic-footer.entry.js.map +1 -1
  582. package/dist/esm/ic-hero.entry.js +28 -13
  583. package/dist/esm/ic-hero.entry.js.map +1 -1
  584. package/dist/esm/ic-horizontal-scroll.entry.js +6 -8
  585. package/dist/esm/ic-horizontal-scroll.entry.js.map +1 -1
  586. package/dist/esm/ic-input-component-container_4.entry.js +149 -0
  587. package/dist/esm/ic-input-component-container_4.entry.js.map +1 -0
  588. package/dist/esm/ic-link.entry.js +52 -25
  589. package/dist/esm/ic-link.entry.js.map +1 -1
  590. package/dist/esm/ic-menu-group.entry.js +2 -3
  591. package/dist/esm/ic-menu-group.entry.js.map +1 -1
  592. package/dist/esm/ic-menu-item.entry.js +6 -13
  593. package/dist/esm/ic-menu-item.entry.js.map +1 -1
  594. package/dist/esm/ic-menu-with-multi.entry.js +186 -47
  595. package/dist/esm/ic-menu-with-multi.entry.js.map +1 -1
  596. package/dist/esm/{ic-input-component-container_3.entry.js → ic-menu.entry.js} +19 -86
  597. package/dist/esm/ic-menu.entry.js.map +1 -0
  598. package/dist/esm/ic-navigation-button.entry.js +28 -8
  599. package/dist/esm/ic-navigation-button.entry.js.map +1 -1
  600. package/dist/esm/ic-navigation-group.entry.js +23 -21
  601. package/dist/esm/ic-navigation-group.entry.js.map +1 -1
  602. package/dist/esm/ic-navigation-item.entry.js +33 -38
  603. package/dist/esm/ic-navigation-item.entry.js.map +1 -1
  604. package/dist/esm/ic-navigation-menu.entry.js +3 -4
  605. package/dist/esm/ic-navigation-menu.entry.js.map +1 -1
  606. package/dist/esm/ic-page-header.entry.js +10 -12
  607. package/dist/esm/ic-page-header.entry.js.map +1 -1
  608. package/dist/esm/ic-pagination_4.entry.js +219 -178
  609. package/dist/esm/ic-pagination_4.entry.js.map +1 -1
  610. package/dist/esm/ic-popover-menu.entry.js +15 -21
  611. package/dist/esm/ic-popover-menu.entry.js.map +1 -1
  612. package/dist/esm/ic-radio-group.entry.js +75 -51
  613. package/dist/esm/ic-radio-group.entry.js.map +1 -1
  614. package/dist/esm/ic-radio-option.entry.js +44 -53
  615. package/dist/esm/ic-radio-option.entry.js.map +1 -1
  616. package/dist/esm/ic-search-bar.entry.js +19 -26
  617. package/dist/esm/ic-search-bar.entry.js.map +1 -1
  618. package/dist/esm/ic-section-container.entry.js +1 -1
  619. package/dist/esm/ic-section-container.entry.js.map +1 -1
  620. package/dist/esm/ic-select-with-multi.entry.js +14 -63
  621. package/dist/esm/ic-select-with-multi.entry.js.map +1 -1
  622. package/dist/esm/ic-side-navigation.entry.js +8 -9
  623. package/dist/esm/ic-side-navigation.entry.js.map +1 -1
  624. package/dist/esm/ic-skeleton.entry.js +17 -37
  625. package/dist/esm/ic-skeleton.entry.js.map +1 -1
  626. package/dist/esm/ic-status-tag.entry.js +7 -15
  627. package/dist/esm/ic-status-tag.entry.js.map +1 -1
  628. package/dist/esm/ic-step.entry.js +42 -43
  629. package/dist/esm/ic-step.entry.js.map +1 -1
  630. package/dist/esm/ic-stepper.entry.js +45 -24
  631. package/dist/esm/ic-stepper.entry.js.map +1 -1
  632. package/dist/esm/ic-switch.entry.js +7 -9
  633. package/dist/esm/ic-switch.entry.js.map +1 -1
  634. package/dist/esm/ic-tab-context.entry.js +35 -18
  635. package/dist/esm/ic-tab-context.entry.js.map +1 -1
  636. package/dist/esm/ic-tab-group.entry.js +25 -11
  637. package/dist/esm/ic-tab-group.entry.js.map +1 -1
  638. package/dist/esm/ic-tab-panel.entry.js +6 -13
  639. package/dist/esm/ic-tab-panel.entry.js.map +1 -1
  640. package/dist/esm/ic-tab.entry.js +10 -9
  641. package/dist/esm/ic-tab.entry.js.map +1 -1
  642. package/dist/esm/ic-theme.entry.js +39 -25
  643. package/dist/esm/ic-theme.entry.js.map +1 -1
  644. package/dist/esm/ic-toast-region.entry.js +6 -7
  645. package/dist/esm/ic-toast-region.entry.js.map +1 -1
  646. package/dist/esm/ic-toast.entry.js +88 -35
  647. package/dist/esm/ic-toast.entry.js.map +1 -1
  648. package/dist/esm/ic-toggle-button-group.entry.js +17 -17
  649. package/dist/esm/ic-toggle-button-group.entry.js.map +1 -1
  650. package/dist/esm/ic-toggle-button.entry.js +15 -14
  651. package/dist/esm/ic-toggle-button.entry.js.map +1 -1
  652. package/dist/esm/ic-top-navigation.entry.js +62 -86
  653. package/dist/esm/ic-top-navigation.entry.js.map +1 -1
  654. package/dist/esm/ic-tree-item.entry.js +237 -0
  655. package/dist/esm/ic-tree-item.entry.js.map +1 -0
  656. package/dist/esm/ic-tree-view.entry.js +199 -0
  657. package/dist/esm/ic-tree-view.entry.js.map +1 -0
  658. package/dist/esm/ic-typography.entry.js +56 -20
  659. package/dist/esm/ic-typography.entry.js.map +1 -1
  660. package/dist/esm/index-93509377.js +38 -18
  661. package/dist/esm/loader.js +1 -1
  662. package/dist/types/components/ic-card-horizontal/ic-card-horizontal.d.ts +71 -0
  663. package/dist/types/components/ic-card-horizontal/ic-card-horizontal.types.d.ts +1 -0
  664. package/dist/types/components/ic-data-table/ic-data-table.d.ts +176 -19
  665. package/dist/types/components/ic-data-table/ic-data-table.types.d.ts +30 -0
  666. package/dist/types/components/ic-data-table/story-data.d.ts +236 -3
  667. package/dist/types/components/ic-data-table-title-bar/ic-data-table-title-bar.d.ts +36 -0
  668. package/dist/types/components/ic-date-input/ic-date-input.d.ts +259 -0
  669. package/dist/types/components/ic-date-input/story-data.d.ts +1 -0
  670. package/dist/types/components/ic-date-input/test/helpers/ic-date-input.d.ts +23 -0
  671. package/dist/types/components/ic-date-picker/ic-date-picker.d.ts +240 -0
  672. package/dist/types/components/ic-date-picker/ic-day-button.d.ts +16 -0
  673. package/dist/types/components/ic-date-picker/ic-month-picker.d.ts +14 -0
  674. package/dist/types/components/ic-date-picker/ic-year-picker.d.ts +16 -0
  675. package/dist/types/components/ic-date-picker/story-data.d.ts +22 -0
  676. package/dist/types/components/ic-date-picker/test/a11y/ic-date-picker.test.a11y.d.ts +1 -0
  677. package/dist/types/components/ic-menu-with-multi/ic-menu.d.ts +12 -6
  678. package/dist/types/components/ic-pagination-bar/ic-pagination-bar.d.ts +37 -18
  679. package/dist/types/components/ic-select-with-multi/ic-select.d.ts +3 -33
  680. package/dist/types/components/ic-tree-item/ic-tree-item.d.ts +95 -0
  681. package/dist/types/components/ic-tree-view/ic-tree-view.d.ts +40 -0
  682. package/dist/types/components.d.ts +978 -114
  683. package/dist/types/interface.d.ts +1 -0
  684. package/dist/types/utils/constants.d.ts +37 -0
  685. package/dist/types/utils/date-helpers.d.ts +22 -0
  686. package/dist/types/utils/helpers.d.ts +92 -11
  687. package/dist/types/utils/types.d.ts +108 -1
  688. package/hydrate/index.js +6683 -2381
  689. package/package.json +6 -6
  690. package/dist/cjs/helpers-93c5fc92.js.map +0 -1
  691. package/dist/cjs/helpers-b525d45a.js.map +0 -1
  692. package/dist/cjs/ic-card.cjs.entry.js +0 -126
  693. package/dist/cjs/ic-card.cjs.entry.js.map +0 -1
  694. package/dist/cjs/ic-data-entity.cjs.entry.js +0 -29
  695. package/dist/cjs/ic-data-entity.cjs.entry.js.map +0 -1
  696. package/dist/cjs/ic-empty-state.cjs.entry.js +0 -38
  697. package/dist/cjs/ic-empty-state.cjs.entry.js.map +0 -1
  698. package/dist/cjs/ic-input-component-container_3.cjs.entry.js.map +0 -1
  699. package/dist/cjs/ic-input-label_2.cjs.entry.js +0 -86
  700. package/dist/cjs/ic-input-label_2.cjs.entry.js.map +0 -1
  701. package/dist/cjs/ic-pagination-bar.cjs.entry.js +0 -269
  702. package/dist/cjs/ic-pagination-bar.cjs.entry.js.map +0 -1
  703. package/dist/cjs/types-17dba796.js +0 -16
  704. package/dist/cjs/types-17dba796.js.map +0 -1
  705. package/dist/collection/components/ic-pagination/ic-pagination.types.js +0 -2
  706. package/dist/collection/components/ic-pagination/ic-pagination.types.js.map +0 -1
  707. package/dist/collection/components/ic-select-with-multi/test/a11y/ic-select.test.a11y.js +0 -146
  708. package/dist/collection/components/ic-select-with-multi/test/a11y/ic-select.test.a11y.js.map +0 -1
  709. package/dist/collection/components/ic-select-with-multi/test/basic/ic-select.e2e.js +0 -2040
  710. package/dist/collection/components/ic-select-with-multi/test/basic/ic-select.e2e.js.map +0 -1
  711. package/dist/components/ic-alert2.js +0 -117
  712. package/dist/components/ic-alert2.js.map +0 -1
  713. package/dist/components/ic-card.js +0 -171
  714. package/dist/components/ic-card.js.map +0 -1
  715. package/dist/components/ic-data-entity.js +0 -53
  716. package/dist/components/ic-data-entity.js.map +0 -1
  717. package/dist/components/types.js +0 -16
  718. package/dist/components/types.js.map +0 -1
  719. package/dist/core/p-045359e1.entry.js +0 -2
  720. package/dist/core/p-045359e1.entry.js.map +0 -1
  721. package/dist/core/p-10fb4c46.entry.js +0 -2
  722. package/dist/core/p-10fb4c46.entry.js.map +0 -1
  723. package/dist/core/p-169bfa51.entry.js +0 -2
  724. package/dist/core/p-169bfa51.entry.js.map +0 -1
  725. package/dist/core/p-1ca332ca.entry.js +0 -2
  726. package/dist/core/p-1ca332ca.entry.js.map +0 -1
  727. package/dist/core/p-204ace96.entry.js +0 -2
  728. package/dist/core/p-204ace96.entry.js.map +0 -1
  729. package/dist/core/p-21150122.entry.js +0 -2
  730. package/dist/core/p-21150122.entry.js.map +0 -1
  731. package/dist/core/p-2eac7dcc.entry.js +0 -2
  732. package/dist/core/p-2eac7dcc.entry.js.map +0 -1
  733. package/dist/core/p-3803a5b5.entry.js +0 -2
  734. package/dist/core/p-3803a5b5.entry.js.map +0 -1
  735. package/dist/core/p-4753bac8.entry.js +0 -2
  736. package/dist/core/p-4753bac8.entry.js.map +0 -1
  737. package/dist/core/p-4baa0916.entry.js +0 -2
  738. package/dist/core/p-4baa0916.entry.js.map +0 -1
  739. package/dist/core/p-4f413fc0.entry.js +0 -2
  740. package/dist/core/p-4f413fc0.entry.js.map +0 -1
  741. package/dist/core/p-595be57d.entry.js +0 -2
  742. package/dist/core/p-595be57d.entry.js.map +0 -1
  743. package/dist/core/p-5ae93c16.entry.js +0 -2
  744. package/dist/core/p-5ae93c16.entry.js.map +0 -1
  745. package/dist/core/p-5e0c830b.entry.js +0 -2
  746. package/dist/core/p-5e0c830b.entry.js.map +0 -1
  747. package/dist/core/p-624d4f5f.entry.js +0 -2
  748. package/dist/core/p-624d4f5f.entry.js.map +0 -1
  749. package/dist/core/p-6933f8e9.entry.js +0 -2
  750. package/dist/core/p-6933f8e9.entry.js.map +0 -1
  751. package/dist/core/p-6c3044b6.entry.js +0 -2
  752. package/dist/core/p-6c3044b6.entry.js.map +0 -1
  753. package/dist/core/p-73be1251.entry.js +0 -2
  754. package/dist/core/p-73be1251.entry.js.map +0 -1
  755. package/dist/core/p-75dac3d1.entry.js +0 -2
  756. package/dist/core/p-75dac3d1.entry.js.map +0 -1
  757. package/dist/core/p-76915584.entry.js +0 -2
  758. package/dist/core/p-76915584.entry.js.map +0 -1
  759. package/dist/core/p-7ef8d616.entry.js +0 -2
  760. package/dist/core/p-7ef8d616.entry.js.map +0 -1
  761. package/dist/core/p-81ddc39d.entry.js +0 -2
  762. package/dist/core/p-81ddc39d.entry.js.map +0 -1
  763. package/dist/core/p-869954a2.entry.js +0 -2
  764. package/dist/core/p-869954a2.entry.js.map +0 -1
  765. package/dist/core/p-88d54b72.entry.js +0 -2
  766. package/dist/core/p-88d54b72.entry.js.map +0 -1
  767. package/dist/core/p-8b08d8fe.entry.js +0 -2
  768. package/dist/core/p-8b08d8fe.entry.js.map +0 -1
  769. package/dist/core/p-917c5721.entry.js +0 -2
  770. package/dist/core/p-917c5721.entry.js.map +0 -1
  771. package/dist/core/p-942282cd.entry.js +0 -2
  772. package/dist/core/p-942282cd.entry.js.map +0 -1
  773. package/dist/core/p-9777ebb1.entry.js +0 -2
  774. package/dist/core/p-9777ebb1.entry.js.map +0 -1
  775. package/dist/core/p-99cad6c2.js +0 -2
  776. package/dist/core/p-99cad6c2.js.map +0 -1
  777. package/dist/core/p-9caf19eb.js +0 -2
  778. package/dist/core/p-9caf19eb.js.map +0 -1
  779. package/dist/core/p-a0f8efb2.entry.js +0 -2
  780. package/dist/core/p-a0f8efb2.entry.js.map +0 -1
  781. package/dist/core/p-a31031a5.entry.js +0 -2
  782. package/dist/core/p-a31031a5.entry.js.map +0 -1
  783. package/dist/core/p-a434c3d4.entry.js +0 -2
  784. package/dist/core/p-a43c12cd.entry.js +0 -2
  785. package/dist/core/p-a43c12cd.entry.js.map +0 -1
  786. package/dist/core/p-a50c3b9e.entry.js +0 -2
  787. package/dist/core/p-a50c3b9e.entry.js.map +0 -1
  788. package/dist/core/p-ab09986c.entry.js +0 -2
  789. package/dist/core/p-ab09986c.entry.js.map +0 -1
  790. package/dist/core/p-ac4e40a7.entry.js +0 -2
  791. package/dist/core/p-ac4e40a7.entry.js.map +0 -1
  792. package/dist/core/p-b2aa3d7c.entry.js +0 -2
  793. package/dist/core/p-b2aa3d7c.entry.js.map +0 -1
  794. package/dist/core/p-b82dcc29.entry.js +0 -2
  795. package/dist/core/p-b82dcc29.entry.js.map +0 -1
  796. package/dist/core/p-ba86928c.entry.js +0 -2
  797. package/dist/core/p-ba86928c.entry.js.map +0 -1
  798. package/dist/core/p-baf81f30.entry.js.map +0 -1
  799. package/dist/core/p-c125b65a.entry.js +0 -2
  800. package/dist/core/p-c125b65a.entry.js.map +0 -1
  801. package/dist/core/p-c34848da.entry.js +0 -2
  802. package/dist/core/p-d8469ac0.entry.js +0 -2
  803. package/dist/core/p-d8469ac0.entry.js.map +0 -1
  804. package/dist/core/p-db9c03c0.entry.js +0 -2
  805. package/dist/core/p-db9c03c0.entry.js.map +0 -1
  806. package/dist/core/p-e0462b23.entry.js +0 -2
  807. package/dist/core/p-e0462b23.entry.js.map +0 -1
  808. package/dist/core/p-e0a94f2d.entry.js +0 -2
  809. package/dist/core/p-e0a94f2d.entry.js.map +0 -1
  810. package/dist/core/p-e189f1d0.entry.js +0 -2
  811. package/dist/core/p-e189f1d0.entry.js.map +0 -1
  812. package/dist/core/p-e3997d60.entry.js +0 -2
  813. package/dist/core/p-e3997d60.entry.js.map +0 -1
  814. package/dist/core/p-e79e0292.entry.js +0 -2
  815. package/dist/core/p-e79e0292.entry.js.map +0 -1
  816. package/dist/core/p-e834344e.entry.js +0 -2
  817. package/dist/core/p-e834344e.entry.js.map +0 -1
  818. package/dist/core/p-f14454b1.entry.js +0 -2
  819. package/dist/core/p-f14454b1.entry.js.map +0 -1
  820. package/dist/core/p-f3c840cd.entry.js +0 -2
  821. package/dist/core/p-f3c840cd.entry.js.map +0 -1
  822. package/dist/core/p-f6888309.entry.js +0 -2
  823. package/dist/core/p-f6888309.entry.js.map +0 -1
  824. package/dist/core/p-f74a8752.entry.js +0 -2
  825. package/dist/core/p-f74a8752.entry.js.map +0 -1
  826. package/dist/core/p-f7a14c01.entry.js +0 -2
  827. package/dist/core/p-f7a14c01.entry.js.map +0 -1
  828. package/dist/core/p-f843da01.entry.js +0 -2
  829. package/dist/core/p-f843da01.entry.js.map +0 -1
  830. package/dist/core/p-fc5611e2.entry.js +0 -2
  831. package/dist/core/p-fc5611e2.entry.js.map +0 -1
  832. package/dist/core/p-fd186591.js +0 -2
  833. package/dist/core/p-fd186591.js.map +0 -1
  834. package/dist/core/p-fde45b29.entry.js +0 -2
  835. package/dist/core/p-fde45b29.entry.js.map +0 -1
  836. package/dist/esm/helpers-12b4266a.js.map +0 -1
  837. package/dist/esm/helpers-5271897c.js +0 -183
  838. package/dist/esm/helpers-5271897c.js.map +0 -1
  839. package/dist/esm/ic-card.entry.js +0 -122
  840. package/dist/esm/ic-card.entry.js.map +0 -1
  841. package/dist/esm/ic-data-entity.entry.js +0 -25
  842. package/dist/esm/ic-data-entity.entry.js.map +0 -1
  843. package/dist/esm/ic-empty-state.entry.js +0 -34
  844. package/dist/esm/ic-empty-state.entry.js.map +0 -1
  845. package/dist/esm/ic-input-component-container_3.entry.js.map +0 -1
  846. package/dist/esm/ic-input-label_2.entry.js +0 -81
  847. package/dist/esm/ic-input-label_2.entry.js.map +0 -1
  848. package/dist/esm/ic-pagination-bar.entry.js +0 -265
  849. package/dist/esm/ic-pagination-bar.entry.js.map +0 -1
  850. package/dist/esm/types-f605c21c.js +0 -16
  851. package/dist/esm/types-f605c21c.js.map +0 -1
  852. package/dist/types/components/ic-pagination/ic-pagination.types.d.ts +0 -6
  853. /package/dist/types/components/{ic-select-with-multi/test/a11y/ic-select.test.a11y.d.ts → ic-data-table-title-bar/test/a11y/ic-data-table-title-bar.test.a11y.d.ts} +0 -0
@@ -0,0 +1,1030 @@
1
+ import { newSpecPage } from "@stencil/core/testing";
2
+ import { DatePicker } from "../../ic-date-picker";
3
+ import { DateInput } from "../../../ic-date-input/ic-date-input";
4
+ import { IcButton as Button } from "@ukic/web-components/dist/components/ic-button";
5
+ import { IcTooltip as Tooltip } from "@ukic/web-components/dist/components/ic-tooltip";
6
+ import { waitForTimeout, testKeyboardEvent as keyboardEvent, } from "../../../../testspec.setup";
7
+ import { dateMatches } from "../../../../utils/date-helpers";
8
+ import { IcInputLabel as InputLabel } from "@ukic/web-components/dist/components/ic-input-label";
9
+ const DELAY_MS = 350;
10
+ const dateIsToday = (d) => {
11
+ return dateMatches(d, new Date());
12
+ };
13
+ beforeAll(() => {
14
+ jest.spyOn(console, "warn").mockImplementation(jest.fn());
15
+ });
16
+ describe("ic-date-picker", () => {
17
+ it("should render default size", async () => {
18
+ const page = await newSpecPage({
19
+ components: [DatePicker, DateInput, Button, Tooltip],
20
+ html: `<ic-date-picker label="Date picker label" value="11/07/2023"></ic-date-picker>`,
21
+ });
22
+ page.rootInstance.setSelectedDate(new Date(2023, 6, 11));
23
+ page.rootInstance.calendarOpen = true;
24
+ await page.waitForChanges();
25
+ await waitForTimeout(DELAY_MS);
26
+ expect(page.rootInstance.calendarOpen).toBe(true);
27
+ expect(page.root).toMatchSnapshot();
28
+ });
29
+ it("should render small datepicker", async () => {
30
+ const page = await newSpecPage({
31
+ components: [DatePicker, DateInput, Button, Tooltip],
32
+ html: `<ic-date-picker label="Date picker label" size="small" value="11/07/2023"></ic-date-picker>`,
33
+ });
34
+ page.rootInstance.setSelectedDate(new Date(2023, 6, 11));
35
+ page.rootInstance.calendarOpen = true;
36
+ await page.waitForChanges();
37
+ await waitForTimeout(DELAY_MS);
38
+ expect(page.root).toMatchSnapshot();
39
+ });
40
+ it("should render large datepicker", async () => {
41
+ const page = await newSpecPage({
42
+ components: [DatePicker, DateInput, Button, Tooltip],
43
+ html: `<ic-date-picker label="Date picker label" size="large" value="11/07/2023"></ic-date-picker>`,
44
+ });
45
+ page.rootInstance.setSelectedDate(new Date(2023, 6, 11));
46
+ page.rootInstance.calendarOpen = true;
47
+ await page.waitForChanges();
48
+ await waitForTimeout(DELAY_MS);
49
+ expect(page.root).toMatchSnapshot();
50
+ });
51
+ it("should render with today & clear buttons hidden", async () => {
52
+ const page = await newSpecPage({
53
+ components: [DatePicker, DateInput, Button, Tooltip],
54
+ html: `<ic-date-picker label="Date picker label" show-picker-today-button="false" show-picker-clear-button="false" value="11/07/2023"></ic-date-picker>`,
55
+ });
56
+ page.rootInstance.setSelectedDate(new Date(2023, 6, 11));
57
+ page.rootInstance.calendarOpen = true;
58
+ await page.waitForChanges();
59
+ await waitForTimeout(DELAY_MS);
60
+ expect(page.root).toMatchSnapshot();
61
+ });
62
+ it("should render disabled", async () => {
63
+ const page = await newSpecPage({
64
+ components: [DatePicker, DateInput, Button, Tooltip],
65
+ html: `<ic-date-picker label="Date picker label" disabled="true"></ic-date-picker>`,
66
+ });
67
+ expect(page.root).toMatchSnapshot();
68
+ });
69
+ it("should render as required field", async () => {
70
+ const page = await newSpecPage({
71
+ components: [DatePicker, DateInput, Button, Tooltip],
72
+ html: `<ic-date-picker label="Date picker label" required="true"></ic-date-picker>`,
73
+ });
74
+ expect(page.root).toMatchSnapshot();
75
+ });
76
+ it("should render with custom inputId and name", async () => {
77
+ const page = await newSpecPage({
78
+ components: [DatePicker, DateInput, Button, Tooltip],
79
+ html: `<ic-date-picker label="Date picker label" input-id="custom-id" name="custom-name" ></ic-date-picker>`,
80
+ });
81
+ expect(page.root).toMatchSnapshot();
82
+ });
83
+ it("should render with custom validation", async () => {
84
+ const page = await newSpecPage({
85
+ components: [DatePicker, DateInput, Button, Tooltip],
86
+ html: `<ic-date-picker label="Date picker label" validation-status="error" validation-text="Text error text"></ic-date-picker>`,
87
+ });
88
+ expect(page.root).toMatchSnapshot();
89
+ });
90
+ it("should render with DD/MM/YYYY format", async () => {
91
+ const page = await newSpecPage({
92
+ components: [DatePicker, DateInput, Button, Tooltip],
93
+ html: `<ic-date-picker label="Date picker label" date-format="DD/MM/YYYY" value="11-07-2023"></ic-date-picker>`,
94
+ });
95
+ page.rootInstance.setSelectedDate(new Date(2023, 6, 11));
96
+ page.rootInstance.calendarOpen = true;
97
+ await page.waitForChanges();
98
+ await waitForTimeout(DELAY_MS);
99
+ expect(page.root).toMatchSnapshot();
100
+ });
101
+ it("should render with MM/DD/YYYY format", async () => {
102
+ const page = await newSpecPage({
103
+ components: [DatePicker, DateInput, Button, Tooltip, InputLabel],
104
+ html: `<ic-date-picker label="Date picker label" date-format="MM/DD/YYYY" value="07-11-2023" helper-text="Use US Format"></ic-date-picker>`,
105
+ });
106
+ page.rootInstance.setSelectedDate(new Date(2023, 6, 11));
107
+ page.rootInstance.calendarOpen = true;
108
+ await page.waitForChanges();
109
+ await waitForTimeout(DELAY_MS);
110
+ expect(page.root).toMatchSnapshot();
111
+ });
112
+ it("should render with YYYY/MM/DD format", async () => {
113
+ const page = await newSpecPage({
114
+ components: [DatePicker, DateInput, Button, Tooltip],
115
+ html: `<ic-date-picker label="Date picker label" date-format="YYYY/MM/DD" value="2023/07/11"></ic-date-picker>`,
116
+ });
117
+ page.rootInstance.setSelectedDate(new Date(2023, 6, 11));
118
+ page.rootInstance.calendarOpen = true;
119
+ await page.waitForChanges();
120
+ await waitForTimeout(DELAY_MS);
121
+ expect(page.root).toMatchSnapshot();
122
+ });
123
+ it("should render with saturday and sundays disabled", async () => {
124
+ const page = await newSpecPage({
125
+ components: [DatePicker, DateInput, Button, Tooltip],
126
+ html: `<ic-date-picker label="Date picker label" value="11/07/2023" disable-days-message="Saturday and Sunday not allowed"></ic-date-picker>`,
127
+ });
128
+ page.root.disableDays = [0, 6];
129
+ page.rootInstance.setSelectedDate(new Date(2023, 6, 11));
130
+ page.rootInstance.calendarOpen = true;
131
+ await page.waitForChanges();
132
+ await waitForTimeout(DELAY_MS);
133
+ expect(page.root).toMatchSnapshot();
134
+ expect(page.rootInstance.dateInputProps.disableDaysMessage).toEqual("Saturday and Sunday not allowed");
135
+ });
136
+ it("should open at specified date", async () => {
137
+ const page = await newSpecPage({
138
+ components: [DatePicker, DateInput, Button, Tooltip],
139
+ html: `<ic-date-picker label="Date picker label" open-at-date="25/12/2022"></ic-date-picker>`,
140
+ });
141
+ page.rootInstance.calendarOpen = true;
142
+ await page.waitForChanges();
143
+ await waitForTimeout(DELAY_MS);
144
+ expect(page.root).toMatchSnapshot();
145
+ });
146
+ it("should have sunday as first day of week", async () => {
147
+ const page = await newSpecPage({
148
+ components: [DatePicker, DateInput, Button, Tooltip],
149
+ html: `<ic-date-picker label="Date picker label" open-at-date="25/12/2022" start-of-week="0"></ic-date-picker>`,
150
+ });
151
+ page.rootInstance.calendarOpen = true;
152
+ await page.waitForChanges();
153
+ await waitForTimeout(DELAY_MS);
154
+ expect(page.root).toMatchSnapshot();
155
+ });
156
+ it("should have correct date focussed on open", async () => {
157
+ const page = await newSpecPage({
158
+ components: [DatePicker, DateInput, Button, Tooltip],
159
+ html: `<ic-date-picker label="Date picker label" open-at-date="25/12/2022"></ic-date-picker>`,
160
+ });
161
+ page.rootInstance.setSelectedDate(new Date(2022, 11, 25));
162
+ page.rootInstance.calendarOpen = true;
163
+ await page.waitForChanges();
164
+ await waitForTimeout(DELAY_MS);
165
+ expect(page.rootInstance.focussedDate).toEqual(page.rootInstance.selectedDate);
166
+ });
167
+ it("should update date when day clicked", async () => {
168
+ const page = await newSpecPage({
169
+ components: [DatePicker, DateInput, Button, Tooltip],
170
+ html: `<ic-date-picker label="Date picker label" open-at-date="25/12/2022"></ic-date-picker>`,
171
+ });
172
+ page.rootInstance.calendarOpen = true;
173
+ await page.waitForChanges();
174
+ await waitForTimeout(DELAY_MS);
175
+ const dayButton = page.root.shadowRoot.querySelector("div.calendar-days-container > div.day-button-container:nth-child(26) > button");
176
+ dayButton.click();
177
+ await page.waitForChanges();
178
+ await waitForTimeout(DELAY_MS);
179
+ expect(page.rootInstance.calendarOpen).toBe(false);
180
+ expect(page.rootInstance.selectedDate).toEqual(new Date(2022, 11, 23));
181
+ });
182
+ it("should show month picker view when button clicked", async () => {
183
+ const page = await newSpecPage({
184
+ components: [DatePicker, DateInput, Button, Tooltip],
185
+ html: `<ic-date-picker label="Date picker label" open-at-date="25/12/2022"></ic-date-picker>`,
186
+ });
187
+ page.rootInstance.setSelectedDate(new Date(2022, 11, 25));
188
+ page.rootInstance.calendarOpen = true;
189
+ await page.waitForChanges();
190
+ await waitForTimeout(DELAY_MS);
191
+ const monthButton = page.root.shadowRoot.querySelector(".month-picker-button");
192
+ monthButton.click();
193
+ await page.waitForChanges();
194
+ await waitForTimeout(DELAY_MS);
195
+ expect(page.root).toMatchSnapshot();
196
+ expect(page.rootInstance.monthPickerVisible).toBe(true);
197
+ monthButton.click();
198
+ await page.waitForChanges();
199
+ await waitForTimeout(DELAY_MS);
200
+ expect(page.rootInstance.monthPickerVisible).toBe(false);
201
+ });
202
+ it("should show year picker view when button clicked", async () => {
203
+ const page = await newSpecPage({
204
+ components: [DatePicker, DateInput, Button, Tooltip],
205
+ html: `<ic-date-picker label="Date picker label" open-at-date="25/12/2022"></ic-date-picker>`,
206
+ });
207
+ page.rootInstance.setSelectedDate(new Date(2022, 11, 25));
208
+ page.rootInstance.calendarOpen = true;
209
+ await page.waitForChanges();
210
+ await waitForTimeout(DELAY_MS);
211
+ const yearButton = page.root.shadowRoot.querySelector(".year-picker-button");
212
+ yearButton.click();
213
+ await page.waitForChanges();
214
+ await waitForTimeout(DELAY_MS);
215
+ expect(page.root).toMatchSnapshot();
216
+ expect(page.rootInstance.yearPickerVisible).toBe(true);
217
+ yearButton.click();
218
+ await page.waitForChanges();
219
+ await waitForTimeout(DELAY_MS);
220
+ expect(page.rootInstance.yearPickerVisible).toBe(false);
221
+ });
222
+ it("should only allow selection in specified month", async () => {
223
+ const page = await newSpecPage({
224
+ components: [DatePicker, DateInput, Button, Tooltip],
225
+ html: `<ic-date-picker label="Date picker label" min="01/10/2023" max="31/10/2023"></ic-date-picker>`,
226
+ });
227
+ page.rootInstance.calendarOpen = true;
228
+ await page.waitForChanges();
229
+ await waitForTimeout(DELAY_MS);
230
+ expect(page.root).toMatchSnapshot();
231
+ });
232
+ it("should select month when button clicked", async () => {
233
+ const page = await newSpecPage({
234
+ components: [DatePicker, DateInput, Button, Tooltip],
235
+ html: `<ic-date-picker label="Date picker label" open-at-date="25/12/2022"></ic-date-picker>`,
236
+ });
237
+ page.rootInstance.setSelectedDate(new Date(2022, 11, 25));
238
+ page.rootInstance.calendarOpen = true;
239
+ await page.waitForChanges();
240
+ await waitForTimeout(DELAY_MS);
241
+ const monthButton = page.root.shadowRoot.querySelector(".month-picker-button");
242
+ monthButton.click();
243
+ await page.waitForChanges();
244
+ await waitForTimeout(DELAY_MS);
245
+ const janButton = page.root.shadowRoot.querySelector("div.month-picker > ic-button:nth-child(1)");
246
+ janButton.click();
247
+ await page.waitForChanges();
248
+ await waitForTimeout(DELAY_MS);
249
+ expect(page.rootInstance.monthPickerVisible).toBe(false);
250
+ expect(page.rootInstance.monthInView).toBe(0);
251
+ expect(page.rootInstance.liveRegionEl.innerText).toEqual("January selected. January 2022 currently in view.");
252
+ });
253
+ it("should select year when button clicked", async () => {
254
+ const page = await newSpecPage({
255
+ components: [DatePicker, DateInput, Button, Tooltip],
256
+ html: `<ic-date-picker label="Date picker label" open-at-date="25/12/2022"></ic-date-picker>`,
257
+ });
258
+ page.rootInstance.setSelectedDate(new Date(2022, 11, 25));
259
+ page.rootInstance.calendarOpen = true;
260
+ await page.waitForChanges();
261
+ await waitForTimeout(DELAY_MS);
262
+ const yearButton = page.root.shadowRoot.querySelector(".year-picker-button");
263
+ yearButton.click();
264
+ await page.waitForChanges();
265
+ await waitForTimeout(DELAY_MS);
266
+ const firstYearButton = page.root.shadowRoot.querySelector("div.year-picker > ic-button:nth-child(2)");
267
+ firstYearButton.click();
268
+ await page.waitForChanges();
269
+ await waitForTimeout(DELAY_MS);
270
+ expect(page.rootInstance.yearPickerVisible).toBe(false);
271
+ expect(page.rootInstance.yearInView).toBe(2020);
272
+ });
273
+ it("should go to previous decade when button clicked", async () => {
274
+ const page = await newSpecPage({
275
+ components: [DatePicker, DateInput, Button, Tooltip],
276
+ html: `<ic-date-picker label="Date picker label" open-at-date="25/12/2022"></ic-date-picker>`,
277
+ });
278
+ page.rootInstance.setSelectedDate(new Date(2022, 11, 25));
279
+ page.rootInstance.calendarOpen = true;
280
+ await page.waitForChanges();
281
+ await waitForTimeout(DELAY_MS);
282
+ const yearButton = page.root.shadowRoot.querySelector(".year-picker-button");
283
+ yearButton.click();
284
+ await page.waitForChanges();
285
+ await waitForTimeout(DELAY_MS);
286
+ const prevDecadeButton = page.root.shadowRoot.querySelector("div.year-picker > div.prev-decade > ic-button:nth-child(1)");
287
+ prevDecadeButton.click();
288
+ await page.waitForChanges();
289
+ await waitForTimeout(DELAY_MS);
290
+ const firstYearButton = page.root.shadowRoot.querySelector("div.year-picker > ic-button:nth-child(2)");
291
+ firstYearButton.click();
292
+ await page.waitForChanges();
293
+ await waitForTimeout(DELAY_MS);
294
+ expect(page.rootInstance.yearInView).toBe(2010);
295
+ });
296
+ it("should go to next decade when button clicked", async () => {
297
+ const page = await newSpecPage({
298
+ components: [DatePicker, DateInput, Button, Tooltip],
299
+ html: `<ic-date-picker label="Date picker label" open-at-date="25/12/2022"></ic-date-picker>`,
300
+ });
301
+ page.rootInstance.setSelectedDate(new Date(2022, 11, 25));
302
+ page.rootInstance.calendarOpen = true;
303
+ await page.waitForChanges();
304
+ await waitForTimeout(DELAY_MS);
305
+ const yearButton = page.root.shadowRoot.querySelector(".year-picker-button");
306
+ yearButton.click();
307
+ await page.waitForChanges();
308
+ await waitForTimeout(DELAY_MS);
309
+ const nextDecadeButton = page.root.shadowRoot.querySelector("div.year-picker > div.next-decade > ic-button:nth-child(1)");
310
+ nextDecadeButton.click();
311
+ await page.waitForChanges();
312
+ await waitForTimeout(DELAY_MS);
313
+ const firstYearButton = page.root.shadowRoot.querySelector("div.year-picker > ic-button:nth-child(2)");
314
+ firstYearButton.click();
315
+ await page.waitForChanges();
316
+ await waitForTimeout(DELAY_MS);
317
+ expect(page.rootInstance.yearInView).toBe(2030);
318
+ });
319
+ it("should test disableFuture and disableFutureMessage props", async () => {
320
+ const page = await newSpecPage({
321
+ components: [DatePicker, DateInput, Button, Tooltip],
322
+ html: `<ic-date-picker label="Date picker label" disable-future="true" disable-future-message="Days in the future not allowed"></ic-date-picker>`,
323
+ });
324
+ await page.waitForChanges();
325
+ page.rootInstance.setSelectedDate(new Date(2222, 11, 25));
326
+ page.rootInstance.calendarOpen = true;
327
+ await page.waitForChanges();
328
+ await waitForTimeout(DELAY_MS);
329
+ expect(dateIsToday(page.rootInstance.maxDate)).toBe(true);
330
+ expect(dateMatches(page.rootInstance.focussedDate, new Date())).toBe(true);
331
+ expect(page.rootInstance.dateInputProps.disableFutureMessage).toEqual("Days in the future not allowed");
332
+ page.rootInstance.inputEl.value = "25/12/2222";
333
+ await page.waitForChanges();
334
+ //check dates in future allowed when prop is changed
335
+ page.rootInstance.disableFuture = false;
336
+ page.rootInstance.setSelectedDate(new Date(2222, 11, 25));
337
+ page.rootInstance.calendarOpen = true;
338
+ await page.waitForChanges();
339
+ expect(page.rootInstance.maxDate.toString()).toBe("Invalid Date");
340
+ expect(dateMatches(page.rootInstance.focussedDate, new Date())).toBe(true);
341
+ await waitForTimeout(DELAY_MS);
342
+ });
343
+ it("should test disablePast and disablePastMessage props", async () => {
344
+ const page = await newSpecPage({
345
+ components: [DatePicker, DateInput, Button, Tooltip],
346
+ html: `<ic-date-picker label="Date picker label" disable-past="true" disable-past-message="Days in the past not allowed"></ic-date-picker>`,
347
+ });
348
+ await page.waitForChanges();
349
+ page.rootInstance.setSelectedDate(new Date(2022, 11, 25));
350
+ page.rootInstance.calendarOpen = true;
351
+ await page.waitForChanges();
352
+ await waitForTimeout(DELAY_MS);
353
+ expect(dateMatches(page.rootInstance.minDate, new Date())).toBe(true);
354
+ expect(dateMatches(page.rootInstance.focussedDate, new Date())).toBe(true);
355
+ expect(page.rootInstance.dateInputProps.disablePastMessage).toEqual("Days in the past not allowed");
356
+ page.rootInstance.calendarOpen = false;
357
+ await page.waitForChanges();
358
+ //check dates in past allowed when prop is changed
359
+ page.rootInstance.disablePast = false;
360
+ page.rootInstance.setSelectedDate(new Date(2022, 11, 25));
361
+ page.rootInstance.calendarOpen = true;
362
+ await page.waitForChanges();
363
+ await waitForTimeout(DELAY_MS);
364
+ expect(page.rootInstance.minDate.toString()).toBe("Invalid Date");
365
+ expect(dateMatches(page.rootInstance.focussedDate, new Date(2022, 11, 25))).toBe(true);
366
+ });
367
+ it("should test invalidDateMessage", async () => {
368
+ const page = await newSpecPage({
369
+ components: [DatePicker, DateInput, Button, Tooltip],
370
+ html: `<ic-date-picker label="Date picker label" invalid-date-message="Invalid date"></ic-date-picker>`,
371
+ });
372
+ await page.waitForChanges();
373
+ page.rootInstance.setSelectedDate(new Date(2000, 13, 25));
374
+ await page.waitForChanges();
375
+ expect(page.rootInstance.dateInputProps.invalidDateMessage).toEqual("Invalid date");
376
+ });
377
+ it("should close picker when another element clicked", async () => {
378
+ const page = await newSpecPage({
379
+ components: [DatePicker, DateInput, Button, Tooltip],
380
+ html: `<ic-date-picker label="Date picker label" open-at-date="25/12/2022"></ic-date-picker>`,
381
+ });
382
+ page.rootInstance.calendarOpen = true;
383
+ await page.waitForChanges();
384
+ await waitForTimeout(DELAY_MS);
385
+ page.root.click();
386
+ await page.waitForChanges();
387
+ await waitForTimeout(DELAY_MS);
388
+ expect(page.rootInstance.calendarOpen).toBe(false);
389
+ });
390
+ it("should close picker when Escape key pressed", async () => {
391
+ const page = await newSpecPage({
392
+ components: [DatePicker, DateInput, Button, Tooltip],
393
+ html: `<ic-date-picker label="Date picker label" open-at-date="25/12/2022"></ic-date-picker>`,
394
+ });
395
+ page.rootInstance.calendarOpen = true;
396
+ await page.waitForChanges();
397
+ await waitForTimeout(DELAY_MS);
398
+ page.rootInstance.keyDownHandler(keyboardEvent("Escape"));
399
+ await page.waitForChanges();
400
+ await waitForTimeout(DELAY_MS);
401
+ expect(page.rootInstance.calendarOpen).toBe(false);
402
+ });
403
+ it("should clear dialog description when key pressed", async () => {
404
+ const page = await newSpecPage({
405
+ components: [DatePicker, DateInput, Button, Tooltip],
406
+ html: `<ic-date-picker label="Date picker label" open-at-date="25/12/2022"></ic-date-picker>`,
407
+ });
408
+ page.rootInstance.calendarOpen = true;
409
+ await page.waitForChanges();
410
+ await waitForTimeout(DELAY_MS);
411
+ page.rootInstance.keyDownHandler(keyboardEvent("Tab"));
412
+ await page.waitForChanges();
413
+ await waitForTimeout(DELAY_MS);
414
+ expect(page.rootInstance.dialogDescription).toBe("");
415
+ });
416
+ it("should test go to today button", async () => {
417
+ const page = await newSpecPage({
418
+ components: [DatePicker, DateInput, Button, Tooltip],
419
+ html: `<ic-date-picker label="Date picker label" open-at-date="25/12/2022"></ic-date-picker>`,
420
+ });
421
+ page.rootInstance.calendarOpen = true;
422
+ await page.waitForChanges();
423
+ await waitForTimeout(DELAY_MS);
424
+ const todayButton = page.root.shadowRoot.querySelector("div.bottom-buttons > #today-button");
425
+ todayButton.click();
426
+ await page.waitForChanges();
427
+ await waitForTimeout(DELAY_MS);
428
+ expect(dateIsToday(page.rootInstance.focussedDate)).toBe(true);
429
+ });
430
+ it("should test go to today button - month view", async () => {
431
+ const page = await newSpecPage({
432
+ components: [DatePicker, DateInput, Button, Tooltip],
433
+ html: `<ic-date-picker label="Date picker label" open-at-date="25/12/2022"></ic-date-picker>`,
434
+ });
435
+ page.rootInstance.calendarOpen = true;
436
+ await page.waitForChanges();
437
+ await waitForTimeout(DELAY_MS);
438
+ page.rootInstance.monthPickerVisible = true;
439
+ await page.waitForChanges();
440
+ await waitForTimeout(DELAY_MS);
441
+ const todayButton = page.root.shadowRoot.querySelector("div.bottom-buttons > #today-button");
442
+ todayButton.click();
443
+ await page.waitForChanges();
444
+ await waitForTimeout(DELAY_MS);
445
+ expect(page.rootInstance.monthPickerVisible).toBe(false);
446
+ expect(dateIsToday(page.rootInstance.focussedDate)).toBe(true);
447
+ });
448
+ it("should test go to today button - year view", async () => {
449
+ const page = await newSpecPage({
450
+ components: [DatePicker, DateInput, Button, Tooltip],
451
+ html: `<ic-date-picker label="Date picker label" open-at-date="25/12/2022"></ic-date-picker>`,
452
+ });
453
+ page.rootInstance.calendarOpen = true;
454
+ await page.waitForChanges();
455
+ await waitForTimeout(DELAY_MS);
456
+ page.rootInstance.yearPickerVisible = true;
457
+ await page.waitForChanges();
458
+ await waitForTimeout(DELAY_MS);
459
+ const todayButton = page.root.shadowRoot.querySelector("div.bottom-buttons > #today-button");
460
+ todayButton.click();
461
+ await page.waitForChanges();
462
+ await waitForTimeout(DELAY_MS);
463
+ expect(page.rootInstance.yearPickerVisible).toBe(false);
464
+ expect(dateIsToday(page.rootInstance.focussedDate)).toBe(true);
465
+ });
466
+ it("should test clear button", async () => {
467
+ const page = await newSpecPage({
468
+ components: [DatePicker, DateInput, Button, Tooltip],
469
+ html: `<ic-date-picker label="Date picker label" value="25/12/2022"></ic-date-picker>`,
470
+ });
471
+ page.rootInstance.setSelectedDate(new Date(2022, 11, 25));
472
+ page.rootInstance.calendarOpen = true;
473
+ await page.waitForChanges();
474
+ await waitForTimeout(DELAY_MS);
475
+ Object.defineProperty(page.rootInstance.focussedDayEl, "focus", {
476
+ value: jest.fn(),
477
+ });
478
+ expect(page.rootInstance.focussedDayEl.focus).not.toHaveBeenCalled();
479
+ expect(page.rootInstance.selectedDate).not.toBe(null);
480
+ const clearButton = page.root.shadowRoot.querySelector("div.bottom-buttons > #clear-button");
481
+ clearButton.click();
482
+ await page.waitForChanges();
483
+ await waitForTimeout(DELAY_MS);
484
+ expect(page.rootInstance.selectedDate).toBe(null);
485
+ expect(page.rootInstance.focussedDayEl.focus).toHaveBeenCalled();
486
+ expect(page.rootInstance.liveRegionEl.textContent).toBe("Selected date cleared. December 2022 currently in view.");
487
+ });
488
+ it("should test clear button - month view", async () => {
489
+ const page = await newSpecPage({
490
+ components: [DatePicker, DateInput, Button, Tooltip],
491
+ html: `<ic-date-picker label="Date picker label" value="25/12/2022"></ic-date-picker>`,
492
+ });
493
+ page.rootInstance.setSelectedDate(new Date(2022, 11, 25));
494
+ page.rootInstance.calendarOpen = true;
495
+ await page.waitForChanges();
496
+ await waitForTimeout(DELAY_MS);
497
+ page.rootInstance.monthPickerVisible = true;
498
+ await page.waitForChanges();
499
+ await waitForTimeout(DELAY_MS);
500
+ Object.defineProperty(page.rootInstance.focussedMonthEl, "setFocus", {
501
+ value: jest.fn(),
502
+ });
503
+ expect(page.rootInstance.focussedMonthEl.setFocus).not.toHaveBeenCalled();
504
+ expect(page.root.value).not.toBe("");
505
+ const clearButton = page.root.shadowRoot.querySelector("div.bottom-buttons > #clear-button");
506
+ clearButton.click();
507
+ await page.waitForChanges();
508
+ await waitForTimeout(DELAY_MS);
509
+ expect(page.rootInstance.selectedDate).toBe(null);
510
+ expect(page.rootInstance.monthPickerVisible).toBe(true);
511
+ expect(page.rootInstance.focussedMonthEl.setFocus).toHaveBeenCalled();
512
+ expect(page.rootInstance.liveRegionEl.textContent).toBe("Selected date cleared.");
513
+ });
514
+ it("should test clear button - year view", async () => {
515
+ const page = await newSpecPage({
516
+ components: [DatePicker, DateInput, Button, Tooltip],
517
+ html: `<ic-date-picker label="Date picker label" value="25/12/2022"></ic-date-picker>`,
518
+ });
519
+ page.rootInstance.setSelectedDate(new Date(2022, 11, 25));
520
+ page.rootInstance.calendarOpen = true;
521
+ await page.waitForChanges();
522
+ await waitForTimeout(DELAY_MS);
523
+ page.rootInstance.yearPickerVisible = true;
524
+ await page.waitForChanges();
525
+ await waitForTimeout(DELAY_MS);
526
+ Object.defineProperty(page.rootInstance.focussedYearEl, "setFocus", {
527
+ value: jest.fn(),
528
+ });
529
+ expect(page.rootInstance.focussedYearEl.setFocus).not.toHaveBeenCalled();
530
+ expect(page.root.value).not.toBe("");
531
+ const clearButton = page.root.shadowRoot.querySelector("div.bottom-buttons > #clear-button");
532
+ clearButton.click();
533
+ await page.waitForChanges();
534
+ await waitForTimeout(DELAY_MS);
535
+ expect(page.root.value).toBeNull();
536
+ expect(page.rootInstance.yearPickerVisible).toBe(true);
537
+ expect(page.rootInstance.focussedYearEl.setFocus).toHaveBeenCalled();
538
+ expect(page.rootInstance.liveRegionEl.textContent).toBe("Selected date cleared.");
539
+ });
540
+ it("should test month & year nav buttons", async () => {
541
+ const page = await newSpecPage({
542
+ components: [DatePicker, DateInput, Button, Tooltip],
543
+ html: `<ic-date-picker label="Date picker label" value="25/12/2022"></ic-date-picker>`,
544
+ });
545
+ page.rootInstance.setSelectedDate(new Date(2022, 11, 25));
546
+ page.rootInstance.calendarOpen = true;
547
+ await page.waitForChanges();
548
+ await waitForTimeout(DELAY_MS);
549
+ const prevMonthButton = page.root.shadowRoot.querySelector("#previous-month-button");
550
+ prevMonthButton.click();
551
+ await page.waitForChanges();
552
+ await waitForTimeout(DELAY_MS);
553
+ expect(page.rootInstance.focussedDate).toEqual(new Date(2022, 10, 25));
554
+ const nextMonthButton = page.root.shadowRoot.querySelector("#next-month-button");
555
+ nextMonthButton.click();
556
+ await page.waitForChanges();
557
+ await waitForTimeout(DELAY_MS);
558
+ expect(page.rootInstance.focussedDate).toEqual(new Date(2022, 11, 25));
559
+ const prevYearButton = page.root.shadowRoot.querySelector("#previous-year-button");
560
+ prevYearButton.click();
561
+ await page.waitForChanges();
562
+ await waitForTimeout(DELAY_MS);
563
+ expect(page.rootInstance.focussedDate).toEqual(new Date(2021, 11, 25));
564
+ const nextYearButton = page.root.shadowRoot.querySelector("#next-year-button");
565
+ nextYearButton.click();
566
+ await page.waitForChanges();
567
+ await waitForTimeout(DELAY_MS);
568
+ expect(page.rootInstance.focussedDate).toEqual(new Date(2022, 11, 25));
569
+ });
570
+ it("should test tab on goto today button goes to first element on dialog when clear disabled", async () => {
571
+ const page = await newSpecPage({
572
+ components: [DatePicker, DateInput, Button, Tooltip],
573
+ html: `<ic-date-picker label="Date picker label" open-at-date="25/12/2022"></ic-date-picker>`,
574
+ });
575
+ page.rootInstance.calendarOpen = true;
576
+ await page.waitForChanges();
577
+ await waitForTimeout(DELAY_MS);
578
+ page.rootInstance.todayButtonKeyDownHandler(keyboardEvent("Tab"));
579
+ await page.waitForChanges();
580
+ expect(page.rootInstance.focusFirstElement).toHaveBeenCalled;
581
+ });
582
+ it("should test tab on clear button goes to first element on dialog", async () => {
583
+ const page = await newSpecPage({
584
+ components: [DatePicker, DateInput, Button, Tooltip],
585
+ html: `<ic-date-picker label="Date picker label" open-at-date="25/12/2022"></ic-date-picker>`,
586
+ });
587
+ page.rootInstance.calendarOpen = true;
588
+ await page.waitForChanges();
589
+ await waitForTimeout(DELAY_MS);
590
+ page.rootInstance.clearButtonKeyDownHandler(keyboardEvent("Tab"));
591
+ await page.waitForChanges();
592
+ expect(page.rootInstance.focusFirstElement).toHaveBeenCalled;
593
+ });
594
+ it("should test monthButtonKeyDownHandler", async () => {
595
+ const page = await newSpecPage({
596
+ components: [DatePicker, DateInput, Button, Tooltip],
597
+ html: `<ic-date-picker label="Date picker label" open-at-date="25/12/2022"></ic-date-picker>`,
598
+ });
599
+ page.rootInstance.setSelectedDate(new Date(2022, 11, 25));
600
+ page.rootInstance.calendarOpen = true;
601
+ await page.waitForChanges();
602
+ await waitForTimeout(DELAY_MS);
603
+ page.rootInstance.monthPickerVisible = true;
604
+ await page.waitForChanges();
605
+ await waitForTimeout(DELAY_MS);
606
+ page.rootInstance.monthButtonKeyDownHandler(keyboardEvent("ArrowUp"));
607
+ await page.waitForChanges();
608
+ expect(page.rootInstance.monthInView).toBe(10);
609
+ page.rootInstance.monthButtonKeyDownHandler(keyboardEvent("ArrowDown"));
610
+ await page.waitForChanges();
611
+ expect(page.rootInstance.monthInView).toBe(11);
612
+ page.rootInstance.monthButtonKeyDownHandler(keyboardEvent("ArrowRight"));
613
+ await page.waitForChanges();
614
+ expect(page.rootInstance.monthInView).toBe(0);
615
+ page.rootInstance.monthButtonKeyDownHandler(keyboardEvent("ArrowLeft"));
616
+ await page.waitForChanges();
617
+ expect(page.rootInstance.monthInView).toBe(11);
618
+ page.rootInstance.monthButtonKeyDownHandler(keyboardEvent("Home"));
619
+ await page.waitForChanges();
620
+ expect(page.rootInstance.monthInView).toBe(0);
621
+ page.rootInstance.monthButtonKeyDownHandler(keyboardEvent("End"));
622
+ await page.waitForChanges();
623
+ expect(page.rootInstance.monthInView).toBe(11);
624
+ Object.defineProperty(page.rootInstance.clearButtonEl, "setFocus", {
625
+ value: jest.fn(),
626
+ });
627
+ const tabKeyEvent = keyboardEvent("Tab");
628
+ tabKeyEvent.shiftKey = true;
629
+ page.rootInstance.monthButtonKeyDownHandler(tabKeyEvent);
630
+ await page.waitForChanges();
631
+ expect(page.rootInstance.clearButtonEl.setFocus).toHaveBeenCalled();
632
+ //should focus today button when clear hidden
633
+ page.rootInstance.showPickerClearButton = false;
634
+ await page.waitForChanges();
635
+ await waitForTimeout(DELAY_MS);
636
+ Object.defineProperty(page.rootInstance.todayButtonEl, "setFocus", {
637
+ value: jest.fn(),
638
+ });
639
+ page.rootInstance.monthButtonKeyDownHandler(tabKeyEvent);
640
+ await page.waitForChanges();
641
+ expect(page.rootInstance.todayButtonEl.setFocus).toHaveBeenCalled();
642
+ // should focus month when today hidden
643
+ //should focus month button when month view open and today hidden
644
+ page.rootInstance.showPickerTodayButton = false;
645
+ await page.waitForChanges();
646
+ await waitForTimeout(DELAY_MS);
647
+ Object.defineProperty(page.rootInstance.focussedMonthEl, "setFocus", {
648
+ value: jest.fn(),
649
+ });
650
+ page.rootInstance.monthButtonKeyDownHandler(tabKeyEvent);
651
+ await page.waitForChanges();
652
+ expect(page.rootInstance.focussedMonthEl.setFocus).toHaveBeenCalled();
653
+ //should focus day
654
+ page.rootInstance.monthButtonKeyDownHandler(keyboardEvent("Enter"));
655
+ page.rootInstance.monthButtonKeyDownHandler(keyboardEvent("Escape"));
656
+ await page.waitForChanges();
657
+ await waitForTimeout(DELAY_MS);
658
+ expect(page.rootInstance.monthPickerVisible).toBe(false);
659
+ Object.defineProperty(page.rootInstance.focussedDayEl, "focus", {
660
+ value: jest.fn(),
661
+ });
662
+ page.rootInstance.monthButtonKeyDownHandler(tabKeyEvent);
663
+ await page.waitForChanges();
664
+ expect(page.rootInstance.focussedDayEl.focus).toHaveBeenCalled();
665
+ //should focus year
666
+ page.rootInstance.yearPickerVisible = true;
667
+ await page.waitForChanges();
668
+ await waitForTimeout(DELAY_MS);
669
+ Object.defineProperty(page.rootInstance.focussedYearEl, "setFocus", {
670
+ value: jest.fn(),
671
+ });
672
+ page.rootInstance.monthButtonKeyDownHandler(tabKeyEvent);
673
+ await page.waitForChanges();
674
+ expect(page.rootInstance.focussedYearEl.setFocus).toHaveBeenCalled();
675
+ });
676
+ it("should test yearButtonKeyDownHandler", async () => {
677
+ const page = await newSpecPage({
678
+ components: [DatePicker, DateInput, Button, Tooltip],
679
+ html: `<ic-date-picker label="Date picker label" open-at-date="25/12/2022"></ic-date-picker>`,
680
+ });
681
+ page.rootInstance.setSelectedDate(new Date(2022, 11, 25));
682
+ page.rootInstance.calendarOpen = true;
683
+ await page.waitForChanges();
684
+ await waitForTimeout(DELAY_MS);
685
+ page.rootInstance.yearPickerVisible = true;
686
+ await page.waitForChanges();
687
+ await waitForTimeout(DELAY_MS);
688
+ page.rootInstance.yearButtonKeyDownHandler(keyboardEvent("ArrowUp"));
689
+ await page.waitForChanges();
690
+ expect(page.rootInstance.yearInView).toBe(2021);
691
+ page.rootInstance.yearButtonKeyDownHandler(keyboardEvent("ArrowDown"));
692
+ await page.waitForChanges();
693
+ expect(page.rootInstance.yearInView).toBe(2022);
694
+ page.rootInstance.yearButtonKeyDownHandler(keyboardEvent("ArrowRight"));
695
+ await page.waitForChanges();
696
+ expect(page.rootInstance.yearInView).toBe(2023);
697
+ page.rootInstance.yearButtonKeyDownHandler(keyboardEvent("ArrowLeft"));
698
+ await page.waitForChanges();
699
+ expect(page.rootInstance.yearInView).toBe(2022);
700
+ page.rootInstance.yearButtonKeyDownHandler(keyboardEvent("Home"));
701
+ await page.waitForChanges();
702
+ expect(page.rootInstance.yearInView).toBe(2020);
703
+ page.rootInstance.yearButtonKeyDownHandler(keyboardEvent("End"));
704
+ await page.waitForChanges();
705
+ expect(page.rootInstance.yearInView).toBe(2029);
706
+ page.rootInstance.yearButtonKeyDownHandler(keyboardEvent("PageUp"));
707
+ await page.waitForChanges();
708
+ expect(page.rootInstance.yearInView).toBe(2019);
709
+ page.rootInstance.yearButtonKeyDownHandler(keyboardEvent("PageDown"));
710
+ await page.waitForChanges();
711
+ expect(page.rootInstance.yearInView).toBe(2029);
712
+ page.rootInstance.yearButtonKeyDownHandler(keyboardEvent("Enter"));
713
+ page.rootInstance.yearButtonKeyDownHandler(keyboardEvent("Escape"));
714
+ await page.waitForChanges();
715
+ await waitForTimeout(DELAY_MS);
716
+ expect(page.rootInstance.yearPickerVisible).toBe(false);
717
+ });
718
+ it("should test monthPickerKeyDownHandler", async () => {
719
+ const page = await newSpecPage({
720
+ components: [DatePicker, DateInput, Button, Tooltip],
721
+ html: `<ic-date-picker label="Date picker label" open-at-date="25/12/2022"></ic-date-picker>`,
722
+ });
723
+ page.rootInstance.calendarOpen = true;
724
+ await page.waitForChanges();
725
+ await waitForTimeout(DELAY_MS);
726
+ page.rootInstance.monthPickerVisible = true;
727
+ await page.waitForChanges();
728
+ await waitForTimeout(DELAY_MS);
729
+ page.rootInstance.monthPickerKeyDownHandler(keyboardEvent("ArrowUp"));
730
+ await page.waitForChanges();
731
+ await waitForTimeout(DELAY_MS);
732
+ expect(page.rootInstance.focussedMonth).toBe(10);
733
+ page.rootInstance.monthPickerKeyDownHandler(keyboardEvent("ArrowDown"));
734
+ await page.waitForChanges();
735
+ await waitForTimeout(DELAY_MS);
736
+ expect(page.rootInstance.focussedMonth).toBe(11);
737
+ page.rootInstance.monthPickerKeyDownHandler(keyboardEvent("ArrowRight"));
738
+ await page.waitForChanges();
739
+ await waitForTimeout(DELAY_MS);
740
+ expect(page.rootInstance.focussedMonth).toBe(0);
741
+ page.rootInstance.monthPickerKeyDownHandler(keyboardEvent("ArrowLeft"));
742
+ await page.waitForChanges();
743
+ await waitForTimeout(DELAY_MS);
744
+ expect(page.rootInstance.focussedMonth).toBe(11);
745
+ page.rootInstance.monthPickerKeyDownHandler(keyboardEvent("Home"));
746
+ await page.waitForChanges();
747
+ await waitForTimeout(DELAY_MS);
748
+ expect(page.rootInstance.focussedMonth).toBe(0);
749
+ page.rootInstance.monthPickerKeyDownHandler(keyboardEvent("End"));
750
+ await page.waitForChanges();
751
+ await waitForTimeout(DELAY_MS);
752
+ expect(page.rootInstance.focussedMonth).toBe(11);
753
+ page.rootInstance.monthPickerKeyDownHandler(keyboardEvent("Tab"));
754
+ page.rootInstance.monthPickerKeyDownHandler(keyboardEvent("Enter"));
755
+ page.rootInstance.monthPickerKeyDownHandler(keyboardEvent("Escape"));
756
+ await page.waitForChanges();
757
+ await waitForTimeout(DELAY_MS);
758
+ expect(page.rootInstance.monthPickerVisible).toBe(false);
759
+ });
760
+ it("should test yearPickerKeyDownHandler ", async () => {
761
+ const page = await newSpecPage({
762
+ components: [DatePicker, DateInput, Button, Tooltip],
763
+ html: `<ic-date-picker label="Date picker label" open-at-date="25/12/2022"></ic-date-picker>`,
764
+ });
765
+ page.rootInstance.calendarOpen = true;
766
+ await page.waitForChanges();
767
+ await waitForTimeout(DELAY_MS);
768
+ page.rootInstance.yearPickerVisible = true;
769
+ await page.waitForChanges();
770
+ await waitForTimeout(DELAY_MS);
771
+ page.rootInstance.yearPickerKeyDownHandler(keyboardEvent("ArrowUp"));
772
+ await page.waitForChanges();
773
+ await waitForTimeout(DELAY_MS);
774
+ expect(page.rootInstance.focussedYear).toBe(2021);
775
+ page.rootInstance.yearPickerKeyDownHandler(keyboardEvent("ArrowDown"));
776
+ await page.waitForChanges();
777
+ await waitForTimeout(DELAY_MS);
778
+ expect(page.rootInstance.focussedYear).toBe(2022);
779
+ page.rootInstance.yearPickerKeyDownHandler(keyboardEvent("ArrowRight"));
780
+ await page.waitForChanges();
781
+ await waitForTimeout(DELAY_MS);
782
+ expect(page.rootInstance.focussedYear).toBe(2023);
783
+ page.rootInstance.yearPickerKeyDownHandler(keyboardEvent("ArrowLeft"));
784
+ await page.waitForChanges();
785
+ await waitForTimeout(DELAY_MS);
786
+ expect(page.rootInstance.focussedYear).toBe(2022);
787
+ page.rootInstance.yearPickerKeyDownHandler(keyboardEvent("Home"));
788
+ await page.waitForChanges();
789
+ await waitForTimeout(DELAY_MS);
790
+ expect(page.rootInstance.focussedYear).toBe(2020);
791
+ page.rootInstance.yearPickerKeyDownHandler(keyboardEvent("End"));
792
+ await page.waitForChanges();
793
+ await waitForTimeout(DELAY_MS);
794
+ expect(page.rootInstance.focussedYear).toBe(2029);
795
+ page.rootInstance.yearPickerKeyDownHandler(keyboardEvent("PageUp"));
796
+ await page.waitForChanges();
797
+ await waitForTimeout(DELAY_MS);
798
+ expect(page.rootInstance.focussedYear).toBe(2019);
799
+ page.rootInstance.yearPickerKeyDownHandler(keyboardEvent("PageDown"));
800
+ await page.waitForChanges();
801
+ await waitForTimeout(DELAY_MS);
802
+ expect(page.rootInstance.focussedYear).toBe(2029);
803
+ page.rootInstance.yearPickerKeyDownHandler(keyboardEvent("Tab"));
804
+ page.rootInstance.yearPickerKeyDownHandler(keyboardEvent("Enter"));
805
+ page.rootInstance.yearPickerKeyDownHandler(keyboardEvent("Escape"));
806
+ await page.waitForChanges();
807
+ await waitForTimeout(DELAY_MS);
808
+ expect(page.rootInstance.yearPickerVisible).toBe(false);
809
+ });
810
+ it("should test handleCalendarKeyDown", async () => {
811
+ const page = await newSpecPage({
812
+ components: [DatePicker, DateInput, Button, Tooltip],
813
+ html: `<ic-date-picker label="Date picker label" open-at-date="25/12/2022" show-picker-today-button="false" show-picker-clear-button="false"></ic-date-picker>`,
814
+ });
815
+ page.rootInstance.calendarOpen = true;
816
+ await page.waitForChanges();
817
+ await waitForTimeout(DELAY_MS);
818
+ page.rootInstance.handleCalendarKeyDown(keyboardEvent("ArrowUp"));
819
+ await page.waitForChanges();
820
+ await waitForTimeout(DELAY_MS);
821
+ expect(page.rootInstance.focussedDate).toEqual(new Date(2022, 11, 18));
822
+ page.rootInstance.handleCalendarKeyDown(keyboardEvent("ArrowDown"));
823
+ await page.waitForChanges();
824
+ await waitForTimeout(DELAY_MS);
825
+ expect(page.rootInstance.focussedDate).toEqual(new Date(2022, 11, 25));
826
+ page.rootInstance.handleCalendarKeyDown(keyboardEvent("ArrowRight"));
827
+ await page.waitForChanges();
828
+ await waitForTimeout(DELAY_MS);
829
+ expect(page.rootInstance.focussedDate).toEqual(new Date(2022, 11, 26));
830
+ page.rootInstance.handleCalendarKeyDown(keyboardEvent("ArrowLeft"));
831
+ await page.waitForChanges();
832
+ await waitForTimeout(DELAY_MS);
833
+ expect(page.rootInstance.focussedDate).toEqual(new Date(2022, 11, 25));
834
+ page.rootInstance.handleCalendarKeyDown(keyboardEvent("Home"));
835
+ await page.waitForChanges();
836
+ await waitForTimeout(DELAY_MS);
837
+ expect(page.rootInstance.focussedDate).toEqual(new Date(2022, 11, 1));
838
+ page.rootInstance.handleCalendarKeyDown(keyboardEvent("End"));
839
+ await page.waitForChanges();
840
+ await waitForTimeout(DELAY_MS);
841
+ expect(page.rootInstance.focussedDate).toEqual(new Date(2022, 11, 31));
842
+ page.rootInstance.handleCalendarKeyDown(keyboardEvent("PageUp"));
843
+ await page.waitForChanges();
844
+ await waitForTimeout(DELAY_MS);
845
+ expect(page.rootInstance.focussedDate).toEqual(new Date(2022, 10, 30));
846
+ expect(page.rootInstance.liveRegionEl.innerText).toEqual("November 2022 currently in view.");
847
+ let keyEvent = keyboardEvent("PageUp");
848
+ keyEvent.shiftKey = true;
849
+ page.rootInstance.handleCalendarKeyDown(keyEvent);
850
+ await page.waitForChanges();
851
+ await waitForTimeout(DELAY_MS);
852
+ expect(page.rootInstance.focussedDate).toEqual(new Date(2021, 10, 30));
853
+ page.rootInstance.handleCalendarKeyDown(keyboardEvent("PageDown"));
854
+ await page.waitForChanges();
855
+ await waitForTimeout(DELAY_MS);
856
+ expect(page.rootInstance.focussedDate).toEqual(new Date(2021, 11, 30));
857
+ keyEvent = keyboardEvent("PageDown");
858
+ keyEvent.shiftKey = true;
859
+ page.rootInstance.handleCalendarKeyDown(keyEvent);
860
+ await page.waitForChanges();
861
+ await waitForTimeout(DELAY_MS);
862
+ expect(page.rootInstance.focussedDate).toEqual(new Date(2022, 11, 30));
863
+ Object.defineProperty(page.rootInstance.monthButtonEl, "setFocus", {
864
+ value: jest.fn(),
865
+ });
866
+ // simulate pressing enter to handle default behaviour case
867
+ page.rootInstance.handleCalendarKeyDown(keyboardEvent("Enter"));
868
+ page.rootInstance.handleCalendarKeyDown(keyboardEvent("Tab"));
869
+ await page.waitForChanges();
870
+ await waitForTimeout(DELAY_MS);
871
+ expect(page.rootInstance.monthButtonEl.setFocus).toHaveBeenCalled();
872
+ //test tab with clear button disabled (rather than hidden)
873
+ page.root.showPickerClearButton = true;
874
+ await page.waitForChanges();
875
+ await waitForTimeout(DELAY_MS);
876
+ page.rootInstance.clearButtonEl.disabled = true;
877
+ await page.waitForChanges();
878
+ page.rootInstance.handleCalendarKeyDown(keyboardEvent("Tab"));
879
+ await page.waitForChanges();
880
+ expect(page.rootInstance.monthButtonEl.setFocus).toHaveBeenCalledTimes(2);
881
+ Object.defineProperty(page.rootInstance.yearButtonEl, "setFocus", {
882
+ value: jest.fn(),
883
+ });
884
+ keyEvent = keyboardEvent("Tab");
885
+ keyEvent.shiftKey = true;
886
+ page.rootInstance.handleCalendarKeyDown(keyEvent);
887
+ await page.waitForChanges();
888
+ expect(page.rootInstance.yearButtonEl.setFocus).toHaveBeenCalled();
889
+ });
890
+ it("should test keyboard navigation when weekends disabled", async () => {
891
+ const page = await newSpecPage({
892
+ components: [DatePicker, DateInput, Button, Tooltip],
893
+ html: `<ic-date-picker label="Date picker label" open-at-date="23/12/2022"></ic-date-picker>`,
894
+ });
895
+ page.root.disableDays = [0, 6];
896
+ page.rootInstance.calendarOpen = true;
897
+ await page.waitForChanges();
898
+ await waitForTimeout(DELAY_MS);
899
+ page.rootInstance.handleCalendarKeyDown(keyboardEvent("ArrowRight"));
900
+ await page.waitForChanges();
901
+ await waitForTimeout(DELAY_MS);
902
+ expect(page.rootInstance.focussedDate).toEqual(new Date(2022, 11, 26));
903
+ page.rootInstance.handleCalendarKeyDown(keyboardEvent("ArrowLeft"));
904
+ await page.waitForChanges();
905
+ await waitForTimeout(DELAY_MS);
906
+ expect(page.rootInstance.focussedDate).toEqual(new Date(2022, 11, 23));
907
+ });
908
+ it("should test calendarButtonClickHandler", async () => {
909
+ const page = await newSpecPage({
910
+ components: [DatePicker, DateInput, Button, Tooltip],
911
+ html: `<ic-date-picker label="Date picker label"></ic-date-picker>`,
912
+ });
913
+ page.rootInstance.calendarOpen = true;
914
+ await page.waitForChanges();
915
+ await waitForTimeout(DELAY_MS);
916
+ page.rootInstance.calendarButtonClickHandler();
917
+ expect(page.rootInstance.calendarOpen).toBe(false);
918
+ });
919
+ it("should test localCalendarButtonClickHandler", async () => {
920
+ const page = await newSpecPage({
921
+ components: [DatePicker, DateInput, Button, Tooltip],
922
+ html: `<ic-date-picker label="Date picker label"></ic-date-picker>`,
923
+ });
924
+ const ev = { detail: { value: new Date(2022, 11, 25) } };
925
+ page.rootInstance.localCalendarButtonClickHandler(ev);
926
+ await page.waitForChanges();
927
+ await waitForTimeout(DELAY_MS);
928
+ expect(page.rootInstance.calendarOpen).toBe(true);
929
+ expect(page.rootInstance.focussedDate).toEqual(new Date(2022, 11, 25));
930
+ });
931
+ it("should test blur of day button", async () => {
932
+ const page = await newSpecPage({
933
+ components: [DatePicker, DateInput, Button, Tooltip],
934
+ html: `<ic-date-picker label="Date picker label" open-at-date="23/12/2022"></ic-date-picker>`,
935
+ });
936
+ page.rootInstance.calendarOpen = true;
937
+ await page.waitForChanges();
938
+ await waitForTimeout(DELAY_MS);
939
+ expect(page.rootInstance.dayButtonFocussed).toBe(true);
940
+ const dayButton = page.root.shadowRoot.querySelector("div.calendar-days-container > div.day-button-container:nth-child(26) > button");
941
+ dayButton.blur();
942
+ expect(page.rootInstance.dayButtonFocussed).toBe(false);
943
+ });
944
+ it("should test nav button mouse down handler", async () => {
945
+ const page = await newSpecPage({
946
+ components: [DatePicker, DateInput, Button, Tooltip],
947
+ html: `<ic-date-picker label="Date picker label" open-at-date="23/12/2022"></ic-date-picker>`,
948
+ });
949
+ page.rootInstance.calendarOpen = true;
950
+ await page.waitForChanges();
951
+ await waitForTimeout(DELAY_MS);
952
+ const dayButton = page.root.shadowRoot.querySelector("#previous-month-button");
953
+ const mouseEvent = new window.window.MouseEvent("mousedown", {
954
+ bubbles: true,
955
+ cancelable: true,
956
+ });
957
+ Object.defineProperty(mouseEvent, "preventDefault", {
958
+ value: jest.fn(),
959
+ });
960
+ dayButton.dispatchEvent(mouseEvent);
961
+ await page.waitForChanges();
962
+ expect(mouseEvent.preventDefault).toHaveBeenCalled();
963
+ });
964
+ it("should test setAriaLiveRegionText", async () => {
965
+ const page = await newSpecPage({
966
+ components: [DatePicker, DateInput, Button, Tooltip],
967
+ html: `<ic-date-picker label="Date picker label" open-at-date="23/12/2022"></ic-date-picker>`,
968
+ });
969
+ page.rootInstance.calendarOpen = true;
970
+ await page.waitForChanges();
971
+ await waitForTimeout(DELAY_MS);
972
+ const text = "some text in the aria live region";
973
+ page.rootInstance.setAriaLiveRegionText(text);
974
+ await page.waitForChanges();
975
+ expect(page.rootInstance.liveRegionEl.innerText).toEqual(text);
976
+ });
977
+ it("should test focus and blur of year button", async () => {
978
+ const page = await newSpecPage({
979
+ components: [DatePicker, DateInput, Button, Tooltip],
980
+ html: `<ic-date-picker label="Date picker label" open-at-date="23/12/2022"></ic-date-picker>`,
981
+ });
982
+ page.rootInstance.calendarOpen = true;
983
+ await page.waitForChanges();
984
+ await waitForTimeout(DELAY_MS);
985
+ const yearButton = page.root.shadowRoot.querySelector(".year-picker-button");
986
+ yearButton.click();
987
+ await page.waitForChanges();
988
+ await waitForTimeout(DELAY_MS);
989
+ expect(page.rootInstance.yearButtonFocussed).toBe(false);
990
+ const firstYearButton = page.root.shadowRoot.querySelector("div.year-picker > ic-button:nth-child(2)");
991
+ firstYearButton.focus();
992
+ await page.waitForChanges();
993
+ await waitForTimeout(DELAY_MS);
994
+ expect(page.rootInstance.yearButtonFocussed).toBe(true);
995
+ firstYearButton.blur();
996
+ await page.waitForChanges();
997
+ await waitForTimeout(DELAY_MS);
998
+ expect(page.rootInstance.yearButtonFocussed).toBe(false);
999
+ });
1000
+ it("should test change of startOfWeek", async () => {
1001
+ const page = await newSpecPage({
1002
+ components: [DatePicker, DateInput, Button, Tooltip],
1003
+ html: `<ic-date-picker label="Date picker label" open-at-date="23/12/2022"></ic-date-picker>`,
1004
+ });
1005
+ page.rootInstance.calendarOpen = true;
1006
+ await page.waitForChanges();
1007
+ await waitForTimeout(DELAY_MS);
1008
+ expect(page.rootInstance.orderedDaysOfWeek).toEqual([
1009
+ "Mon",
1010
+ "Tue",
1011
+ "Wed",
1012
+ "Thu",
1013
+ "Fri",
1014
+ "Sat",
1015
+ "Sun",
1016
+ ]);
1017
+ page.root.startOfWeek = 4;
1018
+ await page.waitForChanges();
1019
+ expect(page.rootInstance.orderedDaysOfWeek).toEqual([
1020
+ "Thu",
1021
+ "Fri",
1022
+ "Sat",
1023
+ "Sun",
1024
+ "Mon",
1025
+ "Tue",
1026
+ "Wed",
1027
+ ]);
1028
+ });
1029
+ });
1030
+ //# sourceMappingURL=ic-date-picker.spec.js.map