ketekny-ui-kit 1.0.24 → 1.0.26

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/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "ketekny-ui-kit",
3
3
  "type": "module",
4
- "version": "1.0.24",
4
+ "version": "1.0.26",
5
5
  "description": "A Vue 3 UI component library with Tailwind CSS styling",
6
6
  "main": "index.js",
7
7
  "files": [
package/src/ui/kAlert.vue CHANGED
@@ -6,7 +6,7 @@
6
6
 
7
7
  <!-- Alert card -->
8
8
  <div
9
- class="relative w-full max-w-sm p-6 space-y-4 text-center bg-white border shadow-2xl z-5010 rounded-2xl border-primary/20 ring-1 ring-primary/10"
9
+ class="relative w-full max-w-sm p-6 space-y-4 text-center bg-white dark:bg-slate-900 border shadow-2xl z-5010 rounded-2xl border-primary/20 dark:border-slate-700 ring-1 ring-primary/10 dark:ring-slate-700/50"
10
10
  :class="['border-semantic-' + type + '-border']"
11
11
  style="z-index: 5010"
12
12
  >
@@ -29,7 +29,7 @@
29
29
  </div>
30
30
 
31
31
  <!-- Optional message -->
32
- <p v-if="message" class="leading-relaxed text-gray-600 text">
32
+ <p v-if="message" class="leading-relaxed text-gray-600 dark:text-slate-300 text">
33
33
  <span v-html="message" />
34
34
  </p>
35
35
 
package/src/ui/kChip.vue CHANGED
@@ -14,7 +14,7 @@
14
14
  <slot></slot>
15
15
  </template>
16
16
 
17
- <div v-if="value !== null" :class="['flex items-center justify-center ml-2 text-gray-800 rounded-sm bg-white/90', valueClass]">
17
+ <div v-if="value !== null" :class="['flex items-center justify-center ml-2 text-gray-800 rounded-sm bg-white/90 dark:bg-white/15 dark:text-gray-100', valueClass]">
18
18
  {{ value }}
19
19
  </div>
20
20
  </div>
@@ -67,14 +67,14 @@
67
67
 
68
68
  <!-- Month Grid Popover (Teleported) -->
69
69
  <teleport to="body">
70
- <div v-if="showPopup" class="p-4 bg-white border rounded-lg shadow-lg border-primary/20" :style="popupStyles">
70
+ <div v-if="showPopup" class="p-4 bg-white dark:bg-slate-800 border border-primary/20 dark:border-slate-600 rounded-lg shadow-lg" :style="popupStyles">
71
71
  <!-- Year Nav -->
72
- <div class="flex items-center justify-between pb-3 mb-4 border-b">
73
- <button @click.stop="currentYear--" class="text-primary/80 hover:text-primary" aria-label="Previous year">
72
+ <div class="flex items-center justify-between pb-3 mb-4 border-b border-slate-200 dark:border-slate-600">
73
+ <button @click.stop="currentYear--" class="text-primary/80 dark:text-sky-300 hover:text-primary dark:hover:text-sky-200" aria-label="Previous year">
74
74
  <ChevronLeft />
75
75
  </button>
76
- <span class="font-medium text-primary">{{ currentYear }}</span>
77
- <button @click.stop="currentYear++" class="text-primary/80 hover:text-primary" aria-label="Next year">
76
+ <span class="font-medium text-primary dark:text-sky-300">{{ currentYear }}</span>
77
+ <button @click.stop="currentYear++" class="text-primary/80 dark:text-sky-300 hover:text-primary dark:hover:text-sky-200" aria-label="Next year">
78
78
  <ChevronRight />
79
79
  </button>
80
80
  </div>
@@ -86,7 +86,7 @@
86
86
  :key="index"
87
87
  @click="selectMonth(index + 1)"
88
88
  class="px-3 py-2 text-center transition rounded-lg cursor-pointer"
89
- :class="[isSelected(index + 1) ? 'bg-primary text-white' : 'hover:bg-primary/10 text-gray-700']"
89
+ :class="[isSelected(index + 1) ? 'bg-primary text-white' : 'text-gray-700 dark:text-slate-200 hover:bg-primary/15 dark:hover:bg-sky-500/30 dark:hover:text-sky-100']"
90
90
  >
91
91
  {{ month }}
92
92
  </div>
@@ -148,9 +148,9 @@ export default {
148
148
  })();
149
149
 
150
150
  return {
151
- defaultStyle: "w-full px-3 py-2 border rounded-lg transition shadow-sm focus:outline-none text-gray-700 focus:ring-2 focus:ring-primary/20 focus:border-primary bg-white placeholder-gray-400",
151
+ defaultStyle: "w-full px-3 py-2 border border-slate-300 dark:border-slate-600 rounded-lg transition shadow-sm focus:outline-none text-gray-700 dark:text-slate-200 focus:ring-2 focus:ring-primary/20 focus:border-primary bg-white dark:bg-slate-800 placeholder-gray-400 dark:placeholder-slate-500",
152
152
  errorStyle: "border-red-500 focus:ring focus:ring-red-300",
153
- disabledStyle: "!bg-gray-100 !text-gray-400 !cursor-not-allowed",
153
+ disabledStyle: "!bg-gray-100 dark:!bg-slate-700 !text-gray-400 dark:!text-slate-500 !cursor-not-allowed",
154
154
 
155
155
  // Year-Month UI state
156
156
  showPopup: false,
@@ -8,7 +8,7 @@
8
8
  <transition name="dialog">
9
9
  <div
10
10
  ref="dialogPanel"
11
- class="relative bg-white shadow-lg overflow-hidden rounded-2xl flex flex-col max-h-[90vh] m-4"
11
+ class="relative bg-white dark:bg-slate-900 shadow-lg overflow-hidden rounded-2xl flex flex-col max-h-[90vh] m-4"
12
12
  :class="dialogClasses"
13
13
  :role="'dialog'"
14
14
  :aria-modal="'true'"
@@ -36,12 +36,12 @@
36
36
  </div>
37
37
 
38
38
  <!-- Scrollable slot content -->
39
- <div class="flex-1 p-4 overflow-auto bg-secondary">
39
+ <div class="flex-1 p-4 overflow-auto bg-secondary dark:bg-slate-800/60">
40
40
  <slot></slot>
41
41
  </div>
42
42
 
43
43
  <!-- Footer -->
44
- <div v-if="$slots.footer" class="flex flex-row justify-end gap-2 p-4 shrink-0">
44
+ <div v-if="$slots.footer" class="flex flex-row justify-end gap-2 p-4 shrink-0 border-t border-slate-100 dark:border-slate-700">
45
45
  <slot name="footer"></slot>
46
46
  </div>
47
47
  </div>
@@ -7,9 +7,9 @@
7
7
  <!-- <div class="fixed inset-0 bg-black bg-opacity-50 backdrop-blur-sm" @click="close"></div> -->
8
8
 
9
9
  <!-- Drawer -->
10
- <div class="fixed top-0 bottom-0 z-50 flex flex-col bg-white shadow-xl w-[400px] transition-all duration-500 " :class="side === 'right' ? 'right-0' : 'left-0'">
10
+ <div class="fixed top-0 bottom-0 z-50 flex flex-col bg-white dark:bg-slate-900 shadow-xl w-[400px] transition-all duration-500" :class="side === 'right' ? 'right-0' : 'left-0'">
11
11
  <!-- Header -->
12
- <div class="flex items-center justify-between p-4 text-white bg-primary">
12
+ <div class="flex items-center justify-between p-4 text-white bg-primary dark:bg-sky-800">
13
13
  <div class="text-lg font-semibold">{{ title }}</div>
14
14
  <button @click="close" class="text-white hover:text-gray-200">
15
15
  <X class="w-5 h-5" />
@@ -17,12 +17,12 @@
17
17
  </div>
18
18
 
19
19
  <!-- Content -->
20
- <div class="flex-1 p-4 overflow-auto bg-secondary">
20
+ <div class="flex-1 p-4 overflow-auto bg-secondary dark:bg-slate-800/60">
21
21
  <slot></slot>
22
22
  </div>
23
23
 
24
24
  <!-- Footer -->
25
- <div class="p-4 bg-gray-100">
25
+ <div class="p-4 bg-gray-100 dark:bg-slate-800 border-t border-slate-200 dark:border-slate-700">
26
26
  <slot name="footer"></slot>
27
27
  </div>
28
28
  </div>
@@ -1,7 +1,7 @@
1
1
  <template>
2
2
  <div class="w-full">
3
3
  <div
4
- class="relative w-full overflow-hidden rounded-full bg-slate-200"
4
+ class="relative w-full overflow-hidden rounded-full bg-slate-200 dark:bg-slate-700"
5
5
  :style="{ height: resolvedHeight }"
6
6
  role="progressbar"
7
7
  :aria-valuemin="0"
@@ -15,7 +15,7 @@
15
15
  />
16
16
  <span
17
17
  v-if="showValue"
18
- class="absolute inset-0 flex items-center justify-center text-xs font-semibold text-slate-700"
18
+ class="absolute inset-0 flex items-center justify-center text-xs font-semibold text-slate-700 dark:text-slate-200"
19
19
  >
20
20
  {{ Math.round(percentage) }}%
21
21
  </span>
@@ -1,13 +1,13 @@
1
1
  <template>
2
2
  <div class="flex items-center justify-center w-16 space-x-1" v-if="type == 'line'">
3
- <i class="ml-1 text-primary pi pi-wave-pulse" />
4
- <div class="w-2 h-2 rounded-full bg-primary animate-fade" :style="{ animationDelay: '0s' }"></div>
5
- <div class="w-2 h-2 rounded-full bg-primary animate-fade" :style="{ animationDelay: '0.15s' }"></div>
6
- <div class="w-2 h-2 rounded-full bg-primary animate-fade" :style="{ animationDelay: '0.3s' }"></div>
7
- <div class="w-2 h-2 rounded-full bg-primary animate-fade" :style="{ animationDelay: '0.45s' }"></div>
3
+ <i class="ml-1 text-primary dark:text-sky-200 pi pi-wave-pulse" />
4
+ <div class="w-2 h-2 rounded-full bg-primary dark:bg-sky-200 animate-fade" :style="{ animationDelay: '0s' }"></div>
5
+ <div class="w-2 h-2 rounded-full bg-primary dark:bg-sky-200 animate-fade" :style="{ animationDelay: '0.15s' }"></div>
6
+ <div class="w-2 h-2 rounded-full bg-primary dark:bg-sky-200 animate-fade" :style="{ animationDelay: '0.3s' }"></div>
7
+ <div class="w-2 h-2 rounded-full bg-primary dark:bg-sky-200 animate-fade" :style="{ animationDelay: '0.45s' }"></div>
8
8
  </div>
9
9
 
10
- <Loader class="w-6 h-6 mr-2 animate-spin" style="animation-duration: 1.5s" v-else-if="type == 'circle'" />
10
+ <Loader class="w-6 h-6 mr-2 animate-spin text-primary dark:text-sky-200" style="animation-duration: 1.5s" v-else-if="type == 'circle'" />
11
11
  </template>
12
12
 
13
13
  <script setup>
@@ -25,7 +25,7 @@ export default {
25
25
  @keyframes fade {
26
26
  0%,
27
27
  100% {
28
- opacity: 0.2;
28
+ opacity: 0.35;
29
29
  }
30
30
  50% {
31
31
  opacity: 1;
package/src/ui/kTable.vue CHANGED
@@ -103,7 +103,7 @@ export default {
103
103
  }
104
104
 
105
105
  .table-custom--card {
106
- @apply overflow-hidden bg-white border border-slate-200 rounded-xl shadow-md;
106
+ @apply overflow-hidden bg-white dark:bg-slate-800 border border-slate-200 dark:border-slate-700 rounded-xl shadow-md;
107
107
  }
108
108
 
109
109
  .table-custom--plain {
@@ -111,7 +111,7 @@ export default {
111
111
  }
112
112
 
113
113
  .table-custom--flat {
114
- @apply bg-white border border-slate-200 rounded-xl shadow-none;
114
+ @apply bg-white dark:bg-slate-800 border border-slate-200 dark:border-slate-700 rounded-xl shadow-none;
115
115
  }
116
116
 
117
117
  .table-custom--card th {
@@ -119,31 +119,31 @@ export default {
119
119
  }
120
120
 
121
121
  .table-custom--plain th {
122
- @apply px-4 py-2 text-sm font-semibold tracking-wide text-left text-slate-700 uppercase bg-transparent border-b border-slate-300;
122
+ @apply px-4 py-2 text-sm font-semibold tracking-wide text-left text-slate-700 dark:text-slate-300 uppercase bg-transparent border-b border-slate-300 dark:border-slate-600;
123
123
  }
124
124
 
125
125
  .table-custom--flat th {
126
- @apply px-4 py-2 text-sm font-semibold tracking-wide text-left uppercase text-slate-600 bg-slate-100 border-b border-slate-200 align-middle;
126
+ @apply px-4 py-2 text-sm font-semibold tracking-wide text-left uppercase text-slate-600 dark:text-slate-300 bg-slate-100 dark:bg-slate-700/50 border-b border-slate-200 dark:border-slate-600 align-middle;
127
127
  }
128
128
 
129
129
  .table-custom--card td {
130
- @apply h-[3.2rem] px-6 py-4 text-base text-slate-800;
130
+ @apply h-[3.2rem] px-6 py-4 text-base text-slate-800 dark:text-slate-200;
131
131
  }
132
132
 
133
133
  .table-custom--plain td {
134
- @apply h-[3.2rem] px-2 py-2 text-base text-slate-800;
134
+ @apply h-[3.2rem] px-2 py-2 text-base text-slate-800 dark:text-slate-200;
135
135
  }
136
136
 
137
137
  .table-custom--flat td {
138
- @apply h-[3.2rem] px-4 py-2 text-base text-slate-900 align-middle;
138
+ @apply h-[3.2rem] px-4 py-2 text-base text-slate-900 dark:text-slate-200 align-middle;
139
139
  }
140
140
 
141
141
  .table-custom tr {
142
- @apply transition duration-200 ease-in-out hover:bg-slate-50;
142
+ @apply transition duration-200 ease-in-out hover:bg-slate-50 dark:hover:bg-slate-700/40;
143
143
  }
144
144
 
145
145
  .table-custom tr:not(:last-child) {
146
- @apply border-b border-slate-200;
146
+ @apply border-b border-slate-200 dark:border-slate-700;
147
147
  }
148
148
 
149
149
  .table-custom td::before {
@@ -164,7 +164,7 @@ export default {
164
164
  }
165
165
 
166
166
  .k-table-mobile .table-custom tbody tr {
167
- @apply mb-3 border border-slate-200 rounded-lg bg-white;
167
+ @apply mb-3 border border-slate-200 dark:border-slate-700 rounded-lg bg-white dark:bg-slate-800;
168
168
  }
169
169
 
170
170
  .k-table-mobile .table-custom tbody tr:last-child {
package/src/ui/kTabs.vue CHANGED
@@ -1,11 +1,11 @@
1
1
  <template>
2
- <div class="w-full overflow-hidden bg-white border rounded-md">
2
+ <div class="w-full overflow-hidden bg-white dark:bg-slate-800 border border-slate-200 dark:border-slate-700 rounded-md">
3
3
  <div class="flex">
4
4
  <button
5
5
  v-for="tab in tabs"
6
6
  :key="tab.id"
7
7
  @click="selectTab(tab.id)"
8
- :class="['px-8 py-4 text-lg font-medium', modelValue === tab.id ? 'bg-primary text-secondary ' : 'text-gray-500 hover:text-gray-700']"
8
+ :class="['px-8 py-4 text-lg font-medium', modelValue === tab.id ? 'bg-primary text-secondary' : 'text-gray-500 dark:text-slate-400 hover:text-gray-700 dark:hover:text-slate-200 hover:bg-slate-50 dark:hover:bg-slate-700/50']"
9
9
  >
10
10
  {{ tab.title }}
11
11
  </button>
package/src/ui/kToast.vue CHANGED
@@ -38,7 +38,7 @@
38
38
  v-if="toast.closable !== false"
39
39
  type="button"
40
40
  @click="remove(toast.id)"
41
- class="absolute text-xl leading-none text-gray-500 rounded-md top-2 right-2 hover:text-primary focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-offset-2 focus-visible:ring-primary"
41
+ class="absolute text-xl leading-none text-gray-500 dark:text-slate-400 rounded-md top-2 right-2 hover:text-primary dark:hover:text-sky-300 focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-offset-2 focus-visible:ring-primary"
42
42
  :aria-label="`Close ${toast.type} toast`">
43
43
  <X class="w-5 h-5" />
44
44
  </button>
@@ -1,33 +1,33 @@
1
1
  export const INTENT_VARIANT_STYLES = {
2
2
  primary: {
3
- solid: { enabled: "bg-sky-700 hover:bg-sky-600 text-white", disabled: "bg-sky-200 text-sky-900" },
4
- soft: { enabled: "bg-sky-100 hover:bg-sky-200 text-sky-900", disabled: "bg-sky-100 text-sky-500" },
5
- outlined: { enabled: "bg-transparent border border-sky-400 text-sky-800 hover:bg-sky-50", disabled: "bg-sky-50 border border-sky-200 text-sky-400" },
6
- plain: { enabled: "bg-transparent text-sky-800 hover:bg-sky-50", disabled: "bg-transparent text-sky-400" },
3
+ solid: { enabled: "bg-sky-700 hover:bg-sky-600 text-white dark:bg-blue-600 dark:hover:bg-blue-500", disabled: "bg-sky-200 text-sky-900 dark:bg-sky-900/40 dark:text-sky-500" },
4
+ soft: { enabled: "bg-sky-100 hover:bg-sky-200 text-sky-900 dark:bg-sky-500/25 dark:hover:bg-sky-500/35 dark:text-sky-200 dark:border-sky-400/60", disabled: "bg-sky-100 text-sky-500 dark:bg-sky-900/20 dark:text-sky-600" },
5
+ outlined: { enabled: "bg-transparent border border-sky-400 text-sky-800 hover:bg-sky-50 dark:border-sky-400 dark:text-sky-300 dark:hover:bg-sky-500/20", disabled: "bg-sky-50 border border-sky-200 text-sky-400 dark:bg-transparent dark:border-sky-800 dark:text-sky-700" },
6
+ plain: { enabled: "bg-transparent text-sky-800 hover:bg-sky-50 dark:text-sky-300 dark:hover:bg-sky-500/20", disabled: "bg-transparent text-sky-400 dark:text-sky-700" },
7
7
  },
8
8
  secondary: {
9
- solid: { enabled: "bg-slate-700 hover:bg-slate-600 text-white", disabled: "bg-slate-200 text-slate-700" },
10
- soft: { enabled: "bg-slate-100 hover:bg-slate-200 text-slate-900", disabled: "bg-slate-100 text-slate-500" },
11
- outlined: { enabled: "bg-transparent border border-slate-300 text-slate-900 hover:bg-slate-50", disabled: "bg-slate-50 border border-slate-200 text-slate-500" },
12
- plain: { enabled: "bg-transparent text-slate-800 hover:bg-slate-100", disabled: "bg-transparent text-slate-400" },
9
+ solid: { enabled: "bg-slate-700 hover:bg-slate-600 text-white dark:bg-slate-500 dark:hover:bg-slate-400", disabled: "bg-slate-200 text-slate-700 dark:bg-slate-700/40 dark:text-slate-500" },
10
+ soft: { enabled: "bg-slate-100 hover:bg-slate-200 text-slate-900 dark:bg-slate-500/45 dark:hover:bg-slate-500/60 dark:text-slate-100 dark:border-slate-400/60", disabled: "bg-slate-100 text-slate-500 dark:bg-slate-700/20 dark:text-slate-600" },
11
+ outlined: { enabled: "bg-transparent border border-slate-300 text-slate-900 hover:bg-slate-50 dark:border-slate-500 dark:text-slate-300 dark:hover:bg-slate-600/30", disabled: "bg-slate-50 border border-slate-200 text-slate-500 dark:bg-transparent dark:border-slate-700 dark:text-slate-600" },
12
+ plain: { enabled: "bg-transparent text-slate-800 hover:bg-slate-100 dark:text-slate-300 dark:hover:bg-slate-600/30", disabled: "bg-transparent text-slate-400 dark:text-slate-600" },
13
13
  },
14
14
  success: {
15
- solid: { enabled: "bg-emerald-700 hover:bg-emerald-600 text-white", disabled: "bg-emerald-200 text-emerald-900" },
16
- soft: { enabled: "bg-emerald-100 hover:bg-emerald-200 text-emerald-900", disabled: "bg-emerald-100 text-emerald-500" },
17
- outlined: { enabled: "bg-transparent border border-emerald-400 text-emerald-800 hover:bg-emerald-50", disabled: "bg-emerald-50 border border-emerald-200 text-emerald-400" },
18
- plain: { enabled: "bg-transparent text-emerald-800 hover:bg-emerald-50", disabled: "bg-transparent text-emerald-400" },
15
+ solid: { enabled: "bg-emerald-700 hover:bg-emerald-600 text-white dark:bg-emerald-500 dark:hover:bg-emerald-400", disabled: "bg-emerald-200 text-emerald-900 dark:bg-emerald-900/40 dark:text-emerald-500" },
16
+ soft: { enabled: "bg-emerald-100 hover:bg-emerald-200 text-emerald-900 dark:bg-emerald-500/25 dark:hover:bg-emerald-500/35 dark:text-emerald-200 dark:border-emerald-400/60", disabled: "bg-emerald-100 text-emerald-500 dark:bg-emerald-900/20 dark:text-emerald-600" },
17
+ outlined: { enabled: "bg-transparent border border-emerald-400 text-emerald-800 hover:bg-emerald-50 dark:border-emerald-400 dark:text-emerald-300 dark:hover:bg-emerald-500/20", disabled: "bg-emerald-50 border border-emerald-200 text-emerald-400 dark:bg-transparent dark:border-emerald-800 dark:text-emerald-700" },
18
+ plain: { enabled: "bg-transparent text-emerald-800 hover:bg-emerald-50 dark:text-emerald-300 dark:hover:bg-emerald-500/20", disabled: "bg-transparent text-emerald-400 dark:text-emerald-700" },
19
19
  },
20
20
  warning: {
21
- solid: { enabled: "bg-amber-700 hover:bg-amber-600 text-white", disabled: "bg-amber-200 text-amber-900" },
22
- soft: { enabled: "bg-amber-100 hover:bg-amber-200 text-amber-900", disabled: "bg-amber-100 text-amber-500" },
23
- outlined: { enabled: "bg-transparent border border-amber-400 text-amber-800 hover:bg-amber-50", disabled: "bg-amber-50 border border-amber-200 text-amber-400" },
24
- plain: { enabled: "bg-transparent text-amber-800 hover:bg-amber-50", disabled: "bg-transparent text-amber-400" },
21
+ solid: { enabled: "bg-amber-700 hover:bg-amber-600 text-white dark:bg-amber-500 dark:hover:bg-amber-400", disabled: "bg-amber-200 text-amber-900 dark:bg-amber-900/40 dark:text-amber-500" },
22
+ soft: { enabled: "bg-amber-100 hover:bg-amber-200 text-amber-900 dark:bg-amber-500/25 dark:hover:bg-amber-500/35 dark:text-amber-200 dark:border-amber-400/60", disabled: "bg-amber-100 text-amber-500 dark:bg-amber-900/20 dark:text-amber-600" },
23
+ outlined: { enabled: "bg-transparent border border-amber-400 text-amber-800 hover:bg-amber-50 dark:border-amber-400 dark:text-amber-300 dark:hover:bg-amber-500/20", disabled: "bg-amber-50 border border-amber-200 text-amber-400 dark:bg-transparent dark:border-amber-800 dark:text-amber-700" },
24
+ plain: { enabled: "bg-transparent text-amber-800 hover:bg-amber-50 dark:text-amber-300 dark:hover:bg-amber-500/20", disabled: "bg-transparent text-amber-400 dark:text-amber-700" },
25
25
  },
26
26
  danger: {
27
- solid: { enabled: "bg-rose-700 hover:bg-rose-600 text-white", disabled: "bg-rose-200 text-rose-900" },
28
- soft: { enabled: "bg-rose-100 hover:bg-rose-200 text-rose-900", disabled: "bg-rose-100 text-rose-500" },
29
- outlined: { enabled: "bg-transparent border border-rose-400 text-rose-800 hover:bg-rose-50", disabled: "bg-rose-50 border border-rose-200 text-rose-400" },
30
- plain: { enabled: "bg-transparent text-rose-800 hover:bg-rose-50", disabled: "bg-transparent text-rose-400" },
27
+ solid: { enabled: "bg-rose-700 hover:bg-rose-600 text-white dark:bg-rose-500 dark:hover:bg-rose-400", disabled: "bg-rose-200 text-rose-900 dark:bg-rose-900/40 dark:text-rose-500" },
28
+ soft: { enabled: "bg-rose-100 hover:bg-rose-200 text-rose-900 dark:bg-rose-500/25 dark:hover:bg-rose-500/35 dark:text-rose-200 dark:border-rose-400/60", disabled: "bg-rose-100 text-rose-500 dark:bg-rose-900/20 dark:text-rose-600" },
29
+ outlined: { enabled: "bg-transparent border border-rose-400 text-rose-800 hover:bg-rose-50 dark:border-rose-400 dark:text-rose-300 dark:hover:bg-rose-500/20", disabled: "bg-rose-50 border border-rose-200 text-rose-400 dark:bg-transparent dark:border-rose-800 dark:text-rose-700" },
30
+ plain: { enabled: "bg-transparent text-rose-800 hover:bg-rose-50 dark:text-rose-300 dark:hover:bg-rose-500/20", disabled: "bg-transparent text-rose-400 dark:text-rose-700" },
31
31
  },
32
32
  };
33
33
 
@@ -1,7 +1,7 @@
1
1
  import { INTENT_VARIANT_STYLES } from "./intentColors";
2
2
 
3
3
  export const K_BUTTON_FOCUS_RING = "focus-visible:ring-slate-900";
4
- export const K_BUTTON_BASE = "inline-flex flex-row items-center justify-center font-medium transition-all rounded-lg";
4
+ export const K_BUTTON_BASE = "inline-flex flex-row items-center justify-center font-medium transition-all rounded-lg border border-transparent";
5
5
 
6
6
  export const K_BUTTON_SIZE_STYLES = {
7
7
  normal: {