@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 @@
|
|
|
1
|
+
{"version":3,"file":"component.styles-CV7jTFCg.js","sources":["../src/components/date-picker/component.tsx","../src/components/date-picker/component.styles.ts"],"sourcesContent":["import moment, { Moment } from 'moment'\nimport { Fragment, KeyboardEvent, RefObject, useCallback, useEffect, useMemo, useRef, useState } from 'react'\nimport { useTheme } from 'styled-components'\n\nimport { Button } from '@local/components/button'\nimport { Ripple } from '@local/components/ripple'\nimport { SelectMonth, SelectYear } from '@local/components/select'\nimport { Stack } from '@local/components/stack'\nimport { ErrorMessage } from '@local/styles/error'\nimport { KEY_SIZE_DATA } from '@local/theme'\n\nimport {\n DateDayProps,\n DateDropdownDay,\n DateDropdownDayOfWeek,\n DateDropdownDays,\n DateDropdownList,\n DateInput,\n DateInputWrapper,\n DatePickerMode,\n DatePickerProps,\n DateWrapper,\n WeekItem\n} from '.'\nimport { Popover, usePopover } from '../popover'\n\nfunction countSevens(number: number) {\n const divisor = 7\n const count = Math.floor(number / divisor)\n const remainder = number % divisor\n\n return remainder > 0 ? count + 1 : count\n}\n\nexport const DatePicker = (props: DatePickerProps) => {\n const { onChange, onBlur } = props\n const theme = useTheme()\n\n const [valueMoment, setValueMoment] = useState<null | Moment>(null)\n\n const [currentMonth, setCurrentMonth] = useState<null | number>(null)\n const [currentYear, setCurrentYear] = useState<null | number>(null)\n const [currentDay, setCurrentDay] = useState<null | number>(null)\n\n const [inputDay, setInputDay] = useState<string | null>(null)\n const [inputMonth, setInputMonth] = useState<string | null>(null)\n const [inputYear, setInputYear] = useState<string | null>(null)\n\n const refDay = useRef<HTMLInputElement>(null)\n const refMonth = useRef<HTMLInputElement>(null)\n const refYear = useRef<HTMLInputElement>(null)\n\n const [activeSegment, setActiveSegment] = useState<'day' | 'month' | 'year' | null>(null)\n const [isError, setIsError] = useState(false)\n const dataDate = useMemo(() => {\n const mode: DatePickerMode = props.mode ?? 'DD.MM.YYYY'\n const result = {\n MM: {\n type: 'MM',\n width: '20px',\n ref: refMonth,\n value: inputMonth,\n setValue: setInputMonth,\n setActive: () => setActiveSegment('month'),\n valueInput: inputMonth,\n setValueInput: setInputMonth,\n placeholder: props.locale.inputs.month\n },\n DD: {\n type: 'DD',\n width: '20px',\n ref: refDay,\n value: inputDay,\n setValue: setInputDay,\n setActive: () => setActiveSegment('day'),\n valueInput: inputDay,\n setValueInput: setInputDay,\n placeholder: props.locale.inputs.day\n },\n YYYY: {\n type: 'YYYY',\n width: '40px',\n ref: refYear,\n value: inputYear,\n setValue: setInputYear,\n setActive: () => setActiveSegment('year'),\n valueInput: inputYear,\n setValueInput: setInputYear,\n placeholder: props.locale.inputs.year\n }\n }\n const resultSort = mode\n .split('.')\n .map(e => e.trim())\n .map(e => {\n if (e === 'DD') return result.DD\n if (e === 'MM') return result.MM\n if (e === 'YYYY') return result.YYYY\n return null\n })\n .filter(e => e !== null)\n return resultSort\n }, [\n inputDay,\n inputMonth,\n inputYear,\n props.locale.inputs.day,\n props.locale.inputs.month,\n props.locale.inputs.year,\n props.mode\n ])\n\n // const [isOpen, setIsOpen] = useState(false)\n\n const daysInWeek = useMemo(() => {\n const weekOrder: WeekItem['value'][] = ['mo', 'tu', 'we', 'th', 'fr', 'sa', 'su']\n\n return weekOrder.map((key, index) => {\n const found = props.locale.weeks.find(w => w.value === key)\n return {\n index,\n label: found?.localeShort ?? key.toUpperCase()\n }\n })\n }, [props.locale.weeks])\n\n const daysInMonth: DateDayProps[] = useMemo(() => {\n if (currentYear === null || currentMonth === null) return []\n const today = moment.utc()\n\n const startOfMonth = moment.utc().year(currentYear).month(currentMonth).startOf('month')\n const endOfMonth = moment.utc().year(currentYear).month(currentMonth).endOf('month')\n\n const days = []\n\n const startDate = props.startDate ? moment.utc(props.startDate) : null\n const endDate = props.endDate ? moment.utc(props.endDate) : null\n\n const daysToAddBefore = startOfMonth.isoWeekday() - 1\n if (daysToAddBefore > 0) {\n for (let i = daysToAddBefore; i > 0; i--) {\n const day = startOfMonth.clone().subtract(i, 'days')\n days.push({\n value: day.valueOf(),\n labelString: day.format('dd'),\n labelNumber: day.date(),\n dayOfWeek: day.isoWeekday(),\n isWeekend: day.isoWeekday() === 6 || day.isoWeekday() === 7,\n weekOfMonth: Math.ceil((days.length + 1) / 7),\n isToday: day.isSame(today, 'day'),\n isCurrentMonth: false,\n isDisabled: day.isBefore(startDate, 'day') || day.isAfter(endDate, 'day')\n })\n }\n }\n\n const currentDate = startOfMonth.clone()\n while (currentDate <= endOfMonth) {\n days.push({\n value: currentDate.valueOf(),\n labelString: currentDate.format('dd'),\n labelNumber: currentDate.date(),\n dayOfWeek: currentDate.isoWeekday(),\n isWeekend: currentDate.isoWeekday() === 6 || currentDate.isoWeekday() === 7,\n weekOfMonth: Math.ceil((days.length + 1) / 7),\n isToday: currentDate.isSame(today, 'day'),\n isCurrentMonth: true,\n isDisabled: currentDate.isBefore(startDate, 'day') || currentDate.isAfter(endDate, 'day')\n })\n currentDate.add(1, 'day')\n }\n\n const daysToAddAfter = 7 - endOfMonth.isoWeekday()\n if (daysToAddAfter > 0) {\n for (let i = 1; i <= daysToAddAfter; i++) {\n const day = endOfMonth.clone().add(i, 'days').startOf('day')\n days.push({\n value: day.valueOf(),\n labelString: day.format('dd'),\n labelNumber: day.date(),\n dayOfWeek: day.isoWeekday(),\n isWeekend: day.isoWeekday() === 6 || day.isoWeekday() === 7,\n weekOfMonth: Math.ceil((days.length + 1) / 7),\n isToday: day.isSame(today, 'day'),\n isCurrentMonth: false,\n isDisabled: day.isBefore(startDate, 'day') || day.isAfter(endDate, 'day')\n })\n }\n }\n\n days.sort((a, b) => a.value - b.value)\n return days\n }, [currentMonth, currentYear, props.endDate, props.startDate])\n\n const rows = useMemo(() => countSevens(daysInMonth.length) + 1, [daysInMonth])\n const height = useMemo(\n () => 40 + rows * 28 + (rows - 1) * 6 + KEY_SIZE_DATA[props.size].padding * 2,\n [props.size, rows]\n )\n const radius = useMemo(() => KEY_SIZE_DATA[props.size].radius, [props.size])\n\n const isBlockNextMonth = useMemo(() => {\n if (currentYear === null || currentMonth === null || currentDay === null) return true\n const nextMonth = moment\n .utc()\n .year(currentYear)\n .month(currentMonth)\n .date(currentDay)\n .add(1, 'month')\n .startOf('month')\n\n const isBeforeEndDate = props.endDate ? nextMonth.isAfter(moment.utc(props.endDate), 'month') : false\n return isBeforeEndDate\n }, [currentYear, currentMonth, currentDay, props.endDate])\n\n const isBlockPrevMonth = useMemo(() => {\n if (currentYear === null || currentMonth === null || currentDay === null) return true\n const prevMonth = moment\n .utc()\n .year(currentYear)\n .month(currentMonth)\n .date(currentDay)\n .subtract(1, 'month')\n .startOf('month')\n\n const isAfterStartDate = props.startDate ? prevMonth.isBefore(moment.utc(props.startDate), 'month') : false\n return isAfterStartDate\n }, [currentYear, currentMonth, currentDay, props.startDate])\n\n const { isOpen, close, reference, floating, floatingStyles } = usePopover({\n placement: 'bottom-start',\n offset: 8,\n mode: 'clickOpen',\n isClickOutside: true\n })\n\n const handleOnClose = useCallback(\n (isCheck?: boolean) => {\n close()\n if (isCheck)\n if (!inputDay || !inputMonth || !inputYear) {\n onChange(null)\n }\n },\n [close, inputDay, inputMonth, inputYear, onChange]\n )\n const handleKeyDown = useCallback(\n (e: KeyboardEvent<HTMLInputElement>) => {\n if (\n !/^\\d$/.test(e.key) &&\n !['ArrowLeft', 'ArrowRight', 'ArrowUp', 'ArrowDown', 'Backspace', 'Delete', 'Tab'].includes(e.key) &&\n !e.ctrlKey &&\n !e.metaKey\n ) {\n e.preventDefault()\n return\n }\n if (e.key === 'Backspace' || e.key === 'Delete') {\n if (\n (activeSegment === 'day' && (!inputDay || inputDay === '')) ||\n (activeSegment === 'month' && (!inputMonth || inputMonth === '')) ||\n (activeSegment === 'year' && (!inputYear || inputYear === ''))\n ) {\n if (activeSegment === 'day') {\n setInputDay(null)\n } else if (activeSegment === 'month') {\n setInputMonth(null)\n } else if (activeSegment === 'year') {\n setInputYear(null)\n }\n const nextSegment = activeSegment === 'day' ? 'day' : activeSegment === 'month' ? 'day' : 'month'\n setActiveSegment(nextSegment)\n e.preventDefault()\n }\n }\n if (e.key === 'ArrowLeft' || e.key === 'ArrowDown') {\n const nextSegment = activeSegment === 'day' ? 'year' : activeSegment === 'month' ? 'day' : 'month'\n setActiveSegment(nextSegment)\n e.preventDefault()\n }\n if (e.key === 'ArrowRight' || e.key === 'ArrowUp') {\n const nextSegment = activeSegment === 'day' ? 'month' : activeSegment === 'month' ? 'year' : 'day'\n setActiveSegment(nextSegment)\n e.preventDefault()\n }\n },\n [activeSegment, inputDay, inputMonth, inputYear]\n )\n\n const onChangeDate = useCallback(\n (timestamp: number, isBlur?: boolean, isChange?: boolean) => {\n const momentStartDate = props.startDate ? moment(props.startDate).utc() : null\n const momentEndDate = props.endDate ? moment(props.endDate).utc() : null\n const momentCheckDate = moment(timestamp).utc()\n let momentNewDate = moment(timestamp).utc()\n\n if (momentStartDate && momentCheckDate.isBefore(momentStartDate, 'day')) {\n momentNewDate = momentStartDate.startOf('day')\n } else if (momentEndDate && momentCheckDate.isAfter(momentEndDate, 'day')) {\n momentNewDate = momentEndDate.startOf('day')\n }\n if (valueMoment && valueMoment.isSame(momentNewDate, 'day')) return\n setValueMoment(momentNewDate)\n setCurrentDay(momentNewDate.date())\n setCurrentMonth(momentNewDate.month())\n setCurrentYear(momentNewDate.year())\n if (isChange) onChange(momentNewDate.valueOf())\n if (props.isOnClickClose && isBlur) {\n onBlur?.()\n handleOnClose()\n }\n },\n [props.startDate, props.endDate, props.isOnClickClose, valueMoment, onChange, onBlur, handleOnClose]\n )\n const onNextMonth = useCallback(() => {\n if (currentYear === null || currentMonth === null || currentDay === null) return\n const newDate = moment.utc().year(currentYear).month(currentMonth).date(currentDay).add(1, 'month')\n onChangeDate(newDate.valueOf(), false, false)\n }, [currentDay, currentMonth, currentYear, onChangeDate])\n\n const onPrevMonth = useCallback(() => {\n if (currentYear === null || currentMonth === null || currentDay === null) return\n const newDate = moment.utc().year(currentYear).month(currentMonth).date(currentDay).subtract(1, 'month')\n onChangeDate(newDate.valueOf(), false, false)\n }, [currentDay, currentMonth, currentYear, onChangeDate])\n\n useEffect(() => {\n const valueMoment = props.value ? moment(props.value).utc() : moment.utc()\n if (props.value !== null && props.value !== undefined) {\n setInputDay(fixOneToZero(valueMoment.date().toString()))\n setInputMonth(fixOneToZero((valueMoment.month() + 1).toString()))\n setInputYear(valueMoment.year().toString())\n } else {\n setInputDay(null)\n setInputMonth(null)\n setInputYear(null)\n }\n onChangeDate(valueMoment.valueOf(), false, false)\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [props.value, isOpen])\n\n useEffect(() => {\n if (activeSegment !== null) {\n setTimeout(() => {\n if (activeSegment === 'day') {\n refDay.current?.focus()\n } else if (activeSegment === 'month') {\n refMonth.current?.focus()\n } else if (activeSegment === 'year') {\n refYear.current?.focus()\n }\n }, 0)\n }\n }, [activeSegment])\n\n useEffect(() => {\n if (isOpen) {\n setActiveSegment('day')\n } else {\n setActiveSegment(null)\n }\n }, [isOpen])\n return (\n <>\n <DateWrapper\n ref={reference as RefObject<HTMLDivElement | null>}\n $size={props.size}\n $genre={props.genre}\n $sx={props.sx}\n $isDisabled={props?.isDisabled}\n $isMinWidth={props?.isMinWidth}\n $radius={radius}\n $parentListHeight={height}\n // onFocus={event => {\n // if (props?.isDisabled) return\n // if (props.onFocus) props.onFocus?.(event)\n // // handleOnOpen()\n // }}\n >\n <DateInputWrapper\n tabIndex={0}\n $genre={props.genre}\n $size={props.size}\n $error={isError ? { isError: true } : props.error}\n $isOpen={isOpen}\n >\n {dataDate.map((date, index) => (\n <Fragment key={date.type}>\n <DateInput\n onValueChange={(values, sourceInfo) => {\n if (date.type === 'DD') {\n if (sourceInfo.source !== 'event') return\n const value = values.formattedValue\n setInputMonth(null)\n setInputYear(null)\n\n if (Number(value) && Number(value) > 31) {\n setInputDay('31')\n } else {\n setInputDay(value)\n }\n if (value !== '' && !value.includes('_')) {\n setActiveSegment('month')\n }\n } else if (date.type === 'MM') {\n if (sourceInfo.source !== 'event') return\n const value = values.formattedValue\n setInputYear(null)\n if (Number(value) > 12) {\n setInputMonth('12')\n } else {\n setInputMonth(value)\n }\n if (value !== '' && !value.includes('_')) {\n setActiveSegment('year')\n }\n } else if (date.type === 'YYYY') {\n if (sourceInfo.source !== 'event') return\n const value = values.formattedValue\n setInputYear(value)\n\n if (value !== '' && !value.includes('_')) {\n const day = inputDay ? Number(inputDay) : NaN\n const month = inputMonth ? Number(inputMonth) : NaN\n const year = value ? Number(value) : NaN\n if (!isNaN(day) && !isNaN(month) && !isNaN(year)) {\n const m = moment.utc(`${day}.${month}.${year}`, 'D.M.YYYY', true).startOf('day')\n if (m.isValid()) {\n onChangeDate(m.valueOf(), false, true)\n } else {\n setIsError(true)\n setTimeout(() => {\n setIsError(false)\n setInputDay(null)\n setInputMonth(null)\n setInputYear(null)\n setActiveSegment('day')\n }, 1000)\n }\n }\n }\n }\n }}\n $genre={props.genre}\n $size={props.size}\n getInputRef={(ref: HTMLInputElement | null) => {\n if (ref && !date.ref.current) {\n date.ref.current = ref\n }\n }}\n onFocus={e => {\n date.setActive()\n e.target.select()\n }}\n onBlur={() => {\n if (index !== dataDate.length - 1)\n if (date.valueInput && date.valueInput.includes('_'))\n date.setValueInput(fixUnderscoreToZero(date.valueInput))\n }}\n onKeyDown={handleKeyDown}\n value={date.valueInput ?? ''}\n placeholder={date.placeholder}\n format={'#'.repeat(date.type.length)}\n style={{ width: date.width }}\n readOnly={isError}\n type=\"text\"\n mask=\"_\"\n />\n {index !== dataDate.length - 1 && (\n <span style={{ width: '4px', pointerEvents: 'none', textAlign: 'center' }}>.</span>\n )}\n </Fragment>\n ))}\n </DateInputWrapper>\n </DateWrapper>\n <Popover\n sx={theme => ({\n default: {\n background: theme.colors.input[props.genre].background.rest,\n border: `solid 1px ${theme.colors.input[props.genre].border.rest}`\n }\n })}\n size={props.size}\n genre={props.genre}\n isOpen={isOpen}\n floatingStyles={floatingStyles}\n ref={floating}\n >\n <DateDropdownList $isInputEffect={props.isInputEffect} $genre={props.genre} $size={props.size}>\n <Stack\n sx={{\n default: {\n justifyContent: 'space-between',\n alignItems: 'center'\n }\n }}\n >\n <Button\n type=\"button\"\n isRadius\n icons={[\n {\n name: 'Arrow2',\n type: 'id',\n turn: 90\n }\n ]}\n isWidthAsHeight\n genre={props.genre}\n size={'small'}\n onClick={() => !isBlockPrevMonth && onPrevMonth()}\n isHidden={isBlockPrevMonth}\n />\n {currentYear !== null && currentMonth !== null && currentDay !== null ? (\n <Stack sx={{ default: { gap: '8px' } }}>\n <SelectMonth\n isShortLabel\n monthsLocale={props.locale.months}\n genre={props.genre}\n size={'small'}\n value={moment\n .utc()\n .year(currentYear)\n .month(currentMonth)\n .date(currentDay)\n .startOf('day')\n .utc()\n .valueOf()}\n onChange={(timestamp: number) => {\n onChangeDate(timestamp, false, true)\n }}\n startDate={props.startDate}\n endDate={props.endDate}\n sx={{ default: { width: '70px' } }}\n />\n <SelectYear\n genre={props.genre}\n size={'small'}\n value={moment\n .utc()\n .year(currentYear)\n .month(currentMonth)\n .date(currentDay)\n .startOf('day')\n .utc()\n .valueOf()}\n onChange={(timestamp: number) => {\n onChangeDate(timestamp, false, true)\n }}\n startDate={props.startDate}\n endDate={props.endDate}\n sx={{ default: { width: '70px' } }}\n />\n </Stack>\n ) : null}\n <Button\n type=\"button\"\n onClick={() => !isBlockNextMonth && onNextMonth()}\n isWidthAsHeight\n isRadius\n icons={[\n {\n name: 'Arrow2',\n type: 'id',\n turn: -90\n }\n ]}\n genre={props.genre}\n size={'small'}\n isHidden={isBlockNextMonth}\n />\n </Stack>\n <DateDropdownDays $rows={rows}>\n {daysInWeek.map((e, index) => (\n <DateDropdownDayOfWeek\n $isToday={false}\n $isWeekend={false}\n type=\"button\"\n $genre={props.genre}\n $size={props.size}\n $row={daysInMonth[0]?.weekOfMonth - 1}\n $column={index + 1}\n key={index}\n >\n {e.label}\n </DateDropdownDayOfWeek>\n ))}\n {daysInMonth.map(day =>\n !day.isDisabled ? (\n <DateDropdownDay\n type=\"button\"\n $genre={props.genre}\n $size={props.size}\n $row={day?.weekOfMonth + 1}\n $column={day.dayOfWeek}\n key={day.value}\n onClick={() => onChangeDate(day.value, true, true)}\n $isToday={day.isToday}\n $isWeekend={day.isWeekend}\n $isChoice={day.value === valueMoment?.valueOf()}\n $isCurrentMonth={day.isCurrentMonth}\n >\n <Ripple color={theme.colors.date[props.genre].color.rest} />\n {day.labelNumber}\n </DateDropdownDay>\n ) : null\n )}\n </DateDropdownDays>\n </DateDropdownList>\n </Popover>\n {props?.error ? <ErrorMessage {...props?.error} size={props?.error.size ?? props.size} /> : null}\n </>\n )\n}\nfunction fixUnderscoreToZero(str: string) {\n if (str.length === 2) {\n return '0' + str[0]\n }\n return str.replace(/_/g, '0')\n}\n\nfunction fixOneToZero(str: string) {\n if (str.length === 1) {\n return '0' + str[0]\n }\n return str\n}\n","import { motion } from 'framer-motion'\nimport { PatternFormat } from 'react-number-format'\nimport styled, { css } from 'styled-components'\n\nimport { InputIsInputEffect, InputPlaceholderNiceNumber } from '@local/components/input'\nimport { getFontSizeStyles } from '@local/components/typography'\nimport { addNiceNumber, addOutline, addRemoveOutline, addRemoveScrollbar, addTransition } from '@local/styles/add'\nimport { addError } from '@local/styles/error'\nimport { addSX } from '@local/styles/sx'\nimport { KEY_SIZE_DATA } from '@local/theme/theme'\nimport { IThemeSizePropertyDefault } from '@local/theme/theme.interface'\n\nimport { DateDropdownDayProps, DateDropdownListProps, DateInputProps, DateStyledListProps, DateWrapperProps } from '.'\n\nexport const DateWrapper = styled.div<DateWrapperProps>`\n width: 100%;\n position: relative;\n height: fit-content;\n ${props =>\n props.$isMinWidth &&\n css`\n width: min-content;\n `}\n ${addSX};\n ${addNiceNumber};\n`\n\nexport const DateDropdownListParent = styled(motion.div)<DateStyledListProps>`\n ${addRemoveScrollbar};\n`\n\nexport const DateDropdownList = styled.div<DateDropdownListProps>`\n list-style: none;\n\n position: relative;\n\n display: flex;\n flex-direction: column;\n overflow: hidden;\n width: 100%;\n padding-top: 6px;\n transform: translateZ(0);\n ${InputIsInputEffect};\n justify-content: flex-start;\n gap: 10px;\n`\n\nexport const DateDropdownDays = styled.div<{ $rows: number }>`\n display: grid;\n column-gap: normal;\n row-gap: normal;\n gap: 6px;\n grid-template-columns: repeat(7, 28px);\n grid-template-rows: repeat(${props => props.$rows}, 28px);\n justify-content: space-between;\n`\n\nexport const DateDropdownDaySize = css<DateDropdownDayProps>`\n ${props =>\n props.$size &&\n DateDropdownDaySizeConstructor({\n ...KEY_SIZE_DATA[props.$size]\n })};\n position: relative;\n overflow: hidden;\n isolation: isolate;\n user-select: none;\n background: ${props => props.theme.colors.date[props.$genre].background.rest};\n border-color: ${props => props.theme.colors.date[props.$genre].border.rest};\n color: ${props => props.theme.colors.date[props.$genre].color.rest};\n border: 1px solid transparent;\n grid-row: ${props => props.$row};\n grid-column: ${props => props.$column};\n display: flex;\n align-items: center;\n justify-content: center;\n width: 100%;\n height: 100%;\n cursor: pointer;\n &:hover {\n ${props => css`\n background: ${props.theme.colors.date[props.$genre].background.hover};\n border-color: ${props.theme.colors.date[props.$genre].border.hover};\n color: ${props.theme.colors.date[props.$genre].color.hover};\n `}\n }\n ${addTransition};\n\n ${props =>\n props.$isWeekend &&\n css`\n background: ${props.theme.colors.date[props.$genre].background.weekend};\n border-color: ${props.theme.colors.date[props.$genre].border.weekend};\n color: ${props.theme.colors.date[props.$genre].color.weekend};\n `}\n ${props =>\n props.$isToday &&\n css`\n background: ${props.theme.colors.date[props.$genre].background.today};\n border-color: ${props.theme.colors.date[props.$genre].border.today};\n color: ${props.theme.colors.date[props.$genre].color.today};\n `}\n ${props =>\n props.$isChoice &&\n css`\n background: ${props.theme.colors.date[props.$genre].background.choice};\n border-color: ${props.theme.colors.date[props.$genre].border.choice};\n color: ${props.theme.colors.date[props.$genre].color.choice};\n `}\n ${props =>\n !props.$isCurrentMonth &&\n css`\n opacity: 0.5;\n `}\n ${params => getFontSizeStyles(12, 700, params.theme.font.family)};\n\n ${addOutline};\n`\nexport const DateDropdownDaySizeConstructor = (props: IThemeSizePropertyDefault) => css`\n border-radius: ${props.radius}px;\n ${params => getFontSizeStyles(12, 700, params.theme.font.family)};\n`\n\nexport const DateDropdownDay = styled.button<DateDropdownDayProps>`\n ${DateDropdownDaySize}\n`\nexport const DateDropdownDayOfWeek = styled.button<DateDropdownDayProps>`\n ${DateDropdownDaySize}\n opacity: 1;\n background-color: transparent;\n`\n\n/****************************************** Genre *************************************************/\nconst DateInputGenre = css<DateInputProps>`\n ${props => css`\n color: ${props.theme.colors.input[props.$genre].color.rest};\n &:active {\n color: ${props.theme.colors.input[props.$genre].color.rest};\n }\n &:focus-visible {\n color: ${props.theme.colors.input[props.$genre].color.rest};\n }\n `};\n`\nexport const DateInput = styled(PatternFormat)<DateInputProps>`\n resize: none;\n overflow: hidden;\n border: 0px solid;\n background: transparent;\n padding: 0px !important;\n margin: 0px !important;\n white-space: nowrap;\n text-align: left;\n ${props => getFontSizeStyles(16, 400, 'Roboto Mono', props.theme.font.lineHeight)};\n ${DateInputGenre};\n ${InputPlaceholderNiceNumber};\n ${addRemoveOutline};\n`\n\n/****************************************** Genre *************************************************/\nconst DateInputWrapperGenre = css<DateInputProps>`\n ${props => css`\n background: ${props.theme.colors.input[props.$genre].background.rest};\n border-color: ${props.theme.colors.input[props.$genre].border.rest};\n color: ${props.theme.colors.input[props.$genre].color.rest};\n outline: 2px solid transparent;\n outline-offset: 1px;\n &:hover {\n background: ${props.theme.colors.input[props.$genre].background.hover};\n border-color: ${props.theme.colors.input[props.$genre].border.hover};\n color: ${props.theme.colors.input[props.$genre].color.hover};\n }\n &:has(:focus-visible),\n &:has(:active) {\n background: ${props.theme.colors.input[props.$genre].background.rest};\n border-color: ${props.theme.colors.input[props.$genre].border.rest};\n color: ${props.theme.colors.input[props.$genre].color.rest};\n outline: 2px solid ${props => props.theme.states.focus};\n }\n ${props.$isOpen &&\n css`\n background: ${props.theme.colors.input[props.$genre].background.rest};\n border-color: ${props.theme.colors.input[props.$genre].border.rest};\n color: ${props.theme.colors.input[props.$genre].color.rest};\n outline: 2px solid ${props => props.theme.states.focus};\n `}\n `};\n`\n\n/****************************************** Size *************************************************/\nexport const DateInputWrapperSize = css<DateInputProps>`\n ${props => DateInputWrapperSizeConstructor(KEY_SIZE_DATA[props.$size])};\n`\nexport const DateInputWrapperSizeConstructor = (props: IThemeSizePropertyDefault) => css`\n padding: 0px ${props.padding}px;\n height: ${props.height}px;\n min-height: ${props.height}px;\n max-height: ${props.height}px;\n border-radius: ${props.radius}px;\n`\n\nexport const DateInputWrapper = styled.div<DateInputProps>`\n resize: none;\n overflow: hidden;\n width: 100%;\n border: 1px solid transparent;\n\n white-space: nowrap;\n\n display: flex;\n align-items: center;\n gap: 0px;\n\n ${DateInputWrapperSize};\n ${DateInputWrapperGenre};\n ${addTransition};\n ${addError};\n`\n"],"names":["valueMoment","jsxs","Fragment","jsx","theme","props"],"mappings":"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"}
|
|
@@ -0,0 +1,474 @@
|
|
|
1
|
+
import { j as jsxRuntimeExports } from "./jsx-runtime-BrDlu8eK.js";
|
|
2
|
+
import { motion } from "framer-motion";
|
|
3
|
+
import { useMemo, useCallback, useState, useRef, useEffect } from "react";
|
|
4
|
+
import styled, { useTheme, css } from "styled-components";
|
|
5
|
+
import { ImageSupportedFormatsForInput } from "./consts.es.js";
|
|
6
|
+
import { u as useImageCrop } from "./use-BVj4dgbW.js";
|
|
7
|
+
import { c as Button } from "./component-DZxbW_Jz.js";
|
|
8
|
+
import { I as Image } from "./component.styles-Do1NYZEO.js";
|
|
9
|
+
import { b as Stack } from "./component-jPZYT5iL.js";
|
|
10
|
+
import { j as Typography } from "./component-C2JFFh-k.js";
|
|
11
|
+
import { a as useDialog } from "./context.constants-CsZRZ7gH.js";
|
|
12
|
+
import { K as KEY_SIZE_DATA } from "./theme.global-bN9HlSWE.js";
|
|
13
|
+
import { b as ErrorMessage, a as addError } from "./style-DeAgDHyI.js";
|
|
14
|
+
import { a as addSX } from "./style-plT9Ah7t.js";
|
|
15
|
+
const useImageView = (props) => {
|
|
16
|
+
const size = useMemo(() => KEY_SIZE_DATA[props.size], [props.size]);
|
|
17
|
+
const br = useMemo(() => `${size.radius}px`, [size.radius]);
|
|
18
|
+
const { add } = useDialog({
|
|
19
|
+
br,
|
|
20
|
+
propsDialog: {
|
|
21
|
+
borderRadius: br,
|
|
22
|
+
padding: "0",
|
|
23
|
+
background: "whiteStandard"
|
|
24
|
+
}
|
|
25
|
+
});
|
|
26
|
+
const handleAdd = useCallback(
|
|
27
|
+
(image) => {
|
|
28
|
+
add({
|
|
29
|
+
content: (params, remove) => /* @__PURE__ */ jsxRuntimeExports.jsxs(
|
|
30
|
+
Stack,
|
|
31
|
+
{
|
|
32
|
+
sx: {
|
|
33
|
+
default: {
|
|
34
|
+
position: "relative",
|
|
35
|
+
overflow: "hidden",
|
|
36
|
+
aspectRatio: `${props.imageSettings.aspect * 2} / 2`,
|
|
37
|
+
width: "auto",
|
|
38
|
+
maxWidth: "70dvw",
|
|
39
|
+
height: "85dvh",
|
|
40
|
+
borderRadius: params == null ? void 0 : params.br
|
|
41
|
+
},
|
|
42
|
+
tablet: {
|
|
43
|
+
maxWidth: "95dvw"
|
|
44
|
+
}
|
|
45
|
+
},
|
|
46
|
+
children: [
|
|
47
|
+
/* @__PURE__ */ jsxRuntimeExports.jsx(
|
|
48
|
+
Image,
|
|
49
|
+
{
|
|
50
|
+
sxStack: (theme) => ({
|
|
51
|
+
default: {
|
|
52
|
+
width: "100%",
|
|
53
|
+
height: "100%",
|
|
54
|
+
alignItems: "center",
|
|
55
|
+
justifyContent: "center",
|
|
56
|
+
backgroundColor: theme.palette.black10,
|
|
57
|
+
position: "absolute",
|
|
58
|
+
pointerEvents: "none"
|
|
59
|
+
}
|
|
60
|
+
}),
|
|
61
|
+
isShowBeforeImage: true,
|
|
62
|
+
sxImage: {
|
|
63
|
+
default: {
|
|
64
|
+
objectFit: "contain"
|
|
65
|
+
}
|
|
66
|
+
},
|
|
67
|
+
alt: image == null ? void 0 : image.imageSrc,
|
|
68
|
+
src: image == null ? void 0 : image.imageSrc,
|
|
69
|
+
componentFallback: /* @__PURE__ */ jsxRuntimeExports.jsx(
|
|
70
|
+
Typography,
|
|
71
|
+
{
|
|
72
|
+
sx: {
|
|
73
|
+
default: {
|
|
74
|
+
variant: "h6"
|
|
75
|
+
}
|
|
76
|
+
},
|
|
77
|
+
children: props.locale.imageFallback
|
|
78
|
+
}
|
|
79
|
+
)
|
|
80
|
+
}
|
|
81
|
+
),
|
|
82
|
+
/* @__PURE__ */ jsxRuntimeExports.jsx(
|
|
83
|
+
Button,
|
|
84
|
+
{
|
|
85
|
+
sx: {
|
|
86
|
+
default: {
|
|
87
|
+
position: "absolute",
|
|
88
|
+
bottom: 15,
|
|
89
|
+
right: 15
|
|
90
|
+
}
|
|
91
|
+
},
|
|
92
|
+
genre: "realebail-white",
|
|
93
|
+
size: "small",
|
|
94
|
+
icons: [
|
|
95
|
+
{
|
|
96
|
+
type: "id",
|
|
97
|
+
name: "Arrow4"
|
|
98
|
+
}
|
|
99
|
+
],
|
|
100
|
+
isWidthAsHeight: true,
|
|
101
|
+
isHiddenBorder: true,
|
|
102
|
+
isRadius: true,
|
|
103
|
+
onClick: () => remove == null ? void 0 : remove()
|
|
104
|
+
}
|
|
105
|
+
)
|
|
106
|
+
]
|
|
107
|
+
}
|
|
108
|
+
)
|
|
109
|
+
});
|
|
110
|
+
},
|
|
111
|
+
[add, props.imageSettings.aspect, props.locale.imageFallback]
|
|
112
|
+
);
|
|
113
|
+
return { handleAdd };
|
|
114
|
+
};
|
|
115
|
+
const ImageSelect = (props) => {
|
|
116
|
+
const { onChange } = props;
|
|
117
|
+
const size = useMemo(() => KEY_SIZE_DATA[props.size], [props.size]);
|
|
118
|
+
const [images, setImages] = useState(props.images || []);
|
|
119
|
+
const [isDraggingOver, setIsDraggingOver] = useState(false);
|
|
120
|
+
const refInput = useRef(null);
|
|
121
|
+
const theme = useTheme();
|
|
122
|
+
const handleDrop = (e) => {
|
|
123
|
+
var _a;
|
|
124
|
+
e.preventDefault();
|
|
125
|
+
if ((_a = e.dataTransfer.files) == null ? void 0 : _a.length) {
|
|
126
|
+
handleAddFilesCrop(e.dataTransfer.files);
|
|
127
|
+
}
|
|
128
|
+
};
|
|
129
|
+
const handleDelete = (id) => {
|
|
130
|
+
setImages((prev) => {
|
|
131
|
+
const finalImages = prev.filter((img) => img.id !== id);
|
|
132
|
+
onChange == null ? void 0 : onChange(finalImages);
|
|
133
|
+
return finalImages;
|
|
134
|
+
});
|
|
135
|
+
};
|
|
136
|
+
const handleOnSave = useCallback(
|
|
137
|
+
(files) => {
|
|
138
|
+
if (files) {
|
|
139
|
+
setImages((prev) => {
|
|
140
|
+
const newImages = files.map((file, idx) => ({
|
|
141
|
+
...file,
|
|
142
|
+
index: prev.length + idx
|
|
143
|
+
}));
|
|
144
|
+
const finalImages = [...prev, ...newImages];
|
|
145
|
+
onChange == null ? void 0 : onChange(finalImages);
|
|
146
|
+
return finalImages;
|
|
147
|
+
});
|
|
148
|
+
}
|
|
149
|
+
},
|
|
150
|
+
[onChange]
|
|
151
|
+
);
|
|
152
|
+
const openFileDialog = () => {
|
|
153
|
+
var _a;
|
|
154
|
+
(_a = refInput.current) == null ? void 0 : _a.click();
|
|
155
|
+
};
|
|
156
|
+
const resetImages = () => {
|
|
157
|
+
setImages(props.defaultImages || []);
|
|
158
|
+
onChange == null ? void 0 : onChange(props.defaultImages || []);
|
|
159
|
+
};
|
|
160
|
+
const { handleAddFiles: handleAddFilesCrop } = useImageCrop({
|
|
161
|
+
onSave: handleOnSave,
|
|
162
|
+
locale: props.locale,
|
|
163
|
+
dialog: {
|
|
164
|
+
button: {
|
|
165
|
+
genre: props.propsButton.default.genre,
|
|
166
|
+
size: props.propsButton.default.size
|
|
167
|
+
},
|
|
168
|
+
buttonDelete: {
|
|
169
|
+
genre: props.propsButton.delete.genre,
|
|
170
|
+
size: props.propsButton.delete.size
|
|
171
|
+
}
|
|
172
|
+
},
|
|
173
|
+
imageSettings: {
|
|
174
|
+
maxSize: props.imageSettings.maxSize,
|
|
175
|
+
maxCount: props.imageSettings.maxCount - images.length,
|
|
176
|
+
aspect: props.imageSettings.aspect
|
|
177
|
+
},
|
|
178
|
+
refInput
|
|
179
|
+
});
|
|
180
|
+
const { handleAdd } = useImageView({
|
|
181
|
+
size: props.size,
|
|
182
|
+
locale: props.locale,
|
|
183
|
+
imageSettings: props.imageSettings,
|
|
184
|
+
genre: props.genre
|
|
185
|
+
});
|
|
186
|
+
useEffect(() => {
|
|
187
|
+
setImages(props.images || []);
|
|
188
|
+
}, [props.images]);
|
|
189
|
+
return /* @__PURE__ */ jsxRuntimeExports.jsxs(jsxRuntimeExports.Fragment, { children: [
|
|
190
|
+
/* @__PURE__ */ jsxRuntimeExports.jsxs(ImageSelectWrapper, { $genre: props.genre, $size: props.size, id: props.id, $sx: props.sx, $error: props.error, children: [
|
|
191
|
+
/* @__PURE__ */ jsxRuntimeExports.jsxs(
|
|
192
|
+
ImageSelectListWrapper,
|
|
193
|
+
{
|
|
194
|
+
onDrop: (e) => {
|
|
195
|
+
handleDrop(e);
|
|
196
|
+
setIsDraggingOver(false);
|
|
197
|
+
},
|
|
198
|
+
onDragOver: (e) => e.preventDefault(),
|
|
199
|
+
onDragEnter: () => setIsDraggingOver(true),
|
|
200
|
+
onDragLeave: () => setIsDraggingOver(false),
|
|
201
|
+
animate: {
|
|
202
|
+
borderColor: isDraggingOver ? theme.colors.imageSelect[props.genre].border.hover : theme.colors.imageSelect[props.genre].border.rest
|
|
203
|
+
},
|
|
204
|
+
transition: { duration: 0.3 },
|
|
205
|
+
$genre: props.genre,
|
|
206
|
+
$size: props.size,
|
|
207
|
+
children: [
|
|
208
|
+
/* @__PURE__ */ jsxRuntimeExports.jsxs(
|
|
209
|
+
motion.div,
|
|
210
|
+
{
|
|
211
|
+
transition: {
|
|
212
|
+
layout: {
|
|
213
|
+
duration: 0.3,
|
|
214
|
+
ease: "easeInOut",
|
|
215
|
+
type: "spring"
|
|
216
|
+
}
|
|
217
|
+
},
|
|
218
|
+
layout: true,
|
|
219
|
+
style: { display: "flex", flexWrap: "wrap", gap: `${size.padding - 2}px` },
|
|
220
|
+
children: [
|
|
221
|
+
images.map(
|
|
222
|
+
(img) => img.url && /* @__PURE__ */ jsxRuntimeExports.jsxs(
|
|
223
|
+
motion.div,
|
|
224
|
+
{
|
|
225
|
+
style: {
|
|
226
|
+
position: "relative",
|
|
227
|
+
width: `${props.imageSettings.width}px`,
|
|
228
|
+
height: `${props.imageSettings.height}px`,
|
|
229
|
+
userSelect: "none",
|
|
230
|
+
overflow: "hidden",
|
|
231
|
+
borderRadius: `${size.radius}px`,
|
|
232
|
+
flexGrow: 1
|
|
233
|
+
},
|
|
234
|
+
layout: true,
|
|
235
|
+
transition: {
|
|
236
|
+
layout: {
|
|
237
|
+
duration: 0.3,
|
|
238
|
+
ease: "easeInOut",
|
|
239
|
+
type: "spring"
|
|
240
|
+
}
|
|
241
|
+
},
|
|
242
|
+
children: [
|
|
243
|
+
/* @__PURE__ */ jsxRuntimeExports.jsx(
|
|
244
|
+
Image,
|
|
245
|
+
{
|
|
246
|
+
sxStack: (theme2) => ({
|
|
247
|
+
default: {
|
|
248
|
+
width: "100%",
|
|
249
|
+
height: "100%",
|
|
250
|
+
alignItems: "center",
|
|
251
|
+
justifyContent: "center",
|
|
252
|
+
backgroundColor: theme2.palette.black10,
|
|
253
|
+
position: "absolute",
|
|
254
|
+
pointerEvents: "none"
|
|
255
|
+
}
|
|
256
|
+
}),
|
|
257
|
+
isShowBeforeImage: props.isContain,
|
|
258
|
+
sxImage: {
|
|
259
|
+
default: {
|
|
260
|
+
objectFit: props.isContain ? "contain" : "cover"
|
|
261
|
+
}
|
|
262
|
+
},
|
|
263
|
+
alt: img.name || "image",
|
|
264
|
+
src: img.url,
|
|
265
|
+
componentFallback: /* @__PURE__ */ jsxRuntimeExports.jsx(
|
|
266
|
+
Typography,
|
|
267
|
+
{
|
|
268
|
+
sx: {
|
|
269
|
+
default: {
|
|
270
|
+
variant: "h6"
|
|
271
|
+
}
|
|
272
|
+
},
|
|
273
|
+
children: props.locale.imageFallback
|
|
274
|
+
}
|
|
275
|
+
)
|
|
276
|
+
}
|
|
277
|
+
),
|
|
278
|
+
/* @__PURE__ */ jsxRuntimeExports.jsx(
|
|
279
|
+
Button,
|
|
280
|
+
{
|
|
281
|
+
sx: {
|
|
282
|
+
default: {
|
|
283
|
+
position: "absolute",
|
|
284
|
+
top: 5,
|
|
285
|
+
right: 5
|
|
286
|
+
}
|
|
287
|
+
},
|
|
288
|
+
genre: props.genre,
|
|
289
|
+
size: "small",
|
|
290
|
+
icons: [
|
|
291
|
+
{
|
|
292
|
+
type: "id",
|
|
293
|
+
name: "Close"
|
|
294
|
+
}
|
|
295
|
+
],
|
|
296
|
+
isWidthAsHeight: true,
|
|
297
|
+
isHiddenBorder: true,
|
|
298
|
+
isRadius: true,
|
|
299
|
+
onClick: () => handleDelete(img.id)
|
|
300
|
+
}
|
|
301
|
+
),
|
|
302
|
+
/* @__PURE__ */ jsxRuntimeExports.jsx(
|
|
303
|
+
Button,
|
|
304
|
+
{
|
|
305
|
+
sx: {
|
|
306
|
+
default: {
|
|
307
|
+
position: "absolute",
|
|
308
|
+
bottom: 5,
|
|
309
|
+
right: 5
|
|
310
|
+
}
|
|
311
|
+
},
|
|
312
|
+
genre: props.genre,
|
|
313
|
+
size: "small",
|
|
314
|
+
icons: [
|
|
315
|
+
{
|
|
316
|
+
type: "id",
|
|
317
|
+
name: "Activity"
|
|
318
|
+
}
|
|
319
|
+
],
|
|
320
|
+
isWidthAsHeight: true,
|
|
321
|
+
isHiddenBorder: true,
|
|
322
|
+
isRadius: true,
|
|
323
|
+
onClick: () => img.url && handleAdd({ id: img.id, imageSrc: img.url })
|
|
324
|
+
}
|
|
325
|
+
)
|
|
326
|
+
]
|
|
327
|
+
},
|
|
328
|
+
img.id
|
|
329
|
+
)
|
|
330
|
+
),
|
|
331
|
+
images.length === 0 && /* @__PURE__ */ jsxRuntimeExports.jsx(
|
|
332
|
+
"div",
|
|
333
|
+
{
|
|
334
|
+
onClick: openFileDialog,
|
|
335
|
+
style: {
|
|
336
|
+
position: "relative",
|
|
337
|
+
width: `${props.imageSettings.width}px`,
|
|
338
|
+
height: `${props.imageSettings.height}px`,
|
|
339
|
+
userSelect: "none",
|
|
340
|
+
overflow: "hidden",
|
|
341
|
+
borderRadius: `${size.radius}px`,
|
|
342
|
+
flexGrow: 1,
|
|
343
|
+
display: "flex",
|
|
344
|
+
alignItems: "center",
|
|
345
|
+
justifyContent: "center",
|
|
346
|
+
textAlign: "center",
|
|
347
|
+
cursor: "pointer"
|
|
348
|
+
},
|
|
349
|
+
children: /* @__PURE__ */ jsxRuntimeExports.jsx(
|
|
350
|
+
Typography,
|
|
351
|
+
{
|
|
352
|
+
style: {
|
|
353
|
+
color: theme.colors.imageSelect[props.genre].color.rest
|
|
354
|
+
},
|
|
355
|
+
sx: {
|
|
356
|
+
default: {}
|
|
357
|
+
},
|
|
358
|
+
children: props.locale.dragAndDrop
|
|
359
|
+
}
|
|
360
|
+
)
|
|
361
|
+
},
|
|
362
|
+
"empty"
|
|
363
|
+
)
|
|
364
|
+
]
|
|
365
|
+
}
|
|
366
|
+
),
|
|
367
|
+
/* @__PURE__ */ jsxRuntimeExports.jsx(
|
|
368
|
+
"input",
|
|
369
|
+
{
|
|
370
|
+
ref: refInput,
|
|
371
|
+
type: "file",
|
|
372
|
+
accept: ImageSupportedFormatsForInput,
|
|
373
|
+
multiple: true,
|
|
374
|
+
style: { display: "none" },
|
|
375
|
+
onChange: (e) => {
|
|
376
|
+
if (e.target.files) handleAddFilesCrop(e.target.files);
|
|
377
|
+
}
|
|
378
|
+
}
|
|
379
|
+
)
|
|
380
|
+
]
|
|
381
|
+
}
|
|
382
|
+
),
|
|
383
|
+
/* @__PURE__ */ jsxRuntimeExports.jsxs(Stack, { sx: { default: { flexGrow: 1, gap: `${size.padding - 2}px` } }, children: [
|
|
384
|
+
/* @__PURE__ */ jsxRuntimeExports.jsx(
|
|
385
|
+
Button,
|
|
386
|
+
{
|
|
387
|
+
type: "button",
|
|
388
|
+
genre: props.genre,
|
|
389
|
+
size: props.size,
|
|
390
|
+
sx: {
|
|
391
|
+
default: {
|
|
392
|
+
flexGrow: 3
|
|
393
|
+
}
|
|
394
|
+
},
|
|
395
|
+
isRadius: true,
|
|
396
|
+
onClick: openFileDialog,
|
|
397
|
+
children: props.locale.buttonAdd
|
|
398
|
+
}
|
|
399
|
+
),
|
|
400
|
+
/* @__PURE__ */ jsxRuntimeExports.jsx(
|
|
401
|
+
Button,
|
|
402
|
+
{
|
|
403
|
+
isRadius: true,
|
|
404
|
+
type: "button",
|
|
405
|
+
sx: {
|
|
406
|
+
default: {
|
|
407
|
+
flexGrow: 1
|
|
408
|
+
}
|
|
409
|
+
},
|
|
410
|
+
onClick: resetImages,
|
|
411
|
+
genre: props.genre,
|
|
412
|
+
size: props.size,
|
|
413
|
+
children: props.locale.buttonReset
|
|
414
|
+
}
|
|
415
|
+
)
|
|
416
|
+
] })
|
|
417
|
+
] }),
|
|
418
|
+
(props == null ? void 0 : props.error) ? /* @__PURE__ */ jsxRuntimeExports.jsx(ErrorMessage, { ...props.error, size: (props == null ? void 0 : props.error.size) ?? props.size }) : null
|
|
419
|
+
] });
|
|
420
|
+
};
|
|
421
|
+
const ImageSelectListGenre = css`
|
|
422
|
+
${(props) => css`
|
|
423
|
+
background: ${props.theme.colors.imageSelect[props.$genre].background.rest};
|
|
424
|
+
color: ${props.theme.colors.imageSelect[props.$genre].color.rest};
|
|
425
|
+
&:active {
|
|
426
|
+
background: ${props.theme.colors.imageSelect[props.$genre].background.rest};
|
|
427
|
+
color: ${props.theme.colors.imageSelect[props.$genre].color.rest};
|
|
428
|
+
}
|
|
429
|
+
&:focus-visible {
|
|
430
|
+
background: ${props.theme.colors.imageSelect[props.$genre].background.rest};
|
|
431
|
+
color: ${props.theme.colors.imageSelect[props.$genre].color.rest};
|
|
432
|
+
}
|
|
433
|
+
`};
|
|
434
|
+
`;
|
|
435
|
+
const ImageSelectListSize = css`
|
|
436
|
+
${(props) => ImageSelectListSizeConstructor(KEY_SIZE_DATA[props.$size])};
|
|
437
|
+
`;
|
|
438
|
+
const ImageSelectListSizeConstructor = (props) => css`
|
|
439
|
+
padding: ${props.padding}px;
|
|
440
|
+
border-radius: ${props.radius}px;
|
|
441
|
+
`;
|
|
442
|
+
const ImageSelectSize = css`
|
|
443
|
+
${(props) => ImageSelectSizeConstructor(KEY_SIZE_DATA[props.$size])};
|
|
444
|
+
`;
|
|
445
|
+
const ImageSelectSizeConstructor = (props) => css`
|
|
446
|
+
gap: ${props.padding - 2}px;
|
|
447
|
+
`;
|
|
448
|
+
const ImageSelectWrapper = styled.div`
|
|
449
|
+
display: flex;
|
|
450
|
+
flex-direction: column;
|
|
451
|
+
width: 100%;
|
|
452
|
+
${ImageSelectSize};
|
|
453
|
+
${addError};
|
|
454
|
+
${addSX};
|
|
455
|
+
`;
|
|
456
|
+
const ImageSelectListWrapper = styled(motion.div)`
|
|
457
|
+
border: 2px dashed;
|
|
458
|
+
|
|
459
|
+
display: flex;
|
|
460
|
+
flex-direction: column;
|
|
461
|
+
width: 100%;
|
|
462
|
+
${ImageSelectListGenre}
|
|
463
|
+
${ImageSelectListSize}
|
|
464
|
+
`;
|
|
465
|
+
export {
|
|
466
|
+
ImageSelect as I,
|
|
467
|
+
ImageSelectListSize as a,
|
|
468
|
+
ImageSelectListSizeConstructor as b,
|
|
469
|
+
ImageSelectSize as c,
|
|
470
|
+
ImageSelectSizeConstructor as d,
|
|
471
|
+
ImageSelectWrapper as e,
|
|
472
|
+
ImageSelectListWrapper as f
|
|
473
|
+
};
|
|
474
|
+
//# sourceMappingURL=component.styles-CVBpx4fw.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"component.styles-CVBpx4fw.js","sources":["../src/hooks/use-image-view/use.tsx","../src/components/image-select/component.tsx","../src/components/image-select/component.styles.ts"],"sourcesContent":["import { useCallback, useMemo } from 'react'\n\nimport { Button } from '@local/components/button'\nimport { Image } from '@local/components/image'\nimport { SliderImageProps } from '@local/components/image-slider'\nimport { Stack } from '@local/components/stack'\nimport { Typography } from '@local/components/typography'\nimport { useDialog } from '@local/contexts/context-dialog'\nimport { KEY_SIZE_DATA } from '@local/theme'\n\nimport { useImageViewProps } from '.'\n\nexport const useImageView = (props: useImageViewProps) => {\n const size = useMemo(() => KEY_SIZE_DATA[props.size], [props.size])\n const br = useMemo(() => `${size.radius}px`, [size.radius])\n\n const { add } = useDialog<{\n br?: string\n }>({\n br: br,\n propsDialog: {\n borderRadius: br,\n padding: '0',\n background: 'whiteStandard'\n }\n })\n const handleAdd = useCallback(\n (image: SliderImageProps) => {\n add({\n content: (params, remove) => (\n <Stack\n sx={{\n default: {\n position: 'relative',\n overflow: 'hidden',\n aspectRatio: `${props.imageSettings.aspect * 2} / 2`,\n width: 'auto',\n maxWidth: '70dvw',\n height: '85dvh',\n borderRadius: params?.br\n },\n tablet: {\n maxWidth: '95dvw'\n }\n }}\n >\n <Image\n sxStack={theme => ({\n default: {\n width: '100%',\n height: '100%',\n alignItems: 'center',\n justifyContent: 'center',\n backgroundColor: theme.palette.black10,\n position: 'absolute',\n pointerEvents: 'none'\n }\n })}\n isShowBeforeImage\n sxImage={{\n default: {\n objectFit: 'contain'\n }\n }}\n alt={image?.imageSrc}\n src={image?.imageSrc}\n componentFallback={\n <Typography\n sx={{\n default: {\n variant: 'h6'\n }\n }}\n >\n {props.locale.imageFallback}\n </Typography>\n }\n />\n <Button\n sx={{\n default: {\n position: 'absolute',\n bottom: 15,\n right: 15\n }\n }}\n genre=\"realebail-white\"\n size=\"small\"\n icons={[\n {\n type: 'id',\n name: 'Arrow4'\n }\n ]}\n isWidthAsHeight\n isHiddenBorder\n isRadius\n onClick={() => remove?.()}\n />\n </Stack>\n )\n })\n },\n [add, props.imageSettings.aspect, props.locale.imageFallback]\n )\n return { handleAdd }\n}\n","import { motion } from 'framer-motion'\nimport { DragEvent, useCallback, useEffect, useMemo, useRef, useState } from 'react'\nimport { useTheme } from 'styled-components'\n\nimport { ImageSupportedFormatsForInput } from '@local/consts'\nimport { useImageCrop } from '@local/hooks/use-image-crop'\nimport { useImageView } from '@local/hooks/use-image-view'\nimport { ErrorMessage } from '@local/styles/error'\nimport { KEY_SIZE_DATA } from '@local/theme'\n\nimport { ImageSelectItemProps, ImageSelectListWrapper, ImageSelectProps, ImageSelectWrapper } from '.'\nimport { Button } from '../button'\nimport { Image } from '../image'\nimport { Stack } from '../stack'\nimport { Typography } from '../typography'\n\nexport const ImageSelect = (props: ImageSelectProps) => {\n const { onChange } = props\n\n const size = useMemo(() => KEY_SIZE_DATA[props.size], [props.size])\n\n const [images, setImages] = useState<ImageSelectItemProps[]>(props.images || [])\n\n const [isDraggingOver, setIsDraggingOver] = useState(false)\n\n const refInput = useRef<HTMLInputElement | null>(null)\n\n const theme = useTheme()\n\n const handleDrop = (e: DragEvent<HTMLDivElement>) => {\n e.preventDefault()\n if (e.dataTransfer.files?.length) {\n handleAddFilesCrop(e.dataTransfer.files)\n }\n }\n\n const handleDelete = (id: number) => {\n setImages(prev => {\n const finalImages = prev.filter(img => img.id !== id)\n onChange?.(finalImages)\n return finalImages\n })\n }\n\n const handleOnSave = useCallback(\n (files: ImageSelectItemProps[] | null) => {\n if (files) {\n setImages(prev => {\n const newImages = files.map((file, idx) => ({\n ...file,\n index: prev.length + idx\n }))\n const finalImages = [...prev, ...newImages]\n onChange?.(finalImages)\n return finalImages\n })\n }\n },\n [onChange]\n )\n\n const openFileDialog = () => {\n refInput.current?.click()\n }\n\n const resetImages = () => {\n setImages(props.defaultImages || [])\n onChange?.(props.defaultImages || [])\n }\n\n const { handleAddFiles: handleAddFilesCrop } = useImageCrop({\n onSave: handleOnSave,\n locale: props.locale,\n dialog: {\n button: {\n genre: props.propsButton.default.genre,\n size: props.propsButton.default.size\n },\n buttonDelete: {\n genre: props.propsButton.delete.genre,\n size: props.propsButton.delete.size\n }\n },\n imageSettings: {\n maxSize: props.imageSettings.maxSize,\n maxCount: props.imageSettings.maxCount - images.length,\n aspect: props.imageSettings.aspect\n },\n refInput: refInput\n })\n\n const { handleAdd } = useImageView({\n size: props.size,\n locale: props.locale,\n imageSettings: props.imageSettings,\n genre: props.genre\n })\n\n useEffect(() => {\n setImages(props.images || [])\n }, [props.images])\n\n return (\n <>\n <ImageSelectWrapper $genre={props.genre} $size={props.size} id={props.id} $sx={props.sx} $error={props.error}>\n <ImageSelectListWrapper\n onDrop={e => {\n handleDrop(e)\n setIsDraggingOver(false)\n }}\n onDragOver={e => e.preventDefault()}\n onDragEnter={() => setIsDraggingOver(true)}\n onDragLeave={() => setIsDraggingOver(false)}\n animate={{\n borderColor: isDraggingOver\n ? theme.colors.imageSelect[props.genre].border.hover\n : theme.colors.imageSelect[props.genre].border.rest\n }}\n transition={{ duration: 0.3 }}\n $genre={props.genre}\n $size={props.size}\n >\n <motion.div\n transition={{\n layout: {\n duration: 0.3,\n ease: 'easeInOut',\n type: 'spring'\n }\n }}\n layout\n style={{ display: 'flex', flexWrap: 'wrap', gap: `${size.padding - 2}px` }}\n >\n {images.map(\n img =>\n img.url && (\n <motion.div\n key={img.id}\n style={{\n position: 'relative',\n width: `${props.imageSettings.width}px`,\n height: `${props.imageSettings.height}px`,\n userSelect: 'none',\n overflow: 'hidden',\n borderRadius: `${size.radius}px`,\n flexGrow: 1\n }}\n layout\n transition={{\n layout: {\n duration: 0.3,\n ease: 'easeInOut',\n type: 'spring'\n }\n }}\n >\n <Image\n sxStack={theme => ({\n default: {\n width: '100%',\n height: '100%',\n alignItems: 'center',\n justifyContent: 'center',\n backgroundColor: theme.palette.black10,\n position: 'absolute',\n pointerEvents: 'none'\n }\n })}\n isShowBeforeImage={props.isContain}\n sxImage={{\n default: {\n objectFit: props.isContain ? 'contain' : 'cover'\n }\n }}\n alt={img.name || 'image'}\n src={img.url}\n componentFallback={\n <Typography\n sx={{\n default: {\n variant: 'h6'\n }\n }}\n >\n {props.locale.imageFallback}\n </Typography>\n }\n />\n <Button\n sx={{\n default: {\n position: 'absolute',\n top: 5,\n right: 5\n }\n }}\n genre={props.genre}\n size=\"small\"\n icons={[\n {\n type: 'id',\n name: 'Close'\n }\n ]}\n isWidthAsHeight\n isHiddenBorder\n isRadius\n onClick={() => handleDelete(img.id)}\n />\n <Button\n sx={{\n default: {\n position: 'absolute',\n bottom: 5,\n right: 5\n }\n }}\n genre={props.genre}\n size=\"small\"\n icons={[\n {\n type: 'id',\n name: 'Activity'\n }\n ]}\n isWidthAsHeight\n isHiddenBorder\n isRadius\n onClick={() => img.url && handleAdd({ id: img.id, imageSrc: img.url })}\n />\n </motion.div>\n )\n )}\n {images.length === 0 && (\n <div\n onClick={openFileDialog}\n key=\"empty\"\n style={{\n position: 'relative',\n width: `${props.imageSettings.width}px`,\n height: `${props.imageSettings.height}px`,\n userSelect: 'none',\n overflow: 'hidden',\n borderRadius: `${size.radius}px`,\n flexGrow: 1,\n display: 'flex',\n alignItems: 'center',\n justifyContent: 'center',\n textAlign: 'center',\n cursor: 'pointer'\n }}\n >\n <Typography\n style={{\n color: theme.colors.imageSelect[props.genre].color.rest\n }}\n sx={{\n default: {}\n }}\n >\n {props.locale.dragAndDrop}\n </Typography>\n </div>\n )}\n </motion.div>\n\n <input\n ref={refInput}\n type=\"file\"\n accept={ImageSupportedFormatsForInput}\n multiple\n style={{ display: 'none' }}\n onChange={e => {\n if (e.target.files) handleAddFilesCrop(e.target.files)\n }}\n />\n </ImageSelectListWrapper>\n <Stack sx={{ default: { flexGrow: 1, gap: `${size.padding - 2}px` } }}>\n <Button\n type=\"button\"\n genre={props.genre}\n size={props.size}\n sx={{\n default: {\n flexGrow: 3\n }\n }}\n isRadius\n onClick={openFileDialog}\n >\n {props.locale.buttonAdd}\n </Button>\n <Button\n isRadius\n type=\"button\"\n sx={{\n default: {\n flexGrow: 1\n }\n }}\n onClick={resetImages}\n genre={props.genre}\n size={props.size}\n >\n {props.locale.buttonReset}\n </Button>\n </Stack>\n </ImageSelectWrapper>\n {props?.error ? <ErrorMessage {...props.error} size={props?.error.size ?? props.size} /> : null}\n </>\n )\n}\n","import { motion } from 'framer-motion'\nimport styled, { css } from 'styled-components'\n\nimport { addError } from '@local/styles/error'\nimport { addSX } from '@local/styles/sx'\nimport { IThemeSizePropertyDefault, KEY_SIZE_DATA } from '@local/theme'\n\nimport { ImageSelectWrapperProps } from '.'\n\nconst ImageSelectListGenre = css<ImageSelectWrapperProps>`\n ${props => css`\n background: ${props.theme.colors.imageSelect[props.$genre].background.rest};\n color: ${props.theme.colors.imageSelect[props.$genre].color.rest};\n &:active {\n background: ${props.theme.colors.imageSelect[props.$genre].background.rest};\n color: ${props.theme.colors.imageSelect[props.$genre].color.rest};\n }\n &:focus-visible {\n background: ${props.theme.colors.imageSelect[props.$genre].background.rest};\n color: ${props.theme.colors.imageSelect[props.$genre].color.rest};\n }\n `};\n`\n/****************************************** Size *************************************************/\nexport const ImageSelectListSize = css<ImageSelectWrapperProps>`\n ${props => ImageSelectListSizeConstructor(KEY_SIZE_DATA[props.$size])};\n`\nexport const ImageSelectListSizeConstructor = (props: IThemeSizePropertyDefault) => css`\n padding: ${props.padding}px;\n border-radius: ${props.radius}px;\n`\nexport const ImageSelectSize = css<ImageSelectWrapperProps>`\n ${props => ImageSelectSizeConstructor(KEY_SIZE_DATA[props.$size])};\n`\nexport const ImageSelectSizeConstructor = (props: IThemeSizePropertyDefault) => css`\n gap: ${props.padding - 2}px;\n`\nexport const ImageSelectWrapper = styled.div<ImageSelectWrapperProps>`\n display: flex;\n flex-direction: column;\n width: 100%;\n ${ImageSelectSize};\n ${addError};\n ${addSX};\n`\nexport const ImageSelectListWrapper = styled(motion.div)<ImageSelectWrapperProps>`\n border: 2px dashed;\n\n display: flex;\n flex-direction: column;\n width: 100%;\n ${ImageSelectListGenre}\n ${ImageSelectListSize}\n`\n"],"names":["jsxs","jsx","Fragment","theme"],"mappings":";;;;;;;;;;;;;;AAYO,MAAM,eAAe,CAAC,UAA6B;AACxD,QAAM,OAAO,QAAQ,MAAM,cAAc,MAAM,IAAI,GAAG,CAAC,MAAM,IAAI,CAAC;AAClE,QAAM,KAAK,QAAQ,MAAM,GAAG,KAAK,MAAM,MAAM,CAAC,KAAK,MAAM,CAAC;AAE1D,QAAM,EAAE,IAAA,IAAQ,UAEb;AAAA,IACD;AAAA,IACA,aAAa;AAAA,MACX,cAAc;AAAA,MACd,SAAS;AAAA,MACT,YAAY;AAAA,IAAA;AAAA,EACd,CACD;AACD,QAAM,YAAY;AAAA,IAChB,CAAC,UAA4B;AAC3B,UAAI;AAAA,QACF,SAAS,CAAC,QAAQ,WAChBA,kCAAAA;AAAAA,UAAC;AAAA,UAAA;AAAA,YACC,IAAI;AAAA,cACF,SAAS;AAAA,gBACP,UAAU;AAAA,gBACV,UAAU;AAAA,gBACV,aAAa,GAAG,MAAM,cAAc,SAAS,CAAC;AAAA,gBAC9C,OAAO;AAAA,gBACP,UAAU;AAAA,gBACV,QAAQ;AAAA,gBACR,cAAc,iCAAQ;AAAA,cAAA;AAAA,cAExB,QAAQ;AAAA,gBACN,UAAU;AAAA,cAAA;AAAA,YACZ;AAAA,YAGF,UAAA;AAAA,cAAAC,kCAAAA;AAAAA,gBAAC;AAAA,gBAAA;AAAA,kBACC,SAAS,CAAA,WAAU;AAAA,oBACjB,SAAS;AAAA,sBACP,OAAO;AAAA,sBACP,QAAQ;AAAA,sBACR,YAAY;AAAA,sBACZ,gBAAgB;AAAA,sBAChB,iBAAiB,MAAM,QAAQ;AAAA,sBAC/B,UAAU;AAAA,sBACV,eAAe;AAAA,oBAAA;AAAA,kBACjB;AAAA,kBAEF,mBAAiB;AAAA,kBACjB,SAAS;AAAA,oBACP,SAAS;AAAA,sBACP,WAAW;AAAA,oBAAA;AAAA,kBACb;AAAA,kBAEF,KAAK,+BAAO;AAAA,kBACZ,KAAK,+BAAO;AAAA,kBACZ,mBACEA,kCAAAA;AAAAA,oBAAC;AAAA,oBAAA;AAAA,sBACC,IAAI;AAAA,wBACF,SAAS;AAAA,0BACP,SAAS;AAAA,wBAAA;AAAA,sBACX;AAAA,sBAGD,gBAAM,OAAO;AAAA,oBAAA;AAAA,kBAAA;AAAA,gBAChB;AAAA,cAAA;AAAA,cAGJA,kCAAAA;AAAAA,gBAAC;AAAA,gBAAA;AAAA,kBACC,IAAI;AAAA,oBACF,SAAS;AAAA,sBACP,UAAU;AAAA,sBACV,QAAQ;AAAA,sBACR,OAAO;AAAA,oBAAA;AAAA,kBACT;AAAA,kBAEF,OAAM;AAAA,kBACN,MAAK;AAAA,kBACL,OAAO;AAAA,oBACL;AAAA,sBACE,MAAM;AAAA,sBACN,MAAM;AAAA,oBAAA;AAAA,kBACR;AAAA,kBAEF,iBAAe;AAAA,kBACf,gBAAc;AAAA,kBACd,UAAQ;AAAA,kBACR,SAAS,MAAM;AAAA,gBAAS;AAAA,cAAA;AAAA,YAC1B;AAAA,UAAA;AAAA,QAAA;AAAA,MACF,CAEH;AAAA,IAAA;AAAA,IAEH,CAAC,KAAK,MAAM,cAAc,QAAQ,MAAM,OAAO,aAAa;AAAA,EAAA;AAE9D,SAAO,EAAE,UAAA;AACX;AC1FO,MAAM,cAAc,CAAC,UAA4B;AACtD,QAAM,EAAE,aAAa;AAErB,QAAM,OAAO,QAAQ,MAAM,cAAc,MAAM,IAAI,GAAG,CAAC,MAAM,IAAI,CAAC;AAElE,QAAM,CAAC,QAAQ,SAAS,IAAI,SAAiC,MAAM,UAAU,EAAE;AAE/E,QAAM,CAAC,gBAAgB,iBAAiB,IAAI,SAAS,KAAK;AAE1D,QAAM,WAAW,OAAgC,IAAI;AAErD,QAAM,QAAQ,SAAA;AAEd,QAAM,aAAa,CAAC,MAAiC;;AACnD,MAAE,eAAA;AACF,SAAI,OAAE,aAAa,UAAf,mBAAsB,QAAQ;AAChC,yBAAmB,EAAE,aAAa,KAAK;AAAA,IAAA;AAAA,EACzC;AAGF,QAAM,eAAe,CAAC,OAAe;AACnC,cAAU,CAAA,SAAQ;AAChB,YAAM,cAAc,KAAK,OAAO,CAAA,QAAO,IAAI,OAAO,EAAE;AACpD,2CAAW;AACX,aAAO;AAAA,IAAA,CACR;AAAA,EAAA;AAGH,QAAM,eAAe;AAAA,IACnB,CAAC,UAAyC;AACxC,UAAI,OAAO;AACT,kBAAU,CAAA,SAAQ;AAChB,gBAAM,YAAY,MAAM,IAAI,CAAC,MAAM,SAAS;AAAA,YAC1C,GAAG;AAAA,YACH,OAAO,KAAK,SAAS;AAAA,UAAA,EACrB;AACF,gBAAM,cAAc,CAAC,GAAG,MAAM,GAAG,SAAS;AAC1C,+CAAW;AACX,iBAAO;AAAA,QAAA,CACR;AAAA,MAAA;AAAA,IACH;AAAA,IAEF,CAAC,QAAQ;AAAA,EAAA;AAGX,QAAM,iBAAiB,MAAM;;AAC3B,mBAAS,YAAT,mBAAkB;AAAA,EAAM;AAG1B,QAAM,cAAc,MAAM;AACxB,cAAU,MAAM,iBAAiB,EAAE;AACnC,yCAAW,MAAM,iBAAiB;EAAE;AAGtC,QAAM,EAAE,gBAAgB,mBAAA,IAAuB,aAAa;AAAA,IAC1D,QAAQ;AAAA,IACR,QAAQ,MAAM;AAAA,IACd,QAAQ;AAAA,MACN,QAAQ;AAAA,QACN,OAAO,MAAM,YAAY,QAAQ;AAAA,QACjC,MAAM,MAAM,YAAY,QAAQ;AAAA,MAAA;AAAA,MAElC,cAAc;AAAA,QACZ,OAAO,MAAM,YAAY,OAAO;AAAA,QAChC,MAAM,MAAM,YAAY,OAAO;AAAA,MAAA;AAAA,IACjC;AAAA,IAEF,eAAe;AAAA,MACb,SAAS,MAAM,cAAc;AAAA,MAC7B,UAAU,MAAM,cAAc,WAAW,OAAO;AAAA,MAChD,QAAQ,MAAM,cAAc;AAAA,IAAA;AAAA,IAE9B;AAAA,EAAA,CACD;AAED,QAAM,EAAE,UAAA,IAAc,aAAa;AAAA,IACjC,MAAM,MAAM;AAAA,IACZ,QAAQ,MAAM;AAAA,IACd,eAAe,MAAM;AAAA,IACrB,OAAO,MAAM;AAAA,EAAA,CACd;AAED,YAAU,MAAM;AACd,cAAU,MAAM,UAAU,EAAE;AAAA,EAAA,GAC3B,CAAC,MAAM,MAAM,CAAC;AAEjB,SACED,kCAAAA,KAAAE,4BAAA,EACE,UAAA;AAAA,IAAAF,uCAAC,oBAAA,EAAmB,QAAQ,MAAM,OAAO,OAAO,MAAM,MAAM,IAAI,MAAM,IAAI,KAAK,MAAM,IAAI,QAAQ,MAAM,OACrG,UAAA;AAAA,MAAAA,kCAAAA;AAAAA,QAAC;AAAA,QAAA;AAAA,UACC,QAAQ,CAAA,MAAK;AACX,uBAAW,CAAC;AACZ,8BAAkB,KAAK;AAAA,UAAA;AAAA,UAEzB,YAAY,CAAA,MAAK,EAAE,eAAA;AAAA,UACnB,aAAa,MAAM,kBAAkB,IAAI;AAAA,UACzC,aAAa,MAAM,kBAAkB,KAAK;AAAA,UAC1C,SAAS;AAAA,YACP,aAAa,iBACT,MAAM,OAAO,YAAY,MAAM,KAAK,EAAE,OAAO,QAC7C,MAAM,OAAO,YAAY,MAAM,KAAK,EAAE,OAAO;AAAA,UAAA;AAAA,UAEnD,YAAY,EAAE,UAAU,IAAA;AAAA,UACxB,QAAQ,MAAM;AAAA,UACd,OAAO,MAAM;AAAA,UAEb,UAAA;AAAA,YAAAA,kCAAAA;AAAAA,cAAC,OAAO;AAAA,cAAP;AAAA,gBACC,YAAY;AAAA,kBACV,QAAQ;AAAA,oBACN,UAAU;AAAA,oBACV,MAAM;AAAA,oBACN,MAAM;AAAA,kBAAA;AAAA,gBACR;AAAA,gBAEF,QAAM;AAAA,gBACN,OAAO,EAAE,SAAS,QAAQ,UAAU,QAAQ,KAAK,GAAG,KAAK,UAAU,CAAC,KAAA;AAAA,gBAEnE,UAAA;AAAA,kBAAA,OAAO;AAAA,oBACN,CAAA,QACE,IAAI,OACFA,kCAAAA;AAAAA,sBAAC,OAAO;AAAA,sBAAP;AAAA,wBAEC,OAAO;AAAA,0BACL,UAAU;AAAA,0BACV,OAAO,GAAG,MAAM,cAAc,KAAK;AAAA,0BACnC,QAAQ,GAAG,MAAM,cAAc,MAAM;AAAA,0BACrC,YAAY;AAAA,0BACZ,UAAU;AAAA,0BACV,cAAc,GAAG,KAAK,MAAM;AAAA,0BAC5B,UAAU;AAAA,wBAAA;AAAA,wBAEZ,QAAM;AAAA,wBACN,YAAY;AAAA,0BACV,QAAQ;AAAA,4BACN,UAAU;AAAA,4BACV,MAAM;AAAA,4BACN,MAAM;AAAA,0BAAA;AAAA,wBACR;AAAA,wBAGF,UAAA;AAAA,0BAAAC,kCAAAA;AAAAA,4BAAC;AAAA,4BAAA;AAAA,8BACC,SAAS,CAAAE,YAAU;AAAA,gCACjB,SAAS;AAAA,kCACP,OAAO;AAAA,kCACP,QAAQ;AAAA,kCACR,YAAY;AAAA,kCACZ,gBAAgB;AAAA,kCAChB,iBAAiBA,OAAM,QAAQ;AAAA,kCAC/B,UAAU;AAAA,kCACV,eAAe;AAAA,gCAAA;AAAA,8BACjB;AAAA,8BAEF,mBAAmB,MAAM;AAAA,8BACzB,SAAS;AAAA,gCACP,SAAS;AAAA,kCACP,WAAW,MAAM,YAAY,YAAY;AAAA,gCAAA;AAAA,8BAC3C;AAAA,8BAEF,KAAK,IAAI,QAAQ;AAAA,8BACjB,KAAK,IAAI;AAAA,8BACT,mBACEF,kCAAAA;AAAAA,gCAAC;AAAA,gCAAA;AAAA,kCACC,IAAI;AAAA,oCACF,SAAS;AAAA,sCACP,SAAS;AAAA,oCAAA;AAAA,kCACX;AAAA,kCAGD,gBAAM,OAAO;AAAA,gCAAA;AAAA,8BAAA;AAAA,4BAChB;AAAA,0BAAA;AAAA,0BAGJA,kCAAAA;AAAAA,4BAAC;AAAA,4BAAA;AAAA,8BACC,IAAI;AAAA,gCACF,SAAS;AAAA,kCACP,UAAU;AAAA,kCACV,KAAK;AAAA,kCACL,OAAO;AAAA,gCAAA;AAAA,8BACT;AAAA,8BAEF,OAAO,MAAM;AAAA,8BACb,MAAK;AAAA,8BACL,OAAO;AAAA,gCACL;AAAA,kCACE,MAAM;AAAA,kCACN,MAAM;AAAA,gCAAA;AAAA,8BACR;AAAA,8BAEF,iBAAe;AAAA,8BACf,gBAAc;AAAA,8BACd,UAAQ;AAAA,8BACR,SAAS,MAAM,aAAa,IAAI,EAAE;AAAA,4BAAA;AAAA,0BAAA;AAAA,0BAEpCA,kCAAAA;AAAAA,4BAAC;AAAA,4BAAA;AAAA,8BACC,IAAI;AAAA,gCACF,SAAS;AAAA,kCACP,UAAU;AAAA,kCACV,QAAQ;AAAA,kCACR,OAAO;AAAA,gCAAA;AAAA,8BACT;AAAA,8BAEF,OAAO,MAAM;AAAA,8BACb,MAAK;AAAA,8BACL,OAAO;AAAA,gCACL;AAAA,kCACE,MAAM;AAAA,kCACN,MAAM;AAAA,gCAAA;AAAA,8BACR;AAAA,8BAEF,iBAAe;AAAA,8BACf,gBAAc;AAAA,8BACd,UAAQ;AAAA,8BACR,SAAS,MAAM,IAAI,OAAO,UAAU,EAAE,IAAI,IAAI,IAAI,UAAU,IAAI,IAAA,CAAK;AAAA,4BAAA;AAAA,0BAAA;AAAA,wBACvE;AAAA,sBAAA;AAAA,sBA5FK,IAAI;AAAA,oBAAA;AAAA,kBA6FX;AAAA,kBAGL,OAAO,WAAW,KACjBA,kCAAAA;AAAAA,oBAAC;AAAA,oBAAA;AAAA,sBACC,SAAS;AAAA,sBAET,OAAO;AAAA,wBACL,UAAU;AAAA,wBACV,OAAO,GAAG,MAAM,cAAc,KAAK;AAAA,wBACnC,QAAQ,GAAG,MAAM,cAAc,MAAM;AAAA,wBACrC,YAAY;AAAA,wBACZ,UAAU;AAAA,wBACV,cAAc,GAAG,KAAK,MAAM;AAAA,wBAC5B,UAAU;AAAA,wBACV,SAAS;AAAA,wBACT,YAAY;AAAA,wBACZ,gBAAgB;AAAA,wBAChB,WAAW;AAAA,wBACX,QAAQ;AAAA,sBAAA;AAAA,sBAGV,UAAAA,kCAAAA;AAAAA,wBAAC;AAAA,wBAAA;AAAA,0BACC,OAAO;AAAA,4BACL,OAAO,MAAM,OAAO,YAAY,MAAM,KAAK,EAAE,MAAM;AAAA,0BAAA;AAAA,0BAErD,IAAI;AAAA,4BACF,SAAS,CAAA;AAAA,0BAAC;AAAA,0BAGX,gBAAM,OAAO;AAAA,wBAAA;AAAA,sBAAA;AAAA,oBAChB;AAAA,oBAzBI;AAAA,kBAAA;AAAA,gBA0BN;AAAA,cAAA;AAAA,YAAA;AAAA,YAIJA,kCAAAA;AAAAA,cAAC;AAAA,cAAA;AAAA,gBACC,KAAK;AAAA,gBACL,MAAK;AAAA,gBACL,QAAQ;AAAA,gBACR,UAAQ;AAAA,gBACR,OAAO,EAAE,SAAS,OAAA;AAAA,gBAClB,UAAU,CAAA,MAAK;AACb,sBAAI,EAAE,OAAO,MAAO,oBAAmB,EAAE,OAAO,KAAK;AAAA,gBAAA;AAAA,cACvD;AAAA,YAAA;AAAA,UACF;AAAA,QAAA;AAAA,MAAA;AAAA,MAEFD,kCAAAA,KAAC,OAAA,EAAM,IAAI,EAAE,SAAS,EAAE,UAAU,GAAG,KAAK,GAAG,KAAK,UAAU,CAAC,KAAA,KAC3D,UAAA;AAAA,QAAAC,kCAAAA;AAAAA,UAAC;AAAA,UAAA;AAAA,YACC,MAAK;AAAA,YACL,OAAO,MAAM;AAAA,YACb,MAAM,MAAM;AAAA,YACZ,IAAI;AAAA,cACF,SAAS;AAAA,gBACP,UAAU;AAAA,cAAA;AAAA,YACZ;AAAA,YAEF,UAAQ;AAAA,YACR,SAAS;AAAA,YAER,gBAAM,OAAO;AAAA,UAAA;AAAA,QAAA;AAAA,QAEhBA,kCAAAA;AAAAA,UAAC;AAAA,UAAA;AAAA,YACC,UAAQ;AAAA,YACR,MAAK;AAAA,YACL,IAAI;AAAA,cACF,SAAS;AAAA,gBACP,UAAU;AAAA,cAAA;AAAA,YACZ;AAAA,YAEF,SAAS;AAAA,YACT,OAAO,MAAM;AAAA,YACb,MAAM,MAAM;AAAA,YAEX,gBAAM,OAAO;AAAA,UAAA;AAAA,QAAA;AAAA,MAChB,EAAA,CACF;AAAA,IAAA,GACF;AAAA,KACC,+BAAO,SAAQA,kCAAAA,IAAC,cAAA,EAAc,GAAG,MAAM,OAAO,OAAM,+BAAO,MAAM,SAAQ,MAAM,MAAM,IAAK;AAAA,EAAA,GAC7F;AAEJ;AC9SA,MAAM,uBAAuB;AAAA,IACzB,CAAA,UAAS;AAAA,kBACK,MAAM,MAAM,OAAO,YAAY,MAAM,MAAM,EAAE,WAAW,IAAI;AAAA,aACjE,MAAM,MAAM,OAAO,YAAY,MAAM,MAAM,EAAE,MAAM,IAAI;AAAA;AAAA,oBAEhD,MAAM,MAAM,OAAO,YAAY,MAAM,MAAM,EAAE,WAAW,IAAI;AAAA,eACjE,MAAM,MAAM,OAAO,YAAY,MAAM,MAAM,EAAE,MAAM,IAAI;AAAA;AAAA;AAAA,oBAGlD,MAAM,MAAM,OAAO,YAAY,MAAM,MAAM,EAAE,WAAW,IAAI;AAAA,eACjE,MAAM,MAAM,OAAO,YAAY,MAAM,MAAM,EAAE,MAAM,IAAI;AAAA;AAAA,GAEnE;AAAA;AAGI,MAAM,sBAAsB;AAAA,IAC/B,WAAS,+BAA+B,cAAc,MAAM,KAAK,CAAC,CAAC;AAAA;AAEhE,MAAM,iCAAiC,CAAC,UAAqC;AAAA,aACvE,MAAM,OAAO;AAAA,mBACP,MAAM,MAAM;AAAA;AAExB,MAAM,kBAAkB;AAAA,IAC3B,WAAS,2BAA2B,cAAc,MAAM,KAAK,CAAC,CAAC;AAAA;AAE5D,MAAM,6BAA6B,CAAC,UAAqC;AAAA,SACvE,MAAM,UAAU,CAAC;AAAA;AAEnB,MAAM,qBAAqB,OAAO;AAAA;AAAA;AAAA;AAAA,IAIrC,eAAe;AAAA,IACf,QAAQ;AAAA,IACR,KAAK;AAAA;AAEF,MAAM,yBAAyB,OAAO,OAAO,GAAG;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,IAMnD,oBAAoB;AAAA,IACpB,mBAAmB;AAAA;"}
|