@jenesei-software/jenesei-kit-react 1.3.10 → 1.3.12

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.
Files changed (222) hide show
  1. package/build/{area-BC64nSGj.js → area-BWxBop5m.js} +2 -2
  2. package/build/area-BWxBop5m.js.map +1 -0
  3. package/build/{area-DRqAofd0.js → area-CD8KKIM0.js} +2 -2
  4. package/build/area-CD8KKIM0.js.map +1 -0
  5. package/build/area-CZkDIeGx.cjs +2 -0
  6. package/build/area-CZkDIeGx.cjs.map +1 -0
  7. package/build/{area-C6QOr2Kd.cjs → area-CmCMHnRA.cjs} +2 -2
  8. package/build/area-CmCMHnRA.cjs.map +1 -0
  9. package/build/{area-BYuHpaUX.js → area-DEwj0-O3.js} +5 -5
  10. package/build/area-DEwj0-O3.js.map +1 -0
  11. package/build/{area-oZm7ewxw.cjs → area-DRsIULcw.cjs} +2 -2
  12. package/build/{area-oZm7ewxw.cjs.map → area-DRsIULcw.cjs.map} +1 -1
  13. package/build/{area-D7906bXA.cjs → area-Dup_lUb9.cjs} +2 -2
  14. package/build/area-Dup_lUb9.cjs.map +1 -0
  15. package/build/area-outside.cjs.js +1 -1
  16. package/build/area-outside.es.js +1 -1
  17. package/build/area-preview.cjs.js +1 -1
  18. package/build/area-preview.es.js +1 -1
  19. package/build/{area-CkM4ZN2F.js → area-sDVSuS3G.js} +2 -2
  20. package/build/{area-CkM4ZN2F.js.map → area-sDVSuS3G.js.map} +1 -1
  21. package/build/area-scroll.cjs.js +1 -1
  22. package/build/area-scroll.d.ts +1 -1
  23. package/build/area-scroll.es.js +1 -1
  24. package/build/area-skeleton.cjs.js +1 -1
  25. package/build/area-skeleton.d.ts +1 -1
  26. package/build/area-skeleton.es.js +1 -1
  27. package/build/area-smooth.cjs.js +1 -1
  28. package/build/area-smooth.d.ts +1 -1
  29. package/build/area-smooth.es.js +1 -1
  30. package/build/area.hooks-Bk04M7mk.js.map +1 -1
  31. package/build/area.hooks-C_UKZzcb.cjs.map +1 -1
  32. package/build/build-info.txt +3 -3
  33. package/build/{component--Oo5_3xq.cjs → component-8NOxwZJO.cjs} +2 -2
  34. package/build/component-8NOxwZJO.cjs.map +1 -0
  35. package/build/{component-C67KboOB.cjs → component-BVnHSTJd.cjs} +2 -2
  36. package/build/{component-C67KboOB.cjs.map → component-BVnHSTJd.cjs.map} +1 -1
  37. package/build/component-CLqcB5mM.cjs.map +1 -1
  38. package/build/{component-DJYgewYg.js → component-CN6att4f.js} +2 -2
  39. package/build/{component-DJYgewYg.js.map → component-CN6att4f.js.map} +1 -1
  40. package/build/component-DHM9pbab.js.map +1 -1
  41. package/build/{component-BYox4gmt.cjs → component-DdJt3LEF.cjs} +2 -2
  42. package/build/component-DdJt3LEF.cjs.map +1 -0
  43. package/build/{component-B1bvPlyB.cjs → component-DnJo66DS.cjs} +2 -2
  44. package/build/{component-B1bvPlyB.cjs.map → component-DnJo66DS.cjs.map} +1 -1
  45. package/build/{component-BcHiCCC9.js → component-DpVp9dB1.js} +2 -2
  46. package/build/component-DpVp9dB1.js.map +1 -0
  47. package/build/component-GKvpOWlO.cjs +28 -0
  48. package/build/component-GKvpOWlO.cjs.map +1 -0
  49. package/build/{component-DKMsOpqH.js → component-GtWqnaqk.js} +2 -2
  50. package/build/{component-DKMsOpqH.js.map → component-GtWqnaqk.js.map} +1 -1
  51. package/build/{component-CvW0MIM8.js → component-P-3bwi3_.js} +3 -3
  52. package/build/component-P-3bwi3_.js.map +1 -0
  53. package/build/component-accordion.cjs.js +1 -1
  54. package/build/component-accordion.d.ts +1 -1
  55. package/build/component-accordion.es.js +1 -1
  56. package/build/component-button-group.cjs.js +1 -1
  57. package/build/component-button-group.es.js +1 -1
  58. package/build/component-button.cjs.js +1 -1
  59. package/build/component-button.es.js +1 -1
  60. package/build/{component-CY7lfJVv.cjs → component-cRmWWDr_.cjs} +2 -2
  61. package/build/component-cRmWWDr_.cjs.map +1 -0
  62. package/build/component-checkbox-group.cjs.js +1 -1
  63. package/build/component-checkbox-group.es.js +1 -1
  64. package/build/component-checkbox.cjs.js +1 -1
  65. package/build/component-checkbox.es.js +1 -1
  66. package/build/component-date-picker.cjs.js +1 -1
  67. package/build/component-date-picker.es.js +1 -1
  68. package/build/{component-WUYE2soZ.js → component-feWPgACX.js} +2 -2
  69. package/build/component-feWPgACX.js.map +1 -0
  70. package/build/component-image-button.cjs.js +1 -1
  71. package/build/component-image-button.es.js +1 -1
  72. package/build/component-image-select.cjs.js +1 -1
  73. package/build/component-image-select.es.js +1 -1
  74. package/build/component-image-slider.cjs.js +1 -1
  75. package/build/component-image-slider.d.ts +1 -1
  76. package/build/component-image-slider.es.js +1 -1
  77. package/build/component-image.cjs.js +1 -1
  78. package/build/component-image.es.js +1 -1
  79. package/build/component-map.cjs.js +1 -1
  80. package/build/component-map.es.js +1 -1
  81. package/build/{component-jPZYT5iL.js → component-mzzOCXSx.js} +12 -12
  82. package/build/component-mzzOCXSx.js.map +1 -0
  83. package/build/component-pagination.cjs.js +1 -1
  84. package/build/component-pagination.es.js +1 -1
  85. package/build/component-select.cjs.js +1 -1
  86. package/build/component-select.es.js +1 -1
  87. package/build/component-stack.cjs.js +1 -1
  88. package/build/component-stack.d.ts +5 -7
  89. package/build/component-stack.es.js +1 -1
  90. package/build/component-tooltip.cjs.js +1 -1
  91. package/build/component-tooltip.es.js +1 -1
  92. package/build/component-typography.cjs.js +1 -1
  93. package/build/component-typography.es.js +1 -1
  94. package/build/{component.components-f-tFdB6f.js → component.components-C-EEYFsd.js} +2 -2
  95. package/build/{component.components-f-tFdB6f.js.map → component.components-C-EEYFsd.js.map} +1 -1
  96. package/build/{component.components-CeKyOsDE.cjs → component.components-CC3IeZon.cjs} +2 -2
  97. package/build/{component.components-CeKyOsDE.cjs.map → component.components-CC3IeZon.cjs.map} +1 -1
  98. package/build/{component.constants-BrJrCmlA.js → component.constants-34RZJIiQ.js} +3 -3
  99. package/build/component.constants-34RZJIiQ.js.map +1 -0
  100. package/build/{component.constants-amkB3VHg.js → component.constants-BxnfHAYp.js} +6 -6
  101. package/build/component.constants-BxnfHAYp.js.map +1 -0
  102. package/build/{component.constants-DRPyaSU8.cjs → component.constants-CpRgeAIu.cjs} +2 -2
  103. package/build/component.constants-CpRgeAIu.cjs.map +1 -0
  104. package/build/{component.constants-B9xzGc3A.cjs → component.constants-D6AJ1xmO.cjs} +2 -2
  105. package/build/component.constants-D6AJ1xmO.cjs.map +1 -0
  106. package/build/{component.styles-BTsmbWT6.cjs → component.styles-B-bndnRM.cjs} +2 -2
  107. package/build/component.styles-B-bndnRM.cjs.map +1 -0
  108. package/build/component.styles-B0L4jbOO.js.map +1 -1
  109. package/build/component.styles-BDKsgd6y.js.map +1 -1
  110. package/build/{component.styles-CPWNnqqm.js → component.styles-BEaqQuF_.js} +3 -3
  111. package/build/{component.styles-CPWNnqqm.js.map → component.styles-BEaqQuF_.js.map} +1 -1
  112. package/build/component.styles-BGYbrzvh.js.map +1 -1
  113. package/build/component.styles-BKnUDWqO.cjs.map +1 -1
  114. package/build/{component.styles-BpvpyZax.cjs → component.styles-Bb7_KygZ.cjs} +2 -2
  115. package/build/{component.styles-BpvpyZax.cjs.map → component.styles-Bb7_KygZ.cjs.map} +1 -1
  116. package/build/{component.styles-iHE8mmya.cjs → component.styles-C4xnWrvJ.cjs} +2 -2
  117. package/build/component.styles-C4xnWrvJ.cjs.map +1 -0
  118. package/build/{component.styles-DjoG6jr2.js → component.styles-CJC0h3Ed.js} +2 -2
  119. package/build/component.styles-CJC0h3Ed.js.map +1 -0
  120. package/build/component.styles-DS0ofW1Y.js.map +1 -1
  121. package/build/{component.styles-nl99kkS3.js → component.styles-DTnknwt_.js} +2 -2
  122. package/build/{component.styles-nl99kkS3.js.map → component.styles-DTnknwt_.js.map} +1 -1
  123. package/build/{component.styles-DARNjy9P.js → component.styles-DWS6xT-y.js} +2 -2
  124. package/build/{component.styles-DARNjy9P.js.map → component.styles-DWS6xT-y.js.map} +1 -1
  125. package/build/{component.styles-DWGUgUoF.cjs → component.styles-DbWj2stq.cjs} +2 -2
  126. package/build/{component.styles-DWGUgUoF.cjs.map → component.styles-DbWj2stq.cjs.map} +1 -1
  127. package/build/component.styles-Dpg-__rn.cjs.map +1 -1
  128. package/build/{component.styles-DOnQEUrI.js → component.styles-DwtZ7CY4.js} +7 -7
  129. package/build/component.styles-DwtZ7CY4.js.map +1 -0
  130. package/build/{component.styles-mhkAuWyU.cjs → component.styles-PNgt36ZD.cjs} +2 -2
  131. package/build/{component.styles-mhkAuWyU.cjs.map → component.styles-PNgt36ZD.cjs.map} +1 -1
  132. package/build/{component.styles-Dpo373cZ.cjs → component.styles-Py-IeQ2q.cjs} +2 -2
  133. package/build/component.styles-Py-IeQ2q.cjs.map +1 -0
  134. package/build/component.styles-ZU_GyVub.cjs.map +1 -1
  135. package/build/component.styles-gZHy-64x.cjs.map +1 -1
  136. package/build/{component.styles--PEjCgcA.js → component.styles-mcm1LgEr.js} +3 -3
  137. package/build/{component.styles--PEjCgcA.js.map → component.styles-mcm1LgEr.js.map} +1 -1
  138. package/build/component.types-BBQ18Npa.js.map +1 -1
  139. package/build/{component.types-CSnoBg2y.js → component.types-BhmQrqBu.js} +5 -5
  140. package/build/component.types-BhmQrqBu.js.map +1 -0
  141. package/build/{component.types-CWp0NPUN.cjs → component.types-CfR3RBsV.cjs} +2 -2
  142. package/build/{component.types-CWp0NPUN.cjs.map → component.types-CfR3RBsV.cjs.map} +1 -1
  143. package/build/component.types-DraGq1j_.cjs.map +1 -1
  144. package/build/context-app.cjs.js +1 -1
  145. package/build/context-app.es.js +1 -1
  146. package/build/context-dialog.cjs.js +1 -1
  147. package/build/context-dialog.es.js +1 -1
  148. package/build/context-permission.d.ts +4 -4
  149. package/build/context-sonner.cjs.js +1 -1
  150. package/build/context-sonner.es.js +1 -1
  151. package/build/{context.constants-CvkvB0XC.js → context.constants-BCpaUfFz.js} +2 -2
  152. package/build/context.constants-BCpaUfFz.js.map +1 -0
  153. package/build/{context.constants-ByXsACU7.cjs → context.constants-BLQ_1jZI.cjs} +2 -2
  154. package/build/context.constants-BLQ_1jZI.cjs.map +1 -0
  155. package/build/{context.constants-DRimaVcG.js → context.constants-DOMoMUoD.js} +2 -2
  156. package/build/context.constants-DOMoMUoD.js.map +1 -0
  157. package/build/{context.constants-CTr1U0kI.cjs → context.constants-cm50ZUiS.cjs} +2 -2
  158. package/build/{context.constants-CTr1U0kI.cjs.map → context.constants-cm50ZUiS.cjs.map} +1 -1
  159. package/build/context.functions-80N-5MqM.cjs.map +1 -1
  160. package/build/context.functions-B8FDl7nJ.js.map +1 -1
  161. package/build/context.functions-BD15C8_y.js.map +1 -1
  162. package/build/context.functions-CQ9GerPb.js.map +1 -1
  163. package/build/context.functions-ar41xFVo.cjs.map +1 -1
  164. package/build/context.functions-ohI9H54j.cjs.map +1 -1
  165. package/build/context.hooks-7ydA7mGj.js.map +1 -1
  166. package/build/context.hooks-BIsapq-0.cjs.map +1 -1
  167. package/build/context.hooks-BmwyZ1p3.js.map +1 -1
  168. package/build/context.hooks-BzMTkJNv.js.map +1 -1
  169. package/build/{context.hooks-kga1DMrX.js → context.hooks-Cmgo0uqV.js} +2 -2
  170. package/build/context.hooks-Cmgo0uqV.js.map +1 -0
  171. package/build/context.hooks-D13tbrva.cjs.map +1 -1
  172. package/build/{context.hooks-DOygH-Yj.cjs → context.hooks-XBiTuVyt.cjs} +2 -2
  173. package/build/context.hooks-XBiTuVyt.cjs.map +1 -0
  174. package/build/context.hooks-u408Pxw8.cjs.map +1 -1
  175. package/build/index.cjs.js +1 -1
  176. package/build/index.d.ts +9 -11
  177. package/build/index.es.js +23 -23
  178. package/build/motion-CIQfrLky.js.map +1 -1
  179. package/build/motion-DgB7M2Hn.cjs.map +1 -1
  180. package/build/style-error.d.ts +6 -6
  181. package/build/style-fRZ6xrVp.cjs.map +1 -1
  182. package/build/style-plT9Ah7t.js.map +1 -1
  183. package/build/use-Bp8UVw4Y.js.map +1 -1
  184. package/build/use-C1l0O0Qo.cjs.map +1 -1
  185. package/build/{use-Dg449cuf.cjs → use-ClugPshj.cjs} +2 -2
  186. package/build/{use-Dg449cuf.cjs.map → use-ClugPshj.cjs.map} +1 -1
  187. package/build/use-DT0XgvJT.js.map +1 -1
  188. package/build/use-IhzeVumv.cjs.map +1 -1
  189. package/build/{use-DLVWi2kS.js → use-_V1SKE0-.js} +6 -6
  190. package/build/{use-DLVWi2kS.js.map → use-_V1SKE0-.js.map} +1 -1
  191. package/package.json +4 -3
  192. package/build/area-BC64nSGj.js.map +0 -1
  193. package/build/area-BYuHpaUX.js.map +0 -1
  194. package/build/area-C6QOr2Kd.cjs.map +0 -1
  195. package/build/area-C6XuN6wk.cjs +0 -2
  196. package/build/area-C6XuN6wk.cjs.map +0 -1
  197. package/build/area-D7906bXA.cjs.map +0 -1
  198. package/build/area-DRqAofd0.js.map +0 -1
  199. package/build/component--Oo5_3xq.cjs.map +0 -1
  200. package/build/component-BV_7tGiu.cjs +0 -28
  201. package/build/component-BV_7tGiu.cjs.map +0 -1
  202. package/build/component-BYox4gmt.cjs.map +0 -1
  203. package/build/component-BcHiCCC9.js.map +0 -1
  204. package/build/component-CY7lfJVv.cjs.map +0 -1
  205. package/build/component-CvW0MIM8.js.map +0 -1
  206. package/build/component-WUYE2soZ.js.map +0 -1
  207. package/build/component-jPZYT5iL.js.map +0 -1
  208. package/build/component.constants-B9xzGc3A.cjs.map +0 -1
  209. package/build/component.constants-BrJrCmlA.js.map +0 -1
  210. package/build/component.constants-DRPyaSU8.cjs.map +0 -1
  211. package/build/component.constants-amkB3VHg.js.map +0 -1
  212. package/build/component.styles-BTsmbWT6.cjs.map +0 -1
  213. package/build/component.styles-DOnQEUrI.js.map +0 -1
  214. package/build/component.styles-DjoG6jr2.js.map +0 -1
  215. package/build/component.styles-Dpo373cZ.cjs.map +0 -1
  216. package/build/component.styles-iHE8mmya.cjs.map +0 -1
  217. package/build/component.types-CSnoBg2y.js.map +0 -1
  218. package/build/context.constants-ByXsACU7.cjs.map +0 -1
  219. package/build/context.constants-CvkvB0XC.js.map +0 -1
  220. package/build/context.constants-DRimaVcG.js.map +0 -1
  221. package/build/context.hooks-DOygH-Yj.cjs.map +0 -1
  222. package/build/context.hooks-kga1DMrX.js.map +0 -1
@@ -1,4 +1,4 @@
1
- "use strict";const e=require("./jsx-runtime-BcGej2Kr.cjs"),t=require("./consts.cjs.js"),s=require("./use-Dg449cuf.cjs"),i=require("./component-B1bvPlyB.cjs"),r=require("./component.styles-BTsmbWT6.cjs"),o=require("./component-BV_7tGiu.cjs"),n=require("styled-components"),a=require("./component-C67KboOB.cjs"),l=require("./context.constants-ByXsACU7.cjs"),d=require("./theme.global-CcoD5bPP.cjs"),u=require("react"),c=require("./style-D3Lbn1EL.cjs"),g=require("framer-motion"),p=require("./style-fRZ6xrVp.cjs"),m=n.css`
1
+ "use strict";const e=require("./jsx-runtime-BcGej2Kr.cjs"),t=require("./consts.cjs.js"),s=require("./use-ClugPshj.cjs"),i=require("./component-DnJo66DS.cjs"),r=require("./component.styles-B-bndnRM.cjs"),o=require("./component-GKvpOWlO.cjs"),n=require("styled-components"),a=require("./component-BVnHSTJd.cjs"),l=require("./context.constants-BLQ_1jZI.cjs"),d=require("./theme.global-CcoD5bPP.cjs"),u=require("react"),c=require("./style-D3Lbn1EL.cjs"),g=require("framer-motion"),p=require("./style-fRZ6xrVp.cjs"),m=n.css`
2
2
  ${e=>n.css`
3
3
  background: ${e.theme.colors.imageSelect[e.$genre].background.rest};
4
4
  color: ${e.theme.colors.imageSelect[e.$genre].color.rest};
@@ -36,4 +36,4 @@
36
36
  ${m}
37
37
  ${x}
38
38
  `;exports.ImageSelect=p=>{const{onChange:m}=p,x=u.useMemo(()=>d.KEY_SIZE_DATA[p.size],[p.size]),[h,f]=u.useState(p.images||[]),[j,v]=u.useState(!1),y=u.useRef(null),$=n.useTheme(),E=u.useCallback(e=>{e&&f(t=>{const s=e.map((e,s)=>({...e,index:t.length+s})),i=[...t,...s];return null==m||m(i),i})},[m]),z=()=>{var e;null==(e=y.current)||e.click()},{handleAddFiles:R}=s.useImageCrop({onSave:E,locale:p.locale,dialog:{button:{genre:p.propsButton.default.genre,size:p.propsButton.default.size},buttonDelete:{genre:p.propsButton.delete.genre,size:p.propsButton.delete.size}},imageSettings:{maxSize:p.imageSettings.maxSize,maxCount:p.imageSettings.maxCount-h.length,aspect:p.imageSettings.aspect},refInput:y}),{handleAdd:k}=(t=>{const s=u.useMemo(()=>d.KEY_SIZE_DATA[t.size],[t.size]),n=u.useMemo(()=>`${s.radius}px`,[s.radius]),{add:c}=l.useDialog({br:n,propsDialog:{borderRadius:n,padding:"0",background:"whiteStandard"}});return{handleAdd:u.useCallback(s=>{c({content:(n,l)=>e.jsxRuntimeExports.jsxs(o.Stack,{sx:{default:{position:"relative",overflow:"hidden",aspectRatio:2*t.imageSettings.aspect+" / 2",width:"auto",maxWidth:"70dvw",height:"85dvh",borderRadius:null==n?void 0:n.br},tablet:{maxWidth:"95dvw"}},children:[e.jsxRuntimeExports.jsx(r.Image,{sxStack:e=>({default:{width:"100%",height:"100%",alignItems:"center",justifyContent:"center",backgroundColor:e.palette.black10,position:"absolute",pointerEvents:"none"}}),isShowBeforeImage:!0,sxImage:{default:{objectFit:"contain"}},alt:null==s?void 0:s.imageSrc,src:null==s?void 0:s.imageSrc,componentFallback:e.jsxRuntimeExports.jsx(a.Typography,{sx:{default:{variant:"h6"}},children:t.locale.imageFallback})}),e.jsxRuntimeExports.jsx(i.Button,{sx:{default:{position:"absolute",bottom:15,right:15}},genre:"realebail-white",size:"small",icons:[{type:"id",name:"Arrow4"}],isWidthAsHeight:!0,isHiddenBorder:!0,isRadius:!0,onClick:()=>null==l?void 0:l()})]})})},[c,t.imageSettings.aspect,t.locale.imageFallback])}})({size:p.size,locale:p.locale,imageSettings:p.imageSettings,genre:p.genre});return u.useEffect(()=>{f(p.images||[])},[p.images]),e.jsxRuntimeExports.jsxs(e.jsxRuntimeExports.Fragment,{children:[e.jsxRuntimeExports.jsxs(S,{$genre:p.genre,$size:p.size,id:p.id,$sx:p.sx,$error:p.error,children:[e.jsxRuntimeExports.jsxs(b,{onDrop:e=>{(e=>{var t;e.preventDefault(),(null==(t=e.dataTransfer.files)?void 0:t.length)&&R(e.dataTransfer.files)})(e),v(!1)},onDragOver:e=>e.preventDefault(),onDragEnter:()=>v(!0),onDragLeave:()=>v(!1),animate:{borderColor:j?$.colors.imageSelect[p.genre].border.hover:$.colors.imageSelect[p.genre].border.rest},transition:{duration:.3},$genre:p.genre,$size:p.size,children:[e.jsxRuntimeExports.jsxs(g.motion.div,{transition:{layout:{duration:.3,ease:"easeInOut",type:"spring"}},layout:!0,style:{display:"flex",flexWrap:"wrap",gap:x.padding-2+"px"},children:[h.map(t=>t.url&&e.jsxRuntimeExports.jsxs(g.motion.div,{style:{position:"relative",width:`${p.imageSettings.width}px`,height:`${p.imageSettings.height}px`,userSelect:"none",overflow:"hidden",borderRadius:`${x.radius}px`,flexGrow:1},layout:!0,transition:{layout:{duration:.3,ease:"easeInOut",type:"spring"}},children:[e.jsxRuntimeExports.jsx(r.Image,{sxStack:e=>({default:{width:"100%",height:"100%",alignItems:"center",justifyContent:"center",backgroundColor:e.palette.black10,position:"absolute",pointerEvents:"none"}}),isShowBeforeImage:p.isContain,sxImage:{default:{objectFit:p.isContain?"contain":"cover"}},alt:t.name||"image",src:t.url,componentFallback:e.jsxRuntimeExports.jsx(a.Typography,{sx:{default:{variant:"h6"}},children:p.locale.imageFallback})}),e.jsxRuntimeExports.jsx(i.Button,{sx:{default:{position:"absolute",top:5,right:5}},genre:p.genre,size:"small",icons:[{type:"id",name:"Close"}],isWidthAsHeight:!0,isHiddenBorder:!0,isRadius:!0,onClick:()=>{return e=t.id,void f(t=>{const s=t.filter(t=>t.id!==e);return null==m||m(s),s});var e}}),e.jsxRuntimeExports.jsx(i.Button,{sx:{default:{position:"absolute",bottom:5,right:5}},genre:p.genre,size:"small",icons:[{type:"id",name:"Activity"}],isWidthAsHeight:!0,isHiddenBorder:!0,isRadius:!0,onClick:()=>t.url&&k({id:t.id,imageSrc:t.url})})]},t.id)),0===h.length?e.jsxRuntimeExports.jsx("div",{onClick:z,style:{position:"relative",width:`${p.imageSettings.width}px`,height:`${p.imageSettings.height}px`,userSelect:"none",overflow:"hidden",borderRadius:`${x.radius}px`,flexGrow:1,display:"flex",alignItems:"center",justifyContent:"center",textAlign:"center",cursor:"pointer"},children:e.jsxRuntimeExports.jsx(a.Typography,{style:{color:$.colors.imageSelect[p.genre].color.rest},sx:{default:{}},children:p.locale.dragAndDrop})},"empty"):null]}),e.jsxRuntimeExports.jsx("input",{ref:y,type:"file",accept:t.ImageSupportedFormatsForInput,multiple:!0,style:{display:"none"},onChange:e=>{e.target.files&&R(e.target.files)}})]}),e.jsxRuntimeExports.jsxs(o.Stack,{sx:{default:{flexGrow:1,gap:x.padding-2+"px"}},children:[e.jsxRuntimeExports.jsx(i.Button,{type:"button",genre:p.genre,size:p.size,sx:{default:{flexGrow:3}},isRadius:!0,onClick:z,children:p.locale.buttonAdd}),e.jsxRuntimeExports.jsx(i.Button,{isRadius:!0,type:"button",sx:{default:{flexGrow:1}},onClick:()=>{f(p.defaultImages||[]),null==m||m(p.defaultImages||[])},genre:p.genre,size:p.size,children:p.locale.buttonReset})]})]}),(null==p?void 0:p.error)?e.jsxRuntimeExports.jsx(c.ErrorMessage,{...p.error,size:(null==p?void 0:p.error.size)??p.size,font:{size:12,weight:400,family:$.font.family}}):null]})},exports.ImageSelectListSize=x,exports.ImageSelectListSizeConstructor=h,exports.ImageSelectListWrapper=b,exports.ImageSelectSize=f,exports.ImageSelectSizeConstructor=j,exports.ImageSelectWrapper=S;
39
- //# sourceMappingURL=component.styles-iHE8mmya.cjs.map
39
+ //# sourceMappingURL=component.styles-C4xnWrvJ.cjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"component.styles-C4xnWrvJ.cjs","sources":["../src/components/image-select/component.styles.ts","../src/components/image-select/component.tsx","../src/hooks/use-image-view/use.tsx"],"sourcesContent":["import { motion } from 'framer-motion';\nimport styled, { css } from 'styled-components';\n\nimport { addError } from '@local/styles/error';\nimport { addSX } from '@local/styles/sx';\nimport { IThemeSizePropertyDefault, KEY_SIZE_DATA } from '@local/theme';\n\nimport { ImageSelectWrapperProps } from '.';\n\nconst ImageSelectListGenre = css<ImageSelectWrapperProps>`\n ${(props) => css`\n background: ${props.theme.colors.imageSelect[props.$genre].background.rest};\n color: ${props.theme.colors.imageSelect[props.$genre].color.rest};\n &:active {\n background: ${props.theme.colors.imageSelect[props.$genre].background.rest};\n color: ${props.theme.colors.imageSelect[props.$genre].color.rest};\n }\n &:focus-visible {\n background: ${props.theme.colors.imageSelect[props.$genre].background.rest};\n color: ${props.theme.colors.imageSelect[props.$genre].color.rest};\n }\n `};\n`;\n/****************************************** Size *************************************************/\nexport const ImageSelectListSize = css<ImageSelectWrapperProps>`\n ${(props) => ImageSelectListSizeConstructor(KEY_SIZE_DATA[props.$size])};\n`;\nexport const ImageSelectListSizeConstructor = (props: IThemeSizePropertyDefault) => css`\n padding: ${props.padding}px;\n border-radius: ${props.radius}px;\n`;\nexport const ImageSelectSize = css<ImageSelectWrapperProps>`\n ${(props) => ImageSelectSizeConstructor(KEY_SIZE_DATA[props.$size])};\n`;\nexport const ImageSelectSizeConstructor = (props: IThemeSizePropertyDefault) => css`\n gap: ${props.padding - 2}px;\n`;\nexport const ImageSelectWrapper = styled.div<ImageSelectWrapperProps>`\n display: flex;\n flex-direction: column;\n width: 100%;\n ${ImageSelectSize};\n ${addError};\n ${addSX};\n`;\nexport const ImageSelectListWrapper = styled(motion.div)<ImageSelectWrapperProps>`\n border: 2px dashed;\n\n display: flex;\n flex-direction: column;\n width: 100%;\n ${ImageSelectListGenre}\n ${ImageSelectListSize}\n`;\n","import { ImageSupportedFormatsForInput } from '@local/consts';\nimport { useImageCrop } from '@local/hooks/use-image-crop';\nimport { useImageView } from '@local/hooks/use-image-view';\nimport { ErrorMessage } from '@local/styles/error';\nimport { KEY_SIZE_DATA } from '@local/theme';\n\nimport { motion } from 'framer-motion';\nimport { DragEvent, useCallback, useEffect, useMemo, useRef, useState } from 'react';\nimport { useTheme } from 'styled-components';\n\nimport { Button } from '../button';\nimport { Image } from '../image';\nimport { Stack } from '../stack';\nimport { Typography } from '../typography';\nimport { ImageSelectItemProps, ImageSelectListWrapper, ImageSelectProps, ImageSelectWrapper } from '.';\n\nexport const ImageSelect = (props: ImageSelectProps) => {\n const { onChange } = props;\n\n const size = useMemo(() => KEY_SIZE_DATA[props.size], [props.size]);\n\n const [images, setImages] = useState<ImageSelectItemProps[]>(props.images || []);\n\n const [isDraggingOver, setIsDraggingOver] = useState(false);\n\n const refInput = useRef<HTMLInputElement | null>(null);\n\n const theme = useTheme();\n\n const handleDrop = (e: DragEvent<HTMLDivElement>) => {\n e.preventDefault();\n if (e.dataTransfer.files?.length) {\n handleAddFilesCrop(e.dataTransfer.files);\n }\n };\n\n const handleDelete = (id: number) => {\n setImages((prev) => {\n const finalImages = prev.filter((img) => img.id !== id);\n onChange?.(finalImages);\n return finalImages;\n });\n };\n\n const handleOnSave = useCallback(\n (files: ImageSelectItemProps[] | null) => {\n if (files) {\n setImages((prev) => {\n const newImages = files.map((file, idx) => ({\n ...file,\n index: prev.length + idx,\n }));\n const finalImages = [...prev, ...newImages];\n onChange?.(finalImages);\n return finalImages;\n });\n }\n },\n [onChange],\n );\n\n const openFileDialog = () => {\n refInput.current?.click();\n };\n\n const resetImages = () => {\n setImages(props.defaultImages || []);\n onChange?.(props.defaultImages || []);\n };\n\n const { handleAddFiles: handleAddFilesCrop } = useImageCrop({\n onSave: handleOnSave,\n locale: props.locale,\n dialog: {\n button: {\n genre: props.propsButton.default.genre,\n size: props.propsButton.default.size,\n },\n buttonDelete: {\n genre: props.propsButton.delete.genre,\n size: props.propsButton.delete.size,\n },\n },\n imageSettings: {\n maxSize: props.imageSettings.maxSize,\n maxCount: props.imageSettings.maxCount - images.length,\n aspect: props.imageSettings.aspect,\n },\n refInput: refInput,\n });\n\n const { handleAdd } = useImageView({\n size: props.size,\n locale: props.locale,\n imageSettings: props.imageSettings,\n genre: props.genre,\n });\n\n useEffect(() => {\n setImages(props.images || []);\n }, [props.images]);\n\n return (\n <>\n <ImageSelectWrapper $genre={props.genre} $size={props.size} id={props.id} $sx={props.sx} $error={props.error}>\n <ImageSelectListWrapper\n onDrop={(e) => {\n handleDrop(e);\n setIsDraggingOver(false);\n }}\n onDragOver={(e) => e.preventDefault()}\n onDragEnter={() => setIsDraggingOver(true)}\n onDragLeave={() => setIsDraggingOver(false)}\n animate={{\n borderColor: isDraggingOver\n ? theme.colors.imageSelect[props.genre].border.hover\n : theme.colors.imageSelect[props.genre].border.rest,\n }}\n transition={{ duration: 0.3 }}\n $genre={props.genre}\n $size={props.size}\n >\n <motion.div\n transition={{\n layout: {\n duration: 0.3,\n ease: 'easeInOut',\n type: 'spring',\n },\n }}\n layout\n style={{ display: 'flex', flexWrap: 'wrap', gap: `${size.padding - 2}px` }}\n >\n {images.map(\n (img) =>\n img.url && (\n <motion.div\n key={img.id}\n style={{\n position: 'relative',\n width: `${props.imageSettings.width}px`,\n height: `${props.imageSettings.height}px`,\n userSelect: 'none',\n overflow: 'hidden',\n borderRadius: `${size.radius}px`,\n flexGrow: 1,\n }}\n layout\n transition={{\n layout: {\n duration: 0.3,\n ease: 'easeInOut',\n type: 'spring',\n },\n }}\n >\n <Image\n sxStack={(theme) => ({\n default: {\n width: '100%',\n height: '100%',\n alignItems: 'center',\n justifyContent: 'center',\n backgroundColor: theme.palette.black10,\n position: 'absolute',\n pointerEvents: 'none',\n },\n })}\n isShowBeforeImage={props.isContain}\n sxImage={{\n default: {\n objectFit: props.isContain ? 'contain' : 'cover',\n },\n }}\n alt={img.name || 'image'}\n src={img.url}\n componentFallback={\n <Typography\n sx={{\n default: {\n variant: 'h6',\n },\n }}\n >\n {props.locale.imageFallback}\n </Typography>\n }\n />\n <Button\n sx={{\n default: {\n position: 'absolute',\n top: 5,\n right: 5,\n },\n }}\n genre={props.genre}\n size='small'\n icons={[\n {\n type: 'id',\n name: 'Close',\n },\n ]}\n isWidthAsHeight\n isHiddenBorder\n isRadius\n onClick={() => handleDelete(img.id)}\n />\n <Button\n sx={{\n default: {\n position: 'absolute',\n bottom: 5,\n right: 5,\n },\n }}\n genre={props.genre}\n size='small'\n icons={[\n {\n type: 'id',\n name: 'Activity',\n },\n ]}\n isWidthAsHeight\n isHiddenBorder\n isRadius\n onClick={() => img.url && handleAdd({ id: img.id, imageSrc: img.url })}\n />\n </motion.div>\n ),\n )}\n {images.length === 0 ? (\n <div\n onClick={openFileDialog}\n key='empty'\n style={{\n position: 'relative',\n width: `${props.imageSettings.width}px`,\n height: `${props.imageSettings.height}px`,\n userSelect: 'none',\n overflow: 'hidden',\n borderRadius: `${size.radius}px`,\n flexGrow: 1,\n display: 'flex',\n alignItems: 'center',\n justifyContent: 'center',\n textAlign: 'center',\n cursor: 'pointer',\n }}\n >\n <Typography\n style={{\n color: theme.colors.imageSelect[props.genre].color.rest,\n }}\n sx={{\n default: {},\n }}\n >\n {props.locale.dragAndDrop}\n </Typography>\n </div>\n ) : null}\n </motion.div>\n\n <input\n ref={refInput}\n type='file'\n accept={ImageSupportedFormatsForInput}\n multiple\n style={{ display: 'none' }}\n onChange={(e) => {\n if (e.target.files) handleAddFilesCrop(e.target.files);\n }}\n />\n </ImageSelectListWrapper>\n <Stack sx={{ default: { flexGrow: 1, gap: `${size.padding - 2}px` } }}>\n <Button\n type='button'\n genre={props.genre}\n size={props.size}\n sx={{\n default: {\n flexGrow: 3,\n },\n }}\n isRadius\n onClick={openFileDialog}\n >\n {props.locale.buttonAdd}\n </Button>\n <Button\n isRadius\n type='button'\n sx={{\n default: {\n flexGrow: 1,\n },\n }}\n onClick={resetImages}\n genre={props.genre}\n size={props.size}\n >\n {props.locale.buttonReset}\n </Button>\n </Stack>\n </ImageSelectWrapper>\n {props?.error ? (\n <ErrorMessage\n {...props.error}\n size={props?.error.size ?? props.size}\n font={{\n size: 12,\n weight: 400,\n family: theme.font.family,\n }}\n />\n ) : null}\n </>\n );\n};\n","import { Button } from '@local/components/button';\nimport { Image } from '@local/components/image';\nimport { SliderImageProps } from '@local/components/image-slider';\nimport { Stack } from '@local/components/stack';\nimport { Typography } from '@local/components/typography';\nimport { useDialog } from '@local/contexts/context-dialog';\nimport { KEY_SIZE_DATA } from '@local/theme';\n\nimport { useCallback, useMemo } from 'react';\n\nimport { useImageViewProps } from '.';\n\nexport const useImageView = (props: useImageViewProps) => {\n const size = useMemo(() => KEY_SIZE_DATA[props.size], [props.size]);\n const br = useMemo(() => `${size.radius}px`, [size.radius]);\n\n const { add } = useDialog<{\n br?: string;\n }>({\n br: br,\n propsDialog: {\n borderRadius: br,\n padding: '0',\n background: 'whiteStandard',\n },\n });\n const handleAdd = useCallback(\n (image: SliderImageProps) => {\n add({\n content: (params, remove) => (\n <Stack\n sx={{\n default: {\n position: 'relative',\n overflow: 'hidden',\n aspectRatio: `${props.imageSettings.aspect * 2} / 2`,\n width: 'auto',\n maxWidth: '70dvw',\n height: '85dvh',\n borderRadius: params?.br,\n },\n tablet: {\n maxWidth: '95dvw',\n },\n }}\n >\n <Image\n sxStack={(theme) => ({\n default: {\n width: '100%',\n height: '100%',\n alignItems: 'center',\n justifyContent: 'center',\n backgroundColor: theme.palette.black10,\n position: 'absolute',\n pointerEvents: 'none',\n },\n })}\n isShowBeforeImage\n sxImage={{\n default: {\n objectFit: 'contain',\n },\n }}\n alt={image?.imageSrc}\n src={image?.imageSrc}\n componentFallback={\n <Typography\n sx={{\n default: {\n variant: 'h6',\n },\n }}\n >\n {props.locale.imageFallback}\n </Typography>\n }\n />\n <Button\n sx={{\n default: {\n position: 'absolute',\n bottom: 15,\n right: 15,\n },\n }}\n genre='realebail-white'\n size='small'\n icons={[\n {\n type: 'id',\n name: 'Arrow4',\n },\n ]}\n isWidthAsHeight\n isHiddenBorder\n isRadius\n onClick={() => remove?.()}\n />\n </Stack>\n ),\n });\n },\n [add, props.imageSettings.aspect, props.locale.imageFallback],\n );\n return { handleAdd };\n};\n"],"names":["ImageSelectListGenre","css","props","theme","colors","imageSelect","$genre","background","rest","color","ImageSelectListSize","ImageSelectListSizeConstructor","KEY_SIZE_DATA","$size","padding","radius","ImageSelectSize","ImageSelectSizeConstructor","ImageSelectWrapper","styled","div","addError","addSX","ImageSelectListWrapper","motion","onChange","size","useMemo","images","setImages","useState","isDraggingOver","setIsDraggingOver","refInput","useRef","useTheme","handleOnSave","useCallback","files","prev","newImages","map","file","idx","index","length","finalImages","openFileDialog","_a","current","click","handleAddFiles","handleAddFilesCrop","useImageCrop","onSave","locale","dialog","button","genre","propsButton","default","buttonDelete","delete","imageSettings","maxSize","maxCount","aspect","handleAdd","br","add","useDialog","propsDialog","borderRadius","image","content","params","remove","jsxs","Stack","sx","position","overflow","aspectRatio","width","maxWidth","height","tablet","children","jsx","Image","sxStack","alignItems","justifyContent","backgroundColor","palette","black10","pointerEvents","isShowBeforeImage","sxImage","objectFit","alt","imageSrc","src","componentFallback","Typography","variant","imageFallback","Button","bottom","right","icons","type","name","isWidthAsHeight","isHiddenBorder","isRadius","onClick","useImageView","useEffect","Fragment","id","$sx","$error","error","onDrop","e","preventDefault","dataTransfer","handleDrop","onDragOver","onDragEnter","onDragLeave","animate","borderColor","border","hover","transition","duration","layout","ease","style","display","flexWrap","gap","img","url","userSelect","flexGrow","isContain","top","handleDelete","filter","textAlign","cursor","dragAndDrop","ref","accept","ImageSupportedFormatsForInput","multiple","target","buttonAdd","defaultImages","buttonReset","ErrorMessage","font","weight","family"],"mappings":"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"}
@@ -1,6 +1,6 @@
1
1
  import { j as jsxRuntimeExports } from "./jsx-runtime-BrDlu8eK.js";
2
2
  import { useCallback } from "react";
3
- import { b as Stack } from "./component-jPZYT5iL.js";
3
+ import { b as Stack } from "./component-mzzOCXSx.js";
4
4
  import styled, { css } from "styled-components";
5
5
  import { I as Icon } from "./component.styles-DS0ofW1Y.js";
6
6
  import { b as addTransition } from "./style-RL73t3JD.js";
@@ -78,4 +78,4 @@ export {
78
78
  AccordionDetails as d,
79
79
  AccordionStyledIcon as e
80
80
  };
81
- //# sourceMappingURL=component.styles-DjoG6jr2.js.map
81
+ //# sourceMappingURL=component.styles-CJC0h3Ed.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"component.styles-CJC0h3Ed.js","sources":["../src/components/accordion/component.tsx","../src/components/accordion/component.styles.ts"],"sourcesContent":["import React, { FC, useCallback } from 'react';\n\nimport { Stack } from '@local/components/stack';\n\nimport {\n AccordionDetails,\n AccordionProps,\n AccordionStyledIcon,\n AccordionSummary,\n AccordionSummaryContent,\n AccordionWrapper,\n} from '.';\n\nexport const Accordion: FC<AccordionProps> = (props) => {\n const onClickSummary = useCallback(() => {\n if (props.onClickSummary) props.onClickSummary();\n }, [props]);\n\n const onClickIcon = useCallback(\n (event: React.MouseEvent<SVGSVGElement>) => {\n if (props.onClickIcon) {\n event.stopPropagation();\n\n props.onClickIcon();\n }\n },\n [props],\n );\n\n return (\n <Stack {...props.wrapperProps}>\n <AccordionWrapper>\n <AccordionSummary onClick={onClickSummary}>\n <AccordionSummaryContent $isAccordionIcon={props.isAccordionIcon}>\n {props.accordionSummary}\n </AccordionSummaryContent>\n {props.isAccordionIcon && (\n <AccordionStyledIcon\n $expanded={props.expanded}\n onClick={onClickIcon}\n name='Arrow1'\n primaryColor='black100'\n type='id'\n size='large'\n />\n )}\n </AccordionSummary>\n <AccordionDetails $expanded={props.expanded}>{props.accordionDetails}</AccordionDetails>\n </AccordionWrapper>\n </Stack>\n );\n};\n","import styled, { css } from 'styled-components';\n\nimport { Icon } from '@local/components/icon';\nimport { addTransition } from '@local/styles/add';\n\nimport { AccordionDetailsProps, AccordionStyledIconProps, AccordionSummaryContentProps } from '.';\n\nexport const AccordionWrapper = styled.div`\n display: flex;\n flex-direction: column;\n width: 100%;\n`;\nexport const AccordionSummary = styled.div`\n display: flex;\n align-items: center;\n justify-content: space-between;\n user-select: none;\n`;\nexport const AccordionSummaryContent = styled.div<AccordionSummaryContentProps>`\n width: 100%;\n\n ${(props) =>\n props.$isAccordionIcon &&\n css`\n width: calc(100% - 26px);\n `}\n`;\nexport const AccordionDetails = styled.div<AccordionDetailsProps>`\n max-height: ${(props) => (props.$expanded ? '9999px' : '0')};\n height: ${(props) => (props.$expanded ? '100%' : '0')};\n opacity: ${(props) => (props.$expanded ? 1 : 0)};\n overflow: hidden;\n ${addTransition};\n`;\nexport const AccordionStyledIcon = styled(Icon)<AccordionStyledIconProps>`\n padding: 4px;\n box-sizing: content-box;\n cursor: pointer;\n ${(props) =>\n props.$expanded\n ? css`\n transform: rotate(180deg);\n `\n : css`\n transform: rotate(0deg);\n `}\n`;\n"],"names":["jsxs","jsx"],"mappings":";;;;;;AAaO,MAAM,YAAgC,CAAC,UAAU;AACtD,QAAM,iBAAiB,YAAY,MAAM;AACvC,QAAI,MAAM,eAAgB,OAAM,eAAA;AAAA,EAAe,GAC9C,CAAC,KAAK,CAAC;AAEV,QAAM,cAAc;AAAA,IAClB,CAAC,UAA2C;AAC1C,UAAI,MAAM,aAAa;AACrB,cAAM,gBAAA;AAEN,cAAM,YAAA;AAAA,MAAY;AAAA,IACpB;AAAA,IAEF,CAAC,KAAK;AAAA,EAAA;AAGR,+CACG,OAAA,EAAO,GAAG,MAAM,cACf,iDAAC,kBAAA,EACC,UAAA;AAAA,IAAAA,kCAAAA,KAAC,kBAAA,EAAiB,SAAS,gBACzB,UAAA;AAAA,MAAAC,sCAAC,yBAAA,EAAwB,kBAAkB,MAAM,iBAC9C,gBAAM,kBACT;AAAA,MACC,MAAM,mBACLA,kCAAAA;AAAAA,QAAC;AAAA,QAAA;AAAA,UACC,WAAW,MAAM;AAAA,UACjB,SAAS;AAAA,UACT,MAAK;AAAA,UACL,cAAa;AAAA,UACb,MAAK;AAAA,UACL,MAAK;AAAA,QAAA;AAAA,MAAA;AAAA,IACP,GAEJ;AAAA,0CACC,kBAAA,EAAiB,WAAW,MAAM,UAAW,gBAAM,iBAAA,CAAiB;AAAA,EAAA,EAAA,CACvE,EAAA,CACF;AAEJ;AC5CO,MAAM,mBAAmB,OAAO;AAAA;AAAA;AAAA;AAAA;AAKhC,MAAM,mBAAmB,OAAO;AAAA;AAAA;AAAA;AAAA;AAAA;AAMhC,MAAM,0BAA0B,OAAO;AAAA;AAAA;AAAA,IAG1C,CAAC,UACD,MAAM,oBACN;AAAA;AAAA,KAEC;AAAA;AAEE,MAAM,mBAAmB,OAAO;AAAA,gBACvB,CAAC,UAAW,MAAM,YAAY,WAAW,GAAI;AAAA,YACjD,CAAC,UAAW,MAAM,YAAY,SAAS,GAAI;AAAA,aAC1C,CAAC,UAAW,MAAM,YAAY,IAAI,CAAE;AAAA;AAAA,IAE7C,aAAa;AAAA;AAEV,MAAM,sBAAsB,OAAO,IAAI;AAAA;AAAA;AAAA;AAAA,IAI1C,CAAC,UACD,MAAM,YACF;AAAA;AAAA,YAGA;AAAA;AAAA,SAEC;AAAA;"}
@@ -1 +1 @@
1
- {"version":3,"file":"component.styles-DS0ofW1Y.js","sources":["../src/components/icon/component.tsx","../src/components/icon/component.styles.ts"],"sourcesContent":["import { JeneseiPalette } from '@local/theme/theme';\n\nimport { useMemo } from 'react';\n\nimport IconBustMarketJSON from './component-bustmarket.json';\nimport IconCheckboxJSON from './component-checkbox.json';\nimport IconIdJSON from './component-id.json';\nimport IconLoadingJSON from './component-loading.json';\nimport IconLogoJSON from './component-logo.json';\nimport IconRealEbailJSON from './component-realebail.json';\nimport {\n IconItemProps,\n IconTypeMap,\n StyledSVG,\n TIconBustMarketNameString,\n TIconCheckboxNameString,\n TIconIdNameString,\n TIconLoadingNameString,\n TIconLogoNameString,\n TIconRealEbailNameString,\n} from '.';\n\nexport const Icon = <T extends keyof IconTypeMap>(props: IconItemProps<T>) => {\n const icon = useMemo(() => {\n let icon = null;\n\n switch (props.type) {\n case 'id':\n icon = IconIdJSON[props.name as TIconIdNameString];\n break;\n case 'bustmarket':\n icon = IconBustMarketJSON[props.name as TIconBustMarketNameString];\n break;\n case 'realebail':\n icon = IconRealEbailJSON[props.name as TIconRealEbailNameString];\n break;\n case 'logo':\n icon = IconLogoJSON[props.name as TIconLogoNameString];\n break;\n case 'checkbox':\n icon = IconCheckboxJSON[props.name as TIconCheckboxNameString];\n break;\n case 'loading':\n icon = IconLoadingJSON[props.name as TIconLoadingNameString];\n break;\n }\n return icon;\n }, [props.name, props.type]);\n\n const primaryColor = props.primaryColor ? JeneseiPalette[props.primaryColor] : 'currentColor';\n const secondColor = props.secondColor ? JeneseiPalette[props.secondColor] : 'currentColor';\n\n if (!icon) {\n console.warn(`Icon ${props.name} not found in the library.`);\n return null;\n }\n\n const getFillColor = (fillType?: string): string | undefined => {\n if (fillType === 'primaryColor') return primaryColor;\n if (fillType === 'secondColor') return secondColor;\n return 'currentColor';\n };\n\n const contentPaths =\n (props.type == 'id' || props.type === 'checkbox' || props.type === 'realebail' || props.type === 'logo') &&\n typeof icon === 'object' &&\n 'paths' in icon\n ? (icon.paths ?? []).map((path, index) => (\n <path\n key={`${props.type}-${props.name}-path-${index}`}\n id={'id' in path ? (path.id as string) : undefined}\n d={path.d}\n clipRule='evenodd'\n fillRule='evenodd'\n fill={'fill' in path ? getFillColor(path.fill as string) : 'currentColor'}\n />\n ))\n : null;\n\n const isFull = props.type === 'loading' || props.type === 'bustmarket' ? (icon as string) : null;\n\n return (\n <StyledSVG\n width='24'\n height='24'\n viewBox='0 0 24 24'\n xmlns='http://www.w3.org/2000/svg'\n $size={props.size}\n $turn={props.turn}\n $order={props.order}\n $color={props.primaryColor || undefined}\n $sx={props.sx}\n className={props.className}\n onClick={props.onClick}\n tabIndex={props.tabIndex}\n dangerouslySetInnerHTML={isFull ? { __html: isFull } : undefined}\n >\n {contentPaths}\n </StyledSVG>\n );\n};\n","import styled, { css } from 'styled-components'\n\nimport { addColorTransition } from '@local/styles/add'\nimport { addSX } from '@local/styles/sx'\nimport { KEY_SIZE_DATA } from '@local/theme'\n\nimport { StyledIconIdItemProps } from '.'\n\nexport const StyledSVG = styled.svg<StyledIconIdItemProps>`\n color: ${props => (props.$color ? props.theme.palette[props.$color] : 'inherit')};\n\n ${props => css`\n height: ${props.$size !== '100%' ? `${KEY_SIZE_DATA[props.$size].heightIcon}px` : '100%'};\n min-height: ${props.$size !== '100%' ? `${KEY_SIZE_DATA[props.$size].heightIcon}px` : '100%'};\n\n width: ${props.$size !== '100%' ? `${KEY_SIZE_DATA[props.$size].heightIcon}px` : '100%'};\n min-width: ${props.$size !== '100%' ? `${KEY_SIZE_DATA[props.$size].heightIcon}px` : '100%'};\n\n transform: rotate(${props.$turn || 0}deg);\n `}\n ${props =>\n props.$order !== undefined &&\n css`\n order: ${props.$order};\n `};\n ${addColorTransition};\n & path {\n ${addColorTransition};\n }\n ${addSX};\n`\n"],"names":["icon","jsx"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;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"}
1
+ {"version":3,"file":"component.styles-DS0ofW1Y.js","sources":["../src/components/icon/component.tsx","../src/components/icon/component.styles.ts"],"sourcesContent":["import { JeneseiPalette } from '@local/theme/theme';\n\nimport { useMemo } from 'react';\n\nimport IconBustMarketJSON from './component-bustmarket.json';\nimport IconCheckboxJSON from './component-checkbox.json';\nimport IconIdJSON from './component-id.json';\nimport IconLoadingJSON from './component-loading.json';\nimport IconLogoJSON from './component-logo.json';\nimport IconRealEbailJSON from './component-realebail.json';\nimport {\n IconItemProps,\n IconTypeMap,\n StyledSVG,\n TIconBustMarketNameString,\n TIconCheckboxNameString,\n TIconIdNameString,\n TIconLoadingNameString,\n TIconLogoNameString,\n TIconRealEbailNameString,\n} from '.';\n\nexport const Icon = <T extends keyof IconTypeMap>(props: IconItemProps<T>) => {\n const icon = useMemo(() => {\n let icon = null;\n\n switch (props.type) {\n case 'id':\n icon = IconIdJSON[props.name as TIconIdNameString];\n break;\n case 'bustmarket':\n icon = IconBustMarketJSON[props.name as TIconBustMarketNameString];\n break;\n case 'realebail':\n icon = IconRealEbailJSON[props.name as TIconRealEbailNameString];\n break;\n case 'logo':\n icon = IconLogoJSON[props.name as TIconLogoNameString];\n break;\n case 'checkbox':\n icon = IconCheckboxJSON[props.name as TIconCheckboxNameString];\n break;\n case 'loading':\n icon = IconLoadingJSON[props.name as TIconLoadingNameString];\n break;\n }\n return icon;\n }, [props.name, props.type]);\n\n const primaryColor = props.primaryColor ? JeneseiPalette[props.primaryColor] : 'currentColor';\n const secondColor = props.secondColor ? JeneseiPalette[props.secondColor] : 'currentColor';\n\n if (!icon) {\n console.warn(`Icon ${props.name} not found in the library.`);\n return null;\n }\n\n const getFillColor = (fillType?: string): string | undefined => {\n if (fillType === 'primaryColor') return primaryColor;\n if (fillType === 'secondColor') return secondColor;\n return 'currentColor';\n };\n\n const contentPaths =\n (props.type == 'id' || props.type === 'checkbox' || props.type === 'realebail' || props.type === 'logo') &&\n typeof icon === 'object' &&\n 'paths' in icon\n ? (icon.paths ?? []).map((path, index) => (\n <path\n key={`${props.type}-${props.name}-path-${index}`}\n id={'id' in path ? (path.id as string) : undefined}\n d={path.d}\n clipRule='evenodd'\n fillRule='evenodd'\n fill={'fill' in path ? getFillColor(path.fill as string) : 'currentColor'}\n />\n ))\n : null;\n\n const isFull = props.type === 'loading' || props.type === 'bustmarket' ? (icon as string) : null;\n\n return (\n <StyledSVG\n width='24'\n height='24'\n viewBox='0 0 24 24'\n xmlns='http://www.w3.org/2000/svg'\n $size={props.size}\n $turn={props.turn}\n $order={props.order}\n $color={props.primaryColor || undefined}\n $sx={props.sx}\n className={props.className}\n onClick={props.onClick}\n tabIndex={props.tabIndex}\n dangerouslySetInnerHTML={isFull ? { __html: isFull } : undefined}\n >\n {contentPaths}\n </StyledSVG>\n );\n};\n","import styled, { css } from 'styled-components';\n\nimport { addColorTransition } from '@local/styles/add';\nimport { addSX } from '@local/styles/sx';\nimport { KEY_SIZE_DATA } from '@local/theme';\n\nimport { StyledIconIdItemProps } from '.';\n\nexport const StyledSVG = styled.svg<StyledIconIdItemProps>`\n color: ${(props) => (props.$color ? props.theme.palette[props.$color] : 'inherit')};\n\n ${(props) => css`\n height: ${props.$size !== '100%' ? `${KEY_SIZE_DATA[props.$size].heightIcon}px` : '100%'};\n min-height: ${props.$size !== '100%' ? `${KEY_SIZE_DATA[props.$size].heightIcon}px` : '100%'};\n\n width: ${props.$size !== '100%' ? `${KEY_SIZE_DATA[props.$size].heightIcon}px` : '100%'};\n min-width: ${props.$size !== '100%' ? `${KEY_SIZE_DATA[props.$size].heightIcon}px` : '100%'};\n\n transform: rotate(${props.$turn || 0}deg);\n `}\n ${(props) =>\n props.$order !== undefined &&\n css`\n order: ${props.$order};\n `};\n ${addColorTransition};\n & path {\n ${addColorTransition};\n }\n ${addSX};\n`;\n"],"names":["icon","jsx"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;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"}
@@ -1,5 +1,5 @@
1
1
  import { j as jsxRuntimeExports } from "./jsx-runtime-BrDlu8eK.js";
2
- import { C as Checkbox } from "./component.styles-DARNjy9P.js";
2
+ import { C as Checkbox } from "./component.styles-DWS6xT-y.js";
3
3
  import { K as KEY_SIZE_DATA } from "./theme.global-BgERDJ4e.js";
4
4
  import { useCallback } from "react";
5
5
  import styled, { useTheme, css } from "styled-components";
@@ -91,4 +91,4 @@ export {
91
91
  CheckboxGroupLabel as e,
92
92
  CheckboxChildren as f
93
93
  };
94
- //# sourceMappingURL=component.styles-nl99kkS3.js.map
94
+ //# sourceMappingURL=component.styles-DTnknwt_.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"component.styles-nl99kkS3.js","sources":["../src/components/checkbox-group/component.tsx","../src/components/checkbox-group/component.styles.ts"],"sourcesContent":["import { Checkbox } from '@local/components/checkbox';\nimport { KEY_SIZE_DATA } from '@local/theme';\n\nimport { ReactNode, useCallback } from 'react';\nimport { useTheme } from 'styled-components';\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\n const theme = useTheme();\n return (\n <CheckboxGroupWrapper\n className={props.className}\n $sx={props.sx}\n $size={props.size}\n $font={{\n size: props.font?.size ?? KEY_SIZE_DATA[props.size].font,\n weight: props.font?.weight ?? 700,\n family: props.font?.family ?? theme.font.family,\n height: props.font?.height,\n }}\n >\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 font={{\n size: props.font?.size ?? KEY_SIZE_DATA[props.size].font,\n weight: props.font?.weight ?? 700,\n family: props.font?.family ?? theme.font.family,\n height: props.font?.height,\n }}\n >\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 { addFont } from '@local/styles/add';\nimport { addSX } from '@local/styles/sx';\nimport { IThemeSizePropertyDefault, KEY_SIZE_DATA } from '@local/theme';\n\nimport styled, { css } from 'styled-components';\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`;\n\n/****************************************** Default *************************************************/\nexport const CheckboxGroupWrapper = styled.div<CheckboxGroupWrapperProps>`\n display: flex;\n flex-direction: column;\n align-items: stretch;\n ${CheckboxGroupSize};\n ${addFont};\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":["jsx","jsxs","_a","_b","_c","_d"],"mappings":";;;;;;;AAeO,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,CAAC,iBAAiB,aAAa,MAAM,UAAU,MAAM,KAAK,MAAM,UAAU,CAAC;AAE/G,YAAM,uBAAuB,aACzB,MAAM,MAAM,OAAO,CAAC,iBAAiB,aAAa,MAAM,UAAU,MAAM,KAAK,MAAM,UAAU,CAAC,IAC9F,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;AAGR,QAAM,QAAQ,SAAA;AACd,SACEA,kCAAAA;AAAAA,IAAC;AAAA,IAAA;AAAA,MACC,WAAW,MAAM;AAAA,MACjB,KAAK,MAAM;AAAA,MACX,OAAO,MAAM;AAAA,MACb,OAAO;AAAA,QACL,QAAM,WAAM,SAAN,mBAAY,SAAQ,cAAc,MAAM,IAAI,EAAE;AAAA,QACpD,UAAQ,WAAM,SAAN,mBAAY,WAAU;AAAA,QAC9B,UAAQ,WAAM,SAAN,mBAAY,WAAU,MAAM,KAAK;AAAA,QACzC,SAAQ,WAAM,SAAN,mBAAY;AAAA,MAAA;AAAA,MAGrB,UAAA,MAAM,QAAQ,IAAI,CAAC,GAAG,UAAU;;AAC/B,cAAM,YAAY,MAAM,MAAM,KAAK,CAAC,iBAAiB,aAAa,MAAM,UAAU,MAAM,EAAE,MAAM,UAAU,CAAC;AAC3G,eACEC,uCAAC,qBAA8B,SAAS,MAAM,CAAC,MAAM,mBAAmB,qBAAqB,CAAC,GAC5F,UAAA;AAAA,UAAAD,kCAAAA;AAAAA,YAAC;AAAA,YAAA;AAAA,cACC,OAAO,MAAM;AAAA,cACb,gBAAgB,MAAM;AAAA,cACtB,MAAM,MAAM;AAAA,cACZ,IAAI,MAAM;AAAA,cACV,MAAM,MAAM;AAAA,cACZ,SAAS;AAAA,cACT,MAAM;AAAA,gBACJ,QAAME,MAAA,MAAM,SAAN,gBAAAA,IAAY,SAAQ,cAAc,MAAM,IAAI,EAAE;AAAA,gBACpD,UAAQC,MAAA,MAAM,SAAN,gBAAAA,IAAY,WAAU;AAAA,gBAC9B,UAAQC,MAAA,MAAM,SAAN,gBAAAA,IAAY,WAAU,MAAM,KAAK;AAAA,gBACzC,SAAQC,MAAA,MAAM,SAAN,gBAAAA,IAAY;AAAA,cAAA;AAAA,cAGrB,UAAA,MAAM,eAAc,uBAAI,MAAM,iBAAgB,UAC7CL,kCAAAA,IAAC,oBAAA,EAAmB,yBAAyB,aAAa,EAAE,MAAM,UAAU,CAAW,EAAA,CAAG;AAAA,YAAA;AAAA,UAAA;AAAA,UAG7F,MAAM,kBAAiB,uBAAI,MAAM,oBAAmB,UACnDA,sCAAC,kBAAA,EAAkB,UAAA,EAAE,MAAM,aAAa,EAAA,CAAe;AAAA,QAAA,EAAA,GApBnC,KAsBxB;AAAA,MAAA,CAEH;AAAA,IAAA;AAAA,EAAA;AAGP;AClEO,MAAM,oBAAoB;AAAA,IAC7B,CAAC,UAAU,6BAA6B,cAAc,MAAM,KAAK,CAAC,CAAC;AAAA;AAEhE,MAAM,+BAA+B,CAAC,UAAqC;AAAA,SACzE,MAAM,UAAU,CAAC;AAAA;AAInB,MAAM,uBAAuB,OAAO;AAAA;AAAA;AAAA;AAAA,IAIvC,iBAAiB;AAAA,IACjB,OAAO;AAAA,IACP,KAAK;AAAA;AAGF,MAAM,oBAAoB,OAAO;AAAA;AAAA;AAAA;AAAA;AAMjC,MAAM,qBAAqB,OAAO;AAAA;AAAA;AAIlC,MAAM,mBAAmB,OAAO;AAAA;AAAA;"}
1
+ {"version":3,"file":"component.styles-DTnknwt_.js","sources":["../src/components/checkbox-group/component.tsx","../src/components/checkbox-group/component.styles.ts"],"sourcesContent":["import { Checkbox } from '@local/components/checkbox';\nimport { KEY_SIZE_DATA } from '@local/theme';\n\nimport { ReactNode, useCallback } from 'react';\nimport { useTheme } from 'styled-components';\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\n const theme = useTheme();\n return (\n <CheckboxGroupWrapper\n className={props.className}\n $sx={props.sx}\n $size={props.size}\n $font={{\n size: props.font?.size ?? KEY_SIZE_DATA[props.size].font,\n weight: props.font?.weight ?? 700,\n family: props.font?.family ?? theme.font.family,\n height: props.font?.height,\n }}\n >\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 font={{\n size: props.font?.size ?? KEY_SIZE_DATA[props.size].font,\n weight: props.font?.weight ?? 700,\n family: props.font?.family ?? theme.font.family,\n height: props.font?.height,\n }}\n >\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 { addFont } from '@local/styles/add';\nimport { addSX } from '@local/styles/sx';\nimport { IThemeSizePropertyDefault, KEY_SIZE_DATA } from '@local/theme';\n\nimport styled, { css } from 'styled-components';\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`;\n\n/****************************************** Default *************************************************/\nexport const CheckboxGroupWrapper = styled.div<CheckboxGroupWrapperProps>`\n display: flex;\n flex-direction: column;\n align-items: stretch;\n ${CheckboxGroupSize};\n ${addFont};\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":["jsx","jsxs","_a","_b","_c","_d"],"mappings":";;;;;;;AAeO,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,CAAC,iBAAiB,aAAa,MAAM,UAAU,MAAM,KAAK,MAAM,UAAU,CAAC;AAE/G,YAAM,uBAAuB,aACzB,MAAM,MAAM,OAAO,CAAC,iBAAiB,aAAa,MAAM,UAAU,MAAM,KAAK,MAAM,UAAU,CAAC,IAC9F,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;AAGR,QAAM,QAAQ,SAAA;AACd,SACEA,kCAAAA;AAAAA,IAAC;AAAA,IAAA;AAAA,MACC,WAAW,MAAM;AAAA,MACjB,KAAK,MAAM;AAAA,MACX,OAAO,MAAM;AAAA,MACb,OAAO;AAAA,QACL,QAAM,WAAM,SAAN,mBAAY,SAAQ,cAAc,MAAM,IAAI,EAAE;AAAA,QACpD,UAAQ,WAAM,SAAN,mBAAY,WAAU;AAAA,QAC9B,UAAQ,WAAM,SAAN,mBAAY,WAAU,MAAM,KAAK;AAAA,QACzC,SAAQ,WAAM,SAAN,mBAAY;AAAA,MAAA;AAAA,MAGrB,UAAA,MAAM,QAAQ,IAAI,CAAC,GAAG,UAAU;;AAC/B,cAAM,YAAY,MAAM,MAAM,KAAK,CAAC,iBAAiB,aAAa,MAAM,UAAU,MAAM,EAAE,MAAM,UAAU,CAAC;AAC3G,eACEC,uCAAC,qBAA8B,SAAS,MAAM,CAAC,MAAM,mBAAmB,qBAAqB,CAAC,GAC5F,UAAA;AAAA,UAAAD,kCAAAA;AAAAA,YAAC;AAAA,YAAA;AAAA,cACC,OAAO,MAAM;AAAA,cACb,gBAAgB,MAAM;AAAA,cACtB,MAAM,MAAM;AAAA,cACZ,IAAI,MAAM;AAAA,cACV,MAAM,MAAM;AAAA,cACZ,SAAS;AAAA,cACT,MAAM;AAAA,gBACJ,QAAME,MAAA,MAAM,SAAN,gBAAAA,IAAY,SAAQ,cAAc,MAAM,IAAI,EAAE;AAAA,gBACpD,UAAQC,MAAA,MAAM,SAAN,gBAAAA,IAAY,WAAU;AAAA,gBAC9B,UAAQC,MAAA,MAAM,SAAN,gBAAAA,IAAY,WAAU,MAAM,KAAK;AAAA,gBACzC,SAAQC,MAAA,MAAM,SAAN,gBAAAA,IAAY;AAAA,cAAA;AAAA,cAGrB,UAAA,MAAM,eAAc,uBAAI,MAAM,iBAAgB,UAC7CL,kCAAAA,IAAC,oBAAA,EAAmB,yBAAyB,aAAa,EAAE,MAAM,UAAU,CAAW,EAAA,CAAG;AAAA,YAAA;AAAA,UAAA;AAAA,UAG7F,MAAM,kBAAiB,uBAAI,MAAM,oBAAmB,UACnDA,sCAAC,kBAAA,EAAkB,UAAA,EAAE,MAAM,aAAa,EAAA,CAAe;AAAA,QAAA,EAAA,GApBnC,KAsBxB;AAAA,MAAA,CAEH;AAAA,IAAA;AAAA,EAAA;AAGP;AClEO,MAAM,oBAAoB;AAAA,IAC7B,CAAC,UAAU,6BAA6B,cAAc,MAAM,KAAK,CAAC,CAAC;AAAA;AAEhE,MAAM,+BAA+B,CAAC,UAAqC;AAAA,SACzE,MAAM,UAAU,CAAC;AAAA;AAInB,MAAM,uBAAuB,OAAO;AAAA;AAAA;AAAA;AAAA,IAIvC,iBAAiB;AAAA,IACjB,OAAO;AAAA,IACP,KAAK;AAAA;AAGF,MAAM,oBAAoB,OAAO;AAAA;AAAA;AAAA;AAAA;AAMjC,MAAM,qBAAqB,OAAO;AAAA;AAAA;AAIlC,MAAM,mBAAmB,OAAO;AAAA;AAAA;"}
@@ -6,7 +6,7 @@ import styled, { useTheme, css } from "styled-components";
6
6
  import { I as Icon } from "./component.styles-DS0ofW1Y.js";
7
7
  import { d as addRippleDefault } from "./component.styles-B0L4jbOO.js";
8
8
  import { R as Ripple } from "./component-DHM9pbab.js";
9
- import { g as addSXTypography } from "./component-DKMsOpqH.js";
9
+ import { g as addSXTypography } from "./component-GtWqnaqk.js";
10
10
  import { l as addDisabled, b as addTransition, g as addOutline, c as addFont } from "./style-RL73t3JD.js";
11
11
  import { a as addSX } from "./style-plT9Ah7t.js";
12
12
  const Checkbox = (props) => {
@@ -174,4 +174,4 @@ export {
174
174
  CheckboxGenre as c,
175
175
  CheckboxWrapper as d
176
176
  };
177
- //# sourceMappingURL=component.styles-DARNjy9P.js.map
177
+ //# sourceMappingURL=component.styles-DWS6xT-y.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"component.styles-DARNjy9P.js","sources":["../src/components/checkbox/component.tsx","../src/components/checkbox/component.styles.ts"],"sourcesContent":["import { ErrorMessage } from '@local/styles/error';\nimport { KEY_SIZE_DATA } from '@local/theme';\n\nimport { FC, useCallback, useMemo } from 'react';\nimport { useTheme } from 'styled-components';\n\nimport { Icon } from '../icon';\nimport { Ripple } from '../ripple';\nimport { CheckboxProps, CheckboxWrapper, StyledIcon } from '.';\n\nexport const Checkbox: FC<CheckboxProps> = (props) => {\n const handleOnClick = useCallback(\n (checked: boolean) => {\n props.onChange?.(checked);\n },\n [props.onChange],\n );\n const theme = useTheme();\n const children = useMemo(\n () => (\n <>\n <StyledIcon\n size={props.sizeIcon || props.size}\n name={props.view}\n type='checkbox'\n order={props.iconOrder}\n $genre={props.genre}\n $checked={props.checked}\n />\n {props.children && props.children}\n </>\n ),\n [props.checked, props.children, props.genre, props.iconOrder, props.size, props.sizeIcon, props.view],\n );\n const LoadingComponent = <Icon size={props.size} type='loading' name='Line' />;\n\n return (\n <>\n <CheckboxWrapper\n type='button'\n $genre={props.genre}\n $error={props.error}\n $view={props.view}\n $font={{\n size: props.font?.size ?? KEY_SIZE_DATA[props.size].font,\n weight: props.font?.weight ?? 700,\n family: props.font?.family ?? theme.font.family,\n height: props.font?.height,\n }}\n $checked={props.checked}\n $isWidthAsHeight={props.isWidthAsHeight}\n $size={props.size}\n $isDisabled={props.isDisabled}\n $isHiddenBorder={props.isHiddenBorder}\n $isNotBackground={props.isNotBackground}\n $sx={props.sx}\n $sxTypography={props.sxTypography}\n $isDisabledOutline={props.isDisabled ?? props.isDisabledOutline}\n $isOutlineBoxShadow={props.isOutlineBoxShadow}\n $isReadOnly={props.isReadOnly}\n disabled={props.isDisabled}\n tabIndex={0}\n onClick={() => !props.isDisabled && handleOnClick(!props.checked)}\n >\n <Ripple color={theme.colors.checkbox[props.genre].color.rest} isDisabled={props.isDisabled} />\n {props.isOnlyLoading ? (\n props.isLoading ? (\n LoadingComponent\n ) : (\n children\n )\n ) : (\n <>\n {children}\n {props.isLoading && LoadingComponent}\n </>\n )}\n </CheckboxWrapper>\n {props?.error ? (\n <ErrorMessage\n {...props.error}\n size={props?.error.size ?? props.size}\n font={{\n size: 12,\n weight: 400,\n family: props.font?.family ?? theme.font.family,\n }}\n />\n ) : null}\n </>\n );\n};\n","import { Icon } from '@local/components/icon';\nimport { addSXTypography } from '@local/components/typography';\nimport { addDisabled, addFont, addOutline, addTransition } from '@local/styles/add';\nimport { addError } from '@local/styles/error';\nimport { addSX } from '@local/styles/sx';\nimport { IThemeSizePropertyDefault, KEY_SIZE_DATA } from '@local/theme';\n\nimport styled, { css } from 'styled-components';\n\nimport { addRippleDefault } from '../ripple';\nimport { StyledCheckboxProps, StyledIconProps } from '.';\n\n/****************************************** Size *************************************************/\nexport const CheckboxSize = css<StyledCheckboxProps>`\n ${(props) => CheckboxSizeConstructor({ ...KEY_SIZE_DATA[props.$size], isWidthAsHeight: props.$isWidthAsHeight })};\n`;\nexport const CheckboxSizeConstructor = (\n props: IThemeSizePropertyDefault & {\n isWidthAsHeight?: boolean;\n },\n) => css`\n height: ${props.height}px;\n min-height: ${props.height}px;\n border-radius: ${props.radius}px;\n gap: ${props.padding - 2}px;\n padding: ${props.padding - 4}px;\n ${\n props.isWidthAsHeight &&\n css`\n width: ${props.height}px;\n min-width: ${props.height}px;\n padding: 0px;\n `\n };\n`;\n\n/****************************************** Genre *************************************************/\nexport const CheckboxGenre = css<StyledCheckboxProps>`\n ${(props) => css`\n background: ${props.theme.colors.checkbox[props.$genre].background.rest};\n border-color: ${props.theme.colors.checkbox[props.$genre].border.rest};\n color: ${props.theme.colors.checkbox[props.$genre].color.rest};\n &:hover {\n background: ${props.theme.colors.checkbox[props.$genre].background.hover};\n border-color: ${props.theme.colors.checkbox[props.$genre].border.hover};\n color: ${props.theme.colors.checkbox[props.$genre].color.hover};\n }\n `};\n`;\n\n/****************************************** Disabled *************************************************/\nconst addCheckboxDisabled = css<StyledCheckboxProps>`\n ${addDisabled};\n ${(props) =>\n props.$isDisabled\n ? css`\n background: ${props.theme.colors.checkbox[props.$genre].background.rest} !important;\n border-color: ${props.theme.colors.checkbox[props.$genre].border.rest} !important;\n color: ${props.theme.colors.checkbox[props.$genre].color.rest} !important;\n `\n : ''}\n`;\n\n/****************************************** HiddenBorder *************************************************/\nconst CheckboxHiddenBorder = css<StyledCheckboxProps>`\n ${(props) =>\n props.$isHiddenBorder &&\n css`\n border-color: transparent !important;\n `}\n`;\n\n/****************************************** Default *************************************************/\nexport const CheckboxWrapper = styled.button<StyledCheckboxProps>`\n display: flex;\n align-items: center;\n justify-content: flex-start;\n border: 1px solid transparent;\n user-select: none;\n cursor: pointer;\n background-color: ${(props) => props.$isNotBackground && 'transparent'};\n\n ${addRippleDefault};\n ${addTransition};\n ${CheckboxGenre};\n ${CheckboxHiddenBorder};\n ${CheckboxSize};\n ${addCheckboxDisabled}\n ${addOutline};\n ${addFont};\n ${addError};\n ${addSXTypography};\n ${addSX};\n`;\n\n/****************************************** Styled *************************************************/\nexport const StyledIcon = styled(Icon)<StyledIconProps>`\n ${(props) =>\n props.$checked\n ? css`\n & #check {\n color: inherit;\n }\n & #uncheck {\n color: transparent;\n }\n `\n : css`\n & #check {\n color: transparent;\n }\n & #uncheck {\n color: inherit;\n }\n `}\n`;\n"],"names":["_a","jsxs","Fragment","jsx"],"mappings":"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"}
1
+ {"version":3,"file":"component.styles-DWS6xT-y.js","sources":["../src/components/checkbox/component.tsx","../src/components/checkbox/component.styles.ts"],"sourcesContent":["import { ErrorMessage } from '@local/styles/error';\nimport { KEY_SIZE_DATA } from '@local/theme';\n\nimport { FC, useCallback, useMemo } from 'react';\nimport { useTheme } from 'styled-components';\n\nimport { Icon } from '../icon';\nimport { Ripple } from '../ripple';\nimport { CheckboxProps, CheckboxWrapper, StyledIcon } from '.';\n\nexport const Checkbox: FC<CheckboxProps> = (props) => {\n const handleOnClick = useCallback(\n (checked: boolean) => {\n props.onChange?.(checked);\n },\n [props.onChange],\n );\n const theme = useTheme();\n const children = useMemo(\n () => (\n <>\n <StyledIcon\n size={props.sizeIcon || props.size}\n name={props.view}\n type='checkbox'\n order={props.iconOrder}\n $genre={props.genre}\n $checked={props.checked}\n />\n {props.children && props.children}\n </>\n ),\n [props.checked, props.children, props.genre, props.iconOrder, props.size, props.sizeIcon, props.view],\n );\n const LoadingComponent = <Icon size={props.size} type='loading' name='Line' />;\n\n return (\n <>\n <CheckboxWrapper\n type='button'\n $genre={props.genre}\n $error={props.error}\n $view={props.view}\n $font={{\n size: props.font?.size ?? KEY_SIZE_DATA[props.size].font,\n weight: props.font?.weight ?? 700,\n family: props.font?.family ?? theme.font.family,\n height: props.font?.height,\n }}\n $checked={props.checked}\n $isWidthAsHeight={props.isWidthAsHeight}\n $size={props.size}\n $isDisabled={props.isDisabled}\n $isHiddenBorder={props.isHiddenBorder}\n $isNotBackground={props.isNotBackground}\n $sx={props.sx}\n $sxTypography={props.sxTypography}\n $isDisabledOutline={props.isDisabled ?? props.isDisabledOutline}\n $isOutlineBoxShadow={props.isOutlineBoxShadow}\n $isReadOnly={props.isReadOnly}\n disabled={props.isDisabled}\n tabIndex={0}\n onClick={() => !props.isDisabled && handleOnClick(!props.checked)}\n >\n <Ripple color={theme.colors.checkbox[props.genre].color.rest} isDisabled={props.isDisabled} />\n {props.isOnlyLoading ? (\n props.isLoading ? (\n LoadingComponent\n ) : (\n children\n )\n ) : (\n <>\n {children}\n {props.isLoading && LoadingComponent}\n </>\n )}\n </CheckboxWrapper>\n {props?.error ? (\n <ErrorMessage\n {...props.error}\n size={props?.error.size ?? props.size}\n font={{\n size: 12,\n weight: 400,\n family: props.font?.family ?? theme.font.family,\n }}\n />\n ) : null}\n </>\n );\n};\n","import { Icon } from '@local/components/icon';\nimport { addSXTypography } from '@local/components/typography';\nimport { addDisabled, addFont, addOutline, addTransition } from '@local/styles/add';\nimport { addError } from '@local/styles/error';\nimport { addSX } from '@local/styles/sx';\nimport { IThemeSizePropertyDefault, KEY_SIZE_DATA } from '@local/theme';\n\nimport styled, { css } from 'styled-components';\n\nimport { addRippleDefault } from '../ripple';\nimport { StyledCheckboxProps, StyledIconProps } from '.';\n\n/****************************************** Size *************************************************/\nexport const CheckboxSize = css<StyledCheckboxProps>`\n ${(props) => CheckboxSizeConstructor({ ...KEY_SIZE_DATA[props.$size], isWidthAsHeight: props.$isWidthAsHeight })};\n`;\nexport const CheckboxSizeConstructor = (\n props: IThemeSizePropertyDefault & {\n isWidthAsHeight?: boolean;\n },\n) => css`\n height: ${props.height}px;\n min-height: ${props.height}px;\n border-radius: ${props.radius}px;\n gap: ${props.padding - 2}px;\n padding: ${props.padding - 4}px;\n ${\n props.isWidthAsHeight &&\n css`\n width: ${props.height}px;\n min-width: ${props.height}px;\n padding: 0px;\n `\n };\n`;\n\n/****************************************** Genre *************************************************/\nexport const CheckboxGenre = css<StyledCheckboxProps>`\n ${(props) => css`\n background: ${props.theme.colors.checkbox[props.$genre].background.rest};\n border-color: ${props.theme.colors.checkbox[props.$genre].border.rest};\n color: ${props.theme.colors.checkbox[props.$genre].color.rest};\n &:hover {\n background: ${props.theme.colors.checkbox[props.$genre].background.hover};\n border-color: ${props.theme.colors.checkbox[props.$genre].border.hover};\n color: ${props.theme.colors.checkbox[props.$genre].color.hover};\n }\n `};\n`;\n\n/****************************************** Disabled *************************************************/\nconst addCheckboxDisabled = css<StyledCheckboxProps>`\n ${addDisabled};\n ${(props) =>\n props.$isDisabled\n ? css`\n background: ${props.theme.colors.checkbox[props.$genre].background.rest} !important;\n border-color: ${props.theme.colors.checkbox[props.$genre].border.rest} !important;\n color: ${props.theme.colors.checkbox[props.$genre].color.rest} !important;\n `\n : ''}\n`;\n\n/****************************************** HiddenBorder *************************************************/\nconst CheckboxHiddenBorder = css<StyledCheckboxProps>`\n ${(props) =>\n props.$isHiddenBorder &&\n css`\n border-color: transparent !important;\n `}\n`;\n\n/****************************************** Default *************************************************/\nexport const CheckboxWrapper = styled.button<StyledCheckboxProps>`\n display: flex;\n align-items: center;\n justify-content: flex-start;\n border: 1px solid transparent;\n user-select: none;\n cursor: pointer;\n background-color: ${(props) => props.$isNotBackground && 'transparent'};\n\n ${addRippleDefault};\n ${addTransition};\n ${CheckboxGenre};\n ${CheckboxHiddenBorder};\n ${CheckboxSize};\n ${addCheckboxDisabled}\n ${addOutline};\n ${addFont};\n ${addError};\n ${addSXTypography};\n ${addSX};\n`;\n\n/****************************************** Styled *************************************************/\nexport const StyledIcon = styled(Icon)<StyledIconProps>`\n ${(props) =>\n props.$checked\n ? css`\n & #check {\n color: inherit;\n }\n & #uncheck {\n color: transparent;\n }\n `\n : css`\n & #check {\n color: transparent;\n }\n & #uncheck {\n color: inherit;\n }\n `}\n`;\n"],"names":["_a","jsxs","Fragment","jsx"],"mappings":"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"}
@@ -1,4 +1,4 @@
1
- "use strict";const e=require("./jsx-runtime-BcGej2Kr.cjs"),i=require("./component.styles-BpvpyZax.cjs"),l=require("./theme.global-CcoD5bPP.cjs"),o=require("react"),s=require("styled-components"),n=require("./style-Df37KnoJ.cjs"),t=require("./style-fRZ6xrVp.cjs"),r=s.css`
1
+ "use strict";const e=require("./jsx-runtime-BcGej2Kr.cjs"),i=require("./component.styles-Bb7_KygZ.cjs"),l=require("./theme.global-CcoD5bPP.cjs"),o=require("react"),s=require("styled-components"),n=require("./style-Df37KnoJ.cjs"),t=require("./style-fRZ6xrVp.cjs"),r=s.css`
2
2
  ${e=>d(l.KEY_SIZE_DATA[e.$size])};
3
3
  `,d=e=>s.css`
4
4
  gap: ${e.padding-2}px;
@@ -18,4 +18,4 @@
18
18
  `,x=s.div`
19
19
  user-select: none;
20
20
  `;exports.CheckboxChildren=x,exports.CheckboxGroup=n=>{var t,r,d,h;const p=o.useCallback(e=>{const i=n.value.some(i=>i[n.valueField]===e[n.valueField])?n.value.filter(i=>i[n.valueField]!==e[n.valueField]):n.multiple?[...n.value,e]:[e];n.onChange&&n.onChange(i)},[n]),v=s.useTheme();return e.jsxRuntimeExports.jsx(c,{className:n.className,$sx:n.sx,$size:n.size,$font:{size:(null==(t=n.font)?void 0:t.size)??l.KEY_SIZE_DATA[n.size].font,weight:(null==(r=n.font)?void 0:r.weight)??700,family:(null==(d=n.font)?void 0:d.family)??v.font.family,height:null==(h=n.font)?void 0:h.height},children:n.options.map((o,s)=>{var t,r,d,c;const h=n.value.some(e=>e[n.valueField]===o[n.valueField]);return e.jsxRuntimeExports.jsxs(u,{onClick:()=>!n.isClickOnlyIcon&&p(o),children:[e.jsxRuntimeExports.jsx(i.Checkbox,{genre:n.checkboxGenre,isHiddenBorder:n.checkboxIsHiddenBorder,view:n.checkBoxView,sx:n.checkboxSX,size:n.size,checked:h,font:{size:(null==(t=n.font)?void 0:t.size)??l.KEY_SIZE_DATA[n.size].font,weight:(null==(r=n.font)?void 0:r.weight)??700,family:(null==(d=n.font)?void 0:d.family)??v.font.family,height:null==(c=n.font)?void 0:c.height},children:n.labelField&&void 0!==(null==o?void 0:o[n.labelField])&&e.jsxRuntimeExports.jsx(a,{dangerouslySetInnerHTML:(m=o[n.labelField],{__html:m})})}),n.childrenField&&void 0!==(null==o?void 0:o[n.childrenField])&&e.jsxRuntimeExports.jsx(x,{children:o[n.childrenField]})]},s);var m})})},exports.CheckboxGroupItem=u,exports.CheckboxGroupLabel=a,exports.CheckboxGroupSize=r,exports.CheckboxGroupSizeConstructor=d,exports.CheckboxGroupWrapper=c;
21
- //# sourceMappingURL=component.styles-DWGUgUoF.cjs.map
21
+ //# sourceMappingURL=component.styles-DbWj2stq.cjs.map
@@ -1 +1 @@
1
- {"version":3,"file":"component.styles-DWGUgUoF.cjs","sources":["../src/components/checkbox-group/component.styles.ts","../src/components/checkbox-group/component.tsx"],"sourcesContent":["import { addFont } from '@local/styles/add';\nimport { addSX } from '@local/styles/sx';\nimport { IThemeSizePropertyDefault, KEY_SIZE_DATA } from '@local/theme';\n\nimport styled, { css } from 'styled-components';\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`;\n\n/****************************************** Default *************************************************/\nexport const CheckboxGroupWrapper = styled.div<CheckboxGroupWrapperProps>`\n display: flex;\n flex-direction: column;\n align-items: stretch;\n ${CheckboxGroupSize};\n ${addFont};\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","import { Checkbox } from '@local/components/checkbox';\nimport { KEY_SIZE_DATA } from '@local/theme';\n\nimport { ReactNode, useCallback } from 'react';\nimport { useTheme } from 'styled-components';\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\n const theme = useTheme();\n return (\n <CheckboxGroupWrapper\n className={props.className}\n $sx={props.sx}\n $size={props.size}\n $font={{\n size: props.font?.size ?? KEY_SIZE_DATA[props.size].font,\n weight: props.font?.weight ?? 700,\n family: props.font?.family ?? theme.font.family,\n height: props.font?.height,\n }}\n >\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 font={{\n size: props.font?.size ?? KEY_SIZE_DATA[props.size].font,\n weight: props.font?.weight ?? 700,\n family: props.font?.family ?? theme.font.family,\n height: props.font?.height,\n }}\n >\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"],"names":["CheckboxGroupSize","css","props","CheckboxGroupSizeConstructor","KEY_SIZE_DATA","$size","padding","CheckboxGroupWrapper","styled","div","addFont","addSX","CheckboxGroupItem","CheckboxGroupLabel","CheckboxChildren","handleCheckboxChange","useCallback","item","updatedSelectedItems","value","some","selectedItem","valueField","filter","multiple","onChange","theme","useTheme","jsx","className","$sx","sx","size","$font","_a","font","weight","_b","family","_c","height","_d","children","options","map","e","index","isChecked","jsxs","onClick","isClickOnlyIcon","Checkbox","genre","checkboxGenre","isHiddenBorder","checkboxIsHiddenBorder","view","checkBoxView","checkboxSX","checked","labelField","dangerouslySetInnerHTML","html","__html","childrenField"],"mappings":"uQASaA,EAAoBC,EAAAA,GAAAA;IAC5BC,GAAUC,EAA6BC,EAAAA,cAAcF,EAAMG;EAEnDF,EAAgCD,GAAqCD,EAAAA,GAAAA;SACzEC,EAAMI,QAAU;EAIZC,EAAuBC,EAAOC,GAAA;;;;IAIvCT;IACAU;IACAC;EAGSC,EAAoBJ,EAAOC,GAAA;;;;EAM3BI,EAAqBL,EAAOC,GAAA;;EAI5BK,EAAmBN,EAAOC,GAAA;;mDCrBiBP,gBACtD,MAEMa,EAAuBC,EAAAA,YAC1BC,IACC,MAEMC,EAFahB,EAAMiB,MAAMC,KAAMC,GAAiBA,EAAanB,EAAMoB,cAAgBL,EAAKf,EAAMoB,aAGhGpB,EAAMiB,MAAMI,OAAQF,GAAiBA,EAAanB,EAAMoB,cAAgBL,EAAKf,EAAMoB,aACnFpB,EAAMsB,SACJ,IAAItB,EAAMiB,MAAOF,GACjB,CAACA,GACHf,EAAMuB,UAAUvB,EAAMuB,SAASP,IAErC,CAAChB,IAGGwB,EAAQC,EAAAA,WACd,SACEC,kBAAAA,IAACrB,EAAA,CACCsB,UAAW3B,EAAM2B,UACjBC,IAAK5B,EAAM6B,GACX1B,MAAOH,EAAM8B,KACbC,MAAO,CACLD,MAAM,OAAAE,IAAMC,WAAN,EAAAD,EAAYF,OAAQ5B,EAAAA,cAAcF,EAAM8B,MAAMG,KACpDC,QAAQ,OAAAC,EAAAnC,EAAMiC,WAAN,EAAAE,EAAYD,SAAU,IAC9BE,QAAQ,OAAAC,EAAArC,EAAMiC,WAAN,EAAAI,EAAYD,SAAUZ,EAAMS,KAAKG,OACzCE,OAAQ,OAAAC,EAAAvC,EAAMiC,WAAN,EAAAM,EAAYD,QAGrBE,SAAAxC,EAAMyC,QAAQC,IAAI,CAACC,EAAGC,iBACrB,MAAMC,EAAY7C,EAAMiB,MAAMC,KAAMC,GAAiBA,EAAanB,EAAMoB,cAAgBuB,EAAE3C,EAAMoB,aAChG,OACE0B,yBAACpC,GAA8BqC,QAAS,KAAO/C,EAAMgD,iBAAmBnC,EAAqB8B,GAC3FH,SAAA,GAAAd,kBAAAA,IAACuB,EAAAA,SAAA,CACCC,MAAOlD,EAAMmD,cACbC,eAAgBpD,EAAMqD,uBACtBC,KAAMtD,EAAMuD,aACZ1B,GAAI7B,EAAMwD,WACV1B,KAAM9B,EAAM8B,KACZ2B,QAASZ,EACTZ,KAAM,CACJH,MAAM,OAAAE,EAAAhC,EAAMiC,WAAN,EAAAD,EAAYF,OAAQ5B,EAAAA,cAAcF,EAAM8B,MAAMG,KACpDC,QAAQ,OAAAC,EAAAnC,EAAMiC,WAAN,EAAAE,EAAYD,SAAU,IAC9BE,QAAQ,OAAAC,EAAArC,EAAMiC,aAANI,EAAYD,SAAUZ,EAAMS,KAAKG,OACzCE,OAAQ,OAAAC,EAAAvC,EAAMiC,aAANM,EAAYD,QAGrBE,SAAAxC,EAAM0D,iBAAwC,WAA1Bf,WAAI3C,EAAM0D,cAC7BhC,EAAAA,kBAAAA,IAACf,EAAA,CAAmBgD,yBAhDZC,EAgDkDjB,EAAE3C,EAAM0D,YAhD1D,CAAoBG,OAAQD,QAmDvC5D,EAAM8D,oBAA8C,KAA7B,MAAAnB,OAAA,EAAAA,EAAI3C,EAAM8D,iBAChCpC,wBAACd,EAAA,CAAkB4B,SAAAG,EAAE3C,EAAM8D,mBApBPlB,GAhCX,IAACgB"}
1
+ {"version":3,"file":"component.styles-DbWj2stq.cjs","sources":["../src/components/checkbox-group/component.styles.ts","../src/components/checkbox-group/component.tsx"],"sourcesContent":["import { addFont } from '@local/styles/add';\nimport { addSX } from '@local/styles/sx';\nimport { IThemeSizePropertyDefault, KEY_SIZE_DATA } from '@local/theme';\n\nimport styled, { css } from 'styled-components';\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`;\n\n/****************************************** Default *************************************************/\nexport const CheckboxGroupWrapper = styled.div<CheckboxGroupWrapperProps>`\n display: flex;\n flex-direction: column;\n align-items: stretch;\n ${CheckboxGroupSize};\n ${addFont};\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","import { Checkbox } from '@local/components/checkbox';\nimport { KEY_SIZE_DATA } from '@local/theme';\n\nimport { ReactNode, useCallback } from 'react';\nimport { useTheme } from 'styled-components';\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\n const theme = useTheme();\n return (\n <CheckboxGroupWrapper\n className={props.className}\n $sx={props.sx}\n $size={props.size}\n $font={{\n size: props.font?.size ?? KEY_SIZE_DATA[props.size].font,\n weight: props.font?.weight ?? 700,\n family: props.font?.family ?? theme.font.family,\n height: props.font?.height,\n }}\n >\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 font={{\n size: props.font?.size ?? KEY_SIZE_DATA[props.size].font,\n weight: props.font?.weight ?? 700,\n family: props.font?.family ?? theme.font.family,\n height: props.font?.height,\n }}\n >\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"],"names":["CheckboxGroupSize","css","props","CheckboxGroupSizeConstructor","KEY_SIZE_DATA","$size","padding","CheckboxGroupWrapper","styled","div","addFont","addSX","CheckboxGroupItem","CheckboxGroupLabel","CheckboxChildren","handleCheckboxChange","useCallback","item","updatedSelectedItems","value","some","selectedItem","valueField","filter","multiple","onChange","theme","useTheme","jsx","className","$sx","sx","size","$font","_a","font","weight","_b","family","_c","height","_d","children","options","map","e","index","isChecked","jsxs","onClick","isClickOnlyIcon","Checkbox","genre","checkboxGenre","isHiddenBorder","checkboxIsHiddenBorder","view","checkBoxView","checkboxSX","checked","labelField","dangerouslySetInnerHTML","html","__html","childrenField"],"mappings":"uQASaA,EAAoBC,EAAAA,GAAAA;IAC5BC,GAAUC,EAA6BC,EAAAA,cAAcF,EAAMG;EAEnDF,EAAgCD,GAAqCD,EAAAA,GAAAA;SACzEC,EAAMI,QAAU;EAIZC,EAAuBC,EAAOC,GAAA;;;;IAIvCT;IACAU;IACAC;EAGSC,EAAoBJ,EAAOC,GAAA;;;;EAM3BI,EAAqBL,EAAOC,GAAA;;EAI5BK,EAAmBN,EAAOC,GAAA;;mDCrBiBP,gBACtD,MAEMa,EAAuBC,EAAAA,YAC1BC,IACC,MAEMC,EAFahB,EAAMiB,MAAMC,KAAMC,GAAiBA,EAAanB,EAAMoB,cAAgBL,EAAKf,EAAMoB,aAGhGpB,EAAMiB,MAAMI,OAAQF,GAAiBA,EAAanB,EAAMoB,cAAgBL,EAAKf,EAAMoB,aACnFpB,EAAMsB,SACJ,IAAItB,EAAMiB,MAAOF,GACjB,CAACA,GACHf,EAAMuB,UAAUvB,EAAMuB,SAASP,IAErC,CAAChB,IAGGwB,EAAQC,EAAAA,WACd,SACEC,kBAAAA,IAACrB,EAAA,CACCsB,UAAW3B,EAAM2B,UACjBC,IAAK5B,EAAM6B,GACX1B,MAAOH,EAAM8B,KACbC,MAAO,CACLD,MAAM,OAAAE,IAAMC,WAAN,EAAAD,EAAYF,OAAQ5B,EAAAA,cAAcF,EAAM8B,MAAMG,KACpDC,QAAQ,OAAAC,EAAAnC,EAAMiC,WAAN,EAAAE,EAAYD,SAAU,IAC9BE,QAAQ,OAAAC,EAAArC,EAAMiC,WAAN,EAAAI,EAAYD,SAAUZ,EAAMS,KAAKG,OACzCE,OAAQ,OAAAC,EAAAvC,EAAMiC,WAAN,EAAAM,EAAYD,QAGrBE,SAAAxC,EAAMyC,QAAQC,IAAI,CAACC,EAAGC,iBACrB,MAAMC,EAAY7C,EAAMiB,MAAMC,KAAMC,GAAiBA,EAAanB,EAAMoB,cAAgBuB,EAAE3C,EAAMoB,aAChG,OACE0B,yBAACpC,GAA8BqC,QAAS,KAAO/C,EAAMgD,iBAAmBnC,EAAqB8B,GAC3FH,SAAA,GAAAd,kBAAAA,IAACuB,EAAAA,SAAA,CACCC,MAAOlD,EAAMmD,cACbC,eAAgBpD,EAAMqD,uBACtBC,KAAMtD,EAAMuD,aACZ1B,GAAI7B,EAAMwD,WACV1B,KAAM9B,EAAM8B,KACZ2B,QAASZ,EACTZ,KAAM,CACJH,MAAM,OAAAE,EAAAhC,EAAMiC,WAAN,EAAAD,EAAYF,OAAQ5B,EAAAA,cAAcF,EAAM8B,MAAMG,KACpDC,QAAQ,OAAAC,EAAAnC,EAAMiC,WAAN,EAAAE,EAAYD,SAAU,IAC9BE,QAAQ,OAAAC,EAAArC,EAAMiC,aAANI,EAAYD,SAAUZ,EAAMS,KAAKG,OACzCE,OAAQ,OAAAC,EAAAvC,EAAMiC,aAANM,EAAYD,QAGrBE,SAAAxC,EAAM0D,iBAAwC,WAA1Bf,WAAI3C,EAAM0D,cAC7BhC,EAAAA,kBAAAA,IAACf,EAAA,CAAmBgD,yBAhDZC,EAgDkDjB,EAAE3C,EAAM0D,YAhD1D,CAAoBG,OAAQD,QAmDvC5D,EAAM8D,oBAA8C,KAA7B,MAAAnB,OAAA,EAAAA,EAAI3C,EAAM8D,iBAChCpC,wBAACd,EAAA,CAAkB4B,SAAAG,EAAE3C,EAAM8D,mBApBPlB,GAhCX,IAACgB"}
@@ -1 +1 @@
1
- {"version":3,"file":"component.styles-Dpg-__rn.cjs","sources":["../src/components/ripple/component.constants.tsx","../src/components/ripple/component.styles.tsx"],"sourcesContent":["export const DEFAULT_RIPPLE_DURATION = 600\nexport const DEFAULT_RIPPLE_ID = 'JENESEI_RIPPLE'\n","import styled, { css } from 'styled-components'\n\nimport { DEFAULT_RIPPLE_ID, RippleContainerProps } from '.'\n\nexport const RippleContainer = styled.div<RippleContainerProps>`\n position: absolute;\n top: 0;\n right: 0;\n bottom: 0;\n left: 0;\n`\n\nexport const RippleSpan = styled.span<RippleContainerProps>`\n transform: scale(0);\n border-radius: 100%;\n position: absolute;\n opacity: 0.75;\n background-color: ${props => props.$color};\n animation-name: ripple;\n animation-duration: ${props => props.$duration}ms;\n\n @keyframes ripple {\n to {\n opacity: 0;\n transform: scale(2);\n }\n }\n`\n\nexport const addRipple = css<{ $isRipple?: boolean }>`\n ${props =>\n props.$isRipple &&\n css`\n position: relative;\n overflow: hidden;\n isolation: isolate;\n\n & *:not(#${DEFAULT_RIPPLE_ID}) {\n user-select: none;\n pointer-events: none;\n }\n `}\n`\nexport const addRippleDefault = css`\n position: relative;\n overflow: hidden;\n isolation: isolate;\n\n & *:not(#${DEFAULT_RIPPLE_ID}) {\n user-select: none;\n pointer-events: none;\n }\n`\n"],"names":["DEFAULT_RIPPLE_ID","RippleContainer","styled","div","RippleSpan","span","props","$color","$duration","addRipple","css","$isRipple","addRippleDefault"],"mappings":"yGAAO,MACMA,EAAoB,iBCGpBC,EAAkBC,EAAOC,GAAA;;;;;;EAQzBC,EAAaF,EAAOG,IAAA;;;;;sBAKXC,GAASA,EAAMC;;wBAEbD,GAASA,EAAME;;;;;;;;EAU1BC,EAAYC,EAAAA,GAAAA;IACrBJ,GACAA,EAAMK,WACND,EAAAA,GAAAA;;;;;iBAKaV;;;;;EAMJY,EAAmBF,EAAAA,GAAAA;;;;;aAKnBV;;;;kCDhD0B"}
1
+ {"version":3,"file":"component.styles-Dpg-__rn.cjs","sources":["../src/components/ripple/component.constants.tsx","../src/components/ripple/component.styles.tsx"],"sourcesContent":["export const DEFAULT_RIPPLE_DURATION = 600;\nexport const DEFAULT_RIPPLE_ID = 'JENESEI_RIPPLE';\n","import styled, { css } from 'styled-components';\n\nimport { DEFAULT_RIPPLE_ID, RippleContainerProps } from '.';\n\nexport const RippleContainer = styled.div<RippleContainerProps>`\n position: absolute;\n top: 0;\n right: 0;\n bottom: 0;\n left: 0;\n`;\n\nexport const RippleSpan = styled.span<RippleContainerProps>`\n transform: scale(0);\n border-radius: 100%;\n position: absolute;\n opacity: 0.75;\n background-color: ${(props) => props.$color};\n animation-name: ripple;\n animation-duration: ${(props) => props.$duration}ms;\n\n @keyframes ripple {\n to {\n opacity: 0;\n transform: scale(2);\n }\n }\n`;\n\nexport const addRipple = css<{ $isRipple?: boolean }>`\n ${(props) =>\n props.$isRipple &&\n css`\n position: relative;\n overflow: hidden;\n isolation: isolate;\n\n & *:not(#${DEFAULT_RIPPLE_ID}) {\n user-select: none;\n pointer-events: none;\n }\n `}\n`;\nexport const addRippleDefault = css`\n position: relative;\n overflow: hidden;\n isolation: isolate;\n\n & *:not(#${DEFAULT_RIPPLE_ID}) {\n user-select: none;\n pointer-events: none;\n }\n`;\n"],"names":["DEFAULT_RIPPLE_ID","RippleContainer","styled","div","RippleSpan","span","props","$color","$duration","addRipple","css","$isRipple","addRippleDefault"],"mappings":"yGAAO,MACMA,EAAoB,iBCGpBC,EAAkBC,EAAOC,GAAA;;;;;;EAQzBC,EAAaF,EAAOG,IAAA;;;;;sBAKVC,GAAUA,EAAMC;;wBAEdD,GAAUA,EAAME;;;;;;;;EAU5BC,EAAYC,EAAAA,GAAAA;IACpBJ,GACDA,EAAMK,WACND,EAAAA,GAAAA;;;;;iBAKaV;;;;;EAMJY,EAAmBF,EAAAA,GAAAA;;;;;aAKnBV;;;;kCDhD0B"}
@@ -1,12 +1,12 @@
1
1
  import { j as jsxRuntimeExports } from "./jsx-runtime-BrDlu8eK.js";
2
2
  import { ImageSupportedFormatsForInput } from "./consts.es.js";
3
- import { u as useImageCrop } from "./use-DLVWi2kS.js";
4
- import { c as Button } from "./component-DJYgewYg.js";
5
- import { I as Image } from "./component.styles-CPWNnqqm.js";
6
- import { b as Stack } from "./component-jPZYT5iL.js";
3
+ import { u as useImageCrop } from "./use-_V1SKE0-.js";
4
+ import { c as Button } from "./component-CN6att4f.js";
5
+ import { I as Image } from "./component.styles-BEaqQuF_.js";
6
+ import { b as Stack } from "./component-mzzOCXSx.js";
7
7
  import styled, { useTheme, css } from "styled-components";
8
- import { i as Typography } from "./component-DKMsOpqH.js";
9
- import { a as useDialog } from "./context.constants-CvkvB0XC.js";
8
+ import { i as Typography } from "./component-GtWqnaqk.js";
9
+ import { a as useDialog } from "./context.constants-BCpaUfFz.js";
10
10
  import { K as KEY_SIZE_DATA } from "./theme.global-BgERDJ4e.js";
11
11
  import { useMemo, useCallback, useState, useRef, useEffect } from "react";
12
12
  import { b as ErrorMessage, a as addError } from "./style-uVTmdhsH.js";
@@ -482,4 +482,4 @@ export {
482
482
  ImageSelectWrapper as e,
483
483
  ImageSelectListWrapper as f
484
484
  };
485
- //# sourceMappingURL=component.styles-DOnQEUrI.js.map
485
+ //# sourceMappingURL=component.styles-DwtZ7CY4.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"component.styles-DwtZ7CY4.js","sources":["../src/hooks/use-image-view/use.tsx","../src/components/image-select/component.tsx","../src/components/image-select/component.styles.ts"],"sourcesContent":["import { Button } from '@local/components/button';\nimport { Image } from '@local/components/image';\nimport { SliderImageProps } from '@local/components/image-slider';\nimport { Stack } from '@local/components/stack';\nimport { Typography } from '@local/components/typography';\nimport { useDialog } from '@local/contexts/context-dialog';\nimport { KEY_SIZE_DATA } from '@local/theme';\n\nimport { useCallback, useMemo } from 'react';\n\nimport { useImageViewProps } from '.';\n\nexport const useImageView = (props: useImageViewProps) => {\n const size = useMemo(() => KEY_SIZE_DATA[props.size], [props.size]);\n const br = useMemo(() => `${size.radius}px`, [size.radius]);\n\n const { add } = useDialog<{\n br?: string;\n }>({\n br: br,\n propsDialog: {\n borderRadius: br,\n padding: '0',\n background: 'whiteStandard',\n },\n });\n const handleAdd = useCallback(\n (image: SliderImageProps) => {\n add({\n content: (params, remove) => (\n <Stack\n sx={{\n default: {\n position: 'relative',\n overflow: 'hidden',\n aspectRatio: `${props.imageSettings.aspect * 2} / 2`,\n width: 'auto',\n maxWidth: '70dvw',\n height: '85dvh',\n borderRadius: params?.br,\n },\n tablet: {\n maxWidth: '95dvw',\n },\n }}\n >\n <Image\n sxStack={(theme) => ({\n default: {\n width: '100%',\n height: '100%',\n alignItems: 'center',\n justifyContent: 'center',\n backgroundColor: theme.palette.black10,\n position: 'absolute',\n pointerEvents: 'none',\n },\n })}\n isShowBeforeImage\n sxImage={{\n default: {\n objectFit: 'contain',\n },\n }}\n alt={image?.imageSrc}\n src={image?.imageSrc}\n componentFallback={\n <Typography\n sx={{\n default: {\n variant: 'h6',\n },\n }}\n >\n {props.locale.imageFallback}\n </Typography>\n }\n />\n <Button\n sx={{\n default: {\n position: 'absolute',\n bottom: 15,\n right: 15,\n },\n }}\n genre='realebail-white'\n size='small'\n icons={[\n {\n type: 'id',\n name: 'Arrow4',\n },\n ]}\n isWidthAsHeight\n isHiddenBorder\n isRadius\n onClick={() => remove?.()}\n />\n </Stack>\n ),\n });\n },\n [add, props.imageSettings.aspect, props.locale.imageFallback],\n );\n return { handleAdd };\n};\n","import { ImageSupportedFormatsForInput } from '@local/consts';\nimport { useImageCrop } from '@local/hooks/use-image-crop';\nimport { useImageView } from '@local/hooks/use-image-view';\nimport { ErrorMessage } from '@local/styles/error';\nimport { KEY_SIZE_DATA } from '@local/theme';\n\nimport { motion } from 'framer-motion';\nimport { DragEvent, useCallback, useEffect, useMemo, useRef, useState } from 'react';\nimport { useTheme } from 'styled-components';\n\nimport { Button } from '../button';\nimport { Image } from '../image';\nimport { Stack } from '../stack';\nimport { Typography } from '../typography';\nimport { ImageSelectItemProps, ImageSelectListWrapper, ImageSelectProps, ImageSelectWrapper } from '.';\n\nexport const ImageSelect = (props: ImageSelectProps) => {\n const { onChange } = props;\n\n const size = useMemo(() => KEY_SIZE_DATA[props.size], [props.size]);\n\n const [images, setImages] = useState<ImageSelectItemProps[]>(props.images || []);\n\n const [isDraggingOver, setIsDraggingOver] = useState(false);\n\n const refInput = useRef<HTMLInputElement | null>(null);\n\n const theme = useTheme();\n\n const handleDrop = (e: DragEvent<HTMLDivElement>) => {\n e.preventDefault();\n if (e.dataTransfer.files?.length) {\n handleAddFilesCrop(e.dataTransfer.files);\n }\n };\n\n const handleDelete = (id: number) => {\n setImages((prev) => {\n const finalImages = prev.filter((img) => img.id !== id);\n onChange?.(finalImages);\n return finalImages;\n });\n };\n\n const handleOnSave = useCallback(\n (files: ImageSelectItemProps[] | null) => {\n if (files) {\n setImages((prev) => {\n const newImages = files.map((file, idx) => ({\n ...file,\n index: prev.length + idx,\n }));\n const finalImages = [...prev, ...newImages];\n onChange?.(finalImages);\n return finalImages;\n });\n }\n },\n [onChange],\n );\n\n const openFileDialog = () => {\n refInput.current?.click();\n };\n\n const resetImages = () => {\n setImages(props.defaultImages || []);\n onChange?.(props.defaultImages || []);\n };\n\n const { handleAddFiles: handleAddFilesCrop } = useImageCrop({\n onSave: handleOnSave,\n locale: props.locale,\n dialog: {\n button: {\n genre: props.propsButton.default.genre,\n size: props.propsButton.default.size,\n },\n buttonDelete: {\n genre: props.propsButton.delete.genre,\n size: props.propsButton.delete.size,\n },\n },\n imageSettings: {\n maxSize: props.imageSettings.maxSize,\n maxCount: props.imageSettings.maxCount - images.length,\n aspect: props.imageSettings.aspect,\n },\n refInput: refInput,\n });\n\n const { handleAdd } = useImageView({\n size: props.size,\n locale: props.locale,\n imageSettings: props.imageSettings,\n genre: props.genre,\n });\n\n useEffect(() => {\n setImages(props.images || []);\n }, [props.images]);\n\n return (\n <>\n <ImageSelectWrapper $genre={props.genre} $size={props.size} id={props.id} $sx={props.sx} $error={props.error}>\n <ImageSelectListWrapper\n onDrop={(e) => {\n handleDrop(e);\n setIsDraggingOver(false);\n }}\n onDragOver={(e) => e.preventDefault()}\n onDragEnter={() => setIsDraggingOver(true)}\n onDragLeave={() => setIsDraggingOver(false)}\n animate={{\n borderColor: isDraggingOver\n ? theme.colors.imageSelect[props.genre].border.hover\n : theme.colors.imageSelect[props.genre].border.rest,\n }}\n transition={{ duration: 0.3 }}\n $genre={props.genre}\n $size={props.size}\n >\n <motion.div\n transition={{\n layout: {\n duration: 0.3,\n ease: 'easeInOut',\n type: 'spring',\n },\n }}\n layout\n style={{ display: 'flex', flexWrap: 'wrap', gap: `${size.padding - 2}px` }}\n >\n {images.map(\n (img) =>\n img.url && (\n <motion.div\n key={img.id}\n style={{\n position: 'relative',\n width: `${props.imageSettings.width}px`,\n height: `${props.imageSettings.height}px`,\n userSelect: 'none',\n overflow: 'hidden',\n borderRadius: `${size.radius}px`,\n flexGrow: 1,\n }}\n layout\n transition={{\n layout: {\n duration: 0.3,\n ease: 'easeInOut',\n type: 'spring',\n },\n }}\n >\n <Image\n sxStack={(theme) => ({\n default: {\n width: '100%',\n height: '100%',\n alignItems: 'center',\n justifyContent: 'center',\n backgroundColor: theme.palette.black10,\n position: 'absolute',\n pointerEvents: 'none',\n },\n })}\n isShowBeforeImage={props.isContain}\n sxImage={{\n default: {\n objectFit: props.isContain ? 'contain' : 'cover',\n },\n }}\n alt={img.name || 'image'}\n src={img.url}\n componentFallback={\n <Typography\n sx={{\n default: {\n variant: 'h6',\n },\n }}\n >\n {props.locale.imageFallback}\n </Typography>\n }\n />\n <Button\n sx={{\n default: {\n position: 'absolute',\n top: 5,\n right: 5,\n },\n }}\n genre={props.genre}\n size='small'\n icons={[\n {\n type: 'id',\n name: 'Close',\n },\n ]}\n isWidthAsHeight\n isHiddenBorder\n isRadius\n onClick={() => handleDelete(img.id)}\n />\n <Button\n sx={{\n default: {\n position: 'absolute',\n bottom: 5,\n right: 5,\n },\n }}\n genre={props.genre}\n size='small'\n icons={[\n {\n type: 'id',\n name: 'Activity',\n },\n ]}\n isWidthAsHeight\n isHiddenBorder\n isRadius\n onClick={() => img.url && handleAdd({ id: img.id, imageSrc: img.url })}\n />\n </motion.div>\n ),\n )}\n {images.length === 0 ? (\n <div\n onClick={openFileDialog}\n key='empty'\n style={{\n position: 'relative',\n width: `${props.imageSettings.width}px`,\n height: `${props.imageSettings.height}px`,\n userSelect: 'none',\n overflow: 'hidden',\n borderRadius: `${size.radius}px`,\n flexGrow: 1,\n display: 'flex',\n alignItems: 'center',\n justifyContent: 'center',\n textAlign: 'center',\n cursor: 'pointer',\n }}\n >\n <Typography\n style={{\n color: theme.colors.imageSelect[props.genre].color.rest,\n }}\n sx={{\n default: {},\n }}\n >\n {props.locale.dragAndDrop}\n </Typography>\n </div>\n ) : null}\n </motion.div>\n\n <input\n ref={refInput}\n type='file'\n accept={ImageSupportedFormatsForInput}\n multiple\n style={{ display: 'none' }}\n onChange={(e) => {\n if (e.target.files) handleAddFilesCrop(e.target.files);\n }}\n />\n </ImageSelectListWrapper>\n <Stack sx={{ default: { flexGrow: 1, gap: `${size.padding - 2}px` } }}>\n <Button\n type='button'\n genre={props.genre}\n size={props.size}\n sx={{\n default: {\n flexGrow: 3,\n },\n }}\n isRadius\n onClick={openFileDialog}\n >\n {props.locale.buttonAdd}\n </Button>\n <Button\n isRadius\n type='button'\n sx={{\n default: {\n flexGrow: 1,\n },\n }}\n onClick={resetImages}\n genre={props.genre}\n size={props.size}\n >\n {props.locale.buttonReset}\n </Button>\n </Stack>\n </ImageSelectWrapper>\n {props?.error ? (\n <ErrorMessage\n {...props.error}\n size={props?.error.size ?? props.size}\n font={{\n size: 12,\n weight: 400,\n family: theme.font.family,\n }}\n />\n ) : null}\n </>\n );\n};\n","import { motion } from 'framer-motion';\nimport styled, { css } from 'styled-components';\n\nimport { addError } from '@local/styles/error';\nimport { addSX } from '@local/styles/sx';\nimport { IThemeSizePropertyDefault, KEY_SIZE_DATA } from '@local/theme';\n\nimport { ImageSelectWrapperProps } from '.';\n\nconst ImageSelectListGenre = css<ImageSelectWrapperProps>`\n ${(props) => css`\n background: ${props.theme.colors.imageSelect[props.$genre].background.rest};\n color: ${props.theme.colors.imageSelect[props.$genre].color.rest};\n &:active {\n background: ${props.theme.colors.imageSelect[props.$genre].background.rest};\n color: ${props.theme.colors.imageSelect[props.$genre].color.rest};\n }\n &:focus-visible {\n background: ${props.theme.colors.imageSelect[props.$genre].background.rest};\n color: ${props.theme.colors.imageSelect[props.$genre].color.rest};\n }\n `};\n`;\n/****************************************** Size *************************************************/\nexport const ImageSelectListSize = css<ImageSelectWrapperProps>`\n ${(props) => ImageSelectListSizeConstructor(KEY_SIZE_DATA[props.$size])};\n`;\nexport const ImageSelectListSizeConstructor = (props: IThemeSizePropertyDefault) => css`\n padding: ${props.padding}px;\n border-radius: ${props.radius}px;\n`;\nexport const ImageSelectSize = css<ImageSelectWrapperProps>`\n ${(props) => ImageSelectSizeConstructor(KEY_SIZE_DATA[props.$size])};\n`;\nexport const ImageSelectSizeConstructor = (props: IThemeSizePropertyDefault) => css`\n gap: ${props.padding - 2}px;\n`;\nexport const ImageSelectWrapper = styled.div<ImageSelectWrapperProps>`\n display: flex;\n flex-direction: column;\n width: 100%;\n ${ImageSelectSize};\n ${addError};\n ${addSX};\n`;\nexport const ImageSelectListWrapper = styled(motion.div)<ImageSelectWrapperProps>`\n border: 2px dashed;\n\n display: flex;\n flex-direction: column;\n width: 100%;\n ${ImageSelectListGenre}\n ${ImageSelectListSize}\n`;\n"],"names":["jsxs","jsx","Fragment","theme"],"mappings":"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"}
@@ -1,4 +1,4 @@
1
- "use strict";const e=require("./jsx-runtime-BcGej2Kr.cjs"),o=require("./consts.cjs.js"),t=require("./style-D3Lbn1EL.cjs"),s=require("./theme.global-CcoD5bPP.cjs"),r=require("./floating-ui.react--v70Xky9.cjs"),i=require("@tanstack/react-virtual"),l=require("moment"),n=require("react"),a=require("styled-components"),c=require("./component-B1bvPlyB.cjs"),u=require("./component.styles-BKnUDWqO.cjs"),d=require("./component-C67KboOB.cjs"),p=require("./style-Df37KnoJ.cjs"),h=require("./style-fRZ6xrVp.cjs"),$=require("framer-motion"),g=require("./component.styles-CsB9986a.cjs"),x=e=>`+${e} more`,m=e=>`Add "${e}" option`,S=o=>{var l;const p=n.useMemo(()=>s.KEY_SIZE_DATA[o.size].height,[o.size]),h=n.useMemo(()=>s.KEY_SIZE_DATA[o.size].padding,[o.size]),$=n.useMemo(()=>s.KEY_SIZE_DATA[o.size].radius,[o.size]),{isOpen:g,close:S,open:b,refReference:w,refFloating:C,floatingStyles:z,toggle:j}=d.usePopover({placement:"bottom-start",offset:h,mode:"independence",isClickOutside:!0,isWidthAsContent:!0,isDisabled:null==o?void 0:o.isDisabled,onBlur:o.onBlur,onFocus:o.onFocus}),D=n.useRef(null),O=n.useRef(null),R=r.useMergeRefs([o.refReference,w]),L=r.useMergeRefs([o.refFloating,C]),T=n.useMemo(()=>o.labelSelectAll??"Select all option",[o.labelSelectAll]),Y=n.useMemo(()=>o.labelPlaceholder??"Select an option",[o.labelPlaceholder]),H=n.useMemo(()=>o.labelEmptyOption??"No options available",[o.labelEmptyOption]),Z=n.useMemo(()=>o.labelAndMore??x,[o.labelAndMore]),N=n.useMemo(()=>o.labelAddOption??m,[o.labelAddOption]),B=n.useMemo(()=>o.maxViewSelect??2,[o.maxViewSelect]),W=n.useMemo(()=>o.maxViewDropdown??5,[o.maxViewDropdown]),F=n.useMemo(()=>o.minViewDropdown??1,[o.minViewDropdown]),q=n.useMemo(()=>o.value.length===o.option.length||o.value.length===o.optionAllLength,[o.option.length,o.optionAllLength,o.value.length]),V=n.useMemo(()=>!!o.option.length,[o.option.length]),P=n.useMemo(()=>!!o.value.length,[o.value.length]),U=n.useMemo(()=>o.valueSearch&&o.isShowAddOption,[o.valueSearch,o.isShowAddOption]),[J,Q]=n.useState(!1),X=n.useMemo(()=>o.isNotShowDisabledOptions?o.option.filter(e=>!e.isDisabled).length:o.option.length,[o.option,o.isNotShowDisabledOptions]),G=n.useMemo(()=>p*(X<W?X:W),[p,X,W,F]),ee=n.useMemo(()=>{const e=o.isShowSelectAll&&V?p:0,t=V?0:p,s=V?G:0,r=U?p:0,i=(0!==e?1:0)+(0!==t?1:0)+(0!==s?1:0)+(0!==r?1:0);return e+t+s+r+(i<=1?0:h/2.8*(i-1))},[o.isShowSelectAll,p,V,h,G,U]),oe=n.useMemo(()=>o.value.length>B,[B,o.value.length]),te=n.useMemo(()=>o.isShowIconSearchClear&&o.valueSearch,[o.isShowIconSearchClear,o.valueSearch]),se=n.useMemo(()=>te||o.isShowIconToggle||o.isShowIconFetching&&o.isFetching,[te,o.isShowIconToggle,o.isShowIconFetching,o.isFetching]),re=n.useMemo(()=>X>W,[W,X]),ie=n.useCallback(e=>q||o.value.some(o=>o.value===e.value),[q,o.value]),le=n.useMemo(()=>U||o.isShowSelectAll&&V||!V,[V,U,o.isShowSelectAll]),ne=i.useVirtualizer({count:X,estimateSize:o.getEstimateSize?o.getEstimateSize:()=>p,getScrollElement:()=>O.current,overscan:1,paddingEnd:0}),ae=n.useCallback(e=>{o.isSearch&&!o.isDisabled?Q(e):Q(!1)},[o.isDisabled,o.isSearch]),ce=n.useCallback(e=>{let t=[];const s=e.value,r=o.value.findIndex(e=>e.value===s),i=-1!==r;t=o.isMulti?i?[...o.value.slice(0,r),...o.value.slice(r+1)]:[...o.value,e]:i&&!o.isStayValueAfterSelect?[...o.value.slice(0,r),...o.value.slice(r+1)]:[e],o.onChange(t),ae(!!o.isStaySearchAfterSelect),o.isOnClickOptionClose&&S()},[S,ae,o]),ue=n.useCallback(()=>{var e;null==(e=o.onChangeAll)||e.call(o,q?[]:o.option,!q),ae(!!o.isStaySearchAfterSelect),o.isOnClickOptionClose&&S()},[S,q,ae,o]),de=n.useCallback(()=>{var e;null==(e=o.onChangeSearch)||e.call(o,"")},[o]),pe=n.useCallback(e=>{if(e){const{scrollHeight:t,scrollTop:s,clientHeight:r}=e;t-s-r<G&&!o.isFetching&&o.fetchNextPage&&o.fetchNextPage()}},[G,o]),he=n.useCallback(e=>{var t,s;null==(t=o.onAddOption)||t.call(o,e),null==(s=o.onChangeSearch)||s.call(o,"")},[o]);n.useEffect(()=>{ae(!1)},[ae,o.isDisabled]),n.useEffect(()=>{P||ae(!0)},[P,ae]),n.useEffect(()=>{!g&&P&&ae(!1)},[P,g,ae]);const $e=a.useTheme(),ge=n.useMemo(()=>{var e,t,s,r;return{size:(null==(e=o.font)?void 0:e.size)??16,weight:(null==(t=o.font)?void 0:t.weight)??(o.isBold?500:400),family:(null==(s=o.font)?void 0:s.family)??$e.font.family,height:null==(r=o.font)?void 0:r.height}},[o.font,$e.font.family,o.isBold]);return e.jsxRuntimeExports.jsxs(e.jsxRuntimeExports.Fragment,{children:[e.jsxRuntimeExports.jsxs(E,{tabIndex:0,$error:null==o?void 0:o.error,$isNotShowHoverStyle:null==o?void 0:o.isNotShowHoverStyle,$size:o.size,$genre:o.genre,$isCenter:o.isCenter,$sx:o.sx,$isOpen:g,ref:R,onClick:()=>{b(),ae(!0)},onFocus:()=>{b()},children:[J&&e.jsxRuntimeExports.jsx(K,{ref:D,genre:o.genre,size:o.size,minRows:1,maxRows:5,isAutoHeight:!0,onChange:e=>{var t;null==(t=null==o?void 0:o.onChangeSearch)||t.call(o,e)},value:o.valueSearch,placeholder:Y}),!P||o.isShowSelectAllLabel&&q?null:e.jsxRuntimeExports.jsx(_,{$size:o.size,tabIndex:-1,$isWrapSelectOption:o.isWrapSelectOption,onMouseDown:e=>{e.preventDefault()},onClick:e=>{e.preventDefault()},children:o.value.map((t,s)=>{if(s>=B)return null;const r=ie(t);return e.jsxRuntimeExports.jsx(f,{isChecked:r,onClick:()=>o.isClearWhenClickSelectListOption&&ce(t),item:t,genre:o.genre,size:o.size,isBold:o.isBold,isOnlyColorInSelectListOption:o.isOnlyColorInSelectListOption,isClearWhenClickSelectListOption:o.isClearWhenClickSelectListOption,isWrapSelectOption:o.isWrapSelectOption,isNotShowHoverStyle:o.isNotShowHoverStyle,isCenter:o.isCenter},`${t.value}-${s}`)})}),P&&o.isShowSelectAllLabel&&q?e.jsxRuntimeExports.jsx(d.Typography,{sxStandard:{default:{padding:`${h/2.8}px 0px ${h/2.8}px ${h/2.8}px`}},sx:{default:{size:16,line:1,isNoUserSelect:!0}},children:T}):null,P||o.isSearch?null:e.jsxRuntimeExports.jsx(d.Typography,{sxStandard:e=>({default:{color:e.colors.input[o.genre].color.placeholder,padding:`${h/2.8}px 0px ${h/2.8}px ${h/2.8}px`}}),sx:{default:{size:16,line:1,isNoUserSelect:!0}},children:Y}),!oe||!P||o.isShowSelectAllLabel&&q?null:e.jsxRuntimeExports.jsx(d.Typography,{sxStandard:{default:{padding:`${h/2.8}px 0px ${h/2.8}px ${h/2.8}px`}},sx:{default:{size:16,line:1,isNoUserSelect:!0}},children:Z(o.value.length-B)}),se?e.jsxRuntimeExports.jsxs(M,{$size:o.size,onMouseDown:e=>{e.preventDefault()},children:[te&&e.jsxRuntimeExports.jsx(c.Button,{genre:o.genre,size:"small",isWidthAsHeight:!0,isFullSize:!0,isRadius:!0,isOnlyIcon:!0,icons:[{name:"Close",type:"id"}],onClick:e=>{e.preventDefault(),e.stopPropagation(),de()}}),o.isShowIconToggle&&e.jsxRuntimeExports.jsx(c.Button,{genre:o.genre,size:"small",isWidthAsHeight:!0,isFullSize:!0,isRadius:!0,isOnlyIcon:!0,icons:[{name:"Select",type:"id"}],onClick:e=>{e.preventDefault(),e.stopPropagation(),j()}}),o.isShowIconFetching&&o.isFetching&&e.jsxRuntimeExports.jsx(c.Button,{tabIndex:-1,genre:o.genre,size:"small",isWidthAsHeight:!0,isFullSize:!0,isRadius:!0,isHiddenBorder:!0,isDisabledRipple:!0,isNotHoverEffect:!0,children:e.jsxRuntimeExports.jsx(u.Icon,{type:"loading",name:"Circle",size:o.size})})]}):null]}),e.jsxRuntimeExports.jsx(d.Popover,{sx:e=>({default:{background:e.colors.input[o.genre].background.rest,borderRadius:`${$}px`,padding:"0px",maxHeight:`${ee}px`}}),isShowAlwaysOutline:!0,size:o.size,genre:o.genre,floatingStyles:z,ref:L,isOpen:g,children:e.jsxRuntimeExports.jsxs(y,{tabIndex:-1,ref:O,$size:o.size,onScroll:e=>pe(e.target),children:[le&&e.jsxRuntimeExports.jsxs(A,{style:{position:"sticky",top:0,zIndex:1},children:[U?e.jsxRuntimeExports.jsx(k,{tabIndex:0,onClick:()=>o.valueSearch&&he(o.valueSearch),onKeyDown:e=>{"Enter"===e.key&&o.valueSearch&&he(o.valueSearch)},$isCenter:o.isCenter,$isNotShowHoverStyle:o.isNotShowHoverStyle,$genre:o.genre,$size:o.size,$font:ge,$isBold:o.isBold,$isChecked:q,style:{position:"relative",minHeight:`${p}px`},children:o.valueSearch&&N(o.valueSearch)}):null,o.isShowSelectAll&&V?e.jsxRuntimeExports.jsxs(k,{tabIndex:0,onClick:()=>ue(),onKeyDown:e=>{"Enter"===e.key&&ue()},$isCenter:o.isCenter,$isNotShowHoverStyle:o.isNotShowHoverStyle,$genre:o.genre,$size:o.size,$font:ge,$isBold:o.isBold,$isChecked:q,$isShowScroll:re,style:{position:"relative",minHeight:`${p}px`},children:[T,o.isShowDropdownOptionIcon&&e.jsxRuntimeExports.jsx(I,{tabIndex:-1,size:o.size,type:"checkbox",name:"Arrow",$genre:o.genre,$checked:q,$size:o.size})]}):null,V?null:e.jsxRuntimeExports.jsx(k,{tabIndex:-1,$isCenter:o.isCenter,$isNotShowHoverStyle:o.isNotShowHoverStyle,$genre:o.genre,$size:o.size,$font:ge,$isBold:o.isBold,$isChecked:q,$isShowScroll:re,style:{position:"relative",minHeight:`${p}px`},children:e.jsxRuntimeExports.jsx(d.Typography,{sx:{default:{size:16,line:1}},children:H})})]}),V?e.jsxRuntimeExports.jsx(A,{tabIndex:-1,style:{height:`${ne.getTotalSize()}px`,minHeight:`${G}px`},children:ne.getVirtualItems().map(t=>{const s=o.option[t.index],r=ie(s);return e.jsxRuntimeExports.jsx(v,{virtualRowSize:t.size,virtualRowStart:t.start,isChecked:r,onClick:()=>ce(s),item:s,genre:o.genre,size:o.size,font:ge,isBold:o.isBold,isNotShowHoverStyle:o.isNotShowHoverStyle,isCenter:o.isCenter,isShowScroll:re,isShowDropdownOptionIcon:o.isShowDropdownOptionIcon},t.index)})}):null]})}),(null==o?void 0:o.error)?e.jsxRuntimeExports.jsx(t.ErrorMessage,{...o.error,size:(null==o?void 0:o.error.size)??o.size,font:{size:12,weight:400,family:(null==(l=o.font)?void 0:l.family)??$e.font.family}}):null]})},v=n.memo(o=>e.jsxRuntimeExports.jsxs(k,{tabIndex:0,onClick:()=>{!o.item.isDisabled&&o.onClick()},onKeyDown:e=>{o.item.isDisabled||"Enter"===e.key&&o.onClick()},style:{position:"absolute",height:`${o.virtualRowSize}px`,transform:`translateY(${o.virtualRowStart}px)`},$isCenter:o.isCenter,$isNotShowHoverStyle:o.isNotShowHoverStyle,$item:o.item,$genre:o.genre,$size:o.size,$font:o.font,$isBold:o.isBold,$isChecked:o.isChecked,$isShowScroll:o.isShowScroll,children:[o.item.label,o.isShowDropdownOptionIcon&&e.jsxRuntimeExports.jsx(I,{tabIndex:-1,size:o.size,type:"checkbox",name:"Arrow",$genre:o.genre,$checked:o.isChecked,$size:o.size})]})),f=n.memo(o=>e.jsxRuntimeExports.jsx(Y,{tabIndex:-1,onClick:o.onClick,$isOnlyColorInSelectListOption:o.isOnlyColorInSelectListOption,$isClearWhenClickSelectListOption:o.isClearWhenClickSelectListOption,$isWrapSelectOption:o.isWrapSelectOption,$isCenter:o.isCenter,$isNotShowHoverStyle:o.isNotShowHoverStyle,$item:o.item,$genre:o.genre,$size:o.size,$isBold:o.isBold,$isChecked:o.isChecked,children:e.jsxRuntimeExports.jsx(d.Typography,{sx:{default:{size:16,line:1}},children:o.item.label})})),b=a.css`
1
+ "use strict";const e=require("./jsx-runtime-BcGej2Kr.cjs"),o=require("./consts.cjs.js"),t=require("./style-D3Lbn1EL.cjs"),s=require("./theme.global-CcoD5bPP.cjs"),r=require("./floating-ui.react--v70Xky9.cjs"),i=require("@tanstack/react-virtual"),l=require("moment"),n=require("react"),a=require("styled-components"),c=require("./component-DnJo66DS.cjs"),u=require("./component.styles-BKnUDWqO.cjs"),d=require("./component-BVnHSTJd.cjs"),p=require("./style-Df37KnoJ.cjs"),h=require("./style-fRZ6xrVp.cjs"),$=require("framer-motion"),g=require("./component.styles-CsB9986a.cjs"),x=e=>`+${e} more`,m=e=>`Add "${e}" option`,S=o=>{var l;const p=n.useMemo(()=>s.KEY_SIZE_DATA[o.size].height,[o.size]),h=n.useMemo(()=>s.KEY_SIZE_DATA[o.size].padding,[o.size]),$=n.useMemo(()=>s.KEY_SIZE_DATA[o.size].radius,[o.size]),{isOpen:g,close:S,open:b,refReference:w,refFloating:C,floatingStyles:z,toggle:j}=d.usePopover({placement:"bottom-start",offset:h,mode:"independence",isClickOutside:!0,isWidthAsContent:!0,isDisabled:null==o?void 0:o.isDisabled,onBlur:o.onBlur,onFocus:o.onFocus}),D=n.useRef(null),O=n.useRef(null),R=r.useMergeRefs([o.refReference,w]),L=r.useMergeRefs([o.refFloating,C]),T=n.useMemo(()=>o.labelSelectAll??"Select all option",[o.labelSelectAll]),Y=n.useMemo(()=>o.labelPlaceholder??"Select an option",[o.labelPlaceholder]),H=n.useMemo(()=>o.labelEmptyOption??"No options available",[o.labelEmptyOption]),Z=n.useMemo(()=>o.labelAndMore??x,[o.labelAndMore]),N=n.useMemo(()=>o.labelAddOption??m,[o.labelAddOption]),B=n.useMemo(()=>o.maxViewSelect??2,[o.maxViewSelect]),W=n.useMemo(()=>o.maxViewDropdown??5,[o.maxViewDropdown]),F=n.useMemo(()=>o.minViewDropdown??1,[o.minViewDropdown]),q=n.useMemo(()=>o.value.length===o.option.length||o.value.length===o.optionAllLength,[o.option.length,o.optionAllLength,o.value.length]),V=n.useMemo(()=>!!o.option.length,[o.option.length]),P=n.useMemo(()=>!!o.value.length,[o.value.length]),U=n.useMemo(()=>o.valueSearch&&o.isShowAddOption,[o.valueSearch,o.isShowAddOption]),[J,Q]=n.useState(!1),X=n.useMemo(()=>o.isNotShowDisabledOptions?o.option.filter(e=>!e.isDisabled).length:o.option.length,[o.option,o.isNotShowDisabledOptions]),G=n.useMemo(()=>p*(X<W?X:W),[p,X,W,F]),ee=n.useMemo(()=>{const e=o.isShowSelectAll&&V?p:0,t=V?0:p,s=V?G:0,r=U?p:0,i=(0!==e?1:0)+(0!==t?1:0)+(0!==s?1:0)+(0!==r?1:0);return e+t+s+r+(i<=1?0:h/2.8*(i-1))},[o.isShowSelectAll,p,V,h,G,U]),oe=n.useMemo(()=>o.value.length>B,[B,o.value.length]),te=n.useMemo(()=>o.isShowIconSearchClear&&o.valueSearch,[o.isShowIconSearchClear,o.valueSearch]),se=n.useMemo(()=>te||o.isShowIconToggle||o.isShowIconFetching&&o.isFetching,[te,o.isShowIconToggle,o.isShowIconFetching,o.isFetching]),re=n.useMemo(()=>X>W,[W,X]),ie=n.useCallback(e=>q||o.value.some(o=>o.value===e.value),[q,o.value]),le=n.useMemo(()=>U||o.isShowSelectAll&&V||!V,[V,U,o.isShowSelectAll]),ne=i.useVirtualizer({count:X,estimateSize:o.getEstimateSize?o.getEstimateSize:()=>p,getScrollElement:()=>O.current,overscan:1,paddingEnd:0}),ae=n.useCallback(e=>{o.isSearch&&!o.isDisabled?Q(e):Q(!1)},[o.isDisabled,o.isSearch]),ce=n.useCallback(e=>{let t=[];const s=e.value,r=o.value.findIndex(e=>e.value===s),i=-1!==r;t=o.isMulti?i?[...o.value.slice(0,r),...o.value.slice(r+1)]:[...o.value,e]:i&&!o.isStayValueAfterSelect?[...o.value.slice(0,r),...o.value.slice(r+1)]:[e],o.onChange(t),ae(!!o.isStaySearchAfterSelect),o.isOnClickOptionClose&&S()},[S,ae,o]),ue=n.useCallback(()=>{var e;null==(e=o.onChangeAll)||e.call(o,q?[]:o.option,!q),ae(!!o.isStaySearchAfterSelect),o.isOnClickOptionClose&&S()},[S,q,ae,o]),de=n.useCallback(()=>{var e;null==(e=o.onChangeSearch)||e.call(o,"")},[o]),pe=n.useCallback(e=>{if(e){const{scrollHeight:t,scrollTop:s,clientHeight:r}=e;t-s-r<G&&!o.isFetching&&o.fetchNextPage&&o.fetchNextPage()}},[G,o]),he=n.useCallback(e=>{var t,s;null==(t=o.onAddOption)||t.call(o,e),null==(s=o.onChangeSearch)||s.call(o,"")},[o]);n.useEffect(()=>{ae(!1)},[ae,o.isDisabled]),n.useEffect(()=>{P||ae(!0)},[P,ae]),n.useEffect(()=>{!g&&P&&ae(!1)},[P,g,ae]);const $e=a.useTheme(),ge=n.useMemo(()=>{var e,t,s,r;return{size:(null==(e=o.font)?void 0:e.size)??16,weight:(null==(t=o.font)?void 0:t.weight)??(o.isBold?500:400),family:(null==(s=o.font)?void 0:s.family)??$e.font.family,height:null==(r=o.font)?void 0:r.height}},[o.font,$e.font.family,o.isBold]);return e.jsxRuntimeExports.jsxs(e.jsxRuntimeExports.Fragment,{children:[e.jsxRuntimeExports.jsxs(E,{tabIndex:0,$error:null==o?void 0:o.error,$isNotShowHoverStyle:null==o?void 0:o.isNotShowHoverStyle,$size:o.size,$genre:o.genre,$isCenter:o.isCenter,$sx:o.sx,$isOpen:g,ref:R,onClick:()=>{b(),ae(!0)},onFocus:()=>{b()},children:[J&&e.jsxRuntimeExports.jsx(K,{ref:D,genre:o.genre,size:o.size,minRows:1,maxRows:5,isAutoHeight:!0,onChange:e=>{var t;null==(t=null==o?void 0:o.onChangeSearch)||t.call(o,e)},value:o.valueSearch,placeholder:Y}),!P||o.isShowSelectAllLabel&&q?null:e.jsxRuntimeExports.jsx(_,{$size:o.size,tabIndex:-1,$isWrapSelectOption:o.isWrapSelectOption,onMouseDown:e=>{e.preventDefault()},onClick:e=>{e.preventDefault()},children:o.value.map((t,s)=>{if(s>=B)return null;const r=ie(t);return e.jsxRuntimeExports.jsx(f,{isChecked:r,onClick:()=>o.isClearWhenClickSelectListOption&&ce(t),item:t,genre:o.genre,size:o.size,isBold:o.isBold,isOnlyColorInSelectListOption:o.isOnlyColorInSelectListOption,isClearWhenClickSelectListOption:o.isClearWhenClickSelectListOption,isWrapSelectOption:o.isWrapSelectOption,isNotShowHoverStyle:o.isNotShowHoverStyle,isCenter:o.isCenter},`${t.value}-${s}`)})}),P&&o.isShowSelectAllLabel&&q?e.jsxRuntimeExports.jsx(d.Typography,{sxStandard:{default:{padding:`${h/2.8}px 0px ${h/2.8}px ${h/2.8}px`}},sx:{default:{size:16,line:1,isNoUserSelect:!0}},children:T}):null,P||o.isSearch?null:e.jsxRuntimeExports.jsx(d.Typography,{sxStandard:e=>({default:{color:e.colors.input[o.genre].color.placeholder,padding:`${h/2.8}px 0px ${h/2.8}px ${h/2.8}px`}}),sx:{default:{size:16,line:1,isNoUserSelect:!0}},children:Y}),!oe||!P||o.isShowSelectAllLabel&&q?null:e.jsxRuntimeExports.jsx(d.Typography,{sxStandard:{default:{padding:`${h/2.8}px 0px ${h/2.8}px ${h/2.8}px`}},sx:{default:{size:16,line:1,isNoUserSelect:!0}},children:Z(o.value.length-B)}),se?e.jsxRuntimeExports.jsxs(M,{$size:o.size,onMouseDown:e=>{e.preventDefault()},children:[te&&e.jsxRuntimeExports.jsx(c.Button,{genre:o.genre,size:"small",isWidthAsHeight:!0,isFullSize:!0,isRadius:!0,isOnlyIcon:!0,icons:[{name:"Close",type:"id"}],onClick:e=>{e.preventDefault(),e.stopPropagation(),de()}}),o.isShowIconToggle&&e.jsxRuntimeExports.jsx(c.Button,{genre:o.genre,size:"small",isWidthAsHeight:!0,isFullSize:!0,isRadius:!0,isOnlyIcon:!0,icons:[{name:"Select",type:"id"}],onClick:e=>{e.preventDefault(),e.stopPropagation(),j()}}),o.isShowIconFetching&&o.isFetching&&e.jsxRuntimeExports.jsx(c.Button,{tabIndex:-1,genre:o.genre,size:"small",isWidthAsHeight:!0,isFullSize:!0,isRadius:!0,isHiddenBorder:!0,isDisabledRipple:!0,isNotHoverEffect:!0,children:e.jsxRuntimeExports.jsx(u.Icon,{type:"loading",name:"Circle",size:o.size})})]}):null]}),e.jsxRuntimeExports.jsx(d.Popover,{sx:e=>({default:{background:e.colors.input[o.genre].background.rest,borderRadius:`${$}px`,padding:"0px",maxHeight:`${ee}px`}}),isShowAlwaysOutline:!0,size:o.size,genre:o.genre,floatingStyles:z,ref:L,isOpen:g,children:e.jsxRuntimeExports.jsxs(y,{tabIndex:-1,ref:O,$size:o.size,onScroll:e=>pe(e.target),children:[le&&e.jsxRuntimeExports.jsxs(A,{style:{position:"sticky",top:0,zIndex:1},children:[U?e.jsxRuntimeExports.jsx(k,{tabIndex:0,onClick:()=>o.valueSearch&&he(o.valueSearch),onKeyDown:e=>{"Enter"===e.key&&o.valueSearch&&he(o.valueSearch)},$isCenter:o.isCenter,$isNotShowHoverStyle:o.isNotShowHoverStyle,$genre:o.genre,$size:o.size,$font:ge,$isBold:o.isBold,$isChecked:q,style:{position:"relative",minHeight:`${p}px`},children:o.valueSearch&&N(o.valueSearch)}):null,o.isShowSelectAll&&V?e.jsxRuntimeExports.jsxs(k,{tabIndex:0,onClick:()=>ue(),onKeyDown:e=>{"Enter"===e.key&&ue()},$isCenter:o.isCenter,$isNotShowHoverStyle:o.isNotShowHoverStyle,$genre:o.genre,$size:o.size,$font:ge,$isBold:o.isBold,$isChecked:q,$isShowScroll:re,style:{position:"relative",minHeight:`${p}px`},children:[T,o.isShowDropdownOptionIcon&&e.jsxRuntimeExports.jsx(I,{tabIndex:-1,size:o.size,type:"checkbox",name:"Arrow",$genre:o.genre,$checked:q,$size:o.size})]}):null,V?null:e.jsxRuntimeExports.jsx(k,{tabIndex:-1,$isCenter:o.isCenter,$isNotShowHoverStyle:o.isNotShowHoverStyle,$genre:o.genre,$size:o.size,$font:ge,$isBold:o.isBold,$isChecked:q,$isShowScroll:re,style:{position:"relative",minHeight:`${p}px`},children:e.jsxRuntimeExports.jsx(d.Typography,{sx:{default:{size:16,line:1}},children:H})})]}),V?e.jsxRuntimeExports.jsx(A,{tabIndex:-1,style:{height:`${ne.getTotalSize()}px`,minHeight:`${G}px`},children:ne.getVirtualItems().map(t=>{const s=o.option[t.index],r=ie(s);return e.jsxRuntimeExports.jsx(v,{virtualRowSize:t.size,virtualRowStart:t.start,isChecked:r,onClick:()=>ce(s),item:s,genre:o.genre,size:o.size,font:ge,isBold:o.isBold,isNotShowHoverStyle:o.isNotShowHoverStyle,isCenter:o.isCenter,isShowScroll:re,isShowDropdownOptionIcon:o.isShowDropdownOptionIcon},t.index)})}):null]})}),(null==o?void 0:o.error)?e.jsxRuntimeExports.jsx(t.ErrorMessage,{...o.error,size:(null==o?void 0:o.error.size)??o.size,font:{size:12,weight:400,family:(null==(l=o.font)?void 0:l.family)??$e.font.family}}):null]})},v=n.memo(o=>e.jsxRuntimeExports.jsxs(k,{tabIndex:0,onClick:()=>{!o.item.isDisabled&&o.onClick()},onKeyDown:e=>{o.item.isDisabled||"Enter"===e.key&&o.onClick()},style:{position:"absolute",height:`${o.virtualRowSize}px`,transform:`translateY(${o.virtualRowStart}px)`},$isCenter:o.isCenter,$isNotShowHoverStyle:o.isNotShowHoverStyle,$item:o.item,$genre:o.genre,$size:o.size,$font:o.font,$isBold:o.isBold,$isChecked:o.isChecked,$isShowScroll:o.isShowScroll,children:[o.item.label,o.isShowDropdownOptionIcon&&e.jsxRuntimeExports.jsx(I,{tabIndex:-1,size:o.size,type:"checkbox",name:"Arrow",$genre:o.genre,$checked:o.isChecked,$size:o.size})]})),f=n.memo(o=>e.jsxRuntimeExports.jsx(Y,{tabIndex:-1,onClick:o.onClick,$isOnlyColorInSelectListOption:o.isOnlyColorInSelectListOption,$isClearWhenClickSelectListOption:o.isClearWhenClickSelectListOption,$isWrapSelectOption:o.isWrapSelectOption,$isCenter:o.isCenter,$isNotShowHoverStyle:o.isNotShowHoverStyle,$item:o.item,$genre:o.genre,$size:o.size,$isBold:o.isBold,$isChecked:o.isChecked,children:e.jsxRuntimeExports.jsx(d.Typography,{sx:{default:{size:16,line:1}},children:o.item.label})})),b=a.css`
2
2
  ${e=>a.css`
3
3
  background: ${e.theme.colors.input[e.$genre].background.rest};
4
4
  border-color: ${e.theme.colors.input[e.$genre].border.rest};
@@ -222,4 +222,4 @@ ${e=>e.$isOnlyColorInSelectListOption?a.css`
222
222
  padding: ${e=>s.KEY_SIZE_DATA[e.size].padding/2.8}px 0px ${e=>s.KEY_SIZE_DATA[e.size].padding/2.8}px ${e=>s.KEY_SIZE_DATA[e.size].padding/2.8}px;
223
223
  ${p.addRemoveOutline};
224
224
  `;exports.ButtonList=M,exports.ContainerDropdownListOption=v,exports.ContainerSelectListOption=f,exports.DropdownList=A,exports.DropdownListOption=k,exports.DropdownListOptionIcon=I,exports.DropdownListParent=y,exports.Select=S,exports.SelectLanguage=t=>{const{value:s,onChange:r}=t,i=o.ListLanguage,[l]=n.useState(i),a=n.useMemo(()=>{const e=i.find(e=>e.value===s);return e?[e]:[]},[i,s]);return e.jsxRuntimeExports.jsx(S,{...t,option:l,value:a,onChange:e=>{0===e.length&&r(null),r(e[0].value.toString())}})},exports.SelectList=_,exports.SelectListOption=Y,exports.SelectMapTheme=t=>{const{value:s,onChange:r}=t,i=n.useMemo(()=>o.MapThemeList.map(e=>({label:e.name,value:e.name,placeholder:e.name})),[]),[l,a]=n.useState(i);n.useEffect(()=>{a(i)},[i]);const c=n.useMemo(()=>{const e=i.find(e=>e.value===s.name);return e?[e]:[]},[s,i]),[u,d]=n.useState(""),p=n.useCallback(e=>{if(d(e),""===e)a(i);else{const o=i.filter(o=>Object.values(o).some(o=>null==o?void 0:o.toString().toLowerCase().includes(e.toLowerCase())));a(o)}},[i]);return e.jsxRuntimeExports.jsx(S,{...t,option:l,value:c,onChange:e=>{0===e.length&&r(null);const t=o.MapThemeList.find(o=>o.name===e[0].value);r(t??null)},valueSearch:u,onChangeSearch:p})},exports.SelectMonth=o=>{const{value:t,onChange:s,dateMin:r,dateMax:i,monthsLocale:a,isShortLabel:c}=o,u=l(t).utc().year(),d=n.useMemo(()=>a.map(e=>{const o=l().month(e.value).month(),t=l.utc().year(u).month(o).startOf("month"),s=r&&t.isBefore(l.utc(r),"month")||i&&t.isAfter(l.utc(i),"month");return{value:t.valueOf(),label:c?e.localeShort:e.localeLong,placeholder:c?e.localeShort:e.localeLong,search:`${e.localeLong.toLowerCase()}, ${o+1}`,isDisabled:!!s,monthValue:e.value}}),[a,u,r,i,c]),p=n.useMemo(()=>{const e=d.find(e=>e.value===t);return e?[e]:[]},[t,d]);return e.jsxRuntimeExports.jsx(S,{...o,option:d,value:p,onChange:e=>{0===e.length&&s(null),s(+e[0].value)}})},exports.SelectMonths=o=>{const{value:t,onChange:s,dateMin:r,dateMax:i,monthsLocale:a,isShortLabel:c}=o,u=l(t).utc().year(),d=n.useMemo(()=>a.map(e=>{const o=l().month(e.value).month(),t=l.utc().year(u).month(o).startOf("month"),s=r&&t.isBefore(l.utc(r),"month")||i&&t.isAfter(l.utc(i),"month");return{value:t.valueOf(),label:c?e.localeShort:e.localeLong,placeholder:c?e.localeShort:e.localeLong,search:`${e.localeLong.toLowerCase()}, ${o+1}`,isDisabled:!!s,monthValue:e.value}}),[a,u,r,i,c]),[p,h]=n.useState(d);n.useEffect(()=>{h(d)},[d]);const $=n.useMemo(()=>t&&0!==t.length?t.map(e=>d.find(o=>o.value===e)).filter(Boolean):[],[t,d]),[g,x]=n.useState(""),m=n.useCallback(e=>{if(x(e),""===e)h(d);else{const o=d.filter(o=>Object.values(o).some(o=>null==o?void 0:o.toString().toLowerCase().includes(e.toLowerCase())));h(o)}},[d]);return e.jsxRuntimeExports.jsx(S,{...o,valueSearch:g,onChangeSearch:m,optionAllLength:d.length,option:p,minViewDropdown:1,isMulti:!0,value:$,onChange:e=>{0===e.length&&s([]),s(e.map(e=>+e.value))},onChangeAll:(e,o)=>{s(o?p.map(e=>+e.value):[])}})},exports.SelectTextArea=K,exports.SelectWrapper=E,exports.SelectYear=o=>{const{value:t,onChange:s,dateMin:r,dateMax:i,sortOrder:a="desc"}=o,c=l(r).utc().year(),u=l(i).utc().year(),d=n.useMemo(()=>{const e=Array.from({length:u-c+1},(e,o)=>{const t=c+o;return{value:l().year(t).utc().startOf("year").valueOf(),label:l().year(t).utc().format("YYYY"),placeholder:l().year(t).utc().format("YYYY"),search:`${l().year(t).utc().format("YYYY").toLowerCase()}`}});return"asc"===a?e.sort((e,o)=>e.value-o.value):e.sort((e,o)=>o.value-e.value)},[u,c,a]),p=n.useMemo(()=>{const e=d.find(e=>e.value===t);return e?[e]:[]},[t,d]);return e.jsxRuntimeExports.jsx(S,{...o,option:d,value:p,onChange:e=>{0===e.length&&s(null),s(+e[0].value)}})};
225
- //# sourceMappingURL=component.styles-mhkAuWyU.cjs.map
225
+ //# sourceMappingURL=component.styles-PNgt36ZD.cjs.map