@ukic/canary-web-components 2.0.0-canary.4 → 2.0.0-canary.41

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (832) hide show
  1. package/README.md +7 -2
  2. package/dist/cjs/core.cjs.js +1 -1
  3. package/dist/cjs/date-helpers-c9551119.js +150 -0
  4. package/dist/cjs/date-helpers-c9551119.js.map +1 -0
  5. package/dist/cjs/helpers-951fb33a.js +433 -0
  6. package/dist/cjs/helpers-951fb33a.js.map +1 -0
  7. package/dist/cjs/{helpers-bbe55215.js → helpers-eabe59b6.js} +147 -100
  8. package/dist/cjs/helpers-eabe59b6.js.map +1 -0
  9. package/dist/cjs/ic-accordion-group.cjs.entry.js +31 -4
  10. package/dist/cjs/ic-accordion-group.cjs.entry.js.map +1 -1
  11. package/dist/cjs/ic-accordion.cjs.entry.js +11 -4
  12. package/dist/cjs/ic-accordion.cjs.entry.js.map +1 -1
  13. package/dist/cjs/ic-alert.cjs.entry.js +20 -6
  14. package/dist/cjs/ic-alert.cjs.entry.js.map +1 -1
  15. package/dist/cjs/ic-back-to-top.cjs.entry.js +26 -17
  16. package/dist/cjs/ic-back-to-top.cjs.entry.js.map +1 -1
  17. package/dist/cjs/ic-badge.cjs.entry.js +86 -83
  18. package/dist/cjs/ic-badge.cjs.entry.js.map +1 -1
  19. package/dist/cjs/ic-breadcrumb-group.cjs.entry.js +62 -25
  20. package/dist/cjs/ic-breadcrumb-group.cjs.entry.js.map +1 -1
  21. package/dist/cjs/ic-breadcrumb.cjs.entry.js +2 -2
  22. package/dist/cjs/ic-breadcrumb.cjs.entry.js.map +1 -1
  23. package/dist/cjs/ic-button_3.cjs.entry.js +145 -103
  24. package/dist/cjs/ic-button_3.cjs.entry.js.map +1 -1
  25. package/dist/cjs/ic-card-horizontal.cjs.entry.js +130 -0
  26. package/dist/cjs/ic-card-horizontal.cjs.entry.js.map +1 -0
  27. package/dist/cjs/ic-card.cjs.entry.js +30 -7
  28. package/dist/cjs/ic-card.cjs.entry.js.map +1 -1
  29. package/dist/cjs/ic-checkbox-group.cjs.entry.js +28 -17
  30. package/dist/cjs/ic-checkbox-group.cjs.entry.js.map +1 -1
  31. package/dist/cjs/ic-checkbox.cjs.entry.js +50 -31
  32. package/dist/cjs/ic-checkbox.cjs.entry.js.map +1 -1
  33. package/dist/cjs/ic-chip.cjs.entry.js +45 -21
  34. package/dist/cjs/ic-chip.cjs.entry.js.map +1 -1
  35. package/dist/cjs/ic-classification-banner.cjs.entry.js +14 -5
  36. package/dist/cjs/ic-classification-banner.cjs.entry.js.map +1 -1
  37. package/dist/cjs/ic-data-entity.cjs.entry.js +3 -6
  38. package/dist/cjs/ic-data-entity.cjs.entry.js.map +1 -1
  39. package/dist/cjs/ic-data-row.cjs.entry.js +21 -35
  40. package/dist/cjs/ic-data-row.cjs.entry.js.map +1 -1
  41. package/dist/cjs/ic-data-table-title-bar.cjs.entry.js +57 -0
  42. package/dist/cjs/ic-data-table-title-bar.cjs.entry.js.map +1 -0
  43. package/dist/cjs/ic-data-table.cjs.entry.js +1079 -84
  44. package/dist/cjs/ic-data-table.cjs.entry.js.map +1 -1
  45. package/dist/cjs/ic-date-input.cjs.entry.js +1123 -0
  46. package/dist/cjs/ic-date-input.cjs.entry.js.map +1 -0
  47. package/dist/cjs/ic-date-picker.cjs.entry.js +1129 -0
  48. package/dist/cjs/ic-date-picker.cjs.entry.js.map +1 -0
  49. package/dist/cjs/ic-dialog.cjs.entry.js +54 -12
  50. package/dist/cjs/ic-dialog.cjs.entry.js.map +1 -1
  51. package/dist/cjs/ic-divider.cjs.entry.js +1 -1
  52. package/dist/cjs/ic-empty-state_2.cjs.entry.js +388 -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 +4 -4
  55. package/dist/cjs/ic-footer-link-group.cjs.entry.js.map +1 -1
  56. package/dist/cjs/ic-footer-link.cjs.entry.js +3 -3
  57. package/dist/cjs/ic-footer-link.cjs.entry.js.map +1 -1
  58. package/dist/cjs/ic-footer.cjs.entry.js +18 -7
  59. package/dist/cjs/ic-footer.cjs.entry.js.map +1 -1
  60. package/dist/cjs/ic-hero.cjs.entry.js +12 -2
  61. package/dist/cjs/ic-hero.cjs.entry.js.map +1 -1
  62. package/dist/cjs/ic-horizontal-scroll.cjs.entry.js +5 -5
  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 +164 -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 +34 -16
  67. package/dist/cjs/ic-link.cjs.entry.js.map +1 -1
  68. package/dist/cjs/ic-menu-group.cjs.entry.js +2 -2
  69. package/dist/cjs/ic-menu-group.cjs.entry.js.map +1 -1
  70. package/dist/cjs/ic-menu-item.cjs.entry.js +21 -20
  71. package/dist/cjs/ic-menu-item.cjs.entry.js.map +1 -1
  72. package/dist/cjs/ic-menu-with-multi.cjs.entry.js +2740 -0
  73. package/dist/cjs/ic-menu-with-multi.cjs.entry.js.map +1 -0
  74. package/dist/cjs/{ic-input-component-container_3.cjs.entry.js → ic-menu.cjs.entry.js} +17 -80
  75. package/dist/cjs/ic-menu.cjs.entry.js.map +1 -0
  76. package/dist/cjs/ic-navigation-button.cjs.entry.js +28 -7
  77. package/dist/cjs/ic-navigation-button.cjs.entry.js.map +1 -1
  78. package/dist/cjs/ic-navigation-group.cjs.entry.js +32 -22
  79. package/dist/cjs/ic-navigation-group.cjs.entry.js.map +1 -1
  80. package/dist/cjs/ic-navigation-item.cjs.entry.js +82 -36
  81. package/dist/cjs/ic-navigation-item.cjs.entry.js.map +1 -1
  82. package/dist/cjs/ic-navigation-menu.cjs.entry.js +1 -1
  83. package/dist/cjs/ic-page-header.cjs.entry.js +10 -10
  84. package/dist/cjs/ic-page-header.cjs.entry.js.map +1 -1
  85. package/dist/cjs/ic-pagination_4.cjs.entry.js +231 -116
  86. package/dist/cjs/ic-pagination_4.cjs.entry.js.map +1 -1
  87. package/dist/cjs/ic-popover-menu.cjs.entry.js +40 -36
  88. package/dist/cjs/ic-popover-menu.cjs.entry.js.map +1 -1
  89. package/dist/cjs/ic-radio-group.cjs.entry.js +100 -59
  90. package/dist/cjs/ic-radio-group.cjs.entry.js.map +1 -1
  91. package/dist/cjs/ic-radio-option.cjs.entry.js +59 -42
  92. package/dist/cjs/ic-radio-option.cjs.entry.js.map +1 -1
  93. package/dist/cjs/ic-search-bar.cjs.entry.js +22 -30
  94. package/dist/cjs/ic-search-bar.cjs.entry.js.map +1 -1
  95. package/dist/cjs/ic-section-container.cjs.entry.js +1 -1
  96. package/dist/cjs/ic-section-container.cjs.entry.js.map +1 -1
  97. package/dist/cjs/ic-select-with-multi.cjs.entry.js +796 -0
  98. package/dist/cjs/ic-select-with-multi.cjs.entry.js.map +1 -0
  99. package/dist/cjs/ic-side-navigation.cjs.entry.js +53 -73
  100. package/dist/cjs/ic-side-navigation.cjs.entry.js.map +1 -1
  101. package/dist/cjs/ic-skeleton.cjs.entry.js +16 -35
  102. package/dist/cjs/ic-skeleton.cjs.entry.js.map +1 -1
  103. package/dist/cjs/ic-status-tag.cjs.entry.js +4 -2
  104. package/dist/cjs/ic-status-tag.cjs.entry.js.map +1 -1
  105. package/dist/cjs/ic-step.cjs.entry.js +5 -2
  106. package/dist/cjs/ic-step.cjs.entry.js.map +1 -1
  107. package/dist/cjs/ic-stepper.cjs.entry.js +31 -9
  108. package/dist/cjs/ic-stepper.cjs.entry.js.map +1 -1
  109. package/dist/cjs/ic-switch.cjs.entry.js +7 -3
  110. package/dist/cjs/ic-switch.cjs.entry.js.map +1 -1
  111. package/dist/cjs/ic-tab-context.cjs.entry.js +78 -130
  112. package/dist/cjs/ic-tab-context.cjs.entry.js.map +1 -1
  113. package/dist/cjs/ic-tab-group.cjs.entry.js +1 -1
  114. package/dist/cjs/ic-tab-panel.cjs.entry.js +5 -13
  115. package/dist/cjs/ic-tab-panel.cjs.entry.js.map +1 -1
  116. package/dist/cjs/ic-tab.cjs.entry.js +16 -14
  117. package/dist/cjs/ic-tab.cjs.entry.js.map +1 -1
  118. package/dist/cjs/ic-theme.cjs.entry.js +13 -22
  119. package/dist/cjs/ic-theme.cjs.entry.js.map +1 -1
  120. package/dist/cjs/ic-toast-region.cjs.entry.js +6 -0
  121. package/dist/cjs/ic-toast-region.cjs.entry.js.map +1 -1
  122. package/dist/cjs/ic-toast.cjs.entry.js +21 -18
  123. package/dist/cjs/ic-toast.cjs.entry.js.map +1 -1
  124. package/dist/cjs/ic-toggle-button-group.cjs.entry.js +201 -0
  125. package/dist/cjs/ic-toggle-button-group.cjs.entry.js.map +1 -0
  126. package/dist/cjs/ic-toggle-button.cjs.entry.js +97 -0
  127. package/dist/cjs/ic-toggle-button.cjs.entry.js.map +1 -0
  128. package/dist/cjs/ic-top-navigation.cjs.entry.js +60 -82
  129. package/dist/cjs/ic-top-navigation.cjs.entry.js.map +1 -1
  130. package/dist/cjs/ic-tree-item.cjs.entry.js +253 -0
  131. package/dist/cjs/ic-tree-item.cjs.entry.js.map +1 -0
  132. package/dist/cjs/ic-tree-view.cjs.entry.js +215 -0
  133. package/dist/cjs/ic-tree-view.cjs.entry.js.map +1 -0
  134. package/dist/cjs/ic-typography.cjs.entry.js +51 -14
  135. package/dist/cjs/ic-typography.cjs.entry.js.map +1 -1
  136. package/dist/cjs/index-4cf27b16.js +48 -12
  137. package/dist/cjs/loader.cjs.js +1 -1
  138. package/dist/collection/assets/arrow-dropdown.svg +3 -0
  139. package/dist/collection/assets/calendar.svg +3 -0
  140. package/dist/collection/collection-manifest.json +11 -1
  141. package/dist/collection/components/ic-card-horizontal/ic-card-horizontal.css +658 -0
  142. package/dist/collection/components/ic-card-horizontal/ic-card-horizontal.js +375 -0
  143. package/dist/collection/components/ic-card-horizontal/ic-card-horizontal.js.map +1 -0
  144. package/dist/collection/components/ic-card-horizontal/ic-card-horizontal.stories.js +605 -0
  145. package/dist/collection/components/ic-card-horizontal/ic-card-horizontal.stories.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 +140 -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 +286 -10
  151. package/dist/collection/components/ic-data-table/ic-data-table.js +1533 -123
  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.stories.js +414 -0
  154. package/dist/collection/components/ic-data-table/ic-data-table.stories.js.map +1 -0
  155. package/dist/collection/components/ic-data-table/ic-data-table.types.js.map +1 -1
  156. package/dist/collection/components/ic-data-table/story-data.js +1326 -43
  157. package/dist/collection/components/ic-data-table/story-data.js.map +1 -1
  158. package/dist/collection/components/ic-data-table/test/basic/ic-data-table.spec.js +460 -3
  159. package/dist/collection/components/ic-data-table/test/basic/ic-data-table.spec.js.map +1 -1
  160. package/dist/collection/components/ic-data-table-title-bar/ic-data-table-title-bar.css +91 -0
  161. package/dist/collection/components/ic-data-table-title-bar/ic-data-table-title-bar.js +160 -0
  162. package/dist/collection/components/ic-data-table-title-bar/ic-data-table-title-bar.js.map +1 -0
  163. package/dist/collection/components/ic-data-table-title-bar/ic-data-table-title-bar.stories.js +98 -0
  164. package/dist/collection/components/ic-data-table-title-bar/ic-data-table-title-bar.stories.js.map +1 -0
  165. package/dist/collection/components/ic-data-table-title-bar/test/a11y/ic-data-table-title-bar.test.a11y.js +11 -0
  166. package/dist/collection/components/ic-data-table-title-bar/test/a11y/ic-data-table-title-bar.test.a11y.js.map +1 -0
  167. package/dist/collection/components/ic-data-table-title-bar/test/basic/ic-data-table-title-bar.spec.js +70 -0
  168. package/dist/collection/components/ic-data-table-title-bar/test/basic/ic-data-table-title-bar.spec.js.map +1 -0
  169. package/dist/collection/components/ic-date-input/ic-date-input.css +564 -0
  170. package/dist/collection/components/ic-date-input/ic-date-input.js +1808 -0
  171. package/dist/collection/components/ic-date-input/ic-date-input.js.map +1 -0
  172. package/dist/collection/components/ic-date-input/ic-date-input.stories.js +341 -0
  173. package/dist/collection/components/ic-date-input/ic-date-input.stories.js.map +1 -0
  174. package/dist/collection/components/ic-date-input/story-data.js +28 -0
  175. package/dist/collection/components/ic-date-input/story-data.js.map +1 -0
  176. package/dist/collection/components/ic-date-input/test/basic/ic-date-input.spec.js +1158 -0
  177. package/dist/collection/components/ic-date-input/test/basic/ic-date-input.spec.js.map +1 -0
  178. package/dist/collection/components/ic-date-input/test/helpers/ic-date-input.js +42 -0
  179. package/dist/collection/components/ic-date-input/test/helpers/ic-date-input.js.map +1 -0
  180. package/dist/collection/components/ic-date-picker/ic-date-picker.css +885 -0
  181. package/dist/collection/components/ic-date-picker/ic-date-picker.js +1688 -0
  182. package/dist/collection/components/ic-date-picker/ic-date-picker.js.map +1 -0
  183. package/dist/collection/components/ic-date-picker/ic-date-picker.stories.js +167 -0
  184. package/dist/collection/components/ic-date-picker/ic-date-picker.stories.js.map +1 -0
  185. package/dist/collection/components/ic-date-picker/ic-day-button.js +36 -0
  186. package/dist/collection/components/ic-date-picker/ic-day-button.js.map +1 -0
  187. package/dist/collection/components/ic-date-picker/ic-month-picker.js +29 -0
  188. package/dist/collection/components/ic-date-picker/ic-month-picker.js.map +1 -0
  189. package/dist/collection/components/ic-date-picker/ic-year-picker.js +39 -0
  190. package/dist/collection/components/ic-date-picker/ic-year-picker.js.map +1 -0
  191. package/dist/collection/components/ic-date-picker/story-data.js +179 -0
  192. package/dist/collection/components/ic-date-picker/story-data.js.map +1 -0
  193. package/dist/collection/components/ic-date-picker/test/a11y/ic-date-picker.test.a11y.js +13 -0
  194. package/dist/collection/components/ic-date-picker/test/a11y/ic-date-picker.test.a11y.js.map +1 -0
  195. package/dist/collection/components/ic-date-picker/test/basic/ic-date-picker-utils.spec.js +207 -0
  196. package/dist/collection/components/ic-date-picker/test/basic/ic-date-picker-utils.spec.js.map +1 -0
  197. package/dist/collection/components/ic-date-picker/test/basic/ic-date-picker.spec.js +1030 -0
  198. package/dist/collection/components/ic-date-picker/test/basic/ic-date-picker.spec.js.map +1 -0
  199. package/dist/collection/components/ic-menu-with-multi/ic-menu.css +701 -0
  200. package/dist/collection/components/ic-menu-with-multi/ic-menu.js +1599 -0
  201. package/dist/collection/components/ic-menu-with-multi/ic-menu.js.map +1 -0
  202. package/dist/collection/components/ic-menu-with-multi/test/basic/ic-menu.spec.js +1057 -0
  203. package/dist/collection/components/ic-menu-with-multi/test/basic/ic-menu.spec.js.map +1 -0
  204. package/dist/collection/components/ic-pagination-bar/ic-pagination-bar.js +346 -166
  205. package/dist/collection/components/ic-pagination-bar/ic-pagination-bar.js.map +1 -1
  206. package/dist/collection/components/ic-pagination-bar/ic-pagination-bar.stories.js +260 -0
  207. package/dist/collection/components/ic-pagination-bar/ic-pagination-bar.stories.js.map +1 -0
  208. package/dist/collection/components/ic-pagination-bar/ic-pagination-bar.types.js +2 -0
  209. package/dist/collection/components/ic-pagination-bar/ic-pagination-bar.types.js.map +1 -0
  210. package/dist/collection/components/ic-pagination-bar/test/a11y/ic-pagination-bar.test.a11y.js +8 -1
  211. package/dist/collection/components/ic-pagination-bar/test/a11y/ic-pagination-bar.test.a11y.js.map +1 -1
  212. package/dist/collection/components/ic-pagination-bar/test/basic/ic-pagination-bar.spec.js +75 -12
  213. package/dist/collection/components/ic-pagination-bar/test/basic/ic-pagination-bar.spec.js.map +1 -1
  214. package/dist/collection/components/ic-select-with-multi/assets/Check.svg +3 -0
  215. package/dist/collection/components/ic-select-with-multi/assets/Clear.svg +3 -0
  216. package/dist/collection/components/ic-select-with-multi/assets/Expand.svg +3 -0
  217. package/dist/collection/components/ic-select-with-multi/ic-select-multi.stories.js +144 -0
  218. package/dist/collection/components/ic-select-with-multi/ic-select-multi.stories.js.map +1 -0
  219. package/dist/collection/components/ic-select-with-multi/ic-select.css +693 -0
  220. package/dist/collection/components/ic-select-with-multi/ic-select.js +1649 -0
  221. package/dist/collection/components/ic-select-with-multi/ic-select.js.map +1 -0
  222. package/dist/collection/components/ic-select-with-multi/story-data.js +216 -0
  223. package/dist/collection/components/ic-select-with-multi/story-data.js.map +1 -0
  224. package/dist/collection/components/ic-select-with-multi/test/basic/ic-select.spec.js +1518 -0
  225. package/dist/collection/components/ic-select-with-multi/test/basic/ic-select.spec.js.map +1 -0
  226. package/dist/collection/components/ic-tree-item/ic-tree-item.css +186 -0
  227. package/dist/collection/components/ic-tree-item/ic-tree-item.js +620 -0
  228. package/dist/collection/components/ic-tree-item/ic-tree-item.js.map +1 -0
  229. package/dist/collection/components/ic-tree-item/test/basic/ic-tree-item.spec.js +117 -0
  230. package/dist/collection/components/ic-tree-item/test/basic/ic-tree-item.spec.js.map +1 -0
  231. package/dist/collection/components/ic-tree-view/ic-tree-view.css +74 -0
  232. package/dist/collection/components/ic-tree-view/ic-tree-view.js +346 -0
  233. package/dist/collection/components/ic-tree-view/ic-tree-view.js.map +1 -0
  234. package/dist/collection/components/ic-tree-view/ic-tree-view.stories.js +456 -0
  235. package/dist/collection/components/ic-tree-view/ic-tree-view.stories.js.map +1 -0
  236. package/dist/collection/components/ic-tree-view/test/basic/ic-tree-view.spec.js +85 -0
  237. package/dist/collection/components/ic-tree-view/test/basic/ic-tree-view.spec.js.map +1 -0
  238. package/dist/collection/utils/constants.js +83 -0
  239. package/dist/collection/utils/constants.js.map +1 -0
  240. package/dist/collection/utils/date-helpers.js +133 -0
  241. package/dist/collection/utils/date-helpers.js.map +1 -0
  242. package/dist/collection/utils/helpers.js +473 -5
  243. package/dist/collection/utils/helpers.js.map +1 -1
  244. package/dist/collection/utils/types.js +58 -0
  245. package/dist/collection/utils/types.js.map +1 -0
  246. package/dist/components/helpers.js +141 -98
  247. package/dist/components/helpers.js.map +1 -1
  248. package/dist/components/helpers2.js +403 -0
  249. package/dist/components/helpers2.js.map +1 -0
  250. package/dist/components/ic-accordion-group.js +38 -7
  251. package/dist/components/ic-accordion-group.js.map +1 -1
  252. package/dist/components/ic-accordion.js +12 -4
  253. package/dist/components/ic-accordion.js.map +1 -1
  254. package/dist/components/ic-alert2.js +21 -6
  255. package/dist/components/ic-alert2.js.map +1 -1
  256. package/dist/components/ic-back-to-top.js +34 -18
  257. package/dist/components/ic-back-to-top.js.map +1 -1
  258. package/dist/components/ic-badge.js +91 -84
  259. package/dist/components/ic-badge.js.map +1 -1
  260. package/dist/components/ic-breadcrumb-group.js +66 -25
  261. package/dist/components/ic-breadcrumb-group.js.map +1 -1
  262. package/dist/components/ic-breadcrumb2.js +2 -2
  263. package/dist/components/ic-breadcrumb2.js.map +1 -1
  264. package/dist/components/ic-button2.js +104 -74
  265. package/dist/components/ic-button2.js.map +1 -1
  266. package/dist/components/ic-card-horizontal.d.ts +11 -0
  267. package/dist/components/ic-card-horizontal.js +168 -0
  268. package/dist/components/ic-card-horizontal.js.map +1 -0
  269. package/dist/components/ic-card.js +34 -21
  270. package/dist/components/ic-card.js.map +1 -1
  271. package/dist/components/ic-checkbox-group.js +33 -18
  272. package/dist/components/ic-checkbox-group.js.map +1 -1
  273. package/dist/components/ic-checkbox.js +58 -33
  274. package/dist/components/ic-checkbox.js.map +1 -1
  275. package/dist/components/ic-chip.js +52 -23
  276. package/dist/components/ic-chip.js.map +1 -1
  277. package/dist/components/ic-classification-banner.js +14 -5
  278. package/dist/components/ic-classification-banner.js.map +1 -1
  279. package/dist/components/ic-data-entity.js +3 -6
  280. package/dist/components/ic-data-entity.js.map +1 -1
  281. package/dist/components/ic-data-row.js +21 -35
  282. package/dist/components/ic-data-row.js.map +1 -1
  283. package/dist/components/ic-data-table-title-bar.d.ts +11 -0
  284. package/dist/components/ic-data-table-title-bar.js +136 -0
  285. package/dist/components/ic-data-table-title-bar.js.map +1 -0
  286. package/dist/components/ic-data-table.js +1119 -91
  287. package/dist/components/ic-data-table.js.map +1 -1
  288. package/dist/components/ic-date-input.d.ts +11 -0
  289. package/dist/components/ic-date-input.js +8 -0
  290. package/dist/components/ic-date-input.js.map +1 -0
  291. package/dist/components/ic-date-input2.js +1359 -0
  292. package/dist/components/ic-date-input2.js.map +1 -0
  293. package/dist/components/ic-date-picker.d.ts +11 -0
  294. package/dist/components/ic-date-picker.js +1258 -0
  295. package/dist/components/ic-date-picker.js.map +1 -0
  296. package/dist/components/ic-dialog.js +55 -12
  297. package/dist/components/ic-dialog.js.map +1 -1
  298. package/dist/components/ic-divider2.js +1 -1
  299. package/dist/components/ic-empty-state.js +1 -57
  300. package/dist/components/ic-empty-state.js.map +1 -1
  301. package/dist/{esm/ic-empty-state.entry.js → components/ic-empty-state2.js} +47 -11
  302. package/dist/components/ic-empty-state2.js.map +1 -0
  303. package/dist/components/ic-footer-link-group.js +4 -4
  304. package/dist/components/ic-footer-link-group.js.map +1 -1
  305. package/dist/components/ic-footer-link.js +3 -3
  306. package/dist/components/ic-footer-link.js.map +1 -1
  307. package/dist/components/ic-footer.js +18 -7
  308. package/dist/components/ic-footer.js.map +1 -1
  309. package/dist/components/ic-hero.js +12 -2
  310. package/dist/components/ic-hero.js.map +1 -1
  311. package/dist/components/ic-horizontal-scroll2.js +5 -5
  312. package/dist/components/ic-horizontal-scroll2.js.map +1 -1
  313. package/dist/components/ic-input-component-container2.js +24 -8
  314. package/dist/components/ic-input-component-container2.js.map +1 -1
  315. package/dist/components/ic-input-label2.js +7 -5
  316. package/dist/components/ic-input-label2.js.map +1 -1
  317. package/dist/components/ic-input-validation2.js +1 -1
  318. package/dist/components/ic-link2.js +35 -17
  319. package/dist/components/ic-link2.js.map +1 -1
  320. package/dist/components/ic-loading-indicator2.js +2 -2
  321. package/dist/components/ic-loading-indicator2.js.map +1 -1
  322. package/dist/components/ic-menu-group.js +2 -2
  323. package/dist/components/ic-menu-group.js.map +1 -1
  324. package/dist/components/ic-menu-item2.js +26 -23
  325. package/dist/components/ic-menu-item2.js.map +1 -1
  326. package/dist/components/ic-menu-with-multi.d.ts +11 -0
  327. package/dist/components/ic-menu-with-multi.js +8 -0
  328. package/dist/components/ic-menu-with-multi.js.map +1 -0
  329. package/dist/components/ic-menu2.js +14 -14
  330. package/dist/components/ic-menu2.js.map +1 -1
  331. package/dist/components/ic-menu3.js +2806 -0
  332. package/dist/components/ic-menu3.js.map +1 -0
  333. package/dist/components/ic-navigation-button.js +29 -8
  334. package/dist/components/ic-navigation-button.js.map +1 -1
  335. package/dist/components/ic-navigation-group.js +34 -24
  336. package/dist/components/ic-navigation-group.js.map +1 -1
  337. package/dist/components/ic-navigation-item.js +84 -37
  338. package/dist/components/ic-navigation-item.js.map +1 -1
  339. package/dist/components/ic-navigation-menu2.js +1 -1
  340. package/dist/components/ic-page-header.js +10 -10
  341. package/dist/components/ic-page-header.js.map +1 -1
  342. package/dist/components/ic-pagination-bar2.js +244 -161
  343. package/dist/components/ic-pagination-bar2.js.map +1 -1
  344. package/dist/components/ic-pagination-item2.js +27 -12
  345. package/dist/components/ic-pagination-item2.js.map +1 -1
  346. package/dist/components/ic-pagination2.js +30 -10
  347. package/dist/components/ic-pagination2.js.map +1 -1
  348. package/dist/components/ic-popover-menu.js +43 -38
  349. package/dist/components/ic-popover-menu.js.map +1 -1
  350. package/dist/components/ic-radio-group.js +101 -59
  351. package/dist/components/ic-radio-group.js.map +1 -1
  352. package/dist/components/ic-radio-option.js +63 -44
  353. package/dist/components/ic-radio-option.js.map +1 -1
  354. package/dist/components/ic-search-bar.js +23 -30
  355. package/dist/components/ic-search-bar.js.map +1 -1
  356. package/dist/components/ic-section-container2.js +1 -1
  357. package/dist/components/ic-section-container2.js.map +1 -1
  358. package/dist/components/ic-select-with-multi.d.ts +11 -0
  359. package/dist/components/ic-select-with-multi.js +921 -0
  360. package/dist/components/ic-select-with-multi.js.map +1 -0
  361. package/dist/components/ic-select2.js +77 -30
  362. package/dist/components/ic-select2.js.map +1 -1
  363. package/dist/components/ic-side-navigation.js +56 -74
  364. package/dist/components/ic-side-navigation.js.map +1 -1
  365. package/dist/components/ic-skeleton.js +17 -40
  366. package/dist/components/ic-skeleton.js.map +1 -1
  367. package/dist/components/ic-status-tag.js +3 -1
  368. package/dist/components/ic-status-tag.js.map +1 -1
  369. package/dist/components/ic-step.js +5 -2
  370. package/dist/components/ic-step.js.map +1 -1
  371. package/dist/components/ic-stepper.js +35 -9
  372. package/dist/components/ic-stepper.js.map +1 -1
  373. package/dist/components/ic-switch.js +9 -4
  374. package/dist/components/ic-switch.js.map +1 -1
  375. package/dist/components/ic-tab-context.js +79 -130
  376. package/dist/components/ic-tab-context.js.map +1 -1
  377. package/dist/components/ic-tab-panel.js +6 -17
  378. package/dist/components/ic-tab-panel.js.map +1 -1
  379. package/dist/components/ic-tab.js +16 -14
  380. package/dist/components/ic-tab.js.map +1 -1
  381. package/dist/components/ic-text-field2.js +120 -72
  382. package/dist/components/ic-text-field2.js.map +1 -1
  383. package/dist/components/ic-theme.js +13 -22
  384. package/dist/components/ic-theme.js.map +1 -1
  385. package/dist/components/ic-toast-region.js +6 -0
  386. package/dist/components/ic-toast-region.js.map +1 -1
  387. package/dist/components/ic-toast.js +24 -19
  388. package/dist/components/ic-toast.js.map +1 -1
  389. package/dist/components/ic-toggle-button-group.js +230 -0
  390. package/dist/components/ic-toggle-button-group.js.map +1 -0
  391. package/dist/components/ic-toggle-button.js +148 -0
  392. package/dist/components/ic-toggle-button.js.map +1 -0
  393. package/dist/components/ic-tooltip2.js +52 -30
  394. package/dist/components/ic-tooltip2.js.map +1 -1
  395. package/dist/components/ic-top-navigation.js +61 -83
  396. package/dist/components/ic-top-navigation.js.map +1 -1
  397. package/dist/components/ic-tree-item.d.ts +11 -0
  398. package/dist/components/ic-tree-item.js +300 -0
  399. package/dist/components/ic-tree-item.js.map +1 -0
  400. package/dist/components/ic-tree-view.d.ts +11 -0
  401. package/dist/components/ic-tree-view.js +252 -0
  402. package/dist/components/ic-tree-view.js.map +1 -0
  403. package/dist/components/ic-typography2.js +57 -17
  404. package/dist/components/ic-typography2.js.map +1 -1
  405. package/dist/core/core.css +8 -5
  406. package/dist/core/core.esm.js +1 -1
  407. package/dist/core/core.esm.js.map +1 -1
  408. package/dist/core/p-0229eb46.entry.js +2 -0
  409. package/dist/core/p-0229eb46.entry.js.map +1 -0
  410. package/dist/core/p-04fe848d.entry.js +2 -0
  411. package/dist/core/p-04fe848d.entry.js.map +1 -0
  412. package/dist/core/p-05ae9a59.entry.js +2 -0
  413. package/dist/core/p-05ae9a59.entry.js.map +1 -0
  414. package/dist/core/p-074e64d0.entry.js +2 -0
  415. package/dist/core/p-074e64d0.entry.js.map +1 -0
  416. package/dist/core/p-0f1706e8.entry.js +2 -0
  417. package/dist/core/p-0f1706e8.entry.js.map +1 -0
  418. package/dist/core/p-11877d23.entry.js +2 -0
  419. package/dist/core/p-11877d23.entry.js.map +1 -0
  420. package/dist/core/p-1e450833.entry.js +2 -0
  421. package/dist/core/p-1e450833.entry.js.map +1 -0
  422. package/dist/core/{p-4409f656.entry.js → p-23408776.entry.js} +2 -2
  423. package/dist/core/p-23408776.entry.js.map +1 -0
  424. package/dist/core/p-26fa17fb.entry.js +2 -0
  425. package/dist/core/p-26fa17fb.entry.js.map +1 -0
  426. package/dist/core/p-2b15ea77.entry.js +2 -0
  427. package/dist/core/p-2b15ea77.entry.js.map +1 -0
  428. package/dist/core/p-2d44b81a.entry.js +2 -0
  429. package/dist/core/p-2d44b81a.entry.js.map +1 -0
  430. package/dist/core/p-2ea7af8b.entry.js +2 -0
  431. package/dist/core/p-2ea7af8b.entry.js.map +1 -0
  432. package/dist/core/p-33dd24eb.js +2 -0
  433. package/dist/core/p-33dd24eb.js.map +1 -0
  434. package/dist/core/p-38f329ab.entry.js +2 -0
  435. package/dist/core/p-38f329ab.entry.js.map +1 -0
  436. package/dist/core/p-3cd2056f.entry.js +2 -0
  437. package/dist/core/p-3cd2056f.entry.js.map +1 -0
  438. package/dist/core/p-3d00ad9e.entry.js +2 -0
  439. package/dist/core/p-3d00ad9e.entry.js.map +1 -0
  440. package/dist/core/p-3ebd4703.entry.js +2 -0
  441. package/dist/core/p-3ebd4703.entry.js.map +1 -0
  442. package/dist/core/p-44036532.entry.js +2 -0
  443. package/dist/core/p-44036532.entry.js.map +1 -0
  444. package/dist/core/p-44680720.entry.js +2 -0
  445. package/dist/core/p-44680720.entry.js.map +1 -0
  446. package/dist/core/{p-24945ee5.entry.js → p-452985d9.entry.js} +2 -2
  447. package/dist/core/p-452985d9.entry.js.map +1 -0
  448. package/dist/core/{p-b97dc365.entry.js → p-487fd924.entry.js} +2 -2
  449. package/dist/core/p-56db5123.entry.js +2 -0
  450. package/dist/core/p-56db5123.entry.js.map +1 -0
  451. package/dist/core/p-5a90eaa8.entry.js +2 -0
  452. package/dist/core/p-5a90eaa8.entry.js.map +1 -0
  453. package/dist/core/p-5dd6381a.entry.js +2 -0
  454. package/dist/core/p-5dd6381a.entry.js.map +1 -0
  455. package/dist/core/p-5f149106.entry.js +2 -0
  456. package/dist/core/p-5f149106.entry.js.map +1 -0
  457. package/dist/core/p-61848e6b.entry.js +2 -0
  458. package/dist/core/p-61848e6b.entry.js.map +1 -0
  459. package/dist/core/{p-d77960f6.entry.js → p-656378ba.entry.js} +2 -2
  460. package/dist/core/p-6a920114.entry.js +2 -0
  461. package/dist/core/p-6a920114.entry.js.map +1 -0
  462. package/dist/core/p-6cdf5de2.entry.js +2 -0
  463. package/dist/core/p-6cdf5de2.entry.js.map +1 -0
  464. package/dist/core/p-70ad364c.entry.js +2 -0
  465. package/dist/core/p-70ad364c.entry.js.map +1 -0
  466. package/dist/core/p-70c659ec.entry.js +2 -0
  467. package/dist/core/p-70c659ec.entry.js.map +1 -0
  468. package/dist/core/p-74b42302.entry.js +2 -0
  469. package/dist/core/p-74b42302.entry.js.map +1 -0
  470. package/dist/core/p-75bd12f8.entry.js +2 -0
  471. package/dist/core/p-75bd12f8.entry.js.map +1 -0
  472. package/dist/core/p-780294b8.entry.js +2 -0
  473. package/dist/core/p-780294b8.entry.js.map +1 -0
  474. package/dist/core/{p-baf81f30.entry.js → p-787ffd96.entry.js} +2 -2
  475. package/dist/core/p-787ffd96.entry.js.map +1 -0
  476. package/dist/core/p-7edc19be.entry.js +2 -0
  477. package/dist/core/p-7edc19be.entry.js.map +1 -0
  478. package/dist/core/p-8ab58daa.js +2 -0
  479. package/dist/core/p-8ab58daa.js.map +1 -0
  480. package/dist/core/p-8ced1495.entry.js +2 -0
  481. package/dist/core/p-8ced1495.entry.js.map +1 -0
  482. package/dist/core/{p-939baa93.entry.js → p-95545b4c.entry.js} +2 -2
  483. package/dist/core/p-95545b4c.entry.js.map +1 -0
  484. package/dist/core/p-95d057b8.entry.js +2 -0
  485. package/dist/core/p-95d057b8.entry.js.map +1 -0
  486. package/dist/core/p-987cd821.entry.js +2 -0
  487. package/dist/core/p-987cd821.entry.js.map +1 -0
  488. package/dist/core/{p-41aa0ed3.entry.js → p-9b386822.entry.js} +2 -2
  489. package/dist/core/p-9b386822.entry.js.map +1 -0
  490. package/dist/core/{p-39e20b87.entry.js → p-9bbe221f.entry.js} +2 -2
  491. package/dist/core/{p-39e20b87.entry.js.map → p-9bbe221f.entry.js.map} +1 -1
  492. package/dist/core/p-9f157649.entry.js +2 -0
  493. package/dist/core/p-9f157649.entry.js.map +1 -0
  494. package/dist/core/{p-356b8a4c.entry.js → p-9f3cf053.entry.js} +2 -2
  495. package/dist/core/{p-356b8a4c.entry.js.map → p-9f3cf053.entry.js.map} +1 -1
  496. package/dist/core/p-9f58998d.entry.js +2 -0
  497. package/dist/core/p-9f58998d.entry.js.map +1 -0
  498. package/dist/core/p-a4f28ef1.entry.js +2 -0
  499. package/dist/core/p-a4f28ef1.entry.js.map +1 -0
  500. package/dist/core/p-ac8090a5.entry.js +2 -0
  501. package/dist/core/p-ac8090a5.entry.js.map +1 -0
  502. package/dist/core/p-b1f89f44.entry.js +2 -0
  503. package/dist/core/p-b1f89f44.entry.js.map +1 -0
  504. package/dist/core/p-bc350ec5.entry.js +2 -0
  505. package/dist/core/p-bc350ec5.entry.js.map +1 -0
  506. package/dist/core/p-bd0328f3.entry.js +2 -0
  507. package/dist/core/p-bd0328f3.entry.js.map +1 -0
  508. package/dist/core/p-bf06977d.js +2 -0
  509. package/dist/core/p-bf06977d.js.map +1 -0
  510. package/dist/core/p-c0a2a040.entry.js +2 -0
  511. package/dist/core/p-c0a2a040.entry.js.map +1 -0
  512. package/dist/core/p-cc0e0b46.entry.js +2 -0
  513. package/dist/core/p-cc0e0b46.entry.js.map +1 -0
  514. package/dist/core/p-d0020f6f.entry.js +2 -0
  515. package/dist/core/p-d0020f6f.entry.js.map +1 -0
  516. package/dist/core/{p-3d618bc2.entry.js → p-d1045cd5.entry.js} +2 -2
  517. package/dist/core/p-d56248df.entry.js +2 -0
  518. package/dist/core/p-d56248df.entry.js.map +1 -0
  519. package/dist/core/p-d921dc2c.entry.js +2 -0
  520. package/dist/core/p-d921dc2c.entry.js.map +1 -0
  521. package/dist/core/p-da398a5d.entry.js +2 -0
  522. package/dist/core/p-da398a5d.entry.js.map +1 -0
  523. package/dist/core/{p-2e9e8e7c.entry.js → p-db5af9f7.entry.js} +2 -2
  524. package/dist/core/p-db5af9f7.entry.js.map +1 -0
  525. package/dist/core/p-dd4c83ad.entry.js +2 -0
  526. package/dist/core/p-dd4c83ad.entry.js.map +1 -0
  527. package/dist/core/p-e362b5f3.entry.js +2 -0
  528. package/dist/core/p-e362b5f3.entry.js.map +1 -0
  529. package/dist/core/p-e89c2feb.entry.js +2 -0
  530. package/dist/core/p-e89c2feb.entry.js.map +1 -0
  531. package/dist/core/p-eaeaa096.entry.js +2 -0
  532. package/dist/core/p-eaeaa096.entry.js.map +1 -0
  533. package/dist/core/{p-c2b5e7b1.entry.js → p-eb87b43b.entry.js} +2 -2
  534. package/dist/core/{p-c2b5e7b1.entry.js.map → p-eb87b43b.entry.js.map} +1 -1
  535. package/dist/core/p-f5dfcf4f.entry.js +2 -0
  536. package/dist/core/p-f5dfcf4f.entry.js.map +1 -0
  537. package/dist/core/p-f5fbfbc9.entry.js +2 -0
  538. package/dist/core/p-f5fbfbc9.entry.js.map +1 -0
  539. package/dist/core/p-fac387e8.entry.js +2 -0
  540. package/dist/core/p-fac387e8.entry.js.map +1 -0
  541. package/dist/esm/core.js +1 -1
  542. package/dist/esm/date-helpers-0e5e32a7.js +136 -0
  543. package/dist/esm/date-helpers-0e5e32a7.js.map +1 -0
  544. package/dist/esm/helpers-948df101.js +403 -0
  545. package/dist/esm/helpers-948df101.js.map +1 -0
  546. package/dist/esm/{helpers-268c2b7f.js → helpers-cd64688a.js} +142 -99
  547. package/dist/esm/helpers-cd64688a.js.map +1 -0
  548. package/dist/esm/ic-accordion-group.entry.js +31 -4
  549. package/dist/esm/ic-accordion-group.entry.js.map +1 -1
  550. package/dist/esm/ic-accordion.entry.js +11 -4
  551. package/dist/esm/ic-accordion.entry.js.map +1 -1
  552. package/dist/esm/ic-alert.entry.js +20 -6
  553. package/dist/esm/ic-alert.entry.js.map +1 -1
  554. package/dist/esm/ic-back-to-top.entry.js +26 -17
  555. package/dist/esm/ic-back-to-top.entry.js.map +1 -1
  556. package/dist/esm/ic-badge.entry.js +86 -83
  557. package/dist/esm/ic-badge.entry.js.map +1 -1
  558. package/dist/esm/ic-breadcrumb-group.entry.js +62 -25
  559. package/dist/esm/ic-breadcrumb-group.entry.js.map +1 -1
  560. package/dist/esm/ic-breadcrumb.entry.js +2 -2
  561. package/dist/esm/ic-breadcrumb.entry.js.map +1 -1
  562. package/dist/esm/ic-button_3.entry.js +145 -103
  563. package/dist/esm/ic-button_3.entry.js.map +1 -1
  564. package/dist/esm/ic-card-horizontal.entry.js +126 -0
  565. package/dist/esm/ic-card-horizontal.entry.js.map +1 -0
  566. package/dist/esm/ic-card.entry.js +30 -7
  567. package/dist/esm/ic-card.entry.js.map +1 -1
  568. package/dist/esm/ic-checkbox-group.entry.js +28 -17
  569. package/dist/esm/ic-checkbox-group.entry.js.map +1 -1
  570. package/dist/esm/ic-checkbox.entry.js +50 -31
  571. package/dist/esm/ic-checkbox.entry.js.map +1 -1
  572. package/dist/esm/ic-chip.entry.js +45 -21
  573. package/dist/esm/ic-chip.entry.js.map +1 -1
  574. package/dist/esm/ic-classification-banner.entry.js +14 -5
  575. package/dist/esm/ic-classification-banner.entry.js.map +1 -1
  576. package/dist/esm/ic-data-entity.entry.js +3 -6
  577. package/dist/esm/ic-data-entity.entry.js.map +1 -1
  578. package/dist/esm/ic-data-row.entry.js +21 -35
  579. package/dist/esm/ic-data-row.entry.js.map +1 -1
  580. package/dist/esm/ic-data-table-title-bar.entry.js +53 -0
  581. package/dist/esm/ic-data-table-title-bar.entry.js.map +1 -0
  582. package/dist/esm/ic-data-table.entry.js +1080 -85
  583. package/dist/esm/ic-data-table.entry.js.map +1 -1
  584. package/dist/esm/ic-date-input.entry.js +1119 -0
  585. package/dist/esm/ic-date-input.entry.js.map +1 -0
  586. package/dist/esm/ic-date-picker.entry.js +1125 -0
  587. package/dist/esm/ic-date-picker.entry.js.map +1 -0
  588. package/dist/esm/ic-dialog.entry.js +54 -12
  589. package/dist/esm/ic-dialog.entry.js.map +1 -1
  590. package/dist/esm/ic-divider.entry.js +1 -1
  591. package/dist/esm/ic-empty-state_2.entry.js +383 -0
  592. package/dist/esm/ic-empty-state_2.entry.js.map +1 -0
  593. package/dist/esm/ic-footer-link-group.entry.js +4 -4
  594. package/dist/esm/ic-footer-link-group.entry.js.map +1 -1
  595. package/dist/esm/ic-footer-link.entry.js +3 -3
  596. package/dist/esm/ic-footer-link.entry.js.map +1 -1
  597. package/dist/esm/ic-footer.entry.js +18 -7
  598. package/dist/esm/ic-footer.entry.js.map +1 -1
  599. package/dist/esm/ic-hero.entry.js +12 -2
  600. package/dist/esm/ic-hero.entry.js.map +1 -1
  601. package/dist/esm/ic-horizontal-scroll.entry.js +5 -5
  602. package/dist/esm/ic-horizontal-scroll.entry.js.map +1 -1
  603. package/dist/esm/ic-input-component-container_4.entry.js +157 -0
  604. package/dist/esm/ic-input-component-container_4.entry.js.map +1 -0
  605. package/dist/esm/ic-link.entry.js +35 -17
  606. package/dist/esm/ic-link.entry.js.map +1 -1
  607. package/dist/esm/ic-menu-group.entry.js +2 -2
  608. package/dist/esm/ic-menu-group.entry.js.map +1 -1
  609. package/dist/esm/ic-menu-item.entry.js +21 -20
  610. package/dist/esm/ic-menu-item.entry.js.map +1 -1
  611. package/dist/esm/ic-menu-with-multi.entry.js +2736 -0
  612. package/dist/esm/ic-menu-with-multi.entry.js.map +1 -0
  613. package/dist/esm/{ic-input-component-container_3.entry.js → ic-menu.entry.js} +19 -80
  614. package/dist/esm/ic-menu.entry.js.map +1 -0
  615. package/dist/esm/ic-navigation-button.entry.js +29 -8
  616. package/dist/esm/ic-navigation-button.entry.js.map +1 -1
  617. package/dist/esm/ic-navigation-group.entry.js +33 -23
  618. package/dist/esm/ic-navigation-group.entry.js.map +1 -1
  619. package/dist/esm/ic-navigation-item.entry.js +83 -37
  620. package/dist/esm/ic-navigation-item.entry.js.map +1 -1
  621. package/dist/esm/ic-navigation-menu.entry.js +1 -1
  622. package/dist/esm/ic-page-header.entry.js +10 -10
  623. package/dist/esm/ic-page-header.entry.js.map +1 -1
  624. package/dist/esm/ic-pagination_4.entry.js +232 -117
  625. package/dist/esm/ic-pagination_4.entry.js.map +1 -1
  626. package/dist/esm/ic-popover-menu.entry.js +40 -36
  627. package/dist/esm/ic-popover-menu.entry.js.map +1 -1
  628. package/dist/esm/ic-radio-group.entry.js +100 -59
  629. package/dist/esm/ic-radio-group.entry.js.map +1 -1
  630. package/dist/esm/ic-radio-option.entry.js +59 -42
  631. package/dist/esm/ic-radio-option.entry.js.map +1 -1
  632. package/dist/esm/ic-search-bar.entry.js +22 -30
  633. package/dist/esm/ic-search-bar.entry.js.map +1 -1
  634. package/dist/esm/ic-section-container.entry.js +1 -1
  635. package/dist/esm/ic-section-container.entry.js.map +1 -1
  636. package/dist/esm/ic-select-with-multi.entry.js +792 -0
  637. package/dist/esm/ic-select-with-multi.entry.js.map +1 -0
  638. package/dist/esm/ic-side-navigation.entry.js +53 -73
  639. package/dist/esm/ic-side-navigation.entry.js.map +1 -1
  640. package/dist/esm/ic-skeleton.entry.js +16 -35
  641. package/dist/esm/ic-skeleton.entry.js.map +1 -1
  642. package/dist/esm/ic-status-tag.entry.js +4 -2
  643. package/dist/esm/ic-status-tag.entry.js.map +1 -1
  644. package/dist/esm/ic-step.entry.js +5 -2
  645. package/dist/esm/ic-step.entry.js.map +1 -1
  646. package/dist/esm/ic-stepper.entry.js +31 -9
  647. package/dist/esm/ic-stepper.entry.js.map +1 -1
  648. package/dist/esm/ic-switch.entry.js +7 -3
  649. package/dist/esm/ic-switch.entry.js.map +1 -1
  650. package/dist/esm/ic-tab-context.entry.js +78 -130
  651. package/dist/esm/ic-tab-context.entry.js.map +1 -1
  652. package/dist/esm/ic-tab-group.entry.js +1 -1
  653. package/dist/esm/ic-tab-panel.entry.js +5 -13
  654. package/dist/esm/ic-tab-panel.entry.js.map +1 -1
  655. package/dist/esm/ic-tab.entry.js +16 -14
  656. package/dist/esm/ic-tab.entry.js.map +1 -1
  657. package/dist/esm/ic-theme.entry.js +13 -22
  658. package/dist/esm/ic-theme.entry.js.map +1 -1
  659. package/dist/esm/ic-toast-region.entry.js +6 -0
  660. package/dist/esm/ic-toast-region.entry.js.map +1 -1
  661. package/dist/esm/ic-toast.entry.js +21 -18
  662. package/dist/esm/ic-toast.entry.js.map +1 -1
  663. package/dist/esm/ic-toggle-button-group.entry.js +197 -0
  664. package/dist/esm/ic-toggle-button-group.entry.js.map +1 -0
  665. package/dist/esm/ic-toggle-button.entry.js +93 -0
  666. package/dist/esm/ic-toggle-button.entry.js.map +1 -0
  667. package/dist/esm/ic-top-navigation.entry.js +60 -82
  668. package/dist/esm/ic-top-navigation.entry.js.map +1 -1
  669. package/dist/esm/ic-tree-item.entry.js +249 -0
  670. package/dist/esm/ic-tree-item.entry.js.map +1 -0
  671. package/dist/esm/ic-tree-view.entry.js +211 -0
  672. package/dist/esm/ic-tree-view.entry.js.map +1 -0
  673. package/dist/esm/ic-typography.entry.js +52 -15
  674. package/dist/esm/ic-typography.entry.js.map +1 -1
  675. package/dist/esm/index-93509377.js +48 -12
  676. package/dist/esm/loader.js +1 -1
  677. package/dist/types/components/ic-card-horizontal/ic-card-horizontal.d.ts +71 -0
  678. package/dist/types/components/ic-card-horizontal/ic-card-horizontal.stories.d.ts +82 -0
  679. package/dist/types/components/ic-card-horizontal/ic-card-horizontal.types.d.ts +1 -0
  680. package/dist/types/components/ic-data-table/ic-data-table.d.ts +218 -19
  681. package/dist/types/components/ic-data-table/ic-data-table.stories.d.ts +239 -0
  682. package/dist/types/components/ic-data-table/ic-data-table.types.d.ts +43 -0
  683. package/dist/types/components/ic-data-table/story-data.d.ts +492 -2
  684. package/dist/types/components/ic-data-table-title-bar/ic-data-table-title-bar.d.ts +36 -0
  685. package/dist/types/components/ic-data-table-title-bar/ic-data-table-title-bar.stories.d.ts +47 -0
  686. package/dist/types/components/ic-data-table-title-bar/test/a11y/ic-data-table-title-bar.test.a11y.d.ts +1 -0
  687. package/dist/types/components/ic-date-input/ic-date-input.d.ts +264 -0
  688. package/dist/types/components/ic-date-input/ic-date-input.stories.d.ts +124 -0
  689. package/dist/types/components/ic-date-input/story-data.d.ts +1 -0
  690. package/dist/types/components/ic-date-input/test/helpers/ic-date-input.d.ts +23 -0
  691. package/dist/types/components/ic-date-picker/ic-date-picker.d.ts +262 -0
  692. package/dist/types/components/ic-date-picker/ic-date-picker.stories.d.ts +153 -0
  693. package/dist/types/components/ic-date-picker/ic-day-button.d.ts +16 -0
  694. package/dist/types/components/ic-date-picker/ic-month-picker.d.ts +14 -0
  695. package/dist/types/components/ic-date-picker/ic-year-picker.d.ts +16 -0
  696. package/dist/types/components/ic-date-picker/story-data.d.ts +24 -0
  697. package/dist/types/components/ic-date-picker/test/a11y/ic-date-picker.test.a11y.d.ts +1 -0
  698. package/dist/types/components/ic-menu-with-multi/ic-menu.d.ts +218 -0
  699. package/dist/types/components/ic-pagination-bar/ic-pagination-bar.d.ts +65 -23
  700. package/dist/types/components/ic-pagination-bar/ic-pagination-bar.stories.d.ts +106 -0
  701. package/dist/types/components/ic-pagination-bar/ic-pagination-bar.types.d.ts +4 -0
  702. package/dist/types/components/ic-select-with-multi/ic-select-multi.stories.d.ts +106 -0
  703. package/dist/types/components/ic-select-with-multi/ic-select.d.ts +289 -0
  704. package/dist/types/components/ic-select-with-multi/story-data.d.ts +32 -0
  705. package/dist/types/components/ic-tree-item/ic-tree-item.d.ts +101 -0
  706. package/dist/types/components/ic-tree-view/ic-tree-view.d.ts +51 -0
  707. package/dist/types/components/ic-tree-view/ic-tree-view.stories.d.ts +99 -0
  708. package/dist/types/components.d.ts +1711 -127
  709. package/dist/types/interface.d.ts +1 -0
  710. package/dist/types/utils/constants.d.ts +38 -0
  711. package/dist/types/utils/date-helpers.d.ts +22 -0
  712. package/dist/types/utils/helpers.d.ts +144 -2
  713. package/dist/types/utils/types.d.ts +126 -0
  714. package/hydrate/index.js +18298 -9132
  715. package/package.json +27 -17
  716. package/dist/cjs/helpers-bbe55215.js.map +0 -1
  717. package/dist/cjs/ic-empty-state.cjs.entry.js +0 -38
  718. package/dist/cjs/ic-empty-state.cjs.entry.js.map +0 -1
  719. package/dist/cjs/ic-input-component-container_3.cjs.entry.js.map +0 -1
  720. package/dist/cjs/ic-input-label_2.cjs.entry.js +0 -86
  721. package/dist/cjs/ic-input-label_2.cjs.entry.js.map +0 -1
  722. package/dist/cjs/ic-pagination-bar.cjs.entry.js +0 -285
  723. package/dist/cjs/ic-pagination-bar.cjs.entry.js.map +0 -1
  724. package/dist/collection/components/ic-pagination/ic-pagination.types.js +0 -2
  725. package/dist/collection/components/ic-pagination/ic-pagination.types.js.map +0 -1
  726. package/dist/core/p-0083465b.entry.js +0 -2
  727. package/dist/core/p-0083465b.entry.js.map +0 -1
  728. package/dist/core/p-03487f12.entry.js +0 -2
  729. package/dist/core/p-03487f12.entry.js.map +0 -1
  730. package/dist/core/p-03f8fa1a.entry.js +0 -2
  731. package/dist/core/p-03f8fa1a.entry.js.map +0 -1
  732. package/dist/core/p-0c18b6a0.entry.js +0 -2
  733. package/dist/core/p-0c18b6a0.entry.js.map +0 -1
  734. package/dist/core/p-1bc034aa.entry.js +0 -2
  735. package/dist/core/p-1bc034aa.entry.js.map +0 -1
  736. package/dist/core/p-20a76d1d.entry.js +0 -2
  737. package/dist/core/p-20a76d1d.entry.js.map +0 -1
  738. package/dist/core/p-24945ee5.entry.js.map +0 -1
  739. package/dist/core/p-2dc35696.entry.js +0 -2
  740. package/dist/core/p-2dc35696.entry.js.map +0 -1
  741. package/dist/core/p-2e9e8e7c.entry.js.map +0 -1
  742. package/dist/core/p-3ee25a6d.entry.js +0 -2
  743. package/dist/core/p-3ee25a6d.entry.js.map +0 -1
  744. package/dist/core/p-41aa0ed3.entry.js.map +0 -1
  745. package/dist/core/p-4314aa0e.entry.js +0 -2
  746. package/dist/core/p-4314aa0e.entry.js.map +0 -1
  747. package/dist/core/p-4409f656.entry.js.map +0 -1
  748. package/dist/core/p-47abbd06.entry.js +0 -2
  749. package/dist/core/p-47abbd06.entry.js.map +0 -1
  750. package/dist/core/p-485823b6.entry.js +0 -2
  751. package/dist/core/p-485823b6.entry.js.map +0 -1
  752. package/dist/core/p-4ee59448.entry.js +0 -2
  753. package/dist/core/p-4ee59448.entry.js.map +0 -1
  754. package/dist/core/p-5157cfab.entry.js +0 -2
  755. package/dist/core/p-5157cfab.entry.js.map +0 -1
  756. package/dist/core/p-53083575.entry.js +0 -2
  757. package/dist/core/p-53083575.entry.js.map +0 -1
  758. package/dist/core/p-55d5541f.entry.js +0 -2
  759. package/dist/core/p-55d5541f.entry.js.map +0 -1
  760. package/dist/core/p-5bb32ee6.entry.js +0 -2
  761. package/dist/core/p-5bb32ee6.entry.js.map +0 -1
  762. package/dist/core/p-67eea079.entry.js +0 -2
  763. package/dist/core/p-67eea079.entry.js.map +0 -1
  764. package/dist/core/p-6bd0e984.entry.js +0 -2
  765. package/dist/core/p-6bd0e984.entry.js.map +0 -1
  766. package/dist/core/p-75bf6162.entry.js +0 -2
  767. package/dist/core/p-75bf6162.entry.js.map +0 -1
  768. package/dist/core/p-76959313.entry.js +0 -2
  769. package/dist/core/p-76959313.entry.js.map +0 -1
  770. package/dist/core/p-7de813a3.entry.js +0 -2
  771. package/dist/core/p-7de813a3.entry.js.map +0 -1
  772. package/dist/core/p-7eae5f70.entry.js +0 -2
  773. package/dist/core/p-7eae5f70.entry.js.map +0 -1
  774. package/dist/core/p-85508347.entry.js +0 -2
  775. package/dist/core/p-85508347.entry.js.map +0 -1
  776. package/dist/core/p-8da152c4.entry.js +0 -2
  777. package/dist/core/p-8da152c4.entry.js.map +0 -1
  778. package/dist/core/p-8fd4ca0a.js +0 -2
  779. package/dist/core/p-8fd4ca0a.js.map +0 -1
  780. package/dist/core/p-939baa93.entry.js.map +0 -1
  781. package/dist/core/p-9777ebb1.entry.js +0 -2
  782. package/dist/core/p-9777ebb1.entry.js.map +0 -1
  783. package/dist/core/p-9c27b73e.entry.js +0 -2
  784. package/dist/core/p-9c27b73e.entry.js.map +0 -1
  785. package/dist/core/p-9fa6844f.entry.js +0 -2
  786. package/dist/core/p-9fa6844f.entry.js.map +0 -1
  787. package/dist/core/p-9fdd7d73.entry.js +0 -2
  788. package/dist/core/p-9fdd7d73.entry.js.map +0 -1
  789. package/dist/core/p-a3ab9f4c.entry.js +0 -2
  790. package/dist/core/p-a3ab9f4c.entry.js.map +0 -1
  791. package/dist/core/p-a51e5c7c.entry.js +0 -2
  792. package/dist/core/p-a51e5c7c.entry.js.map +0 -1
  793. package/dist/core/p-a7481232.entry.js +0 -2
  794. package/dist/core/p-a7481232.entry.js.map +0 -1
  795. package/dist/core/p-ab9f8a3f.entry.js +0 -2
  796. package/dist/core/p-ab9f8a3f.entry.js.map +0 -1
  797. package/dist/core/p-b2aa3d7c.entry.js +0 -2
  798. package/dist/core/p-b2aa3d7c.entry.js.map +0 -1
  799. package/dist/core/p-b5cf6d65.entry.js +0 -2
  800. package/dist/core/p-b5cf6d65.entry.js.map +0 -1
  801. package/dist/core/p-baf81f30.entry.js.map +0 -1
  802. package/dist/core/p-bc187bb5.entry.js +0 -2
  803. package/dist/core/p-bc187bb5.entry.js.map +0 -1
  804. package/dist/core/p-bd9cecce.entry.js +0 -2
  805. package/dist/core/p-bd9cecce.entry.js.map +0 -1
  806. package/dist/core/p-be980606.entry.js +0 -2
  807. package/dist/core/p-be980606.entry.js.map +0 -1
  808. package/dist/core/p-c1256810.entry.js +0 -2
  809. package/dist/core/p-c1256810.entry.js.map +0 -1
  810. package/dist/core/p-d76cfa5a.entry.js +0 -2
  811. package/dist/core/p-d76cfa5a.entry.js.map +0 -1
  812. package/dist/core/p-e189f1d0.entry.js +0 -2
  813. package/dist/core/p-e189f1d0.entry.js.map +0 -1
  814. package/dist/core/p-e9e145aa.entry.js +0 -2
  815. package/dist/core/p-e9e145aa.entry.js.map +0 -1
  816. package/dist/core/p-f0e9a83f.entry.js +0 -2
  817. package/dist/core/p-f0e9a83f.entry.js.map +0 -1
  818. package/dist/core/p-f23d2102.entry.js +0 -2
  819. package/dist/core/p-f23d2102.entry.js.map +0 -1
  820. package/dist/core/p-f87e8411.entry.js +0 -2
  821. package/dist/core/p-f87e8411.entry.js.map +0 -1
  822. package/dist/esm/helpers-268c2b7f.js.map +0 -1
  823. package/dist/esm/ic-empty-state.entry.js.map +0 -1
  824. package/dist/esm/ic-input-component-container_3.entry.js.map +0 -1
  825. package/dist/esm/ic-input-label_2.entry.js +0 -81
  826. package/dist/esm/ic-input-label_2.entry.js.map +0 -1
  827. package/dist/esm/ic-pagination-bar.entry.js +0 -281
  828. package/dist/esm/ic-pagination-bar.entry.js.map +0 -1
  829. package/dist/types/components/ic-pagination/ic-pagination.types.d.ts +0 -6
  830. /package/dist/core/{p-b97dc365.entry.js.map → p-487fd924.entry.js.map} +0 -0
  831. /package/dist/core/{p-d77960f6.entry.js.map → p-656378ba.entry.js.map} +0 -0
  832. /package/dist/core/{p-3d618bc2.entry.js.map → p-d1045cd5.entry.js.map} +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