@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
|
@@ -0,0 +1,73 @@
|
|
|
1
|
+
"use strict";const e=require("./jsx-runtime-BcGej2Kr.cjs"),r=require("./style-D3Lbn1EL.cjs"),o=require("./theme.global-CcoD5bPP.cjs"),s=require("react"),i=require("styled-components"),t=require("./component.styles-BKnUDWqO.cjs"),n=require("./component.styles-Dpg-__rn.cjs"),c=require("./component-CLqcB5mM.cjs"),d=require("./component-C67KboOB.cjs"),l=require("./style-Df37KnoJ.cjs"),a=require("./style-fRZ6xrVp.cjs"),h=i.css`
|
|
2
|
+
${e=>x({...o.KEY_SIZE_DATA[e.$size],isWidthAsHeight:e.$isWidthAsHeight})};
|
|
3
|
+
`,x=e=>i.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
|
+
padding: ${e.padding-4}px;
|
|
9
|
+
${e.isWidthAsHeight&&i.css`
|
|
10
|
+
width: ${e.height}px;
|
|
11
|
+
min-width: ${e.height}px;
|
|
12
|
+
padding: 0px;
|
|
13
|
+
`};
|
|
14
|
+
`,$=i.css`
|
|
15
|
+
${e=>i.css`
|
|
16
|
+
background: ${e.theme.colors.checkbox[e.$genre].background.rest};
|
|
17
|
+
border-color: ${e.theme.colors.checkbox[e.$genre].border.rest};
|
|
18
|
+
color: ${e.theme.colors.checkbox[e.$genre].color.rest};
|
|
19
|
+
&:hover {
|
|
20
|
+
background: ${e.theme.colors.checkbox[e.$genre].background.hover};
|
|
21
|
+
border-color: ${e.theme.colors.checkbox[e.$genre].border.hover};
|
|
22
|
+
color: ${e.theme.colors.checkbox[e.$genre].color.hover};
|
|
23
|
+
}
|
|
24
|
+
`};
|
|
25
|
+
`,p=i.css`
|
|
26
|
+
${l.addDisabled};
|
|
27
|
+
${e=>e.$isDisabled?i.css`
|
|
28
|
+
background: ${e.theme.colors.checkbox[e.$genre].background.rest} !important;
|
|
29
|
+
border-color: ${e.theme.colors.checkbox[e.$genre].border.rest} !important;
|
|
30
|
+
color: ${e.theme.colors.checkbox[e.$genre].color.rest} !important;
|
|
31
|
+
`:""}
|
|
32
|
+
`,u=i.css`
|
|
33
|
+
${e=>e.$isHiddenBorder&&i.css`
|
|
34
|
+
border-color: transparent !important;
|
|
35
|
+
`}
|
|
36
|
+
`,g=i.button`
|
|
37
|
+
display: flex;
|
|
38
|
+
align-items: center;
|
|
39
|
+
justify-content: flex-start;
|
|
40
|
+
border: 1px solid transparent;
|
|
41
|
+
user-select: none;
|
|
42
|
+
cursor: pointer;
|
|
43
|
+
background-color: ${e=>e.$isNotBackground&&"transparent"};
|
|
44
|
+
|
|
45
|
+
${n.addRippleDefault};
|
|
46
|
+
${l.addTransition};
|
|
47
|
+
${$};
|
|
48
|
+
${u};
|
|
49
|
+
${h};
|
|
50
|
+
${p}
|
|
51
|
+
${l.addOutline};
|
|
52
|
+
${l.addFont};
|
|
53
|
+
${r.addError};
|
|
54
|
+
${d.addSXTypography};
|
|
55
|
+
${a.addSX};
|
|
56
|
+
`,b=i(t.Icon)`
|
|
57
|
+
${e=>e.$checked?i.css`
|
|
58
|
+
& #check {
|
|
59
|
+
color: inherit;
|
|
60
|
+
}
|
|
61
|
+
& #uncheck {
|
|
62
|
+
color: transparent;
|
|
63
|
+
}
|
|
64
|
+
`:i.css`
|
|
65
|
+
& #check {
|
|
66
|
+
color: transparent;
|
|
67
|
+
}
|
|
68
|
+
& #uncheck {
|
|
69
|
+
color: inherit;
|
|
70
|
+
}
|
|
71
|
+
`}
|
|
72
|
+
`;exports.Checkbox=n=>{var d,l,a,h,x;const $=s.useCallback(e=>{var r;null==(r=n.onChange)||r.call(n,e)},[n.onChange]),p=i.useTheme(),u=s.useMemo(()=>e.jsxRuntimeExports.jsxs(e.jsxRuntimeExports.Fragment,{children:[e.jsxRuntimeExports.jsx(b,{size:n.sizeIcon||n.size,name:n.view,type:"checkbox",order:n.iconOrder,$genre:n.genre,$checked:n.checked}),n.children&&n.children]}),[n.checked,n.children,n.genre,n.iconOrder,n.size,n.sizeIcon,n.view]),m=e.jsxRuntimeExports.jsx(t.Icon,{size:n.size,type:"loading",name:"Line"});return e.jsxRuntimeExports.jsxs(e.jsxRuntimeExports.Fragment,{children:[e.jsxRuntimeExports.jsxs(g,{type:"button",$genre:n.genre,$error:n.error,$view:n.view,$font:{size:(null==(d=n.font)?void 0:d.size)??o.KEY_SIZE_DATA[n.size].font,weight:(null==(l=n.font)?void 0:l.weight)??700,family:(null==(a=n.font)?void 0:a.family)??p.font.family,height:null==(h=n.font)?void 0:h.height},$checked:n.checked,$isWidthAsHeight:n.isWidthAsHeight,$size:n.size,$isDisabled:n.isDisabled,$isHiddenBorder:n.isHiddenBorder,$isNotBackground:n.isNotBackground,$sx:n.sx,$sxTypography:n.sxTypography,$isDisabledOutline:n.isDisabled??n.isDisabledOutline,$isOutlineBoxShadow:n.isOutlineBoxShadow,$isReadOnly:n.isReadOnly,disabled:n.isDisabled,tabIndex:0,onClick:()=>!n.isDisabled&&$(!n.checked),children:[e.jsxRuntimeExports.jsx(c.Ripple,{color:p.colors.checkbox[n.genre].color.rest,isDisabled:n.isDisabled}),n.isOnlyLoading?n.isLoading?m:u:e.jsxRuntimeExports.jsxs(e.jsxRuntimeExports.Fragment,{children:[u,n.isLoading&&m]})]}),(null==n?void 0:n.error)?e.jsxRuntimeExports.jsx(r.ErrorMessage,{...n.error,size:(null==n?void 0:n.error.size)??n.size,font:{size:12,weight:400,family:(null==(x=n.font)?void 0:x.family)??p.font.family}}):null]})},exports.CheckboxGenre=$,exports.CheckboxSize=h,exports.CheckboxSizeConstructor=x,exports.CheckboxWrapper=g,exports.StyledIcon=b;
|
|
73
|
+
//# sourceMappingURL=component.styles-BpvpyZax.cjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"component.styles-BpvpyZax.cjs","sources":["../src/components/checkbox/component.styles.ts","../src/components/checkbox/component.tsx"],"sourcesContent":["import { Icon } from '@local/components/icon';\nimport { addSXTypography } from '@local/components/typography';\nimport { addDisabled, addFont, 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 styled, { css } from 'styled-components';\n\nimport { addRippleDefault } from '../ripple';\nimport { StyledCheckboxProps, StyledIconProps } from '.';\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 padding: ${props.padding - 4}px;\n ${\n props.isWidthAsHeight &&\n css`\n width: ${props.height}px;\n min-width: ${props.height}px;\n padding: 0px;\n `\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 addCheckboxDisabled = css<StyledCheckboxProps>`\n ${addDisabled};\n ${(props) =>\n props.$isDisabled\n ? css`\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 : ''}\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 ${CheckboxHiddenBorder};\n ${CheckboxSize};\n ${addCheckboxDisabled}\n ${addOutline};\n ${addFont};\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 { ErrorMessage } from '@local/styles/error';\nimport { KEY_SIZE_DATA } from '@local/theme';\n\nimport { FC, useCallback, useMemo } from 'react';\nimport { useTheme } from 'styled-components';\n\nimport { Icon } from '../icon';\nimport { Ripple } from '../ripple';\nimport { CheckboxProps, CheckboxWrapper, StyledIcon } from '.';\n\nexport const Checkbox: FC<CheckboxProps> = (props) => {\n const handleOnClick = useCallback(\n (checked: boolean) => {\n props.onChange?.(checked);\n },\n [props.onChange],\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 $font={{\n size: props.font?.size ?? KEY_SIZE_DATA[props.size].font,\n weight: props.font?.weight ?? 700,\n family: props.font?.family ?? theme.font.family,\n height: props.font?.height,\n }}\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 $isDisabledOutline={props.isDisabled ?? props.isDisabledOutline}\n $isOutlineBoxShadow={props.isOutlineBoxShadow}\n $isReadOnly={props.isReadOnly}\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 ? (\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 ?? theme.font.family,\n }}\n />\n ) : null}\n </>\n );\n};\n"],"names":["CheckboxSize","css","props","CheckboxSizeConstructor","KEY_SIZE_DATA","$size","isWidthAsHeight","$isWidthAsHeight","height","radius","padding","CheckboxGenre","theme","colors","checkbox","$genre","background","rest","border","color","hover","addCheckboxDisabled","addDisabled","$isDisabled","CheckboxHiddenBorder","$isHiddenBorder","CheckboxWrapper","styled","button","$isNotBackground","addRippleDefault","addTransition","addOutline","addFont","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","$font","font","weight","_b","family","_c","_d","isDisabled","isHiddenBorder","isNotBackground","$sx","sx","$sxTypography","sxTypography","$isDisabledOutline","isDisabledOutline","$isOutlineBoxShadow","isOutlineBoxShadow","$isReadOnly","isReadOnly","disabled","tabIndex","onClick","Ripple","isOnlyLoading","isLoading","ErrorMessage","_e"],"mappings":"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"}
|
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
import { j as jsxRuntimeExports } from "./jsx-runtime-BrDlu8eK.js";
|
|
2
|
-
import { a as Skeleton } from "./area-
|
|
2
|
+
import { a as Skeleton } from "./area-CkM4ZN2F.js";
|
|
3
3
|
import { b as Stack } from "./component-jPZYT5iL.js";
|
|
4
4
|
import { useState, useEffect } from "react";
|
|
5
|
-
import { b as addTransition } from "./style-
|
|
5
|
+
import { b as addTransition } from "./style-RL73t3JD.js";
|
|
6
6
|
import { a as addSX } from "./style-plT9Ah7t.js";
|
|
7
7
|
import styled from "styled-components";
|
|
8
8
|
const Image = (props) => {
|
|
@@ -95,4 +95,4 @@ export {
|
|
|
95
95
|
Image as I,
|
|
96
96
|
ImageIMG as a
|
|
97
97
|
};
|
|
98
|
-
//# sourceMappingURL=component.styles-
|
|
98
|
+
//# sourceMappingURL=component.styles-CPWNnqqm.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"component.styles-
|
|
1
|
+
{"version":3,"file":"component.styles-CPWNnqqm.js","sources":["../src/components/image/component.tsx","../src/components/image/component.styles.tsx"],"sourcesContent":["import { Skeleton } from '@local/areas/skeleton';\nimport { Stack } from '@local/components/stack';\n\nimport { FC, useEffect, useState } from 'react';\n\nimport { ImageIMG, ImageProps } from '.';\n\nexport const Image: FC<ImageProps> = (props) => {\n const [isPending, setIsPending] = useState(true);\n const [isError, setIsError] = useState(false);\n\n useEffect(() => {\n if (!props.src) return;\n\n const img = new (window.Image as { new (width?: number, height?: number): HTMLImageElement })();\n\n img.onload = () => {\n setIsPending(false);\n setIsError(false);\n };\n\n img.onerror = () => {\n setIsPending(false);\n setIsError(true);\n };\n\n img.src = props.src;\n\n if (img.complete) {\n if (img.naturalWidth > 0) {\n setIsPending(false);\n setIsError(false);\n } else {\n setIsPending(false);\n setIsError(true);\n }\n }\n\n return () => {\n img.onload = null;\n img.onerror = null;\n setIsPending(true);\n setIsError(false);\n };\n }, [props.src]);\n return (\n <Stack\n sx={(theme) => ({\n ...props?.sxStack,\n default: {\n position: 'relative',\n overflow: 'hidden',\n ...(props.isShowBeforeImage\n ? {\n '&::before': {\n width: '100%',\n height: '100%',\n content: '\"\"',\n position: 'absolute',\n inset: 0,\n backgroundImage: `url(${props.src})`,\n backgroundRepeat: 'no-repeat',\n backgroundSize: 'cover',\n backgroundPosition: 'center',\n filter: 'blur(20px)',\n transform: 'scale(1.1)',\n zIndex: 0,\n },\n }\n : {}),\n ...(props?.sxStack\n ? typeof props?.sxStack === 'function'\n ? props?.sxStack(theme).default\n : props?.sxStack.default\n : {}),\n },\n })}\n >\n {!isError ? (\n props.componentLoading || isPending ? (\n <Skeleton\n visible\n sx={{\n default: {\n width: '100%',\n height: '100%',\n },\n }}\n />\n ) : null\n ) : null}\n {!isError && (\n <ImageIMG loading='lazy' $isPending={isPending} src={props.src} alt={props.alt} $sx={props.sxImage} />\n )}\n {isError ? props.componentFallback || null : null}\n </Stack>\n );\n};\n","import { addTransition } from '@local/styles/add'\nimport { addSX } from '@local/styles/sx'\n\nimport styled from 'styled-components'\n\nimport { ImageIMGProps } from '.'\n\nexport const ImageIMG = styled.img<ImageIMGProps>`\n position: absolute;\n width: 100%;\n height: 100%;\n object-fit: cover;\n opacity: ${props => (props.$isPending ? 0 : 1)};\n ${addTransition};\n ${addSX};\n`\n"],"names":["jsxs","jsx"],"mappings":";;;;;;;AAOO,MAAM,QAAwB,CAAC,UAAU;AAC9C,QAAM,CAAC,WAAW,YAAY,IAAI,SAAS,IAAI;AAC/C,QAAM,CAAC,SAAS,UAAU,IAAI,SAAS,KAAK;AAE5C,YAAU,MAAM;AACd,QAAI,CAAC,MAAM,IAAK;AAEhB,UAAM,MAAM,IAAK,OAAO,MAAA;AAExB,QAAI,SAAS,MAAM;AACjB,mBAAa,KAAK;AAClB,iBAAW,KAAK;AAAA,IAAA;AAGlB,QAAI,UAAU,MAAM;AAClB,mBAAa,KAAK;AAClB,iBAAW,IAAI;AAAA,IAAA;AAGjB,QAAI,MAAM,MAAM;AAEhB,QAAI,IAAI,UAAU;AAChB,UAAI,IAAI,eAAe,GAAG;AACxB,qBAAa,KAAK;AAClB,mBAAW,KAAK;AAAA,MAAA,OACX;AACL,qBAAa,KAAK;AAClB,mBAAW,IAAI;AAAA,MAAA;AAAA,IACjB;AAGF,WAAO,MAAM;AACX,UAAI,SAAS;AACb,UAAI,UAAU;AACd,mBAAa,IAAI;AACjB,iBAAW,KAAK;AAAA,IAAA;AAAA,EAClB,GACC,CAAC,MAAM,GAAG,CAAC;AACd,SACEA,kCAAAA;AAAAA,IAAC;AAAA,IAAA;AAAA,MACC,IAAI,CAAC,WAAW;AAAA,QACd,GAAG,+BAAO;AAAA,QACV,SAAS;AAAA,UACP,UAAU;AAAA,UACV,UAAU;AAAA,UACV,GAAI,MAAM,oBACN;AAAA,YACE,aAAa;AAAA,cACX,OAAO;AAAA,cACP,QAAQ;AAAA,cACR,SAAS;AAAA,cACT,UAAU;AAAA,cACV,OAAO;AAAA,cACP,iBAAiB,OAAO,MAAM,GAAG;AAAA,cACjC,kBAAkB;AAAA,cAClB,gBAAgB;AAAA,cAChB,oBAAoB;AAAA,cACpB,QAAQ;AAAA,cACR,WAAW;AAAA,cACX,QAAQ;AAAA,YAAA;AAAA,UACV,IAEF,CAAA;AAAA,UACJ,IAAI,+BAAO,WACP,QAAO,+BAAO,aAAY,aACxB,+BAAO,QAAQ,OAAO,UACtB,+BAAO,QAAQ,UACjB,CAAA;AAAA,QAAC;AAAA,MACP;AAAA,MAGD,UAAA;AAAA,QAAA,CAAC,UACA,MAAM,oBAAoB,YACxBC,kCAAAA;AAAAA,UAAC;AAAA,UAAA;AAAA,YACC,SAAO;AAAA,YACP,IAAI;AAAA,cACF,SAAS;AAAA,gBACP,OAAO;AAAA,gBACP,QAAQ;AAAA,cAAA;AAAA,YACV;AAAA,UACF;AAAA,QAAA,IAEA,OACF;AAAA,QACH,CAAC,WACAA,kCAAAA,IAAC,UAAA,EAAS,SAAQ,QAAO,YAAY,WAAW,KAAK,MAAM,KAAK,KAAK,MAAM,KAAK,KAAK,MAAM,SAAS;AAAA,QAErG,UAAU,MAAM,qBAAqB,OAAO;AAAA,MAAA;AAAA,IAAA;AAAA,EAAA;AAGnD;AC1FO,MAAM,WAAW,OAAO;AAAA;AAAA;AAAA;AAAA;AAAA,aAKlB,CAAA,UAAU,MAAM,aAAa,IAAI,CAAE;AAAA,IAC5C,aAAa;AAAA,IACb,KAAK;AAAA;"}
|
|
@@ -0,0 +1,99 @@
|
|
|
1
|
+
"use strict";const e=require("./jsx-runtime-BcGej2Kr.cjs"),o=require("./style-D3Lbn1EL.cjs"),r=require("./floating-ui.react--v70Xky9.cjs"),i=require("react"),s=require("styled-components"),t=require("./style-Df37KnoJ.cjs"),n=require("./style-fRZ6xrVp.cjs"),l=require("./theme.global-CcoD5bPP.cjs"),a=s.css`
|
|
2
|
+
${e=>s.css`
|
|
3
|
+
background: ${e.theme.colors.input[e.$genre].background.rest};
|
|
4
|
+
border-color: ${e.theme.colors.input[e.$genre].border.rest};
|
|
5
|
+
color: ${e.theme.colors.input[e.$genre].color.rest};
|
|
6
|
+
|
|
7
|
+
&:active {
|
|
8
|
+
background: ${e.theme.colors.input[e.$genre].background.rest};
|
|
9
|
+
border-color: ${e.theme.colors.input[e.$genre].border.rest};
|
|
10
|
+
color: ${e.theme.colors.input[e.$genre].color.rest};
|
|
11
|
+
}
|
|
12
|
+
&:hover {
|
|
13
|
+
background: ${e.theme.colors.input[e.$genre].background.hover};
|
|
14
|
+
border-color: ${e.theme.colors.input[e.$genre].border.hover};
|
|
15
|
+
color: ${e.theme.colors.input[e.$genre].color.hover};
|
|
16
|
+
}
|
|
17
|
+
&:focus-visible {
|
|
18
|
+
border-color: ${e.theme.colors.input[e.$genre].border.rest};
|
|
19
|
+
background: ${e.theme.colors.input[e.$genre].background.rest};
|
|
20
|
+
color: ${e.theme.colors.input[e.$genre].color.rest};
|
|
21
|
+
}
|
|
22
|
+
`};
|
|
23
|
+
`,u=s.css`
|
|
24
|
+
${e=>e.$isInputEffect&&s.css`
|
|
25
|
+
box-shadow: ${e.theme.effects.input};
|
|
26
|
+
`}
|
|
27
|
+
`,c=s.css`
|
|
28
|
+
${e=>s.css`
|
|
29
|
+
padding: ${l.KEY_SIZE_DATA[e.$size].padding-4}px ${l.KEY_SIZE_DATA[e.$size].padding}px ${l.KEY_SIZE_DATA[e.$size].padding-4}px ${l.KEY_SIZE_DATA[e.$size].padding}px;
|
|
30
|
+
border-radius: ${l.KEY_SIZE_DATA[e.$size].radius}px;
|
|
31
|
+
min-height: ${l.KEY_SIZE_DATA[e.$size].height}px;
|
|
32
|
+
`};
|
|
33
|
+
`,d=s.div`
|
|
34
|
+
border: 1px solid;
|
|
35
|
+
position: relative;
|
|
36
|
+
display: flex;
|
|
37
|
+
align-items: flex-start;
|
|
38
|
+
justify-content: flex-start;
|
|
39
|
+
flex-direction: column;
|
|
40
|
+
overflow: hidden;
|
|
41
|
+
width: 100%;
|
|
42
|
+
${t.addTransitionWithoutSize};
|
|
43
|
+
${c};
|
|
44
|
+
${a};
|
|
45
|
+
${u};
|
|
46
|
+
${t.addDisabled};
|
|
47
|
+
${t.addOutlineChildren};
|
|
48
|
+
${n.addSX};
|
|
49
|
+
`,$=s.css`
|
|
50
|
+
&::placeholder,
|
|
51
|
+
&::-webkit-input-placeholder {
|
|
52
|
+
${t.addFont};
|
|
53
|
+
color: ${e=>e.theme.colors.input[e.$genre].color.placeholder};
|
|
54
|
+
opacity: 1;
|
|
55
|
+
}
|
|
56
|
+
&:-ms-input-placeholder {
|
|
57
|
+
${t.addFont};
|
|
58
|
+
color: ${e=>e.theme.colors.input[e.$genre].color.placeholder};
|
|
59
|
+
opacity: 1;
|
|
60
|
+
}
|
|
61
|
+
`,h=s.css`
|
|
62
|
+
${e=>s.css`
|
|
63
|
+
color: ${e.theme.colors.input[e.$genre].color.rest};
|
|
64
|
+
border-color: transparent;
|
|
65
|
+
&:active {
|
|
66
|
+
color: ${e.theme.colors.input[e.$genre].color.rest};
|
|
67
|
+
}
|
|
68
|
+
&:hover {
|
|
69
|
+
color: ${e.theme.colors.input[e.$genre].color.hover};
|
|
70
|
+
}
|
|
71
|
+
&:focus-visible {
|
|
72
|
+
color: ${e.theme.colors.input[e.$genre].color.rest};
|
|
73
|
+
}
|
|
74
|
+
`};
|
|
75
|
+
`,p=s.css`
|
|
76
|
+
${e=>!e.$isResize&&s.css`
|
|
77
|
+
resize: none;
|
|
78
|
+
`}
|
|
79
|
+
`,g=s.css`
|
|
80
|
+
overflow-x: hidden;
|
|
81
|
+
width: -webkit-fill-available;
|
|
82
|
+
padding: 0 !important;
|
|
83
|
+
border: none !important;
|
|
84
|
+
margin: 0 !important;
|
|
85
|
+
white-space: normal;
|
|
86
|
+
text-overflow: ellipsis;
|
|
87
|
+
height: auto;
|
|
88
|
+
background-color: transparent;
|
|
89
|
+
|
|
90
|
+
${t.addFont};
|
|
91
|
+
${h};
|
|
92
|
+
${p};
|
|
93
|
+
${$};
|
|
94
|
+
${t.addRemoveOutline};
|
|
95
|
+
${o.addError};
|
|
96
|
+
`,m=s.textarea`
|
|
97
|
+
${g};
|
|
98
|
+
`;exports.StyledTextArea=m,exports.TextArea=t=>{var n,l,a,u,c;const $=s.useTheme(),h=i.useRef(null),p=r.useMergeRefs([h,t.ref]),g=i.useMemo(()=>$.font.sizeDefault.default*$.font.lineHeight,[$.font.lineHeight,$.font.sizeDefault.default]),f=i.useMemo(()=>t.maxRows?t.maxRows*g:0,[g,t.maxRows]),x=i.useMemo(()=>t.minRows?t.minRows*g:g,[g,t.minRows]),b=i.useCallback(()=>{const e=h.current;if(e&&t.isAutoHeight){e.style.height="auto";const o=Math.min(e.scrollHeight,f);e.style.height=`${o}px`}},[t.isAutoHeight,f]),v=i.useCallback(e=>{var o,r;if(t.isNoSpaces){const r=e.replace(/\s+/g,"");null==(o=t.onChange)||o.call(t,r)}else null==(r=t.onChange)||r.call(t,e)},[t]);return i.useEffect(()=>{t.isAutoHeight&&requestAnimationFrame(b)},[t.value,b,t.isAutoHeight]),e.jsxRuntimeExports.jsxs(e.jsxRuntimeExports.Fragment,{children:[e.jsxRuntimeExports.jsx(d,{$isInputEffect:t.isInputEffect,$isDisabled:t.isDisabled,$isDisabledOutline:t.isDisabled??t.isDisabledOutline,$isOutlineBoxShadow:t.isOutlineBoxShadow,$sx:t.sx,$genre:t.genre,$size:t.size,$lineHeight:g,$isReadOnly:t.isReadOnly,className:t.className,tabIndex:-1,children:e.jsxRuntimeExports.jsx(m,{tabIndex:0,ref:p,$font:{size:(null==(n=t.font)?void 0:n.size)??16,weight:(null==(l=t.font)?void 0:l.weight)??(t.isBold?500:400),family:(null==(a=t.font)?void 0:a.family)??$.font.family,height:(null==(u=t.font)?void 0:u.height)??`${g}px`},$lineHeight:g,$isResize:t.isResize,$error:t.error,$isInputEffect:t.isInputEffect,$isLoading:t.isLoading,$genre:t.genre,$size:t.size,$isBold:t.isBold,$isDisabled:t.isDisabled,maxLength:t.maxLength,minLength:t.minLength,disabled:t.isDisabled,readOnly:t.isReadOnly,required:t.isRequired,defaultValue:null===t.defaultValue?"":t.defaultValue,value:null===t.value?"":t.value,rows:t.minRows,placeholder:t.placeholder,onChange:e=>v(e.target.value),onBlur:t.onBlur,onFocus:t.onFocus,onKeyDown:t.onKeyDown,name:t.name,autoComplete:t.autoComplete,id:t.id,style:{minHeight:`${x}px`,maxHeight:t.isResize?"none":t.isAutoHeight?`${f}px`:`${x}px`}})}),(null==t?void 0:t.error)?e.jsxRuntimeExports.jsx(o.ErrorMessage,{...t.error,size:(null==t?void 0:t.error.size)??t.size,font:{size:12,weight:400,family:(null==(c=t.font)?void 0:c.family)??$.font.family}}):null]})},exports.TextAreaWrapper=d,exports.addTextArea=g;
|
|
99
|
+
//# sourceMappingURL=component.styles-CsB9986a.cjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"component.styles-CsB9986a.cjs","sources":["../src/components/textarea/component.styles.ts","../src/components/textarea/component.tsx"],"sourcesContent":["import {\n addDisabled,\n addFont,\n addOutlineChildren,\n addRemoveOutline,\n addTransitionWithoutSize,\n} from '@local/styles/add';\nimport { addError } from '@local/styles/error';\nimport { addSX } from '@local/styles/sx';\nimport { KEY_SIZE_DATA } from '@local/theme';\n\nimport styled, { css } from 'styled-components';\n\nimport { StyledTextAreaProps, TextAreaWrapperProps } from '.';\n\n/****************************************** Wrapper *************************************************/\nconst addTextAreaWrapperGenre = css<TextAreaWrapperProps>`\n ${(props) => css`\n background: ${props.theme.colors.input[props.$genre].background.rest};\n border-color: ${props.theme.colors.input[props.$genre].border.rest};\n color: ${props.theme.colors.input[props.$genre].color.rest};\n\n &:active {\n background: ${props.theme.colors.input[props.$genre].background.rest};\n border-color: ${props.theme.colors.input[props.$genre].border.rest};\n color: ${props.theme.colors.input[props.$genre].color.rest};\n }\n &:hover {\n background: ${props.theme.colors.input[props.$genre].background.hover};\n border-color: ${props.theme.colors.input[props.$genre].border.hover};\n color: ${props.theme.colors.input[props.$genre].color.hover};\n }\n &:focus-visible {\n border-color: ${props.theme.colors.input[props.$genre].border.rest};\n background: ${props.theme.colors.input[props.$genre].background.rest};\n color: ${props.theme.colors.input[props.$genre].color.rest};\n }\n `};\n`;\n\nconst addTextAreaWrapperIsInputEffect = css<Pick<TextAreaWrapperProps, '$isInputEffect'>>`\n ${(props) =>\n props.$isInputEffect &&\n css`\n box-shadow: ${props.theme.effects.input};\n `}\n`;\nconst addTextAreaWrapperSize = css<TextAreaWrapperProps>`\n ${(props) => css`\n padding: ${KEY_SIZE_DATA[props.$size].padding - 4}px ${KEY_SIZE_DATA[props.$size].padding}px ${KEY_SIZE_DATA[props.$size].padding - 4}px ${KEY_SIZE_DATA[props.$size].padding}px;\n border-radius: ${KEY_SIZE_DATA[props.$size].radius}px;\n min-height: ${KEY_SIZE_DATA[props.$size].height}px;\n `};\n`;\n\nexport const TextAreaWrapper = styled.div<TextAreaWrapperProps>`\n border: 1px solid;\n position: relative;\n display: flex;\n align-items: flex-start;\n justify-content: flex-start;\n flex-direction: column;\n overflow: hidden;\n width: 100%;\n ${addTransitionWithoutSize};\n ${addTextAreaWrapperSize};\n ${addTextAreaWrapperGenre};\n ${addTextAreaWrapperIsInputEffect};\n ${addDisabled};\n ${addOutlineChildren};\n ${addSX};\n`;\n\n/****************************************** TextArea *************************************************/\nconst addTextAreaPlaceholder = css<StyledTextAreaProps>`\n &::placeholder,\n &::-webkit-input-placeholder {\n ${addFont};\n color: ${(props) => props.theme.colors.input[props.$genre].color.placeholder};\n opacity: 1;\n }\n &:-ms-input-placeholder {\n ${addFont};\n color: ${(props) => props.theme.colors.input[props.$genre].color.placeholder};\n opacity: 1;\n }\n`;\nconst addTextAreaGenre = css<StyledTextAreaProps>`\n ${(props) => css`\n color: ${props.theme.colors.input[props.$genre].color.rest};\n border-color: transparent;\n &:active {\n color: ${props.theme.colors.input[props.$genre].color.rest};\n }\n &:hover {\n color: ${props.theme.colors.input[props.$genre].color.hover};\n }\n &:focus-visible {\n color: ${props.theme.colors.input[props.$genre].color.rest};\n }\n `};\n`;\nconst addTextAreaIsResize = css<Pick<StyledTextAreaProps, '$isResize'>>`\n ${(props) =>\n !props.$isResize &&\n css`\n resize: none;\n `}\n`;\nexport const addTextArea = css<StyledTextAreaProps>`\n overflow-x: hidden;\n width: -webkit-fill-available;\n padding: 0 !important;\n border: none !important;\n margin: 0 !important;\n white-space: normal;\n text-overflow: ellipsis;\n height: auto;\n background-color: transparent;\n\n ${addFont};\n ${addTextAreaGenre};\n ${addTextAreaIsResize};\n ${addTextAreaPlaceholder};\n ${addRemoveOutline};\n ${addError};\n`;\n\nexport const StyledTextArea = styled.textarea<StyledTextAreaProps>`\n ${addTextArea};\n`;\n","import { ErrorMessage } from '@local/styles/error';\n\nimport { useMergeRefs } from '@floating-ui/react';\nimport { useCallback, useEffect, useMemo, useRef } from 'react';\nimport { useTheme } from 'styled-components';\n\nimport { StyledTextArea, TextAreaProps, TextAreaWrapper } from '.';\n\nexport const TextArea = (props: TextAreaProps) => {\n const theme = useTheme();\n\n const refLocal = useRef<HTMLTextAreaElement>(null);\n const ref = useMergeRefs([refLocal, props.ref]);\n\n const lineHeight = useMemo(\n () => theme.font.sizeDefault.default * theme.font.lineHeight,\n [theme.font.lineHeight, theme.font.sizeDefault.default],\n );\n const maxHeight = useMemo(() => (props.maxRows ? props.maxRows * lineHeight : 0), [lineHeight, props.maxRows]);\n const minHeight = useMemo(\n () => (props.minRows ? props.minRows * lineHeight : lineHeight),\n [lineHeight, props.minRows],\n );\n\n const resizeTextarea = useCallback(() => {\n const el = refLocal.current;\n if (el && props.isAutoHeight) {\n el.style.height = 'auto';\n const newHeight = Math.min(el.scrollHeight, maxHeight);\n el.style.height = `${newHeight}px`;\n }\n }, [props.isAutoHeight, maxHeight]);\n\n const handleOnChange = useCallback(\n (value: string) => {\n if (props.isNoSpaces) {\n const valueWithoutSpaces = value.replace(/\\s+/g, '');\n props.onChange?.(valueWithoutSpaces);\n } else {\n props.onChange?.(value);\n }\n },\n [props],\n );\n\n // biome-ignore lint/correctness/useExhaustiveDependencies: <explanation>\n useEffect(() => {\n if (props.isAutoHeight) {\n requestAnimationFrame(resizeTextarea);\n }\n }, [props.value, resizeTextarea, props.isAutoHeight]);\n return (\n <>\n <TextAreaWrapper\n $isInputEffect={props.isInputEffect}\n $isDisabled={props.isDisabled}\n $isDisabledOutline={props.isDisabled ?? props.isDisabledOutline}\n $isOutlineBoxShadow={props.isOutlineBoxShadow}\n $sx={props.sx}\n $genre={props.genre}\n $size={props.size}\n $lineHeight={lineHeight}\n $isReadOnly={props.isReadOnly}\n className={props.className}\n tabIndex={-1}\n >\n <StyledTextArea\n tabIndex={0}\n ref={ref}\n $font={{\n size: props.font?.size ?? 16,\n weight: props.font?.weight ?? (props.isBold ? 500 : 400),\n family: props.font?.family ?? theme.font.family,\n height: props.font?.height ?? `${lineHeight}px`,\n }}\n $lineHeight={lineHeight}\n $isResize={props.isResize}\n $error={props.error}\n $isInputEffect={props.isInputEffect}\n $isLoading={props.isLoading}\n $genre={props.genre}\n $size={props.size}\n $isBold={props.isBold}\n $isDisabled={props.isDisabled}\n maxLength={props.maxLength}\n minLength={props.minLength}\n disabled={props.isDisabled}\n readOnly={props.isReadOnly}\n required={props.isRequired}\n defaultValue={props.defaultValue === null ? '' : props.defaultValue}\n value={props.value === null ? '' : props.value}\n rows={props.minRows}\n placeholder={props.placeholder}\n onChange={(event) => handleOnChange(event.target.value)}\n onBlur={props.onBlur}\n onFocus={props.onFocus}\n onKeyDown={props.onKeyDown}\n name={props.name}\n autoComplete={props.autoComplete}\n id={props.id}\n style={{\n minHeight: `${minHeight}px`,\n maxHeight: props.isResize ? 'none' : props.isAutoHeight ? `${maxHeight}px` : `${minHeight}px`,\n }}\n />\n </TextAreaWrapper>\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 ?? theme.font.family,\n }}\n />\n ) : null}\n </>\n );\n};\n"],"names":["addTextAreaWrapperGenre","css","props","theme","colors","input","$genre","background","rest","border","color","hover","addTextAreaWrapperIsInputEffect","$isInputEffect","effects","addTextAreaWrapperSize","KEY_SIZE_DATA","$size","padding","radius","height","TextAreaWrapper","styled","div","addTransitionWithoutSize","addDisabled","addOutlineChildren","addSX","addTextAreaPlaceholder","addFont","placeholder","addTextAreaGenre","addTextAreaIsResize","$isResize","addTextArea","addRemoveOutline","addError","StyledTextArea","textarea","useTheme","refLocal","useRef","ref","useMergeRefs","lineHeight","useMemo","font","sizeDefault","default","maxHeight","maxRows","minHeight","minRows","resizeTextarea","useCallback","el","current","isAutoHeight","style","newHeight","Math","min","scrollHeight","handleOnChange","value","isNoSpaces","valueWithoutSpaces","replace","_a","onChange","call","_b","useEffect","requestAnimationFrame","jsxs","Fragment","children","jsx","isInputEffect","$isDisabled","isDisabled","$isDisabledOutline","isDisabledOutline","$isOutlineBoxShadow","isOutlineBoxShadow","$sx","sx","genre","size","$lineHeight","$isReadOnly","isReadOnly","className","tabIndex","$font","weight","isBold","family","_c","_d","isResize","$error","error","$isLoading","isLoading","$isBold","maxLength","minLength","disabled","readOnly","required","isRequired","defaultValue","rows","event","target","onBlur","onFocus","onKeyDown","name","autoComplete","id","ErrorMessage","_e"],"mappings":"0SAgBMA,EAA0BC,EAAAA,GAAAA;IAC3BC,GAAUD,EAAAA,GAAAA;kBACGC,EAAMC,MAAMC,OAAOC,MAAMH,EAAMI,QAAQC,WAAWC;oBAChDN,EAAMC,MAAMC,OAAOC,MAAMH,EAAMI,QAAQG,OAAOD;aACrDN,EAAMC,MAAMC,OAAOC,MAAMH,EAAMI,QAAQI,MAAMF;;;oBAGtCN,EAAMC,MAAMC,OAAOC,MAAMH,EAAMI,QAAQC,WAAWC;sBAChDN,EAAMC,MAAMC,OAAOC,MAAMH,EAAMI,QAAQG,OAAOD;eACrDN,EAAMC,MAAMC,OAAOC,MAAMH,EAAMI,QAAQI,MAAMF;;;oBAGxCN,EAAMC,MAAMC,OAAOC,MAAMH,EAAMI,QAAQC,WAAWI;sBAChDT,EAAMC,MAAMC,OAAOC,MAAMH,EAAMI,QAAQG,OAAOE;eACrDT,EAAMC,MAAMC,OAAOC,MAAMH,EAAMI,QAAQI,MAAMC;;;sBAGtCT,EAAMC,MAAMC,OAAOC,MAAMH,EAAMI,QAAQG,OAAOD;oBAChDN,EAAMC,MAAMC,OAAOC,MAAMH,EAAMI,QAAQC,WAAWC;eACvDN,EAAMC,MAAMC,OAAOC,MAAMH,EAAMI,QAAQI,MAAMF;;;EAKtDI,EAAkCX,EAAAA,GAAAA;IACnCC,GACDA,EAAMW,gBACNZ,EAAAA,GAAAA;oBACgBC,EAAMC,MAAMW,QAAQT;;EAGlCU,EAAyBd,EAAAA,GAAAA;IAC1BC,GAAUD,EAAAA,GAAAA;eACAe,gBAAcd,EAAMe,OAAOC,QAAU,OAAOF,EAAAA,cAAcd,EAAMe,OAAOC,aAAaF,EAAAA,cAAcd,EAAMe,OAAOC,QAAU,OAAOF,gBAAcd,EAAMe,OAAOC;qBACrJF,gBAAcd,EAAMe,OAAOE;kBAC9BH,gBAAcd,EAAMe,OAAOG;;EAIhCC,EAAkBC,EAAOC,GAAA;;;;;;;;;IASlCC;IACAT;IACAf;IACAY;IACAa;IACAC;IACAC;EAIEC,EAAyB3B,EAAAA,GAAAA;;;MAGzB4B;aACQ3B,GAAUA,EAAMC,MAAMC,OAAOC,MAAMH,EAAMI,QAAQI,MAAMoB;;;;MAI/DD;aACQ3B,GAAUA,EAAMC,MAAMC,OAAOC,MAAMH,EAAMI,QAAQI,MAAMoB;;;EAI/DC,EAAmB9B,EAAAA,GAAAA;IACpBC,GAAUD,EAAAA,GAAAA;aACFC,EAAMC,MAAMC,OAAOC,MAAMH,EAAMI,QAAQI,MAAMF;;;eAG3CN,EAAMC,MAAMC,OAAOC,MAAMH,EAAMI,QAAQI,MAAMF;;;eAG7CN,EAAMC,MAAMC,OAAOC,MAAMH,EAAMI,QAAQI,MAAMC;;;eAG7CT,EAAMC,MAAMC,OAAOC,MAAMH,EAAMI,QAAQI,MAAMF;;;EAItDwB,EAAsB/B,EAAAA,GAAAA;IACvBC,IACAA,EAAM+B,WACPhC,EAAAA,GAAAA;;;EAISiC,EAAcjC,EAAAA,GAAAA;;;;;;;;;;;IAWvB4B;IACAE;IACAC;IACAJ;IACAO;IACAC;EAGSC,EAAiBf,EAAOgB,QAAA;IACjCJ;4CCzHqBhC,kBACvB,MAAMC,EAAQoC,EAAAA,WAERC,EAAWC,EAAAA,OAA4B,MACvCC,EAAMC,EAAAA,aAAa,CAACH,EAAUtC,EAAMwC,MAEpCE,EAAaC,EAAAA,QACjB,IAAM1C,EAAM2C,KAAKC,YAAYC,QAAU7C,EAAM2C,KAAKF,WAClD,CAACzC,EAAM2C,KAAKF,WAAYzC,EAAM2C,KAAKC,YAAYC,UAE3CC,EAAYJ,EAAAA,QAAQ,IAAO3C,EAAMgD,QAAUhD,EAAMgD,QAAUN,EAAa,EAAI,CAACA,EAAY1C,EAAMgD,UAC/FC,EAAYN,EAAAA,QAChB,IAAO3C,EAAMkD,QAAUlD,EAAMkD,QAAUR,EAAaA,EACpD,CAACA,EAAY1C,EAAMkD,UAGfC,EAAiBC,EAAAA,YAAY,KACjC,MAAMC,EAAKf,EAASgB,QACpB,GAAID,GAAMrD,EAAMuD,aAAc,CAC5BF,EAAGG,MAAMtC,OAAS,OAClB,MAAMuC,EAAYC,KAAKC,IAAIN,EAAGO,aAAcb,GAC5CM,EAAGG,MAAMtC,OAAS,GAAGuC,KAAS,GAE/B,CAACzD,EAAMuD,aAAcR,IAElBc,EAAiBT,EAAAA,YACpBU,YACC,GAAI9D,EAAM+D,WAAY,CACpB,MAAMC,EAAqBF,EAAMG,QAAQ,OAAQ,IACjD,OAAAC,EAAAlE,EAAMmE,WAAND,EAAAE,KAAApE,EAAiBgE,EAAkB,MAEnC,OAAAK,EAAArE,EAAMmE,WAANE,EAAAD,KAAApE,EAAiB8D,IAGrB,CAAC9D,IASH,OALAsE,EAAAA,UAAU,KACJtE,EAAMuD,cACRgB,sBAAsBpB,IAEvB,CAACnD,EAAM8D,MAAOX,EAAgBnD,EAAMuD,iBAErCiB,kBAAAA,KAAAC,6BAAA,CACEC,SAAA,GAAAC,kBAAAA,IAACxD,EAAA,CACCR,eAAgBX,EAAM4E,cACtBC,YAAa7E,EAAM8E,WACnBC,mBAAoB/E,EAAM8E,YAAc9E,EAAMgF,kBAC9CC,oBAAqBjF,EAAMkF,mBAC3BC,IAAKnF,EAAMoF,GACXhF,OAAQJ,EAAMqF,MACdtE,MAAOf,EAAMsF,KACbC,YAAa7C,EACb8C,YAAaxF,EAAMyF,WACnBC,UAAW1F,EAAM0F,UACjBC,UAAU,EAEVjB,WAAAC,kBAAAA,IAACxC,EAAA,CACCwD,SAAU,EACVnD,MACAoD,MAAO,CACLN,MAAM,OAAApB,EAAAlE,EAAM4C,WAAN,EAAAsB,EAAYoB,OAAQ,GAC1BO,QAAQ,OAAAxB,EAAArE,EAAM4C,eAAMiD,UAAW7F,EAAM8F,OAAS,IAAM,KACpDC,QAAQ,OAAAC,EAAAhG,EAAM4C,WAAN,EAAAoD,EAAYD,SAAU9F,EAAM2C,KAAKmD,OACzC7E,QAAQ,OAAA+E,EAAAjG,EAAM4C,WAAN,EAAAqD,EAAY/E,SAAU,GAAGwB,OAEnC6C,YAAa7C,EACbX,UAAW/B,EAAMkG,SACjBC,OAAQnG,EAAMoG,MACdzF,eAAgBX,EAAM4E,cACtByB,WAAYrG,EAAMsG,UAClBlG,OAAQJ,EAAMqF,MACdtE,MAAOf,EAAMsF,KACbiB,QAASvG,EAAM8F,OACfjB,YAAa7E,EAAM8E,WACnB0B,UAAWxG,EAAMwG,UACjBC,UAAWzG,EAAMyG,UACjBC,SAAU1G,EAAM8E,WAChB6B,SAAU3G,EAAMyF,WAChBmB,SAAU5G,EAAM6G,WAChBC,aAAqC,OAAvB9G,EAAM8G,aAAwB,GAAK9G,EAAM8G,aACvDhD,MAAuB,OAAhB9D,EAAM8D,MAAiB,GAAK9D,EAAM8D,MACzCiD,KAAM/G,EAAMkD,QACZtB,YAAa5B,EAAM4B,YACnBuC,SAAW6C,GAAUnD,EAAemD,EAAMC,OAAOnD,OACjDoD,OAAQlH,EAAMkH,OACdC,QAASnH,EAAMmH,QACfC,UAAWpH,EAAMoH,UACjBC,KAAMrH,EAAMqH,KACZC,aAActH,EAAMsH,aACpBC,GAAIvH,EAAMuH,GACV/D,MAAO,CACLP,UAAW,GAAGA,MACdF,UAAW/C,EAAMkG,SAAW,OAASlG,EAAMuD,aAAe,GAAGR,MAAgB,GAAGE,YAIrF,MAAAjD,OAAA,EAAAA,EAAOoG,OACNzB,EAAAA,kBAAAA,IAAC6C,EAAAA,aAAA,IACKxH,EAAMoG,MACVd,MAAM,MAAAtF,OAAA,EAAAA,EAAOoG,MAAMd,OAAQtF,EAAMsF,KACjC1C,KAAM,CACJ0C,KAAM,GACNO,OAAQ,IACRE,QAAQ,OAAA0B,EAAAzH,EAAM4C,WAAN,EAAA6E,EAAY1B,SAAU9F,EAAM2C,KAAKmD,UAG3C"}
|
|
@@ -1,21 +1,22 @@
|
|
|
1
1
|
import { j as jsxRuntimeExports } from "./jsx-runtime-BrDlu8eK.js";
|
|
2
|
+
import { b as ErrorMessage, a as addError } from "./style-uVTmdhsH.js";
|
|
3
|
+
import { K as KEY_SIZE_DATA } from "./theme.global-BgERDJ4e.js";
|
|
2
4
|
import { useCallback, useMemo } from "react";
|
|
3
5
|
import styled, { useTheme, css } from "styled-components";
|
|
4
|
-
import {
|
|
5
|
-
import { I as Icon } from "./component.styles-Bm3Ec-Kd.js";
|
|
6
|
+
import { I as Icon } from "./component.styles-DS0ofW1Y.js";
|
|
6
7
|
import { d as addRippleDefault } from "./component.styles-B0L4jbOO.js";
|
|
7
8
|
import { R as Ripple } from "./component-DHM9pbab.js";
|
|
8
|
-
import { g as
|
|
9
|
-
import {
|
|
9
|
+
import { g as addSXTypography } from "./component-DKMsOpqH.js";
|
|
10
|
+
import { l as addDisabled, b as addTransition, g as addOutline, c as addFont } from "./style-RL73t3JD.js";
|
|
10
11
|
import { a as addSX } from "./style-plT9Ah7t.js";
|
|
11
|
-
import { K as KEY_SIZE_DATA } from "./theme.global-CFUz5Asg.js";
|
|
12
12
|
const Checkbox = (props) => {
|
|
13
|
+
var _a, _b, _c, _d, _e;
|
|
13
14
|
const handleOnClick = useCallback(
|
|
14
15
|
(checked) => {
|
|
15
|
-
var
|
|
16
|
-
(
|
|
16
|
+
var _a2;
|
|
17
|
+
(_a2 = props.onChange) == null ? void 0 : _a2.call(props, checked);
|
|
17
18
|
},
|
|
18
|
-
[props]
|
|
19
|
+
[props.onChange]
|
|
19
20
|
);
|
|
20
21
|
const theme = useTheme();
|
|
21
22
|
const children = useMemo(
|
|
@@ -44,6 +45,12 @@ const Checkbox = (props) => {
|
|
|
44
45
|
$genre: props.genre,
|
|
45
46
|
$error: props.error,
|
|
46
47
|
$view: props.view,
|
|
48
|
+
$font: {
|
|
49
|
+
size: ((_a = props.font) == null ? void 0 : _a.size) ?? KEY_SIZE_DATA[props.size].font,
|
|
50
|
+
weight: ((_b = props.font) == null ? void 0 : _b.weight) ?? 700,
|
|
51
|
+
family: ((_c = props.font) == null ? void 0 : _c.family) ?? theme.font.family,
|
|
52
|
+
height: (_d = props.font) == null ? void 0 : _d.height
|
|
53
|
+
},
|
|
47
54
|
$checked: props.checked,
|
|
48
55
|
$isWidthAsHeight: props.isWidthAsHeight,
|
|
49
56
|
$size: props.size,
|
|
@@ -52,6 +59,9 @@ const Checkbox = (props) => {
|
|
|
52
59
|
$isNotBackground: props.isNotBackground,
|
|
53
60
|
$sx: props.sx,
|
|
54
61
|
$sxTypography: props.sxTypography,
|
|
62
|
+
$isDisabledOutline: props.isDisabled ?? props.isDisabledOutline,
|
|
63
|
+
$isOutlineBoxShadow: props.isOutlineBoxShadow,
|
|
64
|
+
$isReadOnly: props.isReadOnly,
|
|
55
65
|
disabled: props.isDisabled,
|
|
56
66
|
tabIndex: 0,
|
|
57
67
|
onClick: () => !props.isDisabled && handleOnClick(!props.checked),
|
|
@@ -64,7 +74,18 @@ const Checkbox = (props) => {
|
|
|
64
74
|
]
|
|
65
75
|
}
|
|
66
76
|
),
|
|
67
|
-
(props == null ? void 0 : props.error) ? /* @__PURE__ */ jsxRuntimeExports.jsx(
|
|
77
|
+
(props == null ? void 0 : props.error) ? /* @__PURE__ */ jsxRuntimeExports.jsx(
|
|
78
|
+
ErrorMessage,
|
|
79
|
+
{
|
|
80
|
+
...props.error,
|
|
81
|
+
size: (props == null ? void 0 : props.error.size) ?? props.size,
|
|
82
|
+
font: {
|
|
83
|
+
size: 12,
|
|
84
|
+
weight: 400,
|
|
85
|
+
family: ((_e = props.font) == null ? void 0 : _e.family) ?? theme.font.family
|
|
86
|
+
}
|
|
87
|
+
}
|
|
88
|
+
) : null
|
|
68
89
|
] });
|
|
69
90
|
};
|
|
70
91
|
const CheckboxSize = css`
|
|
@@ -75,7 +96,6 @@ const CheckboxSizeConstructor = (props) => css`
|
|
|
75
96
|
min-height: ${props.height}px;
|
|
76
97
|
border-radius: ${props.radius}px;
|
|
77
98
|
gap: ${props.padding - 2}px;
|
|
78
|
-
${(params) => getFontSizeStyles(props.font, 700, params.theme.font.family)};
|
|
79
99
|
padding: ${props.padding - 4}px;
|
|
80
100
|
${props.isWidthAsHeight && css`
|
|
81
101
|
width: ${props.height}px;
|
|
@@ -124,6 +144,7 @@ const CheckboxWrapper = styled.button`
|
|
|
124
144
|
${CheckboxSize};
|
|
125
145
|
${addCheckboxDisabled}
|
|
126
146
|
${addOutline};
|
|
147
|
+
${addFont};
|
|
127
148
|
${addError};
|
|
128
149
|
${addSXTypography};
|
|
129
150
|
${addSX};
|
|
@@ -153,4 +174,4 @@ export {
|
|
|
153
174
|
CheckboxGenre as c,
|
|
154
175
|
CheckboxWrapper as d
|
|
155
176
|
};
|
|
156
|
-
//# sourceMappingURL=component.styles-
|
|
177
|
+
//# sourceMappingURL=component.styles-DARNjy9P.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"component.styles-DARNjy9P.js","sources":["../src/components/checkbox/component.tsx","../src/components/checkbox/component.styles.ts"],"sourcesContent":["import { ErrorMessage } from '@local/styles/error';\nimport { KEY_SIZE_DATA } from '@local/theme';\n\nimport { FC, useCallback, useMemo } from 'react';\nimport { useTheme } from 'styled-components';\n\nimport { Icon } from '../icon';\nimport { Ripple } from '../ripple';\nimport { CheckboxProps, CheckboxWrapper, StyledIcon } from '.';\n\nexport const Checkbox: FC<CheckboxProps> = (props) => {\n const handleOnClick = useCallback(\n (checked: boolean) => {\n props.onChange?.(checked);\n },\n [props.onChange],\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 $font={{\n size: props.font?.size ?? KEY_SIZE_DATA[props.size].font,\n weight: props.font?.weight ?? 700,\n family: props.font?.family ?? theme.font.family,\n height: props.font?.height,\n }}\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 $isDisabledOutline={props.isDisabled ?? props.isDisabledOutline}\n $isOutlineBoxShadow={props.isOutlineBoxShadow}\n $isReadOnly={props.isReadOnly}\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 ? (\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 ?? theme.font.family,\n }}\n />\n ) : null}\n </>\n );\n};\n","import { Icon } from '@local/components/icon';\nimport { addSXTypography } from '@local/components/typography';\nimport { addDisabled, addFont, 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 styled, { css } from 'styled-components';\n\nimport { addRippleDefault } from '../ripple';\nimport { StyledCheckboxProps, StyledIconProps } from '.';\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 padding: ${props.padding - 4}px;\n ${\n props.isWidthAsHeight &&\n css`\n width: ${props.height}px;\n min-width: ${props.height}px;\n padding: 0px;\n `\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 addCheckboxDisabled = css<StyledCheckboxProps>`\n ${addDisabled};\n ${(props) =>\n props.$isDisabled\n ? css`\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 : ''}\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 ${CheckboxHiddenBorder};\n ${CheckboxSize};\n ${addCheckboxDisabled}\n ${addOutline};\n ${addFont};\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"],"names":["_a","jsxs","Fragment","jsx"],"mappings":"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"}
|
|
@@ -1,15 +1,15 @@
|
|
|
1
1
|
import { j as jsxRuntimeExports } from "./jsx-runtime-BrDlu8eK.js";
|
|
2
2
|
import { ImageSupportedFormatsForInput } from "./consts.es.js";
|
|
3
|
-
import { u as useImageCrop } from "./use-
|
|
4
|
-
import { c as Button } from "./component-
|
|
5
|
-
import { I as Image } from "./component.styles-
|
|
3
|
+
import { u as useImageCrop } from "./use-DLVWi2kS.js";
|
|
4
|
+
import { c as Button } from "./component-DJYgewYg.js";
|
|
5
|
+
import { I as Image } from "./component.styles-CPWNnqqm.js";
|
|
6
6
|
import { b as Stack } from "./component-jPZYT5iL.js";
|
|
7
7
|
import styled, { useTheme, css } from "styled-components";
|
|
8
|
-
import {
|
|
9
|
-
import { a as useDialog } from "./context.constants-
|
|
10
|
-
import { K as KEY_SIZE_DATA } from "./theme.global-
|
|
8
|
+
import { i as Typography } from "./component-DKMsOpqH.js";
|
|
9
|
+
import { a as useDialog } from "./context.constants-CvkvB0XC.js";
|
|
10
|
+
import { K as KEY_SIZE_DATA } from "./theme.global-BgERDJ4e.js";
|
|
11
11
|
import { useMemo, useCallback, useState, useRef, useEffect } from "react";
|
|
12
|
-
import { b as ErrorMessage, a as addError } from "./style-
|
|
12
|
+
import { b as ErrorMessage, a as addError } from "./style-uVTmdhsH.js";
|
|
13
13
|
import { motion } from "framer-motion";
|
|
14
14
|
import { a as addSX } from "./style-plT9Ah7t.js";
|
|
15
15
|
const useImageView = (props) => {
|
|
@@ -415,7 +415,18 @@ const ImageSelect = (props) => {
|
|
|
415
415
|
)
|
|
416
416
|
] })
|
|
417
417
|
] }),
|
|
418
|
-
(props == null ? void 0 : props.error) ? /* @__PURE__ */ jsxRuntimeExports.jsx(
|
|
418
|
+
(props == null ? void 0 : props.error) ? /* @__PURE__ */ jsxRuntimeExports.jsx(
|
|
419
|
+
ErrorMessage,
|
|
420
|
+
{
|
|
421
|
+
...props.error,
|
|
422
|
+
size: (props == null ? void 0 : props.error.size) ?? props.size,
|
|
423
|
+
font: {
|
|
424
|
+
size: 12,
|
|
425
|
+
weight: 400,
|
|
426
|
+
family: theme.font.family
|
|
427
|
+
}
|
|
428
|
+
}
|
|
429
|
+
) : null
|
|
419
430
|
] });
|
|
420
431
|
};
|
|
421
432
|
const ImageSelectListGenre = css`
|
|
@@ -471,4 +482,4 @@ export {
|
|
|
471
482
|
ImageSelectWrapper as e,
|
|
472
483
|
ImageSelectListWrapper as f
|
|
473
484
|
};
|
|
474
|
-
//# sourceMappingURL=component.styles-
|
|
485
|
+
//# sourceMappingURL=component.styles-DOnQEUrI.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"component.styles-CggIUAVx.js","sources":["../src/hooks/use-image-view/use.tsx","../src/components/image-select/component.tsx","../src/components/image-select/component.styles.ts"],"sourcesContent":["import { Button } from '@local/components/button'\nimport { Image } from '@local/components/image'\nimport { SliderImageProps } from '@local/components/image-slider'\nimport { Stack } from '@local/components/stack'\nimport { Typography } from '@local/components/typography'\nimport { useDialog } from '@local/contexts/context-dialog'\nimport { KEY_SIZE_DATA } from '@local/theme'\n\nimport { useCallback, useMemo } from 'react'\n\nimport { useImageViewProps } from '.'\n\nexport const useImageView = (props: useImageViewProps) => {\n const size = useMemo(() => KEY_SIZE_DATA[props.size], [props.size])\n const br = useMemo(() => `${size.radius}px`, [size.radius])\n\n const { add } = useDialog<{\n br?: string\n }>({\n br: br,\n propsDialog: {\n borderRadius: br,\n padding: '0',\n background: 'whiteStandard'\n }\n })\n const handleAdd = useCallback(\n (image: SliderImageProps) => {\n add({\n content: (params, remove) => (\n <Stack\n sx={{\n default: {\n position: 'relative',\n overflow: 'hidden',\n aspectRatio: `${props.imageSettings.aspect * 2} / 2`,\n width: 'auto',\n maxWidth: '70dvw',\n height: '85dvh',\n borderRadius: params?.br\n },\n tablet: {\n maxWidth: '95dvw'\n }\n }}\n >\n <Image\n sxStack={theme => ({\n default: {\n width: '100%',\n height: '100%',\n alignItems: 'center',\n justifyContent: 'center',\n backgroundColor: theme.palette.black10,\n position: 'absolute',\n pointerEvents: 'none'\n }\n })}\n isShowBeforeImage\n sxImage={{\n default: {\n objectFit: 'contain'\n }\n }}\n alt={image?.imageSrc}\n src={image?.imageSrc}\n componentFallback={\n <Typography\n sx={{\n default: {\n variant: 'h6'\n }\n }}\n >\n {props.locale.imageFallback}\n </Typography>\n }\n />\n <Button\n sx={{\n default: {\n position: 'absolute',\n bottom: 15,\n right: 15\n }\n }}\n genre=\"realebail-white\"\n size=\"small\"\n icons={[\n {\n type: 'id',\n name: 'Arrow4'\n }\n ]}\n isWidthAsHeight\n isHiddenBorder\n isRadius\n onClick={() => remove?.()}\n />\n </Stack>\n )\n })\n },\n [add, props.imageSettings.aspect, props.locale.imageFallback]\n )\n return { handleAdd }\n}\n","import { ImageSupportedFormatsForInput } from '@local/consts';\nimport { useImageCrop } from '@local/hooks/use-image-crop';\nimport { useImageView } from '@local/hooks/use-image-view';\nimport { ErrorMessage } from '@local/styles/error';\nimport { KEY_SIZE_DATA } from '@local/theme';\n\nimport { motion } from 'framer-motion';\nimport { DragEvent, useCallback, useEffect, useMemo, useRef, useState } from 'react';\nimport { useTheme } from 'styled-components';\n\nimport { Button } from '../button';\nimport { Image } from '../image';\nimport { Stack } from '../stack';\nimport { Typography } from '../typography';\nimport { ImageSelectItemProps, ImageSelectListWrapper, ImageSelectProps, ImageSelectWrapper } from '.';\n\nexport const ImageSelect = (props: ImageSelectProps) => {\n const { onChange } = props;\n\n const size = useMemo(() => KEY_SIZE_DATA[props.size], [props.size]);\n\n const [images, setImages] = useState<ImageSelectItemProps[]>(props.images || []);\n\n const [isDraggingOver, setIsDraggingOver] = useState(false);\n\n const refInput = useRef<HTMLInputElement | null>(null);\n\n const theme = useTheme();\n\n const handleDrop = (e: DragEvent<HTMLDivElement>) => {\n e.preventDefault();\n if (e.dataTransfer.files?.length) {\n handleAddFilesCrop(e.dataTransfer.files);\n }\n };\n\n const handleDelete = (id: number) => {\n setImages((prev) => {\n const finalImages = prev.filter((img) => img.id !== id);\n onChange?.(finalImages);\n return finalImages;\n });\n };\n\n const handleOnSave = useCallback(\n (files: ImageSelectItemProps[] | null) => {\n if (files) {\n setImages((prev) => {\n const newImages = files.map((file, idx) => ({\n ...file,\n index: prev.length + idx,\n }));\n const finalImages = [...prev, ...newImages];\n onChange?.(finalImages);\n return finalImages;\n });\n }\n },\n [onChange],\n );\n\n const openFileDialog = () => {\n refInput.current?.click();\n };\n\n const resetImages = () => {\n setImages(props.defaultImages || []);\n onChange?.(props.defaultImages || []);\n };\n\n const { handleAddFiles: handleAddFilesCrop } = useImageCrop({\n onSave: handleOnSave,\n locale: props.locale,\n dialog: {\n button: {\n genre: props.propsButton.default.genre,\n size: props.propsButton.default.size,\n },\n buttonDelete: {\n genre: props.propsButton.delete.genre,\n size: props.propsButton.delete.size,\n },\n },\n imageSettings: {\n maxSize: props.imageSettings.maxSize,\n maxCount: props.imageSettings.maxCount - images.length,\n aspect: props.imageSettings.aspect,\n },\n refInput: refInput,\n });\n\n const { handleAdd } = useImageView({\n size: props.size,\n locale: props.locale,\n imageSettings: props.imageSettings,\n genre: props.genre,\n });\n\n useEffect(() => {\n setImages(props.images || []);\n }, [props.images]);\n\n return (\n <>\n <ImageSelectWrapper $genre={props.genre} $size={props.size} id={props.id} $sx={props.sx} $error={props.error}>\n <ImageSelectListWrapper\n onDrop={(e) => {\n handleDrop(e);\n setIsDraggingOver(false);\n }}\n onDragOver={(e) => e.preventDefault()}\n onDragEnter={() => setIsDraggingOver(true)}\n onDragLeave={() => setIsDraggingOver(false)}\n animate={{\n borderColor: isDraggingOver\n ? theme.colors.imageSelect[props.genre].border.hover\n : theme.colors.imageSelect[props.genre].border.rest,\n }}\n transition={{ duration: 0.3 }}\n $genre={props.genre}\n $size={props.size}\n >\n <motion.div\n transition={{\n layout: {\n duration: 0.3,\n ease: 'easeInOut',\n type: 'spring',\n },\n }}\n layout\n style={{ display: 'flex', flexWrap: 'wrap', gap: `${size.padding - 2}px` }}\n >\n {images.map(\n (img) =>\n img.url && (\n <motion.div\n key={img.id}\n style={{\n position: 'relative',\n width: `${props.imageSettings.width}px`,\n height: `${props.imageSettings.height}px`,\n userSelect: 'none',\n overflow: 'hidden',\n borderRadius: `${size.radius}px`,\n flexGrow: 1,\n }}\n layout\n transition={{\n layout: {\n duration: 0.3,\n ease: 'easeInOut',\n type: 'spring',\n },\n }}\n >\n <Image\n sxStack={(theme) => ({\n default: {\n width: '100%',\n height: '100%',\n alignItems: 'center',\n justifyContent: 'center',\n backgroundColor: theme.palette.black10,\n position: 'absolute',\n pointerEvents: 'none',\n },\n })}\n isShowBeforeImage={props.isContain}\n sxImage={{\n default: {\n objectFit: props.isContain ? 'contain' : 'cover',\n },\n }}\n alt={img.name || 'image'}\n src={img.url}\n componentFallback={\n <Typography\n sx={{\n default: {\n variant: 'h6',\n },\n }}\n >\n {props.locale.imageFallback}\n </Typography>\n }\n />\n <Button\n sx={{\n default: {\n position: 'absolute',\n top: 5,\n right: 5,\n },\n }}\n genre={props.genre}\n size='small'\n icons={[\n {\n type: 'id',\n name: 'Close',\n },\n ]}\n isWidthAsHeight\n isHiddenBorder\n isRadius\n onClick={() => handleDelete(img.id)}\n />\n <Button\n sx={{\n default: {\n position: 'absolute',\n bottom: 5,\n right: 5,\n },\n }}\n genre={props.genre}\n size='small'\n icons={[\n {\n type: 'id',\n name: 'Activity',\n },\n ]}\n isWidthAsHeight\n isHiddenBorder\n isRadius\n onClick={() => img.url && handleAdd({ id: img.id, imageSrc: img.url })}\n />\n </motion.div>\n ),\n )}\n {images.length === 0 ? (\n <div\n onClick={openFileDialog}\n key='empty'\n style={{\n position: 'relative',\n width: `${props.imageSettings.width}px`,\n height: `${props.imageSettings.height}px`,\n userSelect: 'none',\n overflow: 'hidden',\n borderRadius: `${size.radius}px`,\n flexGrow: 1,\n display: 'flex',\n alignItems: 'center',\n justifyContent: 'center',\n textAlign: 'center',\n cursor: 'pointer',\n }}\n >\n <Typography\n style={{\n color: theme.colors.imageSelect[props.genre].color.rest,\n }}\n sx={{\n default: {},\n }}\n >\n {props.locale.dragAndDrop}\n </Typography>\n </div>\n ) : null}\n </motion.div>\n\n <input\n ref={refInput}\n type='file'\n accept={ImageSupportedFormatsForInput}\n multiple\n style={{ display: 'none' }}\n onChange={(e) => {\n if (e.target.files) handleAddFilesCrop(e.target.files);\n }}\n />\n </ImageSelectListWrapper>\n <Stack sx={{ default: { flexGrow: 1, gap: `${size.padding - 2}px` } }}>\n <Button\n type='button'\n genre={props.genre}\n size={props.size}\n sx={{\n default: {\n flexGrow: 3,\n },\n }}\n isRadius\n onClick={openFileDialog}\n >\n {props.locale.buttonAdd}\n </Button>\n <Button\n isRadius\n type='button'\n sx={{\n default: {\n flexGrow: 1,\n },\n }}\n onClick={resetImages}\n genre={props.genre}\n size={props.size}\n >\n {props.locale.buttonReset}\n </Button>\n </Stack>\n </ImageSelectWrapper>\n {props?.error ? <ErrorMessage {...props.error} size={props?.error.size ?? props.size} /> : null}\n </>\n );\n};\n","import { motion } from 'framer-motion'\nimport styled, { css } from 'styled-components'\n\nimport { addError } from '@local/styles/error'\nimport { addSX } from '@local/styles/sx'\nimport { IThemeSizePropertyDefault, KEY_SIZE_DATA } from '@local/theme'\n\nimport { ImageSelectWrapperProps } from '.'\n\nconst ImageSelectListGenre = css<ImageSelectWrapperProps>`\n ${props => css`\n background: ${props.theme.colors.imageSelect[props.$genre].background.rest};\n color: ${props.theme.colors.imageSelect[props.$genre].color.rest};\n &:active {\n background: ${props.theme.colors.imageSelect[props.$genre].background.rest};\n color: ${props.theme.colors.imageSelect[props.$genre].color.rest};\n }\n &:focus-visible {\n background: ${props.theme.colors.imageSelect[props.$genre].background.rest};\n color: ${props.theme.colors.imageSelect[props.$genre].color.rest};\n }\n `};\n`\n/****************************************** Size *************************************************/\nexport const ImageSelectListSize = css<ImageSelectWrapperProps>`\n ${props => ImageSelectListSizeConstructor(KEY_SIZE_DATA[props.$size])};\n`\nexport const ImageSelectListSizeConstructor = (props: IThemeSizePropertyDefault) => css`\n padding: ${props.padding}px;\n border-radius: ${props.radius}px;\n`\nexport const ImageSelectSize = css<ImageSelectWrapperProps>`\n ${props => ImageSelectSizeConstructor(KEY_SIZE_DATA[props.$size])};\n`\nexport const ImageSelectSizeConstructor = (props: IThemeSizePropertyDefault) => css`\n gap: ${props.padding - 2}px;\n`\nexport const ImageSelectWrapper = styled.div<ImageSelectWrapperProps>`\n display: flex;\n flex-direction: column;\n width: 100%;\n ${ImageSelectSize};\n ${addError};\n ${addSX};\n`\nexport const ImageSelectListWrapper = styled(motion.div)<ImageSelectWrapperProps>`\n border: 2px dashed;\n\n display: flex;\n flex-direction: column;\n width: 100%;\n ${ImageSelectListGenre}\n ${ImageSelectListSize}\n`\n"],"names":["jsxs","jsx","Fragment","theme"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"component.styles-DOnQEUrI.js","sources":["../src/hooks/use-image-view/use.tsx","../src/components/image-select/component.tsx","../src/components/image-select/component.styles.ts"],"sourcesContent":["import { Button } from '@local/components/button'\nimport { Image } from '@local/components/image'\nimport { SliderImageProps } from '@local/components/image-slider'\nimport { Stack } from '@local/components/stack'\nimport { Typography } from '@local/components/typography'\nimport { useDialog } from '@local/contexts/context-dialog'\nimport { KEY_SIZE_DATA } from '@local/theme'\n\nimport { useCallback, useMemo } from 'react'\n\nimport { useImageViewProps } from '.'\n\nexport const useImageView = (props: useImageViewProps) => {\n const size = useMemo(() => KEY_SIZE_DATA[props.size], [props.size])\n const br = useMemo(() => `${size.radius}px`, [size.radius])\n\n const { add } = useDialog<{\n br?: string\n }>({\n br: br,\n propsDialog: {\n borderRadius: br,\n padding: '0',\n background: 'whiteStandard'\n }\n })\n const handleAdd = useCallback(\n (image: SliderImageProps) => {\n add({\n content: (params, remove) => (\n <Stack\n sx={{\n default: {\n position: 'relative',\n overflow: 'hidden',\n aspectRatio: `${props.imageSettings.aspect * 2} / 2`,\n width: 'auto',\n maxWidth: '70dvw',\n height: '85dvh',\n borderRadius: params?.br\n },\n tablet: {\n maxWidth: '95dvw'\n }\n }}\n >\n <Image\n sxStack={theme => ({\n default: {\n width: '100%',\n height: '100%',\n alignItems: 'center',\n justifyContent: 'center',\n backgroundColor: theme.palette.black10,\n position: 'absolute',\n pointerEvents: 'none'\n }\n })}\n isShowBeforeImage\n sxImage={{\n default: {\n objectFit: 'contain'\n }\n }}\n alt={image?.imageSrc}\n src={image?.imageSrc}\n componentFallback={\n <Typography\n sx={{\n default: {\n variant: 'h6'\n }\n }}\n >\n {props.locale.imageFallback}\n </Typography>\n }\n />\n <Button\n sx={{\n default: {\n position: 'absolute',\n bottom: 15,\n right: 15\n }\n }}\n genre=\"realebail-white\"\n size=\"small\"\n icons={[\n {\n type: 'id',\n name: 'Arrow4'\n }\n ]}\n isWidthAsHeight\n isHiddenBorder\n isRadius\n onClick={() => remove?.()}\n />\n </Stack>\n )\n })\n },\n [add, props.imageSettings.aspect, props.locale.imageFallback]\n )\n return { handleAdd }\n}\n","import { ImageSupportedFormatsForInput } from '@local/consts';\nimport { useImageCrop } from '@local/hooks/use-image-crop';\nimport { useImageView } from '@local/hooks/use-image-view';\nimport { ErrorMessage } from '@local/styles/error';\nimport { KEY_SIZE_DATA } from '@local/theme';\n\nimport { motion } from 'framer-motion';\nimport { DragEvent, useCallback, useEffect, useMemo, useRef, useState } from 'react';\nimport { useTheme } from 'styled-components';\n\nimport { Button } from '../button';\nimport { Image } from '../image';\nimport { Stack } from '../stack';\nimport { Typography } from '../typography';\nimport { ImageSelectItemProps, ImageSelectListWrapper, ImageSelectProps, ImageSelectWrapper } from '.';\n\nexport const ImageSelect = (props: ImageSelectProps) => {\n const { onChange } = props;\n\n const size = useMemo(() => KEY_SIZE_DATA[props.size], [props.size]);\n\n const [images, setImages] = useState<ImageSelectItemProps[]>(props.images || []);\n\n const [isDraggingOver, setIsDraggingOver] = useState(false);\n\n const refInput = useRef<HTMLInputElement | null>(null);\n\n const theme = useTheme();\n\n const handleDrop = (e: DragEvent<HTMLDivElement>) => {\n e.preventDefault();\n if (e.dataTransfer.files?.length) {\n handleAddFilesCrop(e.dataTransfer.files);\n }\n };\n\n const handleDelete = (id: number) => {\n setImages((prev) => {\n const finalImages = prev.filter((img) => img.id !== id);\n onChange?.(finalImages);\n return finalImages;\n });\n };\n\n const handleOnSave = useCallback(\n (files: ImageSelectItemProps[] | null) => {\n if (files) {\n setImages((prev) => {\n const newImages = files.map((file, idx) => ({\n ...file,\n index: prev.length + idx,\n }));\n const finalImages = [...prev, ...newImages];\n onChange?.(finalImages);\n return finalImages;\n });\n }\n },\n [onChange],\n );\n\n const openFileDialog = () => {\n refInput.current?.click();\n };\n\n const resetImages = () => {\n setImages(props.defaultImages || []);\n onChange?.(props.defaultImages || []);\n };\n\n const { handleAddFiles: handleAddFilesCrop } = useImageCrop({\n onSave: handleOnSave,\n locale: props.locale,\n dialog: {\n button: {\n genre: props.propsButton.default.genre,\n size: props.propsButton.default.size,\n },\n buttonDelete: {\n genre: props.propsButton.delete.genre,\n size: props.propsButton.delete.size,\n },\n },\n imageSettings: {\n maxSize: props.imageSettings.maxSize,\n maxCount: props.imageSettings.maxCount - images.length,\n aspect: props.imageSettings.aspect,\n },\n refInput: refInput,\n });\n\n const { handleAdd } = useImageView({\n size: props.size,\n locale: props.locale,\n imageSettings: props.imageSettings,\n genre: props.genre,\n });\n\n useEffect(() => {\n setImages(props.images || []);\n }, [props.images]);\n\n return (\n <>\n <ImageSelectWrapper $genre={props.genre} $size={props.size} id={props.id} $sx={props.sx} $error={props.error}>\n <ImageSelectListWrapper\n onDrop={(e) => {\n handleDrop(e);\n setIsDraggingOver(false);\n }}\n onDragOver={(e) => e.preventDefault()}\n onDragEnter={() => setIsDraggingOver(true)}\n onDragLeave={() => setIsDraggingOver(false)}\n animate={{\n borderColor: isDraggingOver\n ? theme.colors.imageSelect[props.genre].border.hover\n : theme.colors.imageSelect[props.genre].border.rest,\n }}\n transition={{ duration: 0.3 }}\n $genre={props.genre}\n $size={props.size}\n >\n <motion.div\n transition={{\n layout: {\n duration: 0.3,\n ease: 'easeInOut',\n type: 'spring',\n },\n }}\n layout\n style={{ display: 'flex', flexWrap: 'wrap', gap: `${size.padding - 2}px` }}\n >\n {images.map(\n (img) =>\n img.url && (\n <motion.div\n key={img.id}\n style={{\n position: 'relative',\n width: `${props.imageSettings.width}px`,\n height: `${props.imageSettings.height}px`,\n userSelect: 'none',\n overflow: 'hidden',\n borderRadius: `${size.radius}px`,\n flexGrow: 1,\n }}\n layout\n transition={{\n layout: {\n duration: 0.3,\n ease: 'easeInOut',\n type: 'spring',\n },\n }}\n >\n <Image\n sxStack={(theme) => ({\n default: {\n width: '100%',\n height: '100%',\n alignItems: 'center',\n justifyContent: 'center',\n backgroundColor: theme.palette.black10,\n position: 'absolute',\n pointerEvents: 'none',\n },\n })}\n isShowBeforeImage={props.isContain}\n sxImage={{\n default: {\n objectFit: props.isContain ? 'contain' : 'cover',\n },\n }}\n alt={img.name || 'image'}\n src={img.url}\n componentFallback={\n <Typography\n sx={{\n default: {\n variant: 'h6',\n },\n }}\n >\n {props.locale.imageFallback}\n </Typography>\n }\n />\n <Button\n sx={{\n default: {\n position: 'absolute',\n top: 5,\n right: 5,\n },\n }}\n genre={props.genre}\n size='small'\n icons={[\n {\n type: 'id',\n name: 'Close',\n },\n ]}\n isWidthAsHeight\n isHiddenBorder\n isRadius\n onClick={() => handleDelete(img.id)}\n />\n <Button\n sx={{\n default: {\n position: 'absolute',\n bottom: 5,\n right: 5,\n },\n }}\n genre={props.genre}\n size='small'\n icons={[\n {\n type: 'id',\n name: 'Activity',\n },\n ]}\n isWidthAsHeight\n isHiddenBorder\n isRadius\n onClick={() => img.url && handleAdd({ id: img.id, imageSrc: img.url })}\n />\n </motion.div>\n ),\n )}\n {images.length === 0 ? (\n <div\n onClick={openFileDialog}\n key='empty'\n style={{\n position: 'relative',\n width: `${props.imageSettings.width}px`,\n height: `${props.imageSettings.height}px`,\n userSelect: 'none',\n overflow: 'hidden',\n borderRadius: `${size.radius}px`,\n flexGrow: 1,\n display: 'flex',\n alignItems: 'center',\n justifyContent: 'center',\n textAlign: 'center',\n cursor: 'pointer',\n }}\n >\n <Typography\n style={{\n color: theme.colors.imageSelect[props.genre].color.rest,\n }}\n sx={{\n default: {},\n }}\n >\n {props.locale.dragAndDrop}\n </Typography>\n </div>\n ) : null}\n </motion.div>\n\n <input\n ref={refInput}\n type='file'\n accept={ImageSupportedFormatsForInput}\n multiple\n style={{ display: 'none' }}\n onChange={(e) => {\n if (e.target.files) handleAddFilesCrop(e.target.files);\n }}\n />\n </ImageSelectListWrapper>\n <Stack sx={{ default: { flexGrow: 1, gap: `${size.padding - 2}px` } }}>\n <Button\n type='button'\n genre={props.genre}\n size={props.size}\n sx={{\n default: {\n flexGrow: 3,\n },\n }}\n isRadius\n onClick={openFileDialog}\n >\n {props.locale.buttonAdd}\n </Button>\n <Button\n isRadius\n type='button'\n sx={{\n default: {\n flexGrow: 1,\n },\n }}\n onClick={resetImages}\n genre={props.genre}\n size={props.size}\n >\n {props.locale.buttonReset}\n </Button>\n </Stack>\n </ImageSelectWrapper>\n {props?.error ? (\n <ErrorMessage\n {...props.error}\n size={props?.error.size ?? props.size}\n font={{\n size: 12,\n weight: 400,\n family: theme.font.family,\n }}\n />\n ) : null}\n </>\n );\n};\n","import { motion } from 'framer-motion'\nimport styled, { css } from 'styled-components'\n\nimport { addError } from '@local/styles/error'\nimport { addSX } from '@local/styles/sx'\nimport { IThemeSizePropertyDefault, KEY_SIZE_DATA } from '@local/theme'\n\nimport { ImageSelectWrapperProps } from '.'\n\nconst ImageSelectListGenre = css<ImageSelectWrapperProps>`\n ${props => css`\n background: ${props.theme.colors.imageSelect[props.$genre].background.rest};\n color: ${props.theme.colors.imageSelect[props.$genre].color.rest};\n &:active {\n background: ${props.theme.colors.imageSelect[props.$genre].background.rest};\n color: ${props.theme.colors.imageSelect[props.$genre].color.rest};\n }\n &:focus-visible {\n background: ${props.theme.colors.imageSelect[props.$genre].background.rest};\n color: ${props.theme.colors.imageSelect[props.$genre].color.rest};\n }\n `};\n`\n/****************************************** Size *************************************************/\nexport const ImageSelectListSize = css<ImageSelectWrapperProps>`\n ${props => ImageSelectListSizeConstructor(KEY_SIZE_DATA[props.$size])};\n`\nexport const ImageSelectListSizeConstructor = (props: IThemeSizePropertyDefault) => css`\n padding: ${props.padding}px;\n border-radius: ${props.radius}px;\n`\nexport const ImageSelectSize = css<ImageSelectWrapperProps>`\n ${props => ImageSelectSizeConstructor(KEY_SIZE_DATA[props.$size])};\n`\nexport const ImageSelectSizeConstructor = (props: IThemeSizePropertyDefault) => css`\n gap: ${props.padding - 2}px;\n`\nexport const ImageSelectWrapper = styled.div<ImageSelectWrapperProps>`\n display: flex;\n flex-direction: column;\n width: 100%;\n ${ImageSelectSize};\n ${addError};\n ${addSX};\n`\nexport const ImageSelectListWrapper = styled(motion.div)<ImageSelectWrapperProps>`\n border: 2px dashed;\n\n display: flex;\n flex-direction: column;\n width: 100%;\n ${ImageSelectListGenre}\n ${ImageSelectListSize}\n`\n"],"names":["jsxs","jsx","Fragment","theme"],"mappings":"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"}
|
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
import { j as jsxRuntimeExports } from "./jsx-runtime-BrDlu8eK.js";
|
|
2
|
-
import { J as JeneseiPalette, K as KEY_SIZE_DATA } from "./theme.global-
|
|
2
|
+
import { J as JeneseiPalette, K as KEY_SIZE_DATA } from "./theme.global-BgERDJ4e.js";
|
|
3
3
|
import { useMemo } from "react";
|
|
4
4
|
import styled, { css } from "styled-components";
|
|
5
|
-
import {
|
|
5
|
+
import { f as addColorTransition } from "./style-RL73t3JD.js";
|
|
6
6
|
import { a as addSX } from "./style-plT9Ah7t.js";
|
|
7
7
|
const Card = "<g fill='none' stroke='currentColor' strokewidth='{1.5}'><path d='M2 12c0-3.771 0-5.657 1.172-6.828S6.229 4 10 4h4c3.771 0 5.657 0 6.828 1.172S22 8.229 22 12s0 5.657-1.172 6.828S17.771 20 14 20h-4c-3.771 0-5.657 0-6.828-1.172S2 15.771 2 12Z'></path><path strokelinecap='round' d='M10 16H6m8 0h-1.5M2 10h20'></path></g>";
|
|
8
8
|
const Delivery = "<g fill='none' stroke='currentColor' strokelinecap='round' strokelinejoin='round' strokewidth='{1.5}'><path d='M16 6.25v9.51q-.18.225-.29.49H8.29a2.5 2.5 0 0 0-4.58 0H3a1 1 0 0 1-1-1v-9a2 2 0 0 1 2-2h10a2 2 0 0 1 2 2m6 7.11v2.89h-1.71a2.49 2.49 0 0 0-4.29-.49V7.25h2.43a1 1 0 0 1 .86.49l.91 1.51l1.23 2.05a4 4 0 0 1 .57 2.06'></path><path d='M8.5 17.25a2.5 2.5 0 1 1-4.79-1a2.5 2.5 0 0 1 4.79 1m12 0a2.5 2.5 0 1 1-4.79-1q.11-.265.29-.49a2.49 2.49 0 0 1 4.29.49c.14.315.212.656.21 1m-9.5-6H6m5-3H6'></path></g>";
|
|
@@ -2190,4 +2190,4 @@ export {
|
|
|
2190
2190
|
Icon as I,
|
|
2191
2191
|
StyledSVG as S
|
|
2192
2192
|
};
|
|
2193
|
-
//# sourceMappingURL=component.styles-
|
|
2193
|
+
//# sourceMappingURL=component.styles-DS0ofW1Y.js.map
|