polpo 0.1.6 → 0.1.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 (366) hide show
  1. package/dist/components.cjs +31 -0
  2. package/dist/components.cjs.map +1 -0
  3. package/dist/components.d.cts +1866 -0
  4. package/dist/components.d.ts +1866 -0
  5. package/dist/components.js +31 -0
  6. package/dist/components.js.map +1 -0
  7. package/dist/{get-modal-position-drle0OjP.d.cts → get-modal-position-C5jQsaGx.d.cts} +1 -1
  8. package/dist/{get-modal-position-drle0OjP.d.ts → get-modal-position-C5jQsaGx.d.ts} +1 -1
  9. package/dist/helpers.cjs +1 -1
  10. package/dist/helpers.cjs.map +1 -1
  11. package/dist/helpers.d.cts +2 -2
  12. package/dist/helpers.d.ts +2 -2
  13. package/dist/helpers.js +1 -1
  14. package/dist/helpers.js.map +1 -1
  15. package/dist/hooks.cjs +1 -1
  16. package/dist/hooks.cjs.map +1 -1
  17. package/dist/hooks.d.cts +15 -13
  18. package/dist/hooks.d.ts +15 -13
  19. package/dist/hooks.js +1 -1
  20. package/dist/hooks.js.map +1 -1
  21. package/dist/layouts.cjs +4 -0
  22. package/dist/layouts.cjs.map +1 -0
  23. package/dist/{ui.d.cts → layouts.d.cts} +237 -2133
  24. package/dist/{ui.d.ts → layouts.d.ts} +237 -2133
  25. package/dist/layouts.js +4 -0
  26. package/dist/layouts.js.map +1 -0
  27. package/dist/types.cjs +3 -0
  28. package/dist/types.cjs.map +1 -0
  29. package/dist/types.d.cts +8 -0
  30. package/dist/types.d.ts +8 -0
  31. package/dist/types.js +2 -0
  32. package/dist/types.js.map +1 -0
  33. package/dist/use-modal-transition-C0lyjvkD.d.ts +29 -0
  34. package/dist/use-modal-transition-C7DzbnY5.d.cts +29 -0
  35. package/package.json +76 -76
  36. package/.eslintrc.cjs +0 -9
  37. package/.storybook/decorators.tsx +0 -61
  38. package/.storybook/main.ts +0 -47
  39. package/.storybook/manager-head.html +0 -2
  40. package/.storybook/manager.ts +0 -7
  41. package/.storybook/preview-head.html +0 -2
  42. package/.storybook/preview.ts +0 -38
  43. package/.storybook/theme.ts +0 -47
  44. package/.turbo/turbo-lint.log +0 -4
  45. package/README.md +0 -65
  46. package/dist/chunk-LJM5NQBY.js +0 -3
  47. package/dist/chunk-LJM5NQBY.js.map +0 -1
  48. package/dist/chunk-MAWW6AA7.js +0 -3
  49. package/dist/chunk-MAWW6AA7.js.map +0 -1
  50. package/dist/ui.cjs +0 -2197
  51. package/dist/ui.cjs.map +0 -1
  52. package/dist/ui.js +0 -2197
  53. package/dist/ui.js.map +0 -1
  54. package/dist/use-modal-transition-C6mR_NZh.d.cts +0 -32
  55. package/dist/use-modal-transition-DBAyFSqW.d.ts +0 -32
  56. package/src/components/accordion/accordion-item.stories.tsx +0 -128
  57. package/src/components/accordion/accordion-item.tsx +0 -119
  58. package/src/components/accordion/accordion.stories.tsx +0 -74
  59. package/src/components/accordion/accordion.style.ts +0 -42
  60. package/src/components/accordion/accordion.tsx +0 -56
  61. package/src/components/accordion/index.ts +0 -2
  62. package/src/components/buttons/button/button.stories.tsx +0 -103
  63. package/src/components/buttons/button/button.style.ts +0 -152
  64. package/src/components/buttons/button/button.tsx +0 -107
  65. package/src/components/buttons/button/index.ts +0 -1
  66. package/src/components/buttons/index.ts +0 -1
  67. package/src/components/cards/flip-card/flip-card.stories.tsx +0 -61
  68. package/src/components/cards/flip-card/flip-card.style.ts +0 -45
  69. package/src/components/cards/flip-card/flip-card.tsx +0 -55
  70. package/src/components/cards/flip-card/index.ts +0 -1
  71. package/src/components/cards/hover-card/hover-card.stories.tsx +0 -45
  72. package/src/components/cards/hover-card/hover-card.style.ts +0 -13
  73. package/src/components/cards/hover-card/hover-card.tsx +0 -71
  74. package/src/components/cards/hover-card/index.ts +0 -1
  75. package/src/components/cards/index.ts +0 -3
  76. package/src/components/cards/slide-card/index.ts +0 -1
  77. package/src/components/cards/slide-card/slide-card.stories.tsx +0 -47
  78. package/src/components/cards/slide-card/slide-card.tsx +0 -42
  79. package/src/components/cursor/cursor.stories.tsx +0 -36
  80. package/src/components/cursor/cursor.style.ts +0 -73
  81. package/src/components/cursor/cursor.tsx +0 -49
  82. package/src/components/cursor/index.ts +0 -1
  83. package/src/components/form/checkbox/checkbox.stories.tsx +0 -84
  84. package/src/components/form/checkbox/checkbox.style.ts +0 -109
  85. package/src/components/form/checkbox/checkbox.tsx +0 -110
  86. package/src/components/form/checkbox/index.ts +0 -1
  87. package/src/components/form/controller/controller.tsx +0 -42
  88. package/src/components/form/controller/index.ts +0 -1
  89. package/src/components/form/date-picker/date-picker.stories.tsx +0 -38
  90. package/src/components/form/date-picker/date-picker.tsx +0 -67
  91. package/src/components/form/date-picker/index.ts +0 -1
  92. package/src/components/form/field/field.stories.tsx +0 -52
  93. package/src/components/form/field/field.style.ts +0 -91
  94. package/src/components/form/field/field.tsx +0 -85
  95. package/src/components/form/field/field.types.ts +0 -34
  96. package/src/components/form/field/index.ts +0 -2
  97. package/src/components/form/form.stories.types.tsx +0 -50
  98. package/src/components/form/form.types.ts +0 -37
  99. package/src/components/form/index.ts +0 -14
  100. package/src/components/form/input/index.ts +0 -1
  101. package/src/components/form/input/input.stories.tsx +0 -41
  102. package/src/components/form/input/input.tsx +0 -73
  103. package/src/components/form/input-color/index.ts +0 -1
  104. package/src/components/form/input-color/input-color.stories.tsx +0 -46
  105. package/src/components/form/input-color/input-color.style.ts +0 -94
  106. package/src/components/form/input-color/input-color.tsx +0 -162
  107. package/src/components/form/input-file/index.ts +0 -1
  108. package/src/components/form/input-file/input-file.stories.tsx +0 -40
  109. package/src/components/form/input-file/input-file.style.ts +0 -143
  110. package/src/components/form/input-file/input-file.tsx +0 -214
  111. package/src/components/form/input-password/index.ts +0 -1
  112. package/src/components/form/input-password/input-password.stories.tsx +0 -37
  113. package/src/components/form/input-password/input-password.tsx +0 -83
  114. package/src/components/form/radio/index.ts +0 -1
  115. package/src/components/form/radio/radio.stories.tsx +0 -67
  116. package/src/components/form/radio/radio.style.ts +0 -79
  117. package/src/components/form/radio/radio.tsx +0 -95
  118. package/src/components/form/select/index.ts +0 -1
  119. package/src/components/form/select/options.tsx +0 -203
  120. package/src/components/form/select/select.stories.tsx +0 -150
  121. package/src/components/form/select/select.style.ts +0 -82
  122. package/src/components/form/select/select.tsx +0 -304
  123. package/src/components/form/select/select.types.ts +0 -76
  124. package/src/components/form/slider/index.ts +0 -1
  125. package/src/components/form/slider/slider.stories.tsx +0 -40
  126. package/src/components/form/slider/slider.style.ts +0 -92
  127. package/src/components/form/slider/slider.tsx +0 -108
  128. package/src/components/form/switch/index.ts +0 -1
  129. package/src/components/form/switch/switch.stories.tsx +0 -38
  130. package/src/components/form/switch/switch.style.ts +0 -120
  131. package/src/components/form/switch/switch.tsx +0 -111
  132. package/src/components/form/textarea/index.ts +0 -1
  133. package/src/components/form/textarea/textarea.stories.tsx +0 -43
  134. package/src/components/form/textarea/textarea.style.ts +0 -7
  135. package/src/components/form/textarea/textarea.tsx +0 -76
  136. package/src/components/icon/icon.stories.tsx +0 -63
  137. package/src/components/icon/icon.tsx +0 -64
  138. package/src/components/icon/icons/index.ts +0 -18
  139. package/src/components/icon/icons/object.tsx +0 -482
  140. package/src/components/icon/icons/social.tsx +0 -88
  141. package/src/components/icon/icons/symbol.tsx +0 -776
  142. package/src/components/icon/index.ts +0 -5
  143. package/src/components/image/image.stories.tsx +0 -25
  144. package/src/components/image/image.tsx +0 -7
  145. package/src/components/image/index.ts +0 -1
  146. package/src/components/index.ts +0 -17
  147. package/src/components/infinity-scroll/index.ts +0 -1
  148. package/src/components/infinity-scroll/infinity-scroll.stories.tsx +0 -75
  149. package/src/components/infinity-scroll/infinity-scroll.style.ts +0 -30
  150. package/src/components/infinity-scroll/infinity-scroll.tsx +0 -56
  151. package/src/components/line/index.ts +0 -1
  152. package/src/components/line/line.stories.tsx +0 -66
  153. package/src/components/line/line.style.ts +0 -57
  154. package/src/components/line/line.tsx +0 -76
  155. package/src/components/loaders/index.ts +0 -1
  156. package/src/components/loaders/simple-loader/index.ts +0 -1
  157. package/src/components/loaders/simple-loader/simple-loader.stories.tsx +0 -21
  158. package/src/components/loaders/simple-loader/simple-loader.style.ts +0 -13
  159. package/src/components/loaders/simple-loader/simple-loader.tsx +0 -15
  160. package/src/components/modals/action-modal/action-modal.stories.tsx +0 -157
  161. package/src/components/modals/action-modal/action-modal.style.ts +0 -117
  162. package/src/components/modals/action-modal/action-modal.tsx +0 -148
  163. package/src/components/modals/action-modal/index.ts +0 -1
  164. package/src/components/modals/aside-modal/aside-modal.stories.tsx +0 -81
  165. package/src/components/modals/aside-modal/aside-modal.style.ts +0 -88
  166. package/src/components/modals/aside-modal/aside-modal.tsx +0 -64
  167. package/src/components/modals/aside-modal/index.ts +0 -1
  168. package/src/components/modals/confirmation-modal/confirmation-modal.stories.tsx +0 -62
  169. package/src/components/modals/confirmation-modal/confirmation-modal.style.ts +0 -17
  170. package/src/components/modals/confirmation-modal/confirmation-modal.tsx +0 -43
  171. package/src/components/modals/confirmation-modal/index.ts +0 -1
  172. package/src/components/modals/index.ts +0 -6
  173. package/src/components/modals/menu/index.ts +0 -1
  174. package/src/components/modals/menu/menu.stories.tsx +0 -69
  175. package/src/components/modals/menu/menu.style.ts +0 -62
  176. package/src/components/modals/menu/menu.tsx +0 -144
  177. package/src/components/modals/modal/backdrop.tsx +0 -70
  178. package/src/components/modals/modal/index.ts +0 -2
  179. package/src/components/modals/modal/modal.stories.tsx +0 -328
  180. package/src/components/modals/modal/modal.style.ts +0 -70
  181. package/src/components/modals/modal/modal.tsx +0 -96
  182. package/src/components/modals/portal/index.ts +0 -1
  183. package/src/components/modals/portal/portal.tsx +0 -21
  184. package/src/components/ripple/index.ts +0 -1
  185. package/src/components/ripple/ripple.stories.tsx +0 -38
  186. package/src/components/ripple/ripple.style.ts +0 -33
  187. package/src/components/ripple/ripple.tsx +0 -63
  188. package/src/components/smart-table/index.ts +0 -1
  189. package/src/components/smart-table/smart-table.column.tsx +0 -63
  190. package/src/components/smart-table/smart-table.helpers.tsx +0 -59
  191. package/src/components/smart-table/smart-table.hooks.ts +0 -27
  192. package/src/components/smart-table/smart-table.row.tsx +0 -29
  193. package/src/components/smart-table/smart-table.stories.tsx +0 -301
  194. package/src/components/smart-table/smart-table.style.ts +0 -102
  195. package/src/components/smart-table/smart-table.tsx +0 -112
  196. package/src/components/smart-table/smart-table.types.ts +0 -41
  197. package/src/components/tabs/index.ts +0 -1
  198. package/src/components/tabs/tabs-container.stories.tsx +0 -159
  199. package/src/components/tabs/tabs-list.tsx +0 -134
  200. package/src/components/tabs/tabs.stories.tsx +0 -68
  201. package/src/components/tabs/tabs.style.ts +0 -137
  202. package/src/components/tabs/tabs.tsx +0 -117
  203. package/src/components/tag/index.ts +0 -1
  204. package/src/components/tag/tag.stories.tsx +0 -48
  205. package/src/components/tag/tag.style.ts +0 -29
  206. package/src/components/tag/tag.tsx +0 -34
  207. package/src/components/tooltips/click-to-copy/click-to-copy.stories.tsx +0 -39
  208. package/src/components/tooltips/click-to-copy/click-to-copy.tsx +0 -41
  209. package/src/components/tooltips/click-to-copy/index.ts +0 -1
  210. package/src/components/tooltips/index.ts +0 -2
  211. package/src/components/tooltips/tooltip/index.ts +0 -1
  212. package/src/components/tooltips/tooltip/tooltip.stories.tsx +0 -38
  213. package/src/components/tooltips/tooltip/tooltip.style.ts +0 -93
  214. package/src/components/tooltips/tooltip/tooltip.tsx +0 -59
  215. package/src/components/typography/index.ts +0 -2
  216. package/src/components/typography/typography.constants.ts +0 -43
  217. package/src/components/typography/typography.stories.tsx +0 -108
  218. package/src/components/typography/typography.style.ts +0 -76
  219. package/src/components/typography/typography.tsx +0 -100
  220. package/src/contexts/fetch-context/fetch-context.tsx +0 -114
  221. package/src/contexts/fetch-context/index.ts +0 -1
  222. package/src/contexts/form-context/form-context.tsx +0 -43
  223. package/src/contexts/form-context/index.ts +0 -1
  224. package/src/contexts/index.ts +0 -3
  225. package/src/contexts/theme-context/index.ts +0 -3
  226. package/src/contexts/theme-context/theme-context.tsx +0 -158
  227. package/src/contexts/theme-context/theme.animations.ts +0 -269
  228. package/src/contexts/theme-context/theme.defaults.ts +0 -205
  229. package/src/contexts/theme-context/theme.style.ts +0 -78
  230. package/src/contexts/theme-context/themes.ts +0 -96
  231. package/src/core/http-client.d.ts +0 -11
  232. package/src/core/http-client.d.ts.map +0 -1
  233. package/src/core/http-client.ts +0 -49
  234. package/src/core/index.d.ts +0 -2
  235. package/src/core/index.d.ts.map +0 -1
  236. package/src/core/index.ts +0 -1
  237. package/src/core/variants/color.ts +0 -9
  238. package/src/core/variants/index.ts +0 -3
  239. package/src/core/variants/radius.ts +0 -27
  240. package/src/core/variants/size.ts +0 -19
  241. package/src/helpers/format-bytes.ts +0 -11
  242. package/src/helpers/format-dates.ts +0 -11
  243. package/src/helpers/get-modal-position-relative-to-screen.ts +0 -86
  244. package/src/helpers/get-modal-position.ts +0 -211
  245. package/src/helpers/index.ts +0 -5
  246. package/src/helpers/text/index.ts +0 -1
  247. package/src/helpers/text/to-capitalize.ts +0 -17
  248. package/src/hooks/index.ts +0 -29
  249. package/src/hooks/use-async.ts +0 -88
  250. package/src/hooks/use-classnames.ts +0 -13
  251. package/src/hooks/use-click-outside.ts +0 -32
  252. package/src/hooks/use-constant.ts +0 -3
  253. package/src/hooks/use-cookie.ts +0 -124
  254. package/src/hooks/use-debounce.ts +0 -15
  255. package/src/hooks/use-dimensions.ts +0 -19
  256. package/src/hooks/use-dom-container.ts +0 -35
  257. package/src/hooks/use-event-listener.ts +0 -71
  258. package/src/hooks/use-file-reader.ts +0 -69
  259. package/src/hooks/use-geolocation.ts +0 -63
  260. package/src/hooks/use-hover.ts +0 -17
  261. package/src/hooks/use-in-view.ts +0 -18
  262. package/src/hooks/use-input-handlers.ts +0 -49
  263. package/src/hooks/use-intersection-observer.ts +0 -19
  264. package/src/hooks/use-media-query.ts +0 -25
  265. package/src/hooks/use-modal-in-container.ts +0 -96
  266. package/src/hooks/use-modal-transition.ts +0 -66
  267. package/src/hooks/use-modal.ts +0 -21
  268. package/src/hooks/use-mouse-position.ts +0 -64
  269. package/src/hooks/use-online-status.ts +0 -12
  270. package/src/hooks/use-render-count.ts +0 -11
  271. package/src/hooks/use-resize-observer.ts +0 -18
  272. package/src/hooks/use-safe-dispatch.ts +0 -22
  273. package/src/hooks/use-scroll.ts +0 -31
  274. package/src/hooks/use-state-history.ts +0 -22
  275. package/src/hooks/use-toggle-values.ts +0 -14
  276. package/src/hooks/use-toggle.ts +0 -11
  277. package/src/hooks/use-viewport.ts +0 -38
  278. package/src/index.ts +0 -5
  279. package/src/layouts/flex/flex.tsx +0 -75
  280. package/src/layouts/flex/index.ts +0 -1
  281. package/src/layouts/grid/grid.tsx +0 -86
  282. package/src/layouts/grid/index.ts +0 -1
  283. package/src/layouts/index.ts +0 -3
  284. package/src/layouts/section-layout/index.ts +0 -1
  285. package/src/layouts/section-layout/section-layout.stories.tsx +0 -55
  286. package/src/layouts/section-layout/section-layout.style.ts +0 -21
  287. package/src/layouts/section-layout/section-layout.tsx +0 -46
  288. package/src/stories/GettingStarted.mdx +0 -62
  289. package/src/types/generics.ts +0 -68
  290. package/src/types/index.ts +0 -1
  291. package/svg/Name=airplane, Category=object.svg +0 -3
  292. package/svg/Name=arrow-circle, Category=symbol.svg +0 -3
  293. package/svg/Name=arrow-down, Category=symbol.svg +0 -3
  294. package/svg/Name=arrow-left, Category=symbol.svg +0 -3
  295. package/svg/Name=arrow-right, Category=symbol.svg +0 -3
  296. package/svg/Name=arrow-up, Category=symbol.svg +0 -3
  297. package/svg/Name=bell, Category=object.svg +0 -3
  298. package/svg/Name=bicycle, Category=object.svg +0 -3
  299. package/svg/Name=book-open, Category=object.svg +0 -3
  300. package/svg/Name=book-solid, Category=object.svg +0 -6
  301. package/svg/Name=box-shadow, Category=symbol.svg +0 -5
  302. package/svg/Name=calendar, Category=object.svg +0 -3
  303. package/svg/Name=camera, Category=object.svg +0 -3
  304. package/svg/Name=caret-down, Category=symbol.svg +0 -3
  305. package/svg/Name=caret-left, Category=symbol.svg +0 -3
  306. package/svg/Name=caret-right, Category=symbol.svg +0 -3
  307. package/svg/Name=caret-up, Category=symbol.svg +0 -3
  308. package/svg/Name=checkmark, Category=symbol.svg +0 -3
  309. package/svg/Name=clean-computer, Category=object.svg +0 -10
  310. package/svg/Name=codepen, Category=social.svg +0 -3
  311. package/svg/Name=creative, Category=symbol.svg +0 -5
  312. package/svg/Name=cross, Category=symbol.svg +0 -4
  313. package/svg/Name=crossed-flags, Category=object.svg +0 -4
  314. package/svg/Name=cv, Category=symbol.svg +0 -5
  315. package/svg/Name=design-ui, Category=symbol.svg +0 -9
  316. package/svg/Name=document, Category=object.svg +0 -3
  317. package/svg/Name=door-closed, Category=object.svg +0 -3
  318. package/svg/Name=door-open, Category=object.svg +0 -3
  319. package/svg/Name=double-caret-down, Category=symbol.svg +0 -4
  320. package/svg/Name=double-caret-left, Category=symbol.svg +0 -4
  321. package/svg/Name=double-caret-righ, Category=symbol.svg +0 -4
  322. package/svg/Name=double-caret-up, Category=symbol.svg +0 -4
  323. package/svg/Name=download, Category=symbol.svg +0 -5
  324. package/svg/Name=dropper, Category=object.svg +0 -5
  325. package/svg/Name=envelope, Category=object.svg +0 -3
  326. package/svg/Name=exclamation-close, Category=symbol.svg +0 -4
  327. package/svg/Name=exclamation-open, Category=symbol.svg +0 -4
  328. package/svg/Name=external-link, Category=symbol.svg +0 -3
  329. package/svg/Name=eye, Category=object.svg +0 -4
  330. package/svg/Name=eye-hidden, Category=object.svg +0 -7
  331. package/svg/Name=facebook, Category=social.svg +0 -3
  332. package/svg/Name=form, Category=symbol.svg +0 -8
  333. package/svg/Name=game-control, Category=object.svg +0 -3
  334. package/svg/Name=gear, Category=object.svg +0 -3
  335. package/svg/Name=github, Category=social.svg +0 -3
  336. package/svg/Name=house, Category=object.svg +0 -3
  337. package/svg/Name=hyphen, Category=symbol.svg +0 -3
  338. package/svg/Name=info, Category=symbol.svg +0 -3
  339. package/svg/Name=instagram, Category=social.svg +0 -3
  340. package/svg/Name=link, Category=symbol.svg +0 -5
  341. package/svg/Name=linkedin, Category=social.svg +0 -3
  342. package/svg/Name=magnifying-glass, Category=object.svg +0 -3
  343. package/svg/Name=message, Category=symbol.svg +0 -4
  344. package/svg/Name=moon, Category=object.svg +0 -5
  345. package/svg/Name=npm, Category=social.svg +0 -3
  346. package/svg/Name=order-list, Category=symbol.svg +0 -7
  347. package/svg/Name=pencil, Category=object.svg +0 -3
  348. package/svg/Name=pin-location, Category=symbol.svg +0 -3
  349. package/svg/Name=question-mark-close, Category=symbol.svg +0 -3
  350. package/svg/Name=question-mark-open, Category=symbol.svg +0 -3
  351. package/svg/Name=share, Category=symbol.svg +0 -5
  352. package/svg/Name=spinner, Category=symbol.svg +0 -9
  353. package/svg/Name=star, Category=object.svg +0 -3
  354. package/svg/Name=star-empty, Category=object.svg +0 -3
  355. package/svg/Name=sun, Category=object.svg +0 -11
  356. package/svg/Name=text-shadow, Category=symbol.svg +0 -4
  357. package/svg/Name=thinking, Category=symbol.svg +0 -3
  358. package/svg/Name=trash-can, Category=object.svg +0 -4
  359. package/svg/Name=upload, Category=symbol.svg +0 -5
  360. package/svg/Name=user, Category=symbol.svg +0 -4
  361. package/svg/Name=warning, Category=symbol.svg +0 -5
  362. package/svg/Name=whatsapp, Category=social.svg +0 -3
  363. package/svgconfig.json +0 -4
  364. package/tsconfig.json +0 -14
  365. package/tsup.config.cjs +0 -21
  366. package/vite.config.ts +0 -14
@@ -46,4 +46,4 @@ type getModalPositionRelativeToContainerParams = GetModalPositionParams & {
46
46
  };
47
47
  declare const getModalPositionRelativeToContainer: ({ c, m, offset, windowOffset, position, }: getModalPositionRelativeToContainerParams) => Record<string, string>;
48
48
 
49
- export { type GetModalPositionParams as G, type ModalPosition as M, PositionContainer as P, type PositionObject as a, getOppositePosition as b, getModalPositionRelativeToContainer as c, fixModalPosition as f, getModalPosition as g };
49
+ export { type GetModalPositionParams as G, type ModalPosition as M, PositionContainer as P, type PositionObject as a, getModalPositionRelativeToContainer as b, getOppositePosition as c, fixModalPosition as f, getModalPosition as g };
@@ -46,4 +46,4 @@ type getModalPositionRelativeToContainerParams = GetModalPositionParams & {
46
46
  };
47
47
  declare const getModalPositionRelativeToContainer: ({ c, m, offset, windowOffset, position, }: getModalPositionRelativeToContainerParams) => Record<string, string>;
48
48
 
49
- export { type GetModalPositionParams as G, type ModalPosition as M, PositionContainer as P, type PositionObject as a, getOppositePosition as b, getModalPositionRelativeToContainer as c, fixModalPosition as f, getModalPosition as g };
49
+ export { type GetModalPositionParams as G, type ModalPosition as M, PositionContainer as P, type PositionObject as a, getModalPositionRelativeToContainer as b, getOppositePosition as c, fixModalPosition as f, getModalPosition as g };
package/dist/helpers.cjs CHANGED
@@ -1,3 +1,3 @@
1
1
  "use client";
2
- "use strict";var u=Object.create;var l=Object.defineProperty;var R=Object.getOwnPropertyDescriptor;var b=Object.getOwnPropertyNames;var c=Object.getPrototypeOf,C=Object.prototype.hasOwnProperty;var _=(t,o)=>{for(var e in o)l(t,e,{get:o[e],enumerable:!0})},E=(t,o,e,a)=>{if(o&&typeof o=="object"||typeof o=="function")for(let r of b(o))!C.call(t,r)&&r!==e&&l(t,r,{get:()=>o[r],enumerable:!(a=R(o,r))||a.enumerable});return t};var B=(t,o,e)=>(e=t!=null?u(c(t)):{},E(o||!t||!t.__esModule?l(e,"default",{value:t,enumerable:!0}):e,t)),g=t=>E(l({},"__esModule",{value:!0}),t);var N={};_(N,{PositionContainer:()=>h,fixModalPosition:()=>m,formatBytes:()=>G,formatDate:()=>y,getModalPosition:()=>x,getModalPositionRelativeToContainer:()=>H,getModalPositionRelativeToScreen:()=>I,getOppositePosition:()=>M,timeBetween:()=>F,toCapitalize:()=>L});module.exports=g(N);var G=(t,o=2)=>{if(t===0)return"0 Bytes";let e=1e3,a=o<0?0:o,r=["Bytes","KB","MB","GB","TB","PB","EB","ZB","YB"],n=Math.floor(Math.log(t)/Math.log(e));return parseFloat((t/Math.pow(e,n)).toFixed(a))+" "+r[n]};var O=B(require("moment/moment"),1),y=t=>Date.parse(t)?(0,O.default)(t,"YYYY-MM-DD").format("MMM YYYY"):t,F=(t,o)=>{let e=(0,O.default)(t);return Date.parse(o)?(0,O.default)(o).from(e,!0):e.fromNow()};var h=(i=>(i.CENTER="center",i.TOP="top",i.TOP_LEFT="top left",i.TOP_RIGHT="top right",i.TOP_CENTER="top center",i.LEFT="left",i.LEFT_TOP="left top",i.LEFT_BOTTOM="left bottom",i.LEFT_CENTER="left center",i.RIGHT="right",i.RIGHT_TOP="right top",i.RIGHT_BOTTOM="right bottom",i.RIGHT_CENTER="right center",i.BOTTOM="bottom",i.BOTTOM_LEFT="bottom left",i.BOTTOM_RIGHT="bottom right",i.BOTTOM_CENTER="bottom center",i))(h||{}),x=({c:t,m:o,offset:e,position:a})=>{let r=t.y+t.h+e,n=t.x-(o.w-t.w)*(50/100);switch(a){case"top":case"top center":r=t.y-o.h-e,n=t.x-(o.w-t.w)/2;break;case"top left":r=t.y-o.h-e,n=t.x-o.w+t.w;break;case"top right":r=t.y-o.h-e,n=t.x;break;case"bottom":case"bottom center":r=t.y+t.h+e,n=t.x-(o.w-t.w)/2;break;case"bottom left":r=t.y+t.h+e,n=t.x-o.w+t.w;break;case"bottom right":r=t.y+t.h+e,n=t.x;break;case"left":case"left center":r=t.y-(o.h-t.h)/2,n=t.x-o.w-e;break;case"left top":r=t.y-o.h+t.h,n=t.x-o.w-e;break;case"left bottom":r=t.y,n=t.x-o.w-e;break;case"right":case"right center":r=t.y-(o.h-t.h)/2,n=t.x+t.w+e;break;case"right top":r=t.y-o.h+t.h,n=t.x+t.w+e;break;case"right bottom":r=t.y,n=t.x+t.w+e;break}return{left:Math.round(n),top:Math.round(r)}},M=({top:t,left:o},e,a,r)=>{let n=e.split(" "),s=[],p=o+r.w+a-window.innerWidth,P=t+r.h+a-window.innerHeight;for(let T of n)T==="top"&&t<a?s.push("bottom"):T==="left"&&o<a?s.push("right"):T==="bottom"&&P>0?s.push("top"):T==="right"&&p>0?s.push("left"):s.push(T);return s.join(" ")},m=({top:t,left:o},e,a)=>{let r=o+e.w+a-window.innerWidth,n=t+e.h+a-window.innerHeight;return o=r>0?o-r:o,t=n>0?t-n:t,o=o<a?a:o,t=t<a?a:t,{top:t,left:o}},H=({c:t,m:o,offset:e,windowOffset:a,position:r})=>{let n={c:t,m:o,offset:e,position:r},s=x(n),p=M(s,r,a,o);p!==r&&(s=x({...n,position:p}));let P=m(s,o,a);return{left:`${P.left}px`,top:`${P.top}px`}};var I=({position:t,windowOffset:o})=>{switch(t){case"center":return{top:"50%",left:"50%",transform:"translate(-50%, -50%)"};case"top":case"top center":return{top:`${o}px`,left:"50%",transform:"translateX(-50%)"};case"top left":case"left top":return{top:`${o}px`,left:`${o}px`};case"top right":case"right top":return{top:`${o}px`,right:`${o}px`};case"bottom":case"bottom center":return{bottom:`${o}px`,left:"50%",transform:"translateX(-50%)"};case"left bottom":case"bottom left":return{bottom:`${o}px`,left:`${o}px`};case"right bottom":case"bottom right":return{bottom:`${o}px`,right:`${o}px`};case"left":case"left center":return{top:"50%",left:`${o}px`,transform:"translateY(-50%)"};case"right":case"right center":return{top:"50%",right:`${o}px`,transform:"translateY(-50%)"}}return{top:"50%",left:"50%",transform:"translate(-50%, -50%)"}};var L=(t,o={})=>{let{separator:e=" ",variant:a="each-word",join:r=e}=o;return a==="first-word"?t[0].toUpperCase()+t.slice(1):t.split(e).map(s=>s[0].toUpperCase()+s.slice(1)).join(r)};0&&(module.exports={PositionContainer,fixModalPosition,formatBytes,formatDate,getModalPosition,getModalPositionRelativeToContainer,getModalPositionRelativeToScreen,getOppositePosition,timeBetween,toCapitalize});
2
+ "use strict";var P=Object.defineProperty;var c=Object.getOwnPropertyDescriptor;var x=Object.getOwnPropertyNames;var E=Object.prototype.hasOwnProperty;var m=(t,o)=>{for(var r in o)P(t,r,{get:o[r],enumerable:!0})},b=(t,o,r,a)=>{if(o&&typeof o=="object"||typeof o=="function")for(let e of x(o))!E.call(t,e)&&e!==r&&P(t,e,{get:()=>o[e],enumerable:!(a=c(o,e))||a.enumerable});return t};var R=t=>b(P({},"__esModule",{value:!0}),t);var F={};m(F,{PositionContainer:()=>u,fixModalPosition:()=>M,formatBytes:()=>g,formatDate:()=>C,getModalPosition:()=>h,getModalPositionRelativeToContainer:()=>y,getModalPositionRelativeToScreen:()=>G,getOppositePosition:()=>O,timeBetween:()=>B,toCapitalize:()=>$});module.exports=R(F);var g=(t,o=2)=>{if(t===0)return"0 Bytes";let r=1e3,a=o<0?0:o,e=["Bytes","KB","MB","GB","TB","PB","EB","ZB","YB"],n=Math.floor(Math.log(t)/Math.log(r));return parseFloat((t/Math.pow(r,n)).toFixed(a))+" "+e[n]};var _=["Jan","Feb","Mar","Apr","May","Jun","Jul","Aug","Sep","Oct","Nov","Dec"],C=t=>{let o=new Date(t);return Number.isNaN(o.getTime())?t:`${_[o.getMonth()]} ${o.getFullYear()}`},B=(t,o)=>{let r=new Date(t);if(Number.isNaN(r.getTime()))return"";let a=Date.parse(o)?new Date(o):new Date,e=Math.abs(a.getTime()-r.getTime()),n=Math.floor(e/(1e3*60)),i=Math.floor(e/(1e3*60*60)),T=Math.floor(e/(1e3*60*60*24)),l=Math.floor(T/30),p=Math.floor(T/365);return p>0?`${p} year${p>1?"s":""}`:l>0?`${l} month${l>1?"s":""}`:T>0?`${T} day${T>1?"s":""}`:i>0?`${i} hour${i>1?"s":""}`:`${n} minute${n!==1?"s":""}`};var u=(s=>(s.CENTER="center",s.TOP="top",s.TOP_LEFT="top left",s.TOP_RIGHT="top right",s.TOP_CENTER="top center",s.LEFT="left",s.LEFT_TOP="left top",s.LEFT_BOTTOM="left bottom",s.LEFT_CENTER="left center",s.RIGHT="right",s.RIGHT_TOP="right top",s.RIGHT_BOTTOM="right bottom",s.RIGHT_CENTER="right center",s.BOTTOM="bottom",s.BOTTOM_LEFT="bottom left",s.BOTTOM_RIGHT="bottom right",s.BOTTOM_CENTER="bottom center",s))(u||{}),h=({c:t,m:o,offset:r,position:a})=>{let e=t.y+t.h+r,n=t.x-(o.w-t.w)*(50/100);switch(a){case"top":case"top center":e=t.y-o.h-r,n=t.x-(o.w-t.w)/2;break;case"top left":e=t.y-o.h-r,n=t.x-o.w+t.w;break;case"top right":e=t.y-o.h-r,n=t.x;break;case"bottom":case"bottom center":e=t.y+t.h+r,n=t.x-(o.w-t.w)/2;break;case"bottom left":e=t.y+t.h+r,n=t.x-o.w+t.w;break;case"bottom right":e=t.y+t.h+r,n=t.x;break;case"left":case"left center":e=t.y-(o.h-t.h)/2,n=t.x-o.w-r;break;case"left top":e=t.y-o.h+t.h,n=t.x-o.w-r;break;case"left bottom":e=t.y,n=t.x-o.w-r;break;case"right":case"right center":e=t.y-(o.h-t.h)/2,n=t.x+t.w+r;break;case"right top":e=t.y-o.h+t.h,n=t.x+t.w+r;break;case"right bottom":e=t.y,n=t.x+t.w+r;break}return{left:Math.round(n),top:Math.round(e)}},O=({top:t,left:o},r,a,e)=>{let n=r.split(" "),i=[],T=o+e.w+a-window.innerWidth,l=t+e.h+a-window.innerHeight;for(let p of n)p==="top"&&t<a?i.push("bottom"):p==="left"&&o<a?i.push("right"):p==="bottom"&&l>0?i.push("top"):p==="right"&&T>0?i.push("left"):i.push(p);return i.join(" ")},M=({top:t,left:o},r,a)=>{let e=o+r.w+a-window.innerWidth,n=t+r.h+a-window.innerHeight;return o=e>0?o-e:o,t=n>0?t-n:t,o=o<a?a:o,t=t<a?a:t,{top:t,left:o}},y=({c:t,m:o,offset:r,windowOffset:a,position:e})=>{let n={c:t,m:o,offset:r,position:e},i=h(n),T=O(i,e,a,o);T!==e&&(i=h({...n,position:T}));let l=M(i,o,a);return{left:`${l.left}px`,top:`${l.top}px`}};var G=({position:t,windowOffset:o})=>{switch(t){case"center":return{top:"50%",left:"50%",transform:"translate(-50%, -50%)"};case"top":case"top center":return{top:`${o}px`,left:"50%",transform:"translateX(-50%)"};case"top left":case"left top":return{top:`${o}px`,left:`${o}px`};case"top right":case"right top":return{top:`${o}px`,right:`${o}px`};case"bottom":case"bottom center":return{bottom:`${o}px`,left:"50%",transform:"translateX(-50%)"};case"left bottom":case"bottom left":return{bottom:`${o}px`,left:`${o}px`};case"right bottom":case"bottom right":return{bottom:`${o}px`,right:`${o}px`};case"left":case"left center":return{top:"50%",left:`${o}px`,transform:"translateY(-50%)"};case"right":case"right center":return{top:"50%",right:`${o}px`,transform:"translateY(-50%)"}}return{top:"50%",left:"50%",transform:"translate(-50%, -50%)"}};var $=(t,o={})=>{let{separator:r=" ",variant:a="each-word",join:e=r}=o;return a==="first-word"?t[0].toUpperCase()+t.slice(1):t.split(r).map(i=>i[0].toUpperCase()+i.slice(1)).join(e)};0&&(module.exports={PositionContainer,fixModalPosition,formatBytes,formatDate,getModalPosition,getModalPositionRelativeToContainer,getModalPositionRelativeToScreen,getOppositePosition,timeBetween,toCapitalize});
3
3
  //# sourceMappingURL=helpers.cjs.map
@@ -1 +1 @@
1
- {"version":3,"sources":["../src/helpers/index.ts","../src/helpers/format-bytes.ts","../src/helpers/format-dates.ts","../src/helpers/get-modal-position.ts","../src/helpers/get-modal-position-relative-to-screen.ts","../src/helpers/text/to-capitalize.ts"],"sourcesContent":["export * from './format-bytes';\nexport * from './format-dates';\nexport * from './get-modal-position';\nexport * from './get-modal-position-relative-to-screen';\nexport * from './text';\n","export const formatBytes = (bytes: number, decimals = 2) => {\n if (bytes === 0) return '0 Bytes';\n\n const k = 1000;\n const dm = decimals < 0 ? 0 : decimals;\n const sizes = ['Bytes', 'KB', 'MB', 'GB', 'TB', 'PB', 'EB', 'ZB', 'YB'];\n\n const i = Math.floor(Math.log(bytes) / Math.log(k));\n\n return parseFloat((bytes / Math.pow(k, i)).toFixed(dm)) + ' ' + sizes[i];\n};\n","import moment from 'moment/moment';\n\nexport const formatDate = (date: string) => {\n return Date.parse(date) ? moment(date, 'YYYY-MM-DD').format('MMM YYYY') : date;\n};\n\nexport const timeBetween = (date_start: string, date_end: string) => {\n const momentStart = moment(date_start);\n\n return Date.parse(date_end) ? moment(date_end).from(momentStart, true) : momentStart.fromNow();\n};\n","export enum PositionContainer {\n CENTER = 'center',\n TOP = 'top',\n TOP_LEFT = 'top left',\n TOP_RIGHT = 'top right',\n TOP_CENTER = 'top center',\n LEFT = 'left',\n LEFT_TOP = 'left top',\n LEFT_BOTTOM = 'left bottom',\n LEFT_CENTER = 'left center',\n RIGHT = 'right',\n RIGHT_TOP = 'right top',\n RIGHT_BOTTOM = 'right bottom',\n RIGHT_CENTER = 'right center',\n BOTTOM = 'bottom',\n BOTTOM_LEFT = 'bottom left',\n BOTTOM_RIGHT = 'bottom right',\n BOTTOM_CENTER = 'bottom center',\n}\n\nexport type PositionObject = {\n x: number;\n y: number;\n top: number;\n left: number;\n w: number;\n h: number;\n};\n\nexport type ModalPosition = {\n left: number;\n top: number;\n};\n\nexport type GetModalPositionParams = {\n c: PositionObject;\n m: PositionObject;\n offset: number;\n position: PositionContainer;\n};\n\n/*\n * @description Calculates the position of the modal relative to the container\n *\n * @param c - The container's position object\n * @param m - The modal's position object\n * @param offset - The offset between the container and the modal\n * @param position - The position of the modal\n *\n * -----------------------------------------------------------------------------\n * @returns The position of the modal relative to the container\n */\nexport const getModalPosition = ({ c, m, offset, position }: GetModalPositionParams): ModalPosition => {\n // Default bottom\n let top = c.y + c.h + offset;\n let left = c.x - (m.w - c.w) * (50 / 100);\n\n switch (position) {\n case PositionContainer.TOP:\n case PositionContainer.TOP_CENTER:\n top = c.y - m.h - offset;\n left = c.x - (m.w - c.w) / 2;\n\n break;\n case PositionContainer.TOP_LEFT:\n top = c.y - m.h - offset;\n left = c.x - m.w + c.w;\n\n break;\n\n case PositionContainer.TOP_RIGHT:\n top = c.y - m.h - offset;\n left = c.x;\n\n break;\n\n case PositionContainer.BOTTOM:\n case PositionContainer.BOTTOM_CENTER:\n top = c.y + c.h + offset;\n left = c.x - (m.w - c.w) / 2;\n\n break;\n\n case PositionContainer.BOTTOM_LEFT:\n top = c.y + c.h + offset;\n left = c.x - m.w + c.w;\n\n break;\n\n case PositionContainer.BOTTOM_RIGHT:\n top = c.y + c.h + offset;\n left = c.x;\n\n break;\n\n case PositionContainer.LEFT:\n case PositionContainer.LEFT_CENTER:\n top = c.y - (m.h - c.h) / 2;\n left = c.x - m.w - offset;\n\n break;\n\n case PositionContainer.LEFT_TOP:\n top = c.y - m.h + c.h;\n left = c.x - m.w - offset;\n\n break;\n\n case PositionContainer.LEFT_BOTTOM:\n top = c.y;\n left = c.x - m.w - offset;\n\n break;\n\n case PositionContainer.RIGHT:\n case PositionContainer.RIGHT_CENTER:\n top = c.y - (m.h - c.h) / 2;\n left = c.x + c.w + offset;\n\n break;\n\n case PositionContainer.RIGHT_TOP:\n top = c.y - m.h + c.h;\n left = c.x + c.w + offset;\n\n break;\n\n case PositionContainer.RIGHT_BOTTOM:\n top = c.y;\n left = c.x + c.w + offset;\n\n break;\n }\n\n return {\n left: Math.round(left),\n top: Math.round(top),\n };\n};\n\nexport const getOppositePosition = (\n { top, left }: ModalPosition,\n position: PositionContainer,\n windowOffset: number,\n m: PositionObject,\n) => {\n const positions = position.split(' ');\n const newPosition = [];\n const rightOffset = left + m.w + windowOffset - window.innerWidth;\n const bottomOffset = top + m.h + windowOffset - window.innerHeight;\n\n for (const p of positions) {\n if (p === PositionContainer.TOP && top < windowOffset) {\n newPosition.push(PositionContainer.BOTTOM);\n } else if (p === PositionContainer.LEFT && left < windowOffset) {\n newPosition.push(PositionContainer.RIGHT);\n } else if (p === PositionContainer.BOTTOM && bottomOffset > 0) {\n newPosition.push(PositionContainer.TOP);\n } else if (p === PositionContainer.RIGHT && rightOffset > 0) {\n newPosition.push(PositionContainer.LEFT);\n } else {\n newPosition.push(p);\n }\n }\n\n return newPosition.join(' ') as PositionContainer;\n};\n\nexport const fixModalPosition = ({ top, left }: ModalPosition, m: PositionObject, windowOffset: number) => {\n const rightOffset = left + m.w + windowOffset - window.innerWidth;\n const bottomOffset = top + m.h + windowOffset - window.innerHeight;\n\n left = rightOffset > 0 ? left - rightOffset : left;\n top = bottomOffset > 0 ? top - bottomOffset : top;\n\n left = left < windowOffset ? windowOffset : left;\n top = top < windowOffset ? windowOffset : top;\n\n return { top, left };\n};\n\ntype getModalPositionRelativeToContainerParams = GetModalPositionParams & {\n windowOffset: number;\n};\n\nexport const getModalPositionRelativeToContainer = ({\n c,\n m,\n offset,\n windowOffset,\n position,\n}: getModalPositionRelativeToContainerParams): Record<string, string> => {\n const params = { c, m, offset, position };\n let modalContainerStyle = getModalPosition(params);\n\n const oppositePosition = getOppositePosition(modalContainerStyle, position, windowOffset, m);\n\n if (oppositePosition !== position) {\n modalContainerStyle = getModalPosition({\n ...params,\n position: oppositePosition,\n });\n }\n\n const fixedPosition = fixModalPosition(modalContainerStyle, m, windowOffset);\n\n return {\n left: `${fixedPosition.left}px`,\n top: `${fixedPosition.top}px`,\n };\n};\n","import { PositionContainer } from './get-modal-position';\n\nexport type GetModalPositionRelativeToScreenParams = {\n position: PositionContainer;\n windowOffset: number;\n};\n\nexport const getModalPositionRelativeToScreen = ({\n position,\n windowOffset,\n}: GetModalPositionRelativeToScreenParams): Record<string, string> => {\n switch (position) {\n case PositionContainer.CENTER:\n return {\n top: '50%',\n left: '50%',\n transform: 'translate(-50%, -50%)',\n };\n\n case PositionContainer.TOP:\n case PositionContainer.TOP_CENTER:\n return {\n top: `${windowOffset}px`,\n left: '50%',\n transform: 'translateX(-50%)',\n };\n\n case PositionContainer.TOP_LEFT:\n case PositionContainer.LEFT_TOP:\n return {\n top: `${windowOffset}px`,\n left: `${windowOffset}px`,\n };\n\n case PositionContainer.TOP_RIGHT:\n case PositionContainer.RIGHT_TOP:\n return {\n top: `${windowOffset}px`,\n right: `${windowOffset}px`,\n };\n\n case PositionContainer.BOTTOM:\n case PositionContainer.BOTTOM_CENTER:\n return {\n bottom: `${windowOffset}px`,\n left: '50%',\n transform: 'translateX(-50%)',\n };\n\n case PositionContainer.LEFT_BOTTOM:\n case PositionContainer.BOTTOM_LEFT:\n return {\n bottom: `${windowOffset}px`,\n left: `${windowOffset}px`,\n };\n\n case PositionContainer.RIGHT_BOTTOM:\n case PositionContainer.BOTTOM_RIGHT:\n return {\n bottom: `${windowOffset}px`,\n right: `${windowOffset}px`,\n };\n\n case PositionContainer.LEFT:\n case PositionContainer.LEFT_CENTER:\n return {\n top: '50%',\n left: `${windowOffset}px`,\n transform: 'translateY(-50%)',\n };\n\n case PositionContainer.RIGHT:\n case PositionContainer.RIGHT_CENTER:\n return {\n top: '50%',\n right: `${windowOffset}px`,\n transform: 'translateY(-50%)',\n };\n }\n\n return {\n top: '50%',\n left: '50%',\n transform: 'translate(-50%, -50%)',\n };\n};\n","export type ToCapitalizeOptions = Partial<{\n separator: string;\n join: string;\n variant: 'first-word' | 'each-word';\n}>;\n\nexport const toCapitalize = (text: string, options: ToCapitalizeOptions = {}) => {\n const { separator = ' ', variant = 'each-word', join = separator } = options;\n\n if (variant === 'first-word') {\n return text[0].toUpperCase() + text.slice(1);\n }\n\n const words = text.split(separator);\n\n return words.map(word => word[0].toUpperCase() + word.slice(1)).join(join);\n};\n"],"mappings":"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","names":["helpers_exports","__export","PositionContainer","fixModalPosition","formatBytes","formatDate","getModalPosition","getModalPositionRelativeToContainer","getModalPositionRelativeToScreen","getOppositePosition","timeBetween","toCapitalize","__toCommonJS","formatBytes","bytes","decimals","k","dm","sizes","i","import_moment","formatDate","date","moment","timeBetween","date_start","date_end","momentStart","PositionContainer","getModalPosition","c","m","offset","position","top","left","getOppositePosition","windowOffset","positions","newPosition","rightOffset","bottomOffset","p","fixModalPosition","getModalPositionRelativeToContainer","params","modalContainerStyle","oppositePosition","fixedPosition","getModalPositionRelativeToScreen","position","windowOffset","toCapitalize","text","options","separator","variant","join","word"]}
1
+ {"version":3,"sources":["../src/helpers/index.ts","../src/helpers/format-bytes.ts","../src/helpers/format-dates.ts","../src/helpers/get-modal-position.ts","../src/helpers/get-modal-position-relative-to-screen.ts","../src/helpers/text/to-capitalize.ts"],"sourcesContent":["export * from './format-bytes';\nexport * from './format-dates';\nexport * from './get-modal-position';\nexport * from './get-modal-position-relative-to-screen';\nexport * from './text';\n","export const formatBytes = (bytes: number, decimals = 2) => {\n if (bytes === 0) return '0 Bytes';\n\n const k = 1000;\n const dm = decimals < 0 ? 0 : decimals;\n const sizes = ['Bytes', 'KB', 'MB', 'GB', 'TB', 'PB', 'EB', 'ZB', 'YB'];\n\n const i = Math.floor(Math.log(bytes) / Math.log(k));\n\n return parseFloat((bytes / Math.pow(k, i)).toFixed(dm)) + ' ' + sizes[i];\n};\n","const MONTHS_SHORT = ['Jan', 'Feb', 'Mar', 'Apr', 'May', 'Jun', 'Jul', 'Aug', 'Sep', 'Oct', 'Nov', 'Dec'];\n\nexport const formatDate = (date: string) => {\n const parsedDate = new Date(date);\n\n if (Number.isNaN(parsedDate.getTime())) {\n return date;\n }\n\n return `${MONTHS_SHORT[parsedDate.getMonth()]} ${parsedDate.getFullYear()}`;\n};\n\nexport const timeBetween = (date_start: string, date_end: string) => {\n const start = new Date(date_start);\n\n if (Number.isNaN(start.getTime())) {\n return '';\n }\n\n const end = Date.parse(date_end) ? new Date(date_end) : new Date();\n\n const diffMs = Math.abs(end.getTime() - start.getTime());\n\n const minutes = Math.floor(diffMs / (1000 * 60));\n const hours = Math.floor(diffMs / (1000 * 60 * 60));\n const days = Math.floor(diffMs / (1000 * 60 * 60 * 24));\n const months = Math.floor(days / 30);\n const years = Math.floor(days / 365);\n\n if (years > 0) {\n return `${years} year${years > 1 ? 's' : ''}`;\n }\n\n if (months > 0) {\n return `${months} month${months > 1 ? 's' : ''}`;\n }\n\n if (days > 0) {\n return `${days} day${days > 1 ? 's' : ''}`;\n }\n\n if (hours > 0) {\n return `${hours} hour${hours > 1 ? 's' : ''}`;\n }\n\n return `${minutes} minute${minutes !== 1 ? 's' : ''}`;\n};\n","export enum PositionContainer {\n CENTER = 'center',\n TOP = 'top',\n TOP_LEFT = 'top left',\n TOP_RIGHT = 'top right',\n TOP_CENTER = 'top center',\n LEFT = 'left',\n LEFT_TOP = 'left top',\n LEFT_BOTTOM = 'left bottom',\n LEFT_CENTER = 'left center',\n RIGHT = 'right',\n RIGHT_TOP = 'right top',\n RIGHT_BOTTOM = 'right bottom',\n RIGHT_CENTER = 'right center',\n BOTTOM = 'bottom',\n BOTTOM_LEFT = 'bottom left',\n BOTTOM_RIGHT = 'bottom right',\n BOTTOM_CENTER = 'bottom center',\n}\n\nexport type PositionObject = {\n x: number;\n y: number;\n top: number;\n left: number;\n w: number;\n h: number;\n};\n\nexport type ModalPosition = {\n left: number;\n top: number;\n};\n\nexport type GetModalPositionParams = {\n c: PositionObject;\n m: PositionObject;\n offset: number;\n position: PositionContainer;\n};\n\n/*\n * @description Calculates the position of the modal relative to the container\n *\n * @param c - The container's position object\n * @param m - The modal's position object\n * @param offset - The offset between the container and the modal\n * @param position - The position of the modal\n *\n * -----------------------------------------------------------------------------\n * @returns The position of the modal relative to the container\n */\nexport const getModalPosition = ({ c, m, offset, position }: GetModalPositionParams): ModalPosition => {\n // Default bottom\n let top = c.y + c.h + offset;\n let left = c.x - (m.w - c.w) * (50 / 100);\n\n switch (position) {\n case PositionContainer.TOP:\n case PositionContainer.TOP_CENTER:\n top = c.y - m.h - offset;\n left = c.x - (m.w - c.w) / 2;\n\n break;\n case PositionContainer.TOP_LEFT:\n top = c.y - m.h - offset;\n left = c.x - m.w + c.w;\n\n break;\n\n case PositionContainer.TOP_RIGHT:\n top = c.y - m.h - offset;\n left = c.x;\n\n break;\n\n case PositionContainer.BOTTOM:\n case PositionContainer.BOTTOM_CENTER:\n top = c.y + c.h + offset;\n left = c.x - (m.w - c.w) / 2;\n\n break;\n\n case PositionContainer.BOTTOM_LEFT:\n top = c.y + c.h + offset;\n left = c.x - m.w + c.w;\n\n break;\n\n case PositionContainer.BOTTOM_RIGHT:\n top = c.y + c.h + offset;\n left = c.x;\n\n break;\n\n case PositionContainer.LEFT:\n case PositionContainer.LEFT_CENTER:\n top = c.y - (m.h - c.h) / 2;\n left = c.x - m.w - offset;\n\n break;\n\n case PositionContainer.LEFT_TOP:\n top = c.y - m.h + c.h;\n left = c.x - m.w - offset;\n\n break;\n\n case PositionContainer.LEFT_BOTTOM:\n top = c.y;\n left = c.x - m.w - offset;\n\n break;\n\n case PositionContainer.RIGHT:\n case PositionContainer.RIGHT_CENTER:\n top = c.y - (m.h - c.h) / 2;\n left = c.x + c.w + offset;\n\n break;\n\n case PositionContainer.RIGHT_TOP:\n top = c.y - m.h + c.h;\n left = c.x + c.w + offset;\n\n break;\n\n case PositionContainer.RIGHT_BOTTOM:\n top = c.y;\n left = c.x + c.w + offset;\n\n break;\n }\n\n return {\n left: Math.round(left),\n top: Math.round(top),\n };\n};\n\nexport const getOppositePosition = (\n { top, left }: ModalPosition,\n position: PositionContainer,\n windowOffset: number,\n m: PositionObject,\n) => {\n const positions = position.split(' ');\n const newPosition = [];\n const rightOffset = left + m.w + windowOffset - window.innerWidth;\n const bottomOffset = top + m.h + windowOffset - window.innerHeight;\n\n for (const p of positions) {\n if (p === PositionContainer.TOP && top < windowOffset) {\n newPosition.push(PositionContainer.BOTTOM);\n } else if (p === PositionContainer.LEFT && left < windowOffset) {\n newPosition.push(PositionContainer.RIGHT);\n } else if (p === PositionContainer.BOTTOM && bottomOffset > 0) {\n newPosition.push(PositionContainer.TOP);\n } else if (p === PositionContainer.RIGHT && rightOffset > 0) {\n newPosition.push(PositionContainer.LEFT);\n } else {\n newPosition.push(p);\n }\n }\n\n return newPosition.join(' ') as PositionContainer;\n};\n\nexport const fixModalPosition = ({ top, left }: ModalPosition, m: PositionObject, windowOffset: number) => {\n const rightOffset = left + m.w + windowOffset - window.innerWidth;\n const bottomOffset = top + m.h + windowOffset - window.innerHeight;\n\n left = rightOffset > 0 ? left - rightOffset : left;\n top = bottomOffset > 0 ? top - bottomOffset : top;\n\n left = left < windowOffset ? windowOffset : left;\n top = top < windowOffset ? windowOffset : top;\n\n return { top, left };\n};\n\ntype getModalPositionRelativeToContainerParams = GetModalPositionParams & {\n windowOffset: number;\n};\n\nexport const getModalPositionRelativeToContainer = ({\n c,\n m,\n offset,\n windowOffset,\n position,\n}: getModalPositionRelativeToContainerParams): Record<string, string> => {\n const params = { c, m, offset, position };\n let modalContainerStyle = getModalPosition(params);\n\n const oppositePosition = getOppositePosition(modalContainerStyle, position, windowOffset, m);\n\n if (oppositePosition !== position) {\n modalContainerStyle = getModalPosition({\n ...params,\n position: oppositePosition,\n });\n }\n\n const fixedPosition = fixModalPosition(modalContainerStyle, m, windowOffset);\n\n return {\n left: `${fixedPosition.left}px`,\n top: `${fixedPosition.top}px`,\n };\n};\n","import { PositionContainer } from './get-modal-position';\n\nexport type GetModalPositionRelativeToScreenParams = {\n position: PositionContainer;\n windowOffset: number;\n};\n\nexport const getModalPositionRelativeToScreen = ({\n position,\n windowOffset,\n}: GetModalPositionRelativeToScreenParams): Record<string, string> => {\n switch (position) {\n case PositionContainer.CENTER:\n return {\n top: '50%',\n left: '50%',\n transform: 'translate(-50%, -50%)',\n };\n\n case PositionContainer.TOP:\n case PositionContainer.TOP_CENTER:\n return {\n top: `${windowOffset}px`,\n left: '50%',\n transform: 'translateX(-50%)',\n };\n\n case PositionContainer.TOP_LEFT:\n case PositionContainer.LEFT_TOP:\n return {\n top: `${windowOffset}px`,\n left: `${windowOffset}px`,\n };\n\n case PositionContainer.TOP_RIGHT:\n case PositionContainer.RIGHT_TOP:\n return {\n top: `${windowOffset}px`,\n right: `${windowOffset}px`,\n };\n\n case PositionContainer.BOTTOM:\n case PositionContainer.BOTTOM_CENTER:\n return {\n bottom: `${windowOffset}px`,\n left: '50%',\n transform: 'translateX(-50%)',\n };\n\n case PositionContainer.LEFT_BOTTOM:\n case PositionContainer.BOTTOM_LEFT:\n return {\n bottom: `${windowOffset}px`,\n left: `${windowOffset}px`,\n };\n\n case PositionContainer.RIGHT_BOTTOM:\n case PositionContainer.BOTTOM_RIGHT:\n return {\n bottom: `${windowOffset}px`,\n right: `${windowOffset}px`,\n };\n\n case PositionContainer.LEFT:\n case PositionContainer.LEFT_CENTER:\n return {\n top: '50%',\n left: `${windowOffset}px`,\n transform: 'translateY(-50%)',\n };\n\n case PositionContainer.RIGHT:\n case PositionContainer.RIGHT_CENTER:\n return {\n top: '50%',\n right: `${windowOffset}px`,\n transform: 'translateY(-50%)',\n };\n }\n\n return {\n top: '50%',\n left: '50%',\n transform: 'translate(-50%, -50%)',\n };\n};\n","export type ToCapitalizeOptions = Partial<{\n separator: string;\n join: string;\n variant: 'first-word' | 'each-word';\n}>;\n\nexport const toCapitalize = (text: string, options: ToCapitalizeOptions = {}) => {\n const { separator = ' ', variant = 'each-word', join = separator } = options;\n\n if (variant === 'first-word') {\n return text[0].toUpperCase() + text.slice(1);\n }\n\n const words = text.split(separator);\n\n return words.map(word => word[0].toUpperCase() + word.slice(1)).join(join);\n};\n"],"mappings":"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","names":["helpers_exports","__export","PositionContainer","fixModalPosition","formatBytes","formatDate","getModalPosition","getModalPositionRelativeToContainer","getModalPositionRelativeToScreen","getOppositePosition","timeBetween","toCapitalize","__toCommonJS","formatBytes","bytes","decimals","k","dm","sizes","i","MONTHS_SHORT","formatDate","date","parsedDate","timeBetween","date_start","date_end","start","end","diffMs","minutes","hours","days","months","years","PositionContainer","getModalPosition","c","m","offset","position","top","left","getOppositePosition","windowOffset","positions","newPosition","rightOffset","bottomOffset","fixModalPosition","getModalPositionRelativeToContainer","params","modalContainerStyle","oppositePosition","fixedPosition","getModalPositionRelativeToScreen","position","windowOffset","toCapitalize","text","options","separator","variant","join","word"]}
@@ -1,5 +1,5 @@
1
- import { P as PositionContainer } from './get-modal-position-drle0OjP.cjs';
2
- export { G as GetModalPositionParams, M as ModalPosition, a as PositionObject, f as fixModalPosition, g as getModalPosition, c as getModalPositionRelativeToContainer, b as getOppositePosition } from './get-modal-position-drle0OjP.cjs';
1
+ import { P as PositionContainer } from './get-modal-position-C5jQsaGx.cjs';
2
+ export { G as GetModalPositionParams, M as ModalPosition, a as PositionObject, f as fixModalPosition, g as getModalPosition, b as getModalPositionRelativeToContainer, c as getOppositePosition } from './get-modal-position-C5jQsaGx.cjs';
3
3
 
4
4
  declare const formatBytes: (bytes: number, decimals?: number) => string;
5
5
 
package/dist/helpers.d.ts CHANGED
@@ -1,5 +1,5 @@
1
- import { P as PositionContainer } from './get-modal-position-drle0OjP.js';
2
- export { G as GetModalPositionParams, M as ModalPosition, a as PositionObject, f as fixModalPosition, g as getModalPosition, c as getModalPositionRelativeToContainer, b as getOppositePosition } from './get-modal-position-drle0OjP.js';
1
+ import { P as PositionContainer } from './get-modal-position-C5jQsaGx.js';
2
+ export { G as GetModalPositionParams, M as ModalPosition, a as PositionObject, f as fixModalPosition, g as getModalPosition, b as getModalPositionRelativeToContainer, c as getOppositePosition } from './get-modal-position-C5jQsaGx.js';
3
3
 
4
4
  declare const formatBytes: (bytes: number, decimals?: number) => string;
5
5
 
package/dist/helpers.js CHANGED
@@ -1,3 +1,3 @@
1
1
  "use client";
2
- import{a,b,c,d,e,f,g,h,i,j}from"./chunk-MAWW6AA7.js";export{d as PositionContainer,g as fixModalPosition,a as formatBytes,b as formatDate,e as getModalPosition,h as getModalPositionRelativeToContainer,i as getModalPositionRelativeToScreen,f as getOppositePosition,c as timeBetween,j as toCapitalize};
2
+ var c=(t,o=2)=>{if(t===0)return"0 Bytes";let r=1e3,a=o<0?0:o,e=["Bytes","KB","MB","GB","TB","PB","EB","ZB","YB"],n=Math.floor(Math.log(t)/Math.log(r));return parseFloat((t/Math.pow(r,n)).toFixed(a))+" "+e[n]};var h=["Jan","Feb","Mar","Apr","May","Jun","Jul","Aug","Sep","Oct","Nov","Dec"],E=t=>{let o=new Date(t);return Number.isNaN(o.getTime())?t:`${h[o.getMonth()]} ${o.getFullYear()}`},m=(t,o)=>{let r=new Date(t);if(Number.isNaN(r.getTime()))return"";let a=Date.parse(o)?new Date(o):new Date,e=Math.abs(a.getTime()-r.getTime()),n=Math.floor(e/(1e3*60)),i=Math.floor(e/(1e3*60*60)),T=Math.floor(e/(1e3*60*60*24)),l=Math.floor(T/30),p=Math.floor(T/365);return p>0?`${p} year${p>1?"s":""}`:l>0?`${l} month${l>1?"s":""}`:T>0?`${T} day${T>1?"s":""}`:i>0?`${i} hour${i>1?"s":""}`:`${n} minute${n!==1?"s":""}`};var u=(s=>(s.CENTER="center",s.TOP="top",s.TOP_LEFT="top left",s.TOP_RIGHT="top right",s.TOP_CENTER="top center",s.LEFT="left",s.LEFT_TOP="left top",s.LEFT_BOTTOM="left bottom",s.LEFT_CENTER="left center",s.RIGHT="right",s.RIGHT_TOP="right top",s.RIGHT_BOTTOM="right bottom",s.RIGHT_CENTER="right center",s.BOTTOM="bottom",s.BOTTOM_LEFT="bottom left",s.BOTTOM_RIGHT="bottom right",s.BOTTOM_CENTER="bottom center",s))(u||{}),P=({c:t,m:o,offset:r,position:a})=>{let e=t.y+t.h+r,n=t.x-(o.w-t.w)*(50/100);switch(a){case"top":case"top center":e=t.y-o.h-r,n=t.x-(o.w-t.w)/2;break;case"top left":e=t.y-o.h-r,n=t.x-o.w+t.w;break;case"top right":e=t.y-o.h-r,n=t.x;break;case"bottom":case"bottom center":e=t.y+t.h+r,n=t.x-(o.w-t.w)/2;break;case"bottom left":e=t.y+t.h+r,n=t.x-o.w+t.w;break;case"bottom right":e=t.y+t.h+r,n=t.x;break;case"left":case"left center":e=t.y-(o.h-t.h)/2,n=t.x-o.w-r;break;case"left top":e=t.y-o.h+t.h,n=t.x-o.w-r;break;case"left bottom":e=t.y,n=t.x-o.w-r;break;case"right":case"right center":e=t.y-(o.h-t.h)/2,n=t.x+t.w+r;break;case"right top":e=t.y-o.h+t.h,n=t.x+t.w+r;break;case"right bottom":e=t.y,n=t.x+t.w+r;break}return{left:Math.round(n),top:Math.round(e)}},O=({top:t,left:o},r,a,e)=>{let n=r.split(" "),i=[],T=o+e.w+a-window.innerWidth,l=t+e.h+a-window.innerHeight;for(let p of n)p==="top"&&t<a?i.push("bottom"):p==="left"&&o<a?i.push("right"):p==="bottom"&&l>0?i.push("top"):p==="right"&&T>0?i.push("left"):i.push(p);return i.join(" ")},M=({top:t,left:o},r,a)=>{let e=o+r.w+a-window.innerWidth,n=t+r.h+a-window.innerHeight;return o=e>0?o-e:o,t=n>0?t-n:t,o=o<a?a:o,t=t<a?a:t,{top:t,left:o}},R=({c:t,m:o,offset:r,windowOffset:a,position:e})=>{let n={c:t,m:o,offset:r,position:e},i=P(n),T=O(i,e,a,o);T!==e&&(i=P({...n,position:T}));let l=M(i,o,a);return{left:`${l.left}px`,top:`${l.top}px`}};var _=({position:t,windowOffset:o})=>{switch(t){case"center":return{top:"50%",left:"50%",transform:"translate(-50%, -50%)"};case"top":case"top center":return{top:`${o}px`,left:"50%",transform:"translateX(-50%)"};case"top left":case"left top":return{top:`${o}px`,left:`${o}px`};case"top right":case"right top":return{top:`${o}px`,right:`${o}px`};case"bottom":case"bottom center":return{bottom:`${o}px`,left:"50%",transform:"translateX(-50%)"};case"left bottom":case"bottom left":return{bottom:`${o}px`,left:`${o}px`};case"right bottom":case"bottom right":return{bottom:`${o}px`,right:`${o}px`};case"left":case"left center":return{top:"50%",left:`${o}px`,transform:"translateY(-50%)"};case"right":case"right center":return{top:"50%",right:`${o}px`,transform:"translateY(-50%)"}}return{top:"50%",left:"50%",transform:"translate(-50%, -50%)"}};var B=(t,o={})=>{let{separator:r=" ",variant:a="each-word",join:e=r}=o;return a==="first-word"?t[0].toUpperCase()+t.slice(1):t.split(r).map(i=>i[0].toUpperCase()+i.slice(1)).join(e)};export{u as PositionContainer,M as fixModalPosition,c as formatBytes,E as formatDate,P as getModalPosition,R as getModalPositionRelativeToContainer,_ as getModalPositionRelativeToScreen,O as getOppositePosition,m as timeBetween,B as toCapitalize};
3
3
  //# sourceMappingURL=helpers.js.map
@@ -1 +1 @@
1
- {"version":3,"sources":[],"sourcesContent":[],"mappings":"","names":[]}
1
+ {"version":3,"sources":["../src/helpers/format-bytes.ts","../src/helpers/format-dates.ts","../src/helpers/get-modal-position.ts","../src/helpers/get-modal-position-relative-to-screen.ts","../src/helpers/text/to-capitalize.ts"],"sourcesContent":["export const formatBytes = (bytes: number, decimals = 2) => {\n if (bytes === 0) return '0 Bytes';\n\n const k = 1000;\n const dm = decimals < 0 ? 0 : decimals;\n const sizes = ['Bytes', 'KB', 'MB', 'GB', 'TB', 'PB', 'EB', 'ZB', 'YB'];\n\n const i = Math.floor(Math.log(bytes) / Math.log(k));\n\n return parseFloat((bytes / Math.pow(k, i)).toFixed(dm)) + ' ' + sizes[i];\n};\n","const MONTHS_SHORT = ['Jan', 'Feb', 'Mar', 'Apr', 'May', 'Jun', 'Jul', 'Aug', 'Sep', 'Oct', 'Nov', 'Dec'];\n\nexport const formatDate = (date: string) => {\n const parsedDate = new Date(date);\n\n if (Number.isNaN(parsedDate.getTime())) {\n return date;\n }\n\n return `${MONTHS_SHORT[parsedDate.getMonth()]} ${parsedDate.getFullYear()}`;\n};\n\nexport const timeBetween = (date_start: string, date_end: string) => {\n const start = new Date(date_start);\n\n if (Number.isNaN(start.getTime())) {\n return '';\n }\n\n const end = Date.parse(date_end) ? new Date(date_end) : new Date();\n\n const diffMs = Math.abs(end.getTime() - start.getTime());\n\n const minutes = Math.floor(diffMs / (1000 * 60));\n const hours = Math.floor(diffMs / (1000 * 60 * 60));\n const days = Math.floor(diffMs / (1000 * 60 * 60 * 24));\n const months = Math.floor(days / 30);\n const years = Math.floor(days / 365);\n\n if (years > 0) {\n return `${years} year${years > 1 ? 's' : ''}`;\n }\n\n if (months > 0) {\n return `${months} month${months > 1 ? 's' : ''}`;\n }\n\n if (days > 0) {\n return `${days} day${days > 1 ? 's' : ''}`;\n }\n\n if (hours > 0) {\n return `${hours} hour${hours > 1 ? 's' : ''}`;\n }\n\n return `${minutes} minute${minutes !== 1 ? 's' : ''}`;\n};\n","export enum PositionContainer {\n CENTER = 'center',\n TOP = 'top',\n TOP_LEFT = 'top left',\n TOP_RIGHT = 'top right',\n TOP_CENTER = 'top center',\n LEFT = 'left',\n LEFT_TOP = 'left top',\n LEFT_BOTTOM = 'left bottom',\n LEFT_CENTER = 'left center',\n RIGHT = 'right',\n RIGHT_TOP = 'right top',\n RIGHT_BOTTOM = 'right bottom',\n RIGHT_CENTER = 'right center',\n BOTTOM = 'bottom',\n BOTTOM_LEFT = 'bottom left',\n BOTTOM_RIGHT = 'bottom right',\n BOTTOM_CENTER = 'bottom center',\n}\n\nexport type PositionObject = {\n x: number;\n y: number;\n top: number;\n left: number;\n w: number;\n h: number;\n};\n\nexport type ModalPosition = {\n left: number;\n top: number;\n};\n\nexport type GetModalPositionParams = {\n c: PositionObject;\n m: PositionObject;\n offset: number;\n position: PositionContainer;\n};\n\n/*\n * @description Calculates the position of the modal relative to the container\n *\n * @param c - The container's position object\n * @param m - The modal's position object\n * @param offset - The offset between the container and the modal\n * @param position - The position of the modal\n *\n * -----------------------------------------------------------------------------\n * @returns The position of the modal relative to the container\n */\nexport const getModalPosition = ({ c, m, offset, position }: GetModalPositionParams): ModalPosition => {\n // Default bottom\n let top = c.y + c.h + offset;\n let left = c.x - (m.w - c.w) * (50 / 100);\n\n switch (position) {\n case PositionContainer.TOP:\n case PositionContainer.TOP_CENTER:\n top = c.y - m.h - offset;\n left = c.x - (m.w - c.w) / 2;\n\n break;\n case PositionContainer.TOP_LEFT:\n top = c.y - m.h - offset;\n left = c.x - m.w + c.w;\n\n break;\n\n case PositionContainer.TOP_RIGHT:\n top = c.y - m.h - offset;\n left = c.x;\n\n break;\n\n case PositionContainer.BOTTOM:\n case PositionContainer.BOTTOM_CENTER:\n top = c.y + c.h + offset;\n left = c.x - (m.w - c.w) / 2;\n\n break;\n\n case PositionContainer.BOTTOM_LEFT:\n top = c.y + c.h + offset;\n left = c.x - m.w + c.w;\n\n break;\n\n case PositionContainer.BOTTOM_RIGHT:\n top = c.y + c.h + offset;\n left = c.x;\n\n break;\n\n case PositionContainer.LEFT:\n case PositionContainer.LEFT_CENTER:\n top = c.y - (m.h - c.h) / 2;\n left = c.x - m.w - offset;\n\n break;\n\n case PositionContainer.LEFT_TOP:\n top = c.y - m.h + c.h;\n left = c.x - m.w - offset;\n\n break;\n\n case PositionContainer.LEFT_BOTTOM:\n top = c.y;\n left = c.x - m.w - offset;\n\n break;\n\n case PositionContainer.RIGHT:\n case PositionContainer.RIGHT_CENTER:\n top = c.y - (m.h - c.h) / 2;\n left = c.x + c.w + offset;\n\n break;\n\n case PositionContainer.RIGHT_TOP:\n top = c.y - m.h + c.h;\n left = c.x + c.w + offset;\n\n break;\n\n case PositionContainer.RIGHT_BOTTOM:\n top = c.y;\n left = c.x + c.w + offset;\n\n break;\n }\n\n return {\n left: Math.round(left),\n top: Math.round(top),\n };\n};\n\nexport const getOppositePosition = (\n { top, left }: ModalPosition,\n position: PositionContainer,\n windowOffset: number,\n m: PositionObject,\n) => {\n const positions = position.split(' ');\n const newPosition = [];\n const rightOffset = left + m.w + windowOffset - window.innerWidth;\n const bottomOffset = top + m.h + windowOffset - window.innerHeight;\n\n for (const p of positions) {\n if (p === PositionContainer.TOP && top < windowOffset) {\n newPosition.push(PositionContainer.BOTTOM);\n } else if (p === PositionContainer.LEFT && left < windowOffset) {\n newPosition.push(PositionContainer.RIGHT);\n } else if (p === PositionContainer.BOTTOM && bottomOffset > 0) {\n newPosition.push(PositionContainer.TOP);\n } else if (p === PositionContainer.RIGHT && rightOffset > 0) {\n newPosition.push(PositionContainer.LEFT);\n } else {\n newPosition.push(p);\n }\n }\n\n return newPosition.join(' ') as PositionContainer;\n};\n\nexport const fixModalPosition = ({ top, left }: ModalPosition, m: PositionObject, windowOffset: number) => {\n const rightOffset = left + m.w + windowOffset - window.innerWidth;\n const bottomOffset = top + m.h + windowOffset - window.innerHeight;\n\n left = rightOffset > 0 ? left - rightOffset : left;\n top = bottomOffset > 0 ? top - bottomOffset : top;\n\n left = left < windowOffset ? windowOffset : left;\n top = top < windowOffset ? windowOffset : top;\n\n return { top, left };\n};\n\ntype getModalPositionRelativeToContainerParams = GetModalPositionParams & {\n windowOffset: number;\n};\n\nexport const getModalPositionRelativeToContainer = ({\n c,\n m,\n offset,\n windowOffset,\n position,\n}: getModalPositionRelativeToContainerParams): Record<string, string> => {\n const params = { c, m, offset, position };\n let modalContainerStyle = getModalPosition(params);\n\n const oppositePosition = getOppositePosition(modalContainerStyle, position, windowOffset, m);\n\n if (oppositePosition !== position) {\n modalContainerStyle = getModalPosition({\n ...params,\n position: oppositePosition,\n });\n }\n\n const fixedPosition = fixModalPosition(modalContainerStyle, m, windowOffset);\n\n return {\n left: `${fixedPosition.left}px`,\n top: `${fixedPosition.top}px`,\n };\n};\n","import { PositionContainer } from './get-modal-position';\n\nexport type GetModalPositionRelativeToScreenParams = {\n position: PositionContainer;\n windowOffset: number;\n};\n\nexport const getModalPositionRelativeToScreen = ({\n position,\n windowOffset,\n}: GetModalPositionRelativeToScreenParams): Record<string, string> => {\n switch (position) {\n case PositionContainer.CENTER:\n return {\n top: '50%',\n left: '50%',\n transform: 'translate(-50%, -50%)',\n };\n\n case PositionContainer.TOP:\n case PositionContainer.TOP_CENTER:\n return {\n top: `${windowOffset}px`,\n left: '50%',\n transform: 'translateX(-50%)',\n };\n\n case PositionContainer.TOP_LEFT:\n case PositionContainer.LEFT_TOP:\n return {\n top: `${windowOffset}px`,\n left: `${windowOffset}px`,\n };\n\n case PositionContainer.TOP_RIGHT:\n case PositionContainer.RIGHT_TOP:\n return {\n top: `${windowOffset}px`,\n right: `${windowOffset}px`,\n };\n\n case PositionContainer.BOTTOM:\n case PositionContainer.BOTTOM_CENTER:\n return {\n bottom: `${windowOffset}px`,\n left: '50%',\n transform: 'translateX(-50%)',\n };\n\n case PositionContainer.LEFT_BOTTOM:\n case PositionContainer.BOTTOM_LEFT:\n return {\n bottom: `${windowOffset}px`,\n left: `${windowOffset}px`,\n };\n\n case PositionContainer.RIGHT_BOTTOM:\n case PositionContainer.BOTTOM_RIGHT:\n return {\n bottom: `${windowOffset}px`,\n right: `${windowOffset}px`,\n };\n\n case PositionContainer.LEFT:\n case PositionContainer.LEFT_CENTER:\n return {\n top: '50%',\n left: `${windowOffset}px`,\n transform: 'translateY(-50%)',\n };\n\n case PositionContainer.RIGHT:\n case PositionContainer.RIGHT_CENTER:\n return {\n top: '50%',\n right: `${windowOffset}px`,\n transform: 'translateY(-50%)',\n };\n }\n\n return {\n top: '50%',\n left: '50%',\n transform: 'translate(-50%, -50%)',\n };\n};\n","export type ToCapitalizeOptions = Partial<{\n separator: string;\n join: string;\n variant: 'first-word' | 'each-word';\n}>;\n\nexport const toCapitalize = (text: string, options: ToCapitalizeOptions = {}) => {\n const { separator = ' ', variant = 'each-word', join = separator } = options;\n\n if (variant === 'first-word') {\n return text[0].toUpperCase() + text.slice(1);\n }\n\n const words = text.split(separator);\n\n return words.map(word => word[0].toUpperCase() + word.slice(1)).join(join);\n};\n"],"mappings":"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","names":["formatBytes","bytes","decimals","k","dm","sizes","i","MONTHS_SHORT","formatDate","date","parsedDate","timeBetween","date_start","date_end","start","end","diffMs","minutes","hours","days","months","years","PositionContainer","getModalPosition","c","m","offset","position","top","left","getOppositePosition","windowOffset","positions","newPosition","rightOffset","bottomOffset","fixModalPosition","getModalPositionRelativeToContainer","params","modalContainerStyle","oppositePosition","fixedPosition","getModalPositionRelativeToScreen","position","windowOffset","toCapitalize","text","options","separator","variant","join","word"]}
package/dist/hooks.cjs CHANGED
@@ -1,3 +1,3 @@
1
1
  "use client";
2
- "use strict";var ce=Object.create;var g=Object.defineProperty;var ue=Object.getOwnPropertyDescriptor;var le=Object.getOwnPropertyNames;var me=Object.getPrototypeOf,de=Object.prototype.hasOwnProperty;var pe=(e,t)=>{for(var o in t)g(e,o,{get:t[o],enumerable:!0})},z=(e,t,o,n)=>{if(t&&typeof t=="object"||typeof t=="function")for(let r of le(t))!de.call(e,r)&&r!==o&&g(e,r,{get:()=>t[r],enumerable:!(n=ue(t,r))||n.enumerable});return e};var Te=(e,t,o)=>(o=e!=null?ce(me(e)):{},z(t||!e||!e.__esModule?g(o,"default",{value:e,enumerable:!0}):o,e)),fe=e=>z(g({},"__esModule",{value:!0}),e);var Xe={};pe(Xe,{FileTypeEnum:()=>te,ModalState:()=>re,useAsync:()=>ve,useClassNames:()=>be,useClickOutside:()=>D,useConstant:()=>Me,useCookie:()=>ge,useDebounce:()=>he,useDimensions:()=>Pe,useDomContainer:()=>Ce,useEventListener:()=>l,useFileReader:()=>ke,useGeolocation:()=>Ne,useHover:()=>He,useInView:()=>Ie,useInputHandlers:()=>Ae,useIntersectionObserver:()=>B,useMediaQuery:()=>Ge,useModal:()=>we,useModalInContainer:()=>De,useModalTransition:()=>Be,useMousePosition:()=>je,useOnlineStatus:()=>Fe,useRenderCount:()=>_e,useResizeObserver:()=>x,useSafeDispatch:()=>w,useScroll:()=>$e,useStateHistory:()=>Ue,useToggle:()=>ze,useToggleValues:()=>Ve,useViewport:()=>Ye});module.exports=fe(Xe);var p=require("react");var v=require("react"),w=e=>{let t=(0,v.useRef)(!1);return(0,v.useLayoutEffect)(()=>(t.current=!0,()=>{t.current=!1}),[]),(0,v.useCallback)((...o)=>{t.current&&e(...o)},[e])};var Ee=(e,t)=>{switch(t.type){case"pending":return{status:"pending",data:null,error:null};case"resolved":return{status:"resolved",data:t.data,error:null};case"rejected":return{status:"rejected",data:null,error:t.error};default:throw new Error(`Unhandled action: ${JSON.stringify(t)}`)}},ve=e=>{let[t,o]=(0,p.useReducer)(Ee,{status:"idle",data:null,error:null,...e}),n=w(o),r=(0,p.useCallback)(a=>{n({type:"pending"}),a.then(c=>{n({type:"resolved",data:c})},c=>{n({type:"rejected",error:c})})},[n]),s=(0,p.useCallback)(a=>n({type:"resolved",data:a}),[n]),i=(0,p.useCallback)(a=>n({type:"rejected",error:a}),[n]);return(0,p.useMemo)(()=>({setData:s,setError:i,run:r,...t}),[t,r,s,i])};var V=require("react"),be=e=>(0,V.useMemo)(()=>Object.entries(e).reduce((t,[o,n])=>n?[...t,o]:t,[]).join(" "),[e]);var b=require("react");function l(e,t,o,n){let r=(0,b.useRef)(t);(0,b.useEffect)(()=>{r.current=t},[t]),(0,b.useLayoutEffect)(()=>{let s=o?.current??window;if(!(s&&s.addEventListener))return;let i=a=>r.current(a);return s.addEventListener(e,i,n),()=>{s.removeEventListener(e,i,n)}},[e,o,n])}var xe=(e,t)=>e.current&&!e.current.contains(t),D=(e,t)=>{l("keydown",o=>{o.key==="Escape"&&t()}),l("mousedown",o=>{let n=o.target;if(!n?.isConnected)return;(Array.isArray(e)?e:[e]).every(s=>xe(s,n))&&t()})};var Y=require("react"),Me=e=>(0,Y.useState)(e)[0];var y=require("react"),Oe=e=>{let t=[];if(e.expires instanceof Date)t.push(`expires=${e.expires.toUTCString()}`);else if(typeof e.days=="number"){let o=new Date;o.setTime(o.getTime()+e.days*24*60*60*1e3),t.push(`expires=${o.toUTCString()}`)}return typeof e.maxAge=="number"&&t.push(`max-age=${e.maxAge}`),t.push(`path=${e.path??"/"}`),e.domain&&t.push(`domain=${e.domain}`),e.secure&&t.push("secure"),e.sameSite&&t.push(`SameSite=${e.sameSite}`),t.length>0?`; ${t.join("; ")}`:""},X=(e,t,o={})=>{if(typeof document>"u")return;let n=encodeURIComponent(t),r=Oe(o);document.cookie=`${e}=${n}${r}`},ye=e=>{if(typeof document>"u")return null;let t=`${e}=`,o=document.cookie?document.cookie.split(";"):[];for(let n of o){let r=n.trim();if(r.indexOf(t)===0)return decodeURIComponent(r.substring(t.length))}return null},Re=(e,t={})=>{typeof document>"u"||X(e,"",{...t,days:-1})},ge=(e,t,o={})=>{let[n,r]=(0,y.useState)(()=>{let a=ye(e);if(a!==null)try{return JSON.parse(a)}catch{return t}return t}),s=(0,y.useCallback)((a,c={})=>{let u={...o,...c},m=JSON.stringify(a);X(e,m,u),r(a)},[e,o]),i=(0,y.useCallback)(()=>{Re(e,o),r(t)},[e,t,o]);return[n,s,i]};var h=require("react"),he=(e,t=500)=>{let[o,n]=(0,h.useState)(e);return(0,h.useEffect)(()=>{let r=setTimeout(()=>n(e),t);return()=>{clearTimeout(r)}},[e,t]),o};var Q=require("react");var W=require("react"),x=(e,t)=>{(0,W.useEffect)(()=>{let o=Array.isArray(e)?e:[e],n=new ResizeObserver(t);return o.forEach(r=>r.current&&n.observe(r.current)),()=>{n.disconnect()}},[e,t])};var Pe=e=>{let[t,o]=(0,Q.useState)({width:0,height:0});return x(e,([n])=>{if((n?.borderBoxSize??[])[0]){let{inlineSize:r,blockSize:s}=n.borderBoxSize[0];o({width:r,height:s})}else if(n.contentRect){let{width:r,height:s}=n.contentRect;o({width:r,height:s})}}),t};var P=require("react"),J=e=>{let t=document.getElementById(e);return t===null&&(t=document.createElement("div"),t.setAttribute("id",e),document.body.appendChild(t)),t},Ce=e=>{let[t,o]=(0,P.useState)(()=>J(e));return(0,P.useEffect)(()=>{let n=document.getElementById(e);if(t===null||n===null){let r=J(e);o(r)}return()=>{t&&t.parentNode}},[t,e]),t};var C=require("react");var K=(e,t=2)=>{if(e===0)return"0 Bytes";let o=1e3,n=t<0?0:t,r=["Bytes","KB","MB","GB","TB","PB","EB","ZB","YB"],s=Math.floor(Math.log(e)/Math.log(o));return parseFloat((e/Math.pow(o,s)).toFixed(n))+" "+r[s]};var Z=({c:e,m:t,offset:o,position:n})=>{let r=e.y+e.h+o,s=e.x-(t.w-e.w)*(50/100);switch(n){case"top":case"top center":r=e.y-t.h-o,s=e.x-(t.w-e.w)/2;break;case"top left":r=e.y-t.h-o,s=e.x-t.w+e.w;break;case"top right":r=e.y-t.h-o,s=e.x;break;case"bottom":case"bottom center":r=e.y+e.h+o,s=e.x-(t.w-e.w)/2;break;case"bottom left":r=e.y+e.h+o,s=e.x-t.w+e.w;break;case"bottom right":r=e.y+e.h+o,s=e.x;break;case"left":case"left center":r=e.y-(t.h-e.h)/2,s=e.x-t.w-o;break;case"left top":r=e.y-t.h+e.h,s=e.x-t.w-o;break;case"left bottom":r=e.y,s=e.x-t.w-o;break;case"right":case"right center":r=e.y-(t.h-e.h)/2,s=e.x+e.w+o;break;case"right top":r=e.y-t.h+e.h,s=e.x+e.w+o;break;case"right bottom":r=e.y,s=e.x+e.w+o;break}return{left:Math.round(s),top:Math.round(r)}},Le=({top:e,left:t},o,n,r)=>{let s=o.split(" "),i=[],a=t+r.w+n-window.innerWidth,c=e+r.h+n-window.innerHeight;for(let u of s)u==="top"&&e<n?i.push("bottom"):u==="left"&&t<n?i.push("right"):u==="bottom"&&c>0?i.push("top"):u==="right"&&a>0?i.push("left"):i.push(u);return i.join(" ")},Se=({top:e,left:t},o,n)=>{let r=t+o.w+n-window.innerWidth,s=e+o.h+n-window.innerHeight;return t=r>0?t-r:t,e=s>0?e-s:e,t=t<n?n:t,e=e<n?n:e,{top:e,left:t}},q=({c:e,m:t,offset:o,windowOffset:n,position:r})=>{let s={c:e,m:t,offset:o,position:r},i=Z(s),a=Le(i,r,n,t);a!==r&&(i=Z({...s,position:a}));let c=Se(i,t,n);return{left:`${c.left}px`,top:`${c.top}px`}};var ee=({position:e,windowOffset:t})=>{switch(e){case"center":return{top:"50%",left:"50%",transform:"translate(-50%, -50%)"};case"top":case"top center":return{top:`${t}px`,left:"50%",transform:"translateX(-50%)"};case"top left":case"left top":return{top:`${t}px`,left:`${t}px`};case"top right":case"right top":return{top:`${t}px`,right:`${t}px`};case"bottom":case"bottom center":return{bottom:`${t}px`,left:"50%",transform:"translateX(-50%)"};case"left bottom":case"bottom left":return{bottom:`${t}px`,left:`${t}px`};case"right bottom":case"bottom right":return{bottom:`${t}px`,right:`${t}px`};case"left":case"left center":return{top:"50%",left:`${t}px`,transform:"translateY(-50%)"};case"right":case"right center":return{top:"50%",right:`${t}px`,transform:"translateY(-50%)"}}return{top:"50%",left:"50%",transform:"translate(-50%, -50%)"}};var te=(o=>(o.PNG="image/png",o.PDF="application/pdf",o))(te||{}),ke=e=>{let[t,o]=(0,C.useState)([]);return(0,C.useEffect)(()=>{let n=[],r=!1;if(!Array.isArray(e)||e.length===0)o([]);else{let s=e.map(i=>new Promise((a,c)=>{let u=new FileReader;n.push(u),u.onload=m=>{m.target?.result&&a({name:i.name,size:i.size,formatSize:K(i.size),type:i.type,url:m.target.result})},u.onabort=()=>{c(new Error("File reading aborted"))},u.onerror=()=>{c(new Error("Failed to read file"))},u.readAsDataURL(i)}));Promise.all(s).then(i=>{r||o(i)})}return()=>{r=!0,n.forEach(s=>{s.abort()})}},[e]),t};var T=require("react"),Ne=()=>{let[e,t]=(0,T.useState)(null),[o,n]=(0,T.useState)(null),[r,s]=(0,T.useState)(!0),i=(0,T.useRef)(null);return(0,T.useEffect)(()=>{if(!navigator.geolocation){n({code:0,message:"Geolocation is not supported by your browser."}),s(!1);return}let a=u=>{t({...u.coords,timestamp:u.timestamp}),s(!1)},c=u=>{n({code:u.code,message:u.message}),s(!1)};return navigator.geolocation.getCurrentPosition(a,c),i.current=navigator.geolocation.watchPosition(a,c),()=>{i.current!==null&&navigator.geolocation.clearWatch(i.current)}},[]),{data:e,error:o,isLoading:r}};var f=require("react");var He=()=>{let[e,t]=(0,f.useState)(!1),o=(0,f.useRef)(null),n=(0,f.useCallback)(()=>t(!0),[]),r=(0,f.useCallback)(()=>t(!1),[]);return l("mouseenter",n,o),l("mouseleave",r,o),e};var L=require("react");var oe=require("react"),B=(e,t,o={})=>{(0,oe.useEffect)(()=>{let n=Array.isArray(e)?e:[e],r=new IntersectionObserver(t,o);return n.forEach(s=>s.current&&r.observe(s.current)),()=>{r.disconnect()}},[t,o,e])};var Ie=(e={})=>{let[t,o]=(0,L.useState)(!1),n=(0,L.useRef)(null);return B(n,([r])=>{o(r.isIntersecting)},e),{ref:n,inView:t}};var M=require("react"),Ae=({onBlur:e,onFocus:t,onChange:o}={})=>{let[n,r]=(0,M.useState)(!1),s=(0,M.useCallback)(c=>{r(!0),t&&t(c)},[t]),i=(0,M.useCallback)(c=>{r(!1),e&&e(c)},[e]),a=(0,M.useCallback)(c=>{o&&o(c)},[o]);return{isFocus:n,handlers:{onFocus:s,onBlur:i,onChange:a}}};var S=require("react"),Ge=e=>{let[t,o]=(0,S.useState)(!1);return(0,S.useEffect)(()=>{let n=window.matchMedia(e);n.matches!==t&&o(n.matches);let r=()=>{o(n.matches)};return n.addEventListener("change",r),()=>{n.removeEventListener("change",r)}},[t,e]),t};var k=require("react"),we=()=>{let e=(0,k.useRef)(null),[t,o]=(0,k.useState)(!1);return{containerRef:e,isOpen:t,openModal:()=>{o(!0)},closeModal:()=>{o(!1)}}};var E=require("react");var ne=e=>({x:e.x,y:e.y,w:e.width,h:e.height,top:e.top,left:e.left}),De=({closeOnClickOutside:e=!0,offset:t=0,windowOffset:o=0,position:n="bottom",modalRef:r,containerRef:s,isOpen:i,onClose:a})=>{let c=(0,E.useRef)(null);D(r,()=>{i&&e&&a()});let u=(0,E.useCallback)((j,ae)=>{let F=j.current?.getClientRects()[0],_=ae.current?.getClientRects()[0];if(!F)return;let $=_?q({c:ne(_),m:ne(F),offset:t,windowOffset:o,position:n}):ee({position:n,windowOffset:o});Object.keys($).forEach(U=>{j.current?.style.setProperty(U,$[U])})},[n,o,t]),m=(0,E.useCallback)(()=>{i&&u(r,s??c)},[u,i,s,r]);(0,E.useLayoutEffect)(m,[m]),x(s??c,m),x(r,m),l("resize",m),l("scroll",m,r)};var d=Te(require("react"),1),re=(r=>(r.OPENING="OPENING",r.OPEN="OPEN",r.CLOSING="CLOSING",r.CLOSED="CLOSED",r))(re||{}),Be=({transitionDuration:e=0,onClose:t,isOpen:o})=>{let[n,r]=d.default.useState("CLOSED"),s=(0,d.useMemo)(()=>n!=="CLOSED",[n]);(0,d.useEffect)(()=>{document.documentElement.style.overflow=s?"hidden":"auto"},[s]);let i=(0,d.useCallback)(()=>{["OPENING","OPEN"].includes(n)&&(e>0?(r("CLOSING"),setTimeout(()=>{r("CLOSED"),t()},e)):r("CLOSED"))},[t,n,e]),a=(0,d.useCallback)(()=>{["CLOSING","CLOSED"].includes(n)&&(e>0?(r("OPENING"),setTimeout(()=>{r("OPEN")},e)):r("OPEN"))},[n,e]);return(0,d.useLayoutEffect)(()=>{n==="CLOSED"&&o?a():n==="OPEN"&&!o&&i()},[o,a,i,n]),{isVisible:s,modalState:n}};var N=require("react");var se=(e,t)=>{let{left:o,top:n}=e,r=o+window.scrollX,s=n+window.scrollY,i=t.pageX-r,a=t.pageY-s;return{x:t.pageX,y:t.pageY,elementX:i,elementY:a,elementPositionX:r,elementPositionY:s}},je=e=>{let t=(0,N.useRef)(null),[o,n]=(0,N.useState)({x:null,y:null,elementX:null,elementY:null,elementPositionX:null,elementPositionY:null});return l("mousemove",s=>{let{clientX:i,clientY:a}=s;if(n(c=>({...c,x:i,y:a})),e?.current instanceof Element){let c=se(e.current.getBoundingClientRect(),s);n(u=>({...u,...c}))}else if(t.current instanceof Element){let c=se(t.current.getBoundingClientRect(),s);n(u=>({...u,...c}))}}),{...o,ref:t}};var ie=require("react");var Fe=()=>{let[e,t]=(0,ie.useState)(navigator.onLine);return l("online",()=>t(navigator.onLine)),l("offline",()=>t(navigator.onLine)),e};var H=require("react"),_e=()=>{let e=(0,H.useRef)(1);return(0,H.useEffect)(()=>{e.current++}),e.current};var O=require("react"),$e=()=>{let e=(0,O.useRef)(null),[t,o]=(0,O.useState)([0,0]);return(0,O.useEffect)(()=>{let n=e.current,r=()=>{n&&o([n.scrollLeft,n.scrollTop])};return n&&n.addEventListener("scroll",r),()=>{n&&n.removeEventListener("scroll",r)}},[]),{ref:e,position:t}};var R=require("react");function Ue(e){let[t,o]=(0,R.useState)(e),[n,r]=(0,R.useState)([]);return(0,R.useEffect)(()=>{t!==void 0&&r(s=>[...s,t])},[t]),[t,o,n]}var I=require("react"),ze=(e=!1)=>{let[t,o]=(0,I.useState)(e),n=(0,I.useCallback)(()=>{o(r=>!r)},[]);return[t,n,o]};var A=require("react"),Ve=(e,t=0)=>{let[o,n]=(0,A.useState)(t),r=(0,A.useCallback)(s=>{n(s!==void 0?s:i=>(i+1)%e.length)},[e.length]);return[e[o],r]};var G=require("react");var Ye=()=>{let e=()=>{let{innerWidth:n,innerHeight:r}=window;return{width:n,height:r,orientation:n>r?"landscape":"portrait"}},[t,o]=(0,G.useState)(e);return l("resize",()=>{o(e())}),(0,G.useEffect)(()=>{o(e())},[]),t};0&&(module.exports={FileTypeEnum,ModalState,useAsync,useClassNames,useClickOutside,useConstant,useCookie,useDebounce,useDimensions,useDomContainer,useEventListener,useFileReader,useGeolocation,useHover,useInView,useInputHandlers,useIntersectionObserver,useMediaQuery,useModal,useModalInContainer,useModalTransition,useMousePosition,useOnlineStatus,useRenderCount,useResizeObserver,useSafeDispatch,useScroll,useStateHistory,useToggle,useToggleValues,useViewport});
2
+ "use strict";var ae=Object.create;var g=Object.defineProperty;var ue=Object.getOwnPropertyDescriptor;var ce=Object.getOwnPropertyNames;var le=Object.getPrototypeOf,me=Object.prototype.hasOwnProperty;var de=(e,t)=>{for(var n in t)g(e,n,{get:t[n],enumerable:!0})},U=(e,t,n,o)=>{if(t&&typeof t=="object"||typeof t=="function")for(let r of ce(t))!me.call(e,r)&&r!==n&&g(e,r,{get:()=>t[r],enumerable:!(o=ue(t,r))||o.enumerable});return e};var pe=(e,t,n)=>(n=e!=null?ae(le(e)):{},U(t||!e||!e.__esModule?g(n,"default",{value:e,enumerable:!0}):n,e)),Te=e=>U(g({},"__esModule",{value:!0}),e);var Xe={};de(Xe,{FileTypeEnum:()=>te,ModalState:()=>re,useAsync:()=>Ee,useClassNames:()=>ve,useClickOutside:()=>xe,useConstant:()=>Me,useCookie:()=>ge,useDebounce:()=>w,useDebounceState:()=>he,useDimensions:()=>Pe,useDomContainer:()=>Ce,useEventListener:()=>l,useFileReader:()=>ke,useGeolocation:()=>Ne,useHover:()=>He,useInView:()=>Ie,useInputHandlers:()=>Ae,useIntersectionObserver:()=>B,useMediaQuery:()=>De,useModal:()=>Ge,useModalInContainer:()=>we,useModalTransition:()=>Be,useMousePosition:()=>je,useOnlineStatus:()=>Fe,useRenderCount:()=>_e,useResizeObserver:()=>x,useSafeDispatch:()=>G,useScroll:()=>$e,useStateHistory:()=>Ue,useToggle:()=>ze,useToggleValues:()=>Ve,useViewport:()=>Ye});module.exports=Te(Xe);var d=require("react");var v=require("react"),G=e=>{let t=(0,v.useRef)(!1);return(0,v.useLayoutEffect)(()=>(t.current=!0,()=>{t.current=!1}),[]),(0,v.useCallback)((...n)=>{t.current&&e(...n)},[e])};var fe=(e,t)=>{switch(t.type){case"pending":return{status:"pending",data:null,error:null};case"resolved":return{status:"resolved",data:t.data,error:null};case"rejected":return{status:"rejected",data:null,error:t.error};default:throw new Error(`Unhandled action: ${JSON.stringify(t)}`)}},Ee=e=>{let[t,n]=(0,d.useReducer)(fe,{status:"idle",data:null,error:null,...e}),o=G(n),r=(0,d.useCallback)(u=>{o({type:"pending"}),u.then(a=>{o({type:"resolved",data:a})},a=>{o({type:"rejected",error:a})})},[o]),s=(0,d.useCallback)(u=>o({type:"resolved",data:u}),[o]),i=(0,d.useCallback)(u=>o({type:"rejected",error:u}),[o]);return(0,d.useMemo)(()=>({setData:s,setError:i,run:r,...t}),[t,r,s,i])};var z=require("react"),ve=e=>(0,z.useMemo)(()=>Object.entries(e).reduce((t,[n,o])=>o?[...t,n]:t,[]).join(" "),[e]);var b=require("react");function l(e,t,n,o){let r=(0,b.useRef)(t);(0,b.useEffect)(()=>{r.current=t},[t]),(0,b.useLayoutEffect)(()=>{let s=n?.current??window;if(!(s&&s.addEventListener))return;let i=u=>r.current(u);return s.addEventListener(e,i,o),()=>{s.removeEventListener(e,i,o)}},[e,n,o])}var be=(e,t)=>e.current&&!e.current.contains(t),xe=(e,t)=>{l("keydown",n=>{n.key==="Escape"&&t()}),l("mousedown",n=>{let o=n.target;if(!o?.isConnected)return;(Array.isArray(e)?e:[e]).every(s=>be(s,o))&&t()})};var V=require("react"),Me=e=>(0,V.useState)(e)[0];var y=require("react"),Oe=e=>{let t=[];if(e.expires instanceof Date)t.push(`expires=${e.expires.toUTCString()}`);else if(typeof e.days=="number"){let n=new Date;n.setTime(n.getTime()+e.days*24*60*60*1e3),t.push(`expires=${n.toUTCString()}`)}return typeof e.maxAge=="number"&&t.push(`max-age=${e.maxAge}`),t.push(`path=${e.path??"/"}`),e.domain&&t.push(`domain=${e.domain}`),e.secure&&t.push("secure"),e.sameSite&&t.push(`SameSite=${e.sameSite}`),t.length>0?`; ${t.join("; ")}`:""},Y=(e,t,n={})=>{if(typeof document>"u")return;let o=encodeURIComponent(t),r=Oe(n);document.cookie=`${e}=${o}${r}`},ye=e=>{if(typeof document>"u")return null;let t=`${e}=`,n=document.cookie?document.cookie.split(";"):[];for(let o of n){let r=o.trim();if(r.indexOf(t)===0)return decodeURIComponent(r.substring(t.length))}return null},Re=(e,t={})=>{typeof document>"u"||Y(e,"",{...t,days:-1})},ge=(e,t,n={})=>{let[o,r]=(0,y.useState)(()=>{let u=ye(e);if(u!==null)try{return JSON.parse(u)}catch{return t}return t}),s=(0,y.useCallback)((u,a={})=>{let c={...n,...a},E=JSON.stringify(u);Y(e,E,c),r(u)},[e,n]),i=(0,y.useCallback)(()=>{Re(e,n),r(t)},[e,t,n]);return[o,s,i]};var h=require("react"),w=(e,t=500)=>{let[n,o]=(0,h.useState)(e);return(0,h.useEffect)(()=>{let r=setTimeout(()=>o(e),t);return()=>{clearTimeout(r)}},[e,t]),n};var X=require("react");var he=(e,t=500)=>{let[n,o]=(0,X.useState)(e),r=w(n,t);return[n,r,o]};var Q=require("react");var W=require("react"),x=(e,t)=>{(0,W.useEffect)(()=>{let n=Array.isArray(e)?e:[e],o=new ResizeObserver(t);return n.forEach(r=>r.current&&o.observe(r.current)),()=>{o.disconnect()}},[e,t])};var Pe=e=>{let[t,n]=(0,Q.useState)({width:0,height:0});return x(e,([o])=>{if((o?.borderBoxSize??[])[0]){let{inlineSize:r,blockSize:s}=o.borderBoxSize[0];n({width:r,height:s})}else if(o.contentRect){let{width:r,height:s}=o.contentRect;n({width:r,height:s})}}),t};var P=require("react"),J=e=>{let t=document.getElementById(e);return t===null&&(t=document.createElement("div"),t.setAttribute("id",e),document.body.appendChild(t)),t},Ce=e=>{let[t,n]=(0,P.useState)(()=>J(e));return(0,P.useEffect)(()=>{let o=document.getElementById(e);if(t===null||o===null){let r=J(e);n(r)}return()=>{t&&t.parentNode&&process.env.NODE_ENV==="production"&&document.body.removeChild(t)}},[t,e]),t};var C=require("react");var K=(e,t=2)=>{if(e===0)return"0 Bytes";let n=1e3,o=t<0?0:t,r=["Bytes","KB","MB","GB","TB","PB","EB","ZB","YB"],s=Math.floor(Math.log(e)/Math.log(n));return parseFloat((e/Math.pow(n,s)).toFixed(o))+" "+r[s]};var Z=({c:e,m:t,offset:n,position:o})=>{let r=e.y+e.h+n,s=e.x-(t.w-e.w)*(50/100);switch(o){case"top":case"top center":r=e.y-t.h-n,s=e.x-(t.w-e.w)/2;break;case"top left":r=e.y-t.h-n,s=e.x-t.w+e.w;break;case"top right":r=e.y-t.h-n,s=e.x;break;case"bottom":case"bottom center":r=e.y+e.h+n,s=e.x-(t.w-e.w)/2;break;case"bottom left":r=e.y+e.h+n,s=e.x-t.w+e.w;break;case"bottom right":r=e.y+e.h+n,s=e.x;break;case"left":case"left center":r=e.y-(t.h-e.h)/2,s=e.x-t.w-n;break;case"left top":r=e.y-t.h+e.h,s=e.x-t.w-n;break;case"left bottom":r=e.y,s=e.x-t.w-n;break;case"right":case"right center":r=e.y-(t.h-e.h)/2,s=e.x+e.w+n;break;case"right top":r=e.y-t.h+e.h,s=e.x+e.w+n;break;case"right bottom":r=e.y,s=e.x+e.w+n;break}return{left:Math.round(s),top:Math.round(r)}},Se=({top:e,left:t},n,o,r)=>{let s=n.split(" "),i=[],u=t+r.w+o-window.innerWidth,a=e+r.h+o-window.innerHeight;for(let c of s)c==="top"&&e<o?i.push("bottom"):c==="left"&&t<o?i.push("right"):c==="bottom"&&a>0?i.push("top"):c==="right"&&u>0?i.push("left"):i.push(c);return i.join(" ")},Le=({top:e,left:t},n,o)=>{let r=t+n.w+o-window.innerWidth,s=e+n.h+o-window.innerHeight;return t=r>0?t-r:t,e=s>0?e-s:e,t=t<o?o:t,e=e<o?o:e,{top:e,left:t}},q=({c:e,m:t,offset:n,windowOffset:o,position:r})=>{let s={c:e,m:t,offset:n,position:r},i=Z(s),u=Se(i,r,o,t);u!==r&&(i=Z({...s,position:u}));let a=Le(i,t,o);return{left:`${a.left}px`,top:`${a.top}px`}};var ee=({position:e,windowOffset:t})=>{switch(e){case"center":return{top:"50%",left:"50%",transform:"translate(-50%, -50%)"};case"top":case"top center":return{top:`${t}px`,left:"50%",transform:"translateX(-50%)"};case"top left":case"left top":return{top:`${t}px`,left:`${t}px`};case"top right":case"right top":return{top:`${t}px`,right:`${t}px`};case"bottom":case"bottom center":return{bottom:`${t}px`,left:"50%",transform:"translateX(-50%)"};case"left bottom":case"bottom left":return{bottom:`${t}px`,left:`${t}px`};case"right bottom":case"bottom right":return{bottom:`${t}px`,right:`${t}px`};case"left":case"left center":return{top:"50%",left:`${t}px`,transform:"translateY(-50%)"};case"right":case"right center":return{top:"50%",right:`${t}px`,transform:"translateY(-50%)"}}return{top:"50%",left:"50%",transform:"translate(-50%, -50%)"}};var te=(n=>(n.PNG="image/png",n.PDF="application/pdf",n))(te||{}),ke=e=>{let[t,n]=(0,C.useState)([]);return(0,C.useEffect)(()=>{let o=[],r=!1;if(!Array.isArray(e)||e.length===0)n([]);else{let s=e.map(i=>new Promise((u,a)=>{let c=new FileReader;o.push(c),c.onload=E=>{E.target?.result&&u({name:i.name,size:i.size,formatSize:K(i.size),type:i.type,url:E.target.result})},c.onabort=()=>{a(new Error("File reading aborted"))},c.onerror=()=>{a(new Error("Failed to read file"))},c.readAsDataURL(i)}));Promise.all(s).then(i=>{r||n(i)})}return()=>{r=!0,o.forEach(s=>{s.abort()})}},[e]),t};var p=require("react"),Ne=()=>{let[e,t]=(0,p.useState)(null),[n,o]=(0,p.useState)(null),[r,s]=(0,p.useState)(!0),i=(0,p.useRef)(null);return(0,p.useEffect)(()=>{if(!navigator.geolocation){o({code:0,message:"Geolocation is not supported by your browser."}),s(!1);return}let u=c=>{t({...c.coords,timestamp:c.timestamp}),s(!1)},a=c=>{o({code:c.code,message:c.message}),s(!1)};return navigator.geolocation.getCurrentPosition(u,a),i.current=navigator.geolocation.watchPosition(u,a),()=>{i.current!==null&&navigator.geolocation.clearWatch(i.current)}},[]),{data:e,error:n,isLoading:r}};var T=require("react");var He=()=>{let[e,t]=(0,T.useState)(!1),n=(0,T.useRef)(null),o=(0,T.useCallback)(()=>t(!0),[]),r=(0,T.useCallback)(()=>t(!1),[]);return l("mouseenter",o,n),l("mouseleave",r,n),e};var S=require("react");var ne=require("react"),B=(e,t,n={})=>{(0,ne.useEffect)(()=>{let o=Array.isArray(e)?e:[e],r=new IntersectionObserver(t,n);return o.forEach(s=>s.current&&r.observe(s.current)),()=>{r.disconnect()}},[t,n,e])};var Ie=(e={})=>{let[t,n]=(0,S.useState)(!1),o=(0,S.useRef)(null);return B(o,([r])=>{n(r.isIntersecting)},e),{ref:o,inView:t}};var M=require("react"),Ae=({onBlur:e,onFocus:t,onChange:n}={})=>{let[o,r]=(0,M.useState)(!1),s=(0,M.useCallback)(a=>{r(!0),t&&t(a)},[t]),i=(0,M.useCallback)(a=>{r(!1),e&&e(a)},[e]),u=(0,M.useCallback)(a=>{n&&n(a)},[n]);return{isFocus:o,handlers:{onFocus:s,onBlur:i,onChange:u}}};var L=require("react"),De=e=>{let[t,n]=(0,L.useState)(!1);return(0,L.useEffect)(()=>{let o=window.matchMedia(e);o.matches!==t&&n(o.matches);let r=()=>{n(o.matches)};return o.addEventListener("change",r),()=>{o.removeEventListener("change",r)}},[t,e]),t};var k=require("react"),Ge=()=>{let e=(0,k.useRef)(null),[t,n]=(0,k.useState)(!1);return{containerRef:e,isOpen:t,openModal:()=>{n(!0)},closeModal:()=>{n(!1)}}};var f=require("react");var oe=e=>({x:e.x,y:e.y,w:e.width,h:e.height,top:e.top,left:e.left}),we=({offset:e=0,windowOffset:t=0,position:n="bottom",modalRef:o,containerRef:r,isOpen:s})=>{let i=(0,f.useRef)(null),u=(0,f.useCallback)((c,E)=>{let j=c.current?.getClientRects()[0],F=E.current?.getClientRects()[0];if(!j)return;let _=F?q({c:oe(F),m:oe(j),offset:e,windowOffset:t,position:n}):ee({position:n,windowOffset:t});Object.keys(_).forEach($=>{c.current?.style.setProperty($,_[$])})},[n,t,e]),a=(0,f.useCallback)(()=>{s&&u(o,r??i)},[u,s,r,o]);(0,f.useLayoutEffect)(a,[a]),x(r??i,a),x(o,a),l("resize",a),l("scroll",a,o)};var m=pe(require("react"),1),re=(r=>(r.OPENING="OPENING",r.OPEN="OPEN",r.CLOSING="CLOSING",r.CLOSED="CLOSED",r))(re||{}),Be=({transitionDuration:e=0,isOpen:t})=>{let[n,o]=m.default.useState("CLOSED"),r=(0,m.useMemo)(()=>n!=="CLOSED",[n]);(0,m.useEffect)(()=>{document.documentElement.style.overflow=r?"hidden":"auto"},[r]);let s=(0,m.useCallback)(()=>{["OPENING","OPEN"].includes(n)&&(e>0?(o("CLOSING"),setTimeout(()=>{o("CLOSED")},e)):o("CLOSED"))},[n,e]),i=(0,m.useCallback)(()=>{["CLOSING","CLOSED"].includes(n)&&(e>0?(o("OPENING"),setTimeout(()=>{o("OPEN")},e)):o("OPEN"))},[n,e]);return(0,m.useLayoutEffect)(()=>{n==="CLOSED"&&t?i():n==="OPEN"&&!t&&s()},[t,i,s,n]),{isVisible:r,modalState:n}};var N=require("react");var se=(e,t)=>{let{left:n,top:o}=e,r=n+window.scrollX,s=o+window.scrollY,i=t.pageX-r,u=t.pageY-s;return{x:t.pageX,y:t.pageY,elementX:i,elementY:u,elementPositionX:r,elementPositionY:s}},je=e=>{let t=(0,N.useRef)(null),[n,o]=(0,N.useState)({x:null,y:null,elementX:null,elementY:null,elementPositionX:null,elementPositionY:null});return l("mousemove",s=>{let{clientX:i,clientY:u}=s;if(o(a=>({...a,x:i,y:u})),e?.current instanceof Element){let a=se(e.current.getBoundingClientRect(),s);o(c=>({...c,...a}))}else if(t.current instanceof Element){let a=se(t.current.getBoundingClientRect(),s);o(c=>({...c,...a}))}}),{...n,ref:t}};var ie=require("react");var Fe=()=>{let[e,t]=(0,ie.useState)(navigator.onLine);return l("online",()=>t(navigator.onLine)),l("offline",()=>t(navigator.onLine)),e};var H=require("react"),_e=()=>{let e=(0,H.useRef)(1);return(0,H.useEffect)(()=>{e.current++}),e.current};var O=require("react"),$e=()=>{let e=(0,O.useRef)(null),[t,n]=(0,O.useState)([0,0]);return(0,O.useEffect)(()=>{let o=e.current,r=()=>{o&&n([o.scrollLeft,o.scrollTop])};return o&&o.addEventListener("scroll",r),()=>{o&&o.removeEventListener("scroll",r)}},[]),{ref:e,position:t}};var R=require("react");function Ue(e){let[t,n]=(0,R.useState)(e),[o,r]=(0,R.useState)([]);return(0,R.useEffect)(()=>{t!==void 0&&r(s=>[...s,t])},[t]),[t,n,o]}var I=require("react"),ze=(e=!1)=>{let[t,n]=(0,I.useState)(e),o=(0,I.useCallback)(()=>{n(r=>!r)},[]);return[t,o,n]};var A=require("react"),Ve=(e,t=0)=>{let[n,o]=(0,A.useState)(t),r=(0,A.useCallback)(s=>{o(s!==void 0?s:i=>(i+1)%e.length)},[e.length]);return[e[n],r]};var D=require("react");var Ye=()=>{let e=()=>{let{innerWidth:o,innerHeight:r}=window;return{width:o,height:r,orientation:o>r?"landscape":"portrait"}},[t,n]=(0,D.useState)(e);return l("resize",()=>{n(e())}),(0,D.useEffect)(()=>{n(e())},[]),t};0&&(module.exports={FileTypeEnum,ModalState,useAsync,useClassNames,useClickOutside,useConstant,useCookie,useDebounce,useDebounceState,useDimensions,useDomContainer,useEventListener,useFileReader,useGeolocation,useHover,useInView,useInputHandlers,useIntersectionObserver,useMediaQuery,useModal,useModalInContainer,useModalTransition,useMousePosition,useOnlineStatus,useRenderCount,useResizeObserver,useSafeDispatch,useScroll,useStateHistory,useToggle,useToggleValues,useViewport});
3
3
  //# sourceMappingURL=hooks.cjs.map