@swiftwc/ui 0.0.0-dev.65 → 0.0.0-dev.67

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 (34) hide show
  1. package/generated/client/index.js +0 -1
  2. package/generated/components/h-stack.d.ts +4 -0
  3. package/generated/components/h-stack.js +4 -0
  4. package/generated/components/index.d.ts +1 -0
  5. package/generated/components/index.js +1 -0
  6. package/generated/components/label-view.d.ts +5 -0
  7. package/generated/components/label-view.js +5 -0
  8. package/generated/components/toggle-view.d.ts +28 -0
  9. package/generated/components/toggle-view.js +222 -0
  10. package/generated/components/v-stack.d.ts +4 -0
  11. package/generated/components/v-stack.js +4 -0
  12. package/generated/css/index.css +135 -31
  13. package/generated/events/index.d.ts +1 -0
  14. package/generated/events/index.js +1 -0
  15. package/generated/events/toggle-view.d.ts +9 -0
  16. package/generated/events/toggle-view.js +1 -0
  17. package/package.json +1 -1
  18. package/scss/_components.scss +2 -0
  19. package/scss/components/_date-picker.scss +15 -15
  20. package/scss/components/_h-stack.scss +17 -1
  21. package/scss/components/_index.scss +4 -0
  22. package/scss/components/_menu-view.scss +53 -49
  23. package/scss/components/_picker-view.scss +38 -39
  24. package/scss/components/_scroll-view-proxy.scss +4 -2
  25. package/scss/components/_section-view.scss +23 -22
  26. package/scss/components/_table-view.scss +6 -6
  27. package/scss/components/_text-field.scss +26 -26
  28. package/scss/components/_toggle-view.scss +79 -0
  29. package/scss/components/_tool-bar.scss +52 -52
  30. package/scss/mixins/_index.scss +10 -2
  31. package/scss/placeholders/_lists.scss +14 -12
  32. package/scss/transitions/_menu-view.scss +17 -15
  33. package/scss/utils/_index.scss +6 -1
  34. package/web-components.html-data/en.json +175 -0
@@ -843,6 +843,7 @@
843
843
  --red: var(--itemtext);
844
844
  --green: var(--itemtext);
845
845
  --orange: var(--itemtext);
846
+ --purple: var(--itemtext);
846
847
  --accentColor: var(--itemtext);
847
848
  --accentColorEffective: var(--itemtext);
848
849
  }
@@ -871,6 +872,7 @@
871
872
  --red: var(--itemtext);
872
873
  --green: var(--itemtext);
873
874
  --orange: var(--itemtext);
875
+ --purple: var(--itemtext);
874
876
  --accentColor: var(--itemtext);
875
877
  --accentColorEffective: var(--itemtext);
876
878
  }
@@ -897,6 +899,7 @@
897
899
  --red: var(--itemtext);
898
900
  --green: var(--itemtext);
899
901
  --orange: var(--itemtext);
902
+ --purple: var(--itemtext);
900
903
  --accentColor: var(--itemtext);
901
904
  --accentColorEffective: var(--itemtext);
902
905
  }
@@ -1131,6 +1134,10 @@
1131
1134
  :where(table-view)::part(table-footer-leading-stack),
1132
1135
  :where(table-view)::part(table-footer-principal-stack),
1133
1136
  :where(table-view)::part(table-footer-trailing-stack),
1137
+ :where(toggle-view)::part(toggle-stack),
1138
+ :where(toggle-view)::part(toggle-label-stack),
1139
+ :where(toggle-view)::part(toggle-input-stack),
1140
+ :where(toggle-view)::part(text-field-form-input),
1134
1141
  :where(text-field)::part(text-field-stack),
1135
1142
  :where(text-field)::part(text-field-label-stack),
1136
1143
  :where(text-field)::part(text-field-input-stack),
@@ -1418,8 +1425,8 @@
1418
1425
  :where(detail-placeholder > scroll-view) {
1419
1426
  overflow: clip auto;
1420
1427
  pointer-events: all;
1421
- overscroll-behavior: contain;
1422
1428
  -webkit-overflow-scrolling: touch;
1429
+ overscroll-behavior: contain;
1423
1430
  container: scroll-view/size;
1424
1431
  padding-block: var(--safe-area-inset-top) var(--safe-area-inset-bottom);
1425
1432
  padding-inline: var(--safe-area-inset-left) var(--safe-area-inset-right);
@@ -1908,8 +1915,8 @@
1908
1915
  }
1909
1916
  :where(navigation-stack > scroll-view, navigation-split-view > scroll-view, [is=sidebar-view] > scroll-view, body-view > scroll-view, [is=full-screen] > scroll-view, [is=sheet-view] > scroll-view) {
1910
1917
  overflow: clip auto;
1911
- overscroll-behavior: contain;
1912
1918
  -webkit-overflow-scrolling: touch;
1919
+ overscroll-behavior: contain;
1913
1920
  padding-block: var(--safe-area-inset-top) var(--safe-area-inset-bottom);
1914
1921
  padding-inline: var(--safe-area-inset-left) var(--safe-area-inset-right);
1915
1922
  container: scroll-view/size;
@@ -1990,8 +1997,6 @@
1990
1997
  :where(scroll-view-proxy:has(> v-stack, > h-stack) > v-stack,
1991
1998
  scroll-view-proxy:has(> v-stack, > h-stack) > h-stack) {
1992
1999
  position: relative;
1993
- overscroll-behavior: contain;
1994
- -webkit-overflow-scrolling: touch;
1995
2000
  scrollbar-width: thin;
1996
2001
  container: scroll-view-proxy/inline-size;
1997
2002
  }
@@ -2007,10 +2012,14 @@
2007
2012
  :where(scroll-view-proxy:has(> v-stack, > h-stack) > v-stack) {
2008
2013
  overflow: clip auto;
2009
2014
  scroll-snap-type: block mandatory;
2015
+ -webkit-overflow-scrolling: touch;
2016
+ overscroll-behavior-block: contain;
2010
2017
  }
2011
2018
  :where(scroll-view-proxy:has(> v-stack, > h-stack) > h-stack) {
2012
2019
  overflow: auto clip;
2013
2020
  scroll-snap-type: inline mandatory;
2021
+ -webkit-overflow-scrolling: touch;
2022
+ overscroll-behavior-inline: contain;
2014
2023
  }
2015
2024
  :where(scroll-view-proxy:has(> v-stack, > h-stack) > h-stack[padding]) {
2016
2025
  scroll-padding-inline: 1rem;
@@ -2036,9 +2045,36 @@
2036
2045
  :where(h-stack[template="auto spacer auto"]) {
2037
2046
  grid-template-columns: auto minmax(0, 1fr) auto;
2038
2047
  }
2048
+ :where(h-stack[template="repeat(1,spacer)"]) {
2049
+ grid-template-columns: repeat(1, minmax(0, 1fr));
2050
+ }
2051
+ :where(h-stack[template="repeat(2,spacer)"]) {
2052
+ grid-template-columns: repeat(2, minmax(0, 1fr));
2053
+ }
2054
+ :where(h-stack[template="repeat(3,spacer)"]) {
2055
+ grid-template-columns: repeat(3, minmax(0, 1fr));
2056
+ }
2039
2057
  :where(h-stack[template="repeat(4,spacer)"]) {
2040
2058
  grid-template-columns: repeat(4, minmax(0, 1fr));
2041
2059
  }
2060
+ :where(h-stack[template="repeat(5,spacer)"]) {
2061
+ grid-template-columns: repeat(5, minmax(0, 1fr));
2062
+ }
2063
+ :where(h-stack[template="repeat(6,spacer)"]) {
2064
+ grid-template-columns: repeat(6, minmax(0, 1fr));
2065
+ }
2066
+ :where(h-stack[template="repeat(7,spacer)"]) {
2067
+ grid-template-columns: repeat(7, minmax(0, 1fr));
2068
+ }
2069
+ :where(h-stack[template="repeat(8,spacer)"]) {
2070
+ grid-template-columns: repeat(8, minmax(0, 1fr));
2071
+ }
2072
+ :where(h-stack[template="repeat(9,spacer)"]) {
2073
+ grid-template-columns: repeat(9, minmax(0, 1fr));
2074
+ }
2075
+ :where(h-stack[template="repeat(10,spacer)"]) {
2076
+ grid-template-columns: repeat(10, minmax(0, 1fr));
2077
+ }
2042
2078
  :where(h-stack[template="repeat(2,spacer) auto"]) {
2043
2079
  grid-template-columns: repeat(2, minmax(0, 1fr)) auto;
2044
2080
  }
@@ -2414,6 +2450,7 @@
2414
2450
  --red: var(--btntext);
2415
2451
  --green: var(--btntext);
2416
2452
  --orange: var(--btntext);
2453
+ --purple: var(--btntext);
2417
2454
  --accentColor: var(--btntext);
2418
2455
  --accentColorEffective: var(--btntext);
2419
2456
  }
@@ -2541,6 +2578,7 @@
2541
2578
  --red: var(--btntext);
2542
2579
  --green: var(--btntext);
2543
2580
  --orange: var(--btntext);
2581
+ --purple: var(--btntext);
2544
2582
  --accentColor: var(--btntext);
2545
2583
  --accentColorEffective: var(--btntext);
2546
2584
  }
@@ -2570,14 +2608,6 @@
2570
2608
  grid-template-rows: auto 1fr auto;
2571
2609
  grid-template-areas: "top-bar" "spacer" "bottom-bar";
2572
2610
  }
2573
- :where(tool-bar > *:not(sidebar-toggle), tool-bar > sidebar-toggle > tool-bar-item, tab-view > sidebar-toggle > tool-bar-item, navigation-split-view > sidebar-toggle > tool-bar-item) {
2574
- backdrop-filter: var(--liquid-glass-backdrop-filter);
2575
- box-shadow: var(--toolbar-cell-box-shadow);
2576
- min-inline-size: var(--toolbar-cell-min-size);
2577
- transform: var(--toolbar-cell-scale, );
2578
- filter: var(--toolbar-cell-filter, );
2579
- opacity: var(--toolbar-cell-opacity, );
2580
- }
2581
2611
  :where(tool-bar)::part(top-bar), :where(tool-bar)::part(bottom-bar) {
2582
2612
  position: relative;
2583
2613
  padding-inline: var(--safe-area-inset-left, 0px) var(--safe-area-inset-right, 0px);
@@ -2604,6 +2634,14 @@
2604
2634
  column-gap: var(--toolbar-col-gap);
2605
2635
  padding-inline: var(--toolbar-col-gap) var(--toolbar-col-gap);
2606
2636
  }
2637
+ :where(tool-bar > *:not(sidebar-toggle), tool-bar > sidebar-toggle > tool-bar-item, tab-view > sidebar-toggle > tool-bar-item, navigation-split-view > sidebar-toggle > tool-bar-item) {
2638
+ backdrop-filter: var(--liquid-glass-backdrop-filter);
2639
+ box-shadow: var(--toolbar-cell-box-shadow);
2640
+ min-inline-size: var(--toolbar-cell-min-size);
2641
+ transform: var(--toolbar-cell-scale, );
2642
+ filter: var(--toolbar-cell-filter, );
2643
+ opacity: var(--toolbar-cell-opacity, );
2644
+ }
2607
2645
  @media (min-width: 37rem) and (min-height: 27.75rem) {
2608
2646
  :where([is=sheet-view] tool-bar)::part(top-bar), :where([is=sheet-view] tool-bar)::part(bottom-bar) {
2609
2647
  --safe-area-inset-left: 0px;
@@ -3083,6 +3121,52 @@
3083
3121
  }
3084
3122
  }
3085
3123
  }
3124
+ @layer sw-components {
3125
+ :where(toggle-view) {
3126
+ grid-template-columns: minmax(0, 1fr);
3127
+ grid-template-rows: minmax(0, 1fr);
3128
+ --toggle--trigger-bg: lightgray;
3129
+ }
3130
+ :where(toggle-view)::part(toggle-stack) {
3131
+ grid-template-columns: auto minmax(0, 1fr);
3132
+ grid-template-rows: minmax(0, 1fr);
3133
+ column-gap: var(--labeled-content-column-gap);
3134
+ }
3135
+ :where(toggle-view)::part(toggle-label-stack) {
3136
+ color: var(--secondary);
3137
+ }
3138
+ :where(toggle-view)::part(toggle-input-stack) {
3139
+ place-items: stretch;
3140
+ place-content: stretch;
3141
+ }
3142
+ :where(toggle-view)::part(toggle-form-input):focus {
3143
+ outline: blue solid 5px;
3144
+ }
3145
+ :where(toggle-view)::part(toggle-form-input) {
3146
+ text-align: end;
3147
+ position: relative;
3148
+ display: grid;
3149
+ outline: red solid 3px;
3150
+ border-radius: 2rem;
3151
+ inline-size: 4rem;
3152
+ block-size: 1rem;
3153
+ background: var(--toggle--trigger-bg);
3154
+ }
3155
+ :where(toggle-view)::part(toggle-form-input)::before {
3156
+ content: "";
3157
+ display: grid;
3158
+ position: absolute;
3159
+ inset: 0 auto auto 0;
3160
+ inline-size: 1rem;
3161
+ block-size: 1rem;
3162
+ border-radius: 1rem;
3163
+ backdrop-filter: var(--liquid-glass-backdrop-filter);
3164
+ box-shadow: var(--liquid-glass-box-shadow);
3165
+ }
3166
+ toggle-view[aria-checked=true] {
3167
+ --toggle--trigger-bg: green;
3168
+ }
3169
+ }
3086
3170
  @layer sw-components {
3087
3171
  :where(labeled-content) {
3088
3172
  container: labeled-content/inline-size;
@@ -3245,8 +3329,8 @@
3245
3329
  pointer-events: none;
3246
3330
  }
3247
3331
  :where(menu-view)::part(menu-form) {
3248
- overscroll-behavior: contain;
3249
3332
  -webkit-overflow-scrolling: touch;
3333
+ overscroll-behavior: contain;
3250
3334
  --menu--dialog-max-inline-size: anchor-size();
3251
3335
  --menu--dialog-max-block-size: anchor-size();
3252
3336
  }
@@ -3297,7 +3381,7 @@
3297
3381
  --menu--dialog-max-inline-size: anchor-size();
3298
3382
  --menu--dialog-max-block-size: anchor-size();
3299
3383
  }
3300
- menu-view[open]:not(tool-bar-item > menu-view) {
3384
+ :where(menu-view[open]:not(tool-bar-item > menu-view)) {
3301
3385
  --menu--summary-scale: scale(0.01);
3302
3386
  --menu--summary-filter: blur(10px);
3303
3387
  }
@@ -3364,6 +3448,7 @@
3364
3448
  --red: var(--menuitemtext);
3365
3449
  --green: var(--menuitemtext);
3366
3450
  --orange: var(--menuitemtext);
3451
+ --purple: var(--menuitemtext);
3367
3452
  --accentColor: var(--menuitemtext);
3368
3453
  --accentColorEffective: var(--menuitemtext);
3369
3454
  }
@@ -3378,6 +3463,7 @@
3378
3463
  --red: var(--menuitemtext);
3379
3464
  --green: var(--menuitemtext);
3380
3465
  --orange: var(--menuitemtext);
3466
+ --purple: var(--menuitemtext);
3381
3467
  --accentColor: var(--menuitemtext);
3382
3468
  --accentColorEffective: var(--menuitemtext);
3383
3469
  }
@@ -3393,6 +3479,7 @@
3393
3479
  --red: var(--menuitemtext);
3394
3480
  --green: var(--menuitemtext);
3395
3481
  --orange: var(--menuitemtext);
3482
+ --purple: var(--menuitemtext);
3396
3483
  --accentColor: var(--menuitemtext);
3397
3484
  --accentColorEffective: var(--menuitemtext);
3398
3485
  }
@@ -3405,6 +3492,7 @@
3405
3492
  --red: var(--menuitemtext);
3406
3493
  --green: var(--menuitemtext);
3407
3494
  --orange: var(--menuitemtext);
3495
+ --purple: var(--menuitemtext);
3408
3496
  --accentColor: var(--menuitemtext);
3409
3497
  --accentColorEffective: var(--menuitemtext);
3410
3498
  }
@@ -4200,6 +4288,21 @@
4200
4288
  grid-template-areas: "header" "main" "footer";
4201
4289
  gap: 0.5rem;
4202
4290
  }
4291
+ :where(section-view)::part(section-header-stack), :where(section-view)::part(section-footer-stack) {
4292
+ pointer-events: none;
4293
+ }
4294
+ :where(section-view)::part(section-header-stack) {
4295
+ grid-area: header;
4296
+ }
4297
+ :where(section-view)::part(section-main-stack) {
4298
+ grid-area: main;
4299
+ }
4300
+ :where(section-view)::part(section-footer-stack) {
4301
+ grid-area: footer;
4302
+ }
4303
+ :where(section-view)::part(section-header-stack) {
4304
+ order: -1;
4305
+ }
4203
4306
  :where(section-view:has(> [slot=header]):not(:has(> [slot=footer]))) {
4204
4307
  grid-template-rows: auto minmax(max-content, 1fr);
4205
4308
  grid-template-areas: "header" "main";
@@ -4218,21 +4321,6 @@
4218
4321
  :where(section-view:not(:has(> [slot=footer])))::part(section-footer-stack) {
4219
4322
  display: none;
4220
4323
  }
4221
- :where(section-view)::part(section-header-stack), :where(section-view)::part(section-footer-stack) {
4222
- pointer-events: none;
4223
- }
4224
- :where(section-view)::part(section-header-stack) {
4225
- grid-area: header;
4226
- }
4227
- :where(section-view)::part(section-main-stack) {
4228
- grid-area: main;
4229
- }
4230
- :where(section-view)::part(section-footer-stack) {
4231
- grid-area: footer;
4232
- }
4233
- :where(section-view)::part(section-header-stack) {
4234
- order: -1;
4235
- }
4236
4324
  section-view {
4237
4325
  /* :where(&:not(& &))::part(section-footer-stack),
4238
4326
  :where(&:not(& &))::part(section-header-stack) {
@@ -4293,7 +4381,7 @@
4293
4381
  border-radius: 0 0 var(--insetlist-item-border-radius) var(--insetlist-item-border-radius);
4294
4382
  border-top: 1px solid var(--separator);
4295
4383
  }
4296
- :where(:where(table-view:not(table-view table-view, list-view table-view, [is=form-view] table-view)))::part(table-header-leading-stack), :where(:where(table-view:not(table-view table-view, list-view table-view, [is=form-view] table-view)))::part(table-header-principal-stack), :where(:where(table-view:not(table-view table-view, list-view table-view, [is=form-view] table-view)))::part(table-header-trailing-stack), :where(:where(table-view:not(table-view table-view, list-view table-view, [is=form-view] table-view)))::part(table-footer-leading-stack), :where(:where(table-view:not(table-view table-view, list-view table-view, [is=form-view] table-view)))::part(table-footer-principal-stack), :where(:where(table-view:not(table-view table-view, list-view table-view, [is=form-view] table-view)))::part(table-footer-trailing-stack) {
4384
+ :where(table-view:not(table-view table-view, list-view table-view, [is=form-view] table-view))::part(table-header-leading-stack), :where(table-view:not(table-view table-view, list-view table-view, [is=form-view] table-view))::part(table-header-principal-stack), :where(table-view:not(table-view table-view, list-view table-view, [is=form-view] table-view))::part(table-header-trailing-stack), :where(table-view:not(table-view table-view, list-view table-view, [is=form-view] table-view))::part(table-footer-leading-stack), :where(table-view:not(table-view table-view, list-view table-view, [is=form-view] table-view))::part(table-footer-principal-stack), :where(table-view:not(table-view table-view, list-view table-view, [is=form-view] table-view))::part(table-footer-trailing-stack) {
4297
4385
  grid-auto-flow: column;
4298
4386
  grid-template-columns: minmax(0, 1fr);
4299
4387
  column-gap: var(--toolbar-col-gap);
@@ -5308,8 +5396,8 @@
5308
5396
  z-index: -1;
5309
5397
  }
5310
5398
  :where([is=tab-bar] > [is=form-view]) {
5311
- overscroll-behavior: contain;
5312
5399
  -webkit-overflow-scrolling: touch;
5400
+ overscroll-behavior: contain;
5313
5401
  pointer-events: all;
5314
5402
  touch-action: none;
5315
5403
  grid-auto-flow: column;
@@ -5541,6 +5629,9 @@
5541
5629
  :where([foreground=orange]) {
5542
5630
  color: var(--orange);
5543
5631
  }
5632
+ :where([foreground=purple]) {
5633
+ color: var(--purple);
5634
+ }
5544
5635
  :where([foreground="blue.secondary"]) {
5545
5636
  color: var(--blue2);
5546
5637
  }
@@ -5553,6 +5644,9 @@
5553
5644
  :where([foreground="orange.secondary"]) {
5554
5645
  color: var(--orange2);
5555
5646
  }
5647
+ :where([foreground="purple.secondary"]) {
5648
+ color: var(--purple2);
5649
+ }
5556
5650
  :where([foreground="blue.tertiary"]) {
5557
5651
  color: var(--blue3);
5558
5652
  }
@@ -5565,6 +5659,9 @@
5565
5659
  :where([foreground="orange.tertiary"]) {
5566
5660
  color: var(--orange3);
5567
5661
  }
5662
+ :where([foreground="purple.tertiary"]) {
5663
+ color: var(--purple3);
5664
+ }
5568
5665
  :where([foreground="blue.quaternary"]) {
5569
5666
  color: var(--blue4);
5570
5667
  }
@@ -5577,6 +5674,9 @@
5577
5674
  :where([foreground="orange.quaternary"]) {
5578
5675
  color: var(--orange4);
5579
5676
  }
5677
+ :where([foreground="purple.quaternary"]) {
5678
+ color: var(--purple4);
5679
+ }
5580
5680
  :where([foreground="blue.quinary"]) {
5581
5681
  color: var(--blue5);
5582
5682
  }
@@ -5589,6 +5689,9 @@
5589
5689
  :where([foreground="orange.quinary"]) {
5590
5690
  color: var(--orange5);
5591
5691
  }
5692
+ :where([foreground="purple.quinary"]) {
5693
+ color: var(--purple5);
5694
+ }
5592
5695
  :where([tint=gray],
5593
5696
  [list-item-tint=gray]) {
5594
5697
  --accentColorEffective: var(--gray);
@@ -8676,6 +8779,7 @@
8676
8779
  --red: var(--toolbaritemtext);
8677
8780
  --green: var(--toolbaritemtext);
8678
8781
  --orange: var(--toolbaritemtext);
8782
+ --purple: var(--toolbaritemtext);
8679
8783
  --accentColor: var(--toolbaritemtext);
8680
8784
  --accentColorEffective: var(--toolbaritemtext);
8681
8785
  }
@@ -6,3 +6,4 @@ export * from './picker-view';
6
6
  export * from './scroll-view';
7
7
  export * from './tab-view';
8
8
  export * from './text-field';
9
+ export * from './toggle-view';
@@ -6,3 +6,4 @@ export * from './picker-view';
6
6
  export * from './scroll-view';
7
7
  export * from './tab-view';
8
8
  export * from './text-field';
9
+ export * from './toggle-view';
@@ -0,0 +1,9 @@
1
+ export type ToggleChangeDetail = {
2
+ isOn: boolean;
3
+ value: string | null;
4
+ };
5
+ declare global {
6
+ interface HTMLElementEventMap {
7
+ change: CustomEvent<ToggleChangeDetail>;
8
+ }
9
+ }
@@ -0,0 +1 @@
1
+ export {};
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@swiftwc/ui",
3
- "version": "0.0.0-dev.65",
3
+ "version": "0.0.0-dev.67",
4
4
  "description": "Elegant SwiftUI-inspired web components for standalone web apps and web extensions.",
5
5
  "publishConfig": {
6
6
  "access": "public"
@@ -52,6 +52,8 @@
52
52
 
53
53
  @forward 'components/label-view';
54
54
 
55
+ @forward 'components/toggle-view';
56
+
55
57
  @forward 'components/labeled-content';
56
58
 
57
59
  // @forward 'components/button-view';
@@ -5,26 +5,26 @@
5
5
  :where(&) {
6
6
  grid-template-columns: minmax(0, 1fr);
7
7
  grid-template-rows: minmax(0, 1fr);
8
- }
9
8
 
10
- :where(&)::part(date-picker-stack) {
11
- grid-template-columns: auto minmax(0, 1fr);
12
- grid-template-rows: minmax(0, 1fr);
13
- }
9
+ &::part(date-picker-stack) {
10
+ grid-template-columns: auto minmax(0, 1fr);
11
+ grid-template-rows: minmax(0, 1fr);
12
+ }
14
13
 
15
- :where(&)::part(date-picker-label-stack) {
16
- // display: grid;
17
- }
14
+ &::part(date-picker-label-stack) {
15
+ // display: grid;
16
+ }
18
17
 
19
- :where(&)::part(date-picker-input-stack) {
20
- place-items: stretch;
21
- place-content: stretch;
18
+ &::part(date-picker-input-stack) {
19
+ place-items: stretch;
20
+ place-content: stretch;
22
21
 
23
- grid-auto-flow: column;
24
- }
22
+ grid-auto-flow: column;
23
+ }
25
24
 
26
- :where(&)::part(date-picker-form-input) {
27
- text-align: end;
25
+ &::part(date-picker-form-input) {
26
+ text-align: end;
27
+ }
28
28
  }
29
29
  }
30
30
  }
@@ -3,7 +3,23 @@
3
3
  @use 'sass:string';
4
4
  @use 'sass:list';
5
5
 
6
- $h-stack-templates: ((auto minmax(0, 1fr)), (minmax(0, 1fr) auto), (auto minmax(0, 1fr) auto auto), (auto minmax(0, 1fr) auto), (repeat(4, minmax(0, 1fr))), (repeat(2, minmax(0, 1fr)) auto));
6
+ $h-stack-templates: (
7
+ (auto minmax(0, 1fr)),
8
+ (minmax(0, 1fr) auto),
9
+ (auto minmax(0, 1fr) auto auto),
10
+ (auto minmax(0, 1fr) auto),
11
+ (repeat(1, minmax(0, 1fr))),
12
+ (repeat(2, minmax(0, 1fr))),
13
+ (repeat(3, minmax(0, 1fr))),
14
+ (repeat(4, minmax(0, 1fr))),
15
+ (repeat(5, minmax(0, 1fr))),
16
+ (repeat(6, minmax(0, 1fr))),
17
+ (repeat(7, minmax(0, 1fr))),
18
+ (repeat(8, minmax(0, 1fr))),
19
+ (repeat(9, minmax(0, 1fr))),
20
+ (repeat(10, minmax(0, 1fr))),
21
+ (repeat(2, minmax(0, 1fr)) auto)
22
+ );
7
23
 
8
24
  @layer #{vars.$components-layer} {
9
25
  h-stack {
@@ -70,6 +70,10 @@
70
70
  :where(table-view)::part(table-footer-leading-stack),
71
71
  :where(table-view)::part(table-footer-principal-stack),
72
72
  :where(table-view)::part(table-footer-trailing-stack),
73
+ :where(toggle-view)::part(toggle-stack),
74
+ :where(toggle-view)::part(toggle-label-stack),
75
+ :where(toggle-view)::part(toggle-input-stack),
76
+ :where(toggle-view)::part(text-field-form-input),
73
77
  :where(text-field)::part(text-field-stack),
74
78
  :where(text-field)::part(text-field-label-stack),
75
79
  :where(text-field)::part(text-field-input-stack),
@@ -5,74 +5,76 @@
5
5
 
6
6
  @layer #{vars.$components-layer} {
7
7
  menu-view {
8
- :where(&)::part(menu-summary) {
9
- transform: var(--menu--summary-scale,);
8
+ :where(&) {
9
+ &::part(menu-summary) {
10
+ transform: var(--menu--summary-scale,);
10
11
 
11
- filter: var(--menu--summary-filter,);
12
- }
12
+ filter: var(--menu--summary-filter,);
13
+ }
13
14
 
14
- :where(&)::part(menu-scrollable) {
15
- @include mixins.make-scrollable(true);
15
+ &::part(menu-scrollable) {
16
+ @include mixins.make-scrollable(true);
16
17
 
17
- padding: var(--menu-padding);
18
- }
18
+ padding: var(--menu-padding);
19
+ }
19
20
 
20
- :where(&)::part(menu-form) {
21
- // min-inline-size: 200px; // FIXME: del this
22
- inline-size: max-content; //var(--menu-inline-size);
23
- block-size: min-content;
21
+ &::part(menu-form) {
22
+ // min-inline-size: 200px; // FIXME: del this
23
+ inline-size: max-content; //var(--menu-inline-size);
24
+ block-size: min-content;
24
25
 
25
- max-inline-size: var(--menu-max-inline-size,);
26
- max-block-size: var(--menu-max-block-size,);
26
+ max-inline-size: var(--menu-max-inline-size,);
27
+ max-block-size: var(--menu-max-block-size,);
27
28
 
28
- overflow: clip auto;
29
- border-radius: inherit;
29
+ overflow: clip auto;
30
+ border-radius: inherit;
30
31
 
31
- background-color: light-dark(var(--menu-bg), var(--menu-bg-dark));
32
- // border: transparent solid 20px; //make sure bezel is not covered
32
+ background-color: light-dark(var(--menu-bg), var(--menu-bg-dark));
33
+ // border: transparent solid 20px; //make sure bezel is not covered
33
34
 
34
- @include mixins.make-scrollable;
35
- @include mixins.contain-overscroll;
35
+ @include mixins.make-scrollable;
36
+ @include mixins.contain-overscroll;
36
37
 
37
- // touch-action: all;
38
+ // touch-action: all;
38
39
 
39
- --menu--dialog-max-inline-size: anchor-size();
40
- --menu--dialog-max-block-size: anchor-size();
41
- }
40
+ --menu--dialog-max-inline-size: anchor-size();
41
+ --menu--dialog-max-block-size: anchor-size();
42
+ }
42
43
 
43
- :where(&)::part(menu-dialog) {
44
- @include mixins.reset-dialog;
44
+ &::part(menu-dialog) {
45
+ @include mixins.reset-dialog;
45
46
 
46
- color: var(--text,);
47
+ color: var(--text,);
47
48
 
48
- touch-action: none;
49
+ touch-action: none;
49
50
 
50
- position: fixed;
51
+ position: fixed;
51
52
 
52
- inline-size: fit-content;
53
- block-size: fit-content;
54
- height: auto; // safari
55
- max-inline-size: var(--menu--dialog-max-inline-size,);
56
- max-block-size: var(--menu--dialog-max-block-size,);
53
+ inline-size: fit-content;
54
+ block-size: fit-content;
55
+ height: auto; // safari
56
+ max-inline-size: var(--menu--dialog-max-inline-size,);
57
+ max-block-size: var(--menu--dialog-max-block-size,);
57
58
 
58
- margin-block: var(--menu--dialog-margin-block,);
59
- margin-inline: var(--menu--dialog-margin-inline,);
59
+ margin-block: var(--menu--dialog-margin-block,);
60
+ margin-inline: var(--menu--dialog-margin-inline,);
60
61
 
61
- transform: var(--menu--dialog-scale,);
62
+ transform: var(--menu--dialog-scale,);
62
63
 
63
- // position-anchor: --my-anchor; // overriden
64
- position-area: center;
64
+ // position-anchor: --my-anchor; // overriden
65
+ position-area: center;
65
66
 
66
- overflow: clip;
67
- border-radius: calc(var(--menu-item-border-radius) + var(--menu-padding));
67
+ overflow: clip;
68
+ border-radius: calc(var(--menu-item-border-radius) + var(--menu-padding));
68
69
 
69
- backdrop-filter: var(--liquid-glass-backdrop-filter,);
70
- box-shadow: var(--menu-popover-box-shadow,); //0 0 10px 10px black;
70
+ backdrop-filter: var(--liquid-glass-backdrop-filter,);
71
+ box-shadow: var(--menu-popover-box-shadow,); //0 0 10px 10px black;
71
72
 
72
- // finally
73
- --menu--dialog-scale: scale(0);
74
- --menu--summary-scale: ;
75
- --menu--summary-filter: ;
73
+ // finally
74
+ --menu--dialog-scale: scale(0);
75
+ --menu--summary-scale: ;
76
+ --menu--summary-filter: ;
77
+ }
76
78
  }
77
79
 
78
80
  &[open] {
@@ -104,9 +106,11 @@
104
106
  // &[open] > &[open],
105
107
  // &[open]:not(tool-bar-item &) {
106
108
  &[open]:not(tool-bar-item > &) {
107
- --menu--summary-scale: scale(0.01);
109
+ :where(&) {
110
+ --menu--summary-scale: scale(0.01);
108
111
 
109
- --menu--summary-filter: blur(10px);
112
+ --menu--summary-filter: blur(10px);
113
+ }
110
114
  }
111
115
 
112
116
  // :where(& > *) {