@privyid/persona 0.3.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 (298) hide show
  1. package/README.md +12 -0
  2. package/dist/components/app/App.vue +29 -0
  3. package/dist/components/avatar/Avatar.vue +144 -0
  4. package/dist/components/avatar/Avatar.vue.d.ts +69 -0
  5. package/dist/components/avatar/assets/avatar.png +0 -0
  6. package/dist/components/avatar/utils/color-hash.d.ts +2 -0
  7. package/dist/components/avatar/utils/color-hash.mjs +22 -0
  8. package/dist/components/avatar/utils/create-image.d.ts +5 -0
  9. package/dist/components/avatar/utils/create-image.mjs +19 -0
  10. package/dist/components/avatar/utils/load-image.d.ts +1 -0
  11. package/dist/components/avatar/utils/load-image.mjs +22 -0
  12. package/dist/components/badge/Badge.vue +185 -0
  13. package/dist/components/badge/Badge.vue.d.ts +28 -0
  14. package/dist/components/badge/assets/images/img-guide-badge.svg +1 -0
  15. package/dist/components/banner/Banner.vue +112 -0
  16. package/dist/components/banner/Banner.vue.d.ts +32 -0
  17. package/dist/components/button/Button.vue +247 -0
  18. package/dist/components/button/Button.vue.d.ts +56 -0
  19. package/dist/components/button-group/ButtonGroup.vue +161 -0
  20. package/dist/components/button-group/ButtonGroup.vue.d.ts +26 -0
  21. package/dist/components/calendar/Calendar.vue +279 -0
  22. package/dist/components/calendar/Calendar.vue.d.ts +141 -0
  23. package/dist/components/calendar/adapter/adapter.d.ts +25 -0
  24. package/dist/components/calendar/adapter/adapter.mjs +8 -0
  25. package/dist/components/calendar/adapter/date.d.ts +2 -0
  26. package/dist/components/calendar/adapter/date.mjs +75 -0
  27. package/dist/components/calendar/adapter/month.d.ts +2 -0
  28. package/dist/components/calendar/adapter/month.mjs +58 -0
  29. package/dist/components/calendar/adapter/year.d.ts +2 -0
  30. package/dist/components/calendar/adapter/year.mjs +58 -0
  31. package/dist/components/caption/Caption.vue +38 -0
  32. package/dist/components/caption/Caption.vue.d.ts +16 -0
  33. package/dist/components/card/Card.vue +247 -0
  34. package/dist/components/card/Card.vue.d.ts +68 -0
  35. package/dist/components/card/CardSection.vue +66 -0
  36. package/dist/components/card/CardSection.vue.d.ts +25 -0
  37. package/dist/components/card/assets/images/img-card-callout-01.svg +1 -0
  38. package/dist/components/chart/Chart.vue +109 -0
  39. package/dist/components/chart/Chart.vue.d.ts +30 -0
  40. package/dist/components/chart/ChartSet.vue +16 -0
  41. package/dist/components/chart/ChartSet.vue.d.ts +12 -0
  42. package/dist/components/chart/ChartVal.vue +24 -0
  43. package/dist/components/chart/ChartVal.vue.d.ts +30 -0
  44. package/dist/components/chart/adapter/adapter.d.ts +7 -0
  45. package/dist/components/chart/adapter/adapter.mjs +3 -0
  46. package/dist/components/chart/adapter/index.d.ts +3 -0
  47. package/dist/components/chart/adapter/index.mjs +10 -0
  48. package/dist/components/chart/adapter/line.d.ts +2 -0
  49. package/dist/components/chart/adapter/line.mjs +63 -0
  50. package/dist/components/chart/adapter/pie.d.ts +2 -0
  51. package/dist/components/chart/adapter/pie.mjs +33 -0
  52. package/dist/components/chart/use-chart.d.ts +2 -0
  53. package/dist/components/chart/use-chart.mjs +9 -0
  54. package/dist/components/checkbox/Checkbox.vue +176 -0
  55. package/dist/components/checkbox/Checkbox.vue.d.ts +88 -0
  56. package/dist/components/checkbox/use-checkbox.d.ts +7 -0
  57. package/dist/components/checkbox/use-checkbox.mjs +37 -0
  58. package/dist/components/datepicker/Datepicker.vue +143 -0
  59. package/dist/components/datepicker/Datepicker.vue.d.ts +88 -0
  60. package/dist/components/dialog/Dialog.vue +75 -0
  61. package/dist/components/dialog/Dialog.vue.d.ts +11 -0
  62. package/dist/components/dialog/DialogFooter.vue +126 -0
  63. package/dist/components/dialog/DialogFooter.vue.d.ts +114 -0
  64. package/dist/components/dialog/index.d.ts +6 -0
  65. package/dist/components/dialog/index.mjs +5 -0
  66. package/dist/components/dialog/use-dialog.d.ts +28 -0
  67. package/dist/components/dialog/use-dialog.mjs +31 -0
  68. package/dist/components/divider/Divider.vue +9 -0
  69. package/dist/components/dot/Dot.vue +83 -0
  70. package/dist/components/dot/Dot.vue.d.ts +18 -0
  71. package/dist/components/dropdown/Dropdown.vue +231 -0
  72. package/dist/components/dropdown/Dropdown.vue.d.ts +113 -0
  73. package/dist/components/dropdown/DropdownItem.vue +44 -0
  74. package/dist/components/dropdown/DropdownItem.vue.d.ts +18 -0
  75. package/dist/components/dropdown/utils/use-focus.d.ts +5 -0
  76. package/dist/components/dropdown/utils/use-focus.mjs +20 -0
  77. package/dist/components/dropdown/utils/use-popper.d.ts +6 -0
  78. package/dist/components/dropdown/utils/use-popper.mjs +32 -0
  79. package/dist/components/dropdown-subitem/DropdownSubitem.vue +168 -0
  80. package/dist/components/dropdown-subitem/DropdownSubitem.vue.d.ts +35 -0
  81. package/dist/components/dropdown-subitem/use-dropdown-subitem.d.ts +12 -0
  82. package/dist/components/dropdown-subitem/use-dropdown-subitem.mjs +1 -0
  83. package/dist/components/filterbar/Filterbar.vue +100 -0
  84. package/dist/components/filterbar/Filterbar.vue.d.ts +33 -0
  85. package/dist/components/filterbar/pinned/Date.vue +99 -0
  86. package/dist/components/filterbar/pinned/Date.vue.d.ts +67 -0
  87. package/dist/components/filterbar/pinned/Multiselect.vue +109 -0
  88. package/dist/components/filterbar/pinned/Multiselect.vue.d.ts +42 -0
  89. package/dist/components/filterbar/pinned/Select.vue +95 -0
  90. package/dist/components/filterbar/pinned/Select.vue.d.ts +42 -0
  91. package/dist/components/filterbar/pinned/Toggle.vue +76 -0
  92. package/dist/components/filterbar/pinned/Toggle.vue.d.ts +57 -0
  93. package/dist/components/filterbar/use-filterbar.d.ts +45 -0
  94. package/dist/components/filterbar/use-filterbar.mjs +7 -0
  95. package/dist/components/global/use-singleton.d.ts +6 -0
  96. package/dist/components/global/use-singleton.mjs +52 -0
  97. package/dist/components/heading/Heading.vue +59 -0
  98. package/dist/components/heading/Heading.vue.d.ts +19 -0
  99. package/dist/components/input/Input.vue +54 -0
  100. package/dist/components/input/Input.vue.d.ts +32 -0
  101. package/dist/components/input/InputGroup.vue +25 -0
  102. package/dist/components/input/use-input.d.ts +5 -0
  103. package/dist/components/input/use-input.mjs +20 -0
  104. package/dist/components/label/Label.vue +221 -0
  105. package/dist/components/label/Label.vue.d.ts +51 -0
  106. package/dist/components/modal/Modal.vue +217 -0
  107. package/dist/components/modal/Modal.vue.d.ts +75 -0
  108. package/dist/components/modal/assets/images/img-modal-banner-sheet.jpg +0 -0
  109. package/dist/components/nav/Nav.vue +324 -0
  110. package/dist/components/nav/Nav.vue.d.ts +73 -0
  111. package/dist/components/nav/NavItem.vue +149 -0
  112. package/dist/components/nav/NavItem.vue.d.ts +47 -0
  113. package/dist/components/nav/NavItemDropdown.vue +56 -0
  114. package/dist/components/nav/NavItemDropdown.vue.d.ts +23 -0
  115. package/dist/components/nav/NavSubItem.vue +137 -0
  116. package/dist/components/nav/NavSubItem.vue.d.ts +26 -0
  117. package/dist/components/overlay/Overlay.vue +61 -0
  118. package/dist/components/overlay/Overlay.vue.d.ts +7 -0
  119. package/dist/components/overlay/assets/icon-white.svg +1 -0
  120. package/dist/components/overlay/use-overlay.d.ts +2 -0
  121. package/dist/components/overlay/use-overlay.mjs +8 -0
  122. package/dist/components/overlay/utils/use-loading.d.ts +4 -0
  123. package/dist/components/overlay/utils/use-loading.mjs +27 -0
  124. package/dist/components/radio/Radio.vue +194 -0
  125. package/dist/components/radio/Radio.vue.d.ts +81 -0
  126. package/dist/components/radio/use-radio.d.ts +3 -0
  127. package/dist/components/radio/use-radio.mjs +17 -0
  128. package/dist/components/select/Select.vue +282 -0
  129. package/dist/components/select/Select.vue.d.ts +110 -0
  130. package/dist/components/select/adapter/adapter.d.ts +16 -0
  131. package/dist/components/select/adapter/adapter.mjs +20 -0
  132. package/dist/components/select/adapter/async-adapter.d.ts +5 -0
  133. package/dist/components/select/adapter/async-adapter.mjs +67 -0
  134. package/dist/components/select/adapter/basic-adapter.d.ts +5 -0
  135. package/dist/components/select/adapter/basic-adapter.mjs +13 -0
  136. package/dist/components/select/adapter/fuzzy-adapter.d.ts +2 -0
  137. package/dist/components/select/adapter/fuzzy-adapter.mjs +24 -0
  138. package/dist/components/select/demo/api/province.d.ts +5 -0
  139. package/dist/components/select/demo/api/province.mjs +138 -0
  140. package/dist/components/select/demo/api/regencies/11.d.ts +6 -0
  141. package/dist/components/select/demo/api/regencies/11.mjs +117 -0
  142. package/dist/components/select/demo/api/regencies/12.d.ts +6 -0
  143. package/dist/components/select/demo/api/regencies/12.mjs +167 -0
  144. package/dist/components/select/demo/api/regencies/13.d.ts +6 -0
  145. package/dist/components/select/demo/api/regencies/13.mjs +97 -0
  146. package/dist/components/select/demo/api/regencies/14.d.ts +6 -0
  147. package/dist/components/select/demo/api/regencies/14.mjs +62 -0
  148. package/dist/components/select/demo/api/regencies/15.d.ts +6 -0
  149. package/dist/components/select/demo/api/regencies/15.mjs +57 -0
  150. package/dist/components/select/demo/api/regencies/16.d.ts +6 -0
  151. package/dist/components/select/demo/api/regencies/16.mjs +87 -0
  152. package/dist/components/select/demo/api/regencies/17.d.ts +6 -0
  153. package/dist/components/select/demo/api/regencies/17.mjs +52 -0
  154. package/dist/components/select/demo/api/regencies/18.d.ts +6 -0
  155. package/dist/components/select/demo/api/regencies/18.mjs +77 -0
  156. package/dist/components/select/demo/api/regencies/19.d.ts +6 -0
  157. package/dist/components/select/demo/api/regencies/19.mjs +37 -0
  158. package/dist/components/select/demo/api/regencies/21.d.ts +6 -0
  159. package/dist/components/select/demo/api/regencies/21.mjs +37 -0
  160. package/dist/components/select/demo/api/regencies/31.d.ts +6 -0
  161. package/dist/components/select/demo/api/regencies/31.mjs +32 -0
  162. package/dist/components/select/demo/api/regencies/32.d.ts +6 -0
  163. package/dist/components/select/demo/api/regencies/32.mjs +137 -0
  164. package/dist/components/select/demo/api/regencies/33.d.ts +6 -0
  165. package/dist/components/select/demo/api/regencies/33.mjs +177 -0
  166. package/dist/components/select/demo/api/regencies/34.d.ts +6 -0
  167. package/dist/components/select/demo/api/regencies/34.mjs +27 -0
  168. package/dist/components/select/demo/api/regencies/35.d.ts +6 -0
  169. package/dist/components/select/demo/api/regencies/35.mjs +192 -0
  170. package/dist/components/select/demo/api/regencies/36.d.ts +6 -0
  171. package/dist/components/select/demo/api/regencies/36.mjs +42 -0
  172. package/dist/components/select/demo/api/regencies/51.d.ts +6 -0
  173. package/dist/components/select/demo/api/regencies/51.mjs +47 -0
  174. package/dist/components/select/demo/api/regencies/52.d.ts +6 -0
  175. package/dist/components/select/demo/api/regencies/52.mjs +52 -0
  176. package/dist/components/select/demo/api/regencies/53.d.ts +6 -0
  177. package/dist/components/select/demo/api/regencies/53.mjs +112 -0
  178. package/dist/components/select/demo/api/regencies/61.d.ts +6 -0
  179. package/dist/components/select/demo/api/regencies/61.mjs +72 -0
  180. package/dist/components/select/demo/api/regencies/62.d.ts +6 -0
  181. package/dist/components/select/demo/api/regencies/62.mjs +72 -0
  182. package/dist/components/select/demo/api/regencies/63.d.ts +6 -0
  183. package/dist/components/select/demo/api/regencies/63.mjs +67 -0
  184. package/dist/components/select/demo/api/regencies/64.d.ts +6 -0
  185. package/dist/components/select/demo/api/regencies/64.mjs +52 -0
  186. package/dist/components/select/demo/api/regencies/65.d.ts +6 -0
  187. package/dist/components/select/demo/api/regencies/65.mjs +27 -0
  188. package/dist/components/select/demo/api/regencies/71.d.ts +6 -0
  189. package/dist/components/select/demo/api/regencies/71.mjs +77 -0
  190. package/dist/components/select/demo/api/regencies/72.d.ts +6 -0
  191. package/dist/components/select/demo/api/regencies/72.mjs +67 -0
  192. package/dist/components/select/demo/api/regencies/73.d.ts +6 -0
  193. package/dist/components/select/demo/api/regencies/73.mjs +122 -0
  194. package/dist/components/select/demo/api/regencies/74.d.ts +6 -0
  195. package/dist/components/select/demo/api/regencies/74.mjs +87 -0
  196. package/dist/components/select/demo/api/regencies/75.d.ts +6 -0
  197. package/dist/components/select/demo/api/regencies/75.mjs +32 -0
  198. package/dist/components/select/demo/api/regencies/76.d.ts +6 -0
  199. package/dist/components/select/demo/api/regencies/76.mjs +32 -0
  200. package/dist/components/select/demo/api/regencies/81.d.ts +6 -0
  201. package/dist/components/select/demo/api/regencies/81.mjs +57 -0
  202. package/dist/components/select/demo/api/regencies/82.d.ts +6 -0
  203. package/dist/components/select/demo/api/regencies/82.mjs +52 -0
  204. package/dist/components/select/demo/api/regencies/91.d.ts +6 -0
  205. package/dist/components/select/demo/api/regencies/91.mjs +67 -0
  206. package/dist/components/select/demo/api/regencies/94.d.ts +6 -0
  207. package/dist/components/select/demo/api/regencies/94.mjs +147 -0
  208. package/dist/components/select/demo/get-region.d.ts +11 -0
  209. package/dist/components/select/demo/get-region.mjs +19 -0
  210. package/dist/components/select/use-select.d.ts +10 -0
  211. package/dist/components/select/use-select.mjs +3 -0
  212. package/dist/components/select/utils/use-on-scroll.d.ts +2 -0
  213. package/dist/components/select/utils/use-on-scroll.mjs +9 -0
  214. package/dist/components/select/utils/use-on-typing.d.ts +3 -0
  215. package/dist/components/select/utils/use-on-typing.mjs +8 -0
  216. package/dist/components/sidebar/Sidebar.vue +92 -0
  217. package/dist/components/sidebar/Sidebar.vue.d.ts +51 -0
  218. package/dist/components/sidebar/SidebarBrand.vue +53 -0
  219. package/dist/components/sidebar/SidebarBrand.vue.d.ts +14 -0
  220. package/dist/components/sidebar/SidebarNav.vue +151 -0
  221. package/dist/components/sidebar/SidebarNav.vue.d.ts +36 -0
  222. package/dist/components/sidebar/assets/images/icon-flag.svg +1 -0
  223. package/dist/components/sidebar/assets/images/logo-privy-icon.svg +1 -0
  224. package/dist/components/sidebar/assets/images/logo-privy.svg +1 -0
  225. package/dist/components/sidebar-menu/SidebarMenu.vue +94 -0
  226. package/dist/components/sidebar-menu/SidebarMenu.vue.d.ts +43 -0
  227. package/dist/components/sidebar-menu/assets/images/img-flag.svg +1 -0
  228. package/dist/components/sidebar-menu/use-sidebar-menu.d.ts +21 -0
  229. package/dist/components/sidebar-menu/use-sidebar-menu.mjs +3 -0
  230. package/dist/components/signature-draw/SignatureDraw.vue +69 -0
  231. package/dist/components/signature-draw/SignatureDraw.vue.d.ts +82 -0
  232. package/dist/components/signature-draw/SignatureDrawDesktop.vue +152 -0
  233. package/dist/components/signature-draw/SignatureDrawDesktop.vue.d.ts +66 -0
  234. package/dist/components/signature-draw/SignatureDrawMobile.vue +203 -0
  235. package/dist/components/signature-draw/SignatureDrawMobile.vue.d.ts +89 -0
  236. package/dist/components/signature-draw/assets/empty-img.png +0 -0
  237. package/dist/components/signature-draw/utils/canvas.d.ts +35 -0
  238. package/dist/components/signature-draw/utils/canvas.mjs +47 -0
  239. package/dist/components/signature-draw/utils/rotate-image.d.ts +6 -0
  240. package/dist/components/signature-draw/utils/rotate-image.mjs +12 -0
  241. package/dist/components/signature-draw/utils/smooth-line.d.ts +36 -0
  242. package/dist/components/signature-draw/utils/smooth-line.mjs +36 -0
  243. package/dist/components/signature-draw/utils/straight-line.d.ts +8 -0
  244. package/dist/components/signature-draw/utils/straight-line.mjs +22 -0
  245. package/dist/components/signature-draw/utils/use-draw.d.ts +7 -0
  246. package/dist/components/signature-draw/utils/use-draw.mjs +24 -0
  247. package/dist/components/signature-text/SignatureText.vue +104 -0
  248. package/dist/components/signature-text/SignatureText.vue.d.ts +70 -0
  249. package/dist/components/signature-text/sample/sample-signature.png +0 -0
  250. package/dist/components/signature-text/utils/formatter.d.ts +2 -0
  251. package/dist/components/signature-text/utils/formatter.mjs +8 -0
  252. package/dist/components/signature-text/utils/generate-text.d.ts +8 -0
  253. package/dist/components/signature-text/utils/generate-text.mjs +33 -0
  254. package/dist/components/signature-text/utils/load-font.d.ts +1 -0
  255. package/dist/components/signature-text/utils/load-font.mjs +14 -0
  256. package/dist/components/spinner/Spinner.vue +141 -0
  257. package/dist/components/spinner/Spinner.vue.d.ts +2 -0
  258. package/dist/components/spinner/SpinnerRing.vue +28 -0
  259. package/dist/components/spinner/SpinnerRing.vue.d.ts +2 -0
  260. package/dist/components/subheading/Subheading.vue +66 -0
  261. package/dist/components/subheading/Subheading.vue.d.ts +28 -0
  262. package/dist/components/table/Table.vue +257 -0
  263. package/dist/components/table/Table.vue.d.ts +71 -0
  264. package/dist/components/table/use-table.d.ts +23 -0
  265. package/dist/components/table/use-table.mjs +16 -0
  266. package/dist/components/tabs/Tab.vue +28 -0
  267. package/dist/components/tabs/Tab.vue.d.ts +23 -0
  268. package/dist/components/tabs/TabContent.vue +27 -0
  269. package/dist/components/tabs/TabContent.vue.d.ts +14 -0
  270. package/dist/components/tabs/Tabs.vue +194 -0
  271. package/dist/components/tabs/Tabs.vue.d.ts +79 -0
  272. package/dist/components/textarea/Textarea.vue +158 -0
  273. package/dist/components/textarea/Textarea.vue.d.ts +95 -0
  274. package/dist/components/toast/Toast.vue +228 -0
  275. package/dist/components/toast/Toast.vue.d.ts +56 -0
  276. package/dist/components/toast/ToastContainer.vue +63 -0
  277. package/dist/components/toast/ToastContainer.vue.d.ts +15 -0
  278. package/dist/components/toast/use-toast.d.ts +11 -0
  279. package/dist/components/toast/use-toast.mjs +5 -0
  280. package/dist/components/toggle/Toggle.vue +220 -0
  281. package/dist/components/toggle/Toggle.vue.d.ts +104 -0
  282. package/dist/components/truncate/Truncate.vue +75 -0
  283. package/dist/components/truncate/Truncate.vue.d.ts +64 -0
  284. package/dist/components/utils/color.d.ts +12 -0
  285. package/dist/components/utils/color.mjs +10 -0
  286. package/dist/components/utils/value.d.ts +8 -0
  287. package/dist/components/utils/value.mjs +6 -0
  288. package/dist/components/utils/vnode.d.ts +2 -0
  289. package/dist/components/utils/vnode.mjs +15 -0
  290. package/dist/core/index.cjs +75 -0
  291. package/dist/core/index.d.ts +8 -0
  292. package/dist/core/index.mjs +25 -0
  293. package/dist/module.cjs +5 -0
  294. package/dist/module.d.ts +5 -0
  295. package/dist/module.json +5 -0
  296. package/dist/module.mjs +25 -0
  297. package/dist/types.d.ts +6 -0
  298. package/package.json +40 -0
@@ -0,0 +1,32 @@
1
+ import { PropType } from 'vue-demi';
2
+ declare type StyleVariant = 'info' | 'danger';
3
+ declare const _default: import("vue-demi").DefineComponent<{
4
+ variant: {
5
+ type: PropType<StyleVariant>;
6
+ default: string;
7
+ };
8
+ dismissable: {
9
+ type: BooleanConstructor;
10
+ default: boolean;
11
+ };
12
+ }, {
13
+ classNames: import("vue-demi").ComputedRef<string[]>;
14
+ show: import("vue-demi").Ref<boolean>;
15
+ icon: import("vue-demi").ComputedRef<any>;
16
+ close: () => void;
17
+ }, unknown, {}, {}, import("vue-demi").ComponentOptionsMixin, import("vue-demi").ComponentOptionsMixin, "dismissed"[], "dismissed", import("vue-demi").VNodeProps & import("vue-demi").AllowedComponentProps & import("vue-demi").ComponentCustomProps, Readonly<import("vue-demi").ExtractPropTypes<{
18
+ variant: {
19
+ type: PropType<StyleVariant>;
20
+ default: string;
21
+ };
22
+ dismissable: {
23
+ type: BooleanConstructor;
24
+ default: boolean;
25
+ };
26
+ }>> & {
27
+ onDismissed?: (...args: any[]) => any;
28
+ }, {
29
+ variant: StyleVariant;
30
+ dismissable: boolean;
31
+ }>;
32
+ export default _default;
@@ -0,0 +1,247 @@
1
+ <template>
2
+ <button
3
+ data-testid="btn"
4
+ :class="classNames">
5
+ <slot />
6
+ </button>
7
+ </template>
8
+
9
+ <script>
10
+ import {
11
+ computed,
12
+ defineComponent
13
+ } from "vue-demi";
14
+ export default defineComponent({
15
+ props: {
16
+ variant: {
17
+ type: String,
18
+ default: "solid"
19
+ },
20
+ color: {
21
+ type: String,
22
+ default: "primary"
23
+ },
24
+ size: {
25
+ type: String,
26
+ default: "md"
27
+ },
28
+ icon: {
29
+ type: Boolean,
30
+ default: false
31
+ },
32
+ pill: {
33
+ type: Boolean,
34
+ default: false
35
+ }
36
+ },
37
+ setup(props) {
38
+ const classNames = computed(() => {
39
+ const result = ["btn"];
40
+ if (props.color)
41
+ result.push(`btn--${props.color}`);
42
+ if (props.variant)
43
+ result.push(`btn--${props.variant}`);
44
+ if (props.size)
45
+ result.push(`btn--${props.size}`);
46
+ if (props.icon)
47
+ result.push("btn--icon");
48
+ if (props.pill)
49
+ result.push("btn--pill");
50
+ return result;
51
+ });
52
+ return { classNames };
53
+ }
54
+ });
55
+ </script>
56
+
57
+ <style lang="postcss">
58
+ /**
59
+ * Component Name: Button
60
+ * Component URI : https://www.figma.com/file/JIYmbyRYZHc9bnVp6Npm9K/B-A-S-E-%2F-Components?node-id=291%3A3945
61
+ * Date Created : Feb 01, 2022
62
+ * Last Update : June 20, 2022
63
+ */
64
+ .btn {
65
+ @apply inline-flex font-medium disabled:opacity-50 disabled:pointer-events-none;
66
+
67
+ > svg {
68
+ @apply self-baseline;
69
+ }
70
+
71
+ /*
72
+ * Button has 4 different sizing
73
+ * eg: xs, sm, md, and lg
74
+ */
75
+ &--xs {
76
+ @apply px-2 py-1 gap-1 text-sm rounded-xs;
77
+ }
78
+
79
+ &--sm {
80
+ @apply px-4 py-2 gap-2 text-base rounded-sm;
81
+ }
82
+
83
+ &--md {
84
+ @apply px-5 py-3 gap-3 text-base rounded;
85
+ }
86
+
87
+ &--lg {
88
+ @apply px-8 py-5 gap-4 text-base rounded;
89
+ }
90
+
91
+ /*
92
+ * Button solid is the
93
+ * default style variant
94
+ */
95
+ &--solid {
96
+ @apply border border-solid hover:shadow-lg focus:shadow-none active:shadow-none text-white;
97
+
98
+ &.btn {
99
+ &--primary {
100
+ @apply bg-primary-100 hover:bg-primary-hovered focus:bg-primary-focused active:bg-primary-focused;
101
+ }
102
+
103
+ &--secondary {
104
+ @apply bg-secondary-100 hover:bg-secondary-hovered focus:bg-secondary-focused active:bg-secondary-focused;
105
+ }
106
+
107
+ &--success {
108
+ @apply bg-success-100 hover:bg-success-hovered focus:bg-success-focused active:bg-success-focused;
109
+ }
110
+
111
+ &--info {
112
+ @apply bg-info-100 hover:bg-info-hovered focus:bg-info-focused active:bg-info-focused;
113
+ }
114
+
115
+ &--warning {
116
+ @apply bg-warning-100 hover:bg-warning-hovered focus:bg-warning-focused active:bg-warning-focused;
117
+ }
118
+
119
+ &--danger {
120
+ @apply bg-danger-100 hover:bg-danger-hovered focus:border-danger-focused active:bg-danger-focused;
121
+ }
122
+
123
+ &--gold {
124
+ @apply bg-gold-100 hover:bg-gold-hovered focus:bg-gold-focused active:bg-gold-focused;
125
+ }
126
+ }
127
+ }
128
+
129
+ &--outline,
130
+ &--ghost {
131
+ @apply border border-solid text-body-75 hover:text-body-100 hover:shadow-lg focus:shadow-none active:shadow-none focus:text-body-100 active:text-body-100;
132
+ }
133
+
134
+ /**
135
+ * Provide colors in
136
+ * button outline variant
137
+ * and border colors for
138
+ * solid variant
139
+ */
140
+ &--solid,
141
+ &--outline {
142
+ &.btn {
143
+ &--primary {
144
+ @apply border-primary-100 hover:border-primary-hovered active:border-primary-focused focus:border-primary-focused;
145
+ }
146
+
147
+ &--secondary {
148
+ @apply border-secondary-100 hover:border-secondary-hovered active:border-secondary-focused focus:border-secondary-focused;
149
+ }
150
+
151
+ &--success {
152
+ @apply border-success-100 hover:border-success-hovered active:border-success-focused focus:border-success-focused;
153
+ }
154
+
155
+ &--info {
156
+ @apply border-info-100 hover:border-info-hovered active:border-info-focused focus:border-info-focused;
157
+ }
158
+
159
+ &--warning {
160
+ @apply border-warning-100 hover:border-warning-hovered active:border-warning-focused focus:border-warning-focused;
161
+ }
162
+
163
+ &--danger {
164
+ @apply border-danger-100 hover:border-danger-hovered active:border-danger-focused focus:border-danger-focused;
165
+ }
166
+
167
+ &--gold {
168
+ @apply border-gold-100 hover:border-gold-hovered active:border-gold-focused focus:border-gold-focused;
169
+ }
170
+ }
171
+ }
172
+
173
+ /**
174
+ * Button ghost variant
175
+ */
176
+ &--ghost {
177
+ @apply border-transparent bg-transparent hover:border-black hover:border-opacity-5 hover:bg-black hover:bg-opacity-5 active:bg-black active:bg-opacity-5 active:border-black active:border-opacity-5 focus:bg-black focus:bg-opacity-5 focus:border-black focus:border-opacity-5;
178
+ }
179
+
180
+ /**
181
+ * Provide text colors
182
+ * in button link variant
183
+ */
184
+ &--link {
185
+ @apply border border-transparent underline hover:underline;
186
+
187
+ &.btn {
188
+ &--primary {
189
+ @apply text-primary-100 hover:text-primary-hovered active:text-primary-focused focus:text-primary-focused;
190
+ }
191
+
192
+ &--secondary {
193
+ @apply text-secondary-100 hover:text-secondary-hovered active:text-secondary-focused focus:text-secondary-focused;
194
+ }
195
+
196
+ &--success {
197
+ @apply text-success-100 hover:text-success-hovered active:text-success-focused focus:text-success-focused;
198
+ }
199
+
200
+ &--info {
201
+ @apply text-info-100 hover:text-info-hovered active:text-info-focused focus:text-info-focused;
202
+ }
203
+
204
+ &--warning {
205
+ @apply text-warning-100 hover:text-warning-hovered active:text-warning-focused focus:text-warning-focused;
206
+ }
207
+
208
+ &--danger {
209
+ @apply text-danger-100 hover:text-danger-hovered active:text-danger-focused focus:text-danger-focused;
210
+ }
211
+
212
+ &--gold {
213
+ @apply text-gold-100 hover:text-gold-hovered active:text-gold-focused focus:text-gold-focused;
214
+ }
215
+ }
216
+ }
217
+
218
+ &--input {
219
+ @apply border border-solid border-secondary-25 text-subtext-75 bg-white hover:bg-secondary-25 hover:text-body-75 focus:bg-secondary-25 focus:text-body-75 active:border-secondary-75 active:ring active:ring-secondary-25 active:ring-opacity-30;
220
+ }
221
+
222
+ /**
223
+ * Button icon variant
224
+ */
225
+ &--icon {
226
+ &.btn--xs {
227
+ @apply p-1;
228
+ }
229
+
230
+ &.btn--sm {
231
+ @apply p-2;
232
+ }
233
+
234
+ &.btn--md {
235
+ @apply p-3;
236
+ }
237
+
238
+ &.btn--lg {
239
+ @apply p-4;
240
+ }
241
+ }
242
+
243
+ &--pill {
244
+ @apply rounded-full;
245
+ }
246
+ }
247
+ </style>
@@ -0,0 +1,56 @@
1
+ import { PropType } from 'vue-demi';
2
+ export declare type StyleVariant = 'solid' | 'outline' | 'ghost' | 'link' | 'input';
3
+ export declare type ColorVariant = 'primary' | 'secondary' | 'success' | 'info' | 'warning' | 'danger' | 'gold';
4
+ export declare type SizeVariant = 'xs' | 'sm' | 'md' | 'lg';
5
+ declare const _default: import("vue-demi").DefineComponent<{
6
+ variant: {
7
+ type: PropType<StyleVariant>;
8
+ default: string;
9
+ };
10
+ color: {
11
+ type: PropType<ColorVariant>;
12
+ default: string;
13
+ };
14
+ size: {
15
+ type: PropType<SizeVariant>;
16
+ default: string;
17
+ };
18
+ icon: {
19
+ type: BooleanConstructor;
20
+ default: boolean;
21
+ };
22
+ pill: {
23
+ type: BooleanConstructor;
24
+ default: boolean;
25
+ };
26
+ }, {
27
+ classNames: import("vue-demi").ComputedRef<string[]>;
28
+ }, 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<{
29
+ variant: {
30
+ type: PropType<StyleVariant>;
31
+ default: string;
32
+ };
33
+ color: {
34
+ type: PropType<ColorVariant>;
35
+ default: string;
36
+ };
37
+ size: {
38
+ type: PropType<SizeVariant>;
39
+ default: string;
40
+ };
41
+ icon: {
42
+ type: BooleanConstructor;
43
+ default: boolean;
44
+ };
45
+ pill: {
46
+ type: BooleanConstructor;
47
+ default: boolean;
48
+ };
49
+ }>>, {
50
+ icon: boolean;
51
+ variant: StyleVariant;
52
+ size: SizeVariant;
53
+ color: ColorVariant;
54
+ pill: boolean;
55
+ }>;
56
+ export default _default;
@@ -0,0 +1,161 @@
1
+ <template>
2
+ <div
3
+ data-testid="btn-group"
4
+ :class="classNames">
5
+ <slot />
6
+ </div>
7
+ </template>
8
+
9
+ <script>
10
+ import {
11
+ defineComponent,
12
+ computed
13
+ } from "vue-demi";
14
+ export default defineComponent({
15
+ props: {
16
+ size: {
17
+ type: String,
18
+ default: "md"
19
+ },
20
+ pill: {
21
+ type: Boolean,
22
+ default: false
23
+ }
24
+ },
25
+ setup(props) {
26
+ const classNames = computed(() => {
27
+ const result = ["btn-group"];
28
+ if (props.size)
29
+ result.push(`btn-group--${props.size}`);
30
+ if (props.pill)
31
+ result.push("btn-group--pill");
32
+ return result;
33
+ });
34
+ return { classNames };
35
+ }
36
+ });
37
+ </script>
38
+
39
+ <style lang="postcss">
40
+ .btn-group {
41
+ @apply inline-flex items-center;
42
+
43
+ &--xs {
44
+ .btn {
45
+ &:not(.btn--icon),
46
+ .dropdown > & {
47
+ @apply px-2 py-1 gap-1 text-sm;
48
+ }
49
+
50
+ &:first-child,
51
+ .dropdown:first-child {
52
+ @apply rounded-l-xs;
53
+ }
54
+
55
+ &:last-child {
56
+ @apply rounded-r-xs;
57
+ }
58
+ }
59
+ }
60
+
61
+ &--sm {
62
+ .btn {
63
+ &:not(.btn--icon),
64
+ .dropdown .btn {
65
+ @apply px-4 py-2 gap-2 text-base;
66
+
67
+ &:first-child {
68
+ @apply rounded-l-sm;
69
+ }
70
+
71
+ &:last-child {
72
+ @apply rounded-r-sm;
73
+ }
74
+ }
75
+ }
76
+ }
77
+
78
+ &--md {
79
+ .btn {
80
+ &:not(.btn--icon),
81
+ .dropdown > .btn {
82
+ @apply px-5 py-3 gap-3 text-base;
83
+ }
84
+ }
85
+ }
86
+
87
+ &--lg {
88
+ .btn {
89
+ &:not(.btn--icon),
90
+ .dropdown .btn {
91
+ @apply px-8 py-5 gap-4 text-base;
92
+ }
93
+ }
94
+ }
95
+
96
+ &--md,
97
+ &--lg {
98
+ .btn {
99
+ &:first-child {
100
+ @apply rounded-l;
101
+ }
102
+
103
+ &:last-child {
104
+ @apply rounded-r;
105
+ }
106
+ }
107
+
108
+ .dropdown {
109
+ &:first-child > .btn {
110
+ @apply rounded-l;
111
+ }
112
+
113
+ &:last-child > .btn {
114
+ @apply rounded-r;
115
+ }
116
+ }
117
+ }
118
+
119
+ &--pill {
120
+ .btn,
121
+ .dropdown .btn {
122
+ &:first-child {
123
+ @apply rounded-l-full;
124
+ }
125
+
126
+ &:last-child {
127
+ @apply rounded-r-full;
128
+ }
129
+ }
130
+ }
131
+
132
+ .btn {
133
+ @apply rounded-none;
134
+
135
+ &--solid,
136
+ &--ghost {
137
+ &:not(:last-child) {
138
+ &.btn--primary,
139
+ &.btn--secondary,
140
+ &.btn--success,
141
+ &.btn--warning,
142
+ &.btn--info,
143
+ &.btn--danger,
144
+ &.btn--gold {
145
+ @apply border-r-black border-opacity-10;
146
+ }
147
+ }
148
+ }
149
+
150
+ &--outline,
151
+ &--ghost {
152
+ @apply ml-[-1px];
153
+ }
154
+ }
155
+
156
+ .dropdown > .btn {
157
+ @apply rounded-none;
158
+ }
159
+
160
+ }
161
+ </style>
@@ -0,0 +1,26 @@
1
+ import { PropType } from 'vue-demi';
2
+ declare const _default: import("vue-demi").DefineComponent<{
3
+ size: {
4
+ type: PropType<SizeVariant>;
5
+ default: string;
6
+ };
7
+ pill: {
8
+ type: BooleanConstructor;
9
+ default: boolean;
10
+ };
11
+ }, {
12
+ classNames: import("vue-demi").ComputedRef<string[]>;
13
+ }, 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<{
14
+ size: {
15
+ type: PropType<SizeVariant>;
16
+ default: string;
17
+ };
18
+ pill: {
19
+ type: BooleanConstructor;
20
+ default: boolean;
21
+ };
22
+ }>>, {
23
+ size: SizeVariant;
24
+ pill: boolean;
25
+ }>;
26
+ export default _default;