@jenesei-software/jenesei-kit-react 1.2.2 → 1.2.4
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-C2sWYH-e.js → area-BC64nSGj.js} +2 -2
- package/build/{area-C2sWYH-e.js.map → area-BC64nSGj.js.map} +1 -1
- package/build/{area-CD10k19W.cjs → area-C6QOr2Kd.cjs} +7 -7
- package/build/{area-CD10k19W.cjs.map → area-C6QOr2Kd.cjs.map} +1 -1
- package/build/area-scroll.cjs.js +1 -1
- package/build/area-scroll.es.js +1 -1
- package/build/build-info.txt +3 -3
- package/build/{component-CbPhVNw5.js → component-BJ4BlUBV.js} +2 -2
- package/build/{component-CbPhVNw5.js.map → component-BJ4BlUBV.js.map} +1 -1
- package/build/{component-BnYw0FvH.cjs → component-BfsH0boq.cjs} +2 -2
- package/build/{component-BnYw0FvH.cjs.map → component-BfsH0boq.cjs.map} +1 -1
- package/build/{component-9m1Ib3fS.js → component-BtA2Qlbp.js} +2 -2
- package/build/{component-9m1Ib3fS.js.map → component-BtA2Qlbp.js.map} +1 -1
- package/build/{component-C8QrHu0C.js → component-CTz8wF0z.js} +3 -3
- package/build/{component-C8QrHu0C.js.map → component-CTz8wF0z.js.map} +1 -1
- package/build/{component-FwG2ieR3.cjs → component-CV14RCdO.cjs} +2 -2
- package/build/{component-FwG2ieR3.cjs.map → component-CV14RCdO.cjs.map} +1 -1
- package/build/{component-C0atFCun.cjs → component-DBxYbAnr.cjs} +2 -2
- package/build/{component-C0atFCun.cjs.map → component-DBxYbAnr.cjs.map} +1 -1
- package/build/{component-DURhph1i.js → component-DTH1-Npa.js} +3 -3
- package/build/{component-DURhph1i.js.map → component-DTH1-Npa.js.map} +1 -1
- package/build/{component-X4e7zEKk.cjs → component-Dw21Chky.cjs} +2 -2
- package/build/{component-X4e7zEKk.cjs.map → component-Dw21Chky.cjs.map} +1 -1
- package/build/{component-Bovatz78.cjs → component-ODhIlUPq.cjs} +2 -2
- package/build/{component-Bovatz78.cjs.map → component-ODhIlUPq.cjs.map} +1 -1
- package/build/component-button-group.cjs.js +1 -1
- package/build/component-button-group.es.js +1 -1
- package/build/component-button.cjs.js +1 -1
- package/build/component-button.es.js +1 -1
- package/build/component-checkbox-group.cjs.js +1 -1
- package/build/component-checkbox-group.es.js +1 -1
- package/build/component-checkbox.cjs.js +1 -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 +74 -65
- package/build/component-date-picker.es.js +9 -10
- package/build/component-image-button.cjs.js +1 -1
- package/build/component-image-button.es.js +1 -1
- package/build/component-image-select.cjs.js +1 -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-input-otp.cjs.js +1 -1
- package/build/component-input-otp.es.js +1 -1
- package/build/component-input.cjs.js +1 -1
- package/build/component-input.d.ts +3 -3
- package/build/component-input.es.js +3 -3
- 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.es.js +1 -1
- package/build/component-range.cjs.js +1 -1
- package/build/component-range.es.js +1 -1
- package/build/component-select.cjs.js +1 -1
- package/build/component-select.d.ts +6 -6
- package/build/component-select.es.js +1 -1
- package/build/component-textarea.cjs.js +1 -1
- package/build/component-textarea.es.js +1 -1
- 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 +1 -0
- package/build/component-tooltip.es.js +1 -1
- package/build/component-typography.cjs.js +1 -1
- package/build/component-typography.d.ts +1 -0
- package/build/component-typography.es.js +1 -1
- package/build/{component--cOriuv7.js → component-zhkRBgS8.js} +45 -3
- package/build/{component--cOriuv7.js.map → component-zhkRBgS8.js.map} +1 -1
- package/build/{component.components-1kRDD3KO.cjs → component.components-9ON8OLUd.cjs} +2 -2
- package/build/{component.components-1kRDD3KO.cjs.map → component.components-9ON8OLUd.cjs.map} +1 -1
- package/build/{component.components-CQ3LLnFl.js → component.components-CnwUBa8n.js} +2 -2
- package/build/{component.components-CQ3LLnFl.js.map → component.components-CnwUBa8n.js.map} +1 -1
- package/build/{component.constants-B1rq1PLe.js → component.constants-Ck-Y1EPF.js} +2 -2
- package/build/{component.constants-B1rq1PLe.js.map → component.constants-Ck-Y1EPF.js.map} +1 -1
- package/build/{component.constants-BLHg7rcI.cjs → component.constants-DD964QJh.cjs} +2 -2
- package/build/{component.constants-BLHg7rcI.cjs.map → component.constants-DD964QJh.cjs.map} +1 -1
- package/build/{component.constants-Gz2mf7IF.cjs → component.constants-DGS-J9Sc.cjs} +2 -2
- package/build/{component.constants-Gz2mf7IF.cjs.map → component.constants-DGS-J9Sc.cjs.map} +1 -1
- package/build/{component.constants-B95xyW0s.js → component.constants-c0DK2OSH.js} +3 -3
- package/build/{component.constants-B95xyW0s.js.map → component.constants-c0DK2OSH.js.map} +1 -1
- package/build/{component.styles-q4ne6jV1.cjs → component.styles-B4reSccT.cjs} +2 -2
- package/build/{component.styles-q4ne6jV1.cjs.map → component.styles-B4reSccT.cjs.map} +1 -1
- package/build/{component.styles-BrGPrrEb.cjs → component.styles-BScmaCvt.cjs} +2 -2
- package/build/{component.styles-BrGPrrEb.cjs.map → component.styles-BScmaCvt.cjs.map} +1 -1
- package/build/{component.styles-Dm_Ov4nM.cjs → component.styles-C5GdZJou.cjs} +24 -24
- package/build/{component.styles-Dm_Ov4nM.cjs.map → component.styles-C5GdZJou.cjs.map} +1 -1
- package/build/{component.styles-BzNkEurr.js → component.styles-CFrk_dpy.js} +5 -5
- package/build/{component.styles-BzNkEurr.js.map → component.styles-CFrk_dpy.js.map} +1 -1
- package/build/{component.styles-CvJK1eif.cjs → component.styles-CGyQHdKu.cjs} +8 -13
- package/build/component.styles-CGyQHdKu.cjs.map +1 -0
- package/build/{component.styles-DqNAGfc9.cjs → component.styles-CzsKP7v-.cjs} +2 -2
- package/build/{component.styles-DqNAGfc9.cjs.map → component.styles-CzsKP7v-.cjs.map} +1 -1
- package/build/{component.styles-vcNQJK0U.cjs → component.styles-D8ZAo-kS.cjs} +2 -2
- package/build/{component.styles-vcNQJK0U.cjs.map → component.styles-D8ZAo-kS.cjs.map} +1 -1
- package/build/{component.styles-DjLSmx3e.cjs → component.styles-DLbbGi9i.cjs} +2 -2
- package/build/{component.styles-DjLSmx3e.cjs.map → component.styles-DLbbGi9i.cjs.map} +1 -1
- package/build/{component.styles-DKG-fvog.js → component.styles-DS53SD15.js} +4 -4
- package/build/{component.styles-DKG-fvog.js.map → component.styles-DS53SD15.js.map} +1 -1
- package/build/{component.styles-DMBvhmz6.js → component.styles-DjJOwUeA.js} +3 -3
- package/build/{component.styles-DMBvhmz6.js.map → component.styles-DjJOwUeA.js.map} +1 -1
- package/build/{component.styles-DqTkSP8L.js → component.styles-DsnwGPvj.js} +16 -21
- package/build/component.styles-DsnwGPvj.js.map +1 -0
- package/build/{component.styles-DhI3n-dL.js → component.styles-DxQx6LQO.js} +3 -3
- package/build/{component.styles-DhI3n-dL.js.map → component.styles-DxQx6LQO.js.map} +1 -1
- package/build/{component.styles-CccZrbSA.js → component.styles-N7ZFXn4z.js} +2 -2
- package/build/{component.styles-CccZrbSA.js.map → component.styles-N7ZFXn4z.js.map} +1 -1
- package/build/{component.styles-DuIrUV9k.js → component.styles-UIEZecbT.js} +2 -2
- package/build/{component.styles-DuIrUV9k.js.map → component.styles-UIEZecbT.js.map} +1 -1
- package/build/{component.styles-CRWn1pVi.js → component.styles-WqYNZfbs.js} +3 -3
- package/build/{component.styles-CRWn1pVi.js.map → component.styles-WqYNZfbs.js.map} +1 -1
- package/build/{component.styles-Dt_CUijB.js → component.styles-hc14mwUo.js} +6 -7
- package/build/{component.styles-Dt_CUijB.js.map → component.styles-hc14mwUo.js.map} +1 -1
- package/build/{component.styles-DwdN7mQq.cjs → component.styles-qRQ8i8W6.cjs} +2 -2
- package/build/{component.styles-DwdN7mQq.cjs.map → component.styles-qRQ8i8W6.cjs.map} +1 -1
- package/build/{component.styles-Bz2vyHqK.cjs → component.styles-sTbPcfTb.cjs} +2 -2
- package/build/{component.styles-Bz2vyHqK.cjs.map → component.styles-sTbPcfTb.cjs.map} +1 -1
- package/build/component.types-A04vFOxU.cjs +164 -0
- package/build/component.types-A04vFOxU.cjs.map +1 -0
- package/build/component.types-CqvwcIsz.js +843 -0
- package/build/component.types-CqvwcIsz.js.map +1 -0
- package/build/context-app.cjs.js +1 -1
- package/build/context-app.d.ts +2 -2
- package/build/context-app.es.js +1 -1
- package/build/context-sonner.cjs.js +1 -1
- package/build/context-sonner.es.js +1 -1
- package/build/{context.constants-BAz35AJw.js → context.constants-B9I-yc9Q.js} +3 -3
- package/build/{context.constants-BAz35AJw.js.map → context.constants-B9I-yc9Q.js.map} +1 -1
- package/build/{context.constants-fwK8ogSf.cjs → context.constants-DkMk-pc7.cjs} +2 -2
- package/build/{context.constants-fwK8ogSf.cjs.map → context.constants-DkMk-pc7.cjs.map} +1 -1
- package/build/{context.hooks-Bs1dD25S.js → context.hooks-BFZtc7kP.js} +12 -12
- package/build/context.hooks-BFZtc7kP.js.map +1 -0
- package/build/{context.hooks-KAyS_7Pj.cjs → context.hooks-BfETPRDy.cjs} +23 -23
- package/build/context.hooks-BfETPRDy.cjs.map +1 -0
- package/build/index.cjs.js +1 -1
- package/build/index.d.ts +85 -63
- package/build/index.es.js +34 -35
- package/build/{style-DjCgiI7l.js → style-Dca2udON.js} +2 -2
- package/build/{style-DjCgiI7l.js.map → style-Dca2udON.js.map} +1 -1
- package/build/{style-eIuUYu9x.cjs → style-DmwoOdFB.cjs} +2 -2
- package/build/{style-eIuUYu9x.cjs.map → style-DmwoOdFB.cjs.map} +1 -1
- package/build/style-error.cjs.js +1 -1
- package/build/style-error.es.js +1 -1
- package/build/{use-BnaBipTR.cjs → use-Deto6eH3.cjs} +2 -2
- package/build/{use-BnaBipTR.cjs.map → use-Deto6eH3.cjs.map} +1 -1
- package/build/{use-B6rT81uF.js → use-JiiFbVer.js} +3 -3
- package/build/{use-B6rT81uF.js.map → use-JiiFbVer.js.map} +1 -1
- package/package.json +1 -1
- package/build/component.styles-CvJK1eif.cjs.map +0 -1
- package/build/component.styles-DCDOKa6e.js +0 -793
- package/build/component.styles-DCDOKa6e.js.map +0 -1
- package/build/component.styles-DTC9tjQX.cjs +0 -165
- package/build/component.styles-DTC9tjQX.cjs.map +0 -1
- package/build/component.styles-DqTkSP8L.js.map +0 -1
- package/build/context.hooks-Bs1dD25S.js.map +0 -1
- package/build/context.hooks-KAyS_7Pj.cjs.map +0 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"component.styles-
|
|
1
|
+
{"version":3,"file":"component.styles-DLbbGi9i.cjs","sources":["../src/components/range/component.styles.ts","../src/components/range/component.tsx"],"sourcesContent":["import styled from 'styled-components'\n\nimport { addError } from '@local/styles/error'\nimport { addSX } from '@local/styles/sx'\n\nimport { RangeComponentProps, RangeThumbProps, RangeWrapperProps } from '.'\n\nexport const RangeWrapper = styled.div<RangeWrapperProps>`\n position: relative;\n display: flex;\n width: 100%;\n box-sizing: border-box;\n align-items: center;\n height: 20px;\n ${addError};\n ${addSX};\n`\n\nexport const RangeTrack = styled.div<RangeComponentProps>`\n position: absolute;\n height: 3px;\n width: 100%;\n padding: 0px 10px;\n border-radius: 2px;\n`\nexport const RangeThumb = styled.input<RangeThumbProps>`\n position: absolute;\n width: 100%;\n outline: none !important;\n pointer-events: none;\n appearance: none;\n -webkit-appearance: none;\n background: transparent;\n left: 0;\n margin: 0;\n &::-webkit-slider-thumb {\n pointer-events: all;\n width: 16px;\n height: 16px;\n margin: 0;\n padding: 0;\n border-radius: 50%;\n background: ${props => props.$colorBackground};\n border: 3px ${props => props.$colorBorder} solid;\n cursor: pointer;\n -webkit-appearance: none;\n margin-top: 0px;\n transition:\n transform ${props => props.theme.transition.default},\n color ${props => props.theme.transition.default},\n background-color ${props => props.theme.transition.default};\n &:hover {\n transform: scale(1.2);\n }\n }\n`\n","import { useCallback, useMemo } from 'react'\nimport { useTheme } from 'styled-components'\n\nimport { RangeProps, RangeThumb, RangeTrack, RangeWrapper } from '.'\n\nexport const Range = (props: RangeProps) => {\n const { onChange } = props\n const handleChange = useCallback(\n (index: number, newValue: number) => {\n const newValues = [...props.values]\n newValues[index] = Math.min(props.max, Math.max(props.min, newValue))\n onChange(newValues.sort((a, b) => a - b))\n },\n [onChange, props.max, props.min, props.values]\n )\n const getThumbPositionPercent = useCallback(\n (val: number) => ((val - props.min) / (props.max - props.min)) * 100,\n [props.max, props.min]\n )\n const positions = useMemo(\n () => props.values.map(val => getThumbPositionPercent(val)),\n [getThumbPositionPercent, props.values]\n )\n const theme = useTheme()\n\n const colorTrackBackground = theme.colors.range[props.genre].track.background.rest\n const colorTrackGradient = theme.colors.range[props.genre].track.gradient.rest\n const colorThumbBorder = theme.colors.range[props.genre].thumb.border.rest\n const colorThumbBackground = theme.colors.range[props.genre].thumb.background.rest\n\n const trackGradient = useMemo(\n () =>\n positions\n .map((position, idx) => {\n const isFirst = idx === 0\n const isLast = idx === positions.length - 1\n\n if (isFirst)\n return `${colorTrackBackground} 0%, ${colorTrackBackground} ${position}%, ${colorTrackGradient} ${position}%`\n if (isLast)\n return `${colorTrackGradient} ${position}%, ${colorTrackBackground} ${position}%, ${colorTrackBackground} 100%`\n return `${colorTrackGradient} ${position}%`\n })\n .join(', '),\n [colorTrackGradient, colorTrackBackground, positions]\n )\n const gradient = useMemo(() => `linear-gradient(to right, ${trackGradient})`, [trackGradient])\n\n return (\n <RangeWrapper $size={props.size} $sx={props.sx} $error={props.error} onBlur={props.onBlur}>\n {props.values.map((val, idx) => (\n <RangeThumb\n key={idx}\n type=\"range\"\n $size={props.size}\n $genre={props.genre}\n min={props.min}\n max={props.max}\n step={props.step}\n value={val}\n onChange={e => handleChange(idx, parseFloat(e.target.value))}\n style={{ zIndex: 100 + idx }}\n $colorBackground={colorThumbBackground}\n $colorBorder={colorThumbBorder}\n />\n ))}\n <RangeTrack\n $size={props.size}\n $genre={props.genre}\n style={{\n background: gradient\n }}\n />\n </RangeWrapper>\n )\n}\n"],"names":["RangeWrapper","styled","div","addError","addSX","RangeTrack","RangeThumb","input","props","$colorBackground","$colorBorder","theme","transition","default","onChange","handleChange","useCallback","index","newValue","newValues","values","Math","min","max","sort","a","b","getThumbPositionPercent","val","positions","useMemo","map","useTheme","colorTrackBackground","colors","range","genre","track","background","rest","colorTrackGradient","gradient","colorThumbBorder","thumb","border","colorThumbBackground","trackGradient","position","idx","isFirst","isLast","length","join","jsxs","$size","size","$sx","sx","$error","error","onBlur","children","jsx","type","$genre","step","value","parseFloat","e","target","style","zIndex"],"mappings":"iLAOaA,EAAeC,EAAOC,GAAA;;;;;;;IAO/BC;IACAC;EAGSC,EAAaJ,EAAOC,GAAA;;;;;;EAOpBI,EAAaL,EAAOM,KAAA;;;;;;;;;;;;;;;;;kBAiBfC,GAASA,EAAMC;kBACfD,GAASA,EAAME;;;;;kBAKfF,GAASA,EAAMG,MAAMC,WAAWC;cACpCL,GAASA,EAAMG,MAAMC,WAAWC;yBACrBL,GAASA,EAAMG,MAAMC,WAAWC;;;;;gBC7CnCL,IACpB,MAAMM,SAAEA,GAAaN,EACfO,EAAeC,EAAAA,YACnB,CAACC,EAAeC,KACd,MAAMC,EAAY,IAAIX,EAAMY,QAC5BD,EAAUF,GAASI,KAAKC,IAAId,EAAMe,IAAKF,KAAKE,IAAIf,EAAMc,IAAKJ,IAC3DJ,EAASK,EAAUK,KAAK,CAACC,EAAGC,IAAMD,EAAIC,KAExC,CAACZ,EAAUN,EAAMe,IAAKf,EAAMc,IAAKd,EAAMY,SAEnCO,EAA0BX,EAAAA,YAC7BY,IAAkBA,EAAMpB,EAAMc,MAAQd,EAAMe,IAAMf,EAAMc,KAAQ,IACjE,CAACd,EAAMe,IAAKf,EAAMc,MAEdO,EAAYC,EAAAA,QAChB,IAAMtB,EAAMY,OAAOW,IAAIH,GAAOD,EAAwBC,IACtD,CAACD,EAAyBnB,EAAMY,SAE5BT,EAAQqB,EAAAA,WAERC,EAAuBtB,EAAMuB,OAAOC,MAAM3B,EAAM4B,OAAOC,MAAMC,WAAWC,KACxEC,EAAqB7B,EAAMuB,OAAOC,MAAM3B,EAAM4B,OAAOC,MAAMI,SAASF,KACpEG,EAAmB/B,EAAMuB,OAAOC,MAAM3B,EAAM4B,OAAOO,MAAMC,OAAOL,KAChEM,EAAuBlC,EAAMuB,OAAOC,MAAM3B,EAAM4B,OAAOO,MAAML,WAAWC,KAExEO,EAAgBhB,EAAAA,QACpB,IACED,EACGE,IAAI,CAACgB,EAAUC,KACd,MAAMC,EAAkB,IAARD,EACVE,EAASF,IAAQnB,EAAUsB,OAAS,EAE1C,OAAIF,EACK,GAAGhB,SAA4BA,KAAwBc,OAAcP,KAAsBO,KAChGG,EACK,GAAGV,KAAsBO,OAAcd,KAAwBc,OAAcd,SAC/E,GAAGO,KAAsBO,OAEjCK,KAAK,MACV,CAACZ,EAAoBP,EAAsBJ,IAEvCY,EAAWX,EAAAA,QAAQ,IAAM,6BAA6BgB,KAAkB,CAACA,IAE/E,SACEO,kBAAAA,KAACrD,EAAA,CAAasD,MAAO9C,EAAM+C,KAAMC,IAAKhD,EAAMiD,GAAIC,OAAQlD,EAAMmD,MAAOC,OAAQpD,EAAMoD,OAChFC,SAAA,CAAArD,EAAMY,OAAOW,IAAI,CAACH,EAAKoB,MACtBc,kBAAAA,IAACxD,EAAA,CAECyD,KAAK,QACLT,MAAO9C,EAAM+C,KACbS,OAAQxD,EAAM4B,MACdd,IAAKd,EAAMc,IACXC,IAAKf,EAAMe,IACX0C,KAAMzD,EAAMyD,KACZC,MAAOtC,EACPd,YAAeC,EAAaiC,EAAKmB,WAAWC,EAAEC,OAAOH,QACrDI,MAAO,CAAEC,OAAQ,IAAMvB,GACvBvC,iBAAkBoC,EAClBnC,aAAcgC,GAXTM,MAcTc,kBAAAA,IAACzD,EAAA,CACCiD,MAAO9C,EAAM+C,KACbS,OAAQxD,EAAM4B,MACdkC,MAAO,CACLhC,WAAYG"}
|
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
import { j as jsxRuntimeExports } from "./jsx-runtime-BrDlu8eK.js";
|
|
2
|
-
import { b as ErrorMessage } from "./style-
|
|
2
|
+
import { b as ErrorMessage } from "./style-Dca2udON.js";
|
|
3
3
|
import { useState, useRef, useCallback } from "react";
|
|
4
|
-
import { I as Input } from "./component-
|
|
5
|
-
import "./component.styles-
|
|
4
|
+
import { I as Input } from "./component-CTz8wF0z.js";
|
|
5
|
+
import "./component.styles-hc14mwUo.js";
|
|
6
6
|
import styled, { css } from "styled-components";
|
|
7
7
|
import { a as addSX } from "./style-plT9Ah7t.js";
|
|
8
8
|
import { K as KEY_SIZE_DATA } from "./theme.global-B46v_8eu.js";
|
|
@@ -175,4 +175,4 @@ export {
|
|
|
175
175
|
InputOTPSizeConstructor as b,
|
|
176
176
|
InputOTPWrapper as c
|
|
177
177
|
};
|
|
178
|
-
//# sourceMappingURL=component.styles-
|
|
178
|
+
//# sourceMappingURL=component.styles-DS53SD15.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"component.styles-
|
|
1
|
+
{"version":3,"file":"component.styles-DS53SD15.js","sources":["../src/components/input-otp/component.tsx","../src/components/input-otp/component.styles.ts"],"sourcesContent":["import { ErrorMessage } from '@local/styles/error'\n\nimport { ClipboardEvent, FocusEvent, KeyboardEvent, useCallback, useRef, useState } from 'react'\n\nimport { Input } from '../input'\nimport { InputOTPProps, InputOTPWrapper } from '.'\n\nexport const InputOTP = (props: InputOTPProps) => {\n const [otp, setOtp] = useState<string[]>(new Array(props.length).fill(''))\n const inputsRef = useRef<(HTMLInputElement | null)[]>([])\n const wrapperRef = useRef<HTMLDivElement | null>(null)\n\n const handlePaste = useCallback(\n (index: number, e: ClipboardEvent<HTMLInputElement>) => {\n e.preventDefault()\n\n const pasteData = e.clipboardData.getData('Text')\n const digits = pasteData.replace(/\\D/g, '').split('')\n\n if (!digits.length) return\n\n setOtp(prevOtp => {\n const newOtp = [...prevOtp]\n let currentIndex = index\n\n for (let i = 0; i < digits.length && currentIndex < newOtp.length; i++) {\n newOtp[currentIndex] = digits[i]\n currentIndex++\n }\n\n const joined = newOtp.join('')\n\n props.onChange?.(joined)\n\n if (newOtp.every(char => char !== '')) {\n props.onComplete?.(joined)\n }\n\n setTimeout(() => {\n const firstEmpty = newOtp.findIndex(char => char === '')\n if (firstEmpty !== -1) {\n inputsRef.current[firstEmpty]?.focus()\n } else if (currentIndex < newOtp.length) {\n inputsRef.current[currentIndex]?.focus()\n }\n }, 0)\n\n return newOtp\n })\n },\n [props]\n )\n\n const handleChange = useCallback(\n (index: number, value: string) => {\n if (!/^\\d*$/.test(value)) return\n\n setOtp(prevOtp => {\n const newOtp = [...prevOtp]\n newOtp[index] = value.slice(-1)\n\n if (props.onChange) {\n props.onChange(newOtp.join(''))\n }\n\n if (newOtp.every(char => char !== '')) {\n props.onComplete?.(newOtp.join(''))\n }\n\n if (value && index < prevOtp.length - 1) {\n setTimeout(() => {\n inputsRef.current[index + 1]?.focus()\n }, 0)\n }\n\n return newOtp\n })\n },\n [props]\n )\n\n const handleKeyDown = (index: number, e: KeyboardEvent<HTMLInputElement>) => {\n const input = inputsRef.current[index]\n\n if (!input) return\n\n if (e.key === 'ArrowRight') {\n const nextIndex = index < otp.length - 1 ? index + 1 : 0\n const nextInput = inputsRef.current[nextIndex]\n\n if (nextInput) {\n nextInput.focus()\n setTimeout(() => nextInput.setSelectionRange(0, nextInput.value.length), 0)\n }\n }\n\n if (e.key === 'ArrowLeft') {\n const prevIndex = index > 0 ? index - 1 : otp.length - 1\n const prevInput = inputsRef.current[prevIndex]\n\n if (prevInput) {\n prevInput.focus()\n setTimeout(() => prevInput.setSelectionRange(0, prevInput.value.length), 0)\n }\n }\n\n if (e.key === 'Backspace') {\n if (input.value) {\n setTimeout(() => input.setSelectionRange(0, input.value.length), 0)\n } else if (index > 0) {\n setTimeout(() => {\n const prevInput = inputsRef.current[index - 1]\n if (prevInput) {\n prevInput.focus()\n prevInput.setSelectionRange(0, prevInput.value.length)\n }\n }, 0)\n }\n }\n }\n\n const handleFocusInput = useCallback((e: FocusEvent<HTMLInputElement>) => {\n setTimeout(() => e.target.setSelectionRange(0, e.target.value.length), 0)\n }, [])\n return (\n <>\n <InputOTPWrapper\n $error={props.error}\n $size={props.size}\n id={props.id}\n ref={wrapperRef}\n onBlur={e => {\n setTimeout(() => {\n if (wrapperRef.current && !wrapperRef.current.contains(document.activeElement)) {\n props.onBlur?.(e)\n }\n }, 0)\n }}\n onFocus={e => {\n setTimeout(() => {\n if (wrapperRef.current?.contains(document.activeElement)) {\n props.onFocus?.(e)\n }\n }, 0)\n }}\n $sx={props.sx}\n >\n {otp.map((digit, index) => (\n <Input\n isWidthAsHeight\n key={index}\n tabIndex={index + 1}\n ref={el => {\n inputsRef.current[index] = el\n }}\n variety=\"standard\"\n type=\"text\"\n inputMode=\"numeric\"\n maxLength={1}\n value={digit}\n onFocus={handleFocusInput}\n onPaste={e => handlePaste(index, e)}\n onChange={value => handleChange(index, value)}\n onKeyDown={e => handleKeyDown(index, e)}\n genre={props.genre}\n size={props.size}\n />\n ))}\n </InputOTPWrapper>\n {props?.error ? <ErrorMessage {...props.error} size={props?.error.size ?? props.size} /> : null}\n </>\n )\n}\n","import styled, { css } from 'styled-components'\n\nimport { addSX } from '@local/styles/sx'\nimport { IThemeSizePropertyDefault, KEY_SIZE_DATA } from '@local/theme'\n\nimport { InputOTPWrapperProps } from '.'\n\n/****************************************** Size *************************************************/\nexport const InputOTPSize = css<InputOTPWrapperProps>`\n ${props => InputOTPSizeConstructor({ ...KEY_SIZE_DATA[props.$size], ...props })};\n`\nexport const InputOTPSizeConstructor = (props: IThemeSizePropertyDefault & InputOTPWrapperProps) => css`\n gap: ${props.padding - 2}px;\n width: 100%;\n`\n\nexport const InputOTPWrapper = styled.div<InputOTPWrapperProps>`\n display: flex;\n justify-content: space-between;\n align-items: flex-start;\n ${InputOTPSize};\n ${addSX};\n`\n"],"names":["_a","_b","jsxs","Fragment","jsx"],"mappings":"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"}
|
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
import { j as jsxRuntimeExports } from "./jsx-runtime-BrDlu8eK.js";
|
|
2
2
|
import { useCallback } from "react";
|
|
3
|
-
import { C as Checkbox } from "./component.styles-
|
|
3
|
+
import { C as Checkbox } from "./component.styles-WqYNZfbs.js";
|
|
4
4
|
import styled, { css } from "styled-components";
|
|
5
|
-
import { g as getFontSizeStyles } from "./component
|
|
5
|
+
import { g as getFontSizeStyles } from "./component-zhkRBgS8.js";
|
|
6
6
|
import { a as addSX } from "./style-plT9Ah7t.js";
|
|
7
7
|
import { K as KEY_SIZE_DATA } from "./theme.global-B46v_8eu.js";
|
|
8
8
|
const CheckboxGroup = (props) => {
|
|
@@ -68,4 +68,4 @@ export {
|
|
|
68
68
|
CheckboxGroupLabel as e,
|
|
69
69
|
CheckboxChildren as f
|
|
70
70
|
};
|
|
71
|
-
//# sourceMappingURL=component.styles-
|
|
71
|
+
//# sourceMappingURL=component.styles-DjJOwUeA.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"component.styles-
|
|
1
|
+
{"version":3,"file":"component.styles-DjJOwUeA.js","sources":["../src/components/checkbox-group/component.tsx","../src/components/checkbox-group/component.styles.ts"],"sourcesContent":["import { ReactNode, useCallback } from 'react'\n\nimport { Checkbox } from '@local/components/checkbox'\n\nimport {\n CheckboxChildren,\n CheckboxGroupItem,\n CheckboxGroupLabel,\n CheckboxGroupProps,\n CheckboxGroupWrapper,\n ICheckboxValue\n} from '.'\n\nexport const CheckboxGroup = <T extends ICheckboxValue>(props: CheckboxGroupProps<T>) => {\n const createMarkup = (html: string) => ({ __html: html })\n\n const handleCheckboxChange = useCallback(\n (item: T) => {\n const isSelected = props.value.some(selectedItem => selectedItem[props.valueField] === item[props.valueField])\n\n const updatedSelectedItems = isSelected\n ? props.value.filter(selectedItem => selectedItem[props.valueField] !== item[props.valueField])\n : props.multiple\n ? [...props.value, item]\n : [item]\n if (props.onChange) props.onChange(updatedSelectedItems)\n },\n [props]\n )\n return (\n <CheckboxGroupWrapper className={props.className} $sx={props.sx} $size={props.size}>\n {props.options.map((e, index) => {\n const isChecked = props.value.some(selectedItem => selectedItem[props.valueField] === e[props.valueField])\n return (\n <CheckboxGroupItem key={index} onClick={() => !props.isClickOnlyIcon && handleCheckboxChange(e)}>\n <Checkbox\n genre={props.checkboxGenre}\n isHiddenBorder={props.checkboxIsHiddenBorder}\n view={props.checkBoxView}\n sx={props.checkboxSX}\n size={props.size}\n checked={isChecked}\n >\n {props.labelField && e?.[props.labelField] !== undefined && (\n <CheckboxGroupLabel dangerouslySetInnerHTML={createMarkup(e[props.labelField] as string)} />\n )}\n </Checkbox>\n {props.childrenField && e?.[props.childrenField] !== undefined && (\n <CheckboxChildren>{e[props.childrenField] as ReactNode}</CheckboxChildren>\n )}\n </CheckboxGroupItem>\n )\n })}\n </CheckboxGroupWrapper>\n )\n}\n","import styled, { css } from 'styled-components'\n\nimport { getFontSizeStyles } from '@local/components/typography'\nimport { addSX } from '@local/styles/sx'\nimport { IThemeSizePropertyDefault, KEY_SIZE_DATA } from '@local/theme'\n\nimport { CheckboxGroupWrapperProps } from '.'\n\n/****************************************** Size *************************************************/\nexport const CheckboxGroupSize = css<CheckboxGroupWrapperProps>`\n ${props => CheckboxGroupSizeConstructor(KEY_SIZE_DATA[props.$size])};\n`\nexport const CheckboxGroupSizeConstructor = (props: IThemeSizePropertyDefault) => css`\n gap: ${props.padding - 2}px;\n ${params => getFontSizeStyles(props.font, 700, params.theme.font.family)};\n`\n\n/****************************************** Default *************************************************/\nexport const CheckboxGroupWrapper = styled.div<CheckboxGroupWrapperProps>`\n display: flex;\n flex-direction: column;\n align-items: stretch;\n ${CheckboxGroupSize};\n ${addSX};\n`\n\nexport const CheckboxGroupItem = styled.div`\n display: flex;\n flex-direction: row;\n align-items: center;\n`\n\nexport const CheckboxGroupLabel = styled.div`\n user-select: none;\n`\n\nexport const CheckboxChildren = styled.div`\n user-select: none;\n`\n"],"names":["jsxs","jsx"],"mappings":";;;;;;;AAaO,MAAM,gBAAgB,CAA2B,UAAiC;AACvF,QAAM,eAAe,CAAC,UAAkB,EAAE,QAAQ,KAAA;AAElD,QAAM,uBAAuB;AAAA,IAC3B,CAAC,SAAY;AACX,YAAM,aAAa,MAAM,MAAM,KAAK,CAAA,iBAAgB,aAAa,MAAM,UAAU,MAAM,KAAK,MAAM,UAAU,CAAC;AAE7G,YAAM,uBAAuB,aACzB,MAAM,MAAM,OAAO,kBAAgB,aAAa,MAAM,UAAU,MAAM,KAAK,MAAM,UAAU,CAAC,IAC5F,MAAM,WACJ,CAAC,GAAG,MAAM,OAAO,IAAI,IACrB,CAAC,IAAI;AACX,UAAI,MAAM,SAAU,OAAM,SAAS,oBAAoB;AAAA,IAAA;AAAA,IAEzD,CAAC,KAAK;AAAA,EAAA;AAER,+CACG,sBAAA,EAAqB,WAAW,MAAM,WAAW,KAAK,MAAM,IAAI,OAAO,MAAM,MAC3E,UAAA,MAAM,QAAQ,IAAI,CAAC,GAAG,UAAU;AAC/B,UAAM,YAAY,MAAM,MAAM,KAAK,CAAA,iBAAgB,aAAa,MAAM,UAAU,MAAM,EAAE,MAAM,UAAU,CAAC;AACzG,WACEA,uCAAC,qBAA8B,SAAS,MAAM,CAAC,MAAM,mBAAmB,qBAAqB,CAAC,GAC5F,UAAA;AAAA,MAAAC,kCAAAA;AAAAA,QAAC;AAAA,QAAA;AAAA,UACC,OAAO,MAAM;AAAA,UACb,gBAAgB,MAAM;AAAA,UACtB,MAAM,MAAM;AAAA,UACZ,IAAI,MAAM;AAAA,UACV,MAAM,MAAM;AAAA,UACZ,SAAS;AAAA,UAER,UAAA,MAAM,eAAc,uBAAI,MAAM,iBAAgB,UAC7CA,kCAAAA,IAAC,oBAAA,EAAmB,yBAAyB,aAAa,EAAE,MAAM,UAAU,CAAW,EAAA,CAAG;AAAA,QAAA;AAAA,MAAA;AAAA,MAG7F,MAAM,kBAAiB,uBAAI,MAAM,oBAAmB,UACnDA,sCAAC,kBAAA,EAAkB,UAAA,EAAE,MAAM,aAAa,EAAA,CAAe;AAAA,IAAA,EAAA,GAdnC,KAgBxB;AAAA,EAAA,CAEH,GACH;AAEJ;AC9CO,MAAM,oBAAoB;AAAA,IAC7B,WAAS,6BAA6B,cAAc,MAAM,KAAK,CAAC,CAAC;AAAA;AAE9D,MAAM,+BAA+B,CAAC,UAAqC;AAAA,SACzE,MAAM,UAAU,CAAC;AAAA,IACtB,CAAA,WAAU,kBAAkB,MAAM,MAAM,KAAK,OAAO,MAAM,KAAK,MAAM,CAAC;AAAA;AAInE,MAAM,uBAAuB,OAAO;AAAA;AAAA;AAAA;AAAA,IAIvC,iBAAiB;AAAA,IACjB,KAAK;AAAA;AAGF,MAAM,oBAAoB,OAAO;AAAA;AAAA;AAAA;AAAA;AAMjC,MAAM,qBAAqB,OAAO;AAAA;AAAA;AAIlC,MAAM,mBAAmB,OAAO;AAAA;AAAA;"}
|
|
@@ -1,18 +1,18 @@
|
|
|
1
1
|
import { j as jsxRuntimeExports } from "./jsx-runtime-BrDlu8eK.js";
|
|
2
2
|
import { ListLanguage, MapThemeList } from "./consts.es.js";
|
|
3
|
-
import { b as ErrorMessage, a as addError } from "./style-
|
|
3
|
+
import { b as ErrorMessage, a as addError } from "./style-Dca2udON.js";
|
|
4
4
|
import { K as KEY_SIZE_DATA } from "./theme.global-B46v_8eu.js";
|
|
5
|
-
import { j as Typography, u as usePopover, m as useMergeRefs, P as Popover, g as getFontSizeStyles } from "./component
|
|
5
|
+
import { j as Typography, u as usePopover, m as useMergeRefs, P as Popover, g as getFontSizeStyles } from "./component-zhkRBgS8.js";
|
|
6
6
|
import { useVirtualizer } from "@tanstack/react-virtual";
|
|
7
7
|
import moment from "moment";
|
|
8
8
|
import { memo, useMemo, useRef, useState, useCallback, useEffect } from "react";
|
|
9
|
-
import { c as Button } from "./component-
|
|
9
|
+
import { c as Button } from "./component-BJ4BlUBV.js";
|
|
10
10
|
import { I as Icon } from "./component.styles-CiGPOpxk.js";
|
|
11
11
|
import styled, { css } from "styled-components";
|
|
12
12
|
import { i as addRemoveOutline } from "./style-Bvt_Melk.js";
|
|
13
13
|
import { a as addSX } from "./style-plT9Ah7t.js";
|
|
14
14
|
import { motion } from "framer-motion";
|
|
15
|
-
import { T as TextArea } from "./component.styles-
|
|
15
|
+
import { T as TextArea } from "./component.styles-DxQx6LQO.js";
|
|
16
16
|
const DEFAULT_LABEL_SELECT_ALL = "Select all option";
|
|
17
17
|
const DEFAULT_LABEL_PLACEHOLDER = "Select an option";
|
|
18
18
|
const DEFAULT_LABEL_EMPTY_OPTION = "No options available";
|
|
@@ -585,13 +585,13 @@ const SelectLanguage = (props) => {
|
|
|
585
585
|
return /* @__PURE__ */ jsxRuntimeExports.jsx(Select, { ...props, option: viewOption, value: valueLocal, onChange: handleSelectChange });
|
|
586
586
|
};
|
|
587
587
|
const SelectMonth = (props) => {
|
|
588
|
-
const { value, onChange,
|
|
588
|
+
const { value, onChange, dateMin, dateMax, monthsLocale, isShortLabel } = props;
|
|
589
589
|
const year = moment(value).utc().year();
|
|
590
590
|
const option = useMemo(() => {
|
|
591
591
|
return monthsLocale.map((monthItem) => {
|
|
592
592
|
const monthIndex = moment().month(monthItem.value).month();
|
|
593
593
|
const monthMoment = moment.utc().year(year).month(monthIndex).startOf("month");
|
|
594
|
-
const isDisabled =
|
|
594
|
+
const isDisabled = dateMin && monthMoment.isBefore(moment.utc(dateMin), "month") || dateMax && monthMoment.isAfter(moment.utc(dateMax), "month");
|
|
595
595
|
return {
|
|
596
596
|
value: monthMoment.valueOf(),
|
|
597
597
|
label: isShortLabel ? monthItem.localeShort : monthItem.localeLong,
|
|
@@ -601,7 +601,7 @@ const SelectMonth = (props) => {
|
|
|
601
601
|
monthValue: monthItem.value
|
|
602
602
|
};
|
|
603
603
|
});
|
|
604
|
-
}, [monthsLocale, year,
|
|
604
|
+
}, [monthsLocale, year, dateMin, dateMax, isShortLabel]);
|
|
605
605
|
const handleSelectChange = (value2) => {
|
|
606
606
|
if (value2.length === 0) onChange(null);
|
|
607
607
|
onChange(+value2[0].value);
|
|
@@ -614,13 +614,13 @@ const SelectMonth = (props) => {
|
|
|
614
614
|
return /* @__PURE__ */ jsxRuntimeExports.jsx(Select, { ...props, option, value: valueLocal, onChange: handleSelectChange });
|
|
615
615
|
};
|
|
616
616
|
const SelectMonths = (props) => {
|
|
617
|
-
const { value, onChange,
|
|
617
|
+
const { value, onChange, dateMin, dateMax, monthsLocale, isShortLabel } = props;
|
|
618
618
|
const year = moment(value).utc().year();
|
|
619
619
|
const option = useMemo(() => {
|
|
620
620
|
return monthsLocale.map((monthItem) => {
|
|
621
621
|
const monthIndex = moment().month(monthItem.value).month();
|
|
622
622
|
const monthMoment = moment.utc().year(year).month(monthIndex).startOf("month");
|
|
623
|
-
const isDisabled =
|
|
623
|
+
const isDisabled = dateMin && monthMoment.isBefore(moment.utc(dateMin), "month") || dateMax && monthMoment.isAfter(moment.utc(dateMax), "month");
|
|
624
624
|
return {
|
|
625
625
|
value: monthMoment.valueOf(),
|
|
626
626
|
label: isShortLabel ? monthItem.localeShort : monthItem.localeLong,
|
|
@@ -630,7 +630,7 @@ const SelectMonths = (props) => {
|
|
|
630
630
|
monthValue: monthItem.value
|
|
631
631
|
};
|
|
632
632
|
});
|
|
633
|
-
}, [monthsLocale, year,
|
|
633
|
+
}, [monthsLocale, year, dateMin, dateMax, isShortLabel]);
|
|
634
634
|
const [viewOption, setViewOption] = useState(option);
|
|
635
635
|
useEffect(() => {
|
|
636
636
|
setViewOption(option);
|
|
@@ -681,9 +681,9 @@ const SelectMonths = (props) => {
|
|
|
681
681
|
);
|
|
682
682
|
};
|
|
683
683
|
const SelectYear = (props) => {
|
|
684
|
-
const { value, onChange,
|
|
685
|
-
const startYear = moment(
|
|
686
|
-
const endYear = moment(
|
|
684
|
+
const { value, onChange, dateMin, dateMax, sortOrder = "desc" } = props;
|
|
685
|
+
const startYear = moment(dateMin).utc().year();
|
|
686
|
+
const endYear = moment(dateMax).utc().year();
|
|
687
687
|
const option = useMemo(() => {
|
|
688
688
|
const yearArray = Array.from({ length: endYear - startYear + 1 }, (_, index) => {
|
|
689
689
|
const year = startYear + index;
|
|
@@ -756,11 +756,6 @@ const addSelectWrapperGenre = css`
|
|
|
756
756
|
background: ${props.theme.colors.input[props.$genre].background.rest};
|
|
757
757
|
border-color: ${props.theme.colors.input[props.$genre].border.rest};
|
|
758
758
|
color: ${props.theme.colors.input[props.$genre].color.rest};
|
|
759
|
-
&:active {
|
|
760
|
-
background: ${props.theme.colors.input[props.$genre].background.rest};
|
|
761
|
-
border-color: ${props.theme.colors.input[props.$genre].border.rest};
|
|
762
|
-
color: ${props.theme.colors.input[props.$genre].color.rest};
|
|
763
|
-
}
|
|
764
759
|
${!props.$isNotShowHoverStyle && css`
|
|
765
760
|
&:hover {
|
|
766
761
|
background: ${props.theme.colors.input[props.$genre].background.hover};
|
|
@@ -768,11 +763,11 @@ const addSelectWrapperGenre = css`
|
|
|
768
763
|
color: ${props.theme.colors.input[props.$genre].color.hover};
|
|
769
764
|
}
|
|
770
765
|
`}
|
|
771
|
-
|
|
766
|
+
${props.$isOpen && css`
|
|
772
767
|
background: ${props.theme.colors.input[props.$genre].background.rest};
|
|
773
768
|
border-color: ${props.theme.colors.input[props.$genre].border.rest};
|
|
774
769
|
color: ${props.theme.colors.input[props.$genre].color.rest};
|
|
775
|
-
}
|
|
770
|
+
`}
|
|
776
771
|
`};
|
|
777
772
|
`;
|
|
778
773
|
const addSelectWrapperSize = css`
|
|
@@ -1020,4 +1015,4 @@ export {
|
|
|
1020
1015
|
SelectListOption as l,
|
|
1021
1016
|
SelectTextArea as m
|
|
1022
1017
|
};
|
|
1023
|
-
//# sourceMappingURL=component.styles-
|
|
1018
|
+
//# sourceMappingURL=component.styles-DsnwGPvj.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"component.styles-DsnwGPvj.js","sources":["../src/components/select/component.tsx","../src/components/select/component.styles.ts"],"sourcesContent":["import { ListLanguage, MapThemeList } from '@local/consts';\nimport { ErrorMessage } from '@local/styles/error';\nimport { KEY_SIZE_DATA } from '@local/theme';\n\nimport { useMergeRefs } from '@floating-ui/react';\nimport { useVirtualizer } from '@tanstack/react-virtual';\nimport moment from 'moment';\nimport { FC, KeyboardEvent, memo, Ref, useCallback, useEffect, useMemo, useRef, useState } from 'react';\n\nimport { Button } from '../button';\nimport { Icon } from '../icon';\nimport { Popover, usePopover } from '../popover';\nimport { Typography } from '../typography';\nimport {\n ButtonList,\n ContainerDropdownListOptionProps,\n ContainerSelectListOptionProps,\n DropdownList,\n DropdownListOption,\n DropdownListOptionIcon,\n DropdownListParent,\n ISelectItem,\n ISelectLanguageOption,\n ISelectMapThemeOption,\n SelectLanguageProps,\n SelectList,\n SelectListOption,\n SelectMapThemeProps,\n SelectMonthProps,\n SelectMonthsProps,\n SelectProps,\n SelectTextArea,\n SelectWrapper,\n SelectYearProps,\n} from '.';\n\nconst DEFAULT_LABEL_SELECT_ALL = 'Select all option';\nconst DEFAULT_LABEL_PLACEHOLDER = 'Select an option';\nconst DEFAULT_LABEL_EMPTY_OPTION = 'No options available';\nconst DEFAULT_LABEL_AND_MORE = (count: number) => `+${count} more`;\nconst DEFAULT_LABEL_ADD_OPTION = (value: string) => `Add \"${value}\" option`;\n\nconst DEFAULT_MAX_VIEW_SELECT = 2;\nconst DEFAULT_MAX_VIEW_DROPDOWN = 5;\nconst DEFAULT_MIN_VIEW_DROPDOWN = 1;\nconst DEFAULT_OVERSCAN = 1;\n\nexport const Select = <T extends object & ISelectItem>(props: SelectProps<T>) => {\n const sizeHeight = useMemo(() => KEY_SIZE_DATA[props.size].height, [props.size]);\n const sizePadding = useMemo(() => KEY_SIZE_DATA[props.size].padding, [props.size]);\n const sizeRadius = useMemo(() => KEY_SIZE_DATA[props.size].radius, [props.size]);\n\n const {\n isOpen,\n close,\n open,\n refReference: refReferencePopover,\n refFloating: refFloatingPopover,\n floatingStyles,\n toggle,\n } = usePopover({\n placement: 'bottom-start',\n offset: sizePadding,\n mode: 'independence',\n isClickOutside: true,\n isWidthAsContent: true,\n isDisabled: props?.isDisabled,\n onBlur: props.onBlur,\n onFocus: props.onFocus,\n });\n const refTextArea = useRef<HTMLTextAreaElement>(null);\n const refDropdownList = useRef<HTMLDivElement>(null);\n\n const refReference = useMergeRefs([props.refReference, refReferencePopover]);\n const refFloating = useMergeRefs([props.refFloating, refFloatingPopover]);\n\n const labelSelectAll = useMemo(() => props.labelSelectAll ?? DEFAULT_LABEL_SELECT_ALL, [props.labelSelectAll]);\n const labelPlaceholder = useMemo(() => props.labelPlaceholder ?? DEFAULT_LABEL_PLACEHOLDER, [props.labelPlaceholder]);\n const labelEmptyOption = useMemo(\n () => props.labelEmptyOption ?? DEFAULT_LABEL_EMPTY_OPTION,\n [props.labelEmptyOption],\n );\n const labelAndMore = useMemo(() => props.labelAndMore ?? DEFAULT_LABEL_AND_MORE, [props.labelAndMore]);\n const labelAddOption = useMemo(() => props.labelAddOption ?? DEFAULT_LABEL_ADD_OPTION, [props.labelAddOption]);\n\n const maxViewSelect = useMemo(() => props.maxViewSelect ?? DEFAULT_MAX_VIEW_SELECT, [props.maxViewSelect]);\n const maxViewDropdown = useMemo(() => props.maxViewDropdown ?? DEFAULT_MAX_VIEW_DROPDOWN, [props.maxViewDropdown]);\n const minViewDropdown = useMemo(() => props.minViewDropdown ?? DEFAULT_MIN_VIEW_DROPDOWN, [props.minViewDropdown]);\n\n const isAll = useMemo(\n () => props.value.length === props.option.length || props.value.length === props.optionAllLength,\n [props.option.length, props.optionAllLength, props.value.length],\n );\n const isHaveOption = useMemo(() => !!props.option.length, [props.option.length]);\n const isHaveValue = useMemo(() => !!props.value.length, [props.value.length]);\n const isShowAddOption = useMemo(\n () => props.valueSearch && props.isShowAddOption,\n [props.valueSearch, props.isShowAddOption],\n );\n const [isShowSearch, setIsShowSearch] = useState<boolean>(false);\n\n const optionsLength = useMemo(() => {\n if (props.isNotShowDisabledOptions) {\n return props.option.filter((option) => !option.isDisabled).length;\n } else {\n return props.option.length;\n }\n }, [props.option, props.isNotShowDisabledOptions]);\n\n const heightDropdownList = useMemo(\n () =>\n sizeHeight *\n (optionsLength < maxViewDropdown\n ? optionsLength < minViewDropdown\n ? optionsLength\n : optionsLength\n : maxViewDropdown),\n [sizeHeight, optionsLength, maxViewDropdown, minViewDropdown],\n );\n const heightPopover = useMemo(() => {\n const selectAll = props.isShowSelectAll && isHaveOption ? sizeHeight : 0;\n const selectNoOption = !isHaveOption ? sizeHeight : 0;\n const selectList = isHaveOption ? heightDropdownList : 0;\n const selectAdd = isShowAddOption ? sizeHeight : 0;\n const sum =\n (selectAll !== 0 ? 1 : 0) +\n (selectNoOption !== 0 ? 1 : 0) +\n (selectList !== 0 ? 1 : 0) +\n (selectAdd !== 0 ? 1 : 0);\n const padding = sum <= 1 ? 0 : (sum - 1) * (sizePadding / 2.8);\n return selectAll + selectNoOption + selectList + selectAdd + padding;\n }, [props.isShowSelectAll, sizeHeight, isHaveOption, sizePadding, heightDropdownList, isShowAddOption]);\n\n const isValueMoreMaxViewSelect = useMemo(\n () => props.value.length > maxViewSelect,\n [maxViewSelect, props.value.length],\n );\n const isShowIconSearchClear = useMemo(\n () => props.isShowIconSearchClear && props.valueSearch,\n [props.isShowIconSearchClear, props.valueSearch],\n );\n const isShowButtonList = useMemo(\n () => isShowIconSearchClear || props.isShowIconToggle || (props.isShowIconFetching && props.isFetching),\n [isShowIconSearchClear, props.isShowIconToggle, props.isShowIconFetching, props.isFetching],\n );\n const isShowScroll = useMemo(() => optionsLength > maxViewDropdown, [maxViewDropdown, optionsLength]);\n const isSelectedItem = useCallback(\n (option: T): boolean => {\n return isAll || props.value.some((val) => val.value === option.value);\n },\n [isAll, props.value],\n );\n const isShowDropdownSettingsList = useMemo(\n () => isShowAddOption || (props.isShowSelectAll && isHaveOption) || !isHaveOption,\n [isHaveOption, isShowAddOption, props.isShowSelectAll],\n );\n const listVirtualizer = useVirtualizer({\n count: optionsLength,\n estimateSize: props.getEstimateSize ? props.getEstimateSize : () => sizeHeight,\n getScrollElement: () => refDropdownList.current,\n overscan: DEFAULT_OVERSCAN,\n paddingEnd: 0,\n });\n\n const onChangeShowSearch = useCallback(\n (show: boolean) => {\n if (props.isSearch && !props.isDisabled) {\n setIsShowSearch(show);\n } else {\n setIsShowSearch(false);\n }\n },\n [props.isDisabled, props.isSearch],\n );\n const onClick = useCallback(\n (option: T) => {\n let newValues: T[] = [];\n const optionValue = option.value;\n\n const findIndex = (val: T) => val.value === optionValue;\n const index = props.value.findIndex(findIndex);\n const isFind = index !== -1;\n\n if (props.isMulti) {\n if (isFind) {\n newValues = [...props.value.slice(0, index), ...props.value.slice(index + 1)];\n } else {\n newValues = [...props.value, option];\n }\n } else {\n if (isFind && !props.isStayValueAfterSelect) {\n newValues = [...props.value.slice(0, index), ...props.value.slice(index + 1)];\n } else {\n newValues = [option];\n }\n }\n props.onChange(newValues);\n onChangeShowSearch(!!props.isStaySearchAfterSelect);\n if (props.isOnClickOptionClose) {\n close();\n }\n },\n [close, onChangeShowSearch, props],\n );\n const onClickAll = useCallback(() => {\n props.onChangeAll?.(isAll ? [] : props.option, !isAll);\n onChangeShowSearch(!!props.isStaySearchAfterSelect);\n if (props.isOnClickOptionClose) {\n close();\n }\n }, [close, isAll, onChangeShowSearch, props]);\n // const onClear = useCallback(() => {\n // props.onChange([]);\n // }, [props]);\n const onClearSearch = useCallback(() => {\n props.onChangeSearch?.('');\n }, [props]);\n const onScroll = useCallback(\n (containerRefElement?: HTMLDivElement | null) => {\n if (containerRefElement) {\n const { scrollHeight, scrollTop, clientHeight } = containerRefElement;\n if (scrollHeight - scrollTop - clientHeight < heightDropdownList && !props.isFetching && props.fetchNextPage) {\n props.fetchNextPage();\n }\n }\n },\n [heightDropdownList, props],\n );\n const onAddOption = useCallback(\n (value: string) => {\n props.onAddOption?.(value);\n props.onChangeSearch?.('');\n },\n [props],\n );\n // biome-ignore lint/correctness/useExhaustiveDependencies: <explanation>\n useEffect(() => {\n onChangeShowSearch(false);\n }, [onChangeShowSearch, props.isDisabled]);\n useEffect(() => {\n if (!isHaveValue) {\n onChangeShowSearch(true);\n }\n }, [isHaveValue, onChangeShowSearch]);\n useEffect(() => {\n if (!isOpen && isHaveValue) {\n onChangeShowSearch(false);\n }\n }, [isHaveValue, isOpen, onChangeShowSearch]);\n\n return (\n <>\n <SelectWrapper\n tabIndex={0}\n $error={props?.error}\n $isNotShowHoverStyle={props?.isNotShowHoverStyle}\n $size={props.size}\n $genre={props.genre}\n $isCenter={props.isCenter}\n $sx={props.sx}\n $isOpen={isOpen}\n ref={refReference as Ref<HTMLDivElement | null>}\n onClick={() => {\n open();\n onChangeShowSearch(true);\n }}\n onFocus={() => {\n open();\n }}\n >\n {isShowSearch && (\n <SelectTextArea\n ref={refTextArea}\n genre={props.genre}\n size={props.size}\n minRows={1}\n maxRows={5}\n isAutoHeight\n onChange={(value) => {\n props?.onChangeSearch?.(value);\n }}\n value={props.valueSearch}\n placeholder={labelPlaceholder}\n />\n )}\n {isHaveValue && (props.isShowSelectAllLabel ? !isAll : true) ? (\n <SelectList\n $size={props.size}\n tabIndex={-1}\n $isWrapSelectOption={props.isWrapSelectOption}\n onMouseDown={(e) => {\n e.preventDefault();\n }}\n onClick={(e) => {\n e.preventDefault();\n }}\n >\n {props.value.map((value, index) => {\n if (index >= maxViewSelect) return null;\n\n const isChecked = isSelectedItem(value);\n return (\n <ContainerSelectListOption\n key={`${value.value}-${index}`}\n isChecked={isChecked}\n onClick={() => props.isClearWhenClickSelectListOption && onClick(value)}\n item={value}\n genre={props.genre}\n size={props.size}\n isBold={props.isBold}\n isOnlyColorInSelectListOption={props.isOnlyColorInSelectListOption}\n isClearWhenClickSelectListOption={props.isClearWhenClickSelectListOption}\n isWrapSelectOption={props.isWrapSelectOption}\n isNotShowHoverStyle={props.isNotShowHoverStyle}\n isCenter={props.isCenter}\n />\n );\n })}\n </SelectList>\n ) : null}\n {isHaveValue && (props.isShowSelectAllLabel ? isAll : false) ? (\n <Typography\n sxStandard={{\n default: { padding: `${sizePadding / 2.8}px 0px ${sizePadding / 2.8}px ${sizePadding / 2.8}px` },\n }}\n sx={{ default: { size: 16, line: 1, isNoUserSelect: true } }}\n >\n {labelSelectAll}\n </Typography>\n ) : null}\n {!isHaveValue && !props.isSearch ? (\n <Typography\n sxStandard={(theme) => ({\n default: {\n color: theme.colors.input[props.genre].color.placeholder,\n padding: `${sizePadding / 2.8}px 0px ${sizePadding / 2.8}px ${sizePadding / 2.8}px`,\n },\n })}\n sx={{ default: { size: 16, line: 1, isNoUserSelect: true } }}\n >\n {labelPlaceholder}\n </Typography>\n ) : null}\n\n {isValueMoreMaxViewSelect && isHaveValue && (props.isShowSelectAllLabel ? !isAll : true) ? (\n <Typography\n sxStandard={{\n default: { padding: `${sizePadding / 2.8}px 0px ${sizePadding / 2.8}px ${sizePadding / 2.8}px` },\n }}\n sx={{ default: { size: 16, line: 1, isNoUserSelect: true } }}\n >\n {labelAndMore(props.value.length - maxViewSelect)}\n </Typography>\n ) : null}\n {isShowButtonList ? (\n <ButtonList\n $size={props.size}\n onMouseDown={(e) => {\n e.preventDefault();\n }}\n >\n {isShowIconSearchClear && (\n <Button\n genre={props.genre}\n size='small'\n isWidthAsHeight\n isFullSize\n isRadius\n isOnlyIcon\n icons={[{ name: 'Close', type: 'id' }]}\n onClick={(e) => {\n e.preventDefault();\n e.stopPropagation();\n onClearSearch();\n }}\n />\n )}\n {props.isShowIconToggle && (\n <Button\n genre={props.genre}\n size='small'\n isWidthAsHeight\n isFullSize\n isRadius\n isOnlyIcon\n icons={[{ name: 'Select', type: 'id' }]}\n onClick={(e) => {\n e.preventDefault();\n e.stopPropagation();\n toggle();\n }}\n />\n )}\n {props.isShowIconFetching && props.isFetching && (\n <Button\n tabIndex={-1}\n genre={props.genre}\n size='small'\n isWidthAsHeight\n isFullSize\n isRadius\n isHiddenBorder\n isDisabledRipple\n isNotHoverEffect\n >\n <Icon type={'loading'} name={'Circle'} size={props.size} />\n </Button>\n )}\n </ButtonList>\n ) : null}\n </SelectWrapper>\n <Popover\n sx={(theme) => ({\n default: {\n background: theme.colors.input[props.genre].background.rest,\n borderRadius: `${sizeRadius}px`,\n padding: '0px',\n maxHeight: `${heightPopover}px`,\n },\n })}\n isShowAlwaysOutline\n size={props.size}\n genre={props.genre}\n floatingStyles={floatingStyles}\n ref={refFloating}\n isOpen={isOpen}\n >\n <DropdownListParent\n tabIndex={-1}\n ref={refDropdownList}\n $size={props.size}\n onScroll={(e) => onScroll(e.target as HTMLDivElement)}\n >\n {isShowDropdownSettingsList && (\n <DropdownList style={{ position: 'sticky', top: 0, zIndex: 1 }}>\n {isShowAddOption ? (\n <DropdownListOption\n tabIndex={0}\n onClick={() => props.valueSearch && onAddOption(props.valueSearch)}\n onKeyDown={(e) => {\n if (e.key === 'Enter' && props.valueSearch) onAddOption(props.valueSearch);\n }}\n $isCenter={props.isCenter}\n $isNotShowHoverStyle={props.isNotShowHoverStyle}\n $genre={props.genre}\n $size={props.size}\n $isBold={props.isBold}\n $isChecked={isAll}\n style={{ position: 'relative', minHeight: `${sizeHeight}px` }}\n >\n {props.valueSearch && labelAddOption(props.valueSearch)}\n </DropdownListOption>\n ) : null}\n {props.isShowSelectAll && isHaveOption ? (\n <DropdownListOption\n tabIndex={0}\n onClick={() => onClickAll()}\n onKeyDown={(e) => {\n if (e.key === 'Enter') onClickAll();\n }}\n $isCenter={props.isCenter}\n $isNotShowHoverStyle={props.isNotShowHoverStyle}\n $genre={props.genre}\n $size={props.size}\n $isBold={props.isBold}\n $isChecked={isAll}\n $isShowScroll={isShowScroll}\n style={{ position: 'relative', minHeight: `${sizeHeight}px` }}\n >\n {labelSelectAll}\n {props.isShowDropdownOptionIcon && (\n <DropdownListOptionIcon\n tabIndex={-1}\n size={props.size}\n type='checkbox'\n name='Arrow'\n $genre={props.genre}\n $checked={isAll}\n $size={props.size}\n />\n )}\n </DropdownListOption>\n ) : null}\n {!isHaveOption ? (\n <DropdownListOption\n tabIndex={-1}\n $isCenter={props.isCenter}\n $isNotShowHoverStyle={props.isNotShowHoverStyle}\n $genre={props.genre}\n $size={props.size}\n $isBold={props.isBold}\n $isChecked={isAll}\n $isShowScroll={isShowScroll}\n style={{ position: 'relative', minHeight: `${sizeHeight}px` }}\n >\n <Typography sx={{ default: { size: 16, line: 1 } }}>{labelEmptyOption}</Typography>\n </DropdownListOption>\n ) : null}\n </DropdownList>\n )}\n\n {isHaveOption ? (\n <DropdownList\n tabIndex={-1}\n style={{ height: `${listVirtualizer.getTotalSize()}px`, minHeight: `${heightDropdownList}px` }}\n >\n {listVirtualizer.getVirtualItems().map((virtualRow) => {\n const item = props.option[virtualRow.index];\n const isChecked = isSelectedItem(item);\n return (\n <ContainerDropdownListOption\n key={virtualRow.index}\n virtualRowSize={virtualRow.size}\n virtualRowStart={virtualRow.start}\n isChecked={isChecked}\n onClick={() => onClick(item)}\n item={item}\n genre={props.genre}\n size={props.size}\n isBold={props.isBold}\n isNotShowHoverStyle={props.isNotShowHoverStyle}\n isCenter={props.isCenter}\n isShowScroll={isShowScroll}\n isShowDropdownOptionIcon={props.isShowDropdownOptionIcon}\n />\n );\n })}\n </DropdownList>\n ) : null}\n </DropdownListParent>\n </Popover>\n {props?.error ? <ErrorMessage {...props.error} size={props?.error.size ?? props.size} /> : null}\n </>\n );\n};\n\nconst ContainerDropdownListOptionComponent = <T extends object & ISelectItem>(\n props: ContainerDropdownListOptionProps<T>,\n) => {\n const handleKeyDown = (event: KeyboardEvent<HTMLLIElement>) => {\n if (props.item.isDisabled) return;\n if (event.key === 'Enter') {\n props.onClick();\n }\n };\n return (\n <DropdownListOption\n tabIndex={0}\n onClick={() => {\n !props.item.isDisabled && props.onClick();\n }}\n onKeyDown={handleKeyDown}\n style={{\n position: 'absolute',\n height: `${props.virtualRowSize}px`,\n transform: `translateY(${props.virtualRowStart}px)`,\n }}\n $isCenter={props.isCenter}\n $isNotShowHoverStyle={props.isNotShowHoverStyle}\n $item={props.item}\n $genre={props.genre}\n $size={props.size}\n $isBold={props.isBold}\n $isChecked={props.isChecked}\n $isShowScroll={props.isShowScroll}\n >\n {props.item.label}\n {props.isShowDropdownOptionIcon && (\n <DropdownListOptionIcon\n tabIndex={-1}\n size={props.size}\n type='checkbox'\n name='Arrow'\n $genre={props.genre}\n $checked={props.isChecked}\n $size={props.size}\n />\n )}\n </DropdownListOption>\n );\n};\n\nconst ContainerSelectListOptionComponent = <T extends object & ISelectItem>(\n props: ContainerSelectListOptionProps<T>,\n) => {\n return (\n <SelectListOption\n tabIndex={-1}\n onClick={props.onClick}\n $isOnlyColorInSelectListOption={props.isOnlyColorInSelectListOption}\n $isClearWhenClickSelectListOption={props.isClearWhenClickSelectListOption}\n $isWrapSelectOption={props.isWrapSelectOption}\n $isCenter={props.isCenter}\n $isNotShowHoverStyle={props.isNotShowHoverStyle}\n $item={props.item}\n $genre={props.genre}\n $size={props.size}\n $isBold={props.isBold}\n $isChecked={props.isChecked}\n >\n <Typography sx={{ default: { size: 16, line: 1 } }}>{props.item.label}</Typography>\n </SelectListOption>\n );\n};\n\nexport const ContainerDropdownListOption = memo(ContainerDropdownListOptionComponent);\nexport const ContainerSelectListOption = memo(ContainerSelectListOptionComponent);\n\nexport const SelectLanguage: FC<SelectLanguageProps> = (props) => {\n const { value, onChange } = props;\n\n const option = ListLanguage;\n\n const [viewOption] = useState<ISelectLanguageOption[]>(option);\n\n const handleSelectChange = (value: ISelectLanguageOption[]) => {\n if (value.length === 0) onChange(null);\n onChange(value[0].value.toString());\n };\n const valueLocal = useMemo(() => {\n const findOption = option.find((e) => e.value === value);\n if (!findOption) return [];\n return [findOption];\n }, [option, value]);\n\n return (\n <Select<ISelectLanguageOption> {...props} option={viewOption} value={valueLocal} onChange={handleSelectChange} />\n );\n};\nexport const SelectMonth: FC<SelectMonthProps> = (props) => {\n const { value, onChange, dateMin, dateMax, monthsLocale, isShortLabel } = props;\n\n const year = moment(value).utc().year();\n\n const option = useMemo(() => {\n return monthsLocale.map((monthItem) => {\n const monthIndex = moment().month(monthItem.value).month();\n\n const monthMoment = moment.utc().year(year).month(monthIndex).startOf('month');\n const isDisabled =\n (dateMin && monthMoment.isBefore(moment.utc(dateMin), 'month')) ||\n (dateMax && monthMoment.isAfter(moment.utc(dateMax), 'month'));\n\n return {\n value: monthMoment.valueOf(),\n label: isShortLabel ? monthItem.localeShort : monthItem.localeLong,\n placeholder: isShortLabel ? monthItem.localeShort : monthItem.localeLong,\n search: `${monthItem.localeLong.toLowerCase()}, ${monthIndex + 1}`,\n isDisabled: !!isDisabled,\n monthValue: monthItem.value,\n };\n });\n }, [monthsLocale, year, dateMin, dateMax, isShortLabel]);\n\n const handleSelectChange = (value: ISelectLanguageOption[]) => {\n if (value.length === 0) onChange(null);\n onChange(+value[0].value);\n };\n const valueLocal = useMemo(() => {\n const findOption = option.find((e) => e.value === value);\n if (!findOption) return [];\n return [findOption];\n }, [value, option]);\n\n return <Select<ISelectLanguageOption> {...props} option={option} value={valueLocal} onChange={handleSelectChange} />;\n};\nexport const SelectMonths: FC<SelectMonthsProps> = (props) => {\n const { value, onChange, dateMin, dateMax, monthsLocale, isShortLabel } = props;\n\n const year = moment(value).utc().year();\n\n const option = useMemo(() => {\n return monthsLocale.map((monthItem) => {\n const monthIndex = moment().month(monthItem.value).month();\n\n const monthMoment = moment.utc().year(year).month(monthIndex).startOf('month');\n const isDisabled =\n (dateMin && monthMoment.isBefore(moment.utc(dateMin), 'month')) ||\n (dateMax && monthMoment.isAfter(moment.utc(dateMax), 'month'));\n\n return {\n value: monthMoment.valueOf(),\n label: isShortLabel ? monthItem.localeShort : monthItem.localeLong,\n placeholder: isShortLabel ? monthItem.localeShort : monthItem.localeLong,\n search: `${monthItem.localeLong.toLowerCase()}, ${monthIndex + 1}`,\n isDisabled: !!isDisabled,\n monthValue: monthItem.value,\n };\n });\n }, [monthsLocale, year, dateMin, dateMax, isShortLabel]);\n const [viewOption, setViewOption] = useState<ISelectLanguageOption[]>(option);\n\n useEffect(() => {\n setViewOption(option);\n }, [option]);\n const handleSelectChange = (value: ISelectLanguageOption[]) => {\n if (value.length === 0) onChange([]);\n onChange(value.map((e) => +e.value));\n };\n const valueLocal = useMemo(() => {\n if (!value || value.length === 0) return [];\n return value.map((val) => option.find((opt) => opt.value === val)).filter(Boolean) as ISelectLanguageOption[];\n }, [value, option]);\n\n const [search, setSearch] = useState<string>('');\n const handleSearchChange = useCallback(\n (value: string) => {\n setSearch(value);\n\n if (value === '') {\n setViewOption(option);\n } else {\n const filteredOptions = option.filter((option) =>\n Object.values(option).some((field) => field?.toString().toLowerCase().includes(value.toLowerCase())),\n );\n setViewOption(filteredOptions);\n }\n },\n [option],\n );\n return (\n <Select<ISelectLanguageOption>\n {...props}\n valueSearch={search}\n onChangeSearch={handleSearchChange}\n optionAllLength={option.length}\n option={viewOption}\n minViewDropdown={1}\n isMulti\n value={valueLocal}\n onChange={handleSelectChange}\n onChangeAll={(_value, isAll) => {\n if (isAll) {\n onChange(viewOption.map((e) => +e.value));\n } else {\n onChange([]);\n }\n }}\n />\n );\n};\nexport const SelectYear: FC<SelectYearProps> = (props) => {\n const { value, onChange, dateMin, dateMax, sortOrder = 'desc' } = props;\n\n const startYear = moment(dateMin).utc().year();\n const endYear = moment(dateMax).utc().year();\n\n const option = useMemo(() => {\n const yearArray = Array.from({ length: endYear - startYear + 1 }, (_, index) => {\n const year = startYear + index;\n return {\n value: moment().year(year).utc().startOf('year').valueOf(),\n label: moment().year(year).utc().format('YYYY'),\n placeholder: moment().year(year).utc().format('YYYY'),\n search: `${moment().year(year).utc().format('YYYY').toLowerCase()}`,\n };\n });\n\n return sortOrder === 'asc'\n ? yearArray.sort((a, b) => a.value - b.value)\n : yearArray.sort((a, b) => b.value - a.value);\n }, [endYear, startYear, sortOrder]);\n\n const handleSelectChange = (value: ISelectLanguageOption[]) => {\n if (value.length === 0) onChange(null);\n onChange(+value[0].value);\n };\n const valueLocal = useMemo(() => {\n const findOption = option.find((e) => e.value === value);\n if (!findOption) return [];\n return [findOption];\n }, [value, option]);\n\n return <Select<ISelectLanguageOption> {...props} option={option} value={valueLocal} onChange={handleSelectChange} />;\n};\nexport const SelectMapTheme: FC<SelectMapThemeProps> = (props) => {\n const { value, onChange } = props;\n\n const option = useMemo(() => MapThemeList.map((e) => ({ label: e.name, value: e.name, placeholder: e.name })), []);\n\n const [viewOption, setViewOption] = useState<ISelectMapThemeOption[]>(option);\n useEffect(() => {\n setViewOption(option);\n }, [option]);\n const handleSelectChange = (value: ISelectMapThemeOption[]) => {\n if (value.length === 0) onChange(null);\n const findOption = MapThemeList.find((e) => e.name === value[0].value);\n onChange(findOption ?? null);\n };\n const valueLocal = useMemo(() => {\n const findOption = option.find((e) => e.value === value.name);\n if (!findOption) return [];\n return [findOption];\n }, [value, option]);\n\n const [search, setSearch] = useState<string>('');\n const handleSearchChange = useCallback(\n (value: string) => {\n setSearch(value);\n\n if (value === '') {\n setViewOption(option);\n } else {\n const filteredOptions = option.filter((option) =>\n Object.values(option).some((field) => field?.toString().toLowerCase().includes(value.toLowerCase())),\n );\n setViewOption(filteredOptions);\n }\n },\n [option],\n );\n return (\n <Select<ISelectMapThemeOption>\n {...props}\n option={viewOption}\n value={valueLocal}\n onChange={handleSelectChange}\n valueSearch={search}\n onChangeSearch={handleSearchChange}\n />\n );\n};\n","import { Icon } from '@local/components/icon';\nimport { getFontSizeStyles } from '@local/components/typography';\nimport { addRemoveOutline } from '@local/styles/add';\nimport { addError } from '@local/styles/error';\nimport { addSX } from '@local/styles/sx';\nimport { KEY_SIZE_DATA } from '@local/theme/theme';\n\nimport { motion } from 'framer-motion';\nimport styled, { css } from 'styled-components';\n\nimport { TextArea } from '../textarea';\nimport {\n ButtonListProps,\n DropdownListOptionIconProps,\n DropdownListOptionProps,\n DropdownListParentProps,\n SelectListOptionProps,\n SelectListProps,\n SelectWrapperProps,\n} from '.';\n\nconst addSelectWrapperGenre = css<SelectWrapperProps>`\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 !props.$isNotShowHoverStyle &&\n css`\n &:hover {\n background: ${props.theme.colors.input[props.$genre].background.hover};\n border-color: ${props.theme.colors.input[props.$genre].border.hover};\n color: ${props.theme.colors.input[props.$genre].color.hover};\n }\n `\n }\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 `\n }\n `};\n`;\nconst addSelectWrapperSize = css<SelectWrapperProps>`\n border: 1px solid;\n width: 100%;\n padding: ${(props) => KEY_SIZE_DATA[props.$size].padding / 4}px\n ${(props) => KEY_SIZE_DATA[props.$size].padding - KEY_SIZE_DATA[props.$size].padding / 2.8}px;\n gap: ${(props) => KEY_SIZE_DATA[props.$size].padding / 2.8}px;\n height: fit-content;\n min-height: ${(props) => KEY_SIZE_DATA[props.$size].height}px;\n border-radius: ${(props) => KEY_SIZE_DATA[props.$size].radius}px;\n justify-content: ${(props) => (props.$isCenter ? 'center' : 'flex-start')};\n ${(props) =>\n props.$isOpen &&\n css`\n outline: 2px ${(props) => props.theme.states.focus} solid;\n outline-offset: 1px;\n `}\n`;\nexport const SelectWrapper = styled(motion.div)<SelectWrapperProps>`\n position: relative;\n display: flex;\n flex-direction: row;\n flex-wrap: wrap;\n align-items: center;\n align-content: center;\n flex-wrap: wrap;\n ${addSelectWrapperGenre};\n ${addSelectWrapperSize};\n ${addError};\n ${addSX};\n`;\nconst addDropdownListParentSize = css<DropdownListParentProps>`\n gap: ${(props) => KEY_SIZE_DATA[props.$size].padding / 2.8}px;\n`;\nexport const DropdownListParent = styled(motion.div)<DropdownListParentProps>`\n height: 100%;\n width: 100%;\n overflow: hidden;\n overflow-y: auto;\n margin: 0;\n padding: 0;\n display: flex;\n flex-direction: column;\n ${addDropdownListParentSize};\n`;\nexport const DropdownList = styled.ul`\n list-style: none;\n position: relative;\n display: flex;\n flex-direction: column;\n width: 100%;\n transform: translateZ(0);\n flex-shrink: 0;\n`;\n\nconst addDropdownListOptionGenre = css<DropdownListOptionProps>`\n ${(props) => css`\n background: ${props.theme.colors.select[props.$genre].background.rest};\n border-color: ${props.theme.colors.select[props.$genre].border.rest};\n color: ${props.theme.colors.select[props.$genre].color.rest};\n &:active {\n background: ${props.theme.colors.select[props.$genre].background.rest};\n border-color: ${props.theme.colors.select[props.$genre].border.rest};\n color: ${props.theme.colors.select[props.$genre].color.rest};\n }\n ${\n !props.$isNotShowHoverStyle &&\n css`\n &:hover {\n background: ${props.theme.colors.select[props.$genre].background.hover};\n border-color: ${props.theme.colors.select[props.$genre].border.hover};\n color: ${props.theme.colors.select[props.$genre].color.hover};\n }\n `\n }\n &:focus-visible {\n background: ${props.theme.colors.select[props.$genre].background.rest};\n border-color: ${props.theme.colors.select[props.$genre].border.rest};\n color: ${props.theme.colors.select[props.$genre].color.rest};\n }\n `};\n`;\nconst addDropdownListOptionSize = css<DropdownListOptionProps>`\n padding: 0px ${(props) => KEY_SIZE_DATA[props.$size].padding}px;\n width: 100%;\n border: 1px solid;\n border-radius: 0;\n justify-content: ${(props) => (props.$isCenter ? 'center' : 'flex-start')};\n &:first-child {\n ${(props) =>\n props.$isShowScroll\n ? css`\n border-radius: ${KEY_SIZE_DATA[props.$size].radius}px 0px 0px 0px;\n `\n : css`\n border-radius: ${KEY_SIZE_DATA[props.$size].radius}px ${KEY_SIZE_DATA[props.$size].radius}px 0px 0px;\n `}\n }\n &:last-child {\n ${(props) =>\n props.$isShowScroll\n ? css`\n border-radius: 0px 0px 0px ${KEY_SIZE_DATA[props.$size].radius}px;\n `\n : css`\n border-radius: 0px 0px ${KEY_SIZE_DATA[props.$size].radius}px ${KEY_SIZE_DATA[props.$size].radius}px;\n `}\n }\n &:not(:first-child):not(:last-child) {\n border-radius: 0px;\n }\n &:first-child:last-child {\n ${(props) =>\n props.$isShowScroll\n ? css`\n border-radius: ${KEY_SIZE_DATA[props.$size].radius}px 0px 0px ${KEY_SIZE_DATA[props.$size].radius}px;\n `\n : css`\n border-radius: ${KEY_SIZE_DATA[props.$size].radius}px;\n `}\n }\n`;\nexport const DropdownListOption = styled.li<DropdownListOptionProps>`\n ${(props) => getFontSizeStyles(16, props.$isBold ? 500 : 400, props.theme.font.family, props.theme.font.lineHeight)};\n display: flex;\n align-items: center;\n cursor: pointer;\n top: 0;\n left: 0;\n user-select: none;\n flex-shrink: 0;\n opacity: ${(props) => (props.$item?.isDisabled ? 0.5 : 1)};\n ${addDropdownListOptionGenre};\n ${addDropdownListOptionSize};\n ${addRemoveOutline};\n`;\n\nconst addDropdownOptionIconSize = css<DropdownListOptionIconProps>`\n right: ${(props) => KEY_SIZE_DATA[props.$size].padding - 6}px;\n height: ${(props) => KEY_SIZE_DATA[props.$size].height}px;\n`;\nexport const DropdownListOptionIcon = styled(Icon)<DropdownListOptionIconProps>`\n position: absolute;\n right: 0;\n height: 100%;\n align-items: center;\n ${addDropdownOptionIconSize};\n ${addRemoveOutline};\n color: ${(props) =>\n props.$checked\n ? props.theme.colors.select[props.$genre].border.select\n : props.theme.colors.input[props.$genre].border.rest};\n`;\n\nconst addSelectListSize = css<SelectListProps>`\n display: flex;\n flex-direction: row;\n flex-wrap: ${(props) => (props.$isWrapSelectOption ? 'wrap' : 'nowrap')};\n gap: ${(props) => KEY_SIZE_DATA[props.$size].padding / 2.8}px;\n`;\nexport const SelectList = styled.ul<SelectListProps>`\n list-style: none;\n position: relative;\n overflow: hidden;\n ${addSelectListSize};\n`;\nconst addButtonListSize = css<ButtonListProps>`\n display: flex;\n flex-direction: row;\n gap: ${(props) => KEY_SIZE_DATA[props.$size].padding / 2.8}px;\n padding: ${(props) => KEY_SIZE_DATA[props.$size].padding / 2.8}px ${(props) => KEY_SIZE_DATA[props.$size].padding}px;\n`;\nexport const ButtonList = styled.div<ButtonListProps>`\n position: absolute;\n right: 0;\n ${addButtonListSize};\n`;\nconst addSelectListOptionGenre = css<SelectListOptionProps>`\n${(props) =>\n props.$isOnlyColorInSelectListOption\n ? css`\n border: 0px solid;\n border-color: transparent;\n background-color: transparent;\n color: ${props.theme.colors.select[props.$genre].color.rest};\n &:active {\n color: ${props.theme.colors.select[props.$genre].color.rest};\n }\n ${\n !props.$isNotShowHoverStyle &&\n css`\n &:hover {\n color: ${props.theme.colors.select[props.$genre].color.hover};\n }\n `\n }\n &:focus-visible {\n color: ${props.theme.colors.select[props.$genre].color.rest};\n }\n `\n : css`\n border: 1px solid;\n background: ${props.theme.colors.select[props.$genre].background.rest};\n border-color: ${props.theme.colors.select[props.$genre].border.rest};\n color: ${props.theme.colors.select[props.$genre].color.rest};\n &:active {\n background: ${props.theme.colors.select[props.$genre].background.rest};\n border-color: ${props.theme.colors.select[props.$genre].border.rest};\n color: ${props.theme.colors.select[props.$genre].color.rest};\n }\n ${\n !props.$isNotShowHoverStyle &&\n css`\n &:hover {\n background: ${props.theme.colors.select[props.$genre].background.hover};\n border-color: ${props.theme.colors.select[props.$genre].border.hover};\n color: ${props.theme.colors.select[props.$genre].color.hover};\n }\n `\n }\n &:focus-visible {\n background: ${props.theme.colors.select[props.$genre].background.rest};\n border-color: ${props.theme.colors.select[props.$genre].border.rest};\n color: ${props.theme.colors.select[props.$genre].color.rest};\n }\n `}\n`;\nconst addSelectListOptionSize = css<SelectListOptionProps>`\n padding: ${(props) => KEY_SIZE_DATA[props.$size].padding / 2.8}px;\n border-radius: ${(props) => KEY_SIZE_DATA[props.$size].radius}px;\n`;\nexport const SelectListOption = styled(motion.li)<SelectListOptionProps>`\n display: flex;\n align-items: center;\n opacity: 1;\n cursor: ${(props) => (props.$isClearWhenClickSelectListOption ? 'pointer' : 'default')};\n flex-shrink: 0;\n overflow: hidden;\n width: fit-content;\n ${addSelectListOptionGenre};\n ${addSelectListOptionSize};\n ${addRemoveOutline};\n`;\n\nexport const SelectTextArea = styled(TextArea)`\n border: 0 !important;\n background-color: transparent !important;\n min-height: initial !important;\n width: 100%;\n max-width: 100%;\n flex-grow: 1;\n padding: ${(props) => KEY_SIZE_DATA[props.size].padding / 2.8}px 0px ${(props) => KEY_SIZE_DATA[props.size].padding / 2.8}px ${(props) => KEY_SIZE_DATA[props.size].padding / 2.8}px;\n ${addRemoveOutline};\n`;\n"],"names":["jsxs","Fragment","jsx","value","option","props"],"mappings":"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"}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { j as jsxRuntimeExports } from "./jsx-runtime-BrDlu8eK.js";
|
|
2
|
-
import { b as ErrorMessage, a as addError } from "./style-
|
|
3
|
-
import { m as useMergeRefs, g as getFontSizeStyles } from "./component
|
|
2
|
+
import { b as ErrorMessage, a as addError } from "./style-Dca2udON.js";
|
|
3
|
+
import { m as useMergeRefs, g as getFontSizeStyles } from "./component-zhkRBgS8.js";
|
|
4
4
|
import { useRef, useMemo, useCallback, useEffect } from "react";
|
|
5
5
|
import styled, { useTheme, css } from "styled-components";
|
|
6
6
|
import { c as addTransitionWithoutSize, k as addDisabled, g as addOutlineChildren, i as addRemoveOutline } from "./style-Bvt_Melk.js";
|
|
@@ -210,4 +210,4 @@ export {
|
|
|
210
210
|
TextAreaWrapper as a,
|
|
211
211
|
addTextArea as b
|
|
212
212
|
};
|
|
213
|
-
//# sourceMappingURL=component.styles-
|
|
213
|
+
//# sourceMappingURL=component.styles-DxQx6LQO.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"component.styles-DhI3n-dL.js","sources":["../src/components/textarea/component.tsx","../src/components/textarea/component.styles.ts"],"sourcesContent":["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 $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 $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 ? <ErrorMessage {...props.error} size={props?.error.size ?? props.size} /> : null}\n </>\n );\n};\n","import { getFontSizeStyles } from '@local/components/typography';\nimport { addDisabled, addOutlineChildren, addRemoveOutline, addTransitionWithoutSize } 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 ${(props) => getFontSizeStyles(16, props.$isBold ? 500 : 400, props.theme.font.family, props.theme.font.lineHeight)};\n color: ${(props) => props.theme.colors.input[props.$genre].color.placeholder};\n opacity: 1;\n }\n &:-ms-input-placeholder {\n ${(props) => getFontSizeStyles(16, props.$isBold ? 500 : 400, props.theme.font.family, props.theme.font.lineHeight)};\n color: ${(props) => props.theme.colors.input[props.$genre].color.placeholder};\n opacity: 1;\n }\n`;\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 ${(props) => getFontSizeStyles(16, props.$isBold ? 500 : 400, props.theme.font.family, `${props.$lineHeight}px`)};\n\n ${addTextAreaGenre};\n ${addTextAreaIsResize};\n ${addTextAreaPlaceholder};\n ${addRemoveOutline};\n ${addError};\n`;\n\nexport const StyledTextArea = styled.textarea<StyledTextAreaProps>`\n ${addTextArea};\n`;\n"],"names":["jsxs","Fragment","jsx"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"component.styles-DxQx6LQO.js","sources":["../src/components/textarea/component.tsx","../src/components/textarea/component.styles.ts"],"sourcesContent":["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 $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 $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 ? <ErrorMessage {...props.error} size={props?.error.size ?? props.size} /> : null}\n </>\n );\n};\n","import { getFontSizeStyles } from '@local/components/typography';\nimport { addDisabled, addOutlineChildren, addRemoveOutline, addTransitionWithoutSize } 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 ${(props) => getFontSizeStyles(16, props.$isBold ? 500 : 400, props.theme.font.family, props.theme.font.lineHeight)};\n color: ${(props) => props.theme.colors.input[props.$genre].color.placeholder};\n opacity: 1;\n }\n &:-ms-input-placeholder {\n ${(props) => getFontSizeStyles(16, props.$isBold ? 500 : 400, props.theme.font.family, props.theme.font.lineHeight)};\n color: ${(props) => props.theme.colors.input[props.$genre].color.placeholder};\n opacity: 1;\n }\n`;\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 ${(props) => getFontSizeStyles(16, props.$isBold ? 500 : 400, props.theme.font.family, `${props.$lineHeight}px`)};\n\n ${addTextAreaGenre};\n ${addTextAreaIsResize};\n ${addTextAreaPlaceholder};\n ${addRemoveOutline};\n ${addError};\n`;\n\nexport const StyledTextArea = styled.textarea<StyledTextAreaProps>`\n ${addTextArea};\n`;\n"],"names":["jsxs","Fragment","jsx"],"mappings":"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"}
|
|
@@ -2,7 +2,7 @@ import { j as jsxRuntimeExports } from "./jsx-runtime-BrDlu8eK.js";
|
|
|
2
2
|
import { b as KEY_SIZE_DATA_TOGGLE } from "./theme.global-B46v_8eu.js";
|
|
3
3
|
import { useMemo } from "react";
|
|
4
4
|
import { b as addTransition, f as addOutline, k as addDisabled } from "./style-Bvt_Melk.js";
|
|
5
|
-
import { a as addError } from "./style-
|
|
5
|
+
import { a as addError } from "./style-Dca2udON.js";
|
|
6
6
|
import { motion } from "framer-motion";
|
|
7
7
|
import styled, { css } from "styled-components";
|
|
8
8
|
const Toggle = (props) => {
|
|
@@ -128,4 +128,4 @@ export {
|
|
|
128
128
|
ToggleWrapper as a,
|
|
129
129
|
ToggleCenter as b
|
|
130
130
|
};
|
|
131
|
-
//# sourceMappingURL=component.styles-
|
|
131
|
+
//# sourceMappingURL=component.styles-N7ZFXn4z.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"component.styles-
|
|
1
|
+
{"version":3,"file":"component.styles-N7ZFXn4z.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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"}
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import { j as jsxRuntimeExports } from "./jsx-runtime-BrDlu8eK.js";
|
|
2
2
|
import { useCallback, useMemo } from "react";
|
|
3
3
|
import styled, { useTheme } from "styled-components";
|
|
4
|
-
import { a as addError } from "./style-
|
|
4
|
+
import { a as addError } from "./style-Dca2udON.js";
|
|
5
5
|
import { a as addSX } from "./style-plT9Ah7t.js";
|
|
6
6
|
const Range = (props) => {
|
|
7
7
|
const { onChange } = props;
|
|
@@ -123,4 +123,4 @@ export {
|
|
|
123
123
|
RangeTrack as b,
|
|
124
124
|
RangeThumb as c
|
|
125
125
|
};
|
|
126
|
-
//# sourceMappingURL=component.styles-
|
|
126
|
+
//# sourceMappingURL=component.styles-UIEZecbT.js.map
|