@classytic/commerce-sdk 0.1.2 → 0.2.1

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 (438) hide show
  1. package/README.md +277 -146
  2. package/dist/accounting/api/account.d.ts +49 -0
  3. package/dist/accounting/api/account.js +45 -0
  4. package/dist/accounting/api/budget.d.ts +76 -0
  5. package/dist/accounting/api/budget.js +82 -0
  6. package/dist/accounting/api/constants.d.ts +58 -0
  7. package/dist/accounting/api/constants.js +79 -0
  8. package/dist/accounting/api/fiscal-period.d.ts +31 -0
  9. package/dist/accounting/api/fiscal-period.js +30 -0
  10. package/dist/accounting/api/index.d.ts +7 -0
  11. package/dist/accounting/api/journal-entry.d.ts +66 -0
  12. package/dist/accounting/api/journal-entry.js +72 -0
  13. package/dist/accounting/api/posting.d.ts +55 -0
  14. package/dist/accounting/api/posting.js +70 -0
  15. package/dist/accounting/api/reports.d.ts +63 -0
  16. package/dist/accounting/api/reports.js +81 -0
  17. package/dist/accounting/hooks/account.d.ts +29 -0
  18. package/dist/accounting/hooks/account.js +102 -0
  19. package/dist/accounting/hooks/budget.d.ts +39 -0
  20. package/dist/accounting/hooks/budget.js +106 -0
  21. package/dist/accounting/hooks/fiscal-period.d.ts +22 -0
  22. package/dist/accounting/hooks/fiscal-period.js +52 -0
  23. package/dist/accounting/hooks/index.d.ts +6 -0
  24. package/dist/accounting/hooks/journal-entry.d.ts +37 -0
  25. package/dist/accounting/hooks/journal-entry.js +89 -0
  26. package/dist/accounting/hooks/posting.d.ts +128 -0
  27. package/dist/accounting/hooks/posting.js +119 -0
  28. package/dist/accounting/hooks/reports.d.ts +32 -0
  29. package/dist/accounting/hooks/reports.js +131 -0
  30. package/dist/accounting/index.d.ts +15 -0
  31. package/dist/accounting/index.js +15 -0
  32. package/dist/accounting/types/index.d.ts +375 -0
  33. package/dist/analytics/api/analytics.d.ts +16 -0
  34. package/dist/analytics/api/analytics.js +27 -0
  35. package/dist/analytics/api/index.d.ts +1 -0
  36. package/dist/analytics/hooks/analytics.d.ts +12 -0
  37. package/dist/analytics/hooks/analytics.js +33 -0
  38. package/dist/analytics/hooks/index.d.ts +1 -0
  39. package/dist/analytics/index.d.ts +4 -27
  40. package/dist/analytics/index.js +4 -6
  41. package/dist/analytics/types.d.ts +46 -0
  42. package/dist/audit/api/audit.d.ts +17 -0
  43. package/dist/audit/api/audit.js +21 -0
  44. package/dist/audit/hooks/audit.d.ts +17 -0
  45. package/dist/audit/hooks/audit.js +38 -0
  46. package/dist/audit/index.d.ts +4 -0
  47. package/dist/audit/index.js +4 -0
  48. package/dist/audit/types/index.d.ts +32 -0
  49. package/dist/auth/api/user-data.d.ts +30 -0
  50. package/dist/auth/api/user-data.js +70 -0
  51. package/dist/auth/hooks/user-search.d.ts +32 -0
  52. package/dist/auth/hooks/user-search.js +51 -0
  53. package/dist/auth/index.d.ts +4 -39
  54. package/dist/auth/index.js +5 -5
  55. package/dist/auth/types.d.ts +46 -0
  56. package/dist/auth/types.js +27 -0
  57. package/dist/catalog/api/category.d.ts +97 -0
  58. package/dist/catalog/api/category.js +109 -0
  59. package/dist/catalog/api/index.d.ts +4 -0
  60. package/dist/catalog/api/product.d.ts +136 -0
  61. package/dist/catalog/api/product.js +142 -0
  62. package/dist/catalog/api/review.d.ts +32 -0
  63. package/dist/catalog/api/review.js +41 -0
  64. package/dist/catalog/api/size-guide.d.ts +46 -0
  65. package/dist/catalog/api/size-guide.js +58 -0
  66. package/dist/catalog/hooks/category.d.ts +201 -0
  67. package/dist/catalog/hooks/category.js +295 -0
  68. package/dist/catalog/hooks/index.d.ts +4 -0
  69. package/dist/catalog/hooks/product.d.ts +165 -0
  70. package/dist/catalog/hooks/product.js +267 -0
  71. package/dist/catalog/hooks/review.d.ts +18 -0
  72. package/dist/catalog/hooks/review.js +38 -0
  73. package/dist/catalog/hooks/size-guide.d.ts +136 -0
  74. package/dist/catalog/hooks/size-guide.js +173 -0
  75. package/dist/catalog/index.d.ts +13 -571
  76. package/dist/catalog/index.js +10 -9
  77. package/dist/catalog/prefetch.d.ts +29 -0
  78. package/dist/catalog/prefetch.js +32 -0
  79. package/dist/catalog/types/category.d.ts +168 -0
  80. package/dist/catalog/types/index.d.ts +4 -0
  81. package/dist/catalog/types/product.d.ts +261 -0
  82. package/dist/catalog/types/review.d.ts +48 -0
  83. package/dist/catalog/types/size-guide.d.ts +118 -0
  84. package/dist/client.d.ts +138 -0
  85. package/dist/client.js +129 -0
  86. package/dist/content/api/cms.d.ts +27 -0
  87. package/dist/content/api/cms.js +43 -0
  88. package/dist/content/api/index.d.ts +2 -0
  89. package/dist/content/api/media.d.ts +74 -0
  90. package/dist/content/api/media.js +77 -0
  91. package/dist/content/hooks/cms.d.ts +31 -0
  92. package/dist/content/hooks/cms.js +62 -0
  93. package/dist/content/hooks/index.d.ts +2 -0
  94. package/dist/content/hooks/media.d.ts +74 -0
  95. package/dist/content/hooks/media.js +153 -0
  96. package/dist/content/index.d.ts +7 -309
  97. package/dist/content/index.js +6 -6
  98. package/dist/content/types/cms.d.ts +390 -0
  99. package/dist/content/types/media.d.ts +110 -0
  100. package/dist/core/api-factory.d.ts +17 -0
  101. package/dist/core/api-factory.js +39 -0
  102. package/dist/core/api-handler.d.ts +53 -0
  103. package/dist/core/api-handler.js +89 -0
  104. package/dist/core/index.d.ts +4 -166
  105. package/dist/core/index.js +4 -5
  106. package/dist/core/prefetch.d.ts +2 -0
  107. package/dist/core/prefetch.js +3 -0
  108. package/dist/core/react/crud.factory.d.ts +3 -0
  109. package/dist/core/react/crud.factory.js +5 -0
  110. package/dist/core/react/index.d.ts +4 -0
  111. package/dist/core/react/index.js +7 -0
  112. package/dist/core/react/mutation.factory.d.ts +9 -0
  113. package/dist/core/react/mutation.factory.js +21 -0
  114. package/dist/core/react/query.factory.d.ts +12 -0
  115. package/dist/core/react/query.factory.js +5 -0
  116. package/dist/core/server-context.d.ts +6 -0
  117. package/dist/core/server-context.js +12 -0
  118. package/dist/core/types/shared.d.ts +29 -0
  119. package/dist/finance/api/finance.d.ts +22 -0
  120. package/dist/finance/api/finance.js +29 -0
  121. package/dist/finance/api/index.d.ts +1 -0
  122. package/dist/finance/hooks/finance.d.ts +32 -0
  123. package/dist/finance/hooks/finance.js +66 -0
  124. package/dist/finance/hooks/index.d.ts +1 -0
  125. package/dist/finance/index.d.ts +4 -81
  126. package/dist/finance/index.js +4 -5
  127. package/dist/finance/types/finance.d.ts +82 -0
  128. package/dist/index.d.ts +139 -32
  129. package/dist/index.js +113 -29
  130. package/dist/inventory/api/adjustment.d.ts +123 -0
  131. package/dist/inventory/api/adjustment.js +120 -0
  132. package/dist/inventory/api/availability.d.ts +70 -0
  133. package/dist/inventory/api/availability.js +47 -0
  134. package/dist/inventory/api/cost.d.ts +58 -0
  135. package/dist/inventory/api/cost.js +34 -0
  136. package/dist/inventory/api/index.d.ts +18 -0
  137. package/dist/inventory/api/lot.d.ts +82 -0
  138. package/dist/inventory/api/lot.js +46 -0
  139. package/dist/inventory/api/movement.d.ts +71 -0
  140. package/dist/inventory/api/movement.js +75 -0
  141. package/dist/inventory/api/package.d.ts +97 -0
  142. package/dist/inventory/api/package.js +56 -0
  143. package/dist/inventory/api/procurement.d.ts +110 -0
  144. package/dist/inventory/api/procurement.js +59 -0
  145. package/dist/inventory/api/purchase.d.ts +106 -0
  146. package/dist/inventory/api/purchase.js +115 -0
  147. package/dist/inventory/api/replenishment.d.ts +145 -0
  148. package/dist/inventory/api/replenishment.js +63 -0
  149. package/dist/inventory/api/report.d.ts +102 -0
  150. package/dist/inventory/api/report.js +54 -0
  151. package/dist/inventory/api/request.d.ts +157 -0
  152. package/dist/inventory/api/request.js +140 -0
  153. package/dist/inventory/api/reservation.d.ts +77 -0
  154. package/dist/inventory/api/reservation.js +51 -0
  155. package/dist/inventory/api/scan.d.ts +29 -0
  156. package/dist/inventory/api/scan.js +30 -0
  157. package/dist/inventory/api/supplier.d.ts +9 -0
  158. package/dist/inventory/api/supplier.js +24 -0
  159. package/dist/inventory/api/trace.d.ts +71 -0
  160. package/dist/inventory/api/trace.js +39 -0
  161. package/dist/inventory/api/transfer.d.ts +162 -0
  162. package/dist/inventory/api/transfer.js +155 -0
  163. package/dist/inventory/api/warehouse.d.ts +199 -0
  164. package/dist/inventory/api/warehouse.js +155 -0
  165. package/dist/inventory/hooks/adjustment.d.ts +24 -0
  166. package/dist/inventory/hooks/adjustment.js +30 -0
  167. package/dist/inventory/hooks/availability.d.ts +16 -0
  168. package/dist/inventory/hooks/availability.js +35 -0
  169. package/dist/inventory/hooks/cost.d.ts +21 -0
  170. package/dist/inventory/hooks/cost.js +50 -0
  171. package/dist/inventory/hooks/index.d.ts +18 -0
  172. package/dist/inventory/hooks/inventory.d.ts +130 -0
  173. package/dist/inventory/hooks/inventory.js +267 -0
  174. package/dist/inventory/hooks/lot.d.ts +26 -0
  175. package/dist/inventory/hooks/lot.js +67 -0
  176. package/dist/inventory/hooks/movement.d.ts +68 -0
  177. package/dist/inventory/hooks/movement.js +106 -0
  178. package/dist/inventory/hooks/package.d.ts +32 -0
  179. package/dist/inventory/hooks/package.js +80 -0
  180. package/dist/inventory/hooks/procurement.d.ts +28 -0
  181. package/dist/inventory/hooks/procurement.js +87 -0
  182. package/dist/inventory/hooks/purchase.d.ts +63 -0
  183. package/dist/inventory/hooks/purchase.js +119 -0
  184. package/dist/inventory/hooks/replenishment.d.ts +34 -0
  185. package/dist/inventory/hooks/replenishment.js +87 -0
  186. package/dist/inventory/hooks/report.d.ts +37 -0
  187. package/dist/inventory/hooks/report.js +79 -0
  188. package/dist/inventory/hooks/request.d.ts +113 -0
  189. package/dist/inventory/hooks/request.js +218 -0
  190. package/dist/inventory/hooks/reservation.d.ts +25 -0
  191. package/dist/inventory/hooks/reservation.js +56 -0
  192. package/dist/inventory/hooks/scan.d.ts +14 -0
  193. package/dist/inventory/hooks/scan.js +22 -0
  194. package/dist/inventory/hooks/supplier.d.ts +24 -0
  195. package/dist/inventory/hooks/supplier.js +30 -0
  196. package/dist/inventory/hooks/trace.d.ts +19 -0
  197. package/dist/inventory/hooks/trace.js +55 -0
  198. package/dist/inventory/hooks/transfer.d.ts +90 -0
  199. package/dist/inventory/hooks/transfer.js +197 -0
  200. package/dist/inventory/hooks/warehouse.d.ts +87 -0
  201. package/dist/inventory/hooks/warehouse.js +240 -0
  202. package/dist/inventory/index.d.ts +39 -512
  203. package/dist/inventory/index.js +37 -16
  204. package/dist/inventory/types/index.d.ts +3 -0
  205. package/dist/inventory/types/inventory.d.ts +485 -0
  206. package/dist/inventory/types/supplier.d.ts +90 -0
  207. package/dist/inventory/types/warehouse.d.ts +182 -0
  208. package/dist/logistics/api/index.d.ts +1 -0
  209. package/dist/logistics/api/logistics.d.ts +260 -0
  210. package/dist/logistics/api/logistics.js +249 -0
  211. package/dist/logistics/hooks/index.d.ts +1 -0
  212. package/dist/logistics/hooks/logistics.d.ts +252 -0
  213. package/dist/logistics/hooks/logistics.js +370 -0
  214. package/dist/logistics/index.d.ts +4 -248
  215. package/dist/logistics/index.js +4 -7
  216. package/dist/logistics/types/logistics.d.ts +188 -0
  217. package/dist/node_modules/@tanstack/query-core/build/modern/hydration-C-jfQLut.d.ts +270 -0
  218. package/dist/notifications/api/notification.d.ts +15 -0
  219. package/dist/notifications/api/notification.js +43 -0
  220. package/dist/notifications/hooks/notification.d.ts +34 -0
  221. package/dist/notifications/hooks/notification.js +86 -0
  222. package/dist/notifications/hooks/stream.d.ts +22 -0
  223. package/dist/notifications/hooks/stream.js +80 -0
  224. package/dist/notifications/index.d.ts +5 -0
  225. package/dist/notifications/index.js +5 -0
  226. package/dist/notifications/types/index.d.ts +57 -0
  227. package/dist/payments/api/index.d.ts +1 -0
  228. package/dist/payments/api/payment.d.ts +89 -0
  229. package/dist/payments/api/payment.js +93 -0
  230. package/dist/payments/hooks/payment.d.ts +53 -0
  231. package/dist/payments/hooks/payment.js +93 -0
  232. package/dist/payments/index.d.ts +4 -55
  233. package/dist/payments/index.js +4 -6
  234. package/dist/payments/types/payment.d.ts +50 -0
  235. package/dist/permissions/checker.d.ts +125 -0
  236. package/dist/permissions/checker.js +150 -0
  237. package/dist/permissions/index.d.ts +3 -0
  238. package/dist/permissions/index.js +4 -0
  239. package/dist/permissions/roles.d.ts +39 -0
  240. package/dist/permissions/roles.js +66 -0
  241. package/dist/platform/api/branch.d.ts +57 -0
  242. package/dist/platform/api/branch.js +73 -0
  243. package/dist/platform/api/config.d.ts +67 -0
  244. package/dist/platform/api/config.js +83 -0
  245. package/dist/platform/api/features.d.ts +15 -0
  246. package/dist/platform/api/features.js +20 -0
  247. package/dist/platform/api/index.d.ts +6 -0
  248. package/dist/platform/api/promo.d.ts +286 -0
  249. package/dist/platform/api/promo.js +276 -0
  250. package/dist/platform/api/user.d.ts +10 -0
  251. package/dist/platform/api/user.js +29 -0
  252. package/dist/platform/api/webhook.d.ts +102 -0
  253. package/dist/platform/api/webhook.js +124 -0
  254. package/dist/platform/hooks/branch.d.ts +24 -0
  255. package/dist/platform/hooks/branch.js +31 -0
  256. package/dist/platform/hooks/config.d.ts +61 -0
  257. package/dist/platform/hooks/config.js +100 -0
  258. package/dist/platform/hooks/features.d.ts +22 -0
  259. package/dist/platform/hooks/features.js +75 -0
  260. package/dist/platform/hooks/index.d.ts +6 -0
  261. package/dist/platform/hooks/promo.d.ts +218 -0
  262. package/dist/platform/hooks/promo.js +451 -0
  263. package/dist/platform/hooks/user.d.ts +24 -0
  264. package/dist/platform/hooks/user.js +30 -0
  265. package/dist/platform/index.d.ts +18 -645
  266. package/dist/platform/index.js +14 -8
  267. package/dist/platform/prefetch.d.ts +9 -0
  268. package/dist/platform/prefetch.js +11 -0
  269. package/dist/platform/types/branch.d.ts +110 -0
  270. package/dist/platform/types/branch.js +16 -0
  271. package/dist/platform/types/config.d.ts +137 -0
  272. package/dist/platform/types/features.d.ts +46 -0
  273. package/dist/platform/types/promo.d.ts +260 -0
  274. package/dist/platform/types/user.d.ts +72 -0
  275. package/dist/platform/types/webhook.d.ts +165 -0
  276. package/dist/sales/api/cart.d.ts +34 -0
  277. package/dist/sales/api/cart.js +38 -0
  278. package/dist/sales/api/customer.d.ts +40 -0
  279. package/dist/sales/api/customer.js +52 -0
  280. package/dist/sales/api/earning-rules.d.ts +54 -0
  281. package/dist/sales/api/earning-rules.js +56 -0
  282. package/dist/sales/api/index.d.ts +9 -0
  283. package/dist/sales/api/loyalty.d.ts +54 -0
  284. package/dist/sales/api/loyalty.js +57 -0
  285. package/dist/sales/api/order.d.ts +147 -0
  286. package/dist/sales/api/order.js +69 -0
  287. package/dist/sales/api/pos.d.ts +81 -0
  288. package/dist/sales/api/pos.js +95 -0
  289. package/dist/sales/api/referrals.d.ts +63 -0
  290. package/dist/sales/api/referrals.js +62 -0
  291. package/dist/sales/api/tiers.d.ts +66 -0
  292. package/dist/sales/api/tiers.js +59 -0
  293. package/dist/sales/hooks/cart.d.ts +50 -0
  294. package/dist/sales/hooks/cart.js +161 -0
  295. package/dist/sales/hooks/customer.d.ts +100 -0
  296. package/dist/sales/hooks/customer.js +130 -0
  297. package/dist/sales/hooks/earning-rules.d.ts +31 -0
  298. package/dist/sales/hooks/earning-rules.js +112 -0
  299. package/dist/sales/hooks/index.d.ts +8 -0
  300. package/dist/sales/hooks/loyalty.d.ts +51 -0
  301. package/dist/sales/hooks/loyalty.js +122 -0
  302. package/dist/sales/hooks/order.d.ts +219 -0
  303. package/dist/sales/hooks/order.js +401 -0
  304. package/dist/sales/hooks/pos.d.ts +87 -0
  305. package/dist/sales/hooks/pos.js +222 -0
  306. package/dist/sales/hooks/referrals.d.ts +34 -0
  307. package/dist/sales/hooks/referrals.js +132 -0
  308. package/dist/sales/hooks/tiers.d.ts +32 -0
  309. package/dist/sales/hooks/tiers.js +144 -0
  310. package/dist/sales/index.d.ts +25 -620
  311. package/dist/sales/index.js +19 -9
  312. package/dist/sales/prefetch.d.ts +10 -0
  313. package/dist/sales/prefetch.js +13 -0
  314. package/dist/sales/types/cart.d.ts +123 -0
  315. package/dist/sales/types/customer.d.ts +119 -0
  316. package/dist/sales/types/earning-rules.d.ts +75 -0
  317. package/dist/sales/types/index.d.ts +8 -0
  318. package/dist/sales/types/loyalty.d.ts +120 -0
  319. package/dist/sales/types/order.d.ts +487 -0
  320. package/dist/sales/types/order.js +22 -0
  321. package/dist/sales/types/pos.d.ts +227 -0
  322. package/dist/sales/types/referrals.d.ts +51 -0
  323. package/dist/sales/types/tiers.d.ts +56 -0
  324. package/dist/server.d.ts +41 -23
  325. package/dist/server.js +41 -36
  326. package/dist/transaction/api/index.d.ts +1 -0
  327. package/dist/transaction/api/transaction.d.ts +63 -0
  328. package/dist/transaction/api/transaction.js +84 -0
  329. package/dist/transaction/hooks/index.d.ts +1 -0
  330. package/dist/transaction/hooks/transaction.d.ts +106 -0
  331. package/dist/transaction/hooks/transaction.js +156 -0
  332. package/dist/transaction/index.d.ts +4 -104
  333. package/dist/transaction/index.js +5 -8
  334. package/dist/transaction/types/transaction.d.ts +440 -0
  335. package/dist/transaction/types/transaction.js +86 -0
  336. package/package.json +36 -25
  337. package/dist/adjustment-MNH3AT6S.js +0 -5
  338. package/dist/adjustment-MNH3AT6S.js.map +0 -1
  339. package/dist/analytics/index.js.map +0 -1
  340. package/dist/analytics-DMcD-o8w.d.ts +0 -76
  341. package/dist/api-factory-B_h4RKBm.d.ts +0 -280
  342. package/dist/auth/index.js.map +0 -1
  343. package/dist/catalog/index.js.map +0 -1
  344. package/dist/chunk-24FDD6UR.js +0 -75
  345. package/dist/chunk-24FDD6UR.js.map +0 -1
  346. package/dist/chunk-2TF7QNYV.js +0 -159
  347. package/dist/chunk-2TF7QNYV.js.map +0 -1
  348. package/dist/chunk-2YAZ5WG6.js +0 -479
  349. package/dist/chunk-2YAZ5WG6.js.map +0 -1
  350. package/dist/chunk-36NLLAVH.js +0 -177
  351. package/dist/chunk-36NLLAVH.js.map +0 -1
  352. package/dist/chunk-3OYSJB3P.js +0 -126
  353. package/dist/chunk-3OYSJB3P.js.map +0 -1
  354. package/dist/chunk-4IYW6RF3.js +0 -862
  355. package/dist/chunk-4IYW6RF3.js.map +0 -1
  356. package/dist/chunk-5E57JODA.js +0 -135
  357. package/dist/chunk-5E57JODA.js.map +0 -1
  358. package/dist/chunk-7LZCW4VF.js +0 -13
  359. package/dist/chunk-7LZCW4VF.js.map +0 -1
  360. package/dist/chunk-AQAISI4F.js +0 -183
  361. package/dist/chunk-AQAISI4F.js.map +0 -1
  362. package/dist/chunk-B6MPVOV7.js +0 -328
  363. package/dist/chunk-B6MPVOV7.js.map +0 -1
  364. package/dist/chunk-CILP56G2.js +0 -94
  365. package/dist/chunk-CILP56G2.js.map +0 -1
  366. package/dist/chunk-ERQ52WHY.js +0 -534
  367. package/dist/chunk-ERQ52WHY.js.map +0 -1
  368. package/dist/chunk-FOTUJPM4.js +0 -640
  369. package/dist/chunk-FOTUJPM4.js.map +0 -1
  370. package/dist/chunk-IHCBBLLW.js +0 -198
  371. package/dist/chunk-IHCBBLLW.js.map +0 -1
  372. package/dist/chunk-L4OEI4VZ.js +0 -123
  373. package/dist/chunk-L4OEI4VZ.js.map +0 -1
  374. package/dist/chunk-LRV7MWWX.js +0 -616
  375. package/dist/chunk-LRV7MWWX.js.map +0 -1
  376. package/dist/chunk-M3B4DFTT.js +0 -76
  377. package/dist/chunk-M3B4DFTT.js.map +0 -1
  378. package/dist/chunk-N43VE355.js +0 -126
  379. package/dist/chunk-N43VE355.js.map +0 -1
  380. package/dist/chunk-PYYLHUV6.js +0 -3
  381. package/dist/chunk-PYYLHUV6.js.map +0 -1
  382. package/dist/chunk-QCTXAMLA.js +0 -261
  383. package/dist/chunk-QCTXAMLA.js.map +0 -1
  384. package/dist/chunk-RIKAPJNG.js +0 -40
  385. package/dist/chunk-RIKAPJNG.js.map +0 -1
  386. package/dist/chunk-U3XT35GZ.js +0 -202
  387. package/dist/chunk-U3XT35GZ.js.map +0 -1
  388. package/dist/chunk-W22WB3WZ.js +0 -148
  389. package/dist/chunk-W22WB3WZ.js.map +0 -1
  390. package/dist/chunk-WTIJMKML.js +0 -27
  391. package/dist/chunk-WTIJMKML.js.map +0 -1
  392. package/dist/chunk-X2CQFJPR.js +0 -75
  393. package/dist/chunk-X2CQFJPR.js.map +0 -1
  394. package/dist/chunk-YYFKLOKO.js +0 -769
  395. package/dist/chunk-YYFKLOKO.js.map +0 -1
  396. package/dist/client-BPG8fbae.d.ts +0 -113
  397. package/dist/content/index.js.map +0 -1
  398. package/dist/core/index.js.map +0 -1
  399. package/dist/core/react.d.ts +0 -107
  400. package/dist/core/react.js +0 -5
  401. package/dist/core/react.js.map +0 -1
  402. package/dist/coupon-BZSZ0y3n.d.ts +0 -129
  403. package/dist/coupon-CDzL4bJG.d.ts +0 -655
  404. package/dist/crud.factory-DyKaPHcU.d.ts +0 -181
  405. package/dist/finance/index.js.map +0 -1
  406. package/dist/finance-BJdfKRw0.d.ts +0 -135
  407. package/dist/index.js.map +0 -1
  408. package/dist/inventory/index.js.map +0 -1
  409. package/dist/inventory-B5pssqRx.d.ts +0 -748
  410. package/dist/logistics/index.js.map +0 -1
  411. package/dist/logistics-REVDorcc.d.ts +0 -410
  412. package/dist/media-CNLJK93J.d.ts +0 -721
  413. package/dist/movement-R3CERFAM.js +0 -5
  414. package/dist/movement-R3CERFAM.js.map +0 -1
  415. package/dist/order-BfdPxZiA.d.ts +0 -412
  416. package/dist/payment-BRboLqvU.d.ts +0 -127
  417. package/dist/payments/index.js.map +0 -1
  418. package/dist/platform/index.js.map +0 -1
  419. package/dist/pos-C-sBzevg.d.ts +0 -538
  420. package/dist/product-p09zXkXB.d.ts +0 -260
  421. package/dist/purchase-54PER2PY.js +0 -5
  422. package/dist/purchase-54PER2PY.js.map +0 -1
  423. package/dist/request-MP6NV5ZE.js +0 -5
  424. package/dist/request-MP6NV5ZE.js.map +0 -1
  425. package/dist/sales/index.js.map +0 -1
  426. package/dist/server.js.map +0 -1
  427. package/dist/size-guide-DgjzjM5P.d.ts +0 -554
  428. package/dist/stock-2LP4HJSB.js +0 -5
  429. package/dist/stock-2LP4HJSB.js.map +0 -1
  430. package/dist/stock-CfrU5_Wr.d.ts +0 -632
  431. package/dist/supplier-BWJTRZ5Z.js +0 -5
  432. package/dist/supplier-BWJTRZ5Z.js.map +0 -1
  433. package/dist/transaction/index.js.map +0 -1
  434. package/dist/transaction-Bf6WjYCh.d.ts +0 -84
  435. package/dist/transaction-dL3WW-er.d.ts +0 -442
  436. package/dist/transfer-4XSS6HWT.js +0 -5
  437. package/dist/transfer-4XSS6HWT.js.map +0 -1
  438. package/dist/user-data-DdLjAGwO.d.ts +0 -132
@@ -0,0 +1,201 @@
1
+ import { ApiResponse } from "../../core/api-factory.js";
2
+ import { Category, CategoryTreeNode, CategoryTreeResponse, CreateCategoryPayload, UpdateCategoryPayload } from "../types/category.js";
3
+ import * as _tanstack_react_query0 from "@tanstack/react-query";
4
+ import { UseQueryOptions } from "@tanstack/react-query";
5
+ import * as _classytic_arc_next_query0 from "@classytic/arc-next/query";
6
+ import * as _classytic_arc_next0 from "@classytic/arc-next";
7
+
8
+ //#region src/catalog/hooks/category.d.ts
9
+ interface FlattenedNode extends CategoryTreeNode {
10
+ depth: number;
11
+ displayName: string;
12
+ }
13
+ interface SelectOption {
14
+ value: string;
15
+ label: string;
16
+ }
17
+ /**
18
+ * Category CRUD hooks
19
+ */
20
+ declare const categoryHooks: _classytic_arc_next0.CrudHooksReturn<Category, CreateCategoryPayload, UpdateCategoryPayload>;
21
+ declare const CATEGORY_KEYS: _classytic_arc_next_query0.QueryKeys, useCategories: {
22
+ (params?: Record<string, unknown>, options?: _classytic_arc_next_query0.ListQueryOptions<Category> | undefined): _classytic_arc_next_query0.ListQueryResult<Category>;
23
+ (token: string | null, params?: Record<string, unknown>, options?: _classytic_arc_next_query0.ListQueryOptions<Category> | undefined): _classytic_arc_next_query0.ListQueryResult<Category>;
24
+ }, useCategoryDetail: {
25
+ (id: string | null, options?: _classytic_arc_next_query0.DetailQueryOptions<Category> | undefined): _classytic_arc_next_query0.DetailQueryResult<Category>;
26
+ (id: string | null, token: string | null, options?: _classytic_arc_next_query0.DetailQueryOptions<Category> | undefined): _classytic_arc_next_query0.DetailQueryResult<Category>;
27
+ }, useCategoryActions: () => _classytic_arc_next0.CrudActions<Category, CreateCategoryPayload, UpdateCategoryPayload>, useCategoryNavigation: () => _classytic_arc_next0.NavigateFn<Category>;
28
+ /**
29
+ * Hook to get category tree (nested structure)
30
+ * FE should cache this and derive everything else from it
31
+ *
32
+ * @param token - Auth token (optional for public access)
33
+ * @param options - React Query options
34
+ * @returns Query result with tree data
35
+ *
36
+ * @example
37
+ * ```tsx
38
+ * function CategoryNav() {
39
+ * const { data, isLoading } = useCategoryTree(token);
40
+ *
41
+ * if (isLoading) return <Spinner />;
42
+ *
43
+ * return (
44
+ * <nav>
45
+ * {data?.data?.map(category => (
46
+ * <CategoryItem key={category.slug} category={category} />
47
+ * ))}
48
+ * </nav>
49
+ * );
50
+ * }
51
+ * ```
52
+ */
53
+ declare function useCategoryTree(token?: string | null, options?: Omit<UseQueryOptions<CategoryTreeResponse>, "queryKey" | "queryFn">): _tanstack_react_query0.UseQueryResult<CategoryTreeResponse, Error>;
54
+ /**
55
+ * Hook to get category by slug
56
+ *
57
+ * @param token - Auth token (optional for public access)
58
+ * @param slug - Category slug
59
+ * @param options - React Query options
60
+ * @returns Query result with category data
61
+ *
62
+ * @example
63
+ * ```tsx
64
+ * function CategoryPage({ slug }) {
65
+ * const { data, isLoading } = useCategoryBySlug(token, slug);
66
+ *
67
+ * if (isLoading) return <Spinner />;
68
+ *
69
+ * return <h1>{data?.data?.name}</h1>;
70
+ * }
71
+ * ```
72
+ */
73
+ declare function useCategoryBySlug(token: string | null | undefined, slug: string, options?: Omit<UseQueryOptions<ApiResponse<Category>>, "queryKey" | "queryFn">): _tanstack_react_query0.UseQueryResult<ApiResponse<Category>, Error>;
74
+ /**
75
+ * Hook to sync product counts for all categories
76
+ * POST /categories/sync-product-count
77
+ *
78
+ * Use when manual data fixes or migrations may have desynced counts.
79
+ *
80
+ * @param token - Auth token (admin or inventory staff required)
81
+ * @returns Mutation result with sync function
82
+ *
83
+ * @example
84
+ * ```tsx
85
+ * function AdminPanel() {
86
+ * const { mutate: sync, isPending } = useCategorySyncProductCount(token);
87
+ *
88
+ * return (
89
+ * <Button onClick={() => sync()} disabled={isPending}>
90
+ * Sync Product Counts
91
+ * </Button>
92
+ * );
93
+ * }
94
+ * ```
95
+ */
96
+ declare function useCategorySyncProductCount(token: string): _tanstack_react_query0.UseMutationResult<ApiResponse<{
97
+ updated: number;
98
+ }>, Error, void, unknown>;
99
+ /**
100
+ * Flatten category tree with depth indicator
101
+ * Useful for building hierarchical selects
102
+ *
103
+ * @param nodes - Category tree nodes
104
+ * @param depth - Current depth (used recursively)
105
+ * @param result - Accumulator array (used recursively)
106
+ * @returns Flattened array with depth and displayName
107
+ *
108
+ * @example
109
+ * ```typescript
110
+ * const { data } = useCategoryTree(token);
111
+ * const flat = flattenCategoryTree(data?.data);
112
+ * // flat = [
113
+ * // { slug: 'clothing', displayName: 'Clothing', depth: 0, ... },
114
+ * // { slug: 't-shirts', displayName: ' T-Shirts', depth: 1, ... },
115
+ * // ]
116
+ * ```
117
+ */
118
+ declare function flattenCategoryTree(nodes: CategoryTreeNode[] | undefined, depth?: number, result?: FlattenedNode[]): FlattenedNode[];
119
+ /**
120
+ * Build parent category options for select (root categories only)
121
+ *
122
+ * @param tree - Category tree from useCategoryTree
123
+ * @returns Options array with value/label for select inputs
124
+ *
125
+ * @example
126
+ * ```tsx
127
+ * function ParentSelect() {
128
+ * const { data } = useCategoryTree(token);
129
+ * const options = getParentCategoryOptions(data?.data);
130
+ *
131
+ * return (
132
+ * <Select>
133
+ * {options.map(opt => (
134
+ * <SelectItem key={opt.value} value={opt.value}>
135
+ * {opt.label}
136
+ * </SelectItem>
137
+ * ))}
138
+ * </Select>
139
+ * );
140
+ * }
141
+ * ```
142
+ */
143
+ declare function getParentCategoryOptions(tree: CategoryTreeNode[] | undefined): SelectOption[];
144
+ /**
145
+ * Build all category options for select (flattened with hierarchy)
146
+ *
147
+ * @param tree - Category tree from useCategoryTree
148
+ * @returns Options array with value/label showing hierarchy
149
+ *
150
+ * @example
151
+ * ```tsx
152
+ * function CategorySelect() {
153
+ * const { data } = useCategoryTree(token);
154
+ * const options = getAllCategoryOptions(data?.data);
155
+ *
156
+ * return (
157
+ * <Select>
158
+ * {options.map(opt => (
159
+ * <SelectItem key={opt.value} value={opt.value}>
160
+ * {opt.label}
161
+ * </SelectItem>
162
+ * ))}
163
+ * </Select>
164
+ * );
165
+ * }
166
+ * ```
167
+ */
168
+ declare function getAllCategoryOptions(tree: CategoryTreeNode[] | undefined): SelectOption[];
169
+ /**
170
+ * Find a category in the tree by slug
171
+ *
172
+ * @param tree - Category tree nodes
173
+ * @param slug - Category slug to find
174
+ * @returns Category node or undefined
175
+ */
176
+ declare function findCategoryBySlug(tree: CategoryTreeNode[] | undefined, slug: string): CategoryTreeNode | undefined;
177
+ /**
178
+ * Get breadcrumb path for a category
179
+ *
180
+ * @param tree - Category tree nodes
181
+ * @param slug - Category slug
182
+ * @returns Array of categories from root to target
183
+ */
184
+ declare function getCategoryBreadcrumb(tree: CategoryTreeNode[] | undefined, slug: string): CategoryTreeNode[];
185
+ /**
186
+ * Get all children slugs for a category (recursive)
187
+ *
188
+ * @param tree - Category tree nodes
189
+ * @param parentSlug - Parent category slug
190
+ * @returns Array of child category slugs
191
+ */
192
+ declare function getChildCategorySlugs(tree: CategoryTreeNode[] | undefined, parentSlug: string): string[];
193
+ /**
194
+ * Get root categories only
195
+ *
196
+ * @param tree - Category tree nodes
197
+ * @returns Array of root category nodes
198
+ */
199
+ declare function getRootCategories(tree: CategoryTreeNode[] | undefined): CategoryTreeNode[];
200
+ //#endregion
201
+ export { CATEGORY_KEYS, categoryHooks, findCategoryBySlug, flattenCategoryTree, getAllCategoryOptions, getCategoryBreadcrumb, getChildCategorySlugs, getParentCategoryOptions, getRootCategories, useCategories, useCategoryActions, useCategoryBySlug, useCategoryDetail, useCategoryNavigation, useCategorySyncProductCount, useCategoryTree };
@@ -0,0 +1,295 @@
1
+ "use client";
2
+
3
+ import { getToastHandler } from "../../core/react/mutation.factory.js";
4
+ import { createCrudHooks } from "../../core/react/crud.factory.js";
5
+ import { categoryApi } from "../api/category.js";
6
+ import { useMutation, useQuery, useQueryClient } from "@tanstack/react-query";
7
+
8
+ //#region src/catalog/hooks/category.ts
9
+ /**
10
+ * Category Hooks
11
+ *
12
+ * Pre-built hooks for category CRUD operations with:
13
+ * - Category tree support
14
+ * - Optimistic updates
15
+ * - Smart caching
16
+ * - Type safety
17
+ */
18
+ /**
19
+ * Category CRUD hooks
20
+ */
21
+ const categoryHooks = createCrudHooks({
22
+ api: categoryApi,
23
+ entityKey: "categories",
24
+ singular: "Category",
25
+ plural: "Categories",
26
+ defaults: { staleTime: 600 * 1e3 }
27
+ });
28
+ const { KEYS: CATEGORY_KEYS, useList: useCategories, useDetail: useCategoryDetail, useActions: useCategoryActions, useNavigation: useCategoryNavigation } = categoryHooks;
29
+ /**
30
+ * Hook to get category tree (nested structure)
31
+ * FE should cache this and derive everything else from it
32
+ *
33
+ * @param token - Auth token (optional for public access)
34
+ * @param options - React Query options
35
+ * @returns Query result with tree data
36
+ *
37
+ * @example
38
+ * ```tsx
39
+ * function CategoryNav() {
40
+ * const { data, isLoading } = useCategoryTree(token);
41
+ *
42
+ * if (isLoading) return <Spinner />;
43
+ *
44
+ * return (
45
+ * <nav>
46
+ * {data?.data?.map(category => (
47
+ * <CategoryItem key={category.slug} category={category} />
48
+ * ))}
49
+ * </nav>
50
+ * );
51
+ * }
52
+ * ```
53
+ */
54
+ function useCategoryTree(token, options = {}) {
55
+ return useQuery({
56
+ queryKey: [...CATEGORY_KEYS.all, "tree"],
57
+ queryFn: () => categoryApi.getTree({ token }),
58
+ staleTime: 1800 * 1e3,
59
+ gcTime: 3600 * 1e3,
60
+ ...options
61
+ });
62
+ }
63
+ /**
64
+ * Hook to get category by slug
65
+ *
66
+ * @param token - Auth token (optional for public access)
67
+ * @param slug - Category slug
68
+ * @param options - React Query options
69
+ * @returns Query result with category data
70
+ *
71
+ * @example
72
+ * ```tsx
73
+ * function CategoryPage({ slug }) {
74
+ * const { data, isLoading } = useCategoryBySlug(token, slug);
75
+ *
76
+ * if (isLoading) return <Spinner />;
77
+ *
78
+ * return <h1>{data?.data?.name}</h1>;
79
+ * }
80
+ * ```
81
+ */
82
+ function useCategoryBySlug(token, slug, options = {}) {
83
+ return useQuery({
84
+ queryKey: [
85
+ ...CATEGORY_KEYS.all,
86
+ "slug",
87
+ slug
88
+ ],
89
+ queryFn: () => categoryApi.getBySlug({
90
+ token,
91
+ slug
92
+ }),
93
+ enabled: !!slug,
94
+ staleTime: 1800 * 1e3,
95
+ ...options
96
+ });
97
+ }
98
+ /**
99
+ * Hook to sync product counts for all categories
100
+ * POST /categories/sync-product-count
101
+ *
102
+ * Use when manual data fixes or migrations may have desynced counts.
103
+ *
104
+ * @param token - Auth token (admin or inventory staff required)
105
+ * @returns Mutation result with sync function
106
+ *
107
+ * @example
108
+ * ```tsx
109
+ * function AdminPanel() {
110
+ * const { mutate: sync, isPending } = useCategorySyncProductCount(token);
111
+ *
112
+ * return (
113
+ * <Button onClick={() => sync()} disabled={isPending}>
114
+ * Sync Product Counts
115
+ * </Button>
116
+ * );
117
+ * }
118
+ * ```
119
+ */
120
+ function useCategorySyncProductCount(token) {
121
+ const queryClient = useQueryClient();
122
+ const toast = getToastHandler();
123
+ return useMutation({
124
+ mutationFn: () => categoryApi.syncProductCount({ token }),
125
+ onSuccess: (result) => {
126
+ const count = result?.data?.updated ?? 0;
127
+ toast.success(`Synced product counts for ${count} categories`);
128
+ queryClient.invalidateQueries({ queryKey: CATEGORY_KEYS.all });
129
+ },
130
+ onError: (error) => {
131
+ toast.error(error.message || "Failed to sync product counts");
132
+ }
133
+ });
134
+ }
135
+ /**
136
+ * Flatten category tree with depth indicator
137
+ * Useful for building hierarchical selects
138
+ *
139
+ * @param nodes - Category tree nodes
140
+ * @param depth - Current depth (used recursively)
141
+ * @param result - Accumulator array (used recursively)
142
+ * @returns Flattened array with depth and displayName
143
+ *
144
+ * @example
145
+ * ```typescript
146
+ * const { data } = useCategoryTree(token);
147
+ * const flat = flattenCategoryTree(data?.data);
148
+ * // flat = [
149
+ * // { slug: 'clothing', displayName: 'Clothing', depth: 0, ... },
150
+ * // { slug: 't-shirts', displayName: ' T-Shirts', depth: 1, ... },
151
+ * // ]
152
+ * ```
153
+ */
154
+ function flattenCategoryTree(nodes, depth = 0, result = []) {
155
+ for (const node of nodes || []) {
156
+ result.push({
157
+ ...node,
158
+ depth,
159
+ displayName: "\xA0\xA0".repeat(depth) + node.name
160
+ });
161
+ if (node.children?.length) flattenCategoryTree(node.children, depth + 1, result);
162
+ }
163
+ return result;
164
+ }
165
+ /**
166
+ * Build parent category options for select (root categories only)
167
+ *
168
+ * @param tree - Category tree from useCategoryTree
169
+ * @returns Options array with value/label for select inputs
170
+ *
171
+ * @example
172
+ * ```tsx
173
+ * function ParentSelect() {
174
+ * const { data } = useCategoryTree(token);
175
+ * const options = getParentCategoryOptions(data?.data);
176
+ *
177
+ * return (
178
+ * <Select>
179
+ * {options.map(opt => (
180
+ * <SelectItem key={opt.value} value={opt.value}>
181
+ * {opt.label}
182
+ * </SelectItem>
183
+ * ))}
184
+ * </Select>
185
+ * );
186
+ * }
187
+ * ```
188
+ */
189
+ function getParentCategoryOptions(tree) {
190
+ return (tree || []).map((node) => ({
191
+ value: node.slug,
192
+ label: node.name
193
+ }));
194
+ }
195
+ /**
196
+ * Build all category options for select (flattened with hierarchy)
197
+ *
198
+ * @param tree - Category tree from useCategoryTree
199
+ * @returns Options array with value/label showing hierarchy
200
+ *
201
+ * @example
202
+ * ```tsx
203
+ * function CategorySelect() {
204
+ * const { data } = useCategoryTree(token);
205
+ * const options = getAllCategoryOptions(data?.data);
206
+ *
207
+ * return (
208
+ * <Select>
209
+ * {options.map(opt => (
210
+ * <SelectItem key={opt.value} value={opt.value}>
211
+ * {opt.label}
212
+ * </SelectItem>
213
+ * ))}
214
+ * </Select>
215
+ * );
216
+ * }
217
+ * ```
218
+ */
219
+ function getAllCategoryOptions(tree) {
220
+ return flattenCategoryTree(tree).map((node) => ({
221
+ value: node.slug,
222
+ label: node.displayName
223
+ }));
224
+ }
225
+ /**
226
+ * Find a category in the tree by slug
227
+ *
228
+ * @param tree - Category tree nodes
229
+ * @param slug - Category slug to find
230
+ * @returns Category node or undefined
231
+ */
232
+ function findCategoryBySlug(tree, slug) {
233
+ if (!tree || !slug) return void 0;
234
+ for (const node of tree) {
235
+ if (node.slug === slug) return node;
236
+ if (node.children?.length) {
237
+ const found = findCategoryBySlug(node.children, slug);
238
+ if (found) return found;
239
+ }
240
+ }
241
+ }
242
+ /**
243
+ * Get breadcrumb path for a category
244
+ *
245
+ * @param tree - Category tree nodes
246
+ * @param slug - Category slug
247
+ * @returns Array of categories from root to target
248
+ */
249
+ function getCategoryBreadcrumb(tree, slug) {
250
+ if (!tree || !slug) return [];
251
+ function findPath(nodes, target, path = []) {
252
+ for (const node of nodes) {
253
+ const currentPath = [...path, node];
254
+ if (node.slug === target) return currentPath;
255
+ if (node.children?.length) {
256
+ const found = findPath(node.children, target, currentPath);
257
+ if (found) return found;
258
+ }
259
+ }
260
+ return null;
261
+ }
262
+ return findPath(tree, slug) || [];
263
+ }
264
+ /**
265
+ * Get all children slugs for a category (recursive)
266
+ *
267
+ * @param tree - Category tree nodes
268
+ * @param parentSlug - Parent category slug
269
+ * @returns Array of child category slugs
270
+ */
271
+ function getChildCategorySlugs(tree, parentSlug) {
272
+ const parent = findCategoryBySlug(tree, parentSlug);
273
+ if (!parent?.children?.length) return [];
274
+ const slugs = [];
275
+ function collectSlugs(nodes) {
276
+ for (const node of nodes) {
277
+ slugs.push(node.slug);
278
+ if (node.children?.length) collectSlugs(node.children);
279
+ }
280
+ }
281
+ collectSlugs(parent.children);
282
+ return slugs;
283
+ }
284
+ /**
285
+ * Get root categories only
286
+ *
287
+ * @param tree - Category tree nodes
288
+ * @returns Array of root category nodes
289
+ */
290
+ function getRootCategories(tree) {
291
+ return tree || [];
292
+ }
293
+
294
+ //#endregion
295
+ export { CATEGORY_KEYS, categoryHooks, findCategoryBySlug, flattenCategoryTree, getAllCategoryOptions, getCategoryBreadcrumb, getChildCategorySlugs, getParentCategoryOptions, getRootCategories, useCategories, useCategoryActions, useCategoryBySlug, useCategoryDetail, useCategoryNavigation, useCategorySyncProductCount, useCategoryTree };
@@ -0,0 +1,4 @@
1
+ import { PRODUCT_KEYS, UseProductRecommendationsReturn, productHooks, useDeletedProducts, useHardDeleteProduct, useProductActions, useProductBySlug, useProductDetail, useProductNavigation, useProductRecommendations, useProducts, useRestoreProduct, useSyncProductStock } from "./product.js";
2
+ import { CATEGORY_KEYS, categoryHooks, findCategoryBySlug, flattenCategoryTree, getAllCategoryOptions, getCategoryBreadcrumb, getChildCategorySlugs, getParentCategoryOptions, getRootCategories, useCategories, useCategoryActions, useCategoryBySlug, useCategoryDetail, useCategoryNavigation, useCategorySyncProductCount, useCategoryTree } from "./category.js";
3
+ import { SIZE_GUIDE_KEYS, findSizeGuideById, findSizeGuideBySlug, formatMeasurement, getSizeGuideOptions, getSizeTableHeaders, getSizeTableRows, sizeGuideHooks, useSizeGuideActions, useSizeGuideBySlug, useSizeGuideDetail, useSizeGuideNavigation, useSizeGuides } from "./size-guide.js";
4
+ import { REVIEW_KEYS, reviewHooks, useMyReview, useReviewActions, useReviewDetail, useReviewNavigation, useReviews } from "./review.js";
@@ -0,0 +1,165 @@
1
+ import { ApiResponse, PaginatedResponse } from "../../core/api-factory.js";
2
+ import { CreateProductPayload, Product, ProductSyncStockResponse, UpdateProductPayload } from "../types/product.js";
3
+ import * as _tanstack_react_query0 from "@tanstack/react-query";
4
+ import { UseQueryOptions } from "@tanstack/react-query";
5
+ import * as _classytic_arc_next_query0 from "@classytic/arc-next/query";
6
+ import * as _classytic_arc_next0 from "@classytic/arc-next";
7
+
8
+ //#region src/catalog/hooks/product.d.ts
9
+ /**
10
+ * Product CRUD hooks with optimistic updates
11
+ */
12
+ declare const productHooks: _classytic_arc_next0.CrudHooksReturn<Product, CreateProductPayload, UpdateProductPayload>;
13
+ declare const PRODUCT_KEYS: _classytic_arc_next_query0.QueryKeys, useProducts: {
14
+ (params?: Record<string, unknown>, options?: _classytic_arc_next_query0.ListQueryOptions<Product> | undefined): _classytic_arc_next_query0.ListQueryResult<Product>;
15
+ (token: string | null, params?: Record<string, unknown>, options?: _classytic_arc_next_query0.ListQueryOptions<Product> | undefined): _classytic_arc_next_query0.ListQueryResult<Product>;
16
+ }, useProductDetail: {
17
+ (id: string | null, options?: _classytic_arc_next_query0.DetailQueryOptions<Product> | undefined): _classytic_arc_next_query0.DetailQueryResult<Product>;
18
+ (id: string | null, token: string | null, options?: _classytic_arc_next_query0.DetailQueryOptions<Product> | undefined): _classytic_arc_next_query0.DetailQueryResult<Product>;
19
+ }, useProductActions: () => _classytic_arc_next0.CrudActions<Product, CreateProductPayload, UpdateProductPayload>, useProductNavigation: () => _classytic_arc_next0.NavigateFn<Product>;
20
+ /**
21
+ * Hook to get product by slug
22
+ *
23
+ * @param token - Auth token (optional for public access)
24
+ * @param slug - Product slug
25
+ * @param options - React Query options
26
+ * @returns Query result with product data
27
+ *
28
+ * @example
29
+ * ```tsx
30
+ * function ProductPage({ slug }) {
31
+ * const { data, isLoading } = useProductBySlug(null, slug);
32
+ *
33
+ * if (isLoading) return <Spinner />;
34
+ *
35
+ * return <h1>{data?.data?.name}</h1>;
36
+ * }
37
+ * ```
38
+ */
39
+ declare function useProductBySlug(token: string | null | undefined, slug: string, options?: Omit<UseQueryOptions<ApiResponse<Product>>, "queryKey" | "queryFn">): _tanstack_react_query0.UseQueryResult<ApiResponse<Product>, Error>;
40
+ interface UseProductRecommendationsReturn {
41
+ recommendations: Product[];
42
+ isLoading: boolean;
43
+ error: Error | null;
44
+ }
45
+ /**
46
+ * Hook to get product recommendations
47
+ *
48
+ * @param productId - Product ID to get recommendations for
49
+ * @param options - React Query options
50
+ * @returns Object with recommendations array, isLoading, and error
51
+ *
52
+ * @example
53
+ * ```tsx
54
+ * function ProductRecommendations({ productId }) {
55
+ * const { recommendations, isLoading } = useProductRecommendations(productId);
56
+ *
57
+ * if (isLoading) return <Spinner />;
58
+ *
59
+ * return (
60
+ * <div>
61
+ * {recommendations.map(product => (
62
+ * <ProductCard key={product._id} product={product} />
63
+ * ))}
64
+ * </div>
65
+ * );
66
+ * }
67
+ * ```
68
+ */
69
+ declare function useProductRecommendations(productId: string, options?: Omit<UseQueryOptions<ApiResponse<Product[]>>, "queryKey" | "queryFn">): UseProductRecommendationsReturn;
70
+ /**
71
+ * Hook to get soft-deleted products (Recycle Bin)
72
+ *
73
+ * @param token - Auth token (required, admin only)
74
+ * @param params - Query parameters for pagination/filtering
75
+ * @param options - React Query options
76
+ * @returns Query result with deleted products
77
+ *
78
+ * @example
79
+ * ```tsx
80
+ * function RecycleBin() {
81
+ * const { data, isLoading } = useDeletedProducts(token, { page: 1, limit: 20 });
82
+ *
83
+ * if (isLoading) return <Spinner />;
84
+ *
85
+ * return (
86
+ * <div>
87
+ * {data?.docs?.map(product => (
88
+ * <DeletedProductRow key={product._id} product={product} />
89
+ * ))}
90
+ * </div>
91
+ * );
92
+ * }
93
+ * ```
94
+ */
95
+ declare function useDeletedProducts(token: string, params?: Record<string, unknown>, options?: Omit<UseQueryOptions<PaginatedResponse<Product>>, "queryKey" | "queryFn">): _tanstack_react_query0.UseQueryResult<PaginatedResponse<Product>, Error>;
96
+ /**
97
+ * Hook to restore a soft-deleted product
98
+ *
99
+ * @param token - Auth token (required, admin only)
100
+ * @returns Mutation result with restore function
101
+ *
102
+ * @example
103
+ * ```tsx
104
+ * function RestoreButton({ productId }) {
105
+ * const { mutate: restore, isPending } = useRestoreProduct(token);
106
+ *
107
+ * return (
108
+ * <Button onClick={() => restore(productId)} disabled={isPending}>
109
+ * Restore Product
110
+ * </Button>
111
+ * );
112
+ * }
113
+ * ```
114
+ */
115
+ declare function useRestoreProduct(token: string): _tanstack_react_query0.UseMutationResult<ApiResponse<Product>, Error, string, unknown>;
116
+ /**
117
+ * Hook to permanently delete a product (Hard delete)
118
+ *
119
+ * @param token - Auth token (required, admin only)
120
+ * @returns Mutation result with hard delete function
121
+ *
122
+ * @example
123
+ * ```tsx
124
+ * function PermanentDeleteButton({ productId }) {
125
+ * const { mutate: hardDelete, isPending } = useHardDeleteProduct(token);
126
+ *
127
+ * return (
128
+ * <Button
129
+ * variant="destructive"
130
+ * onClick={() => hardDelete(productId)}
131
+ * disabled={isPending}
132
+ * >
133
+ * Permanently Delete
134
+ * </Button>
135
+ * );
136
+ * }
137
+ * ```
138
+ */
139
+ declare function useHardDeleteProduct(token: string): _tanstack_react_query0.UseMutationResult<ApiResponse<{
140
+ deleted: boolean;
141
+ }>, Error, string, unknown>;
142
+ /**
143
+ * Hook to sync product stock quantity
144
+ *
145
+ * Recomputes product.quantity by summing all StockEntry quantities across branches.
146
+ *
147
+ * @param token - Auth token (requires: admin, warehouse-admin, warehouse-staff, or store-manager role)
148
+ * @returns Mutation result with sync function
149
+ *
150
+ * @example
151
+ * ```tsx
152
+ * function SyncStockButton({ productId }) {
153
+ * const { mutate: syncStock, isPending } = useSyncProductStock(token);
154
+ *
155
+ * return (
156
+ * <Button onClick={() => syncStock(productId)} disabled={isPending}>
157
+ * Sync Stock
158
+ * </Button>
159
+ * );
160
+ * }
161
+ * ```
162
+ */
163
+ declare function useSyncProductStock(token: string): _tanstack_react_query0.UseMutationResult<ProductSyncStockResponse, Error, string, unknown>;
164
+ //#endregion
165
+ export { PRODUCT_KEYS, UseProductRecommendationsReturn, productHooks, useDeletedProducts, useHardDeleteProduct, useProductActions, useProductBySlug, useProductDetail, useProductNavigation, useProductRecommendations, useProducts, useRestoreProduct, useSyncProductStock };