fulldev-ui 0.2.12 → 0.3.0-beta.1

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 (102) hide show
  1. package/.astro/settings.json +5 -0
  2. package/.astro/types.d.ts +3 -12
  3. package/.env +1 -0
  4. package/astro.config.mjs +1 -2
  5. package/package.json +4 -7
  6. package/src/_archive/Childmorphic.ts +8 -0
  7. package/src/_archive/getAllCollections.ts +10 -0
  8. package/src/_archive/getCollectionCascade.ts +33 -0
  9. package/src/_archive/getPathname.ts +18 -0
  10. package/src/_archive/staticPageSchema.ts +124 -0
  11. package/src/_archive/transform/transform.ts +25 -0
  12. package/src/_archive/transform/transformCasing.ts +24 -0
  13. package/src/_archive/transform/transformReferences.ts +54 -0
  14. package/src/_archive/transform/transformSelfs.ts +20 -0
  15. package/src/_archive/transform/transformUnderscores.ts +19 -0
  16. package/src/components/_Block.astro +2 -0
  17. package/src/components/{_Tag.astro → _Component.astro} +18 -9
  18. package/src/components/{segment → _archive}/Body.astro +7 -5
  19. package/src/components/{segment → _archive}/Main.astro +4 -4
  20. package/src/components/{segment → _archive}/Nav.astro +5 -5
  21. package/src/components/{structure → _archive}/Row.astro +4 -4
  22. package/src/components/_todo/Footer.astro +66 -0
  23. package/src/components/{segment → _todo}/Form.astro +6 -6
  24. package/src/components/{segment → _todo}/Prose.astro +20 -20
  25. package/src/components/{segment → _todo}/Writeup.astro +4 -4
  26. package/src/components/{segment → _todo}/todo.md +3 -1
  27. package/src/components/base/Badge.astro +6 -6
  28. package/src/components/base/Button.astro +37 -28
  29. package/src/components/base/Checkbox.astro +3 -4
  30. package/src/components/base/Icon.astro +5 -5
  31. package/src/components/base/Image.astro +19 -52
  32. package/src/components/base/Input.astro +12 -7
  33. package/src/components/base/Logo.astro +4 -4
  34. package/src/components/base/Radio.astro +3 -4
  35. package/src/components/base/Rating.astro +5 -5
  36. package/src/components/base/Select.astro +6 -6
  37. package/src/components/base/SelectOption.astro +1 -1
  38. package/src/components/base/Switch.astro +8 -7
  39. package/src/components/base/Textarea.astro +4 -3
  40. package/src/components/segment/Box.astro +41 -0
  41. package/src/components/segment/Card.astro +21 -35
  42. package/src/components/segment/Deck.astro +20 -16
  43. package/src/components/{structure → segment}/Group.astro +8 -7
  44. package/src/components/segment/Header.astro +18 -7
  45. package/src/components/segment/Section.astro +39 -37
  46. package/src/components/typography/Heading.astro +24 -26
  47. package/src/components/typography/Label.astro +17 -11
  48. package/src/components/typography/Link.astro +5 -5
  49. package/src/components/typography/List.astro +9 -6
  50. package/src/components/typography/ListItem.astro +5 -5
  51. package/src/components/typography/Paragraph.astro +17 -11
  52. package/src/components/typography/Tagline.astro +6 -5
  53. package/src/components/typography/Text.astro +40 -0
  54. package/src/{layouts → components/utility}/Layout.astro +6 -6
  55. package/src/content/config.ts +14 -0
  56. package/src/content/pages/index.md +1 -0
  57. package/src/css/color.css +88 -0
  58. package/src/css/props/align.scss +20 -0
  59. package/src/css/props/frame.scss +153 -0
  60. package/src/css/props/mask +1 -0
  61. package/src/css/props/position.scss +33 -0
  62. package/src/css/props/ratio +1 -0
  63. package/src/css/props/structure.scss +228 -0
  64. package/src/css/props/variant.scss +130 -0
  65. package/src/css/radix.css +281 -0
  66. package/src/css/size.css +334 -0
  67. package/src/css/styles.css +2 -2
  68. package/src/index.ts +13 -34
  69. package/src/integration/integration.ts +45 -0
  70. package/src/schemas/collection.ts +87 -0
  71. package/src/blocks/todo.md +0 -12
  72. package/src/components/_Plural.astro +0 -27
  73. package/src/components/base/Buttons.astro +0 -15
  74. package/src/components/base/Images.astro +0 -15
  75. package/src/components/segment/Footer.astro +0 -14
  76. package/src/components/structure/Bento.astro +0 -35
  77. package/src/components/structure/Carousel.astro +0 -43
  78. package/src/components/structure/Grid.astro +0 -30
  79. package/src/components/structure/Masonry.astro +0 -39
  80. package/src/components/structure/Split.astro +0 -41
  81. package/src/components/structure/Spread.astro +0 -48
  82. package/src/components/structure/Stack.astro +0 -90
  83. package/src/components/structure/todo.md +0 -5
  84. package/src/css/colors.css +0 -197
  85. package/src/css/main.css +0 -3
  86. package/src/css/sizes.css +0 -217
  87. package/src/layouts/todo.md +0 -2
  88. package/src/schemas/attributesSchema.ts +0 -125
  89. package/src/schemas/htmlAttributesSchema.ts +0 -126
  90. package/src/schemas/pageSchema.ts +0 -185
  91. package/src/schemas/staticPageSchema.ts +0 -124
  92. package/src/types/Childmorphic.ts +0 -8
  93. package/src/types/Pluralmorphic.ts +0 -7
  94. package/src/types/Structuremorphic.ts +0 -18
  95. package/src/utils/getAllCollections.ts +0 -10
  96. package/src/utils/getCollectionCascade.ts +0 -33
  97. package/src/utils/getPathname.ts +0 -18
  98. package/src/utils/transform/transform.ts +0 -25
  99. package/src/utils/transform/transformCasing.ts +0 -24
  100. package/src/utils/transform/transformReferences.ts +0 -54
  101. package/src/utils/transform/transformSelfs.ts +0 -20
  102. package/src/utils/transform/transformUnderscores.ts +0 -19
@@ -1,43 +0,0 @@
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>
@@ -1,30 +0,0 @@
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>
@@ -1,39 +0,0 @@
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>
@@ -1,41 +0,0 @@
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>
@@ -1,48 +0,0 @@
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>
@@ -1,90 +0,0 @@
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>
@@ -1,5 +0,0 @@
1
- # Components
2
- - Pile
3
- - Join
4
-
5
- # Chores
@@ -1,197 +0,0 @@
1
- :root,
2
- .theme-light [data-theme='light'] {
3
- --base-background: hsl(223, 54%, 98%);
4
- --base-hover: hsl(223, 16%, 93%);
5
- --base-border: hsl(223, 16%, 87%);
6
- --base-focus: hsl(223, 16%, 9%);
7
- --base-foreground: hsl(223, 10%, 3%);
8
-
9
- --secondary-background: hsl(223, 20%, 90%);
10
- --secondary-hover: hsl(223, 20%, 92%);
11
- --secondary-foreground: var(--base-foreground);
12
-
13
- --primary-background: hsl(223, 20%, 9%);
14
- --primary-hover: hsl(223, 20%, 16%);
15
- --primary-foreground: var(--base-background);
16
-
17
- --outline-border: hsl(223, 16%, 85%);
18
- --muted-foreground: hsl(223, 16%, 22%);
19
- --raised-background: hsl(223, 38%, 96%);
20
- --accent-foreground: var(--primary-background);
21
-
22
- color-scheme: light;
23
- }
24
-
25
- .theme-dark,
26
- .dark,
27
- [data-theme='dark'] {
28
- --base-background: hsl(223, 54%, 5%);
29
- --base-hover: hsl(223, 20%, 10%);
30
- --base-border: hsl(223, 16%, 20%);
31
- --base-focus: hsl(223, 16%, 100%);
32
- --base-foreground: hsl(223, 10%, 100%);
33
-
34
- --secondary-background: hsl(223, 20%, 15%);
35
- --secondary-hover: hsl(223, 20%, 13%);
36
- --secondary-foreground: var(--base-foreground);
37
-
38
- --primary-background: hsl(223, 16%, 100%);
39
- --primary-hover: hsl(223, 16%, 90%);
40
- --primary-foreground: var(--base-background);
41
-
42
- --outline-border: hsl(223, 16%, 26%);
43
- --muted-foreground: hsl(223, 16%, 86%);
44
- --raised-background: hsl(223, 36%, 7%);
45
-
46
- color-scheme: dark;
47
- }
48
- /* More neutral color theme. Used in < 0.2 */
49
- /* :root,
50
- .theme-light {
51
- --base-background: hsl(0, 0%, 100%);
52
- --base-hover: hsl(223, 16%, 97%);
53
- --base-border: hsl(223, 10%, 87%);
54
- --base-focus: hsl(223, 22%, 9%);
55
- --base-foreground: hsl(223, 22%, 5%);
56
-
57
- --secondary-background: hsl(223, 10%, 94%);
58
- --secondary-hover: hsl(223, 10%, 92%);
59
- --secondary-foreground: var(--base-foreground);
60
-
61
- --primary-background: hsl(223, 22%, 9%);
62
- --primary-hover: hsl(223, 22%, 15%);
63
- --primary-foreground: var(--base-background);
64
-
65
- --outline-border: hsl(223, 10%, 85%);
66
- --muted-foreground: hsl(223, 10%, 16%);
67
- --raised-background: var(--base-hover);
68
- --accent-foreground: var(--primary-background);
69
-
70
- color-scheme: light;
71
- } */
72
- /* .theme-dark,
73
- .dark,
74
- [data-theme='dark'] {
75
- --base-background: hsl(223, 22%, 5%);
76
- --base-hover: hsl(223, 16%, 7%);
77
- --base-border: hsl(223, 10%, 20%);
78
- --base-focus: hsl(223, 10%, 100%);
79
- --base-foreground: hsl(223, 10%, 100%);
80
-
81
- --secondary-background: hsl(223, 10%, 13%);
82
- --secondary-hover: hsl(223, 10%, 11%);
83
- --secondary-foreground: var(--base-foreground);
84
-
85
- --primary-background: hsl(223, 10%, 100%);
86
- --primary-hover: hsl(223, 10%, 90%);
87
- --primary-foreground: var(--base-background);
88
-
89
- --outline-border: hsl(223, 10%, 26%);
90
- --muted-foreground: hsl(223, 10%, 90%);
91
- --raised-background: var(--base-hover);
92
- --accent-foreground: var(--primary-background);
93
-
94
- color-scheme: dark;
95
- } */
96
-
97
- /* --------------------------- */
98
- /* Generate colors */
99
- /* --------------------------- */
100
-
101
- :where(:root),
102
- :where([class*='theme-']),
103
- .variant-base,
104
- .variant-base
105
- [class*='density-']:not(
106
- .variant-base [class*='variant-'] [class*='theme-']
107
- ):not(.variant-base[class*='variant-'][class*='theme-']) {
108
- --background: var(--base-background);
109
- --hover: var(--base-hover);
110
- --border: var(--base-border);
111
- --focus: var(--base-focus);
112
- --foreground: var(--base-foreground);
113
- }
114
-
115
- .variant-primary,
116
- .variant-primary
117
- [class*='density-']:not(
118
- .variant-primary [class*='variant-'] [class*='theme-']
119
- ):not(.variant-primary[class*='variant-'][class*='theme-']) {
120
- --background: var(--primary-background, var(--base-foreground));
121
- --hover: var(--primary-hover, var(--base-hover));
122
- --border: var(--primary-border, transparent);
123
- --focus: var(--primary-focus, var(--base-focus));
124
- --foreground: var(--primary-foreground, var(--base-background));
125
- }
126
-
127
- .variant-secondary,
128
- .variant-secondary
129
- [class*='density-']:not(
130
- .variant-secondary [class*='variant-'] [class*='theme-']
131
- ):not(.variant-secondary[class*='variant-'][class*='theme-']) {
132
- --background: var(--secondary-background, var(--base-background));
133
- --hover: var(--secondary-hover, var(--base-hover));
134
- --border: var(--secondary-border, transparent);
135
- --focus: var(--secondary-focus, var(--base-focus));
136
- --foreground: var(--secondary-foreground, var(--base-foreground));
137
- }
138
-
139
- .variant-accent,
140
- .variant-accent
141
- [class*='density-']:not(
142
- .variant-accent [class*='variant-'] [class*='theme-']
143
- ):not(.variant-accent[class*='variant-'][class*='theme-']) {
144
- --background: var(--accent-background, var(--base-background));
145
- --hover: var(--accent-hover, var(--base-hover));
146
- --border: var(--accent-border, var(--base-border));
147
- --focus: var(--accent-focus, var(--base-focus));
148
- --foreground: var(--accent-foreground, var(--base-foreground));
149
- }
150
-
151
- .variant-muted,
152
- .variant-muted
153
- [class*='density-']:not(
154
- .variant-muted [class*='variant-'] [class*='theme-']
155
- ):not(.variant-muted[class*='variant-'][class*='theme-']) {
156
- --background: var(--muted-background, var(--base-background));
157
- --hover: var(--muted-hover, var(--base-hover));
158
- --border: var(--muted-border, var(--base-border));
159
- --focus: var(--muted-focus, var(--base-focus));
160
- --foreground: var(--muted-foreground, var(--base-foreground));
161
- }
162
-
163
- .variant-ghost,
164
- .variant-ghost
165
- [class*='density-']:not(
166
- .variant-ghost [class*='variant-'] [class*='theme-']
167
- ):not(.variant-ghost[class*='variant-'][class*='theme-']) {
168
- --background: var(--ghost-background, transparent);
169
- --hover: var(--ghost-hover, var(--base-hover));
170
- --border: var(--ghost-border, transparent);
171
- --focus: var(--ghost-focus, var(--base-focus));
172
- --foreground: var(--ghost-foreground, var(--base-foreground));
173
- }
174
-
175
- .variant-outline,
176
- .variant-outline
177
- [class*='density-']:not(
178
- .variant-outline [class*='variant-'] [class*='theme-']
179
- ):not(.variant-outline[class*='variant-'][class*='theme-']) {
180
- --background: var(--outline-background, transparent);
181
- --hover: var(--outline-hover, var(--base-hover));
182
- --border: var(--outline-border, var(--base-border));
183
- --focus: var(--outline-focus, var(--base-focus));
184
- --foreground: var(--outline-foreground, var(--base-foreground));
185
- }
186
-
187
- .variant-raised,
188
- .variant-raised
189
- [class*='density-']:not(
190
- .variant-raised [class*='variant-'] [class*='theme-']
191
- ):not(.variant-raised[class*='variant-'][class*='theme-']) {
192
- --background: var(--raised-background, var(--base-background));
193
- --hover: var(--raised-hover, var(--base-hover));
194
- --border: var(--raised-border, var(--base-border));
195
- --focus: var(--raised-focus, var(--base-focus));
196
- --foreground: var(--raised-foreground, var(--base-foreground));
197
- }
package/src/css/main.css DELETED
@@ -1,3 +0,0 @@
1
- @import './sizes.css';
2
- @import './colors.css';
3
- @import './styles.css';