@privyid/persona 0.8.0 → 0.10.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 (71) hide show
  1. package/dist/components/breadcrumbs/Breadcrumb.vue +60 -0
  2. package/dist/components/breadcrumbs/Breadcrumb.vue.d.ts +41 -0
  3. package/dist/components/breadcrumbs/BreadcrumbItem.vue +86 -0
  4. package/dist/components/breadcrumbs/BreadcrumbItem.vue.d.ts +28 -0
  5. package/dist/components/breadcrumbs/BreadcrumbItemDropdown.vue +65 -0
  6. package/dist/components/breadcrumbs/BreadcrumbItemDropdown.vue.d.ts +25 -0
  7. package/dist/components/breadcrumbs/index.d.ts +11 -0
  8. package/dist/components/breadcrumbs/index.mjs +3 -0
  9. package/dist/components/button/Button.vue +22 -6
  10. package/dist/components/button/Button.vue.d.ts +11 -1
  11. package/dist/components/button/index.d.ts +1 -0
  12. package/dist/components/button-group/ButtonGroup.vue +4 -4
  13. package/dist/components/camera/Camera.vue +1 -1
  14. package/dist/components/card/Card.vue +1 -1
  15. package/dist/components/checkbox/Checkbox.vue +1 -1
  16. package/dist/components/divider/Divider.vue +5 -1
  17. package/dist/components/dropdown/Dropdown.vue +5 -5
  18. package/dist/components/dropdown/Dropdown.vue.d.ts +1 -1
  19. package/dist/components/dropdown/DropdownItem.vue +45 -6
  20. package/dist/components/dropdown/DropdownItem.vue.d.ts +21 -0
  21. package/dist/components/input/Input.vue +3 -3
  22. package/dist/components/input/Input.vue.d.ts +1 -1
  23. package/dist/components/input-file/InputFile.vue +29 -4
  24. package/dist/components/input-file/InputFile.vue.d.ts +17 -2
  25. package/dist/components/label/Label.vue +3 -3
  26. package/dist/components/label/Label.vue.d.ts +1 -1
  27. package/dist/components/{app/App.vue → main/Main.vue} +25 -10
  28. package/dist/components/modal/Modal.vue +1 -1
  29. package/dist/components/modal/Modal.vue.d.ts +1 -1
  30. package/dist/components/nav/NavItem.vue.d.ts +2 -2
  31. package/dist/components/navbar/Navbar.vue +1 -1
  32. package/dist/components/navbar/NavbarNav.vue +7 -1
  33. package/dist/components/page/Page.vue +101 -0
  34. package/dist/components/page/Page.vue.d.ts +39 -0
  35. package/dist/components/pdf-helipad/PdfHelipad.vue +134 -0
  36. package/dist/components/pdf-helipad/PdfHelipad.vue.d.ts +45 -0
  37. package/dist/components/pdf-helipad/assets/helicopter.svg +1 -0
  38. package/dist/components/pdf-helipad/index.d.ts +7 -0
  39. package/dist/components/pdf-helipad/index.mjs +0 -0
  40. package/dist/components/pdf-helipad/utils/use-drag.d.ts +8 -0
  41. package/dist/components/pdf-helipad/utils/use-drag.mjs +38 -0
  42. package/dist/components/pdf-object/PdfObjects.vue +1 -0
  43. package/dist/components/pdf-object/utils/use-drop.mjs +1 -1
  44. package/dist/components/pdf-text/PdfText.vue +129 -0
  45. package/dist/components/pdf-text/PdfText.vue.d.ts +168 -0
  46. package/dist/components/pdf-text/utils/text-to-image.d.ts +68 -0
  47. package/dist/components/pdf-text/utils/text-to-image.mjs +118 -0
  48. package/dist/components/pdf-viewer/PdfError.vue +4 -1
  49. package/dist/components/pdf-viewer/PdfLoading.vue +1 -1
  50. package/dist/components/pdf-viewer/PdfViewer.vue +44 -21
  51. package/dist/components/pdf-viewer/PdfViewer.vue.d.ts +24 -3
  52. package/dist/components/pdf-viewer/assets/pdf-loading.svg +1 -85
  53. package/dist/components/pdf-viewer/utils/use-viewer.d.ts +1 -0
  54. package/dist/components/pdf-viewer/utils/use-viewer.mjs +6 -2
  55. package/dist/components/progress/ProgressItem.vue.d.ts +1 -1
  56. package/dist/components/radio/Radio.vue +1 -1
  57. package/dist/components/sidebar/Sidebar.vue +72 -1
  58. package/dist/components/sidebar/Sidebar.vue.d.ts +23 -2
  59. package/dist/components/sidebar-menu/SidebarMenu.vue +5 -0
  60. package/dist/components/sidebar-menu/SidebarMenu.vue.d.ts +10 -0
  61. package/dist/components/signature-text/SignatureText.vue.d.ts +1 -1
  62. package/dist/components/table/Table.vue +14 -6
  63. package/dist/components/table/Table.vue.d.ts +1 -1
  64. package/dist/components/toggle/Toggle.vue +11 -3
  65. package/dist/components/tour/TourDialog.vue.d.ts +1 -1
  66. package/dist/components/tour/TourHighlight.vue +1 -1
  67. package/dist/core/index.d.ts +3 -1
  68. package/dist/core/index.mjs +4 -1
  69. package/dist/module.json +1 -1
  70. package/dist/module.mjs +3 -1
  71. package/package.json +19 -8
@@ -199,7 +199,7 @@ export default defineComponent({
199
199
  */
200
200
  &&--checkbox {
201
201
  .radio__icon {
202
- @apply rounded-sm;
202
+ @apply rounded-tn;
203
203
  }
204
204
  }
205
205
 
@@ -13,6 +13,7 @@ import {
13
13
  provide
14
14
  } from "vue-demi";
15
15
  import { SIDEBAR_SETTINGS } from ".";
16
+ import { useVModel } from "../input";
16
17
  export default defineComponent({
17
18
  props: {
18
19
  variant: {
@@ -30,14 +31,28 @@ export default defineComponent({
30
31
  fixed: {
31
32
  type: Boolean,
32
33
  default: false
34
+ },
35
+ toggleable: {
36
+ type: String,
37
+ default: void 0
38
+ },
39
+ modelValue: {
40
+ type: Boolean,
41
+ default: true
33
42
  }
34
43
  },
44
+ models: {
45
+ prop: "modelValue",
46
+ event: "update:modelValue"
47
+ },
48
+ emits: ["update:modelValue"],
35
49
  setup(props) {
36
50
  provide(SIDEBAR_SETTINGS, {
37
51
  variant: props.variant,
38
52
  align: props.align,
39
53
  type: props.type
40
54
  });
55
+ const model = useVModel(props);
41
56
  const classNames = computed(() => {
42
57
  const result = ["sidebar"];
43
58
  if (props.type)
@@ -48,6 +63,10 @@ export default defineComponent({
48
63
  result.push(`sidebar--${props.variant}`);
49
64
  if (props.fixed)
50
65
  result.push("sidebar--fixed");
66
+ if (props.toggleable)
67
+ result.push(`sidebar--toggleable sidebar--toggleable-${props.toggleable}`);
68
+ if (props.toggleable && props.fixed && model.value)
69
+ result.push("sidebar--show");
51
70
  return result;
52
71
  });
53
72
  return { classNames };
@@ -59,28 +78,80 @@ export default defineComponent({
59
78
  .sidebar {
60
79
  @apply bg-default px-2 py-4;
61
80
 
81
+ /**
82
+ * Default sidebar has
83
+ * 230px width
84
+ */
62
85
  &:not(.sidebar--narrow) {
63
86
  @apply w-[230px];
64
87
  }
65
88
 
89
+ /**
90
+ * Right-align sidebar
91
+ */
66
92
  &:not(.sidebar--fixed) {
67
93
  &.sidebar--right {
68
94
  @apply ml-auto;
69
95
  }
70
96
  }
71
97
 
98
+ /**
99
+ * Fixed sidebar
100
+ */
72
101
  &&--fixed {
73
- @apply fixed left-0 top-0 h-full;
102
+ @apply fixed top-0 h-full shadow-lg;
103
+
104
+ &:not(.sidebar--right) {
105
+ @apply left-0;
106
+ }
74
107
 
108
+ /**
109
+ * Right-align in fixed
110
+ */
75
111
  &.sidebar--right {
76
112
  @apply left-auto right-0;
77
113
  }
114
+
115
+ /**
116
+ * Toggleable sidebar
117
+ */
118
+ &.sidebar--toggleable {
119
+ &:where(&&-all, &&-lg, &&-md, &&-sm) {
120
+ &:is(.sidebar--show) {
121
+ @apply left-0 transition-[left] ease-out delay-75;
122
+ }
123
+ }
124
+
125
+ &:where(&&-all, &&-lg, &&-md, &&-sm) {
126
+ @apply -left-[100%] transition-[left] ease-in delay-75;
127
+ }
128
+
129
+ &&-lg {
130
+ @apply lg:left-0;
131
+ }
132
+
133
+ &&-md {
134
+ @apply md:left-0;
135
+ }
136
+
137
+ &&-sm {
138
+ @apply sm:left-0;
139
+ }
140
+ }
78
141
  }
79
142
 
143
+ /**
144
+ * Narrow sidebar
145
+ * is 60px width
146
+ */
80
147
  &&--narrow {
81
148
  @apply w-[60px];
82
149
  }
83
150
 
151
+ /**
152
+ * Sidebar with tabs
153
+ * and lines variant
154
+ */
84
155
  &&--tabs,
85
156
  &&--lines {
86
157
  @apply pr-0 py-2 border-r border-r-default;
@@ -1,6 +1,7 @@
1
1
  import { PropType } from 'vue-demi';
2
2
  import { TypeVariant } from '.';
3
3
  import { StyleVariant, AlignVariant } from '../nav';
4
+ import { ToggleableVariant } from '../navbar';
4
5
  declare const _default: import("vue-demi").DefineComponent<{
5
6
  variant: {
6
7
  type: PropType<StyleVariant>;
@@ -18,9 +19,17 @@ declare const _default: import("vue-demi").DefineComponent<{
18
19
  type: BooleanConstructor;
19
20
  default: boolean;
20
21
  };
22
+ toggleable: {
23
+ type: PropType<ToggleableVariant>;
24
+ default: any;
25
+ };
26
+ modelValue: {
27
+ type: BooleanConstructor;
28
+ default: boolean;
29
+ };
21
30
  }, {
22
31
  classNames: import("vue-demi").ComputedRef<string[]>;
23
- }, 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
+ }, unknown, {}, {}, import("vue-demi").ComponentOptionsMixin, import("vue-demi").ComponentOptionsMixin, "update:modelValue"[], "update:modelValue", import("vue-demi").VNodeProps & import("vue-demi").AllowedComponentProps & import("vue-demi").ComponentCustomProps, Readonly<import("vue-demi").ExtractPropTypes<{
24
33
  variant: {
25
34
  type: PropType<StyleVariant>;
26
35
  default: string;
@@ -37,10 +46,22 @@ declare const _default: import("vue-demi").DefineComponent<{
37
46
  type: BooleanConstructor;
38
47
  default: boolean;
39
48
  };
40
- }>>, {
49
+ toggleable: {
50
+ type: PropType<ToggleableVariant>;
51
+ default: any;
52
+ };
53
+ modelValue: {
54
+ type: BooleanConstructor;
55
+ default: boolean;
56
+ };
57
+ }>> & {
58
+ "onUpdate:modelValue"?: (...args: any[]) => any;
59
+ }, {
41
60
  fixed: boolean;
42
61
  variant: StyleVariant;
43
62
  type: TypeVariant;
63
+ modelValue: boolean;
44
64
  align: AlignVariant;
65
+ toggleable: ToggleableVariant;
45
66
  }>;
46
67
  export default _default;
@@ -3,6 +3,7 @@
3
3
  data-testid="sidebar-menu"
4
4
  :type="type"
5
5
  :fixed="fixed"
6
+ :toggleable="toggleable"
6
7
  :align="align">
7
8
  <slot />
8
9
  <SidebarNav
@@ -88,6 +89,10 @@ export default defineComponent({
88
89
  align: {
89
90
  type: String,
90
91
  default: "left"
92
+ },
93
+ toggleable: {
94
+ type: String,
95
+ default: void 0
91
96
  }
92
97
  }
93
98
  });
@@ -2,6 +2,7 @@ import { PropType } from 'vue-demi';
2
2
  import { TypeVariant } from '../sidebar';
3
3
  import { Menu } from '.';
4
4
  import { AlignVariant } from '../nav';
5
+ import { ToggleableVariant } from '../navbar';
5
6
  declare const _default: import("vue-demi").DefineComponent<{
6
7
  menus: {
7
8
  type: PropType<Menu[]>;
@@ -19,6 +20,10 @@ declare const _default: import("vue-demi").DefineComponent<{
19
20
  type: PropType<AlignVariant>;
20
21
  default: string;
21
22
  };
23
+ toggleable: {
24
+ type: PropType<ToggleableVariant>;
25
+ default: any;
26
+ };
22
27
  }, 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<{
23
28
  menus: {
24
29
  type: PropType<Menu[]>;
@@ -36,10 +41,15 @@ declare const _default: import("vue-demi").DefineComponent<{
36
41
  type: PropType<AlignVariant>;
37
42
  default: string;
38
43
  };
44
+ toggleable: {
45
+ type: PropType<ToggleableVariant>;
46
+ default: any;
47
+ };
39
48
  }>>, {
40
49
  fixed: boolean;
41
50
  type: TypeVariant;
42
51
  align: AlignVariant;
52
+ toggleable: ToggleableVariant;
43
53
  menus: Menu[];
44
54
  }>;
45
55
  export default _default;
@@ -77,8 +77,8 @@ declare const _default: import("vue-demi").DefineComponent<{
77
77
  };
78
78
  }>>, {
79
79
  color: string;
80
- modelValue: string | File;
81
80
  text: string;
81
+ modelValue: string | File;
82
82
  modelModifiers: ModelModifier;
83
83
  font: string;
84
84
  width: number;
@@ -204,6 +204,10 @@ export default defineComponent({
204
204
  > .datatable__header {
205
205
  @apply px-3;
206
206
  }
207
+
208
+ + .datatable__body {
209
+ @apply pt-2;
210
+ }
207
211
  }
208
212
 
209
213
  .datatable__header {
@@ -215,16 +219,16 @@ export default defineComponent({
215
219
  }
216
220
 
217
221
  &.datatable__drag {
218
- @apply invisible;
222
+ @apply invisible mx-3;
219
223
  }
220
224
  }
221
225
 
222
226
  &__row {
223
- @apply flex space-x-2 w-full items-center bg-default;
227
+ @apply flex space-x-2 w-full items-start;
224
228
  }
225
229
 
226
230
  &__cell {
227
- @apply py-4 px-3 text-sm text-default;
231
+ @apply py-4 px-3 text-sm text-default break-all;
228
232
 
229
233
  & > .datatable__header {
230
234
  @apply text-xs;
@@ -232,7 +236,7 @@ export default defineComponent({
232
236
 
233
237
  &.datatable__checkbox,
234
238
  &.datatable__drag {
235
- @apply flex-shrink-0 flex-grow-0;
239
+ @apply flex-shrink-0 flex-grow-0 self-center;
236
240
  }
237
241
 
238
242
  &.datatable__checkbox {
@@ -256,13 +260,17 @@ export default defineComponent({
256
260
  }
257
261
 
258
262
  .datatable__row {
259
- @apply rounded border border-default;
263
+ @apply rounded border border-default bg-default;
260
264
  }
261
265
  }
262
266
 
263
267
  &--static {
268
+ .datatable__headers {
269
+ @apply border-b border-b-default;
270
+ }
271
+
264
272
  .datatable__body {
265
- @apply border-b border-b-default divide-y divide-default;
273
+ @apply border-b border-b-default divide-y divide-default bg-default;
266
274
  }
267
275
  }
268
276
  }
@@ -62,8 +62,8 @@ declare const _default: import("vue-demi").DefineComponent<{
62
62
  "onUpdate:items"?: (...args: any[]) => any;
63
63
  }, {
64
64
  variant: TypeVariant;
65
- modelValue: Record<string, unknown>[];
66
65
  items: Record<string, unknown>[];
66
+ modelValue: Record<string, unknown>[];
67
67
  draggable: boolean;
68
68
  fields: TableField[];
69
69
  selectable: boolean;
@@ -105,7 +105,7 @@ export default defineComponent({
105
105
  event: "update:modelValue"
106
106
  },
107
107
  emits: ["update:modelValue", "change"],
108
- setup(props) {
108
+ setup(props, { slots }) {
109
109
  const model = useVModel(props);
110
110
  const classNames = computed(() => {
111
111
  const result = [];
@@ -117,6 +117,8 @@ export default defineComponent({
117
117
  result.push("toggle--disabled");
118
118
  if (props.readonly)
119
119
  result.push("toggle--readonly");
120
+ if (slots.default)
121
+ result.push("toggle--labeled");
120
122
  return result;
121
123
  });
122
124
  function toggle() {
@@ -137,7 +139,7 @@ export default defineComponent({
137
139
  @apply inline-flex cursor-pointer relative items-center select-none;
138
140
 
139
141
  &__switch {
140
- @apply flex items-center justify-center relative bg-inactive border-subtle mr-4;
142
+ @apply flex items-center justify-center relative bg-inactive border-subtle;
141
143
  }
142
144
 
143
145
  &__pointer {
@@ -174,7 +176,7 @@ export default defineComponent({
174
176
 
175
177
  &&--flat {
176
178
  .toggle__switch {
177
- @apply flex-row-reverse border-2 rounded-[6px] min-h-[1.5rem] min-w-[2.5rem];
179
+ @apply flex-row-reverse border-2 rounded-xs min-h-[1.5rem] min-w-[2.5rem];
178
180
  }
179
181
 
180
182
  .toggle__label {
@@ -212,5 +214,11 @@ export default defineComponent({
212
214
  @apply bg-inactive;
213
215
  }
214
216
  }
217
+
218
+ &&--labeled {
219
+ .toggle__switch {
220
+ @apply mr-4;
221
+ }
222
+ }
215
223
  }
216
224
  </style>
@@ -95,8 +95,8 @@ declare const _default: import("vue-demi").DefineComponent<{
95
95
  }, {
96
96
  image: string;
97
97
  dismissable: boolean;
98
- title: string;
99
98
  text: string;
99
+ title: string;
100
100
  step: number;
101
101
  highlight: boolean;
102
102
  totalStep: number;
@@ -51,7 +51,7 @@ export default defineComponent({
51
51
  }
52
52
 
53
53
  &__highlight {
54
- @apply absolute shadow-mask cursor-pointer rounded-sm;
54
+ @apply absolute shadow-mask cursor-pointer rounded-tn;
55
55
  }
56
56
  }
57
57
  </style>
@@ -18,5 +18,7 @@ export { initAppContext, useAppContext, } from '../components/global/context';
18
18
  export { useRouter, installRouter, } from '../components/global/router';
19
19
  export { createTour, } from '../components/tour';
20
20
  export { usePasswordStrength, } from '../components/input-password';
21
- export { usePreview, } from '../components/cropper/';
21
+ export { usePreview, } from '../components/cropper';
22
22
  export { usePdfContext, } from '../components/pdf-viewer';
23
+ export { defineNavigation, } from '../components/breadcrumbs';
24
+ export type { PdfHelipadResult, } from '../components/pdf-helipad';
@@ -64,7 +64,10 @@ export {
64
64
  } from "../components/input-password";
65
65
  export {
66
66
  usePreview
67
- } from "../components/cropper/";
67
+ } from "../components/cropper";
68
68
  export {
69
69
  usePdfContext
70
70
  } from "../components/pdf-viewer";
71
+ export {
72
+ defineNavigation
73
+ } from "../components/breadcrumbs";
package/dist/module.json CHANGED
@@ -4,5 +4,5 @@
4
4
  "compatibility": {
5
5
  "nuxt": ">=3.0.0"
6
6
  },
7
- "version": "0.8.0"
7
+ "version": "0.10.0"
8
8
  }
package/dist/module.mjs CHANGED
@@ -23,6 +23,7 @@ const module = defineNuxtModule({
23
23
  }
24
24
  await addComponentsDir({
25
25
  path: resolve("./components"),
26
+ pathPrefix: false,
26
27
  prefix: options.prefix,
27
28
  extensions: ["vue"]
28
29
  });
@@ -37,7 +38,8 @@ const module = defineNuxtModule({
37
38
  "webfontloader",
38
39
  "zxcvbn",
39
40
  "pdfjs-dist",
40
- "pdfjs-dist/web/pdf_viewer"
41
+ "pdfjs-dist/web/pdf_viewer",
42
+ "vuedraggable"
41
43
  );
42
44
  });
43
45
  }
package/package.json CHANGED
@@ -1,7 +1,13 @@
1
1
  {
2
2
  "name": "@privyid/persona",
3
- "version": "0.8.0",
3
+ "version": "0.10.0",
4
4
  "license": "MIT",
5
+ "repository": "https://github.com/privy-open-source/design-system",
6
+ "author": "Ade Novid <adenvt@gmail.com> (https://github.com/adenvt)",
7
+ "bugs": {
8
+ "url": "https://github.com/privy-open-source/design-system/issues"
9
+ },
10
+ "homepage": "https://privy-open-source.github.io/design-system/",
5
11
  "type": "module",
6
12
  "exports": {
7
13
  ".": {
@@ -48,17 +54,17 @@
48
54
  "@carbon/icons-vue": "10.49.1",
49
55
  "@floating-ui/dom": "^1.0.4",
50
56
  "@juggle/resize-observer": "^3.4.0",
51
- "@nuxt/kit": "^3.0.0",
57
+ "@nuxt/kit": "^3.3.2",
52
58
  "@testing-library/dom": "^8.19.0",
53
59
  "@testing-library/user-event": "^14.4.3",
54
60
  "@vueuse/core": "9.11.1",
55
61
  "@vueuse/math": "^9.4.0",
56
62
  "@zxing/browser": "0.1.1",
57
63
  "@zxing/library": "0.19.2",
58
- "chart.js": "4.2.0",
64
+ "chart.js": "4.2.1",
59
65
  "core-js": "3",
60
66
  "date-fns": "2.29.3",
61
- "defu": "6.1.1",
67
+ "defu": "6.1.2",
62
68
  "fast-equals": "^4.0.3",
63
69
  "fuse.js": "6.6.2",
64
70
  "interactjs": "1.10.17",
@@ -74,8 +80,11 @@
74
80
  "webfontloader": "1.6.28",
75
81
  "zxcvbn": "^4.4.2"
76
82
  },
83
+ "browserslist": [
84
+ "extends @privyid/browserslist-config"
85
+ ],
77
86
  "peerDependencies": {
78
- "@privyid/tailwind-preset": "^0.8.0",
87
+ "@privyid/tailwind-preset": "^0.10.0",
79
88
  "postcss-custom-properties": "^12.1.11",
80
89
  "postcss-hexrgba": "^2.1.0",
81
90
  "postcss-lighten-darken": "^0.9.0",
@@ -84,12 +93,14 @@
84
93
  },
85
94
  "devDependencies": {
86
95
  "@nuxt/module-builder": "latest",
87
- "@nuxt/schema": "3.0.0",
96
+ "@nuxt/schema": "3.3.2",
88
97
  "@nuxtjs/tailwindcss": "^6.2.0",
89
- "@privyid/tailwind-preset": "^0.8.0",
98
+ "@privyid/browserslist-config": "^0.10.0",
99
+ "@privyid/tailwind-preset": "^0.10.0",
90
100
  "@types/sanitize-html": "^2",
101
+ "browserslist-to-esbuild": "^1.2.0",
91
102
  "del-cli": "5.0.0",
92
- "nuxt": "3.0.0",
103
+ "nuxt": "3.3.2",
93
104
  "postcss-custom-properties": "^12.1.11",
94
105
  "postcss-hexrgba": "^2.1.0",
95
106
  "postcss-lighten-darken": "^0.9.0",