@faststore/ui 2.0.2-alpha.0 → 2.0.4-alpha.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (317) hide show
  1. package/CHANGELOG.md +18 -0
  2. package/dist/assets/ShoppingCart.d.ts +2 -2
  3. package/dist/assets/ShoppingCart.js.map +1 -1
  4. package/dist/assets/X.d.ts +2 -2
  5. package/dist/assets/X.js.map +1 -1
  6. package/package.json +30 -37
  7. package/src/assets/ShoppingCart.tsx +50 -0
  8. package/src/assets/X.tsx +38 -0
  9. package/src/base/layout.scss +78 -0
  10. package/src/base/tokens.scss +274 -0
  11. package/src/base/typography.scss +64 -0
  12. package/src/components/atoms/Badge/Badge.stories.mdx +156 -0
  13. package/src/components/atoms/Badge/styles.scss +209 -0
  14. package/src/components/atoms/Button/Button.stories.mdx +110 -0
  15. package/src/components/atoms/Button/styles.scss +316 -0
  16. package/src/components/atoms/Checkbox/styles.scss +155 -0
  17. package/src/{atoms → components/atoms}/Incentive/Incentive.tsx +0 -0
  18. package/src/{atoms → components/atoms}/Incentive/index.tsx +0 -0
  19. package/src/{atoms → components/atoms}/Incentive/stories/Incentive.mdx +0 -0
  20. package/src/{atoms → components/atoms}/Incentive/stories/Incentive.stories.tsx +0 -0
  21. package/src/{atoms → components/atoms}/Incentive/stories/assets/Icons.tsx +0 -0
  22. package/src/{atoms → components/atoms}/Input/Input.tsx +0 -0
  23. package/src/{atoms → components/atoms}/Input/index.ts +0 -0
  24. package/src/{atoms → components/atoms}/Input/stories/Input.mdx +0 -0
  25. package/src/{atoms → components/atoms}/Input/stories/Input.stories.tsx +1 -1
  26. package/src/components/atoms/Label/Label.stories.mdx +65 -0
  27. package/src/{atoms → components/atoms}/Link/Link.tsx +1 -1
  28. package/src/{atoms → components/atoms}/Link/index.tsx +0 -0
  29. package/src/{atoms → components/atoms}/Link/stories/Link.mdx +0 -0
  30. package/src/{atoms → components/atoms}/Link/stories/Link.stories.tsx +0 -0
  31. package/src/{atoms → components/atoms}/List/List.tsx +0 -0
  32. package/src/{atoms → components/atoms}/List/index.ts +0 -0
  33. package/src/{atoms → components/atoms}/List/stories/List.mdx +0 -0
  34. package/src/{atoms → components/atoms}/List/stories/List.stories.tsx +1 -1
  35. package/src/{atoms → components/atoms}/Overlay/Overlay.tsx +0 -0
  36. package/src/{atoms → components/atoms}/Overlay/index.ts +0 -0
  37. package/src/{atoms → components/atoms}/Overlay/stories/Overlay.mdx +0 -0
  38. package/src/{atoms → components/atoms}/Overlay/stories/Overlay.stories.tsx +1 -1
  39. package/src/{atoms → components/atoms}/Popover/Popover.tsx +0 -0
  40. package/src/{atoms → components/atoms}/Popover/index.ts +0 -0
  41. package/src/{atoms → components/atoms}/Popover/stories/Popover.mdx +0 -0
  42. package/src/{atoms → components/atoms}/Popover/stories/Popover.stories.tsx +1 -1
  43. package/src/{atoms → components/atoms}/Price/Price.tsx +0 -0
  44. package/src/{atoms → components/atoms}/Price/index.ts +0 -0
  45. package/src/{atoms → components/atoms}/Price/stories/Price.mdx +0 -0
  46. package/src/{atoms → components/atoms}/Price/stories/Price.stories.tsx +1 -1
  47. package/src/components/atoms/Radio/Radio.stories.mdx +101 -0
  48. package/src/components/atoms/Radio/styles.scss +108 -0
  49. package/src/{atoms → components/atoms}/Select/Select.tsx +0 -0
  50. package/src/{atoms → components/atoms}/Select/index.ts +0 -0
  51. package/src/{atoms → components/atoms}/Select/stories/Select.mdx +0 -0
  52. package/src/{atoms → components/atoms}/Select/stories/Select.stories.tsx +1 -1
  53. package/src/{atoms → components/atoms}/Skeleton/Skeleton.tsx +0 -0
  54. package/src/{atoms → components/atoms}/Skeleton/index.ts +0 -0
  55. package/src/{atoms → components/atoms}/Skeleton/stories/Skeleton.mdx +0 -0
  56. package/src/{atoms → components/atoms}/Skeleton/stories/Skeleton.stories.tsx +0 -0
  57. package/src/{atoms → components/atoms}/Slider/Slider.tsx +0 -0
  58. package/src/{atoms → components/atoms}/Slider/index.ts +0 -0
  59. package/src/{atoms → components/atoms}/Slider/stories/Slider.mdx +0 -0
  60. package/src/{atoms → components/atoms}/Slider/stories/Slider.stories.tsx +1 -1
  61. package/src/{atoms → components/atoms}/Spinner/Spinner.tsx +0 -0
  62. package/src/{atoms → components/atoms}/Spinner/index.tsx +0 -0
  63. package/src/{atoms → components/atoms}/Spinner/stories/Spinner.mdx +0 -0
  64. package/src/{atoms → components/atoms}/Spinner/stories/Spinner.stories.tsx +0 -0
  65. package/src/{atoms → components/atoms}/TextArea/TextArea.tsx +0 -0
  66. package/src/{atoms → components/atoms}/TextArea/index.ts +0 -0
  67. package/src/{atoms → components/atoms}/TextArea/stories/TextArea.mdx +0 -0
  68. package/src/{atoms → components/atoms}/TextArea/stories/TextArea.stories.tsx +1 -1
  69. package/src/{molecules → components/molecules}/Accordion/Accordion.tsx +0 -0
  70. package/src/{molecules → components/molecules}/Accordion/AccordionButton.tsx +4 -4
  71. package/src/{molecules → components/molecules}/Accordion/AccordionItem.tsx +1 -1
  72. package/src/{molecules → components/molecules}/Accordion/AccordionPanel.tsx +0 -0
  73. package/src/{molecules → components/molecules}/Accordion/index.ts +0 -0
  74. package/src/{molecules → components/molecules}/Accordion/stories/Accordion.mdx +0 -0
  75. package/src/{molecules → components/molecules}/Accordion/stories/Accordion.stories.tsx +1 -1
  76. package/src/{molecules → components/molecules}/AggregateRating/AggregateRating.tsx +0 -0
  77. package/src/{molecules → components/molecules}/AggregateRating/index.ts +0 -0
  78. package/src/{molecules → components/molecules}/AggregateRating/stories/AggregateRating.mdx +0 -0
  79. package/src/{molecules → components/molecules}/AggregateRating/stories/AggregateRating.stories.tsx +1 -1
  80. package/src/{molecules → components/molecules}/Alert/Alert.tsx +0 -0
  81. package/src/{molecules → components/molecules}/Alert/index.ts +0 -0
  82. package/src/{molecules → components/molecules}/Alert/stories/Alert.mdx +0 -0
  83. package/src/{molecules → components/molecules}/Alert/stories/Alert.stories.tsx +3 -3
  84. package/src/{molecules → components/molecules}/Banner/Banner.tsx +0 -0
  85. package/src/{molecules → components/molecules}/Banner/BannerContent.tsx +0 -0
  86. package/src/{molecules → components/molecules}/Banner/BannerImage.tsx +0 -0
  87. package/src/{molecules → components/molecules}/Banner/BannerLink.tsx +0 -0
  88. package/src/{molecules → components/molecules}/Banner/index.ts +0 -0
  89. package/src/{molecules → components/molecules}/Banner/stories/Banner.mdx +0 -0
  90. package/src/{molecules → components/molecules}/Banner/stories/Banner.stories.tsx +1 -1
  91. package/src/{molecules → components/molecules}/Breadcrumb/Breadcrumb.tsx +0 -0
  92. package/src/{molecules → components/molecules}/Breadcrumb/index.ts +0 -0
  93. package/src/{molecules → components/molecules}/Breadcrumb/stories/Breadcrumb.mdx +0 -0
  94. package/src/{molecules → components/molecules}/Breadcrumb/stories/Breadcrumb.stories.tsx +1 -1
  95. package/src/{molecules → components/molecules}/Bullets/Bullets.tsx +1 -1
  96. package/src/{molecules → components/molecules}/Bullets/index.ts +0 -0
  97. package/src/{molecules → components/molecules}/Bullets/stories/Bullets.mdx +0 -0
  98. package/src/{molecules → components/molecules}/Bullets/stories/Bullets.stories.tsx +1 -1
  99. package/src/{molecules → components/molecules}/Card/Card.tsx +0 -0
  100. package/src/{molecules → components/molecules}/Card/CardActions.tsx +0 -0
  101. package/src/{molecules → components/molecules}/Card/CardContent.tsx +0 -0
  102. package/src/{molecules → components/molecules}/Card/CardImage.tsx +0 -0
  103. package/src/{molecules → components/molecules}/Card/index.tsx +0 -0
  104. package/src/{molecules → components/molecules}/Card/stories/Card.mdx +0 -0
  105. package/src/{molecules → components/molecules}/Card/stories/Card.stories.tsx +5 -5
  106. package/src/{molecules → components/molecules}/Carousel/Arrows.tsx +0 -0
  107. package/src/{molecules → components/molecules}/Carousel/Carousel.tsx +2 -2
  108. package/src/{molecules → components/molecules}/Carousel/CarouselItem.tsx +1 -1
  109. package/src/{molecules → components/molecules}/Carousel/hooks/useSlideVisibility.ts +0 -0
  110. package/src/{molecules → components/molecules}/Carousel/index.ts +0 -0
  111. package/src/{molecules → components/molecules}/Carousel/stories/Carousel.mdx +0 -0
  112. package/src/{molecules → components/molecules}/Carousel/stories/Carousel.stories.tsx +1 -1
  113. package/src/{molecules → components/molecules}/CartItem/CartItem.tsx +0 -0
  114. package/src/{molecules → components/molecules}/CartItem/CartItemActions.tsx +0 -0
  115. package/src/{molecules → components/molecules}/CartItem/CartItemContent.tsx +0 -0
  116. package/src/{molecules → components/molecules}/CartItem/CartItemImage.tsx +0 -0
  117. package/src/{molecules → components/molecules}/CartItem/CartItemPrices.tsx +0 -0
  118. package/src/{molecules → components/molecules}/CartItem/CartItemSummary.tsx +0 -0
  119. package/src/{molecules → components/molecules}/CartItem/CartItemTitle.tsx +0 -0
  120. package/src/{molecules → components/molecules}/CartItem/index.tsx +0 -0
  121. package/src/{molecules → components/molecules}/CartItem/stories/CartItem.mdx +0 -0
  122. package/src/{molecules → components/molecules}/CartItem/stories/CartItem.stories.tsx +1 -1
  123. package/src/components/molecules/CheckboxField/CheckboxField.stories.mdx +38 -0
  124. package/src/components/molecules/CheckboxField/styles.scss +12 -0
  125. package/src/{molecules → components/molecules}/Dropdown/Dropdown.tsx +0 -0
  126. package/src/{molecules → components/molecules}/Dropdown/DropdownButton.tsx +0 -0
  127. package/src/{molecules → components/molecules}/Dropdown/DropdownItem.tsx +0 -0
  128. package/src/{molecules → components/molecules}/Dropdown/DropdownMenu.tsx +0 -0
  129. package/src/{molecules → components/molecules}/Dropdown/contexts/DropdownContext.ts +0 -0
  130. package/src/{molecules → components/molecules}/Dropdown/hooks/useDropdown.ts +0 -0
  131. package/src/{molecules → components/molecules}/Dropdown/hooks/useDropdownPosition.ts +0 -0
  132. package/src/{molecules → components/molecules}/Dropdown/index.ts +0 -0
  133. package/src/{molecules → components/molecules}/Dropdown/stories/Dropdown.mdx +0 -0
  134. package/src/{molecules → components/molecules}/Dropdown/stories/Dropdown.stories.tsx +1 -1
  135. package/src/{molecules → components/molecules}/Dropdown/stories/assets/Caret.tsx +0 -0
  136. package/src/{molecules → components/molecules}/Form/Form.tsx +0 -0
  137. package/src/{molecules → components/molecules}/Form/index.ts +0 -0
  138. package/src/{molecules → components/molecules}/Form/stories/Form.mdx +0 -0
  139. package/src/{molecules → components/molecules}/Form/stories/Form.stories.tsx +2 -1
  140. package/src/{molecules → components/molecules}/Gift/Gift.tsx +2 -3
  141. package/src/{molecules → components/molecules}/Gift/GiftContent.tsx +0 -0
  142. package/src/{molecules → components/molecules}/Gift/GiftImage.tsx +0 -0
  143. package/src/{molecules → components/molecules}/Gift/index.tsx +0 -0
  144. package/src/{molecules → components/molecules}/Gift/stories/Gift.mdx +0 -0
  145. package/src/{molecules → components/molecules}/Gift/stories/Gift.stories.tsx +1 -1
  146. package/src/components/molecules/IconButton/IconButton.stories.mdx +47 -0
  147. package/src/{molecules → components/molecules}/LoadingButton/LoadingButton.tsx +3 -8
  148. package/src/{molecules → components/molecules}/LoadingButton/index.tsx +0 -0
  149. package/src/{molecules → components/molecules}/LoadingButton/stories/LoadingButton.mdx +0 -0
  150. package/src/{molecules → components/molecules}/LoadingButton/stories/LoadingButton.stories.tsx +1 -1
  151. package/src/{molecules → components/molecules}/Modal/Modal.tsx +0 -0
  152. package/src/{molecules → components/molecules}/Modal/ModalContent.tsx +0 -0
  153. package/src/{molecules → components/molecules}/Modal/index.tsx +0 -0
  154. package/src/{molecules → components/molecules}/Modal/stories/Modal.mdx +0 -0
  155. package/src/{molecules → components/molecules}/Modal/stories/Modal.stories.tsx +1 -1
  156. package/src/{molecules → components/molecules}/Modal/useTrapFocus.ts +0 -0
  157. package/src/{molecules → components/molecules}/OrderSummary/OrderSummary.tsx +0 -0
  158. package/src/{molecules → components/molecules}/OrderSummary/index.tsx +0 -0
  159. package/src/{molecules → components/molecules}/OrderSummary/stories/OrderSummary.mdx +0 -0
  160. package/src/{molecules → components/molecules}/OrderSummary/stories/OrderSummary.stories.tsx +0 -0
  161. package/src/{molecules → components/molecules}/PaymentMethods/PaymentMethods.tsx +0 -0
  162. package/src/{molecules → components/molecules}/PaymentMethods/index.tsx +0 -0
  163. package/src/{molecules → components/molecules}/PaymentMethods/stories/PaymentMethods.mdx +0 -0
  164. package/src/{molecules → components/molecules}/PaymentMethods/stories/PaymentMethods.stories.tsx +0 -0
  165. package/src/{molecules → components/molecules}/PaymentMethods/stories/assets/Icons.tsx +0 -0
  166. package/src/{molecules → components/molecules}/PriceRange/PriceRange.tsx +0 -0
  167. package/src/{molecules → components/molecules}/PriceRange/index.ts +0 -0
  168. package/src/{molecules → components/molecules}/PriceRange/stories/PriceRange.mdx +0 -0
  169. package/src/{molecules → components/molecules}/PriceRange/stories/PriceRange.stories.tsx +1 -1
  170. package/src/{molecules → components/molecules}/ProductCard/ProductCard.tsx +0 -0
  171. package/src/{molecules → components/molecules}/ProductCard/ProductCardActions.tsx +0 -0
  172. package/src/{molecules → components/molecules}/ProductCard/ProductCardContent.tsx +0 -0
  173. package/src/{molecules → components/molecules}/ProductCard/ProductCardImage.tsx +0 -0
  174. package/src/{molecules → components/molecules}/ProductCard/index.tsx +0 -0
  175. package/src/{molecules → components/molecules}/ProductCard/stories/ProductCard.mdx +0 -0
  176. package/src/{molecules → components/molecules}/ProductCard/stories/ProductCard.stories.tsx +1 -2
  177. package/src/{molecules → components/molecules}/ProductTitle/ProductTitle.tsx +0 -0
  178. package/src/{molecules → components/molecules}/ProductTitle/index.tsx +0 -0
  179. package/src/{molecules → components/molecules}/ProductTitle/stories/ProductTitle.mdx +0 -0
  180. package/src/{molecules → components/molecules}/ProductTitle/stories/ProductTitle.stories.tsx +3 -3
  181. package/src/{molecules → components/molecules}/QuantitySelector/QuantitySelector.tsx +2 -2
  182. package/src/{molecules → components/molecules}/QuantitySelector/index.ts +0 -0
  183. package/src/{molecules → components/molecules}/QuantitySelector/stories/QuantitySelector.mdx +0 -0
  184. package/src/{molecules → components/molecules}/QuantitySelector/stories/QuantitySelector.stories.tsx +0 -0
  185. package/src/{molecules → components/molecules}/QuantitySelector/stories/assets/Icons.tsx +0 -0
  186. package/src/components/molecules/RadioField/RadioField.stories.mdx +38 -0
  187. package/src/components/molecules/RadioField/styles.scss +12 -0
  188. package/src/{molecules → components/molecules}/RadioGroup/RadioGroup.tsx +0 -0
  189. package/src/{molecules → components/molecules}/RadioGroup/RadioOption.tsx +1 -1
  190. package/src/{molecules → components/molecules}/RadioGroup/index.tsx +0 -0
  191. package/src/{molecules → components/molecules}/RadioGroup/stories/RadioGroup.mdx +0 -0
  192. package/src/{molecules → components/molecules}/RadioGroup/stories/RadioGroup.stories.tsx +0 -0
  193. package/src/{molecules → components/molecules}/RadioGroup/useRadioGroup.ts +0 -0
  194. package/src/{molecules → components/molecules}/SearchInput/SearchInput.tsx +2 -3
  195. package/src/{molecules → components/molecules}/SearchInput/index.ts +0 -0
  196. package/src/{molecules → components/molecules}/SearchInput/stories/SearchInput.mdx +0 -0
  197. package/src/{molecules → components/molecules}/SearchInput/stories/SearchInput.stories.tsx +1 -1
  198. package/src/{molecules → components/molecules}/SearchInput/stories/assets/CustomIcon.tsx +0 -0
  199. package/src/{molecules → components/molecules}/SkuSelector/SkuSelector.tsx +3 -2
  200. package/src/{molecules → components/molecules}/SkuSelector/index.tsx +0 -0
  201. package/src/{molecules → components/molecules}/SkuSelector/stories/SkuSelector.mdx +0 -0
  202. package/src/{molecules → components/molecules}/SkuSelector/stories/SkuSelector.stories.tsx +1 -1
  203. package/src/{molecules → components/molecules}/Table/Table.tsx +0 -0
  204. package/src/{molecules → components/molecules}/Table/TableBody.tsx +0 -0
  205. package/src/{molecules → components/molecules}/Table/TableCell.tsx +0 -0
  206. package/src/{molecules → components/molecules}/Table/TableFooter.tsx +0 -0
  207. package/src/{molecules → components/molecules}/Table/TableHead.tsx +0 -0
  208. package/src/{molecules → components/molecules}/Table/TableRow.tsx +0 -0
  209. package/src/{molecules → components/molecules}/Table/index.ts +0 -0
  210. package/src/{molecules → components/molecules}/Table/stories/Table.mdx +0 -0
  211. package/src/{molecules → components/molecules}/Table/stories/Table.stories.tsx +0 -0
  212. package/src/components/molecules/Tag/Tag.stories.mdx +31 -0
  213. package/src/components/molecules/Tag/styles.scss +99 -0
  214. package/src/{organisms → components/organisms}/Hero/Hero.tsx +0 -0
  215. package/src/{organisms → components/organisms}/Hero/HeroHeading.tsx +0 -0
  216. package/src/{organisms → components/organisms}/Hero/HeroImage.tsx +0 -0
  217. package/src/{organisms → components/organisms}/Hero/index.tsx +0 -0
  218. package/src/{organisms → components/organisms}/Hero/stories/Hero.mdx +0 -0
  219. package/src/{organisms → components/organisms}/Hero/stories/Hero.stories.tsx +1 -1
  220. package/src/{organisms → components/organisms}/OutOfStock/OutOfStock.tsx +0 -0
  221. package/src/{organisms → components/organisms}/OutOfStock/OutOfStockMessage.tsx +0 -0
  222. package/src/{organisms → components/organisms}/OutOfStock/OutOfStockTitle.tsx +0 -0
  223. package/src/{organisms → components/organisms}/OutOfStock/index.tsx +0 -0
  224. package/src/{organisms → components/organisms}/OutOfStock/stories/OutOfStock.mdx +0 -0
  225. package/src/{organisms → components/organisms}/OutOfStock/stories/OutOfStock.stories.tsx +1 -1
  226. package/src/{organisms → components/organisms}/Tiles/Tile.tsx +0 -0
  227. package/src/{organisms → components/organisms}/Tiles/Tiles.tsx +0 -0
  228. package/src/{organisms → components/organisms}/Tiles/index.ts +0 -0
  229. package/src/{organisms → components/organisms}/Tiles/stories/Tiles.mdx +0 -0
  230. package/src/{organisms → components/organisms}/Tiles/stories/Tiles.stories.tsx +0 -0
  231. package/src/index.ts +97 -99
  232. package/src/styles/base.scss +3 -0
  233. package/src/styles/components.scss +10 -0
  234. package/src/styles/global.scss +4 -0
  235. package/src/styles/reset.scss +54 -0
  236. package/src/styles/utilities.scss +75 -0
  237. package/src/typings/utils.d.ts +2 -2
  238. package/dist/assets/index.d.ts +0 -2
  239. package/dist/assets/index.js +0 -3
  240. package/dist/assets/index.js.map +0 -1
  241. package/src/atoms/Badge/Badge.test.tsx +0 -23
  242. package/src/atoms/Badge/Badge.tsx +0 -23
  243. package/src/atoms/Badge/index.ts +0 -2
  244. package/src/atoms/Badge/stories/Badge.mdx +0 -18
  245. package/src/atoms/Badge/stories/Badge.stories.tsx +0 -37
  246. package/src/atoms/Button/Button.test.tsx +0 -12
  247. package/src/atoms/Button/Button.tsx +0 -23
  248. package/src/atoms/Button/index.ts +0 -2
  249. package/src/atoms/Button/stories/Button.mdx +0 -18
  250. package/src/atoms/Button/stories/Button.stories.tsx +0 -36
  251. package/src/atoms/Checkbox/Checkbox.test.tsx +0 -65
  252. package/src/atoms/Checkbox/Checkbox.tsx +0 -27
  253. package/src/atoms/Checkbox/index.ts +0 -2
  254. package/src/atoms/Checkbox/stories/Checkbox.mdx +0 -18
  255. package/src/atoms/Checkbox/stories/Checkbox.stories.tsx +0 -65
  256. package/src/atoms/Icon/Icon.test.tsx +0 -43
  257. package/src/atoms/Icon/Icon.tsx +0 -26
  258. package/src/atoms/Icon/index.ts +0 -2
  259. package/src/atoms/Icon/stories/Icon.mdx +0 -18
  260. package/src/atoms/Icon/stories/Icon.stories.tsx +0 -40
  261. package/src/atoms/Icon/stories/assets/ShoppingCart.tsx +0 -23
  262. package/src/atoms/Incentive/Incentive.test.tsx +0 -36
  263. package/src/atoms/Input/Input.test.tsx +0 -73
  264. package/src/atoms/Label/Label.test.tsx +0 -71
  265. package/src/atoms/Label/Label.tsx +0 -22
  266. package/src/atoms/Label/index.ts +0 -2
  267. package/src/atoms/Label/stories/Label.mdx +0 -18
  268. package/src/atoms/Label/stories/Label.stories.tsx +0 -30
  269. package/src/atoms/Link/Link.test.tsx +0 -53
  270. package/src/atoms/List/List.test.tsx +0 -195
  271. package/src/atoms/Overlay/Overlay.test.tsx +0 -23
  272. package/src/atoms/Popover/Popover.test.tsx +0 -39
  273. package/src/atoms/Price/Price.test.tsx +0 -63
  274. package/src/atoms/Radio/Radio.test.tsx +0 -59
  275. package/src/atoms/Radio/Radio.tsx +0 -24
  276. package/src/atoms/Radio/index.ts +0 -2
  277. package/src/atoms/Radio/stories/Radio.mdx +0 -18
  278. package/src/atoms/Radio/stories/Radio.stories.tsx +0 -41
  279. package/src/atoms/Select/Select.test.tsx +0 -71
  280. package/src/atoms/Skeleton/Skeleton.test.tsx +0 -13
  281. package/src/atoms/Slider/Slider.test.tsx +0 -32
  282. package/src/atoms/Spinner/Spinner.test.tsx +0 -12
  283. package/src/atoms/TextArea/TextArea.test.tsx +0 -77
  284. package/src/hooks/useSlider/useSlider.test.ts +0 -176
  285. package/src/molecules/Accordion/Accordion.test.tsx +0 -226
  286. package/src/molecules/AggregateRating/AggregateRating.test.tsx +0 -87
  287. package/src/molecules/Alert/Alert.test.tsx +0 -23
  288. package/src/molecules/Banner/Banner.test.tsx +0 -67
  289. package/src/molecules/Breadcrumb/Breadcrumb.test.tsx +0 -124
  290. package/src/molecules/Bullets/Bullets.test.tsx +0 -128
  291. package/src/molecules/Card/Card.test.tsx +0 -68
  292. package/src/molecules/Carousel/Carousel.test.tsx +0 -587
  293. package/src/molecules/Carousel/hooks/hooks.test.ts +0 -109
  294. package/src/molecules/CartItem/CartItem.test.tsx +0 -79
  295. package/src/molecules/Dropdown/Dropdown.test.tsx +0 -275
  296. package/src/molecules/Form/Form.test.tsx +0 -61
  297. package/src/molecules/Gift/Gift.test.tsx +0 -53
  298. package/src/molecules/IconButton/IconButton.test.tsx +0 -31
  299. package/src/molecules/IconButton/IconButton.tsx +0 -35
  300. package/src/molecules/IconButton/index.tsx +0 -2
  301. package/src/molecules/IconButton/stories/IconButton.mdx +0 -27
  302. package/src/molecules/IconButton/stories/IconButton.stories.tsx +0 -35
  303. package/src/molecules/LoadingButton/LoadingButton.test.tsx +0 -14
  304. package/src/molecules/Modal/Modal.test.tsx +0 -241
  305. package/src/molecules/OrderSummary/OrderSummary.test.tsx +0 -103
  306. package/src/molecules/PaymentMethods/PaymentMethods.test.tsx +0 -37
  307. package/src/molecules/PriceRange/PriceRange.test.tsx +0 -70
  308. package/src/molecules/ProductCard/ProductCard.test.tsx +0 -75
  309. package/src/molecules/QuantitySelector/QuantitySelector.test.tsx +0 -93
  310. package/src/molecules/RadioGroup/RadioGroup.test.tsx +0 -107
  311. package/src/molecules/SearchInput/SearchInput.test.tsx +0 -34
  312. package/src/molecules/SkuSelector/SkuSelector.test.tsx +0 -42
  313. package/src/molecules/Table/Table.test.tsx +0 -233
  314. package/src/organisms/Hero/Hero.test.tsx +0 -60
  315. package/src/organisms/OutOfStock/OutOfStock.test.tsx +0 -122
  316. package/src/setupTests.ts +0 -7
  317. package/src/utils/toHaveNoIncomplete.ts +0 -76
@@ -1,18 +0,0 @@
1
- import { Story, Canvas, ArgsTable } from '@storybook/addon-docs'
2
- import Button from '../Button'
3
-
4
- # Button
5
-
6
- <Canvas>
7
- <Story id="atoms-button--button" />
8
- </Canvas>
9
-
10
- ## Props
11
-
12
- <ArgsTable of={Button} />
13
-
14
- ## CSS Selectors
15
-
16
- ```css
17
- [data-fs-button] {}
18
- ```
@@ -1,36 +0,0 @@
1
- import type { Story } from '@storybook/react'
2
- import React from 'react'
3
-
4
- import type { ComponentArgTypes } from '../../../typings/utils'
5
- import type { ButtonProps } from '../Button'
6
- import Component from '../Button'
7
- import mdx from './Button.mdx'
8
-
9
- const ButtonTemplate: Story<ButtonProps> = ({ children, onClick, testId }) => (
10
- <Component onClick={onClick} testId={testId}>
11
- {children}
12
- </Component>
13
- )
14
-
15
- export const Button = ButtonTemplate.bind({})
16
-
17
- const argTypes: ComponentArgTypes<ButtonProps> = {
18
- children: {
19
- control: { type: 'text' },
20
- defaultValue: 'Button',
21
- },
22
- onClick: {
23
- action: 'Button clicked',
24
- table: { disable: true },
25
- },
26
- }
27
-
28
- export default {
29
- title: 'Atoms/Button',
30
- argTypes,
31
- parameters: {
32
- docs: {
33
- page: mdx,
34
- },
35
- },
36
- }
@@ -1,65 +0,0 @@
1
- import React from 'react'
2
- import { render } from '@testing-library/react'
3
- import { axe } from 'jest-axe'
4
-
5
- import Checkbox from './Checkbox'
6
-
7
- describe('Checkbox', () => {
8
- it('data-fs-checkbox is present', () => {
9
- const { getByTestId } = render(<Checkbox testId="store-checkbox" />)
10
-
11
- expect(getByTestId('store-checkbox')).toHaveAttribute('data-fs-checkbox')
12
- })
13
-
14
- it('type checkbox is present', () => {
15
- const { getByTestId } = render(<Checkbox testId="store-checkbox" />)
16
-
17
- expect(getByTestId('store-checkbox')).toHaveAttribute('type', 'checkbox')
18
- })
19
-
20
- describe('Accessibility', () => {
21
- it('should have no violations using aria-label', async () => {
22
- const { container } = render(
23
- <Checkbox
24
- aria-label="label checkbox for test"
25
- testId="store-checkbox"
26
- />
27
- )
28
-
29
- expect(await axe(container)).toHaveNoViolations()
30
- })
31
-
32
- it('should have no violations using aria-labelledby', async () => {
33
- const { container } = render(
34
- <>
35
- <span id="label">My test label</span>
36
- <Checkbox aria-labelledby="label" testId="store-checkbox" />
37
- </>
38
- )
39
-
40
- expect(await axe(container)).toHaveNoViolations()
41
- })
42
-
43
- it('should have no violations using placeholder', async () => {
44
- const { container } = render(
45
- <Checkbox
46
- placeholder="Accessibility placeholder"
47
- testId="store-checkbox"
48
- />
49
- )
50
-
51
- expect(await axe(container)).toHaveNoViolations()
52
- })
53
-
54
- it('should have no violations using id with explicit label', async () => {
55
- const { container } = render(
56
- <>
57
- <label htmlFor="checkbox">My test label</label>
58
- <Checkbox id="checkbox" testId="store-checkbox" />
59
- </>
60
- )
61
-
62
- expect(await axe(container)).toHaveNoViolations()
63
- })
64
- })
65
- })
@@ -1,27 +0,0 @@
1
- import React, { forwardRef } from 'react'
2
- import type { InputHTMLAttributes } from 'react'
3
-
4
- export interface CheckboxProps
5
- extends Omit<InputHTMLAttributes<HTMLInputElement>, 'type'> {
6
- /**
7
- * ID to find this component in testing tools (e.g.: cypress, testing library, and jest).
8
- */
9
- testId?: string
10
- }
11
-
12
- const Checkbox = forwardRef<HTMLInputElement, CheckboxProps>(function Checkbox(
13
- { testId = 'store-checkbox', ...otherProps }: CheckboxProps,
14
- ref
15
- ) {
16
- return (
17
- <input
18
- ref={ref}
19
- data-fs-checkbox
20
- data-testid={testId}
21
- type="checkbox"
22
- {...otherProps}
23
- />
24
- )
25
- })
26
-
27
- export default Checkbox
@@ -1,2 +0,0 @@
1
- export { default } from './Checkbox'
2
- export type { CheckboxProps } from './Checkbox'
@@ -1,18 +0,0 @@
1
- import { Story, Canvas, ArgsTable } from '@storybook/addon-docs'
2
- import Checkbox from '../Checkbox'
3
-
4
- # Checkbox
5
-
6
- <Canvas>
7
- <Story id="atoms-checkbox--checkbox" />
8
- </Canvas>
9
-
10
- ## Props
11
-
12
- <ArgsTable of={Checkbox} />
13
-
14
- ## CSS Selectors
15
-
16
- ```css
17
- [data-fs-checkbox] {}
18
- ```
@@ -1,65 +0,0 @@
1
- import type { Story, Meta } from '@storybook/react'
2
- import React, { useEffect, useState } from 'react'
3
-
4
- import type { ComponentArgTypes } from '../../../typings/utils'
5
- import type { CheckboxProps } from '../Checkbox'
6
- import Component from '../Checkbox'
7
- import mdx from './Checkbox.mdx'
8
-
9
- const CheckboxTemplate: Story<CheckboxProps> = ({
10
- checked,
11
- onClick,
12
- ...otherProps
13
- }) => {
14
- const [localChecked, setLocalChecked] = useState(checked)
15
-
16
- useEffect(() => {
17
- setLocalChecked(checked)
18
- }, [checked])
19
-
20
- return (
21
- <>
22
- <Component
23
- {...otherProps}
24
- checked={localChecked}
25
- onClick={(e) => {
26
- onClick?.(e)
27
- setLocalChecked(!localChecked)
28
- }}
29
- id="checkbox"
30
- />
31
-
32
- <label htmlFor="checkbox">Checkbox</label>
33
- </>
34
- )
35
- }
36
-
37
- export const Checkbox = CheckboxTemplate.bind({})
38
- Checkbox.args = {
39
- checked: true,
40
- }
41
-
42
- const controls: ComponentArgTypes<CheckboxProps> = {
43
- checked: {
44
- control: {
45
- type: 'boolean',
46
- },
47
- },
48
- }
49
-
50
- const actions: ComponentArgTypes<CheckboxProps> = {
51
- onClick: { action: 'clicked', table: { disable: true } },
52
- }
53
-
54
- export default {
55
- title: 'Atoms/Checkbox',
56
- argTypes: {
57
- ...controls,
58
- ...actions,
59
- },
60
- parameters: {
61
- docs: {
62
- page: mdx,
63
- },
64
- },
65
- } as Meta
@@ -1,43 +0,0 @@
1
- import { render } from '@testing-library/react'
2
- import { axe } from 'jest-axe'
3
- import React from 'react'
4
-
5
- import Icon from './Icon'
6
-
7
- const ShoppingCart = () => (
8
- <svg
9
- xmlns="http://www.w3.org/2000/svg"
10
- width="1em"
11
- height="1em"
12
- viewBox="0 0 24 24"
13
- fill="none"
14
- stroke="currentColor"
15
- strokeWidth="2"
16
- strokeLinecap="round"
17
- strokeLinejoin="round"
18
- >
19
- <circle cx="9" cy="21" r="1" />
20
- <circle cx="20" cy="21" r="1" />
21
- <path d="M1 1h4l2.68 13.39a2 2 0 0 0 2 1.61h9.72a2 2 0 0 0 2-1.61L23 6H6" />
22
- </svg>
23
- )
24
-
25
- describe('Icon', () => {
26
- it('`data-fs-icon` is present', () => {
27
- const { getByTestId } = render(
28
- <Icon data-testid="store-icon" component={<ShoppingCart />} />
29
- )
30
-
31
- expect(getByTestId('store-icon')).toHaveAttribute('data-fs-icon')
32
- })
33
-
34
- describe('Accessibility', () => {
35
- it('should have no violations', async () => {
36
- const { container } = render(
37
- <Icon data-testid="store-icon" component={<ShoppingCart />} />
38
- )
39
-
40
- expect(await axe(container)).toHaveNoViolations()
41
- })
42
- })
43
- })
@@ -1,26 +0,0 @@
1
- import type { HTMLAttributes, ReactNode } from 'react'
2
- import React, { forwardRef } from 'react'
3
-
4
- export interface IconProps extends HTMLAttributes<HTMLSpanElement> {
5
- /**
6
- * A React component that will be rendered as an icon.
7
- */
8
- component: ReactNode
9
- /**
10
- * ID to find this component in testing tools (e.g.: cypress, testing library, and jest).
11
- */
12
- testId?: string
13
- }
14
-
15
- const Icon = forwardRef<HTMLSpanElement, IconProps>(function Button(
16
- { component, testId = 'store-icon', ...otherProps }: IconProps,
17
- ref
18
- ) {
19
- return (
20
- <span ref={ref} data-fs-icon data-testid={testId} {...otherProps}>
21
- {component}
22
- </span>
23
- )
24
- })
25
-
26
- export default Icon
@@ -1,2 +0,0 @@
1
- export { default } from './Icon'
2
- export type { IconProps } from './Icon'
@@ -1,18 +0,0 @@
1
- import { Story, Canvas, ArgsTable } from '@storybook/addon-docs'
2
- import Icon from '../Icon'
3
-
4
- # Icon
5
-
6
- <Canvas>
7
- <Story id="atoms-icon--icon" />
8
- </Canvas>
9
-
10
- ## Props
11
-
12
- <ArgsTable of={Icon} />
13
-
14
- ## CSS Selectors
15
-
16
- ```css
17
- [data-fs-icon] {}
18
- ```
@@ -1,40 +0,0 @@
1
- import React from 'react'
2
- import type { Story } from '@storybook/react'
3
-
4
- import Component from '../Icon'
5
- import type { IconProps } from '../Icon'
6
- import mdx from './Icon.mdx'
7
- import ShoppingCart from './assets/ShoppingCart'
8
- import type { ComponentArgTypes } from '../../../typings/utils'
9
-
10
- const IconTemplate: Story<IconProps> = ({ style }) => (
11
- <Component style={style} component={<ShoppingCart />} />
12
- )
13
-
14
- export const Icon = IconTemplate.bind({})
15
- Icon.args = {
16
- style: {
17
- fontSize: '32px',
18
- color: 'red',
19
- },
20
- }
21
-
22
- const argTypes: ComponentArgTypes<Omit<IconProps, 'component'>> = {
23
- style: {
24
- control: { type: 'object' },
25
- },
26
- onClick: {
27
- action: 'Icon clicked',
28
- table: { disable: true },
29
- },
30
- }
31
-
32
- export default {
33
- title: 'Atoms/Icon',
34
- argTypes,
35
- parameters: {
36
- docs: {
37
- page: mdx,
38
- },
39
- },
40
- }
@@ -1,23 +0,0 @@
1
- import React from 'react'
2
- import type { FC } from 'react'
3
-
4
- // icon by feathericons
5
- const ShoppingCart: FC = () => (
6
- <svg
7
- xmlns="http://www.w3.org/2000/svg"
8
- width="1em"
9
- height="1em"
10
- viewBox="0 0 24 24"
11
- fill="none"
12
- stroke="currentColor"
13
- strokeWidth="2"
14
- strokeLinecap="round"
15
- strokeLinejoin="round"
16
- >
17
- <circle cx="9" cy="21" r="1" />
18
- <circle cx="20" cy="21" r="1" />
19
- <path d="M1 1h4l2.68 13.39a2 2 0 0 0 2 1.61h9.72a2 2 0 0 0 2-1.61L23 6H6" />
20
- </svg>
21
- )
22
-
23
- export default ShoppingCart
@@ -1,36 +0,0 @@
1
- import { render } from '@testing-library/react'
2
- import { axe } from 'jest-axe'
3
- import React from 'react'
4
-
5
- import Incentive from './Incentive'
6
-
7
- const TestIncentive = () => {
8
- return (
9
- <Incentive>
10
- <span>Item title</span>
11
- <span>Item description</span>
12
- </Incentive>
13
- )
14
- }
15
-
16
- describe('Incentive', () => {
17
- let incentive: HTMLElement
18
-
19
- beforeEach(() => {
20
- const { getByTestId } = render(<TestIncentive />)
21
-
22
- incentive = getByTestId('store-incentive')
23
- })
24
-
25
- describe('Data attributes', () => {
26
- it('should have `data-fs-incentive` attribute', () => {
27
- expect(incentive).toHaveAttribute('data-fs-incentive')
28
- })
29
- })
30
-
31
- describe('Accessibility', () => {
32
- it('should have no violations', async () => {
33
- expect(await axe(incentive)).toHaveNoViolations()
34
- })
35
- })
36
- })
@@ -1,73 +0,0 @@
1
- import { render } from '@testing-library/react'
2
- import { axe } from 'jest-axe'
3
- import React from 'react'
4
-
5
- import Input from '.'
6
-
7
- describe('Input', () => {
8
- it('`data-fs-input` is present', () => {
9
- const { getByPlaceholderText } = render(
10
- <Input placeholder="Hello World!" />
11
- )
12
-
13
- expect(getByPlaceholderText('Hello World!')).toHaveAttribute(
14
- 'data-fs-input'
15
- )
16
- })
17
-
18
- it('`data-error` is present', () => {
19
- const { getByPlaceholderText } = render(
20
- <Input placeholder="Hello World!" variant="error" />
21
- )
22
-
23
- expect(getByPlaceholderText('Hello World!')).toHaveAttribute('data-error')
24
- })
25
-
26
- it('`data-success` is present', () => {
27
- const { getByPlaceholderText } = render(
28
- <Input placeholder="Hello World!" variant="success" />
29
- )
30
-
31
- expect(getByPlaceholderText('Hello World!')).toHaveAttribute('data-success')
32
- })
33
-
34
- describe('Accessibility', () => {
35
- it('should have no violations using aria-label', async () => {
36
- const { container } = render(
37
- <Input aria-label="label input for test" testId="store-input" />
38
- )
39
-
40
- expect(await axe(container)).toHaveNoViolations()
41
- })
42
-
43
- it('should have no violations using aria-labelledby', async () => {
44
- const { container } = render(
45
- <>
46
- <span id="label">My test label</span>
47
- <Input aria-labelledby="label" testId="store-input" />
48
- </>
49
- )
50
-
51
- expect(await axe(container)).toHaveNoViolations()
52
- })
53
-
54
- it('should have no violations using placeholder', async () => {
55
- const { container } = render(
56
- <Input placeholder="Accessibility placeholder" testId="store-input" />
57
- )
58
-
59
- expect(await axe(container)).toHaveNoViolations()
60
- })
61
-
62
- it('should have no violations using id with explicit label', async () => {
63
- const { container } = render(
64
- <>
65
- <label htmlFor="input">My test label</label>
66
- <Input id="input" testId="store-input" />
67
- </>
68
- )
69
-
70
- expect(await axe(container)).toHaveNoViolations()
71
- })
72
- })
73
- })
@@ -1,71 +0,0 @@
1
- import { render } from '@testing-library/react'
2
- import { axe } from 'jest-axe'
3
- import React from 'react'
4
-
5
- import Label from '.'
6
-
7
- describe('Label', () => {
8
- it('`data-fs-label` is present', () => {
9
- const { getByTestId } = render(<Label />)
10
-
11
- expect(getByTestId('store-label')).toHaveAttribute('data-fs-label')
12
- })
13
-
14
- describe('Accessibility', () => {
15
- it('should have no violations', async () => {
16
- const { container } = render(<Label>Label</Label>)
17
-
18
- expect(await axe(container)).toHaveNoViolations()
19
- })
20
-
21
- it('should have no violations when using `for` attribute', async () => {
22
- const { container: inputContainer } = render(
23
- <>
24
- <Label htmlFor="input_newsletter">Subscribe to our newsletter</Label>
25
- <input id="input_newsletter" />
26
- </>
27
- )
28
-
29
- expect(await axe(inputContainer)).toHaveNoViolations()
30
-
31
- const { container: selectContainer } = render(
32
- <>
33
- <Label htmlFor="interest">Select your main interest</Label>
34
- <select id="interest">
35
- <option value="clothing">Clothing</option>
36
- <option value="electronics">Electronics</option>
37
- <option value="sale">Sale</option>
38
- </select>
39
- </>
40
- )
41
-
42
- expect(await axe(selectContainer)).toHaveNoViolations()
43
- })
44
-
45
- it('should have no violations when wrapping a control element and the labeling text', async () => {
46
- // Using input element
47
- const { container: inputContainer } = render(
48
- <Label>
49
- Subscribe to our newsletter
50
- <input />
51
- </Label>
52
- )
53
-
54
- expect(await axe(inputContainer)).toHaveNoViolations()
55
-
56
- // Using select element
57
- const { container: selectContainer } = render(
58
- <Label>
59
- Select your main interest
60
- <select id="interest">
61
- <option value="clothing">Clothing</option>
62
- <option value="electronics">Electronics</option>
63
- <option value="sale">Sale</option>
64
- </select>
65
- </Label>
66
- )
67
-
68
- expect(await axe(selectContainer)).toHaveNoViolations()
69
- })
70
- })
71
- })
@@ -1,22 +0,0 @@
1
- import type { LabelHTMLAttributes } from 'react'
2
- import React, { forwardRef } from 'react'
3
-
4
- export interface LabelProps extends LabelHTMLAttributes<HTMLLabelElement> {
5
- /**
6
- * ID to find this component in testing tools (e.g.: cypress, testing library, and jest).
7
- */
8
- testId?: string
9
- }
10
-
11
- const Label = forwardRef<HTMLLabelElement, LabelProps>(function Label(
12
- { testId = 'store-label', children, ...otherProps },
13
- ref
14
- ) {
15
- return (
16
- <label ref={ref} data-fs-label data-testid={testId} {...otherProps}>
17
- {children}
18
- </label>
19
- )
20
- })
21
-
22
- export default Label
@@ -1,2 +0,0 @@
1
- export { default } from './Label'
2
- export type { LabelProps } from './Label'
@@ -1,18 +0,0 @@
1
- import { Story, Canvas, ArgsTable } from '@storybook/addon-docs'
2
- import Label from '../Label'
3
-
4
- # Label
5
-
6
- <Canvas>
7
- <Story id="atoms-label--label" />
8
- </Canvas>
9
-
10
- ## Props
11
-
12
- <ArgsTable of={Label} />
13
-
14
- ## CSS Selectors
15
-
16
- ```css
17
- [data-fs-label] {}
18
- ```
@@ -1,30 +0,0 @@
1
- import type { Story } from '@storybook/react'
2
- import React from 'react'
3
-
4
- import type { ComponentArgTypes } from '../../../typings/utils'
5
- import type { LabelProps } from '../Label'
6
- import Component from '../Label'
7
- import mdx from './Label.mdx'
8
-
9
- const LabelTemplate: Story<LabelProps> = ({ children }) => (
10
- <Component>{children}</Component>
11
- )
12
-
13
- export const Label = LabelTemplate.bind({})
14
-
15
- const argTypes: ComponentArgTypes<LabelProps> = {
16
- children: {
17
- control: { type: 'text' },
18
- defaultValue: 'Label',
19
- },
20
- }
21
-
22
- export default {
23
- title: 'Atoms/Label',
24
- argTypes,
25
- parameters: {
26
- docs: {
27
- page: mdx,
28
- },
29
- },
30
- }