npm-pkg-hook 1.12.7 → 1.12.8

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 (348) hide show
  1. package/.babelrc +0 -0
  2. package/.env +5 -0
  3. package/.github/pull_request_template.md +18 -0
  4. package/.github/workflows/pepeline.yaml +30 -0
  5. package/dist/index.js +47755 -10080
  6. package/dist/index.js.map +1 -0
  7. package/dist/index.mjs +47071 -9610
  8. package/dist/index.mjs.map +1 -0
  9. package/eslint.config.mts +153 -0
  10. package/expire.json +1 -0
  11. package/jsconfig.json +28 -0
  12. package/package.json +24 -61
  13. package/script.txt +7 -0
  14. package/src/config/client/errors.ts +39 -0
  15. package/src/config/client/index.ts +1 -0
  16. package/src/config/content/en.json +5 -0
  17. package/src/config/content/es.json +5 -0
  18. package/src/config/content/index.ts +16 -0
  19. package/src/cookies/index.ts +3 -0
  20. package/src/hooks/addTenMinutes/index.ts +14 -0
  21. package/src/hooks/calculateLogLatHaversine/index.ts +41 -0
  22. package/src/hooks/completeSchedules/index.ts +22 -0
  23. package/src/hooks/convertToMilitaryTime/index.ts +18 -0
  24. package/src/hooks/generateStoreURL/index.ts +41 -0
  25. package/src/hooks/generateTemplate/index.ts +66 -0
  26. package/src/hooks/getCardType/index.ts +24 -0
  27. package/src/hooks/getCategoriesWithProduct/helpers/index.ts +7 -0
  28. package/src/hooks/getCategoriesWithProduct/index.ts +62 -0
  29. package/src/hooks/getGlobalSession/index.ts +69 -0
  30. package/src/hooks/getSession/index.ts +72 -0
  31. package/src/hooks/getTodayTimestamps/index.ts +70 -0
  32. package/src/hooks/getTotalHours/index.ts +76 -0
  33. package/src/hooks/handleLogin/index.ts +14 -0
  34. package/src/hooks/index.ts +153 -0
  35. package/src/hooks/isTokenExpired/index.ts +17 -0
  36. package/src/hooks/newMessageSubscription/index.ts +28 -0
  37. package/src/hooks/newStoreOrderSubscription/index.ts +26 -0
  38. package/src/hooks/statusOpenStores/helpers/index.ts +124 -0
  39. package/src/hooks/statusOpenStores/index.ts +221 -0
  40. package/src/hooks/updateExtProductFoodsOptional/index.ts +49 -0
  41. package/src/hooks/useAcumulateDate/index.ts +18 -0
  42. package/src/hooks/useAllStoresPendingToRegister/index.ts +37 -0
  43. package/src/hooks/useAmountInput/index.ts +127 -0
  44. package/src/hooks/useAnimationFrame/index.ts +45 -0
  45. package/src/hooks/useAnimationText/index.ts +31 -0
  46. package/src/hooks/useAsideCart/helpers/index.ts +22 -0
  47. package/src/hooks/useAsideCart/index.ts +217 -0
  48. package/src/hooks/useAsideCart/queries.ts +10 -0
  49. package/src/hooks/useBanner/index.ts +20 -0
  50. package/src/hooks/useCart/index.ts +2 -0
  51. package/src/hooks/useCart/queries.ts +174 -0
  52. package/src/hooks/useCart/useCart/helpers/index.ts +79 -0
  53. package/src/hooks/useCart/useCart/index.ts +424 -0
  54. package/src/hooks/useCart/useGetCart/index.ts +34 -0
  55. package/src/hooks/useCatWithProduct/index.ts +54 -0
  56. package/src/hooks/useCatWithProduct/queries.ts +200 -0
  57. package/src/hooks/useCatWithProduct/types/index.ts +104 -0
  58. package/src/hooks/useCatWithProductClient/index.ts +57 -0
  59. package/src/hooks/useCatWithProductClient/queries.ts +56 -0
  60. package/src/hooks/useCategoriesProduct/index.ts +14 -0
  61. package/src/hooks/useCategoriesProduct/queries.ts +16 -0
  62. package/src/hooks/useCategoryInStore/index.ts +167 -0
  63. package/src/hooks/useCategoryInStore/queries.ts +78 -0
  64. package/src/hooks/useCategoryStore/index.ts +8 -0
  65. package/src/hooks/useCategoryStore/queries.ts +16 -0
  66. package/src/hooks/useChartData/index.ts +171 -0
  67. package/src/hooks/useChartData/useChartData/index.ts +200 -0
  68. package/src/hooks/useChartData/useChartDataAllOrders/index.ts +94 -0
  69. package/src/hooks/useChatRoomSubscription/index.ts +28 -0
  70. package/src/hooks/useCheckbox/index.ts +115 -0
  71. package/src/hooks/useCities/index.ts +14 -0
  72. package/src/hooks/useCities/queries.ts +12 -0
  73. package/src/hooks/useClients/index.ts +97 -0
  74. package/src/hooks/useClients/queries.ts +215 -0
  75. package/src/hooks/useColorByLetters/helpers/alea.ts +73 -0
  76. package/src/hooks/useColorByLetters/helpers/colors.ts +45 -0
  77. package/src/hooks/useColorByLetters/helpers/index.ts +22 -0
  78. package/src/hooks/useColorByLetters/helpers/mersenne_twister.ts +118 -0
  79. package/src/hooks/useColorByLetters/index.ts +24 -0
  80. package/src/hooks/useConnection/index.ts +24 -0
  81. package/src/hooks/useCountries/index.ts +20 -0
  82. package/src/hooks/useCountries/queries.ts +12 -0
  83. package/src/hooks/useCreateDeliveryTime/index.ts +51 -0
  84. package/src/hooks/useCreateOrderStatusType/index.ts +134 -0
  85. package/src/hooks/useCreateProduct/helpers/index.ts +23 -0
  86. package/src/hooks/useCreateProduct/helpers/manageCacheDataCatProduct/index.ts +52 -0
  87. package/src/hooks/useCreateProduct/helpers/useEditImageProduct/index.ts +182 -0
  88. package/src/hooks/useCreateProduct/index.ts +337 -0
  89. package/src/hooks/useCreateStorePendingToRegister/index.ts +17 -0
  90. package/src/hooks/useCreateStorePendingToRegister/queries.ts +10 -0
  91. package/src/hooks/useDashboardComponents/index.ts +50 -0
  92. package/src/hooks/useDeleteExtraProductFoods/index.ts +13 -0
  93. package/src/hooks/useDeleteSubProductOptional/index.ts +32 -0
  94. package/src/hooks/useDeleteSubProductOptional/queries.ts +10 -0
  95. package/src/hooks/useDeliveryTime/index.ts +29 -0
  96. package/src/hooks/useDepartments/index.ts +14 -0
  97. package/src/hooks/useDepartments/queries.ts +13 -0
  98. package/src/hooks/useDessert/helpers/index.ts +51 -0
  99. package/src/hooks/useDessert/index.ts +529 -0
  100. package/src/hooks/useDessertWithPrice/helpers/index.ts +76 -0
  101. package/src/hooks/useDessertWithPrice/index.ts +381 -0
  102. package/src/hooks/useDessertWithPrice/queries.ts +18 -0
  103. package/src/hooks/useDevWS/index.ts +53 -0
  104. package/src/hooks/useDevices/index.ts +2 -0
  105. package/src/hooks/useDevices/queries.ts +28 -0
  106. package/src/hooks/useDevices/useGetDevices.ts +28 -0
  107. package/src/hooks/useDevices/useRegisterDevices.ts +75 -0
  108. package/src/hooks/useDownloadReports/helpers/downloadFileFromResponse.ts +21 -0
  109. package/src/hooks/useDownloadReports/index.ts +2 -0
  110. package/src/hooks/useDownloadReports/useDownloadReportByDay/index.ts +105 -0
  111. package/src/hooks/useDownloadReports/useGetReportByDateRange/index.ts +116 -0
  112. package/src/hooks/useDrag/index.ts +79 -0
  113. package/src/hooks/useDropzone/index.ts +94 -0
  114. package/src/hooks/useDynamicAuth/index.ts +14 -0
  115. package/src/hooks/useDynamicAuth/queries.ts +24 -0
  116. package/src/hooks/useEditCategory/index.ts +41 -0
  117. package/src/hooks/useEditOneExtProductFoodOptional/index.ts +28 -0
  118. package/src/hooks/useEditOneExtProductFoodOptional/queries.ts +16 -0
  119. package/src/hooks/useEditSubProductOptional/index.ts +12 -0
  120. package/src/hooks/useEditSubProductOptional/queries.ts +10 -0
  121. package/src/hooks/useEmployee/index.ts +18 -0
  122. package/src/hooks/useEmployee/queries.ts +85 -0
  123. package/src/hooks/useEmployee/useCreateEmployee.ts +90 -0
  124. package/src/hooks/useEvent/index.ts +34 -0
  125. package/src/hooks/useFavoriteStores/index.ts +31 -0
  126. package/src/hooks/useFavoriteStores/queries.ts +54 -0
  127. package/src/hooks/useFetchJson/index.ts +25 -0
  128. package/src/hooks/useFetchMoreInteractions/index.jsx +39 -0
  129. package/src/hooks/useFilterConfigs/index.ts +173 -0
  130. package/src/hooks/useFingerprintjs/index.ts +197 -0
  131. package/src/hooks/useFormTools/index.ts +143 -0
  132. package/src/hooks/useFormatDate/index.ts +91 -0
  133. package/src/hooks/useFormatNumberPhone/index.ts +23 -0
  134. package/src/hooks/useFullScreenMode/index.ts +61 -0
  135. package/src/hooks/useGenerateNumberArray/index.ts +17 -0
  136. package/src/hooks/useGetAllLocationUser/index.ts +13 -0
  137. package/src/hooks/useGetAllLocationUser/queries.ts +44 -0
  138. package/src/hooks/useGetAllSales/index.ts +26 -0
  139. package/src/hooks/useGetCookies/index.ts +43 -0
  140. package/src/hooks/useGetExtProductFoodsSubOptionalAll/index.ts +15 -0
  141. package/src/hooks/useGetFoodRecomended/index.ts +33 -0
  142. package/src/hooks/useGetFoodRecomended/queries.ts +47 -0
  143. package/src/hooks/useGetMessagesToRoom/index.ts +23 -0
  144. package/src/hooks/useGetMinPrice/index.ts +13 -0
  145. package/src/hooks/useGetMinPrice/queries.ts +7 -0
  146. package/src/hooks/useGetOneStoreRating/index.ts +41 -0
  147. package/src/hooks/useGetOneStoreRating/queries.ts +18 -0
  148. package/src/hooks/useGetSalesAmountToday/index.ts +31 -0
  149. package/src/hooks/useGetStoreCookie/index.ts +21 -0
  150. package/src/hooks/useGoogleLogin/index.ts +169 -0
  151. package/src/hooks/useGoogleLogin/loadScript.ts +15 -0
  152. package/src/hooks/useGoogleLogin/removeScript.ts +7 -0
  153. package/src/hooks/useHover/index.ts +32 -0
  154. package/src/hooks/useImageOptimization/index.ts +32 -0
  155. package/src/hooks/useImageUploaderProduct/helper/canvasUtils.ts +146 -0
  156. package/src/hooks/useImageUploaderProduct/helper/getOrientation.ts +54 -0
  157. package/src/hooks/useImageUploaderProduct/helper/index.ts +5 -0
  158. package/src/hooks/useImageUploaderProduct/index.ts +295 -0
  159. package/src/hooks/useImageWeight/index.ts +55 -0
  160. package/src/hooks/useImagesStore/index.ts +227 -0
  161. package/src/hooks/useImagesStore/queries.ts +193 -0
  162. package/src/hooks/useImagesStore/utils/index.ts +4 -0
  163. package/src/hooks/useIncomingOrders/index.ts +11 -0
  164. package/src/hooks/useIncomingOrders/queries.ts +87 -0
  165. package/src/hooks/useInnerHtml/index.ts +39 -0
  166. package/src/hooks/useIntersection/index.ts +84 -0
  167. package/src/hooks/useInventory/index.ts +2 -0
  168. package/src/hooks/useInventory/queries.ts +58 -0
  169. package/src/hooks/useInventory/useGetProductsInStock.ts +16 -0
  170. package/src/hooks/useInventory/useUpdateManageStock.ts +41 -0
  171. package/src/hooks/useKeypress/index.ts +28 -0
  172. package/src/hooks/useLazyScript/index.ts +74 -0
  173. package/src/hooks/useLocalBackendIp/index.ts +34 -0
  174. package/src/hooks/useLocalSorage/index.ts +36 -0
  175. package/src/hooks/useLocationManager/index.ts +63 -0
  176. package/src/hooks/useLocationNavigate/index.ts +54 -0
  177. package/src/hooks/useLoginEmployeeInStore/index.ts +38 -0
  178. package/src/hooks/useLogout/helpers/BroadcastChannel.ts +74 -0
  179. package/src/hooks/useLogout/helpers/apiBaseUrl.ts +12 -0
  180. package/src/hooks/useLogout/helpers/fetchData.ts +37 -0
  181. package/src/hooks/useLogout/helpers/getCsrfToken.ts +37 -0
  182. package/src/hooks/useLogout/helpers/index.ts +65 -0
  183. package/src/hooks/useLogout/helpers/logger.ts +88 -0
  184. package/src/hooks/useLogout/helpers/parseUrl.ts +39 -0
  185. package/src/hooks/useLogout/index.ts +105 -0
  186. package/src/hooks/useManageNewOrder/helpers/index.ts +45 -0
  187. package/src/hooks/useManageNewOrder/helpers/mock.ts +0 -0
  188. package/src/hooks/useManageNewOrder/index.ts +104 -0
  189. package/src/hooks/useManageQueryParams/index.ts +120 -0
  190. package/src/hooks/useMobile/index.ts +65 -0
  191. package/src/hooks/useModules/helpers/index.ts +1 -0
  192. package/src/hooks/useModules/helpers/validateModules.ts +29 -0
  193. package/src/hooks/useModules/index.ts +124 -0
  194. package/src/hooks/useMouse/index.ts +55 -0
  195. package/src/hooks/useMutateHeight/index.ts +36 -0
  196. package/src/hooks/useOrderClient/index.ts +5 -0
  197. package/src/hooks/useOrderStatusTypes/index.ts +2 -0
  198. package/src/hooks/useOrderStatusTypes/useOrderStatusTypes/index.ts +133 -0
  199. package/src/hooks/useOrderStatusTypes/useUpdateOrderStatusPriorities/index.ts +99 -0
  200. package/src/hooks/useOrders/index.ts +3 -0
  201. package/src/hooks/useOrders/queries.ts +99 -0
  202. package/src/hooks/useOrders/useChangeOrderState/index.ts +128 -0
  203. package/src/hooks/useOrders/useOrdersFromStore/index.ts +78 -0
  204. package/src/hooks/usePWAInstall/index.ts +38 -0
  205. package/src/hooks/usePaymentMethod/index.ts +3 -0
  206. package/src/hooks/usePaymentMethod/paymentMethod.gql.ts +62 -0
  207. package/src/hooks/usePaymentMethod/paymentMethod.types.ts +28 -0
  208. package/src/hooks/usePaymentMethod/useCreatePaymentMethod/index.ts +25 -0
  209. package/src/hooks/usePaymentMethod/useGetAllPaymentMethods/index.ts +19 -0
  210. package/src/hooks/usePaymentMethod/useGetPaymentMethod/index.ts +26 -0
  211. package/src/hooks/usePortFetcher/index.ts +33 -0
  212. package/src/hooks/usePrintSaleTicket/index.ts +68 -0
  213. package/src/hooks/useProductsFood/index.ts +341 -0
  214. package/src/hooks/useProductsFood/queriesStore.ts +964 -0
  215. package/src/hooks/useProductsFood/types/index.ts +0 -0
  216. package/src/hooks/useProductsFood/useEditProduct.ts +49 -0
  217. package/src/hooks/useProductsFood/usetagsProducts.ts +101 -0
  218. package/src/hooks/useProviders/index.ts +3 -0
  219. package/src/hooks/useProviders/queries.ts +31 -0
  220. package/src/hooks/useProviders/useProvidersCreateStore/index.ts +13 -0
  221. package/src/hooks/useProviders/useProvidersDataStore/index.ts +25 -0
  222. package/src/hooks/useProvidersStore/index.ts +25 -0
  223. package/src/hooks/useProvidersStore/queries.ts +31 -0
  224. package/src/hooks/usePushNotificationOrder/index.ts +52 -0
  225. package/src/hooks/usePushNotifications/helpers/index.ts +123 -0
  226. package/src/hooks/usePushNotifications/index.ts +150 -0
  227. package/src/hooks/useQueryLocationsMap/index.ts +20 -0
  228. package/src/hooks/useQueryLocationsMap/queries.ts +40 -0
  229. package/src/hooks/useRatingArrayData/index.ts +54 -0
  230. package/src/hooks/useRatingArrayData/queries.ts +19 -0
  231. package/src/hooks/useReactToPrint/index.txt +1223 -0
  232. package/src/hooks/useRemoveExtraProductFoodsOptional/index.ts +24 -0
  233. package/src/hooks/useRemoveExtraProductFoodsOptional/queries.ts +48 -0
  234. package/src/hooks/useReport/index.ts +48 -0
  235. package/src/hooks/useReport/queries.ts +72 -0
  236. package/src/hooks/useRestaurant/helpers/index.ts +28 -0
  237. package/src/hooks/useRestaurant/helpers/manageStatusOpen.ts +26 -0
  238. package/src/hooks/useRestaurant/index.ts +71 -0
  239. package/src/hooks/useRestaurant/queries.ts +81 -0
  240. package/src/hooks/useRoads/index.ts +20 -0
  241. package/src/hooks/useRoads/queries.ts +13 -0
  242. package/src/hooks/useRoles/index.ts +4 -0
  243. package/src/hooks/useRoles/queries.ts +70 -0
  244. package/src/hooks/useRoles/useCreateRole.ts +40 -0
  245. package/src/hooks/useRoles/useGetRoles.ts +37 -0
  246. package/src/hooks/useRoles/useRemoveRoles.ts +40 -0
  247. package/src/hooks/useRoles/useUpdateRolesPriority.ts +44 -0
  248. package/src/hooks/useSales/helpers/add-product.utils.ts +120 -0
  249. package/src/hooks/useSales/helpers/apply-discount-to-cart.utils.ts +292 -0
  250. package/src/hooks/useSales/helpers/comment-product.utils.ts +41 -0
  251. package/src/hooks/useSales/helpers/constants/index.ts +38 -0
  252. package/src/hooks/useSales/helpers/extras.utils.ts +42 -0
  253. package/src/hooks/useSales/helpers/filterProductsByCarProId.utils.ts +17 -0
  254. package/src/hooks/useSales/helpers/increment-product-quantity.utils.ts +76 -0
  255. package/src/hooks/useSales/helpers/index.ts +3 -0
  256. package/src/hooks/useSales/helpers/initializer.utils.ts +22 -0
  257. package/src/hooks/useSales/helpers/isStockInsufficient.ts +3 -0
  258. package/src/hooks/useSales/helpers/remove-product.utils.test.ts +49 -0
  259. package/src/hooks/useSales/helpers/remove-product.utils.ts +34 -0
  260. package/src/hooks/useSales/helpers/resolveProduct.ts +29 -0
  261. package/src/hooks/useSales/helpers/useAddToCart.ts +64 -0
  262. package/src/hooks/useSales/index.ts +1418 -0
  263. package/src/hooks/useSales/queries.ts +532 -0
  264. package/src/hooks/useSales/types/index.ts +206 -0
  265. package/src/hooks/useSales/types/use-sales.types.ts +8 -0
  266. package/src/hooks/useSales/useGetSale.ts +21 -0
  267. package/src/hooks/useSales/useTotalSales.ts +24 -0
  268. package/src/hooks/useSaveAvailableProduct/helpers/index.ts +38 -0
  269. package/src/hooks/useSaveAvailableProduct/index.ts +32 -0
  270. package/src/hooks/useSaveAvailableProduct/queries.ts +10 -0
  271. package/src/hooks/useSaveLocation/index.ts +17 -0
  272. package/src/hooks/useSaveLocation/queries.ts +19 -0
  273. package/src/hooks/useSchedule/index.ts +35 -0
  274. package/src/hooks/useSchedule/queries.ts +43 -0
  275. package/src/hooks/useSchedule/schedule.ts +79 -0
  276. package/src/hooks/useScheduleData/index.ts +135 -0
  277. package/src/hooks/useScroll/index.ts +56 -0
  278. package/src/hooks/useScrollRotate/index.ts +16 -0
  279. package/src/hooks/useSetImageProducts/index.ts +59 -0
  280. package/src/hooks/useSetImageProducts/queries.ts +18 -0
  281. package/src/hooks/useSetSession/index.ts +44 -0
  282. package/src/hooks/useSetState/index.ts +24 -0
  283. package/src/hooks/useSetupSchedule/helpers/index.ts +85 -0
  284. package/src/hooks/useSetupSchedule/index.ts +284 -0
  285. package/src/hooks/useStatusOpenStore/helpers/index.ts +124 -0
  286. package/src/hooks/useStatusOpenStore/index.ts +195 -0
  287. package/src/hooks/useStatusOrdersClient/helpers/index.ts +14 -0
  288. package/src/hooks/useStatusOrdersClient/index.ts +18 -0
  289. package/src/hooks/useStatusOrdersClient/queries.ts +80 -0
  290. package/src/hooks/useStock/index.ts +1 -0
  291. package/src/hooks/useStock/useStockUpdatedAllSubscription.ts +40 -0
  292. package/src/hooks/useStockMovements/helpers/index.ts +16 -0
  293. package/src/hooks/useStockMovements/index.ts +39 -0
  294. package/src/hooks/useStore/index.ts +83 -0
  295. package/src/hooks/useStore/queries.ts +163 -0
  296. package/src/hooks/useStoreCalendar/index.ts +5 -0
  297. package/src/hooks/useStoreContacts/index.ts +53 -0
  298. package/src/hooks/useStoreContacts/queries.ts +48 -0
  299. package/src/hooks/useStoreTable/index.ts +2 -0
  300. package/src/hooks/useStoreTable/queries.ts +47 -0
  301. package/src/hooks/useStoreTable/useStoreTableCreate.ts +77 -0
  302. package/src/hooks/useStoreTable/useStoreTables.ts +15 -0
  303. package/src/hooks/useSubscriptionValidation/index.ts +112 -0
  304. package/src/hooks/useTagProducts/index.ts +3 -0
  305. package/src/hooks/useTagProducts/useDeleteOneTag.ts +106 -0
  306. package/src/hooks/useTagProducts/useGetAllTags.ts +68 -0
  307. package/src/hooks/useTagProducts/useRegisterMultipleTags.ts +157 -0
  308. package/src/hooks/useTheme/index.ts +65 -0
  309. package/src/hooks/useTimeAgo/useTimeAgo.ts +39 -0
  310. package/src/hooks/useTokenCards/index.ts +45 -0
  311. package/src/hooks/useTopProductsMovements/index.ts +27 -0
  312. package/src/hooks/useTotalAllSales/index.ts +25 -0
  313. package/src/hooks/useTotalProductsInStock/index.ts +23 -0
  314. package/src/hooks/useTotalProductsSold/index.ts +23 -0
  315. package/src/hooks/useTotalProductsSolded/index.ts +20 -0
  316. package/src/hooks/useUpdateCart/index.ts +131 -0
  317. package/src/hooks/useUpdateCartCookie/index.ts +60 -0
  318. package/src/hooks/useUpdateDashboardComponent/index.ts +91 -0
  319. package/src/hooks/useUpdateExistingOrders/index.ts +85 -0
  320. package/src/hooks/useUpdateExtProductFoodsSubOptional/index.ts +61 -0
  321. package/src/hooks/useUpdateModuleOrder/index.ts +37 -0
  322. package/src/hooks/useUpdateMultipleExtProduct/index.ts +34 -0
  323. package/src/hooks/useUpdateMultipleExtProduct/queries.ts +33 -0
  324. package/src/hooks/useUpdateMultipleProducts/index.ts +117 -0
  325. package/src/hooks/useUpdateMultipleProducts/queries.ts +51 -0
  326. package/src/hooks/useUploadProducts/helpers/index.ts +1 -0
  327. package/src/hooks/useUploadProducts/helpers/parseNumber.ts +37 -0
  328. package/src/hooks/useUploadProducts/helpers/validateProductDataExcel.ts +73 -0
  329. package/src/hooks/useUploadProducts/index.ts +442 -0
  330. package/src/hooks/useUpsertGoal/index.ts +68 -0
  331. package/src/hooks/useUser/index.ts +24 -0
  332. package/src/hooks/useUser/queries.ts +131 -0
  333. package/src/hooks/useWeeklyStockMovement/helpers/index.ts +32 -0
  334. package/src/hooks/useWeeklyStockMovement/index.ts +52 -0
  335. package/src/hooks/useWindowSize/index.ts +45 -0
  336. package/src/index.ts +13 -0
  337. package/src/mock/dessert/index.ts +16 -0
  338. package/src/mock/index.ts +1 -0
  339. package/src/security/index.ts +1 -0
  340. package/src/services/index.ts +1 -0
  341. package/src/utils/UtilDateRange.ts +56 -0
  342. package/src/utils/generateCode.ts +222 -0
  343. package/src/utils/index.ts +2 -0
  344. package/src/utils/utils.ts +344 -0
  345. package/tsconfig.eslint.json +16 -0
  346. package/tsconfig.json +21 -0
  347. package/tsup.config.ts +24 -0
  348. package/dist/index.cjs +0 -20089
@@ -0,0 +1,131 @@
1
+ import { gql } from '@apollo/client'
2
+
3
+ export const LOGIN = gql`
4
+ mutation login($input: LoginInput){
5
+ login(input: $input){
6
+ token
7
+ }
8
+ }
9
+ `
10
+ export const GET_USER_PROFILE = gql`
11
+ query getOneUserProfile($id: ID) {
12
+ getOneUserProfile(id: $id){
13
+ upId
14
+ id
15
+ upPhone
16
+ upImage
17
+ upDateBir
18
+ upBloodG
19
+ upAddress
20
+ ctId
21
+ dId
22
+ upZipCode
23
+ cId
24
+ upLatitude
25
+ upLongitude
26
+ user {
27
+ id
28
+ name
29
+ username
30
+ lastName
31
+ email
32
+ avatar
33
+ uToken
34
+ uPhoNum
35
+ ULocation
36
+ upLat
37
+ uState
38
+ upLon
39
+ upIdeDoc
40
+ siteWeb
41
+ description
42
+ password
43
+ createAt
44
+
45
+ }
46
+ }
47
+ }
48
+ `
49
+
50
+ export const GET_USER = gql`
51
+ query getUser($id: ID, $email: String){
52
+ getUser(id: $id email: $email){
53
+ id
54
+ name
55
+ username
56
+ lastName
57
+ email
58
+ avatar
59
+ uToken
60
+ uPhoNum
61
+ ULocation
62
+ upLat
63
+ uState
64
+ idRole
65
+ upLon
66
+ upIdeDoc
67
+ siteWeb
68
+ description
69
+ associateStore
70
+ role {
71
+ name
72
+ permissions
73
+ description
74
+ createdAt
75
+ updatedAt
76
+
77
+ }
78
+ }
79
+ }
80
+ `
81
+ export const GET_ALL_USER = gql`
82
+ query getAllUser($search: String){
83
+ getAllUser(search: $search){
84
+ id
85
+ name
86
+ username
87
+ lastName
88
+ email
89
+ email
90
+ siteWeb
91
+ description
92
+ uPhoNum
93
+ upLat
94
+ upLon
95
+ createAt
96
+ avatar
97
+ latestMessage {
98
+ uuid
99
+ content
100
+ from
101
+ to
102
+ }
103
+ }
104
+ }
105
+ `
106
+ export const UPDATE_AVATAR = gql`
107
+ mutation updateAvatar($file: Upload){
108
+ UpdateAvatar(file: $file){
109
+ status
110
+ urlAvatar
111
+ }
112
+ }
113
+ `
114
+
115
+ export const SET_USER_PROFILE = gql`
116
+ mutation setUserProfile($data: IUserProfile!) {
117
+ setUserProfile(input: $data){
118
+ upId
119
+ id
120
+ upPhone
121
+ upDateBir
122
+ upImage
123
+ upBloodG
124
+ cId
125
+ ctId
126
+ dId
127
+ upAddress
128
+ upZipCode
129
+ }
130
+ }
131
+ `
@@ -0,0 +1,32 @@
1
+ /**
2
+ * Fills missing weeks for the last 7 weeks, ensuring continuous data.
3
+ * If a week is missing, it fills it with totalOut: 0 and percentageChange: "N/A".
4
+ *
5
+ * @param {Array} data - Array of weekly stock movement objects.
6
+ * @returns {Array} - Filled data ensuring the last 7 weeks are covered.
7
+ */
8
+ export const fillLast7Weeks = (data) => {
9
+ const today = new Date()
10
+ const last7Weeks = []
11
+
12
+ // Generar las últimas 7 semanas (cada lunes)
13
+ for (let i = 6; i >= 0; i--) {
14
+ const weekDate = new Date(today)
15
+ weekDate.setDate(today.getDate() - today.getDay() - (i * 7) + 1) // Ajustar para que sea lunes
16
+ const weekStart = weekDate.toISOString().split('T')[0] // Formato YYYY-MM-DD
17
+ last7Weeks.push(weekStart)
18
+ }
19
+
20
+ // Mapear los datos existentes para acceso rápido
21
+ const dataMap = new Map(data.map(item => {return [item.weekStart, item]}))
22
+
23
+ // Construir la nueva lista asegurando que todas las semanas estén presentes
24
+ return last7Weeks.map(weekStart => {return (
25
+ dataMap.get(weekStart) || {
26
+ weekStart,
27
+ totalOut: 0,
28
+ prevTotalOut: null,
29
+ percentageChange: 'N/A'
30
+ }
31
+ )})
32
+ }
@@ -0,0 +1,52 @@
1
+ import { gql, useQuery } from '@apollo/client'
2
+
3
+ import { fillLast7Weeks } from './helpers' // Asegúrate de importar el helper
4
+
5
+ const GET_WEEKLY_STOCK_MOVEMENT = gql`
6
+ query GetStockMovementPercentageChange {
7
+ getStockMovementWeeklyComparison {
8
+ weekStart
9
+ totalOut
10
+ prevTotalOut
11
+ percentageChange
12
+ }
13
+ }
14
+ `
15
+
16
+ /**
17
+ * Custom hook to fetch and format weekly stock movement data.
18
+ * @returns {Object} - { data, loading, error, formattedData }
19
+ */
20
+ export const useWeeklyStockMovement = () => {
21
+ const { data, loading, error } = useQuery(GET_WEEKLY_STOCK_MOVEMENT)
22
+
23
+ // Transform data and fill missing weeks
24
+ const rawData = data?.getStockMovementWeeklyComparison || []
25
+ const formattedData = fillLast7Weeks(
26
+ rawData.map(item => {return {
27
+ ...item,
28
+ percentageChange: formatPercentageChange(item.percentageChange)
29
+ }})
30
+ )
31
+
32
+ return [formattedData, { loading, error }]
33
+ }
34
+
35
+ /**
36
+ * Ensures percentageChange is a valid string percentage, clamping between -100% and 100%.
37
+ *
38
+ * @param {string | null} percentageChange - Raw percentage change value.
39
+ * @returns {string} - Formatted and clamped percentage change.
40
+ */
41
+ const formatPercentageChange = (percentageChange) => {
42
+ if (percentageChange === null) return 'N/A'
43
+
44
+ // Convertir a número
45
+ let parsedValue = parseFloat(percentageChange)
46
+
47
+ // Clampear entre -100% y 100%
48
+ if (isNaN(parsedValue)) return 'N/A'
49
+ parsedValue = Math.max(-100, Math.min(100, parsedValue))
50
+
51
+ return `${parsedValue.toFixed(1)}`
52
+ }
@@ -0,0 +1,45 @@
1
+ import { useState, useEffect } from 'react'
2
+
3
+ /**
4
+ * A custom React hook that provides the current window size.
5
+ * @returns An object containing the current window width and height
6
+ */
7
+ export function useWindowSize () {
8
+ // Initialize state with undefined width/height so server and client renders match
9
+ // Learn more here: https://joshwcomeau.com/react/the-perils-of-rehydration/
10
+ const [windowSize, setWindowSize] = useState<{ width: number | undefined; height: number | undefined }>({
11
+ width: undefined,
12
+ height: undefined
13
+ })
14
+
15
+ useEffect(() => {
16
+ // Handler to call on window resize
17
+ /**
18
+ *
19
+ */
20
+ function handleResize () {
21
+ // Set window width/height to state
22
+ setWindowSize({
23
+ width: window.innerWidth,
24
+ height: window.innerHeight
25
+ })
26
+ }
27
+
28
+ // Add event listener
29
+ window.addEventListener('resize', handleResize)
30
+
31
+ // Call handler right away so state gets updated with initial window size
32
+ handleResize()
33
+
34
+ // Remove event listener on cleanup
35
+ return () => {return window.removeEventListener('resize', handleResize)}
36
+ }, []) // Empty array ensures that effect is only run on mount
37
+
38
+ return windowSize
39
+ }
40
+ // Como se usa
41
+
42
+ // 1 -const size = useWindowSize();
43
+ // 2 <div>
44
+ // {size.width}px / {size.height}px
45
+ // </div>
package/src/index.ts ADDED
@@ -0,0 +1,13 @@
1
+ import { readFileSync } from 'node:fs'
2
+ import { join } from 'node:path'
3
+
4
+ const packageJson = JSON.parse(readFileSync(join(__dirname, '..', 'package.json'), 'utf8')) as { version: string }
5
+
6
+ export * from './hooks/index'
7
+ export * from './utils'
8
+ export * from './utils/generateCode'
9
+ export * from './cookies'
10
+ export * from './security'
11
+
12
+ // version
13
+ export const version = packageJson.version
@@ -0,0 +1,16 @@
1
+ import { RandomCode } from '../../utils'
2
+
3
+ export const MockData = {
4
+ lists: {
5
+ '01list': {
6
+ id: RandomCode(9),
7
+ title: 'Elige tu salsa favorita',
8
+ numberLimit: 0,
9
+ required: 0,
10
+ value: '',
11
+ cards: [
12
+ ]
13
+ }
14
+ },
15
+ listIds: ['01list']
16
+ }
@@ -0,0 +1 @@
1
+ export * from './dessert'
@@ -0,0 +1 @@
1
+ export const future = null
@@ -0,0 +1 @@
1
+ export const serviceName = 'dummy'
@@ -0,0 +1,56 @@
1
+ /**
2
+ * Returns an object containing the start and end of the day in local time (UTC-5 by default) for the given date.
3
+ * @returns {{ start: Date; end: Date }} An object with `start` and `end` Date properties.
4
+ */
5
+ export class UtilDateRange {
6
+ private readonly date: Date
7
+
8
+ /**
9
+ *
10
+ * @param date
11
+ * @returns UtilDateRange instance
12
+ */
13
+ constructor(date: Date | string | number = new Date()) {
14
+ this.date = new Date(date) // Asegura que sea un objeto Date
15
+ }
16
+
17
+ /**
18
+ *
19
+ * @param date
20
+ * @returns Date ajustada a la zona horaria local (UTC-5)
21
+ */
22
+ private toLocalTime(date: Date | string | number): Date {
23
+ const offset = -5 // UTC-5 (ajustar si es necesario)
24
+ const localDate = new Date(date)
25
+ localDate.setHours(localDate.getHours() + offset)
26
+ return localDate
27
+ }
28
+
29
+ /**
30
+ * @returns Date al inicio del día (00:00:00.000) en hora local
31
+ */
32
+ getStartOfDay(): Date {
33
+ const localDate = this.toLocalTime(this.date)
34
+ localDate.setHours(0, 0, 0, 0)
35
+ return localDate
36
+ }
37
+
38
+ /**
39
+ * @returns Date al final del día (23:59:59.999) en hora local
40
+ */
41
+ getEndOfDay(): Date {
42
+ const localDate = this.toLocalTime(this.date)
43
+ localDate.setHours(23, 59, 59, 999)
44
+ return localDate
45
+ }
46
+
47
+ /**
48
+ * @returns {{ start: Date; end: Date }} Objeto con las fechas de inicio y fin del día en hora local
49
+ */
50
+ getRange(): { start: Date; end: Date } {
51
+ return {
52
+ start: this.getStartOfDay(),
53
+ end: this.getEndOfDay()
54
+ }
55
+ }
56
+ }
@@ -0,0 +1,222 @@
1
+ // ticket-generator.ts
2
+ /**
3
+ * Ticket generator for POS systems.
4
+ * - Provides numeric and alphanumeric strategies.
5
+ * - Supports prefix, timestamp embedding, synchronous generation and async uniqueness check.
6
+ *
7
+ * JSDoc comments are in English as requested.
8
+ */
9
+
10
+ type Strategy = 'alphanumeric' | 'numeric';
11
+
12
+ export interface TicketConfig {
13
+ /** Total length of the generated code excluding prefix. Minimum 4. */
14
+ length?: number;
15
+ /** Strategy: 'alphanumeric' | 'numeric' */
16
+ strategy?: Strategy;
17
+ /** Optional human-readable prefix (e.g. 'TKT-', 'POS1-') */
18
+ prefix?: string;
19
+ /** If true, embed a short timestamp chunk (base36) at start of payload */
20
+ timestamp?: boolean;
21
+ /** Maximum attempts for uniqueness check when using generateUniqueAsync */
22
+ maxAttempts?: number;
23
+ /** Padding char for numeric sequences (only used if `useSequential` provided) */
24
+ padChar?: string;
25
+ }
26
+
27
+ /**
28
+ * Result returned by generators.
29
+ */
30
+ export type TicketResult =
31
+ | { success: true; code: string; error?: undefined }
32
+ | { success: false; error: string; code?: string };
33
+
34
+ /**
35
+ * Async uniqueness checker signature.
36
+ * Implement with DB query that returns true if code is unique (not found).
37
+ */
38
+ export type IsUniqueFn = (code: string) => Promise<boolean>;
39
+
40
+ /* -------------------- Implementation -------------------- */
41
+
42
+ /**
43
+ * Secure random integer in [0, max)
44
+ * @param max
45
+ * @returns random integer in [0, max)
46
+ */
47
+ const secureRandomInt = (max: number): number => {
48
+ if (typeof crypto !== 'undefined' && typeof (crypto as any).getRandomValues === 'function') {
49
+ // browser
50
+ const arr = new Uint32Array(1);
51
+ (crypto as any).getRandomValues(arr)
52
+ return arr[0] % max
53
+ }
54
+ try {
55
+ // node
56
+
57
+ const nodeCrypto = require('crypto')
58
+ const buf = nodeCrypto.randomBytes(4)
59
+ const val = buf.readUInt32BE(0)
60
+ return val % max
61
+ } catch {
62
+ // fallback (less secure)
63
+ return Math.floor(Math.random() * max)
64
+ }
65
+ }
66
+
67
+ /**
68
+ * Build a random string from charset.
69
+ * @param length
70
+ * @param charset
71
+ */
72
+ const randomFromCharset = (length: number, charset: string): string => {
73
+ const out: string[] = []
74
+ const m = charset.length
75
+ for (let i = 0; i < length; i += 1) {
76
+ out.push(charset[secureRandomInt(m)])
77
+ }
78
+ return out.join('')
79
+ }
80
+
81
+ /**
82
+ * Short fixed-size timestamp chunk that respects strategy.
83
+ * - For 'numeric' returns decimal digits (zero-padded).
84
+ * - For 'alphanumeric' returns base36 chars.
85
+ *
86
+ * @param strategy generation strategy
87
+ * @param size chunk length (default 4)
88
+ * @returns timestamp chunk string of length `size`
89
+ */
90
+ const timestampChunk = (strategy: Strategy, size = 4): string => {
91
+ const now = Date.now()
92
+ if (strategy === 'numeric') {
93
+ const mod = Math.pow(10, size)
94
+ const n = (now % mod).toString().padStart(size, '0')
95
+ return n
96
+ }
97
+ // alphanumeric: compact base36 slice (keeps letters & digits)
98
+ return now.toString(36).slice(-size).padStart(size, '0')
99
+ }
100
+
101
+ /**
102
+ * Validate config and return normalized defaults or error string.
103
+ * @param cfg
104
+ */
105
+ const normalizeConfig = (cfg?: TicketConfig): { cfg?: Required<TicketConfig>; error?: string } => {
106
+ const defaultCfg: Required<TicketConfig> = {
107
+ length: 10,
108
+ strategy: 'alphanumeric',
109
+ prefix: '',
110
+ timestamp: false,
111
+ maxAttempts: 5,
112
+ padChar: '0'
113
+ }
114
+
115
+ if (!cfg) return { cfg: defaultCfg }
116
+
117
+ const merged = { ...defaultCfg, ...cfg }
118
+
119
+ if (!Number.isInteger(merged.length) || merged.length < 4) {
120
+ return { error: 'length must be an integer >= 4' }
121
+ }
122
+
123
+ if (!['alphanumeric', 'numeric'].includes(merged.strategy)) {
124
+ return { error: "strategy must be 'alphanumeric' or 'numeric'" }
125
+ }
126
+
127
+ if (typeof merged.prefix !== 'string' || /[^A-Za-z0-9-_]/.test(merged.prefix)) {
128
+ return { error: 'prefix must be alphanumeric, dash or underscore only' }
129
+ }
130
+
131
+ if (typeof merged.maxAttempts !== 'number' || merged.maxAttempts < 1) {
132
+ merged.maxAttempts = defaultCfg.maxAttempts
133
+ }
134
+
135
+ if (typeof merged.padChar !== 'string' || merged.padChar.length !== 1) {
136
+ merged.padChar = defaultCfg.padChar
137
+ }
138
+
139
+ return { cfg: merged }
140
+ }
141
+
142
+ /**
143
+ * Generate a ticket code (synchronous, no uniqueness guarantee).
144
+ * Use generateUniqueAsync if you need persistence-level uniqueness.
145
+ *
146
+ * @param config Ticket generation options
147
+ * @returns TicketResult with code or error
148
+ */
149
+ export const generateTicket = (config?: TicketConfig): TicketResult => {
150
+ const normalized = normalizeConfig(config)
151
+ if (normalized.error) return { success: false, error: normalized.error }
152
+ const cfg = normalized.cfg!
153
+
154
+ const payloadLen = cfg.length
155
+ const prefix = cfg.prefix || ''
156
+
157
+ // decide charset
158
+ const numericCharset = '0123456789'
159
+ const alphaNumCharset = 'ABCDEFGHJKLMNPQRSTUVWXYZabcdefghijkmnopqrstuvwxyz0123456789' // removed O/0/l for readability
160
+ const charset = cfg.strategy === 'numeric' ? numericCharset : alphaNumCharset
161
+
162
+ // prepare timestamp chunk if requested (keep it short and strategy-aware)
163
+ const ts = cfg.timestamp ? timestampChunk(cfg.strategy, 4) : ''
164
+
165
+
166
+ // calc remaining length for random part
167
+ const remaining = payloadLen - ts.length
168
+ if (remaining < 1) return { success: false, error: 'length too small for timestamp embedding' }
169
+
170
+ const randomPart = randomFromCharset(remaining, charset)
171
+
172
+ const code = `${prefix}${ts}${randomPart}`
173
+ return { success: true, code }
174
+ }
175
+
176
+ /**
177
+ * Generate a ticket code with uniqueness guarantee using an async uniqueness checker.
178
+ * Tries up to config.maxAttempts times.
179
+ *
180
+ * @param isUnique Async function that returns true if code is unique (not present)
181
+ * @param config Ticket generation options
182
+ * @returns TicketResult with unique code or error
183
+ */
184
+ export const generateUniqueAsync = async (isUnique: IsUniqueFn, config?: TicketConfig): Promise<TicketResult> => {
185
+ const normalized = normalizeConfig(config)
186
+ if (normalized.error) return { success: false, error: normalized.error }
187
+ const cfg = normalized.cfg!
188
+
189
+ for (let attempt = 1; attempt <= cfg.maxAttempts; attempt += 1) {
190
+ const candidateRes = generateTicket(cfg)
191
+ if (!candidateRes.success) return candidateRes
192
+
193
+ const candidate = candidateRes.code
194
+ try {
195
+ const unique = await isUnique(candidate)
196
+ if (unique) return { success: true, code: candidate }
197
+ // else collision -> retry
198
+ } catch (err) {
199
+ return { success: false, error: `isUnique function threw: ${(err as Error).message}` }
200
+ }
201
+ }
202
+
203
+ return { success: false, error: 'unable to generate unique ticket after max attempts' }
204
+ }
205
+
206
+ /* -------------------- Example usage -------------------- */
207
+
208
+ /*
209
+ Example (sync):
210
+ const res = generateTicket({ length: 8, strategy: 'numeric', prefix: 'T-', timestamp: true });
211
+ if (!res.success) console.error(res.error);
212
+ else console.log('Ticket:', res.code);
213
+
214
+ Example (async uniqueness check, e.g. DB):
215
+ const isUniqueInDb = async (code: string) => {
216
+ // query DB to see if code exists; return true if NOT exist
217
+ return !(await db.exists({ ticketCode: code }));
218
+ };
219
+ const unique = await generateUniqueAsync(isUniqueInDb, { length: 10, strategy: 'alphanumeric', prefix: 'POS1-', timestamp: true });
220
+ if (unique.success) console.log('Unique ticket:', unique.code);
221
+ else console.error('Error generating unique:', unique.error);
222
+ */
@@ -0,0 +1,2 @@
1
+ export * from './UtilDateRange'
2
+ export * from './utils'