@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,138 @@
1
+ import { authApi } from "./auth/api/user-data.js";
2
+ import { productApi } from "./catalog/api/product.js";
3
+ import { categoryApi } from "./catalog/api/category.js";
4
+ import { sizeGuideApi } from "./catalog/api/size-guide.js";
5
+ import { ToastHandler as ToastHandler$1 } from "./core/react/mutation.factory.js";
6
+ import { cartApi } from "./sales/api/cart.js";
7
+ import { orderApi } from "./sales/api/order.js";
8
+ import { customerApi } from "./sales/api/customer.js";
9
+ import { posApi } from "./sales/api/pos.js";
10
+ import { availabilityApi } from "./inventory/api/availability.js";
11
+ import { reservationApi } from "./inventory/api/reservation.js";
12
+ import { scanApi } from "./inventory/api/scan.js";
13
+ import { purchaseApi } from "./inventory/api/purchase.js";
14
+ import { transferApi } from "./inventory/api/transfer.js";
15
+ import { requestApi } from "./inventory/api/request.js";
16
+ import { movementApi } from "./inventory/api/movement.js";
17
+ import { adjustmentApi } from "./inventory/api/adjustment.js";
18
+ import { supplierApi } from "./inventory/api/supplier.js";
19
+ import { auditApi, locationApi, nodeApi } from "./inventory/api/warehouse.js";
20
+ import { logisticsApi } from "./logistics/api/logistics.js";
21
+ import { financeApi } from "./finance/api/finance.js";
22
+ import { transactionApi } from "./transaction/api/transaction.js";
23
+ import { cmsApi } from "./content/api/cms.js";
24
+ import { mediaApi } from "./content/api/media.js";
25
+ import { platformConfigApi } from "./platform/api/config.js";
26
+ import { branchApi } from "./platform/api/branch.js";
27
+ import { userApi } from "./platform/api/user.js";
28
+ import { evaluationApi, programApi, voucherApi } from "./platform/api/promo.js";
29
+ import { paymentApi } from "./payments/api/payment.js";
30
+ import { UseRouterHook } from "@classytic/arc-next/client";
31
+
32
+ //#region src/client.d.ts
33
+ /**
34
+ * SDK Client Configuration Options
35
+ */
36
+ interface CommerceSDKConfig {
37
+ /** Base URL for API requests (e.g., "https://api.example.com") */
38
+ baseUrl: string;
39
+ /** Default organization ID for multi-tenant support */
40
+ organizationId?: string;
41
+ /** Function to get current auth token */
42
+ getToken?: () => string | null | Promise<string | null>;
43
+ /** Default request cache mode */
44
+ cache?: RequestCache;
45
+ /** Default headers to include in all requests */
46
+ headers?: Record<string, string>;
47
+ /** Toast handler for mutation feedback */
48
+ toast?: ToastHandler$1;
49
+ /** Router hook for navigation (e.g., Next.js useRouter) */
50
+ navigation?: UseRouterHook;
51
+ }
52
+ /**
53
+ * Commerce SDK Client
54
+ *
55
+ * Provides typed access to all commerce APIs.
56
+ */
57
+ interface CommerceSDKClient {
58
+ auth: typeof authApi;
59
+ product: typeof productApi;
60
+ category: typeof categoryApi;
61
+ sizeGuide: typeof sizeGuideApi;
62
+ cart: typeof cartApi;
63
+ order: typeof orderApi;
64
+ promo: {
65
+ program: typeof programApi;
66
+ voucher: typeof voucherApi;
67
+ evaluation: typeof evaluationApi;
68
+ };
69
+ customer: typeof customerApi;
70
+ user: typeof userApi;
71
+ branch: typeof branchApi;
72
+ media: typeof mediaApi;
73
+ payment: typeof paymentApi;
74
+ transaction: typeof transactionApi;
75
+ finance: typeof financeApi;
76
+ logistics: typeof logisticsApi;
77
+ platform: typeof platformConfigApi;
78
+ cms: typeof cmsApi;
79
+ pos: typeof posApi;
80
+ inventory: {
81
+ availability: typeof availabilityApi;
82
+ reservation: typeof reservationApi;
83
+ scan: typeof scanApi;
84
+ purchase: typeof purchaseApi;
85
+ transfer: typeof transferApi;
86
+ adjustment: typeof adjustmentApi;
87
+ movement: typeof movementApi;
88
+ request: typeof requestApi;
89
+ supplier: typeof supplierApi;
90
+ node: typeof nodeApi;
91
+ location: typeof locationApi;
92
+ audit: typeof auditApi;
93
+ };
94
+ }
95
+ /**
96
+ * Create a configured Commerce SDK client
97
+ *
98
+ * @example
99
+ * ```typescript
100
+ * import { createCommerceSDK } from '@classytic/commerce-sdk';
101
+ * import { useRouter } from 'next/navigation';
102
+ * import { toast } from 'sonner';
103
+ *
104
+ * const sdk = createCommerceSDK({
105
+ * baseUrl: process.env.NEXT_PUBLIC_API_URL!,
106
+ * getToken: () => getCookie('token'),
107
+ * organizationId: 'org_123',
108
+ * toast: { success: toast.success, error: toast.error },
109
+ * navigation: useRouter,
110
+ * });
111
+ *
112
+ * // Use the SDK
113
+ * const products = await sdk.product.getAll({ params: { page: 1 } });
114
+ * ```
115
+ */
116
+ declare function createCommerceSDK(config: CommerceSDKConfig): CommerceSDKClient;
117
+ /**
118
+ * Initialize SDK configuration without creating a client
119
+ *
120
+ * Useful when you want to configure the SDK globally and use
121
+ * individual API instances directly.
122
+ *
123
+ * @example
124
+ * ```typescript
125
+ * import { initCommerceSDK, productApi } from '@classytic/commerce-sdk';
126
+ *
127
+ * // Initialize once at app startup
128
+ * initCommerceSDK({
129
+ * baseUrl: process.env.NEXT_PUBLIC_API_URL!,
130
+ * });
131
+ *
132
+ * // Use APIs directly
133
+ * const products = await productApi.getAll({ params: { page: 1 } });
134
+ * ```
135
+ */
136
+ declare function initCommerceSDK(config: CommerceSDKConfig): void;
137
+ //#endregion
138
+ export { CommerceSDKClient, CommerceSDKConfig, createCommerceSDK, createCommerceSDK as default, initCommerceSDK };
package/dist/client.js ADDED
@@ -0,0 +1,129 @@
1
+ import { configureSDK } from "./core/api-handler.js";
2
+ import { configureToast } from "./core/react/mutation.factory.js";
3
+ import { configureNavigation } from "./core/react/crud.factory.js";
4
+ import authApi from "./auth/api/user-data.js";
5
+ import { productApi } from "./catalog/api/product.js";
6
+ import { categoryApi } from "./catalog/api/category.js";
7
+ import { sizeGuideApi } from "./catalog/api/size-guide.js";
8
+ import { cartApi } from "./sales/api/cart.js";
9
+ import orderApi from "./sales/api/order.js";
10
+ import { customerApi } from "./sales/api/customer.js";
11
+ import posApi from "./sales/api/pos.js";
12
+ import transactionApi from "./transaction/api/transaction.js";
13
+ import { platformConfigApi } from "./platform/api/config.js";
14
+ import { branchApi } from "./platform/api/branch.js";
15
+ import { userApi } from "./platform/api/user.js";
16
+ import { evaluationApi, programApi, voucherApi } from "./platform/api/promo.js";
17
+ import { cmsApi } from "./content/api/cms.js";
18
+ import { mediaApi } from "./content/api/media.js";
19
+ import { paymentApi } from "./payments/api/payment.js";
20
+ import { financeApi } from "./finance/api/finance.js";
21
+ import { logisticsApi } from "./logistics/api/logistics.js";
22
+ import { availabilityApi } from "./inventory/api/availability.js";
23
+ import { reservationApi } from "./inventory/api/reservation.js";
24
+ import { scanApi } from "./inventory/api/scan.js";
25
+ import { purchaseApi } from "./inventory/api/purchase.js";
26
+ import { transferApi } from "./inventory/api/transfer.js";
27
+ import { requestApi } from "./inventory/api/request.js";
28
+ import { movementApi } from "./inventory/api/movement.js";
29
+ import { adjustmentApi } from "./inventory/api/adjustment.js";
30
+ import { supplierApi } from "./inventory/api/supplier.js";
31
+ import { auditApi, locationApi, nodeApi } from "./inventory/api/warehouse.js";
32
+
33
+ //#region src/client.ts
34
+ /**
35
+ * @classytic/commerce-sdk - SDK Client Factory
36
+ *
37
+ * Create a configured SDK client instance for use in Next.js applications.
38
+ */
39
+ /**
40
+ * Create a configured Commerce SDK client
41
+ *
42
+ * @example
43
+ * ```typescript
44
+ * import { createCommerceSDK } from '@classytic/commerce-sdk';
45
+ * import { useRouter } from 'next/navigation';
46
+ * import { toast } from 'sonner';
47
+ *
48
+ * const sdk = createCommerceSDK({
49
+ * baseUrl: process.env.NEXT_PUBLIC_API_URL!,
50
+ * getToken: () => getCookie('token'),
51
+ * organizationId: 'org_123',
52
+ * toast: { success: toast.success, error: toast.error },
53
+ * navigation: useRouter,
54
+ * });
55
+ *
56
+ * // Use the SDK
57
+ * const products = await sdk.product.getAll({ params: { page: 1 } });
58
+ * ```
59
+ */
60
+ function createCommerceSDK(config) {
61
+ configureSDK(config);
62
+ if (config.toast) configureToast(config.toast);
63
+ if (config.navigation) configureNavigation(config.navigation);
64
+ return {
65
+ auth: authApi,
66
+ product: productApi,
67
+ category: categoryApi,
68
+ sizeGuide: sizeGuideApi,
69
+ cart: cartApi,
70
+ order: orderApi,
71
+ promo: {
72
+ program: programApi,
73
+ voucher: voucherApi,
74
+ evaluation: evaluationApi
75
+ },
76
+ customer: customerApi,
77
+ user: userApi,
78
+ branch: branchApi,
79
+ media: mediaApi,
80
+ payment: paymentApi,
81
+ transaction: transactionApi,
82
+ finance: financeApi,
83
+ logistics: logisticsApi,
84
+ platform: platformConfigApi,
85
+ cms: cmsApi,
86
+ pos: posApi,
87
+ inventory: {
88
+ availability: availabilityApi,
89
+ reservation: reservationApi,
90
+ scan: scanApi,
91
+ purchase: purchaseApi,
92
+ transfer: transferApi,
93
+ adjustment: adjustmentApi,
94
+ movement: movementApi,
95
+ request: requestApi,
96
+ supplier: supplierApi,
97
+ node: nodeApi,
98
+ location: locationApi,
99
+ audit: auditApi
100
+ }
101
+ };
102
+ }
103
+ /**
104
+ * Initialize SDK configuration without creating a client
105
+ *
106
+ * Useful when you want to configure the SDK globally and use
107
+ * individual API instances directly.
108
+ *
109
+ * @example
110
+ * ```typescript
111
+ * import { initCommerceSDK, productApi } from '@classytic/commerce-sdk';
112
+ *
113
+ * // Initialize once at app startup
114
+ * initCommerceSDK({
115
+ * baseUrl: process.env.NEXT_PUBLIC_API_URL!,
116
+ * });
117
+ *
118
+ * // Use APIs directly
119
+ * const products = await productApi.getAll({ params: { page: 1 } });
120
+ * ```
121
+ */
122
+ function initCommerceSDK(config) {
123
+ configureSDK(config);
124
+ if (config.toast) configureToast(config.toast);
125
+ if (config.navigation) configureNavigation(config.navigation);
126
+ }
127
+
128
+ //#endregion
129
+ export { createCommerceSDK, createCommerceSDK as default, initCommerceSDK };
@@ -0,0 +1,27 @@
1
+ import { ApiResponse, BaseApi } from "../../core/api-factory.js";
2
+ import { CMSPage, CMSPagePayload } from "../types/cms.js";
3
+
4
+ //#region src/content/api/cms.d.ts
5
+ declare class CmsApi extends BaseApi<CMSPage> {
6
+ constructor();
7
+ /**
8
+ * Get CMS page by slug (public).
9
+ * Returns null data gracefully on 404.
10
+ */
11
+ getPage({
12
+ slug
13
+ }: {
14
+ slug: string;
15
+ }): Promise<ApiResponse<CMSPage | null>>;
16
+ /** Update CMS page by slug (admin). Auto-creates if missing. */
17
+ updatePage({
18
+ slug,
19
+ data
20
+ }: {
21
+ slug: string;
22
+ data: CMSPagePayload;
23
+ }): Promise<ApiResponse<CMSPage>>;
24
+ }
25
+ declare const cmsApi: CmsApi;
26
+ //#endregion
27
+ export { CmsApi, cmsApi };
@@ -0,0 +1,43 @@
1
+ import { BaseApi } from "../../core/api-factory.js";
2
+
3
+ //#region src/content/api/cms.ts
4
+ /**
5
+ * CMS API — Slug-based content management
6
+ *
7
+ * Endpoints:
8
+ * - GET /api/v1/cms/:slug — Fetch page (public)
9
+ * - PATCH /api/v1/cms/:slug — Update page (admin, auto-creates if missing)
10
+ */
11
+ var CmsApi = class extends BaseApi {
12
+ constructor() {
13
+ super("cms");
14
+ }
15
+ /**
16
+ * Get CMS page by slug (public).
17
+ * Returns null data gracefully on 404.
18
+ */
19
+ async getPage({ slug }) {
20
+ if (!slug) throw new Error("Slug is required");
21
+ try {
22
+ return await this.request("GET", `${this.baseUrl}/${slug}`);
23
+ } catch (error) {
24
+ const msg = error?.message || "";
25
+ const jsonError = (error?.json)?.error || "";
26
+ if (msg.includes("Document not found") || jsonError.includes("Document not found") || error?.status === 404) return {
27
+ success: false,
28
+ data: null,
29
+ message: "CMS page not found, using static fallback"
30
+ };
31
+ throw error;
32
+ }
33
+ }
34
+ /** Update CMS page by slug (admin). Auto-creates if missing. */
35
+ async updatePage({ slug, data }) {
36
+ if (!slug) throw new Error("Slug is required");
37
+ return this.request("PATCH", `${this.baseUrl}/${slug}`, { data });
38
+ }
39
+ };
40
+ const cmsApi = new CmsApi();
41
+
42
+ //#endregion
43
+ export { CmsApi, cmsApi };
@@ -0,0 +1,2 @@
1
+ import { CmsApi, cmsApi } from "./cms.js";
2
+ import { MediaApi, mediaApi } from "./media.js";
@@ -0,0 +1,74 @@
1
+ import { ApiResponse, BaseApi, DeleteResponse, PaginatedResponse } from "../../core/api-factory.js";
2
+ import { BulkDeleteResult, Media, MediaFolder, MediaQueryParams, MoveFilesPayload, MoveFilesResult, UpdateMediaPayload } from "../types/media.js";
3
+
4
+ //#region src/content/api/media.d.ts
5
+ declare class MediaApi extends BaseApi<Media, FormData, UpdateMediaPayload> {
6
+ constructor();
7
+ /** POST /media/upload — Single file upload */
8
+ uploadFile({
9
+ file,
10
+ folder,
11
+ alt,
12
+ title
13
+ }: {
14
+ file: File | Blob;
15
+ folder?: MediaFolder;
16
+ alt?: string;
17
+ title?: string;
18
+ }): Promise<ApiResponse<Media>>;
19
+ /** POST /media/upload-multiple — Multiple files (max 20) */
20
+ uploadMultiple({
21
+ files,
22
+ folder
23
+ }: {
24
+ files: (File | Blob)[];
25
+ folder?: MediaFolder;
26
+ }): Promise<ApiResponse<Media[]>>;
27
+ /** GET /media — List with filters */
28
+ list({
29
+ params
30
+ }?: {
31
+ params?: MediaQueryParams;
32
+ }): Promise<PaginatedResponse<Media>>;
33
+ /** GET /media/:id — Single media */
34
+ get({
35
+ id
36
+ }: {
37
+ id: string;
38
+ }): Promise<ApiResponse<Media>>;
39
+ /** PATCH /media/:id — Update metadata (alt, title) */
40
+ updateMedia({
41
+ id,
42
+ data
43
+ }: {
44
+ id: string;
45
+ data: UpdateMediaPayload;
46
+ }): Promise<ApiResponse<Media>>;
47
+ /** DELETE /media/:id — Delete single */
48
+ deleteMedia({
49
+ id
50
+ }: {
51
+ id: string;
52
+ }): Promise<DeleteResponse>;
53
+ /** POST /media/bulk-delete — Delete multiple */
54
+ bulkDelete({
55
+ ids
56
+ }: {
57
+ ids: string[];
58
+ }): Promise<ApiResponse<BulkDeleteResult>>;
59
+ /** POST /media/move — Move files to folder */
60
+ moveToFolder({
61
+ data
62
+ }: {
63
+ data: MoveFilesPayload;
64
+ }): Promise<ApiResponse<MoveFilesResult>>;
65
+ /** GET /media/folders — Get allowed folders */
66
+ getFolders(): Promise<ApiResponse<MediaFolder[]>>;
67
+ /** Get variant URL by name, falls back to original */
68
+ getVariantUrl(media: Media, variantName: string): string;
69
+ getThumbnailUrl(media: Media): string;
70
+ getMediumUrl(media: Media): string;
71
+ }
72
+ declare const mediaApi: MediaApi;
73
+ //#endregion
74
+ export { MediaApi, mediaApi };
@@ -0,0 +1,77 @@
1
+ import { BaseApi } from "../../core/api-factory.js";
2
+
3
+ //#region src/content/api/media.ts
4
+ /**
5
+ * Media API — Image upload and management
6
+ *
7
+ * Features: Auto WebP, variants (thumbnail 150x200, medium 600x800), S3+CDN, max 50MB
8
+ */
9
+ var MediaApi = class extends BaseApi {
10
+ constructor() {
11
+ super("media", { cache: "no-store" });
12
+ }
13
+ /** POST /media/upload — Single file upload */
14
+ async uploadFile({ file, folder, alt, title }) {
15
+ const formData = new FormData();
16
+ if (folder) formData.append("folder", folder);
17
+ if (alt) formData.append("alt", alt);
18
+ if (title) formData.append("title", title);
19
+ formData.append("file", file);
20
+ return this.request("POST", `${this.baseUrl}/upload`, { data: formData });
21
+ }
22
+ /** POST /media/upload-multiple — Multiple files (max 20) */
23
+ async uploadMultiple({ files, folder }) {
24
+ const formData = new FormData();
25
+ if (folder) formData.append("folder", folder);
26
+ files.forEach((file) => formData.append("files[]", file));
27
+ return this.request("POST", `${this.baseUrl}/upload-multiple`, { data: formData });
28
+ }
29
+ /** GET /media — List with filters */
30
+ async list({ params = {} } = {}) {
31
+ return this.request("GET", this.baseUrl, { params });
32
+ }
33
+ /** GET /media/:id — Single media */
34
+ async get({ id }) {
35
+ if (!id) throw new Error("ID is required");
36
+ return this.request("GET", `${this.baseUrl}/${id}`);
37
+ }
38
+ /** PATCH /media/:id — Update metadata (alt, title) */
39
+ async updateMedia({ id, data }) {
40
+ if (!id) throw new Error("ID is required");
41
+ return this.request("PATCH", `${this.baseUrl}/${id}`, { data });
42
+ }
43
+ /** DELETE /media/:id — Delete single */
44
+ async deleteMedia({ id }) {
45
+ if (!id) throw new Error("ID is required");
46
+ return this.request("DELETE", `${this.baseUrl}/${id}`);
47
+ }
48
+ /** POST /media/bulk-delete — Delete multiple */
49
+ async bulkDelete({ ids }) {
50
+ if (!ids.length) throw new Error("IDs array is required");
51
+ return this.request("POST", `${this.baseUrl}/bulk-delete`, { data: { ids } });
52
+ }
53
+ /** POST /media/move — Move files to folder */
54
+ async moveToFolder({ data }) {
55
+ if (!data.ids.length) throw new Error("IDs array is required");
56
+ if (!data.targetFolder) throw new Error("Target folder is required");
57
+ return this.request("POST", `${this.baseUrl}/move`, { data });
58
+ }
59
+ /** GET /media/folders — Get allowed folders */
60
+ async getFolders() {
61
+ return this.request("GET", `${this.baseUrl}/folders`);
62
+ }
63
+ /** Get variant URL by name, falls back to original */
64
+ getVariantUrl(media, variantName) {
65
+ return media.variants?.find((v) => v.name === variantName)?.url || media.url;
66
+ }
67
+ getThumbnailUrl(media) {
68
+ return this.getVariantUrl(media, "thumbnail");
69
+ }
70
+ getMediumUrl(media) {
71
+ return this.getVariantUrl(media, "medium");
72
+ }
73
+ };
74
+ const mediaApi = new MediaApi();
75
+
76
+ //#endregion
77
+ export { MediaApi, mediaApi };
@@ -0,0 +1,31 @@
1
+ import { CMSPage, CMSPagePayload } from "../types/cms.js";
2
+
3
+ //#region src/content/hooks/cms.d.ts
4
+ declare const CMS_KEYS: {
5
+ all: readonly ["cms"];
6
+ page: (slug: string) => readonly ["cms", string];
7
+ };
8
+ interface QueryOptions {
9
+ enabled?: boolean;
10
+ staleTime?: number;
11
+ }
12
+ interface UseCMSPageReturn {
13
+ page: CMSPage | null;
14
+ isLoading: boolean;
15
+ isFetching: boolean;
16
+ error: Error | null;
17
+ refetch: () => void;
18
+ }
19
+ interface UseCMSUpdateReturn {
20
+ updatePage: (params: {
21
+ slug: string;
22
+ data: CMSPagePayload;
23
+ }) => Promise<unknown>;
24
+ isUpdating: boolean;
25
+ }
26
+ /** Fetch CMS page by slug */
27
+ declare function useCMSPage(slug: string, options?: QueryOptions): UseCMSPageReturn;
28
+ /** Update CMS page (admin) */
29
+ declare function useCMSUpdate(): UseCMSUpdateReturn;
30
+ //#endregion
31
+ export { CMS_KEYS, UseCMSPageReturn, UseCMSUpdateReturn, useCMSPage, useCMSUpdate };
@@ -0,0 +1,62 @@
1
+ "use client";
2
+
3
+ import { useMutationWithTransition } from "../../core/react/mutation.factory.js";
4
+ import { cmsApi } from "../api/cms.js";
5
+ import { useQuery } from "@tanstack/react-query";
6
+
7
+ //#region src/content/hooks/cms.ts
8
+ /**
9
+ * CMS Hooks — Slug-based content pages
10
+ */
11
+ const CMS_KEYS = {
12
+ all: ["cms"],
13
+ page: (slug) => [...CMS_KEYS.all, slug]
14
+ };
15
+ /** Fetch CMS page by slug */
16
+ function useCMSPage(slug, options = {}) {
17
+ const { data, isLoading, isFetching, error, refetch } = useQuery({
18
+ queryKey: CMS_KEYS.page(slug),
19
+ queryFn: async () => {
20
+ return (await cmsApi.getPage({ slug })).data ?? null;
21
+ },
22
+ enabled: !!slug && options.enabled !== false,
23
+ staleTime: options.staleTime ?? 300 * 1e3
24
+ });
25
+ return {
26
+ page: data ?? null,
27
+ isLoading,
28
+ isFetching,
29
+ error,
30
+ refetch
31
+ };
32
+ }
33
+ /** Update CMS page (admin) */
34
+ function useCMSUpdate() {
35
+ const mutation = useMutationWithTransition({
36
+ mutationFn: ({ slug, data }) => cmsApi.updatePage({
37
+ slug,
38
+ data
39
+ }),
40
+ messages: {
41
+ success: "Page saved successfully",
42
+ error: "Failed to save page"
43
+ },
44
+ onSuccess: (_data, { slug }) => {
45
+ if (typeof window !== "undefined") fetch("/revalidate", {
46
+ method: "POST",
47
+ headers: { "Content-Type": "application/json" },
48
+ body: JSON.stringify({
49
+ slug,
50
+ type: "both"
51
+ })
52
+ }).catch(() => {});
53
+ }
54
+ });
55
+ return {
56
+ updatePage: mutation.mutateAsync,
57
+ isUpdating: mutation.isPending
58
+ };
59
+ }
60
+
61
+ //#endregion
62
+ export { CMS_KEYS, useCMSPage, useCMSUpdate };
@@ -0,0 +1,2 @@
1
+ import { MEDIA_KEYS, UseMediaBulkDeleteReturn, UseMediaListOptions, UseMediaMoveReturn, UseMediaUpdateReturn, UseMediaUploadReturn, getMediaMediumUrl, getMediaThumbnailUrl, getMediaVariantUrl, useMediaBulkDelete, useMediaDetail, useMediaFolders, useMediaList, useMediaMove, useMediaUpdate, useMediaUpload } from "./media.js";
2
+ import { CMS_KEYS, UseCMSPageReturn, UseCMSUpdateReturn, useCMSPage, useCMSUpdate } from "./cms.js";
@@ -0,0 +1,74 @@
1
+ import { Media, MediaFolder, MediaQueryParams, MoveFilesPayload, UpdateMediaPayload } from "../types/media.js";
2
+ import * as _tanstack_react_query0 from "@tanstack/react-query";
3
+ import * as _classytic_arc_next_api0 from "@classytic/arc-next/api";
4
+
5
+ //#region src/content/hooks/media.d.ts
6
+ declare const MEDIA_KEYS: {
7
+ all: readonly ["media"];
8
+ lists: () => readonly ["media", "list"];
9
+ list: (params: MediaQueryParams) => readonly ["media", "list", MediaQueryParams];
10
+ details: () => readonly ["media", "detail"];
11
+ detail: (id: string) => readonly ["media", "detail", string];
12
+ folders: () => readonly ["media", "folders"];
13
+ };
14
+ interface UseMediaListOptions {
15
+ enabled?: boolean;
16
+ staleTime?: number;
17
+ gcTime?: number;
18
+ refetchOnWindowFocus?: boolean;
19
+ }
20
+ interface UseMediaUploadReturn {
21
+ upload: (params: {
22
+ files: (File | Blob)[];
23
+ folder?: MediaFolder;
24
+ }) => void;
25
+ uploadAsync: (params: {
26
+ files: (File | Blob)[];
27
+ folder?: MediaFolder;
28
+ }) => Promise<Media[]>;
29
+ isUploading: boolean;
30
+ error: Error | null;
31
+ }
32
+ interface UseMediaBulkDeleteReturn {
33
+ bulkDelete: (ids: string[]) => void;
34
+ bulkDeleteAsync: (ids: string[]) => Promise<unknown>;
35
+ isDeleting: boolean;
36
+ error: Error | null;
37
+ }
38
+ interface UseMediaMoveReturn {
39
+ move: (data: MoveFilesPayload) => void;
40
+ moveAsync: (data: MoveFilesPayload) => Promise<unknown>;
41
+ isMoving: boolean;
42
+ error: Error | null;
43
+ }
44
+ interface UseMediaUpdateReturn {
45
+ update: (params: {
46
+ id: string;
47
+ data: UpdateMediaPayload;
48
+ }) => void;
49
+ updateAsync: (params: {
50
+ id: string;
51
+ data: UpdateMediaPayload;
52
+ }) => Promise<unknown>;
53
+ isUpdating: boolean;
54
+ error: Error | null;
55
+ }
56
+ /** List media with filtering */
57
+ declare function useMediaList(params?: MediaQueryParams, options?: UseMediaListOptions): _tanstack_react_query0.UseQueryResult<_classytic_arc_next_api0.PaginatedResponse<Media>, Error>;
58
+ /** Get single media by ID */
59
+ declare function useMediaDetail(id: string | null, options?: UseMediaListOptions): _tanstack_react_query0.UseQueryResult<_classytic_arc_next_api0.ApiResponse<Media>, Error>;
60
+ /** Get allowed folders */
61
+ declare function useMediaFolders(options?: UseMediaListOptions): _tanstack_react_query0.UseQueryResult<_classytic_arc_next_api0.ApiResponse<MediaFolder[]>, Error>;
62
+ /** Upload multiple media files */
63
+ declare function useMediaUpload(): UseMediaUploadReturn;
64
+ /** Bulk delete media with optimistic update */
65
+ declare function useMediaBulkDelete(): UseMediaBulkDeleteReturn;
66
+ /** Move media to different folder */
67
+ declare function useMediaMove(): UseMediaMoveReturn;
68
+ /** Update media metadata with optimistic update */
69
+ declare function useMediaUpdate(): UseMediaUpdateReturn;
70
+ declare function getMediaVariantUrl(media: Media, variantName: string): string;
71
+ declare function getMediaThumbnailUrl(media: Media): string;
72
+ declare function getMediaMediumUrl(media: Media): string;
73
+ //#endregion
74
+ export { MEDIA_KEYS, UseMediaBulkDeleteReturn, UseMediaListOptions, UseMediaMoveReturn, UseMediaUpdateReturn, UseMediaUploadReturn, getMediaMediumUrl, getMediaThumbnailUrl, getMediaVariantUrl, useMediaBulkDelete, useMediaDetail, useMediaFolders, useMediaList, useMediaMove, useMediaUpdate, useMediaUpload };