fulldev-ui 0.1.64

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 (82) hide show
  1. package/.astro/types.d.ts +156 -0
  2. package/README.md +29 -0
  3. package/astro.config.mjs +7 -0
  4. package/package.json +45 -0
  5. package/src/blocks/todo.md +12 -0
  6. package/src/components/_Block.astro +20 -0
  7. package/src/components/_Blocks.astro +26 -0
  8. package/src/components/_Children.astro +38 -0
  9. package/src/components/_Plural.astro +27 -0
  10. package/src/components/_Tag.astro +53 -0
  11. package/src/components/base/Badge.astro +53 -0
  12. package/src/components/base/Button.astro +85 -0
  13. package/src/components/base/Buttons.astro +15 -0
  14. package/src/components/base/Checkbox.astro +39 -0
  15. package/src/components/base/Icon.astro +46 -0
  16. package/src/components/base/Image.astro +123 -0
  17. package/src/components/base/Images.astro +15 -0
  18. package/src/components/base/Input.astro +52 -0
  19. package/src/components/base/Logo.astro +33 -0
  20. package/src/components/base/Radio.astro +38 -0
  21. package/src/components/base/Rating.astro +45 -0
  22. package/src/components/base/Select.astro +65 -0
  23. package/src/components/base/SelectOption.astro +27 -0
  24. package/src/components/base/Switch.astro +82 -0
  25. package/src/components/base/Textarea.astro +31 -0
  26. package/src/components/base/Video.astro +32 -0
  27. package/src/components/base/todo.md +8 -0
  28. package/src/components/typography/Heading.astro +41 -0
  29. package/src/components/typography/Label.astro +36 -0
  30. package/src/components/typography/Link.astro +38 -0
  31. package/src/components/typography/Links.astro +15 -0
  32. package/src/components/typography/List.astro +42 -0
  33. package/src/components/typography/ListItem.astro +30 -0
  34. package/src/components/typography/Paragraph.astro +38 -0
  35. package/src/components/typography/Tagline.astro +39 -0
  36. package/src/components/typography/_Typography.astro +28 -0
  37. package/src/components/typography/todo.md +15 -0
  38. package/src/components/utility/DecorativeBox.astro +22 -0
  39. package/src/components/utility/Head.astro +81 -0
  40. package/src/components/wrapper/Body.astro +32 -0
  41. package/src/components/wrapper/Card.astro +144 -0
  42. package/src/components/wrapper/Cards.astro +15 -0
  43. package/src/components/wrapper/Deck.astro +133 -0
  44. package/src/components/wrapper/Footer.astro +14 -0
  45. package/src/components/wrapper/Form.astro +26 -0
  46. package/src/components/wrapper/Group.astro +26 -0
  47. package/src/components/wrapper/Header.astro +76 -0
  48. package/src/components/wrapper/Main.astro +25 -0
  49. package/src/components/wrapper/Nav.astro +32 -0
  50. package/src/components/wrapper/Prose.astro +108 -0
  51. package/src/components/wrapper/Section.astro +110 -0
  52. package/src/components/wrapper/Sections.astro +15 -0
  53. package/src/components/wrapper/Writeup.astro +23 -0
  54. package/src/components/wrapper/_Wrapper.astro +333 -0
  55. package/src/components/wrapper/todo.md +20 -0
  56. package/src/content/pages/index.md +2 -0
  57. package/src/css/border.css +23 -0
  58. package/src/css/colors.css +328 -0
  59. package/src/css/font.css +15 -0
  60. package/src/css/main.css +4 -0
  61. package/src/css/reset.css +388 -0
  62. package/src/css/sizes.css +273 -0
  63. package/src/env.d.ts +2 -0
  64. package/src/index.ts +63 -0
  65. package/src/integration/integration.ts +61 -0
  66. package/src/layouts/Layout.astro +39 -0
  67. package/src/layouts/todo.md +2 -0
  68. package/src/schemas/attributesSchema.ts +125 -0
  69. package/src/schemas/htmlAttributesSchema.ts +126 -0
  70. package/src/schemas/pageSchema.ts +185 -0
  71. package/src/schemas/staticPageSchema.ts +124 -0
  72. package/src/types/Childmorphic.ts +8 -0
  73. package/src/types/Pluralmorphic.ts +7 -0
  74. package/src/utils/getAllCollections.ts +10 -0
  75. package/src/utils/getCollectionCascade.ts +33 -0
  76. package/src/utils/getPathname.ts +18 -0
  77. package/src/utils/transform/transform.ts +25 -0
  78. package/src/utils/transform/transformCasing.ts +24 -0
  79. package/src/utils/transform/transformReferences.ts +54 -0
  80. package/src/utils/transform/transformSelfs.ts +20 -0
  81. package/src/utils/transform/transformUnderscores.ts +19 -0
  82. package/tsconfig.json +6 -0
@@ -0,0 +1,20 @@
1
+ # Chores
2
+ - Apply props gutter, which controls the outer padding/margin. Now is frame: panel/fill/viewport
3
+ - Apply props spacer, which controls the margin between children. Now is always enabled, but should be optional: none, components, prose (probably not needed with prose and writeup component. This whole prop might be skipped)
4
+ - Should be renamed to 'containers', because 'layouts' are used used for collections. Or maybe 'structures'. Or we should use template for the content collections. We need a name that also fits 'Divider'.
5
+
6
+
7
+ # New components
8
+ - Prose (for articles etc. Should apply styling to non-component html elements)
9
+ - Writeup (for small content areas, like in a section. Should apply styling to non-component html elements)
10
+ - Field (for form fields with label etc. Should adapt based on the element, like horizontal for checkboxes)
11
+ - Divider (for separating with a light border)
12
+
13
+ ## Low priority
14
+ - Toast
15
+ - Modal
16
+ - Drawer
17
+ - Alert
18
+ - Tooltip
19
+ - Legal
20
+ - Banner
@@ -0,0 +1,2 @@
1
+ ---
2
+ ---
@@ -0,0 +1,23 @@
1
+ :root {
2
+ --border-radius: 1;
3
+ --full-border-width: 1px;
4
+ --full-transition: cubic-bezier(0.4, 0, 0.2, 1) 0.15s;
5
+ }
6
+
7
+ :root,
8
+ .full-compact,
9
+ .full-size-xs,
10
+ .full-size-sm,
11
+ .full-size-md,
12
+ .full-size-lg,
13
+ .full-size-xl {
14
+ --full-border-radius-1: calc(
15
+ var(--border-radius) * var(--space-element-2) * 0.25
16
+ );
17
+ --full-border-radius-2: calc(
18
+ var(--border-radius) * var(--space-element-2) * 0.5
19
+ );
20
+ --full-border-radius-3: calc(
21
+ var(--border-radius) * var(--space-element-2) * 1
22
+ );
23
+ }
@@ -0,0 +1,328 @@
1
+ :root,
2
+ .full-theme-light {
3
+ --base-background: hsl(0, 0%, 100%);
4
+ --base-hover: hsl(0, 0%, 97%);
5
+ --base-border: hsl(0, 0%, 83%);
6
+ --base-focus: hsl(0, 0%, 10%);
7
+ --base-foreground: hsl(0, 0%, 4%);
8
+
9
+ --raised-background: hsl(0, 0%, 97%);
10
+ --raised-hover: var(--base-hover);
11
+ --raised-border: var(--base-border);
12
+ --raised-focus: var(--base-focus);
13
+ --raised-foreground: var(--base-foreground);
14
+
15
+ --accent-background: var(--base-background);
16
+ --accent-hover: var(--base-hover);
17
+ --accent-border: var(--base-border);
18
+ --accent-focus: var(--base-focus);
19
+ --accent-foreground: var(--primary-background);
20
+
21
+ --muted-background: var(--base-background);
22
+ --muted-hover: var(--base-hover);
23
+ --muted-border: var(--base-border);
24
+ --muted-focus: var(--base-focus);
25
+ --muted-foreground: hsl(0, 0%, 25%);
26
+
27
+ --ghost-background: transparent;
28
+ --ghost-hover: var(--base-hover);
29
+ --ghost-border: transparent;
30
+ --ghost-focus: var(--base-focus);
31
+ --ghost-foreground: var(--base-foreground);
32
+
33
+ --outline-background: transparent;
34
+ --outline-hover: var(--hover);
35
+ --outline-border: hsl(0, 0%, 83%);
36
+ --outline-focus: var(--base-focus);
37
+ --outline-foreground: var(--base-foreground);
38
+
39
+ --secondary-background: hsl(0, 0%, 94%);
40
+ --secondary-hover: hsl(0, 0%, 92%);
41
+ --secondary-border: transparent;
42
+ --secondary-focus: var(--base-focus);
43
+ --secondary-foreground: var(--base-foreground);
44
+
45
+ --primary-background: hsl(0, 0%, 0%);
46
+ --primary-hover: hsl(0, 0%, 16%);
47
+ --primary-border: transparent;
48
+ --primary-focus: var(--base-focus);
49
+ --primary-foreground: hsl(0, 0%, 100%);
50
+
51
+ color-scheme: light;
52
+ }
53
+
54
+ .full-theme-dark,
55
+ .dark,
56
+ [data-theme='dark'] {
57
+ --base-background: #020202;
58
+ --base-hover: #101010;
59
+ --base-border: #333333;
60
+ --base-focus: #fff;
61
+ --base-foreground: #fff;
62
+
63
+ --muted-background: var(--base-background);
64
+ --muted-hover: var(--base-hover);
65
+ --muted-border: var(--base-border);
66
+ --muted-focus: var(--base-focus);
67
+ --muted-foreground: #dcdcdc;
68
+
69
+ --raised-background: #101010;
70
+ --raised-hover: var(--base-hover);
71
+ --raised-border: var(--base-border);
72
+ --raised-focus: var(--base-focus);
73
+ --raised-foreground: var(--base-foreground);
74
+
75
+ --accent-background: var(--base-background);
76
+ --accent-hover: var(--base-hover);
77
+ --accent-border: var(--base-border);
78
+ --accent-focus: var(--base-focus);
79
+ --accent-foreground: var(--primary-background);
80
+
81
+ --ghost-background: transparent;
82
+ --ghost-hover: var(--base-hover);
83
+ --ghost-border: transparent;
84
+ --ghost-focus: var(--base-focus);
85
+ --ghost-foreground: var(--base-foreground);
86
+
87
+ --outline-background: transparent;
88
+ --outline-hover: var(--hover);
89
+ --outline-border: #333333;
90
+ --outline-focus: var(--base-focus);
91
+ --outline-foreground: var(--base-foreground);
92
+
93
+ --secondary-background: #1f1f1f;
94
+ --secondary-hover: #191919;
95
+ --secondary-border: transparent;
96
+ --secondary-focus: var(--base-focus);
97
+ --secondary-foreground: var(--base-foreground);
98
+
99
+ --primary-background: #fff;
100
+ --primary-hover: #dcdcdc;
101
+ --primary-border: transparent;
102
+ --primary-focus: var(--base-focus);
103
+ --primary-foreground: var(--base-background);
104
+
105
+ color-scheme: dark;
106
+ }
107
+
108
+ /* --------------------------- */
109
+ /* Generate colors */
110
+ /* --------------------------- */
111
+
112
+ :root,
113
+ :where([class*='full-theme-']),
114
+ .full-variant-base,
115
+ .full-variant-base
116
+ *:not(
117
+ .full-variant-base,
118
+ .full-variant-base *,
119
+ .full-variant-primary,
120
+ .full-variant-primary *,
121
+ .full-variant-secondary,
122
+ .full-variant-secondary *,
123
+ .full-variant-accent,
124
+ .full-variant-accent *,
125
+ .full-variant-muted,
126
+ .full-variant-muted *,
127
+ .full-variant-ghost,
128
+ .full-variant-ghost *,
129
+ .full-variant-outline,
130
+ .full-variant-outline *,
131
+ .full-variant-raised,
132
+ .full-variant-raised *
133
+ ) {
134
+ --background: var(--base-background);
135
+ --hover: var(--base-hover);
136
+ --border: var(--base-border);
137
+ --focus: var(--base-focus);
138
+ --foreground: var(--base-foreground);
139
+ }
140
+
141
+ .full-variant-primary,
142
+ .full-variant-primary
143
+ *:not(
144
+ .full-variant-base,
145
+ .full-variant-base *,
146
+ .full-variant-primary,
147
+ .full-variant-primary *,
148
+ .full-variant-secondary,
149
+ .full-variant-secondary *,
150
+ .full-variant-accent,
151
+ .full-variant-accent *,
152
+ .full-variant-muted,
153
+ .full-variant-muted *,
154
+ .full-variant-ghost,
155
+ .full-variant-ghost *,
156
+ .full-variant-outline,
157
+ .full-variant-outline *,
158
+ .full-variant-raised,
159
+ .full-variant-raised *
160
+ ) {
161
+ --background: var(--primary-background);
162
+ --hover: var(--primary-hover);
163
+ --border: var(--primary-border);
164
+ --focus: var(--primary-focus);
165
+ --foreground: var(--primary-foreground);
166
+ }
167
+
168
+ .full-variant-secondary,
169
+ .full-variant-secondary
170
+ *:not(
171
+ .full-variant-base,
172
+ .full-variant-base *,
173
+ .full-variant-primary,
174
+ .full-variant-primary *,
175
+ .full-variant-secondary,
176
+ .full-variant-secondary *,
177
+ .full-variant-accent,
178
+ .full-variant-accent *,
179
+ .full-variant-muted,
180
+ .full-variant-muted *,
181
+ .full-variant-ghost,
182
+ .full-variant-ghost *,
183
+ .full-variant-outline,
184
+ .full-variant-outline *,
185
+ .full-variant-raised,
186
+ .full-variant-raised *
187
+ ) {
188
+ --background: var(--secondary-background);
189
+ --hover: var(--secondary-hover);
190
+ --border: var(--secondary-border);
191
+ --focus: var(--secondary-focus);
192
+ --foreground: var(--secondary-foreground);
193
+ }
194
+
195
+ .full-variant-accent,
196
+ .full-variant-accent
197
+ *:not(
198
+ .full-variant-base,
199
+ .full-variant-base *,
200
+ .full-variant-primary,
201
+ .full-variant-primary *,
202
+ .full-variant-secondary,
203
+ .full-variant-secondary *,
204
+ .full-variant-accent,
205
+ .full-variant-accent *,
206
+ .full-variant-muted,
207
+ .full-variant-muted *,
208
+ .full-variant-ghost,
209
+ .full-variant-ghost *,
210
+ .full-variant-outline,
211
+ .full-variant-outline *,
212
+ .full-variant-raised,
213
+ .full-variant-raised *
214
+ ) {
215
+ --background: var(--accent-background);
216
+ --hover: var(--accent-hover);
217
+ --border: var(--accent-border);
218
+ --focus: var(--accent-focus);
219
+ --foreground: var(--accent-foreground);
220
+ }
221
+
222
+ .full-variant-muted,
223
+ .full-variant-muted
224
+ *:not(
225
+ .full-variant-base,
226
+ .full-variant-base *,
227
+ .full-variant-primary,
228
+ .full-variant-primary *,
229
+ .full-variant-secondary,
230
+ .full-variant-secondary *,
231
+ .full-variant-accent,
232
+ .full-variant-accent *,
233
+ .full-variant-muted,
234
+ .full-variant-muted *,
235
+ .full-variant-ghost,
236
+ .full-variant-ghost *,
237
+ .full-variant-outline,
238
+ .full-variant-outline *,
239
+ .full-variant-raised,
240
+ .full-variant-raised *
241
+ ) {
242
+ --background: var(--muted-background);
243
+ --hover: var(--muted-hover);
244
+ --border: var(--muted-border);
245
+ --focus: var(--muted-focus);
246
+ --foreground: var(--muted-foreground);
247
+ }
248
+
249
+ .full-variant-ghost,
250
+ .full-variant-ghost
251
+ *:not(
252
+ .full-variant-base,
253
+ .full-variant-base *,
254
+ .full-variant-primary,
255
+ .full-variant-primary *,
256
+ .full-variant-secondary,
257
+ .full-variant-secondary *,
258
+ .full-variant-accent,
259
+ .full-variant-accent *,
260
+ .full-variant-muted,
261
+ .full-variant-muted *,
262
+ .full-variant-ghost,
263
+ .full-variant-ghost *,
264
+ .full-variant-outline,
265
+ .full-variant-outline *,
266
+ .full-variant-raised,
267
+ .full-variant-raised *
268
+ ) {
269
+ --background: var(--ghost-background);
270
+ --hover: var(--ghost-hover);
271
+ --border: var(--ghost-border);
272
+ --focus: var(--ghost-focus);
273
+ --foreground: var(--ghost-foreground);
274
+ }
275
+
276
+ .full-variant-outline,
277
+ .full-variant-outline
278
+ *:not(
279
+ .full-variant-base,
280
+ .full-variant-base *,
281
+ .full-variant-primary,
282
+ .full-variant-primary *,
283
+ .full-variant-secondary,
284
+ .full-variant-secondary *,
285
+ .full-variant-accent,
286
+ .full-variant-accent *,
287
+ .full-variant-muted,
288
+ .full-variant-muted *,
289
+ .full-variant-ghost,
290
+ .full-variant-ghost *,
291
+ .full-variant-outline,
292
+ .full-variant-outline *,
293
+ .full-variant-raised,
294
+ .full-variant-raised *
295
+ ) {
296
+ --background: var(--outline-background);
297
+ --hover: var(--outline-hover);
298
+ --border: var(--outline-border);
299
+ --focus: var(--outline-focus);
300
+ --foreground: var(--outline-foreground);
301
+ }
302
+
303
+ .full-variant-raised,
304
+ .full-variant-raised
305
+ *:not(
306
+ .full-variant-base,
307
+ .full-variant-base *,
308
+ .full-variant-primary,
309
+ .full-variant-primary *,
310
+ .full-variant-secondary,
311
+ .full-variant-secondary *,
312
+ .full-variant-accent,
313
+ .full-variant-accent *,
314
+ .full-variant-muted,
315
+ .full-variant-muted *,
316
+ .full-variant-ghost,
317
+ .full-variant-ghost *,
318
+ .full-variant-outline,
319
+ .full-variant-outline *,
320
+ .full-variant-raised,
321
+ .full-variant-raised *
322
+ ) {
323
+ --background: var(--raised-background);
324
+ --hover: var(--raised-hover);
325
+ --border: var(--raised-border);
326
+ --focus: var(--raised-focus);
327
+ --foreground: var(--raised-foreground);
328
+ }
@@ -0,0 +1,15 @@
1
+ :root {
2
+ --full-font-family: 'IBM Plex Sans', sans-serif;
3
+ --full-font-weight: 400;
4
+
5
+ --full-heading-font-family: var(--full-font-family);
6
+ --full-heading-font-weight: 700;
7
+
8
+ --full-button-font-family: var(--full-font-family);
9
+ --full-button-font-weight: 500;
10
+ }
11
+
12
+ .full-density-compact {
13
+ --full-heading-font-family: var(--full-font-family);
14
+ --full-heading-font-weight: 600;
15
+ }
@@ -0,0 +1,4 @@
1
+ @import './sizes.css';
2
+ @import './colors.css';
3
+ @import './border.css';
4
+ @import './font.css';