bmdl-sdk 1.5.8 → 2.0.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 (345) hide show
  1. package/.prettierrc +37 -0
  2. package/bin/dev.js +5 -4
  3. package/bin/init.js +2 -1
  4. package/bmdl-sdk-2.0.0.tgz +0 -0
  5. package/global.d.ts +9 -0
  6. package/next.config.ts +27 -0
  7. package/package.json +36 -15
  8. package/postcss.config.mjs +5 -0
  9. package/public/favicon.ico +0 -0
  10. package/public/images/bg/404.bg.dark.png +0 -0
  11. package/public/images/bg/404.bg.png +0 -0
  12. package/public/images/bg/maintenance.bg.dark.png +0 -0
  13. package/public/images/bg/maintenance.bg.png +0 -0
  14. package/public/images/bg/not-authorized.bg.dark.png +0 -0
  15. package/public/images/bg/not-authorized.bg.png +0 -0
  16. package/public/images/bg/redirect.bg.dark.png +0 -0
  17. package/public/images/bg/redirect.bg.png +0 -0
  18. package/public/images/cover/email-verify.cover.dark.png +0 -0
  19. package/public/images/cover/email-verify.cover.png +0 -0
  20. package/public/images/cover/login.cover.dark.png +0 -0
  21. package/public/images/cover/login.cover.png +0 -0
  22. package/public/images/cover/password-forgot.cover.dark.png +0 -0
  23. package/public/images/cover/password-forgot.cover.png +0 -0
  24. package/public/images/cover/password-reset.cover.dark.png +0 -0
  25. package/public/images/cover/password-reset.cover.png +0 -0
  26. package/public/images/cover/register.cover.dark.png +0 -0
  27. package/public/images/cover/register.cover.png +0 -0
  28. package/public/images/cover/two-factor-verify.cover.dark.png +0 -0
  29. package/public/images/cover/two-factor-verify.cover.png +0 -0
  30. package/public/images/lang/en.png +0 -0
  31. package/public/images/lang/ru.png +0 -0
  32. package/public/locales/en/datasets.json +92 -0
  33. package/public/locales/en/errors.json +402 -0
  34. package/public/locales/en/general.json +139 -0
  35. package/public/locales/ru/datasets.json +92 -0
  36. package/public/locales/ru/errors.json +406 -0
  37. package/public/locales/ru/general.json +139 -0
  38. package/src/app/datasets/page.tsx +25 -0
  39. package/src/app/layout.tsx +45 -0
  40. package/src/app/not-found.tsx +34 -0
  41. package/src/app/page.tsx +24 -0
  42. package/src/components/atoms/Actions/Actions.styles.ts +31 -0
  43. package/src/components/atoms/Actions/Actions.tsx +45 -0
  44. package/src/components/atoms/Actions/index.ts +1 -0
  45. package/src/components/atoms/Avatar/Avatar.styles.ts +95 -0
  46. package/src/components/atoms/Avatar/Avatar.tsx +46 -0
  47. package/src/components/atoms/Avatar/index.ts +1 -0
  48. package/src/components/atoms/Badge/Badge.styles.ts +93 -0
  49. package/src/components/atoms/Badge/Badge.tsx +31 -0
  50. package/src/components/atoms/Badge/index.ts +1 -0
  51. package/src/components/atoms/Button/Button.styles.ts +189 -0
  52. package/src/components/atoms/Button/Button.tsx +29 -0
  53. package/src/components/atoms/Button/index.ts +1 -0
  54. package/src/components/atoms/Calendar/Calendar.styles.ts +227 -0
  55. package/src/components/atoms/Calendar/Calendar.tsx +96 -0
  56. package/src/components/atoms/Calendar/index.ts +1 -0
  57. package/src/components/atoms/Checkbox/Checkbox.styles.ts +37 -0
  58. package/src/components/atoms/Checkbox/Checkbox.tsx +26 -0
  59. package/src/components/atoms/Checkbox/index.ts +1 -0
  60. package/src/components/atoms/Date/Date.styles.ts +6 -0
  61. package/src/components/atoms/Date/Date.tsx +27 -0
  62. package/src/components/atoms/Date/index.ts +1 -0
  63. package/src/components/atoms/DatePicker/DatePicker.styles.ts +53 -0
  64. package/src/components/atoms/DatePicker/DatePicker.tsx +114 -0
  65. package/src/components/atoms/DatePicker/DatePicker.utils.tsx +49 -0
  66. package/src/components/atoms/DatePicker/index.ts +1 -0
  67. package/src/components/atoms/Dialog/Dialog.styles.ts +71 -0
  68. package/src/components/atoms/Dialog/Dialog.tsx +55 -0
  69. package/src/components/atoms/Dialog/index.ts +1 -0
  70. package/src/components/atoms/Dropdown/Divider/Divider.styles.ts +8 -0
  71. package/src/components/atoms/Dropdown/Divider/Divider.tsx +14 -0
  72. package/src/components/atoms/Dropdown/Divider/index.ts +1 -0
  73. package/src/components/atoms/Dropdown/Dropdown.styles.ts +31 -0
  74. package/src/components/atoms/Dropdown/Dropdown.tsx +48 -0
  75. package/src/components/atoms/Dropdown/Item/Item.styles.ts +12 -0
  76. package/src/components/atoms/Dropdown/Item/Item.tsx +18 -0
  77. package/src/components/atoms/Dropdown/Item/index.ts +1 -0
  78. package/src/components/atoms/Dropdown/index.ts +1 -0
  79. package/src/components/atoms/Form/Form.styles.ts +23 -0
  80. package/src/components/atoms/Form/Form.tsx +21 -0
  81. package/src/components/atoms/Form/Item/Item.styles.ts +23 -0
  82. package/src/components/atoms/Form/Item/Item.tsx +11 -0
  83. package/src/components/atoms/Form/Item/index.ts +1 -0
  84. package/src/components/atoms/Form/Label/Label.tsx +11 -0
  85. package/src/components/atoms/Form/Label/index.ts +1 -0
  86. package/src/components/atoms/Form/Message/Message.tsx +29 -0
  87. package/src/components/atoms/Form/Message/index.ts +1 -0
  88. package/src/components/atoms/Form/index.ts +1 -0
  89. package/src/components/atoms/Input/Email/Email.tsx +11 -0
  90. package/src/components/atoms/Input/Email/index.ts +1 -0
  91. package/src/components/atoms/Input/Input.styles.ts +77 -0
  92. package/src/components/atoms/Input/Input.tsx +29 -0
  93. package/src/components/atoms/Input/Number/Number.tsx +12 -0
  94. package/src/components/atoms/Input/Number/index.ts +1 -0
  95. package/src/components/atoms/Input/OTP/OTP.styles.ts +30 -0
  96. package/src/components/atoms/Input/OTP/OTP.tsx +23 -0
  97. package/src/components/atoms/Input/OTP/index.ts +1 -0
  98. package/src/components/atoms/Input/Password/Password.tsx +11 -0
  99. package/src/components/atoms/Input/Password/index.ts +1 -0
  100. package/src/components/atoms/Input/Search/Search.tsx +12 -0
  101. package/src/components/atoms/Input/Search/index.ts +1 -0
  102. package/src/components/atoms/Input/index.ts +1 -0
  103. package/src/components/atoms/Label/Label.styles.ts +29 -0
  104. package/src/components/atoms/Label/Label.tsx +18 -0
  105. package/src/components/atoms/Label/index.ts +1 -0
  106. package/src/components/atoms/Logo/Logo.styles.ts +16 -0
  107. package/src/components/atoms/Logo/Logo.tsx +20 -0
  108. package/src/components/atoms/Logo/index.ts +1 -0
  109. package/src/components/atoms/Pagination/Pagination.styles.ts +77 -0
  110. package/src/components/atoms/Pagination/Pagination.tsx +131 -0
  111. package/src/components/atoms/Pagination/index.ts +1 -0
  112. package/src/components/atoms/Popover/Popover.styles.ts +28 -0
  113. package/src/components/atoms/Popover/Popover.tsx +46 -0
  114. package/src/components/atoms/Popover/index.ts +1 -0
  115. package/src/components/atoms/Radio/Item/Item.styles.ts +35 -0
  116. package/src/components/atoms/Radio/Item/Item.tsx +18 -0
  117. package/src/components/atoms/Radio/Item/index.ts +1 -0
  118. package/src/components/atoms/Radio/Radio.styles.ts +25 -0
  119. package/src/components/atoms/Radio/Radio.tsx +21 -0
  120. package/src/components/atoms/Radio/index.ts +1 -0
  121. package/src/components/atoms/RangeNumber/RangeNumber.tsx +33 -0
  122. package/src/components/atoms/RangeNumber/index.ts +1 -0
  123. package/src/components/atoms/Select/Item/Item.styles.ts +22 -0
  124. package/src/components/atoms/Select/Item/Item.tsx +17 -0
  125. package/src/components/atoms/Select/Item/index.ts +1 -0
  126. package/src/components/atoms/Select/Select.styles.ts +149 -0
  127. package/src/components/atoms/Select/Select.tsx +68 -0
  128. package/src/components/atoms/Select/index.ts +1 -0
  129. package/src/components/atoms/Separator/Separator.styles.ts +13 -0
  130. package/src/components/atoms/Separator/Separator.tsx +20 -0
  131. package/src/components/atoms/Separator/index.ts +1 -0
  132. package/src/components/atoms/Sheet/Sheet.styles.ts +100 -0
  133. package/src/components/atoms/Sheet/Sheet.tsx +53 -0
  134. package/src/components/atoms/Sheet/index.ts +1 -0
  135. package/src/components/atoms/Skeleton/Skeleton.styles.ts +30 -0
  136. package/src/components/atoms/Skeleton/Skeleton.tsx +11 -0
  137. package/src/components/atoms/Skeleton/index.ts +1 -0
  138. package/src/components/atoms/Spin/Spin.styles.ts +17 -0
  139. package/src/components/atoms/Spin/Spin.tsx +19 -0
  140. package/src/components/atoms/Spin/index.ts +1 -0
  141. package/src/components/atoms/Switch/Switch.styles.ts +34 -0
  142. package/src/components/atoms/Switch/Switch.tsx +20 -0
  143. package/src/components/atoms/Switch/index.ts +1 -0
  144. package/src/components/atoms/Table/FilterContent/FilterContent.styles.ts +33 -0
  145. package/src/components/atoms/Table/FilterContent/FilterContent.tsx +300 -0
  146. package/src/components/atoms/Table/FilterContent/index.ts +1 -0
  147. package/src/components/atoms/Table/FilterIcon/FilterIcon.tsx +16 -0
  148. package/src/components/atoms/Table/FilterIcon/index.ts +1 -0
  149. package/src/components/atoms/Table/SortIcon/SortIcon.tsx +32 -0
  150. package/src/components/atoms/Table/SortIcon/index.ts +1 -0
  151. package/src/components/atoms/Table/Table.styles.ts +178 -0
  152. package/src/components/atoms/Table/Table.tsx +484 -0
  153. package/src/components/atoms/Table/Table.utils.tsx +19 -0
  154. package/src/components/atoms/Table/index.ts +1 -0
  155. package/src/components/atoms/Tabs/Tabs.tsx +15 -0
  156. package/src/components/atoms/Tabs/index.ts +1 -0
  157. package/src/components/atoms/Textarea/Textarea.styles.ts +64 -0
  158. package/src/components/atoms/Textarea/Textarea.tsx +15 -0
  159. package/src/components/atoms/Textarea/index.ts +1 -0
  160. package/src/components/atoms/Toast/Toast.styles.ts +35 -0
  161. package/src/components/atoms/Toast/Toast.tsx +85 -0
  162. package/src/components/atoms/Toast/Toast.utils.tsx +43 -0
  163. package/src/components/atoms/Toast/index.ts +1 -0
  164. package/src/components/atoms/Tooltip/Tooltip.styles.ts +33 -0
  165. package/src/components/atoms/Tooltip/Tooltip.tsx +32 -0
  166. package/src/components/atoms/Tooltip/index.ts +1 -0
  167. package/src/components/atoms/Typography/Display/Display.styles.ts +26 -0
  168. package/src/components/atoms/Typography/Display/Display.tsx +11 -0
  169. package/src/components/atoms/Typography/Display/index.ts +1 -0
  170. package/src/components/atoms/Typography/Link/Link.styles.ts +32 -0
  171. package/src/components/atoms/Typography/Link/Link.tsx +25 -0
  172. package/src/components/atoms/Typography/Link/index.ts +1 -0
  173. package/src/components/atoms/Typography/Paragraph/Paragraph.styles.ts +32 -0
  174. package/src/components/atoms/Typography/Paragraph/Paragraph.tsx +11 -0
  175. package/src/components/atoms/Typography/Paragraph/index.ts +1 -0
  176. package/src/components/atoms/Typography/Text/Text.styles.ts +39 -0
  177. package/src/components/atoms/Typography/Text/Text.tsx +25 -0
  178. package/src/components/atoms/Typography/Text/index.ts +1 -0
  179. package/src/components/atoms/Typography/Title/Title.styles.ts +28 -0
  180. package/src/components/atoms/Typography/Title/Title.tsx +15 -0
  181. package/src/components/atoms/Typography/Title/index.ts +1 -0
  182. package/src/components/atoms/Typography/Typography.tsx +21 -0
  183. package/src/components/atoms/Typography/index.ts +1 -0
  184. package/src/components/atoms/icons/AvanpostIcon.tsx +31 -0
  185. package/src/components/atoms/icons/CheckIcon.tsx +22 -0
  186. package/src/components/atoms/icons/EmptyIcon.tsx +56 -0
  187. package/src/components/atoms/icons/LogoIcon.tsx +141 -0
  188. package/src/components/atoms/icons/NumberTypeIcon.tsx +25 -0
  189. package/src/components/atoms/icons/SidebarCloseIcon.tsx +75 -0
  190. package/src/components/atoms/icons/index.ts +6 -0
  191. package/src/components/atoms/index.ts +31 -0
  192. package/src/components/molecules/DataTable/CreationModal/CreationModal.tsx +31 -0
  193. package/src/components/molecules/DataTable/CreationModal/index.ts +1 -0
  194. package/src/components/molecules/DataTable/DataTable.styles.ts +23 -0
  195. package/src/components/molecules/DataTable/DataTable.tsx +167 -0
  196. package/src/components/molecules/DataTable/Name/Name.tsx +20 -0
  197. package/src/components/molecules/DataTable/Name/index.ts +1 -0
  198. package/src/components/molecules/DataTable/Skeleton/Skeleton.tsx +27 -0
  199. package/src/components/molecules/DataTable/Skeleton/index.ts +6 -0
  200. package/src/components/molecules/DataTable/index.ts +8 -0
  201. package/src/components/molecules/Header/Button/Button.styles.ts +24 -0
  202. package/src/components/molecules/Header/Button/Button.tsx +20 -0
  203. package/src/components/molecules/Header/Button/index.ts +1 -0
  204. package/src/components/molecules/Header/Header.styles.ts +16 -0
  205. package/src/components/molecules/Header/Header.tsx +20 -0
  206. package/src/components/molecules/Header/Navigate/Navigate.tsx +40 -0
  207. package/src/components/molecules/Header/Navigate/index.ts +1 -0
  208. package/src/components/molecules/Header/SelectLang/SelectLang.tsx +47 -0
  209. package/src/components/molecules/Header/SelectLang/index.ts +2 -0
  210. package/src/components/molecules/Header/SelectTheme/SelectTheme.tsx +43 -0
  211. package/src/components/molecules/Header/SelectTheme/index.ts +1 -0
  212. package/src/components/molecules/Header/index.ts +2 -0
  213. package/src/components/molecules/ProjectIcon/ProjectIcon.styles.ts +23 -0
  214. package/src/components/molecules/ProjectIcon/ProjectIcon.tsx +37 -0
  215. package/src/components/molecules/ProjectIcon/index.ts +1 -0
  216. package/src/components/molecules/Sidebar/Item/Item.styles.ts +52 -0
  217. package/src/components/molecules/Sidebar/Item/Item.tsx +30 -0
  218. package/src/components/molecules/Sidebar/Item/index.ts +1 -0
  219. package/src/components/molecules/Sidebar/Sidebar.styles.ts +97 -0
  220. package/src/components/molecules/Sidebar/Sidebar.tsx +122 -0
  221. package/src/components/molecules/Sidebar/Sidebar.utils.tsx +36 -0
  222. package/src/components/molecules/Sidebar/Trigger/Trigger.tsx +23 -0
  223. package/src/components/molecules/Sidebar/Trigger/index.ts +1 -0
  224. package/src/components/molecules/Sidebar/index.ts +1 -0
  225. package/src/components/molecules/Widget/Content/Content.tsx +80 -0
  226. package/src/components/molecules/Widget/Content/index.ts +1 -0
  227. package/src/components/molecules/Widget/Toolbox/Toolbox.tsx +0 -0
  228. package/src/components/molecules/Widget/Toolbox/index.ts +0 -0
  229. package/src/components/molecules/Widget/Widget.tsx +26 -0
  230. package/src/components/molecules/Widget/Widget.utils.tsx +31 -0
  231. package/src/components/molecules/Widget/index.ts +2 -0
  232. package/src/components/molecules/index.ts +6 -0
  233. package/src/components/organisms/ComponentWidget/ComponentWidget.tsx +107 -0
  234. package/src/components/organisms/ComponentWidget/index.ts +2 -0
  235. package/src/components/organisms/DatasetsTable/Creation/Creation.tsx +105 -0
  236. package/src/components/organisms/DatasetsTable/Creation/Navigate/Navigate.tsx +59 -0
  237. package/src/components/organisms/DatasetsTable/Creation/Navigate/index.ts +1 -0
  238. package/src/components/organisms/DatasetsTable/Creation/Step/Step.styles.ts +12 -0
  239. package/src/components/organisms/DatasetsTable/Creation/Step/Step.tsx +43 -0
  240. package/src/components/organisms/DatasetsTable/Creation/Step/index.ts +1 -0
  241. package/src/components/organisms/DatasetsTable/Creation/Steps/Step1/Step1.styles.ts +41 -0
  242. package/src/components/organisms/DatasetsTable/Creation/Steps/Step1/Step1.tsx +67 -0
  243. package/src/components/organisms/DatasetsTable/Creation/Steps/Step1/index.ts +1 -0
  244. package/src/components/organisms/DatasetsTable/Creation/Steps/Step2/SelectSource/SelectSource.tsx +252 -0
  245. package/src/components/organisms/DatasetsTable/Creation/Steps/Step2/SelectSource/index.ts +1 -0
  246. package/src/components/organisms/DatasetsTable/Creation/Steps/Step2/Step2.tsx +11 -0
  247. package/src/components/organisms/DatasetsTable/Creation/Steps/Step2/UploadFile/UploadFile.tsx +112 -0
  248. package/src/components/organisms/DatasetsTable/Creation/Steps/Step2/UploadFile/index.ts +1 -0
  249. package/src/components/organisms/DatasetsTable/Creation/Steps/Step2/index.ts +1 -0
  250. package/src/components/organisms/DatasetsTable/Creation/Steps/Step3/Step3.tsx +145 -0
  251. package/src/components/organisms/DatasetsTable/Creation/Steps/Step3/index.ts +1 -0
  252. package/src/components/organisms/DatasetsTable/Creation/Steps/Step4/Step4.tsx +120 -0
  253. package/src/components/organisms/DatasetsTable/Creation/Steps/Step4/index.ts +1 -0
  254. package/src/components/organisms/DatasetsTable/Creation/Steps/index.ts +4 -0
  255. package/src/components/organisms/DatasetsTable/Creation/index.ts +1 -0
  256. package/src/components/organisms/DatasetsTable/DatasetsTable.tsx +81 -0
  257. package/src/components/organisms/DatasetsTable/DatasetsTable.utils.tsx +125 -0
  258. package/src/components/organisms/DatasetsTable/Source/Source.styles.ts +7 -0
  259. package/src/components/organisms/DatasetsTable/Source/Source.tsx +39 -0
  260. package/src/components/organisms/DatasetsTable/Source/Source.utils.tsx +45 -0
  261. package/src/components/organisms/DatasetsTable/Source/index.ts +1 -0
  262. package/src/components/organisms/DatasetsTable/Status/Status.styles.ts +25 -0
  263. package/src/components/organisms/DatasetsTable/Status/Status.tsx +29 -0
  264. package/src/components/organisms/DatasetsTable/Status/Status.utils.tsx +29 -0
  265. package/src/components/organisms/DatasetsTable/Status/index.ts +1 -0
  266. package/src/components/organisms/DatasetsTable/Type/Type.styles.ts +7 -0
  267. package/src/components/organisms/DatasetsTable/Type/Type.tsx +32 -0
  268. package/src/components/organisms/DatasetsTable/Type/Type.utils.tsx +14 -0
  269. package/src/components/organisms/DatasetsTable/Type/index.ts +1 -0
  270. package/src/components/organisms/DatasetsTable/index.ts +1 -0
  271. package/src/components/organisms/index.ts +3 -0
  272. package/src/components/templates/DefaultLayout/DefaultLayout.styles.ts +26 -0
  273. package/src/components/templates/DefaultLayout/DefaultLayout.tsx +41 -0
  274. package/src/components/templates/DefaultLayout/index.ts +1 -0
  275. package/src/components/templates/PageLayout/PageLayout.styles.ts +25 -0
  276. package/src/components/templates/PageLayout/PageLayout.tsx +28 -0
  277. package/src/components/templates/PageLayout/index.ts +1 -0
  278. package/src/components/templates/index.ts +3 -0
  279. package/src/config/i18n.config.ts +46 -0
  280. package/src/constants/index.ts +10 -0
  281. package/src/contexts/CreateComponentContext/CreateComponentContext.tsx +17 -0
  282. package/src/contexts/CreateComponentContext/index.ts +4 -0
  283. package/src/contexts/CreateDatasetContext/CreateDatasetContext.tsx +25 -0
  284. package/src/contexts/CreateDatasetContext/index.ts +4 -0
  285. package/src/contexts/ProjectContext/ProjectContext.tsx +32 -0
  286. package/src/contexts/ProjectContext/index.ts +1 -0
  287. package/src/contexts/SidebarContext/SidebarContext.tsx +10 -0
  288. package/src/contexts/SidebarContext/index.ts +1 -0
  289. package/src/contexts/index.ts +10 -0
  290. package/src/hooks/index.ts +9 -0
  291. package/src/hooks/useCreateComponent.ts +15 -0
  292. package/src/hooks/useCreateDataset.ts +15 -0
  293. package/src/hooks/useDebounce.ts +17 -0
  294. package/src/hooks/useDebounced.ts +31 -0
  295. package/src/hooks/useIsMobile.ts +27 -0
  296. package/src/hooks/useSidebar.ts +15 -0
  297. package/src/hooks/useStickyHeader.ts +35 -0
  298. package/src/hooks/useWindowSize.ts +27 -0
  299. package/src/providers/CreateComponentProvider/CreateComponentProvider.tsx +53 -0
  300. package/src/providers/CreateComponentProvider/index.ts +1 -0
  301. package/src/providers/CreateDatasetProvider/CreateDatasetProvider.tsx +73 -0
  302. package/src/providers/CreateDatasetProvider/index.ts +1 -0
  303. package/src/providers/LangProvider/LangProvider.tsx +15 -0
  304. package/src/providers/LangProvider/index.ts +1 -0
  305. package/src/providers/ProjectProvider/ProjectProvider.tsx +110 -0
  306. package/src/providers/ProjectProvider/index.ts +1 -0
  307. package/src/providers/SidebarProvider/SidebarProvider.tsx +51 -0
  308. package/src/providers/SidebarProvider/index.ts +1 -0
  309. package/src/providers/ThemeProvider/ThemeProvider.tsx +20 -0
  310. package/src/providers/ThemeProvider/index.ts +1 -0
  311. package/src/providers/index.ts +6 -0
  312. package/src/store/index.ts +2 -0
  313. package/src/store/sidebar/sidebar.store.ts +17 -0
  314. package/src/store/sidebar/sidebar.type.ts +4 -0
  315. package/src/styles/globals.css +202 -0
  316. package/src/types/component.type.ts +13 -0
  317. package/src/types/dataset.type.ts +25 -0
  318. package/src/types/file.type.ts +13 -0
  319. package/src/types/general.type.ts +86 -0
  320. package/src/types/index.ts +9 -0
  321. package/src/types/layer.type.ts +7 -0
  322. package/src/types/project.type.ts +15 -0
  323. package/src/types/user.type.ts +6 -0
  324. package/src/types/widget.type.ts +12 -0
  325. package/src/utils/bm.util.ts +150 -0
  326. package/src/utils/bytes.util.ts +110 -0
  327. package/src/utils/date.util.ts +49 -0
  328. package/src/utils/dynamicMessage.util.ts +9 -0
  329. package/src/utils/getInitials.util.ts +10 -0
  330. package/src/utils/hideEmail.util.ts +14 -0
  331. package/src/utils/index.ts +12 -0
  332. package/src/utils/pagination.util.ts +144 -0
  333. package/src/utils/twJoin.util.ts +49 -0
  334. package/src/utils/twMerge.util.ts +6 -0
  335. package/src/utils/upload.util.ts +26 -0
  336. package/src/utils/url.util.ts +29 -0
  337. package/templates/App.tsx +1 -1
  338. package/templates/config.ts +1 -1
  339. package/templates/dataOptions.ts +1 -1
  340. package/templates/viewOptions.ts +1 -1
  341. package/tsconfig.json +40 -6
  342. package/bmdl-sdk-1.5.8.tgz +0 -0
  343. package/index.html +0 -12
  344. package/src/App.tsx +0 -187
  345. package/src/main.tsx +0 -15
@@ -0,0 +1,85 @@
1
+ 'use client'
2
+
3
+ import clsx from 'clsx'
4
+ import { toast as sonnerToast } from 'sonner'
5
+
6
+ import { IoClose } from 'react-icons/io5'
7
+
8
+ import { RootStylesProps, iconStyles, rootStyles } from './Toast.styles'
9
+
10
+ import { Typography } from '../Typography'
11
+
12
+ import { getToastColor, getToastIcon } from './Toast.utils'
13
+
14
+ const { Title, Paragraph } = Typography
15
+
16
+ type ToastProps = RootStylesProps & {
17
+ id: string | number
18
+ title: string
19
+ description?: string
20
+ hideClose?: boolean
21
+ }
22
+
23
+ function toast({
24
+ title,
25
+ description,
26
+ type,
27
+ hideClose
28
+ }: Omit<ToastProps, 'id'>) {
29
+ return sonnerToast.custom(id => (
30
+ <Toast
31
+ id={id}
32
+ title={title}
33
+ description={description}
34
+ type={type}
35
+ hideClose={hideClose}
36
+ />
37
+ ))
38
+ }
39
+
40
+ // // //
41
+
42
+ function Toast({
43
+ id,
44
+ title,
45
+ description,
46
+ type = 'default',
47
+ hideClose
48
+ }: ToastProps) {
49
+ const color = getToastColor(type!)
50
+ //
51
+ return (
52
+ <div className={rootStyles({ type })}>
53
+ <span className={clsx(iconStyles, color)}>
54
+ {getToastIcon(type!)}
55
+ </span>
56
+ <div>
57
+ <div className='flex justify-between gap-x-2.5'>
58
+ <Title
59
+ level={5}
60
+ className={clsx('mt-1 leading-none!', color)}
61
+ >
62
+ {title}
63
+ </Title>
64
+ {!hideClose && (
65
+ <button
66
+ className={color}
67
+ onClick={() => {
68
+ sonnerToast.dismiss(id)
69
+ }}
70
+ >
71
+ <IoClose size={16} />
72
+ </button>
73
+ )}
74
+ </div>
75
+ {description && (
76
+ <Paragraph className={clsx('mt-2.5', color)}>
77
+ {description}
78
+ </Paragraph>
79
+ )}
80
+ </div>
81
+ </div>
82
+ )
83
+ }
84
+
85
+ export { Toast, toast }
@@ -0,0 +1,43 @@
1
+ import {
2
+ TbCircleCheck,
3
+ TbInfoCircle,
4
+ TbInfoHexagon,
5
+ TbInfoTriangle,
6
+ TbLoader2
7
+ } from 'react-icons/tb'
8
+
9
+ import { ToastType } from '@/types'
10
+
11
+ export const getToastColor = (type: ToastType) => {
12
+ switch (type) {
13
+ case 'success':
14
+ return 'text-success!'
15
+ case 'info':
16
+ return 'text-info!'
17
+ case 'warning':
18
+ return 'text-warning!'
19
+ case 'error':
20
+ return 'text-danger!'
21
+ case 'loading':
22
+ return 'text-secondary!'
23
+ default:
24
+ return ''
25
+ }
26
+ }
27
+
28
+ export const getToastIcon = (type: ToastType) => {
29
+ switch (type) {
30
+ case 'success':
31
+ return <TbCircleCheck />
32
+ case 'info':
33
+ return <TbInfoCircle />
34
+ case 'warning':
35
+ return <TbInfoTriangle />
36
+ case 'error':
37
+ return <TbInfoHexagon />
38
+ case 'loading':
39
+ return <TbLoader2 className='animate-spin' />
40
+ default:
41
+ return ''
42
+ }
43
+ }
@@ -0,0 +1 @@
1
+ export { Toast, toast } from './Toast'
@@ -0,0 +1,33 @@
1
+ import { twJoin } from '@/utils'
2
+
3
+ export const contentStyles = twJoin({
4
+ position: 'z-50',
5
+ display: 'w-fit px-3 py-1.5',
6
+ text: 'text-base text-balance text-white',
7
+ animation: 'animate-in fade-in-0 zoom-in-95',
8
+ visual: 'bg-tooltip rounded-md',
9
+ attrs: [
10
+ 'data-[side=bottom]:slide-in-from-top-2',
11
+ 'data-[side=left]:slide-in-from-right-2',
12
+ 'data-[side=right]:slide-in-from-left-2',
13
+ 'data-[side=top]:slide-in-from-bottom-2',
14
+ //
15
+ 'data-[state=closed]:animate-out',
16
+ 'data-[state=closed]:fade-out-0',
17
+ 'data-[state=closed]:zoom-out-95'
18
+ ],
19
+ vars: 'origin-(--radix-tooltip-content-transform-origin)',
20
+ //
21
+ dark: 'dark:bg-dark-tooltip'
22
+ })
23
+
24
+ // /////////////////////////
25
+
26
+ export const arrowStyles = twJoin({
27
+ position: 'z-50',
28
+ display: 'size-2.5',
29
+ visual: 'bg-tooltip fill-tooltip rounded-xs',
30
+ transform: 'translate-y-[calc(-50%_-_2px)] rotate-45',
31
+ //
32
+ dark: 'dark:bg-dark-tooltip dark:fill-dark-tooltip'
33
+ })
@@ -0,0 +1,32 @@
1
+ import clsx from 'clsx'
2
+ import { type ComponentProps, type ReactNode } from 'react'
3
+
4
+ import { Tooltip as RadixTooltip } from 'radix-ui'
5
+
6
+ import { arrowStyles, contentStyles } from './Tooltip.styles'
7
+
8
+ type TooltipProps = ComponentProps<typeof RadixTooltip.Root> &
9
+ ComponentProps<typeof RadixTooltip.Content> & {
10
+ title?: ReactNode
11
+ }
12
+
13
+ function Tooltip({ title, children, className, ...props }: TooltipProps) {
14
+ return (
15
+ <RadixTooltip.Provider delayDuration={250}>
16
+ <RadixTooltip.Root>
17
+ <RadixTooltip.Trigger asChild>{children}</RadixTooltip.Trigger>
18
+ <RadixTooltip.Portal>
19
+ <RadixTooltip.Content
20
+ className={clsx(contentStyles, className)}
21
+ {...props}
22
+ >
23
+ {title}
24
+ <RadixTooltip.Arrow className={arrowStyles} />
25
+ </RadixTooltip.Content>
26
+ </RadixTooltip.Portal>
27
+ </RadixTooltip.Root>
28
+ </RadixTooltip.Provider>
29
+ )
30
+ }
31
+
32
+ export { Tooltip }
@@ -0,0 +1 @@
1
+ export { Tooltip } from './Tooltip'
@@ -0,0 +1,26 @@
1
+ import { type VariantProps, cva } from 'class-variance-authority'
2
+
3
+ import { twJoin } from '@/utils'
4
+
5
+ export const rootStyles = cva(
6
+ twJoin({
7
+ text: 'text-gray-900 font-medium',
8
+ //
9
+ dark: 'dark:text-dark-gray-200'
10
+ }),
11
+ {
12
+ variants: {
13
+ level: {
14
+ 1: 'text-[64px] leading-[131%]!',
15
+ 2: 'text-[56px] leading-[139%]!',
16
+ 3: 'text-[48px] leading-[142%]!',
17
+ 4: 'text-[32px] leading-[144%]!'
18
+ }
19
+ },
20
+ defaultVariants: {
21
+ level: 1
22
+ }
23
+ }
24
+ )
25
+
26
+ export type RootStylesProps = VariantProps<typeof rootStyles>
@@ -0,0 +1,11 @@
1
+ import { type ComponentProps } from 'react'
2
+
3
+ import { type RootStylesProps, rootStyles } from './Display.styles'
4
+
5
+ type DisplayProps = ComponentProps<'strong'> & RootStylesProps
6
+
7
+ function Display({ level = 1, className, ...props }: DisplayProps) {
8
+ return <strong className={rootStyles({ level, className })} {...props} />
9
+ }
10
+
11
+ export { Display }
@@ -0,0 +1 @@
1
+ export { Display } from './Display'
@@ -0,0 +1,32 @@
1
+ import { type VariantProps, cva } from 'class-variance-authority'
2
+
3
+ import { twJoin } from '@/utils'
4
+
5
+ export const rootStyles = cva(
6
+ twJoin({
7
+ display: 'inline-flex items-center gap-x-1',
8
+ text: 'text-primary leading-none',
9
+ animation: 'transition-color',
10
+ hover: 'hover:text-primary-400'
11
+ }),
12
+ {
13
+ variants: {
14
+ size: {
15
+ md: 'text-base',
16
+ sm: 'text-sm'
17
+ },
18
+ disabled: {
19
+ true: twJoin({
20
+ mouse: 'select-none pointer-events-none',
21
+ visual: 'opacity-50'
22
+ })
23
+ }
24
+ },
25
+ defaultVariants: {
26
+ size: 'md',
27
+ disabled: false
28
+ }
29
+ }
30
+ )
31
+
32
+ export type RootStylesProps = VariantProps<typeof rootStyles>
@@ -0,0 +1,25 @@
1
+ import NextLink, { type LinkProps as NextLinkProps } from 'next/link'
2
+ import { type ComponentProps } from 'react'
3
+
4
+ import { Slot } from 'radix-ui'
5
+
6
+ import { type RootStylesProps, rootStyles } from './Link.styles'
7
+
8
+ type LinkProps = ComponentProps<'a'> &
9
+ NextLinkProps &
10
+ RootStylesProps & {
11
+ asChild?: boolean
12
+ }
13
+
14
+ function Link({ asChild, size, disabled, className, ...props }: LinkProps) {
15
+ const Comp = asChild ? Slot.Root : NextLink
16
+
17
+ return (
18
+ <Comp
19
+ className={rootStyles({ size, disabled, className })}
20
+ {...props}
21
+ />
22
+ )
23
+ }
24
+
25
+ export { Link }
@@ -0,0 +1 @@
1
+ export { Link } from './Link'
@@ -0,0 +1,32 @@
1
+ import { type VariantProps, cva } from 'class-variance-authority'
2
+
3
+ import { twJoin } from '@/utils'
4
+
5
+ export const rootStyles = cva(
6
+ twJoin({
7
+ text: 'text-gray-800 whitespace-pre-line',
8
+ //
9
+ dark: 'dark:text-dark-gray-300'
10
+ }),
11
+ {
12
+ variants: {
13
+ weight: {
14
+ normal: 'font-normal',
15
+ medium: 'font-medium',
16
+ semibold: 'font-semibold',
17
+ bold: 'font-bold'
18
+ },
19
+ size: {
20
+ sm: 'text-sm',
21
+ md: 'text-base',
22
+ lg: 'text-lg'
23
+ }
24
+ },
25
+ defaultVariants: {
26
+ weight: 'normal',
27
+ size: 'md'
28
+ }
29
+ }
30
+ )
31
+
32
+ export type RootStylesProps = VariantProps<typeof rootStyles>
@@ -0,0 +1,11 @@
1
+ import { type ComponentProps } from 'react'
2
+
3
+ import { type RootStylesProps, rootStyles } from './Paragraph.styles'
4
+
5
+ type ParagraphProps = ComponentProps<'p'> & RootStylesProps
6
+
7
+ function Paragraph({ weight, size, className, ...props }: ParagraphProps) {
8
+ return <p className={rootStyles({ weight, size, className })} {...props} />
9
+ }
10
+
11
+ export { Paragraph }
@@ -0,0 +1 @@
1
+ export { Paragraph } from './Paragraph'
@@ -0,0 +1,39 @@
1
+ import { cva, type VariantProps } from 'class-variance-authority'
2
+
3
+ import { twJoin } from '@/utils'
4
+
5
+ export const rootStyles = cva(
6
+ twJoin({
7
+ text: 'text-gray-800',
8
+ //
9
+ dark: 'dark:text-dark-gray-300'
10
+ }),
11
+ {
12
+ variants: {
13
+ size: {
14
+ '2xs': 'text-2xs',
15
+ xs: 'text-xs',
16
+ sm: 'text-sm',
17
+ md: 'text-base',
18
+ lg: 'text-lg'
19
+ },
20
+ strong: {
21
+ true: 'font-semibold'
22
+ },
23
+ muted: {
24
+ true: 'text-gray! dark:text-dark-gray-600!'
25
+ },
26
+ accent: {
27
+ true: 'text-gray-900! dark:text-dark-gray-200!'
28
+ }
29
+ },
30
+ defaultVariants: {
31
+ size: 'md',
32
+ strong: false,
33
+ muted: false,
34
+ accent: false
35
+ }
36
+ }
37
+ )
38
+
39
+ export type RootStylesProps = VariantProps<typeof rootStyles>
@@ -0,0 +1,25 @@
1
+ import { type ComponentProps } from 'react'
2
+
3
+ import { RootStylesProps, rootStyles } from './Text.styles'
4
+
5
+ type TextProps = ComponentProps<'span'> & RootStylesProps
6
+
7
+ function Text({
8
+ strong = false,
9
+ muted = false,
10
+ accent = false,
11
+ size,
12
+ className,
13
+ ...props
14
+ }: TextProps) {
15
+ const Comp = strong ? 'strong' : 'span'
16
+
17
+ return (
18
+ <Comp
19
+ className={rootStyles({ strong, muted, accent, size, className })}
20
+ {...props}
21
+ />
22
+ )
23
+ }
24
+
25
+ export { Text }
@@ -0,0 +1 @@
1
+ export { Text } from './Text'
@@ -0,0 +1,28 @@
1
+ import { type VariantProps, cva } from 'class-variance-authority'
2
+
3
+ import { twJoin } from '@/utils'
4
+
5
+ export const rootStyles = cva(
6
+ twJoin({
7
+ text: 'text-gray-900 font-semibold leading-[137%]!',
8
+ //
9
+ dark: 'dark:text-dark-gray-200'
10
+ }),
11
+ {
12
+ variants: {
13
+ level: {
14
+ 1: 'text-4xl',
15
+ 2: 'text-3xl',
16
+ 3: 'text-[26px]',
17
+ 4: 'text-2xl',
18
+ 5: 'text-lg',
19
+ 6: 'text-base'
20
+ }
21
+ },
22
+ defaultVariants: {
23
+ level: 1
24
+ }
25
+ }
26
+ )
27
+
28
+ export type RootStylesProps = VariantProps<typeof rootStyles>
@@ -0,0 +1,15 @@
1
+ import { type ComponentProps } from 'react'
2
+
3
+ import { RootStylesProps, rootStyles } from './Title.styles'
4
+
5
+ type TitleProps = ComponentProps<'h1'> & RootStylesProps
6
+
7
+ function Title({ level = 1, className, ...props }: TitleProps) {
8
+ const titleLevels = ['h1', 'h2', 'h3', 'h4', 'h5', 'h6'] as const
9
+
10
+ const Comp = titleLevels[level! - 1]
11
+
12
+ return <Comp className={rootStyles({ level, className })} {...props} />
13
+ }
14
+
15
+ export { Title }
@@ -0,0 +1 @@
1
+ export { Title } from './Title'
@@ -0,0 +1,21 @@
1
+ import { type ComponentProps } from 'react'
2
+
3
+ import { Display } from './Display'
4
+ import { Link } from './Link'
5
+ import { Paragraph } from './Paragraph'
6
+ import { Text } from './Text'
7
+ import { Title } from './Title'
8
+
9
+ type TypographyProps = ComponentProps<'article'>
10
+
11
+ function Typography({ ...props }: TypographyProps) {
12
+ return <article {...props} />
13
+ }
14
+
15
+ Typography.Display = Display
16
+ Typography.Link = Link
17
+ Typography.Paragraph = Paragraph
18
+ Typography.Text = Text
19
+ Typography.Title = Title
20
+
21
+ export { Typography }
@@ -0,0 +1 @@
1
+ export { Typography } from './Typography'
@@ -0,0 +1,31 @@
1
+ function AvanpostIcon({ color = 'currentColor', size = 24, ...props }) {
2
+ return (
3
+ <svg
4
+ width={size}
5
+ height={size}
6
+ viewBox='0 0 1000 1000'
7
+ fill='none'
8
+ xmlns='http://www.w3.org/2000/svg'
9
+ {...props}
10
+ >
11
+ <path
12
+ d='M120.754 900.708H350.349L381.074 774.68C385.084 758.232 378.855 740.703 363.418 733.39C340.162 722.371 309.099 712.932 264.954 699.517L178.517 673.252L120.754 900.708Z'
13
+ fill={color}
14
+ />
15
+ <path
16
+ d='M662.282 50.96L819.709 670.872L730.916 645.032C652.789 622.297 613.725 610.929 587.599 582.957C566.071 559.909 559.395 527.164 553.092 496.243C552.821 494.909 552.55 493.579 552.277 492.253L499.415 234.228L446.553 492.253C446.281 493.579 446.01 494.909 445.738 496.243C439.435 527.164 432.759 559.909 411.232 582.957C385.105 610.929 346.042 622.297 267.915 645.032L179.121 670.872L336.548 50.96H662.282Z'
17
+ fill={color}
18
+ />
19
+ <path
20
+ d='M878.077 900.708H648.481L617.757 774.68C613.747 758.232 619.976 740.703 635.412 733.39C658.668 722.371 689.732 712.932 733.877 699.517L820.314 673.252L878.077 900.708Z'
21
+ fill={color}
22
+ />
23
+ <path
24
+ d='M499.415 469.298C515.116 545.439 522.966 583.51 546.771 610.908C550.982 615.755 555.523 620.302 560.364 624.518C587.729 648.352 625.754 656.211 701.804 671.93C625.754 687.649 587.729 695.509 560.364 719.343C555.523 723.559 550.982 728.106 546.771 732.952C522.966 760.351 515.116 798.422 499.415 874.562C483.715 798.422 475.865 760.351 452.06 732.952C447.849 728.106 443.307 723.559 438.467 719.343C411.102 695.509 373.077 687.649 297.027 671.93C373.077 656.211 411.102 648.352 438.467 624.517C443.307 620.302 447.849 615.755 452.06 610.908C475.865 583.51 483.715 545.439 499.415 469.298Z'
25
+ fill={color}
26
+ />
27
+ </svg>
28
+ )
29
+ }
30
+
31
+ export { AvanpostIcon }
@@ -0,0 +1,22 @@
1
+ function CheckIcon({ color = 'currentColor', size = 24, ...props }) {
2
+ return (
3
+ <svg
4
+ width={size}
5
+ height={size}
6
+ viewBox='0 0 14 14'
7
+ fill='none'
8
+ xmlns='http://www.w3.org/2000/svg'
9
+ {...props}
10
+ >
11
+ <path
12
+ d='M2.91675 7L5.83341 9.91666L11.6667 4.08333'
13
+ stroke={color}
14
+ strokeWidth={2}
15
+ strokeLinecap='round'
16
+ strokeLinejoin='round'
17
+ />
18
+ </svg>
19
+ )
20
+ }
21
+
22
+ export { CheckIcon }
@@ -0,0 +1,56 @@
1
+ function EmptyIcon({ color = 'currentColor', size = 24, ...props }) {
2
+ return (
3
+ <svg
4
+ width={size}
5
+ height={size}
6
+ viewBox='0 0 184 152'
7
+ xmlns='http://www.w3.org/2000/svg'
8
+ {...props}
9
+ >
10
+ <g fill='none' fillRule='evenodd'>
11
+ <g transform='translate(24 31.67)'>
12
+ <ellipse
13
+ fillOpacity='0.8'
14
+ fill='#F5F5F7'
15
+ cx='67.797'
16
+ cy='106.89'
17
+ rx='67.797'
18
+ ry='12.668'
19
+ ></ellipse>
20
+ <path
21
+ d='M122.034 69.674L98.109 40.229c-1.148-1.386-2.826-2.225-4.593-2.225h-51.44c-1.766 0-3.444.839-4.592 2.225L13.56 69.674v15.383h108.475V69.674z'
22
+ fill='#AEB8C2'
23
+ ></path>
24
+ <path
25
+ d='M101.537 86.214L80.63 61.102c-1.001-1.207-2.507-1.867-4.048-1.867H31.724c-1.54 0-3.047.66-4.048 1.867L6.769 86.214v13.792h94.768V86.214z'
26
+ fill='url(#linearGradient-1)'
27
+ transform='translate(13.56)'
28
+ ></path>
29
+ <path
30
+ d='M33.83 0h67.933a4 4 0 0 1 4 4v93.344a4 4 0 0 1-4 4H33.83a4 4 0 0 1-4-4V4a4 4 0 0 1 4-4z'
31
+ fill='#F5F5F7'
32
+ ></path>
33
+ <path
34
+ d='M42.678 9.953h50.237a2 2 0 0 1 2 2V36.91a2 2 0 0 1-2 2H42.678a2 2 0 0 1-2-2V11.953a2 2 0 0 1 2-2zM42.94 49.767h49.713a2.262 2.262 0 1 1 0 4.524H42.94a2.262 2.262 0 0 1 0-4.524zM42.94 61.53h49.713a2.262 2.262 0 1 1 0 4.525H42.94a2.262 2.262 0 0 1 0-4.525zM121.813 105.032c-.775 3.071-3.497 5.36-6.735 5.36H20.515c-3.238 0-5.96-2.29-6.734-5.36a7.309 7.309 0 0 1-.222-1.79V69.675h26.318c2.907 0 5.25 2.448 5.25 5.42v.04c0 2.971 2.37 5.37 5.277 5.37h34.785c2.907 0 5.277-2.421 5.277-5.393V75.1c0-2.972 2.343-5.426 5.25-5.426h26.318v33.569c0 .617-.077 1.216-.221 1.789z'
35
+ fill={color}
36
+ ></path>
37
+ </g>
38
+ <path
39
+ d='M149.121 33.292l-6.83 2.65a1 1 0 0 1-1.317-1.23l1.937-6.207c-2.589-2.944-4.109-6.534-4.109-10.408C138.802 8.102 148.92 0 161.402 0 173.881 0 184 8.102 184 18.097c0 9.995-10.118 18.097-22.599 18.097-4.528 0-8.744-1.066-12.28-2.902z'
40
+ fill={color}
41
+ ></path>
42
+ <g transform='translate(149.65 15.383)' fill='#FFF'>
43
+ <ellipse
44
+ cx='20.654'
45
+ cy='3.167'
46
+ rx='2.849'
47
+ ry='2.815'
48
+ ></ellipse>
49
+ <path d='M5.698 5.63H0L2.898.704zM9.259.704h4.985V5.63H9.259z'></path>
50
+ </g>
51
+ </g>
52
+ </svg>
53
+ )
54
+ }
55
+
56
+ export { EmptyIcon }