@privyid/persona 0.17.1 → 0.18.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 (117) hide show
  1. package/dist/components/avatar/utils/create-image.mjs +1 -1
  2. package/dist/components/banner/Banner.vue +3 -3
  3. package/dist/components/breadcrumbs/BreadcrumbItem.vue +1 -1
  4. package/dist/components/breadcrumbs/BreadcrumbItemDropdown.vue +1 -1
  5. package/dist/components/button/Button.vue +24 -11
  6. package/dist/components/button/Button.vue.d.ts +19 -9
  7. package/dist/components/button/index.d.ts +1 -0
  8. package/dist/components/calendar/Calendar.vue +8 -4
  9. package/dist/components/camera/Camera.vue +3 -3
  10. package/dist/components/card/Card.vue +9 -3
  11. package/dist/components/card/Card.vue.d.ts +1 -1
  12. package/dist/components/carousel/Carousel.vue.d.ts +6 -6
  13. package/dist/components/chart/ChartSet.vue.d.ts +2 -2
  14. package/dist/components/chart/ChartVal.vue.d.ts +4 -4
  15. package/dist/components/checkbox/Checkbox.vue.d.ts +6 -6
  16. package/dist/components/checkbox/index.mjs +1 -1
  17. package/dist/components/collapse/Collapse.vue +12 -1
  18. package/dist/components/contextual-bar/ContextualBar.vue +1 -1
  19. package/dist/components/contextual-bar/ContextualBar.vue.d.ts +2 -2
  20. package/dist/components/cropper/Cropper.vue +4 -4
  21. package/dist/components/cropper/Cropper.vue.d.ts +8 -8
  22. package/dist/components/datepicker/Datepicker.vue +19 -4
  23. package/dist/components/datepicker/Datepicker.vue.d.ts +10 -0
  24. package/dist/components/dropdown/Dropdown.vue +1 -1
  25. package/dist/components/dropdown/Dropdown.vue.d.ts +4 -4
  26. package/dist/components/dropdown/DropdownItem.vue +10 -0
  27. package/dist/components/dropdown/DropdownItem.vue.d.ts +9 -0
  28. package/dist/components/dropdown/utils/use-focus.d.ts +1 -1
  29. package/dist/components/dropdown/utils/use-focus.mjs +2 -2
  30. package/dist/components/dropdown-subitem/DropdownSubitem.vue +2 -2
  31. package/dist/components/dropzone/Dropzone.vue.d.ts +2 -2
  32. package/dist/components/filterbar/pinned/PinnedDate.vue +4 -7
  33. package/dist/components/filterbar/pinned/PinnedMultiselect.vue +4 -7
  34. package/dist/components/filterbar/pinned/PinnedSelect.vue +5 -7
  35. package/dist/components/filterbar/pinned/PinnedSelect.vue.d.ts +2 -2
  36. package/dist/components/filterbar/pinned/PinnedToggle.vue.d.ts +6 -6
  37. package/dist/components/form-group/FormGroup.vue +1 -1
  38. package/dist/components/global/router.d.ts +2 -1
  39. package/dist/components/input/Input.vue +22 -4
  40. package/dist/components/input/Input.vue.d.ts +22 -2
  41. package/dist/components/input/index.d.ts +1 -0
  42. package/dist/components/input/index.mjs +5 -0
  43. package/dist/components/input/utils/accept.d.ts +26 -0
  44. package/dist/components/input/utils/accept.mjs +81 -0
  45. package/dist/components/input-file/InputFile.vue.d.ts +3 -3
  46. package/dist/components/input-password/InputPassword.vue +4 -1
  47. package/dist/components/input-password/InputPassword.vue.d.ts +7 -3
  48. package/dist/components/input-pin/InputPin.vue +45 -30
  49. package/dist/components/input-pin/InputPin.vue.d.ts +26 -7
  50. package/dist/components/input-pin/index.d.ts +6 -0
  51. package/dist/components/input-pin/index.mjs +3 -0
  52. package/dist/components/input-range/InputRange.vue +5 -5
  53. package/dist/components/input-range/InputRange.vue.d.ts +6 -6
  54. package/dist/components/label/Label.vue +1 -1
  55. package/dist/components/label/Label.vue.d.ts +1 -1
  56. package/dist/components/list-group/ListGroup.vue +25 -0
  57. package/dist/components/list-group/ListGroup.vue.d.ts +18 -0
  58. package/dist/components/modal/Modal.vue +5 -2
  59. package/dist/components/modal/Modal.vue.d.ts +2 -2
  60. package/dist/components/nav/NavItem.vue +19 -6
  61. package/dist/components/nav/NavItem.vue.d.ts +6 -3
  62. package/dist/components/nav/NavItemDropdown.vue.d.ts +1 -1
  63. package/dist/components/navbar/Navbar.vue.d.ts +1 -1
  64. package/dist/components/navbar/NavbarToggle.vue +2 -2
  65. package/dist/components/pagination/Pagination.vue +2 -2
  66. package/dist/components/pagination/Pagination.vue.d.ts +1 -1
  67. package/dist/components/pdf-text/PdfText.vue.d.ts +1 -1
  68. package/dist/components/pdf-viewer/PdfNavigation.vue +4 -4
  69. package/dist/components/pdf-viewer/PdfViewer.vue +1 -2
  70. package/dist/components/pdf-viewer/PdfViewer.vue.d.ts +4 -4
  71. package/dist/components/progress-indicator/ProgressIndicator.vue.d.ts +2 -2
  72. package/dist/components/radio/Radio.vue +1 -1
  73. package/dist/components/radio/Radio.vue.d.ts +4 -4
  74. package/dist/components/select/Select.vue +54 -27
  75. package/dist/components/select/Select.vue.d.ts +23 -5
  76. package/dist/components/select/index.d.ts +2 -0
  77. package/dist/components/select/index.mjs +4 -0
  78. package/dist/components/sidebar/Sidebar.vue.d.ts +1 -1
  79. package/dist/components/sidebar/SidebarNav.vue +2 -0
  80. package/dist/components/sidebar-menu/SidebarMenu.vue +68 -48
  81. package/dist/components/sidebar-menu/SidebarMenu.vue.d.ts +3 -3
  82. package/dist/components/sidebar-menu/index.d.ts +95 -2
  83. package/dist/components/sidebar-menu/index.mjs +41 -0
  84. package/dist/components/signature-draw/SignatureDrawMobile.vue +3 -7
  85. package/dist/components/signature-text/SignatureText.vue.d.ts +5 -5
  86. package/dist/components/spinner/Spinner.vue +28 -12
  87. package/dist/components/spinner/SpinnerRing.vue +14 -7
  88. package/dist/components/spinner/SpinnerRinggo.vue +62 -0
  89. package/dist/components/spinner/SpinnerRinggo.vue.d.ts +6 -0
  90. package/dist/components/steps/Step.vue +3 -0
  91. package/dist/components/steps/Step.vue.d.ts +1 -0
  92. package/dist/components/steps/Steps.vue +1 -0
  93. package/dist/components/steps/index.d.ts +2 -0
  94. package/dist/components/steps/index.mjs +1 -0
  95. package/dist/components/strengthbar/Strengthbar.vue.d.ts +9 -9
  96. package/dist/components/table/Table.vue +2 -2
  97. package/dist/components/tabs/Tabs.vue +4 -2
  98. package/dist/components/textarea/Textarea.vue +10 -1
  99. package/dist/components/textarea/Textarea.vue.d.ts +16 -4
  100. package/dist/components/toast/Toast.vue +5 -5
  101. package/dist/components/toast/ToastContainer.vue +6 -6
  102. package/dist/components/toggle/Toggle.vue +1 -1
  103. package/dist/components/toggle/Toggle.vue.d.ts +6 -6
  104. package/dist/components/tooltip/Tooltip.vue.d.ts +1 -1
  105. package/dist/components/tooltip/TooltipContainer.vue +18 -3
  106. package/dist/components/tooltip/index.d.ts +3 -0
  107. package/dist/components/tooltip/index.mjs +29 -4
  108. package/dist/components/tooltip/utils/parse-bindings.d.ts +2 -1
  109. package/dist/components/tooltip/utils/parse-bindings.mjs +2 -0
  110. package/dist/components/tour/TourDialog.vue +1 -1
  111. package/dist/components/tour/TourDialog.vue.d.ts +1 -1
  112. package/dist/components/truncate/Truncate.vue +9 -1
  113. package/dist/components/truncate/Truncate.vue.d.ts +11 -2
  114. package/dist/core/index.d.ts +2 -1
  115. package/dist/core/index.mjs +7 -1
  116. package/dist/module.json +1 -1
  117. package/package.json +14 -14
@@ -4,7 +4,7 @@ export function createText(text, size, bgColor, textColor) {
4
4
  return `data:image/svg+xml,<svg height="${size}" width="${size}" xmlns="http://www.w3.org/2000/svg"><rect fill="${encodeURIComponent(bgColor)}" x="0" y="0" height="${size}" width="${size}"></rect><text fill="${encodeURIComponent(textColor)}" dominant-baseline="central" text-anchor="middle" x="50%" y="50%" font-family="sans-serif" font-weight="600">${encodeURIComponent(text)}</text></svg>`;
5
5
  }
6
6
  export function createSpinner(width = 50, height = width) {
7
- return `data:image/svg+xml,<svg class="lds-spinner" width="${width}" height="${height}" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 100 100" preserveAspectRatio="xMidYMid" style="background:0 0"><rect x="47" y="24" rx="9.4" ry="4.8" width="6" height="12" fill="%23ebecf0"><animate attributeName="opacity" values="1;0" keyTimes="0;1" dur="1s" begin="-0.9166666666666666s" repeatCount="indefinite"/></rect><rect x="47" y="24" rx="9.4" ry="4.8" width="6" height="12" fill="%23ebecf0" transform="rotate(30 50 50)"><animate attributeName="opacity" values="1;0" keyTimes="0;1" dur="1s" begin="-0.8333333333333334s" repeatCount="indefinite"/></rect><rect x="47" y="24" rx="9.4" ry="4.8" width="6" height="12" fill="%23ebecf0" transform="rotate(60 50 50)"><animate attributeName="opacity" values="1;0" keyTimes="0;1" dur="1s" begin="-0.75s" repeatCount="indefinite"/></rect><rect x="47" y="24" rx="9.4" ry="4.8" width="6" height="12" fill="%23ebecf0" transform="rotate(90 50 50)"><animate attributeName="opacity" values="1;0" keyTimes="0;1" dur="1s" begin="-0.6666666666666666s" repeatCount="indefinite"/></rect><rect x="47" y="24" rx="9.4" ry="4.8" width="6" height="12" fill="%23ebecf0" transform="rotate(120 50 50)"><animate attributeName="opacity" values="1;0" keyTimes="0;1" dur="1s" begin="-0.5833333333333334s" repeatCount="indefinite"/></rect><rect x="47" y="24" rx="9.4" ry="4.8" width="6" height="12" fill="%23ebecf0" transform="rotate(150 50 50)"><animate attributeName="opacity" values="1;0" keyTimes="0;1" dur="1s" begin="-0.5s" repeatCount="indefinite"/></rect><rect x="47" y="24" rx="9.4" ry="4.8" width="6" height="12" fill="%23ebecf0" transform="rotate(180 50 50)"><animate attributeName="opacity" values="1;0" keyTimes="0;1" dur="1s" begin="-0.4166666666666667s" repeatCount="indefinite"/></rect><rect x="47" y="24" rx="9.4" ry="4.8" width="6" height="12" fill="%23ebecf0" transform="rotate(210 50 50)"><animate attributeName="opacity" values="1;0" keyTimes="0;1" dur="1s" begin="-0.3333333333333333s" repeatCount="indefinite"/></rect><rect x="47" y="24" rx="9.4" ry="4.8" width="6" height="12" fill="%23ebecf0" transform="rotate(240 50 50)"><animate attributeName="opacity" values="1;0" keyTimes="0;1" dur="1s" begin="-0.25s" repeatCount="indefinite"/></rect><rect x="47" y="24" rx="9.4" ry="4.8" width="6" height="12" fill="%23ebecf0" transform="rotate(270 50 50)"><animate attributeName="opacity" values="1;0" keyTimes="0;1" dur="1s" begin="-0.16666666666666666s" repeatCount="indefinite"/></rect><rect x="47" y="24" rx="9.4" ry="4.8" width="6" height="12" fill="%23ebecf0" transform="rotate(300 50 50)"><animate attributeName="opacity" values="1;0" keyTimes="0;1" dur="1s" begin="-0.08333333333333333s" repeatCount="indefinite"/></rect><rect x="47" y="24" rx="9.4" ry="4.8" width="6" height="12" fill="%23ebecf0" transform="rotate(330 50 50)"><animate attributeName="opacity" values="1;0" keyTimes="0;1" dur="1s" begin="0s" repeatCount="indefinite"/></rect></svg>`;
7
+ return `data:image/svg+xml,<svg v-once data-testid="spinner" class="spinner spinner-basic" width="${width}" height="${height}" viewBox="0 0 19 19" fill="currentColor" xmlns="http://www.w3.org/2000/svg"><rect class="spinner-basic__bar" x="8.125" width="2.5" height="6.25" rx="1.25" fill="currentColor" fill-opacity="60%"><animate attributeName="opacity" values="1;0" keyTimes="0;1" dur="1s" begin="0" repeatCount="indefinite" /></rect><rect class="spinner-basic__bar" x="15.1202" y="1.86199" width="2.5" height="6.25" rx="1.25" transform="rotate(45 15.1202 1.86199)" fill="currentColor" fill-opacity="60%"><animate attributeName="opacity" values="1;0" keyTimes="0;1" dur="1s" begin="0.125s" repeatCount="indefinite" /></rect><rect class="spinner-basic__bar" x="18.75" y="8.125" width="2.5" height="6.25" rx="1.25" transform="rotate(90 18.75 8.125)" fill="currentColor" fill-opacity="60%"><animate attributeName="opacity" values="1;0" keyTimes="0;1" dur="1s" begin="0.250s" repeatCount="indefinite" /></rect><rect class="spinner-basic__bar" x="16.888" y="15.1202" width="2.5" height="6.25" rx="1.25" transform="rotate(135 16.888 15.1202)" fill="currentColor" fill-opacity="60%"><animate attributeName="opacity" values="1;0" keyTimes="0;1" dur="1s" begin="0.375s" repeatCount="indefinite" /></rect><rect class="spinner-basic__bar" x="8.125" y="12.5" width="2.5" height="6.25" rx="1.25" fill="currentColor" fill-opacity="60%"><animate attributeName="opacity" values="1;0" keyTimes="0;1" dur="1s" begin="0.500s" repeatCount="indefinite" /></rect><rect class="spinner-basic__bar" x="6.2814" y="10.7008" width="2.5" height="6.25" rx="1.25" transform="rotate(45 6.2814 10.7008)" fill="currentColor" fill-opacity="60%"><animate attributeName="opacity" values="1;0" keyTimes="0;1" dur="1s" begin="0.625s" repeatCount="indefinite" /></rect><rect class="spinner-basic__bar" x="6.25" y="8.125" width="2.5" height="6.25" rx="1.25" transform="rotate(90 6.25 8.125)" fill="currentColor" fill-opacity="60%"><animate attributeName="opacity" values="1;0" keyTimes="0;1" dur="1s" begin="0.750s" repeatCount="indefinite" /></rect><rect class="spinner-basic__bar" x="8.04917" y="6.2814" width="2.5" height="6.25" rx="1.25" transform="rotate(135 8.04917 6.2814)" fill="currentColor" fill-opacity="60%"><animate attributeName="opacity" values="1;0" keyTimes="0;1" dur="1s" begin="0.875s" repeatCount="indefinite" /></rect></svg>`;
8
8
  }
9
9
  export function getAlias(name) {
10
10
  return name.split(" ").slice(0, 2).map((c) => c.at(0)).join("").toUpperCase();
@@ -27,9 +27,9 @@
27
27
  </template>
28
28
 
29
29
  <script>
30
- import IconInfo from "@carbon/icons-vue/lib/information--filled/20";
31
- import IconDanger from "@carbon/icons-vue/lib/warning--filled/20";
32
- import IconClose from "@carbon/icons-vue/lib/close/16";
30
+ import IconInfo from "@privyid/persona-icon/vue/information-circle-solid/20.vue";
31
+ import IconDanger from "@privyid/persona-icon/vue/exclamation-circle-solid/20.vue";
32
+ import IconClose from "@privyid/persona-icon/vue/close/16.vue";
33
33
  import {
34
34
  defineComponent,
35
35
  ref,
@@ -17,7 +17,7 @@
17
17
 
18
18
  <script>
19
19
  import { defineComponent, computed } from "vue-demi";
20
- import IconChevron from "@carbon/icons-vue/lib/chevron--right/16";
20
+ import IconChevron from "@privyid/persona-icon/vue/chevron-right/20.vue";
21
21
  export default defineComponent({
22
22
  components: { IconChevron },
23
23
  props: {
@@ -19,7 +19,7 @@
19
19
  <script>
20
20
  import { defineComponent, computed } from "vue-demi";
21
21
  import Dropdown from "../dropdown/Dropdown.vue";
22
- import IconChevron from "@carbon/icons-vue/lib/chevron--right/16";
22
+ import IconChevron from "@privyid/persona-icon/vue/chevron-right/20.vue";
23
23
  export default defineComponent({
24
24
  components: { Dropdown, IconChevron },
25
25
  props: {
@@ -1,7 +1,9 @@
1
1
  <template>
2
2
  <component
3
3
  :is="tagName"
4
- :href="href"
4
+ :href="tagName === 'a' ? href : undefined"
5
+ :to="tagName === 'a' ? undefined : href"
6
+ :type="tagName === 'a' ? undefined : type"
5
7
  data-testid="btn"
6
8
  :class="classNames">
7
9
  <slot />
@@ -12,7 +14,8 @@
12
14
  import {
13
15
  computed,
14
16
  defineComponent,
15
- inject
17
+ inject,
18
+ resolveComponent
16
19
  } from "vue-demi";
17
20
  import { BUTTONGROUP_SETTING } from "../button-group";
18
21
  import { INPUTGROUP_SETTING } from "../input-group";
@@ -39,8 +42,12 @@ export default defineComponent({
39
42
  default: false
40
43
  },
41
44
  href: {
42
- type: String,
45
+ type: [String, Object],
43
46
  default: void 0
47
+ },
48
+ type: {
49
+ type: String,
50
+ default: "button"
44
51
  }
45
52
  },
46
53
  setup(props) {
@@ -65,10 +72,12 @@ export default defineComponent({
65
72
  return result;
66
73
  });
67
74
  const tagName = computed(() => {
68
- let tag = "button";
69
- if (props.href)
70
- tag = "a";
71
- return tag;
75
+ if (props.href) {
76
+ if (typeof props.href === "string" && (props.href.startsWith("http") || props.href.startsWith("#")))
77
+ return "a";
78
+ return resolveComponent("router-link");
79
+ }
80
+ return "button";
72
81
  });
73
82
  return { classNames, tagName };
74
83
  }
@@ -103,6 +112,10 @@ export default defineComponent({
103
112
  --p-color-dark-danger-hover: darken(theme(backgroundColor.dark.danger.emphasis), 5%);
104
113
  --p-color-danger-focus: darken(theme(backgroundColor.danger.emphasis), 10%);
105
114
  --p-color-dark-danger-focus: darken(theme(backgroundColor.dark.danger.emphasis), 10%);
115
+ --p-button-xs-padding-x: theme(spacing.2);
116
+ --p-button-sm-padding-x: theme(spacing.4);
117
+ --p-button-md-padding-x: theme(spacing.5);
118
+ --p-button-lg-padding-x: theme(spacing.8);
106
119
 
107
120
  @apply inline-flex align-middle justify-center font-medium no-underline hover:no-underline disabled:opacity-50 disabled:pointer-events-none transition-all ease-in-out duration-200;
108
121
 
@@ -119,19 +132,19 @@ export default defineComponent({
119
132
  * eg: xs, sm, md, and lg
120
133
  */
121
134
  &&--xs {
122
- @apply px-2 py-[2px] gap-1 text-sm rounded-xs;
135
+ @apply px-[var(--p-button-xs-padding-x)] py-[2px] gap-1 text-sm rounded-xs;
123
136
  }
124
137
 
125
138
  &&--sm {
126
- @apply px-4 py-1 gap-2 text-base tracking-wider rounded-sm;
139
+ @apply px-[var(--p-button-sm-padding-x)] py-1 gap-2 text-base tracking-wider rounded-sm;
127
140
  }
128
141
 
129
142
  &&--md {
130
- @apply px-5 py-[10px] gap-3 text-base tracking-wider rounded;
143
+ @apply px-[var(--p-button-md-padding-x)] py-[10px] gap-3 text-base tracking-wider rounded;
131
144
  }
132
145
 
133
146
  &&--lg {
134
- @apply px-8 py-4 gap-4 text-base tracking-wider rounded;
147
+ @apply px-[var(--p-button-lg-padding-x)] py-4 gap-4 text-base tracking-wider rounded;
135
148
  }
136
149
 
137
150
  /*
@@ -1,6 +1,7 @@
1
- import { PropType } from 'vue-demi';
2
- import { ColorVariant, SizeVariant, StyleVariant, TagVariant } from '.';
3
- declare const _default: import("vue-demi").DefineComponent<{
1
+ import { PropType, type DefineComponent } from 'vue-demi';
2
+ import type { RouteLocationRaw } from 'vue-router';
3
+ import { ColorVariant, SizeVariant, StyleVariant, TagVariant, TypeVariant } from '.';
4
+ declare const _default: DefineComponent<{
4
5
  variant: {
5
6
  type: PropType<StyleVariant>;
6
7
  default: string;
@@ -22,12 +23,16 @@ declare const _default: import("vue-demi").DefineComponent<{
22
23
  default: boolean;
23
24
  };
24
25
  href: {
25
- type: StringConstructor;
26
+ type: PropType<RouteLocationRaw>;
26
27
  default: undefined;
27
28
  };
29
+ type: {
30
+ type: PropType<TypeVariant>;
31
+ default: string;
32
+ };
28
33
  }, {
29
34
  classNames: import("vue-demi").ComputedRef<string[]>;
30
- tagName: import("vue-demi").ComputedRef<TagVariant>;
35
+ tagName: import("vue-demi").ComputedRef<TagVariant | DefineComponent>;
31
36
  }, unknown, {}, {}, import("vue-demi").ComponentOptionsMixin, import("vue-demi").ComponentOptionsMixin, {}, string, import("vue-demi").VNodeProps & import("vue-demi").AllowedComponentProps & import("vue-demi").ComponentCustomProps, Readonly<import("vue-demi").ExtractPropTypes<{
32
37
  variant: {
33
38
  type: PropType<StyleVariant>;
@@ -50,15 +55,20 @@ declare const _default: import("vue-demi").DefineComponent<{
50
55
  default: boolean;
51
56
  };
52
57
  href: {
53
- type: StringConstructor;
58
+ type: PropType<RouteLocationRaw>;
54
59
  default: undefined;
55
60
  };
61
+ type: {
62
+ type: PropType<TypeVariant>;
63
+ default: string;
64
+ };
56
65
  }>>, {
57
66
  variant: StyleVariant;
58
67
  size: SizeVariant;
59
- href: string;
60
- pill: boolean;
61
- color: ColorVariant;
68
+ type: TypeVariant;
62
69
  icon: boolean;
70
+ color: ColorVariant;
71
+ pill: boolean;
72
+ href: RouteLocationRaw;
63
73
  }, {}>;
64
74
  export default _default;
@@ -2,3 +2,4 @@ export type StyleVariant = 'solid' | 'outline' | 'ghost' | 'link' | 'input';
2
2
  export type ColorVariant = 'default' | 'primary' | 'info' | 'success' | 'warning' | 'danger';
3
3
  export type SizeVariant = 'xs' | 'sm' | 'md' | 'lg';
4
4
  export type TagVariant = 'a' | 'button';
5
+ export type TypeVariant = 'button' | 'menu' | 'reset' | 'submit';
@@ -10,6 +10,7 @@
10
10
  data-testid="calendar-prev"
11
11
  variant="solid"
12
12
  icon
13
+ type="button"
13
14
  :disabled="!canPrev"
14
15
  :readonly="disabled || readonly"
15
16
  @click="prev">
@@ -20,6 +21,7 @@
20
21
  data-testid="calendar-title"
21
22
  class="calendar__nav-title"
22
23
  variant="solid"
24
+ type="button"
23
25
  :readonly="disabled || readonly"
24
26
  @click="changeMode(1)">
25
27
  {{ title }}
@@ -29,6 +31,7 @@
29
31
  data-testid="calendar-next"
30
32
  variant="solid"
31
33
  icon
34
+ type="button"
32
35
  :readonly="disabled || readonly"
33
36
  :disabled="!canNext"
34
37
  @click="next">
@@ -49,6 +52,7 @@
49
52
  :key="i">
50
53
  <p-button
51
54
  variant="solid"
55
+ type="button"
52
56
  data-testid="calendar-item"
53
57
  :readonly="item.readonly || disabled || readonly"
54
58
  :active="item.active"
@@ -175,7 +179,7 @@ export default defineComponent({
175
179
  const localEnd = ref(Array.isArray(props.modelValue) ? props.modelValue[1] : props.end ?? props.modelValue);
176
180
  const vStart = computed({
177
181
  get() {
178
- return Array.isArray(props.modelValue) ? props.modelValue[0] : props.start ?? props.modelValue;
182
+ return Array.isArray(props.modelValue) ? props.modelValue?.[0] : props.start ?? props.modelValue;
179
183
  },
180
184
  set(value) {
181
185
  emit("update:start", value);
@@ -183,7 +187,7 @@ export default defineComponent({
183
187
  });
184
188
  const vEnd = computed({
185
189
  get() {
186
- return Array.isArray(props.modelValue) ? props.modelValue[1] : props.end ?? props.modelValue;
190
+ return Array.isArray(props.modelValue) ? props.modelValue?.[1] : props.end ?? props.modelValue;
187
191
  },
188
192
  set(value) {
189
193
  emit("update:end", value);
@@ -275,8 +279,8 @@ export default defineComponent({
275
279
  }
276
280
  return false;
277
281
  }
278
- syncRef(localStart, vStart);
279
- syncRef(localEnd, vEnd);
282
+ syncRef(localStart, vStart, { immediate: false });
283
+ syncRef(localEnd, vEnd, { immediate: false });
280
284
  watch([localStart, localEnd], ([startVal, endVal]) => {
281
285
  if (props.range) {
282
286
  if (startVal && endVal) {
@@ -126,9 +126,9 @@ import {
126
126
  toRef
127
127
  } from "vue-demi";
128
128
  import pButton from "../button/Button.vue";
129
- import IconRotate from "@carbon/icons-vue/lib/renew/16";
130
- import IconCamera from "@carbon/icons-vue/lib/camera/24";
131
- import IconRetake from "@carbon/icons-vue/lib/reset/24";
129
+ import IconRotate from "@privyid/persona-icon/vue/refresh/16.vue";
130
+ import IconCamera from "@privyid/persona-icon/vue/camera/24.vue";
131
+ import IconRetake from "@privyid/persona-icon/vue/reset/24.vue";
132
132
  import ShutterWav from "./assets/shutter.wav";
133
133
  import { useVModel } from "../input";
134
134
  import CaptureAdapter from "./adapter/capture";
@@ -58,7 +58,7 @@ import {
58
58
  defineComponent,
59
59
  ref
60
60
  } from "vue-demi";
61
- import IconClose from "@carbon/icons-vue/lib/close/16";
61
+ import IconClose from "@privyid/persona-icon/vue/close/16.vue";
62
62
  import Heading from "../heading/Heading.vue";
63
63
  export default defineComponent({
64
64
  components: { Heading, IconClose },
@@ -132,9 +132,15 @@ export default defineComponent({
132
132
  .card {
133
133
  --p-card-padding-x: theme(spacing.6);
134
134
  --p-card-padding-y: theme(spacing.6);
135
+ --p-card-bg: theme(backgroundColor.default.DEFAULT);
136
+ --p-card-bg-dark: theme(backgroundColor.dark.default.DEFAULT);
137
+ --p-card-border: theme(borderColor.default.DEFAULT);
138
+ --p-card-border-dark: theme(borderColor.dark.default.DEFAULT);
139
+ --p-card-color: theme(textColor.default);
140
+ --p-card-color-dark: theme(textColor.dark.default);
135
141
 
136
- @apply border bg-default border-default text-default rounded;
137
- @apply dark:bg-dark-default dark:border-dark-default dark:text-dark-default;
142
+ @apply border bg-[color:var(--p-card-bg)] border-[color:var(--p-card-border)] text-[color:var(--p-card-color)] rounded;
143
+ @apply dark:bg-[color:var(--p-card-bg-dark)] dark:border-[color:var(--p-card-border-dark)] dark:text-[color:var(--p-card-color-dark)];
138
144
 
139
145
  /*
140
146
  * Card Body & Card Header
@@ -66,9 +66,9 @@ declare const _default: import("vue-demi").DefineComponent<{
66
66
  }>> & {
67
67
  onDismissed?: ((...args: any[]) => any) | undefined;
68
68
  }, {
69
+ dismissable: boolean;
69
70
  disabled: boolean;
70
71
  title: string;
71
- dismissable: boolean;
72
72
  element: ElementVariant;
73
73
  sectioned: boolean;
74
74
  callout: boolean;
@@ -17,11 +17,11 @@ declare const _default: import("vue-demi").DefineComponent<{
17
17
  default: string;
18
18
  };
19
19
  width: {
20
- type: (StringConstructor | NumberConstructor)[];
20
+ type: (NumberConstructor | StringConstructor)[];
21
21
  default: string;
22
22
  };
23
23
  height: {
24
- type: (StringConstructor | NumberConstructor)[];
24
+ type: (NumberConstructor | StringConstructor)[];
25
25
  default: string;
26
26
  };
27
27
  loop: {
@@ -33,7 +33,7 @@ declare const _default: import("vue-demi").DefineComponent<{
33
33
  default: boolean;
34
34
  };
35
35
  autoplayInterval: {
36
- type: (StringConstructor | NumberConstructor)[];
36
+ type: (NumberConstructor | StringConstructor)[];
37
37
  default: number;
38
38
  };
39
39
  splideOptions: {
@@ -66,11 +66,11 @@ declare const _default: import("vue-demi").DefineComponent<{
66
66
  default: string;
67
67
  };
68
68
  width: {
69
- type: (StringConstructor | NumberConstructor)[];
69
+ type: (NumberConstructor | StringConstructor)[];
70
70
  default: string;
71
71
  };
72
72
  height: {
73
- type: (StringConstructor | NumberConstructor)[];
73
+ type: (NumberConstructor | StringConstructor)[];
74
74
  default: string;
75
75
  };
76
76
  loop: {
@@ -82,7 +82,7 @@ declare const _default: import("vue-demi").DefineComponent<{
82
82
  default: boolean;
83
83
  };
84
84
  autoplayInterval: {
85
- type: (StringConstructor | NumberConstructor)[];
85
+ type: (NumberConstructor | StringConstructor)[];
86
86
  default: number;
87
87
  };
88
88
  splideOptions: {
@@ -1,11 +1,11 @@
1
1
  declare const _default: import("vue-demi").DefineComponent<{
2
2
  name: {
3
- type: (StringConstructor | NumberConstructor)[];
3
+ type: (NumberConstructor | StringConstructor)[];
4
4
  required: true;
5
5
  };
6
6
  }, unknown, unknown, {}, {}, import("vue-demi").ComponentOptionsMixin, import("vue-demi").ComponentOptionsMixin, {}, string, import("vue-demi").VNodeProps & import("vue-demi").AllowedComponentProps & import("vue-demi").ComponentCustomProps, Readonly<import("vue-demi").ExtractPropTypes<{
7
7
  name: {
8
- type: (StringConstructor | NumberConstructor)[];
8
+ type: (NumberConstructor | StringConstructor)[];
9
9
  required: true;
10
10
  };
11
11
  }>>, {}, {}>;
@@ -1,10 +1,10 @@
1
1
  declare const _default: import("vue-demi").DefineComponent<{
2
2
  name: {
3
- type: (StringConstructor | NumberConstructor)[];
3
+ type: (NumberConstructor | StringConstructor)[];
4
4
  required: true;
5
5
  };
6
6
  value: {
7
- type: (StringConstructor | NumberConstructor)[];
7
+ type: (NumberConstructor | StringConstructor)[];
8
8
  required: true;
9
9
  };
10
10
  color: {
@@ -13,11 +13,11 @@ declare const _default: import("vue-demi").DefineComponent<{
13
13
  };
14
14
  }, unknown, unknown, {}, {}, import("vue-demi").ComponentOptionsMixin, import("vue-demi").ComponentOptionsMixin, {}, string, import("vue-demi").VNodeProps & import("vue-demi").AllowedComponentProps & import("vue-demi").ComponentCustomProps, Readonly<import("vue-demi").ExtractPropTypes<{
15
15
  name: {
16
- type: (StringConstructor | NumberConstructor)[];
16
+ type: (NumberConstructor | StringConstructor)[];
17
17
  required: true;
18
18
  };
19
19
  value: {
20
- type: (StringConstructor | NumberConstructor)[];
20
+ type: (NumberConstructor | StringConstructor)[];
21
21
  required: true;
22
22
  };
23
23
  color: {
@@ -4,15 +4,15 @@ declare const _default: import("vue-demi").DefineComponent<{
4
4
  default: undefined;
5
5
  };
6
6
  modelValue: {
7
- type: (StringConstructor | ArrayConstructor | ObjectConstructor | BooleanConstructor | DateConstructor | NumberConstructor)[];
7
+ type: (NumberConstructor | StringConstructor | ArrayConstructor | ObjectConstructor | BooleanConstructor | DateConstructor)[];
8
8
  default: boolean;
9
9
  };
10
10
  value: {
11
- type: (StringConstructor | ArrayConstructor | ObjectConstructor | BooleanConstructor | DateConstructor | NumberConstructor)[];
11
+ type: (NumberConstructor | StringConstructor | ArrayConstructor | ObjectConstructor | BooleanConstructor | DateConstructor)[];
12
12
  default: boolean;
13
13
  };
14
14
  uncheckedValue: {
15
- type: (StringConstructor | ArrayConstructor | ObjectConstructor | BooleanConstructor | DateConstructor | NumberConstructor)[];
15
+ type: (NumberConstructor | StringConstructor | ArrayConstructor | ObjectConstructor | BooleanConstructor | DateConstructor)[];
16
16
  default: boolean;
17
17
  };
18
18
  checked: {
@@ -41,15 +41,15 @@ declare const _default: import("vue-demi").DefineComponent<{
41
41
  default: undefined;
42
42
  };
43
43
  modelValue: {
44
- type: (StringConstructor | ArrayConstructor | ObjectConstructor | BooleanConstructor | DateConstructor | NumberConstructor)[];
44
+ type: (NumberConstructor | StringConstructor | ArrayConstructor | ObjectConstructor | BooleanConstructor | DateConstructor)[];
45
45
  default: boolean;
46
46
  };
47
47
  value: {
48
- type: (StringConstructor | ArrayConstructor | ObjectConstructor | BooleanConstructor | DateConstructor | NumberConstructor)[];
48
+ type: (NumberConstructor | StringConstructor | ArrayConstructor | ObjectConstructor | BooleanConstructor | DateConstructor)[];
49
49
  default: boolean;
50
50
  };
51
51
  uncheckedValue: {
52
- type: (StringConstructor | ArrayConstructor | ObjectConstructor | BooleanConstructor | DateConstructor | NumberConstructor)[];
52
+ type: (NumberConstructor | StringConstructor | ArrayConstructor | ObjectConstructor | BooleanConstructor | DateConstructor)[];
53
53
  default: boolean;
54
54
  };
55
55
  checked: {
@@ -32,6 +32,6 @@ export function useVModel(props) {
32
32
  emit("change", value);
33
33
  }
34
34
  });
35
- syncRef(localValue, model);
35
+ syncRef(localValue, model, { immediate: false });
36
36
  return localValue;
37
37
  }
@@ -1,6 +1,6 @@
1
1
  <template>
2
2
  <transition
3
- name="fade"
3
+ name="collapse"
4
4
  mode="out-in">
5
5
  <div
6
6
  v-show="model || isToggleable"
@@ -79,5 +79,16 @@ export default defineComponent({
79
79
  &:not(&--show) {
80
80
  @apply hidden;
81
81
  }
82
+
83
+ &-enter-active,
84
+ &-leave-active {
85
+ @apply transition-[transform,opacity] origin-top duration-150 ease-in-out;
86
+ }
87
+
88
+ &-enter,
89
+ &-enter-from,
90
+ &-leave-to {
91
+ @apply scale-y-0 opacity-0;
92
+ }
82
93
  }
83
94
  </style>
@@ -74,7 +74,7 @@ import {
74
74
  import { useVModel } from "../input";
75
75
  import pCaption from "../caption/Caption.vue";
76
76
  import pSubheading from "../subheading/Subheading.vue";
77
- import IconClose from "@carbon/icons-vue/lib/close/20";
77
+ import IconClose from "@privyid/persona-icon/vue/close/16.vue";
78
78
  export default defineComponent({
79
79
  components: {
80
80
  IconClose,
@@ -36,7 +36,7 @@ declare const _default: import("vue-demi").DefineComponent<{
36
36
  close: (event: Event) => void;
37
37
  onEnter: (target: HTMLDivElement) => void;
38
38
  onLeave: (target: HTMLDivElement) => void;
39
- }, unknown, {}, {}, import("vue-demi").ComponentOptionsMixin, import("vue-demi").ComponentOptionsMixin, ("close" | "update:modelValue" | "show" | "hide")[], "close" | "update:modelValue" | "show" | "hide", import("vue-demi").VNodeProps & import("vue-demi").AllowedComponentProps & import("vue-demi").ComponentCustomProps, Readonly<import("vue-demi").ExtractPropTypes<{
39
+ }, unknown, {}, {}, import("vue-demi").ComponentOptionsMixin, import("vue-demi").ComponentOptionsMixin, ("close" | "show" | "update:modelValue" | "hide")[], "close" | "show" | "update:modelValue" | "hide", import("vue-demi").VNodeProps & import("vue-demi").AllowedComponentProps & import("vue-demi").ComponentCustomProps, Readonly<import("vue-demi").ExtractPropTypes<{
40
40
  variant: {
41
41
  type: PropType<StyleVariant>;
42
42
  default: string;
@@ -72,9 +72,9 @@ declare const _default: import("vue-demi").DefineComponent<{
72
72
  onHide?: ((...args: any[]) => any) | undefined;
73
73
  }, {
74
74
  variant: StyleVariant;
75
+ dismissable: boolean;
75
76
  modelValue: boolean;
76
77
  title: string;
77
- dismissable: boolean;
78
78
  message: string;
79
79
  align: AlignVariant;
80
80
  backgroundUrl: string;
@@ -122,10 +122,10 @@ import {
122
122
  import { usePinch } from "./utils/use-pinch";
123
123
  import pButton from "../button/Button.vue";
124
124
  import pInputRange from "../input-range/InputRange.vue";
125
- import IconRotateLeft from "@carbon/icons-vue/lib/rotate--counterclockwise/16";
126
- import IconRotateRight from "@carbon/icons-vue/lib/rotate--clockwise/16";
127
- import IconZoomIn from "@carbon/icons-vue/lib/zoom--in/16";
128
- import IconZoomOut from "@carbon/icons-vue/lib/zoom--out/16";
125
+ import IconRotateLeft from "@privyid/persona-icon/vue/rotate-left/20.vue";
126
+ import IconRotateRight from "@privyid/persona-icon/vue/rotate-right/20.vue";
127
+ import IconZoomIn from "@privyid/persona-icon/vue/zoom-in/20.vue";
128
+ import IconZoomOut from "@privyid/persona-icon/vue/zoom-out/20.vue";
129
129
  import { cropImage } from "./utils/crop-image";
130
130
  import { useVModel } from "../input";
131
131
  import { fromBase64 } from "../utils/base64";
@@ -24,19 +24,19 @@ declare const _default: import("vue-demi").DefineComponent<{
24
24
  default: undefined;
25
25
  };
26
26
  width: {
27
- type: (StringConstructor | NumberConstructor)[];
27
+ type: (NumberConstructor | StringConstructor)[];
28
28
  default: undefined;
29
29
  };
30
30
  height: {
31
- type: (StringConstructor | NumberConstructor)[];
31
+ type: (NumberConstructor | StringConstructor)[];
32
32
  default: undefined;
33
33
  };
34
34
  imgWidth: {
35
- type: (StringConstructor | NumberConstructor)[];
35
+ type: (NumberConstructor | StringConstructor)[];
36
36
  default: number;
37
37
  };
38
38
  imgHeight: {
39
- type: (StringConstructor | NumberConstructor)[];
39
+ type: (NumberConstructor | StringConstructor)[];
40
40
  default: number;
41
41
  };
42
42
  imgClass: {
@@ -96,19 +96,19 @@ declare const _default: import("vue-demi").DefineComponent<{
96
96
  default: undefined;
97
97
  };
98
98
  width: {
99
- type: (StringConstructor | NumberConstructor)[];
99
+ type: (NumberConstructor | StringConstructor)[];
100
100
  default: undefined;
101
101
  };
102
102
  height: {
103
- type: (StringConstructor | NumberConstructor)[];
103
+ type: (NumberConstructor | StringConstructor)[];
104
104
  default: undefined;
105
105
  };
106
106
  imgWidth: {
107
- type: (StringConstructor | NumberConstructor)[];
107
+ type: (NumberConstructor | StringConstructor)[];
108
108
  default: number;
109
109
  };
110
110
  imgHeight: {
111
- type: (StringConstructor | NumberConstructor)[];
111
+ type: (NumberConstructor | StringConstructor)[];
112
112
  default: number;
113
113
  };
114
114
  imgClass: {
@@ -15,6 +15,7 @@
15
15
  :placeholder="placeholder"
16
16
  :disabled="disabled"
17
17
  :error="error"
18
+ :size="size"
18
19
  readonly
19
20
  @focus="onFocus">
20
21
  <template #append>
@@ -51,7 +52,8 @@ import { format as formatDate, isDate } from "date-fns";
51
52
  import {
52
53
  computed,
53
54
  defineComponent,
54
- ref
55
+ ref,
56
+ watch
55
57
  } from "vue-demi";
56
58
  import { useVModel } from "../input";
57
59
  import IconCalendar from "@privyid/persona-icon/vue/calendar/16.vue";
@@ -67,6 +69,10 @@ export default defineComponent({
67
69
  type: [Date, Array],
68
70
  default: void 0
69
71
  },
72
+ size: {
73
+ type: String,
74
+ default: "md"
75
+ },
70
76
  start: {
71
77
  type: Date,
72
78
  default: void 0
@@ -134,9 +140,18 @@ export default defineComponent({
134
140
  const model = useVModel(props);
135
141
  const isOpen = ref(false);
136
142
  const value = computed(() => {
137
- if (props.range && Array.isArray(model.value))
138
- return `${formatDate(model.value[0], props.format)} - ${formatDate(model.value[1], props.format)}`;
139
- return isDate(model.value) ? formatDate(model.value, props.format) : "";
143
+ const dates = Array.isArray(model.value) ? model.value : [model.value];
144
+ return dates.map((date) => {
145
+ return isDate(date) ? formatDate(date, props.format) : "";
146
+ }).filter(Boolean).join(" - ");
147
+ });
148
+ watch(() => props.start, (start) => {
149
+ if (Array.isArray(model.value))
150
+ model.value[0] = start;
151
+ });
152
+ watch(() => props.end, (end) => {
153
+ if (Array.isArray(model.value))
154
+ model.value[1] = end;
140
155
  });
141
156
  const classNames = computed(() => {
142
157
  const result = [];