@privyid/persona 0.26.0 → 0.27.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.
Files changed (43) hide show
  1. package/dist/components/calendar/Calendar.vue.d.ts +3 -3
  2. package/dist/components/camera/Camera.vue.d.ts +4 -4
  3. package/dist/components/card/Card.vue.d.ts +1 -1
  4. package/dist/components/card/CardSection.vue.d.ts +1 -1
  5. package/dist/components/carousel/Carousel.vue.d.ts +2 -2
  6. package/dist/components/contextual-bar/ContextualBar.vue.d.ts +1 -1
  7. package/dist/components/cropper/Cropper.vue.d.ts +1 -1
  8. package/dist/components/datepicker/Datepicker.vue.d.ts +4 -4
  9. package/dist/components/dropdown-subitem/DropdownSubitem.vue.d.ts +1 -1
  10. package/dist/components/dropzone/Dropzone.vue.d.ts +4 -4
  11. package/dist/components/filterbar/pinned/PinnedDate.vue.d.ts +2 -2
  12. package/dist/components/filterbar/pinned/PinnedMultiselect.vue.d.ts +1 -1
  13. package/dist/components/filterbar/pinned/PinnedSelect.vue.d.ts +1 -1
  14. package/dist/components/filterbar/pinned/PinnedToggle.vue.d.ts +1 -1
  15. package/dist/components/heading/Heading.vue.d.ts +1 -1
  16. package/dist/components/input/Input.vue.d.ts +2 -2
  17. package/dist/components/input-color/index.d.ts +1 -0
  18. package/dist/components/input-color/index.mjs +0 -0
  19. package/dist/components/input-color/inputColor.vue +257 -0
  20. package/dist/components/input-file/InputFile.vue.d.ts +5 -5
  21. package/dist/components/input-pin/InputPin.vue.d.ts +2 -2
  22. package/dist/components/input-range/InputRange.vue.d.ts +2 -2
  23. package/dist/components/list-group/ListGroup.vue.d.ts +1 -1
  24. package/dist/components/meta.json +15 -13
  25. package/dist/components/modal/Modal.vue.d.ts +1 -1
  26. package/dist/components/nav/Nav.vue.d.ts +1 -1
  27. package/dist/components/pagination/Pagination.vue.d.ts +1 -1
  28. package/dist/components/pdf-object/PdfObject.vue.d.ts +1 -1
  29. package/dist/components/pdf-text/PdfText.vue.d.ts +3 -3
  30. package/dist/components/progress-indicator/ProgressIndicator.vue.d.ts +1 -1
  31. package/dist/components/radio/Radio.vue.d.ts +1 -1
  32. package/dist/components/shimmer/Shimmer.vue +125 -0
  33. package/dist/components/signature-draw/SignatureDraw.vue.d.ts +1 -1
  34. package/dist/components/signature-draw/SignatureDrawDesktop.vue.d.ts +1 -1
  35. package/dist/components/signature-draw/SignatureDrawMobile.vue.d.ts +1 -1
  36. package/dist/components/signature-text/SignatureText.vue.d.ts +1 -1
  37. package/dist/components/steps/Steps.vue.d.ts +1 -1
  38. package/dist/components/text/Text.vue.d.ts +1 -1
  39. package/dist/components/textarea/Textarea.vue.d.ts +2 -2
  40. package/dist/components/toggle/Toggle.vue.d.ts +1 -1
  41. package/dist/components/utils/date.d.ts +2 -2
  42. package/dist/module.json +1 -1
  43. package/package.json +7 -7
@@ -174,19 +174,19 @@ declare const _default: import("vue-demi").DefineComponent<{
174
174
  validator(value: string): boolean;
175
175
  };
176
176
  }>> & {
177
- onChange?: ((...args: any[]) => any) | undefined;
178
177
  "onUpdate:modelValue"?: ((...args: any[]) => any) | undefined;
178
+ onChange?: ((...args: any[]) => any) | undefined;
179
179
  "onUpdate:start"?: ((...args: any[]) => any) | undefined;
180
180
  "onUpdate:end"?: ((...args: any[]) => any) | undefined;
181
181
  }, {
182
+ modelValue: Date | [Date, Date];
182
183
  start: Date;
184
+ mode: "date" | "month" | "year";
183
185
  end: Date;
184
186
  min: Date;
185
187
  max: Date;
186
- modelValue: Date | [Date, Date];
187
188
  disabled: boolean;
188
189
  readonly: boolean;
189
- mode: "date" | "month" | "year";
190
190
  range: boolean;
191
191
  minRange: string;
192
192
  maxRange: string;
@@ -49,7 +49,7 @@ declare const _default: import("vue-demi").DefineComponent<{
49
49
  toast: (text: string) => void;
50
50
  deviceId: ComputedRef<string | undefined>;
51
51
  constraints: ComputedRef<MediaStreamConstraints>;
52
- }, unknown, {}, {}, import("vue-demi").ComponentOptionsMixin, import("vue-demi").ComponentOptionsMixin, ("change" | "start" | "update:modelValue" | "result")[], "change" | "start" | "update:modelValue" | "result", import("vue-demi").VNodeProps & import("vue-demi").AllowedComponentProps & import("vue-demi").ComponentCustomProps, Readonly<import("vue-demi").ExtractPropTypes<{
52
+ }, unknown, {}, {}, import("vue-demi").ComponentOptionsMixin, import("vue-demi").ComponentOptionsMixin, ("change" | "update:modelValue" | "result" | "start")[], "change" | "update:modelValue" | "result" | "start", import("vue-demi").VNodeProps & import("vue-demi").AllowedComponentProps & import("vue-demi").ComponentCustomProps, Readonly<import("vue-demi").ExtractPropTypes<{
53
53
  modelValue: {
54
54
  type: PropType<string | string[] | File | File[]>;
55
55
  default: string;
@@ -79,15 +79,15 @@ declare const _default: import("vue-demi").DefineComponent<{
79
79
  default: boolean;
80
80
  };
81
81
  }>> & {
82
- onChange?: ((...args: any[]) => any) | undefined;
83
82
  "onUpdate:modelValue"?: ((...args: any[]) => any) | undefined;
84
- onStart?: ((...args: any[]) => any) | undefined;
83
+ onChange?: ((...args: any[]) => any) | undefined;
85
84
  onResult?: ((...args: any[]) => any) | undefined;
85
+ onStart?: ((...args: any[]) => any) | undefined;
86
86
  }, {
87
- modelValue: string | string[] | File | File[];
88
87
  facingMode: ConstrainDOMString;
89
88
  mask: MaskVariant;
90
89
  mirror: boolean | "preview" | "all";
90
+ modelValue: string | string[] | File | File[];
91
91
  modelModifiers: ModelModifier;
92
92
  adapter: Adapter;
93
93
  silent: boolean;
@@ -67,8 +67,8 @@ declare const _default: import("vue-demi").DefineComponent<{
67
67
  onDismissed?: ((...args: any[]) => any) | undefined;
68
68
  }, {
69
69
  dismissable: boolean;
70
- disabled: boolean;
71
70
  title: string;
71
+ disabled: boolean;
72
72
  element: ElementVariant;
73
73
  sectioned: boolean;
74
74
  callout: boolean;
@@ -19,7 +19,7 @@ declare const _default: import("vue-demi").DefineComponent<{
19
19
  default: boolean;
20
20
  };
21
21
  }>>, {
22
- disabled: boolean;
23
22
  title: string;
23
+ disabled: boolean;
24
24
  }, {}>;
25
25
  export default _default;
@@ -94,15 +94,15 @@ declare const _default: import("vue-demi").DefineComponent<{
94
94
  default: boolean;
95
95
  };
96
96
  }>> & {
97
- onChange?: ((...args: any[]) => any) | undefined;
98
97
  "onUpdate:modelValue"?: ((...args: any[]) => any) | undefined;
98
+ onChange?: ((...args: any[]) => any) | undefined;
99
99
  }, {
100
100
  modelValue: number;
101
101
  direction: DirectionVariant;
102
102
  align: AlignmentVariant;
103
103
  width: string | number;
104
- height: string | number;
105
104
  loop: boolean;
105
+ height: string | number;
106
106
  autoplay: boolean;
107
107
  autoplayInterval: string | number;
108
108
  splideOptions: Options;
@@ -72,8 +72,8 @@ declare const _default: import("vue-demi").DefineComponent<{
72
72
  onHide?: ((...args: any[]) => any) | undefined;
73
73
  }, {
74
74
  dismissable: boolean;
75
- modelValue: boolean;
76
75
  title: string;
76
+ modelValue: boolean;
77
77
  message: string;
78
78
  align: AlignVariant;
79
79
  state: StyleVariant;
@@ -128,8 +128,8 @@ declare const _default: import("vue-demi").DefineComponent<{
128
128
  default: boolean;
129
129
  };
130
130
  }>> & {
131
- onChange?: ((...args: any[]) => any) | undefined;
132
131
  "onUpdate:modelValue"?: ((...args: any[]) => any) | undefined;
132
+ onChange?: ((...args: any[]) => any) | undefined;
133
133
  onResult?: ((...args: any[]) => any) | undefined;
134
134
  onLoad?: ((...args: any[]) => any) | undefined;
135
135
  }, {
@@ -130,25 +130,25 @@ declare const _default: import("vue-demi").DefineComponent<{
130
130
  default: undefined;
131
131
  };
132
132
  }>> & {
133
- onChange?: ((...args: any[]) => any) | undefined;
134
133
  "onUpdate:modelValue"?: ((...args: any[]) => any) | undefined;
134
+ onChange?: ((...args: any[]) => any) | undefined;
135
135
  "onUpdate:start"?: ((...args: any[]) => any) | undefined;
136
136
  "onUpdate:end"?: ((...args: any[]) => any) | undefined;
137
137
  }, {
138
138
  error: boolean;
139
139
  size: SizeVariant;
140
+ placeholder: string;
141
+ modelValue: Date | [Date, Date];
140
142
  start: Date;
143
+ mode: "date" | "month" | "year";
141
144
  end: Date;
142
145
  min: Date;
143
146
  max: Date;
144
- modelValue: Date | [Date, Date];
145
147
  disabled: boolean;
146
148
  readonly: boolean;
147
- mode: "date" | "month" | "year";
148
149
  range: boolean;
149
150
  minRange: string;
150
151
  maxRange: string;
151
- placeholder: string;
152
152
  format: string;
153
153
  }, {}>;
154
154
  export default _default;
@@ -15,7 +15,7 @@ declare const _default: import("vue-demi").DefineComponent<{
15
15
  back: () => void;
16
16
  reset: () => void;
17
17
  canBack: import("vue-demi").ComputedRef<boolean>;
18
- transition: import("vue-demi").Ref<"slide-left" | "slide-right" | "none">;
18
+ transition: import("vue-demi").Ref<"none" | "slide-left" | "slide-right">;
19
19
  handleOnClick: () => void;
20
20
  }, unknown, {}, {}, import("vue-demi").ComponentOptionsMixin, import("vue-demi").ComponentOptionsMixin, "click"[], "click", import("vue-demi").VNodeProps & import("vue-demi").AllowedComponentProps & import("vue-demi").ComponentCustomProps, Readonly<import("vue-demi").ExtractPropTypes<{
21
21
  text: {
@@ -77,15 +77,15 @@ declare const _default: import("vue-demi").DefineComponent<{
77
77
  default: boolean;
78
78
  };
79
79
  }>> & {
80
- onChange?: ((...args: any[]) => any) | undefined;
81
- "onUpdate:modelValue"?: ((...args: any[]) => any) | undefined;
82
80
  onCancel?: ((...args: any[]) => any) | undefined;
81
+ "onUpdate:modelValue"?: ((...args: any[]) => any) | undefined;
82
+ onChange?: ((...args: any[]) => any) | undefined;
83
83
  }, {
84
+ accept: string;
84
85
  modelValue: string | string[] | File | File[];
86
+ modelModifiers: ModelModifier;
85
87
  disabled: boolean;
86
88
  readonly: boolean;
87
- accept: string;
88
- modelModifiers: ModelModifier;
89
89
  multiple: boolean | MultipleType;
90
90
  maxlength: string | number;
91
91
  clearOnCancel: boolean;
@@ -58,10 +58,10 @@ declare const _default: import("vue-demi").DefineComponent<{
58
58
  }>> & {
59
59
  "onUpdate:modelValue"?: ((...args: any[]) => any) | undefined;
60
60
  }, {
61
- min: Date;
62
- max: Date;
63
61
  modelValue: Date;
64
62
  mode: "date" | "month" | "year";
63
+ min: Date;
64
+ max: Date;
65
65
  format: string;
66
66
  }, {}>;
67
67
  export default _default;
@@ -36,7 +36,7 @@ declare const _default: import("vue-demi").DefineComponent<{
36
36
  }>> & {
37
37
  "onUpdate:modelValue"?: ((...args: any[]) => any) | undefined;
38
38
  }, {
39
- options: string[] | SelectItem[];
40
39
  modelValue: unknown[];
40
+ options: string[] | SelectItem[];
41
41
  }, {}>;
42
42
  export default _default;
@@ -36,7 +36,7 @@ declare const _default: import("vue-demi").DefineComponent<{
36
36
  }>> & {
37
37
  "onUpdate:modelValue"?: ((...args: any[]) => any) | undefined;
38
38
  }, {
39
- options: string[] | SelectItem[];
40
39
  modelValue: string | number | boolean | Record<string, any> | unknown[] | Date;
40
+ options: string[] | SelectItem[];
41
41
  }, {}>;
42
42
  export default _default;
@@ -46,8 +46,8 @@ declare const _default: import("vue-demi").DefineComponent<{
46
46
  default: boolean;
47
47
  };
48
48
  }>> & {
49
- onChange?: ((...args: any[]) => any) | undefined;
50
49
  "onUpdate:modelValue"?: ((...args: any[]) => any) | undefined;
50
+ onChange?: ((...args: any[]) => any) | undefined;
51
51
  }, {
52
52
  value: string | number | boolean | Record<string, any> | unknown[] | Date;
53
53
  modelValue: string | number | boolean | Record<string, any> | unknown[] | Date;
@@ -30,8 +30,8 @@ declare const _default: import("vue-demi").DefineComponent<{
30
30
  default: string;
31
31
  };
32
32
  }>>, {
33
- weight: WeightVariant;
34
33
  element: ElementVariant;
34
+ weight: WeightVariant;
35
35
  transform: TransformVariant;
36
36
  }, {}>;
37
37
  export default _default;
@@ -80,11 +80,11 @@ declare const _default: import("vue-demi").DefineComponent<{
80
80
  }, {
81
81
  error: boolean;
82
82
  size: SizeVariant;
83
+ clearable: boolean;
84
+ accept: AcceptVariant;
83
85
  modelValue: string | number;
84
86
  disabled: boolean;
85
87
  readonly: boolean;
86
- clearable: boolean;
87
- accept: AcceptVariant;
88
88
  containerClass: string | Record<string, any> | unknown[];
89
89
  }, {}>;
90
90
  export default _default;
@@ -0,0 +1 @@
1
+ export type StyleVariant = 'default' | 'circle';
File without changes
@@ -0,0 +1,257 @@
1
+ <template>
2
+ <div
3
+ class="input-color"
4
+ :class="[containerClass, inputClass]"
5
+ data-testid="input-color"
6
+ :style="`--p-input-color-bg:${model}`">
7
+ <span class="input-color__body">
8
+ <span class="input-color__face">
9
+ <IconAddPlus24
10
+ v-if="!model"
11
+ data-testid="input-color-add"
12
+ class="input-color__icon" />
13
+ <template v-else>
14
+ <IconCheckmarkCircleSolid20
15
+ v-if="variant === 'circle'"
16
+ data-testid="input-color-check-circle"
17
+ class="input-color__icon" />
18
+ <IconCheckmarkCircleSolid24
19
+ v-else
20
+ class="input-color__icon"
21
+ data-testid="input-color-check" />
22
+ </template>
23
+ </span>
24
+ <input
25
+ v-model="model"
26
+ :disabled="disabled"
27
+ type="color"
28
+ data-testid="input-color-form"
29
+ :class="[classNames, 'input-color__form']">
30
+ </span>
31
+ <slot
32
+ name="clearable"
33
+ :clear="clear">
34
+ <IconClear
35
+ v-if="model && clearable"
36
+ data-testid="input-color-clear"
37
+ class="input-color__clear"
38
+ @click="clear" />
39
+ </slot>
40
+ </div>
41
+ </template>
42
+ <script lang="ts" setup>
43
+ import type { PropType } from 'vue-demi'
44
+ import { computed } from 'vue-demi'
45
+ import { useVModel } from '../input'
46
+ import IconCheckmarkCircleSolid20 from '@privyid/persona-icon/vue/checkmark-circle-solid/20.vue'
47
+ import IconCheckmarkCircleSolid24 from '@privyid/persona-icon/vue/checkmark-circle-solid/24.vue'
48
+ import IconAddPlus24 from '@privyid/persona-icon/vue/add-plus/24.vue'
49
+ import IconClear from '@privyid/persona-icon/vue/close-circle-solid/20.vue'
50
+ import type { StyleVariant } from '.'
51
+
52
+ const props = defineProps({
53
+ modelValue: {
54
+ type : String,
55
+ default: '',
56
+ },
57
+ variant: {
58
+ type : String as PropType<StyleVariant>,
59
+ default: 'default',
60
+ },
61
+ clearable: {
62
+ type : Boolean,
63
+ default: false,
64
+ },
65
+ disabled: {
66
+ type : Boolean,
67
+ default: false,
68
+ },
69
+ error: {
70
+ type : Boolean,
71
+ default: false,
72
+ },
73
+ containerClass: {
74
+ type : [String, Object],
75
+ default: undefined,
76
+ },
77
+ })
78
+
79
+ const emit = defineEmits(['update:modelValue', 'clear'])
80
+ const model = useVModel(props)
81
+
82
+ const classNames = computed(() => {
83
+ const result: string[] = ['']
84
+
85
+ if (props.clearable)
86
+ result.push('input-color__form--clearable')
87
+
88
+ if (props.error)
89
+ result.push('input-color__form--error', 'state--error')
90
+
91
+ return result
92
+ })
93
+
94
+ const inputClass = computed(() => {
95
+ const result: string[] = ['']
96
+
97
+ if (props.variant)
98
+ result.push(`input-color--${props.variant}`)
99
+
100
+ if (props.disabled)
101
+ result.push('input-color--disabled')
102
+
103
+ if (model.value)
104
+ result.push('input-color--selected')
105
+
106
+ if (props.error)
107
+ result.push('input-color--error')
108
+
109
+ return result
110
+ })
111
+
112
+ function clear () {
113
+ emit('clear')
114
+ model.value = ''
115
+ }
116
+ </script>
117
+ <style lang="postcss">
118
+ .input-color {
119
+ /**
120
+ * define color-bg variable
121
+ * for change
122
+ */
123
+ --p-input-color-bg: theme(backgroundColor.base.DEFAULT);
124
+
125
+ @apply flex items-center space-x-3 relative;
126
+
127
+ /**
128
+ * default variant's
129
+ * size and shape
130
+ */
131
+ &--default {
132
+ .input-color__body {
133
+ @apply w-14 h-14 rounded;
134
+ }
135
+ }
136
+
137
+ /**
138
+ * set sizing of
139
+ * circle variant
140
+ */
141
+ &--circle {
142
+ .input-color__body {
143
+ @apply rounded-full w-10 h-10;
144
+ }
145
+ }
146
+
147
+ /**
148
+ * make icon in white
149
+ * when color is selected
150
+ */
151
+ &:where(&--selected) {
152
+ .input-color__icon {
153
+ @apply text-state-emphasis;
154
+ @apply dark:text-dark-state-emphasis;
155
+ }
156
+ }
157
+
158
+ /**
159
+ * selected state
160
+ */
161
+ &--selected {
162
+ /**
163
+ * coloring body of
164
+ * input-color via
165
+ * color-bg variable
166
+ * */
167
+ .input-color__body {
168
+ @apply border-[color:var(--p-input-color-bg)] bg-[color:var(--p-input-color-bg)];
169
+ @apply dark:border-[color:var(--p-input-color-bg)] dark:bg-[color:var(--p-input-color-bg)];
170
+ }
171
+
172
+ /**
173
+ * make circle has
174
+ * an outline when
175
+ * selected
176
+ */
177
+ &.input-color--circle {
178
+ .input-color__body {
179
+ @apply outline outline-4 outline-default;
180
+ @apply dark:outline-dark-default;
181
+ }
182
+ }
183
+ }
184
+
185
+ /**
186
+ * default style of
187
+ * body of input-color
188
+ */
189
+ &__body {
190
+ @apply relative border-2 border-dashed border-default bg-base text-subtle;
191
+ @apply dark:bg-dark-base dark:border-dark-default dark:text-dark-subtle;
192
+ }
193
+
194
+ /**
195
+ * wrapper of checked
196
+ * and add icon
197
+ */
198
+ &__face {
199
+ @apply h-full w-full flex justify-center items-center;
200
+ }
201
+
202
+ /**
203
+ * hide input-color
204
+ * form visually
205
+ */
206
+ &__form {
207
+ @apply w-full h-full absolute left-0 top-0 opacity-0;
208
+
209
+ /**
210
+ * cursor pointer
211
+ * when form is not
212
+ * disabled
213
+ */
214
+ &:not(&:disabled, &[disabled="true"], &--disabled) {
215
+ @apply hover:cursor-pointer;
216
+ }
217
+ }
218
+
219
+ /**
220
+ * clear button
221
+ */
222
+ &__clear {
223
+ @apply z-[10] text-default/30 cursor-pointer hover:text-danger absolute -right-2.5 -top-2.5;
224
+ @apply dark:text-base-black/30 dark:hover:text-dark-danger;
225
+ }
226
+
227
+ /**
228
+ * make input-color
229
+ * looks vague when
230
+ * disabled
231
+ */
232
+ &--disabled {
233
+ .input-color__body {
234
+ @apply opacity-50;
235
+ }
236
+ }
237
+
238
+ /**
239
+ * adding red border
240
+ * when input error
241
+ */
242
+ &--error {
243
+ .input-color__body {
244
+ @apply ring-1 ring-danger-emphasis ring-offset-2;
245
+ @apply dark:ring-dark-danger-emphasis;
246
+ }
247
+ }
248
+
249
+ /**
250
+ * make icon subtle
251
+ * by default */
252
+ &__icon {
253
+ @apply text-subtle;
254
+ @apply dark:text-dark-subtle;
255
+ }
256
+ }
257
+ </style>
@@ -113,20 +113,20 @@ declare const _default: import("vue-demi").DefineComponent<{
113
113
  default: string;
114
114
  };
115
115
  }>> & {
116
- onChange?: ((...args: any[]) => any) | undefined;
117
- "onUpdate:modelValue"?: ((...args: any[]) => any) | undefined;
118
116
  onCancel?: ((...args: any[]) => any) | undefined;
117
+ "onUpdate:modelValue"?: ((...args: any[]) => any) | undefined;
118
+ onChange?: ((...args: any[]) => any) | undefined;
119
119
  onClear?: ((...args: any[]) => any) | undefined;
120
120
  }, {
121
121
  error: boolean;
122
122
  size: SizeVariant;
123
- modelValue: string | string[] | File | File[];
124
- disabled: boolean;
125
- readonly: boolean;
126
123
  placeholder: string;
127
124
  clearable: boolean;
128
125
  accept: string;
126
+ modelValue: string | string[] | File | File[];
129
127
  modelModifiers: ModelModifier;
128
+ disabled: boolean;
129
+ readonly: boolean;
130
130
  multiple: boolean | MultipleType;
131
131
  maxlength: string | number;
132
132
  clearOnCancel: boolean;
@@ -69,15 +69,15 @@ declare const _default: import("vue-demi").DefineComponent<{
69
69
  default: undefined;
70
70
  };
71
71
  }>> & {
72
- onChange?: ((...args: any[]) => any) | undefined;
73
72
  "onUpdate:modelValue"?: ((...args: any[]) => any) | undefined;
73
+ onChange?: ((...args: any[]) => any) | undefined;
74
74
  }, {
75
75
  error: boolean;
76
76
  length: string | number;
77
77
  size: SizeVariant;
78
+ accept: AcceptVariant;
78
79
  modelValue: string;
79
80
  disabled: boolean;
80
81
  readonly: boolean;
81
- accept: AcceptVariant;
82
82
  }, {}>;
83
83
  export default _default;
@@ -89,17 +89,17 @@ declare const _default: import("vue-demi").DefineComponent<{
89
89
  default: boolean;
90
90
  };
91
91
  }>> & {
92
- onChange?: ((...args: any[]) => any) | undefined;
93
92
  "onUpdate:modelValue"?: ((...args: any[]) => any) | undefined;
93
+ onChange?: ((...args: any[]) => any) | undefined;
94
94
  "onUpdate:start"?: ((...args: any[]) => any) | undefined;
95
95
  "onUpdate:end"?: ((...args: any[]) => any) | undefined;
96
96
  }, {
97
97
  error: boolean;
98
+ modelValue: number | [number, number];
98
99
  start: number;
99
100
  end: number;
100
101
  min: string | number;
101
102
  max: string | number;
102
- modelValue: number | [number, number];
103
103
  disabled: boolean;
104
104
  readonly: boolean;
105
105
  step: string | number;
@@ -35,8 +35,8 @@ declare const _default: import("vue-demi").DefineComponent<{
35
35
  default: boolean;
36
36
  };
37
37
  }>>, {
38
- horizontal: boolean;
39
38
  flush: boolean;
39
+ horizontal: boolean;
40
40
  rounded: boolean;
41
41
  borderless: boolean;
42
42
  }, {}>;
@@ -1,8 +1,8 @@
1
1
  {
2
2
  "PAccordion": "components/accordion/Accordion.vue",
3
3
  "PAccordionItem": "components/accordion/AccordionItem.vue",
4
- "PBadge": "components/badge/Badge.vue",
5
4
  "PAvatar": "components/avatar/Avatar.vue",
5
+ "PBadge": "components/badge/Badge.vue",
6
6
  "PBanner": "components/banner/Banner.vue",
7
7
  "PBreadcrumb": "components/breadcrumbs/Breadcrumb.vue",
8
8
  "PBreadcrumbItem": "components/breadcrumbs/BreadcrumbItem.vue",
@@ -32,16 +32,17 @@
32
32
  "PDropdown": "components/dropdown/Dropdown.vue",
33
33
  "PDropdownHeader": "components/dropdown/DropdownHeader.vue",
34
34
  "PDropdownItem": "components/dropdown/DropdownItem.vue",
35
- "PDropdownSubitem": "components/dropdown-subitem/DropdownSubitem.vue",
36
35
  "PDropzone": "components/dropzone/Dropzone.vue",
37
- "PFormGroup": "components/form-group/FormGroup.vue",
36
+ "PDropdownSubitem": "components/dropdown-subitem/DropdownSubitem.vue",
38
37
  "PFilterbar": "components/filterbar/Filterbar.vue",
38
+ "PFormGroup": "components/form-group/FormGroup.vue",
39
39
  "PHeading": "components/heading/Heading.vue",
40
40
  "PInput": "components/input/Input.vue",
41
+ "PinputColor": "components/input-color/inputColor.vue",
41
42
  "PInputFile": "components/input-file/InputFile.vue",
42
- "PInputPassword": "components/input-password/InputPassword.vue",
43
43
  "PInputGroup": "components/input-group/InputGroup.vue",
44
44
  "PInputGroupAddon": "components/input-group/InputGroupAddon.vue",
45
+ "PInputPassword": "components/input-password/InputPassword.vue",
45
46
  "PInputPin": "components/input-pin/InputPin.vue",
46
47
  "PInputRange": "components/input-range/InputRange.vue",
47
48
  "PLabel": "components/label/Label.vue",
@@ -61,43 +62,44 @@
61
62
  "PNavbarNav": "components/navbar/NavbarNav.vue",
62
63
  "PNavbarToggle": "components/navbar/NavbarToggle.vue",
63
64
  "PNavbarNavMenu": "components/navbar-menu/NavbarNavMenu.vue",
64
- "PPage": "components/page/Page.vue",
65
65
  "POverlay": "components/overlay/Overlay.vue",
66
- "PPdfHelipad": "components/pdf-helipad/PdfHelipad.vue",
66
+ "PPage": "components/page/Page.vue",
67
67
  "PPagination": "components/pagination/Pagination.vue",
68
- "PPdfText": "components/pdf-text/PdfText.vue",
68
+ "PPdfHelipad": "components/pdf-helipad/PdfHelipad.vue",
69
69
  "PPdfObject": "components/pdf-object/PdfObject.vue",
70
70
  "PPdfObjectAddon": "components/pdf-object/PdfObjectAddon.vue",
71
71
  "PPdfObjectDebugger": "components/pdf-object/PdfObjectDebugger.vue",
72
72
  "PPdfObjects": "components/pdf-object/PdfObjects.vue",
73
- "PPopover": "components/popover/Popover.vue",
73
+ "PPdfText": "components/pdf-text/PdfText.vue",
74
74
  "PPdfError": "components/pdf-viewer/PdfError.vue",
75
75
  "PPdfLoading": "components/pdf-viewer/PdfLoading.vue",
76
76
  "PPdfNavigation": "components/pdf-viewer/PdfNavigation.vue",
77
77
  "PPdfViewer": "components/pdf-viewer/PdfViewer.vue",
78
- "PProgressIndicator": "components/progress-indicator/ProgressIndicator.vue",
79
- "PProgressbar": "components/progressbar/Progressbar.vue",
78
+ "PPopover": "components/popover/Popover.vue",
80
79
  "PProgress": "components/progress/Progress.vue",
81
80
  "PProgressItem": "components/progress/ProgressItem.vue",
81
+ "PProgressIndicator": "components/progress-indicator/ProgressIndicator.vue",
82
+ "PProgressbar": "components/progressbar/Progressbar.vue",
82
83
  "PRadio": "components/radio/Radio.vue",
83
- "PSheet": "components/sheet/Sheet.vue",
84
84
  "PRingbar": "components/ringbar/Ringbar.vue",
85
85
  "PSelect": "components/select/Select.vue",
86
86
  "PSelectInput": "components/select/SelectInput.vue",
87
87
  "PSelectTags": "components/select/SelectTags.vue",
88
+ "PSheet": "components/sheet/Sheet.vue",
89
+ "PShimmer": "components/shimmer/Shimmer.vue",
88
90
  "PSidebar": "components/sidebar/Sidebar.vue",
89
91
  "PSidebarBrand": "components/sidebar/SidebarBrand.vue",
90
92
  "PSidebarContent": "components/sidebar/SidebarContent.vue",
91
93
  "PSidebarNav": "components/sidebar/SidebarNav.vue",
92
94
  "PSidebarMenu": "components/sidebar-menu/SidebarMenu.vue",
93
95
  "PSidebarMenuItem": "components/sidebar-menu/SidebarMenuItem.vue",
94
- "PSignatureText": "components/signature-text/SignatureText.vue",
95
96
  "PSignatureDraw": "components/signature-draw/SignatureDraw.vue",
96
97
  "PSignatureDrawDesktop": "components/signature-draw/SignatureDrawDesktop.vue",
97
98
  "PSignatureDrawMobile": "components/signature-draw/SignatureDrawMobile.vue",
98
99
  "PSpinner": "components/spinner/Spinner.vue",
99
100
  "PSpinnerRing": "components/spinner/SpinnerRing.vue",
100
101
  "PSpinnerRinggo": "components/spinner/SpinnerRinggo.vue",
102
+ "PSignatureText": "components/signature-text/SignatureText.vue",
101
103
  "PSpread": "components/spread/Spread.vue",
102
104
  "PStep": "components/steps/Step.vue",
103
105
  "PStepSlider": "components/steps/StepSlider.vue",
@@ -119,10 +121,10 @@
119
121
  "PToggle": "components/toggle/Toggle.vue",
120
122
  "PTooltip": "components/tooltip/Tooltip.vue",
121
123
  "PTooltipContainer": "components/tooltip/TooltipContainer.vue",
122
- "PTruncate": "components/truncate/Truncate.vue",
123
124
  "PTour": "components/tour/Tour.vue",
124
125
  "PTourDialog": "components/tour/TourDialog.vue",
125
126
  "PTourHighlight": "components/tour/TourHighlight.vue",
127
+ "PTruncate": "components/truncate/Truncate.vue",
126
128
  "PWizard": "components/wizard/Wizard.vue",
127
129
  "PWizardBody": "components/wizard/WizardBody.vue",
128
130
  "PWizardHeader": "components/wizard/WizardHeader.vue",
@@ -143,10 +143,10 @@ declare const _default: import("vue-demi").DefineComponent<{
143
143
  dismissable: boolean;
144
144
  banner: boolean;
145
145
  text: string;
146
- modelValue: boolean;
147
146
  title: string;
148
147
  centered: boolean;
149
148
  noCloseOnBackdrop: boolean;
149
+ modelValue: boolean;
150
150
  bodyClass: string | Record<string, any> | unknown[];
151
151
  noCloseOnEsc: boolean;
152
152
  modalBodyScrollable: boolean;
@@ -81,8 +81,8 @@ declare const _default: import("vue-demi").DefineComponent<{
81
81
  fill: boolean;
82
82
  variant: StyleVariant;
83
83
  title: string;
84
- vertical: boolean;
85
84
  align: AlignVariant;
85
+ vertical: boolean;
86
86
  condensed: boolean;
87
87
  justified: boolean;
88
88
  titleActionLabel: RouteLocationRaw;
@@ -197,8 +197,8 @@ declare const _default: import("vue-demi").DefineComponent<{
197
197
  default: string;
198
198
  };
199
199
  }>> & {
200
- onChange?: ((...args: any[]) => any) | undefined;
201
200
  "onUpdate:modelValue"?: ((...args: any[]) => any) | undefined;
201
+ onChange?: ((...args: any[]) => any) | undefined;
202
202
  "onUpdate:perPage"?: ((...args: any[]) => any) | undefined;
203
203
  }, {
204
204
  variant: NavigationVariant;
@@ -116,9 +116,9 @@ declare const _default: import("vue-demi").DefineComponent<{
116
116
  "onUpdate:height"?: ((...args: any[]) => any) | undefined;
117
117
  }, {
118
118
  y: number;
119
+ x: number;
119
120
  width: number;
120
121
  height: number;
121
- x: number;
122
122
  autofocus: boolean;
123
123
  maxHeight: number;
124
124
  maxWidth: number;
@@ -151,14 +151,14 @@ declare const _default: import("vue-demi").DefineComponent<{
151
151
  size: number;
152
152
  color: string;
153
153
  text: string;
154
- modelValue: string | File;
155
154
  label: string;
155
+ modelValue: string | File;
156
156
  modelModifiers: ModelModifier;
157
- width: number;
158
- height: number;
159
157
  font: string;
160
158
  padding: number;
161
159
  lineHeight: number;
160
+ width: number;
161
+ height: number;
162
162
  labelColor: string;
163
163
  minSize: number;
164
164
  maxSize: number;
@@ -32,8 +32,8 @@ declare const _default: import("vue-demi").DefineComponent<{
32
32
  default: number;
33
33
  };
34
34
  }>> & {
35
- onChange?: ((...args: any[]) => any) | undefined;
36
35
  "onUpdate:modelValue"?: ((...args: any[]) => any) | undefined;
36
+ onChange?: ((...args: any[]) => any) | undefined;
37
37
  }, {
38
38
  length: string | number;
39
39
  modelValue: number;
@@ -67,8 +67,8 @@ declare const _default: import("vue-demi").DefineComponent<{
67
67
  default: string;
68
68
  };
69
69
  }>> & {
70
- onChange?: ((...args: any[]) => any) | undefined;
71
70
  "onUpdate:modelValue"?: ((...args: any[]) => any) | undefined;
71
+ onChange?: ((...args: any[]) => any) | undefined;
72
72
  }, {
73
73
  value: any;
74
74
  name: string;
@@ -0,0 +1,125 @@
1
+ <template>
2
+ <svg
3
+ role="img"
4
+ class="shimmer"
5
+ :class="{ 'shimmer--responsive': responsive }"
6
+ data-testid="shimmer"
7
+ :width="width"
8
+ :height="height"
9
+ aria-labelledby="Loading..."
10
+ :viewBox="`0 0 ${width} ${height}`"
11
+ preserveAspectRatio="none"
12
+ xmlns="http://www.w3.org/2000/svg">
13
+ <title id="loading-aria">Loading...</title>
14
+ <rect
15
+ x="0"
16
+ y="0"
17
+ width="100%"
18
+ height="100%"
19
+ :clip-path="`url(#clip-path-${uid})`"
20
+ :style="{ fill: `url('#fill-${uid}')` }" />
21
+ <defs>
22
+ <clipPath :id="`clip-path-${uid}`">
23
+ <slot>
24
+ <rect
25
+ x="0"
26
+ y="0"
27
+ rx="4"
28
+ ry="4"
29
+ width="100%"
30
+ height="100%" />
31
+ </slot>
32
+ </clipPath>
33
+ <linearGradient :id="`fill-${uid}`">
34
+ <stop
35
+ offset=".6"
36
+ class="shimmer__fg"
37
+ stop-opacity="1">
38
+ <animate
39
+ attributeName="offset"
40
+ dur="1s"
41
+ keyTimes="0; 0.25; 1"
42
+ repeatCount="indefinite"
43
+ values="-2; -2; 1" />
44
+ </stop>
45
+ <stop
46
+ offset="1.6"
47
+ class="shimmer__bg"
48
+ stop-opacity="1">
49
+ <animate
50
+ attributeName="offset"
51
+ dur="1s"
52
+ keyTimes="0; 0.25; 1"
53
+ repeatCount="indefinite"
54
+ values="-1; -1; 2" />
55
+ </stop>
56
+ <stop
57
+ offset="2.6"
58
+ class="shimmer__fg"
59
+ stop-opacity="1">
60
+ <animate
61
+ attributeName="offset"
62
+ dur="1s"
63
+ keyTimes="0; 0.25; 1"
64
+ repeatCount="indefinite"
65
+ values="0; 0; 3" />
66
+ </stop>
67
+ </linearGradient>
68
+ </defs>
69
+ </svg>
70
+ </template>
71
+
72
+ <script lang="ts" setup>
73
+ import {
74
+ computed,
75
+ getCurrentInstance,
76
+ defineProps,
77
+ } from 'vue-demi'
78
+
79
+ defineProps({
80
+ width: {
81
+ type : [Number, String],
82
+ default: 100,
83
+ },
84
+ height: {
85
+ type : [Number, String],
86
+ default: 16,
87
+ },
88
+ responsive: {
89
+ type : Boolean,
90
+ default: false,
91
+ },
92
+ })
93
+
94
+ const instance = getCurrentInstance()
95
+ const uid = computed(() => instance?.uid)
96
+ </script>
97
+
98
+ <style lang="postcss">
99
+ .shimmer {
100
+ --p-shimmer-fg: theme('backgroundColor.subtle.DEFAULT');
101
+ --p-shimmer-bg: theme('backgroundColor.base.DEFAULT');
102
+ --p-shimmer-dark-bg: theme('backgroundColor.dark.subtle.DEFAULT');
103
+ --p-shimmer-dark-fg: theme('backgroundColor.dark.base');
104
+
105
+ &--responsive {
106
+ @apply w-full h-auto;
107
+ }
108
+ }
109
+
110
+ .shimmer__fg {
111
+ stop-color: var(--p-shimmer-fg);
112
+ }
113
+
114
+ .shimmer__bg {
115
+ stop-color: var(--p-shimmer-bg);
116
+ }
117
+
118
+ :is(.dark .shimmer__fg) {
119
+ stop-color: var(--p-shimmer-dark-fg);
120
+ }
121
+
122
+ :is(.dark .shimmer__bg) {
123
+ stop-color: var(--p-shimmer-dark-bg);
124
+ }
125
+ </style>
@@ -89,8 +89,8 @@ declare const _default: import("vue-demi").DefineComponent<{
89
89
  "onUpdate:modelValue"?: ((...args: any[]) => any) | undefined;
90
90
  }, {
91
91
  color: string;
92
- modelValue: string | File;
93
92
  placeholder: string;
93
+ modelValue: string | File;
94
94
  modelModifiers: ModelModifier;
95
95
  width: number;
96
96
  height: number;
@@ -73,8 +73,8 @@ declare const _default: import("vue-demi").DefineComponent<{
73
73
  "onUpdate:modelValue"?: ((...args: any[]) => any) | undefined;
74
74
  }, {
75
75
  color: string;
76
- modelValue: string | File;
77
76
  placeholder: string;
77
+ modelValue: string | File;
78
78
  modelModifiers: ModelModifier;
79
79
  width: number;
80
80
  height: number;
@@ -94,8 +94,8 @@ declare const _default: import("vue-demi").DefineComponent<{
94
94
  "onUpdate:modelValue"?: ((...args: any[]) => any) | undefined;
95
95
  }, {
96
96
  color: string;
97
- modelValue: string | File;
98
97
  placeholder: string;
98
+ modelValue: string | File;
99
99
  modelModifiers: ModelModifier;
100
100
  width: number;
101
101
  height: number;
@@ -89,9 +89,9 @@ declare const _default: import("vue-demi").DefineComponent<{
89
89
  text: string;
90
90
  modelValue: string | File;
91
91
  modelModifiers: ModelModifier;
92
+ font: string;
92
93
  width: number;
93
94
  height: number;
94
- font: string;
95
95
  maxlength: string | number;
96
96
  maxwords: string | number;
97
97
  }, {}>;
@@ -74,8 +74,8 @@ declare const _default: import("vue-demi").DefineComponent<{
74
74
  }, {
75
75
  modelValue: number;
76
76
  direction: DirectionVariant;
77
- loop: boolean;
78
77
  animation: AnimationVariant;
78
+ loop: boolean;
79
79
  onBeforePrev: TravelHook;
80
80
  onBeforeNext: TravelHook;
81
81
  keepAlive: boolean;
@@ -50,8 +50,8 @@ declare const _default: import("vue-demi").DefineComponent<{
50
50
  }>>, {
51
51
  variant: StyleVariant;
52
52
  href: RouteLocationRaw;
53
- weight: WeightVariant;
54
53
  element: ElementVariant;
54
+ weight: WeightVariant;
55
55
  transform: TransformVariant;
56
56
  }, {}>;
57
57
  export default _default;
@@ -104,11 +104,11 @@ declare const _default: import("vue-demi").DefineComponent<{
104
104
  }, {
105
105
  error: boolean;
106
106
  resize: boolean;
107
+ placeholder: string;
108
+ accept: AcceptVariant;
107
109
  modelValue: string;
108
110
  disabled: boolean;
109
111
  readonly: boolean;
110
- placeholder: string;
111
- accept: AcceptVariant;
112
112
  maxlength: string | number;
113
113
  showCounter: boolean;
114
114
  rows: string | number;
@@ -95,8 +95,8 @@ declare const _default: import("vue-demi").DefineComponent<{
95
95
  default: undefined;
96
96
  };
97
97
  }>> & {
98
- onChange?: ((...args: any[]) => any) | undefined;
99
98
  "onUpdate:modelValue"?: ((...args: any[]) => any) | undefined;
99
+ onChange?: ((...args: any[]) => any) | undefined;
100
100
  }, {
101
101
  value: any;
102
102
  variant: StyleVariant;
@@ -17,6 +17,6 @@ export declare function installLocale(name: string, locale: Locale): void;
17
17
  * Get locale pack
18
18
  * @param name language name, ex: 'fr'
19
19
  */
20
- export declare function getLocale(name?: "id" | "en" | (string & {
20
+ export declare function getLocale(name?: (string & {
21
21
  _?: undefined;
22
- })): any;
22
+ }) | "id" | "en"): any;
package/dist/module.json CHANGED
@@ -4,5 +4,5 @@
4
4
  "compatibility": {
5
5
  "nuxt": ">=3.0.0"
6
6
  },
7
- "version": "0.26.0"
7
+ "version": "0.27.0"
8
8
  }
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "@privyid/persona",
3
3
  "description": "Persona core package",
4
- "version": "0.26.0",
4
+ "version": "0.27.0",
5
5
  "license": "MIT",
6
6
  "repository": {
7
7
  "url": "https://github.com/privy-open-source/design-system.git",
@@ -64,7 +64,7 @@
64
64
  "@splidejs/splide": "4.1.4",
65
65
  "@testing-library/dom": "9.3.3",
66
66
  "@testing-library/user-event": "14.5.1",
67
- "@vueuse/core": "10.5.0",
67
+ "@vueuse/core": "10.7.0",
68
68
  "@vueuse/math": "10.3.0",
69
69
  "@zxing/browser": "0.1.4",
70
70
  "@zxing/library": "0.20.0",
@@ -74,7 +74,7 @@
74
74
  "defu": "6.1.3",
75
75
  "fast-equals": "^5.0.0",
76
76
  "fuse.js": "7.0.0",
77
- "interactjs": "1.10.21",
77
+ "interactjs": "1.10.26",
78
78
  "lodash-es": "4.17.21",
79
79
  "marked": "5.1.2",
80
80
  "nanodelay": "2.0.2",
@@ -92,8 +92,8 @@
92
92
  "extends @privyid/browserslist-config"
93
93
  ],
94
94
  "peerDependencies": {
95
- "@privyid/browserslist-config": "^0.26.0",
96
- "@privyid/tailwind-preset": "^0.26.0",
95
+ "@privyid/browserslist-config": "^0.27.0",
96
+ "@privyid/tailwind-preset": "^0.27.0",
97
97
  "postcss-custom-properties": "^12.1.11 || ^13.0.0",
98
98
  "postcss-hexrgba": "^2.1.0",
99
99
  "postcss-lighten-darken": "^0.9.0",
@@ -104,8 +104,8 @@
104
104
  "@nuxt/module-builder": "^0.5.0",
105
105
  "@nuxt/schema": "3.8.2",
106
106
  "@nuxtjs/tailwindcss": "^6.2.0",
107
- "@privyid/browserslist-config": "^0.26.0",
108
- "@privyid/tailwind-preset": "^0.26.0",
107
+ "@privyid/browserslist-config": "^0.27.0",
108
+ "@privyid/tailwind-preset": "^0.27.0",
109
109
  "@types/sanitize-html": "^2",
110
110
  "browserslist-to-esbuild": "^1.2.0",
111
111
  "nuxt": "3.8.2",