fulldev-ui 0.1.64 → 0.2.10

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 (74) hide show
  1. package/README.md +1 -1
  2. package/package.json +5 -2
  3. package/src/components/_Children.astro +0 -7
  4. package/src/components/_Tag.astro +35 -14
  5. package/src/components/base/Badge.astro +21 -23
  6. package/src/components/base/Button.astro +22 -36
  7. package/src/components/base/Checkbox.astro +9 -6
  8. package/src/components/base/Icon.astro +23 -14
  9. package/src/components/base/Image.astro +47 -47
  10. package/src/components/base/Input.astro +18 -16
  11. package/src/components/base/Logo.astro +6 -4
  12. package/src/components/base/Radio.astro +8 -6
  13. package/src/components/base/Rating.astro +10 -7
  14. package/src/components/base/Select.astro +17 -13
  15. package/src/components/base/SelectOption.astro +5 -5
  16. package/src/components/base/Switch.astro +11 -12
  17. package/src/components/base/Textarea.astro +9 -7
  18. package/src/components/base/Video.astro +4 -4
  19. package/src/components/base/todo.md +1 -2
  20. package/src/components/{wrapper → segment}/Body.astro +13 -10
  21. package/src/components/segment/Card.astro +94 -0
  22. package/src/components/segment/Deck.astro +36 -0
  23. package/src/components/{wrapper → segment}/Footer.astro +2 -2
  24. package/src/components/segment/Form.astro +30 -0
  25. package/src/components/{wrapper → segment}/Header.astro +16 -34
  26. package/src/components/segment/Main.astro +28 -0
  27. package/src/components/segment/Nav.astro +30 -0
  28. package/src/components/{wrapper → segment}/Prose.astro +15 -15
  29. package/src/components/segment/Section.astro +66 -0
  30. package/src/components/{wrapper → segment}/Writeup.astro +8 -7
  31. package/src/components/segment/todo.md +8 -0
  32. package/src/components/structure/Bento.astro +35 -0
  33. package/src/components/structure/Carousel.astro +43 -0
  34. package/src/components/structure/Grid.astro +30 -0
  35. package/src/components/structure/Group.astro +28 -0
  36. package/src/components/structure/Masonry.astro +39 -0
  37. package/src/components/structure/Split.astro +41 -0
  38. package/src/components/structure/Spread.astro +48 -0
  39. package/src/components/structure/Stack.astro +90 -0
  40. package/src/components/structure/todo.md +5 -0
  41. package/src/components/typography/Heading.astro +37 -19
  42. package/src/components/typography/Label.astro +13 -14
  43. package/src/components/typography/Link.astro +15 -10
  44. package/src/components/typography/List.astro +16 -13
  45. package/src/components/typography/ListItem.astro +16 -11
  46. package/src/components/typography/Paragraph.astro +17 -20
  47. package/src/components/typography/Tagline.astro +17 -22
  48. package/src/components/typography/todo.md +1 -13
  49. package/src/css/colors.css +142 -275
  50. package/src/css/main.css +1 -2
  51. package/src/css/sizes.css +136 -198
  52. package/src/css/styles.css +15 -0
  53. package/src/css/utils.scss +16 -0
  54. package/src/index.ts +22 -15
  55. package/src/integration/integration.ts +39 -57
  56. package/src/layouts/Layout.astro +7 -3
  57. package/src/types/Structuremorphic.ts +18 -0
  58. package/src/components/typography/Links.astro +0 -15
  59. package/src/components/typography/_Typography.astro +0 -28
  60. package/src/components/utility/DecorativeBox.astro +0 -22
  61. package/src/components/wrapper/Card.astro +0 -144
  62. package/src/components/wrapper/Cards.astro +0 -15
  63. package/src/components/wrapper/Deck.astro +0 -133
  64. package/src/components/wrapper/Form.astro +0 -26
  65. package/src/components/wrapper/Group.astro +0 -26
  66. package/src/components/wrapper/Main.astro +0 -25
  67. package/src/components/wrapper/Nav.astro +0 -32
  68. package/src/components/wrapper/Section.astro +0 -110
  69. package/src/components/wrapper/Sections.astro +0 -15
  70. package/src/components/wrapper/_Wrapper.astro +0 -333
  71. package/src/components/wrapper/todo.md +0 -20
  72. package/src/css/border.css +0 -23
  73. package/src/css/font.css +0 -15
  74. package/src/css/reset.css +0 -388
@@ -1,25 +1,25 @@
1
1
  ---
2
2
  import type { ComponentProps, HTMLTag, Polymorphic } from 'astro/types'
3
- import Section from './Section.astro'
4
- import { default as Layout } from './_Wrapper.astro'
3
+ import Tag from '../_Tag.astro'
5
4
 
6
5
  type Props<As extends HTMLTag = 'div'> = Polymorphic<{ as: As }> &
7
- ComponentProps<typeof Layout>
6
+ ComponentProps<typeof Tag>
8
7
 
9
8
  const { as = 'div', ...rest } = Astro.props
10
9
  ---
11
10
 
12
- <Section
13
- class:list={['full-prose']}
11
+ <Tag
12
+ class:list={['prose']}
14
13
  {as}
15
14
  {...rest}
16
15
  >
17
- <slot name="before" />
18
16
  <slot />
19
- </Section>
17
+ </Tag>
20
18
 
21
19
  <style is:global lang="scss">
22
- .full-prose {
20
+ @import '../../css/utils.scss';
21
+
22
+ @include component('prose') {
23
23
  @media (min-width: 768px) {
24
24
  padding-right: 15vw;
25
25
  padding-left: 15vw;
@@ -31,12 +31,12 @@ const { as = 'div', ...rest } = Astro.props
31
31
  }
32
32
 
33
33
  // Tables
34
- .full-prose {
34
+ .full.prose {
35
35
  color: var(--foreground);
36
- font-weight: var(--full-font-weight);
37
- font-size: var(--text);
36
+ font-weight: var(--font-weight);
37
+ font-size: var(--text-2);
38
38
  line-height: 1.625;
39
- font-family: var(--full-font-family);
39
+ font-family: var(--font-family);
40
40
 
41
41
  .display {
42
42
  display: grid;
@@ -77,7 +77,7 @@ const { as = 'div', ...rest } = Astro.props
77
77
  background: var(--raised-background) !important;
78
78
  color: var(--muted-foreground) !important;
79
79
  font-weight: 500 !important;
80
- font-size: var(--text-element) !important;
80
+ font-size: var(--text-1) !important;
81
81
  }
82
82
 
83
83
  td {
@@ -91,14 +91,14 @@ const { as = 'div', ...rest } = Astro.props
91
91
 
92
92
  table a {
93
93
  color: var(--primary-background) !important;
94
- font-size: var(--text-element) !important;
94
+ font-size: var(--text-1) !important;
95
95
  line-height: 1 !important;
96
96
  white-space: nowrap;
97
97
  }
98
98
 
99
99
  h6 {
100
100
  margin: var(--space-2) 0;
101
- font-size: var(--text) !important;
101
+ font-size: var(--text-2) !important;
102
102
  }
103
103
 
104
104
  table a:hover {
@@ -0,0 +1,66 @@
1
+ ---
2
+ import type { ComponentProps, HTMLTag, Polymorphic } from 'astro/types'
3
+ import Tag from '../_Tag.astro'
4
+
5
+ type Props<As extends HTMLTag = 'section'> = Polymorphic<{ as: As }> &
6
+ ComponentProps<typeof Tag> & {
7
+ structure?: 'stack' | 'split' | 'spread' | 'group'
8
+ variant?: 'base' | 'raised' | 'primary'
9
+ frame?: 'fill' | 'viewport' | 'panel'
10
+ align?: 'start' | 'center' | 'end'
11
+ }
12
+
13
+ const {
14
+ as = 'section',
15
+ structure = 'stack',
16
+ align = 'start',
17
+ ...rest
18
+ } = Astro.props
19
+ ---
20
+
21
+ <Tag
22
+ class:list={['section']}
23
+ {structure}
24
+ {align}
25
+ {as}
26
+ {...rest}
27
+ >
28
+ <slot />
29
+ </Tag>
30
+
31
+ <style is:global lang="scss">
32
+ @import '../../css/utils.scss';
33
+
34
+ :root,
35
+ .full {
36
+ --media: 1536px;
37
+ --space-spacer: calc(var(--space-5) + 4vw);
38
+ --space-gutter: max(4vw, calc((100vw - var(--media)) / 2));
39
+ }
40
+
41
+ @include component('section') {
42
+ position: relative;
43
+ gap: var(--space-6) var(--space-5);
44
+ background: var(--background);
45
+ padding: var(--space-spacer) var(--space-gutter);
46
+ width: 100%;
47
+ overflow-x: hidden;
48
+
49
+ &.frame-panel {
50
+ margin: var(--space-5) var(--space-gutter);
51
+ border: 1px solid var(--border);
52
+ border-radius: var(--radius-3);
53
+ background-color: var(--background);
54
+ padding-top: var(--space-5);
55
+ padding-right: min(var(--space-5), var(--space-gutter));
56
+ padding-bottom: var(--space-5);
57
+ padding-left: min(var(--space-5), var(--space-gutter));
58
+ overflow: hidden;
59
+ }
60
+
61
+ &.frame-viewport {
62
+ height: auto;
63
+ min-height: 100vh;
64
+ }
65
+ }
66
+ </style>
@@ -1,23 +1,24 @@
1
1
  ---
2
2
  import type { ComponentProps, HTMLTag, Polymorphic } from 'astro/types'
3
- import Wrapper from './_Wrapper.astro'
3
+ import Tag from '../_Tag.astro'
4
4
 
5
5
  type Props<As extends HTMLTag = 'div'> = Polymorphic<{ as: As }> &
6
- ComponentProps<typeof Wrapper>
6
+ ComponentProps<typeof Tag>
7
7
 
8
8
  const { as = 'div', ...rest } = Astro.props
9
9
  ---
10
10
 
11
- <Wrapper
12
- class:list={['full-writeup']}
11
+ <Tag
12
+ class:list={['writeup']}
13
13
  {as}
14
14
  {...rest}
15
15
  >
16
- <slot name="before" />
17
16
  <slot />
18
- </Wrapper>
17
+ </Tag>
19
18
 
20
19
  <style is:global lang="scss">
21
- .full-writeup {
20
+ @import '../../css/utils.scss';
21
+
22
+ @include component('writeup') {
22
23
  }
23
24
  </style>
@@ -0,0 +1,8 @@
1
+ # Chores
2
+
3
+ # New components
4
+ - Footer
5
+ - Header
6
+ - Nav
7
+ - Prose
8
+ - Writeup
@@ -0,0 +1,35 @@
1
+ ---
2
+ import type { ComponentProps, HTMLTag, Polymorphic } from 'astro/types'
3
+ import Tag from '../_Tag.astro'
4
+
5
+ type Props<As extends HTMLTag = 'div'> = Polymorphic<{ as: As }> &
6
+ ComponentProps<typeof Tag>
7
+
8
+ const { ...rest } = Astro.props
9
+ ---
10
+
11
+ <Tag
12
+ class:list={['bento']}
13
+ {...rest}
14
+ >
15
+ <slot />
16
+ </Tag>
17
+
18
+ <style is:global lang="scss">
19
+ @import '../../css/utils.scss';
20
+
21
+ @include component('bento') {
22
+ display: grid;
23
+ position: relative;
24
+ grid-template-columns: 1fr;
25
+ width: 100%;
26
+
27
+ @media (min-width: 1024px) {
28
+ grid-template-columns: 1fr 1fr 1fr;
29
+
30
+ & > *:nth-child(2n) {
31
+ grid-column-start: span 2;
32
+ }
33
+ }
34
+ }
35
+ </style>
@@ -0,0 +1,43 @@
1
+ ---
2
+ import type { ComponentProps, HTMLTag, Polymorphic } from 'astro/types'
3
+ import Tag from '../_Tag.astro'
4
+
5
+ type Props<As extends HTMLTag = 'div'> = Polymorphic<{ as: As }> &
6
+ ComponentProps<typeof Tag>
7
+
8
+ const { ...rest } = Astro.props
9
+ ---
10
+
11
+ <Tag
12
+ class:list={['carousel']}
13
+ {...rest}
14
+ >
15
+ <slot />
16
+ </Tag>
17
+
18
+ <style is:global lang="scss">
19
+ @import '../../css/utils.scss';
20
+
21
+ @include component('carousel') {
22
+ --column-width: calc(16 * var(--element-3));
23
+
24
+ display: flex;
25
+ position: relative;
26
+ position: relative;
27
+ flex-direction: row;
28
+ align-items: flex-start;
29
+ gap: var(--space-3);
30
+ padding-bottom: var(--space-3);
31
+ width: 100%;
32
+ overflow-x: auto;
33
+ scroll-behavior: smooth;
34
+ scroll-snap-type: x mandatory;
35
+
36
+ > .full {
37
+ flex-grow: 0;
38
+ flex-shrink: 0;
39
+ width: var(--column-width);
40
+ scroll-snap-align: center;
41
+ }
42
+ }
43
+ </style>
@@ -0,0 +1,30 @@
1
+ ---
2
+ import type { ComponentProps, HTMLTag, Polymorphic } from 'astro/types'
3
+ import Tag from '../_Tag.astro'
4
+
5
+ type Props<As extends HTMLTag = 'div'> = Polymorphic<{ as: As }> &
6
+ ComponentProps<typeof Tag>
7
+
8
+ const { ...rest } = Astro.props
9
+ ---
10
+
11
+ <Tag
12
+ class:list={['grid']}
13
+ {...rest}
14
+ >
15
+ <slot />
16
+ </Tag>
17
+
18
+ <style is:global lang="scss">
19
+ @import '../../css/utils.scss';
20
+
21
+ @include component('grid') {
22
+ --column-width: calc(15 * var(--element-3));
23
+
24
+ display: grid;
25
+ position: relative;
26
+ grid-template-columns: repeat(auto-fit, minmax(var(--column-width), 1fr));
27
+ gap: var(--space-3);
28
+ width: 100%;
29
+ }
30
+ </style>
@@ -0,0 +1,28 @@
1
+ ---
2
+ import type { ComponentProps, HTMLTag, Polymorphic } from 'astro/types'
3
+ import Tag from '../_Tag.astro'
4
+
5
+ type Props<As extends HTMLTag = 'div'> = Polymorphic<{ as: As }> &
6
+ ComponentProps<typeof Tag>
7
+
8
+ const { ...rest } = Astro.props
9
+ ---
10
+
11
+ <Tag
12
+ class:list={['group']}
13
+ {...rest}
14
+ >
15
+ <slot />
16
+ </Tag>
17
+
18
+ <style is:global lang="scss">
19
+ @import '../../css/utils.scss';
20
+
21
+ @include component('group') {
22
+ display: flex;
23
+ flex-wrap: wrap;
24
+ justify-content: stretch;
25
+ align-items: center;
26
+ gap: var(--space-2);
27
+ }
28
+ </style>
@@ -0,0 +1,39 @@
1
+ ---
2
+ import type { ComponentProps, HTMLTag, Polymorphic } from 'astro/types'
3
+ import Tag from '../_Tag.astro'
4
+
5
+ type Props<As extends HTMLTag = 'div'> = Polymorphic<{ as: As }> &
6
+ ComponentProps<typeof Tag>
7
+
8
+ const { ...rest } = Astro.props
9
+ ---
10
+
11
+ <Tag
12
+ class:list={['masonry']}
13
+ {...rest}
14
+ >
15
+ <slot />
16
+ </Tag>
17
+
18
+ <style is:global lang="scss">
19
+ @import '../../css/utils.scss';
20
+
21
+ @include component('masonry') {
22
+ --column-width: calc(16 * var(--element-3));
23
+ --gap: var(--space-3);
24
+
25
+ position: relative;
26
+ column-gap: var(--gap);
27
+ column-fill: balance;
28
+ column-width: var(--column-width);
29
+ column-count: 6;
30
+ break-inside: avoid;
31
+ width: 100%;
32
+
33
+ & > .full + .full {
34
+ break-inside: avoid;
35
+ margin-top: var(--gap);
36
+ margin-bottom: var(--gap);
37
+ }
38
+ }
39
+ </style>
@@ -0,0 +1,41 @@
1
+ ---
2
+ import type { ComponentProps, HTMLTag, Polymorphic } from 'astro/types'
3
+ import Tag from '../_Tag.astro'
4
+
5
+ type Props<As extends HTMLTag = 'div'> = Polymorphic<{ as: As }> &
6
+ ComponentProps<typeof Tag> & {
7
+ align?: 'start' | 'center' | 'end'
8
+ }
9
+
10
+ const { ...rest } = Astro.props
11
+ ---
12
+
13
+ <Tag
14
+ class:list={['split']}
15
+ {...rest}
16
+ >
17
+ <slot />
18
+ </Tag>
19
+
20
+ <style is:global lang="scss">
21
+ @import '../../css/utils.scss';
22
+
23
+ @include component('split') {
24
+ display: grid;
25
+ grid-template-columns: repeat(auto-fit, minmax(280px, 1fr));
26
+ gap: var(--space-5) var(--space-5);
27
+ width: 100%;
28
+
29
+ &.align-start {
30
+ align-items: flex-start;
31
+ }
32
+
33
+ &.align-center {
34
+ align-items: center;
35
+ }
36
+
37
+ &.align-end {
38
+ align-items: flex-end;
39
+ }
40
+ }
41
+ </style>
@@ -0,0 +1,48 @@
1
+ ---
2
+ import type { ComponentProps, HTMLTag, Polymorphic } from 'astro/types'
3
+ import Tag from '../_Tag.astro'
4
+
5
+ type Props<As extends HTMLTag = 'div'> = Polymorphic<{ as: As }> &
6
+ ComponentProps<typeof Tag> & {
7
+ align?: 'start' | 'center' | 'end'
8
+ }
9
+
10
+ const { align = 'center', ...rest } = Astro.props
11
+ ---
12
+
13
+ <Tag
14
+ class:list={['spread']}
15
+ {align}
16
+ {...rest}
17
+ >
18
+ <slot />
19
+ </Tag>
20
+
21
+ <style is:global lang="scss">
22
+ @import '../../css/utils.scss';
23
+
24
+ @include component('spread') {
25
+ display: flex;
26
+ flex-wrap: wrap;
27
+ justify-content: space-between;
28
+ align-items: stretch;
29
+ gap: var(--space-4);
30
+ width: 100%;
31
+
32
+ & > .full {
33
+ width: auto;
34
+ }
35
+
36
+ &.align-start {
37
+ align-items: flex-start;
38
+ }
39
+
40
+ &.align-center {
41
+ align-items: center;
42
+ }
43
+
44
+ &.align-end {
45
+ align-items: flex-end;
46
+ }
47
+ }
48
+ </style>
@@ -0,0 +1,90 @@
1
+ ---
2
+ import type { ComponentProps, HTMLTag, Polymorphic } from 'astro/types'
3
+ import Tag from '../_Tag.astro'
4
+
5
+ type Props<As extends HTMLTag = 'div'> = Polymorphic<{ as: As }> &
6
+ ComponentProps<typeof Tag> & {
7
+ align?: 'start' | 'center' | 'end'
8
+ }
9
+
10
+ const { align = 'start', ...rest } = Astro.props
11
+ ---
12
+
13
+ <Tag
14
+ class:list={['stack']}
15
+ {align}
16
+ {...rest}
17
+ >
18
+ <slot />
19
+ </Tag>
20
+
21
+ <style is:global lang="scss">
22
+ @import '../../css/utils.scss';
23
+
24
+ @include component('stack') {
25
+ display: flex;
26
+ flex-direction: column;
27
+ gap: 0 !important;
28
+ width: 100%;
29
+
30
+ &.align-start {
31
+ align-items: flex-start;
32
+ }
33
+
34
+ &.align-center {
35
+ align-items: center;
36
+ text-align: center;
37
+
38
+ > * > * {
39
+ text-align: left;
40
+ }
41
+ }
42
+
43
+ &.align-end {
44
+ align-items: flex-end;
45
+ }
46
+
47
+ > {
48
+ .full {
49
+ margin-top: 0;
50
+ margin-bottom: 0;
51
+ }
52
+
53
+ .full + .full {
54
+ margin-top: var(--space-5);
55
+ }
56
+
57
+ .full + .group,
58
+ .full + .button,
59
+ .full + .switch {
60
+ margin-top: var(--space-4);
61
+ }
62
+
63
+ .full + .heading,
64
+ .full + .label,
65
+ .full + .link,
66
+ .full + .list,
67
+ .full + .paragraph,
68
+ .full + .tagline,
69
+ .full + .input,
70
+ .full + .badge,
71
+ .full + .rating {
72
+ margin-top: var(--space-3);
73
+ }
74
+
75
+ .paragraph + .paragraph,
76
+ .button + .button {
77
+ margin-top: var(--space-2);
78
+ }
79
+
80
+ .label + .input {
81
+ margin-top: var(--space-1);
82
+ }
83
+
84
+ .image + .full,
85
+ .icon + .full {
86
+ margin-top: var(--space-5);
87
+ }
88
+ }
89
+ }
90
+ </style>
@@ -0,0 +1,5 @@
1
+ # Components
2
+ - Pile
3
+ - Join
4
+
5
+ # Chores
@@ -1,41 +1,59 @@
1
1
  ---
2
2
  import type { ComponentProps, HTMLTag, Polymorphic } from 'astro/types'
3
- import Typography from './_Typography.astro'
3
+ import Tag from '../_Tag.astro'
4
4
 
5
5
  type Props<As extends HTMLTag = 'h2'> = Polymorphic<{ as: As }> &
6
- Omit<ComponentProps<typeof Typography>, 'size'> & {
7
- size?: 'xs' | 'sm' | 'md' | 'lg' | 'xl' | '2xl'
6
+ ComponentProps<typeof Tag> & {
7
+ html?: string
8
+ text?: string
9
+ variant?: 'base' | 'muted' | 'accent'
10
+ level?: 1 | 2 | 3 | 4 | 5 | 6
8
11
  }
9
12
 
10
- const { as = 'h2', ...rest } = Astro.props
13
+ const {
14
+ level = 2,
15
+ as = `h${level}`,
16
+ density = level > 3 ? 'compact' : undefined,
17
+ ...rest
18
+ } = Astro.props
11
19
  ---
12
20
 
13
- <Typography
14
- class:list={['full-heading']}
21
+ <Tag
22
+ class:list={['heading']}
23
+ {level}
15
24
  {as}
16
- {...rest as any}
25
+ {density}
26
+ {...rest}
17
27
  >
18
- <slot name="before" />
19
28
  <slot />
20
- </Typography>
29
+ </Tag>
21
30
 
22
31
  <style is:global lang="scss">
23
- .full-heading {
24
- max-width: calc(var(--space-element-3) * 36);
32
+ @import '../../css/utils.scss';
33
+
34
+ @include component('heading') {
35
+ margin: 0;
36
+ max-width: calc(var(--element-3) * 36);
25
37
  color: var(--foreground);
26
- font-weight: var(--full-heading-font-weight);
27
- font-size: var(--text-heading);
38
+ font-weight: var(--heading-font-weight);
28
39
  line-height: 1.1;
29
- font-family: var(--full-heading-font-family);
40
+ font-family: var(--heading-font-family);
30
41
  letter-spacing: -0.025em;
42
+ text-decoration: none;
43
+
44
+ &.level-1,
45
+ &.level-4 {
46
+ font-size: var(--text-5);
47
+ }
31
48
 
32
- .full-tag + & {
33
- --my-spacer: var(--space-5);
49
+ &.level-2,
50
+ &.level-5 {
51
+ font-size: var(--text-4);
34
52
  }
35
53
 
36
- .full-tagline,
37
- .full-badge + & {
38
- --my-spacer: var(--space-3);
54
+ &.level-3,
55
+ &.level-6 {
56
+ font-size: var(--text-3);
39
57
  }
40
58
  }
41
59
  </style>
@@ -1,36 +1,35 @@
1
1
  ---
2
2
  import type { ComponentProps, HTMLTag, Polymorphic } from 'astro/types'
3
- import Typography from './_Typography.astro'
3
+ import Tag from '../_Tag.astro'
4
4
 
5
5
  type Props<As extends HTMLTag = 'label'> = Polymorphic<{ as: As }> &
6
- ComponentProps<typeof Typography> & {
7
- variant?: 'base' | 'muted'
8
- text?: string
6
+ ComponentProps<typeof Tag> & {
9
7
  html?: string
8
+ text?: string
9
+ variant?: 'base' | 'muted' | 'accent'
10
10
  }
11
11
 
12
12
  const { as = 'label', text, html, ...rest } = Astro.props
13
13
  ---
14
14
 
15
- <Typography
16
- class:list={['full-label']}
15
+ <Tag
16
+ class:list={['label']}
17
17
  {as}
18
18
  {...rest}
19
19
  >
20
- <slot name="before" />
21
- <Fragment set:html={html} />
22
- {text}
23
20
  <slot />
24
- </Typography>
21
+ </Tag>
25
22
 
26
23
  <style is:global lang="scss">
27
- .full-label {
24
+ @import '../../css/utils.scss';
25
+
26
+ @include component('label') {
28
27
  display: flex;
29
28
  flex-direction: column;
30
29
  color: var(--foreground);
31
- font-weight: var(--full-font-weight);
32
- font-size: var(--text-element);
33
- font-family: var(--full-font-family);
30
+ font-weight: var(--font-weight);
31
+ font-size: var(--text-1);
32
+ font-family: var(--font-family);
34
33
  text-align: left;
35
34
  }
36
35
  </style>