@rafael_dias/akoma 0.3.0 → 0.7.6
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.
- package/README.md +59 -7
- package/content/README.md +30 -0
- package/content/colors.md +56 -0
- package/content/decisions.md +45 -0
- package/content/icons.md +76 -0
- package/content/implementation.md +33 -0
- package/content/moods.md +43 -0
- package/content/philosophy.md +43 -0
- package/dist/akoma.cjs +1 -1
- package/dist/akoma.css +1 -1
- package/dist/akoma.js +606 -126
- package/dist/index.d.ts +336 -0
- package/package.json +12 -6
- package/src/styles/accent-palettes.css +194 -0
- package/src/styles/index.css +1 -0
- package/src/styles/motion.css +8 -0
- package/src/styles/tokens.css +65 -92
package/dist/index.d.ts
CHANGED
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
import { cIcons } from '../../node_modules/@sysvale/cuida-icons/dist/index.js';
|
|
1
2
|
import { ComponentOptionsMixin } from 'vue';
|
|
2
3
|
import { ComponentProvideOptions } from 'vue';
|
|
3
4
|
import { DefineComponent } from 'vue';
|
|
@@ -13,6 +14,20 @@ type: "button" | "submit" | "reset";
|
|
|
13
14
|
block: boolean;
|
|
14
15
|
}, {}, {}, {}, string, ComponentProvideOptions, false, {}, HTMLButtonElement>;
|
|
15
16
|
|
|
17
|
+
declare const __VLS_component_10: DefineComponent<__VLS_Props_17, {}, {}, {}, {}, ComponentOptionsMixin, ComponentOptionsMixin, {
|
|
18
|
+
"update:modelValue": (value: string) => any;
|
|
19
|
+
}, string, PublicProps, Readonly<__VLS_Props_17> & Readonly<{
|
|
20
|
+
"onUpdate:modelValue"?: ((value: string) => any) | undefined;
|
|
21
|
+
}>, {}, {}, {}, {}, string, ComponentProvideOptions, false, {
|
|
22
|
+
trackRef: HTMLDivElement;
|
|
23
|
+
}, HTMLElement>;
|
|
24
|
+
|
|
25
|
+
declare const __VLS_component_11: DefineComponent<__VLS_Props_18, {}, {}, {}, {}, ComponentOptionsMixin, ComponentOptionsMixin, {}, string, PublicProps, Readonly<__VLS_Props_18> & Readonly<{}>, {
|
|
26
|
+
disabled: boolean;
|
|
27
|
+
}, {}, {}, {}, string, ComponentProvideOptions, false, {
|
|
28
|
+
itemRef: HTMLButtonElement;
|
|
29
|
+
}, HTMLButtonElement>;
|
|
30
|
+
|
|
16
31
|
declare const __VLS_component_2: DefineComponent<__VLS_Props_2, {}, {}, {}, {}, ComponentOptionsMixin, ComponentOptionsMixin, {}, string, PublicProps, Readonly<__VLS_Props_2> & Readonly<{}>, {
|
|
17
32
|
variant: BadgeVariant;
|
|
18
33
|
}, {}, {}, {}, string, ComponentProvideOptions, false, {}, HTMLSpanElement>;
|
|
@@ -33,6 +48,25 @@ padding: "none" | "sm" | "md" | "lg";
|
|
|
33
48
|
|
|
34
49
|
declare const __VLS_component_5: DefineComponent<__VLS_Props_7, {}, {}, {}, {}, ComponentOptionsMixin, ComponentOptionsMixin, {}, string, PublicProps, Readonly<__VLS_Props_7> & Readonly<{}>, {}, {}, {}, {}, string, ComponentProvideOptions, false, {}, HTMLDivElement>;
|
|
35
50
|
|
|
51
|
+
declare const __VLS_component_6: DefineComponent<__VLS_Props_13, {}, {}, {}, {}, ComponentOptionsMixin, ComponentOptionsMixin, {}, string, PublicProps, Readonly<__VLS_Props_13> & Readonly<{}>, {}, {}, {}, {}, string, ComponentProvideOptions, false, {}, HTMLElement>;
|
|
52
|
+
|
|
53
|
+
declare const __VLS_component_7: DefineComponent< {}, {}, {}, {}, {}, ComponentOptionsMixin, ComponentOptionsMixin, {}, string, PublicProps, Readonly<{}> & Readonly<{}>, {}, {}, {}, {}, string, ComponentProvideOptions, true, {}, HTMLUListElement>;
|
|
54
|
+
|
|
55
|
+
declare const __VLS_component_8: DefineComponent<__VLS_Props_14, {}, {}, {}, {}, ComponentOptionsMixin, ComponentOptionsMixin, {}, string, PublicProps, Readonly<__VLS_Props_14> & Readonly<{}>, {
|
|
56
|
+
disabled: boolean;
|
|
57
|
+
interactive: boolean;
|
|
58
|
+
padding: ListRowPadding;
|
|
59
|
+
divider: boolean;
|
|
60
|
+
}, {}, {}, {}, string, ComponentProvideOptions, false, {}, any>;
|
|
61
|
+
|
|
62
|
+
declare const __VLS_component_9: DefineComponent<__VLS_Props_15, {}, {}, {}, {}, ComponentOptionsMixin, ComponentOptionsMixin, {}, string, PublicProps, Readonly<__VLS_Props_15> & Readonly<{}>, {
|
|
63
|
+
variant: IconButtonVariant;
|
|
64
|
+
size: IconButtonSize;
|
|
65
|
+
disabled: boolean;
|
|
66
|
+
loading: boolean;
|
|
67
|
+
type: "button" | "submit" | "reset";
|
|
68
|
+
}, {}, {}, {}, string, ComponentProvideOptions, false, {}, HTMLButtonElement>;
|
|
69
|
+
|
|
36
70
|
declare type __VLS_Props = {
|
|
37
71
|
variant?: ButtonVariant;
|
|
38
72
|
size?: ButtonSize;
|
|
@@ -42,6 +76,72 @@ declare type __VLS_Props = {
|
|
|
42
76
|
block?: boolean;
|
|
43
77
|
};
|
|
44
78
|
|
|
79
|
+
declare type __VLS_Props_10 = {
|
|
80
|
+
name: CuidaIconName;
|
|
81
|
+
size?: number | string;
|
|
82
|
+
/** Accessible label — omit when decorative inside labelled controls */
|
|
83
|
+
label?: string;
|
|
84
|
+
};
|
|
85
|
+
|
|
86
|
+
declare type __VLS_Props_11 = {
|
|
87
|
+
/** Horizontal spacing around the line */
|
|
88
|
+
spacing?: DividerSpacing;
|
|
89
|
+
/** Optional centered label */
|
|
90
|
+
label?: string;
|
|
91
|
+
vertical?: boolean;
|
|
92
|
+
};
|
|
93
|
+
|
|
94
|
+
declare type __VLS_Props_12 = {
|
|
95
|
+
/** Current value */
|
|
96
|
+
value?: number;
|
|
97
|
+
max?: number;
|
|
98
|
+
size?: ProgressSize;
|
|
99
|
+
/** CSS color for the fill (defaults to accent) */
|
|
100
|
+
color?: string;
|
|
101
|
+
label?: string;
|
|
102
|
+
showValue?: boolean;
|
|
103
|
+
};
|
|
104
|
+
|
|
105
|
+
declare type __VLS_Props_13 = {
|
|
106
|
+
title?: string;
|
|
107
|
+
};
|
|
108
|
+
|
|
109
|
+
declare type __VLS_Props_14 = {
|
|
110
|
+
interactive?: boolean;
|
|
111
|
+
disabled?: boolean;
|
|
112
|
+
padding?: ListRowPadding;
|
|
113
|
+
divider?: boolean;
|
|
114
|
+
};
|
|
115
|
+
|
|
116
|
+
declare type __VLS_Props_15 = {
|
|
117
|
+
variant?: IconButtonVariant;
|
|
118
|
+
size?: IconButtonSize;
|
|
119
|
+
disabled?: boolean;
|
|
120
|
+
loading?: boolean;
|
|
121
|
+
type?: 'button' | 'submit' | 'reset';
|
|
122
|
+
label: string;
|
|
123
|
+
/** Cuida Icons name — preferred over the default slot */
|
|
124
|
+
icon?: CuidaIconName;
|
|
125
|
+
};
|
|
126
|
+
|
|
127
|
+
declare type __VLS_Props_16 = {
|
|
128
|
+
modelValue?: boolean;
|
|
129
|
+
label?: string;
|
|
130
|
+
description?: string;
|
|
131
|
+
disabled?: boolean;
|
|
132
|
+
};
|
|
133
|
+
|
|
134
|
+
declare type __VLS_Props_17 = {
|
|
135
|
+
modelValue: string;
|
|
136
|
+
};
|
|
137
|
+
|
|
138
|
+
declare type __VLS_Props_18 = {
|
|
139
|
+
value: string;
|
|
140
|
+
label: string;
|
|
141
|
+
icon?: CuidaIconName;
|
|
142
|
+
disabled?: boolean;
|
|
143
|
+
};
|
|
144
|
+
|
|
45
145
|
declare type __VLS_Props_2 = {
|
|
46
146
|
variant?: BadgeVariant;
|
|
47
147
|
label?: string;
|
|
@@ -114,6 +214,30 @@ declare function __VLS_template(): {
|
|
|
114
214
|
rootEl: HTMLButtonElement;
|
|
115
215
|
};
|
|
116
216
|
|
|
217
|
+
declare function __VLS_template_10(): {
|
|
218
|
+
attrs: Partial<{}>;
|
|
219
|
+
slots: {
|
|
220
|
+
default?(_: {}): any;
|
|
221
|
+
};
|
|
222
|
+
refs: {
|
|
223
|
+
trackRef: HTMLDivElement;
|
|
224
|
+
};
|
|
225
|
+
rootEl: HTMLElement;
|
|
226
|
+
};
|
|
227
|
+
|
|
228
|
+
declare function __VLS_template_11(): {
|
|
229
|
+
attrs: Partial<{}>;
|
|
230
|
+
slots: Readonly<{
|
|
231
|
+
icon?: () => unknown;
|
|
232
|
+
}> & {
|
|
233
|
+
icon?: () => unknown;
|
|
234
|
+
};
|
|
235
|
+
refs: {
|
|
236
|
+
itemRef: HTMLButtonElement;
|
|
237
|
+
};
|
|
238
|
+
rootEl: HTMLButtonElement;
|
|
239
|
+
};
|
|
240
|
+
|
|
117
241
|
declare function __VLS_template_2(): {
|
|
118
242
|
attrs: Partial<{}>;
|
|
119
243
|
slots: Readonly<{
|
|
@@ -166,8 +290,62 @@ declare function __VLS_template_5(): {
|
|
|
166
290
|
rootEl: HTMLDivElement;
|
|
167
291
|
};
|
|
168
292
|
|
|
293
|
+
declare function __VLS_template_6(): {
|
|
294
|
+
attrs: Partial<{}>;
|
|
295
|
+
slots: Readonly<{
|
|
296
|
+
default?: () => unknown;
|
|
297
|
+
action?: () => unknown;
|
|
298
|
+
}> & {
|
|
299
|
+
default?: () => unknown;
|
|
300
|
+
action?: () => unknown;
|
|
301
|
+
};
|
|
302
|
+
refs: {};
|
|
303
|
+
rootEl: HTMLElement;
|
|
304
|
+
};
|
|
305
|
+
|
|
306
|
+
declare function __VLS_template_7(): {
|
|
307
|
+
attrs: Partial<{}>;
|
|
308
|
+
slots: {
|
|
309
|
+
default?(_: {}): any;
|
|
310
|
+
};
|
|
311
|
+
refs: {};
|
|
312
|
+
rootEl: HTMLUListElement;
|
|
313
|
+
};
|
|
314
|
+
|
|
315
|
+
declare function __VLS_template_8(): {
|
|
316
|
+
attrs: Partial<{}>;
|
|
317
|
+
slots: Readonly<{
|
|
318
|
+
leading?: () => unknown;
|
|
319
|
+
default?: () => unknown;
|
|
320
|
+
subtitle?: () => unknown;
|
|
321
|
+
trailing?: () => unknown;
|
|
322
|
+
}> & {
|
|
323
|
+
leading?: () => unknown;
|
|
324
|
+
default?: () => unknown;
|
|
325
|
+
subtitle?: () => unknown;
|
|
326
|
+
trailing?: () => unknown;
|
|
327
|
+
};
|
|
328
|
+
refs: {};
|
|
329
|
+
rootEl: any;
|
|
330
|
+
};
|
|
331
|
+
|
|
332
|
+
declare function __VLS_template_9(): {
|
|
333
|
+
attrs: Partial<{}>;
|
|
334
|
+
slots: Readonly<{
|
|
335
|
+
default?: () => unknown;
|
|
336
|
+
}> & {
|
|
337
|
+
default?: () => unknown;
|
|
338
|
+
};
|
|
339
|
+
refs: {};
|
|
340
|
+
rootEl: HTMLButtonElement;
|
|
341
|
+
};
|
|
342
|
+
|
|
169
343
|
declare type __VLS_TemplateResult = ReturnType<typeof __VLS_template>;
|
|
170
344
|
|
|
345
|
+
declare type __VLS_TemplateResult_10 = ReturnType<typeof __VLS_template_10>;
|
|
346
|
+
|
|
347
|
+
declare type __VLS_TemplateResult_11 = ReturnType<typeof __VLS_template_11>;
|
|
348
|
+
|
|
171
349
|
declare type __VLS_TemplateResult_2 = ReturnType<typeof __VLS_template_2>;
|
|
172
350
|
|
|
173
351
|
declare type __VLS_TemplateResult_3 = ReturnType<typeof __VLS_template_3>;
|
|
@@ -176,12 +354,32 @@ declare type __VLS_TemplateResult_4 = ReturnType<typeof __VLS_template_4>;
|
|
|
176
354
|
|
|
177
355
|
declare type __VLS_TemplateResult_5 = ReturnType<typeof __VLS_template_5>;
|
|
178
356
|
|
|
357
|
+
declare type __VLS_TemplateResult_6 = ReturnType<typeof __VLS_template_6>;
|
|
358
|
+
|
|
359
|
+
declare type __VLS_TemplateResult_7 = ReturnType<typeof __VLS_template_7>;
|
|
360
|
+
|
|
361
|
+
declare type __VLS_TemplateResult_8 = ReturnType<typeof __VLS_template_8>;
|
|
362
|
+
|
|
363
|
+
declare type __VLS_TemplateResult_9 = ReturnType<typeof __VLS_template_9>;
|
|
364
|
+
|
|
179
365
|
declare type __VLS_WithTemplateSlots<T, S> = T & {
|
|
180
366
|
new (): {
|
|
181
367
|
$slots: S;
|
|
182
368
|
};
|
|
183
369
|
};
|
|
184
370
|
|
|
371
|
+
declare type __VLS_WithTemplateSlots_10<T, S> = T & {
|
|
372
|
+
new (): {
|
|
373
|
+
$slots: S;
|
|
374
|
+
};
|
|
375
|
+
};
|
|
376
|
+
|
|
377
|
+
declare type __VLS_WithTemplateSlots_11<T, S> = T & {
|
|
378
|
+
new (): {
|
|
379
|
+
$slots: S;
|
|
380
|
+
};
|
|
381
|
+
};
|
|
382
|
+
|
|
185
383
|
declare type __VLS_WithTemplateSlots_2<T, S> = T & {
|
|
186
384
|
new (): {
|
|
187
385
|
$slots: S;
|
|
@@ -206,6 +404,81 @@ declare type __VLS_WithTemplateSlots_5<T, S> = T & {
|
|
|
206
404
|
};
|
|
207
405
|
};
|
|
208
406
|
|
|
407
|
+
declare type __VLS_WithTemplateSlots_6<T, S> = T & {
|
|
408
|
+
new (): {
|
|
409
|
+
$slots: S;
|
|
410
|
+
};
|
|
411
|
+
};
|
|
412
|
+
|
|
413
|
+
declare type __VLS_WithTemplateSlots_7<T, S> = T & {
|
|
414
|
+
new (): {
|
|
415
|
+
$slots: S;
|
|
416
|
+
};
|
|
417
|
+
};
|
|
418
|
+
|
|
419
|
+
declare type __VLS_WithTemplateSlots_8<T, S> = T & {
|
|
420
|
+
new (): {
|
|
421
|
+
$slots: S;
|
|
422
|
+
};
|
|
423
|
+
};
|
|
424
|
+
|
|
425
|
+
declare type __VLS_WithTemplateSlots_9<T, S> = T & {
|
|
426
|
+
new (): {
|
|
427
|
+
$slots: S;
|
|
428
|
+
};
|
|
429
|
+
};
|
|
430
|
+
|
|
431
|
+
export declare type AccentPalette = keyof typeof accentPalettes;
|
|
432
|
+
|
|
433
|
+
export declare const accentPaletteIds: AccentPalette[];
|
|
434
|
+
|
|
435
|
+
/**
|
|
436
|
+
* Named accent palettes for Akoma.
|
|
437
|
+
* Set on `<html data-accent="teal">` or override CSS variables in your app.
|
|
438
|
+
*/
|
|
439
|
+
export declare const accentPalettes: {
|
|
440
|
+
readonly violet: {
|
|
441
|
+
readonly label: "Violet";
|
|
442
|
+
readonly description: "Mineral violet — default for App mood.";
|
|
443
|
+
readonly sample: "#6658b8";
|
|
444
|
+
};
|
|
445
|
+
readonly evergreen: {
|
|
446
|
+
readonly label: "Evergreen";
|
|
447
|
+
readonly description: "Confident green — default for Site mood.";
|
|
448
|
+
readonly sample: "#2e684f";
|
|
449
|
+
};
|
|
450
|
+
readonly teal: {
|
|
451
|
+
readonly label: "Teal";
|
|
452
|
+
readonly description: "Calm mineral teal for productivity and wellness apps.";
|
|
453
|
+
readonly sample: "#3a7d85";
|
|
454
|
+
};
|
|
455
|
+
readonly ocean: {
|
|
456
|
+
readonly label: "Ocean";
|
|
457
|
+
readonly description: "Trustworthy blue for data-heavy products.";
|
|
458
|
+
readonly sample: "#3d6a94";
|
|
459
|
+
};
|
|
460
|
+
readonly amber: {
|
|
461
|
+
readonly label: "Amber";
|
|
462
|
+
readonly description: "Warm gold for optimistic, human interfaces.";
|
|
463
|
+
readonly sample: "#9a702d";
|
|
464
|
+
};
|
|
465
|
+
readonly rose: {
|
|
466
|
+
readonly label: "Rose";
|
|
467
|
+
readonly description: "Dusty rose for lifestyle and creative tools.";
|
|
468
|
+
readonly sample: "#a8586a";
|
|
469
|
+
};
|
|
470
|
+
readonly coral: {
|
|
471
|
+
readonly label: "Coral";
|
|
472
|
+
readonly description: "Terracotta warmth without feeling playful.";
|
|
473
|
+
readonly sample: "#b5644a";
|
|
474
|
+
};
|
|
475
|
+
readonly slate: {
|
|
476
|
+
readonly label: "Slate";
|
|
477
|
+
readonly description: "Blue-gray for neutral B2B surfaces.";
|
|
478
|
+
readonly sample: "#4a5d73";
|
|
479
|
+
};
|
|
480
|
+
};
|
|
481
|
+
|
|
209
482
|
export declare const AkAmbientBg: DefineComponent<__VLS_Props_9, {}, {}, {}, {}, ComponentOptionsMixin, ComponentOptionsMixin, {}, string, PublicProps, Readonly<__VLS_Props_9> & Readonly<{}>, {
|
|
210
483
|
contained: boolean;
|
|
211
484
|
}, {}, {}, {}, string, ComponentProvideOptions, false, {}, HTMLDivElement>;
|
|
@@ -218,8 +491,19 @@ export declare const AkCard: __VLS_WithTemplateSlots_4<typeof __VLS_component_4,
|
|
|
218
491
|
|
|
219
492
|
export declare const AkChip: __VLS_WithTemplateSlots_3<typeof __VLS_component_3, __VLS_TemplateResult_3["slots"]>;
|
|
220
493
|
|
|
494
|
+
export declare const AkDivider: DefineComponent<__VLS_Props_11, {}, {}, {}, {}, ComponentOptionsMixin, ComponentOptionsMixin, {}, string, PublicProps, Readonly<__VLS_Props_11> & Readonly<{}>, {
|
|
495
|
+
spacing: DividerSpacing;
|
|
496
|
+
vertical: boolean;
|
|
497
|
+
}, {}, {}, {}, string, ComponentProvideOptions, false, {}, HTMLDivElement>;
|
|
498
|
+
|
|
221
499
|
export declare const AkEmptyState: __VLS_WithTemplateSlots_5<typeof __VLS_component_5, __VLS_TemplateResult_5["slots"]>;
|
|
222
500
|
|
|
501
|
+
export declare const AkIcon: DefineComponent<__VLS_Props_10, {}, {}, {}, {}, ComponentOptionsMixin, ComponentOptionsMixin, {}, string, PublicProps, Readonly<__VLS_Props_10> & Readonly<{}>, {
|
|
502
|
+
size: number | string;
|
|
503
|
+
}, {}, {}, {}, string, ComponentProvideOptions, false, {}, HTMLSpanElement>;
|
|
504
|
+
|
|
505
|
+
export declare const AkIconButton: __VLS_WithTemplateSlots_9<typeof __VLS_component_9, __VLS_TemplateResult_9["slots"]>;
|
|
506
|
+
|
|
223
507
|
export declare const AkInput: DefineComponent<__VLS_Props_5, {}, {}, {}, {}, ComponentOptionsMixin, ComponentOptionsMixin, {
|
|
224
508
|
"update:modelValue": (value: string) => any;
|
|
225
509
|
}, string, PublicProps, Readonly<__VLS_Props_5> & Readonly<{
|
|
@@ -232,6 +516,10 @@ modelValue: string | number;
|
|
|
232
516
|
required: boolean;
|
|
233
517
|
}, {}, {}, {}, string, ComponentProvideOptions, false, {}, HTMLLabelElement>;
|
|
234
518
|
|
|
519
|
+
export declare const AkList: __VLS_WithTemplateSlots_7<typeof __VLS_component_7, __VLS_TemplateResult_7["slots"]>;
|
|
520
|
+
|
|
521
|
+
export declare const AkListRow: __VLS_WithTemplateSlots_8<typeof __VLS_component_8, __VLS_TemplateResult_8["slots"]>;
|
|
522
|
+
|
|
235
523
|
export declare const Akoma: Plugin_2;
|
|
236
524
|
|
|
237
525
|
export declare type AkomaOptions = {
|
|
@@ -239,12 +527,34 @@ export declare type AkomaOptions = {
|
|
|
239
527
|
prefix?: string;
|
|
240
528
|
};
|
|
241
529
|
|
|
530
|
+
export declare const AkProgress: DefineComponent<__VLS_Props_12, {}, {}, {}, {}, ComponentOptionsMixin, ComponentOptionsMixin, {}, string, PublicProps, Readonly<__VLS_Props_12> & Readonly<{}>, {
|
|
531
|
+
size: ProgressSize;
|
|
532
|
+
value: number;
|
|
533
|
+
max: number;
|
|
534
|
+
showValue: boolean;
|
|
535
|
+
}, {}, {}, {}, string, ComponentProvideOptions, false, {}, HTMLDivElement>;
|
|
536
|
+
|
|
537
|
+
export declare const AkSectionHeader: __VLS_WithTemplateSlots_6<typeof __VLS_component_6, __VLS_TemplateResult_6["slots"]>;
|
|
538
|
+
|
|
242
539
|
export declare const AkShimmer: DefineComponent<__VLS_Props_8, {}, {}, {}, {}, ComponentOptionsMixin, ComponentOptionsMixin, {}, string, PublicProps, Readonly<__VLS_Props_8> & Readonly<{}>, {
|
|
243
540
|
width: string;
|
|
244
541
|
height: string;
|
|
245
542
|
radius: "sm" | "md" | "lg" | "full" | string;
|
|
246
543
|
}, {}, {}, {}, string, ComponentProvideOptions, false, {}, HTMLDivElement>;
|
|
247
544
|
|
|
545
|
+
export declare const AkSwitch: DefineComponent<__VLS_Props_16, {}, {}, {}, {}, ComponentOptionsMixin, ComponentOptionsMixin, {
|
|
546
|
+
"update:modelValue": (value: boolean) => any;
|
|
547
|
+
}, string, PublicProps, Readonly<__VLS_Props_16> & Readonly<{
|
|
548
|
+
"onUpdate:modelValue"?: ((value: boolean) => any) | undefined;
|
|
549
|
+
}>, {
|
|
550
|
+
disabled: boolean;
|
|
551
|
+
modelValue: boolean;
|
|
552
|
+
}, {}, {}, {}, string, ComponentProvideOptions, false, {}, HTMLLabelElement>;
|
|
553
|
+
|
|
554
|
+
export declare const AkTabBar: __VLS_WithTemplateSlots_10<typeof __VLS_component_10, __VLS_TemplateResult_10["slots"]>;
|
|
555
|
+
|
|
556
|
+
export declare const AkTabBarItem: __VLS_WithTemplateSlots_11<typeof __VLS_component_11, __VLS_TemplateResult_11["slots"]>;
|
|
557
|
+
|
|
248
558
|
export declare const AkTextarea: DefineComponent<__VLS_Props_6, {}, {}, {}, {}, ComponentOptionsMixin, ComponentOptionsMixin, {
|
|
249
559
|
"update:modelValue": (value: string) => any;
|
|
250
560
|
}, string, PublicProps, Readonly<__VLS_Props_6> & Readonly<{
|
|
@@ -256,12 +566,38 @@ required: boolean;
|
|
|
256
566
|
rows: number;
|
|
257
567
|
}, {}, {}, {}, string, ComponentProvideOptions, false, {}, HTMLLabelElement>;
|
|
258
568
|
|
|
569
|
+
/** App mood default when no data-accent is set */
|
|
570
|
+
export declare const appDefaultAccent: AccentPalette;
|
|
571
|
+
|
|
572
|
+
export declare function applyAccentPalette(root: HTMLElement, palette: AccentPalette | 'auto'): void;
|
|
573
|
+
|
|
259
574
|
export declare type BadgeVariant = 'neutral' | 'accent' | 'success' | 'warning' | 'danger' | 'info';
|
|
260
575
|
|
|
261
576
|
export declare type ButtonSize = 'sm' | 'md' | 'lg';
|
|
262
577
|
|
|
263
578
|
export declare type ButtonVariant = 'primary' | 'secondary' | 'ghost' | 'danger';
|
|
264
579
|
|
|
580
|
+
export declare const cuidaIconMap: Map<string, string>;
|
|
581
|
+
|
|
582
|
+
export declare type CuidaIconName = cIcons;
|
|
583
|
+
|
|
584
|
+
export declare type DividerSpacing = 'sm' | 'md' | 'lg';
|
|
585
|
+
|
|
586
|
+
export declare function getCuidaIconMarkup(name: CuidaIconName): string;
|
|
587
|
+
|
|
588
|
+
export declare type IconButtonSize = 'sm' | 'md' | 'lg';
|
|
589
|
+
|
|
590
|
+
export declare type IconButtonVariant = 'ghost' | 'secondary' | 'danger';
|
|
591
|
+
|
|
265
592
|
export declare type InputSize = 'sm' | 'md' | 'lg';
|
|
266
593
|
|
|
594
|
+
export declare type ListRowPadding = 'sm' | 'md';
|
|
595
|
+
|
|
596
|
+
export declare type ProgressSize = 'sm' | 'md';
|
|
597
|
+
|
|
598
|
+
export declare function resolveAccentPalette(mood: 'app' | 'site', explicit?: AccentPalette | null): AccentPalette;
|
|
599
|
+
|
|
600
|
+
/** Site mood default when no data-accent is set */
|
|
601
|
+
export declare const siteDefaultAccent: AccentPalette;
|
|
602
|
+
|
|
267
603
|
export { }
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@rafael_dias/akoma",
|
|
3
|
-
"version": "0.
|
|
3
|
+
"version": "0.7.6",
|
|
4
4
|
"description": "A human Vue 3 design system with expressive App and trustworthy Site moods.",
|
|
5
5
|
"type": "module",
|
|
6
6
|
"author": "Rafael",
|
|
@@ -28,11 +28,14 @@
|
|
|
28
28
|
"./style.css": "./dist/akoma.css",
|
|
29
29
|
"./tokens.css": "./src/styles/tokens.css",
|
|
30
30
|
"./base.css": "./src/styles/base.css",
|
|
31
|
-
"./motion.css": "./src/styles/motion.css"
|
|
31
|
+
"./motion.css": "./src/styles/motion.css",
|
|
32
|
+
"./accent-palettes.css": "./src/styles/accent-palettes.css",
|
|
33
|
+
"./content/*": "./content/*"
|
|
32
34
|
},
|
|
33
35
|
"files": [
|
|
34
36
|
"dist",
|
|
35
|
-
"src/styles"
|
|
37
|
+
"src/styles",
|
|
38
|
+
"content"
|
|
36
39
|
],
|
|
37
40
|
"publishConfig": {
|
|
38
41
|
"access": "public",
|
|
@@ -41,20 +44,23 @@
|
|
|
41
44
|
"scripts": {
|
|
42
45
|
"dev": "vite",
|
|
43
46
|
"build": "vue-tsc -p tsconfig.lib.json --declaration --emitDeclarationOnly && vite build --config vite.lib.config.ts",
|
|
44
|
-
"build:docs": "vite build",
|
|
47
|
+
"build:docs": "vite build && node scripts/prepare-docs-dist.mjs",
|
|
45
48
|
"preview": "vite preview",
|
|
46
49
|
"typecheck": "vue-tsc -p tsconfig.app.json --noEmit"
|
|
47
50
|
},
|
|
48
51
|
"peerDependencies": {
|
|
49
|
-
"vue": "^3.5.0"
|
|
52
|
+
"vue": "^3.5.0",
|
|
53
|
+
"@sysvale/cuida-icons": "^1.18.0"
|
|
50
54
|
},
|
|
51
55
|
"dependencies": {
|
|
52
|
-
"vue": "^3.5.
|
|
56
|
+
"vue": "^3.5.0"
|
|
53
57
|
},
|
|
54
58
|
"devDependencies": {
|
|
59
|
+
"@sysvale/cuida-icons": "^1.18.0",
|
|
55
60
|
"@types/node": "^24.13.2",
|
|
56
61
|
"@vitejs/plugin-vue": "^6.0.7",
|
|
57
62
|
"@vue/tsconfig": "^0.9.1",
|
|
63
|
+
"marked": "^18.0.6",
|
|
58
64
|
"typescript": "~6.0.2",
|
|
59
65
|
"vite": "^8.1.1",
|
|
60
66
|
"vite-plugin-dts": "^4.5.4",
|
|
@@ -0,0 +1,194 @@
|
|
|
1
|
+
/* Akoma — accent palettes
|
|
2
|
+
*
|
|
3
|
+
* Mood (App / Site) controls shape and surfaces.
|
|
4
|
+
* Accent controls brand color independently.
|
|
5
|
+
*
|
|
6
|
+
* <html data-mood="app" data-accent="teal">
|
|
7
|
+
*
|
|
8
|
+
* Without data-accent:
|
|
9
|
+
* App → violet
|
|
10
|
+
* Site → evergreen
|
|
11
|
+
*/
|
|
12
|
+
|
|
13
|
+
:root,
|
|
14
|
+
[data-mood='app']:not([data-accent]) {
|
|
15
|
+
--accent: #6658b8;
|
|
16
|
+
--accent-hover: #5548a3;
|
|
17
|
+
--accent-soft: #ece9f8;
|
|
18
|
+
--accent-contrast: #ffffff;
|
|
19
|
+
--bg-tinted: #f1eefb;
|
|
20
|
+
--orb-1: rgba(102, 88, 184, 0.13);
|
|
21
|
+
}
|
|
22
|
+
|
|
23
|
+
[data-mood='site']:not([data-accent]) {
|
|
24
|
+
--accent: #2e684f;
|
|
25
|
+
--accent-hover: #245640;
|
|
26
|
+
--accent-soft: #e2eee7;
|
|
27
|
+
--accent-contrast: #ffffff;
|
|
28
|
+
--bg-tinted: #f4f5f4;
|
|
29
|
+
--orb-1: rgba(46, 104, 79, 0.06);
|
|
30
|
+
}
|
|
31
|
+
|
|
32
|
+
[data-accent='violet'] {
|
|
33
|
+
--accent: #6658b8;
|
|
34
|
+
--accent-hover: #5548a3;
|
|
35
|
+
--accent-soft: #ece9f8;
|
|
36
|
+
--accent-contrast: #ffffff;
|
|
37
|
+
--bg-tinted: #f1eefb;
|
|
38
|
+
--orb-1: rgba(102, 88, 184, 0.13);
|
|
39
|
+
}
|
|
40
|
+
|
|
41
|
+
[data-accent='evergreen'] {
|
|
42
|
+
--accent: #2e684f;
|
|
43
|
+
--accent-hover: #245640;
|
|
44
|
+
--accent-soft: #e2eee7;
|
|
45
|
+
--accent-contrast: #ffffff;
|
|
46
|
+
--bg-tinted: #f2f5f3;
|
|
47
|
+
--orb-1: rgba(46, 104, 79, 0.07);
|
|
48
|
+
}
|
|
49
|
+
|
|
50
|
+
[data-accent='teal'] {
|
|
51
|
+
--accent: #3a7d85;
|
|
52
|
+
--accent-hover: #2f686f;
|
|
53
|
+
--accent-soft: #e3eff0;
|
|
54
|
+
--accent-contrast: #ffffff;
|
|
55
|
+
--bg-tinted: #e8f2f3;
|
|
56
|
+
--orb-1: rgba(58, 125, 133, 0.12);
|
|
57
|
+
}
|
|
58
|
+
|
|
59
|
+
[data-accent='ocean'] {
|
|
60
|
+
--accent: #3d6a94;
|
|
61
|
+
--accent-hover: #32577a;
|
|
62
|
+
--accent-soft: #e5eef5;
|
|
63
|
+
--accent-contrast: #ffffff;
|
|
64
|
+
--bg-tinted: #e8f0f7;
|
|
65
|
+
--orb-1: rgba(61, 106, 148, 0.11);
|
|
66
|
+
}
|
|
67
|
+
|
|
68
|
+
[data-accent='amber'] {
|
|
69
|
+
--accent: #9a702d;
|
|
70
|
+
--accent-hover: #7f5c24;
|
|
71
|
+
--accent-soft: #f5ecd4;
|
|
72
|
+
--accent-contrast: #ffffff;
|
|
73
|
+
--bg-tinted: #f8f2e4;
|
|
74
|
+
--orb-1: rgba(154, 112, 45, 0.1);
|
|
75
|
+
}
|
|
76
|
+
|
|
77
|
+
[data-accent='rose'] {
|
|
78
|
+
--accent: #a8586a;
|
|
79
|
+
--accent-hover: #8f4a59;
|
|
80
|
+
--accent-soft: #fae9ed;
|
|
81
|
+
--accent-contrast: #ffffff;
|
|
82
|
+
--bg-tinted: #f9eef1;
|
|
83
|
+
--orb-1: rgba(168, 88, 106, 0.11);
|
|
84
|
+
}
|
|
85
|
+
|
|
86
|
+
[data-accent='coral'] {
|
|
87
|
+
--accent: #b5644a;
|
|
88
|
+
--accent-hover: #9a543e;
|
|
89
|
+
--accent-soft: #faece8;
|
|
90
|
+
--accent-contrast: #ffffff;
|
|
91
|
+
--bg-tinted: #f9f0eb;
|
|
92
|
+
--orb-1: rgba(181, 100, 74, 0.11);
|
|
93
|
+
}
|
|
94
|
+
|
|
95
|
+
[data-accent='slate'] {
|
|
96
|
+
--accent: #4a5d73;
|
|
97
|
+
--accent-hover: #3c4d60;
|
|
98
|
+
--accent-soft: #e8ecf1;
|
|
99
|
+
--accent-contrast: #ffffff;
|
|
100
|
+
--bg-tinted: #eef1f5;
|
|
101
|
+
--orb-1: rgba(74, 93, 115, 0.1);
|
|
102
|
+
}
|
|
103
|
+
|
|
104
|
+
/* Dark — mood defaults */
|
|
105
|
+
[data-theme='dark']:not([data-accent]),
|
|
106
|
+
[data-theme='dark'][data-mood='app']:not([data-accent]) {
|
|
107
|
+
--accent: #a99ee8;
|
|
108
|
+
--accent-hover: #bbb2f0;
|
|
109
|
+
--accent-soft: #39354f;
|
|
110
|
+
--accent-contrast: #211d38;
|
|
111
|
+
--bg-tinted: #312e40;
|
|
112
|
+
--orb-1: rgba(169, 158, 232, 0.11);
|
|
113
|
+
}
|
|
114
|
+
|
|
115
|
+
[data-theme='dark'][data-mood='site']:not([data-accent]) {
|
|
116
|
+
--accent: #82b99d;
|
|
117
|
+
--accent-hover: #96c6ae;
|
|
118
|
+
--accent-soft: #294438;
|
|
119
|
+
--accent-contrast: #13241c;
|
|
120
|
+
--bg-tinted: #252928;
|
|
121
|
+
--orb-1: rgba(130, 185, 157, 0.06);
|
|
122
|
+
}
|
|
123
|
+
|
|
124
|
+
[data-theme='dark'][data-accent='violet'] {
|
|
125
|
+
--accent: #a99ee8;
|
|
126
|
+
--accent-hover: #bbb2f0;
|
|
127
|
+
--accent-soft: #39354f;
|
|
128
|
+
--accent-contrast: #211d38;
|
|
129
|
+
--bg-tinted: #312e40;
|
|
130
|
+
--orb-1: rgba(169, 158, 232, 0.11);
|
|
131
|
+
}
|
|
132
|
+
|
|
133
|
+
[data-theme='dark'][data-accent='evergreen'] {
|
|
134
|
+
--accent: #82b99d;
|
|
135
|
+
--accent-hover: #96c6ae;
|
|
136
|
+
--accent-soft: #294438;
|
|
137
|
+
--accent-contrast: #13241c;
|
|
138
|
+
--bg-tinted: #27312c;
|
|
139
|
+
--orb-1: rgba(130, 185, 157, 0.07);
|
|
140
|
+
}
|
|
141
|
+
|
|
142
|
+
[data-theme='dark'][data-accent='teal'] {
|
|
143
|
+
--accent: #7eb8bf;
|
|
144
|
+
--accent-hover: #95c7cd;
|
|
145
|
+
--accent-soft: #294548;
|
|
146
|
+
--accent-contrast: #142528;
|
|
147
|
+
--bg-tinted: #243638;
|
|
148
|
+
--orb-1: rgba(126, 184, 191, 0.1);
|
|
149
|
+
}
|
|
150
|
+
|
|
151
|
+
[data-theme='dark'][data-accent='ocean'] {
|
|
152
|
+
--accent: #8ab4d9;
|
|
153
|
+
--accent-hover: #9fc3e2;
|
|
154
|
+
--accent-soft: #2a3a4a;
|
|
155
|
+
--accent-contrast: #152130;
|
|
156
|
+
--bg-tinted: #253545;
|
|
157
|
+
--orb-1: rgba(138, 180, 217, 0.1);
|
|
158
|
+
}
|
|
159
|
+
|
|
160
|
+
[data-theme='dark'][data-accent='amber'] {
|
|
161
|
+
--accent: #d4ad61;
|
|
162
|
+
--accent-hover: #debb78;
|
|
163
|
+
--accent-soft: #413823;
|
|
164
|
+
--accent-contrast: #2a2212;
|
|
165
|
+
--bg-tinted: #3a3220;
|
|
166
|
+
--orb-1: rgba(212, 173, 97, 0.09);
|
|
167
|
+
}
|
|
168
|
+
|
|
169
|
+
[data-theme='dark'][data-accent='rose'] {
|
|
170
|
+
--accent: #df8a9a;
|
|
171
|
+
--accent-hover: #e79fad;
|
|
172
|
+
--accent-soft: #472f35;
|
|
173
|
+
--accent-contrast: #2a171c;
|
|
174
|
+
--bg-tinted: #3a2830;
|
|
175
|
+
--orb-1: rgba(223, 138, 154, 0.1);
|
|
176
|
+
}
|
|
177
|
+
|
|
178
|
+
[data-theme='dark'][data-accent='coral'] {
|
|
179
|
+
--accent: #e09a82;
|
|
180
|
+
--accent-hover: #e8ad99;
|
|
181
|
+
--accent-soft: #4a322c;
|
|
182
|
+
--accent-contrast: #2a1a15;
|
|
183
|
+
--bg-tinted: #3d2e28;
|
|
184
|
+
--orb-1: rgba(224, 154, 130, 0.1);
|
|
185
|
+
}
|
|
186
|
+
|
|
187
|
+
[data-theme='dark'][data-accent='slate'] {
|
|
188
|
+
--accent: #9aadc4;
|
|
189
|
+
--accent-hover: #aebed1;
|
|
190
|
+
--accent-soft: #2f3844;
|
|
191
|
+
--accent-contrast: #171e28;
|
|
192
|
+
--bg-tinted: #2a323c;
|
|
193
|
+
--orb-1: rgba(154, 173, 196, 0.1);
|
|
194
|
+
}
|
package/src/styles/index.css
CHANGED
package/src/styles/motion.css
CHANGED
|
@@ -16,6 +16,14 @@
|
|
|
16
16
|
animation: ambient-drift 18s ease-in-out infinite;
|
|
17
17
|
}
|
|
18
18
|
|
|
19
|
+
[data-mood='site'] .ambient__orb {
|
|
20
|
+
opacity: 0.2;
|
|
21
|
+
}
|
|
22
|
+
|
|
23
|
+
[data-mood='site'][data-theme='dark'] .ambient__orb {
|
|
24
|
+
opacity: 0.14;
|
|
25
|
+
}
|
|
26
|
+
|
|
19
27
|
.ambient__orb--1 {
|
|
20
28
|
width: 280px;
|
|
21
29
|
height: 280px;
|