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

Sign up to get free protection for your applications and to get access to all the features.
Files changed (496) hide show
  1. package/dist/cjs/core.cjs.js +1 -1
  2. package/dist/cjs/date-helpers-c9551119.js +150 -0
  3. package/dist/cjs/date-helpers-c9551119.js.map +1 -0
  4. package/dist/cjs/{helpers-b525d45a.js → helpers-6acbb97e.js} +15 -3
  5. package/dist/cjs/helpers-6acbb97e.js.map +1 -0
  6. package/dist/cjs/{helpers-c4444a7e.js → helpers-f75cf7cf.js} +94 -48
  7. package/dist/cjs/helpers-f75cf7cf.js.map +1 -0
  8. package/dist/cjs/ic-accordion-group.cjs.entry.js +11 -2
  9. package/dist/cjs/ic-accordion-group.cjs.entry.js.map +1 -1
  10. package/dist/cjs/ic-accordion.cjs.entry.js +1 -1
  11. package/dist/cjs/ic-alert.cjs.entry.js +1 -1
  12. package/dist/cjs/ic-back-to-top.cjs.entry.js +1 -1
  13. package/dist/cjs/ic-badge.cjs.entry.js +16 -8
  14. package/dist/cjs/ic-badge.cjs.entry.js.map +1 -1
  15. package/dist/cjs/ic-breadcrumb-group.cjs.entry.js +1 -1
  16. package/dist/cjs/ic-breadcrumb.cjs.entry.js +1 -1
  17. package/dist/cjs/ic-button_3.cjs.entry.js +8 -2
  18. package/dist/cjs/ic-button_3.cjs.entry.js.map +1 -1
  19. package/dist/cjs/ic-card.cjs.entry.js +1 -1
  20. package/dist/cjs/ic-checkbox-group.cjs.entry.js +1 -1
  21. package/dist/cjs/ic-checkbox.cjs.entry.js +1 -1
  22. package/dist/cjs/ic-chip.cjs.entry.js +1 -1
  23. package/dist/cjs/ic-data-row.cjs.entry.js +1 -1
  24. package/dist/cjs/ic-data-table.cjs.entry.js +43 -308
  25. package/dist/cjs/ic-data-table.cjs.entry.js.map +1 -1
  26. package/dist/cjs/ic-date-input.cjs.entry.js +1108 -0
  27. package/dist/cjs/ic-date-input.cjs.entry.js.map +1 -0
  28. package/dist/cjs/ic-date-picker.cjs.entry.js +1053 -0
  29. package/dist/cjs/ic-date-picker.cjs.entry.js.map +1 -0
  30. package/dist/cjs/ic-dialog.cjs.entry.js +14 -4
  31. package/dist/cjs/ic-dialog.cjs.entry.js.map +1 -1
  32. package/dist/cjs/ic-divider.cjs.entry.js +1 -1
  33. package/dist/cjs/ic-empty-state.cjs.entry.js +38 -0
  34. package/dist/cjs/ic-empty-state.cjs.entry.js.map +1 -0
  35. package/dist/cjs/ic-footer-link-group.cjs.entry.js +1 -1
  36. package/dist/cjs/ic-footer-link.cjs.entry.js +1 -1
  37. package/dist/cjs/ic-footer.cjs.entry.js +1 -1
  38. package/dist/cjs/ic-hero.cjs.entry.js +1 -1
  39. package/dist/cjs/ic-horizontal-scroll.cjs.entry.js +1 -1
  40. package/dist/cjs/ic-input-component-container_4.cjs.entry.js +150 -0
  41. package/dist/cjs/ic-input-component-container_4.cjs.entry.js.map +1 -0
  42. package/dist/cjs/ic-link.cjs.entry.js +1 -1
  43. package/dist/cjs/ic-menu-group.cjs.entry.js +1 -1
  44. package/dist/cjs/ic-menu-item.cjs.entry.js +1 -1
  45. package/dist/cjs/ic-menu-with-multi.cjs.entry.js +1 -1
  46. package/dist/cjs/ic-menu-with-multi.cjs.entry.js.map +1 -1
  47. package/dist/cjs/{ic-input-component-container_3.cjs.entry.js → ic-menu.cjs.entry.js} +5 -69
  48. package/dist/cjs/ic-menu.cjs.entry.js.map +1 -0
  49. package/dist/cjs/ic-navigation-button.cjs.entry.js +1 -1
  50. package/dist/cjs/ic-navigation-group.cjs.entry.js +16 -13
  51. package/dist/cjs/ic-navigation-group.cjs.entry.js.map +1 -1
  52. package/dist/cjs/ic-navigation-item.cjs.entry.js +29 -33
  53. package/dist/cjs/ic-navigation-item.cjs.entry.js.map +1 -1
  54. package/dist/cjs/ic-navigation-menu.cjs.entry.js +1 -1
  55. package/dist/cjs/ic-page-header.cjs.entry.js +1 -1
  56. package/dist/cjs/{ic-empty-state_2.cjs.entry.js → ic-pagination-bar.cjs.entry.js} +4 -34
  57. package/dist/cjs/ic-pagination-bar.cjs.entry.js.map +1 -0
  58. package/dist/cjs/ic-pagination_4.cjs.entry.js +5 -5
  59. package/dist/cjs/ic-pagination_4.cjs.entry.js.map +1 -1
  60. package/dist/cjs/ic-popover-menu.cjs.entry.js +1 -1
  61. package/dist/cjs/ic-radio-group.cjs.entry.js +1 -1
  62. package/dist/cjs/ic-radio-option.cjs.entry.js +1 -1
  63. package/dist/cjs/ic-search-bar.cjs.entry.js +1 -1
  64. package/dist/cjs/ic-select-with-multi.cjs.entry.js +6 -19
  65. package/dist/cjs/ic-select-with-multi.cjs.entry.js.map +1 -1
  66. package/dist/cjs/ic-side-navigation.cjs.entry.js +2 -2
  67. package/dist/cjs/ic-side-navigation.cjs.entry.js.map +1 -1
  68. package/dist/cjs/ic-status-tag.cjs.entry.js +1 -1
  69. package/dist/cjs/ic-step.cjs.entry.js +1 -1
  70. package/dist/cjs/ic-stepper.cjs.entry.js +1 -1
  71. package/dist/cjs/ic-switch.cjs.entry.js +1 -1
  72. package/dist/cjs/ic-tab-context.cjs.entry.js +18 -2
  73. package/dist/cjs/ic-tab-context.cjs.entry.js.map +1 -1
  74. package/dist/cjs/ic-tab-group.cjs.entry.js +1 -1
  75. package/dist/cjs/ic-tab-panel.cjs.entry.js +1 -1
  76. package/dist/cjs/ic-tab.cjs.entry.js +1 -1
  77. package/dist/cjs/ic-theme.cjs.entry.js +1 -1
  78. package/dist/cjs/ic-toast.cjs.entry.js +1 -1
  79. package/dist/cjs/ic-toggle-button.cjs.entry.js +1 -1
  80. package/dist/cjs/ic-top-navigation.cjs.entry.js +46 -60
  81. package/dist/cjs/ic-top-navigation.cjs.entry.js.map +1 -1
  82. package/dist/cjs/ic-typography.cjs.entry.js +11 -35
  83. package/dist/cjs/ic-typography.cjs.entry.js.map +1 -1
  84. package/dist/cjs/index-4cf27b16.js +18 -10
  85. package/dist/cjs/loader.cjs.js +1 -1
  86. package/dist/collection/assets/calendar.svg +3 -0
  87. package/dist/collection/collection-manifest.json +2 -1
  88. package/dist/collection/components/ic-data-table/ic-data-table.css +7 -82
  89. package/dist/collection/components/ic-data-table/ic-data-table.js +44 -535
  90. package/dist/collection/components/ic-data-table/ic-data-table.js.map +1 -1
  91. package/dist/collection/components/ic-data-table/ic-data-table.types.js.map +1 -1
  92. package/dist/collection/components/ic-data-table/story-data.js +11 -386
  93. package/dist/collection/components/ic-data-table/story-data.js.map +1 -1
  94. package/dist/collection/components/ic-data-table/test/basic/ic-data-table.spec.js +0 -319
  95. package/dist/collection/components/ic-data-table/test/basic/ic-data-table.spec.js.map +1 -1
  96. package/dist/collection/components/ic-date-input/ic-date-input.css +560 -0
  97. package/dist/collection/components/ic-date-input/ic-date-input.js +1737 -0
  98. package/dist/collection/components/ic-date-input/ic-date-input.js.map +1 -0
  99. package/dist/collection/components/ic-date-input/story-data.js +28 -0
  100. package/dist/collection/components/ic-date-input/story-data.js.map +1 -0
  101. package/dist/collection/components/ic-date-input/test/basic/ic-date-input.spec.js +1142 -0
  102. package/dist/collection/components/ic-date-input/test/basic/ic-date-input.spec.js.map +1 -0
  103. package/dist/collection/components/ic-date-input/test/helpers/ic-date-input.js +42 -0
  104. package/dist/collection/components/ic-date-input/test/helpers/ic-date-input.js.map +1 -0
  105. package/dist/collection/components/ic-date-picker/ic-date-picker.css +878 -0
  106. package/dist/collection/components/ic-date-picker/ic-date-picker.js +1512 -0
  107. package/dist/collection/components/ic-date-picker/ic-date-picker.js.map +1 -0
  108. package/dist/collection/components/ic-date-picker/ic-day-button.js +36 -0
  109. package/dist/collection/components/ic-date-picker/ic-day-button.js.map +1 -0
  110. package/dist/collection/components/ic-date-picker/ic-month-picker.js +29 -0
  111. package/dist/collection/components/ic-date-picker/ic-month-picker.js.map +1 -0
  112. package/dist/collection/components/ic-date-picker/ic-year-picker.js +39 -0
  113. package/dist/collection/components/ic-date-picker/ic-year-picker.js.map +1 -0
  114. package/dist/collection/components/ic-date-picker/story-data.js +148 -0
  115. package/dist/collection/components/ic-date-picker/story-data.js.map +1 -0
  116. package/dist/collection/components/{ic-data-table-title-bar/test/a11y/ic-data-table-title-bar.test.a11y.js → ic-date-picker/test/a11y/ic-date-picker.test.a11y.js} +5 -3
  117. package/dist/collection/components/ic-date-picker/test/a11y/ic-date-picker.test.a11y.js.map +1 -0
  118. package/dist/collection/components/ic-date-picker/test/basic/ic-date-picker-utils.spec.js +207 -0
  119. package/dist/collection/components/ic-date-picker/test/basic/ic-date-picker-utils.spec.js.map +1 -0
  120. package/dist/collection/components/ic-date-picker/test/basic/ic-date-picker.spec.js +991 -0
  121. package/dist/collection/components/ic-date-picker/test/basic/ic-date-picker.spec.js.map +1 -0
  122. package/dist/collection/components/ic-menu-with-multi/ic-menu.js +2 -2
  123. package/dist/collection/components/ic-menu-with-multi/ic-menu.js.map +1 -1
  124. package/dist/collection/components/ic-pagination-bar/ic-pagination-bar.js +1 -1
  125. package/dist/collection/components/ic-pagination-bar/ic-pagination-bar.js.map +1 -1
  126. package/dist/collection/components/ic-select-with-multi/ic-select.js +2 -2
  127. package/dist/collection/components/ic-select-with-multi/ic-select.js.map +1 -1
  128. package/dist/collection/utils/constants.js +55 -0
  129. package/dist/collection/utils/constants.js.map +1 -1
  130. package/dist/collection/utils/date-helpers.js +133 -0
  131. package/dist/collection/utils/date-helpers.js.map +1 -0
  132. package/dist/collection/utils/helpers.js +272 -42
  133. package/dist/collection/utils/helpers.js.map +1 -1
  134. package/dist/collection/utils/types.js +45 -0
  135. package/dist/collection/utils/types.js.map +1 -1
  136. package/dist/components/helpers.js +15 -3
  137. package/dist/components/helpers.js.map +1 -1
  138. package/dist/components/helpers2.js +91 -45
  139. package/dist/components/helpers2.js.map +1 -1
  140. package/dist/components/ic-accordion-group.js +14 -4
  141. package/dist/components/ic-accordion-group.js.map +1 -1
  142. package/dist/components/ic-badge.js +16 -8
  143. package/dist/components/ic-badge.js.map +1 -1
  144. package/dist/components/ic-button2.js +11 -3
  145. package/dist/components/ic-button2.js.map +1 -1
  146. package/dist/components/ic-card.js +1 -1
  147. package/dist/components/ic-checkbox-group.js +1 -1
  148. package/dist/components/ic-checkbox.js +1 -1
  149. package/dist/components/ic-chip.js +1 -1
  150. package/dist/components/ic-data-table.js +49 -334
  151. package/dist/components/ic-data-table.js.map +1 -1
  152. package/dist/components/{ic-data-table-title-bar.d.ts → ic-date-input.d.ts} +4 -4
  153. package/dist/components/ic-date-input.js +8 -0
  154. package/dist/components/ic-date-input.js.map +1 -0
  155. package/dist/components/ic-date-input2.js +1340 -0
  156. package/dist/components/ic-date-input2.js.map +1 -0
  157. package/dist/components/ic-date-picker.d.ts +11 -0
  158. package/dist/components/ic-date-picker.js +1175 -0
  159. package/dist/components/ic-date-picker.js.map +1 -0
  160. package/dist/components/ic-dialog.js +13 -3
  161. package/dist/components/ic-dialog.js.map +1 -1
  162. package/dist/components/ic-empty-state.js +57 -1
  163. package/dist/components/ic-empty-state.js.map +1 -1
  164. package/dist/components/ic-input-component-container2.js +1 -1
  165. package/dist/components/ic-input-component-container2.js.map +1 -1
  166. package/dist/components/ic-link2.js +1 -1
  167. package/dist/components/ic-menu-item2.js +1 -1
  168. package/dist/components/ic-menu2.js +2 -2
  169. package/dist/components/ic-menu2.js.map +1 -1
  170. package/dist/components/ic-menu3.js +1 -1
  171. package/dist/components/ic-menu3.js.map +1 -1
  172. package/dist/components/ic-navigation-button.js +1 -1
  173. package/dist/components/ic-navigation-group.js +15 -12
  174. package/dist/components/ic-navigation-group.js.map +1 -1
  175. package/dist/components/ic-navigation-item.js +29 -33
  176. package/dist/components/ic-navigation-item.js.map +1 -1
  177. package/dist/components/ic-pagination-bar2.js +1 -1
  178. package/dist/components/ic-pagination-bar2.js.map +1 -1
  179. package/dist/components/ic-pagination-item2.js +1 -1
  180. package/dist/components/ic-pagination2.js +5 -5
  181. package/dist/components/ic-pagination2.js.map +1 -1
  182. package/dist/components/ic-radio-group.js +1 -1
  183. package/dist/components/ic-radio-option.js +1 -1
  184. package/dist/components/ic-search-bar.js +1 -1
  185. package/dist/components/ic-select-with-multi.js +1 -14
  186. package/dist/components/ic-select-with-multi.js.map +1 -1
  187. package/dist/components/ic-select2.js +1 -1
  188. package/dist/components/ic-side-navigation.js +1 -1
  189. package/dist/components/ic-side-navigation.js.map +1 -1
  190. package/dist/components/ic-switch.js +1 -1
  191. package/dist/components/ic-tab-context.js +18 -2
  192. package/dist/components/ic-tab-context.js.map +1 -1
  193. package/dist/components/ic-tab.js +1 -1
  194. package/dist/components/ic-text-field2.js +1 -1
  195. package/dist/components/ic-toggle-button.js +1 -1
  196. package/dist/components/ic-top-navigation.js +47 -61
  197. package/dist/components/ic-top-navigation.js.map +1 -1
  198. package/dist/components/ic-typography2.js +12 -38
  199. package/dist/components/ic-typography2.js.map +1 -1
  200. package/dist/core/core.css +1 -1
  201. package/dist/core/core.esm.js +1 -1
  202. package/dist/core/core.esm.js.map +1 -1
  203. package/dist/core/{p-917c5721.entry.js → p-04f46dac.entry.js} +2 -2
  204. package/dist/core/{p-204ace96.entry.js → p-05d0ac42.entry.js} +2 -2
  205. package/dist/core/{p-a50c3b9e.entry.js → p-0707f2fc.entry.js} +2 -2
  206. package/dist/core/{p-6933f8e9.entry.js → p-094a0455.entry.js} +2 -2
  207. package/dist/core/{p-a434c3d4.entry.js → p-1170c02d.entry.js} +2 -2
  208. package/dist/core/{p-869954a2.entry.js → p-169dcfdd.entry.js} +2 -2
  209. package/dist/core/{p-f7a14c01.entry.js → p-1a4bce88.entry.js} +2 -2
  210. package/dist/core/{p-76915584.entry.js → p-1c3bd46d.entry.js} +2 -2
  211. package/dist/core/p-1c3bd46d.entry.js.map +1 -0
  212. package/dist/core/{p-4baa0916.entry.js → p-28bddd8d.entry.js} +2 -2
  213. package/dist/core/{p-a43c12cd.entry.js → p-2ec33c00.entry.js} +2 -2
  214. package/dist/core/p-31800427.entry.js +2 -0
  215. package/dist/core/{p-045359e1.entry.js.map → p-31800427.entry.js.map} +1 -1
  216. package/dist/core/p-33dd24eb.js +2 -0
  217. package/dist/core/p-33dd24eb.js.map +1 -0
  218. package/dist/core/p-3b0caac0.js +2 -0
  219. package/dist/core/p-3b0caac0.js.map +1 -0
  220. package/dist/core/{p-f843da01.entry.js → p-3d0185a4.entry.js} +2 -2
  221. package/dist/core/{p-f3c840cd.entry.js → p-3f4c408a.entry.js} +2 -2
  222. package/dist/core/{p-e834344e.entry.js → p-4020d7f7.entry.js} +2 -2
  223. package/dist/core/p-402fd288.entry.js +2 -0
  224. package/dist/core/p-402fd288.entry.js.map +1 -0
  225. package/dist/core/{p-88d54b72.entry.js → p-49449a2d.entry.js} +2 -2
  226. package/dist/core/{p-db9c03c0.entry.js → p-4a30b0fc.entry.js} +2 -2
  227. package/dist/core/{p-a31031a5.entry.js → p-4b361789.entry.js} +2 -2
  228. package/dist/core/p-50cfc2bb.entry.js +2 -0
  229. package/dist/core/{p-ba86928c.entry.js.map → p-50cfc2bb.entry.js.map} +1 -1
  230. package/dist/core/{p-624d4f5f.entry.js → p-55d819a6.entry.js} +2 -2
  231. package/dist/core/{p-10fb4c46.entry.js → p-58c87b3d.entry.js} +2 -2
  232. package/dist/core/p-623f911f.entry.js +2 -0
  233. package/dist/core/p-623f911f.entry.js.map +1 -0
  234. package/dist/core/p-66b8f0a7.entry.js +2 -0
  235. package/dist/core/p-66b8f0a7.entry.js.map +1 -0
  236. package/dist/core/p-6b68ee01.entry.js +2 -0
  237. package/dist/core/p-6b68ee01.entry.js.map +1 -0
  238. package/dist/core/{p-595be57d.entry.js → p-7c8f85fd.entry.js} +2 -2
  239. package/dist/core/{p-d8469ac0.entry.js → p-7d1381ef.entry.js} +2 -2
  240. package/dist/core/p-849f43c3.entry.js +2 -0
  241. package/dist/core/p-849f43c3.entry.js.map +1 -0
  242. package/dist/core/{p-e3997d60.entry.js → p-8b1d128c.entry.js} +2 -2
  243. package/dist/core/{p-81ddc39d.entry.js → p-8ef85b15.entry.js} +2 -2
  244. package/dist/core/p-925da2d2.entry.js +2 -0
  245. package/dist/core/p-925da2d2.entry.js.map +1 -0
  246. package/dist/core/p-940de102.entry.js +2 -0
  247. package/dist/core/p-940de102.entry.js.map +1 -0
  248. package/dist/core/p-981b6f12.entry.js +2 -0
  249. package/dist/core/p-981b6f12.entry.js.map +1 -0
  250. package/dist/core/{p-b6639e4a.entry.js → p-9e3178e8.entry.js} +2 -2
  251. package/dist/core/{p-b6639e4a.entry.js.map → p-9e3178e8.entry.js.map} +1 -1
  252. package/dist/core/{p-a0f8efb2.entry.js → p-a9ed6a71.entry.js} +2 -2
  253. package/dist/core/p-aabab75f.entry.js +2 -0
  254. package/dist/core/p-aabab75f.entry.js.map +1 -0
  255. package/dist/core/{p-ab09986c.entry.js → p-b3d21d06.entry.js} +2 -2
  256. package/dist/core/p-b612d68b.entry.js +2 -0
  257. package/dist/core/p-b612d68b.entry.js.map +1 -0
  258. package/dist/core/p-b8a3b16d.entry.js +2 -0
  259. package/dist/core/p-b8a3b16d.entry.js.map +1 -0
  260. package/dist/core/{p-b82dcc29.entry.js → p-bbcd6d06.entry.js} +2 -2
  261. package/dist/core/{p-1ca332ca.entry.js → p-bcfbd465.entry.js} +2 -2
  262. package/dist/core/{p-5ae93c16.entry.js → p-bf316546.entry.js} +2 -2
  263. package/dist/core/{p-fc5611e2.entry.js → p-c51496ee.entry.js} +2 -2
  264. package/dist/core/p-c51496ee.entry.js.map +1 -0
  265. package/dist/core/p-c7590421.entry.js +2 -0
  266. package/dist/core/p-c7590421.entry.js.map +1 -0
  267. package/dist/core/{p-4f413fc0.entry.js → p-c7b52046.entry.js} +2 -2
  268. package/dist/core/p-cd799087.js +2 -0
  269. package/dist/core/p-cd799087.js.map +1 -0
  270. package/dist/core/{p-7ef8d616.entry.js → p-da578abf.entry.js} +2 -2
  271. package/dist/core/p-dae1779d.entry.js +2 -0
  272. package/dist/core/{p-f14454b1.entry.js.map → p-dae1779d.entry.js.map} +1 -1
  273. package/dist/core/{p-8b08d8fe.entry.js → p-e0e26834.entry.js} +2 -2
  274. package/dist/core/p-e189f1d0.entry.js +2 -0
  275. package/dist/core/p-e189f1d0.entry.js.map +1 -0
  276. package/dist/core/p-e30f2623.entry.js +2 -0
  277. package/dist/core/p-e30f2623.entry.js.map +1 -0
  278. package/dist/core/p-e676069e.entry.js +2 -0
  279. package/dist/core/p-e676069e.entry.js.map +1 -0
  280. package/dist/core/{p-75dac3d1.entry.js → p-ed7379e3.entry.js} +2 -2
  281. package/dist/core/{p-c34848da.entry.js → p-f4965c26.entry.js} +2 -2
  282. package/dist/core/{p-6c3044b6.entry.js → p-f9ee48f7.entry.js} +2 -2
  283. package/dist/core/{p-2eac7dcc.entry.js → p-f9fcdd21.entry.js} +2 -2
  284. package/dist/core/p-fdd8f3a5.entry.js +2 -0
  285. package/dist/core/p-fdd8f3a5.entry.js.map +1 -0
  286. package/dist/core/{p-5e0c830b.entry.js → p-ffa94639.entry.js} +2 -2
  287. package/dist/core/{p-5e0c830b.entry.js.map → p-ffa94639.entry.js.map} +1 -1
  288. package/dist/esm/core.js +1 -1
  289. package/dist/esm/date-helpers-0e5e32a7.js +136 -0
  290. package/dist/esm/date-helpers-0e5e32a7.js.map +1 -0
  291. package/dist/esm/{helpers-12b4266a.js → helpers-451953f9.js} +16 -4
  292. package/dist/esm/helpers-451953f9.js.map +1 -0
  293. package/dist/esm/{helpers-1f07eb61.js → helpers-f328a7b6.js} +92 -46
  294. package/dist/esm/helpers-f328a7b6.js.map +1 -0
  295. package/dist/esm/ic-accordion-group.entry.js +11 -2
  296. package/dist/esm/ic-accordion-group.entry.js.map +1 -1
  297. package/dist/esm/ic-accordion.entry.js +1 -1
  298. package/dist/esm/ic-alert.entry.js +1 -1
  299. package/dist/esm/ic-back-to-top.entry.js +1 -1
  300. package/dist/esm/ic-badge.entry.js +16 -8
  301. package/dist/esm/ic-badge.entry.js.map +1 -1
  302. package/dist/esm/ic-breadcrumb-group.entry.js +1 -1
  303. package/dist/esm/ic-breadcrumb.entry.js +1 -1
  304. package/dist/esm/ic-button_3.entry.js +8 -2
  305. package/dist/esm/ic-button_3.entry.js.map +1 -1
  306. package/dist/esm/ic-card.entry.js +1 -1
  307. package/dist/esm/ic-checkbox-group.entry.js +1 -1
  308. package/dist/esm/ic-checkbox.entry.js +1 -1
  309. package/dist/esm/ic-chip.entry.js +1 -1
  310. package/dist/esm/ic-data-row.entry.js +1 -1
  311. package/dist/esm/ic-data-table.entry.js +44 -309
  312. package/dist/esm/ic-data-table.entry.js.map +1 -1
  313. package/dist/esm/ic-date-input.entry.js +1104 -0
  314. package/dist/esm/ic-date-input.entry.js.map +1 -0
  315. package/dist/esm/ic-date-picker.entry.js +1049 -0
  316. package/dist/esm/ic-date-picker.entry.js.map +1 -0
  317. package/dist/esm/ic-dialog.entry.js +14 -4
  318. package/dist/esm/ic-dialog.entry.js.map +1 -1
  319. package/dist/esm/ic-divider.entry.js +1 -1
  320. package/dist/{components/ic-empty-state2.js → esm/ic-empty-state.entry.js} +11 -38
  321. package/dist/esm/ic-empty-state.entry.js.map +1 -0
  322. package/dist/esm/ic-footer-link-group.entry.js +1 -1
  323. package/dist/esm/ic-footer-link.entry.js +1 -1
  324. package/dist/esm/ic-footer.entry.js +1 -1
  325. package/dist/esm/ic-hero.entry.js +1 -1
  326. package/dist/esm/ic-horizontal-scroll.entry.js +1 -1
  327. package/dist/esm/ic-input-component-container_4.entry.js +143 -0
  328. package/dist/esm/ic-input-component-container_4.entry.js.map +1 -0
  329. package/dist/esm/ic-link.entry.js +1 -1
  330. package/dist/esm/ic-menu-group.entry.js +1 -1
  331. package/dist/esm/ic-menu-item.entry.js +1 -1
  332. package/dist/esm/ic-menu-with-multi.entry.js +1 -1
  333. package/dist/esm/ic-menu-with-multi.entry.js.map +1 -1
  334. package/dist/esm/{ic-input-component-container_3.entry.js → ic-menu.entry.js} +7 -69
  335. package/dist/esm/ic-menu.entry.js.map +1 -0
  336. package/dist/esm/ic-navigation-button.entry.js +1 -1
  337. package/dist/esm/ic-navigation-group.entry.js +16 -13
  338. package/dist/esm/ic-navigation-group.entry.js.map +1 -1
  339. package/dist/esm/ic-navigation-item.entry.js +29 -33
  340. package/dist/esm/ic-navigation-item.entry.js.map +1 -1
  341. package/dist/esm/ic-navigation-menu.entry.js +1 -1
  342. package/dist/esm/ic-page-header.entry.js +1 -1
  343. package/dist/esm/{ic-empty-state_2.entry.js → ic-pagination-bar.entry.js} +5 -34
  344. package/dist/esm/ic-pagination-bar.entry.js.map +1 -0
  345. package/dist/esm/ic-pagination_4.entry.js +5 -5
  346. package/dist/esm/ic-pagination_4.entry.js.map +1 -1
  347. package/dist/esm/ic-popover-menu.entry.js +1 -1
  348. package/dist/esm/ic-radio-group.entry.js +1 -1
  349. package/dist/esm/ic-radio-option.entry.js +1 -1
  350. package/dist/esm/ic-search-bar.entry.js +1 -1
  351. package/dist/esm/ic-select-with-multi.entry.js +1 -14
  352. package/dist/esm/ic-select-with-multi.entry.js.map +1 -1
  353. package/dist/esm/ic-side-navigation.entry.js +2 -2
  354. package/dist/esm/ic-side-navigation.entry.js.map +1 -1
  355. package/dist/esm/ic-status-tag.entry.js +1 -1
  356. package/dist/esm/ic-step.entry.js +1 -1
  357. package/dist/esm/ic-stepper.entry.js +1 -1
  358. package/dist/esm/ic-switch.entry.js +1 -1
  359. package/dist/esm/ic-tab-context.entry.js +18 -2
  360. package/dist/esm/ic-tab-context.entry.js.map +1 -1
  361. package/dist/esm/ic-tab-group.entry.js +1 -1
  362. package/dist/esm/ic-tab-panel.entry.js +1 -1
  363. package/dist/esm/ic-tab.entry.js +1 -1
  364. package/dist/esm/ic-theme.entry.js +1 -1
  365. package/dist/esm/ic-toast.entry.js +1 -1
  366. package/dist/esm/ic-toggle-button.entry.js +1 -1
  367. package/dist/esm/ic-top-navigation.entry.js +46 -60
  368. package/dist/esm/ic-top-navigation.entry.js.map +1 -1
  369. package/dist/esm/ic-typography.entry.js +12 -36
  370. package/dist/esm/ic-typography.entry.js.map +1 -1
  371. package/dist/esm/index-93509377.js +18 -10
  372. package/dist/esm/loader.js +1 -1
  373. package/dist/esm/polyfills/core-js.js +0 -0
  374. package/dist/esm/polyfills/dom.js +0 -0
  375. package/dist/esm/polyfills/es5-html-element.js +0 -0
  376. package/dist/esm/polyfills/index.js +0 -0
  377. package/dist/esm/polyfills/system.js +0 -0
  378. package/dist/types/components/ic-data-table/ic-data-table.d.ts +1 -96
  379. package/dist/types/components/ic-data-table/ic-data-table.types.d.ts +0 -11
  380. package/dist/types/components/ic-data-table/story-data.d.ts +0 -99
  381. package/dist/types/components/ic-date-input/ic-date-input.d.ts +251 -0
  382. package/dist/types/components/ic-date-input/story-data.d.ts +1 -0
  383. package/dist/types/components/ic-date-input/test/helpers/ic-date-input.d.ts +23 -0
  384. package/dist/types/components/ic-date-picker/ic-date-picker.d.ts +231 -0
  385. package/dist/types/components/ic-date-picker/ic-day-button.d.ts +16 -0
  386. package/dist/types/components/ic-date-picker/ic-month-picker.d.ts +14 -0
  387. package/dist/types/components/ic-date-picker/ic-year-picker.d.ts +16 -0
  388. package/dist/types/components/ic-date-picker/story-data.d.ts +22 -0
  389. package/dist/types/components/ic-menu-with-multi/ic-menu.d.ts +2 -2
  390. package/dist/types/components/ic-select-with-multi/ic-select.d.ts +2 -2
  391. package/dist/types/components.d.ts +390 -141
  392. package/dist/types/utils/constants.d.ts +37 -0
  393. package/dist/types/utils/date-helpers.d.ts +22 -0
  394. package/dist/types/utils/helpers.d.ts +84 -16
  395. package/dist/types/utils/types.d.ts +92 -1
  396. package/hydrate/index.js +3026 -950
  397. package/package.json +4 -3
  398. package/dist/cjs/helpers-b525d45a.js.map +0 -1
  399. package/dist/cjs/helpers-c4444a7e.js.map +0 -1
  400. package/dist/cjs/ic-data-table-title-bar.cjs.entry.js +0 -57
  401. package/dist/cjs/ic-data-table-title-bar.cjs.entry.js.map +0 -1
  402. package/dist/cjs/ic-empty-state_2.cjs.entry.js.map +0 -1
  403. package/dist/cjs/ic-input-component-container_3.cjs.entry.js.map +0 -1
  404. package/dist/cjs/ic-input-label_2.cjs.entry.js +0 -86
  405. package/dist/cjs/ic-input-label_2.cjs.entry.js.map +0 -1
  406. package/dist/collection/components/ic-data-table/test/basic/ic-data-table.e2e.js +0 -217
  407. package/dist/collection/components/ic-data-table/test/basic/ic-data-table.e2e.js.map +0 -1
  408. package/dist/collection/components/ic-data-table-title-bar/ic-data-table-title-bar.css +0 -87
  409. package/dist/collection/components/ic-data-table-title-bar/ic-data-table-title-bar.js +0 -160
  410. package/dist/collection/components/ic-data-table-title-bar/ic-data-table-title-bar.js.map +0 -1
  411. package/dist/collection/components/ic-data-table-title-bar/test/a11y/ic-data-table-title-bar.test.a11y.js.map +0 -1
  412. package/dist/collection/components/ic-data-table-title-bar/test/basic/ic-data-table-title-bar.spec.js +0 -70
  413. package/dist/collection/components/ic-data-table-title-bar/test/basic/ic-data-table-title-bar.spec.js.map +0 -1
  414. package/dist/components/ic-data-table-title-bar.js +0 -136
  415. package/dist/components/ic-data-table-title-bar.js.map +0 -1
  416. package/dist/components/ic-empty-state2.js.map +0 -1
  417. package/dist/core/p-045359e1.entry.js +0 -2
  418. package/dist/core/p-169bfa51.entry.js +0 -2
  419. package/dist/core/p-169bfa51.entry.js.map +0 -1
  420. package/dist/core/p-1e91f540.entry.js +0 -2
  421. package/dist/core/p-1e91f540.entry.js.map +0 -1
  422. package/dist/core/p-347e8dab.entry.js +0 -2
  423. package/dist/core/p-347e8dab.entry.js.map +0 -1
  424. package/dist/core/p-3803a5b5.entry.js +0 -2
  425. package/dist/core/p-3803a5b5.entry.js.map +0 -1
  426. package/dist/core/p-4753bac8.entry.js +0 -2
  427. package/dist/core/p-4753bac8.entry.js.map +0 -1
  428. package/dist/core/p-5171169f.entry.js +0 -2
  429. package/dist/core/p-5171169f.entry.js.map +0 -1
  430. package/dist/core/p-5ee4319c.entry.js +0 -2
  431. package/dist/core/p-5ee4319c.entry.js.map +0 -1
  432. package/dist/core/p-5f4e96ec.entry.js +0 -2
  433. package/dist/core/p-5f4e96ec.entry.js.map +0 -1
  434. package/dist/core/p-7267fe19.entry.js +0 -2
  435. package/dist/core/p-7267fe19.entry.js.map +0 -1
  436. package/dist/core/p-76915584.entry.js.map +0 -1
  437. package/dist/core/p-942282cd.entry.js +0 -2
  438. package/dist/core/p-942282cd.entry.js.map +0 -1
  439. package/dist/core/p-96b3e7e2.js +0 -2
  440. package/dist/core/p-96b3e7e2.js.map +0 -1
  441. package/dist/core/p-9caf19eb.js +0 -2
  442. package/dist/core/p-9caf19eb.js.map +0 -1
  443. package/dist/core/p-aac4185b.entry.js +0 -2
  444. package/dist/core/p-aac4185b.entry.js.map +0 -1
  445. package/dist/core/p-b2aa3d7c.entry.js +0 -2
  446. package/dist/core/p-b2aa3d7c.entry.js.map +0 -1
  447. package/dist/core/p-ba86928c.entry.js +0 -2
  448. package/dist/core/p-f14454b1.entry.js +0 -2
  449. package/dist/core/p-f6888309.entry.js +0 -2
  450. package/dist/core/p-f6888309.entry.js.map +0 -1
  451. package/dist/core/p-f74a8752.entry.js +0 -2
  452. package/dist/core/p-f74a8752.entry.js.map +0 -1
  453. package/dist/core/p-fc5611e2.entry.js.map +0 -1
  454. package/dist/esm/helpers-12b4266a.js.map +0 -1
  455. package/dist/esm/helpers-1f07eb61.js.map +0 -1
  456. package/dist/esm/ic-data-table-title-bar.entry.js +0 -53
  457. package/dist/esm/ic-data-table-title-bar.entry.js.map +0 -1
  458. package/dist/esm/ic-empty-state_2.entry.js.map +0 -1
  459. package/dist/esm/ic-input-component-container_3.entry.js.map +0 -1
  460. package/dist/esm/ic-input-label_2.entry.js +0 -81
  461. package/dist/esm/ic-input-label_2.entry.js.map +0 -1
  462. package/dist/types/components/ic-data-table-title-bar/ic-data-table-title-bar.d.ts +0 -36
  463. /package/dist/core/{p-917c5721.entry.js.map → p-04f46dac.entry.js.map} +0 -0
  464. /package/dist/core/{p-204ace96.entry.js.map → p-05d0ac42.entry.js.map} +0 -0
  465. /package/dist/core/{p-a50c3b9e.entry.js.map → p-0707f2fc.entry.js.map} +0 -0
  466. /package/dist/core/{p-6933f8e9.entry.js.map → p-094a0455.entry.js.map} +0 -0
  467. /package/dist/core/{p-a434c3d4.entry.js.map → p-1170c02d.entry.js.map} +0 -0
  468. /package/dist/core/{p-869954a2.entry.js.map → p-169dcfdd.entry.js.map} +0 -0
  469. /package/dist/core/{p-f7a14c01.entry.js.map → p-1a4bce88.entry.js.map} +0 -0
  470. /package/dist/core/{p-4baa0916.entry.js.map → p-28bddd8d.entry.js.map} +0 -0
  471. /package/dist/core/{p-a43c12cd.entry.js.map → p-2ec33c00.entry.js.map} +0 -0
  472. /package/dist/core/{p-f843da01.entry.js.map → p-3d0185a4.entry.js.map} +0 -0
  473. /package/dist/core/{p-f3c840cd.entry.js.map → p-3f4c408a.entry.js.map} +0 -0
  474. /package/dist/core/{p-e834344e.entry.js.map → p-4020d7f7.entry.js.map} +0 -0
  475. /package/dist/core/{p-88d54b72.entry.js.map → p-49449a2d.entry.js.map} +0 -0
  476. /package/dist/core/{p-db9c03c0.entry.js.map → p-4a30b0fc.entry.js.map} +0 -0
  477. /package/dist/core/{p-a31031a5.entry.js.map → p-4b361789.entry.js.map} +0 -0
  478. /package/dist/core/{p-624d4f5f.entry.js.map → p-55d819a6.entry.js.map} +0 -0
  479. /package/dist/core/{p-10fb4c46.entry.js.map → p-58c87b3d.entry.js.map} +0 -0
  480. /package/dist/core/{p-595be57d.entry.js.map → p-7c8f85fd.entry.js.map} +0 -0
  481. /package/dist/core/{p-d8469ac0.entry.js.map → p-7d1381ef.entry.js.map} +0 -0
  482. /package/dist/core/{p-e3997d60.entry.js.map → p-8b1d128c.entry.js.map} +0 -0
  483. /package/dist/core/{p-81ddc39d.entry.js.map → p-8ef85b15.entry.js.map} +0 -0
  484. /package/dist/core/{p-a0f8efb2.entry.js.map → p-a9ed6a71.entry.js.map} +0 -0
  485. /package/dist/core/{p-ab09986c.entry.js.map → p-b3d21d06.entry.js.map} +0 -0
  486. /package/dist/core/{p-b82dcc29.entry.js.map → p-bbcd6d06.entry.js.map} +0 -0
  487. /package/dist/core/{p-1ca332ca.entry.js.map → p-bcfbd465.entry.js.map} +0 -0
  488. /package/dist/core/{p-5ae93c16.entry.js.map → p-bf316546.entry.js.map} +0 -0
  489. /package/dist/core/{p-4f413fc0.entry.js.map → p-c7b52046.entry.js.map} +0 -0
  490. /package/dist/core/{p-7ef8d616.entry.js.map → p-da578abf.entry.js.map} +0 -0
  491. /package/dist/core/{p-8b08d8fe.entry.js.map → p-e0e26834.entry.js.map} +0 -0
  492. /package/dist/core/{p-75dac3d1.entry.js.map → p-ed7379e3.entry.js.map} +0 -0
  493. /package/dist/core/{p-c34848da.entry.js.map → p-f4965c26.entry.js.map} +0 -0
  494. /package/dist/core/{p-6c3044b6.entry.js.map → p-f9ee48f7.entry.js.map} +0 -0
  495. /package/dist/core/{p-2eac7dcc.entry.js.map → p-f9fcdd21.entry.js.map} +0 -0
  496. /package/dist/types/components/{ic-data-table-title-bar/test/a11y/ic-data-table-title-bar.test.a11y.d.ts → ic-date-picker/test/a11y/ic-date-picker.test.a11y.d.ts} +0 -0
@@ -0,0 +1 @@
1
+ {"version":3,"names":["IcInformationStatus","IcThemeForegroundEnum","IcDateInputMonths","IcShortDayNames","IcDayNames","IcWeekDays","stringEnumToArray","theEnum","arr","Object","values","forEach","val","isNaN","Number","str","push","inheritAttributes","element","attributes","attributeObject","attr","hasAttribute","value","getAttribute","removeAttribute","renderHiddenInput","always","container","name","disabled","undefined","hasShadowDom","inputs","querySelectorAll","inputEls","Array","from","filtered","filter","el","parentElement","input","ownerDocument","createElement","type","classList","add","appendChild","Date","toISOString","isEmptyString","trim","length","getCssProperty","cssVar","getComputedStyle","document","documentElement","getPropertyValue","XS","replace","S","M","L","XL","UNDEFINED","shadowRoot","attachShadow","getInputHelperTextID","id","getInputValidationTextID","getInputDescribedByText","inputId","helperText","validationText","isMobileOrTablet","navigator","maxTouchPoints","getLabelFromValue","options","valueField","labelField","ungroupedOptions","map","option","children","matchingValue","find","getFilteredMenuOptions","includeDescriptions","searchString","position","label","toLowerCase","description","_a","lowerSearchString","includes","startsWith","getOptionsWithoutGroupTitlesCount","optionsWithoutGroupTitles","isNumeric","test","hasValidationStatus","status","onComponentRequiredPropUndefined","props","component","i","prop","propName","console","error","kebabToCamelCase","kebabCase","individualWords","split","camelCase","substring","toUpperCase","checkResizeObserver","callbackFn","window","ResizeObserver","getForm","closest","addFormResetListener","form","addEventListener","removeFormResetListener","removeEventListener","removeDisabledFalse","isMacDevice","userAgent","indexOf"],"sources":["src/utils/types.ts","src/utils/helpers.ts"],"sourcesContent":["export type IcFocusableComponents =\n | HTMLIcBreadcrumbElement\n | HTMLIcButtonElement\n | HTMLIcCardElement\n | HTMLIcCheckboxElement\n | HTMLIcChipElement\n | HTMLIcLinkElement\n | HTMLIcNavigationButtonElement\n | HTMLIcNavigationGroupElement\n | HTMLIcNavigationItemElement\n | HTMLIcRadioOptionElement\n | HTMLIcSearchBarElement\n | HTMLIcSelectElement\n | HTMLIcSwitchElement\n | HTMLIcTabElement\n | HTMLIcTextFieldElement;\n\nexport type IcStatusVariants =\n | \"neutral\"\n | \"info\"\n | \"warning\"\n | \"error\"\n | \"success\";\n\nexport enum IcInformationStatus {\n Warning = \"warning\",\n Error = \"error\",\n Success = \"success\",\n}\n\nexport type IcSearchMatchPositions = \"start\" | \"anywhere\";\n\nexport type IcSizes = \"default\" | \"large\" | \"small\";\n\nexport type IcSizesNoLarge = \"default\" | \"small\";\n\nexport type IcInformationStatusOrEmpty = \"warning\" | \"error\" | \"success\" | \"\";\n\nexport type IcNavType = \"side\" | \"top\" | \"page-header\";\n\n// From: https://developer.mozilla.org/en-US/docs/Web/HTML/Attributes/autocomplete\nexport type IcAutocompleteTypes =\n | \"on\"\n | \"off\"\n | \"name\"\n | \"honorific-prefix\"\n | \"given-name\"\n | \"additional-name\"\n | \"family-name\"\n | \"honorific-suffix\"\n | \"nickname\"\n | \"email\"\n | \"username\"\n | \"new-password\"\n | \"current-password\"\n | \"one-time-code\"\n | \"organization-title\"\n | \"organization\"\n | \"street-address\"\n | \"address-line1\"\n | \"address-line2\"\n | \"address-line3\"\n | \"address-level4\"\n | \"address-level3\"\n | \"address-level2\"\n | \"address-level1\"\n | \"country\"\n | \"country-name\"\n | \"postal-code\"\n | \"cc-name\"\n | \"cc-given-name\"\n | \"cc-additional-name\"\n | \"cc-family-name\"\n | \"cc-family-name\"\n | \"cc-number\"\n | \"cc-exp\"\n | \"cc-exp-month\"\n | \"cc-exp-year\"\n | \"cc-csc\"\n | \"cc-type\"\n | \"transaction-currency\"\n | \"transaction-amount\"\n | \"language\"\n | \"bday\"\n | \"bday-day\"\n | \"bday-month\"\n | \"bday-year\"\n | \"sex\"\n | \"tel\"\n | \"tel-country-code\"\n | \"tel-national\"\n | \"tel-area-code\"\n | \"tel-local\"\n | \"tel-extension\"\n | \"impp\"\n | \"url\"\n | \"photo\";\n\nexport type IcAlignment = \"left\" | \"center\" | \"full-width\";\n\nexport enum IcThemeForegroundEnum {\n Default = \"default\",\n Dark = \"dark\",\n Light = \"light\",\n}\n\nexport interface IcValueEventDetail {\n value: string | string[];\n keyPressed?: string;\n}\n\nexport type IcThemeForeground = \"default\" | \"dark\" | \"light\";\n\nexport type IcThemeForegroundNoDefault = \"dark\" | \"light\";\n\nexport type IcTheme = {\n mode: IcThemeForeground;\n color: IcColorRGB;\n};\n\nexport type IcAdditionalFieldTypes = \"static\" | \"dynamic\";\n\nexport type IcColorRGB = {\n r: number;\n g: number;\n b: number;\n};\n\nexport type IcColorRGBA = IcColorRGB & {\n a: number;\n};\n\nexport type IcActivationTypes = \"automatic\" | \"manual\";\n\nexport type IcAutocorrectStates = \"on\" | \"off\";\n\nexport type IcNavParentDetails = {\n navType: IcNavType | \"\";\n parent: HTMLElement;\n};\n\nexport type IcTypographyVariants =\n | \"h1\"\n | \"h2\"\n | \"h3\"\n | \"h4\"\n | \"subtitle-large\"\n | \"subtitle-small\"\n | \"body\"\n | \"label\"\n | \"label-uppercase\"\n | \"caption\"\n | \"caption-uppercase\"\n | \"code-large\"\n | \"code-small\"\n | \"code-extra-small\"\n | \"badge\"\n | \"badge-small\";\n\n/**\n * @interface IcMenuOption\n * @field {string} A label field to options. Defaults to \"label\", but can have any custom name.\n * @field {string} A value field to options. Defaults to \"value\", but can have any custom name.\n */\nexport interface IcMenuOption {\n description?: string;\n disabled?: boolean;\n recommended?: boolean;\n children?: IcMenuOption[];\n loading?: boolean;\n timedOut?: boolean;\n [key: string]: any;\n element?: {\n component: any;\n ariaLabel: string;\n };\n icon?: any;\n}\n\nexport type IcCallbackFunctionNoReturn = (...args: unknown[]) => void;\n\nexport type IcDateFormat = \"DD/MM/YYYY\" | \"MM/DD/YYYY\" | \"YYYY/MM/DD\";\n\nexport enum IcDateInputMonths {\n \"January\",\n \"February\",\n \"March\",\n \"April\",\n \"May\",\n \"June\",\n \"July\",\n \"August\",\n \"September\",\n \"October\",\n \"November\",\n \"December\",\n}\n\nexport enum IcShortDayNames {\n \"Sun\",\n \"Mon\",\n \"Tue\",\n \"Wed\",\n \"Thu\",\n \"Fri\",\n \"Sat\",\n}\n\nexport enum IcDayNames {\n \"Sunday\",\n \"Monday\",\n \"Tuesday\",\n \"Wednesday\",\n \"Thursday\",\n \"Friday\",\n \"Saturday\",\n}\n\nexport enum IcWeekDays {\n Sunday = 0,\n Monday = 1,\n Tuesday = 2,\n Wednesday = 3,\n Thursday = 4,\n Friday = 5,\n Saturday = 6,\n}\n","/**\n * To investigate:\n * IcColorRGBA works via @ukic/web-components but IcThemeForeground does not even though they are exported\n * from @ukic/web-components in the same file. Why?\n */\nimport {\n IcCallbackFunctionNoReturn,\n IcInformationStatusOrEmpty,\n IcNavParentDetails,\n IcPropObject,\n IcSearchMatchPositions,\n IcColorRGBA,\n} from \"@ukic/web-components\";\nimport {\n IC_BLOCK_COLOR_COMPONENTS,\n IC_BLOCK_COLOR_EXCEPTIONS,\n IC_FIXED_COLOR_COMPONENTS,\n} from \"./constants\"; // Using @ukic/web-components/dist/types/utils/constants does not work so duplicated constants into canary package\nimport {\n IcMenuOption,\n IcThemeForeground,\n IcThemeForegroundEnum,\n} from \"./types\"; // Using @ukic/web-components/dist/types/utils/types does not work so duplicated constants into canary package\nimport { EventEmitter } from \"@stencil/core\";\n\nconst DARK_MODE_THRESHOLD = 133.3505;\n\n/**\n * converts an enum of strings into an array of strings\n */\nexport const stringEnumToArray = (\n theEnum: Record<string, string | number>\n): string[] => {\n const arr: string[] = [];\n Object.values(theEnum).forEach((val) => {\n if (isNaN(Number(val))) {\n const str = val as string;\n arr.push(str);\n }\n });\n return arr;\n};\n\n/**\n * Used to inherit global attributes set on the host. Called in componentWillLoad and assigned\n * to a variable that is later used in the render function.\n *\n * This does not need to be reactive as changing attributes on the host element\n * does not trigger a re-render.\n */\nexport const inheritAttributes = (\n element: HTMLElement,\n attributes: string[] = []\n): { [key: string]: unknown } => {\n const attributeObject: { [key: string]: unknown } = {};\n\n attributes.forEach((attr) => {\n if (element.hasAttribute(attr)) {\n const value = element.getAttribute(attr);\n if (value !== null) {\n attributeObject[attr] = element.getAttribute(attr);\n }\n element.removeAttribute(attr);\n }\n });\n\n return attributeObject;\n};\n\nexport const debounceEvent = (\n event: EventEmitter,\n wait: number\n): EventEmitter => {\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n const original = (event as any)._original || event;\n return {\n _original: event,\n emit: debounce(original.emit.bind(original), wait),\n } as EventEmitter;\n};\n\nexport const debounce = (\n func: (...args: unknown[]) => void,\n wait = 0\n): unknown => {\n let timer: ReturnType<typeof setTimeout>;\n return (...args: unknown[]) => {\n clearTimeout(timer);\n timer = setTimeout(func, wait, ...args);\n };\n};\n\n/**\n * This method is used to add a hidden input to a host element that contains\n * a Shadow DOM. It does not add the input inside of the Shadow root which\n * allows it to be picked up inside of forms. It should contain the same\n * values as the host element.\n *\n * @param always Add a hidden input even if the container does not use Shadow\n * @param container The element where the input will be added\n * @param name The name of the input\n * @param value The value of the input\n * @param disabled If true, the input is disabled\n */\nexport const renderHiddenInput = (\n always: boolean,\n container: HTMLElement,\n name: string,\n value: string | Date | undefined | null,\n disabled: boolean\n): void => {\n if (name !== undefined && (always || hasShadowDom(container))) {\n const inputs = container.querySelectorAll(\"input.ic-input\");\n const inputEls = Array.from(inputs);\n const filtered = inputEls.filter((el) => container === el.parentElement);\n\n let input = filtered[0] as HTMLInputElement;\n if (input === null || input === undefined) {\n input = container.ownerDocument.createElement(\"input\");\n input.type = \"hidden\";\n input.classList.add(\"ic-input\");\n container.appendChild(input);\n }\n input.disabled = disabled;\n input.name = name;\n\n if (value instanceof Date) {\n input.value = value ? value.toISOString() : null;\n } else {\n input.value = value || \"\";\n }\n }\n};\n\nexport const removeHiddenInput = (container: HTMLElement): void => {\n const inputs = container.querySelectorAll(\"input.ic-input\");\n const inputEls = Array.from(inputs);\n const filtered = inputEls.filter((el) => container === el.parentElement);\n const input = filtered[0] as HTMLInputElement;\n input?.remove();\n};\n\n/**\n * This method helps to understand the context in which a component exists,\n * to assist with choosing appropriate foreground colours to use. For example,\n * this method will help you use the 'white' version of a button if it's within\n * a block colour element using white foreground text.\n *\n * This only works for components/elements passed via <slot> and not if they\n * are part of an IC component.\n *\n * \"\"\n * @returns IcThemeForeground depending on the context\n */\nexport const getThemeFromContext = (\n el: Element,\n themeFromEvent: IcThemeForeground = null\n): IcThemeForeground => {\n const parentElement =\n el.parentElement || (<ShadowRoot>el.getRootNode()).host.parentElement;\n const blockColorParent = parentElement.closest(\n IC_BLOCK_COLOR_COMPONENTS.join(\",\")\n );\n\n // If within a block color component\n if (blockColorParent !== null) {\n const parentTag = blockColorParent.tagName.toLowerCase();\n const currentTag = el.tagName.toLowerCase();\n\n if (IC_BLOCK_COLOR_EXCEPTIONS[parentTag]?.includes(currentTag)) {\n return IcThemeForegroundEnum.Default;\n } else if (\n themeFromEvent !== null &&\n !IC_FIXED_COLOR_COMPONENTS.includes(parentTag)\n ) {\n return themeFromEvent;\n } else if (\n blockColorParent.classList.contains(IcThemeForegroundEnum.Dark)\n ) {\n return IcThemeForegroundEnum.Dark;\n }\n\n return IcThemeForegroundEnum.Light;\n }\n\n return IcThemeForegroundEnum.Default;\n};\n\n/**\n * Will create a button within the lightDOM which interacts with the parent form.\n * This is required as buttons within the shadowDOM will not invoke a submit or reset\n *\n * @param form - parent form element which contains shadowDom button\n * @param button - shadowDOM button\n */\nexport const handleHiddenFormButtonClick = (\n form: HTMLFormElement,\n button: HTMLIcButtonElement | HTMLButtonElement\n): void => {\n const hiddenFormButton = document.createElement(\"button\");\n\n hiddenFormButton.setAttribute(\"type\", button.type);\n hiddenFormButton.style.display = \"none\";\n\n form.appendChild(hiddenFormButton);\n\n hiddenFormButton.click();\n hiddenFormButton.remove();\n};\n\nexport const isEmptyString = (value: string): boolean =>\n value ? value.trim().length === 0 : true;\n\n// A helper function that checks if a prop has been defined\nexport const isPropDefined = (prop: string): string | null =>\n prop !== undefined ? prop : null;\n\nexport const deviceSizeMatches = (size: number): boolean =>\n window.matchMedia(`(max-width: ${size}px)`).matches;\n\nexport const getCurrentDeviceSize = (): number => {\n if (deviceSizeMatches(DEVICE_SIZES.S)) {\n return DEVICE_SIZES.S;\n }\n if (deviceSizeMatches(DEVICE_SIZES.M)) {\n return DEVICE_SIZES.M;\n }\n if (deviceSizeMatches(DEVICE_SIZES.L)) {\n return DEVICE_SIZES.L;\n }\n if (deviceSizeMatches(DEVICE_SIZES.XL)) {\n return DEVICE_SIZES.XL;\n }\n //fallback needed as all of above get initialised to 0 in jest tests\n return DEVICE_SIZES.UNDEFINED;\n};\n\nexport const getCssProperty = (cssVar: string): string =>\n getComputedStyle(document.documentElement).getPropertyValue(cssVar);\n\n/**\n * Returns the brightness of the theme colour, calculated by using the theme RGB CSS values by:\n * - Multiplying each RGB value by a set number: https://www.w3.org/TR/AERT/#color-contrast\n * - Adding them together and dividing by 1000\n * This is a similar calculation to its CSS counterpart: \"--ic-theme-text\"\n * @returns number representing the brightness of the theme colour\n */\nexport const getThemeColorBrightness = (): number => {\n const themeRed = getCssProperty(\"--ic-theme-primary-r\");\n const themeGreen = getCssProperty(\"--ic-theme-primary-g\");\n const themeBlue = getCssProperty(\"--ic-theme-primary-b\");\n return (\n (parseInt(themeRed) * 299 +\n parseInt(themeGreen) * 587 +\n parseInt(themeBlue) * 114) /\n 1000\n );\n};\n\n/**\n * Returns if dark or light foreground colors should be used for color contrast reasons\n * @returns \"dark\" or \"light\"\n */\nexport const getThemeForegroundColor = (): IcThemeForeground =>\n getThemeColorBrightness() > DARK_MODE_THRESHOLD\n ? IcThemeForegroundEnum.Dark\n : IcThemeForegroundEnum.Light;\n\nexport const getSlot = (element: HTMLElement, name: string): Element | null => {\n if (element && element.querySelector) {\n return element.querySelector(`[slot=\"${name}\"]`);\n }\n return null;\n};\n\nexport const slotHasContent = (element: HTMLElement, name: string): boolean =>\n getSlot(element, name) !== null;\n\nexport const getSlotContent = (\n element: HTMLElement,\n name: string\n): Element[] | NodeListOf<ChildNode> | null => {\n const slot = getSlot(element, name);\n if (slot) {\n return getSlotElements(slot);\n }\n\n return null;\n};\n\nexport const getSlotElements = (\n slot: Element\n): NodeListOf<ChildNode> | Element[] => {\n const slotContent = slot.firstElementChild as HTMLSlotElement;\n\n if (slotContent !== null) {\n const elements = slotContent.assignedElements\n ? slotContent.assignedElements()\n : slotContent.childNodes;\n return elements.length ? elements : null;\n } else {\n //check for single element\n return slot === null ? null : [slot];\n }\n};\n\nexport const getNavItemParentDetails = (\n el: HTMLElement\n): IcNavParentDetails => {\n let navType: IcNavParentDetails = { navType: \"\", parent: null };\n switch (getParentElementType(el)) {\n case \"IC-NAVIGATION-GROUP\":\n navType = getNavItemParentDetails(el.parentElement);\n break;\n case \"IC-TOP-NAVIGATION\":\n navType = { navType: \"top\", parent: getParentElement(el) };\n break;\n case \"IC-SIDE-NAVIGATION\":\n navType = { navType: \"side\", parent: getParentElement(el) };\n break;\n case \"IC-PAGE-HEADER\":\n navType = { navType: \"page-header\", parent: null };\n break;\n }\n return navType;\n};\n\nexport const DEVICE_SIZES = {\n XS: Number(getCssProperty(\"--ic-breakpoint-xs\").replace(\"px\", \"\")), // 0\n S: Number(getCssProperty(\"--ic-breakpoint-sm\").replace(\"px\", \"\")), // 576\n M: Number(getCssProperty(\"--ic-breakpoint-md\").replace(\"px\", \"\")), // 768\n L: Number(getCssProperty(\"--ic-breakpoint-lg\").replace(\"px\", \"\")), // 992\n XL: Number(getCssProperty(\"--ic-breakpoint-xl\").replace(\"px\", \"\")), // 1200\n UNDEFINED: 1200,\n};\n\nexport const isSlotUsed = (element: HTMLElement, slotName: string): boolean =>\n Array.from(element.children).some(\n (child) => child.getAttribute(\"slot\") === slotName\n );\n\n// added as a common method to allow detection of gatsby hydration issue, where (camelCase) props are initially undefined & then update\n// with a value. Allows a callback function to be executed when this is the case\nexport const onComponentPropUndefinedChange = (\n oldValue: string | undefined,\n newValue: string | undefined,\n callback: IcCallbackFunctionNoReturn\n): void => {\n if (oldValue === undefined && newValue !== oldValue) {\n callback();\n }\n};\n\nexport const hasShadowDom = (el: HTMLElement): boolean =>\n !!el.shadowRoot && !!el.attachShadow;\n\nexport const getInputHelperTextID = (id: string): string => id + \"-helper-text\";\n\nexport const getInputValidationTextID = (id: string): string =>\n id + \"-validation-text\";\n\nexport const getInputDescribedByText = (\n inputId: string,\n helperText: boolean,\n validationText: boolean\n): string =>\n `${helperText ? getInputHelperTextID(inputId) : \"\"} ${\n validationText ? getInputValidationTextID(inputId) : \"\"\n }`.trim();\n\nexport const isMobileOrTablet = (): boolean =>\n \"maxTouchPoints\" in navigator ? navigator.maxTouchPoints > 0 : false;\n\n/**\n * Extracts the label using the value from an object. Requires the object to have a label and value property.\n * @param value - value from object\n * @param options - list of menu items\n * @returns - label corresponding to value\n */\nexport const getLabelFromValue = (\n value: string,\n options: IcMenuOption[],\n valueField = \"value\",\n labelField = \"label\"\n): string | undefined => {\n const ungroupedOptions: IcMenuOption[] = [];\n if (options.length > 0 && options.map) {\n options.map((option) => {\n if (option.children) {\n option.children.map((option: IcMenuOption) =>\n ungroupedOptions.push(option)\n );\n } else {\n ungroupedOptions.push(option);\n }\n });\n const matchingValue = ungroupedOptions.find(\n (option) => option[valueField] === value\n );\n if (matchingValue !== undefined) return matchingValue[labelField];\n }\n\n return undefined;\n};\n\n/**\n * Filters the options based on the search string.\n * @param options - array of options\n * @param includeDescriptions - determines whether option descriptions are included when filtering options\n * @param searchString - string used to filter the options\n * @param position - whether the search string matches the start of or anywhere in the options\n * @returns filtered array of options\n */\nexport const getFilteredMenuOptions = (\n options: IcMenuOption[],\n includeDescriptions: boolean,\n searchString: string,\n position: IcSearchMatchPositions,\n labelField = \"label\"\n): IcMenuOption[] =>\n options.filter((option) => {\n const label: string = option[labelField].toLowerCase();\n const description = option.description?.toLowerCase();\n const lowerSearchString = searchString.toLowerCase();\n\n return position === \"anywhere\"\n ? includeDescriptions\n ? label.includes(lowerSearchString) ||\n description?.includes(lowerSearchString)\n : label.includes(lowerSearchString)\n : includeDescriptions\n ? label.startsWith(lowerSearchString) ||\n description?.startsWith(lowerSearchString)\n : label.startsWith(lowerSearchString);\n });\n\n/**\n * Gets count of options where only group title \"parent\" options have been removed.\n * Disabled options are included in the count.\n * @param options - array of options\n * @returns number of options not including group titles\n */\nexport const getOptionsWithoutGroupTitlesCount = (\n options: IcMenuOption[]\n): number => {\n const optionsWithoutGroupTitles: IcMenuOption[] = [];\n\n if (options.length > 0 && options.map) {\n options.map((option) => {\n if (option.children) {\n option.children.map((option) => optionsWithoutGroupTitles.push(option));\n } else {\n optionsWithoutGroupTitles.push(option);\n }\n });\n }\n\n return optionsWithoutGroupTitles.length;\n};\n\nconst hex2dec = function (v: string) {\n return parseInt(v, 16);\n};\n\nexport const hexToRgba = (hex: string): IcColorRGBA => {\n let c;\n if (hex.length === 4) {\n c = hex.replace(\"#\", \"\").split(\"\");\n return {\n r: hex2dec(c[0] + c[0]),\n g: hex2dec(c[1] + c[1]),\n b: hex2dec(c[2] + c[2]),\n a: 1,\n };\n } else {\n return {\n r: hex2dec(hex.slice(1, 3)),\n g: hex2dec(hex.slice(3, 5)),\n b: hex2dec(hex.slice(5)),\n a: 1,\n };\n }\n};\n\nexport const rgbaStrToObj = (rgbaStr: string): IcColorRGBA => {\n const fourthChar = rgbaStr.slice(3, 4);\n let colorRGBA: IcColorRGBA;\n if (fourthChar.toLowerCase() === \"a\") {\n colorRGBA = { r: null, g: null, b: null, a: null };\n const rgba = rgbaStr\n .substring(5, rgbaStr.length - 1)\n .replace(/ /g, \"\")\n .split(\",\");\n colorRGBA.r = Number(rgba[0]);\n colorRGBA.g = Number(rgba[1]);\n colorRGBA.b = Number(rgba[2]);\n colorRGBA.a = Number(rgba[3]);\n } else {\n colorRGBA = { r: null, g: null, b: null, a: 1 };\n const rgb = rgbaStr\n .substring(4, rgbaStr.length - 1)\n .replace(/ /g, \"\")\n .split(\",\");\n colorRGBA.r = Number(rgb[0]);\n colorRGBA.g = Number(rgb[1]);\n colorRGBA.b = Number(rgb[2]);\n }\n\n return colorRGBA;\n};\n\nexport const elementOverflowsX = (element: HTMLElement): boolean =>\n element.scrollWidth > element.clientWidth;\n\n/**\n *\n * @param child - The child element\n * @returns string\n */\nexport const getParentElementType = (child: HTMLElement): string =>\n child.parentElement.tagName;\n\nexport const getParentElement = (child: HTMLElement): HTMLElement =>\n child.parentElement;\n\nexport const hasClassificationBanner = (): boolean =>\n !!document.querySelector(\"ic-classification-banner:not([inline='true'])\");\n\nexport const pxToRem = (px: string, base = 16): string =>\n `${(1 / base) * parseInt(px)}rem`;\n\nexport const isNumeric = (value: string) => {\n return /^-?\\d+$/.test(value);\n};\n\nexport const hasValidationStatus = (\n status: IcInformationStatusOrEmpty,\n disabled: boolean\n): boolean => {\n return status !== \"\" && !disabled;\n};\n\nexport const onComponentRequiredPropUndefined = (\n props: IcPropObject[],\n component: string\n): void => {\n for (let i = 0; i < props.length; i++) {\n const { prop, propName } = props[i];\n if (prop === null || prop === undefined) {\n console.error(\n `No ${propName} specified for ${component} component - prop '${propName}' (web components) / '${kebabToCamelCase(\n propName\n )}' (react) required`\n );\n }\n }\n};\n\nexport const kebabToCamelCase = (kebabCase: string): string => {\n kebabCase = kebabCase.toLowerCase();\n const individualWords: string[] = kebabCase.split(\"-\");\n let camelCase = individualWords[0];\n for (let i = 1; i < individualWords.length; i++) {\n camelCase +=\n individualWords[i].substring(0, 1).toUpperCase() +\n individualWords[i].substring(1);\n }\n return camelCase;\n};\n\nexport const checkResizeObserver = (\n callbackFn: IcCallbackFunctionNoReturn\n): void => {\n if (\n typeof window !== \"undefined\" &&\n typeof window.ResizeObserver !== \"undefined\"\n ) {\n callbackFn();\n }\n};\n\nexport const getForm = (el: HTMLElement): HTMLFormElement => el.closest(\"FORM\");\n\nexport const addFormResetListener = (\n el: HTMLElement,\n callbackFn: IcCallbackFunctionNoReturn\n): void => {\n const form = getForm(el);\n if (form !== null) {\n form.addEventListener(\"reset\", callbackFn);\n }\n};\n\nexport const removeFormResetListener = (\n el: HTMLElement,\n callbackFn: IcCallbackFunctionNoReturn\n): void => {\n const form = getForm(el);\n if (form !== null) {\n form.removeEventListener(\"reset\", callbackFn);\n }\n};\n\nexport const removeDisabledFalse = (\n disabled: boolean,\n element: HTMLElement\n): void => {\n if (!disabled) {\n element.removeAttribute(\"disabled\");\n }\n};\n\nexport const isMacDevice = (): boolean => {\n return window.navigator.userAgent.toUpperCase().indexOf(\"MAC\") >= 0;\n};\n\nexport async function waitForHydration(): Promise<boolean> {\n const elements = document.getElementsByTagName(\"*\");\n\n for (let i = 0; i < elements.length; i++) {\n if (elements[i].tagName.startsWith(\"IC-\")) {\n if (elements[i].classList.contains(\"hydrated\")) {\n return true;\n }\n } else {\n return false;\n }\n }\n\n return false;\n}\n"],"mappings":"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"}
@@ -1,2 +1,2 @@
1
- import{r as e,c as t,h as i,H as a,g as r}from"./p-8455d1bb.js";import{c as s}from"./p-e081702e.js";import{V as n,i as o}from"./p-9caf19eb.js";import{I as l}from"./p-fd186591.js";const c='/*! normalize.css v8.0.1 | MIT License | github.com/necolas/normalize.css */html{line-height:1.15;-webkit-text-size-adjust:100%;}body{margin:0}main{display:block}h1{font-size:2em;margin:0.67em 0}hr{box-sizing:content-box;height:0;overflow:visible;}pre{font-family:monospace, monospace;font-size:1em;}a{background-color:transparent}abbr[title]{border-bottom:none;text-decoration:underline;-webkit-text-decoration:underline dotted;text-decoration:underline dotted;}b,strong{font-weight:bolder}code,kbd,samp{font-family:monospace, monospace;font-size:1em;}small{font-size:80%}sub,sup{font-size:75%;line-height:0;position:relative;vertical-align:baseline}sub{bottom:-0.25em}sup{top:-0.5em}img{border-style:none}button,input,optgroup,select,textarea{font-family:inherit;font-size:100%;line-height:1.15;margin:0;}button,input{overflow:visible}button,select{text-transform:none}button,[type="button"],[type="reset"],[type="submit"]{-webkit-appearance:button}button::-moz-focus-inner,[type="button"]::-moz-focus-inner,[type="reset"]::-moz-focus-inner,[type="submit"]::-moz-focus-inner{border-style:none;padding:0}button:-moz-focusring,[type="button"]:-moz-focusring,[type="reset"]:-moz-focusring,[type="submit"]:-moz-focusring{outline:1px dotted ButtonText}fieldset{padding:0.35em 0.75em 0.625em}legend{box-sizing:border-box;color:inherit;display:table;max-width:100%;padding:0;white-space:normal;}progress{vertical-align:baseline}textarea{overflow:auto}[type="checkbox"],[type="radio"]{box-sizing:border-box;padding:0;}[type="number"]::-webkit-inner-spin-button,[type="number"]::-webkit-outer-spin-button{height:auto}[type="search"]{-webkit-appearance:textfield;outline-offset:-2px;}[type="search"]::-webkit-search-decoration{-webkit-appearance:none}::-webkit-file-upload-button{-webkit-appearance:button;font:inherit;}details{display:block}summary{display:list-item}template{display:none}[hidden]{display:none}html,body,div,span,applet,object,iframe,h1,h2,h3,h4,h5,h6,p,blockquote,pre,a,abbr,acronym,address,big,cite,code,del,dfn,em,img,ins,kbd,q,s,samp,small,strike,strong,sub,sup,tt,var,b,u,i,center,dl,dt,dd,ol,ul,li,fieldset,form,label,legend,table,caption,tbody,tfoot,thead,tr,th,td,article,aside,canvas,details,embed,figure,figcaption,footer,header,hgroup,menu,nav,output,ruby,section,summary,time,mark,audio,video{margin:0;padding:0;border:0;font-size:100%;font-style:inherit;vertical-align:baseline}:host{display:block}.container{min-height:3.5rem;border-radius:var(--ic-border-radius);position:relative;display:flex;align-items:center}.container-neutral{background-color:var(--ic-status-unknown-light)}.container-info{background-color:var(--ic-status-info-light)}.container-warning{background-color:var(--ic-status-warning-light)}.container-error{background-color:var(--ic-status-error-light)}.container-success{background-color:var(--ic-status-success-light)}.alert-icon-container{height:100%;display:flex;align-items:center}.divider{height:100%;width:var(--ic-space-xs);border-radius:var(--ic-space-xxxs) 0 0 var(--ic-space-xxxs);position:absolute}.divider-neutral{background-color:var(--ic-status-unknown)}.divider-info{background-color:var(--ic-status-info)}.divider-warning{background-color:var(--ic-status-warning)}.divider-error{background-color:var(--ic-status-error)}.divider-success{background-color:var(--ic-status-success)}.alert-icon{height:var(--ic-space-lg);width:1.375rem;margin-left:1.125rem}.alert-icon>svg{height:var(--ic-space-lg);width:var(--ic-space-lg);display:inline-block}.icon-neutral>svg{fill:var(--ic-status-unknown)}:host([variant="info"]) .alert-icon svg{fill:var(--ic-status-info)}:host([variant="warning"]) .alert-icon svg{fill:var(--ic-status-warning)}:host([variant="error"]) .alert-icon svg{fill:var(--ic-status-error)}:host([variant="success"]) .alert-icon svg{fill:var(--ic-status-success)}.alert-content{display:flex;align-items:center;margin-left:0.625rem;width:100%}.alert-message{display:flex;align-items:center;padding:var(--ic-space-xs) var(--ic-space-xs) var(--ic-space-xs) 0;flex:1}.alert-message-title-above{display:inline}.alert-title{margin-right:var(--ic-space-xs)}.alert-title-above{white-space:normal}.alert-action-container{margin-right:var(--ic-space-xs);display:flex;align-items:center}.dismiss-icon{margin-right:var(--ic-space-xxxs);margin-left:-0.375rem;padding:0.375rem;border:none;border-radius:50%;background-color:inherit;display:flex;align-items:center;justify-content:center}.dismiss-icon:hover{cursor:pointer}@media (max-width: 628px){.alert-content{display:flex;flex-direction:column;align-items:flex-start}.alert-message{display:flex;flex-direction:column;align-items:flex-start}.alert-title{white-space:normal}.alert-action-container{margin-bottom:var(--ic-space-xs)}}@media (forced-colors: active){.container{border:var(--ic-hc-border)}}';const d=class{constructor(i){e(this,i);this.dismiss=t(this,"dismiss",7);this.icDismiss=t(this,"icDismiss",7);this.dismissAction=()=>{this.dismiss.emit();this.icDismiss.emit()};this.alertTitleWrap=false;this.visible=true;this.announced=true;this.dismissible=false;this.heading="";this.message=undefined;this.titleAbove=false;this.variant="neutral"}componentDidLoad(){this.alertTitleShouldWrap()}handleClick(){this.visible=!this.visible}alertTitleShouldWrap(){var e;const t=(e=this.el.shadowRoot.querySelector(".alert-title"))===null||e===void 0?void 0:e.clientHeight;if(t>24)this.alertTitleWrap=true}render(){const{variant:e,heading:t,message:r,titleAbove:c,dismissible:d,announced:u,visible:m}=this;return m&&i(a,{role:u?"alert":null,class:{[l.Dark]:true}},i("div",{class:{["container"]:true,[`container-${e}`]:true}},i("div",{class:"alert-icon-container"},i("div",{class:{["divider"]:true,[`divider-${e}`]:true}}),i("span",{class:{["alert-icon"]:true,["svg-container"]:true,[`icon-${e}`]:true},innerHTML:n[e].icon})),i("div",{class:"alert-content"},i("div",{class:{["alert-message"]:true,["alert-message-title-above"]:c||this.alertTitleWrap}},t&&i("ic-typography",{class:{["alert-title"]:true,["alert-title-above"]:c||this.alertTitleWrap},variant:"subtitle-large"},i("p",null,t)),i("slot",{name:"message"},i("ic-typography",{variant:"body"},r))),o(this.el,"action")&&i("div",{class:"alert-action-container"},i("slot",{name:"action"}))),i("div",{class:"dismiss-icon-container"},d&&i("ic-button",{class:{["svg-container"]:true,["dismiss-icon"]:true},innerHTML:s,onClick:this.dismissAction,variant:"icon",appearance:l.Dark,title:"dismiss"}))))}get el(){return r(this)}};d.style=c;export{d as ic_alert};
2
- //# sourceMappingURL=p-7ef8d616.entry.js.map
1
+ import{r as e,c as t,h as i,H as a,g as r}from"./p-8455d1bb.js";import{c as s}from"./p-e081702e.js";import{V as n,i as o}from"./p-3b0caac0.js";import{I as l}from"./p-fd186591.js";const c='/*! normalize.css v8.0.1 | MIT License | github.com/necolas/normalize.css */html{line-height:1.15;-webkit-text-size-adjust:100%;}body{margin:0}main{display:block}h1{font-size:2em;margin:0.67em 0}hr{box-sizing:content-box;height:0;overflow:visible;}pre{font-family:monospace, monospace;font-size:1em;}a{background-color:transparent}abbr[title]{border-bottom:none;text-decoration:underline;-webkit-text-decoration:underline dotted;text-decoration:underline dotted;}b,strong{font-weight:bolder}code,kbd,samp{font-family:monospace, monospace;font-size:1em;}small{font-size:80%}sub,sup{font-size:75%;line-height:0;position:relative;vertical-align:baseline}sub{bottom:-0.25em}sup{top:-0.5em}img{border-style:none}button,input,optgroup,select,textarea{font-family:inherit;font-size:100%;line-height:1.15;margin:0;}button,input{overflow:visible}button,select{text-transform:none}button,[type="button"],[type="reset"],[type="submit"]{-webkit-appearance:button}button::-moz-focus-inner,[type="button"]::-moz-focus-inner,[type="reset"]::-moz-focus-inner,[type="submit"]::-moz-focus-inner{border-style:none;padding:0}button:-moz-focusring,[type="button"]:-moz-focusring,[type="reset"]:-moz-focusring,[type="submit"]:-moz-focusring{outline:1px dotted ButtonText}fieldset{padding:0.35em 0.75em 0.625em}legend{box-sizing:border-box;color:inherit;display:table;max-width:100%;padding:0;white-space:normal;}progress{vertical-align:baseline}textarea{overflow:auto}[type="checkbox"],[type="radio"]{box-sizing:border-box;padding:0;}[type="number"]::-webkit-inner-spin-button,[type="number"]::-webkit-outer-spin-button{height:auto}[type="search"]{-webkit-appearance:textfield;outline-offset:-2px;}[type="search"]::-webkit-search-decoration{-webkit-appearance:none}::-webkit-file-upload-button{-webkit-appearance:button;font:inherit;}details{display:block}summary{display:list-item}template{display:none}[hidden]{display:none}html,body,div,span,applet,object,iframe,h1,h2,h3,h4,h5,h6,p,blockquote,pre,a,abbr,acronym,address,big,cite,code,del,dfn,em,img,ins,kbd,q,s,samp,small,strike,strong,sub,sup,tt,var,b,u,i,center,dl,dt,dd,ol,ul,li,fieldset,form,label,legend,table,caption,tbody,tfoot,thead,tr,th,td,article,aside,canvas,details,embed,figure,figcaption,footer,header,hgroup,menu,nav,output,ruby,section,summary,time,mark,audio,video{margin:0;padding:0;border:0;font-size:100%;font-style:inherit;vertical-align:baseline}:host{display:block}.container{min-height:3.5rem;border-radius:var(--ic-border-radius);position:relative;display:flex;align-items:center}.container-neutral{background-color:var(--ic-status-unknown-light)}.container-info{background-color:var(--ic-status-info-light)}.container-warning{background-color:var(--ic-status-warning-light)}.container-error{background-color:var(--ic-status-error-light)}.container-success{background-color:var(--ic-status-success-light)}.alert-icon-container{height:100%;display:flex;align-items:center}.divider{height:100%;width:var(--ic-space-xs);border-radius:var(--ic-space-xxxs) 0 0 var(--ic-space-xxxs);position:absolute}.divider-neutral{background-color:var(--ic-status-unknown)}.divider-info{background-color:var(--ic-status-info)}.divider-warning{background-color:var(--ic-status-warning)}.divider-error{background-color:var(--ic-status-error)}.divider-success{background-color:var(--ic-status-success)}.alert-icon{height:var(--ic-space-lg);width:1.375rem;margin-left:1.125rem}.alert-icon>svg{height:var(--ic-space-lg);width:var(--ic-space-lg);display:inline-block}.icon-neutral>svg{fill:var(--ic-status-unknown)}:host([variant="info"]) .alert-icon svg{fill:var(--ic-status-info)}:host([variant="warning"]) .alert-icon svg{fill:var(--ic-status-warning)}:host([variant="error"]) .alert-icon svg{fill:var(--ic-status-error)}:host([variant="success"]) .alert-icon svg{fill:var(--ic-status-success)}.alert-content{display:flex;align-items:center;margin-left:0.625rem;width:100%}.alert-message{display:flex;align-items:center;padding:var(--ic-space-xs) var(--ic-space-xs) var(--ic-space-xs) 0;flex:1}.alert-message-title-above{display:inline}.alert-title{margin-right:var(--ic-space-xs)}.alert-title-above{white-space:normal}.alert-action-container{margin-right:var(--ic-space-xs);display:flex;align-items:center}.dismiss-icon{margin-right:var(--ic-space-xxxs);margin-left:-0.375rem;padding:0.375rem;border:none;border-radius:50%;background-color:inherit;display:flex;align-items:center;justify-content:center}.dismiss-icon:hover{cursor:pointer}@media (max-width: 628px){.alert-content{display:flex;flex-direction:column;align-items:flex-start}.alert-message{display:flex;flex-direction:column;align-items:flex-start}.alert-title{white-space:normal}.alert-action-container{margin-bottom:var(--ic-space-xs)}}@media (forced-colors: active){.container{border:var(--ic-hc-border)}}';const d=class{constructor(i){e(this,i);this.dismiss=t(this,"dismiss",7);this.icDismiss=t(this,"icDismiss",7);this.dismissAction=()=>{this.dismiss.emit();this.icDismiss.emit()};this.alertTitleWrap=false;this.visible=true;this.announced=true;this.dismissible=false;this.heading="";this.message=undefined;this.titleAbove=false;this.variant="neutral"}componentDidLoad(){this.alertTitleShouldWrap()}handleClick(){this.visible=!this.visible}alertTitleShouldWrap(){var e;const t=(e=this.el.shadowRoot.querySelector(".alert-title"))===null||e===void 0?void 0:e.clientHeight;if(t>24)this.alertTitleWrap=true}render(){const{variant:e,heading:t,message:r,titleAbove:c,dismissible:d,announced:u,visible:m}=this;return m&&i(a,{role:u?"alert":null,class:{[l.Dark]:true}},i("div",{class:{["container"]:true,[`container-${e}`]:true}},i("div",{class:"alert-icon-container"},i("div",{class:{["divider"]:true,[`divider-${e}`]:true}}),i("span",{class:{["alert-icon"]:true,["svg-container"]:true,[`icon-${e}`]:true},innerHTML:n[e].icon})),i("div",{class:"alert-content"},i("div",{class:{["alert-message"]:true,["alert-message-title-above"]:c||this.alertTitleWrap}},t&&i("ic-typography",{class:{["alert-title"]:true,["alert-title-above"]:c||this.alertTitleWrap},variant:"subtitle-large"},i("p",null,t)),i("slot",{name:"message"},i("ic-typography",{variant:"body"},r))),o(this.el,"action")&&i("div",{class:"alert-action-container"},i("slot",{name:"action"}))),i("div",{class:"dismiss-icon-container"},d&&i("ic-button",{class:{["svg-container"]:true,["dismiss-icon"]:true},innerHTML:s,onClick:this.dismissAction,variant:"icon",appearance:l.Dark,title:"dismiss"}))))}get el(){return r(this)}};d.style=c;export{d as ic_alert};
2
+ //# sourceMappingURL=p-da578abf.entry.js.map
@@ -0,0 +1,2 @@
1
+ import{r,h as e,H as t,g as a}from"./p-8455d1bb.js";import{C as c}from"./p-170ddfc2.js";import{i as s,c as i}from"./p-3b0caac0.js";import"./p-fd186591.js";const o=`<svg viewBox="0 0 24 24" fill="none" xmlns="http://www.w3.org/2000/svg">\n<path d="M20 11H7.83L13.42 5.41L12 4L4 12L12 20L13.41 18.59L7.83 13H20V11Z" fill="currentColor"/>\n</svg>\n`;const n=':host{display:block;margin:var(--ic-space-xs) var(--ic-space-xs) var(--ic-space-xs) 0}:host .breadcrumb{display:flex;align-items:center;white-space:nowrap;gap:var(--ic-space-xs);min-height:var(--ic-space-lg)}:host .chevron{width:var(--ic-space-lg);height:var(--ic-space-lg)}:host .chevron svg{color:var(--ic-architectural-400)}:host(:first-child) .chevron{display:none}.back-icon svg{color:currentcolor}:host(.back){display:flex;align-items:center}:host(.back) .chevron{display:none}ic-link{--breadcrumb-link-display:inline-flex;--breadcrumb-link-align-items:center;--breadcrumb-link-gap:var(--ic-space-xs)}:host([aria-current="page"]) .current-page-container{display:flex;align-items:center;gap:var(--ic-space-xs)}:host([aria-current="page"]) .current-page-container.dark{color:var(--ic-color-primary-text)}:host([aria-current="page"]) .current-page-container.light{color:var(--ic-color-white-text)}:host(.collapsed-breadcrumb-wrapper){margin-right:var(--ic-space-xs) !important;display:flex;align-items:center;gap:var(--ic-space-xs)}:host(.collapsed-breadcrumb-wrapper) ::slotted(.collapsed-breadcrumb){border:none;background-color:transparent;color:var(--ic-hyperlink);text-decoration:underline;font-weight:var(--ic-font-weight-bold);cursor:pointer}:host(.collapsed-breadcrumb-wrapper) ::slotted(.collapsed-breadcrumb:hover),:host(.collapsed-breadcrumb-wrapper) ::slotted(.collapsed-breadcrumb:focus){outline:var(--ic-hc-focus-outline);border-bottom:0.25rem solid !important;margin-bottom:-0.25rem !important;text-decoration:none}.hide,:host(.collapsed-breadcrumb-wrapper) ::slotted(.hide){display:none}@media (forced-colors: active){.back-icon svg{color:currentcolor}}@supports (text-decoration-thickness: 25%){ic-link{--breadcrumb-link-display:flex}:host(.collapsed-breadcrumb-wrapper) ::slotted(.collapsed-breadcrumb:hover),:host(.collapsed-breadcrumb-wrapper) ::slotted(.collapsed-breadcrumb:focus){text-decoration-line:underline;text-decoration-thickness:25%;text-underline-offset:25%;border-bottom:0 !important;margin-bottom:0 !important}}';const l=class{constructor(t){r(this,t);this.renderDefaultBreadcrumb=(r,t,a,c)=>{const n=t!==null&&i(t)&&t!=="";if(r&&n){return e("span",{class:{"current-page-container":r,[this.appearance]:true}},s(this.el,"icon")&&e("slot",{name:"icon"}),t)}return e("ic-link",{appearance:this.appearance,href:c,class:"breadcrumb-link","aria-describedby":this.showBackIcon&&a&&a},this.showBackIcon&&e("div",{class:"back-icon",innerHTML:o}),s(this.el,"icon")&&e("slot",{name:"icon"}),t)};this.setSlottedCurrentPageClass=()=>{const r=this.el.querySelector("ic-link");const e="current-page";if(r){r.classList.remove(e);if(this.current){const t=r.classList.contains(e);if(!t){r.classList.add("breadcrumb-link",e)}}}};this.appearance="default";this.current=false;this.href=undefined;this.pageTitle=undefined;this.showBackIcon=false}componentWillRender(){this.setSlottedCurrentPageClass()}async setFocus(){if(this.el.shadowRoot.querySelector("ic-link")){this.el.shadowRoot.querySelector("ic-link").focus()}}render(){const{current:r,href:a,pageTitle:s}=this;const o=`${s&&s.toLowerCase().replace(" ","-")}-describedby`;const n=s!==null&&i(s)&&s!=="";const l=a!==null&&i(a)&&a!=="";return e(t,{class:{back:this.showBackIcon},"aria-current":r&&"page",role:"listitem"},e("div",{class:"breadcrumb"},e("span",{innerHTML:c,class:"chevron","aria-hidden":"true"}),this.showBackIcon&&o&&e("span",{id:o,class:"hide"},`Back to ${s}`),n&&l?this.renderDefaultBreadcrumb(r,s,o,a):e("slot",null)))}static get delegatesFocus(){return true}get el(){return a(this)}};l.style=n;export{l as ic_breadcrumb};
2
+ //# sourceMappingURL=p-dae1779d.entry.js.map
@@ -1 +1 @@
1
- {"version":3,"names":["icBreadcrumbCss","Breadcrumb","constructor","hostRef","this","renderDefaultBreadcrumb","current","pageTitle","describedById","href","hasPageTitle","isPropDefined","h","class","appearance","isSlotUsed","el","name","showBackIcon","innerHTML","backIcon","setSlottedCurrentPageClass","icLink","querySelector","currentPage","classList","remove","hasCurrentPageClass","contains","add","undefined","componentWillRender","setFocus","shadowRoot","focus","render","toLowerCase","replace","hasHref","Host","back","role","chevronIcon","id","delegatesFocus"],"sources":["../web-components/dist/collection/components/ic-breadcrumb/ic-breadcrumb.css?tag=ic-breadcrumb&encapsulation=shadow","../web-components/dist/collection/components/ic-breadcrumb/ic-breadcrumb.js"],"sourcesContent":[":host {\n display: block;\n margin: var(--ic-space-xs) var(--ic-space-xs) var(--ic-space-xs) 0;\n}\n\n:host .breadcrumb {\n display: flex;\n align-items: center;\n white-space: nowrap;\n gap: var(--ic-space-xs);\n min-height: var(--ic-space-lg);\n}\n\n:host .chevron {\n width: var(--ic-space-lg);\n height: var(--ic-space-lg);\n}\n\n:host .chevron svg {\n color: var(--ic-architectural-400);\n}\n\n:host(:first-child) .chevron {\n display: none;\n}\n\n.back-icon svg {\n color: currentcolor;\n}\n\n:host(.back) {\n display: flex;\n align-items: center;\n}\n\n:host(.back) .chevron {\n display: none;\n}\n\nic-link {\n --breadcrumb-link-display: inline-flex;\n --breadcrumb-link-align-items: center;\n --breadcrumb-link-gap: var(--ic-space-xs);\n}\n\n:host([aria-current=\"page\"]) .current-page-container {\n display: flex;\n align-items: center;\n gap: var(--ic-space-xs);\n}\n\n:host([aria-current=\"page\"]) .current-page-container.dark {\n color: var(--ic-color-primary-text);\n}\n\n:host([aria-current=\"page\"]) .current-page-container.light {\n color: var(--ic-color-white-text);\n}\n\n:host(.collapsed-breadcrumb-wrapper) {\n margin-right: var(--ic-space-xs) !important;\n display: flex;\n align-items: center;\n gap: var(--ic-space-xs);\n}\n\n:host(.collapsed-breadcrumb-wrapper) ::slotted(.collapsed-breadcrumb) {\n border: none;\n background-color: transparent;\n color: var(--ic-hyperlink);\n text-decoration: underline;\n font-weight: var(--ic-font-weight-bold);\n cursor: pointer;\n}\n\n:host(.collapsed-breadcrumb-wrapper) ::slotted(.collapsed-breadcrumb:hover),\n:host(.collapsed-breadcrumb-wrapper) ::slotted(.collapsed-breadcrumb:focus) {\n outline: var(--ic-hc-focus-outline);\n border-bottom: 0.25rem solid !important;\n margin-bottom: -0.25rem !important;\n text-decoration: none;\n}\n\n.hide,\n:host(.collapsed-breadcrumb-wrapper) ::slotted(.hide) {\n display: none;\n}\n\n@media (forced-colors: active) {\n .back-icon svg {\n color: currentcolor;\n }\n}\n\n@supports (text-decoration-thickness: 25%) {\n ic-link {\n --breadcrumb-link-display: flex;\n }\n\n :host(.collapsed-breadcrumb-wrapper) ::slotted(.collapsed-breadcrumb:hover),\n :host(.collapsed-breadcrumb-wrapper) ::slotted(.collapsed-breadcrumb:focus) {\n text-decoration-line: underline;\n text-decoration-thickness: 25%;\n text-underline-offset: 25%;\n border-bottom: 0 !important;\n margin-bottom: 0 !important;\n }\n}\n","import { Host, h } from \"@stencil/core\";\nimport chevronIcon from \"../../assets/chevron-icon.svg\";\nimport backIcon from \"../../assets/back-icon.svg\";\nimport { isPropDefined, isSlotUsed } from \"../../utils/helpers\";\n/**\n * @slot icon - Content will be rendered to the left of the breadcrumb page title.\n */\nexport class Breadcrumb {\n constructor() {\n this.renderDefaultBreadcrumb = (current, pageTitle, describedById, href) => {\n const hasPageTitle = pageTitle !== null && isPropDefined(pageTitle) && pageTitle !== \"\";\n if (current && hasPageTitle) {\n return (h(\"span\", { class: {\n \"current-page-container\": current,\n [this.appearance]: true,\n } }, isSlotUsed(this.el, \"icon\") && h(\"slot\", { name: \"icon\" }), pageTitle));\n }\n return (h(\"ic-link\", { appearance: this.appearance, href: href, class: \"breadcrumb-link\", \"aria-describedby\": this.showBackIcon && describedById && describedById }, this.showBackIcon && (h(\"div\", { class: \"back-icon\", innerHTML: backIcon })), isSlotUsed(this.el, \"icon\") && h(\"slot\", { name: \"icon\" }), pageTitle));\n };\n this.setSlottedCurrentPageClass = () => {\n const icLink = this.el.querySelector(\"ic-link\");\n const currentPage = \"current-page\";\n if (icLink) {\n icLink.classList.remove(currentPage);\n if (this.current) {\n const hasCurrentPageClass = icLink.classList.contains(currentPage);\n if (!hasCurrentPageClass) {\n icLink.classList.add(\"breadcrumb-link\", currentPage);\n }\n }\n }\n };\n this.appearance = \"default\";\n this.current = false;\n this.href = undefined;\n this.pageTitle = undefined;\n this.showBackIcon = false;\n }\n componentWillRender() {\n this.setSlottedCurrentPageClass();\n }\n /**\n * Sets focus on the breadcrumb.\n */\n async setFocus() {\n if (this.el.shadowRoot.querySelector(\"ic-link\")) {\n this.el.shadowRoot.querySelector(\"ic-link\").focus();\n }\n }\n render() {\n const { current, href, pageTitle } = this;\n const describedById = `${pageTitle && pageTitle.toLowerCase().replace(\" \", \"-\")}-describedby`;\n const hasPageTitle = pageTitle !== null && isPropDefined(pageTitle) && pageTitle !== \"\";\n const hasHref = href !== null && isPropDefined(href) && href !== \"\";\n return (h(Host, { class: {\n back: this.showBackIcon,\n }, \"aria-current\": current && \"page\", role: \"listitem\" }, h(\"div\", { class: \"breadcrumb\" }, h(\"span\", { innerHTML: chevronIcon, class: \"chevron\", \"aria-hidden\": \"true\" }), this.showBackIcon && describedById && (h(\"span\", { id: describedById, class: \"hide\" }, `Back to ${pageTitle}`)), hasPageTitle && hasHref ? (this.renderDefaultBreadcrumb(current, pageTitle, describedById, href)) : (h(\"slot\", null)))));\n }\n static get is() { return \"ic-breadcrumb\"; }\n static get encapsulation() { return \"shadow\"; }\n static get delegatesFocus() { return true; }\n static get originalStyleUrls() {\n return {\n \"$\": [\"ic-breadcrumb.css\"]\n };\n }\n static get styleUrls() {\n return {\n \"$\": [\"ic-breadcrumb.css\"]\n };\n }\n static get properties() {\n return {\n \"appearance\": {\n \"type\": \"string\",\n \"mutable\": false,\n \"complexType\": {\n \"original\": \"IcThemeForeground\",\n \"resolved\": \"\\\"dark\\\" | \\\"default\\\" | \\\"light\\\"\",\n \"references\": {\n \"IcThemeForeground\": {\n \"location\": \"import\",\n \"path\": \"../../utils/types\",\n \"id\": \"src/utils/types.ts::IcThemeForeground\"\n }\n }\n },\n \"required\": false,\n \"optional\": false,\n \"docs\": {\n \"tags\": [{\n \"name\": \"internal\",\n \"text\": \"The appearance of the breadcrumb.\"\n }],\n \"text\": \"\"\n },\n \"attribute\": \"appearance\",\n \"reflect\": false,\n \"defaultValue\": \"\\\"default\\\"\"\n },\n \"current\": {\n \"type\": \"boolean\",\n \"mutable\": false,\n \"complexType\": {\n \"original\": \"boolean\",\n \"resolved\": \"boolean\",\n \"references\": {}\n },\n \"required\": false,\n \"optional\": true,\n \"docs\": {\n \"tags\": [],\n \"text\": \"If `true`, aria-current will be set on the breadcrumb.\"\n },\n \"attribute\": \"current\",\n \"reflect\": false,\n \"defaultValue\": \"false\"\n },\n \"href\": {\n \"type\": \"string\",\n \"mutable\": false,\n \"complexType\": {\n \"original\": \"string\",\n \"resolved\": \"string\",\n \"references\": {}\n },\n \"required\": false,\n \"optional\": true,\n \"docs\": {\n \"tags\": [],\n \"text\": \"The URL that the breadcrumb link points to.\"\n },\n \"attribute\": \"href\",\n \"reflect\": false\n },\n \"pageTitle\": {\n \"type\": \"string\",\n \"mutable\": false,\n \"complexType\": {\n \"original\": \"string\",\n \"resolved\": \"string\",\n \"references\": {}\n },\n \"required\": true,\n \"optional\": false,\n \"docs\": {\n \"tags\": [],\n \"text\": \"The title of the breadcrumb.\"\n },\n \"attribute\": \"page-title\",\n \"reflect\": false\n },\n \"showBackIcon\": {\n \"type\": \"boolean\",\n \"mutable\": false,\n \"complexType\": {\n \"original\": \"boolean\",\n \"resolved\": \"boolean\",\n \"references\": {}\n },\n \"required\": false,\n \"optional\": false,\n \"docs\": {\n \"tags\": [{\n \"name\": \"internal\",\n \"text\": \"If `true`, back icon will be displayed.\"\n }],\n \"text\": \"\"\n },\n \"attribute\": \"show-back-icon\",\n \"reflect\": true,\n \"defaultValue\": \"false\"\n }\n };\n }\n static get methods() {\n return {\n \"setFocus\": {\n \"complexType\": {\n \"signature\": \"() => Promise<void>\",\n \"parameters\": [],\n \"references\": {\n \"Promise\": {\n \"location\": \"global\",\n \"id\": \"global::Promise\"\n }\n },\n \"return\": \"Promise<void>\"\n },\n \"docs\": {\n \"text\": \"Sets focus on the breadcrumb.\",\n \"tags\": []\n }\n }\n };\n }\n static get elementRef() { return \"el\"; }\n}\n//# sourceMappingURL=ic-breadcrumb.js.map\n"],"mappings":"gWAAA,MAAMA,EAAkB,mgE,MCOXC,EAAU,MACnB,WAAAC,CAAAC,G,UACIC,KAAKC,wBAA0B,CAACC,EAASC,EAAWC,EAAeC,KAC/D,MAAMC,EAAeH,IAAc,MAAQI,EAAcJ,IAAcA,IAAc,GACrF,GAAID,GAAWI,EAAc,CACzB,OAAQE,EAAE,OAAQ,CAAEC,MAAO,CACnB,yBAA0BP,EAC1B,CAACF,KAAKU,YAAa,OAClBC,EAAWX,KAAKY,GAAI,SAAWJ,EAAE,OAAQ,CAAEK,KAAM,SAAWV,E,CAEzE,OAAQK,EAAE,UAAW,CAAEE,WAAYV,KAAKU,WAAYL,KAAMA,EAAMI,MAAO,kBAAmB,mBAAoBT,KAAKc,cAAgBV,GAAiBA,GAAiBJ,KAAKc,cAAiBN,EAAE,MAAO,CAAEC,MAAO,YAAaM,UAAWC,IAAcL,EAAWX,KAAKY,GAAI,SAAWJ,EAAE,OAAQ,CAAEK,KAAM,SAAWV,EAAU,EAE7TH,KAAKiB,2BAA6B,KAC9B,MAAMC,EAASlB,KAAKY,GAAGO,cAAc,WACrC,MAAMC,EAAc,eACpB,GAAIF,EAAQ,CACRA,EAAOG,UAAUC,OAAOF,GACxB,GAAIpB,KAAKE,QAAS,CACd,MAAMqB,EAAsBL,EAAOG,UAAUG,SAASJ,GACtD,IAAKG,EAAqB,CACtBL,EAAOG,UAAUI,IAAI,kBAAmBL,E,KAKxDpB,KAAKU,WAAa,UAClBV,KAAKE,QAAU,MACfF,KAAKK,KAAOqB,UACZ1B,KAAKG,UAAYuB,UACjB1B,KAAKc,aAAe,K,CAExB,mBAAAa,GACI3B,KAAKiB,4B,CAKT,cAAMW,GACF,GAAI5B,KAAKY,GAAGiB,WAAWV,cAAc,WAAY,CAC7CnB,KAAKY,GAAGiB,WAAWV,cAAc,WAAWW,O,EAGpD,MAAAC,GACI,MAAM7B,QAAEA,EAAOG,KAAEA,EAAIF,UAAEA,GAAcH,KACrC,MAAMI,EAAgB,GAAGD,GAAaA,EAAU6B,cAAcC,QAAQ,IAAK,mBAC3E,MAAM3B,EAAeH,IAAc,MAAQI,EAAcJ,IAAcA,IAAc,GACrF,MAAM+B,EAAU7B,IAAS,MAAQE,EAAcF,IAASA,IAAS,GACjE,OAAQG,EAAE2B,EAAM,CAAE1B,MAAO,CACjB2B,KAAMpC,KAAKc,cACZ,eAAgBZ,GAAW,OAAQmC,KAAM,YAAc7B,EAAE,MAAO,CAAEC,MAAO,cAAgBD,EAAE,OAAQ,CAAEO,UAAWuB,EAAa7B,MAAO,UAAW,cAAe,SAAWT,KAAKc,cAAgBV,GAAkBI,EAAE,OAAQ,CAAE+B,GAAInC,EAAeK,MAAO,QAAU,WAAWN,KAAeG,GAAgB4B,EAAWlC,KAAKC,wBAAwBC,EAASC,EAAWC,EAAeC,GAAUG,EAAE,OAAQ,O,CAIpZ,yBAAWgC,GAAmB,OAAO,IAAK,C"}
1
+ {"version":3,"names":["icBreadcrumbCss","Breadcrumb","constructor","hostRef","this","renderDefaultBreadcrumb","current","pageTitle","describedById","href","hasPageTitle","isPropDefined","h","class","appearance","isSlotUsed","el","name","showBackIcon","innerHTML","backIcon","setSlottedCurrentPageClass","icLink","querySelector","currentPage","classList","remove","hasCurrentPageClass","contains","add","undefined","componentWillRender","setFocus","shadowRoot","focus","render","toLowerCase","replace","hasHref","Host","back","role","chevronIcon","id","delegatesFocus"],"sources":["../web-components/dist/collection/components/ic-breadcrumb/ic-breadcrumb.css?tag=ic-breadcrumb&encapsulation=shadow","../web-components/dist/collection/components/ic-breadcrumb/ic-breadcrumb.js"],"sourcesContent":[":host {\n display: block;\n margin: var(--ic-space-xs) var(--ic-space-xs) var(--ic-space-xs) 0;\n}\n\n:host .breadcrumb {\n display: flex;\n align-items: center;\n white-space: nowrap;\n gap: var(--ic-space-xs);\n min-height: var(--ic-space-lg);\n}\n\n:host .chevron {\n width: var(--ic-space-lg);\n height: var(--ic-space-lg);\n}\n\n:host .chevron svg {\n color: var(--ic-architectural-400);\n}\n\n:host(:first-child) .chevron {\n display: none;\n}\n\n.back-icon svg {\n color: currentcolor;\n}\n\n:host(.back) {\n display: flex;\n align-items: center;\n}\n\n:host(.back) .chevron {\n display: none;\n}\n\nic-link {\n --breadcrumb-link-display: inline-flex;\n --breadcrumb-link-align-items: center;\n --breadcrumb-link-gap: var(--ic-space-xs);\n}\n\n:host([aria-current=\"page\"]) .current-page-container {\n display: flex;\n align-items: center;\n gap: var(--ic-space-xs);\n}\n\n:host([aria-current=\"page\"]) .current-page-container.dark {\n color: var(--ic-color-primary-text);\n}\n\n:host([aria-current=\"page\"]) .current-page-container.light {\n color: var(--ic-color-white-text);\n}\n\n:host(.collapsed-breadcrumb-wrapper) {\n margin-right: var(--ic-space-xs) !important;\n display: flex;\n align-items: center;\n gap: var(--ic-space-xs);\n}\n\n:host(.collapsed-breadcrumb-wrapper) ::slotted(.collapsed-breadcrumb) {\n border: none;\n background-color: transparent;\n color: var(--ic-hyperlink);\n text-decoration: underline;\n font-weight: var(--ic-font-weight-bold);\n cursor: pointer;\n}\n\n:host(.collapsed-breadcrumb-wrapper) ::slotted(.collapsed-breadcrumb:hover),\n:host(.collapsed-breadcrumb-wrapper) ::slotted(.collapsed-breadcrumb:focus) {\n outline: var(--ic-hc-focus-outline);\n border-bottom: 0.25rem solid !important;\n margin-bottom: -0.25rem !important;\n text-decoration: none;\n}\n\n.hide,\n:host(.collapsed-breadcrumb-wrapper) ::slotted(.hide) {\n display: none;\n}\n\n@media (forced-colors: active) {\n .back-icon svg {\n color: currentcolor;\n }\n}\n\n@supports (text-decoration-thickness: 25%) {\n ic-link {\n --breadcrumb-link-display: flex;\n }\n\n :host(.collapsed-breadcrumb-wrapper) ::slotted(.collapsed-breadcrumb:hover),\n :host(.collapsed-breadcrumb-wrapper) ::slotted(.collapsed-breadcrumb:focus) {\n text-decoration-line: underline;\n text-decoration-thickness: 25%;\n text-underline-offset: 25%;\n border-bottom: 0 !important;\n margin-bottom: 0 !important;\n }\n}\n","import { Host, h } from \"@stencil/core\";\nimport chevronIcon from \"../../assets/chevron-icon.svg\";\nimport backIcon from \"../../assets/back-icon.svg\";\nimport { isPropDefined, isSlotUsed } from \"../../utils/helpers\";\n/**\n * @slot icon - Content will be rendered to the left of the breadcrumb page title.\n */\nexport class Breadcrumb {\n constructor() {\n this.renderDefaultBreadcrumb = (current, pageTitle, describedById, href) => {\n const hasPageTitle = pageTitle !== null && isPropDefined(pageTitle) && pageTitle !== \"\";\n if (current && hasPageTitle) {\n return (h(\"span\", { class: {\n \"current-page-container\": current,\n [this.appearance]: true,\n } }, isSlotUsed(this.el, \"icon\") && h(\"slot\", { name: \"icon\" }), pageTitle));\n }\n return (h(\"ic-link\", { appearance: this.appearance, href: href, class: \"breadcrumb-link\", \"aria-describedby\": this.showBackIcon && describedById && describedById }, this.showBackIcon && (h(\"div\", { class: \"back-icon\", innerHTML: backIcon })), isSlotUsed(this.el, \"icon\") && h(\"slot\", { name: \"icon\" }), pageTitle));\n };\n this.setSlottedCurrentPageClass = () => {\n const icLink = this.el.querySelector(\"ic-link\");\n const currentPage = \"current-page\";\n if (icLink) {\n icLink.classList.remove(currentPage);\n if (this.current) {\n const hasCurrentPageClass = icLink.classList.contains(currentPage);\n if (!hasCurrentPageClass) {\n icLink.classList.add(\"breadcrumb-link\", currentPage);\n }\n }\n }\n };\n this.appearance = \"default\";\n this.current = false;\n this.href = undefined;\n this.pageTitle = undefined;\n this.showBackIcon = false;\n }\n componentWillRender() {\n this.setSlottedCurrentPageClass();\n }\n /**\n * Sets focus on the breadcrumb.\n */\n async setFocus() {\n if (this.el.shadowRoot.querySelector(\"ic-link\")) {\n this.el.shadowRoot.querySelector(\"ic-link\").focus();\n }\n }\n render() {\n const { current, href, pageTitle } = this;\n const describedById = `${pageTitle && pageTitle.toLowerCase().replace(\" \", \"-\")}-describedby`;\n const hasPageTitle = pageTitle !== null && isPropDefined(pageTitle) && pageTitle !== \"\";\n const hasHref = href !== null && isPropDefined(href) && href !== \"\";\n return (h(Host, { class: {\n back: this.showBackIcon,\n }, \"aria-current\": current && \"page\", role: \"listitem\" }, h(\"div\", { class: \"breadcrumb\" }, h(\"span\", { innerHTML: chevronIcon, class: \"chevron\", \"aria-hidden\": \"true\" }), this.showBackIcon && describedById && (h(\"span\", { id: describedById, class: \"hide\" }, `Back to ${pageTitle}`)), hasPageTitle && hasHref ? (this.renderDefaultBreadcrumb(current, pageTitle, describedById, href)) : (h(\"slot\", null)))));\n }\n static get is() { return \"ic-breadcrumb\"; }\n static get encapsulation() { return \"shadow\"; }\n static get delegatesFocus() { return true; }\n static get originalStyleUrls() {\n return {\n \"$\": [\"ic-breadcrumb.css\"]\n };\n }\n static get styleUrls() {\n return {\n \"$\": [\"ic-breadcrumb.css\"]\n };\n }\n static get properties() {\n return {\n \"appearance\": {\n \"type\": \"string\",\n \"mutable\": false,\n \"complexType\": {\n \"original\": \"IcThemeForeground\",\n \"resolved\": \"\\\"dark\\\" | \\\"default\\\" | \\\"light\\\"\",\n \"references\": {\n \"IcThemeForeground\": {\n \"location\": \"import\",\n \"path\": \"../../utils/types\",\n \"id\": \"src/utils/types.ts::IcThemeForeground\"\n }\n }\n },\n \"required\": false,\n \"optional\": false,\n \"docs\": {\n \"tags\": [{\n \"name\": \"internal\",\n \"text\": \"The appearance of the breadcrumb.\"\n }],\n \"text\": \"\"\n },\n \"attribute\": \"appearance\",\n \"reflect\": false,\n \"defaultValue\": \"\\\"default\\\"\"\n },\n \"current\": {\n \"type\": \"boolean\",\n \"mutable\": false,\n \"complexType\": {\n \"original\": \"boolean\",\n \"resolved\": \"boolean\",\n \"references\": {}\n },\n \"required\": false,\n \"optional\": true,\n \"docs\": {\n \"tags\": [],\n \"text\": \"If `true`, aria-current will be set on the breadcrumb.\"\n },\n \"attribute\": \"current\",\n \"reflect\": false,\n \"defaultValue\": \"false\"\n },\n \"href\": {\n \"type\": \"string\",\n \"mutable\": false,\n \"complexType\": {\n \"original\": \"string\",\n \"resolved\": \"string\",\n \"references\": {}\n },\n \"required\": false,\n \"optional\": true,\n \"docs\": {\n \"tags\": [],\n \"text\": \"The URL that the breadcrumb link points to.\"\n },\n \"attribute\": \"href\",\n \"reflect\": false\n },\n \"pageTitle\": {\n \"type\": \"string\",\n \"mutable\": false,\n \"complexType\": {\n \"original\": \"string\",\n \"resolved\": \"string\",\n \"references\": {}\n },\n \"required\": true,\n \"optional\": false,\n \"docs\": {\n \"tags\": [],\n \"text\": \"The title of the breadcrumb.\"\n },\n \"attribute\": \"page-title\",\n \"reflect\": false\n },\n \"showBackIcon\": {\n \"type\": \"boolean\",\n \"mutable\": false,\n \"complexType\": {\n \"original\": \"boolean\",\n \"resolved\": \"boolean\",\n \"references\": {}\n },\n \"required\": false,\n \"optional\": false,\n \"docs\": {\n \"tags\": [{\n \"name\": \"internal\",\n \"text\": \"If `true`, back icon will be displayed.\"\n }],\n \"text\": \"\"\n },\n \"attribute\": \"show-back-icon\",\n \"reflect\": true,\n \"defaultValue\": \"false\"\n }\n };\n }\n static get methods() {\n return {\n \"setFocus\": {\n \"complexType\": {\n \"signature\": \"() => Promise<void>\",\n \"parameters\": [],\n \"references\": {\n \"Promise\": {\n \"location\": \"global\",\n \"id\": \"global::Promise\"\n }\n },\n \"return\": \"Promise<void>\"\n },\n \"docs\": {\n \"text\": \"Sets focus on the breadcrumb.\",\n \"tags\": []\n }\n }\n };\n }\n static get elementRef() { return \"el\"; }\n}\n//# sourceMappingURL=ic-breadcrumb.js.map\n"],"mappings":"2VAAA,MAAMA,EAAkB,mgE,MCOXC,EAAU,MACnB,WAAAC,CAAAC,G,UACIC,KAAKC,wBAA0B,CAACC,EAASC,EAAWC,EAAeC,KAC/D,MAAMC,EAAeH,IAAc,MAAQI,EAAcJ,IAAcA,IAAc,GACrF,GAAID,GAAWI,EAAc,CACzB,OAAQE,EAAE,OAAQ,CAAEC,MAAO,CACnB,yBAA0BP,EAC1B,CAACF,KAAKU,YAAa,OAClBC,EAAWX,KAAKY,GAAI,SAAWJ,EAAE,OAAQ,CAAEK,KAAM,SAAWV,E,CAEzE,OAAQK,EAAE,UAAW,CAAEE,WAAYV,KAAKU,WAAYL,KAAMA,EAAMI,MAAO,kBAAmB,mBAAoBT,KAAKc,cAAgBV,GAAiBA,GAAiBJ,KAAKc,cAAiBN,EAAE,MAAO,CAAEC,MAAO,YAAaM,UAAWC,IAAcL,EAAWX,KAAKY,GAAI,SAAWJ,EAAE,OAAQ,CAAEK,KAAM,SAAWV,EAAU,EAE7TH,KAAKiB,2BAA6B,KAC9B,MAAMC,EAASlB,KAAKY,GAAGO,cAAc,WACrC,MAAMC,EAAc,eACpB,GAAIF,EAAQ,CACRA,EAAOG,UAAUC,OAAOF,GACxB,GAAIpB,KAAKE,QAAS,CACd,MAAMqB,EAAsBL,EAAOG,UAAUG,SAASJ,GACtD,IAAKG,EAAqB,CACtBL,EAAOG,UAAUI,IAAI,kBAAmBL,E,KAKxDpB,KAAKU,WAAa,UAClBV,KAAKE,QAAU,MACfF,KAAKK,KAAOqB,UACZ1B,KAAKG,UAAYuB,UACjB1B,KAAKc,aAAe,K,CAExB,mBAAAa,GACI3B,KAAKiB,4B,CAKT,cAAMW,GACF,GAAI5B,KAAKY,GAAGiB,WAAWV,cAAc,WAAY,CAC7CnB,KAAKY,GAAGiB,WAAWV,cAAc,WAAWW,O,EAGpD,MAAAC,GACI,MAAM7B,QAAEA,EAAOG,KAAEA,EAAIF,UAAEA,GAAcH,KACrC,MAAMI,EAAgB,GAAGD,GAAaA,EAAU6B,cAAcC,QAAQ,IAAK,mBAC3E,MAAM3B,EAAeH,IAAc,MAAQI,EAAcJ,IAAcA,IAAc,GACrF,MAAM+B,EAAU7B,IAAS,MAAQE,EAAcF,IAASA,IAAS,GACjE,OAAQG,EAAE2B,EAAM,CAAE1B,MAAO,CACjB2B,KAAMpC,KAAKc,cACZ,eAAgBZ,GAAW,OAAQmC,KAAM,YAAc7B,EAAE,MAAO,CAAEC,MAAO,cAAgBD,EAAE,OAAQ,CAAEO,UAAWuB,EAAa7B,MAAO,UAAW,cAAe,SAAWT,KAAKc,cAAgBV,GAAkBI,EAAE,OAAQ,CAAE+B,GAAInC,EAAeK,MAAO,QAAU,WAAWN,KAAeG,GAAgB4B,EAAWlC,KAAKC,wBAAwBC,EAASC,EAAWC,EAAeC,GAAUG,EAAE,OAAQ,O,CAIpZ,yBAAWgC,GAAmB,OAAO,IAAK,C"}
@@ -1,2 +1,2 @@
1
- import{r as e,h as t,g as i}from"./p-8455d1bb.js";import{j as a,i as o,a as r,k as n}from"./p-9caf19eb.js";import{I as s}from"./p-fd186591.js";import{C as c}from"./p-170ddfc2.js";const d='/*! normalize.css v8.0.1 | MIT License | github.com/necolas/normalize.css */html{line-height:1.15;-webkit-text-size-adjust:100%;}body{margin:0}main{display:block}h1{font-size:2em;margin:0.67em 0}hr{box-sizing:content-box;height:0;overflow:visible;}pre{font-family:monospace, monospace;font-size:1em;}a{background-color:transparent}abbr[title]{border-bottom:none;text-decoration:underline;-webkit-text-decoration:underline dotted;text-decoration:underline dotted;}b,strong{font-weight:bolder}code,kbd,samp{font-family:monospace, monospace;font-size:1em;}small{font-size:80%}sub,sup{font-size:75%;line-height:0;position:relative;vertical-align:baseline}sub{bottom:-0.25em}sup{top:-0.5em}img{border-style:none}button,input,optgroup,select,textarea{font-family:inherit;font-size:100%;line-height:1.15;margin:0;}button,input{overflow:visible}button,select{text-transform:none}button,[type="button"],[type="reset"],[type="submit"]{-webkit-appearance:button}button::-moz-focus-inner,[type="button"]::-moz-focus-inner,[type="reset"]::-moz-focus-inner,[type="submit"]::-moz-focus-inner{border-style:none;padding:0}button:-moz-focusring,[type="button"]:-moz-focusring,[type="reset"]:-moz-focusring,[type="submit"]:-moz-focusring{outline:1px dotted ButtonText}fieldset{padding:0.35em 0.75em 0.625em}legend{box-sizing:border-box;color:inherit;display:table;max-width:100%;padding:0;white-space:normal;}progress{vertical-align:baseline}textarea{overflow:auto}[type="checkbox"],[type="radio"]{box-sizing:border-box;padding:0;}[type="number"]::-webkit-inner-spin-button,[type="number"]::-webkit-outer-spin-button{height:auto}[type="search"]{-webkit-appearance:textfield;outline-offset:-2px;}[type="search"]::-webkit-search-decoration{-webkit-appearance:none}::-webkit-file-upload-button{-webkit-appearance:button;font:inherit;}details{display:block}summary{display:list-item}template{display:none}[hidden]{display:none}html,body,div,span,applet,object,iframe,h1,h2,h3,h4,h5,h6,p,blockquote,pre,a,abbr,acronym,address,big,cite,code,del,dfn,em,img,ins,kbd,q,s,samp,small,strike,strong,sub,sup,tt,var,b,u,i,center,dl,dt,dd,ol,ul,li,fieldset,form,label,legend,table,caption,tbody,tfoot,thead,tr,th,td,article,aside,canvas,details,embed,figure,figcaption,footer,header,hgroup,menu,nav,output,ruby,section,summary,time,mark,audio,video{margin:0;padding:0;border:0;font-size:100%;font-style:inherit;vertical-align:baseline}:host{display:flex}a{text-decoration:none !important;color:var(--ic-architechtural-black) !important}button{border:none;background-color:transparent;outline:var(--ic-hc-focus-outline)}.card,.card.clickable{display:flex;flex-direction:column;border:var(--ic-border-default);border-radius:var(--ic-border-radius);box-sizing:border-box;padding:var(--ic-space-md);text-align:left;color:var(--ic-architechtural-black);transition:var(--ic-easing-transition-fast);width:inherit;position:relative}.dark.card,.dark.card.clickable{border:var(--ic-border-width) solid var(--ic-architectural-700)}.card.clickable:hover{background-color:var(--ic-action-default-bg-hover);border:var(--ic-border-hover);cursor:pointer}.card.clickable:focus,.card.clickable.focussed{background-color:var(--ic-action-default-bg-hover);box-shadow:var(--ic-border-focus);outline:var(--ic-hc-focus-outline);border:var(--ic-border-pressed)}.card.clickable:active{background-color:var(--ic-action-default-bg-active);box-shadow:var(--ic-border-focus)}.card.disabled{border:var(--ic-border-disabled)}.card.fullwidth{width:100%}.card-header{display:flex;align-items:center}.icon{display:flex;align-items:center;padding-right:var(--ic-space-xs)}.card.disabled ::slotted(svg){fill:var(--ic-color-tertiary-text)}.card.clickable .card-title{color:var(--ic-hyperlink);text-decoration:underline;text-decoration-thickness:var(--ic-space-1px)}.card.clickable:hover .card-title,.card.clickable:focus .card-title,.card.clickable.focussed .card-title{display:inline-block;border-bottom:0.25rem solid !important;margin-bottom:-0.25rem !important;text-decoration:none}@supports (text-decoration-thickness: 25%){.card.clickable:hover .card-title,.card.clickable:focus .card-title,.card.clickable.focussed .card-title{text-decoration-line:underline;text-decoration-thickness:25%;text-underline-offset:25%;border-bottom:0 !important;margin-bottom:0 !important}}.card.clickable:active .card-title{text-decoration:none}.card.disabled .card-title{text-decoration:underline;text-decoration-thickness:var(--ic-space-1px);text-decoration-color:var(--ic-color-tertiary-text);color:var(--ic-color-tertiary-text)}.subheading{margin-top:var(--ic-space-xxs)}.adornment{margin-top:var(--ic-space-xxs)}.card-message{margin-top:var(--ic-space-md);align-items:left}.card.disabled .card-message,.card.disabled .subheading{color:var(--ic-color-tertiary-text)}.interaction-button{margin-left:auto}.image-top{margin-bottom:var(--ic-space-md);display:flex;justify-content:center}.image-mid{margin-top:var(--ic-space-md);display:flex;justify-content:center}.interaction-area{display:flex;flex-grow:1;gap:var(--ic-space-md);margin-top:var(--ic-space-md);align-items:flex-end}.interaction-controls{display:flex;align-items:center;flex-wrap:wrap;gap:var(--ic-space-sm)}.toggle-button{color:var(--ic-action-default);width:2.5rem;height:2.5rem;padding:var(--ic-space-xs);margin:var(--ic-space-1px) 0;min-width:0;cursor:pointer;transition:var(--ic-easing-transition-fast);border-radius:var(--ic-border-radius);display:inline-flex;flex-direction:row;justify-content:center;align-items:center;background:none;border:none;box-sizing:border-box;white-space:nowrap;vertical-align:middle}#ic-tooltip-expand-button{margin-left:auto;position:relative}.toggle-button:hover,.toggle-button:hover:focus{background-color:var(--ic-action-default-bg-hover);color:var(--ic-action-default-hover)}.toggle-button:focus{box-shadow:var(--ic-border-focus)}.toggle-button:active:not(:focus){background-color:var(--ic-action-default-bg-active);color:var(--ic-action-default-active)}.toggle-button svg{pointer-events:none;width:100% !important;height:100% !important;fill:currentcolor !important}.toggle-button-closed svg{transform:rotate(90deg)}.toggle-button-expanded svg{transform:rotate(-90deg)}.expanded-content{margin-top:var(--ic-space-md)}@media (forced-colors: active){.card ::slotted(svg){fill:currentcolor}.card.disabled ::slotted(svg){fill:GrayText !important}.card.disabled{border-color:GrayText !important}.card.disabled .card-message,.card.disabled .subheading,.card.disabled .card-title{color:GrayText}}';const l=class{constructor(t){e(this,t);this.parentFocussed=()=>{this.isFocussed=true};this.parentBlurred=()=>{this.isFocussed=false};this.toggleExpanded=()=>{this.areaExpanded=!this.areaExpanded};this.appearance="default";this.areaExpanded=false;this.isFocussed=false;this.parentEl=null;this.parentIsAnchorTag=false;this.clickable=false;this.disabled=false;this.expandable=false;this.fullWidth=false;this.heading=undefined;this.href=undefined;this.hreflang="";this.message="";this.referrerpolicy=undefined;this.rel=undefined;this.subheading=undefined;this.target=undefined}disconnectedCallback(){if(this.parentIsAnchorTag){this.parentEl.removeEventListener("focus",this.parentFocussed);this.parentEl.removeEventListener("blur",this.parentBlurred)}}componentWillLoad(){this.parentEl=this.el.parentElement;if(this.parentEl.tagName==="A"){this.clickable=true;this.parentIsAnchorTag=true;this.parentEl.classList.add("ic-card-wrapper-link");this.parentEl.addEventListener("focus",this.parentFocussed);this.parentEl.addEventListener("blur",this.parentBlurred)}a(this.disabled,this.el)}componentDidLoad(){!o(this.el,"heading")&&r([{prop:this.heading,propName:"heading"}],"Card");this.updateTheme()}handleHostClick(e){if(this.disabled){e.stopImmediatePropagation()}}themeChangeHandler(e){const t=e.detail;this.updateTheme(t.mode)}async setFocus(){if(this.el.shadowRoot.querySelector("a")){this.el.shadowRoot.querySelector("a").focus()}else if(this.el.shadowRoot.querySelector("button")){this.el.shadowRoot.querySelector("button").focus()}}updateTheme(e=null){const t=n(this.el,e||null);if(t!==s.Default){this.appearance=t}}render(){const{clickable:e,disabled:i,expandable:a,heading:r,message:n,href:d,hreflang:l,referrerpolicy:b,rel:u,subheading:p,target:h,fullWidth:m,parentIsAnchorTag:g,isFocussed:f}=this;const v=g?"div":e?this.href===undefined?"button":"a":"div";const x=v=="a"&&{href:d,hrefLang:l,referrerPolicy:b,rel:u,target:h};return t(v,Object.assign({class:{["card"]:true,["clickable"]:e&&!i,["disabled"]:i,["fullwidth"]:m,["focussed"]:f,["dark"]:this.appearance===s.Dark},tabindex:e&&!g?0:null,"aria-disabled":i?"true":null,disabled:i?true:null},x),o(this.el,"image-top")&&t("div",{class:"image-top"},t("slot",{name:"image-top"})),t("div",{class:"card-header"},o(this.el,"icon")&&t("div",{class:"icon"},t("slot",{name:"icon"})),t("div",{class:"card-title"},t("slot",{name:"heading"},t("ic-typography",{variant:"h4"},t("p",null,r)))),o(this.el,"interaction-button")&&t("div",{class:"interaction-button"},t("slot",{name:"interaction-button"}))),(p||o(this.el,"subheading"))&&t("div",{class:"subheading"},t("slot",{name:"subheading"},t("ic-typography",{variant:"subtitle-small"},p))),o(this.el,"adornment")&&t("div",{class:"adornment"},t("slot",{name:"adornment"})),o(this.el,"image-mid")&&t("div",{class:"image-mid"},t("slot",{name:"image-mid"})),(n||o(this.el,"message"))&&t("div",{class:{["card-message"]:true}},n&&t("ic-typography",{variant:"body"},n),o(this.el,"message")&&t("slot",{name:"message"})),(o(this.el,"interaction-controls")||a)&&t("div",{class:"interaction-area"},t("div",{class:"interaction-controls"},t("slot",{name:"interaction-controls"})),a&&t("ic-tooltip",{id:"ic-tooltip-expand-button",label:"Toggle expandable area",silent:true},t("button",{class:{["toggle-button"]:true,[`toggle-button-${this.areaExpanded?"expanded":"closed"}`]:true},"aria-label":"Toggle expandable area","aria-expanded":`${this.areaExpanded}`,"aria-controls":this.areaExpanded?"expanded-content-area":null,onClick:this.toggleExpanded,innerHTML:c}))),o(this.el,"expanded-content")&&this.areaExpanded&&t("div",{class:"expanded-content",id:"expanded-content-area"},t("slot",{name:"expanded-content"})),o(this.el,"badge")&&t("slot",{name:"badge"}))}get el(){return i(this)}};l.style=d;export{l as ic_card};
2
- //# sourceMappingURL=p-8b08d8fe.entry.js.map
1
+ import{r as e,h as t,g as i}from"./p-8455d1bb.js";import{j as a,i as o,a as r,k as n}from"./p-3b0caac0.js";import{I as s}from"./p-fd186591.js";import{C as c}from"./p-170ddfc2.js";const d='/*! normalize.css v8.0.1 | MIT License | github.com/necolas/normalize.css */html{line-height:1.15;-webkit-text-size-adjust:100%;}body{margin:0}main{display:block}h1{font-size:2em;margin:0.67em 0}hr{box-sizing:content-box;height:0;overflow:visible;}pre{font-family:monospace, monospace;font-size:1em;}a{background-color:transparent}abbr[title]{border-bottom:none;text-decoration:underline;-webkit-text-decoration:underline dotted;text-decoration:underline dotted;}b,strong{font-weight:bolder}code,kbd,samp{font-family:monospace, monospace;font-size:1em;}small{font-size:80%}sub,sup{font-size:75%;line-height:0;position:relative;vertical-align:baseline}sub{bottom:-0.25em}sup{top:-0.5em}img{border-style:none}button,input,optgroup,select,textarea{font-family:inherit;font-size:100%;line-height:1.15;margin:0;}button,input{overflow:visible}button,select{text-transform:none}button,[type="button"],[type="reset"],[type="submit"]{-webkit-appearance:button}button::-moz-focus-inner,[type="button"]::-moz-focus-inner,[type="reset"]::-moz-focus-inner,[type="submit"]::-moz-focus-inner{border-style:none;padding:0}button:-moz-focusring,[type="button"]:-moz-focusring,[type="reset"]:-moz-focusring,[type="submit"]:-moz-focusring{outline:1px dotted ButtonText}fieldset{padding:0.35em 0.75em 0.625em}legend{box-sizing:border-box;color:inherit;display:table;max-width:100%;padding:0;white-space:normal;}progress{vertical-align:baseline}textarea{overflow:auto}[type="checkbox"],[type="radio"]{box-sizing:border-box;padding:0;}[type="number"]::-webkit-inner-spin-button,[type="number"]::-webkit-outer-spin-button{height:auto}[type="search"]{-webkit-appearance:textfield;outline-offset:-2px;}[type="search"]::-webkit-search-decoration{-webkit-appearance:none}::-webkit-file-upload-button{-webkit-appearance:button;font:inherit;}details{display:block}summary{display:list-item}template{display:none}[hidden]{display:none}html,body,div,span,applet,object,iframe,h1,h2,h3,h4,h5,h6,p,blockquote,pre,a,abbr,acronym,address,big,cite,code,del,dfn,em,img,ins,kbd,q,s,samp,small,strike,strong,sub,sup,tt,var,b,u,i,center,dl,dt,dd,ol,ul,li,fieldset,form,label,legend,table,caption,tbody,tfoot,thead,tr,th,td,article,aside,canvas,details,embed,figure,figcaption,footer,header,hgroup,menu,nav,output,ruby,section,summary,time,mark,audio,video{margin:0;padding:0;border:0;font-size:100%;font-style:inherit;vertical-align:baseline}:host{display:flex}a{text-decoration:none !important;color:var(--ic-architechtural-black) !important}button{border:none;background-color:transparent;outline:var(--ic-hc-focus-outline)}.card,.card.clickable{display:flex;flex-direction:column;border:var(--ic-border-default);border-radius:var(--ic-border-radius);box-sizing:border-box;padding:var(--ic-space-md);text-align:left;color:var(--ic-architechtural-black);transition:var(--ic-easing-transition-fast);width:inherit;position:relative}.dark.card,.dark.card.clickable{border:var(--ic-border-width) solid var(--ic-architectural-700)}.card.clickable:hover{background-color:var(--ic-action-default-bg-hover);border:var(--ic-border-hover);cursor:pointer}.card.clickable:focus,.card.clickable.focussed{background-color:var(--ic-action-default-bg-hover);box-shadow:var(--ic-border-focus);outline:var(--ic-hc-focus-outline);border:var(--ic-border-pressed)}.card.clickable:active{background-color:var(--ic-action-default-bg-active);box-shadow:var(--ic-border-focus)}.card.disabled{border:var(--ic-border-disabled)}.card.fullwidth{width:100%}.card-header{display:flex;align-items:center}.icon{display:flex;align-items:center;padding-right:var(--ic-space-xs)}.card.disabled ::slotted(svg){fill:var(--ic-color-tertiary-text)}.card.clickable .card-title{color:var(--ic-hyperlink);text-decoration:underline;text-decoration-thickness:var(--ic-space-1px)}.card.clickable:hover .card-title,.card.clickable:focus .card-title,.card.clickable.focussed .card-title{display:inline-block;border-bottom:0.25rem solid !important;margin-bottom:-0.25rem !important;text-decoration:none}@supports (text-decoration-thickness: 25%){.card.clickable:hover .card-title,.card.clickable:focus .card-title,.card.clickable.focussed .card-title{text-decoration-line:underline;text-decoration-thickness:25%;text-underline-offset:25%;border-bottom:0 !important;margin-bottom:0 !important}}.card.clickable:active .card-title{text-decoration:none}.card.disabled .card-title{text-decoration:underline;text-decoration-thickness:var(--ic-space-1px);text-decoration-color:var(--ic-color-tertiary-text);color:var(--ic-color-tertiary-text)}.subheading{margin-top:var(--ic-space-xxs)}.adornment{margin-top:var(--ic-space-xxs)}.card-message{margin-top:var(--ic-space-md);align-items:left}.card.disabled .card-message,.card.disabled .subheading{color:var(--ic-color-tertiary-text)}.interaction-button{margin-left:auto}.image-top{margin-bottom:var(--ic-space-md);display:flex;justify-content:center}.image-mid{margin-top:var(--ic-space-md);display:flex;justify-content:center}.interaction-area{display:flex;flex-grow:1;gap:var(--ic-space-md);margin-top:var(--ic-space-md);align-items:flex-end}.interaction-controls{display:flex;align-items:center;flex-wrap:wrap;gap:var(--ic-space-sm)}.toggle-button{color:var(--ic-action-default);width:2.5rem;height:2.5rem;padding:var(--ic-space-xs);margin:var(--ic-space-1px) 0;min-width:0;cursor:pointer;transition:var(--ic-easing-transition-fast);border-radius:var(--ic-border-radius);display:inline-flex;flex-direction:row;justify-content:center;align-items:center;background:none;border:none;box-sizing:border-box;white-space:nowrap;vertical-align:middle}#ic-tooltip-expand-button{margin-left:auto;position:relative}.toggle-button:hover,.toggle-button:hover:focus{background-color:var(--ic-action-default-bg-hover);color:var(--ic-action-default-hover)}.toggle-button:focus{box-shadow:var(--ic-border-focus)}.toggle-button:active:not(:focus){background-color:var(--ic-action-default-bg-active);color:var(--ic-action-default-active)}.toggle-button svg{pointer-events:none;width:100% !important;height:100% !important;fill:currentcolor !important}.toggle-button-closed svg{transform:rotate(90deg)}.toggle-button-expanded svg{transform:rotate(-90deg)}.expanded-content{margin-top:var(--ic-space-md)}@media (forced-colors: active){.card ::slotted(svg){fill:currentcolor}.card.disabled ::slotted(svg){fill:GrayText !important}.card.disabled{border-color:GrayText !important}.card.disabled .card-message,.card.disabled .subheading,.card.disabled .card-title{color:GrayText}}';const l=class{constructor(t){e(this,t);this.parentFocussed=()=>{this.isFocussed=true};this.parentBlurred=()=>{this.isFocussed=false};this.toggleExpanded=()=>{this.areaExpanded=!this.areaExpanded};this.appearance="default";this.areaExpanded=false;this.isFocussed=false;this.parentEl=null;this.parentIsAnchorTag=false;this.clickable=false;this.disabled=false;this.expandable=false;this.fullWidth=false;this.heading=undefined;this.href=undefined;this.hreflang="";this.message="";this.referrerpolicy=undefined;this.rel=undefined;this.subheading=undefined;this.target=undefined}disconnectedCallback(){if(this.parentIsAnchorTag){this.parentEl.removeEventListener("focus",this.parentFocussed);this.parentEl.removeEventListener("blur",this.parentBlurred)}}componentWillLoad(){this.parentEl=this.el.parentElement;if(this.parentEl.tagName==="A"){this.clickable=true;this.parentIsAnchorTag=true;this.parentEl.classList.add("ic-card-wrapper-link");this.parentEl.addEventListener("focus",this.parentFocussed);this.parentEl.addEventListener("blur",this.parentBlurred)}a(this.disabled,this.el)}componentDidLoad(){!o(this.el,"heading")&&r([{prop:this.heading,propName:"heading"}],"Card");this.updateTheme()}handleHostClick(e){if(this.disabled){e.stopImmediatePropagation()}}themeChangeHandler(e){const t=e.detail;this.updateTheme(t.mode)}async setFocus(){if(this.el.shadowRoot.querySelector("a")){this.el.shadowRoot.querySelector("a").focus()}else if(this.el.shadowRoot.querySelector("button")){this.el.shadowRoot.querySelector("button").focus()}}updateTheme(e=null){const t=n(this.el,e||null);if(t!==s.Default){this.appearance=t}}render(){const{clickable:e,disabled:i,expandable:a,heading:r,message:n,href:d,hreflang:l,referrerpolicy:b,rel:u,subheading:p,target:h,fullWidth:m,parentIsAnchorTag:g,isFocussed:f}=this;const v=g?"div":e?this.href===undefined?"button":"a":"div";const x=v=="a"&&{href:d,hrefLang:l,referrerPolicy:b,rel:u,target:h};return t(v,Object.assign({class:{["card"]:true,["clickable"]:e&&!i,["disabled"]:i,["fullwidth"]:m,["focussed"]:f,["dark"]:this.appearance===s.Dark},tabindex:e&&!g?0:null,"aria-disabled":i?"true":null,disabled:i?true:null},x),o(this.el,"image-top")&&t("div",{class:"image-top"},t("slot",{name:"image-top"})),t("div",{class:"card-header"},o(this.el,"icon")&&t("div",{class:"icon"},t("slot",{name:"icon"})),t("div",{class:"card-title"},t("slot",{name:"heading"},t("ic-typography",{variant:"h4"},t("p",null,r)))),o(this.el,"interaction-button")&&t("div",{class:"interaction-button"},t("slot",{name:"interaction-button"}))),(p||o(this.el,"subheading"))&&t("div",{class:"subheading"},t("slot",{name:"subheading"},t("ic-typography",{variant:"subtitle-small"},p))),o(this.el,"adornment")&&t("div",{class:"adornment"},t("slot",{name:"adornment"})),o(this.el,"image-mid")&&t("div",{class:"image-mid"},t("slot",{name:"image-mid"})),(n||o(this.el,"message"))&&t("div",{class:{["card-message"]:true}},n&&t("ic-typography",{variant:"body"},n),o(this.el,"message")&&t("slot",{name:"message"})),(o(this.el,"interaction-controls")||a)&&t("div",{class:"interaction-area"},t("div",{class:"interaction-controls"},t("slot",{name:"interaction-controls"})),a&&t("ic-tooltip",{id:"ic-tooltip-expand-button",label:"Toggle expandable area",silent:true},t("button",{class:{["toggle-button"]:true,[`toggle-button-${this.areaExpanded?"expanded":"closed"}`]:true},"aria-label":"Toggle expandable area","aria-expanded":`${this.areaExpanded}`,"aria-controls":this.areaExpanded?"expanded-content-area":null,onClick:this.toggleExpanded,innerHTML:c}))),o(this.el,"expanded-content")&&this.areaExpanded&&t("div",{class:"expanded-content",id:"expanded-content-area"},t("slot",{name:"expanded-content"})),o(this.el,"badge")&&t("slot",{name:"badge"}))}get el(){return i(this)}};l.style=d;export{l as ic_card};
2
+ //# sourceMappingURL=p-e0e26834.entry.js.map
@@ -0,0 +1,2 @@
1
+ import{r as t,h as e,g as i}from"./p-8455d1bb.js";const a=`<svg focusable="false" aria-hidden="true" viewBox="0 0 24 24">\n <path d="M9 3 5 6.99h3V14h2V6.99h3L9 3zm7 14.01V10h-2v7.01h-3L15 21l4-3.99h-3z"></path>\n</svg>`;const s=`<svg focusable="false" aria-hidden="true" viewBox="0 0 24 24" style="transform: rotate(-90deg);">\n <path d="M16.01 11H4v2h12.01v3L20 12l-3.99-4z"></path>\n</svg>`;const n=`<svg focusable="false" aria-hidden="true" viewBox="0 0 24 24" style="transform: rotate(90deg)">\n <path d="M16.01 11H4v2h12.01v3L20 12l-3.99-4z"></path>\n</svg>`;const r=':host{position:relative;display:block;height:100%;max-height:100%}.table-container{position:relative;height:calc(100% - var(--ic-space-xxxs))}.table-row-container{position:relative;height:100%;overflow:auto;transition:var(--ic-easing-transition-fast);overflow-anchor:none}:host([show-pagination="true"]) .table-row-container{height:calc(100% - 3.5625rem)}table{table-layout:fixed;border-spacing:0;width:100%}.table-row-container:focus{outline:none;box-shadow:var(--ic-border-focus);border-radius:var(--ic-border-radius);transition:var(--ic-easing-transition-fast);z-index:1}:host([embedded="true"]) .table-container{border:var(--ic-border-light)}.column-header-sticky{position:sticky;top:0;z-index:1}.column-header-overlay{position:sticky;top:0;z-index:1;box-shadow:0 0.375rem var(--ic-space-xs) calc(var(--ic-space-xxs * -1))\n rgb(0 0 0 / 20%)}.row-header-sticky{position:sticky;left:0}.column-header,.table-row{box-sizing:border-box}.table-row-selected{background-color:var(--ic-table-row-selected) !important}.sort-button{margin-left:auto}.sort-button:hover{background-color:var(--ic-action-dark-bg-hover)}.sort-button:active{background-color:var(--ic-action-dark-bg-active)}.sort-button svg{color:var(--ic-architectural-black)}.sort-button-unsorted svg{color:var(--ic-color-tertiary-text)}.table-density-dense{padding:var(--ic-space-xxs) var(--ic-space-xs) !important}.text-dense{font-size:var(--ic-font-size-label)}.table-density-spacious{padding:0.625rem var(--ic-space-xs) !important}.text-spacious{font-size:1.125rem}.column-header-text{font-weight:var(--ic-font-weight-bold)}.column-header,.row-header{text-align:left;padding:var(--ic-space-xs);background-color:var(--ic-architectural-40);border-right:var(--ic-border-light);border-bottom:var(--ic-border-light)}.column-header:last-child{border-right:none}.scrollable .column-header:last-child{border-right:var(--ic-border-light) !important}:host([embedded="true"]) tr:last-child .table-cell,:host([embedded="true"]) tr:last-child .row-header{border-bottom:none}.column-header-alignment-left,.row-header-alignment-left,.cell-alignment-left{text-align:left !important}.column-header-alignment-right,.row-header-alignment-right,.cell-alignment-right{text-align:right !important}.column-header-alignment-center,.row-header-alignment-center,.cell-alignment-center{text-align:center !important}.table-row:nth-child(even){background-color:var(--ic-architectural-20)}.table-cell{padding:var(--ic-space-xs);border-bottom:solid var(--ic-architectural-100) var(--ic-space-1px)}.data-type-string{text-align:left;vertical-align:top}.data-type-number,.data-type-date{text-align:right;vertical-align:top}.cell-alignment-top{vertical-align:top}.cell-alignment-middle{vertical-align:middle}.cell-alignment-bottom{vertical-align:bottom}.cell-emphasis-low{color:var(--ic-color-secondary-text)}.cell-emphasis-high{font-weight:var(--ic-font-weight-bold)}.pagination-container{background-color:var(--ic-architectural-40);border-top:var(--ic-border-light)}.screen-reader-sort-text,.table-caption{position:absolute;left:-100rem}.table-cell,.column-header,.row-header{word-wrap:break-word;white-space:pre-wrap}@media screen and (min-width: 576px){.column-header-inner-container{display:flex;align-items:center}}';const o=class{constructor(i){t(this,i);this.SORT_ICONS={unsorted:a,ascending:s,descending:n};this.isObject=t=>typeof t==="object";this.notDefaultDensity=()=>this.density!=="default";this.getCellContent=(t,e)=>{switch(e){case"element":return undefined;case"date":return(t instanceof Date?t:new Date(t)).toLocaleDateString();default:return t}};this.getCellAlignment=(t,e)=>{if(this.isObject(t)&&Object.keys(t).includes("cellAlignment")){return this.getObjectValue(this.getObjectValue(t,"cellAlignment"),e)}};this.createCells=t=>{const i=Object.values(t);const a=Object.keys(t);let s;let n;const r=a.indexOf("header");if(r>-1){s=this.getObjectValue(i[r],"rowAlignment");n=this.getObjectValue(i[r],"emphasis")}return i.map(((t,i)=>{const{columnAlignment:r,dataType:o,emphasis:l}=this.columns[i];const h=e=>this.getObjectValue(t,e);return a[i]==="header"?e("th",{scope:"row",colSpan:h("colspan"),class:{["row-header"]:true,[`row-header-alignment-${h("cellAlignment")}`]:!!h("cellAlignment"),["row-header-sticky"]:this.stickyRowHeaders}},h("title")):e("td",{innerHTML:o==="element"?t:null,class:{["table-cell"]:true,[`table-density-${this.density}`]:this.notDefaultDensity(),[`data-type-${o}`]:true,[`cell-alignment-${(r===null||r===void 0?void 0:r.horizontal)||this.getCellAlignment(t,"horizontal")}`]:!!(r===null||r===void 0?void 0:r.horizontal)||!!this.getCellAlignment(t,"horizontal"),[`cell-alignment-${(r===null||r===void 0?void 0:r.vertical)||s||this.getCellAlignment(t,"vertical")}`]:!!(r===null||r===void 0?void 0:r.vertical)||!!s||!!this.getCellAlignment(t,"vertical")}},e("ic-typography",{variant:"body",class:{[`cell-emphasis-${this.isObject(t)&&h("emphasis")||l||n}`]:this.isObject(t)&&!!h("emphasis")||!!l||!!n,[`text-${this.density}`]:this.notDefaultDensity()}},this.isObject(t)&&o!=="date"?Object.keys(t).includes("href")?e("ic-link",{href:h("href")},h("data")):h("data"):this.getCellContent(t,o)))}))};this.createColumnHeaders=()=>this.columns.map((({cellAlignment:t,colspan:i,key:a,title:s})=>e("th",{scope:"col",class:{["column-header"]:true,[`column-header-alignment-${t}`]:!!t,[`table-density-${this.density}`]:this.notDefaultDensity()},colSpan:i},this.sortable?e("div",{class:"column-header-inner-container"},e("ic-typography",{variant:"body",class:{["column-header-text"]:true,[`text-${this.density}`]:this.notDefaultDensity()}},s),e("ic-button",{variant:"icon",id:`sort-button-${a}`,"aria-label":this.getSortButtonLabel(a),onClick:()=>this.sortRows(a),innerHTML:this.SORT_ICONS[this.sortedColumn===a?this.sortedColumnOrder:"unsorted"],class:{["sort-button"]:true,["sort-button-unsorted"]:this.sortedColumn!==a||this.sortedColumnOrder==="unsorted"}})):e("ic-typography",{variant:"body",class:{["column-header-text"]:true,[`text-${this.density}`]:this.notDefaultDensity()}},s))));this.createRows=()=>{const t=this.showPagination?this.data.slice(this.fromRow,this.toRow):this.data.slice();return t.sort(!this.sortable?undefined:this.getSortFunction()).map((t=>e("tr",{onClick:()=>this.selectedRow=this.selectedRow!==t&&t,class:{["table-row"]:true,["table-row-selected"]:this.selectedRow===t}},this.createCells(t))))};this.getObjectValue=(t,e)=>Object.values(t)[Object.keys(t).indexOf(e)];this.getSortButtonLabel=t=>{let e="";const i=t=>{const e=this.sortOptions.sortOrders;return e[(e.indexOf(t)+1)%e.length]};if(this.sortedColumn===t){const t=i(this.sortedColumnOrder);e=t!=="unsorted"?`Sort ${t}`:"Remove sort"}else{e=`Sort ${i("unsorted")}`}return e};this.getComparison=(t,e)=>{const i=t[this.sortedColumn];const a=e[this.sortedColumn];return this.columns.find((t=>t.key===this.sortedColumn)).dataType==="date"?new Date(i).valueOf()-new Date(a).valueOf():String(this.isObject(i)?Object.values(i)[0]:i).localeCompare(String(this.isObject(a)?Object.values(a)[0]:a),undefined,{numeric:true,sensitivity:"base"})};this.getSortFunction=()=>{switch(this.sortedColumnOrder){case"ascending":return(t,e)=>this.getComparison(t,e);case"descending":return(t,e)=>this.getComparison(e,t);default:return undefined}};this.sortRows=t=>{const e=this.el.shadowRoot.querySelector(`#sort-button-${t}`);const i=this.sortOptions.sortOrders;if(t!==this.sortedColumn){if(this.sortedColumn){const e=this.el.shadowRoot.querySelector(`#sort-button-${this.sortedColumn}`);e.setAttribute("aria-label",this.getSortButtonLabel(t))}this.sortedColumn=t;this.sortedColumnOrder="unsorted"}let a=i.indexOf(this.sortedColumnOrder)+1;if(a>i.length-1){a=0}this.sortedColumnOrder=i[a];e.setAttribute("aria-label",this.getSortButtonLabel(t))};this.updateScrollOffset=()=>{this.scrollOffset=this.el.shadowRoot.querySelector(".table-row-container").scrollTop};this.fromRow=0;this.previousRowsPerPage=undefined;this.rowsPerPage=undefined;this.scrollable=false;this.scrollOffset=0;this.selectedRow=undefined;this.sortedColumn=undefined;this.sortedColumnOrder=undefined;this.toRow=undefined;this.caption=undefined;this.columns=undefined;this.data=undefined;this.density="default";this.embedded=false;this.hideColumnHeaders=false;this.paginationOptions={itemsPerPage:[{label:"10",value:"10"},{label:"25",value:"25"},{label:"50",value:"50"}],type:"page",control:"simple",itemsPerPageControl:true,goToPageControl:true,alignment:"right"};this.showPagination=false;this.sortable=false;this.sortOptions={sortOrders:["unsorted","ascending","descending"],defaultColumn:""};this.stickyColumnHeaders=false;this.stickyRowHeaders=false}componentWillLoad(){this.rowsPerPage=Number(this.paginationOptions.itemsPerPage[0].value);this.previousRowsPerPage=this.rowsPerPage;this.toRow=this.rowsPerPage;this.sortedColumn=this.sortOptions.defaultColumn;this.sortedColumnOrder=this.sortOptions.sortOrders[0]}componentDidLoad(){const t=this.el.shadowRoot.querySelector("table");const e=this.el.shadowRoot.querySelector(".table-container");if((t===null||t===void 0?void 0:t.clientHeight)>(e===null||e===void 0?void 0:e.clientHeight)||(t===null||t===void 0?void 0:t.clientWidth)>(e===null||e===void 0?void 0:e.clientWidth)){this.scrollable=true}}handleItemsPerPageChange(t){this.previousRowsPerPage=this.rowsPerPage;this.rowsPerPage=t.detail.value}handlePageChange(t){this.fromRow=(t.detail.value-1)*this.rowsPerPage;this.toRow=this.fromRow+this.rowsPerPage;const e=this.el.shadowRoot.querySelector(".table-row-container");if(this.previousRowsPerPage===this.rowsPerPage){e.scrollTop=0}else if(this.previousRowsPerPage<this.rowsPerPage){e.scrollTop=this.scrollOffset;this.previousRowsPerPage=this.rowsPerPage}else{this.previousRowsPerPage=this.rowsPerPage}}clickListener(t){if(t.target!==this.el)this.selectedRow=undefined}render(){const{caption:t,createColumnHeaders:i,createRows:a,data:s,hideColumnHeaders:n,paginationOptions:r,scrollable:o,scrollOffset:l,showPagination:h,sortable:c,sortedColumnOrder:d,sortedColumn:u,stickyColumnHeaders:g,updateScrollOffset:b}=this;return e("div",{class:"table-container"},e("div",{class:{["table-row-container"]:true,scrollable:o},tabIndex:o?0:null,onScroll:b},e("table",null,e("caption",{class:"table-caption"},t),!n&&e("thead",{class:{["column-header-sticky"]:g,["column-header-overlay"]:g&&l!==0}},e("tr",null,i())),(s===null||s===void 0?void 0:s.length)>0&&e("tbody",null,a()))),h&&e("div",{class:"pagination-container"},e("ic-pagination-bar",{totalItems:s.length,paginationType:r.type,paginationControl:r.control,showItemsPerPageControl:r.itemsPerPageControl,showGoToPageControl:r.goToPageControl,itemsPerPageOptions:r.itemsPerPage,alignment:r.alignment})),c&&e("div",{class:"screen-reader-sort-text","aria-live":"polite"},d!=="unsorted"&&u?`${u} sorted ${d}`:"table unsorted"))}get el(){return i(this)}};o.style=r;export{o as ic_data_table};
2
+ //# sourceMappingURL=p-e189f1d0.entry.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["icDataTableCss","DataTable","this","SORT_ICONS","unsorted","unsortedIcon","ascending","ascendingIcon","descending","descendingIcon","isObject","value","notDefaultDensity","density","getCellContent","cell","dataType","undefined","Date","toLocaleDateString","getCellAlignment","alignment","Object","keys","includes","getObjectValue","createCells","row","rowValues","values","rowKeys","rowAlignment","rowEmphasis","headerIndex","indexOf","map","index","columnAlignment","emphasis","columns","cellValue","key","h","scope","colSpan","class","stickyRowHeaders","innerHTML","horizontal","vertical","variant","href","createColumnHeaders","cellAlignment","colspan","title","sortable","id","getSortButtonLabel","onClick","sortRows","sortedColumn","sortedColumnOrder","createRows","data","showPagination","slice","fromRow","toRow","sort","getSortFunction","selectedRow","label","getNextSortOption","option","sortOrders","sortOptions","length","sortOption","getComparison","targetRow","comparisonRow","targetRowValue","comparisonRowValue","find","col","valueOf","String","localeCompare","numeric","sensitivity","a","b","column","sortButton","el","shadowRoot","querySelector","previousSortedButton","setAttribute","nextSortOrderIndex","updateScrollOffset","scrollOffset","scrollTop","itemsPerPage","type","control","itemsPerPageControl","goToPageControl","defaultColumn","componentWillLoad","rowsPerPage","Number","paginationOptions","previousRowsPerPage","componentDidLoad","tableElement","tableContainer","clientHeight","clientWidth","scrollable","handleItemsPerPageChange","ev","detail","handlePageChange","tableRowsContainer","clickListener","target","render","caption","hideColumnHeaders","stickyColumnHeaders","tabIndex","onScroll","totalItems","paginationType","paginationControl","showItemsPerPageControl","showGoToPageControl","itemsPerPageOptions"],"sources":["src/components/ic-data-table/ic-data-table.css?tag=ic-data-table&encapsulation=shadow","src/components/ic-data-table/ic-data-table.tsx"],"sourcesContent":[":host {\n position: relative;\n display: block;\n height: 100%;\n max-height: 100%;\n}\n\n.table-container {\n position: relative;\n height: calc(100% - var(--ic-space-xxxs));\n}\n\n.table-row-container {\n position: relative;\n height: 100%;\n overflow: auto;\n transition: var(--ic-easing-transition-fast);\n overflow-anchor: none;\n}\n\n:host([show-pagination=\"true\"]) .table-row-container {\n height: calc(100% - 3.5625rem);\n}\n\ntable {\n table-layout: fixed;\n border-spacing: 0;\n width: 100%;\n}\n\n.table-row-container:focus {\n outline: none;\n box-shadow: var(--ic-border-focus);\n border-radius: var(--ic-border-radius);\n transition: var(--ic-easing-transition-fast);\n z-index: 1;\n}\n\n:host([embedded=\"true\"]) .table-container {\n border: var(--ic-border-light);\n}\n\n.column-header-sticky {\n position: sticky;\n top: 0;\n z-index: 1;\n}\n\n.column-header-overlay {\n position: sticky;\n top: 0;\n z-index: 1;\n box-shadow: 0 0.375rem var(--ic-space-xs) calc(var(--ic-space-xxs * -1))\n rgb(0 0 0 / 20%);\n}\n\n.row-header-sticky {\n position: sticky;\n left: 0;\n}\n\n.column-header,\n.table-row {\n box-sizing: border-box;\n}\n\n.table-row-selected {\n background-color: var(--ic-table-row-selected) !important;\n}\n\n.sort-button {\n margin-left: auto;\n}\n\n.sort-button:hover {\n background-color: var(--ic-action-dark-bg-hover);\n}\n\n.sort-button:active {\n background-color: var(--ic-action-dark-bg-active);\n}\n\n.sort-button svg {\n color: var(--ic-architectural-black);\n}\n\n.sort-button-unsorted svg {\n color: var(--ic-color-tertiary-text);\n}\n\n.table-density-dense {\n padding: var(--ic-space-xxs) var(--ic-space-xs) !important;\n}\n\n.text-dense {\n font-size: var(--ic-font-size-label);\n}\n\n.table-density-spacious {\n padding: 0.625rem var(--ic-space-xs) !important;\n}\n\n.text-spacious {\n font-size: 1.125rem;\n}\n\n.column-header-text {\n font-weight: var(--ic-font-weight-bold);\n}\n\n.column-header,\n.row-header {\n text-align: left;\n padding: var(--ic-space-xs);\n background-color: var(--ic-architectural-40);\n border-right: var(--ic-border-light);\n border-bottom: var(--ic-border-light);\n}\n\n.column-header:last-child {\n border-right: none;\n}\n\n.scrollable .column-header:last-child {\n border-right: var(--ic-border-light) !important;\n}\n\n:host([embedded=\"true\"]) tr:last-child .table-cell,\n:host([embedded=\"true\"]) tr:last-child .row-header {\n border-bottom: none;\n}\n\n.column-header-alignment-left,\n.row-header-alignment-left,\n.cell-alignment-left {\n text-align: left !important;\n}\n\n.column-header-alignment-right,\n.row-header-alignment-right,\n.cell-alignment-right {\n text-align: right !important;\n}\n\n.column-header-alignment-center,\n.row-header-alignment-center,\n.cell-alignment-center {\n text-align: center !important;\n}\n\n.table-row:nth-child(even) {\n background-color: var(--ic-architectural-20);\n}\n\n.table-cell {\n padding: var(--ic-space-xs);\n border-bottom: solid var(--ic-architectural-100) var(--ic-space-1px);\n}\n\n.data-type-string {\n text-align: left;\n vertical-align: top;\n}\n\n.data-type-number,\n.data-type-date {\n text-align: right;\n vertical-align: top;\n}\n\n.cell-alignment-top {\n vertical-align: top;\n}\n\n.cell-alignment-middle {\n vertical-align: middle;\n}\n\n.cell-alignment-bottom {\n vertical-align: bottom;\n}\n\n.cell-emphasis-low {\n color: var(--ic-color-secondary-text);\n}\n\n.cell-emphasis-high {\n font-weight: var(--ic-font-weight-bold);\n}\n\n.pagination-container {\n background-color: var(--ic-architectural-40);\n border-top: var(--ic-border-light);\n}\n\n.screen-reader-sort-text,\n.table-caption {\n position: absolute;\n left: -100rem;\n}\n\n.table-cell,\n.column-header,\n.row-header {\n word-wrap: break-word;\n white-space: pre-wrap;\n}\n\n@media screen and (min-width: 576px) {\n .column-header-inner-container {\n display: flex;\n align-items: center;\n }\n}\n","import { Component, Element, h, Prop, State, Listen } from \"@stencil/core\";\nimport unsortedIcon from \"./assets/unsorted-icon.svg\";\nimport ascendingIcon from \"./assets/ascending-icon.svg\";\nimport descendingIcon from \"./assets/descending-icon.svg\";\nimport {\n IcDataTableColumnDataTypes,\n IcDataTableColumnObject,\n IcDataTableDensityOptions,\n IcDataTableSortOrderOptions,\n} from \"./ic-data-table.types\";\nimport {\n IcPaginationAlignmentOptions,\n IcPaginationControlTypes,\n IcPaginationTypes,\n} from \"../ic-pagination/ic-pagination.types\";\n\n@Component({\n tag: \"ic-data-table\",\n styleUrl: \"ic-data-table.css\",\n shadow: true,\n})\nexport class DataTable {\n private SORT_ICONS = {\n unsorted: unsortedIcon,\n ascending: ascendingIcon,\n descending: descendingIcon,\n };\n\n @Element() el: HTMLIcDataTableElement;\n\n @State() fromRow: number = 0;\n\n @State() previousRowsPerPage: number;\n\n @State() rowsPerPage: number;\n\n @State() scrollable: boolean = false;\n\n @State() scrollOffset: number = 0;\n\n @State() selectedRow: object;\n\n @State() sortedColumn: string;\n\n @State() sortedColumnOrder: IcDataTableSortOrderOptions;\n\n @State() toRow: number;\n\n /**\n * The title for the table only visible to screen readers.\n */\n @Prop() caption!: string;\n\n /**\n * The column headers for the table.\n */\n @Prop() columns!: IcDataTableColumnObject[];\n\n /**\n * The row content for the table.\n */\n @Prop() data: { [key: string]: any }[];\n\n /**\n * Set the density of the table including font and padding.\n */\n @Prop() density?: IcDataTableDensityOptions = \"default\";\n\n /**\n * Applies a border to the table container.\n */\n @Prop() embedded?: boolean = false;\n\n /**\n * If `true`, column headers will not be visible.\n */\n @Prop() hideColumnHeaders?: boolean = false;\n\n /**\n * Sets the props for the pagination bar.\n */\n @Prop() paginationOptions?: {\n itemsPerPage?: { label: string; value: string }[];\n type?: IcPaginationTypes;\n control?: IcPaginationControlTypes;\n itemsPerPageControl?: boolean;\n goToPageControl?: boolean;\n alignment?: IcPaginationAlignmentOptions;\n } = {\n itemsPerPage: [\n { label: \"10\", value: \"10\" },\n { label: \"25\", value: \"25\" },\n { label: \"50\", value: \"50\" },\n ],\n type: \"page\",\n control: \"simple\",\n itemsPerPageControl: true,\n goToPageControl: true,\n alignment: \"right\",\n };\n\n /**\n * If `true`, adds a pagination bar to the bottom of the table.\n */\n @Prop() showPagination?: boolean = false;\n\n /**\n * If `true`, allows table columns to be sorted using applied sort buttons.\n */\n @Prop() sortable?: boolean = false;\n\n /**\n * Sets the order columns will be sorted in and allows for 'default' sorts to be added.\n */\n @Prop() sortOptions?: {\n sortOrders: IcDataTableSortOrderOptions[];\n defaultColumn?: string;\n } = {\n sortOrders: [\"unsorted\", \"ascending\", \"descending\"],\n defaultColumn: \"\",\n };\n\n /**\n * If `true`, column headers will remain at the top of the table when scrolling vertically.\n */\n @Prop() stickyColumnHeaders?: boolean = false;\n\n /**\n * If `true`, row headers will remain to the left when scrolling horizontally.\n */\n @Prop() stickyRowHeaders?: boolean = false;\n\n componentWillLoad(): void {\n this.rowsPerPage = Number(this.paginationOptions.itemsPerPage[0].value);\n this.previousRowsPerPage = this.rowsPerPage;\n this.toRow = this.rowsPerPage;\n this.sortedColumn = this.sortOptions.defaultColumn;\n this.sortedColumnOrder = this.sortOptions.sortOrders[0];\n }\n\n componentDidLoad(): void {\n const tableElement = this.el.shadowRoot.querySelector(\"table\");\n const tableContainer = this.el.shadowRoot.querySelector(\".table-container\");\n if (\n tableElement?.clientHeight > tableContainer?.clientHeight ||\n tableElement?.clientWidth > tableContainer?.clientWidth\n ) {\n this.scrollable = true;\n }\n }\n\n @Listen(\"icItemsPerPageChange\")\n handleItemsPerPageChange(ev: CustomEvent): void {\n this.previousRowsPerPage = this.rowsPerPage;\n this.rowsPerPage = ev.detail.value;\n }\n\n @Listen(\"icPageChange\")\n handlePageChange(ev: CustomEvent): void {\n this.fromRow = (ev.detail.value - 1) * this.rowsPerPage;\n this.toRow = this.fromRow + this.rowsPerPage;\n const tableRowsContainer = this.el.shadowRoot.querySelector(\n \".table-row-container\"\n );\n if (this.previousRowsPerPage === this.rowsPerPage) {\n tableRowsContainer.scrollTop = 0;\n } else if (this.previousRowsPerPage < this.rowsPerPage) {\n tableRowsContainer.scrollTop = this.scrollOffset;\n this.previousRowsPerPage = this.rowsPerPage;\n } else {\n this.previousRowsPerPage = this.rowsPerPage;\n }\n }\n\n @Listen(\"click\", { target: \"window\" })\n clickListener(ev: MouseEvent): void {\n if (ev.target !== this.el) this.selectedRow = undefined;\n }\n\n private isObject = (value: any) => typeof value === \"object\";\n\n private notDefaultDensity = () => this.density !== \"default\";\n\n private getCellContent = (\n cell: any,\n dataType: IcDataTableColumnDataTypes\n ): any => {\n switch (dataType) {\n case \"element\":\n return undefined;\n case \"date\":\n return (\n cell instanceof Date ? cell : new Date(cell)\n ).toLocaleDateString();\n default:\n return cell;\n }\n };\n\n private getCellAlignment = (\n cell: any,\n alignment: \"horizontal\" | \"vertical\"\n ) => {\n if (this.isObject(cell) && Object.keys(cell).includes(\"cellAlignment\")) {\n return this.getObjectValue(\n this.getObjectValue(cell, \"cellAlignment\"),\n alignment\n );\n }\n };\n\n private createCells = (row: object) => {\n const rowValues = Object.values(row);\n const rowKeys = Object.keys(row);\n let rowAlignment: string;\n let rowEmphasis: string;\n const headerIndex = rowKeys.indexOf(\"header\");\n if (headerIndex > -1) {\n rowAlignment = this.getObjectValue(\n rowValues[headerIndex],\n \"rowAlignment\"\n );\n rowEmphasis = this.getObjectValue(rowValues[headerIndex], \"emphasis\");\n }\n return rowValues.map((cell, index) => {\n const { columnAlignment, dataType, emphasis } = this.columns[index];\n const cellValue = (key: string) => this.getObjectValue(cell, key);\n\n return rowKeys[index] === \"header\" ? (\n <th\n scope=\"row\"\n colSpan={cellValue(\"colspan\")}\n class={{\n [\"row-header\"]: true,\n [`row-header-alignment-${cellValue(\"cellAlignment\")}`]:\n !!cellValue(\"cellAlignment\"),\n [\"row-header-sticky\"]: this.stickyRowHeaders,\n }}\n >\n {cellValue(\"title\")}\n </th>\n ) : (\n <td\n innerHTML={dataType === \"element\" ? (cell as string) : null}\n class={{\n [\"table-cell\"]: true,\n [`table-density-${this.density}`]: this.notDefaultDensity(),\n [`data-type-${dataType}`]: true,\n [`cell-alignment-${\n columnAlignment?.horizontal ||\n this.getCellAlignment(cell, \"horizontal\")\n }`]:\n !!columnAlignment?.horizontal ||\n !!this.getCellAlignment(cell, \"horizontal\"),\n [`cell-alignment-${\n columnAlignment?.vertical ||\n rowAlignment ||\n this.getCellAlignment(cell, \"vertical\")\n }`]:\n !!columnAlignment?.vertical ||\n !!rowAlignment ||\n !!this.getCellAlignment(cell, \"vertical\"),\n }}\n >\n <ic-typography\n variant=\"body\"\n class={{\n [`cell-emphasis-${\n (this.isObject(cell) && cellValue(\"emphasis\")) ||\n emphasis ||\n rowEmphasis\n }`]:\n (this.isObject(cell) && !!cellValue(\"emphasis\")) ||\n !!emphasis ||\n !!rowEmphasis,\n [`text-${this.density}`]: this.notDefaultDensity(),\n }}\n >\n {this.isObject(cell) && dataType !== \"date\" ? (\n Object.keys(cell).includes(\"href\") ? (\n <ic-link href={cellValue(\"href\")}>{cellValue(\"data\")}</ic-link>\n ) : (\n cellValue(\"data\")\n )\n ) : (\n this.getCellContent(cell, dataType)\n )}\n </ic-typography>\n </td>\n );\n });\n };\n\n private createColumnHeaders = () => {\n return this.columns.map(({ cellAlignment, colspan, key, title }) => (\n <th\n scope=\"col\"\n class={{\n [\"column-header\"]: true,\n [`column-header-alignment-${cellAlignment}`]: !!cellAlignment,\n [`table-density-${this.density}`]: this.notDefaultDensity(),\n }}\n colSpan={colspan}\n >\n {this.sortable ? (\n <div class=\"column-header-inner-container\">\n <ic-typography\n variant=\"body\"\n class={{\n [\"column-header-text\"]: true,\n [`text-${this.density}`]: this.notDefaultDensity(),\n }}\n >\n {title}\n </ic-typography>\n <ic-button\n variant=\"icon\"\n id={`sort-button-${key}`}\n aria-label={this.getSortButtonLabel(key)}\n // eslint-disable-next-line react/jsx-no-bind\n onClick={() => this.sortRows(key)}\n innerHTML={\n this.SORT_ICONS[\n this.sortedColumn === key\n ? this.sortedColumnOrder\n : \"unsorted\"\n ]\n }\n class={{\n [\"sort-button\"]: true,\n [\"sort-button-unsorted\"]:\n this.sortedColumn !== key ||\n this.sortedColumnOrder === \"unsorted\",\n }}\n ></ic-button>\n </div>\n ) : (\n <ic-typography\n variant=\"body\"\n class={{\n [\"column-header-text\"]: true,\n [`text-${this.density}`]: this.notDefaultDensity(),\n }}\n >\n {title}\n </ic-typography>\n )}\n </th>\n ));\n };\n\n private createRows = () => {\n const data = this.showPagination\n ? this.data.slice(this.fromRow, this.toRow)\n : this.data.slice();\n return data\n .sort(!this.sortable ? undefined : this.getSortFunction())\n .map((row) => (\n <tr\n onClick={() => (this.selectedRow = this.selectedRow !== row && row)}\n class={{\n [\"table-row\"]: true,\n [\"table-row-selected\"]: this.selectedRow === row,\n }}\n >\n {this.createCells(row)}\n </tr>\n ));\n };\n\n private getObjectValue = (cell: object, key: string) => {\n return Object.values(cell)[Object.keys(cell).indexOf(key)];\n };\n\n private getSortButtonLabel = (key: string) => {\n let label = \"\";\n const getNextSortOption = (option: IcDataTableSortOrderOptions) => {\n const sortOrders = this.sortOptions.sortOrders;\n return sortOrders[(sortOrders.indexOf(option) + 1) % sortOrders.length];\n };\n\n if (this.sortedColumn === key) {\n const sortOption = getNextSortOption(this.sortedColumnOrder);\n label = sortOption !== \"unsorted\" ? `Sort ${sortOption}` : \"Remove sort\";\n } else {\n label = `Sort ${getNextSortOption(\"unsorted\")}`;\n }\n\n return label;\n };\n\n private getComparison = (targetRow: any, comparisonRow: any): number => {\n const targetRowValue = targetRow[this.sortedColumn];\n const comparisonRowValue = comparisonRow[this.sortedColumn];\n return this.columns.find((col) => col.key === this.sortedColumn)\n .dataType === \"date\"\n ? new Date(targetRowValue).valueOf() -\n new Date(comparisonRowValue).valueOf()\n : String(\n this.isObject(targetRowValue)\n ? Object.values(targetRowValue)[0]\n : targetRowValue\n ).localeCompare(\n String(\n this.isObject(comparisonRowValue)\n ? Object.values(comparisonRowValue)[0]\n : comparisonRowValue\n ),\n undefined,\n { numeric: true, sensitivity: \"base\" }\n );\n };\n\n private getSortFunction = () => {\n switch (this.sortedColumnOrder) {\n case \"ascending\":\n return (a: any, b: any) => this.getComparison(a, b);\n case \"descending\":\n return (a: any, b: any) => this.getComparison(b, a);\n default:\n return undefined;\n }\n };\n\n private sortRows = (column: string) => {\n const sortButton = this.el.shadowRoot.querySelector(\n `#sort-button-${column}`\n ) as HTMLIcButtonElement;\n\n const sortOrders = this.sortOptions.sortOrders;\n\n if (column !== this.sortedColumn) {\n if (this.sortedColumn) {\n const previousSortedButton = this.el.shadowRoot.querySelector(\n `#sort-button-${this.sortedColumn}`\n ) as HTMLIcButtonElement;\n previousSortedButton.setAttribute(\n \"aria-label\",\n this.getSortButtonLabel(column)\n ); // Passing through unsorted column returns correct label for newly unsorted column\n }\n this.sortedColumn = column;\n this.sortedColumnOrder = \"unsorted\";\n }\n\n let nextSortOrderIndex = sortOrders.indexOf(this.sortedColumnOrder) + 1;\n\n if (nextSortOrderIndex > sortOrders.length - 1) {\n nextSortOrderIndex = 0;\n }\n\n this.sortedColumnOrder = sortOrders[nextSortOrderIndex];\n\n sortButton.setAttribute(\"aria-label\", this.getSortButtonLabel(column));\n };\n\n private updateScrollOffset = () => {\n this.scrollOffset = this.el.shadowRoot.querySelector(\n \".table-row-container\"\n ).scrollTop;\n };\n\n render() {\n const {\n caption,\n createColumnHeaders,\n createRows,\n data,\n hideColumnHeaders,\n paginationOptions,\n scrollable,\n scrollOffset,\n showPagination,\n sortable,\n sortedColumnOrder,\n sortedColumn,\n stickyColumnHeaders,\n updateScrollOffset,\n } = this;\n\n return (\n <div class=\"table-container\">\n <div\n class={{\n [\"table-row-container\"]: true,\n scrollable,\n }}\n tabIndex={scrollable ? 0 : null}\n onScroll={updateScrollOffset}\n >\n <table>\n <caption class=\"table-caption\">{caption}</caption>\n {!hideColumnHeaders && (\n <thead\n class={{\n [\"column-header-sticky\"]: stickyColumnHeaders,\n [\"column-header-overlay\"]:\n stickyColumnHeaders && scrollOffset !== 0,\n }}\n >\n <tr>{createColumnHeaders()}</tr>\n </thead>\n )}\n {data?.length > 0 && <tbody>{createRows()}</tbody>}\n </table>\n </div>\n {showPagination && (\n <div class=\"pagination-container\">\n <ic-pagination-bar\n totalItems={data.length}\n paginationType={paginationOptions.type}\n paginationControl={paginationOptions.control}\n showItemsPerPageControl={paginationOptions.itemsPerPageControl}\n showGoToPageControl={paginationOptions.goToPageControl}\n itemsPerPageOptions={paginationOptions.itemsPerPage}\n alignment={paginationOptions.alignment}\n ></ic-pagination-bar>\n </div>\n )}\n {sortable && (\n <div class=\"screen-reader-sort-text\" aria-live=\"polite\">\n {sortedColumnOrder !== \"unsorted\" && sortedColumn\n ? `${sortedColumn} sorted ${sortedColumnOrder}`\n : \"table unsorted\"}\n </div>\n )}\n </div>\n );\n }\n}\n"],"mappings":"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"}
@@ -0,0 +1,2 @@
1
+ import{r as t,c as i,h as s,H as e,g as h}from"./p-8455d1bb.js";import{q as a,s as n,k as r,r as o,h as l,o as c,t as d,p as u,j as f,m as p,I as b,a as m}from"./p-cd799087.js";import{b as v,i as w,j as g,s as y,h as k,k as x}from"./p-33dd24eb.js";const $=`<svg width="20" height="20" viewBox="0 0 20 20" fill="none" xmlns="http://www.w3.org/2000/svg">\n <path d="M15.8327 5.34199L14.6577 4.16699L9.99935 8.82533L5.34102 4.16699L4.16602 5.34199L8.82435 10.0003L4.16602 14.6587L5.34102 15.8337L9.99935 11.1753L14.6577 15.8337L15.8327 14.6587L11.1743 10.0003L15.8327 5.34199Z" fill="currentColor"/>\n</svg>\n`;const D=`<svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 20 20" fill="none">\n <path d="M16.6667 2.50004H15.8334V0.833374H14.1667V2.50004H5.83342V0.833374H4.16675V2.50004H3.33341C2.41675 2.50004 1.66675 3.25004 1.66675 4.16671V17.5C1.66675 18.4167 2.41675 19.1667 3.33341 19.1667H16.6667C17.5834 19.1667 18.3334 18.4167 18.3334 17.5V4.16671C18.3334 3.25004 17.5834 2.50004 16.6667 2.50004ZM16.6667 17.5H3.33341V6.66671H16.6667V17.5Z" fill="currentColor"/>\n</svg>`;const Y='/*! normalize.css v8.0.1 | MIT License | github.com/necolas/normalize.css */html{line-height:1.15;-webkit-text-size-adjust:100%;}body{margin:0}main{display:block}h1{font-size:2em;margin:0.67em 0}hr{box-sizing:content-box;height:0;overflow:visible;}pre{font-family:monospace, monospace;font-size:1em;}a{background-color:transparent}abbr[title]{border-bottom:none;text-decoration:underline;-webkit-text-decoration:underline dotted;text-decoration:underline dotted;}b,strong{font-weight:bolder}code,kbd,samp{font-family:monospace, monospace;font-size:1em;}small{font-size:80%}sub,sup{font-size:75%;line-height:0;position:relative;vertical-align:baseline}sub{bottom:-0.25em}sup{top:-0.5em}img{border-style:none}button,input,optgroup,select,textarea{font-family:inherit;font-size:100%;line-height:1.15;margin:0;}button,input{overflow:visible}button,select{text-transform:none}button,[type="button"],[type="reset"],[type="submit"]{-webkit-appearance:button}button::-moz-focus-inner,[type="button"]::-moz-focus-inner,[type="reset"]::-moz-focus-inner,[type="submit"]::-moz-focus-inner{border-style:none;padding:0}button:-moz-focusring,[type="button"]:-moz-focusring,[type="reset"]:-moz-focusring,[type="submit"]:-moz-focusring{outline:1px dotted ButtonText}fieldset{padding:0.35em 0.75em 0.625em}legend{box-sizing:border-box;color:inherit;display:table;max-width:100%;padding:0;white-space:normal;}progress{vertical-align:baseline}textarea{overflow:auto}[type="checkbox"],[type="radio"]{box-sizing:border-box;padding:0;}[type="number"]::-webkit-inner-spin-button,[type="number"]::-webkit-outer-spin-button{height:auto}[type="search"]{-webkit-appearance:textfield;outline-offset:-2px;}[type="search"]::-webkit-search-decoration{-webkit-appearance:none}::-webkit-file-upload-button{-webkit-appearance:button;font:inherit;}details{display:block}summary{display:list-item}template{display:none}[hidden]{display:none}html,body,div,span,applet,object,iframe,h1,h2,h3,h4,h5,h6,p,blockquote,pre,a,abbr,acronym,address,big,cite,code,del,dfn,em,img,ins,kbd,q,s,samp,small,strike,strong,sub,sup,tt,var,b,u,i,center,dl,dt,dd,ol,ul,li,fieldset,form,label,legend,table,caption,tbody,tfoot,thead,tr,th,td,article,aside,canvas,details,embed,figure,figcaption,footer,header,hgroup,menu,nav,output,ruby,section,summary,time,mark,audio,video{margin:0;padding:0;border:0;font-size:100%;font-style:inherit;vertical-align:baseline}input{border:0;height:100%;padding:0;outline:none;background:none;-moz-appearance:textfield;-webkit-appearance:textfield;appearance:textfield}input::-webkit-outer-spin-button,input::-webkit-inner-spin-button{-webkit-appearance:none}ic-input-component-container{cursor:text}ic-input-component-container,ic-input-component-container:hover{color:var(--ic-color-tertiary-text)}.focus-indicator{padding:var(--ic-space-xxxs) var(--ic-space-xs);align-items:center}.day-input{width:1.438rem}.month-input{width:1.813rem}.year-input,.year-input.fit-to-value{width:2.313rem}.fit-to-value{width:1.25rem}.sr-only{position:absolute;left:-9999px}.input-container{width:100%;display:flex;justify-content:space-between;align-items:center;position:relative}.action-buttons{display:flex;align-items:center}.show-calendar-button-wrapper{display:flex;justify-content:center;align-items:center}.clear-button,.calendar-button{border-radius:var(--ic-border-radius);transition:box-shadow var(--ic-easing-transition),\n border-radius var(--ic-easing-transition);margin:0}.clear-button.hidden{display:none}.clear-button:focus,.calendar-button:focus,.clear-button:active,.calendar-button:active{background-color:var(--ic-focus-blue) !important;box-shadow:inset 0 0 0 0.125rem var(--ic-focus-glow) !important;border-radius:0.25rem}.clear-button:focus,.calendar-button:focus,.clear-button:active *,.calendar-button:active *{fill:var(--ic-architectural-white)}.divider{margin:0 var(--ic-space-xxs);width:var(--ic-space-1px);background-color:var(--ic-architectural-400);border-radius:var(--ic-space-1px)}.divider.small{height:var(--ic-space-md)}.divider.default{height:calc(var(--ic-space-sm) + var(--ic-space-xs))}.divider.large{height:var(--ic-space-lg)}';let M=0;const z=class{constructor(e){t(this,e);this.calendarButtonClicked=i(this,"calendarButtonClicked",7);this.icBlur=i(this,"icBlur",7);this.icChange=i(this,"icChange",7);this.icFocus=i(this,"icFocus",7);this.ARIA_INVALID="aria-invalid";this.ARIA_LABEL="aria-label";this.ARIA_LABELLED_BY="aria-labelledby";this.EVENT_OBJECT_STRING="[object Event]";this.FIT_TO_VALUE="fit-to-value";this.initialValue=this.value;this.INPUT_EVENT_OBJECT_STRING="[object InputEvent]";this.inputsInOrder=[];this.isAfterMax=false;this.isBeforeMin=false;this.isDateSetFromKeyboardEvent=false;this.isDisabledDate=false;this.isValidDay=true;this.isValidMonth=true;this.isValidDate=true;this.isZuluTime=false;this.KEYBOARD_EVENT_OBJECT_STRING="[object KeyboardEvent]";this.MAX_DAY=31;this.MAX_MONTH=12;this.previousEmittedDate=undefined;this.previousSelectedDate=null;this.selectedDate=null;this.setInputPasteValue=(t,i)=>{const s=t;s.value=i;s.classList.add(this.FIT_TO_VALUE)};this.checkSingleCopiedValueIsValid=(t,i)=>{let s=false;const e=Number(i);switch(t){case this.dayInputEl:s=e>=1&&e<=this.MAX_DAY;break;case this.monthInputEl:s=e>=1&&e<=this.MAX_MONTH;break;case this.yearInputEl:s=true;break;default:s=false;break}return s};this.isKeyboardOrEvent=t=>Object.prototype.toString.call(t)===this.EVENT_OBJECT_STRING||Object.prototype.toString.call(t)===this.KEYBOARD_EVENT_OBJECT_STRING;this.setDateValidity=()=>{if(!a(this.day)){this.isValidDay=+this.day>this.MAX_DAY?false:true}else{this.isValidDay=true}if(!a(this.month)){this.isValidMonth=+this.month>this.MAX_MONTH?false:true}else{this.isValidMonth=true}};this.handleInput=t=>{const i=t;const s=t.target;if(s!==this.yearInputEl){if(i.inputType!=="deleteContentBackward"&&!this.preventAutoFormatting){if(s.value.length===1&&(s===this.dayInputEl&&+s.value>=4||s===this.monthInputEl&&+s.value>=2)&&+s.value<=9){this.setInputValue(s);this.notifyScreenReader(s,t);this.moveToNextInput(s)}if(s.value.length===2){if(+s.value===0){s.value="01"}this.setInputValue(s);this.setPreventInput(s,true);this.notifyScreenReader(s,t);this.moveToNextInput(s)}else{this.setPreventInput(s,false)}}else if(this.preventAutoFormatting){if(s.value.length===2&&!this.isKeyboardOrEvent(t)){this.setInputValue(s);this.setPreventInput(s,true);this.moveToNextInput(s)}else{this.setInputValue(s)}}if(s.value.length!==2){this.setPreventInput(s,false)}}else{if(s.value.length===4){this.setInputValue(s);if(Object.prototype.toString.call(t)!==this.EVENT_OBJECT_STRING){this.moveToNextInput(s)}this.setPreventInput(s,true)}else{this.setInputValue(s,true);this.setPreventInput(s,false)}}this.setFitToValueStyling(s);if(s.value.length===0){this.setInputValue(s,true);this.setValidationMessage()}this.notifyScreenReader(s,t)};this.handleKeyDown=(t,i)=>{const s=t.target;const e=t.key.toLowerCase();const h=/-?\d*\.?\d+(e[-+]?\d+)?|[/-]|arrowup|arrowdown|arrowleft|arrowright|shift|tab|backspace|delete/;if(!h.test(e)&&!((t.ctrlKey||t.metaKey)&&(e==="v"||e==="c"))){t.preventDefault()}switch(e){case"/":case"-":case".":t.preventDefault();this.setPasteInvalidText();this.moveToNextInput(s);break;case"arrowright":case"arrowleft":t.preventDefault();this.handleLeftRightArrowKeyPress(s,e);break;case"arrowup":case"arrowdown":this.preventAutoFormatting=true;this.handleUpDownArrowKeyPress(s,t);break}this.preventInput(t,i);this.isDateSetFromKeyboardEvent=true};this.handleFocus=t=>{const i=t.target;i.select()};this.handleBlur=t=>{const i=t.target;this.setPasteInvalidText();this.autocompleteInput(i)};this.handleLeftRightArrowKeyPress=(t,i)=>{if(i==="arrowright"){this.moveToNextInput(t)}else{this.moveToPreviousInput(t)}this.setPasteInvalidText()};this.notifyScreenReaderSelectedDate=()=>{const t=n(b);const i=n(m);this.selectedDateInfoEl.textContent=`Selected date: ${t[this.selectedDate.getDay()]}, ${this.selectedDate.getDate()} ${i[this.selectedDate.getMonth()]} ${this.selectedDate.getFullYear()}`};this.handleUpDownArrowKeyPress=(t,i)=>{const s=t===this.yearInputEl?0:1;let e;switch(t){case this.dayInputEl:e=this.MAX_DAY;break;case this.monthInputEl:e=this.MAX_MONTH;break;case this.yearInputEl:e=9999}if(t===null||t===void 0?void 0:t.value){if(i.key==="ArrowUp"){if(+t.value===e){i.preventDefault();t.value=`0${s}`}else{t.value=+t.value+1<10?`0${+t.value+1}`:(+t.value+1).toString()}this.notifyScreenReader(t,i)}if(i.key==="ArrowDown"){if(+t.value===s){i.preventDefault();t.value=e.toString()}else{t.value=+t.value-1<10?`0${+t.value-1}`:(+t.value-1).toString()}this.notifyScreenReader(t,i)}}else{if(i.key==="ArrowDown"){i.preventDefault();if(t===this.yearInputEl){t.value=(new Date).getFullYear().toString()}else{t.value=e.toString()}this.notifyScreenReader(t,i)}else if(i.key==="ArrowUp"){i.preventDefault();if(t===this.yearInputEl){t.value=(new Date).getFullYear().toString()}else{t.value=`0${s}`}this.notifyScreenReader(t,i)}}this.setInputValue(t);this.setFitToValueStyling(t)};this.handleDateChange=t=>{if(t||!v(this.selectedDate,this.previousSelectedDate)){if(this.value){this.inputsInOrder.forEach((t=>{t.classList.add(this.FIT_TO_VALUE)}))}if(this.day&&this.month&&this.year&&this.invalidDateText===""){this.setValueAndEmitChange(this.selectedDate);this.notifyScreenReaderSelectedDate()}else if(!(this.selectedDate===null&&this.previousSelectedDate===null)){this.setValueAndEmitChange(null);this.selectedDateInfoEl.textContent=""}this.previousSelectedDate=this.selectedDate;if(!this.isDateSetFromKeyboardEvent){this.updateInputValues(this.day,this.month,this.year)}}};this.slicePastedDate=(t,i)=>i.length>t?i.slice(0,t):i;this.isPastedStringDateValid=t=>{if(/\d+-\d+-\d+$/.test(t)||/\d+\/\d+\/\d+/.test(t)||/\d+\.\d+\.\d+/.test(t)){return true}if(/[0-9]{4}-[0-9]{2}-[0-9]{2}T[0-9]{2}:[0-9]{2}(?::[0-9]{2}(?:\.\d+)?)?Z/.test(t)){this.isZuluTime=true;return true}return false};this.handlePaste=t=>{t.preventDefault();const i=t.clipboardData.getData("Text");const s=this.isPastedStringDateValid(i);this.setPastedValueAndValidation(s,i,t)};this.setDate=t=>{if(t===null||t===""||t===undefined){this.day=null;this.month=null;this.year=null;this.inputsInOrder.forEach((t=>{t.classList.remove(this.FIT_TO_VALUE);this.setPreventInput(t,false)}));this.handleDateChange(true)}else{if(w(t)){let i;if(typeof t==="string"){i=new Date(+t)}else{i=t}this.day=g(i.getDate());this.month=g(i.getMonth()+1);this.year=i.getFullYear().toString()}else if(typeof t==="string"){const i=y(t,this.dateFormat);this.year=i[0];this.month=i[1];this.day=i[2]}}this.setValidationMessage()};this.formatMinMax=t=>{let i;const s=g(t.getDate());const e=g(t.getMonth()+1);const h=t.getFullYear();switch(this.dateFormat){case"DD/MM/YYYY":i=`${s}/${e}/${h}`;break;case"MM/DD/YYYY":i=`${e}/${s}/${h}`;break;case"YYYY/MM/DD":i=`${h}/${e}/${s}`;break}return i};this.updateInputValues=(t,i,s)=>{this.dayInputEl.value=t;this.monthInputEl.value=i;this.yearInputEl.value=s};this.setInputValue=(t,i=false)=>{const s=i?"":t.value;switch(t){case this.dayInputEl:this.day=s;break;case this.monthInputEl:this.month=s;break;case this.yearInputEl:if(this.year!==s){this.year=s}}this.setValidationMessage()};this.setValidationMessage=()=>{this.setDateValidity();if(!a(this.day)&&!a(this.month)&&!a(this.year)){this.selectedDate=this.convertToDate(this.year,this.month,this.day);this.isValidDate=+this.selectedDate!==0&&this.selectedDate.getDate()==+this.day;this.isDisabledDate=this.isSelectedDateDisabled();if(!this.isValidDate||this.isDisabledDate){this.inputsInOrder.forEach((t=>t.setAttribute(this.ARIA_INVALID,"true")))}else{this.inputsInOrder.forEach((t=>t.removeAttribute(this.ARIA_INVALID)))}}else{this.selectedDate=null}if(!(this.isValidDay&&this.isValidMonth&&this.isValidDate)){this.invalidDateText="Please enter a valid date."}else if(this.isDisabledDate&&this.selectedDate!==null){if(this.isBeforeMin){if(this.disablePast){this.invalidDateText=this.disablePastMessage}else{this.invalidDateText=`Please enter a date after ${this.formatMinMax(this.minDate)}.`}}else if(this.isAfterMax){if(this.disableFuture){this.invalidDateText=this.disableFutureMessage}else{this.invalidDateText=`Please enter a date before ${this.formatMinMax(this.maxDate)}.`}}else if(this.disableDays.length!==0){this.invalidDateText=this.disableDaysMessage}else{if(this.disablePast){this.invalidDateText=this.disablePastMessage}if(this.disableFuture){this.invalidDateText=this.disableFutureMessage}}}else{this.invalidDateText=""}};this.setInputsInOrder=()=>{const t=this.el.shadowRoot.querySelectorAll("input");t.forEach((t=>this.inputsInOrder.push(t)))};this.setAriaLabelledBy=()=>{var t;if(this.disabled&&!a((t=this.inputCompContainerEl)===null||t===void 0?void 0:t.getAttribute(this.ARIA_LABELLED_BY))){this.removeAriaLabelledBy();return}if(this.disabled){return}const i=this.el.shadowRoot.querySelector("label");const s=`${this.inputId}-label`;if(i!==null&&i!==undefined){i.id=s;const t=!a(this.validationStatus)&&!a(this.validationText)||!a(this.invalidDateText);const e=`${s} ${this.screenReaderInfoId} ${r(this.inputId,this.helperText!==""&&this.helperText!==this.defaultHelperText,t)} ${this.selectedDate?this.selectedDateInfoId:""} ${this.assistiveHintId}`;this.inputCompContainerEl.setAttribute(this.ARIA_LABELLED_BY,e)}};this.setPreventInput=(t,i)=>{switch(t){case this.dayInputEl:this.preventDayInput=i;break;case this.monthInputEl:this.preventMonthInput=i;break;case this.yearInputEl:this.preventYearInput=i}};this.getInputFromDatePart=t=>{const i=s("input",{class:"day-input",id:"day-input",ref:t=>this.dayInputEl=t,"aria-label":"day",placeholder:"DD",disabled:this.disabled,onPaste:this.handlePaste,inputmode:"number",pattern:"[0-9]*",onKeyDown:t=>this.handleKeyDown(t,this.preventDayInput)});const e=s("input",{id:"month-input",class:"month-input",ref:t=>this.monthInputEl=t,"aria-label":"month",placeholder:"MM",disabled:this.disabled,onPaste:this.handlePaste,inputmode:"number",pattern:"[0-9]*",onKeyDown:t=>this.handleKeyDown(t,this.preventMonthInput)});const h=s("input",{id:"year-input",class:"year-input",ref:t=>this.yearInputEl=t,"aria-label":"year",placeholder:"YYYY",maxLength:4,disabled:this.disabled,onPaste:this.handlePaste,inputmode:"number",pattern:"[0-9]*",onKeyDown:t=>this.handleKeyDown(t,this.preventYearInput)});let a;switch(t){case"D":a=i;break;case"M":a=e;break;case"Y":a=h}return a};this.getInputsInOrder=()=>{const t=this.dateFormat.split("/");const i=[];t.forEach((t=>{i.push(this.getInputFromDatePart(t.substring(0,1)))}));return i};this.getDescOfInputsOrder=()=>{let t;switch(this.dateFormat){case"DD/MM/YYYY":t="day, month, and year";break;case"MM/DD/YYYY":t="month, day, and year";break;case"YYYY/MM/DD":t="year, month, and day"}return t};this.getScreenReaderInfo=t=>{let i="";if(this.required){i+="required"}if(t===u.Error){i+=" invalid data"}return i===""?"":i+", "};this.preventInput=(t,i)=>{const s=t.key;const e=t.target;let h;if(e){h=e.value.substring(e.selectionStart,e.selectionEnd)}if(s==="e"||s==="."||s==="-"||t.key>="0"&&t.key<="9"&&i&&!h){t.preventDefault()}};this.isSelectedDateDisabled=()=>{const t=new Date;this.isAfterMax=false;this.isBeforeMin=false;let i=false;const s=this.selectedDate.toDateString()!==t.toDateString();if(this.minDate&&this.selectedDate<this.minDate&&s){this.isBeforeMin=true;i=true}if(this.maxDate&&this.selectedDate>this.maxDate&&s){this.isAfterMax=true;i=true}if(this.disableDays.includes(this.selectedDate.getDay())){i=true}if((this.disablePast&&this.selectedDate<t||this.disableFuture&&this.selectedDate>t)&&s){i=true}return i};this.moveToNextInput=t=>{const i=this.inputsInOrder.findIndex((i=>i===t));const s=this.inputsInOrder[i+1];this.preventAutoFormatting=false;if(s){s.focus()}};this.moveToPreviousInput=t=>{const i=this.inputsInOrder.findIndex((i=>i===t));this.preventAutoFormatting=false;if(this.inputsInOrder[i-1]){this.inputsInOrder[i-1].focus()}};this.autocompleteInput=t=>{if(t===this.yearInputEl){this.autocompleteYear()}else{const i=t.value;if(i.length===1){if(+i===0){t.value="01"}else{t.value=`0${i}`}}}if(t.value){this.setInputValue(t)}};this.autocompleteYear=()=>{const t=this.yearInputEl.value;const i=["2","0","0"];let s="";if(t){i.forEach(((i,e)=>{if(t.length+e<=3){s+=i}}));this.yearInputEl.value=`${s}${t}`}};this.convertToDate=(t,i,s)=>{if(!a(t)&&!a(i)&&!a(s)){return new Date(+t,+i-1,+s)}else{return null}};this.handleHostBlur=()=>{this.removeLabelledBy=false;this.icBlur.emit({value:this.selectedDate})};this.handleHostFocus=()=>{var t;if((t=this.el.shadowRoot.activeElement)===null||t===void 0?void 0:t.id.match(/(day|month|year)-input$/)){this.removeLabelledBy=false}else{this.removeLabelledBy=true}this.icFocus.emit({value:this.selectedDate})};this.handleFormReset=()=>{this.setDate(this.initialValue);this.setValidationMessage();this.handleDateChange(false)};this.getAriaLabel=t=>t.getAttribute(this.ARIA_LABEL);this.notifyScreenReaderArrowKeys=t=>{const i=this.el.shadowRoot.querySelector("#live-region");let s="";const e=this.getAriaLabel(t);if(i&&t.value){if(t===this.monthInputEl&&!!m[+t.value-1]){s=`${t.value} - ${m[+t.value-1]}, ${e}`}if(t===this.dayInputEl||t===this.yearInputEl){s=`${t.value}, ${e}`}i.textContent=s}};this.notifyScreenReaderInput=(t,i)=>{let s="";const e=this.getAriaLabel(t);if(t===this.dayInputEl||t===this.monthInputEl){if(t.value.length===2){if(t===this.monthInputEl&&!!m[+t.value-1]&&this.isValidMonth){s=`${t.value} - ${m[+t.value-1]}, ${e}`}if(t===this.dayInputEl&&this.isValidDay){s=`${t.value}, ${e}`}}else{s=""}}else{if(t.value.length===4){s=`${t.value}, ${e}`}else{s=""}}i.textContent=s};this.setFitToValueStyling=t=>{if(t.value){t.classList.add(this.FIT_TO_VALUE)}else{t.classList.remove(this.FIT_TO_VALUE)}};this.setAriaInvalid=(t,i,s,e)=>{if(this.inputsInOrder.length){this.inputsInOrder.forEach((t=>{t.removeAttribute(this.ARIA_INVALID)}));if(!t){this.dayInputEl.setAttribute(this.ARIA_INVALID,"true")}if(!i){this.monthInputEl.setAttribute(this.ARIA_INVALID,"true")}if(!s||e){this.inputsInOrder.forEach((t=>{t.setAttribute(this.ARIA_INVALID,"true")}))}}};this.handleClear=()=>{this.inputsInOrder.forEach((t=>{t.classList.remove(this.FIT_TO_VALUE);this.setInputValue(t,true);this.setPreventInput(t,false)}));this.isDateSetFromKeyboardEvent=false;this.setValidationMessage();this.handleDateChange(true);this.inputsInOrder[0].focus()};this.handleCalendarOpen=t=>{var i,s;t.stopImmediatePropagation();(i=this.calendarButtonEl)===null||i===void 0?void 0:i.shadowRoot.querySelector("ic-tooltip").displayTooltip(false);this.calendarButtonClicked.emit({value:this.selectedDate});(s=this.calendarButtonEl)===null||s===void 0?void 0:s.shadowRoot.querySelector("ic-tooltip").displayTooltip(false);this.isDateSetFromKeyboardEvent=false};this.setValueAndEmitChange=t=>{if(!v(new Date(this.value),t)){this.emitIcChange(t);this.value=t}};this.handleCalendarFocus=()=>{this.calendarFocused=true};this.handleCalendarBlur=()=>{this.calendarFocused=false};this.handleClearFocus=()=>{this.removeLabelledBy=true;this.clearButtonFocused=true};this.handleClearBlur=t=>{var i;this.clearButtonFocused=false;if((i=t.relatedTarget)===null||i===void 0?void 0:i.id.match(/(day|year)-input$/)){this.removeLabelledBy=false;return}this.removeLabelledBy=true};this.emitIcChange=t=>{if(!(t===null&&this.previousEmittedDate===null)&&!v(t,this.previousEmittedDate)){this.previousEmittedDate=t;this.icChange.emit({value:t})}};this.day="";this.invalidDateText=undefined;this.maxDate=undefined;this.minDate=undefined;this.month="";this.year="";this.calendarFocused=false;this.clearButtonFocused=false;this.removeLabelledBy=false;this.dateFormat="DD/MM/YYYY";this.disabled=false;this.disableDays=[];this.disableDaysMessage="The date you have selected is on a day of the week that is not allowed. Please select another date.";this.disableFuture=false;this.disableFutureMessage="Dates in the future are not allowed. Please select a date in the past.";this.disablePast=false;this.disablePastMessage="Dates in the past are not allowed. Please select a date in the future.";this.helperText=undefined;this.inputId=`ic-date-input-${M++}`;this.label=undefined;this.max="";this.min="";this.name=this.inputId;this.required=false;this.showCalendarButton=false;this.showClearButton=true;this.size="default";this.value="";this.validationStatus="";this.validationText=""}watchDisableFutureHandler(){this.watchMaxHandler()}watchDisablePastHandler(){this.watchMinHandler()}watchMaxHandler(){if(this.disableFuture){this.maxDate=new Date}else{this.maxDate=k(this.max,this.dateFormat)}}watchMinHandler(){if(this.disablePast){this.minDate=new Date}else{this.minDate=k(this.min,this.dateFormat)}}watchRequiredHandler(){const t=this.el.shadowRoot.querySelector("label");if(this.required){const i=document.createElement("span");i.setAttribute("id","asterisk-span");i.setAttribute("aria-hidden","true");i.textContent=" *";t===null||t===void 0?void 0:t.appendChild(i)}else{const t=this.el.shadowRoot.querySelector("#asterisk-span");if(t){t.remove()}}}disconnectedCallback(){o(this.el,this.handleFormReset)}componentWillLoad(){this.defaultHelperText=`Use format ${this.dateFormat}`;if(a(this.helperText)){this.helperText=this.defaultHelperText}this.watchMinHandler();this.watchMaxHandler();if(this.value){this.setDate(this.value);this.previousEmittedDate=this.selectedDate}else{this.previousEmittedDate=null}this.screenReaderInfoId=`${this.inputId}-screen-reader-info`;this.assistiveHintId=`${this.inputId}-assistive-hint`;this.selectedDateInfoId=`${this.inputId}-selected-date-info`;l(this.el,this.handleFormReset)}componentDidLoad(){this.setInputsInOrder();c([{prop:this.label,propName:"label"}],"Date Input");if(this.value){this.updateInputValues(this.day,this.month,this.year);this.inputsInOrder.forEach((t=>{t.classList.add(this.FIT_TO_VALUE)}))}this.setAriaInvalid(this.isValidDay,this.isValidMonth,this.isValidDate,this.isDisabledDate);if(this.value){this.notifyScreenReaderSelectedDate()}this.inputsInOrder.forEach((t=>{t.addEventListener("input",this.handleInput);t.addEventListener("focus",this.handleFocus);t.addEventListener("blur",this.handleBlur)}));this.watchRequiredHandler()}componentWillUpdate(){if(!this.isDateSetFromKeyboardEvent){this.setDate(this.value)}this.setAriaInvalid(this.isValidDay,this.isValidMonth,this.isValidDate,this.isDisabledDate);this.handleDateChange(false);this.isDateSetFromKeyboardEvent=false}componentDidRender(){if(this.removeLabelledBy){this.removeAriaLabelledBy();return}this.setAriaLabelledBy()}async getDate(){return this.selectedDate}async setCalendarFocus(){if(this.calendarButtonEl){this.calendarButtonEl.focus()}}async setDisableDays(t){this.disableDays=t}async triggerIcChange(t){this.emitIcChange(t)}removeAriaLabelledBy(){this.inputCompContainerEl.removeAttribute(this.ARIA_LABELLED_BY)}setPastedValueAndValidation(t,i,s){switch(true){case t:{const t=this.isZuluTime?x(i):i;const s=t.split(/-|\/|\./);this.inputsInOrder.forEach(((t,i)=>{t.classList.add(this.FIT_TO_VALUE);if(this.isZuluTime){this.pasteZuluDateTime(s,i)}else{let e;if(t===this.dayInputEl||t===this.monthInputEl){e=this.slicePastedDate(2,s[i])}else{e=this.slicePastedDate(4,s[i])}t.value=e;this.setInputValue(t);this.autocompleteInput(t)}}));this.isZuluTime=false;break}case(i.length===1||i.length===2||i.length===4)&&d(i):if(this.checkSingleCopiedValueIsValid(s.target,i)){this.setInputPasteValue(s.target,i);this.setInputValue(s.target)}else{this.displayPastedValidation(s)}break;case i.length===3&&d(i):if(s.target!==this.yearInputEl){this.displayPastedValidation(s)}else{this.setInputPasteValue(s.target,i);this.setInputValue(s.target)}break;case i.length>=5&&d(i):this.displayPastedValidation(s)}}pasteZuluDateTime(t,i){if(i===0){const s=this.slicePastedDate(4,t[i]);this.yearInputEl.value=s;this.setInputValue(this.yearInputEl)}else if(i===1){const s=this.slicePastedDate(2,t[i]);this.monthInputEl.value=s;this.setInputValue(this.monthInputEl)}else{const s=this.slicePastedDate(2,t[i]);this.dayInputEl.value=s;this.setInputValue(this.dayInputEl)}}displayPastedValidation(t){var i;if(((i=this.invalidDateText)===null||i===void 0?void 0:i.length)>0){this.previousInvalidDateTest=this.invalidDateText}this.invalidDateText=`Please paste a valid ${this.getAriaLabel(t.target)}`;this.validationStatus=u.Error;this.isPasteValidationDisplayed=true}setPasteInvalidText(){var t;if(this.isPasteValidationDisplayed){this.invalidDateText=(t=this.previousInvalidDateTest)!==null&&t!==void 0?t:"";this.isPasteValidationDisplayed=false;this.isDateSetFromKeyboardEvent=true}}notifyScreenReader(t,i){const s=this.el.shadowRoot.querySelector("#live-region");if(s){if(this.isKeyboardOrEvent(i)){this.notifyScreenReaderArrowKeys(t)}else if(Object.prototype.toString.call(i)===this.INPUT_EVENT_OBJECT_STRING){this.notifyScreenReaderInput(t,s)}}}render(){const{inputId:t,label:i,disabled:h,helperText:n,showClearButton:r,showCalendarButton:o,size:l}=this;const c=!a(this.validationStatus)&&!a(this.validationText);const d=c?this.validationStatus:!a(this.invalidDateText)?u.Error:"";const b=`Type or use the up and down arrow keys to change the values for the ${this.getDescOfInputsOrder()}.`;f(true,this.el,this.name,this.convertToDate(this.year,this.month,this.day),this.disabled);return s(e,{onBlur:this.handleHostBlur,onFocus:this.handleHostFocus},s("ic-input-container",{disabled:h},s("ic-input-label",{for:t,label:i,helperText:n,disabled:h}),s("span",{id:this.screenReaderInfoId,class:"sr-only","aria-hidden":"true"},this.getScreenReaderInfo(d),`${this.defaultHelperText}.`),s("span",{id:this.assistiveHintId,class:"sr-only","aria-hidden":"true"},b),s("span",{id:"live-region","aria-live":"assertive",class:"sr-only"}),s("ic-input-component-container",{id:t,ref:t=>this.inputCompContainerEl=t,disabled:h,validationStatus:d,size:l,role:"group"},s("div",{class:"input-container"},s("div",{class:"date-inputs"},this.getInputsInOrder()[0],"/",this.getInputsInOrder()[1],"/",this.getInputsInOrder()[2]),s("div",{class:"action-buttons"},r&&s("ic-button",{id:"clear-button","aria-label":"Clear input",class:{["clear-button"]:true,["hidden"]:a(this.day)&&a(this.month)&&a(this.year)},disabled:this.disabled,innerHTML:$,onClick:this.handleClear,onFocus:this.handleClearFocus,onBlur:this.handleClearBlur,variant:"icon",appearance:this.clearButtonFocused?p.Light:p.Dark,size:l}),o&&s("div",{class:"show-calendar-button-wrapper"},s("div",{class:{divider:true,[l]:true}}),s("ic-button",{id:"calendar-button",ref:t=>this.calendarButtonEl=t,"aria-label":"Display calendar","aria-haspopup":"dialog",class:"calendar-button",disabled:this.disabled,innerHTML:D,onClick:this.handleCalendarOpen,variant:"icon",size:l,onFocus:this.handleCalendarFocus,onBlur:this.handleCalendarBlur,appearance:this.calendarFocused?p.Light:p.Default}))))),s("span",{id:this.selectedDateInfoId,class:"sr-only","aria-live":"polite"},s("span",{ref:t=>this.selectedDateInfoEl=t,role:"status"})),(c||!a(this.invalidDateText))&&s("ic-input-validation",{status:d,message:c?this.validationText:this.invalidDateText,for:t})))}static get delegatesFocus(){return true}get el(){return h(this)}static get watchers(){return{disableFuture:["watchDisableFutureHandler"],disablePast:["watchDisablePastHandler"],max:["watchMaxHandler"],min:["watchMinHandler"],required:["watchRequiredHandler"]}}};z.style=Y;export{z as ic_date_input};
2
+ //# sourceMappingURL=p-e30f2623.entry.js.map