@jenesei-software/jenesei-kit-react 1.0.0
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/LICENSE +21 -0
- package/README.md +102 -0
- package/build/area-9NUxwBGc.cjs +2 -0
- package/build/area-9NUxwBGc.cjs.map +1 -0
- package/build/area-BnAddPtl.js +114 -0
- package/build/area-BnAddPtl.js.map +1 -0
- package/build/area-C2sWYH-e.js +47 -0
- package/build/area-C2sWYH-e.js.map +1 -0
- package/build/area-CD10k19W.cjs +27 -0
- package/build/area-CD10k19W.cjs.map +1 -0
- package/build/area-ClrrGVJG.cjs +40 -0
- package/build/area-ClrrGVJG.cjs.map +1 -0
- package/build/area-D7906bXA.cjs +2 -0
- package/build/area-D7906bXA.cjs.map +1 -0
- package/build/area-DRqAofd0.js +35 -0
- package/build/area-DRqAofd0.js.map +1 -0
- package/build/area-DfCAwCiZ.js +69 -0
- package/build/area-DfCAwCiZ.js.map +1 -0
- package/build/area-outside.cjs.js +2 -0
- package/build/area-outside.cjs.js.map +1 -0
- package/build/area-outside.d.ts +28 -0
- package/build/area-outside.es.js +5 -0
- package/build/area-outside.es.js.map +1 -0
- package/build/area-preview.cjs.js +2 -0
- package/build/area-preview.cjs.js.map +1 -0
- package/build/area-preview.d.ts +48 -0
- package/build/area-preview.es.js +7 -0
- package/build/area-preview.es.js.map +1 -0
- package/build/area-scroll.cjs.js +2 -0
- package/build/area-scroll.cjs.js.map +1 -0
- package/build/area-scroll.d.ts +58 -0
- package/build/area-scroll.es.js +6 -0
- package/build/area-scroll.es.js.map +1 -0
- package/build/area-skeleton.cjs.js +2 -0
- package/build/area-skeleton.cjs.js.map +1 -0
- package/build/area-skeleton.d.ts +64 -0
- package/build/area-skeleton.es.js +6 -0
- package/build/area-skeleton.es.js.map +1 -0
- package/build/area-smooth.cjs.js +2 -0
- package/build/area-smooth.cjs.js.map +1 -0
- package/build/area-smooth.d.ts +37 -0
- package/build/area-smooth.es.js +5 -0
- package/build/area-smooth.es.js.map +1 -0
- package/build/area.hooks-Bk04M7mk.js +26 -0
- package/build/area.hooks-Bk04M7mk.js.map +1 -0
- package/build/area.hooks-C_UKZzcb.cjs +2 -0
- package/build/area.hooks-C_UKZzcb.cjs.map +1 -0
- package/build/build-info.txt +3 -0
- package/build/component--Oo5_3xq.cjs +2 -0
- package/build/component--Oo5_3xq.cjs.map +1 -0
- package/build/component-BV_7tGiu.cjs +28 -0
- package/build/component-BV_7tGiu.cjs.map +1 -0
- package/build/component-BcHiCCC9.js +23 -0
- package/build/component-BcHiCCC9.js.map +1 -0
- package/build/component-BnI7BIp-.cjs +2 -0
- package/build/component-BnI7BIp-.cjs.map +1 -0
- package/build/component-ByY_9Ryc.js +65 -0
- package/build/component-ByY_9Ryc.js.map +1 -0
- package/build/component-C2JFFh-k.js +2372 -0
- package/build/component-C2JFFh-k.js.map +1 -0
- package/build/component-C52VCES6.cjs +247 -0
- package/build/component-C52VCES6.cjs.map +1 -0
- package/build/component-CBshLNEf.js +50 -0
- package/build/component-CBshLNEf.js.map +1 -0
- package/build/component-CFMlaYj1.js +66 -0
- package/build/component-CFMlaYj1.js.map +1 -0
- package/build/component-CuiUpH8H.js +207 -0
- package/build/component-CuiUpH8H.js.map +1 -0
- package/build/component-D1NPhRuV.cjs +90 -0
- package/build/component-D1NPhRuV.cjs.map +1 -0
- package/build/component-DZxbW_Jz.js +237 -0
- package/build/component-DZxbW_Jz.js.map +1 -0
- package/build/component-UW1VzyvB.cjs +52 -0
- package/build/component-UW1VzyvB.cjs.map +1 -0
- package/build/component-accordion.cjs.js +2 -0
- package/build/component-accordion.cjs.js.map +1 -0
- package/build/component-accordion.d.ts +94 -0
- package/build/component-accordion.es.js +10 -0
- package/build/component-accordion.es.js.map +1 -0
- package/build/component-button-group.cjs.js +2 -0
- package/build/component-button-group.cjs.js.map +1 -0
- package/build/component-button-group.d.ts +320 -0
- package/build/component-button-group.es.js +6 -0
- package/build/component-button-group.es.js.map +1 -0
- package/build/component-button.cjs.js +2 -0
- package/build/component-button.cjs.js.map +1 -0
- package/build/component-button.d.ts +347 -0
- package/build/component-button.es.js +9 -0
- package/build/component-button.es.js.map +1 -0
- package/build/component-checkbox-group.cjs.js +2 -0
- package/build/component-checkbox-group.cjs.js.map +1 -0
- package/build/component-checkbox-group.d.ts +337 -0
- package/build/component-checkbox-group.es.js +11 -0
- package/build/component-checkbox-group.es.js.map +1 -0
- package/build/component-checkbox.cjs.js +2 -0
- package/build/component-checkbox.cjs.js.map +1 -0
- package/build/component-checkbox.d.ts +342 -0
- package/build/component-checkbox.es.js +10 -0
- package/build/component-checkbox.es.js.map +1 -0
- package/build/component-date-picker.cjs.js +2 -0
- package/build/component-date-picker.cjs.js.map +1 -0
- package/build/component-date-picker.d.ts +415 -0
- package/build/component-date-picker.es.js +17 -0
- package/build/component-date-picker.es.js.map +1 -0
- package/build/component-icon.cjs.js +2 -0
- package/build/component-icon.cjs.js.map +1 -0
- package/build/component-icon.d.ts +198 -0
- package/build/component-icon.es.js +12 -0
- package/build/component-icon.es.js.map +1 -0
- package/build/component-image-button.cjs.js +2 -0
- package/build/component-image-button.cjs.js.map +1 -0
- package/build/component-image-button.d.ts +340 -0
- package/build/component-image-button.es.js +5 -0
- package/build/component-image-button.es.js.map +1 -0
- package/build/component-image-select.cjs.js +2 -0
- package/build/component-image-select.cjs.js.map +1 -0
- package/build/component-image-select.d.ts +436 -0
- package/build/component-image-select.es.js +11 -0
- package/build/component-image-select.es.js.map +1 -0
- package/build/component-image-slider.cjs.js +2 -0
- package/build/component-image-slider.cjs.js.map +1 -0
- package/build/component-image-slider.d.ts +108 -0
- package/build/component-image-slider.es.js +8 -0
- package/build/component-image-slider.es.js.map +1 -0
- package/build/component-image.cjs.js +2 -0
- package/build/component-image.cjs.js.map +1 -0
- package/build/component-image.d.ts +51 -0
- package/build/component-image.es.js +6 -0
- package/build/component-image.es.js.map +1 -0
- package/build/component-input-otp.cjs.js +2 -0
- package/build/component-input-otp.cjs.js.map +1 -0
- package/build/component-input-otp.d.ts +150 -0
- package/build/component-input-otp.es.js +8 -0
- package/build/component-input-otp.es.js.map +1 -0
- package/build/component-input.cjs.js +2 -0
- package/build/component-input.cjs.js.map +1 -0
- package/build/component-input.d.ts +226 -0
- package/build/component-input.es.js +20 -0
- package/build/component-input.es.js.map +1 -0
- package/build/component-jPZYT5iL.js +76 -0
- package/build/component-jPZYT5iL.js.map +1 -0
- package/build/component-map.cjs.js +2 -0
- package/build/component-map.cjs.js.map +1 -0
- package/build/component-map.d.ts +97 -0
- package/build/component-map.es.js +18 -0
- package/build/component-map.es.js.map +1 -0
- package/build/component-nFn_uOy_.cjs +2 -0
- package/build/component-nFn_uOy_.cjs.map +1 -0
- package/build/component-pagination.cjs.js +2 -0
- package/build/component-pagination.cjs.js.map +1 -0
- package/build/component-pagination.d.ts +321 -0
- package/build/component-pagination.es.js +6 -0
- package/build/component-pagination.es.js.map +1 -0
- package/build/component-range.cjs.js +2 -0
- package/build/component-range.cjs.js.map +1 -0
- package/build/component-range.d.ts +153 -0
- package/build/component-range.es.js +8 -0
- package/build/component-range.es.js.map +1 -0
- package/build/component-ripple.cjs.js +2 -0
- package/build/component-ripple.cjs.js.map +1 -0
- package/build/component-ripple.d.ts +45 -0
- package/build/component-ripple.es.js +12 -0
- package/build/component-ripple.es.js.map +1 -0
- package/build/component-select.cjs.js +2 -0
- package/build/component-select.cjs.js.map +1 -0
- package/build/component-select.d.ts +406 -0
- package/build/component-select.es.js +25 -0
- package/build/component-select.es.js.map +1 -0
- package/build/component-separator.cjs.js +2 -0
- package/build/component-separator.cjs.js.map +1 -0
- package/build/component-separator.d.ts +46 -0
- package/build/component-separator.es.js +6 -0
- package/build/component-separator.es.js.map +1 -0
- package/build/component-stack.cjs.js +2 -0
- package/build/component-stack.cjs.js.map +1 -0
- package/build/component-stack.d.ts +72 -0
- package/build/component-stack.es.js +8 -0
- package/build/component-stack.es.js.map +1 -0
- package/build/component-textarea.cjs.js +2 -0
- package/build/component-textarea.cjs.js.map +1 -0
- package/build/component-textarea.d.ts +131 -0
- package/build/component-textarea.es.js +12 -0
- package/build/component-textarea.es.js.map +1 -0
- package/build/component-toggle.cjs.js +2 -0
- package/build/component-toggle.cjs.js.map +1 -0
- package/build/component-toggle.d.ts +101 -0
- package/build/component-toggle.es.js +7 -0
- package/build/component-toggle.es.js.map +1 -0
- package/build/component-tooltip.cjs.js +2 -0
- package/build/component-tooltip.cjs.js.map +1 -0
- package/build/component-tooltip.d.ts +170 -0
- package/build/component-tooltip.es.js +12 -0
- package/build/component-tooltip.es.js.map +1 -0
- package/build/component-typography.cjs.js +2 -0
- package/build/component-typography.cjs.js.map +1 -0
- package/build/component-typography.d.ts +183 -0
- package/build/component-typography.es.js +10 -0
- package/build/component-typography.es.js.map +1 -0
- package/build/component-xnEaYd4a.cjs +2 -0
- package/build/component-xnEaYd4a.cjs.map +1 -0
- package/build/component.components-BAAT5GTH.js +363 -0
- package/build/component.components-BAAT5GTH.js.map +1 -0
- package/build/component.components-CaR5gfQW.cjs +16 -0
- package/build/component.components-CaR5gfQW.cjs.map +1 -0
- package/build/component.constants-BeWW8Ijx.cjs +2 -0
- package/build/component.constants-BeWW8Ijx.cjs.map +1 -0
- package/build/component.constants-D9wVZ3zy.cjs +22 -0
- package/build/component.constants-D9wVZ3zy.cjs.map +1 -0
- package/build/component.constants-DRvp5Bez.js +142 -0
- package/build/component.constants-DRvp5Bez.js.map +1 -0
- package/build/component.constants-DbNhxh0k.js +759 -0
- package/build/component.constants-DbNhxh0k.js.map +1 -0
- package/build/component.styles-B0L4jbOO.js +59 -0
- package/build/component.styles-B0L4jbOO.js.map +1 -0
- package/build/component.styles-B1DIataj.cjs +10 -0
- package/build/component.styles-B1DIataj.cjs.map +1 -0
- package/build/component.styles-BFwkFWkd.cjs +39 -0
- package/build/component.styles-BFwkFWkd.cjs.map +1 -0
- package/build/component.styles-BSEA2Dqn.cjs +8 -0
- package/build/component.styles-BSEA2Dqn.cjs.map +1 -0
- package/build/component.styles-BapdQNhL.js +2166 -0
- package/build/component.styles-BapdQNhL.js.map +1 -0
- package/build/component.styles-BfvB83xM.cjs +22 -0
- package/build/component.styles-BfvB83xM.cjs.map +1 -0
- package/build/component.styles-Bn6ylF83.js +859 -0
- package/build/component.styles-Bn6ylF83.js.map +1 -0
- package/build/component.styles-BsZIuwWJ.cjs +140 -0
- package/build/component.styles-BsZIuwWJ.cjs.map +1 -0
- package/build/component.styles-C6LohBfF.js +81 -0
- package/build/component.styles-C6LohBfF.js.map +1 -0
- package/build/component.styles-CEBh8X5q.js +20 -0
- package/build/component.styles-CEBh8X5q.js.map +1 -0
- package/build/component.styles-CPsxMKVK.cjs +73 -0
- package/build/component.styles-CPsxMKVK.cjs.map +1 -0
- package/build/component.styles-CTo5NC52.js +71 -0
- package/build/component.styles-CTo5NC52.js.map +1 -0
- package/build/component.styles-CV7jTFCg.js +758 -0
- package/build/component.styles-CV7jTFCg.js.map +1 -0
- package/build/component.styles-CVBpx4fw.js +474 -0
- package/build/component.styles-CVBpx4fw.js.map +1 -0
- package/build/component.styles-CZu2m0O4.cjs +21 -0
- package/build/component.styles-CZu2m0O4.cjs.map +1 -0
- package/build/component.styles-CmBcHREH.cjs +13 -0
- package/build/component.styles-CmBcHREH.cjs.map +1 -0
- package/build/component.styles-CmEFZfA5.js +120 -0
- package/build/component.styles-CmEFZfA5.js.map +1 -0
- package/build/component.styles-DHIw8p8e.cjs +158 -0
- package/build/component.styles-DHIw8p8e.cjs.map +1 -0
- package/build/component.styles-DOPCUXcr.js +158 -0
- package/build/component.styles-DOPCUXcr.js.map +1 -0
- package/build/component.styles-Dj3h7jd9.cjs +165 -0
- package/build/component.styles-Dj3h7jd9.cjs.map +1 -0
- package/build/component.styles-Do1NYZEO.js +86 -0
- package/build/component.styles-Do1NYZEO.js.map +1 -0
- package/build/component.styles-Dok17vPl.js +126 -0
- package/build/component.styles-Dok17vPl.js.map +1 -0
- package/build/component.styles-Dpg-__rn.cjs +43 -0
- package/build/component.styles-Dpg-__rn.cjs.map +1 -0
- package/build/component.styles-DpkFoWEh.cjs +81 -0
- package/build/component.styles-DpkFoWEh.cjs.map +1 -0
- package/build/component.styles-DqsBDAEo.js +202 -0
- package/build/component.styles-DqsBDAEo.js.map +1 -0
- package/build/component.styles-Du2y0R4W.js +177 -0
- package/build/component.styles-Du2y0R4W.js.map +1 -0
- package/build/component.styles-DxeG9Opm.cjs +47 -0
- package/build/component.styles-DxeG9Opm.cjs.map +1 -0
- package/build/component.styles-DyGfo9t0.cjs +32 -0
- package/build/component.styles-DyGfo9t0.cjs.map +1 -0
- package/build/component.styles-RkQwTlwG.js +170 -0
- package/build/component.styles-RkQwTlwG.js.map +1 -0
- package/build/component.styles-ZtwHuL4x.cjs +75 -0
- package/build/component.styles-ZtwHuL4x.cjs.map +1 -0
- package/build/component.types-D05KdxnZ.js +132 -0
- package/build/component.types-D05KdxnZ.js.map +1 -0
- package/build/component.types-gy5Q9qHX.cjs +2 -0
- package/build/component.types-gy5Q9qHX.cjs.map +1 -0
- package/build/consts.cjs.js +2 -0
- package/build/consts.cjs.js.map +1 -0
- package/build/consts.d.ts +86 -0
- package/build/consts.es.js +177 -0
- package/build/consts.es.js.map +1 -0
- package/build/context-app.cjs.js +2 -0
- package/build/context-app.cjs.js.map +1 -0
- package/build/context-app.d.ts +223 -0
- package/build/context-app.es.js +20 -0
- package/build/context-app.es.js.map +1 -0
- package/build/context-cookie.cjs.js +2 -0
- package/build/context-cookie.cjs.js.map +1 -0
- package/build/context-cookie.d.ts +67 -0
- package/build/context-cookie.es.js +9 -0
- package/build/context-cookie.es.js.map +1 -0
- package/build/context-dialog.cjs.js +2 -0
- package/build/context-dialog.cjs.js.map +1 -0
- package/build/context-dialog.d.ts +92 -0
- package/build/context-dialog.es.js +18 -0
- package/build/context-dialog.es.js.map +1 -0
- package/build/context-geolocation.cjs.js +2 -0
- package/build/context-geolocation.cjs.js.map +1 -0
- package/build/context-geolocation.d.ts +22 -0
- package/build/context-geolocation.es.js +7 -0
- package/build/context-geolocation.es.js.map +1 -0
- package/build/context-local-storage.cjs.js +2 -0
- package/build/context-local-storage.cjs.js.map +1 -0
- package/build/context-local-storage.d.ts +54 -0
- package/build/context-local-storage.es.js +9 -0
- package/build/context-local-storage.es.js.map +1 -0
- package/build/context-permission.cjs.js +2 -0
- package/build/context-permission.cjs.js.map +1 -0
- package/build/context-permission.d.ts +28 -0
- package/build/context-permission.es.js +9 -0
- package/build/context-permission.es.js.map +1 -0
- package/build/context-screen-width.cjs.js +2 -0
- package/build/context-screen-width.cjs.js.map +1 -0
- package/build/context-screen-width.d.ts +34 -0
- package/build/context-screen-width.es.js +7 -0
- package/build/context-screen-width.es.js.map +1 -0
- package/build/context-sonner.cjs.js +2 -0
- package/build/context-sonner.cjs.js.map +1 -0
- package/build/context-sonner.d.ts +449 -0
- package/build/context-sonner.es.js +21 -0
- package/build/context-sonner.es.js.map +1 -0
- package/build/context.constants-B29-_8v3.cjs +32 -0
- package/build/context.constants-B29-_8v3.cjs.map +1 -0
- package/build/context.constants-BaD7xj_m.cjs +100 -0
- package/build/context.constants-BaD7xj_m.cjs.map +1 -0
- package/build/context.constants-CsZRZ7gH.js +228 -0
- package/build/context.constants-CsZRZ7gH.js.map +1 -0
- package/build/context.constants-DqYjo5m4.js +375 -0
- package/build/context.constants-DqYjo5m4.js.map +1 -0
- package/build/context.functions-80N-5MqM.cjs +2 -0
- package/build/context.functions-80N-5MqM.cjs.map +1 -0
- package/build/context.functions-B8FDl7nJ.js +14 -0
- package/build/context.functions-B8FDl7nJ.js.map +1 -0
- package/build/context.functions-BD15C8_y.js +128 -0
- package/build/context.functions-BD15C8_y.js.map +1 -0
- package/build/context.functions-CQ9GerPb.js +147 -0
- package/build/context.functions-CQ9GerPb.js.map +1 -0
- package/build/context.functions-ar41xFVo.cjs +2 -0
- package/build/context.functions-ar41xFVo.cjs.map +1 -0
- package/build/context.functions-ohI9H54j.cjs +2 -0
- package/build/context.functions-ohI9H54j.cjs.map +1 -0
- package/build/context.hooks-7ydA7mGj.js +117 -0
- package/build/context.hooks-7ydA7mGj.js.map +1 -0
- package/build/context.hooks-BIsapq-0.cjs +2 -0
- package/build/context.hooks-BIsapq-0.cjs.map +1 -0
- package/build/context.hooks-BmwyZ1p3.js +68 -0
- package/build/context.hooks-BmwyZ1p3.js.map +1 -0
- package/build/context.hooks-BzMTkJNv.js +52 -0
- package/build/context.hooks-BzMTkJNv.js.map +1 -0
- package/build/context.hooks-CTi-CVKx.cjs +72 -0
- package/build/context.hooks-CTi-CVKx.cjs.map +1 -0
- package/build/context.hooks-D13tbrva.cjs +2 -0
- package/build/context.hooks-D13tbrva.cjs.map +1 -0
- package/build/context.hooks-gyzZSaVi.js +527 -0
- package/build/context.hooks-gyzZSaVi.js.map +1 -0
- package/build/context.hooks-u408Pxw8.cjs +2 -0
- package/build/context.hooks-u408Pxw8.cjs.map +1 -0
- package/build/functions.cjs.js +2 -0
- package/build/functions.cjs.js.map +1 -0
- package/build/functions.d.ts +22 -0
- package/build/functions.es.js +47 -0
- package/build/functions.es.js.map +1 -0
- package/build/hooks-use-debounced-callback.cjs.js +2 -0
- package/build/hooks-use-debounced-callback.cjs.js.map +1 -0
- package/build/hooks-use-debounced-callback.d.ts +3 -0
- package/build/hooks-use-debounced-callback.es.js +5 -0
- package/build/hooks-use-debounced-callback.es.js.map +1 -0
- package/build/hooks-use-deep-compare-memoize.cjs.js +2 -0
- package/build/hooks-use-deep-compare-memoize.cjs.js.map +1 -0
- package/build/hooks-use-deep-compare-memoize.d.ts +3 -0
- package/build/hooks-use-deep-compare-memoize.es.js +5 -0
- package/build/hooks-use-deep-compare-memoize.es.js.map +1 -0
- package/build/index.cjs.js +2 -0
- package/build/index.cjs.js.map +1 -0
- package/build/index.d.ts +2540 -0
- package/build/index.es.js +329 -0
- package/build/index.es.js.map +1 -0
- package/build/jsx-runtime-BcGej2Kr.cjs +11 -0
- package/build/jsx-runtime-BcGej2Kr.cjs.map +1 -0
- package/build/jsx-runtime-BrDlu8eK.js +320 -0
- package/build/jsx-runtime-BrDlu8eK.js.map +1 -0
- package/build/motion-CIQfrLky.js +85 -0
- package/build/motion-CIQfrLky.js.map +1 -0
- package/build/motion-DgB7M2Hn.cjs +2 -0
- package/build/motion-DgB7M2Hn.cjs.map +1 -0
- package/build/style-CEGJOjRW.js +107 -0
- package/build/style-CEGJOjRW.js.map +1 -0
- package/build/style-CtGd1JVB.cjs +32 -0
- package/build/style-CtGd1JVB.cjs.map +1 -0
- package/build/style-DeAgDHyI.js +52 -0
- package/build/style-DeAgDHyI.js.map +1 -0
- package/build/style-Dm74EPGE.cjs +87 -0
- package/build/style-Dm74EPGE.cjs.map +1 -0
- package/build/style-add.cjs.js +2 -0
- package/build/style-add.cjs.js.map +1 -0
- package/build/style-add.d.ts +21 -0
- package/build/style-add.es.js +13 -0
- package/build/style-add.es.js.map +1 -0
- package/build/style-error.cjs.js +2 -0
- package/build/style-error.cjs.js.map +1 -0
- package/build/style-error.d.ts +56 -0
- package/build/style-error.es.js +7 -0
- package/build/style-error.es.js.map +1 -0
- package/build/style-fRZ6xrVp.cjs +10 -0
- package/build/style-fRZ6xrVp.cjs.map +1 -0
- package/build/style-motion.cjs.js +2 -0
- package/build/style-motion.cjs.js.map +1 -0
- package/build/style-motion.d.ts +20 -0
- package/build/style-motion.es.js +8 -0
- package/build/style-motion.es.js.map +1 -0
- package/build/style-plT9Ah7t.js +33 -0
- package/build/style-plT9Ah7t.js.map +1 -0
- package/build/style-sx.cjs.js +2 -0
- package/build/style-sx.cjs.js.map +1 -0
- package/build/style-sx.d.ts +31 -0
- package/build/style-sx.es.js +5 -0
- package/build/style-sx.es.js.map +1 -0
- package/build/style-theme.cjs.js +2 -0
- package/build/style-theme.cjs.js.map +1 -0
- package/build/style-theme.d.ts +263 -0
- package/build/style-theme.es.js +10 -0
- package/build/style-theme.es.js.map +1 -0
- package/build/style.css +1 -0
- package/build/theme.global-D6XU05Et.cjs +169 -0
- package/build/theme.global-D6XU05Et.cjs.map +1 -0
- package/build/theme.global-bN9HlSWE.js +1080 -0
- package/build/theme.global-bN9HlSWE.js.map +1 -0
- package/build/types.cjs.js +2 -0
- package/build/types.cjs.js.map +1 -0
- package/build/types.d.ts +27 -0
- package/build/types.es.js +2 -0
- package/build/types.es.js.map +1 -0
- package/build/use-BVj4dgbW.js +1547 -0
- package/build/use-BVj4dgbW.js.map +1 -0
- package/build/use-BhofoOgk.cjs +16 -0
- package/build/use-BhofoOgk.cjs.map +1 -0
- package/build/use-Bp8UVw4Y.js +16 -0
- package/build/use-Bp8UVw4Y.js.map +1 -0
- package/build/use-C1l0O0Qo.cjs +2 -0
- package/build/use-C1l0O0Qo.cjs.map +1 -0
- package/build/use-DT0XgvJT.js +25 -0
- package/build/use-DT0XgvJT.js.map +1 -0
- package/build/use-IhzeVumv.cjs +2 -0
- package/build/use-IhzeVumv.cjs.map +1 -0
- package/package.json +360 -0
|
@@ -0,0 +1,100 @@
|
|
|
1
|
+
"use strict";const e=require("react"),n=require("./jsx-runtime-BcGej2Kr.cjs"),t=require("framer-motion"),i=require("styled-components"),o=require("uuid"),r=require("./component-D1NPhRuV.cjs"),s=require("./component.styles-BfvB83xM.cjs"),l=require("./component-C52VCES6.cjs"),d=require("./style-Dm74EPGE.cjs"),c=e.createContext(null),x=e.memo(e=>n.jsxRuntimeExports.jsx(t.motion.div,{layout:!0,initial:{opacity:0,scale:1,y:e.isLastViewIndex?e.isTop?E:-E:e.isTop?-E:E},animate:{y:0,opacity:e.isMoreThanLastViewIndex?0:1,pointerEvents:e.isMoreThanLastViewIndex?"none":"auto",display:e.isMoreThanLastViewIndex?"none":"flex",scale:e.isHovered?1:1-e.index*j,marginTop:e.isTop?e.isHovered||0===e.index?"0px":`-${y}px`:"0px",marginBottom:e.isTop||e.isHovered||0===e.index?"0px":`-${y}px`},style:{zIndex:-e.index},whileInView:{opacity:e.isMoreThanLastViewIndex?0:1},exit:{opacity:0,y:e.isTop?-E:E},transition:{type:"spring",duration:b},children:n.jsxRuntimeExports.jsxs(u,{$genre:e.genre,onClick:()=>"clickOnSonner"===e.hidingMode&&e.handleOnClick(e.id,"clickOnSonner"),children:[(e.isLoading||e.icon)&&n.jsxRuntimeExports.jsx(m,{children:e.isLoading?n.jsxRuntimeExports.jsx(s.Icon,{size:"medium",type:"loading",name:"Line"}):e.icon&&n.jsxRuntimeExports.jsx(s.Icon,{name:e.icon,type:"id",size:"medium"})}),n.jsxRuntimeExports.jsx(p,{children:e.content?e.content:n.jsxRuntimeExports.jsxs(n.jsxRuntimeExports.Fragment,{children:[e.title&&n.jsxRuntimeExports.jsx(f,{$genre:e.genre,children:e.title}),e.description&&n.jsxRuntimeExports.jsx(v,{$genre:e.genre,children:e.description})]})}),e.button&&e.button.content&&n.jsxRuntimeExports.jsx(h,{children:n.jsxRuntimeExports.jsx(r.Button,{genre:e.buttonGenre,size:"small",onClick:()=>"clickOnButton"===e.hidingMode&&e.handleOnClick(e.id,"clickOnButton"),children:e.button.content})})]})},e.id)),a=i.div`
|
|
2
|
+
position: fixed;
|
|
3
|
+
z-index: ${e=>e.$zIndex};
|
|
4
|
+
max-height: calc(100dvh - 20px);
|
|
5
|
+
width: 320px;
|
|
6
|
+
display: flex;
|
|
7
|
+
margin: 10px;
|
|
8
|
+
gap: ${e=>e.$gap}px;
|
|
9
|
+
box-sizing: content-box;
|
|
10
|
+
overflow-y: visible;
|
|
11
|
+
overflow-x: visible;
|
|
12
|
+
${d.addRemoveScrollbar}
|
|
13
|
+
${e=>"bottom-center"===e.$position?i.css`
|
|
14
|
+
bottom: 0;
|
|
15
|
+
left: 50%;
|
|
16
|
+
transform: translateX(-50%);
|
|
17
|
+
justify-content: flex-start;
|
|
18
|
+
flex-direction: column-reverse;
|
|
19
|
+
`:"bottom-left"===e.$position?i.css`
|
|
20
|
+
left: 0;
|
|
21
|
+
bottom: 0;
|
|
22
|
+
justify-content: flex-start;
|
|
23
|
+
flex-direction: column-reverse;
|
|
24
|
+
`:"bottom-right"===e.$position?i.css`
|
|
25
|
+
right: 0;
|
|
26
|
+
bottom: 0;
|
|
27
|
+
justify-content: flex-start;
|
|
28
|
+
flex-direction: column-reverse;
|
|
29
|
+
`:"top-right"===e.$position?i.css`
|
|
30
|
+
top: 0;
|
|
31
|
+
right: 0;
|
|
32
|
+
justify-content: flex-end;
|
|
33
|
+
flex-direction: column;
|
|
34
|
+
`:"top-left"===e.$position?i.css`
|
|
35
|
+
top: 0;
|
|
36
|
+
left: 0;
|
|
37
|
+
justify-content: flex-end;
|
|
38
|
+
flex-direction: column;
|
|
39
|
+
`:"top-center"===e.$position?i.css`
|
|
40
|
+
top: 0;
|
|
41
|
+
left: 50%;
|
|
42
|
+
transform: translateX(-50%);
|
|
43
|
+
justify-content: flex-end;
|
|
44
|
+
flex-direction: column;
|
|
45
|
+
`:i.css``}
|
|
46
|
+
`,u=i.div`
|
|
47
|
+
background: ${e=>e.theme.colors.sonner[e.$genre].wrapper.background};
|
|
48
|
+
color: ${e=>e.theme.colors.sonner[e.$genre].icon.color};
|
|
49
|
+
border-radius: 12px;
|
|
50
|
+
border-style: solid;
|
|
51
|
+
border-color: ${e=>e.theme.colors.sonner[e.$genre].wrapper.borderColor};
|
|
52
|
+
border-width: 1px;
|
|
53
|
+
padding: 16px 20px 16px 20px;
|
|
54
|
+
display: flex;
|
|
55
|
+
flex-direction: row;
|
|
56
|
+
gap: 10px;
|
|
57
|
+
align-items: center;
|
|
58
|
+
justify-content: flex-start;
|
|
59
|
+
align-self: stretch;
|
|
60
|
+
flex-shrink: 0;
|
|
61
|
+
flex-shrink: 1;
|
|
62
|
+
min-width: 320px;
|
|
63
|
+
min-height: 64px;
|
|
64
|
+
transform-origin: center center;
|
|
65
|
+
box-shadow: ${e=>e.theme.colors.sonner[e.$genre].wrapper.boxShadow};
|
|
66
|
+
overflow: visible;
|
|
67
|
+
&:hover {
|
|
68
|
+
box-shadow: ${e=>e.theme.colors.sonner[e.$genre].wrapper.boxShadowHover};
|
|
69
|
+
}
|
|
70
|
+
${d.addTransition};
|
|
71
|
+
`,p=i.div`
|
|
72
|
+
display: flex;
|
|
73
|
+
flex-direction: column;
|
|
74
|
+
gap: 2px;
|
|
75
|
+
align-items: flex-start;
|
|
76
|
+
justify-content: flex-start;
|
|
77
|
+
align-self: stretch;
|
|
78
|
+
flex-shrink: 0;
|
|
79
|
+
flex: 1;
|
|
80
|
+
position: relative;
|
|
81
|
+
overflow: hidden;
|
|
82
|
+
`,m=i.div`
|
|
83
|
+
display: contents;
|
|
84
|
+
`,f=i.div`
|
|
85
|
+
${e=>l.getFontSizeStyles(14,700,e.theme.font.family)}
|
|
86
|
+
color: ${e=>e.theme.colors.sonner[e.$genre].title.color};
|
|
87
|
+
text-align: left;
|
|
88
|
+
display: flex;
|
|
89
|
+
align-items: center;
|
|
90
|
+
justify-content: flex-start;
|
|
91
|
+
`,v=i.div`
|
|
92
|
+
${e=>l.getFontSizeStyles(12,400,e.theme.font.family)}
|
|
93
|
+
color:${e=>e.theme.colors.sonner[e.$genre].description.color};
|
|
94
|
+
text-align: left;
|
|
95
|
+
position: relative;
|
|
96
|
+
display: flex;
|
|
97
|
+
align-items: center;
|
|
98
|
+
justify-content: flex-start;
|
|
99
|
+
`,h=i.div``,g=100,j=.04,E=100,b=.3,R="black",y=60,$={content:"Undo",onClick:()=>{}};exports.DEFAULT_PROVIDER_SONNER_BUTTON=$,exports.DEFAULT_PROVIDER_SONNER_DURATION=b,exports.DEFAULT_PROVIDER_SONNER_GENRE=R,exports.DEFAULT_PROVIDER_SONNER_MARGIN_BOTTOM=y,exports.DEFAULT_PROVIDER_SONNER_SCALE=j,exports.DEFAULT_PROVIDER_SONNER_Y=E,exports.DEFAULT_PROVIDER_SONNER_Z_INDEX=g,exports.ProviderSonner=r=>{var s,l,d,u,p,m;const f=e.useMemo(()=>r.visibleToasts,[r.visibleToasts]),v=e.useMemo(()=>{var e;return null==(e=null==r?void 0:r.default)?void 0:e.description},[null==(s=null==r?void 0:r.default)?void 0:s.description]),h=e.useMemo(()=>{var e;return null==(e=null==r?void 0:r.default)?void 0:e.title},[null==(l=null==r?void 0:r.default)?void 0:l.title]),j=e.useMemo(()=>{var e;return null==(e=null==r?void 0:r.default)?void 0:e.button},[null==(d=null==r?void 0:r.default)?void 0:d.button]),E=e.useMemo(()=>{var e;return null==(e=null==r?void 0:r.default)?void 0:e.hidingTime},[null==(u=null==r?void 0:r.default)?void 0:u.hidingTime]),b=e.useMemo(()=>{var e;return(null==(e=null==r?void 0:r.default)?void 0:e.hidingMode)??"clickOnButton"},[null==(p=null==r?void 0:r.default)?void 0:p.hidingMode]),y=e.useMemo(()=>{var e;return(null==(e=null==r?void 0:r.default)?void 0:e.genre)??R},[null==(m=null==r?void 0:r.default)?void 0:m.genre]),T=e.useMemo(()=>r.position.includes("top"),[r.position]),[S,w]=e.useState([]),[I,O]=e.useState(!1),L=e.useCallback(()=>{O(!0)},[]),M=e.useCallback(()=>{O(!1)},[]),k=e.useCallback(e=>{w(n=>{const t=n.find(n=>n.id===e);if(!t)return n;const i=t.index,o=n.filter(n=>n.id!==e).map(e=>({...e,index:e.index>i?e.index-1:e.index}));return 0===o.length&&M(),o})},[M]),_=e.useCallback(e=>{const n=e.id??o.v4(),t=e.hidingTime??E;w(t=>{const i=t.findIndex(e=>e.id===n);let o;if(-1!==i)o=[...t],o[i]={...e,id:n,index:t[i].index};else{o=t.map(e=>({...e,index:e.index+1}));const i={...e,id:n,index:0};o.unshift(i)}return o}),void 0!==t&&setTimeout(()=>{k(n)},t)},[E,k]),C=e.useCallback((e,n,t)=>{const i=o.v4();return _({...n,id:i,isLoading:!0}),e.then(e=>{_({...t(e,void 0),id:i})}).catch(e=>{_({...t(void 0,e),id:i})})},[_]),N=e.useCallback(e=>{k(e)},[k]),D=i.useTheme();return n.jsxRuntimeExports.jsxs(c.Provider,{value:{toast:_,promise:C,remove:k,contentHistory:S},children:[n.jsxRuntimeExports.jsx(a,{$zIndex:r.zIndex??g,$position:r.position,$gap:r.gap,onMouseEnter:L,onMouseLeave:M,children:n.jsxRuntimeExports.jsx(t.AnimatePresence,{children:S.map(e=>{const t=e.index,i=!!f&&t>f,o=!!f&&t>f-1,r=!!f&&t==f-1,s=e.genre??y,l=D.colors.sonner[s].button.genre,d=e.hidingMode??b,c="content"in e&&e.content,a="title"in e&&e.title,u="description"in e&&e.description;return n.jsxRuntimeExports.jsx(x,{isMoreThanLastViewIndexPlusOne:i,isMoreThanLastViewIndex:o,isLastViewIndex:r,isTop:T,id:e.id,icon:e.icon,isLoading:e.isLoading,index:t,buttonGenre:l,hidingMode:d,isHovered:I,genre:s,content:c,title:a||h,description:u||v,button:e.button??j??$,handleOnClick:N},e.id)})})}),r.children]})},exports.SonnerButtonWrapper=h,exports.SonnerContent=p,exports.SonnerContentDescription=v,exports.SonnerContentTitle=f,exports.SonnerContext=c,exports.SonnerElementWrapper=u,exports.SonnerIcon=m,exports.SonnerLayout=a,exports.useSonner=()=>{const n=e.useContext(c);if(!n)throw new Error("useSonner must be used within an ProviderSonner");return n};
|
|
100
|
+
//# sourceMappingURL=context.constants-BaD7xj_m.cjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"context.constants-BaD7xj_m.cjs","sources":["../src/contexts/context-sonner/context.tsx","../src/contexts/context-sonner/context.styles.tsx","../src/contexts/context-sonner/context.constants.ts","../src/contexts/context-sonner/context.hooks.ts"],"sourcesContent":["import { AnimatePresence, motion } from 'framer-motion'\nimport { FC, createContext, memo, useCallback, useMemo, useState } from 'react'\nimport { useTheme } from 'styled-components'\nimport { v4 as uuidv4 } from 'uuid'\n\nimport { Button } from '@local/components/button'\nimport { Icon } from '@local/components/icon'\n\nimport {\n DEFAULT_PROVIDER_SONNER_BUTTON,\n DEFAULT_PROVIDER_SONNER_DURATION,\n DEFAULT_PROVIDER_SONNER_GENRE,\n DEFAULT_PROVIDER_SONNER_MARGIN_BOTTOM,\n DEFAULT_PROVIDER_SONNER_SCALE,\n DEFAULT_PROVIDER_SONNER_Y,\n DEFAULT_PROVIDER_SONNER_Z_INDEX,\n ProviderSonnerProps,\n SonnerButtonWrapper,\n SonnerContent,\n SonnerContentDescription,\n SonnerContentProps,\n SonnerContentStandardProps,\n SonnerContentTitle,\n SonnerContextProps,\n SonnerElementProps,\n SonnerElementWrapper,\n SonnerIcon,\n SonnerLayout\n} from '.'\n\nexport const SonnerContext = createContext<SonnerContextProps | null>(null)\n\nexport const ProviderSonner: FC<ProviderSonnerProps> = props => {\n const memoVisibleToasts: ProviderSonnerProps['visibleToasts'] = useMemo(\n () => props.visibleToasts,\n [props.visibleToasts]\n )\n const memoDefaultDescription: ProviderSonnerProps['default']['description'] = useMemo(\n () => props?.default?.description,\n [props?.default?.description]\n )\n const memoDefaultTitle: ProviderSonnerProps['default']['title'] = useMemo(\n () => props?.default?.title,\n [props?.default?.title]\n )\n const memoDefaultButton: ProviderSonnerProps['default']['button'] = useMemo(\n () => props?.default?.button,\n [props?.default?.button]\n )\n const memoDefaultHidingTime: ProviderSonnerProps['default']['hidingTime'] = useMemo(\n () => props?.default?.hidingTime,\n [props?.default?.hidingTime]\n )\n const memoDefaultHidingMode: ProviderSonnerProps['default']['hidingMode'] = useMemo(\n () => props?.default?.hidingMode ?? 'clickOnButton',\n [props?.default?.hidingMode]\n )\n const memoDefaultGenre = useMemo(\n () => props?.default?.genre ?? DEFAULT_PROVIDER_SONNER_GENRE,\n [props?.default?.genre]\n )\n\n const isTop = useMemo(() => props.position.includes('top'), [props.position])\n\n const [contentHistory, setContentHistory] = useState<SonnerContentProps[]>([])\n\n const [isHovered, setIsHovered] = useState(false)\n\n const handleMouseEnter = useCallback(() => {\n setIsHovered(true)\n }, [])\n\n const handleMouseLeave = useCallback(() => {\n setIsHovered(false)\n }, [])\n\n const remove: SonnerContextProps['remove'] = useCallback(\n id => {\n setContentHistory(prev => {\n const itemToRemove = prev.find(item => item.id === id)\n\n if (!itemToRemove) return prev\n\n const indexToRemove = itemToRemove.index\n\n const updatedHistory = prev\n .filter(item => item.id !== id)\n .map(item => ({\n ...item,\n index: item.index > indexToRemove ? item.index - 1 : item.index\n }))\n\n if (updatedHistory.length === 0) handleMouseLeave()\n\n return updatedHistory\n })\n },\n [handleMouseLeave]\n )\n\n const toast: SonnerContextProps['toast'] = useCallback(\n content => {\n const id = content.id ?? uuidv4()\n\n const hidingTime = content.hidingTime ?? memoDefaultHidingTime\n\n setContentHistory(prev => {\n const existingIndex = prev.findIndex(item => item.id === id)\n\n let updatedHistory\n if (existingIndex !== -1) {\n // Replace existing item\n updatedHistory = [...prev]\n updatedHistory[existingIndex] = { ...content, id, index: prev[existingIndex].index }\n } else {\n // Add new item\n updatedHistory = prev.map(item => ({\n ...item,\n index: item.index + 1\n }))\n const newContent = { ...content, id, index: 0 }\n updatedHistory.unshift(newContent)\n }\n\n return updatedHistory\n })\n\n if (hidingTime !== undefined) {\n setTimeout(() => {\n remove(id)\n }, hidingTime)\n }\n },\n [memoDefaultHidingTime, remove]\n )\n const promise: SonnerContextProps['promise'] = useCallback(\n <T,>(\n promise: Promise<T>,\n expectation: Omit<SonnerContentProps, 'index'>,\n localToast: (success: T | undefined, error: unknown | undefined) => Omit<SonnerContentProps, 'index'>\n ) => {\n const id = uuidv4()\n toast({ ...expectation, id, isLoading: true })\n\n return promise\n .then(result => {\n toast({ ...localToast(result, undefined), id })\n })\n .catch(error => {\n toast({ ...localToast(undefined, error), id })\n })\n },\n [toast]\n )\n const handleOnClick = useCallback(\n (id: SonnerContentStandardProps['id']) => {\n remove(id)\n },\n [remove]\n )\n const theme = useTheme()\n return (\n <SonnerContext.Provider value={{ toast, promise, remove, contentHistory }}>\n <SonnerLayout\n $zIndex={props.zIndex ?? DEFAULT_PROVIDER_SONNER_Z_INDEX}\n $position={props.position}\n $gap={props.gap}\n onMouseEnter={handleMouseEnter}\n onMouseLeave={handleMouseLeave}\n >\n <AnimatePresence>\n {contentHistory.map(content => {\n const index = content.index\n const isMoreThanLastViewIndexPlusOne = memoVisibleToasts ? index > memoVisibleToasts : false\n const isMoreThanLastViewIndex = memoVisibleToasts ? index > memoVisibleToasts - 1 : false\n const isLastViewIndex = memoVisibleToasts ? index == memoVisibleToasts - 1 : false\n const localGenre = content.genre ?? memoDefaultGenre\n const buttonGenre = theme.colors.sonner[localGenre].button.genre\n const hidingMode = content.hidingMode ?? memoDefaultHidingMode\n\n const localContent = 'content' in content ? content.content : false\n const localTitle = 'title' in content ? content.title : false\n const localDescription = 'description' in content ? content.description : false\n return (\n <MemoizedSonnerElement\n isMoreThanLastViewIndexPlusOne={isMoreThanLastViewIndexPlusOne}\n isMoreThanLastViewIndex={isMoreThanLastViewIndex}\n isLastViewIndex={isLastViewIndex}\n isTop={isTop}\n key={content.id}\n id={content.id}\n icon={content.icon}\n isLoading={content.isLoading}\n index={index}\n buttonGenre={buttonGenre}\n hidingMode={hidingMode}\n isHovered={isHovered}\n genre={localGenre}\n content={localContent}\n title={localTitle || memoDefaultTitle}\n description={localDescription || memoDefaultDescription}\n button={content.button ?? memoDefaultButton ?? DEFAULT_PROVIDER_SONNER_BUTTON}\n handleOnClick={handleOnClick}\n />\n )\n })}\n </AnimatePresence>\n </SonnerLayout>\n {props.children}\n </SonnerContext.Provider>\n )\n}\n\nconst SonnerElement = (props: SonnerElementProps) => {\n return (\n <motion.div\n key={props.id}\n layout\n initial={{\n opacity: 0,\n scale: 1,\n y: props.isLastViewIndex\n ? !props.isTop\n ? -DEFAULT_PROVIDER_SONNER_Y\n : DEFAULT_PROVIDER_SONNER_Y\n : !props.isTop\n ? DEFAULT_PROVIDER_SONNER_Y\n : -DEFAULT_PROVIDER_SONNER_Y\n }}\n animate={{\n y: 0,\n opacity: props.isMoreThanLastViewIndex ? 0 : 1,\n pointerEvents: props.isMoreThanLastViewIndex ? 'none' : 'auto',\n display: props.isMoreThanLastViewIndex ? 'none' : 'flex',\n scale: !props.isHovered ? 1 - props.index * DEFAULT_PROVIDER_SONNER_SCALE : 1,\n marginTop: props.isTop\n ? props.isHovered || props.index === 0\n ? `0px`\n : `-${DEFAULT_PROVIDER_SONNER_MARGIN_BOTTOM}px`\n : '0px',\n marginBottom: !props.isTop\n ? props.isHovered || props.index === 0\n ? `0px`\n : `-${DEFAULT_PROVIDER_SONNER_MARGIN_BOTTOM}px`\n : '0px'\n }}\n style={{\n zIndex: -props.index\n }}\n whileInView={{ opacity: props.isMoreThanLastViewIndex ? 0 : 1 }}\n exit={{ opacity: 0, y: !props.isTop ? DEFAULT_PROVIDER_SONNER_Y : -DEFAULT_PROVIDER_SONNER_Y }}\n transition={{ type: 'spring', duration: DEFAULT_PROVIDER_SONNER_DURATION }}\n >\n <SonnerElementWrapper\n $genre={props.genre}\n onClick={() => props.hidingMode === 'clickOnSonner' && props.handleOnClick(props.id, 'clickOnSonner')}\n >\n {(props.isLoading || props.icon) && (\n <SonnerIcon>\n {props.isLoading ? (\n <Icon size=\"medium\" type=\"loading\" name=\"Line\" />\n ) : (\n props.icon && <Icon name={props.icon} type=\"id\" size={'medium'} />\n )}\n </SonnerIcon>\n )}\n <SonnerContent>\n {props.content ? (\n props.content\n ) : (\n <>\n {props.title && <SonnerContentTitle $genre={props.genre}>{props.title}</SonnerContentTitle>}\n {props.description && (\n <SonnerContentDescription $genre={props.genre}>{props.description}</SonnerContentDescription>\n )}\n </>\n )}\n </SonnerContent>\n\n {props.button && props.button.content && (\n <SonnerButtonWrapper>\n <Button\n genre={props.buttonGenre}\n size=\"small\"\n onClick={() => props.hidingMode === 'clickOnButton' && props.handleOnClick(props.id, 'clickOnButton')}\n >\n {props.button.content}\n </Button>\n </SonnerButtonWrapper>\n )}\n </SonnerElementWrapper>\n </motion.div>\n )\n}\nconst MemoizedSonnerElement = memo(SonnerElement)\n","import styled, { css } from 'styled-components'\n\nimport { getFontSizeStyles } from '@local/components/typography'\nimport { addRemoveScrollbar, addTransition } from '@local/styles/add'\n\nimport { SonnerContentDescriptionProps, SonnerContentTitleProps, SonnerElementWrapperProps, SonnerLayoutProps } from '.'\n\nexport const SonnerLayout = styled.div<SonnerLayoutProps>`\n position: fixed;\n z-index: ${props => props.$zIndex};\n max-height: calc(100dvh - 20px);\n width: 320px;\n display: flex;\n margin: 10px;\n gap: ${props => props.$gap}px;\n box-sizing: content-box;\n overflow-y: visible;\n overflow-x: visible;\n ${addRemoveScrollbar}\n ${props =>\n props.$position === 'bottom-center'\n ? css`\n bottom: 0;\n left: 50%;\n transform: translateX(-50%);\n justify-content: flex-start;\n flex-direction: column-reverse;\n `\n : props.$position === 'bottom-left'\n ? css`\n left: 0;\n bottom: 0;\n justify-content: flex-start;\n flex-direction: column-reverse;\n `\n : props.$position === 'bottom-right'\n ? css`\n right: 0;\n bottom: 0;\n justify-content: flex-start;\n flex-direction: column-reverse;\n `\n : props.$position === 'top-right'\n ? css`\n top: 0;\n right: 0;\n justify-content: flex-end;\n flex-direction: column;\n `\n : props.$position === 'top-left'\n ? css`\n top: 0;\n left: 0;\n justify-content: flex-end;\n flex-direction: column;\n `\n : props.$position === 'top-center'\n ? css`\n top: 0;\n left: 50%;\n transform: translateX(-50%);\n justify-content: flex-end;\n flex-direction: column;\n `\n : css``}\n`\n\nexport const SonnerElementWrapper = styled.div<SonnerElementWrapperProps>`\n background: ${props => props.theme.colors.sonner[props.$genre].wrapper.background};\n color: ${props => props.theme.colors.sonner[props.$genre].icon.color};\n border-radius: 12px;\n border-style: solid;\n border-color: ${props => props.theme.colors.sonner[props.$genre].wrapper.borderColor};\n border-width: 1px;\n padding: 16px 20px 16px 20px;\n display: flex;\n flex-direction: row;\n gap: 10px;\n align-items: center;\n justify-content: flex-start;\n align-self: stretch;\n flex-shrink: 0;\n flex-shrink: 1;\n min-width: 320px;\n min-height: 64px;\n transform-origin: center center;\n box-shadow: ${props => props.theme.colors.sonner[props.$genre].wrapper.boxShadow};\n overflow: visible;\n &:hover {\n box-shadow: ${props => props.theme.colors.sonner[props.$genre].wrapper.boxShadowHover};\n }\n ${addTransition};\n`\nexport const SonnerContent = styled.div`\n display: flex;\n flex-direction: column;\n gap: 2px;\n align-items: flex-start;\n justify-content: flex-start;\n align-self: stretch;\n flex-shrink: 0;\n flex: 1;\n position: relative;\n overflow: hidden;\n`\nexport const SonnerIcon = styled.div`\n display: contents;\n`\nexport const SonnerContentTitle = styled.div<SonnerContentTitleProps>`\n ${props => getFontSizeStyles(14, 700, props.theme.font.family)}\n color: ${props => props.theme.colors.sonner[props.$genre].title.color};\n text-align: left;\n display: flex;\n align-items: center;\n justify-content: flex-start;\n`\nexport const SonnerContentDescription = styled.div<SonnerContentDescriptionProps>`\n ${props => getFontSizeStyles(12, 400, props.theme.font.family)}\n color:${props => props.theme.colors.sonner[props.$genre].description.color};\n text-align: left;\n position: relative;\n display: flex;\n align-items: center;\n justify-content: flex-start;\n`\nexport const SonnerButtonWrapper = styled.div``\n","import { ITheme } from '@local/theme'\n\nimport { ProviderSonnerProps } from '.'\n\nexport const DEFAULT_PROVIDER_SONNER_Z_INDEX = 100\nexport const DEFAULT_PROVIDER_SONNER_SCALE = 0.04\nexport const DEFAULT_PROVIDER_SONNER_Y = 100\nexport const DEFAULT_PROVIDER_SONNER_DURATION = 0.3\nexport const DEFAULT_PROVIDER_SONNER_GENRE: keyof ITheme['colors']['sonner'] = 'black'\nexport const DEFAULT_PROVIDER_SONNER_MARGIN_BOTTOM = 60\nexport const DEFAULT_PROVIDER_SONNER_BUTTON: ProviderSonnerProps['default']['button'] = {\n content: 'Undo',\n onClick: () => {}\n}\n","import { useContext } from 'react'\n\nimport { SonnerContext, SonnerContextProps } from '.'\n\nexport const useSonner = (): SonnerContextProps => {\n const context = useContext(SonnerContext)\n if (!context) {\n throw new Error('useSonner must be used within an ProviderSonner')\n }\n return context\n}\n"],"names":["SonnerContext","createContext","MemoizedSonnerElement","memo","props","jsx","motion","div","layout","initial","opacity","scale","y","isLastViewIndex","isTop","DEFAULT_PROVIDER_SONNER_Y","animate","isMoreThanLastViewIndex","pointerEvents","display","isHovered","index","DEFAULT_PROVIDER_SONNER_SCALE","marginTop","DEFAULT_PROVIDER_SONNER_MARGIN_BOTTOM","marginBottom","style","zIndex","whileInView","exit","transition","type","duration","DEFAULT_PROVIDER_SONNER_DURATION","children","jsxs","SonnerElementWrapper","$genre","genre","onClick","hidingMode","handleOnClick","id","isLoading","icon","SonnerIcon","Icon","size","name","SonnerContent","content","Fragment","title","SonnerContentTitle","description","SonnerContentDescription","button","SonnerButtonWrapper","Button","buttonGenre","SonnerLayout","styled","$zIndex","$gap","addRemoveScrollbar","$position","css","theme","colors","sonner","wrapper","background","color","borderColor","boxShadow","boxShadowHover","addTransition","getFontSizeStyles","font","family","DEFAULT_PROVIDER_SONNER_Z_INDEX","DEFAULT_PROVIDER_SONNER_GENRE","DEFAULT_PROVIDER_SONNER_BUTTON","memoVisibleToasts","useMemo","visibleToasts","memoDefaultDescription","_a","default","memoDefaultTitle","_b","memoDefaultButton","_c","memoDefaultHidingTime","hidingTime","_d","memoDefaultHidingMode","_e","memoDefaultGenre","_f","position","includes","contentHistory","setContentHistory","useState","setIsHovered","handleMouseEnter","useCallback","handleMouseLeave","remove","prev","itemToRemove","find","item","indexToRemove","updatedHistory","filter","map","length","toast","uuidv4","existingIndex","findIndex","newContent","unshift","setTimeout","promise","expectation","localToast","then","result","catch","error","useTheme","Provider","value","gap","onMouseEnter","onMouseLeave","AnimatePresence","isMoreThanLastViewIndexPlusOne","localGenre","localContent","localTitle","localDescription","context","useContext","Error"],"mappings":"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"}
|
|
@@ -0,0 +1,228 @@
|
|
|
1
|
+
import { createContext, memo, useState, useCallback, useMemo, useContext, useEffect } from "react";
|
|
2
|
+
import { v4 } from "uuid";
|
|
3
|
+
import { u as useDeepCompareMemoize } from "./use-DT0XgvJT.js";
|
|
4
|
+
import { AnimatePresence, motion } from "framer-motion";
|
|
5
|
+
import styled from "styled-components";
|
|
6
|
+
import { f as addOutline } from "./style-CEGJOjRW.js";
|
|
7
|
+
import { j as jsxRuntimeExports } from "./jsx-runtime-BrDlu8eK.js";
|
|
8
|
+
import { O as Outside } from "./area-DRqAofd0.js";
|
|
9
|
+
const DialogContext = createContext(null);
|
|
10
|
+
const ProviderDialog = (props) => {
|
|
11
|
+
const [dialogHistory, setDialogHistory] = useState([]);
|
|
12
|
+
const remove = useCallback((id) => {
|
|
13
|
+
setDialogHistory((prev) => {
|
|
14
|
+
const itemToRemove = prev.find((item) => item.id === id);
|
|
15
|
+
if (!itemToRemove) return prev;
|
|
16
|
+
const indexToRemove = itemToRemove.index;
|
|
17
|
+
const updatedHistory = prev.filter((item) => item.id !== id).map((item) => ({
|
|
18
|
+
...item,
|
|
19
|
+
index: item.index > indexToRemove ? item.index - 1 : item.index
|
|
20
|
+
}));
|
|
21
|
+
return updatedHistory;
|
|
22
|
+
});
|
|
23
|
+
}, []);
|
|
24
|
+
const update = useCallback((dialog) => {
|
|
25
|
+
setDialogHistory((prev) => {
|
|
26
|
+
return prev.map((item) => {
|
|
27
|
+
if (item.id === dialog.id) {
|
|
28
|
+
return { ...item, ...dialog };
|
|
29
|
+
}
|
|
30
|
+
return item;
|
|
31
|
+
});
|
|
32
|
+
});
|
|
33
|
+
}, []);
|
|
34
|
+
const add = useCallback((dialog) => {
|
|
35
|
+
const id = dialog.id;
|
|
36
|
+
setDialogHistory((prev) => {
|
|
37
|
+
const existingIndex = prev.findIndex((item) => item.id === id);
|
|
38
|
+
let updatedHistory;
|
|
39
|
+
if (existingIndex !== -1) {
|
|
40
|
+
updatedHistory = [...prev];
|
|
41
|
+
updatedHistory[existingIndex] = { ...dialog, id, index: prev[existingIndex].index };
|
|
42
|
+
} else {
|
|
43
|
+
updatedHistory = prev.map((item) => ({
|
|
44
|
+
...item,
|
|
45
|
+
index: item.index + 1
|
|
46
|
+
}));
|
|
47
|
+
const newContent = { ...dialog, id, index: 0 };
|
|
48
|
+
updatedHistory.unshift(newContent);
|
|
49
|
+
}
|
|
50
|
+
return updatedHistory;
|
|
51
|
+
});
|
|
52
|
+
}, []);
|
|
53
|
+
const dialogHistoryLength = useMemo(() => dialogHistory.length, [dialogHistory.length]);
|
|
54
|
+
const zIndex = useMemo(() => props.zIndex, [props.zIndex]);
|
|
55
|
+
return /* @__PURE__ */ jsxRuntimeExports.jsxs(DialogContext.Provider, { value: { add, remove, update, dialogHistory }, children: [
|
|
56
|
+
/* @__PURE__ */ jsxRuntimeExports.jsx(AnimatePresence, { children: dialogHistoryLength && /* @__PURE__ */ jsxRuntimeExports.jsx(
|
|
57
|
+
DialogLayout,
|
|
58
|
+
{
|
|
59
|
+
$zIndex: zIndex,
|
|
60
|
+
initial: {
|
|
61
|
+
opacity: 0
|
|
62
|
+
},
|
|
63
|
+
exit: {
|
|
64
|
+
opacity: 0
|
|
65
|
+
},
|
|
66
|
+
animate: {
|
|
67
|
+
opacity: 1
|
|
68
|
+
},
|
|
69
|
+
transition: { type: "spring", duration: DEFAULT_PROVIDER_DIALOG_DURATION_LAYOUT },
|
|
70
|
+
children: dialogHistory.map((dialog) => {
|
|
71
|
+
const index = dialog.index;
|
|
72
|
+
const content = dialog.content;
|
|
73
|
+
const id = dialog.id;
|
|
74
|
+
const props2 = dialog.props;
|
|
75
|
+
return /* @__PURE__ */ jsxRuntimeExports.jsx(
|
|
76
|
+
MemoizedDialogElement,
|
|
77
|
+
{
|
|
78
|
+
index,
|
|
79
|
+
content,
|
|
80
|
+
props: props2,
|
|
81
|
+
id,
|
|
82
|
+
remove: () => remove(id)
|
|
83
|
+
},
|
|
84
|
+
id
|
|
85
|
+
);
|
|
86
|
+
})
|
|
87
|
+
}
|
|
88
|
+
) }),
|
|
89
|
+
props.children
|
|
90
|
+
] });
|
|
91
|
+
};
|
|
92
|
+
const DialogElement = (props) => {
|
|
93
|
+
var _a, _b;
|
|
94
|
+
const [isAnimating, setIsAnimating] = useState(true);
|
|
95
|
+
return /* @__PURE__ */ jsxRuntimeExports.jsx(Outside, { onOutsideClick: () => props.remove(), children: /* @__PURE__ */ jsxRuntimeExports.jsx(
|
|
96
|
+
DialogElementWrapper,
|
|
97
|
+
{
|
|
98
|
+
initial: {
|
|
99
|
+
opacity: 0,
|
|
100
|
+
scale: 0.8
|
|
101
|
+
},
|
|
102
|
+
animate: {
|
|
103
|
+
opacity: 1,
|
|
104
|
+
scale: 1
|
|
105
|
+
},
|
|
106
|
+
onAnimationComplete: () => setIsAnimating(false),
|
|
107
|
+
transition: {
|
|
108
|
+
type: "spring",
|
|
109
|
+
duration: DEFAULT_PROVIDER_DIALOG_DURATION_ELEMENT,
|
|
110
|
+
delay: DEFAULT_PROVIDER_DIALOG_DURATION_LAYOUT
|
|
111
|
+
},
|
|
112
|
+
style: {
|
|
113
|
+
zIndex: -props.index
|
|
114
|
+
},
|
|
115
|
+
$propsDialog: (_a = props.props) == null ? void 0 : _a.propsDialog,
|
|
116
|
+
children: (_b = props.content) == null ? void 0 : _b.call(props, props.props, props.remove, isAnimating)
|
|
117
|
+
},
|
|
118
|
+
props.id
|
|
119
|
+
) });
|
|
120
|
+
};
|
|
121
|
+
const MemoizedDialogElement = memo(DialogElement);
|
|
122
|
+
const useDialogs = () => {
|
|
123
|
+
const context = useContext(DialogContext);
|
|
124
|
+
if (!context) {
|
|
125
|
+
throw new Error("useDialogs must be used within an ProviderDialog");
|
|
126
|
+
}
|
|
127
|
+
return context;
|
|
128
|
+
};
|
|
129
|
+
const useDialog = (props) => {
|
|
130
|
+
const { add, remove, update, dialogHistory } = useDialogs();
|
|
131
|
+
const [id, setId] = useState(null);
|
|
132
|
+
const localAdd = useCallback(
|
|
133
|
+
(dialog) => {
|
|
134
|
+
const find = dialogHistory.find((item) => item.id === dialog.id);
|
|
135
|
+
if (!id || !find) {
|
|
136
|
+
const id2 = dialog.id || v4();
|
|
137
|
+
setId(id2);
|
|
138
|
+
add({ ...dialog, props, id: id2 });
|
|
139
|
+
}
|
|
140
|
+
},
|
|
141
|
+
[add, dialogHistory, id, props]
|
|
142
|
+
);
|
|
143
|
+
const localRemove = useCallback(() => {
|
|
144
|
+
if (id) {
|
|
145
|
+
remove(id);
|
|
146
|
+
setId(null);
|
|
147
|
+
}
|
|
148
|
+
}, [id, remove]);
|
|
149
|
+
const propsMemo = useDeepCompareMemoize(props);
|
|
150
|
+
useEffect(() => {
|
|
151
|
+
if (id) {
|
|
152
|
+
update({ id, props: propsMemo });
|
|
153
|
+
}
|
|
154
|
+
}, [id, propsMemo, update]);
|
|
155
|
+
return { add: localAdd, remove: localRemove, id };
|
|
156
|
+
};
|
|
157
|
+
const DialogLayout = styled(motion.div)`
|
|
158
|
+
position: fixed;
|
|
159
|
+
flex: 1;
|
|
160
|
+
width: 100%;
|
|
161
|
+
height: 100%;
|
|
162
|
+
background-color: ${(props) => props.theme.palette.black50};
|
|
163
|
+
z-index: ${(props) => props.$zIndex};
|
|
164
|
+
display: flex;
|
|
165
|
+
align-items: center;
|
|
166
|
+
justify-content: center;
|
|
167
|
+
overflow: hidden;
|
|
168
|
+
`;
|
|
169
|
+
const DialogElementWrapper = styled(motion.dialog)`
|
|
170
|
+
${addOutline};
|
|
171
|
+
max-width: ${(props) => {
|
|
172
|
+
var _a;
|
|
173
|
+
return ((_a = props.$propsDialog) == null ? void 0 : _a.maxWidth) || DEFAULT_PROVIDER_DIALOG_ELEMENT_MAX_WIDTH;
|
|
174
|
+
}};
|
|
175
|
+
max-height: ${(props) => {
|
|
176
|
+
var _a;
|
|
177
|
+
return ((_a = props.$propsDialog) == null ? void 0 : _a.maxHeight) || DEFAULT_PROVIDER_DIALOG_ELEMENT_MAX_HEIGHT;
|
|
178
|
+
}};
|
|
179
|
+
border-radius: ${(props) => {
|
|
180
|
+
var _a;
|
|
181
|
+
return ((_a = props.$propsDialog) == null ? void 0 : _a.borderRadius) || DEFAULT_PROVIDER_DIALOG_ELEMENT_BORDER_RADIUS;
|
|
182
|
+
}};
|
|
183
|
+
background: ${(props) => {
|
|
184
|
+
var _a;
|
|
185
|
+
return ((_a = props.$propsDialog) == null ? void 0 : _a.background) ? props.theme.palette[props.$propsDialog.background] : props.theme.palette[DEFAULT_PROVIDER_DIALOG_ELEMENT_BACKGROUND];
|
|
186
|
+
}};
|
|
187
|
+
padding: ${(props) => {
|
|
188
|
+
var _a;
|
|
189
|
+
return ((_a = props.$propsDialog) == null ? void 0 : _a.padding) || DEFAULT_PROVIDER_DIALOG_ELEMENT_PADDING;
|
|
190
|
+
}};
|
|
191
|
+
width: max-content;
|
|
192
|
+
height: max-content;
|
|
193
|
+
border: 0;
|
|
194
|
+
display: flex;
|
|
195
|
+
flex-direction: column;
|
|
196
|
+
gap: 10px;
|
|
197
|
+
align-items: flex-start;
|
|
198
|
+
justify-content: flex-start;
|
|
199
|
+
flex-shrink: 0;
|
|
200
|
+
position: relative;
|
|
201
|
+
box-shadow: 0px 10px 30px 0px rgba(0, 0, 0, 0.2);
|
|
202
|
+
overflow: hidden;
|
|
203
|
+
`;
|
|
204
|
+
const DialogContent = styled(motion.div)``;
|
|
205
|
+
const DEFAULT_PROVIDER_DIALOG_DURATION_ELEMENT = 0.3;
|
|
206
|
+
const DEFAULT_PROVIDER_DIALOG_DURATION_LAYOUT = 0.4;
|
|
207
|
+
const DEFAULT_PROVIDER_DIALOG_ELEMENT_MAX_HEIGHT = "max-content";
|
|
208
|
+
const DEFAULT_PROVIDER_DIALOG_ELEMENT_MAX_WIDTH = "max-content";
|
|
209
|
+
const DEFAULT_PROVIDER_DIALOG_ELEMENT_BORDER_RADIUS = "12px";
|
|
210
|
+
const DEFAULT_PROVIDER_DIALOG_ELEMENT_PADDING = "20px";
|
|
211
|
+
const DEFAULT_PROVIDER_DIALOG_ELEMENT_BACKGROUND = "whiteStandard";
|
|
212
|
+
export {
|
|
213
|
+
DialogContext as D,
|
|
214
|
+
ProviderDialog as P,
|
|
215
|
+
useDialog as a,
|
|
216
|
+
DialogLayout as b,
|
|
217
|
+
DialogElementWrapper as c,
|
|
218
|
+
DialogContent as d,
|
|
219
|
+
DEFAULT_PROVIDER_DIALOG_DURATION_ELEMENT as e,
|
|
220
|
+
DEFAULT_PROVIDER_DIALOG_DURATION_LAYOUT as f,
|
|
221
|
+
DEFAULT_PROVIDER_DIALOG_ELEMENT_MAX_HEIGHT as g,
|
|
222
|
+
DEFAULT_PROVIDER_DIALOG_ELEMENT_MAX_WIDTH as h,
|
|
223
|
+
DEFAULT_PROVIDER_DIALOG_ELEMENT_BORDER_RADIUS as i,
|
|
224
|
+
DEFAULT_PROVIDER_DIALOG_ELEMENT_PADDING as j,
|
|
225
|
+
DEFAULT_PROVIDER_DIALOG_ELEMENT_BACKGROUND as k,
|
|
226
|
+
useDialogs as u
|
|
227
|
+
};
|
|
228
|
+
//# sourceMappingURL=context.constants-CsZRZ7gH.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"context.constants-CsZRZ7gH.js","sources":["../src/contexts/context-dialog/context.tsx","../src/contexts/context-dialog/context.hooks.ts","../src/contexts/context-dialog/context.styles.tsx","../src/contexts/context-dialog/context.constants.ts"],"sourcesContent":["import { AnimatePresence } from 'framer-motion'\nimport { FC, createContext, memo, useCallback, useMemo, useState } from 'react'\n\nimport { Outside } from '@local/areas/outside'\n\nimport {\n DEFAULT_PROVIDER_DIALOG_DURATION_ELEMENT,\n DEFAULT_PROVIDER_DIALOG_DURATION_LAYOUT,\n DialogContentProps,\n DialogContextProps,\n DialogElementProps,\n DialogElementWrapper,\n DialogLayout,\n ProviderDialogProps\n} from '.'\n\nexport const DialogContext = createContext<DialogContextProps<object> | null>(null)\n\nexport const ProviderDialog: FC<ProviderDialogProps> = props => {\n const [dialogHistory, setDialogHistory] = useState<DialogContentProps<object>[]>([])\n\n const remove: DialogContextProps<object>['remove'] = useCallback(id => {\n setDialogHistory(prev => {\n const itemToRemove = prev.find(item => item.id === id)\n\n if (!itemToRemove) return prev\n\n const indexToRemove = itemToRemove.index!\n\n const updatedHistory = prev\n .filter(item => item.id !== id)\n .map(item => ({\n ...item,\n index: item.index! > indexToRemove ? item.index! - 1 : item.index\n }))\n\n return updatedHistory\n })\n }, [])\n\n const update: DialogContextProps<object>['update'] = useCallback(dialog => {\n setDialogHistory(prev => {\n return prev.map(item => {\n if (item.id === dialog.id) {\n return { ...item, ...dialog }\n }\n return item\n })\n })\n }, [])\n\n const add: DialogContextProps<object>['add'] = useCallback(dialog => {\n const id = dialog.id\n\n setDialogHistory(prev => {\n const existingIndex = prev.findIndex(item => item.id === id)\n\n let updatedHistory\n if (existingIndex !== -1) {\n updatedHistory = [...prev]\n updatedHistory[existingIndex] = { ...dialog, id, index: prev[existingIndex].index }\n } else {\n updatedHistory = prev.map(item => ({\n ...item,\n index: item.index! + 1\n }))\n const newContent = { ...dialog, id, index: 0 }\n updatedHistory.unshift(newContent)\n }\n\n return updatedHistory\n })\n }, [])\n\n const dialogHistoryLength = useMemo(() => dialogHistory.length, [dialogHistory.length])\n const zIndex = useMemo(() => props.zIndex, [props.zIndex])\n\n return (\n <DialogContext.Provider value={{ add, remove, update, dialogHistory }}>\n <AnimatePresence>\n {dialogHistoryLength && (\n <DialogLayout\n $zIndex={zIndex}\n initial={{\n opacity: 0\n }}\n exit={{\n opacity: 0\n }}\n animate={{\n opacity: 1\n }}\n transition={{ type: 'spring', duration: DEFAULT_PROVIDER_DIALOG_DURATION_LAYOUT }}\n >\n {dialogHistory.map(dialog => {\n const index = dialog.index\n const content = dialog.content\n const id = dialog.id\n const props = dialog.props\n\n return (\n <MemoizedDialogElement\n index={index}\n content={content}\n props={props}\n key={id}\n id={id}\n remove={() => remove(id)}\n />\n )\n })}\n </DialogLayout>\n )}\n </AnimatePresence>\n\n {props.children}\n </DialogContext.Provider>\n )\n}\n\nconst DialogElement = (props: DialogElementProps) => {\n const [isAnimating, setIsAnimating] = useState(true)\n return (\n <Outside onOutsideClick={() => props.remove()}>\n <DialogElementWrapper\n key={props.id}\n initial={{\n opacity: 0,\n scale: 0.8\n }}\n animate={{\n opacity: 1,\n scale: 1\n }}\n onAnimationComplete={() => setIsAnimating(false)}\n transition={{\n type: 'spring',\n duration: DEFAULT_PROVIDER_DIALOG_DURATION_ELEMENT,\n delay: DEFAULT_PROVIDER_DIALOG_DURATION_LAYOUT\n }}\n style={{\n zIndex: -props.index!\n }}\n $propsDialog={props.props?.propsDialog}\n >\n {props.content?.(props.props, props.remove, isAnimating)}\n </DialogElementWrapper>\n </Outside>\n )\n}\nconst MemoizedDialogElement = memo(DialogElement)\n","import { useCallback, useContext, useEffect, useState } from 'react'\nimport { v4 as uuidv4 } from 'uuid'\n\nimport { useDeepCompareMemoize } from '@local/hooks/use-deep-compare-memoize'\n\nimport { DialogContext, DialogContextItemProps, DialogContextProps, useDialogProps } from '.'\n\nexport const useDialogs = (): DialogContextProps<object> => {\n const context = useContext(DialogContext)\n if (!context) {\n throw new Error('useDialogs must be used within an ProviderDialog')\n }\n return context\n}\n\nexport const useDialog = <T extends object>(props?: useDialogProps<T>): DialogContextItemProps<T> => {\n const { add, remove, update, dialogHistory } = useDialogs()\n const [id, setId] = useState<string | null>(null)\n\n const localAdd: DialogContextItemProps<T>['add'] = useCallback(\n dialog => {\n const find = dialogHistory.find(item => item.id === dialog.id)\n if (!id || !find) {\n const id = dialog.id || uuidv4()\n setId(id)\n add({ ...(dialog as T), props: props, id })\n }\n },\n [add, dialogHistory, id, props]\n )\n const localRemove = useCallback(() => {\n if (id) {\n remove(id)\n setId(null)\n }\n }, [id, remove])\n\n const propsMemo = useDeepCompareMemoize(props)\n\n useEffect(() => {\n if (id) {\n update({ id, props: propsMemo })\n }\n }, [id, propsMemo, update])\n\n return { add: localAdd, remove: localRemove, id }\n}\n","import { motion } from 'framer-motion'\nimport styled from 'styled-components'\n\nimport { addOutline } from '@local/styles/add'\n\nimport {\n DEFAULT_PROVIDER_DIALOG_ELEMENT_BACKGROUND,\n DEFAULT_PROVIDER_DIALOG_ELEMENT_BORDER_RADIUS,\n DEFAULT_PROVIDER_DIALOG_ELEMENT_MAX_HEIGHT,\n DEFAULT_PROVIDER_DIALOG_ELEMENT_MAX_WIDTH,\n DEFAULT_PROVIDER_DIALOG_ELEMENT_PADDING,\n DialogElementWrapperProps,\n DialogLayoutProps\n} from '.'\n\nexport const DialogLayout = styled(motion.div)<DialogLayoutProps>`\n position: fixed;\n flex: 1;\n width: 100%;\n height: 100%;\n background-color: ${props => props.theme.palette.black50};\n z-index: ${props => props.$zIndex};\n display: flex;\n align-items: center;\n justify-content: center;\n overflow: hidden;\n`\n\nexport const DialogElementWrapper = styled(motion.dialog)<DialogElementWrapperProps>`\n ${addOutline};\n max-width: ${props => props.$propsDialog?.maxWidth || DEFAULT_PROVIDER_DIALOG_ELEMENT_MAX_WIDTH};\n max-height: ${props => props.$propsDialog?.maxHeight || DEFAULT_PROVIDER_DIALOG_ELEMENT_MAX_HEIGHT};\n border-radius: ${props => props.$propsDialog?.borderRadius || DEFAULT_PROVIDER_DIALOG_ELEMENT_BORDER_RADIUS};\n background: ${props =>\n props.$propsDialog?.background\n ? props.theme.palette[props.$propsDialog.background]\n : props.theme.palette[DEFAULT_PROVIDER_DIALOG_ELEMENT_BACKGROUND]};\n padding: ${props => props.$propsDialog?.padding || DEFAULT_PROVIDER_DIALOG_ELEMENT_PADDING};\n width: max-content;\n height: max-content;\n border: 0;\n display: flex;\n flex-direction: column;\n gap: 10px;\n align-items: flex-start;\n justify-content: flex-start;\n flex-shrink: 0;\n position: relative;\n box-shadow: 0px 10px 30px 0px rgba(0, 0, 0, 0.2);\n overflow: hidden;\n`\nexport const DialogContent = styled(motion.div)``\n","// export const DEFAULT_PROVIDER_Dialog_SCALE = 0.04\nimport { IThemePaletteKeys } from '@local/theme'\n\nexport const DEFAULT_PROVIDER_DIALOG_DURATION_ELEMENT = 0.3\nexport const DEFAULT_PROVIDER_DIALOG_DURATION_LAYOUT = 0.4\nexport const DEFAULT_PROVIDER_DIALOG_ELEMENT_MAX_HEIGHT: string = 'max-content'\nexport const DEFAULT_PROVIDER_DIALOG_ELEMENT_MAX_WIDTH: string = 'max-content'\nexport const DEFAULT_PROVIDER_DIALOG_ELEMENT_BORDER_RADIUS: string = '12px'\nexport const DEFAULT_PROVIDER_DIALOG_ELEMENT_PADDING: string = '20px'\nexport const DEFAULT_PROVIDER_DIALOG_ELEMENT_BACKGROUND: IThemePaletteKeys = 'whiteStandard'\n"],"names":["jsxs","jsx","props","id","uuidv4"],"mappings":"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"}
|