@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,126 @@
|
|
|
1
|
+
import { j as jsxRuntimeExports } from "./jsx-runtime-BrDlu8eK.js";
|
|
2
|
+
import { useCallback, useMemo } from "react";
|
|
3
|
+
import styled, { useTheme } from "styled-components";
|
|
4
|
+
import { a as addError } from "./style-DeAgDHyI.js";
|
|
5
|
+
import { a as addSX } from "./style-plT9Ah7t.js";
|
|
6
|
+
const Range = (props) => {
|
|
7
|
+
const { onChange } = props;
|
|
8
|
+
const handleChange = useCallback(
|
|
9
|
+
(index, newValue) => {
|
|
10
|
+
const newValues = [...props.values];
|
|
11
|
+
newValues[index] = Math.min(props.max, Math.max(props.min, newValue));
|
|
12
|
+
onChange(newValues.sort((a, b) => a - b));
|
|
13
|
+
},
|
|
14
|
+
[onChange, props.max, props.min, props.values]
|
|
15
|
+
);
|
|
16
|
+
const getThumbPositionPercent = useCallback(
|
|
17
|
+
(val) => (val - props.min) / (props.max - props.min) * 100,
|
|
18
|
+
[props.max, props.min]
|
|
19
|
+
);
|
|
20
|
+
const positions = useMemo(
|
|
21
|
+
() => props.values.map((val) => getThumbPositionPercent(val)),
|
|
22
|
+
[getThumbPositionPercent, props.values]
|
|
23
|
+
);
|
|
24
|
+
const theme = useTheme();
|
|
25
|
+
const colorTrackBackground = theme.colors.range[props.genre].track.background.rest;
|
|
26
|
+
const colorTrackGradient = theme.colors.range[props.genre].track.gradient.rest;
|
|
27
|
+
const colorThumbBorder = theme.colors.range[props.genre].thumb.border.rest;
|
|
28
|
+
const colorThumbBackground = theme.colors.range[props.genre].thumb.background.rest;
|
|
29
|
+
const trackGradient = useMemo(
|
|
30
|
+
() => positions.map((position, idx) => {
|
|
31
|
+
const isFirst = idx === 0;
|
|
32
|
+
const isLast = idx === positions.length - 1;
|
|
33
|
+
if (isFirst)
|
|
34
|
+
return `${colorTrackBackground} 0%, ${colorTrackBackground} ${position}%, ${colorTrackGradient} ${position}%`;
|
|
35
|
+
if (isLast)
|
|
36
|
+
return `${colorTrackGradient} ${position}%, ${colorTrackBackground} ${position}%, ${colorTrackBackground} 100%`;
|
|
37
|
+
return `${colorTrackGradient} ${position}%`;
|
|
38
|
+
}).join(", "),
|
|
39
|
+
[colorTrackGradient, colorTrackBackground, positions]
|
|
40
|
+
);
|
|
41
|
+
const gradient = useMemo(() => `linear-gradient(to right, ${trackGradient})`, [trackGradient]);
|
|
42
|
+
return /* @__PURE__ */ jsxRuntimeExports.jsxs(RangeWrapper, { $size: props.size, $sx: props.sx, $error: props.error, onBlur: props.onBlur, children: [
|
|
43
|
+
props.values.map((val, idx) => /* @__PURE__ */ jsxRuntimeExports.jsx(
|
|
44
|
+
RangeThumb,
|
|
45
|
+
{
|
|
46
|
+
type: "range",
|
|
47
|
+
$size: props.size,
|
|
48
|
+
$genre: props.genre,
|
|
49
|
+
min: props.min,
|
|
50
|
+
max: props.max,
|
|
51
|
+
step: props.step,
|
|
52
|
+
value: val,
|
|
53
|
+
onChange: (e) => handleChange(idx, parseFloat(e.target.value)),
|
|
54
|
+
style: { zIndex: 100 + idx },
|
|
55
|
+
$colorBackground: colorThumbBackground,
|
|
56
|
+
$colorBorder: colorThumbBorder
|
|
57
|
+
},
|
|
58
|
+
idx
|
|
59
|
+
)),
|
|
60
|
+
/* @__PURE__ */ jsxRuntimeExports.jsx(
|
|
61
|
+
RangeTrack,
|
|
62
|
+
{
|
|
63
|
+
$size: props.size,
|
|
64
|
+
$genre: props.genre,
|
|
65
|
+
style: {
|
|
66
|
+
background: gradient
|
|
67
|
+
}
|
|
68
|
+
}
|
|
69
|
+
)
|
|
70
|
+
] });
|
|
71
|
+
};
|
|
72
|
+
const RangeWrapper = styled.div`
|
|
73
|
+
position: relative;
|
|
74
|
+
display: flex;
|
|
75
|
+
width: 100%;
|
|
76
|
+
box-sizing: border-box;
|
|
77
|
+
align-items: center;
|
|
78
|
+
height: 20px;
|
|
79
|
+
${addError};
|
|
80
|
+
${addSX};
|
|
81
|
+
`;
|
|
82
|
+
const RangeTrack = styled.div`
|
|
83
|
+
position: absolute;
|
|
84
|
+
height: 3px;
|
|
85
|
+
width: 100%;
|
|
86
|
+
padding: 0px 10px;
|
|
87
|
+
border-radius: 2px;
|
|
88
|
+
`;
|
|
89
|
+
const RangeThumb = styled.input`
|
|
90
|
+
position: absolute;
|
|
91
|
+
width: 100%;
|
|
92
|
+
outline: none !important;
|
|
93
|
+
pointer-events: none;
|
|
94
|
+
appearance: none;
|
|
95
|
+
-webkit-appearance: none;
|
|
96
|
+
background: transparent;
|
|
97
|
+
left: 0;
|
|
98
|
+
margin: 0;
|
|
99
|
+
&::-webkit-slider-thumb {
|
|
100
|
+
pointer-events: all;
|
|
101
|
+
width: 16px;
|
|
102
|
+
height: 16px;
|
|
103
|
+
margin: 0;
|
|
104
|
+
padding: 0;
|
|
105
|
+
border-radius: 50%;
|
|
106
|
+
background: ${(props) => props.$colorBackground};
|
|
107
|
+
border: 3px ${(props) => props.$colorBorder} solid;
|
|
108
|
+
cursor: pointer;
|
|
109
|
+
-webkit-appearance: none;
|
|
110
|
+
margin-top: 0px;
|
|
111
|
+
transition:
|
|
112
|
+
transform ${(props) => props.theme.transition.default},
|
|
113
|
+
color ${(props) => props.theme.transition.default},
|
|
114
|
+
background-color ${(props) => props.theme.transition.default};
|
|
115
|
+
&:hover {
|
|
116
|
+
transform: scale(1.2);
|
|
117
|
+
}
|
|
118
|
+
}
|
|
119
|
+
`;
|
|
120
|
+
export {
|
|
121
|
+
Range as R,
|
|
122
|
+
RangeWrapper as a,
|
|
123
|
+
RangeTrack as b,
|
|
124
|
+
RangeThumb as c
|
|
125
|
+
};
|
|
126
|
+
//# sourceMappingURL=component.styles-Dok17vPl.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"component.styles-Dok17vPl.js","sources":["../src/components/range/component.tsx","../src/components/range/component.styles.ts"],"sourcesContent":["import { useCallback, useMemo } from 'react'\nimport { useTheme } from 'styled-components'\n\nimport { RangeProps, RangeThumb, RangeTrack, RangeWrapper } from '.'\n\nexport const Range = (props: RangeProps) => {\n const { onChange } = props\n const handleChange = useCallback(\n (index: number, newValue: number) => {\n const newValues = [...props.values]\n newValues[index] = Math.min(props.max, Math.max(props.min, newValue))\n onChange(newValues.sort((a, b) => a - b))\n },\n [onChange, props.max, props.min, props.values]\n )\n const getThumbPositionPercent = useCallback(\n (val: number) => ((val - props.min) / (props.max - props.min)) * 100,\n [props.max, props.min]\n )\n const positions = useMemo(\n () => props.values.map(val => getThumbPositionPercent(val)),\n [getThumbPositionPercent, props.values]\n )\n const theme = useTheme()\n\n const colorTrackBackground = theme.colors.range[props.genre].track.background.rest\n const colorTrackGradient = theme.colors.range[props.genre].track.gradient.rest\n const colorThumbBorder = theme.colors.range[props.genre].thumb.border.rest\n const colorThumbBackground = theme.colors.range[props.genre].thumb.background.rest\n\n const trackGradient = useMemo(\n () =>\n positions\n .map((position, idx) => {\n const isFirst = idx === 0\n const isLast = idx === positions.length - 1\n\n if (isFirst)\n return `${colorTrackBackground} 0%, ${colorTrackBackground} ${position}%, ${colorTrackGradient} ${position}%`\n if (isLast)\n return `${colorTrackGradient} ${position}%, ${colorTrackBackground} ${position}%, ${colorTrackBackground} 100%`\n return `${colorTrackGradient} ${position}%`\n })\n .join(', '),\n [colorTrackGradient, colorTrackBackground, positions]\n )\n const gradient = useMemo(() => `linear-gradient(to right, ${trackGradient})`, [trackGradient])\n\n return (\n <RangeWrapper $size={props.size} $sx={props.sx} $error={props.error} onBlur={props.onBlur}>\n {props.values.map((val, idx) => (\n <RangeThumb\n key={idx}\n type=\"range\"\n $size={props.size}\n $genre={props.genre}\n min={props.min}\n max={props.max}\n step={props.step}\n value={val}\n onChange={e => handleChange(idx, parseFloat(e.target.value))}\n style={{ zIndex: 100 + idx }}\n $colorBackground={colorThumbBackground}\n $colorBorder={colorThumbBorder}\n />\n ))}\n <RangeTrack\n $size={props.size}\n $genre={props.genre}\n style={{\n background: gradient\n }}\n />\n </RangeWrapper>\n )\n}\n","import styled from 'styled-components'\n\nimport { addError } from '@local/styles/error'\nimport { addSX } from '@local/styles/sx'\n\nimport { RangeComponentProps, RangeThumbProps, RangeWrapperProps } from '.'\n\nexport const RangeWrapper = styled.div<RangeWrapperProps>`\n position: relative;\n display: flex;\n width: 100%;\n box-sizing: border-box;\n align-items: center;\n height: 20px;\n ${addError};\n ${addSX};\n`\n\nexport const RangeTrack = styled.div<RangeComponentProps>`\n position: absolute;\n height: 3px;\n width: 100%;\n padding: 0px 10px;\n border-radius: 2px;\n`\nexport const RangeThumb = styled.input<RangeThumbProps>`\n position: absolute;\n width: 100%;\n outline: none !important;\n pointer-events: none;\n appearance: none;\n -webkit-appearance: none;\n background: transparent;\n left: 0;\n margin: 0;\n &::-webkit-slider-thumb {\n pointer-events: all;\n width: 16px;\n height: 16px;\n margin: 0;\n padding: 0;\n border-radius: 50%;\n background: ${props => props.$colorBackground};\n border: 3px ${props => props.$colorBorder} solid;\n cursor: pointer;\n -webkit-appearance: none;\n margin-top: 0px;\n transition:\n transform ${props => props.theme.transition.default},\n color ${props => props.theme.transition.default},\n background-color ${props => props.theme.transition.default};\n &:hover {\n transform: scale(1.2);\n }\n }\n`\n"],"names":["jsxs","jsx"],"mappings":"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"}
|
|
@@ -0,0 +1,43 @@
|
|
|
1
|
+
"use strict";const e=require("styled-components");require("./jsx-runtime-BcGej2Kr.cjs"),require("react");const o="JENESEI_RIPPLE",t=e.div`
|
|
2
|
+
position: absolute;
|
|
3
|
+
top: 0;
|
|
4
|
+
right: 0;
|
|
5
|
+
bottom: 0;
|
|
6
|
+
left: 0;
|
|
7
|
+
`,i=e.span`
|
|
8
|
+
transform: scale(0);
|
|
9
|
+
border-radius: 100%;
|
|
10
|
+
position: absolute;
|
|
11
|
+
opacity: 0.75;
|
|
12
|
+
background-color: ${e=>e.$color};
|
|
13
|
+
animation-name: ripple;
|
|
14
|
+
animation-duration: ${e=>e.$duration}ms;
|
|
15
|
+
|
|
16
|
+
@keyframes ripple {
|
|
17
|
+
to {
|
|
18
|
+
opacity: 0;
|
|
19
|
+
transform: scale(2);
|
|
20
|
+
}
|
|
21
|
+
}
|
|
22
|
+
`,s=e.css`
|
|
23
|
+
${t=>t.$isRipple&&e.css`
|
|
24
|
+
position: relative;
|
|
25
|
+
overflow: hidden;
|
|
26
|
+
isolation: isolate;
|
|
27
|
+
|
|
28
|
+
& *:not(#${o}) {
|
|
29
|
+
user-select: none;
|
|
30
|
+
pointer-events: none;
|
|
31
|
+
}
|
|
32
|
+
`}
|
|
33
|
+
`,n=e.css`
|
|
34
|
+
position: relative;
|
|
35
|
+
overflow: hidden;
|
|
36
|
+
isolation: isolate;
|
|
37
|
+
|
|
38
|
+
& *:not(#${o}) {
|
|
39
|
+
user-select: none;
|
|
40
|
+
pointer-events: none;
|
|
41
|
+
}
|
|
42
|
+
`;exports.DEFAULT_RIPPLE_DURATION=600,exports.DEFAULT_RIPPLE_ID=o,exports.RippleContainer=t,exports.RippleSpan=i,exports.addRipple=s,exports.addRippleDefault=n;
|
|
43
|
+
//# sourceMappingURL=component.styles-Dpg-__rn.cjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"component.styles-Dpg-__rn.cjs","sources":["../src/components/ripple/component.constants.tsx","../src/components/ripple/component.styles.tsx"],"sourcesContent":["export const DEFAULT_RIPPLE_DURATION = 600\nexport const DEFAULT_RIPPLE_ID = 'JENESEI_RIPPLE'\n","import styled, { css } from 'styled-components'\n\nimport { DEFAULT_RIPPLE_ID, RippleContainerProps } from '.'\n\nexport const RippleContainer = styled.div<RippleContainerProps>`\n position: absolute;\n top: 0;\n right: 0;\n bottom: 0;\n left: 0;\n`\n\nexport const RippleSpan = styled.span<RippleContainerProps>`\n transform: scale(0);\n border-radius: 100%;\n position: absolute;\n opacity: 0.75;\n background-color: ${props => props.$color};\n animation-name: ripple;\n animation-duration: ${props => props.$duration}ms;\n\n @keyframes ripple {\n to {\n opacity: 0;\n transform: scale(2);\n }\n }\n`\n\nexport const addRipple = css<{ $isRipple?: boolean }>`\n ${props =>\n props.$isRipple &&\n css`\n position: relative;\n overflow: hidden;\n isolation: isolate;\n\n & *:not(#${DEFAULT_RIPPLE_ID}) {\n user-select: none;\n pointer-events: none;\n }\n `}\n`\nexport const addRippleDefault = css`\n position: relative;\n overflow: hidden;\n isolation: isolate;\n\n & *:not(#${DEFAULT_RIPPLE_ID}) {\n user-select: none;\n pointer-events: none;\n }\n`\n"],"names":["DEFAULT_RIPPLE_ID","RippleContainer","styled","div","RippleSpan","span","props","$color","$duration","addRipple","css","$isRipple","addRippleDefault"],"mappings":"yGAAO,MACMA,EAAoB,iBCGpBC,EAAkBC,EAAOC,GAAA;;;;;;EAQzBC,EAAaF,EAAOG,IAAA;;;;;sBAKXC,GAASA,EAAMC;;wBAEbD,GAASA,EAAME;;;;;;;;EAU1BC,EAAYC,EAAAA,GAAAA;IACrBJ,GACAA,EAAMK,WACND,EAAAA,GAAAA;;;;;iBAKaV;;;;;EAMJY,EAAmBF,EAAAA,GAAAA;;;;;aAKnBV;;;;kCDhD0B"}
|
|
@@ -0,0 +1,81 @@
|
|
|
1
|
+
"use strict";const e=require("./jsx-runtime-BcGej2Kr.cjs"),t=require("react"),r=require("styled-components"),s=require("./style-CtGd1JVB.cjs"),o=require("./theme.global-D6XU05Et.cjs"),i=require("./component-C52VCES6.cjs"),l=require("./style-Dm74EPGE.cjs"),n=require("./style-fRZ6xrVp.cjs"),a=r.div`
|
|
2
|
+
width: max-content;
|
|
3
|
+
position: relative;
|
|
4
|
+
display: flex;
|
|
5
|
+
align-items: center;
|
|
6
|
+
justify-content: flex-start;
|
|
7
|
+
flex-direction: column;
|
|
8
|
+
width: 100%;
|
|
9
|
+
${n.addSX};
|
|
10
|
+
`,c=r.css`
|
|
11
|
+
&::placeholder,
|
|
12
|
+
&::-webkit-input-placeholder {
|
|
13
|
+
${e=>i.getFontSizeStyles(16,e.$isBold?500:400,e.theme.font.family,e.theme.font.lineHeight)};
|
|
14
|
+
color: ${e=>e.theme.colors.input[e.$genre].color.placeholder};
|
|
15
|
+
opacity: 1;
|
|
16
|
+
}
|
|
17
|
+
&:-ms-input-placeholder {
|
|
18
|
+
${e=>i.getFontSizeStyles(16,e.$isBold?500:400,e.theme.font.family,e.theme.font.lineHeight)};
|
|
19
|
+
color: ${e=>e.theme.colors.input[e.$genre].color.placeholder};
|
|
20
|
+
opacity: 1;
|
|
21
|
+
}
|
|
22
|
+
`,d=r.css`
|
|
23
|
+
${e=>r.css`
|
|
24
|
+
background: ${e.theme.colors.input[e.$genre].background.rest};
|
|
25
|
+
border-color: ${e.theme.colors.input[e.$genre].border.rest};
|
|
26
|
+
color: ${e.theme.colors.input[e.$genre].color.rest};
|
|
27
|
+
|
|
28
|
+
&:active {
|
|
29
|
+
background: ${e.theme.colors.input[e.$genre].background.rest};
|
|
30
|
+
border-color: ${e.theme.colors.input[e.$genre].border.rest};
|
|
31
|
+
color: ${e.theme.colors.input[e.$genre].color.rest};
|
|
32
|
+
}
|
|
33
|
+
&:hover {
|
|
34
|
+
background: ${e.theme.colors.input[e.$genre].background.hover};
|
|
35
|
+
border-color: ${e.theme.colors.input[e.$genre].border.hover};
|
|
36
|
+
color: ${e.theme.colors.input[e.$genre].color.hover};
|
|
37
|
+
}
|
|
38
|
+
&:focus-visible {
|
|
39
|
+
border-color: ${e.theme.colors.input[e.$genre].border.rest};
|
|
40
|
+
background: ${e.theme.colors.input[e.$genre].background.rest};
|
|
41
|
+
color: ${e.theme.colors.input[e.$genre].color.rest};
|
|
42
|
+
}
|
|
43
|
+
`};
|
|
44
|
+
`,u=r.css`
|
|
45
|
+
${e=>h(o.KEY_SIZE_DATA[e.$size])};
|
|
46
|
+
`,h=e=>r.css`
|
|
47
|
+
padding: ${e.padding-4}px ${e.padding}px ${e.padding-6}px ${e.padding}px;
|
|
48
|
+
border-radius: ${e.radius}px;
|
|
49
|
+
`,$=r.css`
|
|
50
|
+
opacity: ${e=>e.$isDisabled?.5:1};
|
|
51
|
+
`,p=r.css`
|
|
52
|
+
${e=>e.$isTextAreaEffect&&r.css`
|
|
53
|
+
box-shadow: ${e.theme.effects.input};
|
|
54
|
+
`}
|
|
55
|
+
`,g=r.css`
|
|
56
|
+
${e=>!e.$isResize&&r.css`
|
|
57
|
+
resize: none;
|
|
58
|
+
`}
|
|
59
|
+
`,x=r.css`
|
|
60
|
+
overflow-x: hidden;
|
|
61
|
+
width: 100% !important;
|
|
62
|
+
border: 1px solid;
|
|
63
|
+
white-space: nowrap;
|
|
64
|
+
text-overflow: ellipsis;
|
|
65
|
+
text-wrap: auto;
|
|
66
|
+
|
|
67
|
+
${e=>i.getFontSizeStyles(16,e.$isBold?500:400,e.theme.font.family,e.theme.font.lineHeight)};
|
|
68
|
+
|
|
69
|
+
${g};
|
|
70
|
+
${u};
|
|
71
|
+
${d};
|
|
72
|
+
${c};
|
|
73
|
+
${$};
|
|
74
|
+
${p};
|
|
75
|
+
${l.addTransitionWithoutSize};
|
|
76
|
+
${l.addOutline};
|
|
77
|
+
${s.addError};
|
|
78
|
+
`,m=r.textarea`
|
|
79
|
+
${x};
|
|
80
|
+
`;exports.StyledTextArea=m,exports.StyledTextAreaCSS=x,exports.StyledTextAreaWrapper=a,exports.TextArea=i=>{const l=r.useTheme(),n=t.useCallback(e=>{var t,r;if(i.isNoSpaces){const r=e.replace(/\s+/g,"");null==(t=i.onChange)||t.call(i,r)}else null==(r=i.onChange)||r.call(i,e)},[i]),c=t.useRef(null),d=t.useCallback(e=>{if(c.current){const t=o.KEY_SIZE_DATA[i.size].height,r=Math.max(o.KEY_SIZE_DATA[i.size].height,e);c.current.style.height=`${t}px`;const s=c.current.scrollHeight;let l=e;l=i.isAutoHeight&&!i.height?Math.max(t,Math.min(s,r)):Math.max(t,e),c.current.style.height=`${l}px`,c.current.style.minHeight=`${t}px`,c.current.style.maxHeight=`${r}px`,c.current.scrollHeight>r?c.current.style.overflowY="auto":c.current.style.overflowY="hidden"}},[i.height,i.isAutoHeight,i.size]),u=t.useCallback(()=>{if(i.height)d(i.height);else if(i.maxRows){const e=l.font.sizeDefault.default*l.font.lineHeight,t=i.maxRows?e*i.maxRows:e;d(t+2*o.KEY_SIZE_DATA[i.size].padding-8)}else d(o.KEY_SIZE_DATA[i.size].height)},[d,i.height,i.maxRows,i.size,l.font.lineHeight,l.font.sizeDefault.default]);return t.useEffect(()=>{u()},[u,i.isAutoHeight,i.value]),e.jsxRuntimeExports.jsxs(e.jsxRuntimeExports.Fragment,{children:[e.jsxRuntimeExports.jsx(a,{$isTextAreaEffect:i.isTextAreaEffect,className:i.className,$isDisabled:i.isDisabled,$sx:i.sx,children:e.jsxRuntimeExports.jsx(m,{ref:c,$isResize:i.isResize,$error:i.error,$isTextAreaEffect:i.isTextAreaEffect,$isLoading:i.isLoading,$genre:i.genre,$size:i.size,$isBold:i.isBold,$isDisabled:i.isDisabled,disabled:i.isDisabled,readOnly:i.isReadOnly,required:i.isRequired,defaultValue:i.defaultValue,value:i.value??"",placeholder:i.placeholder,onChange:e=>n(e.target.value),onBlur:i.onBlur,onFocus:i.onFocus,name:i.name,id:i.id})}),(null==i?void 0:i.error)?e.jsxRuntimeExports.jsx(s.ErrorMessage,{...i.error,size:(null==i?void 0:i.error.size)??i.size}):null]})},exports.TextAreaIsTextAreaEffect=p,exports.TextAreaPlaceholder=c,exports.TextAreaSize=u,exports.TextAreaSizeConstructor=h;
|
|
81
|
+
//# sourceMappingURL=component.styles-DpkFoWEh.cjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"component.styles-DpkFoWEh.cjs","sources":["../src/components/textarea/component.styles.ts","../src/components/textarea/component.tsx"],"sourcesContent":["import styled, { css } from 'styled-components'\n\nimport { getFontSizeStyles } from '@local/components/typography'\nimport { addOutline, addTransitionWithoutSize } from '@local/styles/add'\nimport { addError } from '@local/styles/error'\nimport { addSX } from '@local/styles/sx'\nimport { IThemeSizePropertyDefault, KEY_SIZE_DATA } from '@local/theme'\n\nimport { StyledTextAreaProps, StyledTextAreaWrapperProps } from '.'\n\n/****************************************** Wrapper *************************************************/\nexport const StyledTextAreaWrapper = styled.div<StyledTextAreaWrapperProps>`\n width: max-content;\n position: relative;\n display: flex;\n align-items: center;\n justify-content: flex-start;\n flex-direction: column;\n width: 100%;\n ${addSX};\n`\n\n/****************************************** Placeholder *************************************************/\nexport const TextAreaPlaceholder = css<StyledTextAreaProps>`\n &::placeholder,\n &::-webkit-input-placeholder {\n ${props => getFontSizeStyles(16, props.$isBold ? 500 : 400, props.theme.font.family, props.theme.font.lineHeight)};\n color: ${props => props.theme.colors.input[props.$genre].color.placeholder};\n opacity: 1;\n }\n &:-ms-input-placeholder {\n ${props => getFontSizeStyles(16, props.$isBold ? 500 : 400, props.theme.font.family, props.theme.font.lineHeight)};\n color: ${props => props.theme.colors.input[props.$genre].color.placeholder};\n opacity: 1;\n }\n`\n\n/****************************************** Genre *************************************************/\nconst TextAreaGenre = css<StyledTextAreaProps>`\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\n &: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 }\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 &:focus-visible {\n border-color: ${props.theme.colors.input[props.$genre].border.rest};\n background: ${props.theme.colors.input[props.$genre].background.rest};\n color: ${props.theme.colors.input[props.$genre].color.rest};\n }\n `};\n`\n\n/****************************************** Size *************************************************/\nexport const TextAreaSize = css<StyledTextAreaProps>`\n ${props => TextAreaSizeConstructor(KEY_SIZE_DATA[props.$size])};\n`\nexport const TextAreaSizeConstructor = (props: IThemeSizePropertyDefault) => css`\n padding: ${props.padding - 4}px ${props.padding}px ${props.padding - 6}px ${props.padding}px;\n border-radius: ${props.radius}px;\n`\n\n/****************************************** Hidden *************************************************/\nconst TextAreaHidden = css<StyledTextAreaProps>`\n opacity: ${props => (props.$isDisabled ? 0.5 : 1)};\n`\n/****************************************** is PlaystationEffect *************************************************/\nexport const TextAreaIsTextAreaEffect = css<Pick<StyledTextAreaProps, '$isTextAreaEffect'>>`\n ${props =>\n props.$isTextAreaEffect &&\n css`\n box-shadow: ${props.theme.effects.input};\n `}\n`\n\n/****************************************** is Resize *************************************************/\nconst TextAreaIsResize = css<Pick<StyledTextAreaProps, '$isResize'>>`\n ${props =>\n !props.$isResize &&\n css`\n resize: none;\n `}\n`\n/****************************************** Default *************************************************/\nexport const StyledTextAreaCSS = css<StyledTextAreaProps>`\n overflow-x: hidden;\n width: 100% !important;\n border: 1px solid;\n white-space: nowrap;\n text-overflow: ellipsis;\n text-wrap: auto;\n\n ${props => getFontSizeStyles(16, props.$isBold ? 500 : 400, props.theme.font.family, props.theme.font.lineHeight)};\n\n ${TextAreaIsResize};\n ${TextAreaSize};\n ${TextAreaGenre};\n ${TextAreaPlaceholder};\n ${TextAreaHidden};\n ${TextAreaIsTextAreaEffect};\n ${addTransitionWithoutSize};\n ${addOutline};\n ${addError};\n`\n\nexport const StyledTextArea = styled.textarea<StyledTextAreaProps>`\n ${StyledTextAreaCSS};\n`\n\n// /****************************************** Loading *************************************************/\n// const TextAreaStyledLoadingSize = css<StyledTextAreaProps>`\n// ${props => TextAreaStyledLoadingConstructor(KEY_SIZE_DATA[props.$size])};\n// `\n// const TextAreaStyledLoadingConstructor = (props: IThemeSizePropertyDefault) => css`\n// padding: ${props.padding - 6}px ${props.padding}px ${props.padding - 4}px ${props.padding}px;\n// `\n\n// export const TextAreaStyledLoading = styled(Loading)<StyledTextAreaProps>`\n// ${TextAreaStyledLoadingSize};\n// position: absolute;\n// display: flex;\n// align-items: center;\n// right: 0px;\n// box-sizing: content-box;\n// backdrop-filter: blur(2px);\n// mask-image: radial-gradient(circle, rgba(0, 0, 0, 1) 15%, rgba(0, 0, 0, 0) 100%);\n// `\n","import { useCallback, useEffect, useRef } from 'react'\nimport { useTheme } from 'styled-components'\n\nimport { ErrorMessage } from '@local/styles/error'\nimport { KEY_SIZE_DATA } from '@local/theme/theme'\n\nimport { StyledTextArea, StyledTextAreaWrapper, TextAreaProps } from '.'\n\nexport const TextArea = (props: TextAreaProps) => {\n const theme = useTheme()\n const handleOnChange = useCallback(\n (value: string) => {\n if (props.isNoSpaces) {\n const valueWithoutSpaces = value.replace(/\\s+/g, '')\n props.onChange?.(valueWithoutSpaces)\n } else {\n props.onChange?.(value)\n }\n },\n [props]\n )\n\n const textareaRef = useRef<HTMLTextAreaElement>(null)\n\n const handleHeight = useCallback(\n (contentHeight: number) => {\n if (textareaRef.current) {\n const minHeight = KEY_SIZE_DATA[props.size].height\n const maxHeight = Math.max(KEY_SIZE_DATA[props.size].height, contentHeight)\n\n textareaRef.current.style.height = `${minHeight}px`\n const scrollHeight = textareaRef.current.scrollHeight\n\n let newHeight = contentHeight\n if (props.isAutoHeight && !props.height) {\n newHeight = Math.max(minHeight, Math.min(scrollHeight, maxHeight))\n } else {\n newHeight = Math.max(minHeight, contentHeight)\n }\n\n textareaRef.current.style.height = `${newHeight}px`\n textareaRef.current.style.minHeight = `${minHeight}px`\n textareaRef.current.style.maxHeight = `${maxHeight}px`\n\n if (textareaRef.current.scrollHeight > maxHeight) {\n textareaRef.current.style.overflowY = 'auto'\n } else {\n textareaRef.current.style.overflowY = 'hidden'\n }\n }\n },\n [props.height, props.isAutoHeight, props.size]\n )\n const checkHeight = useCallback(() => {\n if (props.height) {\n handleHeight(props.height)\n } else {\n if (props.maxRows) {\n const lineHeight = theme.font.sizeDefault.default * theme.font.lineHeight\n const initialHeight = props.maxRows ? lineHeight * props.maxRows : lineHeight\n handleHeight(initialHeight + KEY_SIZE_DATA[props.size].padding * 2 - 8)\n } else {\n handleHeight(KEY_SIZE_DATA[props.size].height)\n }\n }\n }, [handleHeight, props.height, props.maxRows, props.size, theme.font.lineHeight, theme.font.sizeDefault.default])\n\n useEffect(() => {\n checkHeight()\n }, [checkHeight, props.isAutoHeight, props.value])\n\n return (\n <>\n <StyledTextAreaWrapper\n $isTextAreaEffect={props.isTextAreaEffect}\n className={props.className}\n $isDisabled={props.isDisabled}\n $sx={props.sx}\n >\n <StyledTextArea\n ref={textareaRef}\n $isResize={props.isResize}\n $error={props.error}\n $isTextAreaEffect={props.isTextAreaEffect}\n $isLoading={props.isLoading}\n $genre={props.genre}\n $size={props.size}\n $isBold={props.isBold}\n $isDisabled={props.isDisabled}\n disabled={props.isDisabled}\n readOnly={props.isReadOnly}\n required={props.isRequired}\n defaultValue={props.defaultValue}\n value={props.value ?? ''}\n placeholder={props.placeholder}\n onChange={event => handleOnChange(event.target.value)}\n onBlur={props.onBlur}\n onFocus={props.onFocus}\n name={props.name}\n id={props.id}\n />\n {/* {props.isLoading && (\n <TextAreaStyledLoading\n $genre={props.genre}\n $size={props.size}\n size={props.size}\n color={theme.colors.input[props.genre].color.rest}\n />\n )} */}\n </StyledTextAreaWrapper>\n {props?.error ? <ErrorMessage {...props.error} size={props?.error.size ?? props.size} /> : null}\n </>\n )\n}\n"],"names":["StyledTextAreaWrapper","styled","div","addSX","TextAreaPlaceholder","css","props","getFontSizeStyles","$isBold","theme","font","family","lineHeight","colors","input","$genre","color","placeholder","TextAreaGenre","background","rest","border","hover","TextAreaSize","TextAreaSizeConstructor","KEY_SIZE_DATA","$size","padding","radius","TextAreaHidden","$isDisabled","TextAreaIsTextAreaEffect","$isTextAreaEffect","effects","TextAreaIsResize","$isResize","StyledTextAreaCSS","addTransitionWithoutSize","addOutline","addError","StyledTextArea","textarea","useTheme","handleOnChange","useCallback","value","isNoSpaces","valueWithoutSpaces","replace","_a","onChange","call","_b","textareaRef","useRef","handleHeight","contentHeight","current","minHeight","size","height","maxHeight","Math","max","style","scrollHeight","newHeight","isAutoHeight","min","overflowY","checkHeight","maxRows","sizeDefault","default","initialHeight","useEffect","jsxs","Fragment","children","jsx","isTextAreaEffect","className","isDisabled","$sx","sx","ref","isResize","$error","error","$isLoading","isLoading","genre","isBold","disabled","readOnly","isReadOnly","required","isRequired","defaultValue","event","target","onBlur","onFocus","name","id","ErrorMessage"],"mappings":"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"}
|
|
@@ -0,0 +1,202 @@
|
|
|
1
|
+
import { j as jsxRuntimeExports } from "./jsx-runtime-BrDlu8eK.js";
|
|
2
|
+
import { useCallback, useRef, useEffect } from "react";
|
|
3
|
+
import styled, { useTheme, css } from "styled-components";
|
|
4
|
+
import { b as ErrorMessage, a as addError } from "./style-DeAgDHyI.js";
|
|
5
|
+
import { K as KEY_SIZE_DATA } from "./theme.global-bN9HlSWE.js";
|
|
6
|
+
import { g as getFontSizeStyles } from "./component-C2JFFh-k.js";
|
|
7
|
+
import { c as addTransitionWithoutSize, f as addOutline } from "./style-CEGJOjRW.js";
|
|
8
|
+
import { a as addSX } from "./style-plT9Ah7t.js";
|
|
9
|
+
const TextArea = (props) => {
|
|
10
|
+
const theme = useTheme();
|
|
11
|
+
const handleOnChange = useCallback(
|
|
12
|
+
(value) => {
|
|
13
|
+
var _a, _b;
|
|
14
|
+
if (props.isNoSpaces) {
|
|
15
|
+
const valueWithoutSpaces = value.replace(/\s+/g, "");
|
|
16
|
+
(_a = props.onChange) == null ? void 0 : _a.call(props, valueWithoutSpaces);
|
|
17
|
+
} else {
|
|
18
|
+
(_b = props.onChange) == null ? void 0 : _b.call(props, value);
|
|
19
|
+
}
|
|
20
|
+
},
|
|
21
|
+
[props]
|
|
22
|
+
);
|
|
23
|
+
const textareaRef = useRef(null);
|
|
24
|
+
const handleHeight = useCallback(
|
|
25
|
+
(contentHeight) => {
|
|
26
|
+
if (textareaRef.current) {
|
|
27
|
+
const minHeight = KEY_SIZE_DATA[props.size].height;
|
|
28
|
+
const maxHeight = Math.max(KEY_SIZE_DATA[props.size].height, contentHeight);
|
|
29
|
+
textareaRef.current.style.height = `${minHeight}px`;
|
|
30
|
+
const scrollHeight = textareaRef.current.scrollHeight;
|
|
31
|
+
let newHeight = contentHeight;
|
|
32
|
+
if (props.isAutoHeight && !props.height) {
|
|
33
|
+
newHeight = Math.max(minHeight, Math.min(scrollHeight, maxHeight));
|
|
34
|
+
} else {
|
|
35
|
+
newHeight = Math.max(minHeight, contentHeight);
|
|
36
|
+
}
|
|
37
|
+
textareaRef.current.style.height = `${newHeight}px`;
|
|
38
|
+
textareaRef.current.style.minHeight = `${minHeight}px`;
|
|
39
|
+
textareaRef.current.style.maxHeight = `${maxHeight}px`;
|
|
40
|
+
if (textareaRef.current.scrollHeight > maxHeight) {
|
|
41
|
+
textareaRef.current.style.overflowY = "auto";
|
|
42
|
+
} else {
|
|
43
|
+
textareaRef.current.style.overflowY = "hidden";
|
|
44
|
+
}
|
|
45
|
+
}
|
|
46
|
+
},
|
|
47
|
+
[props.height, props.isAutoHeight, props.size]
|
|
48
|
+
);
|
|
49
|
+
const checkHeight = useCallback(() => {
|
|
50
|
+
if (props.height) {
|
|
51
|
+
handleHeight(props.height);
|
|
52
|
+
} else {
|
|
53
|
+
if (props.maxRows) {
|
|
54
|
+
const lineHeight = theme.font.sizeDefault.default * theme.font.lineHeight;
|
|
55
|
+
const initialHeight = props.maxRows ? lineHeight * props.maxRows : lineHeight;
|
|
56
|
+
handleHeight(initialHeight + KEY_SIZE_DATA[props.size].padding * 2 - 8);
|
|
57
|
+
} else {
|
|
58
|
+
handleHeight(KEY_SIZE_DATA[props.size].height);
|
|
59
|
+
}
|
|
60
|
+
}
|
|
61
|
+
}, [handleHeight, props.height, props.maxRows, props.size, theme.font.lineHeight, theme.font.sizeDefault.default]);
|
|
62
|
+
useEffect(() => {
|
|
63
|
+
checkHeight();
|
|
64
|
+
}, [checkHeight, props.isAutoHeight, props.value]);
|
|
65
|
+
return /* @__PURE__ */ jsxRuntimeExports.jsxs(jsxRuntimeExports.Fragment, { children: [
|
|
66
|
+
/* @__PURE__ */ jsxRuntimeExports.jsx(
|
|
67
|
+
StyledTextAreaWrapper,
|
|
68
|
+
{
|
|
69
|
+
$isTextAreaEffect: props.isTextAreaEffect,
|
|
70
|
+
className: props.className,
|
|
71
|
+
$isDisabled: props.isDisabled,
|
|
72
|
+
$sx: props.sx,
|
|
73
|
+
children: /* @__PURE__ */ jsxRuntimeExports.jsx(
|
|
74
|
+
StyledTextArea,
|
|
75
|
+
{
|
|
76
|
+
ref: textareaRef,
|
|
77
|
+
$isResize: props.isResize,
|
|
78
|
+
$error: props.error,
|
|
79
|
+
$isTextAreaEffect: props.isTextAreaEffect,
|
|
80
|
+
$isLoading: props.isLoading,
|
|
81
|
+
$genre: props.genre,
|
|
82
|
+
$size: props.size,
|
|
83
|
+
$isBold: props.isBold,
|
|
84
|
+
$isDisabled: props.isDisabled,
|
|
85
|
+
disabled: props.isDisabled,
|
|
86
|
+
readOnly: props.isReadOnly,
|
|
87
|
+
required: props.isRequired,
|
|
88
|
+
defaultValue: props.defaultValue,
|
|
89
|
+
value: props.value ?? "",
|
|
90
|
+
placeholder: props.placeholder,
|
|
91
|
+
onChange: (event) => handleOnChange(event.target.value),
|
|
92
|
+
onBlur: props.onBlur,
|
|
93
|
+
onFocus: props.onFocus,
|
|
94
|
+
name: props.name,
|
|
95
|
+
id: props.id
|
|
96
|
+
}
|
|
97
|
+
)
|
|
98
|
+
}
|
|
99
|
+
),
|
|
100
|
+
(props == null ? void 0 : props.error) ? /* @__PURE__ */ jsxRuntimeExports.jsx(ErrorMessage, { ...props.error, size: (props == null ? void 0 : props.error.size) ?? props.size }) : null
|
|
101
|
+
] });
|
|
102
|
+
};
|
|
103
|
+
const StyledTextAreaWrapper = styled.div`
|
|
104
|
+
width: max-content;
|
|
105
|
+
position: relative;
|
|
106
|
+
display: flex;
|
|
107
|
+
align-items: center;
|
|
108
|
+
justify-content: flex-start;
|
|
109
|
+
flex-direction: column;
|
|
110
|
+
width: 100%;
|
|
111
|
+
${addSX};
|
|
112
|
+
`;
|
|
113
|
+
const TextAreaPlaceholder = css`
|
|
114
|
+
&::placeholder,
|
|
115
|
+
&::-webkit-input-placeholder {
|
|
116
|
+
${(props) => getFontSizeStyles(16, props.$isBold ? 500 : 400, props.theme.font.family, props.theme.font.lineHeight)};
|
|
117
|
+
color: ${(props) => props.theme.colors.input[props.$genre].color.placeholder};
|
|
118
|
+
opacity: 1;
|
|
119
|
+
}
|
|
120
|
+
&:-ms-input-placeholder {
|
|
121
|
+
${(props) => getFontSizeStyles(16, props.$isBold ? 500 : 400, props.theme.font.family, props.theme.font.lineHeight)};
|
|
122
|
+
color: ${(props) => props.theme.colors.input[props.$genre].color.placeholder};
|
|
123
|
+
opacity: 1;
|
|
124
|
+
}
|
|
125
|
+
`;
|
|
126
|
+
const TextAreaGenre = css`
|
|
127
|
+
${(props) => css`
|
|
128
|
+
background: ${props.theme.colors.input[props.$genre].background.rest};
|
|
129
|
+
border-color: ${props.theme.colors.input[props.$genre].border.rest};
|
|
130
|
+
color: ${props.theme.colors.input[props.$genre].color.rest};
|
|
131
|
+
|
|
132
|
+
&:active {
|
|
133
|
+
background: ${props.theme.colors.input[props.$genre].background.rest};
|
|
134
|
+
border-color: ${props.theme.colors.input[props.$genre].border.rest};
|
|
135
|
+
color: ${props.theme.colors.input[props.$genre].color.rest};
|
|
136
|
+
}
|
|
137
|
+
&:hover {
|
|
138
|
+
background: ${props.theme.colors.input[props.$genre].background.hover};
|
|
139
|
+
border-color: ${props.theme.colors.input[props.$genre].border.hover};
|
|
140
|
+
color: ${props.theme.colors.input[props.$genre].color.hover};
|
|
141
|
+
}
|
|
142
|
+
&:focus-visible {
|
|
143
|
+
border-color: ${props.theme.colors.input[props.$genre].border.rest};
|
|
144
|
+
background: ${props.theme.colors.input[props.$genre].background.rest};
|
|
145
|
+
color: ${props.theme.colors.input[props.$genre].color.rest};
|
|
146
|
+
}
|
|
147
|
+
`};
|
|
148
|
+
`;
|
|
149
|
+
const TextAreaSize = css`
|
|
150
|
+
${(props) => TextAreaSizeConstructor(KEY_SIZE_DATA[props.$size])};
|
|
151
|
+
`;
|
|
152
|
+
const TextAreaSizeConstructor = (props) => css`
|
|
153
|
+
padding: ${props.padding - 4}px ${props.padding}px ${props.padding - 6}px ${props.padding}px;
|
|
154
|
+
border-radius: ${props.radius}px;
|
|
155
|
+
`;
|
|
156
|
+
const TextAreaHidden = css`
|
|
157
|
+
opacity: ${(props) => props.$isDisabled ? 0.5 : 1};
|
|
158
|
+
`;
|
|
159
|
+
const TextAreaIsTextAreaEffect = css`
|
|
160
|
+
${(props) => props.$isTextAreaEffect && css`
|
|
161
|
+
box-shadow: ${props.theme.effects.input};
|
|
162
|
+
`}
|
|
163
|
+
`;
|
|
164
|
+
const TextAreaIsResize = css`
|
|
165
|
+
${(props) => !props.$isResize && css`
|
|
166
|
+
resize: none;
|
|
167
|
+
`}
|
|
168
|
+
`;
|
|
169
|
+
const StyledTextAreaCSS = css`
|
|
170
|
+
overflow-x: hidden;
|
|
171
|
+
width: 100% !important;
|
|
172
|
+
border: 1px solid;
|
|
173
|
+
white-space: nowrap;
|
|
174
|
+
text-overflow: ellipsis;
|
|
175
|
+
text-wrap: auto;
|
|
176
|
+
|
|
177
|
+
${(props) => getFontSizeStyles(16, props.$isBold ? 500 : 400, props.theme.font.family, props.theme.font.lineHeight)};
|
|
178
|
+
|
|
179
|
+
${TextAreaIsResize};
|
|
180
|
+
${TextAreaSize};
|
|
181
|
+
${TextAreaGenre};
|
|
182
|
+
${TextAreaPlaceholder};
|
|
183
|
+
${TextAreaHidden};
|
|
184
|
+
${TextAreaIsTextAreaEffect};
|
|
185
|
+
${addTransitionWithoutSize};
|
|
186
|
+
${addOutline};
|
|
187
|
+
${addError};
|
|
188
|
+
`;
|
|
189
|
+
const StyledTextArea = styled.textarea`
|
|
190
|
+
${StyledTextAreaCSS};
|
|
191
|
+
`;
|
|
192
|
+
export {
|
|
193
|
+
StyledTextAreaWrapper as S,
|
|
194
|
+
TextArea as T,
|
|
195
|
+
TextAreaPlaceholder as a,
|
|
196
|
+
TextAreaSize as b,
|
|
197
|
+
TextAreaSizeConstructor as c,
|
|
198
|
+
TextAreaIsTextAreaEffect as d,
|
|
199
|
+
StyledTextAreaCSS as e,
|
|
200
|
+
StyledTextArea as f
|
|
201
|
+
};
|
|
202
|
+
//# sourceMappingURL=component.styles-DqsBDAEo.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"component.styles-DqsBDAEo.js","sources":["../src/components/textarea/component.tsx","../src/components/textarea/component.styles.ts"],"sourcesContent":["import { useCallback, useEffect, useRef } from 'react'\nimport { useTheme } from 'styled-components'\n\nimport { ErrorMessage } from '@local/styles/error'\nimport { KEY_SIZE_DATA } from '@local/theme/theme'\n\nimport { StyledTextArea, StyledTextAreaWrapper, TextAreaProps } from '.'\n\nexport const TextArea = (props: TextAreaProps) => {\n const theme = useTheme()\n const handleOnChange = useCallback(\n (value: string) => {\n if (props.isNoSpaces) {\n const valueWithoutSpaces = value.replace(/\\s+/g, '')\n props.onChange?.(valueWithoutSpaces)\n } else {\n props.onChange?.(value)\n }\n },\n [props]\n )\n\n const textareaRef = useRef<HTMLTextAreaElement>(null)\n\n const handleHeight = useCallback(\n (contentHeight: number) => {\n if (textareaRef.current) {\n const minHeight = KEY_SIZE_DATA[props.size].height\n const maxHeight = Math.max(KEY_SIZE_DATA[props.size].height, contentHeight)\n\n textareaRef.current.style.height = `${minHeight}px`\n const scrollHeight = textareaRef.current.scrollHeight\n\n let newHeight = contentHeight\n if (props.isAutoHeight && !props.height) {\n newHeight = Math.max(minHeight, Math.min(scrollHeight, maxHeight))\n } else {\n newHeight = Math.max(minHeight, contentHeight)\n }\n\n textareaRef.current.style.height = `${newHeight}px`\n textareaRef.current.style.minHeight = `${minHeight}px`\n textareaRef.current.style.maxHeight = `${maxHeight}px`\n\n if (textareaRef.current.scrollHeight > maxHeight) {\n textareaRef.current.style.overflowY = 'auto'\n } else {\n textareaRef.current.style.overflowY = 'hidden'\n }\n }\n },\n [props.height, props.isAutoHeight, props.size]\n )\n const checkHeight = useCallback(() => {\n if (props.height) {\n handleHeight(props.height)\n } else {\n if (props.maxRows) {\n const lineHeight = theme.font.sizeDefault.default * theme.font.lineHeight\n const initialHeight = props.maxRows ? lineHeight * props.maxRows : lineHeight\n handleHeight(initialHeight + KEY_SIZE_DATA[props.size].padding * 2 - 8)\n } else {\n handleHeight(KEY_SIZE_DATA[props.size].height)\n }\n }\n }, [handleHeight, props.height, props.maxRows, props.size, theme.font.lineHeight, theme.font.sizeDefault.default])\n\n useEffect(() => {\n checkHeight()\n }, [checkHeight, props.isAutoHeight, props.value])\n\n return (\n <>\n <StyledTextAreaWrapper\n $isTextAreaEffect={props.isTextAreaEffect}\n className={props.className}\n $isDisabled={props.isDisabled}\n $sx={props.sx}\n >\n <StyledTextArea\n ref={textareaRef}\n $isResize={props.isResize}\n $error={props.error}\n $isTextAreaEffect={props.isTextAreaEffect}\n $isLoading={props.isLoading}\n $genre={props.genre}\n $size={props.size}\n $isBold={props.isBold}\n $isDisabled={props.isDisabled}\n disabled={props.isDisabled}\n readOnly={props.isReadOnly}\n required={props.isRequired}\n defaultValue={props.defaultValue}\n value={props.value ?? ''}\n placeholder={props.placeholder}\n onChange={event => handleOnChange(event.target.value)}\n onBlur={props.onBlur}\n onFocus={props.onFocus}\n name={props.name}\n id={props.id}\n />\n {/* {props.isLoading && (\n <TextAreaStyledLoading\n $genre={props.genre}\n $size={props.size}\n size={props.size}\n color={theme.colors.input[props.genre].color.rest}\n />\n )} */}\n </StyledTextAreaWrapper>\n {props?.error ? <ErrorMessage {...props.error} size={props?.error.size ?? props.size} /> : null}\n </>\n )\n}\n","import styled, { css } from 'styled-components'\n\nimport { getFontSizeStyles } from '@local/components/typography'\nimport { addOutline, addTransitionWithoutSize } from '@local/styles/add'\nimport { addError } from '@local/styles/error'\nimport { addSX } from '@local/styles/sx'\nimport { IThemeSizePropertyDefault, KEY_SIZE_DATA } from '@local/theme'\n\nimport { StyledTextAreaProps, StyledTextAreaWrapperProps } from '.'\n\n/****************************************** Wrapper *************************************************/\nexport const StyledTextAreaWrapper = styled.div<StyledTextAreaWrapperProps>`\n width: max-content;\n position: relative;\n display: flex;\n align-items: center;\n justify-content: flex-start;\n flex-direction: column;\n width: 100%;\n ${addSX};\n`\n\n/****************************************** Placeholder *************************************************/\nexport const TextAreaPlaceholder = css<StyledTextAreaProps>`\n &::placeholder,\n &::-webkit-input-placeholder {\n ${props => getFontSizeStyles(16, props.$isBold ? 500 : 400, props.theme.font.family, props.theme.font.lineHeight)};\n color: ${props => props.theme.colors.input[props.$genre].color.placeholder};\n opacity: 1;\n }\n &:-ms-input-placeholder {\n ${props => getFontSizeStyles(16, props.$isBold ? 500 : 400, props.theme.font.family, props.theme.font.lineHeight)};\n color: ${props => props.theme.colors.input[props.$genre].color.placeholder};\n opacity: 1;\n }\n`\n\n/****************************************** Genre *************************************************/\nconst TextAreaGenre = css<StyledTextAreaProps>`\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\n &: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 }\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 &:focus-visible {\n border-color: ${props.theme.colors.input[props.$genre].border.rest};\n background: ${props.theme.colors.input[props.$genre].background.rest};\n color: ${props.theme.colors.input[props.$genre].color.rest};\n }\n `};\n`\n\n/****************************************** Size *************************************************/\nexport const TextAreaSize = css<StyledTextAreaProps>`\n ${props => TextAreaSizeConstructor(KEY_SIZE_DATA[props.$size])};\n`\nexport const TextAreaSizeConstructor = (props: IThemeSizePropertyDefault) => css`\n padding: ${props.padding - 4}px ${props.padding}px ${props.padding - 6}px ${props.padding}px;\n border-radius: ${props.radius}px;\n`\n\n/****************************************** Hidden *************************************************/\nconst TextAreaHidden = css<StyledTextAreaProps>`\n opacity: ${props => (props.$isDisabled ? 0.5 : 1)};\n`\n/****************************************** is PlaystationEffect *************************************************/\nexport const TextAreaIsTextAreaEffect = css<Pick<StyledTextAreaProps, '$isTextAreaEffect'>>`\n ${props =>\n props.$isTextAreaEffect &&\n css`\n box-shadow: ${props.theme.effects.input};\n `}\n`\n\n/****************************************** is Resize *************************************************/\nconst TextAreaIsResize = css<Pick<StyledTextAreaProps, '$isResize'>>`\n ${props =>\n !props.$isResize &&\n css`\n resize: none;\n `}\n`\n/****************************************** Default *************************************************/\nexport const StyledTextAreaCSS = css<StyledTextAreaProps>`\n overflow-x: hidden;\n width: 100% !important;\n border: 1px solid;\n white-space: nowrap;\n text-overflow: ellipsis;\n text-wrap: auto;\n\n ${props => getFontSizeStyles(16, props.$isBold ? 500 : 400, props.theme.font.family, props.theme.font.lineHeight)};\n\n ${TextAreaIsResize};\n ${TextAreaSize};\n ${TextAreaGenre};\n ${TextAreaPlaceholder};\n ${TextAreaHidden};\n ${TextAreaIsTextAreaEffect};\n ${addTransitionWithoutSize};\n ${addOutline};\n ${addError};\n`\n\nexport const StyledTextArea = styled.textarea<StyledTextAreaProps>`\n ${StyledTextAreaCSS};\n`\n\n// /****************************************** Loading *************************************************/\n// const TextAreaStyledLoadingSize = css<StyledTextAreaProps>`\n// ${props => TextAreaStyledLoadingConstructor(KEY_SIZE_DATA[props.$size])};\n// `\n// const TextAreaStyledLoadingConstructor = (props: IThemeSizePropertyDefault) => css`\n// padding: ${props.padding - 6}px ${props.padding}px ${props.padding - 4}px ${props.padding}px;\n// `\n\n// export const TextAreaStyledLoading = styled(Loading)<StyledTextAreaProps>`\n// ${TextAreaStyledLoadingSize};\n// position: absolute;\n// display: flex;\n// align-items: center;\n// right: 0px;\n// box-sizing: content-box;\n// backdrop-filter: blur(2px);\n// mask-image: radial-gradient(circle, rgba(0, 0, 0, 1) 15%, rgba(0, 0, 0, 0) 100%);\n// `\n"],"names":["jsxs","Fragment","jsx"],"mappings":";;;;;;;;AAQO,MAAM,WAAW,CAAC,UAAyB;AAChD,QAAM,QAAQ,SAAA;AACd,QAAM,iBAAiB;AAAA,IACrB,CAAC,UAAkB;;AACjB,UAAI,MAAM,YAAY;AACpB,cAAM,qBAAqB,MAAM,QAAQ,QAAQ,EAAE;AACnD,oBAAM,aAAN,+BAAiB;AAAA,MAAkB,OAC9B;AACL,oBAAM,aAAN,+BAAiB;AAAA,MAAK;AAAA,IACxB;AAAA,IAEF,CAAC,KAAK;AAAA,EAAA;AAGR,QAAM,cAAc,OAA4B,IAAI;AAEpD,QAAM,eAAe;AAAA,IACnB,CAAC,kBAA0B;AACzB,UAAI,YAAY,SAAS;AACvB,cAAM,YAAY,cAAc,MAAM,IAAI,EAAE;AAC5C,cAAM,YAAY,KAAK,IAAI,cAAc,MAAM,IAAI,EAAE,QAAQ,aAAa;AAE1E,oBAAY,QAAQ,MAAM,SAAS,GAAG,SAAS;AAC/C,cAAM,eAAe,YAAY,QAAQ;AAEzC,YAAI,YAAY;AAChB,YAAI,MAAM,gBAAgB,CAAC,MAAM,QAAQ;AACvC,sBAAY,KAAK,IAAI,WAAW,KAAK,IAAI,cAAc,SAAS,CAAC;AAAA,QAAA,OAC5D;AACL,sBAAY,KAAK,IAAI,WAAW,aAAa;AAAA,QAAA;AAG/C,oBAAY,QAAQ,MAAM,SAAS,GAAG,SAAS;AAC/C,oBAAY,QAAQ,MAAM,YAAY,GAAG,SAAS;AAClD,oBAAY,QAAQ,MAAM,YAAY,GAAG,SAAS;AAElD,YAAI,YAAY,QAAQ,eAAe,WAAW;AAChD,sBAAY,QAAQ,MAAM,YAAY;AAAA,QAAA,OACjC;AACL,sBAAY,QAAQ,MAAM,YAAY;AAAA,QAAA;AAAA,MACxC;AAAA,IACF;AAAA,IAEF,CAAC,MAAM,QAAQ,MAAM,cAAc,MAAM,IAAI;AAAA,EAAA;AAE/C,QAAM,cAAc,YAAY,MAAM;AACpC,QAAI,MAAM,QAAQ;AAChB,mBAAa,MAAM,MAAM;AAAA,IAAA,OACpB;AACL,UAAI,MAAM,SAAS;AACjB,cAAM,aAAa,MAAM,KAAK,YAAY,UAAU,MAAM,KAAK;AAC/D,cAAM,gBAAgB,MAAM,UAAU,aAAa,MAAM,UAAU;AACnE,qBAAa,gBAAgB,cAAc,MAAM,IAAI,EAAE,UAAU,IAAI,CAAC;AAAA,MAAA,OACjE;AACL,qBAAa,cAAc,MAAM,IAAI,EAAE,MAAM;AAAA,MAAA;AAAA,IAC/C;AAAA,EACF,GACC,CAAC,cAAc,MAAM,QAAQ,MAAM,SAAS,MAAM,MAAM,MAAM,KAAK,YAAY,MAAM,KAAK,YAAY,OAAO,CAAC;AAEjH,YAAU,MAAM;AACd,gBAAA;AAAA,EAAY,GACX,CAAC,aAAa,MAAM,cAAc,MAAM,KAAK,CAAC;AAEjD,SACEA,kCAAAA,KAAAC,4BAAA,EACE,UAAA;AAAA,IAAAC,kCAAAA;AAAAA,MAAC;AAAA,MAAA;AAAA,QACC,mBAAmB,MAAM;AAAA,QACzB,WAAW,MAAM;AAAA,QACjB,aAAa,MAAM;AAAA,QACnB,KAAK,MAAM;AAAA,QAEX,UAAAA,kCAAAA;AAAAA,UAAC;AAAA,UAAA;AAAA,YACC,KAAK;AAAA,YACL,WAAW,MAAM;AAAA,YACjB,QAAQ,MAAM;AAAA,YACd,mBAAmB,MAAM;AAAA,YACzB,YAAY,MAAM;AAAA,YAClB,QAAQ,MAAM;AAAA,YACd,OAAO,MAAM;AAAA,YACb,SAAS,MAAM;AAAA,YACf,aAAa,MAAM;AAAA,YACnB,UAAU,MAAM;AAAA,YAChB,UAAU,MAAM;AAAA,YAChB,UAAU,MAAM;AAAA,YAChB,cAAc,MAAM;AAAA,YACpB,OAAO,MAAM,SAAS;AAAA,YACtB,aAAa,MAAM;AAAA,YACnB,UAAU,CAAA,UAAS,eAAe,MAAM,OAAO,KAAK;AAAA,YACpD,QAAQ,MAAM;AAAA,YACd,SAAS,MAAM;AAAA,YACf,MAAM,MAAM;AAAA,YACZ,IAAI,MAAM;AAAA,UAAA;AAAA,QAAA;AAAA,MACZ;AAAA,IAAA;AAAA,KAUD,+BAAO,SAAQA,kCAAAA,IAAC,cAAA,EAAc,GAAG,MAAM,OAAO,OAAM,+BAAO,MAAM,SAAQ,MAAM,MAAM,IAAK;AAAA,EAAA,GAC7F;AAEJ;ACtGO,MAAM,wBAAwB,OAAO;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,IAQxC,KAAK;AAAA;AAIF,MAAM,sBAAsB;AAAA;AAAA;AAAA,MAG7B,CAAA,UAAS,kBAAkB,IAAI,MAAM,UAAU,MAAM,KAAK,MAAM,MAAM,KAAK,QAAQ,MAAM,MAAM,KAAK,UAAU,CAAC;AAAA,aACxG,CAAA,UAAS,MAAM,MAAM,OAAO,MAAM,MAAM,MAAM,EAAE,MAAM,WAAW;AAAA;AAAA;AAAA;AAAA,MAIxE,CAAA,UAAS,kBAAkB,IAAI,MAAM,UAAU,MAAM,KAAK,MAAM,MAAM,KAAK,QAAQ,MAAM,MAAM,KAAK,UAAU,CAAC;AAAA,aACxG,CAAA,UAAS,MAAM,MAAM,OAAO,MAAM,MAAM,MAAM,EAAE,MAAM,WAAW;AAAA;AAAA;AAAA;AAM9E,MAAM,gBAAgB;AAAA,IAClB,CAAA,UAAS;AAAA,kBACK,MAAM,MAAM,OAAO,MAAM,MAAM,MAAM,EAAE,WAAW,IAAI;AAAA,oBACpD,MAAM,MAAM,OAAO,MAAM,MAAM,MAAM,EAAE,OAAO,IAAI;AAAA,aACzD,MAAM,MAAM,OAAO,MAAM,MAAM,MAAM,EAAE,MAAM,IAAI;AAAA;AAAA;AAAA,oBAG1C,MAAM,MAAM,OAAO,MAAM,MAAM,MAAM,EAAE,WAAW,IAAI;AAAA,sBACpD,MAAM,MAAM,OAAO,MAAM,MAAM,MAAM,EAAE,OAAO,IAAI;AAAA,eACzD,MAAM,MAAM,OAAO,MAAM,MAAM,MAAM,EAAE,MAAM,IAAI;AAAA;AAAA;AAAA,oBAG5C,MAAM,MAAM,OAAO,MAAM,MAAM,MAAM,EAAE,WAAW,KAAK;AAAA,sBACrD,MAAM,MAAM,OAAO,MAAM,MAAM,MAAM,EAAE,OAAO,KAAK;AAAA,eAC1D,MAAM,MAAM,OAAO,MAAM,MAAM,MAAM,EAAE,MAAM,KAAK;AAAA;AAAA;AAAA,sBAG3C,MAAM,MAAM,OAAO,MAAM,MAAM,MAAM,EAAE,OAAO,IAAI;AAAA,oBACpD,MAAM,MAAM,OAAO,MAAM,MAAM,MAAM,EAAE,WAAW,IAAI;AAAA,eAC3D,MAAM,MAAM,OAAO,MAAM,MAAM,MAAM,EAAE,MAAM,IAAI;AAAA;AAAA,GAE7D;AAAA;AAII,MAAM,eAAe;AAAA,IACxB,WAAS,wBAAwB,cAAc,MAAM,KAAK,CAAC,CAAC;AAAA;AAEzD,MAAM,0BAA0B,CAAC,UAAqC;AAAA,aAChE,MAAM,UAAU,CAAC,MAAM,MAAM,OAAO,MAAM,MAAM,UAAU,CAAC,MAAM,MAAM,OAAO;AAAA,mBACxE,MAAM,MAAM;AAAA;AAI/B,MAAM,iBAAiB;AAAA,aACV,CAAA,UAAU,MAAM,cAAc,MAAM,CAAE;AAAA;AAG5C,MAAM,2BAA2B;AAAA,IACpC,CAAA,UACA,MAAM,qBACN;AAAA,oBACgB,MAAM,MAAM,QAAQ,KAAK;AAAA,KACxC;AAAA;AAIL,MAAM,mBAAmB;AAAA,IACrB,CAAA,UACA,CAAC,MAAM,aACP;AAAA;AAAA,KAEC;AAAA;AAGE,MAAM,oBAAoB;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,IAQ7B,CAAA,UAAS,kBAAkB,IAAI,MAAM,UAAU,MAAM,KAAK,MAAM,MAAM,KAAK,QAAQ,MAAM,MAAM,KAAK,UAAU,CAAC;AAAA;AAAA,IAE/G,gBAAgB;AAAA,IAChB,YAAY;AAAA,IACZ,aAAa;AAAA,IACb,mBAAmB;AAAA,IACnB,cAAc;AAAA,IACd,wBAAwB;AAAA,IACxB,wBAAwB;AAAA,IACxB,UAAU;AAAA,IACV,QAAQ;AAAA;AAGL,MAAM,iBAAiB,OAAO;AAAA,IACjC,iBAAiB;AAAA;"}
|