marqy 0.0.9 → 1.0.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 (93) hide show
  1. package/.claude/settings.local.json +13 -0
  2. package/.vscode/settings.json +3 -0
  3. package/README.md +43 -12
  4. package/dist/marqy.css +131 -0
  5. package/dist/marqy.d.ts +4 -3
  6. package/dist/marqy.esm.js +1 -1
  7. package/dist/marqy.esm.js.map +1 -1
  8. package/dist/marqy.js +1 -1
  9. package/dist/marqy.js.map +1 -1
  10. package/dist/marqy.umd.js +1 -1
  11. package/dist/marqy.umd.js.map +1 -1
  12. package/examples/.astro/content-assets.mjs +1 -0
  13. package/examples/.astro/content-modules.mjs +1 -0
  14. package/examples/.astro/content.d.ts +154 -0
  15. package/examples/.astro/data-store.json +1 -0
  16. package/examples/.astro/fonts/font-akkurat-mono-500-normal-40f4e0ea0b54adc5.woff2 +0 -0
  17. package/examples/.astro/fonts/font-akkurat-mono-700-normal-b9f40f1447b587bd.woff +0 -0
  18. package/examples/.astro/fonts/font-grtsk-300-normal-8ef14ca23be6893c.woff2 +0 -0
  19. package/examples/.astro/fonts/font-grtsk-400-normal-13ba8954073ee64a.woff2 +0 -0
  20. package/examples/.astro/fonts/font-grtsk-500-normal-d214468daf16245f.woff2 +0 -0
  21. package/examples/.astro/fonts/font-grtsk-wide-500-normal-6f8c2658b9c2ba8e.woff2 +0 -0
  22. package/examples/.astro/fonts/font-grtsk-wide-700-normal-17406f09c7b68ca3.woff2 +0 -0
  23. package/examples/.astro/fonts.d.ts +4 -0
  24. package/examples/.astro/settings.json +5 -0
  25. package/examples/.astro/types.d.ts +3 -0
  26. package/examples/.yarnrc +1 -0
  27. package/examples/astro.config.mjs +101 -0
  28. package/examples/package.json +30 -0
  29. package/examples/public/apple-touch-icon.png +0 -0
  30. package/examples/public/favicon.ico +0 -0
  31. package/examples/public/favicon.svg +4 -0
  32. package/examples/public/marqy-logo.svg +35 -0
  33. package/examples/src/assets/baggu.jpg +0 -0
  34. package/examples/src/assets/bluesky.jpg +0 -0
  35. package/examples/src/assets/clams-lol.jpg +0 -0
  36. package/examples/src/assets/coconut-club-2.jpg +0 -0
  37. package/examples/src/assets/coconut-club.jpg +0 -0
  38. package/examples/src/assets/lucci.jpg +0 -0
  39. package/examples/src/assets/phila-museum.jpg +0 -0
  40. package/examples/src/assets/red-rooster.jpg +0 -0
  41. package/examples/src/assets/sanity.jpg +0 -0
  42. package/examples/src/assets/usal.jpg +0 -0
  43. package/examples/src/assets/vacation.jpg +0 -0
  44. package/examples/src/components/CopyButton.tsx +26 -0
  45. package/examples/src/components/Divider.tsx +3 -0
  46. package/examples/src/components/Footer.astro +7 -0
  47. package/examples/src/components/InUse.astro +89 -0
  48. package/examples/src/components/InUseExamples.tsx +60 -0
  49. package/examples/src/components/MarqyCredits.tsx +33 -0
  50. package/examples/src/components/MarqyHero.tsx +77 -0
  51. package/examples/src/components/MarqyInteractiveDemo.tsx +46 -0
  52. package/examples/src/components/MarqyPlayground.tsx +496 -0
  53. package/examples/src/components/MarqySpeedDemo.tsx +34 -0
  54. package/examples/src/components/MarqyVerticalDemo.tsx +44 -0
  55. package/examples/src/components/Playground.astro +11 -0
  56. package/examples/src/components/QuickStart.astro +59 -0
  57. package/examples/src/components/SectionHeadline.tsx +41 -0
  58. package/examples/src/components/Tile.tsx +32 -0
  59. package/examples/src/content.config.ts +3 -0
  60. package/examples/src/fonts/Akkurat-Mono-Bold.woff +0 -0
  61. package/examples/src/fonts/Akkurat-Mono.woff +0 -0
  62. package/examples/src/fonts/Akkurat-Mono.woff2 +0 -0
  63. package/examples/src/fonts/Grtsk-Peta-Light.woff +0 -0
  64. package/examples/src/fonts/Grtsk-Peta-Light.woff2 +0 -0
  65. package/examples/src/fonts/Grtsk-Peta-Medium.woff +0 -0
  66. package/examples/src/fonts/Grtsk-Peta-Medium.woff2 +0 -0
  67. package/examples/src/fonts/Grtsk-Peta-Regular.woff +0 -0
  68. package/examples/src/fonts/Grtsk-Peta-Regular.woff2 +0 -0
  69. package/examples/src/fonts/Grtsk-Tera-Bold.woff +0 -0
  70. package/examples/src/fonts/Grtsk-Tera-Bold.woff2 +0 -0
  71. package/examples/src/fonts/Grtsk-Tera-Medium.woff +0 -0
  72. package/examples/src/fonts/Grtsk-Tera-Medium.woff2 +0 -0
  73. package/examples/src/layouts/layout.astro +107 -0
  74. package/examples/src/lib/cn.ts +16 -0
  75. package/examples/src/lib/helpers.ts +13 -0
  76. package/examples/src/lib/hooks/useCopyText.ts +47 -0
  77. package/examples/src/pages/index.astro +56 -0
  78. package/examples/src/styles/_base.css +155 -0
  79. package/examples/src/styles/_components.css +123 -0
  80. package/examples/src/styles/_utilities.css +23 -0
  81. package/examples/src/styles/app.css +397 -0
  82. package/examples/tsconfig.json +3 -0
  83. package/examples/yarn.lock +3316 -0
  84. package/marqy.css +131 -0
  85. package/package.json +25 -11
  86. package/src/marqy.tsx +63 -53
  87. package/tsconfig.json +5 -2
  88. package/dist/marqy.modern.js +0 -2
  89. package/dist/marqy.modern.js.map +0 -1
  90. package/examples/index.css +0 -96
  91. package/examples/index.html +0 -15
  92. package/examples/index.js +0 -62
  93. package/styles.css +0 -65
@@ -0,0 +1,397 @@
1
+ @import 'tailwindcss';
2
+ @import './_base.css';
3
+ @import './_components.css';
4
+ @import './_utilities.css';
5
+ @import 'marqy/dist/marqy.css';
6
+
7
+ :root {
8
+ --astro-code-foreground: var(--color-neon);
9
+ --astro-code-background: --alpha(var(--color-white) / 10%);
10
+ --astro-code-token-constant: var(--color-white);
11
+ --astro-code-token-string: var(--color-white);
12
+ --astro-code-token-comment: --alpha(var(--color-white) / 40%);
13
+ --astro-code-token-keyword: var(--color-white);
14
+ --astro-code-token-parameter: var(--color-white);
15
+ --astro-code-token-function: var(--color-neon);
16
+ --astro-code-token-string-expression: --alpha(var(--color-white) / 60%);
17
+ --astro-code-token-punctuation: var(--color-white);
18
+ --astro-code-token-link: var(--color-purple);
19
+ }
20
+
21
+ @theme {
22
+ /* Defaults */
23
+ --spacing: 0.1rem;
24
+ --leading-*: initial;
25
+ --tracking-*: initial;
26
+ --text-*: initial;
27
+
28
+ /* Breakpoints */
29
+ --breakpoint-*: initial;
30
+ --breakpoint-xs: 480px;
31
+ --breakpoint-sm: 800px;
32
+ --breakpoint-md: 1000px;
33
+ --breakpoint-lg: 1200px;
34
+ --breakpoint-xl: 1400px;
35
+ --breakpoint-xxl: 1600px;
36
+
37
+ /* Container Sizes */
38
+ --container-*: initial;
39
+ --container-100: 10rem;
40
+ --container-200: 20rem;
41
+ --container-300: 30rem;
42
+ --container-400: 40rem;
43
+ --container-500: 50rem;
44
+ --container-600: 60rem;
45
+ --container-700: 70rem;
46
+ --container-800: 80rem;
47
+
48
+ /* Default Colors */
49
+ --color-*: initial;
50
+ --color-transparent: transparent;
51
+ --color-current: currentColor;
52
+ --color-black: #000000;
53
+ --color-white: #f1f1f1;
54
+ /* Brand Colors */
55
+ --color-neon: #ceff1a;
56
+ --color-purple: #7b2fff;
57
+ --color-red: #ff6b39;
58
+
59
+ /* Fonts */
60
+ --font-mono: var(--font-akkurat-mono), 'Courier', 'monospace';
61
+ --font-sans: var(--font-grtsk), 'Helvetica Neue', 'helvetica', 'sans-serif';
62
+ --font-headline:
63
+ var(--font-grtsk-wide), 'Helvetica Neue', 'helvetica', 'sans-serif';
64
+
65
+ --text-trim-both: trim-both;
66
+ --text-trim-start: trim-start;
67
+ --text-trim-end: trim-end;
68
+
69
+ /* Misc. */
70
+ --ease-in-out-quart: cubic-bezier(0.77, 0, 0.175, 1);
71
+
72
+ --animate-flicker-bg: flickerBackground 0.1s steps(2, end) 3 forwards;
73
+ --animate-flicker-opacity: flickerOpacity 0.1s steps(2, end) 3 forwards;
74
+ @keyframes flickerBackground {
75
+ from {
76
+ background: transparent;
77
+ }
78
+ }
79
+
80
+ @keyframes flickerOpacity {
81
+ from {
82
+ opacity: 0;
83
+ }
84
+ }
85
+
86
+ --animate-fade-in: fadeIn 0.3s linear forwards;
87
+ --animate-fade-out: fadeOut 0.3s linear forwards;
88
+ --animate-scale-up: scaleUp 20s linear both;
89
+ --animate-up-in: upIn 0.6s cubic-bezier(0.78, 0, 0.22, 1) forwards;
90
+ --animate-up-out: upOut 0.6s cubic-bezier(0.78, 0, 0.22, 1) forwards;
91
+ --animate-down-in: downIn 0.6s cubic-bezier(0.78, 0, 0.22, 1) forwards;
92
+ --animate-down-out: downOut 0.6s cubic-bezier(0.78, 0, 0.22, 1) forwards;
93
+ --animate-blink: blink 1s step-start infinite;
94
+ @keyframes blink {
95
+ 0%,
96
+ 100% {
97
+ opacity: 1;
98
+ }
99
+ 50% {
100
+ opacity: 0;
101
+ }
102
+ }
103
+ @keyframes fadeIn {
104
+ from {
105
+ opacity: 0;
106
+ }
107
+ to {
108
+ opacity: 1;
109
+ }
110
+ }
111
+ @keyframes fadeOut {
112
+ from {
113
+ opacity: 1;
114
+ }
115
+ to {
116
+ opacity: 0;
117
+ }
118
+ }
119
+ @keyframes scaleUp {
120
+ from {
121
+ transform: scale(1);
122
+ }
123
+ to {
124
+ transform: scale(1.3);
125
+ }
126
+ }
127
+ @keyframes upIn {
128
+ from {
129
+ transform: translateY(100%);
130
+ }
131
+ to {
132
+ transform: translateY(0%);
133
+ }
134
+ }
135
+ @keyframes upOut {
136
+ from {
137
+ transform: translateY(0%);
138
+ }
139
+ to {
140
+ transform: translateY(-100%);
141
+ }
142
+ }
143
+ @keyframes downIn {
144
+ from {
145
+ transform: translateY(-100%);
146
+ }
147
+ to {
148
+ transform: translateY(0%);
149
+ }
150
+ }
151
+ @keyframes downOut {
152
+ from {
153
+ transform: translateY(0%);
154
+ }
155
+ to {
156
+ transform: translateY(100%);
157
+ }
158
+ }
159
+ }
160
+
161
+ @utility text-* {
162
+ font-size: calc(var(--spacing) * --value(number));
163
+ }
164
+
165
+ @utility text-trim-* {
166
+ text-box-trim: --value(--text-trim-*, 'none');
167
+ }
168
+
169
+ @utility text-edge-* {
170
+ text-box-edge: --value(
171
+ --text-edge-*,
172
+ 'text',
173
+ 'alphabetic',
174
+ 'ideographic',
175
+ 'cap',
176
+ 'ex',
177
+ [*]
178
+ );
179
+ }
180
+
181
+ @utility leading-* {
182
+ line-height: calc(--value(number) / 100);
183
+ }
184
+
185
+ @utility tracking-* {
186
+ letter-spacing: calc(--value(number) * 0.01em);
187
+ }
188
+
189
+ @utility -tracking-* {
190
+ letter-spacing: calc((--value(number) * -1) * 0.01em);
191
+ }
192
+
193
+ @utility wght-* {
194
+ font-variation-settings: 'wght' --value(number);
195
+ }
196
+
197
+ @utility rounded-* {
198
+ border-radius: calc(--value(number) * 0.1rem);
199
+ }
200
+
201
+ @utility fade-x-* {
202
+ mask-image: linear-gradient(
203
+ 90deg,
204
+ transparent 0,
205
+ #000 calc(--value(number) * 0.1rem),
206
+ #000 calc(100% - (--value(number) * 0.1rem)),
207
+ transparent 100%
208
+ );
209
+ }
210
+ @utility fade-l-* {
211
+ mask-image: linear-gradient(
212
+ 90deg,
213
+ transparent 0,
214
+ #000 calc(--value(number) * 0.1rem),
215
+ #000 100%
216
+ );
217
+ }
218
+ @utility fade-r-* {
219
+ mask-image: linear-gradient(
220
+ 90deg,
221
+ #000 0,
222
+ #000 calc(100% - (--value(number) * 0.1rem)),
223
+ transparent 100%
224
+ );
225
+ }
226
+ @utility fade-y-* {
227
+ mask-image: linear-gradient(
228
+ 0deg,
229
+ transparent 0,
230
+ #000 calc(--value(number) * 0.1rem),
231
+ #000 calc(100% - (--value(number) * 0.1rem)),
232
+ transparent 100%
233
+ );
234
+ }
235
+ @utility fade-t-* {
236
+ mask-image: linear-gradient(
237
+ 0deg,
238
+ #000 0,
239
+ #000 calc(100% - (--value(number) * 0.1rem)),
240
+ transparent 100%
241
+ );
242
+ }
243
+ @utility fade-b-* {
244
+ mask-image: linear-gradient(
245
+ 180deg,
246
+ #000 0,
247
+ #000 calc(100% - (--value(number) * 0.1rem)),
248
+ transparent 100%
249
+ );
250
+ }
251
+
252
+ @utility fade-ease-b-* {
253
+ --fade-size: calc(--value(number) * 0.1rem);
254
+
255
+ mask-image:
256
+ linear-gradient(#000, #000),
257
+ linear-gradient(
258
+ to bottom,
259
+ hsl(0 0% 0%) 0%,
260
+ hsla(0 0% 0% / 0.987) 8.1%,
261
+ hsla(0 0% 0% / 0.951) 15.5%,
262
+ hsla(0 0% 0% / 0.896) 22.5%,
263
+ hsla(0 0% 0% / 0.825) 29%,
264
+ hsla(0 0% 0% / 0.741) 35.3%,
265
+ hsla(0 0% 0% / 0.648) 41.2%,
266
+ hsla(0 0% 0% / 0.55) 47.1%,
267
+ hsla(0 0% 0% / 0.45) 52.9%,
268
+ hsla(0 0% 0% / 0.352) 58.8%,
269
+ hsla(0 0% 0% / 0.259) 64.7%,
270
+ hsla(0 0% 0% / 0.175) 71%,
271
+ hsla(0 0% 0% / 0.104) 77.5%,
272
+ hsla(0 0% 0% / 0.049) 84.5%,
273
+ hsla(0 0% 0% / 0.013) 91.9%,
274
+ transparent 100%
275
+ );
276
+ mask-repeat: no-repeat;
277
+ mask-position:
278
+ 0 0,
279
+ bottom;
280
+ mask-size:
281
+ 100% calc(100% - var(--fade-size)),
282
+ 100% var(--fade-size);
283
+
284
+ mask-composite: add;
285
+ -webkit-mask-composite: source-over;
286
+ }
287
+
288
+ @utility fade-ease-t-* {
289
+ --fade-size: calc(--value(number) * 0.1rem);
290
+
291
+ mask-image:
292
+ linear-gradient(#000, #000),
293
+ linear-gradient(
294
+ to top,
295
+ hsl(0 0% 0%) 0%,
296
+ hsla(0 0% 0% / 0.987) 8.1%,
297
+ hsla(0 0% 0% / 0.951) 15.5%,
298
+ hsla(0 0% 0% / 0.896) 22.5%,
299
+ hsla(0 0% 0% / 0.825) 29%,
300
+ hsla(0 0% 0% / 0.741) 35.3%,
301
+ hsla(0 0% 0% / 0.648) 41.2%,
302
+ hsla(0 0% 0% / 0.55) 47.1%,
303
+ hsla(0 0% 0% / 0.45) 52.9%,
304
+ hsla(0 0% 0% / 0.352) 58.8%,
305
+ hsla(0 0% 0% / 0.259) 64.7%,
306
+ hsla(0 0% 0% / 0.175) 71%,
307
+ hsla(0 0% 0% / 0.104) 77.5%,
308
+ hsla(0 0% 0% / 0.049) 84.5%,
309
+ hsla(0 0% 0% / 0.013) 91.9%,
310
+ transparent 100%
311
+ );
312
+ mask-repeat: no-repeat;
313
+ mask-position:
314
+ 0 var(--fade-size),
315
+ top;
316
+ mask-size:
317
+ 100% calc(100% - var(--fade-size)),
318
+ 100% var(--fade-size);
319
+
320
+ mask-composite: add;
321
+ -webkit-mask-composite: source-over;
322
+ }
323
+
324
+ @utility fade-ease-l-* {
325
+ --fade-size: calc(--value(number) * 0.1rem);
326
+
327
+ mask-image:
328
+ linear-gradient(#000, #000),
329
+ linear-gradient(
330
+ to left,
331
+ hsl(0 0% 0%) 0%,
332
+ hsla(0 0% 0% / 0.987) 8.1%,
333
+ hsla(0 0% 0% / 0.951) 15.5%,
334
+ hsla(0 0% 0% / 0.896) 22.5%,
335
+ hsla(0 0% 0% / 0.825) 29%,
336
+ hsla(0 0% 0% / 0.741) 35.3%,
337
+ hsla(0 0% 0% / 0.648) 41.2%,
338
+ hsla(0 0% 0% / 0.55) 47.1%,
339
+ hsla(0 0% 0% / 0.45) 52.9%,
340
+ hsla(0 0% 0% / 0.352) 58.8%,
341
+ hsla(0 0% 0% / 0.259) 64.7%,
342
+ hsla(0 0% 0% / 0.175) 71%,
343
+ hsla(0 0% 0% / 0.104) 77.5%,
344
+ hsla(0 0% 0% / 0.049) 84.5%,
345
+ hsla(0 0% 0% / 0.013) 91.9%,
346
+ transparent 100%
347
+ );
348
+ mask-repeat: no-repeat;
349
+ mask-position:
350
+ var(--fade-size) 0,
351
+ left;
352
+ mask-size:
353
+ calc(100% - var(--fade-size)) 100%,
354
+ var(--fade-size) 100%;
355
+
356
+ mask-composite: add;
357
+ -webkit-mask-composite: source-over;
358
+ }
359
+
360
+ @utility fade-ease-r-* {
361
+ --fade-size: calc(--value(number) * 0.1rem);
362
+
363
+ mask-image:
364
+ linear-gradient(#000, #000),
365
+ linear-gradient(
366
+ to right,
367
+ hsl(0 0% 0%) 0%,
368
+ hsla(0 0% 0% / 0.987) 8.1%,
369
+ hsla(0 0% 0% / 0.951) 15.5%,
370
+ hsla(0 0% 0% / 0.896) 22.5%,
371
+ hsla(0 0% 0% / 0.825) 29%,
372
+ hsla(0 0% 0% / 0.741) 35.3%,
373
+ hsla(0 0% 0% / 0.648) 41.2%,
374
+ hsla(0 0% 0% / 0.55) 47.1%,
375
+ hsla(0 0% 0% / 0.45) 52.9%,
376
+ hsla(0 0% 0% / 0.352) 58.8%,
377
+ hsla(0 0% 0% / 0.259) 64.7%,
378
+ hsla(0 0% 0% / 0.175) 71%,
379
+ hsla(0 0% 0% / 0.104) 77.5%,
380
+ hsla(0 0% 0% / 0.049) 84.5%,
381
+ hsla(0 0% 0% / 0.013) 91.9%,
382
+ transparent 100%
383
+ );
384
+ mask-repeat: no-repeat;
385
+ mask-position:
386
+ 0 0,
387
+ right;
388
+ mask-size:
389
+ calc(100% - var(--fade-size)) 100%,
390
+ var(--fade-size) 100%;
391
+
392
+ mask-composite: add;
393
+ -webkit-mask-composite: source-over;
394
+ }
395
+
396
+ @custom-variant dark (&:where(.dark, .dark *));
397
+ @custom-variant data-checked (&[data-checked]);
@@ -0,0 +1,3 @@
1
+ {
2
+ "extends": "astro/tsconfigs/strict"
3
+ }