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

Sign up to get free protection for your applications and to get access to all the features.
Files changed (815) hide show
  1. package/dist/cjs/core.cjs.js +1 -1
  2. package/dist/cjs/{helpers-7a069459.js → helpers-33b42cd6.js} +95 -101
  3. package/dist/cjs/helpers-33b42cd6.js.map +1 -0
  4. package/dist/cjs/{helpers-f75cf7cf.js → helpers-6817cfbb.js} +116 -1
  5. package/dist/cjs/helpers-6817cfbb.js.map +1 -0
  6. package/dist/cjs/ic-accordion-group.cjs.entry.js +31 -9
  7. package/dist/cjs/ic-accordion-group.cjs.entry.js.map +1 -1
  8. package/dist/cjs/ic-accordion.cjs.entry.js +7 -8
  9. package/dist/cjs/ic-accordion.cjs.entry.js.map +1 -1
  10. package/dist/cjs/ic-alert.cjs.entry.js +28 -10
  11. package/dist/cjs/ic-alert.cjs.entry.js.map +1 -1
  12. package/dist/cjs/ic-back-to-top.cjs.entry.js +17 -8
  13. package/dist/cjs/ic-back-to-top.cjs.entry.js.map +1 -1
  14. package/dist/cjs/ic-badge.cjs.entry.js +67 -117
  15. package/dist/cjs/ic-badge.cjs.entry.js.map +1 -1
  16. package/dist/cjs/ic-breadcrumb-group.cjs.entry.js +37 -11
  17. package/dist/cjs/ic-breadcrumb-group.cjs.entry.js.map +1 -1
  18. package/dist/cjs/ic-breadcrumb.cjs.entry.js +8 -7
  19. package/dist/cjs/ic-breadcrumb.cjs.entry.js.map +1 -1
  20. package/dist/cjs/ic-button_3.cjs.entry.js +115 -128
  21. package/dist/cjs/ic-button_3.cjs.entry.js.map +1 -1
  22. package/dist/cjs/ic-card-horizontal.cjs.entry.js +131 -0
  23. package/dist/cjs/ic-card-horizontal.cjs.entry.js.map +1 -0
  24. package/dist/cjs/ic-card-vertical.cjs.entry.js +149 -0
  25. package/dist/cjs/ic-card-vertical.cjs.entry.js.map +1 -0
  26. package/dist/cjs/ic-checkbox-group.cjs.entry.js +27 -20
  27. package/dist/cjs/ic-checkbox-group.cjs.entry.js.map +1 -1
  28. package/dist/cjs/ic-checkbox.cjs.entry.js +45 -40
  29. package/dist/cjs/ic-checkbox.cjs.entry.js.map +1 -1
  30. package/dist/cjs/ic-chip.cjs.entry.js +40 -29
  31. package/dist/cjs/ic-chip.cjs.entry.js.map +1 -1
  32. package/dist/cjs/ic-classification-banner.cjs.entry.js +14 -5
  33. package/dist/cjs/ic-classification-banner.cjs.entry.js.map +1 -1
  34. package/dist/cjs/ic-data-list.cjs.entry.js +32 -0
  35. package/dist/cjs/ic-data-list.cjs.entry.js.map +1 -0
  36. package/dist/cjs/ic-data-row.cjs.entry.js +12 -12
  37. package/dist/cjs/ic-data-row.cjs.entry.js.map +1 -1
  38. package/dist/cjs/ic-data-table-title-bar.cjs.entry.js +57 -0
  39. package/dist/cjs/ic-data-table-title-bar.cjs.entry.js.map +1 -0
  40. package/dist/cjs/ic-data-table.cjs.entry.js +805 -65
  41. package/dist/cjs/ic-data-table.cjs.entry.js.map +1 -1
  42. package/dist/cjs/ic-date-input.cjs.entry.js +70 -33
  43. package/dist/cjs/ic-date-input.cjs.entry.js.map +1 -1
  44. package/dist/cjs/ic-date-picker.cjs.entry.js +81 -55
  45. package/dist/cjs/ic-date-picker.cjs.entry.js.map +1 -1
  46. package/dist/cjs/ic-dialog.cjs.entry.js +27 -101
  47. package/dist/cjs/ic-dialog.cjs.entry.js.map +1 -1
  48. package/dist/cjs/ic-divider.cjs.entry.js +2 -3
  49. package/dist/cjs/ic-divider.cjs.entry.js.map +1 -1
  50. package/dist/cjs/ic-empty-state_2.cjs.entry.js +317 -0
  51. package/dist/cjs/ic-empty-state_2.cjs.entry.js.map +1 -0
  52. package/dist/cjs/ic-footer-link-group.cjs.entry.js +9 -10
  53. package/dist/cjs/ic-footer-link-group.cjs.entry.js.map +1 -1
  54. package/dist/cjs/ic-footer-link.cjs.entry.js +6 -8
  55. package/dist/cjs/ic-footer-link.cjs.entry.js.map +1 -1
  56. package/dist/cjs/ic-footer.cjs.entry.js +9 -10
  57. package/dist/cjs/ic-footer.cjs.entry.js.map +1 -1
  58. package/dist/cjs/ic-hero.cjs.entry.js +27 -12
  59. package/dist/cjs/ic-hero.cjs.entry.js.map +1 -1
  60. package/dist/cjs/ic-horizontal-scroll.cjs.entry.js +6 -8
  61. package/dist/cjs/ic-horizontal-scroll.cjs.entry.js.map +1 -1
  62. package/dist/cjs/ic-input-component-container_4.cjs.entry.js +38 -32
  63. package/dist/cjs/ic-input-component-container_4.cjs.entry.js.map +1 -1
  64. package/dist/cjs/ic-link.cjs.entry.js +51 -24
  65. package/dist/cjs/ic-link.cjs.entry.js.map +1 -1
  66. package/dist/cjs/ic-menu-group.cjs.entry.js +2 -3
  67. package/dist/cjs/ic-menu-group.cjs.entry.js.map +1 -1
  68. package/dist/cjs/ic-menu-item.cjs.entry.js +6 -13
  69. package/dist/cjs/ic-menu-item.cjs.entry.js.map +1 -1
  70. package/dist/cjs/ic-menu-with-multi.cjs.entry.js +186 -47
  71. package/dist/cjs/ic-menu-with-multi.cjs.entry.js.map +1 -1
  72. package/dist/cjs/ic-menu.cjs.entry.js +16 -21
  73. package/dist/cjs/ic-menu.cjs.entry.js.map +1 -1
  74. package/dist/cjs/ic-navigation-button.cjs.entry.js +28 -8
  75. package/dist/cjs/ic-navigation-button.cjs.entry.js.map +1 -1
  76. package/dist/cjs/ic-navigation-group.cjs.entry.js +23 -21
  77. package/dist/cjs/ic-navigation-group.cjs.entry.js.map +1 -1
  78. package/dist/cjs/ic-navigation-item.cjs.entry.js +33 -38
  79. package/dist/cjs/ic-navigation-item.cjs.entry.js.map +1 -1
  80. package/dist/cjs/ic-navigation-menu.cjs.entry.js +3 -4
  81. package/dist/cjs/ic-navigation-menu.cjs.entry.js.map +1 -1
  82. package/dist/cjs/ic-page-header.cjs.entry.js +10 -12
  83. package/dist/cjs/ic-page-header.cjs.entry.js.map +1 -1
  84. package/dist/cjs/ic-pagination_4.cjs.entry.js +226 -185
  85. package/dist/cjs/ic-pagination_4.cjs.entry.js.map +1 -1
  86. package/dist/cjs/ic-popover-menu.cjs.entry.js +15 -21
  87. package/dist/cjs/ic-popover-menu.cjs.entry.js.map +1 -1
  88. package/dist/cjs/ic-radio-group.cjs.entry.js +75 -51
  89. package/dist/cjs/ic-radio-group.cjs.entry.js.map +1 -1
  90. package/dist/cjs/ic-radio-option.cjs.entry.js +44 -53
  91. package/dist/cjs/ic-radio-option.cjs.entry.js.map +1 -1
  92. package/dist/cjs/ic-search-bar.cjs.entry.js +23 -30
  93. package/dist/cjs/ic-search-bar.cjs.entry.js.map +1 -1
  94. package/dist/cjs/ic-section-container.cjs.entry.js +1 -1
  95. package/dist/cjs/ic-section-container.cjs.entry.js.map +1 -1
  96. package/dist/cjs/ic-select-with-multi.cjs.entry.js +15 -51
  97. package/dist/cjs/ic-select-with-multi.cjs.entry.js.map +1 -1
  98. package/dist/cjs/ic-side-navigation.cjs.entry.js +8 -9
  99. package/dist/cjs/ic-side-navigation.cjs.entry.js.map +1 -1
  100. package/dist/cjs/ic-skeleton.cjs.entry.js +17 -37
  101. package/dist/cjs/ic-skeleton.cjs.entry.js.map +1 -1
  102. package/dist/cjs/ic-status-tag.cjs.entry.js +7 -15
  103. package/dist/cjs/ic-status-tag.cjs.entry.js.map +1 -1
  104. package/dist/cjs/ic-step.cjs.entry.js +42 -43
  105. package/dist/cjs/ic-step.cjs.entry.js.map +1 -1
  106. package/dist/cjs/ic-stepper.cjs.entry.js +45 -24
  107. package/dist/cjs/ic-stepper.cjs.entry.js.map +1 -1
  108. package/dist/cjs/ic-switch.cjs.entry.js +7 -9
  109. package/dist/cjs/ic-switch.cjs.entry.js.map +1 -1
  110. package/dist/cjs/ic-tab-context.cjs.entry.js +35 -18
  111. package/dist/cjs/ic-tab-context.cjs.entry.js.map +1 -1
  112. package/dist/cjs/ic-tab-group.cjs.entry.js +25 -11
  113. package/dist/cjs/ic-tab-group.cjs.entry.js.map +1 -1
  114. package/dist/cjs/ic-tab-panel.cjs.entry.js +6 -13
  115. package/dist/cjs/ic-tab-panel.cjs.entry.js.map +1 -1
  116. package/dist/cjs/ic-tab.cjs.entry.js +10 -9
  117. package/dist/cjs/ic-tab.cjs.entry.js.map +1 -1
  118. package/dist/cjs/ic-theme.cjs.entry.js +39 -25
  119. package/dist/cjs/ic-theme.cjs.entry.js.map +1 -1
  120. package/dist/cjs/ic-toast-region.cjs.entry.js +6 -7
  121. package/dist/cjs/ic-toast-region.cjs.entry.js.map +1 -1
  122. package/dist/cjs/ic-toast.cjs.entry.js +88 -35
  123. package/dist/cjs/ic-toast.cjs.entry.js.map +1 -1
  124. package/dist/cjs/ic-toggle-button-group.cjs.entry.js +17 -17
  125. package/dist/cjs/ic-toggle-button-group.cjs.entry.js.map +1 -1
  126. package/dist/cjs/ic-toggle-button.cjs.entry.js +15 -14
  127. package/dist/cjs/ic-toggle-button.cjs.entry.js.map +1 -1
  128. package/dist/cjs/ic-top-navigation.cjs.entry.js +62 -86
  129. package/dist/cjs/ic-top-navigation.cjs.entry.js.map +1 -1
  130. package/dist/cjs/ic-tree-item.cjs.entry.js +241 -0
  131. package/dist/cjs/ic-tree-item.cjs.entry.js.map +1 -0
  132. package/dist/cjs/ic-tree-view.cjs.entry.js +203 -0
  133. package/dist/cjs/ic-tree-view.cjs.entry.js.map +1 -0
  134. package/dist/cjs/ic-typography.cjs.entry.js +55 -19
  135. package/dist/cjs/ic-typography.cjs.entry.js.map +1 -1
  136. package/dist/cjs/index-4cf27b16.js +26 -14
  137. package/dist/cjs/loader.cjs.js +1 -1
  138. package/dist/collection/assets/arrow-dropdown.svg +3 -0
  139. package/dist/collection/collection-manifest.json +7 -3
  140. package/dist/collection/components/ic-card-horizontal/ic-card-horizontal.css +661 -0
  141. package/dist/collection/components/ic-card-horizontal/ic-card-horizontal.js +373 -0
  142. package/dist/collection/components/ic-card-horizontal/ic-card-horizontal.js.map +1 -0
  143. package/dist/collection/components/ic-card-horizontal/ic-card-horizontal.types.js +2 -0
  144. package/dist/collection/components/ic-card-horizontal/ic-card-horizontal.types.js.map +1 -0
  145. package/dist/collection/components/ic-card-horizontal/test/basic/ic-card-horizontal.spec.js +130 -0
  146. package/dist/collection/components/ic-card-horizontal/test/basic/ic-card-horizontal.spec.js.map +1 -0
  147. package/dist/collection/components/ic-data-table/ic-data-table.css +155 -10
  148. package/dist/collection/components/ic-data-table/ic-data-table.js +1174 -90
  149. package/dist/collection/components/ic-data-table/ic-data-table.js.map +1 -1
  150. package/dist/collection/components/ic-data-table/ic-data-table.types.js.map +1 -1
  151. package/dist/collection/components/ic-data-table/story-data.js +758 -40
  152. package/dist/collection/components/ic-data-table/story-data.js.map +1 -1
  153. package/dist/collection/components/ic-data-table/test/basic/ic-data-table.spec.js +339 -3
  154. package/dist/collection/components/ic-data-table/test/basic/ic-data-table.spec.js.map +1 -1
  155. package/dist/collection/components/ic-data-table-title-bar/ic-data-table-title-bar.css +93 -0
  156. package/dist/collection/components/ic-data-table-title-bar/ic-data-table-title-bar.js +160 -0
  157. package/dist/collection/components/ic-data-table-title-bar/ic-data-table-title-bar.js.map +1 -0
  158. package/dist/collection/components/ic-data-table-title-bar/test/a11y/ic-data-table-title-bar.test.a11y.js +11 -0
  159. package/dist/collection/components/ic-data-table-title-bar/test/a11y/ic-data-table-title-bar.test.a11y.js.map +1 -0
  160. package/dist/collection/components/ic-data-table-title-bar/test/basic/ic-data-table-title-bar.spec.js +70 -0
  161. package/dist/collection/components/ic-data-table-title-bar/test/basic/ic-data-table-title-bar.spec.js.map +1 -0
  162. package/dist/collection/components/ic-date-input/ic-date-input.css +2 -2
  163. package/dist/collection/components/ic-date-input/ic-date-input.js +140 -33
  164. package/dist/collection/components/ic-date-input/ic-date-input.js.map +1 -1
  165. package/dist/collection/components/ic-date-input/test/basic/ic-date-input.spec.js +23 -21
  166. package/dist/collection/components/ic-date-input/test/basic/ic-date-input.spec.js.map +1 -1
  167. package/dist/collection/components/ic-date-picker/ic-date-picker.css +31 -29
  168. package/dist/collection/components/ic-date-picker/ic-date-picker.js +123 -56
  169. package/dist/collection/components/ic-date-picker/ic-date-picker.js.map +1 -1
  170. package/dist/collection/components/ic-date-picker/story-data.js +6 -1
  171. package/dist/collection/components/ic-date-picker/story-data.js.map +1 -1
  172. package/dist/collection/components/ic-date-picker/test/basic/ic-date-picker.spec.js +73 -5
  173. package/dist/collection/components/ic-date-picker/test/basic/ic-date-picker.spec.js.map +1 -1
  174. package/dist/collection/components/ic-menu-with-multi/ic-menu.css +25 -14
  175. package/dist/collection/components/ic-menu-with-multi/ic-menu.js +187 -69
  176. package/dist/collection/components/ic-menu-with-multi/ic-menu.js.map +1 -1
  177. package/dist/collection/components/ic-menu-with-multi/test/basic/ic-menu.spec.js +229 -52
  178. package/dist/collection/components/ic-menu-with-multi/test/basic/ic-menu.spec.js.map +1 -1
  179. package/dist/collection/components/ic-pagination-bar/ic-pagination-bar.css +1 -1
  180. package/dist/collection/components/ic-pagination-bar/ic-pagination-bar.js +173 -158
  181. package/dist/collection/components/ic-pagination-bar/ic-pagination-bar.js.map +1 -1
  182. package/dist/collection/components/ic-pagination-bar/test/basic/ic-pagination-bar.spec.js +56 -11
  183. package/dist/collection/components/ic-pagination-bar/test/basic/ic-pagination-bar.spec.js.map +1 -1
  184. package/dist/collection/components/ic-select-with-multi/ic-select.css +14 -12
  185. package/dist/collection/components/ic-select-with-multi/ic-select.js +16 -145
  186. package/dist/collection/components/ic-select-with-multi/ic-select.js.map +1 -1
  187. package/dist/collection/components/ic-select-with-multi/test/basic/ic-select.spec.js +7 -7
  188. package/dist/collection/components/ic-select-with-multi/test/basic/ic-select.spec.js.map +1 -1
  189. package/dist/collection/components/ic-tree-item/ic-tree-item.css +172 -0
  190. package/dist/collection/components/ic-tree-item/ic-tree-item.js +592 -0
  191. package/dist/collection/components/ic-tree-item/ic-tree-item.js.map +1 -0
  192. package/dist/collection/components/ic-tree-item/test/basic/ic-tree-item.spec.js +114 -0
  193. package/dist/collection/components/ic-tree-item/test/basic/ic-tree-item.spec.js.map +1 -0
  194. package/dist/collection/components/ic-tree-view/ic-tree-view.css +59 -0
  195. package/dist/collection/components/ic-tree-view/ic-tree-view.js +296 -0
  196. package/dist/collection/components/ic-tree-view/ic-tree-view.js.map +1 -0
  197. package/dist/collection/components/ic-tree-view/test/basic/ic-tree-view.spec.js +85 -0
  198. package/dist/collection/components/ic-tree-view/test/basic/ic-tree-view.spec.js.map +1 -0
  199. package/dist/collection/utils/helpers.js +44 -1
  200. package/dist/collection/utils/helpers.js.map +1 -1
  201. package/dist/collection/utils/types.js.map +1 -1
  202. package/dist/components/helpers.js +84 -90
  203. package/dist/components/helpers.js.map +1 -1
  204. package/dist/components/helpers2.js +107 -1
  205. package/dist/components/helpers2.js.map +1 -1
  206. package/dist/components/ic-accordion-group.js +39 -13
  207. package/dist/components/ic-accordion-group.js.map +1 -1
  208. package/dist/components/ic-accordion.js +6 -6
  209. package/dist/components/ic-accordion.js.map +1 -1
  210. package/dist/components/ic-alert.js +132 -1
  211. package/dist/components/ic-alert.js.map +1 -1
  212. package/dist/components/ic-back-to-top.js +37 -8
  213. package/dist/components/ic-back-to-top.js.map +1 -1
  214. package/dist/components/ic-badge.js +75 -121
  215. package/dist/components/ic-badge.js.map +1 -1
  216. package/dist/components/ic-breadcrumb-group.js +42 -10
  217. package/dist/components/ic-breadcrumb-group.js.map +1 -1
  218. package/dist/components/ic-breadcrumb2.js +10 -7
  219. package/dist/components/ic-breadcrumb2.js.map +1 -1
  220. package/dist/components/ic-button2.js +65 -101
  221. package/dist/components/ic-button2.js.map +1 -1
  222. package/dist/components/ic-card-horizontal.d.ts +11 -0
  223. package/dist/components/ic-card-horizontal.js +167 -0
  224. package/dist/components/ic-card-horizontal.js.map +1 -0
  225. package/dist/components/ic-card-vertical.js +194 -0
  226. package/dist/components/ic-card-vertical.js.map +1 -0
  227. package/dist/components/ic-checkbox-group.js +31 -21
  228. package/dist/components/ic-checkbox-group.js.map +1 -1
  229. package/dist/components/ic-checkbox.js +52 -47
  230. package/dist/components/ic-checkbox.js.map +1 -1
  231. package/dist/components/ic-chip.js +45 -31
  232. package/dist/components/ic-chip.js.map +1 -1
  233. package/dist/components/ic-classification-banner.js +14 -5
  234. package/dist/components/ic-classification-banner.js.map +1 -1
  235. package/dist/components/ic-data-list.js +56 -0
  236. package/dist/components/ic-data-list.js.map +1 -0
  237. package/dist/components/ic-data-row.js +14 -13
  238. package/dist/components/ic-data-row.js.map +1 -1
  239. package/dist/components/ic-data-table-title-bar.d.ts +11 -0
  240. package/dist/components/ic-data-table-title-bar.js +136 -0
  241. package/dist/components/ic-data-table-title-bar.js.map +1 -0
  242. package/dist/components/ic-data-table.js +841 -72
  243. package/dist/components/ic-data-table.js.map +1 -1
  244. package/dist/components/ic-date-input2.js +79 -36
  245. package/dist/components/ic-date-input2.js.map +1 -1
  246. package/dist/components/ic-date-picker.js +87 -57
  247. package/dist/components/ic-date-picker.js.map +1 -1
  248. package/dist/components/ic-dialog.js +29 -115
  249. package/dist/components/ic-dialog.js.map +1 -1
  250. package/dist/components/ic-divider2.js +1 -2
  251. package/dist/components/ic-divider2.js.map +1 -1
  252. package/dist/components/ic-empty-state.js +1 -57
  253. package/dist/components/ic-empty-state.js.map +1 -1
  254. package/dist/components/ic-empty-state2.js +80 -0
  255. package/dist/components/ic-empty-state2.js.map +1 -0
  256. package/dist/components/ic-footer-link-group.js +10 -10
  257. package/dist/components/ic-footer-link-group.js.map +1 -1
  258. package/dist/components/ic-footer-link.js +13 -8
  259. package/dist/components/ic-footer-link.js.map +1 -1
  260. package/dist/components/ic-footer.js +9 -10
  261. package/dist/components/ic-footer.js.map +1 -1
  262. package/dist/components/ic-hero.js +28 -14
  263. package/dist/components/ic-hero.js.map +1 -1
  264. package/dist/components/ic-horizontal-scroll2.js +6 -8
  265. package/dist/components/ic-horizontal-scroll2.js.map +1 -1
  266. package/dist/components/ic-input-component-container2.js +25 -20
  267. package/dist/components/ic-input-component-container2.js.map +1 -1
  268. package/dist/components/ic-input-label2.js +9 -11
  269. package/dist/components/ic-input-label2.js.map +1 -1
  270. package/dist/components/ic-input-validation2.js +4 -5
  271. package/dist/components/ic-input-validation2.js.map +1 -1
  272. package/dist/components/ic-link2.js +54 -27
  273. package/dist/components/ic-link2.js.map +1 -1
  274. package/dist/components/ic-loading-indicator2.js +23 -19
  275. package/dist/components/ic-loading-indicator2.js.map +1 -1
  276. package/dist/components/ic-menu-group.js +2 -2
  277. package/dist/components/ic-menu-group.js.map +1 -1
  278. package/dist/components/ic-menu-item2.js +6 -12
  279. package/dist/components/ic-menu-item2.js.map +1 -1
  280. package/dist/components/ic-menu2.js +15 -20
  281. package/dist/components/ic-menu2.js.map +1 -1
  282. package/dist/components/ic-menu3.js +187 -49
  283. package/dist/components/ic-menu3.js.map +1 -1
  284. package/dist/components/ic-navigation-button.js +28 -8
  285. package/dist/components/ic-navigation-button.js.map +1 -1
  286. package/dist/components/ic-navigation-group.js +23 -20
  287. package/dist/components/ic-navigation-group.js.map +1 -1
  288. package/dist/components/ic-navigation-item.js +33 -37
  289. package/dist/components/ic-navigation-item.js.map +1 -1
  290. package/dist/components/ic-navigation-menu2.js +3 -3
  291. package/dist/components/ic-navigation-menu2.js.map +1 -1
  292. package/dist/components/ic-page-header.js +9 -11
  293. package/dist/components/ic-page-header.js.map +1 -1
  294. package/dist/components/ic-pagination-bar2.js +154 -143
  295. package/dist/components/ic-pagination-bar2.js.map +1 -1
  296. package/dist/components/ic-pagination-item2.js +22 -12
  297. package/dist/components/ic-pagination-item2.js.map +1 -1
  298. package/dist/components/ic-pagination2.js +50 -33
  299. package/dist/components/ic-pagination2.js.map +1 -1
  300. package/dist/components/ic-popover-menu.js +15 -20
  301. package/dist/components/ic-popover-menu.js.map +1 -1
  302. package/dist/components/ic-radio-group.js +76 -51
  303. package/dist/components/ic-radio-group.js.map +1 -1
  304. package/dist/components/ic-radio-option.js +47 -60
  305. package/dist/components/ic-radio-option.js.map +1 -1
  306. package/dist/components/ic-search-bar.js +21 -29
  307. package/dist/components/ic-search-bar.js.map +1 -1
  308. package/dist/components/ic-section-container2.js +1 -1
  309. package/dist/components/ic-section-container2.js.map +1 -1
  310. package/dist/components/ic-select-with-multi.js +15 -58
  311. package/dist/components/ic-select-with-multi.js.map +1 -1
  312. package/dist/components/ic-select2.js +59 -42
  313. package/dist/components/ic-select2.js.map +1 -1
  314. package/dist/components/ic-side-navigation.js +8 -9
  315. package/dist/components/ic-side-navigation.js.map +1 -1
  316. package/dist/components/ic-skeleton.js +18 -43
  317. package/dist/components/ic-skeleton.js.map +1 -1
  318. package/dist/components/ic-status-tag.js +7 -15
  319. package/dist/components/ic-status-tag.js.map +1 -1
  320. package/dist/components/ic-step.js +48 -48
  321. package/dist/components/ic-step.js.map +1 -1
  322. package/dist/components/ic-stepper.js +49 -23
  323. package/dist/components/ic-stepper.js.map +1 -1
  324. package/dist/components/ic-switch.js +7 -9
  325. package/dist/components/ic-switch.js.map +1 -1
  326. package/dist/components/ic-tab-context.js +40 -20
  327. package/dist/components/ic-tab-context.js.map +1 -1
  328. package/dist/components/ic-tab-group.js +27 -13
  329. package/dist/components/ic-tab-group.js.map +1 -1
  330. package/dist/components/ic-tab-panel.js +9 -16
  331. package/dist/components/ic-tab-panel.js.map +1 -1
  332. package/dist/components/ic-tab.js +12 -10
  333. package/dist/components/ic-tab.js.map +1 -1
  334. package/dist/components/ic-text-field2.js +104 -113
  335. package/dist/components/ic-text-field2.js.map +1 -1
  336. package/dist/components/ic-theme.js +45 -28
  337. package/dist/components/ic-theme.js.map +1 -1
  338. package/dist/components/ic-toast-region.js +7 -9
  339. package/dist/components/ic-toast-region.js.map +1 -1
  340. package/dist/components/ic-toast.js +93 -36
  341. package/dist/components/ic-toast.js.map +1 -1
  342. package/dist/components/ic-toggle-button-group.js +17 -17
  343. package/dist/components/ic-toggle-button-group.js.map +1 -1
  344. package/dist/components/ic-toggle-button.js +16 -14
  345. package/dist/components/ic-toggle-button.js.map +1 -1
  346. package/dist/components/ic-tooltip2.js +31 -9
  347. package/dist/components/ic-tooltip2.js.map +1 -1
  348. package/dist/components/ic-top-navigation.js +63 -87
  349. package/dist/components/ic-top-navigation.js.map +1 -1
  350. package/dist/components/ic-tree-item.d.ts +11 -0
  351. package/dist/components/ic-tree-item.js +286 -0
  352. package/dist/components/ic-tree-item.js.map +1 -0
  353. package/dist/components/ic-tree-view.d.ts +11 -0
  354. package/dist/components/ic-tree-view.js +237 -0
  355. package/dist/components/ic-tree-view.js.map +1 -0
  356. package/dist/components/ic-typography2.js +62 -21
  357. package/dist/components/ic-typography2.js.map +1 -1
  358. package/dist/core/core.css +38 -20
  359. package/dist/core/core.esm.js +1 -1
  360. package/dist/core/core.esm.js.map +1 -1
  361. package/dist/core/p-06eeb7f2.entry.js +2 -0
  362. package/dist/core/p-06eeb7f2.entry.js.map +1 -0
  363. package/dist/core/p-0922c552.entry.js +2 -0
  364. package/dist/core/p-0922c552.entry.js.map +1 -0
  365. package/dist/core/p-0bc0e852.entry.js +2 -0
  366. package/dist/core/p-0bc0e852.entry.js.map +1 -0
  367. package/dist/core/p-108a9029.entry.js +2 -0
  368. package/dist/core/p-108a9029.entry.js.map +1 -0
  369. package/dist/core/p-13100d3c.entry.js +2 -0
  370. package/dist/core/p-13100d3c.entry.js.map +1 -0
  371. package/dist/core/p-1769df1d.entry.js +2 -0
  372. package/dist/core/p-1769df1d.entry.js.map +1 -0
  373. package/dist/core/p-202bc922.entry.js +2 -0
  374. package/dist/core/p-202bc922.entry.js.map +1 -0
  375. package/dist/core/p-266341f5.entry.js +2 -0
  376. package/dist/core/p-266341f5.entry.js.map +1 -0
  377. package/dist/core/p-297e99cf.js +2 -0
  378. package/dist/core/p-297e99cf.js.map +1 -0
  379. package/dist/core/p-306def43.entry.js +2 -0
  380. package/dist/core/p-306def43.entry.js.map +1 -0
  381. package/dist/core/p-30b046b2.entry.js +2 -0
  382. package/dist/core/p-30b046b2.entry.js.map +1 -0
  383. package/dist/core/{p-f8cf2978.js → p-33dd24eb.js} +2 -2
  384. package/dist/core/p-3778cc5e.entry.js +2 -0
  385. package/dist/core/p-3778cc5e.entry.js.map +1 -0
  386. package/dist/core/p-383a5a76.entry.js +2 -0
  387. package/dist/core/p-383a5a76.entry.js.map +1 -0
  388. package/dist/core/p-3a0510e2.entry.js +2 -0
  389. package/dist/core/p-3a0510e2.entry.js.map +1 -0
  390. package/dist/core/p-3ace51f5.entry.js +2 -0
  391. package/dist/core/p-3ace51f5.entry.js.map +1 -0
  392. package/dist/core/p-3ef28704.entry.js +2 -0
  393. package/dist/core/p-3ef28704.entry.js.map +1 -0
  394. package/dist/core/p-3f0391c1.entry.js +2 -0
  395. package/dist/core/p-3f0391c1.entry.js.map +1 -0
  396. package/dist/core/p-41fecc61.entry.js +2 -0
  397. package/dist/core/p-41fecc61.entry.js.map +1 -0
  398. package/dist/core/p-46cb94a2.entry.js +2 -0
  399. package/dist/core/p-46cb94a2.entry.js.map +1 -0
  400. package/dist/core/p-4e67f127.entry.js +2 -0
  401. package/dist/core/p-4e67f127.entry.js.map +1 -0
  402. package/dist/core/p-505250cf.entry.js +2 -0
  403. package/dist/core/p-505250cf.entry.js.map +1 -0
  404. package/dist/core/p-50e48f4d.entry.js +2 -0
  405. package/dist/core/p-50e48f4d.entry.js.map +1 -0
  406. package/dist/core/p-56e7459a.entry.js +2 -0
  407. package/dist/core/p-56e7459a.entry.js.map +1 -0
  408. package/dist/core/p-59028160.entry.js +2 -0
  409. package/dist/core/p-59028160.entry.js.map +1 -0
  410. package/dist/core/p-5cfb5821.entry.js +2 -0
  411. package/dist/core/p-5cfb5821.entry.js.map +1 -0
  412. package/dist/core/p-5e6fd734.entry.js +2 -0
  413. package/dist/core/p-5e6fd734.entry.js.map +1 -0
  414. package/dist/core/p-5f313e1a.entry.js +2 -0
  415. package/dist/core/p-5f313e1a.entry.js.map +1 -0
  416. package/dist/core/{p-c2b5e7b1.entry.js → p-5f5403e2.entry.js} +2 -2
  417. package/dist/core/{p-c2b5e7b1.entry.js.map → p-5f5403e2.entry.js.map} +1 -1
  418. package/dist/core/p-710c6a42.entry.js +2 -0
  419. package/dist/core/p-710c6a42.entry.js.map +1 -0
  420. package/dist/core/p-73b40c79.entry.js +2 -0
  421. package/dist/core/p-73b40c79.entry.js.map +1 -0
  422. package/dist/core/p-77a32de5.entry.js +2 -0
  423. package/dist/core/p-77a32de5.entry.js.map +1 -0
  424. package/dist/core/p-7a9de008.entry.js +2 -0
  425. package/dist/core/p-7a9de008.entry.js.map +1 -0
  426. package/dist/core/p-801414e2.entry.js +2 -0
  427. package/dist/core/p-801414e2.entry.js.map +1 -0
  428. package/dist/core/p-82ba744d.entry.js +2 -0
  429. package/dist/core/p-82ba744d.entry.js.map +1 -0
  430. package/dist/core/p-897b8d16.entry.js +2 -0
  431. package/dist/core/p-897b8d16.entry.js.map +1 -0
  432. package/dist/core/p-9397b15b.js +2 -0
  433. package/dist/core/p-9397b15b.js.map +1 -0
  434. package/dist/core/p-9af6adb1.entry.js +2 -0
  435. package/dist/core/p-9af6adb1.entry.js.map +1 -0
  436. package/dist/core/p-9b54feca.entry.js +2 -0
  437. package/dist/core/p-9b54feca.entry.js.map +1 -0
  438. package/dist/core/{p-356b8a4c.entry.js → p-9f3cf053.entry.js} +2 -2
  439. package/dist/core/{p-356b8a4c.entry.js.map → p-9f3cf053.entry.js.map} +1 -1
  440. package/dist/core/p-a57cd616.entry.js +2 -0
  441. package/dist/core/p-a57cd616.entry.js.map +1 -0
  442. package/dist/core/p-a5eaed1a.entry.js +2 -0
  443. package/dist/core/p-a5eaed1a.entry.js.map +1 -0
  444. package/dist/core/p-a78cf2cb.entry.js +2 -0
  445. package/dist/core/p-a78cf2cb.entry.js.map +1 -0
  446. package/dist/core/p-a91340b4.entry.js +2 -0
  447. package/dist/core/p-a91340b4.entry.js.map +1 -0
  448. package/dist/core/p-aee8d45b.entry.js +2 -0
  449. package/dist/core/p-aee8d45b.entry.js.map +1 -0
  450. package/dist/core/{p-452985d9.entry.js → p-b40ecaef.entry.js} +2 -2
  451. package/dist/core/p-b40ecaef.entry.js.map +1 -0
  452. package/dist/core/p-badd4c8d.entry.js +2 -0
  453. package/dist/core/p-badd4c8d.entry.js.map +1 -0
  454. package/dist/core/p-bf670360.entry.js +2 -0
  455. package/dist/core/{p-b306cbc8.entry.js.map → p-bf670360.entry.js.map} +1 -1
  456. package/dist/core/p-c033e7d6.entry.js +2 -0
  457. package/dist/core/p-c033e7d6.entry.js.map +1 -0
  458. package/dist/core/p-c07af2d8.entry.js +2 -0
  459. package/dist/core/p-c07af2d8.entry.js.map +1 -0
  460. package/dist/core/p-c21d0db8.entry.js +2 -0
  461. package/dist/core/p-c21d0db8.entry.js.map +1 -0
  462. package/dist/core/p-c678f73d.entry.js +2 -0
  463. package/dist/core/p-c678f73d.entry.js.map +1 -0
  464. package/dist/core/p-c6ae9bad.entry.js +2 -0
  465. package/dist/core/p-c6ae9bad.entry.js.map +1 -0
  466. package/dist/core/p-c6c1e08e.entry.js +2 -0
  467. package/dist/core/p-c6c1e08e.entry.js.map +1 -0
  468. package/dist/core/p-cb6cebdd.entry.js +2 -0
  469. package/dist/core/p-cb6cebdd.entry.js.map +1 -0
  470. package/dist/core/p-d03374fc.entry.js +2 -0
  471. package/dist/core/p-d03374fc.entry.js.map +1 -0
  472. package/dist/core/p-d16f364a.entry.js +2 -0
  473. package/dist/core/p-d16f364a.entry.js.map +1 -0
  474. package/dist/core/p-d239c33b.entry.js +2 -0
  475. package/dist/core/p-d239c33b.entry.js.map +1 -0
  476. package/dist/core/p-d8563643.entry.js +2 -0
  477. package/dist/core/p-d8563643.entry.js.map +1 -0
  478. package/dist/core/p-da40757f.entry.js +2 -0
  479. package/dist/core/p-da40757f.entry.js.map +1 -0
  480. package/dist/core/p-de052137.entry.js +2 -0
  481. package/dist/core/p-de052137.entry.js.map +1 -0
  482. package/dist/core/p-e5d99316.entry.js +2 -0
  483. package/dist/core/p-e5d99316.entry.js.map +1 -0
  484. package/dist/core/p-e89bb650.entry.js +2 -0
  485. package/dist/core/p-e89bb650.entry.js.map +1 -0
  486. package/dist/core/{p-baf81f30.entry.js → p-f1072c28.entry.js} +2 -2
  487. package/dist/core/{p-452985d9.entry.js.map → p-f1072c28.entry.js.map} +1 -1
  488. package/dist/core/p-f37df214.entry.js +2 -0
  489. package/dist/core/{p-d3856ed3.entry.js.map → p-f37df214.entry.js.map} +1 -1
  490. package/dist/core/p-f743b0eb.entry.js +2 -0
  491. package/dist/core/p-f743b0eb.entry.js.map +1 -0
  492. package/dist/core/p-f98b1afc.entry.js +2 -0
  493. package/dist/core/p-f98b1afc.entry.js.map +1 -0
  494. package/dist/core/p-fe13f1ba.entry.js +2 -0
  495. package/dist/core/p-fe13f1ba.entry.js.map +1 -0
  496. package/dist/esm/core.js +1 -1
  497. package/dist/esm/{date-helpers-4f432e92.js → date-helpers-0e5e32a7.js} +2 -2
  498. package/dist/esm/{date-helpers-4f432e92.js.map → date-helpers-0e5e32a7.js.map} +1 -1
  499. package/dist/esm/{helpers-f328a7b6.js → helpers-5bd2012a.js} +108 -2
  500. package/dist/esm/helpers-5bd2012a.js.map +1 -0
  501. package/dist/esm/{helpers-7aa21b0a.js → helpers-dab8ddfe.js} +85 -91
  502. package/dist/esm/helpers-dab8ddfe.js.map +1 -0
  503. package/dist/esm/ic-accordion-group.entry.js +31 -9
  504. package/dist/esm/ic-accordion-group.entry.js.map +1 -1
  505. package/dist/esm/ic-accordion.entry.js +7 -8
  506. package/dist/esm/ic-accordion.entry.js.map +1 -1
  507. package/dist/esm/ic-alert.entry.js +27 -9
  508. package/dist/esm/ic-alert.entry.js.map +1 -1
  509. package/dist/esm/ic-back-to-top.entry.js +17 -8
  510. package/dist/esm/ic-back-to-top.entry.js.map +1 -1
  511. package/dist/esm/ic-badge.entry.js +67 -117
  512. package/dist/esm/ic-badge.entry.js.map +1 -1
  513. package/dist/esm/ic-breadcrumb-group.entry.js +37 -11
  514. package/dist/esm/ic-breadcrumb-group.entry.js.map +1 -1
  515. package/dist/esm/ic-breadcrumb.entry.js +8 -7
  516. package/dist/esm/ic-breadcrumb.entry.js.map +1 -1
  517. package/dist/esm/ic-button_3.entry.js +112 -125
  518. package/dist/esm/ic-button_3.entry.js.map +1 -1
  519. package/dist/esm/ic-card-horizontal.entry.js +127 -0
  520. package/dist/esm/ic-card-horizontal.entry.js.map +1 -0
  521. package/dist/esm/ic-card-vertical.entry.js +145 -0
  522. package/dist/esm/ic-card-vertical.entry.js.map +1 -0
  523. package/dist/esm/ic-checkbox-group.entry.js +27 -20
  524. package/dist/esm/ic-checkbox-group.entry.js.map +1 -1
  525. package/dist/esm/ic-checkbox.entry.js +45 -40
  526. package/dist/esm/ic-checkbox.entry.js.map +1 -1
  527. package/dist/esm/ic-chip.entry.js +40 -29
  528. package/dist/esm/ic-chip.entry.js.map +1 -1
  529. package/dist/esm/ic-classification-banner.entry.js +14 -5
  530. package/dist/esm/ic-classification-banner.entry.js.map +1 -1
  531. package/dist/esm/ic-data-list.entry.js +28 -0
  532. package/dist/esm/ic-data-list.entry.js.map +1 -0
  533. package/dist/esm/ic-data-row.entry.js +12 -12
  534. package/dist/esm/ic-data-row.entry.js.map +1 -1
  535. package/dist/esm/ic-data-table-title-bar.entry.js +53 -0
  536. package/dist/esm/ic-data-table-title-bar.entry.js.map +1 -0
  537. package/dist/esm/ic-data-table.entry.js +806 -66
  538. package/dist/esm/ic-data-table.entry.js.map +1 -1
  539. package/dist/esm/ic-date-input.entry.js +71 -34
  540. package/dist/esm/ic-date-input.entry.js.map +1 -1
  541. package/dist/esm/ic-date-picker.entry.js +82 -56
  542. package/dist/esm/ic-date-picker.entry.js.map +1 -1
  543. package/dist/esm/ic-dialog.entry.js +27 -101
  544. package/dist/esm/ic-dialog.entry.js.map +1 -1
  545. package/dist/esm/ic-divider.entry.js +1 -2
  546. package/dist/esm/ic-divider.entry.js.map +1 -1
  547. package/dist/esm/ic-empty-state_2.entry.js +312 -0
  548. package/dist/esm/ic-empty-state_2.entry.js.map +1 -0
  549. package/dist/esm/ic-footer-link-group.entry.js +9 -10
  550. package/dist/esm/ic-footer-link-group.entry.js.map +1 -1
  551. package/dist/esm/ic-footer-link.entry.js +6 -8
  552. package/dist/esm/ic-footer-link.entry.js.map +1 -1
  553. package/dist/esm/ic-footer.entry.js +9 -10
  554. package/dist/esm/ic-footer.entry.js.map +1 -1
  555. package/dist/esm/ic-hero.entry.js +28 -13
  556. package/dist/esm/ic-hero.entry.js.map +1 -1
  557. package/dist/esm/ic-horizontal-scroll.entry.js +6 -8
  558. package/dist/esm/ic-horizontal-scroll.entry.js.map +1 -1
  559. package/dist/esm/ic-input-component-container_4.entry.js +35 -29
  560. package/dist/esm/ic-input-component-container_4.entry.js.map +1 -1
  561. package/dist/esm/ic-link.entry.js +52 -25
  562. package/dist/esm/ic-link.entry.js.map +1 -1
  563. package/dist/esm/ic-menu-group.entry.js +2 -3
  564. package/dist/esm/ic-menu-group.entry.js.map +1 -1
  565. package/dist/esm/ic-menu-item.entry.js +6 -13
  566. package/dist/esm/ic-menu-item.entry.js.map +1 -1
  567. package/dist/esm/ic-menu-with-multi.entry.js +186 -47
  568. package/dist/esm/ic-menu-with-multi.entry.js.map +1 -1
  569. package/dist/esm/ic-menu.entry.js +16 -21
  570. package/dist/esm/ic-menu.entry.js.map +1 -1
  571. package/dist/esm/ic-navigation-button.entry.js +28 -8
  572. package/dist/esm/ic-navigation-button.entry.js.map +1 -1
  573. package/dist/esm/ic-navigation-group.entry.js +23 -21
  574. package/dist/esm/ic-navigation-group.entry.js.map +1 -1
  575. package/dist/esm/ic-navigation-item.entry.js +33 -38
  576. package/dist/esm/ic-navigation-item.entry.js.map +1 -1
  577. package/dist/esm/ic-navigation-menu.entry.js +3 -4
  578. package/dist/esm/ic-navigation-menu.entry.js.map +1 -1
  579. package/dist/esm/ic-page-header.entry.js +10 -12
  580. package/dist/esm/ic-page-header.entry.js.map +1 -1
  581. package/dist/esm/ic-pagination_4.entry.js +219 -178
  582. package/dist/esm/ic-pagination_4.entry.js.map +1 -1
  583. package/dist/esm/ic-popover-menu.entry.js +15 -21
  584. package/dist/esm/ic-popover-menu.entry.js.map +1 -1
  585. package/dist/esm/ic-radio-group.entry.js +75 -51
  586. package/dist/esm/ic-radio-group.entry.js.map +1 -1
  587. package/dist/esm/ic-radio-option.entry.js +44 -53
  588. package/dist/esm/ic-radio-option.entry.js.map +1 -1
  589. package/dist/esm/ic-search-bar.entry.js +19 -26
  590. package/dist/esm/ic-search-bar.entry.js.map +1 -1
  591. package/dist/esm/ic-section-container.entry.js +1 -1
  592. package/dist/esm/ic-section-container.entry.js.map +1 -1
  593. package/dist/esm/ic-select-with-multi.entry.js +14 -50
  594. package/dist/esm/ic-select-with-multi.entry.js.map +1 -1
  595. package/dist/esm/ic-side-navigation.entry.js +8 -9
  596. package/dist/esm/ic-side-navigation.entry.js.map +1 -1
  597. package/dist/esm/ic-skeleton.entry.js +17 -37
  598. package/dist/esm/ic-skeleton.entry.js.map +1 -1
  599. package/dist/esm/ic-status-tag.entry.js +7 -15
  600. package/dist/esm/ic-status-tag.entry.js.map +1 -1
  601. package/dist/esm/ic-step.entry.js +42 -43
  602. package/dist/esm/ic-step.entry.js.map +1 -1
  603. package/dist/esm/ic-stepper.entry.js +45 -24
  604. package/dist/esm/ic-stepper.entry.js.map +1 -1
  605. package/dist/esm/ic-switch.entry.js +7 -9
  606. package/dist/esm/ic-switch.entry.js.map +1 -1
  607. package/dist/esm/ic-tab-context.entry.js +35 -18
  608. package/dist/esm/ic-tab-context.entry.js.map +1 -1
  609. package/dist/esm/ic-tab-group.entry.js +25 -11
  610. package/dist/esm/ic-tab-group.entry.js.map +1 -1
  611. package/dist/esm/ic-tab-panel.entry.js +6 -13
  612. package/dist/esm/ic-tab-panel.entry.js.map +1 -1
  613. package/dist/esm/ic-tab.entry.js +10 -9
  614. package/dist/esm/ic-tab.entry.js.map +1 -1
  615. package/dist/esm/ic-theme.entry.js +39 -25
  616. package/dist/esm/ic-theme.entry.js.map +1 -1
  617. package/dist/esm/ic-toast-region.entry.js +6 -7
  618. package/dist/esm/ic-toast-region.entry.js.map +1 -1
  619. package/dist/esm/ic-toast.entry.js +88 -35
  620. package/dist/esm/ic-toast.entry.js.map +1 -1
  621. package/dist/esm/ic-toggle-button-group.entry.js +17 -17
  622. package/dist/esm/ic-toggle-button-group.entry.js.map +1 -1
  623. package/dist/esm/ic-toggle-button.entry.js +15 -14
  624. package/dist/esm/ic-toggle-button.entry.js.map +1 -1
  625. package/dist/esm/ic-top-navigation.entry.js +62 -86
  626. package/dist/esm/ic-top-navigation.entry.js.map +1 -1
  627. package/dist/esm/ic-tree-item.entry.js +237 -0
  628. package/dist/esm/ic-tree-item.entry.js.map +1 -0
  629. package/dist/esm/ic-tree-view.entry.js +199 -0
  630. package/dist/esm/ic-tree-view.entry.js.map +1 -0
  631. package/dist/esm/ic-typography.entry.js +56 -20
  632. package/dist/esm/ic-typography.entry.js.map +1 -1
  633. package/dist/esm/index-93509377.js +26 -14
  634. package/dist/esm/loader.js +1 -1
  635. package/dist/types/components/ic-card-horizontal/ic-card-horizontal.d.ts +71 -0
  636. package/dist/types/components/ic-card-horizontal/ic-card-horizontal.types.d.ts +1 -0
  637. package/dist/types/components/ic-data-table/ic-data-table.d.ts +176 -19
  638. package/dist/types/components/ic-data-table/ic-data-table.types.d.ts +30 -0
  639. package/dist/types/components/ic-data-table/story-data.d.ts +236 -3
  640. package/dist/types/components/ic-data-table-title-bar/ic-data-table-title-bar.d.ts +36 -0
  641. package/dist/types/components/ic-date-input/ic-date-input.d.ts +17 -0
  642. package/dist/types/components/ic-date-picker/ic-date-picker.d.ts +14 -25
  643. package/dist/types/components/ic-menu-with-multi/ic-menu.d.ts +10 -4
  644. package/dist/types/components/ic-pagination-bar/ic-pagination-bar.d.ts +37 -18
  645. package/dist/types/components/ic-select-with-multi/ic-select.d.ts +1 -31
  646. package/dist/types/components/ic-tree-item/ic-tree-item.d.ts +95 -0
  647. package/dist/types/components/ic-tree-view/ic-tree-view.d.ts +40 -0
  648. package/dist/types/components.d.ts +543 -114
  649. package/dist/types/interface.d.ts +1 -0
  650. package/dist/types/utils/helpers.d.ts +9 -0
  651. package/dist/types/utils/types.d.ts +24 -8
  652. package/hydrate/index.js +4264 -2362
  653. package/package.json +6 -6
  654. package/dist/cjs/helpers-7a069459.js.map +0 -1
  655. package/dist/cjs/helpers-f75cf7cf.js.map +0 -1
  656. package/dist/cjs/ic-card.cjs.entry.js +0 -126
  657. package/dist/cjs/ic-card.cjs.entry.js.map +0 -1
  658. package/dist/cjs/ic-data-entity.cjs.entry.js +0 -29
  659. package/dist/cjs/ic-data-entity.cjs.entry.js.map +0 -1
  660. package/dist/cjs/ic-empty-state.cjs.entry.js +0 -38
  661. package/dist/cjs/ic-empty-state.cjs.entry.js.map +0 -1
  662. package/dist/cjs/ic-pagination-bar.cjs.entry.js +0 -269
  663. package/dist/cjs/ic-pagination-bar.cjs.entry.js.map +0 -1
  664. package/dist/cjs/types-17dba796.js +0 -16
  665. package/dist/cjs/types-17dba796.js.map +0 -1
  666. package/dist/collection/components/ic-pagination/ic-pagination.types.js +0 -2
  667. package/dist/collection/components/ic-pagination/ic-pagination.types.js.map +0 -1
  668. package/dist/collection/components/ic-select-with-multi/test/a11y/ic-select.test.a11y.js +0 -146
  669. package/dist/collection/components/ic-select-with-multi/test/a11y/ic-select.test.a11y.js.map +0 -1
  670. package/dist/collection/components/ic-select-with-multi/test/basic/ic-select.e2e.js +0 -2040
  671. package/dist/collection/components/ic-select-with-multi/test/basic/ic-select.e2e.js.map +0 -1
  672. package/dist/components/ic-alert2.js +0 -117
  673. package/dist/components/ic-alert2.js.map +0 -1
  674. package/dist/components/ic-card.js +0 -171
  675. package/dist/components/ic-card.js.map +0 -1
  676. package/dist/components/ic-data-entity.js +0 -53
  677. package/dist/components/ic-data-entity.js.map +0 -1
  678. package/dist/components/types.js +0 -16
  679. package/dist/components/types.js.map +0 -1
  680. package/dist/core/p-06ae5bec.entry.js +0 -2
  681. package/dist/core/p-06ae5bec.entry.js.map +0 -1
  682. package/dist/core/p-0939ce92.entry.js +0 -2
  683. package/dist/core/p-0939ce92.entry.js.map +0 -1
  684. package/dist/core/p-16f67397.entry.js +0 -2
  685. package/dist/core/p-16f67397.entry.js.map +0 -1
  686. package/dist/core/p-1832f4b5.entry.js +0 -2
  687. package/dist/core/p-1832f4b5.entry.js.map +0 -1
  688. package/dist/core/p-1b7d426b.entry.js +0 -2
  689. package/dist/core/p-1b7d426b.entry.js.map +0 -1
  690. package/dist/core/p-1ce75941.entry.js +0 -2
  691. package/dist/core/p-1ce75941.entry.js.map +0 -1
  692. package/dist/core/p-2e2e0099.entry.js +0 -2
  693. package/dist/core/p-2e2e0099.entry.js.map +0 -1
  694. package/dist/core/p-33679c06.entry.js +0 -2
  695. package/dist/core/p-33679c06.entry.js.map +0 -1
  696. package/dist/core/p-36508aad.entry.js +0 -2
  697. package/dist/core/p-36508aad.entry.js.map +0 -1
  698. package/dist/core/p-3745da83.entry.js +0 -2
  699. package/dist/core/p-3745da83.entry.js.map +0 -1
  700. package/dist/core/p-3f2e77c3.entry.js +0 -2
  701. package/dist/core/p-3f2e77c3.entry.js.map +0 -1
  702. package/dist/core/p-47ac6838.entry.js +0 -2
  703. package/dist/core/p-47ac6838.entry.js.map +0 -1
  704. package/dist/core/p-4f1ffa39.entry.js +0 -2
  705. package/dist/core/p-4f1ffa39.entry.js.map +0 -1
  706. package/dist/core/p-5759d771.entry.js +0 -2
  707. package/dist/core/p-5759d771.entry.js.map +0 -1
  708. package/dist/core/p-5e2e6c3b.entry.js +0 -2
  709. package/dist/core/p-5e2e6c3b.entry.js.map +0 -1
  710. package/dist/core/p-5fe96107.entry.js +0 -2
  711. package/dist/core/p-5fe96107.entry.js.map +0 -1
  712. package/dist/core/p-62e22508.entry.js +0 -2
  713. package/dist/core/p-62e22508.entry.js.map +0 -1
  714. package/dist/core/p-6690bc04.entry.js +0 -2
  715. package/dist/core/p-6690bc04.entry.js.map +0 -1
  716. package/dist/core/p-6c0e2ceb.entry.js +0 -2
  717. package/dist/core/p-6c0e2ceb.entry.js.map +0 -1
  718. package/dist/core/p-76915584.entry.js +0 -2
  719. package/dist/core/p-76915584.entry.js.map +0 -1
  720. package/dist/core/p-76d26018.entry.js +0 -2
  721. package/dist/core/p-76d26018.entry.js.map +0 -1
  722. package/dist/core/p-776671cf.entry.js +0 -2
  723. package/dist/core/p-776671cf.entry.js.map +0 -1
  724. package/dist/core/p-7cecf5d5.entry.js +0 -2
  725. package/dist/core/p-7cecf5d5.entry.js.map +0 -1
  726. package/dist/core/p-85609bdd.entry.js +0 -2
  727. package/dist/core/p-85609bdd.entry.js.map +0 -1
  728. package/dist/core/p-86012178.entry.js +0 -2
  729. package/dist/core/p-86012178.entry.js.map +0 -1
  730. package/dist/core/p-8a7e7d23.entry.js +0 -2
  731. package/dist/core/p-8a7e7d23.entry.js.map +0 -1
  732. package/dist/core/p-8c90110a.entry.js +0 -2
  733. package/dist/core/p-8c90110a.entry.js.map +0 -1
  734. package/dist/core/p-8ea47d42.entry.js +0 -2
  735. package/dist/core/p-8ea47d42.entry.js.map +0 -1
  736. package/dist/core/p-9777ebb1.entry.js +0 -2
  737. package/dist/core/p-9777ebb1.entry.js.map +0 -1
  738. package/dist/core/p-982a6e88.entry.js +0 -2
  739. package/dist/core/p-982a6e88.entry.js.map +0 -1
  740. package/dist/core/p-98448bdb.entry.js +0 -2
  741. package/dist/core/p-98448bdb.entry.js.map +0 -1
  742. package/dist/core/p-9d01a7ad.entry.js +0 -2
  743. package/dist/core/p-9d01a7ad.entry.js.map +0 -1
  744. package/dist/core/p-9d540656.entry.js +0 -2
  745. package/dist/core/p-9d540656.entry.js.map +0 -1
  746. package/dist/core/p-9e3178e8.entry.js +0 -2
  747. package/dist/core/p-9e3178e8.entry.js.map +0 -1
  748. package/dist/core/p-a0f9b259.entry.js +0 -2
  749. package/dist/core/p-a0f9b259.entry.js.map +0 -1
  750. package/dist/core/p-a42c2f37.entry.js +0 -2
  751. package/dist/core/p-a42c2f37.entry.js.map +0 -1
  752. package/dist/core/p-a6447b13.entry.js +0 -2
  753. package/dist/core/p-a6447b13.entry.js.map +0 -1
  754. package/dist/core/p-aabab75f.entry.js +0 -2
  755. package/dist/core/p-aabab75f.entry.js.map +0 -1
  756. package/dist/core/p-ae422058.entry.js +0 -2
  757. package/dist/core/p-ae422058.entry.js.map +0 -1
  758. package/dist/core/p-b2aa3d7c.entry.js +0 -2
  759. package/dist/core/p-b2aa3d7c.entry.js.map +0 -1
  760. package/dist/core/p-b306cbc8.entry.js +0 -2
  761. package/dist/core/p-baf81f30.entry.js.map +0 -1
  762. package/dist/core/p-c7590421.entry.js +0 -2
  763. package/dist/core/p-c7590421.entry.js.map +0 -1
  764. package/dist/core/p-c7820c23.entry.js +0 -2
  765. package/dist/core/p-c7820c23.entry.js.map +0 -1
  766. package/dist/core/p-ca8cbd6a.entry.js +0 -2
  767. package/dist/core/p-ca8cbd6a.entry.js.map +0 -1
  768. package/dist/core/p-caf857de.entry.js +0 -2
  769. package/dist/core/p-caf857de.entry.js.map +0 -1
  770. package/dist/core/p-cc7bc438.entry.js +0 -2
  771. package/dist/core/p-cc7bc438.entry.js.map +0 -1
  772. package/dist/core/p-cd799087.js +0 -2
  773. package/dist/core/p-cd799087.js.map +0 -1
  774. package/dist/core/p-d32692e2.entry.js +0 -2
  775. package/dist/core/p-d32692e2.entry.js.map +0 -1
  776. package/dist/core/p-d35c7c18.js +0 -2
  777. package/dist/core/p-d35c7c18.js.map +0 -1
  778. package/dist/core/p-d3856ed3.entry.js +0 -2
  779. package/dist/core/p-d4fdd8c1.entry.js +0 -2
  780. package/dist/core/p-d4fdd8c1.entry.js.map +0 -1
  781. package/dist/core/p-d5c99ec3.entry.js +0 -2
  782. package/dist/core/p-d5c99ec3.entry.js.map +0 -1
  783. package/dist/core/p-e189f1d0.entry.js +0 -2
  784. package/dist/core/p-e189f1d0.entry.js.map +0 -1
  785. package/dist/core/p-e473bbf8.entry.js +0 -2
  786. package/dist/core/p-e473bbf8.entry.js.map +0 -1
  787. package/dist/core/p-e74f1d09.entry.js +0 -2
  788. package/dist/core/p-e74f1d09.entry.js.map +0 -1
  789. package/dist/core/p-e79e0292.entry.js +0 -2
  790. package/dist/core/p-e79e0292.entry.js.map +0 -1
  791. package/dist/core/p-e84b0310.entry.js +0 -2
  792. package/dist/core/p-e84b0310.entry.js.map +0 -1
  793. package/dist/core/p-f55ad6ae.entry.js +0 -2
  794. package/dist/core/p-f55ad6ae.entry.js.map +0 -1
  795. package/dist/core/p-f91527a0.entry.js +0 -2
  796. package/dist/core/p-f91527a0.entry.js.map +0 -1
  797. package/dist/core/p-fbf4e9b7.entry.js +0 -2
  798. package/dist/core/p-fbf4e9b7.entry.js.map +0 -1
  799. package/dist/core/p-fd186591.js +0 -2
  800. package/dist/core/p-fd186591.js.map +0 -1
  801. package/dist/esm/helpers-7aa21b0a.js.map +0 -1
  802. package/dist/esm/helpers-f328a7b6.js.map +0 -1
  803. package/dist/esm/ic-card.entry.js +0 -122
  804. package/dist/esm/ic-card.entry.js.map +0 -1
  805. package/dist/esm/ic-data-entity.entry.js +0 -25
  806. package/dist/esm/ic-data-entity.entry.js.map +0 -1
  807. package/dist/esm/ic-empty-state.entry.js +0 -34
  808. package/dist/esm/ic-empty-state.entry.js.map +0 -1
  809. package/dist/esm/ic-pagination-bar.entry.js +0 -265
  810. package/dist/esm/ic-pagination-bar.entry.js.map +0 -1
  811. package/dist/esm/types-f605c21c.js +0 -16
  812. package/dist/esm/types-f605c21c.js.map +0 -1
  813. package/dist/types/components/ic-pagination/ic-pagination.types.d.ts +0 -6
  814. /package/dist/core/{p-f8cf2978.js.map → p-33dd24eb.js.map} +0 -0
  815. /package/dist/types/components/{ic-select-with-multi/test/a11y/ic-select.test.a11y.d.ts → ic-data-table-title-bar/test/a11y/ic-data-table-title-bar.test.a11y.d.ts} +0 -0
@@ -1 +0,0 @@
1
- {"version":3,"names":["icCheckboxGroupCss","CheckboxGroup","constructor","hostRef","this","disabled","helperText","hideLabel","label","undefined","name","required","size","small","validationStatus","validationText","handleChange","ev","target","tagName","stopImmediatePropagation","componentWillLoad","removeDisabledFalse","el","componentDidLoad","Array","from","querySelectorAll","forEach","checkbox","groupLabel","onComponentRequiredPropUndefined","prop","propName","selectHandler","checkedOptions","filter","checked","icChange","emit","value","map","opt","_a","textFieldValue","querySelector","selectedOption","render","describedBy","getInputDescribedByText","hadValidationStatus","hasValidationStatus","h","Host","class","id","trim","for","ariaLiveMode","status","message"],"sources":["../web-components/dist/collection/components/ic-checkbox-group/ic-checkbox-group.css?tag=ic-checkbox-group&encapsulation=shadow","../web-components/dist/collection/components/ic-checkbox-group/ic-checkbox-group.js"],"sourcesContent":["/*! normalize.css v8.0.1 | MIT License | github.com/necolas/normalize.css */\n\n/* Document\n ========================================================================== */\n\n/**\n * 1. Correct the line height in all browsers.\n * 2. Prevent adjustments of font size after orientation changes in iOS.\n */\n\nhtml {\n line-height: 1.15; /* 1 */\n -webkit-text-size-adjust: 100%; /* 2 */\n}\n\n/* Sections\n ========================================================================== */\n\n/**\n * Remove the margin in all browsers.\n */\n\nbody {\n margin: 0;\n}\n\n/**\n * Render the `main` element consistently in IE.\n */\n\nmain {\n display: block;\n}\n\n/**\n * Correct the font size and margin on `h1` elements within `section` and\n * `article` contexts in Chrome, Firefox, and Safari.\n */\n\nh1 {\n font-size: 2em;\n margin: 0.67em 0;\n}\n\n/* Grouping content\n ========================================================================== */\n\n/**\n * 1. Add the correct box sizing in Firefox.\n * 2. Show the overflow in Edge and IE.\n */\n\nhr {\n box-sizing: content-box; /* 1 */\n height: 0; /* 1 */\n overflow: visible; /* 2 */\n}\n\n/**\n * 1. Correct the inheritance and scaling of font size in all browsers.\n * 2. Correct the odd `em` font sizing in all browsers.\n */\n\npre {\n font-family: monospace, monospace; /* 1 */\n font-size: 1em; /* 2 */\n}\n\n/* Text-level semantics\n ========================================================================== */\n\n/**\n * Remove the gray background on active links in IE 10.\n */\n\na {\n background-color: transparent;\n}\n\n/**\n * 1. Remove the bottom border in Chrome 57-\n * 2. Add the correct text decoration in Chrome, Edge, IE, Opera, and Safari.\n */\n\nabbr[title] {\n border-bottom: none; /* 1 */\n text-decoration: underline; /* 2 */\n -webkit-text-decoration: underline dotted;\n text-decoration: underline dotted; /* 2 */\n}\n\n/**\n * Add the correct font weight in Chrome, Edge, and Safari.\n */\n\nb,\nstrong {\n font-weight: bolder;\n}\n\n/**\n * 1. Correct the inheritance and scaling of font size in all browsers.\n * 2. Correct the odd `em` font sizing in all browsers.\n */\n\ncode,\nkbd,\nsamp {\n font-family: monospace, monospace; /* 1 */\n font-size: 1em; /* 2 */\n}\n\n/**\n * Add the correct font size in all browsers.\n */\n\nsmall {\n font-size: 80%;\n}\n\n/**\n * Prevent `sub` and `sup` elements from affecting the line height in\n * all browsers.\n */\n\nsub,\nsup {\n font-size: 75%;\n line-height: 0;\n position: relative;\n vertical-align: baseline;\n}\n\nsub {\n bottom: -0.25em;\n}\n\nsup {\n top: -0.5em;\n}\n\n/* Embedded content\n ========================================================================== */\n\n/**\n * Remove the border on images inside links in IE 10.\n */\n\nimg {\n border-style: none;\n}\n\n/* Forms\n ========================================================================== */\n\n/**\n * 1. Change the font styles in all browsers.\n * 2. Remove the margin in Firefox and Safari.\n */\n\nbutton,\ninput,\noptgroup,\nselect,\ntextarea {\n font-family: inherit; /* 1 */\n font-size: 100%; /* 1 */\n line-height: 1.15; /* 1 */\n margin: 0; /* 2 */\n}\n\n/**\n * Show the overflow in IE.\n * 1. Show the overflow in Edge.\n */\n\nbutton,\ninput {\n /* 1 */\n overflow: visible;\n}\n\n/**\n * Remove the inheritance of text transform in Edge, Firefox, and IE.\n * 1. Remove the inheritance of text transform in Firefox.\n */\n\nbutton,\nselect {\n /* 1 */\n text-transform: none;\n}\n\n/**\n * Correct the inability to style clickable types in iOS and Safari.\n */\n\nbutton,\n[type=\"button\"],\n[type=\"reset\"],\n[type=\"submit\"] {\n -webkit-appearance: button;\n}\n\n/**\n * Remove the inner border and padding in Firefox.\n */\n\nbutton::-moz-focus-inner,\n[type=\"button\"]::-moz-focus-inner,\n[type=\"reset\"]::-moz-focus-inner,\n[type=\"submit\"]::-moz-focus-inner {\n border-style: none;\n padding: 0;\n}\n\n/**\n * Restore the focus styles unset by the previous rule.\n */\n\nbutton:-moz-focusring,\n[type=\"button\"]:-moz-focusring,\n[type=\"reset\"]:-moz-focusring,\n[type=\"submit\"]:-moz-focusring {\n outline: 1px dotted ButtonText;\n}\n\n/**\n * Correct the padding in Firefox.\n */\n\nfieldset {\n padding: 0.35em 0.75em 0.625em;\n}\n\n/**\n * 1. Correct the text wrapping in Edge and IE.\n * 2. Correct the color inheritance from `fieldset` elements in IE.\n * 3. Remove the padding so developers are not caught out when they zero out\n * `fieldset` elements in all browsers.\n */\n\nlegend {\n box-sizing: border-box; /* 1 */\n color: inherit; /* 2 */\n display: table; /* 1 */\n max-width: 100%; /* 1 */\n padding: 0; /* 3 */\n white-space: normal; /* 1 */\n}\n\n/**\n * Add the correct vertical alignment in Chrome, Firefox, and Opera.\n */\n\nprogress {\n vertical-align: baseline;\n}\n\n/**\n * Remove the default vertical scrollbar in IE 10+.\n */\n\ntextarea {\n overflow: auto;\n}\n\n/**\n * 1. Add the correct box sizing in IE 10.\n * 2. Remove the padding in IE 10.\n */\n\n[type=\"checkbox\"],\n[type=\"radio\"] {\n box-sizing: border-box; /* 1 */\n padding: 0; /* 2 */\n}\n\n/**\n * Correct the cursor style of increment and decrement buttons in Chrome.\n */\n\n[type=\"number\"]::-webkit-inner-spin-button,\n[type=\"number\"]::-webkit-outer-spin-button {\n height: auto;\n}\n\n/**\n * 1. Correct the odd appearance in Chrome and Safari.\n * 2. Correct the outline style in Safari.\n */\n\n[type=\"search\"] {\n -webkit-appearance: textfield; /* 1 */\n outline-offset: -2px; /* 2 */\n}\n\n/**\n * Remove the inner padding in Chrome and Safari on macOS.\n */\n\n[type=\"search\"]::-webkit-search-decoration {\n -webkit-appearance: none;\n}\n\n/**\n * 1. Correct the inability to style clickable types in iOS and Safari.\n * 2. Change font properties to `inherit` in Safari.\n */\n\n::-webkit-file-upload-button {\n -webkit-appearance: button; /* 1 */\n font: inherit; /* 2 */\n}\n\n/* Interactive\n ========================================================================== */\n\n/*\n * Add the correct display in Edge, IE 10+, and Firefox.\n */\n\ndetails {\n display: block;\n}\n\n/*\n * Add the correct display in all browsers.\n */\n\nsummary {\n display: list-item;\n}\n\n/* Misc\n ========================================================================== */\n\n/**\n * Add the correct display in IE 10+.\n */\n\ntemplate {\n display: none;\n}\n\n/**\n * Add the correct display in IE 10.\n */\n\n[hidden] {\n display: none;\n}\n\nhtml,\nbody,\ndiv,\nspan,\napplet,\nobject,\niframe,\nh1,\nh2,\nh3,\nh4,\nh5,\nh6,\np,\nblockquote,\npre,\na,\nabbr,\nacronym,\naddress,\nbig,\ncite,\ncode,\ndel,\ndfn,\nem,\nimg,\nins,\nkbd,\nq,\ns,\nsamp,\nsmall,\nstrike,\nstrong,\nsub,\nsup,\ntt,\nvar,\nb,\nu,\ni,\ncenter,\ndl,\ndt,\ndd,\nol,\nul,\nli,\nfieldset,\nform,\nlabel,\nlegend,\ntable,\ncaption,\ntbody,\ntfoot,\nthead,\ntr,\nth,\ntd,\narticle,\naside,\ncanvas,\ndetails,\nembed,\nfigure,\nfigcaption,\nfooter,\nheader,\nhgroup,\nmenu,\nnav,\noutput,\nruby,\nsection,\nsummary,\ntime,\nmark,\naudio,\nvideo {\n margin: 0;\n padding: 0;\n border: 0;\n font-size: 100%;\n font-style: inherit;\n vertical-align: baseline;\n}\n\n\n:host {\n display: block;\n}\n\nic-input-label.error {\n color: var(--ic-status-error);\n}\n\nic-input-label ic-typography {\n margin-bottom: var(--ic-space-sm);\n}\n\n:host(.small) ic-input-label ic-typography {\n margin-bottom: calc(var(--ic-space-sm) / 2);\n}\n\nic-input-validation {\n margin-top: var(--ic-space-sm);\n}\n\n:host(.small) ic-input-validation {\n margin-top: calc(var(--ic-space-sm) / 2);\n}\n\n.checkboxes-container {\n margin-bottom: calc(-1 * var(--ic-space-xxs));\n}\n\n:host(.small) .checkboxes-container {\n margin-bottom: calc(-1 * var(--ic-space-xxxs));\n}\n\n.screen-reader-only-text {\n position: absolute;\n left: -9999px;\n background-color: #fff;\n color: #000;\n text-transform: none;\n}\n","import { Host, h, } from \"@stencil/core\";\nimport { getInputDescribedByText, hasValidationStatus, onComponentRequiredPropUndefined, removeDisabledFalse, } from \"../../utils/helpers\";\n// eslint-disable-next-line @typescript-eslint/no-unused-vars\nexport class CheckboxGroup {\n constructor() {\n this.disabled = false;\n this.helperText = \"\";\n this.hideLabel = false;\n this.label = undefined;\n this.name = undefined;\n this.required = false;\n this.size = \"default\";\n this.small = false;\n this.validationStatus = \"\";\n this.validationText = \"\";\n }\n handleChange(ev) {\n //don't pass on the event if it has come from slotted text field\n //otherwise any icChange handler bound to the checkbox group will also run\n if (ev.target.tagName === \"IC-TEXT-FIELD\") {\n ev.stopImmediatePropagation();\n }\n }\n componentWillLoad() {\n removeDisabledFalse(this.disabled, this.el);\n }\n componentDidLoad() {\n Array.from(this.el.querySelectorAll(\"ic-checkbox\")).forEach((checkbox) => {\n if (!checkbox.name)\n checkbox.name = this.name;\n checkbox.groupLabel = this.label;\n });\n onComponentRequiredPropUndefined([\n { prop: this.label, propName: \"label\" },\n { prop: this.name, propName: \"name\" },\n ], \"Checkbox Group\");\n }\n selectHandler(ev) {\n const checkedOptions = Array.from(this.el.querySelectorAll(\"ic-checkbox\")).filter((checkbox) => checkbox.checked && !checkbox.disabled);\n this.icChange.emit({\n value: checkedOptions.map((opt) => opt.value),\n checkedOptions: checkedOptions.map((opt) => {\n var _a;\n return ({\n checkbox: opt,\n textFieldValue: (_a = opt.querySelector(\"ic-text-field\")) === null || _a === void 0 ? void 0 : _a.value,\n });\n }),\n selectedOption: ev.target,\n });\n }\n render() {\n const describedBy = getInputDescribedByText(this.name, this.helperText !== \"\", this.validationStatus !== \"\");\n const hadValidationStatus = hasValidationStatus(this.validationStatus, this.disabled);\n return (h(Host, { class: { [\"small\"]: this.small, [`${this.size}`]: true } }, (this.validationStatus === \"error\" ||\n this.required ||\n this.hideLabel) && (h(\"span\", { id: \"screenReaderOnlyText\", class: \"screen-reader-only-text\", \"aria-hidden\": \"true\" }, this.label, \" \", this.validationStatus === \"error\" ? \"invalid data \" : null, \" \", this.required ? \"required\" : null)), h(\"fieldset\", { id: this.name, \"aria-labelledby\": `${this.validationStatus === \"error\" || this.required || this.hideLabel\n ? \"screenReaderOnlyText\"\n : \"\"} ${describedBy}`.trim(), disabled: this.disabled }, !this.hideLabel && (h(\"legend\", null, h(\"ic-input-label\", { class: { [`${this.validationStatus}`]: true }, label: this.label, helperText: this.helperText, required: this.required, disabled: this.disabled, for: this.name }))), h(\"div\", { class: \"checkboxes-container\" }, h(\"slot\", null))), hadValidationStatus && (h(\"ic-input-validation\", { for: this.name, ariaLiveMode: \"polite\", status: this.validationStatus, message: this.validationText }))));\n }\n static get is() { return \"ic-checkbox-group\"; }\n static get encapsulation() { return \"shadow\"; }\n static get originalStyleUrls() {\n return {\n \"$\": [\"ic-checkbox-group.css\"]\n };\n }\n static get styleUrls() {\n return {\n \"$\": [\"ic-checkbox-group.css\"]\n };\n }\n static get properties() {\n return {\n \"disabled\": {\n \"type\": \"boolean\",\n \"mutable\": false,\n \"complexType\": {\n \"original\": \"boolean\",\n \"resolved\": \"boolean\",\n \"references\": {}\n },\n \"required\": false,\n \"optional\": false,\n \"docs\": {\n \"tags\": [],\n \"text\": \"If `true`, the checkbox group will be set to the disabled state.\"\n },\n \"attribute\": \"disabled\",\n \"reflect\": false,\n \"defaultValue\": \"false\"\n },\n \"helperText\": {\n \"type\": \"string\",\n \"mutable\": false,\n \"complexType\": {\n \"original\": \"string\",\n \"resolved\": \"string\",\n \"references\": {}\n },\n \"required\": false,\n \"optional\": false,\n \"docs\": {\n \"tags\": [],\n \"text\": \"The helper text that will be displayed for additional field guidance.\"\n },\n \"attribute\": \"helper-text\",\n \"reflect\": false,\n \"defaultValue\": \"\\\"\\\"\"\n },\n \"hideLabel\": {\n \"type\": \"boolean\",\n \"mutable\": false,\n \"complexType\": {\n \"original\": \"boolean\",\n \"resolved\": \"boolean\",\n \"references\": {}\n },\n \"required\": false,\n \"optional\": false,\n \"docs\": {\n \"tags\": [],\n \"text\": \"If `true`, the label will be hidden and the required label value will be applied as an aria-label.\"\n },\n \"attribute\": \"hide-label\",\n \"reflect\": false,\n \"defaultValue\": \"false\"\n },\n \"label\": {\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 label for the checkbox group to be displayed.\"\n },\n \"attribute\": \"label\",\n \"reflect\": false\n },\n \"name\": {\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 name for the checkbox group to differentiate from other groups.\"\n },\n \"attribute\": \"name\",\n \"reflect\": false\n },\n \"required\": {\n \"type\": \"boolean\",\n \"mutable\": false,\n \"complexType\": {\n \"original\": \"boolean\",\n \"resolved\": \"boolean\",\n \"references\": {}\n },\n \"required\": false,\n \"optional\": false,\n \"docs\": {\n \"tags\": [],\n \"text\": \"If `true`, the checkbox group will require a value.\"\n },\n \"attribute\": \"required\",\n \"reflect\": false,\n \"defaultValue\": \"false\"\n },\n \"size\": {\n \"type\": \"string\",\n \"mutable\": false,\n \"complexType\": {\n \"original\": \"IcSizes\",\n \"resolved\": \"\\\"default\\\" | \\\"large\\\" | \\\"small\\\"\",\n \"references\": {\n \"IcSizes\": {\n \"location\": \"import\",\n \"path\": \"../../utils/types\",\n \"id\": \"src/utils/types.ts::IcSizes\"\n }\n }\n },\n \"required\": false,\n \"optional\": true,\n \"docs\": {\n \"tags\": [],\n \"text\": \"The size of the checkboxes to be displayed. This does not affect the font size of the label.\"\n },\n \"attribute\": \"size\",\n \"reflect\": false,\n \"defaultValue\": \"\\\"default\\\"\"\n },\n \"small\": {\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\": \"deprecated\",\n \"text\": \"This prop should not be used anymore. Set prop `size` to \\\"small\\\" instead.\"\n }],\n \"text\": \"\"\n },\n \"attribute\": \"small\",\n \"reflect\": false,\n \"defaultValue\": \"false\"\n },\n \"validationStatus\": {\n \"type\": \"string\",\n \"mutable\": false,\n \"complexType\": {\n \"original\": \"IcInformationStatusOrEmpty\",\n \"resolved\": \"\\\"\\\" | \\\"error\\\" | \\\"success\\\" | \\\"warning\\\"\",\n \"references\": {\n \"IcInformationStatusOrEmpty\": {\n \"location\": \"import\",\n \"path\": \"../../utils/types\",\n \"id\": \"src/utils/types.ts::IcInformationStatusOrEmpty\"\n }\n }\n },\n \"required\": false,\n \"optional\": false,\n \"docs\": {\n \"tags\": [],\n \"text\": \"The validation status - e.g. 'error' | 'warning' | 'success'.\"\n },\n \"attribute\": \"validation-status\",\n \"reflect\": false,\n \"defaultValue\": \"\\\"\\\"\"\n },\n \"validationText\": {\n \"type\": \"string\",\n \"mutable\": false,\n \"complexType\": {\n \"original\": \"string\",\n \"resolved\": \"string\",\n \"references\": {}\n },\n \"required\": false,\n \"optional\": false,\n \"docs\": {\n \"tags\": [],\n \"text\": \"The validation text - e.g. 'error' | 'warning' | 'success'.\"\n },\n \"attribute\": \"validation-text\",\n \"reflect\": false,\n \"defaultValue\": \"\\\"\\\"\"\n }\n };\n }\n static get events() {\n return [{\n \"method\": \"icChange\",\n \"name\": \"icChange\",\n \"bubbles\": true,\n \"cancelable\": true,\n \"composed\": true,\n \"docs\": {\n \"tags\": [],\n \"text\": \"Emitted when a checkbox is checked.\"\n },\n \"complexType\": {\n \"original\": \"IcChangeEventDetail\",\n \"resolved\": \"IcChangeEventDetail\",\n \"references\": {\n \"IcChangeEventDetail\": {\n \"location\": \"import\",\n \"path\": \"./ic-checkbox-group.types\",\n \"id\": \"src/components/ic-checkbox-group/ic-checkbox-group.types.ts::IcChangeEventDetail\"\n }\n }\n }\n }];\n }\n static get elementRef() { return \"el\"; }\n static get listeners() {\n return [{\n \"name\": \"icChange\",\n \"method\": \"handleChange\",\n \"target\": undefined,\n \"capture\": false,\n \"passive\": false\n }, {\n \"name\": \"icCheck\",\n \"method\": \"selectHandler\",\n \"target\": undefined,\n \"capture\": false,\n \"passive\": false\n }];\n }\n}\n//# sourceMappingURL=ic-checkbox-group.js.map\n"],"mappings":"iJAAA,MAAMA,EAAqB,47F,MCGdC,EAAa,MACtB,WAAAC,CAAAC,G,6CACIC,KAAKC,SAAW,MAChBD,KAAKE,WAAa,GAClBF,KAAKG,UAAY,MACjBH,KAAKI,MAAQC,UACbL,KAAKM,KAAOD,UACZL,KAAKO,SAAW,MAChBP,KAAKQ,KAAO,UACZR,KAAKS,MAAQ,MACbT,KAAKU,iBAAmB,GACxBV,KAAKW,eAAiB,E,CAE1B,YAAAC,CAAaC,GAGT,GAAIA,EAAGC,OAAOC,UAAY,gBAAiB,CACvCF,EAAGG,0B,EAGX,iBAAAC,GACIC,EAAoBlB,KAAKC,SAAUD,KAAKmB,G,CAE5C,gBAAAC,GACIC,MAAMC,KAAKtB,KAAKmB,GAAGI,iBAAiB,gBAAgBC,SAASC,IACzD,IAAKA,EAASnB,KACVmB,EAASnB,KAAON,KAAKM,KACzBmB,EAASC,WAAa1B,KAAKI,KAAK,IAEpCuB,EAAiC,CAC7B,CAAEC,KAAM5B,KAAKI,MAAOyB,SAAU,SAC9B,CAAED,KAAM5B,KAAKM,KAAMuB,SAAU,SAC9B,iB,CAEP,aAAAC,CAAcjB,GACV,MAAMkB,EAAiBV,MAAMC,KAAKtB,KAAKmB,GAAGI,iBAAiB,gBAAgBS,QAAQP,GAAaA,EAASQ,UAAYR,EAASxB,WAC9HD,KAAKkC,SAASC,KAAK,CACfC,MAAOL,EAAeM,KAAKC,GAAQA,EAAIF,QACvCL,eAAgBA,EAAeM,KAAKC,IAChC,IAAIC,EACJ,OACId,SAAUa,EACVE,gBAAiBD,EAAKD,EAAIG,cAAc,oBAAsB,MAAQF,SAAY,OAAS,EAAIA,EAAGH,MACrG,IAELM,eAAgB7B,EAAGC,Q,CAG3B,MAAA6B,GACI,MAAMC,EAAcC,EAAwB7C,KAAKM,KAAMN,KAAKE,aAAe,GAAIF,KAAKU,mBAAqB,IACzG,MAAMoC,EAAsBC,EAAoB/C,KAAKU,iBAAkBV,KAAKC,UAC5E,OAAQ+C,EAAEC,EAAM,CAAEC,MAAO,CAAE,CAAC,SAAUlD,KAAKS,MAAO,CAAC,GAAGT,KAAKQ,QAAS,QAAWR,KAAKU,mBAAqB,SACrGV,KAAKO,UACLP,KAAKG,YAAe6C,EAAE,OAAQ,CAAEG,GAAI,uBAAwBD,MAAO,0BAA2B,cAAe,QAAUlD,KAAKI,MAAO,IAAKJ,KAAKU,mBAAqB,QAAU,gBAAkB,KAAM,IAAKV,KAAKO,SAAW,WAAa,MAAQyC,EAAE,WAAY,CAAEG,GAAInD,KAAKM,KAAM,kBAAmB,GAAGN,KAAKU,mBAAqB,SAAWV,KAAKO,UAAYP,KAAKG,UACxV,uBACA,MAAMyC,IAAcQ,OAAQnD,SAAUD,KAAKC,WAAaD,KAAKG,WAAc6C,EAAE,SAAU,KAAMA,EAAE,iBAAkB,CAAEE,MAAO,CAAE,CAAC,GAAGlD,KAAKU,oBAAqB,MAAQN,MAAOJ,KAAKI,MAAOF,WAAYF,KAAKE,WAAYK,SAAUP,KAAKO,SAAUN,SAAUD,KAAKC,SAAUoD,IAAKrD,KAAKM,QAAW0C,EAAE,MAAO,CAAEE,MAAO,wBAA0BF,EAAE,OAAQ,QAASF,GAAwBE,EAAE,sBAAuB,CAAEK,IAAKrD,KAAKM,KAAMgD,aAAc,SAAUC,OAAQvD,KAAKU,iBAAkB8C,QAASxD,KAAKW,iB"}
@@ -1,2 +0,0 @@
1
- import{r as t,h as e,H as s,g as i}from"./p-8455d1bb.js";import{C as a}from"./p-0aa9ce8b.js";import{d as c}from"./p-d35c7c18.js";import"./p-fd186591.js";const r=`<svg width="16" height="16" viewBox="0 0 16 16" fill="none" xmlns="http://www.w3.org/2000/svg">\n<path d="M7.99935 4.32666L13.0193 13H2.97935L7.99935 4.32666ZM7.99935 1.66666L0.666016 14.3333H15.3327L7.99935 1.66666ZM8.66602 11H7.33268V12.3333H8.66602V11ZM8.66602 6.99999H7.33268V9.66666H8.66602V6.99999Z" fill="currentColor"/>\n</svg>`;const o=":host{display:flex;flex:auto}.step{display:flex;flex:1 1 0}.step-icon{display:flex;justify-content:center}.step-title,.step-subtitle,.step-status,.next-step{white-space:pre-line}.visually-hidden{position:absolute;left:-625rem;top:auto;width:1px;height:1px;overflow:hidden}:host(.compact){-moz-column-gap:var(--ic-space-sm);column-gap:var(--ic-space-sm);--compact-step-inner-color:var(--ic-status-info);--compact-step-circular-line-width:var(--ic-space-xxs)}:host(.compact) .step{-moz-column-gap:var(--ic-space-sm);column-gap:var(--ic-space-sm)}:host(.compact) .step:not(.current){display:none;opacity:0;visibility:hidden}.compact-step-progress-indicator{margin:var(--ic-space-xs) 0 0}:host ic-loading-indicator::part(ic-loading-container){border-radius:50%;background-color:var(--ic-architectural-white)}:host(.compact) .step-title-area{display:flex;flex-direction:column;width:14.25rem}.info-line{display:flex;-moz-column-gap:var(--ic-space-xs);column-gap:var(--ic-space-xs)}.step-status{display:flex;color:var(--ic-color-secondary-text);-moz-column-gap:var(--ic-space-xxxs);column-gap:var(--ic-space-xxxs)}.compact-step-completed .step-status{color:var(--ic-status-success)}.compact-step-disabled :is(.step-title,.step-status){color:var(--ic-color-tertiary-text)}.step-num{color:var(--ic-color-secondary-text);white-space:nowrap}:host(.compact) .step-icon{margin:var(--ic-space-xxxs)}:host(.compact) .step-icon svg{width:var(--ic-space-md);height:var(--ic-space-md)}:host(.default) .step{flex-direction:column}:host(.default.last-step){flex-grow:initial}.step-top{display:flex;width:100%;align-items:center;align-self:flex-start;height:2.5rem}:host(.default) .step-icon{border-radius:50%;background-color:var(--ic-architectural-white)}.step-icon-inner{width:var(--ic-space-xl);height:var(--ic-space-xl);display:flex;justify-content:center;align-items:center;border-radius:50%}:host(.default) .current{color:var(--ic-status-info)}:host(.default) .step-title-area{margin:var(--ic-space-xs) 0;padding-right:var(--ic-space-xs);width:100%}:host(.default) .step-title,.step-subtitle{width:-moz-fit-content;width:fit-content}.step-subtitle{color:var(--ic-color-tertiary-text)}.current .step-subtitle{color:var(--ic-color-primary-text)}:host(.default) .completed{color:var(--ic-status-success)}.active .step-icon-inner{box-shadow:inset var(--ic-architectural-200) 0 0 0 0.125rem}.current .step-icon-inner{background-color:var(--ic-status-info);color:white}.disabled{color:var(--ic-architectural-200)}.disabled .step-icon-inner{border:var(--ic-border-width) dashed var(--ic-architectural-200);width:calc(var(--ic-space-xl) - var(--ic-space-xxxs));height:calc(var(--ic-space-xl) - var(--ic-space-xxxs))}.disabled .step-title-area{color:var(--ic-color-tertiary-text)}.completed .step-icon-inner{background:var(--ic-status-success);box-shadow:inset var(--ic-status-success) 0 0 0 var(--ic-space-xxxs);border-radius:100%}:host(.default) .current .step-icon{border:var(--ic-space-xxxs) solid var(--ic-status-info);padding:var(--ic-space-xxxs);margin:0 calc(-1 * var(--ic-space-xxxs));}.step-connect{height:var(--ic-space-xxxs);background-color:var(--ic-architectural-200);margin:0 var(--ic-space-xs);border-radius:var(--ic-space-xxs);width:100%}.aligned-full-width.step-connect{min-width:6.25rem;width:100%}.disabled .step-connect{height:0;background-color:rgb(0 0 0 / 0%);border-top:0.125rem dashed var(--ic-architectural-200);border-radius:0}.completed .step-connect{background-color:var(--ic-status-success)}.step-connect-inner{width:70%;display:flex;flex:auto;height:var(--ic-space-xxxs);border-radius:var(--ic-space-xxs);background-color:var(--ic-status-info)}.step-icon-inner .check-icon{padding-top:var(--ic-space-xxs)}.step-icon-inner .check-icon svg{width:var(--ic-space-md);height:auto}.step-icon-inner .check-icon>svg>path{fill:var(--ic-color-white-text)}@media (forced-colors: active){.compact-step-disabled :is(.step-title,.step-status){color:GrayText}.step-connect:not(.disabled .step-connect){border:var(--ic-hc-border)}.active .step-icon-inner,.completed .step-icon-inner,.current .step-icon-inner{forced-color-adjust:none;box-shadow:inset canvastext 0 0 0 0.125rem;background-color:transparent;color:canvastext}:host(.default) .current .step-icon{padding:0;border:none}.disabled,.disabled .step-title-area{color:GrayText}.step-connect-inner,.completed .step-connect{background-color:canvastext}.step-icon-inner .check-icon>svg>path{fill:canvastext}}";const n=class{constructor(e){t(this,e);this.compactStepStyling=undefined;this.current=false;this.lastStep=undefined;this.lastStepNum=undefined;this.nextStepTitle=undefined;this.progress=undefined;this.stepNum=undefined;this.stepStatus=undefined;this.stepSubtitle=undefined;this.stepTitle=undefined;this.variant=undefined;this.stepType="active"}stepTypeChangeHandler(){if(this.variant==="compact"&&this.stepType==="current"){this.current=true}else{this.current=false}}render(){let t="";if(this.stepType==="completed"){t=". Completed step"}else if(this.stepType==="disabled"){t=". Non-required step"}else if(this.stepStatus==="required"){t=". Required step"}else if(this.stepStatus==="optional"){t=". Optional step"}let i;if(c(this.stepStatus)){i=this.stepStatus[0].toUpperCase()+this.stepStatus.slice(1)}let o;if(this.stepType==="disabled"||this.compactStepStyling==="disabled"){o="Not required"}else if(this.compactStepStyling==="completed"){o="Completed"}let n;if(this.stepType==="completed"||this.compactStepStyling==="completed"){n=e("span",{class:"check-icon step-icon","aria-hidden":"true",innerHTML:a})}else if(this.stepType==="disabled"||this.compactStepStyling==="disabled"){n=e("span",{class:"warning-icon step-icon","aria-hidden":"true",innerHTML:r})}const l=e("div",{class:{["step"]:true,["current"]:this.current,[`compact-step-${this.compactStepStyling}`]:!!this.compactStepStyling}},e("ic-loading-indicator",{class:{"compact-step-progress-indicator":true,"not-required":this.stepType==="disabled"||this.compactStepStyling==="disabled"},"aria-hidden":"true",size:"small","inner-label":this.stepNum,progress:this.progress}),e("div",{class:"step-title-area"},e("ic-typography",{variant:"h4",class:"step-title"},this.stepTitle),e("div",{class:"info-line"},e("ic-typography",{variant:"caption",class:"step-num"},`${this.stepNum} of ${this.lastStepNum}`,e("span",{class:"visually-hidden"}," steps")),(this.stepSubtitle||this.stepType==="completed"||this.stepType==="disabled"||this.variant==="compact"&&!!this.compactStepStyling&&this.compactStepStyling!=="active"||!!this.stepStatus)&&e("div",{class:"step-status"},n!==undefined&&n,(this.stepSubtitle||o)&&e("ic-typography",{variant:"caption"},this.stepSubtitle!==null&&c(this.stepSubtitle)?this.stepSubtitle:this.stepType==="disabled"||this.variant==="compact"&&this.compactStepStyling==="disabled"||this.stepType==="completed"||this.variant==="compact"&&this.compactStepStyling==="completed"?o:this.stepStatus&&i))),this.lastStep?e("ic-typography",{variant:"subtitle-small",class:"next-step"},"Last step"):c(this.nextStepTitle)&&e("ic-typography",{variant:"subtitle-small",class:"next-step"},"Next",e("span",{class:"visually-hidden"}," step is"),":"," ",this.nextStepTitle)));let p;if(this.stepType!=="completed"){p=e("ic-typography",{variant:"subtitle-small"},e("span",{class:"step-icon-inner","aria-hidden":"true"},this.stepNum))}else{p=e("div",{class:"step-icon-inner","aria-hidden":"true"},e("span",{class:"check-icon",innerHTML:a}))}const d=this.stepType==="current"&&e("div",{class:"step-connect-inner"});const h=!this.lastStep&&e("div",{class:{["step-connect"]:true,["aligned-full-width"]:this.el.parentElement.classList.contains("default")&&!this.el.parentElement.classList.contains("aligned-left")}},d);const u=e("div",{class:{["step"]:true,[`${this.stepType}`]:true}},e("div",{class:"step-top"},e("div",{class:"step-icon"},p),h),(this.stepTitle||this.stepSubtitle||this.stepStatus)&&e("div",{class:"step-title-area"},this.stepTitle&&e("ic-typography",{variant:"subtitle-large",class:"step-title"},this.stepTitle),this.stepTitle&&(this.stepSubtitle||this.stepStatus)&&e("ic-typography",{variant:"caption",class:"step-subtitle"},this.stepSubtitle!==null&&c(this.stepSubtitle)?this.stepSubtitle:i)));return e(s,{role:"listitem","aria-label":`Step ${this.stepNum}${t}`,"aria-current":(this.current||this.stepType==="current")&&"step",class:{["aligned-full-width"]:this.el.parentElement.classList.contains("default")&&!this.el.parentElement.classList.contains("aligned-left"),[`${this.variant}`]:true}},this.variant==="compact"?l:u)}get el(){return i(this)}static get watchers(){return{stepType:["stepTypeChangeHandler"]}}};n.style=o;export{n as ic_step};
2
- //# sourceMappingURL=p-d5c99ec3.entry.js.map
@@ -1 +0,0 @@
1
- {"version":3,"names":["icStepCss","Step","constructor","hostRef","this","compactStepStyling","undefined","current","lastStep","lastStepNum","nextStepTitle","progress","stepNum","stepStatus","stepSubtitle","stepTitle","variant","stepType","stepTypeChangeHandler","render","ariaLabel","isPropDefined","toUpperCase","slice","statusIcon","h","class","innerHTML","checkIcon","warningIcon","compactStep","size","icon","partialBar","finalStep","el","parentElement","classList","contains","defaultStep","Host","role"],"sources":["../web-components/dist/collection/components/ic-step/ic-step.css?tag=ic-step&encapsulation=shadow","../web-components/dist/collection/components/ic-step/ic-step.js"],"sourcesContent":["/* SHARED STYLING */\n:host {\n display: flex;\n flex: auto;\n}\n\n.step {\n display: flex;\n flex: 1 1 0;\n}\n\n.step-icon {\n display: flex;\n justify-content: center;\n}\n\n.step-title,\n.step-subtitle,\n.step-status,\n.next-step {\n white-space: pre-line;\n}\n\n.visually-hidden {\n position: absolute;\n left: -625rem;\n top: auto;\n width: 1px;\n height: 1px;\n overflow: hidden;\n}\n\n/* COMPACT STEP STYLING */\n:host(.compact) {\n -moz-column-gap: var(--ic-space-sm);\n column-gap: var(--ic-space-sm);\n\n --compact-step-inner-color: var(--ic-status-info);\n --compact-step-circular-line-width: var(--ic-space-xxs);\n}\n\n:host(.compact) .step {\n -moz-column-gap: var(--ic-space-sm);\n column-gap: var(--ic-space-sm);\n}\n\n:host(.compact) .step:not(.current) {\n display: none;\n opacity: 0;\n visibility: hidden;\n}\n\n.compact-step-progress-indicator {\n margin: var(--ic-space-xs) 0 0;\n}\n\n:host ic-loading-indicator::part(ic-loading-container) {\n border-radius: 50%;\n background-color: var(--ic-architectural-white);\n}\n\n:host(.compact) .step-title-area {\n display: flex;\n flex-direction: column;\n width: 14.25rem;\n}\n\n.info-line {\n display: flex;\n -moz-column-gap: var(--ic-space-xs);\n column-gap: var(--ic-space-xs);\n}\n\n.step-status {\n display: flex;\n color: var(--ic-color-secondary-text);\n -moz-column-gap: var(--ic-space-xxxs);\n column-gap: var(--ic-space-xxxs);\n}\n\n.compact-step-completed .step-status {\n color: var(--ic-status-success);\n}\n\n.compact-step-disabled :is(.step-title, .step-status) {\n color: var(--ic-color-tertiary-text);\n}\n\n.step-num {\n color: var(--ic-color-secondary-text);\n white-space: nowrap;\n}\n\n:host(.compact) .step-icon {\n margin: var(--ic-space-xxxs);\n}\n\n:host(.compact) .step-icon svg {\n width: var(--ic-space-md);\n height: var(--ic-space-md);\n}\n\n/* DEFAULT STEP STYLING */\n:host(.default) .step {\n flex-direction: column;\n}\n\n:host(.default.last-step) {\n flex-grow: initial;\n}\n\n.step-top {\n display: flex;\n width: 100%;\n align-items: center;\n align-self: flex-start;\n height: 2.5rem;\n}\n\n:host(.default) .step-icon {\n border-radius: 50%;\n background-color: var(--ic-architectural-white);\n}\n\n.step-icon-inner {\n width: var(--ic-space-xl);\n height: var(--ic-space-xl);\n display: flex;\n justify-content: center;\n align-items: center;\n border-radius: 50%;\n}\n\n:host(.default) .current {\n color: var(--ic-status-info);\n}\n\n:host(.default) .step-title-area {\n margin: var(--ic-space-xs) 0;\n padding-right: var(--ic-space-xs);\n width: 100%;\n}\n\n:host(.default) .step-title,\n.step-subtitle {\n width: -moz-fit-content;\n width: fit-content;\n}\n\n.step-subtitle {\n color: var(--ic-color-tertiary-text);\n}\n\n.current .step-subtitle {\n color: var(--ic-color-primary-text);\n}\n\n:host(.default) .completed {\n color: var(--ic-status-success);\n}\n\n.active .step-icon-inner {\n box-shadow: inset var(--ic-architectural-200) 0 0 0 0.125rem;\n}\n\n.current .step-icon-inner {\n background-color: var(--ic-status-info);\n color: white;\n}\n\n.disabled {\n color: var(--ic-architectural-200);\n}\n\n.disabled .step-icon-inner {\n border: var(--ic-border-width) dashed var(--ic-architectural-200);\n width: calc(var(--ic-space-xl) - var(--ic-space-xxxs));\n height: calc(var(--ic-space-xl) - var(--ic-space-xxxs));\n}\n\n.disabled .step-title-area {\n color: var(--ic-color-tertiary-text);\n}\n\n.completed .step-icon-inner {\n background: var(--ic-status-success);\n box-shadow: inset var(--ic-status-success) 0 0 0 var(--ic-space-xxxs);\n border-radius: 100%;\n}\n\n:host(.default) .current .step-icon {\n border: var(--ic-space-xxxs) solid var(--ic-status-info);\n padding: var(--ic-space-xxxs);\n margin: 0 calc(-1 * var(--ic-space-xxxs));\n\n /* compensating for the circle being bigger than other steps */\n}\n\n.step-connect {\n height: var(--ic-space-xxxs);\n background-color: var(--ic-architectural-200);\n margin: 0 var(--ic-space-xs);\n border-radius: var(--ic-space-xxs);\n width: 100%;\n}\n\n.aligned-full-width.step-connect {\n min-width: 6.25rem;\n width: 100%;\n}\n\n.disabled .step-connect {\n height: 0;\n background-color: rgb(0 0 0 / 0%);\n border-top: 0.125rem dashed var(--ic-architectural-200);\n border-radius: 0;\n}\n\n.completed .step-connect {\n background-color: var(--ic-status-success);\n}\n\n.step-connect-inner {\n width: 70%;\n display: flex;\n flex: auto;\n height: var(--ic-space-xxxs);\n border-radius: var(--ic-space-xxs);\n background-color: var(--ic-status-info);\n}\n\n.step-icon-inner .check-icon {\n padding-top: var(--ic-space-xxs);\n}\n\n.step-icon-inner .check-icon svg {\n width: var(--ic-space-md);\n height: auto;\n}\n\n.step-icon-inner .check-icon > svg > path {\n fill: var(--ic-color-white-text);\n}\n\n/** High Contrast **/\n@media (forced-colors: active) {\n /* COMPACT STEP */\n .compact-step-disabled :is(.step-title, .step-status) {\n color: GrayText;\n }\n\n /* DEFAULT STEP */\n .step-connect:not(.disabled .step-connect) {\n border: var(--ic-hc-border);\n }\n\n .active .step-icon-inner,\n .completed .step-icon-inner,\n .current .step-icon-inner {\n forced-color-adjust: none;\n box-shadow: inset canvastext 0 0 0 0.125rem;\n background-color: transparent;\n color: canvastext;\n }\n\n :host(.default) .current .step-icon {\n padding: 0;\n border: none;\n }\n\n .disabled,\n .disabled .step-title-area {\n color: GrayText;\n }\n\n .step-connect-inner,\n .completed .step-connect {\n background-color: canvastext;\n }\n\n .step-icon-inner .check-icon > svg > path {\n fill: canvastext;\n }\n}\n","import { Host, h } from \"@stencil/core\";\nimport checkIcon from \"../../assets/check-icon.svg\";\nimport warningIcon from \"../../assets/warning-icon-outline.svg\";\nimport { isPropDefined } from \"../../utils/helpers\";\nexport class Step {\n constructor() {\n this.compactStepStyling = undefined;\n this.current = false;\n this.lastStep = undefined;\n this.lastStepNum = undefined;\n this.nextStepTitle = undefined;\n this.progress = undefined;\n this.stepNum = undefined;\n this.stepStatus = undefined;\n this.stepSubtitle = undefined;\n this.stepTitle = undefined;\n this.variant = undefined;\n this.stepType = \"active\";\n }\n stepTypeChangeHandler() {\n if (this.variant === \"compact\" && this.stepType === \"current\") {\n this.current = true;\n }\n else {\n this.current = false;\n }\n }\n render() {\n // ARIA LABEL\n let ariaLabel = \"\";\n if (this.stepType === \"completed\") {\n ariaLabel = \". Completed step\";\n }\n else if (this.stepType === \"disabled\") {\n ariaLabel = \". Non-required step\";\n }\n else if (this.stepStatus === \"required\") {\n ariaLabel = \". Required step\";\n }\n else if (this.stepStatus === \"optional\") {\n ariaLabel = \". Optional step\";\n }\n // STEP STATUS\n let stepStatus;\n if (isPropDefined(this.stepStatus)) {\n stepStatus = this.stepStatus[0].toUpperCase() + this.stepStatus.slice(1);\n }\n // STEP TYPE\n let stepType;\n if (this.stepType === \"disabled\" ||\n this.compactStepStyling === \"disabled\") {\n stepType = \"Not required\";\n }\n else if (this.compactStepStyling === \"completed\") {\n stepType = \"Completed\";\n }\n // STATUS ICON FOR COMPACT STEP\n let statusIcon;\n if (this.stepType === \"completed\" ||\n this.compactStepStyling === \"completed\") {\n statusIcon = (h(\"span\", { class: \"check-icon step-icon\", \"aria-hidden\": \"true\", innerHTML: checkIcon }));\n }\n else if (this.stepType === \"disabled\" ||\n this.compactStepStyling === \"disabled\") {\n statusIcon = (h(\"span\", { class: \"warning-icon step-icon\", \"aria-hidden\": \"true\", innerHTML: warningIcon }));\n }\n // COMPACT STEP COMPONENT\n const compactStep = (h(\"div\", { class: {\n [\"step\"]: true,\n [\"current\"]: this.current,\n [`compact-step-${this.compactStepStyling}`]: !!this.compactStepStyling,\n } }, h(\"ic-loading-indicator\", { class: {\n \"compact-step-progress-indicator\": true,\n \"not-required\": this.stepType === \"disabled\" ||\n this.compactStepStyling === \"disabled\",\n }, \"aria-hidden\": \"true\", size: \"small\", \"inner-label\": this.stepNum, progress: this.progress }), h(\"div\", { class: \"step-title-area\" }, h(\"ic-typography\", { variant: \"h4\", class: \"step-title\" }, this.stepTitle), h(\"div\", { class: \"info-line\" }, h(\"ic-typography\", { variant: \"caption\", class: \"step-num\" }, `${this.stepNum} of ${this.lastStepNum}`, h(\"span\", { class: \"visually-hidden\" }, \" steps\")), (this.stepSubtitle ||\n this.stepType === \"completed\" ||\n this.stepType === \"disabled\" ||\n (this.variant === \"compact\" &&\n !!this.compactStepStyling &&\n this.compactStepStyling !== \"active\") ||\n !!this.stepStatus) && (h(\"div\", { class: \"step-status\" }, statusIcon !== undefined && statusIcon, (this.stepSubtitle || stepType) && (h(\"ic-typography\", { variant: \"caption\" }, this.stepSubtitle !== null &&\n isPropDefined(this.stepSubtitle)\n ? this.stepSubtitle\n : this.stepType === \"disabled\" ||\n (this.variant === \"compact\" &&\n this.compactStepStyling === \"disabled\") ||\n this.stepType === \"completed\" ||\n (this.variant === \"compact\" &&\n this.compactStepStyling === \"completed\")\n ? stepType\n : this.stepStatus && stepStatus))))), this.lastStep ? (h(\"ic-typography\", { variant: \"subtitle-small\", class: \"next-step\" }, \"Last step\")) : (isPropDefined(this.nextStepTitle) && (h(\"ic-typography\", { variant: \"subtitle-small\", class: \"next-step\" }, \"Next\", h(\"span\", { class: \"visually-hidden\" }, \" step is\"), \":\", \" \", this.nextStepTitle))))));\n // ICON FOR DEFAULT STEP\n let icon;\n if (this.stepType !== \"completed\") {\n icon = (h(\"ic-typography\", { variant: \"subtitle-small\" }, h(\"span\", { class: \"step-icon-inner\", \"aria-hidden\": \"true\" }, this.stepNum)));\n }\n else {\n icon = (h(\"div\", { class: \"step-icon-inner\", \"aria-hidden\": \"true\" }, h(\"span\", { class: \"check-icon\", innerHTML: checkIcon })));\n }\n // STEP CONNECT FOR DEFAULT STEP\n const partialBar = this.stepType === \"current\" && (h(\"div\", { class: \"step-connect-inner\" }));\n const finalStep = !this.lastStep && (h(\"div\", { class: {\n [\"step-connect\"]: true,\n [\"aligned-full-width\"]: this.el.parentElement.classList.contains(\"default\") &&\n !this.el.parentElement.classList.contains(\"aligned-left\"),\n } }, partialBar));\n // DEFAULT STEP COMPONENT\n const defaultStep = (h(\"div\", { class: {\n [\"step\"]: true,\n [`${this.stepType}`]: true,\n } }, h(\"div\", { class: \"step-top\" }, h(\"div\", { class: \"step-icon\" }, icon), finalStep), (this.stepTitle || this.stepSubtitle || this.stepStatus) && (h(\"div\", { class: \"step-title-area\" }, this.stepTitle && (h(\"ic-typography\", { variant: \"subtitle-large\", class: \"step-title\" }, this.stepTitle)), this.stepTitle && (this.stepSubtitle || this.stepStatus) && (h(\"ic-typography\", { variant: \"caption\", class: \"step-subtitle\" }, this.stepSubtitle !== null && isPropDefined(this.stepSubtitle)\n ? this.stepSubtitle\n : stepStatus))))));\n return (h(Host, { role: \"listitem\", \"aria-label\": `Step ${this.stepNum}${ariaLabel}`, \"aria-current\": (this.current || this.stepType === \"current\") && \"step\", class: {\n [\"aligned-full-width\"]: this.el.parentElement.classList.contains(\"default\") &&\n !this.el.parentElement.classList.contains(\"aligned-left\"),\n [`${this.variant}`]: true,\n } }, this.variant === \"compact\" ? compactStep : defaultStep));\n }\n static get is() { return \"ic-step\"; }\n static get encapsulation() { return \"shadow\"; }\n static get originalStyleUrls() {\n return {\n \"$\": [\"ic-step.css\"]\n };\n }\n static get styleUrls() {\n return {\n \"$\": [\"ic-step.css\"]\n };\n }\n static get properties() {\n return {\n \"compactStepStyling\": {\n \"type\": \"string\",\n \"mutable\": false,\n \"complexType\": {\n \"original\": \"IcStepTypes\",\n \"resolved\": \"\\\"active\\\" | \\\"completed\\\" | \\\"current\\\" | \\\"disabled\\\"\",\n \"references\": {\n \"IcStepTypes\": {\n \"location\": \"import\",\n \"path\": \"./ic-step.types\",\n \"id\": \"src/components/ic-step/ic-step.types.ts::IcStepTypes\"\n }\n }\n },\n \"required\": false,\n \"optional\": true,\n \"docs\": {\n \"tags\": [{\n \"name\": \"internal\",\n \"text\": \"If a compact stepper is being used, this sets the styling of the step.\"\n }],\n \"text\": \"\"\n },\n \"attribute\": \"compact-step-styling\",\n \"reflect\": false\n },\n \"current\": {\n \"type\": \"boolean\",\n \"mutable\": true,\n \"complexType\": {\n \"original\": \"boolean\",\n \"resolved\": \"boolean\",\n \"references\": {}\n },\n \"required\": false,\n \"optional\": true,\n \"docs\": {\n \"tags\": [{\n \"name\": \"internal\",\n \"text\": \"If `true`, and a compact stepper is being used, the current step will be the only step in view.\"\n }],\n \"text\": \"\"\n },\n \"attribute\": \"current\",\n \"reflect\": false,\n \"defaultValue\": \"false\"\n },\n \"lastStep\": {\n \"type\": \"boolean\",\n \"mutable\": false,\n \"complexType\": {\n \"original\": \"boolean\",\n \"resolved\": \"boolean\",\n \"references\": {}\n },\n \"required\": true,\n \"optional\": false,\n \"docs\": {\n \"tags\": [{\n \"name\": \"internal\",\n \"text\": \"If `true`, the step will be marked as being the last one in the series. This is managed by ic-stepper.\"\n }],\n \"text\": \"\"\n },\n \"attribute\": \"last-step\",\n \"reflect\": false\n },\n \"lastStepNum\": {\n \"type\": \"number\",\n \"mutable\": false,\n \"complexType\": {\n \"original\": \"number\",\n \"resolved\": \"number\",\n \"references\": {}\n },\n \"required\": false,\n \"optional\": true,\n \"docs\": {\n \"tags\": [{\n \"name\": \"internal\",\n \"text\": \"The step number of the final step. This is managed by ic-stepper.\"\n }],\n \"text\": \"\"\n },\n \"attribute\": \"last-step-num\",\n \"reflect\": false\n },\n \"nextStepTitle\": {\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 \"name\": \"internal\",\n \"text\": \"The name of the next step. This is managed by ic-stepper.\"\n }],\n \"text\": \"\"\n },\n \"attribute\": \"next-step-title\",\n \"reflect\": false\n },\n \"progress\": {\n \"type\": \"number\",\n \"mutable\": false,\n \"complexType\": {\n \"original\": \"number\",\n \"resolved\": \"number\",\n \"references\": {}\n },\n \"required\": false,\n \"optional\": true,\n \"docs\": {\n \"tags\": [{\n \"name\": \"internal\",\n \"text\": \"The progress of the next step, calculated by dividing the current step number by the total number of steps. This is managed by ic-stepper.\"\n }],\n \"text\": \"\"\n },\n \"attribute\": \"progress\",\n \"reflect\": false\n },\n \"stepNum\": {\n \"type\": \"number\",\n \"mutable\": false,\n \"complexType\": {\n \"original\": \"number\",\n \"resolved\": \"number\",\n \"references\": {}\n },\n \"required\": false,\n \"optional\": true,\n \"docs\": {\n \"tags\": [{\n \"name\": \"internal\",\n \"text\": \"The step number, managed by ic-stepper.\"\n }],\n \"text\": \"\"\n },\n \"attribute\": \"step-num\",\n \"reflect\": false\n },\n \"stepStatus\": {\n \"type\": \"string\",\n \"mutable\": false,\n \"complexType\": {\n \"original\": \"IcStepStatuses\",\n \"resolved\": \"\\\"optional\\\" | \\\"required\\\"\",\n \"references\": {\n \"IcStepStatuses\": {\n \"location\": \"import\",\n \"path\": \"./ic-step.types\",\n \"id\": \"src/components/ic-step/ic-step.types.ts::IcStepStatuses\"\n }\n }\n },\n \"required\": false,\n \"optional\": true,\n \"docs\": {\n \"tags\": [],\n \"text\": \"The status of the step. Use this prop to display a status message on the step if it is required or optional.\"\n },\n \"attribute\": \"step-status\",\n \"reflect\": false\n },\n \"stepSubtitle\": {\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\": \"Additional information about the step. Use this prop to override the default step status messaging displayed when selecting a step type or step status.\"\n },\n \"attribute\": \"step-subtitle\",\n \"reflect\": false\n },\n \"stepTitle\": {\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 title of the step within the stepper.\"\n },\n \"attribute\": \"step-title\",\n \"reflect\": false\n },\n \"variant\": {\n \"type\": \"string\",\n \"mutable\": false,\n \"complexType\": {\n \"original\": \"IcStepVariants\",\n \"resolved\": \"\\\"compact\\\" | \\\"default\\\"\",\n \"references\": {\n \"IcStepVariants\": {\n \"location\": \"import\",\n \"path\": \"./ic-step.types\",\n \"id\": \"src/components/ic-step/ic-step.types.ts::IcStepVariants\"\n }\n }\n },\n \"required\": true,\n \"optional\": false,\n \"docs\": {\n \"tags\": [{\n \"name\": \"internal\",\n \"text\": \"The variant of the step. This is managed by ic-stepper.\"\n }],\n \"text\": \"\"\n },\n \"attribute\": \"variant\",\n \"reflect\": false\n },\n \"stepType\": {\n \"type\": \"string\",\n \"mutable\": false,\n \"complexType\": {\n \"original\": \"IcStepTypes\",\n \"resolved\": \"\\\"active\\\" | \\\"completed\\\" | \\\"current\\\" | \\\"disabled\\\"\",\n \"references\": {\n \"IcStepTypes\": {\n \"location\": \"import\",\n \"path\": \"./ic-step.types\",\n \"id\": \"src/components/ic-step/ic-step.types.ts::IcStepTypes\"\n }\n }\n },\n \"required\": false,\n \"optional\": true,\n \"docs\": {\n \"tags\": [],\n \"text\": \"The state of the step within the stepper.\"\n },\n \"attribute\": \"step-type\",\n \"reflect\": false,\n \"defaultValue\": \"\\\"active\\\"\"\n }\n };\n }\n static get elementRef() { return \"el\"; }\n static get watchers() {\n return [{\n \"propName\": \"stepType\",\n \"methodName\": \"stepTypeChangeHandler\"\n }];\n }\n}\n//# sourceMappingURL=ic-step.js.map\n"],"mappings":"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"}
@@ -1,2 +0,0 @@
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
@@ -1 +0,0 @@
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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"}
@@ -1,2 +0,0 @@
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{i as v,j as w,s as g,h as y,k}from"./p-f8cf2978.js";const x=`<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 $=`<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 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}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 Y=0;const M=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.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||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{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(v(t)){let i;if(typeof t==="string"){i=new Date(+t)}else{i=t}this.day=w(i.getDate());this.month=w(i.getMonth()+1);this.year=i.getFullYear().toString()}else if(typeof t==="string"){const i=g(t,this.dateFormat);this.year=i[0];this.month=i[1];this.day=i[2]}}this.setValidationMessage()};this.formatMinMax=t=>{let i;const s=w(t.getDate());const e=w(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=()=>{if(this.el.shadowRoot.activeElement.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.setValueAndEmitChange(null);this.setValidationMessage();this.handleDateChange(true);this.inputsInOrder[0].focus()};this.handleCalendarOpen=t=>{t.stopImmediatePropagation();this.calendarButtonEl.shadowRoot.querySelector("ic-tooltip").displayTooltip(false);this.calendarButtonClicked.emit({value:this.selectedDate});this.calendarButtonEl.shadowRoot.querySelector("ic-tooltip").displayTooltip(false);this.isDateSetFromKeyboardEvent=false};this.setValueAndEmitChange=t=>{if(this.value!==t){this.icChange.emit({value: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=>{this.clearButtonFocused=false;if(t.relatedTarget.id.match(/(day|year)-input$/)){this.removeLabelledBy=false;return}this.removeLabelledBy=true};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-${Y++}`;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=""}watchMaxHandler(){if(this.disableFuture){this.maxDate=new Date}else{this.maxDate=y(this.max,this.dateFormat)}}watchMinHandler(){if(this.disablePast){this.minDate=new Date}else{this.minDate=y(this.min,this.dateFormat)}}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.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)}));const t=this.el.shadowRoot.querySelector("label");if(this.required){const i=document.createElement("span");i.setAttribute("aria-hidden","true");i.textContent=" *";t===null||t===void 0?void 0:t.appendChild(i)}}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}removeAriaLabelledBy(){this.inputCompContainerEl.removeAttribute(this.ARIA_LABELLED_BY)}setPastedValueAndValidation(t,i,s){switch(true){case t:{const t=this.isZuluTime?k(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:x,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:$,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{max:["watchMaxHandler"],min:["watchMinHandler"]}}};M.style=D;export{M as ic_date_input};
2
- //# sourceMappingURL=p-e473bbf8.entry.js.map
@@ -1 +0,0 @@
1
- {"version":3,"names":["icDateInputCss","inputIds","DateInput","this","ARIA_INVALID","ARIA_LABEL","ARIA_LABELLED_BY","EVENT_OBJECT_STRING","FIT_TO_VALUE","initialValue","value","INPUT_EVENT_OBJECT_STRING","inputsInOrder","isAfterMax","isBeforeMin","isDateSetFromKeyboardEvent","isDisabledDate","isValidDay","isValidMonth","isValidDate","isZuluTime","KEYBOARD_EVENT_OBJECT_STRING","MAX_DAY","MAX_MONTH","previousSelectedDate","selectedDate","setInputPasteValue","input","pastedValue","inputEl","classList","add","checkSingleCopiedValueIsValid","isValid","Number","dayInputEl","monthInputEl","yearInputEl","isKeyboardOrEvent","event","Object","prototype","toString","call","setDateValidity","isEmptyString","day","month","handleInput","inputEvent","target","inputType","preventAutoFormatting","length","setInputValue","notifyScreenReader","moveToNextInput","setPreventInput","setFitToValueStyling","setValidationMessage","handleKeyDown","isInputPrevented","eventKey","key","toLowerCase","regex","test","ctrlKey","metaKey","preventDefault","setPasteInvalidText","handleLeftRightArrowKeyPress","handleUpDownArrowKeyPress","preventInput","handleFocus","select","handleBlur","autocompleteInput","moveToPreviousInput","notifyScreenReaderSelectedDate","dayNames","stringEnumToArray","IcDayNames","months","IcDateInputMonths","selectedDateInfoEl","textContent","getDay","getDate","getMonth","getFullYear","minValue","maxValue","Date","handleDateChange","force","forEach","year","invalidDateText","setValueAndEmitChange","updateInputValues","slicePastedDate","valueLength","datePart","slice","isPastedStringDateValid","handlePaste","clipboardData","getData","setPastedValueAndValidation","setDate","date","undefined","remove","isDateOrEpoch","newDate","convertToDoubleDigits","defaultDateArray","splitStringDate","dateFormat","formatMinMax","formattedDate","clear","newValue","convertToDate","isSelectedDateDisabled","setAttribute","removeAttribute","disablePast","disablePastMessage","minDate","disableFuture","disableFutureMessage","maxDate","disableDays","disableDaysMessage","setInputsInOrder","inputs","el","shadowRoot","querySelectorAll","push","setAriaLabelledBy","disabled","_a","inputCompContainerEl","getAttribute","removeAriaLabelledBy","labelEl","querySelector","labelId","inputId","id","hasValidation","validationStatus","validationText","labelledBy","screenReaderInfoId","getInputDescribedByText","helperText","defaultHelperText","selectedDateInfoId","assistiveHintId","isPrevented","preventDayInput","preventMonthInput","preventYearInput","getInputFromDatePart","dayInput","h","class","ref","placeholder","onPaste","inputmode","pattern","onKeyDown","monthInput","yearInput","maxLength","getInputsInOrder","dateParts","split","part","substring","getDescOfInputsOrder","description","getScreenReaderInfo","inputDescriptors","required","IcInformationStatus","Error","selectedString","selectionStart","selectionEnd","currentDate","isNotToday","toDateString","includes","currentInput","currentInputPos","findIndex","nextInput","focus","autocompleteYear","inputValue","yearNumbers","autocompletedInput","number","index","handleHostBlur","removeLabelledBy","icBlur","emit","handleHostFocus","activeElement","match","icFocus","handleFormReset","getAriaLabel","notifyScreenReaderArrowKeys","liveRegion","announcement","ariaLabel","notifyScreenReaderInput","setAriaInvalid","validDay","validMonth","validDate","disabledDate","handleClear","handleCalendarOpen","ev","stopImmediatePropagation","calendarButtonEl","displayTooltip","calendarButtonClicked","icChange","handleCalendarFocus","calendarFocused","handleCalendarBlur","handleClearFocus","clearButtonFocused","handleClearBlur","relatedTarget","watchMaxHandler","createDate","max","watchMinHandler","min","disconnectedCallback","removeFormResetListener","componentWillLoad","addFormResetListener","componentDidLoad","onComponentRequiredPropUndefined","prop","label","propName","addEventListener","asteriskSpan","document","createElement","appendChild","componentWillUpdate","componentDidRender","setCalendarFocus","setDisableDays","days","nextParsedValue","extractDateFromZuluDateTime","pasteZuluDateTime","dateValue","isNumeric","displayPastedValidation","previousInvalidDateTest","isPasteValidationDisplayed","render","showClearButton","showCalendarButton","size","hasCustomValidation","assistiveHint","renderHiddenInput","name","Host","onBlur","onFocus","for","role","innerHTML","Clear","onClick","variant","appearance","IcThemeForegroundEnum","Light","Dark","divider","Calendar","Default","status","message"],"sources":["src/components/ic-date-input/ic-date-input.css?tag=ic-date-input&encapsulation=shadow","src/components/ic-date-input/ic-date-input.tsx"],"sourcesContent":["@import \"../../../dist/core/normalize.css\";\n\ninput {\n border: 0;\n height: 100%;\n padding: 0;\n outline: none;\n background: none;\n -moz-appearance: textfield;\n appearance: textfield;\n}\n\ninput::-webkit-outer-spin-button,\ninput::-webkit-inner-spin-button {\n -webkit-appearance: none;\n}\n\nic-input-component-container {\n cursor: text;\n}\n\nic-input-component-container,\nic-input-component-container:hover {\n color: var(--ic-color-tertiary-text);\n}\n\n.focus-indicator {\n padding: var(--ic-space-xxxs) var(--ic-space-xs);\n align-items: center;\n}\n\n.day-input {\n width: 1.438rem;\n}\n\n.month-input {\n width: 1.813rem;\n}\n\n.year-input,\n.year-input.fit-to-value {\n width: 2.313rem;\n}\n\n.fit-to-value {\n width: 1.25rem;\n}\n\n.sr-only {\n position: absolute;\n left: -9999px;\n}\n\n.input-container {\n width: 100%;\n display: flex;\n justify-content: space-between;\n align-items: center;\n position: relative;\n}\n\n.action-buttons {\n display: flex;\n align-items: center;\n}\n\n.show-calendar-button-wrapper {\n display: flex;\n justify-content: center;\n align-items: center;\n}\n\n.clear-button,\n.calendar-button {\n border-radius: var(--ic-border-radius);\n transition: box-shadow var(--ic-easing-transition),\n border-radius var(--ic-easing-transition);\n margin: 0;\n}\n\n.clear-button.hidden {\n display: none;\n}\n\n.clear-button:focus,\n.calendar-button:focus,\n.clear-button:active,\n.calendar-button:active {\n background-color: var(--ic-focus-blue) !important;\n box-shadow: inset 0 0 0 0.125rem var(--ic-focus-glow) !important;\n border-radius: 0.25rem;\n}\n\n.clear-button:focus,\n.calendar-button:focus,\n.clear-button:active *,\n.calendar-button:active * {\n fill: var(--ic-architectural-white);\n}\n\n.divider {\n margin: 0 var(--ic-space-xxs);\n width: var(--ic-space-1px);\n background-color: var(--ic-architectural-400);\n border-radius: var(--ic-space-1px);\n}\n\n.divider.small {\n height: var(--ic-space-md);\n}\n\n.divider.default {\n height: calc(var(--ic-space-sm) + var(--ic-space-xs));\n}\n\n.divider.large {\n height: var(--ic-space-lg);\n}\n","import {\n Component,\n Element,\n Event,\n EventEmitter,\n h,\n Prop,\n State,\n Host,\n Method,\n Watch,\n} from \"@stencil/core\";\nimport {\n IcInformationStatus,\n IcInformationStatusOrEmpty,\n IcSizes,\n IcThemeForegroundEnum,\n IcDateFormat,\n IcDateInputMonths,\n IcDayNames,\n IcWeekDays,\n} from \"../../utils/types\";\nimport {\n convertToDoubleDigits,\n createDate,\n extractDateFromZuluDateTime,\n isDateOrEpoch,\n splitStringDate,\n} from \"../../utils/date-helpers\";\nimport {\n addFormResetListener,\n getInputDescribedByText,\n isEmptyString,\n isNumeric,\n onComponentRequiredPropUndefined,\n removeFormResetListener,\n renderHiddenInput,\n stringEnumToArray,\n} from \"../../utils/helpers\";\nimport Clear from \"../../assets/clear-icon.svg\";\nimport Calendar from \"../../assets/calendar.svg\";\n\nlet inputIds = 0;\n\n@Component({\n tag: \"ic-date-input\",\n styleUrl: \"ic-date-input.css\",\n shadow: {\n delegatesFocus: true,\n },\n})\nexport class DateInput {\n private ARIA_INVALID = \"aria-invalid\";\n private ARIA_LABEL = \"aria-label\";\n private ARIA_LABELLED_BY = \"aria-labelledby\";\n private assistiveHintId: string;\n private calendarButtonEl: HTMLIcButtonElement;\n private dayInputEl: HTMLInputElement;\n private defaultHelperText: string;\n private EVENT_OBJECT_STRING = \"[object Event]\";\n private FIT_TO_VALUE = \"fit-to-value\";\n\n private initialValue = this.value;\n private inputCompContainerEl: HTMLIcInputComponentContainerElement;\n private INPUT_EVENT_OBJECT_STRING = \"[object InputEvent]\";\n private inputsInOrder: HTMLInputElement[] = [];\n\n private isAfterMax: boolean = false;\n private isBeforeMin: boolean = false;\n private isDateSetFromKeyboardEvent: boolean = false;\n private isDisabledDate: boolean = false;\n private isPasteValidationDisplayed: boolean;\n private isValidDay: boolean = true;\n private isValidMonth: boolean = true;\n private isValidDate: boolean = true;\n private isZuluTime: boolean = false;\n\n private KEYBOARD_EVENT_OBJECT_STRING = \"[object KeyboardEvent]\";\n private MAX_DAY = 31;\n private MAX_MONTH = 12;\n private monthInputEl: HTMLInputElement;\n\n private preventAutoFormatting: boolean;\n private preventDayInput: boolean;\n private preventMonthInput: boolean;\n private preventYearInput: boolean;\n\n private previousInvalidDateTest: string;\n private previousSelectedDate: Date = null;\n\n private selectedDate: Date = null;\n private selectedDateInfoEl: HTMLSpanElement;\n private screenReaderInfoId: string;\n private selectedDateInfoId: string;\n\n private yearInputEl: HTMLInputElement;\n\n @Element() el: HTMLIcDateInputElement;\n\n @State() day: string = \"\";\n @State() invalidDateText: string;\n @State() maxDate: Date;\n @State() minDate: Date;\n @State() month: string = \"\";\n @State() year: string = \"\";\n @State() calendarFocused: boolean = false;\n @State() clearButtonFocused: boolean = false;\n @State() removeLabelledBy: boolean = false;\n\n /**\n * The format in which the date will be displayed.\n */\n // eslint-disable-next-line sonarjs/no-duplicate-string\n @Prop() dateFormat?: IcDateFormat = \"DD/MM/YYYY\";\n\n /**\n * If `true`, the disabled state will be set.\n */\n @Prop() disabled?: boolean = false;\n\n /**\n * The days of the week to disable.\n */\n @Prop({ mutable: true }) disableDays?: IcWeekDays[] = [];\n\n /**\n * The text to display as the validation message when `disableDays` is set and a disabled date is entered.\n */\n @Prop() disableDaysMessage?: string =\n \"The date you have selected is on a day of the week that is not allowed. Please select another date.\";\n\n /**\n * If `true`, dates in the future are not allowed. A validation message will appear if a date in the future is entered.\n */\n @Prop() disableFuture?: boolean = false;\n\n /**\n * The text to display as the validation message when `disableFuture` is true and a date in the future is entered.\n */\n @Prop() disableFutureMessage?: string =\n \"Dates in the future are not allowed. Please select a date in the past.\";\n\n /**\n * If `true`, dates in the past are not allowed. A validation message will appear if a date in the past is entered.\n */\n @Prop() disablePast?: boolean = false;\n\n /**\n * The text to display as the validation message when `disablePast` is true and a date in the past is entered.\n */\n @Prop() disablePastMessage?: string =\n \"Dates in the past are not allowed. Please select a date in the future.\";\n\n /**\n * The helper text that will be displayed for additional field guidance. This will default to the text \"Use format\" along with the `dateFormat` value.\n */\n @Prop({ mutable: true }) helperText?: string;\n\n /**\n * The ID for the input.\n */\n @Prop() inputId?: string = `ic-date-input-${inputIds++}`;\n\n /**\n * The label for the date input.\n */\n @Prop() label!: string;\n\n /**\n * The latest date that will be allowed. The value can be in any format supported as `dateFormat`, in ISO 8601 date string format (`yyyy-mm-dd`) or as a JavaScript `Date` object.\n * The value of this prop is ignored if `disableFuture` is set to `true`.\n */\n @Prop() max?: string | Date = \"\";\n\n @Watch(\"max\")\n watchMaxHandler(): void {\n if (this.disableFuture) {\n this.maxDate = new Date();\n } else {\n this.maxDate = createDate(this.max, this.dateFormat);\n }\n }\n\n /**\n * The earliest date that will be allowed. The value can be in any format supported as `dateFormat`, in ISO 8601 date string format (`yyyy-mm-dd`) or as a JavaScript `Date` object.\n * The value of this prop is ignored if `disablePast` is set to `true`.\n */\n @Prop() min?: string | Date = \"\";\n\n @Watch(\"min\")\n watchMinHandler(): void {\n if (this.disablePast) {\n this.minDate = new Date();\n } else {\n this.minDate = createDate(this.min, this.dateFormat);\n }\n }\n\n /**\n * The name of the control, which is submitted with the form data.\n */\n @Prop() name: string = this.inputId;\n\n /**\n * If `true`, the input will require a value.\n */\n @Prop() required?: boolean = false;\n\n /**\n * @internal If `true`, a button which displays the calendar view when clicked will be displayed.\n */\n @Prop() showCalendarButton?: boolean = false;\n\n /**\n * If `true`, a button which clears the date input when clicked will be displayed.\n */\n @Prop() showClearButton?: boolean = true;\n\n /**\n * The size of the date input to be displayed.\n */\n @Prop() size?: IcSizes = \"default\";\n\n /**\n * The value of the date input. The value can be in any format supported as `dateFormat`, in ISO 8601 date string format (`yyyy-mm-dd`) or as a JavaScript `Date` object.\n */\n @Prop({ mutable: true }) value?: string | Date | null | undefined = \"\";\n\n /**\n * The validation status - e.g. 'error' | 'warning' | 'success'. This will override the built-in date validation.\n */\n @Prop({ mutable: true }) validationStatus?: IcInformationStatusOrEmpty = \"\";\n\n /**\n * The text to display as the validation message. This will override the built-in date validation.\n */\n @Prop() validationText?: string = \"\";\n\n /**\n * @internal Emitted when the calendar is opened.\n */\n @Event() calendarButtonClicked: EventEmitter<{ value: Date }>;\n\n /**\n * Emitted when the input loses focus.\n */\n @Event() icBlur: EventEmitter<{ value: Date }>;\n\n /**\n * Emitted when the value has changed.\n */\n @Event() icChange: EventEmitter<{ value: Date }>;\n\n /**\n * Emitted when the input gains focus.\n */\n @Event() icFocus: EventEmitter<{ value: Date }>;\n\n disconnectedCallback(): void {\n removeFormResetListener(this.el, this.handleFormReset);\n }\n\n componentWillLoad(): void {\n this.defaultHelperText = `Use format ${this.dateFormat}`;\n\n if (isEmptyString(this.helperText)) {\n this.helperText = this.defaultHelperText;\n }\n\n this.watchMinHandler();\n this.watchMaxHandler();\n\n if (this.value) {\n this.setDate(this.value);\n }\n\n this.screenReaderInfoId = `${this.inputId}-screen-reader-info`;\n this.assistiveHintId = `${this.inputId}-assistive-hint`;\n this.selectedDateInfoId = `${this.inputId}-selected-date-info`;\n\n addFormResetListener(this.el, this.handleFormReset);\n }\n\n componentDidLoad(): void {\n this.setInputsInOrder();\n\n onComponentRequiredPropUndefined(\n [{ prop: this.label, propName: \"label\" }],\n \"Date Input\"\n );\n\n if (this.value) {\n this.updateInputValues(this.day, this.month, this.year);\n this.inputsInOrder.forEach((input) => {\n input.classList.add(this.FIT_TO_VALUE);\n });\n }\n\n this.setAriaInvalid(\n this.isValidDay,\n this.isValidMonth,\n this.isValidDate,\n this.isDisabledDate\n );\n\n if (this.value) {\n this.notifyScreenReaderSelectedDate();\n }\n\n this.inputsInOrder.forEach((input) => {\n input.addEventListener(\"input\", this.handleInput);\n input.addEventListener(\"focus\", this.handleFocus);\n input.addEventListener(\"blur\", this.handleBlur);\n });\n\n // Prevent asterisk being read out after the label by screen reader (by applying aria-hidden)\n // Needed because label is included in 'aria-labelledby' instead of using 'aria-label'\n const labelEl = this.el.shadowRoot.querySelector(\"label\");\n if (this.required) {\n const asteriskSpan = document.createElement(\"span\");\n asteriskSpan.setAttribute(\"aria-hidden\", \"true\");\n asteriskSpan.textContent = \" *\";\n labelEl?.appendChild(asteriskSpan);\n }\n }\n\n componentWillUpdate(): void {\n if (!this.isDateSetFromKeyboardEvent) {\n this.setDate(this.value);\n }\n this.setAriaInvalid(\n this.isValidDay,\n this.isValidMonth,\n this.isValidDate,\n this.isDisabledDate\n );\n this.handleDateChange(false);\n this.isDateSetFromKeyboardEvent = false;\n }\n\n componentDidRender(): void {\n if (this.removeLabelledBy) {\n this.removeAriaLabelledBy();\n return;\n }\n\n this.setAriaLabelledBy();\n }\n\n /**\n * Returns the value as a Date object\n * @returns Date\n */\n @Method()\n async getDate(): Promise<Date> {\n return this.selectedDate;\n }\n\n /**\n * @internal Sets focus on the calendar button.\n */\n @Method()\n async setCalendarFocus(): Promise<void> {\n if (this.calendarButtonEl) {\n this.calendarButtonEl.focus();\n }\n }\n\n /**\n * @internal Used to pass disabledDays from parent component.\n */\n @Method()\n async setDisableDays(days: IcWeekDays[]): Promise<void> {\n this.disableDays = days;\n }\n\n private setInputPasteValue = (input: EventTarget, pastedValue: string) => {\n const inputEl = input as HTMLInputElement;\n\n inputEl.value = pastedValue;\n inputEl.classList.add(this.FIT_TO_VALUE);\n };\n\n private checkSingleCopiedValueIsValid = (\n input: EventTarget,\n pastedValue: string\n ) => {\n let isValid = false;\n const value = Number(pastedValue);\n\n switch (input) {\n case this.dayInputEl:\n isValid = value >= 1 && value <= this.MAX_DAY;\n break;\n case this.monthInputEl:\n isValid = value >= 1 && value <= this.MAX_MONTH;\n break;\n case this.yearInputEl:\n isValid = true;\n break;\n default:\n isValid = false;\n break;\n }\n\n return isValid;\n };\n\n /**\n * Using Object.prototype.string to determine type if event from user\n * @param event - event object used to differentiate keyboard, generic or input event\n * @returns boolean\n */\n private isKeyboardOrEvent = (event: Event) => {\n return (\n Object.prototype.toString.call(event) === this.EVENT_OBJECT_STRING ||\n Object.prototype.toString.call(event) ===\n this.KEYBOARD_EVENT_OBJECT_STRING\n );\n };\n\n private setDateValidity = () => {\n if (!isEmptyString(this.day)) {\n this.isValidDay = +this.day > this.MAX_DAY ? false : true;\n } else {\n this.isValidDay = true;\n }\n\n if (!isEmptyString(this.month)) {\n this.isValidMonth = +this.month > this.MAX_MONTH ? false : true;\n } else {\n this.isValidMonth = true;\n }\n };\n\n private handleInput = (event: Event) => {\n const inputEvent = event as InputEvent;\n const input = event.target as HTMLInputElement;\n\n if (input !== this.yearInputEl) {\n // Only auto-format if input event is not a character being deleted\n // and not as user is changing value using up / down keys\n if (\n inputEvent.inputType !== \"deleteContentBackward\" &&\n !this.preventAutoFormatting\n ) {\n if (\n input.value.length === 1 &&\n ((input === this.dayInputEl && +input.value >= 4) ||\n (input === this.monthInputEl && +input.value >= 2)) &&\n +input.value <= 9\n ) {\n this.setInputValue(input);\n this.notifyScreenReader(input, event);\n this.moveToNextInput(input);\n }\n\n if (input.value.length === 2) {\n if (+input.value === 0) {\n input.value = \"01\";\n }\n this.setInputValue(input);\n this.setPreventInput(input, true);\n this.notifyScreenReader(input, event);\n this.moveToNextInput(input);\n } else {\n this.setPreventInput(input, false);\n }\n } else if (this.preventAutoFormatting) {\n /**\n * Using arrow keys prevents auto formatting so need to deal with\n * switching from arrow keys to inputting numbers\n **/\n if (input.value.length === 2 && !this.isKeyboardOrEvent(event)) {\n this.setInputValue(input);\n this.setPreventInput(input, true);\n this.moveToNextInput(input);\n } else {\n this.setInputValue(input);\n }\n }\n\n if (input.value.length !== 2) {\n this.setPreventInput(input, false);\n }\n } else {\n if (input.value.length === 4) {\n this.setInputValue(input);\n if (\n Object.prototype.toString.call(event) !== this.EVENT_OBJECT_STRING\n ) {\n this.moveToNextInput(input);\n }\n this.setPreventInput(input, true);\n } else {\n this.setInputValue(input, true);\n this.setPreventInput(input, false);\n }\n }\n\n // Add / remove class to make input width match size of value i.e. 2 digits' width for day / month, 4 for year\n this.setFitToValueStyling(input);\n\n if (input.value.length === 0) {\n this.setInputValue(input, true);\n this.setValidationMessage();\n }\n\n this.notifyScreenReader(input, event);\n };\n\n private handleKeyDown = (event: KeyboardEvent, isInputPrevented: boolean) => {\n const input = event.target as HTMLInputElement;\n\n const eventKey = event.key.toLowerCase();\n // Regex required due to FF allowing all characters as values for number text field.\n const regex =\n /-?\\d*\\.?\\d+(e[-+]?\\d+)?|[/-]|arrowup|arrowdown|arrowleft|arrowright|shift|tab|backspace|delete/;\n if (\n !regex.test(eventKey) &&\n !(\n (event.ctrlKey || event.metaKey) &&\n (eventKey === \"v\" || eventKey === \"c\")\n )\n ) {\n event.preventDefault();\n }\n\n switch (eventKey) {\n case \"/\":\n case \"-\":\n case \".\":\n event.preventDefault();\n this.setPasteInvalidText();\n this.moveToNextInput(input);\n break;\n case \"arrowright\":\n case \"arrowleft\":\n event.preventDefault();\n this.handleLeftRightArrowKeyPress(input, eventKey);\n break;\n case \"arrowup\":\n case \"arrowdown\":\n this.preventAutoFormatting = true;\n this.handleUpDownArrowKeyPress(input, event);\n break;\n default:\n break;\n }\n\n this.preventInput(event, isInputPrevented);\n this.isDateSetFromKeyboardEvent = true;\n };\n\n private handleFocus = (event: FocusEvent) => {\n // Highlight / select all characters in input for easy replacement\n const input = event.target as HTMLInputElement;\n\n input.select();\n };\n\n private handleBlur = (event: FocusEvent) => {\n const input = event.target as HTMLInputElement;\n\n this.setPasteInvalidText();\n this.autocompleteInput(input);\n };\n\n private handleLeftRightArrowKeyPress = (\n input: HTMLInputElement,\n key: string\n ) => {\n if (key === \"arrowright\") {\n this.moveToNextInput(input);\n } else {\n this.moveToPreviousInput(input);\n }\n\n this.setPasteInvalidText();\n };\n\n private notifyScreenReaderSelectedDate = () => {\n const dayNames = stringEnumToArray(IcDayNames);\n const months = stringEnumToArray(IcDateInputMonths);\n\n this.selectedDateInfoEl.textContent = `Selected date: ${\n dayNames[this.selectedDate.getDay()]\n }, ${this.selectedDate.getDate()} ${\n months[this.selectedDate.getMonth()]\n } ${this.selectedDate.getFullYear()}`;\n };\n\n private handleUpDownArrowKeyPress = (\n input: HTMLInputElement,\n event: KeyboardEvent\n ) => {\n const minValue = input === this.yearInputEl ? 0 : 1;\n\n let maxValue;\n\n switch (input) {\n case this.dayInputEl:\n maxValue = this.MAX_DAY;\n break;\n case this.monthInputEl:\n maxValue = this.MAX_MONTH;\n break;\n case this.yearInputEl:\n maxValue = 9999;\n }\n\n // Make value loop round when min / max reached\n if (input?.value) {\n if (event.key === \"ArrowUp\") {\n if (+input.value === maxValue) {\n event.preventDefault();\n input.value = `0${minValue}`;\n } else {\n input.value =\n +input.value + 1 < 10\n ? `0${+input.value + 1}`\n : (+input.value + 1).toString();\n }\n this.notifyScreenReader(input, event);\n }\n\n if (event.key === \"ArrowDown\") {\n if (+input.value === minValue) {\n event.preventDefault();\n input.value = maxValue.toString();\n } else {\n input.value =\n +input.value - 1 < 10\n ? `0${+input.value - 1}`\n : (+input.value - 1).toString();\n }\n this.notifyScreenReader(input, event);\n }\n } else {\n if (event.key === \"ArrowDown\") {\n event.preventDefault();\n if (input === this.yearInputEl) {\n input.value = new Date().getFullYear().toString();\n } else {\n input.value = maxValue.toString();\n }\n this.notifyScreenReader(input, event);\n } else if (event.key === \"ArrowUp\") {\n event.preventDefault();\n if (input === this.yearInputEl) {\n input.value = new Date().getFullYear().toString();\n } else {\n input.value = `0${minValue}`;\n }\n this.notifyScreenReader(input, event);\n }\n }\n\n this.setInputValue(input);\n this.setFitToValueStyling(input);\n };\n\n private handleDateChange = (force: boolean) => {\n // Prevent icChange being emitted when each individual input is changed\n // This method is used within componentWillUpdate instead of using @Watch('value');\n if (force || this.selectedDate !== this.previousSelectedDate) {\n if (this.value) {\n this.inputsInOrder.forEach((input) => {\n input.classList.add(this.FIT_TO_VALUE);\n });\n }\n if (this.day && this.month && this.year && this.invalidDateText === \"\") {\n this.setValueAndEmitChange(this.selectedDate);\n this.notifyScreenReaderSelectedDate();\n } else {\n this.setValueAndEmitChange(null);\n this.selectedDateInfoEl.textContent = \"\";\n }\n this.previousSelectedDate = this.selectedDate;\n\n if (!this.isDateSetFromKeyboardEvent) {\n this.updateInputValues(this.day, this.month, this.year);\n }\n }\n };\n\n private slicePastedDate = (valueLength: number, datePart: string): string => {\n return datePart.length > valueLength\n ? datePart.slice(0, valueLength)\n : datePart;\n };\n\n private isPastedStringDateValid = (value: string) => {\n if (\n /\\d+-\\d+-\\d+$/.test(value) ||\n /\\d+\\/\\d+\\/\\d+/.test(value) ||\n /\\d+\\.\\d+\\.\\d+/.test(value)\n ) {\n return true;\n }\n\n if (\n /[0-9]{4}-[0-9]{2}-[0-9]{2}T[0-9]{2}:[0-9]{2}(?::[0-9]{2}(?:\\.\\d+)?)?Z/.test(\n value\n )\n ) {\n this.isZuluTime = true;\n return true;\n }\n\n return false;\n };\n\n // Set value of each input to value of pasted date part\n // Allows formats separated by '-' or '/'\n private handlePaste = (event: ClipboardEvent) => {\n event.preventDefault();\n\n const pastedValue = event.clipboardData.getData(\"Text\");\n const isValidDate = this.isPastedStringDateValid(pastedValue);\n\n this.setPastedValueAndValidation(isValidDate, pastedValue, event);\n };\n\n private setDate = (date: string | Date) => {\n if (date === null || date === \"\" || date === undefined) {\n this.day = null;\n this.month = null;\n this.year = null;\n this.inputsInOrder.forEach((input) => {\n input.classList.remove(this.FIT_TO_VALUE);\n this.setPreventInput(input, false);\n });\n this.handleDateChange(true);\n } else {\n if (isDateOrEpoch(date)) {\n let newDate;\n if (typeof date === \"string\") {\n // Checking if epoch date time\n newDate = new Date(+date);\n } else {\n newDate = date;\n }\n\n this.day = convertToDoubleDigits(newDate.getDate());\n this.month = convertToDoubleDigits(newDate.getMonth() + 1);\n this.year = newDate.getFullYear().toString();\n } else if (typeof date === \"string\") {\n const defaultDateArray = splitStringDate(date, this.dateFormat);\n this.year = defaultDateArray[0];\n this.month = defaultDateArray[1];\n this.day = defaultDateArray[2];\n }\n }\n\n this.setValidationMessage();\n };\n\n private formatMinMax = (date: Date) => {\n let formattedDate;\n\n const day = convertToDoubleDigits(date.getDate());\n const month = convertToDoubleDigits(date.getMonth() + 1);\n const year = date.getFullYear();\n\n switch (this.dateFormat) {\n case \"DD/MM/YYYY\":\n formattedDate = `${day}/${month}/${year}`;\n break;\n case \"MM/DD/YYYY\":\n formattedDate = `${month}/${day}/${year}`;\n break;\n case \"YYYY/MM/DD\":\n formattedDate = `${year}/${month}/${day}`;\n break;\n default:\n break;\n }\n return formattedDate;\n };\n private updateInputValues = (day: string, month: string, year: string) => {\n this.dayInputEl.value = day;\n this.monthInputEl.value = month;\n this.yearInputEl.value = year;\n };\n\n // Set value in state based on input\n private setInputValue = (input: HTMLInputElement, clear = false) => {\n const newValue = clear ? \"\" : input.value;\n\n switch (input) {\n case this.dayInputEl:\n this.day = newValue;\n break;\n case this.monthInputEl:\n this.month = newValue;\n break;\n case this.yearInputEl:\n if (this.year !== newValue) {\n this.year = newValue;\n }\n }\n\n this.setValidationMessage();\n };\n\n private setValidationMessage = () => {\n this.setDateValidity();\n\n if (\n !isEmptyString(this.day) &&\n !isEmptyString(this.month) &&\n !isEmptyString(this.year)\n ) {\n // Check whether date actually exists\n // (used https://www.hectane.com/blog/javascript-date-validation-with-leap-year)\n this.selectedDate = this.convertToDate(this.year, this.month, this.day);\n this.isValidDate =\n +this.selectedDate !== 0 && this.selectedDate.getDate() == +this.day;\n this.isDisabledDate = this.isSelectedDateDisabled();\n\n if (!this.isValidDate || this.isDisabledDate) {\n this.inputsInOrder.forEach((input) =>\n input.setAttribute(this.ARIA_INVALID, \"true\")\n );\n } else {\n this.inputsInOrder.forEach((input) =>\n input.removeAttribute(this.ARIA_INVALID)\n );\n }\n } else {\n this.selectedDate = null;\n }\n\n if (!(this.isValidDay && this.isValidMonth && this.isValidDate)) {\n this.invalidDateText = \"Please enter a valid date.\";\n } else if (this.isDisabledDate && this.selectedDate !== null) {\n if (this.isBeforeMin) {\n if (this.disablePast) {\n this.invalidDateText = this.disablePastMessage;\n } else {\n this.invalidDateText = `Please enter a date after ${this.formatMinMax(\n this.minDate\n )}.`;\n }\n } else if (this.isAfterMax) {\n if (this.disableFuture) {\n this.invalidDateText = this.disableFutureMessage;\n } else {\n this.invalidDateText = `Please enter a date before ${this.formatMinMax(\n this.maxDate\n )}.`;\n }\n } else if (this.disableDays.length !== 0) {\n this.invalidDateText = this.disableDaysMessage;\n } else {\n if (this.disablePast) {\n this.invalidDateText = this.disablePastMessage;\n }\n if (this.disableFuture) {\n this.invalidDateText = this.disableFutureMessage;\n }\n }\n } else {\n this.invalidDateText = \"\";\n }\n };\n\n // Set refs to the input elements in the order they are displayed (based on the dateFormat)\n private setInputsInOrder = () => {\n const inputs = this.el.shadowRoot.querySelectorAll(\"input\");\n inputs.forEach((input) => this.inputsInOrder.push(input));\n };\n\n // Includes text usually added using aria-describedby\n // (which doesn't work on input component container)\n private setAriaLabelledBy = () => {\n if (\n this.disabled &&\n !isEmptyString(\n this.inputCompContainerEl?.getAttribute(this.ARIA_LABELLED_BY)\n )\n ) {\n this.removeAriaLabelledBy();\n return;\n }\n\n if (this.disabled) {\n return;\n }\n\n const labelEl = this.el.shadowRoot.querySelector(\"label\");\n const labelId = `${this.inputId}-label`;\n\n if (labelEl !== null && labelEl !== undefined) {\n labelEl.id = labelId;\n\n const hasValidation =\n (!isEmptyString(this.validationStatus) &&\n !isEmptyString(this.validationText)) ||\n !isEmptyString(this.invalidDateText);\n\n const labelledBy = `${labelId} ${\n this.screenReaderInfoId\n } ${getInputDescribedByText(\n this.inputId,\n this.helperText !== \"\" && this.helperText !== this.defaultHelperText,\n hasValidation\n )} ${this.selectedDate ? this.selectedDateInfoId : \"\"} ${\n this.assistiveHintId\n }`;\n this.inputCompContainerEl.setAttribute(this.ARIA_LABELLED_BY, labelledBy);\n }\n };\n\n // Sets boolean for each input, used to limit the number of characters within each field (2 for day / month, 4 for year)\n private setPreventInput = (input: HTMLInputElement, isPrevented: boolean) => {\n switch (input) {\n case this.dayInputEl:\n this.preventDayInput = isPrevented;\n break;\n case this.monthInputEl:\n this.preventMonthInput = isPrevented;\n break;\n case this.yearInputEl:\n this.preventYearInput = isPrevented;\n }\n };\n\n // Get input based on letter representing each date part (\"D\", \"M\" or \"Y\")\n // (retrieved from dateFormat)\n private getInputFromDatePart = (datePart: string) => {\n const dayInput = (\n <input\n class=\"day-input\"\n id=\"day-input\"\n ref={(el) => (this.dayInputEl = el)}\n aria-label=\"day\"\n placeholder=\"DD\"\n disabled={this.disabled}\n onPaste={this.handlePaste}\n inputmode=\"number\"\n pattern=\"[0-9]*\"\n onKeyDown={(event) => this.handleKeyDown(event, this.preventDayInput)}\n ></input>\n );\n\n const monthInput = (\n <input\n id=\"month-input\"\n class=\"month-input\"\n ref={(el) => (this.monthInputEl = el)}\n aria-label=\"month\"\n placeholder=\"MM\"\n disabled={this.disabled}\n onPaste={this.handlePaste}\n inputmode=\"number\"\n pattern=\"[0-9]*\"\n onKeyDown={(event) => this.handleKeyDown(event, this.preventMonthInput)}\n ></input>\n );\n\n const yearInput = (\n <input\n id=\"year-input\"\n class=\"year-input\"\n ref={(el) => (this.yearInputEl = el)}\n aria-label=\"year\"\n placeholder=\"YYYY\"\n maxLength={4}\n disabled={this.disabled}\n onPaste={this.handlePaste}\n inputmode=\"number\"\n pattern=\"[0-9]*\"\n onKeyDown={(event) => this.handleKeyDown(event, this.preventYearInput)}\n ></input>\n );\n\n let input;\n\n switch (datePart) {\n case \"D\":\n input = dayInput;\n break;\n case \"M\":\n input = monthInput;\n break;\n case \"Y\":\n input = yearInput;\n }\n\n return input;\n };\n\n // Get input elements in order of chosen date format\n private getInputsInOrder = () => {\n const dateParts = this.dateFormat.split(\"/\");\n\n const inputsInOrder: HTMLInputElement[] = [];\n\n dateParts.forEach((part: string) => {\n inputsInOrder.push(this.getInputFromDatePart(part.substring(0, 1)));\n });\n\n return inputsInOrder;\n };\n\n // To add to the end of assistive hint to make it clearer that each date part has its own input\n // that can be changed individually\n private getDescOfInputsOrder = () => {\n let description;\n\n switch (this.dateFormat) {\n case \"DD/MM/YYYY\":\n description = \"day, month, and year\";\n break;\n case \"MM/DD/YYYY\":\n description = \"month, day, and year\";\n break;\n case \"YYYY/MM/DD\":\n description = \"year, month, and day\";\n }\n\n return description;\n };\n\n // Add 'required' or 'invalid data' to span used in aria-labelledby\n // Many ARIA attributes aren't read out by screen reader when on the input component container\n private getScreenReaderInfo = (validationStatus: string) => {\n let inputDescriptors = \"\";\n\n if (this.required) {\n inputDescriptors += \"required\";\n }\n\n if (validationStatus === IcInformationStatus.Error) {\n inputDescriptors += \" invalid data\";\n }\n\n return inputDescriptors === \"\" ? \"\" : inputDescriptors + \", \";\n };\n\n // Prevent non-number characters being entered\n // ('e' or '.' - which are usually allowed in <input type=\"number\">)\n // And limit the number of characters within each field (2 for day / month, 4 for year)\n // (because 'maxlength' doesn't work on <input type=\"number\">)\n private preventInput = (event: KeyboardEvent, isInputPrevented: boolean) => {\n const key = event.key;\n const input = event.target as HTMLInputElement;\n let selectedString;\n\n if (input) {\n selectedString = input.value.substring(\n input.selectionStart,\n input.selectionEnd\n );\n }\n\n if (\n key === \"e\" ||\n key === \".\" ||\n key === \"-\" ||\n (event.key >= \"0\" &&\n event.key <= \"9\" &&\n isInputPrevented &&\n !selectedString)\n ) {\n event.preventDefault();\n }\n };\n\n // Get whether date has been disabled using disableFuture or disablePast prop, but always allow current day\n // Consider using dateClamp and inDateRange\n private isSelectedDateDisabled = () => {\n const currentDate = new Date();\n this.isAfterMax = false;\n this.isBeforeMin = false;\n\n let disabled = false;\n const isNotToday =\n this.selectedDate.toDateString() !== currentDate.toDateString();\n\n if (this.minDate && this.selectedDate < this.minDate && isNotToday) {\n this.isBeforeMin = true;\n disabled = true;\n }\n\n if (this.maxDate && this.selectedDate > this.maxDate && isNotToday) {\n this.isAfterMax = true;\n disabled = true;\n }\n\n if (this.disableDays.includes(this.selectedDate.getDay())) {\n disabled = true;\n }\n\n if (\n ((this.disablePast && this.selectedDate < currentDate) ||\n (this.disableFuture && this.selectedDate > currentDate)) &&\n isNotToday\n ) {\n disabled = true;\n }\n\n return disabled;\n };\n\n private moveToNextInput = (currentInput: HTMLInputElement) => {\n const currentInputPos = this.inputsInOrder.findIndex(\n (input) => input === currentInput\n );\n const nextInput = this.inputsInOrder[currentInputPos + 1];\n\n this.preventAutoFormatting = false;\n\n if (nextInput) {\n nextInput.focus();\n }\n };\n\n private moveToPreviousInput = (currentInput: HTMLInputElement) => {\n const currentInputPos = this.inputsInOrder.findIndex(\n (input) => input === currentInput\n );\n\n this.preventAutoFormatting = false;\n\n if (this.inputsInOrder[currentInputPos - 1]) {\n this.inputsInOrder[currentInputPos - 1].focus();\n }\n };\n\n private autocompleteInput = (input: HTMLInputElement) => {\n if (input === this.yearInputEl) {\n this.autocompleteYear();\n } else {\n const inputValue = input.value;\n\n // Autocomplete input as 2 characters (leading zero) when only 1 character entered (for day and month)\n if (inputValue.length === 1) {\n if (+inputValue === 0) {\n input.value = \"01\";\n } else {\n input.value = `0${inputValue}`;\n }\n }\n }\n\n if (input.value) {\n this.setInputValue(input);\n }\n };\n\n // Autocomplete year as current millennium when fewer than 4 characters entered\n private autocompleteYear = () => {\n const inputValue = this.yearInputEl.value;\n const yearNumbers = [\"2\", \"0\", \"0\"];\n\n let autocompletedInput = \"\";\n\n if (inputValue) {\n yearNumbers.forEach((number, index) => {\n if (inputValue.length + index <= 3) {\n autocompletedInput += number;\n }\n });\n\n this.yearInputEl.value = `${autocompletedInput}${inputValue}`;\n }\n };\n\n private convertToDate = (\n year: string,\n month: string,\n day: string\n ): Date | null => {\n if (!isEmptyString(year) && !isEmptyString(month) && !isEmptyString(day)) {\n return new Date(+year, +month - 1, +day);\n } else {\n return null;\n }\n };\n\n private handleHostBlur = () => {\n this.removeLabelledBy = false;\n this.icBlur.emit({ value: this.selectedDate });\n };\n\n private handleHostFocus = () => {\n if (this.el.shadowRoot.activeElement.id.match(/(day|month|year)-input$/)) {\n this.removeLabelledBy = false;\n } else {\n this.removeLabelledBy = true;\n }\n this.icFocus.emit({ value: this.selectedDate });\n };\n\n private handleFormReset = () => {\n // Get the initial value and populate day, month and year again.\n this.setDate(this.initialValue);\n this.setValidationMessage();\n this.handleDateChange(false);\n };\n\n private getAriaLabel = (input: HTMLInputElement): string => {\n return input.getAttribute(this.ARIA_LABEL);\n };\n\n private notifyScreenReaderArrowKeys = (input: HTMLInputElement) => {\n const liveRegion = this.el.shadowRoot.querySelector(\"#live-region\");\n let announcement = \"\";\n const ariaLabel = this.getAriaLabel(input);\n\n if (liveRegion && input.value) {\n if (\n input === this.monthInputEl &&\n !!IcDateInputMonths[+input.value - 1]\n ) {\n announcement = `${input.value} - ${\n IcDateInputMonths[+input.value - 1]\n }, ${ariaLabel}`;\n }\n\n if (input === this.dayInputEl || input === this.yearInputEl) {\n announcement = `${input.value}, ${ariaLabel}`;\n }\n\n liveRegion.textContent = announcement;\n }\n };\n\n private removeAriaLabelledBy() {\n this.inputCompContainerEl.removeAttribute(this.ARIA_LABELLED_BY);\n }\n\n private setPastedValueAndValidation(\n isValidDate: boolean,\n pastedValue: string,\n event: ClipboardEvent\n ) {\n switch (true) {\n case isValidDate: {\n const nextParsedValue = this.isZuluTime\n ? extractDateFromZuluDateTime(pastedValue)\n : pastedValue;\n const dateParts = nextParsedValue.split(/-|\\/|\\./);\n this.inputsInOrder.forEach((input, index) => {\n input.classList.add(this.FIT_TO_VALUE);\n\n if (this.isZuluTime) {\n this.pasteZuluDateTime(dateParts, index);\n } else {\n let dateValue;\n\n if (input === this.dayInputEl || input === this.monthInputEl) {\n dateValue = this.slicePastedDate(2, dateParts[index]);\n } else {\n dateValue = this.slicePastedDate(4, dateParts[index]);\n }\n\n input.value = dateValue;\n\n this.setInputValue(input);\n this.autocompleteInput(input);\n }\n });\n this.isZuluTime = false;\n break;\n }\n\n case (pastedValue.length === 1 ||\n pastedValue.length === 2 ||\n pastedValue.length === 4) &&\n isNumeric(pastedValue):\n if (this.checkSingleCopiedValueIsValid(event.target, pastedValue)) {\n // Check if copied value can be pasted into input\n this.setInputPasteValue(event.target, pastedValue);\n this.setInputValue(event.target as HTMLInputElement);\n } else {\n this.displayPastedValidation(event);\n }\n break;\n\n case pastedValue.length === 3 && isNumeric(pastedValue):\n if (event.target !== this.yearInputEl) {\n this.displayPastedValidation(event);\n } else {\n this.setInputPasteValue(event.target, pastedValue);\n this.setInputValue(event.target as HTMLInputElement);\n }\n break;\n\n case pastedValue.length >= 5 && isNumeric(pastedValue):\n this.displayPastedValidation(event);\n }\n }\n\n private pasteZuluDateTime(dateParts: string[], index: number) {\n // ['YYYY', 'MM', 'DD']\n if (index === 0) {\n const dateValue = this.slicePastedDate(4, dateParts[index]);\n this.yearInputEl.value = dateValue;\n this.setInputValue(this.yearInputEl);\n } else if (index === 1) {\n // The month value is the second item in the array\n const dateValue = this.slicePastedDate(2, dateParts[index]);\n this.monthInputEl.value = dateValue;\n this.setInputValue(this.monthInputEl);\n } else {\n const dateValue = this.slicePastedDate(2, dateParts[index]);\n this.dayInputEl.value = dateValue;\n this.setInputValue(this.dayInputEl);\n }\n }\n\n private displayPastedValidation(event: ClipboardEvent) {\n if (this.invalidDateText?.length > 0) {\n this.previousInvalidDateTest = this.invalidDateText;\n }\n\n this.invalidDateText = `Please paste a valid ${this.getAriaLabel(\n event.target as HTMLInputElement\n )}`;\n\n this.validationStatus = IcInformationStatus.Error;\n this.isPasteValidationDisplayed = true;\n }\n\n private setPasteInvalidText() {\n if (this.isPasteValidationDisplayed) {\n this.invalidDateText = this.previousInvalidDateTest ?? \"\";\n this.isPasteValidationDisplayed = false;\n\n // This is to prevent setDate from triggering within componentWillUpdate\n this.isDateSetFromKeyboardEvent = true;\n }\n }\n\n private notifyScreenReader(input: HTMLInputElement, event: Event) {\n const liveRegion = this.el.shadowRoot.querySelector(\"#live-region\");\n\n if (liveRegion) {\n if (this.isKeyboardOrEvent(event)) {\n this.notifyScreenReaderArrowKeys(input);\n } else if (\n Object.prototype.toString.call(event) === this.INPUT_EVENT_OBJECT_STRING\n ) {\n this.notifyScreenReaderInput(input, liveRegion as HTMLElement);\n }\n }\n }\n\n private notifyScreenReaderInput = (\n input: HTMLInputElement,\n liveRegion: HTMLElement\n ) => {\n let announcement = \"\";\n const ariaLabel = this.getAriaLabel(input);\n\n if (input === this.dayInputEl || input === this.monthInputEl) {\n if (input.value.length === 2) {\n if (\n input === this.monthInputEl &&\n !!IcDateInputMonths[+input.value - 1] &&\n this.isValidMonth\n ) {\n announcement = `${input.value} - ${\n IcDateInputMonths[+input.value - 1]\n }, ${ariaLabel}`;\n }\n\n if (input === this.dayInputEl && this.isValidDay) {\n announcement = `${input.value}, ${ariaLabel}`;\n }\n } else {\n announcement = \"\";\n }\n } else {\n if (input.value.length === 4) {\n announcement = `${input.value}, ${ariaLabel}`;\n } else {\n announcement = \"\";\n }\n }\n liveRegion.textContent = announcement;\n };\n\n private setFitToValueStyling = (input: HTMLInputElement) => {\n if (input.value) {\n input.classList.add(this.FIT_TO_VALUE);\n } else {\n input.classList.remove(this.FIT_TO_VALUE);\n }\n };\n\n private setAriaInvalid = (\n validDay: boolean,\n validMonth: boolean,\n validDate: boolean,\n disabledDate: boolean\n ) => {\n if (this.inputsInOrder.length) {\n this.inputsInOrder.forEach((input) => {\n input.removeAttribute(this.ARIA_INVALID);\n });\n\n if (!validDay) {\n this.dayInputEl.setAttribute(this.ARIA_INVALID, \"true\");\n }\n\n if (!validMonth) {\n this.monthInputEl.setAttribute(this.ARIA_INVALID, \"true\");\n }\n\n if (!validDate || disabledDate) {\n this.inputsInOrder.forEach((input) => {\n input.setAttribute(this.ARIA_INVALID, \"true\");\n });\n }\n }\n };\n\n private handleClear = () => {\n this.inputsInOrder.forEach((input) => {\n input.classList.remove(this.FIT_TO_VALUE);\n this.setInputValue(input, true);\n this.setPreventInput(input, false);\n });\n this.isDateSetFromKeyboardEvent = false;\n this.setValueAndEmitChange(null);\n this.setValidationMessage();\n this.handleDateChange(true);\n\n this.inputsInOrder[0].focus();\n };\n\n private handleCalendarOpen = (ev: MouseEvent) => {\n ev.stopImmediatePropagation();\n this.calendarButtonEl.shadowRoot\n .querySelector(\"ic-tooltip\")\n .displayTooltip(false);\n this.calendarButtonClicked.emit({ value: this.selectedDate });\n this.calendarButtonEl.shadowRoot\n .querySelector(\"ic-tooltip\")\n .displayTooltip(false);\n this.isDateSetFromKeyboardEvent = false;\n };\n\n private setValueAndEmitChange = (value: Date) => {\n if (this.value !== value) {\n this.icChange.emit({ value: value });\n this.value = value;\n }\n };\n\n private handleCalendarFocus = () => {\n this.calendarFocused = true;\n };\n\n private handleCalendarBlur = () => {\n this.calendarFocused = false;\n };\n\n private handleClearFocus = () => {\n this.removeLabelledBy = true;\n this.clearButtonFocused = true;\n };\n\n private handleClearBlur = (ev: FocusEvent) => {\n this.clearButtonFocused = false;\n if ((ev.relatedTarget as HTMLElement).id.match(/(day|year)-input$/)) {\n this.removeLabelledBy = false;\n return;\n }\n\n this.removeLabelledBy = true;\n };\n\n render() {\n const {\n inputId,\n label,\n disabled,\n helperText,\n showClearButton,\n showCalendarButton,\n size,\n } = this;\n\n const hasCustomValidation =\n !isEmptyString(this.validationStatus) &&\n !isEmptyString(this.validationText);\n\n const validationStatus = hasCustomValidation\n ? this.validationStatus\n : !isEmptyString(this.invalidDateText)\n ? IcInformationStatus.Error\n : \"\";\n\n const assistiveHint = `Type or use the up and down arrow keys to change the values for the ${this.getDescOfInputsOrder()}.`;\n\n renderHiddenInput(\n true,\n this.el,\n this.name,\n this.convertToDate(this.year, this.month, this.day),\n this.disabled\n );\n\n return (\n <Host onBlur={this.handleHostBlur} onFocus={this.handleHostFocus}>\n <ic-input-container disabled={disabled}>\n <ic-input-label\n for={inputId}\n label={label}\n helperText={helperText}\n disabled={disabled}\n ></ic-input-label>\n <span id={this.screenReaderInfoId} class=\"sr-only\" aria-hidden=\"true\">\n {this.getScreenReaderInfo(validationStatus)}\n {`${this.defaultHelperText}.`}\n </span>\n <span id={this.assistiveHintId} class=\"sr-only\" aria-hidden=\"true\">\n {assistiveHint}\n </span>\n <span id=\"live-region\" aria-live=\"assertive\" class=\"sr-only\"></span>\n <ic-input-component-container\n id={inputId}\n ref={(el: HTMLIcInputComponentContainerElement) =>\n (this.inputCompContainerEl = el)\n }\n disabled={disabled}\n validationStatus={validationStatus}\n size={size}\n role=\"group\"\n >\n <div class=\"input-container\">\n <div class=\"date-inputs\">\n {this.getInputsInOrder()[0]}/{this.getInputsInOrder()[1]}/\n {this.getInputsInOrder()[2]}\n </div>\n <div class=\"action-buttons\">\n {showClearButton && (\n <ic-button\n id=\"clear-button\"\n aria-label=\"Clear input\"\n class={{\n [\"clear-button\"]: true,\n [\"hidden\"]:\n isEmptyString(this.day) &&\n isEmptyString(this.month) &&\n isEmptyString(this.year),\n }}\n disabled={this.disabled}\n innerHTML={Clear}\n onClick={this.handleClear}\n onFocus={this.handleClearFocus}\n onBlur={this.handleClearBlur}\n variant=\"icon\"\n appearance={\n this.clearButtonFocused\n ? IcThemeForegroundEnum.Light\n : IcThemeForegroundEnum.Dark\n }\n size={size}\n ></ic-button>\n )}\n {showCalendarButton && (\n <div class=\"show-calendar-button-wrapper\">\n <div class={{ divider: true, [size]: true }}></div>\n <ic-button\n id=\"calendar-button\"\n ref={(el: HTMLIcButtonElement) =>\n (this.calendarButtonEl = el)\n }\n aria-label=\"Display calendar\"\n aria-haspopup=\"dialog\"\n class=\"calendar-button\"\n disabled={this.disabled}\n innerHTML={Calendar}\n onClick={this.handleCalendarOpen}\n variant=\"icon\"\n size={size}\n onFocus={this.handleCalendarFocus}\n onBlur={this.handleCalendarBlur}\n appearance={\n this.calendarFocused\n ? IcThemeForegroundEnum.Light\n : IcThemeForegroundEnum.Default\n }\n ></ic-button>\n </div>\n )}\n </div>\n </div>\n </ic-input-component-container>\n <span id={this.selectedDateInfoId} class=\"sr-only\" aria-live=\"polite\">\n <span\n ref={(el) => (this.selectedDateInfoEl = el)}\n role=\"status\"\n ></span>\n </span>\n {(hasCustomValidation || !isEmptyString(this.invalidDateText)) && (\n <ic-input-validation\n status={validationStatus}\n message={\n hasCustomValidation ? this.validationText : this.invalidDateText\n }\n for={inputId}\n ></ic-input-validation>\n )}\n </ic-input-container>\n </Host>\n );\n }\n}\n"],"mappings":"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"}
@@ -1,2 +0,0 @@
1
- import{r as t,c as e,h as o,H as i,g as a}from"./p-8455d1bb.js";import{j as r,a as c,i as n}from"./p-d35c7c18.js";import"./p-fd186591.js";const s='/*! 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{--button-border:var(\n --toggle-button-border,\n var(--ic-border-width) solid var(--ic-action-default)\n )}:host(.dark){--button-border:var(\n --toggle-button-border,\n var(--ic-border-width) solid var(--ic-action-dark)\n )}:host(.light){--button-border:var(\n --toggle-button-border,\n var(--ic-border-width) solid var(--ic-action-light)\n )}:host(.disabled){--button-border:var(--toggle-button-border, var(--ic-border-disabled))}:host(.expand-toggle-group-child) ::part(button){width:100%;min-height:inherit;white-space:inherit;height:inherit}:host(.expand-toggle-group-child) ic-button{min-width:100%;min-height:100%;white-space:normal;height:100%}:host(.expand-toggle-group-child) ::part(button):focus,:host(.expand-toggle-group-child.checked) ::part(button):focus{box-shadow:inset 0 0 0 var(--ic-space-xxxs) var(--ic-action-default),\n var(--ic-border-focus)}:host(.expand-toggle-group-child.light) ::part(button):focus,:host(.expand-toggle-group-child.dark) ::part(button):focus{box-shadow:inset 0 0 0 var(--ic-space-xxxs) var(--ic-action-dark),\n var(--ic-border-focus)}:host(:focus){z-index:1}:host ::part(button){border:var(--button-border)}:host(.checked) ::part(button){background-color:var(--ic-action-default);color:var(--ic-architectural-white);box-shadow:inset 0 0 0 var(--ic-space-xxxs) var(--ic-architectural-white)}:host(.checked) ::part(button):focus{box-shadow:inset 0 0 0 var(--ic-space-xxxs) var(--ic-architectural-white),\n var(--ic-border-focus)}:host(.checked) ::part(button):hover{background-color:var(--button-default-hover)}:host(.checked) ::part(button):active,:host(.icon.checked) ::part(button):active{background-color:var(--ic-action-default-active)}:host(.dark.checked) ::part(button){background-color:var(--ic-action-dark)}:host(.dark.checked) ::part(button):hover{background-color:var(--ic-action-dark-hover)}:host(.dark.checked) ::part(button):active,:host(.icon.dark.checked) ::part(button):active{background-color:var(--ic-action-dark-active)}:host(.light.checked) ::part(button){background-color:var(--ic-action-light);color:var(--ic-color-primary-text);box-shadow:inset 0 0 0 var(--ic-space-xxxs) var(--ic-architectural-black)}:host(.light.checked) ::part(button):hover{background-color:var(--ic-action-light-hover)}:host(.light.checked) ::part(button):active,:host(.icon.light.checked) ::part(button):active{background-color:var(--ic-action-light-active)}:host(.light.checked) ::part(button):focus{box-shadow:inset 0 0 0 var(--ic-space-xxxs) var(--ic-architectural-black),\n var(--ic-border-focus)}:host(.disabled) ::part(button),:host(.icon.disabled) ::part(button){border:var(--button-border)}:host(.disabled.checked) ::part(button),:host(.icon.disabled.checked) ::part(button){background-color:transparent}:host(.disabled.checked) ::part(button),:host(.icon.disabled.checked) ::part(button)::before{background-image:radial-gradient(var(--ic-architectural-400) 95%, white 20%);background-repeat:no-repeat}:host(.icon) ::part(button){border:var(--button-border);height:calc(var(--ic-space-xl) + var(--ic-space-xs));width:calc(var(--ic-space-xl) + var(--ic-space-xs))}:host(.icon) ::part(button):active{background-color:var(--ic-action-default-bg-active)}:host(.icon.dark) ::part(button):active{background-color:var(--ic-action-dark-bg-active)}:host(.icon.light) ::part(button):active{background-color:var(--ic-action-light-bg-active)}:host(.icon.small) ::part(button){height:var(--ic-space-xl);width:var(--ic-space-xl)}:host(.icon.large) ::part(button){height:var(--ic-space-xxl);width:var(--ic-space-xxl)}:host(.checked.loading) ::part(button){background-color:var(--button-default-active)}:host(.loading) ::part(ic-loading-container){--inner-color:var(--ic-architectural-white)}:host(.checked.loading.light) ::part(button){background-color:var(--ic-action-light-active)}:host(.checked.loading.dark) ::part(button){background-color:var(--ic-action-dark-active)}';const d=class{constructor(o){t(this,o);this.icToggleChecked=e(this,"icToggleChecked",7);this.handleFocus=t=>{t.stopImmediatePropagation()};this.handleClick=()=>{!this.loading&&!this.disabled&&this.icToggleChecked.emit({checked:this.toggleChecked})};this.accessibleLabel=undefined;this.appearance="default";this.disabled=false;this.fullWidth=false;this.iconPlacement=undefined;this.label=undefined;this.loading=false;this.size="default";this.toggleChecked=false;this.variant="default"}componentWillLoad(){r(this.disabled,this.el)}componentDidLoad(){c([{prop:this.variant==="icon"?this.accessibleLabel:this.label,propName:this.variant==="icon"?"accessible-label":"label"}],"Toggle button")}handleHostClick(t){if(this.disabled){t.stopImmediatePropagation()}else if(!this.loading){this.toggleChecked=!this.toggleChecked}}render(){return o(i,{class:{["disabled"]:this.disabled,["checked"]:this.toggleChecked,[`${this.appearance}`]:true,["icon"]:this.variant==="icon",[`${this.size}`]:true,["loading"]:this.loading},onFocus:this.handleFocus},o("ic-button",{"aria-pressed":this.toggleChecked.toString(),variant:this.variant==="icon"?"icon":"secondary",onClick:this.handleClick,title:this.accessibleLabel,"aria-label":`${this.accessibleLabel?this.accessibleLabel:this.label}, ${this.toggleChecked?"ticked":"unticked"}`,disabled:this.disabled,appearance:this.appearance,size:this.size,fullWidth:this.fullWidth,loading:this.loading,"aria-disabled":`${this.disabled}`},this.variant!=="icon"&&this.label,o("slot",null),n(this.el,"icon")&&o("slot",{name:"icon",slot:`${this.iconPlacement?`${this.iconPlacement}-icon`:"icon"}`}),n(this.el,"badge")&&o("slot",{name:"badge",slot:"badge"})))}static get delegatesFocus(){return true}get el(){return a(this)}};d.style=s;export{d as ic_toggle_button};
2
- //# sourceMappingURL=p-e74f1d09.entry.js.map