@ukic/canary-web-components 2.0.0-canary.11 → 2.0.0-canary.12

Sign up to get free protection for your applications and to get access to all the features.
Files changed (474) hide show
  1. package/dist/cjs/core.cjs.js +1 -1
  2. package/dist/cjs/{helpers-7a069459.js → helpers-b525d45a.js} +2 -7
  3. package/dist/cjs/helpers-b525d45a.js.map +1 -0
  4. package/dist/cjs/{helpers-f75cf7cf.js → helpers-c4444a7e.js} +48 -94
  5. package/dist/cjs/helpers-c4444a7e.js.map +1 -0
  6. package/dist/cjs/ic-accordion.cjs.entry.js +1 -1
  7. package/dist/cjs/ic-alert.cjs.entry.js +1 -1
  8. package/dist/cjs/ic-back-to-top.cjs.entry.js +1 -1
  9. package/dist/cjs/ic-badge.cjs.entry.js +8 -16
  10. package/dist/cjs/ic-badge.cjs.entry.js.map +1 -1
  11. package/dist/cjs/ic-breadcrumb-group.cjs.entry.js +1 -1
  12. package/dist/cjs/ic-breadcrumb.cjs.entry.js +1 -1
  13. package/dist/cjs/ic-button_3.cjs.entry.js +2 -8
  14. package/dist/cjs/ic-button_3.cjs.entry.js.map +1 -1
  15. package/dist/cjs/ic-card.cjs.entry.js +1 -1
  16. package/dist/cjs/ic-checkbox-group.cjs.entry.js +1 -1
  17. package/dist/cjs/ic-checkbox.cjs.entry.js +1 -1
  18. package/dist/cjs/ic-chip.cjs.entry.js +1 -1
  19. package/dist/cjs/ic-data-row.cjs.entry.js +1 -1
  20. package/dist/cjs/ic-data-table-title-bar.cjs.entry.js +57 -0
  21. package/dist/cjs/ic-data-table-title-bar.cjs.entry.js.map +1 -0
  22. package/dist/cjs/ic-data-table.cjs.entry.js +308 -43
  23. package/dist/cjs/ic-data-table.cjs.entry.js.map +1 -1
  24. package/dist/cjs/ic-dialog.cjs.entry.js +2 -3
  25. package/dist/cjs/ic-dialog.cjs.entry.js.map +1 -1
  26. package/dist/cjs/ic-divider.cjs.entry.js +1 -1
  27. package/dist/cjs/{ic-pagination-bar.cjs.entry.js → ic-empty-state_2.cjs.entry.js} +34 -4
  28. package/dist/cjs/ic-empty-state_2.cjs.entry.js.map +1 -0
  29. package/dist/cjs/ic-footer-link-group.cjs.entry.js +1 -1
  30. package/dist/cjs/ic-footer-link.cjs.entry.js +1 -1
  31. package/dist/cjs/ic-footer.cjs.entry.js +1 -1
  32. package/dist/cjs/ic-hero.cjs.entry.js +1 -1
  33. package/dist/cjs/ic-horizontal-scroll.cjs.entry.js +1 -1
  34. package/dist/cjs/{ic-menu.cjs.entry.js → ic-input-component-container_3.cjs.entry.js} +69 -5
  35. package/dist/cjs/ic-input-component-container_3.cjs.entry.js.map +1 -0
  36. package/dist/cjs/ic-input-label_2.cjs.entry.js +86 -0
  37. package/dist/cjs/ic-input-label_2.cjs.entry.js.map +1 -0
  38. package/dist/cjs/ic-link.cjs.entry.js +1 -1
  39. package/dist/cjs/ic-menu-group.cjs.entry.js +1 -1
  40. package/dist/cjs/ic-menu-item.cjs.entry.js +1 -1
  41. package/dist/cjs/ic-menu-with-multi.cjs.entry.js +1 -1
  42. package/dist/cjs/ic-menu-with-multi.cjs.entry.js.map +1 -1
  43. package/dist/cjs/ic-navigation-button.cjs.entry.js +1 -1
  44. package/dist/cjs/ic-navigation-group.cjs.entry.js +13 -16
  45. package/dist/cjs/ic-navigation-group.cjs.entry.js.map +1 -1
  46. package/dist/cjs/ic-navigation-item.cjs.entry.js +32 -28
  47. package/dist/cjs/ic-navigation-item.cjs.entry.js.map +1 -1
  48. package/dist/cjs/ic-navigation-menu.cjs.entry.js +1 -1
  49. package/dist/cjs/ic-page-header.cjs.entry.js +1 -1
  50. package/dist/cjs/ic-pagination_4.cjs.entry.js +5 -5
  51. package/dist/cjs/ic-pagination_4.cjs.entry.js.map +1 -1
  52. package/dist/cjs/ic-popover-menu.cjs.entry.js +1 -1
  53. package/dist/cjs/ic-radio-group.cjs.entry.js +1 -1
  54. package/dist/cjs/ic-radio-option.cjs.entry.js +1 -1
  55. package/dist/cjs/ic-search-bar.cjs.entry.js +1 -1
  56. package/dist/cjs/ic-select-with-multi.cjs.entry.js +19 -6
  57. package/dist/cjs/ic-select-with-multi.cjs.entry.js.map +1 -1
  58. package/dist/cjs/ic-side-navigation.cjs.entry.js +1 -1
  59. package/dist/cjs/ic-status-tag.cjs.entry.js +1 -1
  60. package/dist/cjs/ic-step.cjs.entry.js +1 -1
  61. package/dist/cjs/ic-stepper.cjs.entry.js +1 -1
  62. package/dist/cjs/ic-switch.cjs.entry.js +1 -1
  63. package/dist/cjs/ic-tab-group.cjs.entry.js +1 -1
  64. package/dist/cjs/ic-tab-panel.cjs.entry.js +1 -1
  65. package/dist/cjs/ic-tab.cjs.entry.js +1 -1
  66. package/dist/cjs/ic-theme.cjs.entry.js +1 -1
  67. package/dist/cjs/ic-toast.cjs.entry.js +1 -1
  68. package/dist/cjs/ic-toggle-button.cjs.entry.js +1 -1
  69. package/dist/cjs/ic-top-navigation.cjs.entry.js +60 -46
  70. package/dist/cjs/ic-top-navigation.cjs.entry.js.map +1 -1
  71. package/dist/cjs/ic-typography.cjs.entry.js +35 -11
  72. package/dist/cjs/ic-typography.cjs.entry.js.map +1 -1
  73. package/dist/cjs/index-4cf27b16.js +10 -18
  74. package/dist/cjs/loader.cjs.js +1 -1
  75. package/dist/collection/collection-manifest.json +1 -2
  76. package/dist/collection/components/ic-data-table/ic-data-table.css +82 -7
  77. package/dist/collection/components/ic-data-table/ic-data-table.js +535 -44
  78. package/dist/collection/components/ic-data-table/ic-data-table.js.map +1 -1
  79. package/dist/collection/components/ic-data-table/ic-data-table.types.js.map +1 -1
  80. package/dist/collection/components/ic-data-table/story-data.js +386 -11
  81. package/dist/collection/components/ic-data-table/story-data.js.map +1 -1
  82. package/dist/collection/components/ic-data-table/test/basic/ic-data-table.e2e.js +217 -0
  83. package/dist/collection/components/ic-data-table/test/basic/ic-data-table.e2e.js.map +1 -0
  84. package/dist/collection/components/ic-data-table/test/basic/ic-data-table.spec.js +319 -0
  85. package/dist/collection/components/ic-data-table/test/basic/ic-data-table.spec.js.map +1 -1
  86. package/dist/collection/components/ic-data-table-title-bar/ic-data-table-title-bar.css +87 -0
  87. package/dist/collection/components/ic-data-table-title-bar/ic-data-table-title-bar.js +160 -0
  88. package/dist/collection/components/ic-data-table-title-bar/ic-data-table-title-bar.js.map +1 -0
  89. package/dist/collection/components/{ic-date-picker/test/a11y/ic-date-picker.test.a11y.js → ic-data-table-title-bar/test/a11y/ic-data-table-title-bar.test.a11y.js} +3 -5
  90. package/dist/collection/components/ic-data-table-title-bar/test/a11y/ic-data-table-title-bar.test.a11y.js.map +1 -0
  91. package/dist/collection/components/ic-data-table-title-bar/test/basic/ic-data-table-title-bar.spec.js +70 -0
  92. package/dist/collection/components/ic-data-table-title-bar/test/basic/ic-data-table-title-bar.spec.js.map +1 -0
  93. package/dist/collection/components/ic-menu-with-multi/ic-menu.js +2 -2
  94. package/dist/collection/components/ic-menu-with-multi/ic-menu.js.map +1 -1
  95. package/dist/collection/components/ic-pagination-bar/ic-pagination-bar.js +1 -1
  96. package/dist/collection/components/ic-pagination-bar/ic-pagination-bar.js.map +1 -1
  97. package/dist/collection/components/ic-select-with-multi/ic-select.js +2 -2
  98. package/dist/collection/components/ic-select-with-multi/ic-select.js.map +1 -1
  99. package/dist/collection/utils/constants.js +0 -55
  100. package/dist/collection/utils/constants.js.map +1 -1
  101. package/dist/collection/utils/helpers.js +42 -272
  102. package/dist/collection/utils/helpers.js.map +1 -1
  103. package/dist/collection/utils/types.js +0 -45
  104. package/dist/collection/utils/types.js.map +1 -1
  105. package/dist/components/helpers.js +2 -7
  106. package/dist/components/helpers.js.map +1 -1
  107. package/dist/components/helpers2.js +45 -91
  108. package/dist/components/helpers2.js.map +1 -1
  109. package/dist/components/ic-badge.js +8 -16
  110. package/dist/components/ic-badge.js.map +1 -1
  111. package/dist/components/ic-button2.js +3 -11
  112. package/dist/components/ic-button2.js.map +1 -1
  113. package/dist/components/ic-card.js +1 -1
  114. package/dist/components/ic-checkbox-group.js +1 -1
  115. package/dist/components/ic-checkbox.js +1 -1
  116. package/dist/components/ic-chip.js +1 -1
  117. package/dist/components/{ic-date-input.d.ts → ic-data-table-title-bar.d.ts} +4 -4
  118. package/dist/components/ic-data-table-title-bar.js +136 -0
  119. package/dist/components/ic-data-table-title-bar.js.map +1 -0
  120. package/dist/components/ic-data-table.js +334 -49
  121. package/dist/components/ic-data-table.js.map +1 -1
  122. package/dist/components/ic-dialog.js +1 -2
  123. package/dist/components/ic-dialog.js.map +1 -1
  124. package/dist/components/ic-empty-state.js +1 -57
  125. package/dist/components/ic-empty-state.js.map +1 -1
  126. package/dist/{esm/ic-empty-state.entry.js → components/ic-empty-state2.js} +38 -11
  127. package/dist/components/ic-empty-state2.js.map +1 -0
  128. package/dist/components/ic-input-component-container2.js +1 -1
  129. package/dist/components/ic-input-component-container2.js.map +1 -1
  130. package/dist/components/ic-link2.js +1 -1
  131. package/dist/components/ic-menu-item2.js +1 -1
  132. package/dist/components/ic-menu2.js +2 -2
  133. package/dist/components/ic-menu2.js.map +1 -1
  134. package/dist/components/ic-menu3.js +1 -1
  135. package/dist/components/ic-menu3.js.map +1 -1
  136. package/dist/components/ic-navigation-button.js +1 -1
  137. package/dist/components/ic-navigation-group.js +12 -15
  138. package/dist/components/ic-navigation-group.js.map +1 -1
  139. package/dist/components/ic-navigation-item.js +32 -28
  140. package/dist/components/ic-navigation-item.js.map +1 -1
  141. package/dist/components/ic-pagination-bar2.js +1 -1
  142. package/dist/components/ic-pagination-bar2.js.map +1 -1
  143. package/dist/components/ic-pagination-item2.js +1 -1
  144. package/dist/components/ic-pagination2.js +5 -5
  145. package/dist/components/ic-pagination2.js.map +1 -1
  146. package/dist/components/ic-radio-group.js +1 -1
  147. package/dist/components/ic-radio-option.js +1 -1
  148. package/dist/components/ic-search-bar.js +1 -1
  149. package/dist/components/ic-select-with-multi.js +14 -1
  150. package/dist/components/ic-select-with-multi.js.map +1 -1
  151. package/dist/components/ic-select2.js +1 -1
  152. package/dist/components/ic-switch.js +1 -1
  153. package/dist/components/ic-tab.js +1 -1
  154. package/dist/components/ic-text-field2.js +1 -1
  155. package/dist/components/ic-toggle-button.js +1 -1
  156. package/dist/components/ic-top-navigation.js +61 -47
  157. package/dist/components/ic-top-navigation.js.map +1 -1
  158. package/dist/components/ic-typography2.js +38 -12
  159. package/dist/components/ic-typography2.js.map +1 -1
  160. package/dist/core/core.css +1 -1
  161. package/dist/core/core.esm.js +1 -1
  162. package/dist/core/core.esm.js.map +1 -1
  163. package/dist/core/p-045359e1.entry.js +2 -0
  164. package/dist/core/{p-b1e3f20a.entry.js.map → p-045359e1.entry.js.map} +1 -1
  165. package/dist/core/{p-e9e7a7f9.entry.js → p-10fb4c46.entry.js} +2 -2
  166. package/dist/core/p-169bfa51.entry.js +2 -0
  167. package/dist/core/p-169bfa51.entry.js.map +1 -0
  168. package/dist/core/{p-21da96a9.entry.js → p-1ca332ca.entry.js} +2 -2
  169. package/dist/core/p-1e91f540.entry.js +2 -0
  170. package/dist/core/p-1e91f540.entry.js.map +1 -0
  171. package/dist/core/{p-170f6408.entry.js → p-204ace96.entry.js} +2 -2
  172. package/dist/core/{p-2f31bb92.entry.js → p-2eac7dcc.entry.js} +2 -2
  173. package/dist/core/p-347e8dab.entry.js +2 -0
  174. package/dist/core/p-347e8dab.entry.js.map +1 -0
  175. package/dist/core/p-3803a5b5.entry.js +2 -0
  176. package/dist/core/p-3803a5b5.entry.js.map +1 -0
  177. package/dist/core/p-4753bac8.entry.js +2 -0
  178. package/dist/core/p-4753bac8.entry.js.map +1 -0
  179. package/dist/core/{p-a16c6ff3.entry.js → p-4baa0916.entry.js} +2 -2
  180. package/dist/core/{p-655df7fe.entry.js → p-4f413fc0.entry.js} +2 -2
  181. package/dist/core/p-5171169f.entry.js +2 -0
  182. package/dist/core/p-5171169f.entry.js.map +1 -0
  183. package/dist/core/{p-56d01bdb.entry.js → p-595be57d.entry.js} +2 -2
  184. package/dist/core/{p-23a13636.entry.js → p-5ae93c16.entry.js} +2 -2
  185. package/dist/core/{p-0b32ba5b.entry.js → p-5e0c830b.entry.js} +2 -2
  186. package/dist/core/p-5ee4319c.entry.js +2 -0
  187. package/dist/core/p-5ee4319c.entry.js.map +1 -0
  188. package/dist/core/p-5f4e96ec.entry.js +2 -0
  189. package/dist/core/p-5f4e96ec.entry.js.map +1 -0
  190. package/dist/core/{p-95374ba1.entry.js → p-624d4f5f.entry.js} +2 -2
  191. package/dist/core/{p-df63896a.entry.js → p-6933f8e9.entry.js} +2 -2
  192. package/dist/core/{p-70b48a14.entry.js → p-6c3044b6.entry.js} +2 -2
  193. package/dist/core/p-7267fe19.entry.js +2 -0
  194. package/dist/core/p-7267fe19.entry.js.map +1 -0
  195. package/dist/core/{p-02d0ecd2.entry.js → p-75dac3d1.entry.js} +2 -2
  196. package/dist/core/{p-a6e9a8e7.entry.js → p-7ef8d616.entry.js} +2 -2
  197. package/dist/core/{p-0388b484.entry.js → p-81ddc39d.entry.js} +2 -2
  198. package/dist/core/{p-6e32683c.entry.js → p-869954a2.entry.js} +2 -2
  199. package/dist/core/{p-e2155d7f.entry.js → p-88d54b72.entry.js} +2 -2
  200. package/dist/core/{p-98c8d46a.entry.js → p-8b08d8fe.entry.js} +2 -2
  201. package/dist/core/{p-0080bbce.entry.js → p-917c5721.entry.js} +2 -2
  202. package/dist/core/p-942282cd.entry.js +2 -0
  203. package/dist/core/p-942282cd.entry.js.map +1 -0
  204. package/dist/core/p-96b3e7e2.js +2 -0
  205. package/dist/core/p-96b3e7e2.js.map +1 -0
  206. package/dist/core/p-9caf19eb.js +2 -0
  207. package/dist/core/p-9caf19eb.js.map +1 -0
  208. package/dist/core/{p-7373beb0.entry.js → p-a0f8efb2.entry.js} +2 -2
  209. package/dist/core/{p-1f1b4b8b.entry.js → p-a31031a5.entry.js} +2 -2
  210. package/dist/core/{p-221d03e1.entry.js → p-a434c3d4.entry.js} +2 -2
  211. package/dist/core/{p-25a458bf.entry.js → p-a43c12cd.entry.js} +2 -2
  212. package/dist/core/{p-31fdb740.entry.js → p-a50c3b9e.entry.js} +2 -2
  213. package/dist/core/p-aac4185b.entry.js +2 -0
  214. package/dist/core/p-aac4185b.entry.js.map +1 -0
  215. package/dist/core/{p-65a8c1d6.entry.js → p-ab09986c.entry.js} +2 -2
  216. package/dist/core/{p-9e3178e8.entry.js → p-b6639e4a.entry.js} +2 -2
  217. package/dist/core/{p-9e3178e8.entry.js.map → p-b6639e4a.entry.js.map} +1 -1
  218. package/dist/core/{p-e21083c8.entry.js → p-b82dcc29.entry.js} +2 -2
  219. package/dist/core/p-ba86928c.entry.js +2 -0
  220. package/dist/core/{p-4f0178a7.entry.js.map → p-ba86928c.entry.js.map} +1 -1
  221. package/dist/core/{p-b3ce9fe4.entry.js → p-c34848da.entry.js} +2 -2
  222. package/dist/core/{p-8f1aa87d.entry.js → p-d8469ac0.entry.js} +2 -2
  223. package/dist/core/{p-75a2cdac.entry.js → p-db9c03c0.entry.js} +2 -2
  224. package/dist/core/{p-fb58d1d1.entry.js → p-e3997d60.entry.js} +2 -2
  225. package/dist/core/{p-06aef486.entry.js → p-e834344e.entry.js} +2 -2
  226. package/dist/core/p-f14454b1.entry.js +2 -0
  227. package/dist/core/{p-9f9b3151.entry.js.map → p-f14454b1.entry.js.map} +1 -1
  228. package/dist/core/{p-ee09f1b3.entry.js → p-f3c840cd.entry.js} +2 -2
  229. package/dist/core/p-f6888309.entry.js +2 -0
  230. package/dist/core/p-f6888309.entry.js.map +1 -0
  231. package/dist/core/p-f74a8752.entry.js +2 -0
  232. package/dist/core/p-f74a8752.entry.js.map +1 -0
  233. package/dist/core/{p-b1e646e4.entry.js → p-f7a14c01.entry.js} +2 -2
  234. package/dist/core/{p-ce898d90.entry.js → p-f843da01.entry.js} +2 -2
  235. package/dist/core/p-fc5611e2.entry.js +2 -0
  236. package/dist/core/p-fc5611e2.entry.js.map +1 -0
  237. package/dist/esm/core.js +1 -1
  238. package/dist/esm/{helpers-b5f64263.js → helpers-12b4266a.js} +3 -8
  239. package/dist/esm/helpers-12b4266a.js.map +1 -0
  240. package/dist/esm/{helpers-f328a7b6.js → helpers-1f07eb61.js} +46 -92
  241. package/dist/esm/helpers-1f07eb61.js.map +1 -0
  242. package/dist/esm/ic-accordion.entry.js +1 -1
  243. package/dist/esm/ic-alert.entry.js +1 -1
  244. package/dist/esm/ic-back-to-top.entry.js +1 -1
  245. package/dist/esm/ic-badge.entry.js +8 -16
  246. package/dist/esm/ic-badge.entry.js.map +1 -1
  247. package/dist/esm/ic-breadcrumb-group.entry.js +1 -1
  248. package/dist/esm/ic-breadcrumb.entry.js +1 -1
  249. package/dist/esm/ic-button_3.entry.js +2 -8
  250. package/dist/esm/ic-button_3.entry.js.map +1 -1
  251. package/dist/esm/ic-card.entry.js +1 -1
  252. package/dist/esm/ic-checkbox-group.entry.js +1 -1
  253. package/dist/esm/ic-checkbox.entry.js +1 -1
  254. package/dist/esm/ic-chip.entry.js +1 -1
  255. package/dist/esm/ic-data-row.entry.js +1 -1
  256. package/dist/esm/ic-data-table-title-bar.entry.js +53 -0
  257. package/dist/esm/ic-data-table-title-bar.entry.js.map +1 -0
  258. package/dist/esm/ic-data-table.entry.js +309 -44
  259. package/dist/esm/ic-data-table.entry.js.map +1 -1
  260. package/dist/esm/ic-dialog.entry.js +2 -3
  261. package/dist/esm/ic-dialog.entry.js.map +1 -1
  262. package/dist/esm/ic-divider.entry.js +1 -1
  263. package/dist/esm/{ic-pagination-bar.entry.js → ic-empty-state_2.entry.js} +34 -5
  264. package/dist/esm/ic-empty-state_2.entry.js.map +1 -0
  265. package/dist/esm/ic-footer-link-group.entry.js +1 -1
  266. package/dist/esm/ic-footer-link.entry.js +1 -1
  267. package/dist/esm/ic-footer.entry.js +1 -1
  268. package/dist/esm/ic-hero.entry.js +1 -1
  269. package/dist/esm/ic-horizontal-scroll.entry.js +1 -1
  270. package/dist/esm/{ic-menu.entry.js → ic-input-component-container_3.entry.js} +69 -7
  271. package/dist/esm/ic-input-component-container_3.entry.js.map +1 -0
  272. package/dist/esm/ic-input-label_2.entry.js +81 -0
  273. package/dist/esm/ic-input-label_2.entry.js.map +1 -0
  274. package/dist/esm/ic-link.entry.js +1 -1
  275. package/dist/esm/ic-menu-group.entry.js +1 -1
  276. package/dist/esm/ic-menu-item.entry.js +1 -1
  277. package/dist/esm/ic-menu-with-multi.entry.js +1 -1
  278. package/dist/esm/ic-menu-with-multi.entry.js.map +1 -1
  279. package/dist/esm/ic-navigation-button.entry.js +1 -1
  280. package/dist/esm/ic-navigation-group.entry.js +13 -16
  281. package/dist/esm/ic-navigation-group.entry.js.map +1 -1
  282. package/dist/esm/ic-navigation-item.entry.js +32 -28
  283. package/dist/esm/ic-navigation-item.entry.js.map +1 -1
  284. package/dist/esm/ic-navigation-menu.entry.js +1 -1
  285. package/dist/esm/ic-page-header.entry.js +1 -1
  286. package/dist/esm/ic-pagination_4.entry.js +5 -5
  287. package/dist/esm/ic-pagination_4.entry.js.map +1 -1
  288. package/dist/esm/ic-popover-menu.entry.js +1 -1
  289. package/dist/esm/ic-radio-group.entry.js +1 -1
  290. package/dist/esm/ic-radio-option.entry.js +1 -1
  291. package/dist/esm/ic-search-bar.entry.js +1 -1
  292. package/dist/esm/ic-select-with-multi.entry.js +14 -1
  293. package/dist/esm/ic-select-with-multi.entry.js.map +1 -1
  294. package/dist/esm/ic-side-navigation.entry.js +1 -1
  295. package/dist/esm/ic-status-tag.entry.js +1 -1
  296. package/dist/esm/ic-step.entry.js +1 -1
  297. package/dist/esm/ic-stepper.entry.js +1 -1
  298. package/dist/esm/ic-switch.entry.js +1 -1
  299. package/dist/esm/ic-tab-group.entry.js +1 -1
  300. package/dist/esm/ic-tab-panel.entry.js +1 -1
  301. package/dist/esm/ic-tab.entry.js +1 -1
  302. package/dist/esm/ic-theme.entry.js +1 -1
  303. package/dist/esm/ic-toast.entry.js +1 -1
  304. package/dist/esm/ic-toggle-button.entry.js +1 -1
  305. package/dist/esm/ic-top-navigation.entry.js +60 -46
  306. package/dist/esm/ic-top-navigation.entry.js.map +1 -1
  307. package/dist/esm/ic-typography.entry.js +36 -12
  308. package/dist/esm/ic-typography.entry.js.map +1 -1
  309. package/dist/esm/index-93509377.js +10 -18
  310. package/dist/esm/loader.js +1 -1
  311. package/dist/esm/polyfills/core-js.js +0 -0
  312. package/dist/esm/polyfills/dom.js +0 -0
  313. package/dist/esm/polyfills/es5-html-element.js +0 -0
  314. package/dist/esm/polyfills/index.js +0 -0
  315. package/dist/esm/polyfills/system.js +0 -0
  316. package/dist/types/components/ic-data-table/ic-data-table.d.ts +96 -1
  317. package/dist/types/components/ic-data-table/ic-data-table.types.d.ts +11 -0
  318. package/dist/types/components/ic-data-table/story-data.d.ts +99 -0
  319. package/dist/types/components/ic-data-table-title-bar/ic-data-table-title-bar.d.ts +36 -0
  320. package/dist/types/components/ic-menu-with-multi/ic-menu.d.ts +2 -2
  321. package/dist/types/components/ic-select-with-multi/ic-select.d.ts +2 -2
  322. package/dist/types/components.d.ts +141 -390
  323. package/dist/types/utils/constants.d.ts +0 -37
  324. package/dist/types/utils/helpers.d.ts +16 -84
  325. package/dist/types/utils/types.d.ts +1 -92
  326. package/hydrate/index.js +952 -2965
  327. package/package.json +3 -4
  328. package/dist/cjs/date-helpers-c9551119.js +0 -150
  329. package/dist/cjs/date-helpers-c9551119.js.map +0 -1
  330. package/dist/cjs/helpers-7a069459.js.map +0 -1
  331. package/dist/cjs/helpers-f75cf7cf.js.map +0 -1
  332. package/dist/cjs/ic-date-input.cjs.entry.js +0 -1089
  333. package/dist/cjs/ic-date-input.cjs.entry.js.map +0 -1
  334. package/dist/cjs/ic-date-picker.cjs.entry.js +0 -1050
  335. package/dist/cjs/ic-date-picker.cjs.entry.js.map +0 -1
  336. package/dist/cjs/ic-empty-state.cjs.entry.js +0 -38
  337. package/dist/cjs/ic-empty-state.cjs.entry.js.map +0 -1
  338. package/dist/cjs/ic-input-component-container_4.cjs.entry.js +0 -150
  339. package/dist/cjs/ic-input-component-container_4.cjs.entry.js.map +0 -1
  340. package/dist/cjs/ic-menu.cjs.entry.js.map +0 -1
  341. package/dist/cjs/ic-pagination-bar.cjs.entry.js.map +0 -1
  342. package/dist/collection/assets/calendar.svg +0 -3
  343. package/dist/collection/components/ic-date-input/ic-date-input.css +0 -560
  344. package/dist/collection/components/ic-date-input/ic-date-input.js +0 -1712
  345. package/dist/collection/components/ic-date-input/ic-date-input.js.map +0 -1
  346. package/dist/collection/components/ic-date-input/story-data.js +0 -28
  347. package/dist/collection/components/ic-date-input/story-data.js.map +0 -1
  348. package/dist/collection/components/ic-date-input/test/basic/ic-date-input.spec.js +0 -1139
  349. package/dist/collection/components/ic-date-input/test/basic/ic-date-input.spec.js.map +0 -1
  350. package/dist/collection/components/ic-date-input/test/helpers/ic-date-input.js +0 -42
  351. package/dist/collection/components/ic-date-input/test/helpers/ic-date-input.js.map +0 -1
  352. package/dist/collection/components/ic-date-picker/ic-date-picker.css +0 -878
  353. package/dist/collection/components/ic-date-picker/ic-date-picker.js +0 -1506
  354. package/dist/collection/components/ic-date-picker/ic-date-picker.js.map +0 -1
  355. package/dist/collection/components/ic-date-picker/ic-day-button.js +0 -36
  356. package/dist/collection/components/ic-date-picker/ic-day-button.js.map +0 -1
  357. package/dist/collection/components/ic-date-picker/ic-month-picker.js +0 -29
  358. package/dist/collection/components/ic-date-picker/ic-month-picker.js.map +0 -1
  359. package/dist/collection/components/ic-date-picker/ic-year-picker.js +0 -39
  360. package/dist/collection/components/ic-date-picker/ic-year-picker.js.map +0 -1
  361. package/dist/collection/components/ic-date-picker/story-data.js +0 -148
  362. package/dist/collection/components/ic-date-picker/story-data.js.map +0 -1
  363. package/dist/collection/components/ic-date-picker/test/a11y/ic-date-picker.test.a11y.js.map +0 -1
  364. package/dist/collection/components/ic-date-picker/test/basic/ic-date-picker-utils.spec.js +0 -207
  365. package/dist/collection/components/ic-date-picker/test/basic/ic-date-picker-utils.spec.js.map +0 -1
  366. package/dist/collection/components/ic-date-picker/test/basic/ic-date-picker.spec.js +0 -962
  367. package/dist/collection/components/ic-date-picker/test/basic/ic-date-picker.spec.js.map +0 -1
  368. package/dist/collection/utils/date-helpers.js +0 -133
  369. package/dist/collection/utils/date-helpers.js.map +0 -1
  370. package/dist/components/ic-date-input.js +0 -8
  371. package/dist/components/ic-date-input.js.map +0 -1
  372. package/dist/components/ic-date-input2.js +0 -1318
  373. package/dist/components/ic-date-input2.js.map +0 -1
  374. package/dist/components/ic-date-picker.d.ts +0 -11
  375. package/dist/components/ic-date-picker.js +0 -1171
  376. package/dist/components/ic-date-picker.js.map +0 -1
  377. package/dist/core/p-1857e9a7.entry.js +0 -2
  378. package/dist/core/p-1857e9a7.entry.js.map +0 -1
  379. package/dist/core/p-2c3cdfa3.js +0 -2
  380. package/dist/core/p-2c3cdfa3.js.map +0 -1
  381. package/dist/core/p-33dd24eb.js +0 -2
  382. package/dist/core/p-33dd24eb.js.map +0 -1
  383. package/dist/core/p-40ba5a51.entry.js +0 -2
  384. package/dist/core/p-40ba5a51.entry.js.map +0 -1
  385. package/dist/core/p-4f0178a7.entry.js +0 -2
  386. package/dist/core/p-5d6750ea.entry.js +0 -2
  387. package/dist/core/p-5d6750ea.entry.js.map +0 -1
  388. package/dist/core/p-7c0f24b6.entry.js +0 -2
  389. package/dist/core/p-7c0f24b6.entry.js.map +0 -1
  390. package/dist/core/p-9f9b3151.entry.js +0 -2
  391. package/dist/core/p-a22fd338.entry.js +0 -2
  392. package/dist/core/p-a22fd338.entry.js.map +0 -1
  393. package/dist/core/p-aabab75f.entry.js +0 -2
  394. package/dist/core/p-aabab75f.entry.js.map +0 -1
  395. package/dist/core/p-b1e3f20a.entry.js +0 -2
  396. package/dist/core/p-c680c7f9.entry.js +0 -2
  397. package/dist/core/p-c680c7f9.entry.js.map +0 -1
  398. package/dist/core/p-c7590421.entry.js +0 -2
  399. package/dist/core/p-c7590421.entry.js.map +0 -1
  400. package/dist/core/p-cd799087.js +0 -2
  401. package/dist/core/p-cd799087.js.map +0 -1
  402. package/dist/core/p-d184d9e2.entry.js +0 -2
  403. package/dist/core/p-d184d9e2.entry.js.map +0 -1
  404. package/dist/core/p-df5d7aa4.entry.js +0 -2
  405. package/dist/core/p-df5d7aa4.entry.js.map +0 -1
  406. package/dist/core/p-e189f1d0.entry.js +0 -2
  407. package/dist/core/p-e189f1d0.entry.js.map +0 -1
  408. package/dist/core/p-e33bdca9.entry.js +0 -2
  409. package/dist/core/p-e33bdca9.entry.js.map +0 -1
  410. package/dist/core/p-eeacd610.entry.js +0 -2
  411. package/dist/core/p-eeacd610.entry.js.map +0 -1
  412. package/dist/core/p-f24c9356.entry.js +0 -2
  413. package/dist/core/p-f24c9356.entry.js.map +0 -1
  414. package/dist/core/p-f5d5f0be.entry.js +0 -2
  415. package/dist/core/p-f5d5f0be.entry.js.map +0 -1
  416. package/dist/core/p-f62cd6d2.entry.js +0 -2
  417. package/dist/core/p-f62cd6d2.entry.js.map +0 -1
  418. package/dist/esm/date-helpers-0e5e32a7.js +0 -136
  419. package/dist/esm/date-helpers-0e5e32a7.js.map +0 -1
  420. package/dist/esm/helpers-b5f64263.js.map +0 -1
  421. package/dist/esm/helpers-f328a7b6.js.map +0 -1
  422. package/dist/esm/ic-date-input.entry.js +0 -1085
  423. package/dist/esm/ic-date-input.entry.js.map +0 -1
  424. package/dist/esm/ic-date-picker.entry.js +0 -1046
  425. package/dist/esm/ic-date-picker.entry.js.map +0 -1
  426. package/dist/esm/ic-empty-state.entry.js.map +0 -1
  427. package/dist/esm/ic-input-component-container_4.entry.js +0 -143
  428. package/dist/esm/ic-input-component-container_4.entry.js.map +0 -1
  429. package/dist/esm/ic-menu.entry.js.map +0 -1
  430. package/dist/esm/ic-pagination-bar.entry.js.map +0 -1
  431. package/dist/types/components/ic-date-input/ic-date-input.d.ts +0 -248
  432. package/dist/types/components/ic-date-input/story-data.d.ts +0 -1
  433. package/dist/types/components/ic-date-input/test/helpers/ic-date-input.d.ts +0 -23
  434. package/dist/types/components/ic-date-picker/ic-date-picker.d.ts +0 -251
  435. package/dist/types/components/ic-date-picker/ic-day-button.d.ts +0 -16
  436. package/dist/types/components/ic-date-picker/ic-month-picker.d.ts +0 -14
  437. package/dist/types/components/ic-date-picker/ic-year-picker.d.ts +0 -16
  438. package/dist/types/components/ic-date-picker/story-data.d.ts +0 -22
  439. package/dist/types/utils/date-helpers.d.ts +0 -22
  440. /package/dist/core/{p-e9e7a7f9.entry.js.map → p-10fb4c46.entry.js.map} +0 -0
  441. /package/dist/core/{p-21da96a9.entry.js.map → p-1ca332ca.entry.js.map} +0 -0
  442. /package/dist/core/{p-170f6408.entry.js.map → p-204ace96.entry.js.map} +0 -0
  443. /package/dist/core/{p-2f31bb92.entry.js.map → p-2eac7dcc.entry.js.map} +0 -0
  444. /package/dist/core/{p-a16c6ff3.entry.js.map → p-4baa0916.entry.js.map} +0 -0
  445. /package/dist/core/{p-655df7fe.entry.js.map → p-4f413fc0.entry.js.map} +0 -0
  446. /package/dist/core/{p-56d01bdb.entry.js.map → p-595be57d.entry.js.map} +0 -0
  447. /package/dist/core/{p-23a13636.entry.js.map → p-5ae93c16.entry.js.map} +0 -0
  448. /package/dist/core/{p-0b32ba5b.entry.js.map → p-5e0c830b.entry.js.map} +0 -0
  449. /package/dist/core/{p-95374ba1.entry.js.map → p-624d4f5f.entry.js.map} +0 -0
  450. /package/dist/core/{p-df63896a.entry.js.map → p-6933f8e9.entry.js.map} +0 -0
  451. /package/dist/core/{p-70b48a14.entry.js.map → p-6c3044b6.entry.js.map} +0 -0
  452. /package/dist/core/{p-02d0ecd2.entry.js.map → p-75dac3d1.entry.js.map} +0 -0
  453. /package/dist/core/{p-a6e9a8e7.entry.js.map → p-7ef8d616.entry.js.map} +0 -0
  454. /package/dist/core/{p-0388b484.entry.js.map → p-81ddc39d.entry.js.map} +0 -0
  455. /package/dist/core/{p-6e32683c.entry.js.map → p-869954a2.entry.js.map} +0 -0
  456. /package/dist/core/{p-e2155d7f.entry.js.map → p-88d54b72.entry.js.map} +0 -0
  457. /package/dist/core/{p-98c8d46a.entry.js.map → p-8b08d8fe.entry.js.map} +0 -0
  458. /package/dist/core/{p-0080bbce.entry.js.map → p-917c5721.entry.js.map} +0 -0
  459. /package/dist/core/{p-7373beb0.entry.js.map → p-a0f8efb2.entry.js.map} +0 -0
  460. /package/dist/core/{p-1f1b4b8b.entry.js.map → p-a31031a5.entry.js.map} +0 -0
  461. /package/dist/core/{p-221d03e1.entry.js.map → p-a434c3d4.entry.js.map} +0 -0
  462. /package/dist/core/{p-25a458bf.entry.js.map → p-a43c12cd.entry.js.map} +0 -0
  463. /package/dist/core/{p-31fdb740.entry.js.map → p-a50c3b9e.entry.js.map} +0 -0
  464. /package/dist/core/{p-65a8c1d6.entry.js.map → p-ab09986c.entry.js.map} +0 -0
  465. /package/dist/core/{p-e21083c8.entry.js.map → p-b82dcc29.entry.js.map} +0 -0
  466. /package/dist/core/{p-b3ce9fe4.entry.js.map → p-c34848da.entry.js.map} +0 -0
  467. /package/dist/core/{p-8f1aa87d.entry.js.map → p-d8469ac0.entry.js.map} +0 -0
  468. /package/dist/core/{p-75a2cdac.entry.js.map → p-db9c03c0.entry.js.map} +0 -0
  469. /package/dist/core/{p-fb58d1d1.entry.js.map → p-e3997d60.entry.js.map} +0 -0
  470. /package/dist/core/{p-06aef486.entry.js.map → p-e834344e.entry.js.map} +0 -0
  471. /package/dist/core/{p-ee09f1b3.entry.js.map → p-f3c840cd.entry.js.map} +0 -0
  472. /package/dist/core/{p-b1e646e4.entry.js.map → p-f7a14c01.entry.js.map} +0 -0
  473. /package/dist/core/{p-ce898d90.entry.js.map → p-f843da01.entry.js.map} +0 -0
  474. /package/dist/types/components/{ic-date-picker/test/a11y/ic-date-picker.test.a11y.d.ts → ic-data-table-title-bar/test/a11y/ic-data-table-title-bar.test.a11y.d.ts} +0 -0
@@ -1,962 +0,0 @@
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 set maxDate when dates in future disabled", 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
- expect(dateIsToday(page.rootInstance.maxDate)).toBe(true);
326
- expect(page.rootInstance.dateInputProps.disableFutureMessage).toEqual("Days in the future not allowed");
327
- });
328
- it("should set minDate when dates in past disabled", async () => {
329
- const page = await newSpecPage({
330
- components: [DatePicker, DateInput, Button, Tooltip],
331
- html: `<ic-date-picker label="Date picker label" disable-past="true" disable-past-message="Days in the past not allowed"></ic-date-picker>`,
332
- });
333
- await page.waitForChanges();
334
- const dateMatch = dateMatches(page.rootInstance.minDate, new Date());
335
- expect(dateMatch).toBe(true);
336
- expect(page.rootInstance.dateInputProps.disablePastMessage).toEqual("Days in the past not allowed");
337
- });
338
- it("should close picker when another element clicked", async () => {
339
- const page = await newSpecPage({
340
- components: [DatePicker, DateInput, Button, Tooltip],
341
- html: `<ic-date-picker label="Date picker label" open-at-date="25/12/2022"></ic-date-picker>`,
342
- });
343
- page.rootInstance.calendarOpen = true;
344
- await page.waitForChanges();
345
- await waitForTimeout(DELAY_MS);
346
- page.root.click();
347
- await page.waitForChanges();
348
- await waitForTimeout(DELAY_MS);
349
- expect(page.rootInstance.calendarOpen).toBe(false);
350
- });
351
- it("should close picker when Escape key pressed", async () => {
352
- const page = await newSpecPage({
353
- components: [DatePicker, DateInput, Button, Tooltip],
354
- html: `<ic-date-picker label="Date picker label" open-at-date="25/12/2022"></ic-date-picker>`,
355
- });
356
- page.rootInstance.calendarOpen = true;
357
- await page.waitForChanges();
358
- await waitForTimeout(DELAY_MS);
359
- page.rootInstance.keyDownHandler(keyboardEvent("Escape"));
360
- await page.waitForChanges();
361
- await waitForTimeout(DELAY_MS);
362
- expect(page.rootInstance.calendarOpen).toBe(false);
363
- });
364
- it("should clear dialog description when key pressed", async () => {
365
- const page = await newSpecPage({
366
- components: [DatePicker, DateInput, Button, Tooltip],
367
- html: `<ic-date-picker label="Date picker label" open-at-date="25/12/2022"></ic-date-picker>`,
368
- });
369
- page.rootInstance.calendarOpen = true;
370
- await page.waitForChanges();
371
- await waitForTimeout(DELAY_MS);
372
- page.rootInstance.keyDownHandler(keyboardEvent("Tab"));
373
- await page.waitForChanges();
374
- await waitForTimeout(DELAY_MS);
375
- expect(page.rootInstance.dialogDescription).toBe("");
376
- });
377
- it("should test go to today button", 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
- const todayButton = page.root.shadowRoot.querySelector("div.bottom-buttons > #today-button");
386
- todayButton.click();
387
- await page.waitForChanges();
388
- await waitForTimeout(DELAY_MS);
389
- expect(dateIsToday(page.rootInstance.focussedDate)).toBe(true);
390
- });
391
- it("should test go to today button - month view", async () => {
392
- const page = await newSpecPage({
393
- components: [DatePicker, DateInput, Button, Tooltip],
394
- html: `<ic-date-picker label="Date picker label" open-at-date="25/12/2022"></ic-date-picker>`,
395
- });
396
- page.rootInstance.calendarOpen = true;
397
- await page.waitForChanges();
398
- await waitForTimeout(DELAY_MS);
399
- page.rootInstance.monthPickerVisible = true;
400
- await page.waitForChanges();
401
- await waitForTimeout(DELAY_MS);
402
- const todayButton = page.root.shadowRoot.querySelector("div.bottom-buttons > #today-button");
403
- todayButton.click();
404
- await page.waitForChanges();
405
- await waitForTimeout(DELAY_MS);
406
- expect(page.rootInstance.monthPickerVisible).toBe(false);
407
- expect(dateIsToday(page.rootInstance.focussedDate)).toBe(true);
408
- });
409
- it("should test go to today button - year view", async () => {
410
- const page = await newSpecPage({
411
- components: [DatePicker, DateInput, Button, Tooltip],
412
- html: `<ic-date-picker label="Date picker label" open-at-date="25/12/2022"></ic-date-picker>`,
413
- });
414
- page.rootInstance.calendarOpen = true;
415
- await page.waitForChanges();
416
- await waitForTimeout(DELAY_MS);
417
- page.rootInstance.yearPickerVisible = true;
418
- await page.waitForChanges();
419
- await waitForTimeout(DELAY_MS);
420
- const todayButton = page.root.shadowRoot.querySelector("div.bottom-buttons > #today-button");
421
- todayButton.click();
422
- await page.waitForChanges();
423
- await waitForTimeout(DELAY_MS);
424
- expect(page.rootInstance.yearPickerVisible).toBe(false);
425
- expect(dateIsToday(page.rootInstance.focussedDate)).toBe(true);
426
- });
427
- it("should test clear button", async () => {
428
- const page = await newSpecPage({
429
- components: [DatePicker, DateInput, Button, Tooltip],
430
- html: `<ic-date-picker label="Date picker label" value="25/12/2022"></ic-date-picker>`,
431
- });
432
- page.rootInstance.setSelectedDate(new Date(2022, 11, 25));
433
- page.rootInstance.calendarOpen = true;
434
- await page.waitForChanges();
435
- await waitForTimeout(DELAY_MS);
436
- Object.defineProperty(page.rootInstance.focussedDayEl, "focus", {
437
- value: jest.fn(),
438
- });
439
- expect(page.rootInstance.focussedDayEl.focus).not.toHaveBeenCalled();
440
- expect(page.rootInstance.selectedDate).not.toBe(null);
441
- const clearButton = page.root.shadowRoot.querySelector("div.bottom-buttons > #clear-button");
442
- clearButton.click();
443
- await page.waitForChanges();
444
- await waitForTimeout(DELAY_MS);
445
- expect(page.rootInstance.selectedDate).toBe(null);
446
- expect(page.rootInstance.focussedDayEl.focus).toHaveBeenCalled();
447
- expect(page.rootInstance.liveRegionEl.textContent).toBe("Selected date cleared. December 2022 currently in view.");
448
- });
449
- it("should test clear button - month view", async () => {
450
- const page = await newSpecPage({
451
- components: [DatePicker, DateInput, Button, Tooltip],
452
- html: `<ic-date-picker label="Date picker label" value="25/12/2022"></ic-date-picker>`,
453
- });
454
- page.rootInstance.setSelectedDate(new Date(2022, 11, 25));
455
- page.rootInstance.calendarOpen = true;
456
- await page.waitForChanges();
457
- await waitForTimeout(DELAY_MS);
458
- page.rootInstance.monthPickerVisible = true;
459
- await page.waitForChanges();
460
- await waitForTimeout(DELAY_MS);
461
- Object.defineProperty(page.rootInstance.focussedMonthEl, "setFocus", {
462
- value: jest.fn(),
463
- });
464
- expect(page.rootInstance.focussedMonthEl.setFocus).not.toHaveBeenCalled();
465
- expect(page.root.value).not.toBe("");
466
- const clearButton = page.root.shadowRoot.querySelector("div.bottom-buttons > #clear-button");
467
- clearButton.click();
468
- await page.waitForChanges();
469
- await waitForTimeout(DELAY_MS);
470
- expect(page.rootInstance.selectedDate).toBe(null);
471
- expect(page.rootInstance.monthPickerVisible).toBe(true);
472
- expect(page.rootInstance.focussedMonthEl.setFocus).toHaveBeenCalled();
473
- expect(page.rootInstance.liveRegionEl.textContent).toBe("Selected date cleared.");
474
- });
475
- it("should test clear button - year view", async () => {
476
- const page = await newSpecPage({
477
- components: [DatePicker, DateInput, Button, Tooltip],
478
- html: `<ic-date-picker label="Date picker label" value="25/12/2022"></ic-date-picker>`,
479
- });
480
- page.rootInstance.setSelectedDate(new Date(2022, 11, 25));
481
- page.rootInstance.calendarOpen = true;
482
- await page.waitForChanges();
483
- await waitForTimeout(DELAY_MS);
484
- page.rootInstance.yearPickerVisible = true;
485
- await page.waitForChanges();
486
- await waitForTimeout(DELAY_MS);
487
- Object.defineProperty(page.rootInstance.focussedYearEl, "setFocus", {
488
- value: jest.fn(),
489
- });
490
- expect(page.rootInstance.focussedYearEl.setFocus).not.toHaveBeenCalled();
491
- expect(page.root.value).not.toBe("");
492
- const clearButton = page.root.shadowRoot.querySelector("div.bottom-buttons > #clear-button");
493
- clearButton.click();
494
- await page.waitForChanges();
495
- await waitForTimeout(DELAY_MS);
496
- expect(page.root.value).toBeNull();
497
- expect(page.rootInstance.yearPickerVisible).toBe(true);
498
- expect(page.rootInstance.focussedYearEl.setFocus).toHaveBeenCalled();
499
- expect(page.rootInstance.liveRegionEl.textContent).toBe("Selected date cleared.");
500
- });
501
- it("should test month & year nav buttons", async () => {
502
- const page = await newSpecPage({
503
- components: [DatePicker, DateInput, Button, Tooltip],
504
- html: `<ic-date-picker label="Date picker label" value="25/12/2022"></ic-date-picker>`,
505
- });
506
- page.rootInstance.setSelectedDate(new Date(2022, 11, 25));
507
- page.rootInstance.calendarOpen = true;
508
- await page.waitForChanges();
509
- await waitForTimeout(DELAY_MS);
510
- const prevMonthButton = page.root.shadowRoot.querySelector("#previous-month-button");
511
- prevMonthButton.click();
512
- await page.waitForChanges();
513
- await waitForTimeout(DELAY_MS);
514
- expect(page.rootInstance.focussedDate).toEqual(new Date(2022, 10, 25));
515
- const nextMonthButton = page.root.shadowRoot.querySelector("#next-month-button");
516
- nextMonthButton.click();
517
- await page.waitForChanges();
518
- await waitForTimeout(DELAY_MS);
519
- expect(page.rootInstance.focussedDate).toEqual(new Date(2022, 11, 25));
520
- const prevYearButton = page.root.shadowRoot.querySelector("#previous-year-button");
521
- prevYearButton.click();
522
- await page.waitForChanges();
523
- await waitForTimeout(DELAY_MS);
524
- expect(page.rootInstance.focussedDate).toEqual(new Date(2021, 11, 25));
525
- const nextYearButton = page.root.shadowRoot.querySelector("#next-year-button");
526
- nextYearButton.click();
527
- await page.waitForChanges();
528
- await waitForTimeout(DELAY_MS);
529
- expect(page.rootInstance.focussedDate).toEqual(new Date(2022, 11, 25));
530
- });
531
- it("should test tab on goto today button goes to first element on dialog when clear disabled", async () => {
532
- const page = await newSpecPage({
533
- components: [DatePicker, DateInput, Button, Tooltip],
534
- html: `<ic-date-picker label="Date picker label" open-at-date="25/12/2022"></ic-date-picker>`,
535
- });
536
- page.rootInstance.calendarOpen = true;
537
- await page.waitForChanges();
538
- await waitForTimeout(DELAY_MS);
539
- page.rootInstance.todayButtonKeyDownHandler(keyboardEvent("Tab"));
540
- await page.waitForChanges();
541
- expect(page.rootInstance.focusFirstElement).toHaveBeenCalled;
542
- });
543
- it("should test tab on clear button goes to first element on dialog", async () => {
544
- const page = await newSpecPage({
545
- components: [DatePicker, DateInput, Button, Tooltip],
546
- html: `<ic-date-picker label="Date picker label" open-at-date="25/12/2022"></ic-date-picker>`,
547
- });
548
- page.rootInstance.calendarOpen = true;
549
- await page.waitForChanges();
550
- await waitForTimeout(DELAY_MS);
551
- page.rootInstance.clearButtonKeyDownHandler(keyboardEvent("Tab"));
552
- await page.waitForChanges();
553
- expect(page.rootInstance.focusFirstElement).toHaveBeenCalled;
554
- });
555
- it("should test monthButtonKeyDownHandler", async () => {
556
- const page = await newSpecPage({
557
- components: [DatePicker, DateInput, Button, Tooltip],
558
- html: `<ic-date-picker label="Date picker label" open-at-date="25/12/2022"></ic-date-picker>`,
559
- });
560
- page.rootInstance.setSelectedDate(new Date(2022, 11, 25));
561
- page.rootInstance.calendarOpen = true;
562
- await page.waitForChanges();
563
- await waitForTimeout(DELAY_MS);
564
- page.rootInstance.monthPickerVisible = true;
565
- await page.waitForChanges();
566
- await waitForTimeout(DELAY_MS);
567
- page.rootInstance.monthButtonKeyDownHandler(keyboardEvent("ArrowUp"));
568
- await page.waitForChanges();
569
- expect(page.rootInstance.monthInView).toBe(10);
570
- page.rootInstance.monthButtonKeyDownHandler(keyboardEvent("ArrowDown"));
571
- await page.waitForChanges();
572
- expect(page.rootInstance.monthInView).toBe(11);
573
- page.rootInstance.monthButtonKeyDownHandler(keyboardEvent("ArrowRight"));
574
- await page.waitForChanges();
575
- expect(page.rootInstance.monthInView).toBe(0);
576
- page.rootInstance.monthButtonKeyDownHandler(keyboardEvent("ArrowLeft"));
577
- await page.waitForChanges();
578
- expect(page.rootInstance.monthInView).toBe(11);
579
- page.rootInstance.monthButtonKeyDownHandler(keyboardEvent("Home"));
580
- await page.waitForChanges();
581
- expect(page.rootInstance.monthInView).toBe(0);
582
- page.rootInstance.monthButtonKeyDownHandler(keyboardEvent("End"));
583
- await page.waitForChanges();
584
- expect(page.rootInstance.monthInView).toBe(11);
585
- Object.defineProperty(page.rootInstance.clearButtonEl, "setFocus", {
586
- value: jest.fn(),
587
- });
588
- const tabKeyEvent = keyboardEvent("Tab");
589
- tabKeyEvent.shiftKey = true;
590
- page.rootInstance.monthButtonKeyDownHandler(tabKeyEvent);
591
- await page.waitForChanges();
592
- expect(page.rootInstance.clearButtonEl.setFocus).toHaveBeenCalled();
593
- //should focus today button when clear hidden
594
- page.rootInstance.showPickerClearButton = false;
595
- await page.waitForChanges();
596
- await waitForTimeout(DELAY_MS);
597
- Object.defineProperty(page.rootInstance.todayButtonEl, "setFocus", {
598
- value: jest.fn(),
599
- });
600
- page.rootInstance.monthButtonKeyDownHandler(tabKeyEvent);
601
- await page.waitForChanges();
602
- expect(page.rootInstance.todayButtonEl.setFocus).toHaveBeenCalled();
603
- // should focus month when today hidden
604
- //should focus month button when month view open and today hidden
605
- page.rootInstance.showPickerTodayButton = false;
606
- await page.waitForChanges();
607
- await waitForTimeout(DELAY_MS);
608
- Object.defineProperty(page.rootInstance.focussedMonthEl, "setFocus", {
609
- value: jest.fn(),
610
- });
611
- page.rootInstance.monthButtonKeyDownHandler(tabKeyEvent);
612
- await page.waitForChanges();
613
- expect(page.rootInstance.focussedMonthEl.setFocus).toHaveBeenCalled();
614
- //should focus day
615
- page.rootInstance.monthButtonKeyDownHandler(keyboardEvent("Enter"));
616
- page.rootInstance.monthButtonKeyDownHandler(keyboardEvent("Escape"));
617
- await page.waitForChanges();
618
- await waitForTimeout(DELAY_MS);
619
- expect(page.rootInstance.monthPickerVisible).toBe(false);
620
- Object.defineProperty(page.rootInstance.focussedDayEl, "focus", {
621
- value: jest.fn(),
622
- });
623
- page.rootInstance.monthButtonKeyDownHandler(tabKeyEvent);
624
- await page.waitForChanges();
625
- expect(page.rootInstance.focussedDayEl.focus).toHaveBeenCalled();
626
- //should focus year
627
- page.rootInstance.yearPickerVisible = true;
628
- await page.waitForChanges();
629
- await waitForTimeout(DELAY_MS);
630
- Object.defineProperty(page.rootInstance.focussedYearEl, "setFocus", {
631
- value: jest.fn(),
632
- });
633
- page.rootInstance.monthButtonKeyDownHandler(tabKeyEvent);
634
- await page.waitForChanges();
635
- expect(page.rootInstance.focussedYearEl.setFocus).toHaveBeenCalled();
636
- });
637
- it("should test yearButtonKeyDownHandler", async () => {
638
- const page = await newSpecPage({
639
- components: [DatePicker, DateInput, Button, Tooltip],
640
- html: `<ic-date-picker label="Date picker label" open-at-date="25/12/2022"></ic-date-picker>`,
641
- });
642
- page.rootInstance.setSelectedDate(new Date(2022, 11, 25));
643
- page.rootInstance.calendarOpen = true;
644
- await page.waitForChanges();
645
- await waitForTimeout(DELAY_MS);
646
- page.rootInstance.yearPickerVisible = true;
647
- await page.waitForChanges();
648
- await waitForTimeout(DELAY_MS);
649
- page.rootInstance.yearButtonKeyDownHandler(keyboardEvent("ArrowUp"));
650
- await page.waitForChanges();
651
- expect(page.rootInstance.yearInView).toBe(2021);
652
- page.rootInstance.yearButtonKeyDownHandler(keyboardEvent("ArrowDown"));
653
- await page.waitForChanges();
654
- expect(page.rootInstance.yearInView).toBe(2022);
655
- page.rootInstance.yearButtonKeyDownHandler(keyboardEvent("ArrowRight"));
656
- await page.waitForChanges();
657
- expect(page.rootInstance.yearInView).toBe(2023);
658
- page.rootInstance.yearButtonKeyDownHandler(keyboardEvent("ArrowLeft"));
659
- await page.waitForChanges();
660
- expect(page.rootInstance.yearInView).toBe(2022);
661
- page.rootInstance.yearButtonKeyDownHandler(keyboardEvent("Home"));
662
- await page.waitForChanges();
663
- expect(page.rootInstance.yearInView).toBe(2020);
664
- page.rootInstance.yearButtonKeyDownHandler(keyboardEvent("End"));
665
- await page.waitForChanges();
666
- expect(page.rootInstance.yearInView).toBe(2029);
667
- page.rootInstance.yearButtonKeyDownHandler(keyboardEvent("PageUp"));
668
- await page.waitForChanges();
669
- expect(page.rootInstance.yearInView).toBe(2019);
670
- page.rootInstance.yearButtonKeyDownHandler(keyboardEvent("PageDown"));
671
- await page.waitForChanges();
672
- expect(page.rootInstance.yearInView).toBe(2029);
673
- page.rootInstance.yearButtonKeyDownHandler(keyboardEvent("Enter"));
674
- page.rootInstance.yearButtonKeyDownHandler(keyboardEvent("Escape"));
675
- await page.waitForChanges();
676
- await waitForTimeout(DELAY_MS);
677
- expect(page.rootInstance.yearPickerVisible).toBe(false);
678
- });
679
- it("should test monthPickerKeyDownHandler", async () => {
680
- const page = await newSpecPage({
681
- components: [DatePicker, DateInput, Button, Tooltip],
682
- html: `<ic-date-picker label="Date picker label" open-at-date="25/12/2022"></ic-date-picker>`,
683
- });
684
- page.rootInstance.calendarOpen = true;
685
- await page.waitForChanges();
686
- await waitForTimeout(DELAY_MS);
687
- page.rootInstance.monthPickerVisible = true;
688
- await page.waitForChanges();
689
- await waitForTimeout(DELAY_MS);
690
- page.rootInstance.monthPickerKeyDownHandler(keyboardEvent("ArrowUp"));
691
- await page.waitForChanges();
692
- await waitForTimeout(DELAY_MS);
693
- expect(page.rootInstance.focussedMonth).toBe(10);
694
- page.rootInstance.monthPickerKeyDownHandler(keyboardEvent("ArrowDown"));
695
- await page.waitForChanges();
696
- await waitForTimeout(DELAY_MS);
697
- expect(page.rootInstance.focussedMonth).toBe(11);
698
- page.rootInstance.monthPickerKeyDownHandler(keyboardEvent("ArrowRight"));
699
- await page.waitForChanges();
700
- await waitForTimeout(DELAY_MS);
701
- expect(page.rootInstance.focussedMonth).toBe(0);
702
- page.rootInstance.monthPickerKeyDownHandler(keyboardEvent("ArrowLeft"));
703
- await page.waitForChanges();
704
- await waitForTimeout(DELAY_MS);
705
- expect(page.rootInstance.focussedMonth).toBe(11);
706
- page.rootInstance.monthPickerKeyDownHandler(keyboardEvent("Home"));
707
- await page.waitForChanges();
708
- await waitForTimeout(DELAY_MS);
709
- expect(page.rootInstance.focussedMonth).toBe(0);
710
- page.rootInstance.monthPickerKeyDownHandler(keyboardEvent("End"));
711
- await page.waitForChanges();
712
- await waitForTimeout(DELAY_MS);
713
- expect(page.rootInstance.focussedMonth).toBe(11);
714
- page.rootInstance.monthPickerKeyDownHandler(keyboardEvent("Tab"));
715
- page.rootInstance.monthPickerKeyDownHandler(keyboardEvent("Enter"));
716
- page.rootInstance.monthPickerKeyDownHandler(keyboardEvent("Escape"));
717
- await page.waitForChanges();
718
- await waitForTimeout(DELAY_MS);
719
- expect(page.rootInstance.monthPickerVisible).toBe(false);
720
- });
721
- it("should test yearPickerKeyDownHandler ", async () => {
722
- const page = await newSpecPage({
723
- components: [DatePicker, DateInput, Button, Tooltip],
724
- html: `<ic-date-picker label="Date picker label" open-at-date="25/12/2022"></ic-date-picker>`,
725
- });
726
- page.rootInstance.calendarOpen = true;
727
- await page.waitForChanges();
728
- await waitForTimeout(DELAY_MS);
729
- page.rootInstance.yearPickerVisible = true;
730
- await page.waitForChanges();
731
- await waitForTimeout(DELAY_MS);
732
- page.rootInstance.yearPickerKeyDownHandler(keyboardEvent("ArrowUp"));
733
- await page.waitForChanges();
734
- await waitForTimeout(DELAY_MS);
735
- expect(page.rootInstance.focussedYear).toBe(2021);
736
- page.rootInstance.yearPickerKeyDownHandler(keyboardEvent("ArrowDown"));
737
- await page.waitForChanges();
738
- await waitForTimeout(DELAY_MS);
739
- expect(page.rootInstance.focussedYear).toBe(2022);
740
- page.rootInstance.yearPickerKeyDownHandler(keyboardEvent("ArrowRight"));
741
- await page.waitForChanges();
742
- await waitForTimeout(DELAY_MS);
743
- expect(page.rootInstance.focussedYear).toBe(2023);
744
- page.rootInstance.yearPickerKeyDownHandler(keyboardEvent("ArrowLeft"));
745
- await page.waitForChanges();
746
- await waitForTimeout(DELAY_MS);
747
- expect(page.rootInstance.focussedYear).toBe(2022);
748
- page.rootInstance.yearPickerKeyDownHandler(keyboardEvent("Home"));
749
- await page.waitForChanges();
750
- await waitForTimeout(DELAY_MS);
751
- expect(page.rootInstance.focussedYear).toBe(2020);
752
- page.rootInstance.yearPickerKeyDownHandler(keyboardEvent("End"));
753
- await page.waitForChanges();
754
- await waitForTimeout(DELAY_MS);
755
- expect(page.rootInstance.focussedYear).toBe(2029);
756
- page.rootInstance.yearPickerKeyDownHandler(keyboardEvent("PageUp"));
757
- await page.waitForChanges();
758
- await waitForTimeout(DELAY_MS);
759
- expect(page.rootInstance.focussedYear).toBe(2019);
760
- page.rootInstance.yearPickerKeyDownHandler(keyboardEvent("PageDown"));
761
- await page.waitForChanges();
762
- await waitForTimeout(DELAY_MS);
763
- expect(page.rootInstance.focussedYear).toBe(2029);
764
- page.rootInstance.yearPickerKeyDownHandler(keyboardEvent("Tab"));
765
- page.rootInstance.yearPickerKeyDownHandler(keyboardEvent("Enter"));
766
- page.rootInstance.yearPickerKeyDownHandler(keyboardEvent("Escape"));
767
- await page.waitForChanges();
768
- await waitForTimeout(DELAY_MS);
769
- expect(page.rootInstance.yearPickerVisible).toBe(false);
770
- });
771
- it("should test handleCalendarKeyDown", async () => {
772
- const page = await newSpecPage({
773
- components: [DatePicker, DateInput, Button, Tooltip],
774
- 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>`,
775
- });
776
- page.rootInstance.calendarOpen = true;
777
- await page.waitForChanges();
778
- await waitForTimeout(DELAY_MS);
779
- page.rootInstance.handleCalendarKeyDown(keyboardEvent("ArrowUp"));
780
- await page.waitForChanges();
781
- await waitForTimeout(DELAY_MS);
782
- expect(page.rootInstance.focussedDate).toEqual(new Date(2022, 11, 18));
783
- page.rootInstance.handleCalendarKeyDown(keyboardEvent("ArrowDown"));
784
- await page.waitForChanges();
785
- await waitForTimeout(DELAY_MS);
786
- expect(page.rootInstance.focussedDate).toEqual(new Date(2022, 11, 25));
787
- page.rootInstance.handleCalendarKeyDown(keyboardEvent("ArrowRight"));
788
- await page.waitForChanges();
789
- await waitForTimeout(DELAY_MS);
790
- expect(page.rootInstance.focussedDate).toEqual(new Date(2022, 11, 26));
791
- page.rootInstance.handleCalendarKeyDown(keyboardEvent("ArrowLeft"));
792
- await page.waitForChanges();
793
- await waitForTimeout(DELAY_MS);
794
- expect(page.rootInstance.focussedDate).toEqual(new Date(2022, 11, 25));
795
- page.rootInstance.handleCalendarKeyDown(keyboardEvent("Home"));
796
- await page.waitForChanges();
797
- await waitForTimeout(DELAY_MS);
798
- expect(page.rootInstance.focussedDate).toEqual(new Date(2022, 11, 1));
799
- page.rootInstance.handleCalendarKeyDown(keyboardEvent("End"));
800
- await page.waitForChanges();
801
- await waitForTimeout(DELAY_MS);
802
- expect(page.rootInstance.focussedDate).toEqual(new Date(2022, 11, 31));
803
- page.rootInstance.handleCalendarKeyDown(keyboardEvent("PageUp"));
804
- await page.waitForChanges();
805
- await waitForTimeout(DELAY_MS);
806
- expect(page.rootInstance.focussedDate).toEqual(new Date(2022, 10, 30));
807
- expect(page.rootInstance.liveRegionEl.innerText).toEqual("November 2022 currently in view.");
808
- let keyEvent = keyboardEvent("PageUp");
809
- keyEvent.shiftKey = true;
810
- page.rootInstance.handleCalendarKeyDown(keyEvent);
811
- await page.waitForChanges();
812
- await waitForTimeout(DELAY_MS);
813
- expect(page.rootInstance.focussedDate).toEqual(new Date(2021, 10, 30));
814
- page.rootInstance.handleCalendarKeyDown(keyboardEvent("PageDown"));
815
- await page.waitForChanges();
816
- await waitForTimeout(DELAY_MS);
817
- expect(page.rootInstance.focussedDate).toEqual(new Date(2021, 11, 30));
818
- keyEvent = keyboardEvent("PageDown");
819
- keyEvent.shiftKey = true;
820
- page.rootInstance.handleCalendarKeyDown(keyEvent);
821
- await page.waitForChanges();
822
- await waitForTimeout(DELAY_MS);
823
- expect(page.rootInstance.focussedDate).toEqual(new Date(2022, 11, 30));
824
- Object.defineProperty(page.rootInstance.monthButtonEl, "setFocus", {
825
- value: jest.fn(),
826
- });
827
- // simulate pressing enter to handle default behaviour case
828
- page.rootInstance.handleCalendarKeyDown(keyboardEvent("Enter"));
829
- page.rootInstance.handleCalendarKeyDown(keyboardEvent("Tab"));
830
- await page.waitForChanges();
831
- await waitForTimeout(DELAY_MS);
832
- expect(page.rootInstance.monthButtonEl.setFocus).toHaveBeenCalled();
833
- //test tab with clear button disabled (rather than hidden)
834
- page.root.showPickerClearButton = true;
835
- await page.waitForChanges();
836
- await waitForTimeout(DELAY_MS);
837
- page.rootInstance.clearButtonEl.disabled = true;
838
- await page.waitForChanges();
839
- page.rootInstance.handleCalendarKeyDown(keyboardEvent("Tab"));
840
- await page.waitForChanges();
841
- expect(page.rootInstance.monthButtonEl.setFocus).toHaveBeenCalledTimes(2);
842
- Object.defineProperty(page.rootInstance.yearButtonEl, "setFocus", {
843
- value: jest.fn(),
844
- });
845
- keyEvent = keyboardEvent("Tab");
846
- keyEvent.shiftKey = true;
847
- page.rootInstance.handleCalendarKeyDown(keyEvent);
848
- await page.waitForChanges();
849
- expect(page.rootInstance.yearButtonEl.setFocus).toHaveBeenCalled();
850
- });
851
- it("should test keyboard navigation when weekends disabled", async () => {
852
- const page = await newSpecPage({
853
- components: [DatePicker, DateInput, Button, Tooltip],
854
- html: `<ic-date-picker label="Date picker label" open-at-date="23/12/2022"></ic-date-picker>`,
855
- });
856
- page.root.disableDays = [0, 6];
857
- page.rootInstance.calendarOpen = true;
858
- await page.waitForChanges();
859
- await waitForTimeout(DELAY_MS);
860
- page.rootInstance.handleCalendarKeyDown(keyboardEvent("ArrowRight"));
861
- await page.waitForChanges();
862
- await waitForTimeout(DELAY_MS);
863
- expect(page.rootInstance.focussedDate).toEqual(new Date(2022, 11, 26));
864
- page.rootInstance.handleCalendarKeyDown(keyboardEvent("ArrowLeft"));
865
- await page.waitForChanges();
866
- await waitForTimeout(DELAY_MS);
867
- expect(page.rootInstance.focussedDate).toEqual(new Date(2022, 11, 23));
868
- });
869
- it("should test calendarButtonClickHandler", async () => {
870
- const page = await newSpecPage({
871
- components: [DatePicker, DateInput, Button, Tooltip],
872
- html: `<ic-date-picker label="Date picker label"></ic-date-picker>`,
873
- });
874
- page.rootInstance.calendarOpen = true;
875
- await page.waitForChanges();
876
- await waitForTimeout(DELAY_MS);
877
- page.rootInstance.calendarButtonClickHandler();
878
- expect(page.rootInstance.calendarOpen).toBe(false);
879
- });
880
- it("should test localCalendarButtonClickHandler", async () => {
881
- const page = await newSpecPage({
882
- components: [DatePicker, DateInput, Button, Tooltip],
883
- html: `<ic-date-picker label="Date picker label"></ic-date-picker>`,
884
- });
885
- const ev = { detail: { value: new Date(2022, 11, 25) } };
886
- page.rootInstance.localCalendarButtonClickHandler(ev);
887
- await page.waitForChanges();
888
- await waitForTimeout(DELAY_MS);
889
- expect(page.rootInstance.calendarOpen).toBe(true);
890
- expect(page.rootInstance.focussedDate).toEqual(new Date(2022, 11, 25));
891
- });
892
- it("should test blur of day button", async () => {
893
- const page = await newSpecPage({
894
- components: [DatePicker, DateInput, Button, Tooltip],
895
- html: `<ic-date-picker label="Date picker label" open-at-date="23/12/2022"></ic-date-picker>`,
896
- });
897
- page.rootInstance.calendarOpen = true;
898
- await page.waitForChanges();
899
- await waitForTimeout(DELAY_MS);
900
- expect(page.rootInstance.dayButtonFocussed).toBe(true);
901
- const dayButton = page.root.shadowRoot.querySelector("div.calendar-days-container > div.day-button-container:nth-child(26) > button");
902
- dayButton.blur();
903
- expect(page.rootInstance.dayButtonFocussed).toBe(false);
904
- });
905
- it("should test nav button mouse down handler", async () => {
906
- const page = await newSpecPage({
907
- components: [DatePicker, DateInput, Button, Tooltip],
908
- html: `<ic-date-picker label="Date picker label" open-at-date="23/12/2022"></ic-date-picker>`,
909
- });
910
- page.rootInstance.calendarOpen = true;
911
- await page.waitForChanges();
912
- await waitForTimeout(DELAY_MS);
913
- const dayButton = page.root.shadowRoot.querySelector("#previous-month-button");
914
- const mouseEvent = new window.window.MouseEvent("mousedown", {
915
- bubbles: true,
916
- cancelable: true,
917
- });
918
- Object.defineProperty(mouseEvent, "preventDefault", {
919
- value: jest.fn(),
920
- });
921
- dayButton.dispatchEvent(mouseEvent);
922
- await page.waitForChanges();
923
- expect(mouseEvent.preventDefault).toHaveBeenCalled();
924
- });
925
- it("should test setAriaLiveRegionText", async () => {
926
- const page = await newSpecPage({
927
- components: [DatePicker, DateInput, Button, Tooltip],
928
- html: `<ic-date-picker label="Date picker label" open-at-date="23/12/2022"></ic-date-picker>`,
929
- });
930
- page.rootInstance.calendarOpen = true;
931
- await page.waitForChanges();
932
- await waitForTimeout(DELAY_MS);
933
- const text = "some text in the aria live region";
934
- page.rootInstance.setAriaLiveRegionText(text);
935
- await page.waitForChanges();
936
- expect(page.rootInstance.liveRegionEl.innerText).toEqual(text);
937
- });
938
- it("should test focus and blur of year button", async () => {
939
- const page = await newSpecPage({
940
- components: [DatePicker, DateInput, Button, Tooltip],
941
- html: `<ic-date-picker label="Date picker label" open-at-date="23/12/2022"></ic-date-picker>`,
942
- });
943
- page.rootInstance.calendarOpen = true;
944
- await page.waitForChanges();
945
- await waitForTimeout(DELAY_MS);
946
- const yearButton = page.root.shadowRoot.querySelector(".year-picker-button");
947
- yearButton.click();
948
- await page.waitForChanges();
949
- await waitForTimeout(DELAY_MS);
950
- expect(page.rootInstance.yearButtonFocussed).toBe(false);
951
- const firstYearButton = page.root.shadowRoot.querySelector("div.year-picker > ic-button:nth-child(2)");
952
- firstYearButton.focus();
953
- await page.waitForChanges();
954
- await waitForTimeout(DELAY_MS);
955
- expect(page.rootInstance.yearButtonFocussed).toBe(true);
956
- firstYearButton.blur();
957
- await page.waitForChanges();
958
- await waitForTimeout(DELAY_MS);
959
- expect(page.rootInstance.yearButtonFocussed).toBe(false);
960
- });
961
- });
962
- //# sourceMappingURL=ic-date-picker.spec.js.map