@faststore/ui 1.9.4 → 1.9.10

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 (434) hide show
  1. package/CHANGELOG.md +744 -2291
  2. package/README.md +2 -0
  3. package/dist/atoms/Badge/Badge.d.ts +11 -11
  4. package/dist/atoms/Badge/Badge.js +6 -0
  5. package/dist/atoms/Badge/Badge.js.map +1 -0
  6. package/dist/atoms/Badge/index.d.ts +2 -2
  7. package/dist/atoms/Badge/index.js +2 -0
  8. package/dist/atoms/Badge/index.js.map +1 -0
  9. package/dist/atoms/Button/Button.d.ts +10 -10
  10. package/dist/atoms/Button/Button.js +6 -0
  11. package/dist/atoms/Button/Button.js.map +1 -0
  12. package/dist/atoms/Button/index.d.ts +2 -2
  13. package/dist/atoms/Button/index.js +2 -0
  14. package/dist/atoms/Button/index.js.map +1 -0
  15. package/dist/atoms/Checkbox/Checkbox.d.ts +10 -10
  16. package/dist/atoms/Checkbox/Checkbox.js +6 -0
  17. package/dist/atoms/Checkbox/Checkbox.js.map +1 -0
  18. package/dist/atoms/Checkbox/index.d.ts +2 -2
  19. package/dist/atoms/Checkbox/index.js +2 -0
  20. package/dist/atoms/Checkbox/index.js.map +1 -0
  21. package/dist/atoms/Icon/Icon.d.ts +14 -14
  22. package/dist/atoms/Icon/Icon.js +6 -0
  23. package/dist/atoms/Icon/Icon.js.map +1 -0
  24. package/dist/atoms/Icon/index.d.ts +2 -2
  25. package/dist/atoms/Icon/index.js +2 -0
  26. package/dist/atoms/Icon/index.js.map +1 -0
  27. package/dist/atoms/Icon/stories/assets/ShoppingCart.d.ts +3 -3
  28. package/dist/atoms/Icon/stories/assets/ShoppingCart.js +8 -0
  29. package/dist/atoms/Icon/stories/assets/ShoppingCart.js.map +1 -0
  30. package/dist/atoms/Incentive/Incentive.d.ts +11 -11
  31. package/dist/atoms/Incentive/Incentive.js +6 -0
  32. package/dist/atoms/Incentive/Incentive.js.map +1 -0
  33. package/dist/atoms/Incentive/index.d.ts +2 -2
  34. package/dist/atoms/Incentive/index.js +2 -0
  35. package/dist/atoms/Incentive/index.js.map +1 -0
  36. package/dist/atoms/Incentive/stories/assets/Icons.d.ts +2 -2
  37. package/dist/atoms/Incentive/stories/assets/Icons.js +6 -0
  38. package/dist/atoms/Incentive/stories/assets/Icons.js.map +1 -0
  39. package/dist/atoms/Input/Input.d.ts +14 -14
  40. package/dist/atoms/Input/Input.js +10 -0
  41. package/dist/atoms/Input/Input.js.map +1 -0
  42. package/dist/atoms/Input/index.d.ts +2 -2
  43. package/dist/atoms/Input/index.js +2 -0
  44. package/dist/atoms/Input/index.js.map +1 -0
  45. package/dist/atoms/Label/Label.d.ts +10 -10
  46. package/dist/atoms/Label/Label.js +6 -0
  47. package/dist/atoms/Label/Label.js.map +1 -0
  48. package/dist/atoms/Label/index.d.ts +2 -2
  49. package/dist/atoms/Label/index.js +2 -0
  50. package/dist/atoms/Label/index.js.map +1 -0
  51. package/dist/atoms/Link/Link.d.ts +19 -19
  52. package/dist/atoms/Link/Link.js +13 -0
  53. package/dist/atoms/Link/Link.js.map +1 -0
  54. package/dist/atoms/Link/index.d.ts +2 -2
  55. package/dist/atoms/Link/index.js +2 -0
  56. package/dist/atoms/Link/index.js.map +1 -0
  57. package/dist/atoms/List/List.d.ts +12 -12
  58. package/dist/atoms/List/List.js +16 -0
  59. package/dist/atoms/List/List.js.map +1 -0
  60. package/dist/atoms/List/index.d.ts +2 -2
  61. package/dist/atoms/List/index.js +2 -0
  62. package/dist/atoms/List/index.js.map +1 -0
  63. package/dist/atoms/Overlay/Overlay.d.ts +10 -10
  64. package/dist/atoms/Overlay/Overlay.js +6 -0
  65. package/dist/atoms/Overlay/Overlay.js.map +1 -0
  66. package/dist/atoms/Overlay/index.d.ts +2 -2
  67. package/dist/atoms/Overlay/index.js +2 -0
  68. package/dist/atoms/Overlay/index.js.map +1 -0
  69. package/dist/atoms/Popover/Popover.d.ts +15 -15
  70. package/dist/atoms/Popover/Popover.js +7 -0
  71. package/dist/atoms/Popover/Popover.js.map +1 -0
  72. package/dist/atoms/Popover/index.d.ts +2 -2
  73. package/dist/atoms/Popover/index.js +2 -0
  74. package/dist/atoms/Popover/index.js.map +1 -0
  75. package/dist/atoms/Price/Price.d.ts +28 -28
  76. package/dist/atoms/Price/Price.js +7 -0
  77. package/dist/atoms/Price/Price.js.map +1 -0
  78. package/dist/atoms/Price/index.d.ts +2 -2
  79. package/dist/atoms/Price/index.js +2 -0
  80. package/dist/atoms/Price/index.js.map +1 -0
  81. package/dist/atoms/Radio/Radio.d.ts +7 -7
  82. package/dist/atoms/Radio/Radio.js +6 -0
  83. package/dist/atoms/Radio/Radio.js.map +1 -0
  84. package/dist/atoms/Radio/index.d.ts +2 -2
  85. package/dist/atoms/Radio/index.js +2 -0
  86. package/dist/atoms/Radio/index.js.map +1 -0
  87. package/dist/atoms/Select/Select.d.ts +10 -10
  88. package/dist/atoms/Select/Select.js +6 -0
  89. package/dist/atoms/Select/Select.js.map +1 -0
  90. package/dist/atoms/Select/index.d.ts +2 -2
  91. package/dist/atoms/Select/index.js +2 -0
  92. package/dist/atoms/Select/index.js.map +1 -0
  93. package/dist/atoms/Skeleton/Skeleton.d.ts +10 -10
  94. package/dist/atoms/Skeleton/Skeleton.js +6 -0
  95. package/dist/atoms/Skeleton/Skeleton.js.map +1 -0
  96. package/dist/atoms/Skeleton/index.d.ts +2 -2
  97. package/dist/atoms/Skeleton/index.js +2 -0
  98. package/dist/atoms/Skeleton/index.js.map +1 -0
  99. package/dist/atoms/Slider/Slider.d.ts +37 -37
  100. package/dist/atoms/Slider/Slider.js +46 -0
  101. package/dist/atoms/Slider/Slider.js.map +1 -0
  102. package/dist/atoms/Slider/index.d.ts +2 -2
  103. package/dist/atoms/Slider/index.js +2 -0
  104. package/dist/atoms/Slider/index.js.map +1 -0
  105. package/dist/atoms/Spinner/Spinner.d.ts +11 -11
  106. package/dist/atoms/Spinner/Spinner.js +6 -0
  107. package/dist/atoms/Spinner/Spinner.js.map +1 -0
  108. package/dist/atoms/Spinner/index.d.ts +2 -2
  109. package/dist/atoms/Spinner/index.js +2 -0
  110. package/dist/atoms/Spinner/index.js.map +1 -0
  111. package/dist/atoms/TextArea/TextArea.d.ts +14 -14
  112. package/dist/atoms/TextArea/TextArea.js +10 -0
  113. package/dist/atoms/TextArea/TextArea.js.map +1 -0
  114. package/dist/atoms/TextArea/index.d.ts +2 -2
  115. package/dist/atoms/TextArea/index.js +2 -0
  116. package/dist/atoms/TextArea/index.js.map +1 -0
  117. package/dist/hooks/useSlider/index.d.ts +2 -2
  118. package/dist/hooks/useSlider/index.js +3 -0
  119. package/dist/hooks/useSlider/index.js.map +1 -0
  120. package/dist/hooks/useSlider/useSlider.d.ts +62 -62
  121. package/dist/hooks/useSlider/useSlider.js +108 -0
  122. package/dist/hooks/useSlider/useSlider.js.map +1 -0
  123. package/dist/index.d.ts +80 -80
  124. package/dist/index.js +45 -8
  125. package/dist/index.js.map +1 -0
  126. package/dist/molecules/Accordion/Accordion.d.ts +26 -26
  127. package/dist/molecules/Accordion/Accordion.js +21 -0
  128. package/dist/molecules/Accordion/Accordion.js.map +1 -0
  129. package/dist/molecules/Accordion/AccordionButton.d.ts +10 -10
  130. package/dist/molecules/Accordion/AccordionButton.js +37 -0
  131. package/dist/molecules/Accordion/AccordionButton.js.map +1 -0
  132. package/dist/molecules/Accordion/AccordionItem.d.ts +28 -28
  133. package/dist/molecules/Accordion/AccordionItem.js +21 -0
  134. package/dist/molecules/Accordion/AccordionItem.js.map +1 -0
  135. package/dist/molecules/Accordion/AccordionPanel.d.ts +10 -10
  136. package/dist/molecules/Accordion/AccordionPanel.js +10 -0
  137. package/dist/molecules/Accordion/AccordionPanel.js.map +1 -0
  138. package/dist/molecules/Accordion/index.d.ts +8 -8
  139. package/dist/molecules/Accordion/index.js +5 -0
  140. package/dist/molecules/Accordion/index.js.map +1 -0
  141. package/dist/molecules/AggregateRating/AggregateRating.d.ts +18 -18
  142. package/dist/molecules/AggregateRating/AggregateRating.js +26 -0
  143. package/dist/molecules/AggregateRating/AggregateRating.js.map +1 -0
  144. package/dist/molecules/AggregateRating/index.d.ts +2 -2
  145. package/dist/molecules/AggregateRating/index.js +2 -0
  146. package/dist/molecules/AggregateRating/index.js.map +1 -0
  147. package/dist/molecules/Alert/Alert.d.ts +11 -11
  148. package/dist/molecules/Alert/Alert.js +6 -0
  149. package/dist/molecules/Alert/Alert.js.map +1 -0
  150. package/dist/molecules/Alert/index.d.ts +2 -2
  151. package/dist/molecules/Alert/index.js +2 -0
  152. package/dist/molecules/Alert/index.js.map +1 -0
  153. package/dist/molecules/Banner/Banner.d.ts +14 -14
  154. package/dist/molecules/Banner/Banner.js +6 -0
  155. package/dist/molecules/Banner/Banner.js.map +1 -0
  156. package/dist/molecules/Banner/BannerContent.d.ts +10 -10
  157. package/dist/molecules/Banner/BannerContent.js +6 -0
  158. package/dist/molecules/Banner/BannerContent.js.map +1 -0
  159. package/dist/molecules/Banner/BannerImage.d.ts +10 -10
  160. package/dist/molecules/Banner/BannerImage.js +6 -0
  161. package/dist/molecules/Banner/BannerImage.js.map +1 -0
  162. package/dist/molecules/Banner/BannerLink.d.ts +10 -10
  163. package/dist/molecules/Banner/BannerLink.js +6 -0
  164. package/dist/molecules/Banner/BannerLink.js.map +1 -0
  165. package/dist/molecules/Banner/index.d.ts +8 -8
  166. package/dist/molecules/Banner/index.js +5 -0
  167. package/dist/molecules/Banner/index.js.map +1 -0
  168. package/dist/molecules/Breadcrumb/Breadcrumb.d.ts +14 -14
  169. package/dist/molecules/Breadcrumb/Breadcrumb.js +38 -0
  170. package/dist/molecules/Breadcrumb/Breadcrumb.js.map +1 -0
  171. package/dist/molecules/Breadcrumb/index.d.ts +2 -2
  172. package/dist/molecules/Breadcrumb/index.js +2 -0
  173. package/dist/molecules/Breadcrumb/index.js.map +1 -0
  174. package/dist/molecules/Bullets/Bullets.d.ts +35 -35
  175. package/dist/molecules/Bullets/Bullets.js +12 -0
  176. package/dist/molecules/Bullets/Bullets.js.map +1 -0
  177. package/dist/molecules/Bullets/index.d.ts +2 -2
  178. package/dist/molecules/Bullets/index.js +2 -0
  179. package/dist/molecules/Bullets/index.js.map +1 -0
  180. package/dist/molecules/Card/Card.d.ts +10 -10
  181. package/dist/molecules/Card/Card.js +6 -0
  182. package/dist/molecules/Card/Card.js.map +1 -0
  183. package/dist/molecules/Card/CardActions.d.ts +10 -10
  184. package/dist/molecules/Card/CardActions.js +6 -0
  185. package/dist/molecules/Card/CardActions.js.map +1 -0
  186. package/dist/molecules/Card/CardContent.d.ts +10 -10
  187. package/dist/molecules/Card/CardContent.js +6 -0
  188. package/dist/molecules/Card/CardContent.js.map +1 -0
  189. package/dist/molecules/Card/CardImage.d.ts +10 -10
  190. package/dist/molecules/Card/CardImage.js +6 -0
  191. package/dist/molecules/Card/CardImage.js.map +1 -0
  192. package/dist/molecules/Card/index.d.ts +8 -8
  193. package/dist/molecules/Card/index.js +5 -0
  194. package/dist/molecules/Card/index.js.map +1 -0
  195. package/dist/molecules/Carousel/Arrows.d.ts +12 -12
  196. package/dist/molecules/Carousel/Arrows.js +6 -0
  197. package/dist/molecules/Carousel/Arrows.js.map +1 -0
  198. package/dist/molecules/Carousel/Carousel.d.ts +16 -16
  199. package/dist/molecules/Carousel/Carousel.js +124 -0
  200. package/dist/molecules/Carousel/Carousel.js.map +1 -0
  201. package/dist/molecules/Carousel/hooks/useSlideVisibility.d.ts +9 -9
  202. package/dist/molecules/Carousel/hooks/useSlideVisibility.js +29 -0
  203. package/dist/molecules/Carousel/hooks/useSlideVisibility.js.map +1 -0
  204. package/dist/molecules/Carousel/index.d.ts +2 -2
  205. package/dist/molecules/Carousel/index.js +3 -0
  206. package/dist/molecules/Carousel/index.js.map +1 -0
  207. package/dist/molecules/Dropdown/Dropdown.d.ts +9 -9
  208. package/dist/molecules/Dropdown/Dropdown.js +67 -0
  209. package/dist/molecules/Dropdown/Dropdown.js.map +1 -0
  210. package/dist/molecules/Dropdown/DropdownButton.d.ts +10 -10
  211. package/dist/molecules/Dropdown/DropdownButton.js +11 -0
  212. package/dist/molecules/Dropdown/DropdownButton.js.map +1 -0
  213. package/dist/molecules/Dropdown/DropdownItem.d.ts +10 -10
  214. package/dist/molecules/Dropdown/DropdownItem.js +26 -0
  215. package/dist/molecules/Dropdown/DropdownItem.js.map +1 -0
  216. package/dist/molecules/Dropdown/DropdownMenu.d.ts +22 -22
  217. package/dist/molecules/Dropdown/DropdownMenu.js +65 -0
  218. package/dist/molecules/Dropdown/DropdownMenu.js.map +1 -0
  219. package/dist/molecules/Dropdown/contexts/DropdownContext.d.ts +41 -41
  220. package/dist/molecules/Dropdown/contexts/DropdownContext.js +11 -0
  221. package/dist/molecules/Dropdown/contexts/DropdownContext.js.map +1 -0
  222. package/dist/molecules/Dropdown/hooks/useDropdown.d.ts +6 -6
  223. package/dist/molecules/Dropdown/hooks/useDropdown.js +14 -0
  224. package/dist/molecules/Dropdown/hooks/useDropdown.js.map +1 -0
  225. package/dist/molecules/Dropdown/hooks/useDropdownPosition.d.ts +8 -8
  226. package/dist/molecules/Dropdown/hooks/useDropdownPosition.js +25 -0
  227. package/dist/molecules/Dropdown/hooks/useDropdownPosition.js.map +1 -0
  228. package/dist/molecules/Dropdown/index.d.ts +8 -8
  229. package/dist/molecules/Dropdown/index.js +5 -0
  230. package/dist/molecules/Dropdown/index.js.map +1 -0
  231. package/dist/molecules/Dropdown/stories/assets/Caret.d.ts +2 -2
  232. package/dist/molecules/Dropdown/stories/assets/Caret.js +4 -0
  233. package/dist/molecules/Dropdown/stories/assets/Caret.js.map +1 -0
  234. package/dist/molecules/Form/Form.d.ts +11 -11
  235. package/dist/molecules/Form/Form.js +6 -0
  236. package/dist/molecules/Form/Form.js.map +1 -0
  237. package/dist/molecules/Form/index.d.ts +2 -2
  238. package/dist/molecules/Form/index.js +2 -0
  239. package/dist/molecules/Form/index.js.map +1 -0
  240. package/dist/molecules/IconButton/IconButton.d.ts +19 -19
  241. package/dist/molecules/IconButton/IconButton.js +9 -0
  242. package/dist/molecules/IconButton/IconButton.js.map +1 -0
  243. package/dist/molecules/IconButton/index.d.ts +2 -2
  244. package/dist/molecules/IconButton/index.js +2 -0
  245. package/dist/molecules/IconButton/index.js.map +1 -0
  246. package/dist/molecules/LoadingButton/LoadingButton.d.ts +14 -14
  247. package/dist/molecules/LoadingButton/LoadingButton.js +8 -0
  248. package/dist/molecules/LoadingButton/LoadingButton.js.map +1 -0
  249. package/dist/molecules/LoadingButton/index.d.ts +2 -2
  250. package/dist/molecules/LoadingButton/index.js +2 -0
  251. package/dist/molecules/LoadingButton/index.js.map +1 -0
  252. package/dist/molecules/Modal/Modal.d.ts +25 -25
  253. package/dist/molecules/Modal/Modal.js +31 -0
  254. package/dist/molecules/Modal/Modal.js.map +1 -0
  255. package/dist/molecules/Modal/ModalContent.d.ts +10 -10
  256. package/dist/molecules/Modal/ModalContent.js +23 -0
  257. package/dist/molecules/Modal/ModalContent.js.map +1 -0
  258. package/dist/molecules/Modal/index.d.ts +2 -2
  259. package/dist/molecules/Modal/index.js +2 -0
  260. package/dist/molecules/Modal/index.js.map +1 -0
  261. package/dist/molecules/Modal/useTrapFocus.d.ts +8 -8
  262. package/dist/molecules/Modal/useTrapFocus.js +76 -0
  263. package/dist/molecules/Modal/useTrapFocus.js.map +1 -0
  264. package/dist/molecules/PaymentMethods/PaymentMethods.d.ts +26 -26
  265. package/dist/molecules/PaymentMethods/PaymentMethods.js +8 -0
  266. package/dist/molecules/PaymentMethods/PaymentMethods.js.map +1 -0
  267. package/dist/molecules/PaymentMethods/index.d.ts +2 -2
  268. package/dist/molecules/PaymentMethods/index.js +2 -0
  269. package/dist/molecules/PaymentMethods/index.js.map +1 -0
  270. package/dist/molecules/PaymentMethods/stories/assets/Icons.d.ts +9 -9
  271. package/dist/molecules/PaymentMethods/stories/assets/Icons.js +26 -0
  272. package/dist/molecules/PaymentMethods/stories/assets/Icons.js.map +1 -0
  273. package/dist/molecules/PriceRange/PriceRange.d.ts +23 -23
  274. package/dist/molecules/PriceRange/PriceRange.js +23 -0
  275. package/dist/molecules/PriceRange/PriceRange.js.map +1 -0
  276. package/dist/molecules/PriceRange/index.d.ts +2 -2
  277. package/dist/molecules/PriceRange/index.js +2 -0
  278. package/dist/molecules/PriceRange/index.js.map +1 -0
  279. package/dist/molecules/ProductCard/ProductCard.d.ts +11 -11
  280. package/dist/molecules/ProductCard/ProductCard.js +6 -0
  281. package/dist/molecules/ProductCard/ProductCard.js.map +1 -0
  282. package/dist/molecules/ProductCard/ProductCardActions.d.ts +10 -10
  283. package/dist/molecules/ProductCard/ProductCardActions.js +6 -0
  284. package/dist/molecules/ProductCard/ProductCardActions.js.map +1 -0
  285. package/dist/molecules/ProductCard/ProductCardContent.d.ts +10 -10
  286. package/dist/molecules/ProductCard/ProductCardContent.js +6 -0
  287. package/dist/molecules/ProductCard/ProductCardContent.js.map +1 -0
  288. package/dist/molecules/ProductCard/ProductCardImage.d.ts +10 -10
  289. package/dist/molecules/ProductCard/ProductCardImage.js +6 -0
  290. package/dist/molecules/ProductCard/ProductCardImage.js.map +1 -0
  291. package/dist/molecules/ProductCard/index.d.ts +8 -8
  292. package/dist/molecules/ProductCard/index.js +5 -0
  293. package/dist/molecules/ProductCard/index.js.map +1 -0
  294. package/dist/molecules/QuantitySelector/QuantitySelector.d.ts +30 -30
  295. package/dist/molecules/QuantitySelector/QuantitySelector.js +11 -0
  296. package/dist/molecules/QuantitySelector/QuantitySelector.js.map +1 -0
  297. package/dist/molecules/QuantitySelector/index.d.ts +2 -2
  298. package/dist/molecules/QuantitySelector/index.js +2 -0
  299. package/dist/molecules/QuantitySelector/index.js.map +1 -0
  300. package/dist/molecules/QuantitySelector/stories/assets/Icons.d.ts +7 -7
  301. package/dist/molecules/QuantitySelector/stories/assets/Icons.js +11 -0
  302. package/dist/molecules/QuantitySelector/stories/assets/Icons.js.map +1 -0
  303. package/dist/molecules/RadioGroup/RadioGroup.d.ts +5 -5
  304. package/dist/molecules/RadioGroup/RadioGroup.js +10 -0
  305. package/dist/molecules/RadioGroup/RadioGroup.js.map +1 -0
  306. package/dist/molecules/RadioGroup/RadioOption.d.ts +19 -19
  307. package/dist/molecules/RadioGroup/RadioOption.js +11 -0
  308. package/dist/molecules/RadioGroup/RadioOption.js.map +1 -0
  309. package/dist/molecules/RadioGroup/index.d.ts +4 -4
  310. package/dist/molecules/RadioGroup/index.js +3 -0
  311. package/dist/molecules/RadioGroup/index.js.map +1 -0
  312. package/dist/molecules/RadioGroup/useRadioGroup.d.ts +17 -17
  313. package/dist/molecules/RadioGroup/useRadioGroup.js +10 -0
  314. package/dist/molecules/RadioGroup/useRadioGroup.js.map +1 -0
  315. package/dist/molecules/SearchInput/SearchInput.d.ts +28 -28
  316. package/dist/molecules/SearchInput/SearchInput.js +28 -0
  317. package/dist/molecules/SearchInput/SearchInput.js.map +1 -0
  318. package/dist/molecules/SearchInput/index.d.ts +2 -2
  319. package/dist/molecules/SearchInput/index.js +2 -0
  320. package/dist/molecules/SearchInput/index.js.map +1 -0
  321. package/dist/molecules/SearchInput/stories/assets/CustomIcon.d.ts +3 -3
  322. package/dist/molecules/SearchInput/stories/assets/CustomIcon.js +7 -0
  323. package/dist/molecules/SearchInput/stories/assets/CustomIcon.js.map +1 -0
  324. package/dist/molecules/Table/Table.d.ts +11 -11
  325. package/dist/molecules/Table/Table.js +6 -0
  326. package/dist/molecules/Table/Table.js.map +1 -0
  327. package/dist/molecules/Table/TableBody.d.ts +11 -11
  328. package/dist/molecules/Table/TableBody.js +6 -0
  329. package/dist/molecules/Table/TableBody.js.map +1 -0
  330. package/dist/molecules/Table/TableCell.d.ts +20 -20
  331. package/dist/molecules/Table/TableCell.js +7 -0
  332. package/dist/molecules/Table/TableCell.js.map +1 -0
  333. package/dist/molecules/Table/TableFooter.d.ts +11 -11
  334. package/dist/molecules/Table/TableFooter.js +6 -0
  335. package/dist/molecules/Table/TableFooter.js.map +1 -0
  336. package/dist/molecules/Table/TableHead.d.ts +11 -11
  337. package/dist/molecules/Table/TableHead.js +6 -0
  338. package/dist/molecules/Table/TableHead.js.map +1 -0
  339. package/dist/molecules/Table/TableRow.d.ts +11 -11
  340. package/dist/molecules/Table/TableRow.js +6 -0
  341. package/dist/molecules/Table/TableRow.js.map +1 -0
  342. package/dist/molecules/Table/index.d.ts +12 -12
  343. package/dist/molecules/Table/index.js +7 -0
  344. package/dist/molecules/Table/index.js.map +1 -0
  345. package/dist/organisms/Hero/Hero.d.ts +11 -11
  346. package/dist/organisms/Hero/Hero.js +6 -0
  347. package/dist/organisms/Hero/Hero.js.map +1 -0
  348. package/dist/organisms/Hero/HeroHeading.d.ts +10 -10
  349. package/dist/organisms/Hero/HeroHeading.js +6 -0
  350. package/dist/organisms/Hero/HeroHeading.js.map +1 -0
  351. package/dist/organisms/Hero/HeroImage.d.ts +10 -10
  352. package/dist/organisms/Hero/HeroImage.js +6 -0
  353. package/dist/organisms/Hero/HeroImage.js.map +1 -0
  354. package/dist/organisms/Hero/index.d.ts +6 -6
  355. package/dist/organisms/Hero/index.js +4 -0
  356. package/dist/organisms/Hero/index.js.map +1 -0
  357. package/dist/organisms/OutOfStock/OutOfStock.d.ts +21 -21
  358. package/dist/organisms/OutOfStock/OutOfStock.js +8 -0
  359. package/dist/organisms/OutOfStock/OutOfStock.js.map +1 -0
  360. package/dist/organisms/OutOfStock/OutOfStockMessage.d.ts +9 -9
  361. package/dist/organisms/OutOfStock/OutOfStockMessage.js +5 -0
  362. package/dist/organisms/OutOfStock/OutOfStockMessage.js.map +1 -0
  363. package/dist/organisms/OutOfStock/OutOfStockTitle.d.ts +9 -9
  364. package/dist/organisms/OutOfStock/OutOfStockTitle.js +5 -0
  365. package/dist/organisms/OutOfStock/OutOfStockTitle.js.map +1 -0
  366. package/dist/organisms/OutOfStock/index.d.ts +6 -6
  367. package/dist/organisms/OutOfStock/index.js +4 -0
  368. package/dist/organisms/OutOfStock/index.js.map +1 -0
  369. package/dist/setupTests.d.ts +1 -1
  370. package/dist/setupTests.js +6 -0
  371. package/dist/setupTests.js.map +1 -0
  372. package/dist/typings/PolymorphicGenerics.d.ts +28 -28
  373. package/dist/typings/PolymorphicGenerics.js +8 -0
  374. package/dist/typings/PolymorphicGenerics.js.map +1 -0
  375. package/dist/typings/index.d.ts +1 -1
  376. package/dist/typings/index.js +2 -0
  377. package/dist/typings/index.js.map +1 -0
  378. package/dist/utils/toHaveNoIncomplete.d.ts +17 -17
  379. package/dist/utils/toHaveNoIncomplete.js +43 -0
  380. package/dist/utils/toHaveNoIncomplete.js.map +1 -0
  381. package/package.json +9 -13
  382. package/src/molecules/Accordion/Accordion.test.tsx +3 -3
  383. package/src/molecules/AggregateRating/stories/AggregateRating.stories.tsx +2 -3
  384. package/src/molecules/Bullets/Bullets.test.tsx +6 -6
  385. package/src/molecules/Bullets/Bullets.tsx +4 -3
  386. package/src/molecules/Dropdown/DropdownItem.tsx +2 -5
  387. package/src/molecules/Dropdown/DropdownMenu.tsx +2 -7
  388. package/src/molecules/Modal/ModalContent.tsx +0 -1
  389. package/src/typings/PolymorphicGenerics.ts +2 -3
  390. package/dist/atoms/Badge/stories/Badge.stories.d.ts +0 -17
  391. package/dist/atoms/Button/stories/Button.stories.d.ts +0 -14
  392. package/dist/atoms/Checkbox/stories/Checkbox.stories.d.ts +0 -4
  393. package/dist/atoms/Icon/stories/Icon.stories.d.ts +0 -14
  394. package/dist/atoms/Incentive/stories/Incentive.stories.d.ts +0 -4
  395. package/dist/atoms/Input/stories/Input.stories.d.ts +0 -14
  396. package/dist/atoms/Label/stories/Label.stories.d.ts +0 -14
  397. package/dist/atoms/List/stories/List.stories.d.ts +0 -22
  398. package/dist/atoms/Overlay/stories/Overlay.stories.d.ts +0 -8
  399. package/dist/atoms/Popover/stories/Popover.stories.d.ts +0 -14
  400. package/dist/atoms/Price/stories/Price.stories.d.ts +0 -18
  401. package/dist/atoms/Radio/stories/Radio.stories.d.ts +0 -4
  402. package/dist/atoms/Select/stories/Select.stories.d.ts +0 -20
  403. package/dist/atoms/Skeleton/stories/Skeleton.stories.d.ts +0 -12
  404. package/dist/atoms/Slider/stories/Slider.stories.d.ts +0 -4
  405. package/dist/atoms/Spinner/stories/Spinner.stories.d.ts +0 -12
  406. package/dist/atoms/TextArea/stories/TextArea.stories.d.ts +0 -4
  407. package/dist/molecules/Accordion/stories/Accordion.stories.d.ts +0 -14
  408. package/dist/molecules/AggregateRating/stories/AggregateRating.stories.d.ts +0 -16
  409. package/dist/molecules/Alert/stories/Alert.stories.d.ts +0 -5
  410. package/dist/molecules/Banner/stories/Banner.stories.d.ts +0 -4
  411. package/dist/molecules/Breadcrumb/stories/Breadcrumb.stories.d.ts +0 -15
  412. package/dist/molecules/Bullets/stories/Bullets.stories.d.ts +0 -15
  413. package/dist/molecules/Card/stories/Card.stories.d.ts +0 -4
  414. package/dist/molecules/Carousel/stories/Carousel.stories.d.ts +0 -18
  415. package/dist/molecules/Dropdown/stories/Dropdown.stories.d.ts +0 -7
  416. package/dist/molecules/Form/stories/Form.stories.d.ts +0 -12
  417. package/dist/molecules/IconButton/stories/IconButton.stories.d.ts +0 -5
  418. package/dist/molecules/LoadingButton/stories/LoadingButton.stories.d.ts +0 -14
  419. package/dist/molecules/Modal/stories/Modal.stories.d.ts +0 -5
  420. package/dist/molecules/PaymentMethods/stories/PaymentMethods.stories.d.ts +0 -4
  421. package/dist/molecules/PriceRange/stories/PriceRange.stories.d.ts +0 -4
  422. package/dist/molecules/ProductCard/stories/ProductCard.stories.d.ts +0 -4
  423. package/dist/molecules/QuantitySelector/stories/QuantitySelector.stories.d.ts +0 -5
  424. package/dist/molecules/RadioGroup/stories/RadioGroup.stories.d.ts +0 -15
  425. package/dist/molecules/SearchInput/stories/SearchInput.stories.d.ts +0 -15
  426. package/dist/molecules/Table/stories/Table.stories.d.ts +0 -12
  427. package/dist/organisms/Hero/stories/Hero.stories.d.ts +0 -4
  428. package/dist/organisms/OutOfStock/stories/OutOfStock.stories.d.ts +0 -10
  429. package/dist/ui.cjs.development.js +0 -2109
  430. package/dist/ui.cjs.development.js.map +0 -1
  431. package/dist/ui.cjs.production.min.js +0 -2
  432. package/dist/ui.cjs.production.min.js.map +0 -1
  433. package/dist/ui.esm.js +0 -2037
  434. package/dist/ui.esm.js.map +0 -1
@@ -0,0 +1,67 @@
1
+ import React, { useRef, useMemo, useState, useEffect, useCallback } from 'react';
2
+ import DropdownContext from './contexts/DropdownContext';
3
+ const Dropdown = ({ children, isOpen: isOpenDefault = false, onDismiss, id = 'store-dropdown', }) => {
4
+ const [isOpen, setIsOpen] = useState(isOpenDefault);
5
+ const dropdownItemsRef = useRef([]);
6
+ const selectedDropdownItemIndexRef = useRef(0);
7
+ const dropdownButtonRef = useRef(null);
8
+ const close = useCallback(() => {
9
+ setIsOpen(false);
10
+ onDismiss?.();
11
+ dropdownButtonRef.current?.focus();
12
+ }, [onDismiss]);
13
+ const open = () => {
14
+ setIsOpen(true);
15
+ };
16
+ const toggle = useCallback(() => {
17
+ setIsOpen((old) => {
18
+ if (old) {
19
+ onDismiss?.();
20
+ dropdownButtonRef.current?.focus();
21
+ }
22
+ return !old;
23
+ });
24
+ }, [onDismiss]);
25
+ useEffect(() => {
26
+ setIsOpen(isOpenDefault);
27
+ }, [isOpenDefault]);
28
+ useEffect(() => {
29
+ isOpen && dropdownItemsRef?.current[0]?.focus();
30
+ }, [isOpen]);
31
+ useEffect(() => {
32
+ let firstClick = true;
33
+ const event = (e) => {
34
+ const someItemWasClicked = dropdownItemsRef?.current.some((item) => e.target === item);
35
+ if (firstClick) {
36
+ firstClick = false;
37
+ return;
38
+ }
39
+ !someItemWasClicked && close();
40
+ };
41
+ if (isOpen) {
42
+ document.addEventListener('click', event);
43
+ }
44
+ else {
45
+ document.removeEventListener('click', event);
46
+ }
47
+ return () => {
48
+ document.removeEventListener('click', event);
49
+ };
50
+ }, [close, isOpen]);
51
+ const value = useMemo(() => {
52
+ return {
53
+ isOpen,
54
+ close,
55
+ open,
56
+ toggle,
57
+ dropdownButtonRef,
58
+ onDismiss,
59
+ selectedDropdownItemIndexRef,
60
+ dropdownItemsRef,
61
+ id,
62
+ };
63
+ }, [close, id, isOpen, onDismiss, toggle]);
64
+ return (React.createElement(DropdownContext.Provider, { value: value }, children));
65
+ };
66
+ export default Dropdown;
67
+ //# sourceMappingURL=Dropdown.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Dropdown.js","sourceRoot":"","sources":["../../../src/molecules/Dropdown/Dropdown.tsx"],"names":[],"mappings":"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"}
@@ -1,10 +1,10 @@
1
- import type { ButtonHTMLAttributes } from 'react';
2
- import React from 'react';
3
- export interface DropdownButtonProps extends ButtonHTMLAttributes<HTMLButtonElement> {
4
- /**
5
- * ID to find this component in testing tools (e.g.: cypress, testing library, and jest).
6
- */
7
- testId?: string;
8
- }
9
- declare const DropdownButton: React.ForwardRefExoticComponent<DropdownButtonProps & React.RefAttributes<HTMLButtonElement>>;
10
- export default DropdownButton;
1
+ import type { ButtonHTMLAttributes } from 'react';
2
+ import React from 'react';
3
+ export interface DropdownButtonProps extends ButtonHTMLAttributes<HTMLButtonElement> {
4
+ /**
5
+ * ID to find this component in testing tools (e.g.: cypress, testing library, and jest).
6
+ */
7
+ testId?: string;
8
+ }
9
+ declare const DropdownButton: React.ForwardRefExoticComponent<DropdownButtonProps & React.RefAttributes<HTMLButtonElement>>;
10
+ export default DropdownButton;
@@ -0,0 +1,11 @@
1
+ import React, { forwardRef, useImperativeHandle } from 'react';
2
+ import { useDropdown } from './hooks/useDropdown';
3
+ const DropdownButton = forwardRef(function Button({ children, testId = 'store-dropdown-button', ...otherProps }, ref) {
4
+ const { toggle, dropdownButtonRef, isOpen, id } = useDropdown();
5
+ useImperativeHandle(ref, () => dropdownButtonRef.current, [
6
+ dropdownButtonRef,
7
+ ]);
8
+ return (React.createElement("button", Object.assign({ "data-store-dropdown-button": true, onClick: toggle, "data-testid": testId, ref: dropdownButtonRef, "aria-expanded": isOpen, "aria-haspopup": "menu", "aria-controls": id }, otherProps), children));
9
+ });
10
+ export default DropdownButton;
11
+ //# sourceMappingURL=DropdownButton.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"DropdownButton.js","sourceRoot":"","sources":["../../../src/molecules/Dropdown/DropdownButton.tsx"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,EAAE,UAAU,EAAE,mBAAmB,EAAE,MAAM,OAAO,CAAA;AAE9D,OAAO,EAAE,WAAW,EAAE,MAAM,qBAAqB,CAAA;AAUjD,MAAM,cAAc,GAAG,UAAU,CAC/B,SAAS,MAAM,CACb,EAAE,QAAQ,EAAE,MAAM,GAAG,uBAAuB,EAAE,GAAG,UAAU,EAAE,EAC7D,GAAG;IAEH,MAAM,EAAE,MAAM,EAAE,iBAAiB,EAAE,MAAM,EAAE,EAAE,EAAE,GAAG,WAAW,EAAE,CAAA;IAE/D,mBAAmB,CAAC,GAAG,EAAE,GAAG,EAAE,CAAC,iBAAkB,CAAC,OAAQ,EAAE;QAC1D,iBAAiB;KAClB,CAAC,CAAA;IAEF,OAAO,CACL,kFAEE,OAAO,EAAE,MAAM,iBACF,MAAM,EACnB,GAAG,EAAE,iBAAiB,mBACP,MAAM,mBACP,MAAM,mBACL,EAAE,IACb,UAAU,GAEb,QAAQ,CACF,CACV,CAAA;AACH,CAAC,CACF,CAAA;AAED,eAAe,cAAc,CAAA"}
@@ -1,10 +1,10 @@
1
- import type { ButtonHTMLAttributes } from 'react';
2
- import React from 'react';
3
- export interface DropdownItemProps extends ButtonHTMLAttributes<HTMLButtonElement> {
4
- /**
5
- * ID to find this component in testing tools (e.g.: cypress, testing library, and jest).
6
- */
7
- testId?: string;
8
- }
9
- declare const DropdownItem: React.ForwardRefExoticComponent<DropdownItemProps & React.RefAttributes<HTMLButtonElement>>;
10
- export default DropdownItem;
1
+ import type { ButtonHTMLAttributes } from 'react';
2
+ import React from 'react';
3
+ export interface DropdownItemProps extends ButtonHTMLAttributes<HTMLButtonElement> {
4
+ /**
5
+ * ID to find this component in testing tools (e.g.: cypress, testing library, and jest).
6
+ */
7
+ testId?: string;
8
+ }
9
+ declare const DropdownItem: React.ForwardRefExoticComponent<DropdownItemProps & React.RefAttributes<HTMLButtonElement>>;
10
+ export default DropdownItem;
@@ -0,0 +1,26 @@
1
+ import React, { useImperativeHandle, forwardRef, useRef, useState } from 'react';
2
+ import { useDropdown } from './hooks/useDropdown';
3
+ const DropdownItem = forwardRef(function Button({ children, onClick, testId = 'store-dropdown-item', ...otherProps }, ref) {
4
+ const { dropdownItemsRef, selectedDropdownItemIndexRef, close } = useDropdown();
5
+ const [dropdownItemIndex, setDropdownItemIndex] = useState(0);
6
+ const dropdownItemRef = useRef();
7
+ const addToRefs = (el) => {
8
+ if (el && !dropdownItemsRef?.current.includes(el)) {
9
+ dropdownItemsRef?.current.push(el);
10
+ setDropdownItemIndex(dropdownItemsRef?.current.findIndex((element) => element === el) ?? 0);
11
+ }
12
+ dropdownItemRef.current = el;
13
+ };
14
+ const onFocusItem = () => {
15
+ selectedDropdownItemIndexRef.current = dropdownItemIndex;
16
+ dropdownItemsRef?.current[selectedDropdownItemIndexRef.current]?.focus();
17
+ };
18
+ const handleOnClickItem = (event) => {
19
+ onClick?.(event);
20
+ close?.();
21
+ };
22
+ useImperativeHandle(ref, () => dropdownItemRef.current, []);
23
+ return (React.createElement("button", Object.assign({ "data-store-dropdown-item": true, "data-testid": testId, ref: addToRefs, onFocus: onFocusItem, onMouseEnter: onFocusItem, onClick: handleOnClickItem, role: "menuitem", tabIndex: -1, "data-index": dropdownItemIndex }, otherProps), children));
24
+ });
25
+ export default DropdownItem;
26
+ //# sourceMappingURL=DropdownItem.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"DropdownItem.js","sourceRoot":"","sources":["../../../src/molecules/Dropdown/DropdownItem.tsx"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,EAAE,mBAAmB,EAAE,UAAU,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,OAAO,CAAA;AAEhF,OAAO,EAAE,WAAW,EAAE,MAAM,qBAAqB,CAAA;AAUjD,MAAM,YAAY,GAAG,UAAU,CAC7B,SAAS,MAAM,CACb,EAAE,QAAQ,EAAE,OAAO,EAAE,MAAM,GAAG,qBAAqB,EAAE,GAAG,UAAU,EAAE,EACpE,GAAG;IAEH,MAAM,EAAE,gBAAgB,EAAE,4BAA4B,EAAE,KAAK,EAAE,GAC7D,WAAW,EAAE,CAAA;IAEf,MAAM,CAAC,iBAAiB,EAAE,oBAAoB,CAAC,GAAG,QAAQ,CAAC,CAAC,CAAC,CAAA;IAC7D,MAAM,eAAe,GAAG,MAAM,EAAqB,CAAA;IAEnD,MAAM,SAAS,GAAG,CAAC,EAAqB,EAAE,EAAE;QAC1C,IAAI,EAAE,IAAI,CAAC,gBAAgB,EAAE,OAAO,CAAC,QAAQ,CAAC,EAAE,CAAC,EAAE;YACjD,gBAAgB,EAAE,OAAO,CAAC,IAAI,CAAC,EAAE,CAAC,CAAA;YAClC,oBAAoB,CAClB,gBAAgB,EAAE,OAAO,CAAC,SAAS,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,OAAO,KAAK,EAAE,CAAC,IAAI,CAAC,CACtE,CAAA;SACF;QAED,eAAe,CAAC,OAAO,GAAG,EAAE,CAAA;IAC9B,CAAC,CAAA;IAED,MAAM,WAAW,GAAG,GAAG,EAAE;QACvB,4BAA6B,CAAC,OAAO,GAAG,iBAAiB,CAAA;QACzD,gBAAgB,EAAE,OAAO,CAAC,4BAA6B,CAAC,OAAO,CAAC,EAAE,KAAK,EAAE,CAAA;IAC3E,CAAC,CAAA;IAED,MAAM,iBAAiB,GAAG,CACxB,KAAsD,EACtD,EAAE;QACF,OAAO,EAAE,CAAC,KAAK,CAAC,CAAA;QAChB,KAAK,EAAE,EAAE,CAAA;IACX,CAAC,CAAA;IAED,mBAAmB,CAAC,GAAG,EAAE,GAAG,EAAE,CAAC,eAAe,CAAC,OAAQ,EAAE,EAAE,CAAC,CAAA;IAE5D,OAAO,CACL,+FAEe,MAAM,EACnB,GAAG,EAAE,SAAS,EACd,OAAO,EAAE,WAAW,EACpB,YAAY,EAAE,WAAW,EACzB,OAAO,EAAE,iBAAiB,EAC1B,IAAI,EAAC,UAAU,EACf,QAAQ,EAAE,CAAC,CAAC,gBACA,iBAAiB,IACzB,UAAU,GAEb,QAAQ,CACF,CACV,CAAA;AACH,CAAC,CACF,CAAA;AAED,eAAe,YAAY,CAAA"}
@@ -1,22 +1,22 @@
1
- import type { AriaAttributes, KeyboardEvent, PropsWithChildren, MouseEvent, ReactNode } from 'react';
2
- import React from 'react';
3
- import type { ModalContentProps } from '../Modal/ModalContent';
4
- export interface DropdownMenuProps extends ModalContentProps {
5
- /**
6
- * ID to find this component in testing tools (e.g.: cypress, testing library, and jest).
7
- */
8
- testId?: string;
9
- /**
10
- * Identifies the element (or elements) that labels the current element.
11
- * @see aria-labelledby https://www.w3.org/TR/wai-aria-1.1/#aria-labelledby
12
- */
13
- 'aria-labelledby'?: AriaAttributes['aria-label'];
14
- /**
15
- * This function is called whenever the user hits "Escape" or clicks outside
16
- * the dialog.
17
- */
18
- onDismiss?: (event: MouseEvent | KeyboardEvent) => void;
19
- children: ReactNode[] | ReactNode;
20
- }
21
- declare const DropdownMenu: ({ children, testId, style, ...otherProps }: PropsWithChildren<DropdownMenuProps>) => React.ReactPortal | null;
22
- export default DropdownMenu;
1
+ import type { AriaAttributes, KeyboardEvent, PropsWithChildren, MouseEvent, ReactNode } from 'react';
2
+ import React from 'react';
3
+ import type { ModalContentProps } from '../Modal/ModalContent';
4
+ export interface DropdownMenuProps extends ModalContentProps {
5
+ /**
6
+ * ID to find this component in testing tools (e.g.: cypress, testing library, and jest).
7
+ */
8
+ testId?: string;
9
+ /**
10
+ * Identifies the element (or elements) that labels the current element.
11
+ * @see aria-labelledby https://www.w3.org/TR/wai-aria-1.1/#aria-labelledby
12
+ */
13
+ 'aria-labelledby'?: AriaAttributes['aria-label'];
14
+ /**
15
+ * This function is called whenever the user hits "Escape" or clicks outside
16
+ * the dialog.
17
+ */
18
+ onDismiss?: (event: MouseEvent | KeyboardEvent) => void;
19
+ children: ReactNode[] | ReactNode;
20
+ }
21
+ declare const DropdownMenu: ({ children, testId, style, ...otherProps }: PropsWithChildren<DropdownMenuProps>) => React.ReactPortal | null;
22
+ export default DropdownMenu;
@@ -0,0 +1,65 @@
1
+ import React from 'react';
2
+ import { createPortal } from 'react-dom';
3
+ import { useDropdown } from './hooks/useDropdown';
4
+ import { useDropdownPosition } from './hooks/useDropdownPosition';
5
+ /*
6
+ * This component is based on @reach/dialog.
7
+ * https://github.com/reach/reach-ui/blob/main/packages/dialog/src/index.tsx
8
+ * https://reach.tech/dialog
9
+ */
10
+ const DropdownMenu = ({ children, testId = 'store-dropdown-menu', style, ...otherProps }) => {
11
+ const { isOpen, close, dropdownItemsRef, selectedDropdownItemIndexRef, id } = useDropdown();
12
+ const dropdownPosition = useDropdownPosition();
13
+ const childrenLength = React.Children.toArray(children).length;
14
+ const handleDownPress = () => {
15
+ if (selectedDropdownItemIndexRef.current < childrenLength - 1) {
16
+ selectedDropdownItemIndexRef.current++;
17
+ }
18
+ else {
19
+ selectedDropdownItemIndexRef.current = 0;
20
+ }
21
+ dropdownItemsRef?.current[selectedDropdownItemIndexRef.current]?.focus();
22
+ };
23
+ const handleUpPress = () => {
24
+ if (selectedDropdownItemIndexRef.current > 0) {
25
+ selectedDropdownItemIndexRef.current--;
26
+ }
27
+ else {
28
+ selectedDropdownItemIndexRef.current = childrenLength - 1;
29
+ }
30
+ dropdownItemsRef?.current[selectedDropdownItemIndexRef.current]?.focus();
31
+ };
32
+ const handleHomePress = () => {
33
+ selectedDropdownItemIndexRef.current = 0;
34
+ dropdownItemsRef?.current[selectedDropdownItemIndexRef.current]?.focus();
35
+ };
36
+ const handleEndPress = () => {
37
+ selectedDropdownItemIndexRef.current = childrenLength - 1;
38
+ dropdownItemsRef?.current[selectedDropdownItemIndexRef.current]?.focus();
39
+ };
40
+ const handleEscapePress = () => {
41
+ close?.();
42
+ };
43
+ const handleBackdropKeyDown = (event) => {
44
+ if (event.defaultPrevented || event.key === 'Enter') {
45
+ return;
46
+ }
47
+ event.preventDefault();
48
+ event.key === 'Escape' && handleEscapePress();
49
+ event.key === 'ArrowDown' && handleDownPress();
50
+ event.key === 'ArrowUp' && handleUpPress();
51
+ event.key === 'Home' && handleHomePress();
52
+ event.key === 'End' && handleEndPress();
53
+ event.stopPropagation();
54
+ };
55
+ const clearChildrenReferences = () => {
56
+ dropdownItemsRef.current = [];
57
+ return null;
58
+ };
59
+ return isOpen
60
+ ? createPortal(React.createElement("div", { role: "presentation", "data-store-dropdown-overlay": true, onKeyDown: handleBackdropKeyDown, "data-testid": `${testId}-overlay` },
61
+ React.createElement("div", Object.assign({ role: "menu", "aria-orientation": "vertical", "data-store-dropdown-menu": true, "data-testid": testId, style: { ...dropdownPosition, ...style }, id: id }, otherProps), children)), document.body)
62
+ : clearChildrenReferences();
63
+ };
64
+ export default DropdownMenu;
65
+ //# sourceMappingURL=DropdownMenu.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"DropdownMenu.js","sourceRoot":"","sources":["../../../src/molecules/Dropdown/DropdownMenu.tsx"],"names":[],"mappings":"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"}
@@ -1,41 +1,41 @@
1
- /// <reference types="react" />
2
- export declare type DropdownContextState = {
3
- /**
4
- * Control de Dropdown state as Opened (true) or Closed (false).
5
- */
6
- isOpen: boolean;
7
- /**
8
- * Reference to DropdownButton, used to calculate a position for the DropdownMenu.
9
- */
10
- dropdownButtonRef: React.RefObject<HTMLButtonElement> | null;
11
- /**
12
- * Reference to a selected DropdownItem, used to manipulate focus.
13
- */
14
- selectedDropdownItemIndexRef: React.MutableRefObject<number> | null;
15
- /**
16
- * Array of References to dropdownItems in a DropdownMenu.
17
- */
18
- dropdownItemsRef: React.MutableRefObject<HTMLButtonElement[]> | null;
19
- /**
20
- * Close DropdownMenu event inherited from Modal.
21
- */
22
- onDismiss?(): void;
23
- /**
24
- * Function responsible for close the DropdownMenu in this context.
25
- */
26
- close?(): void;
27
- /**
28
- * Function responsible for open the DropdownMenu in this context.
29
- */
30
- open?(): void;
31
- /**
32
- * Function responsible for switch the the DropdownMenu state in this context.
33
- */
34
- toggle?(): void;
35
- /**
36
- * Identifier to be used in aria-controls
37
- */
38
- id: string;
39
- };
40
- declare const DropdownContext: import("react").Context<DropdownContextState>;
41
- export default DropdownContext;
1
+ /// <reference types="react" />
2
+ export declare type DropdownContextState = {
3
+ /**
4
+ * Control de Dropdown state as Opened (true) or Closed (false).
5
+ */
6
+ isOpen: boolean;
7
+ /**
8
+ * Reference to DropdownButton, used to calculate a position for the DropdownMenu.
9
+ */
10
+ dropdownButtonRef: React.RefObject<HTMLButtonElement> | null;
11
+ /**
12
+ * Reference to a selected DropdownItem, used to manipulate focus.
13
+ */
14
+ selectedDropdownItemIndexRef: React.MutableRefObject<number> | null;
15
+ /**
16
+ * Array of References to dropdownItems in a DropdownMenu.
17
+ */
18
+ dropdownItemsRef: React.MutableRefObject<HTMLButtonElement[]> | null;
19
+ /**
20
+ * Close DropdownMenu event inherited from Modal.
21
+ */
22
+ onDismiss?(): void;
23
+ /**
24
+ * Function responsible for close the DropdownMenu in this context.
25
+ */
26
+ close?(): void;
27
+ /**
28
+ * Function responsible for open the DropdownMenu in this context.
29
+ */
30
+ open?(): void;
31
+ /**
32
+ * Function responsible for switch the the DropdownMenu state in this context.
33
+ */
34
+ toggle?(): void;
35
+ /**
36
+ * Identifier to be used in aria-controls
37
+ */
38
+ id: string;
39
+ };
40
+ declare const DropdownContext: import("react").Context<DropdownContextState>;
41
+ export default DropdownContext;
@@ -0,0 +1,11 @@
1
+ import { createContext } from 'react';
2
+ const defaultState = {
3
+ isOpen: false,
4
+ dropdownButtonRef: null,
5
+ selectedDropdownItemIndexRef: null,
6
+ dropdownItemsRef: null,
7
+ id: 'store-dropdown',
8
+ };
9
+ const DropdownContext = createContext(defaultState);
10
+ export default DropdownContext;
11
+ //# sourceMappingURL=DropdownContext.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"DropdownContext.js","sourceRoot":"","sources":["../../../../src/molecules/Dropdown/contexts/DropdownContext.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,OAAO,CAAA;AA0CrC,MAAM,YAAY,GAAyB;IACzC,MAAM,EAAE,KAAK;IACb,iBAAiB,EAAE,IAAI;IACvB,4BAA4B,EAAE,IAAI;IAClC,gBAAgB,EAAE,IAAI;IACtB,EAAE,EAAE,gBAAgB;CACrB,CAAA;AAED,MAAM,eAAe,GAAG,aAAa,CAAuB,YAAY,CAAC,CAAA;AAEzE,eAAe,eAAe,CAAA"}
@@ -1,6 +1,6 @@
1
- import type { DropdownContextState } from '../contexts/DropdownContext';
2
- /**
3
- * Hook to use the Dropdown context.
4
- * @returns Dropdown context.
5
- */
6
- export declare const useDropdown: () => DropdownContextState;
1
+ import type { DropdownContextState } from '../contexts/DropdownContext';
2
+ /**
3
+ * Hook to use the Dropdown context.
4
+ * @returns Dropdown context.
5
+ */
6
+ export declare const useDropdown: () => DropdownContextState;
@@ -0,0 +1,14 @@
1
+ import { useContext } from 'react';
2
+ import DropdownContext from '../contexts/DropdownContext';
3
+ /**
4
+ * Hook to use the Dropdown context.
5
+ * @returns Dropdown context.
6
+ */
7
+ export const useDropdown = () => {
8
+ const context = useContext(DropdownContext);
9
+ if (context === undefined) {
10
+ throw new Error('Do not use useDropdown hook outside the Dropdown context.');
11
+ }
12
+ return context;
13
+ };
14
+ //# sourceMappingURL=useDropdown.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"useDropdown.js","sourceRoot":"","sources":["../../../../src/molecules/Dropdown/hooks/useDropdown.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,OAAO,CAAA;AAGlC,OAAO,eAAe,MAAM,6BAA6B,CAAA;AAEzD;;;GAGG;AACH,MAAM,CAAC,MAAM,WAAW,GAAG,GAAG,EAAE;IAC9B,MAAM,OAAO,GAAG,UAAU,CAAuB,eAAe,CAAC,CAAA;IAEjE,IAAI,OAAO,KAAK,SAAS,EAAE;QACzB,MAAM,IAAI,KAAK,CAAC,2DAA2D,CAAC,CAAA;KAC7E;IAED,OAAO,OAAO,CAAA;AAChB,CAAC,CAAA"}
@@ -1,8 +1,8 @@
1
- /// <reference types="react" />
2
- declare type DropdownPosition = Pick<React.CSSProperties, 'position' | 'top' | 'left'>;
3
- /**
4
- * Hook used to find the DropdownMenu position in relation to DropdownButton
5
- * @returns Style with positions.
6
- */
7
- export declare const useDropdownPosition: () => DropdownPosition;
8
- export {};
1
+ /// <reference types="react" />
2
+ declare type DropdownPosition = Pick<React.CSSProperties, 'position' | 'top' | 'left'>;
3
+ /**
4
+ * Hook used to find the DropdownMenu position in relation to DropdownButton
5
+ * @returns Style with positions.
6
+ */
7
+ export declare const useDropdownPosition: () => DropdownPosition;
8
+ export {};
@@ -0,0 +1,25 @@
1
+ import { useDropdown } from './useDropdown';
2
+ /**
3
+ * Hook used to find the DropdownMenu position in relation to DropdownButton
4
+ * @returns Style with positions.
5
+ */
6
+ export const useDropdownPosition = () => {
7
+ const { dropdownButtonRef } = useDropdown();
8
+ // Necessary to use this component in SSR
9
+ const isBrowser = typeof window !== 'undefined';
10
+ const buttonRect = dropdownButtonRef?.current?.getBoundingClientRect();
11
+ const topLevel = buttonRect?.top ?? 0;
12
+ const topOffset = buttonRect?.height ?? 0;
13
+ const leftLevel = buttonRect?.left ?? 0;
14
+ // The scroll properties fix the position of DropdownMenu when the scroll is activated.
15
+ const scrollTop = isBrowser ? document?.documentElement?.scrollTop : 0;
16
+ const scrollLeft = isBrowser ? document?.documentElement?.scrollLeft : 0;
17
+ const topPosition = topLevel + topOffset + scrollTop;
18
+ const leftPosition = leftLevel + scrollLeft;
19
+ return {
20
+ position: 'absolute',
21
+ top: topPosition,
22
+ left: leftPosition,
23
+ };
24
+ };
25
+ //# sourceMappingURL=useDropdownPosition.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"useDropdownPosition.js","sourceRoot":"","sources":["../../../../src/molecules/Dropdown/hooks/useDropdownPosition.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,MAAM,eAAe,CAAA;AAI3C;;;GAGG;AACH,MAAM,CAAC,MAAM,mBAAmB,GAAG,GAAqB,EAAE;IACxD,MAAM,EAAE,iBAAiB,EAAE,GAAG,WAAW,EAAE,CAAA;IAE3C,yCAAyC;IACzC,MAAM,SAAS,GAAG,OAAO,MAAM,KAAK,WAAW,CAAA;IAE/C,MAAM,UAAU,GAAG,iBAAiB,EAAE,OAAO,EAAE,qBAAqB,EAAE,CAAA;IACtE,MAAM,QAAQ,GAAG,UAAU,EAAE,GAAG,IAAI,CAAC,CAAA;IACrC,MAAM,SAAS,GAAG,UAAU,EAAE,MAAM,IAAI,CAAC,CAAA;IACzC,MAAM,SAAS,GAAG,UAAU,EAAE,IAAI,IAAI,CAAC,CAAA;IAEvC,uFAAuF;IACvF,MAAM,SAAS,GAAG,SAAS,CAAC,CAAC,CAAC,QAAQ,EAAE,eAAe,EAAE,SAAS,CAAC,CAAC,CAAC,CAAC,CAAA;IACtE,MAAM,UAAU,GAAG,SAAS,CAAC,CAAC,CAAC,QAAQ,EAAE,eAAe,EAAE,UAAU,CAAC,CAAC,CAAC,CAAC,CAAA;IAExE,MAAM,WAAW,GAAG,QAAQ,GAAG,SAAS,GAAG,SAAS,CAAA;IAEpD,MAAM,YAAY,GAAG,SAAS,GAAG,UAAU,CAAA;IAE3C,OAAO;QACL,QAAQ,EAAE,UAAU;QACpB,GAAG,EAAE,WAAW;QAChB,IAAI,EAAE,YAAY;KACnB,CAAA;AACH,CAAC,CAAA"}
@@ -1,8 +1,8 @@
1
- export { default } from './Dropdown';
2
- export type { DropdownProps } from './Dropdown';
3
- export { default as DropdownButton } from './DropdownButton';
4
- export type { DropdownButtonProps } from './DropdownButton';
5
- export { default as DropdownItem } from './DropdownItem';
6
- export type { DropdownItemProps } from './DropdownItem';
7
- export { default as DropdownMenu } from './DropdownMenu';
8
- export type { DropdownMenuProps } from './DropdownMenu';
1
+ export { default } from './Dropdown';
2
+ export type { DropdownProps } from './Dropdown';
3
+ export { default as DropdownButton } from './DropdownButton';
4
+ export type { DropdownButtonProps } from './DropdownButton';
5
+ export { default as DropdownItem } from './DropdownItem';
6
+ export type { DropdownItemProps } from './DropdownItem';
7
+ export { default as DropdownMenu } from './DropdownMenu';
8
+ export type { DropdownMenuProps } from './DropdownMenu';
@@ -0,0 +1,5 @@
1
+ export { default } from './Dropdown';
2
+ export { default as DropdownButton } from './DropdownButton';
3
+ export { default as DropdownItem } from './DropdownItem';
4
+ export { default as DropdownMenu } from './DropdownMenu';
5
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/molecules/Dropdown/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,YAAY,CAAA;AAGpC,OAAO,EAAE,OAAO,IAAI,cAAc,EAAE,MAAM,kBAAkB,CAAA;AAG5D,OAAO,EAAE,OAAO,IAAI,YAAY,EAAE,MAAM,gBAAgB,CAAA;AAGxD,OAAO,EAAE,OAAO,IAAI,YAAY,EAAE,MAAM,gBAAgB,CAAA"}
@@ -1,2 +1,2 @@
1
- /// <reference types="react" />
2
- export declare const Caret: () => JSX.Element;
1
+ /// <reference types="react" />
2
+ export declare const Caret: () => JSX.Element;
@@ -0,0 +1,4 @@
1
+ import React from 'react';
2
+ export const Caret = () => (React.createElement("svg", { xmlns: "http://www.w3.org/2000/svg", width: "24", height: "24", viewBox: "0 0 24 24", fill: "none", stroke: "currentColor", strokeWidth: "2", strokeLinecap: "round", strokeLinejoin: "round", className: "feather feather-chevron-down", style: { display: 'inline' } },
3
+ React.createElement("polyline", { points: "6 9 12 15 18 9" })));
4
+ //# sourceMappingURL=Caret.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Caret.js","sourceRoot":"","sources":["../../../../../src/molecules/Dropdown/stories/assets/Caret.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAA;AAEzB,MAAM,CAAC,MAAM,KAAK,GAAG,GAAG,EAAE,CAAC,CACzB,6BACE,KAAK,EAAC,4BAA4B,EAClC,KAAK,EAAC,IAAI,EACV,MAAM,EAAC,IAAI,EACX,OAAO,EAAC,WAAW,EACnB,IAAI,EAAC,MAAM,EACX,MAAM,EAAC,cAAc,EACrB,WAAW,EAAC,GAAG,EACf,aAAa,EAAC,OAAO,EACrB,cAAc,EAAC,OAAO,EACtB,SAAS,EAAC,8BAA8B,EACxC,KAAK,EAAE,EAAE,OAAO,EAAE,QAAQ,EAAE;IAE5B,kCAAU,MAAM,EAAC,gBAAgB,GAAG,CAChC,CACP,CAAA"}
@@ -1,11 +1,11 @@
1
- import type { FormHTMLAttributes } from 'react';
2
- import React from 'react';
3
- export interface FormProps extends FormHTMLAttributes<HTMLFormElement> {
4
- /**
5
- * ID to find this component in testing tools (e.g.: cypress,
6
- * testing-library, and jest).
7
- */
8
- testId?: string;
9
- }
10
- declare const Form: React.ForwardRefExoticComponent<FormProps & React.RefAttributes<HTMLFormElement>>;
11
- export default Form;
1
+ import type { FormHTMLAttributes } from 'react';
2
+ import React from 'react';
3
+ export interface FormProps extends FormHTMLAttributes<HTMLFormElement> {
4
+ /**
5
+ * ID to find this component in testing tools (e.g.: cypress,
6
+ * testing-library, and jest).
7
+ */
8
+ testId?: string;
9
+ }
10
+ declare const Form: React.ForwardRefExoticComponent<FormProps & React.RefAttributes<HTMLFormElement>>;
11
+ export default Form;
@@ -0,0 +1,6 @@
1
+ import React, { forwardRef } from 'react';
2
+ const Form = forwardRef(function Form({ testId = 'store-form', children, ...otherProps }, ref) {
3
+ return (React.createElement("form", Object.assign({ ref: ref, "data-store-form": true, "data-testid": testId }, otherProps), children));
4
+ });
5
+ export default Form;
6
+ //# sourceMappingURL=Form.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Form.js","sourceRoot":"","sources":["../../../src/molecules/Form/Form.tsx"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,EAAE,UAAU,EAAE,MAAM,OAAO,CAAA;AAUzC,MAAM,IAAI,GAAG,UAAU,CAA6B,SAAS,IAAI,CAC/D,EAAE,MAAM,GAAG,YAAY,EAAE,QAAQ,EAAE,GAAG,UAAU,EAAE,EAClD,GAAG;IAEH,OAAO,CACL,4CAAM,GAAG,EAAE,GAAG,0CAA+B,MAAM,IAAM,UAAU,GAChE,QAAQ,CACJ,CACR,CAAA;AACH,CAAC,CAAC,CAAA;AAEF,eAAe,IAAI,CAAA"}
@@ -1,2 +1,2 @@
1
- export { default } from './Form';
2
- export type { FormProps } from './Form';
1
+ export { default } from './Form';
2
+ export type { FormProps } from './Form';
@@ -0,0 +1,2 @@
1
+ export { default } from './Form';
2
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/molecules/Form/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,QAAQ,CAAA"}
@@ -1,19 +1,19 @@
1
- import type { ReactNode } from 'react';
2
- import React from 'react';
3
- import type { ButtonProps } from '../../atoms/Button';
4
- export interface Props extends Omit<ButtonProps, 'children' | 'aria-label'> {
5
- /**
6
- * ID to find this component in testing tools (e.g.: cypress, testing library, and jest).
7
- */
8
- testId?: string;
9
- /**
10
- * A React component that will be rendered as an icon.
11
- */
12
- icon: ReactNode;
13
- /**
14
- * Label to be required for accessibility.
15
- */
16
- 'aria-label': string;
17
- }
18
- declare const IconButton: React.ForwardRefExoticComponent<Props & React.RefAttributes<HTMLButtonElement>>;
19
- export default IconButton;
1
+ import type { ReactNode } from 'react';
2
+ import React from 'react';
3
+ import type { ButtonProps } from '../../atoms/Button';
4
+ export interface Props extends Omit<ButtonProps, 'children' | 'aria-label'> {
5
+ /**
6
+ * ID to find this component in testing tools (e.g.: cypress, testing library, and jest).
7
+ */
8
+ testId?: string;
9
+ /**
10
+ * A React component that will be rendered as an icon.
11
+ */
12
+ icon: ReactNode;
13
+ /**
14
+ * Label to be required for accessibility.
15
+ */
16
+ 'aria-label': string;
17
+ }
18
+ declare const IconButton: React.ForwardRefExoticComponent<Props & React.RefAttributes<HTMLButtonElement>>;
19
+ export default IconButton;
@@ -0,0 +1,9 @@
1
+ import React, { forwardRef } from 'react';
2
+ import Button from '../../atoms/Button';
3
+ import Icon from '../../atoms/Icon';
4
+ const IconButton = forwardRef(function IconButton({ icon, testId = 'store-icon-button', ...buttonProps }, ref) {
5
+ return (React.createElement(Button, Object.assign({ ref: ref, "data-store-icon-button": true, testId: testId }, buttonProps),
6
+ React.createElement(Icon, { component: icon })));
7
+ });
8
+ export default IconButton;
9
+ //# sourceMappingURL=IconButton.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"IconButton.js","sourceRoot":"","sources":["../../../src/molecules/IconButton/IconButton.tsx"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,EAAE,UAAU,EAAE,MAAM,OAAO,CAAA;AAEzC,OAAO,MAAM,MAAM,oBAAoB,CAAA;AAEvC,OAAO,IAAI,MAAM,kBAAkB,CAAA;AAkBnC,MAAM,UAAU,GAAG,UAAU,CAA2B,SAAS,UAAU,CACzE,EAAE,IAAI,EAAE,MAAM,GAAG,mBAAmB,EAAE,GAAG,WAAW,EAAE,EACtD,GAAG;IAEH,OAAO,CACL,oBAAC,MAAM,kBAAC,GAAG,EAAE,GAAG,kCAAyB,MAAM,EAAE,MAAM,IAAM,WAAW;QACtE,oBAAC,IAAI,IAAC,SAAS,EAAE,IAAI,GAAI,CAClB,CACV,CAAA;AACH,CAAC,CAAC,CAAA;AAEF,eAAe,UAAU,CAAA"}
@@ -1,2 +1,2 @@
1
- export { default } from './IconButton';
2
- export type { Props as IconButtonProps } from './IconButton';
1
+ export { default } from './IconButton';
2
+ export type { Props as IconButtonProps } from './IconButton';