@backstage/ui 0.7.0-next.2 → 0.7.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 (114) hide show
  1. package/CHANGELOG.md +35 -0
  2. package/css/styles.css +393 -196
  3. package/dist/components/Avatar/Avatar.esm.js.map +1 -1
  4. package/dist/components/Box/Box.esm.js.map +1 -1
  5. package/dist/components/Box/Box.props.esm.js.map +1 -1
  6. package/dist/components/Button/Button.esm.js.map +1 -1
  7. package/dist/components/ButtonIcon/ButtonIcon.esm.js.map +1 -1
  8. package/dist/components/ButtonLink/ButtonLink.esm.js.map +1 -1
  9. package/dist/components/Card/Card.esm.js +4 -4
  10. package/dist/components/Card/Card.esm.js.map +1 -1
  11. package/dist/components/Checkbox/Checkbox.esm.js +9 -9
  12. package/dist/components/Checkbox/Checkbox.esm.js.map +1 -1
  13. package/dist/components/Collapsible/Collapsible.esm.js.map +1 -1
  14. package/dist/components/Container/Container.esm.js.map +1 -1
  15. package/dist/components/FieldError/FieldError.esm.js.map +1 -1
  16. package/dist/components/FieldLabel/FieldLabel.esm.js.map +1 -1
  17. package/dist/components/Flex/Flex.esm.js.map +1 -1
  18. package/dist/components/Flex/Flex.props.esm.js.map +1 -1
  19. package/dist/components/Grid/Grid.esm.js.map +1 -1
  20. package/dist/components/Grid/Grid.props.esm.js.map +1 -1
  21. package/dist/components/Header/Header.esm.js +1 -12
  22. package/dist/components/Header/Header.esm.js.map +1 -1
  23. package/dist/components/Header/HeaderToolbar.esm.js +5 -125
  24. package/dist/components/Header/HeaderToolbar.esm.js.map +1 -1
  25. package/dist/components/HeaderPage/HeaderPage.esm.js +21 -30
  26. package/dist/components/HeaderPage/HeaderPage.esm.js.map +1 -1
  27. package/dist/components/Icon/Icon.esm.js.map +1 -1
  28. package/dist/components/Icon/context.esm.js.map +1 -1
  29. package/dist/components/Icon/icons.esm.js +1 -1
  30. package/dist/components/Icon/icons.esm.js.map +1 -1
  31. package/dist/components/Icon/provider.esm.js.map +1 -1
  32. package/dist/components/Link/Link.esm.js +1 -13
  33. package/dist/components/Link/Link.esm.js.map +1 -1
  34. package/dist/components/Menu/Menu.esm.js +144 -202
  35. package/dist/components/Menu/Menu.esm.js.map +1 -1
  36. package/dist/components/RadioGroup/RadioGroup.esm.js.map +1 -1
  37. package/dist/components/ScrollArea/ScrollArea.esm.js.map +1 -1
  38. package/dist/components/SearchField/SearchField.esm.js +27 -4
  39. package/dist/components/SearchField/SearchField.esm.js.map +1 -1
  40. package/dist/components/Select/Select.esm.js +0 -1
  41. package/dist/components/Select/Select.esm.js.map +1 -1
  42. package/dist/components/Skeleton/Skeleton.esm.js.map +1 -1
  43. package/dist/components/Switch/Switch.esm.js.map +1 -1
  44. package/dist/components/Table/components/Cell.esm.js +30 -0
  45. package/dist/components/Table/components/Cell.esm.js.map +1 -0
  46. package/dist/components/Table/components/CellProfile.esm.js +41 -0
  47. package/dist/components/Table/components/CellProfile.esm.js.map +1 -0
  48. package/dist/components/Table/components/Column.esm.js +17 -0
  49. package/dist/components/Table/components/Column.esm.js.map +1 -0
  50. package/dist/components/Table/components/Row.esm.js +38 -0
  51. package/dist/components/Table/components/Row.esm.js.map +1 -0
  52. package/dist/components/Table/components/Table.esm.js +18 -0
  53. package/dist/components/Table/components/Table.esm.js.map +1 -0
  54. package/dist/components/Table/components/TableBody.esm.js +11 -0
  55. package/dist/components/Table/components/TableBody.esm.js.map +1 -0
  56. package/dist/components/Table/components/TableHeader.esm.js +20 -0
  57. package/dist/components/Table/components/TableHeader.esm.js.map +1 -0
  58. package/dist/components/Table/hooks/useTable.esm.js +116 -0
  59. package/dist/components/Table/hooks/useTable.esm.js.map +1 -0
  60. package/dist/components/TablePagination/TablePagination.esm.js +127 -0
  61. package/dist/components/TablePagination/TablePagination.esm.js.map +1 -0
  62. package/dist/components/Tabs/Tabs.esm.js.map +1 -1
  63. package/dist/components/Tabs/TabsIndicators.esm.js.map +1 -1
  64. package/dist/components/TagGroup/TagGroup.esm.js +62 -0
  65. package/dist/components/TagGroup/TagGroup.esm.js.map +1 -0
  66. package/dist/components/Text/Text.esm.js.map +1 -1
  67. package/dist/components/TextField/TextField.esm.js.map +1 -1
  68. package/dist/components/Tooltip/Tooltip.esm.js.map +1 -1
  69. package/dist/hooks/useBreakpoint.esm.js.map +1 -1
  70. package/dist/hooks/useIsomorphicLayoutEffect.esm.js.map +1 -1
  71. package/dist/hooks/useMediaQuery.esm.js.map +1 -1
  72. package/dist/hooks/useStyles.esm.js.map +1 -1
  73. package/dist/index.d.ts +289 -157
  74. package/dist/index.esm.js +12 -4
  75. package/dist/index.esm.js.map +1 -1
  76. package/dist/props/display.props.esm.js.map +1 -1
  77. package/dist/props/gap-props.esm.js.map +1 -1
  78. package/dist/props/height.props.esm.js.map +1 -1
  79. package/dist/props/margin.props.esm.js.map +1 -1
  80. package/dist/props/padding.props.esm.js.map +1 -1
  81. package/dist/props/position.props.esm.js.map +1 -1
  82. package/dist/props/prop-def.esm.js.map +1 -1
  83. package/dist/props/spacing.props.esm.js.map +1 -1
  84. package/dist/props/width.props.esm.js.map +1 -1
  85. package/dist/utils/componentDefinitions.esm.js +32 -22
  86. package/dist/utils/componentDefinitions.esm.js.map +1 -1
  87. package/dist/utils/extractProps.esm.js.map +1 -1
  88. package/dist/utils/isExternalLink.esm.js +16 -0
  89. package/dist/utils/isExternalLink.esm.js.map +1 -0
  90. package/package.json +3 -15
  91. package/dist/components/DataTable/DataTable.esm.js +0 -26
  92. package/dist/components/DataTable/DataTable.esm.js.map +0 -1
  93. package/dist/components/DataTable/Pagination/DataTablePagination.esm.js +0 -84
  94. package/dist/components/DataTable/Pagination/DataTablePagination.esm.js.map +0 -1
  95. package/dist/components/DataTable/Root/DataTableRoot.esm.js +0 -24
  96. package/dist/components/DataTable/Root/DataTableRoot.esm.js.map +0 -1
  97. package/dist/components/DataTable/Table/DataTableTable.esm.js +0 -64
  98. package/dist/components/DataTable/Table/DataTableTable.esm.js.map +0 -1
  99. package/dist/components/Menu/Combobox.esm.js +0 -211
  100. package/dist/components/Menu/Combobox.esm.js.map +0 -1
  101. package/dist/components/Select/Select.styles.css.esm.js +0 -7
  102. package/dist/components/Select/Select.styles.css.esm.js.map +0 -1
  103. package/dist/components/Table/Table.esm.js +0 -68
  104. package/dist/components/Table/Table.esm.js.map +0 -1
  105. package/dist/components/Table/TableCell/TableCell.esm.js +0 -13
  106. package/dist/components/Table/TableCell/TableCell.esm.js.map +0 -1
  107. package/dist/components/Table/TableCellLink/TableCellLink.esm.js +0 -28
  108. package/dist/components/Table/TableCellLink/TableCellLink.esm.js.map +0 -1
  109. package/dist/components/Table/TableCellProfile/TableCellProfile.esm.js +0 -40
  110. package/dist/components/Table/TableCellProfile/TableCellProfile.esm.js.map +0 -1
  111. package/dist/components/Table/TableCellText/TableCellText.esm.js +0 -27
  112. package/dist/components/Table/TableCellText/TableCellText.esm.js.map +0 -1
  113. package/dist/node_modules_dist/style-inject/dist/style-inject.es.esm.js +0 -29
  114. package/dist/node_modules_dist/style-inject/dist/style-inject.es.esm.js.map +0 -1
package/css/styles.css CHANGED
@@ -9182,7 +9182,7 @@
9182
9182
  --bui-animate-pulse: pulse 2s cubic-bezier(.4, 0, .6, 1) infinite;
9183
9183
  }
9184
9184
 
9185
- [data-theme="dark"] {
9185
+ [data-theme-mode="dark"] {
9186
9186
  --bui-gray-1: #191919;
9187
9187
  --bui-gray-2: #242424;
9188
9188
  --bui-gray-3: #373737;
@@ -9517,36 +9517,6 @@
9517
9517
  }
9518
9518
  }
9519
9519
 
9520
- .bui-DataTableRoot {
9521
- gap: var(--bui-space-3);
9522
- flex-direction: column;
9523
- display: flex;
9524
- }
9525
-
9526
- .bui-DataTablePagination {
9527
- padding-top: var(--bui-space-5);
9528
- justify-content: space-between;
9529
- align-items: center;
9530
- display: flex;
9531
- }
9532
-
9533
- .bui-DataTablePagination--left {
9534
- justify-content: space-between;
9535
- align-items: center;
9536
- display: flex;
9537
- }
9538
-
9539
- .bui-DataTablePagination--right {
9540
- justify-content: space-between;
9541
- align-items: center;
9542
- gap: var(--bui-space-2);
9543
- display: flex;
9544
- }
9545
-
9546
- .bui-DataTablePagination--select {
9547
- min-width: 10.5rem;
9548
- }
9549
-
9550
9520
  .bui-FieldError {
9551
9521
  color: var(--bui-fg-danger);
9552
9522
  font-size: var(--bui-font-size-2);
@@ -9593,10 +9563,7 @@
9593
9563
  }
9594
9564
 
9595
9565
  .bui-HeaderToolbar {
9596
- z-index: 10;
9597
9566
  margin-bottom: var(--bui-space-6);
9598
- position: sticky;
9599
- top: 0;
9600
9567
 
9601
9568
  &:before {
9602
9569
  content: "";
@@ -9667,38 +9634,6 @@
9667
9634
  transform: translateY(-50%);
9668
9635
  }
9669
9636
 
9670
- .bui-HeaderBreadcrumbs {
9671
- align-items: center;
9672
- gap: var(--bui-space-2);
9673
- font-size: var(--bui-font-size-3);
9674
- font-weight: var(--bui-font-weight-regular);
9675
- flex-direction: row;
9676
- display: flex;
9677
- }
9678
-
9679
- .bui-HeaderBreadcrumb {
9680
- align-items: center;
9681
- gap: var(--bui-space-2);
9682
- flex-direction: row;
9683
- display: flex;
9684
- }
9685
-
9686
- .bui-HeaderBreadcrumbLink {
9687
- color: var(--bui-fg-secondary);
9688
- cursor: pointer;
9689
- text-decoration: none;
9690
-
9691
- &[data-active="true"] {
9692
- color: var(--bui-fg-primary);
9693
- }
9694
- }
9695
-
9696
- .bui-HeaderBreadcrumbSeparator {
9697
- width: 16px;
9698
- height: 16px;
9699
- color: var(--bui-fg-secondary);
9700
- }
9701
-
9702
9637
  .bui-HeaderTabsWrapper {
9703
9638
  margin-bottom: var(--bui-space-4);
9704
9639
  padding-inline: var(--bui-space-3);
@@ -9708,7 +9643,6 @@
9708
9643
 
9709
9644
  .bui-HeaderPage {
9710
9645
  gap: var(--bui-space-1);
9711
- padding-inline: var(--bui-space-5);
9712
9646
  margin-top: var(--bui-space-6);
9713
9647
  margin-bottom: var(--bui-space-6);
9714
9648
  flex-direction: column;
@@ -9725,7 +9659,7 @@
9725
9659
  margin-left: -8px;
9726
9660
  }
9727
9661
 
9728
- .bui-HeaderPageControls {
9662
+ .bui-HeaderPageControls, .bui-HeaderPageBreadcrumbs {
9729
9663
  align-items: center;
9730
9664
  gap: var(--bui-space-2);
9731
9665
  flex-direction: row;
@@ -9754,184 +9688,245 @@
9754
9688
  }
9755
9689
  }
9756
9690
 
9757
- .bui-MenuPositioner {
9758
- z-index: 100;
9759
- outline: 0;
9760
- }
9761
-
9762
- .bui-MenuPopup {
9763
- background-color: var(--bui-bg-surface-1);
9691
+ .bui-MenuPopover {
9764
9692
  border: 1px solid var(--bui-border);
9693
+ border-radius: var(--bui-radius-2);
9694
+ background: var(--bui-bg-surface-1);
9765
9695
  color: var(--bui-fg-primary);
9766
- transform-origin: var(--transform-origin);
9767
- max-width: min(var(--available-width), 340px);
9768
- max-height: min(var(--available-height), 500px);
9769
- padding-bottom: var(--bui-space-1);
9770
- border-radius: .375rem;
9771
9696
  outline: none;
9772
9697
  flex-direction: column;
9773
- transition: transform .15s, opacity .15s;
9698
+ min-height: 0;
9699
+ transition: transform .2s, opacity .2s;
9774
9700
  display: flex;
9775
- position: relative;
9776
- overflow: auto;
9701
+ overflow: hidden;
9777
9702
 
9778
- &[data-starting-style], &[data-ending-style] {
9703
+ &[data-entering], &[data-exiting] {
9704
+ transform: var(--origin);
9779
9705
  opacity: 0;
9780
- transform: scale(.9);
9781
9706
  }
9782
- }
9783
9707
 
9784
- .bui-MenuItem {
9785
- user-select: none;
9786
- align-items: center;
9787
- gap: var(--bui-space-2);
9788
- height: 32px;
9789
- color: var(--bui-fg-primary);
9790
- border-radius: var(--bui-radius-2);
9791
- margin-inline: var(--bui-space-1);
9792
- padding-inline: var(--bui-space-2);
9793
- font-size: var(--bui-font-size-3);
9794
- cursor: pointer;
9795
- outline: 0;
9796
- flex-shrink: 0;
9797
- text-decoration: none;
9798
- display: flex;
9708
+ &[data-placement="top"] {
9709
+ --origin: translateY(8px);
9710
+ }
9799
9711
 
9800
- &:first-child {
9801
- margin-top: var(--bui-space-1);
9712
+ &[data-placement="bottom"] {
9713
+ --origin: translateY(-8px);
9714
+ }
9715
+
9716
+ &[data-placement="right"] {
9717
+ --origin: translateX(-8px);
9802
9718
  }
9803
9719
 
9804
- &[data-highlighted] {
9805
- background-color: var(--bui-gray-3);
9720
+ &[data-placement="left"] {
9721
+ --origin: translateX(8px);
9806
9722
  }
9807
9723
  }
9808
9724
 
9809
- .bui-MenuSubmenuTrigger {
9810
- user-select: none;
9811
- justify-content: space-between;
9812
- align-items: center;
9813
- gap: var(--bui-space-2);
9814
- height: 32px;
9815
- color: var(--bui-fg-primary);
9816
- border-radius: var(--bui-radius-2);
9817
- margin-inline: var(--bui-space-1);
9725
+ .bui-MenuContent {
9726
+ max-height: inherit;
9727
+ box-sizing: border-box;
9728
+ padding: var(--bui-space-1);
9729
+ outline: none;
9730
+ min-width: 150px;
9731
+ overflow: auto;
9732
+ }
9733
+
9734
+ .bui-MenuPopover .bui-ScrollAreaRoot {
9735
+ flex-direction: column;
9736
+ flex: 1;
9737
+ height: 100%;
9738
+ min-height: 0;
9739
+ display: flex;
9740
+ }
9741
+
9742
+ .bui-MenuPopover .bui-ScrollAreaScrollbar {
9743
+ margin-inline: var(--bui-space-1_5);
9744
+ }
9745
+
9746
+ .bui-MenuItem {
9747
+ height: 2rem;
9818
9748
  padding-inline: var(--bui-space-2);
9749
+ border-radius: var(--bui-radius-2);
9750
+ cursor: default;
9751
+ color: var(--bui-fg-primary);
9819
9752
  font-size: var(--bui-font-size-3);
9820
- cursor: pointer;
9821
- outline: 0;
9822
- flex-shrink: 0;
9823
- text-decoration: none;
9753
+ justify-content: space-between;
9754
+ align-items: center;
9755
+ gap: var(--bui-space-6);
9756
+ outline: none;
9824
9757
  display: flex;
9825
9758
 
9826
- & .bui-Icon {
9827
- color: var(--bui-fg-secondary);
9759
+ &[data-focused], &[data-open] {
9760
+ background: var(--bui-bg-surface-2);
9761
+ color: var(--bui-fg-primary);
9828
9762
  }
9829
9763
 
9830
- &:first-child {
9831
- margin-top: var(--bui-space-1);
9764
+ &[data-color="danger"] {
9765
+ color: var(--bui-fg-danger);
9832
9766
  }
9833
9767
 
9834
- &[data-popup-open], &[data-highlighted] {
9835
- background-color: var(--bui-gray-3);
9768
+ &[data-color="danger"][data-focused] {
9769
+ background: var(--bui-bg-danger);
9770
+ color: var(--bui-fg-danger);
9771
+ }
9836
9772
 
9837
- & .bui-Icon {
9838
- color: var(--bui-fg-primary);
9773
+ &[data-has-submenu] {
9774
+ & > .bui-MenuItemArrow {
9775
+ display: block;
9839
9776
  }
9840
9777
  }
9841
9778
  }
9842
9779
 
9843
- .bui-MenuSeparator {
9844
- background-color: var(--color-gray-200);
9845
- height: 1px;
9846
- margin: .375rem 1rem;
9847
- }
9848
-
9849
- .bui-SubmenuComboboxSearch {
9850
- padding-inline: var(--bui-space-3);
9851
- border: none;
9852
- border-bottom: 1px solid var(--bui-border);
9853
- background-color: var(--bui-bg-surface-1);
9854
- width: 100%;
9855
- height: 32px;
9780
+ .bui-MenuItemListBox {
9781
+ height: 2rem;
9782
+ padding-inline: var(--bui-space-2);
9783
+ border-radius: var(--bui-radius-2);
9784
+ cursor: default;
9856
9785
  color: var(--bui-fg-primary);
9857
- line-height: 140%;
9858
9786
  font-size: var(--bui-font-size-3);
9859
- z-index: 1;
9787
+ justify-content: space-between;
9788
+ align-items: center;
9789
+ gap: var(--bui-space-6);
9860
9790
  outline: none;
9861
- position: sticky;
9862
- top: 0;
9791
+ display: flex;
9863
9792
 
9864
- &::placeholder {
9865
- color: var(--bui-fg-secondary);
9793
+ &:hover {
9794
+ background: var(--bui-bg-surface-2);
9795
+ color: var(--bui-fg-primary);
9866
9796
  }
9867
9797
 
9868
- &:disabled {
9869
- opacity: .6;
9870
- cursor: not-allowed;
9798
+ &[data-selected] .bui-MenuItemListBoxCheck {
9799
+ & > svg {
9800
+ opacity: 1;
9801
+ color: var(--bui-fg-primary);
9802
+ }
9871
9803
  }
9872
9804
  }
9873
9805
 
9874
- .bui-SubmenuComboboxItems {
9875
- padding-top: var(--bui-space-2);
9876
- outline: none;
9877
- flex-direction: column;
9806
+ .bui-MenuItemListBoxCheck {
9807
+ justify-content: center;
9808
+ align-items: center;
9809
+ width: 1rem;
9810
+ height: 1rem;
9878
9811
  display: flex;
9879
- overflow-y: auto;
9880
- }
9881
9812
 
9882
- .bui-SubmenuComboboxNoResults {
9883
- padding-inline: var(--bui-space-3);
9884
- padding-top: var(--bui-space-2);
9885
- padding-bottom: var(--bui-space-4);
9886
- color: var(--bui-fg-secondary);
9887
- font-size: var(--bui-font-size-3);
9813
+ & > svg {
9814
+ opacity: 0;
9815
+ width: 1rem;
9816
+ height: 1rem;
9817
+ }
9888
9818
  }
9889
9819
 
9890
- .bui-SubmenuComboboxItem {
9891
- user-select: none;
9892
- justify-content: space-between;
9820
+ .bui-MenuItemContent {
9893
9821
  align-items: center;
9894
9822
  gap: var(--bui-space-2);
9895
- height: 32px;
9896
- color: var(--bui-fg-primary);
9897
- border-radius: var(--bui-radius-2);
9898
- margin-inline: var(--bui-space-1);
9899
- padding-inline: var(--bui-space-2);
9900
- font-size: var(--bui-font-size-3);
9901
- cursor: pointer;
9902
- outline: 0;
9903
- flex-shrink: 0;
9904
- text-decoration: none;
9905
9823
  display: flex;
9906
9824
 
9907
- &[data-highlighted] {
9908
- background-color: var(--bui-gray-3);
9825
+ & > svg {
9826
+ width: 1rem;
9827
+ height: 1rem;
9909
9828
  }
9829
+ }
9910
9830
 
9911
- &[data-disabled] {
9912
- opacity: .5;
9913
- cursor: not-allowed;
9831
+ .bui-MenuItemArrow {
9832
+ width: 1rem;
9833
+ height: 1rem;
9834
+ display: none;
9835
+
9836
+ & > svg {
9837
+ width: 1rem;
9838
+ height: 1rem;
9914
9839
  }
9915
9840
  }
9916
9841
 
9917
- .bui-SubmenuComboboxItemCheckbox {
9918
- width: 16px;
9919
- height: 16px;
9842
+ .bui-MenuSection {
9843
+ &:first-child .bui-MenuSectionHeader {
9844
+ padding-top: 0;
9845
+ }
9846
+ }
9847
+
9848
+ .bui-MenuSectionHeader {
9849
+ height: 2rem;
9850
+ padding-top: var(--bui-space-3);
9851
+ padding-left: var(--bui-space-2);
9920
9852
  color: var(--bui-fg-primary);
9921
- border-radius: var(--bui-radius-2);
9922
- border: 1px solid var(--bui-border);
9923
- background: var(--bui-bg-surface-1);
9853
+ font-size: var(--bui-font-size-1);
9854
+ letter-spacing: .05rem;
9855
+ text-transform: uppercase;
9856
+ align-items: center;
9857
+ font-weight: bold;
9858
+ display: flex;
9859
+ }
9860
+
9861
+ .bui-MenuSeparator {
9862
+ background: var(--bui-border);
9863
+ height: 1px;
9864
+ margin-inline: var(--bui-space-1_5);
9865
+ margin-block: var(--bui-space-1);
9866
+ }
9867
+
9868
+ .bui-MenuSearchField {
9869
+ font-family: var(--bui-font-regular);
9924
9870
  flex-shrink: 0;
9871
+ width: 100%;
9872
+ position: relative;
9873
+
9874
+ &[data-empty] {
9875
+ & .bui-MenuSearchFieldClear {
9876
+ display: none;
9877
+ }
9878
+ }
9879
+ }
9880
+
9881
+ .bui-MenuSearchFieldInput {
9882
+ padding: 0 var(--bui-space-3);
9883
+ border: none;
9884
+ border-bottom: 1px solid var(--bui-border);
9885
+ background-color: var(--bui-bg-surface-1);
9886
+ font-size: var(--bui-font-size-3);
9887
+ font-family: var(--bui-font-regular);
9888
+ font-weight: var(--bui-font-weight-regular);
9889
+ color: var(--bui-fg-primary);
9890
+ width: 100%;
9891
+ height: 2rem;
9892
+ cursor: inherit;
9893
+ outline: none;
9894
+ align-items: center;
9895
+ display: flex;
9896
+
9897
+ &::-webkit-search-cancel-button, &::-webkit-search-decoration {
9898
+ -webkit-appearance: none;
9899
+ }
9900
+ }
9901
+
9902
+ .bui-MenuSearchFieldClear {
9903
+ right: var(--bui-space-2);
9904
+ cursor: pointer;
9905
+ color: var(--bui-fg-secondary);
9906
+ background-color: #0000;
9907
+ border: none;
9925
9908
  justify-content: center;
9926
9909
  align-items: center;
9910
+ margin: 0;
9911
+ padding: 0;
9912
+ transition: color .2s ease-in-out;
9927
9913
  display: flex;
9914
+ position: absolute;
9915
+ top: 0;
9916
+ bottom: 0;
9917
+
9918
+ & > svg {
9919
+ width: 1rem;
9920
+ height: 1rem;
9921
+ }
9928
9922
  }
9929
9923
 
9930
- .bui-SubmenuComboboxItemLabel {
9931
- text-overflow: ellipsis;
9932
- white-space: nowrap;
9933
- flex: 1;
9934
- overflow: hidden;
9924
+ .bui-MenuEmptyState {
9925
+ padding: var(--bui-space-1);
9926
+ color: var(--bui-fg-secondary);
9927
+ font-size: var(--bui-font-size-3);
9928
+ font-family: var(--bui-font-regular);
9929
+ font-weight: var(--bui-font-weight-regular);
9935
9930
  }
9936
9931
 
9937
9932
  .bui-Popover {
@@ -10034,12 +10029,17 @@
10034
10029
  }
10035
10030
  }
10036
10031
 
10037
- .bui-TableRoot {
10032
+ .bui-Table {
10038
10033
  caption-side: bottom;
10039
10034
  border-collapse: collapse;
10040
10035
  width: 100%;
10041
10036
  }
10042
10037
 
10038
+ .bui-TableHeader {
10039
+ border-bottom: 1px solid var(--bui-border);
10040
+ transition: color .2s ease-in-out;
10041
+ }
10042
+
10043
10043
  .bui-TableHead {
10044
10044
  text-align: left;
10045
10045
  padding: var(--bui-space-3);
@@ -10047,6 +10047,33 @@
10047
10047
  color: var(--bui-fg-primary);
10048
10048
  }
10049
10049
 
10050
+ .bui-TableHeadSortButton {
10051
+ cursor: pointer;
10052
+ user-select: none;
10053
+ align-items: center;
10054
+ gap: var(--bui-space-1);
10055
+ display: inline-flex;
10056
+
10057
+ &:hover svg {
10058
+ opacity: .5;
10059
+ }
10060
+
10061
+ & svg {
10062
+ opacity: 0;
10063
+ transition: opacity .1s ease-in-out, transform .1s ease-in-out;
10064
+ }
10065
+
10066
+ &[data-sort-order="asc"] svg {
10067
+ opacity: 1;
10068
+ transform: rotate(0);
10069
+ }
10070
+
10071
+ &[data-sort-order="desc"] svg {
10072
+ opacity: 1;
10073
+ transform: rotate(180deg);
10074
+ }
10075
+ }
10076
+
10050
10077
  .bui-TableBody {
10051
10078
  color: var(--bui-fg-primary);
10052
10079
  }
@@ -10054,6 +10081,10 @@
10054
10081
  .bui-TableRow {
10055
10082
  border-bottom: 1px solid var(--bui-border);
10056
10083
  transition: color .2s ease-in-out;
10084
+
10085
+ &[data-react-aria-pressable="true"] {
10086
+ cursor: pointer;
10087
+ }
10057
10088
  }
10058
10089
 
10059
10090
  .bui-TableBody .bui-TableRow:hover {
@@ -10063,9 +10094,24 @@
10063
10094
  .bui-TableCell {
10064
10095
  padding: var(--bui-space-3);
10065
10096
  font-size: var(--bui-font-size-3);
10097
+ padding: var(--bui-space-3);
10098
+ font-size: var(--bui-font-size-3);
10099
+ }
10100
+
10101
+ .bui-TableCellContentWrapper {
10102
+ align-items: center;
10103
+ gap: var(--bui-space-2);
10104
+ flex-direction: row;
10105
+ display: inline-flex;
10066
10106
  }
10067
10107
 
10068
- .bui-TableCellText, .bui-TableCellLink {
10108
+ .bui-TableCellIcon, .bui-TableCellIcon svg {
10109
+ color: var(--bui-fg-primary);
10110
+ align-items: center;
10111
+ display: inline-flex;
10112
+ }
10113
+
10114
+ .bui-TableCellContent {
10069
10115
  gap: var(--bui-space-0_5);
10070
10116
  flex-direction: column;
10071
10117
  display: flex;
@@ -10113,6 +10159,30 @@
10113
10159
  display: flex;
10114
10160
  }
10115
10161
 
10162
+ .bui-DataTablePagination {
10163
+ padding-top: var(--bui-space-5);
10164
+ justify-content: space-between;
10165
+ align-items: center;
10166
+ display: flex;
10167
+ }
10168
+
10169
+ .bui-DataTablePagination--left {
10170
+ justify-content: space-between;
10171
+ align-items: center;
10172
+ display: flex;
10173
+ }
10174
+
10175
+ .bui-DataTablePagination--right {
10176
+ justify-content: space-between;
10177
+ align-items: center;
10178
+ gap: var(--bui-space-2);
10179
+ display: flex;
10180
+ }
10181
+
10182
+ .bui-DataTablePagination--select {
10183
+ min-width: 10.5rem;
10184
+ }
10185
+
10116
10186
  .bui-Tabs {
10117
10187
  --active-tab-left: 0px;
10118
10188
  --active-tab-right: 0px;
@@ -10190,6 +10260,81 @@
10190
10260
  padding-top: var(--bui-space-4);
10191
10261
  }
10192
10262
 
10263
+ .bui-TagList {
10264
+ gap: var(--bui-space-2);
10265
+ flex-wrap: wrap;
10266
+ display: flex;
10267
+ }
10268
+
10269
+ .bui-Tag {
10270
+ color: var(--bui-fg-primary);
10271
+ background-color: var(--bui-gray-2);
10272
+ border-radius: var(--bui-radius-2);
10273
+ font-weight: var(--bui-font-weight-regular);
10274
+ justify-content: center;
10275
+ align-items: center;
10276
+ gap: var(--bui-space-1);
10277
+ box-sizing: border-box;
10278
+ transition-property: background-color, box-shadow, color;
10279
+ transition-duration: .2s;
10280
+ transition-timing-function: ease-in-out;
10281
+ display: flex;
10282
+ }
10283
+
10284
+ .bui-Tag[data-size="small"] {
10285
+ height: 26px;
10286
+ padding: 0 var(--bui-space-2);
10287
+ font-size: var(--bui-font-size-1);
10288
+ }
10289
+
10290
+ .bui-Tag[data-size="medium"] {
10291
+ height: 32px;
10292
+ padding: 0 var(--bui-space-2);
10293
+ font-size: var(--bui-font-size-2);
10294
+ }
10295
+
10296
+ .bui-Tag[data-hovered] {
10297
+ background-color: var(--bui-gray-3);
10298
+ cursor: pointer;
10299
+ }
10300
+
10301
+ .bui-Tag[data-focus-visible] {
10302
+ outline: 2px solid var(--bui-ring);
10303
+ outline-offset: 1px;
10304
+ }
10305
+
10306
+ .bui-Tag[data-selected] {
10307
+ box-shadow: inset 0 0 0 1px var(--bui-gray-8);
10308
+ }
10309
+
10310
+ .bui-Tag[data-disabled] {
10311
+ color: var(--bui-fg-disabled);
10312
+ cursor: not-allowed;
10313
+ }
10314
+
10315
+ .bui-TagRemoveButton {
10316
+ cursor: pointer;
10317
+ color: var(--bui-fg-primary);
10318
+ background-color: #0000;
10319
+ border: none;
10320
+ width: 1rem;
10321
+ height: 1rem;
10322
+ margin: 0;
10323
+ padding: 0;
10324
+ }
10325
+
10326
+ .bui-TagIcon {
10327
+ justify-content: center;
10328
+ align-items: center;
10329
+ transition: color .2s ease-in-out;
10330
+ display: flex;
10331
+
10332
+ & svg {
10333
+ width: 1rem;
10334
+ height: 1rem;
10335
+ }
10336
+ }
10337
+
10193
10338
  .bui-Text {
10194
10339
  font-family: var(--bui-font-regular);
10195
10340
  margin: 0;
@@ -10277,6 +10422,7 @@
10277
10422
  .bui-TextField {
10278
10423
  font-family: var(--bui-font-regular);
10279
10424
  flex-direction: column;
10425
+ flex-shrink: 0;
10280
10426
  width: 100%;
10281
10427
  display: flex;
10282
10428
  }
@@ -10305,7 +10451,9 @@
10305
10451
  left: var(--bui-space-3);
10306
10452
  margin-right: var(--bui-space-1);
10307
10453
  color: var(--bui-fg-primary);
10454
+ pointer-events: none;
10308
10455
  flex-shrink: 0;
10456
+ transition: left .2s ease-in-out;
10309
10457
  position: absolute;
10310
10458
  top: 50%;
10311
10459
  transform: translateY(-50%);
@@ -10323,7 +10471,7 @@
10323
10471
 
10324
10472
  .bui-Input {
10325
10473
  padding: 0 var(--bui-space-3);
10326
- border-radius: var(--bui-radius-3);
10474
+ border-radius: var(--bui-radius-2);
10327
10475
  border: 1px solid var(--bui-border);
10328
10476
  background-color: var(--bui-bg-surface-1);
10329
10477
  font-size: var(--bui-font-size-3);
@@ -10370,8 +10518,55 @@
10370
10518
  }
10371
10519
  }
10372
10520
 
10373
- .bui-SearchField[data-empty] .bui-InputClear {
10374
- display: none;
10521
+ .bui-SearchField {
10522
+ &[data-empty] {
10523
+ & .bui-InputClear {
10524
+ display: none;
10525
+ }
10526
+ }
10527
+
10528
+ &[data-start-collapsed="true"] {
10529
+ padding: 0;
10530
+ transition: width .3s ease-in-out;
10531
+
10532
+ &[data-collapsed="false"] {
10533
+ cursor: pointer;
10534
+
10535
+ &[data-size="medium"] {
10536
+ width: 2.5rem;
10537
+ height: 2.5rem;
10538
+ }
10539
+
10540
+ &[data-size="small"] {
10541
+ width: 2rem;
10542
+ height: 2rem;
10543
+ }
10544
+
10545
+ &[data-size="medium"] .bui-Input {
10546
+ padding-left: 0;
10547
+
10548
+ &::placeholder {
10549
+ opacity: 0;
10550
+ }
10551
+ }
10552
+
10553
+ &[data-size="small"] .bui-Input {
10554
+ padding-left: 0;
10555
+
10556
+ &::placeholder {
10557
+ opacity: 0;
10558
+ }
10559
+ }
10560
+
10561
+ &[data-size="small"] .bui-InputIcon {
10562
+ left: var(--bui-space-2);
10563
+ }
10564
+
10565
+ &[data-size="medium"] .bui-InputIcon {
10566
+ left: 10px;
10567
+ }
10568
+ }
10569
+ }
10375
10570
  }
10376
10571
 
10377
10572
  .bui-InputClear {
@@ -10429,7 +10624,6 @@
10429
10624
  font-size: var(--bui-font-size-3);
10430
10625
  font-family: var(--bui-font-regular);
10431
10626
  color: var(--bui-fg-primary);
10432
- --tooltip-offset: var(--bui-space-3);
10433
10627
  border-radius: 4px;
10434
10628
  outline: none;
10435
10629
  transition: transform .2s, opacity .2s;
@@ -10441,6 +10635,8 @@
10441
10635
  opacity: 0;
10442
10636
  }
10443
10637
 
10638
+ --tooltip-offset: var(--bui-space-3);
10639
+
10444
10640
  &[data-placement="top"] {
10445
10641
  margin-bottom: var(--tooltip-offset);
10446
10642
  --origin: translateY(4px);
@@ -10464,7 +10660,6 @@
10464
10660
 
10465
10661
  .bui-TooltipArrow {
10466
10662
  & svg {
10467
- --tooltip-arrow-overlap: -2px;
10468
10663
  display: block;
10469
10664
 
10470
10665
  & path:first-child {
@@ -10474,6 +10669,8 @@
10474
10669
  & path:nth-child(2) {
10475
10670
  fill: var(--bui-gray-3);
10476
10671
  }
10672
+
10673
+ --tooltip-arrow-overlap: -2px;
10477
10674
  }
10478
10675
 
10479
10676
  &[data-placement="top"] svg {