@duskmoon-dev/core 1.18.6 → 1.19.1
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/README.md +1 -1
- package/dist/cjs/tailwind-plugin.cjs +2 -2
- package/dist/components/bottomsheet.css +69 -0
- package/dist/components/console-page.css +178 -0
- package/dist/components/drawer.css +77 -0
- package/dist/components/home-page.css +94 -0
- package/dist/components/index.css +564 -0
- package/dist/components/navigation.css +63 -0
- package/dist/components/sign-page.css +80 -0
- package/dist/esm/components/bottomsheet.js +69 -0
- package/dist/esm/components/console-page.d.ts +5 -0
- package/dist/esm/components/console-page.js +187 -0
- package/dist/esm/components/drawer.js +77 -0
- package/dist/esm/components/home-page.d.ts +5 -0
- package/dist/esm/components/home-page.js +103 -0
- package/dist/esm/components/navigation.js +63 -0
- package/dist/esm/components/sign-page.d.ts +5 -0
- package/dist/esm/components/sign-page.js +89 -0
- package/dist/index.css +564 -0
- package/dist/index.min.css +1 -1
- package/dist/standalone/duskmoonui-themes.css +1 -1
- package/dist/standalone/duskmoonui.css +566 -2
- package/dist/standalone/duskmoonui.js +17 -6
- package/dist/standalone/duskmoonui.mjs +17 -6
- package/package.json +20 -1
|
@@ -1998,6 +1998,65 @@
|
|
|
1998
1998
|
gap: 0.25rem;
|
|
1999
1999
|
}
|
|
2000
2000
|
|
|
2001
|
+
/* Native floating menu. Keep closed popovers hidden despite the base flex layout. */
|
|
2002
|
+
.menu[popover] {
|
|
2003
|
+
display: none;
|
|
2004
|
+
position: absolute;
|
|
2005
|
+
inset: auto;
|
|
2006
|
+
margin: 0.5rem;
|
|
2007
|
+
min-width: 12rem;
|
|
2008
|
+
max-width: calc(100vw - 1rem);
|
|
2009
|
+
max-height: calc(100dvh - 1rem);
|
|
2010
|
+
overflow: auto;
|
|
2011
|
+
color: var(--color-on-surface);
|
|
2012
|
+
background-color: var(--color-surface-container);
|
|
2013
|
+
border: 1px solid var(--color-outline-variant);
|
|
2014
|
+
border-radius: var(--radius-md);
|
|
2015
|
+
box-shadow: var(--shadow-lg);
|
|
2016
|
+
position-area: bottom;
|
|
2017
|
+
position-try-fallbacks: flip-block, flip-inline, flip-block flip-inline;
|
|
2018
|
+
opacity: 0;
|
|
2019
|
+
transform: scale(0.95);
|
|
2020
|
+
transition:
|
|
2021
|
+
opacity 150ms ease-out,
|
|
2022
|
+
transform 150ms ease-out,
|
|
2023
|
+
overlay 150ms ease-out allow-discrete,
|
|
2024
|
+
display 150ms ease-out allow-discrete;
|
|
2025
|
+
}
|
|
2026
|
+
|
|
2027
|
+
.menu[popover]:popover-open {
|
|
2028
|
+
display: flex;
|
|
2029
|
+
opacity: 1;
|
|
2030
|
+
transform: scale(1);
|
|
2031
|
+
}
|
|
2032
|
+
|
|
2033
|
+
@starting-style {
|
|
2034
|
+
.menu[popover]:popover-open {
|
|
2035
|
+
opacity: 0;
|
|
2036
|
+
transform: scale(0.95);
|
|
2037
|
+
}
|
|
2038
|
+
}
|
|
2039
|
+
|
|
2040
|
+
.menu[popover]::backdrop {
|
|
2041
|
+
background-color: transparent;
|
|
2042
|
+
}
|
|
2043
|
+
|
|
2044
|
+
.menu-top[popover] {
|
|
2045
|
+
position-area: top;
|
|
2046
|
+
}
|
|
2047
|
+
|
|
2048
|
+
.menu-bottom[popover] {
|
|
2049
|
+
position-area: bottom;
|
|
2050
|
+
}
|
|
2051
|
+
|
|
2052
|
+
.menu-left[popover] {
|
|
2053
|
+
position-area: left;
|
|
2054
|
+
}
|
|
2055
|
+
|
|
2056
|
+
.menu-right[popover] {
|
|
2057
|
+
position-area: right;
|
|
2058
|
+
}
|
|
2059
|
+
|
|
2001
2060
|
.menu li {
|
|
2002
2061
|
display: flex;
|
|
2003
2062
|
flex-shrink: 0;
|
|
@@ -2676,6 +2735,10 @@
|
|
|
2676
2735
|
|
|
2677
2736
|
/* Reduce Motion */
|
|
2678
2737
|
@media (prefers-reduced-motion: reduce) {
|
|
2738
|
+
.menu li > a,
|
|
2739
|
+
.menu li > button,
|
|
2740
|
+
.menu-item,
|
|
2741
|
+
.menu[popover],
|
|
2679
2742
|
.pagination-item,
|
|
2680
2743
|
.pagination-prev,
|
|
2681
2744
|
.pagination-next {
|
|
@@ -15177,6 +15240,185 @@
|
|
|
15177
15240
|
}
|
|
15178
15241
|
}
|
|
15179
15242
|
|
|
15243
|
+
/**
|
|
15244
|
+
* Console Page Layout
|
|
15245
|
+
* Responsive application shell with expanded, icon-rail, and hidden sidebar states.
|
|
15246
|
+
*/
|
|
15247
|
+
|
|
15248
|
+
@layer components {
|
|
15249
|
+
.console-page {
|
|
15250
|
+
--console-page-sidebar-width: 17.5rem;
|
|
15251
|
+
--console-page-sidebar-compact-width: 5rem;
|
|
15252
|
+
container-type: inline-size;
|
|
15253
|
+
container-name: console-page;
|
|
15254
|
+
width: 100%;
|
|
15255
|
+
min-width: 0;
|
|
15256
|
+
min-height: var(--console-page-min-height, 100dvh);
|
|
15257
|
+
background-color: var(--color-surface);
|
|
15258
|
+
color: var(--color-on-surface);
|
|
15259
|
+
}
|
|
15260
|
+
|
|
15261
|
+
.console-page-frame {
|
|
15262
|
+
display: grid;
|
|
15263
|
+
min-height: inherit;
|
|
15264
|
+
grid-template-areas:
|
|
15265
|
+
"appbar"
|
|
15266
|
+
"main";
|
|
15267
|
+
grid-template-columns: minmax(0, 1fr);
|
|
15268
|
+
grid-template-rows: auto minmax(0, 1fr);
|
|
15269
|
+
transition: grid-template-columns 240ms ease-out;
|
|
15270
|
+
}
|
|
15271
|
+
|
|
15272
|
+
.console-page-appbar {
|
|
15273
|
+
grid-area: appbar;
|
|
15274
|
+
z-index: 20;
|
|
15275
|
+
}
|
|
15276
|
+
|
|
15277
|
+
.console-page-sidebar {
|
|
15278
|
+
display: none;
|
|
15279
|
+
grid-area: sidebar;
|
|
15280
|
+
min-width: 0;
|
|
15281
|
+
overflow: hidden;
|
|
15282
|
+
background-color: var(--color-surface-container-low);
|
|
15283
|
+
border-inline-end: 1px solid var(--color-outline-variant);
|
|
15284
|
+
transition:
|
|
15285
|
+
opacity 160ms ease-out,
|
|
15286
|
+
visibility 160ms ease-out;
|
|
15287
|
+
}
|
|
15288
|
+
|
|
15289
|
+
.console-page-sidebar-header,
|
|
15290
|
+
.console-page-sidebar-footer {
|
|
15291
|
+
display: flex;
|
|
15292
|
+
align-items: center;
|
|
15293
|
+
gap: 0.75rem;
|
|
15294
|
+
min-height: 4rem;
|
|
15295
|
+
padding: 0.75rem 1rem;
|
|
15296
|
+
flex-shrink: 0;
|
|
15297
|
+
}
|
|
15298
|
+
|
|
15299
|
+
.console-page-sidebar-header {
|
|
15300
|
+
border-bottom: 1px solid var(--color-outline-variant);
|
|
15301
|
+
}
|
|
15302
|
+
|
|
15303
|
+
.console-page-sidebar-body {
|
|
15304
|
+
flex: 1;
|
|
15305
|
+
min-height: 0;
|
|
15306
|
+
overflow-y: auto;
|
|
15307
|
+
overflow-x: hidden;
|
|
15308
|
+
padding-block: 0.5rem;
|
|
15309
|
+
}
|
|
15310
|
+
|
|
15311
|
+
.console-page-sidebar-footer {
|
|
15312
|
+
border-top: 1px solid var(--color-outline-variant);
|
|
15313
|
+
}
|
|
15314
|
+
|
|
15315
|
+
.console-page-main {
|
|
15316
|
+
grid-area: main;
|
|
15317
|
+
min-width: 0;
|
|
15318
|
+
overflow: auto;
|
|
15319
|
+
padding: clamp(1rem, 4cqi, 2.5rem);
|
|
15320
|
+
background-color: var(--color-surface);
|
|
15321
|
+
}
|
|
15322
|
+
|
|
15323
|
+
.console-page-nav-label {
|
|
15324
|
+
overflow: hidden;
|
|
15325
|
+
text-overflow: ellipsis;
|
|
15326
|
+
white-space: nowrap;
|
|
15327
|
+
}
|
|
15328
|
+
|
|
15329
|
+
.console-page-sidebar-toggle {
|
|
15330
|
+
display: none;
|
|
15331
|
+
}
|
|
15332
|
+
|
|
15333
|
+
.console-page-menu-trigger {
|
|
15334
|
+
display: inline-flex;
|
|
15335
|
+
}
|
|
15336
|
+
|
|
15337
|
+
.console-page-mobile-menu {
|
|
15338
|
+
max-width: min(20rem, calc(100cqi - 2rem));
|
|
15339
|
+
}
|
|
15340
|
+
|
|
15341
|
+
@container console-page (min-width: 48rem) {
|
|
15342
|
+
.console-page-frame {
|
|
15343
|
+
grid-template-areas:
|
|
15344
|
+
"appbar appbar"
|
|
15345
|
+
"sidebar main";
|
|
15346
|
+
grid-template-columns: var(--console-page-sidebar-width) minmax(0, 1fr);
|
|
15347
|
+
}
|
|
15348
|
+
|
|
15349
|
+
.console-page-sidebar {
|
|
15350
|
+
display: flex;
|
|
15351
|
+
flex-direction: column;
|
|
15352
|
+
}
|
|
15353
|
+
|
|
15354
|
+
.console-page-sidebar-toggle {
|
|
15355
|
+
display: inline-flex;
|
|
15356
|
+
}
|
|
15357
|
+
|
|
15358
|
+
.console-page-menu-trigger {
|
|
15359
|
+
display: none;
|
|
15360
|
+
}
|
|
15361
|
+
|
|
15362
|
+
.console-page-mobile-menu {
|
|
15363
|
+
display: none;
|
|
15364
|
+
}
|
|
15365
|
+
|
|
15366
|
+
.console-page-sidebar-compact .console-page-frame {
|
|
15367
|
+
grid-template-columns: var(--console-page-sidebar-compact-width) minmax(0, 1fr);
|
|
15368
|
+
}
|
|
15369
|
+
|
|
15370
|
+
.console-page-sidebar-compact .console-page-nav-label {
|
|
15371
|
+
position: absolute;
|
|
15372
|
+
width: 1px;
|
|
15373
|
+
height: 1px;
|
|
15374
|
+
padding: 0;
|
|
15375
|
+
margin: -1px;
|
|
15376
|
+
overflow: hidden;
|
|
15377
|
+
clip: rect(0, 0, 0, 0);
|
|
15378
|
+
white-space: nowrap;
|
|
15379
|
+
border: 0;
|
|
15380
|
+
}
|
|
15381
|
+
|
|
15382
|
+
.console-page-sidebar-compact .console-page-sidebar-header,
|
|
15383
|
+
.console-page-sidebar-compact .console-page-sidebar-footer {
|
|
15384
|
+
justify-content: center;
|
|
15385
|
+
padding-inline: 0.75rem;
|
|
15386
|
+
}
|
|
15387
|
+
|
|
15388
|
+
.console-page-sidebar-compact .console-page-sidebar-body :is(.nested-menu li > a, .nested-menu li > button, .nested-menu summary) {
|
|
15389
|
+
justify-content: center;
|
|
15390
|
+
padding-inline: 0.75rem;
|
|
15391
|
+
}
|
|
15392
|
+
|
|
15393
|
+
.console-page-sidebar-compact .console-page-sidebar-body .drawer-item {
|
|
15394
|
+
justify-content: center;
|
|
15395
|
+
padding-inline: 0.75rem;
|
|
15396
|
+
}
|
|
15397
|
+
|
|
15398
|
+
.console-page-sidebar-compact .console-page-sidebar-body :is(.nested-menu-title, details > ul, summary::after) {
|
|
15399
|
+
display: none;
|
|
15400
|
+
}
|
|
15401
|
+
|
|
15402
|
+
.console-page-sidebar-hidden .console-page-frame {
|
|
15403
|
+
grid-template-areas:
|
|
15404
|
+
"appbar"
|
|
15405
|
+
"main";
|
|
15406
|
+
grid-template-columns: minmax(0, 1fr);
|
|
15407
|
+
}
|
|
15408
|
+
|
|
15409
|
+
.console-page-sidebar-hidden .console-page-sidebar {
|
|
15410
|
+
display: none;
|
|
15411
|
+
}
|
|
15412
|
+
}
|
|
15413
|
+
|
|
15414
|
+
@media (prefers-reduced-motion: reduce) {
|
|
15415
|
+
.console-page-frame,
|
|
15416
|
+
.console-page-sidebar {
|
|
15417
|
+
transition: none;
|
|
15418
|
+
}
|
|
15419
|
+
}
|
|
15420
|
+
}
|
|
15421
|
+
|
|
15180
15422
|
/**
|
|
15181
15423
|
* Divider Component Styles
|
|
15182
15424
|
* DuskMoonUI - Material Design 3 inspired divider system
|
|
@@ -15552,6 +15794,182 @@
|
|
|
15552
15794
|
}
|
|
15553
15795
|
}
|
|
15554
15796
|
|
|
15797
|
+
/**
|
|
15798
|
+
* Home Page Layout
|
|
15799
|
+
* App-bar-led public application shell driven by its containing width.
|
|
15800
|
+
*/
|
|
15801
|
+
|
|
15802
|
+
@layer components {
|
|
15803
|
+
.home-page {
|
|
15804
|
+
container-type: inline-size;
|
|
15805
|
+
container-name: home-page;
|
|
15806
|
+
width: 100%;
|
|
15807
|
+
min-width: 0;
|
|
15808
|
+
min-height: var(--home-page-min-height, 100dvh);
|
|
15809
|
+
background-color: var(--color-surface);
|
|
15810
|
+
color: var(--color-on-surface);
|
|
15811
|
+
}
|
|
15812
|
+
|
|
15813
|
+
.home-page-frame {
|
|
15814
|
+
display: grid;
|
|
15815
|
+
min-height: inherit;
|
|
15816
|
+
grid-template-rows: auto minmax(0, 1fr) auto;
|
|
15817
|
+
}
|
|
15818
|
+
|
|
15819
|
+
.home-page-header {
|
|
15820
|
+
z-index: 10;
|
|
15821
|
+
}
|
|
15822
|
+
|
|
15823
|
+
.home-page-nav {
|
|
15824
|
+
display: none;
|
|
15825
|
+
align-items: center;
|
|
15826
|
+
gap: 0.25rem;
|
|
15827
|
+
}
|
|
15828
|
+
|
|
15829
|
+
.home-page-actions {
|
|
15830
|
+
display: none;
|
|
15831
|
+
align-items: center;
|
|
15832
|
+
gap: 0.25rem;
|
|
15833
|
+
}
|
|
15834
|
+
|
|
15835
|
+
.home-page-menu-trigger {
|
|
15836
|
+
display: inline-flex;
|
|
15837
|
+
}
|
|
15838
|
+
|
|
15839
|
+
.home-page-mobile-menu {
|
|
15840
|
+
max-width: min(20rem, calc(100cqi - 2rem));
|
|
15841
|
+
}
|
|
15842
|
+
|
|
15843
|
+
.home-page-main {
|
|
15844
|
+
min-width: 0;
|
|
15845
|
+
}
|
|
15846
|
+
|
|
15847
|
+
.home-page-content {
|
|
15848
|
+
width: min(100%, 80rem);
|
|
15849
|
+
margin-inline: auto;
|
|
15850
|
+
padding: clamp(1rem, 5cqi, 3rem);
|
|
15851
|
+
}
|
|
15852
|
+
|
|
15853
|
+
.home-page-hero {
|
|
15854
|
+
display: grid;
|
|
15855
|
+
align-items: center;
|
|
15856
|
+
grid-template-columns: minmax(0, 1fr);
|
|
15857
|
+
gap: clamp(2rem, 5cqi, 4rem);
|
|
15858
|
+
}
|
|
15859
|
+
|
|
15860
|
+
.home-page-footer {
|
|
15861
|
+
border-top: 1px solid var(--color-outline-variant);
|
|
15862
|
+
background-color: var(--color-surface-container-low);
|
|
15863
|
+
}
|
|
15864
|
+
|
|
15865
|
+
@container home-page (min-width: 48rem) {
|
|
15866
|
+
.home-page-nav {
|
|
15867
|
+
display: flex;
|
|
15868
|
+
}
|
|
15869
|
+
|
|
15870
|
+
.home-page-actions {
|
|
15871
|
+
display: flex;
|
|
15872
|
+
}
|
|
15873
|
+
|
|
15874
|
+
.home-page-menu-trigger {
|
|
15875
|
+
display: none;
|
|
15876
|
+
}
|
|
15877
|
+
|
|
15878
|
+
.home-page-mobile-menu {
|
|
15879
|
+
display: none;
|
|
15880
|
+
}
|
|
15881
|
+
|
|
15882
|
+
.home-page-content {
|
|
15883
|
+
padding-inline: clamp(2rem, 5cqi, 5rem);
|
|
15884
|
+
}
|
|
15885
|
+
|
|
15886
|
+
.home-page-hero {
|
|
15887
|
+
grid-template-columns: minmax(0, 1fr) minmax(18rem, 0.8fr);
|
|
15888
|
+
}
|
|
15889
|
+
}
|
|
15890
|
+
}
|
|
15891
|
+
|
|
15892
|
+
/**
|
|
15893
|
+
* Sign Page Layout
|
|
15894
|
+
* Responsive authentication shell driven by its containing width.
|
|
15895
|
+
*/
|
|
15896
|
+
|
|
15897
|
+
@layer components {
|
|
15898
|
+
.sign-page {
|
|
15899
|
+
container-type: inline-size;
|
|
15900
|
+
container-name: sign-page;
|
|
15901
|
+
width: 100%;
|
|
15902
|
+
min-width: 0;
|
|
15903
|
+
min-height: var(--sign-page-min-height, 100dvh);
|
|
15904
|
+
overflow: hidden;
|
|
15905
|
+
background-color: var(--color-surface);
|
|
15906
|
+
color: var(--color-on-surface);
|
|
15907
|
+
}
|
|
15908
|
+
|
|
15909
|
+
.sign-page-frame {
|
|
15910
|
+
display: grid;
|
|
15911
|
+
min-height: inherit;
|
|
15912
|
+
grid-template-columns: minmax(0, 1fr);
|
|
15913
|
+
}
|
|
15914
|
+
|
|
15915
|
+
.sign-page-aside {
|
|
15916
|
+
display: none;
|
|
15917
|
+
position: relative;
|
|
15918
|
+
isolation: isolate;
|
|
15919
|
+
overflow: hidden;
|
|
15920
|
+
padding: clamp(2rem, 6cqi, 5rem);
|
|
15921
|
+
background-color: var(--color-primary-container);
|
|
15922
|
+
color: var(--color-on-primary-container);
|
|
15923
|
+
}
|
|
15924
|
+
|
|
15925
|
+
.sign-page-aside::before,
|
|
15926
|
+
.sign-page-aside::after {
|
|
15927
|
+
content: "";
|
|
15928
|
+
position: absolute;
|
|
15929
|
+
z-index: -1;
|
|
15930
|
+
border-radius: var(--radius-full);
|
|
15931
|
+
background: color-mix(in oklch, var(--color-tertiary) 24%, transparent);
|
|
15932
|
+
filter: blur(1px);
|
|
15933
|
+
}
|
|
15934
|
+
|
|
15935
|
+
.sign-page-aside::before {
|
|
15936
|
+
width: 22rem;
|
|
15937
|
+
height: 22rem;
|
|
15938
|
+
inset: -8rem -6rem auto auto;
|
|
15939
|
+
}
|
|
15940
|
+
|
|
15941
|
+
.sign-page-aside::after {
|
|
15942
|
+
width: 15rem;
|
|
15943
|
+
height: 15rem;
|
|
15944
|
+
inset: auto auto -5rem -4rem;
|
|
15945
|
+
background: color-mix(in oklch, var(--color-secondary) 22%, transparent);
|
|
15946
|
+
}
|
|
15947
|
+
|
|
15948
|
+
.sign-page-main {
|
|
15949
|
+
display: grid;
|
|
15950
|
+
place-items: center;
|
|
15951
|
+
min-width: 0;
|
|
15952
|
+
padding: clamp(1rem, 6cqi, 4rem);
|
|
15953
|
+
background-color: var(--color-surface);
|
|
15954
|
+
}
|
|
15955
|
+
|
|
15956
|
+
.sign-page-content {
|
|
15957
|
+
width: min(100%, 30rem);
|
|
15958
|
+
}
|
|
15959
|
+
|
|
15960
|
+
@container sign-page (min-width: 48rem) {
|
|
15961
|
+
.sign-page-frame {
|
|
15962
|
+
grid-template-columns: minmax(20rem, 1.15fr) minmax(24rem, 0.85fr);
|
|
15963
|
+
}
|
|
15964
|
+
|
|
15965
|
+
.sign-page-aside {
|
|
15966
|
+
display: flex;
|
|
15967
|
+
flex-direction: column;
|
|
15968
|
+
justify-content: space-between;
|
|
15969
|
+
}
|
|
15970
|
+
}
|
|
15971
|
+
}
|
|
15972
|
+
|
|
15555
15973
|
|
|
15556
15974
|
/* ============================================
|
|
15557
15975
|
* NAVIGATION COMPONENTS
|
|
@@ -16192,6 +16610,26 @@
|
|
|
16192
16610
|
visibility: visible;
|
|
16193
16611
|
}
|
|
16194
16612
|
|
|
16613
|
+
/* Native surfaces keep the browser's closed state and reset UA dialog/popover geometry. */
|
|
16614
|
+
:where(.drawer[popover], dialog.drawer) {
|
|
16615
|
+
inset: auto;
|
|
16616
|
+
margin: 0;
|
|
16617
|
+
width: auto;
|
|
16618
|
+
height: auto;
|
|
16619
|
+
padding: 0;
|
|
16620
|
+
border: 0;
|
|
16621
|
+
color: var(--color-on-surface);
|
|
16622
|
+
max-width: none;
|
|
16623
|
+
max-height: none;
|
|
16624
|
+
overflow: auto;
|
|
16625
|
+
box-sizing: border-box;
|
|
16626
|
+
}
|
|
16627
|
+
|
|
16628
|
+
.drawer[popover]:not(:popover-open),
|
|
16629
|
+
dialog.drawer:not([open]) {
|
|
16630
|
+
display: none;
|
|
16631
|
+
}
|
|
16632
|
+
|
|
16195
16633
|
/* Base Drawer */
|
|
16196
16634
|
.drawer {
|
|
16197
16635
|
position: fixed;
|
|
@@ -16530,8 +16968,65 @@
|
|
|
16530
16968
|
border-radius: 0;
|
|
16531
16969
|
}
|
|
16532
16970
|
|
|
16971
|
+
/* Native state overrides legacy transforms without requiring class toggles. */
|
|
16972
|
+
.drawer[popover],
|
|
16973
|
+
dialog.drawer {
|
|
16974
|
+
transition: transform 300ms ease-out, opacity 300ms ease-out,
|
|
16975
|
+
display 300ms allow-discrete, overlay 300ms allow-discrete;
|
|
16976
|
+
opacity: 0;
|
|
16977
|
+
}
|
|
16978
|
+
|
|
16979
|
+
.drawer[popover]:popover-open,
|
|
16980
|
+
dialog.drawer[open] {
|
|
16981
|
+
display: flex;
|
|
16982
|
+
transform: translate(0, 0);
|
|
16983
|
+
opacity: 1;
|
|
16984
|
+
}
|
|
16985
|
+
|
|
16986
|
+
dialog.drawer::backdrop {
|
|
16987
|
+
background-color: color-mix(in srgb, var(--color-scrim) 50%, transparent);
|
|
16988
|
+
opacity: 0;
|
|
16989
|
+
transition: opacity 300ms ease-out, display 300ms allow-discrete,
|
|
16990
|
+
overlay 300ms allow-discrete;
|
|
16991
|
+
}
|
|
16992
|
+
|
|
16993
|
+
dialog.drawer[open]::backdrop {
|
|
16994
|
+
opacity: 1;
|
|
16995
|
+
}
|
|
16996
|
+
|
|
16997
|
+
@starting-style {
|
|
16998
|
+
.drawer[popover]:popover-open,
|
|
16999
|
+
dialog.drawer[open],
|
|
17000
|
+
dialog.drawer[open]::backdrop {
|
|
17001
|
+
opacity: 0;
|
|
17002
|
+
}
|
|
17003
|
+
|
|
17004
|
+
.drawer-left[popover]:popover-open,
|
|
17005
|
+
dialog.drawer-left[open] {
|
|
17006
|
+
transform: translateX(-100%);
|
|
17007
|
+
}
|
|
17008
|
+
|
|
17009
|
+
.drawer-right[popover]:popover-open,
|
|
17010
|
+
dialog.drawer-right[open] {
|
|
17011
|
+
transform: translateX(100%);
|
|
17012
|
+
}
|
|
17013
|
+
|
|
17014
|
+
.drawer-top[popover]:popover-open,
|
|
17015
|
+
dialog.drawer-top[open] {
|
|
17016
|
+
transform: translateY(-100%);
|
|
17017
|
+
}
|
|
17018
|
+
|
|
17019
|
+
.drawer-bottom[popover]:popover-open,
|
|
17020
|
+
dialog.drawer-bottom[open] {
|
|
17021
|
+
transform: translateY(100%);
|
|
17022
|
+
}
|
|
17023
|
+
}
|
|
17024
|
+
|
|
16533
17025
|
/* Reduce Motion */
|
|
16534
17026
|
@media (prefers-reduced-motion: reduce) {
|
|
17027
|
+
.drawer[popover],
|
|
17028
|
+
dialog.drawer,
|
|
17029
|
+
dialog.drawer::backdrop,
|
|
16535
17030
|
.drawer,
|
|
16536
17031
|
.drawer-backdrop,
|
|
16537
17032
|
.drawer-close,
|
|
@@ -17395,6 +17890,26 @@
|
|
|
17395
17890
|
visibility: visible;
|
|
17396
17891
|
}
|
|
17397
17892
|
|
|
17893
|
+
/* Native surfaces keep the browser's closed state and reset UA dialog/popover geometry. */
|
|
17894
|
+
:where(.bottomsheet[popover], dialog.bottomsheet) {
|
|
17895
|
+
inset: auto;
|
|
17896
|
+
margin: 0;
|
|
17897
|
+
width: auto;
|
|
17898
|
+
height: auto;
|
|
17899
|
+
padding: 0;
|
|
17900
|
+
border: 0;
|
|
17901
|
+
color: var(--color-on-surface);
|
|
17902
|
+
max-width: none;
|
|
17903
|
+
max-height: none;
|
|
17904
|
+
overflow: auto;
|
|
17905
|
+
box-sizing: border-box;
|
|
17906
|
+
}
|
|
17907
|
+
|
|
17908
|
+
.bottomsheet[popover]:not(:popover-open),
|
|
17909
|
+
dialog.bottomsheet:not([open]) {
|
|
17910
|
+
display: none;
|
|
17911
|
+
}
|
|
17912
|
+
|
|
17398
17913
|
/* Base Bottom Sheet */
|
|
17399
17914
|
.bottomsheet {
|
|
17400
17915
|
position: fixed;
|
|
@@ -17696,8 +18211,57 @@
|
|
|
17696
18211
|
}
|
|
17697
18212
|
}
|
|
17698
18213
|
|
|
18214
|
+
/* Native state overrides legacy transforms without requiring class toggles. */
|
|
18215
|
+
.bottomsheet[popover],
|
|
18216
|
+
dialog.bottomsheet {
|
|
18217
|
+
transition: transform 300ms ease-out, opacity 300ms ease-out,
|
|
18218
|
+
display 300ms allow-discrete, overlay 300ms allow-discrete;
|
|
18219
|
+
opacity: 0;
|
|
18220
|
+
}
|
|
18221
|
+
|
|
18222
|
+
.bottomsheet[popover]:popover-open,
|
|
18223
|
+
dialog.bottomsheet[open] {
|
|
18224
|
+
display: flex;
|
|
18225
|
+
transform: translate(0, 0);
|
|
18226
|
+
opacity: 1;
|
|
18227
|
+
}
|
|
18228
|
+
|
|
18229
|
+
dialog.bottomsheet::backdrop {
|
|
18230
|
+
background-color: color-mix(in srgb, var(--color-scrim) 50%, transparent);
|
|
18231
|
+
opacity: 0;
|
|
18232
|
+
transition: opacity 300ms ease-out, display 300ms allow-discrete,
|
|
18233
|
+
overlay 300ms allow-discrete;
|
|
18234
|
+
}
|
|
18235
|
+
|
|
18236
|
+
dialog.bottomsheet[open]::backdrop {
|
|
18237
|
+
opacity: 1;
|
|
18238
|
+
}
|
|
18239
|
+
|
|
18240
|
+
@starting-style {
|
|
18241
|
+
.bottomsheet[popover]:popover-open,
|
|
18242
|
+
dialog.bottomsheet[open],
|
|
18243
|
+
dialog.bottomsheet[open]::backdrop {
|
|
18244
|
+
opacity: 0;
|
|
18245
|
+
}
|
|
18246
|
+
|
|
18247
|
+
.bottomsheet[popover]:popover-open,
|
|
18248
|
+
dialog.bottomsheet[open] {
|
|
18249
|
+
transform: translateY(100%);
|
|
18250
|
+
}
|
|
18251
|
+
|
|
18252
|
+
@media (min-width: 768px) {
|
|
18253
|
+
.bottomsheet-responsive[popover]:popover-open,
|
|
18254
|
+
dialog.bottomsheet-responsive[open] {
|
|
18255
|
+
transform: translateX(100%);
|
|
18256
|
+
}
|
|
18257
|
+
}
|
|
18258
|
+
}
|
|
18259
|
+
|
|
17699
18260
|
/* Reduce Motion */
|
|
17700
18261
|
@media (prefers-reduced-motion: reduce) {
|
|
18262
|
+
.bottomsheet[popover],
|
|
18263
|
+
dialog.bottomsheet,
|
|
18264
|
+
dialog.bottomsheet::backdrop,
|
|
17701
18265
|
.bottomsheet,
|
|
17702
18266
|
.bottomsheet-backdrop,
|
|
17703
18267
|
.bottomsheet-close,
|
|
@@ -103,6 +103,65 @@
|
|
|
103
103
|
gap: 0.25rem;
|
|
104
104
|
}
|
|
105
105
|
|
|
106
|
+
/* Native floating menu. Keep closed popovers hidden despite the base flex layout. */
|
|
107
|
+
.menu[popover] {
|
|
108
|
+
display: none;
|
|
109
|
+
position: absolute;
|
|
110
|
+
inset: auto;
|
|
111
|
+
margin: 0.5rem;
|
|
112
|
+
min-width: 12rem;
|
|
113
|
+
max-width: calc(100vw - 1rem);
|
|
114
|
+
max-height: calc(100dvh - 1rem);
|
|
115
|
+
overflow: auto;
|
|
116
|
+
color: var(--color-on-surface);
|
|
117
|
+
background-color: var(--color-surface-container);
|
|
118
|
+
border: 1px solid var(--color-outline-variant);
|
|
119
|
+
border-radius: var(--radius-md);
|
|
120
|
+
box-shadow: var(--shadow-lg);
|
|
121
|
+
position-area: bottom;
|
|
122
|
+
position-try-fallbacks: flip-block, flip-inline, flip-block flip-inline;
|
|
123
|
+
opacity: 0;
|
|
124
|
+
transform: scale(0.95);
|
|
125
|
+
transition:
|
|
126
|
+
opacity 150ms ease-out,
|
|
127
|
+
transform 150ms ease-out,
|
|
128
|
+
overlay 150ms ease-out allow-discrete,
|
|
129
|
+
display 150ms ease-out allow-discrete;
|
|
130
|
+
}
|
|
131
|
+
|
|
132
|
+
.menu[popover]:popover-open {
|
|
133
|
+
display: flex;
|
|
134
|
+
opacity: 1;
|
|
135
|
+
transform: scale(1);
|
|
136
|
+
}
|
|
137
|
+
|
|
138
|
+
@starting-style {
|
|
139
|
+
.menu[popover]:popover-open {
|
|
140
|
+
opacity: 0;
|
|
141
|
+
transform: scale(0.95);
|
|
142
|
+
}
|
|
143
|
+
}
|
|
144
|
+
|
|
145
|
+
.menu[popover]::backdrop {
|
|
146
|
+
background-color: transparent;
|
|
147
|
+
}
|
|
148
|
+
|
|
149
|
+
.menu-top[popover] {
|
|
150
|
+
position-area: top;
|
|
151
|
+
}
|
|
152
|
+
|
|
153
|
+
.menu-bottom[popover] {
|
|
154
|
+
position-area: bottom;
|
|
155
|
+
}
|
|
156
|
+
|
|
157
|
+
.menu-left[popover] {
|
|
158
|
+
position-area: left;
|
|
159
|
+
}
|
|
160
|
+
|
|
161
|
+
.menu-right[popover] {
|
|
162
|
+
position-area: right;
|
|
163
|
+
}
|
|
164
|
+
|
|
106
165
|
.menu li {
|
|
107
166
|
display: flex;
|
|
108
167
|
flex-shrink: 0;
|
|
@@ -781,6 +840,10 @@
|
|
|
781
840
|
|
|
782
841
|
/* Reduce Motion */
|
|
783
842
|
@media (prefers-reduced-motion: reduce) {
|
|
843
|
+
.menu li > a,
|
|
844
|
+
.menu li > button,
|
|
845
|
+
.menu-item,
|
|
846
|
+
.menu[popover],
|
|
784
847
|
.pagination-item,
|
|
785
848
|
.pagination-prev,
|
|
786
849
|
.pagination-next {
|