webcake-ui-kit 1.1.4 → 1.1.5

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,6 +1,6 @@
1
1
  {
2
2
  "name": "webcake-ui-kit",
3
- "version": "1.1.4",
3
+ "version": "1.1.5",
4
4
  "description": "UI Kit for Vue 2 && 3 - Pure Options API",
5
5
  "main": "src/index.js",
6
6
  "module": "src/index.js",
@@ -53,7 +53,7 @@ export default {
53
53
  size: {
54
54
  type: String,
55
55
  default: 'md',
56
- validator: v => ['xs', 'sm', 'md', 'lg', 'xl'].includes(v)
56
+ validator: v => ['mini', 'xs', 'sm', 'md', 'lg', 'xl'].includes(v)
57
57
  },
58
58
  roundness: {
59
59
  type: String,
@@ -34,7 +34,7 @@
34
34
  /* ============================================================
35
35
  Sizes
36
36
  ============================================================ */
37
- .ui-btn--xs {
37
+ .ui-btn--mini {
38
38
  height: 24px;
39
39
  padding: var(--spacing-3) var(--spacing-xs);
40
40
  gap: var(--spacing-6);
@@ -42,6 +42,22 @@
42
42
  line-height: var(--paragraph-mini-line-height);
43
43
  letter-spacing: var(--paragraph-mini-letter-spacing);
44
44
  }
45
+
46
+ .ui-btn--mini .ui-btn__icon,
47
+ .ui-btn--mini ::v-deep svg {
48
+ width: 16px;
49
+ height: 16px;
50
+ }
51
+
52
+ .ui-btn--xs {
53
+ height: 28px;
54
+ padding: var(--spacing-2xs) var(--spacing-xs);
55
+ gap: var(--spacing-6);
56
+ font-size: var(--paragraph-mini-font-size);
57
+ line-height: var(--paragraph-mini-line-height);
58
+ letter-spacing: var(--paragraph-mini-letter-spacing);
59
+ }
60
+
45
61
  .ui-btn--xs .ui-btn__icon,
46
62
  .ui-btn--xs ::v-deep svg {
47
63
  width: 16px;
@@ -56,6 +72,7 @@
56
72
  line-height: var(--paragraph-small-line-height);
57
73
  letter-spacing: var(--paragraph-small-letter-spacing);
58
74
  }
75
+
59
76
  .ui-btn--sm .ui-btn__icon,
60
77
  .ui-btn--sm ::v-deep svg {
61
78
  width: 20px;
@@ -70,6 +87,7 @@
70
87
  line-height: var(--paragraph-small-line-height);
71
88
  letter-spacing: var(--paragraph-small-letter-spacing);
72
89
  }
90
+
73
91
  .ui-btn--md .ui-btn__icon,
74
92
  .ui-btn--md ::v-deep svg {
75
93
  width: 20px;
@@ -84,6 +102,7 @@
84
102
  line-height: var(--paragraph-small-line-height);
85
103
  letter-spacing: var(--paragraph-small-letter-spacing);
86
104
  }
105
+
87
106
  .ui-btn--lg .ui-btn__icon,
88
107
  .ui-btn--lg ::v-deep svg {
89
108
  width: 20px;
@@ -98,6 +117,7 @@
98
117
  line-height: var(--paragraph-regular-line-height);
99
118
  letter-spacing: var(--paragraph-regular-letter-spacing);
100
119
  }
120
+
101
121
  .ui-btn--xl .ui-btn__icon,
102
122
  .ui-btn--xl ::v-deep svg {
103
123
  width: 20px;
@@ -112,9 +132,15 @@
112
132
  .ui-btn--round-default {
113
133
  border-radius: var(--radius-10);
114
134
  }
115
- .ui-btn--xs.ui-btn--round-default {
135
+
136
+ .ui-btn--mini.ui-btn--round-default {
116
137
  border-radius: var(--rounded-lg);
117
138
  }
139
+
140
+ .ui-btn--xs.ui-btn--round-default {
141
+ border-radius: var(--radius);
142
+ }
143
+
118
144
  .ui-btn--round-round {
119
145
  border-radius: var(--rounded-full);
120
146
  }
@@ -128,6 +154,7 @@
128
154
  background: var(--primary-brand-bg);
129
155
  color: var(--inverse-fg);
130
156
  }
157
+
131
158
  .ui-btn--primary:hover,
132
159
  .ui-btn--primary:active {
133
160
  background: var(--primary-brand-hover);
@@ -138,6 +165,7 @@
138
165
  background: var(--button-black);
139
166
  color: var(--button-black-fg);
140
167
  }
168
+
141
169
  .ui-btn--neutral:hover,
142
170
  .ui-btn--neutral:active {
143
171
  background: var(--button-black-hover);
@@ -148,6 +176,7 @@
148
176
  background: var(--secondary-bg);
149
177
  color: var(--secondary-fg);
150
178
  }
179
+
151
180
  .ui-btn--secondary:hover,
152
181
  .ui-btn--secondary:active {
153
182
  background: var(--secondary-hover);
@@ -160,6 +189,7 @@
160
189
  border: 1px solid var(--border-primary);
161
190
  box-shadow: var(--shadow-xs);
162
191
  }
192
+
163
193
  .ui-btn--outline:hover,
164
194
  .ui-btn--outline:active {
165
195
  background: var(--outline-hover);
@@ -171,6 +201,7 @@
171
201
  background: var(--ghost);
172
202
  color: var(--primary-fg);
173
203
  }
204
+
174
205
  .ui-btn--ghost:hover,
175
206
  .ui-btn--ghost:active {
176
207
  background: var(--ghost-hover);
@@ -181,6 +212,7 @@
181
212
  background: var(--destructive);
182
213
  color: var(--destructive-inverse-fg);
183
214
  }
215
+
184
216
  .ui-btn--destructive:hover,
185
217
  .ui-btn--destructive:active {
186
218
  background: var(--destructive-hover);
@@ -190,7 +222,10 @@
190
222
  .ui-btn--link {
191
223
  background: var(--ghost);
192
224
  color: var(--primary-brand-fg);
225
+ height: fit-content;
226
+ padding: 0;
193
227
  }
228
+
194
229
  .ui-btn--link:hover,
195
230
  .ui-btn--link:active {
196
231
  color: var(--primary-brand-hover);
@@ -202,19 +237,24 @@
202
237
  .ui-btn:focus {
203
238
  outline: none;
204
239
  }
240
+
205
241
  .ui-btn:focus-visible {
206
242
  outline: none;
207
243
  box-shadow: 0 0 0 3px var(--focus-ring);
208
244
  }
245
+
209
246
  .ui-btn--secondary:focus-visible {
210
247
  background: var(--secondary-hover);
211
248
  }
249
+
212
250
  .ui-btn--outline:focus-visible {
213
251
  border-color: var(--border-focus);
214
252
  }
253
+
215
254
  .ui-btn--destructive:focus-visible {
216
255
  box-shadow: 0 0 0 3px var(--focus-ring-error);
217
256
  }
257
+
218
258
  /* ============================================================
219
259
  Disabled
220
260
  ============================================================ */
@@ -234,22 +274,31 @@
234
274
  gap: 0;
235
275
  }
236
276
 
237
- .ui-btn--icon-only.ui-btn--xs {
277
+ .ui-btn--icon-only.ui-btn--mini {
238
278
  width: 24px;
239
279
  padding: var(--spacing-3xs);
240
280
  }
281
+
282
+ .ui-btn--icon-only.ui-btn--xs {
283
+ width: 28px;
284
+ padding: var(--spacing-6);
285
+ }
286
+
241
287
  .ui-btn--icon-only.ui-btn--sm {
242
288
  width: 32px;
243
289
  padding: var(--spacing-6);
244
290
  }
291
+
245
292
  .ui-btn--icon-only.ui-btn--md {
246
293
  width: 36px;
247
294
  padding: var(--spacing-xs);
248
295
  }
296
+
249
297
  .ui-btn--icon-only.ui-btn--lg {
250
298
  width: 40px;
251
299
  padding: var(--spacing-10);
252
300
  }
301
+
253
302
  .ui-btn--icon-only.ui-btn--xl {
254
303
  width: 48px;
255
304
  padding: var(--spacing-sm);
@@ -33,35 +33,35 @@
33
33
  </slot>
34
34
 
35
35
  <div class="ui-dialog-header__actions">
36
- <button
36
+ <Button
37
37
  v-if="minimizable"
38
- type="button"
39
- class="ui-dialog-header__icon-btn"
40
38
  :aria-label="minimized ? 'Restore' : 'Minimize'"
39
+ size="sm"
40
+ variant="ghost"
41
41
  @click="toggleMinimize"
42
42
  >
43
- <WkiMinus v-if="!minimized" />
44
- <WkiUnfoldVertical v-else />
45
- </button>
46
- <button
43
+ <template #icon>
44
+ <WkiMinus v-if="!minimized" />
45
+ <WkiUnfoldVertical v-else />
46
+ </template>
47
+ </Button>
48
+ <Button
47
49
  v-if="fullscreen"
48
- type="button"
49
- class="ui-dialog-header__icon-btn"
50
50
  :aria-label="isFullscreen ? 'Exit fullscreen' : 'Fullscreen'"
51
+ size="sm"
52
+ variant="ghost"
51
53
  @click="toggleFullscreen"
52
54
  >
53
- <WkiExpand v-if="!isFullscreen" />
54
- <WkiShrink v-else />
55
- </button>
56
- <button
57
- v-if="closable"
58
- type="button"
59
- class="ui-dialog-header__icon-btn"
60
- aria-label="Close"
61
- @click="handleCancel"
62
- >
63
- <WkiX />
64
- </button>
55
+ <template #icon>
56
+ <WkiExpand v-if="!isFullscreen" />
57
+ <WkiShrink v-else />
58
+ </template>
59
+ </Button>
60
+ <Button v-if="closable" aria-label="Close" size="sm" variant="ghost" @click="handleCancel">
61
+ <template #icon>
62
+ <WkiX />
63
+ </template>
64
+ </Button>
65
65
  </div>
66
66
  </div>
67
67
  </div>
@@ -64,7 +64,7 @@
64
64
  border-radius: var(--rounded-xl);
65
65
  box-shadow: var(--shadow-lg);
66
66
  overflow: hidden;
67
- max-height: 100%; /* Allow internal scrolling if content is taller than wrapper */
67
+ max-height: 100%;
68
68
  }
69
69
 
70
70
  .ui-dialog-content {
@@ -157,40 +157,6 @@
157
157
  flex-shrink: 0;
158
158
  }
159
159
 
160
- .ui-dialog-header__icon-btn {
161
- display: inline-flex;
162
- align-items: center;
163
- justify-content: center;
164
- flex-shrink: 0;
165
- min-width: 32px;
166
- min-height: 32px;
167
- padding: var(--spacing-6);
168
- margin: 0;
169
- background: var(--ghost);
170
- color: var(--primary-fg);
171
- border: 0;
172
- border-radius: var(--rounded-xl);
173
- cursor: pointer;
174
- transition: background-color 0.15s ease;
175
- -webkit-appearance: none;
176
- appearance: none;
177
- }
178
-
179
- .ui-dialog-header__icon-btn svg {
180
- display: block;
181
- width: 20px;
182
- height: 20px;
183
- }
184
-
185
- .ui-dialog-header__icon-btn:hover {
186
- background: var(--ghost-hover);
187
- }
188
-
189
- .ui-dialog-header__icon-btn:focus-visible {
190
- outline: none;
191
- box-shadow: var(--shadow-focus-ring);
192
- }
193
-
194
160
  /* ── body ─────────────────────────────────────────────────────────────── */
195
161
  .ui-dialog-body {
196
162
  padding: var(--spacing-md);
@@ -238,6 +204,7 @@
238
204
  .ui-dialog-fade-leave-active {
239
205
  transition: opacity 0.2s ease;
240
206
  }
207
+
241
208
  .ui-dialog-fade-enter,
242
209
  .ui-dialog-fade-enter-from,
243
210
  .ui-dialog-fade-leave-to {
@@ -250,6 +217,7 @@
250
217
  opacity 0.2s ease,
251
218
  transform 0.2s ease;
252
219
  }
220
+
253
221
  .ui-dialog-zoom-enter,
254
222
  .ui-dialog-zoom-enter-from,
255
223
  .ui-dialog-zoom-leave-to {
@@ -51,7 +51,7 @@
51
51
  border-radius: var(--rounded-xl);
52
52
  }
53
53
  .ui-input--size-xs.ui-input--round-default {
54
- border-radius: var(--rounded-lg);
54
+ border-radius: var(--radius);
55
55
  }
56
56
  .ui-input--round-round {
57
57
  border-radius: var(--rounded-full);
@@ -44,21 +44,4 @@ export default {
44
44
  }
45
45
  </script>
46
46
 
47
- <style>
48
- .wki-base-icon {
49
- display: inline-flex;
50
- align-items: center;
51
- justify-content: center;
52
- flex-shrink: 0;
53
- vertical-align: middle;
54
- line-height: 0;
55
- }
56
-
57
- .wki-base-icon svg {
58
- width: var(--wki-icon-size);
59
- height: var(--wki-icon-size);
60
- color: var(--wki-icon-color);
61
- stroke-width: var(--wki-icon-stroke-width);
62
- fill: var(--wki-icon-fill);
63
- }
64
- </style>
47
+ <style src="../styles/icons.css"></style>
@@ -0,0 +1,16 @@
1
+ .wki-base-icon {
2
+ display: inline-flex;
3
+ align-items: center;
4
+ justify-content: center;
5
+ flex-shrink: 0;
6
+ vertical-align: middle;
7
+ line-height: 0;
8
+ }
9
+
10
+ .wki-base-icon svg {
11
+ width: var(--wki-icon-size);
12
+ height: var(--wki-icon-size);
13
+ color: var(--wki-icon-color);
14
+ stroke-width: var(--wki-icon-stroke-width);
15
+ fill: var(--wki-icon-fill);
16
+ }