@mixtint/primer-view-components 0.84.5 → 0.86.2

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.
@@ -1661,9 +1661,7 @@ dialog.Overlay:not([open]) {
1661
1661
  left: 0;
1662
1662
  z-index: 100;
1663
1663
  width: 160px;
1664
- /* stylelint-disable-next-line primer/spacing */
1665
1664
  padding-top: var(--control-small-paddingBlock);
1666
- /* stylelint-disable-next-line primer/spacing */
1667
1665
  padding-bottom: var(--control-small-paddingBlock);
1668
1666
  margin-top: var(--base-size-2);
1669
1667
  list-style: none;
@@ -1671,7 +1669,7 @@ dialog.Overlay:not([open]) {
1671
1669
  background-clip: padding-box;
1672
1670
  border: var(--borderWidth-thin) solid var(--borderColor-default);
1673
1671
  border-radius: var(--borderRadius-medium);
1674
- box-shadow: var(--shadow-floating-legacy, var(--color-shadow-large));
1672
+ box-shadow: var(--shadow-floating-small);
1675
1673
  }
1676
1674
 
1677
1675
  .dropdown-menu::before,.dropdown-menu::after {
@@ -1708,7 +1706,6 @@ dialog.Overlay:not([open]) {
1708
1706
  }
1709
1707
 
1710
1708
  .dropdown-menu-no-overflow .dropdown-item {
1711
- /* stylelint-disable-next-line primer/spacing */
1712
1709
  padding: var(--control-small-paddingBlock) var(--control-medium-paddingInline-spacious);
1713
1710
  overflow: visible;
1714
1711
  text-overflow: inherit;
@@ -1718,7 +1715,6 @@ dialog.Overlay:not([open]) {
1718
1715
 
1719
1716
  .dropdown-item {
1720
1717
  display: block;
1721
- /* stylelint-disable-next-line primer/spacing */
1722
1718
  padding: var(--control-small-paddingBlock) var(--control-medium-paddingInline-condensed) var(--control-small-paddingBlock) var(--control-medium-paddingInline-spacious);
1723
1719
  overflow: hidden;
1724
1720
  color: var(--fgColor-default);
@@ -1762,13 +1758,11 @@ dialog.Overlay:not([open]) {
1762
1758
  .dropdown-divider {
1763
1759
  display: block;
1764
1760
  height: 0;
1765
- /* stylelint-disable-next-line primer/spacing */
1766
1761
  margin: var(--stack-gap-condensed) 0;
1767
1762
  border-top: var(--borderWidth-thin) solid var(--borderColor-default);
1768
1763
  }
1769
1764
 
1770
1765
  .dropdown-header {
1771
- /* stylelint-disable-next-line primer/spacing */
1772
1766
  padding: var(--control-small-paddingBlock) var(--control-medium-paddingInline-spacious);
1773
1767
  font-size: var(--text-body-size-small);
1774
1768
  color: var(--fgColor-muted);
@@ -1803,7 +1797,8 @@ dialog.Overlay:not([open]) {
1803
1797
  }
1804
1798
 
1805
1799
  .dropdown-menu-w::after {
1806
- top: var(--base-size-12);
1800
+ /* stylelint-disable-next-line primer/spacing */
1801
+ top: calc(var(--base-size-12) - var(--borderWidth-thin));
1807
1802
  /* stylelint-disable-next-line primer/spacing */
1808
1803
  right: -14px;
1809
1804
  left: auto;
@@ -1830,7 +1825,8 @@ dialog.Overlay:not([open]) {
1830
1825
  }
1831
1826
 
1832
1827
  .dropdown-menu-e::after {
1833
- top: var(--base-size-12);
1828
+ /* stylelint-disable-next-line primer/spacing */
1829
+ top: calc(var(--base-size-12) - var(--borderWidth-thin));
1834
1830
  /* stylelint-disable-next-line primer/spacing */
1835
1831
  left: -14px;
1836
1832
  border-color: transparent;
@@ -1867,7 +1863,7 @@ dialog.Overlay:not([open]) {
1867
1863
  /* stylelint-disable-next-line primer/spacing */
1868
1864
  bottom: -7px;
1869
1865
  /* stylelint-disable-next-line primer/spacing */
1870
- left: 10px;
1866
+ left: calc(var(--base-size-8) + var(--borderWidth-thin));
1871
1867
  /* stylelint-disable-next-line primer/borders, primer/colors */
1872
1868
  border-top: 7px solid var(--overlay-bgColor);
1873
1869
  /* stylelint-disable-next-line primer/borders */
@@ -1913,7 +1909,7 @@ dialog.Overlay:not([open]) {
1913
1909
  /* stylelint-disable-next-line primer/spacing */
1914
1910
  top: -14px;
1915
1911
  /* stylelint-disable-next-line primer/spacing */
1916
- right: 10px;
1912
+ right: calc(var(--base-size-8) + var(--borderWidth-thin));
1917
1913
  left: auto;
1918
1914
  }
1919
1915
 
@@ -1927,7 +1923,7 @@ dialog.Overlay:not([open]) {
1927
1923
  /* stylelint-disable-next-line primer/spacing */
1928
1924
  top: -14px;
1929
1925
  /* stylelint-disable-next-line primer/spacing */
1930
- left: 10px;
1926
+ left: calc(var(--base-size-8) + var(--borderWidth-thin));
1931
1927
  }
1932
1928
 
1933
1929
  /* Layout */
@@ -4522,10 +4518,6 @@ a.tabnav-extra:hover {
4522
4518
  }
4523
4519
  }
4524
4520
 
4525
- [data-has-leading-action]:is(.TreeViewRootUlStyles .TreeViewItem) {
4526
- --has-leading-action: 1;
4527
- }
4528
-
4529
4521
  .TreeViewRootUlStyles .TreeViewItemContainer {
4530
4522
  --level: 1;
4531
4523
  --toggle-width: 1rem;
@@ -4537,13 +4529,22 @@ a.tabnav-extra:hover {
4537
4529
  font-size: var(--text-body-size-medium);
4538
4530
  color: var(--fgColor-default);
4539
4531
  border-radius: var(--borderRadius-medium);
4540
- grid-template-columns: var(--spacer-width) var(--leading-action-width) var(--toggle-width) 1fr;
4541
- grid-template-areas: 'spacer leadingAction toggle content';
4532
+ grid-template-columns: var(--spacer-width) var(--leading-action-width) var(--toggle-width) 1fr var(--trailing-action-width);
4533
+ grid-template-areas: 'spacer leadingAction toggle content trailingAction';
4542
4534
 
4543
4535
  --leading-action-width: calc(var(--has-leading-action, 0) * 1.5rem);
4536
+ --trailing-action-width: calc(var(--has-trailing-action, 0) * 1.5rem);
4544
4537
  --spacer-width: calc(calc(var(--level) - 1) * (var(--toggle-width) / 2));
4545
4538
  }
4546
4539
 
4540
+ :is(.TreeViewRootUlStyles .TreeViewItemContainer):has([data-has-leading-action]) {
4541
+ --has-leading-action: 1;
4542
+ }
4543
+
4544
+ :is(.TreeViewRootUlStyles .TreeViewItemContainer):has([data-has-trailing-action]) {
4545
+ --has-trailing-action: 1;
4546
+ }
4547
+
4547
4548
  :is(.TreeViewRootUlStyles .TreeViewItemContainer):hover {
4548
4549
  background-color: var(--control-transparent-bgColor-hover);
4549
4550
  }
@@ -4655,6 +4656,7 @@ a.tabnav-extra:hover {
4655
4656
 
4656
4657
  .TreeViewRootUlStyles .TreeViewItemContent {
4657
4658
  display: flex;
4659
+ align-items: center;
4658
4660
  height: 100%;
4659
4661
  padding: 0 var(--base-size-8);
4660
4662
  outline: none;
@@ -4798,6 +4800,16 @@ a.tabnav-extra:hover {
4798
4800
  flex-shrink: 1;
4799
4801
  }
4800
4802
 
4803
+ .TreeViewRootUlStyles .TreeViewItemTrailingAction {
4804
+ display: flex;
4805
+ color: var(--fgColor-muted);
4806
+ grid-area: trailingAction;
4807
+ }
4808
+
4809
+ :is(.TreeViewRootUlStyles .TreeViewItemTrailingAction) > button {
4810
+ flex-shrink: 1;
4811
+ }
4812
+
4801
4813
  .TreeViewRootUlStyles .TreeViewItemLevelLine {
4802
4814
  width: 100%;
4803
4815
  height: 100%;
@@ -7413,14 +7425,10 @@ select-panel dialog::backdrop {
7413
7425
  display: grid;
7414
7426
  grid-template-areas: "left middle right" "bottom bottom bottom";
7415
7427
  grid-template-columns: auto 1fr auto;
7416
- align-items: center;
7428
+ align-items: baseline;
7417
7429
  margin-bottom: var(--base-size-16);
7418
7430
  }
7419
7431
 
7420
- .SubHeader--expandedSearch {
7421
- grid-template-areas: "left left left" "bottom bottom bottom";
7422
- }
7423
-
7424
7432
  .SubHeader-rightPane {
7425
7433
  grid-area: right;
7426
7434
  display: flex;
@@ -7431,6 +7439,7 @@ select-panel dialog::backdrop {
7431
7439
  .SubHeader-middlePane {
7432
7440
  grid-area: middle;
7433
7441
  text-align: center;
7442
+ white-space: nowrap;
7434
7443
  }
7435
7444
 
7436
7445
  .SubHeader-bottomPane {
@@ -7441,6 +7450,8 @@ select-panel dialog::backdrop {
7441
7450
  grid-area: left;
7442
7451
  display: flex;
7443
7452
  align-items: center;
7453
+ flex-wrap: wrap;
7454
+ row-gap: var(--base-size-16);
7444
7455
  column-gap: 12px;
7445
7456
  width: 100%;
7446
7457
 
@@ -7463,12 +7474,20 @@ select-panel dialog::backdrop {
7463
7474
  display: none;
7464
7475
  }
7465
7476
 
7466
- @media (max-width: 543.98px) {
7477
+ @media (max-width: 767.98px) {
7467
7478
  .SubHeader {
7468
7479
  grid-template-areas: "left right" "middle middle" "bottom bottom";
7469
7480
  grid-template-columns: 1fr auto;
7470
7481
  }
7471
7482
 
7483
+ .SubHeader--expandedSearch {
7484
+ grid-template-areas: "left left" "middle middle" "bottom bottom";
7485
+ }
7486
+
7487
+ .SubHeader--expandedSearch .SubHeader-hiddenOnExpand {
7488
+ display: none !important;
7489
+ }
7490
+
7472
7491
  .SubHeader--emptyLeftPane {
7473
7492
  grid-template-areas: "middle middle right" "bottom bottom bottom";
7474
7493
  grid-template-columns: auto 1fr auto;
@@ -7485,7 +7504,7 @@ select-panel dialog::backdrop {
7485
7504
  }
7486
7505
 
7487
7506
  .SubHeader-middlePane:has(> *) {
7488
- margin-top: var(--stack-gap-normal);
7507
+ margin-top: var(--base-size-16);
7489
7508
  }
7490
7509
  }
7491
7510
 
@@ -7694,3 +7713,68 @@ select-panel dialog::backdrop {
7694
7713
  display: none;
7695
7714
  }
7696
7715
  }
7716
+
7717
+ /* CSS for FilterableTreeView */
7718
+
7719
+ /* Scroll layout
7720
+ *
7721
+ * The filterable-tree-view element itself acts as a flex column container.
7722
+ * The toolbar (input, segmented control, checkbox) is fixed at the top.
7723
+ * Only the tree area scrolls. The consumer is responsible for setting a
7724
+ * height or max-height on the filterable-tree-view element (or its parent)
7725
+ * to activate scrolling.
7726
+ */
7727
+
7728
+ /* stylelint-disable-next-line selector-max-type */
7729
+
7730
+ filterable-tree-view {
7731
+ display: flex;
7732
+ flex-direction: column;
7733
+ overflow: hidden;
7734
+ max-height: inherit;
7735
+ }
7736
+
7737
+ .FilterableTreeViewLayout {
7738
+ flex: 1;
7739
+ min-height: 0;
7740
+ }
7741
+
7742
+ .FilterableTreeViewTreeContainer {
7743
+ flex: 1;
7744
+ min-height: 0;
7745
+ overflow-y: auto;
7746
+ }
7747
+
7748
+ /* Highlight style for CSS Custom Highlight API */
7749
+
7750
+ ::highlight(primer-filterable-tree-view-search-results) {
7751
+ background-color: var(--bgColor-attention-muted);
7752
+ }
7753
+
7754
+ /* Fallback: <mark> elements used when CSS Custom Highlight API is unavailable */
7755
+
7756
+ /* stylelint-disable-next-line selector-max-type */
7757
+
7758
+ filterable-tree-view mark {
7759
+ background-color: var(--bgColor-attention-muted);
7760
+ color: inherit;
7761
+ }
7762
+
7763
+ /* Loading skeleton */
7764
+
7765
+ .FilterableTreeViewLoadingSkeleton {
7766
+ display: none;
7767
+ }
7768
+
7769
+ /* stylelint-disable selector-no-qualifying-type */
7770
+
7771
+ /* stylelint-disable selector-max-type */
7772
+
7773
+ filterable-tree-view[data-loading] .FilterableTreeViewLoadingSkeleton {
7774
+ display: block;
7775
+ }
7776
+
7777
+ filterable-tree-view[data-loading] tree-view,
7778
+ filterable-tree-view[data-loading] [data-target~="filterable-tree-view.noResultsMessage"] {
7779
+ display: none;
7780
+ }