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.
Files changed (102) hide show
  1. package/.astro/settings.json +5 -0
  2. package/.astro/types.d.ts +3 -12
  3. package/.env +1 -0
  4. package/astro.config.mjs +1 -2
  5. package/package.json +4 -7
  6. package/src/_archive/Childmorphic.ts +8 -0
  7. package/src/_archive/getAllCollections.ts +10 -0
  8. package/src/_archive/getCollectionCascade.ts +33 -0
  9. package/src/_archive/getPathname.ts +18 -0
  10. package/src/_archive/staticPageSchema.ts +124 -0
  11. package/src/_archive/transform/transform.ts +25 -0
  12. package/src/_archive/transform/transformCasing.ts +24 -0
  13. package/src/_archive/transform/transformReferences.ts +54 -0
  14. package/src/_archive/transform/transformSelfs.ts +20 -0
  15. package/src/_archive/transform/transformUnderscores.ts +19 -0
  16. package/src/components/_Block.astro +2 -0
  17. package/src/components/{_Tag.astro → _Component.astro} +18 -9
  18. package/src/components/{segment → _archive}/Body.astro +7 -5
  19. package/src/components/{segment → _archive}/Main.astro +4 -4
  20. package/src/components/{segment → _archive}/Nav.astro +5 -5
  21. package/src/components/{structure → _archive}/Row.astro +4 -4
  22. package/src/components/_todo/Footer.astro +66 -0
  23. package/src/components/{segment → _todo}/Form.astro +6 -6
  24. package/src/components/{segment → _todo}/Prose.astro +20 -20
  25. package/src/components/{segment → _todo}/Writeup.astro +4 -4
  26. package/src/components/{segment → _todo}/todo.md +3 -1
  27. package/src/components/base/Badge.astro +6 -6
  28. package/src/components/base/Button.astro +37 -28
  29. package/src/components/base/Checkbox.astro +3 -4
  30. package/src/components/base/Icon.astro +5 -5
  31. package/src/components/base/Image.astro +19 -52
  32. package/src/components/base/Input.astro +12 -7
  33. package/src/components/base/Logo.astro +4 -4
  34. package/src/components/base/Radio.astro +3 -4
  35. package/src/components/base/Rating.astro +5 -5
  36. package/src/components/base/Select.astro +6 -6
  37. package/src/components/base/SelectOption.astro +1 -1
  38. package/src/components/base/Switch.astro +8 -7
  39. package/src/components/base/Textarea.astro +4 -3
  40. package/src/components/segment/Box.astro +41 -0
  41. package/src/components/segment/Card.astro +21 -35
  42. package/src/components/segment/Deck.astro +20 -16
  43. package/src/components/{structure → segment}/Group.astro +8 -7
  44. package/src/components/segment/Header.astro +18 -7
  45. package/src/components/segment/Section.astro +39 -37
  46. package/src/components/typography/Heading.astro +24 -26
  47. package/src/components/typography/Label.astro +17 -11
  48. package/src/components/typography/Link.astro +5 -5
  49. package/src/components/typography/List.astro +9 -6
  50. package/src/components/typography/ListItem.astro +5 -5
  51. package/src/components/typography/Paragraph.astro +17 -11
  52. package/src/components/typography/Tagline.astro +6 -5
  53. package/src/components/typography/Text.astro +40 -0
  54. package/src/{layouts → components/utility}/Layout.astro +6 -6
  55. package/src/content/config.ts +14 -0
  56. package/src/content/pages/index.md +1 -0
  57. package/src/css/color.css +88 -0
  58. package/src/css/props/align.scss +20 -0
  59. package/src/css/props/frame.scss +153 -0
  60. package/src/css/props/mask +1 -0
  61. package/src/css/props/position.scss +33 -0
  62. package/src/css/props/ratio +1 -0
  63. package/src/css/props/structure.scss +228 -0
  64. package/src/css/props/variant.scss +130 -0
  65. package/src/css/radix.css +281 -0
  66. package/src/css/size.css +334 -0
  67. package/src/css/styles.css +2 -2
  68. package/src/index.ts +13 -34
  69. package/src/integration/integration.ts +45 -0
  70. package/src/schemas/collection.ts +87 -0
  71. package/src/blocks/todo.md +0 -12
  72. package/src/components/_Plural.astro +0 -27
  73. package/src/components/base/Buttons.astro +0 -15
  74. package/src/components/base/Images.astro +0 -15
  75. package/src/components/segment/Footer.astro +0 -14
  76. package/src/components/structure/Bento.astro +0 -35
  77. package/src/components/structure/Carousel.astro +0 -43
  78. package/src/components/structure/Grid.astro +0 -30
  79. package/src/components/structure/Masonry.astro +0 -39
  80. package/src/components/structure/Split.astro +0 -41
  81. package/src/components/structure/Spread.astro +0 -48
  82. package/src/components/structure/Stack.astro +0 -90
  83. package/src/components/structure/todo.md +0 -5
  84. package/src/css/colors.css +0 -197
  85. package/src/css/main.css +0 -3
  86. package/src/css/sizes.css +0 -217
  87. package/src/layouts/todo.md +0 -2
  88. package/src/schemas/attributesSchema.ts +0 -125
  89. package/src/schemas/htmlAttributesSchema.ts +0 -126
  90. package/src/schemas/pageSchema.ts +0 -185
  91. package/src/schemas/staticPageSchema.ts +0 -124
  92. package/src/types/Childmorphic.ts +0 -8
  93. package/src/types/Pluralmorphic.ts +0 -7
  94. package/src/types/Structuremorphic.ts +0 -18
  95. package/src/utils/getAllCollections.ts +0 -10
  96. package/src/utils/getCollectionCascade.ts +0 -33
  97. package/src/utils/getPathname.ts +0 -18
  98. package/src/utils/transform/transform.ts +0 -25
  99. package/src/utils/transform/transformCasing.ts +0 -24
  100. package/src/utils/transform/transformReferences.ts +0 -54
  101. package/src/utils/transform/transformSelfs.ts +0 -20
  102. 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 Tag from '../_Tag.astro'
3
+ import Component from '../_Component.astro'
4
4
 
5
5
  type Props<As extends HTMLTag = 'a'> = Polymorphic<{ as: As }> &
6
- ComponentProps<typeof Tag> & {
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
- <Tag
15
+ <Component
16
16
  class:list={['link']}
17
17
  {as}
18
18
  {...rest}
19
19
  >
20
20
  <slot />
21
- </Tag>
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-2);
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 Tag from '../_Tag.astro'
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 Tag> & {
7
+ ComponentProps<typeof Component> & {
8
8
  html?: string
9
9
  text?: string
10
10
  variant?: 'base' | 'muted' | 'accent'
11
- items?: (ComponentProps<typeof ListItem> | string)[]
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
- <Tag
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
- </Tag>
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-2);
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 Tag from '../_Tag.astro'
3
+ import Component from '../_Component.astro'
4
4
 
5
5
  type Props<As extends HTMLTag = 'li'> = Polymorphic<{ as: As }> &
6
- ComponentProps<typeof Tag> & {
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
- <Tag
15
+ <Component
16
16
  class:list={['list-item']}
17
17
  {as}
18
18
  {...rest}
19
19
  >
20
20
  <slot />
21
- </Tag>
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-2);
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 { ComponentProps, HTMLTag, Polymorphic } from 'astro/types'
3
- import Tag from '../_Tag.astro'
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
- ComponentProps<typeof Tag> & {
7
- html?: string
8
- text?: string
9
- variant?: 'base' | 'muted' | 'accent'
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
- <Tag
17
+ <Component
16
18
  class:list={['paragraph']}
17
19
  {as}
18
20
  {...rest}
19
21
  >
20
22
  <slot />
21
- </Tag>
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-2);
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 Tag from '../_Tag.astro'
3
+ import Component from '../_Component.astro'
4
4
 
5
5
  type Props<As extends HTMLTag = 'span'> = Polymorphic<{ as: As }> &
6
- ComponentProps<typeof Tag> & {
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
- <Tag
15
+ <Component
16
16
  class:list={['tagline']}
17
17
  {as}
18
18
  {...rest}
19
19
  >
20
20
  <slot />
21
- </Tag>
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-1);
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 Tag from '../components/_Tag.astro'
4
- import Body from '../components/segment/Body.astro'
5
- import Head from '../components/utility/Head.astro'
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 Tag> {
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
- <Tag
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
- </Tag>
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
+ }
@@ -1,2 +1,3 @@
1
1
  ---
2
+ title: hello
2
3
  ---
@@ -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
+