@citizenplane/pimp 10.2.8 → 10.4.0

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": "@citizenplane/pimp",
3
- "version": "10.2.8",
3
+ "version": "10.4.0",
4
4
  "scripts": {
5
5
  "dev": "storybook dev -p 8080",
6
6
  "build-storybook": "storybook build --output-dir ./docs",
@@ -7,24 +7,17 @@
7
7
  <style lang="scss">
8
8
  .cpButtonGroup {
9
9
  display: flex;
10
- padding: fn.px-to-rem(1);
11
10
  align-items: flex-start;
12
- border-radius: fn.px-to-rem(4);
11
+ border-radius: var(--cp-radius-sm);
13
12
  box-shadow: 0 0 0 fn.px-to-rem(1) var(--cp-border-soft);
14
- gap: var(--cp-spacing-xs);
15
13
 
16
14
  > * {
17
15
  position: relative;
18
16
 
19
- &:not(:last-child) {
20
- margin-right: fn.px-to-rem(1);
21
- }
22
-
23
17
  &:not(:first-child, :only-child)::before {
24
18
  content: '';
25
19
  position: absolute;
26
- left: fn.px-to-rem(-3);
27
- margin-inline: fn.px-to-rem(1);
20
+ left: fn.px-to-rem(-1);
28
21
  width: fn.px-to-rem(1);
29
22
  height: calc(100% + fn.px-to-rem(2));
30
23
  top: fn.px-to-rem(-1);
@@ -213,7 +213,7 @@ onMounted(async () => {
213
213
  box-shadow:
214
214
  var(--cp-drop-shadow-3xs-offset-x) var(--cp-drop-shadow-3xs-offset-y) var(--cp-drop-shadow-3xs-blur) -1px
215
215
  var(--cp-drop-shadow-3xs-color),
216
- 0 0 0 var(--cp-dimensions-0_25) var(--cp-border-strong);
216
+ 0 0 0 var(--cp-dimensions-0_25) var(--cp-border-soft);
217
217
  appearance: none;
218
218
  border-radius: var(--cp-radius-md);
219
219
  width: 100%;
@@ -330,7 +330,7 @@ onMounted(async () => {
330
330
 
331
331
  &--lg {
332
332
  .cpInput__inner {
333
- border-radius: var(--cp-radius-md-lg);
333
+ border-radius: var(--cp-radius-lg);
334
334
  padding: var(--cp-spacing-lg) var(--cp-spacing-xl);
335
335
  font-size: var(--cp-text-size-md);
336
336
  }
@@ -338,7 +338,6 @@ onMounted(async () => {
338
338
  .cpInput__icon {
339
339
  width: var(--cp-dimensions-5);
340
340
  height: var(--cp-dimensions-5);
341
-
342
341
  left: var(--cp-spacing-lg);
343
342
  }
344
343
 
@@ -363,6 +362,7 @@ onMounted(async () => {
363
362
 
364
363
  &--sm {
365
364
  .cpInput__inner {
365
+ border-radius: var(--cp-radius-md);
366
366
  padding: var(--cp-spacing-sm) var(--cp-spacing-lg);
367
367
  font-size: var(--cp-text-size-sm);
368
368
  }
@@ -74,7 +74,21 @@ const slicedActions = computed(() => {
74
74
  background-color: var(--cp-background-primary);
75
75
  }
76
76
 
77
+ .cpMenuItem {
78
+ padding: 0;
79
+
80
+ &:first-child .cpMenuItem__button {
81
+ border-top-left-radius: var(--cp-radius-sm);
82
+ border-bottom-left-radius: var(--cp-radius-sm);
83
+ }
84
+ &:last-child .cpMenuItem__button {
85
+ border-top-right-radius: var(--cp-radius-sm);
86
+ border-bottom-right-radius: var(--cp-radius-sm);
87
+ }
88
+ }
89
+
77
90
  .cpMenuItem__button {
91
+ border-radius: 0;
78
92
  padding: var(--cp-spacing-xs) var(--cp-spacing-sm);
79
93
  }
80
94
  }
@@ -1,19 +1,19 @@
1
1
  <template>
2
2
  <div class="cpMenuItem">
3
3
  <button
4
- type="button"
5
4
  class="cpMenuItem__button"
6
5
  :class="dynamicClass"
7
6
  :disabled="disabled"
7
+ type="button"
8
8
  @click="handleItemClick"
9
9
  >
10
- <transition name="fade" :duration="100" mode="out-in">
10
+ <transition :duration="100" mode="out-in" name="fade">
11
11
  <span v-if="isLoading" class="cpMenuItem__loaderWrapper">
12
- <cp-loader color="#B2B2BD" class="cpMenuItem__loader" />
12
+ <cp-loader class="cpMenuItem__loader" color="#B2B2BD" />
13
13
  </span>
14
14
  <template v-else>
15
15
  <slot name="icon">
16
- <cp-icon :type="icon" class="cpMenuItem__icon" />
16
+ <cp-icon class="cpMenuItem__icon" :type="icon" />
17
17
  </slot>
18
18
  </template>
19
19
  </transition>
@@ -42,12 +42,6 @@ const props = withDefaults(defineProps<Props & Omit<MenuItem, 'class' | 'disable
42
42
  tooltip: '',
43
43
  icon: '',
44
44
  command: undefined,
45
- reverseLabel: false,
46
- isLoading: false,
47
- isDisabled: false,
48
- isCritical: false,
49
- isAsync: false,
50
- hideLabel: false,
51
45
  })
52
46
 
53
47
  const emit = defineEmits(['onItemClick', 'onAsyncCommandComplete'])
@@ -300,7 +300,7 @@ onMounted(() => overrideAlignOverlay())
300
300
  padding: var(--cp-spacing-md) var(--cp-spacing-xl);
301
301
  box-shadow:
302
302
  var(--cp-shadows-3xs),
303
- 0 0 0 var(--cp-dimensions-0_25) var(--cp-border-strong);
303
+ 0 0 0 var(--cp-dimensions-0_25) var(--cp-border-soft);
304
304
  border-radius: var(--cp-radius-md);
305
305
  gap: var(--cp-spacing-md);
306
306
 
@@ -176,29 +176,54 @@ const handleOnValidate = (phoneObject: PhoneObject) => {
176
176
  }
177
177
 
178
178
  &__wrapper {
179
- border: none;
179
+ --box-shadow: var(--cp-drop-shadow-3xs-offset-x) var(--cp-drop-shadow-3xs-offset-y)
180
+ var(--cp-drop-shadow-3xs-blur) -1px var(--cp-drop-shadow-3xs-color);
181
+
182
+ border: 0;
180
183
  box-shadow:
181
- var(--cp-shadows-3xs),
184
+ var(--box-shadow),
182
185
  0 0 0 var(--cp-dimensions-0_25) var(--cp-border-soft);
183
186
  appearance: none;
184
187
  border-radius: var(--cp-radius-md-lg);
185
188
  width: 100%;
186
189
  color: inherit;
187
190
 
188
- &:focus-within {
189
- box-shadow: 0 0 0 var(--cp-dimensions-0_25) var(--cp-border-soft-hover);
191
+ &:not(.cpTelInput__wrapper--isDisabled):focus-within {
192
+ box-shadow:
193
+ var(--box-shadow),
194
+ 0 0 0 var(--cp-dimensions-0_25) var(--cp-border-soft-hover);
195
+
196
+ &.cpTelInput__wrapper--isInvalid {
197
+ box-shadow:
198
+ var(--box-shadow),
199
+ 0 0 0 var(--cp-dimensions-0_25) var(--cp-border-error-solid);
200
+ }
190
201
  }
191
202
 
192
203
  &:not(.cpTelInput__wrapper--isInvalid, .cpTelInput__wrapper--isDisabled):hover {
193
- box-shadow: 0 0 0 var(--cp-dimensions-0_25) var(--cp-border-soft-hover);
204
+ box-shadow:
205
+ var(--box-shadow),
206
+ 0 0 0 var(--cp-dimensions-0_25) var(--cp-border-soft-hover);
194
207
  }
195
208
 
196
209
  &--isInvalid {
197
- box-shadow: 0 0 0 var(--cp-dimensions-0_25) var(--cp-border-error-solid);
210
+ box-shadow:
211
+ var(--box-shadow),
212
+ 0 0 0 var(--cp-dimensions-0_25) var(--cp-border-error-solid);
198
213
  }
199
214
 
200
215
  &.disabled {
201
216
  overflow: hidden;
217
+ box-shadow:
218
+ var(--box-shadow),
219
+ 0 0 0 var(--cp-dimensions-0_25) var(--cp-border-soft);
220
+
221
+ .vti__dropdown {
222
+ &:focus,
223
+ &:focus-within {
224
+ border-right: var(--cp-dimensions-0_25) solid var(--cp-border-strong);
225
+ }
226
+ }
202
227
  }
203
228
  }
204
229
 
@@ -254,12 +279,13 @@ const handleOnValidate = (phoneObject: PhoneObject) => {
254
279
  .vti__dropdown {
255
280
  z-index: 1;
256
281
  position: unset;
257
- border-right: var(--cp-dimensions-0_25) solid var(--cp-border-soft);
282
+ border-right: var(--cp-dimensions-0_25) solid var(--cp-border-strong);
258
283
 
259
284
  &:focus,
260
285
  &:focus-within {
261
286
  z-index: 2;
262
287
  outline: var(--cp-dimensions-0_5) solid var(--cp-border-accent-solid);
288
+ border-right: var(--cp-dimensions-0_25) solid transparent;
263
289
  }
264
290
  }
265
291