@privyid/persona 0.10.0 → 0.11.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 (243) hide show
  1. package/dist/components/avatar/Avatar.vue +1 -0
  2. package/dist/components/avatar/Avatar.vue.d.ts +13 -13
  3. package/dist/components/avatar/index.d.ts +2 -2
  4. package/dist/components/badge/Badge.vue +48 -8
  5. package/dist/components/badge/Badge.vue.d.ts +2 -1
  6. package/dist/components/badge/index.d.ts +1 -2
  7. package/dist/components/banner/Banner.vue +19 -7
  8. package/dist/components/banner/Banner.vue.d.ts +1 -1
  9. package/dist/components/banner/index.d.ts +1 -1
  10. package/dist/components/breadcrumbs/BreadcrumbItem.vue +1 -0
  11. package/dist/components/breadcrumbs/BreadcrumbItem.vue.d.ts +1 -1
  12. package/dist/components/breadcrumbs/BreadcrumbItemDropdown.vue +3 -0
  13. package/dist/components/breadcrumbs/index.d.ts +1 -1
  14. package/dist/components/button/Button.vue +69 -11
  15. package/dist/components/button/Button.vue.d.ts +4 -4
  16. package/dist/components/button/index.d.ts +4 -4
  17. package/dist/components/button-group/ButtonGroup.vue +11 -18
  18. package/dist/components/button-group/index.d.ts +6 -0
  19. package/dist/components/button-group/index.mjs +1 -0
  20. package/dist/components/calendar/Calendar.vue +8 -3
  21. package/dist/components/calendar/Calendar.vue.d.ts +31 -31
  22. package/dist/components/calendar/adapter/adapter.d.ts +1 -1
  23. package/dist/components/calendar/adapter/date.mjs +1 -1
  24. package/dist/components/camera/Camera.vue +7 -3
  25. package/dist/components/camera/Camera.vue.d.ts +19 -19
  26. package/dist/components/camera/adapter/adapter.d.ts +2 -2
  27. package/dist/components/camera/adapter/liveness.mjs +1 -1
  28. package/dist/components/caption/Caption.vue +1 -0
  29. package/dist/components/caption/index.d.ts +1 -1
  30. package/dist/components/card/Card.vue +9 -3
  31. package/dist/components/card/Card.vue.d.ts +5 -5
  32. package/dist/components/card/CardSection.vue.d.ts +2 -2
  33. package/dist/components/card/index.d.ts +1 -1
  34. package/dist/components/chart/Chart.vue +1 -0
  35. package/dist/components/chart/ChartVal.vue.d.ts +2 -2
  36. package/dist/components/chart/adapter/index.d.ts +1 -1
  37. package/dist/components/chart/index.d.ts +1 -1
  38. package/dist/components/checkbox/Checkbox.vue +14 -5
  39. package/dist/components/checkbox/Checkbox.vue.d.ts +13 -13
  40. package/dist/components/collapse/Collapse.vue +2 -1
  41. package/dist/components/collapse/Collapse.vue.d.ts +1 -1
  42. package/dist/components/contextual-bar/ContextualBar.vue +15 -3
  43. package/dist/components/contextual-bar/ContextualBar.vue.d.ts +11 -11
  44. package/dist/components/contextual-bar/index.d.ts +1 -1
  45. package/dist/components/cropper/Cropper.vue +3 -2
  46. package/dist/components/cropper/Cropper.vue.d.ts +20 -20
  47. package/dist/components/cropper/utils/use-pinch.mjs +10 -2
  48. package/dist/components/datepicker/Datepicker.vue +1 -0
  49. package/dist/components/datepicker/Datepicker.vue.d.ts +16 -16
  50. package/dist/components/dialog/Dialog.vue.d.ts +2 -2
  51. package/dist/components/dialog/DialogFooter.vue +2 -2
  52. package/dist/components/dialog/DialogFooter.vue.d.ts +7 -7
  53. package/dist/components/dialog/index.d.ts +11 -16
  54. package/dist/components/divider/Divider.vue +8 -2
  55. package/dist/components/dot/Dot.vue +12 -2
  56. package/dist/components/dot/Dot.vue.d.ts +2 -1
  57. package/dist/components/dot/index.d.ts +1 -2
  58. package/dist/components/dropdown/Dropdown.vue +2 -0
  59. package/dist/components/dropdown/Dropdown.vue.d.ts +8 -8
  60. package/dist/components/dropdown/DropdownItem.vue +5 -1
  61. package/dist/components/dropdown/DropdownItem.vue.d.ts +3 -3
  62. package/dist/components/dropdown-subitem/DropdownSubitem.vue.d.ts +3 -3
  63. package/dist/components/dropzone/Dropzone.vue.d.ts +12 -12
  64. package/dist/components/dropzone/index.d.ts +1 -1
  65. package/dist/components/filterbar/Filterbar.vue +7 -6
  66. package/dist/components/filterbar/Filterbar.vue.d.ts +3 -3
  67. package/dist/components/filterbar/index.d.ts +1 -1
  68. package/dist/components/filterbar/pinned/{Date.vue.d.ts → PinnedDate.vue.d.ts} +8 -8
  69. package/dist/components/filterbar/pinned/{Multiselect.vue.d.ts → PinnedMultiselect.vue.d.ts} +5 -5
  70. package/dist/components/filterbar/pinned/{Select.vue.d.ts → PinnedSelect.vue.d.ts} +10 -10
  71. package/dist/components/filterbar/pinned/{Toggle.vue.d.ts → PinnedToggle.vue.d.ts} +11 -11
  72. package/dist/components/form-group/FormGroup.vue +9 -4
  73. package/dist/components/form-group/FormGroup.vue.d.ts +2 -2
  74. package/dist/components/global/context.d.ts +1 -1
  75. package/dist/components/global/use-singleton.d.ts +2 -2
  76. package/dist/components/global/utils/queue.d.ts +2 -2
  77. package/dist/components/heading/Heading.vue +6 -0
  78. package/dist/components/heading/index.d.ts +3 -3
  79. package/dist/components/input/Input.vue +24 -16
  80. package/dist/components/input/Input.vue.d.ts +3 -3
  81. package/dist/components/input-file/InputFile.vue +13 -2
  82. package/dist/components/input-file/InputFile.vue.d.ts +12 -12
  83. package/dist/components/input-group/InputGroup.vue +55 -41
  84. package/dist/components/input-group/InputGroupAddon.vue +10 -11
  85. package/dist/components/input-group/index.d.ts +6 -0
  86. package/dist/components/input-group/index.mjs +1 -0
  87. package/dist/components/input-password/InputPassword.vue +3 -1
  88. package/dist/components/input-pin/InputPin.vue +3 -3
  89. package/dist/components/input-pin/InputPin.vue.d.ts +3 -3
  90. package/dist/components/input-range/InputRange.vue +8 -5
  91. package/dist/components/input-range/InputRange.vue.d.ts +11 -11
  92. package/dist/components/input-range/utils/use-drag.mjs +5 -1
  93. package/dist/components/label/Label.vue +34 -7
  94. package/dist/components/label/Label.vue.d.ts +3 -4
  95. package/dist/components/label/index.d.ts +1 -0
  96. package/dist/components/label/index.mjs +0 -0
  97. package/dist/components/main/Main.vue +7 -3
  98. package/dist/components/modal/Modal.vue +19 -6
  99. package/dist/components/modal/Modal.vue.d.ts +8 -8
  100. package/dist/components/nav/Nav.vue +24 -8
  101. package/dist/components/nav/Nav.vue.d.ts +2 -2
  102. package/dist/components/nav/NavForm.vue +1 -1
  103. package/dist/components/nav/NavItem.vue +2 -0
  104. package/dist/components/nav/NavItem.vue.d.ts +6 -6
  105. package/dist/components/nav/NavItemDropdown.vue.d.ts +1 -1
  106. package/dist/components/nav/NavSubItem.vue +4 -0
  107. package/dist/components/nav/NavSubItem.vue.d.ts +2 -2
  108. package/dist/components/nav/index.d.ts +2 -2
  109. package/dist/components/navbar/Navbar.vue +5 -2
  110. package/dist/components/navbar/Navbar.vue.d.ts +5 -5
  111. package/dist/components/navbar/NavbarBrand.vue +2 -1
  112. package/dist/components/navbar/NavbarBrand.vue.d.ts +2 -2
  113. package/dist/components/navbar/NavbarNav.vue +10 -5
  114. package/dist/components/navbar/NavbarNav.vue.d.ts +2 -2
  115. package/dist/components/navbar/NavbarToggle.vue +2 -1
  116. package/dist/components/navbar/index.d.ts +1 -1
  117. package/dist/components/overlay/Overlay.vue +2 -1
  118. package/dist/components/page/Page.vue +13 -9
  119. package/dist/components/page/Page.vue.d.ts +3 -3
  120. package/dist/components/pagination/Pagination.vue +16 -9
  121. package/dist/components/pagination/Pagination.vue.d.ts +5 -5
  122. package/dist/components/pagination/index.d.ts +1 -1
  123. package/dist/components/pagination/index.mjs +1 -1
  124. package/dist/components/pagination/utils/calculate-page.d.ts +1 -1
  125. package/dist/components/pdf-helipad/PdfHelipad.vue.d.ts +1 -1
  126. package/dist/components/pdf-object/PdfObject.vue +3 -1
  127. package/dist/components/pdf-object/PdfObject.vue.d.ts +20 -20
  128. package/dist/components/pdf-object/PdfObjectDebugger.vue +4 -1
  129. package/dist/components/pdf-object/PdfObjectDebugger.vue.d.ts +5 -5
  130. package/dist/components/pdf-object/index.d.ts +5 -5
  131. package/dist/components/pdf-object/utils/overlap.d.ts +1 -1
  132. package/dist/components/pdf-object/utils/position.d.ts +1 -1
  133. package/dist/components/pdf-text/PdfText.vue.d.ts +5 -5
  134. package/dist/components/pdf-viewer/PdfError.vue +20 -3
  135. package/dist/components/pdf-viewer/PdfLoading.vue +1 -1
  136. package/dist/components/pdf-viewer/PdfNavigation.vue +9 -5
  137. package/dist/components/pdf-viewer/PdfViewer.vue +7 -1
  138. package/dist/components/pdf-viewer/PdfViewer.vue.d.ts +12 -12
  139. package/dist/components/pdf-viewer/index.d.ts +1 -1
  140. package/dist/components/pdf-viewer/utils/use-viewer.d.ts +7 -7
  141. package/dist/components/progress/Progress.vue +15 -7
  142. package/dist/components/progress/Progress.vue.d.ts +2 -2
  143. package/dist/components/radio/Radio.vue +17 -6
  144. package/dist/components/radio/Radio.vue.d.ts +9 -9
  145. package/dist/components/radio/index.d.ts +1 -1
  146. package/dist/components/select/Select.vue +10 -1
  147. package/dist/components/select/Select.vue.d.ts +11 -11
  148. package/dist/components/select/adapter/async-adapter.d.ts +2 -2
  149. package/dist/components/sidebar/Sidebar.vue +10 -4
  150. package/dist/components/sidebar/Sidebar.vue.d.ts +3 -3
  151. package/dist/components/sidebar/SidebarBrand.vue +2 -1
  152. package/dist/components/sidebar/SidebarBrand.vue.d.ts +2 -2
  153. package/dist/components/sidebar/SidebarNav.vue +5 -17
  154. package/dist/components/sidebar/SidebarNav.vue.d.ts +4 -4
  155. package/dist/components/sidebar/index.d.ts +1 -1
  156. package/dist/components/sidebar-menu/SidebarMenu.vue +1 -1
  157. package/dist/components/sidebar-menu/SidebarMenu.vue.d.ts +4 -4
  158. package/dist/components/signature-draw/SignatureDraw.vue.d.ts +3 -3
  159. package/dist/components/signature-draw/SignatureDrawDesktop.vue +4 -1
  160. package/dist/components/signature-draw/SignatureDrawDesktop.vue.d.ts +3 -3
  161. package/dist/components/signature-draw/SignatureDrawMobile.vue +5 -0
  162. package/dist/components/signature-draw/SignatureDrawMobile.vue.d.ts +3 -3
  163. package/dist/components/signature-draw/utils/canvas.d.ts +1 -1
  164. package/dist/components/signature-draw/utils/smooth-line.mjs +15 -0
  165. package/dist/components/signature-draw/utils/use-draw.mjs +5 -1
  166. package/dist/components/signature-text/SignatureText.vue +9 -4
  167. package/dist/components/signature-text/SignatureText.vue.d.ts +17 -8
  168. package/dist/components/steps/Step.vue.d.ts +5 -5
  169. package/dist/components/steps/Steps.vue.d.ts +1 -1
  170. package/dist/components/steps/index.d.ts +9 -9
  171. package/dist/components/steps/utils/hook.d.ts +1 -1
  172. package/dist/components/strengthbar/Strengthbar.vue +4 -0
  173. package/dist/components/subheading/Subheading.vue +1 -1
  174. package/dist/components/subheading/Subheading.vue.d.ts +2 -2
  175. package/dist/components/subheading/index.d.ts +1 -1
  176. package/dist/components/table/Table.vue +69 -1
  177. package/dist/components/table/Table.vue.d.ts +18 -9
  178. package/dist/components/tabs/Tabs.vue +4 -1
  179. package/dist/components/tabs/Tabs.vue.d.ts +2 -2
  180. package/dist/components/text/Text.vue.d.ts +2 -2
  181. package/dist/components/text/index.d.ts +1 -1
  182. package/dist/components/textarea/Textarea.vue +8 -7
  183. package/dist/components/textarea/Textarea.vue.d.ts +5 -5
  184. package/dist/components/toast/Toast.vue +17 -3
  185. package/dist/components/toast/Toast.vue.d.ts +1 -1
  186. package/dist/components/toast/ToastContainer.vue.d.ts +4 -4
  187. package/dist/components/toast/index.d.ts +2 -2
  188. package/dist/components/toggle/Toggle.vue +17 -7
  189. package/dist/components/toggle/Toggle.vue.d.ts +12 -12
  190. package/dist/components/tooltip/Tooltip.vue +6 -2
  191. package/dist/components/tooltip/Tooltip.vue.d.ts +7 -7
  192. package/dist/components/tooltip/index.d.ts +1 -1
  193. package/dist/components/tooltip/index.mjs +1 -1
  194. package/dist/components/tooltip/utils/create-handler.d.ts +1 -1
  195. package/dist/components/tour/Tour.vue.d.ts +3 -3
  196. package/dist/components/tour/TourDialog.vue +9 -1
  197. package/dist/components/tour/TourDialog.vue.d.ts +7 -7
  198. package/dist/components/tour/TourHighlight.vue.d.ts +2 -2
  199. package/dist/components/tour/core/base.d.ts +1 -1
  200. package/dist/components/tour/core/base.mjs +15 -0
  201. package/dist/components/tour/core/step/action.d.ts +4 -4
  202. package/dist/components/tour/core/step.d.ts +3 -3
  203. package/dist/components/tour/core/step.mjs +19 -0
  204. package/dist/components/tour/core/story.d.ts +1 -1
  205. package/dist/components/tour/core/story.mjs +81 -0
  206. package/dist/components/tour/core/tour.d.ts +1 -1
  207. package/dist/components/tour/core/tour.mjs +55 -1
  208. package/dist/components/truncate/Truncate.vue +8 -0
  209. package/dist/components/utils/base64.mjs +1 -1
  210. package/dist/components/utils/value.d.ts +4 -4
  211. package/dist/components/wizard/Wizard.vue.d.ts +6 -6
  212. package/dist/components/wizard/WizardBody.vue.d.ts +1 -1
  213. package/dist/components/wizard/WizardStep.vue.d.ts +4 -4
  214. package/dist/module.json +1 -1
  215. package/dist/types.d.ts +1 -1
  216. package/package.json +13 -11
  217. package/dist/components/badge/assets/images/img-guide-badge.svg +0 -1
  218. package/dist/components/card/assets/images/img-card-callout-01.svg +0 -1
  219. package/dist/components/contextual-bar/assets/images/img-background-contextualbar.svg +0 -14
  220. package/dist/components/contextual-bar/assets/images/img-bg-contextualbar.svg +0 -19
  221. package/dist/components/cropper/assets/sample-1.jpg +0 -0
  222. package/dist/components/modal/assets/images/img-modal-banner-sheet.jpg +0 -0
  223. package/dist/components/pdf-helipad/assets/helicopter.svg +0 -1
  224. package/dist/components/pdf-object-text/PdfObjectText.vue +0 -170
  225. package/dist/components/pdf-object-text/PdfObjectText.vue.d.ts +0 -140
  226. package/dist/components/pdf-object-text/utils/text-to-image.d.ts +0 -51
  227. package/dist/components/pdf-object-text/utils/text-to-image.mjs +0 -77
  228. package/dist/components/pdf-viewer/assets/Calibrator-v3.pdf +8 -99519
  229. package/dist/components/pdf-viewer/assets/Calibrator-v3_protected.pdf +0 -0
  230. package/dist/components/pdf-viewer/assets/fixed-vs-fit.svg +0 -186
  231. package/dist/components/pdf-viewer/assets/sample-3.pdf +0 -0
  232. package/dist/components/pdf-viewer/assets/sample-with-sign.pdf +0 -0
  233. package/dist/components/pdf-viewer/assets/sample.pdf +0 -18304
  234. package/dist/components/sidebar/assets/images/icon-flag.svg +0 -1
  235. package/dist/components/sidebar/assets/images/logo-privy-icon.svg +0 -1
  236. package/dist/components/sidebar/assets/images/logo-privy.svg +0 -1
  237. package/dist/components/sidebar-menu/assets/images/img-flag.svg +0 -1
  238. package/dist/components/signature-draw/assets/empty-img.png +0 -0
  239. package/dist/components/signature-text/sample/sample-signature.png +0 -0
  240. /package/dist/components/filterbar/pinned/{Date.vue → PinnedDate.vue} +0 -0
  241. /package/dist/components/filterbar/pinned/{Multiselect.vue → PinnedMultiselect.vue} +0 -0
  242. /package/dist/components/filterbar/pinned/{Select.vue → PinnedSelect.vue} +0 -0
  243. /package/dist/components/filterbar/pinned/{Toggle.vue → PinnedToggle.vue} +0 -0
@@ -1,5 +1,5 @@
1
1
  import { Hook } from '../../steps/utils/hook';
2
- export declare type TourActionHook = (to: AbstractTour, from: AbstractTour) => boolean | Promise<boolean>;
2
+ export type TourActionHook = (to: AbstractTour, from: AbstractTour) => boolean | Promise<boolean>;
3
3
  export declare enum TourDirection {
4
4
  FORWARD = 1,
5
5
  BACKWARD = -1
@@ -23,18 +23,33 @@ export class AbstractTour {
23
23
  this.parent = parent;
24
24
  return this;
25
25
  }
26
+ /**
27
+ * Get options with parent options as fallback
28
+ */
26
29
  getOptions() {
27
30
  return defu(this.options, this.parent?.getOptions());
28
31
  }
32
+ /**
33
+ * Set tour direction
34
+ * @param direction 1 for forward (next) and -1 for backward (prev)
35
+ */
29
36
  setDirection(direction) {
30
37
  this.direction = direction;
31
38
  return this;
32
39
  }
40
+ /**
41
+ * Attach to parent
42
+ * @param parent Parent Instance
43
+ */
33
44
  attach(parent) {
34
45
  parent.onPrevHooks.add(this.runOnPrevHooks);
35
46
  parent.onNextHooks.add(this.runOnNextHooks);
36
47
  return this;
37
48
  }
49
+ /**
50
+ * Deattach from parent
51
+ * @param parent Parent Instance
52
+ */
38
53
  detach(parent) {
39
54
  parent.onPrevHooks.remove(this.runOnPrevHooks);
40
55
  parent.onNextHooks.remove(this.runOnNextHooks);
@@ -1,9 +1,9 @@
1
1
  import type UE from '@testing-library/user-event';
2
2
  import { AbstractStep } from '../step';
3
- declare type UserEvent = ReturnType<typeof UE['setup']>;
4
- declare type ExtractParams<F> = F extends (T: Element, ...args: infer P) => Promise<void> ? P : unknown[];
5
- export declare type EventType = 'click' | 'dblClick' | 'tripleClick' | 'type' | 'hover' | 'unhover' | 'clear';
6
- export declare type ParamsOf<E extends EventType> = ExtractParams<UserEvent[E]>;
3
+ type UserEvent = ReturnType<typeof UE['setup']>;
4
+ type ExtractParams<F> = F extends (T: Element, ...args: infer P) => Promise<void> ? P : unknown[];
5
+ export type EventType = 'click' | 'dblClick' | 'tripleClick' | 'type' | 'hover' | 'unhover' | 'clear';
6
+ export type ParamsOf<E extends EventType> = ExtractParams<UserEvent[E]>;
7
7
  export interface ActionOptions<E extends EventType> {
8
8
  target: string;
9
9
  action: E;
@@ -1,8 +1,8 @@
1
1
  import { AbstractTour } from './base';
2
2
  import type { Tour, TourOptions } from './tour';
3
- declare type Merge<A, B> = Omit<A, keyof B> & B;
4
- declare type BaseOptions = Partial<Omit<TourOptions, 'onFinished'>>;
5
- export declare type OnCleanup = (cleanupFn: () => unknown) => unknown;
3
+ type Merge<A, B> = Omit<A, keyof B> & B;
4
+ type BaseOptions = Partial<Omit<TourOptions, 'onFinished'>>;
5
+ export type OnCleanup = (cleanupFn: () => unknown) => unknown;
6
6
  export declare abstract class AbstractStep<Option> extends AbstractTour<Merge<BaseOptions, Option>> {
7
7
  protected parent?: Tour;
8
8
  protected cleanFns: Array<() => unknown>;
@@ -7,23 +7,42 @@ export class AbstractStep extends AbstractTour {
7
7
  async dispose() {
8
8
  return await Promise.allSettled(this.cleanFns.map((clean) => clean()));
9
9
  }
10
+ /**
11
+ * Run function before unmounted
12
+ * @param cleanFn clean function
13
+ */
10
14
  onCleanup(cleanFn) {
11
15
  this.cleanFns.push(cleanFn);
12
16
  }
17
+ /**
18
+ * Start this step
19
+ */
13
20
  async start() {
14
21
  this.attach(this.parent);
15
22
  await this.run();
16
23
  }
24
+ /**
25
+ * Stop this step
26
+ */
17
27
  async stop() {
18
28
  await this.dispose();
19
29
  this.detach(this.parent);
20
30
  }
31
+ /**
32
+ * Trigger next to parent
33
+ */
21
34
  async next() {
22
35
  await this.parent.next();
23
36
  }
37
+ /**
38
+ * Trigger prev to parent
39
+ */
24
40
  async prev() {
25
41
  await this.parent.prev();
26
42
  }
43
+ /**
44
+ * Trigger next or prev following the direction
45
+ */
27
46
  async ahead() {
28
47
  return await (this.direction === TourDirection.BACKWARD ? this.prev() : this.next());
29
48
  }
@@ -2,7 +2,7 @@ import { Tour } from './tour';
2
2
  import type { ConditionalOptions } from './step/conditional';
3
3
  import type { DialogOptions } from './step/dialog';
4
4
  import type { ActionOptions, EventType, ParamsOf } from './step/action';
5
- declare type TourBuilderCallback = (tour: TourStory) => unknown;
5
+ type TourBuilderCallback = (tour: TourStory) => unknown;
6
6
  /**
7
7
  * Tour with additional function to build a tour stories
8
8
  */
@@ -14,6 +14,10 @@ export class TourStory extends Tour {
14
14
  image
15
15
  })) : this.add(new StepDialog(targetOrOption));
16
16
  }
17
+ /**
18
+ * Delay or Wait, setTimout equivalent
19
+ * @param duration duration in milliseconds
20
+ */
17
21
  delay(duration) {
18
22
  return this.add(new StepDelay({ duration }));
19
23
  }
@@ -24,33 +28,81 @@ export class TourStory extends Tour {
24
28
  params
25
29
  })) : this.add(new StepAction(targetOrOption));
26
30
  }
31
+ /**
32
+ * Trigger click to target element
33
+ * @param target Target querySelector
34
+ */
27
35
  click(target) {
28
36
  return this.action(target, "click");
29
37
  }
38
+ /**
39
+ * Trigger double click to target element
40
+ * @param target Target querySelector
41
+ */
30
42
  dblClick(target) {
31
43
  return this.action(target, "dblClick");
32
44
  }
45
+ /**
46
+ * Trigger triple click to target element
47
+ * @param target Target querySelector
48
+ */
33
49
  tripleClick(target) {
34
50
  return this.action(target, "tripleClick");
35
51
  }
52
+ /**
53
+ * Trigger hover to target element
54
+ * @param target Target querySelector
55
+ */
36
56
  hover(target) {
37
57
  return this.action(target, "hover");
38
58
  }
59
+ /**
60
+ * Trigger unhover (blur) to target element
61
+ * @param target Target querySelector
62
+ */
39
63
  unhover(target) {
40
64
  return this.action(target, "unhover");
41
65
  }
66
+ /**
67
+ * Trigger blur (unhover) to target element
68
+ * @param target Target querySelector
69
+ */
42
70
  blur(target) {
43
71
  return this.unhover(target);
44
72
  }
73
+ /**
74
+ * Remotely typing target input
75
+ * @param target Target querySelector
76
+ */
45
77
  type(target, text) {
46
78
  return this.action(target, "type", text);
47
79
  }
80
+ /**
81
+ * Clear input text
82
+ * @param target Target querySelector
83
+ */
48
84
  clear(target) {
49
85
  return this.action(target, "clear");
50
86
  }
87
+ /**
88
+ * Redirect to url
89
+ * @param url target url
90
+ * @param backUrl target url when back button clicked
91
+ */
51
92
  visit(url, backUrl) {
52
93
  return this.add(new StepVisit({ url, backUrl }));
53
94
  }
95
+ /**
96
+ * Run steps only when condition meet, skip if not
97
+ * @param condition Ref or Function to check
98
+ * @param buildTour
99
+ * @example
100
+ * tour.runIf(() => window.matchMedia("(max-width: 700px)").matches, (tour) => {
101
+ * return tour
102
+ * .click('#mobile-only')
103
+ * .dialog('#mobile-only', 'Hello World')
104
+ * })
105
+ */
54
106
  runIf(condition, buildTour) {
55
107
  const tour = new TourStory();
56
108
  return this.add(new StepCondition({
@@ -58,6 +110,21 @@ export class TourStory extends Tour {
58
110
  tour: buildTour(tour) ?? tour
59
111
  }));
60
112
  }
113
+ /**
114
+ * Run else if, this must be used after runIf.
115
+ * @param condition
116
+ * @param buildTour
117
+ * @example
118
+ * tour.runIf(() => window.matchMedia("(max-width: 700px)").matches, (tour) => {
119
+ * return tour
120
+ * .click('#mobile-only')
121
+ * .dialog('#mobile-only', 'Hello World')
122
+ * }).runElseIf(() => window.matchMedia("(max-width: 1000px), (tour) => {
123
+ * return tour
124
+ * .click('#tablet-only')
125
+ * .dialog('#tablet-only', 'Hello World')*
126
+ * })
127
+ */
61
128
  runElseIf(condition, buildTour) {
62
129
  const step = this.steps.at(-1);
63
130
  if (!(step instanceof StepCondition) || !step.canChain())
@@ -70,6 +137,20 @@ export class TourStory extends Tour {
70
137
  });
71
138
  return this;
72
139
  }
140
+ /**
141
+ * Run else condition, this must be used after runElse
142
+ * @param buildTour
143
+ * @example
144
+ * tour.runIf(() => window.matchMedia("(max-width: 700px)").matches, (tour) => {
145
+ * return tour
146
+ * .click('#mobile-only')
147
+ * .dialog('#mobile-only', 'Hello World')
148
+ * }).runElse((tour) => {
149
+ * return tour
150
+ * .click('#not-mobile')
151
+ * .dialog('#not-mobile', 'Hello World')*
152
+ * })
153
+ */
73
154
  runElse(buildTour) {
74
155
  const step = this.steps.at(-1);
75
156
  if (!(step instanceof StepCondition) || !step.canChain())
@@ -78,7 +78,7 @@ export declare class Tour extends AbstractTour<TourOptions> {
78
78
  /**
79
79
  * Get current step instance
80
80
  */
81
- protected getCurrentStep(): AbstractTour<BaseTourOptions>;
81
+ protected getCurrentStep(): AbstractTour<BaseTourOptions> | undefined;
82
82
  /**
83
83
  * Run "on-finished" hooks
84
84
  */
@@ -3,7 +3,7 @@ import { isNumber } from "lodash-es";
3
3
  import {
4
4
  AbstractTour,
5
5
  TourDirection
6
- } from "./base";
6
+ } from "./base.mjs";
7
7
  export class Tour extends AbstractTour {
8
8
  constructor(options) {
9
9
  super(options);
@@ -24,18 +24,33 @@ export class Tour extends AbstractTour {
24
24
  if (typeof options?.onFinished === "function")
25
25
  this.onFinishedHooks.unshift(options.onFinished);
26
26
  }
27
+ /**
28
+ * Get current step index
29
+ */
27
30
  getIndex() {
28
31
  return this.getRealIndex() + (this.parent?.getIndex() ?? 0);
29
32
  }
33
+ /**
34
+ * Get total Step
35
+ */
30
36
  getTotal() {
31
37
  return this.parent?.getTotal() ?? this.getTotalChild();
32
38
  }
39
+ /**
40
+ * Get list of steps
41
+ */
33
42
  getSteps() {
34
43
  return this.steps;
35
44
  }
45
+ /**
46
+ * Get running status
47
+ */
36
48
  isRunning() {
37
49
  return this.running;
38
50
  }
51
+ /**
52
+ * Count total step, including Sub-Tour
53
+ */
39
54
  getTotalChild() {
40
55
  let total = 0;
41
56
  for (const step of this.steps) {
@@ -43,6 +58,9 @@ export class Tour extends AbstractTour {
43
58
  }
44
59
  return total;
45
60
  }
61
+ /**
62
+ * Calculate real index, including Sub-Tour
63
+ */
46
64
  getRealIndex() {
47
65
  let index = this.index;
48
66
  for (let i = 0; i < this.index; i++) {
@@ -52,12 +70,21 @@ export class Tour extends AbstractTour {
52
70
  }
53
71
  return index;
54
72
  }
73
+ /**
74
+ * Get current step instance
75
+ */
55
76
  getCurrentStep() {
56
77
  return this.steps.at(this.index);
57
78
  }
79
+ /**
80
+ * Run "on-finished" hooks
81
+ */
58
82
  async runOnFinishedHooks() {
59
83
  await Promise.allSettled(this.onFinishedHooks.map((hook) => hook()));
60
84
  }
85
+ /**
86
+ * Execute current step
87
+ */
61
88
  async run() {
62
89
  const step = this.getCurrentStep();
63
90
  try {
@@ -73,6 +100,9 @@ export class Tour extends AbstractTour {
73
100
  await this.stop();
74
101
  }
75
102
  }
103
+ /**
104
+ * Goto previous step
105
+ */
76
106
  async prev(skipHook = false) {
77
107
  const toIndex = this.index - 1;
78
108
  const from = this.steps.at(this.index);
@@ -86,6 +116,9 @@ export class Tour extends AbstractTour {
86
116
  await this.run();
87
117
  }
88
118
  }
119
+ /**
120
+ * Goto next step
121
+ */
89
122
  async next(skipHook = false) {
90
123
  const toIndex = this.index + 1;
91
124
  const from = this.steps.at(this.index);
@@ -100,10 +133,16 @@ export class Tour extends AbstractTour {
100
133
  await this.finish();
101
134
  }
102
135
  }
136
+ /**
137
+ * Finishing step
138
+ */
103
139
  async finish() {
104
140
  await this.runOnFinishedHooks();
105
141
  await (this.parent ? this.parent.next() : this.stop());
106
142
  }
143
+ /**
144
+ * Show and start the tour
145
+ */
107
146
  async start() {
108
147
  this.running = true;
109
148
  this.index = this.direction === TourDirection.BACKWARD ? this.steps.length - 1 : 0;
@@ -111,21 +150,36 @@ export class Tour extends AbstractTour {
111
150
  this.attach(this.parent);
112
151
  await this.run();
113
152
  }
153
+ /**
154
+ * Hide and stop the tour
155
+ */
114
156
  async stop() {
115
157
  await this.getCurrentStep().stop();
116
158
  if (this.parent)
117
159
  this.detach(this.parent);
118
160
  this.running = false;
119
161
  }
162
+ /**
163
+ * Find index by name or by instance
164
+ * @param id
165
+ */
120
166
  findIndex(id) {
121
167
  if (id instanceof AbstractTour)
122
168
  return this.steps.indexOf(id);
123
169
  return this.steps.findIndex((item) => item.name === id);
124
170
  }
171
+ /**
172
+ * Add Tour Step
173
+ * @param step Step instance
174
+ */
125
175
  add(step) {
126
176
  this.steps.push(step.setParent(this));
127
177
  return this;
128
178
  }
179
+ /**
180
+ * Remove Step
181
+ * @param id number of index, name or symbol
182
+ */
129
183
  remove(id) {
130
184
  if (!id && this.parent)
131
185
  this.parent.remove(this);
@@ -4,6 +4,7 @@
4
4
  mode="out-in">
5
5
  <span
6
6
  :key="`${expand}`"
7
+ class="truncate"
7
8
  data-testid="truncate">
8
9
  {{ viewText }}
9
10
  <template v-if="expandable && text.length > maxLength">
@@ -73,3 +74,10 @@ export default defineComponent({
73
74
  }
74
75
  });
75
76
  </script>
77
+
78
+ <style lang="postcss">
79
+ .truncate {
80
+ @apply text-default;
81
+ @apply dark:text-dark-default;
82
+ }
83
+ </style>
@@ -22,7 +22,7 @@ export function fromBase64(dataurl, filename, mimeType) {
22
22
  if (!dataurl)
23
23
  return;
24
24
  try {
25
- const name = filename ?? new Date().toISOString();
25
+ const name = filename ?? (/* @__PURE__ */ new Date()).toISOString();
26
26
  const [meta, body] = dataurl.split(",");
27
27
  const mime = mimeType ?? meta.match(/:(.*?);/)[1];
28
28
  const buffer = window.atob(body);
@@ -1,8 +1,8 @@
1
- export declare type JsonObject = {
1
+ export type JsonObject = {
2
2
  [Key in string]?: JsonValue;
3
3
  };
4
- export declare type JsonArray = JsonValue[];
5
- export declare type JsonPrimitive = string | number | boolean | null;
6
- export declare type JsonValue = JsonPrimitive | JsonObject | JsonArray;
4
+ export type JsonArray = JsonValue[];
5
+ export type JsonPrimitive = string | number | boolean | null;
6
+ export type JsonValue = JsonPrimitive | JsonObject | JsonArray;
7
7
  export declare function isEqual(a: unknown, b: unknown): boolean;
8
8
  export declare function valueIn(array: unknown[], value: unknown): boolean;
@@ -19,15 +19,15 @@ declare const _default: import("vue-demi").DefineComponent<{
19
19
  };
20
20
  onBeforePrev: {
21
21
  type: PropType<TravelHook>;
22
- default: any;
22
+ default: undefined;
23
23
  };
24
24
  onBeforeNext: {
25
25
  type: PropType<TravelHook>;
26
- default: any;
26
+ default: undefined;
27
27
  };
28
28
  onFinished: {
29
29
  type: PropType<FinishedHook>;
30
- default: any;
30
+ default: undefined;
31
31
  };
32
32
  }, {
33
33
  model: import("vue-demi").Ref<number>;
@@ -50,15 +50,15 @@ declare const _default: import("vue-demi").DefineComponent<{
50
50
  };
51
51
  onBeforePrev: {
52
52
  type: PropType<TravelHook>;
53
- default: any;
53
+ default: undefined;
54
54
  };
55
55
  onBeforeNext: {
56
56
  type: PropType<TravelHook>;
57
- default: any;
57
+ default: undefined;
58
58
  };
59
59
  onFinished: {
60
60
  type: PropType<FinishedHook>;
61
- default: any;
61
+ default: undefined;
62
62
  };
63
63
  }>>, {
64
64
  variant: IconVariant;
@@ -16,7 +16,7 @@ declare const _default: import("vue-demi").DefineComponent<{
16
16
  default: number;
17
17
  };
18
18
  }>> & {
19
- "onUpdate:modelValue"?: (...args: any[]) => any;
19
+ "onUpdate:modelValue"?: ((...args: any[]) => any) | undefined;
20
20
  }, {
21
21
  modelValue: number;
22
22
  }>;
@@ -7,11 +7,11 @@ declare const _default: import("vue-demi").DefineComponent<{
7
7
  };
8
8
  onBeforePrev: {
9
9
  type: PropType<TravelHook>;
10
- default: any;
10
+ default: undefined;
11
11
  };
12
12
  onBeforeNext: {
13
13
  type: PropType<TravelHook>;
14
- default: any;
14
+ default: undefined;
15
15
  };
16
16
  }, 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<{
17
17
  title: {
@@ -20,11 +20,11 @@ declare const _default: import("vue-demi").DefineComponent<{
20
20
  };
21
21
  onBeforePrev: {
22
22
  type: PropType<TravelHook>;
23
- default: any;
23
+ default: undefined;
24
24
  };
25
25
  onBeforeNext: {
26
26
  type: PropType<TravelHook>;
27
- default: any;
27
+ default: undefined;
28
28
  };
29
29
  }>>, {
30
30
  title: string;
package/dist/module.json CHANGED
@@ -4,5 +4,5 @@
4
4
  "compatibility": {
5
5
  "nuxt": ">=3.0.0"
6
6
  },
7
- "version": "0.10.0"
7
+ "version": "0.11.0"
8
8
  }
package/dist/types.d.ts CHANGED
@@ -7,4 +7,4 @@ declare module '@nuxt/schema' {
7
7
  }
8
8
 
9
9
 
10
- export { default } from './module'
10
+ export { ModuleOptions, default } from './module'
package/package.json CHANGED
@@ -1,8 +1,12 @@
1
1
  {
2
2
  "name": "@privyid/persona",
3
- "version": "0.10.0",
3
+ "version": "0.11.0",
4
4
  "license": "MIT",
5
- "repository": "https://github.com/privy-open-source/design-system",
5
+ "repository": {
6
+ "url": "https://github.com/privy-open-source/design-system.git",
7
+ "type": "git",
8
+ "directory": "packages/persona"
9
+ },
6
10
  "author": "Ade Novid <adenvt@gmail.com> (https://github.com/adenvt)",
7
11
  "bugs": {
8
12
  "url": "https://github.com/privy-open-source/design-system/issues"
@@ -42,10 +46,9 @@
42
46
  "dist"
43
47
  ],
44
48
  "scripts": {
45
- "prepack": "yarn build && yarn cleanup",
49
+ "prepack": "yarn build",
46
50
  "prepare": "yarn dev:prepare",
47
51
  "build": "nuxt-module-build",
48
- "cleanup": "del-cli dist/**/*.{spec,bench}.{d.ts,mjs} dist/**/__mocks__ dist/**/demo dist/**/*.md",
49
52
  "dev": "nuxi dev playground",
50
53
  "dev:build": "nuxi build playground",
51
54
  "dev:prepare": "nuxt-module-build --stub && nuxi prepare playground"
@@ -84,7 +87,7 @@
84
87
  "extends @privyid/browserslist-config"
85
88
  ],
86
89
  "peerDependencies": {
87
- "@privyid/tailwind-preset": "^0.10.0",
90
+ "@privyid/tailwind-preset": "^0.11.0",
88
91
  "postcss-custom-properties": "^12.1.11",
89
92
  "postcss-hexrgba": "^2.1.0",
90
93
  "postcss-lighten-darken": "^0.9.0",
@@ -92,15 +95,14 @@
92
95
  "vue-router": ">=4.0.0"
93
96
  },
94
97
  "devDependencies": {
95
- "@nuxt/module-builder": "latest",
96
- "@nuxt/schema": "3.3.2",
98
+ "@nuxt/module-builder": "^0.3.0",
99
+ "@nuxt/schema": "3.3.3",
97
100
  "@nuxtjs/tailwindcss": "^6.2.0",
98
- "@privyid/browserslist-config": "^0.10.0",
99
- "@privyid/tailwind-preset": "^0.10.0",
101
+ "@privyid/browserslist-config": "^0.11.0",
102
+ "@privyid/tailwind-preset": "^0.11.0",
100
103
  "@types/sanitize-html": "^2",
101
104
  "browserslist-to-esbuild": "^1.2.0",
102
- "del-cli": "5.0.0",
103
- "nuxt": "3.3.2",
105
+ "nuxt": "3.3.3",
104
106
  "postcss-custom-properties": "^12.1.11",
105
107
  "postcss-hexrgba": "^2.1.0",
106
108
  "postcss-lighten-darken": "^0.9.0",
@@ -1 +0,0 @@
1
- <svg xmlns="http://www.w3.org/2000/svg" width="96" height="96" fill="none" viewBox="0 0 96 96"><g clip-path="url(#clip0_101_5004)"><rect width="96" height="96" fill="#464C59"/><path fill="#fff" d="M24 48C24 36.9543 32.9543 28 44 28H83C94.0457 28 103 36.9543 103 48C103 59.0457 94.0457 68 83 68H44C32.9543 68 24 59.0457 24 48Z"/><path fill="#0065D1" d="M47.368 56.288C46.2 56.288 45.216 56.064 44.416 55.616C43.616 55.152 42.992 54.552 42.544 53.816C42.096 53.08 41.832 52.288 41.752 51.44H44.608C44.736 52.176 45.04 52.744 45.52 53.144C46.016 53.544 46.64 53.744 47.392 53.744C48.464 53.744 49.328 53.256 49.984 52.28C50.64 51.288 50.992 49.784 51.04 47.768C50.656 48.424 50.072 48.968 49.288 49.4C48.52 49.832 47.672 50.048 46.744 50.048C45.816 50.048 44.944 49.824 44.128 49.376C43.312 48.928 42.648 48.296 42.136 47.48C41.624 46.664 41.368 45.704 41.368 44.6C41.368 43.592 41.616 42.656 42.112 41.792C42.608 40.928 43.296 40.232 44.176 39.704C45.056 39.176 46.088 38.912 47.272 38.912C48.536 38.912 49.6 39.144 50.464 39.608C51.328 40.072 52.016 40.696 52.528 41.48C53.056 42.264 53.432 43.136 53.656 44.096C53.896 45.056 54.016 46.04 54.016 47.048C54.016 48.92 53.752 50.552 53.224 51.944C52.712 53.32 51.952 54.392 50.944 55.16C49.952 55.912 48.76 56.288 47.368 56.288ZM47.464 47.456C48.056 47.456 48.592 47.328 49.072 47.072C49.552 46.8 49.928 46.448 50.2 46.016C50.472 45.568 50.608 45.072 50.608 44.528C50.608 43.664 50.304 42.952 49.696 42.392C49.104 41.832 48.352 41.552 47.44 41.552C46.544 41.552 45.8 41.832 45.208 42.392C44.616 42.936 44.32 43.632 44.32 44.48C44.32 45.376 44.616 46.096 45.208 46.64C45.8 47.184 46.552 47.456 47.464 47.456ZM63.3789 56.288C62.2109 56.288 61.2269 56.064 60.4269 55.616C59.6269 55.152 59.0029 54.552 58.5549 53.816C58.1069 53.08 57.8429 52.288 57.7629 51.44H60.6189C60.7469 52.176 61.0509 52.744 61.5309 53.144C62.0269 53.544 62.6509 53.744 63.4029 53.744C64.4749 53.744 65.3389 53.256 65.9949 52.28C66.6509 51.288 67.0029 49.784 67.0509 47.768C66.6669 48.424 66.0829 48.968 65.2989 49.4C64.5309 49.832 63.6829 50.048 62.7549 50.048C61.8269 50.048 60.9549 49.824 60.1389 49.376C59.3229 48.928 58.6589 48.296 58.1469 47.48C57.6349 46.664 57.3789 45.704 57.3789 44.6C57.3789 43.592 57.6269 42.656 58.1229 41.792C58.6189 40.928 59.3069 40.232 60.1869 39.704C61.0669 39.176 62.0989 38.912 63.2829 38.912C64.5469 38.912 65.6109 39.144 66.4749 39.608C67.3389 40.072 68.0269 40.696 68.5389 41.48C69.0669 42.264 69.4429 43.136 69.6669 44.096C69.9069 45.056 70.0269 46.04 70.0269 47.048C70.0269 48.92 69.7629 50.552 69.2349 51.944C68.7229 53.32 67.9629 54.392 66.9549 55.16C65.9629 55.912 64.7709 56.288 63.3789 56.288ZM63.4749 47.456C64.0669 47.456 64.6029 47.328 65.0829 47.072C65.5629 46.8 65.9389 46.448 66.2109 46.016C66.4829 45.568 66.6189 45.072 66.6189 44.528C66.6189 43.664 66.3149 42.952 65.7069 42.392C65.1149 41.832 64.3629 41.552 63.4509 41.552C62.5549 41.552 61.8109 41.832 61.2189 42.392C60.6269 42.936 60.3309 43.632 60.3309 44.48C60.3309 45.376 60.6269 46.096 61.2189 46.64C61.8109 47.184 62.5629 47.456 63.4749 47.456ZM73.3659 50.336V47.768H77.8779V43.616H80.4939V47.768H84.9819V50.336H80.4939V54.488H77.8779V50.336H73.3659Z"/></g><defs><clipPath id="clip0_101_5004"><rect width="96" height="96" fill="#fff"/></clipPath></defs></svg>
@@ -1 +0,0 @@
1
- <svg xmlns="http://www.w3.org/2000/svg" width="121" height="128" fill="none" viewBox="0 0 121 128"><g clip-path="url(#clip0_644_13029)"><g clip-path="url(#clip1_644_13029)"><rect width="121" height="121" y="6.5" fill="url(#paint0_linear_644_13029)" rx="60.124"/><rect width="121" height="121" y="6.5" fill="#fff" fill-opacity=".8" rx="60.124"/><path fill="#8AAED8" d="M9 54.5001H61H113V123.369C113 125.641 111.158 127.483 108.886 127.483H13.1138C10.8418 127.483 9 125.641 9 123.369V54.5001Z"/><rect width="104" height="25" x="9" y="29.5" fill="#BFD6F0"/><rect width="84" height="54" x="22" y="18.5" fill="#DDE6F4" rx="4.509"/><path fill="#fff" d="M9 54.5H11C13.7614 54.5 16 56.7386 16 59.5V127.5H9V54.5Z"/><path fill="#fff" d="M113 54.5H111C108.239 54.5 106 56.7386 106 59.5V127.5H113V54.5Z"/><path fill="#F5F7F9" d="M9 64.5C9 62.2909 10.7909 60.5 13 60.5H109C111.209 60.5 113 62.2909 113 64.5V127.5H9V64.5Z"/><path fill="url(#paint1_radial_644_13029)" d="M9 64.5C9 62.2909 10.7909 60.5 13 60.5H57C59.2091 60.5 61 62.2909 61 64.5V127.5H9V64.5Z"/><path fill="url(#paint2_radial_644_13029)" d="M113 64.5C113 62.2909 111.209 60.5 109 60.5H65C62.7909 60.5 61 62.2909 61 64.5V127.5H113V64.5Z"/></g><path fill="#BFD6F0" d="M9 30.5C9 28.2909 10.7909 26.5 13 26.5H109C111.209 26.5 113 28.2909 113 30.5V41.5H9V30.5Z"/><rect width="80" height="35" x="26" y="12.5" fill="#DDE6F4" rx="4.509"/><g filter="url(#filter0_f_644_13029)"><circle cx="9.5" cy="12" r="8.5" fill="#91ACF1"/><path fill="#fff" d="M12.9098 15.8141H6.09022C6.03664 15.8141 5.98367 15.8028 5.93475 15.781C5.88583 15.7591 5.84206 15.7272 5.80629 15.6873C5.77052 15.6475 5.74355 15.6005 5.72714 15.5495C5.71073 15.4985 5.70524 15.4446 5.71104 15.3914C5.81463 14.4589 6.25842 13.5974 6.95749 12.9717C7.65656 12.346 8.56181 12 9.5 12C10.4382 12 11.3434 12.346 12.0425 12.9717C12.7416 13.5974 13.1854 14.4589 13.289 15.3914C13.2948 15.4446 13.2893 15.4985 13.2729 15.5495C13.2565 15.6005 13.2295 15.6475 13.1937 15.6873C13.1579 15.7272 13.1142 15.7591 13.0653 15.781C13.0163 15.8028 12.9634 15.8141 12.9098 15.8141Z"/><path fill="#fff" d="M9.77006 14.4054L11.5649 12.6072C10.9488 12.2105 10.2316 11.9998 9.49887 12C8.76618 12.0002 8.04905 12.2115 7.43323 12.6085L9.23037 14.4056C9.30188 14.4771 9.39888 14.5173 9.50002 14.5174H9.50021C9.60144 14.5173 9.69849 14.477 9.77006 14.4054Z"/><path fill="#fff" d="M9.49818 12.7628C9.04556 12.7628 8.60311 12.6286 8.22678 12.3771C7.85044 12.1256 7.55712 11.7682 7.38392 11.3501C7.21071 10.9319 7.16539 10.4718 7.25369 10.0279C7.34199 9.58394 7.55995 9.17617 7.87999 8.85613C8.20004 8.53608 8.6078 8.31813 9.05172 8.22983C9.49564 8.14152 9.95577 8.18684 10.3739 8.36005C10.7921 8.53326 11.1495 8.82658 11.401 9.20291C11.6524 9.57925 11.7866 10.0217 11.7866 10.4743C11.786 11.081 11.5447 11.6627 11.1156 12.0918C10.6866 12.5208 10.1049 12.7621 9.49818 12.7628Z"/><path fill="#fff" d="M7.24591 10.8558C7.33546 11.3889 7.61105 11.873 8.02374 12.2221C8.43642 12.5712 8.95948 12.7628 9.50005 12.7628C10.0406 12.7628 10.5637 12.5712 10.9764 12.2221C11.389 11.873 11.6646 11.3889 11.7542 10.8558H7.24591Z"/></g><g filter="url(#filter1_d_644_13029)"><rect width="86" height="66" x="18" y=".5" fill="#fff" rx="4.509"/><rect width="85.248" height="65.248" x="18.376" y=".876" stroke="#F4F6F7" stroke-width=".752" rx="4.134"/></g><path fill="#F5F7F9" d="M9 64.5C9 62.2909 10.7909 60.5 13 60.5H109C111.209 60.5 113 62.2909 113 64.5V87.5H9V64.5Z"/><path stroke="#EAECF0" d="M61 60.5V127"/><rect width="12" height="12" x="55" y="80.5" fill="#235AE3" rx="6"/><rect width="4" height="4" x="59" y="84.5" fill="#C8D6F8" rx="2"/><rect width="2" height="2" x="60" y="85.5" fill="#fff" rx="1"/><rect width="32.107" height="4" x="25" y="8.5" fill="#AAB8C5" rx="1.503"/><rect width="51.6" height="4" x="25" y="15.5" fill="#D7DDE2" rx="1.503"/><rect width="72" height="4" x="25" y="29.5" fill="#D7DDE2" rx="1.503"/><rect width="72" height="4" x="25" y="37.5" fill="#D7DDE2" rx="1.503"/><rect width="72" height="4" x="25" y="45.5" fill="#D7DDE2" rx="1.503"/><rect width="72" height="4" x="25" y="53.5" fill="#D7DDE2" rx="1.503"/><g filter="url(#filter2_f_644_13029)"><circle cx="106.5" cy="20" r="8.5" fill="#F6D789"/><path fill="#fff" d="M109.91 23.8141H103.09C103.037 23.8141 102.984 23.8028 102.935 23.781C102.886 23.7591 102.842 23.7272 102.806 23.6873C102.771 23.6475 102.744 23.6005 102.727 23.5495C102.711 23.4985 102.705 23.4446 102.711 23.3914C102.815 22.4589 103.258 21.5974 103.957 20.9717C104.657 20.346 105.562 20 106.5 20C107.438 20 108.343 20.346 109.043 20.9717C109.742 21.5974 110.185 22.4589 110.289 23.3914C110.295 23.4446 110.289 23.4985 110.273 23.5495C110.256 23.6005 110.229 23.6475 110.194 23.6873C110.158 23.7272 110.114 23.7591 110.065 23.781C110.016 23.8028 109.963 23.8141 109.91 23.8141Z"/><path fill="#fff" d="M106.77 22.4054L108.565 20.6072C107.949 20.2105 107.232 19.9998 106.499 20C105.766 20.0002 105.049 20.2115 104.433 20.6085L106.23 22.4056C106.302 22.4771 106.399 22.5173 106.5 22.5174H106.5C106.601 22.5173 106.698 22.477 106.77 22.4054Z"/><path fill="#fff" d="M106.498 20.7628C106.046 20.7628 105.603 20.6286 105.227 20.3771C104.85 20.1256 104.557 19.7682 104.384 19.3501C104.211 18.9319 104.165 18.4718 104.254 18.0279C104.342 17.5839 104.56 17.1762 104.88 16.8561C105.2 16.5361 105.608 16.3181 106.052 16.2298C106.496 16.1415 106.956 16.1868 107.374 16.3601C107.792 16.5333 108.15 16.8266 108.401 17.2029C108.652 17.5792 108.787 18.0217 108.787 18.4743C108.786 19.081 108.545 19.6627 108.116 20.0918C107.687 20.5208 107.105 20.7621 106.498 20.7628Z"/><path fill="#fff" d="M104.246 18.8558C104.335 19.3889 104.611 19.873 105.024 20.2221C105.436 20.5712 105.959 20.7628 106.5 20.7628C107.041 20.7628 107.564 20.5712 107.976 20.2221C108.389 19.873 108.665 19.3889 108.754 18.8558H104.246Z"/></g><g filter="url(#filter3_d_644_13029)"><path fill="#fff" d="M39.2355 35.8645C38.9692 35.6491 38.6581 35.4962 38.325 35.4168C37.9918 35.3375 37.6452 35.3339 37.3105 35.4062C34.8617 35.9194 32.3337 35.9259 29.8823 35.4254C27.4309 34.9248 25.1079 33.9278 23.0563 32.4957C22.6727 32.2296 22.2169 32.087 21.75 32.087C21.2831 32.087 20.8274 32.2296 20.4438 32.4957C18.3922 33.9278 16.0692 34.9248 13.6177 35.4254C11.1663 35.9259 8.63841 35.9194 6.18962 35.4062C5.85489 35.3339 5.50822 35.3375 5.1751 35.4168C4.84197 35.4962 4.53085 35.6491 4.26462 35.8645C3.99874 36.0802 3.78456 36.3527 3.63783 36.662C3.4911 36.9714 3.41554 37.3096 3.4167 37.652V54.7249C3.41466 58.0106 4.19764 61.2492 5.70043 64.1711C7.20321 67.0929 9.38232 69.6135 12.0563 71.5228L20.4209 77.4812C20.809 77.7575 21.2736 77.906 21.75 77.906C22.2265 77.906 22.6911 77.7575 23.0792 77.4812L31.4438 71.5228C34.1177 69.6135 36.2969 67.0929 37.7996 64.1711C39.3024 61.2492 40.0854 58.0106 40.0834 54.7249V37.652C40.0845 37.3096 40.009 36.9714 39.8622 36.662C39.7155 36.3527 39.5013 36.0802 39.2355 35.8645Z"/></g><path fill="#5AC571" d="M34.8002 62.7084C36.0729 60.2324 36.7359 57.4883 36.734 54.7044V38.9713C31.4985 39.4194 26.2551 38.2047 21.75 35.5C17.245 38.2047 12.0016 39.4194 6.76612 38.9713V54.7044C6.7642 57.4883 7.42719 60.2324 8.69992 62.7084C10.3004 65.5592 11.4661 66.9373 14.0833 68.9391L21.75 74.4083L29.4168 68.9391C32.1196 66.7259 33.2884 65.3445 34.8002 62.7084Z"/><path fill="#fff" d="M29.6571 48.8529C29.2 48.3824 28.5143 48.3824 28.0571 48.8529L19.4857 57.6765L15.9429 54.0294C15.4857 53.5588 14.8 53.5588 14.3429 54.0294C13.8857 54.5 13.8857 55.2059 14.3429 55.6765L18.6857 60.1471C18.9143 60.3824 19.1429 60.5 19.4857 60.5C19.8286 60.5 20.0571 60.3824 20.2857 60.1471L29.6571 50.5C30.1143 50.0294 30.1143 49.3235 29.6571 48.8529Z"/></g><defs><filter id="filter0_f_644_13029" width="23" height="23" x="-2" y=".5" color-interpolation-filters="sRGB" filterUnits="userSpaceOnUse"><feFlood flood-opacity="0" result="BackgroundImageFix"/><feBlend in="SourceGraphic" in2="BackgroundImageFix" mode="normal" result="shape"/><feGaussianBlur result="effect1_foregroundBlur_644_13029" stdDeviation="1.5"/></filter><filter id="filter1_d_644_13029" width="110" height="90" x="6" y="-3.5" color-interpolation-filters="sRGB" filterUnits="userSpaceOnUse"><feFlood flood-opacity="0" result="BackgroundImageFix"/><feColorMatrix in="SourceAlpha" result="hardAlpha" type="matrix" values="0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 127 0"/><feMorphology in="SourceAlpha" operator="erode" radius="5" result="effect1_dropShadow_644_13029"/><feOffset dy="8"/><feGaussianBlur stdDeviation="8.5"/><feColorMatrix type="matrix" values="0 0 0 0 0.568627 0 0 0 0 0.592157 0 0 0 0 0.639216 0 0 0 0.5 0"/><feBlend in2="BackgroundImageFix" mode="normal" result="effect1_dropShadow_644_13029"/><feBlend in="SourceGraphic" in2="effect1_dropShadow_644_13029" mode="normal" result="shape"/></filter><filter id="filter2_f_644_13029" width="19" height="19" x="97" y="10.5" color-interpolation-filters="sRGB" filterUnits="userSpaceOnUse"><feFlood flood-opacity="0" result="BackgroundImageFix"/><feBlend in="SourceGraphic" in2="BackgroundImageFix" mode="normal" result="shape"/><feGaussianBlur result="effect1_foregroundBlur_644_13029" stdDeviation=".5"/></filter><filter id="filter3_d_644_13029" width="48.667" height="57.819" x="-2.583" y="28.087" color-interpolation-filters="sRGB" filterUnits="userSpaceOnUse"><feFlood flood-opacity="0" result="BackgroundImageFix"/><feColorMatrix in="SourceAlpha" result="hardAlpha" type="matrix" values="0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 127 0"/><feOffset dy="2"/><feGaussianBlur stdDeviation="3"/><feColorMatrix type="matrix" values="0 0 0 0 0.155625 0 0 0 0 0.273375 0 0 0 0 0.45 0 0 0 0.21 0"/><feBlend in2="BackgroundImageFix" mode="normal" result="effect1_dropShadow_644_13029"/><feBlend in="SourceGraphic" in2="effect1_dropShadow_644_13029" mode="normal" result="shape"/></filter><linearGradient id="paint0_linear_644_13029" x1="60.5" x2="60.5" y1="6.5" y2="127.5" gradientUnits="userSpaceOnUse"><stop stop-color="#BCCEDF"/><stop offset="1" stop-color="#2869A5"/></linearGradient><radialGradient id="paint1_radial_644_13029" cx="0" cy="0" r="1" gradientTransform="translate(61 77) rotate(160.229) scale(115.296 89.4837)" gradientUnits="userSpaceOnUse"><stop offset=".418" stop-color="#C4C4C4" stop-opacity="0"/><stop offset="1" stop-color="#C4C4C4"/></radialGradient><radialGradient id="paint2_radial_644_13029" cx="0" cy="0" r="1" gradientTransform="translate(61 77) rotate(19.7708) scale(115.296 89.4837)" gradientUnits="userSpaceOnUse"><stop offset=".418" stop-color="#C4C4C4" stop-opacity="0"/><stop offset="1" stop-color="#C4C4C4"/></radialGradient><clipPath id="clip0_644_13029"><rect width="121" height="127" fill="#fff" transform="translate(0 0.5)"/></clipPath><clipPath id="clip1_644_13029"><rect width="121" height="121" y="6.5" fill="#fff" rx="60.124"/></clipPath></defs></svg>