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.
- package/package.json +3 -2
- package/pnpm-lock.yaml +3640 -2909
- package/public/images/og-image.png +0 -0
- package/src/blocks/Contact.astro +6 -4
- package/src/blocks/Intro.astro +5 -3
- package/src/blocks/Prices.astro +6 -4
- package/src/components/Avatar.astro +18 -16
- package/src/components/Badge.astro +33 -31
- package/src/components/Bento.astro +16 -14
- package/src/components/Button.astro +77 -75
- package/src/components/Card.astro +47 -45
- package/src/components/Carousel.astro +27 -25
- package/src/components/Checkbox.astro +12 -10
- package/src/components/Column.astro +35 -33
- package/src/components/Dialog.astro +19 -17
- package/src/components/Drawer.astro +39 -37
- package/src/components/Footer.astro +39 -37
- package/src/components/Grid.astro +9 -7
- package/src/components/Head.astro +2 -3
- package/src/components/Header.astro +58 -52
- package/src/components/Heading.astro +30 -28
- package/src/components/Icon.astro +15 -13
- package/src/components/Image.astro +93 -91
- package/src/components/Input.astro +51 -49
- package/src/components/Label.astro +11 -9
- package/src/components/Link.astro +34 -32
- package/src/components/List.astro +14 -12
- package/src/components/Masonry.astro +17 -15
- package/src/components/Rating.astro +15 -13
- package/src/components/Root.astro +8 -3
- package/src/components/Row.astro +17 -15
- package/src/components/Search.astro +1 -1
- package/src/components/Section.astro +62 -60
- package/src/components/Select.astro +59 -57
- package/src/components/Sidebar.astro +16 -13
- package/src/components/Split.astro +26 -24
- package/src/components/Spread.astro +18 -16
- package/src/components/Switch.astro +50 -48
- package/src/components/Table.astro +92 -81
- package/src/components/Tagline.astro +8 -6
- package/src/components/Text.astro +11 -9
- package/src/components/Textarea.astro +44 -42
- package/src/components/Toc.astro +16 -13
- package/src/components/Wrap.astro +16 -14
- package/src/components/docs/PropsTable.astro +7 -0
- package/src/components/experimental/Price.astro +11 -9
- package/src/components/experimental/Prose.astro +114 -112
- package/src/components/experimental/Window.astro +58 -56
- package/src/content/pages/index.mdx +3 -2
- package/src/content/pages/overview/frameworks.mdx +8 -17
- package/src/content/pages/overview/introduction.mdx +1 -1
- package/src/content/settings/base.yml +3 -0
- package/src/css/custom.css +0 -5
|
@@ -16,139 +16,141 @@ const { as = 'div', ...rest } = Astro.props
|
|
|
16
16
|
</Root>
|
|
17
17
|
|
|
18
18
|
<style is:global lang="scss">
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
* {
|
|
36
|
-
margin: 0;
|
|
37
|
-
}
|
|
38
|
-
|
|
39
|
-
p {
|
|
40
|
-
margin-top: var(--space-4);
|
|
41
|
-
}
|
|
42
|
-
|
|
43
|
-
h1,
|
|
44
|
-
h2,
|
|
45
|
-
h3,
|
|
46
|
-
h4,
|
|
47
|
-
h5,
|
|
48
|
-
h6 {
|
|
49
|
-
color: var(--color-12);
|
|
50
|
-
font-weight: 700;
|
|
51
|
-
line-height: 1.2;
|
|
52
|
-
}
|
|
19
|
+
@layer fulldev {
|
|
20
|
+
.prose {
|
|
21
|
+
width: 100%;
|
|
22
|
+
scroll-margin-top: var(--space-6);
|
|
23
|
+
color: var(--color-11);
|
|
24
|
+
font-weight: var(--font-weight);
|
|
25
|
+
font-size: var(--text-3);
|
|
26
|
+
line-height: 1.7;
|
|
27
|
+
font-family: var(--font-family);
|
|
28
|
+
|
|
29
|
+
> {
|
|
30
|
+
.astro-code,
|
|
31
|
+
.window,
|
|
32
|
+
.table {
|
|
33
|
+
margin-top: var(--space-5);
|
|
34
|
+
}
|
|
53
35
|
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
font-size: var(--text-8);
|
|
58
|
-
}
|
|
36
|
+
* {
|
|
37
|
+
margin: 0;
|
|
38
|
+
}
|
|
59
39
|
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
font-size: var(--text-7);
|
|
64
|
-
}
|
|
40
|
+
p {
|
|
41
|
+
margin-top: var(--space-4);
|
|
42
|
+
}
|
|
65
43
|
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
|
|
44
|
+
h1,
|
|
45
|
+
h2,
|
|
46
|
+
h3,
|
|
47
|
+
h4,
|
|
48
|
+
h5,
|
|
49
|
+
h6 {
|
|
50
|
+
color: var(--color-12);
|
|
51
|
+
font-weight: 700;
|
|
52
|
+
line-height: 1.2;
|
|
53
|
+
}
|
|
71
54
|
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
|
|
55
|
+
h1 {
|
|
56
|
+
margin-top: var(--space-6);
|
|
57
|
+
scroll-margin-top: var(--space-6);
|
|
58
|
+
font-size: var(--text-8);
|
|
59
|
+
}
|
|
77
60
|
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
|
|
82
|
-
|
|
61
|
+
h2 {
|
|
62
|
+
margin-top: var(--space-6);
|
|
63
|
+
scroll-margin-top: var(--space-6);
|
|
64
|
+
font-size: var(--text-7);
|
|
65
|
+
}
|
|
83
66
|
|
|
84
|
-
|
|
85
|
-
|
|
86
|
-
|
|
87
|
-
|
|
88
|
-
|
|
67
|
+
h3 {
|
|
68
|
+
margin-top: var(--space-6);
|
|
69
|
+
scroll-margin-top: var(--space-6);
|
|
70
|
+
font-size: var(--text-6);
|
|
71
|
+
}
|
|
89
72
|
|
|
90
|
-
|
|
91
|
-
|
|
92
|
-
|
|
93
|
-
|
|
73
|
+
h4 {
|
|
74
|
+
margin-top: var(--space-5);
|
|
75
|
+
scroll-margin-top: var(--space-5);
|
|
76
|
+
font-size: var(--text-5);
|
|
77
|
+
}
|
|
94
78
|
|
|
95
|
-
|
|
96
|
-
|
|
97
|
-
|
|
98
|
-
|
|
79
|
+
h5 {
|
|
80
|
+
margin-top: var(--space-5);
|
|
81
|
+
scroll-margin-top: var(--space-5);
|
|
82
|
+
font-size: var(--text-4);
|
|
83
|
+
}
|
|
99
84
|
|
|
100
|
-
table {
|
|
101
|
-
h1,
|
|
102
|
-
h2,
|
|
103
|
-
h3,
|
|
104
|
-
h4,
|
|
105
|
-
h5,
|
|
106
85
|
h6 {
|
|
107
|
-
margin: var(--space-
|
|
86
|
+
margin-top: var(--space-5);
|
|
87
|
+
scroll-margin-top: var(--space-5);
|
|
88
|
+
font-size: var(--text-3);
|
|
89
|
+
}
|
|
108
90
|
|
|
109
|
-
|
|
91
|
+
*:first-child {
|
|
92
|
+
margin-top: 0;
|
|
93
|
+
}
|
|
94
|
+
}
|
|
110
95
|
|
|
111
|
-
|
|
112
|
-
|
|
96
|
+
.display {
|
|
97
|
+
display: grid;
|
|
98
|
+
width: 100%;
|
|
99
|
+
max-width: none;
|
|
100
|
+
|
|
101
|
+
table {
|
|
102
|
+
h1,
|
|
103
|
+
h2,
|
|
104
|
+
h3,
|
|
105
|
+
h4,
|
|
106
|
+
h5,
|
|
107
|
+
h6 {
|
|
108
|
+
margin: var(--space-2) 0;
|
|
109
|
+
|
|
110
|
+
font: 600 var(--text-3) 'Saira';
|
|
111
|
+
|
|
112
|
+
& + p {
|
|
113
|
+
color: var(--hue11);
|
|
114
|
+
}
|
|
113
115
|
}
|
|
114
116
|
}
|
|
115
117
|
}
|
|
116
|
-
}
|
|
117
118
|
|
|
118
|
-
|
|
119
|
-
|
|
120
|
-
|
|
121
|
-
|
|
122
|
-
|
|
123
|
-
|
|
124
|
-
|
|
119
|
+
table {
|
|
120
|
+
margin: var(--space-5) 0;
|
|
121
|
+
border: 1px solid var(--border);
|
|
122
|
+
border-radius: var(--radius-1) !important;
|
|
123
|
+
border-collapse: collapse;
|
|
124
|
+
width: 100%;
|
|
125
|
+
}
|
|
125
126
|
|
|
126
|
-
|
|
127
|
-
|
|
128
|
-
|
|
129
|
-
|
|
130
|
-
|
|
131
|
-
|
|
132
|
-
|
|
127
|
+
th {
|
|
128
|
+
border-bottom: 1px solid var(--border);
|
|
129
|
+
background: var(--raised-background) !important;
|
|
130
|
+
color: var(--muted-foreground) !important;
|
|
131
|
+
font-weight: 500 !important;
|
|
132
|
+
font-size: var(--text-3) !important;
|
|
133
|
+
}
|
|
133
134
|
|
|
134
|
-
|
|
135
|
-
|
|
136
|
-
|
|
135
|
+
td {
|
|
136
|
+
color: var(--muted-foreground) !important;
|
|
137
|
+
}
|
|
137
138
|
|
|
138
|
-
|
|
139
|
-
|
|
140
|
-
|
|
141
|
-
|
|
139
|
+
th,
|
|
140
|
+
td {
|
|
141
|
+
padding: var(--space-2);
|
|
142
|
+
}
|
|
142
143
|
|
|
143
|
-
|
|
144
|
-
|
|
145
|
-
|
|
146
|
-
|
|
147
|
-
|
|
148
|
-
|
|
144
|
+
table a {
|
|
145
|
+
color: var(--solid) !important;
|
|
146
|
+
font-size: var(--text-3) !important;
|
|
147
|
+
line-height: 1 !important;
|
|
148
|
+
white-space: nowrap;
|
|
149
|
+
}
|
|
149
150
|
|
|
150
|
-
|
|
151
|
-
|
|
151
|
+
table a:hover {
|
|
152
|
+
text-decoration: underline;
|
|
153
|
+
}
|
|
152
154
|
}
|
|
153
155
|
}
|
|
154
156
|
</style>
|
|
@@ -52,80 +52,82 @@ const isComponent =
|
|
|
52
52
|
}
|
|
53
53
|
|
|
54
54
|
<style lang="scss" is:global>
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
.code-container {
|
|
55
|
+
@layer fulldev {
|
|
56
|
+
.window {
|
|
57
|
+
display: flex;
|
|
58
|
+
flex-direction: column;
|
|
59
|
+
align-items: flex-start;
|
|
62
60
|
width: 100%;
|
|
63
61
|
|
|
64
|
-
.
|
|
65
|
-
|
|
66
|
-
background-color: var(--base-2) !important;
|
|
67
|
-
padding: var(--space-5);
|
|
68
|
-
}
|
|
69
|
-
}
|
|
62
|
+
.code-container {
|
|
63
|
+
width: 100%;
|
|
70
64
|
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
.example-container {
|
|
77
|
-
display: flex;
|
|
78
|
-
flex-direction: column;
|
|
79
|
-
align-items: start;
|
|
80
|
-
gap: var(--space-4);
|
|
81
|
-
padding: var(--space-5);
|
|
65
|
+
.astro-code {
|
|
66
|
+
margin: 0;
|
|
67
|
+
background-color: var(--base-2) !important;
|
|
68
|
+
padding: var(--space-5);
|
|
69
|
+
}
|
|
82
70
|
}
|
|
83
71
|
|
|
84
|
-
|
|
85
|
-
border:
|
|
86
|
-
border-
|
|
87
|
-
|
|
72
|
+
&.component {
|
|
73
|
+
border: 1px solid var(--base-6);
|
|
74
|
+
border-radius: var(--radius-2);
|
|
75
|
+
overflow: hidden;
|
|
76
|
+
|
|
77
|
+
.example-container {
|
|
78
|
+
display: flex;
|
|
79
|
+
flex-direction: column;
|
|
80
|
+
align-items: start;
|
|
81
|
+
gap: var(--space-4);
|
|
82
|
+
padding: var(--space-5);
|
|
83
|
+
}
|
|
88
84
|
|
|
89
|
-
.
|
|
85
|
+
.code-container {
|
|
90
86
|
border: none;
|
|
87
|
+
border-top: 1px solid var(--base-6);
|
|
91
88
|
border-radius: 0px;
|
|
89
|
+
|
|
90
|
+
.astro-code {
|
|
91
|
+
border: none;
|
|
92
|
+
border-radius: 0px;
|
|
93
|
+
}
|
|
92
94
|
}
|
|
93
95
|
}
|
|
94
|
-
}
|
|
95
96
|
|
|
96
|
-
|
|
97
|
-
|
|
98
|
-
|
|
99
|
-
|
|
97
|
+
&.block {
|
|
98
|
+
gap: var(--space-2);
|
|
99
|
+
padding-top: var(--space-7);
|
|
100
|
+
padding-bottom: var(--space-7);
|
|
100
101
|
|
|
101
|
-
|
|
102
|
-
|
|
103
|
-
|
|
104
|
-
|
|
105
|
-
.code-container {
|
|
106
|
-
display: none;
|
|
107
|
-
padding: 0 var(--gutter);
|
|
108
|
-
max-width: calc(100% - (2 * var(--gutter)));
|
|
109
|
-
}
|
|
102
|
+
.button-header {
|
|
103
|
+
padding: 0 var(--gutter);
|
|
104
|
+
}
|
|
110
105
|
|
|
111
|
-
|
|
112
|
-
|
|
113
|
-
|
|
114
|
-
|
|
115
|
-
|
|
106
|
+
.code-container {
|
|
107
|
+
display: none;
|
|
108
|
+
padding: 0 var(--gutter);
|
|
109
|
+
max-width: calc(100% - (2 * var(--gutter)));
|
|
110
|
+
}
|
|
116
111
|
|
|
117
|
-
|
|
118
|
-
& ~ .example-container {
|
|
112
|
+
.window-toggle {
|
|
119
113
|
display: none;
|
|
114
|
+
visibility: hidden;
|
|
115
|
+
opacity: 0;
|
|
120
116
|
}
|
|
121
|
-
|
|
122
|
-
|
|
117
|
+
|
|
118
|
+
.window-toggle:checked {
|
|
119
|
+
& ~ .example-container {
|
|
120
|
+
display: none;
|
|
121
|
+
}
|
|
122
|
+
& ~ .code-container {
|
|
123
|
+
display: block;
|
|
124
|
+
}
|
|
123
125
|
}
|
|
124
|
-
}
|
|
125
126
|
|
|
126
|
-
|
|
127
|
-
|
|
128
|
-
|
|
127
|
+
.example-container {
|
|
128
|
+
border-top: 1px solid var(--base-6);
|
|
129
|
+
width: 100%;
|
|
130
|
+
}
|
|
129
131
|
}
|
|
130
132
|
}
|
|
131
133
|
}
|
|
@@ -2,6 +2,7 @@
|
|
|
2
2
|
seo:
|
|
3
3
|
title: Fulldev UI - Astro component and block library, open-source
|
|
4
4
|
description: Make websites rapidly with pre-built components and blocks.
|
|
5
|
+
image: /images/og-image.png
|
|
5
6
|
|
|
6
7
|
sections:
|
|
7
8
|
hero:
|
|
@@ -9,7 +10,7 @@ sections:
|
|
|
9
10
|
color: brand
|
|
10
11
|
badge:
|
|
11
12
|
as: a
|
|
12
|
-
text: We just released
|
|
13
|
+
text: We just released our biggest update yet 🎉
|
|
13
14
|
href: https://discord.gg/vXZqMbadm8
|
|
14
15
|
heading: The Astro UI library to build content sites
|
|
15
16
|
text: Make websites with prebuilt components and blocks
|
|
@@ -38,7 +39,7 @@ sections:
|
|
|
38
39
|
_bookshop_name: Content
|
|
39
40
|
color: brand
|
|
40
41
|
label: Components
|
|
41
|
-
heading: Or
|
|
42
|
+
heading: Or build your own, with easy to use components
|
|
42
43
|
text: our rich set of components make it easy to build your own blocks with great customizability through props and global theming.
|
|
43
44
|
image: /images/component-code.png
|
|
44
45
|
reverse: odd
|
|
@@ -4,6 +4,7 @@ settings: components
|
|
|
4
4
|
---
|
|
5
5
|
|
|
6
6
|
# Frameworks
|
|
7
|
+
|
|
7
8
|
Fulldev UI is written in vanilla CSS and .astro files. It is framework agnostic.
|
|
8
9
|
|
|
9
10
|
## JS frameworks
|
|
@@ -13,7 +14,6 @@ All styles in Fulldev UI use regular CSS and classes. Classes use the following
|
|
|
13
14
|
- Component classes are the same as the component name, like `button` for `<Button>`.
|
|
14
15
|
- Prop classes have the prop name as prefix, like `variant-primary` for `<Button variant="primary">`.
|
|
15
16
|
- If a prop is a boolean the class is added without a prefix, like `contrast`.
|
|
16
|
-
- To prevent conflicts, all styles only apply if there is a `full` class on the element too.
|
|
17
17
|
|
|
18
18
|
This means you can apply Fulldev UI styles to any framework component as follows:
|
|
19
19
|
|
|
@@ -22,7 +22,7 @@ This means you can apply Fulldev UI styles to any framework component as follows
|
|
|
22
22
|
import Button from 'fulldev-ui/components/Button.astro'
|
|
23
23
|
---
|
|
24
24
|
|
|
25
|
-
<a class="
|
|
25
|
+
<a class="button variant-primary contrast radius-auto"> Button </a>
|
|
26
26
|
<Button contrast> Button </Button>
|
|
27
27
|
```
|
|
28
28
|
|
|
@@ -47,16 +47,6 @@ export default defineConfig({
|
|
|
47
47
|
|
|
48
48
|
In your `uno.config.ts` add the following:
|
|
49
49
|
|
|
50
|
-
```ts
|
|
51
|
-
// uno.config.ts
|
|
52
|
-
import fulldevUI from 'fulldev-ui/unocss'
|
|
53
|
-
|
|
54
|
-
export default defineConfig({
|
|
55
|
-
presets: [fulldevUI],
|
|
56
|
-
})
|
|
57
|
-
```
|
|
58
|
-
|
|
59
|
-
|
|
60
50
|
```ts
|
|
61
51
|
// uno.config.ts
|
|
62
52
|
import fulldevUI from 'fulldev-ui/unocss'
|
|
@@ -72,9 +62,10 @@ The following classes are available when using the Tailwind plugin or UnoCSS pre
|
|
|
72
62
|
|
|
73
63
|
### Spacing
|
|
74
64
|
|
|
75
|
-
The following spacing classes are added to your tailwind/uno config.
|
|
65
|
+
The following spacing classes are added to your tailwind/uno config.
|
|
76
66
|
|
|
77
67
|
You can use them like `p-space-1`, `m-space-1`, `h-space-1`, `w-space-1`, etc.
|
|
68
|
+
|
|
78
69
|
```ts
|
|
79
70
|
spacing: {
|
|
80
71
|
'space-1': 'var(--space-1)',
|
|
@@ -89,7 +80,7 @@ spacing: {
|
|
|
89
80
|
|
|
90
81
|
### Font size
|
|
91
82
|
|
|
92
|
-
The following spacing classes are added to your tailwind/uno config.
|
|
83
|
+
The following spacing classes are added to your tailwind/uno config.
|
|
93
84
|
|
|
94
85
|
You can use them like `text-1`, `text-2`, `text-3`, etc.
|
|
95
86
|
|
|
@@ -108,7 +99,7 @@ fontSize: {
|
|
|
108
99
|
|
|
109
100
|
### Border radius
|
|
110
101
|
|
|
111
|
-
The following border radius classes are added to your tailwind/uno config.
|
|
102
|
+
The following border radius classes are added to your tailwind/uno config.
|
|
112
103
|
|
|
113
104
|
You can use them like `rounded-1`, `rounded-2`, `rounded-3`, etc.
|
|
114
105
|
|
|
@@ -122,7 +113,7 @@ borderRadius: {
|
|
|
122
113
|
|
|
123
114
|
### Color classes
|
|
124
115
|
|
|
125
|
-
The following color classes are added to your tailwind/uno config.
|
|
116
|
+
The following color classes are added to your tailwind/uno config.
|
|
126
117
|
|
|
127
118
|
You can use them like `bg-color-1`, `text-base-2`, `border-base-6`, etc.
|
|
128
119
|
|
|
@@ -177,4 +168,4 @@ colors: {
|
|
|
177
168
|
background: 'var(--color-brand-background)',
|
|
178
169
|
}
|
|
179
170
|
}
|
|
180
|
-
```
|
|
171
|
+
```
|
package/src/css/custom.css
CHANGED