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
@@ -16,139 +16,141 @@ const { as = 'div', ...rest } = Astro.props
16
16
  </Root>
17
17
 
18
18
  <style is:global lang="scss">
19
- .prose {
20
- width: 100%;
21
- max-width: 768px;
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
- margin-top: var(--space-5);
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
- h1 {
55
- margin-top: var(--space-6);
56
- scroll-margin-top: var(--space-6);
57
- font-size: var(--text-8);
58
- }
36
+ * {
37
+ margin: 0;
38
+ }
59
39
 
60
- h2 {
61
- margin-top: var(--space-6);
62
- scroll-margin-top: var(--space-6);
63
- font-size: var(--text-7);
64
- }
40
+ p {
41
+ margin-top: var(--space-4);
42
+ }
65
43
 
66
- h3 {
67
- margin-top: var(--space-6);
68
- scroll-margin-top: var(--space-6);
69
- font-size: var(--text-6);
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
- h4 {
73
- margin-top: var(--space-5);
74
- scroll-margin-top: var(--space-5);
75
- font-size: var(--text-5);
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
- h5 {
79
- margin-top: var(--space-5);
80
- scroll-margin-top: var(--space-5);
81
- font-size: var(--text-4);
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
- h6 {
85
- margin-top: var(--space-5);
86
- scroll-margin-top: var(--space-5);
87
- font-size: var(--text-3);
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
- *:first-child {
91
- margin-top: 0;
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
- .display {
96
- display: grid;
97
- width: 100%;
98
- max-width: none;
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-2) 0;
86
+ margin-top: var(--space-5);
87
+ scroll-margin-top: var(--space-5);
88
+ font-size: var(--text-3);
89
+ }
108
90
 
109
- font: 600 var(--text-3) 'Saira';
91
+ *:first-child {
92
+ margin-top: 0;
93
+ }
94
+ }
110
95
 
111
- & + p {
112
- color: var(--hue11);
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
- table {
119
- margin: var(--space-5) 0;
120
- border: 1px solid var(--border);
121
- border-radius: var(--radius-1) !important;
122
- border-collapse: collapse;
123
- width: 100%;
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
- th {
127
- border-bottom: 1px solid var(--border);
128
- background: var(--raised-background) !important;
129
- color: var(--muted-foreground) !important;
130
- font-weight: 500 !important;
131
- font-size: var(--text-3) !important;
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
- td {
135
- color: var(--muted-foreground) !important;
136
- }
135
+ td {
136
+ color: var(--muted-foreground) !important;
137
+ }
137
138
 
138
- th,
139
- td {
140
- padding: var(--space-2);
141
- }
139
+ th,
140
+ td {
141
+ padding: var(--space-2);
142
+ }
142
143
 
143
- table a {
144
- color: var(--solid) !important;
145
- font-size: var(--text-3) !important;
146
- line-height: 1 !important;
147
- white-space: nowrap;
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
- table a:hover {
151
- text-decoration: underline;
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
- .window {
56
- display: flex;
57
- flex-direction: column;
58
- align-items: flex-start;
59
- width: 100%;
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
- .astro-code {
65
- margin: 0;
66
- background-color: var(--base-2) !important;
67
- padding: var(--space-5);
68
- }
69
- }
62
+ .code-container {
63
+ width: 100%;
70
64
 
71
- &.component {
72
- border: 1px solid var(--base-6);
73
- border-radius: var(--radius-2);
74
- overflow: hidden;
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
- .code-container {
85
- border: none;
86
- border-top: 1px solid var(--base-6);
87
- border-radius: 0px;
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
- .astro-code {
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
- &.block {
97
- gap: var(--space-2);
98
- padding-top: var(--space-7);
99
- padding-bottom: var(--space-7);
97
+ &.block {
98
+ gap: var(--space-2);
99
+ padding-top: var(--space-7);
100
+ padding-bottom: var(--space-7);
100
101
 
101
- .button-header {
102
- padding: 0 var(--gutter);
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
- .window-toggle {
112
- display: none;
113
- visibility: hidden;
114
- opacity: 0;
115
- }
106
+ .code-container {
107
+ display: none;
108
+ padding: 0 var(--gutter);
109
+ max-width: calc(100% - (2 * var(--gutter)));
110
+ }
116
111
 
117
- .window-toggle:checked {
118
- & ~ .example-container {
112
+ .window-toggle {
119
113
  display: none;
114
+ visibility: hidden;
115
+ opacity: 0;
120
116
  }
121
- & ~ .code-container {
122
- display: block;
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
- .example-container {
127
- border-top: 1px solid var(--base-6);
128
- width: 100%;
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 a big update 🎉
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 built your own, with easy to use components
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="full button variant-primary contrast radius-auto"> Button </a>
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
+ ```
@@ -5,7 +5,7 @@ settings: components
5
5
 
6
6
  # Introduction
7
7
 
8
- Fulldev UI focusses on content websites rather than applications.
8
+ Fulldev UI focuses on content websites rather than applications.
9
9
 
10
10
  ##### Build entire websites with just components
11
11
 
@@ -1,3 +1,6 @@
1
+ seo:
2
+ image: /images/og-image.png
3
+
1
4
  header:
2
5
  heading: Fulldev UI
3
6
  variant: base
@@ -47,13 +47,8 @@ mark {
47
47
  }
48
48
 
49
49
  .astro-code {
50
- margin: 0;
51
50
  border: 1px solid var(--base-6);
52
51
  border-radius: var(--radius-2);
53
52
  background-color: var(--base-2) !important;
54
53
  padding: var(--space-5);
55
54
  }
56
-
57
- a {
58
- color: var(--primary-5);
59
- }