ikoncomponents 1.5.5 → 1.5.7

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 (423) hide show
  1. package/README.md +36 -36
  2. package/dist/hooks/use-mobile.d.ts +1 -0
  3. package/dist/hooks/use-mobile.js +15 -0
  4. package/dist/ikoncomponents/action-menu/index.d.ts +5 -0
  5. package/dist/ikoncomponents/action-menu/index.js +42 -0
  6. package/dist/ikoncomponents/action-menu/type.d.ts +14 -0
  7. package/dist/ikoncomponents/action-menu/type.js +1 -0
  8. package/dist/ikoncomponents/activity-sheet/index.d.ts +11 -0
  9. package/dist/ikoncomponents/activity-sheet/index.js +23 -0
  10. package/dist/ikoncomponents/alert-dialog/dialog-context.d.ts +21 -0
  11. package/dist/ikoncomponents/alert-dialog/dialog-context.js +30 -0
  12. package/dist/ikoncomponents/alert-dialog/index.d.ts +14 -0
  13. package/dist/ikoncomponents/alert-dialog/index.js +20 -0
  14. package/dist/ikoncomponents/app-breadcrumb/BreadcrumbProvider.d.ts +18 -0
  15. package/dist/ikoncomponents/app-breadcrumb/BreadcrumbProvider.js +43 -0
  16. package/dist/ikoncomponents/app-breadcrumb/index.d.ts +5 -0
  17. package/dist/ikoncomponents/app-breadcrumb/index.js +57 -0
  18. package/dist/ikoncomponents/big-calendar/big-calender-event/index.d.ts +5 -0
  19. package/dist/ikoncomponents/big-calendar/big-calender-event/index.js +16 -0
  20. package/dist/ikoncomponents/big-calendar/big-calender-toolbar/index.d.ts +2 -0
  21. package/dist/ikoncomponents/big-calendar/big-calender-toolbar/index.js +39 -0
  22. package/dist/ikoncomponents/big-calendar/index.d.ts +3 -0
  23. package/dist/ikoncomponents/big-calendar/index.js +35 -0
  24. package/dist/ikoncomponents/big-calendar/type.d.ts +31 -0
  25. package/dist/ikoncomponents/big-calendar/type.js +1 -0
  26. package/dist/ikoncomponents/buttons/index.d.ts +18 -0
  27. package/dist/ikoncomponents/buttons/index.js +38 -0
  28. package/dist/ikoncomponents/combobox-input/index.d.ts +2 -0
  29. package/dist/ikoncomponents/combobox-input/index.js +18 -0
  30. package/dist/ikoncomponents/combobox-input/type.d.ts +13 -0
  31. package/dist/ikoncomponents/combobox-input/type.js +1 -0
  32. package/dist/ikoncomponents/custom-combo-dropdown/index.d.ts +21 -0
  33. package/dist/ikoncomponents/custom-combo-dropdown/index.js +85 -0
  34. package/dist/ikoncomponents/data-table/datatable-column-filter/index.d.ts +2 -0
  35. package/dist/ikoncomponents/data-table/datatable-column-filter/index.js +22 -0
  36. package/dist/ikoncomponents/data-table/datatable-faceted-filter/index.d.ts +2 -0
  37. package/dist/ikoncomponents/data-table/datatable-faceted-filter/index.js +35 -0
  38. package/dist/ikoncomponents/data-table/datatable-filter-menu/index.d.ts +2 -0
  39. package/dist/ikoncomponents/data-table/datatable-filter-menu/index.js +38 -0
  40. package/dist/ikoncomponents/data-table/datatable-pagination/index.d.ts +2 -0
  41. package/dist/ikoncomponents/data-table/datatable-pagination/index.js +13 -0
  42. package/dist/ikoncomponents/data-table/datatable-toolbar/index.d.ts +2 -0
  43. package/dist/ikoncomponents/data-table/datatable-toolbar/index.js +18 -0
  44. package/dist/ikoncomponents/data-table/function.d.ts +1 -0
  45. package/dist/ikoncomponents/data-table/function.js +6 -0
  46. package/dist/ikoncomponents/data-table/index.d.ts +2 -0
  47. package/dist/ikoncomponents/data-table/index.js +223 -0
  48. package/dist/ikoncomponents/data-table/type.d.ts +60 -0
  49. package/dist/ikoncomponents/data-table/type.js +1 -0
  50. package/dist/ikoncomponents/e-chart/index.d.ts +15 -0
  51. package/dist/ikoncomponents/e-chart/index.js +115 -0
  52. package/dist/ikoncomponents/file-input/index.d.ts +1 -0
  53. package/dist/ikoncomponents/file-input/index.js +21 -0
  54. package/dist/ikoncomponents/fileUpload/index.d.ts +15 -0
  55. package/dist/ikoncomponents/fileUpload/index.js +69 -0
  56. package/dist/ikoncomponents/form-fields/combobox-input/index.d.ts +2 -0
  57. package/dist/ikoncomponents/form-fields/combobox-input/index.js +21 -0
  58. package/dist/ikoncomponents/form-fields/combobox-input-value/index.d.ts +18 -0
  59. package/dist/ikoncomponents/form-fields/combobox-input-value/index.js +26 -0
  60. package/dist/ikoncomponents/form-fields/date-input/index.d.ts +2 -0
  61. package/dist/ikoncomponents/form-fields/date-input/index.js +15 -0
  62. package/dist/ikoncomponents/form-fields/file-input/index.d.ts +1 -0
  63. package/dist/ikoncomponents/form-fields/file-input/index.js +4 -0
  64. package/dist/ikoncomponents/form-fields/input/index.d.ts +2 -0
  65. package/dist/ikoncomponents/form-fields/input/index.js +18 -0
  66. package/dist/ikoncomponents/form-fields/multi-combobox-input/index.d.ts +6 -0
  67. package/{templates/default/ikoncomponents/form-fields/multi-combobox-input/index.tsx → dist/ikoncomponents/form-fields/multi-combobox-input/index.js} +381 -574
  68. package/dist/ikoncomponents/form-fields/otp-input/index.d.ts +2 -0
  69. package/dist/ikoncomponents/form-fields/otp-input/index.js +18 -0
  70. package/dist/ikoncomponents/form-fields/phone-input/index.d.ts +1 -0
  71. package/dist/ikoncomponents/form-fields/phone-input/index.js +4 -0
  72. package/dist/ikoncomponents/form-fields/textarea/index.d.ts +2 -0
  73. package/dist/ikoncomponents/form-fields/textarea/index.js +18 -0
  74. package/dist/ikoncomponents/form-fields/types/index.d.ts +36 -0
  75. package/dist/ikoncomponents/form-fields/types/index.js +1 -0
  76. package/dist/ikoncomponents/glowing-effect/index.d.ts +14 -0
  77. package/dist/ikoncomponents/glowing-effect/index.js +84 -0
  78. package/dist/ikoncomponents/icon/index.d.ts +8 -0
  79. package/dist/ikoncomponents/icon/index.js +23 -0
  80. package/dist/ikoncomponents/image-cropper-upload/components/newCropper.d.ts +15 -0
  81. package/{templates/default/ikoncomponents/image-cropper-upload/components/newCropper.tsx → dist/ikoncomponents/image-cropper-upload/components/newCropper.js} +85 -117
  82. package/dist/ikoncomponents/image-cropper-upload/components/newImageUploadForm.d.ts +7 -0
  83. package/dist/ikoncomponents/image-cropper-upload/components/newImageUploadForm.js +145 -0
  84. package/dist/ikoncomponents/image-cropper-upload/cropper-form/index.d.ts +6 -0
  85. package/dist/ikoncomponents/image-cropper-upload/cropper-form/index.js +92 -0
  86. package/dist/ikoncomponents/image-cropper-upload/cropper-form-with-modal/index.d.ts +6 -0
  87. package/dist/ikoncomponents/image-cropper-upload/cropper-form-with-modal/index.js +14 -0
  88. package/dist/ikoncomponents/image-cropper-upload/image-cropper/index.d.ts +14 -0
  89. package/{templates/default/ikoncomponents/image-cropper-upload/image-cropper/index.tsx → dist/ikoncomponents/image-cropper-upload/image-cropper/index.js} +87 -119
  90. package/dist/ikoncomponents/image-cropper-upload/index.d.ts +27 -0
  91. package/dist/ikoncomponents/image-cropper-upload/index.js +49 -0
  92. package/dist/ikoncomponents/image-cropper-upload/utils/index.d.ts +16 -0
  93. package/dist/ikoncomponents/image-cropper-upload/utils/index.js +73 -0
  94. package/dist/ikoncomponents/loading-spinner/index.d.ts +9 -0
  95. package/dist/ikoncomponents/loading-spinner/index.js +19 -0
  96. package/dist/ikoncomponents/main-layout/RefreshContext.d.ts +10 -0
  97. package/dist/ikoncomponents/main-layout/RefreshContext.js +17 -0
  98. package/dist/ikoncomponents/main-layout/SidebarNavContext.d.ts +33 -0
  99. package/dist/ikoncomponents/main-layout/SidebarNavContext.js +52 -0
  100. package/dist/ikoncomponents/main-layout/app-sidebar.d.ts +3 -0
  101. package/dist/ikoncomponents/main-layout/app-sidebar.js +24 -0
  102. package/dist/ikoncomponents/main-layout/footer.d.ts +1 -0
  103. package/dist/ikoncomponents/main-layout/footer.js +5 -0
  104. package/dist/ikoncomponents/main-layout/header.d.ts +3 -0
  105. package/dist/ikoncomponents/main-layout/header.js +15 -0
  106. package/dist/ikoncomponents/main-layout/index.d.ts +6 -0
  107. package/dist/ikoncomponents/main-layout/index.js +11 -0
  108. package/dist/ikoncomponents/main-layout/main-sidebar.d.ts +60 -0
  109. package/dist/ikoncomponents/main-layout/main-sidebar.js +119 -0
  110. package/dist/ikoncomponents/main-layout/nav-main.d.ts +11 -0
  111. package/dist/ikoncomponents/main-layout/nav-main.js +33 -0
  112. package/dist/ikoncomponents/multi-combobox/index.d.ts +13 -0
  113. package/dist/ikoncomponents/multi-combobox/index.js +202 -0
  114. package/dist/ikoncomponents/no-data/index.d.ts +3 -0
  115. package/dist/ikoncomponents/no-data/index.js +5 -0
  116. package/dist/ikoncomponents/page-wrapper/index.d.ts +9 -0
  117. package/dist/ikoncomponents/page-wrapper/index.js +7 -0
  118. package/dist/ikoncomponents/password-strength-meter/index.d.ts +3 -0
  119. package/dist/ikoncomponents/password-strength-meter/index.js +40 -0
  120. package/dist/ikoncomponents/phone-input/index.d.ts +1 -0
  121. package/dist/ikoncomponents/phone-input/index.js +41 -0
  122. package/dist/ikoncomponents/provider-wrapper/index.d.ts +6 -0
  123. package/dist/ikoncomponents/provider-wrapper/index.js +11 -0
  124. package/dist/ikoncomponents/search-input/index.d.ts +1 -0
  125. package/dist/ikoncomponents/search-input/index.js +19 -0
  126. package/dist/ikoncomponents/sheet/index.d.ts +10 -0
  127. package/dist/ikoncomponents/sheet/index.js +6 -0
  128. package/dist/ikoncomponents/simple-widget/index.d.ts +14 -0
  129. package/dist/ikoncomponents/simple-widget/index.js +14 -0
  130. package/dist/ikoncomponents/skeleton-loader/skeleton-table.d.ts +5 -0
  131. package/dist/ikoncomponents/skeleton-loader/skeleton-table.js +6 -0
  132. package/dist/ikoncomponents/skeleton-loader/skeleton-widget.d.ts +3 -0
  133. package/dist/ikoncomponents/skeleton-loader/skeleton-widget.js +5 -0
  134. package/dist/ikoncomponents/tabs/index.d.ts +2 -0
  135. package/dist/ikoncomponents/tabs/index.js +50 -0
  136. package/{templates/default/ikoncomponents/tabs/type.ts → dist/ikoncomponents/tabs/type.d.ts} +19 -20
  137. package/dist/ikoncomponents/tabs/type.js +2 -0
  138. package/dist/ikoncomponents/theme-toggle-btn/index.d.ts +1 -0
  139. package/{templates/default/ikoncomponents/theme-toggle-btn/index.tsx → dist/ikoncomponents/theme-toggle-btn/index.js} +118 -189
  140. package/dist/ikoncomponents/title-progress/index.d.ts +12 -0
  141. package/dist/ikoncomponents/title-progress/index.js +10 -0
  142. package/dist/ikoncomponents/tooltip/index.d.ts +5 -0
  143. package/dist/ikoncomponents/tooltip/index.js +5 -0
  144. package/dist/ikoncomponents/twolevel-dropdown/index.d.ts +31 -0
  145. package/dist/ikoncomponents/twolevel-dropdown/index.js +143 -0
  146. package/dist/ikoncomponents/upload-tab/index.d.ts +1 -0
  147. package/dist/ikoncomponents/upload-tab/index.js +92 -0
  148. package/dist/ikoncomponents/widgets/index.d.ts +2 -0
  149. package/dist/ikoncomponents/widgets/index.js +14 -0
  150. package/dist/ikoncomponents/widgets/type.d.ts +10 -0
  151. package/dist/ikoncomponents/widgets/type.js +2 -0
  152. package/dist/ikoncomponents/work-in-progress/index.d.ts +1 -0
  153. package/dist/ikoncomponents/work-in-progress/index.js +4 -0
  154. package/dist/index.d.ts +138 -0
  155. package/dist/index.js +116 -14
  156. package/dist/shadcn/accordion.d.ts +7 -0
  157. package/dist/shadcn/accordion.js +33 -0
  158. package/dist/shadcn/alert-dialog.d.ts +20 -0
  159. package/dist/shadcn/alert-dialog.js +83 -0
  160. package/dist/shadcn/alert.d.ts +9 -0
  161. package/dist/shadcn/alert.js +38 -0
  162. package/dist/shadcn/aspect-ratio.d.ts +3 -0
  163. package/dist/shadcn/aspect-ratio.js +19 -0
  164. package/dist/shadcn/avatar.d.ts +6 -0
  165. package/dist/shadcn/avatar.js +28 -0
  166. package/dist/shadcn/badge.d.ts +9 -0
  167. package/dist/shadcn/badge.js +35 -0
  168. package/dist/shadcn/breadcrumb.d.ts +11 -0
  169. package/dist/shadcn/breadcrumb.js +45 -0
  170. package/dist/shadcn/button.d.ts +10 -0
  171. package/dist/shadcn/button.js +47 -0
  172. package/dist/shadcn/calendar.d.ts +8 -0
  173. package/dist/shadcn/calendar.js +61 -0
  174. package/dist/shadcn/card.d.ts +9 -0
  175. package/dist/shadcn/card.js +42 -0
  176. package/dist/shadcn/checkbox.d.ts +4 -0
  177. package/dist/shadcn/checkbox.js +21 -0
  178. package/dist/shadcn/collapsible.d.ts +5 -0
  179. package/dist/shadcn/collapsible.js +27 -0
  180. package/dist/shadcn/command.d.ts +18 -0
  181. package/dist/shadcn/command.js +54 -0
  182. package/dist/shadcn/date-input.d.ts +7 -0
  183. package/dist/shadcn/date-input.js +179 -0
  184. package/dist/shadcn/date-range-picker.d.ts +24 -0
  185. package/dist/shadcn/date-range-picker.js +45 -0
  186. package/dist/shadcn/dialog.d.ts +15 -0
  187. package/dist/shadcn/dialog.js +57 -0
  188. package/dist/shadcn/drawer.d.ts +13 -0
  189. package/dist/shadcn/drawer.js +56 -0
  190. package/dist/shadcn/dropdown-menu.d.ts +25 -0
  191. package/dist/shadcn/dropdown-menu.js +77 -0
  192. package/dist/shadcn/form.d.ts +24 -0
  193. package/dist/shadcn/form.js +70 -0
  194. package/dist/shadcn/hover-card.d.ts +6 -0
  195. package/dist/shadcn/hover-card.js +28 -0
  196. package/dist/shadcn/input-otp.d.ts +34 -0
  197. package/dist/shadcn/input-otp.js +40 -0
  198. package/dist/shadcn/input.d.ts +3 -0
  199. package/dist/shadcn/input.js +18 -0
  200. package/dist/shadcn/label.d.ts +4 -0
  201. package/dist/shadcn/label.js +20 -0
  202. package/dist/shadcn/navigation-menu.d.ts +16 -0
  203. package/dist/shadcn/navigation-menu.js +74 -0
  204. package/dist/shadcn/popover.d.ts +7 -0
  205. package/dist/shadcn/popover.js +32 -0
  206. package/dist/shadcn/progress.d.ts +8 -0
  207. package/dist/shadcn/progress.js +23 -0
  208. package/dist/shadcn/radio-group.d.ts +5 -0
  209. package/dist/shadcn/radio-group.js +25 -0
  210. package/dist/shadcn/scroll-area.d.ts +5 -0
  211. package/dist/shadcn/scroll-area.js +26 -0
  212. package/dist/shadcn/select.d.ts +15 -0
  213. package/dist/shadcn/select.js +59 -0
  214. package/dist/shadcn/separator.d.ts +4 -0
  215. package/dist/shadcn/separator.js +20 -0
  216. package/dist/shadcn/sheet.d.ts +13 -0
  217. package/dist/shadcn/sheet.js +61 -0
  218. package/dist/shadcn/sidebar.d.ts +69 -0
  219. package/dist/shadcn/sidebar.js +242 -0
  220. package/dist/shadcn/skeleton.d.ts +3 -0
  221. package/dist/shadcn/skeleton.js +18 -0
  222. package/dist/shadcn/slider.d.ts +4 -0
  223. package/dist/shadcn/slider.js +26 -0
  224. package/dist/shadcn/sonner.d.ts +3 -0
  225. package/dist/shadcn/sonner.js +25 -0
  226. package/dist/shadcn/switch.d.ts +4 -0
  227. package/dist/shadcn/switch.js +20 -0
  228. package/dist/shadcn/table.d.ts +10 -0
  229. package/dist/shadcn/table.js +47 -0
  230. package/dist/shadcn/tabs.d.ts +7 -0
  231. package/dist/shadcn/tabs.js +32 -0
  232. package/dist/shadcn/textarea.d.ts +3 -0
  233. package/dist/shadcn/textarea.js +18 -0
  234. package/dist/shadcn/toggle-group.d.ts +9 -0
  235. package/dist/shadcn/toggle-group.js +35 -0
  236. package/dist/shadcn/toggle.d.ts +9 -0
  237. package/dist/shadcn/toggle.js +38 -0
  238. package/dist/shadcn/tooltip.d.ts +7 -0
  239. package/dist/shadcn/tooltip.js +32 -0
  240. package/dist/shadcn/workflow.d.ts +20 -0
  241. package/dist/shadcn/workflow.js +20 -0
  242. package/dist/styles.css +6163 -0
  243. package/dist/utils/actions/account/index.d.ts +5 -0
  244. package/dist/utils/actions/account/index.js +28 -0
  245. package/dist/utils/actions/account/type.d.ts +4 -0
  246. package/dist/utils/actions/account/type.js +1 -0
  247. package/dist/utils/actions/auth/index.d.ts +7 -0
  248. package/{templates/default/utils/actions/auth/index.ts → dist/utils/actions/auth/index.js} +58 -69
  249. package/dist/utils/actions/common/utils.d.ts +5 -0
  250. package/{templates/default/utils/actions/common/utils.ts → dist/utils/actions/common/utils.js} +25 -28
  251. package/dist/utils/actions/software/index.d.ts +11 -0
  252. package/dist/utils/actions/software/index.js +75 -0
  253. package/dist/utils/api/accountService/index.d.ts +23 -0
  254. package/dist/utils/api/accountService/index.js +64 -0
  255. package/dist/utils/api/accountService/type.d.ts +4 -0
  256. package/dist/utils/api/accountService/type.js +1 -0
  257. package/dist/utils/api/file-upload/index.d.ts +5 -0
  258. package/dist/utils/api/file-upload/index.js +80 -0
  259. package/dist/utils/api/file-upload/type.d.ts +6 -0
  260. package/dist/utils/api/file-upload/type.js +1 -0
  261. package/dist/utils/api/ikonBaseApi.d.ts +12 -0
  262. package/{templates/default/utils/api/ikonBaseApi.ts → dist/utils/api/ikonBaseApi.js} +104 -132
  263. package/dist/utils/api/loginService/index.d.ts +12 -0
  264. package/dist/utils/api/loginService/index.js +72 -0
  265. package/{templates/default/utils/api/loginService/type.ts → dist/utils/api/loginService/type.d.ts} +31 -35
  266. package/dist/utils/api/loginService/type.js +1 -0
  267. package/dist/utils/api/softwareService/index.d.ts +64 -0
  268. package/dist/utils/api/softwareService/index.js +212 -0
  269. package/dist/utils/api/softwareService/type.d.ts +54 -0
  270. package/dist/utils/api/softwareService/type.js +1 -0
  271. package/dist/utils/border-radius-provider.d.ts +11 -0
  272. package/{templates/default/utils/border-radius-provider.tsx → dist/utils/border-radius-provider.js} +35 -59
  273. package/dist/utils/cn.d.ts +2 -0
  274. package/dist/utils/cn.js +5 -0
  275. package/dist/utils/font-provider.d.ts +11 -0
  276. package/{templates/default/utils/font-provider.tsx → dist/utils/font-provider.js} +37 -61
  277. package/dist/utils/session/cookieSession.d.ts +8 -0
  278. package/dist/utils/session/cookieSession.js +33 -0
  279. package/dist/utils/theme-provider/index.d.ts +3 -0
  280. package/dist/utils/theme-provider/index.js +18 -0
  281. package/dist/utils/token-management/index.d.ts +10 -0
  282. package/dist/utils/token-management/index.js +69 -0
  283. package/dist/utils/token-management/types.d.ts +6 -0
  284. package/dist/utils/token-management/types.js +1 -0
  285. package/package.json +91 -17
  286. package/bin.js +0 -2
  287. package/dist/commands/init.js +0 -63
  288. package/dist/utlis/copyDir.js +0 -7
  289. package/templates/default/hooks/use-mobile.ts +0 -19
  290. package/templates/default/ikoncomponents/action-menu/index.tsx +0 -108
  291. package/templates/default/ikoncomponents/action-menu/type.ts +0 -18
  292. package/templates/default/ikoncomponents/activity-sheet/index.tsx +0 -63
  293. package/templates/default/ikoncomponents/alert-dialog/dialog-context.tsx +0 -65
  294. package/templates/default/ikoncomponents/alert-dialog/index.tsx +0 -80
  295. package/templates/default/ikoncomponents/app-breadcrumb/BreadcrumbProvider.tsx +0 -68
  296. package/templates/default/ikoncomponents/app-breadcrumb/index.tsx +0 -222
  297. package/templates/default/ikoncomponents/big-calendar/big-calender-event/index.tsx +0 -38
  298. package/templates/default/ikoncomponents/big-calendar/big-calender-toolbar/index.tsx +0 -81
  299. package/templates/default/ikoncomponents/big-calendar/index.css +0 -879
  300. package/templates/default/ikoncomponents/big-calendar/index.tsx +0 -59
  301. package/templates/default/ikoncomponents/big-calendar/type.ts +0 -37
  302. package/templates/default/ikoncomponents/buttons/index.tsx +0 -127
  303. package/templates/default/ikoncomponents/combobox-input/index.tsx +0 -75
  304. package/templates/default/ikoncomponents/combobox-input/type.ts +0 -14
  305. package/templates/default/ikoncomponents/custom-combo-dropdown/index.tsx +0 -242
  306. package/templates/default/ikoncomponents/data-table/datatable-column-filter/index.tsx +0 -80
  307. package/templates/default/ikoncomponents/data-table/datatable-faceted-filter/index.tsx +0 -149
  308. package/templates/default/ikoncomponents/data-table/datatable-filter-menu/index.tsx +0 -98
  309. package/templates/default/ikoncomponents/data-table/datatable-pagination/index.tsx +0 -119
  310. package/templates/default/ikoncomponents/data-table/datatable-toolbar/index.tsx +0 -45
  311. package/templates/default/ikoncomponents/data-table/function.ts +0 -7
  312. package/templates/default/ikoncomponents/data-table/index.tsx +0 -549
  313. package/templates/default/ikoncomponents/data-table/type.ts +0 -75
  314. package/templates/default/ikoncomponents/e-chart/index.tsx +0 -183
  315. package/templates/default/ikoncomponents/file-input/index.tsx +0 -27
  316. package/templates/default/ikoncomponents/fileUpload/index.tsx +0 -121
  317. package/templates/default/ikoncomponents/form-fields/combobox-input/index.tsx +0 -111
  318. package/templates/default/ikoncomponents/form-fields/combobox-input-value/index.tsx +0 -121
  319. package/templates/default/ikoncomponents/form-fields/date-input/index.tsx +0 -80
  320. package/templates/default/ikoncomponents/form-fields/file-input/index.tsx +0 -9
  321. package/templates/default/ikoncomponents/form-fields/input/index.tsx +0 -27
  322. package/templates/default/ikoncomponents/form-fields/otp-input/index.tsx +0 -39
  323. package/templates/default/ikoncomponents/form-fields/password-input/index.tsx +0 -52
  324. package/templates/default/ikoncomponents/form-fields/phone-input/index.tsx +0 -7
  325. package/templates/default/ikoncomponents/form-fields/textarea/index.tsx +0 -28
  326. package/templates/default/ikoncomponents/form-fields/types/index.ts +0 -46
  327. package/templates/default/ikoncomponents/glowing-effect/index.tsx +0 -171
  328. package/templates/default/ikoncomponents/icon/index.tsx +0 -22
  329. package/templates/default/ikoncomponents/image-cropper-upload/components/cropperImg.css +0 -19
  330. package/templates/default/ikoncomponents/image-cropper-upload/components/newImageUploadForm.tsx +0 -352
  331. package/templates/default/ikoncomponents/image-cropper-upload/cropper-form/index.tsx +0 -250
  332. package/templates/default/ikoncomponents/image-cropper-upload/cropper-form-with-modal/index.tsx +0 -32
  333. package/templates/default/ikoncomponents/image-cropper-upload/index.tsx +0 -95
  334. package/templates/default/ikoncomponents/image-cropper-upload/utils/index.ts +0 -117
  335. package/templates/default/ikoncomponents/loading-spinner/index.tsx +0 -43
  336. package/templates/default/ikoncomponents/main-layout/RefreshContext.tsx +0 -30
  337. package/templates/default/ikoncomponents/main-layout/SidebarNavContext.tsx +0 -103
  338. package/templates/default/ikoncomponents/main-layout/app-sidebar.tsx +0 -36
  339. package/templates/default/ikoncomponents/main-layout/footer.tsx +0 -21
  340. package/templates/default/ikoncomponents/main-layout/header.tsx +0 -53
  341. package/templates/default/ikoncomponents/main-layout/index.tsx +0 -38
  342. package/templates/default/ikoncomponents/main-layout/main-sidebar.tsx +0 -389
  343. package/templates/default/ikoncomponents/main-layout/nav-main.tsx +0 -103
  344. package/templates/default/ikoncomponents/multi-combobox/index.tsx +0 -345
  345. package/templates/default/ikoncomponents/no-data/index.tsx +0 -11
  346. package/templates/default/ikoncomponents/page-wrapper/index.tsx +0 -30
  347. package/templates/default/ikoncomponents/password-strength-meter/index.tsx +0 -49
  348. package/templates/default/ikoncomponents/phone-input/index.tsx +0 -72
  349. package/templates/default/ikoncomponents/provider-wrapper/index.tsx +0 -32
  350. package/templates/default/ikoncomponents/search-input/index.tsx +0 -18
  351. package/templates/default/ikoncomponents/sheet/index.tsx +0 -34
  352. package/templates/default/ikoncomponents/simple-widget/index.tsx +0 -54
  353. package/templates/default/ikoncomponents/skeleton-loader/skeleton-table.tsx +0 -34
  354. package/templates/default/ikoncomponents/skeleton-loader/skeleton-widget.tsx +0 -13
  355. package/templates/default/ikoncomponents/tabs/index.tsx +0 -139
  356. package/templates/default/ikoncomponents/title-progress/index.tsx +0 -41
  357. package/templates/default/ikoncomponents/tooltip/index.tsx +0 -17
  358. package/templates/default/ikoncomponents/twolevel-dropdown/convertToDropdownNodes.tsx +0 -33
  359. package/templates/default/ikoncomponents/twolevel-dropdown/index.tsx +0 -279
  360. package/templates/default/ikoncomponents/upload-tab/index.tsx +0 -237
  361. package/templates/default/ikoncomponents/widgets/index.tsx +0 -81
  362. package/templates/default/ikoncomponents/widgets/type.ts +0 -11
  363. package/templates/default/ikoncomponents/work-in-progress/index.tsx +0 -16
  364. package/templates/default/shadcn/accordion.tsx +0 -66
  365. package/templates/default/shadcn/alert-dialog.tsx +0 -179
  366. package/templates/default/shadcn/alert.tsx +0 -66
  367. package/templates/default/shadcn/aspect-ratio.tsx +0 -11
  368. package/templates/default/shadcn/avatar.tsx +0 -53
  369. package/templates/default/shadcn/badge.tsx +0 -49
  370. package/templates/default/shadcn/breadcrumb.tsx +0 -109
  371. package/templates/default/shadcn/button.tsx +0 -64
  372. package/templates/default/shadcn/calendar.tsx +0 -227
  373. package/templates/default/shadcn/card.tsx +0 -92
  374. package/templates/default/shadcn/checkbox.tsx +0 -33
  375. package/templates/default/shadcn/collapsible.tsx +0 -33
  376. package/templates/default/shadcn/command.tsx +0 -184
  377. package/templates/default/shadcn/date-input.tsx +0 -259
  378. package/templates/default/shadcn/date-range-picker.tsx +0 -103
  379. package/templates/default/shadcn/dialog.tsx +0 -143
  380. package/templates/default/shadcn/drawer.tsx +0 -134
  381. package/templates/default/shadcn/dropdown-menu.tsx +0 -259
  382. package/templates/default/shadcn/form.tsx +0 -166
  383. package/templates/default/shadcn/hover-card.tsx +0 -44
  384. package/templates/default/shadcn/input-otp.tsx +0 -71
  385. package/templates/default/shadcn/input.tsx +0 -22
  386. package/templates/default/shadcn/label.tsx +0 -24
  387. package/templates/default/shadcn/navigation-menu.tsx +0 -195
  388. package/templates/default/shadcn/popover.tsx +0 -48
  389. package/templates/default/shadcn/progress.tsx +0 -40
  390. package/templates/default/shadcn/radio-group.tsx +0 -45
  391. package/templates/default/shadcn/scroll-area.tsx +0 -58
  392. package/templates/default/shadcn/select.tsx +0 -184
  393. package/templates/default/shadcn/separator.tsx +0 -28
  394. package/templates/default/shadcn/sheet.tsx +0 -139
  395. package/templates/default/shadcn/sidebar.tsx +0 -726
  396. package/templates/default/shadcn/skeleton.tsx +0 -15
  397. package/templates/default/shadcn/slider.tsx +0 -64
  398. package/templates/default/shadcn/sonner.tsx +0 -25
  399. package/templates/default/shadcn/switch.tsx +0 -31
  400. package/templates/default/shadcn/table.tsx +0 -116
  401. package/templates/default/shadcn/tabs.tsx +0 -67
  402. package/templates/default/shadcn/textarea.tsx +0 -18
  403. package/templates/default/shadcn/toggle-group.tsx +0 -83
  404. package/templates/default/shadcn/toggle.tsx +0 -47
  405. package/templates/default/shadcn/tooltip.tsx +0 -65
  406. package/templates/default/shadcn/workflow.tsx +0 -119
  407. package/templates/default/utils/actions/account/index.ts +0 -33
  408. package/templates/default/utils/actions/account/type.ts +0 -4
  409. package/templates/default/utils/actions/common/revalidate.ts +0 -18
  410. package/templates/default/utils/actions/common/type.ts +0 -4
  411. package/templates/default/utils/actions/software/index.ts +0 -106
  412. package/templates/default/utils/api/accountService/index.ts +0 -103
  413. package/templates/default/utils/api/accountService/type.ts +0 -4
  414. package/templates/default/utils/api/file-upload/index.ts +0 -103
  415. package/templates/default/utils/api/file-upload/type.ts +0 -8
  416. package/templates/default/utils/api/loginService/index.ts +0 -106
  417. package/templates/default/utils/api/softwareService/index.ts +0 -356
  418. package/templates/default/utils/api/softwareService/type.ts +0 -62
  419. package/templates/default/utils/cn.ts +0 -6
  420. package/templates/default/utils/session/cookieSession.ts +0 -49
  421. package/templates/default/utils/theme-provider/index.tsx +0 -11
  422. package/templates/default/utils/token-management/index.ts +0 -115
  423. package/templates/default/utils/token-management/types.ts +0 -6
@@ -1,237 +0,0 @@
1
- "use client";
2
- import { useState, useEffect } from "react";
3
- import { UploadIcon, X, FileWarning, Send } from "lucide-react";
4
- import { Button } from "../../shadcn/button";
5
- import { Input } from "../../shadcn/input";
6
- import { Label } from "../../shadcn/label";
7
- import { Progress } from "../../shadcn/progress";
8
- import { useForm } from "react-hook-form";
9
- import axios from "axios";
10
-
11
- import {
12
- Form,
13
- FormField,
14
- FormItem,
15
- FormLabel,
16
- FormControl,
17
- FormMessage,
18
- FormDescription,
19
- } from "../../shadcn/form";
20
- import { NoDataComponent } from "../no-data";
21
-
22
- interface Entry {
23
- text: string;
24
- fileNames: string[];
25
- }
26
-
27
- interface FileDetails {
28
- name: string;
29
- url: string;
30
- progress: number;
31
- file: File;
32
- }
33
-
34
- export function UploadTab() {
35
- const form = useForm<Entry>({
36
- defaultValues: {
37
- text: "",
38
- fileNames: [],
39
- },
40
- });
41
-
42
- const [inputValue, setInputValue] = useState("");
43
- const [texts, setTexts] = useState<Entry[]>([]);
44
- const [fileNames, setFileNames] = useState<FileDetails[]>([]); // Updated type
45
- const [formattedDate, setFormattedDate] = useState("");
46
- const [noFilesUploaded, setNoFilesUploaded] = useState(true);
47
-
48
- const isUploading = fileNames.some((file) => file.progress < 100);
49
-
50
- const simulateFileUpload = async (idx: number, file: FileDetails) => {
51
- const formData = new FormData();
52
- formData.append("file", file.file); // Use the actual file object
53
-
54
- try {
55
- const response = await axios.post("UPLOAD_ENDPOINT_URL", formData, {
56
- onUploadProgress: (progressEvent) => {
57
- const progress = Math.round(
58
- (progressEvent.loaded * 100) / (progressEvent.total || 1)
59
- );
60
- setFileNames((prev) =>
61
- prev.map((f, i) => (i === idx ? { ...f, progress } : f))
62
- );
63
- },
64
- });
65
-
66
- setFileNames((prev) =>
67
- prev.map((f, i) =>
68
- i === idx ? { ...f, url: response.data.url, progress: 100 } : f
69
- )
70
- );
71
- } catch (error) {
72
- console.error("Upload failed:", error);
73
- }
74
- };
75
-
76
- useEffect(() => {
77
- const currentDate = new Date();
78
- const day = String(currentDate.getDate()).padStart(2, "0");
79
- const month = String(currentDate.getMonth() + 1).padStart(2, "0");
80
- const year = currentDate.getFullYear();
81
-
82
- setFormattedDate(`${day}-${month}-${year}`);
83
- }, []);
84
-
85
- useEffect(() => {
86
- fileNames.forEach((file, idx) => {
87
- if (file.progress === 0) {
88
- simulateFileUpload(idx, file);
89
- }
90
- });
91
- }, [fileNames]);
92
-
93
- const handleAddText = () => {
94
- if (inputValue.trim() || fileNames.length > 0) {
95
- const newEntry: Entry = {
96
- text: inputValue.trim(),
97
- fileNames: fileNames.map((file) => file.name),
98
- };
99
- setTexts([newEntry, ...texts]);
100
- setInputValue("");
101
- setFileNames([]);
102
- setNoFilesUploaded(false);
103
- }
104
- };
105
-
106
- const handleFileUpload = (e: React.ChangeEvent<HTMLInputElement>) => {
107
- if (e.target.files) {
108
- const uploadedFiles = Array.from(e.target.files).map((file) => ({
109
- name: file.name,
110
- url: "",
111
- progress: 0,
112
- file,
113
- }));
114
- setFileNames((prev) => [...prev, ...uploadedFiles]); // Type now matches correctly
115
- setNoFilesUploaded(false);
116
- }
117
- };
118
-
119
- const removeFile = (index: number) => {
120
- const updatedFiles = fileNames.filter((_, idx) => idx !== index);
121
- setFileNames(updatedFiles);
122
- if (updatedFiles.length === 0 && texts.length === 0) {
123
- setNoFilesUploaded(true);
124
- }
125
- };
126
-
127
-
128
-
129
- return (
130
- <>
131
- {/* Container for the text list */}
132
- <div className="flex flex-col h-full w-full gap-3">
133
- <div className="flex-grow overflow-auto flex flex-col-reverse gap-2">
134
- {noFilesUploaded && <NoDataComponent text="No files uploaded" />}
135
- {fileNames.length > 0 && (
136
- <div className="p-2 my-1 rounded-md border">
137
- <p className="font-bold">Selected Files:</p>
138
- {fileNames.map((file, idx) => (
139
- <div key={idx} className="flex flex-col mb-2">
140
- <div className="flex items-center justify-between">
141
- <a
142
- href={file.url}
143
- download={file.name}
144
- className="text-sm text-blue-600 underline cursor-pointer"
145
- >
146
- {file.name}
147
- </a>
148
- <button
149
- onClick={() => removeFile(idx)}
150
- className="text-red-500 hover:text-red-800"
151
- >
152
- <X className="w-4 h-4" />
153
- </button>
154
- </div>
155
- <Progress value={file.progress} />
156
- <p className="text-xs text-gray-500">
157
- {file.progress}% uploaded
158
- </p>
159
- </div>
160
- ))}
161
- </div>
162
- )}
163
- {texts.map((entry, index) => (
164
- <div key={index} className="border-b text-sm pb-2">
165
- {entry.fileNames.map((fileName, idx) => (
166
- <p key={idx}>
167
- <a
168
- href={
169
- fileNames.find((file) => file.name === fileName)?.url ||
170
- "#"
171
- }
172
- download={fileName}
173
- className="text-sm text-blue-500 underline cursor-pointer"
174
- >
175
- {fileName}
176
- </a>
177
- </p>
178
- ))}
179
- <p>{entry.text || "(No Text)"}</p>
180
- <div className="flex justify-between">
181
- <p>John Doe</p>
182
- <p>{formattedDate}</p>
183
- </div>
184
- </div>
185
- ))}
186
- </div>
187
- <Form {...form}>
188
- <form onSubmit={form.handleSubmit(() => handleAddText())}>
189
- <div className="flex flex-col">
190
- <div className="flex items-center justify-center gap-2">
191
- <div className="flex-1">
192
- <FormField
193
- name="text"
194
- render={({ field }) => (
195
- <FormItem>
196
- <FormControl>
197
- <Input
198
- id="text-input"
199
- type="text"
200
- value={inputValue}
201
- onChange={(e) => setInputValue(e.target.value)}
202
- placeholder="Type something..."
203
- />
204
- </FormControl>
205
- <FormMessage />
206
- </FormItem>
207
- )}
208
- />
209
- </div>
210
- <div className="flex items-center gap-2">
211
- <Label htmlFor="file-upload" className="sr-only">
212
- Upload Files
213
- </Label>
214
- <Button variant="outline" asChild>
215
- <label htmlFor="file-upload" className="cursor-pointer">
216
- <UploadIcon className="w-5 h-5" />
217
- </label>
218
- </Button>
219
- <Input
220
- id="file-upload"
221
- type="file"
222
- multiple
223
- onChange={handleFileUpload}
224
- className="hidden"
225
- />
226
- </div>
227
- <Button variant="outline" type="submit" disabled={isUploading}>
228
- <Send />
229
- </Button>
230
- </div>
231
- </div>
232
- </form>
233
- </Form>
234
- </div>
235
- </>
236
- );
237
- }
@@ -1,81 +0,0 @@
1
- 'use client'
2
- import * as React from "react";
3
- import { WidgetsFunctionProps } from "./type";
4
- import { Icon } from "../icon";
5
- import { Tooltip, TooltipContent, TooltipProvider, TooltipTrigger } from "../../shadcn/tooltip";
6
- import { Button } from "../../shadcn/button";
7
-
8
- export function Widgets({ widgetData }: WidgetsFunctionProps) {
9
- const firstRowWidgets = widgetData.slice(0, 4);
10
- const secondRowWidgets = widgetData.slice(4);
11
-
12
- return (
13
- <div className="flex flex-col gap-2">
14
- <div className="flex flex-col md:flex-row gap-2">
15
- {firstRowWidgets.map((widget) => (
16
- <div className="flex flex-1 flex-row justify-between border rounded-md p-2 border-l-4 border-l-primary" key={widget.id}>
17
- <div className="flex flex-col">
18
- <TooltipProvider>
19
- <Tooltip>
20
- <TooltipTrigger className="cursor-default select-text">
21
- <p className="font-medium max-w-[240px] truncate">{widget.widgetText}</p>
22
- </TooltipTrigger>
23
- <TooltipContent>
24
- <p>{widget.widgetText}</p>
25
- </TooltipContent>
26
- </Tooltip>
27
- </TooltipProvider>
28
- <div>
29
- {widget.onButtonClickfunc ?
30
- <Button className="px-0" variant={"link"} onClick={() => widget.onButtonClickfunc?.({ id: widget.id })}>
31
- {widget.widgetNumber}
32
- </Button> :
33
- <p className="inline-flex items-center justify-center px-0 py-2 text-sm font-medium border border-transparent rounded-md">
34
- {widget.widgetNumber}
35
- </p>
36
- }
37
- </div>
38
- </div>
39
- <div className="flex justify-end items-center">
40
- {widget.iconName && <Icon name={widget.iconName} />}
41
- </div>
42
- </div>
43
- ))}
44
- </div>
45
-
46
- {secondRowWidgets.length > 0 && (
47
- <div className="flex flex-col md:flex-row gap-2">
48
- {secondRowWidgets.map((widget) => (
49
- <div className="flex flex-1 flex-row justify-between border rounded-md p-2 border-l-4 border-l-primary" key={widget.id}>
50
- <div className="flex flex-col">
51
- <TooltipProvider>
52
- <Tooltip>
53
- <TooltipTrigger className="cursor-default select-text">
54
- <p className="font-medium max-w-[240px] truncate">{widget.widgetText}</p>
55
- </TooltipTrigger>
56
- <TooltipContent>
57
- <p>{widget.widgetText}</p>
58
- </TooltipContent>
59
- </Tooltip>
60
- </TooltipProvider>
61
- <div>
62
- {widget.onButtonClickfunc ?
63
- <Button className="px-0" variant={"link"} onClick={() => widget.onButtonClickfunc?.({ id: widget.id })}>
64
- {widget.widgetNumber}
65
- </Button> :
66
- <p className="inline-flex items-center justify-center px-0 py-2 text-sm font-medium border border-transparent rounded-md">
67
- {widget.widgetNumber}
68
- </p>
69
- }
70
- </div>
71
- </div>
72
- <div className="flex justify-end items-center">
73
- {widget.iconName && <Icon name={widget.iconName} />}
74
- </div>
75
- </div>
76
- ))}
77
- </div>
78
- )}
79
- </div>
80
- )
81
- }
@@ -1,11 +0,0 @@
1
- export interface WidgetProps {
2
- id: string,
3
- widgetText: string;
4
- widgetNumber: string;
5
- iconName?: string;
6
- onButtonClickfunc?: (...params: (string | (Record<string, string>))[]) => void;
7
- };
8
-
9
- export interface WidgetsFunctionProps {
10
- widgetData: WidgetProps[];
11
- }
@@ -1,16 +0,0 @@
1
- import React from "react";
2
-
3
- export function WorkInProgress() {
4
- return (
5
- <div className="flex h-full items-center justify-center">
6
- <div className="bg-background text-forefround rounded-xl p-6 text-center max-w-md">
7
- <div className="text-3xl font-bold mb-2 animate-pulse">
8
- 🚧 Work in Progress
9
- </div>
10
- <p className="text-muted-foreground">
11
- We’re currently working on this section. Check back soon!
12
- </p>
13
- </div>
14
- </div>
15
- );
16
- }
@@ -1,66 +0,0 @@
1
- "use client"
2
-
3
- import * as React from "react"
4
- import * as AccordionPrimitive from "@radix-ui/react-accordion"
5
- import { ChevronDownIcon } from "lucide-react"
6
-
7
- import { cn } from "../utils/cn"
8
-
9
- function Accordion({
10
- ...props
11
- }: React.ComponentProps<typeof AccordionPrimitive.Root>) {
12
- return <AccordionPrimitive.Root data-slot="accordion" {...props} />
13
- }
14
-
15
- function AccordionItem({
16
- className,
17
- ...props
18
- }: React.ComponentProps<typeof AccordionPrimitive.Item>) {
19
- return (
20
- <AccordionPrimitive.Item
21
- data-slot="accordion-item"
22
- className={cn("border-b last:border-b-0", className)}
23
- {...props}
24
- />
25
- )
26
- }
27
-
28
- function AccordionTrigger({
29
- className,
30
- children,
31
- ...props
32
- }: React.ComponentProps<typeof AccordionPrimitive.Trigger>) {
33
- return (
34
- <AccordionPrimitive.Header className="flex">
35
- <AccordionPrimitive.Trigger
36
- data-slot="accordion-trigger"
37
- className={cn(
38
- "focus-visible:border-ring focus-visible:ring-ring/50 flex flex-1 items-start justify-between gap-4 rounded-md py-4 text-left text-sm font-medium transition-all outline-none hover:underline focus-visible:ring-[3px] disabled:pointer-events-none disabled:opacity-50 [&[data-state=open]>svg]:rotate-180",
39
- className
40
- )}
41
- {...props}
42
- >
43
- {children}
44
- <ChevronDownIcon className="text-muted-foreground pointer-events-none size-4 shrink-0 translate-y-0.5 transition-transform duration-200" />
45
- </AccordionPrimitive.Trigger>
46
- </AccordionPrimitive.Header>
47
- )
48
- }
49
-
50
- function AccordionContent({
51
- className,
52
- children,
53
- ...props
54
- }: React.ComponentProps<typeof AccordionPrimitive.Content>) {
55
- return (
56
- <AccordionPrimitive.Content
57
- data-slot="accordion-content"
58
- className="data-[state=closed]:animate-accordion-up data-[state=open]:animate-accordion-down overflow-hidden text-sm"
59
- {...props}
60
- >
61
- <div className={cn("pt-0 pb-4", className)}>{children}</div>
62
- </AccordionPrimitive.Content>
63
- )
64
- }
65
-
66
- export { Accordion, AccordionItem, AccordionTrigger, AccordionContent }
@@ -1,179 +0,0 @@
1
- "use client"
2
-
3
- import * as React from "react"
4
- import * as AlertDialogPrimitive from "@radix-ui/react-alert-dialog"
5
- import { cn } from "../utils/cn"
6
- import { buttonVariants } from "./button"
7
-
8
- // ✅ Root (NO ref here!)
9
- const AlertDialog = (
10
- props: React.ComponentPropsWithoutRef<typeof AlertDialogPrimitive.Root>
11
- ) => <AlertDialogPrimitive.Root data-slot="alert-dialog" {...props} />
12
- AlertDialog.displayName = "AlertDialog"
13
-
14
- // ✅ Trigger
15
- const AlertDialogTrigger = React.forwardRef<
16
- React.ElementRef<typeof AlertDialogPrimitive.Trigger>,
17
- React.ComponentPropsWithoutRef<typeof AlertDialogPrimitive.Trigger>
18
- >((props, ref) => (
19
- <AlertDialogPrimitive.Trigger
20
- data-slot="alert-dialog-trigger"
21
- ref={ref}
22
- {...props}
23
- />
24
- ))
25
- AlertDialogTrigger.displayName = "AlertDialogTrigger"
26
-
27
- // ✅ Portal (NO ref here!)
28
- const AlertDialogPortal = (
29
- props: React.ComponentPropsWithoutRef<typeof AlertDialogPrimitive.Portal>
30
- ) => <AlertDialogPrimitive.Portal data-slot="alert-dialog-portal" {...props} />
31
- AlertDialogPortal.displayName = "AlertDialogPortal"
32
-
33
- // ✅ Overlay
34
- const AlertDialogOverlay = React.forwardRef<
35
- React.ElementRef<typeof AlertDialogPrimitive.Overlay>,
36
- React.ComponentPropsWithoutRef<typeof AlertDialogPrimitive.Overlay>
37
- >(({ className, ...props }, ref) => (
38
- <AlertDialogPrimitive.Overlay
39
- ref={ref}
40
- data-slot="alert-dialog-overlay"
41
- className={cn(
42
- "data-[state=open]:animate-in data-[state=closed]:animate-out " +
43
- "data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0 " +
44
- "fixed inset-0 z-50 bg-black/50",
45
- className
46
- )}
47
- {...props}
48
- />
49
- ))
50
- AlertDialogOverlay.displayName = "AlertDialogOverlay"
51
-
52
- // ✅ Content
53
- const AlertDialogContent = React.forwardRef<
54
- React.ElementRef<typeof AlertDialogPrimitive.Content>,
55
- React.ComponentPropsWithoutRef<typeof AlertDialogPrimitive.Content>
56
- >(({ className, ...props }, ref) => (
57
- <AlertDialogPortal>
58
- <AlertDialogOverlay />
59
- <AlertDialogPrimitive.Content
60
- ref={ref}
61
- data-slot="alert-dialog-content"
62
- className={cn(
63
- "bg-background data-[state=open]:animate-in data-[state=closed]:animate-out " +
64
- "data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0 " +
65
- "data-[state=closed]:zoom-out-95 data-[state=open]:zoom-in-95 " +
66
- "fixed top-[50%] left-[50%] z-50 grid w-full max-w-[calc(100%-2rem)] " +
67
- "translate-x-[-50%] translate-y-[-50%] gap-4 rounded-lg border p-6 " +
68
- "shadow-lg duration-200 sm:max-w-lg",
69
- className
70
- )}
71
- {...props}
72
- />
73
- </AlertDialogPortal>
74
- ))
75
- AlertDialogContent.displayName = "AlertDialogContent"
76
-
77
- // ✅ Header
78
- const AlertDialogHeader = React.forwardRef<
79
- HTMLDivElement,
80
- React.ComponentPropsWithoutRef<"div">
81
- >(({ className, ...props }, ref) => (
82
- <div
83
- ref={ref}
84
- data-slot="alert-dialog-header"
85
- className={cn("flex flex-col gap-2 text-center sm:text-left", className)}
86
- {...props}
87
- />
88
- ))
89
- AlertDialogHeader.displayName = "AlertDialogHeader"
90
-
91
- // ✅ Footer
92
- const AlertDialogFooter = React.forwardRef<
93
- HTMLDivElement,
94
- React.ComponentPropsWithoutRef<"div">
95
- >(({ className, ...props }, ref) => (
96
- <div
97
- ref={ref}
98
- data-slot="alert-dialog-footer"
99
- className={cn(
100
- "flex flex-col-reverse gap-2 sm:flex-row sm:justify-end",
101
- className
102
- )}
103
- {...props}
104
- />
105
- ))
106
- AlertDialogFooter.displayName = "AlertDialogFooter"
107
-
108
- // ✅ Title
109
- const AlertDialogTitle = React.forwardRef<
110
- React.ElementRef<typeof AlertDialogPrimitive.Title>,
111
- React.ComponentPropsWithoutRef<typeof AlertDialogPrimitive.Title>
112
- >(({ className, ...props }, ref) => (
113
- <AlertDialogPrimitive.Title
114
- ref={ref}
115
- data-slot="alert-dialog-title"
116
- className={cn("text-lg font-semibold bg-background", className)}
117
- {...props}
118
- />
119
- ))
120
- AlertDialogTitle.displayName = "AlertDialogTitle"
121
-
122
- // ✅ Description
123
- const AlertDialogDescription = React.forwardRef<
124
- React.ElementRef<typeof AlertDialogPrimitive.Description>,
125
- React.ComponentPropsWithoutRef<typeof AlertDialogPrimitive.Description>
126
- >(({ className, ...props }, ref) => (
127
- <AlertDialogPrimitive.Description
128
- ref={ref}
129
- data-slot="alert-dialog-description"
130
- className={cn("text-muted-foreground text-sm bg-background", className)}
131
- {...props}
132
- />
133
- ))
134
- AlertDialogDescription.displayName = "AlertDialogDescription"
135
-
136
- // ✅ Action
137
- const AlertDialogAction = React.forwardRef<
138
- React.ElementRef<typeof AlertDialogPrimitive.Action>,
139
- React.ComponentPropsWithoutRef<typeof AlertDialogPrimitive.Action>
140
- >(({ className, ...props }, ref) => (
141
- <AlertDialogPrimitive.Action
142
- ref={ref}
143
- className={cn(buttonVariants(), className)}
144
- {...props}
145
- />
146
- ))
147
- AlertDialogAction.displayName = "AlertDialogAction"
148
-
149
- // ✅ Cancel
150
- const AlertDialogCancel = React.forwardRef<
151
- React.ElementRef<typeof AlertDialogPrimitive.Cancel>,
152
- React.ComponentPropsWithoutRef<typeof AlertDialogPrimitive.Cancel>
153
- >(({ className, ...props }, ref) => (
154
- <AlertDialogPrimitive.Cancel
155
- ref={ref}
156
- className={cn(
157
- buttonVariants({ variant: "outline" }),
158
- "bg-background",
159
- className
160
- )}
161
- {...props}
162
- />
163
- ))
164
- AlertDialogCancel.displayName = "AlertDialogCancel"
165
-
166
- // ✅ Exports
167
- export {
168
- AlertDialog,
169
- AlertDialogTrigger,
170
- AlertDialogPortal,
171
- AlertDialogOverlay,
172
- AlertDialogContent,
173
- AlertDialogHeader,
174
- AlertDialogFooter,
175
- AlertDialogTitle,
176
- AlertDialogDescription,
177
- AlertDialogAction,
178
- AlertDialogCancel,
179
- }
@@ -1,66 +0,0 @@
1
- import * as React from "react"
2
- import { cva, type VariantProps } from "class-variance-authority"
3
-
4
- import { cn } from "../utils/cn"
5
-
6
- const alertVariants = cva(
7
- "relative w-full rounded-lg border px-4 py-3 text-sm grid has-[>svg]:grid-cols-[calc(var(--spacing)*4)_1fr] grid-cols-[0_1fr] has-[>svg]:gap-x-3 gap-y-0.5 items-start [&>svg]:size-4 [&>svg]:translate-y-0.5 [&>svg]:text-current",
8
- {
9
- variants: {
10
- variant: {
11
- default: "bg-card dark:bg-background text-card-foreground",
12
- destructive:
13
- "text-destructive bg-card [&>svg]:text-current *:data-[slot=alert-description]:text-destructive/90",
14
- },
15
- },
16
- defaultVariants: {
17
- variant: "default",
18
- },
19
- }
20
- )
21
-
22
- function Alert({
23
- className,
24
- variant,
25
- ...props
26
- }: React.ComponentProps<"div"> & VariantProps<typeof alertVariants>) {
27
- return (
28
- <div
29
- data-slot="alert"
30
- role="alert"
31
- className={cn(alertVariants({ variant }), className)}
32
- {...props}
33
- />
34
- )
35
- }
36
-
37
- function AlertTitle({ className, ...props }: React.ComponentProps<"div">) {
38
- return (
39
- <div
40
- data-slot="alert-title"
41
- className={cn(
42
- "col-start-2 line-clamp-1 min-h-4 font-medium tracking-tight",
43
- className
44
- )}
45
- {...props}
46
- />
47
- )
48
- }
49
-
50
- function AlertDescription({
51
- className,
52
- ...props
53
- }: React.ComponentProps<"div">) {
54
- return (
55
- <div
56
- data-slot="alert-description"
57
- className={cn(
58
- "text-muted-foreground col-start-2 grid justify-items-start gap-1 text-sm [&_p]:leading-relaxed",
59
- className
60
- )}
61
- {...props}
62
- />
63
- )
64
- }
65
-
66
- export { Alert, AlertTitle, AlertDescription }
@@ -1,11 +0,0 @@
1
- "use client"
2
-
3
- import * as AspectRatioPrimitive from "@radix-ui/react-aspect-ratio"
4
-
5
- function AspectRatio({
6
- ...props
7
- }: React.ComponentProps<typeof AspectRatioPrimitive.Root>) {
8
- return <AspectRatioPrimitive.Root data-slot="aspect-ratio" {...props} />
9
- }
10
-
11
- export { AspectRatio }