@clickhouse/click-ui 0.4.0 → 0.6.0-rc1

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 (347) hide show
  1. package/dist/cjs/click-ui.css +2259 -176
  2. package/dist/cjs/components/Assets/Flags/Australia.cjs +2 -2
  3. package/dist/cjs/components/Assets/Flags/Australia.cjs.map +1 -1
  4. package/dist/cjs/components/Assets/Flags/Brazil.cjs +3 -3
  5. package/dist/cjs/components/Assets/Flags/Brazil.cjs.map +1 -1
  6. package/dist/cjs/components/Assets/Flags/Germany.cjs +1 -1
  7. package/dist/cjs/components/Assets/Flags/Germany.cjs.map +1 -1
  8. package/dist/cjs/components/Assets/Flags/Japan.cjs +1 -1
  9. package/dist/cjs/components/Assets/Flags/Japan.cjs.map +1 -1
  10. package/dist/cjs/components/Assets/Flags/Malaysia.cjs +19 -0
  11. package/dist/cjs/components/Assets/Flags/Malaysia.cjs.map +1 -0
  12. package/dist/cjs/components/Assets/Flags/South-Korea.cjs +1 -1
  13. package/dist/cjs/components/Assets/Flags/South-Korea.cjs.map +1 -1
  14. package/dist/cjs/components/Assets/Flags/Switzerland.cjs +1 -1
  15. package/dist/cjs/components/Assets/Flags/Switzerland.cjs.map +1 -1
  16. package/dist/cjs/components/Assets/Flags/Taiwan.cjs +21 -0
  17. package/dist/cjs/components/Assets/Flags/Taiwan.cjs.map +1 -0
  18. package/dist/cjs/components/Assets/Flags/United-Arab-Emirates.cjs +1 -1
  19. package/dist/cjs/components/Assets/Flags/United-Arab-Emirates.cjs.map +1 -1
  20. package/dist/cjs/components/Assets/Flags/United-States.cjs +7 -4
  21. package/dist/cjs/components/Assets/Flags/United-States.cjs.map +1 -1
  22. package/dist/cjs/components/Assets/Flags/system/Flag.cjs +1 -1
  23. package/dist/cjs/components/Assets/Flags/system/Flag.cjs.map +1 -1
  24. package/dist/cjs/components/Assets/Flags/system/FlagsDark.cjs +4 -0
  25. package/dist/cjs/components/Assets/Flags/system/FlagsDark.cjs.map +1 -1
  26. package/dist/cjs/components/Assets/Flags/system/FlagsLight.cjs +4 -0
  27. package/dist/cjs/components/Assets/Flags/system/FlagsLight.cjs.map +1 -1
  28. package/dist/cjs/components/Assets/Icons/Check.cjs +1 -1
  29. package/dist/cjs/components/Assets/Icons/Check.cjs.map +1 -1
  30. package/dist/cjs/components/Assets/Icons/Popin.cjs +10 -0
  31. package/dist/cjs/components/Assets/Icons/Popin.cjs.map +1 -0
  32. package/dist/cjs/components/Assets/Icons/system/IconsLight.cjs +2 -0
  33. package/dist/cjs/components/Assets/Icons/system/IconsLight.cjs.map +1 -1
  34. package/dist/cjs/components/Assets/Logos/system/Logo.cjs +1 -1
  35. package/dist/cjs/components/Assets/Logos/system/Logo.cjs.map +1 -1
  36. package/dist/cjs/components/Assets/Payments/system/Payment.cjs +1 -1
  37. package/dist/cjs/components/Assets/Payments/system/Payment.cjs.map +1 -1
  38. package/dist/cjs/components/Assets/config.cjs +1 -0
  39. package/dist/cjs/components/Assets/config.cjs.map +1 -1
  40. package/dist/cjs/components/Avatar/Avatar.css +61 -0
  41. package/dist/cjs/components/Avatar/Avatar.module.css.cjs +24 -0
  42. package/dist/cjs/components/Avatar/Avatar.module.css.cjs.map +1 -0
  43. package/dist/cjs/components/Avatar/index.cjs +21 -26
  44. package/dist/cjs/components/Avatar/index.cjs.map +1 -1
  45. package/dist/cjs/components/Badge/Badge.css +232 -0
  46. package/dist/cjs/components/Badge/Badge.module.css.cjs +83 -0
  47. package/dist/cjs/components/Badge/Badge.module.css.cjs.map +1 -0
  48. package/dist/cjs/components/Badge/index.cjs +81 -51
  49. package/dist/cjs/components/Badge/index.cjs.map +1 -1
  50. package/dist/cjs/components/Button/Button.css +31 -20
  51. package/dist/cjs/components/Button/Button.module.css.cjs +5 -5
  52. package/dist/cjs/components/Button/index.cjs +1 -1
  53. package/dist/cjs/components/Button/index.cjs.map +1 -1
  54. package/dist/cjs/components/ButtonGroup/ButtonGroup.css +85 -0
  55. package/dist/cjs/components/ButtonGroup/ButtonGroup.module.css.cjs +33 -0
  56. package/dist/cjs/components/ButtonGroup/ButtonGroup.module.css.cjs.map +1 -0
  57. package/dist/cjs/components/ButtonGroup/index.cjs +46 -71
  58. package/dist/cjs/components/ButtonGroup/index.cjs.map +1 -1
  59. package/dist/cjs/components/CardHorizontal/CardHorizontal.css +216 -0
  60. package/dist/cjs/components/CardHorizontal/CardHorizontal.module.css.cjs +72 -0
  61. package/dist/cjs/components/CardHorizontal/CardHorizontal.module.css.cjs.map +1 -0
  62. package/dist/cjs/components/CardHorizontal/index.cjs +78 -101
  63. package/dist/cjs/components/CardHorizontal/index.cjs.map +1 -1
  64. package/dist/cjs/components/CardPrimary/CardPrimary.css +182 -0
  65. package/dist/cjs/components/CardPrimary/CardPrimary.module.css.cjs +81 -0
  66. package/dist/cjs/components/CardPrimary/CardPrimary.module.css.cjs.map +1 -0
  67. package/dist/cjs/components/CardPrimary/CardPrimaryTopBadge.cjs +12 -12
  68. package/dist/cjs/components/CardPrimary/CardPrimaryTopBadge.cjs.map +1 -1
  69. package/dist/cjs/components/CardPrimary/index.cjs +80 -79
  70. package/dist/cjs/components/CardPrimary/index.cjs.map +1 -1
  71. package/dist/cjs/components/CardPrimary/withTopBadge.cjs +1 -1
  72. package/dist/cjs/components/CardPrimary/withTopBadge.cjs.map +1 -1
  73. package/dist/cjs/components/Checkbox/Checkbox.css +116 -0
  74. package/dist/cjs/components/Checkbox/Checkbox.module.css.cjs +39 -0
  75. package/dist/cjs/components/Checkbox/Checkbox.module.css.cjs.map +1 -0
  76. package/dist/cjs/components/Checkbox/index.cjs +36 -49
  77. package/dist/cjs/components/Checkbox/index.cjs.map +1 -1
  78. package/dist/cjs/components/Container/Container.css +174 -0
  79. package/dist/cjs/components/Container/Container.module.css.cjs +90 -0
  80. package/dist/cjs/components/Container/Container.module.css.cjs.map +1 -0
  81. package/dist/cjs/components/Container/index.cjs +91 -55
  82. package/dist/cjs/components/Container/index.cjs.map +1 -1
  83. package/dist/cjs/components/DateDetails/index.cjs +2 -2
  84. package/dist/cjs/components/DateDetails/index.cjs.map +1 -1
  85. package/dist/cjs/components/DatePicker/DateTimeRangePicker.cjs +2 -1
  86. package/dist/cjs/components/DatePicker/DateTimeRangePicker.cjs.map +1 -1
  87. package/dist/cjs/components/DatePicker/index.cjs +2 -1
  88. package/dist/cjs/components/DatePicker/index.cjs.map +1 -1
  89. package/dist/cjs/components/EllipsisContent/index.cjs.map +1 -1
  90. package/dist/cjs/components/GenericLabel/GenericLabel.css +31 -0
  91. package/dist/cjs/components/GenericLabel/GenericLabel.module.css.cjs +11 -0
  92. package/dist/cjs/components/GenericLabel/GenericLabel.module.css.cjs.map +1 -0
  93. package/dist/cjs/components/GenericLabel/index.cjs +14 -25
  94. package/dist/cjs/components/GenericLabel/index.cjs.map +1 -1
  95. package/dist/cjs/components/GridContainer/index.cjs.map +1 -1
  96. package/dist/cjs/components/Icon/Icon.css +134 -0
  97. package/dist/cjs/components/Icon/Icon.module.css.cjs +27 -0
  98. package/dist/cjs/components/Icon/Icon.module.css.cjs.map +1 -0
  99. package/dist/cjs/components/Icon/Icon.stories.css +36 -0
  100. package/dist/cjs/components/Icon/SvgImageElement.cjs +30 -12
  101. package/dist/cjs/components/Icon/SvgImageElement.cjs.map +1 -1
  102. package/dist/cjs/components/Icon/index.cjs +43 -34
  103. package/dist/cjs/components/Icon/index.cjs.map +1 -1
  104. package/dist/cjs/components/IconButton/IconButton.css +145 -0
  105. package/dist/cjs/components/IconButton/IconButton.module.css.cjs +33 -0
  106. package/dist/cjs/components/IconButton/IconButton.module.css.cjs.map +1 -0
  107. package/dist/cjs/components/IconButton/index.cjs +30 -41
  108. package/dist/cjs/components/IconButton/index.cjs.map +1 -1
  109. package/dist/cjs/components/Label/Label.css +32 -0
  110. package/dist/cjs/components/Label/Label.module.css.cjs +18 -0
  111. package/dist/cjs/components/Label/Label.module.css.cjs.map +1 -0
  112. package/dist/cjs/components/Label/index.cjs +24 -27
  113. package/dist/cjs/components/Label/index.cjs.map +1 -1
  114. package/dist/cjs/components/Link/Link.css +135 -0
  115. package/dist/cjs/components/Link/Link.module.css.cjs +43 -0
  116. package/dist/cjs/components/Link/Link.module.css.cjs.map +1 -0
  117. package/dist/cjs/components/Link/index.cjs +51 -18
  118. package/dist/cjs/components/Link/index.cjs.map +1 -1
  119. package/dist/cjs/components/ProgressBar/ProgressBar.css +124 -0
  120. package/dist/cjs/components/ProgressBar/ProgressBar.module.css.cjs +42 -0
  121. package/dist/cjs/components/ProgressBar/ProgressBar.module.css.cjs.map +1 -0
  122. package/dist/cjs/components/ProgressBar/index.cjs +44 -66
  123. package/dist/cjs/components/ProgressBar/index.cjs.map +1 -1
  124. package/dist/cjs/components/Separator/Separator.css +81 -0
  125. package/dist/cjs/components/Separator/Separator.module.css.cjs +24 -0
  126. package/dist/cjs/components/Separator/Separator.module.css.cjs.map +1 -0
  127. package/dist/cjs/components/Separator/index.cjs +26 -18
  128. package/dist/cjs/components/Separator/index.cjs.map +1 -1
  129. package/dist/cjs/components/Spacer/Spacer.css +28 -0
  130. package/dist/cjs/components/Spacer/Spacer.module.css.cjs +30 -0
  131. package/dist/cjs/components/Spacer/Spacer.module.css.cjs.map +1 -0
  132. package/dist/cjs/components/Spacer/index.cjs +22 -8
  133. package/dist/cjs/components/Spacer/index.cjs.map +1 -1
  134. package/dist/cjs/components/Switch/Switch.css +65 -0
  135. package/dist/cjs/components/Switch/Switch.module.css.cjs +16 -0
  136. package/dist/cjs/components/Switch/Switch.module.css.cjs.map +1 -0
  137. package/dist/cjs/components/Switch/index.cjs +7 -70
  138. package/dist/cjs/components/Switch/index.cjs.map +1 -1
  139. package/dist/cjs/components/Text/Text.css +125 -0
  140. package/dist/cjs/components/Text/Text.module.css.cjs +57 -0
  141. package/dist/cjs/components/Text/Text.module.css.cjs.map +1 -0
  142. package/dist/cjs/components/Text/index.cjs +133 -16
  143. package/dist/cjs/components/Text/index.cjs.map +1 -1
  144. package/dist/cjs/components/Title/Title.css +99 -0
  145. package/dist/cjs/components/Title/Title.module.css.cjs +37 -0
  146. package/dist/cjs/components/Title/Title.module.css.cjs.map +1 -0
  147. package/dist/cjs/components/Title/index.cjs +85 -19
  148. package/dist/cjs/components/Title/index.cjs.map +1 -1
  149. package/dist/cjs/index.cjs +2 -2
  150. package/dist/cjs/{components/Link/common.cjs → styles/linkStyles.cjs} +1 -1
  151. package/dist/cjs/styles/linkStyles.cjs.map +1 -0
  152. package/dist/cjs/theme/styles/tokens-dark.css +3 -0
  153. package/dist/cjs/theme/styles/tokens-light.css +4 -0
  154. package/dist/cjs/theme/tokens/variables.dark.cjs +4 -2
  155. package/dist/cjs/theme/tokens/variables.dark.cjs.map +1 -1
  156. package/dist/cjs/theme/tokens/variables.light.cjs +6 -1
  157. package/dist/cjs/theme/tokens/variables.light.cjs.map +1 -1
  158. package/dist/esm/click-ui.css +2259 -176
  159. package/dist/esm/components/Assets/Flags/Australia.js +2 -2
  160. package/dist/esm/components/Assets/Flags/Australia.js.map +1 -1
  161. package/dist/esm/components/Assets/Flags/Brazil.js +3 -3
  162. package/dist/esm/components/Assets/Flags/Brazil.js.map +1 -1
  163. package/dist/esm/components/Assets/Flags/Germany.js +1 -1
  164. package/dist/esm/components/Assets/Flags/Germany.js.map +1 -1
  165. package/dist/esm/components/Assets/Flags/Japan.js +1 -1
  166. package/dist/esm/components/Assets/Flags/Japan.js.map +1 -1
  167. package/dist/esm/components/Assets/Flags/Malaysia.js +15 -0
  168. package/dist/esm/components/Assets/Flags/Malaysia.js.map +1 -0
  169. package/dist/esm/components/Assets/Flags/South-Korea.js +1 -1
  170. package/dist/esm/components/Assets/Flags/South-Korea.js.map +1 -1
  171. package/dist/esm/components/Assets/Flags/Switzerland.js +1 -1
  172. package/dist/esm/components/Assets/Flags/Switzerland.js.map +1 -1
  173. package/dist/esm/components/Assets/Flags/Taiwan.js +17 -0
  174. package/dist/esm/components/Assets/Flags/Taiwan.js.map +1 -0
  175. package/dist/esm/components/Assets/Flags/United-Arab-Emirates.js +1 -1
  176. package/dist/esm/components/Assets/Flags/United-Arab-Emirates.js.map +1 -1
  177. package/dist/esm/components/Assets/Flags/United-States.js +7 -4
  178. package/dist/esm/components/Assets/Flags/United-States.js.map +1 -1
  179. package/dist/esm/components/Assets/Flags/system/Flag.js +1 -1
  180. package/dist/esm/components/Assets/Flags/system/Flag.js.map +1 -1
  181. package/dist/esm/components/Assets/Flags/system/FlagsDark.js +4 -0
  182. package/dist/esm/components/Assets/Flags/system/FlagsDark.js.map +1 -1
  183. package/dist/esm/components/Assets/Flags/system/FlagsLight.js +4 -0
  184. package/dist/esm/components/Assets/Flags/system/FlagsLight.js.map +1 -1
  185. package/dist/esm/components/Assets/Icons/Check.js +1 -1
  186. package/dist/esm/components/Assets/Icons/Check.js.map +1 -1
  187. package/dist/esm/components/Assets/Icons/Popin.js +6 -0
  188. package/dist/esm/components/Assets/Icons/Popin.js.map +1 -0
  189. package/dist/esm/components/Assets/Icons/system/IconsLight.js +2 -0
  190. package/dist/esm/components/Assets/Icons/system/IconsLight.js.map +1 -1
  191. package/dist/esm/components/Assets/Logos/system/Logo.js +1 -1
  192. package/dist/esm/components/Assets/Logos/system/Logo.js.map +1 -1
  193. package/dist/esm/components/Assets/Payments/system/Payment.js +1 -1
  194. package/dist/esm/components/Assets/Payments/system/Payment.js.map +1 -1
  195. package/dist/esm/components/Assets/config.js +1 -0
  196. package/dist/esm/components/Assets/config.js.map +1 -1
  197. package/dist/esm/components/Avatar/Avatar.css +61 -0
  198. package/dist/esm/components/Avatar/Avatar.module.css.js +15 -0
  199. package/dist/esm/components/Avatar/Avatar.module.css.js.map +1 -0
  200. package/dist/esm/components/Avatar/index.js +21 -26
  201. package/dist/esm/components/Avatar/index.js.map +1 -1
  202. package/dist/esm/components/Badge/Badge.css +232 -0
  203. package/dist/esm/components/Badge/Badge.module.css.js +59 -0
  204. package/dist/esm/components/Badge/Badge.module.css.js.map +1 -0
  205. package/dist/esm/components/Badge/index.js +81 -51
  206. package/dist/esm/components/Badge/index.js.map +1 -1
  207. package/dist/esm/components/Button/Button.css +31 -20
  208. package/dist/esm/components/Button/Button.module.css.js +5 -5
  209. package/dist/esm/components/Button/index.js +1 -1
  210. package/dist/esm/components/Button/index.js.map +1 -1
  211. package/dist/esm/components/ButtonGroup/ButtonGroup.css +85 -0
  212. package/dist/esm/components/ButtonGroup/ButtonGroup.module.css.js +21 -0
  213. package/dist/esm/components/ButtonGroup/ButtonGroup.module.css.js.map +1 -0
  214. package/dist/esm/components/ButtonGroup/index.js +47 -72
  215. package/dist/esm/components/ButtonGroup/index.js.map +1 -1
  216. package/dist/esm/components/CardHorizontal/CardHorizontal.css +216 -0
  217. package/dist/esm/components/CardHorizontal/CardHorizontal.module.css.js +47 -0
  218. package/dist/esm/components/CardHorizontal/CardHorizontal.module.css.js.map +1 -0
  219. package/dist/esm/components/CardHorizontal/index.js +78 -101
  220. package/dist/esm/components/CardHorizontal/index.js.map +1 -1
  221. package/dist/esm/components/CardPrimary/CardPrimary.css +182 -0
  222. package/dist/esm/components/CardPrimary/CardPrimary.module.css.js +53 -0
  223. package/dist/esm/components/CardPrimary/CardPrimary.module.css.js.map +1 -0
  224. package/dist/esm/components/CardPrimary/CardPrimaryTopBadge.js +12 -12
  225. package/dist/esm/components/CardPrimary/CardPrimaryTopBadge.js.map +1 -1
  226. package/dist/esm/components/CardPrimary/index.js +80 -79
  227. package/dist/esm/components/CardPrimary/index.js.map +1 -1
  228. package/dist/esm/components/CardPrimary/withTopBadge.js +1 -1
  229. package/dist/esm/components/CardPrimary/withTopBadge.js.map +1 -1
  230. package/dist/esm/components/Checkbox/Checkbox.css +116 -0
  231. package/dist/esm/components/Checkbox/Checkbox.module.css.js +25 -0
  232. package/dist/esm/components/Checkbox/Checkbox.module.css.js.map +1 -0
  233. package/dist/esm/components/Checkbox/index.js +36 -49
  234. package/dist/esm/components/Checkbox/index.js.map +1 -1
  235. package/dist/esm/components/Container/Container.css +174 -0
  236. package/dist/esm/components/Container/Container.module.css.js +64 -0
  237. package/dist/esm/components/Container/Container.module.css.js.map +1 -0
  238. package/dist/esm/components/Container/index.js +92 -56
  239. package/dist/esm/components/Container/index.js.map +1 -1
  240. package/dist/esm/components/DateDetails/index.js +1 -1
  241. package/dist/esm/components/DateDetails/index.js.map +1 -1
  242. package/dist/esm/components/DatePicker/DateTimeRangePicker.js +2 -1
  243. package/dist/esm/components/DatePicker/DateTimeRangePicker.js.map +1 -1
  244. package/dist/esm/components/DatePicker/index.js +2 -1
  245. package/dist/esm/components/DatePicker/index.js.map +1 -1
  246. package/dist/esm/components/EllipsisContent/index.js.map +1 -1
  247. package/dist/esm/components/GenericLabel/GenericLabel.css +31 -0
  248. package/dist/esm/components/GenericLabel/GenericLabel.module.css.js +7 -0
  249. package/dist/esm/components/GenericLabel/GenericLabel.module.css.js.map +1 -0
  250. package/dist/esm/components/GenericLabel/index.js +14 -25
  251. package/dist/esm/components/GenericLabel/index.js.map +1 -1
  252. package/dist/esm/components/GridContainer/index.js.map +1 -1
  253. package/dist/esm/components/Icon/Icon.css +134 -0
  254. package/dist/esm/components/Icon/Icon.module.css.js +23 -0
  255. package/dist/esm/components/Icon/Icon.module.css.js.map +1 -0
  256. package/dist/esm/components/Icon/Icon.stories.css +36 -0
  257. package/dist/esm/components/Icon/SvgImageElement.js +30 -12
  258. package/dist/esm/components/Icon/SvgImageElement.js.map +1 -1
  259. package/dist/esm/components/Icon/index.js +43 -34
  260. package/dist/esm/components/Icon/index.js.map +1 -1
  261. package/dist/esm/components/IconButton/IconButton.css +145 -0
  262. package/dist/esm/components/IconButton/IconButton.module.css.js +21 -0
  263. package/dist/esm/components/IconButton/IconButton.module.css.js.map +1 -0
  264. package/dist/esm/components/IconButton/index.js +29 -40
  265. package/dist/esm/components/IconButton/index.js.map +1 -1
  266. package/dist/esm/components/Label/Label.css +32 -0
  267. package/dist/esm/components/Label/Label.module.css.js +11 -0
  268. package/dist/esm/components/Label/Label.module.css.js.map +1 -0
  269. package/dist/esm/components/Label/index.js +24 -27
  270. package/dist/esm/components/Label/index.js.map +1 -1
  271. package/dist/esm/components/Link/Link.css +135 -0
  272. package/dist/esm/components/Link/Link.module.css.js +29 -0
  273. package/dist/esm/components/Link/Link.module.css.js.map +1 -0
  274. package/dist/esm/components/Link/index.js +51 -18
  275. package/dist/esm/components/Link/index.js.map +1 -1
  276. package/dist/esm/components/ProgressBar/ProgressBar.css +124 -0
  277. package/dist/esm/components/ProgressBar/ProgressBar.module.css.js +27 -0
  278. package/dist/esm/components/ProgressBar/ProgressBar.module.css.js.map +1 -0
  279. package/dist/esm/components/ProgressBar/index.js +44 -66
  280. package/dist/esm/components/ProgressBar/index.js.map +1 -1
  281. package/dist/esm/components/Separator/Separator.css +81 -0
  282. package/dist/esm/components/Separator/Separator.module.css.js +19 -0
  283. package/dist/esm/components/Separator/Separator.module.css.js.map +1 -0
  284. package/dist/esm/components/Separator/index.js +26 -18
  285. package/dist/esm/components/Separator/index.js.map +1 -1
  286. package/dist/esm/components/Spacer/Spacer.css +28 -0
  287. package/dist/esm/components/Spacer/Spacer.module.css.js +19 -0
  288. package/dist/esm/components/Spacer/Spacer.module.css.js.map +1 -0
  289. package/dist/esm/components/Spacer/index.js +22 -8
  290. package/dist/esm/components/Spacer/index.js.map +1 -1
  291. package/dist/esm/components/Switch/Switch.css +65 -0
  292. package/dist/esm/components/Switch/Switch.module.css.js +10 -0
  293. package/dist/esm/components/Switch/Switch.module.css.js.map +1 -0
  294. package/dist/esm/components/Switch/index.js +7 -70
  295. package/dist/esm/components/Switch/index.js.map +1 -1
  296. package/dist/esm/components/Text/Text.css +125 -0
  297. package/dist/esm/components/Text/Text.module.css.js +44 -0
  298. package/dist/esm/components/Text/Text.module.css.js.map +1 -0
  299. package/dist/esm/components/Text/index.js +133 -16
  300. package/dist/esm/components/Text/index.js.map +1 -1
  301. package/dist/esm/components/Title/Title.css +99 -0
  302. package/dist/esm/components/Title/Title.module.css.js +27 -0
  303. package/dist/esm/components/Title/Title.module.css.js.map +1 -0
  304. package/dist/esm/components/Title/index.js +85 -19
  305. package/dist/esm/components/Title/index.js.map +1 -1
  306. package/dist/esm/index.js +1 -1
  307. package/dist/esm/{components/Link/common.js → styles/linkStyles.js} +1 -1
  308. package/dist/esm/styles/linkStyles.js.map +1 -0
  309. package/dist/esm/theme/styles/tokens-dark.css +3 -0
  310. package/dist/esm/theme/styles/tokens-light.css +4 -0
  311. package/dist/esm/theme/tokens/variables.dark.js +4 -2
  312. package/dist/esm/theme/tokens/variables.dark.js.map +1 -1
  313. package/dist/esm/theme/tokens/variables.light.js +6 -1
  314. package/dist/esm/theme/tokens/variables.light.js.map +1 -1
  315. package/dist/types/components/Assets/Flags/Malaysia.d.ts +3 -0
  316. package/dist/types/components/Assets/Flags/Taiwan.d.ts +3 -0
  317. package/dist/types/components/Assets/Flags/system/types.d.ts +1 -1
  318. package/dist/types/components/Assets/Icons/Popin.d.ts +3 -0
  319. package/dist/types/components/Assets/Icons/system/types.d.ts +1 -1
  320. package/dist/types/components/Avatar/Avatar.d.ts +1 -1
  321. package/dist/types/components/Badge/Badge.d.ts +1 -1
  322. package/dist/types/components/ButtonGroup/ButtonGroup.d.ts +1 -1
  323. package/dist/types/components/ButtonGroup/ButtonGroup.types.d.ts +2 -2
  324. package/dist/types/components/CardHorizontal/CardHorizontal.d.ts +1 -1
  325. package/dist/types/components/CardPrimary/CardPrimaryTopBadge.d.ts +10 -4
  326. package/dist/types/components/Checkbox/Checkbox.d.ts +1 -1
  327. package/dist/types/components/Container/Container.d.ts +1 -1
  328. package/dist/types/components/DatePicker/DatePicker.d.ts +2 -1
  329. package/dist/types/components/DatePicker/DateTimeRangePicker.d.ts +2 -1
  330. package/dist/types/components/EllipsisContent/EllipsisContent.d.ts +1 -1
  331. package/dist/types/components/GenericLabel/GenericLabel.d.ts +1 -1
  332. package/dist/types/components/GridContainer/GridContainer.d.ts +1 -1
  333. package/dist/types/components/Icon/SvgImageElement.d.ts +6 -3
  334. package/dist/types/components/IconWrapper/IconWrapper.types.d.ts +2 -2
  335. package/dist/types/components/Label/Label.d.ts +1 -1
  336. package/dist/types/components/Link/Link.d.ts +1 -1
  337. package/dist/types/components/ProgressBar/ProgressBar.d.ts +2 -40
  338. package/dist/types/components/Separator/Separator.d.ts +1 -1
  339. package/dist/types/components/Text/Text.d.ts +1 -1
  340. package/dist/types/index.d.ts +2 -2
  341. package/dist/types/{components/Link/common.d.ts → styles/linkStyles.d.ts} +1 -1
  342. package/dist/types/theme/theme.core.d.ts +7 -0
  343. package/dist/types/theme/tokens/variables.dark.d.ts +2 -0
  344. package/dist/types/theme/tokens/variables.light.d.ts +5 -0
  345. package/package.json +3 -3
  346. package/dist/cjs/components/Link/common.cjs.map +0 -1
  347. package/dist/esm/components/Link/common.js.map +0 -1
@@ -1,57 +1,46 @@
1
+ import "./IconButton.css";
1
2
  import { jsx } from 'react/jsx-runtime';
2
3
  import { forwardRef } from 'react';
3
- import { styled } from 'styled-components';
4
+ import { cn } from '../../lib/cva.js';
5
+ import styles from './IconButton.module.css.js';
4
6
  import { Icon as SvgImage } from '../Icon/index.js';
7
+ import { cva } from 'class-variance-authority';
5
8
 
9
+ const iconButtonVariants = cva(styles.iconbutton, {
10
+ variants: {
11
+ type: {
12
+ primary: styles["iconbutton_type_primary"],
13
+ secondary: styles["iconbutton_type_secondary"],
14
+ ghost: styles["iconbutton_type_ghost"],
15
+ danger: styles["iconbutton_type_danger"],
16
+ info: styles["iconbutton_type_info"]
17
+ },
18
+ size: {
19
+ default: "",
20
+ sm: styles["iconbutton_size_sm"],
21
+ xs: styles["iconbutton_size_xs"]
22
+ }
23
+ },
24
+ defaultVariants: {
25
+ type: "primary",
26
+ size: "default"
27
+ }
28
+ });
6
29
  const IconButton = forwardRef(({
7
30
  type = "primary",
8
31
  icon,
9
32
  size,
10
33
  disabled,
34
+ className,
11
35
  ...props
12
36
  }, ref) => {
13
37
  const iconName = icon ? icon.toString() : "unknown icon";
14
- return /* @__PURE__ */ jsx(Button, { ...props, $styleType: type, $size: size, disabled, ref, role: "button", "aria-label": iconName, children: /* @__PURE__ */ jsx(SvgImage, { name: icon, size: "sm" }) });
38
+ return /* @__PURE__ */ jsx("button", { ...props, className: cn(iconButtonVariants({
39
+ type,
40
+ size
41
+ }), className), disabled, ref, role: "button", "aria-label": iconName, children: /* @__PURE__ */ jsx(SvgImage, { name: icon, size: "sm" }) });
15
42
  });
16
43
  IconButton.displayName = "IconButton";
17
- const Button = styled.button.withConfig({
18
- componentId: "sc-4ff7ue-0"
19
- })(["", ""], ({
20
- theme,
21
- $size,
22
- $styleType = "primary"
23
- }) => `
24
- border-radius: ${theme.click.button.iconButton.radii.all};
25
- border: ${theme.click.button.stroke} solid ${theme.click.button.iconButton.color[$styleType].stroke.default};
26
- cursor: pointer;
27
- padding: ${$size ? `${theme.click.button.iconButton[$size].space.y} ${theme.click.button.iconButton[$size].space.x}` : `${theme.click.button.iconButton.default.space.y} ${theme.click.button.iconButton.default.space.x}`};
28
-
29
- background-color: ${theme.click.button.iconButton.color[$styleType].background.default};
30
-
31
- color: ${theme.click.button.iconButton.color[$styleType].text.default};
32
- &:not([disabled]) {
33
- &:hover {
34
- background-color: ${theme.click.button.iconButton.color[$styleType].background.hover};
35
- color: ${theme.click.button.iconButton.color[$styleType].text.hover};
36
- border-color: ${theme.click.button.iconButton.color[$styleType].stroke.hover};
37
- }
38
-
39
- &:focus, &:active, &:focus-within {
40
- background-color: ${theme.click.button.iconButton.color[$styleType].background.active};
41
- color: ${theme.click.button.iconButton.color[$styleType].text.active};
42
- border-color: ${theme.click.button.iconButton.color[$styleType].stroke.active};
43
- }
44
- }
45
- &:visited {
46
- background-color: ${theme.click.button.iconButton.color[$styleType].background.default};
47
- }
48
-
49
- &[disabled] {
50
- background-color: ${theme.click.button.iconButton.color.disabled.background.default};
51
- color: ${theme.click.button.iconButton.color.disabled.text.default};
52
- cursor: not-allowed;
53
- }
54
- `);
55
44
 
56
45
  export { IconButton };
57
46
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sources":["../../../../src/components/IconButton/IconButton.tsx"],"sourcesContent":["import { forwardRef } from 'react';\nimport { styled } from 'styled-components';\nimport { Icon } from '@/components/Icon';\nimport { IconButtonProps } from './IconButton.types';\n\nexport const IconButton = forwardRef<HTMLButtonElement, IconButtonProps>(\n ({ type = 'primary', icon, size, disabled, ...props }, ref) => {\n const iconName = icon ? icon.toString() : 'unknown icon';\n\n return (\n <Button\n {...props}\n $styleType={type}\n $size={size}\n disabled={disabled}\n ref={ref}\n role=\"button\"\n aria-label={iconName}\n >\n <Icon\n name={icon}\n size=\"sm\"\n />\n </Button>\n );\n }\n);\n\nIconButton.displayName = 'IconButton';\n\nconst Button = styled.button<{\n $styleType?: 'primary' | 'secondary' | 'ghost' | 'danger' | 'info';\n $size?: 'default' | 'sm' | 'xs';\n}>`\n ${({ theme, $size, $styleType = 'primary' }) => `\n border-radius: ${theme.click.button.iconButton.radii.all};\n border: ${theme.click.button.stroke} solid ${\n theme.click.button.iconButton.color[$styleType].stroke.default\n };\n cursor: pointer;\n padding: ${\n $size\n ? `${theme.click.button.iconButton[$size].space.y} ${theme.click.button.iconButton[$size].space.x}`\n : `${theme.click.button.iconButton.default.space.y} ${theme.click.button.iconButton.default.space.x}`\n };\n\n background-color: ${theme.click.button.iconButton.color[$styleType].background.default};\n\n color: ${theme.click.button.iconButton.color[$styleType].text.default};\n &:not([disabled]) {\n &:hover {\n background-color: ${theme.click.button.iconButton.color[$styleType].background.hover};\n color: ${theme.click.button.iconButton.color[$styleType].text.hover};\n border-color: ${theme.click.button.iconButton.color[$styleType].stroke.hover};\n }\n\n &:focus, &:active, &:focus-within {\n background-color: ${\n theme.click.button.iconButton.color[$styleType].background.active\n };\n color: ${theme.click.button.iconButton.color[$styleType].text.active};\n border-color: ${theme.click.button.iconButton.color[$styleType].stroke.active};\n }\n }\n &:visited {\n background-color: ${\n theme.click.button.iconButton.color[$styleType].background.default\n };\n }\n\n &[disabled] {\n background-color: ${theme.click.button.iconButton.color.disabled.background.default};\n color: ${theme.click.button.iconButton.color.disabled.text.default};\n cursor: not-allowed;\n }\n `}\n`;\n"],"names":["IconButton","forwardRef","type","icon","size","disabled","props","ref","iconName","toString","Icon","displayName","Button","styled","button","withConfig","componentId","theme","$size","$styleType","click","iconButton","radii","all","stroke","color","default","space","y","x","background","text","hover","active"],"mappings":"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"}
1
+ {"version":3,"file":"index.js","sources":["../../../../src/components/IconButton/IconButton.tsx"],"sourcesContent":["import { forwardRef } from 'react';\nimport { Icon } from '@/components/Icon';\nimport { cn, cva } from '@/lib/cva';\nimport { IconButtonProps } from './IconButton.types';\nimport styles from './IconButton.module.css';\n\nconst iconButtonVariants = cva(styles.iconbutton, {\n variants: {\n type: {\n primary: styles['iconbutton_type_primary'],\n secondary: styles['iconbutton_type_secondary'],\n ghost: styles['iconbutton_type_ghost'],\n danger: styles['iconbutton_type_danger'],\n info: styles['iconbutton_type_info'],\n },\n size: {\n default: '',\n sm: styles['iconbutton_size_sm'],\n xs: styles['iconbutton_size_xs'],\n },\n },\n defaultVariants: {\n type: 'primary',\n size: 'default',\n },\n});\n\nexport const IconButton = forwardRef<HTMLButtonElement, IconButtonProps>(\n ({ type = 'primary', icon, size, disabled, className, ...props }, ref) => {\n const iconName = icon ? icon.toString() : 'unknown icon';\n\n return (\n <button\n {...props}\n className={cn(iconButtonVariants({ type, size }), className)}\n disabled={disabled}\n ref={ref}\n role=\"button\"\n aria-label={iconName}\n >\n <Icon\n name={icon}\n size=\"sm\"\n />\n </button>\n );\n }\n);\n\nIconButton.displayName = 'IconButton';\n"],"names":["iconButtonVariants","cva","styles","iconbutton","variants","type","primary","secondary","ghost","danger","info","size","default","sm","xs","defaultVariants","IconButton","forwardRef","icon","disabled","className","props","ref","iconName","toString","cn","Icon","displayName"],"mappings":";;;;;;;AAMA,MAAMA,kBAAAA,GAAqBC,GAAAA,CAAIC,MAAAA,CAAOC,UAAAA,EAAY;AAAA,EAChDC,QAAAA,EAAU;AAAA,IACRC,IAAAA,EAAM;AAAA,MACJC,OAAAA,EAASJ,OAAO,yBAAyB,CAAA;AAAA,MACzCK,SAAAA,EAAWL,OAAO,2BAA2B,CAAA;AAAA,MAC7CM,KAAAA,EAAON,OAAO,uBAAuB,CAAA;AAAA,MACrCO,MAAAA,EAAQP,OAAO,wBAAwB,CAAA;AAAA,MACvCQ,IAAAA,EAAMR,OAAO,sBAAsB;AAAA,KACrC;AAAA,IACAS,IAAAA,EAAM;AAAA,MACJC,OAAAA,EAAS,EAAA;AAAA,MACTC,EAAAA,EAAIX,OAAO,oBAAoB,CAAA;AAAA,MAC/BY,EAAAA,EAAIZ,OAAO,oBAAoB;AAAA;AACjC,GACF;AAAA,EACAa,eAAAA,EAAiB;AAAA,IACfV,IAAAA,EAAM,SAAA;AAAA,IACNM,IAAAA,EAAM;AAAA;AAEV,CAAC,CAAA;AAEM,MAAMK,UAAAA,GAAaC,WACxB,CAAC;AAAA,EAAEZ,IAAAA,GAAO,SAAA;AAAA,EAAWa,IAAAA;AAAAA,EAAMP,IAAAA;AAAAA,EAAMQ,QAAAA;AAAAA,EAAUC,SAAAA;AAAAA,EAAW,GAAGC;AAAM,CAAA,EAAGC,GAAAA,KAAQ;AACxE,EAAA,MAAMC,QAAAA,GAAWL,IAAAA,GAAOA,IAAAA,CAAKM,QAAAA,EAAS,GAAI,cAAA;AAE1C,EAAA,2BACG,QAAA,EAAA,EACC,GAAIH,KAAAA,EACJ,SAAA,EAAWI,GAAGzB,kBAAAA,CAAmB;AAAA,IAAEK,IAAAA;AAAAA,IAAMM;AAAAA,GAAM,CAAA,EAAGS,SAAS,CAAA,EAC3D,QAAA,EACA,KACA,IAAA,EAAK,QAAA,EACL,YAAA,EAAYG,QAAAA,EAEZ,8BAACG,QAAA,EAAA,EACC,IAAA,EAAMR,IAAAA,EACN,IAAA,EAAK,MAAI,CAAA,EAEb,CAAA;AAEJ,CACF;AAEAF,UAAAA,CAAWW,WAAAA,GAAc,YAAA;;;;"}
@@ -0,0 +1,32 @@
1
+ .label__RaRvM {
2
+ color: var(--click-field-color-label-default);
3
+ font: var(--click-field-typography-label-default);
4
+ }
5
+
6
+ /* Hover/focus rules only apply when neither disabled nor error is set, matching
7
+ the original styled-components behavior (which simply didn't emit them in
8
+ those states). The :not() chain also raises specificity above 0-1-0 so these
9
+ rules win over InputWrapper's `labelColor` override (a 0-1-0 single-class
10
+ styled-components selector injected later in the cascade). The .label_error
11
+ and .label_disabled modifiers below stay at 0-1-0 on purpose, so labelColor
12
+ continues to override them. */
13
+ .label__RaRvM:not(.label_error__k6yT0, .label_disabled__8BGcG):hover {
14
+ color: var(--click-field-color-label-hover);
15
+ font: var(--click-field-typography-label-hover);
16
+ }
17
+
18
+ .label__RaRvM:not(.label_error__k6yT0, .label_disabled__8BGcG):focus,
19
+ .label__RaRvM:not(.label_error__k6yT0, .label_disabled__8BGcG):focus-within {
20
+ color: var(--click-field-color-label-active);
21
+ font: var(--click-field-typography-label-active);
22
+ }
23
+
24
+ .label_error__k6yT0 {
25
+ color: var(--click-field-color-label-error);
26
+ font: var(--click-field-typography-label-error);
27
+ }
28
+
29
+ .label_disabled__8BGcG {
30
+ color: var(--click-field-color-label-disabled);
31
+ font: var(--click-field-typography-label-disabled);
32
+ }
@@ -0,0 +1,11 @@
1
+ const label = "label__RaRvM";
2
+ const label_error = "label_error__k6yT0";
3
+ const label_disabled = "label_disabled__8BGcG";
4
+ const styles = {
5
+ label: label,
6
+ label_error: label_error,
7
+ label_disabled: label_disabled
8
+ };
9
+
10
+ export { styles as default, label, label_disabled, label_error };
11
+ //# sourceMappingURL=Label.module.css.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Label.module.css.js","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;;;;;;;"}
@@ -1,38 +1,35 @@
1
+ import "./Label.css";
1
2
  import { jsx } from 'react/jsx-runtime';
2
- import { styled } from 'styled-components';
3
+ import { cn } from '../../lib/cva.js';
4
+ import styles from './Label.module.css.js';
5
+ import { cva } from 'class-variance-authority';
3
6
 
4
- const FormFieldLabel = styled.label.withConfig({
5
- componentId: "sc-1gg29zb-0"
6
- })(["", ""], ({
7
- theme,
8
- disabled,
9
- $error
10
- }) => `
11
- ${disabled ? `
12
- color: ${theme.click.field.color.label.disabled};
13
- font: ${theme.click.field.typography.label.disabled};
14
- ` : $error ? `
15
- color: ${theme.click.field.color.label.error};
16
- font: ${theme.click.field.typography.label.error};
17
- ` : `
18
- color: ${theme.click.field.color.label.default};
19
- font: ${theme.click.field.typography.label.default};
20
- &:hover {
21
- color: ${theme.click.field.color.label.hover};
22
- font: ${theme.click.field.typography.label.hover};
23
- }
24
- &:focus, &:focus-within {
25
- color: ${theme.click.field.color.label.active};
26
- font: ${theme.click.field.typography.label.active};
7
+ const labelVariants = cva(styles.label, {
8
+ variants: {
9
+ disabled: {
10
+ true: styles["label_disabled"],
11
+ false: ""
12
+ },
13
+ error: {
14
+ true: styles["label_error"],
15
+ false: ""
27
16
  }
28
- `};
29
- `);
17
+ },
18
+ defaultVariants: {
19
+ disabled: false,
20
+ error: false
21
+ }
22
+ });
30
23
  const Label = ({
31
24
  disabled,
32
25
  error,
33
26
  children,
27
+ className,
34
28
  ...props
35
- }) => /* @__PURE__ */ jsx(FormFieldLabel, { disabled, $error: error, ...props, children });
29
+ }) => /* @__PURE__ */ jsx("label", { ...props, className: cn(labelVariants({
30
+ disabled,
31
+ error
32
+ }), className), children });
36
33
 
37
34
  export { Label };
38
35
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sources":["../../../../src/components/Label/Label.tsx"],"sourcesContent":["import { styled } from 'styled-components';\nimport { LabelProps } from './Label.types';\n\ninterface FormFieldLableProps {\n disabled?: boolean;\n $error?: boolean;\n htmlFor?: string;\n}\n\nconst FormFieldLabel = styled.label<FormFieldLableProps>`\n ${({ theme, disabled, $error }) => `\n ${\n disabled\n ? `\n color: ${theme.click.field.color.label.disabled};\n font: ${theme.click.field.typography.label.disabled};\n `\n : $error\n ? `\n color: ${theme.click.field.color.label.error};\n font: ${theme.click.field.typography.label.error};\n `\n : `\n color: ${theme.click.field.color.label.default};\n font: ${theme.click.field.typography.label.default};\n &:hover {\n color: ${theme.click.field.color.label.hover};\n font: ${theme.click.field.typography.label.hover};\n }\n &:focus, &:focus-within {\n color: ${theme.click.field.color.label.active};\n font: ${theme.click.field.typography.label.active};\n }\n `\n };\n `}\n`;\n\nexport const Label = ({ disabled, error, children, ...props }: LabelProps) => (\n <FormFieldLabel\n disabled={disabled}\n $error={error}\n {...props}\n >\n {children}\n </FormFieldLabel>\n);\n"],"names":["FormFieldLabel","styled","label","withConfig","componentId","theme","disabled","$error","click","field","color","typography","error","default","hover","active","Label","children","props"],"mappings":";;;AASA,MAAMA,cAAAA,GAAiBC,MAAAA,CAAOC,KAAAA,CAAKC,UAAAA,CAAA;AAAA,EAAAC,WAAAA,EAAA;AAAA,CAAA,CAAA,CAAA,CAAA,EAAA,EAAA,EAAA,GAC/B,CAAC;AAAA,EAAEC,KAAAA;AAAAA,EAAOC,QAAAA;AAAAA,EAAUC;AAAO,CAAA,KAAM;AAAA,IAAA,EAE/BD,QAAAA,GACI;AAAA,WAAA,EACGD,KAAAA,CAAMG,KAAAA,CAAMC,KAAAA,CAAMC,KAAAA,CAAMR,MAAMI,QAAQ,CAAA;AAAA,UAAA,EACvCD,KAAAA,CAAMG,KAAAA,CAAMC,KAAAA,CAAME,UAAAA,CAAWT,MAAMI,QAAQ,CAAA;AAAA,IAAA,CAAA,GAE7CC,MAAAA,GACE;AAAA,WAAA,EACCF,KAAAA,CAAMG,KAAAA,CAAMC,KAAAA,CAAMC,KAAAA,CAAMR,MAAMU,KAAK,CAAA;AAAA,UAAA,EACpCP,KAAAA,CAAMG,KAAAA,CAAMC,KAAAA,CAAME,UAAAA,CAAWT,MAAMU,KAAK,CAAA;AAAA,IAAA,CAAA,GAExC;AAAA,WAAA,EACCP,KAAAA,CAAMG,KAAAA,CAAMC,KAAAA,CAAMC,KAAAA,CAAMR,MAAMW,OAAO,CAAA;AAAA,UAAA,EACtCR,KAAAA,CAAMG,KAAAA,CAAMC,KAAAA,CAAME,UAAAA,CAAWT,MAAMW,OAAO,CAAA;AAAA;AAAA,aAAA,EAEvCR,KAAAA,CAAMG,KAAAA,CAAMC,KAAAA,CAAMC,KAAAA,CAAMR,MAAMY,KAAK,CAAA;AAAA,YAAA,EACpCT,KAAAA,CAAMG,KAAAA,CAAMC,KAAAA,CAAME,UAAAA,CAAWT,MAAMY,KAAK,CAAA;AAAA;AAAA;AAAA,aAAA,EAGvCT,KAAAA,CAAMG,KAAAA,CAAMC,KAAAA,CAAMC,KAAAA,CAAMR,MAAMa,MAAM,CAAA;AAAA,YAAA,EACrCV,KAAAA,CAAMG,KAAAA,CAAMC,KAAAA,CAAME,UAAAA,CAAWT,MAAMa,MAAM,CAAA;AAAA;AAAA,IAAA,CAElD,CAAA;AAAA,EAAA,CAEF,CAAA;AAGI,MAAMC,QAAQA,CAAC;AAAA,EAAEV,QAAAA;AAAAA,EAAUM,KAAAA;AAAAA,EAAOK,QAAAA;AAAAA,EAAU,GAAGC;AAAkB,CAAA,yBACrE,cAAA,EAAA,EACC,QAAA,EACA,QAAQN,KAAAA,EACR,GAAIM,OAEHD,QAAAA,EACH;;;;"}
1
+ {"version":3,"file":"index.js","sources":["../../../../src/components/Label/Label.tsx"],"sourcesContent":["import { cn, cva } from '@/lib/cva';\nimport { LabelProps } from './Label.types';\nimport styles from './Label.module.css';\n\nconst labelVariants = cva(styles.label, {\n variants: {\n disabled: {\n true: styles['label_disabled'],\n false: '',\n },\n error: {\n true: styles['label_error'],\n false: '',\n },\n },\n defaultVariants: {\n disabled: false,\n error: false,\n },\n});\n\nexport const Label = ({ disabled, error, children, className, ...props }: LabelProps) => (\n <label\n {...props}\n className={cn(labelVariants({ disabled, error }), className)}\n >\n {children}\n </label>\n);\n"],"names":["labelVariants","cva","styles","label","variants","disabled","true","false","error","defaultVariants","Label","children","className","props","cn"],"mappings":";;;;;AAIA,MAAMA,aAAAA,GAAgBC,GAAAA,CAAIC,MAAAA,CAAOC,KAAAA,EAAO;AAAA,EACtCC,QAAAA,EAAU;AAAA,IACRC,QAAAA,EAAU;AAAA,MACRC,IAAAA,EAAMJ,OAAO,gBAAgB,CAAA;AAAA,MAC7BK,KAAAA,EAAO;AAAA,KACT;AAAA,IACAC,KAAAA,EAAO;AAAA,MACLF,IAAAA,EAAMJ,OAAO,aAAa,CAAA;AAAA,MAC1BK,KAAAA,EAAO;AAAA;AACT,GACF;AAAA,EACAE,eAAAA,EAAiB;AAAA,IACfJ,QAAAA,EAAU,KAAA;AAAA,IACVG,KAAAA,EAAO;AAAA;AAEX,CAAC,CAAA;AAEM,MAAME,QAAQA,CAAC;AAAA,EAAEL,QAAAA;AAAAA,EAAUG,KAAAA;AAAAA,EAAOG,QAAAA;AAAAA,EAAUC,SAAAA;AAAAA,EAAW,GAAGC;AAAkB,CAAA,yBAChF,OAAA,EAAA,EACC,GAAIA,KAAAA,EACJ,SAAA,EAAWC,GAAGd,aAAAA,CAAc;AAAA,EAAEK,QAAAA;AAAAA,EAAUG;AAAM,CAAC,CAAA,EAAGI,SAAS,CAAA,EAE1DD,QAAAA,EACH;;;;"}
@@ -0,0 +1,135 @@
1
+ .link__Ly-e3 {
2
+ display: inline-flex;
3
+ margin: 0;
4
+ margin-right: var(--link-gap);
5
+ align-items: center;
6
+ gap: var(--link-gap);
7
+ color: var(--click-global-color-text-link-default);
8
+ font: var(--link-font);
9
+ text-decoration: none;
10
+ }
11
+
12
+ .link__Ly-e3:hover,
13
+ .link__Ly-e3:focus {
14
+ color: var(--click-global-color-text-link-hover);
15
+ text-decoration: underline;
16
+ cursor: pointer;
17
+ transition: var(--transition-default);
18
+ }
19
+
20
+ .link__Ly-e3:visited {
21
+ color: var(--click-global-color-text-link-default);
22
+ }
23
+
24
+ /* The original emitted theme.click.link.space.sm.gap for size xs/sm and
25
+ theme.click.link.space.md.gap for md/lg. Alias to a local custom property
26
+ so the gap/margin-right rule on .link stays single-source. */
27
+ .link_size_xs__kYknu,
28
+ .link_size_sm__Qqpi3 {
29
+ --link-gap: var(--click-link-space-sm-gap);
30
+ }
31
+
32
+ .link_size_md__QlDJt,
33
+ .link_size_lg__FkICb {
34
+ --link-gap: var(--click-link-space-md-gap);
35
+ }
36
+
37
+ /* Size + weight compose to pick a single typography token —
38
+ theme.typography.styles.product.text[$weight][$size]. Emit one compound
39
+ class per combination and set --link-font, which the base .link rule
40
+ consumes. */
41
+ .link_size_xs__kYknu.link_weight_normal__shPkj {
42
+ --link-font: var(--typography-styles-product-text-normal-xs);
43
+ }
44
+
45
+ .link_size_sm__Qqpi3.link_weight_normal__shPkj {
46
+ --link-font: var(--typography-styles-product-text-normal-sm);
47
+ }
48
+
49
+ .link_size_md__QlDJt.link_weight_normal__shPkj {
50
+ --link-font: var(--typography-styles-product-text-normal-md);
51
+ }
52
+
53
+ .link_size_lg__FkICb.link_weight_normal__shPkj {
54
+ --link-font: var(--typography-styles-product-text-normal-lg);
55
+ }
56
+
57
+ .link_size_xs__kYknu.link_weight_medium__Sot5E {
58
+ --link-font: var(--typography-styles-product-text-medium-xs);
59
+ }
60
+
61
+ .link_size_sm__Qqpi3.link_weight_medium__Sot5E {
62
+ --link-font: var(--typography-styles-product-text-medium-sm);
63
+ }
64
+
65
+ .link_size_md__QlDJt.link_weight_medium__Sot5E {
66
+ --link-font: var(--typography-styles-product-text-medium-md);
67
+ }
68
+
69
+ .link_size_lg__FkICb.link_weight_medium__Sot5E {
70
+ --link-font: var(--typography-styles-product-text-medium-lg);
71
+ }
72
+
73
+ .link_size_xs__kYknu.link_weight_semibold__6STFO {
74
+ --link-font: var(--typography-styles-product-text-semibold-xs);
75
+ }
76
+
77
+ .link_size_sm__Qqpi3.link_weight_semibold__6STFO {
78
+ --link-font: var(--typography-styles-product-text-semibold-sm);
79
+ }
80
+
81
+ .link_size_md__QlDJt.link_weight_semibold__6STFO {
82
+ --link-font: var(--typography-styles-product-text-semibold-md);
83
+ }
84
+
85
+ .link_size_lg__FkICb.link_weight_semibold__6STFO {
86
+ --link-font: var(--typography-styles-product-text-semibold-lg);
87
+ }
88
+
89
+ .link_size_xs__kYknu.link_weight_bold__FWQyo {
90
+ --link-font: var(--typography-styles-product-text-bold-xs);
91
+ }
92
+
93
+ .link_size_sm__Qqpi3.link_weight_bold__FWQyo {
94
+ --link-font: var(--typography-styles-product-text-bold-sm);
95
+ }
96
+
97
+ .link_size_md__QlDJt.link_weight_bold__FWQyo {
98
+ --link-font: var(--typography-styles-product-text-bold-md);
99
+ }
100
+
101
+ .link_size_lg__FkICb.link_weight_bold__FWQyo {
102
+ --link-font: var(--typography-styles-product-text-bold-lg);
103
+ }
104
+
105
+ .link_size_xs__kYknu.link_weight_mono__Mzdum {
106
+ --link-font: var(--typography-styles-product-text-mono-xs);
107
+ }
108
+
109
+ .link_size_sm__Qqpi3.link_weight_mono__Mzdum {
110
+ --link-font: var(--typography-styles-product-text-mono-sm);
111
+ }
112
+
113
+ .link_size_md__QlDJt.link_weight_mono__Mzdum {
114
+ --link-font: var(--typography-styles-product-text-mono-md);
115
+ }
116
+
117
+ .link_size_lg__FkICb.link_weight_mono__Mzdum {
118
+ --link-font: var(--typography-styles-product-text-mono-lg);
119
+ }
120
+
121
+ /* The inner Icon receives .external-icon via className. The original used a
122
+ descendant selector inside IconWrapper; here we pass the scoped class
123
+ straight to the Icon so the selector stays a single class with the same
124
+ effective specificity. */
125
+ .external-icon_size_xs__hRWrg,
126
+ .external-icon_size_sm__QFJoc {
127
+ width: var(--click-link-icon-size-sm-width);
128
+ height: var(--click-link-icon-size-sm-height);
129
+ }
130
+
131
+ .external-icon_size_md__-bbPt,
132
+ .external-icon_size_lg__XGkpl {
133
+ width: var(--click-link-icon-size-md-width);
134
+ height: var(--click-link-icon-size-md-height);
135
+ }
@@ -0,0 +1,29 @@
1
+ const link = "link__Ly-e3";
2
+ const link_size_xs = "link_size_xs__kYknu";
3
+ const link_size_sm = "link_size_sm__Qqpi3";
4
+ const link_size_md = "link_size_md__QlDJt";
5
+ const link_size_lg = "link_size_lg__FkICb";
6
+ const link_weight_normal = "link_weight_normal__shPkj";
7
+ const link_weight_medium = "link_weight_medium__Sot5E";
8
+ const link_weight_semibold = "link_weight_semibold__6STFO";
9
+ const link_weight_bold = "link_weight_bold__FWQyo";
10
+ const link_weight_mono = "link_weight_mono__Mzdum";
11
+ const styles = {
12
+ link: link,
13
+ link_size_xs: link_size_xs,
14
+ link_size_sm: link_size_sm,
15
+ link_size_md: link_size_md,
16
+ link_size_lg: link_size_lg,
17
+ link_weight_normal: link_weight_normal,
18
+ link_weight_medium: link_weight_medium,
19
+ link_weight_semibold: link_weight_semibold,
20
+ link_weight_bold: link_weight_bold,
21
+ link_weight_mono: link_weight_mono,
22
+ "external-icon_size_xs": "external-icon_size_xs__hRWrg",
23
+ "external-icon_size_sm": "external-icon_size_sm__QFJoc",
24
+ "external-icon_size_md": "external-icon_size_md__-bbPt",
25
+ "external-icon_size_lg": "external-icon_size_lg__XGkpl"
26
+ };
27
+
28
+ export { styles as default, link, link_size_lg, link_size_md, link_size_sm, link_size_xs, link_weight_bold, link_weight_medium, link_weight_mono, link_weight_normal, link_weight_semibold };
29
+ //# sourceMappingURL=Link.module.css.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Link.module.css.js","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;"}
@@ -1,21 +1,45 @@
1
+ import "./Link.css";
1
2
  import { jsxs, jsx } from 'react/jsx-runtime';
2
3
  import { forwardRef } from 'react';
3
- import { styled } from 'styled-components';
4
- import { linkStyles } from './common.js';
4
+ import { cn } from '../../lib/cva.js';
5
+ import styles from './Link.module.css.js';
5
6
  import { Icon as SvgImage } from '../Icon/index.js';
7
+ import { cva } from 'class-variance-authority';
6
8
 
7
- const CuiLink = styled.a.withConfig({
8
- componentId: "sc-1bwz77u-0"
9
- })(["", ""], linkStyles);
10
- const IconWrapper = styled.span.withConfig({
11
- componentId: "sc-1bwz77u-1"
12
- })([".external-icon{height:", ";width:", ";}"], ({
13
- $size,
14
- theme
15
- }) => $size === "xs" || $size === "sm" ? theme.click.link.icon.size.sm.height : theme.click.link.icon.size.md.height, ({
16
- $size,
17
- theme
18
- }) => $size === "xs" || $size === "sm" ? theme.click.link.icon.size.sm.width : theme.click.link.icon.size.md.width);
9
+ const linkVariants = cva(styles.link, {
10
+ variants: {
11
+ size: {
12
+ xs: styles["link_size_xs"],
13
+ sm: styles["link_size_sm"],
14
+ md: styles["link_size_md"],
15
+ lg: styles["link_size_lg"]
16
+ },
17
+ weight: {
18
+ normal: styles["link_weight_normal"],
19
+ medium: styles["link_weight_medium"],
20
+ semibold: styles["link_weight_semibold"],
21
+ bold: styles["link_weight_bold"],
22
+ mono: styles["link_weight_mono"]
23
+ }
24
+ },
25
+ defaultVariants: {
26
+ size: "md",
27
+ weight: "normal"
28
+ }
29
+ });
30
+ const externalIconVariants = cva("", {
31
+ variants: {
32
+ size: {
33
+ xs: styles["external-icon_size_xs"],
34
+ sm: styles["external-icon_size_sm"],
35
+ md: styles["external-icon_size_md"],
36
+ lg: styles["external-icon_size_lg"]
37
+ }
38
+ },
39
+ defaultVariants: {
40
+ size: "md"
41
+ }
42
+ });
19
43
  const _Link = ({
20
44
  size = "md",
21
45
  weight = "normal",
@@ -23,11 +47,20 @@ const _Link = ({
23
47
  icon,
24
48
  children,
25
49
  component,
50
+ className,
26
51
  ...props
27
- }, ref) => /* @__PURE__ */ jsxs(CuiLink, { ref, $size: size, $weight: weight, as: component ?? "a", onClick, ...props, children: [
28
- children,
29
- icon && /* @__PURE__ */ jsx(IconWrapper, { $size: size, children: /* @__PURE__ */ jsx(SvgImage, { name: icon, className: "external-icon", "data-testid": icon }) })
30
- ] });
52
+ }, ref) => {
53
+ const Component = component ?? "a";
54
+ return /* @__PURE__ */ jsxs(Component, { ref, onClick, ...props, className: cn(linkVariants({
55
+ size,
56
+ weight
57
+ }), className), children: [
58
+ children,
59
+ icon && /* @__PURE__ */ jsx("span", { children: /* @__PURE__ */ jsx(SvgImage, { name: icon, className: cn("external-icon", externalIconVariants({
60
+ size
61
+ })), "data-testid": icon }) })
62
+ ] });
63
+ };
31
64
  const Link = forwardRef(_Link);
32
65
 
33
66
  export { Link };
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sources":["../../../../src/components/Link/Link.tsx"],"sourcesContent":["import {\n ComponentProps,\n ComponentPropsWithRef,\n ElementType,\n ReactEventHandler,\n ReactNode,\n forwardRef,\n} from 'react';\nimport { Icon } from '@/components/Icon';\nimport type { IconName } from '@/components/Icon/Icon.types';\nimport { styled } from 'styled-components';\nimport { linkStyles } from './common';\nimport type { TextSize, TextWeight } from '@/components/Text';\n\nexport interface LinkProps<T extends ElementType = 'a'> {\n /** The font size of the link text */\n size?: TextSize;\n /** The font weight of the link text */\n weight?: TextWeight;\n /** Click event handler */\n onClick?: ReactEventHandler;\n /** The content to display inside the link */\n children?: React.ReactNode;\n /** Optional icon to display after the link text */\n icon?: IconName;\n /** Custom component to render as the link element */\n component?: T;\n}\n\nconst CuiLink = styled.a<{ $size: TextSize; $weight: TextWeight }>`\n ${linkStyles}\n`;\n\nconst IconWrapper = styled.span<{ $size: TextSize }>`\n .external-icon {\n height: ${({ $size, theme }) =>\n $size === 'xs' || $size === 'sm'\n ? theme.click.link.icon.size.sm.height\n : theme.click.link.icon.size.md.height};\n width: ${({ $size, theme }) =>\n $size === 'xs' || $size === 'sm'\n ? theme.click.link.icon.size.sm.width\n : theme.click.link.icon.size.md.width};\n }\n`;\n\ntype LinkPolymorphicComponent = <T extends ElementType = 'a'>(\n props: Omit<ComponentProps<T>, keyof T> & LinkProps<T>\n) => ReactNode;\n\n/** Component for linking to other pages or sections from with body text */\nconst _Link = <T extends ElementType = 'a'>(\n {\n size = 'md',\n weight = 'normal',\n onClick,\n icon,\n children,\n component,\n ...props\n }: Omit<ComponentProps<T>, keyof T> & LinkProps<T>,\n ref: ComponentPropsWithRef<T>['ref']\n) => (\n <CuiLink\n ref={ref}\n $size={size}\n $weight={weight}\n as={component ?? 'a'}\n onClick={onClick}\n {...props}\n >\n {children}\n {icon && (\n <IconWrapper $size={size}>\n <Icon\n name={icon}\n className=\"external-icon\"\n data-testid={icon}\n />\n </IconWrapper>\n )}\n </CuiLink>\n);\nexport const Link: LinkPolymorphicComponent = forwardRef(_Link);\n"],"names":["CuiLink","styled","a","withConfig","componentId","linkStyles","IconWrapper","span","$size","theme","click","link","icon","size","sm","height","md","width","_Link","weight","onClick","children","component","props","ref","Icon","Link","forwardRef"],"mappings":";;;;;;AA6BA,MAAMA,OAAAA,GAAUC,MAAAA,CAAOC,CAAAA,CAACC,UAAAA,CAAA;AAAA,EAAAC,WAAAA,EAAA;AAAA,CAAA,CAAA,CAAA,CAAA,EAAA,EAAA,EAAA,GACpBC,UAAU,CAAA;AAGd,MAAMC,WAAAA,GAAcL,MAAAA,CAAOM,IAAAA,CAAIJ,UAAAA,CAAA;AAAA,EAAAC,WAAAA,EAAA;AAAA,CAAA,EAAA,CAAA,wBAAA,EAAA,SAAA,EAAA,IAAA,GAEjB,CAAC;AAAA,EAAEI,KAAAA;AAAAA,EAAOC;AAAM,CAAA,KACxBD,UAAU,IAAA,IAAQA,KAAAA,KAAU,OACxBC,KAAAA,CAAMC,KAAAA,CAAMC,KAAKC,IAAAA,CAAKC,IAAAA,CAAKC,EAAAA,CAAGC,MAAAA,GAC9BN,MAAMC,KAAAA,CAAMC,IAAAA,CAAKC,KAAKC,IAAAA,CAAKG,EAAAA,CAAGD,QAC3B,CAAC;AAAA,EAAEP,KAAAA;AAAAA,EAAOC;AAAM,CAAA,KACvBD,UAAU,IAAA,IAAQA,KAAAA,KAAU,IAAA,GACxBC,KAAAA,CAAMC,MAAMC,IAAAA,CAAKC,IAAAA,CAAKC,IAAAA,CAAKC,EAAAA,CAAGG,QAC9BR,KAAAA,CAAMC,KAAAA,CAAMC,KAAKC,IAAAA,CAAKC,IAAAA,CAAKG,GAAGC,KAAK,CAAA;AAS7C,MAAMC,QAAQ,CACZ;AAAA,EACEL,IAAAA,GAAO,IAAA;AAAA,EACPM,MAAAA,GAAS,QAAA;AAAA,EACTC,OAAAA;AAAAA,EACAR,IAAAA;AAAAA,EACAS,QAAAA;AAAAA,EACAC,SAAAA;AAAAA,EACA,GAAGC;AAC4C,CAAA,EACjDC,GAAAA,qBAEA,IAAA,CAAC,OAAA,EAAA,EACC,GAAA,EACA,KAAA,EAAOX,IAAAA,EACP,OAAA,EAASM,MAAAA,EACT,EAAA,EAAIG,SAAAA,IAAa,GAAA,EACjB,OAAA,EACA,GAAIC,KAAAA,EAEHF,QAAAA,EAAAA;AAAAA,EAAAA,QAAAA;AAAAA,EACAT,IAAAA,oBACC,GAAA,CAAC,WAAA,EAAA,EAAY,KAAA,EAAOC,IAAAA,EAClB,QAAA,kBAAA,GAAA,CAACY,QAAA,EAAA,EACC,IAAA,EAAMb,IAAAA,EACN,SAAA,EAAU,eAAA,EACV,aAAA,EAAaA,MAAK,CAAA,EAEtB;AAAA,CAAA,EAEJ,CAAA;AAEK,MAAMc,IAAAA,GAAiCC,WAAWT,KAAK;;;;"}
1
+ {"version":3,"file":"index.js","sources":["../../../../src/components/Link/Link.tsx"],"sourcesContent":["import {\n ComponentProps,\n ComponentPropsWithRef,\n ElementType,\n ReactEventHandler,\n ReactNode,\n forwardRef,\n} from 'react';\nimport { Icon } from '@/components/Icon';\nimport type { IconName } from '@/components/Icon/Icon.types';\nimport { cn, cva } from '@/lib/cva';\nimport styles from './Link.module.css';\nimport type { TextSize, TextWeight } from '@/components/Text';\n\nexport interface LinkProps<T extends ElementType = 'a'> {\n /** The font size of the link text */\n size?: TextSize;\n /** The font weight of the link text */\n weight?: TextWeight;\n /** Click event handler */\n onClick?: ReactEventHandler;\n /** The content to display inside the link */\n children?: React.ReactNode;\n /** Optional icon to display after the link text */\n icon?: IconName;\n /** Custom component to render as the link element */\n component?: T;\n}\n\nconst linkVariants = cva(styles.link, {\n variants: {\n size: {\n xs: styles['link_size_xs'],\n sm: styles['link_size_sm'],\n md: styles['link_size_md'],\n lg: styles['link_size_lg'],\n },\n weight: {\n normal: styles['link_weight_normal'],\n medium: styles['link_weight_medium'],\n semibold: styles['link_weight_semibold'],\n bold: styles['link_weight_bold'],\n mono: styles['link_weight_mono'],\n },\n },\n defaultVariants: {\n size: 'md',\n weight: 'normal',\n },\n});\n\nconst externalIconVariants = cva('', {\n variants: {\n size: {\n xs: styles['external-icon_size_xs'],\n sm: styles['external-icon_size_sm'],\n md: styles['external-icon_size_md'],\n lg: styles['external-icon_size_lg'],\n },\n },\n defaultVariants: {\n size: 'md',\n },\n});\n\ntype LinkPolymorphicComponent = <T extends ElementType = 'a'>(\n props: Omit<ComponentProps<T>, keyof LinkProps<T>> & LinkProps<T>\n) => ReactNode;\n\n/** Component for linking to other pages or sections from with body text */\nconst _Link = <T extends ElementType = 'a'>(\n {\n size = 'md',\n weight = 'normal',\n onClick,\n icon,\n children,\n component,\n className,\n ...props\n }: Omit<ComponentProps<T>, keyof LinkProps<T>> & LinkProps<T> & { className?: string },\n ref: ComponentPropsWithRef<T>['ref']\n) => {\n const Component = component ?? 'a';\n return (\n <Component\n ref={ref}\n onClick={onClick}\n {...props}\n className={cn(linkVariants({ size, weight }), className)}\n >\n {children}\n {icon && (\n <span>\n <Icon\n name={icon}\n className={cn('external-icon', externalIconVariants({ size }))}\n data-testid={icon}\n />\n </span>\n )}\n </Component>\n );\n};\nexport const Link: LinkPolymorphicComponent = forwardRef(_Link);\n"],"names":["linkVariants","cva","styles","link","variants","size","xs","sm","md","lg","weight","normal","medium","semibold","bold","mono","defaultVariants","externalIconVariants","_Link","onClick","icon","children","component","className","props","ref","Component","cn","Icon","Link","forwardRef"],"mappings":";;;;;;;AA6BA,MAAMA,YAAAA,GAAeC,GAAAA,CAAIC,MAAAA,CAAOC,IAAAA,EAAM;AAAA,EACpCC,QAAAA,EAAU;AAAA,IACRC,IAAAA,EAAM;AAAA,MACJC,EAAAA,EAAIJ,OAAO,cAAc,CAAA;AAAA,MACzBK,EAAAA,EAAIL,OAAO,cAAc,CAAA;AAAA,MACzBM,EAAAA,EAAIN,OAAO,cAAc,CAAA;AAAA,MACzBO,EAAAA,EAAIP,OAAO,cAAc;AAAA,KAC3B;AAAA,IACAQ,MAAAA,EAAQ;AAAA,MACNC,MAAAA,EAAQT,OAAO,oBAAoB,CAAA;AAAA,MACnCU,MAAAA,EAAQV,OAAO,oBAAoB,CAAA;AAAA,MACnCW,QAAAA,EAAUX,OAAO,sBAAsB,CAAA;AAAA,MACvCY,IAAAA,EAAMZ,OAAO,kBAAkB,CAAA;AAAA,MAC/Ba,IAAAA,EAAMb,OAAO,kBAAkB;AAAA;AACjC,GACF;AAAA,EACAc,eAAAA,EAAiB;AAAA,IACfX,IAAAA,EAAM,IAAA;AAAA,IACNK,MAAAA,EAAQ;AAAA;AAEZ,CAAC,CAAA;AAED,MAAMO,oBAAAA,GAAuBhB,IAAI,EAAA,EAAI;AAAA,EACnCG,QAAAA,EAAU;AAAA,IACRC,IAAAA,EAAM;AAAA,MACJC,EAAAA,EAAIJ,OAAO,uBAAuB,CAAA;AAAA,MAClCK,EAAAA,EAAIL,OAAO,uBAAuB,CAAA;AAAA,MAClCM,EAAAA,EAAIN,OAAO,uBAAuB,CAAA;AAAA,MAClCO,EAAAA,EAAIP,OAAO,uBAAuB;AAAA;AACpC,GACF;AAAA,EACAc,eAAAA,EAAiB;AAAA,IACfX,IAAAA,EAAM;AAAA;AAEV,CAAC,CAAA;AAOD,MAAMa,QAAQ,CACZ;AAAA,EACEb,IAAAA,GAAO,IAAA;AAAA,EACPK,MAAAA,GAAS,QAAA;AAAA,EACTS,OAAAA;AAAAA,EACAC,IAAAA;AAAAA,EACAC,QAAAA;AAAAA,EACAC,SAAAA;AAAAA,EACAC,SAAAA;AAAAA,EACA,GAAGC;AACgF,CAAA,EACrFC,GAAAA,KACG;AACH,EAAA,MAAMC,YAAYJ,SAAAA,IAAa,GAAA;AAC/B,EAAA,uBACE,IAAA,CAAC,aACC,GAAA,EACA,OAAA,EACA,GAAIE,KAAAA,EACJ,SAAA,EAAWG,GAAG3B,YAAAA,CAAa;AAAA,IAAEK,IAAAA;AAAAA,IAAMK;AAAAA,GAAQ,CAAA,EAAGa,SAAS,CAAA,EAEtDF,QAAAA,EAAAA;AAAAA,IAAAA,QAAAA;AAAAA,IACAD,IAAAA,oBACC,GAAA,CAAC,MAAA,EAAA,EACC,QAAA,kBAAA,GAAA,CAACQ,QAAA,EAAA,EACC,MAAMR,IAAAA,EACN,SAAA,EAAWO,EAAAA,CAAG,eAAA,EAAiBV,oBAAAA,CAAqB;AAAA,MAAEZ;AAAAA,KAAM,CAAC,CAAA,EAC7D,aAAA,EAAae,MAAK,CAAA,EAEtB;AAAA,GAAA,EAEJ,CAAA;AAEJ,CAAA;AACO,MAAMS,IAAAA,GAAiCC,WAAWZ,KAAK;;;;"}