@jenesei-software/jenesei-kit-react 1.0.0

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 (445) hide show
  1. package/LICENSE +21 -0
  2. package/README.md +102 -0
  3. package/build/area-9NUxwBGc.cjs +2 -0
  4. package/build/area-9NUxwBGc.cjs.map +1 -0
  5. package/build/area-BnAddPtl.js +114 -0
  6. package/build/area-BnAddPtl.js.map +1 -0
  7. package/build/area-C2sWYH-e.js +47 -0
  8. package/build/area-C2sWYH-e.js.map +1 -0
  9. package/build/area-CD10k19W.cjs +27 -0
  10. package/build/area-CD10k19W.cjs.map +1 -0
  11. package/build/area-ClrrGVJG.cjs +40 -0
  12. package/build/area-ClrrGVJG.cjs.map +1 -0
  13. package/build/area-D7906bXA.cjs +2 -0
  14. package/build/area-D7906bXA.cjs.map +1 -0
  15. package/build/area-DRqAofd0.js +35 -0
  16. package/build/area-DRqAofd0.js.map +1 -0
  17. package/build/area-DfCAwCiZ.js +69 -0
  18. package/build/area-DfCAwCiZ.js.map +1 -0
  19. package/build/area-outside.cjs.js +2 -0
  20. package/build/area-outside.cjs.js.map +1 -0
  21. package/build/area-outside.d.ts +28 -0
  22. package/build/area-outside.es.js +5 -0
  23. package/build/area-outside.es.js.map +1 -0
  24. package/build/area-preview.cjs.js +2 -0
  25. package/build/area-preview.cjs.js.map +1 -0
  26. package/build/area-preview.d.ts +48 -0
  27. package/build/area-preview.es.js +7 -0
  28. package/build/area-preview.es.js.map +1 -0
  29. package/build/area-scroll.cjs.js +2 -0
  30. package/build/area-scroll.cjs.js.map +1 -0
  31. package/build/area-scroll.d.ts +58 -0
  32. package/build/area-scroll.es.js +6 -0
  33. package/build/area-scroll.es.js.map +1 -0
  34. package/build/area-skeleton.cjs.js +2 -0
  35. package/build/area-skeleton.cjs.js.map +1 -0
  36. package/build/area-skeleton.d.ts +64 -0
  37. package/build/area-skeleton.es.js +6 -0
  38. package/build/area-skeleton.es.js.map +1 -0
  39. package/build/area-smooth.cjs.js +2 -0
  40. package/build/area-smooth.cjs.js.map +1 -0
  41. package/build/area-smooth.d.ts +37 -0
  42. package/build/area-smooth.es.js +5 -0
  43. package/build/area-smooth.es.js.map +1 -0
  44. package/build/area.hooks-Bk04M7mk.js +26 -0
  45. package/build/area.hooks-Bk04M7mk.js.map +1 -0
  46. package/build/area.hooks-C_UKZzcb.cjs +2 -0
  47. package/build/area.hooks-C_UKZzcb.cjs.map +1 -0
  48. package/build/build-info.txt +3 -0
  49. package/build/component--Oo5_3xq.cjs +2 -0
  50. package/build/component--Oo5_3xq.cjs.map +1 -0
  51. package/build/component-BV_7tGiu.cjs +28 -0
  52. package/build/component-BV_7tGiu.cjs.map +1 -0
  53. package/build/component-BcHiCCC9.js +23 -0
  54. package/build/component-BcHiCCC9.js.map +1 -0
  55. package/build/component-BnI7BIp-.cjs +2 -0
  56. package/build/component-BnI7BIp-.cjs.map +1 -0
  57. package/build/component-ByY_9Ryc.js +65 -0
  58. package/build/component-ByY_9Ryc.js.map +1 -0
  59. package/build/component-C2JFFh-k.js +2372 -0
  60. package/build/component-C2JFFh-k.js.map +1 -0
  61. package/build/component-C52VCES6.cjs +247 -0
  62. package/build/component-C52VCES6.cjs.map +1 -0
  63. package/build/component-CBshLNEf.js +50 -0
  64. package/build/component-CBshLNEf.js.map +1 -0
  65. package/build/component-CFMlaYj1.js +66 -0
  66. package/build/component-CFMlaYj1.js.map +1 -0
  67. package/build/component-CuiUpH8H.js +207 -0
  68. package/build/component-CuiUpH8H.js.map +1 -0
  69. package/build/component-D1NPhRuV.cjs +90 -0
  70. package/build/component-D1NPhRuV.cjs.map +1 -0
  71. package/build/component-DZxbW_Jz.js +237 -0
  72. package/build/component-DZxbW_Jz.js.map +1 -0
  73. package/build/component-UW1VzyvB.cjs +52 -0
  74. package/build/component-UW1VzyvB.cjs.map +1 -0
  75. package/build/component-accordion.cjs.js +2 -0
  76. package/build/component-accordion.cjs.js.map +1 -0
  77. package/build/component-accordion.d.ts +94 -0
  78. package/build/component-accordion.es.js +10 -0
  79. package/build/component-accordion.es.js.map +1 -0
  80. package/build/component-button-group.cjs.js +2 -0
  81. package/build/component-button-group.cjs.js.map +1 -0
  82. package/build/component-button-group.d.ts +320 -0
  83. package/build/component-button-group.es.js +6 -0
  84. package/build/component-button-group.es.js.map +1 -0
  85. package/build/component-button.cjs.js +2 -0
  86. package/build/component-button.cjs.js.map +1 -0
  87. package/build/component-button.d.ts +347 -0
  88. package/build/component-button.es.js +9 -0
  89. package/build/component-button.es.js.map +1 -0
  90. package/build/component-checkbox-group.cjs.js +2 -0
  91. package/build/component-checkbox-group.cjs.js.map +1 -0
  92. package/build/component-checkbox-group.d.ts +337 -0
  93. package/build/component-checkbox-group.es.js +11 -0
  94. package/build/component-checkbox-group.es.js.map +1 -0
  95. package/build/component-checkbox.cjs.js +2 -0
  96. package/build/component-checkbox.cjs.js.map +1 -0
  97. package/build/component-checkbox.d.ts +342 -0
  98. package/build/component-checkbox.es.js +10 -0
  99. package/build/component-checkbox.es.js.map +1 -0
  100. package/build/component-date-picker.cjs.js +2 -0
  101. package/build/component-date-picker.cjs.js.map +1 -0
  102. package/build/component-date-picker.d.ts +415 -0
  103. package/build/component-date-picker.es.js +17 -0
  104. package/build/component-date-picker.es.js.map +1 -0
  105. package/build/component-icon.cjs.js +2 -0
  106. package/build/component-icon.cjs.js.map +1 -0
  107. package/build/component-icon.d.ts +198 -0
  108. package/build/component-icon.es.js +12 -0
  109. package/build/component-icon.es.js.map +1 -0
  110. package/build/component-image-button.cjs.js +2 -0
  111. package/build/component-image-button.cjs.js.map +1 -0
  112. package/build/component-image-button.d.ts +340 -0
  113. package/build/component-image-button.es.js +5 -0
  114. package/build/component-image-button.es.js.map +1 -0
  115. package/build/component-image-select.cjs.js +2 -0
  116. package/build/component-image-select.cjs.js.map +1 -0
  117. package/build/component-image-select.d.ts +436 -0
  118. package/build/component-image-select.es.js +11 -0
  119. package/build/component-image-select.es.js.map +1 -0
  120. package/build/component-image-slider.cjs.js +2 -0
  121. package/build/component-image-slider.cjs.js.map +1 -0
  122. package/build/component-image-slider.d.ts +108 -0
  123. package/build/component-image-slider.es.js +8 -0
  124. package/build/component-image-slider.es.js.map +1 -0
  125. package/build/component-image.cjs.js +2 -0
  126. package/build/component-image.cjs.js.map +1 -0
  127. package/build/component-image.d.ts +51 -0
  128. package/build/component-image.es.js +6 -0
  129. package/build/component-image.es.js.map +1 -0
  130. package/build/component-input-otp.cjs.js +2 -0
  131. package/build/component-input-otp.cjs.js.map +1 -0
  132. package/build/component-input-otp.d.ts +150 -0
  133. package/build/component-input-otp.es.js +8 -0
  134. package/build/component-input-otp.es.js.map +1 -0
  135. package/build/component-input.cjs.js +2 -0
  136. package/build/component-input.cjs.js.map +1 -0
  137. package/build/component-input.d.ts +226 -0
  138. package/build/component-input.es.js +20 -0
  139. package/build/component-input.es.js.map +1 -0
  140. package/build/component-jPZYT5iL.js +76 -0
  141. package/build/component-jPZYT5iL.js.map +1 -0
  142. package/build/component-map.cjs.js +2 -0
  143. package/build/component-map.cjs.js.map +1 -0
  144. package/build/component-map.d.ts +97 -0
  145. package/build/component-map.es.js +18 -0
  146. package/build/component-map.es.js.map +1 -0
  147. package/build/component-nFn_uOy_.cjs +2 -0
  148. package/build/component-nFn_uOy_.cjs.map +1 -0
  149. package/build/component-pagination.cjs.js +2 -0
  150. package/build/component-pagination.cjs.js.map +1 -0
  151. package/build/component-pagination.d.ts +321 -0
  152. package/build/component-pagination.es.js +6 -0
  153. package/build/component-pagination.es.js.map +1 -0
  154. package/build/component-range.cjs.js +2 -0
  155. package/build/component-range.cjs.js.map +1 -0
  156. package/build/component-range.d.ts +153 -0
  157. package/build/component-range.es.js +8 -0
  158. package/build/component-range.es.js.map +1 -0
  159. package/build/component-ripple.cjs.js +2 -0
  160. package/build/component-ripple.cjs.js.map +1 -0
  161. package/build/component-ripple.d.ts +45 -0
  162. package/build/component-ripple.es.js +12 -0
  163. package/build/component-ripple.es.js.map +1 -0
  164. package/build/component-select.cjs.js +2 -0
  165. package/build/component-select.cjs.js.map +1 -0
  166. package/build/component-select.d.ts +406 -0
  167. package/build/component-select.es.js +25 -0
  168. package/build/component-select.es.js.map +1 -0
  169. package/build/component-separator.cjs.js +2 -0
  170. package/build/component-separator.cjs.js.map +1 -0
  171. package/build/component-separator.d.ts +46 -0
  172. package/build/component-separator.es.js +6 -0
  173. package/build/component-separator.es.js.map +1 -0
  174. package/build/component-stack.cjs.js +2 -0
  175. package/build/component-stack.cjs.js.map +1 -0
  176. package/build/component-stack.d.ts +72 -0
  177. package/build/component-stack.es.js +8 -0
  178. package/build/component-stack.es.js.map +1 -0
  179. package/build/component-textarea.cjs.js +2 -0
  180. package/build/component-textarea.cjs.js.map +1 -0
  181. package/build/component-textarea.d.ts +131 -0
  182. package/build/component-textarea.es.js +12 -0
  183. package/build/component-textarea.es.js.map +1 -0
  184. package/build/component-toggle.cjs.js +2 -0
  185. package/build/component-toggle.cjs.js.map +1 -0
  186. package/build/component-toggle.d.ts +101 -0
  187. package/build/component-toggle.es.js +7 -0
  188. package/build/component-toggle.es.js.map +1 -0
  189. package/build/component-tooltip.cjs.js +2 -0
  190. package/build/component-tooltip.cjs.js.map +1 -0
  191. package/build/component-tooltip.d.ts +170 -0
  192. package/build/component-tooltip.es.js +12 -0
  193. package/build/component-tooltip.es.js.map +1 -0
  194. package/build/component-typography.cjs.js +2 -0
  195. package/build/component-typography.cjs.js.map +1 -0
  196. package/build/component-typography.d.ts +183 -0
  197. package/build/component-typography.es.js +10 -0
  198. package/build/component-typography.es.js.map +1 -0
  199. package/build/component-xnEaYd4a.cjs +2 -0
  200. package/build/component-xnEaYd4a.cjs.map +1 -0
  201. package/build/component.components-BAAT5GTH.js +363 -0
  202. package/build/component.components-BAAT5GTH.js.map +1 -0
  203. package/build/component.components-CaR5gfQW.cjs +16 -0
  204. package/build/component.components-CaR5gfQW.cjs.map +1 -0
  205. package/build/component.constants-BeWW8Ijx.cjs +2 -0
  206. package/build/component.constants-BeWW8Ijx.cjs.map +1 -0
  207. package/build/component.constants-D9wVZ3zy.cjs +22 -0
  208. package/build/component.constants-D9wVZ3zy.cjs.map +1 -0
  209. package/build/component.constants-DRvp5Bez.js +142 -0
  210. package/build/component.constants-DRvp5Bez.js.map +1 -0
  211. package/build/component.constants-DbNhxh0k.js +759 -0
  212. package/build/component.constants-DbNhxh0k.js.map +1 -0
  213. package/build/component.styles-B0L4jbOO.js +59 -0
  214. package/build/component.styles-B0L4jbOO.js.map +1 -0
  215. package/build/component.styles-B1DIataj.cjs +10 -0
  216. package/build/component.styles-B1DIataj.cjs.map +1 -0
  217. package/build/component.styles-BFwkFWkd.cjs +39 -0
  218. package/build/component.styles-BFwkFWkd.cjs.map +1 -0
  219. package/build/component.styles-BSEA2Dqn.cjs +8 -0
  220. package/build/component.styles-BSEA2Dqn.cjs.map +1 -0
  221. package/build/component.styles-BapdQNhL.js +2166 -0
  222. package/build/component.styles-BapdQNhL.js.map +1 -0
  223. package/build/component.styles-BfvB83xM.cjs +22 -0
  224. package/build/component.styles-BfvB83xM.cjs.map +1 -0
  225. package/build/component.styles-Bn6ylF83.js +859 -0
  226. package/build/component.styles-Bn6ylF83.js.map +1 -0
  227. package/build/component.styles-BsZIuwWJ.cjs +140 -0
  228. package/build/component.styles-BsZIuwWJ.cjs.map +1 -0
  229. package/build/component.styles-C6LohBfF.js +81 -0
  230. package/build/component.styles-C6LohBfF.js.map +1 -0
  231. package/build/component.styles-CEBh8X5q.js +20 -0
  232. package/build/component.styles-CEBh8X5q.js.map +1 -0
  233. package/build/component.styles-CPsxMKVK.cjs +73 -0
  234. package/build/component.styles-CPsxMKVK.cjs.map +1 -0
  235. package/build/component.styles-CTo5NC52.js +71 -0
  236. package/build/component.styles-CTo5NC52.js.map +1 -0
  237. package/build/component.styles-CV7jTFCg.js +758 -0
  238. package/build/component.styles-CV7jTFCg.js.map +1 -0
  239. package/build/component.styles-CVBpx4fw.js +474 -0
  240. package/build/component.styles-CVBpx4fw.js.map +1 -0
  241. package/build/component.styles-CZu2m0O4.cjs +21 -0
  242. package/build/component.styles-CZu2m0O4.cjs.map +1 -0
  243. package/build/component.styles-CmBcHREH.cjs +13 -0
  244. package/build/component.styles-CmBcHREH.cjs.map +1 -0
  245. package/build/component.styles-CmEFZfA5.js +120 -0
  246. package/build/component.styles-CmEFZfA5.js.map +1 -0
  247. package/build/component.styles-DHIw8p8e.cjs +158 -0
  248. package/build/component.styles-DHIw8p8e.cjs.map +1 -0
  249. package/build/component.styles-DOPCUXcr.js +158 -0
  250. package/build/component.styles-DOPCUXcr.js.map +1 -0
  251. package/build/component.styles-Dj3h7jd9.cjs +165 -0
  252. package/build/component.styles-Dj3h7jd9.cjs.map +1 -0
  253. package/build/component.styles-Do1NYZEO.js +86 -0
  254. package/build/component.styles-Do1NYZEO.js.map +1 -0
  255. package/build/component.styles-Dok17vPl.js +126 -0
  256. package/build/component.styles-Dok17vPl.js.map +1 -0
  257. package/build/component.styles-Dpg-__rn.cjs +43 -0
  258. package/build/component.styles-Dpg-__rn.cjs.map +1 -0
  259. package/build/component.styles-DpkFoWEh.cjs +81 -0
  260. package/build/component.styles-DpkFoWEh.cjs.map +1 -0
  261. package/build/component.styles-DqsBDAEo.js +202 -0
  262. package/build/component.styles-DqsBDAEo.js.map +1 -0
  263. package/build/component.styles-Du2y0R4W.js +177 -0
  264. package/build/component.styles-Du2y0R4W.js.map +1 -0
  265. package/build/component.styles-DxeG9Opm.cjs +47 -0
  266. package/build/component.styles-DxeG9Opm.cjs.map +1 -0
  267. package/build/component.styles-DyGfo9t0.cjs +32 -0
  268. package/build/component.styles-DyGfo9t0.cjs.map +1 -0
  269. package/build/component.styles-RkQwTlwG.js +170 -0
  270. package/build/component.styles-RkQwTlwG.js.map +1 -0
  271. package/build/component.styles-ZtwHuL4x.cjs +75 -0
  272. package/build/component.styles-ZtwHuL4x.cjs.map +1 -0
  273. package/build/component.types-D05KdxnZ.js +132 -0
  274. package/build/component.types-D05KdxnZ.js.map +1 -0
  275. package/build/component.types-gy5Q9qHX.cjs +2 -0
  276. package/build/component.types-gy5Q9qHX.cjs.map +1 -0
  277. package/build/consts.cjs.js +2 -0
  278. package/build/consts.cjs.js.map +1 -0
  279. package/build/consts.d.ts +86 -0
  280. package/build/consts.es.js +177 -0
  281. package/build/consts.es.js.map +1 -0
  282. package/build/context-app.cjs.js +2 -0
  283. package/build/context-app.cjs.js.map +1 -0
  284. package/build/context-app.d.ts +223 -0
  285. package/build/context-app.es.js +20 -0
  286. package/build/context-app.es.js.map +1 -0
  287. package/build/context-cookie.cjs.js +2 -0
  288. package/build/context-cookie.cjs.js.map +1 -0
  289. package/build/context-cookie.d.ts +67 -0
  290. package/build/context-cookie.es.js +9 -0
  291. package/build/context-cookie.es.js.map +1 -0
  292. package/build/context-dialog.cjs.js +2 -0
  293. package/build/context-dialog.cjs.js.map +1 -0
  294. package/build/context-dialog.d.ts +92 -0
  295. package/build/context-dialog.es.js +18 -0
  296. package/build/context-dialog.es.js.map +1 -0
  297. package/build/context-geolocation.cjs.js +2 -0
  298. package/build/context-geolocation.cjs.js.map +1 -0
  299. package/build/context-geolocation.d.ts +22 -0
  300. package/build/context-geolocation.es.js +7 -0
  301. package/build/context-geolocation.es.js.map +1 -0
  302. package/build/context-local-storage.cjs.js +2 -0
  303. package/build/context-local-storage.cjs.js.map +1 -0
  304. package/build/context-local-storage.d.ts +54 -0
  305. package/build/context-local-storage.es.js +9 -0
  306. package/build/context-local-storage.es.js.map +1 -0
  307. package/build/context-permission.cjs.js +2 -0
  308. package/build/context-permission.cjs.js.map +1 -0
  309. package/build/context-permission.d.ts +28 -0
  310. package/build/context-permission.es.js +9 -0
  311. package/build/context-permission.es.js.map +1 -0
  312. package/build/context-screen-width.cjs.js +2 -0
  313. package/build/context-screen-width.cjs.js.map +1 -0
  314. package/build/context-screen-width.d.ts +34 -0
  315. package/build/context-screen-width.es.js +7 -0
  316. package/build/context-screen-width.es.js.map +1 -0
  317. package/build/context-sonner.cjs.js +2 -0
  318. package/build/context-sonner.cjs.js.map +1 -0
  319. package/build/context-sonner.d.ts +449 -0
  320. package/build/context-sonner.es.js +21 -0
  321. package/build/context-sonner.es.js.map +1 -0
  322. package/build/context.constants-B29-_8v3.cjs +32 -0
  323. package/build/context.constants-B29-_8v3.cjs.map +1 -0
  324. package/build/context.constants-BaD7xj_m.cjs +100 -0
  325. package/build/context.constants-BaD7xj_m.cjs.map +1 -0
  326. package/build/context.constants-CsZRZ7gH.js +228 -0
  327. package/build/context.constants-CsZRZ7gH.js.map +1 -0
  328. package/build/context.constants-DqYjo5m4.js +375 -0
  329. package/build/context.constants-DqYjo5m4.js.map +1 -0
  330. package/build/context.functions-80N-5MqM.cjs +2 -0
  331. package/build/context.functions-80N-5MqM.cjs.map +1 -0
  332. package/build/context.functions-B8FDl7nJ.js +14 -0
  333. package/build/context.functions-B8FDl7nJ.js.map +1 -0
  334. package/build/context.functions-BD15C8_y.js +128 -0
  335. package/build/context.functions-BD15C8_y.js.map +1 -0
  336. package/build/context.functions-CQ9GerPb.js +147 -0
  337. package/build/context.functions-CQ9GerPb.js.map +1 -0
  338. package/build/context.functions-ar41xFVo.cjs +2 -0
  339. package/build/context.functions-ar41xFVo.cjs.map +1 -0
  340. package/build/context.functions-ohI9H54j.cjs +2 -0
  341. package/build/context.functions-ohI9H54j.cjs.map +1 -0
  342. package/build/context.hooks-7ydA7mGj.js +117 -0
  343. package/build/context.hooks-7ydA7mGj.js.map +1 -0
  344. package/build/context.hooks-BIsapq-0.cjs +2 -0
  345. package/build/context.hooks-BIsapq-0.cjs.map +1 -0
  346. package/build/context.hooks-BmwyZ1p3.js +68 -0
  347. package/build/context.hooks-BmwyZ1p3.js.map +1 -0
  348. package/build/context.hooks-BzMTkJNv.js +52 -0
  349. package/build/context.hooks-BzMTkJNv.js.map +1 -0
  350. package/build/context.hooks-CTi-CVKx.cjs +72 -0
  351. package/build/context.hooks-CTi-CVKx.cjs.map +1 -0
  352. package/build/context.hooks-D13tbrva.cjs +2 -0
  353. package/build/context.hooks-D13tbrva.cjs.map +1 -0
  354. package/build/context.hooks-gyzZSaVi.js +527 -0
  355. package/build/context.hooks-gyzZSaVi.js.map +1 -0
  356. package/build/context.hooks-u408Pxw8.cjs +2 -0
  357. package/build/context.hooks-u408Pxw8.cjs.map +1 -0
  358. package/build/functions.cjs.js +2 -0
  359. package/build/functions.cjs.js.map +1 -0
  360. package/build/functions.d.ts +22 -0
  361. package/build/functions.es.js +47 -0
  362. package/build/functions.es.js.map +1 -0
  363. package/build/hooks-use-debounced-callback.cjs.js +2 -0
  364. package/build/hooks-use-debounced-callback.cjs.js.map +1 -0
  365. package/build/hooks-use-debounced-callback.d.ts +3 -0
  366. package/build/hooks-use-debounced-callback.es.js +5 -0
  367. package/build/hooks-use-debounced-callback.es.js.map +1 -0
  368. package/build/hooks-use-deep-compare-memoize.cjs.js +2 -0
  369. package/build/hooks-use-deep-compare-memoize.cjs.js.map +1 -0
  370. package/build/hooks-use-deep-compare-memoize.d.ts +3 -0
  371. package/build/hooks-use-deep-compare-memoize.es.js +5 -0
  372. package/build/hooks-use-deep-compare-memoize.es.js.map +1 -0
  373. package/build/index.cjs.js +2 -0
  374. package/build/index.cjs.js.map +1 -0
  375. package/build/index.d.ts +2540 -0
  376. package/build/index.es.js +329 -0
  377. package/build/index.es.js.map +1 -0
  378. package/build/jsx-runtime-BcGej2Kr.cjs +11 -0
  379. package/build/jsx-runtime-BcGej2Kr.cjs.map +1 -0
  380. package/build/jsx-runtime-BrDlu8eK.js +320 -0
  381. package/build/jsx-runtime-BrDlu8eK.js.map +1 -0
  382. package/build/motion-CIQfrLky.js +85 -0
  383. package/build/motion-CIQfrLky.js.map +1 -0
  384. package/build/motion-DgB7M2Hn.cjs +2 -0
  385. package/build/motion-DgB7M2Hn.cjs.map +1 -0
  386. package/build/style-CEGJOjRW.js +107 -0
  387. package/build/style-CEGJOjRW.js.map +1 -0
  388. package/build/style-CtGd1JVB.cjs +32 -0
  389. package/build/style-CtGd1JVB.cjs.map +1 -0
  390. package/build/style-DeAgDHyI.js +52 -0
  391. package/build/style-DeAgDHyI.js.map +1 -0
  392. package/build/style-Dm74EPGE.cjs +87 -0
  393. package/build/style-Dm74EPGE.cjs.map +1 -0
  394. package/build/style-add.cjs.js +2 -0
  395. package/build/style-add.cjs.js.map +1 -0
  396. package/build/style-add.d.ts +21 -0
  397. package/build/style-add.es.js +13 -0
  398. package/build/style-add.es.js.map +1 -0
  399. package/build/style-error.cjs.js +2 -0
  400. package/build/style-error.cjs.js.map +1 -0
  401. package/build/style-error.d.ts +56 -0
  402. package/build/style-error.es.js +7 -0
  403. package/build/style-error.es.js.map +1 -0
  404. package/build/style-fRZ6xrVp.cjs +10 -0
  405. package/build/style-fRZ6xrVp.cjs.map +1 -0
  406. package/build/style-motion.cjs.js +2 -0
  407. package/build/style-motion.cjs.js.map +1 -0
  408. package/build/style-motion.d.ts +20 -0
  409. package/build/style-motion.es.js +8 -0
  410. package/build/style-motion.es.js.map +1 -0
  411. package/build/style-plT9Ah7t.js +33 -0
  412. package/build/style-plT9Ah7t.js.map +1 -0
  413. package/build/style-sx.cjs.js +2 -0
  414. package/build/style-sx.cjs.js.map +1 -0
  415. package/build/style-sx.d.ts +31 -0
  416. package/build/style-sx.es.js +5 -0
  417. package/build/style-sx.es.js.map +1 -0
  418. package/build/style-theme.cjs.js +2 -0
  419. package/build/style-theme.cjs.js.map +1 -0
  420. package/build/style-theme.d.ts +263 -0
  421. package/build/style-theme.es.js +10 -0
  422. package/build/style-theme.es.js.map +1 -0
  423. package/build/style.css +1 -0
  424. package/build/theme.global-D6XU05Et.cjs +169 -0
  425. package/build/theme.global-D6XU05Et.cjs.map +1 -0
  426. package/build/theme.global-bN9HlSWE.js +1080 -0
  427. package/build/theme.global-bN9HlSWE.js.map +1 -0
  428. package/build/types.cjs.js +2 -0
  429. package/build/types.cjs.js.map +1 -0
  430. package/build/types.d.ts +27 -0
  431. package/build/types.es.js +2 -0
  432. package/build/types.es.js.map +1 -0
  433. package/build/use-BVj4dgbW.js +1547 -0
  434. package/build/use-BVj4dgbW.js.map +1 -0
  435. package/build/use-BhofoOgk.cjs +16 -0
  436. package/build/use-BhofoOgk.cjs.map +1 -0
  437. package/build/use-Bp8UVw4Y.js +16 -0
  438. package/build/use-Bp8UVw4Y.js.map +1 -0
  439. package/build/use-C1l0O0Qo.cjs +2 -0
  440. package/build/use-C1l0O0Qo.cjs.map +1 -0
  441. package/build/use-DT0XgvJT.js +25 -0
  442. package/build/use-DT0XgvJT.js.map +1 -0
  443. package/build/use-IhzeVumv.cjs +2 -0
  444. package/build/use-IhzeVumv.cjs.map +1 -0
  445. package/package.json +360 -0
@@ -0,0 +1,126 @@
1
+ import { j as jsxRuntimeExports } from "./jsx-runtime-BrDlu8eK.js";
2
+ import { useCallback, useMemo } from "react";
3
+ import styled, { useTheme } from "styled-components";
4
+ import { a as addError } from "./style-DeAgDHyI.js";
5
+ import { a as addSX } from "./style-plT9Ah7t.js";
6
+ const Range = (props) => {
7
+ const { onChange } = props;
8
+ const handleChange = useCallback(
9
+ (index, newValue) => {
10
+ const newValues = [...props.values];
11
+ newValues[index] = Math.min(props.max, Math.max(props.min, newValue));
12
+ onChange(newValues.sort((a, b) => a - b));
13
+ },
14
+ [onChange, props.max, props.min, props.values]
15
+ );
16
+ const getThumbPositionPercent = useCallback(
17
+ (val) => (val - props.min) / (props.max - props.min) * 100,
18
+ [props.max, props.min]
19
+ );
20
+ const positions = useMemo(
21
+ () => props.values.map((val) => getThumbPositionPercent(val)),
22
+ [getThumbPositionPercent, props.values]
23
+ );
24
+ const theme = useTheme();
25
+ const colorTrackBackground = theme.colors.range[props.genre].track.background.rest;
26
+ const colorTrackGradient = theme.colors.range[props.genre].track.gradient.rest;
27
+ const colorThumbBorder = theme.colors.range[props.genre].thumb.border.rest;
28
+ const colorThumbBackground = theme.colors.range[props.genre].thumb.background.rest;
29
+ const trackGradient = useMemo(
30
+ () => positions.map((position, idx) => {
31
+ const isFirst = idx === 0;
32
+ const isLast = idx === positions.length - 1;
33
+ if (isFirst)
34
+ return `${colorTrackBackground} 0%, ${colorTrackBackground} ${position}%, ${colorTrackGradient} ${position}%`;
35
+ if (isLast)
36
+ return `${colorTrackGradient} ${position}%, ${colorTrackBackground} ${position}%, ${colorTrackBackground} 100%`;
37
+ return `${colorTrackGradient} ${position}%`;
38
+ }).join(", "),
39
+ [colorTrackGradient, colorTrackBackground, positions]
40
+ );
41
+ const gradient = useMemo(() => `linear-gradient(to right, ${trackGradient})`, [trackGradient]);
42
+ return /* @__PURE__ */ jsxRuntimeExports.jsxs(RangeWrapper, { $size: props.size, $sx: props.sx, $error: props.error, onBlur: props.onBlur, children: [
43
+ props.values.map((val, idx) => /* @__PURE__ */ jsxRuntimeExports.jsx(
44
+ RangeThumb,
45
+ {
46
+ type: "range",
47
+ $size: props.size,
48
+ $genre: props.genre,
49
+ min: props.min,
50
+ max: props.max,
51
+ step: props.step,
52
+ value: val,
53
+ onChange: (e) => handleChange(idx, parseFloat(e.target.value)),
54
+ style: { zIndex: 100 + idx },
55
+ $colorBackground: colorThumbBackground,
56
+ $colorBorder: colorThumbBorder
57
+ },
58
+ idx
59
+ )),
60
+ /* @__PURE__ */ jsxRuntimeExports.jsx(
61
+ RangeTrack,
62
+ {
63
+ $size: props.size,
64
+ $genre: props.genre,
65
+ style: {
66
+ background: gradient
67
+ }
68
+ }
69
+ )
70
+ ] });
71
+ };
72
+ const RangeWrapper = styled.div`
73
+ position: relative;
74
+ display: flex;
75
+ width: 100%;
76
+ box-sizing: border-box;
77
+ align-items: center;
78
+ height: 20px;
79
+ ${addError};
80
+ ${addSX};
81
+ `;
82
+ const RangeTrack = styled.div`
83
+ position: absolute;
84
+ height: 3px;
85
+ width: 100%;
86
+ padding: 0px 10px;
87
+ border-radius: 2px;
88
+ `;
89
+ const RangeThumb = styled.input`
90
+ position: absolute;
91
+ width: 100%;
92
+ outline: none !important;
93
+ pointer-events: none;
94
+ appearance: none;
95
+ -webkit-appearance: none;
96
+ background: transparent;
97
+ left: 0;
98
+ margin: 0;
99
+ &::-webkit-slider-thumb {
100
+ pointer-events: all;
101
+ width: 16px;
102
+ height: 16px;
103
+ margin: 0;
104
+ padding: 0;
105
+ border-radius: 50%;
106
+ background: ${(props) => props.$colorBackground};
107
+ border: 3px ${(props) => props.$colorBorder} solid;
108
+ cursor: pointer;
109
+ -webkit-appearance: none;
110
+ margin-top: 0px;
111
+ transition:
112
+ transform ${(props) => props.theme.transition.default},
113
+ color ${(props) => props.theme.transition.default},
114
+ background-color ${(props) => props.theme.transition.default};
115
+ &:hover {
116
+ transform: scale(1.2);
117
+ }
118
+ }
119
+ `;
120
+ export {
121
+ Range as R,
122
+ RangeWrapper as a,
123
+ RangeTrack as b,
124
+ RangeThumb as c
125
+ };
126
+ //# sourceMappingURL=component.styles-Dok17vPl.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"component.styles-Dok17vPl.js","sources":["../src/components/range/component.tsx","../src/components/range/component.styles.ts"],"sourcesContent":["import { useCallback, useMemo } from 'react'\nimport { useTheme } from 'styled-components'\n\nimport { RangeProps, RangeThumb, RangeTrack, RangeWrapper } from '.'\n\nexport const Range = (props: RangeProps) => {\n const { onChange } = props\n const handleChange = useCallback(\n (index: number, newValue: number) => {\n const newValues = [...props.values]\n newValues[index] = Math.min(props.max, Math.max(props.min, newValue))\n onChange(newValues.sort((a, b) => a - b))\n },\n [onChange, props.max, props.min, props.values]\n )\n const getThumbPositionPercent = useCallback(\n (val: number) => ((val - props.min) / (props.max - props.min)) * 100,\n [props.max, props.min]\n )\n const positions = useMemo(\n () => props.values.map(val => getThumbPositionPercent(val)),\n [getThumbPositionPercent, props.values]\n )\n const theme = useTheme()\n\n const colorTrackBackground = theme.colors.range[props.genre].track.background.rest\n const colorTrackGradient = theme.colors.range[props.genre].track.gradient.rest\n const colorThumbBorder = theme.colors.range[props.genre].thumb.border.rest\n const colorThumbBackground = theme.colors.range[props.genre].thumb.background.rest\n\n const trackGradient = useMemo(\n () =>\n positions\n .map((position, idx) => {\n const isFirst = idx === 0\n const isLast = idx === positions.length - 1\n\n if (isFirst)\n return `${colorTrackBackground} 0%, ${colorTrackBackground} ${position}%, ${colorTrackGradient} ${position}%`\n if (isLast)\n return `${colorTrackGradient} ${position}%, ${colorTrackBackground} ${position}%, ${colorTrackBackground} 100%`\n return `${colorTrackGradient} ${position}%`\n })\n .join(', '),\n [colorTrackGradient, colorTrackBackground, positions]\n )\n const gradient = useMemo(() => `linear-gradient(to right, ${trackGradient})`, [trackGradient])\n\n return (\n <RangeWrapper $size={props.size} $sx={props.sx} $error={props.error} onBlur={props.onBlur}>\n {props.values.map((val, idx) => (\n <RangeThumb\n key={idx}\n type=\"range\"\n $size={props.size}\n $genre={props.genre}\n min={props.min}\n max={props.max}\n step={props.step}\n value={val}\n onChange={e => handleChange(idx, parseFloat(e.target.value))}\n style={{ zIndex: 100 + idx }}\n $colorBackground={colorThumbBackground}\n $colorBorder={colorThumbBorder}\n />\n ))}\n <RangeTrack\n $size={props.size}\n $genre={props.genre}\n style={{\n background: gradient\n }}\n />\n </RangeWrapper>\n )\n}\n","import styled from 'styled-components'\n\nimport { addError } from '@local/styles/error'\nimport { addSX } from '@local/styles/sx'\n\nimport { RangeComponentProps, RangeThumbProps, RangeWrapperProps } from '.'\n\nexport const RangeWrapper = styled.div<RangeWrapperProps>`\n position: relative;\n display: flex;\n width: 100%;\n box-sizing: border-box;\n align-items: center;\n height: 20px;\n ${addError};\n ${addSX};\n`\n\nexport const RangeTrack = styled.div<RangeComponentProps>`\n position: absolute;\n height: 3px;\n width: 100%;\n padding: 0px 10px;\n border-radius: 2px;\n`\nexport const RangeThumb = styled.input<RangeThumbProps>`\n position: absolute;\n width: 100%;\n outline: none !important;\n pointer-events: none;\n appearance: none;\n -webkit-appearance: none;\n background: transparent;\n left: 0;\n margin: 0;\n &::-webkit-slider-thumb {\n pointer-events: all;\n width: 16px;\n height: 16px;\n margin: 0;\n padding: 0;\n border-radius: 50%;\n background: ${props => props.$colorBackground};\n border: 3px ${props => props.$colorBorder} solid;\n cursor: pointer;\n -webkit-appearance: none;\n margin-top: 0px;\n transition:\n transform ${props => props.theme.transition.default},\n color ${props => props.theme.transition.default},\n background-color ${props => props.theme.transition.default};\n &:hover {\n transform: scale(1.2);\n }\n }\n`\n"],"names":["jsxs","jsx"],"mappings":"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"}
@@ -0,0 +1,43 @@
1
+ "use strict";const e=require("styled-components");require("./jsx-runtime-BcGej2Kr.cjs"),require("react");const o="JENESEI_RIPPLE",t=e.div`
2
+ position: absolute;
3
+ top: 0;
4
+ right: 0;
5
+ bottom: 0;
6
+ left: 0;
7
+ `,i=e.span`
8
+ transform: scale(0);
9
+ border-radius: 100%;
10
+ position: absolute;
11
+ opacity: 0.75;
12
+ background-color: ${e=>e.$color};
13
+ animation-name: ripple;
14
+ animation-duration: ${e=>e.$duration}ms;
15
+
16
+ @keyframes ripple {
17
+ to {
18
+ opacity: 0;
19
+ transform: scale(2);
20
+ }
21
+ }
22
+ `,s=e.css`
23
+ ${t=>t.$isRipple&&e.css`
24
+ position: relative;
25
+ overflow: hidden;
26
+ isolation: isolate;
27
+
28
+ & *:not(#${o}) {
29
+ user-select: none;
30
+ pointer-events: none;
31
+ }
32
+ `}
33
+ `,n=e.css`
34
+ position: relative;
35
+ overflow: hidden;
36
+ isolation: isolate;
37
+
38
+ & *:not(#${o}) {
39
+ user-select: none;
40
+ pointer-events: none;
41
+ }
42
+ `;exports.DEFAULT_RIPPLE_DURATION=600,exports.DEFAULT_RIPPLE_ID=o,exports.RippleContainer=t,exports.RippleSpan=i,exports.addRipple=s,exports.addRippleDefault=n;
43
+ //# sourceMappingURL=component.styles-Dpg-__rn.cjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"component.styles-Dpg-__rn.cjs","sources":["../src/components/ripple/component.constants.tsx","../src/components/ripple/component.styles.tsx"],"sourcesContent":["export const DEFAULT_RIPPLE_DURATION = 600\nexport const DEFAULT_RIPPLE_ID = 'JENESEI_RIPPLE'\n","import styled, { css } from 'styled-components'\n\nimport { DEFAULT_RIPPLE_ID, RippleContainerProps } from '.'\n\nexport const RippleContainer = styled.div<RippleContainerProps>`\n position: absolute;\n top: 0;\n right: 0;\n bottom: 0;\n left: 0;\n`\n\nexport const RippleSpan = styled.span<RippleContainerProps>`\n transform: scale(0);\n border-radius: 100%;\n position: absolute;\n opacity: 0.75;\n background-color: ${props => props.$color};\n animation-name: ripple;\n animation-duration: ${props => props.$duration}ms;\n\n @keyframes ripple {\n to {\n opacity: 0;\n transform: scale(2);\n }\n }\n`\n\nexport const addRipple = css<{ $isRipple?: boolean }>`\n ${props =>\n props.$isRipple &&\n css`\n position: relative;\n overflow: hidden;\n isolation: isolate;\n\n & *:not(#${DEFAULT_RIPPLE_ID}) {\n user-select: none;\n pointer-events: none;\n }\n `}\n`\nexport const addRippleDefault = css`\n position: relative;\n overflow: hidden;\n isolation: isolate;\n\n & *:not(#${DEFAULT_RIPPLE_ID}) {\n user-select: none;\n pointer-events: none;\n }\n`\n"],"names":["DEFAULT_RIPPLE_ID","RippleContainer","styled","div","RippleSpan","span","props","$color","$duration","addRipple","css","$isRipple","addRippleDefault"],"mappings":"yGAAO,MACMA,EAAoB,iBCGpBC,EAAkBC,EAAOC,GAAA;;;;;;EAQzBC,EAAaF,EAAOG,IAAA;;;;;sBAKXC,GAASA,EAAMC;;wBAEbD,GAASA,EAAME;;;;;;;;EAU1BC,EAAYC,EAAAA,GAAAA;IACrBJ,GACAA,EAAMK,WACND,EAAAA,GAAAA;;;;;iBAKaV;;;;;EAMJY,EAAmBF,EAAAA,GAAAA;;;;;aAKnBV;;;;kCDhD0B"}
@@ -0,0 +1,81 @@
1
+ "use strict";const e=require("./jsx-runtime-BcGej2Kr.cjs"),t=require("react"),r=require("styled-components"),s=require("./style-CtGd1JVB.cjs"),o=require("./theme.global-D6XU05Et.cjs"),i=require("./component-C52VCES6.cjs"),l=require("./style-Dm74EPGE.cjs"),n=require("./style-fRZ6xrVp.cjs"),a=r.div`
2
+ width: max-content;
3
+ position: relative;
4
+ display: flex;
5
+ align-items: center;
6
+ justify-content: flex-start;
7
+ flex-direction: column;
8
+ width: 100%;
9
+ ${n.addSX};
10
+ `,c=r.css`
11
+ &::placeholder,
12
+ &::-webkit-input-placeholder {
13
+ ${e=>i.getFontSizeStyles(16,e.$isBold?500:400,e.theme.font.family,e.theme.font.lineHeight)};
14
+ color: ${e=>e.theme.colors.input[e.$genre].color.placeholder};
15
+ opacity: 1;
16
+ }
17
+ &:-ms-input-placeholder {
18
+ ${e=>i.getFontSizeStyles(16,e.$isBold?500:400,e.theme.font.family,e.theme.font.lineHeight)};
19
+ color: ${e=>e.theme.colors.input[e.$genre].color.placeholder};
20
+ opacity: 1;
21
+ }
22
+ `,d=r.css`
23
+ ${e=>r.css`
24
+ background: ${e.theme.colors.input[e.$genre].background.rest};
25
+ border-color: ${e.theme.colors.input[e.$genre].border.rest};
26
+ color: ${e.theme.colors.input[e.$genre].color.rest};
27
+
28
+ &:active {
29
+ background: ${e.theme.colors.input[e.$genre].background.rest};
30
+ border-color: ${e.theme.colors.input[e.$genre].border.rest};
31
+ color: ${e.theme.colors.input[e.$genre].color.rest};
32
+ }
33
+ &:hover {
34
+ background: ${e.theme.colors.input[e.$genre].background.hover};
35
+ border-color: ${e.theme.colors.input[e.$genre].border.hover};
36
+ color: ${e.theme.colors.input[e.$genre].color.hover};
37
+ }
38
+ &:focus-visible {
39
+ border-color: ${e.theme.colors.input[e.$genre].border.rest};
40
+ background: ${e.theme.colors.input[e.$genre].background.rest};
41
+ color: ${e.theme.colors.input[e.$genre].color.rest};
42
+ }
43
+ `};
44
+ `,u=r.css`
45
+ ${e=>h(o.KEY_SIZE_DATA[e.$size])};
46
+ `,h=e=>r.css`
47
+ padding: ${e.padding-4}px ${e.padding}px ${e.padding-6}px ${e.padding}px;
48
+ border-radius: ${e.radius}px;
49
+ `,$=r.css`
50
+ opacity: ${e=>e.$isDisabled?.5:1};
51
+ `,p=r.css`
52
+ ${e=>e.$isTextAreaEffect&&r.css`
53
+ box-shadow: ${e.theme.effects.input};
54
+ `}
55
+ `,g=r.css`
56
+ ${e=>!e.$isResize&&r.css`
57
+ resize: none;
58
+ `}
59
+ `,x=r.css`
60
+ overflow-x: hidden;
61
+ width: 100% !important;
62
+ border: 1px solid;
63
+ white-space: nowrap;
64
+ text-overflow: ellipsis;
65
+ text-wrap: auto;
66
+
67
+ ${e=>i.getFontSizeStyles(16,e.$isBold?500:400,e.theme.font.family,e.theme.font.lineHeight)};
68
+
69
+ ${g};
70
+ ${u};
71
+ ${d};
72
+ ${c};
73
+ ${$};
74
+ ${p};
75
+ ${l.addTransitionWithoutSize};
76
+ ${l.addOutline};
77
+ ${s.addError};
78
+ `,m=r.textarea`
79
+ ${x};
80
+ `;exports.StyledTextArea=m,exports.StyledTextAreaCSS=x,exports.StyledTextAreaWrapper=a,exports.TextArea=i=>{const l=r.useTheme(),n=t.useCallback(e=>{var t,r;if(i.isNoSpaces){const r=e.replace(/\s+/g,"");null==(t=i.onChange)||t.call(i,r)}else null==(r=i.onChange)||r.call(i,e)},[i]),c=t.useRef(null),d=t.useCallback(e=>{if(c.current){const t=o.KEY_SIZE_DATA[i.size].height,r=Math.max(o.KEY_SIZE_DATA[i.size].height,e);c.current.style.height=`${t}px`;const s=c.current.scrollHeight;let l=e;l=i.isAutoHeight&&!i.height?Math.max(t,Math.min(s,r)):Math.max(t,e),c.current.style.height=`${l}px`,c.current.style.minHeight=`${t}px`,c.current.style.maxHeight=`${r}px`,c.current.scrollHeight>r?c.current.style.overflowY="auto":c.current.style.overflowY="hidden"}},[i.height,i.isAutoHeight,i.size]),u=t.useCallback(()=>{if(i.height)d(i.height);else if(i.maxRows){const e=l.font.sizeDefault.default*l.font.lineHeight,t=i.maxRows?e*i.maxRows:e;d(t+2*o.KEY_SIZE_DATA[i.size].padding-8)}else d(o.KEY_SIZE_DATA[i.size].height)},[d,i.height,i.maxRows,i.size,l.font.lineHeight,l.font.sizeDefault.default]);return t.useEffect(()=>{u()},[u,i.isAutoHeight,i.value]),e.jsxRuntimeExports.jsxs(e.jsxRuntimeExports.Fragment,{children:[e.jsxRuntimeExports.jsx(a,{$isTextAreaEffect:i.isTextAreaEffect,className:i.className,$isDisabled:i.isDisabled,$sx:i.sx,children:e.jsxRuntimeExports.jsx(m,{ref:c,$isResize:i.isResize,$error:i.error,$isTextAreaEffect:i.isTextAreaEffect,$isLoading:i.isLoading,$genre:i.genre,$size:i.size,$isBold:i.isBold,$isDisabled:i.isDisabled,disabled:i.isDisabled,readOnly:i.isReadOnly,required:i.isRequired,defaultValue:i.defaultValue,value:i.value??"",placeholder:i.placeholder,onChange:e=>n(e.target.value),onBlur:i.onBlur,onFocus:i.onFocus,name:i.name,id:i.id})}),(null==i?void 0:i.error)?e.jsxRuntimeExports.jsx(s.ErrorMessage,{...i.error,size:(null==i?void 0:i.error.size)??i.size}):null]})},exports.TextAreaIsTextAreaEffect=p,exports.TextAreaPlaceholder=c,exports.TextAreaSize=u,exports.TextAreaSizeConstructor=h;
81
+ //# sourceMappingURL=component.styles-DpkFoWEh.cjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"component.styles-DpkFoWEh.cjs","sources":["../src/components/textarea/component.styles.ts","../src/components/textarea/component.tsx"],"sourcesContent":["import styled, { css } from 'styled-components'\n\nimport { getFontSizeStyles } from '@local/components/typography'\nimport { addOutline, addTransitionWithoutSize } from '@local/styles/add'\nimport { addError } from '@local/styles/error'\nimport { addSX } from '@local/styles/sx'\nimport { IThemeSizePropertyDefault, KEY_SIZE_DATA } from '@local/theme'\n\nimport { StyledTextAreaProps, StyledTextAreaWrapperProps } from '.'\n\n/****************************************** Wrapper *************************************************/\nexport const StyledTextAreaWrapper = styled.div<StyledTextAreaWrapperProps>`\n width: max-content;\n position: relative;\n display: flex;\n align-items: center;\n justify-content: flex-start;\n flex-direction: column;\n width: 100%;\n ${addSX};\n`\n\n/****************************************** Placeholder *************************************************/\nexport const TextAreaPlaceholder = css<StyledTextAreaProps>`\n &::placeholder,\n &::-webkit-input-placeholder {\n ${props => getFontSizeStyles(16, props.$isBold ? 500 : 400, props.theme.font.family, props.theme.font.lineHeight)};\n color: ${props => props.theme.colors.input[props.$genre].color.placeholder};\n opacity: 1;\n }\n &:-ms-input-placeholder {\n ${props => getFontSizeStyles(16, props.$isBold ? 500 : 400, props.theme.font.family, props.theme.font.lineHeight)};\n color: ${props => props.theme.colors.input[props.$genre].color.placeholder};\n opacity: 1;\n }\n`\n\n/****************************************** Genre *************************************************/\nconst TextAreaGenre = css<StyledTextAreaProps>`\n ${props => css`\n background: ${props.theme.colors.input[props.$genre].background.rest};\n border-color: ${props.theme.colors.input[props.$genre].border.rest};\n color: ${props.theme.colors.input[props.$genre].color.rest};\n\n &:active {\n background: ${props.theme.colors.input[props.$genre].background.rest};\n border-color: ${props.theme.colors.input[props.$genre].border.rest};\n color: ${props.theme.colors.input[props.$genre].color.rest};\n }\n &:hover {\n background: ${props.theme.colors.input[props.$genre].background.hover};\n border-color: ${props.theme.colors.input[props.$genre].border.hover};\n color: ${props.theme.colors.input[props.$genre].color.hover};\n }\n &:focus-visible {\n border-color: ${props.theme.colors.input[props.$genre].border.rest};\n background: ${props.theme.colors.input[props.$genre].background.rest};\n color: ${props.theme.colors.input[props.$genre].color.rest};\n }\n `};\n`\n\n/****************************************** Size *************************************************/\nexport const TextAreaSize = css<StyledTextAreaProps>`\n ${props => TextAreaSizeConstructor(KEY_SIZE_DATA[props.$size])};\n`\nexport const TextAreaSizeConstructor = (props: IThemeSizePropertyDefault) => css`\n padding: ${props.padding - 4}px ${props.padding}px ${props.padding - 6}px ${props.padding}px;\n border-radius: ${props.radius}px;\n`\n\n/****************************************** Hidden *************************************************/\nconst TextAreaHidden = css<StyledTextAreaProps>`\n opacity: ${props => (props.$isDisabled ? 0.5 : 1)};\n`\n/****************************************** is PlaystationEffect *************************************************/\nexport const TextAreaIsTextAreaEffect = css<Pick<StyledTextAreaProps, '$isTextAreaEffect'>>`\n ${props =>\n props.$isTextAreaEffect &&\n css`\n box-shadow: ${props.theme.effects.input};\n `}\n`\n\n/****************************************** is Resize *************************************************/\nconst TextAreaIsResize = css<Pick<StyledTextAreaProps, '$isResize'>>`\n ${props =>\n !props.$isResize &&\n css`\n resize: none;\n `}\n`\n/****************************************** Default *************************************************/\nexport const StyledTextAreaCSS = css<StyledTextAreaProps>`\n overflow-x: hidden;\n width: 100% !important;\n border: 1px solid;\n white-space: nowrap;\n text-overflow: ellipsis;\n text-wrap: auto;\n\n ${props => getFontSizeStyles(16, props.$isBold ? 500 : 400, props.theme.font.family, props.theme.font.lineHeight)};\n\n ${TextAreaIsResize};\n ${TextAreaSize};\n ${TextAreaGenre};\n ${TextAreaPlaceholder};\n ${TextAreaHidden};\n ${TextAreaIsTextAreaEffect};\n ${addTransitionWithoutSize};\n ${addOutline};\n ${addError};\n`\n\nexport const StyledTextArea = styled.textarea<StyledTextAreaProps>`\n ${StyledTextAreaCSS};\n`\n\n// /****************************************** Loading *************************************************/\n// const TextAreaStyledLoadingSize = css<StyledTextAreaProps>`\n// ${props => TextAreaStyledLoadingConstructor(KEY_SIZE_DATA[props.$size])};\n// `\n// const TextAreaStyledLoadingConstructor = (props: IThemeSizePropertyDefault) => css`\n// padding: ${props.padding - 6}px ${props.padding}px ${props.padding - 4}px ${props.padding}px;\n// `\n\n// export const TextAreaStyledLoading = styled(Loading)<StyledTextAreaProps>`\n// ${TextAreaStyledLoadingSize};\n// position: absolute;\n// display: flex;\n// align-items: center;\n// right: 0px;\n// box-sizing: content-box;\n// backdrop-filter: blur(2px);\n// mask-image: radial-gradient(circle, rgba(0, 0, 0, 1) 15%, rgba(0, 0, 0, 0) 100%);\n// `\n","import { useCallback, useEffect, useRef } from 'react'\nimport { useTheme } from 'styled-components'\n\nimport { ErrorMessage } from '@local/styles/error'\nimport { KEY_SIZE_DATA } from '@local/theme/theme'\n\nimport { StyledTextArea, StyledTextAreaWrapper, TextAreaProps } from '.'\n\nexport const TextArea = (props: TextAreaProps) => {\n const theme = useTheme()\n const handleOnChange = useCallback(\n (value: string) => {\n if (props.isNoSpaces) {\n const valueWithoutSpaces = value.replace(/\\s+/g, '')\n props.onChange?.(valueWithoutSpaces)\n } else {\n props.onChange?.(value)\n }\n },\n [props]\n )\n\n const textareaRef = useRef<HTMLTextAreaElement>(null)\n\n const handleHeight = useCallback(\n (contentHeight: number) => {\n if (textareaRef.current) {\n const minHeight = KEY_SIZE_DATA[props.size].height\n const maxHeight = Math.max(KEY_SIZE_DATA[props.size].height, contentHeight)\n\n textareaRef.current.style.height = `${minHeight}px`\n const scrollHeight = textareaRef.current.scrollHeight\n\n let newHeight = contentHeight\n if (props.isAutoHeight && !props.height) {\n newHeight = Math.max(minHeight, Math.min(scrollHeight, maxHeight))\n } else {\n newHeight = Math.max(minHeight, contentHeight)\n }\n\n textareaRef.current.style.height = `${newHeight}px`\n textareaRef.current.style.minHeight = `${minHeight}px`\n textareaRef.current.style.maxHeight = `${maxHeight}px`\n\n if (textareaRef.current.scrollHeight > maxHeight) {\n textareaRef.current.style.overflowY = 'auto'\n } else {\n textareaRef.current.style.overflowY = 'hidden'\n }\n }\n },\n [props.height, props.isAutoHeight, props.size]\n )\n const checkHeight = useCallback(() => {\n if (props.height) {\n handleHeight(props.height)\n } else {\n if (props.maxRows) {\n const lineHeight = theme.font.sizeDefault.default * theme.font.lineHeight\n const initialHeight = props.maxRows ? lineHeight * props.maxRows : lineHeight\n handleHeight(initialHeight + KEY_SIZE_DATA[props.size].padding * 2 - 8)\n } else {\n handleHeight(KEY_SIZE_DATA[props.size].height)\n }\n }\n }, [handleHeight, props.height, props.maxRows, props.size, theme.font.lineHeight, theme.font.sizeDefault.default])\n\n useEffect(() => {\n checkHeight()\n }, [checkHeight, props.isAutoHeight, props.value])\n\n return (\n <>\n <StyledTextAreaWrapper\n $isTextAreaEffect={props.isTextAreaEffect}\n className={props.className}\n $isDisabled={props.isDisabled}\n $sx={props.sx}\n >\n <StyledTextArea\n ref={textareaRef}\n $isResize={props.isResize}\n $error={props.error}\n $isTextAreaEffect={props.isTextAreaEffect}\n $isLoading={props.isLoading}\n $genre={props.genre}\n $size={props.size}\n $isBold={props.isBold}\n $isDisabled={props.isDisabled}\n disabled={props.isDisabled}\n readOnly={props.isReadOnly}\n required={props.isRequired}\n defaultValue={props.defaultValue}\n value={props.value ?? ''}\n placeholder={props.placeholder}\n onChange={event => handleOnChange(event.target.value)}\n onBlur={props.onBlur}\n onFocus={props.onFocus}\n name={props.name}\n id={props.id}\n />\n {/* {props.isLoading && (\n <TextAreaStyledLoading\n $genre={props.genre}\n $size={props.size}\n size={props.size}\n color={theme.colors.input[props.genre].color.rest}\n />\n )} */}\n </StyledTextAreaWrapper>\n {props?.error ? <ErrorMessage {...props.error} size={props?.error.size ?? props.size} /> : null}\n </>\n )\n}\n"],"names":["StyledTextAreaWrapper","styled","div","addSX","TextAreaPlaceholder","css","props","getFontSizeStyles","$isBold","theme","font","family","lineHeight","colors","input","$genre","color","placeholder","TextAreaGenre","background","rest","border","hover","TextAreaSize","TextAreaSizeConstructor","KEY_SIZE_DATA","$size","padding","radius","TextAreaHidden","$isDisabled","TextAreaIsTextAreaEffect","$isTextAreaEffect","effects","TextAreaIsResize","$isResize","StyledTextAreaCSS","addTransitionWithoutSize","addOutline","addError","StyledTextArea","textarea","useTheme","handleOnChange","useCallback","value","isNoSpaces","valueWithoutSpaces","replace","_a","onChange","call","_b","textareaRef","useRef","handleHeight","contentHeight","current","minHeight","size","height","maxHeight","Math","max","style","scrollHeight","newHeight","isAutoHeight","min","overflowY","checkHeight","maxRows","sizeDefault","default","initialHeight","useEffect","jsxs","Fragment","children","jsx","isTextAreaEffect","className","isDisabled","$sx","sx","ref","isResize","$error","error","$isLoading","isLoading","genre","isBold","disabled","readOnly","isReadOnly","required","isRequired","defaultValue","event","target","onBlur","onFocus","name","id","ErrorMessage"],"mappings":"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"}
@@ -0,0 +1,202 @@
1
+ import { j as jsxRuntimeExports } from "./jsx-runtime-BrDlu8eK.js";
2
+ import { useCallback, useRef, useEffect } from "react";
3
+ import styled, { useTheme, css } from "styled-components";
4
+ import { b as ErrorMessage, a as addError } from "./style-DeAgDHyI.js";
5
+ import { K as KEY_SIZE_DATA } from "./theme.global-bN9HlSWE.js";
6
+ import { g as getFontSizeStyles } from "./component-C2JFFh-k.js";
7
+ import { c as addTransitionWithoutSize, f as addOutline } from "./style-CEGJOjRW.js";
8
+ import { a as addSX } from "./style-plT9Ah7t.js";
9
+ const TextArea = (props) => {
10
+ const theme = useTheme();
11
+ const handleOnChange = useCallback(
12
+ (value) => {
13
+ var _a, _b;
14
+ if (props.isNoSpaces) {
15
+ const valueWithoutSpaces = value.replace(/\s+/g, "");
16
+ (_a = props.onChange) == null ? void 0 : _a.call(props, valueWithoutSpaces);
17
+ } else {
18
+ (_b = props.onChange) == null ? void 0 : _b.call(props, value);
19
+ }
20
+ },
21
+ [props]
22
+ );
23
+ const textareaRef = useRef(null);
24
+ const handleHeight = useCallback(
25
+ (contentHeight) => {
26
+ if (textareaRef.current) {
27
+ const minHeight = KEY_SIZE_DATA[props.size].height;
28
+ const maxHeight = Math.max(KEY_SIZE_DATA[props.size].height, contentHeight);
29
+ textareaRef.current.style.height = `${minHeight}px`;
30
+ const scrollHeight = textareaRef.current.scrollHeight;
31
+ let newHeight = contentHeight;
32
+ if (props.isAutoHeight && !props.height) {
33
+ newHeight = Math.max(minHeight, Math.min(scrollHeight, maxHeight));
34
+ } else {
35
+ newHeight = Math.max(minHeight, contentHeight);
36
+ }
37
+ textareaRef.current.style.height = `${newHeight}px`;
38
+ textareaRef.current.style.minHeight = `${minHeight}px`;
39
+ textareaRef.current.style.maxHeight = `${maxHeight}px`;
40
+ if (textareaRef.current.scrollHeight > maxHeight) {
41
+ textareaRef.current.style.overflowY = "auto";
42
+ } else {
43
+ textareaRef.current.style.overflowY = "hidden";
44
+ }
45
+ }
46
+ },
47
+ [props.height, props.isAutoHeight, props.size]
48
+ );
49
+ const checkHeight = useCallback(() => {
50
+ if (props.height) {
51
+ handleHeight(props.height);
52
+ } else {
53
+ if (props.maxRows) {
54
+ const lineHeight = theme.font.sizeDefault.default * theme.font.lineHeight;
55
+ const initialHeight = props.maxRows ? lineHeight * props.maxRows : lineHeight;
56
+ handleHeight(initialHeight + KEY_SIZE_DATA[props.size].padding * 2 - 8);
57
+ } else {
58
+ handleHeight(KEY_SIZE_DATA[props.size].height);
59
+ }
60
+ }
61
+ }, [handleHeight, props.height, props.maxRows, props.size, theme.font.lineHeight, theme.font.sizeDefault.default]);
62
+ useEffect(() => {
63
+ checkHeight();
64
+ }, [checkHeight, props.isAutoHeight, props.value]);
65
+ return /* @__PURE__ */ jsxRuntimeExports.jsxs(jsxRuntimeExports.Fragment, { children: [
66
+ /* @__PURE__ */ jsxRuntimeExports.jsx(
67
+ StyledTextAreaWrapper,
68
+ {
69
+ $isTextAreaEffect: props.isTextAreaEffect,
70
+ className: props.className,
71
+ $isDisabled: props.isDisabled,
72
+ $sx: props.sx,
73
+ children: /* @__PURE__ */ jsxRuntimeExports.jsx(
74
+ StyledTextArea,
75
+ {
76
+ ref: textareaRef,
77
+ $isResize: props.isResize,
78
+ $error: props.error,
79
+ $isTextAreaEffect: props.isTextAreaEffect,
80
+ $isLoading: props.isLoading,
81
+ $genre: props.genre,
82
+ $size: props.size,
83
+ $isBold: props.isBold,
84
+ $isDisabled: props.isDisabled,
85
+ disabled: props.isDisabled,
86
+ readOnly: props.isReadOnly,
87
+ required: props.isRequired,
88
+ defaultValue: props.defaultValue,
89
+ value: props.value ?? "",
90
+ placeholder: props.placeholder,
91
+ onChange: (event) => handleOnChange(event.target.value),
92
+ onBlur: props.onBlur,
93
+ onFocus: props.onFocus,
94
+ name: props.name,
95
+ id: props.id
96
+ }
97
+ )
98
+ }
99
+ ),
100
+ (props == null ? void 0 : props.error) ? /* @__PURE__ */ jsxRuntimeExports.jsx(ErrorMessage, { ...props.error, size: (props == null ? void 0 : props.error.size) ?? props.size }) : null
101
+ ] });
102
+ };
103
+ const StyledTextAreaWrapper = styled.div`
104
+ width: max-content;
105
+ position: relative;
106
+ display: flex;
107
+ align-items: center;
108
+ justify-content: flex-start;
109
+ flex-direction: column;
110
+ width: 100%;
111
+ ${addSX};
112
+ `;
113
+ const TextAreaPlaceholder = css`
114
+ &::placeholder,
115
+ &::-webkit-input-placeholder {
116
+ ${(props) => getFontSizeStyles(16, props.$isBold ? 500 : 400, props.theme.font.family, props.theme.font.lineHeight)};
117
+ color: ${(props) => props.theme.colors.input[props.$genre].color.placeholder};
118
+ opacity: 1;
119
+ }
120
+ &:-ms-input-placeholder {
121
+ ${(props) => getFontSizeStyles(16, props.$isBold ? 500 : 400, props.theme.font.family, props.theme.font.lineHeight)};
122
+ color: ${(props) => props.theme.colors.input[props.$genre].color.placeholder};
123
+ opacity: 1;
124
+ }
125
+ `;
126
+ const TextAreaGenre = css`
127
+ ${(props) => css`
128
+ background: ${props.theme.colors.input[props.$genre].background.rest};
129
+ border-color: ${props.theme.colors.input[props.$genre].border.rest};
130
+ color: ${props.theme.colors.input[props.$genre].color.rest};
131
+
132
+ &:active {
133
+ background: ${props.theme.colors.input[props.$genre].background.rest};
134
+ border-color: ${props.theme.colors.input[props.$genre].border.rest};
135
+ color: ${props.theme.colors.input[props.$genre].color.rest};
136
+ }
137
+ &:hover {
138
+ background: ${props.theme.colors.input[props.$genre].background.hover};
139
+ border-color: ${props.theme.colors.input[props.$genre].border.hover};
140
+ color: ${props.theme.colors.input[props.$genre].color.hover};
141
+ }
142
+ &:focus-visible {
143
+ border-color: ${props.theme.colors.input[props.$genre].border.rest};
144
+ background: ${props.theme.colors.input[props.$genre].background.rest};
145
+ color: ${props.theme.colors.input[props.$genre].color.rest};
146
+ }
147
+ `};
148
+ `;
149
+ const TextAreaSize = css`
150
+ ${(props) => TextAreaSizeConstructor(KEY_SIZE_DATA[props.$size])};
151
+ `;
152
+ const TextAreaSizeConstructor = (props) => css`
153
+ padding: ${props.padding - 4}px ${props.padding}px ${props.padding - 6}px ${props.padding}px;
154
+ border-radius: ${props.radius}px;
155
+ `;
156
+ const TextAreaHidden = css`
157
+ opacity: ${(props) => props.$isDisabled ? 0.5 : 1};
158
+ `;
159
+ const TextAreaIsTextAreaEffect = css`
160
+ ${(props) => props.$isTextAreaEffect && css`
161
+ box-shadow: ${props.theme.effects.input};
162
+ `}
163
+ `;
164
+ const TextAreaIsResize = css`
165
+ ${(props) => !props.$isResize && css`
166
+ resize: none;
167
+ `}
168
+ `;
169
+ const StyledTextAreaCSS = css`
170
+ overflow-x: hidden;
171
+ width: 100% !important;
172
+ border: 1px solid;
173
+ white-space: nowrap;
174
+ text-overflow: ellipsis;
175
+ text-wrap: auto;
176
+
177
+ ${(props) => getFontSizeStyles(16, props.$isBold ? 500 : 400, props.theme.font.family, props.theme.font.lineHeight)};
178
+
179
+ ${TextAreaIsResize};
180
+ ${TextAreaSize};
181
+ ${TextAreaGenre};
182
+ ${TextAreaPlaceholder};
183
+ ${TextAreaHidden};
184
+ ${TextAreaIsTextAreaEffect};
185
+ ${addTransitionWithoutSize};
186
+ ${addOutline};
187
+ ${addError};
188
+ `;
189
+ const StyledTextArea = styled.textarea`
190
+ ${StyledTextAreaCSS};
191
+ `;
192
+ export {
193
+ StyledTextAreaWrapper as S,
194
+ TextArea as T,
195
+ TextAreaPlaceholder as a,
196
+ TextAreaSize as b,
197
+ TextAreaSizeConstructor as c,
198
+ TextAreaIsTextAreaEffect as d,
199
+ StyledTextAreaCSS as e,
200
+ StyledTextArea as f
201
+ };
202
+ //# sourceMappingURL=component.styles-DqsBDAEo.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"component.styles-DqsBDAEo.js","sources":["../src/components/textarea/component.tsx","../src/components/textarea/component.styles.ts"],"sourcesContent":["import { useCallback, useEffect, useRef } from 'react'\nimport { useTheme } from 'styled-components'\n\nimport { ErrorMessage } from '@local/styles/error'\nimport { KEY_SIZE_DATA } from '@local/theme/theme'\n\nimport { StyledTextArea, StyledTextAreaWrapper, TextAreaProps } from '.'\n\nexport const TextArea = (props: TextAreaProps) => {\n const theme = useTheme()\n const handleOnChange = useCallback(\n (value: string) => {\n if (props.isNoSpaces) {\n const valueWithoutSpaces = value.replace(/\\s+/g, '')\n props.onChange?.(valueWithoutSpaces)\n } else {\n props.onChange?.(value)\n }\n },\n [props]\n )\n\n const textareaRef = useRef<HTMLTextAreaElement>(null)\n\n const handleHeight = useCallback(\n (contentHeight: number) => {\n if (textareaRef.current) {\n const minHeight = KEY_SIZE_DATA[props.size].height\n const maxHeight = Math.max(KEY_SIZE_DATA[props.size].height, contentHeight)\n\n textareaRef.current.style.height = `${minHeight}px`\n const scrollHeight = textareaRef.current.scrollHeight\n\n let newHeight = contentHeight\n if (props.isAutoHeight && !props.height) {\n newHeight = Math.max(minHeight, Math.min(scrollHeight, maxHeight))\n } else {\n newHeight = Math.max(minHeight, contentHeight)\n }\n\n textareaRef.current.style.height = `${newHeight}px`\n textareaRef.current.style.minHeight = `${minHeight}px`\n textareaRef.current.style.maxHeight = `${maxHeight}px`\n\n if (textareaRef.current.scrollHeight > maxHeight) {\n textareaRef.current.style.overflowY = 'auto'\n } else {\n textareaRef.current.style.overflowY = 'hidden'\n }\n }\n },\n [props.height, props.isAutoHeight, props.size]\n )\n const checkHeight = useCallback(() => {\n if (props.height) {\n handleHeight(props.height)\n } else {\n if (props.maxRows) {\n const lineHeight = theme.font.sizeDefault.default * theme.font.lineHeight\n const initialHeight = props.maxRows ? lineHeight * props.maxRows : lineHeight\n handleHeight(initialHeight + KEY_SIZE_DATA[props.size].padding * 2 - 8)\n } else {\n handleHeight(KEY_SIZE_DATA[props.size].height)\n }\n }\n }, [handleHeight, props.height, props.maxRows, props.size, theme.font.lineHeight, theme.font.sizeDefault.default])\n\n useEffect(() => {\n checkHeight()\n }, [checkHeight, props.isAutoHeight, props.value])\n\n return (\n <>\n <StyledTextAreaWrapper\n $isTextAreaEffect={props.isTextAreaEffect}\n className={props.className}\n $isDisabled={props.isDisabled}\n $sx={props.sx}\n >\n <StyledTextArea\n ref={textareaRef}\n $isResize={props.isResize}\n $error={props.error}\n $isTextAreaEffect={props.isTextAreaEffect}\n $isLoading={props.isLoading}\n $genre={props.genre}\n $size={props.size}\n $isBold={props.isBold}\n $isDisabled={props.isDisabled}\n disabled={props.isDisabled}\n readOnly={props.isReadOnly}\n required={props.isRequired}\n defaultValue={props.defaultValue}\n value={props.value ?? ''}\n placeholder={props.placeholder}\n onChange={event => handleOnChange(event.target.value)}\n onBlur={props.onBlur}\n onFocus={props.onFocus}\n name={props.name}\n id={props.id}\n />\n {/* {props.isLoading && (\n <TextAreaStyledLoading\n $genre={props.genre}\n $size={props.size}\n size={props.size}\n color={theme.colors.input[props.genre].color.rest}\n />\n )} */}\n </StyledTextAreaWrapper>\n {props?.error ? <ErrorMessage {...props.error} size={props?.error.size ?? props.size} /> : null}\n </>\n )\n}\n","import styled, { css } from 'styled-components'\n\nimport { getFontSizeStyles } from '@local/components/typography'\nimport { addOutline, addTransitionWithoutSize } from '@local/styles/add'\nimport { addError } from '@local/styles/error'\nimport { addSX } from '@local/styles/sx'\nimport { IThemeSizePropertyDefault, KEY_SIZE_DATA } from '@local/theme'\n\nimport { StyledTextAreaProps, StyledTextAreaWrapperProps } from '.'\n\n/****************************************** Wrapper *************************************************/\nexport const StyledTextAreaWrapper = styled.div<StyledTextAreaWrapperProps>`\n width: max-content;\n position: relative;\n display: flex;\n align-items: center;\n justify-content: flex-start;\n flex-direction: column;\n width: 100%;\n ${addSX};\n`\n\n/****************************************** Placeholder *************************************************/\nexport const TextAreaPlaceholder = css<StyledTextAreaProps>`\n &::placeholder,\n &::-webkit-input-placeholder {\n ${props => getFontSizeStyles(16, props.$isBold ? 500 : 400, props.theme.font.family, props.theme.font.lineHeight)};\n color: ${props => props.theme.colors.input[props.$genre].color.placeholder};\n opacity: 1;\n }\n &:-ms-input-placeholder {\n ${props => getFontSizeStyles(16, props.$isBold ? 500 : 400, props.theme.font.family, props.theme.font.lineHeight)};\n color: ${props => props.theme.colors.input[props.$genre].color.placeholder};\n opacity: 1;\n }\n`\n\n/****************************************** Genre *************************************************/\nconst TextAreaGenre = css<StyledTextAreaProps>`\n ${props => css`\n background: ${props.theme.colors.input[props.$genre].background.rest};\n border-color: ${props.theme.colors.input[props.$genre].border.rest};\n color: ${props.theme.colors.input[props.$genre].color.rest};\n\n &:active {\n background: ${props.theme.colors.input[props.$genre].background.rest};\n border-color: ${props.theme.colors.input[props.$genre].border.rest};\n color: ${props.theme.colors.input[props.$genre].color.rest};\n }\n &:hover {\n background: ${props.theme.colors.input[props.$genre].background.hover};\n border-color: ${props.theme.colors.input[props.$genre].border.hover};\n color: ${props.theme.colors.input[props.$genre].color.hover};\n }\n &:focus-visible {\n border-color: ${props.theme.colors.input[props.$genre].border.rest};\n background: ${props.theme.colors.input[props.$genre].background.rest};\n color: ${props.theme.colors.input[props.$genre].color.rest};\n }\n `};\n`\n\n/****************************************** Size *************************************************/\nexport const TextAreaSize = css<StyledTextAreaProps>`\n ${props => TextAreaSizeConstructor(KEY_SIZE_DATA[props.$size])};\n`\nexport const TextAreaSizeConstructor = (props: IThemeSizePropertyDefault) => css`\n padding: ${props.padding - 4}px ${props.padding}px ${props.padding - 6}px ${props.padding}px;\n border-radius: ${props.radius}px;\n`\n\n/****************************************** Hidden *************************************************/\nconst TextAreaHidden = css<StyledTextAreaProps>`\n opacity: ${props => (props.$isDisabled ? 0.5 : 1)};\n`\n/****************************************** is PlaystationEffect *************************************************/\nexport const TextAreaIsTextAreaEffect = css<Pick<StyledTextAreaProps, '$isTextAreaEffect'>>`\n ${props =>\n props.$isTextAreaEffect &&\n css`\n box-shadow: ${props.theme.effects.input};\n `}\n`\n\n/****************************************** is Resize *************************************************/\nconst TextAreaIsResize = css<Pick<StyledTextAreaProps, '$isResize'>>`\n ${props =>\n !props.$isResize &&\n css`\n resize: none;\n `}\n`\n/****************************************** Default *************************************************/\nexport const StyledTextAreaCSS = css<StyledTextAreaProps>`\n overflow-x: hidden;\n width: 100% !important;\n border: 1px solid;\n white-space: nowrap;\n text-overflow: ellipsis;\n text-wrap: auto;\n\n ${props => getFontSizeStyles(16, props.$isBold ? 500 : 400, props.theme.font.family, props.theme.font.lineHeight)};\n\n ${TextAreaIsResize};\n ${TextAreaSize};\n ${TextAreaGenre};\n ${TextAreaPlaceholder};\n ${TextAreaHidden};\n ${TextAreaIsTextAreaEffect};\n ${addTransitionWithoutSize};\n ${addOutline};\n ${addError};\n`\n\nexport const StyledTextArea = styled.textarea<StyledTextAreaProps>`\n ${StyledTextAreaCSS};\n`\n\n// /****************************************** Loading *************************************************/\n// const TextAreaStyledLoadingSize = css<StyledTextAreaProps>`\n// ${props => TextAreaStyledLoadingConstructor(KEY_SIZE_DATA[props.$size])};\n// `\n// const TextAreaStyledLoadingConstructor = (props: IThemeSizePropertyDefault) => css`\n// padding: ${props.padding - 6}px ${props.padding}px ${props.padding - 4}px ${props.padding}px;\n// `\n\n// export const TextAreaStyledLoading = styled(Loading)<StyledTextAreaProps>`\n// ${TextAreaStyledLoadingSize};\n// position: absolute;\n// display: flex;\n// align-items: center;\n// right: 0px;\n// box-sizing: content-box;\n// backdrop-filter: blur(2px);\n// mask-image: radial-gradient(circle, rgba(0, 0, 0, 1) 15%, rgba(0, 0, 0, 0) 100%);\n// `\n"],"names":["jsxs","Fragment","jsx"],"mappings":"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"}