@ssa-ui-kit/core 0.0.2-alpha → 0.0.4-alpha

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 (578) hide show
  1. package/.babelrc.js +4 -4
  2. package/.storybook/main.ts +43 -43
  3. package/.storybook/preview.tsx +22 -22
  4. package/.storybook/style.css +31 -31
  5. package/custom-shots/components-popover--hint-opened__[w1920px].png +0 -0
  6. package/custom-shots/components-table-filters--opened__[w1920px].png +0 -0
  7. package/customTest.tsx +46 -46
  8. package/dist/components/Modal/types.d.ts +2 -7
  9. package/dist/components/ModalDialog/index.d.ts +1 -0
  10. package/dist/components/ModalDialog/types.d.ts +1 -0
  11. package/dist/components/MultipleDropdown/stories/consts.d.ts +5 -0
  12. package/dist/components/Popover/stories/StoryComponent.d.ts +2 -1
  13. package/dist/index.js +1 -1
  14. package/dist/index.js.map +1 -1
  15. package/jest-setup.ts +17 -17
  16. package/lostpixel.config.ts +26 -26
  17. package/package.json +1 -1
  18. package/playwright.config.ts +7 -7
  19. package/src/components/AccordionGroup/Accordion.tsx +30 -30
  20. package/src/components/AccordionGroup/AccordionContent.tsx +21 -21
  21. package/src/components/AccordionGroup/AccordionContext.tsx +66 -66
  22. package/src/components/AccordionGroup/AccordionGroup.spec.tsx +191 -191
  23. package/src/components/AccordionGroup/AccordionGroup.tsx +71 -71
  24. package/src/components/AccordionGroup/AccordionTitle.tsx +41 -41
  25. package/src/components/AccordionGroup/index.ts +9 -9
  26. package/src/components/AccordionGroup/stories/AccordionGroup.stories.tsx +107 -107
  27. package/src/components/AccordionGroup/stories/helpers.tsx +86 -86
  28. package/src/components/AccordionGroup/styles.ts +121 -120
  29. package/src/components/AccordionGroup/types.ts +59 -59
  30. package/src/components/Avatar/Avatar.tsx +15 -15
  31. package/src/components/Avatar/index.ts +1 -1
  32. package/src/components/Badge/Badge.spec.tsx +113 -113
  33. package/src/components/Badge/Badge.stories.tsx +156 -156
  34. package/src/components/Badge/Badge.tsx +45 -45
  35. package/src/components/Badge/BadgeBase.tsx +19 -19
  36. package/src/components/Badge/helpers.ts +49 -49
  37. package/src/components/Badge/index.ts +1 -1
  38. package/src/components/Badge/styles.ts +20 -20
  39. package/src/components/Badge/types.ts +7 -7
  40. package/src/components/Button/Button.spec.tsx +529 -529
  41. package/src/components/Button/Button.stories.tsx +124 -124
  42. package/src/components/Button/Button.tsx +121 -121
  43. package/src/components/Button/ButtonBase.tsx +14 -14
  44. package/src/components/Button/ButtonText.tsx +67 -67
  45. package/src/components/Button/fixtures.ts +165 -165
  46. package/src/components/Button/helpers.ts +30 -30
  47. package/src/components/Button/index.ts +1 -1
  48. package/src/components/Button/styles.ts +168 -168
  49. package/src/components/Button/types.ts +48 -48
  50. package/src/components/ButtonGroup/ButtonGroup.spec.tsx +37 -37
  51. package/src/components/ButtonGroup/ButtonGroup.stories.tsx +42 -42
  52. package/src/components/ButtonGroup/ButtonGroup.tsx +39 -39
  53. package/src/components/ButtonGroup/helpers.ts +7 -7
  54. package/src/components/ButtonGroup/index.ts +2 -2
  55. package/src/components/ButtonGroup/styles.ts +53 -53
  56. package/src/components/ButtonGroup/types.ts +13 -13
  57. package/src/components/Card/Card.spec.tsx +94 -94
  58. package/src/components/Card/Card.stories.tsx +253 -253
  59. package/src/components/Card/Card.tsx +13 -13
  60. package/src/components/Card/CardBase.tsx +20 -20
  61. package/src/components/Card/index.ts +2 -2
  62. package/src/components/Card/types.ts +8 -8
  63. package/src/components/CardContent/CardContent.tsx +17 -17
  64. package/src/components/CardContent/CardContentBase.tsx +12 -12
  65. package/src/components/CardContent/index.ts +1 -1
  66. package/src/components/CardHeader/CardHeader.tsx +26 -26
  67. package/src/components/CardHeader/CardHeaderBase.tsx +21 -21
  68. package/src/components/CardHeader/index.ts +1 -1
  69. package/src/components/Checkbox/Checkbox.spec.tsx +193 -193
  70. package/src/components/Checkbox/Checkbox.stories.tsx +93 -93
  71. package/src/components/Checkbox/Checkbox.tsx +79 -79
  72. package/src/components/Checkbox/CheckboxBase.tsx +71 -71
  73. package/src/components/Checkbox/index.ts +3 -3
  74. package/src/components/Checkbox/styles.tsx +70 -70
  75. package/src/components/Checkbox/types.ts +32 -32
  76. package/src/components/ColorPicker/ColorPicker.spec.tsx +58 -58
  77. package/src/components/ColorPicker/ColorPicker.stories.tsx +48 -48
  78. package/src/components/ColorPicker/ColorPicker.tsx +47 -47
  79. package/src/components/ColorPicker/index.ts +1 -1
  80. package/src/components/ColorPicker/styles.ts +14 -14
  81. package/src/components/ColorPicker/types.ts +21 -21
  82. package/src/components/Dropdown/Dropdown.context.ts +16 -16
  83. package/src/components/Dropdown/Dropdown.spec.tsx +326 -326
  84. package/src/components/Dropdown/Dropdown.stories.tsx +155 -155
  85. package/src/components/Dropdown/Dropdown.tsx +135 -135
  86. package/src/components/Dropdown/index.ts +1 -1
  87. package/src/components/Dropdown/types.ts +17 -17
  88. package/src/components/DropdownArrow/DropdownArrow.tsx +17 -17
  89. package/src/components/DropdownArrow/index.ts +1 -1
  90. package/src/components/DropdownBase/DropdownBase.tsx +10 -10
  91. package/src/components/DropdownBase/index.ts +1 -1
  92. package/src/components/DropdownOption/DropdownOption.tsx +56 -56
  93. package/src/components/DropdownOption/index.ts +1 -1
  94. package/src/components/DropdownOptions/DropdownOptions.tsx +102 -102
  95. package/src/components/DropdownOptions/index.ts +2 -2
  96. package/src/components/DropdownOptions/types.ts +9 -9
  97. package/src/components/DropdownToggle/DropdownToggle.tsx +147 -147
  98. package/src/components/DropdownToggle/index.ts +1 -1
  99. package/src/components/DropdownToggle/types.ts +22 -22
  100. package/src/components/Form/Form.stories.mdx +118 -118
  101. package/src/components/Form/Form.stories.tsx +432 -432
  102. package/src/components/Form/Form.tsx +9 -9
  103. package/src/components/Form/index.ts +1 -1
  104. package/src/components/FormAction/FormAction.tsx +8 -8
  105. package/src/components/FormAction/index.ts +1 -1
  106. package/src/components/FormCheckbox/FormCheckbox.tsx +33 -33
  107. package/src/components/FormCheckbox/index.ts +1 -1
  108. package/src/components/FormCheckbox/types.ts +10 -10
  109. package/src/components/FormGroup/FormGroup.tsx +15 -15
  110. package/src/components/FormGroup/index.ts +1 -1
  111. package/src/components/FormHelperText/FormHelperText.tsx +18 -18
  112. package/src/components/FormHelperText/FormHelperTextBase.tsx +22 -22
  113. package/src/components/FormHelperText/index.ts +1 -1
  114. package/src/components/FormHelperText/types.ts +8 -8
  115. package/src/components/FormRadioGroup/FormRadioGroup.spec.tsx +74 -74
  116. package/src/components/FormRadioGroup/FormRadioGroup.stories.tsx +90 -90
  117. package/src/components/FormRadioGroup/FormRadioGroup.tsx +35 -35
  118. package/src/components/FormRadioGroup/index.ts +1 -1
  119. package/src/components/FormRadioGroup/types.ts +12 -12
  120. package/src/components/Icon/Icon.tsx +7 -7
  121. package/src/components/Icon/Icons.spec.tsx +63 -63
  122. package/src/components/Icon/Icons.stories.tsx +56 -56
  123. package/src/components/Icon/icons/Archive.tsx +35 -35
  124. package/src/components/Icon/icons/ArrowDown.tsx +26 -26
  125. package/src/components/Icon/icons/ArrowUp.tsx +26 -26
  126. package/src/components/Icon/icons/Attention.tsx +22 -22
  127. package/src/components/Icon/icons/Bin.tsx +28 -28
  128. package/src/components/Icon/icons/Calendar.tsx +16 -16
  129. package/src/components/Icon/icons/CarrotDown.tsx +20 -20
  130. package/src/components/Icon/icons/CarrotLeft.tsx +20 -20
  131. package/src/components/Icon/icons/CarrotRight.tsx +20 -20
  132. package/src/components/Icon/icons/CarrotUp.tsx +20 -20
  133. package/src/components/Icon/icons/Change.tsx +16 -16
  134. package/src/components/Icon/icons/Chart.tsx +37 -37
  135. package/src/components/Icon/icons/Check.tsx +20 -20
  136. package/src/components/Icon/icons/CheckCircle.tsx +26 -26
  137. package/src/components/Icon/icons/Circle.tsx +22 -22
  138. package/src/components/Icon/icons/Clock.tsx +31 -31
  139. package/src/components/Icon/icons/Copy.tsx +23 -23
  140. package/src/components/Icon/icons/Cross.tsx +27 -27
  141. package/src/components/Icon/icons/Diet.tsx +16 -16
  142. package/src/components/Icon/icons/Email.tsx +19 -19
  143. package/src/components/Icon/icons/Filter.tsx +18 -18
  144. package/src/components/Icon/icons/Home.tsx +16 -16
  145. package/src/components/Icon/icons/Information.tsx +24 -24
  146. package/src/components/Icon/icons/Invisible.tsx +55 -55
  147. package/src/components/Icon/icons/Lock.tsx +17 -17
  148. package/src/components/Icon/icons/LogIn.tsx +21 -21
  149. package/src/components/Icon/icons/LogOut.tsx +21 -21
  150. package/src/components/Icon/icons/Measurements.tsx +18 -18
  151. package/src/components/Icon/icons/Minus.tsx +20 -20
  152. package/src/components/Icon/icons/More.tsx +24 -24
  153. package/src/components/Icon/icons/MoreVertical.tsx +15 -15
  154. package/src/components/Icon/icons/Notification.tsx +18 -18
  155. package/src/components/Icon/icons/Plus.tsx +27 -27
  156. package/src/components/Icon/icons/RadioOn.tsx +23 -23
  157. package/src/components/Icon/icons/Robot.tsx +18 -18
  158. package/src/components/Icon/icons/Search.tsx +18 -18
  159. package/src/components/Icon/icons/Settings.tsx +24 -24
  160. package/src/components/Icon/icons/Sleep.tsx +20 -20
  161. package/src/components/Icon/icons/Stats.tsx +20 -20
  162. package/src/components/Icon/icons/Trainings.tsx +16 -16
  163. package/src/components/Icon/icons/Union.tsx +19 -19
  164. package/src/components/Icon/icons/User.tsx +34 -34
  165. package/src/components/Icon/icons/Visible.tsx +27 -27
  166. package/src/components/Icon/icons/Warning.tsx +22 -22
  167. package/src/components/Icon/icons/iconsList.tsx +55 -55
  168. package/src/components/Icon/icons/index.tsx +115 -115
  169. package/src/components/Icon/index.ts +2 -2
  170. package/src/components/Icon/types.ts +18 -18
  171. package/src/components/Indicator/Indicator.spec.tsx +67 -67
  172. package/src/components/Indicator/Indicator.stories.tsx +106 -106
  173. package/src/components/Indicator/Indicator.tsx +86 -86
  174. package/src/components/Indicator/IndicatorBase.tsx +27 -27
  175. package/src/components/Indicator/index.ts +1 -1
  176. package/src/components/Indicator/types.ts +9 -9
  177. package/src/components/Input/Input.spec.tsx +95 -95
  178. package/src/components/Input/Input.stories.tsx +215 -215
  179. package/src/components/Input/Input.tsx +70 -70
  180. package/src/components/Input/InputBase.tsx +42 -42
  181. package/src/components/Input/InputGroup.tsx +12 -12
  182. package/src/components/Input/InputStatusError.tsx +20 -20
  183. package/src/components/Input/InputStatusSuccess.tsx +16 -16
  184. package/src/components/Input/index.ts +1 -1
  185. package/src/components/Input/styles.ts +111 -111
  186. package/src/components/Input/types.ts +35 -35
  187. package/src/components/Label/Label.spec.tsx +57 -57
  188. package/src/components/Label/Label.tsx +20 -20
  189. package/src/components/Label/LabelBase.tsx +14 -14
  190. package/src/components/Label/index.ts +1 -1
  191. package/src/components/Label/types.ts +9 -9
  192. package/src/components/LargeTab/LargeTab.tsx +38 -38
  193. package/src/components/LargeTab/LargeTabBase.tsx +39 -39
  194. package/src/components/LargeTab/index.ts +1 -1
  195. package/src/components/LargeTab/styles.ts +17 -17
  196. package/src/components/Link/Link.tsx +10 -10
  197. package/src/components/Link/Link.types.ts +4 -4
  198. package/src/components/Link/LinkBase.ts +5 -5
  199. package/src/components/Link/index.tsx +1 -1
  200. package/src/components/Modal/Modal.context.tsx +9 -9
  201. package/src/components/Modal/Modal.spec.tsx +154 -154
  202. package/src/components/Modal/Modal.stories.tsx +97 -98
  203. package/src/components/Modal/Modal.tsx +12 -12
  204. package/src/components/Modal/index.ts +2 -2
  205. package/src/components/Modal/types.ts +4 -8
  206. package/src/components/ModalContent/ModalContent.tsx +21 -21
  207. package/src/components/ModalContent/index.ts +1 -1
  208. package/src/components/ModalDialog/ModalDialog.tsx +67 -67
  209. package/src/components/ModalDialog/index.ts +2 -1
  210. package/src/components/ModalDialog/types.ts +7 -6
  211. package/src/components/ModalDismissButton/ModalDismissButton.tsx +15 -15
  212. package/src/components/ModalDismissButton/index.ts +1 -1
  213. package/src/components/ModalOpenButton/ModalOpenButton.tsx +15 -15
  214. package/src/components/ModalOpenButton/index.ts +1 -1
  215. package/src/components/MultipleDropdown/MultipleDropdown.context.ts +20 -20
  216. package/src/components/MultipleDropdown/MultipleDropdown.spec.tsx +414 -381
  217. package/src/components/MultipleDropdown/MultipleDropdown.tsx +217 -217
  218. package/src/components/MultipleDropdown/index.ts +1 -1
  219. package/src/components/MultipleDropdown/{MultipleDropdown.stories.tsx → stories/MultipleDropdown.stories.tsx} +239 -206
  220. package/src/components/MultipleDropdown/stories/consts.ts +5 -0
  221. package/src/components/MultipleDropdown/types.ts +20 -20
  222. package/src/components/MultipleDropdown/utils.ts +32 -32
  223. package/src/components/MultipleDropdownNotification/MultipleDropdownNotification.tsx +13 -13
  224. package/src/components/MultipleDropdownNotification/index.ts +1 -1
  225. package/src/components/MultipleDropdownOptions/MultipleDropdownOptions.tsx +156 -156
  226. package/src/components/MultipleDropdownOptions/index.ts +2 -2
  227. package/src/components/MultipleDropdownOptions/types.ts +7 -7
  228. package/src/components/Popover/Popover.e2e.ts +26 -26
  229. package/src/components/Popover/Popover.spec.tsx +17 -17
  230. package/src/components/Popover/Popover.tsx +21 -21
  231. package/src/components/Popover/PopoverClose.tsx +21 -21
  232. package/src/components/Popover/PopoverContent.tsx +37 -37
  233. package/src/components/Popover/PopoverDescription.tsx +21 -21
  234. package/src/components/Popover/PopoverHeading.tsx +25 -25
  235. package/src/components/Popover/PopoverTrigger.tsx +47 -47
  236. package/src/components/Popover/hooks/usePopover.tsx +109 -107
  237. package/src/components/Popover/hooks/usePopoverContext.tsx +16 -16
  238. package/src/components/Popover/index.ts +6 -6
  239. package/src/components/Popover/stories/Popover.stories.tsx +39 -18
  240. package/src/components/Popover/stories/StoryComponent.tsx +42 -39
  241. package/src/components/Popover/types.ts +45 -45
  242. package/src/components/Progress/Progress.spec.tsx +85 -85
  243. package/src/components/Progress/Progress.stories.tsx +234 -234
  244. package/src/components/Progress/Progress.tsx +7 -7
  245. package/src/components/Progress/index.ts +1 -1
  246. package/src/components/Progress/types.ts +5 -5
  247. package/src/components/ProgressBar/ProgressBar.tsx +68 -68
  248. package/src/components/ProgressBar/index.ts +1 -1
  249. package/src/components/ProgressBar/styles.ts +15 -15
  250. package/src/components/ProgressBar/types.ts +7 -7
  251. package/src/components/ProgressCircle/ProgressCircle.spec.tsx +37 -37
  252. package/src/components/ProgressCircle/ProgressCircle.stories.tsx +96 -96
  253. package/src/components/ProgressCircle/ProgressCircle.tsx +60 -60
  254. package/src/components/ProgressCircle/ProgressCircleBase.tsx +45 -45
  255. package/src/components/ProgressCircle/ProgressCircleInner.tsx +16 -16
  256. package/src/components/ProgressCircle/ProgressCircleOuter.tsx +14 -14
  257. package/src/components/ProgressCircle/index.ts +1 -1
  258. package/src/components/ProgressCircle/styles.ts +20 -20
  259. package/src/components/ProgressCircle/types.ts +7 -7
  260. package/src/components/ProgressLegend/ProgressLegend.tsx +41 -41
  261. package/src/components/ProgressLegend/index.ts +1 -1
  262. package/src/components/ProgressLegend/types.ts +12 -12
  263. package/src/components/ProgressLegendItem/ProgressLegendItem.tsx +52 -52
  264. package/src/components/ProgressLegendItem/index.ts +1 -1
  265. package/src/components/ProgressLegendItem/types.ts +6 -6
  266. package/src/components/ProgressVertical/ProgressVertical.tsx +23 -23
  267. package/src/components/ProgressVertical/index.ts +1 -1
  268. package/src/components/ProgressVertical/types.ts +5 -5
  269. package/src/components/Radio/Radio.spec.tsx +234 -234
  270. package/src/components/Radio/Radio.stories.tsx +52 -52
  271. package/src/components/Radio/Radio.tsx +56 -56
  272. package/src/components/Radio/RadioBase.tsx +36 -36
  273. package/src/components/Radio/index.ts +1 -1
  274. package/src/components/Radio/types.ts +11 -11
  275. package/src/components/RadioGroup/RadioGroup.spec.tsx +116 -116
  276. package/src/components/RadioGroup/RadioGroup.stories.tsx +84 -84
  277. package/src/components/RadioGroup/RadioGroup.tsx +49 -49
  278. package/src/components/RadioGroup/RadioGroupBase.tsx +3 -3
  279. package/src/components/RadioGroup/index.ts +1 -1
  280. package/src/components/RadioGroup/types.ts +10 -10
  281. package/src/components/ResponsiveImage/ResponsiveImage.spec.tsx +43 -43
  282. package/src/components/ResponsiveImage/ResponsiveImage.stories.tsx +33 -33
  283. package/src/components/ResponsiveImage/ResponsiveImage.tsx +14 -14
  284. package/src/components/ResponsiveImage/index.tsx +1 -1
  285. package/src/components/ResponsiveImage/types.ts +7 -7
  286. package/src/components/Step/Step.context.ts +21 -21
  287. package/src/components/Step/Step.tsx +58 -58
  288. package/src/components/Step/index.ts +2 -2
  289. package/src/components/StepConnector/StepConnector.tsx +34 -34
  290. package/src/components/StepConnector/index.ts +1 -1
  291. package/src/components/StepConnector/style.ts +24 -24
  292. package/src/components/StepLabel/StepLabel.tsx +65 -65
  293. package/src/components/StepLabel/index.ts +1 -1
  294. package/src/components/StepLabel/styles.ts +38 -38
  295. package/src/components/Stepper/Stepper.context.ts +16 -16
  296. package/src/components/Stepper/Stepper.spec.tsx +128 -128
  297. package/src/components/Stepper/Stepper.stories.tsx +292 -292
  298. package/src/components/Stepper/Stepper.tsx +49 -49
  299. package/src/components/Stepper/index.ts +5 -5
  300. package/src/components/Stepper/types.ts +17 -17
  301. package/src/components/Switch/Switch.spec.tsx +181 -181
  302. package/src/components/Switch/Switch.stories.tsx +64 -64
  303. package/src/components/Switch/Switch.tsx +21 -21
  304. package/src/components/Switch/SwitchBase.tsx +62 -62
  305. package/src/components/Switch/SwitchContext.tsx +38 -38
  306. package/src/components/Switch/index.ts +6 -6
  307. package/src/components/Switch/types.ts +4 -4
  308. package/src/components/Tab/Tab.tsx +31 -31
  309. package/src/components/Tab/TabBase.tsx +31 -31
  310. package/src/components/Tab/index.ts +1 -1
  311. package/src/components/TabBar/TabBar.spec.tsx +290 -290
  312. package/src/components/TabBar/TabBar.tsx +43 -43
  313. package/src/components/TabBar/TabBarContext.tsx +43 -43
  314. package/src/components/TabBar/index.ts +6 -6
  315. package/src/components/TabBar/stories/TimePeriodTabBar.stories.tsx +84 -84
  316. package/src/components/TabBar/stories/WeekTabBar.stories.tsx +136 -136
  317. package/src/components/TabBar/stories/helpers.tsx +69 -69
  318. package/src/components/TabBar/types.ts +39 -39
  319. package/src/components/Table/Table.spec.tsx +86 -86
  320. package/src/components/Table/Table.tsx +13 -13
  321. package/src/components/Table/index.ts +1 -1
  322. package/src/components/Table/stories/SortableTable.tsx +78 -78
  323. package/src/components/Table/stories/Table.stories.tsx +94 -94
  324. package/src/components/Table/stories/consts.ts +6 -6
  325. package/src/components/Table/stories/mock.ts +16 -16
  326. package/src/components/Table/stories/types.ts +9 -9
  327. package/src/components/Table/stories/utils.ts +2 -2
  328. package/src/components/TableBody/TableBody.tsx +8 -8
  329. package/src/components/TableBody/index.ts +1 -1
  330. package/src/components/TableCell/TableCell.tsx +16 -16
  331. package/src/components/TableCell/index.ts +1 -1
  332. package/src/components/TableHead/TableHead.tsx +15 -15
  333. package/src/components/TableHead/index.ts +1 -1
  334. package/src/components/TableRow/TableRow.tsx +12 -12
  335. package/src/components/TableRow/index.ts +1 -1
  336. package/src/components/Tag/Tag.spec.tsx +121 -121
  337. package/src/components/Tag/Tag.stories.tsx +96 -96
  338. package/src/components/Tag/Tag.tsx +47 -47
  339. package/src/components/Tag/index.ts +1 -1
  340. package/src/components/Tag/styles.ts +123 -123
  341. package/src/components/Tag/types.ts +7 -7
  342. package/src/components/TextField/TextField.spec.tsx +171 -171
  343. package/src/components/TextField/TextField.stories.tsx +221 -221
  344. package/src/components/TextField/TextField.tsx +61 -61
  345. package/src/components/TextField/index.ts +1 -1
  346. package/src/components/TextField/types.ts +14 -14
  347. package/src/components/Textarea/Textarea.spec.tsx +56 -56
  348. package/src/components/Textarea/Textarea.stories.tsx +58 -58
  349. package/src/components/Textarea/Textarea.tsx +35 -35
  350. package/src/components/Textarea/TextareaBase.tsx +44 -44
  351. package/src/components/Textarea/index.ts +1 -1
  352. package/src/components/Textarea/types.ts +15 -15
  353. package/src/components/Tooltip/ProgressChartTooltip.tsx +48 -48
  354. package/src/components/Tooltip/SimpleChartTooltip.tsx +20 -20
  355. package/src/components/Tooltip/Tooltip.spec.tsx +305 -305
  356. package/src/components/Tooltip/Tooltip.stories.tsx +160 -160
  357. package/src/components/Tooltip/Tooltip.tsx +22 -22
  358. package/src/components/Tooltip/TooltipArrow.tsx +26 -26
  359. package/src/components/Tooltip/TooltipContentBase.tsx +9 -9
  360. package/src/components/Tooltip/index.ts +5 -5
  361. package/src/components/Tooltip/styles.ts +16 -16
  362. package/src/components/Tooltip/types.ts +88 -88
  363. package/src/components/Tooltip/useTooltip.tsx +74 -74
  364. package/src/components/Tooltip/useTooltipContext.tsx +16 -16
  365. package/src/components/Tooltip/utils.tsx +8 -8
  366. package/src/components/TooltipContent/TooltipContent.tsx +49 -49
  367. package/src/components/TooltipContent/index.ts +1 -1
  368. package/src/components/TooltipTrigger/TooltipTrigger.tsx +21 -21
  369. package/src/components/TooltipTrigger/index.ts +1 -1
  370. package/src/components/Typography/Typography.spec.tsx +259 -259
  371. package/src/components/Typography/Typography.stories.tsx +68 -68
  372. package/src/components/Typography/Typography.tsx +52 -52
  373. package/src/components/Typography/index.ts +1 -1
  374. package/src/components/Typography/styles.ts +85 -85
  375. package/src/components/Typography/types.ts +22 -22
  376. package/src/components/Wrapper/Wrapper.spec.tsx +15 -15
  377. package/src/components/Wrapper/Wrapper.tsx +19 -19
  378. package/src/components/Wrapper/index.ts +1 -1
  379. package/src/consts.ts +18 -18
  380. package/src/index.ts +94 -94
  381. package/src/injectGlobal.ts +41 -41
  382. package/src/styles/global.ts +91 -91
  383. package/src/styles/safari-focus-outline.ts +37 -37
  384. package/src/styles/styles.spec.tsx +42 -42
  385. package/src/themes/main.ts +116 -116
  386. package/src/types/emotion.d.ts +7 -7
  387. package/src/types/emotion.ts +132 -132
  388. package/src/types/global.d.ts +7 -7
  389. package/src/types/global.ts +19 -19
  390. package/storybook-static/1283.a11004a1.iframe.bundle.js +1 -0
  391. package/storybook-static/1326.74edde53.iframe.bundle.js +1 -0
  392. package/storybook-static/2912.4c6e14cb.iframe.bundle.js +1 -0
  393. package/storybook-static/3547.515f04ab.iframe.bundle.js +1 -0
  394. package/storybook-static/3624.1414516c.iframe.bundle.js +1 -0
  395. package/storybook-static/3753.bd2e2900.iframe.bundle.js +1 -0
  396. package/storybook-static/4106.7f1435f2.iframe.bundle.js +402 -0
  397. package/storybook-static/{138.8c2d65fc.iframe.bundle.js.LICENSE.txt → 4106.7f1435f2.iframe.bundle.js.LICENSE.txt} +0 -2
  398. package/storybook-static/4106.7f1435f2.iframe.bundle.js.map +1 -0
  399. package/storybook-static/4166.6fdf56d2.iframe.bundle.js +1 -0
  400. package/storybook-static/4339.437b4af1.iframe.bundle.js +1 -0
  401. package/storybook-static/4995.d16abbf0.iframe.bundle.js +1 -0
  402. package/storybook-static/5199.6867eb61.iframe.bundle.js +1 -0
  403. package/storybook-static/{306.af359eab.iframe.bundle.js → 5374.19c2f606.iframe.bundle.js} +4 -4
  404. package/storybook-static/5374.19c2f606.iframe.bundle.js.map +1 -0
  405. package/storybook-static/5417.e7b726cc.iframe.bundle.js +1 -0
  406. package/storybook-static/{106.778a645c.iframe.bundle.js → 5497.0b734124.iframe.bundle.js} +4 -4
  407. package/storybook-static/5497.0b734124.iframe.bundle.js.map +1 -0
  408. package/storybook-static/5521.fbe15eea.iframe.bundle.js +1 -0
  409. package/storybook-static/5540.fa362783.iframe.bundle.js +1 -0
  410. package/storybook-static/5938.713bc0f1.iframe.bundle.js +1 -0
  411. package/storybook-static/6092.0baa0be2.iframe.bundle.js +1 -0
  412. package/storybook-static/6216.8da65c4d.iframe.bundle.js +1 -0
  413. package/storybook-static/6374.b662bb7e.iframe.bundle.js +1 -0
  414. package/storybook-static/7076.fc69dc87.iframe.bundle.js +1 -0
  415. package/storybook-static/7263.784ad817.iframe.bundle.js +1 -0
  416. package/storybook-static/7609.fa84d5d0.iframe.bundle.js +1 -0
  417. package/storybook-static/7633.6d7427ee.iframe.bundle.js +1 -0
  418. package/storybook-static/7767.2ce7411d.iframe.bundle.js +1 -0
  419. package/storybook-static/8069.7d70ab4a.iframe.bundle.js +1 -0
  420. package/storybook-static/8251.01f55356.iframe.bundle.js +1 -0
  421. package/storybook-static/9134.27efc9b6.iframe.bundle.js +1 -0
  422. package/storybook-static/9185.5e034211.iframe.bundle.js +133 -0
  423. package/storybook-static/9185.5e034211.iframe.bundle.js.map +1 -0
  424. package/storybook-static/9661.7fb349c2.iframe.bundle.js +1 -0
  425. package/storybook-static/9672.98d487be.iframe.bundle.js +1 -0
  426. package/storybook-static/973.378dae04.iframe.bundle.js +1 -0
  427. package/storybook-static/components-AccordionGroup-stories-AccordionGroup-stories.c8781719.iframe.bundle.js +1 -0
  428. package/storybook-static/components-Badge-Badge-stories.34ed507d.iframe.bundle.js +1 -0
  429. package/storybook-static/components-Button-Button-stories.42cf6ebc.iframe.bundle.js +1 -0
  430. package/storybook-static/components-Card-Card-stories.dce075fe.iframe.bundle.js +1 -0
  431. package/storybook-static/components-Checkbox-Checkbox-stories.c3b0ba2a.iframe.bundle.js +1 -0
  432. package/storybook-static/{components-ColorPicker-ColorPicker-stories.2ab41812.iframe.bundle.js → components-ColorPicker-ColorPicker-stories.227d5d28.iframe.bundle.js} +1 -1
  433. package/storybook-static/components-Dropdown-Dropdown-stories.a86e6d8b.iframe.bundle.js +1 -0
  434. package/storybook-static/components-Form-Form-stories-mdx.febb9417.iframe.bundle.js +2 -0
  435. package/storybook-static/components-Form-Form-stories.1030ead7.iframe.bundle.js +1 -0
  436. package/storybook-static/components-FormRadioGroup-FormRadioGroup-stories.9d91e8c9.iframe.bundle.js +1 -0
  437. package/storybook-static/components-Icon-Icons-stories.fe368cd9.iframe.bundle.js +1 -0
  438. package/storybook-static/components-Input-Input-stories.ecfd89af.iframe.bundle.js +1 -0
  439. package/storybook-static/components-Modal-Modal-stories.bd406807.iframe.bundle.js +1 -0
  440. package/storybook-static/components-MultipleDropdown-MultipleDropdown-stories.80762ee2.iframe.bundle.js +1 -0
  441. package/storybook-static/components-Popover-stories-Popover-stories.5bbb9c19.iframe.bundle.js +1 -0
  442. package/storybook-static/components-Progress-Progress-stories.924b6ce3.iframe.bundle.js +1 -0
  443. package/storybook-static/components-ProgressCircle-ProgressCircle-stories.abf7a711.iframe.bundle.js +1 -0
  444. package/storybook-static/components-Radio-Radio-stories.ea10f6ac.iframe.bundle.js +1 -0
  445. package/storybook-static/components-RadioGroup-RadioGroup-stories.8be03b3f.iframe.bundle.js +1 -0
  446. package/storybook-static/components-ResponsiveImage-ResponsiveImage-stories.d6d0fc31.iframe.bundle.js +1 -0
  447. package/storybook-static/components-Stepper-Stepper-stories.55fe429d.iframe.bundle.js +1 -0
  448. package/storybook-static/{components-TabBar-stories-WeekTabBar-stories.9e080c9e.iframe.bundle.js → components-Switch-Switch-stories.760b85d7.iframe.bundle.js} +1 -1
  449. package/storybook-static/components-TabBar-stories-TimePeriodTabBar-stories.6f0ee7ee.iframe.bundle.js +1 -0
  450. package/storybook-static/components-TabBar-stories-WeekTabBar-stories.1d8887da.iframe.bundle.js +1 -0
  451. package/storybook-static/components-Table-Table-stories.cf62219e.iframe.bundle.js +1 -0
  452. package/storybook-static/components-Tag-Tag-stories.dc89b8dd.iframe.bundle.js +1 -0
  453. package/storybook-static/components-TextField-TextField-stories.23ab264d.iframe.bundle.js +1 -0
  454. package/storybook-static/components-Textarea-Textarea-stories.5d16dfd0.iframe.bundle.js +1 -0
  455. package/storybook-static/components-Tooltip-Tooltip-stories.4cf83194.iframe.bundle.js +1 -0
  456. package/storybook-static/components-Typography-Typography-stories.b04f7644.iframe.bundle.js +1 -0
  457. package/storybook-static/iframe.html +4 -4
  458. package/storybook-static/index.html +4 -0
  459. package/storybook-static/index.json +1 -1
  460. package/storybook-static/main.17671a9a.iframe.bundle.js +1 -0
  461. package/storybook-static/project.json +1 -1
  462. package/storybook-static/runtime~main.a44b94df.iframe.bundle.js +1 -0
  463. package/storybook-static/sb-addons/essentials-actions-2/manager-bundle.js +1 -1
  464. package/storybook-static/sb-addons/essentials-actions-2/manager-bundle.js.map +4 -4
  465. package/storybook-static/sb-addons/essentials-backgrounds-3/manager-bundle.js +5 -5
  466. package/storybook-static/sb-addons/essentials-backgrounds-3/manager-bundle.js.map +4 -4
  467. package/storybook-static/sb-addons/essentials-controls-1/manager-bundle.js +49 -51
  468. package/storybook-static/sb-addons/essentials-controls-1/manager-bundle.js.map +4 -4
  469. package/storybook-static/sb-addons/essentials-measure-6/manager-bundle.js +1 -1
  470. package/storybook-static/sb-addons/essentials-measure-6/manager-bundle.js.map +4 -4
  471. package/storybook-static/sb-addons/essentials-outline-7/manager-bundle.js +1 -1
  472. package/storybook-static/sb-addons/essentials-outline-7/manager-bundle.js.map +4 -4
  473. package/storybook-static/sb-addons/essentials-toolbars-5/manager-bundle.js +1 -1
  474. package/storybook-static/sb-addons/essentials-toolbars-5/manager-bundle.js.map +3 -3
  475. package/storybook-static/sb-addons/essentials-viewport-4/manager-bundle.js +1 -1
  476. package/storybook-static/sb-addons/essentials-viewport-4/manager-bundle.js.map +4 -4
  477. package/storybook-static/sb-addons/interactions-8/manager-bundle.js +11 -11
  478. package/storybook-static/sb-addons/interactions-8/manager-bundle.js.map +4 -4
  479. package/storybook-static/sb-addons/links-0/manager-bundle.js +1 -1
  480. package/storybook-static/sb-addons/links-0/manager-bundle.js.map +3 -3
  481. package/storybook-static/sb-addons/pseudo-states-9/manager-bundle.js +4 -0
  482. package/storybook-static/sb-addons/pseudo-states-9/manager-bundle.js.LEGAL.txt +0 -0
  483. package/storybook-static/sb-addons/pseudo-states-9/manager-bundle.js.map +7 -0
  484. package/storybook-static/sb-manager/CRUD-I5EZL2FS-LBZVDZXV.js +1 -0
  485. package/storybook-static/sb-manager/Communicate-7JXCND2Z-6SIVXWT4.js +1 -0
  486. package/storybook-static/sb-manager/Devices-SUYACUPO-DMGV6ENX.js +1 -0
  487. package/storybook-static/sb-manager/Documents-SGWAY3KW-XZRZ6I6S.js +1 -0
  488. package/storybook-static/sb-manager/Editing-7QFB6ZMG-J5U6QGB6.js +1 -0
  489. package/storybook-static/sb-manager/Git-DZ2D5ZUL-VKBWYJHE.js +1 -0
  490. package/storybook-static/sb-manager/GlobalScrollAreaStyles-4LLX2B3H-DOBSPBNW.js +7 -0
  491. package/storybook-static/sb-manager/Images-S2WTXNGG-NXAYS4VP.js +1 -0
  492. package/storybook-static/sb-manager/Logos-SJTNNI74-F3IVL4UV.js +1 -0
  493. package/storybook-static/sb-manager/OS-YZ2Y4VYS-KGSGCOHC.js +1 -0
  494. package/storybook-static/sb-manager/OverlayScrollbars-OL4C4TVX-FNYA4OIC.js +1 -0
  495. package/storybook-static/sb-manager/People-OD4EV7WZ-DBPUNUXW.js +1 -0
  496. package/storybook-static/sb-manager/Wayfinding-BB4H7CHP-N2QAVLVA.js +1 -0
  497. package/storybook-static/sb-manager/WithTooltip-YBG737T3-GLWUADFI.js +1 -0
  498. package/storybook-static/sb-manager/{chunk-AA6TEL5N.js → chunk-6KNXZZZ5.js} +1 -1
  499. package/storybook-static/sb-manager/{chunk-3FAXWWKG.js → chunk-DP4DR4LA.js} +1 -1
  500. package/storybook-static/sb-manager/chunk-GBCXFRBK.js +1 -0
  501. package/storybook-static/sb-manager/chunk-IFNK3PLJ.js +1 -0
  502. package/storybook-static/sb-manager/chunk-JMPBYCHU.js +1 -0
  503. package/storybook-static/sb-manager/{chunk-R5BIZIS3.js → chunk-JSPL73I3.js} +1 -1
  504. package/storybook-static/sb-manager/{chunk-AM2ZNZZH.js → chunk-SJD7EFYL.js} +1 -1
  505. package/storybook-static/sb-manager/chunk-UBXIQABM.js +447 -0
  506. package/storybook-static/sb-manager/{chunk-IPZYHIL3.js → chunk-V7GYLJLR.js} +2 -2
  507. package/storybook-static/sb-manager/chunk-Z4NRYNHR.js +1 -0
  508. package/storybook-static/sb-manager/{formatter-OJ5LH2CX-IQX6U4TO.js → formatter-6736J7QO-TGL2ZGQC.js} +2 -2
  509. package/storybook-static/sb-manager/globals.js +1 -1
  510. package/storybook-static/sb-manager/index.js +1 -1
  511. package/storybook-static/sb-manager/runtime.js +1 -1
  512. package/storybook-static/sb-manager/syntaxhighlighter-4OVWVELQ-5IZ45DZY.js +1 -0
  513. package/storybook-static/sb-preview/runtime.js +4 -4
  514. package/storybook-static/stories.json +1 -1
  515. package/tasks/create.js +45 -45
  516. package/tasks/firebase-import-meal-nutrients.js +66 -66
  517. package/tsbuildcache +1 -1
  518. package/tsconfig.build.json +44 -44
  519. package/tsconfig.json +20 -20
  520. package/tsconfig.tsbuildinfo +1 -1
  521. package/webpack.config.js +26 -26
  522. package/storybook-static/106.778a645c.iframe.bundle.js.map +0 -1
  523. package/storybook-static/138.8c2d65fc.iframe.bundle.js +0 -402
  524. package/storybook-static/138.8c2d65fc.iframe.bundle.js.map +0 -1
  525. package/storybook-static/147.4bde027d.iframe.bundle.js +0 -1
  526. package/storybook-static/162.50651ae2.iframe.bundle.js +0 -1
  527. package/storybook-static/17.5d9bd250.iframe.bundle.js +0 -1
  528. package/storybook-static/291.09d4c667.iframe.bundle.js +0 -1
  529. package/storybook-static/306.af359eab.iframe.bundle.js.map +0 -1
  530. package/storybook-static/362.4cbbd69f.iframe.bundle.js +0 -1
  531. package/storybook-static/420.42d7bc14.iframe.bundle.js +0 -1
  532. package/storybook-static/576.29e7ae1a.iframe.bundle.js +0 -1
  533. package/storybook-static/577.1d2cbd23.iframe.bundle.js +0 -1
  534. package/storybook-static/710.062ccd5f.iframe.bundle.js +0 -1
  535. package/storybook-static/768.33e53fd0.iframe.bundle.js +0 -1
  536. package/storybook-static/828.5ae0e882.iframe.bundle.js +0 -1
  537. package/storybook-static/829.683a9f42.iframe.bundle.js +0 -133
  538. package/storybook-static/829.683a9f42.iframe.bundle.js.map +0 -1
  539. package/storybook-static/866.50e11952.iframe.bundle.js +0 -1
  540. package/storybook-static/92.83dcbe4b.iframe.bundle.js +0 -1
  541. package/storybook-static/945.3489a74d.iframe.bundle.js +0 -1
  542. package/storybook-static/958.d966bb86.iframe.bundle.js +0 -1
  543. package/storybook-static/components-Badge-Badge-stories.f86fca97.iframe.bundle.js +0 -1
  544. package/storybook-static/components-Button-Button-stories.f9b820e6.iframe.bundle.js +0 -1
  545. package/storybook-static/components-Card-Card-stories.53c865e0.iframe.bundle.js +0 -1
  546. package/storybook-static/components-Checkbox-Checkbox-stories.831f01fd.iframe.bundle.js +0 -1
  547. package/storybook-static/components-Dropdown-Dropdown-stories.7167f777.iframe.bundle.js +0 -1
  548. package/storybook-static/components-Form-Form-stories-mdx.9836b75e.iframe.bundle.js +0 -2
  549. package/storybook-static/components-Form-Form-stories.3de6bf7e.iframe.bundle.js +0 -1
  550. package/storybook-static/components-FormRadioGroup-FormRadioGroup-stories.0502eda0.iframe.bundle.js +0 -1
  551. package/storybook-static/components-Icon-Icons-stories.1acf0324.iframe.bundle.js +0 -1
  552. package/storybook-static/components-Input-Input-stories.6eb48766.iframe.bundle.js +0 -1
  553. package/storybook-static/components-Modal-Modal-stories.86f65df0.iframe.bundle.js +0 -1
  554. package/storybook-static/components-Progress-Progress-stories.77e171cd.iframe.bundle.js +0 -1
  555. package/storybook-static/components-ProgressCircle-ProgressCircle-stories.859f52ec.iframe.bundle.js +0 -1
  556. package/storybook-static/components-Radio-Radio-stories.71a0eb7a.iframe.bundle.js +0 -1
  557. package/storybook-static/components-RadioGroup-RadioGroup-stories.c5e954b8.iframe.bundle.js +0 -1
  558. package/storybook-static/components-ResponsiveImage-ResponsiveImage-stories.0865df1e.iframe.bundle.js +0 -1
  559. package/storybook-static/components-Stepper-Stepper-stories.7627cd7c.iframe.bundle.js +0 -1
  560. package/storybook-static/components-Switch-Switch-stories.a4a76d7f.iframe.bundle.js +0 -1
  561. package/storybook-static/components-TabBar-stories-TimePeriodTabBar-stories.70f1a14c.iframe.bundle.js +0 -1
  562. package/storybook-static/components-Table-Table-stories.f316f6a3.iframe.bundle.js +0 -1
  563. package/storybook-static/components-Tag-Tag-stories.4f4974ab.iframe.bundle.js +0 -1
  564. package/storybook-static/components-TextField-TextField-stories.af04f7d8.iframe.bundle.js +0 -1
  565. package/storybook-static/components-Textarea-Textarea-stories.90376002.iframe.bundle.js +0 -1
  566. package/storybook-static/components-Tooltip-Tooltip-stories.63785818.iframe.bundle.js +0 -1
  567. package/storybook-static/components-Typography-Typography-stories.3cdf669d.iframe.bundle.js +0 -1
  568. package/storybook-static/main.4d06409e.iframe.bundle.js +0 -1
  569. package/storybook-static/runtime~main.dcd9f3c1.iframe.bundle.js +0 -1
  570. package/storybook-static/sb-manager/GlobalScrollAreaStyles-DZEYMYDM-UAEZM2KF.js +0 -7
  571. package/storybook-static/sb-manager/OverlayScrollbars-OGE3XJTA-T3S33YR7.js +0 -1
  572. package/storybook-static/sb-manager/WithTooltip-I4CCNYWD-ZW5IOTVO.js +0 -1
  573. package/storybook-static/sb-manager/chunk-AS2AMEUR.js +0 -1
  574. package/storybook-static/sb-manager/chunk-FPTBIX6P.js +0 -403
  575. package/storybook-static/sb-manager/chunk-QPL63VNK.js +0 -1
  576. package/storybook-static/sb-manager/syntaxhighlighter-SIPZPD4I-WOB5MYBW.js +0 -1
  577. /package/storybook-static/{306.af359eab.iframe.bundle.js.LICENSE.txt → 5374.19c2f606.iframe.bundle.js.LICENSE.txt} +0 -0
  578. /package/storybook-static/{components-Form-Form-stories-mdx.9836b75e.iframe.bundle.js.LICENSE.txt → components-Form-Form-stories-mdx.febb9417.iframe.bundle.js.LICENSE.txt} +0 -0
@@ -1,106 +1,106 @@
1
- import type { Meta, StoryObj } from '@storybook/react';
2
- import { Theme, useTheme } from '@emotion/react';
3
- import Typography from '@components/Typography';
4
- import Badge from '@components/Badge';
5
- import Icon from '@components/Icon';
6
- import Indicator from './Indicator';
7
- import { IndicatorProps } from './types';
8
- import Button from '@components/Button';
9
-
10
- const BadgeWrapper = (theme: Theme) => `
11
- display: flex;
12
- align-items: center;
13
- justify-content: center;
14
- height: 30px;
15
- width: 30px;
16
- padding: 5px;
17
- border-radius: 6px;
18
- box-shadow: -4px 12px 14px 0px #DAE1E1;
19
-
20
- ${theme.mediaQueries.md} {
21
- height: 42px;
22
- width: 42px;
23
- padding: 11px;
24
- border-radius: 12px;
25
-
26
- svg {
27
- width: 20px;
28
- height: 20px;
29
- },
30
- },
31
- `;
32
-
33
- export default {
34
- title: 'Components/Indicator',
35
- component: Indicator,
36
- argTypes: {
37
- isVisible: {
38
- control: 'boolean',
39
- },
40
- position: {
41
- table: {
42
- type: {
43
- summary: 'string',
44
- },
45
- },
46
- options: ['right', 'left'],
47
- control: {
48
- type: 'select',
49
- },
50
- },
51
- },
52
- } as Meta<typeof Indicator>;
53
-
54
- export const Default: StoryObj<typeof Indicator> = ({
55
- isVisible,
56
- position,
57
- background,
58
- }: IndicatorProps) => {
59
- const theme = useTheme();
60
- return (
61
- <Indicator
62
- isVisible={isVisible}
63
- position={position}
64
- background={background}>
65
- <Badge color="blueLight" size="small" css={BadgeWrapper}>
66
- <Icon name="information" color={theme.colors.white} size={14} />
67
- </Badge>
68
- </Indicator>
69
- );
70
- };
71
-
72
- Default.argTypes = {};
73
-
74
- export const RightSide: StoryObj<typeof Indicator> = () => {
75
- const theme = useTheme();
76
- return (
77
- <Indicator position="right" isVisible={true}>
78
- <Badge color="blueLight" size="small" css={BadgeWrapper}>
79
- <Icon name="information" color={theme.colors.white} size={14} />
80
- </Badge>
81
- </Indicator>
82
- );
83
- };
84
-
85
- RightSide.argTypes = {};
86
-
87
- export const WithContent: StoryObj<typeof Indicator> = () => {
88
- const theme = useTheme();
89
- return (
90
- <Indicator
91
- isVisible={true}
92
- position="right"
93
- background={`linear-gradient(90deg, ${theme.colors.yellow} 0%, ${theme.colors.yellowLighter} 100%)`}
94
- text={
95
- <Typography variant="body2" weight="regular" color={theme.colors.white}>
96
- +2100
97
- </Typography>
98
- }>
99
- <Button size="large" block={true}>
100
- Button
101
- </Button>
102
- </Indicator>
103
- );
104
- };
105
-
106
- WithContent.args = {};
1
+ import type { Meta, StoryObj } from '@storybook/react';
2
+ import { Theme, useTheme } from '@emotion/react';
3
+ import Typography from '@components/Typography';
4
+ import Badge from '@components/Badge';
5
+ import Icon from '@components/Icon';
6
+ import Indicator from './Indicator';
7
+ import { IndicatorProps } from './types';
8
+ import Button from '@components/Button';
9
+
10
+ const BadgeWrapper = (theme: Theme) => `
11
+ display: flex;
12
+ align-items: center;
13
+ justify-content: center;
14
+ height: 30px;
15
+ width: 30px;
16
+ padding: 5px;
17
+ border-radius: 6px;
18
+ box-shadow: -4px 12px 14px 0px #DAE1E1;
19
+
20
+ ${theme.mediaQueries.md} {
21
+ height: 42px;
22
+ width: 42px;
23
+ padding: 11px;
24
+ border-radius: 12px;
25
+
26
+ svg {
27
+ width: 20px;
28
+ height: 20px;
29
+ },
30
+ },
31
+ `;
32
+
33
+ export default {
34
+ title: 'Components/Indicator',
35
+ component: Indicator,
36
+ argTypes: {
37
+ isVisible: {
38
+ control: 'boolean',
39
+ },
40
+ position: {
41
+ table: {
42
+ type: {
43
+ summary: 'string',
44
+ },
45
+ },
46
+ options: ['right', 'left'],
47
+ control: {
48
+ type: 'select',
49
+ },
50
+ },
51
+ },
52
+ } as Meta<typeof Indicator>;
53
+
54
+ export const Default: StoryObj<typeof Indicator> = ({
55
+ isVisible,
56
+ position,
57
+ background,
58
+ }: IndicatorProps) => {
59
+ const theme = useTheme();
60
+ return (
61
+ <Indicator
62
+ isVisible={isVisible}
63
+ position={position}
64
+ background={background}>
65
+ <Badge color="blueLight" size="small" css={BadgeWrapper}>
66
+ <Icon name="information" color={theme.colors.white} size={14} />
67
+ </Badge>
68
+ </Indicator>
69
+ );
70
+ };
71
+
72
+ Default.argTypes = {};
73
+
74
+ export const RightSide: StoryObj<typeof Indicator> = () => {
75
+ const theme = useTheme();
76
+ return (
77
+ <Indicator position="right" isVisible={true}>
78
+ <Badge color="blueLight" size="small" css={BadgeWrapper}>
79
+ <Icon name="information" color={theme.colors.white} size={14} />
80
+ </Badge>
81
+ </Indicator>
82
+ );
83
+ };
84
+
85
+ RightSide.argTypes = {};
86
+
87
+ export const WithContent: StoryObj<typeof Indicator> = () => {
88
+ const theme = useTheme();
89
+ return (
90
+ <Indicator
91
+ isVisible={true}
92
+ position="right"
93
+ background={`linear-gradient(90deg, ${theme.colors.yellow} 0%, ${theme.colors.yellowLighter} 100%)`}
94
+ text={
95
+ <Typography variant="body2" weight="regular" color={theme.colors.white}>
96
+ +2100
97
+ </Typography>
98
+ }>
99
+ <Button size="large" block={true}>
100
+ Button
101
+ </Button>
102
+ </Indicator>
103
+ );
104
+ };
105
+
106
+ WithContent.args = {};
@@ -1,86 +1,86 @@
1
- import React from 'react';
2
- import { useEffect, useRef, useState } from 'react';
3
- import { css, useTheme } from '@emotion/react';
4
- import IndicatorBase from './IndicatorBase';
5
- import { ChildrenDataProps, IndicatorProps } from './types';
6
- import { useWindowSize } from '@ssa-ui-kit/hooks';
7
-
8
- const Indicator = ({
9
- isVisible = true,
10
- position = 'left',
11
- background,
12
- text,
13
- children,
14
- }: IndicatorProps) => {
15
- const indicatorRef = useRef<HTMLDivElement>(null);
16
- const childrenRef = useRef<HTMLDivElement | null>(null);
17
- const [width, setWidth] = useState<number>(0);
18
- const [childrenData, setChildrenData] = useState<ChildrenDataProps | null>(
19
- {} || null,
20
- );
21
- const { width: windowWidth } = useWindowSize();
22
- const theme = useTheme();
23
-
24
- const refValue = indicatorRef.current ? indicatorRef.current.offsetWidth : 0;
25
- const isRight = position === 'right';
26
-
27
- useEffect(() => {
28
- if (indicatorRef.current && childrenRef.current) {
29
- const refData = {
30
- top: childrenRef.current.offsetTop,
31
- left: childrenRef.current.offsetLeft,
32
- width: childrenRef.current.offsetWidth,
33
- right: childrenRef.current.offsetWidth + childrenRef.current.offsetLeft,
34
- };
35
- setWidth(refValue);
36
- setChildrenData(refData);
37
- }
38
- }, [width, childrenRef.current, windowWidth]);
39
-
40
- return (
41
- <React.Fragment>
42
- {isVisible ? (
43
- <IndicatorBase
44
- data-testid={`indicator-${position}`}
45
- ref={indicatorRef}
46
- css={
47
- childrenData && [
48
- css`
49
- top: ${childrenData.top + 2}px;
50
- left: ${isRight ? '-6px' : '1px'};
51
- transform: translate(${childrenData?.[position]}px, -50%);
52
-
53
- ${theme.mediaQueries.md} {
54
- left: ${isRight ? '-10px' : '1px'};
55
- }
56
- `,
57
- width > 8 &&
58
- css`
59
- left: ${isRight ? '4px' : '-4px'};
60
- transform: ${isRight
61
- ? `translate(${childrenData?.[position] - width}px, -50%)`
62
- : `translate(${childrenData?.[position]}px, -50%)`};
63
-
64
- ${theme.mediaQueries.md} {
65
- left: ${isRight ? '4px' : '-4px'};
66
- }
67
- `,
68
- width > 24 &&
69
- css`
70
- border-radius: 10px;
71
- aspect-ratio: 0;
72
- `,
73
- ]
74
- }
75
- background={background}>
76
- {text}
77
- </IndicatorBase>
78
- ) : null}
79
- {React.cloneElement(children, {
80
- ref: (ref: HTMLDivElement | null) => (childrenRef.current = ref),
81
- })}
82
- </React.Fragment>
83
- );
84
- };
85
-
86
- export default Indicator;
1
+ import React from 'react';
2
+ import { useEffect, useRef, useState } from 'react';
3
+ import { css, useTheme } from '@emotion/react';
4
+ import IndicatorBase from './IndicatorBase';
5
+ import { ChildrenDataProps, IndicatorProps } from './types';
6
+ import { useWindowSize } from '@ssa-ui-kit/hooks';
7
+
8
+ const Indicator = ({
9
+ isVisible = true,
10
+ position = 'left',
11
+ background,
12
+ text,
13
+ children,
14
+ }: IndicatorProps) => {
15
+ const indicatorRef = useRef<HTMLDivElement>(null);
16
+ const childrenRef = useRef<HTMLDivElement | null>(null);
17
+ const [width, setWidth] = useState<number>(0);
18
+ const [childrenData, setChildrenData] = useState<ChildrenDataProps | null>(
19
+ {} || null,
20
+ );
21
+ const { width: windowWidth } = useWindowSize();
22
+ const theme = useTheme();
23
+
24
+ const refValue = indicatorRef.current ? indicatorRef.current.offsetWidth : 0;
25
+ const isRight = position === 'right';
26
+
27
+ useEffect(() => {
28
+ if (indicatorRef.current && childrenRef.current) {
29
+ const refData = {
30
+ top: childrenRef.current.offsetTop,
31
+ left: childrenRef.current.offsetLeft,
32
+ width: childrenRef.current.offsetWidth,
33
+ right: childrenRef.current.offsetWidth + childrenRef.current.offsetLeft,
34
+ };
35
+ setWidth(refValue);
36
+ setChildrenData(refData);
37
+ }
38
+ }, [width, childrenRef.current, windowWidth]);
39
+
40
+ return (
41
+ <React.Fragment>
42
+ {isVisible ? (
43
+ <IndicatorBase
44
+ data-testid={`indicator-${position}`}
45
+ ref={indicatorRef}
46
+ css={
47
+ childrenData && [
48
+ css`
49
+ top: ${childrenData.top + 2}px;
50
+ left: ${isRight ? '-6px' : '1px'};
51
+ transform: translate(${childrenData?.[position]}px, -50%);
52
+
53
+ ${theme.mediaQueries.md} {
54
+ left: ${isRight ? '-10px' : '1px'};
55
+ }
56
+ `,
57
+ width > 8 &&
58
+ css`
59
+ left: ${isRight ? '4px' : '-4px'};
60
+ transform: ${isRight
61
+ ? `translate(${childrenData?.[position] - width}px, -50%)`
62
+ : `translate(${childrenData?.[position]}px, -50%)`};
63
+
64
+ ${theme.mediaQueries.md} {
65
+ left: ${isRight ? '4px' : '-4px'};
66
+ }
67
+ `,
68
+ width > 24 &&
69
+ css`
70
+ border-radius: 10px;
71
+ aspect-ratio: 0;
72
+ `,
73
+ ]
74
+ }
75
+ background={background}>
76
+ {text}
77
+ </IndicatorBase>
78
+ ) : null}
79
+ {React.cloneElement(children, {
80
+ ref: (ref: HTMLDivElement | null) => (childrenRef.current = ref),
81
+ })}
82
+ </React.Fragment>
83
+ );
84
+ };
85
+
86
+ export default Indicator;
@@ -1,27 +1,27 @@
1
- import styled from '@emotion/styled';
2
-
3
- const IndicatorBase = styled.div<{ background?: string }>`
4
- position: absolute;
5
- left: 0;
6
- z-index: 1;
7
- display: flex;
8
- justify-content: center;
9
- align-items: center;
10
- min-width: 5px;
11
- min-height: 5px;
12
- padding: 2px;
13
- border-radius: 50%;
14
- aspect-ratio: 1;
15
- background: ${({ theme, background }) =>
16
- background
17
- ? background
18
- : `linear-gradient(291.8deg, ${theme.colors.blueLightDarker}, ${theme.colors.blueDark})`};
19
-
20
- ${({ theme }) => theme.mediaQueries.md} {
21
- min-width: 8px;
22
- min-height: 8px;
23
- padding: 3px;
24
- }
25
- `;
26
-
27
- export default IndicatorBase;
1
+ import styled from '@emotion/styled';
2
+
3
+ const IndicatorBase = styled.div<{ background?: string }>`
4
+ position: absolute;
5
+ left: 0;
6
+ z-index: 1;
7
+ display: flex;
8
+ justify-content: center;
9
+ align-items: center;
10
+ min-width: 5px;
11
+ min-height: 5px;
12
+ padding: 2px;
13
+ border-radius: 50%;
14
+ aspect-ratio: 1;
15
+ background: ${({ theme, background }) =>
16
+ background
17
+ ? background
18
+ : `linear-gradient(291.8deg, ${theme.colors.blueLightDarker}, ${theme.colors.blueDark})`};
19
+
20
+ ${({ theme }) => theme.mediaQueries.md} {
21
+ min-width: 8px;
22
+ min-height: 8px;
23
+ padding: 3px;
24
+ }
25
+ `;
26
+
27
+ export default IndicatorBase;
@@ -1 +1 @@
1
- export { default } from './Indicator';
1
+ export { default } from './Indicator';
@@ -1,9 +1,9 @@
1
- export interface IndicatorProps {
2
- isVisible: boolean;
3
- children: React.ReactElement;
4
- position?: 'right' | 'left';
5
- background?: string;
6
- text?: string | number | JSX.Element;
7
- }
8
-
9
- export type ChildrenDataProps = Record<string, number>;
1
+ export interface IndicatorProps {
2
+ isVisible: boolean;
3
+ children: React.ReactElement;
4
+ position?: 'right' | 'left';
5
+ background?: string;
6
+ text?: string | number | JSX.Element;
7
+ }
8
+
9
+ export type ChildrenDataProps = Record<string, number>;
@@ -1,95 +1,95 @@
1
- import { screen, fireEvent, mockUseForm } from '../../../customTest';
2
- import Input from '@components/Input';
3
-
4
- const { register } = mockUseForm();
5
-
6
- describe('Inputs', () => {
7
- it('Render input with label and helper text', () => {
8
- render(<Input placeholder="Field" name="field" register={register} />);
9
-
10
- const input = screen.getByRole('textbox') as HTMLInputElement;
11
-
12
- fireEvent.change(input, { target: { value: 'rock n roll' } });
13
-
14
- expect(input.value).toBe('rock n roll');
15
- expect(input).toBeInTheDocument();
16
- });
17
-
18
- it('Trow error when without register', () => {
19
- jest.spyOn(console, 'error').mockImplementation();
20
-
21
- expect(() =>
22
- // eslint-disable-next-line @typescript-eslint/ban-ts-comment
23
- // @ts-ignore
24
- render(<Input placeholder="Field" name="field" disabled={true} />),
25
- ).toThrow('Input component must be used within a Form component');
26
- });
27
-
28
- it('Render input disabled', () => {
29
- render(
30
- <Input
31
- placeholder="Field"
32
- name="field"
33
- register={register}
34
- disabled={true}
35
- />,
36
- );
37
-
38
- const input = screen.getByRole('textbox') as HTMLInputElement;
39
-
40
- expect(input).toBeInTheDocument();
41
- expect(input).toHaveProperty('disabled', true);
42
- });
43
-
44
- it('Render input with status of success', async () => {
45
- render(
46
- <Input
47
- placeholder="Field"
48
- name="field"
49
- register={register}
50
- status="success"
51
- />,
52
- );
53
-
54
- const input = screen.getByRole('textbox') as HTMLInputElement;
55
- const icon = await screen.findByTitle('Check');
56
-
57
- expect(input).toBeInTheDocument();
58
- expect(icon).toBeInTheDocument();
59
- });
60
-
61
- it('Render input with status of error', async () => {
62
- render(
63
- <Input
64
- placeholder="Field"
65
- name="field"
66
- register={register}
67
- validationSchema={{
68
- required: 'Required',
69
- }}
70
- status="error"
71
- />,
72
- );
73
-
74
- const input = screen.getByRole('textbox') as HTMLInputElement;
75
- const icon = await screen.findByTitle('Union');
76
-
77
- expect(input).toBeInTheDocument();
78
- expect(icon).toBeInTheDocument();
79
- });
80
-
81
- it('Render input with startElement and endElement', () => {
82
- render(
83
- <Input
84
- placeholder="Field"
85
- name="field"
86
- register={register}
87
- startElement={<span data-testid="startElement">+</span>}
88
- endElement={<span data-testid="endElement">-</span>}
89
- />,
90
- );
91
-
92
- expect(screen.getByTestId('startElement')).toBeInTheDocument();
93
- expect(screen.getByTestId('endElement')).toBeInTheDocument();
94
- });
95
- });
1
+ import { screen, fireEvent, mockUseForm } from '../../../customTest';
2
+ import Input from '@components/Input';
3
+
4
+ const { register } = mockUseForm();
5
+
6
+ describe('Inputs', () => {
7
+ it('Render input with label and helper text', () => {
8
+ render(<Input placeholder="Field" name="field" register={register} />);
9
+
10
+ const input = screen.getByRole('textbox') as HTMLInputElement;
11
+
12
+ fireEvent.change(input, { target: { value: 'rock n roll' } });
13
+
14
+ expect(input.value).toBe('rock n roll');
15
+ expect(input).toBeInTheDocument();
16
+ });
17
+
18
+ it('Trow error when without register', () => {
19
+ jest.spyOn(console, 'error').mockImplementation();
20
+
21
+ expect(() =>
22
+ // eslint-disable-next-line @typescript-eslint/ban-ts-comment
23
+ // @ts-ignore
24
+ render(<Input placeholder="Field" name="field" disabled={true} />),
25
+ ).toThrow('Input component must be used within a Form component');
26
+ });
27
+
28
+ it('Render input disabled', () => {
29
+ render(
30
+ <Input
31
+ placeholder="Field"
32
+ name="field"
33
+ register={register}
34
+ disabled={true}
35
+ />,
36
+ );
37
+
38
+ const input = screen.getByRole('textbox') as HTMLInputElement;
39
+
40
+ expect(input).toBeInTheDocument();
41
+ expect(input).toHaveProperty('disabled', true);
42
+ });
43
+
44
+ it('Render input with status of success', async () => {
45
+ render(
46
+ <Input
47
+ placeholder="Field"
48
+ name="field"
49
+ register={register}
50
+ status="success"
51
+ />,
52
+ );
53
+
54
+ const input = screen.getByRole('textbox') as HTMLInputElement;
55
+ const icon = await screen.findByTitle('Check');
56
+
57
+ expect(input).toBeInTheDocument();
58
+ expect(icon).toBeInTheDocument();
59
+ });
60
+
61
+ it('Render input with status of error', async () => {
62
+ render(
63
+ <Input
64
+ placeholder="Field"
65
+ name="field"
66
+ register={register}
67
+ validationSchema={{
68
+ required: 'Required',
69
+ }}
70
+ status="error"
71
+ />,
72
+ );
73
+
74
+ const input = screen.getByRole('textbox') as HTMLInputElement;
75
+ const icon = await screen.findByTitle('Union');
76
+
77
+ expect(input).toBeInTheDocument();
78
+ expect(icon).toBeInTheDocument();
79
+ });
80
+
81
+ it('Render input with startElement and endElement', () => {
82
+ render(
83
+ <Input
84
+ placeholder="Field"
85
+ name="field"
86
+ register={register}
87
+ startElement={<span data-testid="startElement">+</span>}
88
+ endElement={<span data-testid="endElement">-</span>}
89
+ />,
90
+ );
91
+
92
+ expect(screen.getByTestId('startElement')).toBeInTheDocument();
93
+ expect(screen.getByTestId('endElement')).toBeInTheDocument();
94
+ });
95
+ });