@iota-uz/sdk 0.1.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 (48) hide show
  1. package/LICENSE +201 -0
  2. package/README.MD +164 -0
  3. package/assets/fonts/Actay/Actay-Regular.otf +0 -0
  4. package/assets/fonts/Actay/Actay-RegularItalic.otf +0 -0
  5. package/assets/fonts/Actay/ActayCondensed-Thin.otf +0 -0
  6. package/assets/fonts/Actay/ActayCondensed-ThinItalic.otf +0 -0
  7. package/assets/fonts/Actay/ActayWide-Bold.otf +0 -0
  8. package/assets/fonts/Actay/ActayWide-BoldItalic.otf +0 -0
  9. package/assets/fonts/Gilroy/Gilroy-Black.woff2 +0 -0
  10. package/assets/fonts/Gilroy/Gilroy-BlackItalic.woff2 +0 -0
  11. package/assets/fonts/Gilroy/Gilroy-Bold.woff2 +0 -0
  12. package/assets/fonts/Gilroy/Gilroy-BoldItalic.woff2 +0 -0
  13. package/assets/fonts/Gilroy/Gilroy-Extrabold.woff2 +0 -0
  14. package/assets/fonts/Gilroy/Gilroy-ExtraboldItalic.woff2 +0 -0
  15. package/assets/fonts/Gilroy/Gilroy-Heavy.woff2 +0 -0
  16. package/assets/fonts/Gilroy/Gilroy-HeavyItalic.woff2 +0 -0
  17. package/assets/fonts/Gilroy/Gilroy-Light.woff2 +0 -0
  18. package/assets/fonts/Gilroy/Gilroy-LightItalic.woff2 +0 -0
  19. package/assets/fonts/Gilroy/Gilroy-Medium.woff2 +0 -0
  20. package/assets/fonts/Gilroy/Gilroy-MediumItalic.woff2 +0 -0
  21. package/assets/fonts/Gilroy/Gilroy-Regular.woff2 +0 -0
  22. package/assets/fonts/Gilroy/Gilroy-RegularItalic.woff2 +0 -0
  23. package/assets/fonts/Gilroy/Gilroy-Semibold.woff2 +0 -0
  24. package/assets/fonts/Gilroy/Gilroy-SemiboldItalic.woff2 +0 -0
  25. package/assets/fonts/Gilroy/Gilroy-Thin.woff2 +0 -0
  26. package/assets/fonts/Gilroy/Gilroy-ThinItalic.woff2 +0 -0
  27. package/assets/fonts/Gilroy/Gilroy-UltraLight.woff2 +0 -0
  28. package/assets/fonts/Gilroy/Gilroy-UltraLightItalic.woff2 +0 -0
  29. package/assets/fonts/Inter.var.woff2 +0 -0
  30. package/dist/bichat/index.cjs +3033 -0
  31. package/dist/bichat/index.cjs.map +1 -0
  32. package/dist/bichat/index.css +139 -0
  33. package/dist/bichat/index.css.map +1 -0
  34. package/dist/bichat/index.d.cts +1081 -0
  35. package/dist/bichat/index.d.ts +1081 -0
  36. package/dist/bichat/index.mjs +2959 -0
  37. package/dist/bichat/index.mjs.map +1 -0
  38. package/dist/bichat/styles.css +160 -0
  39. package/dist/index.cjs +191 -0
  40. package/dist/index.cjs.map +1 -0
  41. package/dist/index.d.cts +237 -0
  42. package/dist/index.d.ts +237 -0
  43. package/dist/index.mjs +178 -0
  44. package/dist/index.mjs.map +1 -0
  45. package/package.json +70 -0
  46. package/tailwind/create-config.cjs +142 -0
  47. package/tailwind/iota.css +1106 -0
  48. package/tailwind/main.css +2 -0
@@ -0,0 +1,1106 @@
1
+ @font-face {
2
+ font-family: "Inter";
3
+ font-style: normal;
4
+ font-display: swap;
5
+ src: url(/assets/fonts/Inter.var.woff2) format('woff2-variations');
6
+ font-weight: 1 1000;
7
+ }
8
+
9
+ @font-face {
10
+ font-family: "Gilroy";
11
+ font-style: normal;
12
+ font-display: swap;
13
+ src: url(/assets/fonts/Gilroy/Gilroy-Regular.woff2) format('woff2');
14
+ font-weight: 400;
15
+ }
16
+
17
+ @font-face {
18
+ font-family: "Gilroy";
19
+ font-style: normal;
20
+ font-display: swap;
21
+ src: url(/assets/fonts/Gilroy/Gilroy-Medium.woff2) format('woff2');
22
+ font-weight: 500;
23
+ }
24
+
25
+ @font-face {
26
+ font-family: "Gilroy";
27
+ font-style: normal;
28
+ font-display: swap;
29
+ src: url(/assets/fonts/Gilroy/Gilroy-Semibold.woff2) format('woff2');
30
+ font-weight: 600;
31
+ }
32
+
33
+ @layer base {
34
+ :root {
35
+ /* Base */
36
+ --white: 100% 0 0;
37
+ --black-800: 26% 0 0;
38
+ /* #242424 */
39
+ --black: 18.67% 0 0;
40
+ /* #131313 */
41
+ --black-950: 16.84% 0 0;
42
+ /* #151515 */
43
+ --transparent: 0 0 0 / 0;
44
+
45
+ /* Primary */
46
+ --primary-400: 62.51% 0.172 283.89;
47
+ /* #8f87ff */
48
+ --primary-500: 58.73% 0.23 279.66;
49
+ /* #695EFF */
50
+ --primary-600: 50% 0.192 279.97;
51
+ /* #544BCC */
52
+ --primary-650: 52.52% 0.272 280.57;
53
+ /* #5C33FF */
54
+ --primary-700: 45.57% 0.171 280.34;
55
+ /* #4A42B2 */
56
+
57
+ /* Gray - Tailwind CSS v4 OKLCH palette */
58
+ --gray-50: 98.5% 0.002 247.839;
59
+ --gray-100: 96.7% 0.003 264.542;
60
+ --gray-200: 92.8% 0.006 264.531;
61
+ --gray-300: 87.2% 0.01 258.338;
62
+ --gray-400: 70.7% 0.022 261.325;
63
+ --gray-500: 55.1% 0.027 264.364;
64
+ --gray-600: 44.6% 0.03 256.802;
65
+ --gray-700: 37.3% 0.034 259.733;
66
+ --gray-800: 27.8% 0.033 256.848;
67
+ --gray-900: 21% 0.034 264.665;
68
+ --gray-950: 13% 0.028 261.692;
69
+
70
+ /* Red */
71
+ --red-500: 59.16% 0.218 0.58;
72
+ --red-100: var(--red-500) / 10%;
73
+ --red-200: var(--red-500) / 20%;
74
+ --red-300: var(--red-500) / 30%;
75
+
76
+ /* Green */
77
+ --green-50: 96.3% 0.0173 168.27;
78
+ --green-100: 92.4% 0.0346 168.27;
79
+ --green-200: 84.9% 0.0692 168.27;
80
+ --green-500: 78.02% 0.1534 168.27;
81
+ --green-600: 64.33% 0.1128 171.09;
82
+
83
+ /* Pink */
84
+ --pink-500: 59.16% 0.218 0.58;
85
+ --pink-600: 58.93% 0.2129 359.93;
86
+
87
+ /* Yellow */
88
+ --yellow-500: 80.13% 0.1458 73.41;
89
+
90
+ /* Blue */
91
+ --blue-500: 82.1% 0.099263 240.9782;
92
+ --blue-600: 64.12% 0.0638 240.72;
93
+
94
+ /* Purple */
95
+ --purple-500: 52.06% 0.2042 305.37;
96
+
97
+ /* Sizes */
98
+ --size-00: 0.25rem;
99
+ --size-0: 0.4rem;
100
+ --size-1: 0.5rem;
101
+ --size-2: 0.75rem;
102
+ --size-3: 1rem;
103
+ --size-4: 1.25rem;
104
+ --size-5: 1.5rem;
105
+
106
+ --size-content-1: 20ch;
107
+ --size-content-2: 45ch;
108
+ --size-content-3: 60ch;
109
+
110
+ /* Border */
111
+ --border-size-1: 1px;
112
+
113
+ /* Default btn */
114
+ --clr-btn-bg: var(--transparent);
115
+ --clr-btn-bg-active: var(--gray-200);
116
+ --clr-btn-bg-hover: var(--gray-100);
117
+ --clr-btn-text: var(--black);
118
+ --crl-btn-text-hover: var(--black);
119
+ --clr-btn-border: var(--transaprent);
120
+ --clr-btn-border-hover: var(--transaprent);
121
+
122
+ /* Primary btn */
123
+ --clr-primary-btn-bg: var(--primary-500);
124
+ --clr-primary-btn-bg-active: var(--primary-700);
125
+ --clr-primary-btn-bg-hover: var(--primary-600);
126
+ --clr-primary-btn-text: var(--white);
127
+ --clr-primary-btn-text-hover: var(--white);
128
+ --clr-primary-btn-border: var(--primary-600);
129
+ --clr-primary-btn-border-hover: var(--primary-600);
130
+
131
+ /* Secondary btn */
132
+ --clr-secondary-btn-bg: var(--white);
133
+ --clr-secondary-btn-bg-active: var(--gray-300);
134
+ --clr-secondary-btn-bg-hover: var(--gray-200);
135
+ --clr-secondary-btn-text: var(--black);
136
+ --clr-secondary-btn-text-hover: var(--black);
137
+ --clr-secondary-btn-border: var(--gray-300);
138
+ --clr-secondary-btn-border-hover: var(--gray-300);
139
+
140
+ /* Danger btn */
141
+ --clr-danger-btn-bg: var(--red-500) / 10%;
142
+ --clr-danger-btn-bg-active: var(--red-500) / 30%;
143
+ --clr-danger-btn-bg-hover: var(--red-500) / 20%;
144
+ --clr-danger-btn-text: var(--red-500);
145
+ --clr-danger-btn-text-hover: var(--red-500);
146
+ --clr-danger-btn-border: var(--clr-danger-btn-bg);
147
+ --clr-danger-btn-border-hover: var(--clr-danger-btn-bg);
148
+
149
+ /* Primary outline btn */
150
+ --clr-primary-outline-btn-text: var(--primary-500);
151
+ --clr-primary-outline-btn-text-hover: var(--primary-500);
152
+ --clr-primary-outline-btn-border: var(--primary-500);
153
+ --clr-primary-outline-btn-border-hover: var(--primary-500);
154
+ --clr-primary-outline-btn-bg-hover: var(--primary-500) / 5%;
155
+
156
+ /* Sidebar btn */
157
+ --clr-sidebar-btn-bg: var(--transparent);
158
+ --clr-sidebar-btn-bg-active: var(--primary-500);
159
+ --clr-sidebar-btn-bg-hover: var(--primary-500);
160
+ --clr-sidebar-btn-text: var(--gray-400);
161
+ --clr-sidebar-btn-text-hover: var(--white);
162
+ --clr-sidebar-btn-border: var(--transparent);
163
+ --clr-sidebar-btn-border-hover: var(--primary-500);
164
+
165
+ /* Form control */
166
+ --clr-form-control-bg: var(--transparent);
167
+ --clr-form-control-bg-active: var(--transparent);
168
+ --clr-form-control-placeholder: var(--gray-400);
169
+ --clr-form-control-border: var(--gray-300);
170
+ --clr-form-control-border-hover: var(--primary-500);
171
+ --clr-form-control-text: var(--black);
172
+ --clr-form-control-ring: var(--primary-650) / 20%;
173
+ --clr-form-control-label: var(--gray-400);
174
+ --form-control-border-size: var(--border-size-1);
175
+ --form-control-size-x: calc(var(--size-2) - var(--form-control-border-size) * 2);
176
+ --form-control-size-y: calc(var(--size-2) - var(--form-control-border-size) * 2);
177
+
178
+ /* Surface */
179
+ --clr-surface-50: var(--gray-50);
180
+ --clr-surface-100: var(--gray-100);
181
+ --clr-surface-200: var(--black);
182
+ --clr-surface-300: var(--white);
183
+ --clr-surface-400: var(--gray-200);
184
+ --clr-surface-500: var(--gray-100);
185
+ --clr-surface-600: var(--white);
186
+
187
+ /* Text */
188
+ --clr-text-100: var(--black);
189
+ --clr-text-200: var(--gray-600);
190
+ --clr-text-300: var(--gray-400);
191
+ --clr-text-green: var(--green-500);
192
+ --clr-text-pink: var(--pink-500);
193
+ --clr-text-yellow: var(--yellow-500);
194
+ --clr-text-blue: var(--blue-500);
195
+ --clr-text-purple: var(--purple-500);
196
+
197
+ /* Avatar */
198
+ --clr-avatar-bg: var(--primary-500) / 15%;
199
+ --clr-avatar-text: var(--primary-500);
200
+
201
+ /* Border */
202
+ --clr-border-primary: var(--gray-300);
203
+ --clr-border-secondary: var(--gray-100);
204
+ --clr-border-green: var(--green-500);
205
+ --clr-border-pink: var(--pink-500);
206
+ --clr-border-yellow: var(--yellow-500);
207
+ --clr-border-blue: var(--blue-500);
208
+ --clr-border-purple: var(--purple-500);
209
+
210
+ /* Table */
211
+ --table-radius: 0.5rem;
212
+
213
+ /* Shadows */
214
+ --shadow-100: 0px 4px 8px 0px rgba(0, 0, 0, 0.16);
215
+ --shadow-200: 0px 8px 8px 0px rgba(0, 0, 0, 0.08);
216
+
217
+ /* Theme switcher */
218
+ --clr-theme-switcher-bg: var(--gray-100);
219
+ --clr-theme-switcher-text: var(--black);
220
+
221
+ --clr-success: var(--green-500);
222
+ --clr-on-sucess: var(--white);
223
+
224
+ /* Badges */
225
+ --clr-badge-pink: var(--pink-500) / 8%;
226
+ --clr-badge-yellow: var(--yellow-500) / 8%;
227
+ --clr-badge-green: var(--green-500) / 8%;
228
+ --clr-badge-blue: var(--blue-500) / 8%;
229
+ --clr-badge-purple: var(--purple-500) / 8%;
230
+ --clr-badge-gray: var(--gray-100);
231
+
232
+ /* Easing */
233
+ --ease-1: cubic-bezier(.25, 0, .5, 1);
234
+ --ease-2: cubic-bezier(.25, 0, .4, 1);
235
+ --ease-3: cubic-bezier(.25, 0, .3, 1);
236
+ --ease-elastic-in-out-2: cubic-bezier(.5, -.3, .1, 1.5);
237
+ --ease-elastic-in-out-3: cubic-bezier(.5, -.5, .1, 1.5);
238
+ --ease-squish-2: var(--ease-elastic-in-out-2);
239
+ --ease-squish-3: var(--ease-elastic-in-out-3);
240
+
241
+ /* Animation */
242
+ --animation-slide-in-up: slide-in-up 500ms var(--ease-3);
243
+ --animation-slide-in-right: slide-in-right 500ms var(--ease-3);
244
+ --animation-slide-in-left: slide-in-left 500ms var(--ease-3);
245
+ --animation-slide-in-down: slide-in-down 500ms var(--ease-3);
246
+ --animation-scale-down: scale-down 500ms var(--ease-3);
247
+ --animation-slide-out-down: slide-out-down 500ms var(--ease-3);
248
+ --animation-slide-out-right: slide-out-right 500ms var(--ease-3);
249
+ --animation-slide-out-left: slide-out-left 500ms var(--ease-3);
250
+ }
251
+
252
+ ::selection {
253
+ background-color: oklch(var(--primary-600));
254
+ color: oklch(var(--white));
255
+ }
256
+
257
+ :popover-open {
258
+ width: 200px;
259
+ height: 100px;
260
+ position: absolute;
261
+ inset: unset;
262
+ bottom: 5px;
263
+ right: 5px;
264
+ margin: 0;
265
+ }
266
+
267
+ html.dark {
268
+ color-scheme: dark;
269
+ /* Surface */
270
+ --clr-surface-50: var(--black-950);
271
+ --clr-surface-100: var(--black-950);
272
+ --clr-surface-300: var(--black);
273
+ --clr-surface-400: var(--black-950);
274
+ --clr-surface-500: var(--black);
275
+ --clr-surface-600: var(--black-950);
276
+
277
+ /* Badges */
278
+ --clr-badge-pink: var(--pink-600) / 8%;
279
+ --clr-badge-green: var(--green-600) / 8%;
280
+ --clr-badge-blue: var(--blue-600) / 8%;
281
+ --clr-badge-gray: var(--gray-700);
282
+
283
+ /* Text */
284
+ --clr-text-100: var(--white);
285
+ --clr-text-200: var(--gray-100);
286
+ --clr-text-300: var(--gray-300);
287
+ --clr-text-green: var(--green-600);
288
+ --clr-text-pink: var(--pink-600);
289
+ --clr-text-blue: var(--blue-600);
290
+
291
+ /* Avatar */
292
+ --clr-avatar-text: var(--primary-400);
293
+
294
+ /* Border */
295
+ --clr-border-primary: var(--black-800);
296
+ --clr-border-secondary: var(--black-950);
297
+ --clr-border-green: var(--green-600);
298
+ --clr-border-pink: var(--pink-600);
299
+ --clr-border-blue: var(--blue-600);
300
+
301
+ /* Secondary btn */
302
+ --clr-secondary-btn-bg: var(--black-950);
303
+ --clr-secondary-btn-bg-active: var(--black);
304
+ --clr-secondary-btn-bg-hover: var(--black);
305
+ --clr-secondary-btn-text: var(--gray-100);
306
+ --clr-secondary-btn-text-hover: var(--white);
307
+ --clr-secondary-btn-border: var(--black-800);
308
+ --clr-secondary-btn-border-hover: var(--black-950);
309
+
310
+ /* Form control */
311
+ --clr-form-control-bg: var(--black);
312
+ --clr-form-control-bg-active: var(--black);
313
+ --clr-form-control-placeholder: var(--gray-100);
314
+ --clr-form-control-border: var(--black-800);
315
+ --clr-form-control-border-hover: var(--primary-500);
316
+ --clr-form-control-text: var(--white);
317
+ --clr-form-control-ring: var(--primary-650);
318
+ --clr-form-control-label: var(--white);
319
+ }
320
+
321
+ button {
322
+ cursor: default;
323
+ }
324
+
325
+ button:disabled {
326
+ opacity: 0.7;
327
+ pointer-events: none;
328
+ }
329
+
330
+ details>summary {
331
+ list-style: none;
332
+ }
333
+
334
+ details summary::-webkit-details-marker {
335
+ display: none;
336
+ }
337
+
338
+ details summary::marker {
339
+ display: none;
340
+ }
341
+
342
+ input::-webkit-outer-spin-button,
343
+ input::-webkit-inner-spin-button {
344
+ -webkit-appearance: none;
345
+ margin: 0;
346
+ }
347
+
348
+ input[type="number"] {
349
+ -moz-appearance: textfield;
350
+ }
351
+
352
+ form:invalid .btn:not(.btn-enabled) {
353
+ --events: none;
354
+ --opacity: 0.7;
355
+ }
356
+ }
357
+
358
+ [x-cloak] {
359
+ display: none !important;
360
+ }
361
+
362
+ @layer components {
363
+ .form-control {
364
+ --bg-color: var(--clr-form-control-bg);
365
+ --bg-active: var(--clr-form-control-bg-active);
366
+ --placeholder: var(--clr-form-control-placeholder);
367
+ --text-color: var(--clr-form-control-text);
368
+ --border-color: var(--clr-form-control-border);
369
+ --border-hover: var(--clr-form-control-border-hover);
370
+ --border-size: var(--form-control-border-size);
371
+ --ring-color: var(--transparent);
372
+ --ring-color-active: var(--clr-form-control-ring);
373
+ --size-x: var(--form-control-size-x);
374
+ --size-y: var(--form-control-size-y);
375
+ --font-size: 0.875rem;
376
+ --radius: 0.5rem;
377
+ --opacity: 1;
378
+ --events: all;
379
+ pointer-events: var(--events);
380
+ outline: none;
381
+ background-color: oklch(var(--bg-color));
382
+ box-shadow: 0 0 0 2px oklch(var(--ring-color));
383
+ color: oklch(var(--text-color));
384
+ font-size: var(--font-size);
385
+ border-radius: var(--radius);
386
+ opacity: var(--opacity);
387
+ border: var(--border-size) solid oklch(var(--border-color));
388
+ transition-duration: 200ms;
389
+ font-weight: 500;
390
+ }
391
+
392
+ .form-control-input {
393
+ padding: var(--size-y) var(--size-x);
394
+ border-radius: var(--radius);
395
+ background-color: oklch(var(--bg-color));
396
+ }
397
+
398
+ .form-control-input:disabled {
399
+ cursor: not-allowed;
400
+ opacity: 0.5;
401
+ }
402
+
403
+ .form-control-label {
404
+ color: var(--clr-form-control-label);
405
+ font-size: 0.875rem;
406
+ }
407
+
408
+ .form-control-input::placeholder {
409
+ color: oklch(var(--placeholder));
410
+ }
411
+
412
+ .form-control:hover {
413
+ --border-color: var(--border-hover);
414
+ }
415
+
416
+ .form-control:focus-within {
417
+ --border-color: var(--border-hover);
418
+ --ring-color: var(--ring-color-active);
419
+ }
420
+
421
+ .btn {
422
+ --text-color: var(--clr-btn-text);
423
+ --loading-indicator-color: var(--clr-btn-text);
424
+ --text-hover: var(--crl-btn-text-hover);
425
+ --bg-color: var(--crl-btn-bg);
426
+ --bg-active: var(--clr-btn-bg-active);
427
+ --bg-hover: var(--clr-btn-bg-hover);
428
+ --border-color: var(--clr-btn-border);
429
+ --border-hover: var(--crl-btn-border-hover);
430
+ --border-size: 1px;
431
+ --size-x: calc(1rem - var(--border-size) * 2);
432
+ --size-y: calc(0.75rem - var(--border-size) * 2);
433
+ --font-size: 0.875rem;
434
+ --radius: 0.5rem;
435
+ --opacity: 1;
436
+ --events: all;
437
+ --user-select: auto;
438
+ --height: 2.625rem;
439
+ --width: auto;
440
+ background-color: oklch(var(--bg-color));
441
+ color: oklch(var(--text-color));
442
+ padding: var(--size-y) var(--size-x);
443
+ font-size: var(--font-size);
444
+ border-radius: var(--radius);
445
+ opacity: var(--opacity);
446
+ border: var(--border-size) solid oklch(var(--border-color));
447
+ transition-duration: 200ms;
448
+ font-weight: 500;
449
+ position: relative;
450
+ display: inline-flex;
451
+ align-items: center;
452
+ outline-color: oklch(var(--bg-active));
453
+ user-select: var(--user-select);
454
+ height: var(--height);
455
+ width: var(--width);
456
+ cursor: pointer;
457
+ }
458
+
459
+ .btn:not(.btn-loading):not(.htmx-request):active,
460
+ .btn:not(.btn-loading):not(.htmx-request).active {
461
+ --bg-color: var(--bg-active);
462
+ --text-color: var(--text-hover);
463
+ }
464
+
465
+ .btn:not(.btn-loading):not(.htmx-request):hover {
466
+ --bg-color: var(--bg-hover);
467
+ --text-color: var(--text-hover);
468
+ --border-hover: var(--border-hover);
469
+ }
470
+
471
+ .btn-primary {
472
+ --bg-color: var(--clr-primary-btn-bg);
473
+ --bg-active: var(--clr-primary-btn-bg-active);
474
+ --text-color: var(--clr-primary-btn-text);
475
+ --border-color: var(--clr-primary-btn-border);
476
+ --bg-hover: var(--clr-primary-btn-bg-hover);
477
+ --text-hover: var(--clr-primary-btn-text-hover);
478
+ --loading-indicator-color: var(--clr-primary-btn-text);
479
+ --border-hover: var(--clr-primary-btn-border-hover);
480
+ }
481
+
482
+ .btn-secondary {
483
+ --bg-color: var(--clr-secondary-btn-bg);
484
+ --bg-active: var(--clr-secondary-btn-bg-active);
485
+ --text-color: var(--clr-secondary-btn-text);
486
+ --border-color: var(--clr-secondary-btn-border);
487
+ --bg-hover: var(--clr-secondary-btn-bg-hover);
488
+ --text-hover: var(--clr-secondary-btn-text-hover);
489
+ --border-hover: var(--clr-secondary-btn-border-hover);
490
+ }
491
+
492
+ .btn-danger {
493
+ --bg-color: var(--clr-danger-btn-bg);
494
+ --bg-active: var(--clr-danger-btn-bg-active);
495
+ --text-color: var(--clr-danger-btn-text);
496
+ --loading-indicator-color: var(--clr-danger-btn-text);
497
+ --border-color: var(--clr-danger-btn-border);
498
+ --bg-hover: var(--clr-danger-btn-bg-hover);
499
+ --text-hover: var(--clr-danger-btn-text-hover);
500
+ --border-hover: var(--clr-danger-btn-border-hover);
501
+ }
502
+
503
+ .btn-primary-outline {
504
+ --text-color: var(--clr-primary-outline-btn-text);
505
+ --loading-indicator-color: var(--clr-primary-outline-btn-text);
506
+ --border-color: var(--clr-primary-outline-btn-border);
507
+ --text-hover: var(--clr-primary-outline-btn-text-hover);
508
+ --border-hover: var(--clr-primary-outline-btn-border-hover);
509
+ --bg-hover: var(--clr-primary-outline-btn-bg-hover);
510
+ }
511
+
512
+ .btn-sidebar {
513
+ --bg-color: var(--clr-sidebar-btn-bg);
514
+ --bg-active: var(--clr-sidebar-btn-bg-active);
515
+ --text-color: var(--clr-sidebar-btn-text);
516
+ --loading-indicator-color: var(--clr-sidebar-btn-text);
517
+ --border-color: var(--clr-sidebar-btn-border);
518
+ --bg-hover: var(--clr-sidebar-btn-bg-hover);
519
+ --text-hover: var(--clr-sidebar-btn-text-hover);
520
+ --border-hover: var(--clr-sidebar-btn-border-hover);
521
+ }
522
+
523
+ .btn-md {
524
+ --height: 3rem;
525
+ --size-x: 1rem;
526
+ --size-y: calc(1rem - 3.5px);
527
+ }
528
+
529
+ .btn-sm {
530
+ --height: 2.5rem;
531
+ --size-x: 0.75rem;
532
+ --size-y: calc(0.75rem - 3.5px);
533
+ }
534
+
535
+ .btn-xs {
536
+ --height: 1.65rem;
537
+ --size-x: 0.25rem;
538
+ --size-y: 0.1rem;
539
+ }
540
+
541
+ .btn-fixed {
542
+ --size-y: var(--size-x);
543
+ --width: var(--height);
544
+ }
545
+
546
+ .btn-with-icon {
547
+ gap: 0.5rem;
548
+ }
549
+
550
+ .btn-rounded {
551
+ --radius: 9999px;
552
+ }
553
+
554
+ .btn-loading {
555
+ --text-color: var(--transparent);
556
+ }
557
+
558
+ .btn-disabled {
559
+ opacity: 0.7;
560
+ pointer-events: none;
561
+ }
562
+
563
+ .htmx-request .btn,
564
+ .htmx-request.btn {
565
+ --text-color: var(--transparent);
566
+ --user-select: none;
567
+ }
568
+
569
+ .btn-loading-indicator {
570
+ --size: var(--size-0);
571
+ --radius: 9999px;
572
+ --display: none;
573
+ --color: var(--loading-indicator-color);
574
+ width: var(--size);
575
+ height: var(--size);
576
+ border-radius: var(--radius);
577
+ background-color: oklch(var(--color));
578
+ color: oklch(var(--color));
579
+ animation: dot-flashing 1s infinite linear alternate;
580
+ animation-delay: 0.5s;
581
+ display: var(--display);
582
+ position: absolute;
583
+ opacity: 1;
584
+ left: 50%;
585
+ transform: translateX(-50%);
586
+ }
587
+
588
+ .btn-loading-indicator::before,
589
+ .btn-loading-indicator::after {
590
+ content: "";
591
+ display: inline-block;
592
+ position: absolute;
593
+ top: 0;
594
+ }
595
+
596
+ .btn-loading-indicator::before {
597
+ left: calc(-1 * var(--size) * 1.5);
598
+ width: var(--size);
599
+ height: var(--size);
600
+ border-radius: var(--radius);
601
+ background-color: oklch(var(--color));
602
+ color: oklch(var(--color));
603
+ animation: dot-flashing 1s infinite linear alternate;
604
+ animation-delay: 0s;
605
+ }
606
+
607
+ .btn-loading-indicator::after {
608
+ left: calc(var(--size) * 1.5);
609
+ width: var(--size);
610
+ height: var(--size);
611
+ border-radius: var(--radius);
612
+ background-color: oklch(var(--color));
613
+ color: oklch(var(--color));
614
+ animation: dot-flashing 1s infinite linear alternate;
615
+ animation-delay: 1s;
616
+ }
617
+
618
+ .btn-loading .btn-loading-indicator,
619
+ .htmx-request .btn-loading-indicator,
620
+ .htmx-request.btn-loading-indicator {
621
+ --display: block;
622
+ }
623
+
624
+ .htmx-request .hide-on-load {
625
+ display: none;
626
+ }
627
+
628
+ .htmx-request.hide-on-load {
629
+ display: revert;
630
+ }
631
+
632
+ .htmx-request .hidden {
633
+ display: revert;
634
+ }
635
+
636
+ .htmx-request.hidden {
637
+ display: revert;
638
+ }
639
+
640
+ .table {
641
+ --radius: var(--table-radius);
642
+ border-collapse: separate;
643
+ border-spacing: 0;
644
+ }
645
+
646
+ .table tr:first-child th:first-child {
647
+ border-top-left-radius: var(--radius);
648
+ }
649
+
650
+ .table tr:first-child th:last-child {
651
+ border-top-right-radius: var(--radius);
652
+ }
653
+
654
+ .table tr:last-child td:first-child {
655
+ border-bottom-left-radius: var(--radius);
656
+ }
657
+
658
+ .table tr:last-child td:last-child {
659
+ border-bottom-right-radius: var(--radius);
660
+ }
661
+
662
+ .dialog {
663
+ --bg-color: var(--clr-surface-300);
664
+ --text-color: var(--clr-text-100);
665
+ --radius: 0.5rem;
666
+ display: grid;
667
+ align-content: start;
668
+ background-color: oklch(var(--bg-color));
669
+ color: oklch(var(--text-color));
670
+ max-inline-size: min(90vw, var(--size-content-3));
671
+ margin: auto;
672
+ padding: 0;
673
+ position: fixed;
674
+ inset: 0;
675
+ overflow: hidden;
676
+ transition: opacity 500ms var(--ease-3);
677
+ }
678
+
679
+ .dialog-rounded {
680
+ border-radius: var(--radius);
681
+ }
682
+
683
+ .dialog-btt {
684
+ animation: var(--animation-slide-out-down) forwards;
685
+ animation-timing-function: var(--ease-squish-2);
686
+ }
687
+
688
+ .dialog-rtl {
689
+ animation: var(--animation-slide-out-right) forwards;
690
+ animation-timing-function: var(--ease-squish-2);
691
+ }
692
+
693
+ .dialog-ltr {
694
+ animation: var(--animation-slide-out-left) forwards;
695
+ animation-timing-function: var(--ease-squish-2);
696
+ }
697
+
698
+ .dialog-tbd {
699
+ animation: var(--animation-slide-out-up) forwards;
700
+ animation-timing-function: var(--ease-squish-2);
701
+ }
702
+
703
+ .dialog:not([open]) {
704
+ pointer-events: none;
705
+ opacity: 0;
706
+ }
707
+
708
+ .dialog-btt[open] {
709
+ animation: var(--animation-slide-in-up);
710
+ }
711
+
712
+ .dialog-rtl[open] {
713
+ animation: var(--animation-slide-in-right);
714
+ }
715
+
716
+ .dialog-ltr[open] {
717
+ animation: var(--animation-slide-in-left);
718
+ }
719
+
720
+ .dialog-tbd[open] {
721
+ animation: var(--animation-slide-in-down);
722
+ }
723
+
724
+ .dialog::backdrop {
725
+ backdrop-filter: blur(8px);
726
+ transition: backdrop-filter 500ms ease;
727
+ }
728
+
729
+ .tab-slider {
730
+ @apply relative;
731
+ }
732
+
733
+ .tab-slider-inner {
734
+ @apply mb-6 flex;
735
+ }
736
+
737
+ .tab-slider-track {
738
+ @apply relative flex w-full items-center font-sans bg-slate-100 dark:bg-slate-700;
739
+ }
740
+
741
+ .tab-slider-item {
742
+ @apply relative z-20 h-full flex flex-1 items-center justify-center text-sm font-sans;
743
+ }
744
+
745
+ .tab-slider-item:not(.tab-active) {
746
+ @apply text-slate-400 dark:text-slate-400;
747
+ }
748
+
749
+ .tab-slider-item.tab-active {
750
+ @apply text-white dark:text-white;
751
+ }
752
+
753
+ .tab-slider-naver {
754
+ @apply absolute start-0 top-0 z-10 h-full bg-brand-500 dark:bg-brand-500 transition-all duration-300;
755
+ }
756
+
757
+ .tab-content {
758
+ @apply relative block;
759
+ }
760
+
761
+ /* Alignment classes */
762
+ .tabs-centered .tab-slider-inner {
763
+ @apply justify-center;
764
+ }
765
+
766
+ .tabs-end .tab-slider-inner {
767
+ @apply justify-end;
768
+ }
769
+
770
+ /* Rounded variants */
771
+ .tabs-rounded .tab-slider-track,
772
+ .tabs-rounded .tab-slider-naver {
773
+ @apply rounded-md;
774
+ }
775
+
776
+ .tabs-smooth .tab-slider-track,
777
+ .tabs-smooth .tab-slider-naver {
778
+ @apply rounded-lg;
779
+ }
780
+
781
+ .tabs-curved .tab-slider-track,
782
+ .tabs-curved .tab-slider-naver {
783
+ @apply rounded-xl;
784
+ }
785
+
786
+ .tabs-full .tab-slider-track,
787
+ .tabs-full .tab-slider-naver {
788
+ @apply rounded-full;
789
+ }
790
+
791
+ /* Size: sm */
792
+ .tabs-sm.tabs-two-slots .tab-slider-track {
793
+ @apply max-w-[140px];
794
+ }
795
+
796
+ .tabs-sm.tabs-three-slots .tab-slider-track {
797
+ @apply max-w-[210px];
798
+ }
799
+
800
+ .tabs-sm .tab-slider-track {
801
+ @apply h-8;
802
+ }
803
+
804
+ /* Size: md */
805
+ .tabs-md.tabs-two-slots .tab-slider-track {
806
+ @apply max-w-[250px];
807
+ }
808
+
809
+ .tabs-md.tabs-three-slots .tab-slider-track {
810
+ @apply max-w-[320px];
811
+ }
812
+
813
+ .tabs-md .tab-slider-track {
814
+ @apply h-10;
815
+ }
816
+
817
+ /* Slot-based transitions */
818
+ .tabs-two-slots .tab-slider-naver,
819
+ .tabs-two-slots .tab-slider-item {
820
+ @apply w-1/2;
821
+ }
822
+
823
+ .tabs-two-slots .tab-slider-item:first-child.tab-active~.tab-slider-naver {
824
+ @apply ms-0;
825
+ }
826
+
827
+ .tabs-two-slots .tab-slider-item:nth-child(2).tab-active~.tab-slider-naver {
828
+ @apply ms-[50%];
829
+ }
830
+
831
+ .tabs-three-slots .tab-slider-naver,
832
+ .tabs-three-slots .tab-slider-item {
833
+ @apply w-1/3;
834
+ }
835
+
836
+ .tabs-three-slots .tab-slider-item:first-child.tab-active~.tab-slider-naver {
837
+ @apply ms-0;
838
+ }
839
+
840
+ .tabs-three-slots .tab-slider-item:nth-child(2).tab-active~.tab-slider-naver {
841
+ @apply ms-[33.3%];
842
+ }
843
+
844
+ .tabs-three-slots .tab-slider-item:nth-child(3).tab-active~.tab-slider-naver {
845
+ @apply ms-[66.6%];
846
+ }
847
+
848
+ .accent-color-card {
849
+ --color: oklch(var(--primary-500));
850
+ }
851
+
852
+ /* Prevent Alpine.js transition flicker on initial load */
853
+ [x-cloak] {
854
+ display: none !important;
855
+ }
856
+
857
+ /* Prevent sidebar flicker during initial load */
858
+ .sidebar-container:not([data-alpine-loaded]) {
859
+ opacity: 0;
860
+ transition: opacity 0.1s ease-in;
861
+ }
862
+
863
+ .sidebar-container[data-alpine-loaded] {
864
+ opacity: 1;
865
+ }
866
+
867
+ /* Sidebar width styles */
868
+ .sidebar-expanded {
869
+ width: 280px;
870
+ }
871
+
872
+ /* Sidebar collapsed styles */
873
+ .sidebar-collapsed {
874
+ width: 4rem !important;
875
+ min-height: 100vh !important;
876
+ }
877
+
878
+ .sidebar-collapsed .btn-sidebar {
879
+ justify-content: center;
880
+ min-width: 2.5rem;
881
+ --text-color: var(--gray-100);
882
+ }
883
+
884
+ .sidebar-collapsed .btn-sidebar:hover {
885
+ --text-color: var(--white);
886
+ --bg-color: var(--clr-sidebar-btn-bg-hover);
887
+ }
888
+
889
+ /* Collapsed accordion group styling */
890
+ .sidebar-collapsed .accordion-group-collapsed {
891
+ display: flex;
892
+ justify-content: center;
893
+ align-items: center;
894
+ min-width: 2.5rem;
895
+ height: 3rem;
896
+ border-radius: 0.375rem;
897
+ cursor: pointer;
898
+ transition: background-color 0.2s;
899
+ color: oklch(var(--gray-100));
900
+ }
901
+
902
+ .sidebar-collapsed .accordion-group-collapsed:hover {
903
+ background-color: oklch(var(--clr-sidebar-btn-bg-hover));
904
+ color: oklch(var(--white));
905
+ }
906
+
907
+ /* Toggle button styling */
908
+ .btn-ghost {
909
+ --text-color: var(--gray-600);
910
+ }
911
+
912
+ .btn-ghost:hover {
913
+ --text-color: var(--gray-400);
914
+ --bg-color: var(--gray-200);
915
+ }
916
+
917
+ /* Toggle button in collapsed state */
918
+ .sidebar-collapsed .btn-ghost {
919
+ --text-color: var(--gray-600);
920
+ }
921
+
922
+ .sidebar-collapsed .btn-ghost:hover {
923
+ --text-color: var(--gray-400);
924
+ --bg-color: var(--gray-200);
925
+ }
926
+
927
+ /* Sidebar toggle button styling */
928
+ .btn-sidebar-toggle {
929
+ --text-color: var(--gray-600);
930
+ --bg-color: var(--white);
931
+ --border-color: var(--transparent);
932
+ }
933
+
934
+ .btn-sidebar-toggle:hover {
935
+ --text-color: var(--gray-400);
936
+ --bg-color: var(--gray-100);
937
+ }
938
+
939
+ /* Sidebar click-to-toggle cursor styles */
940
+ .sidebar-expand-cursor {
941
+ cursor: e-resize;
942
+ }
943
+
944
+ .sidebar-collapse-cursor {
945
+ cursor: w-resize;
946
+ }
947
+
948
+ .sidebar-expand-cursor a,
949
+ .sidebar-expand-cursor button,
950
+ .sidebar-expand-cursor summary,
951
+ .sidebar-expand-cursor [role="button"],
952
+ .sidebar-collapse-cursor a,
953
+ .sidebar-collapse-cursor button,
954
+ .sidebar-collapse-cursor summary,
955
+ .sidebar-collapse-cursor [role="button"] {
956
+ cursor: pointer;
957
+ }
958
+ }
959
+
960
+ @layer utilities {
961
+ .hide-scrollbar {
962
+ scrollbar-width: none;
963
+ }
964
+
965
+ .hide-scrollbar::-webkit-scrollbar {
966
+ display: none;
967
+ }
968
+
969
+ .no-transition {
970
+ transition: none !important;
971
+ }
972
+
973
+ /* Slider styles */
974
+ .slider-thumb {
975
+ -webkit-appearance: none;
976
+ appearance: none;
977
+ height: 1rem;
978
+ position: relative;
979
+ z-index: 10;
980
+ }
981
+
982
+ .slider-thumb::-webkit-slider-thumb {
983
+ -webkit-appearance: none;
984
+ appearance: none;
985
+ width: 16px;
986
+ height: 16px;
987
+ border-radius: 50%;
988
+ background: oklch(var(--primary-500));
989
+ cursor: pointer;
990
+ border: 2px solid white;
991
+ box-shadow: 0 1px 3px rgba(0, 0, 0, 0.2);
992
+ position: relative;
993
+ z-index: 20;
994
+ }
995
+
996
+ .slider-thumb::-moz-range-thumb {
997
+ width: 16px;
998
+ height: 16px;
999
+ border-radius: 50%;
1000
+ background: oklch(var(--primary-500));
1001
+ cursor: pointer;
1002
+ border: 2px solid white;
1003
+ box-shadow: 0 1px 3px rgba(0, 0, 0, 0.2);
1004
+ position: relative;
1005
+ z-index: 20;
1006
+ }
1007
+
1008
+ .slider-thumb:focus {
1009
+ outline: none;
1010
+ }
1011
+
1012
+ .slider-thumb:disabled::-webkit-slider-thumb {
1013
+ background: oklch(var(--gray-400));
1014
+ }
1015
+
1016
+ .slider-thumb:disabled::-moz-range-thumb {
1017
+ background: oklch(var(--gray-400));
1018
+ }
1019
+ }
1020
+
1021
+ /* iOS Safari 100vh fix - use dynamic viewport height */
1022
+ @supports (height: 100dvh) {
1023
+ .min-h-screen {
1024
+ min-height: 100dvh !important;
1025
+ }
1026
+ .h-screen {
1027
+ height: 100dvh !important;
1028
+ }
1029
+ }
1030
+
1031
+ /* Keyframes */
1032
+ @keyframes slide-in-right {
1033
+ from {
1034
+ transform: translateX(100%)
1035
+ }
1036
+ }
1037
+
1038
+ @keyframes slide-out-right {
1039
+ to {
1040
+ transform: translateX(100%)
1041
+ }
1042
+ }
1043
+
1044
+
1045
+ @keyframes slide-in-left {
1046
+ from {
1047
+ transform: translateX(-100%)
1048
+ }
1049
+ }
1050
+
1051
+ @keyframes slide-out-left {
1052
+ to {
1053
+ transform: translateX(-100%)
1054
+ }
1055
+ }
1056
+
1057
+ @keyframes slide-in-up {
1058
+ from {
1059
+ transform: translateY(100%)
1060
+ }
1061
+ }
1062
+
1063
+ @keyframes scale-down {
1064
+ to {
1065
+ transform: scale(.75)
1066
+ }
1067
+ }
1068
+
1069
+ @keyframes slide-out-down {
1070
+ to {
1071
+ transform: translateY(100%)
1072
+ }
1073
+ }
1074
+
1075
+ @keyframes slide-in-down {
1076
+ from {
1077
+ transform: translateY(-100%)
1078
+ }
1079
+ }
1080
+
1081
+ @keyframes slide-out-up {
1082
+ to {
1083
+ transform: translateY(-100%)
1084
+ }
1085
+ }
1086
+
1087
+ @keyframes dot-flashing {
1088
+ 0% {
1089
+ background-color: oklch(var(--color));
1090
+ }
1091
+
1092
+ 50%,
1093
+ 100% {
1094
+ background-color: oklch(var(--color) / 30%);
1095
+ }
1096
+ }
1097
+
1098
+ /* Lazy loading component styles */
1099
+ .lazy-load.htmx-settling * {
1100
+ opacity: 0;
1101
+ }
1102
+
1103
+ .lazy-load * {
1104
+ transition: opacity 300ms ease-in;
1105
+ }
1106
+