fulldev-ui 0.11.1 → 0.13.0

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 (166) hide show
  1. package/CHANGELOG.md +35 -0
  2. package/package.json +29 -21
  3. package/public/r/accordion.json +2 -2
  4. package/public/r/alert-dialog.json +2 -2
  5. package/public/r/aspect-ratio.json +23 -0
  6. package/public/r/attachment.json +66 -0
  7. package/public/r/banner.json +0 -4
  8. package/public/r/blocks-1.json +1 -1
  9. package/public/r/button-group.json +41 -0
  10. package/public/r/button.json +1 -1
  11. package/public/r/carousel.json +8 -8
  12. package/public/r/collapsible.json +2 -2
  13. package/public/r/combobox.json +6 -5
  14. package/public/r/command.json +5 -4
  15. package/public/r/components.json +8 -0
  16. package/public/r/dialog.json +2 -2
  17. package/public/r/doc-1.json +1 -1
  18. package/public/r/drawer.json +109 -0
  19. package/public/r/dropdown-menu.json +4 -4
  20. package/public/r/hover-card.json +4 -4
  21. package/public/r/init.json +1 -1
  22. package/public/r/input-group.json +0 -1
  23. package/public/r/layout.json +3 -0
  24. package/public/r/navigation-menu.json +3 -3
  25. package/public/r/pagination.json +59 -0
  26. package/public/r/popover.json +3 -3
  27. package/public/r/radio-group.json +2 -2
  28. package/public/r/registry.json +418 -28
  29. package/public/r/resizable.json +36 -0
  30. package/public/r/reviews-3.json +1 -1
  31. package/public/r/select.json +3 -3
  32. package/public/r/sheet.json +2 -2
  33. package/public/r/sidebar-1.json +1 -1
  34. package/public/r/sidebar.json +1 -1
  35. package/public/r/slider.json +2 -2
  36. package/public/r/switch.json +2 -2
  37. package/public/r/tabs.json +4 -4
  38. package/public/r/toast.json +80 -0
  39. package/public/r/toggle-group.json +34 -0
  40. package/public/r/toggle.json +2 -2
  41. package/public/r/tooltip.json +3 -3
  42. package/public/r/typography.json +21 -16
  43. package/registry/init/global.css +2 -0
  44. package/registry.json +384 -23
  45. package/src/components/blocks/blocks-1.astro +23 -23
  46. package/src/components/blocks/doc-1.astro +116 -26
  47. package/src/components/blocks/reviews-3.astro +1 -1
  48. package/src/components/blocks/sidebar-1.astro +46 -44
  49. package/src/components/ui/accordion/accordion.astro +8 -2
  50. package/src/components/ui/alert-dialog/alert-dialog.astro +8 -2
  51. package/src/components/ui/aspect-ratio/aspect-ratio.astro +25 -0
  52. package/src/components/ui/aspect-ratio/index.ts +1 -0
  53. package/src/components/ui/attachment/attachment-action.astro +20 -0
  54. package/src/components/ui/attachment/attachment-actions.astro +20 -0
  55. package/src/components/ui/attachment/attachment-content.astro +20 -0
  56. package/src/components/ui/attachment/attachment-description.astro +20 -0
  57. package/src/components/ui/attachment/attachment-group.astro +20 -0
  58. package/src/components/ui/attachment/attachment-media.astro +36 -0
  59. package/src/components/ui/attachment/attachment-title.astro +20 -0
  60. package/src/components/ui/attachment/attachment-trigger.astro +24 -0
  61. package/src/components/ui/attachment/attachment.astro +52 -0
  62. package/src/components/ui/attachment/index.ts +9 -0
  63. package/src/components/ui/button/button.astro +4 -1
  64. package/src/components/ui/button-group/button-group-separator.astro +29 -0
  65. package/src/components/ui/button-group/button-group-text.astro +20 -0
  66. package/src/components/ui/button-group/button-group-variants.ts +20 -0
  67. package/src/components/ui/button-group/button-group.astro +30 -0
  68. package/src/components/ui/button-group/index.ts +7 -0
  69. package/src/components/ui/carousel/carousel-content.astro +11 -13
  70. package/src/components/ui/carousel/carousel-item.astro +2 -5
  71. package/src/components/ui/carousel/carousel-next.astro +0 -3
  72. package/src/components/ui/carousel/carousel-previous.astro +0 -3
  73. package/src/components/ui/carousel/carousel.astro +19 -219
  74. package/src/components/ui/carousel/index.ts +1 -5
  75. package/src/components/ui/collapsible/collapsible.astro +8 -2
  76. package/src/components/ui/combobox/combobox-content.astro +1 -1
  77. package/src/components/ui/combobox/combobox-input.astro +11 -4
  78. package/src/components/ui/combobox/combobox-trigger.astro +7 -7
  79. package/src/components/ui/combobox/combobox.astro +9 -17
  80. package/src/components/ui/command/command-dialog.astro +1 -0
  81. package/src/components/ui/command/command.astro +40 -25
  82. package/src/components/ui/dialog/dialog.astro +8 -2
  83. package/src/components/ui/drawer/drawer-close.astro +13 -0
  84. package/src/components/ui/drawer/drawer-content.astro +43 -0
  85. package/src/components/ui/drawer/drawer-description.astro +17 -0
  86. package/src/components/ui/drawer/drawer-footer.astro +17 -0
  87. package/src/components/ui/drawer/drawer-header.astro +17 -0
  88. package/src/components/ui/drawer/drawer-indent-background.astro +11 -0
  89. package/src/components/ui/drawer/drawer-indent.astro +11 -0
  90. package/src/components/ui/drawer/drawer-overlay.astro +21 -0
  91. package/src/components/ui/drawer/drawer-popup.astro +36 -0
  92. package/src/components/ui/drawer/drawer-portal.astro +27 -0
  93. package/src/components/ui/drawer/drawer-provider.astro +11 -0
  94. package/src/components/ui/drawer/drawer-swipe-handle.astro +20 -0
  95. package/src/components/ui/drawer/drawer-title.astro +17 -0
  96. package/src/components/ui/drawer/drawer-trigger.astro +21 -0
  97. package/src/components/ui/drawer/drawer-viewport.astro +21 -0
  98. package/src/components/ui/drawer/drawer-virtual-keyboard-provider.astro +11 -0
  99. package/src/components/ui/drawer/drawer.astro +60 -0
  100. package/src/components/ui/drawer/index.ts +28 -0
  101. package/src/components/ui/dropdown-menu/dropdown-menu-content.astro +1 -1
  102. package/src/components/ui/dropdown-menu/dropdown-menu-item.astro +40 -9
  103. package/src/components/ui/dropdown-menu/dropdown-menu.astro +8 -2
  104. package/src/components/ui/hover-card/hover-card-content.astro +1 -1
  105. package/src/components/ui/hover-card/hover-card.astro +15 -4
  106. package/src/components/ui/navigation-menu/navigation-menu-positioner.astro +1 -1
  107. package/src/components/ui/navigation-menu/navigation-menu.astro +13 -4
  108. package/src/components/ui/pagination/index.ts +7 -0
  109. package/src/components/ui/pagination/pagination-content.astro +17 -0
  110. package/src/components/ui/pagination/pagination-ellipsis.astro +22 -0
  111. package/src/components/ui/pagination/pagination-item.astro +11 -0
  112. package/src/components/ui/pagination/pagination-link.astro +41 -0
  113. package/src/components/ui/pagination/pagination-next.astro +27 -0
  114. package/src/components/ui/pagination/pagination-previous.astro +27 -0
  115. package/src/components/ui/pagination/pagination.astro +19 -0
  116. package/src/components/ui/popover/popover-content.astro +2 -1
  117. package/src/components/ui/popover/popover.astro +9 -2
  118. package/src/components/ui/radio-group/radio-group.astro +8 -2
  119. package/src/components/ui/resizable/index.ts +4 -0
  120. package/src/components/ui/resizable/resizable-handle.astro +32 -0
  121. package/src/components/ui/resizable/resizable-panel.astro +36 -0
  122. package/src/components/ui/resizable/resizable.astro +43 -0
  123. package/src/components/ui/select/select-content.astro +2 -2
  124. package/src/components/ui/select/select.astro +11 -7
  125. package/src/components/ui/sheet/sheet.astro +8 -2
  126. package/src/components/ui/slider/slider.astro +9 -3
  127. package/src/components/ui/switch/switch.astro +8 -2
  128. package/src/components/ui/tabs/tabs-content.astro +1 -1
  129. package/src/components/ui/tabs/tabs-trigger.astro +3 -2
  130. package/src/components/ui/tabs/tabs.astro +8 -2
  131. package/src/components/ui/toast/index.ts +26 -0
  132. package/src/components/ui/toast/toast-action.astro +25 -0
  133. package/src/components/ui/toast/toast-close.astro +27 -0
  134. package/src/components/ui/toast/toast-content.astro +20 -0
  135. package/src/components/ui/toast/toast-description.astro +18 -0
  136. package/src/components/ui/toast/toast-icon.astro +37 -0
  137. package/src/components/ui/toast/toast-item.astro +28 -0
  138. package/src/components/ui/toast/toast-template.astro +11 -0
  139. package/src/components/ui/toast/toast-title.astro +17 -0
  140. package/src/components/ui/toast/toast-viewport.astro +20 -0
  141. package/src/components/ui/toast/toast.astro +51 -0
  142. package/src/components/ui/toast/toaster.astro +37 -0
  143. package/src/components/ui/toggle/toggle.astro +8 -2
  144. package/src/components/ui/toggle-group/index.ts +2 -0
  145. package/src/components/ui/toggle-group/toggle-group-item.astro +44 -0
  146. package/src/components/ui/toggle-group/toggle-group.astro +74 -0
  147. package/src/components/ui/tooltip/tooltip-content.astro +1 -1
  148. package/src/components/ui/tooltip/tooltip.astro +11 -2
  149. package/src/components/ui/typography/typeset.css +441 -0
  150. package/src/components/ui/typography/typography-a.astro +13 -22
  151. package/src/components/ui/typography/typography-blockquote.astro +4 -23
  152. package/src/components/ui/typography/typography-h1.astro +13 -26
  153. package/src/components/ui/typography/typography-h2.astro +13 -31
  154. package/src/components/ui/typography/typography-h3.astro +9 -26
  155. package/src/components/ui/typography/typography-h4.astro +9 -26
  156. package/src/components/ui/typography/typography-inline-code.astro +8 -27
  157. package/src/components/ui/typography/typography-lead.astro +4 -26
  158. package/src/components/ui/typography/typography-list-item.astro +4 -24
  159. package/src/components/ui/typography/typography-list.astro +10 -40
  160. package/src/components/ui/typography/typography-p.astro +9 -28
  161. package/src/components/ui/typography/typography-table-cell.astro +9 -40
  162. package/src/components/ui/typography/typography-table-head.astro +9 -35
  163. package/src/components/ui/typography/typography-table-row.astro +4 -23
  164. package/src/components/ui/typography/typography-table.astro +8 -28
  165. package/src/components/ui/typography/typography.astro +10 -283
  166. package/src/styles/global.css +2 -0
@@ -1,6 +1,8 @@
1
1
  ---
2
2
  import type { HTMLTag, Polymorphic } from "astro/types"
3
3
 
4
+ import "./typeset.css"
5
+
4
6
  import { cn } from "@/lib/utils"
5
7
 
6
8
  type Size = "sm" | "default" | "lg"
@@ -12,295 +14,20 @@ const {
12
14
  size = "default",
13
15
  ...props
14
16
  } = Astro.props
17
+
18
+ const sizeClass =
19
+ size === "sm"
20
+ ? "[--typeset-flow:1.125em] [--typeset-leading:1.7] [--typeset-size:0.875rem]"
21
+ : size === "lg"
22
+ ? "[--typeset-flow:1.5em] [--typeset-leading:1.8] [--typeset-size:1.125rem]"
23
+ : "[--typeset-flow:1.25em] [--typeset-leading:1.75] [--typeset-size:1rem]"
15
24
  ---
16
25
 
17
26
  <Tag
18
27
  data-slot="typography"
19
28
  data-size={size}
20
- class={cn("text-foreground text-base", className)}
29
+ class={cn("typeset", sizeClass, className)}
21
30
  {...props}
22
31
  >
23
32
  <slot />
24
33
  </Tag>
25
-
26
- <style is:global>
27
- @reference "@/styles/global.css";
28
-
29
- [data-slot="typography"]
30
- > :is(
31
- [data-slot="typography-lead"],
32
- [data-slot="typography-table-container"],
33
- div,
34
- section,
35
- article,
36
- aside,
37
- nav,
38
- figure,
39
- details,
40
- pre,
41
- small,
42
- dl,
43
- img,
44
- picture,
45
- video,
46
- iframe
47
- ):not(:first-child) {
48
- @apply mt-6;
49
- }
50
-
51
- [data-slot="typography"] > h1 {
52
- @apply scroll-m-20 text-4xl font-semibold tracking-tight text-balance;
53
- }
54
-
55
- [data-slot="typography"] > h2 {
56
- @apply scroll-m-20 text-3xl font-semibold tracking-tight;
57
- }
58
-
59
- [data-slot="typography"] > h2:first-child {
60
- @apply mt-0;
61
- }
62
-
63
- [data-slot="typography"] > h2:not(:first-child) {
64
- @apply mt-10;
65
- }
66
-
67
- [data-slot="typography"] > h3 {
68
- @apply scroll-m-20 text-2xl font-semibold tracking-tight;
69
- }
70
-
71
- [data-slot="typography"] > h3:not(:first-child) {
72
- @apply mt-8;
73
- }
74
-
75
- [data-slot="typography"] > h4 {
76
- @apply scroll-m-20 text-xl font-semibold tracking-tight;
77
- }
78
-
79
- [data-slot="typography"] > h4:not(:first-child) {
80
- @apply mt-8;
81
- }
82
-
83
- [data-slot="typography"]
84
- > :is(h1, h2, h3, h4)
85
- + :is(
86
- [data-slot="typography-lead"],
87
- [data-slot="typography-table-container"],
88
- div,
89
- section,
90
- article,
91
- aside,
92
- nav,
93
- figure,
94
- details,
95
- p,
96
- blockquote,
97
- pre,
98
- ul,
99
- ol,
100
- table,
101
- small,
102
- dl,
103
- img,
104
- picture,
105
- video,
106
- iframe
107
- ) {
108
- @apply mt-4;
109
- }
110
-
111
- [data-slot="typography"] > p {
112
- @apply text-base leading-7;
113
- }
114
-
115
- [data-slot="typography"] > p:not(:first-child) {
116
- @apply mt-6;
117
- }
118
-
119
- [data-slot="typography"]
120
- > :is(h1, h2, h3, h4)
121
- + :is(p, [data-slot="typography-lead"]):not(:first-child) {
122
- @apply mt-4;
123
- }
124
-
125
- [data-slot="typography"] > a:not([data-slot]),
126
- [data-slot="typography"]
127
- > :is(p, blockquote, ul, ol, dl, table)
128
- a:not([data-slot]) {
129
- @apply text-foreground font-medium underline underline-offset-4;
130
- }
131
-
132
- [data-slot="typography"] > blockquote {
133
- @apply mt-6 border-l-2 pl-6 text-base italic;
134
- }
135
-
136
- [data-slot="typography"] > hr {
137
- @apply border-border my-8;
138
- }
139
-
140
- [data-slot="typography"] > pre {
141
- @apply border-border bg-muted/60 overflow-x-auto rounded-xl border p-4 text-sm;
142
- }
143
-
144
- [data-slot="typography"] > .docs-code-block {
145
- @apply border-border bg-muted/60 relative overflow-hidden rounded-xl border;
146
- }
147
-
148
- [data-slot="typography"] > .docs-code-block > pre,
149
- [data-slot="typography"] > .docs-code-block > pre.astro-code {
150
- @apply m-0 rounded-none border-0 !bg-transparent p-4 pr-14 text-sm leading-[var(--text-sm--line-height)];
151
- font-family: var(--font-mono);
152
- }
153
-
154
- [data-slot="typography"] > .docs-code-block > pre.astro-code code {
155
- @apply text-sm leading-[var(--text-sm--line-height)] !text-[var(--shiki-light,var(--foreground))];
156
- }
157
-
158
- .dark [data-slot="typography"] > .docs-code-block > pre.astro-code code {
159
- @apply !text-[var(--shiki-dark,var(--foreground))];
160
- }
161
-
162
- .dark
163
- [data-slot="typography"]
164
- > .docs-code-block
165
- > pre.astro-code
166
- span[style*="--shiki-dark"] {
167
- @apply ![font-weight:var(--shiki-dark-font-weight,inherit)] !text-[var(--shiki-dark)] ![font-style:var(--shiki-dark-font-style,inherit)] ![text-decoration:var(--shiki-dark-text-decoration,inherit)];
168
- }
169
-
170
- [data-slot="typography"] > .docs-code-block > .docs-code-copy {
171
- @apply border-border bg-background text-muted-foreground hover:bg-accent hover:text-accent-foreground absolute top-3 right-3 z-10 inline-flex size-8 items-center justify-center rounded-md border shadow-sm transition-colors;
172
- }
173
-
174
- [data-slot="typography"] > .docs-code-block svg {
175
- @apply size-4;
176
- }
177
-
178
- [data-slot="typography"] > ul,
179
- [data-slot="typography"] > ol {
180
- @apply my-6 ml-6 text-base;
181
- }
182
-
183
- [data-slot="typography"] > ul {
184
- @apply list-disc;
185
- }
186
-
187
- [data-slot="typography"] > ol {
188
- @apply list-decimal;
189
- }
190
-
191
- [data-slot="typography"] > ul > li,
192
- [data-slot="typography"] > ol > li {
193
- @apply mt-2;
194
- }
195
-
196
- [data-slot="typography"] > [data-slot="typography-lead"] {
197
- @apply text-muted-foreground;
198
- }
199
-
200
- [data-slot="typography"][data-size="sm"] > [data-slot="typography-lead"] {
201
- @apply text-base;
202
- }
203
-
204
- [data-slot="typography"] > [data-slot="typography-lead"],
205
- [data-slot="typography"][data-size="default"]
206
- > [data-slot="typography-lead"] {
207
- @apply text-lg;
208
- }
209
-
210
- [data-slot="typography"][data-size="lg"] > [data-slot="typography-lead"] {
211
- @apply text-xl;
212
- }
213
-
214
- [data-slot="typography"] > small {
215
- @apply block leading-none font-medium;
216
- }
217
-
218
- [data-slot="typography"] > small {
219
- @apply text-sm;
220
- }
221
-
222
- [data-slot="typography"] > table {
223
- @apply border-border my-6 block w-full overflow-x-auto rounded-lg border;
224
- border-collapse: separate;
225
- border-spacing: 0;
226
- }
227
-
228
- [data-slot="typography"] > table th,
229
- [data-slot="typography"] > table td {
230
- @apply border-border border-b px-4 py-2 text-left align-top whitespace-nowrap;
231
- }
232
-
233
- [data-slot="typography"] > table th {
234
- @apply text-foreground bg-muted/40 font-medium;
235
- }
236
-
237
- [data-slot="typography"] > table tr:last-child td {
238
- @apply border-b-0;
239
- }
240
-
241
- [data-slot="typography"] > table thead,
242
- [data-slot="typography"] > table tbody,
243
- [data-slot="typography"] > table tr {
244
- @apply w-full;
245
- }
246
-
247
- [data-slot="typography"] > table tr {
248
- @apply grid grid-cols-[minmax(0,1fr)_minmax(0,1fr)_minmax(0,1fr)];
249
- }
250
-
251
- [data-slot="typography"] > table tr {
252
- @apply even:bg-muted/40 m-0 border-t p-0 first:border-t-0;
253
- }
254
-
255
- [data-slot="typography"] > table th {
256
- @apply border-r px-4 py-2 text-left font-bold last:border-r-0;
257
- }
258
-
259
- [data-slot="typography"] > table th[align="center"] {
260
- @apply text-center;
261
- }
262
-
263
- [data-slot="typography"] > table th[align="right"] {
264
- @apply text-right;
265
- }
266
-
267
- [data-slot="typography"] > table td {
268
- @apply border-r px-4 py-2 text-left last:border-r-0;
269
- }
270
-
271
- [data-slot="typography"] > table td[align="center"] {
272
- @apply text-center;
273
- }
274
-
275
- [data-slot="typography"] > table td[align="right"] {
276
- @apply text-right;
277
- }
278
-
279
- [data-slot="typography"] > table tbody tr:last-child td {
280
- @apply border-b-0;
281
- }
282
-
283
- [data-slot="typography"] :not(pre) > code {
284
- @apply bg-muted relative rounded px-[0.3rem] py-[0.2rem] font-mono text-sm font-semibold;
285
- }
286
-
287
- [data-slot="typography"] > table :not(pre) > code {
288
- @apply rounded-md text-sm leading-5 font-normal;
289
- }
290
-
291
- [data-slot="typography"] > pre.astro-code {
292
- @apply border-border !bg-muted/60 rounded-xl border p-4 text-sm leading-[var(--text-sm--line-height)];
293
- }
294
-
295
- [data-slot="typography"] > pre.astro-code code {
296
- @apply !text-inherit;
297
- }
298
-
299
- .dark [data-slot="typography"] > pre.astro-code {
300
- @apply !text-[var(--shiki-dark,var(--foreground))];
301
- }
302
-
303
- .dark [data-slot="typography"] > pre.astro-code span[style*="--shiki-dark"] {
304
- @apply ![font-weight:var(--shiki-dark-font-weight,inherit)] !text-[var(--shiki-dark)] ![font-style:var(--shiki-dark-font-style,inherit)] ![text-decoration:var(--shiki-dark-text-decoration,inherit)];
305
- }
306
- </style>
@@ -115,6 +115,8 @@
115
115
  }
116
116
 
117
117
  @theme inline {
118
+ --font-heading: var(--font-sans);
119
+
118
120
  --color-background: var(--background);
119
121
  --color-foreground: var(--foreground);
120
122
  --color-card: var(--card);