arekui 1.0.2 → 2.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 (98) hide show
  1. package/CHANGELOG.md +49 -0
  2. package/README.md +16 -188
  3. package/arekui.css +3018 -367
  4. package/arekui.d.ts +47 -47
  5. package/arekui.js +402 -35
  6. package/assets/img/grunge-wall-texture-freepick-kues1.webp +0 -0
  7. package/assets/img/logo.png +0 -0
  8. package/dist/css/arekui.base.min.css +1 -0
  9. package/dist/css/arekui.broadsheet.min.css +1 -0
  10. package/dist/css/arekui.brutalist.min.css +1 -0
  11. package/dist/css/arekui.default.min.css +1 -0
  12. package/dist/css/arekui.full.min.css +1 -0
  13. package/dist/css/arekui.min.css +1 -0
  14. package/dist/css/arekui.neo.min.css +1 -0
  15. package/dist/css/arekui.pixel.min.css +1 -0
  16. package/dist/js/arekui.min.js +2 -0
  17. package/package.json +14 -9
  18. package/scripts/build-css.js +95 -0
  19. package/scripts/build-custom.js +65 -96
  20. package/scripts/build-js.js +68 -0
  21. package/scripts/clean.js +13 -0
  22. package/scripts/dev.js +97 -0
  23. package/scripts/imports.js +18 -0
  24. package/scripts/split.js +256 -0
  25. package/src/arekui.base.css +63 -0
  26. package/src/arekui.broadsheet.css +6 -0
  27. package/src/arekui.brutalist.css +8 -0
  28. package/src/arekui.core.css +64 -0
  29. package/src/arekui.css +73 -56
  30. package/src/arekui.default.css +6 -0
  31. package/src/arekui.neo.css +8 -0
  32. package/src/arekui.pixel.css +8 -0
  33. package/src/base/brutalist-overrides.css +254 -0
  34. package/src/base/neo-overrides.css +46 -31
  35. package/src/base/pixel-overrides.css +336 -0
  36. package/src/base/reset.css +118 -4
  37. package/src/base/theme-brutalist.css +111 -0
  38. package/src/base/theme-default.css +184 -0
  39. package/src/base/theme-neo.css +108 -0
  40. package/src/base/theme-pixel.css +111 -0
  41. package/src/base/tokens.css +10 -253
  42. package/src/components/accordion.css +1 -2
  43. package/src/components/alert.css +1 -2
  44. package/src/components/badge.css +1 -2
  45. package/src/components/breadcrumb.css +2 -3
  46. package/src/components/broadsheet.css +264 -0
  47. package/src/components/button.css +3 -2
  48. package/src/components/card.css +1 -2
  49. package/src/components/carousel.css +37 -1
  50. package/src/components/chat.css +5 -4
  51. package/src/components/description-list.css +34 -0
  52. package/src/components/docs.css +252 -0
  53. package/src/components/empty.css +36 -0
  54. package/src/components/file-upload.css +2 -3
  55. package/src/components/footer.css +16 -1
  56. package/src/components/forms.css +1 -2
  57. package/src/components/heading.css +27 -0
  58. package/src/components/hero.css +1 -2
  59. package/src/components/join.css +1 -2
  60. package/src/components/kbd.css +15 -0
  61. package/src/components/link.css +2 -3
  62. package/src/components/loading.css +109 -0
  63. package/src/components/menu.css +51 -1
  64. package/src/components/misc.css +40 -1
  65. package/src/components/modal.css +1 -2
  66. package/src/components/navbar.css +131 -1
  67. package/src/components/pagination.css +7 -2
  68. package/src/components/popover.css +5 -6
  69. package/src/components/progress.css +1 -2
  70. package/src/components/prose.css +2 -2
  71. package/src/components/rating.css +1 -2
  72. package/src/components/scroll-top.css +2 -2
  73. package/src/components/segmented.css +44 -0
  74. package/src/components/sidebar.css +377 -0
  75. package/src/components/skeleton.css +2 -2
  76. package/src/components/spinner.css +36 -0
  77. package/src/components/swap.css +2 -2
  78. package/src/components/table.css +1 -2
  79. package/src/components/tabs.css +2 -3
  80. package/src/components/tag.css +10 -10
  81. package/src/components/textured.css +22 -2
  82. package/src/components/timeline.css +1 -2
  83. package/src/components/toast.css +2 -2
  84. package/src/components/tooltip.css +1 -2
  85. package/src/utilities/borders.css +2 -2
  86. package/src/utilities/brutalist-utilities.css +49 -0
  87. package/src/utilities/colors.css +11 -3
  88. package/src/utilities/hover.css +2 -2
  89. package/src/utilities/layout.css +2 -2
  90. package/src/utilities/neo-utilities.css +2 -9
  91. package/src/utilities/pixel-utilities.css +88 -0
  92. package/src/utilities/responsive.css +7 -2
  93. package/src/utilities/sizing.css +16 -7
  94. package/src/utilities/spacing.css +5 -2
  95. package/src/utilities/typography.css +5 -2
  96. package/dist/arekui.min.css +0 -1
  97. package/dist/arekui.min.js +0 -2
  98. package/src/components/drawer.css +0 -53
@@ -0,0 +1,44 @@
1
+ /* SEGMENTED CONTROL */
2
+ .ar-segmented {
3
+ display: inline-flex;
4
+ align-items: center;
5
+ gap: var(--ar-s-1);
6
+ padding: var(--ar-s-1);
7
+ border-radius: var(--ar-radius-box);
8
+ background: var(--ar-base-200);
9
+ }
10
+ .ar-segmented-input {
11
+ position: absolute;
12
+ width: 1px;
13
+ height: 1px;
14
+ margin: -1px;
15
+ padding: 0;
16
+ overflow: hidden;
17
+ clip-path: inset(50%);
18
+ white-space: nowrap;
19
+ border: 0;
20
+ }
21
+ .ar-segmented-item {
22
+ padding: 0.5rem 1rem;
23
+ border-radius: calc(var(--ar-radius-box) - var(--ar-s-1));
24
+ color: var(--ar-gray-600);
25
+ font-family: var(--ar-font-sans);
26
+ font-size: 0.875rem;
27
+ font-weight: 600;
28
+ line-height: 1.25;
29
+ text-align: center;
30
+ white-space: nowrap;
31
+ cursor: pointer;
32
+ user-select: none;
33
+ }
34
+ .ar-segmented-item:hover {
35
+ color: var(--ar-base-content);
36
+ }
37
+ .ar-segmented-input:checked + .ar-segmented-item {
38
+ background: var(--ar-primary);
39
+ color: var(--ar-primary-content);
40
+ }
41
+ .ar-segmented-input:focus-visible + .ar-segmented-item {
42
+ outline: 2px solid var(--ar-primary);
43
+ outline-offset: 1px;
44
+ }
@@ -0,0 +1,377 @@
1
+ .ar-sidebar {
2
+ position: relative;
3
+ display: flex;
4
+ }
5
+
6
+ .ar-sidebar-toggle {
7
+ appearance: none;
8
+ position: fixed;
9
+ width: 1px;
10
+ height: 1px;
11
+ margin: -1px;
12
+ padding: 0;
13
+ border: 0;
14
+ clip-path: inset(50%);
15
+ overflow: hidden;
16
+ pointer-events: none;
17
+ }
18
+ .ar-sidebar-toggle:focus-visible {
19
+ clip-path: none;
20
+ width: auto;
21
+ height: auto;
22
+ margin: 0;
23
+ padding: 2px;
24
+ background: var(--ar-base-100);
25
+ z-index: 60;
26
+ }
27
+ .ar-sidebar-content {
28
+ flex: 1;
29
+ min-width: 0;
30
+ }
31
+ .ar-sidebar-panel {
32
+ position: fixed;
33
+ inset: 0;
34
+
35
+ z-index: 90;
36
+ visibility: hidden;
37
+ pointer-events: none;
38
+ }
39
+ .ar-sidebar-panel > * {
40
+ visibility: visible;
41
+ }
42
+ .ar-sidebar-overlay {
43
+ position: absolute;
44
+ inset: 0;
45
+ background: rgb(0 0 0 / 0.5);
46
+ cursor: pointer;
47
+ opacity: 0;
48
+ transition: opacity 0.3s;
49
+ }
50
+ .ar-sidebar-panel > .ar-menu {
51
+ position: absolute;
52
+ inset: 0 auto 0 0;
53
+ width: min(20rem, 85vw);
54
+ height: 100%;
55
+ overflow-y: auto;
56
+ background: var(--ar-base-100);
57
+ transform: translateX(-100%);
58
+ transition: transform 0.3s ease;
59
+ }
60
+ .ar-sidebar-panel-end > .ar-menu {
61
+ inset: 0 0 0 auto;
62
+ transform: translateX(100%);
63
+ }
64
+ .ar-sidebar-toggle:checked ~ .ar-sidebar-panel {
65
+ visibility: visible;
66
+ pointer-events: auto;
67
+ }
68
+ .ar-sidebar-toggle:checked ~ .ar-sidebar-panel .ar-sidebar-overlay {
69
+ opacity: 1;
70
+ }
71
+ .ar-sidebar-toggle:checked ~ .ar-sidebar-panel > .ar-menu {
72
+ transform: none;
73
+ }
74
+
75
+ .ar-sidebar-actions {
76
+ display: flex;
77
+ align-items: center;
78
+ gap: var(--ar-s-2);
79
+ }
80
+ .ar-sidebar-burger {
81
+ display: inline-flex;
82
+ align-items: center;
83
+ justify-content: center;
84
+ padding: var(--ar-s-2);
85
+ border: 0;
86
+ background: transparent;
87
+ color: inherit;
88
+ cursor: pointer;
89
+ }
90
+ .ar-sidebar-head {
91
+ display: flex;
92
+ align-items: center;
93
+ justify-content: space-between;
94
+ gap: var(--ar-s-2);
95
+ margin-bottom: var(--ar-s-3);
96
+ padding-bottom: var(--ar-s-3);
97
+ border-bottom: 1px solid var(--ar-base-300);
98
+ }
99
+ .ar-sidebar-head .ar-navbar-brand {
100
+ padding: 0;
101
+ }
102
+ .ar-sidebar-title {
103
+ margin: var(--ar-s-4) var(--ar-s-2) 0;
104
+ font-size: 0.7rem;
105
+ font-weight: 700;
106
+ letter-spacing: 0.08em;
107
+ text-transform: uppercase;
108
+ color: var(--ar-gray-600);
109
+ }
110
+ .ar-sidebar-title:first-child {
111
+ margin-top: 0;
112
+ }
113
+ .ar-sidebar-title-sub {
114
+ margin-top: var(--ar-s-3);
115
+ font-size: 0.65rem;
116
+ font-weight: 600;
117
+ letter-spacing: 0.06em;
118
+ color: var(--ar-gray-600);
119
+ }
120
+ .ar-sidebar-theme {
121
+ display: flex;
122
+ flex-wrap: wrap;
123
+ gap: var(--ar-s-2);
124
+ margin-bottom: var(--ar-s-3);
125
+ }
126
+ .ar-sidebar-theme .ar-btn {
127
+ flex: 1 1 auto;
128
+ }
129
+ @media (min-width: 1024px) {
130
+ .ar-sidebar .ar-sidebar-head,
131
+ .ar-sidebar .ar-sidebar-theme,
132
+ .ar-sidebar .ar-search {
133
+ display: none;
134
+ }
135
+ }
136
+ .ar-sidebar-collapse-toggle {
137
+ appearance: none;
138
+ position: absolute;
139
+ width: 1px;
140
+ height: 1px;
141
+ margin: -1px;
142
+ padding: 0;
143
+ border: 0;
144
+ clip-path: inset(50%);
145
+ overflow: hidden;
146
+ pointer-events: none;
147
+ }
148
+ .ar-sidebar-collapse-toggle:focus-visible {
149
+ clip-path: none;
150
+ width: auto;
151
+ height: auto;
152
+ margin: 0;
153
+ padding: 2px;
154
+ background: var(--ar-base-100);
155
+ z-index: 60;
156
+ }
157
+ .ar-sidebar-collapse-btn {
158
+ display: none;
159
+ align-items: center;
160
+ justify-content: center;
161
+ padding: var(--ar-s-2);
162
+ border: 0;
163
+ background: transparent;
164
+ color: inherit;
165
+ cursor: pointer;
166
+ }
167
+
168
+ @media (min-width: 1024px) {
169
+ .ar-sidebar-responsive .ar-sidebar-toggle,
170
+ .ar-sidebar-compact .ar-sidebar-toggle,
171
+ .ar-sidebar-responsive [data-ar-sidebar-toggle],
172
+ .ar-sidebar-compact [data-ar-sidebar-toggle] {
173
+ display: none;
174
+ }
175
+ .ar-sidebar-responsive .ar-sidebar-panel,
176
+ .ar-sidebar-compact .ar-sidebar-panel {
177
+ position: static;
178
+ visibility: visible;
179
+ pointer-events: auto;
180
+ z-index: auto;
181
+ inset: auto;
182
+ flex: 0 0 auto;
183
+ }
184
+ .ar-sidebar-responsive .ar-sidebar-overlay,
185
+ .ar-sidebar-compact .ar-sidebar-overlay {
186
+ display: none;
187
+ }
188
+ .ar-sidebar-responsive .ar-sidebar-panel > .ar-menu,
189
+ .ar-sidebar-compact .ar-sidebar-panel > .ar-menu {
190
+ position: static;
191
+ transform: none;
192
+ width: 16rem;
193
+ height: auto;
194
+ max-height: none;
195
+ overflow-y: visible;
196
+ background: transparent;
197
+ border-right: var(--ar-border-width) solid var(--ar-base-300);
198
+ }
199
+ .ar-sidebar-compact .ar-sidebar-collapse-btn {
200
+ display: inline-flex;
201
+ }
202
+ .ar-sidebar-compact .ar-sidebar-panel > .ar-menu {
203
+ transition: width 0.3s ease;
204
+ }
205
+ .ar-sidebar-compact .ar-sidebar-collapse-toggle:checked ~ .ar-sidebar-panel > .ar-menu {
206
+ width: 4.5rem;
207
+ }
208
+ .ar-sidebar-compact .ar-sidebar-collapse-toggle:checked ~ .ar-sidebar-panel .ar-menu-text {
209
+ position: absolute;
210
+ width: 1px;
211
+ height: 1px;
212
+ margin: -1px;
213
+ padding: 0;
214
+ overflow: hidden;
215
+ clip-path: inset(50%);
216
+ white-space: nowrap;
217
+ border: 0;
218
+ }
219
+ .ar-sidebar-compact .ar-sidebar-collapse-toggle:checked ~ .ar-sidebar-panel .ar-menu-icon {
220
+ margin-right: 0;
221
+ }
222
+ .ar-sidebar-compact .ar-sidebar-collapse-toggle:checked ~ .ar-sidebar-panel .ar-menu li > a {
223
+ text-align: center;
224
+ padding: 0.5rem var(--ar-s-2);
225
+ }
226
+ }
227
+
228
+ @media (min-width: 768px) {
229
+ .ar-sidebar-bp-md.ar-sidebar-responsive .ar-sidebar-toggle,
230
+ .ar-sidebar-bp-md.ar-sidebar-compact .ar-sidebar-toggle,
231
+ .ar-sidebar-bp-md.ar-sidebar-responsive [data-ar-sidebar-toggle],
232
+ .ar-sidebar-bp-md.ar-sidebar-compact [data-ar-sidebar-toggle] {
233
+ display: none;
234
+ }
235
+ .ar-sidebar-bp-md.ar-sidebar-responsive .ar-sidebar-panel,
236
+ .ar-sidebar-bp-md.ar-sidebar-compact .ar-sidebar-panel {
237
+ position: static;
238
+ visibility: visible;
239
+ pointer-events: auto;
240
+ z-index: auto;
241
+ inset: auto;
242
+ flex: 0 0 auto;
243
+ }
244
+ .ar-sidebar-bp-md.ar-sidebar-responsive .ar-sidebar-overlay,
245
+ .ar-sidebar-bp-md.ar-sidebar-compact .ar-sidebar-overlay {
246
+ display: none;
247
+ }
248
+ .ar-sidebar-bp-md.ar-sidebar-responsive .ar-sidebar-panel > .ar-menu,
249
+ .ar-sidebar-bp-md.ar-sidebar-compact .ar-sidebar-panel > .ar-menu {
250
+ position: static;
251
+ transform: none;
252
+ width: 16rem;
253
+ height: auto;
254
+ max-height: none;
255
+ overflow-y: visible;
256
+ background: transparent;
257
+ border-right: var(--ar-border-width) solid var(--ar-base-300);
258
+ }
259
+ .ar-sidebar-bp-md.ar-sidebar-compact .ar-sidebar-collapse-btn {
260
+ display: inline-flex;
261
+ }
262
+ .ar-sidebar-bp-md.ar-sidebar-compact .ar-sidebar-panel > .ar-menu {
263
+ transition: width 0.3s ease;
264
+ }
265
+ .ar-sidebar-bp-md.ar-sidebar-compact .ar-sidebar-collapse-toggle:checked ~ .ar-sidebar-panel > .ar-menu {
266
+ width: 4.5rem;
267
+ }
268
+ .ar-sidebar-bp-md.ar-sidebar-compact .ar-sidebar-collapse-toggle:checked ~ .ar-sidebar-panel .ar-menu-text {
269
+ position: absolute;
270
+ width: 1px;
271
+ height: 1px;
272
+ margin: -1px;
273
+ padding: 0;
274
+ overflow: hidden;
275
+ clip-path: inset(50%);
276
+ white-space: nowrap;
277
+ border: 0;
278
+ }
279
+ .ar-sidebar-bp-md.ar-sidebar-compact .ar-sidebar-collapse-toggle:checked ~ .ar-sidebar-panel .ar-menu-icon {
280
+ margin-right: 0;
281
+ }
282
+ .ar-sidebar-bp-md.ar-sidebar-compact .ar-sidebar-collapse-toggle:checked ~ .ar-sidebar-panel .ar-menu li > a {
283
+ text-align: center;
284
+ padding: 0.5rem var(--ar-s-2);
285
+ }
286
+ }
287
+
288
+ .ar-sidebar-nav {
289
+ align-items: center;
290
+ gap: var(--ar-s-4);
291
+ padding: var(--ar-s-2) var(--ar-s-4);
292
+ background: var(--ar-base-100);
293
+ border-bottom: var(--ar-border-width) solid var(--ar-base-300);
294
+ }
295
+ .ar-sidebar-nav .ar-sidebar-content {
296
+ display: flex;
297
+ align-items: center;
298
+ gap: var(--ar-s-2);
299
+ }
300
+ @media (min-width: 1024px) {
301
+ .ar-sidebar-nav .ar-sidebar-burger,
302
+ .ar-sidebar-nav .ar-sidebar-toggle,
303
+ .ar-sidebar-nav [data-ar-sidebar-toggle] {
304
+ display: none;
305
+ }
306
+ .ar-sidebar-nav .ar-sidebar-content {
307
+ flex: 0 0 auto;
308
+ }
309
+ .ar-sidebar-nav .ar-sidebar-panel {
310
+ position: static;
311
+ visibility: visible;
312
+ pointer-events: auto;
313
+ z-index: auto;
314
+ inset: auto;
315
+ flex: 1 1 auto;
316
+ }
317
+ .ar-sidebar-nav .ar-sidebar-overlay {
318
+ display: none;
319
+ }
320
+ .ar-sidebar-nav .ar-sidebar-panel > .ar-menu {
321
+ position: static;
322
+ flex-direction: row;
323
+ align-items: center;
324
+ gap: var(--ar-s-2);
325
+ width: auto;
326
+ height: auto;
327
+ max-height: none;
328
+ transform: none;
329
+ overflow: visible;
330
+ background: transparent;
331
+ padding: 0;
332
+ }
333
+ }
334
+
335
+ @media (min-width: 768px) {
336
+ .ar-sidebar-bp-md.ar-sidebar-nav .ar-sidebar-burger,
337
+ .ar-sidebar-bp-md.ar-sidebar-nav .ar-sidebar-toggle,
338
+ .ar-sidebar-bp-md.ar-sidebar-nav [data-ar-sidebar-toggle] {
339
+ display: none;
340
+ }
341
+ .ar-sidebar-bp-md.ar-sidebar-nav .ar-sidebar-content {
342
+ flex: 0 0 auto;
343
+ }
344
+ .ar-sidebar-bp-md.ar-sidebar-nav .ar-sidebar-panel {
345
+ position: static;
346
+ visibility: visible;
347
+ pointer-events: auto;
348
+ z-index: auto;
349
+ inset: auto;
350
+ flex: 1 1 auto;
351
+ }
352
+ .ar-sidebar-bp-md.ar-sidebar-nav .ar-sidebar-overlay {
353
+ display: none;
354
+ }
355
+ .ar-sidebar-bp-md.ar-sidebar-nav .ar-sidebar-panel > .ar-menu {
356
+ position: static;
357
+ flex-direction: row;
358
+ align-items: center;
359
+ gap: var(--ar-s-2);
360
+ width: auto;
361
+ height: auto;
362
+ max-height: none;
363
+ transform: none;
364
+ overflow: visible;
365
+ background: transparent;
366
+ padding: 0;
367
+ }
368
+ }
369
+ @media (prefers-reduced-motion: reduce) {
370
+ .ar-sidebar-panel > .ar-menu,
371
+ .ar-sidebar-overlay {
372
+ transition: none;
373
+ }
374
+ .ar-sidebar-compact .ar-sidebar-panel > .ar-menu {
375
+ transition: none;
376
+ }
377
+ }
@@ -1,4 +1,4 @@
1
- /* SKELETON LOADER */
1
+ /* SKELETON LOADER */
2
2
  .ar-skeleton {
3
3
  background: var(--ar-base-300);
4
4
  border-radius: var(--ar-radius-field);
@@ -51,4 +51,4 @@
51
51
  100% {
52
52
  transform: translateX(100%);
53
53
  }
54
- }
54
+ }
@@ -0,0 +1,36 @@
1
+ .ar-spinner {
2
+ display: inline-block;
3
+ width: 1.5rem;
4
+ height: 1.5rem;
5
+ border: 2px solid currentColor;
6
+ border-right-color: transparent;
7
+ border-radius: var(--ar-radius-pill);
8
+ animation: ar-spinner-spin 0.7s linear infinite;
9
+ }
10
+ .ar-spinner-sm {
11
+ width: 1rem;
12
+ height: 1rem;
13
+ }
14
+ .ar-spinner-lg {
15
+ width: 2.5rem;
16
+ height: 2.5rem;
17
+ border-width: 3px;
18
+ }
19
+ .ar-spinner-overlay {
20
+ position: absolute;
21
+ inset: 0;
22
+ display: flex;
23
+ align-items: center;
24
+ justify-content: center;
25
+ background: rgb(0 0 0 / 0.5);
26
+ color: var(--ar-gray-50);
27
+ z-index: 10;
28
+ }
29
+ .ar-spinner-overlay-fixed {
30
+ position: fixed;
31
+ }
32
+ @keyframes ar-spinner-spin {
33
+ to {
34
+ transform: rotate(360deg);
35
+ }
36
+ }
@@ -1,4 +1,4 @@
1
- /* SWAP (theme toggle) */
1
+ /* SWAP (theme toggle) */
2
2
  .ar-swap {
3
3
  position: relative;
4
4
  display: inline-flex;
@@ -42,4 +42,4 @@
42
42
  .ar-swap-rotate input:checked ~ .ar-swap-off,
43
43
  .ar-swap-rotate.ar-swap-active > .ar-swap-off {
44
44
  transform: rotate(-360deg);
45
- }
45
+ }
@@ -1,4 +1,3 @@
1
- /* TABLE */
2
1
  .ar-table {
3
2
  width: 100%;
4
3
  border-collapse: collapse;
@@ -19,4 +18,4 @@
19
18
  }
20
19
  .ar-table-hover tbody tr:hover {
21
20
  background: var(--ar-base-300);
22
- }
21
+ }
@@ -1,4 +1,3 @@
1
- /* TABS */
2
1
  .ar-tabs {
3
2
  display: flex;
4
3
  flex-wrap: wrap;
@@ -19,6 +18,6 @@
19
18
  color: var(--ar-base-content);
20
19
  }
21
20
  .ar-tab-active {
22
- color: var(--ar-primary);
21
+ color: var(--ar-primary-text);
23
22
  border-bottom-color: var(--ar-primary);
24
- }
23
+ }
@@ -1,4 +1,4 @@
1
- /* TAG / CHIP */
1
+ /* TAG / CHIP */
2
2
  .ar-tag {
3
3
  display: inline-flex;
4
4
  align-items: center;
@@ -49,28 +49,28 @@
49
49
  border: var(--ar-border-width) solid currentColor;
50
50
  }
51
51
  .ar-tag-outline.ar-tag-primary {
52
- color: var(--ar-primary);
52
+ color: var(--ar-primary-text);
53
53
  }
54
54
  .ar-tag-outline.ar-tag-secondary {
55
- color: var(--ar-secondary);
55
+ color: var(--ar-secondary-text);
56
56
  }
57
57
  .ar-tag-outline.ar-tag-accent {
58
- color: var(--ar-accent);
58
+ color: var(--ar-accent-text);
59
59
  }
60
60
  .ar-tag-outline.ar-tag-neutral {
61
- color: var(--ar-neutral);
61
+ color: var(--ar-neutral-text);
62
62
  }
63
63
  .ar-tag-outline.ar-tag-info {
64
- color: var(--ar-info);
64
+ color: var(--ar-info-text);
65
65
  }
66
66
  .ar-tag-outline.ar-tag-success {
67
- color: var(--ar-success);
67
+ color: var(--ar-success-text);
68
68
  }
69
69
  .ar-tag-outline.ar-tag-warning {
70
- color: var(--ar-warning);
70
+ color: var(--ar-warning-text);
71
71
  }
72
72
  .ar-tag-outline.ar-tag-error {
73
- color: var(--ar-error);
73
+ color: var(--ar-error-text);
74
74
  }
75
75
  .ar-tag-lg {
76
76
  padding: 0.375rem 1rem;
@@ -98,4 +98,4 @@
98
98
  }
99
99
  .ar-tag-close:hover {
100
100
  opacity: 1;
101
- }
101
+ }
@@ -1,6 +1,8 @@
1
- /* TEXTURED TEXT & ANIMATION */
1
+ /* TEXTURED TEXT & ANIMATION */
2
2
  .ar-bg-img {
3
3
  color: transparent;
4
+
5
+ background-color: var(--ar-base-content, #171717);
4
6
  background-image: var(--ar-texture);
5
7
  background-size: cover;
6
8
  -webkit-background-clip: text;
@@ -20,7 +22,7 @@
20
22
  }
21
23
  }
22
24
  .ar-animate-fade-in {
23
- animation: ar-fade-in 0.4s ease-out forwards;
25
+ animation: ar-fade-in 0.4s ease-out var(--ar-delay, 0s) backwards;
24
26
  }
25
27
  @keyframes ar-fade-in {
26
28
  from {
@@ -32,3 +34,21 @@
32
34
  transform: translateY(0);
33
35
  }
34
36
  }
37
+ .ar-reveal {
38
+ opacity: 0;
39
+ transform: translateY(1.25rem);
40
+ transition: opacity 0.6s ease-out var(--ar-delay, 0s), transform 0.6s ease-out var(--ar-delay, 0s);
41
+ }
42
+ .ar-reveal.ar-reveal-in {
43
+ opacity: 1;
44
+ transform: none;
45
+ }
46
+ @media (prefers-reduced-motion: reduce) {
47
+ .ar-reveal,
48
+ .ar-animate-fade-in {
49
+ opacity: 1;
50
+ transform: none;
51
+ transition: none;
52
+ animation: none;
53
+ }
54
+ }
@@ -1,4 +1,3 @@
1
- /* TIMELINE */
2
1
  .ar-timeline {
3
2
  display: flex;
4
3
  flex-direction: column;
@@ -31,4 +30,4 @@
31
30
  }
32
31
  .ar-timeline-item:last-child::after {
33
32
  display: none;
34
- }
33
+ }
@@ -1,4 +1,4 @@
1
- /* TOAST / SNACKBAR */
1
+ /* TOAST / SNACKBAR */
2
2
  .ar-toast-container {
3
3
  position: fixed;
4
4
  z-index: 100;
@@ -131,4 +131,4 @@
131
131
  to {
132
132
  width: 0%;
133
133
  }
134
- }
134
+ }
@@ -1,4 +1,3 @@
1
- /* TOOLTIP */
2
1
  .ar-tooltip {
3
2
  position: relative;
4
3
  }
@@ -21,4 +20,4 @@
21
20
  }
22
21
  .ar-tooltip:hover[data-tip]::after {
23
22
  opacity: 1;
24
- }
23
+ }
@@ -1,4 +1,4 @@
1
- /* UTILITIES — border, radius, shadow, position, misc */
1
+ /* UTILITIES — border, radius, shadow, position, misc */
2
2
  .ar-border {
3
3
  border: var(--ar-border-width) solid;
4
4
  }
@@ -149,4 +149,4 @@
149
149
  clip: rect(0, 0, 0, 0);
150
150
  white-space: nowrap;
151
151
  border: 0;
152
- }
152
+ }
@@ -0,0 +1,49 @@
1
+ .ar-brutalist-label {
2
+ font-family: var(--ar-font-mono);
3
+ font-size: 0.625rem;
4
+ font-weight: 700;
5
+ text-transform: uppercase;
6
+ letter-spacing: 0.1em;
7
+ color: var(--ar-gray-500);
8
+ }
9
+
10
+ .ar-brutalist-frame {
11
+ border: var(--ar-border-width) solid var(--ar-base-content);
12
+ }
13
+
14
+ .ar-brutalist-rule {
15
+ border-top: 3px solid var(--ar-base-content);
16
+ }
17
+
18
+ .ar-brutalist-primary {
19
+ background: var(--ar-primary);
20
+ color: var(--ar-primary-content);
21
+ }
22
+ .ar-brutalist-secondary {
23
+ background: var(--ar-secondary);
24
+ color: var(--ar-secondary-content);
25
+ }
26
+ .ar-brutalist-accent {
27
+ background: var(--ar-accent);
28
+ color: var(--ar-accent-content);
29
+ }
30
+ .ar-brutalist-danger {
31
+ background: var(--ar-error);
32
+ color: var(--ar-error-content);
33
+ }
34
+
35
+ .ar-brutalist-text-primary {
36
+ color: var(--ar-primary-text);
37
+ }
38
+ .ar-brutalist-text-secondary {
39
+ color: var(--ar-secondary);
40
+ }
41
+ .ar-brutalist-text-accent {
42
+ color: var(--ar-accent);
43
+ }
44
+ .ar-brutalist-text-danger {
45
+ color: var(--ar-error);
46
+ }
47
+ .ar-brutalist-text-dark {
48
+ color: var(--ar-base-content);
49
+ }