@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
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "author": "Cyril Strone",
3
3
  "name": "@jenesei-software/jenesei-kit-react",
4
- "version": "1.3.10",
4
+ "version": "1.3.12",
5
5
  "repository": {
6
6
  "type": "git",
7
7
  "url": "git+https://github.com/jenesei-software/jenesei-kit-react.git"
@@ -270,8 +270,9 @@
270
270
  "build:library": "tsc && vite build",
271
271
  "build:main": "tsc && vite build",
272
272
  "storybook": "storybook dev -p 3030",
273
- "eslint": "eslint \"src/**/*.{ts,tsx,js,jsx}\"",
274
- "prettier": "prettier --write \"src/**/*.{ts,tsx}\""
273
+ "biome:lint": "biome lint .",
274
+ "biome:format": "biome format --write src",
275
+ "changelog": "conventional-changelog -p eslint -i CHANGELOG.md -s -r 0"
275
276
  },
276
277
  "devDependencies": {
277
278
  "@fontsource/inter": "^5.1.0",
@@ -1 +0,0 @@
1
- {"version":3,"file":"area-BC64nSGj.js","sources":["../src/areas/scroll/area.styles.tsx","../src/areas/scroll/area.tsx"],"sourcesContent":["import { Stack } from '@local/components/stack'\n\nimport styled, { css } from 'styled-components'\n\nimport { StyledScrollProps } from '.'\n\nexport const StyledScroll = styled(Stack)<StyledScrollProps>`\n overflow-x: hidden;\n overflow-y: hidden;\n\n ${props => css`\n ${props.$horizontal &&\n css`\n scrollbar-gutter: stable;\n overflow-x: auto;\n `}\n\n ${props.$vertical &&\n css`\n scrollbar-gutter: stable;\n overflow-y: auto;\n `}\n\n ${props.$isAlwaysHorizontal &&\n css`\n scrollbar-gutter: stable;\n overflow-x: scroll;\n `}\n\n ${props.$isAlwaysVertical &&\n css`\n scrollbar-gutter: stable;\n overflow-y: scroll;\n `}\n `}\n`\n","import { FC } from 'react'\n\nimport { ScrollProps, StyledScroll } from '.'\n\nexport const Scroll: FC<ScrollProps> = props => {\n return (\n <StyledScroll\n {...props}\n $horizontal={props.horizontal}\n $vertical={props.vertical}\n $isAlwaysHorizontal={props.isAlwaysHorizontal}\n $isAlwaysVertical={props.isAlwaysVertical}\n >\n {props.children}\n </StyledScroll>\n )\n}\n"],"names":["jsx"],"mappings":";;;AAMO,MAAM,eAAe,OAAO,KAAK;AAAA;AAAA;AAAA;AAAA,IAIpC,CAAA,UAAS;AAAA,MACP,MAAM,eACR;AAAA;AAAA;AAAA,KAGC;AAAA;AAAA,MAEC,MAAM,aACR;AAAA;AAAA;AAAA,KAGC;AAAA;AAAA,MAEC,MAAM,uBACR;AAAA;AAAA;AAAA,KAGC;AAAA;AAAA,MAEC,MAAM,qBACR;AAAA;AAAA;AAAA,KAGC;AAAA,GACF;AAAA;AC9BI,MAAM,SAA0B,CAAA,UAAS;AAC9C,SACEA,kCAAAA;AAAAA,IAAC;AAAA,IAAA;AAAA,MACE,GAAG;AAAA,MACJ,aAAa,MAAM;AAAA,MACnB,WAAW,MAAM;AAAA,MACjB,qBAAqB,MAAM;AAAA,MAC3B,mBAAmB,MAAM;AAAA,MAExB,UAAA,MAAM;AAAA,IAAA;AAAA,EAAA;AAGb;"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"area-BYuHpaUX.js","sources":["../src/areas/preview/area.tsx"],"sourcesContent":["import { AnimatePresence } from 'framer-motion'\nimport { FC, useEffect, useMemo, useState } from 'react'\n\nimport { Icon } from '@local/components/icon'\nimport { Stack, StackMotion } from '@local/components/stack'\n\nimport { PreviewProps } from '.'\n\nexport const Preview: FC<PreviewProps> = props => {\n const [visible, setVisible] = useState(props.defaultVisible ?? true)\n\n const propsVisible = useMemo(() => ('visible' in props ? props.visible : null), [props])\n const propsTime = useMemo(() => ('time' in props ? props.time : null), [props])\n const propsMinTime = useMemo(() => ('minTime' in props ? props.minTime : null), [props])\n\n useEffect(() => {\n if (propsTime !== null) {\n const timer = setTimeout(() => {\n setVisible(true)\n }, propsTime)\n\n return () => {\n clearTimeout(timer)\n }\n }\n }, [propsTime])\n\n useEffect(() => {\n if (propsVisible !== null) {\n if (propsVisible) {\n if (propsMinTime) {\n const timer = setTimeout(() => {\n setVisible(propsVisible)\n }, propsMinTime)\n return () => clearTimeout(timer)\n } else {\n setVisible(propsVisible)\n }\n } else {\n setVisible(propsVisible)\n }\n }\n }, [propsVisible, propsMinTime])\n\n return (\n <>\n <AnimatePresence>\n {!visible ? (\n <StackMotion\n key=\"loader\"\n sx={theme => ({\n ...props?.sxLoader,\n default: {\n backgroundColor: theme.palette.whiteStandard,\n width: '100%',\n height: '100%',\n position: 'absolute',\n top: 0,\n left: 0,\n display: 'flex',\n alignItems: 'center',\n justifyContent: 'center',\n zIndex: 1,\n ...(props?.sxLoader\n ? typeof props?.sxLoader === 'function'\n ? props?.sxLoader(theme).default\n : props?.sxLoader.default\n : {})\n }\n })}\n transition={{ duration: 0.3 }}\n exit={{ opacity: 0 }}\n animate={{ opacity: 1 }}\n >\n <Stack\n sx={{\n default: {\n position: 'absolute',\n width: '8vmin',\n height: '8vmin'\n }\n }}\n >\n <Icon size=\"100%\" type=\"loading\" primaryColor=\"blueFocus\" name=\"Line\" />\n </Stack>\n {props.content && (\n <Stack\n sx={{\n default: {\n position: 'relative',\n marginTop: '18vmin'\n }\n }}\n >\n {props.content}\n </Stack>\n )}\n </StackMotion>\n ) : null}\n {visible ? (\n <StackMotion\n key=\"children\"\n sx={theme => ({\n ...props?.sxChildren,\n default: {\n display: 'contents',\n zIndex: 0,\n ...(props?.sxChildren\n ? typeof props?.sxChildren === 'function'\n ? props?.sxChildren(theme).default\n : props?.sxChildren.default\n : {})\n }\n })}\n transition={{ duration: 0.3 }}\n initial={{ opacity: 0 }}\n exit={{ opacity: 0 }}\n animate={{ opacity: 1 }}\n >\n {props.children}\n </StackMotion>\n ) : null}\n </AnimatePresence>\n </>\n )\n}\n"],"names":["jsx","Fragment","jsxs"],"mappings":"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"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"area-C6QOr2Kd.cjs","sources":["../src/areas/scroll/area.styles.tsx","../src/areas/scroll/area.tsx"],"sourcesContent":["import { Stack } from '@local/components/stack'\n\nimport styled, { css } from 'styled-components'\n\nimport { StyledScrollProps } from '.'\n\nexport const StyledScroll = styled(Stack)<StyledScrollProps>`\n overflow-x: hidden;\n overflow-y: hidden;\n\n ${props => css`\n ${props.$horizontal &&\n css`\n scrollbar-gutter: stable;\n overflow-x: auto;\n `}\n\n ${props.$vertical &&\n css`\n scrollbar-gutter: stable;\n overflow-y: auto;\n `}\n\n ${props.$isAlwaysHorizontal &&\n css`\n scrollbar-gutter: stable;\n overflow-x: scroll;\n `}\n\n ${props.$isAlwaysVertical &&\n css`\n scrollbar-gutter: stable;\n overflow-y: scroll;\n `}\n `}\n`\n","import { FC } from 'react'\n\nimport { ScrollProps, StyledScroll } from '.'\n\nexport const Scroll: FC<ScrollProps> = props => {\n return (\n <StyledScroll\n {...props}\n $horizontal={props.horizontal}\n $vertical={props.vertical}\n $isAlwaysHorizontal={props.isAlwaysHorizontal}\n $isAlwaysVertical={props.isAlwaysVertical}\n >\n {props.children}\n </StyledScroll>\n )\n}\n"],"names":["StyledScroll","styled","Stack","props","css","$horizontal","$vertical","$isAlwaysHorizontal","$isAlwaysVertical","jsx","horizontal","vertical","isAlwaysHorizontal","isAlwaysVertical","children"],"mappings":"gIAMaA,EAAeC,EAAOC,QAAK;;;;IAIpCC,GAASC,EAAAA,GAAAA;MACPD,EAAME,aACRD,EAAAA,GAAAA;;;;;MAKED,EAAMG,WACRF,EAAAA,GAAAA;;;;;MAKED,EAAMI,qBACRH,EAAAA,GAAAA;;;;;MAKED,EAAMK,mBACRJ,EAAAA,GAAAA;;;;;iBC1BmCD,KAEnCM,kBAAAA,IAACT,EAAA,IACKG,EACJE,YAAaF,EAAMO,WACnBJ,UAAWH,EAAMQ,SACjBJ,oBAAqBJ,EAAMS,mBAC3BJ,kBAAmBL,EAAMU,iBAExBC,SAAAX,EAAMW"}
@@ -1,2 +0,0 @@
1
- "use strict";const e=require("./jsx-runtime-BcGej2Kr.cjs"),t=require("framer-motion"),i=require("react"),n=require("./component.styles-BKnUDWqO.cjs"),o=require("./component-BV_7tGiu.cjs");exports.Preview=s=>{const[l,r]=i.useState(s.defaultVisible??!0),u=i.useMemo(()=>"visible"in s?s.visible:null,[s]),a=i.useMemo(()=>"time"in s?s.time:null,[s]),d=i.useMemo(()=>"minTime"in s?s.minTime:null,[s]);return i.useEffect(()=>{if(null!==a){const e=setTimeout(()=>{r(!0)},a);return()=>{clearTimeout(e)}}},[a]),i.useEffect(()=>{if(null!==u)if(u){if(d){const e=setTimeout(()=>{r(u)},d);return()=>clearTimeout(e)}r(u)}else r(u)},[u,d]),e.jsxRuntimeExports.jsx(e.jsxRuntimeExports.Fragment,{children:e.jsxRuntimeExports.jsxs(t.AnimatePresence,{children:[l?null:e.jsxRuntimeExports.jsxs(o.StackMotion,{sx:e=>({...null==s?void 0:s.sxLoader,default:{backgroundColor:e.palette.whiteStandard,width:"100%",height:"100%",position:"absolute",top:0,left:0,display:"flex",alignItems:"center",justifyContent:"center",zIndex:1,...(null==s?void 0:s.sxLoader)?"function"==typeof(null==s?void 0:s.sxLoader)?null==s?void 0:s.sxLoader(e).default:null==s?void 0:s.sxLoader.default:{}}}),transition:{duration:.3},exit:{opacity:0},animate:{opacity:1},children:[e.jsxRuntimeExports.jsx(o.Stack,{sx:{default:{position:"absolute",width:"8vmin",height:"8vmin"}},children:e.jsxRuntimeExports.jsx(n.Icon,{size:"100%",type:"loading",primaryColor:"blueFocus",name:"Line"})}),s.content&&e.jsxRuntimeExports.jsx(o.Stack,{sx:{default:{position:"relative",marginTop:"18vmin"}},children:s.content})]},"loader"),l?e.jsxRuntimeExports.jsx(o.StackMotion,{sx:e=>({...null==s?void 0:s.sxChildren,default:{display:"contents",zIndex:0,...(null==s?void 0:s.sxChildren)?"function"==typeof(null==s?void 0:s.sxChildren)?null==s?void 0:s.sxChildren(e).default:null==s?void 0:s.sxChildren.default:{}}}),transition:{duration:.3},initial:{opacity:0},exit:{opacity:0},animate:{opacity:1},children:s.children},"children"):null]})})};
2
- //# sourceMappingURL=area-C6XuN6wk.cjs.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"area-C6XuN6wk.cjs","sources":["../src/areas/preview/area.tsx"],"sourcesContent":["import { AnimatePresence } from 'framer-motion'\nimport { FC, useEffect, useMemo, useState } from 'react'\n\nimport { Icon } from '@local/components/icon'\nimport { Stack, StackMotion } from '@local/components/stack'\n\nimport { PreviewProps } from '.'\n\nexport const Preview: FC<PreviewProps> = props => {\n const [visible, setVisible] = useState(props.defaultVisible ?? true)\n\n const propsVisible = useMemo(() => ('visible' in props ? props.visible : null), [props])\n const propsTime = useMemo(() => ('time' in props ? props.time : null), [props])\n const propsMinTime = useMemo(() => ('minTime' in props ? props.minTime : null), [props])\n\n useEffect(() => {\n if (propsTime !== null) {\n const timer = setTimeout(() => {\n setVisible(true)\n }, propsTime)\n\n return () => {\n clearTimeout(timer)\n }\n }\n }, [propsTime])\n\n useEffect(() => {\n if (propsVisible !== null) {\n if (propsVisible) {\n if (propsMinTime) {\n const timer = setTimeout(() => {\n setVisible(propsVisible)\n }, propsMinTime)\n return () => clearTimeout(timer)\n } else {\n setVisible(propsVisible)\n }\n } else {\n setVisible(propsVisible)\n }\n }\n }, [propsVisible, propsMinTime])\n\n return (\n <>\n <AnimatePresence>\n {!visible ? (\n <StackMotion\n key=\"loader\"\n sx={theme => ({\n ...props?.sxLoader,\n default: {\n backgroundColor: theme.palette.whiteStandard,\n width: '100%',\n height: '100%',\n position: 'absolute',\n top: 0,\n left: 0,\n display: 'flex',\n alignItems: 'center',\n justifyContent: 'center',\n zIndex: 1,\n ...(props?.sxLoader\n ? typeof props?.sxLoader === 'function'\n ? props?.sxLoader(theme).default\n : props?.sxLoader.default\n : {})\n }\n })}\n transition={{ duration: 0.3 }}\n exit={{ opacity: 0 }}\n animate={{ opacity: 1 }}\n >\n <Stack\n sx={{\n default: {\n position: 'absolute',\n width: '8vmin',\n height: '8vmin'\n }\n }}\n >\n <Icon size=\"100%\" type=\"loading\" primaryColor=\"blueFocus\" name=\"Line\" />\n </Stack>\n {props.content && (\n <Stack\n sx={{\n default: {\n position: 'relative',\n marginTop: '18vmin'\n }\n }}\n >\n {props.content}\n </Stack>\n )}\n </StackMotion>\n ) : null}\n {visible ? (\n <StackMotion\n key=\"children\"\n sx={theme => ({\n ...props?.sxChildren,\n default: {\n display: 'contents',\n zIndex: 0,\n ...(props?.sxChildren\n ? typeof props?.sxChildren === 'function'\n ? props?.sxChildren(theme).default\n : props?.sxChildren.default\n : {})\n }\n })}\n transition={{ duration: 0.3 }}\n initial={{ opacity: 0 }}\n exit={{ opacity: 0 }}\n animate={{ opacity: 1 }}\n >\n {props.children}\n </StackMotion>\n ) : null}\n </AnimatePresence>\n </>\n )\n}\n"],"names":["props","visible","setVisible","useState","defaultVisible","propsVisible","useMemo","propsTime","time","propsMinTime","minTime","useEffect","timer","setTimeout","clearTimeout","jsx","Fragment","children","AnimatePresence","jsxs","StackMotion","sx","theme","sxLoader","default","backgroundColor","palette","whiteStandard","width","height","position","top","left","display","alignItems","justifyContent","zIndex","transition","duration","exit","opacity","animate","Stack","Icon","size","type","primaryColor","name","content","marginTop","sxChildren","initial"],"mappings":"4MAQyCA,IACvC,MAAOC,EAASC,GAAcC,EAAAA,SAASH,EAAMI,iBAAkB,GAEzDC,EAAeC,UAAQ,IAAO,YAAaN,EAAQA,EAAMC,QAAU,KAAO,CAACD,IAC3EO,EAAYD,UAAQ,IAAO,SAAUN,EAAQA,EAAMQ,KAAO,KAAO,CAACR,IAClES,EAAeH,UAAQ,IAAO,YAAaN,EAAQA,EAAMU,QAAU,KAAO,CAACV,IA+BjF,OA7BAW,EAAAA,UAAU,KACR,GAAkB,OAAdJ,EAAoB,CACtB,MAAMK,EAAQC,WAAW,KACvBX,GAAW,IACVK,GAEH,MAAO,KACLO,aAAaF,GACf,GAED,CAACL,IAEJI,EAAAA,UAAU,KACR,GAAqB,OAAjBN,EACF,GAAIA,EAAc,CAChB,GAAII,EAAc,CAChB,MAAMG,EAAQC,WAAW,KACvBX,EAAWG,IACVI,GACH,MAAO,IAAMK,aAAaF,EAAK,CAE/BV,EAAWG,EACb,MAEAH,EAAWG,IAGd,CAACA,EAAcI,IAGhBM,EAAAA,kBAAAA,IAAAC,EAAAA,kBAAAA,SAAA,CACEC,kCAACC,EAAAA,gBAAA,CACED,SAAA,CAAChB,EAmDE,KAlDFkB,EAAAA,kBAAAA,KAACC,EAAAA,YAAA,CAECC,GAAIC,IAAA,IACC,MAAAtB,OAAA,EAAAA,EAAOuB,SACVC,QAAS,CACPC,gBAAiBH,EAAMI,QAAQC,cAC/BC,MAAO,OACPC,OAAQ,OACRC,SAAU,WACVC,IAAK,EACLC,KAAM,EACNC,QAAS,OACTC,WAAY,SACZC,eAAgB,SAChBC,OAAQ,MACJ,MAAApC,OAAA,EAAAA,EAAOuB,UACoB,yBAApBvB,WAAOuB,UACZ,MAAAvB,OAAA,EAAAA,EAAOuB,SAASD,GAAOE,QACvB,MAAAxB,OAAA,EAAAA,EAAOuB,SAASC,QAClB,CAAA,KAGRa,WAAY,CAAEC,SAAU,IACxBC,KAAM,CAAEC,QAAS,GACjBC,QAAS,CAAED,QAAS,GAEpBvB,SAAA,GAAAF,kBAAAA,IAAC2B,EAAAA,MAAA,CACCrB,GAAI,CACFG,QAAS,CACPM,SAAU,WACVF,MAAO,QACPC,OAAQ,UAIZZ,SAAAF,EAAAA,kBAAAA,IAAC4B,QAAKC,KAAK,OAAOC,KAAK,UAAUC,aAAa,YAAYC,KAAK,WAEhE/C,EAAMgD,SACLjC,EAAAA,kBAAAA,IAAC2B,EAAAA,MAAA,CACCrB,GAAI,CACFG,QAAS,CACPM,SAAU,WACVmB,UAAW,WAIdhC,SAAAjB,EAAMgD,YA7CP,UAkDP/C,IACCc,kBAAAA,IAACK,EAAAA,YAAA,CAECC,GAAIC,IAAA,IACC,MAAAtB,OAAA,EAAAA,EAAOkD,WACV1B,QAAS,CACPS,QAAS,WACTG,OAAQ,MACJ,MAAApC,OAAA,EAAAA,EAAOkD,YACsB,yBAAtBlD,WAAOkD,YACZ,MAAAlD,OAAA,EAAAA,EAAOkD,WAAW5B,GAAOE,QACzB,MAAAxB,OAAA,EAAAA,EAAOkD,WAAW1B,QACpB,CAAA,KAGRa,WAAY,CAAEC,SAAU,IACxBa,QAAS,CAAEX,QAAS,GACpBD,KAAM,CAAEC,QAAS,GACjBC,QAAS,CAAED,QAAS,GAEnBvB,SAAAjB,EAAMiB,UAlBH,YAoBJ"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"area-D7906bXA.cjs","sources":["../src/areas/outside/area.tsx"],"sourcesContent":["import { FC, PropsWithChildren, useEffect, useRef } from 'react'\n\nimport { Stack } from '@local/components/stack'\nimport { addSXProps } from '@local/styles/sx'\n\ntype OutsideProps = PropsWithChildren &\n addSXProps & {\n onOutsideClick: (event: MouseEvent) => void\n }\n\nexport const Outside: FC<OutsideProps> = props => {\n const elementRef = useRef<HTMLDivElement>(null)\n\n useEffect(() => {\n const handleClickOutside = (event: MouseEvent) => {\n if (elementRef.current && !elementRef.current.contains(event.target as Node)) {\n props.onOutsideClick(event)\n }\n }\n\n document.addEventListener('mousedown', handleClickOutside)\n return () => {\n document.removeEventListener('mousedown', handleClickOutside)\n }\n }, [props])\n return (\n <Stack\n sx={theme => ({\n ...props?.sx,\n default: {\n display: 'content',\n ...(props?.sx ? (typeof props?.sx === 'function' ? props?.sx(theme).default : props?.sx.default) : {})\n }\n })}\n ref={elementRef}\n >\n {props.children}\n </Stack>\n )\n}\n"],"names":["props","elementRef","useRef","useEffect","handleClickOutside","event","current","contains","target","onOutsideClick","document","addEventListener","removeEventListener","jsx","Stack","sx","theme","default","display","ref","children"],"mappings":"oIAUyCA,IACvC,MAAMC,EAAaC,EAAAA,OAAuB,MAc1C,OAZAC,EAAAA,UAAU,KACR,MAAMC,EAAsBC,IACtBJ,EAAWK,UAAYL,EAAWK,QAAQC,SAASF,EAAMG,SAC3DR,EAAMS,eAAeJ,IAKzB,OADAK,SAASC,iBAAiB,YAAaP,GAChC,KACLM,SAASE,oBAAoB,YAAaR,KAE3C,CAACJ,MAEFa,kBAAAA,IAACC,EAAAA,MAAA,CACCC,GAAIC,IAAA,IACC,MAAAhB,OAAA,EAAAA,EAAOe,GACVE,QAAS,CACPC,QAAS,cACL,MAAAlB,OAAA,EAAAA,EAAOe,IAA2B,yBAAdf,WAAOe,IAAoB,MAAAf,OAAA,EAAAA,EAAOe,GAAGC,GAAOC,QAAU,MAAAjB,OAAA,EAAAA,EAAOe,GAAGE,QAAW,CAAA,KAGvGE,IAAKlB,EAEJmB,SAAApB,EAAMoB"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"area-DRqAofd0.js","sources":["../src/areas/outside/area.tsx"],"sourcesContent":["import { FC, PropsWithChildren, useEffect, useRef } from 'react'\n\nimport { Stack } from '@local/components/stack'\nimport { addSXProps } from '@local/styles/sx'\n\ntype OutsideProps = PropsWithChildren &\n addSXProps & {\n onOutsideClick: (event: MouseEvent) => void\n }\n\nexport const Outside: FC<OutsideProps> = props => {\n const elementRef = useRef<HTMLDivElement>(null)\n\n useEffect(() => {\n const handleClickOutside = (event: MouseEvent) => {\n if (elementRef.current && !elementRef.current.contains(event.target as Node)) {\n props.onOutsideClick(event)\n }\n }\n\n document.addEventListener('mousedown', handleClickOutside)\n return () => {\n document.removeEventListener('mousedown', handleClickOutside)\n }\n }, [props])\n return (\n <Stack\n sx={theme => ({\n ...props?.sx,\n default: {\n display: 'content',\n ...(props?.sx ? (typeof props?.sx === 'function' ? props?.sx(theme).default : props?.sx.default) : {})\n }\n })}\n ref={elementRef}\n >\n {props.children}\n </Stack>\n )\n}\n"],"names":["jsx"],"mappings":";;;AAUO,MAAM,UAA4B,CAAA,UAAS;AAChD,QAAM,aAAa,OAAuB,IAAI;AAE9C,YAAU,MAAM;AACd,UAAM,qBAAqB,CAAC,UAAsB;AAChD,UAAI,WAAW,WAAW,CAAC,WAAW,QAAQ,SAAS,MAAM,MAAc,GAAG;AAC5E,cAAM,eAAe,KAAK;AAAA,MAAA;AAAA,IAC5B;AAGF,aAAS,iBAAiB,aAAa,kBAAkB;AACzD,WAAO,MAAM;AACX,eAAS,oBAAoB,aAAa,kBAAkB;AAAA,IAAA;AAAA,EAC9D,GACC,CAAC,KAAK,CAAC;AACV,SACEA,kCAAAA;AAAAA,IAAC;AAAA,IAAA;AAAA,MACC,IAAI,CAAA,WAAU;AAAA,QACZ,GAAG,+BAAO;AAAA,QACV,SAAS;AAAA,UACP,SAAS;AAAA,UACT,IAAI,+BAAO,MAAM,QAAO,+BAAO,QAAO,aAAa,+BAAO,GAAG,OAAO,UAAU,+BAAO,GAAG,UAAW,CAAA;AAAA,QAAC;AAAA,MACtG;AAAA,MAEF,KAAK;AAAA,MAEJ,UAAA,MAAM;AAAA,IAAA;AAAA,EAAA;AAGb;"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"component--Oo5_3xq.cjs","sources":["../src/areas/smooth/component.tsx"],"sourcesContent":["import { FC } from 'react'\n\nimport { StackMotion, StackProps } from '@local/components/stack'\n\nexport const Smooth: FC<StackProps> = props => {\n return (\n <StackMotion\n transition={{\n layout: {\n duration: 0.3,\n ease: 'easeInOut',\n type: 'spring'\n }\n }}\n layout\n {...props}\n >\n {props.children}\n </StackMotion>\n )\n}\n"],"names":["props","jsx","StackMotion","transition","layout","duration","ease","type","children"],"mappings":"gHAIsCA,KAElCC,kBAAAA,IAACC,EAAAA,YAAA,CACCC,WAAY,CACVC,OAAQ,CACNC,SAAU,GACVC,KAAM,YACNC,KAAM,WAGVH,QAAM,KACFJ,EAEHQ,SAAAR,EAAMQ"}
@@ -1,28 +0,0 @@
1
- "use strict";const e=require("./jsx-runtime-BcGej2Kr.cjs"),i=require("framer-motion"),t=require("styled-components"),o=require("./style-fRZ6xrVp.cjs"),r=require("./component.styles-Dpg-__rn.cjs");require("react");const s=t.div`
2
- display: flex;
3
- ${o.addSX}
4
-
5
- ${e=>e.$isHover&&t.css`
6
- transition:
7
- background-color ${e=>e.theme.transition.default},
8
- outline 0s;
9
- &:hover {
10
- background-color: ${e=>e.theme.palette.black05};
11
- }
12
- `};
13
- ${r.addRipple};
14
- `,n=t(i.motion.div)`
15
- display: flex;
16
- ${o.addSX}
17
-
18
- ${e=>e.$isHover&&t.css`
19
- transition:
20
- background-color ${e=>e.theme.transition.default},
21
- outline 0s;
22
- &:hover {
23
- background-color: ${e=>e.theme.palette.black05};
24
- }
25
- `};
26
- ${r.addRipple};
27
- `;exports.Stack=i=>e.jsxRuntimeExports.jsx(s,{ref:i.ref,onClick:i.onClick,onDrop:i.onDrop,onDragOver:i.onDragOver,className:i.className,$sx:i.sx,$isHover:i.isHover,$isRipple:i.isRipple,children:i.children}),exports.StackMotion=i=>e.jsxRuntimeExports.jsx(n,{ref:i.ref,layout:i.layout,initial:i.initial,animate:i.animate,exit:i.exit,transition:i.transition,onClick:i.onClick,className:i.className,$sx:i.sx,$isHover:i.isHover,$isRipple:i.isRipple,children:i.children}),exports.StyledStack=s,exports.StyledStackMotion=n;
28
- //# sourceMappingURL=component-BV_7tGiu.cjs.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"component-BV_7tGiu.cjs","sources":["../src/components/stack/component.styles.tsx","../src/components/stack/component.tsx"],"sourcesContent":["import { motion } from 'framer-motion'\nimport styled, { css } from 'styled-components'\n\nimport { addSX } from '@local/styles/sx'\n\nimport { StyledStackProps } from '.'\nimport { addRipple } from '../ripple'\n\nexport const StyledStack = styled.div<StyledStackProps>`\n display: flex;\n ${addSX}\n\n ${props =>\n props.$isHover &&\n css`\n transition:\n background-color ${props => props.theme.transition.default},\n outline 0s;\n &:hover {\n background-color: ${props => props.theme.palette.black05};\n }\n `};\n ${addRipple};\n`\n\nexport const StyledStackMotion = styled(motion.div)<StyledStackProps>`\n display: flex;\n ${addSX}\n\n ${props =>\n props.$isHover &&\n css`\n transition:\n background-color ${props => props.theme.transition.default},\n outline 0s;\n &:hover {\n background-color: ${props => props.theme.palette.black05};\n }\n `};\n ${addRipple};\n`\n","import { FC } from 'react'\n\nimport { StackMotionProps, StackProps, StyledStack, StyledStackMotion } from '.'\n\nexport const Stack: FC<StackProps> = props => {\n return (\n <StyledStack\n ref={props.ref}\n onClick={props.onClick}\n onDrop={props.onDrop}\n onDragOver={props.onDragOver}\n className={props.className}\n $sx={props.sx}\n $isHover={props.isHover}\n $isRipple={props.isRipple}\n >\n {props.children}\n </StyledStack>\n )\n}\n\nexport const StackMotion: FC<StackMotionProps> = props => {\n return (\n <StyledStackMotion\n ref={props.ref}\n layout={props.layout}\n initial={props.initial}\n animate={props.animate}\n exit={props.exit}\n transition={props.transition}\n onClick={props.onClick}\n className={props.className}\n $sx={props.sx}\n $isHover={props.isHover}\n $isRipple={props.isRipple}\n >\n {props.children}\n </StyledStackMotion>\n )\n}\n"],"names":["StyledStack","styled","div","addSX","props","$isHover","css","theme","transition","default","palette","black05","addRipple","StyledStackMotion","motion","jsx","ref","onClick","onDrop","onDragOver","className","$sx","sx","isHover","$isRipple","isRipple","children","layout","initial","animate","exit"],"mappings":"qNAQO,MAAMA,EAAcC,EAAOC,GAAA;;IAE9BC,EAAAA;;IAEAC,GACAA,EAAMC,UACNC,EAAAA,GAAAA;;2BAEuBF,GAASA,EAAMG,MAAMC,WAAWC;;;4BAG/BL,GAASA,EAAMG,MAAMG,QAAQC;;;IAGrDC;EAGSC,EAAoBZ,EAAOa,EAAAA,OAAOZ,IAAG;;IAE9CC,EAAAA;;IAEAC,GACAA,EAAMC,UACNC,EAAAA,GAAAA;;2BAEuBF,GAASA,EAAMG,MAAMC,WAAWC;;;4BAG/BL,GAASA,EAAMG,MAAMG,QAAQC;;;IAGrDC;gBCnCiCR,KAEjCW,kBAAAA,IAACf,EAAA,CACCgB,IAAKZ,EAAMY,IACXC,QAASb,EAAMa,QACfC,OAAQd,EAAMc,OACdC,WAAYf,EAAMe,WAClBC,UAAWhB,EAAMgB,UACjBC,IAAKjB,EAAMkB,GACXjB,SAAUD,EAAMmB,QAChBC,UAAWpB,EAAMqB,SAEhBC,SAAAtB,EAAMsB,+BAKoCtB,KAE7CW,kBAAAA,IAACF,EAAA,CACCG,IAAKZ,EAAMY,IACXW,OAAQvB,EAAMuB,OACdC,QAASxB,EAAMwB,QACfC,QAASzB,EAAMyB,QACfC,KAAM1B,EAAM0B,KACZtB,WAAYJ,EAAMI,WAClBS,QAASb,EAAMa,QACfG,UAAWhB,EAAMgB,UACjBC,IAAKjB,EAAMkB,GACXjB,SAAUD,EAAMmB,QAChBC,UAAWpB,EAAMqB,SAEhBC,SAAAtB,EAAMsB"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"component-BYox4gmt.cjs","sources":["../src/components/image-button/component.tsx"],"sourcesContent":["import { FC, useCallback, useRef } from 'react'\n\nimport { ImageSupportedFormatsForInput } from '@local/consts'\nimport { useImageCrop } from '@local/hooks/use-image-crop'\n\nimport { ImageButtonProps } from '.'\nimport { Button } from '../button'\n\nexport const ImageButton: FC<ImageButtonProps> = props => {\n const refInput = useRef<HTMLInputElement | null>(null)\n\n const handleOpenFileDialog = useCallback(() => {\n refInput.current?.click()\n }, [])\n\n const { handleAddFiles } = useImageCrop({\n onSave: props.onSave,\n locale: props.locale,\n dialog: props.dialog,\n imageSettings: props.imageSettings,\n refInput: refInput\n })\n\n return (\n <>\n <Button\n {...props.button}\n onClick={e => {\n props.button.onClick?.(e)\n handleOpenFileDialog()\n }}\n >\n {props.button.children || props.locale.buttonAdd}\n </Button>\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) handleAddFiles(e.target.files)\n }}\n />\n </>\n )\n}\n"],"names":["props","refInput","useRef","handleOpenFileDialog","useCallback","_a","current","click","handleAddFiles","useImageCrop","onSave","locale","dialog","imageSettings","jsxs","Fragment","children","jsx","Button","button","onClick","e","_b","call","buttonAdd","ref","type","accept","ImageSupportedFormatsForInput","multiple","style","display","onChange","target","files"],"mappings":"qMAQiDA,IAC/C,MAAMC,EAAWC,EAAAA,OAAgC,MAE3CC,EAAuBC,EAAAA,YAAY,WACvC,OAAAC,EAAAJ,EAASK,UAATD,EAAkBE,SACjB,KAEGC,eAAEA,GAAmBC,eAAa,CACtCC,OAAQV,EAAMU,OACdC,OAAQX,EAAMW,OACdC,OAAQZ,EAAMY,OACdC,cAAeb,EAAMa,cACrBZ,aAGF,SACEa,kBAAAA,KAAAC,6BAAA,CACEC,SAAA,GAAAC,kBAAAA,IAACC,EAAAA,OAAA,IACKlB,EAAMmB,OACVC,QAASC,YACP,OAAAC,GAAAjB,EAAAL,EAAMmB,QAAOC,UAAbE,EAAAC,KAAAlB,EAAuBgB,GACvBlB,KAGDa,SAAAhB,EAAMmB,OAAOH,UAAYhB,EAAMW,OAAOa,cAEzCP,kBAAAA,IAAC,QAAA,CACCQ,IAAKxB,EACLyB,KAAK,OACLC,OAAQC,EAAAA,8BACRC,UAAQ,EACRC,MAAO,CAAEC,QAAS,QAClBC,SAAUX,IACJA,EAAEY,OAAOC,OAAO1B,EAAea,EAAEY,OAAOC"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"component-BcHiCCC9.js","sources":["../src/areas/smooth/component.tsx"],"sourcesContent":["import { FC } from 'react'\n\nimport { StackMotion, StackProps } from '@local/components/stack'\n\nexport const Smooth: FC<StackProps> = props => {\n return (\n <StackMotion\n transition={{\n layout: {\n duration: 0.3,\n ease: 'easeInOut',\n type: 'spring'\n }\n }}\n layout\n {...props}\n >\n {props.children}\n </StackMotion>\n )\n}\n"],"names":["jsx"],"mappings":";;AAIO,MAAM,SAAyB,CAAA,UAAS;AAC7C,SACEA,kCAAAA;AAAAA,IAAC;AAAA,IAAA;AAAA,MACC,YAAY;AAAA,QACV,QAAQ;AAAA,UACN,UAAU;AAAA,UACV,MAAM;AAAA,UACN,MAAM;AAAA,QAAA;AAAA,MACR;AAAA,MAEF,QAAM;AAAA,MACL,GAAG;AAAA,MAEH,UAAA,MAAM;AAAA,IAAA;AAAA,EAAA;AAGb;"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"component-CY7lfJVv.cjs","sources":["../src/components/button-group/component.styles.ts","../src/components/button-group/component.tsx"],"sourcesContent":["import { css, styled } from 'styled-components'\n\nimport { addSX } from '@local/styles/sx'\n\nimport { StyledButtonGroupProps } from '.'\n\n/****************************************** Position *************************************************/\nconst ButtonGroupWrapperPositionHorizontal = css`\n display: flex;\n flex-direction: row;\n flex-wrap: wrap;\n align-content: flex-start;\n justify-content: space-between;\n & #jenesei-button {\n &:not(:only-child) {\n flex-grow: 1;\n &:first-child {\n border-bottom-right-radius: 0;\n border-top-right-radius: 0;\n }\n &:last-child {\n border-bottom-left-radius: 0;\n border-top-left-radius: 0;\n }\n &:not(:first-child):not(:last-child) {\n border-radius: 0;\n }\n }\n }\n`\n\nconst ButtonGroupWrapperPositionVertical = css`\n display: flex;\n flex-direction: column;\n flex-wrap: wrap;\n\n & #jenesei-button {\n &:not(:only-child) {\n &:first-child {\n border-bottom-left-radius: 0;\n border-bottom-right-radius: 0;\n }\n &:last-child {\n border-top-left-radius: 0;\n border-top-right-radius: 0;\n }\n &:not(:first-child):not(:last-child) {\n border-radius: 0;\n }\n }\n }\n`\n\nexport const ButtonGroupWrapper = styled.div<StyledButtonGroupProps>`\n & #jenesei-button {\n &:focus-visible {\n z-index: 1;\n }\n }\n ${props =>\n props.$position === 'horizontal' ? ButtonGroupWrapperPositionHorizontal : ButtonGroupWrapperPositionVertical};\n ${addSX};\n`\n","import { FC } from 'react'\n\nimport { Button } from '@local/components/button'\n\nimport { ButtonGroupProps, ButtonGroupWrapper } from '.'\n\nexport const ButtonGroup: FC<ButtonGroupProps> = props => {\n return (\n <ButtonGroupWrapper $sx={props.sx} $position={props.position} className={props.className} id=\"jenesei-button-group\">\n {props.value?.map((button, id) => <Button id=\"jenesei-button\" key={id} {...button} />)}\n </ButtonGroupWrapper>\n )\n}\n"],"names":["ButtonGroupWrapperPositionHorizontal","css","ButtonGroupWrapperPositionVertical","ButtonGroupWrapper","styled","div","props","$position","addSX","jsx","$sx","sx","position","className","id","children","_a","value","map","button","Button"],"mappings":"kKAOMA,EAAuCC,EAAAA,GAAAA;;;;;;;;;;;;;;;;;;;;;;EAwBvCC,EAAqCD,EAAAA,GAAAA;;;;;;;;;;;;;;;;;;;;EAsB9BE,EAAqBC,EAAAA,OAAOC,GAAA;;;;;;IAMrCC,GACoB,eAApBA,EAAMC,UAA6BP,EAAuCE;IAC1EM;sBCvD6CF,UAC/C,SACEG,kBAAAA,IAACN,EAAA,CAAmBO,IAAKJ,EAAMK,GAAIJ,UAAWD,EAAMM,SAAUC,UAAWP,EAAMO,UAAWC,GAAG,uBAC1FC,SAAA,OAAAC,EAAAV,EAAMW,YAAN,EAAAD,EAAaE,IAAI,CAACC,EAAQL,IAAOL,EAAAA,kBAAAA,IAACW,EAAAA,OAAA,CAAON,GAAG,oBAA8BK,GAARL"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"component-CvW0MIM8.js","sources":["../src/components/image-button/component.tsx"],"sourcesContent":["import { FC, useCallback, useRef } from 'react'\n\nimport { ImageSupportedFormatsForInput } from '@local/consts'\nimport { useImageCrop } from '@local/hooks/use-image-crop'\n\nimport { ImageButtonProps } from '.'\nimport { Button } from '../button'\n\nexport const ImageButton: FC<ImageButtonProps> = props => {\n const refInput = useRef<HTMLInputElement | null>(null)\n\n const handleOpenFileDialog = useCallback(() => {\n refInput.current?.click()\n }, [])\n\n const { handleAddFiles } = useImageCrop({\n onSave: props.onSave,\n locale: props.locale,\n dialog: props.dialog,\n imageSettings: props.imageSettings,\n refInput: refInput\n })\n\n return (\n <>\n <Button\n {...props.button}\n onClick={e => {\n props.button.onClick?.(e)\n handleOpenFileDialog()\n }}\n >\n {props.button.children || props.locale.buttonAdd}\n </Button>\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) handleAddFiles(e.target.files)\n }}\n />\n </>\n )\n}\n"],"names":["jsxs","Fragment","jsx"],"mappings":";;;;;AAQO,MAAM,cAAoC,CAAA,UAAS;AACxD,QAAM,WAAW,OAAgC,IAAI;AAErD,QAAM,uBAAuB,YAAY,MAAM;;AAC7C,mBAAS,YAAT,mBAAkB;AAAA,EAAM,GACvB,EAAE;AAEL,QAAM,EAAE,eAAA,IAAmB,aAAa;AAAA,IACtC,QAAQ,MAAM;AAAA,IACd,QAAQ,MAAM;AAAA,IACd,QAAQ,MAAM;AAAA,IACd,eAAe,MAAM;AAAA,IACrB;AAAA,EAAA,CACD;AAED,SACEA,kCAAAA,KAAAC,4BAAA,EACE,UAAA;AAAA,IAAAC,kCAAAA;AAAAA,MAAC;AAAA,MAAA;AAAA,QACE,GAAG,MAAM;AAAA,QACV,SAAS,CAAA,MAAK;;AACZ,4BAAM,QAAO,YAAb,4BAAuB;AACvB,+BAAA;AAAA,QAAqB;AAAA,QAGtB,UAAA,MAAM,OAAO,YAAY,MAAM,OAAO;AAAA,MAAA;AAAA,IAAA;AAAA,IAEzCA,kCAAAA;AAAAA,MAAC;AAAA,MAAA;AAAA,QACC,KAAK;AAAA,QACL,MAAK;AAAA,QACL,QAAQ;AAAA,QACR,UAAQ;AAAA,QACR,OAAO,EAAE,SAAS,OAAA;AAAA,QAClB,UAAU,CAAA,MAAK;AACb,cAAI,EAAE,OAAO,MAAO,gBAAe,EAAE,OAAO,KAAK;AAAA,QAAA;AAAA,MACnD;AAAA,IAAA;AAAA,EACF,GACF;AAEJ;"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"component-WUYE2soZ.js","sources":["../src/components/button-group/component.styles.ts","../src/components/button-group/component.tsx"],"sourcesContent":["import { css, styled } from 'styled-components'\n\nimport { addSX } from '@local/styles/sx'\n\nimport { StyledButtonGroupProps } from '.'\n\n/****************************************** Position *************************************************/\nconst ButtonGroupWrapperPositionHorizontal = css`\n display: flex;\n flex-direction: row;\n flex-wrap: wrap;\n align-content: flex-start;\n justify-content: space-between;\n & #jenesei-button {\n &:not(:only-child) {\n flex-grow: 1;\n &:first-child {\n border-bottom-right-radius: 0;\n border-top-right-radius: 0;\n }\n &:last-child {\n border-bottom-left-radius: 0;\n border-top-left-radius: 0;\n }\n &:not(:first-child):not(:last-child) {\n border-radius: 0;\n }\n }\n }\n`\n\nconst ButtonGroupWrapperPositionVertical = css`\n display: flex;\n flex-direction: column;\n flex-wrap: wrap;\n\n & #jenesei-button {\n &:not(:only-child) {\n &:first-child {\n border-bottom-left-radius: 0;\n border-bottom-right-radius: 0;\n }\n &:last-child {\n border-top-left-radius: 0;\n border-top-right-radius: 0;\n }\n &:not(:first-child):not(:last-child) {\n border-radius: 0;\n }\n }\n }\n`\n\nexport const ButtonGroupWrapper = styled.div<StyledButtonGroupProps>`\n & #jenesei-button {\n &:focus-visible {\n z-index: 1;\n }\n }\n ${props =>\n props.$position === 'horizontal' ? ButtonGroupWrapperPositionHorizontal : ButtonGroupWrapperPositionVertical};\n ${addSX};\n`\n","import { FC } from 'react'\n\nimport { Button } from '@local/components/button'\n\nimport { ButtonGroupProps, ButtonGroupWrapper } from '.'\n\nexport const ButtonGroup: FC<ButtonGroupProps> = props => {\n return (\n <ButtonGroupWrapper $sx={props.sx} $position={props.position} className={props.className} id=\"jenesei-button-group\">\n {props.value?.map((button, id) => <Button id=\"jenesei-button\" key={id} {...button} />)}\n </ButtonGroupWrapper>\n )\n}\n"],"names":["jsx"],"mappings":";;;;AAOA,MAAM,uCAAuC;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAwB7C,MAAM,qCAAqC;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAsBpC,MAAM,qBAAqB,OAAO;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,IAMrC,CAAA,UACA,MAAM,cAAc,eAAe,uCAAuC,kCAAkC;AAAA,IAC5G,KAAK;AAAA;ACvDF,MAAM,cAAoC,CAAA,UAAS;;AACxD,SACEA,kCAAAA,IAAC,oBAAA,EAAmB,KAAK,MAAM,IAAI,WAAW,MAAM,UAAU,WAAW,MAAM,WAAW,IAAG,wBAC1F,WAAA,WAAM,UAAN,mBAAa,IAAI,CAAC,QAAQ,OAAOA,kCAAAA,IAAC,QAAA,EAAO,IAAG,kBAA2B,GAAG,OAAA,GAAR,EAAgB,GAAE,CACvF;AAEJ;"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"component-jPZYT5iL.js","sources":["../src/components/stack/component.styles.tsx","../src/components/stack/component.tsx"],"sourcesContent":["import { motion } from 'framer-motion'\nimport styled, { css } from 'styled-components'\n\nimport { addSX } from '@local/styles/sx'\n\nimport { StyledStackProps } from '.'\nimport { addRipple } from '../ripple'\n\nexport const StyledStack = styled.div<StyledStackProps>`\n display: flex;\n ${addSX}\n\n ${props =>\n props.$isHover &&\n css`\n transition:\n background-color ${props => props.theme.transition.default},\n outline 0s;\n &:hover {\n background-color: ${props => props.theme.palette.black05};\n }\n `};\n ${addRipple};\n`\n\nexport const StyledStackMotion = styled(motion.div)<StyledStackProps>`\n display: flex;\n ${addSX}\n\n ${props =>\n props.$isHover &&\n css`\n transition:\n background-color ${props => props.theme.transition.default},\n outline 0s;\n &:hover {\n background-color: ${props => props.theme.palette.black05};\n }\n `};\n ${addRipple};\n`\n","import { FC } from 'react'\n\nimport { StackMotionProps, StackProps, StyledStack, StyledStackMotion } from '.'\n\nexport const Stack: FC<StackProps> = props => {\n return (\n <StyledStack\n ref={props.ref}\n onClick={props.onClick}\n onDrop={props.onDrop}\n onDragOver={props.onDragOver}\n className={props.className}\n $sx={props.sx}\n $isHover={props.isHover}\n $isRipple={props.isRipple}\n >\n {props.children}\n </StyledStack>\n )\n}\n\nexport const StackMotion: FC<StackMotionProps> = props => {\n return (\n <StyledStackMotion\n ref={props.ref}\n layout={props.layout}\n initial={props.initial}\n animate={props.animate}\n exit={props.exit}\n transition={props.transition}\n onClick={props.onClick}\n className={props.className}\n $sx={props.sx}\n $isHover={props.isHover}\n $isRipple={props.isRipple}\n >\n {props.children}\n </StyledStackMotion>\n )\n}\n"],"names":["props","jsx"],"mappings":";;;;;;AAQO,MAAM,cAAc,OAAO;AAAA;AAAA,IAE9B,KAAK;AAAA;AAAA,IAEL,CAAA,UACA,MAAM,YACN;AAAA;AAAA,2BAEuB,CAAAA,WAASA,OAAM,MAAM,WAAW,OAAO;AAAA;AAAA;AAAA,4BAGtC,CAAAA,WAASA,OAAM,MAAM,QAAQ,OAAO;AAAA;AAAA,KAE3D;AAAA,IACD,SAAS;AAAA;AAGN,MAAM,oBAAoB,OAAO,OAAO,GAAG;AAAA;AAAA,IAE9C,KAAK;AAAA;AAAA,IAEL,CAAA,UACA,MAAM,YACN;AAAA;AAAA,2BAEuB,CAAAA,WAASA,OAAM,MAAM,WAAW,OAAO;AAAA;AAAA;AAAA,4BAGtC,CAAAA,WAASA,OAAM,MAAM,QAAQ,OAAO;AAAA;AAAA,KAE3D;AAAA,IACD,SAAS;AAAA;ACnCN,MAAM,QAAwB,CAAA,UAAS;AAC5C,SACEC,kCAAAA;AAAAA,IAAC;AAAA,IAAA;AAAA,MACC,KAAK,MAAM;AAAA,MACX,SAAS,MAAM;AAAA,MACf,QAAQ,MAAM;AAAA,MACd,YAAY,MAAM;AAAA,MAClB,WAAW,MAAM;AAAA,MACjB,KAAK,MAAM;AAAA,MACX,UAAU,MAAM;AAAA,MAChB,WAAW,MAAM;AAAA,MAEhB,UAAA,MAAM;AAAA,IAAA;AAAA,EAAA;AAGb;AAEO,MAAM,cAAoC,CAAA,UAAS;AACxD,SACEA,kCAAAA;AAAAA,IAAC;AAAA,IAAA;AAAA,MACC,KAAK,MAAM;AAAA,MACX,QAAQ,MAAM;AAAA,MACd,SAAS,MAAM;AAAA,MACf,SAAS,MAAM;AAAA,MACf,MAAM,MAAM;AAAA,MACZ,YAAY,MAAM;AAAA,MAClB,SAAS,MAAM;AAAA,MACf,WAAW,MAAM;AAAA,MACjB,KAAK,MAAM;AAAA,MACX,UAAU,MAAM;AAAA,MAChB,WAAW,MAAM;AAAA,MAEhB,UAAA,MAAM;AAAA,IAAA;AAAA,EAAA;AAGb;"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"component.constants-B9xzGc3A.cjs","sources":["../src/components/pagination/component.constants.ts","../src/components/pagination/component.tsx"],"sourcesContent":["export const DEFAULT_COMPONENT_PAGINATION_GAP = 12\n","import { AnimatePresence, motion } from 'framer-motion'\nimport { FC, useCallback, useMemo } from 'react'\n\nimport { Button } from '@local/components/button'\nimport { Stack } from '@local/components/stack'\n\nimport { DEFAULT_COMPONENT_PAGINATION_GAP, PaginationProps } from '.'\n\nexport const Pagination: FC<PaginationProps> = props => {\n const isDisabledPrevious = useMemo(() => props.index == 0 && !props.isInfinity, [props.index, props.isInfinity])\n const isDisabledNext = useMemo(\n () => props.index == props.length - 1 && !props.isInfinity,\n [props.index, props.isInfinity, props.length]\n )\n\n const gap = useMemo(() => props.gap ?? DEFAULT_COMPONENT_PAGINATION_GAP, [props.gap])\n const lengthData = useMemo(() => props.lengthData ?? {}, [props.lengthData])\n const handlePrevious = useCallback(() => {\n if (props.index == 0) {\n if (props.isInfinity) {\n props.changeIndex(props.length - 1)\n }\n } else {\n props.changeIndex(props.index - 1)\n }\n }, [props])\n\n const handleNext = useCallback(() => {\n if (props.index == props.length - 1) {\n if (props.isInfinity) {\n props.changeIndex(0)\n }\n } else {\n props.changeIndex(props.index + 1)\n }\n }, [props])\n\n const visibleButtons = useMemo(() => {\n const half = Math.floor(props.viewQuantity / 2)\n const start = Math.max(0, Math.min(props.index - half, props.length - props.viewQuantity))\n const end = Math.min(props.length, start + props.viewQuantity)\n return Array.from({ length: end - start }, (_, i) => start + i)\n }, [props.index, props.viewQuantity, props.length])\n\n return (\n <Stack\n sx={theme => ({\n ...props?.sx,\n default: {\n height: 'fit-content',\n gap: `${gap}px`,\n ...(props?.sx ? (typeof props?.sx === 'function' ? props?.sx(theme).default : props?.sx.default) : {})\n }\n })}\n >\n <Button\n isDisabled={isDisabledPrevious}\n isHidden={isDisabledPrevious}\n onClick={handlePrevious}\n {...props.buttonControl}\n icons={[\n {\n type: 'id',\n name: 'Arrow2',\n order: -1,\n turn: 90\n }\n ]}\n >\n {!props.buttonControl.isWidthAsHeight && props.locale.prev}\n </Button>\n\n <Stack\n sx={{\n default: {\n width: 'fit-content',\n height: 'fit-content',\n display: 'flex',\n gap: `${gap}px`,\n alignItems: 'center',\n justifyContent: 'flex-start'\n }\n }}\n >\n {Array.from({ length: props.length }).map((_, i) => {\n const isVisible = visibleButtons.includes(i)\n return (\n <AnimatePresence key={i} mode=\"popLayout\">\n {isVisible && (\n <motion.div\n layout\n initial={{\n opacity: 0,\n scale: 0.8\n }}\n animate={{\n opacity: 1,\n scale: 1\n }}\n exit={{\n opacity: 0,\n scale: 0.8\n }}\n transition={{ duration: 1, ease: 'backOut' }}\n >\n <Button\n isWidthAsHeight\n {...(i === props.index ? props.buttonCount.active : props.buttonCount.inactive)}\n {...lengthData?.[i]}\n onClick={() => props.changeIndex(i)}\n >\n {lengthData?.[i]?.icons?.length ? null : i + 1}\n </Button>\n </motion.div>\n )}\n </AnimatePresence>\n )\n })}\n </Stack>\n\n <Button\n isDisabled={isDisabledNext}\n isHidden={isDisabledNext}\n onClick={handleNext}\n {...props.buttonControl}\n icons={[\n {\n type: 'id',\n name: 'Arrow2',\n turn: -90\n }\n ]}\n >\n {!props.buttonControl.isWidthAsHeight && props.locale.next}\n </Button>\n </Stack>\n )\n}\n"],"names":["DEFAULT_COMPONENT_PAGINATION_GAP","props","isDisabledPrevious","useMemo","index","isInfinity","isDisabledNext","length","gap","lengthData","handlePrevious","useCallback","changeIndex","handleNext","visibleButtons","half","Math","floor","viewQuantity","start","max","min","end","Array","from","_","i","jsxs","Stack","sx","theme","default","height","children","jsx","Button","isDisabled","isHidden","onClick","buttonControl","icons","type","name","order","turn","isWidthAsHeight","locale","prev","width","display","alignItems","justifyContent","map","isVisible","includes","AnimatePresence","mode","motion","div","layout","initial","opacity","scale","animate","exit","transition","duration","ease","buttonCount","active","inactive","next"],"mappings":"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"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"component.constants-BrJrCmlA.js","sources":["../src/components/pagination/component.tsx","../src/components/pagination/component.constants.ts"],"sourcesContent":["import { AnimatePresence, motion } from 'framer-motion'\nimport { FC, useCallback, useMemo } from 'react'\n\nimport { Button } from '@local/components/button'\nimport { Stack } from '@local/components/stack'\n\nimport { DEFAULT_COMPONENT_PAGINATION_GAP, PaginationProps } from '.'\n\nexport const Pagination: FC<PaginationProps> = props => {\n const isDisabledPrevious = useMemo(() => props.index == 0 && !props.isInfinity, [props.index, props.isInfinity])\n const isDisabledNext = useMemo(\n () => props.index == props.length - 1 && !props.isInfinity,\n [props.index, props.isInfinity, props.length]\n )\n\n const gap = useMemo(() => props.gap ?? DEFAULT_COMPONENT_PAGINATION_GAP, [props.gap])\n const lengthData = useMemo(() => props.lengthData ?? {}, [props.lengthData])\n const handlePrevious = useCallback(() => {\n if (props.index == 0) {\n if (props.isInfinity) {\n props.changeIndex(props.length - 1)\n }\n } else {\n props.changeIndex(props.index - 1)\n }\n }, [props])\n\n const handleNext = useCallback(() => {\n if (props.index == props.length - 1) {\n if (props.isInfinity) {\n props.changeIndex(0)\n }\n } else {\n props.changeIndex(props.index + 1)\n }\n }, [props])\n\n const visibleButtons = useMemo(() => {\n const half = Math.floor(props.viewQuantity / 2)\n const start = Math.max(0, Math.min(props.index - half, props.length - props.viewQuantity))\n const end = Math.min(props.length, start + props.viewQuantity)\n return Array.from({ length: end - start }, (_, i) => start + i)\n }, [props.index, props.viewQuantity, props.length])\n\n return (\n <Stack\n sx={theme => ({\n ...props?.sx,\n default: {\n height: 'fit-content',\n gap: `${gap}px`,\n ...(props?.sx ? (typeof props?.sx === 'function' ? props?.sx(theme).default : props?.sx.default) : {})\n }\n })}\n >\n <Button\n isDisabled={isDisabledPrevious}\n isHidden={isDisabledPrevious}\n onClick={handlePrevious}\n {...props.buttonControl}\n icons={[\n {\n type: 'id',\n name: 'Arrow2',\n order: -1,\n turn: 90\n }\n ]}\n >\n {!props.buttonControl.isWidthAsHeight && props.locale.prev}\n </Button>\n\n <Stack\n sx={{\n default: {\n width: 'fit-content',\n height: 'fit-content',\n display: 'flex',\n gap: `${gap}px`,\n alignItems: 'center',\n justifyContent: 'flex-start'\n }\n }}\n >\n {Array.from({ length: props.length }).map((_, i) => {\n const isVisible = visibleButtons.includes(i)\n return (\n <AnimatePresence key={i} mode=\"popLayout\">\n {isVisible && (\n <motion.div\n layout\n initial={{\n opacity: 0,\n scale: 0.8\n }}\n animate={{\n opacity: 1,\n scale: 1\n }}\n exit={{\n opacity: 0,\n scale: 0.8\n }}\n transition={{ duration: 1, ease: 'backOut' }}\n >\n <Button\n isWidthAsHeight\n {...(i === props.index ? props.buttonCount.active : props.buttonCount.inactive)}\n {...lengthData?.[i]}\n onClick={() => props.changeIndex(i)}\n >\n {lengthData?.[i]?.icons?.length ? null : i + 1}\n </Button>\n </motion.div>\n )}\n </AnimatePresence>\n )\n })}\n </Stack>\n\n <Button\n isDisabled={isDisabledNext}\n isHidden={isDisabledNext}\n onClick={handleNext}\n {...props.buttonControl}\n icons={[\n {\n type: 'id',\n name: 'Arrow2',\n turn: -90\n }\n ]}\n >\n {!props.buttonControl.isWidthAsHeight && props.locale.next}\n </Button>\n </Stack>\n )\n}\n","export const DEFAULT_COMPONENT_PAGINATION_GAP = 12\n"],"names":["jsxs","jsx"],"mappings":"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"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"component.constants-DRPyaSU8.cjs","sources":["../src/components/image-slider/component.styles.tsx","../src/hooks/use-image-slider/use.tsx","../src/components/image-slider/component.tsx","../src/components/image-slider/component.constants.tsx"],"sourcesContent":["import { motion } from 'framer-motion'\nimport styled from 'styled-components'\n\nexport const SliderImage = styled(motion.div)`\n display: flex;\n position: absolute;\n height: 100%;\n width: 100%;\n touch-action: pan-y;\n &:hover {\n cursor: grab;\n }\n\n &:active {\n cursor: grabbing;\n }\n`\n\nexport const SliderDot = styled(motion.div)`\n width: 6px;\n height: 6px;\n background-color: ${props => props.theme.palette.whiteStandard};\n border-radius: 5px;\n opacity: 0.8;\n cursor: pointer;\n`\n","import { Button } from '@local/components/button';\nimport { Image } from '@local/components/image';\nimport { ImageSliderProps, SliderDot, SliderImage } from '@local/components/image-slider';\nimport { Stack } from '@local/components/stack';\nimport { Typography } from '@local/components/typography';\nimport { useDialog, useDialogProps } from '@local/contexts/context-dialog';\nimport { KEY_SIZE_DATA } from '@local/theme';\n\nimport { AnimatePresence, PanInfo, Variants } from 'framer-motion';\nimport { FC, useCallback, useEffect, useMemo, useState } from 'react';\n\nimport { useImageSliderProps } from '.';\n\nexport const useImageSlider = (props: useImageSliderProps) => {\n const { onIndexChange } = props;\n\n const size = useMemo(() => KEY_SIZE_DATA[props.size], [props.size]);\n const br = useMemo(() => `${size.radius}px`, [size.radius]);\n\n const images = useMemo(() => props.images, [props.images]);\n\n const [{ activeImageId, direction }, setActiveImage] = useState({\n activeImageId: images?.[0]?.id ?? null,\n direction: 0,\n });\n const isLengthOne = useMemo(() => images?.length === 1, [images]);\n const isLengthZero = useMemo(() => images?.length === 0, [images]);\n\n const activeImageIndex = useMemo(() => images.findIndex((img) => img.id === activeImageId), [activeImageId, images]);\n\n const swipeToImage = useCallback(\n (swipeDirection: number) => {\n const currentIndex = images.findIndex((img) => img.id === activeImageId);\n const nextIndex = (currentIndex + swipeDirection + images.length) % images.length;\n setActiveImage({ activeImageId: images[nextIndex].id, direction: swipeDirection });\n },\n [activeImageId, images],\n );\n const dragEndHandler = useCallback(\n (dragInfo: PanInfo) => {\n const { offset, velocity } = dragInfo;\n const swipeThreshold = 50;\n const swipePower = Math.abs(offset.x) * velocity.x;\n\n if (swipePower > 500 || offset.x > swipeThreshold) {\n swipeToImage(-1);\n } else if (swipePower < -500 || offset.x < -swipeThreshold) {\n swipeToImage(1);\n }\n },\n [swipeToImage],\n );\n const skipToImage = useCallback(\n (imageId: number) => {\n const currentIndex = images.findIndex((img) => img.id === activeImageId);\n const newIndex = images.findIndex((img) => img.id === imageId);\n if (newIndex === -1 || newIndex === currentIndex) return;\n\n const direction = newIndex > currentIndex ? 1 : -1;\n setActiveImage({ activeImageId: imageId, direction });\n },\n [activeImageId, images],\n );\n\n useEffect(() => {\n if (activeImageId) onIndexChange?.(activeImageId);\n }, [activeImageId, onIndexChange]);\n\n const { add } = useDialog<ComponentHandleAddProps>({\n br: br,\n dragEndHandler: dragEndHandler,\n images: images,\n children: props.children,\n activeImageIndex: activeImageIndex,\n activeImageId: activeImageId,\n swipeToImage: swipeToImage,\n skipToImage: skipToImage,\n direction: direction,\n aspect: props.imageSettings.aspect,\n genre: props.genre,\n size: props.size,\n failedToLoad: props.locales.failedToLoad,\n isLengthOne: isLengthOne,\n propsDialog: {\n borderRadius: br,\n padding: '0',\n background: 'whiteStandard',\n },\n });\n const handleAdd = useCallback(() => {\n add({\n content: (params, remove) => <ComponentHandleAdd params={params} remove={remove} />,\n });\n }, [add]);\n\n return {\n isLengthZero,\n direction,\n activeImageId,\n isLengthOne,\n dragEndHandler,\n activeImageIndex,\n swipeToImage,\n skipToImage,\n handleAdd,\n };\n};\nconst sliderVariants: Variants = {\n initial: (direction) => ({\n x: direction > 0 ? '100%' : '-100%',\n scale: 1,\n opacity: 0,\n }),\n active: { x: 0, scale: 1, opacity: 1 },\n exit: (direction) => ({\n x: direction > 0 ? '-100%' : '100%',\n scale: 1,\n opacity: 0.2,\n }),\n};\nconst sliderTransition = {\n duration: 0.3,\n ease: [0.56, 0.03, 0.12, 1.04],\n};\n\ntype ComponentHandleAddProps = {\n br?: string;\n dragEndHandler: (dragInfo: PanInfo) => void;\n images: ImageSliderProps['images'];\n children?: ImageSliderProps['children'];\n activeImageIndex: number;\n activeImageId: number | null;\n swipeToImage: (swipeDirection: number) => void;\n skipToImage: (imageId: number) => void;\n direction: number;\n aspect: number;\n failedToLoad: string;\n isLengthOne: boolean;\n} & Pick<ImageSliderProps, 'genre' | 'size'>;\n\nconst ComponentHandleAdd: FC<{\n params?: useDialogProps<ComponentHandleAddProps>;\n remove?: () => void;\n}> = ({ params, remove }) => {\n return (\n <Stack\n sx={{\n default: {\n position: 'relative',\n overflow: 'hidden',\n aspectRatio: `${params?.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 <AnimatePresence initial={false} custom={params?.direction}>\n <SliderImage\n key={params?.activeImageId}\n style={{\n overflow: 'hidden',\n borderRadius: params?.br,\n }}\n custom={params?.direction}\n variants={sliderVariants}\n initial='initial'\n animate='active'\n exit='exit'\n transition={sliderTransition}\n {...(!params?.isLengthOne\n ? {\n drag: 'x',\n dragConstraints: { left: 0, right: 0 },\n dragElastic: 0.5,\n onDragEnd: (_, dragInfo) => params?.dragEndHandler(dragInfo),\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={(params?.images ?? [])?.[params?.activeImageIndex ?? 0]?.imageSrc}\n src={(params?.images ?? [])?.[params?.activeImageIndex ?? 0]?.imageSrc}\n componentFallback={\n <Typography\n sx={{\n default: {\n variant: 'h6',\n },\n }}\n >\n {params?.failedToLoad}\n </Typography>\n }\n />\n {(params?.images ?? [])?.[params?.activeImageIndex ?? 0]?.children}\n </SliderImage>\n </AnimatePresence>\n {typeof params?.children === 'function' ? params?.children?.({ isDialog: true }) : params?.children}\n\n <Button\n sx={{\n default: {\n position: 'absolute',\n bottom: 15,\n right: 15,\n },\n }}\n genre={params?.genre ?? 'product'}\n size={params?.size ?? 'medium'}\n icons={[\n {\n type: 'id',\n name: 'Arrow4',\n },\n ]}\n isWidthAsHeight\n isHiddenBorder\n isRadius\n onClick={() => remove?.()}\n />\n {!params?.isLengthOne ? (\n <>\n <Stack\n sx={{\n default: {\n position: 'absolute',\n bottom: 15,\n left: 15,\n gap: '8px',\n },\n }}\n >\n <Button\n genre={params?.genre ?? 'product'}\n size={params?.size ?? 'medium'}\n icons={[\n {\n type: 'id',\n name: 'Arrow4',\n turn: 90,\n },\n ]}\n isWidthAsHeight\n isHiddenBorder\n isPlaystationEffect\n isRadius\n onClick={() => params?.swipeToImage?.(-1)}\n />\n <Button\n genre={params?.genre ?? 'product'}\n size={params?.size ?? 'medium'}\n icons={[\n {\n type: 'id',\n name: 'Arrow4',\n turn: -90,\n },\n ]}\n isWidthAsHeight\n isHiddenBorder\n isPlaystationEffect\n isRadius\n onClick={() => params?.swipeToImage?.(1)}\n />\n </Stack>\n <Stack\n sx={{\n default: {\n position: 'absolute',\n bottom: 15,\n left: '50%',\n transform: 'translateX(-50%)',\n gap: '4px',\n },\n }}\n >\n {(params?.images ?? [])?.map((i) => (\n <SliderDot\n onClick={() => params?.skipToImage?.(i.id)}\n key={i.id}\n initial={false}\n animate={{\n scale: params?.activeImageId === i.id ? 1.5 : 1,\n opacity: params?.activeImageId === i.id ? 1 : 0.5,\n }}\n />\n ))}\n </Stack>\n </>\n ) : null}\n </Stack>\n );\n};\n","import { AnimatePresence, Variants } from 'framer-motion'\nimport { FC, useMemo } from 'react'\n\nimport { useImageSlider } from '@local/hooks/use-image-slider'\nimport { KEY_SIZE_DATA } from '@local/theme'\n\nimport { ImageSliderProps, SliderDot, SliderImage } from '.'\nimport { Button } from '../button'\nimport { Icon } from '../icon'\nimport { Image } from '../image'\nimport { Stack, StackMotion } from '../stack'\nimport { Typography } from '../typography'\n\nexport const ImageSlider: FC<ImageSliderProps> = props => {\n const { onIndexChange } = props\n const images = useMemo(() => props.images, [props.images])\n const size = useMemo(() => KEY_SIZE_DATA[props.size], [props.size])\n const br = useMemo(() => `${size.radius}px`, [size.radius])\n\n const {\n isLengthZero,\n direction,\n activeImageId,\n isLengthOne,\n dragEndHandler,\n activeImageIndex,\n swipeToImage,\n skipToImage,\n handleAdd\n } = useImageSlider({\n genre: props.genre,\n size: props.size,\n images: images,\n imageSettings: props.imageSettings,\n locales: props.locales,\n onIndexChange: onIndexChange,\n children: props.children\n })\n return (\n <StackMotion\n {...props.propsStack}\n sx={theme => ({\n ...props.propsStack?.sx,\n default: {\n borderRadius: br,\n flexDirection: 'column',\n alignItems: 'center',\n overflow: 'hidden',\n width: 'auto',\n maxWidth: '70dvw',\n height: '85dvh',\n ...(props.propsStack?.sx\n ? typeof props.propsStack?.sx === 'function'\n ? props.propsStack?.sx(theme).default\n : props.propsStack?.sx.default\n : {})\n },\n tablet: {\n maxWidth: '95dvw',\n ...(props.propsStack?.sx\n ? typeof props.propsStack?.sx === 'function'\n ? props.propsStack?.sx(theme).tablet\n : props.propsStack?.sx.tablet\n : {})\n }\n })}\n >\n {props.isLoading ? (\n <Stack\n sx={{\n default: {\n width: '100%',\n height: '100%',\n position: 'relative',\n overflow: 'hidden',\n display: 'flex',\n alignItems: 'center',\n justifyContent: 'center'\n }\n }}\n >\n <Icon size=\"large\" type=\"loading\" primaryColor=\"blueFocus\" name=\"Line\" />\n </Stack>\n ) : !isLengthZero ? (\n <Stack\n sx={{\n default: {\n width: '100%',\n height: '100%',\n position: 'relative',\n overflow: 'hidden'\n }\n }}\n >\n <AnimatePresence initial={false} custom={direction}>\n <SliderImage\n key={activeImageId}\n style={{\n overflow: 'hidden',\n borderRadius: br\n }}\n custom={direction}\n variants={sliderVariants}\n initial=\"initial\"\n animate=\"active\"\n exit=\"exit\"\n transition={sliderTransition}\n {...(!isLengthOne\n ? {\n drag: 'x',\n dragConstraints: { left: 0, right: 0 },\n dragElastic: 0.5,\n onDragEnd: (_, dragInfo) => dragEndHandler(dragInfo)\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 alt={images[activeImageIndex]?.imageSrc}\n src={images[activeImageIndex]?.imageSrc}\n componentFallback={\n <Typography\n sx={{\n default: {\n variant: 'h6'\n }\n }}\n >\n {props.locales.failedToLoad}\n </Typography>\n }\n />\n {images[activeImageIndex]?.children}\n </SliderImage>\n </AnimatePresence>\n {typeof props?.children === 'function' ? props?.children?.({ isDialog: false }) : props?.children}\n\n {!isLengthOne && (\n <>\n <Button\n sx={{\n default: {\n position: 'absolute',\n top: '50%',\n left: 5,\n transform: 'translateY(-50%)'\n }\n }}\n genre={props.genre}\n size={props.size}\n icons={[\n {\n type: 'id',\n name: 'Arrow4',\n turn: 90\n }\n ]}\n isWidthAsHeight\n isHiddenBorder\n isRadius\n onClick={() => swipeToImage(-1)}\n />\n <Button\n sx={{\n default: {\n position: 'absolute',\n top: '50%',\n right: 5,\n transform: 'translateY(-50%)'\n }\n }}\n genre={props.genre}\n size={props.size}\n icons={[\n {\n type: 'id',\n name: 'Arrow4',\n turn: -90\n }\n ]}\n isWidthAsHeight\n isHiddenBorder\n isRadius\n onClick={() => swipeToImage(1)}\n />\n <Stack\n sx={{\n default: {\n position: 'absolute',\n bottom: 5,\n left: '50%',\n transform: 'translateX(-50%)',\n gap: '4px'\n }\n }}\n >\n {images.map(i => (\n <SliderDot\n onClick={() => skipToImage(i.id)}\n key={i.id}\n initial={false}\n animate={{\n scale: activeImageId === i.id ? 1.5 : 1,\n opacity: activeImageId === i.id ? 1 : 0.5\n }}\n />\n ))}\n </Stack>\n </>\n )}\n\n <Button\n sx={{\n default: {\n position: 'absolute',\n bottom: 5,\n right: 5\n }\n }}\n genre={props.genre}\n size={props.size}\n icons={[\n {\n type: 'id',\n name: 'Activity'\n }\n ]}\n isWidthAsHeight\n isHiddenBorder\n isRadius\n onClick={() => handleAdd()}\n />\n </Stack>\n ) : (\n <Stack\n sx={{\n default: {\n width: '100%',\n height: '100%',\n position: 'relative',\n overflow: 'hidden',\n display: 'flex',\n alignItems: 'center',\n justifyContent: 'center'\n }\n }}\n >\n <Typography\n sx={{\n default: {\n variant: 'h6'\n }\n }}\n >\n {props.locales.noImagesAvailable}\n </Typography>\n </Stack>\n )}\n </StackMotion>\n )\n}\nconst sliderVariants: Variants = {\n initial: direction => ({\n x: direction > 0 ? '100%' : '-100%',\n scale: 1,\n opacity: 0\n }),\n active: { x: 0, scale: 1, opacity: 1 },\n exit: direction => ({\n x: direction > 0 ? '-100%' : '100%',\n scale: 1,\n opacity: 0.2\n })\n}\nconst sliderTransition = {\n duration: 0.3,\n ease: [0.56, 0.03, 0.12, 1.04]\n}\n","import 'styled-components'\n\nimport { ImageSliderProps } from '.'\nimport { Button } from '../button'\nimport { Stack } from '../stack'\n\nexport const IMAGES: ImageSliderProps['images'] = [\n {\n id: 0,\n children: (\n <Stack\n sx={{\n default: {\n justifyContent: 'flex-start',\n padding: '5px',\n flexGrow: 1\n }\n }}\n >\n <Button\n isHiddenBorder\n isDisabled\n genre=\"realebail-white\"\n size=\"medium\"\n sxTypography={{ default: { weight: 700 } }}\n >\n Los Angeles\n </Button>\n </Stack>\n ),\n imageSrc:\n 'https://drupal-prod.visitcalifornia.com/sites/default/files/styles/fluid_1920/public/2020-06/VC_PlacesToVisit_LosAngelesCounty_RF_1170794243.jpg.webp?itok=46pJYz8v'\n },\n {\n id: 1,\n children: (\n <Stack\n sx={{\n default: {\n justifyContent: 'flex-start',\n padding: '5px',\n flexGrow: 1\n }\n }}\n >\n <Button\n isHiddenBorder\n isDisabled\n genre=\"realebail-white\"\n size=\"medium\"\n sxTypography={{ default: { weight: 700 } }}\n >\n Los Angeles\n </Button>\n </Stack>\n ),\n imageSrc:\n 'https://images.unsplash.com/flagged/photo-1575555201693-7cd442b8023f?fm=jpg&q=60&w=3000&ixlib=rb-4.0.3&ixid=M3wxMjA3fDB8MHxzZWFyY2h8Mnx8bG9zJTIwYW5nZWxlc3xlbnwwfHwwfHx8MA%3D%3D'\n },\n {\n id: 2,\n children: (\n <Stack\n sx={{\n default: {\n justifyContent: 'flex-start',\n padding: '5px',\n flexGrow: 1\n }\n }}\n >\n <Button\n isHiddenBorder\n isDisabled\n genre=\"realebail-white\"\n size=\"medium\"\n sxTypography={{ default: { weight: 700 } }}\n >\n Los Angeles\n </Button>\n </Stack>\n ),\n imageSrc:\n 'https://img.goodfon.com/original/2048x1319/8/29/ssha-kaliforniia-los-andzheles-los-angeles-doma-neboskreby-s.jpg'\n },\n {\n id: 3,\n children: (\n <Stack\n sx={{\n default: {\n justifyContent: 'flex-start',\n padding: '5px',\n flexGrow: 1\n }\n }}\n >\n <Button\n isHiddenBorder\n isDisabled\n genre=\"realebail-white\"\n size=\"medium\"\n sxTypography={{ default: { weight: 700 } }}\n >\n Los Angeles\n </Button>\n </Stack>\n ),\n imageSrc: 'https://images.pexels.com/photos/2231756/pexels-photo-2231756.jpeg?auto=compress&cs=tinysrgb&dpr=2&w=500'\n },\n {\n id: 4,\n children: (\n <Stack\n sx={{\n default: {\n justifyContent: 'flex-start',\n padding: '5px',\n flexGrow: 1\n }\n }}\n >\n <Button\n isHiddenBorder\n isDisabled\n genre=\"realebail-white\"\n size=\"medium\"\n sxTypography={{ default: { weight: 700 } }}\n >\n Los Angeles\n </Button>\n </Stack>\n ),\n imageSrc: 'https://images.pexels.com/photos/1813157/pexels-photo-1813157.jpeg?auto=compress&cs=tinysrgb&dpr=2&w=500'\n }\n]\n"],"names":["SliderImage","styled","motion","div","SliderDot","props","theme","palette","whiteStandard","sliderVariants","initial","direction","x","scale","opacity","active","exit","sliderTransition","duration","ease","ComponentHandleAdd","params","remove","jsxs","Stack","sx","default","position","overflow","aspectRatio","aspect","width","maxWidth","height","borderRadius","br","tablet","children","jsx","AnimatePresence","custom","style","variants","animate","transition","isLengthOne","drag","dragConstraints","left","right","dragElastic","onDragEnd","_","dragInfo","dragEndHandler","Image","sxStack","alignItems","justifyContent","backgroundColor","black10","pointerEvents","isShowBeforeImage","sxImage","objectFit","alt","_b","images","_a","activeImageIndex","imageSrc","src","_d","_c","componentFallback","Typography","variant","failedToLoad","_f","_e","activeImageId","_g","call","isDialog","Button","bottom","genre","size","icons","type","name","isWidthAsHeight","isHiddenBorder","isRadius","onClick","Fragment","gap","turn","isPlaystationEffect","swipeToImage","transform","map","i","skipToImage","id","IMAGES","padding","flexGrow","isDisabled","sxTypography","weight","onIndexChange","useMemo","KEY_SIZE_DATA","radius","isLengthZero","handleAdd","setActiveImage","useState","length","findIndex","img","useCallback","swipeDirection","nextIndex","offset","velocity","swipePower","Math","abs","imageId","currentIndex","newIndex","useEffect","add","useDialog","imageSettings","locales","propsDialog","background","content","useImageSlider","StackMotion","propsStack","flexDirection","_h","_i","isLoading","display","Icon","primaryColor","noImagesAvailable","top"],"mappings":"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"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"component.constants-amkB3VHg.js","sources":["../src/components/image-slider/component.styles.tsx","../src/hooks/use-image-slider/use.tsx","../src/components/image-slider/component.tsx","../src/components/image-slider/component.constants.tsx"],"sourcesContent":["import { motion } from 'framer-motion'\nimport styled from 'styled-components'\n\nexport const SliderImage = styled(motion.div)`\n display: flex;\n position: absolute;\n height: 100%;\n width: 100%;\n touch-action: pan-y;\n &:hover {\n cursor: grab;\n }\n\n &:active {\n cursor: grabbing;\n }\n`\n\nexport const SliderDot = styled(motion.div)`\n width: 6px;\n height: 6px;\n background-color: ${props => props.theme.palette.whiteStandard};\n border-radius: 5px;\n opacity: 0.8;\n cursor: pointer;\n`\n","import { Button } from '@local/components/button';\nimport { Image } from '@local/components/image';\nimport { ImageSliderProps, SliderDot, SliderImage } from '@local/components/image-slider';\nimport { Stack } from '@local/components/stack';\nimport { Typography } from '@local/components/typography';\nimport { useDialog, useDialogProps } from '@local/contexts/context-dialog';\nimport { KEY_SIZE_DATA } from '@local/theme';\n\nimport { AnimatePresence, PanInfo, Variants } from 'framer-motion';\nimport { FC, useCallback, useEffect, useMemo, useState } from 'react';\n\nimport { useImageSliderProps } from '.';\n\nexport const useImageSlider = (props: useImageSliderProps) => {\n const { onIndexChange } = props;\n\n const size = useMemo(() => KEY_SIZE_DATA[props.size], [props.size]);\n const br = useMemo(() => `${size.radius}px`, [size.radius]);\n\n const images = useMemo(() => props.images, [props.images]);\n\n const [{ activeImageId, direction }, setActiveImage] = useState({\n activeImageId: images?.[0]?.id ?? null,\n direction: 0,\n });\n const isLengthOne = useMemo(() => images?.length === 1, [images]);\n const isLengthZero = useMemo(() => images?.length === 0, [images]);\n\n const activeImageIndex = useMemo(() => images.findIndex((img) => img.id === activeImageId), [activeImageId, images]);\n\n const swipeToImage = useCallback(\n (swipeDirection: number) => {\n const currentIndex = images.findIndex((img) => img.id === activeImageId);\n const nextIndex = (currentIndex + swipeDirection + images.length) % images.length;\n setActiveImage({ activeImageId: images[nextIndex].id, direction: swipeDirection });\n },\n [activeImageId, images],\n );\n const dragEndHandler = useCallback(\n (dragInfo: PanInfo) => {\n const { offset, velocity } = dragInfo;\n const swipeThreshold = 50;\n const swipePower = Math.abs(offset.x) * velocity.x;\n\n if (swipePower > 500 || offset.x > swipeThreshold) {\n swipeToImage(-1);\n } else if (swipePower < -500 || offset.x < -swipeThreshold) {\n swipeToImage(1);\n }\n },\n [swipeToImage],\n );\n const skipToImage = useCallback(\n (imageId: number) => {\n const currentIndex = images.findIndex((img) => img.id === activeImageId);\n const newIndex = images.findIndex((img) => img.id === imageId);\n if (newIndex === -1 || newIndex === currentIndex) return;\n\n const direction = newIndex > currentIndex ? 1 : -1;\n setActiveImage({ activeImageId: imageId, direction });\n },\n [activeImageId, images],\n );\n\n useEffect(() => {\n if (activeImageId) onIndexChange?.(activeImageId);\n }, [activeImageId, onIndexChange]);\n\n const { add } = useDialog<ComponentHandleAddProps>({\n br: br,\n dragEndHandler: dragEndHandler,\n images: images,\n children: props.children,\n activeImageIndex: activeImageIndex,\n activeImageId: activeImageId,\n swipeToImage: swipeToImage,\n skipToImage: skipToImage,\n direction: direction,\n aspect: props.imageSettings.aspect,\n genre: props.genre,\n size: props.size,\n failedToLoad: props.locales.failedToLoad,\n isLengthOne: isLengthOne,\n propsDialog: {\n borderRadius: br,\n padding: '0',\n background: 'whiteStandard',\n },\n });\n const handleAdd = useCallback(() => {\n add({\n content: (params, remove) => <ComponentHandleAdd params={params} remove={remove} />,\n });\n }, [add]);\n\n return {\n isLengthZero,\n direction,\n activeImageId,\n isLengthOne,\n dragEndHandler,\n activeImageIndex,\n swipeToImage,\n skipToImage,\n handleAdd,\n };\n};\nconst sliderVariants: Variants = {\n initial: (direction) => ({\n x: direction > 0 ? '100%' : '-100%',\n scale: 1,\n opacity: 0,\n }),\n active: { x: 0, scale: 1, opacity: 1 },\n exit: (direction) => ({\n x: direction > 0 ? '-100%' : '100%',\n scale: 1,\n opacity: 0.2,\n }),\n};\nconst sliderTransition = {\n duration: 0.3,\n ease: [0.56, 0.03, 0.12, 1.04],\n};\n\ntype ComponentHandleAddProps = {\n br?: string;\n dragEndHandler: (dragInfo: PanInfo) => void;\n images: ImageSliderProps['images'];\n children?: ImageSliderProps['children'];\n activeImageIndex: number;\n activeImageId: number | null;\n swipeToImage: (swipeDirection: number) => void;\n skipToImage: (imageId: number) => void;\n direction: number;\n aspect: number;\n failedToLoad: string;\n isLengthOne: boolean;\n} & Pick<ImageSliderProps, 'genre' | 'size'>;\n\nconst ComponentHandleAdd: FC<{\n params?: useDialogProps<ComponentHandleAddProps>;\n remove?: () => void;\n}> = ({ params, remove }) => {\n return (\n <Stack\n sx={{\n default: {\n position: 'relative',\n overflow: 'hidden',\n aspectRatio: `${params?.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 <AnimatePresence initial={false} custom={params?.direction}>\n <SliderImage\n key={params?.activeImageId}\n style={{\n overflow: 'hidden',\n borderRadius: params?.br,\n }}\n custom={params?.direction}\n variants={sliderVariants}\n initial='initial'\n animate='active'\n exit='exit'\n transition={sliderTransition}\n {...(!params?.isLengthOne\n ? {\n drag: 'x',\n dragConstraints: { left: 0, right: 0 },\n dragElastic: 0.5,\n onDragEnd: (_, dragInfo) => params?.dragEndHandler(dragInfo),\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={(params?.images ?? [])?.[params?.activeImageIndex ?? 0]?.imageSrc}\n src={(params?.images ?? [])?.[params?.activeImageIndex ?? 0]?.imageSrc}\n componentFallback={\n <Typography\n sx={{\n default: {\n variant: 'h6',\n },\n }}\n >\n {params?.failedToLoad}\n </Typography>\n }\n />\n {(params?.images ?? [])?.[params?.activeImageIndex ?? 0]?.children}\n </SliderImage>\n </AnimatePresence>\n {typeof params?.children === 'function' ? params?.children?.({ isDialog: true }) : params?.children}\n\n <Button\n sx={{\n default: {\n position: 'absolute',\n bottom: 15,\n right: 15,\n },\n }}\n genre={params?.genre ?? 'product'}\n size={params?.size ?? 'medium'}\n icons={[\n {\n type: 'id',\n name: 'Arrow4',\n },\n ]}\n isWidthAsHeight\n isHiddenBorder\n isRadius\n onClick={() => remove?.()}\n />\n {!params?.isLengthOne ? (\n <>\n <Stack\n sx={{\n default: {\n position: 'absolute',\n bottom: 15,\n left: 15,\n gap: '8px',\n },\n }}\n >\n <Button\n genre={params?.genre ?? 'product'}\n size={params?.size ?? 'medium'}\n icons={[\n {\n type: 'id',\n name: 'Arrow4',\n turn: 90,\n },\n ]}\n isWidthAsHeight\n isHiddenBorder\n isPlaystationEffect\n isRadius\n onClick={() => params?.swipeToImage?.(-1)}\n />\n <Button\n genre={params?.genre ?? 'product'}\n size={params?.size ?? 'medium'}\n icons={[\n {\n type: 'id',\n name: 'Arrow4',\n turn: -90,\n },\n ]}\n isWidthAsHeight\n isHiddenBorder\n isPlaystationEffect\n isRadius\n onClick={() => params?.swipeToImage?.(1)}\n />\n </Stack>\n <Stack\n sx={{\n default: {\n position: 'absolute',\n bottom: 15,\n left: '50%',\n transform: 'translateX(-50%)',\n gap: '4px',\n },\n }}\n >\n {(params?.images ?? [])?.map((i) => (\n <SliderDot\n onClick={() => params?.skipToImage?.(i.id)}\n key={i.id}\n initial={false}\n animate={{\n scale: params?.activeImageId === i.id ? 1.5 : 1,\n opacity: params?.activeImageId === i.id ? 1 : 0.5,\n }}\n />\n ))}\n </Stack>\n </>\n ) : null}\n </Stack>\n );\n};\n","import { AnimatePresence, Variants } from 'framer-motion'\nimport { FC, useMemo } from 'react'\n\nimport { useImageSlider } from '@local/hooks/use-image-slider'\nimport { KEY_SIZE_DATA } from '@local/theme'\n\nimport { ImageSliderProps, SliderDot, SliderImage } from '.'\nimport { Button } from '../button'\nimport { Icon } from '../icon'\nimport { Image } from '../image'\nimport { Stack, StackMotion } from '../stack'\nimport { Typography } from '../typography'\n\nexport const ImageSlider: FC<ImageSliderProps> = props => {\n const { onIndexChange } = props\n const images = useMemo(() => props.images, [props.images])\n const size = useMemo(() => KEY_SIZE_DATA[props.size], [props.size])\n const br = useMemo(() => `${size.radius}px`, [size.radius])\n\n const {\n isLengthZero,\n direction,\n activeImageId,\n isLengthOne,\n dragEndHandler,\n activeImageIndex,\n swipeToImage,\n skipToImage,\n handleAdd\n } = useImageSlider({\n genre: props.genre,\n size: props.size,\n images: images,\n imageSettings: props.imageSettings,\n locales: props.locales,\n onIndexChange: onIndexChange,\n children: props.children\n })\n return (\n <StackMotion\n {...props.propsStack}\n sx={theme => ({\n ...props.propsStack?.sx,\n default: {\n borderRadius: br,\n flexDirection: 'column',\n alignItems: 'center',\n overflow: 'hidden',\n width: 'auto',\n maxWidth: '70dvw',\n height: '85dvh',\n ...(props.propsStack?.sx\n ? typeof props.propsStack?.sx === 'function'\n ? props.propsStack?.sx(theme).default\n : props.propsStack?.sx.default\n : {})\n },\n tablet: {\n maxWidth: '95dvw',\n ...(props.propsStack?.sx\n ? typeof props.propsStack?.sx === 'function'\n ? props.propsStack?.sx(theme).tablet\n : props.propsStack?.sx.tablet\n : {})\n }\n })}\n >\n {props.isLoading ? (\n <Stack\n sx={{\n default: {\n width: '100%',\n height: '100%',\n position: 'relative',\n overflow: 'hidden',\n display: 'flex',\n alignItems: 'center',\n justifyContent: 'center'\n }\n }}\n >\n <Icon size=\"large\" type=\"loading\" primaryColor=\"blueFocus\" name=\"Line\" />\n </Stack>\n ) : !isLengthZero ? (\n <Stack\n sx={{\n default: {\n width: '100%',\n height: '100%',\n position: 'relative',\n overflow: 'hidden'\n }\n }}\n >\n <AnimatePresence initial={false} custom={direction}>\n <SliderImage\n key={activeImageId}\n style={{\n overflow: 'hidden',\n borderRadius: br\n }}\n custom={direction}\n variants={sliderVariants}\n initial=\"initial\"\n animate=\"active\"\n exit=\"exit\"\n transition={sliderTransition}\n {...(!isLengthOne\n ? {\n drag: 'x',\n dragConstraints: { left: 0, right: 0 },\n dragElastic: 0.5,\n onDragEnd: (_, dragInfo) => dragEndHandler(dragInfo)\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 alt={images[activeImageIndex]?.imageSrc}\n src={images[activeImageIndex]?.imageSrc}\n componentFallback={\n <Typography\n sx={{\n default: {\n variant: 'h6'\n }\n }}\n >\n {props.locales.failedToLoad}\n </Typography>\n }\n />\n {images[activeImageIndex]?.children}\n </SliderImage>\n </AnimatePresence>\n {typeof props?.children === 'function' ? props?.children?.({ isDialog: false }) : props?.children}\n\n {!isLengthOne && (\n <>\n <Button\n sx={{\n default: {\n position: 'absolute',\n top: '50%',\n left: 5,\n transform: 'translateY(-50%)'\n }\n }}\n genre={props.genre}\n size={props.size}\n icons={[\n {\n type: 'id',\n name: 'Arrow4',\n turn: 90\n }\n ]}\n isWidthAsHeight\n isHiddenBorder\n isRadius\n onClick={() => swipeToImage(-1)}\n />\n <Button\n sx={{\n default: {\n position: 'absolute',\n top: '50%',\n right: 5,\n transform: 'translateY(-50%)'\n }\n }}\n genre={props.genre}\n size={props.size}\n icons={[\n {\n type: 'id',\n name: 'Arrow4',\n turn: -90\n }\n ]}\n isWidthAsHeight\n isHiddenBorder\n isRadius\n onClick={() => swipeToImage(1)}\n />\n <Stack\n sx={{\n default: {\n position: 'absolute',\n bottom: 5,\n left: '50%',\n transform: 'translateX(-50%)',\n gap: '4px'\n }\n }}\n >\n {images.map(i => (\n <SliderDot\n onClick={() => skipToImage(i.id)}\n key={i.id}\n initial={false}\n animate={{\n scale: activeImageId === i.id ? 1.5 : 1,\n opacity: activeImageId === i.id ? 1 : 0.5\n }}\n />\n ))}\n </Stack>\n </>\n )}\n\n <Button\n sx={{\n default: {\n position: 'absolute',\n bottom: 5,\n right: 5\n }\n }}\n genre={props.genre}\n size={props.size}\n icons={[\n {\n type: 'id',\n name: 'Activity'\n }\n ]}\n isWidthAsHeight\n isHiddenBorder\n isRadius\n onClick={() => handleAdd()}\n />\n </Stack>\n ) : (\n <Stack\n sx={{\n default: {\n width: '100%',\n height: '100%',\n position: 'relative',\n overflow: 'hidden',\n display: 'flex',\n alignItems: 'center',\n justifyContent: 'center'\n }\n }}\n >\n <Typography\n sx={{\n default: {\n variant: 'h6'\n }\n }}\n >\n {props.locales.noImagesAvailable}\n </Typography>\n </Stack>\n )}\n </StackMotion>\n )\n}\nconst sliderVariants: Variants = {\n initial: direction => ({\n x: direction > 0 ? '100%' : '-100%',\n scale: 1,\n opacity: 0\n }),\n active: { x: 0, scale: 1, opacity: 1 },\n exit: direction => ({\n x: direction > 0 ? '-100%' : '100%',\n scale: 1,\n opacity: 0.2\n })\n}\nconst sliderTransition = {\n duration: 0.3,\n ease: [0.56, 0.03, 0.12, 1.04]\n}\n","import 'styled-components'\n\nimport { ImageSliderProps } from '.'\nimport { Button } from '../button'\nimport { Stack } from '../stack'\n\nexport const IMAGES: ImageSliderProps['images'] = [\n {\n id: 0,\n children: (\n <Stack\n sx={{\n default: {\n justifyContent: 'flex-start',\n padding: '5px',\n flexGrow: 1\n }\n }}\n >\n <Button\n isHiddenBorder\n isDisabled\n genre=\"realebail-white\"\n size=\"medium\"\n sxTypography={{ default: { weight: 700 } }}\n >\n Los Angeles\n </Button>\n </Stack>\n ),\n imageSrc:\n 'https://drupal-prod.visitcalifornia.com/sites/default/files/styles/fluid_1920/public/2020-06/VC_PlacesToVisit_LosAngelesCounty_RF_1170794243.jpg.webp?itok=46pJYz8v'\n },\n {\n id: 1,\n children: (\n <Stack\n sx={{\n default: {\n justifyContent: 'flex-start',\n padding: '5px',\n flexGrow: 1\n }\n }}\n >\n <Button\n isHiddenBorder\n isDisabled\n genre=\"realebail-white\"\n size=\"medium\"\n sxTypography={{ default: { weight: 700 } }}\n >\n Los Angeles\n </Button>\n </Stack>\n ),\n imageSrc:\n 'https://images.unsplash.com/flagged/photo-1575555201693-7cd442b8023f?fm=jpg&q=60&w=3000&ixlib=rb-4.0.3&ixid=M3wxMjA3fDB8MHxzZWFyY2h8Mnx8bG9zJTIwYW5nZWxlc3xlbnwwfHwwfHx8MA%3D%3D'\n },\n {\n id: 2,\n children: (\n <Stack\n sx={{\n default: {\n justifyContent: 'flex-start',\n padding: '5px',\n flexGrow: 1\n }\n }}\n >\n <Button\n isHiddenBorder\n isDisabled\n genre=\"realebail-white\"\n size=\"medium\"\n sxTypography={{ default: { weight: 700 } }}\n >\n Los Angeles\n </Button>\n </Stack>\n ),\n imageSrc:\n 'https://img.goodfon.com/original/2048x1319/8/29/ssha-kaliforniia-los-andzheles-los-angeles-doma-neboskreby-s.jpg'\n },\n {\n id: 3,\n children: (\n <Stack\n sx={{\n default: {\n justifyContent: 'flex-start',\n padding: '5px',\n flexGrow: 1\n }\n }}\n >\n <Button\n isHiddenBorder\n isDisabled\n genre=\"realebail-white\"\n size=\"medium\"\n sxTypography={{ default: { weight: 700 } }}\n >\n Los Angeles\n </Button>\n </Stack>\n ),\n imageSrc: 'https://images.pexels.com/photos/2231756/pexels-photo-2231756.jpeg?auto=compress&cs=tinysrgb&dpr=2&w=500'\n },\n {\n id: 4,\n children: (\n <Stack\n sx={{\n default: {\n justifyContent: 'flex-start',\n padding: '5px',\n flexGrow: 1\n }\n }}\n >\n <Button\n isHiddenBorder\n isDisabled\n genre=\"realebail-white\"\n size=\"medium\"\n sxTypography={{ default: { weight: 700 } }}\n >\n Los Angeles\n </Button>\n </Stack>\n ),\n imageSrc: 'https://images.pexels.com/photos/1813157/pexels-photo-1813157.jpeg?auto=compress&cs=tinysrgb&dpr=2&w=500'\n }\n]\n"],"names":["direction","jsx","sliderVariants","sliderTransition","jsxs","Fragment","_a","_b","_c","_d"],"mappings":"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"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"component.styles-BTsmbWT6.cjs","sources":["../src/components/image/component.styles.tsx","../src/components/image/component.tsx"],"sourcesContent":["import { addTransition } from '@local/styles/add'\nimport { addSX } from '@local/styles/sx'\n\nimport styled from 'styled-components'\n\nimport { ImageIMGProps } from '.'\n\nexport const ImageIMG = styled.img<ImageIMGProps>`\n position: absolute;\n width: 100%;\n height: 100%;\n object-fit: cover;\n opacity: ${props => (props.$isPending ? 0 : 1)};\n ${addTransition};\n ${addSX};\n`\n","import { Skeleton } from '@local/areas/skeleton';\nimport { Stack } from '@local/components/stack';\n\nimport { FC, useEffect, useState } from 'react';\n\nimport { ImageIMG, ImageProps } from '.';\n\nexport const Image: FC<ImageProps> = (props) => {\n const [isPending, setIsPending] = useState(true);\n const [isError, setIsError] = useState(false);\n\n useEffect(() => {\n if (!props.src) return;\n\n const img = new (window.Image as { new (width?: number, height?: number): HTMLImageElement })();\n\n img.onload = () => {\n setIsPending(false);\n setIsError(false);\n };\n\n img.onerror = () => {\n setIsPending(false);\n setIsError(true);\n };\n\n img.src = props.src;\n\n if (img.complete) {\n if (img.naturalWidth > 0) {\n setIsPending(false);\n setIsError(false);\n } else {\n setIsPending(false);\n setIsError(true);\n }\n }\n\n return () => {\n img.onload = null;\n img.onerror = null;\n setIsPending(true);\n setIsError(false);\n };\n }, [props.src]);\n return (\n <Stack\n sx={(theme) => ({\n ...props?.sxStack,\n default: {\n position: 'relative',\n overflow: 'hidden',\n ...(props.isShowBeforeImage\n ? {\n '&::before': {\n width: '100%',\n height: '100%',\n content: '\"\"',\n position: 'absolute',\n inset: 0,\n backgroundImage: `url(${props.src})`,\n backgroundRepeat: 'no-repeat',\n backgroundSize: 'cover',\n backgroundPosition: 'center',\n filter: 'blur(20px)',\n transform: 'scale(1.1)',\n zIndex: 0,\n },\n }\n : {}),\n ...(props?.sxStack\n ? typeof props?.sxStack === 'function'\n ? props?.sxStack(theme).default\n : props?.sxStack.default\n : {}),\n },\n })}\n >\n {!isError ? (\n props.componentLoading || isPending ? (\n <Skeleton\n visible\n sx={{\n default: {\n width: '100%',\n height: '100%',\n },\n }}\n />\n ) : null\n ) : null}\n {!isError && (\n <ImageIMG loading='lazy' $isPending={isPending} src={props.src} alt={props.alt} $sx={props.sxImage} />\n )}\n {isError ? props.componentFallback || null : null}\n </Stack>\n );\n};\n"],"names":["ImageIMG","img","props","$isPending","addTransition","addSX","isPending","setIsPending","useState","isError","setIsError","useEffect","src","window","Image","onload","onerror","complete","naturalWidth","jsxs","Stack","sx","theme","sxStack","default","position","overflow","isShowBeforeImage","width","height","content","inset","backgroundImage","backgroundRepeat","backgroundSize","backgroundPosition","filter","transform","zIndex","children","componentLoading","jsx","Skeleton","visible","loading","alt","$sx","sxImage","componentFallback"],"mappings":"yNAOaA,+BAAkBC,GAAA;;;;;aAKlBC,GAAUA,EAAMC,WAAa,EAAI;IAC1CC;IACAC;gBCPkCH,IACpC,MAAOI,EAAWC,GAAgBC,EAAAA,UAAS,IACpCC,EAASC,GAAcF,EAAAA,UAAS,GAoCvC,OAlCAG,EAAAA,UAAU,KACR,IAAKT,EAAMU,IAAK,OAEhB,MAAMX,EAAM,IAAKY,OAAOC,MAwBxB,OAtBAb,EAAIc,OAAS,KACXR,GAAa,GACbG,GAAW,IAGbT,EAAIe,QAAU,KACZT,GAAa,GACbG,GAAW,IAGbT,EAAIW,IAAMV,EAAMU,IAEZX,EAAIgB,WACFhB,EAAIiB,aAAe,GACrBX,GAAa,GACbG,GAAW,KAEXH,GAAa,GACbG,GAAW,KAIR,KACLT,EAAIc,OAAS,KACbd,EAAIe,QAAU,KACdT,GAAa,GACbG,GAAW,KAEZ,CAACR,EAAMU,QAERO,kBAAAA,KAACC,EAAAA,MAAA,CACCC,GAAKC,IAAA,IACA,MAAApB,OAAA,EAAAA,EAAOqB,QACVC,QAAS,CACPC,SAAU,WACVC,SAAU,YACNxB,EAAMyB,kBACN,CACE,YAAa,CACXC,MAAO,OACPC,OAAQ,OACRC,QAAS,KACTL,SAAU,WACVM,MAAO,EACPC,gBAAiB,OAAO9B,EAAMU,OAC9BqB,iBAAkB,YAClBC,eAAgB,QAChBC,mBAAoB,SACpBC,OAAQ,aACRC,UAAW,aACXC,OAAQ,IAGZ,CAAA,MACA,MAAApC,OAAA,EAAAA,EAAOqB,SACmB,yBAAnBrB,WAAOqB,SACZ,MAAArB,OAAA,EAAAA,EAAOqB,QAAQD,GAAOE,QACtB,MAAAtB,OAAA,EAAAA,EAAOqB,QAAQC,QACjB,CAAA,KAIPe,SAAA,CAAC9B,EAYE,KAXFP,EAAMsC,kBAAoBlC,IACxBmC,kBAAAA,IAACC,EAAAA,SAAA,CACCC,SAAO,EACPtB,GAAI,CACFG,QAAS,CACPI,MAAO,OACPC,OAAQ,WAIZ,MAEJpB,GACAgC,EAAAA,kBAAAA,IAACzC,EAAA,CAAS4C,QAAQ,OAAOzC,WAAYG,EAAWM,IAAKV,EAAMU,IAAKiC,IAAK3C,EAAM2C,IAAKC,IAAK5C,EAAM6C,UAE5FtC,GAAUP,EAAM8C,mBAA4B"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"component.styles-DOnQEUrI.js","sources":["../src/hooks/use-image-view/use.tsx","../src/components/image-select/component.tsx","../src/components/image-select/component.styles.ts"],"sourcesContent":["import { Button } from '@local/components/button'\nimport { Image } from '@local/components/image'\nimport { SliderImageProps } from '@local/components/image-slider'\nimport { Stack } from '@local/components/stack'\nimport { Typography } from '@local/components/typography'\nimport { useDialog } from '@local/contexts/context-dialog'\nimport { KEY_SIZE_DATA } from '@local/theme'\n\nimport { useCallback, useMemo } from 'react'\n\nimport { useImageViewProps } from '.'\n\nexport const useImageView = (props: useImageViewProps) => {\n const size = useMemo(() => KEY_SIZE_DATA[props.size], [props.size])\n const br = useMemo(() => `${size.radius}px`, [size.radius])\n\n const { add } = useDialog<{\n br?: string\n }>({\n br: br,\n propsDialog: {\n borderRadius: br,\n padding: '0',\n background: 'whiteStandard'\n }\n })\n const handleAdd = useCallback(\n (image: SliderImageProps) => {\n add({\n content: (params, remove) => (\n <Stack\n sx={{\n default: {\n position: 'relative',\n overflow: 'hidden',\n aspectRatio: `${props.imageSettings.aspect * 2} / 2`,\n width: 'auto',\n maxWidth: '70dvw',\n height: '85dvh',\n borderRadius: params?.br\n },\n tablet: {\n maxWidth: '95dvw'\n }\n }}\n >\n <Image\n sxStack={theme => ({\n default: {\n width: '100%',\n height: '100%',\n alignItems: 'center',\n justifyContent: 'center',\n backgroundColor: theme.palette.black10,\n position: 'absolute',\n pointerEvents: 'none'\n }\n })}\n isShowBeforeImage\n sxImage={{\n default: {\n objectFit: 'contain'\n }\n }}\n alt={image?.imageSrc}\n src={image?.imageSrc}\n componentFallback={\n <Typography\n sx={{\n default: {\n variant: 'h6'\n }\n }}\n >\n {props.locale.imageFallback}\n </Typography>\n }\n />\n <Button\n sx={{\n default: {\n position: 'absolute',\n bottom: 15,\n right: 15\n }\n }}\n genre=\"realebail-white\"\n size=\"small\"\n icons={[\n {\n type: 'id',\n name: 'Arrow4'\n }\n ]}\n isWidthAsHeight\n isHiddenBorder\n isRadius\n onClick={() => remove?.()}\n />\n </Stack>\n )\n })\n },\n [add, props.imageSettings.aspect, props.locale.imageFallback]\n )\n return { handleAdd }\n}\n","import { ImageSupportedFormatsForInput } from '@local/consts';\nimport { useImageCrop } from '@local/hooks/use-image-crop';\nimport { useImageView } from '@local/hooks/use-image-view';\nimport { ErrorMessage } from '@local/styles/error';\nimport { KEY_SIZE_DATA } from '@local/theme';\n\nimport { motion } from 'framer-motion';\nimport { DragEvent, useCallback, useEffect, useMemo, useRef, useState } from 'react';\nimport { useTheme } from 'styled-components';\n\nimport { Button } from '../button';\nimport { Image } from '../image';\nimport { Stack } from '../stack';\nimport { Typography } from '../typography';\nimport { ImageSelectItemProps, ImageSelectListWrapper, ImageSelectProps, ImageSelectWrapper } from '.';\n\nexport const ImageSelect = (props: ImageSelectProps) => {\n const { onChange } = props;\n\n const size = useMemo(() => KEY_SIZE_DATA[props.size], [props.size]);\n\n const [images, setImages] = useState<ImageSelectItemProps[]>(props.images || []);\n\n const [isDraggingOver, setIsDraggingOver] = useState(false);\n\n const refInput = useRef<HTMLInputElement | null>(null);\n\n const theme = useTheme();\n\n const handleDrop = (e: DragEvent<HTMLDivElement>) => {\n e.preventDefault();\n if (e.dataTransfer.files?.length) {\n handleAddFilesCrop(e.dataTransfer.files);\n }\n };\n\n const handleDelete = (id: number) => {\n setImages((prev) => {\n const finalImages = prev.filter((img) => img.id !== id);\n onChange?.(finalImages);\n return finalImages;\n });\n };\n\n const handleOnSave = useCallback(\n (files: ImageSelectItemProps[] | null) => {\n if (files) {\n setImages((prev) => {\n const newImages = files.map((file, idx) => ({\n ...file,\n index: prev.length + idx,\n }));\n const finalImages = [...prev, ...newImages];\n onChange?.(finalImages);\n return finalImages;\n });\n }\n },\n [onChange],\n );\n\n const openFileDialog = () => {\n refInput.current?.click();\n };\n\n const resetImages = () => {\n setImages(props.defaultImages || []);\n onChange?.(props.defaultImages || []);\n };\n\n const { handleAddFiles: handleAddFilesCrop } = useImageCrop({\n onSave: handleOnSave,\n locale: props.locale,\n dialog: {\n button: {\n genre: props.propsButton.default.genre,\n size: props.propsButton.default.size,\n },\n buttonDelete: {\n genre: props.propsButton.delete.genre,\n size: props.propsButton.delete.size,\n },\n },\n imageSettings: {\n maxSize: props.imageSettings.maxSize,\n maxCount: props.imageSettings.maxCount - images.length,\n aspect: props.imageSettings.aspect,\n },\n refInput: refInput,\n });\n\n const { handleAdd } = useImageView({\n size: props.size,\n locale: props.locale,\n imageSettings: props.imageSettings,\n genre: props.genre,\n });\n\n useEffect(() => {\n setImages(props.images || []);\n }, [props.images]);\n\n return (\n <>\n <ImageSelectWrapper $genre={props.genre} $size={props.size} id={props.id} $sx={props.sx} $error={props.error}>\n <ImageSelectListWrapper\n onDrop={(e) => {\n handleDrop(e);\n setIsDraggingOver(false);\n }}\n onDragOver={(e) => e.preventDefault()}\n onDragEnter={() => setIsDraggingOver(true)}\n onDragLeave={() => setIsDraggingOver(false)}\n animate={{\n borderColor: isDraggingOver\n ? theme.colors.imageSelect[props.genre].border.hover\n : theme.colors.imageSelect[props.genre].border.rest,\n }}\n transition={{ duration: 0.3 }}\n $genre={props.genre}\n $size={props.size}\n >\n <motion.div\n transition={{\n layout: {\n duration: 0.3,\n ease: 'easeInOut',\n type: 'spring',\n },\n }}\n layout\n style={{ display: 'flex', flexWrap: 'wrap', gap: `${size.padding - 2}px` }}\n >\n {images.map(\n (img) =>\n img.url && (\n <motion.div\n key={img.id}\n style={{\n position: 'relative',\n width: `${props.imageSettings.width}px`,\n height: `${props.imageSettings.height}px`,\n userSelect: 'none',\n overflow: 'hidden',\n borderRadius: `${size.radius}px`,\n flexGrow: 1,\n }}\n layout\n transition={{\n layout: {\n duration: 0.3,\n ease: 'easeInOut',\n type: 'spring',\n },\n }}\n >\n <Image\n sxStack={(theme) => ({\n default: {\n width: '100%',\n height: '100%',\n alignItems: 'center',\n justifyContent: 'center',\n backgroundColor: theme.palette.black10,\n position: 'absolute',\n pointerEvents: 'none',\n },\n })}\n isShowBeforeImage={props.isContain}\n sxImage={{\n default: {\n objectFit: props.isContain ? 'contain' : 'cover',\n },\n }}\n alt={img.name || 'image'}\n src={img.url}\n componentFallback={\n <Typography\n sx={{\n default: {\n variant: 'h6',\n },\n }}\n >\n {props.locale.imageFallback}\n </Typography>\n }\n />\n <Button\n sx={{\n default: {\n position: 'absolute',\n top: 5,\n right: 5,\n },\n }}\n genre={props.genre}\n size='small'\n icons={[\n {\n type: 'id',\n name: 'Close',\n },\n ]}\n isWidthAsHeight\n isHiddenBorder\n isRadius\n onClick={() => handleDelete(img.id)}\n />\n <Button\n sx={{\n default: {\n position: 'absolute',\n bottom: 5,\n right: 5,\n },\n }}\n genre={props.genre}\n size='small'\n icons={[\n {\n type: 'id',\n name: 'Activity',\n },\n ]}\n isWidthAsHeight\n isHiddenBorder\n isRadius\n onClick={() => img.url && handleAdd({ id: img.id, imageSrc: img.url })}\n />\n </motion.div>\n ),\n )}\n {images.length === 0 ? (\n <div\n onClick={openFileDialog}\n key='empty'\n style={{\n position: 'relative',\n width: `${props.imageSettings.width}px`,\n height: `${props.imageSettings.height}px`,\n userSelect: 'none',\n overflow: 'hidden',\n borderRadius: `${size.radius}px`,\n flexGrow: 1,\n display: 'flex',\n alignItems: 'center',\n justifyContent: 'center',\n textAlign: 'center',\n cursor: 'pointer',\n }}\n >\n <Typography\n style={{\n color: theme.colors.imageSelect[props.genre].color.rest,\n }}\n sx={{\n default: {},\n }}\n >\n {props.locale.dragAndDrop}\n </Typography>\n </div>\n ) : null}\n </motion.div>\n\n <input\n ref={refInput}\n type='file'\n accept={ImageSupportedFormatsForInput}\n multiple\n style={{ display: 'none' }}\n onChange={(e) => {\n if (e.target.files) handleAddFilesCrop(e.target.files);\n }}\n />\n </ImageSelectListWrapper>\n <Stack sx={{ default: { flexGrow: 1, gap: `${size.padding - 2}px` } }}>\n <Button\n type='button'\n genre={props.genre}\n size={props.size}\n sx={{\n default: {\n flexGrow: 3,\n },\n }}\n isRadius\n onClick={openFileDialog}\n >\n {props.locale.buttonAdd}\n </Button>\n <Button\n isRadius\n type='button'\n sx={{\n default: {\n flexGrow: 1,\n },\n }}\n onClick={resetImages}\n genre={props.genre}\n size={props.size}\n >\n {props.locale.buttonReset}\n </Button>\n </Stack>\n </ImageSelectWrapper>\n {props?.error ? (\n <ErrorMessage\n {...props.error}\n size={props?.error.size ?? props.size}\n font={{\n size: 12,\n weight: 400,\n family: theme.font.family,\n }}\n />\n ) : null}\n </>\n );\n};\n","import { motion } from 'framer-motion'\nimport styled, { css } from 'styled-components'\n\nimport { addError } from '@local/styles/error'\nimport { addSX } from '@local/styles/sx'\nimport { IThemeSizePropertyDefault, KEY_SIZE_DATA } from '@local/theme'\n\nimport { ImageSelectWrapperProps } from '.'\n\nconst ImageSelectListGenre = css<ImageSelectWrapperProps>`\n ${props => css`\n background: ${props.theme.colors.imageSelect[props.$genre].background.rest};\n color: ${props.theme.colors.imageSelect[props.$genre].color.rest};\n &:active {\n background: ${props.theme.colors.imageSelect[props.$genre].background.rest};\n color: ${props.theme.colors.imageSelect[props.$genre].color.rest};\n }\n &:focus-visible {\n background: ${props.theme.colors.imageSelect[props.$genre].background.rest};\n color: ${props.theme.colors.imageSelect[props.$genre].color.rest};\n }\n `};\n`\n/****************************************** Size *************************************************/\nexport const ImageSelectListSize = css<ImageSelectWrapperProps>`\n ${props => ImageSelectListSizeConstructor(KEY_SIZE_DATA[props.$size])};\n`\nexport const ImageSelectListSizeConstructor = (props: IThemeSizePropertyDefault) => css`\n padding: ${props.padding}px;\n border-radius: ${props.radius}px;\n`\nexport const ImageSelectSize = css<ImageSelectWrapperProps>`\n ${props => ImageSelectSizeConstructor(KEY_SIZE_DATA[props.$size])};\n`\nexport const ImageSelectSizeConstructor = (props: IThemeSizePropertyDefault) => css`\n gap: ${props.padding - 2}px;\n`\nexport const ImageSelectWrapper = styled.div<ImageSelectWrapperProps>`\n display: flex;\n flex-direction: column;\n width: 100%;\n ${ImageSelectSize};\n ${addError};\n ${addSX};\n`\nexport const ImageSelectListWrapper = styled(motion.div)<ImageSelectWrapperProps>`\n border: 2px dashed;\n\n display: flex;\n flex-direction: column;\n width: 100%;\n ${ImageSelectListGenre}\n ${ImageSelectListSize}\n`\n"],"names":["jsxs","jsx","Fragment","theme"],"mappings":"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"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"component.styles-DjoG6jr2.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,CAAA,UAAS;AACpD,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,CAAA,UACA,MAAM,oBACN;AAAA;AAAA,KAEC;AAAA;AAEE,MAAM,mBAAmB,OAAO;AAAA,gBACvB,CAAA,UAAU,MAAM,YAAY,WAAW,GAAI;AAAA,YAC/C,CAAA,UAAU,MAAM,YAAY,SAAS,GAAI;AAAA,aACxC,CAAA,UAAU,MAAM,YAAY,IAAI,CAAE;AAAA;AAAA,IAE3C,aAAa;AAAA;AAEV,MAAM,sBAAsB,OAAO,IAAI;AAAA;AAAA;AAAA;AAAA,IAI1C,CAAA,UACA,MAAM,YACF;AAAA;AAAA,YAGA;AAAA;AAAA,SAEC;AAAA;"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"component.styles-Dpo373cZ.cjs","sources":["../src/components/accordion/component.styles.ts","../src/components/accordion/component.tsx"],"sourcesContent":["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","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"],"names":["AccordionWrapper","styled","div","AccordionSummary","AccordionSummaryContent","props","$isAccordionIcon","css","AccordionDetails","$expanded","addTransition","AccordionStyledIcon","Icon","onClickSummary","useCallback","onClickIcon","event","stopPropagation","Stack","wrapperProps","children","jsxs","onClick","jsx","isAccordionIcon","accordionSummary","expanded","name","primaryColor","type","size","accordionDetails"],"mappings":"kOAOaA,EAAmBC,EAAOC,GAAA;;;;EAK1BC,EAAmBF,EAAOC,GAAA;;;;;EAM1BE,EAA0BH,EAAOC,GAAA;;;IAG1CG,GACAA,EAAMC,kBACNC,EAAAA,GAAAA;;;EAISC,EAAmBP,EAAOC,GAAA;gBACvBG,GAAUA,EAAMI,UAAY,SAAW;YAC3CJ,GAAUA,EAAMI,UAAY,OAAS;aACpCJ,GAAUA,EAAMI,UAAY,EAAI;;IAEzCC;EAESC,EAAsBV,EAAOW,OAAI;;;;IAI1CP,GACAA,EAAMI,UACFF,EAAAA,GAAAA;;UAGAA,EAAAA,GAAAA;;;oBC9BqCF,IAC3C,MAAMQ,EAAiBC,EAAAA,YAAY,KAC7BT,EAAMQ,gBAAgBR,EAAMQ,kBAC/B,CAACR,IAEEU,EAAcD,EAAAA,YACjBE,IACKX,EAAMU,cACRC,EAAMC,kBAENZ,EAAMU,gBAGV,CAACV,IAGH,+BACGa,QAAA,IAAUb,EAAMc,aACfC,kCAACpB,EAAA,CACCoB,SAAA,GAAAC,kBAAAA,KAAClB,EAAA,CAAiBmB,QAAST,EACzBO,SAAA,CAAAG,wBAACnB,EAAA,CAAwBE,iBAAkBD,EAAMmB,gBAC9CJ,WAAMK,mBAERpB,EAAMmB,iBACLD,EAAAA,kBAAAA,IAACZ,EAAA,CACCF,UAAWJ,EAAMqB,SACjBJ,QAASP,EACTY,KAAK,SACLC,aAAa,WACbC,KAAK,KACLC,KAAK,qCAIVtB,EAAA,CAAiBC,UAAWJ,EAAMqB,SAAWN,WAAMW"}