@knime/kds-table 0.2.2 → 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 (101) hide show
  1. package/CHANGELOG.md +10 -0
  2. package/dist/index.css +173 -167
  3. package/dist/index.js +921 -1565
  4. package/dist/index.js.map +1 -1
  5. package/dist/src/components/TableCore.vue.d.ts +5 -3
  6. package/dist/src/components/TableCore.vue.d.ts.map +1 -1
  7. package/dist/src/components/TableCoreVirtual.vue.d.ts +1 -1
  8. package/dist/src/components/TableCoreVirtual.vue.d.ts.map +1 -1
  9. package/dist/src/components/TableUI.vue.d.ts +1090 -1660
  10. package/dist/src/components/TableUI.vue.d.ts.map +1 -1
  11. package/dist/src/components/TableUIWithAutoSizeCalculation.vue.d.ts +2084 -8120
  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/useDataValueViews.d.ts +2 -2
  16. package/dist/src/components/composables/useDataValueViews.d.ts.map +1 -1
  17. package/dist/src/components/composables/useHeaderMenuItems.d.ts +4 -3
  18. package/dist/src/components/composables/useHeaderMenuItems.d.ts.map +1 -1
  19. package/dist/src/components/control/PageControls.vue.d.ts +29 -7
  20. package/dist/src/components/control/PageControls.vue.d.ts.map +1 -1
  21. package/dist/src/components/control/TableActionBar.vue.d.ts +24 -27
  22. package/dist/src/components/control/TableActionBar.vue.d.ts.map +1 -1
  23. package/dist/src/components/control/actionbar/FilterControl.vue.d.ts +12 -12
  24. package/dist/src/components/control/actionbar/FilterControl.vue.d.ts.map +1 -1
  25. package/dist/src/components/control/actionbar/FilterControlBody.vue.d.ts +5 -5
  26. package/dist/src/components/control/actionbar/FilterControlBody.vue.d.ts.map +1 -1
  27. package/dist/src/components/control/actionbar/SortControl.vue.d.ts +4 -4
  28. package/dist/src/components/control/actionbar/SortControl.vue.d.ts.map +1 -1
  29. package/dist/src/components/control/actionbar/filterConfigActive.d.ts +5 -5
  30. package/dist/src/components/control/actionbar/filterConfigActive.d.ts.map +1 -1
  31. package/dist/src/components/layout/Cell.vue.d.ts +0 -2
  32. package/dist/src/components/layout/Cell.vue.d.ts.map +1 -1
  33. package/dist/src/components/layout/CellProps.d.ts +3 -5
  34. package/dist/src/components/layout/CellProps.d.ts.map +1 -1
  35. package/dist/src/components/layout/CellRenderer.vue.d.ts.map +1 -1
  36. package/dist/src/components/layout/CellRendererProps.d.ts +0 -1
  37. package/dist/src/components/layout/CellRendererProps.d.ts.map +1 -1
  38. package/dist/src/components/layout/Header.vue.d.ts +194 -412
  39. package/dist/src/components/layout/Header.vue.d.ts.map +1 -1
  40. package/dist/src/components/layout/HeaderCell.vue.d.ts +72 -0
  41. package/dist/src/components/layout/HeaderCell.vue.d.ts.map +1 -0
  42. package/dist/src/components/layout/Row.vue.d.ts +4 -2
  43. package/dist/src/components/layout/Row.vue.d.ts.map +1 -1
  44. package/dist/src/components/ui/CellSelectionOverlay.vue.d.ts.map +1 -1
  45. package/dist/src/components/ui/CellSelectionOverlayProps.d.ts +1 -1
  46. package/dist/src/components/ui/CellSelectionOverlayProps.d.ts.map +1 -1
  47. package/dist/src/components/ui/EmptyRow.vue.d.ts +1 -1
  48. package/dist/src/components/ui/EmptyRow.vue.d.ts.map +1 -1
  49. package/dist/src/config/table.config.d.ts +11 -21
  50. package/dist/src/config/table.config.d.ts.map +1 -1
  51. package/dist/src/constants.d.ts.map +1 -0
  52. package/dist/src/index.d.ts +14 -17
  53. package/dist/src/index.d.ts.map +1 -1
  54. package/dist/src/types/ActionConfig.d.ts +16 -0
  55. package/dist/src/types/ActionConfig.d.ts.map +1 -0
  56. package/dist/src/types/ColumnConfig.d.ts +44 -0
  57. package/dist/src/types/ColumnConfig.d.ts.map +1 -0
  58. package/dist/src/types/ColumnState.d.ts +17 -0
  59. package/dist/src/types/ColumnState.d.ts.map +1 -0
  60. package/dist/src/types/FilterConfig.d.ts +10 -3
  61. package/dist/src/types/FilterConfig.d.ts.map +1 -1
  62. package/dist/src/types/PageConfig.d.ts +13 -0
  63. package/dist/src/types/PageConfig.d.ts.map +1 -0
  64. package/dist/src/types/RowConfig.d.ts +15 -0
  65. package/dist/src/types/RowConfig.d.ts.map +1 -0
  66. package/dist/src/types/SubMenuConfig.d.ts +11 -0
  67. package/dist/src/types/SubMenuConfig.d.ts.map +1 -0
  68. package/dist/src/types/TableConfig.d.ts +35 -38
  69. package/dist/src/types/TableConfig.d.ts.map +1 -1
  70. package/dist/src/{util → utils}/index.d.ts +1 -1
  71. package/dist/src/utils/index.d.ts.map +1 -0
  72. package/package.json +1 -1
  73. package/dist/src/config/time.config.d.ts +0 -53
  74. package/dist/src/config/time.config.d.ts.map +0 -1
  75. package/dist/src/types/DataConfig.d.ts +0 -40
  76. package/dist/src/types/DataConfig.d.ts.map +0 -1
  77. package/dist/src/util/constants.d.ts.map +0 -1
  78. package/dist/src/util/getColumnDomains.d.ts +0 -7
  79. package/dist/src/util/getColumnDomains.d.ts.map +0 -1
  80. package/dist/src/util/getFilterConfigs.d.ts +0 -11
  81. package/dist/src/util/getFilterConfigs.d.ts.map +0 -1
  82. package/dist/src/util/getNextPage.d.ts +0 -2
  83. package/dist/src/util/getNextPage.d.ts.map +0 -1
  84. package/dist/src/util/getWrappedArondNextElement.d.ts +0 -6
  85. package/dist/src/util/getWrappedArondNextElement.d.ts.map +0 -1
  86. package/dist/src/util/index.d.ts.map +0 -1
  87. package/dist/src/util/isSinglePage.d.ts +0 -3
  88. package/dist/src/util/isSinglePage.d.ts.map +0 -1
  89. package/dist/src/util/processSelection.d.ts +0 -2
  90. package/dist/src/util/processSelection.d.ts.map +0 -1
  91. package/dist/src/util/transform/filter.d.ts +0 -8
  92. package/dist/src/util/transform/filter.d.ts.map +0 -1
  93. package/dist/src/util/transform/group.d.ts +0 -7
  94. package/dist/src/util/transform/group.d.ts.map +0 -1
  95. package/dist/src/util/transform/paginate.d.ts +0 -4
  96. package/dist/src/util/transform/paginate.d.ts.map +0 -1
  97. package/dist/src/util/transform/search.d.ts +0 -3
  98. package/dist/src/util/transform/search.d.ts.map +0 -1
  99. package/dist/src/util/transform/sort.d.ts +0 -2
  100. package/dist/src/util/transform/sort.d.ts.map +0 -1
  101. /package/dist/src/{util/constants.d.ts → constants.d.ts} +0 -0
package/CHANGELOG.md CHANGED
@@ -1,5 +1,15 @@
1
1
  # @knime/kds-table
2
2
 
3
+ ## 0.3.0
4
+
5
+ ### Minor Changes
6
+
7
+ - 4c26c8e: Rework table properties
8
+
9
+ ### Patch Changes
10
+
11
+ - d5af91b: Preserve leading, trailing, and duplicate whitespace in table cell renderer
12
+
3
13
  ## 0.2.2
4
14
 
5
15
  ### Patch Changes
package/dist/index.css CHANGED
@@ -4554,26 +4554,26 @@ td {
4554
4554
  }
4555
4555
 
4556
4556
  tr {
4557
- &[data-v-b1ac99a6] {
4557
+ &[data-v-640baae1] {
4558
4558
  display: flex;
4559
4559
  border-bottom: var(--kds-border-base-subtle);
4560
4560
  }
4561
4561
  & td {
4562
- &.deletion-cell-spacer[data-v-b1ac99a6] {
4562
+ &.deletion-cell-spacer[data-v-640baae1] {
4563
4563
  width: var(--kds-dimension-component-width-2x);
4564
4564
  min-width: var(--kds-dimension-component-width-2x);
4565
4565
  }
4566
- & .skeleton[data-v-b1ac99a6] {
4566
+ & .skeleton[data-v-640baae1] {
4567
4567
  padding: var(--kds-spacing-container-0-12x) 0;
4568
4568
  }
4569
4569
  &.select-cell {
4570
- &[data-v-b1ac99a6] {
4570
+ &[data-v-640baae1] {
4571
4571
  display: flex;
4572
4572
  justify-content: center;
4573
4573
  width: var(--kds-dimension-component-width-2x);
4574
4574
  min-width: var(--kds-dimension-component-width-2x);
4575
4575
  }
4576
- & .select-checkbox[data-v-b1ac99a6] {
4576
+ & .select-checkbox[data-v-640baae1] {
4577
4577
  /* With this added padding the checkbox appears centered initially */
4578
4578
  padding: var(--kds-spacing-container-0-10x);
4579
4579
  }
@@ -4598,13 +4598,13 @@ tr {
4598
4598
  }
4599
4599
 
4600
4600
  .container {
4601
- &[data-v-fb9f9377] {
4601
+ &[data-v-a66c9aef] {
4602
4602
  flex: 1 1 0;
4603
4603
  }
4604
- &.fit-content[data-v-fb9f9377] {
4604
+ &.fit-content[data-v-a66c9aef] {
4605
4605
  flex: 0 0 auto;
4606
4606
  }
4607
- & .header-container[data-v-fb9f9377] {
4607
+ & .header-container[data-v-a66c9aef] {
4608
4608
  position: sticky;
4609
4609
  top: 0;
4610
4610
  z-index: var(--z-index-sticky-header);
@@ -4612,7 +4612,7 @@ tr {
4612
4612
  flex: 1;
4613
4613
  flex-direction: column;
4614
4614
  }
4615
- & tbody[data-v-fb9f9377] {
4615
+ & tbody[data-v-a66c9aef] {
4616
4616
  /**
4617
4617
  * Necessary for the absolutely placed elements inside of it (e.g. cell selection overlay)
4618
4618
  * to scroll with the body.
@@ -4631,11 +4631,11 @@ tr {
4631
4631
  }
4632
4632
  }
4633
4633
  .resize-scroll-spacer {
4634
- &[data-v-fb9f9377] {
4634
+ &[data-v-a66c9aef] {
4635
4635
  /* Only animate when collapsing back after a resize ends; while resizing the width
4636
4636
  tracks the growing column and must update instantly. */
4637
4637
  }
4638
- &.collapsing[data-v-fb9f9377] {
4638
+ &.collapsing[data-v-a66c9aef] {
4639
4639
  transition: width 0.2s ease;
4640
4640
  }
4641
4641
  }
@@ -4674,37 +4674,37 @@ tr {
4674
4674
  }
4675
4675
 
4676
4676
  .page-controls {
4677
- &[data-v-df9e464a] {
4677
+ &[data-v-10c111ef] {
4678
4678
  display: flex;
4679
4679
  align-items: center;
4680
4680
  justify-content: space-between;
4681
4681
  padding: var(--kds-spacing-container-0-25x) var(--kds-spacing-container-0-75x);
4682
4682
  }
4683
- & .page-row-range[data-v-df9e464a],
4684
- & .page-size-menu[data-v-df9e464a] {
4683
+ & .page-row-range[data-v-10c111ef],
4684
+ & .page-size-menu[data-v-10c111ef] {
4685
4685
  flex-grow: 1;
4686
4686
  flex-basis: 0;
4687
4687
  }
4688
- .page-size-menu[data-v-df9e464a] {
4688
+ .page-size-menu[data-v-10c111ef] {
4689
4689
  display: flex;
4690
4690
  justify-content: flex-end;
4691
4691
  }
4692
4692
  }
4693
4693
 
4694
- .rows[data-v-9653892f] {
4694
+ .rows[data-v-bd4cc5ec] {
4695
4695
  display: grid;
4696
4696
  grid-template-columns: auto auto auto auto;
4697
4697
  gap: var(--kds-spacing-container-0-5x) var(--kds-spacing-container-0-5x);
4698
4698
  }
4699
- .row[data-v-9653892f] {
4699
+ .row[data-v-bd4cc5ec] {
4700
4700
  display: contents;
4701
4701
  }
4702
- .column[data-v-9653892f],
4703
- .mode[data-v-9653892f],
4704
- .value[data-v-9653892f] {
4702
+ .column[data-v-bd4cc5ec],
4703
+ .mode[data-v-bd4cc5ec],
4704
+ .value[data-v-bd4cc5ec] {
4705
4705
  min-width: 0;
4706
4706
  }
4707
- .add[data-v-9653892f] {
4707
+ .add[data-v-bd4cc5ec] {
4708
4708
  margin-top: var(--kds-spacing-container-0-5x);
4709
4709
  }
4710
4710
 
@@ -4729,28 +4729,28 @@ tr {
4729
4729
  }
4730
4730
  }
4731
4731
 
4732
- .filter-popover[data-v-178504c8] {
4732
+ .filter-popover[data-v-3cd94230] {
4733
4733
  position-try-order: most-inline-size;
4734
4734
  }
4735
4735
 
4736
- .sort-popover[data-v-80bf221a] {
4736
+ .sort-popover[data-v-ad5ee20c] {
4737
4737
  position-try-order: most-inline-size;
4738
4738
  }
4739
4739
  .popover-container {
4740
4740
  .body {
4741
- &[data-v-80bf221a] {
4741
+ &[data-v-ad5ee20c] {
4742
4742
  display: grid;
4743
4743
  grid-template-columns: auto auto;
4744
4744
  gap: var(--kds-spacing-container-0-5x);
4745
4745
  }
4746
- &[data-v-80bf221a] > * {
4746
+ &[data-v-ad5ee20c] > * {
4747
4747
  min-width: 0;
4748
4748
  }
4749
4749
  }
4750
4750
  }
4751
4751
 
4752
4752
  .kds-table-action-bar {
4753
- &[data-v-8cfb3c41] {
4753
+ &[data-v-4a59722f] {
4754
4754
  display: flex;
4755
4755
  align-items: center;
4756
4756
  justify-content: space-between;
@@ -4759,28 +4759,28 @@ tr {
4759
4759
  padding-left: var(--kds-spacing-container-0-5x);
4760
4760
  border-top: var(--kds-border-base-subtle);
4761
4761
  }
4762
- &.temporary-view[data-v-8cfb3c41] {
4762
+ &.temporary-view[data-v-4a59722f] {
4763
4763
  background-color: var(--kds-color-background-static-info-muted);
4764
4764
  }
4765
4765
  & .left {
4766
- &[data-v-8cfb3c41] {
4766
+ &[data-v-4a59722f] {
4767
4767
  display: flex;
4768
4768
  flex: 1 0 0;
4769
4769
  gap: var(--kds-spacing-container-0-5x);
4770
4770
  align-items: center;
4771
4771
  padding: var(--kds-spacing-container-0-12x) 0;
4772
4772
  }
4773
- & .title[data-v-8cfb3c41] {
4773
+ & .title[data-v-4a59722f] {
4774
4774
  font: var(--kds-font-base-title-medium-strong);
4775
4775
  color: var(--kds-color-text-and-icon-neutral);
4776
4776
  }
4777
- & .dimension[data-v-8cfb3c41] {
4777
+ & .dimension[data-v-4a59722f] {
4778
4778
  font: var(--kds-font-base-title-small);
4779
4779
  color: var(--kds-color-text-and-icon-muted);
4780
4780
  white-space: pre;
4781
4781
  }
4782
4782
  }
4783
- & .right[data-v-8cfb3c41] {
4783
+ & .right[data-v-4a59722f] {
4784
4784
  display: flex;
4785
4785
  gap: var(--kds-spacing-container-0-25x);
4786
4786
  align-items: center;
@@ -4789,14 +4789,119 @@ tr {
4789
4789
  }
4790
4790
  }
4791
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
+
4792
4897
  thead {
4793
- &[data-v-3b63e327] {
4898
+ &[data-v-e7068bdf] {
4794
4899
  background-color: var(--kds-color-surface-default);
4795
4900
  border-top: var(--kds-border-base-subtle);
4796
4901
  border-bottom: var(--kds-border-base-subtle);
4797
4902
  }
4798
4903
  & tr {
4799
- &[data-v-3b63e327] {
4904
+ &[data-v-e7068bdf] {
4800
4905
  display: flex;
4801
4906
  height: 100%;
4802
4907
  transition:
@@ -4804,151 +4909,51 @@ thead {
4804
4909
  box-shadow 0.15s;
4805
4910
  }
4806
4911
  & th {
4807
- &[data-v-3b63e327] {
4912
+ &[data-v-e7068bdf] {
4808
4913
  min-height: var(--kds-dimension-component-height-2-5x);
4809
4914
  max-height: var(--kds-dimension-component-height-5x);
4810
4915
  text-align: left;
4811
4916
  white-space: nowrap;
4812
4917
  }
4813
- &.deletion-cell-spacer[data-v-3b63e327] {
4918
+ &.deletion-cell-spacer[data-v-e7068bdf] {
4814
4919
  width: var(--kds-dimension-component-width-2x);
4815
4920
  }
4816
- &.header-focused[data-v-3b63e327] {
4817
- background-color: var(--kds-color-focus-background);
4818
- }
4819
4921
  &.select-cell {
4820
- &[data-v-3b63e327] {
4922
+ &[data-v-e7068bdf] {
4821
4923
  display: flex;
4822
4924
  justify-content: center;
4823
4925
  width: var(--kds-dimension-component-width-2x);
4824
4926
  padding: var(--kds-spacing-container-0-75x);
4825
4927
  }
4826
- & .select-checkbox[data-v-3b63e327] {
4928
+ & .select-checkbox[data-v-e7068bdf] {
4827
4929
  /* With this added padding the checkbox appears centered initially */
4828
4930
  padding: var(--kds-spacing-container-0-10x);
4829
4931
  }
4830
4932
  }
4831
- &.colored-header[data-v-3b63e327] {
4832
- /* stylelint-disable-next-line csstools/value-no-unknown-custom-properties -- runtime variable set via inline :style */
4833
- background-image: linear-gradient(
4834
- 90deg,
4835
- var(--data-cell-color),
4836
- var(--data-cell-color)
4837
- );
4838
- background-repeat: no-repeat;
4839
- background-size: var(--kds-spacing-container-0-25x);
4840
- }
4841
- &.column-header {
4842
- &[data-v-3b63e327] {
4843
- /* Need to set position relative here to position the resize handle absolutely within the header cell */
4844
- position: relative;
4845
- display: flex;
4846
- align-items: center;
4847
- justify-content: space-between;
4848
- padding-right: var(--kds-spacing-container-0-37x);
4849
- padding-left: var(--kds-spacing-container-0-5x);
4850
- color: var(--kds-color-text-and-icon-neutral);
4851
- }
4852
- & .column-header-content {
4853
- &[data-v-3b63e327] {
4854
- display: flex;
4855
- flex-direction: column;
4856
- justify-content: center;
4857
- width: 100%;
4858
- }
4859
- &[data-v-3b63e327]:focus {
4860
- outline: none;
4861
- }
4862
- &.with-button-in-header[data-v-3b63e327] {
4863
- width: calc(
4864
- 100% - var(--kds-dimension-component-width-1-5x)
4865
- ); /* due to .sub-menu-select-header / .delete-column-button: width */
4866
- }
4867
- & .main-header {
4868
- &[data-v-3b63e327] {
4869
- display: flex;
4870
- }
4871
- & .header-text-container[data-v-3b63e327] {
4872
- max-width: 100%;
4873
- overflow: hidden;
4874
- text-overflow: ellipsis;
4875
- font: var(--kds-font-base-title-medium-strong);
4876
- }
4877
- }
4878
- & .sub-header-text-container[data-v-3b63e327] {
4879
- overflow: hidden;
4880
- text-overflow: ellipsis;
4881
- font: var(--kds-font-base-subtext-small);
4882
- }
4883
- }
4884
- & .delete-column-button[data-v-3b63e327] {
4885
- display: flex;
4886
- align-items: center;
4887
- width: var(--kds-dimension-component-width-2x);
4888
- }
4889
- & .resize-handle-area {
4890
- &[data-v-3b63e327] {
4891
- position: absolute;
4892
-
4893
- /* resize handle should range into top border */
4894
- top: calc(-1 * var(--kds-core-border-width-xs));
4895
-
4896
- /* resize handle should be at the very right of the header cell, but not range into the next cell, which is
4897
- why we need to remove half of the .resize-handles' border */
4898
- right: calc(
4899
- -1 *
4900
- (
4901
- var(--kds-spacing-container-0-25x) -
4902
- var(--kds-core-border-width-l) / 2
4903
- )
4904
- );
4905
-
4906
- /* otherwise the handle will be behind rows when virtual scrolling */
4907
- z-index: var(--z-index-column-resize-drag-handle);
4908
- display: flex;
4909
- justify-content: center;
4910
- width: 0;
4911
- height: 100%;
4912
- padding-inline: var(--kds-spacing-container-0-25x);
4913
- cursor: col-resize;
4914
- opacity: 0;
4915
- }
4916
- & .resize-handle[data-v-3b63e327] {
4917
- border-right: var(--kds-border-resize-handle-hover);
4918
- border-radius: var(--kds-border-radius-container-0-25x);
4919
- }
4920
- &.hover[data-v-3b63e327] {
4921
- opacity: 1;
4922
- }
4923
- &.drag[data-v-3b63e327] {
4924
- opacity: 1;
4925
- }
4926
- }
4927
- }
4928
- &.new-column-head[data-v-3b63e327] {
4933
+ &.new-column-head[data-v-e7068bdf] {
4929
4934
  display: flex;
4930
4935
  flex-direction: column;
4931
4936
  justify-content: center;
4932
4937
  padding: var(--kds-spacing-container-0-5x);
4933
4938
  }
4934
4939
  }
4935
- &[data-v-3b63e327]:hover {
4940
+ &[data-v-e7068bdf]:hover {
4936
4941
  outline: none;
4937
4942
  }
4938
4943
  }
4939
- &.sub-menu-active tr[data-v-3b63e327] {
4944
+ &.sub-menu-active tr[data-v-e7068bdf] {
4940
4945
  padding-right: var(--kds-dimension-component-width-2x);
4941
4946
  }
4942
4947
  }
4943
4948
  .header-selection-overlay {
4944
- &[data-v-3b63e327] {
4949
+ &[data-v-e7068bdf] {
4945
4950
  position: absolute;
4946
4951
  top: 0;
4947
4952
  height: 100%;
4948
4953
  pointer-events: none;
4949
4954
  border: var(--kds-border-action-selected-accent);
4950
4955
  }
4951
- &.header-focused[data-v-3b63e327] {
4956
+ &.header-focused[data-v-e7068bdf] {
4952
4957
  border: var(--kds-border-action-focused);
4953
4958
  }
4954
4959
  }
@@ -5001,7 +5006,7 @@ thead {
5001
5006
  }
5002
5007
 
5003
5008
  .data-cell {
5004
- &[data-v-698a5d81] {
5009
+ &[data-v-2bf6d6ac] {
5005
5010
  display: flex;
5006
5011
  font: var(--kds-font-base-interactive-small);
5007
5012
  color: var(--kds-color-text-and-icon-neutral);
@@ -5009,10 +5014,10 @@ thead {
5009
5014
  user-select: none;
5010
5015
  background-clip: border-box;
5011
5016
  }
5012
- &.in-cell-selection[data-v-698a5d81] {
5017
+ &.in-cell-selection[data-v-2bf6d6ac] {
5013
5018
  background-color: var(--kds-color-focus-background);
5014
5019
  }
5015
- &.colored-cell[data-v-698a5d81] {
5020
+ &.colored-cell[data-v-2bf6d6ac] {
5016
5021
  /* stylelint-disable-next-line csstools/value-no-unknown-custom-properties -- runtime variable set via inline :style */
5017
5022
  background-image: linear-gradient(
5018
5023
  90deg,
@@ -5022,51 +5027,52 @@ thead {
5022
5027
  background-repeat: no-repeat;
5023
5028
  background-size: var(--kds-spacing-container-0-25x);
5024
5029
  }
5025
- &.inline-block span[data-v-698a5d81] {
5030
+ &.inline-block span[data-v-2bf6d6ac] {
5026
5031
  display: inline-block;
5027
5032
  }
5028
- & .cell-content[data-v-698a5d81] {
5033
+ & .cell-content[data-v-2bf6d6ac] {
5029
5034
  display: flex;
5030
5035
  gap: var(--kds-spacing-container-0-25x);
5031
5036
  align-self: flex-start;
5032
5037
  justify-content: space-between;
5033
5038
  width: 100%;
5034
5039
  }
5035
- & .cell-content .cell-text[data-v-698a5d81] {
5040
+ & .cell-content .cell-text[data-v-2bf6d6ac] {
5036
5041
  flex: 0 1 auto;
5037
5042
  min-width: 0;
5038
5043
  overflow: hidden;
5039
5044
  text-overflow: ellipsis;
5045
+ white-space: pre;
5040
5046
  }
5041
5047
  }
5042
5048
 
5043
- tr[data-v-0ad921a2] {
5049
+ tr[data-v-5dbf98c3] {
5044
5050
  display: flex;
5045
5051
  }
5046
5052
  tr.row {
5047
- &[data-v-0ad921a2] {
5053
+ &[data-v-5dbf98c3] {
5048
5054
  border-bottom: var(--kds-border-base-subtle);
5049
5055
  }
5050
5056
  & td {
5051
- &[data-v-0ad921a2] {
5057
+ &[data-v-5dbf98c3] {
5052
5058
  padding: 0;
5053
5059
  overflow: hidden;
5054
5060
  text-overflow: ellipsis;
5055
5061
  }
5056
5062
  &.select-cell {
5057
- &[data-v-0ad921a2] {
5063
+ &[data-v-5dbf98c3] {
5058
5064
  display: flex;
5059
5065
  justify-content: center;
5060
5066
  width: var(--kds-dimension-component-width-2x);
5061
5067
  min-width: var(--kds-dimension-component-width-2x);
5062
5068
  }
5063
- & .select-checkbox[data-v-0ad921a2] {
5069
+ & .select-checkbox[data-v-5dbf98c3] {
5064
5070
  /* With this added padding the checkbox appears centered initially */
5065
5071
  padding: var(--kds-spacing-container-0-10x);
5066
5072
  }
5067
5073
  }
5068
5074
  &.deletion-cell {
5069
- &[data-v-0ad921a2] {
5075
+ &[data-v-5dbf98c3] {
5070
5076
  display: flex;
5071
5077
  align-items: center;
5072
5078
  justify-content: center;
@@ -5074,11 +5080,11 @@ tr.row {
5074
5080
  min-width: var(--kds-dimension-component-width-2x);
5075
5081
  opacity: 0;
5076
5082
  }
5077
- &[data-v-0ad921a2]:focus-within {
5083
+ &[data-v-5dbf98c3]:focus-within {
5078
5084
  opacity: 1;
5079
5085
  }
5080
5086
  }
5081
- &.action[data-v-0ad921a2] {
5087
+ &.action[data-v-5dbf98c3] {
5082
5088
  display: flex;
5083
5089
  align-items: center;
5084
5090
  justify-content: center;
@@ -5087,19 +5093,19 @@ tr.row {
5087
5093
  }
5088
5094
  }
5089
5095
  &:hover {
5090
- &[data-v-0ad921a2] {
5096
+ &[data-v-5dbf98c3] {
5091
5097
  outline: none;
5092
5098
  background-color: var(--kds-color-background-neutral-hover);
5093
5099
  }
5094
- & .deletion-cell[data-v-0ad921a2] {
5100
+ & .deletion-cell[data-v-5dbf98c3] {
5095
5101
  opacity: 1;
5096
5102
  }
5097
5103
  }
5098
- & a[data-v-0ad921a2] {
5104
+ & a[data-v-5dbf98c3] {
5099
5105
  outline: none;
5100
5106
  }
5101
5107
  }
5102
- .row-drag-handle[data-v-0ad921a2] {
5108
+ .row-drag-handle[data-v-5dbf98c3] {
5103
5109
  position: relative;
5104
5110
  bottom: var(--kds-spacing-container-0-37x);
5105
5111
  height: var(--kds-spacing-container-0-37x);
@@ -5109,18 +5115,18 @@ tr.row {
5109
5115
  }
5110
5116
 
5111
5117
  .overlay {
5112
- &[data-v-f7862e17] {
5118
+ &[data-v-4eeb1626] {
5113
5119
  position: absolute;
5114
5120
  z-index: var(--z-index-cell-selection-overlay);
5115
5121
  pointer-events: none;
5116
5122
  border: var(--kds-border-action-selected-accent);
5117
5123
  }
5118
- &.virtual-focus[data-v-f7862e17] {
5124
+ &.virtual-focus[data-v-4eeb1626] {
5119
5125
  border: var(--kds-border-action-focused);
5120
5126
  }
5121
5127
  }
5122
5128
 
5123
- .wrapper[data-v-829ae68c] {
5129
+ .wrapper[data-v-bac906a7] {
5124
5130
  display: flex;
5125
5131
  flex-direction: column;
5126
5132
  width: 100%;
@@ -5130,7 +5136,7 @@ tr.row {
5130
5136
  }
5131
5137
  }
5132
5138
  table {
5133
- &[data-v-829ae68c] {
5139
+ &[data-v-bac906a7] {
5134
5140
  position: relative;
5135
5141
  display: flex;
5136
5142
  flex-grow: 1;
@@ -5138,15 +5144,15 @@ table {
5138
5144
  width: 100%;
5139
5145
  min-height: 0;
5140
5146
  }
5141
- &[data-v-829ae68c]:focus {
5147
+ &[data-v-bac906a7]:focus {
5142
5148
  outline: none;
5143
5149
  }
5144
- & .new-row-footer[data-v-829ae68c] {
5150
+ & .new-row-footer[data-v-bac906a7] {
5145
5151
  width: 100%;
5146
5152
  }
5147
5153
  }
5148
5154
 
5149
- .table-column-size-calculation[data-v-ea7bec0f] {
5155
+ .table-column-size-calculation[data-v-38696592] {
5150
5156
  position: absolute;
5151
5157
  top: -9999px;
5152
5158
  left: -9999px;