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

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-BYuHpaUX.js → area-CT83tDk-.js} +10 -8
  6. package/build/area-CT83tDk-.js.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-oZm7ewxw.cjs → area-DRsIULcw.cjs} +2 -2
  10. package/build/{area-oZm7ewxw.cjs.map → area-DRsIULcw.cjs.map} +1 -1
  11. package/build/{area-D7906bXA.cjs → area-Dup_lUb9.cjs} +2 -2
  12. package/build/area-Dup_lUb9.cjs.map +1 -0
  13. package/build/area-outside.cjs.js +1 -1
  14. package/build/area-outside.es.js +1 -1
  15. package/build/area-preview.cjs.js +1 -1
  16. package/build/area-preview.es.js +1 -1
  17. package/build/{area-CkM4ZN2F.js → area-sDVSuS3G.js} +2 -2
  18. package/build/{area-CkM4ZN2F.js.map → area-sDVSuS3G.js.map} +1 -1
  19. package/build/area-scroll.cjs.js +1 -1
  20. package/build/area-scroll.d.ts +1 -1
  21. package/build/area-scroll.es.js +1 -1
  22. package/build/area-skeleton.cjs.js +1 -1
  23. package/build/area-skeleton.d.ts +1 -1
  24. package/build/area-skeleton.es.js +1 -1
  25. package/build/area-smooth.cjs.js +1 -1
  26. package/build/area-smooth.d.ts +1 -1
  27. package/build/area-smooth.es.js +1 -1
  28. package/build/area-t259bohc.cjs +2 -0
  29. package/build/area-t259bohc.cjs.map +1 -0
  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-BYox4gmt.cjs → component-BhPckvLk.cjs} +2 -2
  38. package/build/component-BhPckvLk.cjs.map +1 -0
  39. package/build/component-CLqcB5mM.cjs.map +1 -1
  40. package/build/{component-DJYgewYg.js → component-CN6att4f.js} +2 -2
  41. package/build/{component-DJYgewYg.js.map → component-CN6att4f.js.map} +1 -1
  42. package/build/component-DHM9pbab.js.map +1 -1
  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-CvW0MIM8.js → component-G5QqAuDV.js} +3 -3
  48. package/build/component-G5QqAuDV.js.map +1 -0
  49. package/build/component-GKvpOWlO.cjs +28 -0
  50. package/build/component-GKvpOWlO.cjs.map +1 -0
  51. package/build/{component-DKMsOpqH.js → component-GtWqnaqk.js} +2 -2
  52. package/build/{component-DKMsOpqH.js.map → component-GtWqnaqk.js.map} +1 -1
  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-iHE8mmya.cjs → component.styles-4ycgapiT.cjs} +2 -2
  107. package/build/component.styles-4ycgapiT.cjs.map +1 -0
  108. package/build/{component.styles-BTsmbWT6.cjs → component.styles-B-bndnRM.cjs} +2 -2
  109. package/build/component.styles-B-bndnRM.cjs.map +1 -0
  110. package/build/component.styles-B0L4jbOO.js.map +1 -1
  111. package/build/component.styles-BDKsgd6y.js.map +1 -1
  112. package/build/{component.styles-CPWNnqqm.js → component.styles-BEaqQuF_.js} +3 -3
  113. package/build/{component.styles-CPWNnqqm.js.map → component.styles-BEaqQuF_.js.map} +1 -1
  114. package/build/component.styles-BGYbrzvh.js.map +1 -1
  115. package/build/component.styles-BKnUDWqO.cjs.map +1 -1
  116. package/build/{component.styles-BpvpyZax.cjs → component.styles-Bb7_KygZ.cjs} +2 -2
  117. package/build/{component.styles-BpvpyZax.cjs.map → component.styles-Bb7_KygZ.cjs.map} +1 -1
  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-DOnQEUrI.js → component.styles-CZyAhUtW.js} +7 -7
  121. package/build/component.styles-CZyAhUtW.js.map +1 -0
  122. package/build/component.styles-DS0ofW1Y.js.map +1 -1
  123. package/build/{component.styles-nl99kkS3.js → component.styles-DTnknwt_.js} +2 -2
  124. package/build/{component.styles-nl99kkS3.js.map → component.styles-DTnknwt_.js.map} +1 -1
  125. package/build/{component.styles-DARNjy9P.js → component.styles-DWS6xT-y.js} +2 -2
  126. package/build/{component.styles-DARNjy9P.js.map → component.styles-DWS6xT-y.js.map} +1 -1
  127. package/build/{component.styles-DWGUgUoF.cjs → component.styles-DbWj2stq.cjs} +2 -2
  128. package/build/{component.styles-DWGUgUoF.cjs.map → component.styles-DbWj2stq.cjs.map} +1 -1
  129. package/build/component.styles-Dpg-__rn.cjs.map +1 -1
  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-CI5aQmpr.js} +2 -2
  170. package/build/context.hooks-CI5aQmpr.js.map +1 -0
  171. package/build/{context.hooks-DOygH-Yj.cjs → context.hooks-Ci37RyLf.cjs} +2 -2
  172. package/build/context.hooks-Ci37RyLf.cjs.map +1 -0
  173. package/build/context.hooks-D13tbrva.cjs.map +1 -1
  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-DLVWi2kS.js → use-Bp4KNVye.js} +6 -6
  184. package/build/{use-DLVWi2kS.js.map → use-Bp4KNVye.js.map} +1 -1
  185. package/build/use-Bp8UVw4Y.js.map +1 -1
  186. package/build/use-C1l0O0Qo.cjs.map +1 -1
  187. package/build/{use-Dg449cuf.cjs → use-DQDxWjzu.cjs} +2 -2
  188. package/build/{use-Dg449cuf.cjs.map → use-DQDxWjzu.cjs.map} +1 -1
  189. package/build/use-DT0XgvJT.js.map +1 -1
  190. package/build/use-IhzeVumv.cjs.map +1 -1
  191. package/package.json +4 -3
  192. package/build/area-BC64nSGj.js.map +0 -1
  193. package/build/area-BYuHpaUX.js.map +0 -1
  194. package/build/area-C6QOr2Kd.cjs.map +0 -1
  195. package/build/area-C6XuN6wk.cjs +0 -2
  196. package/build/area-C6XuN6wk.cjs.map +0 -1
  197. package/build/area-D7906bXA.cjs.map +0 -1
  198. package/build/area-DRqAofd0.js.map +0 -1
  199. package/build/component--Oo5_3xq.cjs.map +0 -1
  200. package/build/component-BV_7tGiu.cjs +0 -28
  201. package/build/component-BV_7tGiu.cjs.map +0 -1
  202. package/build/component-BYox4gmt.cjs.map +0 -1
  203. package/build/component-BcHiCCC9.js.map +0 -1
  204. package/build/component-CY7lfJVv.cjs.map +0 -1
  205. package/build/component-CvW0MIM8.js.map +0 -1
  206. package/build/component-WUYE2soZ.js.map +0 -1
  207. package/build/component-jPZYT5iL.js.map +0 -1
  208. package/build/component.constants-B9xzGc3A.cjs.map +0 -1
  209. package/build/component.constants-BrJrCmlA.js.map +0 -1
  210. package/build/component.constants-DRPyaSU8.cjs.map +0 -1
  211. package/build/component.constants-amkB3VHg.js.map +0 -1
  212. package/build/component.styles-BTsmbWT6.cjs.map +0 -1
  213. package/build/component.styles-DOnQEUrI.js.map +0 -1
  214. package/build/component.styles-DjoG6jr2.js.map +0 -1
  215. package/build/component.styles-Dpo373cZ.cjs.map +0 -1
  216. package/build/component.styles-iHE8mmya.cjs.map +0 -1
  217. package/build/component.types-CSnoBg2y.js.map +0 -1
  218. package/build/context.constants-ByXsACU7.cjs.map +0 -1
  219. package/build/context.constants-CvkvB0XC.js.map +0 -1
  220. package/build/context.constants-DRimaVcG.js.map +0 -1
  221. package/build/context.hooks-DOygH-Yj.cjs.map +0 -1
  222. package/build/context.hooks-kga1DMrX.js.map +0 -1
@@ -1 +1 @@
1
- {"version":3,"file":"component-C67KboOB.cjs","sources":["../src/components/typography/component.styles.ts","../src/components/popover/component.tsx","../src/components/popover/component.styles.ts","../src/components/popover/component.constants.tsx","../src/components/tooltip/component.styles.ts","../src/components/tooltip/component.tsx","../src/components/tooltip/component.constants.ts","../src/components/typography/component.tsx"],"sourcesContent":["import { addOutline } from '@local/styles/add';\nimport { addSX as addSXStandard } from '@local/styles/sx';\nimport { JeneseiPalette } from '@local/theme/theme';\n\nimport styled, { css, keyframes } from 'styled-components';\n\nimport { addSXTypographyStyleProps, TypographyAllProps, TypographyCSSProps } from '.';\n\nconst shadowPulse = keyframes`\n 0% {\n text-shadow: 0 0 0 rgba(0, 0, 0, 0);\n }\n 50% {\n text-shadow: 4px 4px 10px rgba(0, 0, 0, 0.5);\n }\n 100% {\n text-shadow: 0 0 0 rgba(0, 0, 0, 0);\n }\n`;\n\nfunction toStyledCSS(value: TypographyAllProps) {\n return css`\n ${\n value.shadow &&\n value.shadow === 'shadowPulse' &&\n css`\n animation: ${shadowPulse} 2s infinite;\n `\n };\n ${\n value.letterSpacing &&\n css`\n letter-spacing: ${value.letterSpacing};\n `\n };\n ${\n value.flex &&\n css`\n flex: ${value.flex};\n `\n };\n ${\n value.cursor &&\n css`\n cursor: ${value.cursor};\n `\n };\n ${\n value.overflow &&\n css`\n overflow: ${value.overflow};\n `\n };\n ${\n value.line !== undefined\n ? value.line === 1\n ? css`\n text-overflow: ellipsis;\n overflow: hidden;\n white-space: nowrap;\n width: -webkit-fill-available;\n max-width: fit-content;\n `\n : css`\n word-break: break-word;\n white-space: normal;\n text-overflow: ellipsis;\n display: -webkit-box;\n overflow: hidden;\n -webkit-box-orient: vertical;\n -webkit-line-clamp: ${value.line};\n width: fit-content;\n overflow-wrap: anywhere;\n `\n : css``\n };\n ${\n value.family &&\n css`\n font-family: ${value.family};\n `\n };\n ${\n value.weight &&\n css`\n font-weight: ${value.weight};\n `\n };\n ${\n value.height &&\n css`\n line-height: ${value.height}px;\n `\n };\n ${\n value.color &&\n css`\n color: ${JeneseiPalette[value.color]};\n `\n };\n ${\n value.align &&\n css`\n text-align: ${value.align};\n `\n };\n ${\n value.wrap &&\n css`\n text-wrap: ${value.wrap};\n `\n };\n ${\n value.decoration &&\n css`\n text-decoration: ${value.decoration};\n `\n };\n ${\n value.transform &&\n css`\n text-transform: ${value.transform};\n `\n };\n ${\n value.isHoverUnderlining &&\n css`\n &:hover {\n text-decoration: underline;\n }\n `\n };\n ${\n value.isNoUserSelect &&\n css`\n user-select: none;\n -webkit-user-select: none;\n -moz-user-select: none;\n -ms-user-select: none;\n `\n };\n ${\n 'size' in value &&\n value.size &&\n css`\n font-size: ${value.size}px;\n `\n };\n ${\n 'variant' in value && value.variant\n ? value.variant === 'h1'\n ? css`\n font-size: ${(props) => props.theme.font.sizeHeading.h1 * props.theme.font.sizeDefault.default}px;\n line-height: ${(props) => props.theme.font.lineHeight};\n margin: 0;\n @media (max-width: ${(props) => props.theme.screens.tablet.width}px) {\n font-size: ${(props) => props.theme.font.sizeHeading.h1 * props.theme.font.sizeDefault.tablet}px;\n }\n\n @media (max-width: ${(props) => props.theme.screens.mobile.width}px) {\n font-size: ${(props) => props.theme.font.sizeHeading.h1 * props.theme.font.sizeDefault.mobile}px;\n }\n `\n : value.variant === 'h2'\n ? css`\n font-size: ${(props) => props.theme.font.sizeHeading.h2 * props.theme.font.sizeDefault.default}px;\n line-height: ${(props) => props.theme.font.lineHeight};\n margin: 0;\n @media (max-width: ${(props) => props.theme.screens.tablet.width}px) {\n font-size: ${(props) => props.theme.font.sizeHeading.h2 * props.theme.font.sizeDefault.tablet}px;\n }\n\n @media (max-width: ${(props) => props.theme.screens.mobile.width}px) {\n font-size: ${(props) => props.theme.font.sizeHeading.h2 * props.theme.font.sizeDefault.mobile}px;\n }\n `\n : value.variant === 'h3'\n ? css`\n font-size: ${(props) => props.theme.font.sizeHeading.h3 * props.theme.font.sizeDefault.default}px;\n line-height: ${(props) => props.theme.font.lineHeight};\n margin: 0;\n @media (max-width: ${(props) => props.theme.screens.tablet.width}px) {\n font-size: ${(props) => props.theme.font.sizeHeading.h3 * props.theme.font.sizeDefault.tablet}px;\n }\n\n @media (max-width: ${(props) => props.theme.screens.mobile.width}px) {\n font-size: ${(props) => props.theme.font.sizeHeading.h3 * props.theme.font.sizeDefault.mobile}px;\n }\n `\n : value.variant === 'h4'\n ? css`\n font-size: ${(props) => props.theme.font.sizeHeading.h4 * props.theme.font.sizeDefault.default}px;\n line-height: ${(props) => props.theme.font.lineHeight};\n margin: 0;\n @media (max-width: ${(props) => props.theme.screens.tablet.width}px) {\n font-size: ${(props) => props.theme.font.sizeHeading.h4 * props.theme.font.sizeDefault.tablet}px;\n }\n\n @media (max-width: ${(props) => props.theme.screens.mobile.width}px) {\n font-size: ${(props) => props.theme.font.sizeHeading.h4 * props.theme.font.sizeDefault.mobile}px;\n }\n `\n : value.variant === 'h5'\n ? css`\n font-size: ${(props) => props.theme.font.sizeHeading.h5 * props.theme.font.sizeDefault.default}px;\n line-height: ${(props) => props.theme.font.lineHeight};\n margin: 0;\n @media (max-width: ${(props) => props.theme.screens.tablet.width}px) {\n font-size: ${(props) => props.theme.font.sizeHeading.h5 * props.theme.font.sizeDefault.tablet}px;\n }\n\n @media (max-width: ${(props) => props.theme.screens.mobile.width}px) {\n font-size: ${(props) => props.theme.font.sizeHeading.h5 * props.theme.font.sizeDefault.mobile}px;\n }\n `\n : value.variant === 'h6'\n ? css`\n font-size: ${(props) => props.theme.font.sizeHeading.h6 * props.theme.font.sizeDefault.default}px;\n line-height: ${(props) => props.theme.font.lineHeight};\n margin: 0;\n @media (max-width: ${(props) => props.theme.screens.tablet.width}px) {\n font-size: ${(props) => props.theme.font.sizeHeading.h6 * props.theme.font.sizeDefault.tablet}px;\n }\n\n @media (max-width: ${(props) => props.theme.screens.mobile.width}px) {\n font-size: ${(props) => props.theme.font.sizeHeading.h6 * props.theme.font.sizeDefault.mobile}px;\n }\n `\n : value.variant === 'h7'\n ? css`\n font-size: ${(props) => props.theme.font.sizeHeading.h7 * props.theme.font.sizeDefault.default}px;\n line-height: ${(props) => props.theme.font.lineHeight};\n margin: 0;\n @media (max-width: ${(props) => props.theme.screens.tablet.width}px) {\n font-size: ${(props) =>\n props.theme.font.sizeHeading.h7 * props.theme.font.sizeDefault.tablet}px;\n }\n\n @media (max-width: ${(props) => props.theme.screens.mobile.width}px) {\n font-size: ${(props) =>\n props.theme.font.sizeHeading.h7 * props.theme.font.sizeDefault.mobile}px;\n }\n `\n : value.variant === 'h8'\n ? css`\n font-size: ${(props) =>\n props.theme.font.sizeHeading.h8 * props.theme.font.sizeDefault.default}px;\n line-height: ${(props) => props.theme.font.lineHeight};\n margin: 0;\n @media (max-width: ${(props) => props.theme.screens.tablet.width}px) {\n font-size: ${(props) =>\n props.theme.font.sizeHeading.h8 * props.theme.font.sizeDefault.tablet}px;\n }\n\n @media (max-width: ${(props) => props.theme.screens.mobile.width}px) {\n font-size: ${(props) =>\n props.theme.font.sizeHeading.h8 * props.theme.font.sizeDefault.mobile}px;\n }\n `\n : value.variant === 'h9'\n ? css`\n font-size: ${(props) =>\n props.theme.font.sizeHeading.h9 * props.theme.font.sizeDefault.default}px;\n line-height: ${(props) => props.theme.font.lineHeight};\n margin: 0;\n @media (max-width: ${(props) => props.theme.screens.tablet.width}px) {\n font-size: ${(props) =>\n props.theme.font.sizeHeading.h9 * props.theme.font.sizeDefault.tablet}px;\n }\n\n @media (max-width: ${(props) => props.theme.screens.mobile.width}px) {\n font-size: ${(props) =>\n props.theme.font.sizeHeading.h9 * props.theme.font.sizeDefault.mobile}px;\n }\n `\n : null\n : null\n };\n `;\n}\n\nexport const addSXTypography = css<addSXTypographyStyleProps>`\n ${(props) => {\n const rawSX = props.$sxTypography;\n if (!rawSX) return null;\n return toStyledCSS(rawSX.default);\n }}\n\n ${(props) => {\n const rawSX = props.$sxTypography;\n if (!rawSX) return null;\n\n return Object.entries(rawSX)\n .filter(([key]) => key !== 'default')\n .map(([deviceKey, value]) => {\n const screenWidth = props.theme.screens[deviceKey as keyof typeof props.theme.screens]?.width;\n if (!screenWidth) return null;\n return css`\n @media (max-width: ${screenWidth}px) {\n ${toStyledCSS(value)}\n }\n `;\n });\n }}\n`;\n\nconst TypographyCSS = css<TypographyCSSProps>`\n font-style: normal;\n position: relative;\n overflow: visible;\n text-overflow: ellipsis;\n overflow-wrap: anywhere;\n line-height: ${(props) => props.theme.font.lineHeight};\n ${addSXTypography};\n ${addSXStandard}\n`;\n\nexport const Title = styled.span<TypographyCSSProps>`\n ${TypographyCSS}\n ${addOutline}\n`;\n","import { KEY_SIZE_DATA } from '@local/theme';\n\nimport { autoUpdate, flip, offset, shift, useFloating } from '@floating-ui/react';\nimport { AnimatePresence } from 'framer-motion';\nimport { FC, Ref, useCallback, useEffect, useLayoutEffect, useMemo, useRef, useState } from 'react';\nimport ReactDOM from 'react-dom';\nimport { useTheme } from 'styled-components';\n\nimport { DEFAULT_POPOVER_CLOSE_DELAY, DEFAULT_POPOVER_OFFSET, PopoverProps, PopoverWrapper, UsePopoverProps } from '.';\n\nexport const Popover: FC<PopoverProps> = (props) => {\n const theme = useTheme();\n return ReactDOM.createPortal(\n <AnimatePresence>\n {props.isOpen && (\n <div\n tabIndex={-1}\n ref={props.ref as Ref<HTMLDivElement | null>}\n style={{\n position: 'absolute',\n top: 0,\n left: 0,\n ...props.floatingStyles,\n transform: props.floatingStyles.transform,\n zIndex: 9999,\n }}\n >\n <PopoverWrapper\n tabIndex={-1}\n $isShowAlwaysOutline={props.isShowAlwaysOutline}\n $genre={props.genre ?? 'black'}\n $font={{\n size: props.font?.size ?? KEY_SIZE_DATA[props.size ?? 'medium'].font,\n weight: props.font?.weight ?? 700,\n family: props.font?.family ?? theme.font.family,\n height: props.font?.height,\n }}\n className={props.className}\n initial={{ opacity: 0, scale: 0.95 }}\n animate={{ opacity: 1, scale: 1 }}\n exit={{ opacity: 0, scale: 0.95 }}\n transition={{ duration: 0.2 }}\n $sx={props.sx}\n $size={props.size}\n $sxTypography={props.sxTypography}\n $maxHeight={props.maxHeight}\n $maxWidth={props.maxWidth}\n >\n {props.children}\n </PopoverWrapper>\n </div>\n )}\n </AnimatePresence>,\n document.body,\n );\n};\n\nexport const usePopover = (props: UsePopoverProps) => {\n const { onFocus, onBlur, onBlurReference } = props;\n\n // Состояние открытия поповера\n const [isOpen, setIsOpen] = useState(false);\n // Минимальная ширина поповера (нужна, если хотим, чтобы ширина совпадала с референсом)\n const [minWidth, setMinWidth] = useState<number | undefined>(undefined);\n // Флаг, был ли поповер когда-либо открыт (чтобы onBlur не вызывался при первом рендере)\n const [wasEverOpen, setWasEverOpen] = useState(false);\n\n // Позиционирование через floating-ui\n const {\n refs,\n floatingStyles,\n update,\n placement: actualPlacement,\n } = useFloating({\n open: isOpen,\n placement: props.placement,\n middleware: [offset(props.offset ?? 8), flip(), shift()],\n whileElementsMounted: autoUpdate,\n });\n\n // Сохраняем обработчик клика вне поповера (чтобы можно было удалить при cleanup)\n const clickOutsideHandler = useRef<((e: MouseEvent) => void) | null>(null);\n // Таймаут для закрытия при hover-режиме\n const hoverCloseTimeout = useRef<ReturnType<typeof setTimeout> | null>(null);\n\n // Отступ для hover-зоны (чтобы не закрывался мгновенно при небольших движениях мыши)\n const hoverOffset = useMemo(\n () => props.hoverOffset ?? props.offset ?? DEFAULT_POPOVER_OFFSET,\n [props.hoverOffset, props.offset],\n );\n // Задержка перед закрытием при hover\n const hoverCloseDelay = useMemo(() => props.hoverCloseDelay ?? DEFAULT_POPOVER_CLOSE_DELAY, [props.hoverCloseDelay]);\n\n /**\n * Навешиваем обработчики на reference-элемент в зависимости от режима:\n * - click / clickOpen → открытие/переключение по клику\n * - hover → открытие/закрытие при наведении\n */\n useEffect(() => {\n if (props.isDisabled) return;\n const refEl = refs.reference.current;\n if (!refEl) return;\n\n // Режим клика\n if ((props.mode === 'click' || props.mode === 'clickOpen') && refEl instanceof HTMLElement) {\n const handleClick = () => {\n if (props.mode === 'click') {\n setIsOpen((prev) => !prev);\n } else if (props.mode === 'clickOpen') {\n setIsOpen(true);\n }\n };\n\n refEl.addEventListener('click', handleClick);\n return () => {\n refEl.removeEventListener('click', handleClick);\n };\n\n // Режим ховера\n } else if (props.mode === 'hover' && refEl instanceof HTMLElement) {\n const handleMouseEnter = () => {\n setIsOpen(true);\n };\n const handleMouseLeave = () => {\n if (hoverCloseTimeout.current) clearTimeout(hoverCloseTimeout.current);\n hoverCloseTimeout.current = setTimeout(() => setIsOpen(false), hoverCloseDelay);\n };\n\n refEl.addEventListener('mouseenter', handleMouseEnter);\n refEl.addEventListener('mouseleave', handleMouseLeave);\n return () => {\n refEl.removeEventListener('mouseenter', handleMouseEnter);\n refEl.removeEventListener('mouseleave', handleMouseLeave);\n if (hoverCloseTimeout.current) clearTimeout(hoverCloseTimeout.current);\n };\n }\n }, [props.mode, refs.reference, hoverCloseDelay, props.isDisabled]);\n\n // Автоматическое обновление позиции, пока поповер открыт\n useEffect(() => {\n if (!isOpen || !refs.reference.current || !refs.floating.current || props.isDisabled) return;\n\n const cleanup = autoUpdate(refs.reference.current, refs.floating.current, update);\n\n return () => cleanup();\n }, [isOpen, refs.reference, refs.floating, update, props.isDisabled]);\n\n /**\n * Логика закрытия поповера при клике вне него\n */\n useEffect(() => {\n if (!isOpen || !refs.reference.current || !refs.floating.current || props.isDisabled) return;\n\n if (props.isClickOutside) {\n clickOutsideHandler.current = (e: MouseEvent) => {\n const refEl = refs.reference.current;\n const floatingEl = refs.floating.current;\n const otherRefs = props.refsExcludeClickOutside || [];\n\n // Проверяем, что клик не по поповеру, не по reference и не по исключенным ref'ам\n if (\n refEl instanceof HTMLElement &&\n floatingEl instanceof HTMLElement &&\n !refEl.contains(e.target as Node) &&\n !floatingEl.contains(e.target as Node) &&\n !otherRefs.some((ref) => {\n if (typeof ref === 'object' && ref !== null && 'current' in ref) {\n return (ref.current as HTMLElement | null)?.contains(e.target as Node);\n }\n return false;\n })\n ) {\n setIsOpen(false);\n }\n };\n\n document.addEventListener('mousedown', clickOutsideHandler.current);\n }\n\n return () => {\n if (clickOutsideHandler.current) {\n document.removeEventListener('mousedown', clickOutsideHandler.current);\n clickOutsideHandler.current = null;\n }\n if (hoverCloseTimeout.current) {\n clearTimeout(hoverCloseTimeout.current);\n }\n };\n }, [isOpen, refs.reference, refs.floating, props.isClickOutside, props.isDisabled, props.refsExcludeClickOutside]);\n\n /**\n * Поддержка режима \"плавающего hover\"\n * Закрывает поповер, если мышь ушла за пределы reference+floating с отступом\n */\n useEffect(() => {\n if (!isOpen || !props.isFloatingHover || !refs.reference.current || !refs.floating.current || props.isDisabled)\n return;\n\n const refEl = refs.reference.current;\n const floatingEl = refs.floating.current;\n\n const handleMouseMove = (e: MouseEvent) => {\n const mouseX = e.clientX;\n const mouseY = e.clientY;\n\n const refRect = refEl.getBoundingClientRect();\n const floatingRect = floatingEl.getBoundingClientRect();\n\n // Находим, внутри ли курсор reference или floating с учётом отступа\n const isInsideRef =\n mouseX >= refRect.left - hoverOffset &&\n mouseX <= refRect.right + hoverOffset &&\n mouseY >= refRect.top - hoverOffset &&\n mouseY <= refRect.bottom + hoverOffset;\n\n const isInsideFloating =\n mouseX >= floatingRect.left - hoverOffset &&\n mouseX <= floatingRect.right + hoverOffset &&\n mouseY >= floatingRect.top - hoverOffset &&\n mouseY <= floatingRect.bottom + hoverOffset;\n\n if (isInsideRef || isInsideFloating) {\n // Если вернулись внутрь — отменяем закрытие\n if (hoverCloseTimeout.current) {\n clearTimeout(hoverCloseTimeout.current);\n hoverCloseTimeout.current = null;\n }\n } else {\n // Если вышли — запускаем таймер на закрытие\n if (hoverCloseTimeout.current) clearTimeout(hoverCloseTimeout.current);\n hoverCloseTimeout.current = setTimeout(() => setIsOpen(false), hoverCloseDelay);\n }\n };\n\n document.addEventListener('mousemove', handleMouseMove);\n\n return () => {\n document.removeEventListener('mousemove', handleMouseMove);\n if (hoverCloseTimeout.current) {\n clearTimeout(hoverCloseTimeout.current);\n }\n };\n }, [isOpen, props.isFloatingHover, refs.reference, refs.floating, hoverOffset, hoverCloseDelay, props.isDisabled]);\n\n /**\n * Устанавливаем минимальную ширину поповера, равную reference (если включено isWidthAsContent)\n */\n useLayoutEffect(() => {\n if (!props.isWidthAsContent || !refs.reference.current) return;\n const rect = refs.reference.current.getBoundingClientRect();\n setMinWidth(rect.width);\n }, [props.isWidthAsContent, refs.reference]);\n\n // Методы управления открытием\n const open = useCallback(() => {\n if (props.isDisabled) return;\n setIsOpen(true);\n }, [props.isDisabled]);\n const close = useCallback(() => {\n if (props.isDisabled) return;\n setIsOpen(false);\n }, [props.isDisabled]);\n const toggle = useCallback(() => {\n if (props.isDisabled) return;\n setIsOpen((prev) => !prev);\n }, [props.isDisabled]);\n\n // Объединяем стили floating-ui с дополнительными ограничениями по ширине\n const combinedStyles = useMemo(() => {\n return {\n ...floatingStyles,\n minWidth: props.isWidthAsContent && minWidth ? `${minWidth}px` : undefined,\n maxWidth: props.isWidthAsContent && minWidth ? `${minWidth}px` : undefined,\n };\n }, [floatingStyles, props.isWidthAsContent, minWidth]);\n\n /**\n * Вызываем onFocus при открытии\n * и запоминаем, что поповер хоть раз был открыт\n */\n useEffect(() => {\n if (isOpen) {\n onFocus?.();\n setWasEverOpen(true);\n }\n }, [isOpen, onFocus]);\n\n /**\n * Вызываем onBlur при первом закрытии после открытия\n */\n useEffect(() => {\n if (!isOpen && wasEverOpen) {\n onBlur?.();\n }\n }, [isOpen, wasEverOpen, onBlur]);\n\n /**\n * Закрытие при потере фокуса (focusin вне поповера + reference)\n * (но не на исключённые элементы)\n */\n useEffect(() => {\n if (!isOpen || props.isDisabled) return;\n\n const handleFocusIn = (e: FocusEvent) => {\n const refEl = refs.reference.current;\n const floatingEl = refs.floating.current;\n const otherRefs = props.refsExcludeClickOutside || [];\n\n const isInside =\n (refEl instanceof HTMLElement && refEl.contains(e.target as Node)) ||\n (floatingEl instanceof HTMLElement && floatingEl.contains(e.target as Node)) ||\n otherRefs.some((ref) => {\n if (ref && 'current' in ref && ref.current && ref.current instanceof HTMLElement) {\n return ref.current.contains(e.target as Node);\n }\n return false;\n });\n\n if (!isInside) {\n setIsOpen(false);\n }\n };\n\n document.addEventListener('focusin', handleFocusIn);\n\n return () => {\n document.removeEventListener('focusin', handleFocusIn);\n };\n }, [isOpen, refs.reference, refs.floating, props.refsExcludeClickOutside, props.isDisabled]);\n\n /**\n * Вызываем onBlurReference, если фокус ушёл с reference-элемента\n * (но не на исключённые элементы)\n */\n useEffect(() => {\n if (!refs.reference.current || props.isDisabled || !onBlurReference) return;\n\n const refEl = refs.reference.current;\n const otherRefs = props.refsExcludeBlur || [];\n\n const handleBlur = (e: FocusEvent) => {\n if (\n refEl instanceof HTMLElement &&\n !refEl.contains(e.relatedTarget as Node) &&\n !otherRefs.some((ref) => {\n if (ref && 'current' in ref && ref.current && ref.current instanceof HTMLElement)\n return ref.current.contains(e.relatedTarget as Node);\n })\n ) {\n onBlurReference();\n }\n };\n\n if (refEl instanceof HTMLElement) refEl.addEventListener('blur', handleBlur, true);\n\n return () => {\n if (refEl instanceof HTMLElement) refEl.removeEventListener('blur', handleBlur, true);\n };\n }, [refs.reference, props.isDisabled, onBlurReference, props.refsExcludeBlur]);\n\n /**\n * Функция возвращает true или false в зависимости от состояния от FocusEvent который находится внутри или снаружи\n */\n const getIsInside = useCallback(\n (target: Node | null) => {\n if (!target) return false; // если relatedTarget null, значит фокус ушёл вне окна — закрываем\n\n const refEl = refs.reference.current;\n const floatingEl = refs.floating.current;\n const otherRefs = props.refsExcludeBlur || [];\n\n return (\n (refEl instanceof HTMLElement && refEl.contains(target)) ||\n (floatingEl instanceof HTMLElement && floatingEl.contains(target)) ||\n otherRefs.some((ref) => {\n if (ref && 'current' in ref && ref.current && ref.current instanceof HTMLElement) {\n return ref.current.contains(target);\n }\n return false;\n })\n );\n },\n [refs.reference, refs.floating, props.refsExcludeBlur],\n );\n // Возвращаем наружу API для использования поповера\n return {\n getIsInside,\n isOpen,\n setIsOpen,\n open,\n close,\n toggle,\n refReference: refs.setReference as Ref<HTMLElement | null>,\n refFloating: refs.setFloating as Ref<HTMLElement | null>,\n floatingStyles: combinedStyles,\n placement: actualPlacement,\n };\n};\n","import { addSXTypography } from '@local/components/typography';\nimport { addAlwaysOutline, addFont } from '@local/styles/add';\nimport { addSX } from '@local/styles/sx';\nimport { IThemeSizePropertyDefault, KEY_SIZE_DATA } from '@local/theme';\n\nimport { motion } from 'framer-motion';\nimport styled, { css } from 'styled-components';\n\nimport { StyledPopoverProps } from '.';\n\n/****************************************** Popover Genre *************************************************/\nconst addPopoverGenre = css<StyledPopoverProps>`\n ${(props) => css`\n background: ${props.theme.colors.button[props.$genre].background.rest};\n border-color: ${props.theme.colors.button[props.$genre].border.rest};\n color: ${props.theme.colors.button[props.$genre].color.rest};\n /* box-shadow: ${props.theme.effects.button}; */\n `};\n`;\n\n/****************************************** Popover Size *************************************************/\nexport const addPopoverSize = css<StyledPopoverProps>`\n ${(props) =>\n addPopoverSizeConstructor({\n ...KEY_SIZE_DATA[props.$size ?? 'medium'],\n })};\n`;\nexport const addPopoverSizeConstructor = (props: IThemeSizePropertyDefault) => css`\n display: flex;\n border-radius: ${props.radius}px;\n padding: ${props.padding}px;\n gap: ${props.padding - 2}px;\n`;\n\n/****************************************** Default *************************************************/\nexport const PopoverWrapper = styled(motion.div)<StyledPopoverProps>`\n max-width: ${(props) => props.$maxWidth || '100%'};\n max-height: ${(props) => props.$maxHeight || '100%'};\n overflow: auto;\n flex-direction: column;\n ${addFont};\n ${addPopoverSize};\n ${addAlwaysOutline};\n ${addSXTypography};\n ${addPopoverGenre};\n ${addSX};\n`;\n","export const DEFAULT_POPOVER_OFFSET = 8\nexport const DEFAULT_POPOVER_CLOSE_DELAY = 100\n","import styled, { css } from 'styled-components'\n\nimport { IThemeSizePropertyDefault, KEY_SIZE_DATA } from '@local/theme'\n\nimport { Popover, PopoverProps } from '../popover'\nimport { Stack } from '../stack'\n\nexport const TooltipContainer = styled(Stack)`\n display: flex;\n width: fit-content;\n height: fit-content;\n`\n\nexport const addTooltipBoxSize = css<PopoverProps>`\n ${props =>\n addTooltipBoxSizeConstructor({\n ...KEY_SIZE_DATA[props.size ?? 'medium']\n })};\n`\nexport const addTooltipBoxSizeConstructor = (props: IThemeSizePropertyDefault) => css`\n gap: 0px;\n padding: ${props.padding}px ${props.padding}px 0px ${props.padding}px;\n :after {\n content: '';\n display: block;\n height: ${props.padding}px;\n width: 100%;\n }\n`\n\n/****************************************** TooltipBox *************************************************/\nexport const TooltipBox = styled(Popover)`\n ${addTooltipBoxSize};\n`\n","import { FC, Ref, memo } from 'react'\n\nimport { Typography } from '@local/components/typography'\n\nimport {\n DEFAULT_TOOLTIP_OFFSET_FALLBACK,\n DEFAULT_TOOLTIP_PLACEMENT_FALLBACK,\n TooltipBox,\n TooltipContainer,\n TooltipProps\n} from '.'\nimport { usePopover } from '../popover'\n\nexport const Tooltip: FC<TooltipProps> = memo(props => {\n if (props.isDisabled) return <>{props.children}</>\n\n return <TooltipContent {...props} />\n})\n\nexport const TooltipContent: FC<TooltipProps> = props => {\n const { isOpen, refReference, refFloating, floatingStyles } = usePopover({\n placement: props.placement ?? DEFAULT_TOOLTIP_PLACEMENT_FALLBACK,\n offset: props.offset ?? DEFAULT_TOOLTIP_OFFSET_FALLBACK,\n mode: props.mode ?? 'hover',\n isClickOutside: props.isClickOutside ?? true,\n isFloatingHover: props.isFloatingHover ?? true,\n isWidthAsContent: props.isWidthAsContent ?? false,\n hoverCloseDelay: props.hoverCloseDelay ?? undefined,\n hoverOffset: props.hoverOffset ?? undefined\n })\n return (\n <>\n <TooltipContainer sx={props.sx} ref={refReference as Ref<HTMLDivElement | null>}>\n {props.children}\n </TooltipContainer>\n <TooltipBox\n size={props.size}\n isOpen={isOpen}\n genre={props.genre}\n floatingStyles={floatingStyles}\n ref={refFloating}\n maxHeight={props.maxHeight}\n maxWidth={props.maxWidth}\n >\n <Typography\n sx={\n props.sxTypography ?? {\n default: {\n size: 14\n }\n }\n }\n >\n {props.content}\n </Typography>\n </TooltipBox>\n </>\n )\n}\n\nTooltip.displayName = 'Tooltip'\n","import { Placement } from '@floating-ui/react'\n\nexport const DEFAULT_TOOLTIP_PLACEMENT_FALLBACK: Placement = 'bottom-start'\nexport const DEFAULT_TOOLTIP_OFFSET_FALLBACK: number = 8\n","import { useScreenWidth } from '@local/contexts/context-screen-width';\n\nimport { createLink, LinkProps } from '@tanstack/react-router';\nimport { memo, useEffect, useMemo, useRef, useState } from 'react';\n\nimport { Tooltip } from '../tooltip';\nimport { Title, TypographyCSSProps, TypographyProps, TypographyTooltipProps } from '.';\n\nconst TypographyWithRef = (props: TypographyProps) => {\n const { screenActual } = useScreenWidth();\n const cssProps: TypographyCSSProps & Pick<TypographyProps, 'onClick' | 'className' | 'style'> = useMemo(\n () => ({\n $sxTypography: props.sx,\n style: props.style,\n className: props.className,\n $sx: props.sxStandard,\n $isDisabledOutline: props.isDisabledOutline,\n $isOutlineBoxShadow: props.isOutlineBoxShadow,\n $isReadOnly: props.isReadOnly,\n onClick: props.onClick ? props.onClick : () => {},\n }),\n [\n props.sx,\n props.style,\n props.className,\n props.sxStandard,\n props.onClick,\n props.isDisabledOutline,\n props.isOutlineBoxShadow,\n props.isReadOnly,\n ],\n );\n\n const screenSX = useMemo(() => props.sx?.[screenActual] ?? props.sx?.default, [props.sx, screenActual]);\n\n if (screenSX && 'variant' in screenSX) {\n if (screenSX.variant === 'h7' || screenSX.variant === 'h8' || screenSX.variant === 'h9') {\n return (\n <Title\n // biome-ignore lint/suspicious/noExplicitAny: <explanation>\n ref={props.ref as any}\n as={props.isAnchor ? 'a' : props.isParagraph ? 'p' : props.isSpan ? 'span' : 'span'}\n href={props.href}\n {...cssProps}\n >\n {props.children}\n </Title>\n );\n } else {\n return (\n <Title\n // biome-ignore lint/suspicious/noExplicitAny: <explanation>\n ref={props.ref as any}\n as={props.isAnchor ? 'a' : props.isParagraph ? 'p' : props.isSpan ? 'span' : screenSX.variant}\n href={props.href}\n {...cssProps}\n >\n {props.children}\n </Title>\n );\n }\n }\n\n return (\n <Title\n // biome-ignore lint/suspicious/noExplicitAny: <explanation>\n ref={props.ref as any}\n as={props.isAnchor ? 'a' : props.isParagraph ? 'p' : props.isSpan ? 'span' : 'span'}\n href={props.href}\n {...cssProps}\n >\n {props.children}\n </Title>\n );\n};\n\nexport const Typography = (props: TypographyProps) => {\n return <TypographyWithRef {...props} />;\n};\n\nconst TypographySizeIsAnchor = (props: TypographyProps & LinkProps) => {\n return <TypographyWithRef isAnchor {...props} ref={props.ref} href={props.href} />;\n};\n\nexport const TypographyLink = createLink(TypographySizeIsAnchor);\n\nexport const TypographyTooltip = memo((props: TypographyTooltipProps) => {\n const [isOverflowing, setIsOverflowing] = useState(false);\n const contentRef = useRef<HTMLDivElement>(null);\n\n // biome-ignore lint/correctness/useExhaustiveDependencies: <explanation>\n useEffect(() => {\n const checkOverflow = () => {\n if (contentRef.current) {\n setIsOverflowing(contentRef.current.scrollWidth > contentRef.current.clientWidth);\n }\n };\n checkOverflow();\n window.addEventListener('resize', checkOverflow);\n return () => window.removeEventListener('resize', checkOverflow);\n }, [props.children]);\n\n return (\n <Tooltip isDisabled={!isOverflowing} content={props.children} {...props.tooltip}>\n <TypographyWithRef ref={contentRef} {...props.typography} style={{ position: 'relative' }}>\n {props.children}\n </TypographyWithRef>\n </Tooltip>\n );\n});\n\nTypographyTooltip.displayName = 'TypographyTooltip';\nTypographyWithRef.displayName = 'TypographyWithRef';\nTypographySizeIsAnchor.displayName = 'TypographySizeIsAnchor';\n"],"names":["shadowPulse","keyframes","toStyledCSS","value","css","shadow","letterSpacing","flex","cursor","overflow","line","family","weight","height","color","JeneseiPalette","align","wrap","decoration","transform","isHoverUnderlining","isNoUserSelect","size","variant","props","theme","font","sizeHeading","h1","sizeDefault","default","lineHeight","screens","tablet","width","mobile","h2","h3","h4","h5","h6","h7","h8","h9","addSXTypography","rawSX","$sxTypography","Object","entries","filter","key","map","deviceKey","screenWidth","_a","TypographyCSS","addSXStandard","Title","styled","span","addOutline","Popover","useTheme","ReactDOM","createPortal","jsx","AnimatePresence","children","isOpen","tabIndex","ref","style","position","top","left","floatingStyles","zIndex","PopoverWrapper","$isShowAlwaysOutline","isShowAlwaysOutline","$genre","genre","$font","KEY_SIZE_DATA","_b","_c","_d","className","initial","opacity","scale","animate","exit","transition","duration","$sx","sx","$size","sxTypography","$maxHeight","maxHeight","$maxWidth","maxWidth","document","body","usePopover","onFocus","onBlur","onBlurReference","setIsOpen","useState","minWidth","setMinWidth","wasEverOpen","setWasEverOpen","refs","update","placement","actualPlacement","useFloating","open","middleware","offset","flip","shift","whileElementsMounted","autoUpdate","clickOutsideHandler","useRef","hoverCloseTimeout","hoverOffset","useMemo","DEFAULT_POPOVER_OFFSET","hoverCloseDelay","DEFAULT_POPOVER_CLOSE_DELAY","useEffect","isDisabled","refEl","reference","current","mode","HTMLElement","handleClick","prev","addEventListener","removeEventListener","handleMouseEnter","handleMouseLeave","clearTimeout","setTimeout","floating","cleanup","isClickOutside","e","floatingEl","otherRefs","refsExcludeClickOutside","contains","target","some","isFloatingHover","handleMouseMove","mouseX","clientX","mouseY","clientY","refRect","getBoundingClientRect","floatingRect","isInsideRef","right","bottom","isInsideFloating","useLayoutEffect","isWidthAsContent","rect","useCallback","close","toggle","combinedStyles","handleFocusIn","refsExcludeBlur","handleBlur","relatedTarget","getIsInside","refReference","setReference","refFloating","setFloating","addPopoverGenre","colors","button","background","rest","border","effects","addPopoverSize","addPopoverSizeConstructor","radius","padding","motion","div","addFont","addAlwaysOutline","addSX","TooltipContainer","Stack","addTooltipBoxSize","addTooltipBoxSizeConstructor","TooltipBox","Tooltip","memo","Fragment","TooltipContent","DEFAULT_TOOLTIP_PLACEMENT_FALLBACK","DEFAULT_TOOLTIP_OFFSET_FALLBACK","jsxs","Typography","content","displayName","TypographyWithRef","screenActual","useScreenWidth","cssProps","sxStandard","$isDisabledOutline","isDisabledOutline","$isOutlineBoxShadow","isOutlineBoxShadow","$isReadOnly","isReadOnly","onClick","screenSX","as","isAnchor","isParagraph","isSpan","href","TypographySizeIsAnchor","TypographyLink","createLink","TypographyTooltip","isOverflowing","setIsOverflowing","contentRef","checkOverflow","scrollWidth","clientWidth","window","tooltip","typography"],"mappings":"8aAQMA,EAAcC,EAAAA,SAAAA;;;;;;;;;;EAYpB,SAASC,EAAYC,GACnB,OAAOC,EAAAA,GAAAA;MAEHD,EAAME,QACW,gBAAjBF,EAAME,QACND,EAAAA,GAAAA;mBACaJ;;MAIbG,EAAMG,eACNF,EAAAA,GAAAA;wBACkBD,EAAMG;;MAIxBH,EAAMI,MACNH,EAAAA,GAAAA;cACQD,EAAMI;;MAIdJ,EAAMK,QACNJ,EAAAA,GAAAA;gBACUD,EAAMK;;MAIhBL,EAAMM,UACNL,EAAAA,GAAAA;kBACYD,EAAMM;;WAIH,IAAfN,EAAMO,KACa,IAAfP,EAAMO,KACJN,EAAAA,GAAAA;;;;;;YAOAA,EAAAA,GAAAA;;;;;;;kCAOsBD,EAAMO;;;YAI9BN,EAAAA,GAAAA;MAGJD,EAAMQ,QACNP,EAAAA,GAAAA;qBACeD,EAAMQ;;MAIrBR,EAAMS,QACNR,EAAAA,GAAAA;qBACeD,EAAMS;;MAIrBT,EAAMU,QACNT,EAAAA,GAAAA;qBACeD,EAAMU;;MAIrBV,EAAMW,OACNV,EAAAA,GAAAA;eACSW,EAAAA,eAAeZ,EAAMW;;MAI9BX,EAAMa,OACNZ,EAAAA,GAAAA;oBACcD,EAAMa;;MAIpBb,EAAMc,MACNb,EAAAA,GAAAA;mBACaD,EAAMc;;MAInBd,EAAMe,YACNd,EAAAA,GAAAA;yBACmBD,EAAMe;;MAIzBf,EAAMgB,WACNf,EAAAA,GAAAA;wBACkBD,EAAMgB;;MAIxBhB,EAAMiB,oBACNhB,EAAAA,GAAAA;;;;;MAOAD,EAAMkB,gBACNjB,EAAAA,GAAAA;;;;;;MAQA,SAAUD,GACVA,EAAMmB,MACNlB,EAAAA,GAAAA;mBACaD,EAAMmB;;MAInB,YAAanB,GAASA,EAAMoB,QACN,OAAlBpB,EAAMoB,QACJnB,EAAAA,GAAAA;yBACcoB,GAAUA,EAAMC,MAAMC,KAAKC,YAAYC,GAAKJ,EAAMC,MAAMC,KAAKG,YAAYC;2BACvEN,GAAUA,EAAMC,MAAMC,KAAKK;;iCAErBP,GAAUA,EAAMC,MAAMO,QAAQC,OAAOC;2BAC3CV,GAAUA,EAAMC,MAAMC,KAAKC,YAAYC,GAAKJ,EAAMC,MAAMC,KAAKG,YAAYI;;;iCAGnET,GAAUA,EAAMC,MAAMO,QAAQG,OAAOD;2BAC3CV,GAAUA,EAAMC,MAAMC,KAAKC,YAAYC,GAAKJ,EAAMC,MAAMC,KAAKG,YAAYM;;YAGvE,OAAlBhC,EAAMoB,QACJnB,EAAAA,GAAAA;2BACcoB,GAAUA,EAAMC,MAAMC,KAAKC,YAAYS,GAAKZ,EAAMC,MAAMC,KAAKG,YAAYC;6BACvEN,GAAUA,EAAMC,MAAMC,KAAKK;;mCAErBP,GAAUA,EAAMC,MAAMO,QAAQC,OAAOC;6BAC3CV,GAAUA,EAAMC,MAAMC,KAAKC,YAAYS,GAAKZ,EAAMC,MAAMC,KAAKG,YAAYI;;;mCAGnET,GAAUA,EAAMC,MAAMO,QAAQG,OAAOD;6BAC3CV,GAAUA,EAAMC,MAAMC,KAAKC,YAAYS,GAAKZ,EAAMC,MAAMC,KAAKG,YAAYM;;cAGvE,OAAlBhC,EAAMoB,QACJnB,EAAAA,GAAAA;6BACcoB,GAAUA,EAAMC,MAAMC,KAAKC,YAAYU,GAAKb,EAAMC,MAAMC,KAAKG,YAAYC;+BACvEN,GAAUA,EAAMC,MAAMC,KAAKK;;qCAErBP,GAAUA,EAAMC,MAAMO,QAAQC,OAAOC;+BAC3CV,GAAUA,EAAMC,MAAMC,KAAKC,YAAYU,GAAKb,EAAMC,MAAMC,KAAKG,YAAYI;;;qCAGnET,GAAUA,EAAMC,MAAMO,QAAQG,OAAOD;+BAC3CV,GAAUA,EAAMC,MAAMC,KAAKC,YAAYU,GAAKb,EAAMC,MAAMC,KAAKG,YAAYM;;gBAGvE,OAAlBhC,EAAMoB,QACJnB,EAAAA,GAAAA;+BACcoB,GAAUA,EAAMC,MAAMC,KAAKC,YAAYW,GAAKd,EAAMC,MAAMC,KAAKG,YAAYC;iCACvEN,GAAUA,EAAMC,MAAMC,KAAKK;;uCAErBP,GAAUA,EAAMC,MAAMO,QAAQC,OAAOC;iCAC3CV,GAAUA,EAAMC,MAAMC,KAAKC,YAAYW,GAAKd,EAAMC,MAAMC,KAAKG,YAAYI;;;uCAGnET,GAAUA,EAAMC,MAAMO,QAAQG,OAAOD;iCAC3CV,GAAUA,EAAMC,MAAMC,KAAKC,YAAYW,GAAKd,EAAMC,MAAMC,KAAKG,YAAYM;;kBAGvE,OAAlBhC,EAAMoB,QACJnB,EAAAA,GAAAA;iCACcoB,GAAUA,EAAMC,MAAMC,KAAKC,YAAYY,GAAKf,EAAMC,MAAMC,KAAKG,YAAYC;mCACvEN,GAAUA,EAAMC,MAAMC,KAAKK;;yCAErBP,GAAUA,EAAMC,MAAMO,QAAQC,OAAOC;mCAC3CV,GAAUA,EAAMC,MAAMC,KAAKC,YAAYY,GAAKf,EAAMC,MAAMC,KAAKG,YAAYI;;;yCAGnET,GAAUA,EAAMC,MAAMO,QAAQG,OAAOD;mCAC3CV,GAAUA,EAAMC,MAAMC,KAAKC,YAAYY,GAAKf,EAAMC,MAAMC,KAAKG,YAAYM;;oBAGvE,OAAlBhC,EAAMoB,QACJnB,EAAAA,GAAAA;mCACcoB,GAAUA,EAAMC,MAAMC,KAAKC,YAAYa,GAAKhB,EAAMC,MAAMC,KAAKG,YAAYC;qCACvEN,GAAUA,EAAMC,MAAMC,KAAKK;;2CAErBP,GAAUA,EAAMC,MAAMO,QAAQC,OAAOC;qCAC3CV,GAAUA,EAAMC,MAAMC,KAAKC,YAAYa,GAAKhB,EAAMC,MAAMC,KAAKG,YAAYI;;;2CAGnET,GAAUA,EAAMC,MAAMO,QAAQG,OAAOD;qCAC3CV,GAAUA,EAAMC,MAAMC,KAAKC,YAAYa,GAAKhB,EAAMC,MAAMC,KAAKG,YAAYM;;sBAGvE,OAAlBhC,EAAMoB,QACJnB,EAAAA,GAAAA;qCACcoB,GAAUA,EAAMC,MAAMC,KAAKC,YAAYc,GAAKjB,EAAMC,MAAMC,KAAKG,YAAYC;uCACvEN,GAAUA,EAAMC,MAAMC,KAAKK;;6CAErBP,GAAUA,EAAMC,MAAMO,QAAQC,OAAOC;uCAC3CV,GACZA,EAAMC,MAAMC,KAAKC,YAAYc,GAAKjB,EAAMC,MAAMC,KAAKG,YAAYI;;;6CAG7CT,GAAUA,EAAMC,MAAMO,QAAQG,OAAOD;uCAC3CV,GACZA,EAAMC,MAAMC,KAAKC,YAAYc,GAAKjB,EAAMC,MAAMC,KAAKG,YAAYM;;wBAGjD,OAAlBhC,EAAMoB,QACJnB,EAAAA,GAAAA;uCACcoB,GACZA,EAAMC,MAAMC,KAAKC,YAAYe,GAAKlB,EAAMC,MAAMC,KAAKG,YAAYC;yCACjDN,GAAUA,EAAMC,MAAMC,KAAKK;;+CAErBP,GAAUA,EAAMC,MAAMO,QAAQC,OAAOC;yCAC3CV,GACZA,EAAMC,MAAMC,KAAKC,YAAYe,GAAKlB,EAAMC,MAAMC,KAAKG,YAAYI;;;+CAG7CT,GAAUA,EAAMC,MAAMO,QAAQG,OAAOD;yCAC3CV,GACZA,EAAMC,MAAMC,KAAKC,YAAYe,GAAKlB,EAAMC,MAAMC,KAAKG,YAAYM;;0BAGjD,OAAlBhC,EAAMoB,QACJnB,EAAAA,GAAAA;yCACcoB,GACZA,EAAMC,MAAMC,KAAKC,YAAYgB,GAAKnB,EAAMC,MAAMC,KAAKG,YAAYC;2CACjDN,GAAUA,EAAMC,MAAMC,KAAKK;;iDAErBP,GAAUA,EAAMC,MAAMO,QAAQC,OAAOC;2CAC3CV,GACZA,EAAMC,MAAMC,KAAKC,YAAYgB,GAAKnB,EAAMC,MAAMC,KAAKG,YAAYI;;;iDAG7CT,GAAUA,EAAMC,MAAMO,QAAQG,OAAOD;2CAC3CV,GACZA,EAAMC,MAAMC,KAAKC,YAAYgB,GAAKnB,EAAMC,MAAMC,KAAKG,YAAYM;;4BAGnE,KAClB;GAGV,CAEO,MAAMS,EAAkBxC,EAAAA,GAAAA;IAC1BoB,IACD,MAAMqB,EAAQrB,EAAMsB,cACpB,OAAKD,EACE3C,EAAY2C,EAAMf,SADN;;IAIlBN,IACD,MAAMqB,EAAQrB,EAAMsB,cACpB,OAAKD,EAEEE,OAAOC,QAAQH,GACnBI,OAAO,EAAEC,KAAiB,YAARA,GAClBC,IAAI,EAAEC,EAAWjD,YAChB,MAAMkD,EAAc,OAAAC,EAAA9B,EAAMC,MAAMO,QAAQoB,SAApB,EAAAE,EAAoEpB,MACxF,OAAKmB,EACEjD,EAAAA,GAAAA;+BACgBiD;cACjBnD,EAAYC;;UAHO,OANV;EAgBjBoD,EAAgBnD,EAAAA,GAAAA;;;;;;iBAMJoB,GAAUA,EAAMC,MAAMC,KAAKK;IACzCa;IACAY,EAAAA;EAGSC,EAAQC,EAAOC,IAAA;IACxBJ;IACAK,EAAAA;ECrTSC,EAA6BrC,gBACxC,MAAMC,EAAQqC,EAAAA,WACd,OAAOC,EAASC,aACdC,EAAAA,kBAAAA,IAACC,EAAAA,gBAAA,CACEC,SAAA3C,EAAM4C,QACLH,EAAAA,kBAAAA,IAAC,MAAA,CACCI,UAAU,EACVC,IAAK9C,EAAM8C,IACXC,MAAO,CACLC,SAAU,WACVC,IAAK,EACLC,KAAM,KACHlD,EAAMmD,eACTxD,UAAWK,EAAMmD,eAAexD,UAChCyD,OAAQ,MAGVT,WAAAF,kBAAAA,IAACY,EAAA,CACCR,UAAU,EACVS,qBAAsBtD,EAAMuD,oBAC5BC,OAAQxD,EAAMyD,OAAS,QACvBC,MAAO,CACL5D,MAAM,OAAAgC,EAAA9B,EAAME,WAAN,EAAA4B,EAAYhC,OAAQ6D,EAAAA,cAAc3D,EAAMF,MAAQ,UAAUI,KAChEd,QAAQ,OAAAwE,EAAA5D,EAAME,WAAN,EAAA0D,EAAYxE,SAAU,IAC9BD,QAAQ,OAAA0E,EAAA7D,EAAME,WAAN,EAAA2D,EAAY1E,SAAUc,EAAMC,KAAKf,OACzCE,OAAQ,OAAAyE,EAAA9D,EAAME,WAAN,EAAA4D,EAAYzE,QAEtB0E,UAAW/D,EAAM+D,UACjBC,QAAS,CAAEC,QAAS,EAAGC,MAAO,KAC9BC,QAAS,CAAEF,QAAS,EAAGC,MAAO,GAC9BE,KAAM,CAAEH,QAAS,EAAGC,MAAO,KAC3BG,WAAY,CAAEC,SAAU,IACxBC,IAAKvE,EAAMwE,GACXC,MAAOzE,EAAMF,KACbwB,cAAetB,EAAM0E,aACrBC,WAAY3E,EAAM4E,UAClBC,UAAW7E,EAAM8E,SAEhBnC,SAAA3C,EAAM2C,eAKfoC,SAASC,OAIAC,EAAcjF,IACzB,MAAMkF,QAAEA,EAAAC,OAASA,EAAAC,gBAAQA,GAAoBpF,GAGtC4C,EAAQyC,GAAaC,EAAAA,UAAS,IAE9BC,EAAUC,GAAeF,EAAAA,cAA6B,IAEtDG,EAAaC,GAAkBJ,EAAAA,UAAS,IAGzCK,KACJA,EAAAxC,eACAA,EAAAyC,OACAA,EACAC,UAAWC,GACTC,cAAY,CACdC,KAAMpD,EACNiD,UAAW7F,EAAM6F,UACjBI,WAAY,CAACC,EAAAA,OAAOlG,EAAMkG,QAAU,GAAIC,EAAAA,OAAQC,EAAAA,SAChDC,qBAAsBC,EAAAA,aAIlBC,EAAsBC,EAAAA,OAAyC,MAE/DC,EAAoBD,EAAAA,OAA6C,MAGjEE,EAAcC,EAAAA,QAClB,IAAM3G,EAAM0G,aAAe1G,EAAMkG,QAAUU,EAC3C,CAAC5G,EAAM0G,YAAa1G,EAAMkG,SAGtBW,EAAkBF,EAAAA,QAAQ,IAAM3G,EAAM6G,iBAAmBC,EAA6B,CAAC9G,EAAM6G,kBAOnGE,EAAAA,UAAU,KACR,GAAI/G,EAAMgH,WAAY,OACtB,MAAMC,EAAQtB,EAAKuB,UAAUC,QAC7B,GAAKF,EAAL,CAGA,IAAoB,UAAfjH,EAAMoH,MAAmC,cAAfpH,EAAMoH,OAAyBH,aAAiBI,YAAa,CAC1F,MAAMC,EAAc,KACC,UAAftH,EAAMoH,KACR/B,EAAWkC,IAAUA,GACG,cAAfvH,EAAMoH,MACf/B,GAAU,IAKd,OADA4B,EAAMO,iBAAiB,QAASF,GACzB,KACLL,EAAMQ,oBAAoB,QAASH,GACrC,CAAA,GAGwB,UAAftH,EAAMoH,MAAoBH,aAAiBI,YAAa,CACjE,MAAMK,EAAmB,KACvBrC,GAAU,IAENsC,EAAmB,KACnBlB,EAAkBU,SAASS,aAAanB,EAAkBU,SAC9DV,EAAkBU,QAAUU,WAAW,IAAMxC,GAAU,GAAQwB,IAKjE,OAFAI,EAAMO,iBAAiB,aAAcE,GACrCT,EAAMO,iBAAiB,aAAcG,GAC9B,KACLV,EAAMQ,oBAAoB,aAAcC,GACxCT,EAAMQ,oBAAoB,aAAcE,GACpClB,EAAkBU,SAASS,aAAanB,EAAkBU,SAChE,CAjCU,GAmCX,CAACnH,EAAMoH,KAAMzB,EAAKuB,UAAWL,EAAiB7G,EAAMgH,aAGvDD,EAAAA,UAAU,KACR,IAAKnE,IAAW+C,EAAKuB,UAAUC,UAAYxB,EAAKmC,SAASX,SAAWnH,EAAMgH,WAAY,OAEtF,MAAMe,EAAUzB,aAAWX,EAAKuB,UAAUC,QAASxB,EAAKmC,SAASX,QAASvB,GAE1E,MAAO,IAAMmC,KACZ,CAACnF,EAAQ+C,EAAKuB,UAAWvB,EAAKmC,SAAUlC,EAAQ5F,EAAMgH,aAKzDD,EAAAA,UAAU,KACR,GAAKnE,GAAW+C,EAAKuB,UAAUC,SAAYxB,EAAKmC,SAASX,UAAWnH,EAAMgH,WA4B1E,OA1BIhH,EAAMgI,iBACRzB,EAAoBY,QAAWc,IAC7B,MAAMhB,EAAQtB,EAAKuB,UAAUC,QACvBe,EAAavC,EAAKmC,SAASX,QAC3BgB,EAAYnI,EAAMoI,yBAA2B,GAIjDnB,aAAiBI,aACjBa,aAAsBb,cACrBJ,EAAMoB,SAASJ,EAAEK,UACjBJ,EAAWG,SAASJ,EAAEK,UACtBH,EAAUI,KAAMzF,UACf,MAAmB,iBAARA,GAA4B,OAARA,GAAgB,YAAaA,IAClD,OAAAhB,EAAAgB,EAAIqE,cAAJ,EAAArF,EAAoCuG,SAASJ,EAAEK,YAK3DjD,GAAU,IAIdN,SAASyC,iBAAiB,YAAajB,EAAoBY,UAGtD,KACDZ,EAAoBY,UACtBpC,SAAS0C,oBAAoB,YAAalB,EAAoBY,SAC9DZ,EAAoBY,QAAU,MAE5BV,EAAkBU,SACpBS,aAAanB,EAAkBU,WAGlC,CAACvE,EAAQ+C,EAAKuB,UAAWvB,EAAKmC,SAAU9H,EAAMgI,eAAgBhI,EAAMgH,WAAYhH,EAAMoI,0BAMzFrB,EAAAA,UAAU,KACR,IAAKnE,IAAW5C,EAAMwI,kBAAoB7C,EAAKuB,UAAUC,UAAYxB,EAAKmC,SAASX,SAAWnH,EAAMgH,WAClG,OAEF,MAAMC,EAAQtB,EAAKuB,UAAUC,QACvBe,EAAavC,EAAKmC,SAASX,QAE3BsB,EAAmBR,IACvB,MAAMS,EAAST,EAAEU,QACXC,EAASX,EAAEY,QAEXC,EAAU7B,EAAM8B,wBAChBC,EAAed,EAAWa,wBAG1BE,EACJP,GAAUI,EAAQ5F,KAAOwD,GACzBgC,GAAUI,EAAQI,MAAQxC,GAC1BkC,GAAUE,EAAQ7F,IAAMyD,GACxBkC,GAAUE,EAAQK,OAASzC,EAEvB0C,EACJV,GAAUM,EAAa9F,KAAOwD,GAC9BgC,GAAUM,EAAaE,MAAQxC,GAC/BkC,GAAUI,EAAa/F,IAAMyD,GAC7BkC,GAAUI,EAAaG,OAASzC,EAE9BuC,GAAeG,EAEb3C,EAAkBU,UACpBS,aAAanB,EAAkBU,SAC/BV,EAAkBU,QAAU,OAI1BV,EAAkBU,SAASS,aAAanB,EAAkBU,SAC9DV,EAAkBU,QAAUU,WAAW,IAAMxC,GAAU,GAAQwB,KAMnE,OAFA9B,SAASyC,iBAAiB,YAAaiB,GAEhC,KACL1D,SAAS0C,oBAAoB,YAAagB,GACtChC,EAAkBU,SACpBS,aAAanB,EAAkBU,WAGlC,CAACvE,EAAQ5C,EAAMwI,gBAAiB7C,EAAKuB,UAAWvB,EAAKmC,SAAUpB,EAAaG,EAAiB7G,EAAMgH,aAKtGqC,EAAAA,gBAAgB,KACd,IAAKrJ,EAAMsJ,mBAAqB3D,EAAKuB,UAAUC,QAAS,OACxD,MAAMoC,EAAO5D,EAAKuB,UAAUC,QAAQ4B,wBACpCvD,EAAY+D,EAAK7I,QAChB,CAACV,EAAMsJ,iBAAkB3D,EAAKuB,YAGjC,MAAMlB,EAAOwD,EAAAA,YAAY,KACnBxJ,EAAMgH,YACV3B,GAAU,IACT,CAACrF,EAAMgH,aACJyC,EAAQD,EAAAA,YAAY,KACpBxJ,EAAMgH,YACV3B,GAAU,IACT,CAACrF,EAAMgH,aACJ0C,EAASF,EAAAA,YAAY,KACrBxJ,EAAMgH,YACV3B,EAAWkC,IAAUA,IACpB,CAACvH,EAAMgH,aAGJ2C,EAAiBhD,EAAAA,QAAQ,KACtB,IACFxD,EACHoC,SAAUvF,EAAMsJ,kBAAoB/D,EAAW,GAAGA,WAAe,EACjET,SAAU9E,EAAMsJ,kBAAoB/D,EAAW,GAAGA,WAAe,IAElE,CAACpC,EAAgBnD,EAAMsJ,iBAAkB/D,IAM5CwB,EAAAA,UAAU,KACJnE,IACF,MAAAsC,GAAAA,IACAQ,GAAe,KAEhB,CAAC9C,EAAQsC,IAKZ6B,EAAAA,UAAU,MACHnE,GAAU6C,IACb,MAAAN,GAAAA,MAED,CAACvC,EAAQ6C,EAAaN,IAMzB4B,EAAAA,UAAU,KACR,IAAKnE,GAAU5C,EAAMgH,WAAY,OAEjC,MAAM4C,EAAiB3B,IACrB,MAAMhB,EAAQtB,EAAKuB,UAAUC,QACvBe,EAAavC,EAAKmC,SAASX,QAC3BgB,EAAYnI,EAAMoI,yBAA2B,GAGhDnB,aAAiBI,aAAeJ,EAAMoB,SAASJ,EAAEK,SACjDJ,aAAsBb,aAAea,EAAWG,SAASJ,EAAEK,SAC5DH,EAAUI,KAAMzF,MACVA,GAAO,YAAaA,GAAOA,EAAIqE,SAAWrE,EAAIqE,mBAAmBE,cAC5DvE,EAAIqE,QAAQkB,SAASJ,EAAEK,UAMlCjD,GAAU,IAMd,OAFAN,SAASyC,iBAAiB,UAAWoC,GAE9B,KACL7E,SAAS0C,oBAAoB,UAAWmC,KAEzC,CAAChH,EAAQ+C,EAAKuB,UAAWvB,EAAKmC,SAAU9H,EAAMoI,wBAAyBpI,EAAMgH,aAMhFD,EAAAA,UAAU,KACR,IAAKpB,EAAKuB,UAAUC,SAAWnH,EAAMgH,aAAe5B,EAAiB,OAErE,MAAM6B,EAAQtB,EAAKuB,UAAUC,QACvBgB,EAAYnI,EAAM6J,iBAAmB,GAErCC,EAAc7B,IAEhBhB,aAAiBI,cAChBJ,EAAMoB,SAASJ,EAAE8B,iBACjB5B,EAAUI,KAAMzF,IACf,GAAIA,GAAO,YAAaA,GAAOA,EAAIqE,SAAWrE,EAAIqE,mBAAmBE,YACnE,OAAOvE,EAAIqE,QAAQkB,SAASJ,EAAE8B,kBAGlC3E,KAMJ,OAFI6B,aAAiBI,aAAaJ,EAAMO,iBAAiB,OAAQsC,GAAY,GAEtE,KACD7C,aAAiBI,aAAaJ,EAAMQ,oBAAoB,OAAQqC,GAAY,KAEjF,CAACnE,EAAKuB,UAAWlH,EAAMgH,WAAY5B,EAAiBpF,EAAM6J,kBA2B7D,MAAO,CACLG,YAvBkBR,EAAAA,YACjBlB,IACC,IAAKA,EAAQ,OAAO,EAEpB,MAAMrB,EAAQtB,EAAKuB,UAAUC,QACvBe,EAAavC,EAAKmC,SAASX,QAC3BgB,EAAYnI,EAAM6J,iBAAmB,GAE3C,OACG5C,aAAiBI,aAAeJ,EAAMoB,SAASC,IAC/CJ,aAAsBb,aAAea,EAAWG,SAASC,IAC1DH,EAAUI,KAAMzF,MACVA,GAAO,YAAaA,GAAOA,EAAIqE,SAAWrE,EAAIqE,mBAAmBE,cAC5DvE,EAAIqE,QAAQkB,SAASC,KAMpC,CAAC3C,EAAKuB,UAAWvB,EAAKmC,SAAU9H,EAAM6J,kBAKtCjH,SACAyC,YACAW,OACAyD,QACAC,SACAO,aAActE,EAAKuE,aACnBC,YAAaxE,EAAKyE,YAClBjH,eAAgBwG,EAChB9D,UAAWC,IChYTuE,EAAkBzL,EAAAA,GAAAA;IACnBoB,GAAUpB,EAAAA,GAAAA;kBACGoB,EAAMC,MAAMqK,OAAOC,OAAOvK,EAAMwD,QAAQgH,WAAWC;oBACjDzK,EAAMC,MAAMqK,OAAOC,OAAOvK,EAAMwD,QAAQkH,OAAOD;aACtDzK,EAAMC,MAAMqK,OAAOC,OAAOvK,EAAMwD,QAAQlE,MAAMmL;qBACtCzK,EAAMC,MAAM0K,QAAQJ;;EAK5BK,EAAiBhM,EAAAA,GAAAA;IACzBoB,GACD6K,EAA0B,IACrBlH,EAAAA,cAAc3D,EAAMyE,OAAS;EAGzBoG,EAA6B7K,GAAqCpB,EAAAA,GAAAA;;mBAE5DoB,EAAM8K;aACZ9K,EAAM+K;SACV/K,EAAM+K,QAAU;EAIZ1H,EAAiBnB,EAAO8I,EAAAA,OAAOC,IAAG;eAC/BjL,GAAUA,EAAM6E,WAAa;gBAC5B7E,GAAUA,EAAM2E,YAAc;;;IAG3CuG;IACAN;IACAO;IACA/J;IACAiJ;IACAe;EC7CSxE,EAAyB,EACzBE,EAA8B,ICM9BuE,EAAmBnJ,EAAOoJ,QAAK;;;;EAM/BC,EAAoB3M,EAAAA,GAAAA;OAE7B4M,EAA6B,IACxB7H,EAAAA,cAAc3D,EAAMF,MAAQ;EAGxB0L,EAAgCxL,GAAqCpB,EAAAA,GAAAA;;aAErEoB,EAAM+K,aAAa/K,EAAM+K,iBAAiB/K,EAAM+K;;;;cAI/C/K,EAAM+K;;;EAMPU,EAAavJ,EAAOG,EAAO;IACpCkJ;ECnBSG,EAA4BC,EAAAA,KAAK3L,GACxCA,EAAMgH,WAAmBvE,EAAAA,kBAAAA,IAAAmJ,EAAAA,kBAAAA,SAAA,CAAGjJ,WAAMA,mCAE9BkJ,EAAA,IAAmB7L,KAGhB6L,EAAmC7L,IAC9C,MAAM4C,OAAEA,EAAAqH,aAAQA,EAAAE,YAAcA,EAAAhH,eAAaA,GAAmB8B,EAAW,CACvEY,UAAW7F,EAAM6F,WAAaiG,EAC9B5F,OAAQlG,EAAMkG,QAAU6F,EACxB3E,KAAMpH,EAAMoH,MAAQ,QACpBY,eAAgBhI,EAAMgI,iBAAkB,EACxCQ,gBAAiBxI,EAAMwI,kBAAmB,EAC1Cc,iBAAkBtJ,EAAMsJ,mBAAoB,EAC5CzC,gBAAiB7G,EAAM6G,sBAAmB,EAC1CH,YAAa1G,EAAM0G,kBAAe,IAEpC,SACEsF,kBAAAA,KAAAJ,6BAAA,CACEjJ,SAAA,CAAAF,EAAAA,kBAAAA,IAAC4I,GAAiB7G,GAAIxE,EAAMwE,GAAI1B,IAAKmH,EAClCtH,WAAMA,aAETF,kBAAAA,IAACgJ,EAAA,CACC3L,KAAME,EAAMF,KACZ8C,SACAa,MAAOzD,EAAMyD,MACbN,iBACAL,IAAKqH,EACLvF,UAAW5E,EAAM4E,UACjBE,SAAU9E,EAAM8E,SAEhBnC,WAAAF,kBAAAA,IAACwJ,EAAA,CACCzH,GACExE,EAAM0E,cAAgB,CACpBpE,QAAS,CACPR,KAAM,KAKX6C,SAAA3C,EAAMkM,gBAOjBR,EAAQS,YAAc,UC1Df,MAAML,EAAgD,eAChDC,EAA0C,ECKjDK,EAAqBpM,IACzB,MAAMqM,aAAEA,GAAiBC,mBACnBC,EAA0F5F,EAAAA,QAC9F,KAAA,CACErF,cAAetB,EAAMwE,GACrBzB,MAAO/C,EAAM+C,MACbgB,UAAW/D,EAAM+D,UACjBQ,IAAKvE,EAAMwM,WACXC,mBAAoBzM,EAAM0M,kBAC1BC,oBAAqB3M,EAAM4M,mBAC3BC,YAAa7M,EAAM8M,WACnBC,QAAS/M,EAAM+M,QAAU/M,EAAM+M,QAAU,SAE3C,CACE/M,EAAMwE,GACNxE,EAAM+C,MACN/C,EAAM+D,UACN/D,EAAMwM,WACNxM,EAAM+M,QACN/M,EAAM0M,kBACN1M,EAAM4M,mBACN5M,EAAM8M,aAIJE,EAAWrG,EAAAA,QAAQ,aAAM,OAAA,OAAA7E,EAAA9B,EAAMwE,SAAN,EAAA1C,EAAWuK,MAAiB,OAAAzI,EAAA5D,EAAMwE,SAAN,EAAAZ,EAAUtD,UAAS,CAACN,EAAMwE,GAAI6H,IAEzF,OAAIW,GAAY,YAAaA,EACF,OAArBA,EAASjN,SAAyC,OAArBiN,EAASjN,SAAyC,OAArBiN,EAASjN,UAEnE0C,kBAAAA,IAACR,EAAA,CAECa,IAAK9C,EAAM8C,IACXmK,GAAIjN,EAAMkN,SAAW,IAAMlN,EAAMmN,YAAc,KAAMnN,EAAMoN,OAAS,QACpEC,KAAMrN,EAAMqN,QACRd,EAEH5J,SAAA3C,EAAM2C,aAKTF,kBAAAA,IAACR,EAAA,CAECa,IAAK9C,EAAM8C,IACXmK,GAAIjN,EAAMkN,SAAW,IAAMlN,EAAMmN,YAAc,IAAMnN,EAAMoN,OAAS,OAASJ,EAASjN,QACtFsN,KAAMrN,EAAMqN,QACRd,EAEH5J,SAAA3C,EAAM2C,aAObF,kBAAAA,IAACR,EAAA,CAECa,IAAK9C,EAAM8C,IACXmK,GAAIjN,EAAMkN,SAAW,IAAMlN,EAAMmN,YAAc,KAAMnN,EAAMoN,OAAS,QACpEC,KAAMrN,EAAMqN,QACRd,EAEH5J,SAAA3C,EAAM2C,YAKAsJ,EAAcjM,2BACjBoM,EAAA,IAAsBpM,IAG1BsN,EAA0BtN,GACvByC,EAAAA,kBAAAA,IAAC2J,EAAA,CAAkBc,UAAQ,KAAKlN,EAAO8C,IAAK9C,EAAM8C,IAAKuK,KAAMrN,EAAMqN,OAG/DE,EAAiBC,EAAAA,WAAWF,GAE5BG,EAAoB9B,EAAAA,KAAM3L,IACrC,MAAO0N,EAAeC,GAAoBrI,EAAAA,UAAS,GAC7CsI,EAAapH,EAAAA,OAAuB,MAc1C,OAXAO,EAAAA,UAAU,KACR,MAAM8G,EAAgB,KAChBD,EAAWzG,SACbwG,EAAiBC,EAAWzG,QAAQ2G,YAAcF,EAAWzG,QAAQ4G,cAKzE,OAFAF,IACAG,OAAOxG,iBAAiB,SAAUqG,GAC3B,IAAMG,OAAOvG,oBAAoB,SAAUoG,IACjD,CAAC7N,EAAM2C,WAGRF,EAAAA,kBAAAA,IAACiJ,EAAA,CAAQ1E,YAAa0G,EAAexB,QAASlM,EAAM2C,YAAc3C,EAAMiO,QACtEtL,SAAAF,EAAAA,kBAAAA,IAAC2J,GAAkBtJ,IAAK8K,KAAgB5N,EAAMkO,WAAYnL,MAAO,CAAEC,SAAU,YAC1EL,SAAA3C,EAAM2C,eAMf8K,EAAkBtB,YAAc,oBAChCC,EAAkBD,YAAc,oBAChCmB,EAAuBnB,YAAc"}
1
+ {"version":3,"file":"component-BVnHSTJd.cjs","sources":["../src/components/typography/component.styles.ts","../src/components/popover/component.tsx","../src/components/popover/component.styles.ts","../src/components/popover/component.constants.tsx","../src/components/tooltip/component.styles.ts","../src/components/tooltip/component.tsx","../src/components/tooltip/component.constants.ts","../src/components/typography/component.tsx"],"sourcesContent":["import { addOutline } from '@local/styles/add';\nimport { addSX as addSXStandard } from '@local/styles/sx';\nimport { JeneseiPalette } from '@local/theme/theme';\n\nimport styled, { css, keyframes } from 'styled-components';\n\nimport { addSXTypographyStyleProps, TypographyAllProps, TypographyCSSProps } from '.';\n\nconst shadowPulse = keyframes`\n 0% {\n text-shadow: 0 0 0 rgba(0, 0, 0, 0);\n }\n 50% {\n text-shadow: 4px 4px 10px rgba(0, 0, 0, 0.5);\n }\n 100% {\n text-shadow: 0 0 0 rgba(0, 0, 0, 0);\n }\n`;\n\nfunction toStyledCSS(value: TypographyAllProps) {\n return css`\n ${\n value.shadow &&\n value.shadow === 'shadowPulse' &&\n css`\n animation: ${shadowPulse} 2s infinite;\n `\n };\n ${\n value.letterSpacing &&\n css`\n letter-spacing: ${value.letterSpacing};\n `\n };\n ${\n value.flex &&\n css`\n flex: ${value.flex};\n `\n };\n ${\n value.cursor &&\n css`\n cursor: ${value.cursor};\n `\n };\n ${\n value.overflow &&\n css`\n overflow: ${value.overflow};\n `\n };\n ${\n value.line !== undefined\n ? value.line === 1\n ? css`\n text-overflow: ellipsis;\n overflow: hidden;\n white-space: nowrap;\n width: -webkit-fill-available;\n max-width: fit-content;\n `\n : css`\n word-break: break-word;\n white-space: normal;\n text-overflow: ellipsis;\n display: -webkit-box;\n overflow: hidden;\n -webkit-box-orient: vertical;\n -webkit-line-clamp: ${value.line};\n width: fit-content;\n overflow-wrap: anywhere;\n `\n : css``\n };\n ${\n value.family &&\n css`\n font-family: ${value.family};\n `\n };\n ${\n value.weight &&\n css`\n font-weight: ${value.weight};\n `\n };\n ${\n value.height &&\n css`\n line-height: ${value.height}px;\n `\n };\n ${\n value.color &&\n css`\n color: ${JeneseiPalette[value.color]};\n `\n };\n ${\n value.align &&\n css`\n text-align: ${value.align};\n `\n };\n ${\n value.wrap &&\n css`\n text-wrap: ${value.wrap};\n `\n };\n ${\n value.decoration &&\n css`\n text-decoration: ${value.decoration};\n `\n };\n ${\n value.transform &&\n css`\n text-transform: ${value.transform};\n `\n };\n ${\n value.isHoverUnderlining &&\n css`\n &:hover {\n text-decoration: underline;\n }\n `\n };\n ${\n value.isNoUserSelect &&\n css`\n user-select: none;\n -webkit-user-select: none;\n -moz-user-select: none;\n -ms-user-select: none;\n `\n };\n ${\n 'size' in value &&\n value.size &&\n css`\n font-size: ${value.size}px;\n `\n };\n ${\n 'variant' in value && value.variant\n ? value.variant === 'h1'\n ? css`\n font-size: ${(props) => props.theme.font.sizeHeading.h1 * props.theme.font.sizeDefault.default}px;\n line-height: ${(props) => props.theme.font.lineHeight};\n margin: 0;\n @media (max-width: ${(props) => props.theme.screens.tablet.width}px) {\n font-size: ${(props) => props.theme.font.sizeHeading.h1 * props.theme.font.sizeDefault.tablet}px;\n }\n\n @media (max-width: ${(props) => props.theme.screens.mobile.width}px) {\n font-size: ${(props) => props.theme.font.sizeHeading.h1 * props.theme.font.sizeDefault.mobile}px;\n }\n `\n : value.variant === 'h2'\n ? css`\n font-size: ${(props) => props.theme.font.sizeHeading.h2 * props.theme.font.sizeDefault.default}px;\n line-height: ${(props) => props.theme.font.lineHeight};\n margin: 0;\n @media (max-width: ${(props) => props.theme.screens.tablet.width}px) {\n font-size: ${(props) => props.theme.font.sizeHeading.h2 * props.theme.font.sizeDefault.tablet}px;\n }\n\n @media (max-width: ${(props) => props.theme.screens.mobile.width}px) {\n font-size: ${(props) => props.theme.font.sizeHeading.h2 * props.theme.font.sizeDefault.mobile}px;\n }\n `\n : value.variant === 'h3'\n ? css`\n font-size: ${(props) => props.theme.font.sizeHeading.h3 * props.theme.font.sizeDefault.default}px;\n line-height: ${(props) => props.theme.font.lineHeight};\n margin: 0;\n @media (max-width: ${(props) => props.theme.screens.tablet.width}px) {\n font-size: ${(props) => props.theme.font.sizeHeading.h3 * props.theme.font.sizeDefault.tablet}px;\n }\n\n @media (max-width: ${(props) => props.theme.screens.mobile.width}px) {\n font-size: ${(props) => props.theme.font.sizeHeading.h3 * props.theme.font.sizeDefault.mobile}px;\n }\n `\n : value.variant === 'h4'\n ? css`\n font-size: ${(props) => props.theme.font.sizeHeading.h4 * props.theme.font.sizeDefault.default}px;\n line-height: ${(props) => props.theme.font.lineHeight};\n margin: 0;\n @media (max-width: ${(props) => props.theme.screens.tablet.width}px) {\n font-size: ${(props) => props.theme.font.sizeHeading.h4 * props.theme.font.sizeDefault.tablet}px;\n }\n\n @media (max-width: ${(props) => props.theme.screens.mobile.width}px) {\n font-size: ${(props) => props.theme.font.sizeHeading.h4 * props.theme.font.sizeDefault.mobile}px;\n }\n `\n : value.variant === 'h5'\n ? css`\n font-size: ${(props) => props.theme.font.sizeHeading.h5 * props.theme.font.sizeDefault.default}px;\n line-height: ${(props) => props.theme.font.lineHeight};\n margin: 0;\n @media (max-width: ${(props) => props.theme.screens.tablet.width}px) {\n font-size: ${(props) => props.theme.font.sizeHeading.h5 * props.theme.font.sizeDefault.tablet}px;\n }\n\n @media (max-width: ${(props) => props.theme.screens.mobile.width}px) {\n font-size: ${(props) => props.theme.font.sizeHeading.h5 * props.theme.font.sizeDefault.mobile}px;\n }\n `\n : value.variant === 'h6'\n ? css`\n font-size: ${(props) => props.theme.font.sizeHeading.h6 * props.theme.font.sizeDefault.default}px;\n line-height: ${(props) => props.theme.font.lineHeight};\n margin: 0;\n @media (max-width: ${(props) => props.theme.screens.tablet.width}px) {\n font-size: ${(props) => props.theme.font.sizeHeading.h6 * props.theme.font.sizeDefault.tablet}px;\n }\n\n @media (max-width: ${(props) => props.theme.screens.mobile.width}px) {\n font-size: ${(props) => props.theme.font.sizeHeading.h6 * props.theme.font.sizeDefault.mobile}px;\n }\n `\n : value.variant === 'h7'\n ? css`\n font-size: ${(props) => props.theme.font.sizeHeading.h7 * props.theme.font.sizeDefault.default}px;\n line-height: ${(props) => props.theme.font.lineHeight};\n margin: 0;\n @media (max-width: ${(props) => props.theme.screens.tablet.width}px) {\n font-size: ${(props) =>\n props.theme.font.sizeHeading.h7 * props.theme.font.sizeDefault.tablet}px;\n }\n\n @media (max-width: ${(props) => props.theme.screens.mobile.width}px) {\n font-size: ${(props) =>\n props.theme.font.sizeHeading.h7 * props.theme.font.sizeDefault.mobile}px;\n }\n `\n : value.variant === 'h8'\n ? css`\n font-size: ${(props) =>\n props.theme.font.sizeHeading.h8 * props.theme.font.sizeDefault.default}px;\n line-height: ${(props) => props.theme.font.lineHeight};\n margin: 0;\n @media (max-width: ${(props) => props.theme.screens.tablet.width}px) {\n font-size: ${(props) =>\n props.theme.font.sizeHeading.h8 * props.theme.font.sizeDefault.tablet}px;\n }\n\n @media (max-width: ${(props) => props.theme.screens.mobile.width}px) {\n font-size: ${(props) =>\n props.theme.font.sizeHeading.h8 * props.theme.font.sizeDefault.mobile}px;\n }\n `\n : value.variant === 'h9'\n ? css`\n font-size: ${(props) =>\n props.theme.font.sizeHeading.h9 * props.theme.font.sizeDefault.default}px;\n line-height: ${(props) => props.theme.font.lineHeight};\n margin: 0;\n @media (max-width: ${(props) => props.theme.screens.tablet.width}px) {\n font-size: ${(props) =>\n props.theme.font.sizeHeading.h9 * props.theme.font.sizeDefault.tablet}px;\n }\n\n @media (max-width: ${(props) => props.theme.screens.mobile.width}px) {\n font-size: ${(props) =>\n props.theme.font.sizeHeading.h9 * props.theme.font.sizeDefault.mobile}px;\n }\n `\n : null\n : null\n };\n `;\n}\n\nexport const addSXTypography = css<addSXTypographyStyleProps>`\n ${(props) => {\n const rawSX = props.$sxTypography;\n if (!rawSX) return null;\n return toStyledCSS(rawSX.default);\n }}\n\n ${(props) => {\n const rawSX = props.$sxTypography;\n if (!rawSX) return null;\n\n return Object.entries(rawSX)\n .filter(([key]) => key !== 'default')\n .map(([deviceKey, value]) => {\n const screenWidth = props.theme.screens[deviceKey as keyof typeof props.theme.screens]?.width;\n if (!screenWidth) return null;\n return css`\n @media (max-width: ${screenWidth}px) {\n ${toStyledCSS(value)}\n }\n `;\n });\n }}\n`;\n\nconst TypographyCSS = css<TypographyCSSProps>`\n font-style: normal;\n position: relative;\n overflow: visible;\n text-overflow: ellipsis;\n overflow-wrap: anywhere;\n line-height: ${(props) => props.theme.font.lineHeight};\n ${addSXTypography};\n ${addSXStandard}\n`;\n\nexport const Title = styled.span<TypographyCSSProps>`\n ${TypographyCSS}\n ${addOutline}\n`;\n","import { KEY_SIZE_DATA } from '@local/theme';\n\nimport { autoUpdate, flip, offset, shift, useFloating } from '@floating-ui/react';\nimport { AnimatePresence } from 'framer-motion';\nimport { FC, Ref, useCallback, useEffect, useLayoutEffect, useMemo, useRef, useState } from 'react';\nimport ReactDOM from 'react-dom';\nimport { useTheme } from 'styled-components';\n\nimport { DEFAULT_POPOVER_CLOSE_DELAY, DEFAULT_POPOVER_OFFSET, PopoverProps, PopoverWrapper, UsePopoverProps } from '.';\n\nexport const Popover: FC<PopoverProps> = (props) => {\n const theme = useTheme();\n return ReactDOM.createPortal(\n <AnimatePresence>\n {props.isOpen && (\n <div\n tabIndex={-1}\n ref={props.ref as Ref<HTMLDivElement | null>}\n style={{\n position: 'absolute',\n top: 0,\n left: 0,\n ...props.floatingStyles,\n transform: props.floatingStyles.transform,\n zIndex: 9999,\n }}\n >\n <PopoverWrapper\n tabIndex={-1}\n $isShowAlwaysOutline={props.isShowAlwaysOutline}\n $genre={props.genre ?? 'black'}\n $font={{\n size: props.font?.size ?? KEY_SIZE_DATA[props.size ?? 'medium'].font,\n weight: props.font?.weight ?? 700,\n family: props.font?.family ?? theme.font.family,\n height: props.font?.height,\n }}\n className={props.className}\n initial={{ opacity: 0, scale: 0.95 }}\n animate={{ opacity: 1, scale: 1 }}\n exit={{ opacity: 0, scale: 0.95 }}\n transition={{ duration: 0.2 }}\n $sx={props.sx}\n $size={props.size}\n $sxTypography={props.sxTypography}\n $maxHeight={props.maxHeight}\n $maxWidth={props.maxWidth}\n >\n {props.children}\n </PopoverWrapper>\n </div>\n )}\n </AnimatePresence>,\n document.body,\n );\n};\n\nexport const usePopover = (props: UsePopoverProps) => {\n const { onFocus, onBlur, onBlurReference } = props;\n\n // Состояние открытия поповера\n const [isOpen, setIsOpen] = useState(false);\n // Минимальная ширина поповера (нужна, если хотим, чтобы ширина совпадала с референсом)\n const [minWidth, setMinWidth] = useState<number | undefined>(undefined);\n // Флаг, был ли поповер когда-либо открыт (чтобы onBlur не вызывался при первом рендере)\n const [wasEverOpen, setWasEverOpen] = useState(false);\n\n // Позиционирование через floating-ui\n const {\n refs,\n floatingStyles,\n update,\n placement: actualPlacement,\n } = useFloating({\n open: isOpen,\n placement: props.placement,\n middleware: [offset(props.offset ?? 8), flip(), shift()],\n whileElementsMounted: autoUpdate,\n });\n\n // Сохраняем обработчик клика вне поповера (чтобы можно было удалить при cleanup)\n const clickOutsideHandler = useRef<((e: MouseEvent) => void) | null>(null);\n // Таймаут для закрытия при hover-режиме\n const hoverCloseTimeout = useRef<ReturnType<typeof setTimeout> | null>(null);\n\n // Отступ для hover-зоны (чтобы не закрывался мгновенно при небольших движениях мыши)\n const hoverOffset = useMemo(\n () => props.hoverOffset ?? props.offset ?? DEFAULT_POPOVER_OFFSET,\n [props.hoverOffset, props.offset],\n );\n // Задержка перед закрытием при hover\n const hoverCloseDelay = useMemo(() => props.hoverCloseDelay ?? DEFAULT_POPOVER_CLOSE_DELAY, [props.hoverCloseDelay]);\n\n /**\n * Навешиваем обработчики на reference-элемент в зависимости от режима:\n * - click / clickOpen → открытие/переключение по клику\n * - hover → открытие/закрытие при наведении\n */\n useEffect(() => {\n if (props.isDisabled) return;\n const refEl = refs.reference.current;\n if (!refEl) return;\n\n // Режим клика\n if ((props.mode === 'click' || props.mode === 'clickOpen') && refEl instanceof HTMLElement) {\n const handleClick = () => {\n if (props.mode === 'click') {\n setIsOpen((prev) => !prev);\n } else if (props.mode === 'clickOpen') {\n setIsOpen(true);\n }\n };\n\n refEl.addEventListener('click', handleClick);\n return () => {\n refEl.removeEventListener('click', handleClick);\n };\n\n // Режим ховера\n } else if (props.mode === 'hover' && refEl instanceof HTMLElement) {\n const handleMouseEnter = () => {\n setIsOpen(true);\n };\n const handleMouseLeave = () => {\n if (hoverCloseTimeout.current) clearTimeout(hoverCloseTimeout.current);\n hoverCloseTimeout.current = setTimeout(() => setIsOpen(false), hoverCloseDelay);\n };\n\n refEl.addEventListener('mouseenter', handleMouseEnter);\n refEl.addEventListener('mouseleave', handleMouseLeave);\n return () => {\n refEl.removeEventListener('mouseenter', handleMouseEnter);\n refEl.removeEventListener('mouseleave', handleMouseLeave);\n if (hoverCloseTimeout.current) clearTimeout(hoverCloseTimeout.current);\n };\n }\n }, [props.mode, refs.reference, hoverCloseDelay, props.isDisabled]);\n\n // Автоматическое обновление позиции, пока поповер открыт\n useEffect(() => {\n if (!isOpen || !refs.reference.current || !refs.floating.current || props.isDisabled) return;\n\n const cleanup = autoUpdate(refs.reference.current, refs.floating.current, update);\n\n return () => cleanup();\n }, [isOpen, refs.reference, refs.floating, update, props.isDisabled]);\n\n /**\n * Логика закрытия поповера при клике вне него\n */\n useEffect(() => {\n if (!isOpen || !refs.reference.current || !refs.floating.current || props.isDisabled) return;\n\n if (props.isClickOutside) {\n clickOutsideHandler.current = (e: MouseEvent) => {\n const refEl = refs.reference.current;\n const floatingEl = refs.floating.current;\n const otherRefs = props.refsExcludeClickOutside || [];\n\n // Проверяем, что клик не по поповеру, не по reference и не по исключенным ref'ам\n if (\n refEl instanceof HTMLElement &&\n floatingEl instanceof HTMLElement &&\n !refEl.contains(e.target as Node) &&\n !floatingEl.contains(e.target as Node) &&\n !otherRefs.some((ref) => {\n if (typeof ref === 'object' && ref !== null && 'current' in ref) {\n return (ref.current as HTMLElement | null)?.contains(e.target as Node);\n }\n return false;\n })\n ) {\n setIsOpen(false);\n }\n };\n\n document.addEventListener('mousedown', clickOutsideHandler.current);\n }\n\n return () => {\n if (clickOutsideHandler.current) {\n document.removeEventListener('mousedown', clickOutsideHandler.current);\n clickOutsideHandler.current = null;\n }\n if (hoverCloseTimeout.current) {\n clearTimeout(hoverCloseTimeout.current);\n }\n };\n }, [isOpen, refs.reference, refs.floating, props.isClickOutside, props.isDisabled, props.refsExcludeClickOutside]);\n\n /**\n * Поддержка режима \"плавающего hover\"\n * Закрывает поповер, если мышь ушла за пределы reference+floating с отступом\n */\n useEffect(() => {\n if (!isOpen || !props.isFloatingHover || !refs.reference.current || !refs.floating.current || props.isDisabled)\n return;\n\n const refEl = refs.reference.current;\n const floatingEl = refs.floating.current;\n\n const handleMouseMove = (e: MouseEvent) => {\n const mouseX = e.clientX;\n const mouseY = e.clientY;\n\n const refRect = refEl.getBoundingClientRect();\n const floatingRect = floatingEl.getBoundingClientRect();\n\n // Находим, внутри ли курсор reference или floating с учётом отступа\n const isInsideRef =\n mouseX >= refRect.left - hoverOffset &&\n mouseX <= refRect.right + hoverOffset &&\n mouseY >= refRect.top - hoverOffset &&\n mouseY <= refRect.bottom + hoverOffset;\n\n const isInsideFloating =\n mouseX >= floatingRect.left - hoverOffset &&\n mouseX <= floatingRect.right + hoverOffset &&\n mouseY >= floatingRect.top - hoverOffset &&\n mouseY <= floatingRect.bottom + hoverOffset;\n\n if (isInsideRef || isInsideFloating) {\n // Если вернулись внутрь — отменяем закрытие\n if (hoverCloseTimeout.current) {\n clearTimeout(hoverCloseTimeout.current);\n hoverCloseTimeout.current = null;\n }\n } else {\n // Если вышли — запускаем таймер на закрытие\n if (hoverCloseTimeout.current) clearTimeout(hoverCloseTimeout.current);\n hoverCloseTimeout.current = setTimeout(() => setIsOpen(false), hoverCloseDelay);\n }\n };\n\n document.addEventListener('mousemove', handleMouseMove);\n\n return () => {\n document.removeEventListener('mousemove', handleMouseMove);\n if (hoverCloseTimeout.current) {\n clearTimeout(hoverCloseTimeout.current);\n }\n };\n }, [isOpen, props.isFloatingHover, refs.reference, refs.floating, hoverOffset, hoverCloseDelay, props.isDisabled]);\n\n /**\n * Устанавливаем минимальную ширину поповера, равную reference (если включено isWidthAsContent)\n */\n useLayoutEffect(() => {\n if (!props.isWidthAsContent || !refs.reference.current) return;\n const rect = refs.reference.current.getBoundingClientRect();\n setMinWidth(rect.width);\n }, [props.isWidthAsContent, refs.reference]);\n\n // Методы управления открытием\n const open = useCallback(() => {\n if (props.isDisabled) return;\n setIsOpen(true);\n }, [props.isDisabled]);\n const close = useCallback(() => {\n if (props.isDisabled) return;\n setIsOpen(false);\n }, [props.isDisabled]);\n const toggle = useCallback(() => {\n if (props.isDisabled) return;\n setIsOpen((prev) => !prev);\n }, [props.isDisabled]);\n\n // Объединяем стили floating-ui с дополнительными ограничениями по ширине\n const combinedStyles = useMemo(() => {\n return {\n ...floatingStyles,\n minWidth: props.isWidthAsContent && minWidth ? `${minWidth}px` : undefined,\n maxWidth: props.isWidthAsContent && minWidth ? `${minWidth}px` : undefined,\n };\n }, [floatingStyles, props.isWidthAsContent, minWidth]);\n\n /**\n * Вызываем onFocus при открытии\n * и запоминаем, что поповер хоть раз был открыт\n */\n useEffect(() => {\n if (isOpen) {\n onFocus?.();\n setWasEverOpen(true);\n }\n }, [isOpen, onFocus]);\n\n /**\n * Вызываем onBlur при первом закрытии после открытия\n */\n useEffect(() => {\n if (!isOpen && wasEverOpen) {\n onBlur?.();\n }\n }, [isOpen, wasEverOpen, onBlur]);\n\n /**\n * Закрытие при потере фокуса (focusin вне поповера + reference)\n * (но не на исключённые элементы)\n */\n useEffect(() => {\n if (!isOpen || props.isDisabled) return;\n\n const handleFocusIn = (e: FocusEvent) => {\n const refEl = refs.reference.current;\n const floatingEl = refs.floating.current;\n const otherRefs = props.refsExcludeClickOutside || [];\n\n const isInside =\n (refEl instanceof HTMLElement && refEl.contains(e.target as Node)) ||\n (floatingEl instanceof HTMLElement && floatingEl.contains(e.target as Node)) ||\n otherRefs.some((ref) => {\n if (ref && 'current' in ref && ref.current && ref.current instanceof HTMLElement) {\n return ref.current.contains(e.target as Node);\n }\n return false;\n });\n\n if (!isInside) {\n setIsOpen(false);\n }\n };\n\n document.addEventListener('focusin', handleFocusIn);\n\n return () => {\n document.removeEventListener('focusin', handleFocusIn);\n };\n }, [isOpen, refs.reference, refs.floating, props.refsExcludeClickOutside, props.isDisabled]);\n\n /**\n * Вызываем onBlurReference, если фокус ушёл с reference-элемента\n * (но не на исключённые элементы)\n */\n useEffect(() => {\n if (!refs.reference.current || props.isDisabled || !onBlurReference) return;\n\n const refEl = refs.reference.current;\n const otherRefs = props.refsExcludeBlur || [];\n\n const handleBlur = (e: FocusEvent) => {\n if (\n refEl instanceof HTMLElement &&\n !refEl.contains(e.relatedTarget as Node) &&\n !otherRefs.some((ref) => {\n if (ref && 'current' in ref && ref.current && ref.current instanceof HTMLElement)\n return ref.current.contains(e.relatedTarget as Node);\n })\n ) {\n onBlurReference();\n }\n };\n\n if (refEl instanceof HTMLElement) refEl.addEventListener('blur', handleBlur, true);\n\n return () => {\n if (refEl instanceof HTMLElement) refEl.removeEventListener('blur', handleBlur, true);\n };\n }, [refs.reference, props.isDisabled, onBlurReference, props.refsExcludeBlur]);\n\n /**\n * Функция возвращает true или false в зависимости от состояния от FocusEvent который находится внутри или снаружи\n */\n const getIsInside = useCallback(\n (target: Node | null) => {\n if (!target) return false; // если relatedTarget null, значит фокус ушёл вне окна — закрываем\n\n const refEl = refs.reference.current;\n const floatingEl = refs.floating.current;\n const otherRefs = props.refsExcludeBlur || [];\n\n return (\n (refEl instanceof HTMLElement && refEl.contains(target)) ||\n (floatingEl instanceof HTMLElement && floatingEl.contains(target)) ||\n otherRefs.some((ref) => {\n if (ref && 'current' in ref && ref.current && ref.current instanceof HTMLElement) {\n return ref.current.contains(target);\n }\n return false;\n })\n );\n },\n [refs.reference, refs.floating, props.refsExcludeBlur],\n );\n // Возвращаем наружу API для использования поповера\n return {\n getIsInside,\n isOpen,\n setIsOpen,\n open,\n close,\n toggle,\n refReference: refs.setReference as Ref<HTMLElement | null>,\n refFloating: refs.setFloating as Ref<HTMLElement | null>,\n floatingStyles: combinedStyles,\n placement: actualPlacement,\n };\n};\n","import { addSXTypography } from '@local/components/typography';\nimport { addAlwaysOutline, addFont } from '@local/styles/add';\nimport { addSX } from '@local/styles/sx';\nimport { IThemeSizePropertyDefault, KEY_SIZE_DATA } from '@local/theme';\n\nimport { motion } from 'framer-motion';\nimport styled, { css } from 'styled-components';\n\nimport { StyledPopoverProps } from '.';\n\n/****************************************** Popover Genre *************************************************/\nconst addPopoverGenre = css<StyledPopoverProps>`\n ${(props) => css`\n background: ${props.theme.colors.button[props.$genre].background.rest};\n border-color: ${props.theme.colors.button[props.$genre].border.rest};\n color: ${props.theme.colors.button[props.$genre].color.rest};\n /* box-shadow: ${props.theme.effects.button}; */\n `};\n`;\n\n/****************************************** Popover Size *************************************************/\nexport const addPopoverSize = css<StyledPopoverProps>`\n ${(props) =>\n addPopoverSizeConstructor({\n ...KEY_SIZE_DATA[props.$size ?? 'medium'],\n })};\n`;\nexport const addPopoverSizeConstructor = (props: IThemeSizePropertyDefault) => css`\n display: flex;\n border-radius: ${props.radius}px;\n padding: ${props.padding}px;\n gap: ${props.padding - 2}px;\n`;\n\n/****************************************** Default *************************************************/\nexport const PopoverWrapper = styled(motion.div)<StyledPopoverProps>`\n max-width: ${(props) => props.$maxWidth || '100%'};\n max-height: ${(props) => props.$maxHeight || '100%'};\n overflow: auto;\n flex-direction: column;\n ${addFont};\n ${addPopoverSize};\n ${addAlwaysOutline};\n ${addSXTypography};\n ${addPopoverGenre};\n ${addSX};\n`;\n","export const DEFAULT_POPOVER_OFFSET = 8;\nexport const DEFAULT_POPOVER_CLOSE_DELAY = 100;\n","import styled, { css } from 'styled-components';\n\nimport { IThemeSizePropertyDefault, KEY_SIZE_DATA } from '@local/theme';\n\nimport { Popover, PopoverProps } from '../popover';\nimport { Stack } from '../stack';\n\nexport const TooltipContainer = styled(Stack)`\n display: flex;\n width: fit-content;\n height: fit-content;\n`;\n\nexport const addTooltipBoxSize = css<PopoverProps>`\n ${(props) =>\n addTooltipBoxSizeConstructor({\n ...KEY_SIZE_DATA[props.size ?? 'medium'],\n })};\n`;\nexport const addTooltipBoxSizeConstructor = (props: IThemeSizePropertyDefault) => css`\n gap: 0px;\n padding: ${props.padding}px ${props.padding}px 0px ${props.padding}px;\n :after {\n content: '';\n display: block;\n height: ${props.padding}px;\n width: 100%;\n }\n`;\n\n/****************************************** TooltipBox *************************************************/\nexport const TooltipBox = styled(Popover)`\n ${addTooltipBoxSize};\n`;\n","import { FC, Ref, memo } from 'react';\n\nimport { Typography } from '@local/components/typography';\n\nimport {\n DEFAULT_TOOLTIP_OFFSET_FALLBACK,\n DEFAULT_TOOLTIP_PLACEMENT_FALLBACK,\n TooltipBox,\n TooltipContainer,\n TooltipProps,\n} from '.';\nimport { usePopover } from '../popover';\n\nexport const Tooltip: FC<TooltipProps> = memo((props) => {\n if (props.isDisabled) return <>{props.children}</>;\n\n return <TooltipContent {...props} />;\n});\n\nexport const TooltipContent: FC<TooltipProps> = (props) => {\n const { isOpen, refReference, refFloating, floatingStyles } = usePopover({\n placement: props.placement ?? DEFAULT_TOOLTIP_PLACEMENT_FALLBACK,\n offset: props.offset ?? DEFAULT_TOOLTIP_OFFSET_FALLBACK,\n mode: props.mode ?? 'hover',\n isClickOutside: props.isClickOutside ?? true,\n isFloatingHover: props.isFloatingHover ?? true,\n isWidthAsContent: props.isWidthAsContent ?? false,\n hoverCloseDelay: props.hoverCloseDelay ?? undefined,\n hoverOffset: props.hoverOffset ?? undefined,\n });\n return (\n <>\n <TooltipContainer sx={props.sx} ref={refReference as Ref<HTMLDivElement | null>}>\n {props.children}\n </TooltipContainer>\n <TooltipBox\n size={props.size}\n isOpen={isOpen}\n genre={props.genre}\n floatingStyles={floatingStyles}\n ref={refFloating}\n maxHeight={props.maxHeight}\n maxWidth={props.maxWidth}\n >\n <Typography\n sx={\n props.sxTypography ?? {\n default: {\n size: 14,\n },\n }\n }\n >\n {props.content}\n </Typography>\n </TooltipBox>\n </>\n );\n};\n\nTooltip.displayName = 'Tooltip';\n","import { Placement } from '@floating-ui/react';\n\nexport const DEFAULT_TOOLTIP_PLACEMENT_FALLBACK: Placement = 'bottom-start';\nexport const DEFAULT_TOOLTIP_OFFSET_FALLBACK: number = 8;\n","import { useScreenWidth } from '@local/contexts/context-screen-width';\n\nimport { createLink, LinkProps } from '@tanstack/react-router';\nimport { memo, useEffect, useMemo, useRef, useState } from 'react';\n\nimport { Tooltip } from '../tooltip';\nimport { Title, TypographyCSSProps, TypographyProps, TypographyTooltipProps } from '.';\n\nconst TypographyWithRef = (props: TypographyProps) => {\n const { screenActual } = useScreenWidth();\n const cssProps: TypographyCSSProps & Pick<TypographyProps, 'onClick' | 'className' | 'style'> = useMemo(\n () => ({\n $sxTypography: props.sx,\n style: props.style,\n className: props.className,\n $sx: props.sxStandard,\n $isDisabledOutline: props.isDisabledOutline,\n $isOutlineBoxShadow: props.isOutlineBoxShadow,\n $isReadOnly: props.isReadOnly,\n onClick: props.onClick ? props.onClick : () => {},\n }),\n [\n props.sx,\n props.style,\n props.className,\n props.sxStandard,\n props.onClick,\n props.isDisabledOutline,\n props.isOutlineBoxShadow,\n props.isReadOnly,\n ],\n );\n\n const screenSX = useMemo(() => props.sx?.[screenActual] ?? props.sx?.default, [props.sx, screenActual]);\n\n if (screenSX && 'variant' in screenSX) {\n if (screenSX.variant === 'h7' || screenSX.variant === 'h8' || screenSX.variant === 'h9') {\n return (\n <Title\n // biome-ignore lint/suspicious/noExplicitAny: <explanation>\n ref={props.ref as any}\n as={props.isAnchor ? 'a' : props.isParagraph ? 'p' : props.isSpan ? 'span' : 'span'}\n href={props.href}\n {...cssProps}\n >\n {props.children}\n </Title>\n );\n } else {\n return (\n <Title\n // biome-ignore lint/suspicious/noExplicitAny: <explanation>\n ref={props.ref as any}\n as={props.isAnchor ? 'a' : props.isParagraph ? 'p' : props.isSpan ? 'span' : screenSX.variant}\n href={props.href}\n {...cssProps}\n >\n {props.children}\n </Title>\n );\n }\n }\n\n return (\n <Title\n // biome-ignore lint/suspicious/noExplicitAny: <explanation>\n ref={props.ref as any}\n as={props.isAnchor ? 'a' : props.isParagraph ? 'p' : props.isSpan ? 'span' : 'span'}\n href={props.href}\n {...cssProps}\n >\n {props.children}\n </Title>\n );\n};\n\nexport const Typography = (props: TypographyProps) => {\n return <TypographyWithRef {...props} />;\n};\n\nconst TypographySizeIsAnchor = (props: TypographyProps & LinkProps) => {\n return <TypographyWithRef isAnchor {...props} ref={props.ref} href={props.href} />;\n};\n\nexport const TypographyLink = createLink(TypographySizeIsAnchor);\n\nexport const TypographyTooltip = memo((props: TypographyTooltipProps) => {\n const [isOverflowing, setIsOverflowing] = useState(false);\n const contentRef = useRef<HTMLDivElement>(null);\n\n // biome-ignore lint/correctness/useExhaustiveDependencies: <explanation>\n useEffect(() => {\n const checkOverflow = () => {\n if (contentRef.current) {\n setIsOverflowing(contentRef.current.scrollWidth > contentRef.current.clientWidth);\n }\n };\n checkOverflow();\n window.addEventListener('resize', checkOverflow);\n return () => window.removeEventListener('resize', checkOverflow);\n }, [props.children]);\n\n return (\n <Tooltip isDisabled={!isOverflowing} content={props.children} {...props.tooltip}>\n <TypographyWithRef ref={contentRef} {...props.typography} style={{ position: 'relative' }}>\n {props.children}\n </TypographyWithRef>\n </Tooltip>\n );\n});\n\nTypographyTooltip.displayName = 'TypographyTooltip';\nTypographyWithRef.displayName = 'TypographyWithRef';\nTypographySizeIsAnchor.displayName = 'TypographySizeIsAnchor';\n"],"names":["shadowPulse","keyframes","toStyledCSS","value","css","shadow","letterSpacing","flex","cursor","overflow","line","family","weight","height","color","JeneseiPalette","align","wrap","decoration","transform","isHoverUnderlining","isNoUserSelect","size","variant","props","theme","font","sizeHeading","h1","sizeDefault","default","lineHeight","screens","tablet","width","mobile","h2","h3","h4","h5","h6","h7","h8","h9","addSXTypography","rawSX","$sxTypography","Object","entries","filter","key","map","deviceKey","screenWidth","_a","TypographyCSS","addSXStandard","Title","styled","span","addOutline","Popover","useTheme","ReactDOM","createPortal","jsx","AnimatePresence","children","isOpen","tabIndex","ref","style","position","top","left","floatingStyles","zIndex","PopoverWrapper","$isShowAlwaysOutline","isShowAlwaysOutline","$genre","genre","$font","KEY_SIZE_DATA","_b","_c","_d","className","initial","opacity","scale","animate","exit","transition","duration","$sx","sx","$size","sxTypography","$maxHeight","maxHeight","$maxWidth","maxWidth","document","body","usePopover","onFocus","onBlur","onBlurReference","setIsOpen","useState","minWidth","setMinWidth","wasEverOpen","setWasEverOpen","refs","update","placement","actualPlacement","useFloating","open","middleware","offset","flip","shift","whileElementsMounted","autoUpdate","clickOutsideHandler","useRef","hoverCloseTimeout","hoverOffset","useMemo","DEFAULT_POPOVER_OFFSET","hoverCloseDelay","DEFAULT_POPOVER_CLOSE_DELAY","useEffect","isDisabled","refEl","reference","current","mode","HTMLElement","handleClick","prev","addEventListener","removeEventListener","handleMouseEnter","handleMouseLeave","clearTimeout","setTimeout","floating","cleanup","isClickOutside","e","floatingEl","otherRefs","refsExcludeClickOutside","contains","target","some","isFloatingHover","handleMouseMove","mouseX","clientX","mouseY","clientY","refRect","getBoundingClientRect","floatingRect","isInsideRef","right","bottom","isInsideFloating","useLayoutEffect","isWidthAsContent","rect","useCallback","close","toggle","combinedStyles","handleFocusIn","refsExcludeBlur","handleBlur","relatedTarget","getIsInside","refReference","setReference","refFloating","setFloating","addPopoverGenre","colors","button","background","rest","border","effects","addPopoverSize","addPopoverSizeConstructor","radius","padding","motion","div","addFont","addAlwaysOutline","addSX","TooltipContainer","Stack","addTooltipBoxSize","addTooltipBoxSizeConstructor","TooltipBox","Tooltip","memo","Fragment","TooltipContent","DEFAULT_TOOLTIP_PLACEMENT_FALLBACK","DEFAULT_TOOLTIP_OFFSET_FALLBACK","jsxs","Typography","content","displayName","TypographyWithRef","screenActual","useScreenWidth","cssProps","sxStandard","$isDisabledOutline","isDisabledOutline","$isOutlineBoxShadow","isOutlineBoxShadow","$isReadOnly","isReadOnly","onClick","screenSX","as","isAnchor","isParagraph","isSpan","href","TypographySizeIsAnchor","TypographyLink","createLink","TypographyTooltip","isOverflowing","setIsOverflowing","contentRef","checkOverflow","scrollWidth","clientWidth","window","tooltip","typography"],"mappings":"8aAQMA,EAAcC,EAAAA,SAAAA;;;;;;;;;;EAYpB,SAASC,EAAYC,GACnB,OAAOC,EAAAA,GAAAA;MAEHD,EAAME,QACW,gBAAjBF,EAAME,QACND,EAAAA,GAAAA;mBACaJ;;MAIbG,EAAMG,eACNF,EAAAA,GAAAA;wBACkBD,EAAMG;;MAIxBH,EAAMI,MACNH,EAAAA,GAAAA;cACQD,EAAMI;;MAIdJ,EAAMK,QACNJ,EAAAA,GAAAA;gBACUD,EAAMK;;MAIhBL,EAAMM,UACNL,EAAAA,GAAAA;kBACYD,EAAMM;;WAIH,IAAfN,EAAMO,KACa,IAAfP,EAAMO,KACJN,EAAAA,GAAAA;;;;;;YAOAA,EAAAA,GAAAA;;;;;;;kCAOsBD,EAAMO;;;YAI9BN,EAAAA,GAAAA;MAGJD,EAAMQ,QACNP,EAAAA,GAAAA;qBACeD,EAAMQ;;MAIrBR,EAAMS,QACNR,EAAAA,GAAAA;qBACeD,EAAMS;;MAIrBT,EAAMU,QACNT,EAAAA,GAAAA;qBACeD,EAAMU;;MAIrBV,EAAMW,OACNV,EAAAA,GAAAA;eACSW,EAAAA,eAAeZ,EAAMW;;MAI9BX,EAAMa,OACNZ,EAAAA,GAAAA;oBACcD,EAAMa;;MAIpBb,EAAMc,MACNb,EAAAA,GAAAA;mBACaD,EAAMc;;MAInBd,EAAMe,YACNd,EAAAA,GAAAA;yBACmBD,EAAMe;;MAIzBf,EAAMgB,WACNf,EAAAA,GAAAA;wBACkBD,EAAMgB;;MAIxBhB,EAAMiB,oBACNhB,EAAAA,GAAAA;;;;;MAOAD,EAAMkB,gBACNjB,EAAAA,GAAAA;;;;;;MAQA,SAAUD,GACVA,EAAMmB,MACNlB,EAAAA,GAAAA;mBACaD,EAAMmB;;MAInB,YAAanB,GAASA,EAAMoB,QACN,OAAlBpB,EAAMoB,QACJnB,EAAAA,GAAAA;yBACcoB,GAAUA,EAAMC,MAAMC,KAAKC,YAAYC,GAAKJ,EAAMC,MAAMC,KAAKG,YAAYC;2BACvEN,GAAUA,EAAMC,MAAMC,KAAKK;;iCAErBP,GAAUA,EAAMC,MAAMO,QAAQC,OAAOC;2BAC3CV,GAAUA,EAAMC,MAAMC,KAAKC,YAAYC,GAAKJ,EAAMC,MAAMC,KAAKG,YAAYI;;;iCAGnET,GAAUA,EAAMC,MAAMO,QAAQG,OAAOD;2BAC3CV,GAAUA,EAAMC,MAAMC,KAAKC,YAAYC,GAAKJ,EAAMC,MAAMC,KAAKG,YAAYM;;YAGvE,OAAlBhC,EAAMoB,QACJnB,EAAAA,GAAAA;2BACcoB,GAAUA,EAAMC,MAAMC,KAAKC,YAAYS,GAAKZ,EAAMC,MAAMC,KAAKG,YAAYC;6BACvEN,GAAUA,EAAMC,MAAMC,KAAKK;;mCAErBP,GAAUA,EAAMC,MAAMO,QAAQC,OAAOC;6BAC3CV,GAAUA,EAAMC,MAAMC,KAAKC,YAAYS,GAAKZ,EAAMC,MAAMC,KAAKG,YAAYI;;;mCAGnET,GAAUA,EAAMC,MAAMO,QAAQG,OAAOD;6BAC3CV,GAAUA,EAAMC,MAAMC,KAAKC,YAAYS,GAAKZ,EAAMC,MAAMC,KAAKG,YAAYM;;cAGvE,OAAlBhC,EAAMoB,QACJnB,EAAAA,GAAAA;6BACcoB,GAAUA,EAAMC,MAAMC,KAAKC,YAAYU,GAAKb,EAAMC,MAAMC,KAAKG,YAAYC;+BACvEN,GAAUA,EAAMC,MAAMC,KAAKK;;qCAErBP,GAAUA,EAAMC,MAAMO,QAAQC,OAAOC;+BAC3CV,GAAUA,EAAMC,MAAMC,KAAKC,YAAYU,GAAKb,EAAMC,MAAMC,KAAKG,YAAYI;;;qCAGnET,GAAUA,EAAMC,MAAMO,QAAQG,OAAOD;+BAC3CV,GAAUA,EAAMC,MAAMC,KAAKC,YAAYU,GAAKb,EAAMC,MAAMC,KAAKG,YAAYM;;gBAGvE,OAAlBhC,EAAMoB,QACJnB,EAAAA,GAAAA;+BACcoB,GAAUA,EAAMC,MAAMC,KAAKC,YAAYW,GAAKd,EAAMC,MAAMC,KAAKG,YAAYC;iCACvEN,GAAUA,EAAMC,MAAMC,KAAKK;;uCAErBP,GAAUA,EAAMC,MAAMO,QAAQC,OAAOC;iCAC3CV,GAAUA,EAAMC,MAAMC,KAAKC,YAAYW,GAAKd,EAAMC,MAAMC,KAAKG,YAAYI;;;uCAGnET,GAAUA,EAAMC,MAAMO,QAAQG,OAAOD;iCAC3CV,GAAUA,EAAMC,MAAMC,KAAKC,YAAYW,GAAKd,EAAMC,MAAMC,KAAKG,YAAYM;;kBAGvE,OAAlBhC,EAAMoB,QACJnB,EAAAA,GAAAA;iCACcoB,GAAUA,EAAMC,MAAMC,KAAKC,YAAYY,GAAKf,EAAMC,MAAMC,KAAKG,YAAYC;mCACvEN,GAAUA,EAAMC,MAAMC,KAAKK;;yCAErBP,GAAUA,EAAMC,MAAMO,QAAQC,OAAOC;mCAC3CV,GAAUA,EAAMC,MAAMC,KAAKC,YAAYY,GAAKf,EAAMC,MAAMC,KAAKG,YAAYI;;;yCAGnET,GAAUA,EAAMC,MAAMO,QAAQG,OAAOD;mCAC3CV,GAAUA,EAAMC,MAAMC,KAAKC,YAAYY,GAAKf,EAAMC,MAAMC,KAAKG,YAAYM;;oBAGvE,OAAlBhC,EAAMoB,QACJnB,EAAAA,GAAAA;mCACcoB,GAAUA,EAAMC,MAAMC,KAAKC,YAAYa,GAAKhB,EAAMC,MAAMC,KAAKG,YAAYC;qCACvEN,GAAUA,EAAMC,MAAMC,KAAKK;;2CAErBP,GAAUA,EAAMC,MAAMO,QAAQC,OAAOC;qCAC3CV,GAAUA,EAAMC,MAAMC,KAAKC,YAAYa,GAAKhB,EAAMC,MAAMC,KAAKG,YAAYI;;;2CAGnET,GAAUA,EAAMC,MAAMO,QAAQG,OAAOD;qCAC3CV,GAAUA,EAAMC,MAAMC,KAAKC,YAAYa,GAAKhB,EAAMC,MAAMC,KAAKG,YAAYM;;sBAGvE,OAAlBhC,EAAMoB,QACJnB,EAAAA,GAAAA;qCACcoB,GAAUA,EAAMC,MAAMC,KAAKC,YAAYc,GAAKjB,EAAMC,MAAMC,KAAKG,YAAYC;uCACvEN,GAAUA,EAAMC,MAAMC,KAAKK;;6CAErBP,GAAUA,EAAMC,MAAMO,QAAQC,OAAOC;uCAC3CV,GACZA,EAAMC,MAAMC,KAAKC,YAAYc,GAAKjB,EAAMC,MAAMC,KAAKG,YAAYI;;;6CAG7CT,GAAUA,EAAMC,MAAMO,QAAQG,OAAOD;uCAC3CV,GACZA,EAAMC,MAAMC,KAAKC,YAAYc,GAAKjB,EAAMC,MAAMC,KAAKG,YAAYM;;wBAGjD,OAAlBhC,EAAMoB,QACJnB,EAAAA,GAAAA;uCACcoB,GACZA,EAAMC,MAAMC,KAAKC,YAAYe,GAAKlB,EAAMC,MAAMC,KAAKG,YAAYC;yCACjDN,GAAUA,EAAMC,MAAMC,KAAKK;;+CAErBP,GAAUA,EAAMC,MAAMO,QAAQC,OAAOC;yCAC3CV,GACZA,EAAMC,MAAMC,KAAKC,YAAYe,GAAKlB,EAAMC,MAAMC,KAAKG,YAAYI;;;+CAG7CT,GAAUA,EAAMC,MAAMO,QAAQG,OAAOD;yCAC3CV,GACZA,EAAMC,MAAMC,KAAKC,YAAYe,GAAKlB,EAAMC,MAAMC,KAAKG,YAAYM;;0BAGjD,OAAlBhC,EAAMoB,QACJnB,EAAAA,GAAAA;yCACcoB,GACZA,EAAMC,MAAMC,KAAKC,YAAYgB,GAAKnB,EAAMC,MAAMC,KAAKG,YAAYC;2CACjDN,GAAUA,EAAMC,MAAMC,KAAKK;;iDAErBP,GAAUA,EAAMC,MAAMO,QAAQC,OAAOC;2CAC3CV,GACZA,EAAMC,MAAMC,KAAKC,YAAYgB,GAAKnB,EAAMC,MAAMC,KAAKG,YAAYI;;;iDAG7CT,GAAUA,EAAMC,MAAMO,QAAQG,OAAOD;2CAC3CV,GACZA,EAAMC,MAAMC,KAAKC,YAAYgB,GAAKnB,EAAMC,MAAMC,KAAKG,YAAYM;;4BAGnE,KAClB;GAGV,CAEO,MAAMS,EAAkBxC,EAAAA,GAAAA;IAC1BoB,IACD,MAAMqB,EAAQrB,EAAMsB,cACpB,OAAKD,EACE3C,EAAY2C,EAAMf,SADN;;IAIlBN,IACD,MAAMqB,EAAQrB,EAAMsB,cACpB,OAAKD,EAEEE,OAAOC,QAAQH,GACnBI,OAAO,EAAEC,KAAiB,YAARA,GAClBC,IAAI,EAAEC,EAAWjD,YAChB,MAAMkD,EAAc,OAAAC,EAAA9B,EAAMC,MAAMO,QAAQoB,SAApB,EAAAE,EAAoEpB,MACxF,OAAKmB,EACEjD,EAAAA,GAAAA;+BACgBiD;cACjBnD,EAAYC;;UAHO,OANV;EAgBjBoD,EAAgBnD,EAAAA,GAAAA;;;;;;iBAMJoB,GAAUA,EAAMC,MAAMC,KAAKK;IACzCa;IACAY,EAAAA;EAGSC,EAAQC,EAAOC,IAAA;IACxBJ;IACAK,EAAAA;ECrTSC,EAA6BrC,gBACxC,MAAMC,EAAQqC,EAAAA,WACd,OAAOC,EAASC,aACdC,EAAAA,kBAAAA,IAACC,EAAAA,gBAAA,CACEC,SAAA3C,EAAM4C,QACLH,EAAAA,kBAAAA,IAAC,MAAA,CACCI,UAAU,EACVC,IAAK9C,EAAM8C,IACXC,MAAO,CACLC,SAAU,WACVC,IAAK,EACLC,KAAM,KACHlD,EAAMmD,eACTxD,UAAWK,EAAMmD,eAAexD,UAChCyD,OAAQ,MAGVT,WAAAF,kBAAAA,IAACY,EAAA,CACCR,UAAU,EACVS,qBAAsBtD,EAAMuD,oBAC5BC,OAAQxD,EAAMyD,OAAS,QACvBC,MAAO,CACL5D,MAAM,OAAAgC,EAAA9B,EAAME,WAAN,EAAA4B,EAAYhC,OAAQ6D,EAAAA,cAAc3D,EAAMF,MAAQ,UAAUI,KAChEd,QAAQ,OAAAwE,EAAA5D,EAAME,WAAN,EAAA0D,EAAYxE,SAAU,IAC9BD,QAAQ,OAAA0E,EAAA7D,EAAME,WAAN,EAAA2D,EAAY1E,SAAUc,EAAMC,KAAKf,OACzCE,OAAQ,OAAAyE,EAAA9D,EAAME,WAAN,EAAA4D,EAAYzE,QAEtB0E,UAAW/D,EAAM+D,UACjBC,QAAS,CAAEC,QAAS,EAAGC,MAAO,KAC9BC,QAAS,CAAEF,QAAS,EAAGC,MAAO,GAC9BE,KAAM,CAAEH,QAAS,EAAGC,MAAO,KAC3BG,WAAY,CAAEC,SAAU,IACxBC,IAAKvE,EAAMwE,GACXC,MAAOzE,EAAMF,KACbwB,cAAetB,EAAM0E,aACrBC,WAAY3E,EAAM4E,UAClBC,UAAW7E,EAAM8E,SAEhBnC,SAAA3C,EAAM2C,eAKfoC,SAASC,OAIAC,EAAcjF,IACzB,MAAMkF,QAAEA,EAAAC,OAASA,EAAAC,gBAAQA,GAAoBpF,GAGtC4C,EAAQyC,GAAaC,EAAAA,UAAS,IAE9BC,EAAUC,GAAeF,EAAAA,cAA6B,IAEtDG,EAAaC,GAAkBJ,EAAAA,UAAS,IAGzCK,KACJA,EAAAxC,eACAA,EAAAyC,OACAA,EACAC,UAAWC,GACTC,cAAY,CACdC,KAAMpD,EACNiD,UAAW7F,EAAM6F,UACjBI,WAAY,CAACC,EAAAA,OAAOlG,EAAMkG,QAAU,GAAIC,EAAAA,OAAQC,EAAAA,SAChDC,qBAAsBC,EAAAA,aAIlBC,EAAsBC,EAAAA,OAAyC,MAE/DC,EAAoBD,EAAAA,OAA6C,MAGjEE,EAAcC,EAAAA,QAClB,IAAM3G,EAAM0G,aAAe1G,EAAMkG,QAAUU,EAC3C,CAAC5G,EAAM0G,YAAa1G,EAAMkG,SAGtBW,EAAkBF,EAAAA,QAAQ,IAAM3G,EAAM6G,iBAAmBC,EAA6B,CAAC9G,EAAM6G,kBAOnGE,EAAAA,UAAU,KACR,GAAI/G,EAAMgH,WAAY,OACtB,MAAMC,EAAQtB,EAAKuB,UAAUC,QAC7B,GAAKF,EAAL,CAGA,IAAoB,UAAfjH,EAAMoH,MAAmC,cAAfpH,EAAMoH,OAAyBH,aAAiBI,YAAa,CAC1F,MAAMC,EAAc,KACC,UAAftH,EAAMoH,KACR/B,EAAWkC,IAAUA,GACG,cAAfvH,EAAMoH,MACf/B,GAAU,IAKd,OADA4B,EAAMO,iBAAiB,QAASF,GACzB,KACLL,EAAMQ,oBAAoB,QAASH,GACrC,CAAA,GAGwB,UAAftH,EAAMoH,MAAoBH,aAAiBI,YAAa,CACjE,MAAMK,EAAmB,KACvBrC,GAAU,IAENsC,EAAmB,KACnBlB,EAAkBU,SAASS,aAAanB,EAAkBU,SAC9DV,EAAkBU,QAAUU,WAAW,IAAMxC,GAAU,GAAQwB,IAKjE,OAFAI,EAAMO,iBAAiB,aAAcE,GACrCT,EAAMO,iBAAiB,aAAcG,GAC9B,KACLV,EAAMQ,oBAAoB,aAAcC,GACxCT,EAAMQ,oBAAoB,aAAcE,GACpClB,EAAkBU,SAASS,aAAanB,EAAkBU,SAChE,CAjCU,GAmCX,CAACnH,EAAMoH,KAAMzB,EAAKuB,UAAWL,EAAiB7G,EAAMgH,aAGvDD,EAAAA,UAAU,KACR,IAAKnE,IAAW+C,EAAKuB,UAAUC,UAAYxB,EAAKmC,SAASX,SAAWnH,EAAMgH,WAAY,OAEtF,MAAMe,EAAUzB,aAAWX,EAAKuB,UAAUC,QAASxB,EAAKmC,SAASX,QAASvB,GAE1E,MAAO,IAAMmC,KACZ,CAACnF,EAAQ+C,EAAKuB,UAAWvB,EAAKmC,SAAUlC,EAAQ5F,EAAMgH,aAKzDD,EAAAA,UAAU,KACR,GAAKnE,GAAW+C,EAAKuB,UAAUC,SAAYxB,EAAKmC,SAASX,UAAWnH,EAAMgH,WA4B1E,OA1BIhH,EAAMgI,iBACRzB,EAAoBY,QAAWc,IAC7B,MAAMhB,EAAQtB,EAAKuB,UAAUC,QACvBe,EAAavC,EAAKmC,SAASX,QAC3BgB,EAAYnI,EAAMoI,yBAA2B,GAIjDnB,aAAiBI,aACjBa,aAAsBb,cACrBJ,EAAMoB,SAASJ,EAAEK,UACjBJ,EAAWG,SAASJ,EAAEK,UACtBH,EAAUI,KAAMzF,UACf,MAAmB,iBAARA,GAA4B,OAARA,GAAgB,YAAaA,IAClD,OAAAhB,EAAAgB,EAAIqE,cAAJ,EAAArF,EAAoCuG,SAASJ,EAAEK,YAK3DjD,GAAU,IAIdN,SAASyC,iBAAiB,YAAajB,EAAoBY,UAGtD,KACDZ,EAAoBY,UACtBpC,SAAS0C,oBAAoB,YAAalB,EAAoBY,SAC9DZ,EAAoBY,QAAU,MAE5BV,EAAkBU,SACpBS,aAAanB,EAAkBU,WAGlC,CAACvE,EAAQ+C,EAAKuB,UAAWvB,EAAKmC,SAAU9H,EAAMgI,eAAgBhI,EAAMgH,WAAYhH,EAAMoI,0BAMzFrB,EAAAA,UAAU,KACR,IAAKnE,IAAW5C,EAAMwI,kBAAoB7C,EAAKuB,UAAUC,UAAYxB,EAAKmC,SAASX,SAAWnH,EAAMgH,WAClG,OAEF,MAAMC,EAAQtB,EAAKuB,UAAUC,QACvBe,EAAavC,EAAKmC,SAASX,QAE3BsB,EAAmBR,IACvB,MAAMS,EAAST,EAAEU,QACXC,EAASX,EAAEY,QAEXC,EAAU7B,EAAM8B,wBAChBC,EAAed,EAAWa,wBAG1BE,EACJP,GAAUI,EAAQ5F,KAAOwD,GACzBgC,GAAUI,EAAQI,MAAQxC,GAC1BkC,GAAUE,EAAQ7F,IAAMyD,GACxBkC,GAAUE,EAAQK,OAASzC,EAEvB0C,EACJV,GAAUM,EAAa9F,KAAOwD,GAC9BgC,GAAUM,EAAaE,MAAQxC,GAC/BkC,GAAUI,EAAa/F,IAAMyD,GAC7BkC,GAAUI,EAAaG,OAASzC,EAE9BuC,GAAeG,EAEb3C,EAAkBU,UACpBS,aAAanB,EAAkBU,SAC/BV,EAAkBU,QAAU,OAI1BV,EAAkBU,SAASS,aAAanB,EAAkBU,SAC9DV,EAAkBU,QAAUU,WAAW,IAAMxC,GAAU,GAAQwB,KAMnE,OAFA9B,SAASyC,iBAAiB,YAAaiB,GAEhC,KACL1D,SAAS0C,oBAAoB,YAAagB,GACtChC,EAAkBU,SACpBS,aAAanB,EAAkBU,WAGlC,CAACvE,EAAQ5C,EAAMwI,gBAAiB7C,EAAKuB,UAAWvB,EAAKmC,SAAUpB,EAAaG,EAAiB7G,EAAMgH,aAKtGqC,EAAAA,gBAAgB,KACd,IAAKrJ,EAAMsJ,mBAAqB3D,EAAKuB,UAAUC,QAAS,OACxD,MAAMoC,EAAO5D,EAAKuB,UAAUC,QAAQ4B,wBACpCvD,EAAY+D,EAAK7I,QAChB,CAACV,EAAMsJ,iBAAkB3D,EAAKuB,YAGjC,MAAMlB,EAAOwD,EAAAA,YAAY,KACnBxJ,EAAMgH,YACV3B,GAAU,IACT,CAACrF,EAAMgH,aACJyC,EAAQD,EAAAA,YAAY,KACpBxJ,EAAMgH,YACV3B,GAAU,IACT,CAACrF,EAAMgH,aACJ0C,EAASF,EAAAA,YAAY,KACrBxJ,EAAMgH,YACV3B,EAAWkC,IAAUA,IACpB,CAACvH,EAAMgH,aAGJ2C,EAAiBhD,EAAAA,QAAQ,KACtB,IACFxD,EACHoC,SAAUvF,EAAMsJ,kBAAoB/D,EAAW,GAAGA,WAAe,EACjET,SAAU9E,EAAMsJ,kBAAoB/D,EAAW,GAAGA,WAAe,IAElE,CAACpC,EAAgBnD,EAAMsJ,iBAAkB/D,IAM5CwB,EAAAA,UAAU,KACJnE,IACF,MAAAsC,GAAAA,IACAQ,GAAe,KAEhB,CAAC9C,EAAQsC,IAKZ6B,EAAAA,UAAU,MACHnE,GAAU6C,IACb,MAAAN,GAAAA,MAED,CAACvC,EAAQ6C,EAAaN,IAMzB4B,EAAAA,UAAU,KACR,IAAKnE,GAAU5C,EAAMgH,WAAY,OAEjC,MAAM4C,EAAiB3B,IACrB,MAAMhB,EAAQtB,EAAKuB,UAAUC,QACvBe,EAAavC,EAAKmC,SAASX,QAC3BgB,EAAYnI,EAAMoI,yBAA2B,GAGhDnB,aAAiBI,aAAeJ,EAAMoB,SAASJ,EAAEK,SACjDJ,aAAsBb,aAAea,EAAWG,SAASJ,EAAEK,SAC5DH,EAAUI,KAAMzF,MACVA,GAAO,YAAaA,GAAOA,EAAIqE,SAAWrE,EAAIqE,mBAAmBE,cAC5DvE,EAAIqE,QAAQkB,SAASJ,EAAEK,UAMlCjD,GAAU,IAMd,OAFAN,SAASyC,iBAAiB,UAAWoC,GAE9B,KACL7E,SAAS0C,oBAAoB,UAAWmC,KAEzC,CAAChH,EAAQ+C,EAAKuB,UAAWvB,EAAKmC,SAAU9H,EAAMoI,wBAAyBpI,EAAMgH,aAMhFD,EAAAA,UAAU,KACR,IAAKpB,EAAKuB,UAAUC,SAAWnH,EAAMgH,aAAe5B,EAAiB,OAErE,MAAM6B,EAAQtB,EAAKuB,UAAUC,QACvBgB,EAAYnI,EAAM6J,iBAAmB,GAErCC,EAAc7B,IAEhBhB,aAAiBI,cAChBJ,EAAMoB,SAASJ,EAAE8B,iBACjB5B,EAAUI,KAAMzF,IACf,GAAIA,GAAO,YAAaA,GAAOA,EAAIqE,SAAWrE,EAAIqE,mBAAmBE,YACnE,OAAOvE,EAAIqE,QAAQkB,SAASJ,EAAE8B,kBAGlC3E,KAMJ,OAFI6B,aAAiBI,aAAaJ,EAAMO,iBAAiB,OAAQsC,GAAY,GAEtE,KACD7C,aAAiBI,aAAaJ,EAAMQ,oBAAoB,OAAQqC,GAAY,KAEjF,CAACnE,EAAKuB,UAAWlH,EAAMgH,WAAY5B,EAAiBpF,EAAM6J,kBA2B7D,MAAO,CACLG,YAvBkBR,EAAAA,YACjBlB,IACC,IAAKA,EAAQ,OAAO,EAEpB,MAAMrB,EAAQtB,EAAKuB,UAAUC,QACvBe,EAAavC,EAAKmC,SAASX,QAC3BgB,EAAYnI,EAAM6J,iBAAmB,GAE3C,OACG5C,aAAiBI,aAAeJ,EAAMoB,SAASC,IAC/CJ,aAAsBb,aAAea,EAAWG,SAASC,IAC1DH,EAAUI,KAAMzF,MACVA,GAAO,YAAaA,GAAOA,EAAIqE,SAAWrE,EAAIqE,mBAAmBE,cAC5DvE,EAAIqE,QAAQkB,SAASC,KAMpC,CAAC3C,EAAKuB,UAAWvB,EAAKmC,SAAU9H,EAAM6J,kBAKtCjH,SACAyC,YACAW,OACAyD,QACAC,SACAO,aAActE,EAAKuE,aACnBC,YAAaxE,EAAKyE,YAClBjH,eAAgBwG,EAChB9D,UAAWC,IChYTuE,EAAkBzL,EAAAA,GAAAA;IACnBoB,GAAUpB,EAAAA,GAAAA;kBACGoB,EAAMC,MAAMqK,OAAOC,OAAOvK,EAAMwD,QAAQgH,WAAWC;oBACjDzK,EAAMC,MAAMqK,OAAOC,OAAOvK,EAAMwD,QAAQkH,OAAOD;aACtDzK,EAAMC,MAAMqK,OAAOC,OAAOvK,EAAMwD,QAAQlE,MAAMmL;qBACtCzK,EAAMC,MAAM0K,QAAQJ;;EAK5BK,EAAiBhM,EAAAA,GAAAA;IACzBoB,GACD6K,EAA0B,IACrBlH,EAAAA,cAAc3D,EAAMyE,OAAS;EAGzBoG,EAA6B7K,GAAqCpB,EAAAA,GAAAA;;mBAE5DoB,EAAM8K;aACZ9K,EAAM+K;SACV/K,EAAM+K,QAAU;EAIZ1H,EAAiBnB,EAAO8I,EAAAA,OAAOC,IAAG;eAC/BjL,GAAUA,EAAM6E,WAAa;gBAC5B7E,GAAUA,EAAM2E,YAAc;;;IAG3CuG;IACAN;IACAO;IACA/J;IACAiJ;IACAe;EC7CSxE,EAAyB,EACzBE,EAA8B,ICM9BuE,EAAmBnJ,EAAOoJ,QAAK;;;;EAM/BC,EAAoB3M,EAAAA,GAAAA;IAC5BoB,GACDwL,EAA6B,IACxB7H,EAAAA,cAAc3D,EAAMF,MAAQ;EAGxB0L,EAAgCxL,GAAqCpB,EAAAA,GAAAA;;aAErEoB,EAAM+K,aAAa/K,EAAM+K,iBAAiB/K,EAAM+K;;;;cAI/C/K,EAAM+K;;;EAMPU,EAAavJ,EAAOG,EAAO;IACpCkJ;ECnBSG,EAA4BC,EAAAA,KAAM3L,GACzCA,EAAMgH,WAAmBvE,EAAAA,kBAAAA,IAAAmJ,EAAAA,kBAAAA,SAAA,CAAGjJ,WAAMA,mCAE9BkJ,EAAA,IAAmB7L,KAGhB6L,EAAoC7L,IAC/C,MAAM4C,OAAEA,EAAAqH,aAAQA,EAAAE,YAAcA,EAAAhH,eAAaA,GAAmB8B,EAAW,CACvEY,UAAW7F,EAAM6F,WAAaiG,EAC9B5F,OAAQlG,EAAMkG,QAAU6F,EACxB3E,KAAMpH,EAAMoH,MAAQ,QACpBY,eAAgBhI,EAAMgI,iBAAkB,EACxCQ,gBAAiBxI,EAAMwI,kBAAmB,EAC1Cc,iBAAkBtJ,EAAMsJ,mBAAoB,EAC5CzC,gBAAiB7G,EAAM6G,sBAAmB,EAC1CH,YAAa1G,EAAM0G,kBAAe,IAEpC,SACEsF,kBAAAA,KAAAJ,6BAAA,CACEjJ,SAAA,CAAAF,EAAAA,kBAAAA,IAAC4I,GAAiB7G,GAAIxE,EAAMwE,GAAI1B,IAAKmH,EAClCtH,WAAMA,aAETF,kBAAAA,IAACgJ,EAAA,CACC3L,KAAME,EAAMF,KACZ8C,SACAa,MAAOzD,EAAMyD,MACbN,iBACAL,IAAKqH,EACLvF,UAAW5E,EAAM4E,UACjBE,SAAU9E,EAAM8E,SAEhBnC,WAAAF,kBAAAA,IAACwJ,EAAA,CACCzH,GACExE,EAAM0E,cAAgB,CACpBpE,QAAS,CACPR,KAAM,KAKX6C,SAAA3C,EAAMkM,gBAOjBR,EAAQS,YAAc,UC1Df,MAAML,EAAgD,eAChDC,EAA0C,ECKjDK,EAAqBpM,IACzB,MAAMqM,aAAEA,GAAiBC,mBACnBC,EAA0F5F,EAAAA,QAC9F,KAAA,CACErF,cAAetB,EAAMwE,GACrBzB,MAAO/C,EAAM+C,MACbgB,UAAW/D,EAAM+D,UACjBQ,IAAKvE,EAAMwM,WACXC,mBAAoBzM,EAAM0M,kBAC1BC,oBAAqB3M,EAAM4M,mBAC3BC,YAAa7M,EAAM8M,WACnBC,QAAS/M,EAAM+M,QAAU/M,EAAM+M,QAAU,SAE3C,CACE/M,EAAMwE,GACNxE,EAAM+C,MACN/C,EAAM+D,UACN/D,EAAMwM,WACNxM,EAAM+M,QACN/M,EAAM0M,kBACN1M,EAAM4M,mBACN5M,EAAM8M,aAIJE,EAAWrG,EAAAA,QAAQ,aAAM,OAAA,OAAA7E,EAAA9B,EAAMwE,SAAN,EAAA1C,EAAWuK,MAAiB,OAAAzI,EAAA5D,EAAMwE,SAAN,EAAAZ,EAAUtD,UAAS,CAACN,EAAMwE,GAAI6H,IAEzF,OAAIW,GAAY,YAAaA,EACF,OAArBA,EAASjN,SAAyC,OAArBiN,EAASjN,SAAyC,OAArBiN,EAASjN,UAEnE0C,kBAAAA,IAACR,EAAA,CAECa,IAAK9C,EAAM8C,IACXmK,GAAIjN,EAAMkN,SAAW,IAAMlN,EAAMmN,YAAc,KAAMnN,EAAMoN,OAAS,QACpEC,KAAMrN,EAAMqN,QACRd,EAEH5J,SAAA3C,EAAM2C,aAKTF,kBAAAA,IAACR,EAAA,CAECa,IAAK9C,EAAM8C,IACXmK,GAAIjN,EAAMkN,SAAW,IAAMlN,EAAMmN,YAAc,IAAMnN,EAAMoN,OAAS,OAASJ,EAASjN,QACtFsN,KAAMrN,EAAMqN,QACRd,EAEH5J,SAAA3C,EAAM2C,aAObF,kBAAAA,IAACR,EAAA,CAECa,IAAK9C,EAAM8C,IACXmK,GAAIjN,EAAMkN,SAAW,IAAMlN,EAAMmN,YAAc,KAAMnN,EAAMoN,OAAS,QACpEC,KAAMrN,EAAMqN,QACRd,EAEH5J,SAAA3C,EAAM2C,YAKAsJ,EAAcjM,2BACjBoM,EAAA,IAAsBpM,IAG1BsN,EAA0BtN,GACvByC,EAAAA,kBAAAA,IAAC2J,EAAA,CAAkBc,UAAQ,KAAKlN,EAAO8C,IAAK9C,EAAM8C,IAAKuK,KAAMrN,EAAMqN,OAG/DE,EAAiBC,EAAAA,WAAWF,GAE5BG,EAAoB9B,EAAAA,KAAM3L,IACrC,MAAO0N,EAAeC,GAAoBrI,EAAAA,UAAS,GAC7CsI,EAAapH,EAAAA,OAAuB,MAc1C,OAXAO,EAAAA,UAAU,KACR,MAAM8G,EAAgB,KAChBD,EAAWzG,SACbwG,EAAiBC,EAAWzG,QAAQ2G,YAAcF,EAAWzG,QAAQ4G,cAKzE,OAFAF,IACAG,OAAOxG,iBAAiB,SAAUqG,GAC3B,IAAMG,OAAOvG,oBAAoB,SAAUoG,IACjD,CAAC7N,EAAM2C,WAGRF,EAAAA,kBAAAA,IAACiJ,EAAA,CAAQ1E,YAAa0G,EAAexB,QAASlM,EAAM2C,YAAc3C,EAAMiO,QACtEtL,SAAAF,EAAAA,kBAAAA,IAAC2J,GAAkBtJ,IAAK8K,KAAgB5N,EAAMkO,WAAYnL,MAAO,CAAEC,SAAU,YAC1EL,SAAA3C,EAAM2C,eAMf8K,EAAkBtB,YAAc,oBAChCC,EAAkBD,YAAc,oBAChCmB,EAAuBnB,YAAc"}
@@ -1,2 +1,2 @@
1
- "use strict";const e=require("./jsx-runtime-BcGej2Kr.cjs"),t=require("react"),n=require("./consts.cjs.js"),s=require("./use-Dg449cuf.cjs"),r=require("./component-B1bvPlyB.cjs");exports.ImageButton=l=>{const o=t.useRef(null),u=t.useCallback(()=>{var e;null==(e=o.current)||e.click()},[]),{handleAddFiles:i}=s.useImageCrop({onSave:l.onSave,locale:l.locale,dialog:l.dialog,imageSettings:l.imageSettings,refInput:o});return e.jsxRuntimeExports.jsxs(e.jsxRuntimeExports.Fragment,{children:[e.jsxRuntimeExports.jsx(r.Button,{...l.button,onClick:e=>{var t,n;null==(n=(t=l.button).onClick)||n.call(t,e),u()},children:l.button.children||l.locale.buttonAdd}),e.jsxRuntimeExports.jsx("input",{ref:o,type:"file",accept:n.ImageSupportedFormatsForInput,multiple:!0,style:{display:"none"},onChange:e=>{e.target.files&&i(e.target.files)}})]})};
2
- //# sourceMappingURL=component-BYox4gmt.cjs.map
1
+ "use strict";const e=require("./jsx-runtime-BcGej2Kr.cjs"),t=require("react"),n=require("./consts.cjs.js"),s=require("./use-DQDxWjzu.cjs"),r=require("./component-DnJo66DS.cjs");exports.ImageButton=l=>{const o=t.useRef(null),u=t.useCallback(()=>{var e;null==(e=o.current)||e.click()},[]),{handleAddFiles:i}=s.useImageCrop({onSave:l.onSave,locale:l.locale,dialog:l.dialog,imageSettings:l.imageSettings,refInput:o});return e.jsxRuntimeExports.jsxs(e.jsxRuntimeExports.Fragment,{children:[e.jsxRuntimeExports.jsx(r.Button,{...l.button,onClick:e=>{var t,n;null==(n=(t=l.button).onClick)||n.call(t,e),u()},children:l.button.children||l.locale.buttonAdd}),e.jsxRuntimeExports.jsx("input",{ref:o,type:"file",accept:n.ImageSupportedFormatsForInput,multiple:!0,style:{display:"none"},onChange:e=>{e.target.files&&i(e.target.files)}})]})};
2
+ //# sourceMappingURL=component-BhPckvLk.cjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"component-BhPckvLk.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":"qMAQkDA,IAChD,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,QAAUC,YACR,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,SAAWX,IACLA,EAAEY,OAAOC,OAAO1B,EAAea,EAAEY,OAAOC"}
@@ -1 +1 @@
1
- {"version":3,"file":"component-CLqcB5mM.cjs","sources":["../src/components/ripple/component.tsx"],"sourcesContent":["import React, { FC, useCallback, useLayoutEffect, useMemo, useState } from 'react'\n\nimport {\n DEFAULT_RIPPLE_DURATION,\n DEFAULT_RIPPLE_ID,\n RippleArrayElement,\n RippleContainer,\n RippleProps,\n RippleSpan\n} from '.'\n\nconst useDebouncedRippleCleanUp = (rippleCount: number, duration: number, cleanUpFunction: () => void) => {\n useLayoutEffect(() => {\n // eslint-disable-next-line no-undef\n let bounce: NodeJS.Timeout | null = null\n if (rippleCount > 0) {\n if (bounce) {\n clearTimeout(bounce)\n }\n\n bounce = setTimeout(() => {\n cleanUpFunction()\n if (bounce) {\n clearTimeout(bounce)\n }\n }, duration * 4)\n }\n\n return () => {\n if (bounce) {\n clearTimeout(bounce)\n }\n }\n }, [rippleCount, duration, cleanUpFunction])\n}\n\nexport const Ripple: FC<RippleProps> = props => {\n const color = useMemo(() => props.color ?? 'unset', [props.color])\n const duration = useMemo(() => props.duration ?? DEFAULT_RIPPLE_DURATION, [props.duration])\n\n const [rippleArray, setRippleArray] = useState<RippleArrayElement[]>([])\n\n useDebouncedRippleCleanUp(rippleArray.length, duration ?? DEFAULT_RIPPLE_DURATION, () => {\n setRippleArray([])\n })\n\n const onMouseUp = useCallback((event: React.MouseEvent<HTMLDivElement>) => {\n if (!event.isTrusted) return\n const rippleContainer = event.currentTarget.getBoundingClientRect()\n const size = rippleContainer.width > rippleContainer.height ? rippleContainer.width : rippleContainer.height\n const x = event.pageX - rippleContainer.x - size / 2\n const y = event.pageY - rippleContainer.y - size / 2\n const newRipple = { x, y, size }\n setRippleArray([])\n setTimeout(() => {\n setRippleArray([newRipple])\n }, 0)\n }, [])\n\n if (props.isDisabled || props.isHidden) return null\n return (\n <RippleContainer id={DEFAULT_RIPPLE_ID} $duration={duration} $color={color} onMouseUp={onMouseUp}>\n {rippleArray.length > 0 &&\n rippleArray.map((ripple, index) => {\n return (\n <RippleSpan\n $duration={duration}\n $color={color}\n key={`span-${index}`}\n style={{\n top: ripple.y,\n left: ripple.x,\n width: ripple.size,\n height: ripple.size\n }}\n />\n )\n })}\n </RippleContainer>\n )\n}\n"],"names":["props","color","useMemo","duration","DEFAULT_RIPPLE_DURATION","rippleArray","setRippleArray","useState","rippleCount","cleanUpFunction","useLayoutEffect","bounce","clearTimeout","setTimeout","useDebouncedRippleCleanUp","length","onMouseUp","useCallback","event","isTrusted","rippleContainer","currentTarget","getBoundingClientRect","size","width","height","newRipple","x","pageX","y","pageY","isDisabled","isHidden","RippleContainer","id","DEFAULT_RIPPLE_ID","$duration","$color","children","map","ripple","index","jsx","RippleSpan","style","top","left"],"mappings":"0IAoCuCA,IACrC,MAAMC,EAAQC,EAAAA,QAAQ,IAAMF,EAAMC,OAAS,QAAS,CAACD,EAAMC,QACrDE,EAAWD,EAAAA,QAAQ,IAAMF,EAAMG,UAAYC,0BAAyB,CAACJ,EAAMG,YAE1EE,EAAaC,GAAkBC,EAAAA,SAA+B,IA7BrC,EAACC,EAAqBL,EAAkBM,KACxEC,EAAAA,gBAAgB,KAEd,IAAIC,EAAgC,KAcpC,OAbIH,EAAc,IACZG,GACFC,aAAaD,GAGfA,EAASE,WAAW,KAClBJ,IACIE,GACFC,aAAaD,IAEH,EAAXR,IAGE,KACDQ,GACFC,aAAaD,KAGhB,CAACH,EAAaL,EAAUM,KAS3BK,CAA0BT,EAAYU,OAAQZ,GAAYC,EAAAA,wBAAyB,KACjFE,EAAe,MAGjB,MAAMU,EAAYC,cAAaC,IAC7B,IAAKA,EAAMC,UAAW,OACtB,MAAMC,EAAkBF,EAAMG,cAAcC,wBACtCC,EAAOH,EAAgBI,MAAQJ,EAAgBK,OAASL,EAAgBI,MAAQJ,EAAgBK,OAGhGC,EAAY,CAAEC,EAFVT,EAAMU,MAAQR,EAAgBO,EAAIJ,EAAO,EAE5BM,EADbX,EAAMY,MAAQV,EAAgBS,EAAIN,EAAO,EACzBA,QAC1BjB,EAAe,IACfO,WAAW,KACTP,EAAe,CAACoB,KACf,IACF,IAEH,OAAI1B,EAAM+B,YAAc/B,EAAMgC,SAAiB,6BAE5CC,EAAAA,gBAAA,CAAgBC,GAAIC,EAAAA,kBAAmBC,UAAWjC,EAAUkC,OAAQpC,EAAOe,YACzEsB,SAAAjC,EAAYU,OAAS,GACpBV,EAAYkC,IAAI,CAACC,EAAQC,MAErBC,kBAAAA,IAACC,EAAAA,WAAA,CACCP,UAAWjC,EACXkC,OAAQpC,EAER2C,MAAO,CACLC,IAAKL,EAAOX,EACZiB,KAAMN,EAAOb,EACbH,MAAOgB,EAAOjB,KACdE,OAAQe,EAAOjB,OALZ,QAAQkB"}
1
+ {"version":3,"file":"component-CLqcB5mM.cjs","sources":["../src/components/ripple/component.tsx"],"sourcesContent":["import React, { FC, useCallback, useLayoutEffect, useMemo, useState } from 'react';\n\nimport {\n DEFAULT_RIPPLE_DURATION,\n DEFAULT_RIPPLE_ID,\n RippleArrayElement,\n RippleContainer,\n RippleProps,\n RippleSpan,\n} from '.';\n\nconst useDebouncedRippleCleanUp = (rippleCount: number, duration: number, cleanUpFunction: () => void) => {\n useLayoutEffect(() => {\n // eslint-disable-next-line no-undef\n let bounce: NodeJS.Timeout | null = null;\n if (rippleCount > 0) {\n if (bounce) {\n clearTimeout(bounce);\n }\n\n bounce = setTimeout(() => {\n cleanUpFunction();\n if (bounce) {\n clearTimeout(bounce);\n }\n }, duration * 4);\n }\n\n return () => {\n if (bounce) {\n clearTimeout(bounce);\n }\n };\n }, [rippleCount, duration, cleanUpFunction]);\n};\n\nexport const Ripple: FC<RippleProps> = (props) => {\n const color = useMemo(() => props.color ?? 'unset', [props.color]);\n const duration = useMemo(() => props.duration ?? DEFAULT_RIPPLE_DURATION, [props.duration]);\n\n const [rippleArray, setRippleArray] = useState<RippleArrayElement[]>([]);\n\n useDebouncedRippleCleanUp(rippleArray.length, duration ?? DEFAULT_RIPPLE_DURATION, () => {\n setRippleArray([]);\n });\n\n const onMouseUp = useCallback((event: React.MouseEvent<HTMLDivElement>) => {\n if (!event.isTrusted) return;\n const rippleContainer = event.currentTarget.getBoundingClientRect();\n const size = rippleContainer.width > rippleContainer.height ? rippleContainer.width : rippleContainer.height;\n const x = event.pageX - rippleContainer.x - size / 2;\n const y = event.pageY - rippleContainer.y - size / 2;\n const newRipple = { x, y, size };\n setRippleArray([]);\n setTimeout(() => {\n setRippleArray([newRipple]);\n }, 0);\n }, []);\n\n if (props.isDisabled || props.isHidden) return null;\n return (\n <RippleContainer id={DEFAULT_RIPPLE_ID} $duration={duration} $color={color} onMouseUp={onMouseUp}>\n {rippleArray.length > 0 &&\n rippleArray.map((ripple, index) => {\n return (\n <RippleSpan\n $duration={duration}\n $color={color}\n key={`span-${index}`}\n style={{\n top: ripple.y,\n left: ripple.x,\n width: ripple.size,\n height: ripple.size,\n }}\n />\n );\n })}\n </RippleContainer>\n );\n};\n"],"names":["props","color","useMemo","duration","DEFAULT_RIPPLE_DURATION","rippleArray","setRippleArray","useState","rippleCount","cleanUpFunction","useLayoutEffect","bounce","clearTimeout","setTimeout","useDebouncedRippleCleanUp","length","onMouseUp","useCallback","event","isTrusted","rippleContainer","currentTarget","getBoundingClientRect","size","width","height","newRipple","x","pageX","y","pageY","isDisabled","isHidden","RippleContainer","id","DEFAULT_RIPPLE_ID","$duration","$color","children","map","ripple","index","jsx","RippleSpan","style","top","left"],"mappings":"0IAoCwCA,IACtC,MAAMC,EAAQC,EAAAA,QAAQ,IAAMF,EAAMC,OAAS,QAAS,CAACD,EAAMC,QACrDE,EAAWD,EAAAA,QAAQ,IAAMF,EAAMG,UAAYC,0BAAyB,CAACJ,EAAMG,YAE1EE,EAAaC,GAAkBC,EAAAA,SAA+B,IA7BrC,EAACC,EAAqBL,EAAkBM,KACxEC,EAAAA,gBAAgB,KAEd,IAAIC,EAAgC,KAcpC,OAbIH,EAAc,IACZG,GACFC,aAAaD,GAGfA,EAASE,WAAW,KAClBJ,IACIE,GACFC,aAAaD,IAEH,EAAXR,IAGE,KACDQ,GACFC,aAAaD,KAGhB,CAACH,EAAaL,EAAUM,KAS3BK,CAA0BT,EAAYU,OAAQZ,GAAYC,EAAAA,wBAAyB,KACjFE,EAAe,MAGjB,MAAMU,EAAYC,cAAaC,IAC7B,IAAKA,EAAMC,UAAW,OACtB,MAAMC,EAAkBF,EAAMG,cAAcC,wBACtCC,EAAOH,EAAgBI,MAAQJ,EAAgBK,OAASL,EAAgBI,MAAQJ,EAAgBK,OAGhGC,EAAY,CAAEC,EAFVT,EAAMU,MAAQR,EAAgBO,EAAIJ,EAAO,EAE5BM,EADbX,EAAMY,MAAQV,EAAgBS,EAAIN,EAAO,EACzBA,QAC1BjB,EAAe,IACfO,WAAW,KACTP,EAAe,CAACoB,KACf,IACF,IAEH,OAAI1B,EAAM+B,YAAc/B,EAAMgC,SAAiB,6BAE5CC,EAAAA,gBAAA,CAAgBC,GAAIC,EAAAA,kBAAmBC,UAAWjC,EAAUkC,OAAQpC,EAAOe,YACzEsB,SAAAjC,EAAYU,OAAS,GACpBV,EAAYkC,IAAI,CAACC,EAAQC,MAErBC,kBAAAA,IAACC,EAAAA,WAAA,CACCP,UAAWjC,EACXkC,OAAQpC,EAER2C,MAAO,CACLC,IAAKL,EAAOX,EACZiB,KAAMN,EAAOb,EACbH,MAAOgB,EAAOjB,KACdE,OAAQe,EAAOjB,OALZ,QAAQkB"}
@@ -6,7 +6,7 @@ import { K as KEY_SIZE_DATA } from "./theme.global-BgERDJ4e.js";
6
6
  import { u as useMergeRefs } from "./floating-ui.react-Byi6bLb1.js";
7
7
  import { useMemo, useRef } from "react";
8
8
  import styled, { css, useTheme } from "styled-components";
9
- import { g as addSXTypography } from "./component-DKMsOpqH.js";
9
+ import { g as addSXTypography } from "./component-GtWqnaqk.js";
10
10
  import { b as addTransition, c as addFont, g as addOutline } from "./style-RL73t3JD.js";
11
11
  import { a as addSX } from "./style-plT9Ah7t.js";
12
12
  import { motion } from "framer-motion";
@@ -258,4 +258,4 @@ export {
258
258
  StyledButton as b,
259
259
  Button as c
260
260
  };
261
- //# sourceMappingURL=component-DJYgewYg.js.map
261
+ //# sourceMappingURL=component-CN6att4f.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"component-DJYgewYg.js","sources":["../src/components/button/component.styles.ts","../src/components/button/component.tsx"],"sourcesContent":["import { addRippleDefault } from '@local/components/ripple';\nimport { addSXTypography } from '@local/components/typography';\nimport { addFont, addOutline, addTransition } from '@local/styles/add';\nimport { addSX } from '@local/styles/sx';\nimport { IThemeSizePropertyDefault, KEY_SIZE_DATA } from '@local/theme';\n\nimport { motion } from 'framer-motion';\nimport styled, { css } from 'styled-components';\n\nimport { StyledDollarButtonIconsWrapperProps, StyledDollarButtonProps } from '.';\n\n/****************************************** Genre *************************************************/\nconst ButtonGenre = css<StyledDollarButtonProps>`\n ${(props) => css`\n background: ${props.theme.colors.button[props.$genre].background.rest};\n border-color: ${props.theme.colors.button[props.$genre].border.rest};\n color: ${props.theme.colors.button[props.$genre].color.rest};\n &:hover {\n ${\n (!props.$isHidden || props.$isNotHoverEffect) &&\n css`\n background: ${props.theme.colors.button[props.$genre].background.hover};\n border-color: ${props.theme.colors.button[props.$genre].border.hover};\n color: ${props.theme.colors.button[props.$genre].color.hover};\n `\n }\n }\n `};\n`;\n\n/****************************************** Disabled *************************************************/\nconst ButtonDisabled = css<StyledDollarButtonProps>`\n ${(props) =>\n props.$isHidden\n ? css`\n opacity: 0.5;\n background: ${props.theme.colors.button[props.$genre].background.rest} !important;\n color: ${props.theme.colors.button[props.$genre].color.rest} !important;\n `\n : css`\n opacity: 1;\n `}\n`;\n/****************************************** is HiddenBorder *************************************************/\nconst ButtonIsHiddenBorder = css<StyledDollarButtonProps>`\n ${(props) =>\n props.$isHiddenBorder &&\n css`\n border: 0px transparent !important;\n `}\n`;\n/****************************************** is Radius *************************************************/\nconst ButtonIsRadius = css<StyledDollarButtonProps>`\n ${(props) =>\n props.$isRadius &&\n css`\n border-radius: 100px;\n `}\n`;\n/****************************************** is PlaystationEffect *************************************************/\nconst ButtonIsPlaystationEffect = css<StyledDollarButtonProps>`\n ${(props) =>\n props.$isPlaystationEffect &&\n css`\n box-shadow: ${props.theme.effects.button};\n `}\n`;\n/****************************************** Icons Wrapper *************************************************/\nexport const StyledButtonIconsWrapper = styled.div<StyledDollarButtonIconsWrapperProps>`\n ${(props) =>\n props.$isIconGroup\n ? css`\n display: flex;\n gap: ${KEY_SIZE_DATA[props.$size].padding - 2}px;\n align-items: center;\n order: ${props.$iconGroupOrder || 'initial'};\n `\n : css`\n display: contents;\n `}\n`;\n\n/****************************************** Size *************************************************/\nexport const ButtonSize = css<StyledDollarButtonProps>`\n ${(props) =>\n ButtonSizeConstructor({\n ...KEY_SIZE_DATA[props.$size],\n isFullSize: props.$isFullSize,\n isWidthAsHeight: props.$isWidthAsHeight,\n isMinWidthAsContent: props.$isMinWidthAsContent,\n })};\n`;\nexport const ButtonSizeConstructor = (\n props: IThemeSizePropertyDefault & {\n isFullSize?: boolean;\n isWidthAsHeight?: boolean;\n isMinWidthAsContent?: boolean;\n },\n) => css`\n height: fit-content;\n min-height: ${props.height}px;\n max-height: fit-content;\n padding: 2px ${props.padding}px;\n border-radius: ${props.radius}px;\n gap: ${props.padding - 2}px;\n ${() =>\n props.isFullSize &&\n css`\n height: 100%;\n width: 100%;\n border-radius: 0px;\n `};\n ${\n props.isWidthAsHeight &&\n css`\n width: ${props.height}px;\n min-width: ${props.height}px;\n padding: 0px;\n `\n };\n ${\n props.isMinWidthAsContent &&\n css`\n min-width: max-content;\n `\n };\n`;\n/****************************************** Border *************************************************/\nconst ButtonBorder = css`\n border: 1px solid transparent;\n`;\n\n/****************************************** Flex *************************************************/\nconst ButtonFlex = css<StyledDollarButtonProps>`\n display: flex;\n align-items: center;\n justify-content: center;\n`;\n/****************************************** Styled *************************************************/\nexport const StyledButton = styled(motion.button)<StyledDollarButtonProps>`\n cursor: pointer;\n user-select: none;\n\n ${ButtonBorder};\n ${ButtonSize};\n ${ButtonGenre};\n ${ButtonDisabled};\n ${ButtonIsHiddenBorder};\n ${ButtonIsRadius};\n ${ButtonIsPlaystationEffect};\n ${ButtonFlex};\n ${addRippleDefault};\n ${addTransition};\n ${addFont};\n ${addOutline};\n ${addSXTypography};\n ${addSX};\n`;\n","import {\n Icon,\n TIconBustMarketNameString,\n TIconCheckboxNameString,\n TIconIdNameString,\n TIconLoadingNameString,\n TIconLogoNameString,\n TIconRealEbailNameString,\n} from '@local/components/icon';\nimport { Ripple } from '@local/components/ripple';\nimport { KEY_SIZE_DATA } from '@local/theme';\n\nimport { useMergeRefs } from '@floating-ui/react';\nimport { FC, Ref, useMemo, useRef } from 'react';\nimport { useTheme } from 'styled-components';\n\nimport { ButtonProps, StyledButton, StyledButtonIconsWrapper } from '.';\n\nexport const Button: FC<ButtonProps> = (props) => {\n const theme = useTheme();\n\n const iconComponents = useMemo(\n () =>\n (props.icons ?? [])\n ?.filter((icon) => !icon.isHidden)\n ?.map((icon, index) =>\n icon?.type === 'id' ? (\n <Icon\n key={`${icon.type}-${icon.name}-${index}`}\n name={icon?.name as TIconIdNameString}\n type='id'\n size={icon?.size ?? props.size}\n turn={icon.turn}\n order={icon.order}\n />\n ) : icon?.type === 'logo' ? (\n <Icon\n key={`${icon.type}-${icon.name}-${index}`}\n name={icon?.name as TIconLogoNameString}\n type='logo'\n size={icon?.size ?? props.size}\n turn={icon.turn}\n order={icon.order}\n />\n ) : icon?.type === 'bustmarket' ? (\n <Icon\n key={`${icon.type}-${icon.name}-${index}`}\n name={icon?.name as TIconBustMarketNameString}\n type='bustmarket'\n size={icon?.size ?? props.size}\n turn={icon.turn}\n order={icon.order}\n />\n ) : icon?.type === 'checkbox' ? (\n <Icon\n key={`${icon.type}-${icon.name}-${index}`}\n name={icon?.name as TIconCheckboxNameString}\n type='checkbox'\n size={icon?.size ?? props.size}\n turn={icon.turn}\n order={icon.order}\n />\n ) : icon?.type === 'loading' ? (\n <Icon\n key={`${icon.type}-${icon.name}-${index}`}\n name={icon?.name as TIconLoadingNameString}\n type='loading'\n size={icon?.size ?? props.size}\n turn={icon.turn}\n order={icon.order}\n />\n ) : icon?.type === 'realebail' ? (\n <Icon\n key={`${icon.type}-${icon.name}-${index}`}\n name={icon?.name as TIconRealEbailNameString}\n type='realebail'\n size={icon?.size ?? props.size}\n turn={icon.turn}\n order={icon.order}\n />\n ) : null,\n ),\n [props.icons, props.size],\n );\n\n const handleClick: ButtonProps['onClick'] = (event) => {\n if (!props.isDisabled && props.onClick) {\n props.onClick(event);\n }\n };\n const refDefault = useRef<HTMLButtonElement>(null);\n\n const ref = useMergeRefs([refDefault, props.ref]);\n\n return (\n <StyledButton\n $font={{\n size: props.font?.size ?? KEY_SIZE_DATA[props.size].font,\n weight: props.font?.weight ?? 700,\n family: props.font?.family ?? theme.font.family,\n height: props.font?.height,\n }}\n $isNotHoverEffect={props.isNotHoverEffect}\n whileTap={props.isWhileTapEffect ? { scale: 0.9, transition: { duration: 0.01 } } : {}}\n id={props.id}\n tabIndex={props.tabIndex ?? 0}\n $isFullSize={props.isFullSize}\n $genre={props.genre}\n $size={props.size}\n $isDisabled={props.isDisabled}\n $isDisabledOutline={props.isDisabled ?? props.isDisabledOutline}\n $isOutlineBoxShadow={props.isOutlineBoxShadow}\n $isReadOnly={props.isReadOnly}\n $isMinWidthAsContent={props.isMinWidthAsContent}\n $isWidthAsHeight={props.isWidthAsHeight}\n $isRadius={props.isRadius}\n $isHidden={props.isHidden}\n $isPlaystationEffect={props.isPlaystationEffect}\n $sxTypography={props.sxTypography}\n $isHiddenBorder={props.isHiddenBorder || props.isPlaystationEffect}\n disabled={props.isDisabled}\n type={props.type ?? 'button'}\n className={props.className}\n onClick={handleClick}\n onFocus={props.onFocus}\n onMouseDown={props.onMouseDown}\n ref={ref as Ref<HTMLButtonElement>}\n $sx={props.sx}\n >\n <Ripple\n color={theme.colors.checkbox[props.genre].color.rest}\n isDisabled={props.isDisabled ?? props.isDisabledRipple}\n isHidden={props.isHidden}\n />\n\n {!props.isOnlyIcon && <div style={{ order: 0, display: 'contents' }}>{props.children && props.children}</div>}\n <StyledButtonIconsWrapper\n $size={props.size}\n $isIconGroup={props.isIconGroup}\n $iconGroupOrder={'iconGroupOrder' in props ? props.iconGroupOrder : undefined}\n >\n {iconComponents}\n </StyledButtonIconsWrapper>\n </StyledButton>\n );\n};\n"],"names":["_b","_a","jsx","jsxs"],"mappings":"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"}
1
+ {"version":3,"file":"component-CN6att4f.js","sources":["../src/components/button/component.styles.ts","../src/components/button/component.tsx"],"sourcesContent":["import { addRippleDefault } from '@local/components/ripple';\nimport { addSXTypography } from '@local/components/typography';\nimport { addFont, addOutline, addTransition } from '@local/styles/add';\nimport { addSX } from '@local/styles/sx';\nimport { IThemeSizePropertyDefault, KEY_SIZE_DATA } from '@local/theme';\n\nimport { motion } from 'framer-motion';\nimport styled, { css } from 'styled-components';\n\nimport { StyledDollarButtonIconsWrapperProps, StyledDollarButtonProps } from '.';\n\n/****************************************** Genre *************************************************/\nconst ButtonGenre = css<StyledDollarButtonProps>`\n ${(props) => css`\n background: ${props.theme.colors.button[props.$genre].background.rest};\n border-color: ${props.theme.colors.button[props.$genre].border.rest};\n color: ${props.theme.colors.button[props.$genre].color.rest};\n &:hover {\n ${\n (!props.$isHidden || props.$isNotHoverEffect) &&\n css`\n background: ${props.theme.colors.button[props.$genre].background.hover};\n border-color: ${props.theme.colors.button[props.$genre].border.hover};\n color: ${props.theme.colors.button[props.$genre].color.hover};\n `\n }\n }\n `};\n`;\n\n/****************************************** Disabled *************************************************/\nconst ButtonDisabled = css<StyledDollarButtonProps>`\n ${(props) =>\n props.$isHidden\n ? css`\n opacity: 0.5;\n background: ${props.theme.colors.button[props.$genre].background.rest} !important;\n color: ${props.theme.colors.button[props.$genre].color.rest} !important;\n `\n : css`\n opacity: 1;\n `}\n`;\n/****************************************** is HiddenBorder *************************************************/\nconst ButtonIsHiddenBorder = css<StyledDollarButtonProps>`\n ${(props) =>\n props.$isHiddenBorder &&\n css`\n border: 0px transparent !important;\n `}\n`;\n/****************************************** is Radius *************************************************/\nconst ButtonIsRadius = css<StyledDollarButtonProps>`\n ${(props) =>\n props.$isRadius &&\n css`\n border-radius: 100px;\n `}\n`;\n/****************************************** is PlaystationEffect *************************************************/\nconst ButtonIsPlaystationEffect = css<StyledDollarButtonProps>`\n ${(props) =>\n props.$isPlaystationEffect &&\n css`\n box-shadow: ${props.theme.effects.button};\n `}\n`;\n/****************************************** Icons Wrapper *************************************************/\nexport const StyledButtonIconsWrapper = styled.div<StyledDollarButtonIconsWrapperProps>`\n ${(props) =>\n props.$isIconGroup\n ? css`\n display: flex;\n gap: ${KEY_SIZE_DATA[props.$size].padding - 2}px;\n align-items: center;\n order: ${props.$iconGroupOrder || 'initial'};\n `\n : css`\n display: contents;\n `}\n`;\n\n/****************************************** Size *************************************************/\nexport const ButtonSize = css<StyledDollarButtonProps>`\n ${(props) =>\n ButtonSizeConstructor({\n ...KEY_SIZE_DATA[props.$size],\n isFullSize: props.$isFullSize,\n isWidthAsHeight: props.$isWidthAsHeight,\n isMinWidthAsContent: props.$isMinWidthAsContent,\n })};\n`;\nexport const ButtonSizeConstructor = (\n props: IThemeSizePropertyDefault & {\n isFullSize?: boolean;\n isWidthAsHeight?: boolean;\n isMinWidthAsContent?: boolean;\n },\n) => css`\n height: fit-content;\n min-height: ${props.height}px;\n max-height: fit-content;\n padding: 2px ${props.padding}px;\n border-radius: ${props.radius}px;\n gap: ${props.padding - 2}px;\n ${() =>\n props.isFullSize &&\n css`\n height: 100%;\n width: 100%;\n border-radius: 0px;\n `};\n ${\n props.isWidthAsHeight &&\n css`\n width: ${props.height}px;\n min-width: ${props.height}px;\n padding: 0px;\n `\n };\n ${\n props.isMinWidthAsContent &&\n css`\n min-width: max-content;\n `\n };\n`;\n/****************************************** Border *************************************************/\nconst ButtonBorder = css`\n border: 1px solid transparent;\n`;\n\n/****************************************** Flex *************************************************/\nconst ButtonFlex = css<StyledDollarButtonProps>`\n display: flex;\n align-items: center;\n justify-content: center;\n`;\n/****************************************** Styled *************************************************/\nexport const StyledButton = styled(motion.button)<StyledDollarButtonProps>`\n cursor: pointer;\n user-select: none;\n\n ${ButtonBorder};\n ${ButtonSize};\n ${ButtonGenre};\n ${ButtonDisabled};\n ${ButtonIsHiddenBorder};\n ${ButtonIsRadius};\n ${ButtonIsPlaystationEffect};\n ${ButtonFlex};\n ${addRippleDefault};\n ${addTransition};\n ${addFont};\n ${addOutline};\n ${addSXTypography};\n ${addSX};\n`;\n","import {\n Icon,\n TIconBustMarketNameString,\n TIconCheckboxNameString,\n TIconIdNameString,\n TIconLoadingNameString,\n TIconLogoNameString,\n TIconRealEbailNameString,\n} from '@local/components/icon';\nimport { Ripple } from '@local/components/ripple';\nimport { KEY_SIZE_DATA } from '@local/theme';\n\nimport { useMergeRefs } from '@floating-ui/react';\nimport { FC, Ref, useMemo, useRef } from 'react';\nimport { useTheme } from 'styled-components';\n\nimport { ButtonProps, StyledButton, StyledButtonIconsWrapper } from '.';\n\nexport const Button: FC<ButtonProps> = (props) => {\n const theme = useTheme();\n\n const iconComponents = useMemo(\n () =>\n (props.icons ?? [])\n ?.filter((icon) => !icon.isHidden)\n ?.map((icon, index) =>\n icon?.type === 'id' ? (\n <Icon\n key={`${icon.type}-${icon.name}-${index}`}\n name={icon?.name as TIconIdNameString}\n type='id'\n size={icon?.size ?? props.size}\n turn={icon.turn}\n order={icon.order}\n />\n ) : icon?.type === 'logo' ? (\n <Icon\n key={`${icon.type}-${icon.name}-${index}`}\n name={icon?.name as TIconLogoNameString}\n type='logo'\n size={icon?.size ?? props.size}\n turn={icon.turn}\n order={icon.order}\n />\n ) : icon?.type === 'bustmarket' ? (\n <Icon\n key={`${icon.type}-${icon.name}-${index}`}\n name={icon?.name as TIconBustMarketNameString}\n type='bustmarket'\n size={icon?.size ?? props.size}\n turn={icon.turn}\n order={icon.order}\n />\n ) : icon?.type === 'checkbox' ? (\n <Icon\n key={`${icon.type}-${icon.name}-${index}`}\n name={icon?.name as TIconCheckboxNameString}\n type='checkbox'\n size={icon?.size ?? props.size}\n turn={icon.turn}\n order={icon.order}\n />\n ) : icon?.type === 'loading' ? (\n <Icon\n key={`${icon.type}-${icon.name}-${index}`}\n name={icon?.name as TIconLoadingNameString}\n type='loading'\n size={icon?.size ?? props.size}\n turn={icon.turn}\n order={icon.order}\n />\n ) : icon?.type === 'realebail' ? (\n <Icon\n key={`${icon.type}-${icon.name}-${index}`}\n name={icon?.name as TIconRealEbailNameString}\n type='realebail'\n size={icon?.size ?? props.size}\n turn={icon.turn}\n order={icon.order}\n />\n ) : null,\n ),\n [props.icons, props.size],\n );\n\n const handleClick: ButtonProps['onClick'] = (event) => {\n if (!props.isDisabled && props.onClick) {\n props.onClick(event);\n }\n };\n const refDefault = useRef<HTMLButtonElement>(null);\n\n const ref = useMergeRefs([refDefault, props.ref]);\n\n return (\n <StyledButton\n $font={{\n size: props.font?.size ?? KEY_SIZE_DATA[props.size].font,\n weight: props.font?.weight ?? 700,\n family: props.font?.family ?? theme.font.family,\n height: props.font?.height,\n }}\n $isNotHoverEffect={props.isNotHoverEffect}\n whileTap={props.isWhileTapEffect ? { scale: 0.9, transition: { duration: 0.01 } } : {}}\n id={props.id}\n tabIndex={props.tabIndex ?? 0}\n $isFullSize={props.isFullSize}\n $genre={props.genre}\n $size={props.size}\n $isDisabled={props.isDisabled}\n $isDisabledOutline={props.isDisabled ?? props.isDisabledOutline}\n $isOutlineBoxShadow={props.isOutlineBoxShadow}\n $isReadOnly={props.isReadOnly}\n $isMinWidthAsContent={props.isMinWidthAsContent}\n $isWidthAsHeight={props.isWidthAsHeight}\n $isRadius={props.isRadius}\n $isHidden={props.isHidden}\n $isPlaystationEffect={props.isPlaystationEffect}\n $sxTypography={props.sxTypography}\n $isHiddenBorder={props.isHiddenBorder || props.isPlaystationEffect}\n disabled={props.isDisabled}\n type={props.type ?? 'button'}\n className={props.className}\n onClick={handleClick}\n onFocus={props.onFocus}\n onMouseDown={props.onMouseDown}\n ref={ref as Ref<HTMLButtonElement>}\n $sx={props.sx}\n >\n <Ripple\n color={theme.colors.checkbox[props.genre].color.rest}\n isDisabled={props.isDisabled ?? props.isDisabledRipple}\n isHidden={props.isHidden}\n />\n\n {!props.isOnlyIcon && <div style={{ order: 0, display: 'contents' }}>{props.children && props.children}</div>}\n <StyledButtonIconsWrapper\n $size={props.size}\n $isIconGroup={props.isIconGroup}\n $iconGroupOrder={'iconGroupOrder' in props ? props.iconGroupOrder : undefined}\n >\n {iconComponents}\n </StyledButtonIconsWrapper>\n </StyledButton>\n );\n};\n"],"names":["_b","_a","jsx","jsxs"],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"component-DHM9pbab.js","sources":["../src/components/ripple/component.tsx"],"sourcesContent":["import React, { FC, useCallback, useLayoutEffect, useMemo, useState } from 'react'\n\nimport {\n DEFAULT_RIPPLE_DURATION,\n DEFAULT_RIPPLE_ID,\n RippleArrayElement,\n RippleContainer,\n RippleProps,\n RippleSpan\n} from '.'\n\nconst useDebouncedRippleCleanUp = (rippleCount: number, duration: number, cleanUpFunction: () => void) => {\n useLayoutEffect(() => {\n // eslint-disable-next-line no-undef\n let bounce: NodeJS.Timeout | null = null\n if (rippleCount > 0) {\n if (bounce) {\n clearTimeout(bounce)\n }\n\n bounce = setTimeout(() => {\n cleanUpFunction()\n if (bounce) {\n clearTimeout(bounce)\n }\n }, duration * 4)\n }\n\n return () => {\n if (bounce) {\n clearTimeout(bounce)\n }\n }\n }, [rippleCount, duration, cleanUpFunction])\n}\n\nexport const Ripple: FC<RippleProps> = props => {\n const color = useMemo(() => props.color ?? 'unset', [props.color])\n const duration = useMemo(() => props.duration ?? DEFAULT_RIPPLE_DURATION, [props.duration])\n\n const [rippleArray, setRippleArray] = useState<RippleArrayElement[]>([])\n\n useDebouncedRippleCleanUp(rippleArray.length, duration ?? DEFAULT_RIPPLE_DURATION, () => {\n setRippleArray([])\n })\n\n const onMouseUp = useCallback((event: React.MouseEvent<HTMLDivElement>) => {\n if (!event.isTrusted) return\n const rippleContainer = event.currentTarget.getBoundingClientRect()\n const size = rippleContainer.width > rippleContainer.height ? rippleContainer.width : rippleContainer.height\n const x = event.pageX - rippleContainer.x - size / 2\n const y = event.pageY - rippleContainer.y - size / 2\n const newRipple = { x, y, size }\n setRippleArray([])\n setTimeout(() => {\n setRippleArray([newRipple])\n }, 0)\n }, [])\n\n if (props.isDisabled || props.isHidden) return null\n return (\n <RippleContainer id={DEFAULT_RIPPLE_ID} $duration={duration} $color={color} onMouseUp={onMouseUp}>\n {rippleArray.length > 0 &&\n rippleArray.map((ripple, index) => {\n return (\n <RippleSpan\n $duration={duration}\n $color={color}\n key={`span-${index}`}\n style={{\n top: ripple.y,\n left: ripple.x,\n width: ripple.size,\n height: ripple.size\n }}\n />\n )\n })}\n </RippleContainer>\n )\n}\n"],"names":["jsx"],"mappings":";;;AAWA,MAAM,4BAA4B,CAAC,aAAqB,UAAkB,oBAAgC;AACxG,kBAAgB,MAAM;AAEpB,QAAI,SAAgC;AACpC,QAAI,cAAc,GAAG;AACnB,UAAI,QAAQ;AACV,qBAAa,MAAM;AAAA,MAAA;AAGrB,eAAS,WAAW,MAAM;AACxB,wBAAA;AACA,YAAI,QAAQ;AACV,uBAAa,MAAM;AAAA,QAAA;AAAA,MACrB,GACC,WAAW,CAAC;AAAA,IAAA;AAGjB,WAAO,MAAM;AACX,UAAI,QAAQ;AACV,qBAAa,MAAM;AAAA,MAAA;AAAA,IACrB;AAAA,EACF,GACC,CAAC,aAAa,UAAU,eAAe,CAAC;AAC7C;AAEO,MAAM,SAA0B,CAAA,UAAS;AAC9C,QAAM,QAAQ,QAAQ,MAAM,MAAM,SAAS,SAAS,CAAC,MAAM,KAAK,CAAC;AACjE,QAAM,WAAW,QAAQ,MAAM,MAAM,YAAY,yBAAyB,CAAC,MAAM,QAAQ,CAAC;AAE1F,QAAM,CAAC,aAAa,cAAc,IAAI,SAA+B,CAAA,CAAE;AAEvE,4BAA0B,YAAY,QAAQ,YAAY,yBAAyB,MAAM;AACvF,mBAAe,CAAA,CAAE;AAAA,EAAA,CAClB;AAED,QAAM,YAAY,YAAY,CAAC,UAA4C;AACzE,QAAI,CAAC,MAAM,UAAW;AACtB,UAAM,kBAAkB,MAAM,cAAc,sBAAA;AAC5C,UAAM,OAAO,gBAAgB,QAAQ,gBAAgB,SAAS,gBAAgB,QAAQ,gBAAgB;AACtG,UAAM,IAAI,MAAM,QAAQ,gBAAgB,IAAI,OAAO;AACnD,UAAM,IAAI,MAAM,QAAQ,gBAAgB,IAAI,OAAO;AACnD,UAAM,YAAY,EAAE,GAAG,GAAG,KAAA;AAC1B,mBAAe,CAAA,CAAE;AACjB,eAAW,MAAM;AACf,qBAAe,CAAC,SAAS,CAAC;AAAA,IAAA,GACzB,CAAC;AAAA,EAAA,GACH,EAAE;AAEL,MAAI,MAAM,cAAc,MAAM,SAAU,QAAO;AAC/C,+CACG,iBAAA,EAAgB,IAAI,mBAAmB,WAAW,UAAU,QAAQ,OAAO,WACzE,UAAA,YAAY,SAAS,KACpB,YAAY,IAAI,CAAC,QAAQ,UAAU;AACjC,WACEA,kCAAAA;AAAAA,MAAC;AAAA,MAAA;AAAA,QACC,WAAW;AAAA,QACX,QAAQ;AAAA,QAER,OAAO;AAAA,UACL,KAAK,OAAO;AAAA,UACZ,MAAM,OAAO;AAAA,UACb,OAAO,OAAO;AAAA,UACd,QAAQ,OAAO;AAAA,QAAA;AAAA,MACjB;AAAA,MANK,QAAQ,KAAK;AAAA,IAAA;AAAA,EAOpB,CAEH,GACL;AAEJ;"}
1
+ {"version":3,"file":"component-DHM9pbab.js","sources":["../src/components/ripple/component.tsx"],"sourcesContent":["import React, { FC, useCallback, useLayoutEffect, useMemo, useState } from 'react';\n\nimport {\n DEFAULT_RIPPLE_DURATION,\n DEFAULT_RIPPLE_ID,\n RippleArrayElement,\n RippleContainer,\n RippleProps,\n RippleSpan,\n} from '.';\n\nconst useDebouncedRippleCleanUp = (rippleCount: number, duration: number, cleanUpFunction: () => void) => {\n useLayoutEffect(() => {\n // eslint-disable-next-line no-undef\n let bounce: NodeJS.Timeout | null = null;\n if (rippleCount > 0) {\n if (bounce) {\n clearTimeout(bounce);\n }\n\n bounce = setTimeout(() => {\n cleanUpFunction();\n if (bounce) {\n clearTimeout(bounce);\n }\n }, duration * 4);\n }\n\n return () => {\n if (bounce) {\n clearTimeout(bounce);\n }\n };\n }, [rippleCount, duration, cleanUpFunction]);\n};\n\nexport const Ripple: FC<RippleProps> = (props) => {\n const color = useMemo(() => props.color ?? 'unset', [props.color]);\n const duration = useMemo(() => props.duration ?? DEFAULT_RIPPLE_DURATION, [props.duration]);\n\n const [rippleArray, setRippleArray] = useState<RippleArrayElement[]>([]);\n\n useDebouncedRippleCleanUp(rippleArray.length, duration ?? DEFAULT_RIPPLE_DURATION, () => {\n setRippleArray([]);\n });\n\n const onMouseUp = useCallback((event: React.MouseEvent<HTMLDivElement>) => {\n if (!event.isTrusted) return;\n const rippleContainer = event.currentTarget.getBoundingClientRect();\n const size = rippleContainer.width > rippleContainer.height ? rippleContainer.width : rippleContainer.height;\n const x = event.pageX - rippleContainer.x - size / 2;\n const y = event.pageY - rippleContainer.y - size / 2;\n const newRipple = { x, y, size };\n setRippleArray([]);\n setTimeout(() => {\n setRippleArray([newRipple]);\n }, 0);\n }, []);\n\n if (props.isDisabled || props.isHidden) return null;\n return (\n <RippleContainer id={DEFAULT_RIPPLE_ID} $duration={duration} $color={color} onMouseUp={onMouseUp}>\n {rippleArray.length > 0 &&\n rippleArray.map((ripple, index) => {\n return (\n <RippleSpan\n $duration={duration}\n $color={color}\n key={`span-${index}`}\n style={{\n top: ripple.y,\n left: ripple.x,\n width: ripple.size,\n height: ripple.size,\n }}\n />\n );\n })}\n </RippleContainer>\n );\n};\n"],"names":["jsx"],"mappings":";;;AAWA,MAAM,4BAA4B,CAAC,aAAqB,UAAkB,oBAAgC;AACxG,kBAAgB,MAAM;AAEpB,QAAI,SAAgC;AACpC,QAAI,cAAc,GAAG;AACnB,UAAI,QAAQ;AACV,qBAAa,MAAM;AAAA,MAAA;AAGrB,eAAS,WAAW,MAAM;AACxB,wBAAA;AACA,YAAI,QAAQ;AACV,uBAAa,MAAM;AAAA,QAAA;AAAA,MACrB,GACC,WAAW,CAAC;AAAA,IAAA;AAGjB,WAAO,MAAM;AACX,UAAI,QAAQ;AACV,qBAAa,MAAM;AAAA,MAAA;AAAA,IACrB;AAAA,EACF,GACC,CAAC,aAAa,UAAU,eAAe,CAAC;AAC7C;AAEO,MAAM,SAA0B,CAAC,UAAU;AAChD,QAAM,QAAQ,QAAQ,MAAM,MAAM,SAAS,SAAS,CAAC,MAAM,KAAK,CAAC;AACjE,QAAM,WAAW,QAAQ,MAAM,MAAM,YAAY,yBAAyB,CAAC,MAAM,QAAQ,CAAC;AAE1F,QAAM,CAAC,aAAa,cAAc,IAAI,SAA+B,CAAA,CAAE;AAEvE,4BAA0B,YAAY,QAAQ,YAAY,yBAAyB,MAAM;AACvF,mBAAe,CAAA,CAAE;AAAA,EAAA,CAClB;AAED,QAAM,YAAY,YAAY,CAAC,UAA4C;AACzE,QAAI,CAAC,MAAM,UAAW;AACtB,UAAM,kBAAkB,MAAM,cAAc,sBAAA;AAC5C,UAAM,OAAO,gBAAgB,QAAQ,gBAAgB,SAAS,gBAAgB,QAAQ,gBAAgB;AACtG,UAAM,IAAI,MAAM,QAAQ,gBAAgB,IAAI,OAAO;AACnD,UAAM,IAAI,MAAM,QAAQ,gBAAgB,IAAI,OAAO;AACnD,UAAM,YAAY,EAAE,GAAG,GAAG,KAAA;AAC1B,mBAAe,CAAA,CAAE;AACjB,eAAW,MAAM;AACf,qBAAe,CAAC,SAAS,CAAC;AAAA,IAAA,GACzB,CAAC;AAAA,EAAA,GACH,EAAE;AAEL,MAAI,MAAM,cAAc,MAAM,SAAU,QAAO;AAC/C,+CACG,iBAAA,EAAgB,IAAI,mBAAmB,WAAW,UAAU,QAAQ,OAAO,WACzE,UAAA,YAAY,SAAS,KACpB,YAAY,IAAI,CAAC,QAAQ,UAAU;AACjC,WACEA,kCAAAA;AAAAA,MAAC;AAAA,MAAA;AAAA,QACC,WAAW;AAAA,QACX,QAAQ;AAAA,QAER,OAAO;AAAA,UACL,KAAK,OAAO;AAAA,UACZ,MAAM,OAAO;AAAA,UACb,OAAO,OAAO;AAAA,UACd,QAAQ,OAAO;AAAA,QAAA;AAAA,MACjB;AAAA,MANK,QAAQ,KAAK;AAAA,IAAA;AAAA,EAOpB,CAEH,GACL;AAEJ;"}
@@ -1,4 +1,4 @@
1
- "use strict";const e=require("./jsx-runtime-BcGej2Kr.cjs"),i=require("./component.styles-BKnUDWqO.cjs"),s=require("./component.styles-Dpg-__rn.cjs"),t=require("./component-CLqcB5mM.cjs"),o=require("./theme.global-CcoD5bPP.cjs"),n=require("./floating-ui.react--v70Xky9.cjs"),r=require("react"),d=require("styled-components"),l=require("./component-C67KboOB.cjs"),u=require("./style-Df37KnoJ.cjs"),c=require("./style-fRZ6xrVp.cjs"),a=require("framer-motion"),$=d.css`
1
+ "use strict";const e=require("./jsx-runtime-BcGej2Kr.cjs"),i=require("./component.styles-BKnUDWqO.cjs"),s=require("./component.styles-Dpg-__rn.cjs"),t=require("./component-CLqcB5mM.cjs"),o=require("./theme.global-CcoD5bPP.cjs"),n=require("./floating-ui.react--v70Xky9.cjs"),r=require("react"),d=require("styled-components"),l=require("./component-BVnHSTJd.cjs"),u=require("./style-Df37KnoJ.cjs"),c=require("./style-fRZ6xrVp.cjs"),a=require("framer-motion"),$=d.css`
2
2
  ${e=>d.css`
3
3
  background: ${e.theme.colors.button[e.$genre].background.rest};
4
4
  border-color: ${e.theme.colors.button[e.$genre].border.rest};
@@ -87,4 +87,4 @@
87
87
  ${l.addSXTypography};
88
88
  ${c.addSX};
89
89
  `;exports.Button=s=>{var l,u,c,a;const $=d.useTheme(),p=r.useMemo(()=>{var t,o;return null==(o=null==(t=s.icons??[])?void 0:t.filter(e=>!e.isHidden))?void 0:o.map((t,o)=>"id"===(null==t?void 0:t.type)?e.jsxRuntimeExports.jsx(i.Icon,{name:null==t?void 0:t.name,type:"id",size:(null==t?void 0:t.size)??s.size,turn:t.turn,order:t.order},`${t.type}-${t.name}-${o}`):"logo"===(null==t?void 0:t.type)?e.jsxRuntimeExports.jsx(i.Icon,{name:null==t?void 0:t.name,type:"logo",size:(null==t?void 0:t.size)??s.size,turn:t.turn,order:t.order},`${t.type}-${t.name}-${o}`):"bustmarket"===(null==t?void 0:t.type)?e.jsxRuntimeExports.jsx(i.Icon,{name:null==t?void 0:t.name,type:"bustmarket",size:(null==t?void 0:t.size)??s.size,turn:t.turn,order:t.order},`${t.type}-${t.name}-${o}`):"checkbox"===(null==t?void 0:t.type)?e.jsxRuntimeExports.jsx(i.Icon,{name:null==t?void 0:t.name,type:"checkbox",size:(null==t?void 0:t.size)??s.size,turn:t.turn,order:t.order},`${t.type}-${t.name}-${o}`):"loading"===(null==t?void 0:t.type)?e.jsxRuntimeExports.jsx(i.Icon,{name:null==t?void 0:t.name,type:"loading",size:(null==t?void 0:t.size)??s.size,turn:t.turn,order:t.order},`${t.type}-${t.name}-${o}`):"realebail"===(null==t?void 0:t.type)?e.jsxRuntimeExports.jsx(i.Icon,{name:null==t?void 0:t.name,type:"realebail",size:(null==t?void 0:t.size)??s.size,turn:t.turn,order:t.order},`${t.type}-${t.name}-${o}`):null)},[s.icons,s.size]),h=r.useRef(null),m=n.useMergeRefs([h,s.ref]);return e.jsxRuntimeExports.jsxs(z,{$font:{size:(null==(l=s.font)?void 0:l.size)??o.KEY_SIZE_DATA[s.size].font,weight:(null==(u=s.font)?void 0:u.weight)??700,family:(null==(c=s.font)?void 0:c.family)??$.font.family,height:null==(a=s.font)?void 0:a.height},$isNotHoverEffect:s.isNotHoverEffect,whileTap:s.isWhileTapEffect?{scale:.9,transition:{duration:.01}}:{},id:s.id,tabIndex:s.tabIndex??0,$isFullSize:s.isFullSize,$genre:s.genre,$size:s.size,$isDisabled:s.isDisabled,$isDisabledOutline:s.isDisabled??s.isDisabledOutline,$isOutlineBoxShadow:s.isOutlineBoxShadow,$isReadOnly:s.isReadOnly,$isMinWidthAsContent:s.isMinWidthAsContent,$isWidthAsHeight:s.isWidthAsHeight,$isRadius:s.isRadius,$isHidden:s.isHidden,$isPlaystationEffect:s.isPlaystationEffect,$sxTypography:s.sxTypography,$isHiddenBorder:s.isHiddenBorder||s.isPlaystationEffect,disabled:s.isDisabled,type:s.type??"button",className:s.className,onClick:e=>{!s.isDisabled&&s.onClick&&s.onClick(e)},onFocus:s.onFocus,onMouseDown:s.onMouseDown,ref:m,$sx:s.sx,children:[e.jsxRuntimeExports.jsx(t.Ripple,{color:$.colors.checkbox[s.genre].color.rest,isDisabled:s.isDisabled??s.isDisabledRipple,isHidden:s.isHidden}),!s.isOnlyIcon&&e.jsxRuntimeExports.jsx("div",{style:{order:0,display:"contents"},children:s.children&&s.children}),e.jsxRuntimeExports.jsx(g,{$size:s.size,$isIconGroup:s.isIconGroup,$iconGroupOrder:"iconGroupOrder"in s?s.iconGroupOrder:void 0,children:p})]})},exports.ButtonSize=y,exports.ButtonSizeConstructor=b,exports.StyledButton=z,exports.StyledButtonIconsWrapper=g;
90
- //# sourceMappingURL=component-B1bvPlyB.cjs.map
90
+ //# sourceMappingURL=component-DnJo66DS.cjs.map
@@ -1 +1 @@
1
- {"version":3,"file":"component-B1bvPlyB.cjs","sources":["../src/components/button/component.styles.ts","../src/components/button/component.tsx"],"sourcesContent":["import { addRippleDefault } from '@local/components/ripple';\nimport { addSXTypography } from '@local/components/typography';\nimport { addFont, addOutline, addTransition } from '@local/styles/add';\nimport { addSX } from '@local/styles/sx';\nimport { IThemeSizePropertyDefault, KEY_SIZE_DATA } from '@local/theme';\n\nimport { motion } from 'framer-motion';\nimport styled, { css } from 'styled-components';\n\nimport { StyledDollarButtonIconsWrapperProps, StyledDollarButtonProps } from '.';\n\n/****************************************** Genre *************************************************/\nconst ButtonGenre = css<StyledDollarButtonProps>`\n ${(props) => css`\n background: ${props.theme.colors.button[props.$genre].background.rest};\n border-color: ${props.theme.colors.button[props.$genre].border.rest};\n color: ${props.theme.colors.button[props.$genre].color.rest};\n &:hover {\n ${\n (!props.$isHidden || props.$isNotHoverEffect) &&\n css`\n background: ${props.theme.colors.button[props.$genre].background.hover};\n border-color: ${props.theme.colors.button[props.$genre].border.hover};\n color: ${props.theme.colors.button[props.$genre].color.hover};\n `\n }\n }\n `};\n`;\n\n/****************************************** Disabled *************************************************/\nconst ButtonDisabled = css<StyledDollarButtonProps>`\n ${(props) =>\n props.$isHidden\n ? css`\n opacity: 0.5;\n background: ${props.theme.colors.button[props.$genre].background.rest} !important;\n color: ${props.theme.colors.button[props.$genre].color.rest} !important;\n `\n : css`\n opacity: 1;\n `}\n`;\n/****************************************** is HiddenBorder *************************************************/\nconst ButtonIsHiddenBorder = css<StyledDollarButtonProps>`\n ${(props) =>\n props.$isHiddenBorder &&\n css`\n border: 0px transparent !important;\n `}\n`;\n/****************************************** is Radius *************************************************/\nconst ButtonIsRadius = css<StyledDollarButtonProps>`\n ${(props) =>\n props.$isRadius &&\n css`\n border-radius: 100px;\n `}\n`;\n/****************************************** is PlaystationEffect *************************************************/\nconst ButtonIsPlaystationEffect = css<StyledDollarButtonProps>`\n ${(props) =>\n props.$isPlaystationEffect &&\n css`\n box-shadow: ${props.theme.effects.button};\n `}\n`;\n/****************************************** Icons Wrapper *************************************************/\nexport const StyledButtonIconsWrapper = styled.div<StyledDollarButtonIconsWrapperProps>`\n ${(props) =>\n props.$isIconGroup\n ? css`\n display: flex;\n gap: ${KEY_SIZE_DATA[props.$size].padding - 2}px;\n align-items: center;\n order: ${props.$iconGroupOrder || 'initial'};\n `\n : css`\n display: contents;\n `}\n`;\n\n/****************************************** Size *************************************************/\nexport const ButtonSize = css<StyledDollarButtonProps>`\n ${(props) =>\n ButtonSizeConstructor({\n ...KEY_SIZE_DATA[props.$size],\n isFullSize: props.$isFullSize,\n isWidthAsHeight: props.$isWidthAsHeight,\n isMinWidthAsContent: props.$isMinWidthAsContent,\n })};\n`;\nexport const ButtonSizeConstructor = (\n props: IThemeSizePropertyDefault & {\n isFullSize?: boolean;\n isWidthAsHeight?: boolean;\n isMinWidthAsContent?: boolean;\n },\n) => css`\n height: fit-content;\n min-height: ${props.height}px;\n max-height: fit-content;\n padding: 2px ${props.padding}px;\n border-radius: ${props.radius}px;\n gap: ${props.padding - 2}px;\n ${() =>\n props.isFullSize &&\n css`\n height: 100%;\n width: 100%;\n border-radius: 0px;\n `};\n ${\n props.isWidthAsHeight &&\n css`\n width: ${props.height}px;\n min-width: ${props.height}px;\n padding: 0px;\n `\n };\n ${\n props.isMinWidthAsContent &&\n css`\n min-width: max-content;\n `\n };\n`;\n/****************************************** Border *************************************************/\nconst ButtonBorder = css`\n border: 1px solid transparent;\n`;\n\n/****************************************** Flex *************************************************/\nconst ButtonFlex = css<StyledDollarButtonProps>`\n display: flex;\n align-items: center;\n justify-content: center;\n`;\n/****************************************** Styled *************************************************/\nexport const StyledButton = styled(motion.button)<StyledDollarButtonProps>`\n cursor: pointer;\n user-select: none;\n\n ${ButtonBorder};\n ${ButtonSize};\n ${ButtonGenre};\n ${ButtonDisabled};\n ${ButtonIsHiddenBorder};\n ${ButtonIsRadius};\n ${ButtonIsPlaystationEffect};\n ${ButtonFlex};\n ${addRippleDefault};\n ${addTransition};\n ${addFont};\n ${addOutline};\n ${addSXTypography};\n ${addSX};\n`;\n","import {\n Icon,\n TIconBustMarketNameString,\n TIconCheckboxNameString,\n TIconIdNameString,\n TIconLoadingNameString,\n TIconLogoNameString,\n TIconRealEbailNameString,\n} from '@local/components/icon';\nimport { Ripple } from '@local/components/ripple';\nimport { KEY_SIZE_DATA } from '@local/theme';\n\nimport { useMergeRefs } from '@floating-ui/react';\nimport { FC, Ref, useMemo, useRef } from 'react';\nimport { useTheme } from 'styled-components';\n\nimport { ButtonProps, StyledButton, StyledButtonIconsWrapper } from '.';\n\nexport const Button: FC<ButtonProps> = (props) => {\n const theme = useTheme();\n\n const iconComponents = useMemo(\n () =>\n (props.icons ?? [])\n ?.filter((icon) => !icon.isHidden)\n ?.map((icon, index) =>\n icon?.type === 'id' ? (\n <Icon\n key={`${icon.type}-${icon.name}-${index}`}\n name={icon?.name as TIconIdNameString}\n type='id'\n size={icon?.size ?? props.size}\n turn={icon.turn}\n order={icon.order}\n />\n ) : icon?.type === 'logo' ? (\n <Icon\n key={`${icon.type}-${icon.name}-${index}`}\n name={icon?.name as TIconLogoNameString}\n type='logo'\n size={icon?.size ?? props.size}\n turn={icon.turn}\n order={icon.order}\n />\n ) : icon?.type === 'bustmarket' ? (\n <Icon\n key={`${icon.type}-${icon.name}-${index}`}\n name={icon?.name as TIconBustMarketNameString}\n type='bustmarket'\n size={icon?.size ?? props.size}\n turn={icon.turn}\n order={icon.order}\n />\n ) : icon?.type === 'checkbox' ? (\n <Icon\n key={`${icon.type}-${icon.name}-${index}`}\n name={icon?.name as TIconCheckboxNameString}\n type='checkbox'\n size={icon?.size ?? props.size}\n turn={icon.turn}\n order={icon.order}\n />\n ) : icon?.type === 'loading' ? (\n <Icon\n key={`${icon.type}-${icon.name}-${index}`}\n name={icon?.name as TIconLoadingNameString}\n type='loading'\n size={icon?.size ?? props.size}\n turn={icon.turn}\n order={icon.order}\n />\n ) : icon?.type === 'realebail' ? (\n <Icon\n key={`${icon.type}-${icon.name}-${index}`}\n name={icon?.name as TIconRealEbailNameString}\n type='realebail'\n size={icon?.size ?? props.size}\n turn={icon.turn}\n order={icon.order}\n />\n ) : null,\n ),\n [props.icons, props.size],\n );\n\n const handleClick: ButtonProps['onClick'] = (event) => {\n if (!props.isDisabled && props.onClick) {\n props.onClick(event);\n }\n };\n const refDefault = useRef<HTMLButtonElement>(null);\n\n const ref = useMergeRefs([refDefault, props.ref]);\n\n return (\n <StyledButton\n $font={{\n size: props.font?.size ?? KEY_SIZE_DATA[props.size].font,\n weight: props.font?.weight ?? 700,\n family: props.font?.family ?? theme.font.family,\n height: props.font?.height,\n }}\n $isNotHoverEffect={props.isNotHoverEffect}\n whileTap={props.isWhileTapEffect ? { scale: 0.9, transition: { duration: 0.01 } } : {}}\n id={props.id}\n tabIndex={props.tabIndex ?? 0}\n $isFullSize={props.isFullSize}\n $genre={props.genre}\n $size={props.size}\n $isDisabled={props.isDisabled}\n $isDisabledOutline={props.isDisabled ?? props.isDisabledOutline}\n $isOutlineBoxShadow={props.isOutlineBoxShadow}\n $isReadOnly={props.isReadOnly}\n $isMinWidthAsContent={props.isMinWidthAsContent}\n $isWidthAsHeight={props.isWidthAsHeight}\n $isRadius={props.isRadius}\n $isHidden={props.isHidden}\n $isPlaystationEffect={props.isPlaystationEffect}\n $sxTypography={props.sxTypography}\n $isHiddenBorder={props.isHiddenBorder || props.isPlaystationEffect}\n disabled={props.isDisabled}\n type={props.type ?? 'button'}\n className={props.className}\n onClick={handleClick}\n onFocus={props.onFocus}\n onMouseDown={props.onMouseDown}\n ref={ref as Ref<HTMLButtonElement>}\n $sx={props.sx}\n >\n <Ripple\n color={theme.colors.checkbox[props.genre].color.rest}\n isDisabled={props.isDisabled ?? props.isDisabledRipple}\n isHidden={props.isHidden}\n />\n\n {!props.isOnlyIcon && <div style={{ order: 0, display: 'contents' }}>{props.children && props.children}</div>}\n <StyledButtonIconsWrapper\n $size={props.size}\n $isIconGroup={props.isIconGroup}\n $iconGroupOrder={'iconGroupOrder' in props ? props.iconGroupOrder : undefined}\n >\n {iconComponents}\n </StyledButtonIconsWrapper>\n </StyledButton>\n );\n};\n"],"names":["ButtonGenre","css","props","theme","colors","button","$genre","background","rest","border","color","$isHidden","$isNotHoverEffect","hover","ButtonDisabled","ButtonIsHiddenBorder","$isHiddenBorder","ButtonIsRadius","$isRadius","ButtonIsPlaystationEffect","$isPlaystationEffect","effects","StyledButtonIconsWrapper","styled","div","$isIconGroup","KEY_SIZE_DATA","$size","padding","$iconGroupOrder","ButtonSize","ButtonSizeConstructor","isFullSize","$isFullSize","isWidthAsHeight","$isWidthAsHeight","isMinWidthAsContent","$isMinWidthAsContent","height","radius","ButtonBorder","ButtonFlex","StyledButton","motion","addRippleDefault","addTransition","addFont","addOutline","addSXTypography","addSX","useTheme","iconComponents","useMemo","_b","_a","icons","filter","icon","isHidden","map","index","type","jsx","Icon","name","size","turn","order","refDefault","useRef","ref","useMergeRefs","jsxs","$font","font","weight","family","_c","_d","isNotHoverEffect","whileTap","isWhileTapEffect","scale","transition","duration","id","tabIndex","genre","$isDisabled","isDisabled","$isDisabledOutline","isDisabledOutline","$isOutlineBoxShadow","isOutlineBoxShadow","$isReadOnly","isReadOnly","isRadius","isPlaystationEffect","$sxTypography","sxTypography","isHiddenBorder","disabled","className","onClick","event","onFocus","onMouseDown","$sx","sx","children","Ripple","checkbox","isDisabledRipple","isOnlyIcon","style","display","isIconGroup","iconGroupOrder"],"mappings":"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"}
1
+ {"version":3,"file":"component-DnJo66DS.cjs","sources":["../src/components/button/component.styles.ts","../src/components/button/component.tsx"],"sourcesContent":["import { addRippleDefault } from '@local/components/ripple';\nimport { addSXTypography } from '@local/components/typography';\nimport { addFont, addOutline, addTransition } from '@local/styles/add';\nimport { addSX } from '@local/styles/sx';\nimport { IThemeSizePropertyDefault, KEY_SIZE_DATA } from '@local/theme';\n\nimport { motion } from 'framer-motion';\nimport styled, { css } from 'styled-components';\n\nimport { StyledDollarButtonIconsWrapperProps, StyledDollarButtonProps } from '.';\n\n/****************************************** Genre *************************************************/\nconst ButtonGenre = css<StyledDollarButtonProps>`\n ${(props) => css`\n background: ${props.theme.colors.button[props.$genre].background.rest};\n border-color: ${props.theme.colors.button[props.$genre].border.rest};\n color: ${props.theme.colors.button[props.$genre].color.rest};\n &:hover {\n ${\n (!props.$isHidden || props.$isNotHoverEffect) &&\n css`\n background: ${props.theme.colors.button[props.$genre].background.hover};\n border-color: ${props.theme.colors.button[props.$genre].border.hover};\n color: ${props.theme.colors.button[props.$genre].color.hover};\n `\n }\n }\n `};\n`;\n\n/****************************************** Disabled *************************************************/\nconst ButtonDisabled = css<StyledDollarButtonProps>`\n ${(props) =>\n props.$isHidden\n ? css`\n opacity: 0.5;\n background: ${props.theme.colors.button[props.$genre].background.rest} !important;\n color: ${props.theme.colors.button[props.$genre].color.rest} !important;\n `\n : css`\n opacity: 1;\n `}\n`;\n/****************************************** is HiddenBorder *************************************************/\nconst ButtonIsHiddenBorder = css<StyledDollarButtonProps>`\n ${(props) =>\n props.$isHiddenBorder &&\n css`\n border: 0px transparent !important;\n `}\n`;\n/****************************************** is Radius *************************************************/\nconst ButtonIsRadius = css<StyledDollarButtonProps>`\n ${(props) =>\n props.$isRadius &&\n css`\n border-radius: 100px;\n `}\n`;\n/****************************************** is PlaystationEffect *************************************************/\nconst ButtonIsPlaystationEffect = css<StyledDollarButtonProps>`\n ${(props) =>\n props.$isPlaystationEffect &&\n css`\n box-shadow: ${props.theme.effects.button};\n `}\n`;\n/****************************************** Icons Wrapper *************************************************/\nexport const StyledButtonIconsWrapper = styled.div<StyledDollarButtonIconsWrapperProps>`\n ${(props) =>\n props.$isIconGroup\n ? css`\n display: flex;\n gap: ${KEY_SIZE_DATA[props.$size].padding - 2}px;\n align-items: center;\n order: ${props.$iconGroupOrder || 'initial'};\n `\n : css`\n display: contents;\n `}\n`;\n\n/****************************************** Size *************************************************/\nexport const ButtonSize = css<StyledDollarButtonProps>`\n ${(props) =>\n ButtonSizeConstructor({\n ...KEY_SIZE_DATA[props.$size],\n isFullSize: props.$isFullSize,\n isWidthAsHeight: props.$isWidthAsHeight,\n isMinWidthAsContent: props.$isMinWidthAsContent,\n })};\n`;\nexport const ButtonSizeConstructor = (\n props: IThemeSizePropertyDefault & {\n isFullSize?: boolean;\n isWidthAsHeight?: boolean;\n isMinWidthAsContent?: boolean;\n },\n) => css`\n height: fit-content;\n min-height: ${props.height}px;\n max-height: fit-content;\n padding: 2px ${props.padding}px;\n border-radius: ${props.radius}px;\n gap: ${props.padding - 2}px;\n ${() =>\n props.isFullSize &&\n css`\n height: 100%;\n width: 100%;\n border-radius: 0px;\n `};\n ${\n props.isWidthAsHeight &&\n css`\n width: ${props.height}px;\n min-width: ${props.height}px;\n padding: 0px;\n `\n };\n ${\n props.isMinWidthAsContent &&\n css`\n min-width: max-content;\n `\n };\n`;\n/****************************************** Border *************************************************/\nconst ButtonBorder = css`\n border: 1px solid transparent;\n`;\n\n/****************************************** Flex *************************************************/\nconst ButtonFlex = css<StyledDollarButtonProps>`\n display: flex;\n align-items: center;\n justify-content: center;\n`;\n/****************************************** Styled *************************************************/\nexport const StyledButton = styled(motion.button)<StyledDollarButtonProps>`\n cursor: pointer;\n user-select: none;\n\n ${ButtonBorder};\n ${ButtonSize};\n ${ButtonGenre};\n ${ButtonDisabled};\n ${ButtonIsHiddenBorder};\n ${ButtonIsRadius};\n ${ButtonIsPlaystationEffect};\n ${ButtonFlex};\n ${addRippleDefault};\n ${addTransition};\n ${addFont};\n ${addOutline};\n ${addSXTypography};\n ${addSX};\n`;\n","import {\n Icon,\n TIconBustMarketNameString,\n TIconCheckboxNameString,\n TIconIdNameString,\n TIconLoadingNameString,\n TIconLogoNameString,\n TIconRealEbailNameString,\n} from '@local/components/icon';\nimport { Ripple } from '@local/components/ripple';\nimport { KEY_SIZE_DATA } from '@local/theme';\n\nimport { useMergeRefs } from '@floating-ui/react';\nimport { FC, Ref, useMemo, useRef } from 'react';\nimport { useTheme } from 'styled-components';\n\nimport { ButtonProps, StyledButton, StyledButtonIconsWrapper } from '.';\n\nexport const Button: FC<ButtonProps> = (props) => {\n const theme = useTheme();\n\n const iconComponents = useMemo(\n () =>\n (props.icons ?? [])\n ?.filter((icon) => !icon.isHidden)\n ?.map((icon, index) =>\n icon?.type === 'id' ? (\n <Icon\n key={`${icon.type}-${icon.name}-${index}`}\n name={icon?.name as TIconIdNameString}\n type='id'\n size={icon?.size ?? props.size}\n turn={icon.turn}\n order={icon.order}\n />\n ) : icon?.type === 'logo' ? (\n <Icon\n key={`${icon.type}-${icon.name}-${index}`}\n name={icon?.name as TIconLogoNameString}\n type='logo'\n size={icon?.size ?? props.size}\n turn={icon.turn}\n order={icon.order}\n />\n ) : icon?.type === 'bustmarket' ? (\n <Icon\n key={`${icon.type}-${icon.name}-${index}`}\n name={icon?.name as TIconBustMarketNameString}\n type='bustmarket'\n size={icon?.size ?? props.size}\n turn={icon.turn}\n order={icon.order}\n />\n ) : icon?.type === 'checkbox' ? (\n <Icon\n key={`${icon.type}-${icon.name}-${index}`}\n name={icon?.name as TIconCheckboxNameString}\n type='checkbox'\n size={icon?.size ?? props.size}\n turn={icon.turn}\n order={icon.order}\n />\n ) : icon?.type === 'loading' ? (\n <Icon\n key={`${icon.type}-${icon.name}-${index}`}\n name={icon?.name as TIconLoadingNameString}\n type='loading'\n size={icon?.size ?? props.size}\n turn={icon.turn}\n order={icon.order}\n />\n ) : icon?.type === 'realebail' ? (\n <Icon\n key={`${icon.type}-${icon.name}-${index}`}\n name={icon?.name as TIconRealEbailNameString}\n type='realebail'\n size={icon?.size ?? props.size}\n turn={icon.turn}\n order={icon.order}\n />\n ) : null,\n ),\n [props.icons, props.size],\n );\n\n const handleClick: ButtonProps['onClick'] = (event) => {\n if (!props.isDisabled && props.onClick) {\n props.onClick(event);\n }\n };\n const refDefault = useRef<HTMLButtonElement>(null);\n\n const ref = useMergeRefs([refDefault, props.ref]);\n\n return (\n <StyledButton\n $font={{\n size: props.font?.size ?? KEY_SIZE_DATA[props.size].font,\n weight: props.font?.weight ?? 700,\n family: props.font?.family ?? theme.font.family,\n height: props.font?.height,\n }}\n $isNotHoverEffect={props.isNotHoverEffect}\n whileTap={props.isWhileTapEffect ? { scale: 0.9, transition: { duration: 0.01 } } : {}}\n id={props.id}\n tabIndex={props.tabIndex ?? 0}\n $isFullSize={props.isFullSize}\n $genre={props.genre}\n $size={props.size}\n $isDisabled={props.isDisabled}\n $isDisabledOutline={props.isDisabled ?? props.isDisabledOutline}\n $isOutlineBoxShadow={props.isOutlineBoxShadow}\n $isReadOnly={props.isReadOnly}\n $isMinWidthAsContent={props.isMinWidthAsContent}\n $isWidthAsHeight={props.isWidthAsHeight}\n $isRadius={props.isRadius}\n $isHidden={props.isHidden}\n $isPlaystationEffect={props.isPlaystationEffect}\n $sxTypography={props.sxTypography}\n $isHiddenBorder={props.isHiddenBorder || props.isPlaystationEffect}\n disabled={props.isDisabled}\n type={props.type ?? 'button'}\n className={props.className}\n onClick={handleClick}\n onFocus={props.onFocus}\n onMouseDown={props.onMouseDown}\n ref={ref as Ref<HTMLButtonElement>}\n $sx={props.sx}\n >\n <Ripple\n color={theme.colors.checkbox[props.genre].color.rest}\n isDisabled={props.isDisabled ?? props.isDisabledRipple}\n isHidden={props.isHidden}\n />\n\n {!props.isOnlyIcon && <div style={{ order: 0, display: 'contents' }}>{props.children && props.children}</div>}\n <StyledButtonIconsWrapper\n $size={props.size}\n $isIconGroup={props.isIconGroup}\n $iconGroupOrder={'iconGroupOrder' in props ? props.iconGroupOrder : undefined}\n >\n {iconComponents}\n </StyledButtonIconsWrapper>\n </StyledButton>\n );\n};\n"],"names":["ButtonGenre","css","props","theme","colors","button","$genre","background","rest","border","color","$isHidden","$isNotHoverEffect","hover","ButtonDisabled","ButtonIsHiddenBorder","$isHiddenBorder","ButtonIsRadius","$isRadius","ButtonIsPlaystationEffect","$isPlaystationEffect","effects","StyledButtonIconsWrapper","styled","div","$isIconGroup","KEY_SIZE_DATA","$size","padding","$iconGroupOrder","ButtonSize","ButtonSizeConstructor","isFullSize","$isFullSize","isWidthAsHeight","$isWidthAsHeight","isMinWidthAsContent","$isMinWidthAsContent","height","radius","ButtonBorder","ButtonFlex","StyledButton","motion","addRippleDefault","addTransition","addFont","addOutline","addSXTypography","addSX","useTheme","iconComponents","useMemo","_b","_a","icons","filter","icon","isHidden","map","index","type","jsx","Icon","name","size","turn","order","refDefault","useRef","ref","useMergeRefs","jsxs","$font","font","weight","family","_c","_d","isNotHoverEffect","whileTap","isWhileTapEffect","scale","transition","duration","id","tabIndex","genre","$isDisabled","isDisabled","$isDisabledOutline","isDisabledOutline","$isOutlineBoxShadow","isOutlineBoxShadow","$isReadOnly","isReadOnly","isRadius","isPlaystationEffect","$sxTypography","sxTypography","isHiddenBorder","disabled","className","onClick","event","onFocus","onMouseDown","$sx","sx","children","Ripple","checkbox","isDisabledRipple","isOnlyIcon","style","display","isIconGroup","iconGroupOrder"],"mappings":"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"}
@@ -1,5 +1,5 @@
1
1
  import { j as jsxRuntimeExports } from "./jsx-runtime-BrDlu8eK.js";
2
- import { c as StackMotion } from "./component-jPZYT5iL.js";
2
+ import { c as StackMotion } from "./component-mzzOCXSx.js";
3
3
  const Smooth = (props) => {
4
4
  return /* @__PURE__ */ jsxRuntimeExports.jsx(
5
5
  StackMotion,
@@ -20,4 +20,4 @@ const Smooth = (props) => {
20
20
  export {
21
21
  Smooth as S
22
22
  };
23
- //# sourceMappingURL=component-BcHiCCC9.js.map
23
+ //# sourceMappingURL=component-DpVp9dB1.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"component-DpVp9dB1.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,CAAC,UAAU;AAC/C,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,8 +1,8 @@
1
1
  import { j as jsxRuntimeExports } from "./jsx-runtime-BrDlu8eK.js";
2
2
  import { useRef, useCallback } from "react";
3
3
  import { ImageSupportedFormatsForInput } from "./consts.es.js";
4
- import { u as useImageCrop } from "./use-DLVWi2kS.js";
5
- import { c as Button } from "./component-DJYgewYg.js";
4
+ import { u as useImageCrop } from "./use-Bp4KNVye.js";
5
+ import { c as Button } from "./component-CN6att4f.js";
6
6
  const ImageButton = (props) => {
7
7
  const refInput = useRef(null);
8
8
  const handleOpenFileDialog = useCallback(() => {
@@ -47,4 +47,4 @@ const ImageButton = (props) => {
47
47
  export {
48
48
  ImageButton as I
49
49
  };
50
- //# sourceMappingURL=component-CvW0MIM8.js.map
50
+ //# sourceMappingURL=component-G5QqAuDV.js.map