@privyid/persona 0.3.0 → 0.5.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 (330) hide show
  1. package/LICENSE +21 -0
  2. package/README.md +4 -0
  3. package/dist/components/app/App.vue +3 -2
  4. package/dist/components/aspect-ratio/index.d.ts +3 -0
  5. package/dist/components/aspect-ratio/index.mjs +21 -0
  6. package/dist/components/aspect-ratio/utils/calculate-ratio.d.ts +7 -0
  7. package/dist/components/aspect-ratio/utils/calculate-ratio.mjs +10 -0
  8. package/dist/components/aspect-ratio/utils/resize-observer.d.ts +1 -0
  9. package/dist/components/aspect-ratio/utils/resize-observer.mjs +22 -0
  10. package/dist/components/avatar/Avatar.vue +1 -1
  11. package/dist/components/avatar/Avatar.vue.d.ts +1 -2
  12. package/dist/components/avatar/index.d.ts +2 -0
  13. package/dist/components/avatar/index.mjs +0 -0
  14. package/dist/components/badge/Badge.vue +33 -58
  15. package/dist/components/badge/Badge.vue.d.ts +1 -2
  16. package/dist/components/badge/index.d.ts +2 -0
  17. package/dist/components/badge/index.mjs +0 -0
  18. package/dist/components/banner/Banner.vue +23 -9
  19. package/dist/components/banner/Banner.vue.d.ts +1 -1
  20. package/dist/components/banner/index.d.ts +1 -0
  21. package/dist/components/banner/index.mjs +0 -0
  22. package/dist/components/button/Button.vue +74 -77
  23. package/dist/components/button/Button.vue.d.ts +1 -3
  24. package/dist/components/button/index.d.ts +3 -0
  25. package/dist/components/button/index.mjs +0 -0
  26. package/dist/components/button-group/ButtonGroup.vue +126 -63
  27. package/dist/components/button-group/ButtonGroup.vue.d.ts +1 -0
  28. package/dist/components/calendar/Calendar.vue +31 -30
  29. package/dist/components/calendar/adapter/adapter.d.ts +7 -0
  30. package/dist/components/calendar/adapter/adapter.mjs +8 -0
  31. package/dist/components/calendar/adapter/date.mjs +6 -4
  32. package/dist/components/calendar/adapter/month.mjs +2 -3
  33. package/dist/components/camera/Camera.vue +383 -0
  34. package/dist/components/camera/Camera.vue.d.ts +94 -0
  35. package/dist/components/camera/adapter/adapter.d.ts +41 -0
  36. package/dist/components/camera/adapter/adapter.mjs +3 -0
  37. package/dist/components/camera/adapter/capture.d.ts +5 -0
  38. package/dist/components/camera/adapter/capture.mjs +12 -0
  39. package/dist/components/camera/adapter/liveness.d.ts +5 -0
  40. package/dist/components/camera/adapter/liveness.mjs +46 -0
  41. package/dist/components/camera/adapter/qr-code.d.ts +2 -0
  42. package/dist/components/camera/adapter/qr-code.mjs +19 -0
  43. package/dist/components/camera/assets/shutter.wav +0 -0
  44. package/dist/components/camera/utils/motion.d.ts +29 -0
  45. package/dist/components/camera/utils/motion.mjs +88 -0
  46. package/dist/components/camera/utils/take-picture.d.ts +1 -0
  47. package/dist/components/camera/utils/take-picture.mjs +14 -0
  48. package/dist/components/caption/Caption.vue +60 -7
  49. package/dist/components/caption/Caption.vue.d.ts +27 -7
  50. package/dist/components/card/Card.vue +14 -8
  51. package/dist/components/card/Card.vue.d.ts +10 -1
  52. package/dist/components/card/CardSection.vue +2 -1
  53. package/dist/components/card/index.d.ts +1 -0
  54. package/dist/components/card/index.mjs +0 -0
  55. package/dist/components/chart/Chart.vue +6 -3
  56. package/dist/components/chart/Chart.vue.d.ts +1 -2
  57. package/dist/components/chart/index.d.ts +2 -0
  58. package/dist/components/chart/index.mjs +0 -0
  59. package/dist/components/chart/{use-chart.d.ts → utils/use-chart.d.ts} +0 -0
  60. package/dist/components/chart/{use-chart.mjs → utils/use-chart.mjs} +0 -0
  61. package/dist/components/checkbox/Checkbox.vue +47 -14
  62. package/dist/components/checkbox/Checkbox.vue.d.ts +0 -4
  63. package/dist/components/checkbox/{use-checkbox.d.ts → index.d.ts} +1 -1
  64. package/dist/components/checkbox/{use-checkbox.mjs → index.mjs} +0 -0
  65. package/dist/components/collapse/Collapse.vue +88 -0
  66. package/dist/components/collapse/Collapse.vue.d.ts +29 -0
  67. package/dist/components/contextual-bar/ContextualBar.vue +292 -0
  68. package/dist/components/contextual-bar/ContextualBar.vue.d.ts +78 -0
  69. package/dist/components/contextual-bar/assets/images/img-background-contextualbar.svg +14 -0
  70. package/dist/components/contextual-bar/assets/images/img-bg-contextualbar.svg +19 -0
  71. package/dist/components/contextual-bar/index.d.ts +1 -0
  72. package/dist/components/contextual-bar/index.mjs +0 -0
  73. package/dist/components/cropper/Cropper.vue +423 -0
  74. package/dist/components/cropper/Cropper.vue.d.ts +149 -0
  75. package/dist/components/cropper/assets/ps-neutral.png +0 -0
  76. package/dist/components/cropper/assets/sample-1.jpg +0 -0
  77. package/dist/components/cropper/utils/crop-image.d.ts +44 -0
  78. package/dist/components/cropper/utils/crop-image.mjs +43 -0
  79. package/dist/components/cropper/utils/use-pinch.d.ts +8 -0
  80. package/dist/components/cropper/utils/use-pinch.mjs +42 -0
  81. package/dist/components/cropper/utils/use-ratio.d.ts +9 -0
  82. package/dist/components/cropper/utils/use-ratio.mjs +24 -0
  83. package/dist/components/datepicker/Datepicker.vue +14 -5
  84. package/dist/components/datepicker/Datepicker.vue.d.ts +9 -0
  85. package/dist/components/dialog/Dialog.vue +2 -0
  86. package/dist/components/dialog/Dialog.vue.d.ts +1 -1
  87. package/dist/components/dialog/DialogFooter.vue +4 -2
  88. package/dist/components/dialog/DialogFooter.vue.d.ts +2 -1
  89. package/dist/components/dialog/index.d.ts +31 -6
  90. package/dist/components/dialog/index.mjs +32 -5
  91. package/dist/components/divider/Divider.vue +22 -2
  92. package/dist/components/dot/Dot.vue +27 -20
  93. package/dist/components/dot/Dot.vue.d.ts +10 -1
  94. package/dist/components/dot/index.d.ts +2 -0
  95. package/dist/components/dot/index.mjs +0 -0
  96. package/dist/components/dropdown/Dropdown.vue +73 -21
  97. package/dist/components/dropdown/Dropdown.vue.d.ts +16 -12
  98. package/dist/components/dropdown/DropdownItem.vue +3 -3
  99. package/dist/components/dropdown/index.d.ts +9 -0
  100. package/dist/components/dropdown/index.mjs +1 -0
  101. package/dist/components/dropdown/utils/use-focus.d.ts +1 -1
  102. package/dist/components/dropdown/utils/use-focus.mjs +4 -2
  103. package/dist/components/dropdown-subitem/DropdownSubitem.vue +12 -12
  104. package/dist/components/dropdown-subitem/DropdownSubitem.vue.d.ts +1 -1
  105. package/dist/components/dropdown-subitem/{use-dropdown-subitem.d.ts → index.d.ts} +0 -0
  106. package/dist/components/dropdown-subitem/{use-dropdown-subitem.mjs → index.mjs} +0 -0
  107. package/dist/components/dropzone/Dropzone.vue +202 -0
  108. package/dist/components/dropzone/Dropzone.vue.d.ts +93 -0
  109. package/dist/components/dropzone/index.d.ts +4 -0
  110. package/dist/components/dropzone/index.mjs +0 -0
  111. package/dist/components/dropzone/utils/accept.d.ts +1 -0
  112. package/dist/components/dropzone/utils/accept.mjs +17 -0
  113. package/dist/components/filterbar/Filterbar.vue +7 -5
  114. package/dist/components/filterbar/Filterbar.vue.d.ts +1 -1
  115. package/dist/components/filterbar/{use-filterbar.d.ts → index.d.ts} +1 -1
  116. package/dist/components/filterbar/{use-filterbar.mjs → index.mjs} +0 -0
  117. package/dist/components/filterbar/pinned/Date.vue +9 -7
  118. package/dist/components/filterbar/pinned/Date.vue.d.ts +1 -1
  119. package/dist/components/filterbar/pinned/Multiselect.vue +16 -13
  120. package/dist/components/filterbar/pinned/Multiselect.vue.d.ts +2 -2
  121. package/dist/components/filterbar/pinned/Select.vue +11 -8
  122. package/dist/components/filterbar/pinned/Select.vue.d.ts +2 -2
  123. package/dist/components/filterbar/pinned/Toggle.vue +2 -1
  124. package/dist/components/filterbar/pinned/Toggle.vue.d.ts +1 -1
  125. package/dist/components/form-group/FormGroup.vue +103 -0
  126. package/dist/components/form-group/FormGroup.vue.d.ts +61 -0
  127. package/dist/components/global/context.d.ts +24 -0
  128. package/dist/components/global/context.mjs +18 -0
  129. package/dist/components/global/router.d.ts +23 -0
  130. package/dist/components/global/router.mjs +7 -0
  131. package/dist/components/global/use-singleton.d.ts +17 -2
  132. package/dist/components/global/use-singleton.mjs +18 -10
  133. package/dist/components/heading/Heading.vue +50 -0
  134. package/dist/components/heading/Heading.vue.d.ts +19 -1
  135. package/dist/components/heading/index.d.ts +3 -0
  136. package/dist/components/heading/index.mjs +0 -0
  137. package/dist/components/input/Input.vue +119 -24
  138. package/dist/components/input/Input.vue.d.ts +38 -2
  139. package/dist/components/input/{use-input.d.ts → index.d.ts} +0 -0
  140. package/dist/components/input/{use-input.mjs → index.mjs} +0 -0
  141. package/dist/components/input-file/InputFile.vue +171 -0
  142. package/dist/components/input-file/InputFile.vue.d.ts +120 -0
  143. package/dist/components/input-group/InputGroup.vue +131 -0
  144. package/dist/components/input-group/InputGroup.vue.d.ts +45 -0
  145. package/dist/components/input-group/InputGroupAddon.vue +43 -0
  146. package/dist/components/input-password/InputPassword.vue +62 -0
  147. package/dist/components/input-password/InputPassword.vue.d.ts +5 -0
  148. package/dist/components/input-password/index.d.ts +2 -0
  149. package/dist/components/input-password/index.mjs +17 -0
  150. package/dist/components/input-pin/InputPin.vue +145 -0
  151. package/dist/components/input-pin/InputPin.vue.d.ts +64 -0
  152. package/dist/components/input-range/InputRange.vue +274 -0
  153. package/dist/components/input-range/InputRange.vue.d.ts +108 -0
  154. package/dist/components/input-range/utils/use-drag.d.ts +3 -0
  155. package/dist/components/input-range/utils/use-drag.mjs +19 -0
  156. package/dist/components/label/Label.vue +29 -41
  157. package/dist/components/label/Label.vue.d.ts +1 -1
  158. package/dist/components/markdown/index.d.ts +20 -0
  159. package/dist/components/markdown/index.mjs +15 -0
  160. package/dist/components/modal/Modal.vue +71 -5
  161. package/dist/components/modal/Modal.vue.d.ts +30 -0
  162. package/dist/components/nav/Nav.vue +16 -14
  163. package/dist/components/nav/Nav.vue.d.ts +3 -4
  164. package/dist/components/nav/NavForm.vue +19 -0
  165. package/dist/components/nav/NavItem.vue +14 -4
  166. package/dist/components/nav/NavItem.vue.d.ts +3 -4
  167. package/dist/components/nav/NavItemDropdown.vue +5 -1
  168. package/dist/components/nav/NavItemDropdown.vue.d.ts +9 -0
  169. package/dist/components/nav/NavSubItem.vue +5 -5
  170. package/dist/components/nav/index.d.ts +2 -0
  171. package/dist/components/nav/index.mjs +0 -0
  172. package/dist/components/navbar/Navbar.vue +143 -0
  173. package/dist/components/navbar/Navbar.vue.d.ts +57 -0
  174. package/dist/components/navbar/NavbarBrand.vue +33 -0
  175. package/dist/components/navbar/NavbarBrand.vue.d.ts +14 -0
  176. package/dist/components/navbar/NavbarNav.vue +109 -0
  177. package/dist/components/navbar/NavbarNav.vue.d.ts +19 -0
  178. package/dist/components/navbar/NavbarToggle.vue +74 -0
  179. package/dist/components/navbar/NavbarToggle.vue.d.ts +6 -0
  180. package/dist/components/navbar/index.d.ts +10 -0
  181. package/dist/components/navbar/index.mjs +1 -0
  182. package/dist/components/navbar-menu/NavbarNavMenu.vue +62 -0
  183. package/dist/components/navbar-menu/NavbarNavMenu.vue.d.ts +16 -0
  184. package/dist/components/overlay/Overlay.vue +8 -3
  185. package/dist/components/overlay/Overlay.vue.d.ts +14 -3
  186. package/dist/components/overlay/{use-overlay.d.ts → index.d.ts} +0 -0
  187. package/dist/components/overlay/{use-overlay.mjs → index.mjs} +0 -0
  188. package/dist/components/progress/Progress.vue +200 -0
  189. package/dist/components/progress/Progress.vue.d.ts +42 -0
  190. package/dist/components/progress/ProgressItem.vue +50 -0
  191. package/dist/components/progress/ProgressItem.vue.d.ts +25 -0
  192. package/dist/components/radio/Radio.vue +88 -31
  193. package/dist/components/radio/Radio.vue.d.ts +6 -6
  194. package/dist/components/radio/{use-radio.d.ts → index.d.ts} +1 -1
  195. package/dist/components/radio/{use-radio.mjs → index.mjs} +0 -0
  196. package/dist/components/select/Select.vue +10 -4
  197. package/dist/components/select/Select.vue.d.ts +11 -2
  198. package/dist/components/select/adapter/adapter.d.ts +1 -1
  199. package/dist/components/select/adapter/async-adapter.d.ts +1 -1
  200. package/dist/components/select/{use-select.d.ts → index.d.ts} +0 -0
  201. package/dist/components/select/{use-select.mjs → index.mjs} +0 -0
  202. package/dist/components/sidebar/Sidebar.vue +3 -3
  203. package/dist/components/sidebar/Sidebar.vue.d.ts +4 -9
  204. package/dist/components/sidebar/SidebarNav.vue +11 -11
  205. package/dist/components/sidebar/SidebarNav.vue.d.ts +2 -2
  206. package/dist/components/sidebar/index.d.ts +9 -0
  207. package/dist/components/sidebar/index.mjs +1 -0
  208. package/dist/components/sidebar-menu/SidebarMenu.vue.d.ts +4 -2
  209. package/dist/components/sidebar-menu/{use-sidebar-menu.d.ts → index.d.ts} +2 -0
  210. package/dist/components/sidebar-menu/{use-sidebar-menu.mjs → index.mjs} +0 -0
  211. package/dist/components/signature-draw/SignatureDraw.vue +1 -1
  212. package/dist/components/signature-draw/SignatureDrawDesktop.vue +5 -5
  213. package/dist/components/signature-draw/SignatureDrawMobile.vue +17 -5
  214. package/dist/components/signature-draw/utils/canvas.d.ts +7 -1
  215. package/dist/components/signature-draw/utils/canvas.mjs +8 -2
  216. package/dist/components/signature-draw/utils/use-draw.mjs +6 -5
  217. package/dist/components/signature-text/SignatureText.vue +1 -1
  218. package/dist/components/signature-text/SignatureText.vue.d.ts +1 -1
  219. package/dist/components/signature-text/utils/formatter.mjs +1 -1
  220. package/dist/components/spinner/Spinner.vue +1 -0
  221. package/dist/components/spinner/SpinnerRing.vue +1 -0
  222. package/dist/components/spread/Spread.vue +55 -0
  223. package/dist/components/spread/Spread.vue.d.ts +14 -0
  224. package/dist/components/steps/Step.vue +55 -0
  225. package/dist/components/steps/Step.vue.d.ts +32 -0
  226. package/dist/components/steps/StepSlider.vue +39 -0
  227. package/dist/components/steps/StepSlider.vue.d.ts +25 -0
  228. package/dist/components/steps/Steps.vue +111 -0
  229. package/dist/components/steps/Steps.vue.d.ts +56 -0
  230. package/dist/components/steps/index.d.ts +26 -0
  231. package/dist/components/steps/index.mjs +52 -0
  232. package/dist/components/steps/utils/hook.d.ts +10 -0
  233. package/dist/components/steps/utils/hook.mjs +34 -0
  234. package/dist/components/strengthbar/Strengthbar.vue +96 -0
  235. package/dist/components/strengthbar/Strengthbar.vue.d.ts +45 -0
  236. package/dist/components/subheading/Subheading.vue +65 -20
  237. package/dist/components/subheading/Subheading.vue.d.ts +23 -5
  238. package/dist/components/subheading/index.d.ts +1 -0
  239. package/dist/components/subheading/index.mjs +0 -0
  240. package/dist/components/table/Table.vue +21 -9
  241. package/dist/components/table/Table.vue.d.ts +1 -1
  242. package/dist/components/table/{use-table.d.ts → index.d.ts} +0 -0
  243. package/dist/components/table/{use-table.mjs → index.mjs} +0 -0
  244. package/dist/components/tabs/TabContent.vue +2 -2
  245. package/dist/components/tabs/Tabs.vue +12 -9
  246. package/dist/components/tabs/Tabs.vue.d.ts +2 -1
  247. package/dist/components/textarea/Textarea.vue +27 -16
  248. package/dist/components/textarea/Textarea.vue.d.ts +10 -1
  249. package/dist/components/toast/Toast.vue +102 -72
  250. package/dist/components/toast/Toast.vue.d.ts +1 -1
  251. package/dist/components/toast/ToastContainer.vue +1 -1
  252. package/dist/components/toast/ToastContainer.vue.d.ts +3 -3
  253. package/dist/components/toast/{use-toast.d.ts → index.d.ts} +1 -1
  254. package/dist/components/toast/index.mjs +6 -0
  255. package/dist/components/toggle/Toggle.vue +17 -21
  256. package/dist/components/tooltip/Tooltip.vue +161 -0
  257. package/dist/components/tooltip/Tooltip.vue.d.ts +51 -0
  258. package/dist/components/tooltip/TooltipContainer.vue +66 -0
  259. package/dist/components/tooltip/TooltipContainer.vue.d.ts +11 -0
  260. package/dist/components/tooltip/index.d.ts +14 -0
  261. package/dist/components/tooltip/index.mjs +82 -0
  262. package/dist/components/tooltip/utils/create-handler.d.ts +9 -0
  263. package/dist/components/tooltip/utils/create-handler.mjs +16 -0
  264. package/dist/components/tooltip/utils/parse-bindings.d.ts +22 -0
  265. package/dist/components/tooltip/utils/parse-bindings.mjs +45 -0
  266. package/dist/components/tour/Tour.vue +105 -0
  267. package/dist/components/tour/Tour.vue.d.ts +11 -0
  268. package/dist/components/tour/TourDialog.vue +204 -0
  269. package/dist/components/tour/TourDialog.vue.d.ts +108 -0
  270. package/dist/components/tour/TourHighlight.vue +57 -0
  271. package/dist/components/tour/TourHighlight.vue.d.ts +15 -0
  272. package/dist/components/tour/core/base.d.ts +59 -0
  273. package/dist/components/tour/core/base.mjs +43 -0
  274. package/dist/components/tour/core/step/action.d.ts +15 -0
  275. package/dist/components/tour/core/step/action.mjs +14 -0
  276. package/dist/components/tour/core/step/conditional.d.ts +26 -0
  277. package/dist/components/tour/core/step/conditional.mjs +69 -0
  278. package/dist/components/tour/core/step/delay.d.ts +8 -0
  279. package/dist/components/tour/core/step/delay.mjs +9 -0
  280. package/dist/components/tour/core/step/dialog.d.ts +11 -0
  281. package/dist/components/tour/core/step/dialog.mjs +25 -0
  282. package/dist/components/tour/core/step/visit.d.ts +9 -0
  283. package/dist/components/tour/core/step/visit.mjs +18 -0
  284. package/dist/components/tour/core/step.d.ts +37 -0
  285. package/dist/components/tour/core/step.mjs +30 -0
  286. package/dist/components/tour/core/story.d.ts +130 -0
  287. package/dist/components/tour/core/story.mjs +85 -0
  288. package/dist/components/tour/core/tour.d.ts +120 -0
  289. package/dist/components/tour/core/tour.mjs +133 -0
  290. package/dist/components/tour/index.d.ts +3 -0
  291. package/dist/components/tour/index.mjs +4 -0
  292. package/dist/components/tour/utils/is-visible.d.ts +2 -0
  293. package/dist/components/tour/utils/is-visible.mjs +35 -0
  294. package/dist/components/tour/utils/use-selector.d.ts +3 -0
  295. package/dist/components/tour/utils/use-selector.mjs +25 -0
  296. package/dist/components/tour/utils/wait-element.d.ts +6 -0
  297. package/dist/components/tour/utils/wait-element.mjs +44 -0
  298. package/dist/components/utils/base64.d.ts +8 -0
  299. package/dist/components/utils/base64.mjs +29 -0
  300. package/dist/components/utils/color.d.ts +6 -1
  301. package/dist/components/utils/color.mjs +4 -0
  302. package/dist/components/utils/value.mjs +2 -1
  303. package/dist/components/utils/vnode.d.ts +14 -1
  304. package/dist/components/utils/vnode.mjs +5 -2
  305. package/dist/components/wizard/Wizard.vue +85 -0
  306. package/dist/components/wizard/Wizard.vue.d.ts +72 -0
  307. package/dist/components/wizard/WizardBody.vue +50 -0
  308. package/dist/components/wizard/WizardBody.vue.d.ts +23 -0
  309. package/dist/components/wizard/WizardHeader.vue +38 -0
  310. package/dist/components/wizard/WizardHeader.vue.d.ts +16 -0
  311. package/dist/components/wizard/WizardStep.vue +20 -0
  312. package/dist/components/wizard/WizardStep.vue.d.ts +34 -0
  313. package/dist/core/index.d.ts +16 -6
  314. package/dist/core/index.mjs +37 -6
  315. package/dist/directive/index.d.ts +3 -0
  316. package/dist/directive/index.mjs +12 -0
  317. package/dist/module.d.ts +9 -2
  318. package/dist/module.json +1 -1
  319. package/dist/module.mjs +1613 -4
  320. package/dist/runtime/plugin.d.ts +2 -0
  321. package/dist/runtime/plugin.mjs +14 -0
  322. package/dist/types.d.ts +5 -1
  323. package/package.json +46 -9
  324. package/dist/components/dialog/use-dialog.d.ts +0 -28
  325. package/dist/components/dialog/use-dialog.mjs +0 -31
  326. package/dist/components/dropdown/utils/use-popper.d.ts +0 -6
  327. package/dist/components/dropdown/utils/use-popper.mjs +0 -32
  328. package/dist/components/input/InputGroup.vue +0 -25
  329. package/dist/components/toast/use-toast.mjs +0 -5
  330. package/dist/core/index.cjs +0 -75
@@ -0,0 +1,62 @@
1
+ <template>
2
+ <NavbarNav
3
+ v-for="(menu, i) in menus"
4
+ :key="i"
5
+ :align="menu.align">
6
+ <template
7
+ v-for="(item, id) in menu.items"
8
+ :key="id">
9
+ <NavItemDropdown v-if="item.submenu">
10
+ <template #button-content>
11
+ <template v-if="item.icon && typeof item.icon === 'string'">
12
+ <img
13
+ :src="item.icon"
14
+ alt="icon-menu">
15
+ </template>
16
+ <template v-else-if="item.icon">
17
+ <component :is="item.icon" />
18
+ </template>
19
+ {{ item.label }}
20
+ </template>
21
+ <DropdownItem
22
+ v-for="(submenu, idx) in item.submenu"
23
+ :key="idx">
24
+ {{ submenu.label }}
25
+ </DropdownItem>
26
+ </NavItemDropdown>
27
+ <NavItem
28
+ v-else
29
+ :href="item.url"
30
+ :class="{ 'nav__item--no-label' : !item.label }">
31
+ <template
32
+ #icon>
33
+ <template v-if="item.icon && typeof item.icon === 'string'">
34
+ <img
35
+ :src="item.icon"
36
+ alt="icon-menu">
37
+ </template>
38
+ <template v-else-if="item.icon">
39
+ <component :is="item.icon" />
40
+ </template>
41
+ </template>
42
+ {{ item.label }}
43
+ </NavItem>
44
+ </template>
45
+ </NavbarNav>
46
+ </template>
47
+
48
+ <script>
49
+ import { defineComponent } from "vue";
50
+ import NavbarNav from "../navbar/NavbarNav.vue";
51
+ export default defineComponent({
52
+ components: { NavbarNav },
53
+ props: {
54
+ menus: {
55
+ type: Array,
56
+ default: () => []
57
+ }
58
+ },
59
+ setup() {
60
+ }
61
+ });
62
+ </script>
@@ -0,0 +1,16 @@
1
+ import { PropType } from 'vue';
2
+ import { Menu } from '../sidebar-menu';
3
+ declare const _default: import("vue").DefineComponent<{
4
+ menus: {
5
+ type: PropType<Menu[]>;
6
+ default: () => Menu[];
7
+ };
8
+ }, void, unknown, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {}, string, import("vue").VNodeProps & import("vue").AllowedComponentProps & import("vue").ComponentCustomProps, Readonly<import("vue").ExtractPropTypes<{
9
+ menus: {
10
+ type: PropType<Menu[]>;
11
+ default: () => Menu[];
12
+ };
13
+ }>>, {
14
+ menus: Menu[];
15
+ }>;
16
+ export default _default;
@@ -16,6 +16,12 @@ import { defineComponent } from "vue-demi";
16
16
  import useLoading from "./utils/use-loading";
17
17
  import Icon from "./assets/icon-white.svg";
18
18
  export default defineComponent({
19
+ props: {
20
+ icon: {
21
+ type: String,
22
+ default: Icon
23
+ }
24
+ },
19
25
  setup() {
20
26
  const loading = useLoading({ elapsed: false });
21
27
  function show() {
@@ -27,8 +33,7 @@ export default defineComponent({
27
33
  return {
28
34
  show,
29
35
  hide,
30
- loading,
31
- icon: Icon
36
+ loading
32
37
  };
33
38
  }
34
39
  });
@@ -48,7 +53,7 @@ export default defineComponent({
48
53
  }
49
54
 
50
55
  .overlay {
51
- @apply fixed top-0 left-0 right-0 bottom-0 w-screen h-screen z-50 bg-overlay-primary flex items-center justify-center select-none will-change-[transform,opacity];
56
+ @apply fixed top-0 left-0 right-0 bottom-0 w-screen h-screen z-50 bg-emphasis/20 flex items-center justify-center select-none will-change-[transform,opacity];
52
57
 
53
58
  &__icon {
54
59
  @apply w-10 md:w-16 animate-[overlayLoading_1s_ease-in-out_infinite];
@@ -1,7 +1,18 @@
1
- declare const _default: import("vue-demi").DefineComponent<{}, {
1
+ declare const _default: import("vue-demi").DefineComponent<{
2
+ icon: {
3
+ type: StringConstructor;
4
+ default: any;
5
+ };
6
+ }, {
2
7
  show: () => void;
3
8
  hide: () => void;
4
9
  loading: import("vue-demi").WritableComputedRef<boolean>;
5
- icon: any;
6
- }, {}, {}, {}, 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<{}>>, {}>;
10
+ }, 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<{
11
+ icon: {
12
+ type: StringConstructor;
13
+ default: any;
14
+ };
15
+ }>>, {
16
+ icon: string;
17
+ }>;
7
18
  export default _default;
@@ -0,0 +1,200 @@
1
+ <template>
2
+ <div
3
+ class="progress"
4
+ data-testid="progress"
5
+ :class="classNames">
6
+ <div class="progress__items">
7
+ <slot />
8
+ </div>
9
+
10
+ <div
11
+ v-if="titleVariant === 'general'"
12
+ data-testid="progress-title-general"
13
+ class="progress__title">
14
+ <template v-if="item.slots?.title">
15
+ <component :is="item.slots.title" />
16
+ </template>
17
+ <template v-else>
18
+ {{ item.title }}
19
+ </template>
20
+ </div>
21
+ </div>
22
+ </template>
23
+
24
+ <script>
25
+ import { findLast } from "lodash-es";
26
+ import {
27
+ defineComponent,
28
+ computed
29
+ } from "vue-demi";
30
+ import { findAllChildren, toBoolean } from "../utils/vnode";
31
+ export default defineComponent({
32
+ props: {
33
+ variant: {
34
+ type: String,
35
+ default: "dot"
36
+ },
37
+ titleVariant: {
38
+ type: String,
39
+ default: "specific"
40
+ },
41
+ vertical: {
42
+ type: Boolean,
43
+ default: false
44
+ }
45
+ },
46
+ setup(props, { slots }) {
47
+ const classNames = computed(() => {
48
+ const result = [];
49
+ if (props.variant)
50
+ result.push(`progress--${props.variant}`);
51
+ if (props.titleVariant)
52
+ result.push(`progress--${props.titleVariant}`);
53
+ if (props.vertical)
54
+ result.push("progress--vertical");
55
+ else
56
+ result.push("progress--horizontal");
57
+ return result;
58
+ });
59
+ const item = computed(() => {
60
+ const vnodes = findAllChildren(slots.default(), "ProgressItem");
61
+ const activeNode = findLast(vnodes, (vnode) => {
62
+ return toBoolean(vnode.props?.active);
63
+ });
64
+ return {
65
+ title: activeNode?.props?.title ?? "",
66
+ slots: activeNode?.children ?? {}
67
+ };
68
+ });
69
+ return {
70
+ classNames,
71
+ item
72
+ };
73
+ }
74
+ });
75
+ </script>
76
+
77
+ <style lang="postcss">
78
+ .progress {
79
+ &__items {
80
+ @apply flex overflow-hidden;
81
+ }
82
+
83
+ &__item {
84
+ @apply flex-1 flex justify-center relative;
85
+
86
+ &:first-child .progress__bar {
87
+ @apply hidden;
88
+ }
89
+ }
90
+
91
+ &__content {
92
+ @apply flex flex-col space-y-2;
93
+ }
94
+
95
+ &__point {
96
+ @apply w-7 h-7 rounded-full bg-muted flex items-center justify-center text-default;
97
+ }
98
+
99
+ &__bar {
100
+ @apply absolute rounded-full transition-[background-position] ease-linear duration-150;
101
+ @apply from-[theme(backgroundColor.accent.emphasis)_50%] to-[theme(backgroundColor.muted)_50%];
102
+ }
103
+
104
+ &__title {
105
+ @apply truncate text-sm text-center w-full text-default;
106
+ }
107
+
108
+ & > .progress__title {
109
+ @apply pt-2;
110
+ }
111
+
112
+ &--active {
113
+ .progress__point {
114
+ @apply bg-accent-emphasis text-on-emphasis;
115
+ }
116
+ }
117
+
118
+ &--horizontal {
119
+ @apply w-full;
120
+
121
+ .progress__items {
122
+ @apply flex-row;
123
+ }
124
+
125
+ .progress__content {
126
+ @apply justify-start items-center;
127
+ }
128
+
129
+ .progress__bar {
130
+ @apply w-[calc(100%_-_3rem)] h-1 top-5 right-[calc(50%_+_1.5rem)];
131
+ @apply bg-gradient-to-r bg-[length:210%_100%] bg-right;
132
+ }
133
+
134
+ .progress--active + .progress--active {
135
+ .progress__bar {
136
+ @apply bg-left;
137
+ }
138
+ }
139
+ }
140
+
141
+ &--vertical {
142
+ @apply h-full;
143
+
144
+ > .progress__title {
145
+ @apply hidden;
146
+ }
147
+
148
+ .progress__items {
149
+ @apply flex-col items-center justify-between h-full space-y-2;
150
+ }
151
+
152
+ .progress__content {
153
+ @apply justify-center items-center;
154
+ }
155
+
156
+ .progress__bar {
157
+ @apply h-[calc(100%_-_4.25rem)] w-1 bottom-[calc(50%_+_2.25rem)] left-1/2 -translate-x-1/2;
158
+ @apply bg-gradient-to-b bg-bottom bg-[length:100%_210%];
159
+ }
160
+
161
+ .progress--active + .progress--active {
162
+ .progress__bar {
163
+ @apply bg-top;
164
+ }
165
+ }
166
+ }
167
+
168
+ &--dot {
169
+ .progress__point-item {
170
+ @apply w-3 h-3 rounded-full bg-default;
171
+ }
172
+ }
173
+
174
+ &--counter {
175
+ counter-reset: progress;
176
+
177
+ .progress__point {
178
+ counter-increment: progress;
179
+
180
+ &-item::before {
181
+ content: counter(progress);
182
+
183
+ @apply text-sm font-medium;
184
+ }
185
+ }
186
+ }
187
+
188
+ &--specific {
189
+ > .progress__title {
190
+ @apply hidden;
191
+ }
192
+ }
193
+
194
+ &--general {
195
+ .progress__content > .progress__title {
196
+ @apply hidden;
197
+ }
198
+ }
199
+ }
200
+ </style>
@@ -0,0 +1,42 @@
1
+ import { PropType, Slots } from 'vue-demi';
2
+ export declare type IconVariant = 'dot' | 'counter';
3
+ export declare type TitleVariant = 'specific' | 'general';
4
+ interface ProgressLabel {
5
+ title: string;
6
+ slots: Slots;
7
+ }
8
+ declare const _default: import("vue-demi").DefineComponent<{
9
+ variant: {
10
+ type: PropType<IconVariant>;
11
+ default: string;
12
+ };
13
+ titleVariant: {
14
+ type: PropType<TitleVariant>;
15
+ default: string;
16
+ };
17
+ vertical: {
18
+ type: BooleanConstructor;
19
+ default: boolean;
20
+ };
21
+ }, {
22
+ classNames: import("vue-demi").ComputedRef<string[]>;
23
+ item: import("vue-demi").ComputedRef<ProgressLabel>;
24
+ }, 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<{
25
+ variant: {
26
+ type: PropType<IconVariant>;
27
+ default: string;
28
+ };
29
+ titleVariant: {
30
+ type: PropType<TitleVariant>;
31
+ default: string;
32
+ };
33
+ vertical: {
34
+ type: BooleanConstructor;
35
+ default: boolean;
36
+ };
37
+ }>>, {
38
+ variant: IconVariant;
39
+ vertical: boolean;
40
+ titleVariant: TitleVariant;
41
+ }>;
42
+ export default _default;
@@ -0,0 +1,50 @@
1
+ <template>
2
+ <div
3
+ class="progress__item"
4
+ data-testid="progress-item"
5
+ :class="classNames">
6
+ <div class="progress__content">
7
+ <div class="progress__bar" />
8
+ <div class="progress__point">
9
+ <slot name="icon">
10
+ <div
11
+ data-testid="progress-point-item"
12
+ class="progress__point-item" />
13
+ </slot>
14
+ </div>
15
+ <div
16
+ data-testid="progress-title"
17
+ class="progress__title">
18
+ <slot name="title">
19
+ {{ title }}
20
+ </slot>
21
+ </div>
22
+ </div>
23
+ </div>
24
+ </template>
25
+
26
+ <script>
27
+ import { computed, defineComponent } from "vue-demi";
28
+ export default defineComponent({
29
+ name: "ProgressItem",
30
+ props: {
31
+ title: {
32
+ type: String,
33
+ default: ""
34
+ },
35
+ active: {
36
+ type: Boolean,
37
+ default: false
38
+ }
39
+ },
40
+ setup(props) {
41
+ const classNames = computed(() => {
42
+ const result = [];
43
+ if (props.active)
44
+ result.push("progress--active");
45
+ return result;
46
+ });
47
+ return { classNames };
48
+ }
49
+ });
50
+ </script>
@@ -0,0 +1,25 @@
1
+ declare const _default: import("vue-demi").DefineComponent<{
2
+ title: {
3
+ type: StringConstructor;
4
+ default: string;
5
+ };
6
+ active: {
7
+ type: BooleanConstructor;
8
+ default: boolean;
9
+ };
10
+ }, {
11
+ classNames: import("vue-demi").ComputedRef<string[]>;
12
+ }, 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<{
13
+ title: {
14
+ type: StringConstructor;
15
+ default: string;
16
+ };
17
+ active: {
18
+ type: BooleanConstructor;
19
+ default: boolean;
20
+ };
21
+ }>>, {
22
+ title: string;
23
+ active: boolean;
24
+ }>;
25
+ export default _default;
@@ -4,15 +4,10 @@
4
4
  class="radio"
5
5
  :class="classNames"
6
6
  @click.prevent="toggle">
7
- <input
8
- type="radio"
9
- :value="model"
10
- :name="name"
11
- :disabled="disabled || readonly">
12
7
  <span class="radio__icon">
13
- <IconCheck v-if="apperance === 'option'" />
8
+ <IconCheck v-if="appearance === 'option'" />
14
9
  <svg
15
- v-else-if="apperance === 'checkbox'"
10
+ v-else-if="appearance === 'checkbox'"
16
11
  width="10"
17
12
  height="10"
18
13
  viewBox="0 0 14 10"
@@ -21,8 +16,7 @@
21
16
  <path
22
17
  fill-rule="evenodd"
23
18
  clip-rule="evenodd"
24
- d="M3.81581 8.48528L5.23002 9.8995L6.64423 8.48528L13.7153 1.41421L12.3011 0L5.23002 7.07107L1.69449 3.53553L0.280273 4.94975L3.81581 8.48528Z"
25
- fill="white" />
19
+ d="M3.81581 8.48528L5.23002 9.8995L6.64423 8.48528L13.7153 1.41421L12.3011 0L5.23002 7.07107L1.69449 3.53553L0.280273 4.94975L3.81581 8.48528Z" />
26
20
  </svg>
27
21
 
28
22
  <svg
@@ -35,19 +29,23 @@
35
29
  <circle
36
30
  cx="7"
37
31
  cy="7"
38
- r="6.25"
39
- fill="white" />
32
+ r="6.25" />
40
33
  </svg>
41
34
  </span>
42
35
  <span class="radio__label">
43
36
  <slot />
44
37
  </span>
38
+ <input
39
+ type="radio"
40
+ :value="model"
41
+ :name="name"
42
+ :disabled="disabled || readonly">
45
43
  </label>
46
44
  </template>
47
45
 
48
46
  <script>
49
- import { useVModel } from "./use-radio";
50
- import IconCheck from "@carbon/icons-vue/lib/checkmark--filled/16";
47
+ import { useVModel } from ".";
48
+ import IconCheck from "@carbon/icons-vue/lib/checkmark/16";
51
49
  import {
52
50
  computed,
53
51
  defineComponent
@@ -93,7 +91,7 @@ export default defineComponent({
93
91
  type: Boolean,
94
92
  default: false
95
93
  },
96
- apperance: {
94
+ appearance: {
97
95
  type: String,
98
96
  default: "radio"
99
97
  }
@@ -113,8 +111,8 @@ export default defineComponent({
113
111
  result.push("radio--readonly");
114
112
  if (props.disabled)
115
113
  result.push("radio--disabled");
116
- if (props.apperance)
117
- result.push(`radio--${props.apperance}`);
114
+ if (props.appearance)
115
+ result.push(`radio--${props.appearance}`);
118
116
  return result;
119
117
  });
120
118
  function toggle() {
@@ -132,41 +130,63 @@ export default defineComponent({
132
130
 
133
131
  <style lang="postcss">
134
132
  .radio {
135
- @apply inline-flex gap-2 relative cursor-pointer select-none items-baseline;
133
+ @apply inline-flex space-x-2 relative cursor-pointer select-none items-baseline;
136
134
 
137
135
  & > input[type="radio"] {
138
136
  @apply appearance-none w-0 h-0 opacity-0 absolute;
139
137
  }
140
138
 
141
139
  &__icon {
142
- @apply w-5 h-5 border rounded-full border-secondary-25 inline-flex items-center justify-center bg-white;
140
+ @apply w-5 h-5 border rounded-full border-subtle inline-flex items-center justify-center bg-default;
143
141
 
144
- & > svg {
145
- @apply w-3;
142
+ > svg {
143
+ @apply w-3 fill-default;
146
144
  }
147
145
  }
148
146
 
149
- &--disabled {
147
+ &__label {
148
+ @apply text-default;
149
+ }
150
+
151
+ &&--disabled {
150
152
  @apply opacity-50;
153
+
154
+ &:not(.radio--checked) {
155
+ .radio__icon {
156
+ @apply bg-inactive border-subtle;
157
+
158
+ > svg {
159
+ @apply fill-inactive;
160
+ }
161
+ }
162
+ }
151
163
  }
152
164
 
153
- &--checked {
165
+ &&--checked {
154
166
  .radio__icon {
155
- @apply bg-primary-100 border-primary-100;
167
+ @apply bg-accent-emphasis border-accent-emphasis;
168
+ }
169
+
170
+ &.radio--checkbox {
171
+ .radio__icon {
172
+ > svg {
173
+ @apply fill-default;
174
+ }
175
+ }
156
176
  }
157
177
  }
158
178
 
159
- &--checkbox {
179
+ &&--checkbox {
160
180
  .radio__icon {
161
- @apply rounded-tn;
181
+ @apply rounded-sm;
162
182
  }
163
183
  }
164
184
 
165
- &--option {
185
+ &&--option {
166
186
  .radio__icon {
167
187
  @apply order-2 border-none invisible bg-transparent;
168
188
 
169
- & > svg {
189
+ > svg {
170
190
  @apply w-4;
171
191
  }
172
192
  }
@@ -175,19 +195,56 @@ export default defineComponent({
175
195
  @apply flex-grow;
176
196
  }
177
197
 
198
+ .dropdown__menu > .dropdown__subitem > & {
199
+ .radio__label {
200
+ @apply ml-0;
201
+ }
202
+ }
203
+
178
204
  &.radio--checked {
179
205
  .radio__icon {
180
- @apply text-primary-100 visible;
206
+ @apply text-accent visible;
207
+
208
+ > svg {
209
+ @apply fill-accent-emphasis;
210
+ }
181
211
  }
182
212
  }
183
213
  }
184
214
 
185
- .dropdown__menu & {
186
- @apply px-3 py-2 cursor-pointer text-body-100 w-full select-none text-left;
215
+ &&--none {
216
+ .radio__icon {
217
+ @apply hidden;
218
+ }
219
+
220
+ &.radio--disabled {
221
+ .card {
222
+ @apply bg-subtle hover:shadow-none hover:cursor-default;
223
+ }
224
+ }
225
+ }
226
+
227
+ .dropdown__menu > .dropdown__subitem > .dropdown__item > &,
228
+ .dropdown__menu > .dropdown__subitem > & {
229
+ @apply w-full select-none;
230
+ }
231
+
232
+ .dropdown__menu > .dropdown__subitem > .dropdown__item > & {
233
+ @apply py-[2px];
234
+ }
235
+
236
+ .dropdown__menu > .dropdown__subitem > & {
237
+ @apply px-4 py-[10px];
238
+
239
+ &:not(.radio--option) {
240
+ .radio__label {
241
+ @apply ml-4;
242
+ }
243
+ }
187
244
 
188
245
  &:hover,
189
246
  &:focus-visible {
190
- @apply bg-background-75;
247
+ @apply bg-subtle;
191
248
  }
192
249
  }
193
250
  }