@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,3 @@
1
+ export function defineAdapter(adapter) {
2
+ return adapter;
3
+ }
@@ -0,0 +1,3 @@
1
+ import { ChartAdapter } from './adapter';
2
+ export declare type ChartType = 'line' | 'bar' | 'pie';
3
+ export default function getAdapter(type: ChartType): ChartAdapter;
@@ -0,0 +1,10 @@
1
+ import Line from "./line.mjs";
2
+ import Pie from "./pie.mjs";
3
+ const CHART_ADAPTER_MAP = {
4
+ line: Line,
5
+ bar: Line,
6
+ pie: Pie
7
+ };
8
+ export default function getAdapter(type) {
9
+ return CHART_ADAPTER_MAP[type];
10
+ }
@@ -0,0 +1,2 @@
1
+ declare const _default: import("./adapter").ChartAdapter;
2
+ export default _default;
@@ -0,0 +1,63 @@
1
+ import { startCase } from "lodash-es";
2
+ import { defineAdapter } from "./adapter.mjs";
3
+ import { colorHash } from "../../avatar/utils/color-hash.mjs";
4
+ import { findAllChildren } from "../../utils/vnode.mjs";
5
+ export default defineAdapter({
6
+ getDatasets(vnodes) {
7
+ const sets = findAllChildren(vnodes, "ChartSet");
8
+ const datasets = /* @__PURE__ */ new Map();
9
+ const labels = [];
10
+ for (const set of sets) {
11
+ const values = findAllChildren(set.children.default(), "ChartVal");
12
+ for (const value of values) {
13
+ const item = datasets.get(value.props.name);
14
+ const color = value.props.color ?? colorHash(value.props.name).at(1);
15
+ if (item) {
16
+ item.data.push(value.props.value);
17
+ item.borderColor.push(color);
18
+ item.backgroundColor.push(color);
19
+ } else {
20
+ datasets.set(value.props.name, {
21
+ label: startCase(value.props.name),
22
+ data: [value.props.value],
23
+ borderColor: [color],
24
+ backgroundColor: [color]
25
+ });
26
+ }
27
+ }
28
+ labels.push(startCase(set.props.name));
29
+ }
30
+ return { labels, datasets: [...datasets.values()] };
31
+ },
32
+ getStyle() {
33
+ return {
34
+ scales: {
35
+ x: {
36
+ ticks: {
37
+ color: "#9CA3AF",
38
+ font: {
39
+ family: "DM Sans",
40
+ size: 12,
41
+ weight: "600"
42
+ }
43
+ },
44
+ grid: { borderColor: "#BFBFBF" }
45
+ },
46
+ y: {
47
+ ticks: {
48
+ color: "#9CA3AF",
49
+ font: {
50
+ family: "DM Sans",
51
+ size: 12,
52
+ weight: "600"
53
+ }
54
+ },
55
+ grid: {
56
+ borderColor: "#BFBFBF",
57
+ borderDash: [4]
58
+ }
59
+ }
60
+ }
61
+ };
62
+ }
63
+ });
@@ -0,0 +1,2 @@
1
+ declare const _default: import("./adapter").ChartAdapter;
2
+ export default _default;
@@ -0,0 +1,33 @@
1
+ import { startCase } from "lodash-es";
2
+ import { colorHash } from "../../avatar/utils/color-hash.mjs";
3
+ import { findAllChildren } from "../../utils/vnode.mjs";
4
+ import { defineAdapter } from "./adapter.mjs";
5
+ export default defineAdapter({
6
+ getDatasets(vnodes) {
7
+ const sets = findAllChildren(vnodes, "ChartSet");
8
+ const datasets = /* @__PURE__ */ new Map();
9
+ const labels = [];
10
+ for (const set of sets) {
11
+ const values = findAllChildren(set.children.default(), "ChartVal");
12
+ for (const value of values) {
13
+ const item = datasets.get(set.props.name);
14
+ const color = value.props.color ?? colorHash(value.props.name).at(1);
15
+ if (item) {
16
+ item.data.push(value.props.value);
17
+ item.backgroundColor.push(color);
18
+ } else {
19
+ datasets.set(set.props.name, {
20
+ label: startCase(set.props.name),
21
+ data: [value.props.value],
22
+ backgroundColor: [color]
23
+ });
24
+ }
25
+ labels.push(startCase(value.props.name));
26
+ }
27
+ }
28
+ return { labels, datasets: [...datasets.values()] };
29
+ },
30
+ getStyle() {
31
+ return {};
32
+ }
33
+ });
@@ -0,0 +1,2 @@
1
+ import type { ChartData, ChartType, ChartOptions, Chart } from 'chart.js/auto';
2
+ export declare function createChart(target: HTMLCanvasElement, type: ChartType, data: ChartData, options: ChartOptions): Promise<Chart>;
@@ -0,0 +1,9 @@
1
+ export async function createChart(target, type, data, options) {
2
+ const { default: Chart } = await import("chart.js/auto");
3
+ const instance = new Chart(target, {
4
+ type,
5
+ data,
6
+ options
7
+ });
8
+ return instance;
9
+ }
@@ -0,0 +1,176 @@
1
+ <template>
2
+ <label
3
+ data-testid="checkbox"
4
+ class="checkbox"
5
+ :class="classNames"
6
+ @click.prevent="toggle">
7
+ <input
8
+ type="checkbox"
9
+ :checked="model"
10
+ :name="name"
11
+ :disabled="disabled || readonly"
12
+ :value="value">
13
+ <span class="checkbox__icon">
14
+ <!-- checked icon -->
15
+ <template v-if="indeterminate">
16
+ <svg
17
+ width="10"
18
+ height="10"
19
+ viewBox="0 0 14 2"
20
+ fill="none"
21
+ xmlns="http://www.w3.org/2000/svg">
22
+ <rect
23
+ width="14"
24
+ height="2"
25
+ fill="white" />
26
+ </svg>
27
+ </template>
28
+ <template v-else>
29
+ <svg
30
+ width="10"
31
+ height="10"
32
+ viewBox="0 0 14 10"
33
+ fill="none"
34
+ xmlns="http://www.w3.org/2000/svg">
35
+ <path
36
+ fill-rule="evenodd"
37
+ clip-rule="evenodd"
38
+ 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"
39
+ fill="white" />
40
+ </svg>
41
+ </template>
42
+ </span>
43
+ <span class="checkbox__label">
44
+ <slot />
45
+ </span>
46
+ </label>
47
+ </template>
48
+
49
+ <script>
50
+ import { useVModel } from "./use-checkbox";
51
+ import { computed, defineComponent } from "vue-demi";
52
+ export default defineComponent({
53
+ props: {
54
+ name: {
55
+ type: String,
56
+ default: void 0
57
+ },
58
+ modelValue: {
59
+ type: [
60
+ String,
61
+ Number,
62
+ Boolean,
63
+ Array,
64
+ Object,
65
+ Date
66
+ ],
67
+ default: false
68
+ },
69
+ value: {
70
+ type: [
71
+ String,
72
+ Number,
73
+ Boolean,
74
+ Array,
75
+ Object,
76
+ Date
77
+ ],
78
+ default: true
79
+ },
80
+ uncheckedValue: {
81
+ type: [
82
+ String,
83
+ Number,
84
+ Boolean,
85
+ Array,
86
+ Object,
87
+ Date
88
+ ],
89
+ default: false
90
+ },
91
+ checked: {
92
+ type: Boolean,
93
+ default: false
94
+ },
95
+ readonly: {
96
+ type: Boolean,
97
+ default: false
98
+ },
99
+ disabled: {
100
+ type: Boolean,
101
+ default: false
102
+ },
103
+ indeterminate: {
104
+ type: Boolean,
105
+ default: false
106
+ }
107
+ },
108
+ models: {
109
+ prop: "modelValue",
110
+ event: "update:modelValue"
111
+ },
112
+ emits: ["change", "update:modelValue"],
113
+ setup(props) {
114
+ const model = useVModel(props);
115
+ const classNames = computed(() => {
116
+ const result = [];
117
+ if (model.value)
118
+ result.push("checkbox--checked");
119
+ if (props.indeterminate)
120
+ result.push("checkbox--indeterminate");
121
+ if (props.disabled)
122
+ result.push("checkbox--disabled");
123
+ if (props.readonly)
124
+ result.push("checkbox--readonly");
125
+ return result;
126
+ });
127
+ function toggle() {
128
+ if (!props.readonly && !props.disabled)
129
+ model.value = !model.value;
130
+ }
131
+ return {
132
+ model,
133
+ classNames,
134
+ toggle
135
+ };
136
+ }
137
+ });
138
+ </script>
139
+
140
+ <style lang="postcss">
141
+ .checkbox {
142
+ @apply inline-flex gap-2 relative cursor-pointer select-none items-baseline;
143
+
144
+ & > input[type="checkbox"] {
145
+ @apply appearance-none w-0 h-0 opacity-0 absolute;
146
+ }
147
+
148
+ &__icon {
149
+ @apply w-5 h-5 border rounded-tn border-secondary-25 inline-flex items-center justify-center bg-white;
150
+
151
+ & > svg {
152
+ @apply w-3;
153
+ }
154
+ }
155
+
156
+ &--checked,
157
+ &--indeterminate {
158
+ .checkbox__icon {
159
+ @apply bg-primary-100 border-primary-100;
160
+ }
161
+ }
162
+
163
+ &--disabled {
164
+ @apply opacity-50;
165
+ }
166
+
167
+ .dropdown__menu & {
168
+ @apply px-3 py-2 cursor-pointer text-body-100 w-full select-none text-left;
169
+
170
+ &:hover,
171
+ &:focus-visible {
172
+ @apply bg-background-75;
173
+ }
174
+ }
175
+ }
176
+ </style>
@@ -0,0 +1,88 @@
1
+ export interface ChangedInteface {
2
+ value: any;
3
+ state: boolean;
4
+ }
5
+ declare const _default: import("vue-demi").DefineComponent<{
6
+ name: {
7
+ type: StringConstructor;
8
+ default: any;
9
+ };
10
+ modelValue: {
11
+ type: (ObjectConstructor | StringConstructor | ArrayConstructor | BooleanConstructor | DateConstructor | NumberConstructor)[];
12
+ default: boolean;
13
+ };
14
+ value: {
15
+ type: (ObjectConstructor | StringConstructor | ArrayConstructor | BooleanConstructor | DateConstructor | NumberConstructor)[];
16
+ default: boolean;
17
+ };
18
+ uncheckedValue: {
19
+ type: (ObjectConstructor | StringConstructor | ArrayConstructor | BooleanConstructor | DateConstructor | NumberConstructor)[];
20
+ default: boolean;
21
+ };
22
+ checked: {
23
+ type: BooleanConstructor;
24
+ default: boolean;
25
+ };
26
+ readonly: {
27
+ type: BooleanConstructor;
28
+ default: boolean;
29
+ };
30
+ disabled: {
31
+ type: BooleanConstructor;
32
+ default: boolean;
33
+ };
34
+ indeterminate: {
35
+ type: BooleanConstructor;
36
+ default: boolean;
37
+ };
38
+ }, {
39
+ model: import("vue-demi").Ref<boolean>;
40
+ classNames: import("vue-demi").ComputedRef<string[]>;
41
+ toggle: () => void;
42
+ }, unknown, {}, {}, import("vue-demi").ComponentOptionsMixin, import("vue-demi").ComponentOptionsMixin, ("change" | "update:modelValue")[], "change" | "update:modelValue", import("vue-demi").VNodeProps & import("vue-demi").AllowedComponentProps & import("vue-demi").ComponentCustomProps, Readonly<import("vue-demi").ExtractPropTypes<{
43
+ name: {
44
+ type: StringConstructor;
45
+ default: any;
46
+ };
47
+ modelValue: {
48
+ type: (ObjectConstructor | StringConstructor | ArrayConstructor | BooleanConstructor | DateConstructor | NumberConstructor)[];
49
+ default: boolean;
50
+ };
51
+ value: {
52
+ type: (ObjectConstructor | StringConstructor | ArrayConstructor | BooleanConstructor | DateConstructor | NumberConstructor)[];
53
+ default: boolean;
54
+ };
55
+ uncheckedValue: {
56
+ type: (ObjectConstructor | StringConstructor | ArrayConstructor | BooleanConstructor | DateConstructor | NumberConstructor)[];
57
+ default: boolean;
58
+ };
59
+ checked: {
60
+ type: BooleanConstructor;
61
+ default: boolean;
62
+ };
63
+ readonly: {
64
+ type: BooleanConstructor;
65
+ default: boolean;
66
+ };
67
+ disabled: {
68
+ type: BooleanConstructor;
69
+ default: boolean;
70
+ };
71
+ indeterminate: {
72
+ type: BooleanConstructor;
73
+ default: boolean;
74
+ };
75
+ }>> & {
76
+ onChange?: (...args: any[]) => any;
77
+ "onUpdate:modelValue"?: (...args: any[]) => any;
78
+ }, {
79
+ name: string;
80
+ value: string | number | boolean | unknown[] | Record<string, any> | Date;
81
+ disabled: boolean;
82
+ modelValue: string | number | boolean | unknown[] | Record<string, any> | Date;
83
+ readonly: boolean;
84
+ uncheckedValue: string | number | boolean | unknown[] | Record<string, any> | Date;
85
+ checked: boolean;
86
+ indeterminate: boolean;
87
+ }>;
88
+ export default _default;
@@ -0,0 +1,7 @@
1
+ import { InputProps } from '../input/use-input';
2
+ export interface CheckboxProps extends InputProps<unknown> {
3
+ checked: boolean;
4
+ value: unknown;
5
+ uncheckedValue: unknown;
6
+ }
7
+ export declare function useVModel(props: CheckboxProps): import("vue-demi").Ref<boolean>;
@@ -0,0 +1,37 @@
1
+ import { syncRef } from "@vueuse/shared";
2
+ import {
3
+ computed,
4
+ getCurrentInstance,
5
+ ref
6
+ } from "vue-demi";
7
+ import { valueIn, isEqual } from "../utils/value.mjs";
8
+ function isChecked(modelValue, checked) {
9
+ if (Array.isArray(modelValue))
10
+ return valueIn(modelValue, checked);
11
+ return isEqual(modelValue, checked);
12
+ }
13
+ export function useVModel(props) {
14
+ const { emit } = getCurrentInstance();
15
+ const checked = props.value;
16
+ const unchecked = props.uncheckedValue;
17
+ const localValue = ref(isChecked(props.modelValue, checked) || props.checked);
18
+ const model = computed({
19
+ get() {
20
+ return isChecked(props.modelValue, checked) || props.checked;
21
+ },
22
+ set(value) {
23
+ const newValue = value ? checked : unchecked;
24
+ if (Array.isArray(props.modelValue)) {
25
+ if (value) {
26
+ if (!valueIn(props.modelValue, newValue))
27
+ emit("update:modelValue", [...props.modelValue, newValue]);
28
+ } else
29
+ emit("update:modelValue", props.modelValue.filter((old) => !isEqual(old, checked)));
30
+ } else
31
+ emit("update:modelValue", newValue);
32
+ emit("change", value);
33
+ }
34
+ });
35
+ syncRef(localValue, model);
36
+ return localValue;
37
+ }
@@ -0,0 +1,143 @@
1
+ <template>
2
+ <Dropdown
3
+ v-model="isOpen"
4
+ class="datepicker"
5
+ data-testid="datepicker"
6
+ aria-label="datepicker"
7
+ :class="classNames"
8
+ :disabled="disabled">
9
+ <template #activator>
10
+ <Input
11
+ :value="value"
12
+ :model-value="value"
13
+ data-testid="datepicker-input"
14
+ class="datepicker__input"
15
+ :placeholder="placeholder"
16
+ :disabled="disabled"
17
+ readonly
18
+ @focus="onFocus" />
19
+ <IconCalendar
20
+ class="datepicker__icon" />
21
+ </template>
22
+
23
+ <Calendar
24
+ v-model="model"
25
+ :disabled="disabled"
26
+ :readonly="readonly"
27
+ :max="max"
28
+ :min="min"
29
+ :mode="mode"
30
+ class="datepicker__calendar"
31
+ @change="onSelected" />
32
+ </Dropdown>
33
+ </template>
34
+
35
+ <script>
36
+ import Dropdown from "../dropdown/Dropdown.vue";
37
+ import Input from "../input/Input.vue";
38
+ import Calendar from "../calendar/Calendar.vue";
39
+ import { format as formatDate, isDate } from "date-fns";
40
+ import {
41
+ computed,
42
+ defineComponent,
43
+ ref
44
+ } from "vue-demi";
45
+ import { useVModel } from "../input/use-input";
46
+ import IconCalendar from "@carbon/icons-vue/lib/calendar/16";
47
+ export default defineComponent({
48
+ components: {
49
+ Dropdown,
50
+ Input,
51
+ Calendar,
52
+ IconCalendar
53
+ },
54
+ props: {
55
+ modelValue: {
56
+ type: Date,
57
+ default: void 0
58
+ },
59
+ placeholder: {
60
+ type: String,
61
+ default: ""
62
+ },
63
+ format: {
64
+ type: String,
65
+ default: "dd/MM/yyyy"
66
+ },
67
+ disabled: {
68
+ type: Boolean,
69
+ default: void 0
70
+ },
71
+ readonly: {
72
+ type: Boolean,
73
+ default: void 0
74
+ },
75
+ max: {
76
+ type: Date,
77
+ default: void 0
78
+ },
79
+ min: {
80
+ type: Date,
81
+ default: void 0
82
+ },
83
+ mode: {
84
+ type: String,
85
+ default: "date"
86
+ }
87
+ },
88
+ models: {
89
+ prop: "modelValue",
90
+ event: "update:modelValue"
91
+ },
92
+ emits: ["change", "update:modelValue"],
93
+ setup(props, { emit }) {
94
+ const model = useVModel(props);
95
+ const isOpen = ref(false);
96
+ const value = computed(() => {
97
+ return isDate(model.value) ? formatDate(model.value, props.format) : "";
98
+ });
99
+ const classNames = computed(() => {
100
+ const result = [];
101
+ if (isOpen.value)
102
+ result.push("datepicker--open");
103
+ if (props.disabled)
104
+ result.push("datepicker--disabled");
105
+ if (props.readonly)
106
+ result.push("datepicker--readonly");
107
+ return result;
108
+ });
109
+ function onFocus() {
110
+ if (!props.disabled && !props.readonly)
111
+ isOpen.value = true;
112
+ }
113
+ function onSelected(event) {
114
+ isOpen.value = false;
115
+ emit("change", event);
116
+ }
117
+ return {
118
+ isOpen,
119
+ classNames,
120
+ model,
121
+ value,
122
+ onFocus,
123
+ onSelected
124
+ };
125
+ }
126
+ });
127
+ </script>
128
+
129
+ <style lang="postcss">
130
+ .datepicker {
131
+ &__input {
132
+ @apply pr-8 truncate;
133
+ }
134
+
135
+ &__icon {
136
+ @apply absolute right-3 top-0 bottom-0 my-auto transition-transform duration-150 text-secondary-75 pointer-events-none;
137
+ }
138
+
139
+ > .dropdown__menu {
140
+ @apply min-w-max max-h-min;
141
+ }
142
+ }
143
+ </style>
@@ -0,0 +1,88 @@
1
+ import { PropType } from 'vue-demi';
2
+ declare const _default: import("vue-demi").DefineComponent<{
3
+ modelValue: {
4
+ type: DateConstructor;
5
+ default: any;
6
+ };
7
+ placeholder: {
8
+ type: StringConstructor;
9
+ default: string;
10
+ };
11
+ format: {
12
+ type: StringConstructor;
13
+ default: string;
14
+ };
15
+ disabled: {
16
+ type: BooleanConstructor;
17
+ default: any;
18
+ };
19
+ readonly: {
20
+ type: BooleanConstructor;
21
+ default: any;
22
+ };
23
+ max: {
24
+ type: DateConstructor;
25
+ default: any;
26
+ };
27
+ min: {
28
+ type: DateConstructor;
29
+ default: any;
30
+ };
31
+ mode: {
32
+ type: PropType<"date" | "month" | "year">;
33
+ default: string;
34
+ };
35
+ }, {
36
+ isOpen: import("vue-demi").Ref<boolean>;
37
+ classNames: import("vue-demi").ComputedRef<string[]>;
38
+ model: import("vue-demi").Ref<Date>;
39
+ value: import("vue-demi").ComputedRef<string>;
40
+ onFocus: () => void;
41
+ onSelected: (event: Event) => void;
42
+ }, unknown, {}, {}, import("vue-demi").ComponentOptionsMixin, import("vue-demi").ComponentOptionsMixin, ("change" | "update:modelValue")[], "change" | "update:modelValue", import("vue-demi").VNodeProps & import("vue-demi").AllowedComponentProps & import("vue-demi").ComponentCustomProps, Readonly<import("vue-demi").ExtractPropTypes<{
43
+ modelValue: {
44
+ type: DateConstructor;
45
+ default: any;
46
+ };
47
+ placeholder: {
48
+ type: StringConstructor;
49
+ default: string;
50
+ };
51
+ format: {
52
+ type: StringConstructor;
53
+ default: string;
54
+ };
55
+ disabled: {
56
+ type: BooleanConstructor;
57
+ default: any;
58
+ };
59
+ readonly: {
60
+ type: BooleanConstructor;
61
+ default: any;
62
+ };
63
+ max: {
64
+ type: DateConstructor;
65
+ default: any;
66
+ };
67
+ min: {
68
+ type: DateConstructor;
69
+ default: any;
70
+ };
71
+ mode: {
72
+ type: PropType<"date" | "month" | "year">;
73
+ default: string;
74
+ };
75
+ }>> & {
76
+ onChange?: (...args: any[]) => any;
77
+ "onUpdate:modelValue"?: (...args: any[]) => any;
78
+ }, {
79
+ disabled: boolean;
80
+ min: Date;
81
+ max: Date;
82
+ modelValue: Date;
83
+ readonly: boolean;
84
+ mode: "date" | "month" | "year";
85
+ format: string;
86
+ placeholder: string;
87
+ }>;
88
+ export default _default;