polpo 0.1.7 → 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.
- package/dist/components.cjs +31 -0
- package/dist/components.cjs.map +1 -0
- package/dist/components.d.cts +1866 -0
- package/dist/components.d.ts +1866 -0
- package/dist/components.js +31 -0
- package/dist/components.js.map +1 -0
- package/dist/{get-modal-position-drle0OjP.d.cts → get-modal-position-C5jQsaGx.d.cts} +1 -1
- package/dist/{get-modal-position-drle0OjP.d.ts → get-modal-position-C5jQsaGx.d.ts} +1 -1
- package/dist/helpers.cjs +1 -1
- package/dist/helpers.cjs.map +1 -1
- package/dist/helpers.d.cts +2 -2
- package/dist/helpers.d.ts +2 -2
- package/dist/helpers.js +1 -1
- package/dist/helpers.js.map +1 -1
- package/dist/hooks.cjs +1 -1
- package/dist/hooks.cjs.map +1 -1
- package/dist/hooks.d.cts +15 -13
- package/dist/hooks.d.ts +15 -13
- package/dist/hooks.js +1 -1
- package/dist/hooks.js.map +1 -1
- package/dist/layouts.cjs +4 -0
- package/dist/layouts.cjs.map +1 -0
- package/dist/{ui.d.cts → layouts.d.cts} +237 -2202
- package/dist/{ui.d.ts → layouts.d.ts} +237 -2202
- package/dist/layouts.js +4 -0
- package/dist/layouts.js.map +1 -0
- package/dist/types.cjs +3 -0
- package/dist/types.cjs.map +1 -0
- package/dist/types.d.cts +8 -0
- package/dist/types.d.ts +8 -0
- package/dist/types.js +2 -0
- package/dist/types.js.map +1 -0
- package/dist/{use-modal-transition-XQHye62R.d.cts → use-modal-transition-C0lyjvkD.d.ts} +4 -4
- package/dist/{use-modal-transition-DPZFWFFf.d.ts → use-modal-transition-C7DzbnY5.d.cts} +4 -4
- package/package.json +76 -76
- package/.eslintrc.cjs +0 -9
- package/.storybook/decorators.tsx +0 -61
- package/.storybook/main.ts +0 -47
- package/.storybook/manager-head.html +0 -2
- package/.storybook/manager.ts +0 -7
- package/.storybook/preview-head.html +0 -2
- package/.storybook/preview.ts +0 -38
- package/.storybook/theme.ts +0 -47
- package/.turbo/turbo-lint.log +0 -4
- package/README.md +0 -65
- package/dist/chunk-CF5MBMWG.js +0 -3
- package/dist/chunk-CF5MBMWG.js.map +0 -1
- package/dist/chunk-MAWW6AA7.js +0 -3
- package/dist/chunk-MAWW6AA7.js.map +0 -1
- package/dist/ui.cjs +0 -2279
- package/dist/ui.cjs.map +0 -1
- package/dist/ui.js +0 -2279
- package/dist/ui.js.map +0 -1
- package/src/components/accordion/accordion-item.stories.tsx +0 -128
- package/src/components/accordion/accordion-item.tsx +0 -119
- package/src/components/accordion/accordion.stories.tsx +0 -74
- package/src/components/accordion/accordion.style.ts +0 -42
- package/src/components/accordion/accordion.tsx +0 -74
- package/src/components/accordion/index.ts +0 -2
- package/src/components/buttons/button/button.stories.tsx +0 -103
- package/src/components/buttons/button/button.style.ts +0 -152
- package/src/components/buttons/button/button.tsx +0 -107
- package/src/components/buttons/button/index.ts +0 -1
- package/src/components/buttons/index.ts +0 -1
- package/src/components/cards/flip-card/flip-card.stories.tsx +0 -61
- package/src/components/cards/flip-card/flip-card.style.ts +0 -45
- package/src/components/cards/flip-card/flip-card.tsx +0 -55
- package/src/components/cards/flip-card/index.ts +0 -1
- package/src/components/cards/hover-card/hover-card.stories.tsx +0 -45
- package/src/components/cards/hover-card/hover-card.style.ts +0 -13
- package/src/components/cards/hover-card/hover-card.tsx +0 -71
- package/src/components/cards/hover-card/index.ts +0 -1
- package/src/components/cards/index.ts +0 -3
- package/src/components/cards/slide-card/index.ts +0 -1
- package/src/components/cards/slide-card/slide-card.stories.tsx +0 -47
- package/src/components/cards/slide-card/slide-card.tsx +0 -42
- package/src/components/cursor/cursor.stories.tsx +0 -36
- package/src/components/cursor/cursor.style.ts +0 -73
- package/src/components/cursor/cursor.tsx +0 -49
- package/src/components/cursor/index.ts +0 -1
- package/src/components/form/checkbox/checkbox.stories.tsx +0 -85
- package/src/components/form/checkbox/checkbox.style.ts +0 -109
- package/src/components/form/checkbox/checkbox.tsx +0 -120
- package/src/components/form/checkbox/index.ts +0 -1
- package/src/components/form/controller/controller.tsx +0 -42
- package/src/components/form/controller/index.ts +0 -1
- package/src/components/form/date-picker/date-picker.stories.tsx +0 -38
- package/src/components/form/date-picker/date-picker.tsx +0 -67
- package/src/components/form/date-picker/index.ts +0 -1
- package/src/components/form/field/field.stories.tsx +0 -52
- package/src/components/form/field/field.style.ts +0 -94
- package/src/components/form/field/field.tsx +0 -86
- package/src/components/form/field/field.types.ts +0 -34
- package/src/components/form/field/index.ts +0 -2
- package/src/components/form/form.stories.types.tsx +0 -50
- package/src/components/form/form.types.ts +0 -37
- package/src/components/form/index.ts +0 -14
- package/src/components/form/input/index.ts +0 -1
- package/src/components/form/input/input.stories.tsx +0 -41
- package/src/components/form/input/input.tsx +0 -73
- package/src/components/form/input-color/index.ts +0 -1
- package/src/components/form/input-color/input-color.stories.tsx +0 -46
- package/src/components/form/input-color/input-color.style.ts +0 -94
- package/src/components/form/input-color/input-color.tsx +0 -162
- package/src/components/form/input-file/index.ts +0 -1
- package/src/components/form/input-file/input-file.stories.tsx +0 -40
- package/src/components/form/input-file/input-file.style.ts +0 -143
- package/src/components/form/input-file/input-file.tsx +0 -214
- package/src/components/form/input-password/index.ts +0 -1
- package/src/components/form/input-password/input-password.stories.tsx +0 -37
- package/src/components/form/input-password/input-password.tsx +0 -83
- package/src/components/form/radio/index.ts +0 -1
- package/src/components/form/radio/radio.stories.tsx +0 -68
- package/src/components/form/radio/radio.style.ts +0 -79
- package/src/components/form/radio/radio.tsx +0 -106
- package/src/components/form/select/data.stories.json +0 -452
- package/src/components/form/select/index.ts +0 -1
- package/src/components/form/select/option.tsx +0 -101
- package/src/components/form/select/options.tsx +0 -161
- package/src/components/form/select/select.stories.tsx +0 -369
- package/src/components/form/select/select.style.ts +0 -116
- package/src/components/form/select/select.tsx +0 -312
- package/src/components/form/select/select.types.ts +0 -97
- package/src/components/form/slider/index.ts +0 -1
- package/src/components/form/slider/slider.stories.tsx +0 -40
- package/src/components/form/slider/slider.style.ts +0 -92
- package/src/components/form/slider/slider.tsx +0 -108
- package/src/components/form/switch/index.ts +0 -1
- package/src/components/form/switch/switch.stories.tsx +0 -88
- package/src/components/form/switch/switch.style.ts +0 -137
- package/src/components/form/switch/switch.tsx +0 -177
- package/src/components/form/textarea/index.ts +0 -1
- package/src/components/form/textarea/textarea.stories.tsx +0 -43
- package/src/components/form/textarea/textarea.style.ts +0 -7
- package/src/components/form/textarea/textarea.tsx +0 -76
- package/src/components/icon/icon.stories.tsx +0 -63
- package/src/components/icon/icon.tsx +0 -64
- package/src/components/icon/icons/index.ts +0 -18
- package/src/components/icon/icons/object.tsx +0 -482
- package/src/components/icon/icons/social.tsx +0 -88
- package/src/components/icon/icons/symbol.tsx +0 -776
- package/src/components/icon/index.ts +0 -5
- package/src/components/image/image.stories.tsx +0 -25
- package/src/components/image/image.tsx +0 -7
- package/src/components/image/index.ts +0 -1
- package/src/components/index.ts +0 -17
- package/src/components/infinity-scroll/index.ts +0 -1
- package/src/components/infinity-scroll/infinity-scroll.stories.tsx +0 -118
- package/src/components/infinity-scroll/infinity-scroll.style.ts +0 -30
- package/src/components/infinity-scroll/infinity-scroll.tsx +0 -53
- package/src/components/line/index.ts +0 -1
- package/src/components/line/line.stories.tsx +0 -66
- package/src/components/line/line.style.ts +0 -57
- package/src/components/line/line.tsx +0 -76
- package/src/components/loaders/icons/box-1.tsx +0 -31
- package/src/components/loaders/icons/box-2.tsx +0 -30
- package/src/components/loaders/icons/box-3.tsx +0 -66
- package/src/components/loaders/icons/clock-1.tsx +0 -25
- package/src/components/loaders/icons/clock-2.tsx +0 -58
- package/src/components/loaders/icons/dots-1.tsx +0 -194
- package/src/components/loaders/icons/dots-2.tsx +0 -15
- package/src/components/loaders/icons/dots-3.tsx +0 -38
- package/src/components/loaders/icons/dots-4.tsx +0 -90
- package/src/components/loaders/icons/dots-5.tsx +0 -30
- package/src/components/loaders/icons/dots-6.tsx +0 -72
- package/src/components/loaders/icons/dots-7.tsx +0 -51
- package/src/components/loaders/icons/dots-8.tsx +0 -42
- package/src/components/loaders/icons/dots-9.tsx +0 -27
- package/src/components/loaders/icons/lines-1.tsx +0 -96
- package/src/components/loaders/icons/lines-2.tsx +0 -48
- package/src/components/loaders/icons/pulse-1.tsx +0 -69
- package/src/components/loaders/icons/pulse-2.tsx +0 -69
- package/src/components/loaders/icons/pulse-3.tsx +0 -105
- package/src/components/loaders/icons/pulse-4.tsx +0 -105
- package/src/components/loaders/icons/pulse-5.tsx +0 -56
- package/src/components/loaders/icons/spinner-1.tsx +0 -162
- package/src/components/loaders/icons/spinner-2.tsx +0 -147
- package/src/components/loaders/icons/spinner-3.tsx +0 -35
- package/src/components/loaders/icons/spinner-4.tsx +0 -16
- package/src/components/loaders/index.ts +0 -1
- package/src/components/loaders/simple-loader/index.ts +0 -1
- package/src/components/loaders/simple-loader/simple-loader.stories.tsx +0 -42
- package/src/components/loaders/simple-loader/simple-loader.style.ts +0 -12
- package/src/components/loaders/simple-loader/simple-loader.tsx +0 -99
- package/src/components/modals/action-modal/action-modal.stories.tsx +0 -157
- package/src/components/modals/action-modal/action-modal.style.ts +0 -117
- package/src/components/modals/action-modal/action-modal.tsx +0 -148
- package/src/components/modals/action-modal/index.ts +0 -1
- package/src/components/modals/aside-modal/aside-modal.stories.tsx +0 -81
- package/src/components/modals/aside-modal/aside-modal.style.ts +0 -88
- package/src/components/modals/aside-modal/aside-modal.tsx +0 -64
- package/src/components/modals/aside-modal/index.ts +0 -1
- package/src/components/modals/confirmation-modal/confirmation-modal.stories.tsx +0 -62
- package/src/components/modals/confirmation-modal/confirmation-modal.style.ts +0 -17
- package/src/components/modals/confirmation-modal/confirmation-modal.tsx +0 -43
- package/src/components/modals/confirmation-modal/index.ts +0 -1
- package/src/components/modals/index.ts +0 -6
- package/src/components/modals/menu/index.ts +0 -1
- package/src/components/modals/menu/menu.stories.tsx +0 -79
- package/src/components/modals/menu/menu.style.ts +0 -103
- package/src/components/modals/menu/menu.tsx +0 -186
- package/src/components/modals/modal/backdrop.tsx +0 -70
- package/src/components/modals/modal/index.ts +0 -2
- package/src/components/modals/modal/modal.stories.tsx +0 -328
- package/src/components/modals/modal/modal.style.ts +0 -70
- package/src/components/modals/modal/modal.tsx +0 -106
- package/src/components/modals/portal/index.ts +0 -1
- package/src/components/modals/portal/portal.tsx +0 -21
- package/src/components/ripple/index.ts +0 -1
- package/src/components/ripple/ripple.stories.tsx +0 -38
- package/src/components/ripple/ripple.style.ts +0 -33
- package/src/components/ripple/ripple.tsx +0 -65
- package/src/components/smart-table/index.ts +0 -1
- package/src/components/smart-table/smart-table.column.tsx +0 -63
- package/src/components/smart-table/smart-table.helpers.tsx +0 -59
- package/src/components/smart-table/smart-table.hooks.ts +0 -27
- package/src/components/smart-table/smart-table.row.tsx +0 -29
- package/src/components/smart-table/smart-table.stories.tsx +0 -301
- package/src/components/smart-table/smart-table.style.ts +0 -102
- package/src/components/smart-table/smart-table.tsx +0 -112
- package/src/components/smart-table/smart-table.types.ts +0 -41
- package/src/components/tabs/index.ts +0 -1
- package/src/components/tabs/tabs-container.stories.tsx +0 -159
- package/src/components/tabs/tabs-list.tsx +0 -134
- package/src/components/tabs/tabs.stories.tsx +0 -68
- package/src/components/tabs/tabs.style.ts +0 -137
- package/src/components/tabs/tabs.tsx +0 -117
- package/src/components/tag/index.ts +0 -1
- package/src/components/tag/tag.stories.tsx +0 -48
- package/src/components/tag/tag.style.ts +0 -29
- package/src/components/tag/tag.tsx +0 -34
- package/src/components/tooltips/click-to-copy/click-to-copy.stories.tsx +0 -39
- package/src/components/tooltips/click-to-copy/click-to-copy.tsx +0 -41
- package/src/components/tooltips/click-to-copy/index.ts +0 -1
- package/src/components/tooltips/index.ts +0 -2
- package/src/components/tooltips/tooltip/index.ts +0 -1
- package/src/components/tooltips/tooltip/tooltip.stories.tsx +0 -38
- package/src/components/tooltips/tooltip/tooltip.style.ts +0 -93
- package/src/components/tooltips/tooltip/tooltip.tsx +0 -59
- package/src/components/typography/index.ts +0 -2
- package/src/components/typography/typography.constants.ts +0 -43
- package/src/components/typography/typography.stories.tsx +0 -108
- package/src/components/typography/typography.style.ts +0 -76
- package/src/components/typography/typography.tsx +0 -100
- package/src/contexts/fetch-context/fetch-context.tsx +0 -114
- package/src/contexts/fetch-context/index.ts +0 -1
- package/src/contexts/form-context/form-context.tsx +0 -43
- package/src/contexts/form-context/index.ts +0 -1
- package/src/contexts/index.ts +0 -3
- package/src/contexts/theme-context/index.ts +0 -3
- package/src/contexts/theme-context/theme-context.tsx +0 -158
- package/src/contexts/theme-context/theme.animations.ts +0 -269
- package/src/contexts/theme-context/theme.defaults.ts +0 -209
- package/src/contexts/theme-context/theme.style.ts +0 -78
- package/src/contexts/theme-context/themes.ts +0 -98
- package/src/core/http-client.d.ts +0 -11
- package/src/core/http-client.d.ts.map +0 -1
- package/src/core/http-client.ts +0 -49
- package/src/core/index.d.ts +0 -2
- package/src/core/index.d.ts.map +0 -1
- package/src/core/index.ts +0 -1
- package/src/core/variants/color.ts +0 -9
- package/src/core/variants/index.ts +0 -3
- package/src/core/variants/radius.ts +0 -27
- package/src/core/variants/size.ts +0 -19
- package/src/helpers/format-bytes.ts +0 -11
- package/src/helpers/format-dates.ts +0 -11
- package/src/helpers/get-modal-position-relative-to-screen.ts +0 -86
- package/src/helpers/get-modal-position.ts +0 -211
- package/src/helpers/index.ts +0 -5
- package/src/helpers/text/index.ts +0 -1
- package/src/helpers/text/to-capitalize.ts +0 -17
- package/src/hooks/index.ts +0 -29
- package/src/hooks/use-async.ts +0 -88
- package/src/hooks/use-classnames.ts +0 -13
- package/src/hooks/use-click-outside.ts +0 -32
- package/src/hooks/use-constant.ts +0 -3
- package/src/hooks/use-cookie.ts +0 -124
- package/src/hooks/use-debounce.ts +0 -15
- package/src/hooks/use-dimensions.ts +0 -19
- package/src/hooks/use-dom-container.ts +0 -35
- package/src/hooks/use-event-listener.ts +0 -71
- package/src/hooks/use-file-reader.ts +0 -69
- package/src/hooks/use-geolocation.ts +0 -63
- package/src/hooks/use-hover.ts +0 -17
- package/src/hooks/use-in-view.ts +0 -18
- package/src/hooks/use-input-handlers.ts +0 -49
- package/src/hooks/use-intersection-observer.ts +0 -19
- package/src/hooks/use-media-query.ts +0 -25
- package/src/hooks/use-modal-in-container.ts +0 -85
- package/src/hooks/use-modal-transition.ts +0 -64
- package/src/hooks/use-modal.ts +0 -21
- package/src/hooks/use-mouse-position.ts +0 -64
- package/src/hooks/use-online-status.ts +0 -12
- package/src/hooks/use-render-count.ts +0 -11
- package/src/hooks/use-resize-observer.ts +0 -18
- package/src/hooks/use-safe-dispatch.ts +0 -22
- package/src/hooks/use-scroll.ts +0 -31
- package/src/hooks/use-state-history.ts +0 -22
- package/src/hooks/use-toggle-values.ts +0 -14
- package/src/hooks/use-toggle.ts +0 -11
- package/src/hooks/use-viewport.ts +0 -38
- package/src/index.ts +0 -5
- package/src/layouts/flex/flex.tsx +0 -75
- package/src/layouts/flex/index.ts +0 -1
- package/src/layouts/grid/grid.tsx +0 -86
- package/src/layouts/grid/index.ts +0 -1
- package/src/layouts/index.ts +0 -3
- package/src/layouts/section-layout/index.ts +0 -1
- package/src/layouts/section-layout/section-layout.stories.tsx +0 -55
- package/src/layouts/section-layout/section-layout.style.ts +0 -21
- package/src/layouts/section-layout/section-layout.tsx +0 -46
- package/src/stories/GettingStarted.mdx +0 -62
- package/src/types/generics.ts +0 -68
- package/src/types/index.ts +0 -1
- package/svg/Name=airplane, Category=object.svg +0 -3
- package/svg/Name=arrow-circle, Category=symbol.svg +0 -3
- package/svg/Name=arrow-down, Category=symbol.svg +0 -3
- package/svg/Name=arrow-left, Category=symbol.svg +0 -3
- package/svg/Name=arrow-right, Category=symbol.svg +0 -3
- package/svg/Name=arrow-up, Category=symbol.svg +0 -3
- package/svg/Name=bell, Category=object.svg +0 -3
- package/svg/Name=bicycle, Category=object.svg +0 -3
- package/svg/Name=book-open, Category=object.svg +0 -3
- package/svg/Name=book-solid, Category=object.svg +0 -6
- package/svg/Name=box-shadow, Category=symbol.svg +0 -5
- package/svg/Name=calendar, Category=object.svg +0 -3
- package/svg/Name=camera, Category=object.svg +0 -3
- package/svg/Name=caret-down, Category=symbol.svg +0 -3
- package/svg/Name=caret-left, Category=symbol.svg +0 -3
- package/svg/Name=caret-right, Category=symbol.svg +0 -3
- package/svg/Name=caret-up, Category=symbol.svg +0 -3
- package/svg/Name=checkmark, Category=symbol.svg +0 -3
- package/svg/Name=clean-computer, Category=object.svg +0 -10
- package/svg/Name=codepen, Category=social.svg +0 -3
- package/svg/Name=creative, Category=symbol.svg +0 -5
- package/svg/Name=cross, Category=symbol.svg +0 -4
- package/svg/Name=crossed-flags, Category=object.svg +0 -4
- package/svg/Name=cv, Category=symbol.svg +0 -5
- package/svg/Name=design-ui, Category=symbol.svg +0 -9
- package/svg/Name=document, Category=object.svg +0 -3
- package/svg/Name=door-closed, Category=object.svg +0 -3
- package/svg/Name=door-open, Category=object.svg +0 -3
- package/svg/Name=double-caret-down, Category=symbol.svg +0 -4
- package/svg/Name=double-caret-left, Category=symbol.svg +0 -4
- package/svg/Name=double-caret-righ, Category=symbol.svg +0 -4
- package/svg/Name=double-caret-up, Category=symbol.svg +0 -4
- package/svg/Name=download, Category=symbol.svg +0 -5
- package/svg/Name=dropper, Category=object.svg +0 -5
- package/svg/Name=envelope, Category=object.svg +0 -3
- package/svg/Name=exclamation-close, Category=symbol.svg +0 -4
- package/svg/Name=exclamation-open, Category=symbol.svg +0 -4
- package/svg/Name=external-link, Category=symbol.svg +0 -3
- package/svg/Name=eye, Category=object.svg +0 -4
- package/svg/Name=eye-hidden, Category=object.svg +0 -7
- package/svg/Name=facebook, Category=social.svg +0 -3
- package/svg/Name=form, Category=symbol.svg +0 -8
- package/svg/Name=game-control, Category=object.svg +0 -3
- package/svg/Name=gear, Category=object.svg +0 -3
- package/svg/Name=github, Category=social.svg +0 -3
- package/svg/Name=house, Category=object.svg +0 -3
- package/svg/Name=hyphen, Category=symbol.svg +0 -3
- package/svg/Name=info, Category=symbol.svg +0 -3
- package/svg/Name=instagram, Category=social.svg +0 -3
- package/svg/Name=link, Category=symbol.svg +0 -5
- package/svg/Name=linkedin, Category=social.svg +0 -3
- package/svg/Name=magnifying-glass, Category=object.svg +0 -3
- package/svg/Name=message, Category=symbol.svg +0 -4
- package/svg/Name=moon, Category=object.svg +0 -5
- package/svg/Name=npm, Category=social.svg +0 -3
- package/svg/Name=order-list, Category=symbol.svg +0 -7
- package/svg/Name=pencil, Category=object.svg +0 -3
- package/svg/Name=pin-location, Category=symbol.svg +0 -3
- package/svg/Name=question-mark-close, Category=symbol.svg +0 -3
- package/svg/Name=question-mark-open, Category=symbol.svg +0 -3
- package/svg/Name=share, Category=symbol.svg +0 -5
- package/svg/Name=spinner, Category=symbol.svg +0 -9
- package/svg/Name=star, Category=object.svg +0 -3
- package/svg/Name=star-empty, Category=object.svg +0 -3
- package/svg/Name=sun, Category=object.svg +0 -11
- package/svg/Name=text-shadow, Category=symbol.svg +0 -4
- package/svg/Name=thinking, Category=symbol.svg +0 -3
- package/svg/Name=trash-can, Category=object.svg +0 -4
- package/svg/Name=upload, Category=symbol.svg +0 -5
- package/svg/Name=user, Category=symbol.svg +0 -4
- package/svg/Name=warning, Category=symbol.svg +0 -5
- package/svg/Name=whatsapp, Category=social.svg +0 -3
- package/svgconfig.json +0 -4
- package/tsconfig.json +0 -15
- package/tsup.config.cjs +0 -21
- 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,
|
|
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,
|
|
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
|
|
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
|
package/dist/helpers.cjs.map
CHANGED
|
@@ -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"]}
|
package/dist/helpers.d.cts
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
import { P as PositionContainer } from './get-modal-position-
|
|
2
|
-
export { G as GetModalPositionParams, M as ModalPosition, a as PositionObject, f as fixModalPosition, g as getModalPosition,
|
|
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-
|
|
2
|
-
export { G as GetModalPositionParams, M as ModalPosition, a as PositionObject, f as fixModalPosition, g as getModalPosition,
|
|
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
|
-
|
|
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
|
package/dist/helpers.js.map
CHANGED
|
@@ -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 se=Object.create;var g=Object.defineProperty;var ie=Object.getOwnPropertyDescriptor;var ae=Object.getOwnPropertyNames;var ce=Object.getPrototypeOf,ue=Object.prototype.hasOwnProperty;var le=(e,t)=>{for(var n in t)g(e,n,{get:t[n],enumerable:!0})},$=(e,t,n,o)=>{if(t&&typeof t=="object"||typeof t=="function")for(let r of ae(t))!ue.call(e,r)&&r!==n&&g(e,r,{get:()=>t[r],enumerable:!(o=ie(t,r))||o.enumerable});return e};var me=(e,t,n)=>(n=e!=null?se(ce(e)):{},$(t||!e||!e.__esModule?g(n,"default",{value:e,enumerable:!0}):n,e)),de=e=>$(g({},"__esModule",{value:!0}),e);var Ve={};le(Ve,{FileTypeEnum:()=>q,ModalState:()=>ne,useAsync:()=>Te,useClassNames:()=>fe,useClickOutside:()=>ve,useConstant:()=>be,useCookie:()=>ye,useDebounce:()=>Re,useDimensions:()=>ge,useDomContainer:()=>he,useEventListener:()=>l,useFileReader:()=>Le,useGeolocation:()=>Se,useHover:()=>ke,useInView:()=>Ne,useInputHandlers:()=>He,useIntersectionObserver:()=>w,useMediaQuery:()=>Ie,useModal:()=>Ae,useModalInContainer:()=>Ge,useModalTransition:()=>De,useMousePosition:()=>we,useOnlineStatus:()=>Be,useRenderCount:()=>je,useResizeObserver:()=>x,useSafeDispatch:()=>D,useScroll:()=>Fe,useStateHistory:()=>_e,useToggle:()=>$e,useToggleValues:()=>Ue,useViewport:()=>ze});module.exports=de(Ve);var d=require("react");var v=require("react"),D=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 pe=(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)}`)}},Te=e=>{let[t,n]=(0,d.useReducer)(pe,{status:"idle",data:null,error:null,...e}),o=D(n),r=(0,d.useCallback)(c=>{o({type:"pending"}),c.then(a=>{o({type:"resolved",data:a})},a=>{o({type:"rejected",error:a})})},[o]),s=(0,d.useCallback)(c=>o({type:"resolved",data:c}),[o]),i=(0,d.useCallback)(c=>o({type:"rejected",error:c}),[o]);return(0,d.useMemo)(()=>({setData:s,setError:i,run:r,...t}),[t,r,s,i])};var U=require("react"),fe=e=>(0,U.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=c=>r.current(c);return s.addEventListener(e,i,o),()=>{s.removeEventListener(e,i,o)}},[e,n,o])}var Ee=(e,t)=>e.current&&!e.current.contains(t),ve=(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=>Ee(s,o))&&t()})};var z=require("react"),be=e=>(0,z.useState)(e)[0];var y=require("react"),xe=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("; ")}`:""},V=(e,t,n={})=>{if(typeof document>"u")return;let o=encodeURIComponent(t),r=xe(n);document.cookie=`${e}=${o}${r}`},Me=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},Oe=(e,t={})=>{typeof document>"u"||V(e,"",{...t,days:-1})},ye=(e,t,n={})=>{let[o,r]=(0,y.useState)(()=>{let c=Me(e);if(c!==null)try{return JSON.parse(c)}catch{return t}return t}),s=(0,y.useCallback)((c,a={})=>{let u={...n,...a},E=JSON.stringify(c);V(e,E,u),r(c)},[e,n]),i=(0,y.useCallback)(()=>{Oe(e,n),r(t)},[e,t,n]);return[o,s,i]};var h=require("react"),Re=(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 Y=require("react"),x=(e,t)=>{(0,Y.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 ge=e=>{let[t,n]=(0,X.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"),W=e=>{let t=document.getElementById(e);return t===null&&(t=document.createElement("div"),t.setAttribute("id",e),document.body.appendChild(t)),t},he=e=>{let[t,n]=(0,P.useState)(()=>W(e));return(0,P.useEffect)(()=>{let o=document.getElementById(e);if(t===null||o===null){let r=W(e);n(r)}return()=>{t&&t.parentNode&&process.env.NODE_ENV==="production"&&document.body.removeChild(t)}},[t,e]),t};var C=require("react");var Q=(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 J=({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)}},Pe=({top:e,left:t},n,o,r)=>{let s=n.split(" "),i=[],c=t+r.w+o-window.innerWidth,a=e+r.h+o-window.innerHeight;for(let u of s)u==="top"&&e<o?i.push("bottom"):u==="left"&&t<o?i.push("right"):u==="bottom"&&a>0?i.push("top"):u==="right"&&c>0?i.push("left"):i.push(u);return i.join(" ")},Ce=({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}},K=({c:e,m:t,offset:n,windowOffset:o,position:r})=>{let s={c:e,m:t,offset:n,position:r},i=J(s),c=Pe(i,r,o,t);c!==r&&(i=J({...s,position:c}));let a=Ce(i,t,o);return{left:`${a.left}px`,top:`${a.top}px`}};var Z=({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 q=(n=>(n.PNG="image/png",n.PDF="application/pdf",n))(q||{}),Le=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((c,a)=>{let u=new FileReader;o.push(u),u.onload=E=>{E.target?.result&&c({name:i.name,size:i.size,formatSize:Q(i.size),type:i.type,url:E.target.result})},u.onabort=()=>{a(new Error("File reading aborted"))},u.onerror=()=>{a(new Error("Failed to read file"))},u.readAsDataURL(i)}));Promise.all(s).then(i=>{r||n(i)})}return()=>{r=!0,o.forEach(s=>{s.abort()})}},[e]),t};var p=require("react"),Se=()=>{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 c=u=>{t({...u.coords,timestamp:u.timestamp}),s(!1)},a=u=>{o({code:u.code,message:u.message}),s(!1)};return navigator.geolocation.getCurrentPosition(c,a),i.current=navigator.geolocation.watchPosition(c,a),()=>{i.current!==null&&navigator.geolocation.clearWatch(i.current)}},[]),{data:e,error:n,isLoading:r}};var T=require("react");var ke=()=>{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 L=require("react");var ee=require("react"),w=(e,t,n={})=>{(0,ee.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 Ne=(e={})=>{let[t,n]=(0,L.useState)(!1),o=(0,L.useRef)(null);return w(o,([r])=>{n(r.isIntersecting)},e),{ref:o,inView:t}};var M=require("react"),He=({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]),c=(0,M.useCallback)(a=>{n&&n(a)},[n]);return{isFocus:o,handlers:{onFocus:s,onBlur:i,onChange:c}}};var S=require("react"),Ie=e=>{let[t,n]=(0,S.useState)(!1);return(0,S.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"),Ae=()=>{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 te=e=>({x:e.x,y:e.y,w:e.width,h:e.height,top:e.top,left:e.left}),Ge=({offset:e=0,windowOffset:t=0,position:n="bottom",modalRef:o,containerRef:r,isOpen:s})=>{let i=(0,f.useRef)(null),c=(0,f.useCallback)((u,E)=>{let B=u.current?.getClientRects()[0],j=E.current?.getClientRects()[0];if(!B)return;let F=j?K({c:te(j),m:te(B),offset:e,windowOffset:t,position:n}):Z({position:n,windowOffset:t});Object.keys(F).forEach(_=>{u.current?.style.setProperty(_,F[_])})},[n,t,e]),a=(0,f.useCallback)(()=>{s&&c(o,r??i)},[c,s,r,o]);(0,f.useLayoutEffect)(a,[a]),x(r??i,a),x(o,a),l("resize",a),l("scroll",a,o)};var m=me(require("react"),1),ne=(r=>(r.OPENING="OPENING",r.OPEN="OPEN",r.CLOSING="CLOSING",r.CLOSED="CLOSED",r))(ne||{}),De=({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 oe=(e,t)=>{let{left:n,top:o}=e,r=n+window.scrollX,s=o+window.scrollY,i=t.pageX-r,c=t.pageY-s;return{x:t.pageX,y:t.pageY,elementX:i,elementY:c,elementPositionX:r,elementPositionY:s}},we=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:c}=s;if(o(a=>({...a,x:i,y:c})),e?.current instanceof Element){let a=oe(e.current.getBoundingClientRect(),s);o(u=>({...u,...a}))}else if(t.current instanceof Element){let a=oe(t.current.getBoundingClientRect(),s);o(u=>({...u,...a}))}}),{...n,ref:t}};var re=require("react");var Be=()=>{let[e,t]=(0,re.useState)(navigator.onLine);return l("online",()=>t(navigator.onLine)),l("offline",()=>t(navigator.onLine)),e};var H=require("react"),je=()=>{let e=(0,H.useRef)(1);return(0,H.useEffect)(()=>{e.current++}),e.current};var O=require("react"),Fe=()=>{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 _e(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"),$e=(e=!1)=>{let[t,n]=(0,I.useState)(e),o=(0,I.useCallback)(()=>{n(r=>!r)},[]);return[t,o,n]};var A=require("react"),Ue=(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 G=require("react");var ze=()=>{let e=()=>{let{innerWidth:o,innerHeight:r}=window;return{width:o,height:r,orientation:o>r?"landscape":"portrait"}},[t,n]=(0,G.useState)(e);return l("resize",()=>{n(e())}),(0,G.useEffect)(()=>{n(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
|