@swiftbrowser/web 0.26.3 → 0.26.5
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.
- package/package.json +1 -1
- package/src/deviceFrame.ts +2 -2
- package/src/layout/engine.ts +663 -188
- package/src/layoutDom.ts +40 -2
- package/src/protocol.ts +12 -0
- package/src/renderer.ts +13 -2
- package/src/styles.css +490 -150
- package/src/symbols.ts +3 -0
package/src/styles.css
CHANGED
|
@@ -443,8 +443,9 @@ html[data-sb-frame="mac"]:not([data-sb-mode="device"]) {
|
|
|
443
443
|
--device-screen-width: 1024px;
|
|
444
444
|
--device-screen-height: 700px;
|
|
445
445
|
--device-bezel: 0px;
|
|
446
|
-
|
|
447
|
-
--device-
|
|
446
|
+
/* macOS 26: a window with a toolbar has 26 corners, a compact one 16. */
|
|
447
|
+
--device-radius: 16px;
|
|
448
|
+
--device-safe-top: 32px;
|
|
448
449
|
--device-safe-bottom: 0px;
|
|
449
450
|
}
|
|
450
451
|
|
|
@@ -464,36 +465,37 @@ html[data-sb-frame="mac"]:not([data-sb-mode="device"]) .home-indicator {
|
|
|
464
465
|
display: none;
|
|
465
466
|
}
|
|
466
467
|
|
|
467
|
-
|
|
468
|
-
|
|
468
|
+
html[data-sb-frame="mac"]:not([data-sb-mode="device"]) .device:has(.sb-navscreen[data-sb-unified], .sb-tabview[data-sb-tabs-top]) {
|
|
469
|
+
--device-radius: 26px;
|
|
470
|
+
}
|
|
471
|
+
|
|
472
|
+
/* The title bar's window buttons (close, minimize, zoom): three lights 14
|
|
473
|
+
points across, 9 apart (macOS 26), over the app. The bar itself
|
|
469
474
|
is the app's: a navigation screen at the top of the window draws its title
|
|
470
475
|
bar there (the Mac idiom below; the engine leaves the buttons their room),
|
|
471
476
|
and a window with no bar shows its content under them, as a Mac window
|
|
472
477
|
with a hidden title bar does. */
|
|
473
478
|
html[data-sb-frame="mac"]:not([data-sb-mode="device"]) .status-bar {
|
|
474
479
|
justify-content: flex-start;
|
|
475
|
-
|
|
480
|
+
align-items: flex-start;
|
|
481
|
+
padding: 9px 0 0 9px;
|
|
476
482
|
background: none;
|
|
477
483
|
}
|
|
478
484
|
|
|
479
|
-
/* The lights sit (bar height −
|
|
480
|
-
bar,
|
|
481
|
-
html[data-sb-frame="mac"]:not([data-sb-mode="device"]) .device:has(.sb-navscreen[data-sb-unified]) .status-bar::before {
|
|
482
|
-
transform: translate(
|
|
483
|
-
}
|
|
484
|
-
|
|
485
|
-
html[data-sb-frame="mac"]:not([data-sb-mode="device"]) .device:has(.sb-tabview[data-sb-tabs-top]) .status-bar::before {
|
|
486
|
-
transform: translate(5px, 5px);
|
|
485
|
+
/* The lights sit (bar height − 14) / 2 from the corner: 9 in a compact 32
|
|
486
|
+
bar, 19 in a 52 toolbar. */
|
|
487
|
+
html[data-sb-frame="mac"]:not([data-sb-mode="device"]) .device:has(.sb-navscreen[data-sb-unified], .sb-tabview[data-sb-tabs-top]) .status-bar::before {
|
|
488
|
+
transform: translate(10px, 10px);
|
|
487
489
|
}
|
|
488
490
|
|
|
489
491
|
html[data-sb-frame="mac"]:not([data-sb-mode="device"]) .status-bar::before {
|
|
490
492
|
content: "";
|
|
491
|
-
width:
|
|
492
|
-
height:
|
|
493
|
+
width: 60px;
|
|
494
|
+
height: 14px;
|
|
493
495
|
background:
|
|
494
|
-
radial-gradient(circle at
|
|
495
|
-
radial-gradient(circle at
|
|
496
|
-
radial-gradient(circle at
|
|
496
|
+
radial-gradient(circle at 7px 7px, #ff5f57 0 6.5px, transparent 7px),
|
|
497
|
+
radial-gradient(circle at 30px 7px, #febc2e 0 6.5px, transparent 7px),
|
|
498
|
+
radial-gradient(circle at 53px 7px, #28c840 0 6.5px, transparent 7px);
|
|
497
499
|
}
|
|
498
500
|
|
|
499
501
|
html[data-sb-frame="none"]:not([data-sb-mode="device"]) .device:not(.sb-island) {
|
|
@@ -3944,7 +3946,8 @@ svg[data-sb-symbol="progress.indicator"] > line:nth-child(8) { animation-delay:
|
|
|
3944
3946
|
.sb-datepicker > [hidden],
|
|
3945
3947
|
.sb-stepper > [hidden],
|
|
3946
3948
|
.sb-slider > [hidden],
|
|
3947
|
-
.sb-slider-labels > [hidden]
|
|
3949
|
+
.sb-slider-labels > [hidden],
|
|
3950
|
+
.sb-picker > .sb-picker-label[hidden] {
|
|
3948
3951
|
display: none;
|
|
3949
3952
|
}
|
|
3950
3953
|
|
|
@@ -4659,16 +4662,32 @@ html[data-sb-platform="macos"] .device[data-theme="light"] {
|
|
|
4659
4662
|
--sb-mac-control-shadow:
|
|
4660
4663
|
0 0 0 0.5px rgba(0, 0, 0, 0.12),
|
|
4661
4664
|
0 1px 1px rgba(0, 0, 0, 0.08);
|
|
4662
|
-
/* A text field
|
|
4665
|
+
/* A text field: the text background, its edges light at the sides and top, darker at the bottom. */
|
|
4666
|
+
--sb-mac-field: #ffffff;
|
|
4663
4667
|
--sb-mac-field-shadow:
|
|
4664
4668
|
inset 0 0 0 1px rgba(0, 0, 0, 0.11),
|
|
4665
4669
|
inset 0 -1px 0 0 rgba(0, 0, 0, 0.27);
|
|
4666
4670
|
--sb-mac-segment-track: #ededed;
|
|
4667
4671
|
--sb-mac-segment: #ffffff;
|
|
4668
|
-
--sb-mac-tab-selected: #
|
|
4672
|
+
--sb-mac-tab-selected: #d9d9d9;
|
|
4673
|
+
--sb-mac-tab-rule: #e5e5e5;
|
|
4669
4674
|
--sb-mac-sheet: #ececec;
|
|
4670
|
-
|
|
4671
|
-
--sb-
|
|
4675
|
+
--sb-mac-sheet-bar: #ffffff;
|
|
4676
|
+
--sb-mac-sheet-rule: #d4d4d4;
|
|
4677
|
+
/* macOS 26: the toolbar's Liquid Glass (a 36 capsule, its rim lighter
|
|
4678
|
+
than its fill), its glyphs, and the window title's color. */
|
|
4679
|
+
--sb-glass-background: #f2f2f2;
|
|
4680
|
+
--sb-glass-shadow: 0 0 0 0.5px rgba(0, 0, 0, 0.03), 0 2px 10px rgba(0, 0, 0, 0.07);
|
|
4681
|
+
--sb-glass-rim: linear-gradient(#fcfcfc, #fcfcfc);
|
|
4682
|
+
--sb-mac-glyph: #494949;
|
|
4683
|
+
--sb-mac-title: #4d4d4d;
|
|
4684
|
+
--sb-mac-rim: #fcfcfc;
|
|
4685
|
+
--sb-mac-sidebar-selection: #dcdcdc;
|
|
4686
|
+
--sb-mac-card: #f7f7f7;
|
|
4687
|
+
--sb-mac-card-separator: #ebebeb;
|
|
4688
|
+
--sb-mac-push: rgba(0, 0, 0, 0.075);
|
|
4689
|
+
/* The window background, under content (white on macOS 26); a list's background and its rows. */
|
|
4690
|
+
--sb-color-system-background: #ffffff;
|
|
4672
4691
|
--sb-color-grouped-background: #ffffff;
|
|
4673
4692
|
--sb-color-grouped-cell: #ffffff;
|
|
4674
4693
|
--sb-color-row-separator: rgba(0, 0, 0, 0.1);
|
|
@@ -4682,66 +4701,107 @@ html[data-sb-platform="macos"] .device[data-theme="dark"] {
|
|
|
4682
4701
|
--sb-mac-control-shadow:
|
|
4683
4702
|
0 0 0 0.5px rgba(0, 0, 0, 0.4),
|
|
4684
4703
|
0 1px 1px rgba(0, 0, 0, 0.2);
|
|
4704
|
+
--sb-mac-field: #333333;
|
|
4685
4705
|
--sb-mac-field-shadow:
|
|
4686
4706
|
inset 0 0 0 1px rgba(255, 255, 255, 0.12),
|
|
4687
4707
|
inset 0 -1px 0 0 rgba(255, 255, 255, 0.2);
|
|
4688
4708
|
--sb-mac-segment-track: #333333;
|
|
4689
4709
|
--sb-mac-segment: #666666;
|
|
4690
|
-
--sb-mac-tab-selected: #
|
|
4691
|
-
--sb-mac-
|
|
4692
|
-
--sb-
|
|
4710
|
+
--sb-mac-tab-selected: #373737;
|
|
4711
|
+
--sb-mac-tab-rule: #282828;
|
|
4712
|
+
--sb-mac-sheet: #1e1e1e;
|
|
4713
|
+
--sb-mac-sheet-bar: #1e1e1e;
|
|
4714
|
+
--sb-mac-sheet-rule: #343434;
|
|
4715
|
+
--sb-glass-background: #141414;
|
|
4716
|
+
--sb-glass-shadow: 0 0 0 0.5px rgba(0, 0, 0, 0.3), 0 2px 10px rgba(0, 0, 0, 0.3);
|
|
4717
|
+
--sb-glass-rim: linear-gradient(#2a2a2a, #2a2a2a);
|
|
4718
|
+
--sb-mac-glyph: #e7e7e7;
|
|
4719
|
+
--sb-mac-title: #e8e8e8;
|
|
4720
|
+
--sb-mac-rim: #2a2a2a;
|
|
4721
|
+
--sb-mac-sidebar-selection: #464646;
|
|
4722
|
+
--sb-mac-card: #252525;
|
|
4723
|
+
--sb-mac-card-separator: #2f2f2f;
|
|
4724
|
+
--sb-mac-push: rgba(255, 255, 255, 0.075);
|
|
4725
|
+
--sb-color-system-background: #1e1e1e;
|
|
4693
4726
|
--sb-color-grouped-background: #1e1e1e;
|
|
4694
4727
|
--sb-color-grouped-cell: #1e1e1e;
|
|
4695
4728
|
--sb-color-row-separator: rgba(255, 255, 255, 0.1);
|
|
4696
4729
|
--sb-color-secondary: rgba(255, 255, 255, 0.55);
|
|
4697
4730
|
}
|
|
4698
4731
|
|
|
4699
|
-
/* The title bar in place of the navigation bar:
|
|
4700
|
-
|
|
4701
|
-
|
|
4732
|
+
/* The title bar in place of the navigation bar (macOS 26): no color or
|
|
4733
|
+
rule of its own, the window's content color under it; no scroll-edge
|
|
4734
|
+
gradient. Its items are on Liquid Glass capsules (the engine's
|
|
4735
|
+
`leadingGlass0` …, `trailingGlass0` …: 36 tall, the Mac's colors above). */
|
|
4702
4736
|
html[data-sb-platform="macos"] .sb-navbar {
|
|
4703
|
-
|
|
4737
|
+
/* Over the capsules (the back button is drawn on the leading one). */
|
|
4738
|
+
z-index: 3;
|
|
4739
|
+
background: none;
|
|
4704
4740
|
}
|
|
4705
4741
|
|
|
4706
|
-
|
|
4707
|
-
|
|
4708
|
-
content: "";
|
|
4709
|
-
position: absolute;
|
|
4710
|
-
left: 0;
|
|
4711
|
-
right: 0;
|
|
4712
|
-
bottom: -1px;
|
|
4713
|
-
height: 1px;
|
|
4714
|
-
background: var(--sb-mac-separator);
|
|
4715
|
-
pointer-events: none;
|
|
4742
|
+
html[data-sb-platform="macos"] .sb-navbar::before {
|
|
4743
|
+
display: none;
|
|
4716
4744
|
}
|
|
4717
4745
|
|
|
4718
|
-
html[data-sb-platform="macos"] .sb-navbar::before,
|
|
4719
4746
|
html[data-sb-platform="macos"] .sb-bar-glass {
|
|
4720
|
-
|
|
4747
|
+
backdrop-filter: none;
|
|
4748
|
+
-webkit-backdrop-filter: none;
|
|
4721
4749
|
}
|
|
4722
4750
|
|
|
4723
|
-
/* The back button
|
|
4724
|
-
|
|
4725
|
-
|
|
4751
|
+
/* The back button is the first slot of the leading capsule (the engine's
|
|
4752
|
+
`back` rect inside `leadingGlass0`), the More button a glass circle of its
|
|
4753
|
+
own; their glyphs, as the items', the toolbar's dark gray. The sidebar
|
|
4754
|
+
toggle is bare (the split view's styles below). */
|
|
4726
4755
|
html[data-sb-platform="macos"] .sb-navbar-back,
|
|
4727
4756
|
html[data-sb-platform="macos"] .sb-navbar-more,
|
|
4728
4757
|
html[data-sb-platform="macos"] .sb-navsplit-toggle {
|
|
4729
|
-
width:
|
|
4730
|
-
height:
|
|
4731
|
-
border-radius:
|
|
4758
|
+
width: 36px;
|
|
4759
|
+
height: 36px;
|
|
4760
|
+
border-radius: 18px;
|
|
4761
|
+
font-size: 13px;
|
|
4762
|
+
color: var(--sb-mac-glyph);
|
|
4763
|
+
--sb-press-scale: 1;
|
|
4764
|
+
}
|
|
4765
|
+
|
|
4766
|
+
html[data-sb-platform="macos"] .sb-navbar-back,
|
|
4767
|
+
html[data-sb-platform="macos"] .sb-navsplit-toggle {
|
|
4732
4768
|
background: none;
|
|
4733
4769
|
box-shadow: none;
|
|
4734
4770
|
backdrop-filter: none;
|
|
4735
4771
|
-webkit-backdrop-filter: none;
|
|
4736
|
-
|
|
4737
|
-
|
|
4772
|
+
}
|
|
4773
|
+
|
|
4774
|
+
html[data-sb-platform="macos"] .sb-navbar-back::after,
|
|
4775
|
+
html[data-sb-platform="macos"] .sb-navsplit-toggle::after {
|
|
4776
|
+
display: none;
|
|
4777
|
+
}
|
|
4778
|
+
|
|
4779
|
+
/* Over the leading capsule it is the first slot of. */
|
|
4780
|
+
html[data-sb-platform="macos"] .sb-navbar-back {
|
|
4781
|
+
z-index: 3;
|
|
4738
4782
|
}
|
|
4739
4783
|
|
|
4740
4784
|
html[data-sb-platform="macos"] .sb-navbar-back > svg {
|
|
4741
|
-
width:
|
|
4742
|
-
height:
|
|
4785
|
+
width: 15px;
|
|
4786
|
+
height: 15px;
|
|
4743
4787
|
margin-left: -1px;
|
|
4744
|
-
color: var(--sb-
|
|
4788
|
+
color: var(--sb-mac-glyph);
|
|
4789
|
+
}
|
|
4790
|
+
|
|
4791
|
+
/* A toolbar item is drawn in the toolbar's colors whatever its `.tint`
|
|
4792
|
+
(SwiftUI on macOS 26, as the native renderer shows it): a bottom-bar item
|
|
4793
|
+
is one too, at the toolbar's trailing end (the engine's `barPlacement`). */
|
|
4794
|
+
html[data-sb-platform="macos"] .sb-toolbar:is([data-sb-placement="leading"], [data-sb-placement="trailing"], [data-sb-placement="bottom"]) :is(.sb-button, .sb-menu):not([data-sb-role="destructive"]) {
|
|
4795
|
+
--sb-tint: var(--sb-mac-glyph) !important;
|
|
4796
|
+
}
|
|
4797
|
+
|
|
4798
|
+
html[data-sb-platform="macos"] .sb-toolbar[data-sb-placement="bottom"] .sb-image > svg {
|
|
4799
|
+
stroke-width: 1.85;
|
|
4800
|
+
}
|
|
4801
|
+
|
|
4802
|
+
/* A toolbar item's glyph and label: the toolbar's dark gray, not the accent. */
|
|
4803
|
+
html[data-sb-platform="macos"] .sb-navbar .sb-button:not([data-sb-role="destructive"]) {
|
|
4804
|
+
color: var(--sb-button-color, var(--sb-mac-glyph));
|
|
4745
4805
|
}
|
|
4746
4806
|
|
|
4747
4807
|
/* A bar's text button is a bordered 28 button at its slot (the engine's
|
|
@@ -4762,6 +4822,8 @@ html[data-sb-platform="macos"] .sb-navbar-more:active {
|
|
|
4762
4822
|
the leading items, 15 semibold (the engine's `title` rect and font). */
|
|
4763
4823
|
html[data-sb-platform="macos"] .sb-navbar-title {
|
|
4764
4824
|
font-size: var(--sb-ts-headline-size, 13px);
|
|
4825
|
+
text-align: start;
|
|
4826
|
+
color: var(--sb-mac-title);
|
|
4765
4827
|
}
|
|
4766
4828
|
|
|
4767
4829
|
html[data-sb-platform="macos"] .sb-navscreen[data-sb-unified] > .sb-navbar > .sb-navbar-title {
|
|
@@ -4769,20 +4831,169 @@ html[data-sb-platform="macos"] .sb-navscreen[data-sb-unified] > .sb-navbar > .sb
|
|
|
4769
4831
|
font-size: var(--sb-ts-title3-size, 15px);
|
|
4770
4832
|
}
|
|
4771
4833
|
|
|
4772
|
-
/*
|
|
4773
|
-
|
|
4774
|
-
|
|
4834
|
+
/* `.navigationSubtitle`: a second line under the title in a unified title
|
|
4835
|
+
bar (the engine's `subtitle` rect; in a plain bar it joins the title). */
|
|
4836
|
+
.sb-navbar-subtitle {
|
|
4837
|
+
position: absolute;
|
|
4838
|
+
display: block;
|
|
4839
|
+
overflow: hidden;
|
|
4840
|
+
text-overflow: ellipsis;
|
|
4841
|
+
white-space: nowrap;
|
|
4842
|
+
text-align: start;
|
|
4843
|
+
font-size: 11px;
|
|
4844
|
+
color: var(--sb-color-secondary);
|
|
4845
|
+
}
|
|
4846
|
+
|
|
4847
|
+
.sb-navbar-subtitle[hidden] {
|
|
4848
|
+
display: none;
|
|
4849
|
+
}
|
|
4850
|
+
|
|
4851
|
+
/* A `Form` is the columns style (the engine's `columns` plan): on the
|
|
4852
|
+
window background with no cards or separators; the labels (chrome
|
|
4853
|
+
`formLabel<i>`) right-aligned in their column, the label color; a
|
|
4854
|
+
section's header and footer 13 regular, the label color; a text field's
|
|
4855
|
+
title moved to the column shows no placeholder. */
|
|
4856
|
+
html[data-sb-platform="macos"] .sb-list[data-sb-form-columns] {
|
|
4857
|
+
background: var(--sb-color-system-background);
|
|
4858
|
+
}
|
|
4859
|
+
|
|
4860
|
+
/* The rows' card spans the form (the label column is drawn in it): no card look, nothing clipped. */
|
|
4861
|
+
html[data-sb-platform="macos"] .sb-list[data-sb-form-columns] .sb-section-rows {
|
|
4862
|
+
border-radius: 0;
|
|
4863
|
+
background: transparent;
|
|
4864
|
+
overflow: visible;
|
|
4865
|
+
}
|
|
4866
|
+
|
|
4867
|
+
/* A text field's row is the field (the engine's row rect): the Mac's bezel, its text 3 in. */
|
|
4868
|
+
html[data-sb-platform="macos"] .sb-list[data-sb-form-columns] .sb-textfield[data-sb-style] {
|
|
4869
|
+
box-sizing: border-box;
|
|
4870
|
+
padding: 0 3px;
|
|
4871
|
+
border-radius: 5px;
|
|
4872
|
+
background: var(--sb-mac-field);
|
|
4873
|
+
box-shadow: var(--sb-mac-field-shadow);
|
|
4874
|
+
}
|
|
4875
|
+
|
|
4876
|
+
html[data-sb-platform="macos"] .sb-list[data-sb-form-columns] .sb-textfield[data-sb-style]:focus {
|
|
4877
|
+
box-shadow:
|
|
4878
|
+
var(--sb-mac-field-shadow),
|
|
4879
|
+
0 0 0 3.5px color-mix(in srgb, var(--sb-tint, var(--sb-color-accent)) 50%, transparent);
|
|
4880
|
+
}
|
|
4881
|
+
|
|
4882
|
+
html[data-sb-platform="macos"] .sb-list[data-sb-form-columns] .sb-section-rows > ::after,
|
|
4883
|
+
html[data-sb-platform="macos"] .sb-list[data-sb-form-columns] > .sb-list-content > :not(.sb-section)::after,
|
|
4884
|
+
html[data-sb-platform="macos"] .sb-list[data-sb-form-columns] .sb-section-header::after,
|
|
4885
|
+
html[data-sb-platform="macos"] .sb-list[data-sb-form-columns] .sb-section-footer::after {
|
|
4886
|
+
display: none;
|
|
4887
|
+
}
|
|
4888
|
+
|
|
4889
|
+
html[data-sb-platform="macos"] .sb-list[data-sb-form-columns] .sb-section-header,
|
|
4890
|
+
html[data-sb-platform="macos"] .sb-list[data-sb-form-columns] .sb-section-footer {
|
|
4891
|
+
color: var(--sb-color-primary);
|
|
4892
|
+
}
|
|
4893
|
+
|
|
4894
|
+
html[data-sb-platform="macos"] .sb-list[data-sb-form-columns] .sb-form-label {
|
|
4895
|
+
position: absolute;
|
|
4896
|
+
white-space: pre;
|
|
4897
|
+
text-align: right;
|
|
4898
|
+
color: var(--sb-color-primary);
|
|
4899
|
+
}
|
|
4900
|
+
|
|
4901
|
+
@supports (text-box: trim-start cap alphabetic) {
|
|
4902
|
+
html[data-sb-platform="macos"] .sb-list[data-sb-form-columns] .sb-form-label {
|
|
4903
|
+
text-box: trim-start cap alphabetic;
|
|
4904
|
+
padding-top: var(--sb-cap-inset);
|
|
4905
|
+
}
|
|
4906
|
+
}
|
|
4907
|
+
|
|
4908
|
+
html[data-sb-platform="macos"] .sb-list[data-sb-form-columns] input.sb-textfield::placeholder {
|
|
4909
|
+
color: transparent;
|
|
4910
|
+
}
|
|
4911
|
+
|
|
4912
|
+
/* A pop-up button spanning the controls column: its value at the leading end, the chevrons at the trailing. */
|
|
4913
|
+
html[data-sb-platform="macos"] .sb-list[data-sb-form-columns] .sb-picker[data-sb-popup] > .sb-picker-value {
|
|
4914
|
+
justify-content: space-between;
|
|
4915
|
+
}
|
|
4916
|
+
|
|
4917
|
+
/* A grouped form (`.formStyle(.grouped)`, the engine's `grouped` plan):
|
|
4918
|
+
each section a rounded card (11), its rows separated by a point 10 in
|
|
4919
|
+
from either side; headers the label color, no rules. */
|
|
4920
|
+
html[data-sb-platform="macos"] .sb-list[data-sb-form-grouped] .sb-section-rows {
|
|
4921
|
+
border-radius: 11px;
|
|
4922
|
+
background: var(--sb-mac-card);
|
|
4923
|
+
}
|
|
4924
|
+
|
|
4925
|
+
html[data-sb-platform="macos"] .sb-list[data-sb-form-grouped] .sb-section-rows > [data-sb-id]::after {
|
|
4926
|
+
content: "";
|
|
4927
|
+
display: block;
|
|
4928
|
+
position: absolute;
|
|
4929
|
+
left: 10px;
|
|
4930
|
+
right: 10px;
|
|
4931
|
+
bottom: -1px;
|
|
4932
|
+
height: 1px;
|
|
4933
|
+
background: var(--sb-mac-card-separator);
|
|
4934
|
+
pointer-events: none;
|
|
4935
|
+
}
|
|
4936
|
+
|
|
4937
|
+
html[data-sb-platform="macos"] .sb-list[data-sb-form-grouped] .sb-section-rows > [data-sb-id]:last-child::after,
|
|
4938
|
+
html[data-sb-platform="macos"] .sb-list[data-sb-form-grouped] .sb-section-header::after,
|
|
4939
|
+
html[data-sb-platform="macos"] .sb-list[data-sb-form-grouped] .sb-section .sb-section-footer::after {
|
|
4940
|
+
display: none;
|
|
4941
|
+
}
|
|
4942
|
+
|
|
4943
|
+
html[data-sb-platform="macos"] .sb-list[data-sb-form-grouped] .sb-picker-value {
|
|
4944
|
+
color: var(--sb-color-primary);
|
|
4945
|
+
}
|
|
4946
|
+
|
|
4947
|
+
html[data-sb-platform="macos"] .sb-list[data-sb-form-grouped] .sb-section-header {
|
|
4948
|
+
color: var(--sb-color-primary);
|
|
4949
|
+
}
|
|
4950
|
+
|
|
4951
|
+
/* A text field's title leads its row (chrome `formLabel<i>`), its value at
|
|
4952
|
+
the trailing end; a Label's icon the label color; a link's small chevron. */
|
|
4953
|
+
html[data-sb-platform="macos"] .sb-list[data-sb-form-grouped] .sb-form-label {
|
|
4954
|
+
position: absolute;
|
|
4955
|
+
white-space: pre;
|
|
4956
|
+
color: var(--sb-color-primary);
|
|
4957
|
+
}
|
|
4958
|
+
|
|
4959
|
+
html[data-sb-platform="macos"] .sb-list[data-sb-form-grouped] input.sb-textfield {
|
|
4960
|
+
text-align: right;
|
|
4961
|
+
}
|
|
4962
|
+
|
|
4963
|
+
html[data-sb-platform="macos"] .sb-list[data-sb-form-grouped] input.sb-textfield::placeholder {
|
|
4964
|
+
color: transparent;
|
|
4965
|
+
}
|
|
4966
|
+
|
|
4967
|
+
html[data-sb-platform="macos"] .sb-list[data-sb-form-grouped] [data-sb-label-icon] {
|
|
4968
|
+
color: var(--sb-button-color, var(--sb-color-primary));
|
|
4969
|
+
}
|
|
4970
|
+
|
|
4971
|
+
/* A switch (36 × 18): the accent while on, white with a hairline while off; a white knob. */
|
|
4972
|
+
html[data-sb-platform="macos"] .sb-list[data-sb-form-grouped] .sb-toggle:not([data-sb-checkbox]) > .sb-switch {
|
|
4973
|
+
border-radius: 9px;
|
|
4974
|
+
background: var(--sb-mac-control);
|
|
4975
|
+
box-shadow: inset 0 0 0 0.5px rgba(0, 0, 0, 0.15);
|
|
4976
|
+
}
|
|
4977
|
+
|
|
4978
|
+
html[data-sb-platform="macos"] .sb-list[data-sb-form-grouped] .sb-toggle:not([data-sb-checkbox]) > .sb-switch[aria-checked="true"] {
|
|
4979
|
+
background: var(--sb-tint, var(--sb-color-accent));
|
|
4980
|
+
box-shadow: none;
|
|
4981
|
+
}
|
|
4982
|
+
|
|
4983
|
+
/* The tab bar (macOS 26): a glass capsule in the toolbar (the engine's Mac
|
|
4984
|
+
tab view), each tab an equal segment with its title alone, the selected
|
|
4985
|
+
one a gray pill, a short rule between two unselected ones; no icons. */
|
|
4775
4986
|
html[data-sb-platform="macos"] .sb-tabbar {
|
|
4776
4987
|
z-index: 2;
|
|
4777
|
-
border-radius:
|
|
4778
|
-
background:
|
|
4779
|
-
box-shadow: inset 0 0 0 1px var(--sb-
|
|
4988
|
+
border-radius: 9999px;
|
|
4989
|
+
background: var(--sb-glass-background);
|
|
4990
|
+
box-shadow: inset 0 0 0 1px var(--sb-mac-rim), var(--sb-glass-shadow);
|
|
4780
4991
|
backdrop-filter: none;
|
|
4781
4992
|
-webkit-backdrop-filter: none;
|
|
4782
4993
|
}
|
|
4783
4994
|
|
|
4784
4995
|
html[data-sb-platform="macos"] .sb-tabbar-item {
|
|
4785
|
-
border-radius:
|
|
4996
|
+
border-radius: 9999px;
|
|
4786
4997
|
color: var(--sb-color-primary);
|
|
4787
4998
|
}
|
|
4788
4999
|
|
|
@@ -4792,6 +5003,16 @@ html[data-sb-platform="macos"] .sb-tabbar-item[aria-selected="true"] {
|
|
|
4792
5003
|
box-shadow: none;
|
|
4793
5004
|
}
|
|
4794
5005
|
|
|
5006
|
+
html[data-sb-platform="macos"] .sb-tabbar-item:not([aria-selected="true"]) + .sb-tabbar-item:not([aria-selected="true"])::before {
|
|
5007
|
+
content: '';
|
|
5008
|
+
position: absolute;
|
|
5009
|
+
left: -0.5px;
|
|
5010
|
+
top: 2px;
|
|
5011
|
+
bottom: 2px;
|
|
5012
|
+
width: 1px;
|
|
5013
|
+
background: var(--sb-mac-tab-rule);
|
|
5014
|
+
}
|
|
5015
|
+
|
|
4795
5016
|
html[data-sb-platform="macos"] .sb-tabbar-icon,
|
|
4796
5017
|
html[data-sb-platform="macos"] .sb-tabbar-badge {
|
|
4797
5018
|
display: none;
|
|
@@ -4806,15 +5027,14 @@ html[data-sb-platform="macos"] .sb-tabbar-title {
|
|
|
4806
5027
|
|
|
4807
5028
|
/* Buttons: a bordered button, and an automatic one the engine bordered
|
|
4808
5029
|
(`data-sb-bordered`: outside a list row and a bar), is the Mac's push
|
|
4809
|
-
button
|
|
4810
|
-
|
|
4811
|
-
white text. */
|
|
5030
|
+
button (macOS 26): a capsule of translucent gray, no rim or shadow, its
|
|
5031
|
+
label the primary color; a prominent one the accent with white text. */
|
|
4812
5032
|
html[data-sb-platform="macos"] .sb-button[data-sb-style="bordered"],
|
|
4813
5033
|
html[data-sb-platform="macos"] .sb-button[data-sb-style="automatic"][data-sb-bordered],
|
|
4814
5034
|
html[data-sb-platform="macos"] .sb-button[data-sb-style="borderedProminent"] {
|
|
4815
|
-
border-radius:
|
|
4816
|
-
background: var(--sb-mac-
|
|
4817
|
-
box-shadow:
|
|
5035
|
+
border-radius: 9999px;
|
|
5036
|
+
background: var(--sb-mac-push);
|
|
5037
|
+
box-shadow: none;
|
|
4818
5038
|
color: var(--sb-button-color, var(--sb-color-primary));
|
|
4819
5039
|
}
|
|
4820
5040
|
|
|
@@ -4840,14 +5060,14 @@ html[data-sb-platform="macos"] .sb-button[data-sb-style="plain"] {
|
|
|
4840
5060
|
color: var(--sb-button-color, var(--sb-color-secondary));
|
|
4841
5061
|
}
|
|
4842
5062
|
|
|
4843
|
-
/* A segmented control (
|
|
4844
|
-
|
|
4845
|
-
|
|
4846
|
-
|
|
5063
|
+
/* A segmented control (macOS 26): a 24 capsule of translucent gray, its
|
|
5064
|
+
13-point regular labels in equal segments, the selected one an accent
|
|
5065
|
+
capsule with white text; its label (the engine's `label`) before it in
|
|
5066
|
+
the row's font. */
|
|
4847
5067
|
html[data-sb-platform="macos"] .sb-picker[data-sb-style="segmented"]:not([data-sb-bar]) > .sb-segment-track {
|
|
4848
|
-
border-radius:
|
|
4849
|
-
background: var(--sb-mac-
|
|
4850
|
-
box-shadow:
|
|
5068
|
+
border-radius: 9999px;
|
|
5069
|
+
background: var(--sb-mac-push);
|
|
5070
|
+
box-shadow: none;
|
|
4851
5071
|
}
|
|
4852
5072
|
|
|
4853
5073
|
html[data-sb-platform="macos"] .sb-picker[data-sb-style="segmented"]:not([data-sb-bar]) > .sb-segment {
|
|
@@ -4856,13 +5076,17 @@ html[data-sb-platform="macos"] .sb-picker[data-sb-style="segmented"]:not([data-s
|
|
|
4856
5076
|
}
|
|
4857
5077
|
|
|
4858
5078
|
html[data-sb-platform="macos"] .sb-picker[data-sb-style="segmented"]:not([data-sb-bar]) > .sb-segment::before {
|
|
4859
|
-
inset:
|
|
4860
|
-
border-radius:
|
|
5079
|
+
inset: 0;
|
|
5080
|
+
border-radius: 9999px;
|
|
4861
5081
|
}
|
|
4862
5082
|
|
|
4863
5083
|
html[data-sb-platform="macos"] .sb-picker[data-sb-style="segmented"]:not([data-sb-bar]) > .sb-segment[aria-checked="true"]::before {
|
|
4864
|
-
background: var(--sb-
|
|
4865
|
-
box-shadow:
|
|
5084
|
+
background: var(--sb-tint, var(--sb-color-accent));
|
|
5085
|
+
box-shadow: none;
|
|
5086
|
+
}
|
|
5087
|
+
|
|
5088
|
+
html[data-sb-platform="macos"] .sb-picker[data-sb-style="segmented"]:not([data-sb-bar]) > .sb-segment[aria-checked="true"] {
|
|
5089
|
+
color: #ffffff;
|
|
4866
5090
|
}
|
|
4867
5091
|
|
|
4868
5092
|
html[data-sb-platform="macos"] .sb-picker[data-sb-style="segmented"] > .sb-picker-label {
|
|
@@ -4911,87 +5135,126 @@ html[data-sb-platform="macos"] .sb-list .sb-toggle:not([data-sb-checkbox]):not([
|
|
|
4911
5135
|
transform: translateX(11px);
|
|
4912
5136
|
}
|
|
4913
5137
|
|
|
4914
|
-
/* A menu picker outside a list row is a pop-up button: its value
|
|
4915
|
-
chevrons
|
|
4916
|
-
|
|
5138
|
+
/* A menu picker outside a list row is a pop-up button (macOS 26): its value
|
|
5139
|
+
and the chevrons on a translucent gray rounded rect (the engine's `popup`
|
|
5140
|
+
rect, as wide as the widest option), the value 13 in, the chevrons a
|
|
5141
|
+
small glyph 9 from the end. */
|
|
4917
5142
|
html[data-sb-platform="macos"] .sb-picker[data-sb-popup] > .sb-picker-value {
|
|
4918
5143
|
box-sizing: border-box;
|
|
4919
|
-
|
|
5144
|
+
justify-content: space-between;
|
|
5145
|
+
padding: 0 7px 0 13px;
|
|
4920
5146
|
gap: 6px;
|
|
4921
|
-
border-radius:
|
|
4922
|
-
background: var(--sb-mac-
|
|
4923
|
-
box-shadow:
|
|
5147
|
+
border-radius: 6px;
|
|
5148
|
+
background: var(--sb-mac-push);
|
|
5149
|
+
box-shadow: none;
|
|
4924
5150
|
color: var(--sb-color-primary);
|
|
4925
5151
|
}
|
|
4926
5152
|
|
|
4927
5153
|
html[data-sb-platform="macos"] .sb-picker[data-sb-popup] > .sb-picker-value > svg {
|
|
4928
|
-
|
|
4929
|
-
|
|
4930
|
-
|
|
4931
|
-
|
|
4932
|
-
border-radius: 4px;
|
|
4933
|
-
background: var(--sb-tint, var(--sb-color-accent));
|
|
4934
|
-
color: #ffffff;
|
|
4935
|
-
stroke-width: 3;
|
|
5154
|
+
width: 12px;
|
|
5155
|
+
height: 12px;
|
|
5156
|
+
color: var(--sb-color-primary);
|
|
5157
|
+
stroke-width: 2.5;
|
|
4936
5158
|
}
|
|
4937
5159
|
|
|
4938
|
-
/* Lists
|
|
4939
|
-
|
|
4940
|
-
|
|
4941
|
-
|
|
4942
|
-
|
|
5160
|
+
/* Lists (SwiftUI's inset style, as the native renderer draws it on macOS
|
|
5161
|
+
26): no cards; the rows inset 16 from the list's edges on its white, a
|
|
5162
|
+
separator under each row from its first text to the row's trailing edge,
|
|
5163
|
+
except under the last row of the list (a footer or another section after
|
|
5164
|
+
it brings one back); a rule across the rows at a section's first row's
|
|
5165
|
+
top under its header, and 5 under a footer another section follows; a
|
|
5166
|
+
selected row is the accent with white text (the sidebar's, when the
|
|
5167
|
+
window is key). The engine draws no chevrons. */
|
|
4943
5168
|
html[data-sb-platform="macos"] .sb-section-rows,
|
|
4944
5169
|
html[data-sb-platform="macos"] .sb-list-content > :not(.sb-section) {
|
|
4945
5170
|
border-radius: 0;
|
|
4946
5171
|
background: none;
|
|
4947
5172
|
}
|
|
4948
5173
|
|
|
5174
|
+
/* No card to clip to: a row's symbol may overhang the inset rows' edge. */
|
|
5175
|
+
html[data-sb-platform="macos"] .sb-list:not([data-sb-form-grouped]) .sb-section-rows {
|
|
5176
|
+
overflow: visible;
|
|
5177
|
+
}
|
|
5178
|
+
|
|
5179
|
+
/* A Label's icon in a Mac list row is the symbol at the font's point size
|
|
5180
|
+
(no icon column, docs/notes/macos.md); a sidebar's and a grouped form's
|
|
5181
|
+
keep their own sizes. */
|
|
5182
|
+
html[data-sb-platform="macos"] .sb-list:not([data-sb-list-style="sidebar"]):not([data-sb-list-look]):not([data-sb-form-grouped]) [data-sb-label-icon] .sb-image > svg {
|
|
5183
|
+
width: 1.1em;
|
|
5184
|
+
height: 1.1em;
|
|
5185
|
+
stroke-width: 1.6;
|
|
5186
|
+
}
|
|
5187
|
+
|
|
4949
5188
|
html[data-sb-platform="macos"] .sb-section-rows > [data-sb-id],
|
|
4950
5189
|
html[data-sb-platform="macos"] .sb-section-rows > [data-sb-ghost] {
|
|
4951
5190
|
background: var(--sb-row-background, transparent);
|
|
4952
5191
|
}
|
|
4953
5192
|
|
|
4954
|
-
html[data-sb-platform="macos"] .sb-section-rows > :last-child::after,
|
|
4955
|
-
html[data-sb-platform="macos"] .sb-list-content > :not(.sb-section):last-child::after
|
|
5193
|
+
html[data-sb-platform="macos"] .sb-section-rows > :not(:last-child)::after,
|
|
5194
|
+
html[data-sb-platform="macos"] .sb-list-content > :not(.sb-section):not(:last-child):not(:has(+ .sb-section))::after {
|
|
5195
|
+
left: var(--sb-separator-leading, 0px);
|
|
5196
|
+
right: 0;
|
|
5197
|
+
}
|
|
5198
|
+
|
|
5199
|
+
html[data-sb-platform="macos"] .sb-section-rows > :is(input, textarea):not(:last-child),
|
|
5200
|
+
html[data-sb-platform="macos"] .sb-list-content > :is(input, textarea):not(:last-child):not(:has(+ .sb-section)) {
|
|
5201
|
+
background-position: var(--sb-separator-leading, 0px) 100%;
|
|
5202
|
+
background-size: calc(100% - var(--sb-separator-leading, 0px)) 1px;
|
|
5203
|
+
}
|
|
5204
|
+
|
|
5205
|
+
html[data-sb-platform="macos"] .sb-section:not(:last-child) > .sb-section-rows > :last-child::after,
|
|
5206
|
+
html[data-sb-platform="macos"] .sb-section:has(> .sb-section-footer:not([hidden])) > .sb-section-rows > :last-child::after,
|
|
4956
5207
|
html[data-sb-platform="macos"] .sb-list-content > :not(.sb-section):has(+ .sb-section)::after {
|
|
4957
5208
|
content: "";
|
|
4958
5209
|
position: absolute;
|
|
4959
|
-
left: var(--sb-separator-leading,
|
|
4960
|
-
right:
|
|
5210
|
+
left: var(--sb-separator-leading, 0px);
|
|
5211
|
+
right: 0;
|
|
4961
5212
|
bottom: 0;
|
|
4962
5213
|
height: 1px;
|
|
4963
5214
|
background: var(--sb-color-row-separator);
|
|
4964
5215
|
pointer-events: none;
|
|
4965
5216
|
}
|
|
4966
5217
|
|
|
5218
|
+
/* The rule under a header (a text one or a view, `.sb-sectionheader`):
|
|
5219
|
+
across the section's rows at the first row's top. */
|
|
5220
|
+
html[data-sb-platform="macos"] .sb-list:not([data-sb-form-grouped]):not([data-sb-form-columns]):not([data-sb-list-style="sidebar"]):not([data-sb-list-look]) .sb-section:has(> .sb-section-header:not([hidden]), > .sb-sectionheader) > .sb-section-rows::before {
|
|
5221
|
+
content: "";
|
|
5222
|
+
position: absolute;
|
|
5223
|
+
top: 0;
|
|
5224
|
+
left: 0;
|
|
5225
|
+
right: 0;
|
|
5226
|
+
height: 1px;
|
|
5227
|
+
background: var(--sb-color-row-separator);
|
|
5228
|
+
pointer-events: none;
|
|
5229
|
+
z-index: 1;
|
|
5230
|
+
}
|
|
5231
|
+
|
|
4967
5232
|
html[data-sb-platform="macos"] .sb-section-header,
|
|
4968
5233
|
html[data-sb-platform="macos"] .sb-section-footer {
|
|
4969
5234
|
color: var(--sb-color-secondary);
|
|
4970
5235
|
}
|
|
4971
5236
|
|
|
4972
|
-
html[data-sb-platform="macos"] .sb-section-header::after,
|
|
4973
5237
|
html[data-sb-platform="macos"] .sb-section-footer::after {
|
|
4974
5238
|
content: "";
|
|
4975
5239
|
position: absolute;
|
|
4976
5240
|
left: -16px;
|
|
4977
5241
|
right: -16px;
|
|
4978
|
-
bottom: -
|
|
5242
|
+
bottom: -6px;
|
|
4979
5243
|
height: 1px;
|
|
4980
|
-
background: var(--sb-
|
|
5244
|
+
background: var(--sb-color-row-separator);
|
|
4981
5245
|
pointer-events: none;
|
|
4982
|
-
}
|
|
4983
|
-
|
|
4984
|
-
html[data-sb-platform="macos"] .sb-section-footer::after {
|
|
4985
5246
|
display: none;
|
|
4986
|
-
bottom: -6px;
|
|
4987
|
-
background: var(--sb-color-row-separator);
|
|
4988
5247
|
}
|
|
4989
5248
|
|
|
4990
|
-
/* The rule under a footer only where another section follows. */
|
|
5249
|
+
/* The rule under a footer only where another section follows (a columns form has none). */
|
|
4991
5250
|
html[data-sb-platform="macos"] .sb-section:has(+ .sb-section) > .sb-section-footer::after {
|
|
4992
5251
|
display: block;
|
|
4993
5252
|
}
|
|
4994
5253
|
|
|
5254
|
+
html[data-sb-platform="macos"] .sb-list[data-sb-form-columns] .sb-section:has(+ .sb-section) > .sb-section-footer::after {
|
|
5255
|
+
display: none;
|
|
5256
|
+
}
|
|
5257
|
+
|
|
4995
5258
|
/* A button in a list row is a push button at its own size (the engine's
|
|
4996
5259
|
`bordered` rect, `data-sb-bordered="inset"`), on the row, not the row
|
|
4997
5260
|
itself; a destructive one is not tinted. */
|
|
@@ -5008,9 +5271,8 @@ html[data-sb-platform="macos"] .sb-button[data-sb-style][data-sb-bordered="inset
|
|
|
5008
5271
|
top: var(--sb-bordered-top);
|
|
5009
5272
|
width: var(--sb-bordered-width);
|
|
5010
5273
|
height: var(--sb-bordered-height);
|
|
5011
|
-
border-radius:
|
|
5012
|
-
background: var(--sb-mac-
|
|
5013
|
-
box-shadow: var(--sb-mac-control-shadow);
|
|
5274
|
+
border-radius: 9999px;
|
|
5275
|
+
background: var(--sb-mac-push);
|
|
5014
5276
|
pointer-events: none;
|
|
5015
5277
|
}
|
|
5016
5278
|
|
|
@@ -5073,16 +5335,33 @@ html[data-sb-platform="macos"] .sb-searchfield > .sb-searchfield-input::placehol
|
|
|
5073
5335
|
color: var(--sb-color-tertiary-label);
|
|
5074
5336
|
}
|
|
5075
5337
|
|
|
5076
|
-
/*
|
|
5077
|
-
|
|
5078
|
-
|
|
5079
|
-
|
|
5080
|
-
|
|
5081
|
-
|
|
5082
|
-
|
|
5338
|
+
/* In the toolbar (macOS 26) the field is a glass capsule like the bar's
|
|
5339
|
+
items: the magnifier 11 in, the text 10 after it. */
|
|
5340
|
+
html[data-sb-platform="macos"] .sb-navscreen[data-sb-search-bar] .sb-searchfield {
|
|
5341
|
+
gap: 8px;
|
|
5342
|
+
padding: 0 12px 0 11px;
|
|
5343
|
+
border-radius: 9999px;
|
|
5344
|
+
background: var(--sb-glass-background);
|
|
5345
|
+
box-shadow: inset 0 0 0 1px var(--sb-mac-rim), var(--sb-glass-shadow);
|
|
5346
|
+
}
|
|
5347
|
+
|
|
5348
|
+
html[data-sb-platform="macos"] .sb-navscreen[data-sb-search-bar] .sb-searchfield > svg {
|
|
5349
|
+
width: 14px;
|
|
5350
|
+
height: 14px;
|
|
5351
|
+
}
|
|
5352
|
+
|
|
5353
|
+
html[data-sb-platform="macos"] .sb-navscreen[data-sb-search-bar] .sb-searchfield > .sb-searchfield-input::placeholder {
|
|
5354
|
+
color: var(--sb-color-secondary);
|
|
5355
|
+
}
|
|
5356
|
+
|
|
5357
|
+
/* A sheet (measured in the Mac app, macOS 26): a panel centered in the
|
|
5358
|
+
window with a 26 radius and a shadow, its content on the sheet's gray
|
|
5359
|
+
under the white title bar (the stack's bar: its title leading, 13 bold,
|
|
5360
|
+
over a rule); its actions in a 60 bar at the bottom under a rule (the
|
|
5361
|
+
engine's `actions`). It drops in from above rather than sliding up. */
|
|
5083
5362
|
html[data-sb-platform="macos"] .sb-sheet[data-sb-form] > .sb-sheet-card {
|
|
5084
5363
|
--sb-sheet-offscreen: -100vh;
|
|
5085
|
-
border-radius:
|
|
5364
|
+
border-radius: 26px;
|
|
5086
5365
|
background: var(--sb-mac-sheet);
|
|
5087
5366
|
box-shadow:
|
|
5088
5367
|
0 0 0 0.5px rgba(0, 0, 0, 0.25),
|
|
@@ -5100,6 +5379,15 @@ html[data-sb-platform="macos"] .sb-sheet[data-sb-form][data-sb-actions] > .sb-sh
|
|
|
5100
5379
|
pointer-events: none;
|
|
5101
5380
|
}
|
|
5102
5381
|
|
|
5382
|
+
html[data-sb-platform="macos"] .sb-navscreen[data-sb-sheet-bar] {
|
|
5383
|
+
background: transparent;
|
|
5384
|
+
}
|
|
5385
|
+
|
|
5386
|
+
html[data-sb-platform="macos"] .sb-navscreen[data-sb-sheet-bar] > .sb-navbar {
|
|
5387
|
+
background: var(--sb-mac-sheet-bar);
|
|
5388
|
+
box-shadow: 0 1px 0 var(--sb-mac-sheet-rule);
|
|
5389
|
+
}
|
|
5390
|
+
|
|
5103
5391
|
html[data-sb-platform="macos"] .sb-navscreen[data-sb-sheet-bar] > .sb-navbar > .sb-navbar-title {
|
|
5104
5392
|
text-align: start;
|
|
5105
5393
|
font-size: 13px;
|
|
@@ -5118,7 +5406,7 @@ html[data-sb-platform="macos"] .sb-textfield:not([data-sb-style="plain"]) {
|
|
|
5118
5406
|
padding: 0 6px;
|
|
5119
5407
|
border: 0;
|
|
5120
5408
|
border-radius: 5px;
|
|
5121
|
-
background: var(--sb-mac-
|
|
5409
|
+
background: var(--sb-mac-field);
|
|
5122
5410
|
box-shadow: var(--sb-mac-field-shadow);
|
|
5123
5411
|
font-size: 13px;
|
|
5124
5412
|
}
|
|
@@ -5149,6 +5437,11 @@ html[data-sb-platform="macos"] .sb-stepper[data-sb-arrows] > .sb-stepper-control
|
|
|
5149
5437
|
line-height: 0;
|
|
5150
5438
|
}
|
|
5151
5439
|
|
|
5440
|
+
/* The arrows stand in for the plus and minus glyphs. */
|
|
5441
|
+
html[data-sb-platform="macos"] .sb-stepper[data-sb-arrows] > .sb-stepper-control > .sb-stepper-button > svg {
|
|
5442
|
+
display: none;
|
|
5443
|
+
}
|
|
5444
|
+
|
|
5152
5445
|
html[data-sb-platform="macos"] .sb-stepper[data-sb-arrows] > .sb-stepper-control > .sb-stepper-button::after {
|
|
5153
5446
|
content: "";
|
|
5154
5447
|
width: 0;
|
|
@@ -5169,44 +5462,31 @@ html[data-sb-platform="macos"] .sb-stepper[data-sb-arrows] > .sb-stepper-control
|
|
|
5169
5462
|
display: none;
|
|
5170
5463
|
}
|
|
5171
5464
|
|
|
5172
|
-
/* An alert is a panel (the engine's `panel` rect, 260 wide): the
|
|
5173
|
-
|
|
5174
|
-
|
|
5175
|
-
|
|
5465
|
+
/* An alert is a panel (the engine's `panel` rect, 260 wide; macOS 26): the
|
|
5466
|
+
glass fill with a rim, an 18 radius and a shadow, its title and message
|
|
5467
|
+
leading-aligned; its buttons capsules of translucent gray, a destructive
|
|
5468
|
+
one red on a red tint, the default one (the last that is not a cancel)
|
|
5469
|
+
the accent. */
|
|
5176
5470
|
html[data-sb-platform="macos"] .sb-alert[data-sb-panel] .sb-alert-card {
|
|
5177
|
-
border-radius:
|
|
5178
|
-
background: var(--sb-
|
|
5471
|
+
border-radius: 18px;
|
|
5472
|
+
background: var(--sb-glass-background);
|
|
5179
5473
|
box-shadow:
|
|
5180
|
-
|
|
5181
|
-
0
|
|
5474
|
+
inset 0 0 0 1px var(--sb-mac-rim),
|
|
5475
|
+
0 0 0 0.5px rgba(0, 0, 0, 0.12),
|
|
5476
|
+
0 12px 40px rgba(0, 0, 0, 0.25);
|
|
5182
5477
|
backdrop-filter: none;
|
|
5183
5478
|
-webkit-backdrop-filter: none;
|
|
5184
5479
|
}
|
|
5185
5480
|
|
|
5186
|
-
/* The
|
|
5187
|
-
html[data-sb-platform="macos"] .sb-alert[data-sb-panel] .sb-alert-
|
|
5188
|
-
|
|
5189
|
-
position: absolute;
|
|
5190
|
-
top: 25px;
|
|
5191
|
-
left: 50%;
|
|
5192
|
-
width: 54px;
|
|
5193
|
-
height: 54px;
|
|
5194
|
-
margin-left: -27px;
|
|
5195
|
-
border-radius: 12px;
|
|
5196
|
-
background:
|
|
5197
|
-
linear-gradient(rgba(255, 255, 255, 0.5), rgba(255, 255, 255, 0)),
|
|
5198
|
-
repeating-linear-gradient(0deg, rgba(0, 0, 0, 0.08) 0 1px, transparent 1px 9px),
|
|
5199
|
-
repeating-linear-gradient(90deg, rgba(0, 0, 0, 0.08) 0 1px, transparent 1px 9px),
|
|
5200
|
-
#d3e0e5;
|
|
5201
|
-
box-shadow: 0 1px 2px rgba(0, 0, 0, 0.2);
|
|
5481
|
+
/* The Mac's message is the primary color, as its title. */
|
|
5482
|
+
html[data-sb-platform="macos"] .sb-alert[data-sb-panel] .sb-alert-message {
|
|
5483
|
+
color: var(--sb-color-primary);
|
|
5202
5484
|
}
|
|
5203
5485
|
|
|
5204
|
-
/* Measured in the Mac app: the buttons gray (the control color darkened),
|
|
5205
|
-
28 tall, 13 regular; a destructive one red; a lone OK the accent. */
|
|
5206
5486
|
html[data-sb-platform="macos"] .sb-alert[data-sb-panel] .sb-alert-buttons > .sb-button,
|
|
5207
5487
|
html[data-sb-platform="macos"] .sb-alert[data-sb-panel] .sb-alert-ok {
|
|
5208
|
-
border-radius:
|
|
5209
|
-
background: var(--sb-
|
|
5488
|
+
border-radius: 9999px;
|
|
5489
|
+
background: var(--sb-mac-push);
|
|
5210
5490
|
box-shadow: none;
|
|
5211
5491
|
color: var(--sb-color-primary);
|
|
5212
5492
|
font-size: 13px;
|
|
@@ -5218,6 +5498,7 @@ html[data-sb-platform="macos"] .sb-alert[data-sb-panel] .sb-alert-ok {
|
|
|
5218
5498
|
}
|
|
5219
5499
|
|
|
5220
5500
|
html[data-sb-platform="macos"] .sb-alert[data-sb-panel] .sb-alert-buttons > .sb-button[data-sb-role="destructive"] {
|
|
5501
|
+
background: color-mix(in srgb, var(--sb-color-red) 24%, transparent);
|
|
5221
5502
|
color: var(--sb-color-red);
|
|
5222
5503
|
}
|
|
5223
5504
|
|
|
@@ -5297,3 +5578,62 @@ html[data-sb-platform="macos"] .sb-list[data-sb-list-look="sidebar"] {
|
|
|
5297
5578
|
--sb-icon-knockout: var(--sb-mac-sidebar);
|
|
5298
5579
|
}
|
|
5299
5580
|
|
|
5581
|
+
/* macOS 26: the sidebar is a floating panel (the engine's `panel` rect,
|
|
5582
|
+
under the columns): the toolbar's glass fill, its top 44 the window's
|
|
5583
|
+
color (the window buttons and the toggle on it), rounded 22, a rim and a
|
|
5584
|
+
soft shadow. The sidebar column, its screens and its list are clear over
|
|
5585
|
+
it; its rows' icons and text are the label color, the selected row a
|
|
5586
|
+
gray rounded fill. */
|
|
5587
|
+
html[data-sb-platform="macos"] .sb-navsplit-panel {
|
|
5588
|
+
position: absolute;
|
|
5589
|
+
z-index: 0;
|
|
5590
|
+
border-radius: 22px;
|
|
5591
|
+
background: linear-gradient(var(--sb-color-system-background) 0 44px, var(--sb-glass-background) 44px);
|
|
5592
|
+
box-shadow: inset 0 0 0 1px var(--sb-mac-rim), var(--sb-glass-shadow);
|
|
5593
|
+
pointer-events: none;
|
|
5594
|
+
}
|
|
5595
|
+
|
|
5596
|
+
.sb-navsplit-panel[hidden],
|
|
5597
|
+
.sb-navsplit-panel {
|
|
5598
|
+
display: none;
|
|
5599
|
+
}
|
|
5600
|
+
|
|
5601
|
+
html[data-sb-platform="macos"] .sb-navsplit-panel:not([hidden]) {
|
|
5602
|
+
display: block;
|
|
5603
|
+
}
|
|
5604
|
+
|
|
5605
|
+
html[data-sb-platform="macos"] .sb-navsplit-columns > [data-sb-id]:first-child,
|
|
5606
|
+
html[data-sb-platform="macos"] .sb-navsplit-columns > [data-sb-ghost]:first-child {
|
|
5607
|
+
box-shadow: none;
|
|
5608
|
+
background: transparent;
|
|
5609
|
+
}
|
|
5610
|
+
|
|
5611
|
+
/* (important: a screen with a list takes the grouped background through a
|
|
5612
|
+
`:has()` rule more specific than these) */
|
|
5613
|
+
html[data-sb-platform="macos"] .sb-navsplit-columns > :first-child .sb-navscreen,
|
|
5614
|
+
html[data-sb-platform="macos"] .sb-navsplit-columns > :first-child .sb-list[data-sb-list-look="sidebar"] {
|
|
5615
|
+
background: transparent !important;
|
|
5616
|
+
--sb-icon-knockout: var(--sb-glass-background);
|
|
5617
|
+
}
|
|
5618
|
+
|
|
5619
|
+
html[data-sb-platform="macos"] .sb-list[data-sb-list-look="sidebar"] {
|
|
5620
|
+
--sb-tint: var(--sb-color-primary);
|
|
5621
|
+
}
|
|
5622
|
+
|
|
5623
|
+
html[data-sb-platform="macos"] .sb-list[data-sb-list-look="sidebar"] .sb-section-header::after,
|
|
5624
|
+
html[data-sb-platform="macos"] .sb-list[data-sb-list-look="sidebar"] .sb-section-footer::after {
|
|
5625
|
+
display: none;
|
|
5626
|
+
}
|
|
5627
|
+
|
|
5628
|
+
html[data-sb-platform="macos"] .sb-list[data-sb-list-look="sidebar"] .sb-navlink[data-sb-selected],
|
|
5629
|
+
html[data-sb-platform="macos"] .sb-list[data-sb-list-look="sidebar"] .sb-listrow[data-sb-selected],
|
|
5630
|
+
html[data-sb-platform="macos"] .sb-list[data-sb-list-look="sidebar"][data-sb-list-style] .sb-section-rows > .sb-navlink[data-sb-selected],
|
|
5631
|
+
html[data-sb-platform="macos"] .sb-list[data-sb-list-look="sidebar"][data-sb-list-style] .sb-section-rows > .sb-listrow[data-sb-selected],
|
|
5632
|
+
html[data-sb-platform="macos"] .sb-list[data-sb-list-look="sidebar"][data-sb-list-style] > .sb-list-content > .sb-navlink[data-sb-selected],
|
|
5633
|
+
html[data-sb-platform="macos"] .sb-list[data-sb-list-look="sidebar"][data-sb-list-style] > .sb-list-content > .sb-listrow[data-sb-selected] {
|
|
5634
|
+
border-radius: 8px;
|
|
5635
|
+
background: var(--sb-mac-sidebar-selection);
|
|
5636
|
+
color: var(--sb-color-primary);
|
|
5637
|
+
--sb-button-color: var(--sb-color-primary);
|
|
5638
|
+
}
|
|
5639
|
+
|