brd-ui-kit 0.1.57 → 0.1.58

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 (312) hide show
  1. package/dist/_commonjsHelpers-DKOUU3wS.cjs +2 -0
  2. package/dist/_commonjsHelpers-DKOUU3wS.cjs.map +1 -0
  3. package/dist/_commonjsHelpers-DaMA6jEr.js +9 -0
  4. package/dist/_commonjsHelpers-DaMA6jEr.js.map +1 -0
  5. package/dist/chart-CgVfpT_X.cjs +63 -0
  6. package/dist/chart-CgVfpT_X.cjs.map +1 -0
  7. package/dist/chart-D15EtNmb.js +13139 -0
  8. package/dist/chart-D15EtNmb.js.map +1 -0
  9. package/dist/components-app-pagination-app-pagination.js +97 -0
  10. package/dist/components-app-pagination-app-pagination.js.map +1 -0
  11. package/dist/components-app-pagination-app-pagination.styles.js +85 -0
  12. package/dist/components-app-pagination-app-pagination.styles.js.map +1 -0
  13. package/dist/components-app-pagination.js +5 -0
  14. package/dist/components-app-pagination.js.map +1 -0
  15. package/dist/components-app-sidebar-app-sidebar.js +97 -0
  16. package/dist/components-app-sidebar-app-sidebar.js.map +1 -0
  17. package/dist/components-app-sidebar-app-sidebar.styles.js +59 -0
  18. package/dist/components-app-sidebar-app-sidebar.styles.js.map +1 -0
  19. package/dist/components-app-sidebar.js +5 -0
  20. package/dist/components-app-sidebar.js.map +1 -0
  21. package/dist/components-avatar-uploader-avatar-uploader.cjs +2 -2
  22. package/dist/components-avatar-uploader-avatar-uploader.cjs.map +1 -1
  23. package/dist/components-avatar-uploader-avatar-uploader.js +103 -0
  24. package/dist/components-avatar-uploader-avatar-uploader.js.map +1 -0
  25. package/dist/components-avatar-uploader.js +5 -0
  26. package/dist/components-avatar-uploader.js.map +1 -0
  27. package/dist/components-basic-avatar-basic-avatar.cjs +1 -1
  28. package/dist/components-basic-avatar-basic-avatar.cjs.map +1 -1
  29. package/dist/components-basic-avatar-basic-avatar.js +99 -0
  30. package/dist/components-basic-avatar-basic-avatar.js.map +1 -0
  31. package/dist/components-basic-avatar.js +5 -0
  32. package/dist/components-basic-avatar.js.map +1 -0
  33. package/dist/components-basic-chart-basic-chart.cjs +3 -1
  34. package/dist/components-basic-chart-basic-chart.cjs.map +1 -1
  35. package/dist/components-basic-chart-basic-chart.js +5546 -0
  36. package/dist/components-basic-chart-basic-chart.js.map +1 -0
  37. package/dist/components-basic-chart.js +5 -0
  38. package/dist/components-basic-chart.js.map +1 -0
  39. package/dist/components-basic-checkbox-basic-checkbox.js +54 -0
  40. package/dist/components-basic-checkbox-basic-checkbox.js.map +1 -0
  41. package/dist/components-basic-checkbox.js +5 -0
  42. package/dist/components-basic-checkbox.js.map +1 -0
  43. package/dist/components-basic-drawer-basic-drawer.cjs +1 -1
  44. package/dist/components-basic-drawer-basic-drawer.cjs.map +1 -1
  45. package/dist/components-basic-drawer-basic-drawer.js +74 -0
  46. package/dist/components-basic-drawer-basic-drawer.js.map +1 -0
  47. package/dist/components-basic-drawer.js +5 -0
  48. package/dist/components-basic-drawer.js.map +1 -0
  49. package/dist/components-basic-modal-basic-modal.js +56 -0
  50. package/dist/components-basic-modal-basic-modal.js.map +1 -0
  51. package/dist/components-basic-modal.js +5 -0
  52. package/dist/components-basic-modal.js.map +1 -0
  53. package/dist/components-basic-select-basic-select.js +53 -0
  54. package/dist/components-basic-select-basic-select.js.map +1 -0
  55. package/dist/components-basic-select.js +5 -0
  56. package/dist/components-basic-select.js.map +1 -0
  57. package/dist/components-basic-table-basic-table.js +1961 -0
  58. package/dist/components-basic-table-basic-table.js.map +1 -0
  59. package/dist/components-basic-table.js +5 -0
  60. package/dist/components-basic-table.js.map +1 -0
  61. package/dist/components-basic-tooltip-basic-tooltip.js +61 -0
  62. package/dist/components-basic-tooltip-basic-tooltip.js.map +1 -0
  63. package/dist/components-basic-tooltip.js +5 -0
  64. package/dist/components-basic-tooltip.js.map +1 -0
  65. package/dist/components-files-uploader-files-uploader.cjs +3 -3
  66. package/dist/components-files-uploader-files-uploader.cjs.map +1 -1
  67. package/dist/components-files-uploader-files-uploader.js +185 -0
  68. package/dist/components-files-uploader-files-uploader.js.map +1 -0
  69. package/dist/components-files-uploader.js +5 -0
  70. package/dist/components-files-uploader.js.map +1 -0
  71. package/dist/components-input-field-input-field.js +56 -0
  72. package/dist/components-input-field-input-field.js.map +1 -0
  73. package/dist/components-input-field.js +5 -0
  74. package/dist/components-input-field.js.map +1 -0
  75. package/dist/components-input-password-input-password.cjs +1 -1
  76. package/dist/components-input-password-input-password.cjs.map +1 -1
  77. package/dist/components-input-password-input-password.js +67 -0
  78. package/dist/components-input-password-input-password.js.map +1 -0
  79. package/dist/components-input-password.js +5 -0
  80. package/dist/components-input-password.js.map +1 -0
  81. package/dist/components-popover-modal-popover-modal.js +40 -0
  82. package/dist/components-popover-modal-popover-modal.js.map +1 -0
  83. package/dist/components-popover-modal.js +5 -0
  84. package/dist/components-popover-modal.js.map +1 -0
  85. package/dist/components-radio-button-radio-button.js +74 -0
  86. package/dist/components-radio-button-radio-button.js.map +1 -0
  87. package/dist/components-radio-button.js +5 -0
  88. package/dist/components-radio-button.js.map +1 -0
  89. package/dist/components-select-field-select-field.js +179 -0
  90. package/dist/components-select-field-select-field.js.map +1 -0
  91. package/dist/components-select-field.js +5 -0
  92. package/dist/components-select-field.js.map +1 -0
  93. package/dist/components-select-groups-select-groups.js +91 -0
  94. package/dist/components-select-groups-select-groups.js.map +1 -0
  95. package/dist/components-select-groups.js +5 -0
  96. package/dist/components-select-groups.js.map +1 -0
  97. package/dist/components-textarea-field-textarea-field.js +30 -0
  98. package/dist/components-textarea-field-textarea-field.js.map +1 -0
  99. package/dist/components-textarea-field.js +5 -0
  100. package/dist/components-textarea-field.js.map +1 -0
  101. package/dist/components-ui-avatar-avatar.js +149 -0
  102. package/dist/components-ui-avatar-avatar.js.map +1 -0
  103. package/dist/components-ui-avatar.js +10 -0
  104. package/dist/components-ui-avatar.js.map +1 -0
  105. package/dist/components-ui-badge-badge.js +47 -0
  106. package/dist/components-ui-badge-badge.js.map +1 -0
  107. package/dist/components-ui-badge-badge.styles.js +53 -0
  108. package/dist/components-ui-badge-badge.styles.js.map +1 -0
  109. package/dist/components-ui-badge.js +7 -0
  110. package/dist/components-ui-badge.js.map +1 -0
  111. package/dist/components-ui-button-button.js +26 -0
  112. package/dist/components-ui-button-button.js.map +1 -0
  113. package/dist/components-ui-button-button.styles.js +58 -0
  114. package/dist/components-ui-button-button.styles.js.map +1 -0
  115. package/dist/components-ui-button.js +7 -0
  116. package/dist/components-ui-button.js.map +1 -0
  117. package/dist/components-ui-card-card.js +95 -0
  118. package/dist/components-ui-card-card.js.map +1 -0
  119. package/dist/components-ui-card-card.styles.js +55 -0
  120. package/dist/components-ui-card-card.styles.js.map +1 -0
  121. package/dist/components-ui-card.js +10 -0
  122. package/dist/components-ui-card.js.map +1 -0
  123. package/dist/components-ui-chart-chart.cjs +1 -21
  124. package/dist/components-ui-chart-chart.cjs.map +1 -1
  125. package/dist/components-ui-chart-chart.js +13 -0
  126. package/dist/components-ui-chart-chart.js.map +1 -0
  127. package/dist/components-ui-chart.cjs +1 -1
  128. package/dist/components-ui-chart.js +10 -0
  129. package/dist/components-ui-chart.js.map +1 -0
  130. package/dist/components-ui-checkbox-checkbox.js +26 -0
  131. package/dist/components-ui-checkbox-checkbox.js.map +1 -0
  132. package/dist/components-ui-checkbox-checkbox.styles.js +20 -0
  133. package/dist/components-ui-checkbox-checkbox.styles.js.map +1 -0
  134. package/dist/components-ui-checkbox.js +5 -0
  135. package/dist/components-ui-checkbox.js.map +1 -0
  136. package/dist/components-ui-combobox-combobox.cjs +5 -5
  137. package/dist/components-ui-combobox-combobox.cjs.map +1 -1
  138. package/dist/components-ui-combobox-combobox.js +7155 -0
  139. package/dist/components-ui-combobox-combobox.js.map +1 -0
  140. package/dist/components-ui-combobox-combobox.styles.js +93 -0
  141. package/dist/components-ui-combobox-combobox.styles.js.map +1 -0
  142. package/dist/components-ui-combobox.js +20 -0
  143. package/dist/components-ui-combobox.js.map +1 -0
  144. package/dist/components-ui-dialog-dialog.js +88 -0
  145. package/dist/components-ui-dialog-dialog.js.map +1 -0
  146. package/dist/components-ui-dialog-dialog.styles.js +34 -0
  147. package/dist/components-ui-dialog-dialog.styles.js.map +1 -0
  148. package/dist/components-ui-dialog.js +14 -0
  149. package/dist/components-ui-dialog.js.map +1 -0
  150. package/dist/components-ui-drawer-drawer.cjs +1 -1
  151. package/dist/components-ui-drawer-drawer.cjs.map +1 -1
  152. package/dist/components-ui-drawer-drawer.js +177 -0
  153. package/dist/components-ui-drawer-drawer.js.map +1 -0
  154. package/dist/components-ui-drawer.js +14 -0
  155. package/dist/components-ui-drawer.js.map +1 -0
  156. package/dist/components-ui-field-field.js +155 -0
  157. package/dist/components-ui-field-field.js.map +1 -0
  158. package/dist/components-ui-field-field.styles.js +59 -0
  159. package/dist/components-ui-field-field.styles.js.map +1 -0
  160. package/dist/components-ui-field.js +14 -0
  161. package/dist/components-ui-field.js.map +1 -0
  162. package/dist/components-ui-icon-icon-dictionary.js +60 -0
  163. package/dist/components-ui-icon-icon-dictionary.js.map +1 -0
  164. package/dist/components-ui-icon-icon.js +40 -0
  165. package/dist/components-ui-icon-icon.js.map +1 -0
  166. package/dist/components-ui-icon-overrides.js +65 -0
  167. package/dist/components-ui-icon-overrides.js.map +1 -0
  168. package/dist/components-ui-icon.js +5 -0
  169. package/dist/components-ui-icon.js.map +1 -0
  170. package/dist/components-ui-input-group-input-group.js +129 -0
  171. package/dist/components-ui-input-group-input-group.js.map +1 -0
  172. package/dist/components-ui-input-group-input-group.styles.js +43 -0
  173. package/dist/components-ui-input-group-input-group.styles.js.map +1 -0
  174. package/dist/components-ui-input-group.js +10 -0
  175. package/dist/components-ui-input-group.js.map +1 -0
  176. package/dist/components-ui-input-input.js +18 -0
  177. package/dist/components-ui-input-input.js.map +1 -0
  178. package/dist/components-ui-input-input.styles.js +31 -0
  179. package/dist/components-ui-input-input.styles.js.map +1 -0
  180. package/dist/components-ui-input.js +5 -0
  181. package/dist/components-ui-input.js.map +1 -0
  182. package/dist/components-ui-label-label.js +19 -0
  183. package/dist/components-ui-label-label.js.map +1 -0
  184. package/dist/components-ui-label.js +5 -0
  185. package/dist/components-ui-label.js.map +1 -0
  186. package/dist/components-ui-navigation-item-navigation-item.js +66 -0
  187. package/dist/components-ui-navigation-item-navigation-item.js.map +1 -0
  188. package/dist/components-ui-navigation-item-navigation-item.styles.js +32 -0
  189. package/dist/components-ui-navigation-item-navigation-item.styles.js.map +1 -0
  190. package/dist/components-ui-navigation-item.js +5 -0
  191. package/dist/components-ui-navigation-item.js.map +1 -0
  192. package/dist/components-ui-navigation-menu-navigation-menu.js +25 -0
  193. package/dist/components-ui-navigation-menu-navigation-menu.js.map +1 -0
  194. package/dist/components-ui-navigation-menu-navigation-menu.styles.js +23 -0
  195. package/dist/components-ui-navigation-menu-navigation-menu.styles.js.map +1 -0
  196. package/dist/components-ui-navigation-menu.js +5 -0
  197. package/dist/components-ui-navigation-menu.js.map +1 -0
  198. package/dist/components-ui-pagination-pagination.js +110 -0
  199. package/dist/components-ui-pagination-pagination.js.map +1 -0
  200. package/dist/components-ui-pagination.js +11 -0
  201. package/dist/components-ui-pagination.js.map +1 -0
  202. package/dist/components-ui-popover-popover.js +117 -0
  203. package/dist/components-ui-popover-popover.js.map +1 -0
  204. package/dist/components-ui-popover-popover.styles.js +13 -0
  205. package/dist/components-ui-popover-popover.styles.js.map +1 -0
  206. package/dist/components-ui-popover.js +11 -0
  207. package/dist/components-ui-popover.js.map +1 -0
  208. package/dist/components-ui-progress-progress.js +49 -0
  209. package/dist/components-ui-progress-progress.js.map +1 -0
  210. package/dist/components-ui-progress.js +5 -0
  211. package/dist/components-ui-progress.js.map +1 -0
  212. package/dist/components-ui-radio-group-radio-group.js +29 -0
  213. package/dist/components-ui-radio-group-radio-group.js.map +1 -0
  214. package/dist/components-ui-radio-group-radio-group.styles.js +23 -0
  215. package/dist/components-ui-radio-group-radio-group.styles.js.map +1 -0
  216. package/dist/components-ui-radio-group.js +6 -0
  217. package/dist/components-ui-radio-group.js.map +1 -0
  218. package/dist/components-ui-select-select.js +194 -0
  219. package/dist/components-ui-select-select.js.map +1 -0
  220. package/dist/components-ui-select-select.styles.js +43 -0
  221. package/dist/components-ui-select-select.styles.js.map +1 -0
  222. package/dist/components-ui-select.js +14 -0
  223. package/dist/components-ui-select.js.map +1 -0
  224. package/dist/components-ui-separator-separator.js +29 -0
  225. package/dist/components-ui-separator-separator.js.map +1 -0
  226. package/dist/components-ui-separator.js +5 -0
  227. package/dist/components-ui-separator.js.map +1 -0
  228. package/dist/components-ui-sonner-sonner.cjs +1 -1
  229. package/dist/components-ui-sonner-sonner.cjs.map +1 -1
  230. package/dist/components-ui-sonner-sonner.js +72 -0
  231. package/dist/components-ui-sonner-sonner.js.map +1 -0
  232. package/dist/components-ui-sonner-sonner.styles.js +42 -0
  233. package/dist/components-ui-sonner-sonner.styles.js.map +1 -0
  234. package/dist/components-ui-sonner.cjs +1 -1
  235. package/dist/components-ui-sonner.js +7 -0
  236. package/dist/components-ui-sonner.js.map +1 -0
  237. package/dist/components-ui-switch-switch.js +19 -0
  238. package/dist/components-ui-switch-switch.js.map +1 -0
  239. package/dist/components-ui-switch-switch.styles.js +22 -0
  240. package/dist/components-ui-switch-switch.styles.js.map +1 -0
  241. package/dist/components-ui-switch.js +5 -0
  242. package/dist/components-ui-switch.js.map +1 -0
  243. package/dist/components-ui-table-table.js +130 -0
  244. package/dist/components-ui-table-table.js.map +1 -0
  245. package/dist/components-ui-table.js +12 -0
  246. package/dist/components-ui-table.js.map +1 -0
  247. package/dist/components-ui-tabs-tabs.js +62 -0
  248. package/dist/components-ui-tabs-tabs.js.map +1 -0
  249. package/dist/components-ui-tabs-tabs.styles.js +64 -0
  250. package/dist/components-ui-tabs-tabs.styles.js.map +1 -0
  251. package/dist/components-ui-tabs.js +8 -0
  252. package/dist/components-ui-tabs.js.map +1 -0
  253. package/dist/components-ui-textarea-textarea.js +16 -0
  254. package/dist/components-ui-textarea-textarea.js.map +1 -0
  255. package/dist/components-ui-textarea-textarea.styles.js +13 -0
  256. package/dist/components-ui-textarea-textarea.styles.js.map +1 -0
  257. package/dist/components-ui-textarea.js +5 -0
  258. package/dist/components-ui-textarea.js.map +1 -0
  259. package/dist/components-ui-tooltip-tooltip.js +28 -0
  260. package/dist/components-ui-tooltip-tooltip.js.map +1 -0
  261. package/dist/components-ui-tooltip-tooltip.styles.js +11 -0
  262. package/dist/components-ui-tooltip-tooltip.styles.js.map +1 -0
  263. package/dist/components-ui-tooltip.js +9 -0
  264. package/dist/components-ui-tooltip.js.map +1 -0
  265. package/dist/components-ui-typography-typography.js +19 -0
  266. package/dist/components-ui-typography-typography.js.map +1 -0
  267. package/dist/components-ui-typography-typography.styles.js +85 -0
  268. package/dist/components-ui-typography-typography.styles.js.map +1 -0
  269. package/dist/components-ui-typography.js +9 -0
  270. package/dist/components-ui-typography.js.map +1 -0
  271. package/dist/hooks-usePopupControls.js +14 -0
  272. package/dist/hooks-usePopupControls.js.map +1 -0
  273. package/dist/index-B5Id-jNC.js +2830 -0
  274. package/dist/index-B5Id-jNC.js.map +1 -0
  275. package/dist/index-C4iHL8Gs.js +776 -0
  276. package/dist/index-C4iHL8Gs.js.map +1 -0
  277. package/dist/index-C6N9aMq_.js +1038 -0
  278. package/dist/index-C6N9aMq_.js.map +1 -0
  279. package/dist/index-D8y9Cogu.cjs +7 -0
  280. package/dist/index-D8y9Cogu.cjs.map +1 -0
  281. package/dist/index-DGxwh2Ms.cjs +2 -0
  282. package/dist/index-DGxwh2Ms.cjs.map +1 -0
  283. package/dist/index-fTTv8YY8.cjs +4 -0
  284. package/dist/index-fTTv8YY8.cjs.map +1 -0
  285. package/dist/index.cjs +1 -1
  286. package/dist/index.js +194 -0
  287. package/dist/index.js.map +1 -0
  288. package/dist/lib-utils.js +16 -0
  289. package/dist/lib-utils.js.map +1 -0
  290. package/dist/lodash-FemA_LCk.js +3688 -0
  291. package/dist/lodash-FemA_LCk.js.map +1 -0
  292. package/dist/lodash-kqhtUJfz.cjs +21 -0
  293. package/dist/lodash-kqhtUJfz.cjs.map +1 -0
  294. package/dist/types-types.js +2 -0
  295. package/dist/types-types.js.map +1 -0
  296. package/dist/utils-helpers.js +17 -0
  297. package/dist/utils-helpers.js.map +1 -0
  298. package/dist/with-selector-CNcGWQ-h.js +534 -0
  299. package/dist/with-selector-CNcGWQ-h.js.map +1 -0
  300. package/dist/with-selector-DSbfqgSY.cjs +8 -0
  301. package/dist/with-selector-DSbfqgSY.cjs.map +1 -0
  302. package/package.json +149 -379
  303. package/.githooks/pre-commit +0 -19
  304. package/.prettierignore +0 -13
  305. package/components.json +0 -25
  306. package/prettier.config.mjs +0 -28
  307. package/public/vite.svg +0 -1
  308. package/scripts/generate-exports.js +0 -76
  309. package/scripts/get-entry-points.ts +0 -102
  310. package/tsconfig.app.json +0 -40
  311. package/tsconfig.node.json +0 -26
  312. package/tsconfig.storybook.json +0 -7
@@ -0,0 +1,97 @@
1
+ import { jsx as n, jsxs as L } from "react/jsx-runtime";
2
+ import { getPageNumbers as k } from "./utils-helpers.js";
3
+ import { cn as x } from "./lib-utils.js";
4
+ import { ChevronLeftIcon as A, ChevronRightIcon as $ } from "lucide-react";
5
+ import { Button as c } from "./components-ui-button-button.js";
6
+ import "./components-ui-button-button.styles.js";
7
+ import { Pagination as V, PaginationContent as _, PaginationItem as s, PaginationLink as p } from "./components-ui-pagination-pagination.js";
8
+ import { appPaginationNavigationButtonVariants as h, appPaginationPageVariants as e, appPaginationContentVariants as u } from "./components-app-pagination-app-pagination.styles.js";
9
+ const B = 5, P = 5, R = ({
10
+ currentPage: a,
11
+ totalPages: o,
12
+ maxVisiblePages: f = B,
13
+ className: C,
14
+ showNavigation: d = !0,
15
+ prevLabel: v,
16
+ nextLabel: b,
17
+ size: r = "default",
18
+ ellipsisStep: t = P,
19
+ onPageChange: N
20
+ }) => {
21
+ if (o <= 1) return null;
22
+ const E = k(f, a, o), l = (i) => {
23
+ i >= 1 && i <= o && N(i);
24
+ }, I = (i) => {
25
+ if (i === "ellipsis-start") {
26
+ const m = Math.max(1, a - t);
27
+ l(m);
28
+ } else {
29
+ const m = Math.min(o, a + t);
30
+ l(m);
31
+ }
32
+ };
33
+ return /* @__PURE__ */ n(V, { className: "w-fit", children: /* @__PURE__ */ L(
34
+ _,
35
+ {
36
+ className: x(u({ size: r }), C),
37
+ children: [
38
+ d && /* @__PURE__ */ n(s, { children: /* @__PURE__ */ n(
39
+ c,
40
+ {
41
+ variant: "ghost",
42
+ disabled: a === 1,
43
+ onClick: () => l(a - 1),
44
+ className: h({
45
+ size: r,
46
+ side: "prev"
47
+ }),
48
+ "aria-label": "Предыдущая страница",
49
+ children: v || /* @__PURE__ */ n(A, {})
50
+ }
51
+ ) }),
52
+ E.map((i) => i === "ellipsis-start" || i === "ellipsis-end" ? /* @__PURE__ */ n(s, { children: /* @__PURE__ */ n(
53
+ c,
54
+ {
55
+ variant: "ghost",
56
+ onClick: () => I(i),
57
+ className: e({ size: r }),
58
+ "aria-label": i === "ellipsis-start" ? `Перейти на ${t} страниц назад` : `Перейти на ${t} страниц вперед`,
59
+ title: i === "ellipsis-start" ? `Нажать чтобы перейти на ${t} страниц назад` : `Нажать чтобы перейти на ${t} страниц вперед`,
60
+ children: "..."
61
+ }
62
+ ) }, i) : /* @__PURE__ */ n(s, { children: /* @__PURE__ */ n(
63
+ p,
64
+ {
65
+ isActive: a === i,
66
+ onClick: () => l(i),
67
+ className: e({
68
+ size: r,
69
+ active: a === i
70
+ }),
71
+ "aria-label": `Страница ${i}`,
72
+ "aria-current": a === i ? "page" : void 0,
73
+ children: i
74
+ }
75
+ ) }, i)),
76
+ d && /* @__PURE__ */ n(s, { children: /* @__PURE__ */ n(
77
+ c,
78
+ {
79
+ variant: "ghost",
80
+ disabled: a === o,
81
+ onClick: () => l(a + 1),
82
+ className: h({
83
+ size: r,
84
+ side: "next"
85
+ }),
86
+ "aria-label": "Следующая страница",
87
+ children: b || /* @__PURE__ */ n($, {})
88
+ }
89
+ ) })
90
+ ]
91
+ }
92
+ ) });
93
+ };
94
+ export {
95
+ R as AppPagination
96
+ };
97
+ //# sourceMappingURL=components-app-pagination-app-pagination.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"components-app-pagination-app-pagination.js","sources":["../src/components/app-pagination/app-pagination.tsx"],"sourcesContent":["import { getPageNumbers } from \"@/utils/helpers\";\n// TODO: заменить иконки на иконки из Icon\nimport { cn } from \"@/lib/utils\";\nimport { ChevronLeftIcon, ChevronRightIcon } from \"lucide-react\";\nimport { Button } from \"../ui/button\";\nimport {\n Pagination,\n PaginationContent,\n PaginationItem,\n PaginationLink,\n} from \"../ui/pagination\";\nimport {\n appPaginationContentVariants,\n appPaginationNavigationButtonVariants,\n appPaginationPageVariants,\n type AppPaginationSize,\n} from \"./app-pagination.styles\";\n\ntype Props = {\n currentPage: number;\n totalPages: number;\n maxVisiblePages?: number;\n className?: string;\n showNavigation?: boolean;\n prevLabel?: string;\n nextLabel?: string;\n size?: AppPaginationSize;\n ellipsisStep?: number;\n onPageChange: (page: number) => void;\n};\n\nconst DEFAULT_VISIBLE_PAGES = 5;\nconst DEFAULT_ELLIPSIS_STEP = 5;\n\nexport const AppPagination = ({\n currentPage,\n totalPages,\n maxVisiblePages = DEFAULT_VISIBLE_PAGES,\n className,\n showNavigation = true,\n prevLabel,\n nextLabel,\n size = \"default\",\n ellipsisStep = DEFAULT_ELLIPSIS_STEP,\n onPageChange,\n}: Props) => {\n if (totalPages <= 1) return null;\n\n const pageNumbers = getPageNumbers(maxVisiblePages, currentPage, totalPages);\n\n const handlePageChange = (page: number) => {\n if (page >= 1 && page <= totalPages) {\n onPageChange(page);\n }\n };\n\n const handleEllipsisClick = (type: \"ellipsis-start\" | \"ellipsis-end\") => {\n if (type === \"ellipsis-start\") {\n const newPage = Math.max(1, currentPage - ellipsisStep);\n handlePageChange(newPage);\n } else {\n const newPage = Math.min(totalPages, currentPage + ellipsisStep);\n handlePageChange(newPage);\n }\n };\n\n return (\n <Pagination className=\"w-fit\">\n <PaginationContent\n className={cn(appPaginationContentVariants({ size }), className)}\n >\n {showNavigation && (\n <PaginationItem>\n <Button\n variant=\"ghost\"\n disabled={currentPage === 1}\n onClick={() => handlePageChange(currentPage - 1)}\n className={appPaginationNavigationButtonVariants({\n size,\n side: \"prev\",\n })}\n aria-label=\"Предыдущая страница\"\n >\n {prevLabel || <ChevronLeftIcon />}\n </Button>\n </PaginationItem>\n )}\n\n {pageNumbers.map((page) => {\n if (page === \"ellipsis-start\" || page === \"ellipsis-end\") {\n return (\n <PaginationItem key={page}>\n <Button\n variant=\"ghost\"\n onClick={() => handleEllipsisClick(page)}\n className={appPaginationPageVariants({ size })}\n aria-label={\n page === \"ellipsis-start\"\n ? `Перейти на ${ellipsisStep} страниц назад`\n : `Перейти на ${ellipsisStep} страниц вперед`\n }\n title={\n page === \"ellipsis-start\"\n ? `Нажать чтобы перейти на ${ellipsisStep} страниц назад`\n : `Нажать чтобы перейти на ${ellipsisStep} страниц вперед`\n }\n >\n ...\n </Button>\n </PaginationItem>\n );\n }\n\n return (\n <PaginationItem key={page}>\n <PaginationLink\n isActive={currentPage === page}\n onClick={() => handlePageChange(page)}\n className={appPaginationPageVariants({\n size,\n active: currentPage === page,\n })}\n aria-label={`Страница ${page}`}\n aria-current={currentPage === page ? \"page\" : undefined}\n >\n {page}\n </PaginationLink>\n </PaginationItem>\n );\n })}\n\n {showNavigation && (\n <PaginationItem>\n <Button\n variant=\"ghost\"\n disabled={currentPage === totalPages}\n onClick={() => handlePageChange(currentPage + 1)}\n className={appPaginationNavigationButtonVariants({\n size,\n side: \"next\",\n })}\n aria-label=\"Следующая страница\"\n >\n {nextLabel || <ChevronRightIcon />}\n </Button>\n </PaginationItem>\n )}\n </PaginationContent>\n </Pagination>\n );\n};\n"],"names":["DEFAULT_VISIBLE_PAGES","DEFAULT_ELLIPSIS_STEP","AppPagination","currentPage","totalPages","maxVisiblePages","className","showNavigation","prevLabel","nextLabel","size","ellipsisStep","onPageChange","pageNumbers","getPageNumbers","handlePageChange","page","handleEllipsisClick","type","newPage","jsx","Pagination","jsxs","PaginationContent","cn","appPaginationContentVariants","PaginationItem","Button","appPaginationNavigationButtonVariants","ChevronLeftIcon","appPaginationPageVariants","PaginationLink","ChevronRightIcon"],"mappings":"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"}
@@ -0,0 +1,85 @@
1
+ import { cva as e } from "class-variance-authority";
2
+ import "react";
3
+ import "./lib-utils.js";
4
+ import { getTypographyClassName as a } from "./components-ui-typography-typography.styles.js";
5
+ const n = ["default", "sm", "lg"], p = e("flex items-center", {
6
+ variants: {
7
+ size: {
8
+ sm: "gap-1",
9
+ default: "gap-1",
10
+ lg: "gap-2"
11
+ }
12
+ },
13
+ defaultVariants: {
14
+ size: "default"
15
+ }
16
+ }), o = e(
17
+ [
18
+ "bg-tertiary-bg text-primary-text cursor-pointer rounded-sm p-0",
19
+ "hover:bg-primary-hover-bg"
20
+ ].join(" "),
21
+ {
22
+ variants: {
23
+ size: {
24
+ sm: "size-7 [&_svg]:size-3",
25
+ default: "size-8 [&_svg]:size-3.5",
26
+ lg: "size-9 [&_svg]:size-4"
27
+ },
28
+ side: {
29
+ prev: "mr-3",
30
+ next: "ml-3"
31
+ }
32
+ },
33
+ defaultVariants: {
34
+ size: "default"
35
+ }
36
+ }
37
+ ), m = e(
38
+ [
39
+ "text-primary-text cursor-pointer rounded-xl bg-transparent",
40
+ "hover:bg-tertiary-bg",
41
+ a("body-xs-medium")
42
+ ].join(" "),
43
+ {
44
+ variants: {
45
+ size: {
46
+ sm: "h-7 min-w-7 px-2",
47
+ default: "h-8 min-w-8 px-3",
48
+ lg: "h-9 min-w-9 px-3.5"
49
+ },
50
+ active: {
51
+ true: `bg-primary-inverse-bg text-primary-inverse-text
52
+ hover:bg-primary-inverse-bg`,
53
+ false: ""
54
+ }
55
+ },
56
+ compoundVariants: [
57
+ {
58
+ size: "sm",
59
+ active: !0,
60
+ className: "size-7 px-0"
61
+ },
62
+ {
63
+ size: "default",
64
+ active: !0,
65
+ className: "size-8 px-0"
66
+ },
67
+ {
68
+ size: "lg",
69
+ active: !0,
70
+ className: "size-9 px-0"
71
+ }
72
+ ],
73
+ defaultVariants: {
74
+ size: "default",
75
+ active: !1
76
+ }
77
+ }
78
+ );
79
+ export {
80
+ p as appPaginationContentVariants,
81
+ o as appPaginationNavigationButtonVariants,
82
+ m as appPaginationPageVariants,
83
+ n as appPaginationSizeOptions
84
+ };
85
+ //# sourceMappingURL=components-app-pagination-app-pagination.styles.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"components-app-pagination-app-pagination.styles.js","sources":["../src/components/app-pagination/app-pagination.styles.ts"],"sourcesContent":["import { cva } from \"class-variance-authority\";\nimport { getTypographyClassName } from \"../ui/typography\";\n\nexport const appPaginationSizeOptions = [\"default\", \"sm\", \"lg\"] as const;\n\nexport type AppPaginationSize = (typeof appPaginationSizeOptions)[number];\n\nexport const appPaginationContentVariants = cva(\"flex items-center\", {\n variants: {\n size: {\n sm: \"gap-1\",\n default: \"gap-1\",\n lg: \"gap-2\",\n },\n },\n defaultVariants: {\n size: \"default\",\n },\n});\n\nexport const appPaginationNavigationButtonVariants = cva(\n [\n \"bg-tertiary-bg text-primary-text cursor-pointer rounded-sm p-0\",\n \"hover:bg-primary-hover-bg\",\n ].join(\" \"),\n {\n variants: {\n size: {\n sm: \"size-7 [&_svg]:size-3\",\n default: \"size-8 [&_svg]:size-3.5\",\n lg: \"size-9 [&_svg]:size-4\",\n },\n side: {\n prev: \"mr-3\",\n next: \"ml-3\",\n },\n },\n defaultVariants: {\n size: \"default\",\n },\n },\n);\n\nexport const appPaginationPageVariants = cva(\n [\n \"text-primary-text cursor-pointer rounded-xl bg-transparent\",\n \"hover:bg-tertiary-bg\",\n getTypographyClassName(\"body-xs-medium\"),\n ].join(\" \"),\n {\n variants: {\n size: {\n sm: \"h-7 min-w-7 px-2\",\n default: \"h-8 min-w-8 px-3\",\n lg: \"h-9 min-w-9 px-3.5\",\n },\n active: {\n true: `bg-primary-inverse-bg text-primary-inverse-text\n hover:bg-primary-inverse-bg`,\n false: \"\",\n },\n },\n compoundVariants: [\n {\n size: \"sm\",\n active: true,\n className: \"size-7 px-0\",\n },\n {\n size: \"default\",\n active: true,\n className: \"size-8 px-0\",\n },\n {\n size: \"lg\",\n active: true,\n className: \"size-9 px-0\",\n },\n ],\n defaultVariants: {\n size: \"default\",\n active: false,\n },\n },\n);\n"],"names":["appPaginationSizeOptions","appPaginationContentVariants","cva","appPaginationNavigationButtonVariants","appPaginationPageVariants","getTypographyClassName"],"mappings":";;;;AAGO,MAAMA,IAA2B,CAAC,WAAW,MAAM,IAAI,GAIjDC,IAA+BC,EAAI,qBAAqB;AAAA,EACnE,UAAU;AAAA,IACR,MAAM;AAAA,MACJ,IAAI;AAAA,MACJ,SAAS;AAAA,MACT,IAAI;AAAA,IAAA;AAAA,EACN;AAAA,EAEF,iBAAiB;AAAA,IACf,MAAM;AAAA,EAAA;AAEV,CAAC,GAEYC,IAAwCD;AAAA,EACnD;AAAA,IACE;AAAA,IACA;AAAA,EAAA,EACA,KAAK,GAAG;AAAA,EACV;AAAA,IACE,UAAU;AAAA,MACR,MAAM;AAAA,QACJ,IAAI;AAAA,QACJ,SAAS;AAAA,QACT,IAAI;AAAA,MAAA;AAAA,MAEN,MAAM;AAAA,QACJ,MAAM;AAAA,QACN,MAAM;AAAA,MAAA;AAAA,IACR;AAAA,IAEF,iBAAiB;AAAA,MACf,MAAM;AAAA,IAAA;AAAA,EACR;AAEJ,GAEaE,IAA4BF;AAAA,EACvC;AAAA,IACE;AAAA,IACA;AAAA,IACAG,EAAuB,gBAAgB;AAAA,EAAA,EACvC,KAAK,GAAG;AAAA,EACV;AAAA,IACE,UAAU;AAAA,MACR,MAAM;AAAA,QACJ,IAAI;AAAA,QACJ,SAAS;AAAA,QACT,IAAI;AAAA,MAAA;AAAA,MAEN,QAAQ;AAAA,QACN,MAAM;AAAA;AAAA,QAEN,OAAO;AAAA,MAAA;AAAA,IACT;AAAA,IAEF,kBAAkB;AAAA,MAChB;AAAA,QACE,MAAM;AAAA,QACN,QAAQ;AAAA,QACR,WAAW;AAAA,MAAA;AAAA,MAEb;AAAA,QACE,MAAM;AAAA,QACN,QAAQ;AAAA,QACR,WAAW;AAAA,MAAA;AAAA,MAEb;AAAA,QACE,MAAM;AAAA,QACN,QAAQ;AAAA,QACR,WAAW;AAAA,MAAA;AAAA,IACb;AAAA,IAEF,iBAAiB;AAAA,MACf,MAAM;AAAA,MACN,QAAQ;AAAA,IAAA;AAAA,EACV;AAEJ;"}
@@ -0,0 +1,5 @@
1
+ import { AppPagination as a } from "./components-app-pagination-app-pagination.js";
2
+ export {
3
+ a as AppPagination
4
+ };
5
+ //# sourceMappingURL=components-app-pagination.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"components-app-pagination.js","sources":[],"sourcesContent":[],"names":[],"mappings":";"}
@@ -0,0 +1,97 @@
1
+ import { jsxs as i, jsx as e } from "react/jsx-runtime";
2
+ import { cn as n } from "./lib-utils.js";
3
+ import { Icon as h } from "./components-ui-icon-icon.js";
4
+ import { NavigationItem as C } from "./components-ui-navigation-item-navigation-item.js";
5
+ import { NavigationMenu as V } from "./components-ui-navigation-menu-navigation-menu.js";
6
+ import { appSidebarBrandTitleClassName as k, appSidebarBrandVariants as A, appSidebarToggleButtonVariants as G, appSidebarHeaderVariants as T, appSidebarRootVariants as j } from "./components-app-sidebar-app-sidebar.styles.js";
7
+ const z = ({
8
+ groups: d,
9
+ title: f = "CRM",
10
+ brandMark: N,
11
+ state: l = "expanded",
12
+ activeItemId: s,
13
+ showToggle: v = !0,
14
+ onStateChange: c,
15
+ onItemSelect: u,
16
+ className: x,
17
+ ...g
18
+ }) => {
19
+ const r = l === "collapsed", S = d.filter((o) => o.placement !== "bottom"), p = d.filter((o) => o.placement === "bottom"), y = r ? "expanded" : "collapsed", B = () => {
20
+ c?.(y);
21
+ }, b = (o) => o.map((t) => /* @__PURE__ */ e(
22
+ V,
23
+ {
24
+ title: t.title,
25
+ collapsed: r,
26
+ className: n(t.divider && "border-delicate-border border-b"),
27
+ children: t.items.map((a) => {
28
+ const m = s ? s === a.id : !!a.active;
29
+ return /* @__PURE__ */ e(
30
+ C,
31
+ {
32
+ icon: /* @__PURE__ */ e(h, { type: a.icon }),
33
+ label: a.label,
34
+ badge: a.badge,
35
+ active: m,
36
+ collapsed: r,
37
+ disabled: a.disabled,
38
+ href: a.href,
39
+ target: a.target,
40
+ rel: a.rel,
41
+ onAction: () => {
42
+ u?.(a), a.onClick?.(a);
43
+ },
44
+ "aria-current": m ? "page" : void 0
45
+ },
46
+ a.id
47
+ );
48
+ })
49
+ },
50
+ t.id
51
+ ));
52
+ return /* @__PURE__ */ i(
53
+ "aside",
54
+ {
55
+ className: n(j({ state: l }), x),
56
+ "aria-label": "Боковая навигация",
57
+ ...g,
58
+ children: [
59
+ /* @__PURE__ */ i("header", { className: T({ state: l }), children: [
60
+ /* @__PURE__ */ i("div", { className: A({ state: l }), children: [
61
+ N,
62
+ /* @__PURE__ */ e("p", { className: k, children: f })
63
+ ] }),
64
+ v && /* @__PURE__ */ e(
65
+ "button",
66
+ {
67
+ type: "button",
68
+ className: G(),
69
+ onClick: B,
70
+ "aria-label": r ? "Развернуть боковую навигацию" : "Свернуть боковую навигацию",
71
+ disabled: !c,
72
+ children: /* @__PURE__ */ e(
73
+ h,
74
+ {
75
+ type: "chevrons",
76
+ strokeWidth: 1.5,
77
+ className: n(
78
+ "transition-transform duration-200",
79
+ r ? "-rotate-90" : "rotate-90"
80
+ )
81
+ }
82
+ )
83
+ }
84
+ )
85
+ ] }),
86
+ /* @__PURE__ */ i("div", { className: "flex min-h-0 flex-1 flex-col", children: [
87
+ /* @__PURE__ */ e("div", { className: "min-h-0 flex-1 overflow-y-auto", children: b(S) }),
88
+ p.length > 0 && /* @__PURE__ */ e("div", { className: "mt-auto", children: b(p) })
89
+ ] })
90
+ ]
91
+ }
92
+ );
93
+ };
94
+ export {
95
+ z as AppSidebar
96
+ };
97
+ //# sourceMappingURL=components-app-sidebar-app-sidebar.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"components-app-sidebar-app-sidebar.js","sources":["../src/components/app-sidebar/app-sidebar.tsx"],"sourcesContent":["import { cn } from \"@/lib/utils\";\nimport type { IconTypes } from \"@/types/types\";\nimport { Icon } from \"../ui/icon\";\nimport { NavigationItem } from \"../ui/navigation-item\";\nimport { NavigationMenu } from \"../ui/navigation-menu\";\nimport {\n appSidebarBrandTitleClassName,\n appSidebarBrandVariants,\n appSidebarHeaderVariants,\n appSidebarRootVariants,\n appSidebarToggleButtonVariants,\n type AppSidebarState,\n} from \"./app-sidebar.styles\";\n\nexport type AppSidebarItem = {\n id: string;\n label: string;\n icon: IconTypes;\n disabled?: boolean;\n active?: boolean;\n badge?: React.ReactNode;\n href?: string;\n target?: React.HTMLAttributeAnchorTarget;\n rel?: string;\n onClick?: (item: AppSidebarItem) => void;\n};\n\nexport type AppSidebarGroup = {\n id: string;\n title?: string;\n divider?: boolean;\n placement?: \"top\" | \"bottom\";\n items: AppSidebarItem[];\n};\n\ntype Props = React.HTMLAttributes<HTMLElement> & {\n groups: AppSidebarGroup[];\n title?: string;\n brandMark?: React.ReactNode;\n state?: AppSidebarState;\n activeItemId?: string;\n showToggle?: boolean;\n onStateChange?: (nextState: AppSidebarState) => void;\n onItemSelect?: (item: AppSidebarItem) => void;\n};\n\nconst AppSidebar = ({\n groups,\n title = \"CRM\",\n brandMark,\n state = \"expanded\",\n activeItemId,\n showToggle = true,\n onStateChange,\n onItemSelect,\n className,\n ...props\n}: Props) => {\n const isCollapsed = state === \"collapsed\";\n const topGroups = groups.filter((group) => group.placement !== \"bottom\");\n const bottomGroups = groups.filter((group) => group.placement === \"bottom\");\n const nextState = isCollapsed ? \"expanded\" : \"collapsed\";\n\n const handleToggle = () => {\n onStateChange?.(nextState);\n };\n\n const renderGroups = (items: AppSidebarGroup[]) => {\n return items.map((group) => (\n <NavigationMenu\n key={group.id}\n title={group.title}\n collapsed={isCollapsed}\n className={cn(group.divider && \"border-delicate-border border-b\")}\n >\n {group.items.map((item) => {\n const isActive = activeItemId ? activeItemId === item.id : Boolean(item.active);\n\n return (\n <NavigationItem\n key={item.id}\n icon={<Icon type={item.icon} />}\n label={item.label}\n badge={item.badge}\n active={isActive}\n collapsed={isCollapsed}\n disabled={item.disabled}\n href={item.href}\n target={item.target}\n rel={item.rel}\n onAction={() => {\n onItemSelect?.(item);\n item.onClick?.(item);\n }}\n aria-current={isActive ? \"page\" : undefined}\n />\n );\n })}\n </NavigationMenu>\n ));\n };\n\n return (\n <aside\n className={cn(appSidebarRootVariants({ state }), className)}\n aria-label=\"Боковая навигация\"\n {...props}\n >\n <header className={appSidebarHeaderVariants({ state })}>\n <div className={appSidebarBrandVariants({ state })}>\n {brandMark}\n <p className={appSidebarBrandTitleClassName}>{title}</p>\n </div>\n\n {showToggle && (\n <button\n type=\"button\"\n className={appSidebarToggleButtonVariants()}\n onClick={handleToggle}\n aria-label={\n isCollapsed ? \"Развернуть боковую навигацию\" : \"Свернуть боковую навигацию\"\n }\n disabled={!onStateChange}\n >\n <Icon\n type=\"chevrons\"\n strokeWidth={1.5}\n className={cn(\n \"transition-transform duration-200\",\n isCollapsed ? \"-rotate-90\" : \"rotate-90\",\n )}\n />\n </button>\n )}\n </header>\n\n <div className=\"flex min-h-0 flex-1 flex-col\">\n <div className=\"min-h-0 flex-1 overflow-y-auto\">{renderGroups(topGroups)}</div>\n\n {bottomGroups.length > 0 && (\n <div className=\"mt-auto\">{renderGroups(bottomGroups)}</div>\n )}\n </div>\n </aside>\n );\n};\n\nexport { AppSidebar };\n"],"names":["AppSidebar","groups","title","brandMark","state","activeItemId","showToggle","onStateChange","onItemSelect","className","props","isCollapsed","topGroups","group","bottomGroups","nextState","handleToggle","renderGroups","items","jsx","NavigationMenu","cn","item","isActive","NavigationItem","Icon","jsxs","appSidebarRootVariants","appSidebarHeaderVariants","appSidebarBrandVariants","appSidebarBrandTitleClassName","appSidebarToggleButtonVariants"],"mappings":"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"}
@@ -0,0 +1,59 @@
1
+ import { cva as e } from "class-variance-authority";
2
+ import "react";
3
+ import "./lib-utils.js";
4
+ import { getTypographyClassName as t } from "./components-ui-typography-typography.styles.js";
5
+ const n = ["expanded", "collapsed"], s = e(
6
+ [
7
+ "border-delicate-border bg-secondary-bg flex h-full shrink-0 flex-col border-r",
8
+ "transition-[width] duration-200 ease-out"
9
+ ].join(" "),
10
+ {
11
+ variants: {
12
+ state: {
13
+ expanded: "w-[15.5rem]",
14
+ collapsed: "w-16"
15
+ }
16
+ },
17
+ defaultVariants: {
18
+ state: "expanded"
19
+ }
20
+ }
21
+ ), o = e(
22
+ "border-delicate-border flex h-18 items-center border-b",
23
+ {
24
+ variants: {
25
+ state: {
26
+ expanded: "justify-between px-7",
27
+ collapsed: "justify-center px-4.5"
28
+ }
29
+ },
30
+ defaultVariants: {
31
+ state: "expanded"
32
+ }
33
+ }
34
+ ), p = e("flex items-center gap-3", {
35
+ variants: {
36
+ state: {
37
+ expanded: "opacity-100",
38
+ collapsed: "hidden opacity-0"
39
+ }
40
+ },
41
+ defaultVariants: {
42
+ state: "expanded"
43
+ }
44
+ }), l = t("body-xl-medium"), b = e(
45
+ [
46
+ "text-sub-label-text inline-flex size-7 cursor-pointer items-center justify-center rounded-sm",
47
+ "hover:bg-tertiary-bg hover:text-primary-text transition-colors",
48
+ "disabled:text-disabled-text disabled:pointer-events-none"
49
+ ].join(" ")
50
+ );
51
+ export {
52
+ l as appSidebarBrandTitleClassName,
53
+ p as appSidebarBrandVariants,
54
+ o as appSidebarHeaderVariants,
55
+ s as appSidebarRootVariants,
56
+ n as appSidebarStateOptions,
57
+ b as appSidebarToggleButtonVariants
58
+ };
59
+ //# sourceMappingURL=components-app-sidebar-app-sidebar.styles.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"components-app-sidebar-app-sidebar.styles.js","sources":["../src/components/app-sidebar/app-sidebar.styles.ts"],"sourcesContent":["import { cva } from \"class-variance-authority\";\nimport { getTypographyClassName } from \"../ui/typography\";\n\nexport const appSidebarStateOptions = [\"expanded\", \"collapsed\"] as const;\n\nexport type AppSidebarState = (typeof appSidebarStateOptions)[number];\n\nexport const appSidebarRootVariants = cva(\n [\n \"border-delicate-border bg-secondary-bg flex h-full shrink-0 flex-col border-r\",\n \"transition-[width] duration-200 ease-out\",\n ].join(\" \"),\n {\n variants: {\n state: {\n expanded: \"w-[15.5rem]\",\n collapsed: \"w-16\",\n },\n },\n defaultVariants: {\n state: \"expanded\",\n },\n },\n);\n\nexport const appSidebarHeaderVariants = cva(\n \"border-delicate-border flex h-18 items-center border-b\",\n {\n variants: {\n state: {\n expanded: \"justify-between px-7\",\n collapsed: \"justify-center px-4.5\",\n },\n },\n defaultVariants: {\n state: \"expanded\",\n },\n },\n);\n\nexport const appSidebarBrandVariants = cva(\"flex items-center gap-3\", {\n variants: {\n state: {\n expanded: \"opacity-100\",\n collapsed: \"hidden opacity-0\",\n },\n },\n defaultVariants: {\n state: \"expanded\",\n },\n});\n\nexport const appSidebarBrandTitleClassName = getTypographyClassName(\"body-xl-medium\");\n\nexport const appSidebarToggleButtonVariants = cva(\n [\n \"text-sub-label-text inline-flex size-7 cursor-pointer items-center justify-center rounded-sm\",\n \"hover:bg-tertiary-bg hover:text-primary-text transition-colors\",\n \"disabled:text-disabled-text disabled:pointer-events-none\",\n ].join(\" \"),\n);\n"],"names":["appSidebarStateOptions","appSidebarRootVariants","cva","appSidebarHeaderVariants","appSidebarBrandVariants","appSidebarBrandTitleClassName","getTypographyClassName","appSidebarToggleButtonVariants"],"mappings":";;;;AAGO,MAAMA,IAAyB,CAAC,YAAY,WAAW,GAIjDC,IAAyBC;AAAA,EACpC;AAAA,IACE;AAAA,IACA;AAAA,EAAA,EACA,KAAK,GAAG;AAAA,EACV;AAAA,IACE,UAAU;AAAA,MACR,OAAO;AAAA,QACL,UAAU;AAAA,QACV,WAAW;AAAA,MAAA;AAAA,IACb;AAAA,IAEF,iBAAiB;AAAA,MACf,OAAO;AAAA,IAAA;AAAA,EACT;AAEJ,GAEaC,IAA2BD;AAAA,EACtC;AAAA,EACA;AAAA,IACE,UAAU;AAAA,MACR,OAAO;AAAA,QACL,UAAU;AAAA,QACV,WAAW;AAAA,MAAA;AAAA,IACb;AAAA,IAEF,iBAAiB;AAAA,MACf,OAAO;AAAA,IAAA;AAAA,EACT;AAEJ,GAEaE,IAA0BF,EAAI,2BAA2B;AAAA,EACpE,UAAU;AAAA,IACR,OAAO;AAAA,MACL,UAAU;AAAA,MACV,WAAW;AAAA,IAAA;AAAA,EACb;AAAA,EAEF,iBAAiB;AAAA,IACf,OAAO;AAAA,EAAA;AAEX,CAAC,GAEYG,IAAgCC,EAAuB,gBAAgB,GAEvEC,IAAiCL;AAAA,EAC5C;AAAA,IACE;AAAA,IACA;AAAA,IACA;AAAA,EAAA,EACA,KAAK,GAAG;AACZ;"}
@@ -0,0 +1,5 @@
1
+ import { AppSidebar as e } from "./components-app-sidebar-app-sidebar.js";
2
+ export {
3
+ e as AppSidebar
4
+ };
5
+ //# sourceMappingURL=components-app-sidebar.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"components-app-sidebar.js","sources":[],"sourcesContent":[],"names":[],"mappings":";"}
@@ -1,3 +1,3 @@
1
- "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});require('./brd-ui-kit.css');const i=require("react/jsx-runtime");;/* empty css */const f=require("./lib-utils.cjs");require("class-variance-authority");const v=require("react");require("./components-ui-badge-badge.styles.cjs");require("./components-ui-button-button.cjs");require("./components-ui-button-button.styles.cjs");require("./components-ui-card-card.cjs");require("./components-ui-checkbox-checkbox.cjs");require("lucide-react");require("./components-ui-icon-overrides.cjs");require("./components-ui-combobox-combobox.cjs");require("./components-ui-dialog-dialog.cjs");require("./components-ui-label-label.cjs");require("./components-ui-separator-separator.cjs");require("./components-ui-field-field.styles.cjs");require("./components-ui-input-input.styles.cjs");require("./components-ui-textarea-textarea.cjs");require("./components-ui-input-group-input-group.styles.cjs");require("./components-ui-navigation-item-navigation-item.styles.cjs");require("./components-ui-navigation-menu-navigation-menu.styles.cjs");require("./components-ui-pagination-pagination.cjs");require("./components-ui-progress-progress.cjs");require("./components-ui-radio-group-radio-group.cjs");require("./components-ui-switch-switch.cjs");require("./components-ui-table-table.cjs");require("./components-ui-tabs-tabs.cjs");require("./components-ui-tooltip-tooltip.cjs");const x=require("./components-ui-typography-typography.cjs");require("./components-ui-typography-typography.styles.cjs");require("./components-app-pagination-app-pagination.styles.cjs");require("./components-app-sidebar-app-sidebar.styles.cjs");require("./components-select-field-select-field.cjs");require("lodash");require("recharts");require("./components-ui-chart-chart.cjs");const A=require("./components-basic-avatar-basic-avatar.cjs");require("next-themes");require("sonner");require("vaul");const y=require("react-dropzone"),j=1,b=[".jpg",".png"],h=({src:u,fullName:o,maxFiles:a=j,accept:c=b,avatarProps:q,containerClassName:p,onChange:s})=>{const n=v.useMemo(()=>{const[e,r]=o?.split(" "),t=e?.charAt(0)||"",g=r?.charAt(0)||"";return(t+g).toUpperCase()||"?"},[o]),{getRootProps:l,getInputProps:m}=y.useDropzone({accept:{"image/*":c},maxFiles:a,onDrop:e=>{const r=e[0];if(r){const t=URL.createObjectURL(r);s?.(t)}}}),d=e=>{e.stopPropagation(),s?.("")};return i.jsxs("div",{...l(),className:f.cn(`bg-info-new-bg flex h-18 w-18 cursor-pointer items-center justify-center
2
- overflow-hidden rounded-full transition-colors`,p),children:[i.jsx("input",{...m()}),u?i.jsx(A.BasicAvatar,{...q,image:{src:u},initials:{text:n},hasBadge:!0,onClick:d}):i.jsx(x.Typography,{variant:"body-xxl-medium",className:"text-info-new-text flex items-center justify-center",children:n})]})};exports.AvatarUpload=h;
1
+ "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});require('./brd-ui-kit.css');const i=require("react/jsx-runtime");;/* empty css */const x=require("./lib-utils.cjs");require("class-variance-authority");const f=require("react");require("./components-ui-badge-badge.styles.cjs");require("./components-ui-button-button.cjs");require("./components-ui-button-button.styles.cjs");require("./components-ui-card-card.cjs");require("./components-ui-checkbox-checkbox.cjs");require("lucide-react");require("./components-ui-icon-overrides.cjs");require("./components-ui-combobox-combobox.cjs");require("./components-ui-dialog-dialog.cjs");require("./components-ui-label-label.cjs");require("./components-ui-separator-separator.cjs");require("./components-ui-field-field.styles.cjs");require("./components-ui-input-input.styles.cjs");require("./components-ui-textarea-textarea.cjs");require("./components-ui-input-group-input-group.styles.cjs");require("./components-ui-navigation-item-navigation-item.styles.cjs");require("./components-ui-navigation-menu-navigation-menu.styles.cjs");require("./components-ui-pagination-pagination.cjs");require("./components-ui-progress-progress.cjs");require("./components-ui-radio-group-radio-group.cjs");require("./components-ui-switch-switch.cjs");require("./components-ui-table-table.cjs");require("./components-ui-tabs-tabs.cjs");require("./components-ui-tooltip-tooltip.cjs");const v=require("./components-ui-typography-typography.cjs");require("./components-ui-typography-typography.styles.cjs");require("./components-app-pagination-app-pagination.styles.cjs");require("./components-app-sidebar-app-sidebar.styles.cjs");require("./components-select-field-select-field.cjs");require("./lodash-kqhtUJfz.cjs");require("./chart-CgVfpT_X.cjs");const A=require("./components-basic-avatar-basic-avatar.cjs");require("./index-DGxwh2Ms.cjs");require("./index-fTTv8YY8.cjs");const y=require("./index-D8y9Cogu.cjs"),j=1,b=[".jpg",".png"],h=({src:u,fullName:o,maxFiles:a=j,accept:c=b,avatarProps:q,containerClassName:p,onChange:s})=>{const n=f.useMemo(()=>{const[e,r]=o?.split(" "),t=e?.charAt(0)||"",g=r?.charAt(0)||"";return(t+g).toUpperCase()||"?"},[o]),{getRootProps:l,getInputProps:d}=y.useDropzone({accept:{"image/*":c},maxFiles:a,onDrop:e=>{const r=e[0];if(r){const t=URL.createObjectURL(r);s?.(t)}}}),m=e=>{e.stopPropagation(),s?.("")};return i.jsxs("div",{...l(),className:x.cn(`bg-info-new-bg flex h-18 w-18 cursor-pointer items-center justify-center
2
+ overflow-hidden rounded-full transition-colors`,p),children:[i.jsx("input",{...d()}),u?i.jsx(A.BasicAvatar,{...q,image:{src:u},initials:{text:n},hasBadge:!0,onClick:m}):i.jsx(v.Typography,{variant:"body-xxl-medium",className:"text-info-new-text flex items-center justify-center",children:n})]})};exports.AvatarUpload=h;
3
3
  //# sourceMappingURL=components-avatar-uploader-avatar-uploader.cjs.map
@@ -1 +1 @@
1
- {"version":3,"file":"components-avatar-uploader-avatar-uploader.cjs","sources":["../src/components/avatar-uploader/avatar-uploader.tsx"],"sourcesContent":["import { cn } from \"@/index\";\nimport { useMemo } from \"react\";\nimport { useDropzone } from \"react-dropzone\";\nimport { BasicAvatar, type BasicAvatarProps } from \"../basic-avatar\";\nimport { Typography } from \"../ui/typography\";\n\ntype Props = {\n maxFiles?: number;\n src?: string;\n fullName: string;\n accept?: string[];\n avatarProps?: BasicAvatarProps;\n containerClassName?: string;\n onChange?: (src: string | null) => void;\n};\n\nconst DEFAULT_MAX_FILES = 1;\nconst DEFAULT_ACCEPT = [\".jpg\", \".png\"];\n\nexport const AvatarUpload = ({\n src,\n fullName,\n maxFiles = DEFAULT_MAX_FILES,\n accept = DEFAULT_ACCEPT,\n avatarProps,\n containerClassName,\n onChange,\n}: Props) => {\n const initials = useMemo(() => {\n const [firstName, lastName] = fullName?.split(\" \");\n const first = firstName?.charAt(0) || \"\";\n const last = lastName?.charAt(0) || \"\";\n\n return (first + last).toUpperCase() || \"?\";\n }, [fullName]);\n\n const { getRootProps, getInputProps } = useDropzone({\n accept: { \"image/*\": accept },\n maxFiles,\n onDrop: (files) => {\n const file = files[0];\n if (file) {\n const previewUrl = URL.createObjectURL(file);\n onChange?.(previewUrl);\n }\n },\n });\n\n const removeAvatar = (e: React.MouseEvent<HTMLDivElement>) => {\n e.stopPropagation();\n onChange?.(\"\");\n };\n\n return (\n <div\n {...getRootProps()}\n className={cn(\n `bg-info-new-bg flex h-18 w-18 cursor-pointer items-center justify-center\n overflow-hidden rounded-full transition-colors`,\n containerClassName,\n )}\n >\n <input {...getInputProps()} />\n {src ? (\n <BasicAvatar\n {...avatarProps}\n image={{\n src,\n }}\n initials={{ text: initials }}\n hasBadge\n onClick={removeAvatar}\n />\n ) : (\n <Typography\n variant=\"body-xxl-medium\"\n className=\"text-info-new-text flex items-center justify-center\"\n >\n {initials}\n </Typography>\n )}\n </div>\n );\n};\n\nexport type { Props as AvatarUploadProps };\n"],"names":["DEFAULT_MAX_FILES","DEFAULT_ACCEPT","AvatarUpload","src","fullName","maxFiles","accept","avatarProps","containerClassName","onChange","initials","useMemo","firstName","lastName","first","last","getRootProps","getInputProps","useDropzone","files","file","previewUrl","removeAvatar","jsxs","cn","jsx","BasicAvatar","Typography"],"mappings":"86DAgBMA,EAAoB,EACpBC,EAAiB,CAAC,OAAQ,MAAM,EAEzBC,EAAe,CAAC,CAC3B,IAAAC,EACA,SAAAC,EACA,SAAAC,EAAWL,EACX,OAAAM,EAASL,EACT,YAAAM,EACA,mBAAAC,EACA,SAAAC,CACF,IAAa,CACX,MAAMC,EAAWC,EAAAA,QAAQ,IAAM,CAC7B,KAAM,CAACC,EAAWC,CAAQ,EAAIT,GAAU,MAAM,GAAG,EAC3CU,EAAQF,GAAW,OAAO,CAAC,GAAK,GAChCG,EAAOF,GAAU,OAAO,CAAC,GAAK,GAEpC,OAAQC,EAAQC,GAAM,YAAA,GAAiB,GACzC,EAAG,CAACX,CAAQ,CAAC,EAEP,CAAE,aAAAY,EAAc,cAAAC,CAAA,EAAkBC,cAAY,CAClD,OAAQ,CAAE,UAAWZ,CAAA,EACrB,SAAAD,EACA,OAASc,GAAU,CACjB,MAAMC,EAAOD,EAAM,CAAC,EACpB,GAAIC,EAAM,CACR,MAAMC,EAAa,IAAI,gBAAgBD,CAAI,EAC3CX,IAAWY,CAAU,CACvB,CACF,CAAA,CACD,EAEKC,EAAgB,GAAwC,CAC5D,EAAE,gBAAA,EACFb,IAAW,EAAE,CACf,EAEA,OACEc,EAAAA,KAAC,MAAA,CACE,GAAGP,EAAA,EACJ,UAAWQ,EAAAA,GACT;AAAA,wDAEAhB,CAAA,EAGF,SAAA,CAAAiB,EAAAA,IAAC,QAAA,CAAO,GAAGR,EAAA,CAAc,CAAG,EAC3Bd,EACCsB,EAAAA,IAACC,EAAAA,YAAA,CACE,GAAGnB,EACJ,MAAO,CACL,IAAAJ,CAAA,EAEF,SAAU,CAAE,KAAMO,CAAA,EAClB,SAAQ,GACR,QAASY,CAAA,CAAA,EAGXG,EAAAA,IAACE,EAAAA,WAAA,CACC,QAAQ,kBACR,UAAU,sDAET,SAAAjB,CAAA,CAAA,CACH,CAAA,CAAA,CAIR"}
1
+ {"version":3,"file":"components-avatar-uploader-avatar-uploader.cjs","sources":["../src/components/avatar-uploader/avatar-uploader.tsx"],"sourcesContent":["import { cn } from \"@/index\";\nimport { useMemo } from \"react\";\nimport { useDropzone } from \"react-dropzone\";\nimport { BasicAvatar, type BasicAvatarProps } from \"../basic-avatar\";\nimport { Typography } from \"../ui/typography\";\n\ntype Props = {\n maxFiles?: number;\n src?: string;\n fullName: string;\n accept?: string[];\n avatarProps?: BasicAvatarProps;\n containerClassName?: string;\n onChange?: (src: string | null) => void;\n};\n\nconst DEFAULT_MAX_FILES = 1;\nconst DEFAULT_ACCEPT = [\".jpg\", \".png\"];\n\nexport const AvatarUpload = ({\n src,\n fullName,\n maxFiles = DEFAULT_MAX_FILES,\n accept = DEFAULT_ACCEPT,\n avatarProps,\n containerClassName,\n onChange,\n}: Props) => {\n const initials = useMemo(() => {\n const [firstName, lastName] = fullName?.split(\" \");\n const first = firstName?.charAt(0) || \"\";\n const last = lastName?.charAt(0) || \"\";\n\n return (first + last).toUpperCase() || \"?\";\n }, [fullName]);\n\n const { getRootProps, getInputProps } = useDropzone({\n accept: { \"image/*\": accept },\n maxFiles,\n onDrop: (files) => {\n const file = files[0];\n if (file) {\n const previewUrl = URL.createObjectURL(file);\n onChange?.(previewUrl);\n }\n },\n });\n\n const removeAvatar = (e: React.MouseEvent<HTMLDivElement>) => {\n e.stopPropagation();\n onChange?.(\"\");\n };\n\n return (\n <div\n {...getRootProps()}\n className={cn(\n `bg-info-new-bg flex h-18 w-18 cursor-pointer items-center justify-center\n overflow-hidden rounded-full transition-colors`,\n containerClassName,\n )}\n >\n <input {...getInputProps()} />\n {src ? (\n <BasicAvatar\n {...avatarProps}\n image={{\n src,\n }}\n initials={{ text: initials }}\n hasBadge\n onClick={removeAvatar}\n />\n ) : (\n <Typography\n variant=\"body-xxl-medium\"\n className=\"text-info-new-text flex items-center justify-center\"\n >\n {initials}\n </Typography>\n )}\n </div>\n );\n};\n\nexport type { Props as AvatarUploadProps };\n"],"names":["DEFAULT_MAX_FILES","DEFAULT_ACCEPT","AvatarUpload","src","fullName","maxFiles","accept","avatarProps","containerClassName","onChange","initials","useMemo","firstName","lastName","first","last","getRootProps","getInputProps","useDropzone","files","file","previewUrl","removeAvatar","jsxs","cn","jsx","BasicAvatar","Typography"],"mappings":"o6DAgBMA,EAAoB,EACpBC,EAAiB,CAAC,OAAQ,MAAM,EAEzBC,EAAe,CAAC,CAC3B,IAAAC,EACA,SAAAC,EACA,SAAAC,EAAWL,EACX,OAAAM,EAASL,EACT,YAAAM,EACA,mBAAAC,EACA,SAAAC,CACF,IAAa,CACX,MAAMC,EAAWC,EAAAA,QAAQ,IAAM,CAC7B,KAAM,CAACC,EAAWC,CAAQ,EAAIT,GAAU,MAAM,GAAG,EAC3CU,EAAQF,GAAW,OAAO,CAAC,GAAK,GAChCG,EAAOF,GAAU,OAAO,CAAC,GAAK,GAEpC,OAAQC,EAAQC,GAAM,YAAA,GAAiB,GACzC,EAAG,CAACX,CAAQ,CAAC,EAEP,CAAE,aAAAY,EAAc,cAAAC,CAAA,EAAkBC,cAAY,CAClD,OAAQ,CAAE,UAAWZ,CAAA,EACrB,SAAAD,EACA,OAASc,GAAU,CACjB,MAAMC,EAAOD,EAAM,CAAC,EACpB,GAAIC,EAAM,CACR,MAAMC,EAAa,IAAI,gBAAgBD,CAAI,EAC3CX,IAAWY,CAAU,CACvB,CACF,CAAA,CACD,EAEKC,EAAgB,GAAwC,CAC5D,EAAE,gBAAA,EACFb,IAAW,EAAE,CACf,EAEA,OACEc,EAAAA,KAAC,MAAA,CACE,GAAGP,EAAA,EACJ,UAAWQ,EAAAA,GACT;AAAA,wDAEAhB,CAAA,EAGF,SAAA,CAAAiB,EAAAA,IAAC,QAAA,CAAO,GAAGR,EAAA,CAAc,CAAG,EAC3Bd,EACCsB,EAAAA,IAACC,EAAAA,YAAA,CACE,GAAGnB,EACJ,MAAO,CACL,IAAAJ,CAAA,EAEF,SAAU,CAAE,KAAMO,CAAA,EAClB,SAAQ,GACR,QAASY,CAAA,CAAA,EAGXG,EAAAA,IAACE,EAAAA,WAAA,CACC,QAAQ,kBACR,UAAU,sDAET,SAAAjB,CAAA,CAAA,CACH,CAAA,CAAA,CAIR"}
@@ -0,0 +1,103 @@
1
+ import { jsxs as x, jsx as i } from "react/jsx-runtime";
2
+ import './brd-ui-kit.css';/* empty css */
3
+ import { cn as A } from "./lib-utils.js";
4
+ import "class-variance-authority";
5
+ import { useMemo as v } from "react";
6
+ import "./components-ui-badge-badge.styles.js";
7
+ import "./components-ui-button-button.js";
8
+ import "./components-ui-button-button.styles.js";
9
+ import "./components-ui-card-card.js";
10
+ import "./components-ui-checkbox-checkbox.js";
11
+ import "lucide-react";
12
+ import "./components-ui-icon-overrides.js";
13
+ import "./components-ui-combobox-combobox.js";
14
+ import "./components-ui-dialog-dialog.js";
15
+ import "./components-ui-label-label.js";
16
+ import "./components-ui-separator-separator.js";
17
+ import "./components-ui-field-field.styles.js";
18
+ import "./components-ui-input-input.styles.js";
19
+ import "./components-ui-textarea-textarea.js";
20
+ import "./components-ui-input-group-input-group.styles.js";
21
+ import "./components-ui-navigation-item-navigation-item.styles.js";
22
+ import "./components-ui-navigation-menu-navigation-menu.styles.js";
23
+ import "./components-ui-pagination-pagination.js";
24
+ import "./components-ui-progress-progress.js";
25
+ import "./components-ui-radio-group-radio-group.js";
26
+ import "./components-ui-switch-switch.js";
27
+ import "./components-ui-table-table.js";
28
+ import "./components-ui-tabs-tabs.js";
29
+ import "./components-ui-tooltip-tooltip.js";
30
+ import { Typography as h } from "./components-ui-typography-typography.js";
31
+ import "./components-ui-typography-typography.styles.js";
32
+ import "./components-app-pagination-app-pagination.styles.js";
33
+ import "./components-app-sidebar-app-sidebar.styles.js";
34
+ import "./components-select-field-select-field.js";
35
+ import "./lodash-FemA_LCk.js";
36
+ import "./chart-D15EtNmb.js";
37
+ import { BasicAvatar as U } from "./components-basic-avatar-basic-avatar.js";
38
+ import "./index-C4iHL8Gs.js";
39
+ import "./index-C6N9aMq_.js";
40
+ import { u as j } from "./index-B5Id-jNC.js";
41
+ const w = 1, y = [".jpg", ".png"], ct = ({
42
+ src: p,
43
+ fullName: m,
44
+ maxFiles: n = w,
45
+ accept: a = y,
46
+ avatarProps: c,
47
+ containerClassName: l,
48
+ onChange: e
49
+ }) => {
50
+ const s = v(() => {
51
+ const [t, o] = m?.split(" "), r = t?.charAt(0) || "", g = o?.charAt(0) || "";
52
+ return (r + g).toUpperCase() || "?";
53
+ }, [m]), { getRootProps: f, getInputProps: u } = j({
54
+ accept: { "image/*": a },
55
+ maxFiles: n,
56
+ onDrop: (t) => {
57
+ const o = t[0];
58
+ if (o) {
59
+ const r = URL.createObjectURL(o);
60
+ e?.(r);
61
+ }
62
+ }
63
+ }), d = (t) => {
64
+ t.stopPropagation(), e?.("");
65
+ };
66
+ return /* @__PURE__ */ x(
67
+ "div",
68
+ {
69
+ ...f(),
70
+ className: A(
71
+ `bg-info-new-bg flex h-18 w-18 cursor-pointer items-center justify-center
72
+ overflow-hidden rounded-full transition-colors`,
73
+ l
74
+ ),
75
+ children: [
76
+ /* @__PURE__ */ i("input", { ...u() }),
77
+ p ? /* @__PURE__ */ i(
78
+ U,
79
+ {
80
+ ...c,
81
+ image: {
82
+ src: p
83
+ },
84
+ initials: { text: s },
85
+ hasBadge: !0,
86
+ onClick: d
87
+ }
88
+ ) : /* @__PURE__ */ i(
89
+ h,
90
+ {
91
+ variant: "body-xxl-medium",
92
+ className: "text-info-new-text flex items-center justify-center",
93
+ children: s
94
+ }
95
+ )
96
+ ]
97
+ }
98
+ );
99
+ };
100
+ export {
101
+ ct as AvatarUpload
102
+ };
103
+ //# sourceMappingURL=components-avatar-uploader-avatar-uploader.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"components-avatar-uploader-avatar-uploader.js","sources":["../src/components/avatar-uploader/avatar-uploader.tsx"],"sourcesContent":["import { cn } from \"@/index\";\nimport { useMemo } from \"react\";\nimport { useDropzone } from \"react-dropzone\";\nimport { BasicAvatar, type BasicAvatarProps } from \"../basic-avatar\";\nimport { Typography } from \"../ui/typography\";\n\ntype Props = {\n maxFiles?: number;\n src?: string;\n fullName: string;\n accept?: string[];\n avatarProps?: BasicAvatarProps;\n containerClassName?: string;\n onChange?: (src: string | null) => void;\n};\n\nconst DEFAULT_MAX_FILES = 1;\nconst DEFAULT_ACCEPT = [\".jpg\", \".png\"];\n\nexport const AvatarUpload = ({\n src,\n fullName,\n maxFiles = DEFAULT_MAX_FILES,\n accept = DEFAULT_ACCEPT,\n avatarProps,\n containerClassName,\n onChange,\n}: Props) => {\n const initials = useMemo(() => {\n const [firstName, lastName] = fullName?.split(\" \");\n const first = firstName?.charAt(0) || \"\";\n const last = lastName?.charAt(0) || \"\";\n\n return (first + last).toUpperCase() || \"?\";\n }, [fullName]);\n\n const { getRootProps, getInputProps } = useDropzone({\n accept: { \"image/*\": accept },\n maxFiles,\n onDrop: (files) => {\n const file = files[0];\n if (file) {\n const previewUrl = URL.createObjectURL(file);\n onChange?.(previewUrl);\n }\n },\n });\n\n const removeAvatar = (e: React.MouseEvent<HTMLDivElement>) => {\n e.stopPropagation();\n onChange?.(\"\");\n };\n\n return (\n <div\n {...getRootProps()}\n className={cn(\n `bg-info-new-bg flex h-18 w-18 cursor-pointer items-center justify-center\n overflow-hidden rounded-full transition-colors`,\n containerClassName,\n )}\n >\n <input {...getInputProps()} />\n {src ? (\n <BasicAvatar\n {...avatarProps}\n image={{\n src,\n }}\n initials={{ text: initials }}\n hasBadge\n onClick={removeAvatar}\n />\n ) : (\n <Typography\n variant=\"body-xxl-medium\"\n className=\"text-info-new-text flex items-center justify-center\"\n >\n {initials}\n </Typography>\n )}\n </div>\n );\n};\n\nexport type { Props as AvatarUploadProps };\n"],"names":["DEFAULT_MAX_FILES","DEFAULT_ACCEPT","AvatarUpload","src","fullName","maxFiles","accept","avatarProps","containerClassName","onChange","initials","useMemo","firstName","lastName","first","last","getRootProps","getInputProps","useDropzone","files","file","previewUrl","removeAvatar","e","jsxs","cn","jsx","BasicAvatar","Typography"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAgBA,MAAMA,IAAoB,GACpBC,IAAiB,CAAC,QAAQ,MAAM,GAEzBC,KAAe,CAAC;AAAA,EAC3B,KAAAC;AAAA,EACA,UAAAC;AAAA,EACA,UAAAC,IAAWL;AAAA,EACX,QAAAM,IAASL;AAAA,EACT,aAAAM;AAAA,EACA,oBAAAC;AAAA,EACA,UAAAC;AACF,MAAa;AACX,QAAMC,IAAWC,EAAQ,MAAM;AAC7B,UAAM,CAACC,GAAWC,CAAQ,IAAIT,GAAU,MAAM,GAAG,GAC3CU,IAAQF,GAAW,OAAO,CAAC,KAAK,IAChCG,IAAOF,GAAU,OAAO,CAAC,KAAK;AAEpC,YAAQC,IAAQC,GAAM,YAAA,KAAiB;AAAA,EACzC,GAAG,CAACX,CAAQ,CAAC,GAEP,EAAE,cAAAY,GAAc,eAAAC,EAAA,IAAkBC,EAAY;AAAA,IAClD,QAAQ,EAAE,WAAWZ,EAAA;AAAA,IACrB,UAAAD;AAAA,IACA,QAAQ,CAACc,MAAU;AACjB,YAAMC,IAAOD,EAAM,CAAC;AACpB,UAAIC,GAAM;AACR,cAAMC,IAAa,IAAI,gBAAgBD,CAAI;AAC3C,QAAAX,IAAWY,CAAU;AAAA,MACvB;AAAA,IACF;AAAA,EAAA,CACD,GAEKC,IAAe,CAACC,MAAwC;AAC5D,IAAAA,EAAE,gBAAA,GACFd,IAAW,EAAE;AAAA,EACf;AAEA,SACE,gBAAAe;AAAA,IAAC;AAAA,IAAA;AAAA,MACE,GAAGR,EAAA;AAAA,MACJ,WAAWS;AAAA,QACT;AAAA;AAAA,QAEAjB;AAAA,MAAA;AAAA,MAGF,UAAA;AAAA,QAAA,gBAAAkB,EAAC,SAAA,EAAO,GAAGT,EAAA,EAAc,CAAG;AAAA,QAC3Bd,IACC,gBAAAuB;AAAA,UAACC;AAAA,UAAA;AAAA,YACE,GAAGpB;AAAA,YACJ,OAAO;AAAA,cACL,KAAAJ;AAAA,YAAA;AAAA,YAEF,UAAU,EAAE,MAAMO,EAAA;AAAA,YAClB,UAAQ;AAAA,YACR,SAASY;AAAA,UAAA;AAAA,QAAA,IAGX,gBAAAI;AAAA,UAACE;AAAA,UAAA;AAAA,YACC,SAAQ;AAAA,YACR,WAAU;AAAA,YAET,UAAAlB;AAAA,UAAA;AAAA,QAAA;AAAA,MACH;AAAA,IAAA;AAAA,EAAA;AAIR;"}
@@ -0,0 +1,5 @@
1
+ import { AvatarUpload as r } from "./components-avatar-uploader-avatar-uploader.js";
2
+ export {
3
+ r as AvatarUpload
4
+ };
5
+ //# sourceMappingURL=components-avatar-uploader.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"components-avatar-uploader.js","sources":[],"sourcesContent":[],"names":[],"mappings":";"}
@@ -1,4 +1,4 @@
1
- "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});require('./brd-ui-kit.css');const e=require("react/jsx-runtime");;/* empty css */const r=require("./lib-utils.cjs");require("class-variance-authority");require("react");require("./components-ui-badge-badge.styles.cjs");require("./components-ui-button-button.cjs");require("./components-ui-button-button.styles.cjs");require("./components-ui-card-card.cjs");require("./components-ui-checkbox-checkbox.cjs");const p=require("./components-ui-icon-icon.cjs");require("./components-ui-combobox-combobox.cjs");require("./components-ui-dialog-dialog.cjs");require("./components-ui-label-label.cjs");require("./components-ui-separator-separator.cjs");require("./components-ui-field-field.styles.cjs");require("./components-ui-input-input.styles.cjs");require("./components-ui-textarea-textarea.cjs");require("./components-ui-input-group-input-group.styles.cjs");require("./components-ui-navigation-item-navigation-item.styles.cjs");require("./components-ui-navigation-menu-navigation-menu.styles.cjs");require("./components-ui-pagination-pagination.cjs");require("./components-ui-progress-progress.cjs");require("./components-ui-radio-group-radio-group.cjs");require("./components-ui-switch-switch.cjs");require("./components-ui-table-table.cjs");require("./components-ui-tabs-tabs.cjs");require("./components-ui-tooltip-tooltip.cjs");const m=require("./components-ui-typography-typography.cjs");require("./components-ui-typography-typography.styles.cjs");const i=require("./components-ui-avatar-avatar.cjs");require("lucide-react");require("./components-app-pagination-app-pagination.styles.cjs");require("./components-app-sidebar-app-sidebar.styles.cjs");require("./components-select-field-select-field.cjs");require("lodash");require("recharts");require("./components-ui-chart-chart.cjs");require("react-dropzone");require("next-themes");require("sonner");require("vaul");const y=({initials:u,avatar:t,fallback:n,image:a,icon:c,showDeleteOnHover:o=!0,onClick:q=()=>{}})=>{const s=e.jsxs(i.Avatar,{...t,className:r.cn("h-18 w-18",t?.className),children:[e.jsx(i.AvatarImage,{...a,alt:"avatar",className:r.cn("h-full w-full border-0",a?.className)}),e.jsx(i.AvatarFallback,{...n,children:e.jsx(m.Typography,{variant:"body-xxl-medium",className:r.cn("text-info-new-text",u?.className),children:u?.text})})]});return o?e.jsxs("div",{className:"relative inline-block",children:[s,e.jsx("div",{className:`text-primary-bg bg-primary-inverse-bg/50 absolute inset-0 flex
1
+ "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});require('./brd-ui-kit.css');const e=require("react/jsx-runtime");;/* empty css */const r=require("./lib-utils.cjs");require("class-variance-authority");require("react");require("./components-ui-badge-badge.styles.cjs");require("./components-ui-button-button.cjs");require("./components-ui-button-button.styles.cjs");require("./components-ui-card-card.cjs");require("./components-ui-checkbox-checkbox.cjs");const p=require("./components-ui-icon-icon.cjs");require("./components-ui-combobox-combobox.cjs");require("./components-ui-dialog-dialog.cjs");require("./components-ui-label-label.cjs");require("./components-ui-separator-separator.cjs");require("./components-ui-field-field.styles.cjs");require("./components-ui-input-input.styles.cjs");require("./components-ui-textarea-textarea.cjs");require("./components-ui-input-group-input-group.styles.cjs");require("./components-ui-navigation-item-navigation-item.styles.cjs");require("./components-ui-navigation-menu-navigation-menu.styles.cjs");require("./components-ui-pagination-pagination.cjs");require("./components-ui-progress-progress.cjs");require("./components-ui-radio-group-radio-group.cjs");require("./components-ui-switch-switch.cjs");require("./components-ui-table-table.cjs");require("./components-ui-tabs-tabs.cjs");require("./components-ui-tooltip-tooltip.cjs");const m=require("./components-ui-typography-typography.cjs");require("./components-ui-typography-typography.styles.cjs");const i=require("./components-ui-avatar-avatar.cjs");require("lucide-react");require("./components-app-pagination-app-pagination.styles.cjs");require("./components-app-sidebar-app-sidebar.styles.cjs");require("./components-select-field-select-field.cjs");require("./lodash-kqhtUJfz.cjs");require("./chart-CgVfpT_X.cjs");require("./index-DGxwh2Ms.cjs");require("./index-fTTv8YY8.cjs");const y=({initials:u,avatar:t,fallback:n,image:a,icon:c,showDeleteOnHover:o=!0,onClick:q=()=>{}})=>{const s=e.jsxs(i.Avatar,{...t,className:r.cn("h-18 w-18",t?.className),children:[e.jsx(i.AvatarImage,{...a,alt:"avatar",className:r.cn("h-full w-full border-0",a?.className)}),e.jsx(i.AvatarFallback,{...n,children:e.jsx(m.Typography,{variant:"body-xxl-medium",className:r.cn("text-info-new-text",u?.className),children:u?.text})})]});return o?e.jsxs("div",{className:"relative inline-block",children:[s,e.jsx("div",{className:`text-primary-bg bg-primary-inverse-bg/50 absolute inset-0 flex
2
2
  cursor-pointer items-center justify-center rounded-full opacity-0
3
3
  transition-opacity hover:opacity-100`,onClick:l=>l.stopPropagation(),children:e.jsx(p.Icon,{...c,type:"close",onClick:q})})]}):s};exports.BasicAvatar=y;
4
4
  //# sourceMappingURL=components-basic-avatar-basic-avatar.cjs.map
@@ -1 +1 @@
1
- {"version":3,"file":"components-basic-avatar-basic-avatar.cjs","sources":["../src/components/basic-avatar/basic-avatar.tsx"],"sourcesContent":["import { Icon, Typography, cn } from \"@/index\";\nimport { Avatar as AvatarPrimitive } from \"radix-ui\";\nimport { Avatar, AvatarFallback, AvatarImage } from \"../ui/avatar\";\nimport type { IconProps } from \"../ui/icon\";\n\ntype AvatarProps = React.ComponentProps<typeof AvatarPrimitive.Root> & {\n size?: \"default\" | \"sm\" | \"lg\";\n};\ntype AvatarFallbackProps = React.ComponentProps<typeof AvatarPrimitive.Fallback>;\ntype AvatarImageProps = React.ComponentProps<typeof AvatarPrimitive.Image>;\n\ntype Props = {\n initials?: {\n text?: string;\n className?: string;\n };\n hasBadge?: boolean;\n avatar?: AvatarProps;\n fallback?: AvatarFallbackProps;\n image?: AvatarImageProps;\n showDeleteOnHover?: boolean;\n icon?: IconProps;\n onClick?: (e: React.MouseEvent<HTMLDivElement>) => void;\n};\n\nexport const BasicAvatar = ({\n initials,\n avatar,\n fallback,\n image,\n icon,\n showDeleteOnHover = true,\n onClick = () => {},\n}: Props) => {\n const content = (\n <Avatar\n {...avatar}\n className={cn(\"h-18 w-18\", avatar?.className)}\n >\n <AvatarImage\n {...image}\n alt=\"avatar\"\n className={cn(\"h-full w-full border-0\", image?.className)}\n />\n <AvatarFallback {...fallback}>\n <Typography\n variant=\"body-xxl-medium\"\n className={cn(\"text-info-new-text\", initials?.className)}\n >\n {initials?.text}\n </Typography>\n </AvatarFallback>\n </Avatar>\n );\n\n if (!showDeleteOnHover) {\n return content;\n }\n\n return (\n <div className=\"relative inline-block\">\n {content}\n <div\n className=\"text-primary-bg bg-primary-inverse-bg/50 absolute inset-0 flex\n cursor-pointer items-center justify-center rounded-full opacity-0\n transition-opacity hover:opacity-100\"\n onClick={(e) => e.stopPropagation()}\n >\n <Icon\n {...icon}\n type=\"close\"\n onClick={onClick}\n />\n </div>\n </div>\n );\n};\n\nexport type {\n AvatarFallbackProps,\n AvatarImageProps,\n AvatarProps,\n Props as BasicAvatarProps,\n};\n"],"names":["BasicAvatar","initials","avatar","fallback","image","icon","showDeleteOnHover","onClick","content","jsxs","Avatar","cn","jsx","AvatarImage","AvatarFallback","Typography","e","Icon"],"mappings":"w5DAyBO,MAAMA,EAAc,CAAC,CAC1B,SAAAC,EACA,OAAAC,EACA,SAAAC,EACA,MAAAC,EACA,KAAAC,EACA,kBAAAC,EAAoB,GACpB,QAAAC,EAAU,IAAM,CAAC,CACnB,IAAa,CACX,MAAMC,EACJC,EAAAA,KAACC,EAAAA,OAAA,CACE,GAAGR,EACJ,UAAWS,EAAAA,GAAG,YAAaT,GAAQ,SAAS,EAE5C,SAAA,CAAAU,EAAAA,IAACC,EAAAA,YAAA,CACE,GAAGT,EACJ,IAAI,SACJ,UAAWO,EAAAA,GAAG,yBAA0BP,GAAO,SAAS,CAAA,CAAA,EAE1DQ,EAAAA,IAACE,EAAAA,eAAA,CAAgB,GAAGX,EAClB,SAAAS,EAAAA,IAACG,EAAAA,WAAA,CACC,QAAQ,kBACR,UAAWJ,EAAAA,GAAG,qBAAsBV,GAAU,SAAS,EAEtD,SAAAA,GAAU,IAAA,CAAA,CACb,CACF,CAAA,CAAA,CAAA,EAIJ,OAAKK,EAKHG,EAAAA,KAAC,MAAA,CAAI,UAAU,wBACZ,SAAA,CAAAD,EACDI,EAAAA,IAAC,MAAA,CACC,UAAU;AAAA;AAAA,gDAGV,QAAUI,GAAMA,EAAE,gBAAA,EAElB,SAAAJ,EAAAA,IAACK,EAAAA,KAAA,CACE,GAAGZ,EACJ,KAAK,QACL,QAAAE,CAAA,CAAA,CACF,CAAA,CACF,EACF,EAlBOC,CAoBX"}
1
+ {"version":3,"file":"components-basic-avatar-basic-avatar.cjs","sources":["../src/components/basic-avatar/basic-avatar.tsx"],"sourcesContent":["import { Icon, Typography, cn } from \"@/index\";\nimport { Avatar as AvatarPrimitive } from \"radix-ui\";\nimport { Avatar, AvatarFallback, AvatarImage } from \"../ui/avatar\";\nimport type { IconProps } from \"../ui/icon\";\n\ntype AvatarProps = React.ComponentProps<typeof AvatarPrimitive.Root> & {\n size?: \"default\" | \"sm\" | \"lg\";\n};\ntype AvatarFallbackProps = React.ComponentProps<typeof AvatarPrimitive.Fallback>;\ntype AvatarImageProps = React.ComponentProps<typeof AvatarPrimitive.Image>;\n\ntype Props = {\n initials?: {\n text?: string;\n className?: string;\n };\n hasBadge?: boolean;\n avatar?: AvatarProps;\n fallback?: AvatarFallbackProps;\n image?: AvatarImageProps;\n showDeleteOnHover?: boolean;\n icon?: IconProps;\n onClick?: (e: React.MouseEvent<HTMLDivElement>) => void;\n};\n\nexport const BasicAvatar = ({\n initials,\n avatar,\n fallback,\n image,\n icon,\n showDeleteOnHover = true,\n onClick = () => {},\n}: Props) => {\n const content = (\n <Avatar\n {...avatar}\n className={cn(\"h-18 w-18\", avatar?.className)}\n >\n <AvatarImage\n {...image}\n alt=\"avatar\"\n className={cn(\"h-full w-full border-0\", image?.className)}\n />\n <AvatarFallback {...fallback}>\n <Typography\n variant=\"body-xxl-medium\"\n className={cn(\"text-info-new-text\", initials?.className)}\n >\n {initials?.text}\n </Typography>\n </AvatarFallback>\n </Avatar>\n );\n\n if (!showDeleteOnHover) {\n return content;\n }\n\n return (\n <div className=\"relative inline-block\">\n {content}\n <div\n className=\"text-primary-bg bg-primary-inverse-bg/50 absolute inset-0 flex\n cursor-pointer items-center justify-center rounded-full opacity-0\n transition-opacity hover:opacity-100\"\n onClick={(e) => e.stopPropagation()}\n >\n <Icon\n {...icon}\n type=\"close\"\n onClick={onClick}\n />\n </div>\n </div>\n );\n};\n\nexport type {\n AvatarFallbackProps,\n AvatarImageProps,\n AvatarProps,\n Props as BasicAvatarProps,\n};\n"],"names":["BasicAvatar","initials","avatar","fallback","image","icon","showDeleteOnHover","onClick","content","jsxs","Avatar","cn","jsx","AvatarImage","AvatarFallback","Typography","e","Icon"],"mappings":"82DAyBO,MAAMA,EAAc,CAAC,CAC1B,SAAAC,EACA,OAAAC,EACA,SAAAC,EACA,MAAAC,EACA,KAAAC,EACA,kBAAAC,EAAoB,GACpB,QAAAC,EAAU,IAAM,CAAC,CACnB,IAAa,CACX,MAAMC,EACJC,EAAAA,KAACC,EAAAA,OAAA,CACE,GAAGR,EACJ,UAAWS,EAAAA,GAAG,YAAaT,GAAQ,SAAS,EAE5C,SAAA,CAAAU,EAAAA,IAACC,EAAAA,YAAA,CACE,GAAGT,EACJ,IAAI,SACJ,UAAWO,EAAAA,GAAG,yBAA0BP,GAAO,SAAS,CAAA,CAAA,EAE1DQ,EAAAA,IAACE,EAAAA,eAAA,CAAgB,GAAGX,EAClB,SAAAS,EAAAA,IAACG,EAAAA,WAAA,CACC,QAAQ,kBACR,UAAWJ,EAAAA,GAAG,qBAAsBV,GAAU,SAAS,EAEtD,SAAAA,GAAU,IAAA,CAAA,CACb,CACF,CAAA,CAAA,CAAA,EAIJ,OAAKK,EAKHG,EAAAA,KAAC,MAAA,CAAI,UAAU,wBACZ,SAAA,CAAAD,EACDI,EAAAA,IAAC,MAAA,CACC,UAAU;AAAA;AAAA,gDAGV,QAAUI,GAAMA,EAAE,gBAAA,EAElB,SAAAJ,EAAAA,IAACK,EAAAA,KAAA,CACE,GAAGZ,EACJ,KAAK,QACL,QAAAE,CAAA,CAAA,CACF,CAAA,CACF,EACF,EAlBOC,CAoBX"}