@duskmoon-dev/core 1.19.1 → 1.19.3
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/components/footer.css +48 -0
- package/dist/components/hero.css +57 -0
- package/dist/components/index.css +405 -0
- package/dist/components/indicator.css +63 -0
- package/dist/components/join.css +70 -0
- package/dist/components/mask.css +38 -0
- package/dist/components/sidebar-layout.css +66 -0
- package/dist/components/stack.css +56 -0
- package/dist/esm/components/footer.d.ts +5 -0
- package/dist/esm/components/footer.js +57 -0
- package/dist/esm/components/hero.d.ts +5 -0
- package/dist/esm/components/hero.js +66 -0
- package/dist/esm/components/indicator.d.ts +5 -0
- package/dist/esm/components/indicator.js +72 -0
- package/dist/esm/components/join.d.ts +5 -0
- package/dist/esm/components/join.js +79 -0
- package/dist/esm/components/mask.d.ts +5 -0
- package/dist/esm/components/mask.js +47 -0
- package/dist/esm/components/sidebar-layout.d.ts +5 -0
- package/dist/esm/components/sidebar-layout.js +75 -0
- package/dist/esm/components/stack.d.ts +5 -0
- package/dist/esm/components/stack.js +65 -0
- package/dist/index.css +405 -0
- package/dist/index.min.css +1 -1
- package/dist/standalone/duskmoonui-themes.css +1 -1
- package/dist/standalone/duskmoonui.css +407 -2
- package/dist/standalone/duskmoonui.js +3 -3
- package/dist/standalone/duskmoonui.mjs +3 -3
- package/package.json +43 -1
package/README.md
CHANGED
|
@@ -0,0 +1,48 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Footer Composition Primitive
|
|
3
|
+
* Responsive, content-neutral groups on an MD3 surface.
|
|
4
|
+
*/
|
|
5
|
+
|
|
6
|
+
@layer components {
|
|
7
|
+
.footer {
|
|
8
|
+
display: grid;
|
|
9
|
+
grid-template-columns: repeat(auto-fit, minmax(min(12rem, 100%), 1fr));
|
|
10
|
+
gap: var(--footer-gap, 2rem);
|
|
11
|
+
width: 100%;
|
|
12
|
+
padding: var(--footer-padding, 2rem);
|
|
13
|
+
background-color: var(--color-surface-container-low);
|
|
14
|
+
color: var(--color-on-surface);
|
|
15
|
+
}
|
|
16
|
+
|
|
17
|
+
.footer > :where(nav, section, div):not(.footer-horizontal):not(.footer-vertical) {
|
|
18
|
+
display: grid;
|
|
19
|
+
align-content: start;
|
|
20
|
+
gap: 0.75rem;
|
|
21
|
+
}
|
|
22
|
+
|
|
23
|
+
.footer-title {
|
|
24
|
+
color: var(--color-on-surface-variant);
|
|
25
|
+
font-size: 0.75rem;
|
|
26
|
+
font-weight: 600;
|
|
27
|
+
line-height: 1rem;
|
|
28
|
+
letter-spacing: 0.08em;
|
|
29
|
+
text-transform: uppercase;
|
|
30
|
+
}
|
|
31
|
+
|
|
32
|
+
.footer-center {
|
|
33
|
+
place-items: center;
|
|
34
|
+
text-align: center;
|
|
35
|
+
}
|
|
36
|
+
|
|
37
|
+
.footer-horizontal {
|
|
38
|
+
grid-template-columns: none;
|
|
39
|
+
grid-auto-flow: column;
|
|
40
|
+
grid-auto-columns: minmax(0, 1fr);
|
|
41
|
+
align-items: start;
|
|
42
|
+
}
|
|
43
|
+
|
|
44
|
+
.footer-vertical {
|
|
45
|
+
grid-template-columns: minmax(0, 1fr);
|
|
46
|
+
grid-auto-flow: row;
|
|
47
|
+
}
|
|
48
|
+
}
|
|
@@ -0,0 +1,57 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Hero Composition Primitive
|
|
3
|
+
* Layers a content region and an optional presentation-neutral overlay.
|
|
4
|
+
*/
|
|
5
|
+
|
|
6
|
+
@layer components {
|
|
7
|
+
.hero {
|
|
8
|
+
display: grid;
|
|
9
|
+
width: 100%;
|
|
10
|
+
min-width: 0;
|
|
11
|
+
place-items: center;
|
|
12
|
+
isolation: isolate;
|
|
13
|
+
}
|
|
14
|
+
|
|
15
|
+
.hero > * {
|
|
16
|
+
grid-area: 1 / 1;
|
|
17
|
+
}
|
|
18
|
+
|
|
19
|
+
.hero-content {
|
|
20
|
+
z-index: 1;
|
|
21
|
+
display: flex;
|
|
22
|
+
width: min(100%, var(--hero-content-max-width, 80rem));
|
|
23
|
+
min-width: 0;
|
|
24
|
+
align-items: center;
|
|
25
|
+
justify-content: center;
|
|
26
|
+
}
|
|
27
|
+
|
|
28
|
+
.hero-overlay {
|
|
29
|
+
z-index: 0;
|
|
30
|
+
align-self: stretch;
|
|
31
|
+
justify-self: stretch;
|
|
32
|
+
pointer-events: none;
|
|
33
|
+
}
|
|
34
|
+
|
|
35
|
+
.hero-center {
|
|
36
|
+
justify-items: center;
|
|
37
|
+
text-align: center;
|
|
38
|
+
}
|
|
39
|
+
|
|
40
|
+
.hero-start {
|
|
41
|
+
justify-items: start;
|
|
42
|
+
text-align: start;
|
|
43
|
+
}
|
|
44
|
+
|
|
45
|
+
.hero-end {
|
|
46
|
+
justify-items: end;
|
|
47
|
+
text-align: end;
|
|
48
|
+
}
|
|
49
|
+
|
|
50
|
+
.hero-start > .hero-content {
|
|
51
|
+
justify-content: flex-start;
|
|
52
|
+
}
|
|
53
|
+
|
|
54
|
+
.hero-end > .hero-content {
|
|
55
|
+
justify-content: flex-end;
|
|
56
|
+
}
|
|
57
|
+
}
|
|
@@ -15794,6 +15794,411 @@
|
|
|
15794
15794
|
}
|
|
15795
15795
|
}
|
|
15796
15796
|
|
|
15797
|
+
/**
|
|
15798
|
+
* Footer Composition Primitive
|
|
15799
|
+
* Responsive, content-neutral groups on an MD3 surface.
|
|
15800
|
+
*/
|
|
15801
|
+
|
|
15802
|
+
@layer components {
|
|
15803
|
+
.footer {
|
|
15804
|
+
display: grid;
|
|
15805
|
+
grid-template-columns: repeat(auto-fit, minmax(min(12rem, 100%), 1fr));
|
|
15806
|
+
gap: var(--footer-gap, 2rem);
|
|
15807
|
+
width: 100%;
|
|
15808
|
+
padding: var(--footer-padding, 2rem);
|
|
15809
|
+
background-color: var(--color-surface-container-low);
|
|
15810
|
+
color: var(--color-on-surface);
|
|
15811
|
+
}
|
|
15812
|
+
|
|
15813
|
+
.footer > :where(nav, section, div):not(.footer-horizontal):not(.footer-vertical) {
|
|
15814
|
+
display: grid;
|
|
15815
|
+
align-content: start;
|
|
15816
|
+
gap: 0.75rem;
|
|
15817
|
+
}
|
|
15818
|
+
|
|
15819
|
+
.footer-title {
|
|
15820
|
+
color: var(--color-on-surface-variant);
|
|
15821
|
+
font-size: 0.75rem;
|
|
15822
|
+
font-weight: 600;
|
|
15823
|
+
line-height: 1rem;
|
|
15824
|
+
letter-spacing: 0.08em;
|
|
15825
|
+
text-transform: uppercase;
|
|
15826
|
+
}
|
|
15827
|
+
|
|
15828
|
+
.footer-center {
|
|
15829
|
+
place-items: center;
|
|
15830
|
+
text-align: center;
|
|
15831
|
+
}
|
|
15832
|
+
|
|
15833
|
+
.footer-horizontal {
|
|
15834
|
+
grid-template-columns: none;
|
|
15835
|
+
grid-auto-flow: column;
|
|
15836
|
+
grid-auto-columns: minmax(0, 1fr);
|
|
15837
|
+
align-items: start;
|
|
15838
|
+
}
|
|
15839
|
+
|
|
15840
|
+
.footer-vertical {
|
|
15841
|
+
grid-template-columns: minmax(0, 1fr);
|
|
15842
|
+
grid-auto-flow: row;
|
|
15843
|
+
}
|
|
15844
|
+
}
|
|
15845
|
+
|
|
15846
|
+
/**
|
|
15847
|
+
* Hero Composition Primitive
|
|
15848
|
+
* Layers a content region and an optional presentation-neutral overlay.
|
|
15849
|
+
*/
|
|
15850
|
+
|
|
15851
|
+
@layer components {
|
|
15852
|
+
.hero {
|
|
15853
|
+
display: grid;
|
|
15854
|
+
width: 100%;
|
|
15855
|
+
min-width: 0;
|
|
15856
|
+
place-items: center;
|
|
15857
|
+
isolation: isolate;
|
|
15858
|
+
}
|
|
15859
|
+
|
|
15860
|
+
.hero > * {
|
|
15861
|
+
grid-area: 1 / 1;
|
|
15862
|
+
}
|
|
15863
|
+
|
|
15864
|
+
.hero-content {
|
|
15865
|
+
z-index: 1;
|
|
15866
|
+
display: flex;
|
|
15867
|
+
width: min(100%, var(--hero-content-max-width, 80rem));
|
|
15868
|
+
min-width: 0;
|
|
15869
|
+
align-items: center;
|
|
15870
|
+
justify-content: center;
|
|
15871
|
+
}
|
|
15872
|
+
|
|
15873
|
+
.hero-overlay {
|
|
15874
|
+
z-index: 0;
|
|
15875
|
+
align-self: stretch;
|
|
15876
|
+
justify-self: stretch;
|
|
15877
|
+
pointer-events: none;
|
|
15878
|
+
}
|
|
15879
|
+
|
|
15880
|
+
.hero-center {
|
|
15881
|
+
justify-items: center;
|
|
15882
|
+
text-align: center;
|
|
15883
|
+
}
|
|
15884
|
+
|
|
15885
|
+
.hero-start {
|
|
15886
|
+
justify-items: start;
|
|
15887
|
+
text-align: start;
|
|
15888
|
+
}
|
|
15889
|
+
|
|
15890
|
+
.hero-end {
|
|
15891
|
+
justify-items: end;
|
|
15892
|
+
text-align: end;
|
|
15893
|
+
}
|
|
15894
|
+
|
|
15895
|
+
.hero-start > .hero-content {
|
|
15896
|
+
justify-content: flex-start;
|
|
15897
|
+
}
|
|
15898
|
+
|
|
15899
|
+
.hero-end > .hero-content {
|
|
15900
|
+
justify-content: flex-end;
|
|
15901
|
+
}
|
|
15902
|
+
}
|
|
15903
|
+
|
|
15904
|
+
/**
|
|
15905
|
+
* Indicator Composition Primitive
|
|
15906
|
+
* Positions arbitrary content around an inline-sized anchor.
|
|
15907
|
+
*/
|
|
15908
|
+
|
|
15909
|
+
@layer components {
|
|
15910
|
+
.indicator {
|
|
15911
|
+
position: relative;
|
|
15912
|
+
display: inline-grid;
|
|
15913
|
+
width: max-content;
|
|
15914
|
+
max-width: 100%;
|
|
15915
|
+
}
|
|
15916
|
+
|
|
15917
|
+
.indicator-item {
|
|
15918
|
+
--indicator-block: 0%;
|
|
15919
|
+
--indicator-inline: 0%;
|
|
15920
|
+
--indicator-x: 50%;
|
|
15921
|
+
--indicator-y: -50%;
|
|
15922
|
+
position: absolute;
|
|
15923
|
+
z-index: 1;
|
|
15924
|
+
inset-block-start: var(--indicator-block);
|
|
15925
|
+
inset-inline-end: var(--indicator-inline);
|
|
15926
|
+
translate: var(--indicator-x) var(--indicator-y);
|
|
15927
|
+
}
|
|
15928
|
+
|
|
15929
|
+
.indicator-top {
|
|
15930
|
+
--indicator-block: 0%;
|
|
15931
|
+
--indicator-y: -50%;
|
|
15932
|
+
}
|
|
15933
|
+
|
|
15934
|
+
.indicator-middle {
|
|
15935
|
+
--indicator-block: 50%;
|
|
15936
|
+
--indicator-y: -50%;
|
|
15937
|
+
}
|
|
15938
|
+
|
|
15939
|
+
.indicator-bottom {
|
|
15940
|
+
--indicator-block: 100%;
|
|
15941
|
+
--indicator-y: -50%;
|
|
15942
|
+
}
|
|
15943
|
+
|
|
15944
|
+
.indicator-start {
|
|
15945
|
+
--indicator-inline: 100%;
|
|
15946
|
+
--indicator-x: 50%;
|
|
15947
|
+
}
|
|
15948
|
+
|
|
15949
|
+
.indicator-center {
|
|
15950
|
+
--indicator-inline: 50%;
|
|
15951
|
+
--indicator-x: 50%;
|
|
15952
|
+
}
|
|
15953
|
+
|
|
15954
|
+
.indicator-end {
|
|
15955
|
+
--indicator-inline: 0%;
|
|
15956
|
+
--indicator-x: 50%;
|
|
15957
|
+
}
|
|
15958
|
+
|
|
15959
|
+
:dir(rtl) .indicator-item {
|
|
15960
|
+
--indicator-x: -50%;
|
|
15961
|
+
}
|
|
15962
|
+
|
|
15963
|
+
:dir(rtl) .indicator-start {
|
|
15964
|
+
--indicator-x: -50%;
|
|
15965
|
+
}
|
|
15966
|
+
}
|
|
15967
|
+
|
|
15968
|
+
/**
|
|
15969
|
+
* Join Composition Primitive
|
|
15970
|
+
* Visually connects arbitrary adjacent controls.
|
|
15971
|
+
*/
|
|
15972
|
+
|
|
15973
|
+
@layer components {
|
|
15974
|
+
.join {
|
|
15975
|
+
display: inline-flex;
|
|
15976
|
+
align-items: stretch;
|
|
15977
|
+
flex-direction: row;
|
|
15978
|
+
width: max-content;
|
|
15979
|
+
max-width: 100%;
|
|
15980
|
+
vertical-align: middle;
|
|
15981
|
+
}
|
|
15982
|
+
|
|
15983
|
+
.join > .join-item {
|
|
15984
|
+
position: relative;
|
|
15985
|
+
flex: 0 1 auto;
|
|
15986
|
+
}
|
|
15987
|
+
|
|
15988
|
+
.join > .join-item:hover,
|
|
15989
|
+
.join > .join-item:focus,
|
|
15990
|
+
.join > .join-item:focus-within {
|
|
15991
|
+
z-index: 1;
|
|
15992
|
+
}
|
|
15993
|
+
|
|
15994
|
+
:is(.join, .join-horizontal) > .join-item:not(:first-child) {
|
|
15995
|
+
margin-inline-start: -1px;
|
|
15996
|
+
}
|
|
15997
|
+
|
|
15998
|
+
:is(.join, .join-horizontal) > .join-item:not(:first-child):not(:last-child) {
|
|
15999
|
+
border-radius: 0;
|
|
16000
|
+
}
|
|
16001
|
+
|
|
16002
|
+
:is(.join, .join-horizontal) > .join-item:first-child:not(:last-child) {
|
|
16003
|
+
border-start-end-radius: 0;
|
|
16004
|
+
border-end-end-radius: 0;
|
|
16005
|
+
}
|
|
16006
|
+
|
|
16007
|
+
:is(.join, .join-horizontal) > .join-item:last-child:not(:first-child) {
|
|
16008
|
+
border-start-start-radius: 0;
|
|
16009
|
+
border-end-start-radius: 0;
|
|
16010
|
+
}
|
|
16011
|
+
|
|
16012
|
+
.join-vertical {
|
|
16013
|
+
flex-direction: column;
|
|
16014
|
+
}
|
|
16015
|
+
|
|
16016
|
+
.join-vertical > .join-item {
|
|
16017
|
+
margin-inline-start: 0;
|
|
16018
|
+
}
|
|
16019
|
+
|
|
16020
|
+
.join-vertical > .join-item:not(:first-child) {
|
|
16021
|
+
margin-block-start: -1px;
|
|
16022
|
+
}
|
|
16023
|
+
|
|
16024
|
+
.join-vertical > .join-item:not(:first-child):not(:last-child) {
|
|
16025
|
+
border-radius: 0;
|
|
16026
|
+
}
|
|
16027
|
+
|
|
16028
|
+
.join-vertical > .join-item:first-child:not(:last-child) {
|
|
16029
|
+
border-end-start-radius: 0;
|
|
16030
|
+
border-end-end-radius: 0;
|
|
16031
|
+
}
|
|
16032
|
+
|
|
16033
|
+
.join-vertical > .join-item:last-child:not(:first-child) {
|
|
16034
|
+
border-start-start-radius: 0;
|
|
16035
|
+
border-start-end-radius: 0;
|
|
16036
|
+
}
|
|
16037
|
+
}
|
|
16038
|
+
|
|
16039
|
+
/**
|
|
16040
|
+
* Mask Composition Primitive
|
|
16041
|
+
* Small, dependency-free catalog of reusable clipping shapes.
|
|
16042
|
+
*/
|
|
16043
|
+
|
|
16044
|
+
@layer components {
|
|
16045
|
+
.mask {
|
|
16046
|
+
display: inline-block;
|
|
16047
|
+
max-width: 100%;
|
|
16048
|
+
overflow: hidden;
|
|
16049
|
+
vertical-align: middle;
|
|
16050
|
+
object-fit: cover;
|
|
16051
|
+
}
|
|
16052
|
+
|
|
16053
|
+
.mask-circle {
|
|
16054
|
+
clip-path: circle(50% at 50% 50%);
|
|
16055
|
+
}
|
|
16056
|
+
|
|
16057
|
+
.mask-squircle {
|
|
16058
|
+
clip-path: inset(0 round 28%);
|
|
16059
|
+
}
|
|
16060
|
+
|
|
16061
|
+
.mask-square {
|
|
16062
|
+
clip-path: inset(0);
|
|
16063
|
+
}
|
|
16064
|
+
|
|
16065
|
+
.mask-diamond {
|
|
16066
|
+
clip-path: polygon(50% 0, 100% 50%, 50% 100%, 0 50%);
|
|
16067
|
+
}
|
|
16068
|
+
|
|
16069
|
+
.mask-hexagon {
|
|
16070
|
+
clip-path: polygon(25% 6.7%, 75% 6.7%, 100% 50%, 75% 93.3%, 25% 93.3%, 0 50%);
|
|
16071
|
+
}
|
|
16072
|
+
|
|
16073
|
+
.mask-triangle {
|
|
16074
|
+
clip-path: polygon(50% 0, 100% 100%, 0 100%);
|
|
16075
|
+
}
|
|
16076
|
+
}
|
|
16077
|
+
|
|
16078
|
+
/**
|
|
16079
|
+
* Sidebar Layout Composition Primitive
|
|
16080
|
+
* Persistent, responsive sidebar + content grid; application code owns state.
|
|
16081
|
+
*/
|
|
16082
|
+
|
|
16083
|
+
@layer components {
|
|
16084
|
+
.sidebar-layout {
|
|
16085
|
+
--sidebar-layout-width: 17.5rem;
|
|
16086
|
+
--sidebar-layout-compact-width: 5rem;
|
|
16087
|
+
container-type: inline-size;
|
|
16088
|
+
container-name: sidebar-layout;
|
|
16089
|
+
display: grid;
|
|
16090
|
+
grid-template-columns: auto minmax(0, 1fr);
|
|
16091
|
+
grid-template-areas: "sidebar content";
|
|
16092
|
+
width: 100%;
|
|
16093
|
+
min-width: 0;
|
|
16094
|
+
min-height: 0;
|
|
16095
|
+
background-color: var(--color-surface);
|
|
16096
|
+
color: var(--color-on-surface);
|
|
16097
|
+
}
|
|
16098
|
+
|
|
16099
|
+
.sidebar-layout-sidebar {
|
|
16100
|
+
display: none;
|
|
16101
|
+
grid-area: sidebar;
|
|
16102
|
+
width: var(--sidebar-layout-width);
|
|
16103
|
+
min-width: 0;
|
|
16104
|
+
overflow: hidden;
|
|
16105
|
+
background-color: var(--color-surface-container-low);
|
|
16106
|
+
color: var(--color-on-surface);
|
|
16107
|
+
border-inline-end: 1px solid var(--color-outline-variant);
|
|
16108
|
+
}
|
|
16109
|
+
|
|
16110
|
+
.sidebar-layout-content {
|
|
16111
|
+
grid-area: content;
|
|
16112
|
+
min-width: 0;
|
|
16113
|
+
}
|
|
16114
|
+
|
|
16115
|
+
.sidebar-layout-start {
|
|
16116
|
+
grid-template-columns: auto minmax(0, 1fr);
|
|
16117
|
+
grid-template-areas: "sidebar content";
|
|
16118
|
+
}
|
|
16119
|
+
|
|
16120
|
+
.sidebar-layout-end {
|
|
16121
|
+
grid-template-columns: minmax(0, 1fr) auto;
|
|
16122
|
+
grid-template-areas: "content sidebar";
|
|
16123
|
+
}
|
|
16124
|
+
|
|
16125
|
+
.sidebar-layout-end > .sidebar-layout-sidebar {
|
|
16126
|
+
border-inline-start: 1px solid var(--color-outline-variant);
|
|
16127
|
+
border-inline-end: 0;
|
|
16128
|
+
}
|
|
16129
|
+
|
|
16130
|
+
@container sidebar-layout (min-width: 48rem) {
|
|
16131
|
+
.sidebar-layout-sidebar {
|
|
16132
|
+
display: block;
|
|
16133
|
+
}
|
|
16134
|
+
}
|
|
16135
|
+
|
|
16136
|
+
.sidebar-layout-compact > .sidebar-layout-sidebar {
|
|
16137
|
+
width: var(--sidebar-layout-compact-width);
|
|
16138
|
+
}
|
|
16139
|
+
|
|
16140
|
+
.sidebar-layout-hidden > .sidebar-layout-sidebar {
|
|
16141
|
+
display: none;
|
|
16142
|
+
}
|
|
16143
|
+
}
|
|
16144
|
+
|
|
16145
|
+
/**
|
|
16146
|
+
* Stack Composition Primitive
|
|
16147
|
+
* Overlaps arbitrary children in one intrinsic CSS Grid area.
|
|
16148
|
+
*/
|
|
16149
|
+
|
|
16150
|
+
@layer components {
|
|
16151
|
+
.stack {
|
|
16152
|
+
--stack-inline-offset: 0;
|
|
16153
|
+
--stack-block-offset: 0.375rem;
|
|
16154
|
+
display: inline-grid;
|
|
16155
|
+
place-items: stretch;
|
|
16156
|
+
isolation: isolate;
|
|
16157
|
+
}
|
|
16158
|
+
|
|
16159
|
+
.stack > * {
|
|
16160
|
+
grid-area: 1 / 1;
|
|
16161
|
+
position: relative;
|
|
16162
|
+
min-width: 0;
|
|
16163
|
+
}
|
|
16164
|
+
|
|
16165
|
+
.stack > :first-child {
|
|
16166
|
+
z-index: 3;
|
|
16167
|
+
}
|
|
16168
|
+
|
|
16169
|
+
.stack > :nth-child(2) {
|
|
16170
|
+
z-index: 2;
|
|
16171
|
+
inset-inline-start: var(--stack-inline-offset);
|
|
16172
|
+
inset-block-start: var(--stack-block-offset);
|
|
16173
|
+
}
|
|
16174
|
+
|
|
16175
|
+
.stack > :nth-child(n + 3) {
|
|
16176
|
+
z-index: 1;
|
|
16177
|
+
inset-inline-start: calc(var(--stack-inline-offset) * 2);
|
|
16178
|
+
inset-block-start: calc(var(--stack-block-offset) * 2);
|
|
16179
|
+
}
|
|
16180
|
+
|
|
16181
|
+
.stack-top {
|
|
16182
|
+
--stack-inline-offset: 0;
|
|
16183
|
+
--stack-block-offset: -0.375rem;
|
|
16184
|
+
}
|
|
16185
|
+
|
|
16186
|
+
.stack-bottom {
|
|
16187
|
+
--stack-inline-offset: 0;
|
|
16188
|
+
--stack-block-offset: 0.375rem;
|
|
16189
|
+
}
|
|
16190
|
+
|
|
16191
|
+
.stack-start {
|
|
16192
|
+
--stack-inline-offset: -0.375rem;
|
|
16193
|
+
--stack-block-offset: 0;
|
|
16194
|
+
}
|
|
16195
|
+
|
|
16196
|
+
.stack-end {
|
|
16197
|
+
--stack-inline-offset: 0.375rem;
|
|
16198
|
+
--stack-block-offset: 0;
|
|
16199
|
+
}
|
|
16200
|
+
}
|
|
16201
|
+
|
|
15797
16202
|
/**
|
|
15798
16203
|
* Home Page Layout
|
|
15799
16204
|
* App-bar-led public application shell driven by its containing width.
|
|
@@ -0,0 +1,63 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Indicator Composition Primitive
|
|
3
|
+
* Positions arbitrary content around an inline-sized anchor.
|
|
4
|
+
*/
|
|
5
|
+
|
|
6
|
+
@layer components {
|
|
7
|
+
.indicator {
|
|
8
|
+
position: relative;
|
|
9
|
+
display: inline-grid;
|
|
10
|
+
width: max-content;
|
|
11
|
+
max-width: 100%;
|
|
12
|
+
}
|
|
13
|
+
|
|
14
|
+
.indicator-item {
|
|
15
|
+
--indicator-block: 0%;
|
|
16
|
+
--indicator-inline: 0%;
|
|
17
|
+
--indicator-x: 50%;
|
|
18
|
+
--indicator-y: -50%;
|
|
19
|
+
position: absolute;
|
|
20
|
+
z-index: 1;
|
|
21
|
+
inset-block-start: var(--indicator-block);
|
|
22
|
+
inset-inline-end: var(--indicator-inline);
|
|
23
|
+
translate: var(--indicator-x) var(--indicator-y);
|
|
24
|
+
}
|
|
25
|
+
|
|
26
|
+
.indicator-top {
|
|
27
|
+
--indicator-block: 0%;
|
|
28
|
+
--indicator-y: -50%;
|
|
29
|
+
}
|
|
30
|
+
|
|
31
|
+
.indicator-middle {
|
|
32
|
+
--indicator-block: 50%;
|
|
33
|
+
--indicator-y: -50%;
|
|
34
|
+
}
|
|
35
|
+
|
|
36
|
+
.indicator-bottom {
|
|
37
|
+
--indicator-block: 100%;
|
|
38
|
+
--indicator-y: -50%;
|
|
39
|
+
}
|
|
40
|
+
|
|
41
|
+
.indicator-start {
|
|
42
|
+
--indicator-inline: 100%;
|
|
43
|
+
--indicator-x: 50%;
|
|
44
|
+
}
|
|
45
|
+
|
|
46
|
+
.indicator-center {
|
|
47
|
+
--indicator-inline: 50%;
|
|
48
|
+
--indicator-x: 50%;
|
|
49
|
+
}
|
|
50
|
+
|
|
51
|
+
.indicator-end {
|
|
52
|
+
--indicator-inline: 0%;
|
|
53
|
+
--indicator-x: 50%;
|
|
54
|
+
}
|
|
55
|
+
|
|
56
|
+
:dir(rtl) .indicator-item {
|
|
57
|
+
--indicator-x: -50%;
|
|
58
|
+
}
|
|
59
|
+
|
|
60
|
+
:dir(rtl) .indicator-start {
|
|
61
|
+
--indicator-x: -50%;
|
|
62
|
+
}
|
|
63
|
+
}
|
|
@@ -0,0 +1,70 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Join Composition Primitive
|
|
3
|
+
* Visually connects arbitrary adjacent controls.
|
|
4
|
+
*/
|
|
5
|
+
|
|
6
|
+
@layer components {
|
|
7
|
+
.join {
|
|
8
|
+
display: inline-flex;
|
|
9
|
+
align-items: stretch;
|
|
10
|
+
flex-direction: row;
|
|
11
|
+
width: max-content;
|
|
12
|
+
max-width: 100%;
|
|
13
|
+
vertical-align: middle;
|
|
14
|
+
}
|
|
15
|
+
|
|
16
|
+
.join > .join-item {
|
|
17
|
+
position: relative;
|
|
18
|
+
flex: 0 1 auto;
|
|
19
|
+
}
|
|
20
|
+
|
|
21
|
+
.join > .join-item:hover,
|
|
22
|
+
.join > .join-item:focus,
|
|
23
|
+
.join > .join-item:focus-within {
|
|
24
|
+
z-index: 1;
|
|
25
|
+
}
|
|
26
|
+
|
|
27
|
+
:is(.join, .join-horizontal) > .join-item:not(:first-child) {
|
|
28
|
+
margin-inline-start: -1px;
|
|
29
|
+
}
|
|
30
|
+
|
|
31
|
+
:is(.join, .join-horizontal) > .join-item:not(:first-child):not(:last-child) {
|
|
32
|
+
border-radius: 0;
|
|
33
|
+
}
|
|
34
|
+
|
|
35
|
+
:is(.join, .join-horizontal) > .join-item:first-child:not(:last-child) {
|
|
36
|
+
border-start-end-radius: 0;
|
|
37
|
+
border-end-end-radius: 0;
|
|
38
|
+
}
|
|
39
|
+
|
|
40
|
+
:is(.join, .join-horizontal) > .join-item:last-child:not(:first-child) {
|
|
41
|
+
border-start-start-radius: 0;
|
|
42
|
+
border-end-start-radius: 0;
|
|
43
|
+
}
|
|
44
|
+
|
|
45
|
+
.join-vertical {
|
|
46
|
+
flex-direction: column;
|
|
47
|
+
}
|
|
48
|
+
|
|
49
|
+
.join-vertical > .join-item {
|
|
50
|
+
margin-inline-start: 0;
|
|
51
|
+
}
|
|
52
|
+
|
|
53
|
+
.join-vertical > .join-item:not(:first-child) {
|
|
54
|
+
margin-block-start: -1px;
|
|
55
|
+
}
|
|
56
|
+
|
|
57
|
+
.join-vertical > .join-item:not(:first-child):not(:last-child) {
|
|
58
|
+
border-radius: 0;
|
|
59
|
+
}
|
|
60
|
+
|
|
61
|
+
.join-vertical > .join-item:first-child:not(:last-child) {
|
|
62
|
+
border-end-start-radius: 0;
|
|
63
|
+
border-end-end-radius: 0;
|
|
64
|
+
}
|
|
65
|
+
|
|
66
|
+
.join-vertical > .join-item:last-child:not(:first-child) {
|
|
67
|
+
border-start-start-radius: 0;
|
|
68
|
+
border-start-end-radius: 0;
|
|
69
|
+
}
|
|
70
|
+
}
|
|
@@ -0,0 +1,38 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Mask Composition Primitive
|
|
3
|
+
* Small, dependency-free catalog of reusable clipping shapes.
|
|
4
|
+
*/
|
|
5
|
+
|
|
6
|
+
@layer components {
|
|
7
|
+
.mask {
|
|
8
|
+
display: inline-block;
|
|
9
|
+
max-width: 100%;
|
|
10
|
+
overflow: hidden;
|
|
11
|
+
vertical-align: middle;
|
|
12
|
+
object-fit: cover;
|
|
13
|
+
}
|
|
14
|
+
|
|
15
|
+
.mask-circle {
|
|
16
|
+
clip-path: circle(50% at 50% 50%);
|
|
17
|
+
}
|
|
18
|
+
|
|
19
|
+
.mask-squircle {
|
|
20
|
+
clip-path: inset(0 round 28%);
|
|
21
|
+
}
|
|
22
|
+
|
|
23
|
+
.mask-square {
|
|
24
|
+
clip-path: inset(0);
|
|
25
|
+
}
|
|
26
|
+
|
|
27
|
+
.mask-diamond {
|
|
28
|
+
clip-path: polygon(50% 0, 100% 50%, 50% 100%, 0 50%);
|
|
29
|
+
}
|
|
30
|
+
|
|
31
|
+
.mask-hexagon {
|
|
32
|
+
clip-path: polygon(25% 6.7%, 75% 6.7%, 100% 50%, 75% 93.3%, 25% 93.3%, 0 50%);
|
|
33
|
+
}
|
|
34
|
+
|
|
35
|
+
.mask-triangle {
|
|
36
|
+
clip-path: polygon(50% 0, 100% 100%, 0 100%);
|
|
37
|
+
}
|
|
38
|
+
}
|