fulldev-ui 0.2.12 → 0.3.0-beta.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/.astro/settings.json +5 -0
- package/.astro/types.d.ts +3 -12
- package/.env +1 -0
- package/astro.config.mjs +1 -2
- package/package.json +4 -7
- package/src/_archive/Childmorphic.ts +8 -0
- package/src/_archive/getAllCollections.ts +10 -0
- package/src/_archive/getCollectionCascade.ts +33 -0
- package/src/_archive/getPathname.ts +18 -0
- package/src/_archive/staticPageSchema.ts +124 -0
- package/src/_archive/transform/transform.ts +25 -0
- package/src/_archive/transform/transformCasing.ts +24 -0
- package/src/_archive/transform/transformReferences.ts +54 -0
- package/src/_archive/transform/transformSelfs.ts +20 -0
- package/src/_archive/transform/transformUnderscores.ts +19 -0
- package/src/components/_Block.astro +2 -0
- package/src/components/{_Tag.astro → _Component.astro} +18 -9
- package/src/components/{segment → _archive}/Body.astro +7 -5
- package/src/components/{segment → _archive}/Main.astro +4 -4
- package/src/components/{segment → _archive}/Nav.astro +5 -5
- package/src/components/{structure → _archive}/Row.astro +4 -4
- package/src/components/_todo/Footer.astro +66 -0
- package/src/components/{segment → _todo}/Form.astro +6 -6
- package/src/components/{segment → _todo}/Prose.astro +20 -20
- package/src/components/{segment → _todo}/Writeup.astro +4 -4
- package/src/components/{segment → _todo}/todo.md +3 -1
- package/src/components/base/Badge.astro +6 -6
- package/src/components/base/Button.astro +37 -28
- package/src/components/base/Checkbox.astro +3 -4
- package/src/components/base/Icon.astro +5 -5
- package/src/components/base/Image.astro +19 -52
- package/src/components/base/Input.astro +12 -7
- package/src/components/base/Logo.astro +4 -4
- package/src/components/base/Radio.astro +3 -4
- package/src/components/base/Rating.astro +5 -5
- package/src/components/base/Select.astro +6 -6
- package/src/components/base/SelectOption.astro +1 -1
- package/src/components/base/Switch.astro +8 -7
- package/src/components/base/Textarea.astro +4 -3
- package/src/components/segment/Box.astro +41 -0
- package/src/components/segment/Card.astro +21 -35
- package/src/components/segment/Deck.astro +20 -16
- package/src/components/{structure → segment}/Group.astro +8 -7
- package/src/components/segment/Header.astro +18 -7
- package/src/components/segment/Section.astro +39 -37
- package/src/components/typography/Heading.astro +24 -26
- package/src/components/typography/Label.astro +17 -11
- package/src/components/typography/Link.astro +5 -5
- package/src/components/typography/List.astro +9 -6
- package/src/components/typography/ListItem.astro +5 -5
- package/src/components/typography/Paragraph.astro +17 -11
- package/src/components/typography/Tagline.astro +6 -5
- package/src/components/typography/Text.astro +40 -0
- package/src/{layouts → components/utility}/Layout.astro +6 -6
- package/src/content/config.ts +14 -0
- package/src/content/pages/index.md +1 -0
- package/src/css/color.css +88 -0
- package/src/css/props/align.scss +20 -0
- package/src/css/props/frame.scss +153 -0
- package/src/css/props/mask +1 -0
- package/src/css/props/position.scss +33 -0
- package/src/css/props/ratio +1 -0
- package/src/css/props/structure.scss +228 -0
- package/src/css/props/variant.scss +130 -0
- package/src/css/radix.css +281 -0
- package/src/css/size.css +334 -0
- package/src/css/styles.css +2 -2
- package/src/index.ts +13 -34
- package/src/integration/integration.ts +45 -0
- package/src/schemas/collection.ts +87 -0
- package/src/blocks/todo.md +0 -12
- package/src/components/_Plural.astro +0 -27
- package/src/components/base/Buttons.astro +0 -15
- package/src/components/base/Images.astro +0 -15
- package/src/components/segment/Footer.astro +0 -14
- package/src/components/structure/Bento.astro +0 -35
- package/src/components/structure/Carousel.astro +0 -43
- package/src/components/structure/Grid.astro +0 -30
- package/src/components/structure/Masonry.astro +0 -39
- package/src/components/structure/Split.astro +0 -41
- package/src/components/structure/Spread.astro +0 -48
- package/src/components/structure/Stack.astro +0 -90
- package/src/components/structure/todo.md +0 -5
- package/src/css/colors.css +0 -197
- package/src/css/main.css +0 -3
- package/src/css/sizes.css +0 -217
- package/src/layouts/todo.md +0 -2
- package/src/schemas/attributesSchema.ts +0 -125
- package/src/schemas/htmlAttributesSchema.ts +0 -126
- package/src/schemas/pageSchema.ts +0 -185
- package/src/schemas/staticPageSchema.ts +0 -124
- package/src/types/Childmorphic.ts +0 -8
- package/src/types/Pluralmorphic.ts +0 -7
- package/src/types/Structuremorphic.ts +0 -18
- package/src/utils/getAllCollections.ts +0 -10
- package/src/utils/getCollectionCascade.ts +0 -33
- package/src/utils/getPathname.ts +0 -18
- package/src/utils/transform/transform.ts +0 -25
- package/src/utils/transform/transformCasing.ts +0 -24
- package/src/utils/transform/transformReferences.ts +0 -54
- package/src/utils/transform/transformSelfs.ts +0 -20
- package/src/utils/transform/transformUnderscores.ts +0 -19
|
@@ -1,9 +1,9 @@
|
|
|
1
1
|
---
|
|
2
2
|
import type { ComponentProps, HTMLTag, Polymorphic } from 'astro/types'
|
|
3
|
-
import
|
|
3
|
+
import Component from '../_Component.astro'
|
|
4
4
|
|
|
5
5
|
type Props<As extends HTMLTag = 'a'> = Polymorphic<{ as: As }> &
|
|
6
|
-
ComponentProps<typeof
|
|
6
|
+
ComponentProps<typeof Component> & {
|
|
7
7
|
html?: string
|
|
8
8
|
text?: string
|
|
9
9
|
variant?: 'base' | 'muted' | 'accent'
|
|
@@ -12,13 +12,13 @@ type Props<As extends HTMLTag = 'a'> = Polymorphic<{ as: As }> &
|
|
|
12
12
|
const { as = 'a', ...rest } = Astro.props
|
|
13
13
|
---
|
|
14
14
|
|
|
15
|
-
<
|
|
15
|
+
<Component
|
|
16
16
|
class:list={['link']}
|
|
17
17
|
{as}
|
|
18
18
|
{...rest}
|
|
19
19
|
>
|
|
20
20
|
<slot />
|
|
21
|
-
</
|
|
21
|
+
</Component>
|
|
22
22
|
|
|
23
23
|
<style is:global lang="scss">
|
|
24
24
|
@import '../../css/utils.scss';
|
|
@@ -30,7 +30,7 @@ const { as = 'a', ...rest } = Astro.props
|
|
|
30
30
|
gap: var(--space-2);
|
|
31
31
|
color: var(--foreground);
|
|
32
32
|
font-weight: var(--font-weight);
|
|
33
|
-
font-size: var(--text-
|
|
33
|
+
font-size: var(--text-body);
|
|
34
34
|
font-family: var(--font-family);
|
|
35
35
|
text-decoration: none;
|
|
36
36
|
text-decoration-color: var(--border);
|
|
@@ -1,20 +1,23 @@
|
|
|
1
1
|
---
|
|
2
2
|
import type { ComponentProps, HTMLTag, Polymorphic } from 'astro/types'
|
|
3
|
-
import
|
|
3
|
+
import Component from '../_Component.astro'
|
|
4
4
|
import ListItem from './ListItem.astro'
|
|
5
5
|
|
|
6
6
|
type Props<As extends HTMLTag = 'ul'> = Polymorphic<{ as: As }> &
|
|
7
|
-
ComponentProps<typeof
|
|
7
|
+
ComponentProps<typeof Component> & {
|
|
8
8
|
html?: string
|
|
9
9
|
text?: string
|
|
10
10
|
variant?: 'base' | 'muted' | 'accent'
|
|
11
|
-
items?: (
|
|
11
|
+
items?: (
|
|
12
|
+
| ComponentProps<typeof ListItem>
|
|
13
|
+
| ComponentProps<typeof ListItem>['html']
|
|
14
|
+
)[]
|
|
12
15
|
}
|
|
13
16
|
|
|
14
17
|
const { as = 'ul', items, ...rest } = Astro.props
|
|
15
18
|
---
|
|
16
19
|
|
|
17
|
-
<
|
|
20
|
+
<Component
|
|
18
21
|
class:list={['list']}
|
|
19
22
|
{as}
|
|
20
23
|
{...rest}
|
|
@@ -26,7 +29,7 @@ const { as = 'ul', items, ...rest } = Astro.props
|
|
|
26
29
|
})
|
|
27
30
|
}
|
|
28
31
|
<slot />
|
|
29
|
-
</
|
|
32
|
+
</Component>
|
|
30
33
|
|
|
31
34
|
<style is:global lang="scss">
|
|
32
35
|
@import '../../css/utils.scss';
|
|
@@ -37,7 +40,7 @@ const { as = 'ul', items, ...rest } = Astro.props
|
|
|
37
40
|
padding-left: var(--space-4);
|
|
38
41
|
color: var(--foreground);
|
|
39
42
|
font-weight: var(--font-weight);
|
|
40
|
-
font-size: var(--text-
|
|
43
|
+
font-size: var(--text-body);
|
|
41
44
|
line-height: 1.625;
|
|
42
45
|
font-family: var(--font-family);
|
|
43
46
|
list-style-type: disc;
|
|
@@ -1,9 +1,9 @@
|
|
|
1
1
|
---
|
|
2
2
|
import type { ComponentProps, HTMLTag, Polymorphic } from 'astro/types'
|
|
3
|
-
import
|
|
3
|
+
import Component from '../_Component.astro'
|
|
4
4
|
|
|
5
5
|
type Props<As extends HTMLTag = 'li'> = Polymorphic<{ as: As }> &
|
|
6
|
-
ComponentProps<typeof
|
|
6
|
+
ComponentProps<typeof Component> & {
|
|
7
7
|
html?: string
|
|
8
8
|
text?: string
|
|
9
9
|
variant?: 'base' | 'muted' | 'accent'
|
|
@@ -12,13 +12,13 @@ type Props<As extends HTMLTag = 'li'> = Polymorphic<{ as: As }> &
|
|
|
12
12
|
const { as = 'li', ...rest } = Astro.props
|
|
13
13
|
---
|
|
14
14
|
|
|
15
|
-
<
|
|
15
|
+
<Component
|
|
16
16
|
class:list={['list-item']}
|
|
17
17
|
{as}
|
|
18
18
|
{...rest}
|
|
19
19
|
>
|
|
20
20
|
<slot />
|
|
21
|
-
</
|
|
21
|
+
</Component>
|
|
22
22
|
|
|
23
23
|
<style is:global lang="scss">
|
|
24
24
|
@import '../../css/utils.scss';
|
|
@@ -28,7 +28,7 @@ const { as = 'li', ...rest } = Astro.props
|
|
|
28
28
|
max-width: calc(var(--element-3) * 36);
|
|
29
29
|
color: var(--foreground);
|
|
30
30
|
font-weight: var(--font-weight);
|
|
31
|
-
font-size: var(--text-
|
|
31
|
+
font-size: var(--text-body);
|
|
32
32
|
line-height: 1.625;
|
|
33
33
|
font-family: var(--font-family);
|
|
34
34
|
}
|
|
@@ -1,24 +1,26 @@
|
|
|
1
1
|
---
|
|
2
|
-
import type {
|
|
3
|
-
import
|
|
2
|
+
import type { HTMLTag, Polymorphic } from 'astro/types'
|
|
3
|
+
import Component from '../_Component.astro'
|
|
4
4
|
|
|
5
|
-
type Props<As extends HTMLTag = 'p'> = Polymorphic<{ as: As }> &
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
5
|
+
type Props<As extends HTMLTag = 'p'> = Polymorphic<{ as: As }> & {
|
|
6
|
+
scheme?: 'light' | 'dark'
|
|
7
|
+
color?: 'base' | 'brand'
|
|
8
|
+
size?: 'sm' | 'md' | 'lg' | 'xl'
|
|
9
|
+
contrast?: boolean
|
|
10
|
+
html?: string
|
|
11
|
+
text?: string
|
|
12
|
+
}
|
|
11
13
|
|
|
12
14
|
const { as = 'p', ...rest } = Astro.props
|
|
13
15
|
---
|
|
14
16
|
|
|
15
|
-
<
|
|
17
|
+
<Component
|
|
16
18
|
class:list={['paragraph']}
|
|
17
19
|
{as}
|
|
18
20
|
{...rest}
|
|
19
21
|
>
|
|
20
22
|
<slot />
|
|
21
|
-
</
|
|
23
|
+
</Component>
|
|
22
24
|
|
|
23
25
|
<style is:global lang="scss">
|
|
24
26
|
@import '../../css/utils.scss';
|
|
@@ -28,8 +30,12 @@ const { as = 'p', ...rest } = Astro.props
|
|
|
28
30
|
max-width: calc(var(--element-3) * 36);
|
|
29
31
|
color: var(--foreground);
|
|
30
32
|
font-weight: var(--font-weight);
|
|
31
|
-
font-size: var(--text-
|
|
33
|
+
font-size: var(--text-body);
|
|
32
34
|
line-height: 1.625;
|
|
33
35
|
font-family: var(--font-family);
|
|
36
|
+
|
|
37
|
+
&.contrast {
|
|
38
|
+
color: var(--foreground-contrast);
|
|
39
|
+
}
|
|
34
40
|
}
|
|
35
41
|
</style>
|
|
@@ -1,9 +1,9 @@
|
|
|
1
1
|
---
|
|
2
2
|
import type { ComponentProps, HTMLTag, Polymorphic } from 'astro/types'
|
|
3
|
-
import
|
|
3
|
+
import Component from '../_Component.astro'
|
|
4
4
|
|
|
5
5
|
type Props<As extends HTMLTag = 'span'> = Polymorphic<{ as: As }> &
|
|
6
|
-
ComponentProps<typeof
|
|
6
|
+
ComponentProps<typeof Component> & {
|
|
7
7
|
html?: string
|
|
8
8
|
text?: string
|
|
9
9
|
variant?: 'base' | 'muted' | 'accent'
|
|
@@ -12,22 +12,23 @@ type Props<As extends HTMLTag = 'span'> = Polymorphic<{ as: As }> &
|
|
|
12
12
|
const { as = 'span', ...rest } = Astro.props
|
|
13
13
|
---
|
|
14
14
|
|
|
15
|
-
<
|
|
15
|
+
<Component
|
|
16
16
|
class:list={['tagline']}
|
|
17
17
|
{as}
|
|
18
18
|
{...rest}
|
|
19
19
|
>
|
|
20
20
|
<slot />
|
|
21
|
-
</
|
|
21
|
+
</Component>
|
|
22
22
|
|
|
23
23
|
<style is:global lang="scss">
|
|
24
24
|
@import '../../css/utils.scss';
|
|
25
25
|
|
|
26
26
|
@include component('tagline') {
|
|
27
|
+
margin: 0;
|
|
27
28
|
max-width: calc(var(--element-3) * 36);
|
|
28
29
|
color: var(--foreground);
|
|
29
30
|
font-weight: var(--font-weight);
|
|
30
|
-
font-size: var(--text-
|
|
31
|
+
font-size: var(--text-label);
|
|
31
32
|
line-height: 1.25;
|
|
32
33
|
font-family: var(--font-family);
|
|
33
34
|
}
|
|
@@ -0,0 +1,40 @@
|
|
|
1
|
+
---
|
|
2
|
+
import type { HTMLTag, Polymorphic } from 'astro/types'
|
|
3
|
+
import Component from '../_Component.astro'
|
|
4
|
+
|
|
5
|
+
type Props<As extends HTMLTag = 'p'> = Polymorphic<{ as: As }> & {
|
|
6
|
+
scheme?: 'light' | 'dark'
|
|
7
|
+
color?: 'base' | 'brand'
|
|
8
|
+
size?: 'sm' | 'md' | 'lg' | 'xl'
|
|
9
|
+
contrast?: boolean
|
|
10
|
+
html?: string
|
|
11
|
+
text?: string
|
|
12
|
+
}
|
|
13
|
+
|
|
14
|
+
const { as = 'p', ...rest } = Astro.props
|
|
15
|
+
---
|
|
16
|
+
|
|
17
|
+
<Component
|
|
18
|
+
class:list={['text']}
|
|
19
|
+
{...rest}
|
|
20
|
+
>
|
|
21
|
+
<slot />
|
|
22
|
+
</Component>
|
|
23
|
+
|
|
24
|
+
<style is:global lang="scss">
|
|
25
|
+
@import '../../css/utils.scss';
|
|
26
|
+
|
|
27
|
+
@include component('text') {
|
|
28
|
+
margin: 0;
|
|
29
|
+
max-width: calc(var(--element-3) * 36);
|
|
30
|
+
color: var(--foreground);
|
|
31
|
+
font-weight: var(--font-weight);
|
|
32
|
+
font-size: var(--text-body);
|
|
33
|
+
line-height: 1.625;
|
|
34
|
+
font-family: var(--font-family);
|
|
35
|
+
|
|
36
|
+
&.contrast {
|
|
37
|
+
color: var(--foreground-contrast);
|
|
38
|
+
}
|
|
39
|
+
}
|
|
40
|
+
</style>
|
|
@@ -1,10 +1,10 @@
|
|
|
1
1
|
---
|
|
2
2
|
import type { ComponentProps } from 'astro/types'
|
|
3
|
-
import
|
|
4
|
-
import Body from '../
|
|
5
|
-
import Head from '
|
|
3
|
+
import Component from '../_Component.astro'
|
|
4
|
+
import Body from '../_archive/Body.astro'
|
|
5
|
+
import Head from './Head.astro'
|
|
6
6
|
|
|
7
|
-
interface Props extends ComponentProps<typeof
|
|
7
|
+
interface Props extends ComponentProps<typeof Component> {
|
|
8
8
|
title?: ComponentProps<typeof Head>['title']
|
|
9
9
|
description?: ComponentProps<typeof Head>['description']
|
|
10
10
|
image?: ComponentProps<typeof Head>['image']
|
|
@@ -15,7 +15,7 @@ interface Props extends ComponentProps<typeof Tag> {
|
|
|
15
15
|
const { title, description, image, theme, head, body, ...rest } = Astro.props
|
|
16
16
|
---
|
|
17
17
|
|
|
18
|
-
<
|
|
18
|
+
<Component
|
|
19
19
|
class={[
|
|
20
20
|
'layout',
|
|
21
21
|
{
|
|
@@ -40,4 +40,4 @@ const { title, description, image, theme, head, body, ...rest } = Astro.props
|
|
|
40
40
|
<slot name="before" />
|
|
41
41
|
<slot />
|
|
42
42
|
</Body>
|
|
43
|
-
</
|
|
43
|
+
</Component>
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
import { defineCollection, reference } from 'astro:content'
|
|
2
|
+
import { pageSchema } from '../schemas/collection'
|
|
3
|
+
|
|
4
|
+
const collection = defineCollection({
|
|
5
|
+
type: 'content',
|
|
6
|
+
schema: pageSchema({
|
|
7
|
+
page: reference('pages'),
|
|
8
|
+
pages: reference('pages').array(),
|
|
9
|
+
}),
|
|
10
|
+
})
|
|
11
|
+
|
|
12
|
+
export const collections = {
|
|
13
|
+
pages: collection,
|
|
14
|
+
}
|
|
@@ -0,0 +1,88 @@
|
|
|
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
|
+
}
|
|
@@ -0,0 +1,20 @@
|
|
|
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
|
+
}
|
|
@@ -0,0 +1,153 @@
|
|
|
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
|
+
}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
|
|
@@ -0,0 +1,33 @@
|
|
|
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
|
+
}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
|