fulldev-ui 0.3.0-beta.3 → 0.3.2
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 +3 -2
- package/src/components/base/Image.astro +116 -42
- package/src/components/base/Logo.astro +1 -1
- package/src/components/base/Rating.astro +27 -25
- 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 +28 -4
- package/src/components/segment/Footer.astro +88 -0
- package/src/components/segment/Header.astro +43 -13
- package/src/components/segment/Section.astro +60 -25
- package/src/components/segment/_regels.md +32 -0
- package/src/components/structure/Bento.astro +38 -0
- package/src/components/{segment → structure}/Box.astro +2 -12
- 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/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 +29 -11
- package/src/integration/tailwind.ts +34 -0
- package/src/integration/unocss.ts +38 -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/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
|
@@ -1,59 +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 = 'input'> = Polymorphic<{ as: As }> &
|
|
6
|
-
ComponentProps<typeof Component> & {
|
|
7
|
-
variant?: 'outline'
|
|
8
|
-
}
|
|
9
|
-
|
|
10
|
-
const { as = 'input', variant = 'outline', ...rest } = Astro.props
|
|
11
|
-
---
|
|
12
|
-
|
|
13
|
-
<Component
|
|
14
|
-
class:list={['input']}
|
|
15
|
-
if={true}
|
|
16
|
-
{as}
|
|
17
|
-
{variant}
|
|
18
|
-
{...rest}
|
|
19
|
-
/>
|
|
20
|
-
|
|
21
|
-
<style is:global lang="scss">
|
|
22
|
-
@import '../../css/utils.scss';
|
|
23
|
-
|
|
24
|
-
@include component('input') {
|
|
25
|
-
display: flex;
|
|
26
|
-
position: relative;
|
|
27
|
-
align-items: center;
|
|
28
|
-
outline: none;
|
|
29
|
-
box-shadow: inset 0 0 0 var(--border-width) var(--border-outline);
|
|
30
|
-
border: 0px;
|
|
31
|
-
border-radius: var(--radius-1);
|
|
32
|
-
background-color: var(--input-background);
|
|
33
|
-
padding: var(--element-2);
|
|
34
|
-
width: 100%;
|
|
35
|
-
min-width: var(--element-2);
|
|
36
|
-
height: calc(var(--text-label) + 2 * var(--element-3));
|
|
37
|
-
color: var(--foreground);
|
|
38
|
-
font-weight: var(--font-weight);
|
|
39
|
-
font-size: var(--text-label);
|
|
40
|
-
line-height: 1.25;
|
|
41
|
-
font-family: var(--font-family);
|
|
42
|
-
|
|
43
|
-
&:hover {
|
|
44
|
-
outline: none;
|
|
45
|
-
box-shadow: inset 0 0 0 1px var(--border-hover);
|
|
46
|
-
}
|
|
47
|
-
|
|
48
|
-
&:focus {
|
|
49
|
-
outline: none;
|
|
50
|
-
box-shadow: inset 0 0 0 3px var(--border-hover);
|
|
51
|
-
}
|
|
52
|
-
|
|
53
|
-
&:disabled {
|
|
54
|
-
opacity: 50%;
|
|
55
|
-
cursor: not-allowed;
|
|
56
|
-
pointer-events: none;
|
|
57
|
-
}
|
|
58
|
-
}
|
|
59
|
-
</style>
|
|
@@ -1,39 +0,0 @@
|
|
|
1
|
-
---
|
|
2
|
-
import type { ComponentProps } from 'astro/types'
|
|
3
|
-
|
|
4
|
-
type Props = ComponentProps<typeof Component>
|
|
5
|
-
|
|
6
|
-
const { as = 'input', type = 'radio', name, ...rest } = Astro.props
|
|
7
|
-
---
|
|
8
|
-
|
|
9
|
-
<Component
|
|
10
|
-
class:list={['radio']}
|
|
11
|
-
if={true}
|
|
12
|
-
{as}
|
|
13
|
-
type="radio"
|
|
14
|
-
{...rest}
|
|
15
|
-
/>
|
|
16
|
-
|
|
17
|
-
<style is:global lang="scss">
|
|
18
|
-
@import '../../css/utils.scss';
|
|
19
|
-
|
|
20
|
-
@include component('radio') {
|
|
21
|
-
border-width: var(--border-width);
|
|
22
|
-
border-color: var(--border-color);
|
|
23
|
-
border-radius: var(--full-border-radius-2);
|
|
24
|
-
background: var(--background);
|
|
25
|
-
min-width: var(--element-2);
|
|
26
|
-
accent-color: var(--10);
|
|
27
|
-
font-size: var(--text-body);
|
|
28
|
-
|
|
29
|
-
&:hover {
|
|
30
|
-
border: var(--border-color-hover);
|
|
31
|
-
background: var(--background-hover);
|
|
32
|
-
}
|
|
33
|
-
|
|
34
|
-
&:active {
|
|
35
|
-
border: var(--border-color-active);
|
|
36
|
-
background: var(--background-active);
|
|
37
|
-
}
|
|
38
|
-
}
|
|
39
|
-
</style>
|
|
@@ -1,69 +0,0 @@
|
|
|
1
|
-
---
|
|
2
|
-
// TODO clean up the styling. Since before every component in Fullui was just one element, we should decide how we are going to handle situation like this where extra elements are needed.
|
|
3
|
-
// I think we should split it up into multiple components, like SelectIcon etc. gr Sil
|
|
4
|
-
import type { ComponentProps, Polymorphic } from 'astro/types'
|
|
5
|
-
import { isObject } from 'radash'
|
|
6
|
-
import Component from '../_Component.astro'
|
|
7
|
-
import Icon from './Icon.astro'
|
|
8
|
-
import SelectOption from './SelectOption.astro'
|
|
9
|
-
|
|
10
|
-
type Props<As extends 'select'> = Polymorphic<{ as: As }> &
|
|
11
|
-
ComponentProps<typeof Component> & {
|
|
12
|
-
options?: (ComponentProps<typeof SelectOption> | string)[]
|
|
13
|
-
}
|
|
14
|
-
|
|
15
|
-
const { as = 'select', options, ...rest } = Astro.props
|
|
16
|
-
---
|
|
17
|
-
|
|
18
|
-
<Component
|
|
19
|
-
as="div"
|
|
20
|
-
class:list="select-wrapper"
|
|
21
|
-
{...rest}
|
|
22
|
-
>
|
|
23
|
-
<Component
|
|
24
|
-
as="select"
|
|
25
|
-
if={options}
|
|
26
|
-
class:list={['select input']}
|
|
27
|
-
{...rest}
|
|
28
|
-
>
|
|
29
|
-
<slot name="before" />
|
|
30
|
-
{
|
|
31
|
-
options?.map((option: any) => {
|
|
32
|
-
if (isObject(option)) return <SelectOption {...option} />
|
|
33
|
-
else return <SelectOption text={option} />
|
|
34
|
-
})
|
|
35
|
-
}
|
|
36
|
-
<slot />
|
|
37
|
-
</Component>
|
|
38
|
-
<div class="select-icon-wrapper">
|
|
39
|
-
<Icon
|
|
40
|
-
class="select-icon"
|
|
41
|
-
name="chevron-down"
|
|
42
|
-
/>
|
|
43
|
-
</div>
|
|
44
|
-
</Component>
|
|
45
|
-
|
|
46
|
-
<style is:global lang="scss">
|
|
47
|
-
@import '../../css/utils.scss';
|
|
48
|
-
|
|
49
|
-
@include component('select') {
|
|
50
|
-
appearance: none;
|
|
51
|
-
}
|
|
52
|
-
|
|
53
|
-
.select-icon-wrapper {
|
|
54
|
-
display: flex;
|
|
55
|
-
position: absolute;
|
|
56
|
-
top: 0;
|
|
57
|
-
right: var(--element-2);
|
|
58
|
-
align-items: center;
|
|
59
|
-
margin: 0 !important;
|
|
60
|
-
padding: 0;
|
|
61
|
-
height: 100%;
|
|
62
|
-
pointer-events: none;
|
|
63
|
-
}
|
|
64
|
-
|
|
65
|
-
.full.select-wrapper {
|
|
66
|
-
position: relative;
|
|
67
|
-
width: 100%;
|
|
68
|
-
}
|
|
69
|
-
</style>
|
|
@@ -1,27 +0,0 @@
|
|
|
1
|
-
---
|
|
2
|
-
import type { HTMLAttributes } from 'astro/types'
|
|
3
|
-
|
|
4
|
-
type Props = Omit<HTMLAttributes<'option'>, 'slot'> & {
|
|
5
|
-
text?: string
|
|
6
|
-
}
|
|
7
|
-
|
|
8
|
-
const { text, ...rest } = Astro.props
|
|
9
|
-
---
|
|
10
|
-
|
|
11
|
-
<option
|
|
12
|
-
class:list={['option']}
|
|
13
|
-
{...rest}
|
|
14
|
-
>
|
|
15
|
-
{text}
|
|
16
|
-
<slot />
|
|
17
|
-
</option>
|
|
18
|
-
|
|
19
|
-
<style>
|
|
20
|
-
.full.option {
|
|
21
|
-
color: var(--foreground);
|
|
22
|
-
font-weight: var(--font-weight);
|
|
23
|
-
font-size: var(--text-label);
|
|
24
|
-
line-height: 1;
|
|
25
|
-
font-family: var(--font-family);
|
|
26
|
-
}
|
|
27
|
-
</style>
|
|
@@ -1,34 +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 = 'textarea'> = Polymorphic<{ as: As }> &
|
|
6
|
-
ComponentProps<typeof Component>
|
|
7
|
-
|
|
8
|
-
const {
|
|
9
|
-
as = 'textarea',
|
|
10
|
-
rows = '5',
|
|
11
|
-
variant = 'outline',
|
|
12
|
-
name,
|
|
13
|
-
...rest
|
|
14
|
-
} = Astro.props
|
|
15
|
-
---
|
|
16
|
-
|
|
17
|
-
<Component
|
|
18
|
-
class:list={['textarea input']}
|
|
19
|
-
if={true}
|
|
20
|
-
{rows}
|
|
21
|
-
{variant}
|
|
22
|
-
{as}
|
|
23
|
-
{...rest}
|
|
24
|
-
/>
|
|
25
|
-
|
|
26
|
-
<style is:global lang="scss">
|
|
27
|
-
@import '../../css/utils.scss';
|
|
28
|
-
|
|
29
|
-
@include component('textarea') {
|
|
30
|
-
height: calc((var(--text-1) + 2 * var(--element-3)) * 2);
|
|
31
|
-
min-height: calc((var(--text-1) + 2 * var(--element-3)) * 1);
|
|
32
|
-
resize: vertical;
|
|
33
|
-
}
|
|
34
|
-
</style>
|
|
@@ -1,40 +0,0 @@
|
|
|
1
|
-
---
|
|
2
|
-
import type { HTMLTag, Polymorphic } from 'astro/types'
|
|
3
|
-
import Component from '../_Component.astro'
|
|
4
|
-
|
|
5
|
-
type Props<As extends HTMLTag = 'div'> = Polymorphic<{ as: As }> & {
|
|
6
|
-
scheme?: 'light' | 'dark'
|
|
7
|
-
color?: 'base' | 'brand'
|
|
8
|
-
compact?: boolean
|
|
9
|
-
size?: 'sm' | 'md' | 'lg' | 'xl'
|
|
10
|
-
structure?: 'grid' | 'carousel' | 'masonry' | 'bento' | 'row' | 'split'
|
|
11
|
-
frame?: 'wrapper' | 'container'
|
|
12
|
-
}
|
|
13
|
-
|
|
14
|
-
const { as = 'div', structure = 'grid', ...rest } = Astro.props
|
|
15
|
-
---
|
|
16
|
-
|
|
17
|
-
<Component
|
|
18
|
-
class:list={['deck']}
|
|
19
|
-
{as}
|
|
20
|
-
{structure}
|
|
21
|
-
{...rest}
|
|
22
|
-
>
|
|
23
|
-
<slot />
|
|
24
|
-
</Component>
|
|
25
|
-
|
|
26
|
-
<style is:global lang="scss">
|
|
27
|
-
@import '../../css/utils.scss';
|
|
28
|
-
|
|
29
|
-
@include component('deck') {
|
|
30
|
-
position: relative;
|
|
31
|
-
width: 100%;
|
|
32
|
-
|
|
33
|
-
// &.frame-fill {
|
|
34
|
-
// margin-right: calc(var(--space-gutter) * -1);
|
|
35
|
-
// margin-left: calc(var(--space-gutter) * -1);
|
|
36
|
-
// padding: 0 var(--space-gutter) var(--space-3);
|
|
37
|
-
// width: calc(100% + var(--space-gutter) * 2);
|
|
38
|
-
// }
|
|
39
|
-
}
|
|
40
|
-
</style>
|
|
@@ -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
|
-
|