fulldev-ui 0.3.0-beta.3 → 0.3.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/.astro/settings.json +1 -1
- package/package.json +10 -5
- package/src/components/_Block.astro +0 -5
- package/src/components/_Component.astro +10 -8
- package/src/components/_archive/Body.astro +2 -2
- package/src/components/_archive/Nav.astro +12 -0
- package/src/components/_todo/Form.astro +1 -1
- package/src/components/_todo/Prose.astro +7 -7
- package/src/components/base/Badge.astro +20 -16
- package/src/components/base/Button.astro +21 -34
- package/src/components/base/Icon.astro +7 -7
- package/src/components/base/Image.astro +116 -42
- package/src/components/base/Logo.astro +2 -3
- package/src/components/base/Rating.astro +30 -29
- package/src/components/base/checkbox/Checkbox.astro +52 -0
- package/src/components/base/checkbox/CheckboxElement.astro +31 -0
- package/src/components/base/input/Input.astro +79 -0
- package/src/components/base/input/InputElement.astro +60 -0
- package/src/components/base/radio/Radio.astro +66 -0
- package/src/components/base/radio/RadioElement.astro +34 -0
- package/src/components/base/select/Select.astro +90 -0
- package/src/components/base/select/SelectElement.astro +56 -0
- package/src/components/base/select/SelectOption.astro +32 -0
- package/src/components/base/switch/Switch.astro +55 -0
- package/src/components/base/{Switch.astro → switch/SwitchElement.astro} +15 -13
- package/src/components/base/table/Table.astro +55 -0
- package/src/components/base/table/TableBody.astro +39 -0
- package/src/components/base/table/TableCell.astro +30 -0
- package/src/components/base/table/TableFooter.astro +48 -0
- package/src/components/base/table/TableHead.astro +31 -0
- package/src/components/base/table/TableHeader.astro +44 -0
- package/src/components/base/table/TableRow.astro +46 -0
- package/src/components/base/textarea/Textarea.astro +79 -0
- package/src/components/base/textarea/TextareaElement.astro +61 -0
- package/src/components/segment/Card.astro +42 -19
- package/src/components/segment/Footer.astro +88 -0
- package/src/components/segment/Header.astro +48 -19
- package/src/components/segment/Section.astro +66 -32
- package/src/components/segment/_regels.md +32 -0
- package/src/components/structure/Bento.astro +38 -0
- package/src/components/structure/Box.astro +30 -0
- package/src/components/structure/Carousel.astro +55 -0
- package/src/components/structure/Column.astro +46 -0
- package/src/components/structure/Grid.astro +33 -0
- package/src/components/structure/Masonry.astro +42 -0
- package/src/components/structure/Row.astro +44 -0
- package/src/components/structure/Split.astro +54 -0
- package/src/components/structure/Spread.astro +45 -0
- package/src/components/structure/Wrap.astro +44 -0
- package/src/components/typography/Heading.astro +37 -28
- package/src/components/typography/Label.astro +4 -8
- package/src/components/typography/Link.astro +40 -12
- package/src/components/typography/List.astro +12 -13
- package/src/components/typography/ListItem.astro +11 -10
- package/src/components/typography/Paragraph.astro +4 -9
- package/src/components/typography/Tagline.astro +11 -10
- package/src/components/typography/Text.astro +5 -9
- package/src/content/config.ts +1 -1
- package/src/css/color.scss +289 -0
- package/src/css/size.scss +293 -0
- package/src/css/space.scss +94 -0
- package/src/css/styles.css +1 -2
- package/src/index.ts +30 -12
- package/src/integration/tailwind.ts +34 -0
- package/src/integration/unocss.ts +38 -0
- package/src/schemas/schemas.ts +45 -0
- package/src/components/_archive/Row.astro +0 -26
- package/src/components/_todo/Footer.astro +0 -66
- package/src/components/_todo/todo.md +0 -10
- package/src/components/base/Checkbox.astro +0 -41
- package/src/components/base/Input.astro +0 -59
- package/src/components/base/Radio.astro +0 -39
- package/src/components/base/Select.astro +0 -69
- package/src/components/base/SelectOption.astro +0 -27
- package/src/components/base/Textarea.astro +0 -34
- package/src/components/base/todo.md +0 -7
- package/src/components/segment/Box.astro +0 -41
- package/src/components/segment/Deck.astro +0 -40
- package/src/components/segment/Group.astro +0 -29
- package/src/components/typography/todo.md +0 -3
- package/src/css/color.css +0 -88
- package/src/css/props/align.scss +0 -20
- package/src/css/props/frame.scss +0 -153
- package/src/css/props/mask +0 -1
- package/src/css/props/position.scss +0 -33
- package/src/css/props/ratio +0 -1
- package/src/css/props/structure.scss +0 -228
- package/src/css/props/variant.scss +0 -130
- package/src/css/radix.css +0 -281
- package/src/css/size.css +0 -334
- /package/src/schemas/{collection.ts → collection-old-schemas.ts} +0 -0
|
@@ -1,29 +0,0 @@
|
|
|
1
|
-
---
|
|
2
|
-
import type { ComponentProps, HTMLTag, Polymorphic } from 'astro/types'
|
|
3
|
-
import Component from '../_Component.astro'
|
|
4
|
-
|
|
5
|
-
type Props<As extends HTMLTag = 'div'> = Polymorphic<{ as: As }> &
|
|
6
|
-
ComponentProps<typeof Component> & {
|
|
7
|
-
color?: 'base' | 'brand'
|
|
8
|
-
size?: 'sm' | 'md' | 'lg'
|
|
9
|
-
structure?: 'row' | 'column' | 'wrap'
|
|
10
|
-
}
|
|
11
|
-
|
|
12
|
-
const { ...rest } = Astro.props
|
|
13
|
-
---
|
|
14
|
-
|
|
15
|
-
<Component
|
|
16
|
-
class:list={['group']}
|
|
17
|
-
{...rest}
|
|
18
|
-
>
|
|
19
|
-
<slot />
|
|
20
|
-
</Component>
|
|
21
|
-
|
|
22
|
-
<style is:global lang="scss">
|
|
23
|
-
@import '../../css/utils.scss';
|
|
24
|
-
|
|
25
|
-
@include component('group') {
|
|
26
|
-
justify-content: stretch;
|
|
27
|
-
align-items: center;
|
|
28
|
-
}
|
|
29
|
-
</style>
|
package/src/css/color.css
DELETED
|
@@ -1,88 +0,0 @@
|
|
|
1
|
-
:root,
|
|
2
|
-
.light,
|
|
3
|
-
.light-theme,
|
|
4
|
-
.theme-light,
|
|
5
|
-
[data-theme='light'],
|
|
6
|
-
.dark,
|
|
7
|
-
.dark-theme,
|
|
8
|
-
.theme-dark,
|
|
9
|
-
[data-theme='dark'] {
|
|
10
|
-
--base-background: var(--base-1);
|
|
11
|
-
--base-background-surface: var(--base-surface);
|
|
12
|
-
--base-background-subtle: var(--base-2);
|
|
13
|
-
--base-background-soft: var(--base-3);
|
|
14
|
-
--base-background-hover: var(--base-4);
|
|
15
|
-
--base-background-active: var(--base-5);
|
|
16
|
-
--base-border: var(--base-6);
|
|
17
|
-
--base-border-outline: var(--base-7);
|
|
18
|
-
--base-border-hover: var(--base-8);
|
|
19
|
-
--base-solid: var(--base-9);
|
|
20
|
-
--base-solid-hover: var(--base-10);
|
|
21
|
-
--base-solid-contrast: var(--base-contrast);
|
|
22
|
-
--base-foreground: var(--base-11);
|
|
23
|
-
--base-foreground-contrast: var(--base-12);
|
|
24
|
-
|
|
25
|
-
--brand-background: var(--brand-1);
|
|
26
|
-
--brand-background-surface: var(--brand-surface);
|
|
27
|
-
--brand-background-subtle: var(--brand-2);
|
|
28
|
-
--brand-background-soft: var(--brand-3);
|
|
29
|
-
--brand-background-hover: var(--brand-4);
|
|
30
|
-
--brand-background-active: var(--brand-5);
|
|
31
|
-
--brand-border: var(--brand-6);
|
|
32
|
-
--brand-border-outline: var(--brand-7);
|
|
33
|
-
--brand-border-hover: var(--brand-8);
|
|
34
|
-
--brand-solid: var(--brand-9);
|
|
35
|
-
--brand-solid-hover: var(--brand-10);
|
|
36
|
-
--brand-solid-contrast: var(--brand-contrast);
|
|
37
|
-
--brand-foreground: var(--brand-11);
|
|
38
|
-
--brand-foreground-contrast: var(--brand-12);
|
|
39
|
-
}
|
|
40
|
-
|
|
41
|
-
/* --------------------------- */
|
|
42
|
-
/* Generate colors */
|
|
43
|
-
/* --------------------------- */
|
|
44
|
-
|
|
45
|
-
:where(:root),
|
|
46
|
-
:where(.theme-light),
|
|
47
|
-
:where(.theme-dark),
|
|
48
|
-
.color-base,
|
|
49
|
-
.color-base
|
|
50
|
-
[class*='theme-']:not(.color-base [class*='color-'] [class*='theme-']):not(
|
|
51
|
-
.color-base [class*='color-'][class*='theme-']
|
|
52
|
-
) {
|
|
53
|
-
--background: var(--base-background);
|
|
54
|
-
--background-surface: var(--base-background-surface);
|
|
55
|
-
--background-subtle: var(--base-background-subtle);
|
|
56
|
-
--background-soft: var(--base-background-soft);
|
|
57
|
-
--background-hover: var(--base-background-hover);
|
|
58
|
-
--background-active: var(--base-background-active);
|
|
59
|
-
--border: var(--base-border);
|
|
60
|
-
--border-outline: var(--base-border-outline);
|
|
61
|
-
--border-hover: var(--base-border-hover);
|
|
62
|
-
--solid: var(--base-solid);
|
|
63
|
-
--solid-hover: var(--base-solid-hover);
|
|
64
|
-
--solid-contrast: var(--base-solid-contrast);
|
|
65
|
-
--foreground: var(--base-foreground);
|
|
66
|
-
--foreground-contrast: var(--base-foreground-contrast);
|
|
67
|
-
}
|
|
68
|
-
|
|
69
|
-
.color-brand,
|
|
70
|
-
.color-brand
|
|
71
|
-
[class*='theme-']:not(.color-brand [class*='color-'] [class*='theme-']):not(
|
|
72
|
-
.color-brand [class*='color-'][class*='theme-']
|
|
73
|
-
) {
|
|
74
|
-
--background: var(--brand-background);
|
|
75
|
-
--background-surface: var(--brand-background-surface);
|
|
76
|
-
--background-subtle: var(--brand-background-subtle);
|
|
77
|
-
--background-soft: var(--brand-background-soft);
|
|
78
|
-
--background-hover: var(--brand-background-hover);
|
|
79
|
-
--background-active: var(--brand-background-active);
|
|
80
|
-
--border: var(--brand-border);
|
|
81
|
-
--border-outline: var(--brand-border-outline);
|
|
82
|
-
--border-hover: var(--brand-border-hover);
|
|
83
|
-
--solid: var(--brand-solid);
|
|
84
|
-
--solid-hover: var(--brand-solid-hover);
|
|
85
|
-
--solid-contrast: var(--brand-solid-contrast);
|
|
86
|
-
--foreground: var(--brand-foreground);
|
|
87
|
-
--foreground-contrast: var(--brand-foreground-contrast);
|
|
88
|
-
}
|
package/src/css/props/align.scss
DELETED
|
@@ -1,20 +0,0 @@
|
|
|
1
|
-
.align-start {
|
|
2
|
-
align-items: flex-start;
|
|
3
|
-
}
|
|
4
|
-
|
|
5
|
-
.align-center {
|
|
6
|
-
align-items: center;
|
|
7
|
-
text-align: var(--space-x, center);
|
|
8
|
-
|
|
9
|
-
& > * > * {
|
|
10
|
-
text-align: left;
|
|
11
|
-
}
|
|
12
|
-
}
|
|
13
|
-
|
|
14
|
-
.align-end {
|
|
15
|
-
align-items: flex-end;
|
|
16
|
-
}
|
|
17
|
-
|
|
18
|
-
.align-stretch {
|
|
19
|
-
align-items: stretch;
|
|
20
|
-
}
|
package/src/css/props/frame.scss
DELETED
|
@@ -1,153 +0,0 @@
|
|
|
1
|
-
:root {
|
|
2
|
-
--screen: 1536px;
|
|
3
|
-
}
|
|
4
|
-
|
|
5
|
-
.frame-wrapper,
|
|
6
|
-
.frame-viewport,
|
|
7
|
-
.frame-container,
|
|
8
|
-
.frame-panel {
|
|
9
|
-
--gutter: max(4vw, calc(100vw - var(--screen)) / 2);
|
|
10
|
-
}
|
|
11
|
-
|
|
12
|
-
.frame-wrapper,
|
|
13
|
-
.frame-viewport {
|
|
14
|
-
--inner-x: var(--gutter);
|
|
15
|
-
|
|
16
|
-
padding-right: var(--gutter);
|
|
17
|
-
padding-left: var(--gutter);
|
|
18
|
-
width: 100%;
|
|
19
|
-
max-width: 100%;
|
|
20
|
-
overflow: hidden;
|
|
21
|
-
|
|
22
|
-
&:is(.split > &) {
|
|
23
|
-
@media (min-width: 768px) {
|
|
24
|
-
&:not(:first-child) {
|
|
25
|
-
padding-left: 0;
|
|
26
|
-
}
|
|
27
|
-
|
|
28
|
-
&:not(:last-child) {
|
|
29
|
-
padding-right: 0;
|
|
30
|
-
}
|
|
31
|
-
}
|
|
32
|
-
}
|
|
33
|
-
}
|
|
34
|
-
|
|
35
|
-
.frame-viewport {
|
|
36
|
-
min-height: 100%;
|
|
37
|
-
}
|
|
38
|
-
|
|
39
|
-
.frame-container {
|
|
40
|
-
margin-right: var(--gutter);
|
|
41
|
-
margin-left: var(--gutter);
|
|
42
|
-
max-width: calc(100% - var(--gutter) * 2);
|
|
43
|
-
|
|
44
|
-
&:is(.split > &) {
|
|
45
|
-
@media (min-width: 768px) {
|
|
46
|
-
&:not(:first-child) {
|
|
47
|
-
margin-left: 0;
|
|
48
|
-
}
|
|
49
|
-
|
|
50
|
-
&:not(:last-child) {
|
|
51
|
-
margin-right: 0;
|
|
52
|
-
}
|
|
53
|
-
}
|
|
54
|
-
}
|
|
55
|
-
}
|
|
56
|
-
|
|
57
|
-
.frame-panel {
|
|
58
|
-
--inner-x: var(--space-6);
|
|
59
|
-
--inner-y: var(--space-6);
|
|
60
|
-
|
|
61
|
-
position: relative;
|
|
62
|
-
border-radius: var(--radius-3);
|
|
63
|
-
padding: var(--inner-y) var(--inner-x);
|
|
64
|
-
width: 100%;
|
|
65
|
-
overflow: hidden;
|
|
66
|
-
|
|
67
|
-
&.section {
|
|
68
|
-
--inner-x: min(var(--gutter), var(--space-6));
|
|
69
|
-
|
|
70
|
-
margin-right: var(--gutter);
|
|
71
|
-
margin-left: var(--gutter);
|
|
72
|
-
max-width: calc(100% - var(--gutter) * 2);
|
|
73
|
-
}
|
|
74
|
-
}
|
|
75
|
-
|
|
76
|
-
.frame-inset {
|
|
77
|
-
&:is(.structure-column > &) {
|
|
78
|
-
margin-right: calc(var(--inner-x) * -1);
|
|
79
|
-
margin-left: calc(var(--inner-x) * -1);
|
|
80
|
-
width: calc(100% + var(--inner-x) * 2);
|
|
81
|
-
|
|
82
|
-
&:first-child {
|
|
83
|
-
margin-top: calc(var(--inner-y) * -1);
|
|
84
|
-
height: calc(100% + var(--inner-y) * 1);
|
|
85
|
-
}
|
|
86
|
-
|
|
87
|
-
&:last-child {
|
|
88
|
-
margin-bottom: calc(var(--inner-y) * -1);
|
|
89
|
-
height: calc(100% + var(--inner-y) * 1);
|
|
90
|
-
}
|
|
91
|
-
}
|
|
92
|
-
|
|
93
|
-
&:is(.structure-split > &) {
|
|
94
|
-
@media (max-width: 1023.999px) {
|
|
95
|
-
margin-right: calc(var(--inner-x) * -1);
|
|
96
|
-
margin-left: calc(var(--inner-x) * -1);
|
|
97
|
-
width: calc(100% + var(--inner-x) * 2);
|
|
98
|
-
|
|
99
|
-
&:first-child {
|
|
100
|
-
margin-top: calc(var(--inner-y) * -1);
|
|
101
|
-
height: calc(100% + var(--inner-y) * 1);
|
|
102
|
-
}
|
|
103
|
-
|
|
104
|
-
&:last-child {
|
|
105
|
-
margin-bottom: calc(var(--inner-y) * -1);
|
|
106
|
-
height: calc(100% + var(--inner-y) * 1);
|
|
107
|
-
}
|
|
108
|
-
}
|
|
109
|
-
|
|
110
|
-
@media (min-width: 1024px) {
|
|
111
|
-
margin-top: calc(var(--inner-y) * -1);
|
|
112
|
-
margin-bottom: calc(var(--inner-y) * -1);
|
|
113
|
-
height: calc(100% + var(--inner-y) * 2);
|
|
114
|
-
|
|
115
|
-
&:first-child {
|
|
116
|
-
margin-left: calc(var(--inner-x) * -1);
|
|
117
|
-
width: calc(100% + var(--inner-x) * 1);
|
|
118
|
-
}
|
|
119
|
-
|
|
120
|
-
&:last-child {
|
|
121
|
-
margin-right: calc(var(--inner-x) * -1);
|
|
122
|
-
width: calc(100% + var(--inner-x) * 1);
|
|
123
|
-
}
|
|
124
|
-
}
|
|
125
|
-
}
|
|
126
|
-
}
|
|
127
|
-
|
|
128
|
-
.frame-cover {
|
|
129
|
-
width: 100%;
|
|
130
|
-
height: 100%;
|
|
131
|
-
object-fit: cover;
|
|
132
|
-
}
|
|
133
|
-
|
|
134
|
-
.frame-background {
|
|
135
|
-
position: absolute;
|
|
136
|
-
top: 0;
|
|
137
|
-
right: 0;
|
|
138
|
-
bottom: 0;
|
|
139
|
-
left: 0;
|
|
140
|
-
order: 1;
|
|
141
|
-
z-index: -1;
|
|
142
|
-
margin: 0 !important;
|
|
143
|
-
border-radius: 0;
|
|
144
|
-
width: 100%;
|
|
145
|
-
height: 100%;
|
|
146
|
-
max-height: 100%;
|
|
147
|
-
object-fit: cover;
|
|
148
|
-
|
|
149
|
-
~ .full {
|
|
150
|
-
position: relative;
|
|
151
|
-
z-index: 1;
|
|
152
|
-
}
|
|
153
|
-
}
|
package/src/css/props/mask
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
|
|
@@ -1,33 +0,0 @@
|
|
|
1
|
-
.position-background {
|
|
2
|
-
position: absolute;
|
|
3
|
-
top: 0;
|
|
4
|
-
right: 0;
|
|
5
|
-
bottom: 0;
|
|
6
|
-
left: 0;
|
|
7
|
-
order: 1;
|
|
8
|
-
z-index: -1;
|
|
9
|
-
margin: 0 !important;
|
|
10
|
-
border-radius: 0;
|
|
11
|
-
width: 100%;
|
|
12
|
-
height: 100%;
|
|
13
|
-
max-height: 100%;
|
|
14
|
-
object-fit: cover;
|
|
15
|
-
|
|
16
|
-
~ .full {
|
|
17
|
-
position: relative;
|
|
18
|
-
z-index: 1;
|
|
19
|
-
}
|
|
20
|
-
}
|
|
21
|
-
|
|
22
|
-
.position-cover {
|
|
23
|
-
width: 100%;
|
|
24
|
-
height: 100%;
|
|
25
|
-
object-fit: cover;
|
|
26
|
-
}
|
|
27
|
-
|
|
28
|
-
.position-container {
|
|
29
|
-
width: 100%;
|
|
30
|
-
height: 100%;
|
|
31
|
-
object-fit: contain;
|
|
32
|
-
object-position: center;
|
|
33
|
-
}
|
package/src/css/props/ratio
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
|
|
@@ -1,228 +0,0 @@
|
|
|
1
|
-
/* Horizontal */
|
|
2
|
-
.structure-row {
|
|
3
|
-
display: flex;
|
|
4
|
-
|
|
5
|
-
& > .full {
|
|
6
|
-
margin-top: 0;
|
|
7
|
-
}
|
|
8
|
-
}
|
|
9
|
-
|
|
10
|
-
/* Vertical */
|
|
11
|
-
.structure-column {
|
|
12
|
-
display: flex;
|
|
13
|
-
flex-direction: column;
|
|
14
|
-
|
|
15
|
-
& > .full {
|
|
16
|
-
margin-left: 0;
|
|
17
|
-
}
|
|
18
|
-
}
|
|
19
|
-
|
|
20
|
-
/* Horizontal with equa columns */
|
|
21
|
-
.structure-split {
|
|
22
|
-
display: grid;
|
|
23
|
-
grid-template-columns: 1fr;
|
|
24
|
-
|
|
25
|
-
& > .full {
|
|
26
|
-
margin: 0;
|
|
27
|
-
}
|
|
28
|
-
|
|
29
|
-
@media (min-width: 1024px) {
|
|
30
|
-
grid-auto-columns: 1fr;
|
|
31
|
-
grid-auto-flow: column;
|
|
32
|
-
column-gap: var(--space-6);
|
|
33
|
-
|
|
34
|
-
& > .full {
|
|
35
|
-
margin-top: 0;
|
|
36
|
-
}
|
|
37
|
-
}
|
|
38
|
-
}
|
|
39
|
-
|
|
40
|
-
/* Horizontal and wrapping */
|
|
41
|
-
.structure-wrap {
|
|
42
|
-
display: flex;
|
|
43
|
-
flex-wrap: wrap;
|
|
44
|
-
justify-content: stretch;
|
|
45
|
-
gap: var(--space-2);
|
|
46
|
-
}
|
|
47
|
-
|
|
48
|
-
/* Horizontal with space-between */
|
|
49
|
-
.structure-spread {
|
|
50
|
-
display: flex;
|
|
51
|
-
flex-wrap: wrap;
|
|
52
|
-
justify-content: space-between;
|
|
53
|
-
align-items: stretch;
|
|
54
|
-
gap: var(--space-4);
|
|
55
|
-
width: 100%;
|
|
56
|
-
|
|
57
|
-
& > .full {
|
|
58
|
-
width: auto;
|
|
59
|
-
}
|
|
60
|
-
}
|
|
61
|
-
|
|
62
|
-
/* Equal columns and rows */
|
|
63
|
-
.structure-grid {
|
|
64
|
-
--column-width: calc(15 * var(--element-3));
|
|
65
|
-
|
|
66
|
-
display: grid;
|
|
67
|
-
position: relative;
|
|
68
|
-
grid-template-columns: repeat(auto-fit, minmax(var(--column-width), 1fr));
|
|
69
|
-
gap: var(--space-3);
|
|
70
|
-
width: 100%;
|
|
71
|
-
}
|
|
72
|
-
|
|
73
|
-
/* Equal rows, but not columns */
|
|
74
|
-
.structure-bento {
|
|
75
|
-
display: grid;
|
|
76
|
-
position: relative;
|
|
77
|
-
grid-template-columns: 1fr;
|
|
78
|
-
width: 100%;
|
|
79
|
-
|
|
80
|
-
@media (min-width: 1024px) {
|
|
81
|
-
grid-template-columns: 1fr 1fr 1fr;
|
|
82
|
-
|
|
83
|
-
& > *:nth-child(2n) {
|
|
84
|
-
grid-column-start: span 2;
|
|
85
|
-
}
|
|
86
|
-
}
|
|
87
|
-
}
|
|
88
|
-
|
|
89
|
-
/* Equal columns, but not rows */
|
|
90
|
-
.structure-masonry {
|
|
91
|
-
--column-width: calc(16 * var(--element-3));
|
|
92
|
-
--gap: var(--space-3);
|
|
93
|
-
|
|
94
|
-
position: relative;
|
|
95
|
-
column-gap: var(--gap);
|
|
96
|
-
column-fill: balance;
|
|
97
|
-
column-width: var(--column-width);
|
|
98
|
-
column-count: 6;
|
|
99
|
-
break-inside: avoid;
|
|
100
|
-
width: 100%;
|
|
101
|
-
|
|
102
|
-
& > .full + .full {
|
|
103
|
-
break-inside: avoid;
|
|
104
|
-
margin-top: var(--gap);
|
|
105
|
-
margin-bottom: var(--gap);
|
|
106
|
-
}
|
|
107
|
-
}
|
|
108
|
-
|
|
109
|
-
/* Equal columns, scrollable horizontally */
|
|
110
|
-
.structure-carousel {
|
|
111
|
-
--column-width: calc(16 * var(--element-3));
|
|
112
|
-
|
|
113
|
-
display: flex;
|
|
114
|
-
position: relative;
|
|
115
|
-
position: relative;
|
|
116
|
-
flex-direction: row;
|
|
117
|
-
align-items: flex-start;
|
|
118
|
-
gap: var(--space-3);
|
|
119
|
-
padding-bottom: var(--space-3);
|
|
120
|
-
width: 100%;
|
|
121
|
-
overflow-x: auto;
|
|
122
|
-
scroll-behavior: smooth;
|
|
123
|
-
scroll-snap-type: x mandatory;
|
|
124
|
-
|
|
125
|
-
> .full {
|
|
126
|
-
flex-grow: 0;
|
|
127
|
-
flex-shrink: 0;
|
|
128
|
-
width: var(--column-width);
|
|
129
|
-
scroll-snap-align: center;
|
|
130
|
-
}
|
|
131
|
-
}
|
|
132
|
-
|
|
133
|
-
@mixin space-x {
|
|
134
|
-
> {
|
|
135
|
-
.full + .full {
|
|
136
|
-
margin-left: var(--space-5);
|
|
137
|
-
}
|
|
138
|
-
|
|
139
|
-
.full + .group,
|
|
140
|
-
.full + .button,
|
|
141
|
-
.full + .switch {
|
|
142
|
-
margin-left: var(--space-4);
|
|
143
|
-
}
|
|
144
|
-
|
|
145
|
-
.full + .heading,
|
|
146
|
-
.full + .label,
|
|
147
|
-
.full + .link,
|
|
148
|
-
.full + .list,
|
|
149
|
-
.full + .paragraph,
|
|
150
|
-
.full + .tagline,
|
|
151
|
-
.full + .input,
|
|
152
|
-
.full + .badge,
|
|
153
|
-
.full + .rating {
|
|
154
|
-
margin-left: var(--space-3);
|
|
155
|
-
}
|
|
156
|
-
|
|
157
|
-
.paragraph + .paragraph,
|
|
158
|
-
.button:not(.variant-link) + .button:not(.variant-link),
|
|
159
|
-
.input + .button {
|
|
160
|
-
margin-left: var(--space-2);
|
|
161
|
-
}
|
|
162
|
-
|
|
163
|
-
.label + .input {
|
|
164
|
-
margin-left: var(--space-1);
|
|
165
|
-
}
|
|
166
|
-
|
|
167
|
-
.image + .full,
|
|
168
|
-
.icon + .full {
|
|
169
|
-
margin-left: var(--space-5);
|
|
170
|
-
}
|
|
171
|
-
}
|
|
172
|
-
}
|
|
173
|
-
|
|
174
|
-
@mixin space-y {
|
|
175
|
-
> {
|
|
176
|
-
.full + .full {
|
|
177
|
-
margin-top: var(--space-5);
|
|
178
|
-
}
|
|
179
|
-
|
|
180
|
-
.full + .group,
|
|
181
|
-
.full + .button,
|
|
182
|
-
.full + .switch {
|
|
183
|
-
margin-top: var(--space-4);
|
|
184
|
-
}
|
|
185
|
-
|
|
186
|
-
.full + .heading,
|
|
187
|
-
.full + .label,
|
|
188
|
-
.full + .link,
|
|
189
|
-
.full + .list,
|
|
190
|
-
.full + .paragraph,
|
|
191
|
-
.full + .tagline,
|
|
192
|
-
.full + .input,
|
|
193
|
-
.full + .badge,
|
|
194
|
-
.full + .rating {
|
|
195
|
-
margin-top: var(--space-3);
|
|
196
|
-
}
|
|
197
|
-
|
|
198
|
-
.paragraph + .paragraph,
|
|
199
|
-
.button:not(.variant-link) + .button:not(.variant-link),
|
|
200
|
-
.input + .button {
|
|
201
|
-
margin-top: var(--space-2);
|
|
202
|
-
}
|
|
203
|
-
|
|
204
|
-
.label + .input {
|
|
205
|
-
margin-top: var(--space-1);
|
|
206
|
-
}
|
|
207
|
-
|
|
208
|
-
.image + .full,
|
|
209
|
-
.icon + .full {
|
|
210
|
-
margin-top: var(--space-5);
|
|
211
|
-
}
|
|
212
|
-
}
|
|
213
|
-
}
|
|
214
|
-
|
|
215
|
-
/* For ALL */
|
|
216
|
-
.structure-split {
|
|
217
|
-
@media (max-width: 1023.999px) {
|
|
218
|
-
@include space-y;
|
|
219
|
-
}
|
|
220
|
-
}
|
|
221
|
-
|
|
222
|
-
.structure-row {
|
|
223
|
-
@include space-x;
|
|
224
|
-
}
|
|
225
|
-
|
|
226
|
-
.structure-column {
|
|
227
|
-
@include space-y;
|
|
228
|
-
}
|
|
@@ -1,130 +0,0 @@
|
|
|
1
|
-
.variant-solid {
|
|
2
|
-
background-color: var(--solid);
|
|
3
|
-
color: var(--solid-contrast);
|
|
4
|
-
|
|
5
|
-
.full {
|
|
6
|
-
color: var(--background);
|
|
7
|
-
}
|
|
8
|
-
|
|
9
|
-
&:is(a, button),
|
|
10
|
-
&[href] {
|
|
11
|
-
&:hover {
|
|
12
|
-
background-color: var(--solid-hover);
|
|
13
|
-
}
|
|
14
|
-
|
|
15
|
-
&:active {
|
|
16
|
-
background-color: var(--solid-hover);
|
|
17
|
-
}
|
|
18
|
-
}
|
|
19
|
-
}
|
|
20
|
-
|
|
21
|
-
.variant-soft {
|
|
22
|
-
background-color: var(--background-soft);
|
|
23
|
-
color: var(--foreground);
|
|
24
|
-
|
|
25
|
-
&:is(a, button),
|
|
26
|
-
&[href] {
|
|
27
|
-
&:hover {
|
|
28
|
-
background-color: var(--background-hover);
|
|
29
|
-
}
|
|
30
|
-
|
|
31
|
-
&:active {
|
|
32
|
-
background-color: var(--background-active);
|
|
33
|
-
}
|
|
34
|
-
}
|
|
35
|
-
|
|
36
|
-
&.contrast {
|
|
37
|
-
color: var(--foreground-contrast);
|
|
38
|
-
}
|
|
39
|
-
}
|
|
40
|
-
|
|
41
|
-
.variant-surface {
|
|
42
|
-
// box-shadow: inset 0 0 0 1px var(--border-outline);
|
|
43
|
-
border: 1px solid var(--border-outline);
|
|
44
|
-
background-color: var(--background-surface);
|
|
45
|
-
color: var(--foreground);
|
|
46
|
-
|
|
47
|
-
&:is(a, button),
|
|
48
|
-
&[href] {
|
|
49
|
-
&:hover {
|
|
50
|
-
// box-shadow: inset 0 0 0 1px var(--border-hover);
|
|
51
|
-
border: 1px solid var(--border-hover);
|
|
52
|
-
background-color: var(--background-surface);
|
|
53
|
-
}
|
|
54
|
-
|
|
55
|
-
&:active {
|
|
56
|
-
// box-shadow: inset 0 0 0 1px var(--border-hover);
|
|
57
|
-
border: 1px solid var(--border-hover);
|
|
58
|
-
background-color: var(--background-active);
|
|
59
|
-
}
|
|
60
|
-
}
|
|
61
|
-
|
|
62
|
-
&.contrast {
|
|
63
|
-
color: var(--foreground-contrast);
|
|
64
|
-
}
|
|
65
|
-
}
|
|
66
|
-
|
|
67
|
-
.variant-outline {
|
|
68
|
-
// box-shadow: inset 0 0 0 1px var(--border-outline);
|
|
69
|
-
border: 1px solid var(--border-outline);
|
|
70
|
-
color: var(--foreground);
|
|
71
|
-
|
|
72
|
-
&:is(a, button),
|
|
73
|
-
&[href] {
|
|
74
|
-
&:hover {
|
|
75
|
-
// box-shadow: inset 0 0 0 1px var(--border-hover);
|
|
76
|
-
border: 1px solid var(--border-hover);
|
|
77
|
-
background-color: var(--background-surface);
|
|
78
|
-
}
|
|
79
|
-
|
|
80
|
-
&:active {
|
|
81
|
-
// box-shadow: inset 0 0 0 1px var(--border-hover);
|
|
82
|
-
border: 1px solid var(--border-hover);
|
|
83
|
-
background-color: var(--background-active);
|
|
84
|
-
}
|
|
85
|
-
}
|
|
86
|
-
|
|
87
|
-
&.contrast {
|
|
88
|
-
color: var(--foreground-contrast);
|
|
89
|
-
}
|
|
90
|
-
}
|
|
91
|
-
|
|
92
|
-
.variant-ghost {
|
|
93
|
-
box-shadow: none;
|
|
94
|
-
|
|
95
|
-
&:is(a, button),
|
|
96
|
-
&[href] {
|
|
97
|
-
&:hover {
|
|
98
|
-
background-color: var(--background-soft);
|
|
99
|
-
}
|
|
100
|
-
|
|
101
|
-
&:active {
|
|
102
|
-
background-color: var(--background-active);
|
|
103
|
-
}
|
|
104
|
-
}
|
|
105
|
-
|
|
106
|
-
&.contrast {
|
|
107
|
-
color: var(--foreground-contrast);
|
|
108
|
-
}
|
|
109
|
-
}
|
|
110
|
-
|
|
111
|
-
.variant-subtle {
|
|
112
|
-
// box-shadow: inset 0 0 0 1px var(--border);
|
|
113
|
-
border: 1px solid var(--border);
|
|
114
|
-
background-color: var(--background-subtle);
|
|
115
|
-
color: var(--foreground);
|
|
116
|
-
|
|
117
|
-
&:is(a, button),
|
|
118
|
-
&[href] {
|
|
119
|
-
&:hover {
|
|
120
|
-
// box-shadow: inset 0 0 0 1px var(--border-hover);
|
|
121
|
-
border: 1px solid var(--border-hover);
|
|
122
|
-
}
|
|
123
|
-
}
|
|
124
|
-
|
|
125
|
-
|
|
126
|
-
|
|
127
|
-
&.contrast {
|
|
128
|
-
color: var(--foreground-contrast);
|
|
129
|
-
}
|
|
130
|
-
}
|