@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,177 @@
|
|
|
1
|
+
import { motion } from "framer-motion";
|
|
2
|
+
import { PatternFormat, NumericFormat } from "react-number-format";
|
|
3
|
+
import styled, { css } from "styled-components";
|
|
4
|
+
import { g as getFontSizeStyles } from "./component-C2JFFh-k.js";
|
|
5
|
+
import { f as addOutline, b as addTransition, i as addNiceNumber } from "./style-CEGJOjRW.js";
|
|
6
|
+
import { a as addError } from "./style-DeAgDHyI.js";
|
|
7
|
+
import { a as addSX } from "./style-plT9Ah7t.js";
|
|
8
|
+
import { K as KEY_SIZE_DATA } from "./theme.global-bN9HlSWE.js";
|
|
9
|
+
const StyledInputWrapper = styled.div`
|
|
10
|
+
width: max-content;
|
|
11
|
+
position: relative;
|
|
12
|
+
display: flex;
|
|
13
|
+
justify-content: flex-start;
|
|
14
|
+
flex-direction: column;
|
|
15
|
+
${(props) => props.$isWidthAsHeight ? css`
|
|
16
|
+
width: ${KEY_SIZE_DATA[props.$size].height}px;
|
|
17
|
+
min-width: ${KEY_SIZE_DATA[props.$size].height}px;
|
|
18
|
+
& input {
|
|
19
|
+
text-align: center;
|
|
20
|
+
}
|
|
21
|
+
` : null};
|
|
22
|
+
${addSX};
|
|
23
|
+
`;
|
|
24
|
+
const InputPlaceholder = css`
|
|
25
|
+
&::placeholder,
|
|
26
|
+
&::-webkit-input-placeholder {
|
|
27
|
+
${(props) => getFontSizeStyles(16, props.$isBold ? 500 : 400, props.theme.font.family, props.theme.font.lineHeight)};
|
|
28
|
+
color: ${(props) => props.theme.colors.input[props.$genre].color.placeholder};
|
|
29
|
+
opacity: 1;
|
|
30
|
+
}
|
|
31
|
+
&:-ms-input-placeholder {
|
|
32
|
+
${(props) => getFontSizeStyles(16, props.$isBold ? 500 : 400, props.theme.font.family, props.theme.font.lineHeight)};
|
|
33
|
+
color: ${(props) => props.theme.colors.input[props.$genre].color.placeholder};
|
|
34
|
+
opacity: 1;
|
|
35
|
+
}
|
|
36
|
+
`;
|
|
37
|
+
const InputPlaceholderNiceNumber = css`
|
|
38
|
+
&::placeholder,
|
|
39
|
+
&::-webkit-input-placeholder {
|
|
40
|
+
${(props) => getFontSizeStyles(16, props.$isBold ? 500 : 400, "Roboto Mono", props.theme.font.lineHeight)};
|
|
41
|
+
color: ${(props) => props.theme.colors.input[props.$genre].color.placeholder};
|
|
42
|
+
opacity: 1;
|
|
43
|
+
${addNiceNumber};
|
|
44
|
+
background: transparent;
|
|
45
|
+
}
|
|
46
|
+
&:-ms-input-placeholder {
|
|
47
|
+
${(props) => getFontSizeStyles(16, props.$isBold ? 500 : 400, "Roboto Mono", props.theme.font.lineHeight)};
|
|
48
|
+
color: ${(props) => props.theme.colors.input[props.$genre].color.placeholder};
|
|
49
|
+
opacity: 1;
|
|
50
|
+
${addNiceNumber};
|
|
51
|
+
background: transparent;
|
|
52
|
+
}
|
|
53
|
+
`;
|
|
54
|
+
const InputGenre = css`
|
|
55
|
+
${(props) => css`
|
|
56
|
+
background: ${props.theme.colors.input[props.$genre].background.rest};
|
|
57
|
+
border-color: ${props.theme.colors.input[props.$genre].border.rest};
|
|
58
|
+
color: ${props.theme.colors.input[props.$genre].color.rest};
|
|
59
|
+
&:active {
|
|
60
|
+
background: ${props.theme.colors.input[props.$genre].background.rest};
|
|
61
|
+
border-color: ${props.theme.colors.input[props.$genre].border.rest};
|
|
62
|
+
color: ${props.theme.colors.input[props.$genre].color.rest};
|
|
63
|
+
}
|
|
64
|
+
${!props.$isNotShowHoverStyle && css`
|
|
65
|
+
&:hover {
|
|
66
|
+
background: ${props.theme.colors.input[props.$genre].background.hover};
|
|
67
|
+
border-color: ${props.theme.colors.input[props.$genre].border.hover};
|
|
68
|
+
color: ${props.theme.colors.input[props.$genre].color.hover};
|
|
69
|
+
}
|
|
70
|
+
`}
|
|
71
|
+
&:focus-visible {
|
|
72
|
+
background: ${props.theme.colors.input[props.$genre].background.rest};
|
|
73
|
+
border-color: ${props.theme.colors.input[props.$genre].border.rest};
|
|
74
|
+
color: ${props.theme.colors.input[props.$genre].color.rest};
|
|
75
|
+
}
|
|
76
|
+
`};
|
|
77
|
+
`;
|
|
78
|
+
const InputSize = css`
|
|
79
|
+
${(props) => InputSizeConstructor(KEY_SIZE_DATA[props.$size])};
|
|
80
|
+
`;
|
|
81
|
+
const InputSizeConstructor = (props) => css`
|
|
82
|
+
padding: 0px ${props.padding}px;
|
|
83
|
+
height: ${props.height}px;
|
|
84
|
+
min-height: ${props.height}px;
|
|
85
|
+
max-height: ${props.height}px;
|
|
86
|
+
border-radius: ${props.radius}px;
|
|
87
|
+
`;
|
|
88
|
+
const InputHidden = css`
|
|
89
|
+
opacity: ${(props) => props.$isDisabled ? 0.5 : 1};
|
|
90
|
+
`;
|
|
91
|
+
const InputIsInputEffect = css`
|
|
92
|
+
${(props) => props.$isInputEffect && css`
|
|
93
|
+
box-shadow: ${props.theme.effects.input};
|
|
94
|
+
`}
|
|
95
|
+
`;
|
|
96
|
+
const StyledInputCSS = css`
|
|
97
|
+
resize: none;
|
|
98
|
+
overflow: hidden;
|
|
99
|
+
width: 100%;
|
|
100
|
+
border: 1px solid;
|
|
101
|
+
|
|
102
|
+
white-space: nowrap;
|
|
103
|
+
text-overflow: ellipsis;
|
|
104
|
+
overflow: hidden;
|
|
105
|
+
${(props) => getFontSizeStyles(16, props.$isBold ? 500 : 400, props.theme.font.family, props.theme.font.lineHeight)};
|
|
106
|
+
|
|
107
|
+
${InputSize};
|
|
108
|
+
${InputGenre};
|
|
109
|
+
${InputPlaceholder};
|
|
110
|
+
${InputHidden};
|
|
111
|
+
${InputIsInputEffect};
|
|
112
|
+
${addOutline};
|
|
113
|
+
${addTransition};
|
|
114
|
+
${addError};
|
|
115
|
+
|
|
116
|
+
${(props) => props.$isNiceNumber && css`
|
|
117
|
+
${addNiceNumber};
|
|
118
|
+
`};
|
|
119
|
+
${(props) => props.$isCenter && css`
|
|
120
|
+
text-align: center;
|
|
121
|
+
justify-content: center;
|
|
122
|
+
`};
|
|
123
|
+
|
|
124
|
+
${(props) => props.$prefixChildren && css`
|
|
125
|
+
padding-left: ${`calc(${props.$prefixChildren.width} + ${props.$prefixChildren.right} + ${props.$prefixChildren.left})`};
|
|
126
|
+
`};
|
|
127
|
+
|
|
128
|
+
${(props) => props.$postfixChildren && css`
|
|
129
|
+
padding-right: ${`calc(${props.$postfixChildren.width} + ${props.$postfixChildren.right} + ${props.$postfixChildren.left})`};
|
|
130
|
+
`};
|
|
131
|
+
`;
|
|
132
|
+
const StyledInput = styled.input`
|
|
133
|
+
${StyledInputCSS};
|
|
134
|
+
`;
|
|
135
|
+
const StyledMotionInput = styled(motion.input)`
|
|
136
|
+
${StyledInputCSS};
|
|
137
|
+
`;
|
|
138
|
+
const StyledInputPattern = styled(PatternFormat)`
|
|
139
|
+
${StyledInputCSS};
|
|
140
|
+
`;
|
|
141
|
+
const StyledInputNumeric = styled(NumericFormat)`
|
|
142
|
+
${StyledInputCSS};
|
|
143
|
+
`;
|
|
144
|
+
const InputPrefixChildren = styled.div`
|
|
145
|
+
position: absolute;
|
|
146
|
+
display: flex;
|
|
147
|
+
left: ${(props) => props.$left};
|
|
148
|
+
width: ${(props) => props.$width};
|
|
149
|
+
opacity: ${(props) => props.$isDisabled ? 0.5 : 1};
|
|
150
|
+
height: 100%;
|
|
151
|
+
${addTransition};
|
|
152
|
+
`;
|
|
153
|
+
const InputPostfixChildren = styled.div`
|
|
154
|
+
position: absolute;
|
|
155
|
+
display: flex;
|
|
156
|
+
right: ${(props) => props.$right};
|
|
157
|
+
width: ${(props) => props.$width};
|
|
158
|
+
opacity: ${(props) => props.$isDisabled ? 0.5 : 1};
|
|
159
|
+
height: 100%;
|
|
160
|
+
${addTransition};
|
|
161
|
+
`;
|
|
162
|
+
export {
|
|
163
|
+
InputPlaceholder as I,
|
|
164
|
+
StyledInputWrapper as S,
|
|
165
|
+
InputPlaceholderNiceNumber as a,
|
|
166
|
+
InputSize as b,
|
|
167
|
+
InputSizeConstructor as c,
|
|
168
|
+
InputIsInputEffect as d,
|
|
169
|
+
StyledInputCSS as e,
|
|
170
|
+
StyledInput as f,
|
|
171
|
+
StyledMotionInput as g,
|
|
172
|
+
StyledInputPattern as h,
|
|
173
|
+
StyledInputNumeric as i,
|
|
174
|
+
InputPrefixChildren as j,
|
|
175
|
+
InputPostfixChildren as k
|
|
176
|
+
};
|
|
177
|
+
//# sourceMappingURL=component.styles-Du2y0R4W.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"component.styles-Du2y0R4W.js","sources":["../src/components/input/component.styles.ts"],"sourcesContent":["import { motion } from 'framer-motion'\nimport { NumericFormat, PatternFormat } from 'react-number-format'\nimport styled, { css } from 'styled-components'\n\nimport { getFontSizeStyles } from '@local/components/typography'\nimport { addNiceNumber, addOutline, addTransition } 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 { StyledInputChildrenProps, StyledInputProps, StyledInputWrapperProps } from '.'\n\n/****************************************** Wrapper *************************************************/\nexport const StyledInputWrapper = styled.div<StyledInputWrapperProps>`\n width: max-content;\n position: relative;\n display: flex;\n justify-content: flex-start;\n flex-direction: column;\n ${props =>\n props.$isWidthAsHeight\n ? css`\n width: ${KEY_SIZE_DATA[props.$size].height}px;\n min-width: ${KEY_SIZE_DATA[props.$size].height}px;\n & input {\n text-align: center;\n }\n `\n : null};\n ${addSX};\n`\n\n/****************************************** Placeholder *************************************************/\nexport const InputPlaceholder = css<StyledInputProps>`\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`\nexport const InputPlaceholderNiceNumber = css<StyledInputProps>`\n &::placeholder,\n &::-webkit-input-placeholder {\n ${props => getFontSizeStyles(16, props.$isBold ? 500 : 400, 'Roboto Mono', props.theme.font.lineHeight)};\n color: ${props => props.theme.colors.input[props.$genre].color.placeholder};\n opacity: 1;\n ${addNiceNumber};\n background: transparent;\n }\n &:-ms-input-placeholder {\n ${props => getFontSizeStyles(16, props.$isBold ? 500 : 400, 'Roboto Mono', props.theme.font.lineHeight)};\n color: ${props => props.theme.colors.input[props.$genre].color.placeholder};\n opacity: 1;\n ${addNiceNumber};\n background: transparent;\n }\n`\n\n/****************************************** Genre *************************************************/\nconst InputGenre = css<StyledInputProps>`\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 &: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 ${!props.$isNotShowHoverStyle &&\n css`\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 `}\n &:focus-visible {\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 `};\n`\n\n/****************************************** Size *************************************************/\nexport const InputSize = css<StyledInputProps>`\n ${props => InputSizeConstructor(KEY_SIZE_DATA[props.$size])};\n`\nexport const InputSizeConstructor = (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\n/****************************************** Hidden *************************************************/\nconst InputHidden = css<StyledInputProps>`\n opacity: ${props => (props.$isDisabled ? 0.5 : 1)};\n`\n/****************************************** is isInputEffect *************************************************/\nexport const InputIsInputEffect = css<Pick<StyledInputProps, '$isInputEffect'>>`\n ${props =>\n props.$isInputEffect &&\n css`\n box-shadow: ${props.theme.effects.input};\n `}\n`\n\n/****************************************** Default *************************************************/\nexport const StyledInputCSS = css<StyledInputProps>`\n resize: none;\n overflow: hidden;\n width: 100%;\n border: 1px solid;\n\n white-space: nowrap;\n text-overflow: ellipsis;\n overflow: hidden;\n ${props => getFontSizeStyles(16, props.$isBold ? 500 : 400, props.theme.font.family, props.theme.font.lineHeight)};\n\n ${InputSize};\n ${InputGenre};\n ${InputPlaceholder};\n ${InputHidden};\n ${InputIsInputEffect};\n ${addOutline};\n ${addTransition};\n ${addError};\n\n ${props =>\n props.$isNiceNumber &&\n css`\n ${addNiceNumber};\n `};\n ${props =>\n props.$isCenter &&\n css`\n text-align: center;\n justify-content: center;\n `};\n\n ${props =>\n props.$prefixChildren &&\n css`\n padding-left: ${`calc(${props.$prefixChildren.width} + ${props.$prefixChildren.right} + ${props.$prefixChildren.left})`};\n `};\n\n ${props =>\n props.$postfixChildren &&\n css`\n padding-right: ${`calc(${props.$postfixChildren.width} + ${props.$postfixChildren.right} + ${props.$postfixChildren.left})`};\n `};\n`\n\nexport const StyledInput = styled.input<StyledInputProps>`\n ${StyledInputCSS};\n`\n\nexport const StyledMotionInput = styled(motion.input)<StyledInputProps>`\n ${StyledInputCSS};\n`\n\nexport const StyledInputPattern = styled(PatternFormat)<StyledInputProps>`\n ${StyledInputCSS};\n`\nexport const StyledInputNumeric = styled(NumericFormat)<StyledInputProps>`\n ${StyledInputCSS};\n`\n\n/****************************************** Children *************************************************/\nexport const InputPrefixChildren = styled.div<StyledInputChildrenProps>`\n position: absolute;\n display: flex;\n left: ${props => props.$left};\n width: ${props => props.$width};\n opacity: ${props => (props.$isDisabled ? 0.5 : 1)};\n height: 100%;\n ${addTransition};\n`\n\nexport const InputPostfixChildren = styled.div<StyledInputChildrenProps>`\n position: absolute;\n display: flex;\n right: ${props => props.$right};\n width: ${props => props.$width};\n opacity: ${props => (props.$isDisabled ? 0.5 : 1)};\n height: 100%;\n ${addTransition};\n`\n"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,47 @@
|
|
|
1
|
+
"use strict";const e=require("./jsx-runtime-BcGej2Kr.cjs"),r=require("react"),n=require("styled-components"),t=require("./style-CtGd1JVB.cjs"),o=require("./style-fRZ6xrVp.cjs"),a=n.div`
|
|
2
|
+
position: relative;
|
|
3
|
+
display: flex;
|
|
4
|
+
width: 100%;
|
|
5
|
+
box-sizing: border-box;
|
|
6
|
+
align-items: center;
|
|
7
|
+
height: 20px;
|
|
8
|
+
${t.addError};
|
|
9
|
+
${o.addSX};
|
|
10
|
+
`,s=n.div`
|
|
11
|
+
position: absolute;
|
|
12
|
+
height: 3px;
|
|
13
|
+
width: 100%;
|
|
14
|
+
padding: 0px 10px;
|
|
15
|
+
border-radius: 2px;
|
|
16
|
+
`,i=n.input`
|
|
17
|
+
position: absolute;
|
|
18
|
+
width: 100%;
|
|
19
|
+
outline: none !important;
|
|
20
|
+
pointer-events: none;
|
|
21
|
+
appearance: none;
|
|
22
|
+
-webkit-appearance: none;
|
|
23
|
+
background: transparent;
|
|
24
|
+
left: 0;
|
|
25
|
+
margin: 0;
|
|
26
|
+
&::-webkit-slider-thumb {
|
|
27
|
+
pointer-events: all;
|
|
28
|
+
width: 16px;
|
|
29
|
+
height: 16px;
|
|
30
|
+
margin: 0;
|
|
31
|
+
padding: 0;
|
|
32
|
+
border-radius: 50%;
|
|
33
|
+
background: ${e=>e.$colorBackground};
|
|
34
|
+
border: 3px ${e=>e.$colorBorder} solid;
|
|
35
|
+
cursor: pointer;
|
|
36
|
+
-webkit-appearance: none;
|
|
37
|
+
margin-top: 0px;
|
|
38
|
+
transition:
|
|
39
|
+
transform ${e=>e.theme.transition.default},
|
|
40
|
+
color ${e=>e.theme.transition.default},
|
|
41
|
+
background-color ${e=>e.theme.transition.default};
|
|
42
|
+
&:hover {
|
|
43
|
+
transform: scale(1.2);
|
|
44
|
+
}
|
|
45
|
+
}
|
|
46
|
+
`;exports.Range=t=>{const{onChange:o}=t,u=r.useCallback((e,r)=>{const n=[...t.values];n[e]=Math.min(t.max,Math.max(t.min,r)),o(n.sort((e,r)=>e-r))},[o,t.max,t.min,t.values]),l=r.useCallback(e=>(e-t.min)/(t.max-t.min)*100,[t.max,t.min]),p=r.useMemo(()=>t.values.map(e=>l(e)),[l,t.values]),d=n.useTheme(),g=d.colors.range[t.genre].track.background.rest,m=d.colors.range[t.genre].track.gradient.rest,c=d.colors.range[t.genre].thumb.border.rest,x=d.colors.range[t.genre].thumb.background.rest,$=r.useMemo(()=>p.map((e,r)=>{const n=0===r,t=r===p.length-1;return n?`${g} 0%, ${g} ${e}%, ${m} ${e}%`:t?`${m} ${e}%, ${g} ${e}%, ${g} 100%`:`${m} ${e}%`}).join(", "),[m,g,p]),h=r.useMemo(()=>`linear-gradient(to right, ${$})`,[$]);return e.jsxRuntimeExports.jsxs(a,{$size:t.size,$sx:t.sx,$error:t.error,onBlur:t.onBlur,children:[t.values.map((r,n)=>e.jsxRuntimeExports.jsx(i,{type:"range",$size:t.size,$genre:t.genre,min:t.min,max:t.max,step:t.step,value:r,onChange:e=>u(n,parseFloat(e.target.value)),style:{zIndex:100+n},$colorBackground:x,$colorBorder:c},n)),e.jsxRuntimeExports.jsx(s,{$size:t.size,$genre:t.genre,style:{background:h}})]})},exports.RangeThumb=i,exports.RangeTrack=s,exports.RangeWrapper=a;
|
|
47
|
+
//# sourceMappingURL=component.styles-DxeG9Opm.cjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"component.styles-DxeG9Opm.cjs","sources":["../src/components/range/component.styles.ts","../src/components/range/component.tsx"],"sourcesContent":["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","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"],"names":["RangeWrapper","styled","div","addError","addSX","RangeTrack","RangeThumb","input","props","$colorBackground","$colorBorder","theme","transition","default","onChange","handleChange","useCallback","index","newValue","newValues","values","Math","min","max","sort","a","b","getThumbPositionPercent","val","positions","useMemo","map","useTheme","colorTrackBackground","colors","range","genre","track","background","rest","colorTrackGradient","gradient","colorThumbBorder","thumb","border","colorThumbBackground","trackGradient","position","idx","isFirst","isLast","length","join","jsxs","$size","size","$sx","sx","$error","error","onBlur","children","jsx","type","$genre","step","value","parseFloat","e","target","style","zIndex"],"mappings":"iLAOaA,EAAeC,EAAOC,GAAA;;;;;;;IAO/BC;IACAC;EAGSC,EAAaJ,EAAOC,GAAA;;;;;;EAOpBI,EAAaL,EAAOM,KAAA;;;;;;;;;;;;;;;;;kBAiBfC,GAASA,EAAMC;kBACfD,GAASA,EAAME;;;;;kBAKfF,GAASA,EAAMG,MAAMC,WAAWC;cACpCL,GAASA,EAAMG,MAAMC,WAAWC;yBACrBL,GAASA,EAAMG,MAAMC,WAAWC;;;;;gBC7CnCL,IACpB,MAAMM,SAAEA,GAAaN,EACfO,EAAeC,EAAAA,YACnB,CAACC,EAAeC,KACd,MAAMC,EAAY,IAAIX,EAAMY,QAC5BD,EAAUF,GAASI,KAAKC,IAAId,EAAMe,IAAKF,KAAKE,IAAIf,EAAMc,IAAKJ,IAC3DJ,EAASK,EAAUK,KAAK,CAACC,EAAGC,IAAMD,EAAIC,KAExC,CAACZ,EAAUN,EAAMe,IAAKf,EAAMc,IAAKd,EAAMY,SAEnCO,EAA0BX,EAAAA,YAC7BY,IAAkBA,EAAMpB,EAAMc,MAAQd,EAAMe,IAAMf,EAAMc,KAAQ,IACjE,CAACd,EAAMe,IAAKf,EAAMc,MAEdO,EAAYC,EAAAA,QAChB,IAAMtB,EAAMY,OAAOW,IAAIH,GAAOD,EAAwBC,IACtD,CAACD,EAAyBnB,EAAMY,SAE5BT,EAAQqB,EAAAA,WAERC,EAAuBtB,EAAMuB,OAAOC,MAAM3B,EAAM4B,OAAOC,MAAMC,WAAWC,KACxEC,EAAqB7B,EAAMuB,OAAOC,MAAM3B,EAAM4B,OAAOC,MAAMI,SAASF,KACpEG,EAAmB/B,EAAMuB,OAAOC,MAAM3B,EAAM4B,OAAOO,MAAMC,OAAOL,KAChEM,EAAuBlC,EAAMuB,OAAOC,MAAM3B,EAAM4B,OAAOO,MAAML,WAAWC,KAExEO,EAAgBhB,EAAAA,QACpB,IACED,EACGE,IAAI,CAACgB,EAAUC,KACd,MAAMC,EAAkB,IAARD,EACVE,EAASF,IAAQnB,EAAUsB,OAAS,EAE1C,OAAIF,EACK,GAAGhB,SAA4BA,KAAwBc,OAAcP,KAAsBO,KAChGG,EACK,GAAGV,KAAsBO,OAAcd,KAAwBc,OAAcd,SAC/E,GAAGO,KAAsBO,OAEjCK,KAAK,MACV,CAACZ,EAAoBP,EAAsBJ,IAEvCY,EAAWX,EAAAA,QAAQ,IAAM,6BAA6BgB,KAAkB,CAACA,IAE/E,SACEO,kBAAAA,KAACrD,EAAA,CAAasD,MAAO9C,EAAM+C,KAAMC,IAAKhD,EAAMiD,GAAIC,OAAQlD,EAAMmD,MAAOC,OAAQpD,EAAMoD,OAChFC,SAAA,CAAArD,EAAMY,OAAOW,IAAI,CAACH,EAAKoB,MACtBc,kBAAAA,IAACxD,EAAA,CAECyD,KAAK,QACLT,MAAO9C,EAAM+C,KACbS,OAAQxD,EAAM4B,MACdd,IAAKd,EAAMc,IACXC,IAAKf,EAAMe,IACX0C,KAAMzD,EAAMyD,KACZC,MAAOtC,EACPd,YAAeC,EAAaiC,EAAKmB,WAAWC,EAAEC,OAAOH,QACrDI,MAAO,CAAEC,OAAQ,IAAMvB,GACvBvC,iBAAkBoC,EAClBnC,aAAcgC,GAXTM,MAcTc,kBAAAA,IAACzD,EAAA,CACCiD,MAAO9C,EAAM+C,KACbS,OAAQxD,EAAM4B,MACdkC,MAAO,CACLhC,WAAYG"}
|
|
@@ -0,0 +1,32 @@
|
|
|
1
|
+
"use strict";const e=require("./jsx-runtime-BcGej2Kr.cjs"),o=require("react"),n=require("./component-BV_7tGiu.cjs"),r=require("styled-components"),c=require("./component.styles-BfvB83xM.cjs"),i=require("./style-Dm74EPGE.cjs"),s=r.div`
|
|
2
|
+
display: flex;
|
|
3
|
+
flex-direction: column;
|
|
4
|
+
width: 100%;
|
|
5
|
+
`,t=r.div`
|
|
6
|
+
display: flex;
|
|
7
|
+
align-items: center;
|
|
8
|
+
justify-content: space-between;
|
|
9
|
+
user-select: none;
|
|
10
|
+
`,d=r.div`
|
|
11
|
+
width: 100%;
|
|
12
|
+
|
|
13
|
+
${e=>e.$isAccordionIcon&&r.css`
|
|
14
|
+
width: calc(100% - 26px);
|
|
15
|
+
`}
|
|
16
|
+
`,a=r.div`
|
|
17
|
+
max-height: ${e=>e.$expanded?"9999px":"0"};
|
|
18
|
+
height: ${e=>e.$expanded?"100%":"0"};
|
|
19
|
+
opacity: ${e=>e.$expanded?1:0};
|
|
20
|
+
overflow: hidden;
|
|
21
|
+
${i.addTransition};
|
|
22
|
+
`,x=r(c.Icon)`
|
|
23
|
+
padding: 4px;
|
|
24
|
+
box-sizing: content-box;
|
|
25
|
+
cursor: pointer;
|
|
26
|
+
${e=>e.$expanded?r.css`
|
|
27
|
+
transform: rotate(180deg);
|
|
28
|
+
`:r.css`
|
|
29
|
+
transform: rotate(0deg);
|
|
30
|
+
`}
|
|
31
|
+
`;exports.Accordion=r=>{const c=o.useCallback(()=>{r.onClickSummary&&r.onClickSummary()},[r]),i=o.useCallback(e=>{r.onClickIcon&&(e.stopPropagation(),r.onClickIcon())},[r]);return e.jsxRuntimeExports.jsx(n.Stack,{...r.wrapperProps,children:e.jsxRuntimeExports.jsxs(s,{children:[e.jsxRuntimeExports.jsxs(t,{onClick:c,children:[e.jsxRuntimeExports.jsx(d,{$isAccordionIcon:r.isAccordionIcon,children:r.accordionSummary}),r.isAccordionIcon&&e.jsxRuntimeExports.jsx(x,{$expanded:r.expanded,onClick:i,name:"Arrow1",primaryColor:"black100",type:"id",size:"large"})]}),e.jsxRuntimeExports.jsx(a,{$expanded:r.expanded,children:r.accordionDetails})]})})},exports.AccordionDetails=a,exports.AccordionStyledIcon=x,exports.AccordionSummary=t,exports.AccordionSummaryContent=d,exports.AccordionWrapper=s;
|
|
32
|
+
//# sourceMappingURL=component.styles-DyGfo9t0.cjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"component.styles-DyGfo9t0.cjs","sources":["../src/components/accordion/component.styles.ts","../src/components/accordion/component.tsx"],"sourcesContent":["import styled, { css } from 'styled-components'\n\nimport { Icon } from '@local/components/icon'\nimport { addTransition } from '@local/styles/add'\n\nimport { AccordionDetailsProps, AccordionStyledIconProps, AccordionSummaryContentProps } from '.'\n\nexport const AccordionWrapper = styled.div`\n display: flex;\n flex-direction: column;\n width: 100%;\n`\nexport const AccordionSummary = styled.div`\n display: flex;\n align-items: center;\n justify-content: space-between;\n user-select: none;\n`\nexport const AccordionSummaryContent = styled.div<AccordionSummaryContentProps>`\n width: 100%;\n\n ${props =>\n props.$isAccordionIcon &&\n css`\n width: calc(100% - 26px);\n `}\n`\nexport const AccordionDetails = styled.div<AccordionDetailsProps>`\n max-height: ${props => (props.$expanded ? '9999px' : '0')};\n height: ${props => (props.$expanded ? '100%' : '0')};\n opacity: ${props => (props.$expanded ? 1 : 0)};\n overflow: hidden;\n ${addTransition};\n`\nexport const AccordionStyledIcon = styled(Icon)<AccordionStyledIconProps>`\n padding: 4px;\n box-sizing: content-box;\n cursor: pointer;\n ${props =>\n props.$expanded\n ? css`\n transform: rotate(180deg);\n `\n : css`\n transform: rotate(0deg);\n `}\n`\n","import React, { FC, useCallback } from 'react'\n\nimport { Stack } from '@local/components/stack'\n\nimport {\n AccordionDetails,\n AccordionProps,\n AccordionStyledIcon,\n AccordionSummary,\n AccordionSummaryContent,\n AccordionWrapper\n} from '.'\n\nexport const Accordion: FC<AccordionProps> = props => {\n const onClickSummary = useCallback(() => {\n if (props.onClickSummary) props.onClickSummary()\n }, [props])\n\n const onClickIcon = useCallback(\n (event: React.MouseEvent<SVGSVGElement>) => {\n if (props.onClickIcon) {\n event.stopPropagation()\n\n props.onClickIcon()\n }\n },\n [props]\n )\n\n return (\n <Stack {...props.wrapperProps}>\n <AccordionWrapper>\n <AccordionSummary onClick={onClickSummary}>\n <AccordionSummaryContent $isAccordionIcon={props.isAccordionIcon}>\n {props.accordionSummary}\n </AccordionSummaryContent>\n {props.isAccordionIcon && (\n <AccordionStyledIcon\n $expanded={props.expanded}\n onClick={onClickIcon}\n name=\"Arrow1\"\n primaryColor=\"black100\"\n type=\"id\"\n size=\"large\"\n />\n )}\n </AccordionSummary>\n <AccordionDetails $expanded={props.expanded}>{props.accordionDetails}</AccordionDetails>\n </AccordionWrapper>\n </Stack>\n )\n}\n"],"names":["AccordionWrapper","styled","div","AccordionSummary","AccordionSummaryContent","props","$isAccordionIcon","css","AccordionDetails","$expanded","addTransition","AccordionStyledIcon","Icon","onClickSummary","useCallback","onClickIcon","event","stopPropagation","Stack","wrapperProps","children","jsxs","onClick","jsx","isAccordionIcon","accordionSummary","expanded","name","primaryColor","type","size","accordionDetails"],"mappings":"kOAOaA,EAAmBC,EAAOC,GAAA;;;;EAK1BC,EAAmBF,EAAOC,GAAA;;;;;EAM1BE,EAA0BH,EAAOC,GAAA;;;IAG1CG,GACAA,EAAMC,kBACNC,EAAAA,GAAAA;;;EAISC,EAAmBP,EAAOC,GAAA;gBACvBG,GAAUA,EAAMI,UAAY,SAAW;YAC3CJ,GAAUA,EAAMI,UAAY,OAAS;aACpCJ,GAAUA,EAAMI,UAAY,EAAI;;IAEzCC;EAESC,EAAsBV,EAAOW,OAAI;;;;IAI1CP,GACAA,EAAMI,UACFF,EAAAA,GAAAA;;UAGAA,EAAAA,GAAAA;;;oBC9BqCF,IAC3C,MAAMQ,EAAiBC,EAAAA,YAAY,KAC7BT,EAAMQ,gBAAgBR,EAAMQ,kBAC/B,CAACR,IAEEU,EAAcD,EAAAA,YACjBE,IACKX,EAAMU,cACRC,EAAMC,kBAENZ,EAAMU,gBAGV,CAACV,IAGH,+BACGa,QAAA,IAAUb,EAAMc,aACfC,kCAACpB,EAAA,CACCoB,SAAA,GAAAC,kBAAAA,KAAClB,EAAA,CAAiBmB,QAAST,EACzBO,SAAA,CAAAG,wBAACnB,EAAA,CAAwBE,iBAAkBD,EAAMmB,gBAC9CJ,WAAMK,mBAERpB,EAAMmB,iBACLD,EAAAA,kBAAAA,IAACZ,EAAA,CACCF,UAAWJ,EAAMqB,SACjBJ,QAASP,EACTY,KAAK,SACLC,aAAa,WACbC,KAAK,KACLC,KAAK,qCAIVtB,EAAA,CAAiBC,UAAWJ,EAAMqB,SAAWN,WAAMW"}
|
|
@@ -0,0 +1,170 @@
|
|
|
1
|
+
import { j as jsxRuntimeExports } from "./jsx-runtime-BrDlu8eK.js";
|
|
2
|
+
import { useState, useRef, useCallback } from "react";
|
|
3
|
+
import { b as ErrorMessage } from "./style-DeAgDHyI.js";
|
|
4
|
+
import { I as Input } from "./component-CuiUpH8H.js";
|
|
5
|
+
import "./component.styles-Du2y0R4W.js";
|
|
6
|
+
import styled, { css } from "styled-components";
|
|
7
|
+
import { a as addSX } from "./style-plT9Ah7t.js";
|
|
8
|
+
import { K as KEY_SIZE_DATA } from "./theme.global-bN9HlSWE.js";
|
|
9
|
+
const InputOTP = (props) => {
|
|
10
|
+
const [otp, setOtp] = useState(new Array(props.length).fill(""));
|
|
11
|
+
const inputsRef = useRef([]);
|
|
12
|
+
const wrapperRef = useRef(null);
|
|
13
|
+
const handlePaste = useCallback(
|
|
14
|
+
(index, e) => {
|
|
15
|
+
e.preventDefault();
|
|
16
|
+
const pasteData = e.clipboardData.getData("Text");
|
|
17
|
+
const digits = pasteData.replace(/\D/g, "").split("");
|
|
18
|
+
if (!digits.length) return;
|
|
19
|
+
setOtp((prevOtp) => {
|
|
20
|
+
var _a, _b;
|
|
21
|
+
const newOtp = [...prevOtp];
|
|
22
|
+
let currentIndex = index;
|
|
23
|
+
for (let i = 0; i < digits.length && currentIndex < newOtp.length; i++) {
|
|
24
|
+
newOtp[currentIndex] = digits[i];
|
|
25
|
+
currentIndex++;
|
|
26
|
+
}
|
|
27
|
+
const joined = newOtp.join("");
|
|
28
|
+
(_a = props.onChange) == null ? void 0 : _a.call(props, joined);
|
|
29
|
+
if (newOtp.every((char) => char !== "")) {
|
|
30
|
+
(_b = props.onComplete) == null ? void 0 : _b.call(props, joined);
|
|
31
|
+
}
|
|
32
|
+
setTimeout(() => {
|
|
33
|
+
var _a2, _b2;
|
|
34
|
+
const firstEmpty = newOtp.findIndex((char) => char === "");
|
|
35
|
+
if (firstEmpty !== -1) {
|
|
36
|
+
(_a2 = inputsRef.current[firstEmpty]) == null ? void 0 : _a2.focus();
|
|
37
|
+
} else if (currentIndex < newOtp.length) {
|
|
38
|
+
(_b2 = inputsRef.current[currentIndex]) == null ? void 0 : _b2.focus();
|
|
39
|
+
}
|
|
40
|
+
}, 0);
|
|
41
|
+
return newOtp;
|
|
42
|
+
});
|
|
43
|
+
},
|
|
44
|
+
[props]
|
|
45
|
+
);
|
|
46
|
+
const handleChange = useCallback(
|
|
47
|
+
(index, value) => {
|
|
48
|
+
if (!/^\d*$/.test(value)) return;
|
|
49
|
+
setOtp((prevOtp) => {
|
|
50
|
+
var _a;
|
|
51
|
+
const newOtp = [...prevOtp];
|
|
52
|
+
newOtp[index] = value.slice(-1);
|
|
53
|
+
if (props.onChange) {
|
|
54
|
+
props.onChange(newOtp.join(""));
|
|
55
|
+
}
|
|
56
|
+
if (newOtp.every((char) => char !== "")) {
|
|
57
|
+
(_a = props.onComplete) == null ? void 0 : _a.call(props, newOtp.join(""));
|
|
58
|
+
}
|
|
59
|
+
if (value && index < prevOtp.length - 1) {
|
|
60
|
+
setTimeout(() => {
|
|
61
|
+
var _a2;
|
|
62
|
+
(_a2 = inputsRef.current[index + 1]) == null ? void 0 : _a2.focus();
|
|
63
|
+
}, 0);
|
|
64
|
+
}
|
|
65
|
+
return newOtp;
|
|
66
|
+
});
|
|
67
|
+
},
|
|
68
|
+
[props]
|
|
69
|
+
);
|
|
70
|
+
const handleKeyDown = (index, e) => {
|
|
71
|
+
const input = inputsRef.current[index];
|
|
72
|
+
if (!input) return;
|
|
73
|
+
if (e.key === "ArrowRight") {
|
|
74
|
+
const nextIndex = index < otp.length - 1 ? index + 1 : 0;
|
|
75
|
+
const nextInput = inputsRef.current[nextIndex];
|
|
76
|
+
if (nextInput) {
|
|
77
|
+
nextInput.focus();
|
|
78
|
+
setTimeout(() => nextInput.setSelectionRange(0, nextInput.value.length), 0);
|
|
79
|
+
}
|
|
80
|
+
}
|
|
81
|
+
if (e.key === "ArrowLeft") {
|
|
82
|
+
const prevIndex = index > 0 ? index - 1 : otp.length - 1;
|
|
83
|
+
const prevInput = inputsRef.current[prevIndex];
|
|
84
|
+
if (prevInput) {
|
|
85
|
+
prevInput.focus();
|
|
86
|
+
setTimeout(() => prevInput.setSelectionRange(0, prevInput.value.length), 0);
|
|
87
|
+
}
|
|
88
|
+
}
|
|
89
|
+
if (e.key === "Backspace") {
|
|
90
|
+
if (input.value) {
|
|
91
|
+
setTimeout(() => input.setSelectionRange(0, input.value.length), 0);
|
|
92
|
+
} else if (index > 0) {
|
|
93
|
+
setTimeout(() => {
|
|
94
|
+
const prevInput = inputsRef.current[index - 1];
|
|
95
|
+
if (prevInput) {
|
|
96
|
+
prevInput.focus();
|
|
97
|
+
prevInput.setSelectionRange(0, prevInput.value.length);
|
|
98
|
+
}
|
|
99
|
+
}, 0);
|
|
100
|
+
}
|
|
101
|
+
}
|
|
102
|
+
};
|
|
103
|
+
const handleFocusInput = useCallback((e) => {
|
|
104
|
+
setTimeout(() => e.target.setSelectionRange(0, e.target.value.length), 0);
|
|
105
|
+
}, []);
|
|
106
|
+
return /* @__PURE__ */ jsxRuntimeExports.jsxs(jsxRuntimeExports.Fragment, { children: [
|
|
107
|
+
/* @__PURE__ */ jsxRuntimeExports.jsx(
|
|
108
|
+
InputOTPWrapper,
|
|
109
|
+
{
|
|
110
|
+
$error: props.error,
|
|
111
|
+
$size: props.size,
|
|
112
|
+
id: props.id,
|
|
113
|
+
ref: wrapperRef,
|
|
114
|
+
onBlur: (e) => {
|
|
115
|
+
setTimeout(() => {
|
|
116
|
+
var _a;
|
|
117
|
+
if (wrapperRef.current && !wrapperRef.current.contains(document.activeElement)) {
|
|
118
|
+
(_a = props.onBlur) == null ? void 0 : _a.call(props, e);
|
|
119
|
+
}
|
|
120
|
+
}, 0);
|
|
121
|
+
},
|
|
122
|
+
$sx: props.sx,
|
|
123
|
+
children: otp.map((digit, index) => /* @__PURE__ */ jsxRuntimeExports.jsx(
|
|
124
|
+
Input,
|
|
125
|
+
{
|
|
126
|
+
isWidthAsHeight: true,
|
|
127
|
+
tabIndex: index + 1,
|
|
128
|
+
ref: (el) => {
|
|
129
|
+
inputsRef.current[index] = el;
|
|
130
|
+
},
|
|
131
|
+
variety: "standard",
|
|
132
|
+
type: "text",
|
|
133
|
+
inputMode: "numeric",
|
|
134
|
+
maxLength: 1,
|
|
135
|
+
value: digit,
|
|
136
|
+
onFocus: handleFocusInput,
|
|
137
|
+
onPaste: (e) => handlePaste(index, e),
|
|
138
|
+
onChange: (value) => handleChange(index, value),
|
|
139
|
+
onKeyDown: (e) => handleKeyDown(index, e),
|
|
140
|
+
genre: props.genre,
|
|
141
|
+
size: props.size
|
|
142
|
+
},
|
|
143
|
+
index
|
|
144
|
+
))
|
|
145
|
+
}
|
|
146
|
+
),
|
|
147
|
+
(props == null ? void 0 : props.error) ? /* @__PURE__ */ jsxRuntimeExports.jsx(ErrorMessage, { ...props.error, size: (props == null ? void 0 : props.error.size) ?? props.size }) : null
|
|
148
|
+
] });
|
|
149
|
+
};
|
|
150
|
+
const InputOTPSize = css`
|
|
151
|
+
${(props) => InputOTPSizeConstructor({ ...KEY_SIZE_DATA[props.$size], ...props })};
|
|
152
|
+
`;
|
|
153
|
+
const InputOTPSizeConstructor = (props) => css`
|
|
154
|
+
gap: ${props.padding - 2}px;
|
|
155
|
+
width: 100%;
|
|
156
|
+
`;
|
|
157
|
+
const InputOTPWrapper = styled.div`
|
|
158
|
+
display: flex;
|
|
159
|
+
justify-content: space-between;
|
|
160
|
+
align-items: flex-start;
|
|
161
|
+
${InputOTPSize};
|
|
162
|
+
${addSX};
|
|
163
|
+
`;
|
|
164
|
+
export {
|
|
165
|
+
InputOTP as I,
|
|
166
|
+
InputOTPSize as a,
|
|
167
|
+
InputOTPSizeConstructor as b,
|
|
168
|
+
InputOTPWrapper as c
|
|
169
|
+
};
|
|
170
|
+
//# sourceMappingURL=component.styles-RkQwTlwG.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"component.styles-RkQwTlwG.js","sources":["../src/components/input-otp/component.tsx","../src/components/input-otp/component.styles.ts"],"sourcesContent":["import { ClipboardEvent, FocusEvent, KeyboardEvent, useCallback, useRef, useState } from 'react'\n\nimport { ErrorMessage } from '@local/styles/error'\n\nimport { InputOTPProps, InputOTPWrapper } from '.'\nimport { Input } from '../input'\n\nexport const InputOTP = (props: InputOTPProps) => {\n const [otp, setOtp] = useState<string[]>(new Array(props.length).fill(''))\n const inputsRef = useRef<(HTMLInputElement | null)[]>([])\n const wrapperRef = useRef<HTMLDivElement | null>(null)\n\n const handlePaste = useCallback(\n (index: number, e: ClipboardEvent<HTMLInputElement>) => {\n e.preventDefault()\n\n const pasteData = e.clipboardData.getData('Text')\n const digits = pasteData.replace(/\\D/g, '').split('')\n\n if (!digits.length) return\n\n setOtp(prevOtp => {\n const newOtp = [...prevOtp]\n let currentIndex = index\n\n for (let i = 0; i < digits.length && currentIndex < newOtp.length; i++) {\n newOtp[currentIndex] = digits[i]\n currentIndex++\n }\n\n const joined = newOtp.join('')\n\n props.onChange?.(joined)\n\n if (newOtp.every(char => char !== '')) {\n props.onComplete?.(joined)\n }\n\n setTimeout(() => {\n const firstEmpty = newOtp.findIndex(char => char === '')\n if (firstEmpty !== -1) {\n inputsRef.current[firstEmpty]?.focus()\n } else if (currentIndex < newOtp.length) {\n inputsRef.current[currentIndex]?.focus()\n }\n }, 0)\n\n return newOtp\n })\n },\n [props]\n )\n\n const handleChange = useCallback(\n (index: number, value: string) => {\n if (!/^\\d*$/.test(value)) return\n\n setOtp(prevOtp => {\n const newOtp = [...prevOtp]\n newOtp[index] = value.slice(-1)\n\n if (props.onChange) {\n props.onChange(newOtp.join(''))\n }\n\n if (newOtp.every(char => char !== '')) {\n props.onComplete?.(newOtp.join(''))\n }\n\n if (value && index < prevOtp.length - 1) {\n setTimeout(() => {\n inputsRef.current[index + 1]?.focus()\n }, 0)\n }\n\n return newOtp\n })\n },\n [props]\n )\n\n const handleKeyDown = (index: number, e: KeyboardEvent<HTMLInputElement>) => {\n const input = inputsRef.current[index]\n\n if (!input) return\n\n if (e.key === 'ArrowRight') {\n const nextIndex = index < otp.length - 1 ? index + 1 : 0\n const nextInput = inputsRef.current[nextIndex]\n\n if (nextInput) {\n nextInput.focus()\n setTimeout(() => nextInput.setSelectionRange(0, nextInput.value.length), 0)\n }\n }\n\n if (e.key === 'ArrowLeft') {\n const prevIndex = index > 0 ? index - 1 : otp.length - 1\n const prevInput = inputsRef.current[prevIndex]\n\n if (prevInput) {\n prevInput.focus()\n setTimeout(() => prevInput.setSelectionRange(0, prevInput.value.length), 0)\n }\n }\n\n if (e.key === 'Backspace') {\n if (input.value) {\n setTimeout(() => input.setSelectionRange(0, input.value.length), 0)\n } else if (index > 0) {\n setTimeout(() => {\n const prevInput = inputsRef.current[index - 1]\n if (prevInput) {\n prevInput.focus()\n prevInput.setSelectionRange(0, prevInput.value.length)\n }\n }, 0)\n }\n }\n }\n\n const handleFocusInput = useCallback((e: FocusEvent<HTMLInputElement>) => {\n setTimeout(() => e.target.setSelectionRange(0, e.target.value.length), 0)\n }, [])\n return (\n <>\n <InputOTPWrapper\n $error={props.error}\n $size={props.size}\n id={props.id}\n ref={wrapperRef}\n onBlur={e => {\n setTimeout(() => {\n if (wrapperRef.current && !wrapperRef.current.contains(document.activeElement)) {\n props.onBlur?.(e)\n }\n }, 0)\n }}\n $sx={props.sx}\n >\n {otp.map((digit, index) => (\n <Input\n isWidthAsHeight\n key={index}\n tabIndex={index + 1}\n ref={el => {\n inputsRef.current[index] = el\n }}\n variety=\"standard\"\n type=\"text\"\n inputMode=\"numeric\"\n maxLength={1}\n value={digit}\n onFocus={handleFocusInput}\n onPaste={e => handlePaste(index, e)}\n onChange={value => handleChange(index, value)}\n onKeyDown={e => handleKeyDown(index, e)}\n genre={props.genre}\n size={props.size}\n />\n ))}\n </InputOTPWrapper>\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 { addSX } from '@local/styles/sx'\nimport { IThemeSizePropertyDefault, KEY_SIZE_DATA } from '@local/theme'\n\nimport { InputOTPWrapperProps } from '.'\n\n/****************************************** Size *************************************************/\nexport const InputOTPSize = css<InputOTPWrapperProps>`\n ${props => InputOTPSizeConstructor({ ...KEY_SIZE_DATA[props.$size], ...props })};\n`\nexport const InputOTPSizeConstructor = (props: IThemeSizePropertyDefault & InputOTPWrapperProps) => css`\n gap: ${props.padding - 2}px;\n width: 100%;\n`\n\nexport const InputOTPWrapper = styled.div<InputOTPWrapperProps>`\n display: flex;\n justify-content: space-between;\n align-items: flex-start;\n ${InputOTPSize};\n ${addSX};\n`\n"],"names":["_a","_b","jsxs","Fragment","jsx"],"mappings":"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"}
|
|
@@ -0,0 +1,75 @@
|
|
|
1
|
+
"use strict";const e=require("./jsx-runtime-BcGej2Kr.cjs"),r=require("react"),s=require("styled-components"),o=require("./style-CtGd1JVB.cjs"),i=require("./component.styles-BfvB83xM.cjs"),c=require("./component.styles-Dpg-__rn.cjs"),t=require("./component-xnEaYd4a.cjs"),n=require("./component-C52VCES6.cjs"),d=require("./style-Dm74EPGE.cjs"),h=require("./style-fRZ6xrVp.cjs"),l=require("./theme.global-D6XU05Et.cjs"),a=s.css`
|
|
2
|
+
${e=>x({...l.KEY_SIZE_DATA[e.$size],isWidthAsHeight:e.$isWidthAsHeight})};
|
|
3
|
+
`,x=e=>s.css`
|
|
4
|
+
height: ${e.height}px;
|
|
5
|
+
min-height: ${e.height}px;
|
|
6
|
+
border-radius: ${e.radius}px;
|
|
7
|
+
gap: ${e.padding-2}px;
|
|
8
|
+
${r=>n.getFontSizeStyles(e.font,700,r.theme.font.family)};
|
|
9
|
+
padding: ${e.padding-4}px;
|
|
10
|
+
${e.isWidthAsHeight&&s.css`
|
|
11
|
+
width: ${e.height}px;
|
|
12
|
+
min-width: ${e.height}px;
|
|
13
|
+
padding: 0px;
|
|
14
|
+
`};
|
|
15
|
+
`,p=s.css`
|
|
16
|
+
${e=>s.css`
|
|
17
|
+
background: ${e.theme.colors.checkbox[e.$genre].background.rest};
|
|
18
|
+
border-color: ${e.theme.colors.checkbox[e.$genre].border.rest};
|
|
19
|
+
color: ${e.theme.colors.checkbox[e.$genre].color.rest};
|
|
20
|
+
&:hover {
|
|
21
|
+
background: ${e.theme.colors.checkbox[e.$genre].background.hover};
|
|
22
|
+
border-color: ${e.theme.colors.checkbox[e.$genre].border.hover};
|
|
23
|
+
color: ${e.theme.colors.checkbox[e.$genre].color.hover};
|
|
24
|
+
}
|
|
25
|
+
`};
|
|
26
|
+
`,$=s.css`
|
|
27
|
+
${e=>e.$isDisabled?s.css`
|
|
28
|
+
opacity: 0.5;
|
|
29
|
+
background: ${e.theme.colors.checkbox[e.$genre].background.rest} !important;
|
|
30
|
+
border-color: ${e.theme.colors.checkbox[e.$genre].border.rest} !important;
|
|
31
|
+
color: ${e.theme.colors.checkbox[e.$genre].color.rest} !important;
|
|
32
|
+
`:s.css`
|
|
33
|
+
opacity: 1;
|
|
34
|
+
`}
|
|
35
|
+
`,g=s.css`
|
|
36
|
+
${e=>e.$isHiddenBorder&&s.css`
|
|
37
|
+
border-color: transparent !important;
|
|
38
|
+
`}
|
|
39
|
+
`,u=s.button`
|
|
40
|
+
display: flex;
|
|
41
|
+
align-items: center;
|
|
42
|
+
justify-content: flex-start;
|
|
43
|
+
border: 1px solid transparent;
|
|
44
|
+
user-select: none;
|
|
45
|
+
cursor: pointer;
|
|
46
|
+
background-color: ${e=>e.$isNotBackground&&"transparent"};
|
|
47
|
+
|
|
48
|
+
${c.addRippleDefault};
|
|
49
|
+
${d.addTransition};
|
|
50
|
+
${p};
|
|
51
|
+
${$}
|
|
52
|
+
${g};
|
|
53
|
+
${a};
|
|
54
|
+
${d.addOutline};
|
|
55
|
+
${o.addError};
|
|
56
|
+
${n.addSXTypography};
|
|
57
|
+
${h.addSX};
|
|
58
|
+
`,b=s(i.Icon)`
|
|
59
|
+
${e=>e.$checked?s.css`
|
|
60
|
+
& #check {
|
|
61
|
+
color: inherit;
|
|
62
|
+
}
|
|
63
|
+
& #uncheck {
|
|
64
|
+
color: transparent;
|
|
65
|
+
}
|
|
66
|
+
`:s.css`
|
|
67
|
+
& #check {
|
|
68
|
+
color: transparent;
|
|
69
|
+
}
|
|
70
|
+
& #uncheck {
|
|
71
|
+
color: inherit;
|
|
72
|
+
}
|
|
73
|
+
`}
|
|
74
|
+
`;exports.Checkbox=c=>{const n=r.useCallback(e=>{var r;null==(r=c.onChange)||r.call(c,e)},[c]),d=s.useTheme(),h=r.useMemo(()=>e.jsxRuntimeExports.jsxs(e.jsxRuntimeExports.Fragment,{children:[e.jsxRuntimeExports.jsx(b,{size:c.sizeIcon||c.size,name:c.view,type:"checkbox",order:c.iconOrder,$genre:c.genre,$checked:c.checked}),c.children&&c.children]}),[c.checked,c.children,c.genre,c.iconOrder,c.size,c.sizeIcon,c.view]),l=e.jsxRuntimeExports.jsx(i.Icon,{size:c.size,type:"loading",name:"Line"});return e.jsxRuntimeExports.jsxs(e.jsxRuntimeExports.Fragment,{children:[e.jsxRuntimeExports.jsxs(u,{type:"button",$genre:c.genre,$error:c.error,$view:c.view,$checked:c.checked,$isWidthAsHeight:c.isWidthAsHeight,$size:c.size,$isDisabled:c.isDisabled,$isHiddenBorder:c.isHiddenBorder,$isNotBackground:c.isNotBackground,$sx:c.sx,$sxTypography:c.sxTypography,disabled:c.isDisabled,tabIndex:0,onClick:()=>!c.isDisabled&&n(!c.checked),children:[e.jsxRuntimeExports.jsx(t.Ripple,{color:d.colors.checkbox[c.genre].color.rest,isDisabled:c.isDisabled}),c.isOnlyLoading?c.isLoading?l:h:e.jsxRuntimeExports.jsxs(e.jsxRuntimeExports.Fragment,{children:[h,c.isLoading&&l]})]}),(null==c?void 0:c.error)?e.jsxRuntimeExports.jsx(o.ErrorMessage,{...c.error,size:(null==c?void 0:c.error.size)??c.size}):null]})},exports.CheckboxGenre=p,exports.CheckboxSize=a,exports.CheckboxSizeConstructor=x,exports.CheckboxWrapper=u,exports.StyledIcon=b;
|
|
75
|
+
//# sourceMappingURL=component.styles-ZtwHuL4x.cjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"component.styles-ZtwHuL4x.cjs","sources":["../src/components/checkbox/component.styles.ts","../src/components/checkbox/component.tsx"],"sourcesContent":["import styled, { css } from 'styled-components'\n\nimport { Icon } from '@local/components/icon'\nimport { addSXTypography, getFontSizeStyles } from '@local/components/typography'\nimport { addOutline, addTransition } 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 { StyledCheckboxProps, StyledIconProps } from '.'\nimport { addRippleDefault } from '../ripple'\n\n/****************************************** Size *************************************************/\nexport const CheckboxSize = css<StyledCheckboxProps>`\n ${props => CheckboxSizeConstructor({ ...KEY_SIZE_DATA[props.$size], isWidthAsHeight: props.$isWidthAsHeight })};\n`\nexport const CheckboxSizeConstructor = (\n props: IThemeSizePropertyDefault & {\n isWidthAsHeight?: boolean\n }\n) => css`\n height: ${props.height}px;\n min-height: ${props.height}px;\n border-radius: ${props.radius}px;\n gap: ${props.padding - 2}px;\n ${params => getFontSizeStyles(props.font, 700, params.theme.font.family)};\n padding: ${props.padding - 4}px;\n ${props.isWidthAsHeight &&\n css`\n width: ${props.height}px;\n min-width: ${props.height}px;\n padding: 0px;\n `};\n`\n\n/****************************************** Genre *************************************************/\nexport const CheckboxGenre = css<StyledCheckboxProps>`\n ${props => css`\n background: ${props.theme.colors.checkbox[props.$genre].background.rest};\n border-color: ${props.theme.colors.checkbox[props.$genre].border.rest};\n color: ${props.theme.colors.checkbox[props.$genre].color.rest};\n &:hover {\n background: ${props.theme.colors.checkbox[props.$genre].background.hover};\n border-color: ${props.theme.colors.checkbox[props.$genre].border.hover};\n color: ${props.theme.colors.checkbox[props.$genre].color.hover};\n }\n `};\n`\n\n/****************************************** Disabled *************************************************/\nconst CheckboxDisabled = css<StyledCheckboxProps>`\n ${props =>\n props.$isDisabled\n ? css`\n opacity: 0.5;\n background: ${props.theme.colors.checkbox[props.$genre].background.rest} !important;\n border-color: ${props.theme.colors.checkbox[props.$genre].border.rest} !important;\n color: ${props.theme.colors.checkbox[props.$genre].color.rest} !important;\n `\n : css`\n opacity: 1;\n `}\n`\n\n/****************************************** HiddenBorder *************************************************/\nconst CheckboxHiddenBorder = css<StyledCheckboxProps>`\n ${props =>\n props.$isHiddenBorder &&\n css`\n border-color: transparent !important;\n `}\n`\n\n/****************************************** Default *************************************************/\nexport const CheckboxWrapper = styled.button<StyledCheckboxProps>`\n display: flex;\n align-items: center;\n justify-content: flex-start;\n border: 1px solid transparent;\n user-select: none;\n cursor: pointer;\n background-color: ${props => props.$isNotBackground && 'transparent'};\n\n ${addRippleDefault};\n ${addTransition};\n ${CheckboxGenre};\n ${CheckboxDisabled}\n ${CheckboxHiddenBorder};\n ${CheckboxSize};\n ${addOutline};\n ${addError};\n ${addSXTypography};\n ${addSX};\n`\n\n/****************************************** Styled *************************************************/\nexport const StyledIcon = styled(Icon)<StyledIconProps>`\n ${props =>\n props.$checked\n ? css`\n & #check {\n color: inherit;\n }\n & #uncheck {\n color: transparent;\n }\n `\n : css`\n & #check {\n color: transparent;\n }\n & #uncheck {\n color: inherit;\n }\n `}\n`\n","import { FC, useCallback, useMemo } from 'react'\nimport { useTheme } from 'styled-components'\n\nimport { ErrorMessage } from '@local/styles/error'\n\nimport { CheckboxProps, CheckboxWrapper, StyledIcon } from '.'\nimport { Icon } from '../icon'\nimport { Ripple } from '../ripple'\n\nexport const Checkbox: FC<CheckboxProps> = props => {\n const handleOnClick = useCallback(\n (checked: boolean) => {\n props.onChange?.(checked)\n },\n [props]\n )\n const theme = useTheme()\n const children = useMemo(\n () => (\n <>\n <StyledIcon\n size={props.sizeIcon || props.size}\n name={props.view}\n type=\"checkbox\"\n order={props.iconOrder}\n $genre={props.genre}\n $checked={props.checked}\n />\n {props.children && props.children}\n </>\n ),\n [props.checked, props.children, props.genre, props.iconOrder, props.size, props.sizeIcon, props.view]\n )\n const LoadingComponent = <Icon size={props.size} type=\"loading\" name=\"Line\" />\n\n return (\n <>\n <CheckboxWrapper\n type=\"button\"\n $genre={props.genre}\n $error={props.error}\n $view={props.view}\n $checked={props.checked}\n $isWidthAsHeight={props.isWidthAsHeight}\n $size={props.size}\n $isDisabled={props.isDisabled}\n $isHiddenBorder={props.isHiddenBorder}\n $isNotBackground={props.isNotBackground}\n $sx={props.sx}\n $sxTypography={props.sxTypography}\n disabled={props.isDisabled}\n tabIndex={0}\n onClick={() => !props.isDisabled && handleOnClick(!props.checked)}\n >\n <Ripple color={theme.colors.checkbox[props.genre].color.rest} isDisabled={props.isDisabled} />\n {props.isOnlyLoading ? (\n props.isLoading ? (\n LoadingComponent\n ) : (\n children\n )\n ) : (\n <>\n {children}\n {props.isLoading && LoadingComponent}\n </>\n )}\n </CheckboxWrapper>\n {props?.error ? <ErrorMessage {...props.error} size={props?.error.size ?? props.size} /> : null}\n </>\n )\n}\n"],"names":["CheckboxSize","css","props","CheckboxSizeConstructor","KEY_SIZE_DATA","$size","isWidthAsHeight","$isWidthAsHeight","height","radius","padding","params","getFontSizeStyles","font","theme","family","CheckboxGenre","colors","checkbox","$genre","background","rest","border","color","hover","CheckboxDisabled","$isDisabled","CheckboxHiddenBorder","$isHiddenBorder","CheckboxWrapper","styled","button","$isNotBackground","addRippleDefault","addTransition","addOutline","addError","addSXTypography","addSX","StyledIcon","Icon","$checked","handleOnClick","useCallback","checked","_a","onChange","call","useTheme","children","useMemo","jsxs","Fragment","jsx","size","sizeIcon","name","view","type","order","iconOrder","genre","LoadingComponent","$error","error","$view","isDisabled","isHiddenBorder","isNotBackground","$sx","sx","$sxTypography","sxTypography","disabled","tabIndex","onClick","Ripple","isOnlyLoading","isLoading","ErrorMessage"],"mappings":"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"}
|