@knime/kds-table 0.2.1 → 0.3.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (107) hide show
  1. package/CHANGELOG.md +21 -0
  2. package/dist/index.css +283 -288
  3. package/dist/index.js +1112 -1530
  4. package/dist/index.js.map +1 -1
  5. package/dist/src/components/TableCore.vue.d.ts +7 -3
  6. package/dist/src/components/TableCore.vue.d.ts.map +1 -1
  7. package/dist/src/components/TableCoreVirtual.vue.d.ts +2 -1
  8. package/dist/src/components/TableCoreVirtual.vue.d.ts.map +1 -1
  9. package/dist/src/components/TableUI.vue.d.ts +1093 -1625
  10. package/dist/src/components/TableUI.vue.d.ts.map +1 -1
  11. package/dist/src/components/TableUIWithAutoSizeCalculation.vue.d.ts +2087 -8085
  12. package/dist/src/components/TableUIWithAutoSizeCalculation.vue.d.ts.map +1 -1
  13. package/dist/src/components/VirtualRow.vue.d.ts +1 -1
  14. package/dist/src/components/VirtualRow.vue.d.ts.map +1 -1
  15. package/dist/src/components/composables/useCommonScrollContainerProps.d.ts +7 -0
  16. package/dist/src/components/composables/useCommonScrollContainerProps.d.ts.map +1 -1
  17. package/dist/src/components/composables/useDataValueViews.d.ts +2 -2
  18. package/dist/src/components/composables/useDataValueViews.d.ts.map +1 -1
  19. package/dist/src/components/composables/useHeaderMenuItems.d.ts +4 -3
  20. package/dist/src/components/composables/useHeaderMenuItems.d.ts.map +1 -1
  21. package/dist/src/components/composables/useResizeScrollSpacer.d.ts +23 -0
  22. package/dist/src/components/composables/useResizeScrollSpacer.d.ts.map +1 -0
  23. package/dist/src/components/control/PageControls.vue.d.ts +29 -7
  24. package/dist/src/components/control/PageControls.vue.d.ts.map +1 -1
  25. package/dist/src/components/control/TableActionBar.vue.d.ts +24 -27
  26. package/dist/src/components/control/TableActionBar.vue.d.ts.map +1 -1
  27. package/dist/src/components/control/actionbar/FilterControl.vue.d.ts +12 -12
  28. package/dist/src/components/control/actionbar/FilterControl.vue.d.ts.map +1 -1
  29. package/dist/src/components/control/actionbar/FilterControlBody.vue.d.ts +5 -5
  30. package/dist/src/components/control/actionbar/FilterControlBody.vue.d.ts.map +1 -1
  31. package/dist/src/components/control/actionbar/SortControl.vue.d.ts +4 -4
  32. package/dist/src/components/control/actionbar/SortControl.vue.d.ts.map +1 -1
  33. package/dist/src/components/control/actionbar/filterConfigActive.d.ts +5 -5
  34. package/dist/src/components/control/actionbar/filterConfigActive.d.ts.map +1 -1
  35. package/dist/src/components/layout/Cell.vue.d.ts +0 -2
  36. package/dist/src/components/layout/Cell.vue.d.ts.map +1 -1
  37. package/dist/src/components/layout/CellProps.d.ts +3 -5
  38. package/dist/src/components/layout/CellProps.d.ts.map +1 -1
  39. package/dist/src/components/layout/CellRenderer.vue.d.ts.map +1 -1
  40. package/dist/src/components/layout/CellRendererProps.d.ts +0 -1
  41. package/dist/src/components/layout/CellRendererProps.d.ts.map +1 -1
  42. package/dist/src/components/layout/Header.vue.d.ts +194 -405
  43. package/dist/src/components/layout/Header.vue.d.ts.map +1 -1
  44. package/dist/src/components/layout/HeaderCell.vue.d.ts +72 -0
  45. package/dist/src/components/layout/HeaderCell.vue.d.ts.map +1 -0
  46. package/dist/src/components/layout/Row.vue.d.ts +4 -2
  47. package/dist/src/components/layout/Row.vue.d.ts.map +1 -1
  48. package/dist/src/components/layout/useAutoScrollOnRightEdge.d.ts +24 -0
  49. package/dist/src/components/layout/useAutoScrollOnRightEdge.d.ts.map +1 -0
  50. package/dist/src/components/ui/CellSelectionOverlay.vue.d.ts.map +1 -1
  51. package/dist/src/components/ui/CellSelectionOverlayProps.d.ts +1 -1
  52. package/dist/src/components/ui/CellSelectionOverlayProps.d.ts.map +1 -1
  53. package/dist/src/components/ui/EmptyRow.vue.d.ts +1 -1
  54. package/dist/src/components/ui/EmptyRow.vue.d.ts.map +1 -1
  55. package/dist/src/config/table.config.d.ts +11 -21
  56. package/dist/src/config/table.config.d.ts.map +1 -1
  57. package/dist/src/constants.d.ts.map +1 -0
  58. package/dist/src/index.d.ts +14 -17
  59. package/dist/src/index.d.ts.map +1 -1
  60. package/dist/src/types/ActionConfig.d.ts +16 -0
  61. package/dist/src/types/ActionConfig.d.ts.map +1 -0
  62. package/dist/src/types/ColumnConfig.d.ts +44 -0
  63. package/dist/src/types/ColumnConfig.d.ts.map +1 -0
  64. package/dist/src/types/ColumnState.d.ts +17 -0
  65. package/dist/src/types/ColumnState.d.ts.map +1 -0
  66. package/dist/src/types/FilterConfig.d.ts +10 -3
  67. package/dist/src/types/FilterConfig.d.ts.map +1 -1
  68. package/dist/src/types/PageConfig.d.ts +13 -0
  69. package/dist/src/types/PageConfig.d.ts.map +1 -0
  70. package/dist/src/types/RowConfig.d.ts +15 -0
  71. package/dist/src/types/RowConfig.d.ts.map +1 -0
  72. package/dist/src/types/SubMenuConfig.d.ts +11 -0
  73. package/dist/src/types/SubMenuConfig.d.ts.map +1 -0
  74. package/dist/src/types/TableConfig.d.ts +35 -38
  75. package/dist/src/types/TableConfig.d.ts.map +1 -1
  76. package/dist/src/{util → utils}/index.d.ts +1 -1
  77. package/dist/src/utils/index.d.ts.map +1 -0
  78. package/package.json +4 -3
  79. package/dist/src/config/time.config.d.ts +0 -53
  80. package/dist/src/config/time.config.d.ts.map +0 -1
  81. package/dist/src/types/DataConfig.d.ts +0 -40
  82. package/dist/src/types/DataConfig.d.ts.map +0 -1
  83. package/dist/src/util/constants.d.ts.map +0 -1
  84. package/dist/src/util/getColumnDomains.d.ts +0 -7
  85. package/dist/src/util/getColumnDomains.d.ts.map +0 -1
  86. package/dist/src/util/getFilterConfigs.d.ts +0 -11
  87. package/dist/src/util/getFilterConfigs.d.ts.map +0 -1
  88. package/dist/src/util/getNextPage.d.ts +0 -2
  89. package/dist/src/util/getNextPage.d.ts.map +0 -1
  90. package/dist/src/util/getWrappedArondNextElement.d.ts +0 -6
  91. package/dist/src/util/getWrappedArondNextElement.d.ts.map +0 -1
  92. package/dist/src/util/index.d.ts.map +0 -1
  93. package/dist/src/util/isSinglePage.d.ts +0 -3
  94. package/dist/src/util/isSinglePage.d.ts.map +0 -1
  95. package/dist/src/util/processSelection.d.ts +0 -2
  96. package/dist/src/util/processSelection.d.ts.map +0 -1
  97. package/dist/src/util/transform/filter.d.ts +0 -8
  98. package/dist/src/util/transform/filter.d.ts.map +0 -1
  99. package/dist/src/util/transform/group.d.ts +0 -7
  100. package/dist/src/util/transform/group.d.ts.map +0 -1
  101. package/dist/src/util/transform/paginate.d.ts +0 -4
  102. package/dist/src/util/transform/paginate.d.ts.map +0 -1
  103. package/dist/src/util/transform/search.d.ts +0 -3
  104. package/dist/src/util/transform/search.d.ts.map +0 -1
  105. package/dist/src/util/transform/sort.d.ts +0 -2
  106. package/dist/src/util/transform/sort.d.ts.map +0 -1
  107. /package/dist/src/{util/constants.d.ts → constants.d.ts} +0 -0
package/dist/index.css CHANGED
@@ -139,27 +139,11 @@ tbody[data-v-70f2c330] {
139
139
  min-height: var(--icon-height);
140
140
  vertical-align: middle;
141
141
  stroke-width: var(--icon-stroke-width);
142
- shape-rendering: geometricPrecision;
143
142
  }
144
143
  &.xsmall[data-v-bff4f419] {
145
144
  --icon-width: var(--kds-dimension-icon-0-56x);
146
145
  --icon-height: var(--kds-dimension-icon-0-56x);
147
146
  --icon-stroke-width: var(--kds-border-width-icon-stroke-s);
148
- @media (max-resolution: 1.5dppx) {
149
- /* For small icons on low density screens, we can't simply set the sizes as this leads to subpixel
150
- rendering issues which manifests in misaligned or 'jumping' svg content.
151
- Solution is to render the SVG in it's natural size (don't indirectly modify the viewBox) and instead apply a
152
- CSS transform. Thus the position of the SVG elements stays intact. */
153
- &[data-v-bff4f419] {
154
- --scaling-factor: 0.75;
155
- --icon-width: var(--kds-dimension-icon-0-75x);
156
- --icon-height: var(--kds-dimension-icon-0-75x);
157
- --icon-stroke-width: calc(
158
- var(--kds-border-width-icon-stroke-s) / var(--scaling-factor)
159
- );
160
- transform: scale(var(--scaling-factor));
161
- }
162
- }
163
147
  }
164
148
  &.small[data-v-bff4f419] {
165
149
  --icon-width: var(--kds-dimension-icon-0-75x);
@@ -189,27 +173,11 @@ tbody[data-v-70f2c330] {
189
173
  min-height: var(--icon-height);
190
174
  vertical-align: middle;
191
175
  stroke-width: var(--icon-stroke-width);
192
- shape-rendering: geometricPrecision;
193
176
  }
194
177
  &.xsmall[data-v-38e9537f] {
195
178
  --icon-width: var(--kds-dimension-icon-0-56x);
196
179
  --icon-height: var(--kds-dimension-icon-0-56x);
197
180
  --icon-stroke-width: var(--kds-border-width-icon-stroke-s);
198
- @media (max-resolution: 1.5dppx) {
199
- /* For small icons on low density screens, we can't simply set the sizes as this leads to subpixel
200
- rendering issues which manifests in misaligned or 'jumping' svg content.
201
- Solution is to render the SVG in it's natural size (don't indirectly modify the viewBox) and instead apply a
202
- CSS transform. Thus the position of the SVG elements stays intact. */
203
- &[data-v-38e9537f] {
204
- --scaling-factor: 0.75;
205
- --icon-width: var(--kds-dimension-icon-0-75x);
206
- --icon-height: var(--kds-dimension-icon-0-75x);
207
- --icon-stroke-width: calc(
208
- var(--kds-border-width-icon-stroke-s) / var(--scaling-factor)
209
- );
210
- transform: scale(var(--scaling-factor));
211
- }
212
- }
213
181
  }
214
182
  &.small[data-v-38e9537f] {
215
183
  --icon-width: var(--kds-dimension-icon-0-75x);
@@ -566,7 +534,7 @@ to {
566
534
  }
567
535
 
568
536
  .kds-inline-message {
569
- &[data-v-af14056f] {
537
+ &[data-v-194a0dfd] {
570
538
  display: flex;
571
539
  flex-direction: column;
572
540
  gap: var(--kds-spacing-container-0-25x);
@@ -578,45 +546,43 @@ to {
578
546
  border-radius: var(--kds-border-radius-container-0-50x);
579
547
  }
580
548
  .header {
581
- &[data-v-af14056f] {
549
+ &[data-v-194a0dfd] {
582
550
  display: flex;
583
551
  gap: var(--kds-spacing-container-0-25x);
584
- align-items: flex-start;
552
+ align-items: center;
585
553
  }
586
- .icon[data-v-af14056f] {
587
- align-self: flex-start;
588
- margin-top: var(--kds-spacing-container-0-12x);
554
+ .icon[data-v-194a0dfd] {
589
555
  color: var(--icon-color);
590
556
  }
591
- .headline[data-v-af14056f] {
557
+ .headline[data-v-194a0dfd] {
592
558
  font: var(--kds-font-base-title-small-strong);
593
559
  }
594
560
  }
595
- .body[data-v-af14056f] {
561
+ .body[data-v-194a0dfd] {
596
562
  align-self: stretch;
597
563
  padding-left: var(--kds-spacing-container-1x);
598
564
  font: var(--kds-font-base-body-small);
599
565
  color: var(--kds-color-text-and-icon-muted);
600
566
  }
601
- &.info[data-v-af14056f] {
567
+ &.info[data-v-194a0dfd] {
602
568
  --icon-color: var(--kds-color-text-and-icon-info);
603
569
 
604
570
  background-color: var(--kds-color-background-static-info-muted);
605
571
  border: var(--kds-border-base-info);
606
572
  }
607
- &.success[data-v-af14056f] {
573
+ &.success[data-v-194a0dfd] {
608
574
  --icon-color: var(--kds-color-text-and-icon-success);
609
575
 
610
576
  background-color: var(--kds-color-background-static-success-muted);
611
577
  border: var(--kds-border-base-success);
612
578
  }
613
- &.error[data-v-af14056f] {
579
+ &.error[data-v-194a0dfd] {
614
580
  --icon-color: var(--kds-color-text-and-icon-danger);
615
581
 
616
582
  background-color: var(--kds-color-background-static-danger-muted);
617
583
  border: var(--kds-border-base-danger);
618
584
  }
619
- &.warning[data-v-af14056f] {
585
+ &.warning[data-v-194a0dfd] {
620
586
  --icon-color: var(--kds-color-text-and-icon-warning);
621
587
 
622
588
  background-color: var(--kds-color-background-static-warning-muted);
@@ -693,7 +659,7 @@ html.kds-legacy {
693
659
  }
694
660
 
695
661
  .button {
696
- &[data-v-190ac311] {
662
+ &[data-v-24ade73a] {
697
663
  position: relative;
698
664
  display: flex;
699
665
  flex-shrink: 0;
@@ -707,151 +673,150 @@ html.kds-legacy {
707
673
 
708
674
  /* for LinkButton */
709
675
  }
710
- &[data-v-190ac311]:is(a) {
676
+ &[data-v-24ade73a]:is(a) {
711
677
  text-decoration: none;
712
678
  }
713
- &.disabled[data-v-190ac311] {
679
+ &.disabled[data-v-24ade73a] {
714
680
  cursor: default;
715
681
  }
716
- &[data-v-190ac311]:focus-visible {
682
+ &[data-v-24ade73a]:focus-visible {
717
683
  outline: var(--kds-border-action-focused);
718
684
  outline-offset: var(--kds-spacing-offset-focus);
719
685
  }
720
686
  &.filled {
721
- &[data-v-190ac311] {
687
+ &[data-v-24ade73a] {
722
688
  color: var(--kds-color-text-and-icon-primary-inverted);
723
689
  background-color: var(--kds-color-background-primary-bold-initial);
724
690
  border: var(--kds-border-action-transparent);
725
691
  }
726
- &.disabled[data-v-190ac311] {
692
+ &.disabled[data-v-24ade73a] {
727
693
  color: var(--kds-color-text-and-icon-disabled-inverted);
728
694
  background-color: var(--kds-color-background-disabled-primary);
729
695
  }
730
696
  &:not(.disabled, .success, .error) {
731
- &[data-v-190ac311]:hover {
697
+ &[data-v-24ade73a]:hover {
732
698
  background-color: var(--kds-color-background-primary-bold-hover);
733
699
  }
734
- &[data-v-190ac311]:active {
700
+ &[data-v-24ade73a]:active {
735
701
  background-color: var(--kds-color-background-primary-bold-active);
736
702
  }
737
703
  }
738
704
  &.destructive {
739
- &[data-v-190ac311] {
705
+ &[data-v-24ade73a] {
740
706
  color: var(--kds-color-text-and-icon-danger-inverted);
741
707
  background-color: var(--kds-color-background-danger-bold-initial);
742
708
  }
743
- &.disabled[data-v-190ac311] {
709
+ &.disabled[data-v-24ade73a] {
744
710
  color: var(--kds-color-text-and-icon-disabled-inverted);
745
711
  background-color: var(--kds-color-background-disabled-danger);
746
712
  }
747
713
  &:not(.disabled, .success, .error) {
748
- &[data-v-190ac311]:hover {
714
+ &[data-v-24ade73a]:hover {
749
715
  background-color: var(--kds-color-background-danger-bold-hover);
750
716
  }
751
- &[data-v-190ac311]:active {
717
+ &[data-v-24ade73a]:active {
752
718
  background-color: var(--kds-color-background-danger-bold-active);
753
719
  }
754
720
  }
755
721
  }
756
722
  }
757
723
  &.outlined {
758
- &[data-v-190ac311] {
724
+ &[data-v-24ade73a] {
759
725
  color: var(--kds-color-text-and-icon-neutral);
760
726
  background-color: var(--kds-color-background-neutral-initial);
761
727
  border: var(--kds-border-action-default);
762
728
  }
763
- &.disabled[data-v-190ac311] {
729
+ &.disabled[data-v-24ade73a] {
764
730
  color: var(--kds-color-text-and-icon-disabled);
765
731
  border: var(--kds-border-action-disabled);
766
732
  }
767
733
  &:not(.disabled, .success, .error) {
768
- &[data-v-190ac311]:hover {
734
+ &[data-v-24ade73a]:hover {
769
735
  background-color: var(--kds-color-background-neutral-hover);
770
736
  }
771
- &[data-v-190ac311]:active {
737
+ &[data-v-24ade73a]:active {
772
738
  background-color: var(--kds-color-background-neutral-active);
773
739
  }
774
740
  }
775
741
  &.destructive {
776
- &[data-v-190ac311] {
742
+ &[data-v-24ade73a] {
777
743
  color: var(--kds-color-text-and-icon-danger);
778
744
  border: var(--kds-border-action-error);
779
745
  }
780
- &.disabled[data-v-190ac311] {
746
+ &.disabled[data-v-24ade73a] {
781
747
  color: var(--kds-color-text-and-icon-disabled);
782
748
  border: var(--kds-border-action-disabled);
783
749
  }
784
750
  &:not(.disabled, .success, .error) {
785
- &[data-v-190ac311]:hover {
751
+ &[data-v-24ade73a]:hover {
786
752
  background-color: var(--kds-color-background-danger-hover);
787
753
  }
788
- &[data-v-190ac311]:active {
754
+ &[data-v-24ade73a]:active {
789
755
  background-color: var(--kds-color-background-danger-active);
790
756
  }
791
757
  }
792
758
  }
793
759
  }
794
760
  &.transparent {
795
- &[data-v-190ac311] {
761
+ &[data-v-24ade73a] {
796
762
  color: var(--kds-color-text-and-icon-neutral);
797
763
  background-color: var(--kds-color-background-neutral-initial);
798
764
  border: var(--kds-border-action-transparent);
799
765
  }
800
- &.disabled[data-v-190ac311] {
766
+ &.disabled[data-v-24ade73a] {
801
767
  color: var(--kds-color-text-and-icon-disabled);
802
768
  }
803
769
  &:not(.disabled, .success, .error) {
804
- &[data-v-190ac311]:hover {
770
+ &[data-v-24ade73a]:hover {
805
771
  background-color: var(--kds-color-background-neutral-hover);
806
772
  }
807
- &[data-v-190ac311]:active {
773
+ &[data-v-24ade73a]:active {
808
774
  background-color: var(--kds-color-background-neutral-active);
809
775
  }
810
776
  }
811
777
  &.destructive {
812
- &[data-v-190ac311] {
778
+ &[data-v-24ade73a] {
813
779
  color: var(--kds-color-text-and-icon-danger);
814
780
  }
815
- &.disabled[data-v-190ac311] {
781
+ &.disabled[data-v-24ade73a] {
816
782
  color: var(--kds-color-text-and-icon-disabled);
817
783
  }
818
784
  &:not(.disabled, .success, .error) {
819
- &[data-v-190ac311]:hover {
785
+ &[data-v-24ade73a]:hover {
820
786
  background-color: var(--kds-color-background-danger-hover);
821
787
  }
822
- &[data-v-190ac311]:active {
788
+ &[data-v-24ade73a]:active {
823
789
  background-color: var(--kds-color-background-danger-active);
824
790
  }
825
791
  }
826
792
  }
827
793
  }
828
794
  &.toggled {
829
- &[data-v-190ac311] {
795
+ &[data-v-24ade73a] {
830
796
  color: var(--kds-color-text-and-icon-selected);
831
797
  background-color: var(--kds-color-background-selected-initial);
832
798
  border: var(--kds-border-action-selected);
833
799
  }
834
- &.disabled[data-v-190ac311] {
800
+ &.disabled[data-v-24ade73a] {
835
801
  color: var(--kds-color-text-and-icon-disabled);
836
802
  }
837
803
  &:not(.disabled, .success, .error) {
838
- &[data-v-190ac311]:hover {
804
+ &[data-v-24ade73a]:hover {
839
805
  background-color: var(--kds-color-background-selected-hover);
840
806
  }
841
- &[data-v-190ac311]:active {
807
+ &[data-v-24ade73a]:active {
842
808
  background-color: var(--kds-color-background-selected-active);
843
809
  }
844
810
  }
845
811
  }
846
- & .label[data-v-190ac311] {
812
+ & .label[data-v-24ade73a] {
847
813
  max-width: 200px;
848
814
  padding: 0 var(--kds-spacing-container-0-12x);
849
815
  overflow: hidden;
850
816
  text-overflow: ellipsis;
851
817
  white-space: nowrap;
852
- text-rendering: geometricprecision;
853
818
  }
854
- &.xsmall[data-v-190ac311] {
819
+ &.xsmall[data-v-24ade73a] {
855
820
  gap: var(--kds-spacing-container-0-12x);
856
821
  height: var(--kds-dimension-component-height-1-25x);
857
822
  padding: 0
@@ -863,7 +828,7 @@ html.kds-legacy {
863
828
  var(--kds-border-radius-container-0-25x)
864
829
  );
865
830
  }
866
- &.small[data-v-190ac311] {
831
+ &.small[data-v-24ade73a] {
867
832
  gap: var(--kds-spacing-container-0-12x);
868
833
  height: var(--kds-dimension-component-height-1-5x);
869
834
  padding: 0
@@ -875,7 +840,7 @@ html.kds-legacy {
875
840
  var(--kds-border-radius-container-0-37x)
876
841
  );
877
842
  }
878
- &.medium[data-v-190ac311] {
843
+ &.medium[data-v-24ade73a] {
879
844
  gap: var(--kds-spacing-container-0-25x);
880
845
  height: var(--kds-dimension-component-height-1-75x);
881
846
  padding: 0
@@ -888,7 +853,7 @@ html.kds-legacy {
888
853
  );
889
854
  }
890
855
  &.large {
891
- &[data-v-190ac311] {
856
+ &[data-v-24ade73a] {
892
857
  gap: var(--kds-spacing-container-0-25x);
893
858
  height: var(--kds-dimension-component-height-2-25x);
894
859
  padding: 0
@@ -900,11 +865,11 @@ html.kds-legacy {
900
865
  var(--kds-border-radius-container-0-50x)
901
866
  );
902
867
  }
903
- & .label[data-v-190ac311] {
868
+ & .label[data-v-24ade73a] {
904
869
  padding: 0 var(--kds-spacing-container-0-25x);
905
870
  }
906
871
  }
907
- &.success[data-v-190ac311] {
872
+ &.success[data-v-24ade73a] {
908
873
  color: var(--kds-color-text-and-icon-success-inverted);
909
874
  background-color: var(--kds-color-background-success-bold-initial);
910
875
  border: var(--kds-border-action-transparent);
@@ -913,7 +878,7 @@ html.kds-legacy {
913
878
  border-color 200ms ease-out,
914
879
  color 200ms ease-out;
915
880
  }
916
- &.error[data-v-190ac311] {
881
+ &.error[data-v-24ade73a] {
917
882
  color: var(--kds-color-text-and-icon-danger-inverted);
918
883
  background-color: var(--kds-color-background-danger-bold-initial);
919
884
  border: var(--kds-border-action-transparent);
@@ -922,11 +887,11 @@ html.kds-legacy {
922
887
  border-color 200ms ease-out,
923
888
  color 200ms ease-out;
924
889
  }
925
- &.remove-border-radius-left[data-v-190ac311] {
890
+ &.remove-border-radius-left[data-v-24ade73a] {
926
891
  border-top-left-radius: 0;
927
892
  border-bottom-left-radius: 0;
928
893
  }
929
- &.remove-border-radius-right[data-v-190ac311] {
894
+ &.remove-border-radius-right[data-v-24ade73a] {
930
895
  border-top-right-radius: 0;
931
896
  border-bottom-right-radius: 0;
932
897
  }
@@ -1291,7 +1256,7 @@ html.kds-legacy {
1291
1256
  }
1292
1257
 
1293
1258
  .kds-popover {
1294
- &[data-v-1e5f9d24] {
1259
+ &[data-v-3354d162] {
1295
1260
  padding: 0;
1296
1261
  margin: 0;
1297
1262
  overflow: visible;
@@ -1319,10 +1284,11 @@ html.kds-legacy {
1319
1284
  * light-dismiss / click-outside behavior).
1320
1285
  */
1321
1286
  }
1322
- &.full-width[data-v-1e5f9d24] {
1287
+ &.full-width[data-v-3354d162] {
1323
1288
  min-inline-size: anchor-size(width);
1289
+ max-inline-size: anchor-size(width);
1324
1290
  }
1325
- &.floating.top-right[data-v-1e5f9d24] {
1291
+ &.floating.top-right[data-v-3354d162] {
1326
1292
  inset: auto anchor(right) anchor(top) auto;
1327
1293
  margin: var(--kds-spacing-container-0-25x) 0
1328
1294
  var(--kds-spacing-container-0-25x) var(--kds-spacing-container-0-25x);
@@ -1330,7 +1296,7 @@ html.kds-legacy {
1330
1296
  --kds-popover-try-top-left, --kds-popover-try-bottom-right,
1331
1297
  --kds-popover-try-bottom-left, --kds-popover-try-top-right;
1332
1298
  }
1333
- &.floating.top-left[data-v-1e5f9d24] {
1299
+ &.floating.top-left[data-v-3354d162] {
1334
1300
  inset: auto auto anchor(top) anchor(left);
1335
1301
  margin: var(--kds-spacing-container-0-25x)
1336
1302
  var(--kds-spacing-container-0-25x) var(--kds-spacing-container-0-25x) 0;
@@ -1338,7 +1304,7 @@ html.kds-legacy {
1338
1304
  --kds-popover-try-top-right, --kds-popover-try-bottom-left,
1339
1305
  --kds-popover-try-bottom-right, --kds-popover-try-top-left;
1340
1306
  }
1341
- &.floating.bottom-right[data-v-1e5f9d24] {
1307
+ &.floating.bottom-right[data-v-3354d162] {
1342
1308
  inset: anchor(bottom) anchor(right) auto auto;
1343
1309
  margin: var(--kds-spacing-container-0-25x) 0
1344
1310
  var(--kds-spacing-container-0-25x) var(--kds-spacing-container-0-25x);
@@ -1346,7 +1312,7 @@ html.kds-legacy {
1346
1312
  --kds-popover-try-bottom-left, --kds-popover-try-top-right,
1347
1313
  --kds-popover-try-top-left, --kds-popover-try-bottom-right;
1348
1314
  }
1349
- &.floating.bottom-left[data-v-1e5f9d24] {
1315
+ &.floating.bottom-left[data-v-3354d162] {
1350
1316
  inset: anchor(bottom) auto auto anchor(left);
1351
1317
  margin: var(--kds-spacing-container-0-25x)
1352
1318
  var(--kds-spacing-container-0-25x) var(--kds-spacing-container-0-25x) 0;
@@ -1354,7 +1320,7 @@ html.kds-legacy {
1354
1320
  --kds-popover-try-bottom-right, --kds-popover-try-top-left,
1355
1321
  --kds-popover-try-top-right, --kds-popover-try-bottom-left;
1356
1322
  }
1357
- &.floating.custom[data-v-1e5f9d24] {
1323
+ &.floating.custom[data-v-3354d162] {
1358
1324
  position: fixed;
1359
1325
  inset: auto;
1360
1326
  margin: 0;
@@ -1388,7 +1354,7 @@ html.kds-legacy {
1388
1354
  margin: var(--kds-spacing-container-0-25x) var(--kds-spacing-container-0-25x)
1389
1355
  var(--kds-spacing-container-0-25x) 0;
1390
1356
  }
1391
- .kds-popover-default-content[data-v-1e5f9d24] {
1357
+ .kds-popover-default-content[data-v-3354d162] {
1392
1358
  padding: var(--kds-spacing-container-0-75x);
1393
1359
  font: var(--kds-font-base-body-small);
1394
1360
  color: var(--kds-color-text-and-icon-neutral);
@@ -1991,7 +1957,7 @@ table:focus {
1991
1957
  }
1992
1958
 
1993
1959
  .checkbox {
1994
- &[data-v-7bfc5667] {
1960
+ &[data-v-0bec87ad] {
1995
1961
  --bg-initial: var(--kds-color-background-input-initial);
1996
1962
  --bg-hover: var(--kds-color-background-input-hover);
1997
1963
  --bg-active: var(--kds-color-background-input-active);
@@ -2011,7 +1977,7 @@ table:focus {
2011
1977
  background: none;
2012
1978
  border: none;
2013
1979
  }
2014
- .control[data-v-7bfc5667] {
1980
+ .control[data-v-0bec87ad] {
2015
1981
  position: relative;
2016
1982
  display: flex;
2017
1983
  flex-shrink: 0;
@@ -2024,40 +1990,39 @@ table:focus {
2024
1990
  border: var(--border);
2025
1991
  border-radius: var(--kds-border-radius-container-0-25x);
2026
1992
  }
2027
- &:focus-visible .control[data-v-7bfc5667] {
1993
+ &:focus-visible .control[data-v-0bec87ad] {
2028
1994
  outline: var(--kds-border-action-focused);
2029
1995
  outline-offset: var(--kds-spacing-offset-focus);
2030
1996
  }
2031
- &:hover:not(.disabled) .control[data-v-7bfc5667] {
1997
+ &:hover:not(.disabled) .control[data-v-0bec87ad] {
2032
1998
  background: var(--bg-hover);
2033
1999
  }
2034
- &:active:not(.disabled) .control[data-v-7bfc5667] {
2000
+ &:active:not(.disabled) .control[data-v-0bec87ad] {
2035
2001
  background: var(--bg-active);
2036
2002
  }
2037
- &.checked[data-v-7bfc5667],
2038
- &.indeterminate[data-v-7bfc5667] {
2003
+ &.checked[data-v-0bec87ad],
2004
+ &.indeterminate[data-v-0bec87ad] {
2039
2005
  --bg-initial: var(--kds-color-background-selected-initial);
2040
2006
  --bg-hover: var(--kds-color-background-selected-hover);
2041
2007
  --bg-active: var(--kds-color-background-selected-active);
2042
2008
  --border: var(--kds-border-action-selected);
2043
2009
  }
2044
2010
  .content {
2045
- &[data-v-7bfc5667] {
2011
+ &[data-v-0bec87ad] {
2046
2012
  display: flex;
2047
2013
  flex-direction: column;
2048
2014
  gap: var(--kds-spacing-container-0-12x);
2049
- text-rendering: geometricprecision;
2050
2015
  }
2051
- & .label[data-v-7bfc5667] {
2016
+ & .label[data-v-0bec87ad] {
2052
2017
  font: var(--kds-font-base-interactive-small);
2053
2018
  color: var(--text-color);
2054
2019
  }
2055
- & .helper-text[data-v-7bfc5667] {
2020
+ & .helper-text[data-v-0bec87ad] {
2056
2021
  font: var(--kds-font-base-subtext-small);
2057
2022
  color: var(--helper-text-color);
2058
2023
  }
2059
2024
  }
2060
- &.disabled[data-v-7bfc5667] {
2025
+ &.disabled[data-v-0bec87ad] {
2061
2026
  --border: var(--kds-border-action-disabled);
2062
2027
  --icon-color: var(--kds-color-text-and-icon-disabled);
2063
2028
  --text-color: var(--kds-color-text-and-icon-disabled);
@@ -2066,20 +2031,20 @@ table:focus {
2066
2031
  cursor: default;
2067
2032
  }
2068
2033
  &.error {
2069
- &[data-v-7bfc5667] {
2034
+ &[data-v-0bec87ad] {
2070
2035
  --border: var(--kds-border-action-error);
2071
2036
  --icon-color: var(--kds-color-text-and-icon-danger);
2072
2037
  --text-color: var(--kds-color-text-and-icon-danger);
2073
2038
  --bg-hover: var(--kds-color-background-danger-hover);
2074
2039
  --bg-active: var(--kds-color-background-danger-active);
2075
2040
  }
2076
- &.checked[data-v-7bfc5667],
2077
- &.indeterminate[data-v-7bfc5667] {
2041
+ &.checked[data-v-0bec87ad],
2042
+ &.indeterminate[data-v-0bec87ad] {
2078
2043
  --bg-initial: var(--kds-color-background-danger-initial);
2079
2044
  }
2080
2045
  }
2081
2046
  }
2082
- .subtext-wrapper[data-v-7bfc5667] {
2047
+ .subtext-wrapper[data-v-0bec87ad] {
2083
2048
  padding-left: calc(
2084
2049
  var(--kds-dimension-component-height-0-88x) +
2085
2050
  var(--kds-spacing-container-0-37x)
@@ -2904,23 +2869,24 @@ textarea[data-v-36211819]::-webkit-scrollbar {
2904
2869
  );
2905
2870
  }
2906
2871
 
2907
- .kds-dropdown-container[data-v-cdb20fd2] {
2872
+ .kds-dropdown-container[data-v-0a6ce241] {
2908
2873
  display: flex;
2909
2874
  flex-direction: column;
2875
+ min-width: var(--kds-dimension-component-width-12x);
2910
2876
  background-color: var(--kds-color-surface-default);
2911
2877
  border-radius: var(--kds-border-radius-container-0-50x);
2912
2878
  box-shadow: var(--kds-elevation-level-3);
2913
2879
  }
2914
- .kds-dropdown-container-sticky-top[data-v-cdb20fd2] {
2880
+ .kds-dropdown-container-sticky-top[data-v-0a6ce241] {
2915
2881
  padding: var(--kds-spacing-container-0-25x);
2916
2882
  background-color: var(--kds-color-surface-default);
2917
2883
  border-bottom: var(--kds-border-base-subtle);
2918
2884
  }
2919
2885
  .kds-dropdown-container-list {
2920
- &[data-v-cdb20fd2] {
2886
+ &[data-v-0a6ce241] {
2921
2887
  max-height: var(--kds-dimension-component-height-12x);
2922
2888
  }
2923
- &.multiline[data-v-cdb20fd2] {
2889
+ &.multiline[data-v-0a6ce241] {
2924
2890
  max-height: var(--kds-dimension-component-height-20x);
2925
2891
  }
2926
2892
  }
@@ -4155,7 +4121,7 @@ button.kds-breadcrumb-item {
4155
4121
  text-overflow: clip;
4156
4122
  }
4157
4123
 
4158
- ol[data-v-e93667af] {
4124
+ ol[data-v-8661f06f] {
4159
4125
  display: flex;
4160
4126
  flex-flow: row nowrap;
4161
4127
  padding: var(--kds-spacing-container-none);
@@ -4168,7 +4134,7 @@ ol[data-v-e93667af] {
4168
4134
  list-style: none;
4169
4135
  }
4170
4136
  li {
4171
- &[data-v-e93667af] {
4137
+ &[data-v-8661f06f] {
4172
4138
  /*
4173
4139
  * Width is controlled by `useBreadcrumbAdaptiveLayout()` via the CSS
4174
4140
  * custom properties `--kds-bc-max-width` (resting cap) and
@@ -4178,7 +4144,7 @@ li {
4178
4144
  --kds-bc-floor: calc(
4179
4145
  var(--kds-dimension-icon-1x) /* leading icon */ +
4180
4146
  var(--kds-spacing-container-0-25x) /* item gap */ +
4181
- var(--kds-dimension-icon-0-75x) /* chevron */ + 2 *
4147
+ var(--kds-dimension-icon-0-75x) /* path separator */ + 2 *
4182
4148
  var(--kds-spacing-container-0-12x) /* chevron margin */
4183
4149
  );
4184
4150
 
@@ -4202,20 +4168,34 @@ li {
4202
4168
 
4203
4169
  /* Current item: override the item color token so a/button inherit it. */
4204
4170
  }
4205
- &[data-v-e93667af]:last-child {
4171
+ &.no-icon[data-v-8661f06f] {
4172
+ --kds-bc-floor: calc(
4173
+ var(--kds-spacing-container-0-37x) /* min text width dummy value */ +
4174
+ var(--kds-dimension-icon-0-75x) /* path separator */ + 2 *
4175
+ var(--kds-spacing-container-0-12x) /* chevron margin */
4176
+ );
4177
+ }
4178
+ &.no-text[data-v-8661f06f] {
4179
+ --kds-bc-floor: calc(
4180
+ var(--kds-dimension-icon-1x) /* leading icon */ +
4181
+ var(--kds-dimension-icon-0-75x) /* path separator */ + 2 *
4182
+ var(--kds-spacing-container-0-12x) /* chevron margin */
4183
+ );
4184
+ }
4185
+ &[data-v-8661f06f]:last-child {
4206
4186
  --kds-bc-floor: calc(
4207
4187
  var(--kds-dimension-icon-1x) /* leading icon */ +
4208
4188
  var(--kds-spacing-container-0-25x) /* item gap */
4209
4189
  );
4210
4190
  }
4211
- &[data-v-e93667af]:hover,
4212
- &[data-v-e93667af]:focus-within {
4191
+ &[data-v-8661f06f]:hover,
4192
+ &[data-v-8661f06f]:focus-within {
4213
4193
  max-width: var(--kds-bc-natural-width, fit-content);
4214
4194
  }
4215
- &.current[data-v-e93667af] {
4195
+ &.current[data-v-8661f06f] {
4216
4196
  --kds-breadcrumb-item-color: var(--kds-color-text-and-icon-neutral);
4217
4197
  }
4218
- .path-separator[data-v-e93667af] {
4198
+ .path-separator[data-v-8661f06f] {
4219
4199
  flex-shrink: 0;
4220
4200
  align-self: center;
4221
4201
  margin-inline: var(--kds-spacing-container-0-12x);
@@ -4574,26 +4554,26 @@ td {
4574
4554
  }
4575
4555
 
4576
4556
  tr {
4577
- &[data-v-b1ac99a6] {
4557
+ &[data-v-640baae1] {
4578
4558
  display: flex;
4579
4559
  border-bottom: var(--kds-border-base-subtle);
4580
4560
  }
4581
4561
  & td {
4582
- &.deletion-cell-spacer[data-v-b1ac99a6] {
4562
+ &.deletion-cell-spacer[data-v-640baae1] {
4583
4563
  width: var(--kds-dimension-component-width-2x);
4584
4564
  min-width: var(--kds-dimension-component-width-2x);
4585
4565
  }
4586
- & .skeleton[data-v-b1ac99a6] {
4566
+ & .skeleton[data-v-640baae1] {
4587
4567
  padding: var(--kds-spacing-container-0-12x) 0;
4588
4568
  }
4589
4569
  &.select-cell {
4590
- &[data-v-b1ac99a6] {
4570
+ &[data-v-640baae1] {
4591
4571
  display: flex;
4592
4572
  justify-content: center;
4593
4573
  width: var(--kds-dimension-component-width-2x);
4594
4574
  min-width: var(--kds-dimension-component-width-2x);
4595
4575
  }
4596
- & .select-checkbox[data-v-b1ac99a6] {
4576
+ & .select-checkbox[data-v-640baae1] {
4597
4577
  /* With this added padding the checkbox appears centered initially */
4598
4578
  padding: var(--kds-spacing-container-0-10x);
4599
4579
  }
@@ -4618,13 +4598,13 @@ tr {
4618
4598
  }
4619
4599
 
4620
4600
  .container {
4621
- &[data-v-4c5d7018] {
4601
+ &[data-v-a66c9aef] {
4622
4602
  flex: 1 1 0;
4623
4603
  }
4624
- &.fit-content[data-v-4c5d7018] {
4604
+ &.fit-content[data-v-a66c9aef] {
4625
4605
  flex: 0 0 auto;
4626
4606
  }
4627
- & .header-container[data-v-4c5d7018] {
4607
+ & .header-container[data-v-a66c9aef] {
4628
4608
  position: sticky;
4629
4609
  top: 0;
4630
4610
  z-index: var(--z-index-sticky-header);
@@ -4632,7 +4612,7 @@ tr {
4632
4612
  flex: 1;
4633
4613
  flex-direction: column;
4634
4614
  }
4635
- & tbody[data-v-4c5d7018] {
4615
+ & tbody[data-v-a66c9aef] {
4636
4616
  /**
4637
4617
  * Necessary for the absolutely placed elements inside of it (e.g. cell selection overlay)
4638
4618
  * to scroll with the body.
@@ -4650,6 +4630,15 @@ tr {
4650
4630
  width: fit-content;
4651
4631
  }
4652
4632
  }
4633
+ .resize-scroll-spacer {
4634
+ &[data-v-a66c9aef] {
4635
+ /* Only animate when collapsing back after a resize ends; while resizing the width
4636
+ tracks the growing column and must update instantly. */
4637
+ }
4638
+ &.collapsing[data-v-a66c9aef] {
4639
+ transition: width 0.2s ease;
4640
+ }
4641
+ }
4653
4642
 
4654
4643
  .page-navigation {
4655
4644
  &[data-v-f8714af0] {
@@ -4685,37 +4674,37 @@ tr {
4685
4674
  }
4686
4675
 
4687
4676
  .page-controls {
4688
- &[data-v-df9e464a] {
4677
+ &[data-v-10c111ef] {
4689
4678
  display: flex;
4690
4679
  align-items: center;
4691
4680
  justify-content: space-between;
4692
4681
  padding: var(--kds-spacing-container-0-25x) var(--kds-spacing-container-0-75x);
4693
4682
  }
4694
- & .page-row-range[data-v-df9e464a],
4695
- & .page-size-menu[data-v-df9e464a] {
4683
+ & .page-row-range[data-v-10c111ef],
4684
+ & .page-size-menu[data-v-10c111ef] {
4696
4685
  flex-grow: 1;
4697
4686
  flex-basis: 0;
4698
4687
  }
4699
- .page-size-menu[data-v-df9e464a] {
4688
+ .page-size-menu[data-v-10c111ef] {
4700
4689
  display: flex;
4701
4690
  justify-content: flex-end;
4702
4691
  }
4703
4692
  }
4704
4693
 
4705
- .rows[data-v-9653892f] {
4694
+ .rows[data-v-bd4cc5ec] {
4706
4695
  display: grid;
4707
4696
  grid-template-columns: auto auto auto auto;
4708
4697
  gap: var(--kds-spacing-container-0-5x) var(--kds-spacing-container-0-5x);
4709
4698
  }
4710
- .row[data-v-9653892f] {
4699
+ .row[data-v-bd4cc5ec] {
4711
4700
  display: contents;
4712
4701
  }
4713
- .column[data-v-9653892f],
4714
- .mode[data-v-9653892f],
4715
- .value[data-v-9653892f] {
4702
+ .column[data-v-bd4cc5ec],
4703
+ .mode[data-v-bd4cc5ec],
4704
+ .value[data-v-bd4cc5ec] {
4716
4705
  min-width: 0;
4717
4706
  }
4718
- .add[data-v-9653892f] {
4707
+ .add[data-v-bd4cc5ec] {
4719
4708
  margin-top: var(--kds-spacing-container-0-5x);
4720
4709
  }
4721
4710
 
@@ -4740,28 +4729,28 @@ tr {
4740
4729
  }
4741
4730
  }
4742
4731
 
4743
- .filter-popover[data-v-178504c8] {
4732
+ .filter-popover[data-v-3cd94230] {
4744
4733
  position-try-order: most-inline-size;
4745
4734
  }
4746
4735
 
4747
- .sort-popover[data-v-80bf221a] {
4736
+ .sort-popover[data-v-ad5ee20c] {
4748
4737
  position-try-order: most-inline-size;
4749
4738
  }
4750
4739
  .popover-container {
4751
4740
  .body {
4752
- &[data-v-80bf221a] {
4741
+ &[data-v-ad5ee20c] {
4753
4742
  display: grid;
4754
4743
  grid-template-columns: auto auto;
4755
4744
  gap: var(--kds-spacing-container-0-5x);
4756
4745
  }
4757
- &[data-v-80bf221a] > * {
4746
+ &[data-v-ad5ee20c] > * {
4758
4747
  min-width: 0;
4759
4748
  }
4760
4749
  }
4761
4750
  }
4762
4751
 
4763
4752
  .kds-table-action-bar {
4764
- &[data-v-8cfb3c41] {
4753
+ &[data-v-4a59722f] {
4765
4754
  display: flex;
4766
4755
  align-items: center;
4767
4756
  justify-content: space-between;
@@ -4770,28 +4759,28 @@ tr {
4770
4759
  padding-left: var(--kds-spacing-container-0-5x);
4771
4760
  border-top: var(--kds-border-base-subtle);
4772
4761
  }
4773
- &.temporary-view[data-v-8cfb3c41] {
4762
+ &.temporary-view[data-v-4a59722f] {
4774
4763
  background-color: var(--kds-color-background-static-info-muted);
4775
4764
  }
4776
4765
  & .left {
4777
- &[data-v-8cfb3c41] {
4766
+ &[data-v-4a59722f] {
4778
4767
  display: flex;
4779
4768
  flex: 1 0 0;
4780
4769
  gap: var(--kds-spacing-container-0-5x);
4781
4770
  align-items: center;
4782
4771
  padding: var(--kds-spacing-container-0-12x) 0;
4783
4772
  }
4784
- & .title[data-v-8cfb3c41] {
4773
+ & .title[data-v-4a59722f] {
4785
4774
  font: var(--kds-font-base-title-medium-strong);
4786
4775
  color: var(--kds-color-text-and-icon-neutral);
4787
4776
  }
4788
- & .dimension[data-v-8cfb3c41] {
4777
+ & .dimension[data-v-4a59722f] {
4789
4778
  font: var(--kds-font-base-title-small);
4790
4779
  color: var(--kds-color-text-and-icon-muted);
4791
4780
  white-space: pre;
4792
4781
  }
4793
4782
  }
4794
- & .right[data-v-8cfb3c41] {
4783
+ & .right[data-v-4a59722f] {
4795
4784
  display: flex;
4796
4785
  gap: var(--kds-spacing-container-0-25x);
4797
4786
  align-items: center;
@@ -4800,14 +4789,119 @@ tr {
4800
4789
  }
4801
4790
  }
4802
4791
 
4792
+ .column-header {
4793
+ &[data-v-cc11c6b2] {
4794
+ /* Need to set position relative here to position the resize handle absolutely within the header cell */
4795
+ position: relative;
4796
+ display: flex;
4797
+ align-items: center;
4798
+ justify-content: space-between;
4799
+ min-height: var(--kds-dimension-component-height-2-5x);
4800
+ max-height: var(--kds-dimension-component-height-5x);
4801
+ padding-right: var(--kds-spacing-container-0-37x);
4802
+ padding-left: var(--kds-spacing-container-0-5x);
4803
+ color: var(--kds-color-text-and-icon-neutral);
4804
+ text-align: left;
4805
+ white-space: nowrap;
4806
+ }
4807
+ &.header-focused[data-v-cc11c6b2] {
4808
+ background-color: var(--kds-color-focus-background);
4809
+ }
4810
+ &.colored-header[data-v-cc11c6b2] {
4811
+ /* stylelint-disable-next-line csstools/value-no-unknown-custom-properties -- runtime variable set via inline :style */
4812
+ background-image: linear-gradient(
4813
+ 90deg,
4814
+ var(--data-cell-color),
4815
+ var(--data-cell-color)
4816
+ );
4817
+ background-repeat: no-repeat;
4818
+ background-size: var(--kds-spacing-container-0-25x);
4819
+ }
4820
+ & .column-header-content {
4821
+ &[data-v-cc11c6b2] {
4822
+ display: flex;
4823
+ flex-direction: column;
4824
+ justify-content: center;
4825
+ width: 100%;
4826
+ }
4827
+ &[data-v-cc11c6b2]:focus {
4828
+ outline: none;
4829
+ }
4830
+ &.with-button-in-header[data-v-cc11c6b2] {
4831
+ width: calc(
4832
+ 100% - var(--kds-dimension-component-width-1-5x)
4833
+ ); /* due to .sub-menu-select-header / .delete-column-button: width */
4834
+ }
4835
+ & .main-header {
4836
+ &[data-v-cc11c6b2] {
4837
+ display: flex;
4838
+ }
4839
+ & .header-text-container[data-v-cc11c6b2] {
4840
+ max-width: 100%;
4841
+ overflow: hidden;
4842
+ text-overflow: ellipsis;
4843
+ font: var(--kds-font-base-title-medium-strong);
4844
+ }
4845
+ }
4846
+ & .sub-header-text-container[data-v-cc11c6b2] {
4847
+ overflow: hidden;
4848
+ text-overflow: ellipsis;
4849
+ font: var(--kds-font-base-subtext-small);
4850
+ }
4851
+ }
4852
+ & .delete-column-button[data-v-cc11c6b2] {
4853
+ display: flex;
4854
+ align-items: center;
4855
+ width: var(--kds-dimension-component-width-2x);
4856
+ }
4857
+ & .resize-handle-area {
4858
+ &[data-v-cc11c6b2] {
4859
+ position: absolute;
4860
+
4861
+ /* resize handle should range into top border */
4862
+ top: calc(-1 * var(--kds-core-border-width-xs));
4863
+
4864
+ /* resize handle should be at the very right of the header cell, but not range into the next cell, which is
4865
+ why we need to remove half of the .resize-handles' border */
4866
+ right: calc(
4867
+ -1 *
4868
+ (
4869
+ var(--kds-spacing-container-0-25x) - var(--kds-core-border-width-l) /
4870
+ 2
4871
+ )
4872
+ );
4873
+
4874
+ /* otherwise the handle will be behind rows when virtual scrolling */
4875
+ z-index: var(--z-index-column-resize-drag-handle);
4876
+ display: flex;
4877
+ justify-content: center;
4878
+ width: 0;
4879
+ height: 100%;
4880
+ padding-inline: var(--kds-spacing-container-0-25x);
4881
+ cursor: col-resize;
4882
+ opacity: 0;
4883
+ }
4884
+ & .resize-handle[data-v-cc11c6b2] {
4885
+ border-right: var(--kds-border-resize-handle-hover);
4886
+ border-radius: var(--kds-border-radius-container-0-25x);
4887
+ }
4888
+ &.hover[data-v-cc11c6b2] {
4889
+ opacity: 1;
4890
+ }
4891
+ &.drag[data-v-cc11c6b2] {
4892
+ opacity: 1;
4893
+ }
4894
+ }
4895
+ }
4896
+
4803
4897
  thead {
4804
- &[data-v-08a86b18] {
4898
+ &[data-v-e7068bdf] {
4805
4899
  background-color: var(--kds-color-surface-default);
4806
4900
  border-top: var(--kds-border-base-subtle);
4807
4901
  border-bottom: var(--kds-border-base-subtle);
4808
4902
  }
4809
4903
  & tr {
4810
- &[data-v-08a86b18] {
4904
+ &[data-v-e7068bdf] {
4811
4905
  display: flex;
4812
4906
  height: 100%;
4813
4907
  transition:
@@ -4815,151 +4909,51 @@ thead {
4815
4909
  box-shadow 0.15s;
4816
4910
  }
4817
4911
  & th {
4818
- &[data-v-08a86b18] {
4912
+ &[data-v-e7068bdf] {
4819
4913
  min-height: var(--kds-dimension-component-height-2-5x);
4820
4914
  max-height: var(--kds-dimension-component-height-5x);
4821
4915
  text-align: left;
4822
4916
  white-space: nowrap;
4823
4917
  }
4824
- &.deletion-cell-spacer[data-v-08a86b18] {
4918
+ &.deletion-cell-spacer[data-v-e7068bdf] {
4825
4919
  width: var(--kds-dimension-component-width-2x);
4826
4920
  }
4827
- &.header-focused[data-v-08a86b18] {
4828
- background-color: var(--kds-color-focus-background);
4829
- }
4830
4921
  &.select-cell {
4831
- &[data-v-08a86b18] {
4922
+ &[data-v-e7068bdf] {
4832
4923
  display: flex;
4833
4924
  justify-content: center;
4834
4925
  width: var(--kds-dimension-component-width-2x);
4835
4926
  padding: var(--kds-spacing-container-0-75x);
4836
4927
  }
4837
- & .select-checkbox[data-v-08a86b18] {
4928
+ & .select-checkbox[data-v-e7068bdf] {
4838
4929
  /* With this added padding the checkbox appears centered initially */
4839
4930
  padding: var(--kds-spacing-container-0-10x);
4840
4931
  }
4841
4932
  }
4842
- &.colored-header[data-v-08a86b18] {
4843
- /* stylelint-disable-next-line csstools/value-no-unknown-custom-properties -- runtime variable set via inline :style */
4844
- background-image: linear-gradient(
4845
- 90deg,
4846
- var(--data-cell-color),
4847
- var(--data-cell-color)
4848
- );
4849
- background-repeat: no-repeat;
4850
- background-size: var(--kds-spacing-container-0-25x);
4851
- }
4852
- &.column-header {
4853
- &[data-v-08a86b18] {
4854
- /* Need to set position relative here to position the resize handle absolutely within the header cell */
4855
- position: relative;
4856
- display: flex;
4857
- align-items: center;
4858
- justify-content: space-between;
4859
- padding-right: var(--kds-spacing-container-0-37x);
4860
- padding-left: var(--kds-spacing-container-0-5x);
4861
- color: var(--kds-color-text-and-icon-neutral);
4862
- }
4863
- & .column-header-content {
4864
- &[data-v-08a86b18] {
4865
- display: flex;
4866
- flex-direction: column;
4867
- justify-content: center;
4868
- width: 100%;
4869
- }
4870
- &[data-v-08a86b18]:focus {
4871
- outline: none;
4872
- }
4873
- &.with-button-in-header[data-v-08a86b18] {
4874
- width: calc(
4875
- 100% - var(--kds-dimension-component-width-1-5x)
4876
- ); /* due to .sub-menu-select-header / .delete-column-button: width */
4877
- }
4878
- & .main-header {
4879
- &[data-v-08a86b18] {
4880
- display: flex;
4881
- }
4882
- & .header-text-container[data-v-08a86b18] {
4883
- max-width: 100%;
4884
- overflow: hidden;
4885
- text-overflow: ellipsis;
4886
- font: var(--kds-font-base-title-medium-strong);
4887
- }
4888
- }
4889
- & .sub-header-text-container[data-v-08a86b18] {
4890
- overflow: hidden;
4891
- text-overflow: ellipsis;
4892
- font: var(--kds-font-base-subtext-small);
4893
- }
4894
- }
4895
- & .delete-column-button[data-v-08a86b18] {
4896
- display: flex;
4897
- align-items: center;
4898
- width: var(--kds-dimension-component-width-2x);
4899
- }
4900
- & .resize-handle-area {
4901
- &[data-v-08a86b18] {
4902
- position: absolute;
4903
-
4904
- /* resize handle should range into top border */
4905
- top: calc(-1 * var(--kds-core-border-width-xs));
4906
-
4907
- /* resize handle should be at the very right of the header cell, but not range into the next cell, which is
4908
- why we need to remove half of the .resize-handles' border */
4909
- right: calc(
4910
- -1 *
4911
- (
4912
- var(--kds-spacing-container-0-25x) -
4913
- var(--kds-core-border-width-l) / 2
4914
- )
4915
- );
4916
-
4917
- /* otherwise the handle will be behind rows when virtual scrolling */
4918
- z-index: var(--z-index-column-resize-drag-handle);
4919
- display: flex;
4920
- justify-content: center;
4921
- width: 0;
4922
- height: 100%;
4923
- padding-inline: var(--kds-spacing-container-0-25x);
4924
- cursor: col-resize;
4925
- opacity: 0;
4926
- }
4927
- & .resize-handle[data-v-08a86b18] {
4928
- border-right: var(--kds-border-resize-handle-hover);
4929
- border-radius: var(--kds-border-radius-container-0-25x);
4930
- }
4931
- &.hover[data-v-08a86b18] {
4932
- opacity: 1;
4933
- }
4934
- &.drag[data-v-08a86b18] {
4935
- opacity: 1;
4936
- }
4937
- }
4938
- }
4939
- &.new-column-head[data-v-08a86b18] {
4933
+ &.new-column-head[data-v-e7068bdf] {
4940
4934
  display: flex;
4941
4935
  flex-direction: column;
4942
4936
  justify-content: center;
4943
4937
  padding: var(--kds-spacing-container-0-5x);
4944
4938
  }
4945
4939
  }
4946
- &[data-v-08a86b18]:hover {
4940
+ &[data-v-e7068bdf]:hover {
4947
4941
  outline: none;
4948
4942
  }
4949
4943
  }
4950
- &.sub-menu-active tr[data-v-08a86b18] {
4944
+ &.sub-menu-active tr[data-v-e7068bdf] {
4951
4945
  padding-right: var(--kds-dimension-component-width-2x);
4952
4946
  }
4953
4947
  }
4954
4948
  .header-selection-overlay {
4955
- &[data-v-08a86b18] {
4949
+ &[data-v-e7068bdf] {
4956
4950
  position: absolute;
4957
4951
  top: 0;
4958
4952
  height: 100%;
4959
4953
  pointer-events: none;
4960
4954
  border: var(--kds-border-action-selected-accent);
4961
4955
  }
4962
- &.header-focused[data-v-08a86b18] {
4956
+ &.header-focused[data-v-e7068bdf] {
4963
4957
  border: var(--kds-border-action-focused);
4964
4958
  }
4965
4959
  }
@@ -5012,7 +5006,7 @@ thead {
5012
5006
  }
5013
5007
 
5014
5008
  .data-cell {
5015
- &[data-v-698a5d81] {
5009
+ &[data-v-2bf6d6ac] {
5016
5010
  display: flex;
5017
5011
  font: var(--kds-font-base-interactive-small);
5018
5012
  color: var(--kds-color-text-and-icon-neutral);
@@ -5020,10 +5014,10 @@ thead {
5020
5014
  user-select: none;
5021
5015
  background-clip: border-box;
5022
5016
  }
5023
- &.in-cell-selection[data-v-698a5d81] {
5017
+ &.in-cell-selection[data-v-2bf6d6ac] {
5024
5018
  background-color: var(--kds-color-focus-background);
5025
5019
  }
5026
- &.colored-cell[data-v-698a5d81] {
5020
+ &.colored-cell[data-v-2bf6d6ac] {
5027
5021
  /* stylelint-disable-next-line csstools/value-no-unknown-custom-properties -- runtime variable set via inline :style */
5028
5022
  background-image: linear-gradient(
5029
5023
  90deg,
@@ -5033,51 +5027,52 @@ thead {
5033
5027
  background-repeat: no-repeat;
5034
5028
  background-size: var(--kds-spacing-container-0-25x);
5035
5029
  }
5036
- &.inline-block span[data-v-698a5d81] {
5030
+ &.inline-block span[data-v-2bf6d6ac] {
5037
5031
  display: inline-block;
5038
5032
  }
5039
- & .cell-content[data-v-698a5d81] {
5033
+ & .cell-content[data-v-2bf6d6ac] {
5040
5034
  display: flex;
5041
5035
  gap: var(--kds-spacing-container-0-25x);
5042
5036
  align-self: flex-start;
5043
5037
  justify-content: space-between;
5044
5038
  width: 100%;
5045
5039
  }
5046
- & .cell-content .cell-text[data-v-698a5d81] {
5040
+ & .cell-content .cell-text[data-v-2bf6d6ac] {
5047
5041
  flex: 0 1 auto;
5048
5042
  min-width: 0;
5049
5043
  overflow: hidden;
5050
5044
  text-overflow: ellipsis;
5045
+ white-space: pre;
5051
5046
  }
5052
5047
  }
5053
5048
 
5054
- tr[data-v-0ad921a2] {
5049
+ tr[data-v-5dbf98c3] {
5055
5050
  display: flex;
5056
5051
  }
5057
5052
  tr.row {
5058
- &[data-v-0ad921a2] {
5053
+ &[data-v-5dbf98c3] {
5059
5054
  border-bottom: var(--kds-border-base-subtle);
5060
5055
  }
5061
5056
  & td {
5062
- &[data-v-0ad921a2] {
5057
+ &[data-v-5dbf98c3] {
5063
5058
  padding: 0;
5064
5059
  overflow: hidden;
5065
5060
  text-overflow: ellipsis;
5066
5061
  }
5067
5062
  &.select-cell {
5068
- &[data-v-0ad921a2] {
5063
+ &[data-v-5dbf98c3] {
5069
5064
  display: flex;
5070
5065
  justify-content: center;
5071
5066
  width: var(--kds-dimension-component-width-2x);
5072
5067
  min-width: var(--kds-dimension-component-width-2x);
5073
5068
  }
5074
- & .select-checkbox[data-v-0ad921a2] {
5069
+ & .select-checkbox[data-v-5dbf98c3] {
5075
5070
  /* With this added padding the checkbox appears centered initially */
5076
5071
  padding: var(--kds-spacing-container-0-10x);
5077
5072
  }
5078
5073
  }
5079
5074
  &.deletion-cell {
5080
- &[data-v-0ad921a2] {
5075
+ &[data-v-5dbf98c3] {
5081
5076
  display: flex;
5082
5077
  align-items: center;
5083
5078
  justify-content: center;
@@ -5085,11 +5080,11 @@ tr.row {
5085
5080
  min-width: var(--kds-dimension-component-width-2x);
5086
5081
  opacity: 0;
5087
5082
  }
5088
- &[data-v-0ad921a2]:focus-within {
5083
+ &[data-v-5dbf98c3]:focus-within {
5089
5084
  opacity: 1;
5090
5085
  }
5091
5086
  }
5092
- &.action[data-v-0ad921a2] {
5087
+ &.action[data-v-5dbf98c3] {
5093
5088
  display: flex;
5094
5089
  align-items: center;
5095
5090
  justify-content: center;
@@ -5098,19 +5093,19 @@ tr.row {
5098
5093
  }
5099
5094
  }
5100
5095
  &:hover {
5101
- &[data-v-0ad921a2] {
5096
+ &[data-v-5dbf98c3] {
5102
5097
  outline: none;
5103
5098
  background-color: var(--kds-color-background-neutral-hover);
5104
5099
  }
5105
- & .deletion-cell[data-v-0ad921a2] {
5100
+ & .deletion-cell[data-v-5dbf98c3] {
5106
5101
  opacity: 1;
5107
5102
  }
5108
5103
  }
5109
- & a[data-v-0ad921a2] {
5104
+ & a[data-v-5dbf98c3] {
5110
5105
  outline: none;
5111
5106
  }
5112
5107
  }
5113
- .row-drag-handle[data-v-0ad921a2] {
5108
+ .row-drag-handle[data-v-5dbf98c3] {
5114
5109
  position: relative;
5115
5110
  bottom: var(--kds-spacing-container-0-37x);
5116
5111
  height: var(--kds-spacing-container-0-37x);
@@ -5120,18 +5115,18 @@ tr.row {
5120
5115
  }
5121
5116
 
5122
5117
  .overlay {
5123
- &[data-v-f7862e17] {
5118
+ &[data-v-4eeb1626] {
5124
5119
  position: absolute;
5125
5120
  z-index: var(--z-index-cell-selection-overlay);
5126
5121
  pointer-events: none;
5127
5122
  border: var(--kds-border-action-selected-accent);
5128
5123
  }
5129
- &.virtual-focus[data-v-f7862e17] {
5124
+ &.virtual-focus[data-v-4eeb1626] {
5130
5125
  border: var(--kds-border-action-focused);
5131
5126
  }
5132
5127
  }
5133
5128
 
5134
- .wrapper[data-v-829ae68c] {
5129
+ .wrapper[data-v-bac906a7] {
5135
5130
  display: flex;
5136
5131
  flex-direction: column;
5137
5132
  width: 100%;
@@ -5141,7 +5136,7 @@ tr.row {
5141
5136
  }
5142
5137
  }
5143
5138
  table {
5144
- &[data-v-829ae68c] {
5139
+ &[data-v-bac906a7] {
5145
5140
  position: relative;
5146
5141
  display: flex;
5147
5142
  flex-grow: 1;
@@ -5149,15 +5144,15 @@ table {
5149
5144
  width: 100%;
5150
5145
  min-height: 0;
5151
5146
  }
5152
- &[data-v-829ae68c]:focus {
5147
+ &[data-v-bac906a7]:focus {
5153
5148
  outline: none;
5154
5149
  }
5155
- & .new-row-footer[data-v-829ae68c] {
5150
+ & .new-row-footer[data-v-bac906a7] {
5156
5151
  width: 100%;
5157
5152
  }
5158
5153
  }
5159
5154
 
5160
- .table-column-size-calculation[data-v-ea7bec0f] {
5155
+ .table-column-size-calculation[data-v-38696592] {
5161
5156
  position: absolute;
5162
5157
  top: -9999px;
5163
5158
  left: -9999px;