@jenesei-software/jenesei-kit-react 1.0.0 → 1.0.1
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/README.md +0 -1
- package/build/{area-DfCAwCiZ.js → area-3gVEQsJq.js} +20 -22
- package/build/area-3gVEQsJq.js.map +1 -0
- package/build/area-C8w6fMSn.cjs +38 -0
- package/build/area-C8w6fMSn.cjs.map +1 -0
- package/build/{area-9NUxwBGc.cjs → area-E4w7aKuZ.cjs} +2 -2
- package/build/{area-9NUxwBGc.cjs.map → area-E4w7aKuZ.cjs.map} +1 -1
- package/build/{area-BnAddPtl.js → area-EcUYP2tl.js} +2 -2
- package/build/{area-BnAddPtl.js.map → area-EcUYP2tl.js.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-C2JFFh-k.js → component--cOriuv7.js} +103 -27
- package/build/component--cOriuv7.js.map +1 -0
- package/build/{component-CFMlaYj1.js → component-9m1Ib3fS.js} +2 -2
- package/build/{component-CFMlaYj1.js.map → component-9m1Ib3fS.js.map} +1 -1
- package/build/{component-CuiUpH8H.js → component-B1IQ5CfM.js} +10 -10
- package/build/component-B1IQ5CfM.js.map +1 -0
- package/build/{component-C52VCES6.cjs → component-BnYw0FvH.cjs} +21 -17
- package/build/component-BnYw0FvH.cjs.map +1 -0
- package/build/{component-nFn_uOy_.cjs → component-Bovatz78.cjs} +2 -2
- package/build/{component-nFn_uOy_.cjs.map → component-Bovatz78.cjs.map} +1 -1
- package/build/{component-UW1VzyvB.cjs → component-C0atFCun.cjs} +2 -2
- package/build/{component-UW1VzyvB.cjs.map → component-C0atFCun.cjs.map} +1 -1
- package/build/{component-DZxbW_Jz.js → component-CbPhVNw5.js} +30 -28
- package/build/component-CbPhVNw5.js.map +1 -0
- package/build/component-CbnBTIR5.cjs +2 -0
- package/build/component-CbnBTIR5.cjs.map +1 -0
- package/build/{component-xnEaYd4a.cjs → component-D7A-4DNQ.cjs} +2 -2
- package/build/{component-xnEaYd4a.cjs.map → component-D7A-4DNQ.cjs.map} +1 -1
- package/build/{component-CBshLNEf.js → component-DURhph1i.js} +3 -3
- package/build/{component-CBshLNEf.js.map → component-DURhph1i.js.map} +1 -1
- package/build/component-X4e7zEKk.cjs +90 -0
- package/build/component-X4e7zEKk.cjs.map +1 -0
- 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 +5 -1
- package/build/component-button-group.es.js +1 -1
- package/build/component-button.cjs.js +1 -1
- package/build/component-button.d.ts +6 -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 +2 -1
- package/build/component-checkbox-group.es.js +1 -1
- package/build/component-checkbox.cjs.js +1 -1
- package/build/component-checkbox.d.ts +2 -1
- package/build/component-checkbox.es.js +1 -1
- package/build/component-date-picker.cjs.js +1 -1
- package/build/component-date-picker.d.ts +93 -70
- 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 +5 -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 +5 -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 +31 -19
- package/build/component-input-otp.es.js +1 -1
- package/build/component-input.cjs.js +1 -1
- package/build/component-input.d.ts +48 -38
- package/build/component-input.es.js +4 -4
- 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 +5 -1
- package/build/component-pagination.es.js +1 -1
- package/build/component-range.cjs.js +1 -1
- package/build/component-range.d.ts +28 -18
- package/build/component-range.es.js +1 -1
- package/build/component-ripple.cjs.js +1 -1
- package/build/component-ripple.es.js +1 -1
- package/build/component-select.cjs.js +1 -1
- package/build/component-select.d.ts +125 -230
- package/build/component-select.es.js +16 -20
- package/build/component-separator.cjs.js +1 -1
- package/build/component-separator.d.ts +3 -2
- package/build/component-separator.es.js +1 -1
- package/build/component-textarea.cjs.js +1 -1
- package/build/component-textarea.d.ts +74 -53
- package/build/component-textarea.es.js +4 -8
- package/build/component-toggle.cjs.js +1 -1
- package/build/component-toggle.es.js +1 -1
- package/build/component-tooltip.cjs.js +1 -1
- package/build/component-tooltip.d.ts +9 -2
- package/build/component-tooltip.es.js +1 -1
- package/build/component-typography.cjs.js +1 -1
- package/build/component-typography.d.ts +8 -2
- package/build/component-typography.es.js +1 -1
- package/build/{component-ByY_9Ryc.js → component-vpCWcIhC.js} +2 -2
- package/build/{component-ByY_9Ryc.js.map → component-vpCWcIhC.js.map} +1 -1
- package/build/{component.components-CaR5gfQW.cjs → component.components-1kRDD3KO.cjs} +2 -2
- package/build/{component.components-CaR5gfQW.cjs.map → component.components-1kRDD3KO.cjs.map} +1 -1
- package/build/{component.components-BAAT5GTH.js → component.components-CQ3LLnFl.js} +5 -5
- package/build/{component.components-BAAT5GTH.js.map → component.components-CQ3LLnFl.js.map} +1 -1
- package/build/{component.constants-DRvp5Bez.js → component.constants-B1rq1PLe.js} +2 -2
- package/build/{component.constants-DRvp5Bez.js.map → component.constants-B1rq1PLe.js.map} +1 -1
- package/build/{component.constants-DbNhxh0k.js → component.constants-B95xyW0s.js} +211 -207
- package/build/component.constants-B95xyW0s.js.map +1 -0
- package/build/{component.constants-BeWW8Ijx.cjs → component.constants-BLHg7rcI.cjs} +2 -2
- package/build/{component.constants-BeWW8Ijx.cjs.map → component.constants-BLHg7rcI.cjs.map} +1 -1
- package/build/component.constants-Gz2mf7IF.cjs +22 -0
- package/build/component.constants-Gz2mf7IF.cjs.map +1 -0
- package/build/{component.styles-BfvB83xM.cjs → component.styles-B-ZAk_1C.cjs} +7 -7
- package/build/component.styles-B-ZAk_1C.cjs.map +1 -0
- package/build/{component.styles-Do1NYZEO.js → component.styles-BI4OuDrG.js} +32 -20
- package/build/component.styles-BI4OuDrG.js.map +1 -0
- package/build/component.styles-BLh29xwF.cjs +10 -0
- package/build/component.styles-BLh29xwF.cjs.map +1 -0
- package/build/component.styles-BnJjm_ES.js +37 -0
- package/build/component.styles-BnJjm_ES.js.map +1 -0
- package/build/{component.styles-RkQwTlwG.js → component.styles-BoBaG6sX.js} +13 -5
- package/build/component.styles-BoBaG6sX.js.map +1 -0
- package/build/component.styles-BrGPrrEb.cjs +39 -0
- package/build/component.styles-BrGPrrEb.cjs.map +1 -0
- package/build/{component.styles-ZtwHuL4x.cjs → component.styles-Bz2vyHqK.cjs} +5 -7
- package/build/component.styles-Bz2vyHqK.cjs.map +1 -0
- package/build/{component.styles-CVBpx4fw.js → component.styles-BzNkEurr.js} +13 -13
- package/build/component.styles-BzNkEurr.js.map +1 -0
- package/build/component.styles-CLn52hJD.cjs +14 -0
- package/build/component.styles-CLn52hJD.cjs.map +1 -0
- package/build/{component.styles-DOPCUXcr.js → component.styles-CRWn1pVi.js} +11 -13
- package/build/component.styles-CRWn1pVi.js.map +1 -0
- package/build/{component.styles-CmEFZfA5.js → component.styles-CccZrbSA.js} +53 -42
- package/build/component.styles-CccZrbSA.js.map +1 -0
- package/build/component.styles-CdtZm7bl.cjs +165 -0
- package/build/component.styles-CdtZm7bl.cjs.map +1 -0
- package/build/{component.styles-BapdQNhL.js → component.styles-CiGPOpxk.js} +5 -5
- package/build/component.styles-CiGPOpxk.js.map +1 -0
- package/build/component.styles-CvJK1eif.cjs +230 -0
- package/build/component.styles-CvJK1eif.cjs.map +1 -0
- package/build/component.styles-D6KuudL3.js +1372 -0
- package/build/component.styles-D6KuudL3.js.map +1 -0
- package/build/{component.styles-DyGfo9t0.cjs → component.styles-DDUGBJle.cjs} +2 -2
- package/build/{component.styles-DyGfo9t0.cjs.map → component.styles-DDUGBJle.cjs.map} +1 -1
- package/build/{component.styles-CTo5NC52.js → component.styles-DMBvhmz6.js} +4 -4
- package/build/{component.styles-CTo5NC52.js.map → component.styles-DMBvhmz6.js.map} +1 -1
- package/build/component.styles-DWoybqna.cjs +137 -0
- package/build/component.styles-DWoybqna.cjs.map +1 -0
- package/build/component.styles-DhI3n-dL.js +213 -0
- package/build/component.styles-DhI3n-dL.js.map +1 -0
- package/build/{component.styles-DxeG9Opm.cjs → component.styles-DjLSmx3e.cjs} +2 -2
- package/build/{component.styles-DxeG9Opm.cjs.map → component.styles-DjLSmx3e.cjs.map} +1 -1
- package/build/component.styles-DqTkSP8L.js +1023 -0
- package/build/component.styles-DqTkSP8L.js.map +1 -0
- package/build/{component.styles-Dok17vPl.js → component.styles-DuIrUV9k.js} +2 -2
- package/build/{component.styles-Dok17vPl.js.map → component.styles-DuIrUV9k.js.map} +1 -1
- package/build/component.styles-DwdN7mQq.cjs +99 -0
- package/build/component.styles-DwdN7mQq.cjs.map +1 -0
- package/build/{component.styles-CV7jTFCg.js → component.styles-iWM1hPGZ.js} +62 -31
- package/build/component.styles-iWM1hPGZ.js.map +1 -0
- package/build/{component.styles-CZu2m0O4.cjs → component.styles-q4ne6jV1.cjs} +2 -2
- package/build/{component.styles-CZu2m0O4.cjs.map → component.styles-q4ne6jV1.cjs.map} +1 -1
- package/build/{component.styles-C6LohBfF.js → component.styles-uPfiNBIy.js} +3 -3
- package/build/{component.styles-C6LohBfF.js.map → component.styles-uPfiNBIy.js.map} +1 -1
- package/build/component.styles-vcNQJK0U.cjs +65 -0
- package/build/component.styles-vcNQJK0U.cjs.map +1 -0
- package/build/component.styles-w3iWQMCq.cjs +13 -0
- package/build/component.styles-w3iWQMCq.cjs.map +1 -0
- package/build/consts.cjs.js.map +1 -1
- package/build/consts.es.js.map +1 -1
- 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.es.js +1 -1
- package/build/context-sonner.cjs.js +1 -1
- package/build/context-sonner.es.js +1 -1
- package/build/{context.constants-DqYjo5m4.js → context.constants-BAz35AJw.js} +5 -5
- package/build/{context.constants-DqYjo5m4.js.map → context.constants-BAz35AJw.js.map} +1 -1
- package/build/{context.constants-B29-_8v3.cjs → context.constants-BJPyze-d.cjs} +2 -2
- package/build/{context.constants-B29-_8v3.cjs.map → context.constants-BJPyze-d.cjs.map} +1 -1
- package/build/{context.constants-CsZRZ7gH.js → context.constants-COR-ReeN.js} +2 -2
- package/build/{context.constants-CsZRZ7gH.js.map → context.constants-COR-ReeN.js.map} +1 -1
- package/build/{context.constants-BaD7xj_m.cjs → context.constants-fwK8ogSf.cjs} +2 -2
- package/build/{context.constants-BaD7xj_m.cjs.map → context.constants-fwK8ogSf.cjs.map} +1 -1
- package/build/{context.hooks-gyzZSaVi.js → context.hooks-Bs1dD25S.js} +4 -4
- package/build/{context.hooks-gyzZSaVi.js.map → context.hooks-Bs1dD25S.js.map} +1 -1
- package/build/{context.hooks-CTi-CVKx.cjs → context.hooks-KAyS_7Pj.cjs} +3 -3
- package/build/{context.hooks-CTi-CVKx.cjs.map → context.hooks-KAyS_7Pj.cjs.map} +1 -1
- package/build/functions.cjs.js.map +1 -1
- package/build/functions.es.js +7 -4
- package/build/functions.es.js.map +1 -1
- package/build/hooks-use-deep-compare-memoize.d.ts +1 -1
- package/build/index.cjs.js +1 -1
- package/build/index.d.ts +289 -227
- package/build/index.es.js +133 -139
- package/build/{style-CEGJOjRW.js → style-Bvt_Melk.js} +32 -12
- package/build/style-Bvt_Melk.js.map +1 -0
- package/build/{style-DeAgDHyI.js → style-DjCgiI7l.js} +3 -3
- package/build/{style-DeAgDHyI.js.map → style-DjCgiI7l.js.map} +1 -1
- package/build/style-add.cjs.js +1 -1
- package/build/style-add.d.ts +11 -1
- package/build/style-add.es.js +6 -4
- package/build/{style-CtGd1JVB.cjs → style-eIuUYu9x.cjs} +2 -2
- package/build/{style-CtGd1JVB.cjs.map → style-eIuUYu9x.cjs.map} +1 -1
- package/build/style-error.cjs.js +1 -1
- package/build/style-error.es.js +1 -1
- package/build/{style-Dm74EPGE.cjs → style-f3_KtJIt.cjs} +30 -14
- package/build/style-f3_KtJIt.cjs.map +1 -0
- package/build/style-theme.cjs.js +1 -1
- package/build/style-theme.es.js +1 -1
- package/build/{theme.global-bN9HlSWE.js → theme.global-B46v_8eu.js} +2 -1
- package/build/{theme.global-bN9HlSWE.js.map → theme.global-B46v_8eu.js.map} +1 -1
- package/build/{theme.global-D6XU05Et.cjs → theme.global-BdZkriPJ.cjs} +2 -1
- package/build/{theme.global-D6XU05Et.cjs.map → theme.global-BdZkriPJ.cjs.map} +1 -1
- package/build/{use-BVj4dgbW.js → use-B6rT81uF.js} +6 -6
- package/build/{use-BVj4dgbW.js.map → use-B6rT81uF.js.map} +1 -1
- package/build/{use-BhofoOgk.cjs → use-BnaBipTR.cjs} +2 -2
- package/build/{use-BhofoOgk.cjs.map → use-BnaBipTR.cjs.map} +1 -1
- package/build/use-C1l0O0Qo.cjs.map +1 -1
- package/build/use-DT0XgvJT.js.map +1 -1
- package/package.json +2 -12
- package/build/area-ClrrGVJG.cjs +0 -40
- package/build/area-ClrrGVJG.cjs.map +0 -1
- package/build/area-DfCAwCiZ.js.map +0 -1
- package/build/component-BnI7BIp-.cjs +0 -2
- package/build/component-BnI7BIp-.cjs.map +0 -1
- package/build/component-C2JFFh-k.js.map +0 -1
- package/build/component-C52VCES6.cjs.map +0 -1
- package/build/component-CuiUpH8H.js.map +0 -1
- package/build/component-D1NPhRuV.cjs +0 -90
- package/build/component-D1NPhRuV.cjs.map +0 -1
- package/build/component-DZxbW_Jz.js.map +0 -1
- package/build/component.constants-D9wVZ3zy.cjs +0 -22
- package/build/component.constants-D9wVZ3zy.cjs.map +0 -1
- package/build/component.constants-DbNhxh0k.js.map +0 -1
- package/build/component.styles-B1DIataj.cjs +0 -10
- package/build/component.styles-B1DIataj.cjs.map +0 -1
- package/build/component.styles-BFwkFWkd.cjs +0 -39
- package/build/component.styles-BFwkFWkd.cjs.map +0 -1
- package/build/component.styles-BSEA2Dqn.cjs +0 -8
- package/build/component.styles-BSEA2Dqn.cjs.map +0 -1
- package/build/component.styles-BapdQNhL.js.map +0 -1
- package/build/component.styles-BfvB83xM.cjs.map +0 -1
- package/build/component.styles-Bn6ylF83.js +0 -859
- package/build/component.styles-Bn6ylF83.js.map +0 -1
- package/build/component.styles-BsZIuwWJ.cjs +0 -140
- package/build/component.styles-BsZIuwWJ.cjs.map +0 -1
- package/build/component.styles-CEBh8X5q.js +0 -20
- package/build/component.styles-CEBh8X5q.js.map +0 -1
- package/build/component.styles-CPsxMKVK.cjs +0 -73
- package/build/component.styles-CPsxMKVK.cjs.map +0 -1
- package/build/component.styles-CV7jTFCg.js.map +0 -1
- package/build/component.styles-CVBpx4fw.js.map +0 -1
- package/build/component.styles-CmBcHREH.cjs +0 -13
- package/build/component.styles-CmBcHREH.cjs.map +0 -1
- package/build/component.styles-CmEFZfA5.js.map +0 -1
- package/build/component.styles-DHIw8p8e.cjs +0 -158
- package/build/component.styles-DHIw8p8e.cjs.map +0 -1
- package/build/component.styles-DOPCUXcr.js.map +0 -1
- package/build/component.styles-Dj3h7jd9.cjs +0 -165
- package/build/component.styles-Dj3h7jd9.cjs.map +0 -1
- package/build/component.styles-Do1NYZEO.js.map +0 -1
- package/build/component.styles-DpkFoWEh.cjs +0 -81
- package/build/component.styles-DpkFoWEh.cjs.map +0 -1
- package/build/component.styles-DqsBDAEo.js +0 -202
- package/build/component.styles-DqsBDAEo.js.map +0 -1
- package/build/component.styles-Du2y0R4W.js +0 -177
- package/build/component.styles-Du2y0R4W.js.map +0 -1
- package/build/component.styles-RkQwTlwG.js.map +0 -1
- package/build/component.styles-ZtwHuL4x.cjs.map +0 -1
- package/build/style-CEGJOjRW.js.map +0 -1
- package/build/style-Dm74EPGE.cjs.map +0 -1
|
@@ -1,14 +1,14 @@
|
|
|
1
1
|
import { j as jsxRuntimeExports } from "./jsx-runtime-BrDlu8eK.js";
|
|
2
2
|
import { useCallback, useMemo } from "react";
|
|
3
3
|
import styled, { useTheme, css } from "styled-components";
|
|
4
|
-
import { b as ErrorMessage, a as addError } from "./style-
|
|
5
|
-
import { I as Icon } from "./component.styles-
|
|
4
|
+
import { b as ErrorMessage, a as addError } from "./style-DjCgiI7l.js";
|
|
5
|
+
import { I as Icon } from "./component.styles-CiGPOpxk.js";
|
|
6
6
|
import { d as addRippleDefault } from "./component.styles-B0L4jbOO.js";
|
|
7
|
-
import { R as Ripple } from "./component-
|
|
8
|
-
import { g as getFontSizeStyles, h as addSXTypography } from "./component
|
|
9
|
-
import { b as addTransition, f as addOutline } from "./style-
|
|
7
|
+
import { R as Ripple } from "./component-vpCWcIhC.js";
|
|
8
|
+
import { g as getFontSizeStyles, h as addSXTypography } from "./component--cOriuv7.js";
|
|
9
|
+
import { k as addDisabled, b as addTransition, f as addOutline } from "./style-Bvt_Melk.js";
|
|
10
10
|
import { a as addSX } from "./style-plT9Ah7t.js";
|
|
11
|
-
import { K as KEY_SIZE_DATA } from "./theme.global-
|
|
11
|
+
import { K as KEY_SIZE_DATA } from "./theme.global-B46v_8eu.js";
|
|
12
12
|
const Checkbox = (props) => {
|
|
13
13
|
const handleOnClick = useCallback(
|
|
14
14
|
(checked) => {
|
|
@@ -95,15 +95,13 @@ const CheckboxGenre = css`
|
|
|
95
95
|
}
|
|
96
96
|
`};
|
|
97
97
|
`;
|
|
98
|
-
const
|
|
98
|
+
const addCheckboxDisabled = css`
|
|
99
|
+
${addDisabled};
|
|
99
100
|
${(props) => props.$isDisabled ? css`
|
|
100
|
-
opacity: 0.5;
|
|
101
101
|
background: ${props.theme.colors.checkbox[props.$genre].background.rest} !important;
|
|
102
102
|
border-color: ${props.theme.colors.checkbox[props.$genre].border.rest} !important;
|
|
103
103
|
color: ${props.theme.colors.checkbox[props.$genre].color.rest} !important;
|
|
104
|
-
` :
|
|
105
|
-
opacity: 1;
|
|
106
|
-
`}
|
|
104
|
+
` : ""}
|
|
107
105
|
`;
|
|
108
106
|
const CheckboxHiddenBorder = css`
|
|
109
107
|
${(props) => props.$isHiddenBorder && css`
|
|
@@ -122,9 +120,9 @@ const CheckboxWrapper = styled.button`
|
|
|
122
120
|
${addRippleDefault};
|
|
123
121
|
${addTransition};
|
|
124
122
|
${CheckboxGenre};
|
|
125
|
-
${CheckboxDisabled}
|
|
126
123
|
${CheckboxHiddenBorder};
|
|
127
124
|
${CheckboxSize};
|
|
125
|
+
${addCheckboxDisabled}
|
|
128
126
|
${addOutline};
|
|
129
127
|
${addError};
|
|
130
128
|
${addSXTypography};
|
|
@@ -155,4 +153,4 @@ export {
|
|
|
155
153
|
CheckboxGenre as c,
|
|
156
154
|
CheckboxWrapper as d
|
|
157
155
|
};
|
|
158
|
-
//# sourceMappingURL=component.styles-
|
|
156
|
+
//# sourceMappingURL=component.styles-CRWn1pVi.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"component.styles-CRWn1pVi.js","sources":["../src/components/checkbox/component.tsx","../src/components/checkbox/component.styles.ts"],"sourcesContent":["import { FC, useCallback, useMemo } from 'react'\nimport { useTheme } from 'styled-components'\n\nimport { ErrorMessage } from '@local/styles/error'\n\nimport { CheckboxProps, CheckboxWrapper, StyledIcon } from '.'\nimport { Icon } from '../icon'\nimport { Ripple } from '../ripple'\n\nexport const Checkbox: FC<CheckboxProps> = props => {\n const handleOnClick = useCallback(\n (checked: boolean) => {\n props.onChange?.(checked)\n },\n [props]\n )\n const theme = useTheme()\n const children = useMemo(\n () => (\n <>\n <StyledIcon\n size={props.sizeIcon || props.size}\n name={props.view}\n type=\"checkbox\"\n order={props.iconOrder}\n $genre={props.genre}\n $checked={props.checked}\n />\n {props.children && props.children}\n </>\n ),\n [props.checked, props.children, props.genre, props.iconOrder, props.size, props.sizeIcon, props.view]\n )\n const LoadingComponent = <Icon size={props.size} type=\"loading\" name=\"Line\" />\n\n return (\n <>\n <CheckboxWrapper\n type=\"button\"\n $genre={props.genre}\n $error={props.error}\n $view={props.view}\n $checked={props.checked}\n $isWidthAsHeight={props.isWidthAsHeight}\n $size={props.size}\n $isDisabled={props.isDisabled}\n $isHiddenBorder={props.isHiddenBorder}\n $isNotBackground={props.isNotBackground}\n $sx={props.sx}\n $sxTypography={props.sxTypography}\n disabled={props.isDisabled}\n tabIndex={0}\n onClick={() => !props.isDisabled && handleOnClick(!props.checked)}\n >\n <Ripple color={theme.colors.checkbox[props.genre].color.rest} isDisabled={props.isDisabled} />\n {props.isOnlyLoading ? (\n props.isLoading ? (\n LoadingComponent\n ) : (\n children\n )\n ) : (\n <>\n {children}\n {props.isLoading && LoadingComponent}\n </>\n )}\n </CheckboxWrapper>\n {props?.error ? <ErrorMessage {...props.error} size={props?.error.size ?? props.size} /> : null}\n </>\n )\n}\n","import { Icon } from '@local/components/icon';\nimport { addSXTypography, getFontSizeStyles } from '@local/components/typography';\nimport { addDisabled, 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 ${(params) => getFontSizeStyles(props.font, 700, params.theme.font.family)};\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 ${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":["jsxs","Fragment","jsx"],"mappings":"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"}
|
|
@@ -1,11 +1,29 @@
|
|
|
1
1
|
import { j as jsxRuntimeExports } from "./jsx-runtime-BrDlu8eK.js";
|
|
2
|
-
import {
|
|
2
|
+
import { b as KEY_SIZE_DATA_TOGGLE } from "./theme.global-B46v_8eu.js";
|
|
3
|
+
import { useMemo } from "react";
|
|
4
|
+
import { b as addTransition, f as addOutline, k as addDisabled } from "./style-Bvt_Melk.js";
|
|
5
|
+
import { a as addError } from "./style-DjCgiI7l.js";
|
|
6
|
+
import { motion } from "framer-motion";
|
|
3
7
|
import styled, { css } from "styled-components";
|
|
4
|
-
import { b as addTransition } from "./style-CEGJOjRW.js";
|
|
5
|
-
import { a as addError } from "./style-DeAgDHyI.js";
|
|
6
|
-
import { b as KEY_SIZE_DATA_TOGGLE } from "./theme.global-bN9HlSWE.js";
|
|
7
8
|
const Toggle = (props) => {
|
|
8
|
-
|
|
9
|
+
const toggleVariants = useMemo(() => ({
|
|
10
|
+
tap: {
|
|
11
|
+
width: KEY_SIZE_DATA_TOGGLE[props.size].thumb + 4,
|
|
12
|
+
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,
|
|
13
|
+
transition: {
|
|
14
|
+
duration: 0.05
|
|
15
|
+
}
|
|
16
|
+
},
|
|
17
|
+
checked: {
|
|
18
|
+
translateX: KEY_SIZE_DATA_TOGGLE[props.size].width - KEY_SIZE_DATA_TOGGLE[props.size].thumb - KEY_SIZE_DATA_TOGGLE[props.size].padding * 3,
|
|
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
|
+
return /* @__PURE__ */ jsxRuntimeExports.jsx(
|
|
9
27
|
ToggleWrapper,
|
|
10
28
|
{
|
|
11
29
|
$genre: props.genre,
|
|
@@ -14,12 +32,20 @@ const Toggle = (props) => {
|
|
|
14
32
|
$size: props.size,
|
|
15
33
|
$error: props.error,
|
|
16
34
|
tabIndex: 0,
|
|
17
|
-
onClick: () =>
|
|
35
|
+
onClick: () => {
|
|
36
|
+
var _a;
|
|
37
|
+
return (_a = props.onChange) == null ? void 0 : _a.call(props, !props.value);
|
|
38
|
+
},
|
|
39
|
+
whileTap: "tap",
|
|
40
|
+
animate: props.value ? "checked" : "unchecked",
|
|
41
|
+
onKeyDown: (e) => {
|
|
42
|
+
var _a;
|
|
43
|
+
if (e.key === "Enter") (_a = props.onChange) == null ? void 0 : _a.call(props, !props.value);
|
|
44
|
+
},
|
|
18
45
|
children: /* @__PURE__ */ jsxRuntimeExports.jsx(
|
|
19
46
|
ToggleCenter,
|
|
20
47
|
{
|
|
21
|
-
|
|
22
|
-
transition: spring,
|
|
48
|
+
variants: toggleVariants,
|
|
23
49
|
$genre: props.genre,
|
|
24
50
|
$isDisabled: props.isDisabled,
|
|
25
51
|
$value: props.value,
|
|
@@ -28,54 +54,39 @@ const Toggle = (props) => {
|
|
|
28
54
|
}
|
|
29
55
|
)
|
|
30
56
|
}
|
|
31
|
-
)
|
|
32
|
-
};
|
|
33
|
-
const spring = {
|
|
34
|
-
type: "spring",
|
|
35
|
-
stiffness: 700,
|
|
36
|
-
damping: 30
|
|
57
|
+
);
|
|
37
58
|
};
|
|
38
|
-
const
|
|
39
|
-
${(props) =>
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
border-radius: 100px;
|
|
46
|
-
`;
|
|
47
|
-
const ToggleCenterSize = css`
|
|
48
|
-
${(props) => ToggleCenterSizeConstructor(KEY_SIZE_DATA_TOGGLE[props.$size])};
|
|
59
|
+
const addToggleWrapperSize = css`
|
|
60
|
+
${(props) => css`
|
|
61
|
+
height: ${KEY_SIZE_DATA_TOGGLE[props.$size].height}px;
|
|
62
|
+
width: ${KEY_SIZE_DATA_TOGGLE[props.$size].width}px;
|
|
63
|
+
padding: ${KEY_SIZE_DATA_TOGGLE[props.$size].padding}px;
|
|
64
|
+
border-radius: 100px;
|
|
65
|
+
`};
|
|
49
66
|
`;
|
|
50
|
-
const
|
|
51
|
-
|
|
52
|
-
|
|
67
|
+
const addToggleCenterSize = css`
|
|
68
|
+
${(props) => css`
|
|
69
|
+
height: ${KEY_SIZE_DATA_TOGGLE[props.$size].thumb}px;
|
|
70
|
+
width: ${KEY_SIZE_DATA_TOGGLE[props.$size].thumb}px;
|
|
53
71
|
border-radius: 100px;
|
|
72
|
+
`}
|
|
54
73
|
`;
|
|
55
74
|
const ToggleWrapper = styled(motion.div)`
|
|
56
|
-
${ToggleWrapperSize};
|
|
57
|
-
|
|
58
75
|
cursor: pointer;
|
|
59
76
|
border: 1px solid transparent;
|
|
60
77
|
|
|
61
78
|
display: flex;
|
|
62
79
|
align-items: center;
|
|
63
80
|
|
|
81
|
+
${addToggleWrapperSize};
|
|
64
82
|
${addTransition};
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
outline: 1px solid ${(props) => props.theme.states.focus};
|
|
68
|
-
}
|
|
69
|
-
${(props) => props.$isDisabled ? css`
|
|
70
|
-
opacity: 0.5;
|
|
71
|
-
` : css`
|
|
72
|
-
opacity: 1;
|
|
73
|
-
`};
|
|
83
|
+
${addOutline};
|
|
84
|
+
${addDisabled};
|
|
74
85
|
|
|
75
86
|
${(props) => props.$value ? css`
|
|
76
87
|
background: ${props.theme.colors.toggle[props.$genre].active.rest.track};
|
|
77
88
|
border-color: ${props.theme.colors.toggle[props.$genre].active.rest.border};
|
|
78
|
-
justify-content: flex-
|
|
89
|
+
justify-content: flex-start;
|
|
79
90
|
&:hover {
|
|
80
91
|
background: ${props.theme.colors.toggle[props.$genre].active.hover.track};
|
|
81
92
|
border-color: ${props.theme.colors.toggle[props.$genre].active.hover.border};
|
|
@@ -93,7 +104,7 @@ const ToggleWrapper = styled(motion.div)`
|
|
|
93
104
|
${addError};
|
|
94
105
|
`;
|
|
95
106
|
const ToggleCenter = styled(motion.div)`
|
|
96
|
-
${
|
|
107
|
+
${addToggleCenterSize};
|
|
97
108
|
${addTransition};
|
|
98
109
|
|
|
99
110
|
${(props) => props.$value ? css`
|
|
@@ -117,4 +128,4 @@ export {
|
|
|
117
128
|
ToggleWrapper as a,
|
|
118
129
|
ToggleCenter as b
|
|
119
130
|
};
|
|
120
|
-
//# sourceMappingURL=component.styles-
|
|
131
|
+
//# sourceMappingURL=component.styles-CccZrbSA.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"component.styles-CccZrbSA.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 tap: {\n width: KEY_SIZE_DATA_TOGGLE[props.size].thumb + 4,\n 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,\n transition: {\n duration: 0.05,\n },\n },\n checked: {\n translateX: KEY_SIZE_DATA_TOGGLE[props.size].width - KEY_SIZE_DATA_TOGGLE[props.size].thumb - 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 }), [props.size, props.value]);\n\n return (\n <ToggleWrapper\n $genre={props.genre}\n $isDisabled={props.isDisabled}\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 >\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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"}
|
|
@@ -0,0 +1,165 @@
|
|
|
1
|
+
"use strict";const e=require("./jsx-runtime-BcGej2Kr.cjs"),t=require("./component-X4e7zEKk.cjs");require("./component.styles-Dpg-__rn.cjs");const r=require("./component-D7A-4DNQ.cjs"),o=require("./component.styles-CvJK1eif.cjs"),n=require("./component-BV_7tGiu.cjs"),s=require("./style-eIuUYu9x.cjs"),l=require("./theme.global-BdZkriPJ.cjs"),a=require("moment"),i=require("react"),u=require("styled-components"),d=require("./component-BnYw0FvH.cjs"),c=require("framer-motion"),p=require("./component.styles-DWoybqna.cjs"),h=require("./style-f3_KtJIt.cjs"),m=require("./style-fRZ6xrVp.cjs");function f(e){return 1===e.length?"0"+e[0]:e}const $=u.div`
|
|
2
|
+
width: 100%;
|
|
3
|
+
position: relative;
|
|
4
|
+
height: fit-content;
|
|
5
|
+
${e=>e.$isMinWidth&&u.css`
|
|
6
|
+
width: min-content;
|
|
7
|
+
`}
|
|
8
|
+
${m.addSX};
|
|
9
|
+
${h.addNiceNumber};
|
|
10
|
+
`,g=u(c.motion.div)`
|
|
11
|
+
${h.addRemoveScrollbar};
|
|
12
|
+
`,y=u.div`
|
|
13
|
+
list-style: none;
|
|
14
|
+
|
|
15
|
+
position: relative;
|
|
16
|
+
|
|
17
|
+
display: flex;
|
|
18
|
+
flex-direction: column;
|
|
19
|
+
overflow: hidden;
|
|
20
|
+
width: 100%;
|
|
21
|
+
padding-top: 6px;
|
|
22
|
+
transform: translateZ(0);
|
|
23
|
+
${p.InputIsInputEffect};
|
|
24
|
+
justify-content: flex-start;
|
|
25
|
+
gap: 10px;
|
|
26
|
+
`,x=u.div`
|
|
27
|
+
display: grid;
|
|
28
|
+
column-gap: normal;
|
|
29
|
+
row-gap: normal;
|
|
30
|
+
gap: 6px;
|
|
31
|
+
grid-template-columns: repeat(7, 28px);
|
|
32
|
+
grid-template-rows: repeat(${e=>e.$rows}, 28px);
|
|
33
|
+
justify-content: space-between;
|
|
34
|
+
`,b=u.css`
|
|
35
|
+
${e=>e.$size&&v({...l.KEY_SIZE_DATA[e.$size]})};
|
|
36
|
+
position: relative;
|
|
37
|
+
overflow: hidden;
|
|
38
|
+
isolation: isolate;
|
|
39
|
+
user-select: none;
|
|
40
|
+
background: ${e=>e.theme.colors.date[e.$genre].background.rest};
|
|
41
|
+
border-color: ${e=>e.theme.colors.date[e.$genre].border.rest};
|
|
42
|
+
color: ${e=>e.theme.colors.date[e.$genre].color.rest};
|
|
43
|
+
border: 1px solid transparent;
|
|
44
|
+
grid-row: ${e=>e.$row};
|
|
45
|
+
grid-column: ${e=>e.$column};
|
|
46
|
+
display: flex;
|
|
47
|
+
align-items: center;
|
|
48
|
+
justify-content: center;
|
|
49
|
+
width: 100%;
|
|
50
|
+
height: 100%;
|
|
51
|
+
cursor: pointer;
|
|
52
|
+
&:hover {
|
|
53
|
+
${e=>u.css`
|
|
54
|
+
background: ${e.theme.colors.date[e.$genre].background.hover};
|
|
55
|
+
border-color: ${e.theme.colors.date[e.$genre].border.hover};
|
|
56
|
+
color: ${e.theme.colors.date[e.$genre].color.hover};
|
|
57
|
+
`}
|
|
58
|
+
}
|
|
59
|
+
${h.addTransition};
|
|
60
|
+
|
|
61
|
+
${e=>e.$isWeekend&&u.css`
|
|
62
|
+
background: ${e.theme.colors.date[e.$genre].background.weekend};
|
|
63
|
+
border-color: ${e.theme.colors.date[e.$genre].border.weekend};
|
|
64
|
+
color: ${e.theme.colors.date[e.$genre].color.weekend};
|
|
65
|
+
`}
|
|
66
|
+
${e=>e.$isToday&&u.css`
|
|
67
|
+
background: ${e.theme.colors.date[e.$genre].background.today};
|
|
68
|
+
border-color: ${e.theme.colors.date[e.$genre].border.today};
|
|
69
|
+
color: ${e.theme.colors.date[e.$genre].color.today};
|
|
70
|
+
`}
|
|
71
|
+
${e=>e.$isChoice&&u.css`
|
|
72
|
+
background: ${e.theme.colors.date[e.$genre].background.choice};
|
|
73
|
+
border-color: ${e.theme.colors.date[e.$genre].border.choice};
|
|
74
|
+
color: ${e.theme.colors.date[e.$genre].color.choice};
|
|
75
|
+
`}
|
|
76
|
+
${e=>!e.$isCurrentMonth&&u.css`
|
|
77
|
+
opacity: 0.5;
|
|
78
|
+
`}
|
|
79
|
+
${e=>d.getFontSizeStyles(12,700,e.theme.font.family)};
|
|
80
|
+
|
|
81
|
+
${h.addOutline};
|
|
82
|
+
`,v=e=>u.css`
|
|
83
|
+
border-radius: ${e.radius}px;
|
|
84
|
+
${e=>d.getFontSizeStyles(12,700,e.theme.font.family)};
|
|
85
|
+
`,D=u.button`
|
|
86
|
+
${b}
|
|
87
|
+
`,k=u.button`
|
|
88
|
+
${b}
|
|
89
|
+
opacity: 1;
|
|
90
|
+
background-color: transparent;
|
|
91
|
+
`,w=u.css`
|
|
92
|
+
${e=>u.css`
|
|
93
|
+
color: ${e.theme.colors.input[e.$genre].color.rest};
|
|
94
|
+
&:active {
|
|
95
|
+
color: ${e.theme.colors.input[e.$genre].color.rest};
|
|
96
|
+
}
|
|
97
|
+
&:focus-visible {
|
|
98
|
+
color: ${e.theme.colors.input[e.$genre].color.rest};
|
|
99
|
+
}
|
|
100
|
+
`};
|
|
101
|
+
`,j=u(p.PatternFormat)`
|
|
102
|
+
resize: none;
|
|
103
|
+
overflow: hidden;
|
|
104
|
+
border: 0px solid;
|
|
105
|
+
background: transparent;
|
|
106
|
+
padding: 0px !important;
|
|
107
|
+
margin: 0px !important;
|
|
108
|
+
white-space: nowrap;
|
|
109
|
+
text-align: left;
|
|
110
|
+
${e=>d.getFontSizeStyles(16,400,"Roboto Mono",e.theme.font.lineHeight)};
|
|
111
|
+
${w};
|
|
112
|
+
${p.InputPlaceholderNiceNumber};
|
|
113
|
+
${h.addRemoveOutline};
|
|
114
|
+
`,S=u.css`
|
|
115
|
+
${e=>u.css`
|
|
116
|
+
background: ${e.theme.colors.input[e.$genre].background.rest};
|
|
117
|
+
border-color: ${e.theme.colors.input[e.$genre].border.rest};
|
|
118
|
+
color: ${e.theme.colors.input[e.$genre].color.rest};
|
|
119
|
+
outline: 2px solid transparent;
|
|
120
|
+
outline-offset: 1px;
|
|
121
|
+
&:hover {
|
|
122
|
+
background: ${e.theme.colors.input[e.$genre].background.hover};
|
|
123
|
+
border-color: ${e.theme.colors.input[e.$genre].border.hover};
|
|
124
|
+
color: ${e.theme.colors.input[e.$genre].color.hover};
|
|
125
|
+
}
|
|
126
|
+
&:has(:focus-visible),
|
|
127
|
+
&:has(:active) {
|
|
128
|
+
background: ${e.theme.colors.input[e.$genre].background.rest};
|
|
129
|
+
border-color: ${e.theme.colors.input[e.$genre].border.rest};
|
|
130
|
+
color: ${e.theme.colors.input[e.$genre].color.rest};
|
|
131
|
+
outline: 2px solid ${e=>e.theme.states.focus};
|
|
132
|
+
}
|
|
133
|
+
${e.$isOpen&&u.css`
|
|
134
|
+
background: ${e.theme.colors.input[e.$genre].background.rest};
|
|
135
|
+
border-color: ${e.theme.colors.input[e.$genre].border.rest};
|
|
136
|
+
color: ${e.theme.colors.input[e.$genre].color.rest};
|
|
137
|
+
outline: 2px solid ${e=>e.theme.states.focus};
|
|
138
|
+
`}
|
|
139
|
+
`};
|
|
140
|
+
`,O=u.css`
|
|
141
|
+
${e=>M(l.KEY_SIZE_DATA[e.$size])};
|
|
142
|
+
`,M=e=>u.css`
|
|
143
|
+
padding: 0px ${e.padding}px;
|
|
144
|
+
height: ${e.height}px;
|
|
145
|
+
min-height: ${e.height}px;
|
|
146
|
+
max-height: ${e.height}px;
|
|
147
|
+
border-radius: ${e.radius}px;
|
|
148
|
+
`,E=u.div`
|
|
149
|
+
resize: none;
|
|
150
|
+
overflow: hidden;
|
|
151
|
+
width: 100%;
|
|
152
|
+
border: 1px solid transparent;
|
|
153
|
+
|
|
154
|
+
white-space: nowrap;
|
|
155
|
+
|
|
156
|
+
display: flex;
|
|
157
|
+
align-items: center;
|
|
158
|
+
gap: 0px;
|
|
159
|
+
|
|
160
|
+
${O};
|
|
161
|
+
${S};
|
|
162
|
+
${h.addTransition};
|
|
163
|
+
${s.addError};
|
|
164
|
+
`;exports.DateDropdownDay=D,exports.DateDropdownDayOfWeek=k,exports.DateDropdownDaySize=b,exports.DateDropdownDaySizeConstructor=v,exports.DateDropdownDays=x,exports.DateDropdownList=y,exports.DateDropdownListParent=g,exports.DateInput=j,exports.DateInputWrapper=E,exports.DateInputWrapperSize=O,exports.DateInputWrapperSizeConstructor=M,exports.DatePicker=c=>{const{onChange:p,onBlur:h}=c,m=u.useTheme(),[g,b]=i.useState(null),[v,w]=i.useState(null),[S,O]=i.useState(null),[M,z]=i.useState(null),[C,R]=i.useState(null),[A,Y]=i.useState(null),[I,W]=i.useState(null),N=i.useRef(null),T=i.useRef(null),q=i.useRef(null),[_,V]=i.useState(null),[B,F]=i.useState(!1),L=i.useMemo(()=>{const e=c.mode??"DD.MM.YYYY",t={MM:{type:"MM",width:"20px",ref:T,value:A,setValue:Y,setActive:()=>V("month"),valueInput:A,setValueInput:Y,placeholder:c.locale.inputs.month},DD:{type:"DD",width:"20px",ref:N,value:C,setValue:R,setActive:()=>V("day"),valueInput:C,setValueInput:R,placeholder:c.locale.inputs.day},YYYY:{type:"YYYY",width:"40px",ref:q,value:I,setValue:W,setActive:()=>V("year"),valueInput:I,setValueInput:W,placeholder:c.locale.inputs.year}};return e.split(".").map(e=>e.trim()).map(e=>"DD"===e?t.DD:"MM"===e?t.MM:"YYYY"===e?t.YYYY:null).filter(e=>null!==e)},[C,A,I,c.locale.inputs.day,c.locale.inputs.month,c.locale.inputs.year,c.mode]),K=i.useMemo(()=>["mo","tu","we","th","fr","sa","su"].map((e,t)=>{const r=c.locale.weeks.find(t=>t.value===e);return{index:t,label:(null==r?void 0:r.localeShort)??e.toUpperCase()}}),[c.locale.weeks]),P=i.useMemo(()=>{if(null===S||null===v)return[];const e=a.utc(),t=a.utc().year(S).month(v).startOf("month"),r=a.utc().year(S).month(v).endOf("month"),o=[],n=c.startDate?a.utc(c.startDate):null,s=c.endDate?a.utc(c.endDate):null,l=t.isoWeekday()-1;if(l>0)for(let a=l;a>0;a--){const r=t.clone().subtract(a,"days");o.push({value:r.valueOf(),labelString:r.format("dd"),labelNumber:r.date(),dayOfWeek:r.isoWeekday(),isWeekend:6===r.isoWeekday()||7===r.isoWeekday(),weekOfMonth:Math.ceil((o.length+1)/7),isToday:r.isSame(e,"day"),isCurrentMonth:!1,isDisabled:r.isBefore(n,"day")||r.isAfter(s,"day")})}const i=t.clone();for(;i<=r;)o.push({value:i.valueOf(),labelString:i.format("dd"),labelNumber:i.date(),dayOfWeek:i.isoWeekday(),isWeekend:6===i.isoWeekday()||7===i.isoWeekday(),weekOfMonth:Math.ceil((o.length+1)/7),isToday:i.isSame(e,"day"),isCurrentMonth:!0,isDisabled:i.isBefore(n,"day")||i.isAfter(s,"day")}),i.add(1,"day");const u=7-r.isoWeekday();if(u>0)for(let a=1;a<=u;a++){const t=r.clone().add(a,"days").startOf("day");o.push({value:t.valueOf(),labelString:t.format("dd"),labelNumber:t.date(),dayOfWeek:t.isoWeekday(),isWeekend:6===t.isoWeekday()||7===t.isoWeekday(),weekOfMonth:Math.ceil((o.length+1)/7),isToday:t.isSame(e,"day"),isCurrentMonth:!1,isDisabled:t.isBefore(n,"day")||t.isAfter(s,"day")})}return o.sort((e,t)=>e.value-t.value),o},[v,S,c.endDate,c.startDate]),H=i.useMemo(()=>function(e){const t=Math.floor(e/7);return e%7>0?t+1:t}(P.length)+1,[P]),Z=i.useMemo(()=>40+28*H+6*(H-1)+2*l.KEY_SIZE_DATA[c.size].padding,[c.size,H]),U=i.useMemo(()=>l.KEY_SIZE_DATA[c.size].radius,[c.size]),J=i.useMemo(()=>null!==c.value&&void 0!==c.value,[c.value]),X=i.useMemo(()=>{if(null===S||null===v||null===M)return!0;const e=a.utc().year(S).month(v).date(M).add(1,"month").startOf("month");return!!c.endDate&&e.isAfter(a.utc(c.endDate),"month")},[S,v,M,c.endDate]),G=i.useMemo(()=>{if(null===S||null===v||null===M)return!0;const e=a.utc().year(S).month(v).date(M).subtract(1,"month").startOf("month");return!!c.startDate&&e.isBefore(a.utc(c.startDate),"month")},[S,v,M,c.startDate]),Q=i.useRef(null),ee=i.useRef(null),te=i.useMemo(()=>l.KEY_SIZE_DATA[c.size].padding,[c.size]),{isOpen:re,close:oe,refReference:ne,refFloating:se,floatingStyles:le,open:ae}=d.usePopover({placement:"bottom-start",offset:te,mode:"independence",isClickOutside:!0,refsExcludeClickOutside:[Q,ee],isDisabled:null==c?void 0:c.isDisabled}),ie=i.useCallback(e=>{oe(),e&&(C&&A&&I||p(null))},[oe,C,A,I,p]),ue=i.useCallback(e=>{if(/^\d$/.test(e.key)||["ArrowLeft","ArrowRight","ArrowUp","ArrowDown","Backspace","Delete","Tab"].includes(e.key)||e.ctrlKey||e.metaKey){if(!("Backspace"!==e.key&&"Delete"!==e.key||("day"!==_||C&&""!==C)&&("month"!==_||A&&""!==A)&&("year"!==_||I&&""!==I))){"day"===_?R(null):"month"===_?Y(null):"year"===_&&W(null);V("day"===_||"month"===_?"day":"month"),e.preventDefault()}if("ArrowLeft"===e.key||"ArrowDown"===e.key){V("day"===_?"year":"month"===_?"day":"month"),e.preventDefault()}if("ArrowRight"===e.key||"ArrowUp"===e.key){V("day"===_?"month":"month"===_?"year":"day"),e.preventDefault()}}else e.preventDefault()},[_,C,A,I]),de=i.useCallback((e,t,r)=>{const o=c.startDate?a(c.startDate).utc():null,n=c.endDate?a(c.endDate).utc():null,s=a(e).utc();let l=a(e).utc();o&&s.isBefore(o,"day")?l=o.startOf("day"):n&&s.isAfter(n,"day")&&(l=n.startOf("day")),g&&g.isSame(l,"day")||(b(l),z(l.date()),w(l.month()),O(l.year()),r&&p(l.valueOf()),c.isOnClickClose&&t&&(null==h||h(),ie()))},[c.startDate,c.endDate,c.isOnClickClose,g,p,h,ie]),ce=i.useCallback(()=>{if(null===S||null===v||null===M)return;const e=a.utc().year(S).month(v).date(M).add(1,"month");de(e.valueOf(),!1,!1)},[M,v,S,de]),pe=i.useCallback(()=>{if(null===S||null===v||null===M)return;const e=a.utc().year(S).month(v).date(M).subtract(1,"month");de(e.valueOf(),!1,!1)},[M,v,S,de]);return i.useEffect(()=>{const e=c.value?a(c.value).utc():a.utc();null!==c.value&&void 0!==c.value?(R(f(e.date().toString())),Y(f((e.month()+1).toString())),W(e.year().toString())):(R(null),Y(null),W(null)),de(e.valueOf(),!1,!1)},[c.value,re]),i.useEffect(()=>{null!==_&&setTimeout(()=>{var e,t,r;"day"===_?null==(e=N.current)||e.focus():"month"===_?null==(t=T.current)||t.focus():"year"===_&&(null==(r=q.current)||r.focus())},0)},[_]),i.useEffect(()=>{V(re?"day":null)},[re]),e.jsxRuntimeExports.jsxs(e.jsxRuntimeExports.Fragment,{children:[e.jsxRuntimeExports.jsx($,{$size:c.size,$genre:c.genre,$sx:c.sx,$isDisabled:null==c?void 0:c.isDisabled,$isMinWidth:null==c?void 0:c.isMinWidth,$radius:U,$parentListHeight:Z,tabIndex:-1,children:e.jsxRuntimeExports.jsx(E,{ref:ne,tabIndex:0,$genre:c.genre,$size:c.size,$error:B?{isError:!0}:c.error,$isOpen:re,onClick:()=>{ae()},onFocus:()=>{ae()},children:J||!c.labelPlaceholder||re?L.map((t,r)=>e.jsxRuntimeExports.jsxs(i.Fragment,{children:[e.jsxRuntimeExports.jsx(j,{onValueChange:(e,r)=>{if("DD"===t.type){if("event"!==r.source)return;const t=e.formattedValue;Y(null),W(null),Number(t)&&Number(t)>31?R("31"):R(t),""===t||t.includes("_")||V("month")}else if("MM"===t.type){if("event"!==r.source)return;const t=e.formattedValue;W(null),Number(t)>12?Y("12"):Y(t),""===t||t.includes("_")||V("year")}else if("YYYY"===t.type){if("event"!==r.source)return;const t=e.formattedValue;if(W(t),""!==t&&!t.includes("_")){const e=C?Number(C):NaN,r=A?Number(A):NaN,o=t?Number(t):NaN;if(!isNaN(e)&&!isNaN(r)&&!isNaN(o)){const t=a.utc(`${e}.${r}.${o}`,"D.M.YYYY",!0).startOf("day");t.isValid()?de(t.valueOf(),!1,!0):(F(!0),setTimeout(()=>{F(!1),R(null),Y(null),W(null),V("day")},1e3))}}}},$genre:c.genre,$size:c.size,getInputRef:e=>{e&&!t.ref.current&&(t.ref.current=e)},onFocus:e=>{e.target.select()},onBlur:()=>{var e;r!==L.length-1&&(null==(e=t.valueInput)?void 0:e.includes("_"))&&t.setValueInput(function(e){if(2===e.length)return"0"+e[0];return e.replace(/_/g,"0")}(t.valueInput))},onKeyDown:ue,value:t.valueInput??"",placeholder:t.placeholder,format:"#".repeat(t.type.length),style:{width:t.width},readOnly:B,type:"text",mask:"_"}),r!==L.length-1&&e.jsxRuntimeExports.jsx("span",{style:{width:"4px",pointerEvents:"none",textAlign:"center"},children:"."})]},t.type)):e.jsxRuntimeExports.jsx(d.Typography,{sx:{default:{size:16,line:1,isNoUserSelect:!0}},children:c.labelPlaceholder})})}),e.jsxRuntimeExports.jsx(d.Popover,{sx:e=>({default:{background:e.colors.input[c.genre].background.rest,border:`solid 1px ${e.colors.input[c.genre].border.rest}`}}),size:c.size,genre:c.genre,isOpen:re,isShowAlwaysOutline:!0,floatingStyles:le,ref:se,children:e.jsxRuntimeExports.jsxs(y,{$isInputEffect:c.isInputEffect,$genre:c.genre,$size:c.size,children:[e.jsxRuntimeExports.jsxs(n.Stack,{sx:{default:{justifyContent:"space-between",alignItems:"center"}},children:[e.jsxRuntimeExports.jsx(t.Button,{type:"button",isRadius:!0,icons:[{name:"Arrow2",type:"id",turn:90}],isWidthAsHeight:!0,genre:c.genre,size:"small",onClick:()=>!G&&pe(),isHidden:G}),null!==S&&null!==v&&null!==M?e.jsxRuntimeExports.jsxs(n.Stack,{sx:{default:{gap:"8px"}},children:[e.jsxRuntimeExports.jsx(o.SelectMonth,{monthsLocale:c.locale.months,genre:c.genre,size:"small",value:a.utc().year(S).month(v).date(M).startOf("month").utc().valueOf(),isOnClickOptionClose:!0,isStayValueAfterSelect:!0,isOnlyColorInSelectListOption:!0,isCenter:!0,isShortLabel:!0,refFloating:Q,onChange:e=>{e&&de(e,!1,!0)},startDate:c.startDate,endDate:c.endDate,sx:{default:{width:"60px"}}}),e.jsxRuntimeExports.jsx(o.SelectYear,{genre:c.genre,size:"small",refFloating:ee,value:a.utc().year(S).month(v).date(M).startOf("year").utc().valueOf(),onChange:e=>{e&&de(e,!1,!0)},isOnClickOptionClose:!0,isStayValueAfterSelect:!0,isOnlyColorInSelectListOption:!0,isCenter:!0,startDate:c.startDate,endDate:c.endDate,sx:{default:{width:"60px"}}})]}):null,e.jsxRuntimeExports.jsx(t.Button,{type:"button",onClick:()=>!X&&ce(),isWidthAsHeight:!0,isRadius:!0,icons:[{name:"Arrow2",type:"id",turn:-90}],genre:c.genre,size:"small",isHidden:X})]}),e.jsxRuntimeExports.jsxs(x,{$rows:H,children:[K.map((t,r)=>{var o;return e.jsxRuntimeExports.jsx(k,{$isToday:!1,$isWeekend:!1,type:"button",$genre:c.genre,$size:c.size,$row:(null==(o=P[0])?void 0:o.weekOfMonth)-1,$column:r+1,children:t.label},`${t.label}-${r}`)}),P.map(t=>t.isDisabled?null:e.jsxRuntimeExports.jsxs(D,{type:"button",$genre:c.genre,$size:c.size,$row:(null==t?void 0:t.weekOfMonth)+1,$column:t.dayOfWeek,onClick:()=>de(t.value,!0,!0),$isToday:t.isToday,$isWeekend:t.isWeekend,$isChoice:t.value===(null==g?void 0:g.valueOf()),$isCurrentMonth:t.isCurrentMonth,children:[e.jsxRuntimeExports.jsx(r.Ripple,{color:m.colors.date[c.genre].color.rest}),t.labelNumber]},t.value))]})]})}),(null==c?void 0:c.error)?e.jsxRuntimeExports.jsx(s.ErrorMessage,{...null==c?void 0:c.error,size:(null==c?void 0:c.error.size)??c.size}):null]})},exports.DateWrapper=$;
|
|
165
|
+
//# sourceMappingURL=component.styles-CdtZm7bl.cjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"component.styles-CdtZm7bl.cjs","sources":["../src/components/date-picker/component.tsx","../src/components/date-picker/component.styles.ts"],"sourcesContent":["import { Button } from '@local/components/button';\nimport { Ripple } from '@local/components/ripple';\nimport { SelectMonth, SelectYear } from '@local/components/select';\nimport { Stack } from '@local/components/stack';\nimport { ErrorMessage } from '@local/styles/error';\nimport { KEY_SIZE_DATA } from '@local/theme';\n\nimport moment, { Moment } from 'moment';\nimport { Fragment, KeyboardEvent, RefObject, useCallback, useEffect, useMemo, useRef, useState } from 'react';\nimport { useTheme } from 'styled-components';\n\nimport { Popover, usePopover } from '../popover';\nimport { Typography } from '../typography';\nimport {\n DateDayProps,\n DateDropdownDay,\n DateDropdownDayOfWeek,\n DateDropdownDays,\n DateDropdownList,\n DateInput,\n DateInputWrapper,\n DatePickerMode,\n DatePickerProps,\n DateWrapper,\n WeekItem,\n} from '.';\n\nfunction countSevens(number: number) {\n const divisor = 7;\n const count = Math.floor(number / divisor);\n const remainder = number % divisor;\n\n return remainder > 0 ? count + 1 : count;\n}\n\nexport const DatePicker = (props: DatePickerProps) => {\n const { onChange, onBlur } = props;\n const theme = useTheme();\n\n const [valueMoment, setValueMoment] = useState<null | Moment>(null);\n\n const [currentMonth, setCurrentMonth] = useState<null | number>(null);\n const [currentYear, setCurrentYear] = useState<null | number>(null);\n const [currentDay, setCurrentDay] = useState<null | number>(null);\n\n const [inputDay, setInputDay] = useState<string | null>(null);\n const [inputMonth, setInputMonth] = useState<string | null>(null);\n const [inputYear, setInputYear] = useState<string | null>(null);\n\n const refDay = useRef<HTMLInputElement>(null);\n const refMonth = useRef<HTMLInputElement>(null);\n const refYear = useRef<HTMLInputElement>(null);\n\n const [activeSegment, setActiveSegment] = useState<'day' | 'month' | 'year' | null>(null);\n const [isError, setIsError] = useState(false);\n const dataDate = useMemo(() => {\n const mode: DatePickerMode = props.mode ?? 'DD.MM.YYYY';\n const result = {\n MM: {\n type: 'MM',\n width: '20px',\n ref: refMonth,\n value: inputMonth,\n setValue: setInputMonth,\n setActive: () => setActiveSegment('month'),\n valueInput: inputMonth,\n setValueInput: setInputMonth,\n placeholder: props.locale.inputs.month,\n },\n DD: {\n type: 'DD',\n width: '20px',\n ref: refDay,\n value: inputDay,\n setValue: setInputDay,\n setActive: () => setActiveSegment('day'),\n valueInput: inputDay,\n setValueInput: setInputDay,\n placeholder: props.locale.inputs.day,\n },\n YYYY: {\n type: 'YYYY',\n width: '40px',\n ref: refYear,\n value: inputYear,\n setValue: setInputYear,\n setActive: () => setActiveSegment('year'),\n valueInput: inputYear,\n setValueInput: setInputYear,\n placeholder: props.locale.inputs.year,\n },\n };\n const resultSort = mode\n .split('.')\n .map((e) => e.trim())\n .map((e) => {\n if (e === 'DD') return result.DD;\n if (e === 'MM') return result.MM;\n if (e === 'YYYY') return result.YYYY;\n return null;\n })\n .filter((e) => e !== null);\n return resultSort;\n }, [\n inputDay,\n inputMonth,\n inputYear,\n props.locale.inputs.day,\n props.locale.inputs.month,\n props.locale.inputs.year,\n props.mode,\n ]);\n\n const daysInWeek = useMemo(() => {\n const weekOrder: WeekItem['value'][] = ['mo', 'tu', 'we', 'th', 'fr', 'sa', 'su'];\n\n return weekOrder.map((key, index) => {\n const found = props.locale.weeks.find((w) => w.value === key);\n return {\n index,\n label: found?.localeShort ?? key.toUpperCase(),\n };\n });\n }, [props.locale.weeks]);\n\n const daysInMonth: DateDayProps[] = useMemo(() => {\n if (currentYear === null || currentMonth === null) return [];\n const today = moment.utc();\n\n const startOfMonth = moment.utc().year(currentYear).month(currentMonth).startOf('month');\n const endOfMonth = moment.utc().year(currentYear).month(currentMonth).endOf('month');\n\n const days = [];\n\n const startDate = props.startDate ? moment.utc(props.startDate) : null;\n const endDate = props.endDate ? moment.utc(props.endDate) : null;\n\n const daysToAddBefore = startOfMonth.isoWeekday() - 1;\n if (daysToAddBefore > 0) {\n for (let i = daysToAddBefore; i > 0; i--) {\n const day = startOfMonth.clone().subtract(i, 'days');\n days.push({\n value: day.valueOf(),\n labelString: day.format('dd'),\n labelNumber: day.date(),\n dayOfWeek: day.isoWeekday(),\n isWeekend: day.isoWeekday() === 6 || day.isoWeekday() === 7,\n weekOfMonth: Math.ceil((days.length + 1) / 7),\n isToday: day.isSame(today, 'day'),\n isCurrentMonth: false,\n isDisabled: day.isBefore(startDate, 'day') || day.isAfter(endDate, 'day'),\n });\n }\n }\n\n const currentDate = startOfMonth.clone();\n while (currentDate <= endOfMonth) {\n days.push({\n value: currentDate.valueOf(),\n labelString: currentDate.format('dd'),\n labelNumber: currentDate.date(),\n dayOfWeek: currentDate.isoWeekday(),\n isWeekend: currentDate.isoWeekday() === 6 || currentDate.isoWeekday() === 7,\n weekOfMonth: Math.ceil((days.length + 1) / 7),\n isToday: currentDate.isSame(today, 'day'),\n isCurrentMonth: true,\n isDisabled: currentDate.isBefore(startDate, 'day') || currentDate.isAfter(endDate, 'day'),\n });\n currentDate.add(1, 'day');\n }\n\n const daysToAddAfter = 7 - endOfMonth.isoWeekday();\n if (daysToAddAfter > 0) {\n for (let i = 1; i <= daysToAddAfter; i++) {\n const day = endOfMonth.clone().add(i, 'days').startOf('day');\n days.push({\n value: day.valueOf(),\n labelString: day.format('dd'),\n labelNumber: day.date(),\n dayOfWeek: day.isoWeekday(),\n isWeekend: day.isoWeekday() === 6 || day.isoWeekday() === 7,\n weekOfMonth: Math.ceil((days.length + 1) / 7),\n isToday: day.isSame(today, 'day'),\n isCurrentMonth: false,\n isDisabled: day.isBefore(startDate, 'day') || day.isAfter(endDate, 'day'),\n });\n }\n }\n\n days.sort((a, b) => a.value - b.value);\n return days;\n }, [currentMonth, currentYear, props.endDate, props.startDate]);\n\n const rows = useMemo(() => countSevens(daysInMonth.length) + 1, [daysInMonth]);\n const height = useMemo(\n () => 40 + rows * 28 + (rows - 1) * 6 + KEY_SIZE_DATA[props.size].padding * 2,\n [props.size, rows],\n );\n const sizeRadius = useMemo(() => KEY_SIZE_DATA[props.size].radius, [props.size]);\n\n const isHasValue = useMemo(() => {\n return props.value !== null && props.value !== undefined;\n }, [props.value]);\n\n const isBlockNextMonth = useMemo(() => {\n if (currentYear === null || currentMonth === null || currentDay === null) return true;\n const nextMonth = moment\n .utc()\n .year(currentYear)\n .month(currentMonth)\n .date(currentDay)\n .add(1, 'month')\n .startOf('month');\n\n const isBeforeEndDate = props.endDate ? nextMonth.isAfter(moment.utc(props.endDate), 'month') : false;\n return isBeforeEndDate;\n }, [currentYear, currentMonth, currentDay, props.endDate]);\n\n const isBlockPrevMonth = useMemo(() => {\n if (currentYear === null || currentMonth === null || currentDay === null) return true;\n const prevMonth = moment\n .utc()\n .year(currentYear)\n .month(currentMonth)\n .date(currentDay)\n .subtract(1, 'month')\n .startOf('month');\n\n const isAfterStartDate = props.startDate ? prevMonth.isBefore(moment.utc(props.startDate), 'month') : false;\n return isAfterStartDate;\n }, [currentYear, currentMonth, currentDay, props.startDate]);\n\n const refSelectMonth = useRef<HTMLElement>(null);\n const refSelectYear = useRef<HTMLElement>(null);\n\n const sizePadding = useMemo(() => KEY_SIZE_DATA[props.size].padding, [props.size]);\n\n const { isOpen, close, refReference, refFloating, floatingStyles, open } = usePopover({\n placement: 'bottom-start',\n offset: sizePadding,\n mode: 'independence',\n isClickOutside: true,\n refsExcludeClickOutside: [refSelectMonth, refSelectYear],\n isDisabled: props?.isDisabled,\n });\n\n const handleOnClose = useCallback(\n (isCheck?: boolean) => {\n close();\n if (isCheck)\n if (!inputDay || !inputMonth || !inputYear) {\n onChange(null);\n }\n },\n [close, inputDay, inputMonth, inputYear, onChange],\n );\n const handleKeyDown = useCallback(\n (e: KeyboardEvent<HTMLInputElement>) => {\n if (\n !/^\\d$/.test(e.key) &&\n !['ArrowLeft', 'ArrowRight', 'ArrowUp', 'ArrowDown', 'Backspace', 'Delete', 'Tab'].includes(e.key) &&\n !e.ctrlKey &&\n !e.metaKey\n ) {\n e.preventDefault();\n return;\n }\n if (e.key === 'Backspace' || e.key === 'Delete') {\n if (\n (activeSegment === 'day' && (!inputDay || inputDay === '')) ||\n (activeSegment === 'month' && (!inputMonth || inputMonth === '')) ||\n (activeSegment === 'year' && (!inputYear || inputYear === ''))\n ) {\n if (activeSegment === 'day') {\n setInputDay(null);\n } else if (activeSegment === 'month') {\n setInputMonth(null);\n } else if (activeSegment === 'year') {\n setInputYear(null);\n }\n const nextSegment = activeSegment === 'day' ? 'day' : activeSegment === 'month' ? 'day' : 'month';\n setActiveSegment(nextSegment);\n e.preventDefault();\n }\n }\n if (e.key === 'ArrowLeft' || e.key === 'ArrowDown') {\n const nextSegment = activeSegment === 'day' ? 'year' : activeSegment === 'month' ? 'day' : 'month';\n setActiveSegment(nextSegment);\n e.preventDefault();\n }\n if (e.key === 'ArrowRight' || e.key === 'ArrowUp') {\n const nextSegment = activeSegment === 'day' ? 'month' : activeSegment === 'month' ? 'year' : 'day';\n setActiveSegment(nextSegment);\n e.preventDefault();\n }\n },\n [activeSegment, inputDay, inputMonth, inputYear],\n );\n\n const onChangeDate = useCallback(\n (timestamp: number, isBlur?: boolean, isChange?: boolean) => {\n const momentStartDate = props.startDate ? moment(props.startDate).utc() : null;\n const momentEndDate = props.endDate ? moment(props.endDate).utc() : null;\n const momentCheckDate = moment(timestamp).utc();\n let momentNewDate = moment(timestamp).utc();\n\n if (momentStartDate && momentCheckDate.isBefore(momentStartDate, 'day')) {\n momentNewDate = momentStartDate.startOf('day');\n } else if (momentEndDate && momentCheckDate.isAfter(momentEndDate, 'day')) {\n momentNewDate = momentEndDate.startOf('day');\n }\n if (valueMoment && valueMoment.isSame(momentNewDate, 'day')) return;\n setValueMoment(momentNewDate);\n setCurrentDay(momentNewDate.date());\n setCurrentMonth(momentNewDate.month());\n setCurrentYear(momentNewDate.year());\n if (isChange) onChange(momentNewDate.valueOf());\n if (props.isOnClickClose && isBlur) {\n onBlur?.();\n handleOnClose();\n }\n },\n [props.startDate, props.endDate, props.isOnClickClose, valueMoment, onChange, onBlur, handleOnClose],\n );\n const onNextMonth = useCallback(() => {\n if (currentYear === null || currentMonth === null || currentDay === null) return;\n const newDate = moment.utc().year(currentYear).month(currentMonth).date(currentDay).add(1, 'month');\n onChangeDate(newDate.valueOf(), false, false);\n }, [currentDay, currentMonth, currentYear, onChangeDate]);\n\n const onPrevMonth = useCallback(() => {\n if (currentYear === null || currentMonth === null || currentDay === null) return;\n const newDate = moment.utc().year(currentYear).month(currentMonth).date(currentDay).subtract(1, 'month');\n onChangeDate(newDate.valueOf(), false, false);\n }, [currentDay, currentMonth, currentYear, onChangeDate]);\n\n useEffect(() => {\n const valueMoment = props.value ? moment(props.value).utc() : moment.utc();\n if (props.value !== null && props.value !== undefined) {\n setInputDay(fixOneToZero(valueMoment.date().toString()));\n setInputMonth(fixOneToZero((valueMoment.month() + 1).toString()));\n setInputYear(valueMoment.year().toString());\n } else {\n setInputDay(null);\n setInputMonth(null);\n setInputYear(null);\n }\n onChangeDate(valueMoment.valueOf(), false, false);\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [props.value, isOpen]);\n\n useEffect(() => {\n if (activeSegment !== null) {\n setTimeout(() => {\n if (activeSegment === 'day') {\n refDay.current?.focus();\n } else if (activeSegment === 'month') {\n refMonth.current?.focus();\n } else if (activeSegment === 'year') {\n refYear.current?.focus();\n }\n }, 0);\n }\n }, [activeSegment]);\n\n useEffect(() => {\n if (isOpen) {\n setActiveSegment('day');\n } else {\n setActiveSegment(null);\n }\n }, [isOpen]);\n return (\n <>\n <DateWrapper\n $size={props.size}\n $genre={props.genre}\n $sx={props.sx}\n $isDisabled={props?.isDisabled}\n $isMinWidth={props?.isMinWidth}\n $radius={sizeRadius}\n $parentListHeight={height}\n tabIndex={-1}\n // onFocus={event => {\n // if (props?.isDisabled) return\n // if (props.onFocus) props.onFocus?.(event)\n // // handleOnOpen()\n // }}\n >\n <DateInputWrapper\n ref={refReference as RefObject<HTMLDivElement | null>}\n tabIndex={0}\n $genre={props.genre}\n $size={props.size}\n $error={isError ? { isError: true } : props.error}\n $isOpen={isOpen}\n onClick={() => {\n open();\n }}\n onFocus={() => {\n open();\n }}\n >\n {!isHasValue && props.labelPlaceholder && !isOpen ? <Typography\n sx={{ default: { size: 16, line: 1, isNoUserSelect: true } }}\n >\n {props.labelPlaceholder}\n </Typography> : dataDate.map((date, index) => (\n <Fragment key={date.type}>\n <DateInput\n onValueChange={(values, sourceInfo) => {\n if (date.type === 'DD') {\n if (sourceInfo.source !== 'event') return;\n const value = values.formattedValue;\n setInputMonth(null);\n setInputYear(null);\n\n if (Number(value) && Number(value) > 31) {\n setInputDay('31');\n } else {\n setInputDay(value);\n }\n if (value !== '' && !value.includes('_')) {\n setActiveSegment('month');\n }\n } else if (date.type === 'MM') {\n if (sourceInfo.source !== 'event') return;\n const value = values.formattedValue;\n setInputYear(null);\n if (Number(value) > 12) {\n setInputMonth('12');\n } else {\n setInputMonth(value);\n }\n if (value !== '' && !value.includes('_')) {\n setActiveSegment('year');\n }\n } else if (date.type === 'YYYY') {\n if (sourceInfo.source !== 'event') return;\n const value = values.formattedValue;\n setInputYear(value);\n\n if (value !== '' && !value.includes('_')) {\n const day = inputDay ? Number(inputDay) : NaN;\n const month = inputMonth ? Number(inputMonth) : NaN;\n const year = value ? Number(value) : NaN;\n if (!isNaN(day) && !isNaN(month) && !isNaN(year)) {\n const m = moment.utc(`${day}.${month}.${year}`, 'D.M.YYYY', true).startOf('day');\n if (m.isValid()) {\n onChangeDate(m.valueOf(), false, true);\n } else {\n setIsError(true);\n setTimeout(() => {\n setIsError(false);\n setInputDay(null);\n setInputMonth(null);\n setInputYear(null);\n setActiveSegment('day');\n }, 1000);\n }\n }\n }\n }\n }}\n $genre={props.genre}\n $size={props.size}\n getInputRef={(ref: HTMLInputElement | null) => {\n if (ref && !date.ref.current) {\n date.ref.current = ref;\n }\n }}\n onFocus={(e) => {\n // date.setActive();\n e.target.select();\n }}\n onBlur={() => {\n if (index !== dataDate.length - 1)\n if (date.valueInput?.includes('_'))\n date.setValueInput(fixUnderscoreToZero(date.valueInput));\n }}\n onKeyDown={handleKeyDown}\n value={date.valueInput ?? ''}\n placeholder={date.placeholder}\n format={'#'.repeat(date.type.length)}\n style={{ width: date.width }}\n readOnly={isError}\n type='text'\n mask='_'\n />\n {index !== dataDate.length - 1 && (\n <span style={{ width: '4px', pointerEvents: 'none', textAlign: 'center' }}>.</span>\n )}\n </Fragment>\n ))}\n\n </DateInputWrapper>\n </DateWrapper>\n <Popover\n sx={(theme) => ({\n default: {\n background: theme.colors.input[props.genre].background.rest,\n border: `solid 1px ${theme.colors.input[props.genre].border.rest}`,\n },\n })}\n size={props.size}\n genre={props.genre}\n isOpen={isOpen}\n isShowAlwaysOutline\n floatingStyles={floatingStyles}\n ref={refFloating}\n >\n <DateDropdownList $isInputEffect={props.isInputEffect} $genre={props.genre} $size={props.size}>\n <Stack\n sx={{\n default: {\n justifyContent: 'space-between',\n alignItems: 'center',\n },\n }}\n >\n <Button\n type='button'\n isRadius\n icons={[\n {\n name: 'Arrow2',\n type: 'id',\n turn: 90,\n },\n ]}\n isWidthAsHeight\n genre={props.genre}\n size={'small'}\n onClick={() => !isBlockPrevMonth && onPrevMonth()}\n isHidden={isBlockPrevMonth}\n />\n {currentYear !== null && currentMonth !== null && currentDay !== null ? (\n <Stack sx={{ default: { gap: '8px' } }}>\n <SelectMonth\n monthsLocale={props.locale.months}\n genre={props.genre}\n size={'small'}\n value={moment\n .utc()\n .year(currentYear)\n .month(currentMonth)\n .date(currentDay)\n .startOf('month')\n .utc()\n .valueOf()}\n isOnClickOptionClose\n isStayValueAfterSelect\n isOnlyColorInSelectListOption\n isCenter\n isShortLabel\n refFloating={refSelectMonth}\n onChange={(timestamp: number | null) => {\n if (timestamp) onChangeDate(timestamp, false, true);\n }}\n startDate={props.startDate}\n endDate={props.endDate}\n sx={{ default: { width: '60px' } }}\n />\n <SelectYear\n genre={props.genre}\n size={'small'}\n refFloating={refSelectYear}\n value={moment\n .utc()\n .year(currentYear)\n .month(currentMonth)\n .date(currentDay)\n .startOf('year')\n .utc()\n .valueOf()}\n onChange={(timestamp: number | null) => {\n if (timestamp) onChangeDate(timestamp, false, true);\n }}\n isOnClickOptionClose\n isStayValueAfterSelect\n isOnlyColorInSelectListOption\n isCenter\n startDate={props.startDate}\n endDate={props.endDate}\n sx={{ default: { width: '60px' } }}\n />\n </Stack>\n ) : null}\n <Button\n type='button'\n onClick={() => !isBlockNextMonth && onNextMonth()}\n isWidthAsHeight\n isRadius\n icons={[\n {\n name: 'Arrow2',\n type: 'id',\n turn: -90,\n },\n ]}\n genre={props.genre}\n size={'small'}\n isHidden={isBlockNextMonth}\n />\n </Stack>\n <DateDropdownDays $rows={rows}>\n {daysInWeek.map((e, index) => (\n <DateDropdownDayOfWeek\n $isToday={false}\n $isWeekend={false}\n type='button'\n $genre={props.genre}\n $size={props.size}\n $row={daysInMonth[0]?.weekOfMonth - 1}\n $column={index + 1}\n key={`${e.label}-${index}`}\n >\n {e.label}\n </DateDropdownDayOfWeek>\n ))}\n {daysInMonth.map((day) =>\n !day.isDisabled ? (\n <DateDropdownDay\n type='button'\n $genre={props.genre}\n $size={props.size}\n $row={day?.weekOfMonth + 1}\n $column={day.dayOfWeek}\n key={day.value}\n onClick={() => onChangeDate(day.value, true, true)}\n $isToday={day.isToday}\n $isWeekend={day.isWeekend}\n $isChoice={day.value === valueMoment?.valueOf()}\n $isCurrentMonth={day.isCurrentMonth}\n >\n <Ripple color={theme.colors.date[props.genre].color.rest} />\n {day.labelNumber}\n </DateDropdownDay>\n ) : null,\n )}\n </DateDropdownDays>\n </DateDropdownList>\n </Popover>\n {props?.error ? <ErrorMessage {...props?.error} size={props?.error.size ?? props.size} /> : null}\n </>\n );\n};\nfunction fixUnderscoreToZero(str: string) {\n if (str.length === 2) {\n return '0' + str[0];\n }\n return str.replace(/_/g, '0');\n}\n\nfunction fixOneToZero(str: string) {\n if (str.length === 1) {\n return '0' + str[0];\n }\n return str;\n}\n","import { motion } from 'framer-motion'\nimport { PatternFormat } from 'react-number-format'\nimport styled, { css } from 'styled-components'\n\nimport { InputIsInputEffect, InputPlaceholderNiceNumber } from '@local/components/input'\nimport { getFontSizeStyles } from '@local/components/typography'\nimport { addNiceNumber, addOutline, addRemoveOutline, addRemoveScrollbar, addTransition } from '@local/styles/add'\nimport { addError } from '@local/styles/error'\nimport { addSX } from '@local/styles/sx'\nimport { KEY_SIZE_DATA } from '@local/theme/theme'\nimport { IThemeSizePropertyDefault } from '@local/theme/theme.interface'\n\nimport { DateDropdownDayProps, DateDropdownListProps, DateInputProps, DateStyledListProps, DateWrapperProps } from '.'\n\nexport const DateWrapper = styled.div<DateWrapperProps>`\n width: 100%;\n position: relative;\n height: fit-content;\n ${props =>\n props.$isMinWidth &&\n css`\n width: min-content;\n `}\n ${addSX};\n ${addNiceNumber};\n`\n\nexport const DateDropdownListParent = styled(motion.div)<DateStyledListProps>`\n ${addRemoveScrollbar};\n`\n\nexport const DateDropdownList = styled.div<DateDropdownListProps>`\n list-style: none;\n\n position: relative;\n\n display: flex;\n flex-direction: column;\n overflow: hidden;\n width: 100%;\n padding-top: 6px;\n transform: translateZ(0);\n ${InputIsInputEffect};\n justify-content: flex-start;\n gap: 10px;\n`\n\nexport const DateDropdownDays = styled.div<{ $rows: number }>`\n display: grid;\n column-gap: normal;\n row-gap: normal;\n gap: 6px;\n grid-template-columns: repeat(7, 28px);\n grid-template-rows: repeat(${props => props.$rows}, 28px);\n justify-content: space-between;\n`\n\nexport const DateDropdownDaySize = css<DateDropdownDayProps>`\n ${props =>\n props.$size &&\n DateDropdownDaySizeConstructor({\n ...KEY_SIZE_DATA[props.$size]\n })};\n position: relative;\n overflow: hidden;\n isolation: isolate;\n user-select: none;\n background: ${props => props.theme.colors.date[props.$genre].background.rest};\n border-color: ${props => props.theme.colors.date[props.$genre].border.rest};\n color: ${props => props.theme.colors.date[props.$genre].color.rest};\n border: 1px solid transparent;\n grid-row: ${props => props.$row};\n grid-column: ${props => props.$column};\n display: flex;\n align-items: center;\n justify-content: center;\n width: 100%;\n height: 100%;\n cursor: pointer;\n &:hover {\n ${props => css`\n background: ${props.theme.colors.date[props.$genre].background.hover};\n border-color: ${props.theme.colors.date[props.$genre].border.hover};\n color: ${props.theme.colors.date[props.$genre].color.hover};\n `}\n }\n ${addTransition};\n\n ${props =>\n props.$isWeekend &&\n css`\n background: ${props.theme.colors.date[props.$genre].background.weekend};\n border-color: ${props.theme.colors.date[props.$genre].border.weekend};\n color: ${props.theme.colors.date[props.$genre].color.weekend};\n `}\n ${props =>\n props.$isToday &&\n css`\n background: ${props.theme.colors.date[props.$genre].background.today};\n border-color: ${props.theme.colors.date[props.$genre].border.today};\n color: ${props.theme.colors.date[props.$genre].color.today};\n `}\n ${props =>\n props.$isChoice &&\n css`\n background: ${props.theme.colors.date[props.$genre].background.choice};\n border-color: ${props.theme.colors.date[props.$genre].border.choice};\n color: ${props.theme.colors.date[props.$genre].color.choice};\n `}\n ${props =>\n !props.$isCurrentMonth &&\n css`\n opacity: 0.5;\n `}\n ${params => getFontSizeStyles(12, 700, params.theme.font.family)};\n\n ${addOutline};\n`\nexport const DateDropdownDaySizeConstructor = (props: IThemeSizePropertyDefault) => css`\n border-radius: ${props.radius}px;\n ${params => getFontSizeStyles(12, 700, params.theme.font.family)};\n`\n\nexport const DateDropdownDay = styled.button<DateDropdownDayProps>`\n ${DateDropdownDaySize}\n`\nexport const DateDropdownDayOfWeek = styled.button<DateDropdownDayProps>`\n ${DateDropdownDaySize}\n opacity: 1;\n background-color: transparent;\n`\n\n/****************************************** Genre *************************************************/\nconst DateInputGenre = css<DateInputProps>`\n ${props => css`\n color: ${props.theme.colors.input[props.$genre].color.rest};\n &:active {\n color: ${props.theme.colors.input[props.$genre].color.rest};\n }\n &:focus-visible {\n color: ${props.theme.colors.input[props.$genre].color.rest};\n }\n `};\n`\nexport const DateInput = styled(PatternFormat)<DateInputProps>`\n resize: none;\n overflow: hidden;\n border: 0px solid;\n background: transparent;\n padding: 0px !important;\n margin: 0px !important;\n white-space: nowrap;\n text-align: left;\n ${props => getFontSizeStyles(16, 400, 'Roboto Mono', props.theme.font.lineHeight)};\n ${DateInputGenre};\n ${InputPlaceholderNiceNumber};\n ${addRemoveOutline};\n`\n\n/****************************************** Genre *************************************************/\nconst DateInputWrapperGenre = css<DateInputProps>`\n ${props => css`\n background: ${props.theme.colors.input[props.$genre].background.rest};\n border-color: ${props.theme.colors.input[props.$genre].border.rest};\n color: ${props.theme.colors.input[props.$genre].color.rest};\n outline: 2px solid transparent;\n outline-offset: 1px;\n &:hover {\n background: ${props.theme.colors.input[props.$genre].background.hover};\n border-color: ${props.theme.colors.input[props.$genre].border.hover};\n color: ${props.theme.colors.input[props.$genre].color.hover};\n }\n &:has(:focus-visible),\n &:has(:active) {\n background: ${props.theme.colors.input[props.$genre].background.rest};\n border-color: ${props.theme.colors.input[props.$genre].border.rest};\n color: ${props.theme.colors.input[props.$genre].color.rest};\n outline: 2px solid ${props => props.theme.states.focus};\n }\n ${props.$isOpen &&\n css`\n background: ${props.theme.colors.input[props.$genre].background.rest};\n border-color: ${props.theme.colors.input[props.$genre].border.rest};\n color: ${props.theme.colors.input[props.$genre].color.rest};\n outline: 2px solid ${props => props.theme.states.focus};\n `}\n `};\n`\n\n/****************************************** Size *************************************************/\nexport const DateInputWrapperSize = css<DateInputProps>`\n ${props => DateInputWrapperSizeConstructor(KEY_SIZE_DATA[props.$size])};\n`\nexport const DateInputWrapperSizeConstructor = (props: IThemeSizePropertyDefault) => css`\n padding: 0px ${props.padding}px;\n height: ${props.height}px;\n min-height: ${props.height}px;\n max-height: ${props.height}px;\n border-radius: ${props.radius}px;\n`\n\nexport const DateInputWrapper = styled.div<DateInputProps>`\n resize: none;\n overflow: hidden;\n width: 100%;\n border: 1px solid transparent;\n\n white-space: nowrap;\n\n display: flex;\n align-items: center;\n gap: 0px;\n\n ${DateInputWrapperSize};\n ${DateInputWrapperGenre};\n ${addTransition};\n ${addError};\n`\n"],"names":["fixOneToZero","str","length","DateWrapper","styled","div","props","$isMinWidth","css","addSX","addNiceNumber","DateDropdownListParent","motion","addRemoveScrollbar","DateDropdownList","InputIsInputEffect","DateDropdownDays","$rows","DateDropdownDaySize","$size","DateDropdownDaySizeConstructor","KEY_SIZE_DATA","theme","colors","date","$genre","background","rest","border","color","$row","$column","hover","addTransition","$isWeekend","weekend","$isToday","today","$isChoice","choice","$isCurrentMonth","params","getFontSizeStyles","font","family","addOutline","radius","DateDropdownDay","button","DateDropdownDayOfWeek","DateInputGenre","input","DateInput","PatternFormat","lineHeight","InputPlaceholderNiceNumber","addRemoveOutline","DateInputWrapperGenre","states","focus","$isOpen","DateInputWrapperSize","DateInputWrapperSizeConstructor","padding","height","DateInputWrapper","addError","onChange","onBlur","useTheme","valueMoment","setValueMoment","useState","currentMonth","setCurrentMonth","currentYear","setCurrentYear","currentDay","setCurrentDay","inputDay","setInputDay","inputMonth","setInputMonth","inputYear","setInputYear","refDay","useRef","refMonth","refYear","activeSegment","setActiveSegment","isError","setIsError","dataDate","useMemo","mode","result","MM","type","width","ref","value","setValue","setActive","valueInput","setValueInput","placeholder","locale","inputs","month","DD","day","YYYY","year","split","map","e","trim","filter","daysInWeek","key","index","found","weeks","find","w","label","localeShort","toUpperCase","daysInMonth","moment","utc","startOfMonth","startOf","endOfMonth","endOf","days","startDate","endDate","daysToAddBefore","isoWeekday","i","clone","subtract","push","valueOf","labelString","format","labelNumber","dayOfWeek","isWeekend","weekOfMonth","Math","ceil","isToday","isSame","isCurrentMonth","isDisabled","isBefore","isAfter","currentDate","add","daysToAddAfter","sort","a","b","rows","number","count","floor","countSevens","size","sizeRadius","isHasValue","isBlockNextMonth","nextMonth","isBlockPrevMonth","prevMonth","refSelectMonth","refSelectYear","sizePadding","isOpen","close","refReference","refFloating","floatingStyles","open","usePopover","placement","offset","isClickOutside","refsExcludeClickOutside","handleOnClose","useCallback","isCheck","handleKeyDown","test","includes","ctrlKey","metaKey","preventDefault","onChangeDate","timestamp","isBlur","isChange","momentStartDate","momentEndDate","momentCheckDate","momentNewDate","isOnClickClose","onNextMonth","newDate","onPrevMonth","useEffect","toString","setTimeout","_a","current","_b","_c","jsxs","Fragment","children","jsx","genre","$sx","sx","$isDisabled","isMinWidth","$radius","$parentListHeight","tabIndex","$error","error","onClick","onFocus","labelPlaceholder","onValueChange","values","sourceInfo","source","formattedValue","Number","NaN","isNaN","m","isValid","getInputRef","target","select","replace","fixUnderscoreToZero","onKeyDown","repeat","style","readOnly","mask","pointerEvents","textAlign","Typography","default","line","isNoUserSelect","Popover","isShowAlwaysOutline","$isInputEffect","isInputEffect","Stack","justifyContent","alignItems","Button","isRadius","icons","name","turn","isWidthAsHeight","isHidden","gap","SelectMonth","monthsLocale","months","isOnClickOptionClose","isStayValueAfterSelect","isOnlyColorInSelectListOption","isCenter","isShortLabel","SelectYear","Ripple","ErrorMessage"],"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-B46v_8eu.js";
|
|
2
3
|
import { useMemo } from "react";
|
|
3
|
-
import { J as JeneseiPalette, K as KEY_SIZE_DATA } from "./theme.global-bN9HlSWE.js";
|
|
4
4
|
import styled, { css } from "styled-components";
|
|
5
|
-
import { e as addColorTransition } from "./style-
|
|
5
|
+
import { e as addColorTransition } from "./style-Bvt_Melk.js";
|
|
6
6
|
import { a as addSX } from "./style-plT9Ah7t.js";
|
|
7
7
|
const Radio = {
|
|
8
8
|
paths: [
|
|
@@ -2115,9 +2115,9 @@ const Icon = (props) => {
|
|
|
2115
2115
|
fillRule: "evenodd",
|
|
2116
2116
|
fill: "fill" in path ? getFillColor(path.fill) : "currentColor"
|
|
2117
2117
|
},
|
|
2118
|
-
index
|
|
2118
|
+
`${props.type}-${props.name}-path-${index}`
|
|
2119
2119
|
)) : null;
|
|
2120
|
-
const contentLoadings = props.type
|
|
2120
|
+
const contentLoadings = props.type === "loading" ? icon : null;
|
|
2121
2121
|
return /* @__PURE__ */ jsxRuntimeExports.jsx(
|
|
2122
2122
|
StyledSVG,
|
|
2123
2123
|
{
|
|
@@ -2163,4 +2163,4 @@ export {
|
|
|
2163
2163
|
Icon as I,
|
|
2164
2164
|
StyledSVG as S
|
|
2165
2165
|
};
|
|
2166
|
-
//# sourceMappingURL=component.styles-
|
|
2166
|
+
//# sourceMappingURL=component.styles-CiGPOpxk.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"component.styles-CiGPOpxk.js","sources":["../src/components/icon/component.tsx","../src/components/icon/component.styles.ts"],"sourcesContent":["import { JeneseiPalette } from '@local/theme/theme';\n\nimport { useMemo } from 'react';\n\nimport IconCheckboxJSON from './component-checkbox.json';\nimport IconIdJSON from './component-id.json';\nimport IconLoadingJSON from './component-loading.json';\nimport IconLogoJSON from './component-logo.json';\nimport IconRealEbailJSON from './component-realebail.json';\nimport {\n IconItemProps,\n IconTypeMap,\n StyledSVG,\n TIconCheckboxNameString,\n TIconIdNameString,\n TIconLoadingNameString,\n TIconLogoNameString,\n TIconRealEbailNameString,\n} from '.';\n\nexport const Icon = <T extends keyof IconTypeMap>(props: IconItemProps<T>) => {\n const icon = useMemo(() => {\n let icon = null;\n\n switch (props.type) {\n case 'id':\n icon = IconIdJSON[props.name as TIconIdNameString];\n break;\n case 'realebail':\n icon = IconRealEbailJSON[props.name as TIconRealEbailNameString];\n break;\n case 'logo':\n icon = IconLogoJSON[props.name as TIconLogoNameString];\n break;\n case 'checkbox':\n icon = IconCheckboxJSON[props.name as TIconCheckboxNameString];\n break;\n case 'loading':\n icon = IconLoadingJSON[props.name as TIconLoadingNameString];\n break;\n }\n return icon;\n }, [props.name, props.type]);\n\n const primaryColor = props.primaryColor ? JeneseiPalette[props.primaryColor] : 'currentColor';\n const secondColor = props.secondColor ? JeneseiPalette[props.secondColor] : 'currentColor';\n\n if (!icon) {\n console.warn(`Icon ${props.name} not found in the library.`);\n return null;\n }\n\n const getFillColor = (fillType?: string): string | undefined => {\n if (fillType === 'primaryColor') return primaryColor;\n if (fillType === 'secondColor') return secondColor;\n return 'currentColor';\n };\n\n const contentPaths =\n (props.type == 'id' || props.type === 'checkbox' || props.type === 'realebail' || props.type === 'logo') &&\n typeof icon === 'object' &&\n 'paths' in icon\n ? (icon.paths ?? []).map((path, index) => (\n <path\n key={`${props.type}-${props.name}-path-${index}`}\n id={'id' in path ? (path.id as string) : undefined}\n d={path.d}\n clipRule='evenodd'\n fillRule='evenodd'\n fill={'fill' in path ? getFillColor(path.fill as string) : 'currentColor'}\n />\n ))\n : null;\n\n const contentLoadings = props.type === 'loading' ? (icon as string) : null;\n\n return (\n <StyledSVG\n width='24'\n height='24'\n viewBox='0 0 24 24'\n xmlns='http://www.w3.org/2000/svg'\n $size={props.size}\n $turn={props.turn}\n $order={props.order}\n $color={props.primaryColor || undefined}\n $sx={props.sx}\n className={props.className}\n onClick={props.onClick}\n tabIndex={props.tabIndex}\n dangerouslySetInnerHTML={contentLoadings ? { __html: contentLoadings } : undefined}\n >\n {contentPaths}\n </StyledSVG>\n );\n};\n","import styled, { css } from 'styled-components'\n\nimport { addColorTransition } from '@local/styles/add'\nimport { addSX } from '@local/styles/sx'\nimport { KEY_SIZE_DATA } from '@local/theme'\n\nimport { StyledIconIdItemProps } from '.'\n\nexport const StyledSVG = styled.svg<StyledIconIdItemProps>`\n color: ${props => (props.$color ? props.theme.palette[props.$color] : 'inherit')};\n\n ${props => css`\n height: ${props.$size !== '100%' ? `${KEY_SIZE_DATA[props.$size].heightIcon}px` : '100%'};\n min-height: ${props.$size !== '100%' ? `${KEY_SIZE_DATA[props.$size].heightIcon}px` : '100%'};\n\n width: ${props.$size !== '100%' ? `${KEY_SIZE_DATA[props.$size].heightIcon}px` : '100%'};\n min-width: ${props.$size !== '100%' ? `${KEY_SIZE_DATA[props.$size].heightIcon}px` : '100%'};\n\n transform: rotate(${props.$turn || 0}deg);\n `}\n ${props =>\n props.$order !== undefined &&\n css`\n order: ${props.$order};\n `};\n ${addColorTransition};\n & path {\n ${addColorTransition};\n }\n ${addSX};\n`\n"],"names":["icon","jsx"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;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"}
|