@traefik-labs/faency 12.3.9 → 13.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 (501) hide show
  1. package/dist/_virtual/_rolldown/runtime.cjs +2 -3
  2. package/dist/_virtual/_rolldown/runtime.js +1 -2
  3. package/dist/colors/deepBlue.cjs +1 -2
  4. package/dist/colors/deepBlue.js +1 -2
  5. package/dist/colors/elevation.cjs +1 -2
  6. package/dist/colors/elevation.js +1 -2
  7. package/dist/colors/grayBlue.cjs +1 -2
  8. package/dist/colors/grayBlue.js +1 -2
  9. package/dist/colors/index.cjs +1 -2
  10. package/dist/colors/index.cjs.map +1 -1
  11. package/dist/colors/index.js +1 -2
  12. package/dist/colors/index.js.map +1 -1
  13. package/dist/colors/neon.cjs +1 -2
  14. package/dist/colors/neon.js +1 -2
  15. package/dist/colors/orange.cjs +1 -2
  16. package/dist/colors/orange.js +1 -2
  17. package/dist/colors/red.cjs +1 -2
  18. package/dist/colors/red.js +1 -2
  19. package/dist/components/AccessibleIcon/AccessibleIcon.cjs +1 -2
  20. package/dist/components/AccessibleIcon/AccessibleIcon.cjs.map +1 -1
  21. package/dist/components/AccessibleIcon/AccessibleIcon.js +1 -2
  22. package/dist/components/AccessibleIcon/AccessibleIcon.vanilla.cjs +1 -2
  23. package/dist/components/AccessibleIcon/AccessibleIcon.vanilla.cjs.map +1 -1
  24. package/dist/components/AccessibleIcon/AccessibleIcon.vanilla.js +1 -2
  25. package/dist/components/Accordion/Accordion.cjs +1 -2
  26. package/dist/components/Accordion/Accordion.cjs.map +1 -1
  27. package/dist/components/Accordion/Accordion.js +1 -2
  28. package/dist/components/Accordion/Accordion.js.map +1 -1
  29. package/dist/components/Accordion/Accordion.themes.cjs +1 -2
  30. package/dist/components/Accordion/Accordion.themes.cjs.map +1 -1
  31. package/dist/components/Accordion/Accordion.themes.js +1 -2
  32. package/dist/components/Accordion/Accordion.themes.js.map +1 -1
  33. package/dist/components/Alert/Alert.cjs +1 -2
  34. package/dist/components/Alert/Alert.cjs.map +1 -1
  35. package/dist/components/Alert/Alert.js +1 -2
  36. package/dist/components/AriaTable/AriaTable.cjs +1 -2
  37. package/dist/components/AriaTable/AriaTable.cjs.map +1 -1
  38. package/dist/components/AriaTable/AriaTable.js +1 -2
  39. package/dist/components/AriaTable/AriaTable.js.map +1 -1
  40. package/dist/components/Avatar/Avatar.cjs +1 -2
  41. package/dist/components/Avatar/Avatar.cjs.map +1 -1
  42. package/dist/components/Avatar/Avatar.js +1 -2
  43. package/dist/components/Avatar/Avatar.js.map +1 -1
  44. package/dist/components/Avatar/Avatar.vanilla.cjs +8 -8
  45. package/dist/components/Avatar/Avatar.vanilla.cjs.map +1 -1
  46. package/dist/components/Avatar/Avatar.vanilla.css.cjs +1 -2
  47. package/dist/components/Avatar/Avatar.vanilla.css.cjs.map +1 -1
  48. package/dist/components/Avatar/Avatar.vanilla.css.js +1 -2
  49. package/dist/components/Avatar/Avatar.vanilla.css.js.map +1 -1
  50. package/dist/components/Avatar/Avatar.vanilla.js +8 -8
  51. package/dist/components/Avatar/Avatar.vanilla.js.map +1 -1
  52. package/dist/components/Badge/Badge.cjs +4 -4
  53. package/dist/components/Badge/Badge.cjs.map +1 -1
  54. package/dist/components/Badge/Badge.js +4 -4
  55. package/dist/components/Badge/Badge.js.map +1 -1
  56. package/dist/components/Badge/Badge.theme.cjs +1 -2
  57. package/dist/components/Badge/Badge.theme.js +1 -2
  58. package/dist/components/Badge/Badge.themes.cjs +1 -2
  59. package/dist/components/Badge/Badge.themes.cjs.map +1 -1
  60. package/dist/components/Badge/Badge.themes.js +1 -2
  61. package/dist/components/Badge/Badge.themes.js.map +1 -1
  62. package/dist/components/Badge/Badge.vanilla.cjs +8 -8
  63. package/dist/components/Badge/Badge.vanilla.cjs.map +1 -1
  64. package/dist/components/Badge/Badge.vanilla.css.cjs +1 -2
  65. package/dist/components/Badge/Badge.vanilla.css.cjs.map +1 -1
  66. package/dist/components/Badge/Badge.vanilla.css.js +1 -2
  67. package/dist/components/Badge/Badge.vanilla.css.js.map +1 -1
  68. package/dist/components/Badge/Badge.vanilla.js +8 -8
  69. package/dist/components/Badge/Badge.vanilla.js.map +1 -1
  70. package/dist/components/Blockquote/Blockquote.cjs +1 -2
  71. package/dist/components/Blockquote/Blockquote.cjs.map +1 -1
  72. package/dist/components/Blockquote/Blockquote.js +1 -2
  73. package/dist/components/Blockquote/Blockquote.vanilla.cjs +10 -10
  74. package/dist/components/Blockquote/Blockquote.vanilla.cjs.map +1 -1
  75. package/dist/components/Blockquote/Blockquote.vanilla.css.cjs +1 -2
  76. package/dist/components/Blockquote/Blockquote.vanilla.css.cjs.map +1 -1
  77. package/dist/components/Blockquote/Blockquote.vanilla.css.js +1 -2
  78. package/dist/components/Blockquote/Blockquote.vanilla.css.js.map +1 -1
  79. package/dist/components/Blockquote/Blockquote.vanilla.js +10 -10
  80. package/dist/components/Blockquote/Blockquote.vanilla.js.map +1 -1
  81. package/dist/components/Box/Box.cjs +1 -2
  82. package/dist/components/Box/Box.cjs.map +1 -1
  83. package/dist/components/Box/Box.js +1 -2
  84. package/dist/components/Box/Box.vanilla.cjs +1 -2
  85. package/dist/components/Box/Box.vanilla.cjs.map +1 -1
  86. package/dist/components/Box/Box.vanilla.css.cjs +1 -2
  87. package/dist/components/Box/Box.vanilla.css.js +1 -2
  88. package/dist/components/Box/Box.vanilla.js +1 -2
  89. package/dist/components/Bubble/Bubble.cjs +1 -2
  90. package/dist/components/Bubble/Bubble.cjs.map +1 -1
  91. package/dist/components/Bubble/Bubble.js +18 -17
  92. package/dist/components/Bubble/Bubble.js.map +1 -1
  93. package/dist/components/Bubble/Bubble.vanilla.cjs +7 -7
  94. package/dist/components/Bubble/Bubble.vanilla.cjs.map +1 -1
  95. package/dist/components/Bubble/Bubble.vanilla.css.cjs +1 -2
  96. package/dist/components/Bubble/Bubble.vanilla.css.cjs.map +1 -1
  97. package/dist/components/Bubble/Bubble.vanilla.css.js +1 -2
  98. package/dist/components/Bubble/Bubble.vanilla.css.js.map +1 -1
  99. package/dist/components/Bubble/Bubble.vanilla.js +7 -7
  100. package/dist/components/Bubble/Bubble.vanilla.js.map +1 -1
  101. package/dist/components/Button/Button.cjs +3 -3
  102. package/dist/components/Button/Button.cjs.map +1 -1
  103. package/dist/components/Button/Button.js +3 -3
  104. package/dist/components/Button/Button.js.map +1 -1
  105. package/dist/components/Button/Button.themes.cjs +1 -2
  106. package/dist/components/Button/Button.themes.cjs.map +1 -1
  107. package/dist/components/Button/Button.themes.js +1 -2
  108. package/dist/components/Button/Button.themes.js.map +1 -1
  109. package/dist/components/Button/Button.vanilla.cjs +9 -9
  110. package/dist/components/Button/Button.vanilla.cjs.map +1 -1
  111. package/dist/components/Button/Button.vanilla.css.cjs +1 -2
  112. package/dist/components/Button/Button.vanilla.css.cjs.map +1 -1
  113. package/dist/components/Button/Button.vanilla.css.js +1 -2
  114. package/dist/components/Button/Button.vanilla.css.js.map +1 -1
  115. package/dist/components/Button/Button.vanilla.js +9 -9
  116. package/dist/components/Button/Button.vanilla.js.map +1 -1
  117. package/dist/components/ButtonSwitch/ButtonSwitch.cjs +1 -2
  118. package/dist/components/ButtonSwitch/ButtonSwitch.cjs.map +1 -1
  119. package/dist/components/ButtonSwitch/ButtonSwitch.js +1 -2
  120. package/dist/components/ButtonSwitch/ButtonSwitch.themes.cjs +1 -2
  121. package/dist/components/ButtonSwitch/ButtonSwitch.themes.cjs.map +1 -1
  122. package/dist/components/ButtonSwitch/ButtonSwitch.themes.js +1 -2
  123. package/dist/components/ButtonSwitch/ButtonSwitch.themes.js.map +1 -1
  124. package/dist/components/ButtonSwitch/ButtonSwitch.vanilla.cjs +1 -2
  125. package/dist/components/ButtonSwitch/ButtonSwitch.vanilla.cjs.map +1 -1
  126. package/dist/components/ButtonSwitch/ButtonSwitch.vanilla.css.cjs +1 -2
  127. package/dist/components/ButtonSwitch/ButtonSwitch.vanilla.css.js +1 -2
  128. package/dist/components/ButtonSwitch/ButtonSwitch.vanilla.js +1 -2
  129. package/dist/components/Card/Card.cjs +1 -2
  130. package/dist/components/Card/Card.cjs.map +1 -1
  131. package/dist/components/Card/Card.js +1 -2
  132. package/dist/components/Card/Card.theme.cjs +1 -2
  133. package/dist/components/Card/Card.theme.js +1 -2
  134. package/dist/components/Card/Card.themes.cjs +1 -2
  135. package/dist/components/Card/Card.themes.cjs.map +1 -1
  136. package/dist/components/Card/Card.themes.js +1 -2
  137. package/dist/components/Card/Card.themes.js.map +1 -1
  138. package/dist/components/Card/Card.vanilla.cjs +1 -2
  139. package/dist/components/Card/Card.vanilla.cjs.map +1 -1
  140. package/dist/components/Card/Card.vanilla.css.cjs +1 -2
  141. package/dist/components/Card/Card.vanilla.css.cjs.map +1 -1
  142. package/dist/components/Card/Card.vanilla.css.js +1 -2
  143. package/dist/components/Card/Card.vanilla.css.js.map +1 -1
  144. package/dist/components/Card/Card.vanilla.js +1 -2
  145. package/dist/components/Checkbox/Checkbox.cjs +1 -2
  146. package/dist/components/Checkbox/Checkbox.cjs.map +1 -1
  147. package/dist/components/Checkbox/Checkbox.js +1 -2
  148. package/dist/components/Checkbox/Checkbox.js.map +1 -1
  149. package/dist/components/Checkbox/Checkbox.themes.cjs +1 -2
  150. package/dist/components/Checkbox/Checkbox.themes.cjs.map +1 -1
  151. package/dist/components/Checkbox/Checkbox.themes.js +1 -2
  152. package/dist/components/Checkbox/Checkbox.themes.js.map +1 -1
  153. package/dist/components/CodeBlock/CodeBlock.cjs +1 -2
  154. package/dist/components/CodeBlock/CodeBlock.cjs.map +1 -1
  155. package/dist/components/CodeBlock/CodeBlock.js +1 -2
  156. package/dist/components/CodeBlock/CodeBlock.js.map +1 -1
  157. package/dist/components/CodeBlock/CodeBlock.themes.cjs +1 -2
  158. package/dist/components/CodeBlock/CodeBlock.themes.cjs.map +1 -1
  159. package/dist/components/CodeBlock/CodeBlock.themes.js +1 -2
  160. package/dist/components/CodeBlock/CodeBlock.themes.js.map +1 -1
  161. package/dist/components/CodeBlock/CodeBlock.vanilla.cjs +1 -2
  162. package/dist/components/CodeBlock/CodeBlock.vanilla.cjs.map +1 -1
  163. package/dist/components/CodeBlock/CodeBlock.vanilla.css.cjs +1 -2
  164. package/dist/components/CodeBlock/CodeBlock.vanilla.css.js +1 -2
  165. package/dist/components/CodeBlock/CodeBlock.vanilla.js +1 -2
  166. package/dist/components/CodeBlock/CodeBlock.vanilla.js.map +1 -1
  167. package/dist/components/CodeBlock/prism-extend.cjs +7 -3
  168. package/dist/components/CodeBlock/prism-extend.cjs.map +1 -1
  169. package/dist/components/CodeBlock/prism-extend.js +1 -2
  170. package/dist/components/Container/Container.cjs +1 -2
  171. package/dist/components/Container/Container.cjs.map +1 -1
  172. package/dist/components/Container/Container.js +1 -2
  173. package/dist/components/Container/Container.vanilla.cjs +6 -6
  174. package/dist/components/Container/Container.vanilla.cjs.map +1 -1
  175. package/dist/components/Container/Container.vanilla.css.cjs +1 -2
  176. package/dist/components/Container/Container.vanilla.css.cjs.map +1 -1
  177. package/dist/components/Container/Container.vanilla.css.js +1 -2
  178. package/dist/components/Container/Container.vanilla.css.js.map +1 -1
  179. package/dist/components/Container/Container.vanilla.js +6 -6
  180. package/dist/components/Container/Container.vanilla.js.map +1 -1
  181. package/dist/components/DateTimePicker/DateTimePicker.cjs +1 -2
  182. package/dist/components/DateTimePicker/DateTimePicker.cjs.map +1 -1
  183. package/dist/components/DateTimePicker/DateTimePicker.js +1 -2
  184. package/dist/components/DateTimePicker/DateTimePicker.js.map +1 -1
  185. package/dist/components/DateTimePickerInput/DateTimePickerInput.cjs +17 -14
  186. package/dist/components/DateTimePickerInput/DateTimePickerInput.cjs.map +1 -1
  187. package/dist/components/DateTimePickerInput/DateTimePickerInput.js +17 -14
  188. package/dist/components/DateTimePickerInput/DateTimePickerInput.js.map +1 -1
  189. package/dist/components/Dialog/Dialog.cjs +1 -2
  190. package/dist/components/Dialog/Dialog.cjs.map +1 -1
  191. package/dist/components/Dialog/Dialog.js +1 -2
  192. package/dist/components/Dialog/Dialog.js.map +1 -1
  193. package/dist/components/Dialog/Dialog.themes.cjs +1 -2
  194. package/dist/components/Dialog/Dialog.themes.cjs.map +1 -1
  195. package/dist/components/Dialog/Dialog.themes.js +1 -2
  196. package/dist/components/Dialog/Dialog.themes.js.map +1 -1
  197. package/dist/components/DropdownMenu/DropdownMenu.cjs +1 -2
  198. package/dist/components/DropdownMenu/DropdownMenu.cjs.map +1 -1
  199. package/dist/components/DropdownMenu/DropdownMenu.js +1 -2
  200. package/dist/components/DropdownMenu/DropdownMenu.js.map +1 -1
  201. package/dist/components/DropdownMenu/styles.cjs +1 -2
  202. package/dist/components/DropdownMenu/styles.cjs.map +1 -1
  203. package/dist/components/DropdownMenu/styles.js +1 -2
  204. package/dist/components/Elevation/Elevation.cjs +1 -2
  205. package/dist/components/Elevation/Elevation.cjs.map +1 -1
  206. package/dist/components/Elevation/Elevation.js +1 -2
  207. package/dist/components/Elevation/Elevation.vanilla.cjs +3 -3
  208. package/dist/components/Elevation/Elevation.vanilla.cjs.map +1 -1
  209. package/dist/components/Elevation/Elevation.vanilla.css.cjs +1 -2
  210. package/dist/components/Elevation/Elevation.vanilla.css.cjs.map +1 -1
  211. package/dist/components/Elevation/Elevation.vanilla.css.js +1 -2
  212. package/dist/components/Elevation/Elevation.vanilla.css.js.map +1 -1
  213. package/dist/components/Elevation/Elevation.vanilla.js +3 -3
  214. package/dist/components/Elevation/Elevation.vanilla.js.map +1 -1
  215. package/dist/components/FaencyProvider.cjs +1 -2
  216. package/dist/components/FaencyProvider.cjs.map +1 -1
  217. package/dist/components/FaencyProvider.js +1 -2
  218. package/dist/components/FaencyProvider.js.map +1 -1
  219. package/dist/components/Flex/Flex.cjs +1 -2
  220. package/dist/components/Flex/Flex.cjs.map +1 -1
  221. package/dist/components/Flex/Flex.js +1 -2
  222. package/dist/components/Flex/Flex.vanilla.cjs +9 -9
  223. package/dist/components/Flex/Flex.vanilla.cjs.map +1 -1
  224. package/dist/components/Flex/Flex.vanilla.css.cjs +1 -2
  225. package/dist/components/Flex/Flex.vanilla.css.cjs.map +1 -1
  226. package/dist/components/Flex/Flex.vanilla.css.js +1 -2
  227. package/dist/components/Flex/Flex.vanilla.css.js.map +1 -1
  228. package/dist/components/Flex/Flex.vanilla.js +9 -9
  229. package/dist/components/Flex/Flex.vanilla.js.map +1 -1
  230. package/dist/components/Grid/Grid.cjs +1 -2
  231. package/dist/components/Grid/Grid.cjs.map +1 -1
  232. package/dist/components/Grid/Grid.js +1 -2
  233. package/dist/components/Grid/Grid.vanilla.cjs +10 -10
  234. package/dist/components/Grid/Grid.vanilla.cjs.map +1 -1
  235. package/dist/components/Grid/Grid.vanilla.css.cjs +1 -2
  236. package/dist/components/Grid/Grid.vanilla.css.cjs.map +1 -1
  237. package/dist/components/Grid/Grid.vanilla.css.js +1 -2
  238. package/dist/components/Grid/Grid.vanilla.css.js.map +1 -1
  239. package/dist/components/Grid/Grid.vanilla.js +10 -10
  240. package/dist/components/Grid/Grid.vanilla.js.map +1 -1
  241. package/dist/components/Heading/Heading.cjs +1 -2
  242. package/dist/components/Heading/Heading.cjs.map +1 -1
  243. package/dist/components/Heading/Heading.js +1 -2
  244. package/dist/components/Heading/Heading.themes.cjs +1 -2
  245. package/dist/components/Heading/Heading.themes.cjs.map +1 -1
  246. package/dist/components/Heading/Heading.themes.js +1 -2
  247. package/dist/components/Heading/Heading.themes.js.map +1 -1
  248. package/dist/components/IconButton/IconButton.cjs +1 -2
  249. package/dist/components/IconButton/IconButton.cjs.map +1 -1
  250. package/dist/components/IconButton/IconButton.js +1 -2
  251. package/dist/components/IconButton/IconButton.themes.cjs +1 -2
  252. package/dist/components/IconButton/IconButton.themes.cjs.map +1 -1
  253. package/dist/components/IconButton/IconButton.themes.js +1 -2
  254. package/dist/components/IconButton/IconButton.themes.js.map +1 -1
  255. package/dist/components/IconButton/IconButton.vanilla.cjs +6 -6
  256. package/dist/components/IconButton/IconButton.vanilla.cjs.map +1 -1
  257. package/dist/components/IconButton/IconButton.vanilla.css.cjs +1 -2
  258. package/dist/components/IconButton/IconButton.vanilla.css.cjs.map +1 -1
  259. package/dist/components/IconButton/IconButton.vanilla.css.js +1 -2
  260. package/dist/components/IconButton/IconButton.vanilla.css.js.map +1 -1
  261. package/dist/components/IconButton/IconButton.vanilla.js +6 -6
  262. package/dist/components/IconButton/IconButton.vanilla.js.map +1 -1
  263. package/dist/components/Image/Image.cjs +1 -2
  264. package/dist/components/Image/Image.cjs.map +1 -1
  265. package/dist/components/Image/Image.js +1 -2
  266. package/dist/components/Image/Image.vanilla.cjs +1 -2
  267. package/dist/components/Image/Image.vanilla.cjs.map +1 -1
  268. package/dist/components/Image/Image.vanilla.css.cjs +1 -2
  269. package/dist/components/Image/Image.vanilla.css.js +1 -2
  270. package/dist/components/Image/Image.vanilla.js +1 -2
  271. package/dist/components/Input/Input.cjs +1 -2
  272. package/dist/components/Input/Input.cjs.map +1 -1
  273. package/dist/components/Input/Input.js +1 -2
  274. package/dist/components/Input/Input.js.map +1 -1
  275. package/dist/components/Input/Input.theme.cjs +1 -2
  276. package/dist/components/Input/Input.theme.cjs.map +1 -1
  277. package/dist/components/Input/Input.theme.js +1 -2
  278. package/dist/components/Input/Input.themes.cjs +1 -2
  279. package/dist/components/Input/Input.themes.cjs.map +1 -1
  280. package/dist/components/Input/Input.themes.js +1 -2
  281. package/dist/components/Input/Input.themes.js.map +1 -1
  282. package/dist/components/Input/Input.vanilla.cjs +1 -2
  283. package/dist/components/Input/Input.vanilla.cjs.map +1 -1
  284. package/dist/components/Input/Input.vanilla.css.cjs +1 -2
  285. package/dist/components/Input/Input.vanilla.css.cjs.map +1 -1
  286. package/dist/components/Input/Input.vanilla.css.js +1 -2
  287. package/dist/components/Input/Input.vanilla.css.js.map +1 -1
  288. package/dist/components/Input/Input.vanilla.js +1 -2
  289. package/dist/components/Input/Input.vanilla.js.map +1 -1
  290. package/dist/components/Label/Label.cjs +1 -2
  291. package/dist/components/Label/Label.cjs.map +1 -1
  292. package/dist/components/Label/Label.js +1 -2
  293. package/dist/components/Label/Label.vanilla.cjs +10 -10
  294. package/dist/components/Label/Label.vanilla.cjs.map +1 -1
  295. package/dist/components/Label/Label.vanilla.css.cjs +1 -2
  296. package/dist/components/Label/Label.vanilla.css.cjs.map +1 -1
  297. package/dist/components/Label/Label.vanilla.css.js +1 -2
  298. package/dist/components/Label/Label.vanilla.css.js.map +1 -1
  299. package/dist/components/Label/Label.vanilla.js +10 -10
  300. package/dist/components/Label/Label.vanilla.js.map +1 -1
  301. package/dist/components/Link/Link.cjs +0 -1
  302. package/dist/components/Link/Link.cjs.map +1 -1
  303. package/dist/components/Link/Link.js +0 -1
  304. package/dist/components/Link/Link.themes.cjs +1 -2
  305. package/dist/components/Link/Link.themes.cjs.map +1 -1
  306. package/dist/components/Link/Link.themes.js +1 -2
  307. package/dist/components/Link/Link.themes.js.map +1 -1
  308. package/dist/components/List/List.cjs +1 -2
  309. package/dist/components/List/List.cjs.map +1 -1
  310. package/dist/components/List/List.js +1 -2
  311. package/dist/components/List/List.js.map +1 -1
  312. package/dist/components/List/List.themes.cjs +1 -2
  313. package/dist/components/List/List.themes.cjs.map +1 -1
  314. package/dist/components/List/List.themes.js +1 -2
  315. package/dist/components/List/List.themes.js.map +1 -1
  316. package/dist/components/Navigation/Navigation.cjs +1 -2
  317. package/dist/components/Navigation/Navigation.cjs.map +1 -1
  318. package/dist/components/Navigation/Navigation.js +1 -2
  319. package/dist/components/Navigation/Navigation.js.map +1 -1
  320. package/dist/components/Navigation/Navigation.themes.cjs +1 -2
  321. package/dist/components/Navigation/Navigation.themes.cjs.map +1 -1
  322. package/dist/components/Navigation/Navigation.themes.js +1 -2
  323. package/dist/components/Navigation/Navigation.themes.js.map +1 -1
  324. package/dist/components/NavigationMenu/NavigationMenu.cjs +1 -2
  325. package/dist/components/NavigationMenu/NavigationMenu.cjs.map +1 -1
  326. package/dist/components/NavigationMenu/NavigationMenu.js +1 -2
  327. package/dist/components/NavigationTree/NavigationTreeContainer.cjs +17 -12
  328. package/dist/components/NavigationTree/NavigationTreeContainer.cjs.map +1 -1
  329. package/dist/components/NavigationTree/NavigationTreeContainer.js +18 -13
  330. package/dist/components/NavigationTree/NavigationTreeContainer.js.map +1 -1
  331. package/dist/components/NavigationTree/NavigationTreeContext.cjs +16 -0
  332. package/dist/components/NavigationTree/NavigationTreeContext.cjs.map +1 -0
  333. package/dist/components/NavigationTree/NavigationTreeContext.js +13 -0
  334. package/dist/components/NavigationTree/NavigationTreeContext.js.map +1 -0
  335. package/dist/components/NavigationTree/NavigationTreeDrawer.cjs +14 -9
  336. package/dist/components/NavigationTree/NavigationTreeDrawer.cjs.map +1 -1
  337. package/dist/components/NavigationTree/NavigationTreeDrawer.js +15 -10
  338. package/dist/components/NavigationTree/NavigationTreeDrawer.js.map +1 -1
  339. package/dist/components/NavigationTree/NavigationTreeItem.cjs +17 -12
  340. package/dist/components/NavigationTree/NavigationTreeItem.cjs.map +1 -1
  341. package/dist/components/NavigationTree/NavigationTreeItem.js +17 -12
  342. package/dist/components/NavigationTree/NavigationTreeItem.js.map +1 -1
  343. package/dist/components/Overlay.cjs +1 -2
  344. package/dist/components/Overlay.cjs.map +1 -1
  345. package/dist/components/Overlay.js +1 -2
  346. package/dist/components/Panel/Panel.cjs +1 -2
  347. package/dist/components/Panel/Panel.cjs.map +1 -1
  348. package/dist/components/Panel/Panel.js +1 -2
  349. package/dist/components/Panel/Panel.theme.cjs +1 -2
  350. package/dist/components/Panel/Panel.theme.js +1 -2
  351. package/dist/components/Panel/Panel.vanilla.cjs +1 -2
  352. package/dist/components/Panel/Panel.vanilla.cjs.map +1 -1
  353. package/dist/components/Panel/Panel.vanilla.css.cjs +1 -2
  354. package/dist/components/Panel/Panel.vanilla.css.js +1 -2
  355. package/dist/components/Panel/Panel.vanilla.js +1 -2
  356. package/dist/components/Paragraph/Paragraph.cjs +1 -2
  357. package/dist/components/Paragraph/Paragraph.cjs.map +1 -1
  358. package/dist/components/Paragraph/Paragraph.js +1 -2
  359. package/dist/components/Paragraph/Paragraph.vanilla.cjs +3 -3
  360. package/dist/components/Paragraph/Paragraph.vanilla.cjs.map +1 -1
  361. package/dist/components/Paragraph/Paragraph.vanilla.css.cjs +1 -2
  362. package/dist/components/Paragraph/Paragraph.vanilla.css.cjs.map +1 -1
  363. package/dist/components/Paragraph/Paragraph.vanilla.css.js +1 -2
  364. package/dist/components/Paragraph/Paragraph.vanilla.css.js.map +1 -1
  365. package/dist/components/Paragraph/Paragraph.vanilla.js +3 -3
  366. package/dist/components/Paragraph/Paragraph.vanilla.js.map +1 -1
  367. package/dist/components/Popover/Popover.cjs +1 -2
  368. package/dist/components/Popover/Popover.cjs.map +1 -1
  369. package/dist/components/Popover/Popover.js +1 -2
  370. package/dist/components/Popover/Popover.js.map +1 -1
  371. package/dist/components/Radio/Radio.cjs +1 -2
  372. package/dist/components/Radio/Radio.cjs.map +1 -1
  373. package/dist/components/Radio/Radio.js +1 -2
  374. package/dist/components/Radio/Radio.js.map +1 -1
  375. package/dist/components/Radio/Radio.themes.cjs +1 -2
  376. package/dist/components/Radio/Radio.themes.cjs.map +1 -1
  377. package/dist/components/Radio/Radio.themes.js +1 -2
  378. package/dist/components/Radio/Radio.themes.js.map +1 -1
  379. package/dist/components/RadioAccordion/RadioAccordion.cjs +1 -2
  380. package/dist/components/RadioAccordion/RadioAccordion.cjs.map +1 -1
  381. package/dist/components/RadioAccordion/RadioAccordion.js +1 -2
  382. package/dist/components/RadioAccordion/RadioAccordion.js.map +1 -1
  383. package/dist/components/Select/Select.cjs +1 -2
  384. package/dist/components/Select/Select.cjs.map +1 -1
  385. package/dist/components/Select/Select.js +1 -2
  386. package/dist/components/Select/Select.js.map +1 -1
  387. package/dist/components/Select/Select.themes.cjs +1 -2
  388. package/dist/components/Select/Select.themes.cjs.map +1 -1
  389. package/dist/components/Select/Select.themes.js +1 -2
  390. package/dist/components/Select/Select.themes.js.map +1 -1
  391. package/dist/components/SidePanel/SidePanel.cjs +1 -2
  392. package/dist/components/SidePanel/SidePanel.cjs.map +1 -1
  393. package/dist/components/SidePanel/SidePanel.js +1 -2
  394. package/dist/components/SidePanel/SidePanel.js.map +1 -1
  395. package/dist/components/SidePanel/SidePanel.themes.cjs +1 -2
  396. package/dist/components/SidePanel/SidePanel.themes.cjs.map +1 -1
  397. package/dist/components/SidePanel/SidePanel.themes.js +1 -2
  398. package/dist/components/SidePanel/SidePanel.themes.js.map +1 -1
  399. package/dist/components/Skeleton/Skeleton.cjs +1 -2
  400. package/dist/components/Skeleton/Skeleton.cjs.map +1 -1
  401. package/dist/components/Skeleton/Skeleton.js +6 -5
  402. package/dist/components/Skeleton/Skeleton.js.map +1 -1
  403. package/dist/components/Skeleton/Skeleton.themes.cjs +1 -2
  404. package/dist/components/Skeleton/Skeleton.themes.cjs.map +1 -1
  405. package/dist/components/Skeleton/Skeleton.themes.js +1 -2
  406. package/dist/components/Skeleton/Skeleton.themes.js.map +1 -1
  407. package/dist/components/Skeleton/Skeleton.vanilla.cjs +3 -3
  408. package/dist/components/Skeleton/Skeleton.vanilla.cjs.map +1 -1
  409. package/dist/components/Skeleton/Skeleton.vanilla.css.cjs +1 -2
  410. package/dist/components/Skeleton/Skeleton.vanilla.css.cjs.map +1 -1
  411. package/dist/components/Skeleton/Skeleton.vanilla.css.js +1 -2
  412. package/dist/components/Skeleton/Skeleton.vanilla.css.js.map +1 -1
  413. package/dist/components/Skeleton/Skeleton.vanilla.js +3 -3
  414. package/dist/components/Skeleton/Skeleton.vanilla.js.map +1 -1
  415. package/dist/components/Switch/Switch.cjs +3 -4
  416. package/dist/components/Switch/Switch.cjs.map +1 -1
  417. package/dist/components/Switch/Switch.js +3 -4
  418. package/dist/components/Switch/Switch.js.map +1 -1
  419. package/dist/components/Switch/Switch.themes.cjs +1 -2
  420. package/dist/components/Switch/Switch.themes.cjs.map +1 -1
  421. package/dist/components/Switch/Switch.themes.js +1 -2
  422. package/dist/components/Switch/Switch.themes.js.map +1 -1
  423. package/dist/components/Table/Table.cjs +1 -2
  424. package/dist/components/Table/Table.cjs.map +1 -1
  425. package/dist/components/Table/Table.js +15 -14
  426. package/dist/components/Table/Table.js.map +1 -1
  427. package/dist/components/Table/Table.themes.cjs +1 -2
  428. package/dist/components/Table/Table.themes.cjs.map +1 -1
  429. package/dist/components/Table/Table.themes.js +1 -2
  430. package/dist/components/Table/Table.themes.js.map +1 -1
  431. package/dist/components/Tabs/Tabs.cjs +1 -2
  432. package/dist/components/Tabs/Tabs.cjs.map +1 -1
  433. package/dist/components/Tabs/Tabs.js +1 -2
  434. package/dist/components/Text/Text.cjs +1 -2
  435. package/dist/components/Text/Text.cjs.map +1 -1
  436. package/dist/components/Text/Text.js +1 -2
  437. package/dist/components/Text/Text.themes.cjs +1 -2
  438. package/dist/components/Text/Text.themes.cjs.map +1 -1
  439. package/dist/components/Text/Text.themes.js +1 -2
  440. package/dist/components/Text/Text.themes.js.map +1 -1
  441. package/dist/components/TextField/TextField.cjs +1 -2
  442. package/dist/components/TextField/TextField.cjs.map +1 -1
  443. package/dist/components/TextField/TextField.js +1 -2
  444. package/dist/components/TextField/TextField.js.map +1 -1
  445. package/dist/components/TextField/TextField.vanilla.cjs +1 -2
  446. package/dist/components/TextField/TextField.vanilla.cjs.map +1 -1
  447. package/dist/components/TextField/TextField.vanilla.js +1 -2
  448. package/dist/components/TextField/TextField.vanilla.js.map +1 -1
  449. package/dist/components/Textarea/Textarea.cjs +1 -2
  450. package/dist/components/Textarea/Textarea.cjs.map +1 -1
  451. package/dist/components/Textarea/Textarea.js +1 -2
  452. package/dist/components/Textarea/Textarea.js.map +1 -1
  453. package/dist/components/Textarea/Textarea.theme.cjs +1 -2
  454. package/dist/components/Textarea/Textarea.theme.cjs.map +1 -1
  455. package/dist/components/Textarea/Textarea.theme.js +1 -2
  456. package/dist/components/Textarea/Textarea.themes.cjs +1 -2
  457. package/dist/components/Textarea/Textarea.themes.cjs.map +1 -1
  458. package/dist/components/Textarea/Textarea.themes.js +1 -2
  459. package/dist/components/Textarea/Textarea.themes.js.map +1 -1
  460. package/dist/components/Textarea/Textarea.vanilla.cjs +1 -2
  461. package/dist/components/Textarea/Textarea.vanilla.cjs.map +1 -1
  462. package/dist/components/Textarea/Textarea.vanilla.css.cjs +1 -2
  463. package/dist/components/Textarea/Textarea.vanilla.css.cjs.map +1 -1
  464. package/dist/components/Textarea/Textarea.vanilla.css.js +1 -2
  465. package/dist/components/Textarea/Textarea.vanilla.css.js.map +1 -1
  466. package/dist/components/Textarea/Textarea.vanilla.js +1 -2
  467. package/dist/components/Textarea/Textarea.vanilla.js.map +1 -1
  468. package/dist/components/Tooltip/Tooltip.cjs +1 -2
  469. package/dist/components/Tooltip/Tooltip.cjs.map +1 -1
  470. package/dist/components/Tooltip/Tooltip.js +1 -2
  471. package/dist/components/Tooltip/Tooltip.js.map +1 -1
  472. package/dist/components/Tooltip/Tooltip.themes.cjs +1 -2
  473. package/dist/components/Tooltip/Tooltip.themes.cjs.map +1 -1
  474. package/dist/components/Tooltip/Tooltip.themes.js +1 -2
  475. package/dist/components/Tooltip/Tooltip.themes.js.map +1 -1
  476. package/dist/components/VisuallyHidden/VisuallyHidden.cjs +1 -2
  477. package/dist/components/VisuallyHidden/VisuallyHidden.cjs.map +1 -1
  478. package/dist/components/VisuallyHidden/VisuallyHidden.js +1 -2
  479. package/dist/components/VisuallyHidden/VisuallyHidden.js.map +1 -1
  480. package/dist/components/colorSchemeContext.cjs +1 -2
  481. package/dist/components/colorSchemeContext.cjs.map +1 -1
  482. package/dist/components/colorSchemeContext.js +1 -2
  483. package/dist/index.d.ts +1 -1
  484. package/dist/stitches.config.cjs +1 -2
  485. package/dist/stitches.config.cjs.map +1 -1
  486. package/dist/stitches.config.js +1 -2
  487. package/dist/stitches.config.js.map +1 -1
  488. package/dist/styles/cssProps.cjs +24 -27
  489. package/dist/styles/cssProps.cjs.map +1 -1
  490. package/dist/styles/cssProps.js +24 -27
  491. package/dist/styles/cssProps.js.map +1 -1
  492. package/dist/styles/themeContext.cjs +1 -2
  493. package/dist/styles/themeContext.cjs.map +1 -1
  494. package/dist/styles/themeContext.js +1 -2
  495. package/dist/styles/themes.css.cjs +1 -2
  496. package/dist/styles/themes.css.js +1 -2
  497. package/dist/utils/deepMerge.cjs +1 -2
  498. package/dist/utils/deepMerge.js +1 -2
  499. package/dist/utils/getPrimaryColorInfo.cjs +1 -2
  500. package/dist/utils/getPrimaryColorInfo.js +1 -2
  501. package/package.json +64 -62
@@ -1 +1 @@
1
- {"version":3,"file":"TextField.vanilla.cjs","names":[],"sources":["../../../components/TextField/TextField.vanilla.tsx"],"sourcesContent":["import {\n CrossCircledIcon,\n ExclamationTriangleIcon,\n EyeClosedIcon,\n EyeOpenIcon,\n} from '@radix-ui/react-icons';\nimport React from 'react';\n\nimport { styled } from '../../stitches.config';\nimport { BoxVanilla } from '../Box';\nimport { InputVanilla, InputVanillaHandle, InputVanillaProps } from '../Input';\nimport { LabelVanilla } from '../Label';\nimport { Tooltip } from '../Tooltip';\n\n// TYPES\nexport interface TextFieldLabelProps {\n variant: 'invalid' | 'subtle' | 'contrast' | 'default';\n htmlFor?: string;\n}\n\nexport type TextFieldVanillaProps = InputVanillaProps & {\n type?: string;\n clearable?: boolean;\n label?: string | ((props: TextFieldLabelProps) => JSX.Element);\n};\n\n// COMPONENTS\nconst AdornmentGroup = styled('div', {\n display: 'flex',\n flexDirection: 'row',\n alignItems: 'center',\n});\n\nconst StyledExclamationTriangleIcon = styled(ExclamationTriangleIcon, {\n '& + *': {\n marginLeft: '$1',\n },\n});\n\nconst StyledEyeOpenIcon = styled(EyeOpenIcon, {\n '@hover': {\n '&:hover': {\n cursor: 'pointer',\n },\n },\n});\n\nconst StyledEyeClosedIcon = styled(EyeClosedIcon, {\n '@hover': {\n '&:hover': {\n cursor: 'pointer',\n },\n },\n});\n\nconst StyledCrossCircledIcon = styled(CrossCircledIcon, {\n '@hover': {\n '&:hover': {\n cursor: 'pointer',\n },\n },\n});\n\nexport const TextFieldVanilla = React.forwardRef<\n React.ElementRef<typeof InputVanilla>,\n TextFieldVanillaProps\n>(\n (\n {\n state,\n clearable,\n label: LabelOrComponent,\n id,\n type,\n disabled,\n readOnly,\n onBlur,\n onFocus,\n css,\n ...props\n },\n forwardedRef,\n ) => {\n const inputRef = React.useRef<InputVanillaHandle | null>(null);\n React.useImperativeHandle(forwardedRef, () => inputRef.current as InputVanillaHandle);\n\n const [inputHasFocus, setInputHasFocus] = React.useState(false);\n const [innerType, setInnerType] = React.useState(type);\n const isPasswordVisible = React.useMemo(() => innerType !== 'password', [innerType]);\n\n const invalid = React.useMemo(() => state === 'invalid', [state]);\n\n const labelVariant = React.useMemo(() => {\n if (disabled) {\n return 'subtle';\n }\n if (invalid) {\n return 'invalid';\n }\n if (inputHasFocus) {\n return 'contrast';\n }\n return 'default';\n }, [invalid, disabled, inputHasFocus]);\n\n const LabelNode = React.useMemo(() => {\n if (LabelOrComponent === undefined || LabelOrComponent === null) {\n return null;\n }\n if (typeof LabelOrComponent === 'string') {\n return (\n <LabelVanilla variant={labelVariant} htmlFor={id}>\n {LabelOrComponent}\n </LabelVanilla>\n );\n }\n return <LabelOrComponent variant={labelVariant} htmlFor={id} />;\n }, [LabelOrComponent, labelVariant, id]);\n\n const isPasswordType = React.useMemo(() => type === 'password', [type]);\n\n const typeOrInnerType = React.useMemo(\n () => (isPasswordType ? innerType : type),\n [isPasswordType, type, innerType],\n );\n\n const hasInnerAdornment = React.useMemo(\n () => clearable || isPasswordType || invalid,\n [clearable, isPasswordType, invalid],\n );\n\n const hasAdornmentGroup = React.useMemo(\n () => (clearable && invalid) || (clearable && isPasswordType) || (invalid && isPasswordType),\n [clearable, invalid, isPasswordType],\n );\n\n const clearDisabled = React.useMemo(() => readOnly || disabled, [readOnly, disabled]);\n\n const handleClear = React.useCallback(() => {\n const { current } = inputRef;\n if (current) {\n current.clear();\n }\n }, [inputRef]);\n\n const handleFocus = React.useCallback(\n (e: React.FocusEvent<HTMLInputElement>) => {\n if (onFocus) {\n onFocus(e);\n }\n setInputHasFocus(true);\n },\n [onFocus, setInputHasFocus],\n );\n\n const handleBlur = React.useCallback(\n (e: React.FocusEvent<HTMLInputElement>) => {\n if (onBlur) {\n onBlur(e);\n }\n setInputHasFocus(false);\n },\n [onBlur, setInputHasFocus],\n );\n\n const togglePasswordVisibility = React.useCallback(() => {\n setInnerType((prevInnerType) => (prevInnerType === 'password' ? undefined : 'password'));\n }, [setInnerType]);\n\n const EndAdornmentWrapper = React.useMemo(\n () => (hasAdornmentGroup ? AdornmentGroup : React.Fragment),\n [hasAdornmentGroup],\n );\n\n const PasswordVisibilityToggleIcon = React.useMemo(\n () => (isPasswordVisible ? StyledEyeClosedIcon : StyledEyeOpenIcon),\n [isPasswordVisible],\n );\n\n const passwordAction = React.useMemo(\n () => (isPasswordVisible ? 'Hide password' : 'Show password'),\n [isPasswordVisible],\n );\n\n return (\n <BoxVanilla css={css}>\n {LabelNode}\n <InputVanilla\n id={id}\n ref={inputRef}\n endAdornment={\n hasInnerAdornment && (\n <EndAdornmentWrapper>\n {invalid && <StyledExclamationTriangleIcon role=\"alert\" aria-label=\"Invalid\" />}\n {isPasswordType && (\n <Tooltip content={passwordAction}>\n <PasswordVisibilityToggleIcon\n aria-label={passwordAction}\n onClick={togglePasswordVisibility}\n />\n </Tooltip>\n )}\n {clearable && !clearDisabled && (\n <Tooltip content=\"Clear\">\n <StyledCrossCircledIcon aria-label=\"Clear\" onClick={handleClear} />\n </Tooltip>\n )}\n </EndAdornmentWrapper>\n )\n }\n state={state}\n type={typeOrInnerType}\n disabled={disabled}\n readOnly={readOnly}\n onFocus={handleFocus}\n onBlur={handleBlur}\n {...props}\n />\n </BoxVanilla>\n );\n },\n);\n\nTextFieldVanilla.displayName = 'TextFieldVanilla';\n"],"mappings":"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"}
1
+ {"version":3,"file":"TextField.vanilla.cjs","names":["styled","ExclamationTriangleIcon","EyeOpenIcon","EyeClosedIcon","CrossCircledIcon","React","LabelVanilla","BoxVanilla","InputVanilla","Tooltip"],"sources":["../../../components/TextField/TextField.vanilla.tsx"],"sourcesContent":["import {\n CrossCircledIcon,\n ExclamationTriangleIcon,\n EyeClosedIcon,\n EyeOpenIcon,\n} from '@radix-ui/react-icons';\nimport React from 'react';\n\nimport { styled } from '../../stitches.config';\nimport { BoxVanilla } from '../Box';\nimport { InputVanilla, InputVanillaHandle, InputVanillaProps } from '../Input';\nimport { LabelVanilla } from '../Label';\nimport { Tooltip } from '../Tooltip';\n\n// TYPES\nexport interface TextFieldLabelProps {\n variant: 'invalid' | 'subtle' | 'contrast' | 'default';\n htmlFor?: string;\n}\n\nexport type TextFieldVanillaProps = InputVanillaProps & {\n type?: string;\n clearable?: boolean;\n label?: string | ((props: TextFieldLabelProps) => JSX.Element);\n};\n\n// COMPONENTS\nconst AdornmentGroup = styled('div', {\n display: 'flex',\n flexDirection: 'row',\n alignItems: 'center',\n});\n\nconst StyledExclamationTriangleIcon = styled(ExclamationTriangleIcon, {\n '& + *': {\n marginLeft: '$1',\n },\n});\n\nconst StyledEyeOpenIcon = styled(EyeOpenIcon, {\n '@hover': {\n '&:hover': {\n cursor: 'pointer',\n },\n },\n});\n\nconst StyledEyeClosedIcon = styled(EyeClosedIcon, {\n '@hover': {\n '&:hover': {\n cursor: 'pointer',\n },\n },\n});\n\nconst StyledCrossCircledIcon = styled(CrossCircledIcon, {\n '@hover': {\n '&:hover': {\n cursor: 'pointer',\n },\n },\n});\n\nexport const TextFieldVanilla = React.forwardRef<\n React.ElementRef<typeof InputVanilla>,\n TextFieldVanillaProps\n>(\n (\n {\n state,\n clearable,\n label: LabelOrComponent,\n id,\n type,\n disabled,\n readOnly,\n onBlur,\n onFocus,\n css,\n ...props\n },\n forwardedRef,\n ) => {\n const inputRef = React.useRef<InputVanillaHandle | null>(null);\n React.useImperativeHandle(forwardedRef, () => inputRef.current as InputVanillaHandle);\n\n const [inputHasFocus, setInputHasFocus] = React.useState(false);\n const [innerType, setInnerType] = React.useState(type);\n const isPasswordVisible = React.useMemo(() => innerType !== 'password', [innerType]);\n\n const invalid = React.useMemo(() => state === 'invalid', [state]);\n\n const labelVariant = React.useMemo(() => {\n if (disabled) {\n return 'subtle';\n }\n if (invalid) {\n return 'invalid';\n }\n if (inputHasFocus) {\n return 'contrast';\n }\n return 'default';\n }, [invalid, disabled, inputHasFocus]);\n\n const LabelNode = React.useMemo(() => {\n if (LabelOrComponent === undefined || LabelOrComponent === null) {\n return null;\n }\n if (typeof LabelOrComponent === 'string') {\n return (\n <LabelVanilla variant={labelVariant} htmlFor={id}>\n {LabelOrComponent}\n </LabelVanilla>\n );\n }\n return <LabelOrComponent variant={labelVariant} htmlFor={id} />;\n }, [LabelOrComponent, labelVariant, id]);\n\n const isPasswordType = React.useMemo(() => type === 'password', [type]);\n\n const typeOrInnerType = React.useMemo(\n () => (isPasswordType ? innerType : type),\n [isPasswordType, type, innerType],\n );\n\n const hasInnerAdornment = React.useMemo(\n () => clearable || isPasswordType || invalid,\n [clearable, isPasswordType, invalid],\n );\n\n const hasAdornmentGroup = React.useMemo(\n () => (clearable && invalid) || (clearable && isPasswordType) || (invalid && isPasswordType),\n [clearable, invalid, isPasswordType],\n );\n\n const clearDisabled = React.useMemo(() => readOnly || disabled, [readOnly, disabled]);\n\n const handleClear = React.useCallback(() => {\n const { current } = inputRef;\n if (current) {\n current.clear();\n }\n }, [inputRef]);\n\n const handleFocus = React.useCallback(\n (e: React.FocusEvent<HTMLInputElement>) => {\n if (onFocus) {\n onFocus(e);\n }\n setInputHasFocus(true);\n },\n [onFocus, setInputHasFocus],\n );\n\n const handleBlur = React.useCallback(\n (e: React.FocusEvent<HTMLInputElement>) => {\n if (onBlur) {\n onBlur(e);\n }\n setInputHasFocus(false);\n },\n [onBlur, setInputHasFocus],\n );\n\n const togglePasswordVisibility = React.useCallback(() => {\n setInnerType((prevInnerType) => (prevInnerType === 'password' ? undefined : 'password'));\n }, [setInnerType]);\n\n const EndAdornmentWrapper = React.useMemo(\n () => (hasAdornmentGroup ? AdornmentGroup : React.Fragment),\n [hasAdornmentGroup],\n );\n\n const PasswordVisibilityToggleIcon = React.useMemo(\n () => (isPasswordVisible ? StyledEyeClosedIcon : StyledEyeOpenIcon),\n [isPasswordVisible],\n );\n\n const passwordAction = React.useMemo(\n () => (isPasswordVisible ? 'Hide password' : 'Show password'),\n [isPasswordVisible],\n );\n\n return (\n <BoxVanilla css={css}>\n {LabelNode}\n <InputVanilla\n id={id}\n ref={inputRef}\n endAdornment={\n hasInnerAdornment && (\n <EndAdornmentWrapper>\n {invalid && <StyledExclamationTriangleIcon role=\"alert\" aria-label=\"Invalid\" />}\n {isPasswordType && (\n <Tooltip content={passwordAction}>\n <PasswordVisibilityToggleIcon\n aria-label={passwordAction}\n onClick={togglePasswordVisibility}\n />\n </Tooltip>\n )}\n {clearable && !clearDisabled && (\n <Tooltip content=\"Clear\">\n <StyledCrossCircledIcon aria-label=\"Clear\" onClick={handleClear} />\n </Tooltip>\n )}\n </EndAdornmentWrapper>\n )\n }\n state={state}\n type={typeOrInnerType}\n disabled={disabled}\n readOnly={readOnly}\n onFocus={handleFocus}\n onBlur={handleBlur}\n {...props}\n />\n </BoxVanilla>\n );\n },\n);\n\nTextFieldVanilla.displayName = 'TextFieldVanilla';\n"],"mappings":"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"}
@@ -6,7 +6,7 @@ import { Tooltip } from "../Tooltip/Tooltip.js";
6
6
  import { CrossCircledIcon, ExclamationTriangleIcon, EyeClosedIcon, EyeOpenIcon } from "@radix-ui/react-icons";
7
7
  import React from "react";
8
8
  import { jsx, jsxs } from "react/jsx-runtime";
9
- //#region components/TextField/TextField.vanilla.tsx
9
+ // components/TextField/TextField.vanilla.tsx
10
10
  var AdornmentGroup = styled("div", {
11
11
  display: "flex",
12
12
  flexDirection: "row",
@@ -120,7 +120,6 @@ var TextFieldVanilla = React.forwardRef(({ state, clearable, label: LabelOrCompo
120
120
  });
121
121
  });
122
122
  TextFieldVanilla.displayName = "TextFieldVanilla";
123
- //#endregion
124
123
  export { TextFieldVanilla };
125
124
 
126
125
  //# sourceMappingURL=TextField.vanilla.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"TextField.vanilla.js","names":[],"sources":["../../../components/TextField/TextField.vanilla.tsx"],"sourcesContent":["import {\n CrossCircledIcon,\n ExclamationTriangleIcon,\n EyeClosedIcon,\n EyeOpenIcon,\n} from '@radix-ui/react-icons';\nimport React from 'react';\n\nimport { styled } from '../../stitches.config';\nimport { BoxVanilla } from '../Box';\nimport { InputVanilla, InputVanillaHandle, InputVanillaProps } from '../Input';\nimport { LabelVanilla } from '../Label';\nimport { Tooltip } from '../Tooltip';\n\n// TYPES\nexport interface TextFieldLabelProps {\n variant: 'invalid' | 'subtle' | 'contrast' | 'default';\n htmlFor?: string;\n}\n\nexport type TextFieldVanillaProps = InputVanillaProps & {\n type?: string;\n clearable?: boolean;\n label?: string | ((props: TextFieldLabelProps) => JSX.Element);\n};\n\n// COMPONENTS\nconst AdornmentGroup = styled('div', {\n display: 'flex',\n flexDirection: 'row',\n alignItems: 'center',\n});\n\nconst StyledExclamationTriangleIcon = styled(ExclamationTriangleIcon, {\n '& + *': {\n marginLeft: '$1',\n },\n});\n\nconst StyledEyeOpenIcon = styled(EyeOpenIcon, {\n '@hover': {\n '&:hover': {\n cursor: 'pointer',\n },\n },\n});\n\nconst StyledEyeClosedIcon = styled(EyeClosedIcon, {\n '@hover': {\n '&:hover': {\n cursor: 'pointer',\n },\n },\n});\n\nconst StyledCrossCircledIcon = styled(CrossCircledIcon, {\n '@hover': {\n '&:hover': {\n cursor: 'pointer',\n },\n },\n});\n\nexport const TextFieldVanilla = React.forwardRef<\n React.ElementRef<typeof InputVanilla>,\n TextFieldVanillaProps\n>(\n (\n {\n state,\n clearable,\n label: LabelOrComponent,\n id,\n type,\n disabled,\n readOnly,\n onBlur,\n onFocus,\n css,\n ...props\n },\n forwardedRef,\n ) => {\n const inputRef = React.useRef<InputVanillaHandle | null>(null);\n React.useImperativeHandle(forwardedRef, () => inputRef.current as InputVanillaHandle);\n\n const [inputHasFocus, setInputHasFocus] = React.useState(false);\n const [innerType, setInnerType] = React.useState(type);\n const isPasswordVisible = React.useMemo(() => innerType !== 'password', [innerType]);\n\n const invalid = React.useMemo(() => state === 'invalid', [state]);\n\n const labelVariant = React.useMemo(() => {\n if (disabled) {\n return 'subtle';\n }\n if (invalid) {\n return 'invalid';\n }\n if (inputHasFocus) {\n return 'contrast';\n }\n return 'default';\n }, [invalid, disabled, inputHasFocus]);\n\n const LabelNode = React.useMemo(() => {\n if (LabelOrComponent === undefined || LabelOrComponent === null) {\n return null;\n }\n if (typeof LabelOrComponent === 'string') {\n return (\n <LabelVanilla variant={labelVariant} htmlFor={id}>\n {LabelOrComponent}\n </LabelVanilla>\n );\n }\n return <LabelOrComponent variant={labelVariant} htmlFor={id} />;\n }, [LabelOrComponent, labelVariant, id]);\n\n const isPasswordType = React.useMemo(() => type === 'password', [type]);\n\n const typeOrInnerType = React.useMemo(\n () => (isPasswordType ? innerType : type),\n [isPasswordType, type, innerType],\n );\n\n const hasInnerAdornment = React.useMemo(\n () => clearable || isPasswordType || invalid,\n [clearable, isPasswordType, invalid],\n );\n\n const hasAdornmentGroup = React.useMemo(\n () => (clearable && invalid) || (clearable && isPasswordType) || (invalid && isPasswordType),\n [clearable, invalid, isPasswordType],\n );\n\n const clearDisabled = React.useMemo(() => readOnly || disabled, [readOnly, disabled]);\n\n const handleClear = React.useCallback(() => {\n const { current } = inputRef;\n if (current) {\n current.clear();\n }\n }, [inputRef]);\n\n const handleFocus = React.useCallback(\n (e: React.FocusEvent<HTMLInputElement>) => {\n if (onFocus) {\n onFocus(e);\n }\n setInputHasFocus(true);\n },\n [onFocus, setInputHasFocus],\n );\n\n const handleBlur = React.useCallback(\n (e: React.FocusEvent<HTMLInputElement>) => {\n if (onBlur) {\n onBlur(e);\n }\n setInputHasFocus(false);\n },\n [onBlur, setInputHasFocus],\n );\n\n const togglePasswordVisibility = React.useCallback(() => {\n setInnerType((prevInnerType) => (prevInnerType === 'password' ? undefined : 'password'));\n }, [setInnerType]);\n\n const EndAdornmentWrapper = React.useMemo(\n () => (hasAdornmentGroup ? AdornmentGroup : React.Fragment),\n [hasAdornmentGroup],\n );\n\n const PasswordVisibilityToggleIcon = React.useMemo(\n () => (isPasswordVisible ? StyledEyeClosedIcon : StyledEyeOpenIcon),\n [isPasswordVisible],\n );\n\n const passwordAction = React.useMemo(\n () => (isPasswordVisible ? 'Hide password' : 'Show password'),\n [isPasswordVisible],\n );\n\n return (\n <BoxVanilla css={css}>\n {LabelNode}\n <InputVanilla\n id={id}\n ref={inputRef}\n endAdornment={\n hasInnerAdornment && (\n <EndAdornmentWrapper>\n {invalid && <StyledExclamationTriangleIcon role=\"alert\" aria-label=\"Invalid\" />}\n {isPasswordType && (\n <Tooltip content={passwordAction}>\n <PasswordVisibilityToggleIcon\n aria-label={passwordAction}\n onClick={togglePasswordVisibility}\n />\n </Tooltip>\n )}\n {clearable && !clearDisabled && (\n <Tooltip content=\"Clear\">\n <StyledCrossCircledIcon aria-label=\"Clear\" onClick={handleClear} />\n </Tooltip>\n )}\n </EndAdornmentWrapper>\n )\n }\n state={state}\n type={typeOrInnerType}\n disabled={disabled}\n readOnly={readOnly}\n onFocus={handleFocus}\n onBlur={handleBlur}\n {...props}\n />\n </BoxVanilla>\n );\n },\n);\n\nTextFieldVanilla.displayName = 'TextFieldVanilla';\n"],"mappings":"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"}
1
+ {"version":3,"file":"TextField.vanilla.js","names":[],"sources":["../../../components/TextField/TextField.vanilla.tsx"],"sourcesContent":["import {\n CrossCircledIcon,\n ExclamationTriangleIcon,\n EyeClosedIcon,\n EyeOpenIcon,\n} from '@radix-ui/react-icons';\nimport React from 'react';\n\nimport { styled } from '../../stitches.config';\nimport { BoxVanilla } from '../Box';\nimport { InputVanilla, InputVanillaHandle, InputVanillaProps } from '../Input';\nimport { LabelVanilla } from '../Label';\nimport { Tooltip } from '../Tooltip';\n\n// TYPES\nexport interface TextFieldLabelProps {\n variant: 'invalid' | 'subtle' | 'contrast' | 'default';\n htmlFor?: string;\n}\n\nexport type TextFieldVanillaProps = InputVanillaProps & {\n type?: string;\n clearable?: boolean;\n label?: string | ((props: TextFieldLabelProps) => JSX.Element);\n};\n\n// COMPONENTS\nconst AdornmentGroup = styled('div', {\n display: 'flex',\n flexDirection: 'row',\n alignItems: 'center',\n});\n\nconst StyledExclamationTriangleIcon = styled(ExclamationTriangleIcon, {\n '& + *': {\n marginLeft: '$1',\n },\n});\n\nconst StyledEyeOpenIcon = styled(EyeOpenIcon, {\n '@hover': {\n '&:hover': {\n cursor: 'pointer',\n },\n },\n});\n\nconst StyledEyeClosedIcon = styled(EyeClosedIcon, {\n '@hover': {\n '&:hover': {\n cursor: 'pointer',\n },\n },\n});\n\nconst StyledCrossCircledIcon = styled(CrossCircledIcon, {\n '@hover': {\n '&:hover': {\n cursor: 'pointer',\n },\n },\n});\n\nexport const TextFieldVanilla = React.forwardRef<\n React.ElementRef<typeof InputVanilla>,\n TextFieldVanillaProps\n>(\n (\n {\n state,\n clearable,\n label: LabelOrComponent,\n id,\n type,\n disabled,\n readOnly,\n onBlur,\n onFocus,\n css,\n ...props\n },\n forwardedRef,\n ) => {\n const inputRef = React.useRef<InputVanillaHandle | null>(null);\n React.useImperativeHandle(forwardedRef, () => inputRef.current as InputVanillaHandle);\n\n const [inputHasFocus, setInputHasFocus] = React.useState(false);\n const [innerType, setInnerType] = React.useState(type);\n const isPasswordVisible = React.useMemo(() => innerType !== 'password', [innerType]);\n\n const invalid = React.useMemo(() => state === 'invalid', [state]);\n\n const labelVariant = React.useMemo(() => {\n if (disabled) {\n return 'subtle';\n }\n if (invalid) {\n return 'invalid';\n }\n if (inputHasFocus) {\n return 'contrast';\n }\n return 'default';\n }, [invalid, disabled, inputHasFocus]);\n\n const LabelNode = React.useMemo(() => {\n if (LabelOrComponent === undefined || LabelOrComponent === null) {\n return null;\n }\n if (typeof LabelOrComponent === 'string') {\n return (\n <LabelVanilla variant={labelVariant} htmlFor={id}>\n {LabelOrComponent}\n </LabelVanilla>\n );\n }\n return <LabelOrComponent variant={labelVariant} htmlFor={id} />;\n }, [LabelOrComponent, labelVariant, id]);\n\n const isPasswordType = React.useMemo(() => type === 'password', [type]);\n\n const typeOrInnerType = React.useMemo(\n () => (isPasswordType ? innerType : type),\n [isPasswordType, type, innerType],\n );\n\n const hasInnerAdornment = React.useMemo(\n () => clearable || isPasswordType || invalid,\n [clearable, isPasswordType, invalid],\n );\n\n const hasAdornmentGroup = React.useMemo(\n () => (clearable && invalid) || (clearable && isPasswordType) || (invalid && isPasswordType),\n [clearable, invalid, isPasswordType],\n );\n\n const clearDisabled = React.useMemo(() => readOnly || disabled, [readOnly, disabled]);\n\n const handleClear = React.useCallback(() => {\n const { current } = inputRef;\n if (current) {\n current.clear();\n }\n }, [inputRef]);\n\n const handleFocus = React.useCallback(\n (e: React.FocusEvent<HTMLInputElement>) => {\n if (onFocus) {\n onFocus(e);\n }\n setInputHasFocus(true);\n },\n [onFocus, setInputHasFocus],\n );\n\n const handleBlur = React.useCallback(\n (e: React.FocusEvent<HTMLInputElement>) => {\n if (onBlur) {\n onBlur(e);\n }\n setInputHasFocus(false);\n },\n [onBlur, setInputHasFocus],\n );\n\n const togglePasswordVisibility = React.useCallback(() => {\n setInnerType((prevInnerType) => (prevInnerType === 'password' ? undefined : 'password'));\n }, [setInnerType]);\n\n const EndAdornmentWrapper = React.useMemo(\n () => (hasAdornmentGroup ? AdornmentGroup : React.Fragment),\n [hasAdornmentGroup],\n );\n\n const PasswordVisibilityToggleIcon = React.useMemo(\n () => (isPasswordVisible ? StyledEyeClosedIcon : StyledEyeOpenIcon),\n [isPasswordVisible],\n );\n\n const passwordAction = React.useMemo(\n () => (isPasswordVisible ? 'Hide password' : 'Show password'),\n [isPasswordVisible],\n );\n\n return (\n <BoxVanilla css={css}>\n {LabelNode}\n <InputVanilla\n id={id}\n ref={inputRef}\n endAdornment={\n hasInnerAdornment && (\n <EndAdornmentWrapper>\n {invalid && <StyledExclamationTriangleIcon role=\"alert\" aria-label=\"Invalid\" />}\n {isPasswordType && (\n <Tooltip content={passwordAction}>\n <PasswordVisibilityToggleIcon\n aria-label={passwordAction}\n onClick={togglePasswordVisibility}\n />\n </Tooltip>\n )}\n {clearable && !clearDisabled && (\n <Tooltip content=\"Clear\">\n <StyledCrossCircledIcon aria-label=\"Clear\" onClick={handleClear} />\n </Tooltip>\n )}\n </EndAdornmentWrapper>\n )\n }\n state={state}\n type={typeOrInnerType}\n disabled={disabled}\n readOnly={readOnly}\n onFocus={handleFocus}\n onBlur={handleBlur}\n {...props}\n />\n </BoxVanilla>\n );\n },\n);\n\nTextFieldVanilla.displayName = 'TextFieldVanilla';\n"],"mappings":"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"}
@@ -6,7 +6,7 @@ const require_Label = require("../Label/Label.cjs");
6
6
  let react = require("react");
7
7
  react = require_runtime.__toESM(react, 1);
8
8
  let react_jsx_runtime = require("react/jsx-runtime");
9
- //#region components/Textarea/Textarea.tsx
9
+ // components/Textarea/Textarea.tsx
10
10
  var FOCUS_SHADOW = require_Elevation.elevationVariants[1].boxShadow;
11
11
  var StyledTextarea = require_stitches_config.styled("textarea", {
12
12
  appearance: "none",
@@ -187,7 +187,6 @@ var Textarea = react.default.forwardRef(({ state, disabled, onFocus, onBlur, lab
187
187
  })]
188
188
  });
189
189
  });
190
- //#endregion
191
190
  exports.Textarea = Textarea;
192
191
 
193
192
  //# sourceMappingURL=Textarea.cjs.map
@@ -1 +1 @@
1
- {"version":3,"file":"Textarea.cjs","names":[],"sources":["../../../components/Textarea/Textarea.tsx"],"sourcesContent":["import React from 'react';\n\nimport { CSS, styled, VariantProps } from '../../stitches.config';\nimport { Box } from '../Box';\nimport { elevationVariants } from '../Elevation';\nimport { Label } from '../Label';\n\n// CONSTANTS\nconst FOCUS_SHADOW = elevationVariants[1].boxShadow; // apply elevation $1 when focus\n\n// COMPONENTS\nconst StyledTextarea = styled('textarea', {\n // Reset\n appearance: 'none',\n overflow: 'auto', // force overflow auto behaviour cross-browser\n borderWidth: '0',\n boxSizing: 'border-box',\n fontFamily: '$rubik',\n margin: '0',\n outline: 'none',\n WebkitTapHighlightColor: 'rgba(0,0,0,0)',\n\n // Custom\n p: '$3',\n position: 'relative',\n flexGrow: 1, // make sure to grow fully inside TextareaWrapper\n backgroundColor: 'transparent',\n borderRadius: 'inherit', // inherit border radius from TextareaWrapper\n boxShadow: 'inset 0 0 0 1px $colors$textareaBorder',\n color: '$textareaText',\n fontVariantNumeric: 'tabular-nums',\n transition: 'box-shadow .1s ease-in-out',\n\n '&:-webkit-autofill,&:autofill': {\n boxShadow: 'inset 0 0 0 1px $colors$textareaBorder, inset 0 0 0 100px $colors$textareaBg',\n },\n\n '&:-webkit-autofill::first-line,&:autofill::first-line': {\n fontFamily: '$rubik',\n color: '$hiContrast',\n },\n\n '&:focus-visible': {\n boxShadow: `inset 0 0 0 2px $colors$textareaFocusBorder, ${FOCUS_SHADOW}`,\n },\n\n '&::placeholder': {\n color: '$textareaPlaceholder',\n },\n\n '&:read-only:not(:disabled)': {\n boxShadow: 'none',\n },\n\n '&:disabled': {\n pointerEvents: 'none',\n opacity: 0.7,\n color: '$textareaDisabledText',\n },\n variants: {\n variant: {\n ghost: {\n boxShadow: 'none',\n '&:disabled': {\n boxShadow: 'none',\n },\n backgroundColor: 'transparent',\n '&:focus-visible': {\n backgroundColor: '$loContrast',\n },\n },\n },\n state: {\n invalid: {\n boxShadow: 'inset 0 0 0 1px $colors$textareaInvalidBorder',\n '&:focus-visible': {\n boxShadow: `inset 0 0 0 2px $colors$textareaInvalidBorder, ${FOCUS_SHADOW}`,\n },\n '@hover': {\n '&:hover': {\n '&::after': {\n backgroundColor: '$textareaInvalidBorder',\n },\n },\n },\n },\n },\n cursor: {\n default: {\n cursor: 'default',\n '@hover': {\n '&:hover:not(:read-only)': {\n cursor: 'text',\n },\n },\n '&:focus-visible:not(:read-only)': {\n cursor: 'text',\n },\n },\n text: {\n cursor: 'text',\n },\n },\n resize: {\n none: {\n resize: 'none',\n },\n both: {\n resize: 'both',\n },\n vertical: {\n resize: 'vertical',\n },\n horizontal: {\n resize: 'horizontal',\n },\n },\n endAdornment: {\n true: {\n paddingBottom: '$5',\n paddingRight: '$5',\n },\n },\n },\n defaultVariants: {\n cursor: 'default',\n resize: 'both',\n },\n compoundVariants: [\n {\n variant: 'ghost',\n state: 'invalid',\n css: {\n boxShadow: 'inset 0 0 0 1px $colors$textareaInvalidBorder',\n },\n },\n ],\n});\n\nconst TextareaWrapper = styled('div', {\n // Reset\n outline: 'none',\n lineHeight: 0,\n\n position: 'relative',\n display: 'inline-flex', // helps matching resizable content size\n backgroundColor: '$textareaBg',\n color: '$textareaPlaceholder',\n borderRadius: '$3',\n\n '&::before': {\n boxSizing: 'border-box',\n borderRadius: 'inherit',\n content: '\"\"',\n position: 'absolute',\n inset: 0,\n pointerEvents: 'none',\n },\n '&::after': {\n boxSizing: 'border-box',\n borderRadius: 'inherit',\n content: '\"\"',\n position: 'absolute',\n inset: 0,\n pointerEvents: 'none',\n },\n\n '&:focus-visible': {\n '&::before': {\n backgroundColor: '$textareaFocusBg',\n },\n '&::after': {\n backgroundColor: '$primary',\n opacity: 0.15,\n },\n },\n\n '@hover': {\n '&:hover': {\n '&::before': {\n backgroundColor: '$textareaHoverBg',\n },\n '&::after': {\n backgroundColor: '$primary',\n opacity: 0.05,\n },\n },\n },\n\n variants: {\n disabled: {\n true: {\n opacity: 0.7,\n color: '$textareaDisabledText',\n '@hover': {\n '&:hover': {\n '&::before': {\n backgroundColor: 'inherit',\n },\n '&::after': {\n backgroundColor: 'inherit',\n },\n },\n },\n },\n },\n state: {\n invalid: {\n '@hover': {\n '&:hover': {\n '&::after': {\n backgroundColor: '$textareaInvalidBorder',\n },\n },\n },\n },\n },\n },\n defaultVariants: {\n disabled: false,\n },\n});\n\nconst AdornmentWrapperEnd = styled('div', {\n position: 'absolute',\n bottom: '$2',\n right: '$3',\n minWidth: '$5',\n minHeight: '$5',\n display: 'flex',\n alignItems: 'center',\n justifyContent: 'center',\n});\n\nexport interface TextareaVariants\n extends Omit<VariantProps<typeof StyledTextarea>, 'endAdornment'> {}\n\nexport interface TextareaProps\n extends TextareaVariants,\n Omit<React.ComponentProps<typeof StyledTextarea>, 'endAdornment'> {\n label?: string;\n endAdornment?: React.ReactNode;\n rootCss?: CSS;\n}\n\nexport const Textarea = React.forwardRef<React.ElementRef<typeof StyledTextarea>, TextareaProps>(\n (\n { state, disabled, onFocus, onBlur, label, id, rootCss, css, endAdornment, ...props },\n forwardedRef\n ) => {\n const [hasFocus, setHasFocus] = React.useState(false);\n\n const invalid = React.useMemo(() => state === 'invalid', [state]);\n\n const hasEndAdornment = React.useMemo(() => Boolean(endAdornment), [endAdornment]);\n\n const labelVariant = React.useMemo(() => {\n if (disabled) {\n return 'subtle';\n }\n if (invalid) {\n return 'invalid';\n }\n if (hasFocus) {\n return 'contrast';\n }\n return 'default';\n }, [invalid, disabled, hasFocus]);\n\n const handleFocus = React.useCallback(\n (e: React.FocusEvent<HTMLTextAreaElement>) => {\n if (onFocus) {\n onFocus(e);\n }\n setHasFocus(true);\n },\n [onFocus, setHasFocus]\n );\n\n const handleBlur = React.useCallback(\n (e: React.FocusEvent<HTMLTextAreaElement>) => {\n if (onBlur) {\n onBlur(e);\n }\n setHasFocus(false);\n },\n [onBlur, setHasFocus]\n );\n\n return (\n <Box css={rootCss}>\n {label && (\n <Label variant={labelVariant} htmlFor={id} css={{ display: 'block' }}>\n {label}\n </Label>\n )}\n <TextareaWrapper state={state} disabled={disabled}>\n <StyledTextarea\n id={id}\n ref={forwardedRef}\n css={css}\n disabled={disabled}\n state={state}\n onFocus={handleFocus}\n onBlur={handleBlur}\n endAdornment={hasEndAdornment}\n {...props}\n />\n {hasEndAdornment && <AdornmentWrapperEnd>{endAdornment}</AdornmentWrapperEnd>}\n </TextareaWrapper>\n </Box>\n );\n }\n);\n"],"mappings":"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"}
1
+ {"version":3,"file":"Textarea.cjs","names":["elevationVariants","styled","React","Box","Label"],"sources":["../../../components/Textarea/Textarea.tsx"],"sourcesContent":["import React from 'react';\n\nimport { CSS, styled, VariantProps } from '../../stitches.config';\nimport { Box } from '../Box';\nimport { elevationVariants } from '../Elevation';\nimport { Label } from '../Label';\n\n// CONSTANTS\nconst FOCUS_SHADOW = elevationVariants[1].boxShadow; // apply elevation $1 when focus\n\n// COMPONENTS\nconst StyledTextarea = styled('textarea', {\n // Reset\n appearance: 'none',\n overflow: 'auto', // force overflow auto behaviour cross-browser\n borderWidth: '0',\n boxSizing: 'border-box',\n fontFamily: '$rubik',\n margin: '0',\n outline: 'none',\n WebkitTapHighlightColor: 'rgba(0,0,0,0)',\n\n // Custom\n p: '$3',\n position: 'relative',\n flexGrow: 1, // make sure to grow fully inside TextareaWrapper\n backgroundColor: 'transparent',\n borderRadius: 'inherit', // inherit border radius from TextareaWrapper\n boxShadow: 'inset 0 0 0 1px $colors$textareaBorder',\n color: '$textareaText',\n fontVariantNumeric: 'tabular-nums',\n transition: 'box-shadow .1s ease-in-out',\n\n '&:-webkit-autofill,&:autofill': {\n boxShadow: 'inset 0 0 0 1px $colors$textareaBorder, inset 0 0 0 100px $colors$textareaBg',\n },\n\n '&:-webkit-autofill::first-line,&:autofill::first-line': {\n fontFamily: '$rubik',\n color: '$hiContrast',\n },\n\n '&:focus-visible': {\n boxShadow: `inset 0 0 0 2px $colors$textareaFocusBorder, ${FOCUS_SHADOW}`,\n },\n\n '&::placeholder': {\n color: '$textareaPlaceholder',\n },\n\n '&:read-only:not(:disabled)': {\n boxShadow: 'none',\n },\n\n '&:disabled': {\n pointerEvents: 'none',\n opacity: 0.7,\n color: '$textareaDisabledText',\n },\n variants: {\n variant: {\n ghost: {\n boxShadow: 'none',\n '&:disabled': {\n boxShadow: 'none',\n },\n backgroundColor: 'transparent',\n '&:focus-visible': {\n backgroundColor: '$loContrast',\n },\n },\n },\n state: {\n invalid: {\n boxShadow: 'inset 0 0 0 1px $colors$textareaInvalidBorder',\n '&:focus-visible': {\n boxShadow: `inset 0 0 0 2px $colors$textareaInvalidBorder, ${FOCUS_SHADOW}`,\n },\n '@hover': {\n '&:hover': {\n '&::after': {\n backgroundColor: '$textareaInvalidBorder',\n },\n },\n },\n },\n },\n cursor: {\n default: {\n cursor: 'default',\n '@hover': {\n '&:hover:not(:read-only)': {\n cursor: 'text',\n },\n },\n '&:focus-visible:not(:read-only)': {\n cursor: 'text',\n },\n },\n text: {\n cursor: 'text',\n },\n },\n resize: {\n none: {\n resize: 'none',\n },\n both: {\n resize: 'both',\n },\n vertical: {\n resize: 'vertical',\n },\n horizontal: {\n resize: 'horizontal',\n },\n },\n endAdornment: {\n true: {\n paddingBottom: '$5',\n paddingRight: '$5',\n },\n },\n },\n defaultVariants: {\n cursor: 'default',\n resize: 'both',\n },\n compoundVariants: [\n {\n variant: 'ghost',\n state: 'invalid',\n css: {\n boxShadow: 'inset 0 0 0 1px $colors$textareaInvalidBorder',\n },\n },\n ],\n});\n\nconst TextareaWrapper = styled('div', {\n // Reset\n outline: 'none',\n lineHeight: 0,\n\n position: 'relative',\n display: 'inline-flex', // helps matching resizable content size\n backgroundColor: '$textareaBg',\n color: '$textareaPlaceholder',\n borderRadius: '$3',\n\n '&::before': {\n boxSizing: 'border-box',\n borderRadius: 'inherit',\n content: '\"\"',\n position: 'absolute',\n inset: 0,\n pointerEvents: 'none',\n },\n '&::after': {\n boxSizing: 'border-box',\n borderRadius: 'inherit',\n content: '\"\"',\n position: 'absolute',\n inset: 0,\n pointerEvents: 'none',\n },\n\n '&:focus-visible': {\n '&::before': {\n backgroundColor: '$textareaFocusBg',\n },\n '&::after': {\n backgroundColor: '$primary',\n opacity: 0.15,\n },\n },\n\n '@hover': {\n '&:hover': {\n '&::before': {\n backgroundColor: '$textareaHoverBg',\n },\n '&::after': {\n backgroundColor: '$primary',\n opacity: 0.05,\n },\n },\n },\n\n variants: {\n disabled: {\n true: {\n opacity: 0.7,\n color: '$textareaDisabledText',\n '@hover': {\n '&:hover': {\n '&::before': {\n backgroundColor: 'inherit',\n },\n '&::after': {\n backgroundColor: 'inherit',\n },\n },\n },\n },\n },\n state: {\n invalid: {\n '@hover': {\n '&:hover': {\n '&::after': {\n backgroundColor: '$textareaInvalidBorder',\n },\n },\n },\n },\n },\n },\n defaultVariants: {\n disabled: false,\n },\n});\n\nconst AdornmentWrapperEnd = styled('div', {\n position: 'absolute',\n bottom: '$2',\n right: '$3',\n minWidth: '$5',\n minHeight: '$5',\n display: 'flex',\n alignItems: 'center',\n justifyContent: 'center',\n});\n\nexport interface TextareaVariants\n extends Omit<VariantProps<typeof StyledTextarea>, 'endAdornment'> {}\n\nexport interface TextareaProps\n extends TextareaVariants,\n Omit<React.ComponentProps<typeof StyledTextarea>, 'endAdornment'> {\n label?: string;\n endAdornment?: React.ReactNode;\n rootCss?: CSS;\n}\n\nexport const Textarea = React.forwardRef<React.ElementRef<typeof StyledTextarea>, TextareaProps>(\n (\n { state, disabled, onFocus, onBlur, label, id, rootCss, css, endAdornment, ...props },\n forwardedRef\n ) => {\n const [hasFocus, setHasFocus] = React.useState(false);\n\n const invalid = React.useMemo(() => state === 'invalid', [state]);\n\n const hasEndAdornment = React.useMemo(() => Boolean(endAdornment), [endAdornment]);\n\n const labelVariant = React.useMemo(() => {\n if (disabled) {\n return 'subtle';\n }\n if (invalid) {\n return 'invalid';\n }\n if (hasFocus) {\n return 'contrast';\n }\n return 'default';\n }, [invalid, disabled, hasFocus]);\n\n const handleFocus = React.useCallback(\n (e: React.FocusEvent<HTMLTextAreaElement>) => {\n if (onFocus) {\n onFocus(e);\n }\n setHasFocus(true);\n },\n [onFocus, setHasFocus]\n );\n\n const handleBlur = React.useCallback(\n (e: React.FocusEvent<HTMLTextAreaElement>) => {\n if (onBlur) {\n onBlur(e);\n }\n setHasFocus(false);\n },\n [onBlur, setHasFocus]\n );\n\n return (\n <Box css={rootCss}>\n {label && (\n <Label variant={labelVariant} htmlFor={id} css={{ display: 'block' }}>\n {label}\n </Label>\n )}\n <TextareaWrapper state={state} disabled={disabled}>\n <StyledTextarea\n id={id}\n ref={forwardedRef}\n css={css}\n disabled={disabled}\n state={state}\n onFocus={handleFocus}\n onBlur={handleBlur}\n endAdornment={hasEndAdornment}\n {...props}\n />\n {hasEndAdornment && <AdornmentWrapperEnd>{endAdornment}</AdornmentWrapperEnd>}\n </TextareaWrapper>\n </Box>\n );\n }\n);\n"],"mappings":";;;;;;;;;AAQA,IAAM,eAAeA,kBAAAA,kBAAkB,EAAE,CAAC;AAG1C,IAAM,iBAAiBC,wBAAAA,OAAO,YAAY;CAExC,YAAY;CACZ,UAAU;CACV,aAAa;CACb,WAAW;CACX,YAAY;CACZ,QAAQ;CACR,SAAS;CACT,yBAAyB;CAGzB,GAAG;CACH,UAAU;CACV,UAAU;CACV,iBAAiB;CACjB,cAAc;CACd,WAAW;CACX,OAAO;CACP,oBAAoB;CACpB,YAAY;CAEZ,iCAAiC,EAC/B,WAAW,+EACb;CAEA,yDAAyD;EACvD,YAAY;EACZ,OAAO;CACT;CAEA,mBAAmB,EACjB,WAAW,gDAAgD,eAC7D;CAEA,kBAAkB,EAChB,OAAO,uBACT;CAEA,8BAA8B,EAC5B,WAAW,OACb;CAEA,cAAc;EACZ,eAAe;EACf,SAAS;EACT,OAAO;CACT;CACA,UAAU;EACR,SAAS,EACP,OAAO;GACL,WAAW;GACX,cAAc,EACZ,WAAW,OACb;GACA,iBAAiB;GACjB,mBAAmB,EACjB,iBAAiB,cACnB;EACF,EACF;EACA,OAAO,EACL,SAAS;GACP,WAAW;GACX,mBAAmB,EACjB,WAAW,kDAAkD,eAC/D;GACA,UAAU,EACR,WAAW,EACT,YAAY,EACV,iBAAiB,yBACnB,EACF,EACF;EACF,EACF;EACA,QAAQ;GACN,SAAS;IACP,QAAQ;IACR,UAAU,EACR,2BAA2B,EACzB,QAAQ,OACV,EACF;IACA,mCAAmC,EACjC,QAAQ,OACV;GACF;GACA,MAAM,EACJ,QAAQ,OACV;EACF;EACA,QAAQ;GACN,MAAM,EACJ,QAAQ,OACV;GACA,MAAM,EACJ,QAAQ,OACV;GACA,UAAU,EACR,QAAQ,WACV;GACA,YAAY,EACV,QAAQ,aACV;EACF;EACA,cAAc,EACZ,MAAM;GACJ,eAAe;GACf,cAAc;EAChB,EACF;CACF;CACA,iBAAiB;EACf,QAAQ;EACR,QAAQ;CACV;CACA,kBAAkB,CAChB;EACE,SAAS;EACT,OAAO;EACP,KAAK,EACH,WAAW,gDACb;CACF,CACF;AACF,CAAC;AAED,IAAM,kBAAkBA,wBAAAA,OAAO,OAAO;CAEpC,SAAS;CACT,YAAY;CAEZ,UAAU;CACV,SAAS;CACT,iBAAiB;CACjB,OAAO;CACP,cAAc;CAEd,aAAa;EACX,WAAW;EACX,cAAc;EACd,SAAS;EACT,UAAU;EACV,OAAO;EACP,eAAe;CACjB;CACA,YAAY;EACV,WAAW;EACX,cAAc;EACd,SAAS;EACT,UAAU;EACV,OAAO;EACP,eAAe;CACjB;CAEA,mBAAmB;EACjB,aAAa,EACX,iBAAiB,mBACnB;EACA,YAAY;GACV,iBAAiB;GACjB,SAAS;EACX;CACF;CAEA,UAAU,EACR,WAAW;EACT,aAAa,EACX,iBAAiB,mBACnB;EACA,YAAY;GACV,iBAAiB;GACjB,SAAS;EACX;CACF,EACF;CAEA,UAAU;EACR,UAAU,EACR,MAAM;GACJ,SAAS;GACT,OAAO;GACP,UAAU,EACR,WAAW;IACT,aAAa,EACX,iBAAiB,UACnB;IACA,YAAY,EACV,iBAAiB,UACnB;GACF,EACF;EACF,EACF;EACA,OAAO,EACL,SAAS,EACP,UAAU,EACR,WAAW,EACT,YAAY,EACV,iBAAiB,yBACnB,EACF,EACF,EACF,EACF;CACF;CACA,iBAAiB,EACf,UAAU,MACZ;AACF,CAAC;AAED,IAAM,sBAAsBA,wBAAAA,OAAO,OAAO;CACxC,UAAU;CACV,QAAQ;CACR,OAAO;CACP,UAAU;CACV,WAAW;CACX,SAAS;CACT,YAAY;CACZ,gBAAgB;AAClB,CAAC;AAaD,IAAa,WAAWC,MAAAA,QAAM,YAE1B,EAAE,OAAO,UAAU,SAAS,QAAQ,OAAO,IAAI,SAAS,KAAK,cAAc,GAAG,SAC9E,iBACG;CACH,MAAM,CAAC,UAAU,eAAeA,MAAAA,QAAM,SAAS,KAAK;CAEpD,MAAM,UAAUA,MAAAA,QAAM,cAAc,UAAU,WAAW,CAAC,KAAK,CAAC;CAEhE,MAAM,kBAAkBA,MAAAA,QAAM,cAAc,QAAQ,YAAY,GAAG,CAAC,YAAY,CAAC;CAEjF,MAAM,eAAeA,MAAAA,QAAM,cAAc;EACvC,IAAI,UACF,OAAO;EAET,IAAI,SACF,OAAO;EAET,IAAI,UACF,OAAO;EAET,OAAO;CACT,GAAG;EAAC;EAAS;EAAU;CAAQ,CAAC;CAEhC,MAAM,cAAcA,MAAAA,QAAM,aACvB,MAA6C;EAC5C,IAAI,SACF,QAAQ,CAAC;EAEX,YAAY,IAAI;CAClB,GACA,CAAC,SAAS,WAAW,CACvB;CAEA,MAAM,aAAaA,MAAAA,QAAM,aACtB,MAA6C;EAC5C,IAAI,QACF,OAAO,CAAC;EAEV,YAAY,KAAK;CACnB,GACA,CAAC,QAAQ,WAAW,CACtB;CAEA,OACE,iBAAA,GAAA,kBAAA,KAAA,CAACC,YAAAA,KAAD;EAAK,KAAK;EAAV,UAAA,CACG,SACC,iBAAA,GAAA,kBAAA,IAAA,CAACC,cAAAA,OAAD;GAAO,SAAS;GAAc,SAAS;GAAI,KAAK,EAAE,SAAS,QAAQ;GAChE,UAAA;EACI,CAAA,GAET,iBAAA,GAAA,kBAAA,KAAA,CAAC,iBAAD;GAAwB;GAAiB;GAAzC,UAAA,CACE,iBAAA,GAAA,kBAAA,IAAA,CAAC,gBAAD;IACM;IACJ,KAAK;IACA;IACK;IACH;IACP,SAAS;IACT,QAAQ;IACR,cAAc;IACd,GAAI;GACL,CAAA,GACA,mBAAmB,iBAAA,GAAA,kBAAA,IAAA,CAAC,qBAAD,EAAA,UAAsB,aAAkC,CAAA,CAC7D;EACd,CAAA,CAAA;;AAET,CACF"}
@@ -4,7 +4,7 @@ import { elevationVariants } from "../Elevation/Elevation.js";
4
4
  import { Label } from "../Label/Label.js";
5
5
  import React from "react";
6
6
  import { jsx, jsxs } from "react/jsx-runtime";
7
- //#region components/Textarea/Textarea.tsx
7
+ // components/Textarea/Textarea.tsx
8
8
  var FOCUS_SHADOW = elevationVariants[1].boxShadow;
9
9
  var StyledTextarea = styled("textarea", {
10
10
  appearance: "none",
@@ -185,7 +185,6 @@ var Textarea = React.forwardRef(({ state, disabled, onFocus, onBlur, label, id,
185
185
  })]
186
186
  });
187
187
  });
188
- //#endregion
189
188
  export { Textarea };
190
189
 
191
190
  //# sourceMappingURL=Textarea.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"Textarea.js","names":[],"sources":["../../../components/Textarea/Textarea.tsx"],"sourcesContent":["import React from 'react';\n\nimport { CSS, styled, VariantProps } from '../../stitches.config';\nimport { Box } from '../Box';\nimport { elevationVariants } from '../Elevation';\nimport { Label } from '../Label';\n\n// CONSTANTS\nconst FOCUS_SHADOW = elevationVariants[1].boxShadow; // apply elevation $1 when focus\n\n// COMPONENTS\nconst StyledTextarea = styled('textarea', {\n // Reset\n appearance: 'none',\n overflow: 'auto', // force overflow auto behaviour cross-browser\n borderWidth: '0',\n boxSizing: 'border-box',\n fontFamily: '$rubik',\n margin: '0',\n outline: 'none',\n WebkitTapHighlightColor: 'rgba(0,0,0,0)',\n\n // Custom\n p: '$3',\n position: 'relative',\n flexGrow: 1, // make sure to grow fully inside TextareaWrapper\n backgroundColor: 'transparent',\n borderRadius: 'inherit', // inherit border radius from TextareaWrapper\n boxShadow: 'inset 0 0 0 1px $colors$textareaBorder',\n color: '$textareaText',\n fontVariantNumeric: 'tabular-nums',\n transition: 'box-shadow .1s ease-in-out',\n\n '&:-webkit-autofill,&:autofill': {\n boxShadow: 'inset 0 0 0 1px $colors$textareaBorder, inset 0 0 0 100px $colors$textareaBg',\n },\n\n '&:-webkit-autofill::first-line,&:autofill::first-line': {\n fontFamily: '$rubik',\n color: '$hiContrast',\n },\n\n '&:focus-visible': {\n boxShadow: `inset 0 0 0 2px $colors$textareaFocusBorder, ${FOCUS_SHADOW}`,\n },\n\n '&::placeholder': {\n color: '$textareaPlaceholder',\n },\n\n '&:read-only:not(:disabled)': {\n boxShadow: 'none',\n },\n\n '&:disabled': {\n pointerEvents: 'none',\n opacity: 0.7,\n color: '$textareaDisabledText',\n },\n variants: {\n variant: {\n ghost: {\n boxShadow: 'none',\n '&:disabled': {\n boxShadow: 'none',\n },\n backgroundColor: 'transparent',\n '&:focus-visible': {\n backgroundColor: '$loContrast',\n },\n },\n },\n state: {\n invalid: {\n boxShadow: 'inset 0 0 0 1px $colors$textareaInvalidBorder',\n '&:focus-visible': {\n boxShadow: `inset 0 0 0 2px $colors$textareaInvalidBorder, ${FOCUS_SHADOW}`,\n },\n '@hover': {\n '&:hover': {\n '&::after': {\n backgroundColor: '$textareaInvalidBorder',\n },\n },\n },\n },\n },\n cursor: {\n default: {\n cursor: 'default',\n '@hover': {\n '&:hover:not(:read-only)': {\n cursor: 'text',\n },\n },\n '&:focus-visible:not(:read-only)': {\n cursor: 'text',\n },\n },\n text: {\n cursor: 'text',\n },\n },\n resize: {\n none: {\n resize: 'none',\n },\n both: {\n resize: 'both',\n },\n vertical: {\n resize: 'vertical',\n },\n horizontal: {\n resize: 'horizontal',\n },\n },\n endAdornment: {\n true: {\n paddingBottom: '$5',\n paddingRight: '$5',\n },\n },\n },\n defaultVariants: {\n cursor: 'default',\n resize: 'both',\n },\n compoundVariants: [\n {\n variant: 'ghost',\n state: 'invalid',\n css: {\n boxShadow: 'inset 0 0 0 1px $colors$textareaInvalidBorder',\n },\n },\n ],\n});\n\nconst TextareaWrapper = styled('div', {\n // Reset\n outline: 'none',\n lineHeight: 0,\n\n position: 'relative',\n display: 'inline-flex', // helps matching resizable content size\n backgroundColor: '$textareaBg',\n color: '$textareaPlaceholder',\n borderRadius: '$3',\n\n '&::before': {\n boxSizing: 'border-box',\n borderRadius: 'inherit',\n content: '\"\"',\n position: 'absolute',\n inset: 0,\n pointerEvents: 'none',\n },\n '&::after': {\n boxSizing: 'border-box',\n borderRadius: 'inherit',\n content: '\"\"',\n position: 'absolute',\n inset: 0,\n pointerEvents: 'none',\n },\n\n '&:focus-visible': {\n '&::before': {\n backgroundColor: '$textareaFocusBg',\n },\n '&::after': {\n backgroundColor: '$primary',\n opacity: 0.15,\n },\n },\n\n '@hover': {\n '&:hover': {\n '&::before': {\n backgroundColor: '$textareaHoverBg',\n },\n '&::after': {\n backgroundColor: '$primary',\n opacity: 0.05,\n },\n },\n },\n\n variants: {\n disabled: {\n true: {\n opacity: 0.7,\n color: '$textareaDisabledText',\n '@hover': {\n '&:hover': {\n '&::before': {\n backgroundColor: 'inherit',\n },\n '&::after': {\n backgroundColor: 'inherit',\n },\n },\n },\n },\n },\n state: {\n invalid: {\n '@hover': {\n '&:hover': {\n '&::after': {\n backgroundColor: '$textareaInvalidBorder',\n },\n },\n },\n },\n },\n },\n defaultVariants: {\n disabled: false,\n },\n});\n\nconst AdornmentWrapperEnd = styled('div', {\n position: 'absolute',\n bottom: '$2',\n right: '$3',\n minWidth: '$5',\n minHeight: '$5',\n display: 'flex',\n alignItems: 'center',\n justifyContent: 'center',\n});\n\nexport interface TextareaVariants\n extends Omit<VariantProps<typeof StyledTextarea>, 'endAdornment'> {}\n\nexport interface TextareaProps\n extends TextareaVariants,\n Omit<React.ComponentProps<typeof StyledTextarea>, 'endAdornment'> {\n label?: string;\n endAdornment?: React.ReactNode;\n rootCss?: CSS;\n}\n\nexport const Textarea = React.forwardRef<React.ElementRef<typeof StyledTextarea>, TextareaProps>(\n (\n { state, disabled, onFocus, onBlur, label, id, rootCss, css, endAdornment, ...props },\n forwardedRef\n ) => {\n const [hasFocus, setHasFocus] = React.useState(false);\n\n const invalid = React.useMemo(() => state === 'invalid', [state]);\n\n const hasEndAdornment = React.useMemo(() => Boolean(endAdornment), [endAdornment]);\n\n const labelVariant = React.useMemo(() => {\n if (disabled) {\n return 'subtle';\n }\n if (invalid) {\n return 'invalid';\n }\n if (hasFocus) {\n return 'contrast';\n }\n return 'default';\n }, [invalid, disabled, hasFocus]);\n\n const handleFocus = React.useCallback(\n (e: React.FocusEvent<HTMLTextAreaElement>) => {\n if (onFocus) {\n onFocus(e);\n }\n setHasFocus(true);\n },\n [onFocus, setHasFocus]\n );\n\n const handleBlur = React.useCallback(\n (e: React.FocusEvent<HTMLTextAreaElement>) => {\n if (onBlur) {\n onBlur(e);\n }\n setHasFocus(false);\n },\n [onBlur, setHasFocus]\n );\n\n return (\n <Box css={rootCss}>\n {label && (\n <Label variant={labelVariant} htmlFor={id} css={{ display: 'block' }}>\n {label}\n </Label>\n )}\n <TextareaWrapper state={state} disabled={disabled}>\n <StyledTextarea\n id={id}\n ref={forwardedRef}\n css={css}\n disabled={disabled}\n state={state}\n onFocus={handleFocus}\n onBlur={handleBlur}\n endAdornment={hasEndAdornment}\n {...props}\n />\n {hasEndAdornment && <AdornmentWrapperEnd>{endAdornment}</AdornmentWrapperEnd>}\n </TextareaWrapper>\n </Box>\n );\n }\n);\n"],"mappings":"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"}
1
+ {"version":3,"file":"Textarea.js","names":[],"sources":["../../../components/Textarea/Textarea.tsx"],"sourcesContent":["import React from 'react';\n\nimport { CSS, styled, VariantProps } from '../../stitches.config';\nimport { Box } from '../Box';\nimport { elevationVariants } from '../Elevation';\nimport { Label } from '../Label';\n\n// CONSTANTS\nconst FOCUS_SHADOW = elevationVariants[1].boxShadow; // apply elevation $1 when focus\n\n// COMPONENTS\nconst StyledTextarea = styled('textarea', {\n // Reset\n appearance: 'none',\n overflow: 'auto', // force overflow auto behaviour cross-browser\n borderWidth: '0',\n boxSizing: 'border-box',\n fontFamily: '$rubik',\n margin: '0',\n outline: 'none',\n WebkitTapHighlightColor: 'rgba(0,0,0,0)',\n\n // Custom\n p: '$3',\n position: 'relative',\n flexGrow: 1, // make sure to grow fully inside TextareaWrapper\n backgroundColor: 'transparent',\n borderRadius: 'inherit', // inherit border radius from TextareaWrapper\n boxShadow: 'inset 0 0 0 1px $colors$textareaBorder',\n color: '$textareaText',\n fontVariantNumeric: 'tabular-nums',\n transition: 'box-shadow .1s ease-in-out',\n\n '&:-webkit-autofill,&:autofill': {\n boxShadow: 'inset 0 0 0 1px $colors$textareaBorder, inset 0 0 0 100px $colors$textareaBg',\n },\n\n '&:-webkit-autofill::first-line,&:autofill::first-line': {\n fontFamily: '$rubik',\n color: '$hiContrast',\n },\n\n '&:focus-visible': {\n boxShadow: `inset 0 0 0 2px $colors$textareaFocusBorder, ${FOCUS_SHADOW}`,\n },\n\n '&::placeholder': {\n color: '$textareaPlaceholder',\n },\n\n '&:read-only:not(:disabled)': {\n boxShadow: 'none',\n },\n\n '&:disabled': {\n pointerEvents: 'none',\n opacity: 0.7,\n color: '$textareaDisabledText',\n },\n variants: {\n variant: {\n ghost: {\n boxShadow: 'none',\n '&:disabled': {\n boxShadow: 'none',\n },\n backgroundColor: 'transparent',\n '&:focus-visible': {\n backgroundColor: '$loContrast',\n },\n },\n },\n state: {\n invalid: {\n boxShadow: 'inset 0 0 0 1px $colors$textareaInvalidBorder',\n '&:focus-visible': {\n boxShadow: `inset 0 0 0 2px $colors$textareaInvalidBorder, ${FOCUS_SHADOW}`,\n },\n '@hover': {\n '&:hover': {\n '&::after': {\n backgroundColor: '$textareaInvalidBorder',\n },\n },\n },\n },\n },\n cursor: {\n default: {\n cursor: 'default',\n '@hover': {\n '&:hover:not(:read-only)': {\n cursor: 'text',\n },\n },\n '&:focus-visible:not(:read-only)': {\n cursor: 'text',\n },\n },\n text: {\n cursor: 'text',\n },\n },\n resize: {\n none: {\n resize: 'none',\n },\n both: {\n resize: 'both',\n },\n vertical: {\n resize: 'vertical',\n },\n horizontal: {\n resize: 'horizontal',\n },\n },\n endAdornment: {\n true: {\n paddingBottom: '$5',\n paddingRight: '$5',\n },\n },\n },\n defaultVariants: {\n cursor: 'default',\n resize: 'both',\n },\n compoundVariants: [\n {\n variant: 'ghost',\n state: 'invalid',\n css: {\n boxShadow: 'inset 0 0 0 1px $colors$textareaInvalidBorder',\n },\n },\n ],\n});\n\nconst TextareaWrapper = styled('div', {\n // Reset\n outline: 'none',\n lineHeight: 0,\n\n position: 'relative',\n display: 'inline-flex', // helps matching resizable content size\n backgroundColor: '$textareaBg',\n color: '$textareaPlaceholder',\n borderRadius: '$3',\n\n '&::before': {\n boxSizing: 'border-box',\n borderRadius: 'inherit',\n content: '\"\"',\n position: 'absolute',\n inset: 0,\n pointerEvents: 'none',\n },\n '&::after': {\n boxSizing: 'border-box',\n borderRadius: 'inherit',\n content: '\"\"',\n position: 'absolute',\n inset: 0,\n pointerEvents: 'none',\n },\n\n '&:focus-visible': {\n '&::before': {\n backgroundColor: '$textareaFocusBg',\n },\n '&::after': {\n backgroundColor: '$primary',\n opacity: 0.15,\n },\n },\n\n '@hover': {\n '&:hover': {\n '&::before': {\n backgroundColor: '$textareaHoverBg',\n },\n '&::after': {\n backgroundColor: '$primary',\n opacity: 0.05,\n },\n },\n },\n\n variants: {\n disabled: {\n true: {\n opacity: 0.7,\n color: '$textareaDisabledText',\n '@hover': {\n '&:hover': {\n '&::before': {\n backgroundColor: 'inherit',\n },\n '&::after': {\n backgroundColor: 'inherit',\n },\n },\n },\n },\n },\n state: {\n invalid: {\n '@hover': {\n '&:hover': {\n '&::after': {\n backgroundColor: '$textareaInvalidBorder',\n },\n },\n },\n },\n },\n },\n defaultVariants: {\n disabled: false,\n },\n});\n\nconst AdornmentWrapperEnd = styled('div', {\n position: 'absolute',\n bottom: '$2',\n right: '$3',\n minWidth: '$5',\n minHeight: '$5',\n display: 'flex',\n alignItems: 'center',\n justifyContent: 'center',\n});\n\nexport interface TextareaVariants\n extends Omit<VariantProps<typeof StyledTextarea>, 'endAdornment'> {}\n\nexport interface TextareaProps\n extends TextareaVariants,\n Omit<React.ComponentProps<typeof StyledTextarea>, 'endAdornment'> {\n label?: string;\n endAdornment?: React.ReactNode;\n rootCss?: CSS;\n}\n\nexport const Textarea = React.forwardRef<React.ElementRef<typeof StyledTextarea>, TextareaProps>(\n (\n { state, disabled, onFocus, onBlur, label, id, rootCss, css, endAdornment, ...props },\n forwardedRef\n ) => {\n const [hasFocus, setHasFocus] = React.useState(false);\n\n const invalid = React.useMemo(() => state === 'invalid', [state]);\n\n const hasEndAdornment = React.useMemo(() => Boolean(endAdornment), [endAdornment]);\n\n const labelVariant = React.useMemo(() => {\n if (disabled) {\n return 'subtle';\n }\n if (invalid) {\n return 'invalid';\n }\n if (hasFocus) {\n return 'contrast';\n }\n return 'default';\n }, [invalid, disabled, hasFocus]);\n\n const handleFocus = React.useCallback(\n (e: React.FocusEvent<HTMLTextAreaElement>) => {\n if (onFocus) {\n onFocus(e);\n }\n setHasFocus(true);\n },\n [onFocus, setHasFocus]\n );\n\n const handleBlur = React.useCallback(\n (e: React.FocusEvent<HTMLTextAreaElement>) => {\n if (onBlur) {\n onBlur(e);\n }\n setHasFocus(false);\n },\n [onBlur, setHasFocus]\n );\n\n return (\n <Box css={rootCss}>\n {label && (\n <Label variant={labelVariant} htmlFor={id} css={{ display: 'block' }}>\n {label}\n </Label>\n )}\n <TextareaWrapper state={state} disabled={disabled}>\n <StyledTextarea\n id={id}\n ref={forwardedRef}\n css={css}\n disabled={disabled}\n state={state}\n onFocus={handleFocus}\n onBlur={handleBlur}\n endAdornment={hasEndAdornment}\n {...props}\n />\n {hasEndAdornment && <AdornmentWrapperEnd>{endAdornment}</AdornmentWrapperEnd>}\n </TextareaWrapper>\n </Box>\n );\n }\n);\n"],"mappings":"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"}
@@ -1,7 +1,7 @@
1
1
  const require_runtime = require("../../_virtual/_rolldown/runtime.cjs");
2
2
  let tinycolor2 = require("tinycolor2");
3
3
  tinycolor2 = require_runtime.__toESM(tinycolor2, 1);
4
- //#region components/Textarea/Textarea.theme.ts
4
+ // components/Textarea/Textarea.theme.ts
5
5
  var textareaLightTheme = {
6
6
  textareaBg: "hsl(240, 14.0%, 99.0%)",
7
7
  textareaBorder: "hsl(208, 9.0%, 73.0%)",
@@ -24,7 +24,6 @@ var textareaDarkTheme = {
24
24
  textareaDisabledText: (0, tinycolor2.default)("white").setAlpha(.35).toHslString(),
25
25
  textareaInvalidBorder: "hsl(358, 75%, 59%)"
26
26
  };
27
- //#endregion
28
27
  exports.textareaDarkTheme = textareaDarkTheme;
29
28
  exports.textareaLightTheme = textareaLightTheme;
30
29
 
@@ -1 +1 @@
1
- {"version":3,"file":"Textarea.theme.cjs","names":[],"sources":["../../../components/Textarea/Textarea.theme.ts"],"sourcesContent":["import tinycolor from 'tinycolor2';\n\n// Plain TypeScript color tokens (no vanilla-extract)\n// Using default blue primary color for static tokens\nexport const textareaLightTheme = {\n textareaBg: 'hsl(240, 14.0%, 99.0%)', // $deepBlue1\n textareaBorder: 'hsl(208, 9.0%, 73.0%)', // $grayBlue9\n textareaFocusBg: tinycolor('black').setAlpha(0.15).toHslString(),\n textareaFocusBorder: 'hsl(206, 100%, 50%)', // blue8\n textareaHoverBg: 'hsla(0, 0%, 100%, 0.372)', // $whiteA9\n textareaText: tinycolor('black').setAlpha(0.74).toHslString(),\n textareaPlaceholder: 'hsla(0, 0%, 0%, 0.498)', // $blackA10\n textareaDisabledText: tinycolor('black').setAlpha(0.35).toHslString(),\n textareaInvalidBorder: 'hsl(358, 75%, 59%)', // $red9\n};\n\nexport const textareaDarkTheme = {\n textareaBg: 'hsl(209, 38.0%, 12.0%)', // $grayBlue7 dark\n textareaBorder: 'hsl(208, 11.0%, 45.0%)', // $grayBlue9 dark\n textareaFocusBg: tinycolor('black').setAlpha(0.15).toHslString(),\n textareaFocusBorder: 'hsl(206, 100%, 70%)', // blue11\n textareaHoverBg: 'hsla(0, 0%, 100%, 0.104)', // $whiteA4\n textareaText: tinycolor('white').setAlpha(0.8).toHslString(),\n textareaPlaceholder: 'hsla(0, 0%, 100%, 0.455)', // $whiteA10\n textareaDisabledText: tinycolor('white').setAlpha(0.35).toHslString(),\n textareaInvalidBorder: 'hsl(358, 75%, 59%)', // $red9\n};\n"],"mappings":";;;;AAIA,IAAa,qBAAqB;CAChC,YAAY;CACZ,gBAAgB;CAChB,kBAAA,GAAA,WAAA,QAAA,CAA2B,OAAO,CAAC,CAAC,SAAS,GAAI,CAAC,CAAC,YAAY;CAC/D,qBAAqB;CACrB,iBAAiB;CACjB,eAAA,GAAA,WAAA,QAAA,CAAwB,OAAO,CAAC,CAAC,SAAS,GAAI,CAAC,CAAC,YAAY;CAC5D,qBAAqB;CACrB,uBAAA,GAAA,WAAA,QAAA,CAAgC,OAAO,CAAC,CAAC,SAAS,GAAI,CAAC,CAAC,YAAY;CACpE,uBAAuB;AACzB;AAEA,IAAa,oBAAoB;CAC/B,YAAY;CACZ,gBAAgB;CAChB,kBAAA,GAAA,WAAA,QAAA,CAA2B,OAAO,CAAC,CAAC,SAAS,GAAI,CAAC,CAAC,YAAY;CAC/D,qBAAqB;CACrB,iBAAiB;CACjB,eAAA,GAAA,WAAA,QAAA,CAAwB,OAAO,CAAC,CAAC,SAAS,EAAG,CAAC,CAAC,YAAY;CAC3D,qBAAqB;CACrB,uBAAA,GAAA,WAAA,QAAA,CAAgC,OAAO,CAAC,CAAC,SAAS,GAAI,CAAC,CAAC,YAAY;CACpE,uBAAuB;AACzB"}
1
+ {"version":3,"file":"Textarea.theme.cjs","names":["tinycolor"],"sources":["../../../components/Textarea/Textarea.theme.ts"],"sourcesContent":["import tinycolor from 'tinycolor2';\n\n// Plain TypeScript color tokens (no vanilla-extract)\n// Using default blue primary color for static tokens\nexport const textareaLightTheme = {\n textareaBg: 'hsl(240, 14.0%, 99.0%)', // $deepBlue1\n textareaBorder: 'hsl(208, 9.0%, 73.0%)', // $grayBlue9\n textareaFocusBg: tinycolor('black').setAlpha(0.15).toHslString(),\n textareaFocusBorder: 'hsl(206, 100%, 50%)', // blue8\n textareaHoverBg: 'hsla(0, 0%, 100%, 0.372)', // $whiteA9\n textareaText: tinycolor('black').setAlpha(0.74).toHslString(),\n textareaPlaceholder: 'hsla(0, 0%, 0%, 0.498)', // $blackA10\n textareaDisabledText: tinycolor('black').setAlpha(0.35).toHslString(),\n textareaInvalidBorder: 'hsl(358, 75%, 59%)', // $red9\n};\n\nexport const textareaDarkTheme = {\n textareaBg: 'hsl(209, 38.0%, 12.0%)', // $grayBlue7 dark\n textareaBorder: 'hsl(208, 11.0%, 45.0%)', // $grayBlue9 dark\n textareaFocusBg: tinycolor('black').setAlpha(0.15).toHslString(),\n textareaFocusBorder: 'hsl(206, 100%, 70%)', // blue11\n textareaHoverBg: 'hsla(0, 0%, 100%, 0.104)', // $whiteA4\n textareaText: tinycolor('white').setAlpha(0.8).toHslString(),\n textareaPlaceholder: 'hsla(0, 0%, 100%, 0.455)', // $whiteA10\n textareaDisabledText: tinycolor('white').setAlpha(0.35).toHslString(),\n textareaInvalidBorder: 'hsl(358, 75%, 59%)', // $red9\n};\n"],"mappings":";;;;AAIA,IAAa,qBAAqB;CAChC,YAAY;CACZ,gBAAgB;CAChB,kBAAA,GAAiBA,WAAAA,QAAAA,CAAU,OAAO,CAAC,CAAC,SAAS,GAAI,CAAC,CAAC,YAAY;CAC/D,qBAAqB;CACrB,iBAAiB;CACjB,eAAA,GAAcA,WAAAA,QAAAA,CAAU,OAAO,CAAC,CAAC,SAAS,GAAI,CAAC,CAAC,YAAY;CAC5D,qBAAqB;CACrB,uBAAA,GAAsBA,WAAAA,QAAAA,CAAU,OAAO,CAAC,CAAC,SAAS,GAAI,CAAC,CAAC,YAAY;CACpE,uBAAuB;AACzB;AAEA,IAAa,oBAAoB;CAC/B,YAAY;CACZ,gBAAgB;CAChB,kBAAA,GAAiBA,WAAAA,QAAAA,CAAU,OAAO,CAAC,CAAC,SAAS,GAAI,CAAC,CAAC,YAAY;CAC/D,qBAAqB;CACrB,iBAAiB;CACjB,eAAA,GAAcA,WAAAA,QAAAA,CAAU,OAAO,CAAC,CAAC,SAAS,EAAG,CAAC,CAAC,YAAY;CAC3D,qBAAqB;CACrB,uBAAA,GAAsBA,WAAAA,QAAAA,CAAU,OAAO,CAAC,CAAC,SAAS,GAAI,CAAC,CAAC,YAAY;CACpE,uBAAuB;AACzB"}
@@ -1,5 +1,5 @@
1
1
  import tinycolor from "tinycolor2";
2
- //#region components/Textarea/Textarea.theme.ts
2
+ // components/Textarea/Textarea.theme.ts
3
3
  var textareaLightTheme = {
4
4
  textareaBg: "hsl(240, 14.0%, 99.0%)",
5
5
  textareaBorder: "hsl(208, 9.0%, 73.0%)",
@@ -22,7 +22,6 @@ var textareaDarkTheme = {
22
22
  textareaDisabledText: tinycolor("white").setAlpha(.35).toHslString(),
23
23
  textareaInvalidBorder: "hsl(358, 75%, 59%)"
24
24
  };
25
- //#endregion
26
25
  export { textareaDarkTheme, textareaLightTheme };
27
26
 
28
27
  //# sourceMappingURL=Textarea.theme.js.map
@@ -1,7 +1,7 @@
1
1
  const require_runtime = require("../../_virtual/_rolldown/runtime.cjs");
2
2
  let tinycolor2 = require("tinycolor2");
3
3
  tinycolor2 = require_runtime.__toESM(tinycolor2, 1);
4
- //#region components/Textarea/Textarea.themes.ts
4
+ // components/Textarea/Textarea.themes.ts
5
5
  var Theme;
6
6
  (function(_Theme) {
7
7
  _Theme.getLight = (primaryColor) => ({
@@ -27,7 +27,6 @@ var Theme;
27
27
  textareaInvalidBorder: "$red9"
28
28
  });
29
29
  })(Theme || (Theme = {}));
30
- //#endregion
31
30
  Object.defineProperty(exports, "Theme", {
32
31
  enumerable: true,
33
32
  get: function() {
@@ -1 +1 @@
1
- {"version":3,"file":"Textarea.themes.cjs","names":[],"sources":["../../../components/Textarea/Textarea.themes.ts"],"sourcesContent":["import { Property } from '@stitches/react/types/css';\nimport tinycolor from 'tinycolor2';\n\nimport { ColorInfo } from '../../utils/getPrimaryColorInfo';\n\nexport namespace Theme {\n export type Colors = {\n textareaBg: Property.Color;\n textareaBorder: Property.Color;\n textareaFocusBg: Property.Color;\n textareaFocusBorder: Property.Color;\n textareaHoverBg: Property.Color;\n textareaText: Property.Color;\n textareaPlaceholder: Property.Color;\n textareaDisabledText: Property.Color;\n textareaInvalidBorder: Property.Color;\n };\n\n type Factory = (primaryColor: ColorInfo) => Colors;\n\n export const getLight: Factory = (primaryColor) => ({\n textareaBg: '$deepBlue1',\n textareaBorder: '$grayBlue9',\n textareaFocusBg: tinycolor('black').setAlpha(0.15).toHslString(),\n textareaFocusBorder: primaryColor.helpers.pickScale(8),\n textareaHoverBg: '$whiteA9',\n textareaText: tinycolor('black').setAlpha(0.74).toHslString(),\n textareaPlaceholder: '$blackA10',\n textareaDisabledText: tinycolor('black').setAlpha(0.35).toHslString(),\n textareaInvalidBorder: '$red9',\n });\n\n export const getDark: Factory = (primaryColor) => ({\n textareaBg: '$grayBlue7',\n textareaBorder: '$grayBlue9',\n textareaFocusBg: tinycolor('black').setAlpha(0.15).toHslString(),\n textareaFocusBorder: primaryColor.helpers.pickScale(11),\n textareaHoverBg: '$whiteA4',\n textareaText: tinycolor('white').setAlpha(0.8).toHslString(),\n textareaPlaceholder: '$whiteA10',\n textareaDisabledText: tinycolor('white').setAlpha(0.35).toHslString(),\n textareaInvalidBorder: '$red9',\n });\n}\n"],"mappings":";;;;AAKO,IAAA;;CAeQ,OAAA,YAAqB,kBAAkB;EAClD,YAAY;EACZ,gBAAgB;EAChB,kBAAA,GAAA,WAAA,QAAA,CAA2B,OAAO,CAAC,CAAC,SAAS,GAAI,CAAC,CAAC,YAAY;EAC/D,qBAAqB,aAAa,QAAQ,UAAU,CAAC;EACrD,iBAAiB;EACjB,eAAA,GAAA,WAAA,QAAA,CAAwB,OAAO,CAAC,CAAC,SAAS,GAAI,CAAC,CAAC,YAAY;EAC5D,qBAAqB;EACrB,uBAAA,GAAA,WAAA,QAAA,CAAgC,OAAO,CAAC,CAAC,SAAS,GAAI,CAAC,CAAC,YAAY;EACpE,uBAAuB;CACzB;CAEa,OAAA,WAAoB,kBAAkB;EACjD,YAAY;EACZ,gBAAgB;EAChB,kBAAA,GAAA,WAAA,QAAA,CAA2B,OAAO,CAAC,CAAC,SAAS,GAAI,CAAC,CAAC,YAAY;EAC/D,qBAAqB,aAAa,QAAQ,UAAU,EAAE;EACtD,iBAAiB;EACjB,eAAA,GAAA,WAAA,QAAA,CAAwB,OAAO,CAAC,CAAC,SAAS,EAAG,CAAC,CAAC,YAAY;EAC3D,qBAAqB;EACrB,uBAAA,GAAA,WAAA,QAAA,CAAgC,OAAO,CAAC,CAAC,SAAS,GAAI,CAAC,CAAC,YAAY;EACpE,uBAAuB;CACzB;GACD,UAAA,QAAA,CAAA,EAAD"}
1
+ {"version":3,"file":"Textarea.themes.cjs","names":["tinycolor"],"sources":["../../../components/Textarea/Textarea.themes.ts"],"sourcesContent":["import { Property } from '@stitches/react/types/css';\nimport tinycolor from 'tinycolor2';\n\nimport { ColorInfo } from '../../utils/getPrimaryColorInfo';\n\nexport namespace Theme {\n export type Colors = {\n textareaBg: Property.Color;\n textareaBorder: Property.Color;\n textareaFocusBg: Property.Color;\n textareaFocusBorder: Property.Color;\n textareaHoverBg: Property.Color;\n textareaText: Property.Color;\n textareaPlaceholder: Property.Color;\n textareaDisabledText: Property.Color;\n textareaInvalidBorder: Property.Color;\n };\n\n type Factory = (primaryColor: ColorInfo) => Colors;\n\n export const getLight: Factory = (primaryColor) => ({\n textareaBg: '$deepBlue1',\n textareaBorder: '$grayBlue9',\n textareaFocusBg: tinycolor('black').setAlpha(0.15).toHslString(),\n textareaFocusBorder: primaryColor.helpers.pickScale(8),\n textareaHoverBg: '$whiteA9',\n textareaText: tinycolor('black').setAlpha(0.74).toHslString(),\n textareaPlaceholder: '$blackA10',\n textareaDisabledText: tinycolor('black').setAlpha(0.35).toHslString(),\n textareaInvalidBorder: '$red9',\n });\n\n export const getDark: Factory = (primaryColor) => ({\n textareaBg: '$grayBlue7',\n textareaBorder: '$grayBlue9',\n textareaFocusBg: tinycolor('black').setAlpha(0.15).toHslString(),\n textareaFocusBorder: primaryColor.helpers.pickScale(11),\n textareaHoverBg: '$whiteA4',\n textareaText: tinycolor('white').setAlpha(0.8).toHslString(),\n textareaPlaceholder: '$whiteA10',\n textareaDisabledText: tinycolor('white').setAlpha(0.35).toHslString(),\n textareaInvalidBorder: '$red9',\n });\n}\n"],"mappings":";;;;AAKO,IAAU;CAAV,SAAA,QAAA;CAeQ,OAAA,YAAqB,kBAAkB;EAClD,YAAY;EACZ,gBAAgB;EAChB,kBAAA,GAAiBA,WAAAA,QAAAA,CAAU,OAAO,CAAC,CAAC,SAAS,GAAI,CAAC,CAAC,YAAY;EAC/D,qBAAqB,aAAa,QAAQ,UAAU,CAAC;EACrD,iBAAiB;EACjB,eAAA,GAAcA,WAAAA,QAAAA,CAAU,OAAO,CAAC,CAAC,SAAS,GAAI,CAAC,CAAC,YAAY;EAC5D,qBAAqB;EACrB,uBAAA,GAAsBA,WAAAA,QAAAA,CAAU,OAAO,CAAC,CAAC,SAAS,GAAI,CAAC,CAAC,YAAY;EACpE,uBAAuB;CACzB;CAEa,OAAA,WAAoB,kBAAkB;EACjD,YAAY;EACZ,gBAAgB;EAChB,kBAAA,GAAiBA,WAAAA,QAAAA,CAAU,OAAO,CAAC,CAAC,SAAS,GAAI,CAAC,CAAC,YAAY;EAC/D,qBAAqB,aAAa,QAAQ,UAAU,EAAE;EACtD,iBAAiB;EACjB,eAAA,GAAcA,WAAAA,QAAAA,CAAU,OAAO,CAAC,CAAC,SAAS,EAAG,CAAC,CAAC,YAAY;EAC3D,qBAAqB;EACrB,uBAAA,GAAsBA,WAAAA,QAAAA,CAAU,OAAO,CAAC,CAAC,SAAS,GAAI,CAAC,CAAC,YAAY;EACpE,uBAAuB;CACzB;AACD,EAAA,CAAA,UAAA,QAAA,CAAA,EAAD"}
@@ -1,5 +1,5 @@
1
1
  import tinycolor from "tinycolor2";
2
- //#region components/Textarea/Textarea.themes.ts
2
+ // components/Textarea/Textarea.themes.ts
3
3
  var Theme;
4
4
  (function(_Theme) {
5
5
  _Theme.getLight = (primaryColor) => ({
@@ -25,7 +25,6 @@ var Theme;
25
25
  textareaInvalidBorder: "$red9"
26
26
  });
27
27
  })(Theme || (Theme = {}));
28
- //#endregion
29
28
  export { Theme };
30
29
 
31
30
  //# sourceMappingURL=Textarea.themes.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"Textarea.themes.js","names":[],"sources":["../../../components/Textarea/Textarea.themes.ts"],"sourcesContent":["import { Property } from '@stitches/react/types/css';\nimport tinycolor from 'tinycolor2';\n\nimport { ColorInfo } from '../../utils/getPrimaryColorInfo';\n\nexport namespace Theme {\n export type Colors = {\n textareaBg: Property.Color;\n textareaBorder: Property.Color;\n textareaFocusBg: Property.Color;\n textareaFocusBorder: Property.Color;\n textareaHoverBg: Property.Color;\n textareaText: Property.Color;\n textareaPlaceholder: Property.Color;\n textareaDisabledText: Property.Color;\n textareaInvalidBorder: Property.Color;\n };\n\n type Factory = (primaryColor: ColorInfo) => Colors;\n\n export const getLight: Factory = (primaryColor) => ({\n textareaBg: '$deepBlue1',\n textareaBorder: '$grayBlue9',\n textareaFocusBg: tinycolor('black').setAlpha(0.15).toHslString(),\n textareaFocusBorder: primaryColor.helpers.pickScale(8),\n textareaHoverBg: '$whiteA9',\n textareaText: tinycolor('black').setAlpha(0.74).toHslString(),\n textareaPlaceholder: '$blackA10',\n textareaDisabledText: tinycolor('black').setAlpha(0.35).toHslString(),\n textareaInvalidBorder: '$red9',\n });\n\n export const getDark: Factory = (primaryColor) => ({\n textareaBg: '$grayBlue7',\n textareaBorder: '$grayBlue9',\n textareaFocusBg: tinycolor('black').setAlpha(0.15).toHslString(),\n textareaFocusBorder: primaryColor.helpers.pickScale(11),\n textareaHoverBg: '$whiteA4',\n textareaText: tinycolor('white').setAlpha(0.8).toHslString(),\n textareaPlaceholder: '$whiteA10',\n textareaDisabledText: tinycolor('white').setAlpha(0.35).toHslString(),\n textareaInvalidBorder: '$red9',\n });\n}\n"],"mappings":";;AAKO,IAAA;;CAeQ,OAAA,YAAqB,kBAAkB;EAClD,YAAY;EACZ,gBAAgB;EAChB,iBAAiB,UAAU,OAAO,CAAC,CAAC,SAAS,GAAI,CAAC,CAAC,YAAY;EAC/D,qBAAqB,aAAa,QAAQ,UAAU,CAAC;EACrD,iBAAiB;EACjB,cAAc,UAAU,OAAO,CAAC,CAAC,SAAS,GAAI,CAAC,CAAC,YAAY;EAC5D,qBAAqB;EACrB,sBAAsB,UAAU,OAAO,CAAC,CAAC,SAAS,GAAI,CAAC,CAAC,YAAY;EACpE,uBAAuB;CACzB;CAEa,OAAA,WAAoB,kBAAkB;EACjD,YAAY;EACZ,gBAAgB;EAChB,iBAAiB,UAAU,OAAO,CAAC,CAAC,SAAS,GAAI,CAAC,CAAC,YAAY;EAC/D,qBAAqB,aAAa,QAAQ,UAAU,EAAE;EACtD,iBAAiB;EACjB,cAAc,UAAU,OAAO,CAAC,CAAC,SAAS,EAAG,CAAC,CAAC,YAAY;EAC3D,qBAAqB;EACrB,sBAAsB,UAAU,OAAO,CAAC,CAAC,SAAS,GAAI,CAAC,CAAC,YAAY;EACpE,uBAAuB;CACzB;GACD,UAAA,QAAA,CAAA,EAAD"}
1
+ {"version":3,"file":"Textarea.themes.js","names":[],"sources":["../../../components/Textarea/Textarea.themes.ts"],"sourcesContent":["import { Property } from '@stitches/react/types/css';\nimport tinycolor from 'tinycolor2';\n\nimport { ColorInfo } from '../../utils/getPrimaryColorInfo';\n\nexport namespace Theme {\n export type Colors = {\n textareaBg: Property.Color;\n textareaBorder: Property.Color;\n textareaFocusBg: Property.Color;\n textareaFocusBorder: Property.Color;\n textareaHoverBg: Property.Color;\n textareaText: Property.Color;\n textareaPlaceholder: Property.Color;\n textareaDisabledText: Property.Color;\n textareaInvalidBorder: Property.Color;\n };\n\n type Factory = (primaryColor: ColorInfo) => Colors;\n\n export const getLight: Factory = (primaryColor) => ({\n textareaBg: '$deepBlue1',\n textareaBorder: '$grayBlue9',\n textareaFocusBg: tinycolor('black').setAlpha(0.15).toHslString(),\n textareaFocusBorder: primaryColor.helpers.pickScale(8),\n textareaHoverBg: '$whiteA9',\n textareaText: tinycolor('black').setAlpha(0.74).toHslString(),\n textareaPlaceholder: '$blackA10',\n textareaDisabledText: tinycolor('black').setAlpha(0.35).toHslString(),\n textareaInvalidBorder: '$red9',\n });\n\n export const getDark: Factory = (primaryColor) => ({\n textareaBg: '$grayBlue7',\n textareaBorder: '$grayBlue9',\n textareaFocusBg: tinycolor('black').setAlpha(0.15).toHslString(),\n textareaFocusBorder: primaryColor.helpers.pickScale(11),\n textareaHoverBg: '$whiteA4',\n textareaText: tinycolor('white').setAlpha(0.8).toHslString(),\n textareaPlaceholder: '$whiteA10',\n textareaDisabledText: tinycolor('white').setAlpha(0.35).toHslString(),\n textareaInvalidBorder: '$red9',\n });\n}\n"],"mappings":";;AAKO,IAAU;CAAV,SAAA,QAAA;CAeQ,OAAA,YAAqB,kBAAkB;EAClD,YAAY;EACZ,gBAAgB;EAChB,iBAAiB,UAAU,OAAO,CAAC,CAAC,SAAS,GAAI,CAAC,CAAC,YAAY;EAC/D,qBAAqB,aAAa,QAAQ,UAAU,CAAC;EACrD,iBAAiB;EACjB,cAAc,UAAU,OAAO,CAAC,CAAC,SAAS,GAAI,CAAC,CAAC,YAAY;EAC5D,qBAAqB;EACrB,sBAAsB,UAAU,OAAO,CAAC,CAAC,SAAS,GAAI,CAAC,CAAC,YAAY;EACpE,uBAAuB;CACzB;CAEa,OAAA,WAAoB,kBAAkB;EACjD,YAAY;EACZ,gBAAgB;EAChB,iBAAiB,UAAU,OAAO,CAAC,CAAC,SAAS,GAAI,CAAC,CAAC,YAAY;EAC/D,qBAAqB,aAAa,QAAQ,UAAU,EAAE;EACtD,iBAAiB;EACjB,cAAc,UAAU,OAAO,CAAC,CAAC,SAAS,EAAG,CAAC,CAAC,YAAY;EAC3D,qBAAqB;EACrB,sBAAsB,UAAU,OAAO,CAAC,CAAC,SAAS,GAAI,CAAC,CAAC,YAAY;EACpE,uBAAuB;CACzB;AACD,EAAA,CAAA,UAAA,QAAA,CAAA,EAAD"}
@@ -7,7 +7,7 @@ let react = require("react");
7
7
  react = require_runtime.__toESM(react, 1);
8
8
  let _vanilla_extract_dynamic = require("@vanilla-extract/dynamic");
9
9
  let react_jsx_runtime = require("react/jsx-runtime");
10
- //#region components/Textarea/Textarea.vanilla.tsx
10
+ // components/Textarea/Textarea.vanilla.tsx
11
11
  var TextareaVanilla = react.default.forwardRef(({ state, disabled, onFocus, onBlur, label, id, rootCss, css, endAdornment, variant, cursor, resize, className, style, ...props }, forwardedRef) => {
12
12
  const [hasFocus, setHasFocus] = react.default.useState(false);
13
13
  const { colors } = require_themeContext.useVanillaExtractTheme();
@@ -79,7 +79,6 @@ var TextareaVanilla = react.default.forwardRef(({ state, disabled, onFocus, onBl
79
79
  });
80
80
  });
81
81
  TextareaVanilla.displayName = "TextareaVanilla";
82
- //#endregion
83
82
  exports.TextareaVanilla = TextareaVanilla;
84
83
 
85
84
  //# sourceMappingURL=Textarea.vanilla.cjs.map
@@ -1 +1 @@
1
- {"version":3,"file":"Textarea.vanilla.cjs","names":[],"sources":["../../../components/Textarea/Textarea.vanilla.tsx"],"sourcesContent":["import { assignInlineVars } from '@vanilla-extract/dynamic';\nimport { RecipeVariants } from '@vanilla-extract/recipes';\nimport React from 'react';\n\nimport { CSSProps, processCSSProp } from '../../styles/cssProps';\nimport { useVanillaExtractTheme } from '../../styles/themeContext';\nimport { LabelVanilla } from '../Label';\nimport {\n adornmentWrapperEnd,\n styledTextareaRecipe,\n textareaWrapperRecipe,\n} from './Textarea.vanilla.css';\n\ntype StyledTextareaRecipeVariants = NonNullable<RecipeVariants<typeof styledTextareaRecipe>>;\n\nexport interface TextareaVanillaOwnProps extends CSSProps {\n variant?: StyledTextareaRecipeVariants['variant'];\n state?: StyledTextareaRecipeVariants['state'];\n cursor?: StyledTextareaRecipeVariants['cursor'];\n resize?: StyledTextareaRecipeVariants['resize'];\n label?: string;\n endAdornment?: React.ReactNode;\n rootCss?: CSSProps['css'];\n}\n\nexport type TextareaVanillaProps = Omit<React.TextareaHTMLAttributes<HTMLTextAreaElement>, 'size'> &\n TextareaVanillaOwnProps;\n\nexport const TextareaVanilla = React.forwardRef<HTMLTextAreaElement, TextareaVanillaProps>(\n (\n {\n state,\n disabled,\n onFocus,\n onBlur,\n label,\n id,\n rootCss,\n css,\n endAdornment,\n variant,\n cursor,\n resize,\n className,\n style,\n ...props\n },\n forwardedRef,\n ) => {\n const [hasFocus, setHasFocus] = React.useState(false);\n const { colors } = useVanillaExtractTheme();\n\n const invalid = React.useMemo(() => state === 'invalid', [state]);\n const hasEndAdornment = React.useMemo(() => Boolean(endAdornment), [endAdornment]);\n\n const labelVariant = React.useMemo(() => {\n if (disabled) {\n return 'subtle';\n }\n if (invalid) {\n return 'invalid';\n }\n if (hasFocus) {\n return 'contrast';\n }\n return 'default';\n }, [invalid, disabled, hasFocus]);\n\n const handleFocus = React.useCallback(\n (e: React.FocusEvent<HTMLTextAreaElement>) => {\n if (onFocus) {\n onFocus(e);\n }\n setHasFocus(true);\n },\n [onFocus, setHasFocus],\n );\n\n const handleBlur = React.useCallback(\n (e: React.FocusEvent<HTMLTextAreaElement>) => {\n if (onBlur) {\n onBlur(e);\n }\n setHasFocus(false);\n },\n [onBlur, setHasFocus],\n );\n\n const { style: rootCssStyles, vars: rootVars } = processCSSProp(rootCss, colors);\n const rootMergedStyles = { ...rootCssStyles, ...assignInlineVars(rootVars) };\n\n const { style: cssStyles, vars } = processCSSProp(css, colors);\n const mergedStyles = { ...cssStyles, ...style, ...assignInlineVars(vars) };\n\n const textareaWrapperClass = textareaWrapperRecipe({ state, disabled });\n const styledTextareaClass = styledTextareaRecipe({\n variant,\n state,\n cursor,\n resize,\n endAdornment: hasEndAdornment,\n });\n\n return (\n <div style={rootMergedStyles}>\n {label && (\n <LabelVanilla variant={labelVariant} htmlFor={id} css={{ display: 'block' }}>\n {label}\n </LabelVanilla>\n )}\n <div className={textareaWrapperClass}>\n <textarea\n id={id}\n ref={forwardedRef}\n className={`${styledTextareaClass} ${className || ''}`.trim()}\n style={mergedStyles}\n disabled={disabled}\n onFocus={handleFocus}\n onBlur={handleBlur}\n {...props}\n />\n {hasEndAdornment && <div className={adornmentWrapperEnd}>{endAdornment}</div>}\n </div>\n </div>\n );\n },\n);\n\nTextareaVanilla.displayName = 'TextareaVanilla';\n"],"mappings":";;;;;;;;;;AA4BA,IAAa,kBAAkB,MAAA,QAAM,YAEjC,EACE,OACA,UACA,SACA,QACA,OACA,IACA,SACA,KACA,cACA,SACA,QACA,QACA,WACA,OACA,GAAG,SAEL,iBACG;CACH,MAAM,CAAC,UAAU,eAAe,MAAA,QAAM,SAAS,KAAK;CACpD,MAAM,EAAE,WAAW,qBAAA,uBAAuB;CAE1C,MAAM,UAAU,MAAA,QAAM,cAAc,UAAU,WAAW,CAAC,KAAK,CAAC;CAChE,MAAM,kBAAkB,MAAA,QAAM,cAAc,QAAQ,YAAY,GAAG,CAAC,YAAY,CAAC;CAEjF,MAAM,eAAe,MAAA,QAAM,cAAc;EACvC,IAAI,UACF,OAAO;EAET,IAAI,SACF,OAAO;EAET,IAAI,UACF,OAAO;EAET,OAAO;CACT,GAAG;EAAC;EAAS;EAAU;CAAQ,CAAC;CAEhC,MAAM,cAAc,MAAA,QAAM,aACvB,MAA6C;EAC5C,IAAI,SACF,QAAQ,CAAC;EAEX,YAAY,IAAI;CAClB,GACA,CAAC,SAAS,WAAW,CACvB;CAEA,MAAM,aAAa,MAAA,QAAM,aACtB,MAA6C;EAC5C,IAAI,QACF,OAAO,CAAC;EAEV,YAAY,KAAK;CACnB,GACA,CAAC,QAAQ,WAAW,CACtB;CAEA,MAAM,EAAE,OAAO,eAAe,MAAM,aAAa,iBAAA,eAAe,SAAS,MAAM;CAC/E,MAAM,mBAAmB;EAAE,GAAG;EAAe,IAAA,GAAA,yBAAA,iBAAA,CAAoB,QAAQ;CAAE;CAE3E,MAAM,EAAE,OAAO,WAAW,SAAS,iBAAA,eAAe,KAAK,MAAM;CAC7D,MAAM,eAAe;EAAE,GAAG;EAAW,GAAG;EAAO,IAAA,GAAA,yBAAA,iBAAA,CAAoB,IAAI;CAAE;CAEzE,MAAM,uBAAuB,6BAAA,sBAAsB;EAAE;EAAO;CAAS,CAAC;CACtE,MAAM,sBAAsB,6BAAA,qBAAqB;EAC/C;EACA;EACA;EACA;EACA,cAAc;CAChB,CAAC;CAED,OACE,iBAAA,GAAA,kBAAA,KAAA,CAAC,OAAD;EAAK,OAAO;YAAZ,CACG,SACC,iBAAA,GAAA,kBAAA,IAAA,CAAC,sBAAA,cAAD;GAAc,SAAS;GAAc,SAAS;GAAI,KAAK,EAAE,SAAS,QAAQ;aACvE;EACW,CAAA,GAEhB,iBAAA,GAAA,kBAAA,KAAA,CAAC,OAAD;GAAK,WAAW;aAAhB,CACE,iBAAA,GAAA,kBAAA,IAAA,CAAC,YAAD;IACM;IACJ,KAAK;IACL,WAAW,GAAG,oBAAoB,GAAG,aAAa,KAAK,KAAK;IAC5D,OAAO;IACG;IACV,SAAS;IACT,QAAQ;IACR,GAAI;GACL,CAAA,GACA,mBAAmB,iBAAA,GAAA,kBAAA,IAAA,CAAC,OAAD;IAAK,WAAA;cAAiC;GAAkB,CAAA,CACzE;IACF;;AAET,CACF;AAEA,gBAAgB,cAAc"}
1
+ {"version":3,"file":"Textarea.vanilla.cjs","names":["React","useVanillaExtractTheme","processCSSProp","assignInlineVars","textareaWrapperRecipe","styledTextareaRecipe","LabelVanilla"],"sources":["../../../components/Textarea/Textarea.vanilla.tsx"],"sourcesContent":["import { assignInlineVars } from '@vanilla-extract/dynamic';\nimport { RecipeVariants } from '@vanilla-extract/recipes';\nimport React from 'react';\n\nimport { CSSProps, processCSSProp } from '../../styles/cssProps';\nimport { useVanillaExtractTheme } from '../../styles/themeContext';\nimport { LabelVanilla } from '../Label';\nimport {\n adornmentWrapperEnd,\n styledTextareaRecipe,\n textareaWrapperRecipe,\n} from './Textarea.vanilla.css';\n\ntype StyledTextareaRecipeVariants = NonNullable<RecipeVariants<typeof styledTextareaRecipe>>;\n\nexport interface TextareaVanillaOwnProps extends CSSProps {\n variant?: StyledTextareaRecipeVariants['variant'];\n state?: StyledTextareaRecipeVariants['state'];\n cursor?: StyledTextareaRecipeVariants['cursor'];\n resize?: StyledTextareaRecipeVariants['resize'];\n label?: string;\n endAdornment?: React.ReactNode;\n rootCss?: CSSProps['css'];\n}\n\nexport type TextareaVanillaProps = Omit<React.TextareaHTMLAttributes<HTMLTextAreaElement>, 'size'> &\n TextareaVanillaOwnProps;\n\nexport const TextareaVanilla = React.forwardRef<HTMLTextAreaElement, TextareaVanillaProps>(\n (\n {\n state,\n disabled,\n onFocus,\n onBlur,\n label,\n id,\n rootCss,\n css,\n endAdornment,\n variant,\n cursor,\n resize,\n className,\n style,\n ...props\n },\n forwardedRef,\n ) => {\n const [hasFocus, setHasFocus] = React.useState(false);\n const { colors } = useVanillaExtractTheme();\n\n const invalid = React.useMemo(() => state === 'invalid', [state]);\n const hasEndAdornment = React.useMemo(() => Boolean(endAdornment), [endAdornment]);\n\n const labelVariant = React.useMemo(() => {\n if (disabled) {\n return 'subtle';\n }\n if (invalid) {\n return 'invalid';\n }\n if (hasFocus) {\n return 'contrast';\n }\n return 'default';\n }, [invalid, disabled, hasFocus]);\n\n const handleFocus = React.useCallback(\n (e: React.FocusEvent<HTMLTextAreaElement>) => {\n if (onFocus) {\n onFocus(e);\n }\n setHasFocus(true);\n },\n [onFocus, setHasFocus],\n );\n\n const handleBlur = React.useCallback(\n (e: React.FocusEvent<HTMLTextAreaElement>) => {\n if (onBlur) {\n onBlur(e);\n }\n setHasFocus(false);\n },\n [onBlur, setHasFocus],\n );\n\n const { style: rootCssStyles, vars: rootVars } = processCSSProp(rootCss, colors);\n const rootMergedStyles = { ...rootCssStyles, ...assignInlineVars(rootVars) };\n\n const { style: cssStyles, vars } = processCSSProp(css, colors);\n const mergedStyles = { ...cssStyles, ...style, ...assignInlineVars(vars) };\n\n const textareaWrapperClass = textareaWrapperRecipe({ state, disabled });\n const styledTextareaClass = styledTextareaRecipe({\n variant,\n state,\n cursor,\n resize,\n endAdornment: hasEndAdornment,\n });\n\n return (\n <div style={rootMergedStyles}>\n {label && (\n <LabelVanilla variant={labelVariant} htmlFor={id} css={{ display: 'block' }}>\n {label}\n </LabelVanilla>\n )}\n <div className={textareaWrapperClass}>\n <textarea\n id={id}\n ref={forwardedRef}\n className={`${styledTextareaClass} ${className || ''}`.trim()}\n style={mergedStyles}\n disabled={disabled}\n onFocus={handleFocus}\n onBlur={handleBlur}\n {...props}\n />\n {hasEndAdornment && <div className={adornmentWrapperEnd}>{endAdornment}</div>}\n </div>\n </div>\n );\n },\n);\n\nTextareaVanilla.displayName = 'TextareaVanilla';\n"],"mappings":";;;;;;;;;;AA4BA,IAAa,kBAAkBA,MAAAA,QAAM,YAEjC,EACE,OACA,UACA,SACA,QACA,OACA,IACA,SACA,KACA,cACA,SACA,QACA,QACA,WACA,OACA,GAAG,SAEL,iBACG;CACH,MAAM,CAAC,UAAU,eAAeA,MAAAA,QAAM,SAAS,KAAK;CACpD,MAAM,EAAE,WAAWC,qBAAAA,uBAAuB;CAE1C,MAAM,UAAUD,MAAAA,QAAM,cAAc,UAAU,WAAW,CAAC,KAAK,CAAC;CAChE,MAAM,kBAAkBA,MAAAA,QAAM,cAAc,QAAQ,YAAY,GAAG,CAAC,YAAY,CAAC;CAEjF,MAAM,eAAeA,MAAAA,QAAM,cAAc;EACvC,IAAI,UACF,OAAO;EAET,IAAI,SACF,OAAO;EAET,IAAI,UACF,OAAO;EAET,OAAO;CACT,GAAG;EAAC;EAAS;EAAU;CAAQ,CAAC;CAEhC,MAAM,cAAcA,MAAAA,QAAM,aACvB,MAA6C;EAC5C,IAAI,SACF,QAAQ,CAAC;EAEX,YAAY,IAAI;CAClB,GACA,CAAC,SAAS,WAAW,CACvB;CAEA,MAAM,aAAaA,MAAAA,QAAM,aACtB,MAA6C;EAC5C,IAAI,QACF,OAAO,CAAC;EAEV,YAAY,KAAK;CACnB,GACA,CAAC,QAAQ,WAAW,CACtB;CAEA,MAAM,EAAE,OAAO,eAAe,MAAM,aAAaE,iBAAAA,eAAe,SAAS,MAAM;CAC/E,MAAM,mBAAmB;EAAE,GAAG;EAAe,IAAA,GAAGC,yBAAAA,iBAAAA,CAAiB,QAAQ;CAAE;CAE3E,MAAM,EAAE,OAAO,WAAW,SAASD,iBAAAA,eAAe,KAAK,MAAM;CAC7D,MAAM,eAAe;EAAE,GAAG;EAAW,GAAG;EAAO,IAAA,GAAGC,yBAAAA,iBAAAA,CAAiB,IAAI;CAAE;CAEzE,MAAM,uBAAuBC,6BAAAA,sBAAsB;EAAE;EAAO;CAAS,CAAC;CACtE,MAAM,sBAAsBC,6BAAAA,qBAAqB;EAC/C;EACA;EACA;EACA;EACA,cAAc;CAChB,CAAC;CAED,OACE,iBAAA,GAAA,kBAAA,KAAA,CAAC,OAAD;EAAK,OAAO;EAAZ,UAAA,CACG,SACC,iBAAA,GAAA,kBAAA,IAAA,CAACC,sBAAAA,cAAD;GAAc,SAAS;GAAc,SAAS;GAAI,KAAK,EAAE,SAAS,QAAQ;GACvE,UAAA;EACW,CAAA,GAEhB,iBAAA,GAAA,kBAAA,KAAA,CAAC,OAAD;GAAK,WAAW;GAAhB,UAAA,CACE,iBAAA,GAAA,kBAAA,IAAA,CAAC,YAAD;IACM;IACJ,KAAK;IACL,WAAW,GAAG,oBAAoB,GAAG,aAAa,KAAK,KAAK;IAC5D,OAAO;IACG;IACV,SAAS;IACT,QAAQ;IACR,GAAI;GACL,CAAA,GACA,mBAAmB,iBAAA,GAAA,kBAAA,IAAA,CAAC,OAAD;IAAK,WAAA;IAAiC,UAAA;GAAkB,CAAA,CACzE;EACF,CAAA,CAAA;;AAET,CACF;AAEA,gBAAgB,cAAc"}
@@ -1,6 +1,6 @@
1
1
  ;/* empty css */
2
2
  let _vanilla_extract_recipes_createRuntimeFn = require("@vanilla-extract/recipes/createRuntimeFn");
3
- //#region components/Textarea/Textarea.vanilla.css.ts
3
+ // components/Textarea/Textarea.vanilla.css.ts
4
4
  var styledTextareaRecipe = (0, _vanilla_extract_recipes_createRuntimeFn.createRuntimeFn)({
5
5
  defaultClassName: "q2igaw1 q2igaw0",
6
6
  variantClassNames: {
@@ -37,7 +37,6 @@ var textareaWrapperRecipe = (0, _vanilla_extract_recipes_createRuntimeFn.createR
37
37
  compoundVariants: []
38
38
  });
39
39
  var adornmentWrapperEnd = "q2igawg";
40
- //#endregion
41
40
  exports.adornmentWrapperEnd = adornmentWrapperEnd;
42
41
  exports.styledTextareaRecipe = styledTextareaRecipe;
43
42
  exports.textareaWrapperRecipe = textareaWrapperRecipe;
@@ -1 +1 @@
1
- {"version":3,"file":"Textarea.vanilla.css.cjs","names":[],"sources":["../../../components/Textarea/Textarea.vanilla.css.ts"],"sourcesContent":["import { style } from '@vanilla-extract/css';\nimport { recipe } from '@vanilla-extract/recipes';\n\nimport { breakpoints } from '../../styles/breakpoints.css';\nimport { tokens } from '../../styles/tokens.css';\n\n// CONSTANTS\nconst FOCUS_SHADOW =\n '0 1px 5px 0 hsla(0, 0%, 0%, 0.2), 0 3px 1px -2px hsla(0, 0%, 0%, 0.12), 0 2px 2px 0 hsla(0, 0%, 0%, 0.14)';\n\nconst styledTextareaBase = style({\n // Reset\n appearance: 'none',\n overflow: 'auto',\n borderWidth: '0',\n boxSizing: 'border-box',\n fontFamily: tokens.fonts.rubik,\n margin: '0',\n outline: 'none',\n WebkitTapHighlightColor: 'rgba(0,0,0,0)',\n\n // Custom\n padding: tokens.space['3'],\n position: 'relative',\n flexGrow: 1,\n backgroundColor: 'transparent',\n borderRadius: 'inherit',\n boxShadow: `inset 0 0 0 1px ${tokens.colors.textareaBorder}`,\n color: tokens.colors.textareaText,\n fontVariantNumeric: 'tabular-nums',\n transition: 'box-shadow .1s ease-in-out',\n\n selectors: {\n '&:-webkit-autofill, &:autofill': {\n boxShadow: `inset 0 0 0 1px ${tokens.colors.textareaBorder}, inset 0 0 0 100px ${tokens.colors.textareaBg}`,\n },\n '&:-webkit-autofill::first-line, &:autofill::first-line': {\n fontFamily: tokens.fonts.rubik,\n color: tokens.colors.hiContrast,\n },\n '&:focus-visible': {\n boxShadow: `inset 0 0 0 2px ${tokens.colors.textareaFocusBorder}, ${FOCUS_SHADOW}`,\n },\n '&::placeholder': {\n color: tokens.colors.textareaPlaceholder,\n },\n '&:read-only:not(:disabled)': {\n boxShadow: 'none',\n },\n '&:disabled': {\n pointerEvents: 'none',\n opacity: '0.7',\n color: tokens.colors.textareaDisabledText,\n },\n },\n});\n\nexport const styledTextareaRecipe = recipe({\n base: styledTextareaBase,\n variants: {\n variant: {\n ghost: {\n boxShadow: 'none',\n backgroundColor: 'transparent',\n selectors: {\n '&:disabled': {\n boxShadow: 'none',\n },\n '&:focus-visible': {\n backgroundColor: tokens.colors.loContrast,\n },\n },\n },\n },\n state: {\n invalid: {\n boxShadow: `inset 0 0 0 1px ${tokens.colors.textareaInvalidBorder}`,\n selectors: {\n '&:focus-visible': {\n boxShadow: `inset 0 0 0 2px ${tokens.colors.textareaInvalidBorder}, ${FOCUS_SHADOW}`,\n },\n },\n '@media': {\n [breakpoints.hover]: {\n selectors: {\n '&:hover::after': {\n backgroundColor: tokens.colors.textareaInvalidBorder,\n },\n },\n },\n },\n },\n },\n cursor: {\n default: {\n cursor: 'default',\n '@media': {\n [breakpoints.hover]: {\n selectors: {\n '&:hover:not(:read-only)': {\n cursor: 'text',\n },\n },\n },\n },\n selectors: {\n '&:focus-visible:not(:read-only)': {\n cursor: 'text',\n },\n },\n },\n text: {\n cursor: 'text',\n },\n },\n resize: {\n none: {\n resize: 'none',\n },\n both: {\n resize: 'both',\n },\n vertical: {\n resize: 'vertical',\n },\n horizontal: {\n resize: 'horizontal',\n },\n },\n endAdornment: {\n true: {\n paddingBottom: tokens.space['5'],\n paddingRight: tokens.space['5'],\n },\n },\n },\n compoundVariants: [\n {\n variants: {\n variant: 'ghost',\n state: 'invalid',\n },\n style: {\n boxShadow: `inset 0 0 0 1px ${tokens.colors.textareaInvalidBorder}`,\n },\n },\n ],\n defaultVariants: {\n cursor: 'default',\n resize: 'both',\n },\n});\n\nconst textareaWrapperBase = style({\n // Reset\n outline: 'none',\n lineHeight: 0,\n\n position: 'relative',\n display: 'inline-flex',\n backgroundColor: tokens.colors.textareaBg,\n color: tokens.colors.textareaPlaceholder,\n borderRadius: tokens.radii['3'],\n\n selectors: {\n '&::before': {\n boxSizing: 'border-box',\n borderRadius: 'inherit',\n content: '\"\"',\n position: 'absolute',\n inset: '0',\n pointerEvents: 'none',\n },\n '&::after': {\n boxSizing: 'border-box',\n borderRadius: 'inherit',\n content: '\"\"',\n position: 'absolute',\n inset: '0',\n pointerEvents: 'none',\n },\n '&:focus-visible::before': {\n backgroundColor: tokens.colors.textareaFocusBg,\n },\n '&:focus-visible::after': {\n backgroundColor: tokens.colors.primary,\n opacity: '0.15',\n },\n },\n '@media': {\n [breakpoints.hover]: {\n selectors: {\n '&:hover::before': {\n backgroundColor: tokens.colors.textareaHoverBg,\n },\n '&:hover::after': {\n backgroundColor: tokens.colors.primary,\n opacity: '0.05',\n },\n },\n },\n },\n});\n\nexport const textareaWrapperRecipe = recipe({\n base: textareaWrapperBase,\n variants: {\n disabled: {\n true: {\n opacity: '0.7',\n color: tokens.colors.textareaDisabledText,\n '@media': {\n [breakpoints.hover]: {\n selectors: {\n '&:hover::before': {\n backgroundColor: 'inherit',\n },\n '&:hover::after': {\n backgroundColor: 'inherit',\n },\n },\n },\n },\n },\n },\n state: {\n invalid: {\n '@media': {\n [breakpoints.hover]: {\n selectors: {\n '&:hover::after': {\n backgroundColor: tokens.colors.textareaInvalidBorder,\n },\n },\n },\n },\n },\n },\n },\n defaultVariants: {\n disabled: false,\n },\n});\n\nexport const adornmentWrapperEnd = style({\n position: 'absolute',\n bottom: tokens.space['2'],\n right: tokens.space['3'],\n minWidth: tokens.sizes['5'],\n minHeight: tokens.sizes['5'],\n display: 'flex',\n alignItems: 'center',\n justifyContent: 'center',\n});\n"],"mappings":""}
1
+ {"version":3,"file":"Textarea.vanilla.css.cjs","names":["_7a468"],"sources":["../../../components/Textarea/Textarea.vanilla.css.ts"],"sourcesContent":["import { style } from '@vanilla-extract/css';\nimport { recipe } from '@vanilla-extract/recipes';\n\nimport { breakpoints } from '../../styles/breakpoints.css';\nimport { tokens } from '../../styles/tokens.css';\n\n// CONSTANTS\nconst FOCUS_SHADOW =\n '0 1px 5px 0 hsla(0, 0%, 0%, 0.2), 0 3px 1px -2px hsla(0, 0%, 0%, 0.12), 0 2px 2px 0 hsla(0, 0%, 0%, 0.14)';\n\nconst styledTextareaBase = style({\n // Reset\n appearance: 'none',\n overflow: 'auto',\n borderWidth: '0',\n boxSizing: 'border-box',\n fontFamily: tokens.fonts.rubik,\n margin: '0',\n outline: 'none',\n WebkitTapHighlightColor: 'rgba(0,0,0,0)',\n\n // Custom\n padding: tokens.space['3'],\n position: 'relative',\n flexGrow: 1,\n backgroundColor: 'transparent',\n borderRadius: 'inherit',\n boxShadow: `inset 0 0 0 1px ${tokens.colors.textareaBorder}`,\n color: tokens.colors.textareaText,\n fontVariantNumeric: 'tabular-nums',\n transition: 'box-shadow .1s ease-in-out',\n\n selectors: {\n '&:-webkit-autofill, &:autofill': {\n boxShadow: `inset 0 0 0 1px ${tokens.colors.textareaBorder}, inset 0 0 0 100px ${tokens.colors.textareaBg}`,\n },\n '&:-webkit-autofill::first-line, &:autofill::first-line': {\n fontFamily: tokens.fonts.rubik,\n color: tokens.colors.hiContrast,\n },\n '&:focus-visible': {\n boxShadow: `inset 0 0 0 2px ${tokens.colors.textareaFocusBorder}, ${FOCUS_SHADOW}`,\n },\n '&::placeholder': {\n color: tokens.colors.textareaPlaceholder,\n },\n '&:read-only:not(:disabled)': {\n boxShadow: 'none',\n },\n '&:disabled': {\n pointerEvents: 'none',\n opacity: '0.7',\n color: tokens.colors.textareaDisabledText,\n },\n },\n});\n\nexport const styledTextareaRecipe = recipe({\n base: styledTextareaBase,\n variants: {\n variant: {\n ghost: {\n boxShadow: 'none',\n backgroundColor: 'transparent',\n selectors: {\n '&:disabled': {\n boxShadow: 'none',\n },\n '&:focus-visible': {\n backgroundColor: tokens.colors.loContrast,\n },\n },\n },\n },\n state: {\n invalid: {\n boxShadow: `inset 0 0 0 1px ${tokens.colors.textareaInvalidBorder}`,\n selectors: {\n '&:focus-visible': {\n boxShadow: `inset 0 0 0 2px ${tokens.colors.textareaInvalidBorder}, ${FOCUS_SHADOW}`,\n },\n },\n '@media': {\n [breakpoints.hover]: {\n selectors: {\n '&:hover::after': {\n backgroundColor: tokens.colors.textareaInvalidBorder,\n },\n },\n },\n },\n },\n },\n cursor: {\n default: {\n cursor: 'default',\n '@media': {\n [breakpoints.hover]: {\n selectors: {\n '&:hover:not(:read-only)': {\n cursor: 'text',\n },\n },\n },\n },\n selectors: {\n '&:focus-visible:not(:read-only)': {\n cursor: 'text',\n },\n },\n },\n text: {\n cursor: 'text',\n },\n },\n resize: {\n none: {\n resize: 'none',\n },\n both: {\n resize: 'both',\n },\n vertical: {\n resize: 'vertical',\n },\n horizontal: {\n resize: 'horizontal',\n },\n },\n endAdornment: {\n true: {\n paddingBottom: tokens.space['5'],\n paddingRight: tokens.space['5'],\n },\n },\n },\n compoundVariants: [\n {\n variants: {\n variant: 'ghost',\n state: 'invalid',\n },\n style: {\n boxShadow: `inset 0 0 0 1px ${tokens.colors.textareaInvalidBorder}`,\n },\n },\n ],\n defaultVariants: {\n cursor: 'default',\n resize: 'both',\n },\n});\n\nconst textareaWrapperBase = style({\n // Reset\n outline: 'none',\n lineHeight: 0,\n\n position: 'relative',\n display: 'inline-flex',\n backgroundColor: tokens.colors.textareaBg,\n color: tokens.colors.textareaPlaceholder,\n borderRadius: tokens.radii['3'],\n\n selectors: {\n '&::before': {\n boxSizing: 'border-box',\n borderRadius: 'inherit',\n content: '\"\"',\n position: 'absolute',\n inset: '0',\n pointerEvents: 'none',\n },\n '&::after': {\n boxSizing: 'border-box',\n borderRadius: 'inherit',\n content: '\"\"',\n position: 'absolute',\n inset: '0',\n pointerEvents: 'none',\n },\n '&:focus-visible::before': {\n backgroundColor: tokens.colors.textareaFocusBg,\n },\n '&:focus-visible::after': {\n backgroundColor: tokens.colors.primary,\n opacity: '0.15',\n },\n },\n '@media': {\n [breakpoints.hover]: {\n selectors: {\n '&:hover::before': {\n backgroundColor: tokens.colors.textareaHoverBg,\n },\n '&:hover::after': {\n backgroundColor: tokens.colors.primary,\n opacity: '0.05',\n },\n },\n },\n },\n});\n\nexport const textareaWrapperRecipe = recipe({\n base: textareaWrapperBase,\n variants: {\n disabled: {\n true: {\n opacity: '0.7',\n color: tokens.colors.textareaDisabledText,\n '@media': {\n [breakpoints.hover]: {\n selectors: {\n '&:hover::before': {\n backgroundColor: 'inherit',\n },\n '&:hover::after': {\n backgroundColor: 'inherit',\n },\n },\n },\n },\n },\n },\n state: {\n invalid: {\n '@media': {\n [breakpoints.hover]: {\n selectors: {\n '&:hover::after': {\n backgroundColor: tokens.colors.textareaInvalidBorder,\n },\n },\n },\n },\n },\n },\n },\n defaultVariants: {\n disabled: false,\n },\n});\n\nexport const adornmentWrapperEnd = style({\n position: 'absolute',\n bottom: tokens.space['2'],\n right: tokens.space['3'],\n minWidth: tokens.sizes['5'],\n minHeight: tokens.sizes['5'],\n display: 'flex',\n alignItems: 'center',\n justifyContent: 'center',\n});\n"],"mappings":""}
@@ -1,6 +1,6 @@
1
1
  /* empty css */
2
2
  import { createRuntimeFn } from "@vanilla-extract/recipes/createRuntimeFn";
3
- //#region components/Textarea/Textarea.vanilla.css.ts
3
+ // components/Textarea/Textarea.vanilla.css.ts
4
4
  var styledTextareaRecipe = createRuntimeFn({
5
5
  defaultClassName: "q2igaw1 q2igaw0",
6
6
  variantClassNames: {
@@ -37,7 +37,6 @@ var textareaWrapperRecipe = createRuntimeFn({
37
37
  compoundVariants: []
38
38
  });
39
39
  var adornmentWrapperEnd = "q2igawg";
40
- //#endregion
41
40
  export { adornmentWrapperEnd, styledTextareaRecipe, textareaWrapperRecipe };
42
41
 
43
42
  //# sourceMappingURL=Textarea.vanilla.css.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"Textarea.vanilla.css.js","names":[],"sources":["../../../components/Textarea/Textarea.vanilla.css.ts"],"sourcesContent":["import { style } from '@vanilla-extract/css';\nimport { recipe } from '@vanilla-extract/recipes';\n\nimport { breakpoints } from '../../styles/breakpoints.css';\nimport { tokens } from '../../styles/tokens.css';\n\n// CONSTANTS\nconst FOCUS_SHADOW =\n '0 1px 5px 0 hsla(0, 0%, 0%, 0.2), 0 3px 1px -2px hsla(0, 0%, 0%, 0.12), 0 2px 2px 0 hsla(0, 0%, 0%, 0.14)';\n\nconst styledTextareaBase = style({\n // Reset\n appearance: 'none',\n overflow: 'auto',\n borderWidth: '0',\n boxSizing: 'border-box',\n fontFamily: tokens.fonts.rubik,\n margin: '0',\n outline: 'none',\n WebkitTapHighlightColor: 'rgba(0,0,0,0)',\n\n // Custom\n padding: tokens.space['3'],\n position: 'relative',\n flexGrow: 1,\n backgroundColor: 'transparent',\n borderRadius: 'inherit',\n boxShadow: `inset 0 0 0 1px ${tokens.colors.textareaBorder}`,\n color: tokens.colors.textareaText,\n fontVariantNumeric: 'tabular-nums',\n transition: 'box-shadow .1s ease-in-out',\n\n selectors: {\n '&:-webkit-autofill, &:autofill': {\n boxShadow: `inset 0 0 0 1px ${tokens.colors.textareaBorder}, inset 0 0 0 100px ${tokens.colors.textareaBg}`,\n },\n '&:-webkit-autofill::first-line, &:autofill::first-line': {\n fontFamily: tokens.fonts.rubik,\n color: tokens.colors.hiContrast,\n },\n '&:focus-visible': {\n boxShadow: `inset 0 0 0 2px ${tokens.colors.textareaFocusBorder}, ${FOCUS_SHADOW}`,\n },\n '&::placeholder': {\n color: tokens.colors.textareaPlaceholder,\n },\n '&:read-only:not(:disabled)': {\n boxShadow: 'none',\n },\n '&:disabled': {\n pointerEvents: 'none',\n opacity: '0.7',\n color: tokens.colors.textareaDisabledText,\n },\n },\n});\n\nexport const styledTextareaRecipe = recipe({\n base: styledTextareaBase,\n variants: {\n variant: {\n ghost: {\n boxShadow: 'none',\n backgroundColor: 'transparent',\n selectors: {\n '&:disabled': {\n boxShadow: 'none',\n },\n '&:focus-visible': {\n backgroundColor: tokens.colors.loContrast,\n },\n },\n },\n },\n state: {\n invalid: {\n boxShadow: `inset 0 0 0 1px ${tokens.colors.textareaInvalidBorder}`,\n selectors: {\n '&:focus-visible': {\n boxShadow: `inset 0 0 0 2px ${tokens.colors.textareaInvalidBorder}, ${FOCUS_SHADOW}`,\n },\n },\n '@media': {\n [breakpoints.hover]: {\n selectors: {\n '&:hover::after': {\n backgroundColor: tokens.colors.textareaInvalidBorder,\n },\n },\n },\n },\n },\n },\n cursor: {\n default: {\n cursor: 'default',\n '@media': {\n [breakpoints.hover]: {\n selectors: {\n '&:hover:not(:read-only)': {\n cursor: 'text',\n },\n },\n },\n },\n selectors: {\n '&:focus-visible:not(:read-only)': {\n cursor: 'text',\n },\n },\n },\n text: {\n cursor: 'text',\n },\n },\n resize: {\n none: {\n resize: 'none',\n },\n both: {\n resize: 'both',\n },\n vertical: {\n resize: 'vertical',\n },\n horizontal: {\n resize: 'horizontal',\n },\n },\n endAdornment: {\n true: {\n paddingBottom: tokens.space['5'],\n paddingRight: tokens.space['5'],\n },\n },\n },\n compoundVariants: [\n {\n variants: {\n variant: 'ghost',\n state: 'invalid',\n },\n style: {\n boxShadow: `inset 0 0 0 1px ${tokens.colors.textareaInvalidBorder}`,\n },\n },\n ],\n defaultVariants: {\n cursor: 'default',\n resize: 'both',\n },\n});\n\nconst textareaWrapperBase = style({\n // Reset\n outline: 'none',\n lineHeight: 0,\n\n position: 'relative',\n display: 'inline-flex',\n backgroundColor: tokens.colors.textareaBg,\n color: tokens.colors.textareaPlaceholder,\n borderRadius: tokens.radii['3'],\n\n selectors: {\n '&::before': {\n boxSizing: 'border-box',\n borderRadius: 'inherit',\n content: '\"\"',\n position: 'absolute',\n inset: '0',\n pointerEvents: 'none',\n },\n '&::after': {\n boxSizing: 'border-box',\n borderRadius: 'inherit',\n content: '\"\"',\n position: 'absolute',\n inset: '0',\n pointerEvents: 'none',\n },\n '&:focus-visible::before': {\n backgroundColor: tokens.colors.textareaFocusBg,\n },\n '&:focus-visible::after': {\n backgroundColor: tokens.colors.primary,\n opacity: '0.15',\n },\n },\n '@media': {\n [breakpoints.hover]: {\n selectors: {\n '&:hover::before': {\n backgroundColor: tokens.colors.textareaHoverBg,\n },\n '&:hover::after': {\n backgroundColor: tokens.colors.primary,\n opacity: '0.05',\n },\n },\n },\n },\n});\n\nexport const textareaWrapperRecipe = recipe({\n base: textareaWrapperBase,\n variants: {\n disabled: {\n true: {\n opacity: '0.7',\n color: tokens.colors.textareaDisabledText,\n '@media': {\n [breakpoints.hover]: {\n selectors: {\n '&:hover::before': {\n backgroundColor: 'inherit',\n },\n '&:hover::after': {\n backgroundColor: 'inherit',\n },\n },\n },\n },\n },\n },\n state: {\n invalid: {\n '@media': {\n [breakpoints.hover]: {\n selectors: {\n '&:hover::after': {\n backgroundColor: tokens.colors.textareaInvalidBorder,\n },\n },\n },\n },\n },\n },\n },\n defaultVariants: {\n disabled: false,\n },\n});\n\nexport const adornmentWrapperEnd = style({\n position: 'absolute',\n bottom: tokens.space['2'],\n right: tokens.space['3'],\n minWidth: tokens.sizes['5'],\n minHeight: tokens.sizes['5'],\n display: 'flex',\n alignItems: 'center',\n justifyContent: 'center',\n});\n"],"mappings":""}
1
+ {"version":3,"file":"Textarea.vanilla.css.js","names":["_7a468"],"sources":["../../../components/Textarea/Textarea.vanilla.css.ts"],"sourcesContent":["import { style } from '@vanilla-extract/css';\nimport { recipe } from '@vanilla-extract/recipes';\n\nimport { breakpoints } from '../../styles/breakpoints.css';\nimport { tokens } from '../../styles/tokens.css';\n\n// CONSTANTS\nconst FOCUS_SHADOW =\n '0 1px 5px 0 hsla(0, 0%, 0%, 0.2), 0 3px 1px -2px hsla(0, 0%, 0%, 0.12), 0 2px 2px 0 hsla(0, 0%, 0%, 0.14)';\n\nconst styledTextareaBase = style({\n // Reset\n appearance: 'none',\n overflow: 'auto',\n borderWidth: '0',\n boxSizing: 'border-box',\n fontFamily: tokens.fonts.rubik,\n margin: '0',\n outline: 'none',\n WebkitTapHighlightColor: 'rgba(0,0,0,0)',\n\n // Custom\n padding: tokens.space['3'],\n position: 'relative',\n flexGrow: 1,\n backgroundColor: 'transparent',\n borderRadius: 'inherit',\n boxShadow: `inset 0 0 0 1px ${tokens.colors.textareaBorder}`,\n color: tokens.colors.textareaText,\n fontVariantNumeric: 'tabular-nums',\n transition: 'box-shadow .1s ease-in-out',\n\n selectors: {\n '&:-webkit-autofill, &:autofill': {\n boxShadow: `inset 0 0 0 1px ${tokens.colors.textareaBorder}, inset 0 0 0 100px ${tokens.colors.textareaBg}`,\n },\n '&:-webkit-autofill::first-line, &:autofill::first-line': {\n fontFamily: tokens.fonts.rubik,\n color: tokens.colors.hiContrast,\n },\n '&:focus-visible': {\n boxShadow: `inset 0 0 0 2px ${tokens.colors.textareaFocusBorder}, ${FOCUS_SHADOW}`,\n },\n '&::placeholder': {\n color: tokens.colors.textareaPlaceholder,\n },\n '&:read-only:not(:disabled)': {\n boxShadow: 'none',\n },\n '&:disabled': {\n pointerEvents: 'none',\n opacity: '0.7',\n color: tokens.colors.textareaDisabledText,\n },\n },\n});\n\nexport const styledTextareaRecipe = recipe({\n base: styledTextareaBase,\n variants: {\n variant: {\n ghost: {\n boxShadow: 'none',\n backgroundColor: 'transparent',\n selectors: {\n '&:disabled': {\n boxShadow: 'none',\n },\n '&:focus-visible': {\n backgroundColor: tokens.colors.loContrast,\n },\n },\n },\n },\n state: {\n invalid: {\n boxShadow: `inset 0 0 0 1px ${tokens.colors.textareaInvalidBorder}`,\n selectors: {\n '&:focus-visible': {\n boxShadow: `inset 0 0 0 2px ${tokens.colors.textareaInvalidBorder}, ${FOCUS_SHADOW}`,\n },\n },\n '@media': {\n [breakpoints.hover]: {\n selectors: {\n '&:hover::after': {\n backgroundColor: tokens.colors.textareaInvalidBorder,\n },\n },\n },\n },\n },\n },\n cursor: {\n default: {\n cursor: 'default',\n '@media': {\n [breakpoints.hover]: {\n selectors: {\n '&:hover:not(:read-only)': {\n cursor: 'text',\n },\n },\n },\n },\n selectors: {\n '&:focus-visible:not(:read-only)': {\n cursor: 'text',\n },\n },\n },\n text: {\n cursor: 'text',\n },\n },\n resize: {\n none: {\n resize: 'none',\n },\n both: {\n resize: 'both',\n },\n vertical: {\n resize: 'vertical',\n },\n horizontal: {\n resize: 'horizontal',\n },\n },\n endAdornment: {\n true: {\n paddingBottom: tokens.space['5'],\n paddingRight: tokens.space['5'],\n },\n },\n },\n compoundVariants: [\n {\n variants: {\n variant: 'ghost',\n state: 'invalid',\n },\n style: {\n boxShadow: `inset 0 0 0 1px ${tokens.colors.textareaInvalidBorder}`,\n },\n },\n ],\n defaultVariants: {\n cursor: 'default',\n resize: 'both',\n },\n});\n\nconst textareaWrapperBase = style({\n // Reset\n outline: 'none',\n lineHeight: 0,\n\n position: 'relative',\n display: 'inline-flex',\n backgroundColor: tokens.colors.textareaBg,\n color: tokens.colors.textareaPlaceholder,\n borderRadius: tokens.radii['3'],\n\n selectors: {\n '&::before': {\n boxSizing: 'border-box',\n borderRadius: 'inherit',\n content: '\"\"',\n position: 'absolute',\n inset: '0',\n pointerEvents: 'none',\n },\n '&::after': {\n boxSizing: 'border-box',\n borderRadius: 'inherit',\n content: '\"\"',\n position: 'absolute',\n inset: '0',\n pointerEvents: 'none',\n },\n '&:focus-visible::before': {\n backgroundColor: tokens.colors.textareaFocusBg,\n },\n '&:focus-visible::after': {\n backgroundColor: tokens.colors.primary,\n opacity: '0.15',\n },\n },\n '@media': {\n [breakpoints.hover]: {\n selectors: {\n '&:hover::before': {\n backgroundColor: tokens.colors.textareaHoverBg,\n },\n '&:hover::after': {\n backgroundColor: tokens.colors.primary,\n opacity: '0.05',\n },\n },\n },\n },\n});\n\nexport const textareaWrapperRecipe = recipe({\n base: textareaWrapperBase,\n variants: {\n disabled: {\n true: {\n opacity: '0.7',\n color: tokens.colors.textareaDisabledText,\n '@media': {\n [breakpoints.hover]: {\n selectors: {\n '&:hover::before': {\n backgroundColor: 'inherit',\n },\n '&:hover::after': {\n backgroundColor: 'inherit',\n },\n },\n },\n },\n },\n },\n state: {\n invalid: {\n '@media': {\n [breakpoints.hover]: {\n selectors: {\n '&:hover::after': {\n backgroundColor: tokens.colors.textareaInvalidBorder,\n },\n },\n },\n },\n },\n },\n },\n defaultVariants: {\n disabled: false,\n },\n});\n\nexport const adornmentWrapperEnd = style({\n position: 'absolute',\n bottom: tokens.space['2'],\n right: tokens.space['3'],\n minWidth: tokens.sizes['5'],\n minHeight: tokens.sizes['5'],\n display: 'flex',\n alignItems: 'center',\n justifyContent: 'center',\n});\n"],"mappings":""}
@@ -5,7 +5,7 @@ import { styledTextareaRecipe, textareaWrapperRecipe } from "./Textarea.vanilla.
5
5
  import React from "react";
6
6
  import { assignInlineVars } from "@vanilla-extract/dynamic";
7
7
  import { jsx, jsxs } from "react/jsx-runtime";
8
- //#region components/Textarea/Textarea.vanilla.tsx
8
+ // components/Textarea/Textarea.vanilla.tsx
9
9
  var TextareaVanilla = React.forwardRef(({ state, disabled, onFocus, onBlur, label, id, rootCss, css, endAdornment, variant, cursor, resize, className, style, ...props }, forwardedRef) => {
10
10
  const [hasFocus, setHasFocus] = React.useState(false);
11
11
  const { colors } = useVanillaExtractTheme();
@@ -77,7 +77,6 @@ var TextareaVanilla = React.forwardRef(({ state, disabled, onFocus, onBlur, labe
77
77
  });
78
78
  });
79
79
  TextareaVanilla.displayName = "TextareaVanilla";
80
- //#endregion
81
80
  export { TextareaVanilla };
82
81
 
83
82
  //# sourceMappingURL=Textarea.vanilla.js.map