ikoncomponents 1.4.8 → 1.5.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 (576) hide show
  1. package/bin.js +2 -0
  2. package/dist/commands/init.js +57 -0
  3. package/dist/index.js +3 -116
  4. package/dist/utlis/copyDir.js +7 -0
  5. package/package.json +18 -92
  6. package/templates/default/hooks/use-mobile.ts +19 -0
  7. package/templates/default/ikonShade/accordion.tsx +66 -0
  8. package/templates/default/ikonShade/alert-dialog.tsx +179 -0
  9. package/templates/default/ikonShade/alert.tsx +66 -0
  10. package/templates/default/ikonShade/aspect-ratio.tsx +11 -0
  11. package/templates/default/ikonShade/avatar.tsx +53 -0
  12. package/templates/default/ikonShade/badge.tsx +49 -0
  13. package/templates/default/ikonShade/breadcrumb.tsx +109 -0
  14. package/templates/default/ikonShade/button.tsx +64 -0
  15. package/templates/default/ikonShade/calendar.tsx +227 -0
  16. package/templates/default/ikonShade/card.tsx +92 -0
  17. package/templates/default/ikonShade/checkbox.tsx +33 -0
  18. package/templates/default/ikonShade/collapsible.tsx +33 -0
  19. package/templates/default/ikonShade/command.tsx +184 -0
  20. package/templates/default/ikonShade/date-input.tsx +259 -0
  21. package/templates/default/ikonShade/date-range-picker.tsx +103 -0
  22. package/templates/default/ikonShade/dialog.tsx +143 -0
  23. package/templates/default/ikonShade/drawer.tsx +134 -0
  24. package/templates/default/ikonShade/dropdown-menu.tsx +259 -0
  25. package/templates/default/ikonShade/form.tsx +166 -0
  26. package/templates/default/ikonShade/hover-card.tsx +44 -0
  27. package/templates/default/ikonShade/input-otp.tsx +71 -0
  28. package/templates/default/ikonShade/input.tsx +22 -0
  29. package/templates/default/ikonShade/label.tsx +24 -0
  30. package/templates/default/ikonShade/navigation-menu.tsx +195 -0
  31. package/templates/default/ikonShade/popover.tsx +48 -0
  32. package/templates/default/ikonShade/progress.tsx +40 -0
  33. package/templates/default/ikonShade/radio-group.tsx +45 -0
  34. package/templates/default/ikonShade/scroll-area.tsx +58 -0
  35. package/templates/default/ikonShade/select.tsx +184 -0
  36. package/templates/default/ikonShade/separator.tsx +28 -0
  37. package/templates/default/ikonShade/sheet.tsx +139 -0
  38. package/templates/default/ikonShade/sidebar.tsx +726 -0
  39. package/templates/default/ikonShade/skeleton.tsx +15 -0
  40. package/templates/default/ikonShade/slider.tsx +64 -0
  41. package/templates/default/ikonShade/sonner.tsx +25 -0
  42. package/templates/default/ikonShade/switch.tsx +31 -0
  43. package/templates/default/ikonShade/table.tsx +116 -0
  44. package/templates/default/ikonShade/tabs.tsx +67 -0
  45. package/templates/default/ikonShade/textarea.tsx +18 -0
  46. package/templates/default/ikonShade/toggle-group.tsx +83 -0
  47. package/templates/default/ikonShade/toggle.tsx +47 -0
  48. package/templates/default/ikonShade/tooltip.tsx +65 -0
  49. package/templates/default/ikonShade/workflow.tsx +119 -0
  50. package/templates/default/ikoncomponents/action-menu/index.tsx +108 -0
  51. package/templates/default/ikoncomponents/action-menu/type.ts +18 -0
  52. package/templates/default/ikoncomponents/activity-sheet/index.tsx +63 -0
  53. package/templates/default/ikoncomponents/alert-dialog/dialog-context.tsx +65 -0
  54. package/templates/default/ikoncomponents/alert-dialog/index.tsx +80 -0
  55. package/templates/default/ikoncomponents/app-breadcrumb/BreadcrumbProvider.tsx +68 -0
  56. package/templates/default/ikoncomponents/app-breadcrumb/index.tsx +222 -0
  57. package/templates/default/ikoncomponents/big-calendar/big-calender-event/index.tsx +38 -0
  58. package/templates/default/ikoncomponents/big-calendar/big-calender-toolbar/index.tsx +81 -0
  59. package/templates/default/ikoncomponents/big-calendar/index.css +879 -0
  60. package/templates/default/ikoncomponents/big-calendar/index.tsx +59 -0
  61. package/templates/default/ikoncomponents/big-calendar/type.ts +37 -0
  62. package/templates/default/ikoncomponents/buttons/index.tsx +127 -0
  63. package/templates/default/ikoncomponents/combobox-input/index.tsx +75 -0
  64. package/templates/default/ikoncomponents/combobox-input/type.ts +14 -0
  65. package/templates/default/ikoncomponents/custom-combo-dropdown/index.tsx +242 -0
  66. package/templates/default/ikoncomponents/data-table/datatable-column-filter/index.tsx +80 -0
  67. package/templates/default/ikoncomponents/data-table/datatable-faceted-filter/index.tsx +149 -0
  68. package/templates/default/ikoncomponents/data-table/datatable-filter-menu/index.tsx +98 -0
  69. package/templates/default/ikoncomponents/data-table/datatable-pagination/index.tsx +119 -0
  70. package/templates/default/ikoncomponents/data-table/datatable-toolbar/index.tsx +45 -0
  71. package/templates/default/ikoncomponents/data-table/function.ts +7 -0
  72. package/templates/default/ikoncomponents/data-table/index.tsx +549 -0
  73. package/templates/default/ikoncomponents/data-table/type.ts +75 -0
  74. package/templates/default/ikoncomponents/e-chart/index.tsx +183 -0
  75. package/templates/default/ikoncomponents/file-input/index.tsx +27 -0
  76. package/templates/default/ikoncomponents/fileUpload/index.tsx +121 -0
  77. package/templates/default/ikoncomponents/form-fields/combobox-input/index.tsx +111 -0
  78. package/templates/default/ikoncomponents/form-fields/combobox-input-value/index.tsx +121 -0
  79. package/templates/default/ikoncomponents/form-fields/date-input/index.tsx +80 -0
  80. package/templates/default/ikoncomponents/form-fields/file-input/index.tsx +9 -0
  81. package/templates/default/ikoncomponents/form-fields/input/index.tsx +27 -0
  82. package/{dist/ikoncomponents/form-fields/multi-combobox-input/index.js → templates/default/ikoncomponents/form-fields/multi-combobox-input/index.tsx} +574 -381
  83. package/templates/default/ikoncomponents/form-fields/otp-input/index.tsx +39 -0
  84. package/templates/default/ikoncomponents/form-fields/password-input/index.tsx +52 -0
  85. package/templates/default/ikoncomponents/form-fields/phone-input/index.tsx +7 -0
  86. package/templates/default/ikoncomponents/form-fields/textarea/index.tsx +28 -0
  87. package/templates/default/ikoncomponents/form-fields/types/index.ts +46 -0
  88. package/templates/default/ikoncomponents/glowing-effect/index.tsx +171 -0
  89. package/templates/default/ikoncomponents/icon/index.tsx +22 -0
  90. package/templates/default/ikoncomponents/image-cropper-upload/components/cropperImg.css +19 -0
  91. package/{dist/ikoncomponents/image-cropper-upload/components/newCropper.js → templates/default/ikoncomponents/image-cropper-upload/components/newCropper.tsx} +117 -85
  92. package/templates/default/ikoncomponents/image-cropper-upload/components/newImageUploadForm.tsx +352 -0
  93. package/templates/default/ikoncomponents/image-cropper-upload/cropper-form/index.tsx +250 -0
  94. package/templates/default/ikoncomponents/image-cropper-upload/cropper-form-with-modal/index.tsx +32 -0
  95. package/{dist/ikoncomponents/image-cropper-upload/image-cropper/index.js → templates/default/ikoncomponents/image-cropper-upload/image-cropper/index.tsx} +119 -87
  96. package/templates/default/ikoncomponents/image-cropper-upload/index.tsx +95 -0
  97. package/templates/default/ikoncomponents/image-cropper-upload/utils/index.ts +117 -0
  98. package/templates/default/ikoncomponents/loading-spinner/index.tsx +43 -0
  99. package/templates/default/ikoncomponents/main-layout/RefreshContext.tsx +30 -0
  100. package/templates/default/ikoncomponents/main-layout/SidebarNavContext.tsx +103 -0
  101. package/templates/default/ikoncomponents/main-layout/app-sidebar.tsx +36 -0
  102. package/templates/default/ikoncomponents/main-layout/footer.tsx +21 -0
  103. package/templates/default/ikoncomponents/main-layout/header.tsx +53 -0
  104. package/templates/default/ikoncomponents/main-layout/index.tsx +43 -0
  105. package/templates/default/ikoncomponents/main-layout/main-sidebar.tsx +389 -0
  106. package/templates/default/ikoncomponents/main-layout/nav-main.tsx +103 -0
  107. package/templates/default/ikoncomponents/multi-combobox/index.tsx +345 -0
  108. package/templates/default/ikoncomponents/no-data/index.tsx +11 -0
  109. package/templates/default/ikoncomponents/page-wrapper/index.tsx +30 -0
  110. package/templates/default/ikoncomponents/password-strength-meter/index.tsx +49 -0
  111. package/templates/default/ikoncomponents/phone-input/index.tsx +72 -0
  112. package/templates/default/ikoncomponents/provider-wrapper/index.tsx +32 -0
  113. package/templates/default/ikoncomponents/search-input/index.tsx +18 -0
  114. package/templates/default/ikoncomponents/sheet/index.tsx +34 -0
  115. package/templates/default/ikoncomponents/simple-widget/index.tsx +54 -0
  116. package/templates/default/ikoncomponents/skeleton-loader/skeleton-table.tsx +34 -0
  117. package/templates/default/ikoncomponents/skeleton-loader/skeleton-widget.tsx +13 -0
  118. package/templates/default/ikoncomponents/tabs/index.tsx +139 -0
  119. package/{dist/ikoncomponents/tabs/type.d.ts → templates/default/ikoncomponents/tabs/type.ts} +20 -20
  120. package/{dist/ikoncomponents/theme-toggle-btn/index.js → templates/default/ikoncomponents/theme-toggle-btn/index.tsx} +189 -118
  121. package/templates/default/ikoncomponents/title-progress/index.tsx +41 -0
  122. package/templates/default/ikoncomponents/tooltip/index.tsx +17 -0
  123. package/templates/default/ikoncomponents/twolevel-dropdown/convertToDropdownNodes.tsx +33 -0
  124. package/templates/default/ikoncomponents/twolevel-dropdown/index.tsx +279 -0
  125. package/templates/default/ikoncomponents/upload-tab/index.tsx +237 -0
  126. package/templates/default/ikoncomponents/widgets/index.tsx +81 -0
  127. package/templates/default/ikoncomponents/widgets/type.ts +11 -0
  128. package/templates/default/ikoncomponents/work-in-progress/index.tsx +16 -0
  129. package/{dist/index.d.ts → templates/default/index.ts} +234 -139
  130. package/templates/default/styles.css +1159 -0
  131. package/templates/default/utils/actions/account/index.ts +33 -0
  132. package/templates/default/utils/actions/account/type.ts +4 -0
  133. package/{dist/utils/actions/auth/index.js → templates/default/utils/actions/auth/index.ts} +69 -58
  134. package/templates/default/utils/actions/common/revalidate.ts +18 -0
  135. package/templates/default/utils/actions/common/type.ts +4 -0
  136. package/{dist/utils/actions/common/utils.js → templates/default/utils/actions/common/utils.ts} +28 -25
  137. package/templates/default/utils/actions/software/index.ts +106 -0
  138. package/templates/default/utils/api/accountService/index.ts +103 -0
  139. package/templates/default/utils/api/accountService/type.ts +4 -0
  140. package/templates/default/utils/api/file-upload/index.ts +103 -0
  141. package/templates/default/utils/api/file-upload/type.ts +8 -0
  142. package/{dist/utils/api/ikonBaseApi.js → templates/default/utils/api/ikonBaseApi.ts} +132 -104
  143. package/templates/default/utils/api/loginService/index.ts +108 -0
  144. package/{dist/utils/api/loginService/type.d.ts → templates/default/utils/api/loginService/type.ts} +35 -32
  145. package/templates/default/utils/api/softwareService/index.ts +356 -0
  146. package/templates/default/utils/api/softwareService/type.ts +62 -0
  147. package/{dist/utils/border-radius-provider.js → templates/default/utils/border-radius-provider.tsx} +59 -35
  148. package/templates/default/utils/cn.ts +6 -0
  149. package/{dist/utils/font-provider.js → templates/default/utils/font-provider.tsx} +61 -37
  150. package/templates/default/utils/session/cookieSession.ts +49 -0
  151. package/templates/default/utils/theme-provider/index.tsx +11 -0
  152. package/templates/default/utils/token-management/index.ts +115 -0
  153. package/templates/default/utils/token-management/types.ts +6 -0
  154. package/dist/hooks/use-mobile.d.ts +0 -2
  155. package/dist/hooks/use-mobile.d.ts.map +0 -1
  156. package/dist/hooks/use-mobile.js +0 -15
  157. package/dist/ikoncomponents/action-menu/index.d.ts +0 -6
  158. package/dist/ikoncomponents/action-menu/index.d.ts.map +0 -1
  159. package/dist/ikoncomponents/action-menu/index.js +0 -42
  160. package/dist/ikoncomponents/action-menu/type.d.ts +0 -15
  161. package/dist/ikoncomponents/action-menu/type.d.ts.map +0 -1
  162. package/dist/ikoncomponents/action-menu/type.js +0 -1
  163. package/dist/ikoncomponents/activity-sheet/index.d.ts +0 -12
  164. package/dist/ikoncomponents/activity-sheet/index.d.ts.map +0 -1
  165. package/dist/ikoncomponents/activity-sheet/index.js +0 -23
  166. package/dist/ikoncomponents/alert-dialog/dialog-context.d.ts +0 -22
  167. package/dist/ikoncomponents/alert-dialog/dialog-context.d.ts.map +0 -1
  168. package/dist/ikoncomponents/alert-dialog/dialog-context.js +0 -30
  169. package/dist/ikoncomponents/alert-dialog/index.d.ts +0 -15
  170. package/dist/ikoncomponents/alert-dialog/index.d.ts.map +0 -1
  171. package/dist/ikoncomponents/alert-dialog/index.js +0 -20
  172. package/dist/ikoncomponents/app-breadcrumb/BreadcrumbProvider.d.ts +0 -19
  173. package/dist/ikoncomponents/app-breadcrumb/BreadcrumbProvider.d.ts.map +0 -1
  174. package/dist/ikoncomponents/app-breadcrumb/BreadcrumbProvider.js +0 -43
  175. package/dist/ikoncomponents/app-breadcrumb/index.d.ts +0 -6
  176. package/dist/ikoncomponents/app-breadcrumb/index.d.ts.map +0 -1
  177. package/dist/ikoncomponents/app-breadcrumb/index.js +0 -57
  178. package/dist/ikoncomponents/big-calendar/big-calender-event/index.d.ts +0 -6
  179. package/dist/ikoncomponents/big-calendar/big-calender-event/index.d.ts.map +0 -1
  180. package/dist/ikoncomponents/big-calendar/big-calender-event/index.js +0 -16
  181. package/dist/ikoncomponents/big-calendar/big-calender-toolbar/index.d.ts +0 -3
  182. package/dist/ikoncomponents/big-calendar/big-calender-toolbar/index.d.ts.map +0 -1
  183. package/dist/ikoncomponents/big-calendar/big-calender-toolbar/index.js +0 -39
  184. package/dist/ikoncomponents/big-calendar/index.d.ts +0 -4
  185. package/dist/ikoncomponents/big-calendar/index.d.ts.map +0 -1
  186. package/dist/ikoncomponents/big-calendar/index.js +0 -35
  187. package/dist/ikoncomponents/big-calendar/type.d.ts +0 -32
  188. package/dist/ikoncomponents/big-calendar/type.d.ts.map +0 -1
  189. package/dist/ikoncomponents/big-calendar/type.js +0 -1
  190. package/dist/ikoncomponents/buttons/index.d.ts +0 -19
  191. package/dist/ikoncomponents/buttons/index.d.ts.map +0 -1
  192. package/dist/ikoncomponents/buttons/index.js +0 -38
  193. package/dist/ikoncomponents/combobox-input/index.d.ts +0 -3
  194. package/dist/ikoncomponents/combobox-input/index.d.ts.map +0 -1
  195. package/dist/ikoncomponents/combobox-input/index.js +0 -18
  196. package/dist/ikoncomponents/combobox-input/type.d.ts +0 -14
  197. package/dist/ikoncomponents/combobox-input/type.d.ts.map +0 -1
  198. package/dist/ikoncomponents/combobox-input/type.js +0 -1
  199. package/dist/ikoncomponents/custom-combo-dropdown/index.d.ts +0 -22
  200. package/dist/ikoncomponents/custom-combo-dropdown/index.d.ts.map +0 -1
  201. package/dist/ikoncomponents/custom-combo-dropdown/index.js +0 -85
  202. package/dist/ikoncomponents/data-table/datatable-column-filter/index.d.ts +0 -3
  203. package/dist/ikoncomponents/data-table/datatable-column-filter/index.d.ts.map +0 -1
  204. package/dist/ikoncomponents/data-table/datatable-column-filter/index.js +0 -22
  205. package/dist/ikoncomponents/data-table/datatable-faceted-filter/index.d.ts +0 -3
  206. package/dist/ikoncomponents/data-table/datatable-faceted-filter/index.d.ts.map +0 -1
  207. package/dist/ikoncomponents/data-table/datatable-faceted-filter/index.js +0 -35
  208. package/dist/ikoncomponents/data-table/datatable-filter-menu/index.d.ts +0 -3
  209. package/dist/ikoncomponents/data-table/datatable-filter-menu/index.d.ts.map +0 -1
  210. package/dist/ikoncomponents/data-table/datatable-filter-menu/index.js +0 -38
  211. package/dist/ikoncomponents/data-table/datatable-pagination/index.d.ts +0 -3
  212. package/dist/ikoncomponents/data-table/datatable-pagination/index.d.ts.map +0 -1
  213. package/dist/ikoncomponents/data-table/datatable-pagination/index.js +0 -13
  214. package/dist/ikoncomponents/data-table/datatable-toolbar/index.d.ts +0 -3
  215. package/dist/ikoncomponents/data-table/datatable-toolbar/index.d.ts.map +0 -1
  216. package/dist/ikoncomponents/data-table/datatable-toolbar/index.js +0 -18
  217. package/dist/ikoncomponents/data-table/function.d.ts +0 -2
  218. package/dist/ikoncomponents/data-table/function.d.ts.map +0 -1
  219. package/dist/ikoncomponents/data-table/function.js +0 -6
  220. package/dist/ikoncomponents/data-table/index.d.ts +0 -3
  221. package/dist/ikoncomponents/data-table/index.d.ts.map +0 -1
  222. package/dist/ikoncomponents/data-table/index.js +0 -223
  223. package/dist/ikoncomponents/data-table/type.d.ts +0 -61
  224. package/dist/ikoncomponents/data-table/type.d.ts.map +0 -1
  225. package/dist/ikoncomponents/data-table/type.js +0 -1
  226. package/dist/ikoncomponents/e-chart/index.d.ts +0 -16
  227. package/dist/ikoncomponents/e-chart/index.d.ts.map +0 -1
  228. package/dist/ikoncomponents/e-chart/index.js +0 -115
  229. package/dist/ikoncomponents/file-input/index.d.ts +0 -2
  230. package/dist/ikoncomponents/file-input/index.d.ts.map +0 -1
  231. package/dist/ikoncomponents/file-input/index.js +0 -21
  232. package/dist/ikoncomponents/fileUpload/index.d.ts +0 -16
  233. package/dist/ikoncomponents/fileUpload/index.d.ts.map +0 -1
  234. package/dist/ikoncomponents/fileUpload/index.js +0 -69
  235. package/dist/ikoncomponents/form-fields/combobox-input/index.d.ts +0 -3
  236. package/dist/ikoncomponents/form-fields/combobox-input/index.d.ts.map +0 -1
  237. package/dist/ikoncomponents/form-fields/combobox-input/index.js +0 -21
  238. package/dist/ikoncomponents/form-fields/combobox-input-value/index.d.ts +0 -19
  239. package/dist/ikoncomponents/form-fields/combobox-input-value/index.d.ts.map +0 -1
  240. package/dist/ikoncomponents/form-fields/combobox-input-value/index.js +0 -26
  241. package/dist/ikoncomponents/form-fields/date-input/index.d.ts +0 -3
  242. package/dist/ikoncomponents/form-fields/date-input/index.d.ts.map +0 -1
  243. package/dist/ikoncomponents/form-fields/date-input/index.js +0 -15
  244. package/dist/ikoncomponents/form-fields/file-input/index.d.ts +0 -2
  245. package/dist/ikoncomponents/form-fields/file-input/index.d.ts.map +0 -1
  246. package/dist/ikoncomponents/form-fields/file-input/index.js +0 -4
  247. package/dist/ikoncomponents/form-fields/input/index.d.ts +0 -3
  248. package/dist/ikoncomponents/form-fields/input/index.d.ts.map +0 -1
  249. package/dist/ikoncomponents/form-fields/input/index.js +0 -18
  250. package/dist/ikoncomponents/form-fields/multi-combobox-input/index.d.ts +0 -7
  251. package/dist/ikoncomponents/form-fields/multi-combobox-input/index.d.ts.map +0 -1
  252. package/dist/ikoncomponents/form-fields/otp-input/index.d.ts +0 -3
  253. package/dist/ikoncomponents/form-fields/otp-input/index.d.ts.map +0 -1
  254. package/dist/ikoncomponents/form-fields/otp-input/index.js +0 -18
  255. package/dist/ikoncomponents/form-fields/password-input/index.d.ts +0 -3
  256. package/dist/ikoncomponents/form-fields/password-input/index.d.ts.map +0 -1
  257. package/dist/ikoncomponents/form-fields/password-input/index.js +0 -23
  258. package/dist/ikoncomponents/form-fields/phone-input/index.d.ts +0 -2
  259. package/dist/ikoncomponents/form-fields/phone-input/index.d.ts.map +0 -1
  260. package/dist/ikoncomponents/form-fields/phone-input/index.js +0 -4
  261. package/dist/ikoncomponents/form-fields/textarea/index.d.ts +0 -3
  262. package/dist/ikoncomponents/form-fields/textarea/index.d.ts.map +0 -1
  263. package/dist/ikoncomponents/form-fields/textarea/index.js +0 -18
  264. package/dist/ikoncomponents/form-fields/types/index.d.ts +0 -37
  265. package/dist/ikoncomponents/form-fields/types/index.d.ts.map +0 -1
  266. package/dist/ikoncomponents/form-fields/types/index.js +0 -1
  267. package/dist/ikoncomponents/glowing-effect/index.d.ts +0 -15
  268. package/dist/ikoncomponents/glowing-effect/index.d.ts.map +0 -1
  269. package/dist/ikoncomponents/glowing-effect/index.js +0 -84
  270. package/dist/ikoncomponents/icon/index.d.ts +0 -9
  271. package/dist/ikoncomponents/icon/index.d.ts.map +0 -1
  272. package/dist/ikoncomponents/icon/index.js +0 -23
  273. package/dist/ikoncomponents/image-cropper-upload/components/newCropper.d.ts +0 -16
  274. package/dist/ikoncomponents/image-cropper-upload/components/newCropper.d.ts.map +0 -1
  275. package/dist/ikoncomponents/image-cropper-upload/components/newImageUploadForm.d.ts +0 -8
  276. package/dist/ikoncomponents/image-cropper-upload/components/newImageUploadForm.d.ts.map +0 -1
  277. package/dist/ikoncomponents/image-cropper-upload/components/newImageUploadForm.js +0 -145
  278. package/dist/ikoncomponents/image-cropper-upload/cropper-form/index.d.ts +0 -7
  279. package/dist/ikoncomponents/image-cropper-upload/cropper-form/index.d.ts.map +0 -1
  280. package/dist/ikoncomponents/image-cropper-upload/cropper-form/index.js +0 -92
  281. package/dist/ikoncomponents/image-cropper-upload/cropper-form-with-modal/index.d.ts +0 -7
  282. package/dist/ikoncomponents/image-cropper-upload/cropper-form-with-modal/index.d.ts.map +0 -1
  283. package/dist/ikoncomponents/image-cropper-upload/cropper-form-with-modal/index.js +0 -14
  284. package/dist/ikoncomponents/image-cropper-upload/image-cropper/index.d.ts +0 -15
  285. package/dist/ikoncomponents/image-cropper-upload/image-cropper/index.d.ts.map +0 -1
  286. package/dist/ikoncomponents/image-cropper-upload/index.d.ts +0 -28
  287. package/dist/ikoncomponents/image-cropper-upload/index.d.ts.map +0 -1
  288. package/dist/ikoncomponents/image-cropper-upload/index.js +0 -49
  289. package/dist/ikoncomponents/image-cropper-upload/utils/index.d.ts +0 -17
  290. package/dist/ikoncomponents/image-cropper-upload/utils/index.d.ts.map +0 -1
  291. package/dist/ikoncomponents/image-cropper-upload/utils/index.js +0 -73
  292. package/dist/ikoncomponents/loading-spinner/index.d.ts +0 -10
  293. package/dist/ikoncomponents/loading-spinner/index.d.ts.map +0 -1
  294. package/dist/ikoncomponents/loading-spinner/index.js +0 -19
  295. package/dist/ikoncomponents/main-layout/RefreshContext.d.ts +0 -11
  296. package/dist/ikoncomponents/main-layout/RefreshContext.d.ts.map +0 -1
  297. package/dist/ikoncomponents/main-layout/RefreshContext.js +0 -17
  298. package/dist/ikoncomponents/main-layout/SidebarNavContext.d.ts +0 -34
  299. package/dist/ikoncomponents/main-layout/SidebarNavContext.d.ts.map +0 -1
  300. package/dist/ikoncomponents/main-layout/SidebarNavContext.js +0 -52
  301. package/dist/ikoncomponents/main-layout/app-sidebar.d.ts +0 -4
  302. package/dist/ikoncomponents/main-layout/app-sidebar.d.ts.map +0 -1
  303. package/dist/ikoncomponents/main-layout/app-sidebar.js +0 -24
  304. package/dist/ikoncomponents/main-layout/footer.d.ts +0 -2
  305. package/dist/ikoncomponents/main-layout/footer.d.ts.map +0 -1
  306. package/dist/ikoncomponents/main-layout/footer.js +0 -5
  307. package/dist/ikoncomponents/main-layout/header.d.ts +0 -4
  308. package/dist/ikoncomponents/main-layout/header.d.ts.map +0 -1
  309. package/dist/ikoncomponents/main-layout/header.js +0 -15
  310. package/dist/ikoncomponents/main-layout/index.d.ts +0 -7
  311. package/dist/ikoncomponents/main-layout/index.d.ts.map +0 -1
  312. package/dist/ikoncomponents/main-layout/index.js +0 -12
  313. package/dist/ikoncomponents/main-layout/main-sidebar.d.ts +0 -61
  314. package/dist/ikoncomponents/main-layout/main-sidebar.d.ts.map +0 -1
  315. package/dist/ikoncomponents/main-layout/main-sidebar.js +0 -119
  316. package/dist/ikoncomponents/main-layout/nav-main.d.ts +0 -12
  317. package/dist/ikoncomponents/main-layout/nav-main.d.ts.map +0 -1
  318. package/dist/ikoncomponents/main-layout/nav-main.js +0 -33
  319. package/dist/ikoncomponents/multi-combobox/index.d.ts +0 -14
  320. package/dist/ikoncomponents/multi-combobox/index.d.ts.map +0 -1
  321. package/dist/ikoncomponents/multi-combobox/index.js +0 -202
  322. package/dist/ikoncomponents/no-data/index.d.ts +0 -4
  323. package/dist/ikoncomponents/no-data/index.d.ts.map +0 -1
  324. package/dist/ikoncomponents/no-data/index.js +0 -5
  325. package/dist/ikoncomponents/page-wrapper/index.d.ts +0 -10
  326. package/dist/ikoncomponents/page-wrapper/index.d.ts.map +0 -1
  327. package/dist/ikoncomponents/page-wrapper/index.js +0 -7
  328. package/dist/ikoncomponents/password-strength-meter/index.d.ts +0 -4
  329. package/dist/ikoncomponents/password-strength-meter/index.d.ts.map +0 -1
  330. package/dist/ikoncomponents/password-strength-meter/index.js +0 -40
  331. package/dist/ikoncomponents/phone-input/index.d.ts +0 -2
  332. package/dist/ikoncomponents/phone-input/index.d.ts.map +0 -1
  333. package/dist/ikoncomponents/phone-input/index.js +0 -41
  334. package/dist/ikoncomponents/provider-wrapper/index.d.ts +0 -7
  335. package/dist/ikoncomponents/provider-wrapper/index.d.ts.map +0 -1
  336. package/dist/ikoncomponents/provider-wrapper/index.js +0 -10
  337. package/dist/ikoncomponents/search-input/index.d.ts +0 -2
  338. package/dist/ikoncomponents/search-input/index.d.ts.map +0 -1
  339. package/dist/ikoncomponents/search-input/index.js +0 -19
  340. package/dist/ikoncomponents/sheet/index.d.ts +0 -11
  341. package/dist/ikoncomponents/sheet/index.d.ts.map +0 -1
  342. package/dist/ikoncomponents/sheet/index.js +0 -6
  343. package/dist/ikoncomponents/simple-widget/index.d.ts +0 -15
  344. package/dist/ikoncomponents/simple-widget/index.d.ts.map +0 -1
  345. package/dist/ikoncomponents/simple-widget/index.js +0 -14
  346. package/dist/ikoncomponents/skeleton-loader/skeleton-table.d.ts +0 -6
  347. package/dist/ikoncomponents/skeleton-loader/skeleton-table.d.ts.map +0 -1
  348. package/dist/ikoncomponents/skeleton-loader/skeleton-table.js +0 -6
  349. package/dist/ikoncomponents/skeleton-loader/skeleton-widget.d.ts +0 -4
  350. package/dist/ikoncomponents/skeleton-loader/skeleton-widget.d.ts.map +0 -1
  351. package/dist/ikoncomponents/skeleton-loader/skeleton-widget.js +0 -5
  352. package/dist/ikoncomponents/tabs/index.d.ts +0 -3
  353. package/dist/ikoncomponents/tabs/index.d.ts.map +0 -1
  354. package/dist/ikoncomponents/tabs/index.js +0 -50
  355. package/dist/ikoncomponents/tabs/type.d.ts.map +0 -1
  356. package/dist/ikoncomponents/tabs/type.js +0 -2
  357. package/dist/ikoncomponents/theme-toggle-btn/index.d.ts +0 -2
  358. package/dist/ikoncomponents/theme-toggle-btn/index.d.ts.map +0 -1
  359. package/dist/ikoncomponents/title-progress/index.d.ts +0 -13
  360. package/dist/ikoncomponents/title-progress/index.d.ts.map +0 -1
  361. package/dist/ikoncomponents/title-progress/index.js +0 -10
  362. package/dist/ikoncomponents/tooltip/index.d.ts +0 -6
  363. package/dist/ikoncomponents/tooltip/index.d.ts.map +0 -1
  364. package/dist/ikoncomponents/tooltip/index.js +0 -5
  365. package/dist/ikoncomponents/twolevel-dropdown/convertToDropdownNodes.d.ts +0 -10
  366. package/dist/ikoncomponents/twolevel-dropdown/convertToDropdownNodes.d.ts.map +0 -1
  367. package/dist/ikoncomponents/twolevel-dropdown/convertToDropdownNodes.js +0 -24
  368. package/dist/ikoncomponents/twolevel-dropdown/index.d.ts +0 -32
  369. package/dist/ikoncomponents/twolevel-dropdown/index.d.ts.map +0 -1
  370. package/dist/ikoncomponents/twolevel-dropdown/index.js +0 -143
  371. package/dist/ikoncomponents/upload-tab/index.d.ts +0 -2
  372. package/dist/ikoncomponents/upload-tab/index.d.ts.map +0 -1
  373. package/dist/ikoncomponents/upload-tab/index.js +0 -92
  374. package/dist/ikoncomponents/widgets/index.d.ts +0 -3
  375. package/dist/ikoncomponents/widgets/index.d.ts.map +0 -1
  376. package/dist/ikoncomponents/widgets/index.js +0 -14
  377. package/dist/ikoncomponents/widgets/type.d.ts +0 -11
  378. package/dist/ikoncomponents/widgets/type.d.ts.map +0 -1
  379. package/dist/ikoncomponents/widgets/type.js +0 -2
  380. package/dist/ikoncomponents/work-in-progress/index.d.ts +0 -2
  381. package/dist/ikoncomponents/work-in-progress/index.d.ts.map +0 -1
  382. package/dist/ikoncomponents/work-in-progress/index.js +0 -4
  383. package/dist/index.d.ts.map +0 -1
  384. package/dist/shadcn/accordion.d.ts +0 -8
  385. package/dist/shadcn/accordion.d.ts.map +0 -1
  386. package/dist/shadcn/accordion.js +0 -33
  387. package/dist/shadcn/alert-dialog.d.ts +0 -21
  388. package/dist/shadcn/alert-dialog.d.ts.map +0 -1
  389. package/dist/shadcn/alert-dialog.js +0 -83
  390. package/dist/shadcn/alert.d.ts +0 -10
  391. package/dist/shadcn/alert.d.ts.map +0 -1
  392. package/dist/shadcn/alert.js +0 -38
  393. package/dist/shadcn/aspect-ratio.d.ts +0 -4
  394. package/dist/shadcn/aspect-ratio.d.ts.map +0 -1
  395. package/dist/shadcn/aspect-ratio.js +0 -19
  396. package/dist/shadcn/avatar.d.ts +0 -7
  397. package/dist/shadcn/avatar.d.ts.map +0 -1
  398. package/dist/shadcn/avatar.js +0 -28
  399. package/dist/shadcn/badge.d.ts +0 -10
  400. package/dist/shadcn/badge.d.ts.map +0 -1
  401. package/dist/shadcn/badge.js +0 -35
  402. package/dist/shadcn/breadcrumb.d.ts +0 -12
  403. package/dist/shadcn/breadcrumb.d.ts.map +0 -1
  404. package/dist/shadcn/breadcrumb.js +0 -45
  405. package/dist/shadcn/button.d.ts +0 -11
  406. package/dist/shadcn/button.d.ts.map +0 -1
  407. package/dist/shadcn/button.js +0 -47
  408. package/dist/shadcn/calendar.d.ts +0 -9
  409. package/dist/shadcn/calendar.d.ts.map +0 -1
  410. package/dist/shadcn/calendar.js +0 -61
  411. package/dist/shadcn/card.d.ts +0 -10
  412. package/dist/shadcn/card.d.ts.map +0 -1
  413. package/dist/shadcn/card.js +0 -42
  414. package/dist/shadcn/checkbox.d.ts +0 -5
  415. package/dist/shadcn/checkbox.d.ts.map +0 -1
  416. package/dist/shadcn/checkbox.js +0 -21
  417. package/dist/shadcn/collapsible.d.ts +0 -6
  418. package/dist/shadcn/collapsible.d.ts.map +0 -1
  419. package/dist/shadcn/collapsible.js +0 -27
  420. package/dist/shadcn/command.d.ts +0 -19
  421. package/dist/shadcn/command.d.ts.map +0 -1
  422. package/dist/shadcn/command.js +0 -54
  423. package/dist/shadcn/date-input.d.ts +0 -8
  424. package/dist/shadcn/date-input.d.ts.map +0 -1
  425. package/dist/shadcn/date-input.js +0 -179
  426. package/dist/shadcn/date-range-picker.d.ts +0 -25
  427. package/dist/shadcn/date-range-picker.d.ts.map +0 -1
  428. package/dist/shadcn/date-range-picker.js +0 -45
  429. package/dist/shadcn/dialog.d.ts +0 -16
  430. package/dist/shadcn/dialog.d.ts.map +0 -1
  431. package/dist/shadcn/dialog.js +0 -57
  432. package/dist/shadcn/drawer.d.ts +0 -14
  433. package/dist/shadcn/drawer.d.ts.map +0 -1
  434. package/dist/shadcn/drawer.js +0 -56
  435. package/dist/shadcn/dropdown-menu.d.ts +0 -26
  436. package/dist/shadcn/dropdown-menu.d.ts.map +0 -1
  437. package/dist/shadcn/dropdown-menu.js +0 -77
  438. package/dist/shadcn/form.d.ts +0 -25
  439. package/dist/shadcn/form.d.ts.map +0 -1
  440. package/dist/shadcn/form.js +0 -70
  441. package/dist/shadcn/hover-card.d.ts +0 -7
  442. package/dist/shadcn/hover-card.d.ts.map +0 -1
  443. package/dist/shadcn/hover-card.js +0 -28
  444. package/dist/shadcn/input-otp.d.ts +0 -35
  445. package/dist/shadcn/input-otp.d.ts.map +0 -1
  446. package/dist/shadcn/input-otp.js +0 -40
  447. package/dist/shadcn/input.d.ts +0 -4
  448. package/dist/shadcn/input.d.ts.map +0 -1
  449. package/dist/shadcn/input.js +0 -18
  450. package/dist/shadcn/label.d.ts +0 -5
  451. package/dist/shadcn/label.d.ts.map +0 -1
  452. package/dist/shadcn/label.js +0 -20
  453. package/dist/shadcn/navigation-menu.d.ts +0 -17
  454. package/dist/shadcn/navigation-menu.d.ts.map +0 -1
  455. package/dist/shadcn/navigation-menu.js +0 -74
  456. package/dist/shadcn/popover.d.ts +0 -8
  457. package/dist/shadcn/popover.d.ts.map +0 -1
  458. package/dist/shadcn/popover.js +0 -32
  459. package/dist/shadcn/progress.d.ts +0 -9
  460. package/dist/shadcn/progress.d.ts.map +0 -1
  461. package/dist/shadcn/progress.js +0 -23
  462. package/dist/shadcn/radio-group.d.ts +0 -6
  463. package/dist/shadcn/radio-group.d.ts.map +0 -1
  464. package/dist/shadcn/radio-group.js +0 -25
  465. package/dist/shadcn/scroll-area.d.ts +0 -6
  466. package/dist/shadcn/scroll-area.d.ts.map +0 -1
  467. package/dist/shadcn/scroll-area.js +0 -26
  468. package/dist/shadcn/select.d.ts +0 -16
  469. package/dist/shadcn/select.d.ts.map +0 -1
  470. package/dist/shadcn/select.js +0 -59
  471. package/dist/shadcn/separator.d.ts +0 -5
  472. package/dist/shadcn/separator.d.ts.map +0 -1
  473. package/dist/shadcn/separator.js +0 -20
  474. package/dist/shadcn/sheet.d.ts +0 -14
  475. package/dist/shadcn/sheet.d.ts.map +0 -1
  476. package/dist/shadcn/sheet.js +0 -61
  477. package/dist/shadcn/sidebar.d.ts +0 -70
  478. package/dist/shadcn/sidebar.d.ts.map +0 -1
  479. package/dist/shadcn/sidebar.js +0 -242
  480. package/dist/shadcn/skeleton.d.ts +0 -4
  481. package/dist/shadcn/skeleton.d.ts.map +0 -1
  482. package/dist/shadcn/skeleton.js +0 -18
  483. package/dist/shadcn/slider.d.ts +0 -5
  484. package/dist/shadcn/slider.d.ts.map +0 -1
  485. package/dist/shadcn/slider.js +0 -26
  486. package/dist/shadcn/sonner.d.ts +0 -4
  487. package/dist/shadcn/sonner.d.ts.map +0 -1
  488. package/dist/shadcn/sonner.js +0 -25
  489. package/dist/shadcn/switch.d.ts +0 -5
  490. package/dist/shadcn/switch.d.ts.map +0 -1
  491. package/dist/shadcn/switch.js +0 -20
  492. package/dist/shadcn/table.d.ts +0 -11
  493. package/dist/shadcn/table.d.ts.map +0 -1
  494. package/dist/shadcn/table.js +0 -47
  495. package/dist/shadcn/tabs.d.ts +0 -8
  496. package/dist/shadcn/tabs.d.ts.map +0 -1
  497. package/dist/shadcn/tabs.js +0 -32
  498. package/dist/shadcn/textarea.d.ts +0 -4
  499. package/dist/shadcn/textarea.d.ts.map +0 -1
  500. package/dist/shadcn/textarea.js +0 -18
  501. package/dist/shadcn/toggle-group.d.ts +0 -10
  502. package/dist/shadcn/toggle-group.d.ts.map +0 -1
  503. package/dist/shadcn/toggle-group.js +0 -35
  504. package/dist/shadcn/toggle.d.ts +0 -10
  505. package/dist/shadcn/toggle.d.ts.map +0 -1
  506. package/dist/shadcn/toggle.js +0 -38
  507. package/dist/shadcn/tooltip.d.ts +0 -8
  508. package/dist/shadcn/tooltip.d.ts.map +0 -1
  509. package/dist/shadcn/tooltip.js +0 -32
  510. package/dist/shadcn/workflow.d.ts +0 -21
  511. package/dist/shadcn/workflow.d.ts.map +0 -1
  512. package/dist/shadcn/workflow.js +0 -20
  513. package/dist/styles.css +0 -1302
  514. package/dist/utils/actions/account/index.d.ts +0 -6
  515. package/dist/utils/actions/account/index.d.ts.map +0 -1
  516. package/dist/utils/actions/account/index.js +0 -28
  517. package/dist/utils/actions/account/type.d.ts +0 -5
  518. package/dist/utils/actions/account/type.d.ts.map +0 -1
  519. package/dist/utils/actions/account/type.js +0 -1
  520. package/dist/utils/actions/auth/index.d.ts +0 -8
  521. package/dist/utils/actions/auth/index.d.ts.map +0 -1
  522. package/dist/utils/actions/common/revalidate.d.ts +0 -3
  523. package/dist/utils/actions/common/revalidate.d.ts.map +0 -1
  524. package/dist/utils/actions/common/revalidate.js +0 -14
  525. package/dist/utils/actions/common/type.d.ts +0 -5
  526. package/dist/utils/actions/common/type.d.ts.map +0 -1
  527. package/dist/utils/actions/common/type.js +0 -1
  528. package/dist/utils/actions/common/utils.d.ts +0 -6
  529. package/dist/utils/actions/common/utils.d.ts.map +0 -1
  530. package/dist/utils/actions/software/index.d.ts +0 -12
  531. package/dist/utils/actions/software/index.d.ts.map +0 -1
  532. package/dist/utils/actions/software/index.js +0 -75
  533. package/dist/utils/api/accountService/index.d.ts +0 -24
  534. package/dist/utils/api/accountService/index.d.ts.map +0 -1
  535. package/dist/utils/api/accountService/index.js +0 -64
  536. package/dist/utils/api/accountService/type.d.ts +0 -5
  537. package/dist/utils/api/accountService/type.d.ts.map +0 -1
  538. package/dist/utils/api/accountService/type.js +0 -1
  539. package/dist/utils/api/file-upload/index.d.ts +0 -6
  540. package/dist/utils/api/file-upload/index.d.ts.map +0 -1
  541. package/dist/utils/api/file-upload/index.js +0 -80
  542. package/dist/utils/api/file-upload/type.d.ts +0 -7
  543. package/dist/utils/api/file-upload/type.d.ts.map +0 -1
  544. package/dist/utils/api/file-upload/type.js +0 -1
  545. package/dist/utils/api/ikonBaseApi.d.ts +0 -13
  546. package/dist/utils/api/ikonBaseApi.d.ts.map +0 -1
  547. package/dist/utils/api/loginService/index.d.ts +0 -13
  548. package/dist/utils/api/loginService/index.d.ts.map +0 -1
  549. package/dist/utils/api/loginService/index.js +0 -72
  550. package/dist/utils/api/loginService/type.d.ts.map +0 -1
  551. package/dist/utils/api/loginService/type.js +0 -1
  552. package/dist/utils/api/softwareService/index.d.ts +0 -65
  553. package/dist/utils/api/softwareService/index.d.ts.map +0 -1
  554. package/dist/utils/api/softwareService/index.js +0 -212
  555. package/dist/utils/api/softwareService/type.d.ts +0 -55
  556. package/dist/utils/api/softwareService/type.d.ts.map +0 -1
  557. package/dist/utils/api/softwareService/type.js +0 -1
  558. package/dist/utils/border-radius-provider.d.ts +0 -12
  559. package/dist/utils/border-radius-provider.d.ts.map +0 -1
  560. package/dist/utils/cn.d.ts +0 -3
  561. package/dist/utils/cn.d.ts.map +0 -1
  562. package/dist/utils/cn.js +0 -5
  563. package/dist/utils/font-provider.d.ts +0 -12
  564. package/dist/utils/font-provider.d.ts.map +0 -1
  565. package/dist/utils/session/cookieSession.d.ts +0 -9
  566. package/dist/utils/session/cookieSession.d.ts.map +0 -1
  567. package/dist/utils/session/cookieSession.js +0 -33
  568. package/dist/utils/theme-provider/index.d.ts +0 -4
  569. package/dist/utils/theme-provider/index.d.ts.map +0 -1
  570. package/dist/utils/theme-provider/index.js +0 -18
  571. package/dist/utils/token-management/index.d.ts +0 -11
  572. package/dist/utils/token-management/index.d.ts.map +0 -1
  573. package/dist/utils/token-management/index.js +0 -69
  574. package/dist/utils/token-management/types.d.ts +0 -7
  575. package/dist/utils/token-management/types.d.ts.map +0 -1
  576. package/dist/utils/token-management/types.js +0 -1
@@ -1,87 +1,119 @@
1
- import { jsx as _jsx } from "react/jsx-runtime";
2
- import { memo, useEffect, useRef } from "react";
3
- import Cropper from "react-cropper";
4
- import "cropperjs/dist/cropper.css";
5
- const ImageCropperComponent = ({ src, onCroppedImage, aspectRatio, rotationAngle, zoomLevel, moveDirection }) => {
6
- const cropperRef = useRef(null);
7
- function onCrop(event) {
8
- var _a;
9
- const cropper = (_a = cropperRef.current) === null || _a === void 0 ? void 0 : _a.cropper;
10
- if (cropper) {
11
- //cropper.setDragMode('move');
12
- const croppedCanvas = cropper.getCroppedCanvas();
13
- const croppedImageUrl = croppedCanvas.toDataURL("image/webp"); // Data URL for preview
14
- onCroppedImage(croppedImageUrl);
15
- }
16
- else {
17
- console.log("Cropper instance is not available.");
18
- }
19
- }
20
- ;
21
- useEffect(() => {
22
- var _a;
23
- // Rotate the image whenever the rotation angle changes
24
- const cropper = (_a = cropperRef.current) === null || _a === void 0 ? void 0 : _a.cropper;
25
- if (cropper) {
26
- cropper.rotate(rotationAngle); // Apply the rotation to the image
27
- }
28
- }, [rotationAngle]); // Effect will run whenever rotationAngle changes
29
- useEffect(() => {
30
- var _a;
31
- // Zoom the image whenever the zoom level changes
32
- const cropper = (_a = cropperRef.current) === null || _a === void 0 ? void 0 : _a.cropper;
33
- if (cropper) {
34
- const cropBoxData = cropper.getCropBoxData();
35
- if (cropBoxData.width) {
36
- console.log('Inside cropper scale');
37
- cropper.scale(zoomLevel); // Apply the zoom level
38
- }
39
- // Apply zoom directly without using getZoom method
40
- }
41
- }, [zoomLevel]); // Effect will run whenever zoomLevel changes
42
- // Move the image based on the moveDirection prop
43
- useEffect(() => {
44
- var _a;
45
- const cropper = (_a = cropperRef.current) === null || _a === void 0 ? void 0 : _a.cropper;
46
- if (cropper) {
47
- // Make sure moveDirection is available before calling move
48
- const cropBoxData = cropper.getCropBoxData();
49
- if (cropBoxData.width) {
50
- const { x, y } = moveDirection;
51
- if (typeof x === "number" && typeof y === "number") {
52
- cropper.move(x, y); // Move the image
53
- }
54
- }
55
- }
56
- }, [moveDirection]); // This effect runs whenever moveDirection changes
57
- useEffect(() => {
58
- var _a;
59
- const cropper = (_a = cropperRef.current) === null || _a === void 0 ? void 0 : _a.cropper;
60
- if (cropper) {
61
- cropper.setAspectRatio(aspectRatio); // Dynamically set the aspect ratio
62
- if (aspectRatio === 1) {
63
- // Get the displayed (canvas) dimensions of the image
64
- const canvasData = cropper.getCanvasData();
65
- const canvasWidth = canvasData.width; // Displayed width of the image
66
- const canvasHeight = canvasData.height; // Displayed height of the image
67
- const canvasLeft = canvasData.left; // Left offset of the image within the container
68
- const canvasTop = canvasData.top; // Top offset of the image within the container
69
- // Define the desired crop box dimensions
70
- const cropBoxWidth = 200; // Desired crop box width
71
- const cropBoxHeight = 100; // Desired crop box height
72
- // Calculate the center position for the crop box
73
- const left = canvasLeft + (canvasWidth - cropBoxWidth) / 2;
74
- const top = canvasTop + (canvasHeight - cropBoxHeight) / 2;
75
- // Set the crop box data
76
- cropper.setCropBoxData({
77
- left: left,
78
- top: top,
79
- width: cropBoxWidth,
80
- height: cropBoxHeight,
81
- });
82
- }
83
- }
84
- }, [aspectRatio]); // Trigger this effect whenever aspectRatio changes
85
- return (_jsx(Cropper, { src: src, style: { height: "100%", width: "100%", objectFit: "contain" }, guides: true, crop: onCrop, ref: cropperRef, dragMode: 'move', movable: true, zoomable: true, scalable: true, cropBoxMovable: true, cropBoxResizable: false }));
86
- };
87
- export const ImageCropper = memo(ImageCropperComponent);
1
+ import React, { memo, useCallback, useEffect, useRef, useState } from "react";
2
+ import Cropper, { ReactCropperElement } from "react-cropper";
3
+ import "cropperjs/dist/cropper.css";
4
+
5
+ export interface CropperImgProps {
6
+ src: string | undefined; // imageSrc can be a string (image URL or base64) or undefined
7
+ onCroppedImage: (imageUrl: string) => void; // Callback function from parent to pass cropped image
8
+ aspectRatio: number;
9
+ rotationAngle: number; // Rotation angle passed from the parent
10
+ zoomLevel: number; // Add zoomLevel prop
11
+ moveDirection: { x: number; y: number }; // Movement props
12
+ }
13
+
14
+ const ImageCropperComponent: React.FC<CropperImgProps> = ({ src, onCroppedImage, aspectRatio, rotationAngle, zoomLevel, moveDirection }) => {
15
+ const cropperRef = useRef<ReactCropperElement>(null);
16
+
17
+ function onCrop(event: any) {
18
+ const cropper = cropperRef.current?.cropper;
19
+ if (cropper) {
20
+ //cropper.setDragMode('move');
21
+ const croppedCanvas = cropper.getCroppedCanvas();
22
+ const croppedImageUrl = croppedCanvas.toDataURL("image/webp"); // Data URL for preview
23
+ onCroppedImage(croppedImageUrl);
24
+ } else {
25
+ console.log("Cropper instance is not available.");
26
+ }
27
+ };
28
+
29
+ useEffect(() => {
30
+ // Rotate the image whenever the rotation angle changes
31
+ const cropper = cropperRef.current?.cropper;
32
+ if (cropper) {
33
+ cropper.rotate(rotationAngle); // Apply the rotation to the image
34
+ }
35
+
36
+ }, [rotationAngle]); // Effect will run whenever rotationAngle changes
37
+
38
+ useEffect(() => {
39
+ // Zoom the image whenever the zoom level changes
40
+ const cropper = cropperRef.current?.cropper;
41
+
42
+ if (cropper) {
43
+ const cropBoxData = cropper.getCropBoxData();
44
+ if (cropBoxData.width) {
45
+ console.log('Inside cropper scale')
46
+ cropper.scale(zoomLevel); // Apply the zoom level
47
+ }
48
+ // Apply zoom directly without using getZoom method
49
+ }
50
+ }, [zoomLevel]); // Effect will run whenever zoomLevel changes
51
+
52
+ // Move the image based on the moveDirection prop
53
+ useEffect(() => {
54
+ const cropper = cropperRef.current?.cropper;
55
+ if (cropper) {
56
+ // Make sure moveDirection is available before calling move
57
+ const cropBoxData = cropper.getCropBoxData();
58
+ if (cropBoxData.width) {
59
+ const { x, y } = moveDirection;
60
+ if (typeof x === "number" && typeof y === "number") {
61
+ cropper.move(x, y); // Move the image
62
+ }
63
+ }
64
+
65
+ }
66
+ }, [moveDirection]); // This effect runs whenever moveDirection changes
67
+
68
+ useEffect(() => {
69
+ const cropper = cropperRef.current?.cropper;
70
+ if (cropper) {
71
+ cropper.setAspectRatio(aspectRatio); // Dynamically set the aspect ratio
72
+ if (aspectRatio === 1) {
73
+ // Get the displayed (canvas) dimensions of the image
74
+ const canvasData = cropper.getCanvasData();
75
+ const canvasWidth = canvasData.width; // Displayed width of the image
76
+ const canvasHeight = canvasData.height; // Displayed height of the image
77
+ const canvasLeft = canvasData.left; // Left offset of the image within the container
78
+ const canvasTop = canvasData.top; // Top offset of the image within the container
79
+
80
+ // Define the desired crop box dimensions
81
+ const cropBoxWidth = 200; // Desired crop box width
82
+ const cropBoxHeight = 100; // Desired crop box height
83
+
84
+ // Calculate the center position for the crop box
85
+ const left = canvasLeft + (canvasWidth - cropBoxWidth) / 2;
86
+ const top = canvasTop + (canvasHeight - cropBoxHeight) / 2;
87
+
88
+ // Set the crop box data
89
+ cropper.setCropBoxData({
90
+ left: left,
91
+ top: top,
92
+ width: cropBoxWidth,
93
+ height: cropBoxHeight,
94
+ });
95
+ }
96
+
97
+ }
98
+
99
+ }, [aspectRatio]); // Trigger this effect whenever aspectRatio changes
100
+
101
+ return (
102
+ <Cropper
103
+ src={src}
104
+ style={{ height: "100%", width: "100%", objectFit: "contain" }}
105
+ guides={true} // Show guides for cropping
106
+ crop={onCrop} // Callback to capture the cropped area
107
+ ref={cropperRef}
108
+ dragMode='move'
109
+ movable={true}
110
+ zoomable={true} // Allow zooming of the image
111
+ scalable={true} // Prevent scaling of the crop box
112
+ cropBoxMovable={true} // Allow the crop box to be moved inside the image
113
+ cropBoxResizable={false} // Disable resizing the crop box
114
+
115
+ />
116
+ );
117
+ };
118
+
119
+ export const ImageCropper = memo(ImageCropperComponent);
@@ -0,0 +1,95 @@
1
+ "use client"
2
+
3
+ import React, { createContext, ReactNode, useContext, useEffect, useState } from 'react'
4
+ import { CropperFormWithModal } from './cropper-form-with-modal'
5
+ import { CropperUploadImagesInfoProps, uploadedImagesToCropperImgObj } from './utils';
6
+
7
+
8
+ export interface ImageCropperContextProps {
9
+ originalImage: OriginalImageProps;
10
+ setOriginalImage: (originalImage: OriginalImageProps) => void;
11
+ aspectRatioWiseImages: AspectRatioWiseImagesProps;
12
+ setAspectRatioWiseImages: (aspectRatioWiseImages: AspectRatioWiseImagesProps) => void;
13
+ }
14
+
15
+
16
+ export interface AspectRatioWiseImagesProps {
17
+ landscape: string | null;
18
+ potrait: string | null;
19
+ icon: string | null;
20
+ }
21
+
22
+ export interface OriginalImageProps {
23
+ image: string | File | null;
24
+ name?: string;
25
+ description?: string;
26
+ }
27
+
28
+ export interface ImageCropperProps {
29
+ children: ReactNode,
30
+ uploadedImages: CropperUploadImagesInfoProps | null,
31
+ onCropperChange: (originalImage: OriginalImageProps, aspectRatioWiseImages: AspectRatioWiseImagesProps) => void;
32
+ modalOpen?: boolean;
33
+ onModalOpenChange?: (open: boolean) => void;
34
+ }
35
+
36
+ const ImageCropperContext = createContext<ImageCropperContextProps | undefined>(undefined)
37
+
38
+ export function ImageCropperProvider({ children, uploadedImages, onCropperChange, modalOpen, onModalOpenChange }: ImageCropperProps) {
39
+
40
+ const [aspectRatioWiseImages, setAspectRatioWiseImages] = useState<AspectRatioWiseImagesProps>({
41
+ landscape: null,
42
+ potrait: null,
43
+ icon: null
44
+ });
45
+ const [originalImage, setOriginalImage] = useState<OriginalImageProps>({
46
+ image: null,
47
+ name: "",
48
+ description: "",
49
+ });
50
+
51
+ useEffect(() => {
52
+ async function updateCropperImages() {
53
+ if (!uploadedImages) return; // Prevent unnecessary processing
54
+
55
+ try {
56
+ const res = await uploadedImagesToCropperImgObj(uploadedImages);
57
+ if (res) {
58
+ // Check if state is different before updating
59
+ setOriginalImage((prev) =>
60
+ JSON.stringify(prev) === JSON.stringify(res.originalImage) ? prev : res.originalImage
61
+ );
62
+
63
+ setAspectRatioWiseImages((prev) =>
64
+ JSON.stringify(prev) === JSON.stringify(res.aspectRatioWiseImages) ? prev : res.aspectRatioWiseImages
65
+ );
66
+ }
67
+ } catch (error) {
68
+ console.error("Error processing uploaded images:", error);
69
+ }
70
+ }
71
+
72
+ updateCropperImages();
73
+ }, [uploadedImages]); // Runs only when `uploadedImages` changes
74
+
75
+
76
+ return (
77
+ <ImageCropperContext.Provider value={{
78
+ originalImage,
79
+ setOriginalImage,
80
+ aspectRatioWiseImages,
81
+ setAspectRatioWiseImages
82
+ }}>
83
+ {children}
84
+ {modalOpen && onModalOpenChange && <CropperFormWithModal open={modalOpen} onOpenChange={onModalOpenChange} onCropperChange={onCropperChange} />}
85
+ </ImageCropperContext.Provider>
86
+ )
87
+ }
88
+
89
+ export const useImageCropper = (): ImageCropperContextProps => {
90
+ const context = useContext(ImageCropperContext);
91
+ if (!context) {
92
+ throw new Error("useImageCropper must be used within a ImageCropperProvider");
93
+ }
94
+ return context;
95
+ };
@@ -0,0 +1,117 @@
1
+ import {
2
+ base64FileUpload,
3
+ singleFileUpload,
4
+ } from "../../../utils/api/file-upload";
5
+ import { AspectRatioWiseImagesProps, OriginalImageProps } from "..";
6
+ import { FileinfoProps } from "../../../utils/api/file-upload/type";
7
+ import { getResourceUrl } from "../../../utils/actions/common/utils";
8
+
9
+ export interface CropperUploadImagesInfoProps {
10
+ originalImageInfo?: FileinfoProps | null;
11
+ imageName?: string;
12
+ imageDescription?: string;
13
+ landscapeImageInfo?: FileinfoProps | null;
14
+ portaitImageInfo?: FileinfoProps | null;
15
+ iconImageInfo?: FileinfoProps | null;
16
+ }
17
+ export interface UploadedImagesToCropperImgObjProps {
18
+ originalImage: OriginalImageProps;
19
+ aspectRatioWiseImages: AspectRatioWiseImagesProps;
20
+ }
21
+ export async function imageCropperFilesUpload(
22
+ originalImage: OriginalImageProps,
23
+ aspectRatioWiseImages?: AspectRatioWiseImagesProps,
24
+ resourceId?: string
25
+ ): Promise<CropperUploadImagesInfoProps | null> {
26
+ if (!originalImage.image) {
27
+ return null;
28
+ }
29
+
30
+ const originalImageInfo = await singleFileUpload(
31
+ originalImage.image as File,
32
+ resourceId
33
+ );
34
+
35
+ const cropperUploadImagesInfo: CropperUploadImagesInfoProps = {
36
+ originalImageInfo: originalImageInfo,
37
+ imageName: originalImage.name,
38
+ imageDescription: originalImage.description,
39
+ landscapeImageInfo: null,
40
+ portaitImageInfo: null,
41
+ iconImageInfo: null,
42
+ };
43
+
44
+ if (aspectRatioWiseImages) {
45
+ if (aspectRatioWiseImages.landscape) {
46
+ try {
47
+ cropperUploadImagesInfo["landscapeImageInfo"] = await base64FileUpload(
48
+ aspectRatioWiseImages.landscape,
49
+ originalImage.name + "_L.webp",
50
+ "image/webp"
51
+ );
52
+ } catch (error) {
53
+ console.error(error);
54
+ }
55
+ }
56
+ if (aspectRatioWiseImages.potrait) {
57
+ try {
58
+ cropperUploadImagesInfo["portaitImageInfo"] = await base64FileUpload(
59
+ aspectRatioWiseImages.potrait,
60
+ originalImage.name + "_P.webp",
61
+ "image/webp"
62
+ );
63
+ } catch (error) {
64
+ console.error(error);
65
+ }
66
+ }
67
+ if (aspectRatioWiseImages.icon) {
68
+ try {
69
+ cropperUploadImagesInfo["iconImageInfo"] = await base64FileUpload(
70
+ aspectRatioWiseImages.icon,
71
+ originalImage.name + "_I.webp",
72
+ "image/webp"
73
+ );
74
+ } catch (error) {
75
+ console.error(error);
76
+ }
77
+ }
78
+ }
79
+
80
+ return cropperUploadImagesInfo;
81
+ }
82
+
83
+ export async function uploadedImagesToCropperImgObj(
84
+ uploadedImages: CropperUploadImagesInfoProps | null
85
+ ): Promise<UploadedImagesToCropperImgObjProps | null> {
86
+ if (!uploadedImages) {
87
+ return null;
88
+ }
89
+
90
+ const originalImageUrl = uploadedImages.originalImageInfo
91
+ ? await getResourceUrl(uploadedImages.originalImageInfo)
92
+ : null;
93
+ const landscapeImageUrl = uploadedImages.landscapeImageInfo
94
+ ? await getResourceUrl(uploadedImages.landscapeImageInfo)
95
+ : null;
96
+ const portaitImageUrl = uploadedImages.portaitImageInfo
97
+ ? await getResourceUrl(uploadedImages.portaitImageInfo)
98
+ : null;
99
+ const iconImageUrl = uploadedImages.iconImageInfo
100
+ ? await getResourceUrl(uploadedImages.iconImageInfo)
101
+ : null;
102
+
103
+ const obj: UploadedImagesToCropperImgObjProps = {
104
+ originalImage: {
105
+ image: originalImageUrl,
106
+ name: uploadedImages.imageName,
107
+ description: uploadedImages.imageDescription,
108
+ },
109
+ aspectRatioWiseImages: {
110
+ landscape: landscapeImageUrl,
111
+ potrait: portaitImageUrl,
112
+ icon: iconImageUrl,
113
+ },
114
+ };
115
+
116
+ return obj;
117
+ }
@@ -0,0 +1,43 @@
1
+
2
+ import * as React from "react";
3
+ import { cn } from "../../utils/cn";
4
+
5
+ export interface ISVGProps extends React.SVGProps<SVGSVGElement> {
6
+ size?: number;
7
+ className?: string;
8
+ }
9
+
10
+ export interface LoadingSpinnerProps extends ISVGProps {
11
+ visible?: boolean;
12
+ }
13
+
14
+ export const LoadingSpinner = ({
15
+ size = 48,
16
+ className,
17
+ visible = true,
18
+ ...props
19
+ }: LoadingSpinnerProps) => {
20
+ if (!visible) return null;
21
+
22
+ return (
23
+ <div className="h-full w-full">
24
+ <div className="absolute inset-0 flex justify-center items-center z-50">
25
+ <svg
26
+ xmlns="http://www.w3.org/2000/svg"
27
+ width={size}
28
+ height={size}
29
+ {...props}
30
+ viewBox="0 0 24 24"
31
+ fill="none"
32
+ stroke="currentColor"
33
+ strokeWidth="2"
34
+ strokeLinecap="round"
35
+ strokeLinejoin="round"
36
+ className={cn("animate-spin", className)}
37
+ >
38
+ <path d="M21 12a9 9 0 1 1-6.219-8.56" />
39
+ </svg>
40
+ </div>
41
+ </div>
42
+ );
43
+ };
@@ -0,0 +1,30 @@
1
+ import React, { createContext, useContext, useState, useCallback } from 'react';
2
+
3
+ interface RefreshContextType {
4
+ refresh: () => void;
5
+ refreshCounter: number;
6
+ }
7
+
8
+ const RefreshContext = createContext<RefreshContextType | undefined>(undefined);
9
+
10
+ export function RefreshProvider({ children }: { children: React.ReactNode }) {
11
+ const [refreshCounter, setRefreshCounter] = useState(0);
12
+
13
+ const refresh = useCallback(() => {
14
+ setRefreshCounter((prev) => prev + 1);
15
+ }, []);
16
+
17
+ return (
18
+ <RefreshContext.Provider value={{ refresh, refreshCounter }}>
19
+ {children}
20
+ </RefreshContext.Provider>
21
+ );
22
+ }
23
+
24
+ export function useRefresh() {
25
+ const context = useContext(RefreshContext);
26
+ if (context === undefined) {
27
+ throw new Error('useRefresh must be used within a RefreshProvider');
28
+ }
29
+ return context;
30
+ }
@@ -0,0 +1,103 @@
1
+ "use client"
2
+ import { createContext, useContext, useState, ReactNode } from 'react';
3
+ import { LucideIcon } from 'lucide-react';
4
+
5
+ export interface SidebarNavSubItem {
6
+ title: string;
7
+ url: string;
8
+ isActive?: boolean;
9
+ }
10
+
11
+ export interface SidebarNavItem {
12
+ title: string;
13
+ url: string;
14
+ icon?: LucideIcon;
15
+ isActive?: boolean;
16
+ default?: boolean;
17
+ items?: SidebarNavSubItem[];
18
+ header?: ReactNode;
19
+ footer?: ReactNode;
20
+ }
21
+
22
+ export interface SidebarNavContextType {
23
+ navItems: SidebarNavItem[];
24
+ header: ReactNode | null;
25
+ footer: ReactNode | null;
26
+ setNavItems: (items: SidebarNavItem[]) => void;
27
+ addNavItem: (item: SidebarNavItem) => void;
28
+ removeNavItem: (title: string) => void;
29
+ updateNavItem: (title: string, updates: Partial<SidebarNavItem>) => void;
30
+ clearNavItems: () => void;
31
+ setSidebarHeader: (header: ReactNode) => void;
32
+ setSidebarFooter: (footer: ReactNode) => void;
33
+ }
34
+
35
+ const SidebarNavContext = createContext<SidebarNavContextType | undefined>(undefined);
36
+
37
+ export function SidebarNavProvider({ children }: { children: ReactNode }) {
38
+ const [navItems, setNavItems] = useState<SidebarNavItem[]>([]);
39
+ const [header, setHeader] = useState<ReactNode | null>(null);
40
+ const [footer, setFooter] = useState<ReactNode | null>(null);
41
+
42
+ const addNavItem = (item: SidebarNavItem) => {
43
+ setNavItems((prevItems) => {
44
+ const exists = prevItems.some((navItem) => navItem.title === item.title);
45
+ if (exists) {
46
+ return prevItems.map((navItem) =>
47
+ navItem.title === item.title ? { ...navItem, ...item } : navItem
48
+ );
49
+ }
50
+ return [...prevItems, item];
51
+ });
52
+ };
53
+
54
+ const removeNavItem = (title: string) => {
55
+ setNavItems((prevItems) => prevItems.filter((item) => item.title !== title));
56
+ };
57
+
58
+ const updateNavItem = (title: string, updates: Partial<SidebarNavItem>) => {
59
+ setNavItems((prevItems) =>
60
+ prevItems.map((item) =>
61
+ item.title === title ? { ...item, ...updates } : item
62
+ )
63
+ );
64
+ };
65
+
66
+ const setSidebarHeader = (header: ReactNode) => {
67
+ setHeader(header);
68
+ };
69
+ const setSidebarFooter = (footer: ReactNode) => {
70
+ setFooter(footer);
71
+ };
72
+
73
+ const clearNavItems = () => {
74
+ setNavItems([]);
75
+ };
76
+
77
+ return (
78
+ <SidebarNavContext.Provider
79
+ value={{
80
+ navItems,
81
+ header,
82
+ footer,
83
+ setNavItems,
84
+ addNavItem,
85
+ removeNavItem,
86
+ updateNavItem,
87
+ clearNavItems,
88
+ setSidebarHeader,
89
+ setSidebarFooter,
90
+ }}
91
+ >
92
+ {children}
93
+ </SidebarNavContext.Provider>
94
+ );
95
+ }
96
+
97
+ export function useSidebarNav() {
98
+ const context = useContext(SidebarNavContext);
99
+ if (!context) {
100
+ throw new Error('useSidebarNav must be used within a SidebarNavProvider');
101
+ }
102
+ return context;
103
+ }
@@ -0,0 +1,36 @@
1
+ "use client";
2
+
3
+ import * as React from "react";
4
+ import {
5
+ Sidebar,
6
+ SidebarContent,
7
+ SidebarFooter,
8
+ SidebarHeader,
9
+ SidebarRail,
10
+ } from "../../ikonShade/sidebar";
11
+ import { NavMain } from "./nav-main";
12
+ import { useSidebarNav } from "./SidebarNavContext";
13
+
14
+ export function AppSidebar({ ...props }: React.ComponentProps<typeof Sidebar>) {
15
+
16
+ const { navItems, header, footer } = useSidebarNav();
17
+ if (!navItems || navItems.length === 0) {
18
+ return null;
19
+ }
20
+
21
+
22
+ return (
23
+ <Sidebar className="ml-12" collapsible={"offcanvas"} {...props}>
24
+ {header && <SidebarHeader>
25
+ {header}
26
+ </SidebarHeader>}
27
+ <SidebarContent>
28
+ <NavMain />
29
+ </SidebarContent>
30
+ {footer && <SidebarFooter>
31
+ {footer}
32
+ </SidebarFooter>}
33
+ <SidebarRail />
34
+ </Sidebar>
35
+ );
36
+ }
@@ -0,0 +1,21 @@
1
+ import { Copyright } from "lucide-react"
2
+ import * as React from "react"
3
+
4
+ export function Footer() {
5
+ return (
6
+ <footer className="ml-12 flex border-t px-4 py-2 justify-center lg:justify-start">
7
+ <div className="flex gap-2 items-center">
8
+ <Copyright className="size-4" />
9
+ <span>Powered By</span>
10
+ <a href="https://keross.com" target="_blank">
11
+ Keross
12
+ </a>
13
+ <span className="">|</span>
14
+ <span id="txtCopyrightYear" className="">
15
+ {new Date().getFullYear()}
16
+ </span>
17
+ </div>
18
+ </footer>
19
+ );
20
+ }
21
+