@jenesei-software/jenesei-kit-react 1.3.9 → 1.3.10
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/build/{area-Dnq78ow6.js → area-BYuHpaUX.js} +2 -2
- package/build/{area-Dnq78ow6.js.map → area-BYuHpaUX.js.map} +1 -1
- package/build/{area-DnAf310m.cjs → area-C6XuN6wk.cjs} +2 -2
- package/build/{area-DnAf310m.cjs.map → area-C6XuN6wk.cjs.map} +1 -1
- package/build/{area-CFZW3T1g.js → area-CkM4ZN2F.js} +2 -2
- package/build/{area-CFZW3T1g.js.map → area-CkM4ZN2F.js.map} +1 -1
- package/build/{area-C3wR_pPr.cjs → area-oZm7ewxw.cjs} +2 -2
- package/build/{area-C3wR_pPr.cjs.map → area-oZm7ewxw.cjs.map} +1 -1
- package/build/area-preview.cjs.js +1 -1
- package/build/area-preview.es.js +1 -1
- package/build/area-skeleton.cjs.js +1 -1
- package/build/area-skeleton.es.js +1 -1
- package/build/build-info.txt +3 -3
- package/build/component--jGdo2yq.cjs +2 -0
- package/build/component--jGdo2yq.cjs.map +1 -0
- package/build/component-B1bvPlyB.cjs +90 -0
- package/build/component-B1bvPlyB.cjs.map +1 -0
- package/build/{component-DHq4T6Ku.cjs → component-BYox4gmt.cjs} +2 -2
- package/build/{component-DHq4T6Ku.cjs.map → component-BYox4gmt.cjs.map} +1 -1
- package/build/component-C67KboOB.cjs +245 -0
- package/build/component-C67KboOB.cjs.map +1 -0
- package/build/{component-BiNPQpCQ.cjs → component-CY7lfJVv.cjs} +2 -2
- package/build/{component-BiNPQpCQ.cjs.map → component-CY7lfJVv.cjs.map} +1 -1
- package/build/{component-DfxlJBGv.js → component-CvW0MIM8.js} +3 -3
- package/build/{component-DfxlJBGv.js.map → component-CvW0MIM8.js.map} +1 -1
- package/build/{component-C4ULY0c6.js → component-DJYgewYg.js} +20 -9
- package/build/component-DJYgewYg.js.map +1 -0
- package/build/component-DKMsOpqH.js +710 -0
- package/build/component-DKMsOpqH.js.map +1 -0
- package/build/{component-Bzw_uobM.js → component-DaXKDHnc.js} +48 -7
- package/build/component-DaXKDHnc.js.map +1 -0
- package/build/{component-CQ8fy2gK.js → component-WUYE2soZ.js} +2 -2
- package/build/{component-CQ8fy2gK.js.map → component-WUYE2soZ.js.map} +1 -1
- package/build/component-accordion.cjs.js +1 -1
- package/build/component-accordion.es.js +1 -1
- package/build/component-button-group.cjs.js +1 -1
- package/build/component-button-group.d.ts +18 -1
- package/build/component-button-group.es.js +1 -1
- package/build/component-button.cjs.js +1 -1
- package/build/component-button.d.ts +21 -2
- package/build/component-button.es.js +1 -1
- package/build/component-checkbox-group.cjs.js +1 -1
- package/build/component-checkbox-group.d.ts +20 -3
- package/build/component-checkbox-group.es.js +1 -1
- package/build/component-checkbox.cjs.js +1 -1
- package/build/component-checkbox.d.ts +21 -2
- package/build/component-checkbox.es.js +1 -1
- package/build/component-date-picker.cjs.js +1 -1
- package/build/component-date-picker.d.ts +35 -37
- package/build/component-date-picker.es.js +1 -1
- package/build/component-icon.cjs.js +1 -1
- package/build/component-icon.es.js +1 -1
- package/build/component-image-button.cjs.js +1 -1
- package/build/component-image-button.d.ts +18 -1
- package/build/component-image-button.es.js +1 -1
- package/build/component-image-select.cjs.js +1 -1
- package/build/component-image-select.d.ts +18 -1
- package/build/component-image-select.es.js +1 -1
- package/build/component-image-slider.cjs.js +1 -1
- package/build/component-image-slider.es.js +1 -1
- package/build/component-image.cjs.js +1 -1
- package/build/component-image.es.js +1 -1
- package/build/component-input-otp.cjs.js +1 -1
- package/build/component-input-otp.d.ts +51 -5
- package/build/component-input-otp.es.js +1 -1
- package/build/component-input.cjs.js +1 -1
- package/build/component-input.d.ts +62 -14
- package/build/component-input.es.js +2 -2
- package/build/component-map.cjs.js +1 -1
- package/build/component-map.es.js +1 -1
- package/build/component-pagination.cjs.js +1 -1
- package/build/component-pagination.d.ts +18 -1
- package/build/component-pagination.es.js +1 -1
- package/build/component-range.cjs.js +1 -1
- package/build/component-range.d.ts +50 -4
- package/build/component-range.es.js +1 -1
- package/build/component-select.cjs.js +1 -1
- package/build/component-select.d.ts +48 -7
- package/build/component-select.es.js +1 -1
- package/build/component-textarea.cjs.js +1 -1
- package/build/component-textarea.d.ts +50 -7
- package/build/component-textarea.es.js +1 -1
- package/build/component-toggle.cjs.js +1 -1
- package/build/component-toggle.d.ts +51 -2
- package/build/component-toggle.es.js +1 -1
- package/build/component-tooltip.cjs.js +1 -1
- package/build/component-tooltip.d.ts +14 -2
- package/build/component-tooltip.es.js +1 -1
- package/build/component-typography.cjs.js +1 -1
- package/build/component-typography.d.ts +27 -13
- package/build/component-typography.es.js +7 -6
- package/build/component-typography.es.js.map +1 -1
- package/build/{component.components-H_qAeBHw.cjs → component.components-CeKyOsDE.cjs} +2 -2
- package/build/{component.components-H_qAeBHw.cjs.map → component.components-CeKyOsDE.cjs.map} +1 -1
- package/build/{component.components-DX0DVix5.js → component.components-f-tFdB6f.js} +4 -4
- package/build/{component.components-DX0DVix5.js.map → component.components-f-tFdB6f.js.map} +1 -1
- package/build/{component.constants-veAUxKBd.cjs → component.constants-B9xzGc3A.cjs} +2 -2
- package/build/{component.constants-veAUxKBd.cjs.map → component.constants-B9xzGc3A.cjs.map} +1 -1
- package/build/{component.constants-DjYLZpyY.js → component.constants-BrJrCmlA.js} +2 -2
- package/build/{component.constants-DjYLZpyY.js.map → component.constants-BrJrCmlA.js.map} +1 -1
- package/build/{component.constants-DwRduxMm.cjs → component.constants-DRPyaSU8.cjs} +3 -3
- package/build/{component.constants-DwRduxMm.cjs.map → component.constants-DRPyaSU8.cjs.map} +1 -1
- package/build/{component.constants-C7DGbAC8.js → component.constants-amkB3VHg.js} +7 -7
- package/build/{component.constants-C7DGbAC8.js.map → component.constants-amkB3VHg.js.map} +1 -1
- package/build/component.functions-D9ffjEok.cjs +8 -0
- package/build/component.functions-D9ffjEok.cjs.map +1 -0
- package/build/component.functions-DNW6h8kk.js +12 -0
- package/build/component.functions-DNW6h8kk.js.map +1 -0
- package/build/{component.styles-5CVyEjEh.js → component.styles--PEjCgcA.js} +51 -23
- package/build/component.styles--PEjCgcA.js.map +1 -0
- package/build/{component.styles-C3hYZJGh.js → component.styles-B0FFHGeN.js} +26 -20
- package/build/component.styles-B0FFHGeN.js.map +1 -0
- package/build/{component.styles-C1p3V7H6.js → component.styles-BDKsgd6y.js} +32 -19
- package/build/component.styles-BDKsgd6y.js.map +1 -0
- package/build/{component.styles-Cje8zTpf.cjs → component.styles-BELwxHxh.cjs} +7 -7
- package/build/component.styles-BELwxHxh.cjs.map +1 -0
- package/build/{component.styles-DpgkACgI.js → component.styles-BGYbrzvh.js} +2 -2
- package/build/{component.styles-DpgkACgI.js.map → component.styles-BGYbrzvh.js.map} +1 -1
- package/build/{component.styles-DSle6iuF.cjs → component.styles-BKnUDWqO.cjs} +2 -2
- package/build/{component.styles-DSle6iuF.cjs.map → component.styles-BKnUDWqO.cjs.map} +1 -1
- package/build/{component.styles-DLU0S0KI.cjs → component.styles-BTsmbWT6.cjs} +2 -2
- package/build/{component.styles-DLU0S0KI.cjs.map → component.styles-BTsmbWT6.cjs.map} +1 -1
- package/build/{component.styles-DYS_AJ9F.js → component.styles-BbwS_Ekx.js} +9 -10
- package/build/{component.styles-DYS_AJ9F.js.map → component.styles-BbwS_Ekx.js.map} +1 -1
- package/build/component.styles-BeRVOt5T.cjs +137 -0
- package/build/{component.styles-Crx4pACx.cjs.map → component.styles-BeRVOt5T.cjs.map} +1 -1
- package/build/component.styles-BpvpyZax.cjs +73 -0
- package/build/component.styles-BpvpyZax.cjs.map +1 -0
- package/build/{component.styles-BirbSbuD.js → component.styles-CPWNnqqm.js} +3 -3
- package/build/{component.styles-BirbSbuD.js.map → component.styles-CPWNnqqm.js.map} +1 -1
- package/build/component.styles-CsB9986a.cjs +99 -0
- package/build/component.styles-CsB9986a.cjs.map +1 -0
- package/build/{component.styles-5Xz_H-fR.js → component.styles-DARNjy9P.js} +32 -11
- package/build/component.styles-DARNjy9P.js.map +1 -0
- package/build/{component.styles-CggIUAVx.js → component.styles-DOnQEUrI.js} +20 -9
- package/build/{component.styles-CggIUAVx.js.map → component.styles-DOnQEUrI.js.map} +1 -1
- package/build/{component.styles-Bm3Ec-Kd.js → component.styles-DS0ofW1Y.js} +3 -3
- package/build/{component.styles-Bm3Ec-Kd.js.map → component.styles-DS0ofW1Y.js.map} +1 -1
- package/build/component.styles-DWGUgUoF.cjs +21 -0
- package/build/component.styles-DWGUgUoF.cjs.map +1 -0
- package/build/{component.styles-DX_3POUD.js → component.styles-DjoG6jr2.js} +3 -3
- package/build/{component.styles-DX_3POUD.js.map → component.styles-DjoG6jr2.js.map} +1 -1
- package/build/{component.styles-Bfhg18CX.cjs → component.styles-Dpo373cZ.cjs} +2 -2
- package/build/{component.styles-Bfhg18CX.cjs.map → component.styles-Dpo373cZ.cjs.map} +1 -1
- package/build/{component.styles-v0YYECwW.js → component.styles-VrNFgg1_.js} +32 -12
- package/build/component.styles-VrNFgg1_.js.map +1 -0
- package/build/{component.styles-DhAMCZ71.cjs → component.styles-ZU_GyVub.cjs} +2 -2
- package/build/{component.styles-DhAMCZ71.cjs.map → component.styles-ZU_GyVub.cjs.map} +1 -1
- package/build/component.styles-gZHy-64x.cjs +13 -0
- package/build/component.styles-gZHy-64x.cjs.map +1 -0
- package/build/{component.styles--Ug3PJQ6.cjs → component.styles-iHE8mmya.cjs} +7 -7
- package/build/{component.styles--Ug3PJQ6.cjs.map → component.styles-iHE8mmya.cjs.map} +1 -1
- package/build/component.styles-mhkAuWyU.cjs +225 -0
- package/build/component.styles-mhkAuWyU.cjs.map +1 -0
- package/build/component.styles-nl99kkS3.js +94 -0
- package/build/component.styles-nl99kkS3.js.map +1 -0
- package/build/{component.types-BzBjcohg.js → component.types-CSnoBg2y.js} +94 -67
- package/build/component.types-CSnoBg2y.js.map +1 -0
- package/build/component.types-CWp0NPUN.cjs +171 -0
- package/build/component.types-CWp0NPUN.cjs.map +1 -0
- package/build/context-app.cjs.js +1 -1
- package/build/context-app.es.js +1 -1
- package/build/context-dialog.cjs.js +1 -1
- package/build/context-dialog.d.ts +11 -4
- package/build/context-dialog.es.js +1 -1
- package/build/context-sonner.cjs.js +1 -1
- package/build/context-sonner.d.ts +42 -7
- package/build/context-sonner.es.js +1 -1
- package/build/context.constants-ByXsACU7.cjs +32 -0
- package/build/context.constants-ByXsACU7.cjs.map +1 -0
- package/build/context.constants-CTr1U0kI.cjs +98 -0
- package/build/context.constants-CTr1U0kI.cjs.map +1 -0
- package/build/{context.constants-B9Yk6CGe.js → context.constants-CvkvB0XC.js} +8 -5
- package/build/context.constants-CvkvB0XC.js.map +1 -0
- package/build/{context.constants-Bz_5itIx.js → context.constants-DRimaVcG.js} +26 -9
- package/build/context.constants-DRimaVcG.js.map +1 -0
- package/build/{context.hooks-BDEwJHqB.cjs → context.hooks-DOygH-Yj.cjs} +3 -3
- package/build/{context.hooks-BDEwJHqB.cjs.map → context.hooks-DOygH-Yj.cjs.map} +1 -1
- package/build/{context.hooks-DTdppyho.js → context.hooks-kga1DMrX.js} +4 -4
- package/build/{context.hooks-DTdppyho.js.map → context.hooks-kga1DMrX.js.map} +1 -1
- package/build/floating-ui.react--v70Xky9.cjs +2 -0
- package/build/floating-ui.react--v70Xky9.cjs.map +1 -0
- package/build/{component-BoHvC24Q.js → floating-ui.react-Byi6bLb1.js} +17 -704
- package/build/floating-ui.react-Byi6bLb1.js.map +1 -0
- package/build/index.cjs.js +1 -1
- package/build/index.d.ts +83 -89
- package/build/index.es.js +55 -53
- package/build/index.es.js.map +1 -1
- package/build/style-D3Lbn1EL.cjs +32 -0
- package/build/style-D3Lbn1EL.cjs.map +1 -0
- package/build/{style-mc2ST5fY.cjs → style-Df37KnoJ.cjs} +47 -18
- package/build/style-Df37KnoJ.cjs.map +1 -0
- package/build/{style-BgcnmVAY.js → style-RL73t3JD.js} +63 -20
- package/build/style-RL73t3JD.js.map +1 -0
- package/build/style-add.cjs.js +1 -1
- package/build/style-add.d.ts +57 -5
- package/build/style-add.es.js +11 -10
- package/build/style-error.cjs.js +1 -1
- package/build/style-error.d.ts +42 -1
- package/build/style-error.es.js +1 -1
- package/build/style-fRZ6xrVp.cjs.map +1 -1
- package/build/style-plT9Ah7t.js.map +1 -1
- package/build/style-theme.cjs.js +1 -1
- package/build/style-theme.d.ts +2 -2
- package/build/style-theme.es.js +1 -1
- package/build/{style-BQ653xOS.js → style-uVTmdhsH.js} +14 -5
- package/build/style-uVTmdhsH.js.map +1 -0
- package/build/{theme.global-CFUz5Asg.js → theme.global-BgERDJ4e.js} +36 -1
- package/build/theme.global-BgERDJ4e.js.map +1 -0
- package/build/{theme.global-B9t2Fi10.cjs → theme.global-CcoD5bPP.cjs} +2 -2
- package/build/theme.global-CcoD5bPP.cjs.map +1 -0
- package/build/{use-DTZ8c8_g.js → use-DLVWi2kS.js} +6 -6
- package/build/{use-DTZ8c8_g.js.map → use-DLVWi2kS.js.map} +1 -1
- package/build/{use-D7IsSb34.cjs → use-Dg449cuf.cjs} +2 -2
- package/build/{use-D7IsSb34.cjs.map → use-Dg449cuf.cjs.map} +1 -1
- package/package.json +1 -1
- package/build/component-BoHvC24Q.js.map +0 -1
- package/build/component-Bzw_uobM.js.map +0 -1
- package/build/component-C4ULY0c6.js.map +0 -1
- package/build/component-CACoGUK9.cjs +0 -251
- package/build/component-CACoGUK9.cjs.map +0 -1
- package/build/component-Dn-VRY7-.cjs +0 -2
- package/build/component-Dn-VRY7-.cjs.map +0 -1
- package/build/component-u_42PteJ.cjs +0 -90
- package/build/component-u_42PteJ.cjs.map +0 -1
- package/build/component.styles-5CVyEjEh.js.map +0 -1
- package/build/component.styles-5Xz_H-fR.js.map +0 -1
- package/build/component.styles-8tkaznu_.cjs +0 -21
- package/build/component.styles-8tkaznu_.cjs.map +0 -1
- package/build/component.styles-BuzZQhqS.cjs +0 -73
- package/build/component.styles-BuzZQhqS.cjs.map +0 -1
- package/build/component.styles-C1p3V7H6.js.map +0 -1
- package/build/component.styles-C3hYZJGh.js.map +0 -1
- package/build/component.styles-CISd4naT.cjs +0 -13
- package/build/component.styles-CISd4naT.cjs.map +0 -1
- package/build/component.styles-Cje8zTpf.cjs.map +0 -1
- package/build/component.styles-CpFA5YrM.js +0 -71
- package/build/component.styles-CpFA5YrM.js.map +0 -1
- package/build/component.styles-Crx4pACx.cjs +0 -137
- package/build/component.styles-Db3HLiuV.cjs +0 -99
- package/build/component.styles-Db3HLiuV.cjs.map +0 -1
- package/build/component.styles-o7GmI4Ap.cjs +0 -225
- package/build/component.styles-o7GmI4Ap.cjs.map +0 -1
- package/build/component.styles-v0YYECwW.js.map +0 -1
- package/build/component.types-BzBjcohg.js.map +0 -1
- package/build/component.types-ydMLhabS.cjs +0 -174
- package/build/component.types-ydMLhabS.cjs.map +0 -1
- package/build/context.constants-B9Yk6CGe.js.map +0 -1
- package/build/context.constants-Bz_5itIx.js.map +0 -1
- package/build/context.constants-CTfUKury.cjs +0 -32
- package/build/context.constants-CTfUKury.cjs.map +0 -1
- package/build/context.constants-CV8ycctl.cjs +0 -100
- package/build/context.constants-CV8ycctl.cjs.map +0 -1
- package/build/style-B5u4pW5G.cjs +0 -32
- package/build/style-B5u4pW5G.cjs.map +0 -1
- package/build/style-BQ653xOS.js.map +0 -1
- package/build/style-BgcnmVAY.js.map +0 -1
- package/build/style-mc2ST5fY.cjs.map +0 -1
- package/build/theme.global-B9t2Fi10.cjs.map +0 -1
- package/build/theme.global-CFUz5Asg.js.map +0 -1
|
@@ -1,33 +1,39 @@
|
|
|
1
1
|
import { j as jsxRuntimeExports } from "./jsx-runtime-BrDlu8eK.js";
|
|
2
|
-
import { b as KEY_SIZE_DATA_TOGGLE } from "./theme.global-
|
|
2
|
+
import { b as KEY_SIZE_DATA_TOGGLE } from "./theme.global-BgERDJ4e.js";
|
|
3
3
|
import { useMemo } from "react";
|
|
4
|
-
import { b as addTransition,
|
|
5
|
-
import { a as addError } from "./style-
|
|
4
|
+
import { b as addTransition, g as addOutline, l as addDisabled } from "./style-RL73t3JD.js";
|
|
5
|
+
import { a as addError } from "./style-uVTmdhsH.js";
|
|
6
6
|
import { motion } from "framer-motion";
|
|
7
7
|
import styled, { css } from "styled-components";
|
|
8
8
|
const Toggle = (props) => {
|
|
9
|
-
const toggleVariants = useMemo(
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
9
|
+
const toggleVariants = useMemo(
|
|
10
|
+
() => ({
|
|
11
|
+
tap: {
|
|
12
|
+
width: KEY_SIZE_DATA_TOGGLE[props.size].thumb + 4,
|
|
13
|
+
translateX: props.value ? KEY_SIZE_DATA_TOGGLE[props.size].width - KEY_SIZE_DATA_TOGGLE[props.size].thumb - KEY_SIZE_DATA_TOGGLE[props.size].padding * 3 - 4 : 0,
|
|
14
|
+
transition: {
|
|
15
|
+
duration: 0.05
|
|
16
|
+
}
|
|
17
|
+
},
|
|
18
|
+
checked: {
|
|
19
|
+
translateX: KEY_SIZE_DATA_TOGGLE[props.size].width - KEY_SIZE_DATA_TOGGLE[props.size].thumb - KEY_SIZE_DATA_TOGGLE[props.size].padding * 3,
|
|
20
|
+
transition: { ease: "circInOut", duration: 0.05 }
|
|
21
|
+
},
|
|
22
|
+
unchecked: {
|
|
23
|
+
translateX: 0,
|
|
24
|
+
transition: { ease: "circInOut", duration: 0.05 }
|
|
15
25
|
}
|
|
16
|
-
},
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
transition: { ease: "circInOut", duration: 0.05 }
|
|
20
|
-
},
|
|
21
|
-
unchecked: {
|
|
22
|
-
translateX: 0,
|
|
23
|
-
transition: { ease: "circInOut", duration: 0.05 }
|
|
24
|
-
}
|
|
25
|
-
}), [props.size, props.value]);
|
|
26
|
+
}),
|
|
27
|
+
[props.size, props.value]
|
|
28
|
+
);
|
|
26
29
|
return /* @__PURE__ */ jsxRuntimeExports.jsx(
|
|
27
30
|
ToggleWrapper,
|
|
28
31
|
{
|
|
29
32
|
$genre: props.genre,
|
|
30
33
|
$isDisabled: props.isDisabled,
|
|
34
|
+
$isDisabledOutline: props.isDisabled ?? props.isDisabledOutline,
|
|
35
|
+
$isOutlineBoxShadow: props.isOutlineBoxShadow,
|
|
36
|
+
$isReadOnly: props.isReadOnly,
|
|
31
37
|
$value: props.value,
|
|
32
38
|
$size: props.size,
|
|
33
39
|
$error: props.error,
|
|
@@ -128,4 +134,4 @@ export {
|
|
|
128
134
|
ToggleWrapper as a,
|
|
129
135
|
ToggleCenter as b
|
|
130
136
|
};
|
|
131
|
-
//# sourceMappingURL=component.styles-
|
|
137
|
+
//# sourceMappingURL=component.styles-B0FFHGeN.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"component.styles-B0FFHGeN.js","sources":["../src/components/toggle/component.tsx","../src/components/toggle/component.styles.ts"],"sourcesContent":["import { KEY_SIZE_DATA_TOGGLE } from '@local/theme';\n\nimport { useMemo } from 'react';\n\nimport { ToggleCenter, ToggleProps, ToggleWrapper } from '.';\n\nexport const Toggle = (props: ToggleProps) => {\n const toggleVariants = useMemo(\n () => ({\n tap: {\n width: KEY_SIZE_DATA_TOGGLE[props.size].thumb + 4,\n translateX: props.value\n ? KEY_SIZE_DATA_TOGGLE[props.size].width -\n KEY_SIZE_DATA_TOGGLE[props.size].thumb -\n KEY_SIZE_DATA_TOGGLE[props.size].padding * 3 -\n 4\n : 0,\n transition: {\n duration: 0.05,\n },\n },\n checked: {\n translateX:\n KEY_SIZE_DATA_TOGGLE[props.size].width -\n KEY_SIZE_DATA_TOGGLE[props.size].thumb -\n KEY_SIZE_DATA_TOGGLE[props.size].padding * 3,\n transition: { ease: 'circInOut', duration: 0.05 },\n },\n unchecked: {\n translateX: 0,\n transition: { ease: 'circInOut', duration: 0.05 },\n },\n }),\n [props.size, props.value],\n );\n\n return (\n <ToggleWrapper\n $genre={props.genre}\n $isDisabled={props.isDisabled}\n $isDisabledOutline={props.isDisabled ?? props.isDisabledOutline}\n $isOutlineBoxShadow={props.isOutlineBoxShadow}\n $isReadOnly={props.isReadOnly}\n $value={props.value}\n $size={props.size}\n $error={props.error}\n tabIndex={0}\n onClick={() => props.onChange?.(!props.value)}\n whileTap='tap'\n animate={props.value ? 'checked' : 'unchecked'}\n onKeyDown={(e) => {\n if (e.key === 'Enter') props.onChange?.(!props.value);\n }}\n >\n <ToggleCenter\n variants={toggleVariants}\n $genre={props.genre}\n $isDisabled={props.isDisabled}\n $value={props.value}\n $size={props.size}\n $error={props.error}\n />\n </ToggleWrapper>\n );\n};\n","import { addDisabled, addOutline, addTransition } from '@local/styles/add';\nimport { addError } from '@local/styles/error';\nimport { KEY_SIZE_DATA_TOGGLE } from '@local/theme';\n\nimport { motion } from 'framer-motion';\nimport styled, { css } from 'styled-components';\n\nimport { StyledToggleProps } from '.';\n\n/****************************************** Add *************************************************/\nconst addToggleWrapperSize = css<StyledToggleProps>`\n ${(props) => css`\n height: ${KEY_SIZE_DATA_TOGGLE[props.$size].height}px;\n width: ${KEY_SIZE_DATA_TOGGLE[props.$size].width}px;\n padding: ${KEY_SIZE_DATA_TOGGLE[props.$size].padding}px;\n border-radius: 100px;\n `};\n`;\n\nconst addToggleCenterSize = css<StyledToggleProps>`\n ${(props) => css`\n height: ${KEY_SIZE_DATA_TOGGLE[props.$size].thumb}px;\n width: ${KEY_SIZE_DATA_TOGGLE[props.$size].thumb}px;\n border-radius: 100px;\n `}\n`;\n/****************************************** Standard *************************************************/\nexport const ToggleWrapper = styled(motion.div)<StyledToggleProps>`\n cursor: pointer;\n border: 1px solid transparent;\n\n display: flex;\n align-items: center;\n\n ${addToggleWrapperSize};\n ${addTransition};\n ${addOutline};\n ${addDisabled};\n\n ${(props) =>\n props.$value\n ? css`\n background: ${props.theme.colors.toggle[props.$genre].active.rest.track};\n border-color: ${props.theme.colors.toggle[props.$genre].active.rest.border};\n justify-content: flex-start;\n &:hover {\n background: ${props.theme.colors.toggle[props.$genre].active.hover.track};\n border-color: ${props.theme.colors.toggle[props.$genre].active.hover.border};\n }\n `\n : css`\n background: ${props.theme.colors.toggle[props.$genre].unActive.rest.track};\n border-color: ${props.theme.colors.toggle[props.$genre].unActive.rest.border};\n justify-content: flex-start;\n &:hover {\n background: ${props.theme.colors.toggle[props.$genre].unActive.hover.track};\n border-color: ${props.theme.colors.toggle[props.$genre].unActive.hover.border};\n }\n `};\n\n ${addError};\n`;\n\nexport const ToggleCenter = styled(motion.div)<StyledToggleProps>`\n ${addToggleCenterSize};\n ${addTransition};\n\n ${(props) =>\n props.$value\n ? css`\n background: ${props.theme.colors.toggle[props.$genre].active.rest.thumb};\n box-shadow: ${props.theme.colors.toggle[props.$genre].active.rest.thumbBoxShadow};\n &:hover {\n background: ${props.theme.colors.toggle[props.$genre].active.hover.thumb};\n box-shadow: ${props.theme.colors.toggle[props.$genre].active.hover.thumbBoxShadow};\n }\n `\n : css`\n background: ${props.theme.colors.toggle[props.$genre].unActive.rest.thumb};\n box-shadow: ${props.theme.colors.toggle[props.$genre].unActive.rest.thumbBoxShadow};\n &:hover {\n background: ${props.theme.colors.toggle[props.$genre].unActive.hover.thumb};\n box-shadow: ${props.theme.colors.toggle[props.$genre].unActive.hover.thumbBoxShadow};\n }\n `}\n`;\n"],"names":["jsx"],"mappings":"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"}
|
|
@@ -1,12 +1,13 @@
|
|
|
1
1
|
import { j as jsxRuntimeExports } from "./jsx-runtime-BrDlu8eK.js";
|
|
2
|
-
import { b as ErrorMessage } from "./style-
|
|
2
|
+
import { b as ErrorMessage } from "./style-uVTmdhsH.js";
|
|
3
3
|
import { useState, useRef, useCallback } from "react";
|
|
4
|
-
import { I as Input } from "./component-
|
|
5
|
-
import "./component.styles-
|
|
4
|
+
import { I as Input } from "./component-DaXKDHnc.js";
|
|
5
|
+
import "./component.styles-BbwS_Ekx.js";
|
|
6
6
|
import styled, { css } from "styled-components";
|
|
7
7
|
import { a as addSX } from "./style-plT9Ah7t.js";
|
|
8
|
-
import { K as KEY_SIZE_DATA } from "./theme.global-
|
|
8
|
+
import { K as KEY_SIZE_DATA } from "./theme.global-BgERDJ4e.js";
|
|
9
9
|
const InputOTP = (props) => {
|
|
10
|
+
var _a;
|
|
10
11
|
const [otp, setOtp] = useState(new Array(props.length).fill(""));
|
|
11
12
|
const inputsRef = useRef([]);
|
|
12
13
|
const wrapperRef = useRef(null);
|
|
@@ -17,7 +18,7 @@ const InputOTP = (props) => {
|
|
|
17
18
|
const digits = pasteData.replace(/\D/g, "").split("");
|
|
18
19
|
if (!digits.length) return;
|
|
19
20
|
setOtp((prevOtp) => {
|
|
20
|
-
var
|
|
21
|
+
var _a2, _b;
|
|
21
22
|
const newOtp = [...prevOtp];
|
|
22
23
|
let currentIndex = index;
|
|
23
24
|
for (let i = 0; i < digits.length && currentIndex < newOtp.length; i++) {
|
|
@@ -25,15 +26,15 @@ const InputOTP = (props) => {
|
|
|
25
26
|
currentIndex++;
|
|
26
27
|
}
|
|
27
28
|
const joined = newOtp.join("");
|
|
28
|
-
(
|
|
29
|
+
(_a2 = props.onChange) == null ? void 0 : _a2.call(props, joined);
|
|
29
30
|
if (newOtp.every((char) => char !== "")) {
|
|
30
31
|
(_b = props.onComplete) == null ? void 0 : _b.call(props, joined);
|
|
31
32
|
}
|
|
32
33
|
setTimeout(() => {
|
|
33
|
-
var
|
|
34
|
+
var _a3, _b2;
|
|
34
35
|
const firstEmpty = newOtp.findIndex((char) => char === "");
|
|
35
36
|
if (firstEmpty !== -1) {
|
|
36
|
-
(
|
|
37
|
+
(_a3 = inputsRef.current[firstEmpty]) == null ? void 0 : _a3.focus();
|
|
37
38
|
} else if (currentIndex < newOtp.length) {
|
|
38
39
|
(_b2 = inputsRef.current[currentIndex]) == null ? void 0 : _b2.focus();
|
|
39
40
|
}
|
|
@@ -47,19 +48,19 @@ const InputOTP = (props) => {
|
|
|
47
48
|
(index, value) => {
|
|
48
49
|
if (!/^\d*$/.test(value)) return;
|
|
49
50
|
setOtp((prevOtp) => {
|
|
50
|
-
var
|
|
51
|
+
var _a2;
|
|
51
52
|
const newOtp = [...prevOtp];
|
|
52
53
|
newOtp[index] = value.slice(-1);
|
|
53
54
|
if (props.onChange) {
|
|
54
55
|
props.onChange(newOtp.join(""));
|
|
55
56
|
}
|
|
56
57
|
if (newOtp.every((char) => char !== "")) {
|
|
57
|
-
(
|
|
58
|
+
(_a2 = props.onComplete) == null ? void 0 : _a2.call(props, newOtp.join(""));
|
|
58
59
|
}
|
|
59
60
|
if (value && index < prevOtp.length - 1) {
|
|
60
61
|
setTimeout(() => {
|
|
61
|
-
var
|
|
62
|
-
(
|
|
62
|
+
var _a3;
|
|
63
|
+
(_a3 = inputsRef.current[index + 1]) == null ? void 0 : _a3.focus();
|
|
63
64
|
}, 0);
|
|
64
65
|
}
|
|
65
66
|
return newOtp;
|
|
@@ -113,16 +114,16 @@ const InputOTP = (props) => {
|
|
|
113
114
|
ref: wrapperRef,
|
|
114
115
|
onBlur: (e) => {
|
|
115
116
|
setTimeout(() => {
|
|
116
|
-
var
|
|
117
|
+
var _a2;
|
|
117
118
|
if (wrapperRef.current && !wrapperRef.current.contains(document.activeElement)) {
|
|
118
|
-
(
|
|
119
|
+
(_a2 = props.onBlur) == null ? void 0 : _a2.call(props, e);
|
|
119
120
|
}
|
|
120
121
|
}, 0);
|
|
121
122
|
},
|
|
122
123
|
onFocus: (e) => {
|
|
123
124
|
setTimeout(() => {
|
|
124
|
-
var
|
|
125
|
-
if ((
|
|
125
|
+
var _a2, _b;
|
|
126
|
+
if ((_a2 = wrapperRef.current) == null ? void 0 : _a2.contains(document.activeElement)) {
|
|
126
127
|
(_b = props.onFocus) == null ? void 0 : _b.call(props, e);
|
|
127
128
|
}
|
|
128
129
|
}, 0);
|
|
@@ -146,13 +147,25 @@ const InputOTP = (props) => {
|
|
|
146
147
|
onChange: (value) => handleChange(index, value),
|
|
147
148
|
onKeyDown: (e) => handleKeyDown(index, e),
|
|
148
149
|
genre: props.genre,
|
|
149
|
-
size: props.size
|
|
150
|
+
size: props.size,
|
|
151
|
+
font: props.font
|
|
150
152
|
},
|
|
151
153
|
index
|
|
152
154
|
))
|
|
153
155
|
}
|
|
154
156
|
),
|
|
155
|
-
(props == null ? void 0 : props.error) ? /* @__PURE__ */ jsxRuntimeExports.jsx(
|
|
157
|
+
(props == null ? void 0 : props.error) ? /* @__PURE__ */ jsxRuntimeExports.jsx(
|
|
158
|
+
ErrorMessage,
|
|
159
|
+
{
|
|
160
|
+
...props.error,
|
|
161
|
+
size: (props == null ? void 0 : props.error.size) ?? props.size,
|
|
162
|
+
font: {
|
|
163
|
+
size: 12,
|
|
164
|
+
weight: 400,
|
|
165
|
+
family: (_a = props.font) == null ? void 0 : _a.family
|
|
166
|
+
}
|
|
167
|
+
}
|
|
168
|
+
) : null
|
|
156
169
|
] });
|
|
157
170
|
};
|
|
158
171
|
const InputOTPSize = css`
|
|
@@ -175,4 +188,4 @@ export {
|
|
|
175
188
|
InputOTPSizeConstructor as b,
|
|
176
189
|
InputOTPWrapper as c
|
|
177
190
|
};
|
|
178
|
-
//# sourceMappingURL=component.styles-
|
|
191
|
+
//# sourceMappingURL=component.styles-BDKsgd6y.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"component.styles-BDKsgd6y.js","sources":["../src/components/input-otp/component.tsx","../src/components/input-otp/component.styles.ts"],"sourcesContent":["import { ErrorMessage } from '@local/styles/error';\n\nimport { ClipboardEvent, FocusEvent, KeyboardEvent, useCallback, useRef, useState } from 'react';\n\nimport { Input } from '../input';\nimport { InputOTPProps, InputOTPWrapper } from '.';\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 onFocus={(e) => {\n setTimeout(() => {\n if (wrapperRef.current?.contains(document.activeElement)) {\n props.onFocus?.(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 font={props.font}\n />\n ))}\n </InputOTPWrapper>\n {props?.error ? (\n <ErrorMessage\n {...props.error}\n size={props?.error.size ?? props.size}\n font={{\n size: 12,\n weight: 400,\n family: props.font?.family,\n }}\n />\n ) : 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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"}
|
|
@@ -1,17 +1,17 @@
|
|
|
1
|
-
"use strict";const e=require("./jsx-runtime-BcGej2Kr.cjs"),r=require("./theme.global-
|
|
1
|
+
"use strict";const e=require("./jsx-runtime-BcGej2Kr.cjs"),r=require("./theme.global-CcoD5bPP.cjs"),o=require("react"),t=require("./style-Df37KnoJ.cjs"),s=require("./style-D3Lbn1EL.cjs"),i=require("framer-motion"),n=require("styled-components"),a=n.css`
|
|
2
2
|
${e=>n.css`
|
|
3
3
|
height: ${r.KEY_SIZE_DATA_TOGGLE[e.$size].height}px;
|
|
4
4
|
width: ${r.KEY_SIZE_DATA_TOGGLE[e.$size].width}px;
|
|
5
5
|
padding: ${r.KEY_SIZE_DATA_TOGGLE[e.$size].padding}px;
|
|
6
6
|
border-radius: 100px;
|
|
7
7
|
`};
|
|
8
|
-
`,
|
|
8
|
+
`,l=n.css`
|
|
9
9
|
${e=>n.css`
|
|
10
10
|
height: ${r.KEY_SIZE_DATA_TOGGLE[e.$size].thumb}px;
|
|
11
11
|
width: ${r.KEY_SIZE_DATA_TOGGLE[e.$size].thumb}px;
|
|
12
12
|
border-radius: 100px;
|
|
13
13
|
`}
|
|
14
|
-
`,
|
|
14
|
+
`,c=n(i.motion.div)`
|
|
15
15
|
cursor: pointer;
|
|
16
16
|
border: 1px solid transparent;
|
|
17
17
|
|
|
@@ -42,8 +42,8 @@
|
|
|
42
42
|
`};
|
|
43
43
|
|
|
44
44
|
${s.addError};
|
|
45
|
-
`,
|
|
46
|
-
${
|
|
45
|
+
`,d=n(i.motion.div)`
|
|
46
|
+
${l};
|
|
47
47
|
${t.addTransition};
|
|
48
48
|
|
|
49
49
|
${e=>e.$value?n.css`
|
|
@@ -61,5 +61,5 @@
|
|
|
61
61
|
box-shadow: ${e.theme.colors.toggle[e.$genre].unActive.hover.thumbBoxShadow};
|
|
62
62
|
}
|
|
63
63
|
`}
|
|
64
|
-
`;exports.Toggle=t=>{const s=o.useMemo(()=>({tap:{width:r.KEY_SIZE_DATA_TOGGLE[t.size].thumb+4,translateX:t.value?r.KEY_SIZE_DATA_TOGGLE[t.size].width-r.KEY_SIZE_DATA_TOGGLE[t.size].thumb-3*r.KEY_SIZE_DATA_TOGGLE[t.size].padding-4:0,transition:{duration:.05}},checked:{translateX:r.KEY_SIZE_DATA_TOGGLE[t.size].width-r.KEY_SIZE_DATA_TOGGLE[t.size].thumb-3*r.KEY_SIZE_DATA_TOGGLE[t.size].padding,transition:{ease:"circInOut",duration:.05}},unchecked:{translateX:0,transition:{ease:"circInOut",duration:.05}}}),[t.size,t.value]);return e.jsxRuntimeExports.jsx(
|
|
65
|
-
//# sourceMappingURL=component.styles-
|
|
64
|
+
`;exports.Toggle=t=>{const s=o.useMemo(()=>({tap:{width:r.KEY_SIZE_DATA_TOGGLE[t.size].thumb+4,translateX:t.value?r.KEY_SIZE_DATA_TOGGLE[t.size].width-r.KEY_SIZE_DATA_TOGGLE[t.size].thumb-3*r.KEY_SIZE_DATA_TOGGLE[t.size].padding-4:0,transition:{duration:.05}},checked:{translateX:r.KEY_SIZE_DATA_TOGGLE[t.size].width-r.KEY_SIZE_DATA_TOGGLE[t.size].thumb-3*r.KEY_SIZE_DATA_TOGGLE[t.size].padding,transition:{ease:"circInOut",duration:.05}},unchecked:{translateX:0,transition:{ease:"circInOut",duration:.05}}}),[t.size,t.value]);return e.jsxRuntimeExports.jsx(c,{$genre:t.genre,$isDisabled:t.isDisabled,$isDisabledOutline:t.isDisabled??t.isDisabledOutline,$isOutlineBoxShadow:t.isOutlineBoxShadow,$isReadOnly:t.isReadOnly,$value:t.value,$size:t.size,$error:t.error,tabIndex:0,onClick:()=>{var e;return null==(e=t.onChange)?void 0:e.call(t,!t.value)},whileTap:"tap",animate:t.value?"checked":"unchecked",onKeyDown:e=>{var r;"Enter"===e.key&&(null==(r=t.onChange)||r.call(t,!t.value))},children:e.jsxRuntimeExports.jsx(d,{variants:s,$genre:t.genre,$isDisabled:t.isDisabled,$value:t.value,$size:t.size,$error:t.error})})},exports.ToggleCenter=d,exports.ToggleWrapper=c;
|
|
65
|
+
//# sourceMappingURL=component.styles-BELwxHxh.cjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"component.styles-BELwxHxh.cjs","sources":["../src/components/toggle/component.styles.ts","../src/components/toggle/component.tsx"],"sourcesContent":["import { addDisabled, addOutline, addTransition } from '@local/styles/add';\nimport { addError } from '@local/styles/error';\nimport { KEY_SIZE_DATA_TOGGLE } from '@local/theme';\n\nimport { motion } from 'framer-motion';\nimport styled, { css } from 'styled-components';\n\nimport { StyledToggleProps } from '.';\n\n/****************************************** Add *************************************************/\nconst addToggleWrapperSize = css<StyledToggleProps>`\n ${(props) => css`\n height: ${KEY_SIZE_DATA_TOGGLE[props.$size].height}px;\n width: ${KEY_SIZE_DATA_TOGGLE[props.$size].width}px;\n padding: ${KEY_SIZE_DATA_TOGGLE[props.$size].padding}px;\n border-radius: 100px;\n `};\n`;\n\nconst addToggleCenterSize = css<StyledToggleProps>`\n ${(props) => css`\n height: ${KEY_SIZE_DATA_TOGGLE[props.$size].thumb}px;\n width: ${KEY_SIZE_DATA_TOGGLE[props.$size].thumb}px;\n border-radius: 100px;\n `}\n`;\n/****************************************** Standard *************************************************/\nexport const ToggleWrapper = styled(motion.div)<StyledToggleProps>`\n cursor: pointer;\n border: 1px solid transparent;\n\n display: flex;\n align-items: center;\n\n ${addToggleWrapperSize};\n ${addTransition};\n ${addOutline};\n ${addDisabled};\n\n ${(props) =>\n props.$value\n ? css`\n background: ${props.theme.colors.toggle[props.$genre].active.rest.track};\n border-color: ${props.theme.colors.toggle[props.$genre].active.rest.border};\n justify-content: flex-start;\n &:hover {\n background: ${props.theme.colors.toggle[props.$genre].active.hover.track};\n border-color: ${props.theme.colors.toggle[props.$genre].active.hover.border};\n }\n `\n : css`\n background: ${props.theme.colors.toggle[props.$genre].unActive.rest.track};\n border-color: ${props.theme.colors.toggle[props.$genre].unActive.rest.border};\n justify-content: flex-start;\n &:hover {\n background: ${props.theme.colors.toggle[props.$genre].unActive.hover.track};\n border-color: ${props.theme.colors.toggle[props.$genre].unActive.hover.border};\n }\n `};\n\n ${addError};\n`;\n\nexport const ToggleCenter = styled(motion.div)<StyledToggleProps>`\n ${addToggleCenterSize};\n ${addTransition};\n\n ${(props) =>\n props.$value\n ? css`\n background: ${props.theme.colors.toggle[props.$genre].active.rest.thumb};\n box-shadow: ${props.theme.colors.toggle[props.$genre].active.rest.thumbBoxShadow};\n &:hover {\n background: ${props.theme.colors.toggle[props.$genre].active.hover.thumb};\n box-shadow: ${props.theme.colors.toggle[props.$genre].active.hover.thumbBoxShadow};\n }\n `\n : css`\n background: ${props.theme.colors.toggle[props.$genre].unActive.rest.thumb};\n box-shadow: ${props.theme.colors.toggle[props.$genre].unActive.rest.thumbBoxShadow};\n &:hover {\n background: ${props.theme.colors.toggle[props.$genre].unActive.hover.thumb};\n box-shadow: ${props.theme.colors.toggle[props.$genre].unActive.hover.thumbBoxShadow};\n }\n `}\n`;\n","import { KEY_SIZE_DATA_TOGGLE } from '@local/theme';\n\nimport { useMemo } from 'react';\n\nimport { ToggleCenter, ToggleProps, ToggleWrapper } from '.';\n\nexport const Toggle = (props: ToggleProps) => {\n const toggleVariants = useMemo(\n () => ({\n tap: {\n width: KEY_SIZE_DATA_TOGGLE[props.size].thumb + 4,\n translateX: props.value\n ? KEY_SIZE_DATA_TOGGLE[props.size].width -\n KEY_SIZE_DATA_TOGGLE[props.size].thumb -\n KEY_SIZE_DATA_TOGGLE[props.size].padding * 3 -\n 4\n : 0,\n transition: {\n duration: 0.05,\n },\n },\n checked: {\n translateX:\n KEY_SIZE_DATA_TOGGLE[props.size].width -\n KEY_SIZE_DATA_TOGGLE[props.size].thumb -\n KEY_SIZE_DATA_TOGGLE[props.size].padding * 3,\n transition: { ease: 'circInOut', duration: 0.05 },\n },\n unchecked: {\n translateX: 0,\n transition: { ease: 'circInOut', duration: 0.05 },\n },\n }),\n [props.size, props.value],\n );\n\n return (\n <ToggleWrapper\n $genre={props.genre}\n $isDisabled={props.isDisabled}\n $isDisabledOutline={props.isDisabled ?? props.isDisabledOutline}\n $isOutlineBoxShadow={props.isOutlineBoxShadow}\n $isReadOnly={props.isReadOnly}\n $value={props.value}\n $size={props.size}\n $error={props.error}\n tabIndex={0}\n onClick={() => props.onChange?.(!props.value)}\n whileTap='tap'\n animate={props.value ? 'checked' : 'unchecked'}\n onKeyDown={(e) => {\n if (e.key === 'Enter') props.onChange?.(!props.value);\n }}\n >\n <ToggleCenter\n variants={toggleVariants}\n $genre={props.genre}\n $isDisabled={props.isDisabled}\n $value={props.value}\n $size={props.size}\n $error={props.error}\n />\n </ToggleWrapper>\n );\n};\n"],"names":["addToggleWrapperSize","css","props","KEY_SIZE_DATA_TOGGLE","$size","height","width","padding","addToggleCenterSize","thumb","ToggleWrapper","styled","motion","div","addTransition","addOutline","addDisabled","$value","theme","colors","toggle","$genre","active","rest","track","border","hover","unActive","addError","ToggleCenter","thumbBoxShadow","toggleVariants","useMemo","tap","size","translateX","value","transition","duration","checked","ease","unchecked","jsx","genre","$isDisabled","isDisabled","$isDisabledOutline","isDisabledOutline","$isOutlineBoxShadow","isOutlineBoxShadow","$isReadOnly","isReadOnly","$error","error","tabIndex","onClick","_a","onChange","call","whileTap","animate","onKeyDown","e","key","children","variants"],"mappings":"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"}
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import { j as jsxRuntimeExports } from "./jsx-runtime-BrDlu8eK.js";
|
|
2
2
|
import { useCallback, useMemo } from "react";
|
|
3
3
|
import styled, { useTheme } from "styled-components";
|
|
4
|
-
import { a as addError } from "./style-
|
|
4
|
+
import { a as addError } from "./style-uVTmdhsH.js";
|
|
5
5
|
import { a as addSX } from "./style-plT9Ah7t.js";
|
|
6
6
|
const Range = (props) => {
|
|
7
7
|
const { onChange } = props;
|
|
@@ -123,4 +123,4 @@ export {
|
|
|
123
123
|
RangeTrack as b,
|
|
124
124
|
RangeThumb as c
|
|
125
125
|
};
|
|
126
|
-
//# sourceMappingURL=component.styles-
|
|
126
|
+
//# sourceMappingURL=component.styles-BGYbrzvh.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"component.styles-
|
|
1
|
+
{"version":3,"file":"component.styles-BGYbrzvh.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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"}
|