fulldev-ui 0.4.0-beta.1 → 0.4.11

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 (53) hide show
  1. package/package.json +3 -2
  2. package/pnpm-lock.yaml +3640 -2909
  3. package/public/images/og-image.png +0 -0
  4. package/src/blocks/Contact.astro +6 -4
  5. package/src/blocks/Intro.astro +5 -3
  6. package/src/blocks/Prices.astro +6 -4
  7. package/src/components/Avatar.astro +18 -16
  8. package/src/components/Badge.astro +33 -31
  9. package/src/components/Bento.astro +16 -14
  10. package/src/components/Button.astro +77 -75
  11. package/src/components/Card.astro +47 -45
  12. package/src/components/Carousel.astro +27 -25
  13. package/src/components/Checkbox.astro +12 -10
  14. package/src/components/Column.astro +35 -33
  15. package/src/components/Dialog.astro +19 -17
  16. package/src/components/Drawer.astro +39 -37
  17. package/src/components/Footer.astro +39 -37
  18. package/src/components/Grid.astro +9 -7
  19. package/src/components/Head.astro +2 -3
  20. package/src/components/Header.astro +58 -52
  21. package/src/components/Heading.astro +30 -28
  22. package/src/components/Icon.astro +15 -13
  23. package/src/components/Image.astro +93 -91
  24. package/src/components/Input.astro +51 -49
  25. package/src/components/Label.astro +11 -9
  26. package/src/components/Link.astro +34 -32
  27. package/src/components/List.astro +14 -12
  28. package/src/components/Masonry.astro +17 -15
  29. package/src/components/Rating.astro +15 -13
  30. package/src/components/Root.astro +8 -3
  31. package/src/components/Row.astro +17 -15
  32. package/src/components/Search.astro +1 -1
  33. package/src/components/Section.astro +62 -60
  34. package/src/components/Select.astro +59 -57
  35. package/src/components/Sidebar.astro +16 -13
  36. package/src/components/Split.astro +26 -24
  37. package/src/components/Spread.astro +18 -16
  38. package/src/components/Switch.astro +50 -48
  39. package/src/components/Table.astro +92 -81
  40. package/src/components/Tagline.astro +8 -6
  41. package/src/components/Text.astro +11 -9
  42. package/src/components/Textarea.astro +44 -42
  43. package/src/components/Toc.astro +16 -13
  44. package/src/components/Wrap.astro +16 -14
  45. package/src/components/docs/PropsTable.astro +7 -0
  46. package/src/components/experimental/Price.astro +11 -9
  47. package/src/components/experimental/Prose.astro +114 -112
  48. package/src/components/experimental/Window.astro +58 -56
  49. package/src/content/pages/index.mdx +3 -2
  50. package/src/content/pages/overview/frameworks.mdx +8 -17
  51. package/src/content/pages/overview/introduction.mdx +1 -1
  52. package/src/content/settings/base.yml +3 -0
  53. package/src/css/custom.css +0 -5
@@ -15,107 +15,118 @@ const { header, body, footer, radius = 'auto', ...rest } = Astro.props
15
15
  ---
16
16
 
17
17
  <Root
18
- class="table"
19
- as="table"
20
- {radius}
18
+ class:list="table"
21
19
  {...rest}
22
20
  >
23
- <Root as="thead">
24
- <Root as="tr">
25
- {header?.map((cell: string) => <Root as="th">{cell}</Root>)}
21
+ <Root
22
+ as="table"
23
+ {radius}
24
+ >
25
+ <Root as="thead">
26
+ <Root as="tr">
27
+ {header?.map((cell: string) => <Root as="th">{cell}</Root>)}
28
+ </Root>
26
29
  </Root>
27
- </Root>
28
- <Root as="tbody">
29
- {
30
- body?.map((row: string[]) => (
31
- <Root as="tr">
32
- {row.map((cell: string) => (
33
- <Root as="td">{cell}</Root>
34
- ))}
35
- </Root>
36
- ))
37
- }
38
- </Root>
39
- <Root as="tfoot">
40
- <Root as="tr">
30
+ <Root as="tbody">
41
31
  {
42
- footer?.map((cell) => {
43
- if (typeof cell === 'string') {
44
- return <Root as="td">{cell}</Root>
45
- } else {
46
- return (
47
- <Root
48
- as="td"
49
- colspan={cell.colspan}
50
- >
51
- {cell.text}
52
- </Root>
53
- )
54
- }
55
- })
32
+ body?.map((row: string[]) => (
33
+ <Root as="tr">
34
+ {row.map((cell: string) => (
35
+ <Root as="td">{cell}</Root>
36
+ ))}
37
+ </Root>
38
+ ))
56
39
  }
57
40
  </Root>
41
+ <Root as="tfoot">
42
+ <Root as="tr">
43
+ {
44
+ footer?.map((cell) => {
45
+ if (typeof cell === 'string') {
46
+ return <Root as="td">{cell}</Root>
47
+ } else {
48
+ return (
49
+ <Root
50
+ as="td"
51
+ colspan={cell.colspan}
52
+ >
53
+ {cell.text}
54
+ </Root>
55
+ )
56
+ }
57
+ })
58
+ }
59
+ </Root>
60
+ </Root>
58
61
  </Root>
59
62
  </Root>
60
63
 
61
64
  <style is:global lang="scss">
62
- .table {
63
- display: table;
64
- box-shadow: 0 0 0 1px var(--color-6);
65
- border-radius: var(--radius-1);
66
- border-collapse: collapse;
67
- width: 100%;
68
- caption-side: bottom;
69
- overflow: hidden;
65
+ @layer fulldev {
66
+ .table {
67
+ box-shadow: 0 0 0 1px var(--color-6);
68
+ border-radius: var(--radius-1);
69
+ overflow-x: auto;
70
70
 
71
- &.radius-none {
72
- border-radius: 0;
73
- }
71
+ table {
72
+ display: table;
73
+ margin: 0;
74
+ border-collapse: collapse;
75
+ width: 100%;
76
+ caption-side: bottom;
77
+ white-space: nowrap;
74
78
 
75
- &.radius-auto {
76
- border-radius: var(--radius-1);
77
- }
79
+ &.radius-none {
80
+ border-radius: 0;
81
+ }
78
82
 
79
- thead {
80
- background-color: var(--color-3);
83
+ &.radius-auto {
84
+ border-radius: var(--radius-1);
85
+ }
81
86
 
82
- &:not(:last-child) {
83
- border-bottom: 1px solid var(--color-6);
84
- }
87
+ thead {
88
+ background-color: var(--color-3);
85
89
 
86
- th {
87
- color: var(--color-12);
88
- font-weight: 500;
89
- }
90
- }
90
+ &:not(:last-child) {
91
+ border-bottom: 1px solid var(--color-6);
92
+ }
91
93
 
92
- tbody {
93
- display: table-row-group;
94
- vertical-align: middle;
95
- background-color: var(--color-2);
96
- unicode-bidi: isolate;
97
- }
94
+ th {
95
+ color: var(--color-12);
96
+ font-weight: 500;
97
+ }
98
+ }
98
99
 
99
- tfoot {
100
- display: table-footer-group;
101
- background-color: var(--color-3);
102
- color: var(--color-12);
100
+ tbody {
101
+ display: table-row-group;
102
+ vertical-align: middle;
103
+ background-color: var(--color-2);
104
+ width: 100%;
105
+ unicode-bidi: isolate;
106
+ }
103
107
 
104
- &:not(:last-child) {
105
- border-top: 1px solid var(--color-6);
106
- }
107
- }
108
+ tfoot {
109
+ display: table-footer-group;
110
+ background-color: var(--color-3);
111
+ color: var(--color-12);
108
112
 
109
- tr + tr {
110
- border-top: 1px solid var(--color-6);
111
- }
113
+ &:not(:last-child) {
114
+ border-top: 1px solid var(--color-6);
115
+ }
116
+ }
112
117
 
113
- th,
114
- td {
115
- vertical-align: middle;
116
- padding: var(--space-3) var(--space-4);
117
- font-size: var(--text-2);
118
- text-align: left;
118
+ tr + tr {
119
+ border-top: 1px solid var(--color-6);
120
+ }
121
+
122
+ th,
123
+ td {
124
+ vertical-align: middle;
125
+ padding: var(--space-3) var(--space-4);
126
+ font-size: var(--text-2);
127
+ text-align: left;
128
+ }
129
+ }
119
130
  }
120
131
  }
121
132
  </style>
@@ -25,11 +25,13 @@ const { as = 'span', html, text, ...rest } = Astro.props
25
25
  </Root>
26
26
 
27
27
  <style is:global lang="scss">
28
- .tagline {
29
- color: var(--color-11);
30
- font-size: var(--text-2);
31
- line-height: 1;
32
- text-align: left;
33
- white-space: nowrap;
28
+ @layer fulldev {
29
+ .tagline {
30
+ color: var(--color-11);
31
+ font-size: var(--text-2);
32
+ line-height: 1;
33
+ text-align: left;
34
+ white-space: nowrap;
35
+ }
34
36
  }
35
37
  </style>
@@ -28,16 +28,18 @@ const { as = 'p', color = 'base', html, text, ...rest } = Astro.props
28
28
  </Root>
29
29
 
30
30
  <style is:global lang="scss">
31
- .text {
32
- margin: 0;
33
- max-width: calc(var(--space-4) * 44);
34
- color: var(--color-11);
35
- font-weight: var(--font-weight);
36
- font-size: var(--text-3);
37
- line-height: 1.625;
31
+ @layer fulldev {
32
+ .text {
33
+ margin: 0;
34
+ max-width: calc(var(--space-4) * 44);
35
+ color: var(--color-11);
36
+ font-weight: var(--font-weight);
37
+ font-size: var(--text-3);
38
+ line-height: 1.625;
38
39
 
39
- &.lead {
40
- font-size: var(--text-4);
40
+ &.lead {
41
+ font-size: var(--text-4);
42
+ }
41
43
  }
42
44
  }
43
45
  </style>
@@ -48,57 +48,59 @@ const {
48
48
  </Root>
49
49
 
50
50
  <style is:global lang="scss">
51
- .textarea {
52
- display: flex;
53
- position: relative;
54
- flex-direction: column;
55
- gap: var(--space-1);
56
- width: 100%;
57
-
58
- textarea {
51
+ @layer fulldev {
52
+ .textarea {
59
53
  display: flex;
60
54
  position: relative;
61
- align-items: center;
62
- outline: none;
63
- border: 1px solid var(--color-6);
64
- border-radius: var(--radius-1);
65
- background-color: transparent;
66
- padding: var(--space-4);
55
+ flex-direction: column;
56
+ gap: var(--space-1);
67
57
  width: 100%;
68
- height: calc((var(--text-2) + 2 * var(--space-4)) * 2);
69
- min-height: calc((var(--text-2) + 2 * var(--space-4)) * 2);
70
- resize: vertical;
71
- color: var(--color-11);
72
- font-weight: 400;
73
- font-size: var(--text-2);
74
- line-height: 1.25;
75
-
76
- &.radius-none {
77
- border-radius: 0;
78
- }
79
58
 
80
- &.radius-auto {
59
+ textarea {
60
+ display: flex;
61
+ position: relative;
62
+ align-items: center;
63
+ outline: none;
64
+ border: 1px solid var(--color-6);
81
65
  border-radius: var(--radius-1);
82
- }
83
-
84
- &::placeholder {
66
+ background-color: transparent;
67
+ padding: var(--space-4);
68
+ width: 100%;
69
+ height: calc((var(--text-2) + 2 * var(--space-4)) * 2);
70
+ min-height: calc((var(--text-2) + 2 * var(--space-4)) * 2);
71
+ resize: vertical;
85
72
  color: var(--color-11);
86
- }
73
+ font-weight: 400;
74
+ font-size: var(--text-2);
75
+ line-height: 1.25;
87
76
 
88
- &:hover {
89
- outline: none;
90
- }
77
+ &.radius-none {
78
+ border-radius: 0;
79
+ }
91
80
 
92
- &:focus {
93
- outline: none;
94
- box-shadow: inset 0 0 0 2px var(--color-7);
95
- border-color: var(--color-7);
96
- }
81
+ &.radius-auto {
82
+ border-radius: var(--radius-1);
83
+ }
84
+
85
+ &::placeholder {
86
+ color: var(--color-11);
87
+ }
88
+
89
+ &:hover {
90
+ outline: none;
91
+ }
92
+
93
+ &:focus {
94
+ outline: none;
95
+ box-shadow: inset 0 0 0 2px var(--color-7);
96
+ border-color: var(--color-7);
97
+ }
97
98
 
98
- &:disabled {
99
- opacity: 50%;
100
- cursor: not-allowed;
101
- pointer-events: none;
99
+ &:disabled {
100
+ opacity: 50%;
101
+ cursor: not-allowed;
102
+ pointer-events: none;
103
+ }
102
104
  }
103
105
  }
104
106
  }
@@ -32,21 +32,24 @@ const { toc, headings } = Astro.props
32
32
  </Column>
33
33
 
34
34
  <style lang="scss" is:global>
35
- .toc {
36
- display: none !important;
37
- box-sizing: border-box;
38
- border-left: 1px solid var(--color-a6);
39
- padding: var(--space-6) 0 var(--space-6) min(var(--space-5), var(--gutter));
40
- height: 100vh;
41
- max-height: 100vh;
42
- overflow-y: auto;
35
+ @layer fulldev {
36
+ .toc {
37
+ display: none !important;
38
+ box-sizing: border-box;
39
+ border-left: 1px solid var(--color-a6);
40
+ padding: var(--space-6) 0 var(--space-6)
41
+ min(var(--space-5), var(--gutter));
42
+ height: 100vh;
43
+ max-height: 100vh;
44
+ overflow-y: auto;
43
45
 
44
- .toc-link {
45
- font-size: var(--text-2);
46
- }
46
+ .toc-link {
47
+ font-size: var(--text-2);
48
+ }
47
49
 
48
- @media (min-width: 1024px) {
49
- display: flex !important;
50
+ @media (min-width: 1024px) {
51
+ display: flex !important;
52
+ }
50
53
  }
51
54
  }
52
55
  </style>
@@ -18,23 +18,25 @@ const { align = 'center', ...rest } = Astro.props
18
18
  </Root>
19
19
 
20
20
  <style is:global lang="scss">
21
- .wrap {
22
- display: flex;
23
- flex-wrap: wrap;
24
- justify-content: stretch;
25
- gap: var(--space-2);
21
+ @layer fulldev {
22
+ .wrap {
23
+ display: flex;
24
+ flex-wrap: wrap;
25
+ justify-content: stretch;
26
+ gap: var(--space-2);
26
27
 
27
- &.align-start {
28
- align-items: flex-start;
29
- text-align: left;
30
- }
28
+ &.align-start {
29
+ align-items: flex-start;
30
+ text-align: left;
31
+ }
31
32
 
32
- &.align-center {
33
- align-items: center;
34
- }
33
+ &.align-center {
34
+ align-items: center;
35
+ }
35
36
 
36
- &.align-end {
37
- align-items: flex-end;
37
+ &.align-end {
38
+ align-items: flex-end;
39
+ }
38
40
  }
39
41
  }
40
42
  </style>
@@ -78,6 +78,7 @@ const asDefault = extractAsDefault(componentFileContent)
78
78
 
79
79
  <Table
80
80
  size="md"
81
+ class:list={['props-table']}
81
82
  header={['Prop', 'Type', 'Default']}
82
83
  body={[
83
84
  ...parsedProps.map((item) => [
@@ -93,3 +94,9 @@ const asDefault = extractAsDefault(componentFileContent)
93
94
  : []),
94
95
  ]}
95
96
  />
97
+
98
+ <style is:global lang="scss">
99
+ .props-table {
100
+ overflow: auto;
101
+ }
102
+ </style>
@@ -16,7 +16,7 @@ const { as = 'p', value, ...rest } = Astro.props
16
16
  value && (
17
17
  <Root
18
18
  if={value}
19
- class:list='price']}
19
+ class:list="price"
20
20
  {as}
21
21
  {...rest}
22
22
  >
@@ -26,13 +26,15 @@ const { as = 'p', value, ...rest } = Astro.props
26
26
  }
27
27
 
28
28
  <style is:global lang="scss">
29
- .price {
30
- margin: 0;
31
- max-width: calc(var(--space-4) * 44);
32
- color: var(--color-12);
33
- font-weight: var(--font-weight);
34
- font-size: var(--text-5);
35
- line-height: 1.25;
36
- font-family: var(--font-family);
29
+ @layer fulldev {
30
+ .price {
31
+ margin: 0;
32
+ max-width: calc(var(--space-4) * 44);
33
+ color: var(--color-12);
34
+ font-weight: var(--font-weight);
35
+ font-size: var(--text-5);
36
+ line-height: 1.25;
37
+ font-family: var(--font-family);
38
+ }
37
39
  }
38
40
  </style>