@komarcalabs/design-system 0.1.2 → 0.1.4

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 (120) hide show
  1. package/README.md +5 -0
  2. package/dist/index.js +79 -43
  3. package/dist/plugin-mUxynfRy.js +3064 -0
  4. package/dist/react/components/KmSkeleton.d.ts +16 -0
  5. package/dist/react/components/KmSkeleton.d.ts.map +1 -0
  6. package/dist/react/components/index.d.ts +1 -0
  7. package/dist/react/components/index.d.ts.map +1 -1
  8. package/dist/react.js +191 -149
  9. package/dist/skeleton-D8D5ibC2.js +664 -0
  10. package/dist/styles.css +1 -1
  11. package/dist/tokens.js +28 -17
  12. package/dist/treeview-C6_M73YM.js +641 -0
  13. package/dist/variants/alert.d.ts +201 -6
  14. package/dist/variants/alert.d.ts.map +1 -1
  15. package/dist/variants/checkbox.d.ts +133 -0
  16. package/dist/variants/checkbox.d.ts.map +1 -0
  17. package/dist/variants/index.d.ts +8 -0
  18. package/dist/variants/index.d.ts.map +1 -1
  19. package/dist/variants/pagination.d.ts +91 -0
  20. package/dist/variants/pagination.d.ts.map +1 -0
  21. package/dist/variants/radio.d.ts +143 -0
  22. package/dist/variants/radio.d.ts.map +1 -0
  23. package/dist/variants/select.d.ts +46 -1
  24. package/dist/variants/select.d.ts.map +1 -1
  25. package/dist/variants/skeleton.d.ts +64 -0
  26. package/dist/variants/skeleton.d.ts.map +1 -0
  27. package/dist/variants/table.d.ts +106 -0
  28. package/dist/variants/table.d.ts.map +1 -0
  29. package/dist/variants/tabs.d.ts +124 -0
  30. package/dist/variants/tabs.d.ts.map +1 -0
  31. package/dist/variants/toggleSwitch.d.ts +9 -0
  32. package/dist/variants/toggleSwitch.d.ts.map +1 -1
  33. package/dist/variants/treeview.d.ts +97 -0
  34. package/dist/variants/treeview.d.ts.map +1 -0
  35. package/dist/variants/typography.d.ts +377 -0
  36. package/dist/variants/typography.d.ts.map +1 -0
  37. package/dist/vue/components/KmAlert.vue.d.ts +16 -1
  38. package/dist/vue/components/KmAlert.vue.d.ts.map +1 -1
  39. package/dist/vue/components/KmBadge.vue.d.ts +2 -0
  40. package/dist/vue/components/KmBadge.vue.d.ts.map +1 -1
  41. package/dist/vue/components/KmButton.vue.d.ts +3 -1
  42. package/dist/vue/components/KmButton.vue.d.ts.map +1 -1
  43. package/dist/vue/components/KmCheckbox.vue.d.ts +45 -0
  44. package/dist/vue/components/KmCheckbox.vue.d.ts.map +1 -0
  45. package/dist/vue/components/KmDialog/KmDialog.vue.d.ts +2 -2
  46. package/dist/vue/components/KmDialog/KmDialog.vue.d.ts.map +1 -1
  47. package/dist/vue/components/KmFormControl.vue.d.ts +37 -0
  48. package/dist/vue/components/KmFormControl.vue.d.ts.map +1 -0
  49. package/dist/vue/components/KmHeading.vue.d.ts +34 -0
  50. package/dist/vue/components/KmHeading.vue.d.ts.map +1 -0
  51. package/dist/vue/components/KmHtml.vue.d.ts +32 -0
  52. package/dist/vue/components/KmHtml.vue.d.ts.map +1 -0
  53. package/dist/vue/components/KmInput.vue.d.ts +2 -0
  54. package/dist/vue/components/KmInput.vue.d.ts.map +1 -1
  55. package/dist/vue/components/KmPagination/KmPagination.vue.d.ts +53 -0
  56. package/dist/vue/components/KmPagination/KmPagination.vue.d.ts.map +1 -0
  57. package/dist/vue/components/KmPagination/index.d.ts +3 -0
  58. package/dist/vue/components/KmPagination/index.d.ts.map +1 -0
  59. package/dist/vue/components/KmPopover.vue.d.ts +141 -0
  60. package/dist/vue/components/KmPopover.vue.d.ts.map +1 -0
  61. package/dist/vue/components/KmRadio.vue.d.ts +47 -0
  62. package/dist/vue/components/KmRadio.vue.d.ts.map +1 -0
  63. package/dist/vue/components/KmRadioGroup.vue.d.ts +42 -0
  64. package/dist/vue/components/KmRadioGroup.vue.d.ts.map +1 -0
  65. package/dist/vue/components/KmScrollArea.vue.d.ts +60 -0
  66. package/dist/vue/components/KmScrollArea.vue.d.ts.map +1 -0
  67. package/dist/vue/components/KmSelect.vue.d.ts +66 -17
  68. package/dist/vue/components/KmSelect.vue.d.ts.map +1 -1
  69. package/dist/vue/components/KmSkeleton.vue.d.ts +38 -0
  70. package/dist/vue/components/KmSkeleton.vue.d.ts.map +1 -0
  71. package/dist/vue/components/KmStepper.vue.d.ts +8 -2
  72. package/dist/vue/components/KmStepper.vue.d.ts.map +1 -1
  73. package/dist/vue/components/KmTable/KmTable.vue.d.ts +39 -0
  74. package/dist/vue/components/KmTable/KmTable.vue.d.ts.map +1 -0
  75. package/dist/vue/components/KmTable/KmTableBody.vue.d.ts +21 -0
  76. package/dist/vue/components/KmTable/KmTableBody.vue.d.ts.map +1 -0
  77. package/dist/vue/components/KmTable/KmTableCaption.vue.d.ts +21 -0
  78. package/dist/vue/components/KmTable/KmTableCaption.vue.d.ts.map +1 -0
  79. package/dist/vue/components/KmTable/KmTableCell.vue.d.ts +25 -0
  80. package/dist/vue/components/KmTable/KmTableCell.vue.d.ts.map +1 -0
  81. package/dist/vue/components/KmTable/KmTableFooter.vue.d.ts +21 -0
  82. package/dist/vue/components/KmTable/KmTableFooter.vue.d.ts.map +1 -0
  83. package/dist/vue/components/KmTable/KmTableHead.vue.d.ts +24 -0
  84. package/dist/vue/components/KmTable/KmTableHead.vue.d.ts.map +1 -0
  85. package/dist/vue/components/KmTable/KmTableHeader.vue.d.ts +21 -0
  86. package/dist/vue/components/KmTable/KmTableHeader.vue.d.ts.map +1 -0
  87. package/dist/vue/components/KmTable/KmTableRow.vue.d.ts +24 -0
  88. package/dist/vue/components/KmTable/KmTableRow.vue.d.ts.map +1 -0
  89. package/dist/vue/components/KmTable/index.d.ts +17 -0
  90. package/dist/vue/components/KmTable/index.d.ts.map +1 -0
  91. package/dist/vue/components/KmTabs/KmTabs.vue.d.ts +45 -0
  92. package/dist/vue/components/KmTabs/KmTabs.vue.d.ts.map +1 -0
  93. package/dist/vue/components/KmTabs/KmTabsContent.vue.d.ts +24 -0
  94. package/dist/vue/components/KmTabs/KmTabsContent.vue.d.ts.map +1 -0
  95. package/dist/vue/components/KmTabs/KmTabsList.vue.d.ts +22 -0
  96. package/dist/vue/components/KmTabs/KmTabsList.vue.d.ts.map +1 -0
  97. package/dist/vue/components/KmTabs/KmTabsTrigger.vue.d.ts +26 -0
  98. package/dist/vue/components/KmTabs/KmTabsTrigger.vue.d.ts.map +1 -0
  99. package/dist/vue/components/KmTabs/index.d.ts +9 -0
  100. package/dist/vue/components/KmTabs/index.d.ts.map +1 -0
  101. package/dist/vue/components/KmText.vue.d.ts +43 -0
  102. package/dist/vue/components/KmText.vue.d.ts.map +1 -0
  103. package/dist/vue/components/KmTextarea.vue.d.ts +2 -0
  104. package/dist/vue/components/KmTextarea.vue.d.ts.map +1 -1
  105. package/dist/vue/components/KmTreeview/KmTreeNode.vue.d.ts +37 -0
  106. package/dist/vue/components/KmTreeview/KmTreeNode.vue.d.ts.map +1 -0
  107. package/dist/vue/components/KmTreeview/KmTreeview.vue.d.ts +48 -0
  108. package/dist/vue/components/KmTreeview/KmTreeview.vue.d.ts.map +1 -0
  109. package/dist/vue/components/KmTreeview/index.d.ts +5 -0
  110. package/dist/vue/components/KmTreeview/index.d.ts.map +1 -0
  111. package/dist/vue/components/KmTreeview/types.d.ts +11 -0
  112. package/dist/vue/components/KmTreeview/types.d.ts.map +1 -0
  113. package/dist/vue/components/index.d.ts +19 -0
  114. package/dist/vue/components/index.d.ts.map +1 -1
  115. package/dist/vue/plugin.d.ts.map +1 -1
  116. package/dist/vue.js +40 -15
  117. package/package.json +1 -1
  118. package/dist/carousel-D_f-K2v2.js +0 -83
  119. package/dist/plugin-DfFKi2ZR.js +0 -941
  120. package/dist/toggleSwitch-CpBXc_jq.js +0 -369
@@ -0,0 +1,664 @@
1
+ import { tv as e } from "tailwind-variants";
2
+ const r = e({
3
+ slots: {
4
+ root: [
5
+ "relative flex items-start gap-3.5 w-full rounded-xl border p-4 transition-all duration-200",
6
+ "font-km-body text-km-foreground shadow-xs"
7
+ ],
8
+ iconWrapper: [
9
+ "shrink-0 flex items-center justify-center rounded-lg p-1.5 transition-colors"
10
+ ],
11
+ icon: "w-5 h-5 shrink-0",
12
+ content: "flex-1 min-w-0 flex flex-col gap-0.5",
13
+ title: "font-semibold tracking-tight text-sm leading-5",
14
+ description: "text-xs sm:text-[13px] leading-relaxed text-km-foreground/85",
15
+ closeButton: [
16
+ "shrink-0 -mr-1 -mt-1 p-1 rounded-md opacity-60 transition-all hover:opacity-100",
17
+ "focus:outline-none focus:ring-2 focus:ring-offset-1 cursor-pointer"
18
+ ],
19
+ actions: "mt-3 flex items-center gap-2 flex-wrap"
20
+ },
21
+ variants: {
22
+ variant: {
23
+ subtle: {
24
+ root: ""
25
+ },
26
+ solid: {
27
+ root: "border-transparent text-white shadow-sm",
28
+ title: "text-white font-bold",
29
+ description: "text-white/90",
30
+ closeButton: "text-white hover:bg-white/20"
31
+ },
32
+ outline: {
33
+ root: "shadow-none border"
34
+ },
35
+ leftAccent: {
36
+ root: "border-l-[4px] shadow-xs"
37
+ }
38
+ },
39
+ tone: {
40
+ neutral: {
41
+ root: "bg-km-muted border-km-border",
42
+ iconWrapper: "bg-km-surface text-km-muted-foreground border border-km-border",
43
+ icon: "text-km-muted-foreground",
44
+ title: "text-km-foreground font-semibold",
45
+ description: "text-km-muted-foreground",
46
+ closeButton: "text-km-muted-foreground hover:bg-km-surface"
47
+ },
48
+ info: {
49
+ root: "bg-km-info-bg/80 border-km-info/30",
50
+ iconWrapper: "bg-km-surface/90 text-km-info border border-km-info/20 shadow-xs",
51
+ icon: "text-km-info",
52
+ title: "text-km-info font-semibold",
53
+ description: "text-km-foreground/85",
54
+ closeButton: "text-km-info hover:bg-km-info/10"
55
+ },
56
+ success: {
57
+ root: "bg-km-success-bg/80 border-km-success/30",
58
+ iconWrapper: "bg-km-surface/90 text-km-success border border-km-success/20 shadow-xs",
59
+ icon: "text-km-success",
60
+ title: "text-km-success font-semibold",
61
+ description: "text-km-foreground/85",
62
+ closeButton: "text-km-success hover:bg-km-success/10"
63
+ },
64
+ warning: {
65
+ root: "bg-km-warning-bg/80 border-km-warning/30",
66
+ iconWrapper: "bg-km-surface/90 text-km-warning border border-km-warning/20 shadow-xs",
67
+ icon: "text-km-warning",
68
+ title: "text-km-warning font-semibold",
69
+ description: "text-km-foreground/85",
70
+ closeButton: "text-km-warning hover:bg-km-warning/10"
71
+ },
72
+ danger: {
73
+ root: "bg-km-danger-bg/85 border-km-danger/35",
74
+ iconWrapper: "bg-km-surface/90 text-km-danger border border-km-danger/25 shadow-xs",
75
+ icon: "text-km-danger",
76
+ title: "text-km-danger font-semibold",
77
+ description: "text-km-foreground/85",
78
+ closeButton: "text-km-danger hover:bg-km-danger/10"
79
+ }
80
+ },
81
+ size: {
82
+ sm: {
83
+ root: "p-3 text-xs gap-2.5 rounded-lg",
84
+ iconWrapper: "p-1 rounded-md",
85
+ icon: "w-4 h-4",
86
+ title: "text-xs",
87
+ description: "text-[11.5px]"
88
+ },
89
+ md: {
90
+ root: "p-4 text-sm gap-3.5 rounded-xl",
91
+ iconWrapper: "p-1.5 rounded-lg",
92
+ icon: "w-5 h-5",
93
+ title: "text-sm",
94
+ description: "text-xs sm:text-[13px]"
95
+ },
96
+ lg: {
97
+ root: "p-5 text-base gap-4 rounded-xl",
98
+ iconWrapper: "p-2 rounded-lg",
99
+ icon: "w-6 h-6",
100
+ title: "text-base",
101
+ description: "text-sm sm:text-base"
102
+ }
103
+ }
104
+ },
105
+ compoundVariants: [
106
+ // SOLID VARIANTS
107
+ {
108
+ variant: "solid",
109
+ tone: "neutral",
110
+ class: {
111
+ root: "bg-km-gray-800 text-white border-transparent shadow-sm",
112
+ iconWrapper: "bg-white/20 text-white border-0 shadow-none",
113
+ icon: "text-white",
114
+ title: "text-white font-bold",
115
+ description: "text-slate-100",
116
+ closeButton: "text-white hover:bg-white/20"
117
+ }
118
+ },
119
+ {
120
+ variant: "solid",
121
+ tone: "info",
122
+ class: {
123
+ root: "bg-km-primary text-white border-transparent shadow-sm",
124
+ iconWrapper: "bg-white/20 text-white border-0 shadow-none",
125
+ icon: "text-white",
126
+ title: "text-white font-bold",
127
+ description: "text-white/95",
128
+ closeButton: "text-white hover:bg-white/20"
129
+ }
130
+ },
131
+ {
132
+ variant: "solid",
133
+ tone: "success",
134
+ class: {
135
+ root: "bg-km-success text-white border-transparent shadow-sm",
136
+ iconWrapper: "bg-white/20 text-white border-0 shadow-none",
137
+ icon: "text-white",
138
+ title: "text-white font-bold",
139
+ description: "text-white/95",
140
+ closeButton: "text-white hover:bg-white/20"
141
+ }
142
+ },
143
+ {
144
+ variant: "solid",
145
+ tone: "warning",
146
+ class: {
147
+ root: "bg-km-warning text-white border-transparent shadow-sm",
148
+ iconWrapper: "bg-white/20 text-white border-0 shadow-none",
149
+ icon: "text-white",
150
+ title: "text-white font-bold",
151
+ description: "text-white/95",
152
+ closeButton: "text-white hover:bg-white/20"
153
+ }
154
+ },
155
+ {
156
+ variant: "solid",
157
+ tone: "danger",
158
+ class: {
159
+ root: "bg-km-danger text-white border-transparent shadow-sm",
160
+ iconWrapper: "bg-white/20 text-white border-0 shadow-none",
161
+ icon: "text-white",
162
+ title: "text-white font-bold",
163
+ description: "text-white/95",
164
+ closeButton: "text-white hover:bg-white/20"
165
+ }
166
+ },
167
+ // OUTLINE VARIANTS
168
+ {
169
+ variant: "outline",
170
+ tone: "neutral",
171
+ class: {
172
+ root: "bg-km-muted/30 border-km-border text-km-foreground",
173
+ iconWrapper: "bg-km-muted text-km-muted-foreground border-transparent shadow-none",
174
+ title: "text-km-foreground font-semibold",
175
+ description: "text-km-muted-foreground"
176
+ }
177
+ },
178
+ {
179
+ variant: "outline",
180
+ tone: "info",
181
+ class: {
182
+ root: "bg-km-info-bg/25 border-km-info text-km-foreground",
183
+ iconWrapper: "bg-km-info-bg text-km-info border-transparent shadow-none",
184
+ title: "text-km-info font-semibold",
185
+ description: "text-km-foreground/85"
186
+ }
187
+ },
188
+ {
189
+ variant: "outline",
190
+ tone: "success",
191
+ class: {
192
+ root: "bg-km-success-bg/25 border-km-success text-km-foreground",
193
+ iconWrapper: "bg-km-success-bg text-km-success border-transparent shadow-none",
194
+ title: "text-km-success font-semibold",
195
+ description: "text-km-foreground/85"
196
+ }
197
+ },
198
+ {
199
+ variant: "outline",
200
+ tone: "warning",
201
+ class: {
202
+ root: "bg-km-warning-bg/25 border-km-warning text-km-foreground",
203
+ iconWrapper: "bg-km-warning-bg text-km-warning border-transparent shadow-none",
204
+ title: "text-km-warning font-semibold",
205
+ description: "text-km-foreground/85"
206
+ }
207
+ },
208
+ {
209
+ variant: "outline",
210
+ tone: "danger",
211
+ class: {
212
+ root: "bg-km-danger-bg/30 border-km-danger text-km-foreground",
213
+ iconWrapper: "bg-km-danger-bg text-km-danger border-transparent shadow-none",
214
+ title: "text-km-danger font-semibold",
215
+ description: "text-km-foreground/85"
216
+ }
217
+ },
218
+ // LEFT ACCENT VARIANTS
219
+ {
220
+ variant: "leftAccent",
221
+ tone: "neutral",
222
+ class: {
223
+ root: "bg-km-muted/70 border-km-border border-l-km-gray-500",
224
+ iconWrapper: "bg-km-surface text-km-muted-foreground border-km-border",
225
+ title: "text-km-foreground font-semibold",
226
+ description: "text-km-muted-foreground"
227
+ }
228
+ },
229
+ {
230
+ variant: "leftAccent",
231
+ tone: "info",
232
+ class: {
233
+ root: "bg-km-info-bg/50 border-km-border border-l-km-info",
234
+ iconWrapper: "bg-km-surface/90 text-km-info border-km-info/20",
235
+ title: "text-km-info font-semibold",
236
+ description: "text-km-foreground/85"
237
+ }
238
+ },
239
+ {
240
+ variant: "leftAccent",
241
+ tone: "success",
242
+ class: {
243
+ root: "bg-km-success-bg/50 border-km-border border-l-km-success",
244
+ iconWrapper: "bg-km-surface/90 text-km-success border-km-success/20",
245
+ title: "text-km-success font-semibold",
246
+ description: "text-km-foreground/85"
247
+ }
248
+ },
249
+ {
250
+ variant: "leftAccent",
251
+ tone: "warning",
252
+ class: {
253
+ root: "bg-km-warning-bg/50 border-km-border border-l-km-warning",
254
+ iconWrapper: "bg-km-surface/90 text-km-warning border-km-warning/20",
255
+ title: "text-km-warning font-semibold",
256
+ description: "text-km-foreground/85"
257
+ }
258
+ },
259
+ {
260
+ variant: "leftAccent",
261
+ tone: "danger",
262
+ class: {
263
+ root: "bg-km-danger-bg/50 border-km-border border-l-km-danger",
264
+ iconWrapper: "bg-km-surface/90 text-km-danger border-km-danger/20",
265
+ title: "text-km-danger font-semibold",
266
+ description: "text-km-foreground/85"
267
+ }
268
+ }
269
+ ],
270
+ defaultVariants: {
271
+ variant: "subtle",
272
+ tone: "neutral",
273
+ size: "md"
274
+ }
275
+ }), o = e({
276
+ base: [
277
+ "inline-flex items-center gap-1 rounded-full border border-transparent",
278
+ "px-2 py-0.5 text-xs font-semibold leading-4",
279
+ "transition-colors duration-200"
280
+ ],
281
+ variants: {
282
+ tone: {
283
+ neutral: "bg-km-muted text-km-foreground-muted border-km-border",
284
+ primary: "bg-km-primary-light text-km-primary border-km-primary",
285
+ success: "bg-km-success-bg text-km-success border-km-success",
286
+ warning: "bg-km-warning-bg text-km-warning border-km-warning",
287
+ danger: "bg-km-danger-bg text-km-danger border-km-danger",
288
+ info: "bg-km-info-bg text-km-info border-km-info"
289
+ },
290
+ size: {
291
+ sm: "px-1.5 py-0.25 text-[0.625rem]",
292
+ md: "px-2 py-0.5 text-xs",
293
+ lg: "px-2.5 py-0.75 text-sm"
294
+ }
295
+ },
296
+ defaultVariants: {
297
+ tone: "neutral",
298
+ size: "md"
299
+ }
300
+ }), n = e({
301
+ base: [
302
+ "inline-flex items-center justify-center gap-2",
303
+ "rounded-[8px] border border-transparent",
304
+ "font-semibold no-underline",
305
+ "transition-all duration-[200ms] ease-in-out",
306
+ "focus-visible:outline focus-visible:outline-2 focus-visible:outline-offset-2",
307
+ "active:scale-[0.98]",
308
+ "disabled:cursor-not-allowed disabled:opacity-60 disabled:scale-100",
309
+ "aria-disabled:cursor-not-allowed aria-disabled:opacity-60 aria-disabled:scale-100"
310
+ ],
311
+ variants: {
312
+ variant: {
313
+ // 1. VARIANTES PRINCIPALES
314
+ solid: "bg-km-primary text-white hover:bg-km-primary-hover focus:bg-km-primary-hover active:bg-km-primary-dark focus-visible:outline-km-primary shadow-sm",
315
+ solidSecondary: "bg-km-surface text-km-foreground border-km-border hover:bg-km-muted focus:bg-km-muted active:bg-km-gray-200 focus-visible:outline-km-primary",
316
+ outline: "bg-transparent text-km-primary border-km-primary hover:bg-km-primary/10 focus:bg-km-primary/10 active:bg-km-primary/20 focus-visible:outline-km-primary",
317
+ outlineSecondary: "bg-transparent text-km-foreground border-km-border hover:bg-km-muted focus:bg-km-muted active:bg-km-gray-200 focus-visible:outline-km-primary",
318
+ soft: "bg-km-primary/10 text-km-primary hover:bg-km-primary/20 focus:bg-km-primary/20 active:bg-km-primary/30 focus-visible:outline-km-primary",
319
+ ghost: "bg-transparent text-km-foreground hover:bg-km-muted focus:bg-km-muted active:bg-km-gray-200 focus-visible:outline-km-primary",
320
+ link: "bg-transparent text-km-primary underline hover:text-km-primary-hover active:opacity-80 px-0 border-0 focus-visible:outline-km-primary",
321
+ // 2. BOTONES POR SEMÁNTICA
322
+ success: "bg-km-success text-white hover:bg-km-success/90 focus:bg-km-success/90 active:bg-km-success/80 focus-visible:outline-km-success shadow-sm",
323
+ successOutline: "bg-transparent text-km-success border-km-success hover:bg-km-success/10 focus:bg-km-success/10 active:bg-km-success/20 focus-visible:outline-km-success",
324
+ successSoft: "bg-km-success-bg text-km-success hover:bg-km-success-bg/80 focus:bg-km-success-bg/80 active:bg-km-success-bg/60 focus-visible:outline-km-success",
325
+ warning: "bg-km-warning text-white hover:bg-km-warning/90 focus:bg-km-warning/90 active:bg-km-warning/80 focus-visible:outline-km-warning shadow-sm",
326
+ warningOutline: "bg-transparent text-km-warning border-km-warning hover:bg-km-warning/10 focus:bg-km-warning/10 active:bg-km-warning/20 focus-visible:outline-km-warning",
327
+ warningSoft: "bg-km-warning-bg text-km-warning hover:bg-km-warning-bg/80 focus:bg-km-warning-bg/80 active:bg-km-warning-bg/60 focus-visible:outline-km-warning",
328
+ danger: "bg-km-danger text-white hover:bg-km-danger/90 focus:bg-km-danger/90 active:bg-km-danger/80 focus-visible:outline-km-danger shadow-sm",
329
+ dangerOutline: "bg-transparent text-km-danger border-km-danger hover:bg-km-danger/10 focus:bg-km-danger/10 active:bg-km-danger/20 focus-visible:outline-km-danger",
330
+ dangerSoft: "bg-km-danger-bg text-km-danger hover:bg-km-danger-bg/80 focus:bg-km-danger-bg/80 active:bg-km-danger-bg/60 focus-visible:outline-km-danger",
331
+ info: "bg-km-info text-white hover:bg-km-info/90 focus:bg-km-info/90 active:bg-km-info/80 focus-visible:outline-km-info shadow-sm",
332
+ infoOutline: "bg-transparent text-km-info border-km-info hover:bg-km-info/10 focus:bg-km-info/10 active:bg-km-info/20 focus-visible:outline-km-info",
333
+ infoSoft: "bg-km-info-bg text-km-info hover:bg-km-info-bg/80 focus:bg-km-info-bg/80 active:bg-km-info-bg/60 focus-visible:outline-km-info",
334
+ // Accent
335
+ accent: "bg-km-accent text-km-primary-dark hover:bg-km-accent/90 focus:bg-km-accent/90 active:bg-km-accent/80 focus-visible:outline-km-accent shadow-sm",
336
+ accentOutline: "bg-transparent text-km-accent border-km-accent hover:bg-km-accent/10 focus:bg-km-accent/10 active:bg-km-accent/20 focus-visible:outline-km-accent",
337
+ accentSoft: "bg-km-accent/10 text-km-accent hover:bg-km-accent/20 focus:bg-km-accent/20 active:bg-km-accent/30 focus-visible:outline-km-accent"
338
+ },
339
+ size: {
340
+ xs: "min-h-[28px] px-2.5 py-1 text-[0.6875rem] leading-4",
341
+ sm: "min-h-[32px] px-3 py-1.5 text-[0.75rem] leading-4",
342
+ md: "min-h-[36px] px-4 py-2 text-sm leading-5",
343
+ lg: "min-h-[44px] px-6 py-2.5 text-base leading-6"
344
+ },
345
+ loading: {
346
+ true: "pointer-events-none opacity-80"
347
+ }
348
+ },
349
+ compoundVariants: [
350
+ // Solid variants get shadows
351
+ {
352
+ variant: ["solid", "success", "warning", "danger", "info", "accent"],
353
+ size: "sm",
354
+ class: "shadow-sm"
355
+ },
356
+ {
357
+ variant: ["solid", "success", "warning", "danger", "info", "accent"],
358
+ size: ["md", "lg"],
359
+ class: "shadow"
360
+ }
361
+ ],
362
+ defaultVariants: {
363
+ variant: "solid",
364
+ size: "md"
365
+ }
366
+ }), i = e({
367
+ slots: {
368
+ root: "rounded-km-lg border border-km-border bg-km-surface text-km-foreground shadow-km-sm",
369
+ header: "border-b border-km-border p-4",
370
+ body: "p-4",
371
+ footer: "border-t border-km-border p-4"
372
+ }
373
+ }), s = e({
374
+ slots: {
375
+ root: "grid gap-1.5 min-w-0",
376
+ label: "text-xs font-semibold text-km-foreground select-none",
377
+ hint: "text-[0.8125rem] leading-[1.125rem] text-km-muted-foreground",
378
+ error: "text-[0.8125rem] leading-[1.125rem] text-km-danger font-medium animate-fadeIn"
379
+ }
380
+ }), a = e({
381
+ base: [
382
+ "min-h-10 w-full rounded-km-md border border-km-border bg-km-surface",
383
+ "px-3 py-2 text-sm leading-5 text-km-foreground transition-all duration-150",
384
+ "placeholder:text-km-muted-foreground",
385
+ "focus-visible:outline-none focus-visible:border-km-primary focus-visible:ring-2 focus-visible:ring-km-primary-light",
386
+ "disabled:cursor-not-allowed disabled:opacity-60",
387
+ "aria-invalid:border-km-danger aria-invalid:focus-visible:border-km-danger aria-invalid:focus-visible:ring-km-danger/20"
388
+ ]
389
+ }), m = e({
390
+ base: [
391
+ "group relative inline-flex items-center justify-between w-full max-w-full min-w-0 select-none cursor-pointer",
392
+ "border rounded-[8px] font-medium transition-all duration-150 ease-in-out",
393
+ "outline-none focus:outline-none",
394
+ "focus:ring-2 focus:ring-km-primary/25 focus:border-km-primary",
395
+ "focus-visible:ring-2 focus-visible:ring-km-primary/25 focus-visible:border-km-primary",
396
+ "data-[state=open]:ring-2 data-[state=open]:ring-km-primary/25 data-[state=open]:border-km-primary",
397
+ "disabled:cursor-not-allowed disabled:opacity-60 disabled:bg-slate-50/70",
398
+ "data-[placeholder]:text-km-muted-foreground"
399
+ ],
400
+ variants: {
401
+ variant: {
402
+ default: "bg-km-surface border-km-border hover:border-slate-300 text-km-foreground shadow-2xs",
403
+ filled: "bg-slate-50/80 border-slate-200/80 hover:bg-slate-100/80 focus-visible:bg-white text-km-foreground",
404
+ ghost: "border-transparent bg-transparent hover:bg-slate-100/80 text-km-foreground shadow-none"
405
+ },
406
+ size: {
407
+ xs: "min-h-[26px] h-6.5 px-2 py-0.5 text-[0.6875rem] leading-4 gap-1.5",
408
+ sm: "min-h-[30px] h-7.5 px-2.5 py-1 text-xs leading-4 gap-1.5",
409
+ md: "min-h-10 h-10 px-3 py-2 text-xs leading-5 gap-2",
410
+ lg: "min-h-[42px] h-10.5 px-3.5 py-2 text-sm leading-6 gap-2.5"
411
+ },
412
+ error: {
413
+ true: "border-km-danger text-km-danger focus:border-km-danger focus:ring-km-danger/20 focus-visible:border-km-danger focus-visible:ring-km-danger/20 data-[state=open]:border-km-danger data-[state=open]:ring-km-danger/20"
414
+ }
415
+ },
416
+ defaultVariants: {
417
+ variant: "default",
418
+ size: "md"
419
+ }
420
+ }), d = e({
421
+ base: "flex",
422
+ variants: {
423
+ direction: {
424
+ row: "flex-row",
425
+ column: "flex-col"
426
+ },
427
+ gap: {
428
+ none: "gap-0",
429
+ xs: "gap-1",
430
+ sm: "gap-2",
431
+ md: "gap-4",
432
+ lg: "gap-6",
433
+ xl: "gap-8"
434
+ },
435
+ align: {
436
+ start: "items-start",
437
+ center: "items-center",
438
+ end: "items-end",
439
+ stretch: "items-stretch"
440
+ },
441
+ justify: {
442
+ start: "justify-start",
443
+ center: "justify-center",
444
+ end: "justify-end",
445
+ between: "justify-between"
446
+ },
447
+ wrap: {
448
+ true: "flex-wrap",
449
+ false: "flex-nowrap"
450
+ }
451
+ },
452
+ defaultVariants: {
453
+ direction: "column",
454
+ gap: "md",
455
+ align: "stretch",
456
+ justify: "start",
457
+ wrap: !1
458
+ }
459
+ }), l = e({
460
+ base: [
461
+ "min-h-24 w-full resize-y rounded-km-md border border-km-border bg-km-surface",
462
+ "px-3 py-2 text-sm leading-5 text-km-foreground transition-all duration-150",
463
+ "placeholder:text-km-muted-foreground",
464
+ "focus-visible:outline-none focus-visible:border-km-primary focus-visible:ring-2 focus-visible:ring-km-primary-light",
465
+ "disabled:cursor-not-allowed disabled:opacity-60",
466
+ "aria-invalid:border-km-danger aria-invalid:focus-visible:border-km-danger aria-invalid:focus-visible:ring-km-danger/20"
467
+ ]
468
+ }), c = e({
469
+ slots: {
470
+ // Desktop layout slots
471
+ root: "flex flex-col gap-0 w-full",
472
+ step: "flex gap-4 items-stretch",
473
+ stepContainer: "flex flex-col items-center shrink-0",
474
+ stepCircle: "flex items-center justify-center w-9 h-9 rounded-full shrink-0 transition-colors duration-[200ms] border",
475
+ stepText: "font-semibold text-base transition-colors duration-[200ms]",
476
+ connector: "flex-1 w-[3px] rounded-full transition-all duration-300",
477
+ content: "flex flex-col gap-1 pb-8 flex-1",
478
+ title: "font-bold text-base transition-colors duration-[200ms]",
479
+ description: "text-sm text-km-muted-foreground leading-snug max-w-[280px]",
480
+ // Mobile Circular layout slots
481
+ mobileRoot: "flex items-center justify-between p-4 bg-km-surface border border-km-border rounded-xl shadow-sm w-full",
482
+ mobileInfo: "flex flex-col gap-0.5",
483
+ mobileTitle: "font-bold text-base text-km-foreground leading-tight",
484
+ mobileLabel: "text-xs text-km-muted-foreground leading-tight",
485
+ mobileProgress: "relative flex items-center justify-center shrink-0",
486
+ mobilePercentText: "absolute font-semibold text-km-foreground text-[10px] leading-none",
487
+ // Mobile Horizontal progress bar slots
488
+ mobileHorizRoot: "flex flex-col gap-2.5 w-full p-4 bg-km-surface border border-km-border rounded-xl shadow-sm",
489
+ mobileHorizHeader: "flex items-center justify-between w-full",
490
+ mobileHorizTitle: "font-bold text-sm text-km-foreground",
491
+ mobileHorizSteps: "text-xs font-semibold text-km-muted-foreground",
492
+ mobileHorizTrack: "flex gap-1.5 w-full",
493
+ mobileHorizBar: "h-1 rounded-full flex-1 transition-all duration-300"
494
+ },
495
+ variants: {
496
+ state: {
497
+ completed: {
498
+ stepCircle: "bg-km-success text-white border-km-success",
499
+ title: "text-km-foreground",
500
+ connector: "bg-km-success"
501
+ },
502
+ active: {
503
+ stepCircle: "bg-km-primary text-white border-km-primary font-bold",
504
+ title: "text-km-primary",
505
+ connector: "bg-km-border"
506
+ },
507
+ upcoming: {
508
+ stepCircle: "bg-km-surface text-km-muted-foreground border-km-border",
509
+ title: "text-km-muted-foreground",
510
+ connector: "bg-km-border"
511
+ }
512
+ },
513
+ orientation: {
514
+ vertical: {
515
+ root: "flex flex-col gap-0",
516
+ step: "flex gap-4 items-stretch",
517
+ connector: "w-[3px] h-full min-h-[40px] my-1"
518
+ },
519
+ horizontal: {
520
+ root: "flex flex-row gap-4 items-center justify-between",
521
+ step: "flex flex-1 gap-2 items-center",
522
+ connector: "flex-1 h-[3px] w-full mx-2"
523
+ }
524
+ }
525
+ },
526
+ defaultVariants: {
527
+ state: "upcoming",
528
+ orientation: "vertical"
529
+ }
530
+ }), b = e({
531
+ slots: {
532
+ root: "inline-flex items-center gap-2.5 cursor-pointer select-none",
533
+ label: "text-sm text-km-foreground cursor-pointer select-none font-medium",
534
+ track: "relative rounded-full transition-all duration-200 ease-in-out cursor-pointer",
535
+ thumb: "absolute top-[2px] rounded-full bg-white shadow-sm transition-all duration-200 ease-in-out"
536
+ },
537
+ variants: {
538
+ size: {
539
+ small: {
540
+ track: "w-[34px] h-[18px]",
541
+ thumb: "w-[14px] h-[14px]",
542
+ label: "text-xs"
543
+ },
544
+ medium: {
545
+ track: "w-[44px] h-[24px]",
546
+ thumb: "w-[20px] h-[20px]",
547
+ label: "text-sm"
548
+ },
549
+ large: {
550
+ track: "w-[54px] h-[28px]",
551
+ thumb: "w-[24px] h-[24px]",
552
+ label: "text-base"
553
+ }
554
+ },
555
+ checked: {
556
+ true: {
557
+ track: "bg-km-primary hover:bg-km-primary-hover shadow-sm"
558
+ },
559
+ false: {
560
+ track: "bg-km-border-strong hover:bg-km-gray-400 dark:bg-km-muted dark:hover:bg-km-gray-600"
561
+ }
562
+ },
563
+ disabled: {
564
+ true: {
565
+ track: "cursor-not-allowed opacity-50 bg-km-muted",
566
+ label: "cursor-not-allowed opacity-50 text-km-foreground-muted"
567
+ },
568
+ false: {
569
+ track: "cursor-pointer"
570
+ }
571
+ }
572
+ },
573
+ compoundVariants: [
574
+ {
575
+ size: "small",
576
+ checked: !0,
577
+ class: {
578
+ thumb: "left-[18px]"
579
+ }
580
+ },
581
+ {
582
+ size: "small",
583
+ checked: !1,
584
+ class: {
585
+ thumb: "left-[2px]"
586
+ }
587
+ },
588
+ {
589
+ size: "medium",
590
+ checked: !0,
591
+ class: {
592
+ thumb: "left-[22px]"
593
+ }
594
+ },
595
+ {
596
+ size: "medium",
597
+ checked: !1,
598
+ class: {
599
+ thumb: "left-[2px]"
600
+ }
601
+ },
602
+ {
603
+ size: "large",
604
+ checked: !0,
605
+ class: {
606
+ thumb: "left-[28px]"
607
+ }
608
+ },
609
+ {
610
+ size: "large",
611
+ checked: !1,
612
+ class: {
613
+ thumb: "left-[2px]"
614
+ }
615
+ }
616
+ ],
617
+ defaultVariants: {
618
+ size: "medium",
619
+ checked: !1,
620
+ disabled: !1
621
+ }
622
+ }), g = e({
623
+ base: "bg-slate-200 shrink-0 select-none pointer-events-none",
624
+ variants: {
625
+ variant: {
626
+ default: "rounded-km-md",
627
+ text: "rounded-km-sm h-4",
628
+ circular: "rounded-full",
629
+ pill: "rounded-full",
630
+ rounded: "rounded-km-md",
631
+ card: "rounded-km-xl",
632
+ rectangular: "rounded-none"
633
+ },
634
+ tone: {
635
+ subtle: "bg-slate-100",
636
+ default: "bg-slate-200",
637
+ muted: "bg-slate-300/80"
638
+ },
639
+ animation: {
640
+ pulse: "animate-pulse",
641
+ wave: "relative overflow-hidden before:absolute before:inset-0 before:-translate-x-full before:animate-[shimmer_2s_infinite] before:bg-gradient-to-r before:from-transparent before:via-white/60 before:to-transparent",
642
+ none: ""
643
+ }
644
+ },
645
+ defaultVariants: {
646
+ variant: "default",
647
+ tone: "default",
648
+ animation: "pulse"
649
+ }
650
+ });
651
+ export {
652
+ r as a,
653
+ o as b,
654
+ n as c,
655
+ i as d,
656
+ g as e,
657
+ s as f,
658
+ d as g,
659
+ c as h,
660
+ a as i,
661
+ b as j,
662
+ m as s,
663
+ l as t
664
+ };