webcake-ui-kit 1.2.2 → 1.2.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.
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "webcake-ui-kit",
3
- "version": "1.2.2",
3
+ "version": "1.2.4",
4
4
  "description": "UI Kit for Vue 2 && 3 - Pure Options API",
5
5
  "main": "src/index.js",
6
6
  "module": "src/index.js",
@@ -28,7 +28,6 @@
28
28
  display: flex;
29
29
  flex-direction: column;
30
30
  gap: var(--spacing-2xs);
31
- max-height: 320px;
32
31
  overflow-y: auto;
33
32
  border-radius: var(--rounded-lg);
34
33
  }
@@ -66,7 +66,7 @@ export default {
66
66
  default: 'bottom-start',
67
67
  validator: v => PLACEMENTS.indexOf(v) !== -1
68
68
  },
69
- offset: { type: Number, default: 8 },
69
+ offset: { type: Number, default: 4 },
70
70
  // 'click', 'hover', or both
71
71
  trigger: {
72
72
  type: Array,
@@ -87,6 +87,9 @@
87
87
  </div>
88
88
  </template>
89
89
  <div class="ui-select__list" :style="listStyle">
90
+ <div v-if="hasContentHeader">
91
+ <slot name="contentHeader"></slot>
92
+ </div>
90
93
  <slot>
91
94
  <SelectOption
92
95
  v-for="opt in filteredOptions"
@@ -107,6 +110,9 @@
107
110
  </template>
108
111
  </Empty>
109
112
  </slot>
113
+ <div v-if="hasContentFooter">
114
+ <slot name="contentFooter"></slot>
115
+ </div>
110
116
  </div>
111
117
  </Menu>
112
118
  </template>
@@ -148,6 +154,10 @@ export default {
148
154
  default: 'md',
149
155
  validator: v => ['sm', 'md', 'lg'].indexOf(v) !== -1
150
156
  },
157
+ showChecked: {
158
+ type: Boolean,
159
+ default: false
160
+ },
151
161
  value: {
152
162
  type: [String, Array],
153
163
  default: null
@@ -287,6 +297,12 @@ export default {
287
297
  if (this.normalizedOptions.length === 0 && Object.keys(this.slotOptionVisible).length === 0) return true
288
298
  return false
289
299
  },
300
+ hasContentFooter() {
301
+ return !!((this.$scopedSlots && this.$scopedSlots['contentFooter']) || this.$slots['contentFooter'])
302
+ },
303
+ hasContentHeader() {
304
+ return !!((this.$scopedSlots && this.$scopedSlots['contentHeader']) || this.$slots['contentHeader'])
305
+ },
290
306
  hasIconSlot() {
291
307
  return !!((this.$scopedSlots && this.$scopedSlots['icon']) || this.$slots['icon'])
292
308
  },
@@ -210,7 +210,7 @@
210
210
 
211
211
  .ui-select__search::placeholder {
212
212
  color: var(--muted-fg);
213
- font-size: 14px;
213
+ font-size: inherit;
214
214
  }
215
215
 
216
216
  .ui-select--xs .ui-select__search::placeholder {
@@ -24,7 +24,7 @@
24
24
  <span v-if="hasSuffix" class="ui-select-option__suffix">
25
25
  <slot name="suffix" />
26
26
  </span>
27
- <WkiCheck v-if="isSelected && isMultiMode" :size="16" color="var(--muted-fg)" />
27
+ <WkiCheck v-if="isSelected && (isMultiMode || isShowChecked)" :size="16" color="var(--muted-fg)" />
28
28
  </div>
29
29
  </template>
30
30
 
@@ -128,6 +128,9 @@ export default {
128
128
  },
129
129
  isMultiMode() {
130
130
  return !!(this.select && this.select.isMultiMode)
131
+ },
132
+ isShowChecked() {
133
+ return !!(this.select && this.select.showChecked)
131
134
  }
132
135
  },
133
136
 
@@ -36,10 +36,6 @@
36
36
  border-bottom: 1px solid var(--border-primary);
37
37
  }
38
38
 
39
- .ui-table-v2__wrapper ::v-deep .ui-table-v2__body > tr:last-child td {
40
- border-bottom: none;
41
- }
42
-
43
39
  .ui-table-v2__wrapper ::v-deep .ui-table-v2__table--bordered .ui-table-v2__header > tr > th:not(:last-child),
44
40
  .ui-table-v2__wrapper ::v-deep .ui-table-v2__table--bordered .ui-table-v2__body > tr > td:not(:last-child) {
45
41
  border-inline-end: 1px solid var(--border-primary);
@@ -14,17 +14,15 @@
14
14
  :disabled="tab.disabled || undefined"
15
15
  @click="select(tab.value)"
16
16
  >
17
- <div class="ui-tabs__item-inner">
18
- <slot name="label" :tab="tab">
19
- <span v-if="tab.icon" class="ui-tabs__icon">
20
- <slot name="icon" :tab="tab">
21
- <component :is="tab.icon" :size="iconSize[size]" />
22
- </slot>
23
- </span>
24
- <span v-if="tab.label" class="ui-tabs__label">{{ tab.label }}</span>
25
- <span v-if="tab.counter > 0" class="ui-tabs__counter">{{ tab.counter }}</span>
26
- </slot>
27
- </div>
17
+ <slot name="label" :tab="tab">
18
+ <span v-if="tab.icon" class="ui-tabs__icon">
19
+ <slot name="icon" :tab="tab">
20
+ <component :is="tab.icon" :size="iconSize[size]" />
21
+ </slot>
22
+ </span>
23
+ <span v-if="tab.label" class="ui-tabs__label">{{ tab.label }}</span>
24
+ <span v-if="tab.counter > 0" class="ui-tabs__counter">{{ tab.counter }}</span>
25
+ </slot>
28
26
  </button>
29
27
  </div>
30
28
  </template>
@@ -41,7 +39,8 @@ export default {
41
39
  data() {
42
40
  return {
43
41
  iconSize: {
44
- xs: 14,
42
+ mini: 14,
43
+ xs: 16,
45
44
  sm: 16,
46
45
  md: 16,
47
46
  lg: 20
@@ -62,7 +61,7 @@ export default {
62
61
  type: String,
63
62
  default: 'sm',
64
63
  validator: function (v) {
65
- return ['xs', 'sm', 'md', 'lg'].includes(v)
64
+ return ['mini', 'xs', 'sm', 'md', 'lg'].includes(v)
66
65
  }
67
66
  },
68
67
  stretchItems: {
@@ -7,14 +7,24 @@
7
7
  box-sizing: border-box;
8
8
  }
9
9
 
10
+ .ui-tabs--mini {
11
+ padding: var(--spacing-3xs);
12
+ border-radius: var(--rounded-lg);
13
+ }
14
+
10
15
  .ui-tabs--xs {
11
- padding: 2px;
16
+ border-radius: var(--radius);
17
+ }
18
+
19
+ .ui-tabs--xs,
20
+ .ui-tabs--sm {
21
+ padding: 3px;
12
22
  }
13
23
  .ui-tabs--md {
14
- padding: 4px;
24
+ padding: var(--spacing-2xs);
15
25
  }
16
26
  .ui-tabs--lg {
17
- padding: 4px;
27
+ padding: var(--spacing-2xs);
18
28
  }
19
29
 
20
30
  /* — tab item — */
@@ -35,24 +45,14 @@
35
45
  white-space: nowrap;
36
46
  user-select: none;
37
47
  outline: none;
38
- box-sizing: border-box;
39
48
  flex-shrink: 0;
40
- transition: color 0.1s;
49
+ font-weight: 500;
41
50
  }
42
51
 
43
52
  .ui-tabs__item--stretch {
44
53
  flex: 1;
45
54
  }
46
55
 
47
- .ui-tabs__item-inner {
48
- height: 100%;
49
- display: inline-flex;
50
- align-items: center;
51
- justify-content: center;
52
- gap: 6px;
53
- padding: 0 var(--spacing-xs);
54
- }
55
-
56
56
  .ui-tabs__item:hover:not(.ui-tabs__item--active):not(.ui-tabs__item--disabled) {
57
57
  color: var(--primary-fg);
58
58
  }
@@ -78,51 +78,66 @@
78
78
  }
79
79
 
80
80
  /* — sizes — */
81
- .ui-tabs--xs .ui-tabs__item {
81
+ .ui-tabs--mini .ui-tabs__item {
82
82
  height: 20px;
83
- padding: 0 6px;
83
+ min-width: 20px;
84
+ gap: var(--spacing-2xs);
85
+ padding: 0 var(--spacing-6);
86
+ border-radius: var(--rounded-md);
87
+ }
88
+
89
+ .ui-tabs--xs .ui-tabs__item {
90
+ height: 22px;
91
+ min-width: 29px;
92
+ padding: var(--spacing-3xs) var(--spacing-xs);
93
+ gap: 6px;
94
+ border-radius: var(--rounded-lg);
95
+ }
96
+
97
+ .ui-tabs--mini .ui-tabs__item,
98
+ .ui-tabs--xs .ui-tabs__item {
84
99
  font-size: var(--paragraph-mini-font-size);
85
- line-height: var(--paragraph-mini-line-height);
100
+ font-style: normal;
101
+ font-weight: 500;
102
+ line-height: var(--paragraph-mini-line-height); /* 133.333% */
103
+ letter-spacing: var(--paragraph-mini-letter-spacing, 0);
86
104
  }
87
105
 
88
106
  .ui-tabs--md .ui-tabs__item {
89
- height: 28px;
107
+ min-width: 32px;
108
+ padding: var(--spacing-2xs) var(--spacing-9);
109
+ gap: var(--spacing-xs);
110
+ }
111
+
112
+ .ui-tabs--sm .ui-tabs__item {
113
+ min-width: 29px;
114
+ height: 26px;
115
+ padding: var(--spacing-3xs) var(--spacing-xs);
116
+ gap: 6px;
90
117
  }
91
118
 
92
119
  .ui-tabs--lg .ui-tabs__item {
93
- height: 32px;
94
- padding: 0 var(--spacing-10);
120
+ padding: var(--spacing-5p5) var(--spacing-10);
121
+ gap: var(--spacing-xs);
122
+ }
123
+
124
+ .ui-tabs--sm .ui-tabs__item,
125
+ .ui-tabs--md .ui-tabs__item,
126
+ .ui-tabs--lg .ui-tabs__item {
127
+ font-size: var(--paragraph-small-font-size, 14px);
128
+ font-style: normal;
129
+ font-weight: 500;
130
+ line-height: var(--paragraph-small-line-height, 20px); /* 142.857% */
131
+ letter-spacing: var(--paragraph-small-letter-spacing, 0);
132
+ border-radius: var(--radius);
95
133
  }
96
134
 
97
- /* — icon + label elements — */
135
+ /* Icons */
98
136
  .ui-tabs__icon {
99
137
  display: inline-flex;
100
138
  align-items: center;
101
139
  justify-content: center;
102
- width: 20px;
103
- height: 20px;
104
140
  flex-shrink: 0;
105
-
106
- svg {
107
- width: 20px;
108
- height: 20px;
109
- }
110
- }
111
-
112
- .ui-tabs--lg .ui-tabs__icon {
113
- width: 20px;
114
- height: 20px;
115
- }
116
-
117
- .ui-tabs--sm .ui-tabs__icon,
118
- .ui-tabs--md .ui-tabs__icon {
119
- width: 16px;
120
- height: 16px;
121
- }
122
-
123
- .ui-tabs--xs .ui-tabs__icon {
124
- width: 14px;
125
- height: 14px;
126
141
  }
127
142
 
128
143
  .ui-tabs__label {
@@ -1773,5 +1773,6 @@ export { default as WkiSkewHeight } from './SkewHeight.vue'
1773
1773
  export { default as WkiSkewWidth } from './SkewWidth.vue'
1774
1774
  export { default as WkiStrokeLine } from './StrokeLine.vue'
1775
1775
  export { default as WkiTopline } from './Topline.vue'
1776
+ export { default as WkiLettersSpacing } from './LettersSpacing.vue'
1776
1777
 
1777
1778
  // --- AUTO-GENERATED LUCIDE EXPORTS END ---
@@ -6,13 +6,13 @@
6
6
  --chart-4: #ffb900;
7
7
  --chart-5: #fe9a00;
8
8
 
9
- --positive: #009689;
10
- --negative: #f54a00;
9
+ --chart-positive: #009689;
10
+ --chart-negative: #f54a00;
11
11
 
12
12
  --fill: #bfdeffb3;
13
- --stroke: #8ec5ff;
13
+ --chart-stroke: #8ec5ff;
14
14
  --fill-2: #aaccffb3;
15
- --stroke-2: #3f8dff;
15
+ --chart-stroke-2: #3f8dff;
16
16
  }
17
17
 
18
18
  .dark {
@@ -23,11 +23,11 @@
23
23
  --chart-4: #ad46ff;
24
24
  --chart-5: #ff2056;
25
25
 
26
- --positive: #00bc7d;
27
- --negative: #ff2056;
26
+ --chart-positive: #00bc7d;
27
+ --chart-negative: #ff2056;
28
28
 
29
29
  --fill: #475d75b3;
30
- --stroke: #8ec5ff;
30
+ --chart-stroke: #8ec5ff;
31
31
  --fill-2: #1f4176b3;
32
- --stroke-2: #3f8dff;
32
+ --chart-stroke-2: #3f8dff;
33
33
  }
@@ -120,6 +120,18 @@
120
120
  /* Effect */
121
121
  --focus-ring: var(--color-neutral-200);
122
122
  --focus-ring-error: var(--color-red-300);
123
+
124
+ /* Builder */
125
+ --layer-fg: var(--color-brand-neutrals-700);
126
+ --layer-hover-bg: var(--color-brand-neutrals-50);
127
+ --layer-accent-bg: var(--color-brand-neutrals-200);
128
+ --non-delete-layer-hover: var(--color-violet-50);
129
+ --non-delete-layer-accent: var(--color-violet-200);
130
+
131
+ --stroke: #3f8dff;
132
+ --stroke-hover: #8fbcff;
133
+ --non-delete-stroke: var(--color-violet-600);
134
+ --non-delete-stroke-hover: var(--color-violet-400);
123
135
  }
124
136
 
125
137
  .dark {