@candy.thieves/ui-kit-lumos 0.0.1

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 (229) hide show
  1. package/README.md +141 -0
  2. package/dist/.storybook/main.d.ts +3 -0
  3. package/dist/.storybook/preview.d.ts +6 -0
  4. package/dist/favicon.svg +1 -0
  5. package/dist/icons.svg +24 -0
  6. package/dist/index.css +2 -0
  7. package/dist/index.js +307 -0
  8. package/dist/index.js.map +1 -0
  9. package/dist/src/assets/icons/ArrowBackOutline.d.ts +3 -0
  10. package/dist/src/assets/icons/ArrowForwardOutline.d.ts +3 -0
  11. package/dist/src/assets/icons/ArrowIosBack.d.ts +3 -0
  12. package/dist/src/assets/icons/ArrowIosBackOutline.d.ts +3 -0
  13. package/dist/src/assets/icons/ArrowIosDownOutline.d.ts +3 -0
  14. package/dist/src/assets/icons/ArrowIosForward.d.ts +3 -0
  15. package/dist/src/assets/icons/ArrowIosForwardOutline.d.ts +3 -0
  16. package/dist/src/assets/icons/ArrowIosUp.d.ts +3 -0
  17. package/dist/src/assets/icons/Block.d.ts +3 -0
  18. package/dist/src/assets/icons/BlockOutline.d.ts +3 -0
  19. package/dist/src/assets/icons/Bookmark.d.ts +3 -0
  20. package/dist/src/assets/icons/BookmarkOutline.d.ts +3 -0
  21. package/dist/src/assets/icons/Brave.d.ts +3 -0
  22. package/dist/src/assets/icons/Calendar.d.ts +3 -0
  23. package/dist/src/assets/icons/CalendarOutline.d.ts +3 -0
  24. package/dist/src/assets/icons/CheckmarkOutline.d.ts +3 -0
  25. package/dist/src/assets/icons/Close.d.ts +3 -0
  26. package/dist/src/assets/icons/CloseOutline.d.ts +3 -0
  27. package/dist/src/assets/icons/ColorPaletteOutline.d.ts +3 -0
  28. package/dist/src/assets/icons/Copy.d.ts +3 -0
  29. package/dist/src/assets/icons/CopyOutline.d.ts +3 -0
  30. package/dist/src/assets/icons/CreditCard.d.ts +3 -0
  31. package/dist/src/assets/icons/CreditCardOutline.d.ts +3 -0
  32. package/dist/src/assets/icons/DoneAllOutline.d.ts +3 -0
  33. package/dist/src/assets/icons/Edit.d.ts +3 -0
  34. package/dist/src/assets/icons/EditOutline.d.ts +3 -0
  35. package/dist/src/assets/icons/Email.d.ts +3 -0
  36. package/dist/src/assets/icons/EmailOutline.d.ts +3 -0
  37. package/dist/src/assets/icons/Expand.d.ts +3 -0
  38. package/dist/src/assets/icons/ExpandOutline.d.ts +3 -0
  39. package/dist/src/assets/icons/Explorer.d.ts +3 -0
  40. package/dist/src/assets/icons/Eye.d.ts +3 -0
  41. package/dist/src/assets/icons/EyeOff.d.ts +3 -0
  42. package/dist/src/assets/icons/EyeOffOutline.d.ts +3 -0
  43. package/dist/src/assets/icons/EyeOutline.d.ts +3 -0
  44. package/dist/src/assets/icons/Facebook.d.ts +3 -0
  45. package/dist/src/assets/icons/FillBell.d.ts +3 -0
  46. package/dist/src/assets/icons/Firefox.d.ts +3 -0
  47. package/dist/src/assets/icons/FlagEng.d.ts +3 -0
  48. package/dist/src/assets/icons/FlagRus.d.ts +3 -0
  49. package/dist/src/assets/icons/GithubRepo.d.ts +3 -0
  50. package/dist/src/assets/icons/Google.d.ts +3 -0
  51. package/dist/src/assets/icons/Heart.d.ts +3 -0
  52. package/dist/src/assets/icons/HeartOutline.d.ts +3 -0
  53. package/dist/src/assets/icons/Home.d.ts +3 -0
  54. package/dist/src/assets/icons/HomeOutline.d.ts +3 -0
  55. package/dist/src/assets/icons/Image.d.ts +3 -0
  56. package/dist/src/assets/icons/ImageOutline.d.ts +3 -0
  57. package/dist/src/assets/icons/Layers.d.ts +3 -0
  58. package/dist/src/assets/icons/LayersOutline.d.ts +3 -0
  59. package/dist/src/assets/icons/LogOut.d.ts +3 -0
  60. package/dist/src/assets/icons/LogOutOutline.d.ts +3 -0
  61. package/dist/src/assets/icons/Maximize.d.ts +3 -0
  62. package/dist/src/assets/icons/MaximizeOutline.d.ts +3 -0
  63. package/dist/src/assets/icons/MenuOutline.d.ts +3 -0
  64. package/dist/src/assets/icons/MessageCircle.d.ts +3 -0
  65. package/dist/src/assets/icons/MessageCircleOutline.d.ts +3 -0
  66. package/dist/src/assets/icons/Mic.d.ts +3 -0
  67. package/dist/src/assets/icons/MicOutline.d.ts +3 -0
  68. package/dist/src/assets/icons/MicrosoftEdge.d.ts +3 -0
  69. package/dist/src/assets/icons/MoreHorizontal.d.ts +3 -0
  70. package/dist/src/assets/icons/MoreHorizontalOutline.d.ts +3 -0
  71. package/dist/src/assets/icons/Opera.d.ts +3 -0
  72. package/dist/src/assets/icons/OutlineBell.d.ts +8 -0
  73. package/dist/src/assets/icons/Paid.d.ts +3 -0
  74. package/dist/src/assets/icons/PaperPlane.d.ts +3 -0
  75. package/dist/src/assets/icons/PaperPlaneOutline.d.ts +3 -0
  76. package/dist/src/assets/icons/PauseCircle.d.ts +3 -0
  77. package/dist/src/assets/icons/PauseCircleOutline.d.ts +3 -0
  78. package/dist/src/assets/icons/Paypal.d.ts +3 -0
  79. package/dist/src/assets/icons/Person.d.ts +3 -0
  80. package/dist/src/assets/icons/PersonAdd.d.ts +3 -0
  81. package/dist/src/assets/icons/PersonAddOutline.d.ts +3 -0
  82. package/dist/src/assets/icons/PersonOutline.d.ts +3 -0
  83. package/dist/src/assets/icons/PersonRemove.d.ts +3 -0
  84. package/dist/src/assets/icons/PersonRemoveOutline.d.ts +3 -0
  85. package/dist/src/assets/icons/Pin.d.ts +3 -0
  86. package/dist/src/assets/icons/PinOutline.d.ts +3 -0
  87. package/dist/src/assets/icons/PlayCircle.d.ts +3 -0
  88. package/dist/src/assets/icons/PlayCircleOutline.d.ts +3 -0
  89. package/dist/src/assets/icons/PlusCircle.d.ts +3 -0
  90. package/dist/src/assets/icons/PlusCircleOutline.d.ts +3 -0
  91. package/dist/src/assets/icons/PlusSquare.d.ts +3 -0
  92. package/dist/src/assets/icons/PlusSquareOutline.d.ts +3 -0
  93. package/dist/src/assets/icons/RadioButtonChecked.d.ts +3 -0
  94. package/dist/src/assets/icons/RadioButtonUnchecked.d.ts +3 -0
  95. package/dist/src/assets/icons/RecaptchaLogo.d.ts +3 -0
  96. package/dist/src/assets/icons/Safari.d.ts +3 -0
  97. package/dist/src/assets/icons/Search.d.ts +3 -0
  98. package/dist/src/assets/icons/SearchOutline.d.ts +3 -0
  99. package/dist/src/assets/icons/Settings.d.ts +3 -0
  100. package/dist/src/assets/icons/SettingsOutline.d.ts +3 -0
  101. package/dist/src/assets/icons/Stripe.d.ts +3 -0
  102. package/dist/src/assets/icons/Trash.d.ts +3 -0
  103. package/dist/src/assets/icons/TrashOutline.d.ts +3 -0
  104. package/dist/src/assets/icons/TrendingUp.d.ts +3 -0
  105. package/dist/src/assets/icons/TrendingUpOutline.d.ts +3 -0
  106. package/dist/src/assets/icons/UcBrowser.d.ts +3 -0
  107. package/dist/src/assets/icons/Yandex.d.ts +3 -0
  108. package/dist/src/assets/icons/index.d.ts +99 -0
  109. package/dist/src/components/RadioGroup/RadioGroup.d.ts +15 -0
  110. package/dist/src/components/RadioGroup/index.d.ts +1 -0
  111. package/dist/src/components/TestMixins/TestMixins.d.ts +1 -0
  112. package/dist/src/components/TestMixins/index.d.ts +1 -0
  113. package/dist/src/components/Typography/Typography.d.ts +26 -0
  114. package/dist/src/components/Typography/index.d.ts +1 -0
  115. package/dist/src/components/index.d.ts +3 -0
  116. package/dist/src/index.d.ts +6 -0
  117. package/dist/src/stories/assets/ArrowBackOutline.stories.d.ts +60 -0
  118. package/dist/src/stories/assets/ArrowForwardOutline.stories.d.ts +60 -0
  119. package/dist/src/stories/assets/ArrowIosBack.stories.d.ts +60 -0
  120. package/dist/src/stories/assets/ArrowIosBackOutline.stories.d.ts +60 -0
  121. package/dist/src/stories/assets/ArrowIosDownOutline.stories.d.ts +60 -0
  122. package/dist/src/stories/assets/ArrowIosForward.stories.d.ts +60 -0
  123. package/dist/src/stories/assets/ArrowIosForwardOutline.stories.d.ts +60 -0
  124. package/dist/src/stories/assets/ArrowIosUp.stories.d.ts +60 -0
  125. package/dist/src/stories/assets/Block.stories.d.ts +60 -0
  126. package/dist/src/stories/assets/BlockOutline.stories.d.ts +60 -0
  127. package/dist/src/stories/assets/Bookmark.stories.d.ts +60 -0
  128. package/dist/src/stories/assets/BookmarkOutline.stories.d.ts +60 -0
  129. package/dist/src/stories/assets/Brave.stories.d.ts +60 -0
  130. package/dist/src/stories/assets/Calendar.stories.d.ts +60 -0
  131. package/dist/src/stories/assets/CalendarOutline.stories.d.ts +60 -0
  132. package/dist/src/stories/assets/CheckmarkOutline.stories.d.ts +60 -0
  133. package/dist/src/stories/assets/Close.stories.d.ts +60 -0
  134. package/dist/src/stories/assets/CloseOutline.stories.d.ts +60 -0
  135. package/dist/src/stories/assets/ColorPaletteOutline.stories.d.ts +60 -0
  136. package/dist/src/stories/assets/Copy.stories.d.ts +60 -0
  137. package/dist/src/stories/assets/CopyOutline.stories.d.ts +60 -0
  138. package/dist/src/stories/assets/CreditCard.stories.d.ts +60 -0
  139. package/dist/src/stories/assets/CreditCardOutline.stories.d.ts +60 -0
  140. package/dist/src/stories/assets/DoneAllOutline.stories.d.ts +60 -0
  141. package/dist/src/stories/assets/Edit.stories.d.ts +60 -0
  142. package/dist/src/stories/assets/EditOutline.stories.d.ts +60 -0
  143. package/dist/src/stories/assets/Email.stories.d.ts +60 -0
  144. package/dist/src/stories/assets/EmailOutline.stories.d.ts +60 -0
  145. package/dist/src/stories/assets/Expand.stories.d.ts +60 -0
  146. package/dist/src/stories/assets/ExpandOutline.stories.d.ts +60 -0
  147. package/dist/src/stories/assets/Explorer.stories.d.ts +60 -0
  148. package/dist/src/stories/assets/Eye.stories.d.ts +60 -0
  149. package/dist/src/stories/assets/EyeOff.stories.d.ts +60 -0
  150. package/dist/src/stories/assets/EyeOffOutline.stories.d.ts +60 -0
  151. package/dist/src/stories/assets/EyeOutline.stories.d.ts +60 -0
  152. package/dist/src/stories/assets/Facebook.stories.d.ts +47 -0
  153. package/dist/src/stories/assets/FillBell.stories.d.ts +60 -0
  154. package/dist/src/stories/assets/Firefox.stories.d.ts +60 -0
  155. package/dist/src/stories/assets/FlagEng.stories.d.ts +47 -0
  156. package/dist/src/stories/assets/FlagRus.stories.d.ts +47 -0
  157. package/dist/src/stories/assets/GithubRepo.stories.d.ts +60 -0
  158. package/dist/src/stories/assets/Google.stories.d.ts +47 -0
  159. package/dist/src/stories/assets/Heart.stories.d.ts +60 -0
  160. package/dist/src/stories/assets/HeartOutline.stories.d.ts +60 -0
  161. package/dist/src/stories/assets/Home.stories.d.ts +60 -0
  162. package/dist/src/stories/assets/HomeOutline.stories.d.ts +60 -0
  163. package/dist/src/stories/assets/ImageIcon.stories.d.ts +60 -0
  164. package/dist/src/stories/assets/ImageOutline.stories.d.ts +60 -0
  165. package/dist/src/stories/assets/Layers.stories.d.ts +60 -0
  166. package/dist/src/stories/assets/LayersOutline.stories.d.ts +60 -0
  167. package/dist/src/stories/assets/LogOut.stories.d.ts +60 -0
  168. package/dist/src/stories/assets/LogOutOutline.stories.d.ts +60 -0
  169. package/dist/src/stories/assets/Maximize.stories.d.ts +60 -0
  170. package/dist/src/stories/assets/MaximizeOutline.stories.d.ts +60 -0
  171. package/dist/src/stories/assets/MenuOutline.stories.d.ts +60 -0
  172. package/dist/src/stories/assets/MessageCircle.stories.d.ts +60 -0
  173. package/dist/src/stories/assets/MessageCircleOutline.stories.d.ts +60 -0
  174. package/dist/src/stories/assets/Mic.stories.d.ts +60 -0
  175. package/dist/src/stories/assets/MicOutline.stories.d.ts +60 -0
  176. package/dist/src/stories/assets/MicrosoftEdge.stories.d.ts +60 -0
  177. package/dist/src/stories/assets/MoreHorizontal.stories.d.ts +60 -0
  178. package/dist/src/stories/assets/MoreHorizontalOutline.stories.d.ts +60 -0
  179. package/dist/src/stories/assets/Opera.stories.d.ts +60 -0
  180. package/dist/src/stories/assets/OutlineBell.stories.d.ts +69 -0
  181. package/dist/src/stories/assets/Paid.stories.d.ts +47 -0
  182. package/dist/src/stories/assets/PaperPlane.stories.d.ts +60 -0
  183. package/dist/src/stories/assets/PaperPlaneOutline.stories.d.ts +60 -0
  184. package/dist/src/stories/assets/PauseCircle.stories.d.ts +60 -0
  185. package/dist/src/stories/assets/PauseCircleOutline.stories.d.ts +60 -0
  186. package/dist/src/stories/assets/Paypal.stories.d.ts +45 -0
  187. package/dist/src/stories/assets/Person.stories.d.ts +60 -0
  188. package/dist/src/stories/assets/PersonAdd.stories.d.ts +60 -0
  189. package/dist/src/stories/assets/PersonAddOutline.stories.d.ts +60 -0
  190. package/dist/src/stories/assets/PersonOutline.stories.d.ts +60 -0
  191. package/dist/src/stories/assets/PersonRemove.stories.d.ts +60 -0
  192. package/dist/src/stories/assets/PersonRemoveOutline.stories.d.ts +60 -0
  193. package/dist/src/stories/assets/Pin.stories.d.ts +60 -0
  194. package/dist/src/stories/assets/PinOutline.stories.d.ts +60 -0
  195. package/dist/src/stories/assets/PlayCircle.stories.d.ts +60 -0
  196. package/dist/src/stories/assets/PlayCircleOutline.stories.d.ts +60 -0
  197. package/dist/src/stories/assets/PlusCircle.stories.d.ts +60 -0
  198. package/dist/src/stories/assets/PlusCircleOutline.stories.d.ts +60 -0
  199. package/dist/src/stories/assets/PlusSquare.stories.d.ts +60 -0
  200. package/dist/src/stories/assets/PlusSquareOutline.stories.d.ts +60 -0
  201. package/dist/src/stories/assets/RadioButtonChecked.stories.d.ts +60 -0
  202. package/dist/src/stories/assets/RadioButtonUnchecked.stories.d.ts +60 -0
  203. package/dist/src/stories/assets/RecaptchaLogo.stories.d.ts +47 -0
  204. package/dist/src/stories/assets/Safari.stories.d.ts +60 -0
  205. package/dist/src/stories/assets/Search.stories.d.ts +60 -0
  206. package/dist/src/stories/assets/SearchOutline.stories.d.ts +60 -0
  207. package/dist/src/stories/assets/Settings.stories.d.ts +60 -0
  208. package/dist/src/stories/assets/SettingsOutline.stories.d.ts +60 -0
  209. package/dist/src/stories/assets/Stripe.stories.d.ts +47 -0
  210. package/dist/src/stories/assets/Trash.stories.d.ts +60 -0
  211. package/dist/src/stories/assets/TrashOutline.stories.d.ts +60 -0
  212. package/dist/src/stories/assets/TrendingUp.stories.d.ts +60 -0
  213. package/dist/src/stories/assets/TrendingUpOutline.stories.d.ts +60 -0
  214. package/dist/src/stories/assets/UcBrowser.stories.d.ts +60 -0
  215. package/dist/src/stories/assets/Yandex.stories.d.ts +60 -0
  216. package/dist/src/stories/components/RadioGroup.stories.d.ts +53 -0
  217. package/dist/src/stories/components/TestMixins/TestMixins.stories.d.ts +11 -0
  218. package/dist/src/stories/components/Typography/Typography.stories.d.ts +239 -0
  219. package/dist/src/stories/constants.d.ts +45 -0
  220. package/dist/src/stories/palette/ColorPalette.stories.d.ts +10 -0
  221. package/dist/src/storybook-utils/assets/coloredIconMeta.d.ts +38 -0
  222. package/dist/src/storybook-utils/assets/iconMeta.d.ts +51 -0
  223. package/dist/src/storybook-utils/assets/logoMeta.d.ts +32 -0
  224. package/dist/src/storybook-utils/index.d.ts +3 -0
  225. package/dist/src/utils/ColorIconBase.d.ts +7 -0
  226. package/dist/src/utils/ColorIconBaseSmall.d.ts +7 -0
  227. package/dist/src/utils/IconBase.d.ts +12 -0
  228. package/dist/src/utils/index.d.ts +3 -0
  229. package/package.json +91 -0
package/dist/index.js ADDED
@@ -0,0 +1,307 @@
1
+ import e, { clsx as t } from "clsx";
2
+ import { jsx as n, jsxs as r } from "react/jsx-runtime";
3
+ import { forwardRef as i, useId as a, useState as o } from "react";
4
+ import * as s from "@radix-ui/react-radio-group";
5
+ var c = {
6
+ typography: "_typography_1hhu5_1",
7
+ "align-left": "_align-left_1hhu5_5",
8
+ "align-center": "_align-center_1hhu5_9",
9
+ "align-right": "_align-right_1hhu5_13",
10
+ "align-justify": "_align-justify_1hhu5_17",
11
+ noWrap: "_noWrap_1hhu5_21",
12
+ gutterBottom: "_gutterBottom_1hhu5_27"
13
+ }, l = {
14
+ large: "h1",
15
+ h1: "h1",
16
+ h2: "h2",
17
+ h3: "h3",
18
+ subtitle1: "h4",
19
+ subtitle2: "h5",
20
+ body1: "p",
21
+ body2: "p",
22
+ body3: "p",
23
+ caption1: "span",
24
+ caption2: "span",
25
+ link: "a",
26
+ "subtitle-link": "a",
27
+ caution: "div",
28
+ "caution-error": "div",
29
+ signature: "span",
30
+ "signature-legal": "span"
31
+ }, u = (t) => {
32
+ let { ref: r, children: i, variant: a = "body1", color: o, className: s, style: u, noWrap: d, mb: f, ml: p, mr: m, mt: h, mx: g, my: _, gutterBottom: v, align: y, href: b, target: x, rel: S, ...C } = t, w = l[a] || "div", T = e(c.typography, `typography-${a}`, y && c[`align-${y}`], d && c.noWrap, v && c.gutterBottom, s), E = a === "link" || a === "subtitle-link" || w === "a" ? {
33
+ href: b,
34
+ target: x,
35
+ rel: S
36
+ } : {};
37
+ return /* @__PURE__ */ n(w, {
38
+ ref: r,
39
+ className: T,
40
+ style: {
41
+ marginLeft: g ?? p ?? 0,
42
+ marginRight: g ?? m ?? 0,
43
+ marginTop: _ ?? h ?? 0,
44
+ marginBottom: _ ?? f ?? 0,
45
+ color: o ?? "inherit",
46
+ ...u
47
+ },
48
+ ...E,
49
+ ...C,
50
+ children: i
51
+ });
52
+ }, d = {
53
+ "typography-large": "_typography-large_q4wf2_82",
54
+ "typography-h1": "_typography-h1_q4wf2_90",
55
+ "typography-h2": "_typography-h2_q4wf2_98",
56
+ "typography-h3": "_typography-h3_q4wf2_106",
57
+ "typography-subtitle1": "_typography-subtitle1_q4wf2_114",
58
+ "typography-subtitle2": "_typography-subtitle2_q4wf2_122",
59
+ "typography-body1": "_typography-body1_q4wf2_130",
60
+ "typography-body2": "_typography-body2_q4wf2_146",
61
+ "typography-body3": "_typography-body3_q4wf2_154",
62
+ "typography-caption1": "_typography-caption1_q4wf2_162",
63
+ "typography-caption2": "_typography-caption2_q4wf2_170",
64
+ "typography-link": "_typography-link_q4wf2_178",
65
+ "typography-subtitle-link": "_typography-subtitle-link_q4wf2_188",
66
+ "typography-caution": "_typography-caution_q4wf2_198",
67
+ "typography-caution-error": "_typography-caution-error_q4wf2_206",
68
+ "typography-signature": "_typography-signature_q4wf2_215",
69
+ "typography-signature-legal": "_typography-signature-legal_q4wf2_223",
70
+ testContainer: "_testContainer_q4wf2_231",
71
+ header: "_header_q4wf2_236",
72
+ container: "_container_q4wf2_23",
73
+ main: "_main_q4wf2_270",
74
+ content: "_content_q4wf2_274",
75
+ testSection: "_testSection_q4wf2_279",
76
+ breakpointIndicators: "_breakpointIndicators_q4wf2_293",
77
+ desktopIndicator: "_desktopIndicator_q4wf2_307",
78
+ tabletIndicator: "_tabletIndicator_q4wf2_321",
79
+ mobileIndicator: "_mobileIndicator_q4wf2_335",
80
+ modalSizes: "_modalSizes_q4wf2_349",
81
+ modalXs: "_modalXs_q4wf2_363",
82
+ modalS: "_modalS_q4wf2_349",
83
+ modalM: "_modalM_q4wf2_375",
84
+ modalL: "_modalL_q4wf2_381",
85
+ modalXl: "_modalXl_q4wf2_387",
86
+ openModalBtn: "_openModalBtn_q4wf2_393",
87
+ hoverTest: "_hoverTest_q4wf2_406",
88
+ hoverButton: "_hoverButton_q4wf2_413",
89
+ hoverCard: "_hoverCard_q4wf2_439",
90
+ modalOverlay: "_modalOverlay_q4wf2_462",
91
+ modal: "_modal_q4wf2_349",
92
+ closeBtn: "_closeBtn_q4wf2_508",
93
+ utilityGrid: "_utilityGrid_q4wf2_551",
94
+ flexBox: "_flexBox_q4wf2_556",
95
+ square: "_square_q4wf2_570",
96
+ positionWrapper: "_positionWrapper_q4wf2_580",
97
+ topLeft: "_topLeft_q4wf2_586",
98
+ topRight: "_topRight_q4wf2_595",
99
+ typographyExample: "_typographyExample_q4wf2_604",
100
+ transitionBox: "_transitionBox_q4wf2_612",
101
+ prefixBox: "_prefixBox_q4wf2_622"
102
+ }, f = () => {
103
+ let [e, t] = o(!1);
104
+ return /* @__PURE__ */ r("div", {
105
+ className: d.testContainer,
106
+ children: [
107
+ /* @__PURE__ */ n("header", {
108
+ className: d.header,
109
+ children: /* @__PURE__ */ r("div", {
110
+ className: d.container,
111
+ children: [/* @__PURE__ */ n("h1", { children: "Testing All Mixins" }), /* @__PURE__ */ n("p", { children: "Resize your browser to see responsive behavior" })]
112
+ })
113
+ }),
114
+ /* @__PURE__ */ n("main", {
115
+ className: d.main,
116
+ children: /* @__PURE__ */ r("div", {
117
+ className: d.content,
118
+ children: [
119
+ /* @__PURE__ */ r("section", {
120
+ className: d.testSection,
121
+ children: [/* @__PURE__ */ n("h2", { children: "Responsive Breakpoints" }), /* @__PURE__ */ r("div", {
122
+ className: d.breakpointIndicators,
123
+ children: [
124
+ /* @__PURE__ */ n("div", {
125
+ className: d.desktopIndicator,
126
+ children: "Desktop (≥1280px)"
127
+ }),
128
+ /* @__PURE__ */ n("div", {
129
+ className: d.tabletIndicator,
130
+ children: "Tablet (768-1279px)"
131
+ }),
132
+ /* @__PURE__ */ n("div", {
133
+ className: d.mobileIndicator,
134
+ children: "Mobile (≤360px)"
135
+ })
136
+ ]
137
+ })]
138
+ }),
139
+ /* @__PURE__ */ r("section", {
140
+ className: d.testSection,
141
+ children: [
142
+ /* @__PURE__ */ n("h2", { children: "Modal Widths" }),
143
+ /* @__PURE__ */ r("div", {
144
+ className: d.modalSizes,
145
+ children: [
146
+ /* @__PURE__ */ n("div", {
147
+ className: d.modalXs,
148
+ children: "XS (366px)"
149
+ }),
150
+ /* @__PURE__ */ n("div", {
151
+ className: d.modalS,
152
+ children: "S (378px)"
153
+ }),
154
+ /* @__PURE__ */ n("div", {
155
+ className: d.modalM,
156
+ children: "M (492px)"
157
+ }),
158
+ /* @__PURE__ */ n("div", {
159
+ className: d.modalL,
160
+ children: "L (644px)"
161
+ }),
162
+ /* @__PURE__ */ n("div", {
163
+ className: d.modalXl,
164
+ children: "XL (972px)"
165
+ })
166
+ ]
167
+ }),
168
+ /* @__PURE__ */ n("button", {
169
+ type: "button",
170
+ className: d.openModalBtn,
171
+ onClick: () => t(!0),
172
+ children: "Open Modal"
173
+ })
174
+ ]
175
+ }),
176
+ /* @__PURE__ */ r("section", {
177
+ className: d.testSection,
178
+ children: [/* @__PURE__ */ n("h2", { children: "Hover & Touch Testing" }), /* @__PURE__ */ r("div", {
179
+ className: d.hoverTest,
180
+ children: [/* @__PURE__ */ n("button", {
181
+ type: "button",
182
+ className: d.hoverButton,
183
+ children: "Hover me (desktop) / Tap me (mobile)"
184
+ }), /* @__PURE__ */ n("div", {
185
+ className: d.hoverCard,
186
+ children: /* @__PURE__ */ n("p", { children: "Hover effects change on touch devices" })
187
+ })]
188
+ })]
189
+ }),
190
+ /* @__PURE__ */ r("section", {
191
+ className: d.testSection,
192
+ children: [/* @__PURE__ */ n("h2", { children: "Utility Mixins" }), /* @__PURE__ */ r("div", {
193
+ className: d.utilityGrid,
194
+ children: [
195
+ /* @__PURE__ */ r("div", {
196
+ className: d.flexBox,
197
+ children: [
198
+ /* @__PURE__ */ n("div", { children: "Flexbox" }),
199
+ /* @__PURE__ */ n("div", { children: "1" }),
200
+ /* @__PURE__ */ n("div", { children: "2" }),
201
+ /* @__PURE__ */ n("div", { children: "3" })
202
+ ]
203
+ }),
204
+ /* @__PURE__ */ n("div", {
205
+ className: d.square,
206
+ children: "width-height"
207
+ }),
208
+ /* @__PURE__ */ r("div", {
209
+ className: d.positionWrapper,
210
+ children: [/* @__PURE__ */ n("div", {
211
+ className: d.topLeft,
212
+ children: "Top Left"
213
+ }), /* @__PURE__ */ n("div", {
214
+ className: d.topRight,
215
+ children: "Top Right"
216
+ })]
217
+ }),
218
+ /* @__PURE__ */ n("p", {
219
+ className: d.typographyExample,
220
+ children: "Typography mixin example"
221
+ }),
222
+ /* @__PURE__ */ n("div", {
223
+ className: d.transitionBox,
224
+ children: "Hover me (transition-basic mixin)"
225
+ }),
226
+ /* @__PURE__ */ n("div", {
227
+ className: d.prefixBox,
228
+ children: "Prefix mixin"
229
+ })
230
+ ]
231
+ })]
232
+ })
233
+ ]
234
+ })
235
+ }),
236
+ e && /* @__PURE__ */ n("div", {
237
+ className: d.modalOverlay,
238
+ onClick: () => t(!1),
239
+ children: /* @__PURE__ */ r("div", {
240
+ className: d.modal,
241
+ onClick: (e) => e.stopPropagation(),
242
+ children: [
243
+ /* @__PURE__ */ n("button", {
244
+ type: "button",
245
+ className: d.closeBtn,
246
+ onClick: () => t(!1),
247
+ children: "×"
248
+ }),
249
+ /* @__PURE__ */ n("h2", { children: "Responsive Modal" }),
250
+ /* @__PURE__ */ n("p", { children: "Modal width changes based on screen size" }),
251
+ /* @__PURE__ */ r("div", {
252
+ className: d.modalSizes,
253
+ children: [
254
+ /* @__PURE__ */ n("span", { children: "XS: 366px" }),
255
+ /* @__PURE__ */ n("span", { children: "S: 378px" }),
256
+ /* @__PURE__ */ n("span", { children: "M: 492px" }),
257
+ /* @__PURE__ */ n("span", { children: "L: 644px" }),
258
+ /* @__PURE__ */ n("span", { children: "XL: 972px" })
259
+ ]
260
+ })
261
+ ]
262
+ })
263
+ })
264
+ ]
265
+ });
266
+ }, p = {
267
+ root: "_root_1rwph_55",
268
+ option: "_option_1rwph_61",
269
+ item: "_item_1rwph_67",
270
+ radio: "_radio_1rwph_94",
271
+ indicator: "_indicator_1rwph_112",
272
+ label: "_label_1rwph_130",
273
+ disabled: "_disabled_1rwph_135"
274
+ }, m = i(({ className: t, options: i, disabled: o, ...c }, l) => {
275
+ let u = a();
276
+ return /* @__PURE__ */ n(s.Root, {
277
+ ref: l,
278
+ disabled: o,
279
+ className: e(p.root, t, o && p.groupDisabled),
280
+ ...c,
281
+ children: i.map((t) => {
282
+ let i = `${u}-${t.value}`, a = o || t.disabled;
283
+ return /* @__PURE__ */ r("div", {
284
+ className: e(p.option, a && p.disabled),
285
+ children: [/* @__PURE__ */ n(s.Item, {
286
+ id: i,
287
+ className: p.item,
288
+ value: t.value,
289
+ disabled: a,
290
+ children: /* @__PURE__ */ n("span", {
291
+ className: p.radio,
292
+ children: /* @__PURE__ */ n(s.Indicator, { className: p.indicator })
293
+ })
294
+ }), t.label && /* @__PURE__ */ n("label", {
295
+ htmlFor: i,
296
+ className: p.label,
297
+ children: t.label
298
+ })]
299
+ }, t.value);
300
+ })
301
+ });
302
+ });
303
+ m.displayName = "RadioGroup";
304
+ //#endregion
305
+ export { m as RadioGroup, f as TestMixins, u as Typography, t as clsx };
306
+
307
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","names":[],"sources":["../src/components/Typography/Typography.module.scss","../src/components/Typography/Typography.tsx","../src/components/TestMixins/TestMixins.module.scss","../src/components/TestMixins/TestMixins.tsx","../src/components/RadioGroup/RadioGroup.module.scss","../src/components/RadioGroup/RadioGroup.tsx"],"sourcesContent":[".typography {\n font-style: normal;\n}\n\n.align-left {\n text-align: left;\n}\n\n.align-center {\n text-align: center;\n}\n\n.align-right {\n text-align: right;\n}\n\n.align-justify {\n text-align: justify;\n}\n\n.noWrap {\n overflow: hidden;\n text-overflow: ellipsis; // if we need\n white-space: nowrap;\n}\n\n.gutterBottom {\n margin-bottom: 0.35em;\n}\n","import type { ComponentPropsWithRef, CSSProperties, ElementType, ReactNode } from 'react'\nimport clsx from 'clsx'\nimport s from './Typography.module.scss'\n\ntype TypographyVariant =\n | 'body1'\n | 'body2'\n | 'body3'\n | 'caption1'\n | 'caption2'\n | 'caution'\n | 'caution-error'\n | 'h1'\n | 'h2'\n | 'h3'\n | 'large'\n | 'link'\n | 'signature'\n | 'signature-legal'\n | 'subtitle1'\n | 'subtitle2'\n | 'subtitle-link'\n\ntype TypographyAlign = 'center' | 'justify' | 'left' | 'right'\n\ntype MarginProps = {\n mt?: CSSProperties['marginTop']\n mb?: CSSProperties['marginBottom']\n ml?: CSSProperties['marginLeft']\n mr?: CSSProperties['marginRight']\n mx?: CSSProperties['marginLeft']\n my?: CSSProperties['marginTop']\n}\n\nconst tagMapping: Record<TypographyVariant, ElementType> = {\n large: 'h1',\n h1: 'h1',\n h2: 'h2',\n h3: 'h3',\n subtitle1: 'h4',\n subtitle2: 'h5',\n body1: 'p',\n body2: 'p',\n body3: 'p',\n caption1: 'span',\n caption2: 'span',\n link: 'a',\n 'subtitle-link': 'a',\n // The following is used in reCAPTCHA\n caution: 'div',\n 'caution-error': 'div',\n signature: 'span',\n 'signature-legal': 'span',\n}\n\ntype TypographyProps<T extends ElementType = 'div'> = {\n variant?: TypographyVariant\n children: ReactNode\n color?: CSSProperties['color']\n className?: string\n style?: CSSProperties\n noWrap?: boolean\n gutterBottom?: boolean\n align?: TypographyAlign\n href?: string\n target?: '_blank' | '_parent' | '_self' | '_top'\n rel?: string\n} & MarginProps &\n Omit<\n ComponentPropsWithRef<T>,\n | 'align'\n | 'color'\n | 'gutterBottom'\n | 'href'\n | 'noWrap'\n | 'rel'\n | 'style'\n | 'target'\n | keyof MarginProps\n >\n\nexport const Typography = <C extends ElementType = 'div'>(props: TypographyProps<C>) => {\n const {\n ref,\n children,\n variant = 'body1',\n color,\n className,\n style,\n noWrap,\n mb,\n ml,\n mr,\n mt,\n mx,\n my,\n gutterBottom,\n align,\n href,\n target,\n rel,\n ...rest\n } = props\n\n const Component = tagMapping[variant] || 'div'\n\n const classes = clsx(\n s.typography,\n `typography-${variant}`,\n align && s[`align-${align}`],\n noWrap && s.noWrap,\n gutterBottom && s.gutterBottom,\n className\n )\n\n const isLink = variant === 'link' || variant === 'subtitle-link' || Component === 'a'\n const linkProps = isLink ? { href, target, rel } : {}\n\n const styles = {\n marginLeft: mx ?? ml ?? 0,\n marginRight: mx ?? mr ?? 0,\n marginTop: my ?? mt ?? 0,\n marginBottom: my ?? mb ?? 0,\n color: color ?? 'inherit',\n ...style,\n }\n\n return (\n <Component ref={ref} className={classes} style={styles} {...linkProps} {...rest}>\n {children}\n </Component>\n )\n}\n","@use '../../styles/mixins' as *;\n@use '../../styles/typography' as *;\n\n// Component styles\n.testContainer {\n min-height: 100vh;\n background: #f5f5f5;\n}\n\n// Test container mixin\n.header {\n padding: 2rem 0;\n color: white;\n background: linear-gradient(135deg, #667eea 0%, #764ba2 100%);\n}\n\n.container {\n @include container;\n\n padding: 2rem;\n border-radius: 8px;\n background: rgb(255 255 255 / 10%);\n\n h1 {\n margin: 0;\n font-size: 2.5rem;\n }\n\n p {\n margin: 0.5rem 0 0;\n opacity: 0.9;\n }\n}\n\n// Test content mixin\n.main {\n padding: 2rem 0;\n}\n\n.content {\n @include content;\n}\n\n.testSection {\n margin-bottom: 2rem;\n padding: 2rem;\n border-radius: 8px;\n\n background: white;\n box-shadow: 0 2px 4px rgb(0 0 0 / 10%);\n\n h2 {\n margin-top: 0;\n padding-bottom: 0.5rem;\n border-bottom: 2px solid #667eea;\n color: #333;\n }\n}\n\n// Breakpoint indicators\n.breakpointIndicators {\n display: flex;\n flex-wrap: wrap;\n gap: 1rem;\n\n > div {\n flex: 1;\n\n min-width: 150px;\n padding: 1rem;\n border-radius: 4px;\n\n font-weight: bold;\n text-align: center;\n }\n}\n\n.desktopIndicator {\n color: white;\n background: #4caf50;\n\n @include media-desktop {\n color: white;\n background: #ff9800;\n\n &::after {\n content: ' (Active)';\n }\n }\n}\n\n.tabletIndicator {\n color: white;\n background: #ff9800;\n\n @include media-tablet {\n color: white;\n background: #2196f3;\n\n &::after {\n content: ' (Active)';\n }\n }\n}\n\n.mobileIndicator {\n color: white;\n background: #2196f3;\n\n @include media-mobile {\n color: white;\n background: #f44336;\n\n &::after {\n content: ' (Active)';\n }\n }\n}\n\n// Modal sizes preview\n.modalSizes {\n display: flex;\n flex-wrap: wrap;\n gap: 0.5rem;\n margin: 1rem 0;\n\n > div {\n padding: 0.5rem 1rem;\n border: 2px solid transparent;\n border-radius: 4px;\n\n font-size: 0.9rem;\n\n background: #e0e0e0;\n }\n}\n\n.modalXs {\n width: $modal-width-xs;\n border-color: #2196f3;\n background: #e3f2fd;\n}\n\n.modalS {\n width: $modal-width-s;\n border-color: #4caf50;\n background: #e8f5e9;\n}\n\n.modalM {\n width: $modal-width-m;\n border-color: #ff9800;\n background: #fff3e0;\n}\n\n.modalL {\n width: $modal-width-l;\n border-color: #f44336;\n background: #fce4ec;\n}\n\n.modalXl {\n width: $modal-width-xl;\n border-color: #9c27b0;\n background: #f3e5f5;\n}\n\n.openModalBtn {\n cursor: pointer;\n\n padding: 0.75rem 1.5rem;\n border: none;\n border-radius: 4px;\n\n font-size: 1rem;\n color: white;\n\n background: #667eea;\n\n &:hover {\n background: #764ba2;\n }\n}\n\n// No-hover mixin test\n.hoverTest {\n display: flex;\n flex-wrap: wrap;\n gap: 2rem;\n margin-top: 1rem;\n}\n\n.hoverButton {\n cursor: pointer;\n\n padding: 1rem 2rem;\n border: none;\n border-radius: 4px;\n\n font-size: 1rem;\n color: white;\n\n background: #764ba2;\n\n transition: all 0.3s;\n\n &:hover {\n transform: scale(1.05);\n background: #667eea;\n box-shadow: 0 4px 8px rgb(0 0 0 / 20%);\n }\n\n &:active {\n transform: scale(0.95);\n }\n\n // No hover on touch devices\n @include no-hover-mobile {\n &:hover {\n transform: none;\n background: #764ba2;\n box-shadow: none;\n }\n }\n}\n\n.hoverCard {\n min-width: 200px;\n padding: 2rem;\n border-radius: 8px;\n\n text-align: center;\n\n background: #e0e0e0;\n\n transition: all 0.3s;\n\n &:hover {\n transform: translateY(-5px);\n color: white;\n background: #667eea;\n box-shadow: 0 8px 16px rgb(0 0 0 / 20%);\n }\n\n // No hover on touch devices\n @include no-hover-mobile {\n &:hover {\n transform: none;\n color: inherit;\n background: #e0e0e0;\n box-shadow: none;\n }\n }\n}\n\n// Modal styles\n.modalOverlay {\n position: fixed;\n z-index: 1000;\n inset: 0;\n\n display: flex;\n align-items: center;\n justify-content: center;\n\n background: rgb(0 0 0 / 70%);\n}\n\n.modal {\n position: relative;\n\n overflow-y: auto;\n\n // Responsive modal widths\n width: $modal-width-m; // Default medium\n max-height: 80vh;\n padding: 2rem;\n border-radius: 8px;\n\n background: white;\n\n @include media-desktop {\n width: $modal-width-xl;\n }\n\n @include media-tablet {\n width: $modal-width-l;\n }\n\n @include media-mobile {\n width: $modal-width-s;\n }\n\n // Individual width tests\n .modalSizes {\n display: flex;\n flex-wrap: wrap;\n gap: 0.5rem;\n\n span {\n padding: 0.25rem 0.5rem;\n border-radius: 3px;\n font-size: 0.8rem;\n background: #f0f0f0;\n }\n }\n}\n\n.closeBtn {\n cursor: pointer;\n\n position: absolute;\n top: 0.5rem;\n right: 0.5rem;\n\n padding: 0.5rem;\n border: none;\n\n font-size: 2rem;\n line-height: 1;\n color: #999;\n\n background: none;\n\n &:hover {\n color: #333;\n }\n}\n\n// Responsive adjustments for the component itself\n@include media-tablet {\n .container {\n padding: 1rem;\n }\n\n .testSection {\n padding: 1.5rem;\n }\n\n .breakpointIndicators {\n > div {\n min-width: 120px;\n font-size: 0.9rem;\n }\n }\n}\n\n@include media-mobile {\n .header h1 {\n font-size: 1.8rem;\n }\n\n .testSection {\n padding: 1rem;\n }\n\n .modalSizes {\n > div {\n padding: 0.25rem 0.5rem;\n font-size: 0.8rem;\n }\n }\n\n .hoverTest {\n flex-direction: column;\n }\n}\n\n// Flex\n.utilityGrid {\n display: grid;\n gap: 2rem;\n}\n\n.flexBox {\n @include flex(flex, center, center);\n\n gap: 1rem;\n padding: 1rem;\n background: #eee;\n\n div {\n padding: 1rem;\n color: white;\n background: #667eea;\n }\n}\n\n// width-height\n.square {\n @include width-height(120px);\n\n display: flex;\n align-items: center;\n justify-content: center;\n\n color: white;\n\n background: #4caf50;\n}\n\n// top-left / top-right\n.positionWrapper {\n position: relative;\n height: 120px;\n background: #f3f3f3;\n}\n\n.topLeft {\n @include top-left(10px);\n\n position: absolute;\n padding: 0.5rem;\n color: white;\n background: #2196f3;\n}\n\n.topRight {\n @include top-right(10px);\n\n position: absolute;\n padding: 0.5rem;\n color: white;\n background: #f44336;\n}\n\n// Typography\n.typographyExample {\n @include typography(24px, 32px, 700);\n}\n\n// Transition-basic\n.transitionBox {\n padding: 1rem;\n background: #ff9800;\n\n @include transition-basic(background, transform);\n\n &:hover {\n transform: scale(1.05);\n background: #4caf50;\n }\n}\n\n// Prefix\n.prefixBox {\n padding: 1rem;\n background: #ddd;\n\n @include prefix(user-select, none, (webkit, moz, ms));\n}\n\n// see in DevTools:\n// -webkit-user-select: none;\n// -moz-user-select: none;\n// -ms-user-select: none;\n// user-select: none;\n","import { useState } from 'react'\nimport s from './TestMixins.module.scss'\n\nexport const TestMixins = () => {\n const [isModalOpen, setIsModalOpen] = useState(false)\n\n return (\n <div className={s.testContainer}>\n {/* Test container mixin */}\n <header className={s.header}>\n <div className={s.container}>\n <h1>Testing All Mixins</h1>\n <p>Resize your browser to see responsive behavior</p>\n </div>\n </header>\n\n {/* Test content mixin */}\n <main className={s.main}>\n <div className={s.content}>\n <section className={s.testSection}>\n <h2>Responsive Breakpoints</h2>\n <div className={s.breakpointIndicators}>\n <div className={s.desktopIndicator}>Desktop (≥1280px)</div>\n <div className={s.tabletIndicator}>Tablet (768-1279px)</div>\n <div className={s.mobileIndicator}>Mobile (≤360px)</div>\n </div>\n </section>\n\n {/* Test modal widths */}\n <section className={s.testSection}>\n <h2>Modal Widths</h2>\n <div className={s.modalSizes}>\n <div className={s.modalXs}>XS (366px)</div>\n <div className={s.modalS}>S (378px)</div>\n <div className={s.modalM}>M (492px)</div>\n <div className={s.modalL}>L (644px)</div>\n <div className={s.modalXl}>XL (972px)</div>\n </div>\n <button type={'button'} className={s.openModalBtn} onClick={() => setIsModalOpen(true)}>\n Open Modal\n </button>\n </section>\n\n {/* Test no-hover mixin */}\n <section className={s.testSection}>\n <h2>Hover & Touch Testing</h2>\n <div className={s.hoverTest}>\n <button type={'button'} className={s.hoverButton}>\n Hover me (desktop) / Tap me (mobile)\n </button>\n <div className={s.hoverCard}>\n <p>Hover effects change on touch devices</p>\n </div>\n </div>\n </section>\n\n {/* Test flex, width-height, top-left, top-right, Typography, prefix, transition-basic */}\n <section className={s.testSection}>\n <h2>Utility Mixins</h2>\n\n <div className={s.utilityGrid}>\n <div className={s.flexBox}>\n <div>Flexbox</div>\n <div>1</div>\n <div>2</div>\n <div>3</div>\n </div>\n\n <div className={s.square}>width-height</div>\n\n <div className={s.positionWrapper}>\n <div className={s.topLeft}>Top Left</div>\n <div className={s.topRight}>Top Right</div>\n </div>\n\n <p className={s.typographyExample}>Typography mixin example</p>\n\n <div className={s.transitionBox}>Hover me (transition-basic mixin)</div>\n\n <div className={s.prefixBox}>Prefix mixin</div>\n </div>\n </section>\n </div>\n </main>\n\n {/* Modal with responsive widths */}\n {isModalOpen && (\n <div className={s.modalOverlay} onClick={() => setIsModalOpen(false)}>\n <div className={s.modal} onClick={e => e.stopPropagation()}>\n <button type={'button'} className={s.closeBtn} onClick={() => setIsModalOpen(false)}>\n ×\n </button>\n <h2>Responsive Modal</h2>\n <p>Modal width changes based on screen size</p>\n <div className={s.modalSizes}>\n <span>XS: 366px</span>\n <span>S: 378px</span>\n <span>M: 492px</span>\n <span>L: 644px</span>\n <span>XL: 972px</span>\n </div>\n </div>\n </div>\n )}\n </div>\n )\n}\n","@use '../../styles/mixins' as *;\n\n.root {\n display: flex;\n flex-direction: column;\n gap: 0.75rem;\n}\n\n.option {\n display: flex;\n gap: 0.5rem;\n align-items: center;\n}\n\n.item {\n @include flex(flex, center, center);\n\n @include width-height(2.25rem);\n\n cursor: pointer;\n\n padding: 0;\n border: none;\n border-radius: 50%;\n\n background-color: transparent;\n\n @include transition-basic(background-color);\n\n &:hover:not([data-disabled]) {\n background-color: var(--color-dark-300);\n }\n\n &:active:not([data-disabled]) {\n background-color: var(--color-dark-100);\n }\n\n &:focus-visible {\n background-color: var(--color-dark-500);\n outline: none;\n }\n\n &[data-disabled] {\n cursor: not-allowed;\n }\n}\n\n.radio {\n @include flex(flex, center, center);\n\n @include width-height(20px);\n\n border: 2px solid var(--color-light-100);\n border-radius: 50%;\n background-color: transparent;\n\n @include transition-basic(background-color);\n\n .item[data-state='checked'] & {\n border-color: var(--color-light-100);\n }\n\n .item[data-disabled] & {\n border-color: var(--color-dark-100);\n }\n}\n\n.indicator {\n @include flex(flex, center, center);\n\n @include width-height(100%);\n\n &::after {\n content: '';\n border-radius: 50%;\n background-color: var(--color-light-100);\n\n @include width-height(10px);\n }\n\n .item[data-disabled] &::after {\n background-color: var(--color-dark-100);\n }\n}\n\n.label {\n cursor: pointer;\n user-select: none;\n color: var(--color-light-100);\n\n .disabled & {\n cursor: not-allowed;\n color: var(--color-dark-100);\n }\n}\n","import type { ComponentPropsWithoutRef, ReactNode } from 'react'\nimport * as RadioGroupPrimitive from '@radix-ui/react-radio-group'\nimport clsx from 'clsx'\nimport { forwardRef, useId } from 'react'\nimport s from './RadioGroup.module.scss'\n\nexport type RadioOption = {\n disabled?: boolean\n label?: ReactNode\n value: string\n}\n\nexport type RadioGroupProps = Omit<\n ComponentPropsWithoutRef<typeof RadioGroupPrimitive.Root>,\n 'children'\n> & {\n className?: string\n options: RadioOption[]\n}\n\nexport const RadioGroup = forwardRef<HTMLDivElement, RadioGroupProps>(\n ({ className, options, disabled, ...props }, ref) => {\n const id = useId()\n\n return (\n <RadioGroupPrimitive.Root\n ref={ref}\n disabled={disabled}\n className={clsx(s.root, className, disabled && s.groupDisabled)}\n {...props}\n >\n {options.map(option => {\n const itemId = `${id}-${option.value}`\n const isDisabled = disabled || option.disabled\n\n return (\n <div key={option.value} className={clsx(s.option, isDisabled && s.disabled)}>\n <RadioGroupPrimitive.Item\n id={itemId}\n className={s.item}\n value={option.value}\n disabled={isDisabled}\n >\n <span className={s.radio}>\n <RadioGroupPrimitive.Indicator className={s.indicator} />\n </span>\n </RadioGroupPrimitive.Item>\n\n {option.label && (\n <label htmlFor={itemId} className={s.label}>\n {option.label}\n </label>\n )}\n </div>\n )\n })}\n </RadioGroupPrimitive.Root>\n )\n }\n)\n\nRadioGroup.displayName = 'RadioGroup'\n"],"mappings":"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"}
@@ -0,0 +1,3 @@
1
+ import { type IconProps } from '@/utils';
2
+ declare const ArrowBackOutline: import("react").ForwardRefExoticComponent<IconProps & import("react").RefAttributes<SVGSVGElement>>;
3
+ export { ArrowBackOutline };
@@ -0,0 +1,3 @@
1
+ import { type IconProps } from '@/utils';
2
+ declare const ArrowForwardOutline: import("react").ForwardRefExoticComponent<IconProps & import("react").RefAttributes<SVGSVGElement>>;
3
+ export { ArrowForwardOutline };
@@ -0,0 +1,3 @@
1
+ import { type IconProps } from '@/utils';
2
+ declare const ArrowIosBack: import("react").ForwardRefExoticComponent<IconProps & import("react").RefAttributes<SVGSVGElement>>;
3
+ export { ArrowIosBack };
@@ -0,0 +1,3 @@
1
+ import { type IconProps } from '@/utils';
2
+ declare const ArrowIosBackOutline: import("react").ForwardRefExoticComponent<IconProps & import("react").RefAttributes<SVGSVGElement>>;
3
+ export { ArrowIosBackOutline };
@@ -0,0 +1,3 @@
1
+ import { type IconProps } from '@/utils';
2
+ declare const ArrowIosDownOutline: import("react").ForwardRefExoticComponent<IconProps & import("react").RefAttributes<SVGSVGElement>>;
3
+ export { ArrowIosDownOutline };
@@ -0,0 +1,3 @@
1
+ import { type IconProps } from '@/utils';
2
+ declare const ArrowIosForward: import("react").ForwardRefExoticComponent<IconProps & import("react").RefAttributes<SVGSVGElement>>;
3
+ export { ArrowIosForward };
@@ -0,0 +1,3 @@
1
+ import { type IconProps } from '@/utils';
2
+ declare const ArrowIosForwardOutline: import("react").ForwardRefExoticComponent<IconProps & import("react").RefAttributes<SVGSVGElement>>;
3
+ export { ArrowIosForwardOutline };
@@ -0,0 +1,3 @@
1
+ import { type IconProps } from '@/utils';
2
+ declare const ArrowIosUp: import("react").ForwardRefExoticComponent<IconProps & import("react").RefAttributes<SVGSVGElement>>;
3
+ export { ArrowIosUp };
@@ -0,0 +1,3 @@
1
+ import { type IconProps } from '@/utils';
2
+ declare const Block: import("react").ForwardRefExoticComponent<IconProps & import("react").RefAttributes<SVGSVGElement>>;
3
+ export { Block };
@@ -0,0 +1,3 @@
1
+ import { type IconProps } from '@/utils';
2
+ declare const BlockOutline: import("react").ForwardRefExoticComponent<IconProps & import("react").RefAttributes<SVGSVGElement>>;
3
+ export { BlockOutline };
@@ -0,0 +1,3 @@
1
+ import { type IconProps } from '@/utils';
2
+ declare const Bookmark: import("react").ForwardRefExoticComponent<IconProps & import("react").RefAttributes<SVGSVGElement>>;
3
+ export { Bookmark };
@@ -0,0 +1,3 @@
1
+ import { type IconProps } from '@/utils';
2
+ declare const BookmarkOutline: import("react").ForwardRefExoticComponent<IconProps & import("react").RefAttributes<SVGSVGElement>>;
3
+ export { BookmarkOutline };
@@ -0,0 +1,3 @@
1
+ import { type IconProps } from '@/utils';
2
+ declare const Brave: import("react").ForwardRefExoticComponent<IconProps & import("react").RefAttributes<SVGSVGElement>>;
3
+ export { Brave };
@@ -0,0 +1,3 @@
1
+ import { type IconProps } from '@/utils';
2
+ declare const Calendar: import("react").ForwardRefExoticComponent<IconProps & import("react").RefAttributes<SVGSVGElement>>;
3
+ export { Calendar };
@@ -0,0 +1,3 @@
1
+ import { type IconProps } from '@/utils';
2
+ declare const CalendarOutline: import("react").ForwardRefExoticComponent<IconProps & import("react").RefAttributes<SVGSVGElement>>;
3
+ export { CalendarOutline };
@@ -0,0 +1,3 @@
1
+ import { type IconProps } from '@/utils';
2
+ declare const CheckmarkOutline: import("react").ForwardRefExoticComponent<IconProps & import("react").RefAttributes<SVGSVGElement>>;
3
+ export { CheckmarkOutline };
@@ -0,0 +1,3 @@
1
+ import { type IconProps } from '@/utils';
2
+ declare const Close: import("react").ForwardRefExoticComponent<IconProps & import("react").RefAttributes<SVGSVGElement>>;
3
+ export { Close };
@@ -0,0 +1,3 @@
1
+ import { type IconProps } from '@/utils';
2
+ declare const CloseOutline: import("react").ForwardRefExoticComponent<IconProps & import("react").RefAttributes<SVGSVGElement>>;
3
+ export { CloseOutline };
@@ -0,0 +1,3 @@
1
+ import { type IconProps } from '@/utils';
2
+ declare const ColorPaletteOutline: import("react").ForwardRefExoticComponent<IconProps & import("react").RefAttributes<SVGSVGElement>>;
3
+ export { ColorPaletteOutline };
@@ -0,0 +1,3 @@
1
+ import { type IconProps } from '@/utils';
2
+ declare const Copy: import("react").ForwardRefExoticComponent<IconProps & import("react").RefAttributes<SVGSVGElement>>;
3
+ export { Copy };
@@ -0,0 +1,3 @@
1
+ import { type IconProps } from '@/utils';
2
+ declare const CopyOutline: import("react").ForwardRefExoticComponent<IconProps & import("react").RefAttributes<SVGSVGElement>>;
3
+ export { CopyOutline };
@@ -0,0 +1,3 @@
1
+ import { type IconProps } from '@/utils';
2
+ declare const CreditCard: import("react").ForwardRefExoticComponent<IconProps & import("react").RefAttributes<SVGSVGElement>>;
3
+ export { CreditCard };
@@ -0,0 +1,3 @@
1
+ import { type IconProps } from '@/utils';
2
+ declare const CreditCardOutline: import("react").ForwardRefExoticComponent<IconProps & import("react").RefAttributes<SVGSVGElement>>;
3
+ export { CreditCardOutline };
@@ -0,0 +1,3 @@
1
+ import { type IconProps } from '@/utils';
2
+ declare const DoneAllOutline: import("react").ForwardRefExoticComponent<IconProps & import("react").RefAttributes<SVGSVGElement>>;
3
+ export { DoneAllOutline };
@@ -0,0 +1,3 @@
1
+ import { type IconProps } from '@/utils';
2
+ declare const Edit: import("react").ForwardRefExoticComponent<IconProps & import("react").RefAttributes<SVGSVGElement>>;
3
+ export { Edit };
@@ -0,0 +1,3 @@
1
+ import { type IconProps } from '@/utils';
2
+ declare const EditOutline: import("react").ForwardRefExoticComponent<IconProps & import("react").RefAttributes<SVGSVGElement>>;
3
+ export { EditOutline };
@@ -0,0 +1,3 @@
1
+ import { type IconProps } from '@/utils';
2
+ declare const Email: import("react").ForwardRefExoticComponent<IconProps & import("react").RefAttributes<SVGSVGElement>>;
3
+ export { Email };
@@ -0,0 +1,3 @@
1
+ import { type IconProps } from '@/utils';
2
+ declare const EmailOutline: import("react").ForwardRefExoticComponent<IconProps & import("react").RefAttributes<SVGSVGElement>>;
3
+ export { EmailOutline };
@@ -0,0 +1,3 @@
1
+ import { type IconProps } from '@/utils';
2
+ declare const Expand: import("react").ForwardRefExoticComponent<IconProps & import("react").RefAttributes<SVGSVGElement>>;
3
+ export { Expand };
@@ -0,0 +1,3 @@
1
+ import { type IconProps } from '@/utils';
2
+ declare const ExpandOutline: import("react").ForwardRefExoticComponent<IconProps & import("react").RefAttributes<SVGSVGElement>>;
3
+ export { ExpandOutline };
@@ -0,0 +1,3 @@
1
+ import { type IconProps } from '@/utils';
2
+ declare const Explorer: import("react").ForwardRefExoticComponent<IconProps & import("react").RefAttributes<SVGSVGElement>>;
3
+ export { Explorer };
@@ -0,0 +1,3 @@
1
+ import { type IconProps } from '@/utils';
2
+ declare const Eye: import("react").ForwardRefExoticComponent<IconProps & import("react").RefAttributes<SVGSVGElement>>;
3
+ export { Eye };
@@ -0,0 +1,3 @@
1
+ import { type IconProps } from '@/utils';
2
+ declare const EyeOff: import("react").ForwardRefExoticComponent<IconProps & import("react").RefAttributes<SVGSVGElement>>;
3
+ export { EyeOff };
@@ -0,0 +1,3 @@
1
+ import { type IconProps } from '@/utils';
2
+ declare const EyeOffOutline: import("react").ForwardRefExoticComponent<IconProps & import("react").RefAttributes<SVGSVGElement>>;
3
+ export { EyeOffOutline };
@@ -0,0 +1,3 @@
1
+ import { type IconProps } from '@/utils';
2
+ declare const EyeOutline: import("react").ForwardRefExoticComponent<IconProps & import("react").RefAttributes<SVGSVGElement>>;
3
+ export { EyeOutline };
@@ -0,0 +1,3 @@
1
+ import { type ColorIconProps } from '@/utils';
2
+ declare const Facebook: import("react").ForwardRefExoticComponent<ColorIconProps & import("react").RefAttributes<SVGSVGElement>>;
3
+ export { Facebook };
@@ -0,0 +1,3 @@
1
+ import { type IconProps } from '@/utils';
2
+ declare const FillBell: import("react").ForwardRefExoticComponent<IconProps & import("react").RefAttributes<SVGSVGElement>>;
3
+ export { FillBell };
@@ -0,0 +1,3 @@
1
+ import { type IconProps } from '@/utils';
2
+ declare const Firefox: import("react").ForwardRefExoticComponent<IconProps & import("react").RefAttributes<SVGSVGElement>>;
3
+ export { Firefox };
@@ -0,0 +1,3 @@
1
+ import { type ColorIconProps } from '@/utils';
2
+ declare const FlagEng: import("react").ForwardRefExoticComponent<ColorIconProps & import("react").RefAttributes<SVGSVGElement>>;
3
+ export { FlagEng };
@@ -0,0 +1,3 @@
1
+ import { type ColorIconProps } from '@/utils';
2
+ declare const FlagRus: import("react").ForwardRefExoticComponent<ColorIconProps & import("react").RefAttributes<SVGSVGElement>>;
3
+ export { FlagRus };
@@ -0,0 +1,3 @@
1
+ import { type IconProps } from '@/utils';
2
+ declare const GithubRepo: import("react").ForwardRefExoticComponent<IconProps & import("react").RefAttributes<SVGSVGElement>>;
3
+ export { GithubRepo };
@@ -0,0 +1,3 @@
1
+ import { type ColorIconProps } from '@/utils';
2
+ declare const Google: import("react").ForwardRefExoticComponent<ColorIconProps & import("react").RefAttributes<SVGSVGElement>>;
3
+ export { Google };
@@ -0,0 +1,3 @@
1
+ import { type IconProps } from '@/utils';
2
+ declare const Heart: import("react").ForwardRefExoticComponent<IconProps & import("react").RefAttributes<SVGSVGElement>>;
3
+ export { Heart };
@@ -0,0 +1,3 @@
1
+ import { type IconProps } from '@/utils';
2
+ declare const HeartOutline: import("react").ForwardRefExoticComponent<IconProps & import("react").RefAttributes<SVGSVGElement>>;
3
+ export { HeartOutline };
@@ -0,0 +1,3 @@
1
+ import { type IconProps } from '@/utils';
2
+ declare const Home: import("react").ForwardRefExoticComponent<IconProps & import("react").RefAttributes<SVGSVGElement>>;
3
+ export { Home };
@@ -0,0 +1,3 @@
1
+ import { type IconProps } from '@/utils';
2
+ declare const HomeOutline: import("react").ForwardRefExoticComponent<IconProps & import("react").RefAttributes<SVGSVGElement>>;
3
+ export { HomeOutline };
@@ -0,0 +1,3 @@
1
+ import { type IconProps } from '@/utils';
2
+ declare const ImageIcon: import("react").ForwardRefExoticComponent<IconProps & import("react").RefAttributes<SVGSVGElement>>;
3
+ export { ImageIcon };
@@ -0,0 +1,3 @@
1
+ import { type IconProps } from '@/utils';
2
+ declare const ImageOutline: import("react").ForwardRefExoticComponent<IconProps & import("react").RefAttributes<SVGSVGElement>>;
3
+ export { ImageOutline };
@@ -0,0 +1,3 @@
1
+ import { type IconProps } from '@/utils';
2
+ declare const Layers: import("react").ForwardRefExoticComponent<IconProps & import("react").RefAttributes<SVGSVGElement>>;
3
+ export { Layers };
@@ -0,0 +1,3 @@
1
+ import { type IconProps } from '@/utils';
2
+ declare const LayersOutline: import("react").ForwardRefExoticComponent<IconProps & import("react").RefAttributes<SVGSVGElement>>;
3
+ export { LayersOutline };
@@ -0,0 +1,3 @@
1
+ import { type IconProps } from '@/utils';
2
+ declare const LogOut: import("react").ForwardRefExoticComponent<IconProps & import("react").RefAttributes<SVGSVGElement>>;
3
+ export { LogOut };