@ukic/canary-web-components 3.0.0-canary.2 → 3.0.0-canary.3

Sign up to get free protection for your applications and to get access to all the features.
Files changed (465) hide show
  1. package/dist/cjs/core.cjs.js +1 -1
  2. package/dist/cjs/{helpers-33b42cd6.js → helpers-36cdc6cb.js} +24 -1
  3. package/dist/cjs/helpers-36cdc6cb.js.map +1 -0
  4. package/dist/cjs/{helpers-6817cfbb.js → helpers-a67ad3a4.js} +15 -129
  5. package/dist/cjs/helpers-a67ad3a4.js.map +1 -0
  6. package/dist/cjs/ic-accordion-group.cjs.entry.js +1 -1
  7. package/dist/cjs/ic-accordion.cjs.entry.js +1 -1
  8. package/dist/cjs/ic-alert.cjs.entry.js +2 -2
  9. package/dist/cjs/ic-alert.cjs.entry.js.map +1 -1
  10. package/dist/cjs/ic-back-to-top.cjs.entry.js +1 -1
  11. package/dist/cjs/ic-badge.cjs.entry.js +1 -1
  12. package/dist/cjs/ic-breadcrumb-group.cjs.entry.js +1 -1
  13. package/dist/cjs/ic-breadcrumb.cjs.entry.js +1 -1
  14. package/dist/cjs/ic-button_3.cjs.entry.js +2 -2
  15. package/dist/cjs/ic-button_3.cjs.entry.js.map +1 -1
  16. package/dist/cjs/ic-card-horizontal.cjs.entry.js +1 -1
  17. package/dist/cjs/ic-card-vertical.cjs.entry.js +1 -1
  18. package/dist/cjs/ic-checkbox-group.cjs.entry.js +2 -2
  19. package/dist/cjs/ic-checkbox-group.cjs.entry.js.map +1 -1
  20. package/dist/cjs/ic-checkbox.cjs.entry.js +3 -3
  21. package/dist/cjs/ic-checkbox.cjs.entry.js.map +1 -1
  22. package/dist/cjs/ic-chip.cjs.entry.js +1 -1
  23. package/dist/cjs/ic-data-row.cjs.entry.js +1 -1
  24. package/dist/cjs/ic-data-table-title-bar.cjs.entry.js +1 -1
  25. package/dist/cjs/ic-data-table.cjs.entry.js +23 -2
  26. package/dist/cjs/ic-data-table.cjs.entry.js.map +1 -1
  27. package/dist/cjs/ic-date-input.cjs.entry.js +10 -9
  28. package/dist/cjs/ic-date-input.cjs.entry.js.map +1 -1
  29. package/dist/cjs/ic-date-picker.cjs.entry.js +3 -1
  30. package/dist/cjs/ic-date-picker.cjs.entry.js.map +1 -1
  31. package/dist/cjs/ic-dialog.cjs.entry.js +1 -1
  32. package/dist/cjs/ic-divider.cjs.entry.js +1 -1
  33. package/dist/cjs/ic-empty-state_2.cjs.entry.js +9 -8
  34. package/dist/cjs/ic-empty-state_2.cjs.entry.js.map +1 -1
  35. package/dist/cjs/ic-footer-link-group.cjs.entry.js +1 -1
  36. package/dist/cjs/ic-footer-link.cjs.entry.js +1 -1
  37. package/dist/cjs/ic-footer.cjs.entry.js +1 -1
  38. package/dist/cjs/ic-hero.cjs.entry.js +1 -1
  39. package/dist/cjs/ic-horizontal-scroll.cjs.entry.js +1 -1
  40. package/dist/cjs/ic-input-component-container_3.cjs.entry.js +1012 -0
  41. package/dist/cjs/ic-input-component-container_3.cjs.entry.js.map +1 -0
  42. package/dist/cjs/ic-input-label_2.cjs.entry.js +86 -0
  43. package/dist/cjs/ic-input-label_2.cjs.entry.js.map +1 -0
  44. package/dist/cjs/ic-link.cjs.entry.js +1 -1
  45. package/dist/cjs/ic-menu-group.cjs.entry.js +2 -2
  46. package/dist/cjs/ic-menu-group.cjs.entry.js.map +1 -1
  47. package/dist/cjs/ic-menu-item.cjs.entry.js +2 -2
  48. package/dist/cjs/ic-menu-item.cjs.entry.js.map +1 -1
  49. package/dist/cjs/ic-navigation-button.cjs.entry.js +1 -1
  50. package/dist/cjs/ic-navigation-group.cjs.entry.js +2 -2
  51. package/dist/cjs/ic-navigation-group.cjs.entry.js.map +1 -1
  52. package/dist/cjs/ic-navigation-item.cjs.entry.js +1 -1
  53. package/dist/cjs/ic-navigation-menu.cjs.entry.js +1 -1
  54. package/dist/cjs/ic-page-header.cjs.entry.js +5 -5
  55. package/dist/cjs/ic-page-header.cjs.entry.js.map +1 -1
  56. package/dist/cjs/ic-pagination_4.cjs.entry.js +148 -38
  57. package/dist/cjs/ic-pagination_4.cjs.entry.js.map +1 -1
  58. package/dist/cjs/ic-popover-menu.cjs.entry.js +9 -9
  59. package/dist/cjs/ic-popover-menu.cjs.entry.js.map +1 -1
  60. package/dist/cjs/ic-radio-group.cjs.entry.js +2 -2
  61. package/dist/cjs/ic-radio-group.cjs.entry.js.map +1 -1
  62. package/dist/cjs/ic-radio-option.cjs.entry.js +27 -22
  63. package/dist/cjs/ic-radio-option.cjs.entry.js.map +1 -1
  64. package/dist/cjs/ic-search-bar.cjs.entry.js +2 -2
  65. package/dist/cjs/ic-search-bar.cjs.entry.js.map +1 -1
  66. package/dist/cjs/ic-side-navigation.cjs.entry.js +1 -1
  67. package/dist/cjs/ic-status-tag.cjs.entry.js +1 -1
  68. package/dist/cjs/ic-step.cjs.entry.js +1 -1
  69. package/dist/cjs/ic-stepper.cjs.entry.js +1 -1
  70. package/dist/cjs/ic-switch.cjs.entry.js +7 -4
  71. package/dist/cjs/ic-switch.cjs.entry.js.map +1 -1
  72. package/dist/cjs/ic-tab-group.cjs.entry.js +1 -1
  73. package/dist/cjs/ic-tab-panel.cjs.entry.js +1 -1
  74. package/dist/cjs/ic-tab.cjs.entry.js +1 -1
  75. package/dist/cjs/ic-theme.cjs.entry.js +1 -1
  76. package/dist/cjs/ic-toast.cjs.entry.js +1 -1
  77. package/dist/cjs/ic-toggle-button.cjs.entry.js +1 -1
  78. package/dist/cjs/ic-top-navigation.cjs.entry.js +1 -1
  79. package/dist/cjs/ic-tree-item.cjs.entry.js +5 -3
  80. package/dist/cjs/ic-tree-item.cjs.entry.js.map +1 -1
  81. package/dist/cjs/ic-tree-view.cjs.entry.js +10 -2
  82. package/dist/cjs/ic-tree-view.cjs.entry.js.map +1 -1
  83. package/dist/cjs/ic-typography.cjs.entry.js +1 -1
  84. package/dist/cjs/index-4cf27b16.js +4 -12
  85. package/dist/cjs/loader.cjs.js +1 -1
  86. package/dist/collection/collection-manifest.json +0 -2
  87. package/dist/collection/components/ic-data-table/ic-data-table.js +24 -3
  88. package/dist/collection/components/ic-data-table/ic-data-table.js.map +1 -1
  89. package/dist/collection/components/ic-date-input/ic-date-input.js +27 -8
  90. package/dist/collection/components/ic-date-input/ic-date-input.js.map +1 -1
  91. package/dist/collection/components/ic-date-picker/ic-date-picker.js +20 -0
  92. package/dist/collection/components/ic-date-picker/ic-date-picker.js.map +1 -1
  93. package/dist/collection/components/ic-pagination-bar/ic-pagination-bar.js +26 -7
  94. package/dist/collection/components/ic-pagination-bar/ic-pagination-bar.js.map +1 -1
  95. package/dist/collection/components/ic-tree-item/ic-tree-item.css +11 -0
  96. package/dist/collection/components/ic-tree-item/ic-tree-item.js +23 -3
  97. package/dist/collection/components/ic-tree-item/ic-tree-item.js.map +1 -1
  98. package/dist/collection/components/ic-tree-view/ic-tree-view.js +29 -1
  99. package/dist/collection/components/ic-tree-view/ic-tree-view.js.map +1 -1
  100. package/dist/collection/utils/helpers.js +1 -1
  101. package/dist/collection/utils/helpers.js.map +1 -1
  102. package/dist/collection/utils/types.js.map +1 -1
  103. package/dist/components/helpers.js +22 -1
  104. package/dist/components/helpers.js.map +1 -1
  105. package/dist/components/helpers2.js +14 -121
  106. package/dist/components/helpers2.js.map +1 -1
  107. package/dist/components/ic-alert.js +1 -1
  108. package/dist/components/ic-alert.js.map +1 -1
  109. package/dist/components/ic-checkbox-group.js +1 -1
  110. package/dist/components/ic-checkbox-group.js.map +1 -1
  111. package/dist/components/ic-checkbox.js +2 -2
  112. package/dist/components/ic-checkbox.js.map +1 -1
  113. package/dist/components/ic-data-table.js +23 -2
  114. package/dist/components/ic-data-table.js.map +1 -1
  115. package/dist/components/ic-date-input2.js +11 -9
  116. package/dist/components/ic-date-input2.js.map +1 -1
  117. package/dist/components/ic-date-picker.js +4 -1
  118. package/dist/components/ic-date-picker.js.map +1 -1
  119. package/dist/components/ic-footer.js +1 -1
  120. package/dist/components/ic-horizontal-scroll2.js +1 -1
  121. package/dist/components/ic-input-label2.js +10 -6
  122. package/dist/components/ic-input-label2.js.map +1 -1
  123. package/dist/components/ic-loading-indicator2.js +1 -1
  124. package/dist/components/ic-loading-indicator2.js.map +1 -1
  125. package/dist/components/ic-menu-group.js +1 -1
  126. package/dist/components/ic-menu-group.js.map +1 -1
  127. package/dist/components/ic-menu-item2.js +1 -1
  128. package/dist/components/ic-menu-item2.js.map +1 -1
  129. package/dist/components/ic-menu2.js +450 -167
  130. package/dist/components/ic-menu2.js.map +1 -1
  131. package/dist/components/ic-navigation-group.js +2 -2
  132. package/dist/components/ic-navigation-group.js.map +1 -1
  133. package/dist/components/ic-navigation-item.js +1 -1
  134. package/dist/components/ic-navigation-menu2.js +1 -1
  135. package/dist/components/ic-page-header.js +4 -4
  136. package/dist/components/ic-page-header.js.map +1 -1
  137. package/dist/components/ic-pagination-bar2.js +9 -7
  138. package/dist/components/ic-pagination-bar2.js.map +1 -1
  139. package/dist/components/ic-pagination-item2.js +1 -1
  140. package/dist/components/ic-popover-menu.js +10 -9
  141. package/dist/components/ic-popover-menu.js.map +1 -1
  142. package/dist/components/ic-radio-group.js +1 -1
  143. package/dist/components/ic-radio-group.js.map +1 -1
  144. package/dist/components/ic-radio-option.js +27 -22
  145. package/dist/components/ic-radio-option.js.map +1 -1
  146. package/dist/components/ic-search-bar.js +2 -2
  147. package/dist/components/ic-search-bar.js.map +1 -1
  148. package/dist/components/ic-select2.js +148 -37
  149. package/dist/components/ic-select2.js.map +1 -1
  150. package/dist/components/ic-side-navigation.js +1 -1
  151. package/dist/components/ic-stepper.js +1 -1
  152. package/dist/components/ic-switch.js +7 -3
  153. package/dist/components/ic-switch.js.map +1 -1
  154. package/dist/components/ic-text-field2.js +2 -2
  155. package/dist/components/ic-text-field2.js.map +1 -1
  156. package/dist/components/ic-theme.js +1 -1
  157. package/dist/components/ic-toast.js +1 -1
  158. package/dist/components/ic-top-navigation.js +1 -1
  159. package/dist/components/ic-tree-item.js +5 -2
  160. package/dist/components/ic-tree-item.js.map +1 -1
  161. package/dist/components/ic-tree-view.js +12 -2
  162. package/dist/components/ic-tree-view.js.map +1 -1
  163. package/dist/core/core.css +580 -10
  164. package/dist/core/core.esm.js +1 -1
  165. package/dist/core/core.esm.js.map +1 -1
  166. package/dist/core/{p-c033e7d6.entry.js → p-036d251b.entry.js} +2 -2
  167. package/dist/core/{p-9397b15b.js → p-043cf5de.js} +2 -2
  168. package/dist/core/p-043cf5de.js.map +1 -0
  169. package/dist/core/p-044689ef.entry.js +2 -0
  170. package/dist/core/p-044689ef.entry.js.map +1 -0
  171. package/dist/core/p-095da817.entry.js +2 -0
  172. package/dist/core/p-095da817.entry.js.map +1 -0
  173. package/dist/core/{p-d2e7a256.entry.js → p-13d2db9b.entry.js} +2 -2
  174. package/dist/core/p-13e01a1e.entry.js +2 -0
  175. package/dist/core/p-13e01a1e.entry.js.map +1 -0
  176. package/dist/core/p-1ae71507.entry.js +2 -0
  177. package/dist/core/p-1ae71507.entry.js.map +1 -0
  178. package/dist/core/p-2200ca85.entry.js +2 -0
  179. package/dist/core/p-2200ca85.entry.js.map +1 -0
  180. package/dist/core/{p-42e0f3bd.entry.js → p-2257f5e8.entry.js} +2 -2
  181. package/dist/core/{p-897b8d16.entry.js → p-24d03bbd.entry.js} +2 -2
  182. package/dist/core/{p-a78cf2cb.entry.js → p-266098ee.entry.js} +2 -2
  183. package/dist/core/{p-bb1252fa.entry.js → p-26613dbd.entry.js} +2 -2
  184. package/dist/core/p-283a2274.entry.js +2 -0
  185. package/dist/core/p-283a2274.entry.js.map +1 -0
  186. package/dist/core/{p-77a32de5.entry.js → p-2a3bd99a.entry.js} +2 -2
  187. package/dist/core/p-42f88966.entry.js +2 -0
  188. package/dist/core/p-42f88966.entry.js.map +1 -0
  189. package/dist/core/{p-7c268030.entry.js → p-48a78218.entry.js} +2 -2
  190. package/dist/core/p-4e316ae5.entry.js +2 -0
  191. package/dist/core/p-4e316ae5.entry.js.map +1 -0
  192. package/dist/core/p-50dd2744.entry.js +2 -0
  193. package/dist/core/p-50dd2744.entry.js.map +1 -0
  194. package/dist/core/{p-4e28ef60.entry.js → p-51ea45cb.entry.js} +2 -2
  195. package/dist/core/{p-4e28ef60.entry.js.map → p-51ea45cb.entry.js.map} +1 -1
  196. package/dist/core/p-5458d818.entry.js +2 -0
  197. package/dist/core/p-5458d818.entry.js.map +1 -0
  198. package/dist/core/{p-202bc922.entry.js → p-5ad1a7fb.entry.js} +2 -2
  199. package/dist/core/{p-f9810621.entry.js → p-5b061abc.entry.js} +2 -2
  200. package/dist/core/{p-6beffd0e.entry.js → p-6727166b.entry.js} +2 -2
  201. package/dist/core/{p-8ca2e329.entry.js → p-6dc00a8f.entry.js} +2 -2
  202. package/dist/core/{p-aeb6016c.entry.js → p-6dffaac0.entry.js} +2 -2
  203. package/dist/core/{p-aeb6016c.entry.js.map → p-6dffaac0.entry.js.map} +1 -1
  204. package/dist/core/p-6fd89ed5.entry.js +2 -0
  205. package/dist/core/p-6fd89ed5.entry.js.map +1 -0
  206. package/dist/core/{p-d5ca3bcb.entry.js → p-7aa6b76e.entry.js} +2 -2
  207. package/dist/core/{p-e5d99316.entry.js → p-7b90f0ae.entry.js} +2 -2
  208. package/dist/core/{p-30b046b2.entry.js → p-7e5b0fff.entry.js} +2 -2
  209. package/dist/core/{p-50019ede.entry.js → p-80b296cd.entry.js} +2 -2
  210. package/dist/core/{p-eb65e556.entry.js → p-82aa8136.entry.js} +2 -2
  211. package/dist/core/{p-2e49fb22.entry.js → p-83b4efe2.entry.js} +2 -2
  212. package/dist/core/p-83e4d955.entry.js +2 -0
  213. package/dist/core/p-83e4d955.entry.js.map +1 -0
  214. package/dist/core/{p-d3c0bffb.entry.js → p-86b608b5.entry.js} +2 -2
  215. package/dist/core/p-86b608b5.entry.js.map +1 -0
  216. package/dist/core/{p-5accf0bb.entry.js → p-878df16f.entry.js} +2 -2
  217. package/dist/core/p-89be0a21.js +2 -0
  218. package/dist/core/p-89be0a21.js.map +1 -0
  219. package/dist/core/{p-1fe35de1.entry.js → p-8bec76d1.entry.js} +2 -2
  220. package/dist/core/p-94141606.entry.js +2 -0
  221. package/dist/core/p-94141606.entry.js.map +1 -0
  222. package/dist/core/{p-1109636a.entry.js → p-94416b6b.entry.js} +2 -2
  223. package/dist/core/{p-4dcc37e7.entry.js → p-a4439688.entry.js} +2 -2
  224. package/dist/core/{p-8f12659d.entry.js → p-a8106c56.entry.js} +2 -2
  225. package/dist/core/p-a8106c56.entry.js.map +1 -0
  226. package/dist/core/{p-130a05cf.entry.js → p-affd7f55.entry.js} +2 -2
  227. package/dist/core/{p-486d8d43.entry.js → p-b3d93bc1.entry.js} +2 -2
  228. package/dist/core/{p-c1698936.entry.js → p-bac2beeb.entry.js} +2 -2
  229. package/dist/core/{p-53e00a8a.entry.js → p-c29b2b48.entry.js} +2 -2
  230. package/dist/core/{p-ed4cde5a.entry.js → p-c40c57ee.entry.js} +2 -2
  231. package/dist/core/{p-b0751bd9.entry.js → p-c6a62d1b.entry.js} +2 -2
  232. package/dist/core/{p-0ab10600.entry.js → p-cc22644d.entry.js} +2 -2
  233. package/dist/core/p-cfd81370.entry.js +2 -0
  234. package/dist/core/p-cfd81370.entry.js.map +1 -0
  235. package/dist/core/p-d53fb899.entry.js +2 -0
  236. package/dist/core/p-d53fb899.entry.js.map +1 -0
  237. package/dist/core/{p-28323849.entry.js → p-d5e9cf81.entry.js} +2 -2
  238. package/dist/core/{p-505250cf.entry.js → p-d7632baf.entry.js} +2 -2
  239. package/dist/core/{p-7c80d79c.entry.js → p-dcccd9c1.entry.js} +2 -2
  240. package/dist/core/{p-42883e4c.entry.js → p-edfd0946.entry.js} +2 -2
  241. package/dist/core/p-edfd0946.entry.js.map +1 -0
  242. package/dist/core/{p-7c78f6c6.entry.js → p-f1842a68.entry.js} +2 -2
  243. package/dist/core/p-f1842a68.entry.js.map +1 -0
  244. package/dist/core/p-f8c1d7e8.entry.js +2 -0
  245. package/dist/core/p-f8c1d7e8.entry.js.map +1 -0
  246. package/dist/core/{p-d03374fc.entry.js → p-fbb5c8f2.entry.js} +2 -2
  247. package/dist/core/{p-a9151d0b.entry.js → p-fc2f336d.entry.js} +2 -2
  248. package/dist/esm/core.js +1 -1
  249. package/dist/esm/{helpers-5bd2012a.js → helpers-a7b13f5a.js} +15 -122
  250. package/dist/esm/helpers-a7b13f5a.js.map +1 -0
  251. package/dist/esm/{helpers-dab8ddfe.js → helpers-c326255f.js} +23 -2
  252. package/dist/esm/helpers-c326255f.js.map +1 -0
  253. package/dist/esm/ic-accordion-group.entry.js +1 -1
  254. package/dist/esm/ic-accordion.entry.js +1 -1
  255. package/dist/esm/ic-alert.entry.js +2 -2
  256. package/dist/esm/ic-alert.entry.js.map +1 -1
  257. package/dist/esm/ic-back-to-top.entry.js +1 -1
  258. package/dist/esm/ic-badge.entry.js +1 -1
  259. package/dist/esm/ic-breadcrumb-group.entry.js +1 -1
  260. package/dist/esm/ic-breadcrumb.entry.js +1 -1
  261. package/dist/esm/ic-button_3.entry.js +2 -2
  262. package/dist/esm/ic-button_3.entry.js.map +1 -1
  263. package/dist/esm/ic-card-horizontal.entry.js +1 -1
  264. package/dist/esm/ic-card-vertical.entry.js +1 -1
  265. package/dist/esm/ic-checkbox-group.entry.js +2 -2
  266. package/dist/esm/ic-checkbox-group.entry.js.map +1 -1
  267. package/dist/esm/ic-checkbox.entry.js +3 -3
  268. package/dist/esm/ic-checkbox.entry.js.map +1 -1
  269. package/dist/esm/ic-chip.entry.js +1 -1
  270. package/dist/esm/ic-data-row.entry.js +1 -1
  271. package/dist/esm/ic-data-table-title-bar.entry.js +1 -1
  272. package/dist/esm/ic-data-table.entry.js +23 -2
  273. package/dist/esm/ic-data-table.entry.js.map +1 -1
  274. package/dist/esm/ic-date-input.entry.js +10 -9
  275. package/dist/esm/ic-date-input.entry.js.map +1 -1
  276. package/dist/esm/ic-date-picker.entry.js +3 -1
  277. package/dist/esm/ic-date-picker.entry.js.map +1 -1
  278. package/dist/esm/ic-dialog.entry.js +1 -1
  279. package/dist/esm/ic-divider.entry.js +1 -1
  280. package/dist/esm/ic-empty-state_2.entry.js +9 -8
  281. package/dist/esm/ic-empty-state_2.entry.js.map +1 -1
  282. package/dist/esm/ic-footer-link-group.entry.js +1 -1
  283. package/dist/esm/ic-footer-link.entry.js +1 -1
  284. package/dist/esm/ic-footer.entry.js +1 -1
  285. package/dist/esm/ic-hero.entry.js +1 -1
  286. package/dist/esm/ic-horizontal-scroll.entry.js +1 -1
  287. package/dist/{collection/components/ic-menu-with-multi/ic-menu.js → esm/ic-input-component-container_3.entry.js} +157 -727
  288. package/dist/esm/ic-input-component-container_3.entry.js.map +1 -0
  289. package/dist/esm/ic-input-label_2.entry.js +81 -0
  290. package/dist/esm/ic-input-label_2.entry.js.map +1 -0
  291. package/dist/esm/ic-link.entry.js +1 -1
  292. package/dist/esm/ic-menu-group.entry.js +2 -2
  293. package/dist/esm/ic-menu-group.entry.js.map +1 -1
  294. package/dist/esm/ic-menu-item.entry.js +2 -2
  295. package/dist/esm/ic-menu-item.entry.js.map +1 -1
  296. package/dist/esm/ic-navigation-button.entry.js +1 -1
  297. package/dist/esm/ic-navigation-group.entry.js +2 -2
  298. package/dist/esm/ic-navigation-group.entry.js.map +1 -1
  299. package/dist/esm/ic-navigation-item.entry.js +1 -1
  300. package/dist/esm/ic-navigation-menu.entry.js +1 -1
  301. package/dist/esm/ic-page-header.entry.js +5 -5
  302. package/dist/esm/ic-page-header.entry.js.map +1 -1
  303. package/dist/esm/ic-pagination_4.entry.js +148 -38
  304. package/dist/esm/ic-pagination_4.entry.js.map +1 -1
  305. package/dist/esm/ic-popover-menu.entry.js +9 -9
  306. package/dist/esm/ic-popover-menu.entry.js.map +1 -1
  307. package/dist/esm/ic-radio-group.entry.js +2 -2
  308. package/dist/esm/ic-radio-group.entry.js.map +1 -1
  309. package/dist/esm/ic-radio-option.entry.js +27 -22
  310. package/dist/esm/ic-radio-option.entry.js.map +1 -1
  311. package/dist/esm/ic-search-bar.entry.js +2 -2
  312. package/dist/esm/ic-search-bar.entry.js.map +1 -1
  313. package/dist/esm/ic-side-navigation.entry.js +1 -1
  314. package/dist/esm/ic-status-tag.entry.js +1 -1
  315. package/dist/esm/ic-step.entry.js +1 -1
  316. package/dist/esm/ic-stepper.entry.js +1 -1
  317. package/dist/esm/ic-switch.entry.js +7 -4
  318. package/dist/esm/ic-switch.entry.js.map +1 -1
  319. package/dist/esm/ic-tab-group.entry.js +1 -1
  320. package/dist/esm/ic-tab-panel.entry.js +1 -1
  321. package/dist/esm/ic-tab.entry.js +1 -1
  322. package/dist/esm/ic-theme.entry.js +1 -1
  323. package/dist/esm/ic-toast.entry.js +1 -1
  324. package/dist/esm/ic-toggle-button.entry.js +1 -1
  325. package/dist/esm/ic-top-navigation.entry.js +1 -1
  326. package/dist/esm/ic-tree-item.entry.js +5 -3
  327. package/dist/esm/ic-tree-item.entry.js.map +1 -1
  328. package/dist/esm/ic-tree-view.entry.js +10 -2
  329. package/dist/esm/ic-tree-view.entry.js.map +1 -1
  330. package/dist/esm/ic-typography.entry.js +1 -1
  331. package/dist/esm/index-93509377.js +4 -12
  332. package/dist/esm/loader.js +1 -1
  333. package/dist/types/components/ic-data-table/ic-data-table.d.ts +2 -0
  334. package/dist/types/components/ic-date-input/ic-date-input.d.ts +4 -0
  335. package/dist/types/components/ic-date-picker/ic-date-picker.d.ts +4 -0
  336. package/dist/types/components/ic-pagination-bar/ic-pagination-bar.d.ts +5 -1
  337. package/dist/types/components/ic-tree-item/ic-tree-item.d.ts +5 -1
  338. package/dist/types/components/ic-tree-view/ic-tree-view.d.ts +5 -0
  339. package/dist/types/components.d.ts +46 -469
  340. package/dist/types/utils/helpers.d.ts +1 -1
  341. package/dist/types/utils/types.d.ts +1 -0
  342. package/hydrate/index.js +3612 -6848
  343. package/package.json +3 -3
  344. package/dist/cjs/helpers-33b42cd6.js.map +0 -1
  345. package/dist/cjs/helpers-6817cfbb.js.map +0 -1
  346. package/dist/cjs/ic-input-component-container_4.cjs.entry.js +0 -156
  347. package/dist/cjs/ic-input-component-container_4.cjs.entry.js.map +0 -1
  348. package/dist/cjs/ic-menu-with-multi.cjs.entry.js +0 -2738
  349. package/dist/cjs/ic-menu-with-multi.cjs.entry.js.map +0 -1
  350. package/dist/cjs/ic-menu.cjs.entry.js +0 -658
  351. package/dist/cjs/ic-menu.cjs.entry.js.map +0 -1
  352. package/dist/cjs/ic-select-with-multi.cjs.entry.js +0 -788
  353. package/dist/cjs/ic-select-with-multi.cjs.entry.js.map +0 -1
  354. package/dist/collection/components/ic-menu-with-multi/ic-menu.css +0 -712
  355. package/dist/collection/components/ic-menu-with-multi/ic-menu.js.map +0 -1
  356. package/dist/collection/components/ic-menu-with-multi/test/basic/ic-menu.spec.js +0 -1057
  357. package/dist/collection/components/ic-menu-with-multi/test/basic/ic-menu.spec.js.map +0 -1
  358. package/dist/collection/components/ic-select-with-multi/assets/Check.svg +0 -3
  359. package/dist/collection/components/ic-select-with-multi/assets/Clear.svg +0 -3
  360. package/dist/collection/components/ic-select-with-multi/assets/Expand.svg +0 -3
  361. package/dist/collection/components/ic-select-with-multi/ic-select.css +0 -695
  362. package/dist/collection/components/ic-select-with-multi/ic-select.js +0 -1520
  363. package/dist/collection/components/ic-select-with-multi/ic-select.js.map +0 -1
  364. package/dist/collection/components/ic-select-with-multi/story-data.js +0 -216
  365. package/dist/collection/components/ic-select-with-multi/story-data.js.map +0 -1
  366. package/dist/collection/components/ic-select-with-multi/test/basic/ic-select.spec.js +0 -1518
  367. package/dist/collection/components/ic-select-with-multi/test/basic/ic-select.spec.js.map +0 -1
  368. package/dist/components/ic-menu-with-multi.d.ts +0 -11
  369. package/dist/components/ic-menu-with-multi.js +0 -8
  370. package/dist/components/ic-menu-with-multi.js.map +0 -1
  371. package/dist/components/ic-menu3.js +0 -2803
  372. package/dist/components/ic-menu3.js.map +0 -1
  373. package/dist/components/ic-select-with-multi.d.ts +0 -11
  374. package/dist/components/ic-select-with-multi.js +0 -906
  375. package/dist/components/ic-select-with-multi.js.map +0 -1
  376. package/dist/core/p-0894cab1.entry.js +0 -2
  377. package/dist/core/p-0894cab1.entry.js.map +0 -1
  378. package/dist/core/p-1e2aa8a6.entry.js +0 -2
  379. package/dist/core/p-1e2aa8a6.entry.js.map +0 -1
  380. package/dist/core/p-297e99cf.js +0 -2
  381. package/dist/core/p-297e99cf.js.map +0 -1
  382. package/dist/core/p-2ff4e283.entry.js +0 -2
  383. package/dist/core/p-2ff4e283.entry.js.map +0 -1
  384. package/dist/core/p-3db785f0.entry.js +0 -2
  385. package/dist/core/p-3db785f0.entry.js.map +0 -1
  386. package/dist/core/p-42883e4c.entry.js.map +0 -1
  387. package/dist/core/p-59028160.entry.js +0 -2
  388. package/dist/core/p-59028160.entry.js.map +0 -1
  389. package/dist/core/p-5b7dfe57.entry.js +0 -2
  390. package/dist/core/p-5b7dfe57.entry.js.map +0 -1
  391. package/dist/core/p-603fea14.entry.js +0 -2
  392. package/dist/core/p-603fea14.entry.js.map +0 -1
  393. package/dist/core/p-64933069.entry.js +0 -2
  394. package/dist/core/p-64933069.entry.js.map +0 -1
  395. package/dist/core/p-7c78f6c6.entry.js.map +0 -1
  396. package/dist/core/p-8df49808.entry.js +0 -2
  397. package/dist/core/p-8df49808.entry.js.map +0 -1
  398. package/dist/core/p-8f12659d.entry.js.map +0 -1
  399. package/dist/core/p-903ee57e.entry.js +0 -2
  400. package/dist/core/p-903ee57e.entry.js.map +0 -1
  401. package/dist/core/p-92e3ccb9.entry.js +0 -2
  402. package/dist/core/p-92e3ccb9.entry.js.map +0 -1
  403. package/dist/core/p-9397b15b.js.map +0 -1
  404. package/dist/core/p-9b54feca.entry.js +0 -2
  405. package/dist/core/p-9b54feca.entry.js.map +0 -1
  406. package/dist/core/p-acc76b80.entry.js +0 -2
  407. package/dist/core/p-acc76b80.entry.js.map +0 -1
  408. package/dist/core/p-c1e90c85.entry.js +0 -2
  409. package/dist/core/p-c1e90c85.entry.js.map +0 -1
  410. package/dist/core/p-cb63e656.entry.js +0 -2
  411. package/dist/core/p-cb63e656.entry.js.map +0 -1
  412. package/dist/core/p-d3c0bffb.entry.js.map +0 -1
  413. package/dist/core/p-da3e8c54.entry.js +0 -2
  414. package/dist/core/p-da3e8c54.entry.js.map +0 -1
  415. package/dist/core/p-ec53b435.entry.js +0 -2
  416. package/dist/core/p-ec53b435.entry.js.map +0 -1
  417. package/dist/core/p-fb7b99dd.entry.js +0 -2
  418. package/dist/core/p-fb7b99dd.entry.js.map +0 -1
  419. package/dist/esm/helpers-5bd2012a.js.map +0 -1
  420. package/dist/esm/helpers-dab8ddfe.js.map +0 -1
  421. package/dist/esm/ic-input-component-container_4.entry.js +0 -149
  422. package/dist/esm/ic-input-component-container_4.entry.js.map +0 -1
  423. package/dist/esm/ic-menu-with-multi.entry.js +0 -2734
  424. package/dist/esm/ic-menu-with-multi.entry.js.map +0 -1
  425. package/dist/esm/ic-menu.entry.js +0 -654
  426. package/dist/esm/ic-menu.entry.js.map +0 -1
  427. package/dist/esm/ic-select-with-multi.entry.js +0 -784
  428. package/dist/esm/ic-select-with-multi.entry.js.map +0 -1
  429. package/dist/types/components/ic-menu-with-multi/ic-menu.d.ts +0 -214
  430. package/dist/types/components/ic-select-with-multi/ic-select.d.ts +0 -259
  431. package/dist/types/components/ic-select-with-multi/story-data.d.ts +0 -32
  432. /package/dist/core/{p-c033e7d6.entry.js.map → p-036d251b.entry.js.map} +0 -0
  433. /package/dist/core/{p-d2e7a256.entry.js.map → p-13d2db9b.entry.js.map} +0 -0
  434. /package/dist/core/{p-42e0f3bd.entry.js.map → p-2257f5e8.entry.js.map} +0 -0
  435. /package/dist/core/{p-897b8d16.entry.js.map → p-24d03bbd.entry.js.map} +0 -0
  436. /package/dist/core/{p-a78cf2cb.entry.js.map → p-266098ee.entry.js.map} +0 -0
  437. /package/dist/core/{p-bb1252fa.entry.js.map → p-26613dbd.entry.js.map} +0 -0
  438. /package/dist/core/{p-77a32de5.entry.js.map → p-2a3bd99a.entry.js.map} +0 -0
  439. /package/dist/core/{p-7c268030.entry.js.map → p-48a78218.entry.js.map} +0 -0
  440. /package/dist/core/{p-202bc922.entry.js.map → p-5ad1a7fb.entry.js.map} +0 -0
  441. /package/dist/core/{p-f9810621.entry.js.map → p-5b061abc.entry.js.map} +0 -0
  442. /package/dist/core/{p-6beffd0e.entry.js.map → p-6727166b.entry.js.map} +0 -0
  443. /package/dist/core/{p-8ca2e329.entry.js.map → p-6dc00a8f.entry.js.map} +0 -0
  444. /package/dist/core/{p-d5ca3bcb.entry.js.map → p-7aa6b76e.entry.js.map} +0 -0
  445. /package/dist/core/{p-e5d99316.entry.js.map → p-7b90f0ae.entry.js.map} +0 -0
  446. /package/dist/core/{p-30b046b2.entry.js.map → p-7e5b0fff.entry.js.map} +0 -0
  447. /package/dist/core/{p-50019ede.entry.js.map → p-80b296cd.entry.js.map} +0 -0
  448. /package/dist/core/{p-eb65e556.entry.js.map → p-82aa8136.entry.js.map} +0 -0
  449. /package/dist/core/{p-2e49fb22.entry.js.map → p-83b4efe2.entry.js.map} +0 -0
  450. /package/dist/core/{p-5accf0bb.entry.js.map → p-878df16f.entry.js.map} +0 -0
  451. /package/dist/core/{p-1fe35de1.entry.js.map → p-8bec76d1.entry.js.map} +0 -0
  452. /package/dist/core/{p-1109636a.entry.js.map → p-94416b6b.entry.js.map} +0 -0
  453. /package/dist/core/{p-4dcc37e7.entry.js.map → p-a4439688.entry.js.map} +0 -0
  454. /package/dist/core/{p-130a05cf.entry.js.map → p-affd7f55.entry.js.map} +0 -0
  455. /package/dist/core/{p-486d8d43.entry.js.map → p-b3d93bc1.entry.js.map} +0 -0
  456. /package/dist/core/{p-c1698936.entry.js.map → p-bac2beeb.entry.js.map} +0 -0
  457. /package/dist/core/{p-53e00a8a.entry.js.map → p-c29b2b48.entry.js.map} +0 -0
  458. /package/dist/core/{p-ed4cde5a.entry.js.map → p-c40c57ee.entry.js.map} +0 -0
  459. /package/dist/core/{p-b0751bd9.entry.js.map → p-c6a62d1b.entry.js.map} +0 -0
  460. /package/dist/core/{p-0ab10600.entry.js.map → p-cc22644d.entry.js.map} +0 -0
  461. /package/dist/core/{p-28323849.entry.js.map → p-d5e9cf81.entry.js.map} +0 -0
  462. /package/dist/core/{p-505250cf.entry.js.map → p-d7632baf.entry.js.map} +0 -0
  463. /package/dist/core/{p-7c80d79c.entry.js.map → p-dcccd9c1.entry.js.map} +0 -0
  464. /package/dist/core/{p-d03374fc.entry.js.map → p-fbb5c8f2.entry.js.map} +0 -0
  465. /package/dist/core/{p-a9151d0b.entry.js.map → p-fc2f336d.entry.js.map} +0 -0
@@ -0,0 +1,2 @@
1
+ import{r as t,c as i,h as e,F as s,H as o,g as n}from"./p-8455d1bb.js";import{d as a,a as l,p as h,i as r,b as d,e as c}from"./p-89be0a21.js";const u=`<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 v=`<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 g=`<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 p=':host{position:relative;display:inline-flex;max-height:100%;width:var(--table-width, 100%);height:100%;min-width:var(--table-min-width);max-width:var(--table-max-width)}tbody{vertical-align:top}.table-container{position:relative;height:calc(100% - var(--ic-space-xxxs));display:flex;flex-direction:column;width:100%}.cell-container{display:flex;min-height:1.5rem;overflow-y:hidden;height:var(--row-height)}.truncation-show-hide{overflow:visible;display:block}.cell-icon.truncation-show-hide{display:flex}.cell-container:not(.data-type-element,.truncation-show-hide){overflow-x:hidden}ic-loading-indicator{position:sticky;top:20px}ic-loading-indicator.ic-theme-dark{--inner-color:var(--ic-action-default-dark);--outer-color:var(--ic-action-neutral-light);--label-color:var(--ic-color-text-primary-dark)}ic-loading-indicator.ic-theme-dark.ic-loading-indicator-monochrome{--inner-color:var(--ic-action-light);--outer-color:var(--ic-action-neutral-dark);--label-color:var(--ic-color-text-inverse-dark)}.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:var(--table-layout, "fixed");border-spacing:0;width:100%;height:var(--table-height, auto)}.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-row-container{border:var(--ic-border-light)}.column-header-inner-container{padding:var(--ic-space-xs);box-sizing:border-box}.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-pressed)}.sort-button svg{color:var(--ic-architectural-black)}.sort-button-unsorted svg{color:var(--ic-color-text-tertiary)}.table-density-dense .column-header-inner-container,td.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 .column-header-inner-container,td.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)}.row-header,.column-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{padding:0;width:var(--column-width);min-width:var(--column-min-width, 4rem);max-width:var(--column-max-width)}.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;justify-content:start !important}.column-header-alignment-right,.row-header-alignment-right,.cell-alignment-right{text-align:right !important;justify-content:end !important}.cell-alignment-right.truncation-tooltip ic-tooltip ic-typography{padding-right:calc(var(--ic-space-xxs) + var(--ic-space-xs))}.cell-alignment-right.truncation-show-hide ic-typography{--ellipsis-padding-right:calc(var(--ic-space-xxs) + var(--ic-space-xs))}.column-header-alignment-center,.row-header-alignment-center,.cell-alignment-center{text-align:center !important;justify-content: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);overflow:hidden;box-sizing:border-box;max-width:var(--column-max-width);min-width:var(--column-min-width)}.table-cell.with-overflow{overflow:visible}.data-type-string,.data-type-address{text-align:left;vertical-align:top}.data-type-number,.data-type-date{text-align:right;justify-content:end;vertical-align:top}.cell-alignment-top{vertical-align:top;align-items:flex-start}.cell-alignment-middle{vertical-align:middle;align-items:center}.cell-alignment-bottom{vertical-align:bottom;align-items:flex-end}.cell-emphasis-low{--ic-typography-color:var(--ic-color-text-secondary)}.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}.loading-empty{padding:var(--ic-space-xl) var(--ic-space-xxl);margin-top:var(--ic-space-xl)}.updating-state{padding:0;border-bottom:var(--ic-border-light)}.updating-state-headers{border-bottom:none}.loading{position:absolute;left:calc(50% - 5.9741rem);opacity:0;transition:opacity var(--ic-transition-duration-slow)}.loading.show-background{background-color:var(--ic-architectural-white);border:var(--ic-border-light)}.loading.show{opacity:1}.icon,::slotted(svg){height:var(--ic-space-lg);width:var(--ic-space-lg);margin-right:var(--ic-space-xxs)}.column-header-alignment-right>.icon,.row-header-alignment-right>.icon,.cell-alignment-right>.icon,.column-header-alignment-right>::slotted(svg),.row-header-alignment-right>::slotted(svg),.cell-alignment-right>::slotted(svg){margin-right:auto}.column-header-alignment-center>ic-typography,.row-header-alignment-right>ic-typography,.cell-alignment-center>ic-typography{flex:1}.icon>svg{height:var(--ic-space-lg);width:var(--ic-space-lg);display:inline-block}.truncation-tooltip ic-typography{display:-webkit-box;-webkit-line-clamp:var(--ic-line-clamp, 0);-webkit-box-orient:vertical;overflow:hidden}.truncation-tooltip ic-typography,.truncation-show-hide ic-typography{white-space:normal}.ic-tooltip-overflow{overflow:hidden;width:100%}@media screen and (min-width: 577px){.column-header-inner-container{display:flex;align-items:center}}';const f=class{constructor(o){t(this,o);this.icRowHeightChange=i(this,"icRowHeightChange",7);this.icSortChange=i(this,"icSortChange",7);this.DENSITY_HEIGHT_MULTIPLIER={dense:.8,default:1,spacious:1.2};this.DENSITY_PADDING_HEIGHT_DIFF={dense:8,default:16,spacious:20};this.SORT_ICONS={unsorted:u,ascending:v,descending:g};this.hasLoadedForOneSecond=true;this.resizeObserver=null;this.SHOW_HIDE_STRING="show-hide";this.SHOW_HIDE_CSS_CLASS=`${this.SHOW_HIDE_STRING}-wrap`;this.TOOLTIP_STRING="tooltip";this.TOOLTIP=`ic-${this.TOOLTIP_STRING}`;this.TEXT_WRAP_STRING="text-wrap";this.TEXT_WRAP_CLASS=`.${this.TEXT_WRAP_STRING}`;this.dataUpdated=false;this.rowHeightSet=false;this.initialLoad=false;this.icPageChangeEvent=false;this.itemsPerPageChange=false;this.DATA_ROW_HEIGHT_STRING="data-row-height";this.ROW_HEIGHT_CSS_VARIABLE="--row-height";this.DEFAULT_LINE_HEIGHT=24;this.densityUpdate=false;this.truncationPatternUpdated=false;this.isNewDebounceDelaySet=false;this.updateSetRowHeight=t=>{const i=parseInt(getComputedStyle(document.documentElement).fontSize);if(t){const e=this.getCellContainer(t);const s=i*parseFloat(e.getAttribute(this.DATA_ROW_HEIGHT_STRING));if(t.scrollHeight>s){e.style.removeProperty(this.ROW_HEIGHT_CSS_VARIABLE)}}else{this.getTypographyElements().forEach((t=>{const e=this.getCellContainer(t);const s=i*parseFloat(e.getAttribute(this.DATA_ROW_HEIGHT_STRING));if(t.scrollHeight>s){e.style.removeProperty(this.ROW_HEIGHT_CSS_VARIABLE)}}))}};this.debounceDataTruncation=()=>{this.getTypographyElements().forEach((t=>{const i=this.getCellContainer(t);if(!i.classList.contains(this.TEXT_WRAP_STRING)){this.resizeObserver=new ResizeObserver(a((()=>{this.dataTruncation(t);if(!this.isNewDebounceDelaySet){this.setNewDebounceDelay(200)}}),(()=>this.debounceDelay)));this.resizeObserver.observe(t)}}))};this.setNewDebounceDelay=t=>{this.debounceDelay=t;this.isNewDebounceDelaySet=true};this.getLines=t=>Math.floor(t/this.DEFAULT_LINE_HEIGHT);this.truncate=(t,i,e)=>{if((t===null||t===void 0?void 0:t.scrollHeight)>(i===null||i===void 0?void 0:i.clientHeight)){if(!t.closest(this.TEXT_WRAP_CLASS)){if(this.truncationPattern===this.TOOLTIP_STRING){this.addTooltipTruncation(t,i,e)}if(this.truncationPattern===this.SHOW_HIDE_STRING){this.addShowHideTruncation(i,t)}}}else{if(this.truncationPattern===this.TOOLTIP_STRING&&e){t.setAttribute("style",`--ic-line-clamp: 0`);i.appendChild(t);e.remove()}if(this.truncationPattern===this.SHOW_HIDE_STRING&&!l(t.getAttribute("max-lines"))){this.resetShowHideTruncation(t)}}};this.dataTruncation=t=>{const i=this.getTooltip(t);const e=this.getCellContainer(t);if((e===null||e===void 0?void 0:e.classList.contains("data-type-element"))||this.dataUpdated){return}if(this.truncationPattern===this.SHOW_HIDE_STRING&&t.shadowRoot.querySelector("button")){const i=t.shadowRoot.querySelector("button");if(i){const i=this.getTruncWrapper(t);if(this.getLines(i.scrollHeight)===+t.getAttribute("max-lines")){this.resetShowHideTruncation(t)}}}if(this.rowHeightSet&&this.truncationPattern===this.SHOW_HIDE_STRING){const i=this.getTruncWrapper(t);if(i&&e.clientHeight-this.DEFAULT_LINE_HEIGHT>i.scrollHeight){this.resetShowHideTruncation(t);return}if(t.scrollHeight>e.clientHeight){this.addShowHideTruncation(e,t);return}}if((t===null||t===void 0?void 0:t.scrollHeight)>0&&(e===null||e===void 0?void 0:e.clientHeight)>0&&(t===null||t===void 0?void 0:t.scrollHeight)===(e===null||e===void 0?void 0:e.clientHeight)){if(i){this.removeTooltip(e,t,i)}return}this.truncate(t,e,i)};this.removeTextWrap=()=>{this.getTypographyElements().forEach((t=>{const i=t.closest("td");if(i.classList.contains(this.TEXT_WRAP_STRING)){i.classList.remove(this.TEXT_WRAP_STRING)}}))};this.getCellContainer=t=>t.closest(".cell-container");this.deleteTextWrapDataKey=t=>Array.isArray(t)&&t.forEach((t=>t.textWrap&&delete t.textWrap));this.startLoadingTimer=()=>{this.hasLoadedForOneSecond=false;this.timerStarted=Date.now();setTimeout((()=>{this.hasLoadedForOneSecond=true;this.timerStarted=null}),this.minimumLoadingDisplayDuration)};this.isObject=t=>typeof t==="object";this.notDefaultDensity=()=>this.density!=="default";this.getCellContent=(t,i)=>{switch(i){case"element":return undefined;case"date":return(t instanceof Date?t:new Date(t)).toLocaleDateString();default:return t}};this.getCellAlignment=(t,i)=>{if(this.isObject(t)&&Object.keys(t).includes("cellAlignment")){return this.getObjectValue(this.getObjectValue(t,"cellAlignment"),i)}};this.getCellOptions=(t,i)=>{if(!(this.isObject(t)&&Object.keys(t).includes(i)))return;return this.getObjectValue(t,i)};this.createUpdatingIndicator=()=>{const{appearance:t,description:i,max:s,min:o,progress:n,monochrome:a}=this.updatingOptions||{};return e("th",{colSpan:this.columns.length,class:"updating-state"},e("ic-loading-indicator",{theme:t,monochrome:a,description:i||"Updating table data",fullWidth:true,max:s,min:o,progress:n,type:"linear",size:"small"}))};this.setRowHeight=t=>h(`${t*this.DENSITY_HEIGHT_MULTIPLIER[this.density]-this.DENSITY_PADDING_HEIGHT_DIFF[this.density]}px`);this.setTruncationClass=()=>{if(this.truncationPattern){return{[`truncation-${this.truncationPattern}`]:true}}return{}};this.getColumnWidth=t=>{let i={};if(t){if(typeof t==="string"){i=Object.assign(Object.assign({},i),{["--column-width"]:t})}if(typeof t==="object"&&!!Object.keys(t)){if(t===null||t===void 0?void 0:t.minWidth){i=Object.assign(Object.assign({},i),{["--column-min-width"]:t===null||t===void 0?void 0:t.minWidth})}if(t===null||t===void 0?void 0:t.maxWidth){i=Object.assign(Object.assign({},i),{["--column-max-width"]:t===null||t===void 0?void 0:t.maxWidth})}}}return i};this.getRowHeight=(t,i,e,s)=>{if((this.truncationPattern||t)&&!(i===null||i===void 0?void 0:i.textWrap)&&!e&&!this.getCellOptions(s,"textWrap")&&(i===null||i===void 0?void 0:i.dataType)!=="element"){return{[this.ROW_HEIGHT_CSS_VARIABLE]:this.setRowHeight(t)}}return{}};this.createCells=(t,i)=>{var o;const n=Object.values(t);const a=Object.keys(t);const l=this.getRowOptions(a,n);let h;let d;const c=a.indexOf("header");if(c>-1){h=this.getObjectValue(n[c],"rowAlignment");d=this.getObjectValue(n[c],"emphasis")}const u=(o=this.variableRowHeight)===null||o===void 0?void 0:o.call(this,Object.assign(Object.assign({},t),{index:i}));const v=u?u!=="auto"&&u:this.globalRowHeight!=="auto"&&this.globalRowHeight;return n.map(((t,o)=>{var n,c,u,g,p,f,m,b,w,y,x,O;const j=this.columns[o];const k=`${j===null||j===void 0?void 0:j.key}-${i}`;const $=this.isObject(t)&&Object.keys(t).includes("icon");const H=i=>this.getObjectValue(t,i);if(a[o]==="header"){return 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"))}if(a[o]!=="rowOptions"){return e("td",{class:{["table-cell"]:true,[`table-density-${this.density}`]:this.notDefaultDensity(),["with-overflow"]:(j===null||j===void 0?void 0:j.dataType)==="element"},style:Object.assign({},this.getColumnWidth(j.columnWidth))},e("div",{innerHTML:(j===null||j===void 0?void 0:j.dataType)==="element"&&!r(this.el,k)?t:null,class:Object.assign({"cell-container":(j===null||j===void 0?void 0:j.dataType)!=="element",[`cell-alignment-${((n=j===null||j===void 0?void 0:j.columnAlignment)===null||n===void 0?void 0:n.vertical)||((c=l===null||l===void 0?void 0:l.rowAlignment)===null||c===void 0?void 0:c.vertical)||h||this.getCellAlignment(t,"vertical")}`]:!!((u=j===null||j===void 0?void 0:j.columnAlignment)===null||u===void 0?void 0:u.vertical)||!!((g=l===null||l===void 0?void 0:l.rowAlignment)===null||g===void 0?void 0:g.vertical)||!!h||!!this.getCellAlignment(t,"vertical"),[`cell-alignment-${((p=j===null||j===void 0?void 0:j.columnAlignment)===null||p===void 0?void 0:p.horizontal)||((f=l===null||l===void 0?void 0:l.rowAlignment)===null||f===void 0?void 0:f.horizontal)||this.getCellAlignment(t,"horizontal")}`]:!!((m=j===null||j===void 0?void 0:j.columnAlignment)===null||m===void 0?void 0:m.horizontal)||!!((b=l===null||l===void 0?void 0:l.rowAlignment)===null||b===void 0?void 0:b.horizontal)||!!this.getCellAlignment(t,"horizontal"),[`data-type-${j===null||j===void 0?void 0:j.dataType}`]:true,[this.TEXT_WRAP_STRING]:(j===null||j===void 0?void 0:j.textWrap)||(l===null||l===void 0?void 0:l.textWrap)||!!this.getCellOptions(t,"textWrap"),["cell-icon"]:$||!!((w=j===null||j===void 0?void 0:j.icon)===null||w===void 0?void 0:w.icon)},this.setTruncationClass()),style:Object.assign(Object.assign({},this.getRowHeight(v,j,l===null||l===void 0?void 0:l.textWrap,t)),this.getColumnWidth(j===null||j===void 0?void 0:j.columnWidth)),"data-row-height":this.truncationPattern||v?this.setRowHeight(v):null},r(this.el,k)?e("slot",{name:k}):e(s,null,r(this.el,`${k}-icon`)?e("slot",{name:`${k}-icon`}):($||((y=j===null||j===void 0?void 0:j.icon)===null||y===void 0?void 0:y.onAllCells))&&(H("icon")||((x=j===null||j===void 0?void 0:j.icon)===null||x===void 0?void 0:x.icon))&&e("span",{class:"icon",innerHTML:H("icon")||((O=j===null||j===void 0?void 0:j.icon)===null||O===void 0?void 0:O.icon)}),(j===null||j===void 0?void 0:j.dataType)!=="element"&&!r(this.el,k)&&e("ic-typography",{variant:"body",class:{[`cell-emphasis-${this.isObject(t)&&H("emphasis")||(j===null||j===void 0?void 0:j.emphasis)||d}`]:this.isObject(t)&&!!H("emphasis")||!!(j===null||j===void 0?void 0:j.emphasis)||!!d,[`text-${this.density}`]:this.notDefaultDensity()}},this.isObject(t)&&(j===null||j===void 0?void 0:j.dataType)!=="date"?Object.keys(t).includes("href")?e("ic-link",{href:H("href")},H("data")):H("data"):this.getCellContent(t,j===null||j===void 0?void 0:j.dataType)))))}}))};this.createColumnHeaders=()=>this.columns.map((({cellAlignment:t,colspan:i,icon:s,key:o,title:n,columnWidth:a})=>e("th",{scope:"col",class:{["column-header"]:true,[`table-density-${this.density}`]:this.notDefaultDensity(),["updating-state-headers"]:this.updating&&!this.loading},style:Object.assign({},this.getColumnWidth(a)),colSpan:i},e("div",{class:{"column-header-inner-container":true,[`column-header-alignment-${t}`]:!!t}},r(this.el,`${o}-column-icon`)?e("slot",{name:`${o}-column-icon`}):s&&!s.hideOnHeader&&e("span",{class:"icon",innerHTML:s.icon}),e("ic-typography",{variant:"body",class:{["column-header-text"]:true,[`text-${this.density}`]:this.notDefaultDensity()}},n),this.sortable&&e("ic-button",{variant:"icon",id:`sort-button-${o}`,"aria-label":this.getSortButtonLabel(o),onClick:()=>this.sortRows(o),innerHTML:this.SORT_ICONS[this.sortedColumn===o?this.sortedColumnOrder:"unsorted"],class:{["sort-button"]:true,["sort-button-unsorted"]:this.sortedColumn!==o||this.sortedColumnOrder==="unsorted"}})))));this.onRowClick=t=>{this.selectedRow=this.selectedRow!==t&&!this.loading&&!this.updating&&t};this.createRows=()=>{const t=this.showPagination?this.data.slice(this.fromRow,this.toRow):this.data.slice();const i=t.map(((t,i)=>{const e=this.columns.map((({key:t},e)=>r(this.el,`${t}-${i}`)&&{key:t,index:e})).filter((t=>!!t));return e.length>0?d(t,e,""):t}));return i.sort(!this.sortable?undefined:this.getSortFunction()).map(((t,i)=>e("tr",{onClick:()=>this.onRowClick(t),class:{["table-row"]:true,["table-row-selected"]:this.selectedRow===t}},this.createCells(t,i))))};this.getObjectValue=(t,i)=>Object.values(t)[Object.keys(t).indexOf(i)];this.getSortButtonLabel=t=>{let i="";const e=t=>{const i=this.sortOptions.sortOrders;return i[(i.indexOf(t)+1)%i.length]};if(this.sortedColumn===t){const t=e(this.sortedColumnOrder);i=t!=="unsorted"?`Sort ${t}`:"Remove sort"}else{i=`Sort ${e("unsorted")}`}return i};this.getComparison=(t,i)=>{const e=t[this.sortedColumn];const s=i[this.sortedColumn];return this.columns.find((t=>t.key===this.sortedColumn)).dataType==="date"?new Date(e).valueOf()-new Date(s).valueOf():String(this.isObject(e)?Object.values(e)[0]:e).localeCompare(String(this.isObject(s)?Object.values(s)[0]:s),undefined,{numeric:true,sensitivity:"base"})};this.getSortFunction=()=>{switch(this.sortedColumnOrder){case"ascending":return(t,i)=>this.getComparison(t,i);case"descending":return(t,i)=>this.getComparison(i,t);default:return undefined}};this.sortRows=t=>{const i=this.el.shadowRoot.querySelector(`#sort-button-${t}`);const e=this.sortOptions.sortOrders;if(t!==this.sortedColumn){if(this.sortedColumn){const i=this.el.shadowRoot.querySelector(`#sort-button-${this.sortedColumn}`);i.setAttribute("aria-label",this.getSortButtonLabel(t))}this.sortedColumn=t;this.sortedColumnOrder="unsorted"}let s=e.indexOf(this.sortedColumnOrder)+1;if(s>e.length-1){s=0}this.sortedColumnOrder=e[s];i.setAttribute("aria-label",this.getSortButtonLabel(t));this.tableSorted=true;this.icSortChange.emit({columnName:t,sorted:this.sortedColumnOrder})};this.getTypographyElements=()=>Array.from(this.el.shadowRoot.querySelectorAll("ic-typography:not(.column-header-text)"));this.getTooltip=t=>t.closest(this.TOOLTIP);this.updateTruncationTooltip=(t=false)=>{this.getTypographyElements().forEach((i=>{const e=this.getTooltip(i);const s=this.getCellContainer(i);if(i.closest(this.TEXT_WRAP_CLASS)){this.removeTooltip(s,i,e);i.setAttribute("style",`--ic-line-clamp: 0`);return}this.regenerateTooltip(s,i,e,t)}))};this.updateScrollOffset=()=>{this.scrollOffset=this.el.shadowRoot.querySelector(".table-row-container").scrollTop};this.setTableDimensions=()=>{let t={};if(this.width){t=Object.assign(Object.assign({},t),{["--table-width"]:this.width})}if(this.height){t=Object.assign(Object.assign({},t),{["--table-height"]:this.height})}if(this.maxWidth){t=Object.assign(Object.assign({},t),{["--table-max-width"]:this.maxWidth})}if(this.minWidth){t=Object.assign(Object.assign({},t),{["--table-min-width"]:this.minWidth})}return t};this.fixCellTooltips=()=>{const t=this.el.shadowRoot.querySelectorAll(".data-type-element");t.forEach((t=>{const i=c(t);i.forEach((t=>{var i;const e=t.tagName==="IC-TOOLTIP"?t:(i=t.shadowRoot)===null||i===void 0?void 0:i.querySelector("ic-tooltip");if(e){e.setExternalPopperProps({strategy:"fixed"})}}))}))};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.currentRowHeight=undefined;this.debounceDelay=0;this.caption=undefined;this.columns=undefined;this.data=undefined;this.density="default";this.embedded=false;this.globalRowHeight="auto";this.height=undefined;this.hideColumnHeaders=false;this.loading=false;this.loadingOptions=undefined;this.maxWidth=undefined;this.minWidth=undefined;this.minimumLoadingDisplayDuration=1e3;this.paginationBarOptions={itemsPerPageOptions:[{label:"10",value:"10"},{label:"25",value:"25"},{label:"50",value:"50"}],rangeLabelType:"page",type:"simple",showItemsPerPageControl:true,showGoToPageControl:true,alignment:"right",appearance:"default",itemLabel:"Item",pageLabel:"Page",hideRangeLabel:false,hideAllFromItemsPerPage:false};this.showPagination=false;this.sortable=false;this.sortOptions={sortOrders:["unsorted","ascending","descending"],defaultColumn:""};this.stickyColumnHeaders=false;this.stickyRowHeaders=false;this.tableLayout="fixed";this.truncationPattern=undefined;this.updating=false;this.updatingOptions=undefined;this.variableRowHeight=undefined;this.width=undefined}disconnectedCallback(){var t;(t=this.resizeObserver)===null||t===void 0?void 0:t.disconnect()}componentWillLoad(){var t;this.rowsPerPage=Number(this.paginationBarOptions.itemsPerPageOptions[0].value);this.previousRowsPerPage=this.rowsPerPage;this.toRow=this.rowsPerPage;this.sortedColumn=this.sortOptions.defaultColumn;this.sortedColumnOrder=this.sortOptions.sortOrders[0];this.loadingOptions=Object.assign(Object.assign({},this.loadingOptions),{showBackground:((t=this.data)===null||t===void 0?void 0:t.length)>0});this.initialLoad=true;this.previousItemsPerPage=this.rowsPerPage}componentDidLoad(){const t=this.el.shadowRoot.querySelector("table");const i=this.el.shadowRoot.querySelector(".table-container");if(this.dataUpdated){this.dataUpdated=false}if((t===null||t===void 0?void 0:t.clientHeight)>(i===null||i===void 0?void 0:i.clientHeight)||(t===null||t===void 0?void 0:t.clientWidth)>(i===null||i===void 0?void 0:i.clientWidth)){this.scrollable=true}if(this.loading){this.startLoadingTimer();this.showLoadingIndicator()}if(this.truncationPattern){this.getTypographyElements().forEach((t=>{const i=this.getCellContainer(t);if(!i.classList.contains(this.TEXT_WRAP_STRING)){this.dataTruncation(t)}}));this.debounceDataTruncation()}if(this.globalRowHeight!=="auto"){this.updateSetRowHeight()}}componentDidUpdate(){if(this.truncationPattern===this.SHOW_HIDE_STRING||this.truncationPattern===this.TOOLTIP_STRING){this.truncateUpdatedData()}}componentDidRender(){this.fixCellTooltips()}truncateUpdatedData(){if(this.dataUpdated){if(this.truncationPattern===this.SHOW_HIDE_STRING){this.getTypographyElements().forEach((t=>{const i=this.getTruncWrapper(t);const e=this.getCellContainer(t);if((e===null||e===void 0?void 0:e.clientHeight)-this.DEFAULT_LINE_HEIGHT>=(i===null||i===void 0?void 0:i.scrollHeight)){this.resetShowHideTruncation(t);return}setTimeout((()=>{if((t===null||t===void 0?void 0:t.scrollHeight)>(e===null||e===void 0?void 0:e.clientHeight)){this.addShowHideTruncation(e,t)}}),150)}))}if(this.truncationPattern===this.TOOLTIP_STRING){this.updateTruncationTooltip()}this.dataUpdated=false}if(this.tableSorted){if(this.truncationPattern===this.TOOLTIP_STRING){this.updateTruncationTooltip()}if(this.truncationPattern===this.SHOW_HIDE_STRING){this.getTypographyElements().forEach((t=>{const i=this.getCellContainer(t);if(!i.classList.contains(this.TEXT_WRAP_STRING)){this.createShowHideTruncation(t,i)}else{t.resetTruncation().then((()=>{i.removeAttribute("style")}))}}))}this.tableSorted=false}if(this.rowHeightSet){const t=parseInt(getComputedStyle(document.documentElement).fontSize);const i=this.globalRowHeight==="auto";this.getTypographyElements().forEach((e=>{var s;const o=this.getCellContainer(e);const n=this.getTooltip(e);if(i){o.style.height=null;if(this.truncationPattern===this.TOOLTIP_STRING){this.removeTooltip(o,e,n);e.setAttribute("style",`--ic-line-clamp: 0`)}else if(this.truncationPattern===this.SHOW_HIDE_STRING){this.resetShowHideTruncation(e)}return}const a=t*parseFloat(o.getAttribute(this.DATA_ROW_HEIGHT_STRING));if(!((s=o===null||o===void 0?void 0:o.style)===null||s===void 0?void 0:s.height)&&a>o.clientHeight&&!o.classList.contains(this.TEXT_WRAP_STRING)){o.style.setProperty(this.ROW_HEIGHT_CSS_VARIABLE,o.getAttribute(this.DATA_ROW_HEIGHT_STRING))}if(this.truncationPattern){if(this.truncationPattern===this.SHOW_HIDE_STRING){const t=this.getTruncWrapper(e);const i=e.shadowRoot.querySelector("button");if(i&&(t===null||t===void 0?void 0:t.scrollHeight)<=o.clientHeight){this.resetShowHideTruncation(e);return}}this.truncate(e,o,n)}else{this.updateSetRowHeight(e)}}));this.rowHeightSet=false}if(this.itemsPerPageChange){const t=this.el.shadowRoot.querySelectorAll(".table-row");if(this.rowsPerPage>this.previousItemsPerPage){const i=Array.from(t).slice(this.previousItemsPerPage);i.forEach((t=>{t.querySelectorAll("ic-typography").forEach((t=>{const i=this.getCellContainer(t);const e=this.getTooltip(t);this.truncate(t,i,e)}))}))}this.previousItemsPerPage=this.rowsPerPage;this.itemsPerPageChange=false}if(!this.initialLoad&&this.icPageChangeEvent){if(this.truncationPattern===this.TOOLTIP_STRING){this.updateTruncationTooltip()}if(this.truncationPattern===this.SHOW_HIDE_STRING){this.getTypographyElements().forEach((t=>{const i=this.getCellContainer(t);const e=t.shadowRoot.querySelector("button");if((t===null||t===void 0?void 0:t.scrollHeight)>i.clientHeight&&!e){this.addShowHideTruncation(i,t)}}))}this.icPageChangeEvent=false}if(this.densityUpdate){this.getTypographyElements().forEach((t=>{const i=this.getCellContainer(t);const e=this.getTooltip(t);this.truncate(t,i,e)}));this.densityUpdate=false}if(this.truncationPatternUpdated){if(this.truncationPattern===this.TOOLTIP_STRING){this.getTypographyElements().forEach((t=>{const i=this.getCellContainer(t);const e=this.getTooltip(t);if(t.scrollHeight>i.clientHeight){this.addTooltipTruncation(t,i,e)}}))}else if(this.truncationPattern===this.SHOW_HIDE_STRING){this.getTypographyElements().forEach((t=>{const i=this.getTruncWrapper(t);const e=this.getCellContainer(t);if((e===null||e===void 0?void 0:e.clientHeight)-this.DEFAULT_LINE_HEIGHT>(i===null||i===void 0?void 0:i.scrollHeight)){this.resetShowHideTruncation(t);return}if((t===null||t===void 0?void 0:t.scrollHeight)>(e===null||e===void 0?void 0:e.clientHeight)){this.addShowHideTruncation(e,t)}}))}}}createShowHideTruncation(t,i){t.checkMaxLines(t.scrollHeight);t.setAttribute("max-lines",`${Math.floor((i===null||i===void 0?void 0:i.clientHeight)/this.DEFAULT_LINE_HEIGHT)}`);t.setShowHideExpanded(false);i.style.setProperty(this.ROW_HEIGHT_CSS_VARIABLE,null)}addTooltipTruncation(t,i,e){this.addLineClampCSS(t,i);if(!e){this.createTruncationTooltip(t,i)}}addShowHideTruncation(t,i){t.classList.add(this.SHOW_HIDE_CSS_CLASS);this.createShowHideTruncation(i,t)}getTruncWrapper(t){return t.shadowRoot.querySelector(".trunc-wrapper")}handleTypographyTruncationExpandToggle({detail:t}){const{expanded:i,typographyEl:e}=t;const s=this.getCellContainer(e);if(s.style.getPropertyValue(this.ROW_HEIGHT_CSS_VARIABLE)&&i){s.style.setProperty(this.ROW_HEIGHT_CSS_VARIABLE,"inherit")}}handlePageChange({detail:t,target:i}){if(i.parentElement!==this.el){this.fromRow=(t.value-1)*this.rowsPerPage;this.toRow=this.fromRow+this.rowsPerPage;const i=this.el.shadowRoot.querySelector(".table-row-container");if(this.previousRowsPerPage===this.rowsPerPage){i.scrollTop=0}else if(this.previousRowsPerPage<this.rowsPerPage){i.scrollTop=this.scrollOffset;this.previousRowsPerPage=this.rowsPerPage}else{this.previousRowsPerPage=this.rowsPerPage}}if(!this.initialLoad&&this.previousPaginationPage!==t.value){this.icPageChangeEvent=true}this.previousPaginationPage=t.value;this.initialLoad=false}handleItemsPerPageChange({detail:t,target:i}){if(i.parentElement!==this.el){this.previousRowsPerPage=this.rowsPerPage;this.rowsPerPage=t.value}this.itemsPerPageChange=true}handleDensityChange(t){this.density=t.detail.value}clickListener(t){if(t.target!==this.el)this.selectedRow=undefined}loadingHandler(t){if(t)this.startLoadingTimer();if(this.loading){setTimeout((()=>{this.showLoadingIndicator()}),500)}}truncationPatternHandler(t){if(t===this.TOOLTIP_STRING){this.resetShowHideTruncation();this.updateTruncationTooltip(true);this.getTypographyElements().forEach((t=>{const i=this.getCellContainer(t);const e=this.getTooltip(t);this.truncate(t,i,e)}))}if(t===this.SHOW_HIDE_STRING){this.updateTruncationTooltip(true);this.getTypographyElements().forEach((t=>{const i=this.getTruncWrapper(t);const e=this.getCellContainer(t);if((e===null||e===void 0?void 0:e.clientHeight)-this.DEFAULT_LINE_HEIGHT>(i===null||i===void 0?void 0:i.scrollHeight)){this.resetShowHideTruncation(t);return}setTimeout((()=>{if((t===null||t===void 0?void 0:t.scrollHeight)>(e===null||e===void 0?void 0:e.clientHeight)){this.addShowHideTruncation(e,t)}}),150)}))}this.truncationPatternUpdated=true}async dataHandler(t){this.loadingOptions=Object.assign(Object.assign({},this.loadingOptions),{showBackground:(t===null||t===void 0?void 0:t.length)>0});if(this.loading){!this.hasLoadedForOneSecond?setTimeout((()=>this.loading=false),this.minimumLoadingDisplayDuration-(Date.now()-this.timerStarted)):this.loading=false}if(this.updating)this.updating=false;this.dataUpdated=true}async densityHandler(){this.densityUpdate=true}resetShowHideTruncation(t){if(t){const i=this.getTruncWrapper(t);const e=this.getCellContainer(t);if((i===null||i===void 0?void 0:i.scrollHeight)>(e===null||e===void 0?void 0:e.clientHeight)&&!l(t.getAttribute("max-lines"))&&Math.floor((e===null||e===void 0?void 0:e.clientHeight)/this.DEFAULT_LINE_HEIGHT)!==+t.getAttribute("max-lines")){t.checkMaxLines(i.scrollHeight);t.setAttribute("max-lines",`${Math.floor((e===null||e===void 0?void 0:e.clientHeight)/this.DEFAULT_LINE_HEIGHT)}`);t.setShowHideExpanded(false);e.style.setProperty(this.ROW_HEIGHT_CSS_VARIABLE,null)}else{t.resetTruncation().then((()=>{if(!t.closest(this.TEXT_WRAP_CLASS)){e.style.setProperty(this.ROW_HEIGHT_CSS_VARIABLE,e.getAttribute(this.DATA_ROW_HEIGHT_STRING))}}))}}else{this.getTypographyElements().forEach((t=>{const i=this.getCellContainer(t);t.resetTruncation().then((()=>{if(!t.closest(this.TEXT_WRAP_CLASS)){i.style.setProperty(this.ROW_HEIGHT_CSS_VARIABLE,i.getAttribute(this.DATA_ROW_HEIGHT_STRING))}}))}))}}rowHeightChangeHandler(t,i){if(+t!==+i){this.deleteTextWrapDataKey(this.data);this.deleteTextWrapDataKey(this.columns);this.removeTextWrap();this.icRowHeightChange.emit();this.rowHeightSet=true}}async resetRowHeights(t){this.globalRowHeight=t||"auto";this.variableRowHeight=null}showLoadingIndicator(){this.loadingIndicator.classList.add("show")}getRowOptions(t,i){const e=t.indexOf("rowOptions");return e>-1&&i[e]}regenerateTooltip(t,i,e,s){if(e){if(this.tableSorted){e.setAttribute("target",i.id);e.setAttribute("label",i.textContent)}else{this.removeTooltip(t,i,e)}if(s){return}}if(!i.getAttribute("style")&&this.dataUpdated){this.addLineClampCSS(i,t)}if((i===null||i===void 0?void 0:i.scrollHeight)>(t===null||t===void 0?void 0:t.clientHeight)&&this.truncationPattern===this.TOOLTIP_STRING){if(!i.getAttribute("style")||i.style.cssText.includes("--ic-line-clamp: 0;")){this.addLineClampCSS(i,t)}this.createTruncationTooltip(i,t)}}removeTooltip(t,i,e){t.appendChild(i);if(e){e.remove()}}addLineClampCSS(t,i){t.setAttribute("style",`--ic-line-clamp: ${this.getLines(i===null||i===void 0?void 0:i.clientHeight)}`)}createTruncationTooltip(t,i){const e=document.createElement("ic-tooltip");e.setAttribute("target",t.id);e.setAttribute("label",t.textContent);e.classList.add("ic-tooltip-overflow");e.setExternalPopperProps({strategy:"fixed"});i.appendChild(e);e.appendChild(t)}render(){const{caption:t,createColumnHeaders:i,createRows:s,createUpdatingIndicator:n,data:a,hideColumnHeaders:l,loading:h,loadingOptions:d,paginationBarOptions:c,scrollable:u,scrollOffset:v,showPagination:g,sortable:p,sortedColumnOrder:f,sortedColumn:m,stickyColumnHeaders:b,updateScrollOffset:w,updating:y}=this;return e(o,{style:Object.assign({},this.setTableDimensions())},e("div",{class:"table-container"},r(this.el,"title-bar")&&e("slot",{name:"title-bar"}),e("div",{class:{["table-row-container"]:true,scrollable:u},tabIndex:u?0:null,onScroll:w},r(this.el,"title-bar")&&e("slot",{name:"title-bar"}),e("table",{style:{["--table-layout"]:this.tableLayout}},e("caption",{class:"table-caption"},t),!l&&e("thead",{class:{["column-header-sticky"]:b,["column-header-overlay"]:b&&v!==0}},e("tr",null,i())),y&&!h&&(l?e("thead",null,n()):n()),(a===null||a===void 0?void 0:a.length)>0&&!h&&e("tbody",null,s())),!(a===null||a===void 0?void 0:a.length)&&!h&&(r(this.el,"empty-state")?e("slot",{name:"empty-state"}):e("ic-empty-state",{aligned:"center",heading:"No Data",class:"loading-empty"}))),h&&e("ic-loading-indicator",{theme:d===null||d===void 0?void 0:d.appearance,monochrome:d===null||d===void 0?void 0:d.monochrome,class:{"loading-empty":h,loading:true,"show-background":d.showBackground},description:d.description||"Loading table data",label:d.label||"Loading...",labelDuration:d===null||d===void 0?void 0:d.labelDuration,max:d===null||d===void 0?void 0:d.max,min:d===null||d===void 0?void 0:d.min,progress:d===null||d===void 0?void 0:d.progress,ref:t=>this.loadingIndicator=t}),(g||r(this.el,"pagination-bar"))&&e("div",{class:"pagination-container"},r(this.el,"pagination-bar")?e("slot",{name:"pagination-bar"}):e("ic-pagination-bar",{totalItems:a.length,type:c.type,rangeLabelType:c.rangeLabelType,showItemsPerPageControl:c.showItemsPerPageControl,showGoToPageControl:c.showGoToPageControl,itemsPerPageOptions:c.itemsPerPageOptions,alignment:c.alignment,appearance:c.appearance,itemLabel:c.itemLabel,pageLabel:c.pageLabel,hideRangeLabel:c.hideRangeLabel,hideAllFromItemsPerPage:c.hideAllFromItemsPerPage})),p&&e("div",{class:"screen-reader-sort-text","aria-live":"polite"},f!=="unsorted"&&m?`${m} sorted ${f}`:"table unsorted")))}get el(){return n(this)}static get watchers(){return{loading:["loadingHandler"],truncationPattern:["truncationPatternHandler"],data:["dataHandler"],density:["densityHandler"],globalRowHeight:["rowHeightChangeHandler"],variableRowHeight:["rowHeightChangeHandler"]}}};f.style=p;export{f as ic_data_table};
2
+ //# sourceMappingURL=p-42f88966.entry.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["icDataTableCss","DataTable","this","DENSITY_HEIGHT_MULTIPLIER","dense","default","spacious","DENSITY_PADDING_HEIGHT_DIFF","SORT_ICONS","unsorted","unsortedIcon","ascending","ascendingIcon","descending","descendingIcon","hasLoadedForOneSecond","resizeObserver","SHOW_HIDE_STRING","SHOW_HIDE_CSS_CLASS","TOOLTIP_STRING","TOOLTIP","TEXT_WRAP_STRING","TEXT_WRAP_CLASS","dataUpdated","rowHeightSet","initialLoad","icPageChangeEvent","itemsPerPageChange","DATA_ROW_HEIGHT_STRING","ROW_HEIGHT_CSS_VARIABLE","DEFAULT_LINE_HEIGHT","densityUpdate","truncationPatternUpdated","isNewDebounceDelaySet","updateSetRowHeight","typographyEl","fontSize","parseInt","getComputedStyle","document","documentElement","cellContainer","getCellContainer","rowHeight","parseFloat","getAttribute","scrollHeight","style","removeProperty","getTypographyElements","forEach","debounceDataTruncation","classList","contains","ResizeObserver","dynamicDebounce","dataTruncation","setNewDebounceDelay","debounceDelay","observe","delay","getLines","height","Math","floor","truncate","tooltip","clientHeight","closest","truncationPattern","addTooltipTruncation","addShowHideTruncation","setAttribute","appendChild","remove","isEmptyString","resetShowHideTruncation","getTooltip","shadowRoot","querySelector","showHideBtn","truncWrapper","getTruncWrapper","removeTooltip","removeTextWrap","tableCell","deleteTextWrapDataKey","array","Array","isArray","val","textWrap","startLoadingTimer","timerStarted","Date","now","setTimeout","minimumLoadingDisplayDuration","isObject","value","notDefaultDensity","density","getCellContent","cell","dataType","undefined","toLocaleDateString","getCellAlignment","alignment","Object","keys","includes","getObjectValue","getCellOptions","key","createUpdatingIndicator","appearance","description","max","min","progress","monochrome","updatingOptions","h","colSpan","columns","length","class","theme","fullWidth","type","size","setRowHeight","pxToRem","setTruncationClass","getColumnWidth","columnWidth","columnWidthStyling","assign","minWidth","maxWidth","getRowHeight","currentRowHeight","columnProps","rowTextWrap","createCells","row","rowIndex","rowValues","values","rowKeys","rowOptions","getRowOptions","rowAlignment","rowEmphasis","headerIndex","indexOf","variableRowHeightVal","_a","variableRowHeight","call","index","globalRowHeight","map","cellSlotName","hasIcon","cellValue","scope","stickyRowHeaders","innerHTML","isSlotUsed","el","columnAlignment","vertical","_b","_c","_d","_e","horizontal","_f","_g","_h","_j","icon","name","Fragment","_k","onAllCells","_l","_m","variant","emphasis","href","createColumnHeaders","cellAlignment","colspan","title","updating","loading","hideOnHeader","sortable","id","getSortButtonLabel","onClick","sortRows","sortedColumn","sortedColumnOrder","onRowClick","selectedRow","createRows","data","showPagination","slice","fromRow","toRow","organisedData","slottedColumns","filter","col","addDataToPosition","sort","getSortFunction","label","getNextSortOption","option","sortOrders","sortOptions","sortOption","getComparison","targetRow","comparisonRow","targetRowValue","comparisonRowValue","find","valueOf","String","localeCompare","numeric","sensitivity","a","b","column","sortButton","previousSortedButton","nextSortOrderIndex","tableSorted","icSortChange","emit","columnName","sorted","from","querySelectorAll","updateTruncationTooltip","removeTooltipOnly","regenerateTooltip","updateScrollOffset","scrollOffset","scrollTop","setTableDimensions","tableHostDimensions","width","fixCellTooltips","elements","element","slotElements","getSlotElements","slottedEl","tooltipEl","tagName","setExternalPopperProps","strategy","itemsPerPageOptions","rangeLabelType","showItemsPerPageControl","showGoToPageControl","itemLabel","pageLabel","hideRangeLabel","hideAllFromItemsPerPage","defaultColumn","disconnectedCallback","disconnect","componentWillLoad","rowsPerPage","Number","paginationBarOptions","previousRowsPerPage","loadingOptions","showBackground","previousItemsPerPage","componentDidLoad","tableElement","tableContainer","clientWidth","scrollable","showLoadingIndicator","componentDidUpdate","truncateUpdatedData","componentDidRender","createShowHideTruncation","resetTruncation","then","removeAttribute","hasAutoRowHeight","setProperty","allRows","newRows","checkMaxLines","setShowHideExpanded","addLineClampCSS","createTruncationTooltip","add","handleTypographyTruncationExpandToggle","detail","expanded","getPropertyValue","handlePageChange","target","parentElement","tableRowsContainer","previousPaginationPage","handleItemsPerPageChange","handleDensityChange","ev","clickListener","loadingHandler","newValue","truncationPatternHandler","dataHandler","newData","densityHandler","rowHeightChangeHandler","oldValue","icRowHeightChange","resetRowHeights","loadingIndicator","rowOptionsIndex","textContent","cssText","createElement","render","caption","hideColumnHeaders","stickyColumnHeaders","Host","tabIndex","onScroll","tableLayout","aligned","heading","labelDuration","ref","totalItems"],"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: inline-flex;\n max-height: 100%;\n width: var(--table-width, 100%);\n height: 100%;\n min-width: var(--table-min-width);\n max-width: var(--table-max-width);\n}\n\ntbody {\n vertical-align: top;\n}\n\n.table-container {\n position: relative;\n height: calc(100% - var(--ic-space-xxxs));\n display: flex;\n flex-direction: column;\n width: 100%;\n}\n\n.cell-container {\n display: flex;\n min-height: 1.5rem;\n overflow-y: hidden;\n height: var(--row-height);\n}\n\n.truncation-show-hide {\n overflow: visible;\n display: block;\n}\n\n.cell-icon.truncation-show-hide {\n display: flex;\n}\n\n.cell-container:not(.data-type-element, .truncation-show-hide) {\n overflow-x: hidden;\n}\n\nic-loading-indicator {\n position: sticky;\n top: 20px;\n}\n\nic-loading-indicator.ic-theme-dark {\n --inner-color: var(--ic-action-default-dark);\n --outer-color: var(--ic-action-neutral-light);\n --label-color: var(--ic-color-text-primary-dark);\n}\n\nic-loading-indicator.ic-theme-dark.ic-loading-indicator-monochrome {\n --inner-color: var(--ic-action-light);\n --outer-color: var(--ic-action-neutral-dark);\n --label-color: var(--ic-color-text-inverse-dark);\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: var(--table-layout, \"fixed\");\n border-spacing: 0;\n width: 100%;\n height: var(--table-height, auto);\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-row-container {\n border: var(--ic-border-light);\n}\n\n.column-header-inner-container {\n padding: var(--ic-space-xs);\n box-sizing: border-box;\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-pressed);\n}\n\n.sort-button svg {\n color: var(--ic-architectural-black);\n}\n\n.sort-button-unsorted svg {\n color: var(--ic-color-text-tertiary);\n}\n\n.table-density-dense .column-header-inner-container,\ntd.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 .column-header-inner-container,\ntd.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.row-header,\n.column-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 {\n padding: 0;\n width: var(--column-width);\n min-width: var(--column-min-width, 4rem);\n max-width: var(--column-max-width);\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 justify-content: start !important;\n}\n\n.column-header-alignment-right,\n.row-header-alignment-right,\n.cell-alignment-right {\n text-align: right !important;\n justify-content: end !important;\n}\n\n.cell-alignment-right.truncation-tooltip ic-tooltip ic-typography {\n padding-right: calc(var(--ic-space-xxs) + var(--ic-space-xs));\n}\n\n.cell-alignment-right.truncation-show-hide ic-typography {\n --ellipsis-padding-right: calc(var(--ic-space-xxs) + var(--ic-space-xs));\n}\n\n.column-header-alignment-center,\n.row-header-alignment-center,\n.cell-alignment-center {\n text-align: center !important;\n justify-content: 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 overflow: hidden;\n box-sizing: border-box;\n max-width: var(--column-max-width);\n min-width: var(--column-min-width);\n}\n\n.table-cell.with-overflow {\n overflow: visible;\n}\n\n.data-type-string,\n.data-type-address {\n text-align: left;\n vertical-align: top;\n}\n\n.data-type-number,\n.data-type-date {\n text-align: right;\n justify-content: end;\n vertical-align: top;\n}\n\n.cell-alignment-top {\n vertical-align: top;\n align-items: flex-start;\n}\n\n.cell-alignment-middle {\n vertical-align: middle;\n align-items: center;\n}\n\n.cell-alignment-bottom {\n vertical-align: bottom;\n align-items: flex-end;\n}\n\n.cell-emphasis-low {\n --ic-typography-color: var(--ic-color-text-secondary);\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.loading-empty {\n padding: var(--ic-space-xl) var(--ic-space-xxl);\n margin-top: var(--ic-space-xl);\n}\n\n.updating-state {\n padding: 0;\n border-bottom: var(--ic-border-light);\n}\n\n.updating-state-headers {\n border-bottom: none;\n}\n\n.loading {\n position: absolute;\n left: calc(50% - 5.9741rem);\n opacity: 0;\n transition: opacity var(--ic-transition-duration-slow);\n}\n\n.loading.show-background {\n background-color: var(--ic-architectural-white);\n border: var(--ic-border-light);\n}\n\n.loading.show {\n opacity: 1;\n}\n\n.icon,\n::slotted(svg) {\n height: var(--ic-space-lg);\n width: var(--ic-space-lg);\n margin-right: var(--ic-space-xxs);\n}\n\n.column-header-alignment-right > .icon,\n.row-header-alignment-right > .icon,\n.cell-alignment-right > .icon,\n.column-header-alignment-right > ::slotted(svg),\n.row-header-alignment-right > ::slotted(svg),\n.cell-alignment-right > ::slotted(svg) {\n margin-right: auto;\n}\n\n.column-header-alignment-center > ic-typography,\n.row-header-alignment-right > ic-typography,\n.cell-alignment-center > ic-typography {\n flex: 1;\n}\n\n.icon > svg {\n height: var(--ic-space-lg);\n width: var(--ic-space-lg);\n display: inline-block;\n}\n\n.truncation-tooltip ic-typography {\n display: -webkit-box;\n -webkit-line-clamp: var(--ic-line-clamp, 0);\n -webkit-box-orient: vertical;\n overflow: hidden;\n}\n\n.truncation-tooltip ic-typography,\n.truncation-show-hide ic-typography {\n white-space: normal;\n}\n\n.ic-tooltip-overflow {\n overflow: hidden;\n width: 100%;\n}\n\n@media screen and (min-width: 577px) {\n .column-header-inner-container {\n display: flex;\n align-items: center;\n }\n}\n","/* eslint-disable @typescript-eslint/no-explicit-any */\nimport {\n Component,\n Element,\n h,\n Prop,\n State,\n Listen,\n Watch,\n Fragment,\n Method,\n Event,\n EventEmitter,\n Host,\n} 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 IcDataTableDataType,\n IcDataTableColumnDataTypes,\n IcDataTableColumnObject,\n IcDataTableColumnWidthTypes,\n IcDataTableDensityOptions,\n IcDataTableRowHeights,\n IcDataTableSortOrderOptions,\n IcDataTableTruncationTypes,\n IcDensityUpdateEventDetail,\n IcSortEventDetail,\n} from \"./ic-data-table.types\";\nimport { IcThemeForegroundNoDefault } from \"@ukic/web-components/dist/types/utils/types\";\nimport { IcPaginationBarOptions } from \"../../utils/types\";\n// Unable to import helper functions via @ukic/web-components\nimport {\n isEmptyString,\n isSlotUsed,\n pxToRem,\n addDataToPosition,\n dynamicDebounce,\n getSlotElements,\n} from \"../../utils/helpers\";\n\n/**\n * @slot empty-state - Content is slotted below the table header when there is no data and the table is not loading.\n * @slot {COLUMN_KEY}-{ROW_INDEX}[-icon] - Each cell should have its own slot, named using the column tag and the row index, allowing for custom elements to be displayed. Include `-icon` at the end for that cell's icon slot.\n * @slot {COLUMN_KEY}-column-icon - The icon slot for a column header.\n * @slot title-bar - A custom ic-data-table-title-bar can be slotted above the column headers to display additional information about the table.\n * @slot pagination-bar - A custom ic-pagination-bar can be slotted below the data to provide enhanced control over how the data is interacted with when being fetched externally.\n */\n@Component({\n tag: \"ic-data-table\",\n styleUrl: \"ic-data-table.css\",\n shadow: true,\n})\nexport class DataTable {\n private DENSITY_HEIGHT_MULTIPLIER = {\n dense: 0.8,\n default: 1,\n spacious: 1.2,\n };\n\n private DENSITY_PADDING_HEIGHT_DIFF = {\n dense: 8,\n default: 16,\n spacious: 20,\n };\n\n private SORT_ICONS = {\n unsorted: unsortedIcon,\n ascending: ascendingIcon,\n descending: descendingIcon,\n };\n\n private hasLoadedForOneSecond = true;\n private loadingIndicator: HTMLIcLoadingIndicatorElement;\n private timerStarted: number;\n private resizeObserver: ResizeObserver = null;\n private SHOW_HIDE_STRING = \"show-hide\";\n private SHOW_HIDE_CSS_CLASS = `${this.SHOW_HIDE_STRING}-wrap`;\n private TOOLTIP_STRING = \"tooltip\";\n private TOOLTIP = `ic-${this.TOOLTIP_STRING}`;\n private TEXT_WRAP_STRING = \"text-wrap\";\n private TEXT_WRAP_CLASS = `.${this.TEXT_WRAP_STRING}`;\n private dataUpdated = false;\n private tableSorted: boolean;\n private rowHeightSet = false;\n private initialLoad = false;\n private icPageChangeEvent = false;\n private itemsPerPageChange = false;\n private DATA_ROW_HEIGHT_STRING = \"data-row-height\";\n private ROW_HEIGHT_CSS_VARIABLE = \"--row-height\";\n private previousItemsPerPage: number;\n private DEFAULT_LINE_HEIGHT = 24;\n private densityUpdate = false;\n private previousPaginationPage: number;\n private truncationPatternUpdated: boolean = false;\n private isNewDebounceDelaySet = false;\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 @State() currentRowHeight: number;\n\n @State() debounceDelay = 0;\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: IcDataTableDataType[];\n\n /**\n * Set the density of the table including font and padding.\n */\n @Prop({ mutable: true }) density?: IcDataTableDensityOptions = \"default\";\n\n /**\n * Applies a border to the table container.\n */\n @Prop() embedded?: boolean = false;\n\n /**\n * Sets the row height on all rows in the table that aren't set using the `variableRowHeight` method.\n */\n @Prop({ mutable: true }) globalRowHeight?: IcDataTableRowHeights = \"auto\";\n\n /**\n * Sets the table height. Can be set to `auto` or a specific value in `px`, `rem`, or `%`.\n */\n @Prop() height?: string;\n\n /**\n * If `true`, column headers will not be visible.\n */\n @Prop() hideColumnHeaders?: boolean = false;\n\n /**\n * When set to `true`, the full table will show a loading state, featuring a radial indicator.\n */\n @Prop({ mutable: true }) loading?: boolean = false;\n\n /**\n * Sets the props for the circular loading indicator used in the loading state.\n */\n @Prop() loadingOptions?: {\n appearance?: IcThemeForegroundNoDefault;\n description?: string;\n label?: string;\n labelDuration?: number;\n max?: number;\n min?: number;\n progress?: number;\n showBackground?: boolean;\n monochrome?: boolean;\n };\n\n /**\n * Sets the maximum width of the data table. Can be set in `px`, `rem`, or `%`.\n */\n @Prop() maxWidth?: string;\n\n /**\n * Sets the minimum width of the data table. Can be set in `px`, `rem`, or `%`.\n */\n @Prop() minWidth?: string;\n\n /**\n * The minimum amount of time the `loading` state displays for before showing the data. Used to prevent flashing in the component.\n */\n @Prop() minimumLoadingDisplayDuration?: number = 1000;\n\n /**\n * Sets the props for the built-in pagination bar. If the `pagination-bar` slot is used then this prop is ignored.\n */\n @Prop() paginationBarOptions?: IcPaginationBarOptions = {\n itemsPerPageOptions: [\n { label: \"10\", value: \"10\" },\n { label: \"25\", value: \"25\" },\n { label: \"50\", value: \"50\" },\n ],\n rangeLabelType: \"page\",\n type: \"simple\",\n showItemsPerPageControl: true,\n showGoToPageControl: true,\n alignment: \"right\",\n appearance: \"default\",\n itemLabel: \"Item\",\n pageLabel: \"Page\",\n hideRangeLabel: false,\n hideAllFromItemsPerPage: false,\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 * Sets the layout of the table\n */\n @Prop() tableLayout?: \"fixed\" | \"auto\" = \"fixed\";\n\n /**\n * Sets the method used to truncate long text in cells where textWrap is `false`. The `tooltip` truncation pattern allows the overflowing text to be seen in a tooltip. The `show-hide` truncation pattern allows the overflowing text to be shown and hidden using the ic-typography \"See more\"/\"See less\" buttons.\n */\n @Prop() truncationPattern?: IcDataTableTruncationTypes;\n\n /**\n * If `true`, the table displays a linear loading indicator below the header row to indicate an updating state.\n */\n @Prop() updating?: boolean = false;\n\n /**\n * Sets the props for the linear loading indicator used in the updating state.\n */\n @Prop() updatingOptions?: {\n appearance?: IcThemeForegroundNoDefault;\n description?: string;\n max?: number;\n min?: number;\n progress?: number;\n monochrome?: boolean;\n };\n\n /**\n * Allows for custom setting of row heights on individual rows based on an individual value from the `data` prop and the row index.\n * If the function returns `null`, that row's height will be set to the `globalRowHeight` property.\n */\n @Prop({ mutable: true }) variableRowHeight?: (params: {\n [key: string]: any;\n index: number;\n }) => IcDataTableRowHeights | null;\n\n /**\n * Sets the table width. Can be set to `auto` or a specific value in `px`, `rem`, or `%`.\n */\n @Prop() width?: string;\n\n /**\n * Emitted when the `globalRowHeight` or `variableRowHeight` properties change in the data table.\n */\n @Event() icRowHeightChange: EventEmitter<void>;\n\n /**\n * Emitted when a column sort button is clicked.\n */\n @Event() icSortChange: EventEmitter<IcSortEventDetail>;\n\n disconnectedCallback(): void {\n this.resizeObserver?.disconnect();\n }\n\n componentWillLoad(): void {\n this.rowsPerPage = Number(\n this.paginationBarOptions.itemsPerPageOptions[0].value\n );\n this.previousRowsPerPage = this.rowsPerPage;\n this.toRow = this.rowsPerPage;\n this.sortedColumn = this.sortOptions.defaultColumn;\n this.sortedColumnOrder = this.sortOptions.sortOrders[0];\n this.loadingOptions = {\n ...this.loadingOptions,\n showBackground: this.data?.length > 0,\n };\n this.initialLoad = true;\n this.previousItemsPerPage = this.rowsPerPage;\n }\n\n componentDidLoad(): void {\n const tableElement = this.el.shadowRoot.querySelector(\"table\");\n const tableContainer = this.el.shadowRoot.querySelector(\".table-container\");\n\n if (this.dataUpdated) {\n this.dataUpdated = false;\n }\n\n if (\n tableElement?.clientHeight > tableContainer?.clientHeight ||\n tableElement?.clientWidth > tableContainer?.clientWidth\n ) {\n this.scrollable = true;\n }\n if (this.loading) {\n this.startLoadingTimer();\n this.showLoadingIndicator();\n }\n\n if (this.truncationPattern) {\n this.getTypographyElements().forEach(\n (typographyEl: HTMLIcTypographyElement) => {\n const cellContainer = this.getCellContainer(typographyEl);\n if (!cellContainer.classList.contains(this.TEXT_WRAP_STRING)) {\n this.dataTruncation(typographyEl);\n }\n }\n );\n\n this.debounceDataTruncation();\n }\n\n if (this.globalRowHeight !== \"auto\") {\n this.updateSetRowHeight();\n }\n }\n\n componentDidUpdate(): void {\n // truncation updates invoked here once new/updated data has\n // rendered to take into account updated .cell-container/ic-typography box model updates.\n if (\n this.truncationPattern === this.SHOW_HIDE_STRING ||\n this.truncationPattern === this.TOOLTIP_STRING\n ) {\n this.truncateUpdatedData();\n }\n }\n\n componentDidRender(): void {\n this.fixCellTooltips();\n }\n\n private truncateUpdatedData() {\n if (this.dataUpdated) {\n if (this.truncationPattern === this.SHOW_HIDE_STRING) {\n this.getTypographyElements().forEach(\n (typographyEl: HTMLIcTypographyElement) => {\n const truncWrapper = this.getTruncWrapper(typographyEl);\n const cellContainer = this.getCellContainer(typographyEl);\n\n if (\n cellContainer?.clientHeight - this.DEFAULT_LINE_HEIGHT >=\n truncWrapper?.scrollHeight\n ) {\n this.resetShowHideTruncation(typographyEl);\n return;\n }\n\n setTimeout(() => {\n // slight delay due to data rendering\n if (typographyEl?.scrollHeight > cellContainer?.clientHeight) {\n this.addShowHideTruncation(cellContainer, typographyEl);\n }\n }, 150);\n }\n );\n }\n\n if (this.truncationPattern === this.TOOLTIP_STRING) {\n this.updateTruncationTooltip();\n }\n\n this.dataUpdated = false;\n }\n\n if (this.tableSorted) {\n if (this.truncationPattern === this.TOOLTIP_STRING) {\n this.updateTruncationTooltip();\n }\n\n if (this.truncationPattern === this.SHOW_HIDE_STRING) {\n this.getTypographyElements().forEach(\n (typographyEl: HTMLIcTypographyElement) => {\n const cellContainer = this.getCellContainer(typographyEl);\n\n if (!cellContainer.classList.contains(this.TEXT_WRAP_STRING)) {\n this.createShowHideTruncation(typographyEl, cellContainer);\n } else {\n typographyEl.resetTruncation().then(() => {\n cellContainer.removeAttribute(\"style\");\n });\n }\n }\n );\n }\n\n this.tableSorted = false;\n }\n\n // This function recalculates the tooltip truncation when the rowHeight has been set.\n // This is in componentDidUpdate so a setTimeout is not used to wait for the render to be complete\n if (this.rowHeightSet) {\n const fontSize = parseInt(\n getComputedStyle(document.documentElement).fontSize\n );\n const hasAutoRowHeight = this.globalRowHeight === \"auto\";\n\n this.getTypographyElements().forEach(\n (typographyEl: HTMLIcTypographyElement) => {\n const cellContainer = this.getCellContainer(typographyEl);\n const tooltipEl = this.getTooltip(typographyEl);\n\n if (hasAutoRowHeight) {\n cellContainer.style.height = null;\n\n if (this.truncationPattern === this.TOOLTIP_STRING) {\n this.removeTooltip(cellContainer, typographyEl, tooltipEl);\n typographyEl.setAttribute(\"style\", `--ic-line-clamp: 0`);\n } else if (this.truncationPattern === this.SHOW_HIDE_STRING) {\n this.resetShowHideTruncation(typographyEl);\n }\n\n return;\n }\n\n const rowHeight =\n fontSize *\n parseFloat(cellContainer.getAttribute(this.DATA_ROW_HEIGHT_STRING));\n\n // If the set row height is bigger than the cell container even\n // with textWrap, set the row height\n if (\n !cellContainer?.style?.height &&\n rowHeight > cellContainer.clientHeight &&\n !cellContainer.classList.contains(this.TEXT_WRAP_STRING)\n ) {\n cellContainer.style.setProperty(\n this.ROW_HEIGHT_CSS_VARIABLE,\n cellContainer.getAttribute(this.DATA_ROW_HEIGHT_STRING)\n );\n }\n\n if (this.truncationPattern) {\n // If the set row height is bigger than the typography truncation wrapper\n // scroll height, remove see more / see less button\n if (this.truncationPattern === this.SHOW_HIDE_STRING) {\n const truncWrapper = this.getTruncWrapper(typographyEl);\n const showHideBtn =\n typographyEl.shadowRoot.querySelector(\"button\");\n\n if (\n showHideBtn &&\n truncWrapper?.scrollHeight <= cellContainer.clientHeight\n ) {\n this.resetShowHideTruncation(typographyEl);\n return;\n }\n }\n\n this.truncate(typographyEl, cellContainer, tooltipEl);\n } else {\n this.updateSetRowHeight(typographyEl);\n }\n }\n );\n\n this.rowHeightSet = false;\n }\n\n // Only run truncation on the new rows\n // when the number of items per page has increased\n if (this.itemsPerPageChange) {\n const allRows = this.el.shadowRoot.querySelectorAll(\".table-row\");\n\n if (this.rowsPerPage > this.previousItemsPerPage) {\n const newRows = Array.from(allRows).slice(this.previousItemsPerPage);\n\n newRows.forEach((row) => {\n row\n .querySelectorAll(\"ic-typography\")\n .forEach((typographyEl: HTMLIcTypographyElement) => {\n const cellContainer = this.getCellContainer(typographyEl);\n const tooltipEl = this.getTooltip(typographyEl);\n\n this.truncate(typographyEl, cellContainer, tooltipEl);\n });\n });\n }\n\n this.previousItemsPerPage = this.rowsPerPage;\n this.itemsPerPageChange = false;\n }\n\n if (!this.initialLoad && this.icPageChangeEvent) {\n if (this.truncationPattern === this.TOOLTIP_STRING) {\n this.updateTruncationTooltip();\n }\n\n // set truncation to see more if opened and next/previous page is pressed\n if (this.truncationPattern === this.SHOW_HIDE_STRING) {\n this.getTypographyElements().forEach((typographyEl) => {\n const cellContainer = this.getCellContainer(typographyEl);\n const showHideBtn = typographyEl.shadowRoot.querySelector(\"button\");\n\n if (\n typographyEl?.scrollHeight > cellContainer.clientHeight &&\n !showHideBtn\n ) {\n this.addShowHideTruncation(cellContainer, typographyEl);\n }\n });\n }\n\n this.icPageChangeEvent = false;\n }\n\n if (this.densityUpdate) {\n this.getTypographyElements().forEach((typographyEl) => {\n const cellContainer = this.getCellContainer(typographyEl);\n const tooltipEl = this.getTooltip(typographyEl);\n\n this.truncate(typographyEl, cellContainer, tooltipEl);\n });\n\n this.densityUpdate = false;\n }\n\n if (this.truncationPatternUpdated) {\n if (this.truncationPattern === this.TOOLTIP_STRING) {\n this.getTypographyElements().forEach((typographyEl) => {\n const cellContainer = this.getCellContainer(typographyEl);\n const tooltipEl = this.getTooltip(typographyEl);\n\n if (typographyEl.scrollHeight > cellContainer.clientHeight) {\n this.addTooltipTruncation(typographyEl, cellContainer, tooltipEl);\n }\n });\n } else if (this.truncationPattern === this.SHOW_HIDE_STRING) {\n this.getTypographyElements().forEach(\n (typographyEl: HTMLIcTypographyElement) => {\n const truncWrapper = this.getTruncWrapper(typographyEl);\n const cellContainer = this.getCellContainer(typographyEl);\n\n if (\n cellContainer?.clientHeight - this.DEFAULT_LINE_HEIGHT >\n truncWrapper?.scrollHeight\n ) {\n this.resetShowHideTruncation(typographyEl);\n return;\n }\n\n if (typographyEl?.scrollHeight > cellContainer?.clientHeight) {\n this.addShowHideTruncation(cellContainer, typographyEl);\n }\n }\n );\n }\n }\n }\n\n private updateSetRowHeight = (typographyEl?: HTMLIcTypographyElement) => {\n const fontSize = parseInt(\n getComputedStyle(document.documentElement).fontSize\n );\n\n if (typographyEl) {\n const cellContainer = this.getCellContainer(typographyEl);\n\n const rowHeight =\n fontSize *\n parseFloat(cellContainer.getAttribute(this.DATA_ROW_HEIGHT_STRING));\n\n if (typographyEl.scrollHeight > rowHeight) {\n cellContainer.style.removeProperty(this.ROW_HEIGHT_CSS_VARIABLE);\n }\n } else {\n this.getTypographyElements().forEach(\n (typographyEl: HTMLIcTypographyElement) => {\n const cellContainer = this.getCellContainer(typographyEl);\n\n const rowHeight =\n fontSize *\n parseFloat(cellContainer.getAttribute(this.DATA_ROW_HEIGHT_STRING));\n\n if (typographyEl.scrollHeight > rowHeight) {\n cellContainer.style.removeProperty(this.ROW_HEIGHT_CSS_VARIABLE);\n }\n }\n );\n }\n };\n\n private createShowHideTruncation(\n typographyEl: HTMLIcTypographyElement,\n cellContainer: HTMLElement\n ) {\n typographyEl.checkMaxLines(typographyEl.scrollHeight);\n typographyEl.setAttribute(\n \"max-lines\",\n `${Math.floor(cellContainer?.clientHeight / this.DEFAULT_LINE_HEIGHT)}`\n );\n typographyEl.setShowHideExpanded(false);\n\n cellContainer.style.setProperty(this.ROW_HEIGHT_CSS_VARIABLE, null);\n }\n\n private debounceDataTruncation = () => {\n this.getTypographyElements().forEach(\n (typographyEl: HTMLIcTypographyElement) => {\n const cellContainer = this.getCellContainer(typographyEl);\n if (!cellContainer.classList.contains(this.TEXT_WRAP_STRING)) {\n this.resizeObserver = new ResizeObserver(\n // This gets triggered twice due to updated data and see more/see less button\n dynamicDebounce(\n () => {\n this.dataTruncation(typographyEl);\n\n if (!this.isNewDebounceDelaySet) {\n this.setNewDebounceDelay(200);\n }\n },\n () => this.debounceDelay\n ) as ResizeObserverCallback\n );\n\n this.resizeObserver.observe(typographyEl);\n }\n }\n );\n };\n\n private setNewDebounceDelay = (delay: number) => {\n this.debounceDelay = delay;\n\n this.isNewDebounceDelaySet = true;\n };\n\n private getLines = (height: number): number =>\n Math.floor(height / this.DEFAULT_LINE_HEIGHT);\n\n private truncate = (\n typographyEl: HTMLIcTypographyElement,\n cellContainer: HTMLElement,\n tooltip: HTMLIcTooltipElement\n ) => {\n if (typographyEl?.scrollHeight > cellContainer?.clientHeight) {\n //24 is the height of a single line\n if (!typographyEl.closest(this.TEXT_WRAP_CLASS)) {\n if (this.truncationPattern === this.TOOLTIP_STRING) {\n this.addTooltipTruncation(typographyEl, cellContainer, tooltip);\n }\n if (this.truncationPattern === this.SHOW_HIDE_STRING) {\n this.addShowHideTruncation(cellContainer, typographyEl);\n }\n }\n } else {\n if (this.truncationPattern === this.TOOLTIP_STRING && tooltip) {\n typographyEl.setAttribute(\"style\", `--ic-line-clamp: 0`);\n\n cellContainer.appendChild(typographyEl);\n tooltip.remove();\n }\n\n if (\n this.truncationPattern === this.SHOW_HIDE_STRING &&\n !isEmptyString(typographyEl.getAttribute(\"max-lines\"))\n ) {\n this.resetShowHideTruncation(typographyEl);\n }\n }\n };\n\n private addTooltipTruncation(\n typographyEl: HTMLIcTypographyElement,\n cellContainer: HTMLElement,\n tooltip: HTMLIcTooltipElement\n ) {\n this.addLineClampCSS(typographyEl, cellContainer);\n\n if (!tooltip) {\n this.createTruncationTooltip(typographyEl, cellContainer);\n }\n }\n\n private addShowHideTruncation(\n cellContainer: HTMLElement,\n typographyEl: HTMLIcTypographyElement\n ) {\n cellContainer.classList.add(this.SHOW_HIDE_CSS_CLASS);\n this.createShowHideTruncation(typographyEl, cellContainer);\n }\n\n private dataTruncation = (typographyEl: HTMLIcTypographyElement) => {\n // Tooltip truncation mentioned in AC. Will need revisiting\n const tooltip: HTMLIcTooltipElement = this.getTooltip(typographyEl);\n const cellContainer = this.getCellContainer(typographyEl);\n if (\n cellContainer?.classList.contains(\"data-type-element\") ||\n this.dataUpdated\n ) {\n return;\n }\n\n if (\n this.truncationPattern === this.SHOW_HIDE_STRING &&\n typographyEl.shadowRoot.querySelector(\"button\")\n ) {\n const showHideBtn = typographyEl.shadowRoot.querySelector(\"button\");\n // If the see more/see less is present and the max lines is equal to the cell container\n // remove the see more/see less button\n if (showHideBtn) {\n const truncWrapper = this.getTruncWrapper(typographyEl);\n\n if (\n this.getLines(truncWrapper.scrollHeight) ===\n +typographyEl.getAttribute(\"max-lines\")\n ) {\n this.resetShowHideTruncation(typographyEl);\n }\n }\n }\n\n // Deals with setting and resetting row height and re-truncating data\n if (this.rowHeightSet && this.truncationPattern === this.SHOW_HIDE_STRING) {\n const truncWrapper = this.getTruncWrapper(typographyEl);\n // cellContainer.clientHeight - 24 removes the extra line by see more/see less\n if (\n truncWrapper &&\n cellContainer.clientHeight - this.DEFAULT_LINE_HEIGHT >\n truncWrapper.scrollHeight\n ) {\n this.resetShowHideTruncation(typographyEl);\n return;\n }\n\n if (typographyEl.scrollHeight > cellContainer.clientHeight) {\n this.addShowHideTruncation(cellContainer, typographyEl);\n return;\n }\n }\n\n if (\n typographyEl?.scrollHeight > 0 &&\n cellContainer?.clientHeight > 0 &&\n typographyEl?.scrollHeight === cellContainer?.clientHeight\n ) {\n if (tooltip) {\n this.removeTooltip(cellContainer, typographyEl, tooltip);\n }\n return;\n }\n\n this.truncate(typographyEl, cellContainer, tooltip);\n };\n\n private getTruncWrapper(typographyEl: HTMLIcTypographyElement) {\n return typographyEl.shadowRoot.querySelector(\".trunc-wrapper\");\n }\n\n // Set the height to initial if row height is set and the show / hide truncation\n // is clicked\n @Listen(\"typographyTruncationExpandToggle\")\n handleTypographyTruncationExpandToggle({\n detail,\n }: CustomEvent<{\n expanded: boolean;\n typographyEl: HTMLIcTypographyElement;\n }>): void {\n const { expanded, typographyEl } = detail;\n const cellContainer = this.getCellContainer(typographyEl);\n\n if (\n cellContainer.style.getPropertyValue(this.ROW_HEIGHT_CSS_VARIABLE) &&\n expanded\n ) {\n cellContainer.style.setProperty(this.ROW_HEIGHT_CSS_VARIABLE, \"inherit\");\n }\n }\n\n @Listen(\"icPageChange\")\n handlePageChange({ detail, target }: CustomEvent<{ value: number }>): void {\n if ((target as HTMLIcPaginationBarElement).parentElement !== this.el) {\n this.fromRow = (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 if (!this.initialLoad && this.previousPaginationPage !== detail.value) {\n // This is to prevent icPageChange from triggering truncation on first load\n this.icPageChangeEvent = true;\n }\n\n this.previousPaginationPage = detail.value;\n this.initialLoad = false;\n }\n\n @Listen(\"icItemsPerPageChange\")\n handleItemsPerPageChange({\n detail,\n target,\n }: CustomEvent<{ value: number }>): void {\n if ((target as HTMLIcPaginationBarElement).parentElement !== this.el) {\n this.previousRowsPerPage = this.rowsPerPage;\n this.rowsPerPage = detail.value;\n }\n\n this.itemsPerPageChange = true;\n }\n\n @Listen(\"icTableDensityUpdate\")\n handleDensityChange(ev: CustomEvent<IcDensityUpdateEventDetail>): void {\n this.density = ev.detail.value;\n }\n\n @Listen(\"click\", { target: \"window\" })\n clickListener(ev: MouseEvent): void {\n if (ev.target !== this.el) this.selectedRow = undefined;\n }\n\n @Watch(\"loading\")\n loadingHandler(newValue: boolean): void {\n if (newValue) this.startLoadingTimer();\n\n if (this.loading) {\n setTimeout(() => {\n this.showLoadingIndicator();\n }, 500);\n }\n }\n\n @Watch(\"truncationPattern\")\n truncationPatternHandler(newValue: IcDataTableTruncationTypes): void {\n if (newValue === this.TOOLTIP_STRING) {\n this.resetShowHideTruncation();\n this.updateTruncationTooltip(true);\n\n // Not using debounceDataTruncation here due to resizeObserver not being triggered\n this.getTypographyElements().forEach(\n (typographyEl: HTMLIcTypographyElement) => {\n const cellContainer = this.getCellContainer(typographyEl);\n const tooltip: HTMLIcTooltipElement = this.getTooltip(typographyEl);\n\n this.truncate(typographyEl, cellContainer, tooltip);\n }\n );\n }\n\n if (newValue === this.SHOW_HIDE_STRING) {\n // ResizeObserver is trigger here due to the see more/see less links being removed.\n // The resizeObserver will also apply the tooltip where relevant\n this.updateTruncationTooltip(true);\n this.getTypographyElements().forEach(\n (typographyEl: HTMLIcTypographyElement) => {\n const truncWrapper = this.getTruncWrapper(typographyEl);\n const cellContainer = this.getCellContainer(typographyEl);\n\n if (\n cellContainer?.clientHeight - this.DEFAULT_LINE_HEIGHT >\n truncWrapper?.scrollHeight\n ) {\n this.resetShowHideTruncation(typographyEl);\n return;\n }\n\n setTimeout(() => {\n // slight delay due to data rendering\n if (typographyEl?.scrollHeight > cellContainer?.clientHeight) {\n this.addShowHideTruncation(cellContainer, typographyEl);\n }\n }, 150);\n }\n );\n }\n\n this.truncationPatternUpdated = true;\n }\n\n @Watch(\"data\")\n async dataHandler(newData: IcDataTableDataType[]): Promise<void> {\n this.loadingOptions = {\n ...this.loadingOptions,\n showBackground: newData?.length > 0,\n };\n if (this.loading) {\n !this.hasLoadedForOneSecond\n ? setTimeout(\n () => (this.loading = false),\n this.minimumLoadingDisplayDuration -\n (Date.now() - this.timerStarted)\n )\n : (this.loading = false);\n }\n if (this.updating) this.updating = false;\n\n this.dataUpdated = true;\n }\n\n @Watch(\"density\")\n async densityHandler(): Promise<void> {\n this.densityUpdate = true;\n }\n\n private removeTextWrap = (): void => {\n this.getTypographyElements().forEach(\n (typographyEl: HTMLIcTypographyElement) => {\n const tableCell = typographyEl.closest(\"td\");\n if (tableCell.classList.contains(this.TEXT_WRAP_STRING)) {\n tableCell.classList.remove(this.TEXT_WRAP_STRING);\n }\n }\n );\n };\n\n private getCellContainer = (\n typographyEl: HTMLIcTypographyElement\n ): HTMLElement => {\n return typographyEl.closest(\".cell-container\");\n };\n\n private deleteTextWrapDataKey = (\n array: IcDataTableColumnObject[] | object[]\n ) =>\n Array.isArray(array) &&\n array.forEach((val) => val.textWrap && delete val.textWrap);\n\n private resetShowHideTruncation(typographyEl?: HTMLIcTypographyElement) {\n if (typographyEl) {\n const truncWrapper = this.getTruncWrapper(typographyEl);\n const cellContainer = this.getCellContainer(typographyEl);\n\n if (\n truncWrapper?.scrollHeight > cellContainer?.clientHeight &&\n !isEmptyString(typographyEl.getAttribute(\"max-lines\")) &&\n Math.floor(cellContainer?.clientHeight / this.DEFAULT_LINE_HEIGHT) !==\n +typographyEl.getAttribute(\"max-lines\")\n ) {\n typographyEl.checkMaxLines(truncWrapper.scrollHeight);\n typographyEl.setAttribute(\n \"max-lines\",\n `${Math.floor(\n cellContainer?.clientHeight / this.DEFAULT_LINE_HEIGHT\n )}`\n );\n typographyEl.setShowHideExpanded(false);\n\n cellContainer.style.setProperty(this.ROW_HEIGHT_CSS_VARIABLE, null);\n } else {\n typographyEl.resetTruncation().then(() => {\n if (!typographyEl.closest(this.TEXT_WRAP_CLASS)) {\n cellContainer.style.setProperty(\n this.ROW_HEIGHT_CSS_VARIABLE,\n cellContainer.getAttribute(this.DATA_ROW_HEIGHT_STRING)\n );\n }\n });\n }\n } else {\n this.getTypographyElements().forEach((typographyEl) => {\n const cellContainer = this.getCellContainer(typographyEl);\n\n typographyEl.resetTruncation().then(() => {\n if (!typographyEl.closest(this.TEXT_WRAP_CLASS)) {\n cellContainer.style.setProperty(\n this.ROW_HEIGHT_CSS_VARIABLE,\n cellContainer.getAttribute(this.DATA_ROW_HEIGHT_STRING)\n );\n }\n });\n });\n }\n }\n\n @Watch(\"globalRowHeight\")\n @Watch(\"variableRowHeight\")\n rowHeightChangeHandler(newValue: number, oldValue: number): void {\n if (+newValue !== +oldValue) {\n this.deleteTextWrapDataKey(this.data);\n this.deleteTextWrapDataKey(this.columns);\n this.removeTextWrap();\n\n this.icRowHeightChange.emit();\n\n this.rowHeightSet = true;\n }\n }\n\n /**\n * Resets the `globalRowHeight` prop to number or auto and sets the `variableRowHeight` prop to `null`.\n */\n @Method()\n async resetRowHeights(rowHeight?: number | \"auto\"): Promise<void> {\n this.globalRowHeight = rowHeight || \"auto\";\n this.variableRowHeight = null;\n }\n\n private showLoadingIndicator() {\n this.loadingIndicator.classList.add(\"show\");\n }\n\n private startLoadingTimer = (): void => {\n this.hasLoadedForOneSecond = false;\n this.timerStarted = Date.now();\n setTimeout(() => {\n this.hasLoadedForOneSecond = true;\n this.timerStarted = null;\n }, this.minimumLoadingDisplayDuration);\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 getCellOptions = (cell: any, key: string) => {\n if (!(this.isObject(cell) && Object.keys(cell).includes(key))) return;\n\n return this.getObjectValue(cell, key);\n };\n\n private createUpdatingIndicator = () => {\n const { appearance, description, max, min, progress, monochrome } =\n this.updatingOptions || {};\n return (\n <th colSpan={this.columns.length} class=\"updating-state\">\n <ic-loading-indicator\n theme={appearance}\n monochrome={monochrome}\n description={description || \"Updating table data\"}\n fullWidth={true}\n max={max}\n min={min}\n progress={progress}\n type=\"linear\"\n size=\"small\"\n ></ic-loading-indicator>\n </th>\n );\n };\n\n private setRowHeight = (height: number) => {\n return pxToRem(\n `${\n height * this.DENSITY_HEIGHT_MULTIPLIER[this.density] -\n this.DENSITY_PADDING_HEIGHT_DIFF[this.density]\n }px`\n );\n };\n\n private setTruncationClass = () => {\n if (this.truncationPattern) {\n return { [`truncation-${this.truncationPattern}`]: true };\n }\n\n return {};\n };\n\n private getColumnWidth = (\n columnWidth?: string | IcDataTableColumnWidthTypes\n ) => {\n // TODO: Setting max width on columns\n let columnWidthStyling = {};\n\n if (columnWidth) {\n if (typeof columnWidth === \"string\") {\n columnWidthStyling = {\n ...columnWidthStyling,\n [\"--column-width\"]: columnWidth,\n };\n }\n\n if (typeof columnWidth === \"object\" && !!Object.keys(columnWidth)) {\n if (columnWidth?.minWidth) {\n columnWidthStyling = {\n ...columnWidthStyling,\n [\"--column-min-width\"]: columnWidth?.minWidth,\n };\n }\n\n if (columnWidth?.maxWidth) {\n columnWidthStyling = {\n ...columnWidthStyling,\n [\"--column-max-width\"]: columnWidth?.maxWidth,\n };\n }\n }\n }\n\n return columnWidthStyling;\n };\n\n private getRowHeight = (\n currentRowHeight: number,\n columnProps: IcDataTableColumnObject,\n rowTextWrap: boolean,\n cell: any\n ) => {\n if (\n (this.truncationPattern || currentRowHeight) &&\n !columnProps?.textWrap &&\n !rowTextWrap &&\n !this.getCellOptions(cell, \"textWrap\") &&\n columnProps?.dataType !== \"element\"\n ) {\n return {\n [this.ROW_HEIGHT_CSS_VARIABLE]: this.setRowHeight(currentRowHeight),\n };\n }\n\n return {};\n };\n\n private createCells = (row: IcDataTableDataType, rowIndex: number) => {\n const rowValues = Object.values(row);\n const rowKeys = Object.keys(row);\n\n const rowOptions = this.getRowOptions(rowKeys, rowValues);\n let rowAlignment: string;\n let rowEmphasis: string;\n\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\n const variableRowHeightVal = this.variableRowHeight?.({\n ...row,\n index: rowIndex,\n });\n const currentRowHeight = variableRowHeightVal\n ? variableRowHeightVal !== \"auto\" && variableRowHeightVal\n : this.globalRowHeight !== \"auto\" && this.globalRowHeight;\n\n return rowValues.map((cell, index) => {\n const columnProps = this.columns[index];\n const cellSlotName = `${columnProps?.key}-${rowIndex}`;\n const hasIcon = this.isObject(cell) && Object.keys(cell).includes(\"icon\");\n const cellValue = (key: string) => this.getObjectValue(cell, key);\n\n if (rowKeys[index] === \"header\") {\n return (\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 }\n\n if (rowKeys[index] !== \"rowOptions\") {\n return (\n <td\n class={{\n [\"table-cell\"]: true,\n [`table-density-${this.density}`]: this.notDefaultDensity(),\n [\"with-overflow\"]: columnProps?.dataType === \"element\",\n }}\n style={{ ...this.getColumnWidth(columnProps.columnWidth) }}\n >\n <div\n innerHTML={\n columnProps?.dataType === \"element\" &&\n !isSlotUsed(this.el, cellSlotName)\n ? (cell as string)\n : null\n }\n class={{\n \"cell-container\": columnProps?.dataType !== \"element\",\n [`cell-alignment-${\n columnProps?.columnAlignment?.vertical ||\n rowOptions?.rowAlignment?.vertical ||\n rowAlignment ||\n this.getCellAlignment(cell, \"vertical\")\n }`]:\n !!columnProps?.columnAlignment?.vertical ||\n !!rowOptions?.rowAlignment?.vertical ||\n !!rowAlignment ||\n !!this.getCellAlignment(cell, \"vertical\"),\n [`cell-alignment-${\n columnProps?.columnAlignment?.horizontal ||\n rowOptions?.rowAlignment?.horizontal ||\n this.getCellAlignment(cell, \"horizontal\")\n }`]:\n !!columnProps?.columnAlignment?.horizontal ||\n !!rowOptions?.rowAlignment?.horizontal ||\n !!this.getCellAlignment(cell, \"horizontal\"),\n [`data-type-${columnProps?.dataType}`]: true,\n [this.TEXT_WRAP_STRING]:\n columnProps?.textWrap ||\n rowOptions?.textWrap ||\n !!this.getCellOptions(cell, \"textWrap\"),\n [\"cell-icon\"]: hasIcon || !!columnProps?.icon?.icon,\n ...this.setTruncationClass(),\n }}\n style={{\n ...this.getRowHeight(\n currentRowHeight,\n columnProps,\n rowOptions?.textWrap,\n cell\n ),\n ...this.getColumnWidth(columnProps?.columnWidth),\n }}\n data-row-height={\n this.truncationPattern || currentRowHeight\n ? this.setRowHeight(currentRowHeight)\n : null\n }\n >\n {isSlotUsed(this.el, cellSlotName) ? (\n <slot name={cellSlotName} />\n ) : (\n <Fragment>\n {isSlotUsed(this.el, `${cellSlotName}-icon`) ? (\n <slot name={`${cellSlotName}-icon`} />\n ) : (\n (hasIcon || columnProps?.icon?.onAllCells) &&\n (cellValue(\"icon\") || columnProps?.icon?.icon) && (\n <span\n class=\"icon\"\n innerHTML={cellValue(\"icon\") || columnProps?.icon?.icon}\n ></span>\n )\n )}\n {columnProps?.dataType !== \"element\" &&\n !isSlotUsed(this.el, cellSlotName) && (\n <ic-typography\n variant=\"body\"\n class={{\n [`cell-emphasis-${\n (this.isObject(cell) && cellValue(\"emphasis\")) ||\n columnProps?.emphasis ||\n rowEmphasis\n }`]:\n (this.isObject(cell) && !!cellValue(\"emphasis\")) ||\n !!columnProps?.emphasis ||\n !!rowEmphasis,\n [`text-${this.density}`]: this.notDefaultDensity(),\n }}\n >\n {this.isObject(cell) &&\n columnProps?.dataType !== \"date\" ? (\n Object.keys(cell).includes(\"href\") ? (\n <ic-link href={cellValue(\"href\")}>\n {cellValue(\"data\")}\n </ic-link>\n ) : (\n cellValue(\"data\")\n )\n ) : (\n this.getCellContent(cell, columnProps?.dataType)\n )}\n </ic-typography>\n )}\n </Fragment>\n )}\n </div>\n </td>\n );\n }\n });\n };\n\n private createColumnHeaders = () => {\n return this.columns.map(\n ({ cellAlignment, colspan, icon, key, title, columnWidth }) => (\n <th\n scope=\"col\"\n class={{\n [\"column-header\"]: true,\n [`table-density-${this.density}`]: this.notDefaultDensity(),\n [\"updating-state-headers\"]: this.updating && !this.loading,\n }}\n style={{ ...this.getColumnWidth(columnWidth) }}\n colSpan={colspan}\n >\n <div\n class={{\n \"column-header-inner-container\": true,\n [`column-header-alignment-${cellAlignment}`]: !!cellAlignment,\n }}\n >\n {isSlotUsed(this.el, `${key}-column-icon`) ? (\n <slot name={`${key}-column-icon`} />\n ) : (\n icon &&\n !icon.hideOnHeader && (\n <span class=\"icon\" innerHTML={icon.icon}></span>\n )\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 {this.sortable && (\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 )}\n </div>\n </th>\n )\n );\n };\n\n private onRowClick = (row: object) => {\n this.selectedRow =\n this.selectedRow !== row && !this.loading && !this.updating && row;\n };\n\n private createRows = () => {\n const data = this.showPagination\n ? this.data.slice(this.fromRow, this.toRow)\n : this.data.slice();\n\n /**\n * Ensures that createCells has a value in data to map over to actually render the slot.\n * Removes the need for the user to add it multiple times.\n * `addDataToPosition` used to add the element in the correct column order.\n * Adding empty string value in to give `createCells` something to loop over.\n */\n const organisedData = data.map((row, rowIndex) => {\n const slottedColumns = this.columns\n .map(\n ({ key }, index) =>\n isSlotUsed(this.el, `${key}-${rowIndex}`) && { key, index }\n )\n .filter((col) => !!col);\n return slottedColumns.length > 0\n ? addDataToPosition(row, slottedColumns, \"\")\n : row;\n });\n\n return organisedData\n .sort(!this.sortable ? undefined : this.getSortFunction())\n .map((row, index) => {\n return (\n <tr\n // eslint-disable-next-line react/jsx-no-bind\n onClick={() => this.onRowClick(row)}\n class={{\n [\"table-row\"]: true,\n [\"table-row-selected\"]: this.selectedRow === row,\n }}\n >\n {this.createCells(row, index)}\n </tr>\n );\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 this.tableSorted = true;\n\n this.icSortChange.emit({\n columnName: column,\n sorted: this.sortedColumnOrder,\n });\n };\n\n private getTypographyElements = (): HTMLIcTypographyElement[] => {\n return Array.from(\n this.el.shadowRoot.querySelectorAll(\n \"ic-typography:not(.column-header-text)\"\n )\n );\n };\n\n private getTooltip = (\n typographyEl: HTMLIcTypographyElement\n ): HTMLIcTooltipElement => {\n return typographyEl.closest(this.TOOLTIP);\n };\n\n private updateTruncationTooltip = (removeTooltipOnly = false) => {\n this.getTypographyElements().forEach(\n (typographyEl: HTMLIcTypographyElement) => {\n const tooltip = this.getTooltip(typographyEl);\n const cellContainer = this.getCellContainer(typographyEl);\n\n if (typographyEl.closest(this.TEXT_WRAP_CLASS)) {\n this.removeTooltip(cellContainer, typographyEl, tooltip);\n typographyEl.setAttribute(\"style\", `--ic-line-clamp: 0`);\n return;\n }\n\n this.regenerateTooltip(\n cellContainer,\n typographyEl,\n tooltip,\n removeTooltipOnly\n );\n }\n );\n };\n\n private updateScrollOffset = () => {\n this.scrollOffset = this.el.shadowRoot.querySelector(\n \".table-row-container\"\n ).scrollTop;\n };\n\n private getRowOptions(rowKeys: string[], rowValues: any[]) {\n const rowOptionsIndex = rowKeys.indexOf(\"rowOptions\");\n return rowOptionsIndex > -1 && rowValues[rowOptionsIndex];\n }\n\n private regenerateTooltip(\n cellContainer: HTMLElement,\n typographyEl: HTMLIcTypographyElement,\n tooltip: HTMLIcTooltipElement,\n removeTooltipOnly?: boolean\n ) {\n // When sorting the table, instead of regenerating the tooltip,\n // the tooltip details are updated\n\n if (tooltip) {\n if (this.tableSorted) {\n tooltip.setAttribute(\"target\", typographyEl.id);\n tooltip.setAttribute(\"label\", typographyEl.textContent);\n } else {\n this.removeTooltip(cellContainer, typographyEl, tooltip);\n }\n if (removeTooltipOnly) {\n return;\n }\n }\n\n // This add line clamp to data only when\n // the data object has been updated\n if (!typographyEl.getAttribute(\"style\") && this.dataUpdated) {\n this.addLineClampCSS(typographyEl, cellContainer);\n }\n\n if (\n typographyEl?.scrollHeight > cellContainer?.clientHeight &&\n this.truncationPattern === this.TOOLTIP_STRING\n ) {\n if (\n !typographyEl.getAttribute(\"style\") ||\n typographyEl.style.cssText.includes(\"--ic-line-clamp: 0;\")\n ) {\n this.addLineClampCSS(typographyEl, cellContainer);\n }\n this.createTruncationTooltip(typographyEl, cellContainer);\n }\n }\n private setTableDimensions = () => {\n let tableHostDimensions = {};\n\n if (this.width) {\n tableHostDimensions = {\n ...tableHostDimensions,\n [\"--table-width\"]: this.width,\n };\n }\n\n if (this.height) {\n tableHostDimensions = {\n ...tableHostDimensions,\n [\"--table-height\"]: this.height,\n };\n }\n\n if (this.maxWidth) {\n tableHostDimensions = {\n ...tableHostDimensions,\n [\"--table-max-width\"]: this.maxWidth,\n };\n }\n\n if (this.minWidth) {\n tableHostDimensions = {\n ...tableHostDimensions,\n [\"--table-min-width\"]: this.minWidth,\n };\n }\n\n return tableHostDimensions;\n };\n\n private removeTooltip(\n cellContainer: HTMLElement,\n typographyEl: HTMLIcTypographyElement,\n tooltip: HTMLIcTooltipElement\n ) {\n cellContainer.appendChild(typographyEl);\n if (tooltip) {\n tooltip.remove();\n }\n }\n\n private addLineClampCSS(\n typographyEl: HTMLIcTypographyElement,\n cellContainer: HTMLElement\n ) {\n typographyEl.setAttribute(\n \"style\",\n `--ic-line-clamp: ${this.getLines(cellContainer?.clientHeight)}`\n );\n }\n\n private createTruncationTooltip(\n typographyEl: HTMLIcTypographyElement,\n cellContainer: HTMLElement\n ) {\n const tooltipEl = document.createElement(\"ic-tooltip\");\n tooltipEl.setAttribute(\"target\", typographyEl.id);\n tooltipEl.setAttribute(\"label\", typographyEl.textContent);\n tooltipEl.classList.add(\"ic-tooltip-overflow\");\n tooltipEl.setExternalPopperProps({\n // This might need reverting back to absolute if the tooltip doesn't dynamically position itself correctly\n strategy: \"fixed\",\n });\n cellContainer.appendChild(tooltipEl);\n tooltipEl.appendChild(typographyEl);\n }\n\n private fixCellTooltips = () => {\n const elements = this.el.shadowRoot.querySelectorAll(\".data-type-element\");\n elements.forEach((element) => {\n const slotElements = getSlotElements(element);\n slotElements.forEach((slottedEl: HTMLElement) => {\n const tooltipEl = (\n slottedEl.tagName === \"IC-TOOLTIP\"\n ? slottedEl\n : slottedEl.shadowRoot?.querySelector(\"ic-tooltip\")\n ) as HTMLIcTooltipElement;\n if (tooltipEl) {\n tooltipEl.setExternalPopperProps({\n strategy: \"fixed\",\n });\n }\n });\n });\n };\n\n render() {\n const {\n caption,\n createColumnHeaders,\n createRows,\n createUpdatingIndicator,\n data,\n hideColumnHeaders,\n loading,\n loadingOptions,\n paginationBarOptions,\n scrollable,\n scrollOffset,\n showPagination,\n sortable,\n sortedColumnOrder,\n sortedColumn,\n stickyColumnHeaders,\n updateScrollOffset,\n updating,\n } = this;\n\n return (\n <Host style={{ ...this.setTableDimensions() }}>\n <div class=\"table-container\">\n {isSlotUsed(this.el, \"title-bar\") && <slot name=\"title-bar\" />}\n <div\n class={{\n [\"table-row-container\"]: true,\n scrollable,\n }}\n tabIndex={scrollable ? 0 : null}\n onScroll={updateScrollOffset}\n >\n {isSlotUsed(this.el, \"title-bar\") && <slot name=\"title-bar\" />}\n <table\n style={{\n [\"--table-layout\"]: this.tableLayout,\n }}\n >\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 {updating &&\n !loading &&\n (hideColumnHeaders ? (\n <thead>{createUpdatingIndicator()}</thead>\n ) : (\n createUpdatingIndicator()\n ))}\n {data?.length > 0 && !loading && <tbody>{createRows()}</tbody>}\n </table>\n {!data?.length &&\n !loading &&\n (isSlotUsed(this.el, \"empty-state\") ? (\n <slot name=\"empty-state\" />\n ) : (\n <ic-empty-state\n aligned=\"center\"\n heading=\"No Data\"\n class=\"loading-empty\"\n ></ic-empty-state>\n ))}\n </div>\n {loading && (\n <ic-loading-indicator\n theme={loadingOptions?.appearance}\n monochrome={loadingOptions?.monochrome}\n class={{\n \"loading-empty\": loading,\n loading: true,\n \"show-background\": loadingOptions.showBackground,\n }}\n description={loadingOptions.description || \"Loading table data\"}\n label={loadingOptions.label || \"Loading...\"}\n labelDuration={loadingOptions?.labelDuration}\n max={loadingOptions?.max}\n min={loadingOptions?.min}\n progress={loadingOptions?.progress}\n ref={(el: HTMLIcLoadingIndicatorElement) =>\n (this.loadingIndicator = el)\n }\n ></ic-loading-indicator>\n )}\n {(showPagination || isSlotUsed(this.el, \"pagination-bar\")) && (\n <div class=\"pagination-container\">\n {isSlotUsed(this.el, \"pagination-bar\") ? (\n <slot name=\"pagination-bar\" />\n ) : (\n <ic-pagination-bar\n totalItems={data.length}\n type={paginationBarOptions.type}\n rangeLabelType={paginationBarOptions.rangeLabelType}\n showItemsPerPageControl={\n paginationBarOptions.showItemsPerPageControl\n }\n showGoToPageControl={paginationBarOptions.showGoToPageControl}\n itemsPerPageOptions={paginationBarOptions.itemsPerPageOptions}\n alignment={paginationBarOptions.alignment}\n appearance={paginationBarOptions.appearance}\n itemLabel={paginationBarOptions.itemLabel}\n pageLabel={paginationBarOptions.pageLabel}\n hideRangeLabel={paginationBarOptions.hideRangeLabel}\n hideAllFromItemsPerPage={\n paginationBarOptions.hideAllFromItemsPerPage\n }\n ></ic-pagination-bar>\n )}\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 </Host>\n );\n }\n}\n"],"mappings":"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"}
@@ -1,2 +1,2 @@
1
- import{r as e,c as t,h as o,H as i,g as r}from"./p-8455d1bb.js";import{e as n,t as a,g as s,f as c,i as l,u as d,I as p}from"./p-9397b15b.js";const m='/*! normalize.css v8.0.1 | MIT License | github.com/necolas/normalize.css */html{line-height:1.15;-webkit-text-size-adjust:100%;}body{margin:0}main{display:block}h1{font-size:2em;margin:0.67em 0}hr{box-sizing:content-box;height:0;overflow:visible;}pre{font-family:monospace, monospace;font-size:1em;}a{background-color:transparent}abbr[title]{border-bottom:none;text-decoration:underline;-webkit-text-decoration:underline dotted;text-decoration:underline dotted;}b,strong{font-weight:bolder}code,kbd,samp{font-family:monospace, monospace;font-size:1em;}small{font-size:80%}sub,sup{font-size:75%;line-height:0;position:relative;vertical-align:baseline}sub{bottom:-0.25em}sup{top:-0.5em}img{border-style:none}button,input,optgroup,select,textarea{font-family:inherit;font-size:100%;line-height:1.15;margin:0;}button,input{overflow:visible}button,select{text-transform:none}button,[type="button"],[type="reset"],[type="submit"]{-webkit-appearance:button}button::-moz-focus-inner,[type="button"]::-moz-focus-inner,[type="reset"]::-moz-focus-inner,[type="submit"]::-moz-focus-inner{border-style:none;padding:0}button:-moz-focusring,[type="button"]:-moz-focusring,[type="reset"]:-moz-focusring,[type="submit"]:-moz-focusring{outline:1px dotted ButtonText}fieldset{padding:0.35em 0.75em 0.625em}legend{box-sizing:border-box;color:inherit;display:table;max-width:100%;padding:0;white-space:normal;}progress{vertical-align:baseline}textarea{overflow:auto}[type="checkbox"],[type="radio"]{box-sizing:border-box;padding:0;}[type="number"]::-webkit-inner-spin-button,[type="number"]::-webkit-outer-spin-button{height:auto}[type="search"]{-webkit-appearance:textfield;outline-offset:-2px;}[type="search"]::-webkit-search-decoration{-webkit-appearance:none}::-webkit-file-upload-button{-webkit-appearance:button;font:inherit;}details{display:block}summary{display:list-item}template{display:none}[hidden]{display:none}html,body,div,span,applet,object,iframe,h1,h2,h3,h4,h5,h6,p,blockquote,pre,a,abbr,acronym,address,big,cite,code,del,dfn,em,img,ins,kbd,q,s,samp,small,strike,strong,sub,sup,tt,var,b,u,i,center,dl,dt,dd,ol,ul,li,fieldset,form,label,legend,table,caption,tbody,tfoot,thead,tr,th,td,article,aside,canvas,details,embed,figure,figcaption,footer,header,hgroup,menu,nav,output,ruby,section,summary,time,mark,audio,video{margin:0;padding:0;border:0;font-size:100%;font-style:inherit;vertical-align:baseline}:host{display:block;--footer-compliance-padding:1rem 0}:host(.ic-footer-sparse){--footer-links-padding:1.5rem 0;--footer-logo-margin-bottom:calc(var(--ic-space-md) + var(--ic-space-xxs));--footer-link-inner-flex-direction:row}:host(.ic-footer-small){--footer-links-padding:0 0;--footer-logo-margin-bottom:var(--ic-space-md);--footer-link-inner-flex-direction:column}:host(.ic-footer-foreground-light){--footer-theme-secondary:var(--ic-theme-secondary);--footer-theme-tertiary:var(--ic-theme-tertiary);--footer-keyline:var(--ic-border-keyline-lighten)}:host(.ic-footer-foreground-dark){--footer-theme-secondary:var(--ic-theme-secondary-light);--footer-theme-tertiary:var(--ic-theme-tertiary-light);--footer-keyline:var(--ic-border-keyline-darken)}:host(.ic-footer-small.ic-footer-ungrouped){--footer-links-padding:var(--ic-space-md) 0 0 0}footer{display:flex;flex-direction:column;width:100%}.footer-description{background-color:var(--footer-theme-secondary);color:var(--ic-theme-text);--ic-typography-color:var(--ic-theme-text);border-bottom:var(--footer-keyline)}.footer-description-inner{padding:1rem 0}.footer-links{padding:var(--footer-links-padding);background-color:var(--footer-theme-secondary);color:var(--ic-theme-text);--ic-typography-color:var(--ic-theme-text)}.footer-links-inner{display:flex;flex-direction:var(--footer-link-inner-flex-direction)}.footer-compliance{background-color:var(--footer-theme-tertiary);color:var(--ic-theme-text);--ic-typography-color:var(--ic-theme-text)}.footer-compliance-inner{padding:var(--footer-compliance-padding)}.footer-logo{margin-bottom:var(--footer-logo-margin-bottom);display:flex;gap:var(--ic-space-xxl)}.footer-logo>::slotted(){margin-right:var(--ic-space-md)}.footer-caption{margin-bottom:var(--ic-space-md)}.classification-spacing{margin-bottom:var(--ic-space-lg)}@media (forced-colors: active){footer{border-top:var(--ic-border-hc)}}';const f=class{constructor(o){e(this,o);this.footerResized=t(this,"footerResized",7);this.resizeObserver=null;this.resizeObserverCallback=e=>{if(e!==this.deviceSize){this.deviceSize=e}this.footerResized.emit()};this.runResizeObserver=()=>{this.resizeObserver=new ResizeObserver((()=>{const e=n();this.resizeObserverCallback(e)}));this.resizeObserver.observe(this.footerEl)};this.deviceSize=a.XL;this.foregroundColor=s();this.aligned="left";this.breakpoint="medium";this.caption=undefined;this.copyright=true;this.description=undefined;this.groupLinks=false}disconnectedCallback(){if(this.resizeObserver!==null){this.resizeObserver.disconnect()}}componentWillLoad(){this.deviceSize=n()}componentDidLoad(){c(this.runResizeObserver)}themeChangeHandler(e){const t=e.detail;this.foregroundColor=t.mode}isSmall(){const e=this.breakpoint;return e==="extra small"?this.deviceSize<a.XS:e==="small"?this.deviceSize<a.S:e==="medium"?this.deviceSize<a.M:e==="large"?this.deviceSize<a.L:e==="extra large"?this.deviceSize<a.XL:false}render(){const{aligned:e,caption:t,copyright:r,description:n,groupLinks:s,foregroundColor:c}=this;const m=this.isSmall();return o(i,{class:{["ic-footer"]:true,[`ic-footer-${m?"small":"sparse"}`]:true,[`ic-footer-${s?"grouped":"ungrouped"}`]:true,[`ic-footer-foreground-${c}`]:true,[`ic-footer-${p.Dark}`]:c===p.Dark,[`ic-footer-${p.Light}`]:c===p.Light}},o("footer",{ref:e=>this.footerEl=e},(l(this.el,"description")||n)&&o("div",{class:"footer-description"},o("ic-section-container",{aligned:e,fullHeight:true},o("div",{class:"footer-description-inner"},o("ic-typography",{variant:"body"},o("slot",{name:"description"},n))))),l(this.el,"link")&&o("div",{class:"footer-links"},s&&m?o("div",{class:"footer-links-inner",role:"list"},o("slot",{name:"link"})):o("ic-section-container",{fullHeight:true,aligned:e},o("div",{class:"footer-links-inner",role:"list"},o("slot",{name:"link"})))),o("div",{class:"footer-compliance"},o("ic-section-container",{aligned:e,fullHeight:true},o("div",{class:"footer-compliance-inner"},l(this.el,"logo")&&o("div",{class:"footer-logo"},o("slot",{name:"logo"})),(l(this.el,"caption")||t)&&o("div",{class:"footer-caption"},o("ic-typography",{variant:this.deviceSize<=a.M?"caption":"body"},o("slot",{name:"caption"},t))),r&&o("div",{class:{["footer-copyright"]:true,["classification-spacing"]:d()}},o("ic-typography",{variant:this.deviceSize<=a.M?"caption-uppercase":"label-uppercase"},"© Crown Copyright")))))))}get el(){return r(this)}};f.style=m;export{f as ic_footer};
2
- //# sourceMappingURL=p-7c268030.entry.js.map
1
+ import{r as e,c as t,h as o,H as i,g as r}from"./p-8455d1bb.js";import{e as n,t as a,g as s,f as c,i as l,u as d,I as p}from"./p-043cf5de.js";const m='/*! normalize.css v8.0.1 | MIT License | github.com/necolas/normalize.css */html{line-height:1.15;-webkit-text-size-adjust:100%;}body{margin:0}main{display:block}h1{font-size:2em;margin:0.67em 0}hr{box-sizing:content-box;height:0;overflow:visible;}pre{font-family:monospace, monospace;font-size:1em;}a{background-color:transparent}abbr[title]{border-bottom:none;text-decoration:underline;-webkit-text-decoration:underline dotted;text-decoration:underline dotted;}b,strong{font-weight:bolder}code,kbd,samp{font-family:monospace, monospace;font-size:1em;}small{font-size:80%}sub,sup{font-size:75%;line-height:0;position:relative;vertical-align:baseline}sub{bottom:-0.25em}sup{top:-0.5em}img{border-style:none}button,input,optgroup,select,textarea{font-family:inherit;font-size:100%;line-height:1.15;margin:0;}button,input{overflow:visible}button,select{text-transform:none}button,[type="button"],[type="reset"],[type="submit"]{-webkit-appearance:button}button::-moz-focus-inner,[type="button"]::-moz-focus-inner,[type="reset"]::-moz-focus-inner,[type="submit"]::-moz-focus-inner{border-style:none;padding:0}button:-moz-focusring,[type="button"]:-moz-focusring,[type="reset"]:-moz-focusring,[type="submit"]:-moz-focusring{outline:1px dotted ButtonText}fieldset{padding:0.35em 0.75em 0.625em}legend{box-sizing:border-box;color:inherit;display:table;max-width:100%;padding:0;white-space:normal;}progress{vertical-align:baseline}textarea{overflow:auto}[type="checkbox"],[type="radio"]{box-sizing:border-box;padding:0;}[type="number"]::-webkit-inner-spin-button,[type="number"]::-webkit-outer-spin-button{height:auto}[type="search"]{-webkit-appearance:textfield;outline-offset:-2px;}[type="search"]::-webkit-search-decoration{-webkit-appearance:none}::-webkit-file-upload-button{-webkit-appearance:button;font:inherit;}details{display:block}summary{display:list-item}template{display:none}[hidden]{display:none}html,body,div,span,applet,object,iframe,h1,h2,h3,h4,h5,h6,p,blockquote,pre,a,abbr,acronym,address,big,cite,code,del,dfn,em,img,ins,kbd,q,s,samp,small,strike,strong,sub,sup,tt,var,b,u,i,center,dl,dt,dd,ol,ul,li,fieldset,form,label,legend,table,caption,tbody,tfoot,thead,tr,th,td,article,aside,canvas,details,embed,figure,figcaption,footer,header,hgroup,menu,nav,output,ruby,section,summary,time,mark,audio,video{margin:0;padding:0;border:0;font-size:100%;font-style:inherit;vertical-align:baseline}:host{display:block;--footer-compliance-padding:1rem 0}:host(.ic-footer-sparse){--footer-links-padding:1.5rem 0;--footer-logo-margin-bottom:calc(var(--ic-space-md) + var(--ic-space-xxs));--footer-link-inner-flex-direction:row}:host(.ic-footer-small){--footer-links-padding:0 0;--footer-logo-margin-bottom:var(--ic-space-md);--footer-link-inner-flex-direction:column}:host(.ic-footer-foreground-light){--footer-theme-secondary:var(--ic-theme-secondary);--footer-theme-tertiary:var(--ic-theme-tertiary);--footer-keyline:var(--ic-border-keyline-lighten)}:host(.ic-footer-foreground-dark){--footer-theme-secondary:var(--ic-theme-secondary-light);--footer-theme-tertiary:var(--ic-theme-tertiary-light);--footer-keyline:var(--ic-border-keyline-darken)}:host(.ic-footer-small.ic-footer-ungrouped){--footer-links-padding:var(--ic-space-md) 0 0 0}footer{display:flex;flex-direction:column;width:100%}.footer-description{background-color:var(--footer-theme-secondary);color:var(--ic-theme-text);--ic-typography-color:var(--ic-theme-text);border-bottom:var(--footer-keyline)}.footer-description-inner{padding:1rem 0}.footer-links{padding:var(--footer-links-padding);background-color:var(--footer-theme-secondary);color:var(--ic-theme-text);--ic-typography-color:var(--ic-theme-text)}.footer-links-inner{display:flex;flex-direction:var(--footer-link-inner-flex-direction)}.footer-compliance{background-color:var(--footer-theme-tertiary);color:var(--ic-theme-text);--ic-typography-color:var(--ic-theme-text)}.footer-compliance-inner{padding:var(--footer-compliance-padding)}.footer-logo{margin-bottom:var(--footer-logo-margin-bottom);display:flex;gap:var(--ic-space-xxl)}.footer-logo>::slotted(){margin-right:var(--ic-space-md)}.footer-caption{margin-bottom:var(--ic-space-md)}.classification-spacing{margin-bottom:var(--ic-space-lg)}@media (forced-colors: active){footer{border-top:var(--ic-border-hc)}}';const f=class{constructor(o){e(this,o);this.footerResized=t(this,"footerResized",7);this.resizeObserver=null;this.resizeObserverCallback=e=>{if(e!==this.deviceSize){this.deviceSize=e}this.footerResized.emit()};this.runResizeObserver=()=>{this.resizeObserver=new ResizeObserver((()=>{const e=n();this.resizeObserverCallback(e)}));this.resizeObserver.observe(this.footerEl)};this.deviceSize=a.XL;this.foregroundColor=s();this.aligned="left";this.breakpoint="medium";this.caption=undefined;this.copyright=true;this.description=undefined;this.groupLinks=false}disconnectedCallback(){if(this.resizeObserver!==null){this.resizeObserver.disconnect()}}componentWillLoad(){this.deviceSize=n()}componentDidLoad(){c(this.runResizeObserver)}themeChangeHandler(e){const t=e.detail;this.foregroundColor=t.mode}isSmall(){const e=this.breakpoint;return e==="extra small"?this.deviceSize<a.XS:e==="small"?this.deviceSize<a.S:e==="medium"?this.deviceSize<a.M:e==="large"?this.deviceSize<a.L:e==="extra large"?this.deviceSize<a.XL:false}render(){const{aligned:e,caption:t,copyright:r,description:n,groupLinks:s,foregroundColor:c}=this;const m=this.isSmall();return o(i,{class:{["ic-footer"]:true,[`ic-footer-${m?"small":"sparse"}`]:true,[`ic-footer-${s?"grouped":"ungrouped"}`]:true,[`ic-footer-foreground-${c}`]:true,[`ic-footer-${p.Dark}`]:c===p.Dark,[`ic-footer-${p.Light}`]:c===p.Light}},o("footer",{ref:e=>this.footerEl=e},(l(this.el,"description")||n)&&o("div",{class:"footer-description"},o("ic-section-container",{aligned:e,fullHeight:true},o("div",{class:"footer-description-inner"},o("ic-typography",{variant:"body"},o("slot",{name:"description"},n))))),l(this.el,"link")&&o("div",{class:"footer-links"},s&&m?o("div",{class:"footer-links-inner",role:"list"},o("slot",{name:"link"})):o("ic-section-container",{fullHeight:true,aligned:e},o("div",{class:"footer-links-inner",role:"list"},o("slot",{name:"link"})))),o("div",{class:"footer-compliance"},o("ic-section-container",{aligned:e,fullHeight:true},o("div",{class:"footer-compliance-inner"},l(this.el,"logo")&&o("div",{class:"footer-logo"},o("slot",{name:"logo"})),(l(this.el,"caption")||t)&&o("div",{class:"footer-caption"},o("ic-typography",{variant:this.deviceSize<=a.M?"caption":"body"},o("slot",{name:"caption"},t))),r&&o("div",{class:{["footer-copyright"]:true,["classification-spacing"]:d()}},o("ic-typography",{variant:this.deviceSize<=a.M?"caption-uppercase":"label-uppercase"},"© Crown Copyright")))))))}get el(){return r(this)}};f.style=m;export{f as ic_footer};
2
+ //# sourceMappingURL=p-48a78218.entry.js.map
@@ -0,0 +1,2 @@
1
+ import{r as t,c as i,h as e,H as s,g as a,f as n}from"./p-8455d1bb.js";import{r as o,a as l,L as r,c as h,B as c,z as d,M as u,k as p,v as b,j as f,l as m,n as g,p as v,N as x,I as y,w,O as k,P as z,i as L,E as C}from"./p-043cf5de.js";const H=`<svg width="8" height="10" viewBox="0 0 8 10" fill="none" xmlns="http://www.w3.org/2000/svg">\n<path d="M2.08748 0L0.912476 1.175L4.72914 5L0.912476 8.825L2.08748 10L7.08748 5L2.08748 0Z" fill="currentColor"/>\n</svg>\n`;const $=`<svg width="12" height="10" viewBox="0 0 12 10" fill="none" xmlns="http://www.w3.org/2000/svg">\n<path d="M11.1709 8.825L7.34589 5L11.1709 1.175L9.99589 0L4.99589 5L9.99589 10L11.1709 8.825ZM0.829224 0H2.49589V10H0.829224V0Z" fill="currentColour"/>\n</svg>`;const T='/*! 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{box-sizing:border-box;width:100%;display:flex;justify-content:center}nav{width:100%;display:flex;flex-flow:row wrap;justify-content:flex-start;align-items:center}ic-button{cursor:pointer}ic-button.next-previous{--icon-width:var(--ic-space-xs);--icon-height:calc(var(--ic-space-xs) + var(--ic-space-xxxs));padding:0 var(--ic-space-xxs) 0 var(--ic-space-xxxs)}ic-button.first-last{--icon-width:calc(var(--ic-space-sm) + var(--ic-space-xxxs));--icon-height:calc(var(--ic-space-xs) + var(--ic-space-xxxs))}.disabled{color:var(--ic-architectural-200);pointer-events:none;cursor:none;-webkit-user-select:none;-moz-user-select:none;user-select:none}.hide-current-page{display:none}.sr-only{position:absolute;left:-9999px}';const M=class{constructor(s){t(this,s);this.icPageChange=i(this,"icPageChange",7);this.handleClickFirst=()=>{this.currentPage=1;this.icPageChange.emit({value:this.currentPage})};this.handleClickPrevious=()=>{this.currentPage--;this.icPageChange.emit({value:this.currentPage})};this.handleClickNext=()=>{this.currentPage++;this.icPageChange.emit({value:this.currentPage})};this.handleClickLast=()=>{this.currentPage=this.pages;this.icPageChange.emit({value:this.currentPage})};this.firstButton=()=>e("ic-button",{id:"first-page-button","aria-label":"Go to first page",appearance:this.appearance,onClick:this.handleClickFirst,class:"page-button first-last",disabled:this.currentPage===1||this.disabled,variant:"icon",innerHTML:$});this.previousButton=()=>e("ic-button",{id:"previous-page-button","aria-label":"Go to previous page",appearance:this.appearance,onClick:this.handleClickPrevious,class:"page-button next-previous flip",disabled:this.currentPage===1||this.disabled,variant:"icon",innerHTML:H});this.nextButton=()=>e("ic-button",{id:"next-page-button","aria-label":"Go to next page",appearance:this.appearance,onClick:this.handleClickNext,class:"page-button next-previous",disabled:this.currentPage===this.pages||this.disabled,variant:"icon",innerHTML:H});this.lastButton=()=>e("ic-button",{id:"last-page-button","aria-label":"Go to last page",appearance:this.appearance,onClick:this.handleClickLast,class:"page-button first-last flip",disabled:this.currentPage===this.pages||this.disabled,variant:"icon",innerHTML:$});this.renderStartEllipsis=()=>e("ic-pagination-item",{appearance:this.appearance,type:"ellipsis",id:"start-ellipsis",disabled:this.disabled});this.renderEndEllipsis=()=>e("ic-pagination-item",{appearance:this.appearance,type:"ellipsis",id:"end-ellipsis",disabled:this.disabled});this.renderStartItems=()=>this.startItems.map((t=>e("ic-pagination-item",{appearance:this.appearance,selected:t===this.currentPage,id:`pagination-item-${t}`,type:"page",page:t,disabled:this.disabled})));this.renderEndItems=()=>this.endItems.map((t=>e("ic-pagination-item",{appearance:this.appearance,selected:t===this.currentPage,id:`pagination-item-${t}`,type:"page",page:t,disabled:this.disabled})));this.renderMiddleItems=()=>this.midItems.map((t=>e("ic-pagination-item",{appearance:this.appearance,selected:t===this.currentPage,id:`pagination-item-${t}`,type:"page",page:t,disabled:this.disabled})));this.endEllipsis=false;this.endItems=[];this.midItems=[];this.startEllipsis=false;this.startItems=[];this.adjacentPageCount=1;this.appearance="default";this.boundaryPageCount=1;this.defaultPage=1;this.disabled=false;this.hideCurrentPage=false;this.hideFirstAndLastPageButton=false;this.label="Page";this.pages=undefined;this.type="simple";this.currentPage=this.defaultPage}watchAdjacentPageCountHandler(){if(this.adjacentPageCount>2){this.adjacentPageCount=2}}watchBoundaryPageCountHandler(){if(this.boundaryPageCount>2){this.boundaryPageCount=2}}watchNumberPagesHandler(){this.watchPageChangeHandler()}watchTypeHandler(){this.watchPageChangeHandler()}watchPageChangeHandler(){if(this.type==="simple"){return}this.startEllipsis=false;this.endEllipsis=false;this.startItems=[];this.endItems=[];this.midItems=[];const t=[];let i=0;const e=[];let s=this.pages;const a=[];let n;let o;let l=false;let r=false;if(this.pages<=this.boundaryPageCount*2+this.adjacentPageCount*2+3){this.startEllipsis=false;this.endEllipsis=false;for(let i=1;i<=this.pages;i++){t.push(i)}this.startItems=t;return}i=this.boundaryPageCount===0?1:this.boundaryPageCount;s=this.boundaryPageCount===0?this.pages:this.pages-this.boundaryPageCount+1;if(this.currentPage<=this.adjacentPageCount+this.boundaryPageCount+2){l=false;r=true;let t=2*this.adjacentPageCount+1;if(this.boundaryPageCount===0){t--}n=i+1;o=n+t}else{l=true;if(this.currentPage>this.pages-(this.adjacentPageCount+this.boundaryPageCount+2)){let t=2*this.adjacentPageCount+1;if(this.boundaryPageCount===0){t--}o=this.boundaryPageCount===0?this.pages-1:this.pages-this.boundaryPageCount;n=o-t}else{r=true;n=this.currentPage-this.adjacentPageCount;o=this.currentPage+this.adjacentPageCount}}if(this.boundaryPageCount>0||this.boundaryPageCount===0&&l===false){for(let e=1;e<=i;e++){t.push(e)}}if(this.boundaryPageCount>0||this.boundaryPageCount===0&&r===false){for(let t=s;t<=this.pages;t++){e.push(t)}}for(let t=n;t<=o;t++){a.push(t)}this.startEllipsis=l;this.endEllipsis=r;this.startItems=t;this.endItems=e;this.midItems=a}componentWillLoad(){this.watchPageChangeHandler();this.watchBoundaryPageCountHandler();this.watchAdjacentPageCountHandler();o(this.disabled,this.el)}componentDidLoad(){l([{prop:this.pages,propName:"pages"}],"Pagination")}paginationItemClickHandler(t){const i=t.detail.page;this.currentPage=i;this.icPageChange.emit({value:this.currentPage})}async setCurrentPage(t){if(typeof t==="number"&&t>0&&t<=this.pages){this.currentPage=t}else{console.error("Current page must be a number greater than zero but less than or equal to the total number of pages")}}render(){const{type:t,currentPage:i,hideCurrentPage:a,disabled:n,hideFirstAndLastPageButton:o,label:l}=this;return e(s,null,t==="simple"&&e("nav",{class:{["disabled"]:n},role:"navigation","aria-label":"Pagination Navigation"},o?null:this.firstButton(),this.previousButton(),e("ic-pagination-item",{appearance:this.appearance,type:"simple-current",page:i,label:l,class:{["hide-current-page"]:a},disabled:n}),this.nextButton(),o?null:this.lastButton()),t==="complex"&&e("nav",{class:{["disabled"]:n},role:"navigation","aria-label":"Pagination Navigation"},o?null:this.firstButton(),this.previousButton(),this.renderStartItems(),this.startEllipsis&&this.renderStartEllipsis(),this.renderMiddleItems(),this.endEllipsis&&this.renderEndEllipsis(),this.renderEndItems(),this.nextButton(),o?null:this.lastButton()),t==="complex"&&e("span",{class:"sr-only","aria-live":"polite"},"Page ",this.currentPage))}get el(){return a(this)}static get watchers(){return{adjacentPageCount:["watchAdjacentPageCountHandler"],boundaryPageCount:["watchBoundaryPageCountHandler"],pages:["watchNumberPagesHandler"],type:["watchTypeHandler"],currentPage:["watchPageChangeHandler"]}}};M.style=T;const B='/*! 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}a{text-align:center}.item-container{display:flex;justify-content:center;align-items:center;width:calc(var(--ic-space-xl) + var(--ic-space-sm));height:var(--ic-space-xl);margin:var(--ic-space-xxs) var(--ic-space-xxxs);cursor:pointer;text-decoration:none}button{background:none;border:none;outline:inherit;position:relative}.ellipsis{pointer-events:none;--ic-typography-color:var(--ic-color-text-secondary)}.item-container:focus{box-shadow:var(--ic-border-focus);outline:var(--ic-hc-focus-outline);border-radius:var(--ic-border-radius);transition:var(--ic-easing-transition-fast)}.page{--ic-typography-color:var(--ic-action-default)}.simple-current{min-width:calc(var(--ic-space-xxl) + var(--ic-space-md));height:var(--ic-space-lg);cursor:default}.item-container.page:hover:not(.selected):not(:focus){border-radius:var(--ic-border-radius);background-color:var(--ic-action-default-bg-hover)}.item-container.page:active:not(.selected):not(:focus){background-color:var(--ic-action-default-bg-active)}.selected{pointer-events:none;outline:none}.selected::after{content:"";height:var(--ic-space-xxs);width:100%;position:absolute;bottom:0;background-color:var(--ic-action-default)}.page-selected{--ic-typography-color:var(--ic-color-text-primary)}.item-container.page.light:hover:not(.selected):not(:focus){background-color:var(--ic-action-light-bg-hover)}.item-container.page.light:active:not(.selected):not(:focus){background-color:var(--ic-action-light-bg-pressed)}ic-typography.light,ic-typography.page-selected.light{--ic-typography-color:var(--ic-architectural-white)}.selected.light::after{content:"";height:var(--ic-space-xxs);width:100%;position:absolute;bottom:0;background-color:var(--ic-action-light)}.item-container.page.dark:hover:not(.selected):not(:focus){background-color:var(--ic-action-dark-bg-hover)}.item-container.page.dark:active:not(.selected):not(:focus){background-color:var(--ic-action-dark-bg-pressed)}ic-typography.dark{--ic-typography-color:var(--ic-color-text-primary)}.selected.dark::after{content:"";height:var(--ic-space-xxs);width:100%;position:absolute;bottom:0;background-color:var(--ic-action-dark)}.disabled{--ic-typography-color:var(--ic-architectural-200);pointer-events:none;cursor:none;-webkit-user-select:none;-moz-user-select:none;user-select:none}@media (forced-colors: active){.selected::after{background-color:Highlight}.selected.light::after{background-color:Highlight}.selected.dark::after{background-color:Highlight}.disabled{--ic-typography-color:GrayText}}';const j=class{constructor(e){t(this,e);this.paginationItemClick=i(this,"paginationItemClick",7);this.handleClick=()=>{this.paginationItemClick.emit({page:this.page})};this.capitalizedLabel=undefined;this.appearance="default";this.disabled=false;this.label="Page";this.page=undefined;this.selected=false;this.type=undefined}watchLabelHandler(){this.capitalizedLabel=r(this.label)}componentWillLoad(){this.watchLabelHandler();o(this.disabled,this.el)}render(){const{page:t,selected:i,type:s,disabled:a,appearance:n,label:o,capitalizedLabel:l}=this;return e("a",null,s==="ellipsis"?e("div",{class:{["item-container"]:true,["ellipsis"]:true,["disabled"]:a}},e("ic-typography",{class:{[`${n}`]:true},variant:"label"},"...")):s==="page"?e("button",{disabled:a,onClick:this.handleClick,tabindex:i?"-1":"0",role:"button","aria-current":i&&"page","aria-label":i?`${o}: ${t}`:`Go to ${o} ${t}`,class:{["selected"]:!a&&i,["disabled"]:a,["item-container"]:true,[`${n}`]:true,["page"]:s==="page"}},e("ic-typography",{variant:"label",class:{["page-selected"]:i,["disabled"]:a,[`${n}`]:true}},t)):e("ic-typography",{"aria-live":"polite",class:{[`simple-current ${n}`]:true,["disabled"]:a},variant:"label"},l," ",t))}get el(){return a(this)}static get watchers(){return{label:["watchLabelHandler"]}}};j.style=B;const P=`<svg viewBox="0 0 24 24" xmlns="http://www.w3.org/2000/svg">\n<path d="M7 9.5L12 14.5L17 9.5H7Z" fill="currentColor" />\n</svg>\n`;const I=`<svg width="16" height="16" viewBox="0 0 16 16" xmlns="http://www.w3.org/2000/svg">\n<path d="M12.6666 4.27334L11.7266 3.33334L7.99998 7.06001L4.27331 3.33334L3.33331 4.27334L7.05998 8.00001L3.33331 11.7267L4.27331 12.6667L7.99998 8.94001L11.7266 12.6667L12.6666 11.7267L8.93998 8.00001L12.6666 4.27334Z" fill="currentColor" />\n</svg>\n`;const O='/*! normalize.css v8.0.1 | MIT License | github.com/necolas/normalize.css */html{line-height:1.15;-webkit-text-size-adjust:100%;}body{margin:0}main{display:block}h1{font-size:2em;margin:0.67em 0}hr{box-sizing:content-box;height:0;overflow:visible;}pre{font-family:monospace, monospace;font-size:1em;}a{background-color:transparent}abbr[title]{border-bottom:none;text-decoration:underline;-webkit-text-decoration:underline dotted;text-decoration:underline dotted;}b,strong{font-weight:bolder}code,kbd,samp{font-family:monospace, monospace;font-size:1em;}small{font-size:80%}sub,sup{font-size:75%;line-height:0;position:relative;vertical-align:baseline}sub{bottom:-0.25em}sup{top:-0.5em}img{border-style:none}button,input,optgroup,select,textarea{font-family:inherit;font-size:100%;line-height:1.15;margin:0;}button,input{overflow:visible}button,select{text-transform:none}button,[type="button"],[type="reset"],[type="submit"]{-webkit-appearance:button}button::-moz-focus-inner,[type="button"]::-moz-focus-inner,[type="reset"]::-moz-focus-inner,[type="submit"]::-moz-focus-inner{border-style:none;padding:0}button:-moz-focusring,[type="button"]:-moz-focusring,[type="reset"]:-moz-focusring,[type="submit"]:-moz-focusring{outline:1px dotted ButtonText}fieldset{padding:0.35em 0.75em 0.625em}legend{box-sizing:border-box;color:inherit;display:table;max-width:100%;padding:0;white-space:normal;}progress{vertical-align:baseline}textarea{overflow:auto}[type="checkbox"],[type="radio"]{box-sizing:border-box;padding:0;}[type="number"]::-webkit-inner-spin-button,[type="number"]::-webkit-outer-spin-button{height:auto}[type="search"]{-webkit-appearance:textfield;outline-offset:-2px;}[type="search"]::-webkit-search-decoration{-webkit-appearance:none}::-webkit-file-upload-button{-webkit-appearance:button;font:inherit;}details{display:block}summary{display:list-item}template{display:none}[hidden]{display:none}html,body,div,span,applet,object,iframe,h1,h2,h3,h4,h5,h6,p,blockquote,pre,a,abbr,acronym,address,big,cite,code,del,dfn,em,img,ins,kbd,q,s,samp,small,strike,strong,sub,sup,tt,var,b,u,i,center,dl,dt,dd,ol,ul,li,fieldset,form,label,legend,table,caption,tbody,tfoot,thead,tr,th,td,article,aside,canvas,details,embed,figure,figcaption,footer,header,hgroup,menu,nav,output,ruby,section,summary,time,mark,audio,video{margin:0;padding:0;border:0;font-size:100%;font-style:inherit;vertical-align:baseline}:host{display:block;position:relative;--ic-input-label-helpertext-padding:var(--ic-space-xxs);--menu-max-height:100px}:host(.ic-select-full-width){width:100%}ic-input-component-container:hover{--border-color:var(--ic-action-dark-hover)}ic-input-component-container:active{--border-color:var(--ic-action-dark-pressed);color:var(--ic-action-dark-pressed)}ic-input-component-container.menu-open{--border-color:var(--ic-architectural-400);color:var(--ic-action-dark)}ic-input-validation .status-icon,ic-input-validation .statustext{visibility:visible}ic-input-validation.menu-open .status-icon,ic-input-validation.menu-open .statustext{visibility:hidden;transition:visibility 0s}ic-input-label{margin-bottom:var(--ic-space-xs) !important}select{border:0;border-radius:var(--ic-border-radius);background-color:var(--ic-architectural-white);color:var(--ic-color-text-primary);line-height:1.5rem;letter-spacing:0.005rem;width:100%;height:100%;padding-left:0.375rem;-webkit-appearance:none;-moz-appearance:none;appearance:none;background-repeat:no-repeat;background-position:right 0.375rem center;background-image:url("data:image/svg+xml;utf8,<svg fill=\'black\' height=\'24\' viewBox=\'0 0 24 24\' width=\'24\' xmlns=\'http://www.w3.org/2000/svg\'><path d=\'M7 10l5 5 5-5z\'/><path d=\'M0 0h24v24H0z\' fill=\'none\'/></svg>")}select option,.select-option-selected{color:var(--ic-color-text-primary)}select:disabled{color:var(--ic-architectural-200);background-image:url("data:image/svg+xml;utf8,<svg fill=\'grey\' height=\'24\' viewBox=\'0 0 24 24\' width=\'24\' xmlns=\'http://www.w3.org/2000/svg\'><path d=\'M7 10l5 5 5-5z\'/><path d=\'M0 0h24v24H0z\' fill=\'none\'/></svg>")}select:focus{border:0;outline:0}select:not([disabled]){cursor:pointer}.select-container{width:100%;display:flex;align-items:center;position:relative}.select-input{width:100%;height:100%;padding:0 0.375rem;display:flex;cursor:pointer;align-items:center;justify-content:space-between;background:none;border:none}.select-input:focus{outline:var(--ic-hc-focus-outline)}:host(:not(.ic-select-disabled)) ic-input-component-container:hover .select-input{background-color:var(--ic-architectural-white)}.select-input[disabled]{pointer-events:none}:host(.ic-select-searchable) .select-input{cursor:auto}.select-input.with-clear-button{padding-right:0}.value-text{max-width:calc(100% - (var(--ic-space-lg) + var(--ic-space-xxs)));box-sizing:border-box;white-space:nowrap;text-overflow:ellipsis;overflow:hidden;margin-bottom:0 !important}.value-text.with-clear-button{padding-right:calc(var(--ic-space-xl) + var(--ic-space-xs))}.searchable-select-container{align-items:center;display:flex;width:100%;position:relative}.expand-icon{height:var(--ic-space-lg);padding-left:var(--ic-space-xxs);color:var(--ic-action-dark)}.expand-icon>svg{display:inline-block;width:var(--ic-space-lg);height:var(--ic-space-lg)}:host(.ic-select-disabled) .expand-icon,:host(.ic-select-disabled) .expand-icon>svg>path{color:var(--ic-architectural-200)}:host(.ic-select-searchable) .expand-icon{padding-left:0;height:2.25rem}:host(.ic-select-searchable) .expand-icon>svg{height:2.25rem;padding:0 calc(var(--ic-space-xxxs) + var(--ic-space-xxs)) 0\n var(--ic-space-xxs)}:host(.ic-select-searchable:not(.ic-select-disabled)) .expand-icon>svg{cursor:pointer}.expand-icon-open{color:var(--ic-action-dark)}.expand-icon-open,:host(.ic-select-searchable) .expand-icon-open{transform:rotateX(180deg)}:host(.ic-select-disabled) .value-text,.placeholder{color:var(--ic-color-text-tertiary)}.select-input-end{display:flex;align-items:center}.clear-button-container{display:flex;align-items:center}.divider{width:var(--ic-space-1px);background-color:var(--ic-architectural-400);margin:var(--ic-space-xxs) 0;border-radius:var(--ic-space-1px);height:var(--ic-space-lg)}:host(.ic-select-small) .divider{height:var(--ic-space-md)}:host(.ic-select-large) .divider{height:var(--ic-space-xl)}.clear-button{position:absolute;right:calc(var(--ic-space-xl) + var(--ic-space-xxs) - var(--ic-space-1px));border-radius:var(--ic-border-radius);transition:box-shadow var(--ic-easing-transition),\n border-radius var(--ic-easing-transition)}.clear-button:focus{background-color:var(--ic-color-focus-inner);box-shadow:inset 0 0 0 0.125rem var(--ic-color-focus-outer);border-radius:0.25rem}.clear-button:focus *{fill:white}.clear-button.searchable{position:static}.searchable-select-results-status,.multi-select-selected-count{border:0;clip:rect(0, 0, 0, 0, 0);height:var(--ic-space-1px);overflow:hidden;padding:0;position:absolute;white-space:nowrap;width:var(--ic-space-1px)}::slotted([slot="icon"]){fill:var(--ic-color-text-tertiary)}.has-value ::slotted([slot="icon"]){fill:var(--ic-color-text-primary)}.readonly ::slotted([slot="icon"]){padding:0.375rem;margin-bottom:0.75rem}@media (forced-colors: active){.has-value ::slotted([slot="icon"]){fill:currentcolor}}';let N=0;const q=[...w,"tabindex","title"];const F=class{constructor(e){t(this,e);this.icBlur=i(this,"icBlur",7);this.icChange=i(this,"icChange",7);this.icClear=i(this,"icClear",7);this.icClose=i(this,"icClose",7);this.icFocus=i(this,"icFocus",7);this.icInput=i(this,"icInput",7);this.icOpen=i(this,"icOpen",7);this.icOptionSelect=i(this,"icOptionSelect",7);this.icOptionDeselect=i(this,"icOptionDeselect",7);this.icRetryLoad=i(this,"icRetryLoad",7);this.hasSetDefaultValue=false;this.inheritedAttributes={};this.initialOptionsEmpty=false;this.inputId=`ic-select-input-${N++}`;this.menuId=`${this.inputId}-menu`;this.searchableMenuItemSelected=false;this.ungroupedOptions=[];this.hostMutationObserver=null;this.hostMutationCallback=t=>{let i=false;t.forEach((({attributeName:t,type:e,addedNodes:s,removedNodes:a})=>{if(q.includes(t)){this.inheritedAttributes[t]=this.el.getAttribute(t);i=true}else if(e==="childList"){i=h(s,a,"icon")}}));if(i){n(this)}};this.handleRetry=t=>{var i;if(t.detail.keyPressed)(i=this.searchableSelectElement)===null||i===void 0?void 0:i.focus();this.blurredBecauseButtonPressed=true;this.retryButtonClick=true;this.hasSetDefaultValue=true;this.icRetryLoad.emit({value:this.hiddenInputValue})};this.emitIcChange=t=>{if(!this.searchable){if(this.multiple&&!Array.isArray(t)&&t!==null){this.handleMultipleSelectChange(t)}else{this.value=t}}clearTimeout(this.debounceIcChange);this.debounceIcChange=window.setTimeout((()=>{const i=this.multiple?this.value:t;this.icChange.emit({value:i})}),this.currDebounce)};this.emitImmediateIcChange=t=>{this.value=t;clearTimeout(this.debounceIcChange);this.icChange.emit({value:t})};this.deduplicateOptions=t=>{const i=[];const e=[];let s;t.forEach((t=>{if(t.children){s=[];t.children.forEach((t=>{if(i.includes(t.value)){console.warn(`ic-select with label ${this.label} was populated with duplicate option (value: ${t.value}) which has been removed.`)}else{i.push(t.value);s.push(t)}}));const a=Object.assign(Object.assign({},t),{children:s});e.push(a)}else{if(i.includes(t.value)){console.warn(`ic-select with label ${this.label} was populated with duplicate option (value: ${t.value}) which has been removed.`)}else{i.push(t.value);e.push(t)}}}));return e};this.setOptionsValuesFromLabels=()=>{var t;if(((t=this.options)===null||t===void 0?void 0:t.length)>0&&this.options.map){this.options.map((t=>{if(!t.value){t.value=t.label}}))}};this.setUngroupedOptions=t=>{this.ungroupedOptions=t.detail.options};this.setTextColor=()=>{if(this.nativeSelectElement.selectedIndex===0){this.nativeSelectElement.className="placeholder"}else{this.nativeSelectElement.className="select-option-selected"}};this.setMenuChange=t=>{if(this.open!==t){this.open=t}};this.getLabelFromValue=t=>c(t,this.uniqueOptions);this.getMultipleOptionsString=t=>{const i=t===null||t===void 0?void 0:t.map((t=>this.getLabelFromValue(t)));return i===null||i===void 0?void 0:i.join(", ")};this.getFilteredChildMenuOptions=t=>{let i=t.children;if(this.searchable){i=d(t.children,this.includeDescriptionsInSearch,this.searchableSelectInputValue,this.searchMatchPosition)}else{i=d(t.children,false,this.pressedCharacters,"start")}const e=Object.assign({},t);e.children=i;return e};this.getValueSortedByOptions=t=>{const i=t;const e=this.ungroupedOptions.map((t=>t.value));i.sort(((t,i)=>e.indexOf(t)-e.indexOf(i)));return i};this.handleNativeSelectChange=()=>{this.icOptionSelect.emit({value:this.nativeSelectElement.value});this.emitImmediateIcChange(this.nativeSelectElement.value);this.setTextColor()};this.handleCustomSelectChange=t=>{var i;const e=t.detail.value;if(this.searchable&&t.detail.label===this.emptyOptionListText){this.searchableSelectElement.focus();return}if(this.searchable){this.value=e;this.searchableMenuItemSelected=true;if(this.value===this.currValue){this.searchableSelectInputValue=this.getLabelFromValue(this.value)}this.inputValueToFilter=null;this.hiddenInputValue=this.getValueFromLabel(this.searchableSelectInputValue)}if(this.multiple&&((i=this.value)===null||i===void 0?void 0:i.includes(e))){this.icOptionDeselect.emit({value:e})}else{this.icOptionSelect.emit({value:e})}this.ariaActiveDescendant=t.detail.optionId;this.emitIcChange(e)};this.handleMultipleSelectChange=t=>{if(this.value){let i=this.value.slice();if(this.value.includes(t)){const e=i.indexOf(t);i.splice(e,1)}else{i.push(t);i=this.getValueSortedByOptions(i)}this.value=i.length===0?null:i}else{const i=[];i.push(t);this.value=i}};this.handleSelectAllChange=t=>{const i=t.detail.select;const e=this.ungroupedOptions.filter((t=>!t.disabled));const s=e.map((t=>t.value));let a;if(i){let t;if(this.value){t=s.filter((t=>this.value&&!this.value.includes(t)))}else{t=s}t.forEach((t=>this.icOptionSelect.emit({value:t})));a=s}else{this.value.forEach((t=>this.icOptionDeselect.emit({value:t})));a=null}this.emitIcChange(a)};this.handleMenuChange=t=>{this.open=t.detail.open;this.pressedCharacters="";this.searchable&&this.handleFocusIndicatorDisplay()};this.handleMenuKeyPress=t=>{t.cancelBubble=true;if(!this.multiple){this.handleCharacterKeyDown(t.detail.key)}};this.handleFocusIndicatorDisplay=()=>{const t=this.el.shadowRoot.querySelector(".focus-indicator");if(this.open){t.classList.add("focus-indicator-enabled")}else{t.classList.remove("focus-indicator-enabled")}};this.handleMouseDown=t=>{if(!this.open){t.preventDefault()}};this.isExternalFiltering=()=>this.searchable&&this.disableAutoFiltering;this.handleClick=t=>{var i;if(!this.open){if(this.isExternalFiltering()){this.menu.options=this.filteredOptions}else if(!this.hasTimedOut&&!this.loading&&!((i=this.noOptions)===null||i===void 0?void 0:i.length)&&(!this.searchable||this.searchableMenuItemSelected)){this.noOptions=null;this.menu.options=this.uniqueOptions}}if(t.detail!==0){this.menu.handleClickOpen()}};this.handleExpandIconMouseDown=t=>{if(!this.disabled){t.preventDefault();this.searchableSelectElement.focus();this.handleClick(t)}};this.handleClear=t=>{t.stopPropagation();this.hasTimedOut=false;clearTimeout(this.timeoutTimer);this.noOptions=null;this.emitImmediateIcChange(null);this.icClear.emit();if(this.searchable){this.searchableSelectElement.value=null;this.searchableSelectInputValue=null;this.filteredOptions=this.uniqueOptions;this.hiddenInputValue=null;this.searchableSelectElement.focus()}else{this.customSelectElement.focus()}};this.handleCharacterKeyDown=t=>{if(this.open&&t===" "&&this.pressedCharacters.length===0&&!this.hasTimedOut&&!this.loading){this.setMenuChange(false)}if(t.length===1&&!this.searchable){window.clearTimeout(this.characterKeyPressTimer);this.characterKeyPressTimer=window.setTimeout((()=>this.pressedCharacters=""),1e3);if(!(t===" "&&!this.pressedCharacters)){this.pressedCharacters+=t;this.handleFilter();if(!this.noOptions){this.emitImmediateIcChange(this.filteredOptions[0].value)}}}else{this.pressedCharacters=""}};this.handleNativeSelectKeyDown=t=>{if(t.key!=="Escape"&&t.key!=="Tab"||this.open){t.cancelBubble=true}this.handleCharacterKeyDown(t.key)};this.handleKeyDown=t=>{if(t.key!=="Escape"&&t.key!=="Tab"||this.open){t.cancelBubble=true}const i=t.key==="ArrowDown"||t.key==="ArrowUp";if(!this.open){if(this.isExternalFiltering()&&(t.key==="Enter"||i)){this.menu.options=this.filteredOptions}else{if(!this.hasTimedOut){this.noOptions=null;this.menu.options=this.uniqueOptions}}}if(this.open&&t.key==="Enter"){this.setMenuChange(false)}else{if(!(i&&this.noOptions!==null)){if(!(t.key===" "&&this.pressedCharacters.length>0)){this.menu.handleKeyboardOpen(t)}if(!this.multiple){this.handleCharacterKeyDown(t.key)}}}};this.handleClearButtonFocus=()=>{this.clearButtonFocused=true};this.handleClearButtonBlur=t=>{var i;const e=(i=this.menu)===null||i===void 0?void 0:i.querySelector("#retry-button");if(!(this.searchableSelectElement&&t.relatedTarget===this.searchableSelectElement)&&!(e&&t.relatedTarget===e)){this.setMenuChange(false);this.handleFocusIndicatorDisplay()}this.clearButtonFocused=false};this.handleFilter=()=>{var t;const i=this.deduplicateOptions(this.searchable?[...this.uniqueOptions]:this.ungroupedOptions);let e=false;let s=[];i.map((t=>{if(t.children)e=true}));let a;if(this.searchable){a=d(i,this.includeDescriptionsInSearch,this.inputValueToFilter,this.searchMatchPosition);this.searchableMenuItemSelected=false}else{a=d(i,false,this.pressedCharacters,"start")}if(!e&&((t=a[0])===null||t===void 0?void 0:t.label)!==this.emptyOptionListText){s=a}else if(e){i.map((t=>{if(this.includeGroupTitlesInSearch){if(a.indexOf(t)!==-1){s.push(t)}else{s.push(this.getFilteredChildMenuOptions(t))}}else{s.push(this.getFilteredChildMenuOptions(t))}}))}let n=false;if(e){n=true;s.map((t=>{if(t.children.length>0){n=false}}))}if(s.length>0&&!n){this.noOptions=null;this.filteredOptions=s}else{this.noOptions=[{label:this.emptyOptionListText,value:""}];this.filteredOptions=this.noOptions}};this.triggerLoading=()=>{this.hasTimedOut=false;this.noOptions=[{label:this.loadingLabel,value:"",loading:true}];if(this.filteredOptions!==this.noOptions&&this.searchable){this.filteredOptions=this.noOptions}else if(this.uniqueOptions!==this.noOptions&&!this.searchable){this.uniqueOptions=this.noOptions}if(this.timeout){this.timeoutTimer=window.setTimeout((()=>{this.loading=false;this.hasTimedOut=true;this.noOptions=[{label:this.loadingErrorLabel,value:"",timedOut:true}];this.filteredOptions=this.noOptions;if(!this.searchable)this.uniqueOptions=this.noOptions}),this.timeout)}};this.getValueFromLabel=t=>{var i;return(i=this.uniqueOptions.find((i=>i.label===t)))===null||i===void 0?void 0:i.value};this.handleSearchableSelectInput=t=>{this.searchableSelectInputValue=t.target.value;this.icInput.emit({value:this.searchableSelectInputValue});this.emitIcChange(this.searchableSelectInputValue);this.hiddenInputValue=this.searchableSelectInputValue;this.inputValueToFilter=this.searchableSelectInputValue;this.setMenuChange(true);if(!this.disableAutoFiltering){this.handleFilter();this.debounceAriaLiveUpdate()}};this.updateSearchableSelectResultAriaLive=()=>{const t=this.el.shadowRoot.querySelector(".searchable-select-results-status");if(t){if(this.noOptions!==null){t.innerText=this.emptyOptionListText}else{t.innerText=""}}};this.updateMultiSelectedCountAriaLive=()=>{var t;const i=this.el.shadowRoot.querySelector(".multi-select-selected-count");const e=`${(t=this.currValue)===null||t===void 0?void 0:t.length} of ${u(this.options)} selected`;if(i&&i.innerText!==e){i.innerText=e}};this.getDefaultValue=t=>this.getLabelFromValue(t)||t||null;this.setDefaultValue=()=>{if(!this.hasSetDefaultValue&&this.currValue){this.searchableSelectInputValue=this.searchable&&this.getDefaultValue(this.currValue);this.initialValue=this.currValue;this.hasSetDefaultValue=true}};this.onFocus=()=>{this.icFocus.emit()};this.onBlur=({relatedTarget:t})=>{var i;const e=t;if(e!==null&&(e.tagName==="UL"&&e.className.includes("menu")||e.tagName==="LI"&&e.className.includes("option"))){return}const s=(i=this.menu)===null||i===void 0?void 0:i.querySelector("#retry-button");const a=this.searchable&&!!this.menu&&e!==this.menu&&!Array.from(this.menu.querySelectorAll("[role='option']")).includes(e)&&!(this.clearButton&&e===this.clearButton)&&!(s&&e===s);if(a){if(!this.retryButtonClick){this.setMenuChange(false)}this.handleFocusIndicatorDisplay()}this.retryButtonClick=false;this.icBlur.emit()};this.onTimeoutBlur=t=>{if(t.detail.ev.relatedTarget!==this.searchableSelectElement&&!this.blurredBecauseButtonPressed){this.setMenuChange(false);this.handleFocusIndicatorDisplay();this.icBlur.emit()}this.blurredBecauseButtonPressed=false};this.handleFormReset=()=>{this.value=this.initialValue;if(this.searchable){this.searchableSelectInputValue=this.getDefaultValue(this.value);this.hiddenInputValue=this.value}};this.ariaActiveDescendant=undefined;this.clearButtonFocused=false;this.debounceIcChange=undefined;this.hiddenInputValue=undefined;this.noOptions=null;this.open=false;this.pressedCharacters="";this.searchableSelectInputValue=null;this.disabled=false;this.disableAutoFiltering=false;this.emptyOptionListText="No results found";this.form=undefined;this.fullWidth=false;this.helperText="";this.hideLabel=false;this.includeDescriptionsInSearch=false;this.includeGroupTitlesInSearch=false;this.label=undefined;this.loadingErrorLabel="Loading Error";this.loadingLabel="Loading...";this.multiple=false;this.name=this.inputId;this.placeholder="Select an option";this.readonly=false;this.required=false;this.searchable=false;this.searchMatchPosition="anywhere";this.selectOnEnter=false;this.showClearButton=false;this.size="medium";this.timeout=undefined;this.validationStatus="";this.validationText="";this.loading=false;this.options=[];this.filteredOptions=this.options;this.uniqueOptions=this.options;this.debounce=0;this.currDebounce=this.debounce;this.value=undefined;this.initialValue=this.value;this.inputValueToFilter=this.value;this.currValue=this.value}loadingHandler(t){t&&this.triggerLoading()}watchOptionsHandler(){var t;if(!this.hasTimedOut&&this.options!==this.noOptions){this.loading=false;clearTimeout(this.timeoutTimer);if(this.isExternalFiltering()){if(((t=this.options)===null||t===void 0?void 0:t.length)>0){this.setOptionsValuesFromLabels();this.noOptions=null;this.uniqueOptions=this.deduplicateOptions(this.options);this.filteredOptions=this.uniqueOptions}else{this.noOptions=[{label:this.emptyOptionListText,value:""}];this.uniqueOptions=this.noOptions;this.filteredOptions=this.noOptions}this.updateSearchableSelectResultAriaLive();this.setDefaultValue()}else{this.setOptionsValuesFromLabels();this.uniqueOptions=this.deduplicateOptions(this.options);this.filteredOptions=this.uniqueOptions;if(this.initialOptionsEmpty){this.setDefaultValue();this.initialOptionsEmpty=false}}}else{if(!this.searchable){this.options=this.noOptions}}}debounceChangedHandler(t){this.updateOnChangeDebounce(t)}valueChangedHandler(){if(this.value!==this.currValue){if(this.value&&this.multiple){this.currValue=this.getValueSortedByOptions(this.value);this.updateMultiSelectedCountAriaLive()}else{this.currValue=this.value}}if(this.searchable){this.searchableSelectInputValue=this.getLabelFromValue(this.currValue)||this.currValue}}openChangedHandler(){this.open?this.icOpen.emit():this.icClose.emit()}disconnectedCallback(){var t;p(this.el,this.handleFormReset);(t=this.hostMutationObserver)===null||t===void 0?void 0:t.disconnect()}componentWillLoad(){var t;this.inheritedAttributes=b(this.el,q);o(this.disabled,this.el);this.setOptionsValuesFromLabels();f(this.el,this.handleFormReset);if(!((t=this.options)===null||t===void 0?void 0:t.length)){this.initialOptionsEmpty=true;this.noOptions=[{label:this.emptyOptionListText,value:""}];this.uniqueOptions=this.noOptions;this.filteredOptions=this.noOptions}else{this.setDefaultValue();this.uniqueOptions=this.deduplicateOptions(this.options)}}componentDidLoad(){l([{prop:this.label,propName:"label"}],"Select");if(this.loading){this.triggerLoading()}this.hiddenInputValue=this.searchable&&this.currValue;this.hostMutationObserver=new MutationObserver(this.hostMutationCallback);this.hostMutationObserver.observe(this.el,{attributes:true,childList:true})}componentDidRender(){if(this.nativeSelectElement&&!this.disabled){this.setTextColor()}}async setFocus(){if(this.nativeSelectElement){this.nativeSelectElement.focus()}else if(this.customSelectElement){this.customSelectElement.focus()}else if(this.searchableSelectElement){this.searchableSelectElement.focus()}}updateOnChangeDebounce(t){if(this.currDebounce!==t){this.currDebounce=t}}debounceAriaLiveUpdate(){clearTimeout(this.debounceAria);window.setTimeout((()=>{this.updateSearchableSelectResultAriaLive()}),800)}render(){const{size:t,disabled:i,fullWidth:a,helperText:n,hideLabel:o,label:l,menuId:r,multiple:h,name:c,options:d,placeholder:p,readonly:b,required:f,searchable:w,showClearButton:z,validationStatus:L,validationText:C,currValue:H}=this;m(true,this.el,c,this.searchable?this.hiddenInputValue:H,i);const $=`${L===k.Error}`;const T=g(this.inputId,n!=="",v(this.validationStatus,this.disabled)).trim();let M=!!this.el.querySelector(`[slot="icon"]`);if(M&&(i||b&&!this.value)){M=false}const B=`${H===null||H===void 0?void 0:H.length} of ${u(this.options)} selected`;return e(s,{class:{["ic-select-disabled"]:i,["ic-select-searchable"]:w,[`ic-select-${t}`]:t!=="medium",["ic-select-full-width"]:a},onBlur:this.onBlur},e("ic-input-container",{readonly:b},!o&&e("ic-input-label",{for:this.inputId,label:l,helperText:n,required:f,disabled:i,readonly:b}),e("ic-input-component-container",{ref:t=>this.anchorEl=t,class:{"menu-open":this.open},size:t,fullWidth:a,disabled:i,readonly:b,validationStatus:L},M&&e("span",{slot:"left-icon",class:{["readonly"]:b,["has-value"]:!!this.value}},e("slot",{name:"icon"})),b?e("ic-typography",null,e("p",null,h?this.getMultipleOptionsString(H):this.getLabelFromValue(H))):x()&&!h?e("select",Object.assign({ref:t=>this.nativeSelectElement=t,disabled:i,onChange:this.handleNativeSelectChange,required:f,id:this.inputId,"aria-label":l,"aria-describedby":T,"aria-invalid":$,onBlur:this.onBlur,onFocus:this.onFocus,onKeyDown:this.handleNativeSelectKeyDown,form:this.form},this.inheritedAttributes),e("option",{value:"",selected:true,disabled:!z},p),d.map((t=>{if(t.children){return e("optgroup",{label:t.label},t.children.map((t=>e("option",{value:t.value,disabled:t.disabled,selected:t.value===H},t.label))))}else{return e("option",{value:t.value,disabled:t.disabled,selected:t.value===H},t.label)}}))):w?e("div",{class:"searchable-select-container"},e("input",{class:{"select-input":true,"with-clear-button":!!this.searchableSelectInputValue},role:"combobox",autocomplete:"off","aria-label":l,"aria-describedby":T,"aria-activedescendant":this.ariaActiveDescendant,"aria-autocomplete":"list","aria-expanded":`${this.open}`,"aria-invalid":$,"aria-required":`${f}`,"aria-controls":r,ref:t=>this.searchableSelectElement=t,id:this.inputId,value:this.searchableSelectInputValue,placeholder:p,disabled:i,onInput:this.handleSearchableSelectInput,onClick:this.handleClick,onKeyDown:this.handleKeyDown,onFocus:this.onFocus,onBlur:this.onBlur,form:this.form}),this.searchableSelectInputValue&&(z||w)&&e("div",{class:"clear-button-container"},e("ic-button",{id:"clear-button",ref:t=>this.clearButton=t,"aria-label":this.searchableSelectInputValue&&H===null?"Clear input":"Clear selection",class:"clear-button",innerHTML:I,onClick:this.handleClear,onFocus:this.handleClearButtonFocus,onBlur:this.handleClearButtonBlur,size:t,variant:"icon",appearance:this.clearButtonFocused?y.Light:y.Dark}),e("div",{class:"divider"})),e("span",{onMouseDown:this.handleExpandIconMouseDown,class:{"expand-icon":true,"expand-icon-open":this.open},innerHTML:P,"aria-hidden":"true"}),e("div",{"aria-live":"polite",role:"status",class:"searchable-select-results-status"})):e("div",{class:"select-container"},e("button",{class:"select-input",ref:t=>this.customSelectElement=t,id:this.inputId,"aria-label":`${l}, ${(h&&H?`${B}, ${this.getMultipleOptionsString(H)}`:this.getLabelFromValue(H))||p}${f?", required":""}`,"aria-describedby":T,"aria-invalid":$,"aria-haspopup":"listbox","aria-expanded":this.open?"true":"false","aria-owns":r,"aria-controls":r,disabled:i,onBlur:this.onBlur,onFocus:this.onFocus,onClick:this.handleClick,onMouseDown:this.handleMouseDown,onKeyDown:this.handleKeyDown},e("ic-typography",{variant:"body",class:{"value-text":true,"with-clear-button":H&&z,placeholder:!this.value||h&&this.value.length<1}},(h?this.getMultipleOptionsString(H):this.getLabelFromValue(H))||p),e("div",{class:"select-input-end"},H&&z&&e("div",{class:"divider"}),e("span",{class:{"expand-icon":true,"expand-icon-open":this.open},innerHTML:P,"aria-hidden":"true"}))),H&&z&&e("ic-button",{id:"clear-button","aria-label":"Clear selection",class:"clear-button",innerHTML:I,onClick:this.handleClear,onFocus:this.handleClearButtonFocus,onBlur:this.handleClearButtonBlur,size:t,variant:"icon",appearance:this.clearButtonFocused?y.Light:y.Dark}))),(!x()||h)&&e("ic-menu",{class:{"no-results":this.loading||this.hasTimedOut||this.noOptions!==null&&this.noOptions[0]&&this.noOptions[0].label===this.emptyOptionListText},ref:t=>this.menu=t,inputEl:w?this.searchableSelectElement:this.customSelectElement,inputLabel:l,anchorEl:this.anchorEl,size:t,menuId:r,open:this.open,options:w?this.filteredOptions:this.uniqueOptions,value:h?H:H,fullWidth:a,selectOnEnter:this.selectOnEnter,onMenuStateChange:this.handleMenuChange,onMenuOptionSelect:this.handleCustomSelectChange,onMenuOptionSelectAll:this.handleSelectAllChange,onMenuKeyPress:this.handleMenuKeyPress,onUngroupedOptionsSet:this.setUngroupedOptions,onRetryButtonClicked:this.handleRetry,parentEl:this.el,onTimeoutBlur:this.onTimeoutBlur,activationType:this.searchable||h||this.selectOnEnter?"manual":"automatic",closeOnSelect:!h}),this.multiple&&e("div",{"aria-live":"polite",role:"status",class:"multi-select-selected-count"}),v(this.validationStatus,this.disabled)&&e("ic-input-validation",{class:{"menu-open":this.open},ariaLiveMode:"polite",status:L,message:C,for:this.inputId})))}static get delegatesFocus(){return true}get el(){return a(this)}static get watchers(){return{loading:["loadingHandler"],options:["watchOptionsHandler"],debounce:["debounceChangedHandler"],value:["valueChangedHandler"],open:["openChangedHandler"]}}};F.style=O;const D='/*! normalize.css v8.0.1 | MIT License | github.com/necolas/normalize.css */html{line-height:1.15;-webkit-text-size-adjust:100%;}body{margin:0}main{display:block}h1{font-size:2em;margin:0.67em 0}hr{box-sizing:content-box;height:0;overflow:visible;}pre{font-family:monospace, monospace;font-size:1em;}a{background-color:transparent}abbr[title]{border-bottom:none;text-decoration:underline;-webkit-text-decoration:underline dotted;text-decoration:underline dotted;}b,strong{font-weight:bolder}code,kbd,samp{font-family:monospace, monospace;font-size:1em;}small{font-size:80%}sub,sup{font-size:75%;line-height:0;position:relative;vertical-align:baseline}sub{bottom:-0.25em}sup{top:-0.5em}img{border-style:none}button,input,optgroup,select,textarea{font-family:inherit;font-size:100%;line-height:1.15;margin:0;}button,input{overflow:visible}button,select{text-transform:none}button,[type="button"],[type="reset"],[type="submit"]{-webkit-appearance:button}button::-moz-focus-inner,[type="button"]::-moz-focus-inner,[type="reset"]::-moz-focus-inner,[type="submit"]::-moz-focus-inner{border-style:none;padding:0}button:-moz-focusring,[type="button"]:-moz-focusring,[type="reset"]:-moz-focusring,[type="submit"]:-moz-focusring{outline:1px dotted ButtonText}fieldset{padding:0.35em 0.75em 0.625em}legend{box-sizing:border-box;color:inherit;display:table;max-width:100%;padding:0;white-space:normal;}progress{vertical-align:baseline}textarea{overflow:auto}[type="checkbox"],[type="radio"]{box-sizing:border-box;padding:0;}[type="number"]::-webkit-inner-spin-button,[type="number"]::-webkit-outer-spin-button{height:auto}[type="search"]{-webkit-appearance:textfield;outline-offset:-2px;}[type="search"]::-webkit-search-decoration{-webkit-appearance:none}::-webkit-file-upload-button{-webkit-appearance:button;font:inherit;}details{display:block}summary{display:list-item}template{display:none}[hidden]{display:none}html,body,div,span,applet,object,iframe,h1,h2,h3,h4,h5,h6,p,blockquote,pre,a,abbr,acronym,address,big,cite,code,del,dfn,em,img,ins,kbd,q,s,samp,small,strike,strong,sub,sup,tt,var,b,u,i,center,dl,dt,dd,ol,ul,li,fieldset,form,label,legend,table,caption,tbody,tfoot,thead,tr,th,td,article,aside,canvas,details,embed,figure,figcaption,footer,header,hgroup,menu,nav,output,ruby,section,summary,time,mark,audio,video{margin:0;padding:0;border:0;font-size:100%;font-style:inherit;vertical-align:baseline}:host{display:block;--ic-input-label-helpertext-padding:var(--ic-space-xxs)}:host(.ic-text-field-full-width){width:100%}::-moz-placeholder{color:var(--ic-color-text-tertiary);opacity:1}::placeholder{color:var(--ic-color-text-tertiary);opacity:1}input,textarea{border:0;border-radius:var(--ic-border-radius);background-color:var(--ic-architectural-white);line-height:1.5rem;letter-spacing:0.005rem;width:100%;padding-right:var(--ic-space-xs);padding-left:var(--ic-space-xs)}textarea{min-height:var(--ic-space-lg);resize:vertical;padding-top:0.375rem}input:focus,textarea:focus{border:0;outline:0}input:disabled,textarea:disabled{color:var(--ic-architectural-200)}input.readonly,textarea.readonly{color:var(--ic-color-text-primary)}input::-webkit-outer-spin-button,input::-webkit-inner-spin-button{-webkit-appearance:none;margin:0}input[type="number"]{-moz-appearance:textfield}textarea.no-resize{resize:none}.char-count-text{--ic-typography-color:var(--ic-color-text-secondary);padding-right:var(--ic-space-xxxs)}.no-left-pad{padding-left:0}::slotted([slot="icon"]){fill:var(--ic-color-text-tertiary)}.has-value ::slotted([slot="icon"]){fill:var(--ic-color-text-primary)}.char-count{margin-right:calc(-1 * var(--ic-space-xxxs))}.remaining-char-count-desc{position:absolute;left:-9999px}input[type="search"]::-webkit-search-cancel-button,input[type="search"]::-webkit-search-decoration,input[type="search"]::-webkit-search-results-button,input[type="search"]::-webkit-search-results-decoration{display:none}input[type="search"].truncate-value{width:100%;overflow:hidden;white-space:nowrap;text-overflow:ellipsis}@media (forced-colors: active){input.readonly,textarea.readonly{color:canvastext}.has-value ::slotted([slot="icon"]){fill:currentcolor}}';let S=0;const E=[...w,"title"];const W=class{constructor(e){t(this,e);this.getValidationText=i(this,"getValidationText",7);this.icBlur=i(this,"icBlur",7);this.icChange=i(this,"icChange",7);this.icFocus=i(this,"icFocus",7);this.icInput=i(this,"icInput",7);this.icKeydown=i(this,"icKeydown",7);this.inheritedAttributes={};this.hostMutationObserver=null;this.getMaxValueExceeded=t=>{if(this.type==="number"){this.minValueUnattained=t&&Number(t)<Number(this.min);this.maxValueExceeded=Number(t)>Number(this.max)}};this.getMaxCharactersReached=t=>{this.numChars=t.length;this.maxCharactersReached=this.maxCharacters>0?this.numChars>=this.maxCharacters:false;if(this.maxCharactersWarning&&!this.maxCharactersReached){this.maxCharactersWarning=false}};this.onInput=t=>{this.value=t.target.value;this.icInput.emit({value:this.value})};this.onBlur=t=>{const i=t.target.value;this.numChars=i.length;this.minCharactersUnattained=this.minCharacters>0?this.numChars<this.minCharacters:false;this.icBlur.emit({value:i})};this.onFocus=t=>{this.icFocus.emit({value:t.target.value})};this.hasStatus=t=>t!==""&&!this.disabled;this.handleFormReset=()=>{this.value=this.initialValue};this.hostMutationCallback=t=>{let i=false;t.forEach((({attributeName:t,type:e,addedNodes:s,removedNodes:a})=>{if(E.includes(t)){this.inheritedAttributes[t]=this.el.getAttribute(t);i=true}else if(e==="childList"){i=h(s,a,"icon")}}));if(i){n(this)}};this.numChars=0;this.maxCharactersReached=false;this.maxCharactersWarning=false;this.minCharactersUnattained=false;this.maxValueExceeded=false;this.minValueUnattained=false;this.ariaActiveDescendant=undefined;this.ariaAutocomplete=undefined;this.ariaExpanded=undefined;this.ariaOwns=undefined;this.autocapitalize="off";this.autocomplete="off";this.autocorrect="off";this.autoFocus=false;this.disabled=false;this.fullWidth=false;this.helperText="";this.hideCharCount=false;this.hideLabel=false;this.hiddenInput=true;this.inputId=`ic-text-field-input-${S++}`;this.inputmode="text";this.label=undefined;this.max=undefined;this.maxCharacters=0;this.min=undefined;this.minCharacters=0;this.name=this.inputId;this.placeholder="";this.readonly=false;this.required=false;this.resize=false;this.role=undefined;this.rows=1;this.size="medium";this.spellcheck=false;this.truncateValue=undefined;this.type="text";this.validationInline=false;this.validationInlineInternal=false;this.validationStatus="";this.validationText="";this.debounce=0;this.value="";this.initialValue=this.value}debounceChanged(){this.icChange=z(this.icChange,this.debounce)}watchValueHandler(t){let i;if(this.maxCharacters>0){i=t.substring(0,this.maxCharacters);this.value=i}else{i=t}if(this.inputEl&&this.inputEl.value!==i){this.inputEl.value=i}this.getMaxValueExceeded(i);this.getMaxCharactersReached(i);this.icChange.emit({value:i})}connectedCallback(){this.debounceChanged()}disconnectedCallback(){var t;p(this.el,this.handleFormReset);(t=this.hostMutationObserver)===null||t===void 0?void 0:t.disconnect()}componentWillLoad(){if(this.value!==this.initialValue){this.watchValueHandler(this.value)}else if(this.maxCharacters>0){this.value=this.value.substring(0,this.maxCharacters)}this.getMaxValueExceeded(this.value);this.getMaxCharactersReached(this.value);this.inheritedAttributes=b(this.el,E);if(this.readonly){this.maxValueExceeded=false;this.minValueUnattained=false}f(this.el,this.handleFormReset);o(this.disabled,this.el)}componentDidLoad(){l([{prop:this.label,propName:"label"}],"Text Field");if(this.validationInlineInternal){this.getValidationText.emit({value:this.validationText})}this.hostMutationObserver=new MutationObserver(this.hostMutationCallback);this.hostMutationObserver.observe(this.el,{attributes:true,childList:true})}handleKeyDown(t){this.icKeydown.emit({event:t});this.maxCharactersWarning=this.maxCharactersReached}async setFocus(){var t;(t=this.inputEl)===null||t===void 0?void 0:t.focus()}render(){const{inputId:t,name:i,label:a,required:n,size:o,placeholder:l,helperText:r,hideCharCount:h,rows:c,resize:d,disabled:u,value:p,min:b,max:f,numChars:v,readonly:x,maxCharacters:y,maxCharactersWarning:w,maxCharactersReached:z,minCharacters:H,minCharactersUnattained:$,minValueUnattained:T,maxValueExceeded:M,validationStatus:B,validationText:j,validationInline:P,validationInlineInternal:I,spellcheck:O,inputmode:N,fullWidth:q,truncateValue:F,hiddenInput:D}=this;const S=x||u;const E=M||T||$||w?w?k.Warning:k.Error:B;const W=w?`Maximum input is ${y} characters`:M?`Maximum value of ${f} exceeded`:T?`Minimum value of ${b} not met`:$?`Minimum input is ${H} characters`:j;const A=x?0:y;const V=w||M||T||E===k.Error?"assertive":"polite";const G=this.hasStatus(E)&&!(E==k.Success&&P)&&!I;const K=c>1;const U=A-v;const _=`${U} character${U===1?"":"s"} remaining.`;const Z=y>0?`${t}-char-count-desc`:"";const R=`${Z} ${g(t,r!=="",G)}`.trim();const X=S&&!x;const J=!!this.el.querySelector(`[slot="icon"]`)&&!X;const Q=`${E===k.Error}`;if(D){m(true,this.el,i,p,S)}return e(s,{class:{["ic-text-field-full-width"]:q}},e("ic-input-container",{readonly:x,disabled:S},!this.hideLabel&&e("ic-input-label",{for:t,label:a,helperText:r,required:n,disabled:X,readonly:x}),e("ic-input-component-container",{size:o,validationStatus:E,multiLine:K,disabled:S,readonly:x,validationInline:P,fullWidth:q},J&&e("span",{class:{["readonly"]:x,["has-value"]:p.length>0},slot:"left-icon"},e("slot",{name:"icon"})),!K?e("input",Object.assign({id:t,name:i,ref:t=>this.inputEl=t,type:this.type,min:b,max:f,value:p,class:{["no-left-pad"]:!J&&x,["readonly"]:x,["truncate-value"]:F},placeholder:l?l:"",required:n,disabled:S,readonly:x,onInput:this.onInput,onBlur:this.onBlur,onFocus:this.onFocus,"aria-label":a,"aria-describedby":R,"aria-invalid":Q,"aria-activedescendant":this.ariaActiveDescendant,"aria-expanded":this.ariaExpanded,"aria-owns":this.ariaOwns,autocomplete:this.autocomplete,autocapitalize:this.autocapitalize,autoFocus:this.autoFocus,spellcheck:O,inputmode:N,role:this.role,maxlength:z?y:null,minlength:$?H:null},this.inheritedAttributes)):e("textarea",Object.assign({id:t,class:{["no-resize"]:d===false||x,["no-left-pad"]:!J&&x,["readonly"]:x},name:i,ref:t=>this.inputEl=t,value:p,rows:c,required:n,disabled:S,placeholder:l?l:"",readonly:x,onInput:this.onInput,onBlur:this.onBlur,onFocus:this.onFocus,"aria-label":a,"aria-describedby":R,"aria-invalid":Q,autocapitalize:this.autocapitalize,autoFocus:this.autoFocus,spellcheck:O,inputmode:N,maxlength:z?y:null,minlength:$?H:null},this.inheritedAttributes)),L(this.el,"clear-button")&&e("slot",{name:"clear-button"}),L(this.el,"search-submit-button")&&e("slot",{name:"search-submit-button"})),L(this.el,"menu")&&e("slot",{name:"menu"}),(!C(B)||!C(j)||A>0||M||w||$||T)&&!I&&e("ic-input-validation",{status:this.hasStatus(E)===false||E===k.Success&&P||I?"":E,message:G?W:"",ariaLiveMode:V,for:t,fullWidth:q},!x&&A>0&&e("div",{slot:"validation-message-adornment"},!h&&e("ic-typography",{variant:"caption",class:{["char-count-text"]:true}},e("span",{class:"char-count"},v,"/",A)),e("span",{class:"remaining-char-count-desc","aria-live":"polite"},_),e("span",{hidden:true,id:Z},"Field can contain a maximum of ",A," characters.")))))}get el(){return a(this)}static get watchers(){return{debounce:["debounceChanged"],value:["watchValueHandler"]}}};W.style=D;export{M as ic_pagination,j as ic_pagination_item,F as ic_select,W as ic_text_field};
2
+ //# sourceMappingURL=p-4e316ae5.entry.js.map