@ukic/canary-web-components 2.0.0-canary.28 → 2.0.0-canary.29

Sign up to get free protection for your applications and to get access to all the features.
Files changed (178) hide show
  1. package/dist/cjs/core.cjs.js +1 -1
  2. package/dist/cjs/ic-checkbox.cjs.entry.js.map +1 -1
  3. package/dist/cjs/ic-data-table.cjs.entry.js +62 -8
  4. package/dist/cjs/ic-data-table.cjs.entry.js.map +1 -1
  5. package/dist/cjs/ic-date-input.cjs.entry.js +3 -2
  6. package/dist/cjs/ic-date-input.cjs.entry.js.map +1 -1
  7. package/dist/cjs/ic-horizontal-scroll.cjs.entry.js +3 -2
  8. package/dist/cjs/ic-horizontal-scroll.cjs.entry.js.map +1 -1
  9. package/dist/cjs/ic-menu-group.cjs.entry.js +1 -1
  10. package/dist/cjs/ic-menu-group.cjs.entry.js.map +1 -1
  11. package/dist/cjs/ic-menu-item.cjs.entry.js +10 -6
  12. package/dist/cjs/ic-menu-item.cjs.entry.js.map +1 -1
  13. package/dist/cjs/ic-menu.cjs.entry.js +3 -2
  14. package/dist/cjs/ic-menu.cjs.entry.js.map +1 -1
  15. package/dist/cjs/ic-navigation-group.cjs.entry.js +3 -2
  16. package/dist/cjs/ic-navigation-group.cjs.entry.js.map +1 -1
  17. package/dist/cjs/ic-navigation-item.cjs.entry.js +28 -1
  18. package/dist/cjs/ic-navigation-item.cjs.entry.js.map +1 -1
  19. package/dist/cjs/ic-pagination_4.cjs.entry.js.map +1 -1
  20. package/dist/cjs/ic-popover-menu.cjs.entry.js +3 -3
  21. package/dist/cjs/ic-popover-menu.cjs.entry.js.map +1 -1
  22. package/dist/cjs/ic-side-navigation.cjs.entry.js +2 -1
  23. package/dist/cjs/ic-side-navigation.cjs.entry.js.map +1 -1
  24. package/dist/cjs/ic-tab-context.cjs.entry.js +2 -1
  25. package/dist/cjs/ic-tab-context.cjs.entry.js.map +1 -1
  26. package/dist/cjs/ic-toggle-button-group.cjs.entry.js +1 -1
  27. package/dist/cjs/ic-toggle-button-group.cjs.entry.js.map +1 -1
  28. package/dist/cjs/ic-tree-item.cjs.entry.js +3 -1
  29. package/dist/cjs/ic-tree-item.cjs.entry.js.map +1 -1
  30. package/dist/cjs/loader.cjs.js +1 -1
  31. package/dist/collection/components/ic-data-table/ic-data-table.css +20 -0
  32. package/dist/collection/components/ic-data-table/ic-data-table.js +82 -8
  33. package/dist/collection/components/ic-data-table/ic-data-table.js.map +1 -1
  34. package/dist/collection/components/ic-data-table/story-data.js +7 -0
  35. package/dist/collection/components/ic-data-table/story-data.js.map +1 -1
  36. package/dist/collection/components/ic-data-table/test/basic/ic-data-table.spec.js +17 -0
  37. package/dist/collection/components/ic-data-table/test/basic/ic-data-table.spec.js.map +1 -1
  38. package/dist/collection/components/ic-date-input/ic-date-input.css +4 -0
  39. package/dist/collection/components/ic-date-input/ic-date-input.js +2 -1
  40. package/dist/collection/components/ic-date-input/ic-date-input.js.map +1 -1
  41. package/dist/collection/components/ic-tree-item/ic-tree-item.js +3 -1
  42. package/dist/collection/components/ic-tree-item/ic-tree-item.js.map +1 -1
  43. package/dist/components/helpers2.js +1 -1
  44. package/dist/components/ic-checkbox.js.map +1 -1
  45. package/dist/components/ic-data-table.js +65 -9
  46. package/dist/components/ic-data-table.js.map +1 -1
  47. package/dist/components/ic-date-input2.js +3 -2
  48. package/dist/components/ic-date-input2.js.map +1 -1
  49. package/dist/components/ic-horizontal-scroll2.js +3 -2
  50. package/dist/components/ic-horizontal-scroll2.js.map +1 -1
  51. package/dist/components/ic-menu-group.js +1 -1
  52. package/dist/components/ic-menu-group.js.map +1 -1
  53. package/dist/components/ic-menu-item2.js +12 -8
  54. package/dist/components/ic-menu-item2.js.map +1 -1
  55. package/dist/components/ic-menu2.js +3 -2
  56. package/dist/components/ic-menu2.js.map +1 -1
  57. package/dist/components/ic-navigation-group.js +3 -2
  58. package/dist/components/ic-navigation-group.js.map +1 -1
  59. package/dist/components/ic-navigation-item.js +30 -2
  60. package/dist/components/ic-navigation-item.js.map +1 -1
  61. package/dist/components/ic-pagination-bar2.js +1 -1
  62. package/dist/components/ic-popover-menu.js +3 -3
  63. package/dist/components/ic-popover-menu.js.map +1 -1
  64. package/dist/components/ic-select2.js.map +1 -1
  65. package/dist/components/ic-side-navigation.js +2 -1
  66. package/dist/components/ic-side-navigation.js.map +1 -1
  67. package/dist/components/ic-tab-context.js +2 -1
  68. package/dist/components/ic-tab-context.js.map +1 -1
  69. package/dist/components/ic-text-field2.js.map +1 -1
  70. package/dist/components/ic-toggle-button-group.js +1 -1
  71. package/dist/components/ic-toggle-button-group.js.map +1 -1
  72. package/dist/components/ic-tree-item.js +3 -1
  73. package/dist/components/ic-tree-item.js.map +1 -1
  74. package/dist/core/core.esm.js +1 -1
  75. package/dist/core/core.esm.js.map +1 -1
  76. package/dist/core/p-09746a07.entry.js +2 -0
  77. package/dist/core/p-09746a07.entry.js.map +1 -0
  78. package/dist/core/p-097bfd3f.entry.js +2 -0
  79. package/dist/core/{p-fc76d510.entry.js.map → p-097bfd3f.entry.js.map} +1 -1
  80. package/dist/core/{p-d02a4d1b.entry.js → p-0cba186f.entry.js} +2 -2
  81. package/dist/core/{p-d02a4d1b.entry.js.map → p-0cba186f.entry.js.map} +1 -1
  82. package/dist/core/{p-5741a8bf.entry.js → p-1a317582.entry.js} +2 -2
  83. package/dist/core/p-1f262ffe.entry.js +2 -0
  84. package/dist/core/p-1f262ffe.entry.js.map +1 -0
  85. package/dist/core/p-2ecedbe5.entry.js.map +1 -1
  86. package/dist/core/p-3848f199.entry.js +2 -0
  87. package/dist/core/p-3848f199.entry.js.map +1 -0
  88. package/dist/core/{p-7435de65.js → p-40510c97.js} +2 -2
  89. package/dist/core/{p-a7794aa9.entry.js → p-4352b9c5.entry.js} +2 -2
  90. package/dist/core/p-4352b9c5.entry.js.map +1 -0
  91. package/dist/core/{p-6358925c.entry.js → p-43a2cad3.entry.js} +2 -2
  92. package/dist/core/{p-6358925c.entry.js.map → p-43a2cad3.entry.js.map} +1 -1
  93. package/dist/core/{p-07e4b89b.entry.js → p-4fd35690.entry.js} +2 -2
  94. package/dist/core/{p-7ee62798.entry.js → p-810561ab.entry.js} +2 -2
  95. package/dist/core/{p-d8322108.entry.js → p-9b70d4f8.entry.js} +2 -2
  96. package/dist/core/p-9b70d4f8.entry.js.map +1 -0
  97. package/dist/core/{p-3ce541df.entry.js → p-cf4572c9.entry.js} +2 -2
  98. package/dist/core/{p-6ca98c5d.entry.js → p-d56248df.entry.js} +2 -2
  99. package/dist/core/p-d56248df.entry.js.map +1 -0
  100. package/dist/core/{p-6b01e096.entry.js → p-d56593cc.entry.js} +2 -2
  101. package/dist/core/p-d56593cc.entry.js.map +1 -0
  102. package/dist/core/{p-d10e81f3.entry.js → p-dcb7d549.entry.js} +2 -2
  103. package/dist/core/p-dcb7d549.entry.js.map +1 -0
  104. package/dist/core/{p-d86cdbc8.entry.js → p-de630a67.entry.js} +2 -2
  105. package/dist/core/p-de630a67.entry.js.map +1 -0
  106. package/dist/core/p-e210f51a.entry.js.map +1 -1
  107. package/dist/core/{p-b03d14fc.entry.js → p-e35d6d78.entry.js} +2 -2
  108. package/dist/core/{p-89c7ea3e.entry.js → p-f39cf43c.entry.js} +2 -2
  109. package/dist/core/p-f39cf43c.entry.js.map +1 -0
  110. package/dist/core/{p-3ef5017d.entry.js → p-f4e57aaf.entry.js} +2 -2
  111. package/dist/core/p-f4e57aaf.entry.js.map +1 -0
  112. package/dist/core/{p-ac591209.entry.js → p-f6a93c4d.entry.js} +2 -2
  113. package/dist/esm/core.js +1 -1
  114. package/dist/esm/{helpers-c24d4455.js → helpers-e0c3e667.js} +2 -2
  115. package/dist/esm/{helpers-c24d4455.js.map → helpers-e0c3e667.js.map} +1 -1
  116. package/dist/esm/ic-card-horizontal.entry.js +1 -1
  117. package/dist/esm/ic-checkbox.entry.js.map +1 -1
  118. package/dist/esm/ic-data-table-title-bar.entry.js +1 -1
  119. package/dist/esm/ic-data-table.entry.js +63 -9
  120. package/dist/esm/ic-data-table.entry.js.map +1 -1
  121. package/dist/esm/ic-date-input.entry.js +4 -3
  122. package/dist/esm/ic-date-input.entry.js.map +1 -1
  123. package/dist/esm/ic-date-picker.entry.js +1 -1
  124. package/dist/esm/ic-empty-state_2.entry.js +1 -1
  125. package/dist/esm/ic-horizontal-scroll.entry.js +3 -2
  126. package/dist/esm/ic-horizontal-scroll.entry.js.map +1 -1
  127. package/dist/esm/ic-menu-group.entry.js +1 -1
  128. package/dist/esm/ic-menu-group.entry.js.map +1 -1
  129. package/dist/esm/ic-menu-item.entry.js +10 -6
  130. package/dist/esm/ic-menu-item.entry.js.map +1 -1
  131. package/dist/esm/ic-menu-with-multi.entry.js +1 -1
  132. package/dist/esm/ic-menu.entry.js +3 -2
  133. package/dist/esm/ic-menu.entry.js.map +1 -1
  134. package/dist/esm/ic-navigation-group.entry.js +3 -2
  135. package/dist/esm/ic-navigation-group.entry.js.map +1 -1
  136. package/dist/esm/ic-navigation-item.entry.js +29 -2
  137. package/dist/esm/ic-navigation-item.entry.js.map +1 -1
  138. package/dist/esm/ic-pagination_4.entry.js.map +1 -1
  139. package/dist/esm/ic-popover-menu.entry.js +3 -3
  140. package/dist/esm/ic-popover-menu.entry.js.map +1 -1
  141. package/dist/esm/ic-select-with-multi.entry.js +1 -1
  142. package/dist/esm/ic-side-navigation.entry.js +2 -1
  143. package/dist/esm/ic-side-navigation.entry.js.map +1 -1
  144. package/dist/esm/ic-tab-context.entry.js +2 -1
  145. package/dist/esm/ic-tab-context.entry.js.map +1 -1
  146. package/dist/esm/ic-toggle-button-group.entry.js +1 -1
  147. package/dist/esm/ic-toggle-button-group.entry.js.map +1 -1
  148. package/dist/esm/ic-tree-item.entry.js +4 -2
  149. package/dist/esm/ic-tree-item.entry.js.map +1 -1
  150. package/dist/esm/ic-tree-view.entry.js +1 -1
  151. package/dist/esm/loader.js +1 -1
  152. package/dist/types/components/ic-data-table/ic-data-table.d.ts +11 -0
  153. package/dist/types/components/ic-data-table/story-data.d.ts +1 -0
  154. package/dist/types/components.d.ts +8 -0
  155. package/hydrate/index.js +124 -34
  156. package/package.json +3 -3
  157. package/dist/core/p-3ef5017d.entry.js.map +0 -1
  158. package/dist/core/p-6b01e096.entry.js.map +0 -1
  159. package/dist/core/p-6ca98c5d.entry.js.map +0 -1
  160. package/dist/core/p-89c7ea3e.entry.js.map +0 -1
  161. package/dist/core/p-8f0660ec.entry.js +0 -2
  162. package/dist/core/p-8f0660ec.entry.js.map +0 -1
  163. package/dist/core/p-a7794aa9.entry.js.map +0 -1
  164. package/dist/core/p-bdb5addb.entry.js +0 -2
  165. package/dist/core/p-bdb5addb.entry.js.map +0 -1
  166. package/dist/core/p-d10e81f3.entry.js.map +0 -1
  167. package/dist/core/p-d8322108.entry.js.map +0 -1
  168. package/dist/core/p-d86cdbc8.entry.js.map +0 -1
  169. package/dist/core/p-f09b2041.entry.js +0 -2
  170. package/dist/core/p-f09b2041.entry.js.map +0 -1
  171. package/dist/core/p-fc76d510.entry.js +0 -2
  172. /package/dist/core/{p-5741a8bf.entry.js.map → p-1a317582.entry.js.map} +0 -0
  173. /package/dist/core/{p-7435de65.js.map → p-40510c97.js.map} +0 -0
  174. /package/dist/core/{p-07e4b89b.entry.js.map → p-4fd35690.entry.js.map} +0 -0
  175. /package/dist/core/{p-7ee62798.entry.js.map → p-810561ab.entry.js.map} +0 -0
  176. /package/dist/core/{p-3ce541df.entry.js.map → p-cf4572c9.entry.js.map} +0 -0
  177. /package/dist/core/{p-b03d14fc.entry.js.map → p-e35d6d78.entry.js.map} +0 -0
  178. /package/dist/core/{p-ac591209.entry.js.map → p-f6a93c4d.entry.js.map} +0 -0
@@ -17,7 +17,7 @@ const descendingIcon = `<svg focusable="false" aria-hidden="true" viewBox="0 0 2
17
17
  <path d="M16.01 11H4v2h12.01v3L20 12l-3.99-4z"></path>
18
18
  </svg>`;
19
19
 
20
- const icDataTableCss = ":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}.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-active)}.sort-button svg{color:var(--ic-architectural-black)}.sort-button-unsorted svg{color:var(--ic-color-tertiary-text)}.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{color:var(--ic-color-secondary-text)}.cell-emphasis-high{font-weight:var(--ic-font-weight-bold)}.pagination-container{background-color:var(--ic-architectural-40);border-top:var(--ic-border-light)}.screen-reader-sort-text,.table-caption{position:absolute;left:-100rem}.table-cell,.column-header,.row-header{word-wrap:break-word;white-space:pre-wrap}.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}}";
20
+ const icDataTableCss = ":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}.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-inner-container ic-tooltip{pointer-events:none}.column-header-inner-container ic-tooltip.show-trunc-tooltip{pointer-events:auto}.column-header-inner-container ic-tooltip .column-header-text{--ic-line-clamp:1}.column-header-sticky{position:sticky;top:0;z-index:1}.column-header-overlay{position:sticky;top:0;z-index:1;box-shadow:0 0.375rem var(--ic-space-xs) calc(var(--ic-space-xxs * -1))\n rgb(0 0 0 / 20%)}.row-header-sticky{position:sticky;left:0}.column-header,.table-row{box-sizing:border-box}.table-row-selected{background-color:var(--ic-table-row-selected) !important}.sort-button{margin-left:auto}.sort-button:hover{background-color:var(--ic-action-dark-bg-hover)}.sort-button:active{background-color:var(--ic-action-dark-bg-active)}.sort-button svg{color:var(--ic-architectural-black)}.sort-button-unsorted svg{color:var(--ic-color-tertiary-text)}.table-density-dense .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)}.dummy-column-header-text{white-space:nowrap;overflow:hidden;height:0;width:-moz-fit-content;width:fit-content}.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{color:var(--ic-color-secondary-text)}.cell-emphasis-high{font-weight:var(--ic-font-weight-bold)}.pagination-container{background-color:var(--ic-architectural-40);border-top:var(--ic-border-light)}.screen-reader-sort-text,.table-caption{position:absolute;left:-100rem}.table-cell,.column-header,.row-header{word-wrap:break-word;white-space:pre-wrap}.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}}";
21
21
 
22
22
  const DataTable = class {
23
23
  constructor(hostRef) {
@@ -58,6 +58,34 @@ const DataTable = class {
58
58
  this.densityUpdate = false;
59
59
  this.truncationPatternUpdated = false;
60
60
  this.isNewDebounceDelaySet = false;
61
+ this.headerResizeObserver = null;
62
+ this.IC_TOOLTIP_STRING = "ic-tooltip";
63
+ this.SHOW_TRUNC_TOOLTIP_STRING = "show-trunc-tooltip";
64
+ this.runHeaderResizeObserver = () => {
65
+ this.headerResizeObserver = new ResizeObserver(() => {
66
+ this.headerResizeCallback();
67
+ });
68
+ this.headerResizeObserver.observe(this.el);
69
+ };
70
+ this.headerResizeCallback = () => {
71
+ if (!this.hideColumnHeaders && this.columnHeaderTruncation) {
72
+ const tableContainerWidth = this.el.shadowRoot.querySelector(".table-container").clientWidth;
73
+ if (tableContainerWidth !== this.prevTableContainerWidth) {
74
+ const headers = this.el.shadowRoot.querySelectorAll("th.column-header");
75
+ headers.forEach((header) => {
76
+ const tooltip = header.querySelector(this.IC_TOOLTIP_STRING);
77
+ const typographyEls = header.querySelectorAll("ic-typography");
78
+ if (tooltip && typographyEls && typographyEls.length === 2) {
79
+ tooltip.classList.remove(this.SHOW_TRUNC_TOOLTIP_STRING);
80
+ if (typographyEls[1].clientWidth > typographyEls[0].clientWidth) {
81
+ tooltip.classList.add(this.SHOW_TRUNC_TOOLTIP_STRING);
82
+ }
83
+ }
84
+ });
85
+ this.prevTableContainerWidth = tableContainerWidth;
86
+ }
87
+ }
88
+ };
61
89
  this.updateSetRowHeight = (typographyEl) => {
62
90
  const fontSize = parseInt(getComputedStyle(document.documentElement).fontSize);
63
91
  if (typographyEl) {
@@ -323,18 +351,22 @@ const DataTable = class {
323
351
  });
324
352
  };
325
353
  this.createColumnHeaders = () => {
326
- return this.columns.map(({ cellAlignment, colspan, icon, key, title, columnWidth }) => (index.h("th", { scope: "col", class: {
354
+ return this.columns.map(({ cellAlignment, colspan, icon, key, title, columnWidth }, index$1) => (index.h("th", { scope: "col", class: {
327
355
  ["column-header"]: true,
328
356
  [`table-density-${this.density}`]: this.notDefaultDensity(),
329
357
  ["updating-state-headers"]: this.updating && !this.loading,
330
358
  }, style: Object.assign({}, this.getColumnWidth(columnWidth)), colSpan: colspan }, index.h("div", { class: {
331
359
  "column-header-inner-container": true,
360
+ "truncation-tooltip": this.columnHeaderTruncation,
332
361
  [`column-header-alignment-${cellAlignment}`]: !!cellAlignment,
333
362
  } }, helpers.isSlotUsed(this.el, `${key}-column-icon`) ? (index.h("slot", { name: `${key}-column-icon` })) : (icon &&
334
- !icon.hideOnHeader && (index.h("span", { class: "icon", innerHTML: icon.icon }))), index.h("ic-typography", { variant: "body", class: {
363
+ !icon.hideOnHeader && (index.h("span", { class: "icon", innerHTML: icon.icon }))), this.columnHeaderTruncation ? (index.h("ic-tooltip", { label: title, target: `column-header-${index$1}` }, index.h("ic-typography", { id: `column-header-${index$1}`, variant: "body", class: {
335
364
  ["column-header-text"]: true,
336
365
  [`text-${this.density}`]: this.notDefaultDensity(),
337
- } }, title), this.sortable && (index.h("ic-button", { variant: "icon", id: `sort-button-${key}`, "aria-label": this.getSortButtonLabel(key),
366
+ } }, title))) : (index.h("ic-typography", { variant: "body", class: {
367
+ ["column-header-text"]: true,
368
+ [`text-${this.density}`]: this.notDefaultDensity(),
369
+ } }, title)), this.sortable && (index.h("ic-button", { variant: "icon", id: `sort-button-${key}`, "aria-label": this.getSortButtonLabel(key),
338
370
  // eslint-disable-next-line react/jsx-no-bind
339
371
  onClick: () => this.sortRows(key), innerHTML: this.SORT_ICONS[this.sortedColumn === key
340
372
  ? this.sortedColumnOrder
@@ -342,7 +374,11 @@ const DataTable = class {
342
374
  ["sort-button"]: true,
343
375
  ["sort-button-unsorted"]: this.sortedColumn !== key ||
344
376
  this.sortedColumnOrder === "unsorted",
345
- } }))))));
377
+ } }))), this.columnHeaderTruncation && (index.h("ic-typography", { variant: "body", "aria-hidden": "true", class: {
378
+ ["column-header-text"]: true,
379
+ ["dummy-column-header-text"]: this.columnHeaderTruncation,
380
+ [`text-${this.density}`]: this.notDefaultDensity(),
381
+ } }, title)))));
346
382
  };
347
383
  this.onRowClick = (row) => {
348
384
  this.selectedRow =
@@ -487,7 +523,7 @@ const DataTable = class {
487
523
  var _a;
488
524
  const tooltipEl = (slottedEl.tagName === "IC-TOOLTIP"
489
525
  ? slottedEl
490
- : (_a = slottedEl.shadowRoot) === null || _a === void 0 ? void 0 : _a.querySelector("ic-tooltip"));
526
+ : (_a = slottedEl.shadowRoot) === null || _a === void 0 ? void 0 : _a.querySelector(this.IC_TOOLTIP_STRING));
491
527
  if (tooltipEl) {
492
528
  tooltipEl.setExternalPopperProps({
493
529
  strategy: "fixed",
@@ -508,6 +544,7 @@ const DataTable = class {
508
544
  this.currentRowHeight = undefined;
509
545
  this.debounceDelay = 0;
510
546
  this.caption = undefined;
547
+ this.columnHeaderTruncation = false;
511
548
  this.columns = undefined;
512
549
  this.data = undefined;
513
550
  this.density = "default";
@@ -552,9 +589,24 @@ const DataTable = class {
552
589
  this.variableRowHeight = undefined;
553
590
  this.width = undefined;
554
591
  }
592
+ headerTruncationChangeHandler() {
593
+ if (this.columnHeaderTruncation) {
594
+ this.prevTableContainerWidth = 0;
595
+ }
596
+ else {
597
+ const headers = this.el.shadowRoot.querySelectorAll("th.column-header");
598
+ headers.forEach((header) => {
599
+ const tooltip = header.querySelector(this.IC_TOOLTIP_STRING);
600
+ if (tooltip) {
601
+ tooltip.classList.remove(this.SHOW_TRUNC_TOOLTIP_STRING);
602
+ }
603
+ });
604
+ }
605
+ }
555
606
  disconnectedCallback() {
556
- var _a;
607
+ var _a, _b;
557
608
  (_a = this.resizeObserver) === null || _a === void 0 ? void 0 : _a.disconnect();
609
+ (_b = this.headerResizeObserver) === null || _b === void 0 ? void 0 : _b.disconnect();
558
610
  }
559
611
  componentWillLoad() {
560
612
  var _a;
@@ -570,6 +622,7 @@ const DataTable = class {
570
622
  componentDidLoad() {
571
623
  const tableElement = this.el.shadowRoot.querySelector("table");
572
624
  const tableContainer = this.el.shadowRoot.querySelector(".table-container");
625
+ helpers.checkResizeObserver(this.runHeaderResizeObserver);
573
626
  if (this.dataUpdated) {
574
627
  this.dataUpdated = false;
575
628
  }
@@ -984,7 +1037,7 @@ const DataTable = class {
984
1037
  typographyEl.setAttribute("style", `--ic-line-clamp: ${this.getLines(cellContainer === null || cellContainer === void 0 ? void 0 : cellContainer.clientHeight)}`);
985
1038
  }
986
1039
  createTruncationTooltip(typographyEl, cellContainer) {
987
- const tooltipEl = document.createElement("ic-tooltip");
1040
+ const tooltipEl = document.createElement(this.IC_TOOLTIP_STRING);
988
1041
  tooltipEl.setAttribute("target", typographyEl.id);
989
1042
  tooltipEl.setAttribute("label", typographyEl.textContent);
990
1043
  tooltipEl.classList.add("ic-tooltip-overflow");
@@ -1019,6 +1072,7 @@ const DataTable = class {
1019
1072
  }
1020
1073
  get el() { return index.getElement(this); }
1021
1074
  static get watchers() { return {
1075
+ "columnHeaderTruncation": ["headerTruncationChangeHandler"],
1022
1076
  "loading": ["loadingHandler"],
1023
1077
  "truncationPattern": ["truncationPatternHandler"],
1024
1078
  "data": ["dataHandler"],