@nuskin/foundation-ui-components 1.33.0-1253-feature.3 → 2.0.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 (371) hide show
  1. package/dist/index.d.mts +1221 -0
  2. package/dist/index.d.ts +1221 -0
  3. package/dist/index.js +1 -0
  4. package/dist/index.js.map +1 -0
  5. package/dist/index.mjs +1 -0
  6. package/dist/index.mjs.map +1 -0
  7. package/package.json +33 -10
  8. package/src/common/accordion/NsAccordion.tsx +0 -82
  9. package/src/common/accordion/NsAccordionHeader.tsx +0 -85
  10. package/src/common/accordion/NsAccordionItem.tsx +0 -65
  11. package/src/common/accordion/NsCollapse.tsx +0 -121
  12. package/src/common/accordion/NsToggleSection.tsx +0 -50
  13. package/src/common/accordion/ToggleSection.styled.tsx +0 -32
  14. package/src/common/accordion/colorMap.ts +0 -60
  15. package/src/common/accordion/enums.ts +0 -18
  16. package/src/common/accordion/index.ts +0 -7
  17. package/src/common/accordion/specs/NsAccordion.spec.tsx +0 -183
  18. package/src/common/accordion/specs/NsAccordionHeader.spec.tsx +0 -172
  19. package/src/common/accordion/specs/NsAccordionItem.spec.tsx +0 -79
  20. package/src/common/accordion/specs/NsCollapse.spec.tsx +0 -130
  21. package/src/common/accordion/specs/NsToggleSection.spec.tsx +0 -74
  22. package/src/common/accordion/stories/NsAccordion.stories.tsx +0 -65
  23. package/src/common/accordion/stories/NsAccordionHeader.stories.tsx +0 -44
  24. package/src/common/accordion/stories/NsAccordionItem.stories.tsx +0 -48
  25. package/src/common/accordion/stories/NsCollapse.stories.tsx +0 -53
  26. package/src/common/accordion/stories/NsToggleSection.stories.tsx +0 -27
  27. package/src/common/accordion/stories/data.tsx +0 -145
  28. package/src/common/accordion/types.d.ts +0 -90
  29. package/src/common/alert/Header.tsx +0 -29
  30. package/src/common/alert/NsAlert.spec.tsx +0 -167
  31. package/src/common/alert/NsAlert.stories.tsx +0 -45
  32. package/src/common/alert/NsAlert.styled.tsx +0 -114
  33. package/src/common/alert/NsAlert.tsx +0 -93
  34. package/src/common/alert/index.ts +0 -2
  35. package/src/common/alert/types.d.ts +0 -45
  36. package/src/common/auth-dropdown/NsAuthDropdown.spec.tsx +0 -54
  37. package/src/common/auth-dropdown/NsAuthDropdown.stories.tsx +0 -25
  38. package/src/common/auth-dropdown/NsAuthDropdown.styled.ts +0 -120
  39. package/src/common/auth-dropdown/NsAuthDropdown.tsx +0 -72
  40. package/src/common/auth-dropdown/index.ts +0 -2
  41. package/src/common/auth-dropdown/types.d.ts +0 -11
  42. package/src/common/autocomplete/NsAutocomplete.spec.tsx +0 -91
  43. package/src/common/autocomplete/NsAutocomplete.styled.tsx +0 -24
  44. package/src/common/autocomplete/NsAutocomplete.tsx +0 -225
  45. package/src/common/autocomplete/helper/LineLoader.tsx +0 -38
  46. package/src/common/autocomplete/helper/RecentClearAll.tsx +0 -43
  47. package/src/common/autocomplete/helper/SeeMoreButton.tsx +0 -68
  48. package/src/common/autocomplete/helper/index.ts +0 -4
  49. package/src/common/autocomplete/helper/renderGroupName.tsx +0 -26
  50. package/src/common/autocomplete/index.ts +0 -2
  51. package/src/common/autocomplete/mock/Mock.styled.tsx +0 -23
  52. package/src/common/autocomplete/mock/MockData.ts +0 -89
  53. package/src/common/autocomplete/mock/MockUI.tsx +0 -26
  54. package/src/common/autocomplete/stories/NoCloseAutoComplete.tsx +0 -49
  55. package/src/common/autocomplete/stories/NsAutocomplete.stories.tsx +0 -78
  56. package/src/common/autocomplete/stories/RenderAutoComplete.tsx +0 -60
  57. package/src/common/autocomplete/types.d.ts +0 -67
  58. package/src/common/banner/NsBanner.spec.tsx +0 -28
  59. package/src/common/banner/NsBanner.stories.tsx +0 -47
  60. package/src/common/banner/NsBanner.styled.tsx +0 -24
  61. package/src/common/banner/NsBanner.tsx +0 -32
  62. package/src/common/banner/index.ts +0 -2
  63. package/src/common/banner/types.d.ts +0 -14
  64. package/src/common/brand-components/NsBrand.stories.tsx +0 -26
  65. package/src/common/brand-components/NsBrandComponent.spec.tsx +0 -47
  66. package/src/common/brand-components/NsBrandComponent.tsx +0 -33
  67. package/src/common/brand-components/NsBrandContainer.styled.tsx +0 -10
  68. package/src/common/brand-components/icons/Logo.spec.tsx +0 -84
  69. package/src/common/brand-components/icons/NSLogoHorizontal.tsx +0 -70
  70. package/src/common/brand-components/icons/NSLogoMark.tsx +0 -39
  71. package/src/common/brand-components/icons/NSLogoPoweredBy.tsx +0 -103
  72. package/src/common/brand-components/icons/NSLogoStacked.tsx +0 -57
  73. package/src/common/brand-components/icons/NSWordMark.tsx +0 -60
  74. package/src/common/brand-components/index.ts +0 -2
  75. package/src/common/brand-components/types.d.ts +0 -11
  76. package/src/common/breadcrumb/NsBreadcrumb.spec.tsx +0 -28
  77. package/src/common/breadcrumb/NsBreadcrumb.stories.tsx +0 -39
  78. package/src/common/breadcrumb/NsBreadcrumb.styled.tsx +0 -36
  79. package/src/common/breadcrumb/NsBreadcrumb.tsx +0 -85
  80. package/src/common/breadcrumb/data.ts +0 -10
  81. package/src/common/breadcrumb/index.ts +0 -2
  82. package/src/common/breadcrumb/types.d.ts +0 -14
  83. package/src/common/button/NsButton.spec.tsx +0 -94
  84. package/src/common/button/NsButton.stories.tsx +0 -118
  85. package/src/common/button/NsButton.styled.tsx +0 -57
  86. package/src/common/button/NsButton.tsx +0 -48
  87. package/src/common/button/__snapshots__/NsButton.spec.tsx.snap +0 -120
  88. package/src/common/button/helper.ts +0 -84
  89. package/src/common/button/index.ts +0 -2
  90. package/src/common/button/types.d.ts +0 -26
  91. package/src/common/card/CardButton.tsx +0 -58
  92. package/src/common/card/NsAwardCard.tsx +0 -71
  93. package/src/common/card/NsBgCard.tsx +0 -26
  94. package/src/common/card/NsBrandCard.tsx +0 -88
  95. package/src/common/card/NsBrandLogo.tsx +0 -16
  96. package/src/common/card/NsBrandWrapper.tsx +0 -25
  97. package/src/common/card/NsCheckoutCard.tsx +0 -107
  98. package/src/common/card/NsHeroCardLevel1.tsx +0 -105
  99. package/src/common/card/NsHeroCardLevel2.tsx +0 -95
  100. package/src/common/card/NsIconText.tsx +0 -165
  101. package/src/common/card/NsLargeCard.tsx +0 -108
  102. package/src/common/card/NsMediumCard.tsx +0 -110
  103. package/src/common/card/NsPost.tsx +0 -78
  104. package/src/common/card/NsSmallFullCard.tsx +0 -93
  105. package/src/common/card/NsXLargeCard.tsx +0 -89
  106. package/src/common/card/cardSizes.ts +0 -12
  107. package/src/common/card/fixtures/ImageData1.ts +0 -38
  108. package/src/common/card/fixtures/ImageData2.ts +0 -38
  109. package/src/common/card/index.ts +0 -15
  110. package/src/common/card/specs/BrandLogo.spec.tsx +0 -13
  111. package/src/common/card/specs/NsAwardCard.spec.tsx +0 -29
  112. package/src/common/card/specs/NsBgCard.spec.tsx +0 -23
  113. package/src/common/card/specs/NsBrandCard.spec.tsx +0 -84
  114. package/src/common/card/specs/NsCheckoutCard.spec.tsx +0 -39
  115. package/src/common/card/specs/NsHeroCardLevel1.spec.tsx +0 -39
  116. package/src/common/card/specs/NsHeroCardLevel2.spec.tsx +0 -49
  117. package/src/common/card/specs/NsIconText.spec.tsx +0 -25
  118. package/src/common/card/specs/NsLargeCard.spec.tsx +0 -47
  119. package/src/common/card/specs/NsMediumCard.spec.tsx +0 -51
  120. package/src/common/card/specs/NsPost.spec.tsx +0 -28
  121. package/src/common/card/specs/NsSmallFullCard.spec.tsx +0 -47
  122. package/src/common/card/specs/NsXLargeCard.spec.tsx +0 -47
  123. package/src/common/card/stories/NsAwardCard.stories.tsx +0 -21
  124. package/src/common/card/stories/NsBrandCard.stories.tsx +0 -32
  125. package/src/common/card/stories/NsCheckoutCard.stories.tsx +0 -23
  126. package/src/common/card/stories/NsHeroCardLevel1.stories.tsx +0 -30
  127. package/src/common/card/stories/NsHeroCardLevel2.stories.tsx +0 -29
  128. package/src/common/card/stories/NsIconText.stories.tsx +0 -18
  129. package/src/common/card/stories/NsLargeCard.stories.tsx +0 -32
  130. package/src/common/card/stories/NsMediumCard.stories.tsx +0 -34
  131. package/src/common/card/stories/NsPost.stories.tsx +0 -20
  132. package/src/common/card/stories/NsSmallFullCard.stories.tsx +0 -31
  133. package/src/common/card/stories/NsXLargeCard.stories.tsx +0 -32
  134. package/src/common/card/stories/data.ts +0 -43
  135. package/src/common/card/types.d.ts +0 -25
  136. package/src/common/carousal/CarousalControl.tsx +0 -47
  137. package/src/common/carousal/IconWrapper.tsx +0 -33
  138. package/src/common/carousal/NsCarousal.tsx +0 -65
  139. package/src/common/carousal/NsScrollingCarousal.tsx +0 -60
  140. package/src/common/carousal/RenderBrand.tsx +0 -20
  141. package/src/common/carousal/index.ts +0 -5
  142. package/src/common/carousal/slickSetting.ts +0 -61
  143. package/src/common/carousal/specs/Chevron.spec.tsx +0 -10
  144. package/src/common/carousal/specs/NsCarousal.spec.tsx +0 -112
  145. package/src/common/carousal/specs/NsScrollingCarousal.spec.tsx +0 -63
  146. package/src/common/carousal/specs/RenderBrand.spec.tsx +0 -22
  147. package/src/common/carousal/stories/NsCarousal1.stories.tsx +0 -34
  148. package/src/common/carousal/stories/NsScrollingCarousal.stories.tsx +0 -80
  149. package/src/common/carousal/types.d.ts +0 -23
  150. package/src/common/cart-icon/NsCartIcon.spec.tsx +0 -19
  151. package/src/common/cart-icon/NsCartIcon.stories.tsx +0 -28
  152. package/src/common/cart-icon/NsCartIcon.styled.tsx +0 -15
  153. package/src/common/cart-icon/NsCartIcon.tsx +0 -24
  154. package/src/common/cart-icon/index.ts +0 -2
  155. package/src/common/cart-icon/types.d.ts +0 -8
  156. package/src/common/checkbox/NsCheckbox.spec.tsx +0 -57
  157. package/src/common/checkbox/NsCheckbox.stories.tsx +0 -55
  158. package/src/common/checkbox/NsCheckbox.styled.tsx +0 -55
  159. package/src/common/checkbox/NsCheckbox.tsx +0 -68
  160. package/src/common/checkbox/index.ts +0 -2
  161. package/src/common/checkbox/types.d.ts +0 -20
  162. package/src/common/column-control/NsColumnControl.tsx +0 -64
  163. package/src/common/column-control/NsFlexColumns.tsx +0 -29
  164. package/src/common/column-control/NsGridColumns.tsx +0 -29
  165. package/src/common/column-control/index.ts +0 -4
  166. package/src/common/column-control/specs/NsColumnControl.spec.tsx +0 -24
  167. package/src/common/column-control/specs/NsFlexColumns.spec.tsx +0 -24
  168. package/src/common/column-control/specs/NsGridColumns.spec.tsx +0 -24
  169. package/src/common/column-control/stories/DivArray.stories.tsx +0 -18
  170. package/src/common/column-control/stories/DivArray.tsx +0 -63
  171. package/src/common/column-control/stories/NsColumnControl.stories.tsx +0 -65
  172. package/src/common/column-control/stories/NsFlexColumns.stories.tsx +0 -66
  173. package/src/common/column-control/stories/NsGridColumns.stories.tsx +0 -75
  174. package/src/common/column-control/stories/common.tsx +0 -14
  175. package/src/common/column-control/styled/StyledFlex.tsx +0 -46
  176. package/src/common/column-control/styled/StyledGrid.tsx +0 -41
  177. package/src/common/column-control/styled/common.ts +0 -27
  178. package/src/common/column-control/types.d.ts +0 -46
  179. package/src/common/column-control/utils.ts +0 -66
  180. package/src/common/common.types.d.ts +0 -21
  181. package/src/common/dropdown/NsDropdown.spec.tsx +0 -126
  182. package/src/common/dropdown/NsDropdown.styled.tsx +0 -66
  183. package/src/common/dropdown/NsDropdown.tsx +0 -94
  184. package/src/common/dropdown/NsDropdownOption.tsx +0 -13
  185. package/src/common/dropdown/index.ts +0 -3
  186. package/src/common/dropdown/stories/NsDropdown.stories.tsx +0 -67
  187. package/src/common/dropdown/stories/NsDropdownCountry.stories.tsx +0 -64
  188. package/src/common/dropdown/types.d.ts +0 -23
  189. package/src/common/email-simple/NsEmailSimple.spec.tsx +0 -115
  190. package/src/common/email-simple/NsEmailSimple.stories.tsx +0 -61
  191. package/src/common/email-simple/NsEmailSimple.tsx +0 -72
  192. package/src/common/email-simple/index.ts +0 -2
  193. package/src/common/email-simple/types.d.ts +0 -14
  194. package/src/common/flag/NsFlag.spec.tsx +0 -27
  195. package/src/common/flag/NsFlag.stories.tsx +0 -22
  196. package/src/common/flag/NsFlag.styled.tsx +0 -73
  197. package/src/common/flag/NsFlag.tsx +0 -24
  198. package/src/common/flag/index.ts +0 -2
  199. package/src/common/flag/types.d.ts +0 -16
  200. package/src/common/hooks/index.ts +0 -2
  201. package/src/common/hooks/specs/useWindowSize.spec.tsx +0 -19
  202. package/src/common/hooks/useAccordionMap.tsx +0 -39
  203. package/src/common/hooks/useOnClickOutside.tsx +0 -25
  204. package/src/common/hooks/useWindowSize.tsx +0 -30
  205. package/src/common/icon/NsIcon.spec.tsx +0 -51
  206. package/src/common/icon/NsIcon.stories.tsx +0 -77
  207. package/src/common/icon/NsIcon.styled.tsx +0 -27
  208. package/src/common/icon/NsIcon.tsx +0 -44
  209. package/src/common/icon/NsIconVariants.ts +0 -56
  210. package/src/common/icon/icons/AlertErrorIcon.tsx +0 -48
  211. package/src/common/icon/icons/ArrowDown.tsx +0 -23
  212. package/src/common/icon/icons/ArrowLeft.tsx +0 -38
  213. package/src/common/icon/icons/ArrowRight.tsx +0 -39
  214. package/src/common/icon/icons/ArrowUp.tsx +0 -20
  215. package/src/common/icon/icons/Cart.tsx +0 -23
  216. package/src/common/icon/icons/CartBadge.tsx +0 -47
  217. package/src/common/icon/icons/Check.tsx +0 -30
  218. package/src/common/icon/icons/CheckShield.tsx +0 -24
  219. package/src/common/icon/icons/CheckVerified.tsx +0 -27
  220. package/src/common/icon/icons/ChevronRight.tsx +0 -31
  221. package/src/common/icon/icons/CloseIcon.tsx +0 -27
  222. package/src/common/icon/icons/ErrorIcon.tsx +0 -30
  223. package/src/common/icon/icons/HamburgerIcon.tsx +0 -35
  224. package/src/common/icon/icons/InfoFilled.tsx +0 -21
  225. package/src/common/icon/icons/InfoOutlined.tsx +0 -42
  226. package/src/common/icon/icons/RoundedClose.tsx +0 -31
  227. package/src/common/icon/icons/SearchIcon.tsx +0 -32
  228. package/src/common/icon/icons/SlashIcon.tsx +0 -22
  229. package/src/common/icon/icons/SuccessIcon.tsx +0 -40
  230. package/src/common/icon/icons/TrashIcon.tsx +0 -32
  231. package/src/common/icon/icons/UserIcon.tsx +0 -37
  232. package/src/common/icon/icons/UserOutline.tsx +0 -29
  233. package/src/common/icon/icons/WarningIcon.tsx +0 -48
  234. package/src/common/icon/icons/error.svg +0 -3
  235. package/src/common/icon/icons/home.tsx +0 -19
  236. package/src/common/icon/icons/search.svg +0 -3
  237. package/src/common/icon/icons/success.svg +0 -10
  238. package/src/common/icon/icons/trash.svg +0 -3
  239. package/src/common/icon/index.ts +0 -3
  240. package/src/common/icon/types.d.ts +0 -53
  241. package/src/common/image/BynderMedia.spec.tsx +0 -42
  242. package/src/common/image/BynderMedia.tsx +0 -49
  243. package/src/common/image/NsImage.spec.tsx +0 -60
  244. package/src/common/image/NsImage.stories.tsx +0 -46
  245. package/src/common/image/NsImage.tsx +0 -33
  246. package/src/common/image/NsNextImage.spec.tsx +0 -10
  247. package/src/common/image/NsNextImage.stories.tsx +0 -51
  248. package/src/common/image/NsNextImage.tsx +0 -11
  249. package/src/common/image/bynder-util.spec.ts +0 -187
  250. package/src/common/image/bynder-util.ts +0 -98
  251. package/src/common/image/index.ts +0 -3
  252. package/src/common/image/types.ts +0 -78
  253. package/src/common/index.ts +0 -37
  254. package/src/common/input/InputFieldWrapper.tsx +0 -24
  255. package/src/common/input/InputWrapper.tsx +0 -82
  256. package/src/common/input/NsInputField.spec.tsx +0 -25
  257. package/src/common/input/NsInputField.stories.tsx +0 -61
  258. package/src/common/input/NsInputField.tsx +0 -125
  259. package/src/common/input/getAdornmentProps.tsx +0 -50
  260. package/src/common/input/index.ts +0 -2
  261. package/src/common/input/types.d.ts +0 -45
  262. package/src/common/label/NsLabel.spec.tsx +0 -11
  263. package/src/common/label/NsLabel.stories.tsx +0 -35
  264. package/src/common/label/NsLabel.tsx +0 -43
  265. package/src/common/label/index.ts +0 -2
  266. package/src/common/label/types.d.ts +0 -10
  267. package/src/common/link/NsLink.spec.tsx +0 -106
  268. package/src/common/link/NsLink.stories.tsx +0 -55
  269. package/src/common/link/NsLink.styled.tsx +0 -100
  270. package/src/common/link/NsLink.tsx +0 -122
  271. package/src/common/link/index.ts +0 -2
  272. package/src/common/link/types.d.ts +0 -22
  273. package/src/common/modal/NsModal.spec.tsx +0 -46
  274. package/src/common/modal/NsModal.styled.tsx +0 -28
  275. package/src/common/modal/NsModal.tsx +0 -43
  276. package/src/common/modal/helper-component/NsModalContentBox.tsx +0 -37
  277. package/src/common/modal/helper-component/NsModalDefault.tsx +0 -34
  278. package/src/common/modal/helper-component/NsModalStatus.tsx +0 -17
  279. package/src/common/modal/helper-component/NsModalStatusIcon.tsx +0 -16
  280. package/src/common/modal/helper-component/NsModalTitle.tsx +0 -29
  281. package/src/common/modal/index.ts +0 -2
  282. package/src/common/modal/model/NsModalVariantMap.tsx +0 -24
  283. package/src/common/modal/stories/NsModal.stories.tsx +0 -87
  284. package/src/common/modal/stories/mock.tsx +0 -46
  285. package/src/common/modal/types.ts +0 -57
  286. package/src/common/nav-product-card/NsNavProductCard.spec.tsx +0 -22
  287. package/src/common/nav-product-card/NsNavProductCard.stories.tsx +0 -25
  288. package/src/common/nav-product-card/NsNavProductCard.styled.tsx +0 -24
  289. package/src/common/nav-product-card/NsNavProductCard.tsx +0 -27
  290. package/src/common/nav-product-card/index.ts +0 -2
  291. package/src/common/nav-product-card/types.d.ts +0 -9
  292. package/src/common/nav-tab/NavDrawer.tsx +0 -41
  293. package/src/common/nav-tab/NavTitles.tsx +0 -64
  294. package/src/common/nav-tab/NsNavTab.spec.tsx +0 -64
  295. package/src/common/nav-tab/NsNavTab.stories.tsx +0 -36
  296. package/src/common/nav-tab/NsNavTab.styled.tsx +0 -74
  297. package/src/common/nav-tab/NsNavTab.tsx +0 -43
  298. package/src/common/nav-tab/index.ts +0 -2
  299. package/src/common/nav-tab/types.d.ts +0 -21
  300. package/src/common/progress/NsProgress.spec.tsx +0 -47
  301. package/src/common/progress/NsProgress.stories.tsx +0 -45
  302. package/src/common/progress/NsProgress.styled.tsx +0 -56
  303. package/src/common/progress/NsProgress.tsx +0 -29
  304. package/src/common/progress/index.ts +0 -2
  305. package/src/common/progress/types.d.ts +0 -21
  306. package/src/common/radiogroup/NsRadioGroup.spec.tsx +0 -63
  307. package/src/common/radiogroup/NsRadioGroup.stories.tsx +0 -84
  308. package/src/common/radiogroup/NsRadioGroup.styled.tsx +0 -51
  309. package/src/common/radiogroup/NsRadioGroup.tsx +0 -65
  310. package/src/common/radiogroup/index.ts +0 -2
  311. package/src/common/radiogroup/types.d.ts +0 -19
  312. package/src/common/search-bar/NsSeachBar.spec.tsx +0 -9
  313. package/src/common/search-bar/NsSearchBar.tsx +0 -46
  314. package/src/common/select/DefaultRenderOption.tsx +0 -8
  315. package/src/common/select/NsSelect.styled.tsx +0 -102
  316. package/src/common/select/NsSelect.tsx +0 -166
  317. package/src/common/select/NsSelectOption.tsx +0 -26
  318. package/src/common/select/constant.ts +0 -30
  319. package/src/common/select/index.ts +0 -3
  320. package/src/common/select/specs/NsSelect.spec.tsx +0 -183
  321. package/src/common/select/specs/NsSelectOption.spec.tsx +0 -32
  322. package/src/common/select/stories/NsSelect.stories.tsx +0 -89
  323. package/src/common/select/stories/countries.ts +0 -53
  324. package/src/common/select/types.d.ts +0 -49
  325. package/src/common/spinner/NsSpinner.spec.tsx +0 -21
  326. package/src/common/spinner/NsSpinner.stories.tsx +0 -29
  327. package/src/common/spinner/NsSpinner.styled.tsx +0 -344
  328. package/src/common/spinner/NsSpinner.tsx +0 -15
  329. package/src/common/spinner/icons/Spinner.tsx +0 -163
  330. package/src/common/spinner/index.ts +0 -2
  331. package/src/common/spinner/types.ts +0 -5
  332. package/src/common/table/NsExpandableRow.tsx +0 -62
  333. package/src/common/table/NsTable.spec.tsx +0 -174
  334. package/src/common/table/NsTable.stories.tsx +0 -156
  335. package/src/common/table/NsTable.styled.ts +0 -127
  336. package/src/common/table/NsTable.tsx +0 -150
  337. package/src/common/table/NsTableHeader.tsx +0 -54
  338. package/src/common/table/NsTablePagination.tsx +0 -24
  339. package/src/common/table/helper.ts +0 -33
  340. package/src/common/table/index.ts +0 -2
  341. package/src/common/table/types.d.ts +0 -57
  342. package/src/common/text-strip/NsTextStrip.spec.tsx +0 -27
  343. package/src/common/text-strip/NsTextStrip.stories.tsx +0 -61
  344. package/src/common/text-strip/NsTextStrip.tsx +0 -61
  345. package/src/common/text-strip/index.ts +0 -2
  346. package/src/common/text-strip/types.d.ts +0 -16
  347. package/src/common/toast/Fade.tsx +0 -98
  348. package/src/common/toast/ToastProvider.tsx +0 -88
  349. package/src/common/toast/index.ts +0 -3
  350. package/src/common/toast/shared.ts +0 -124
  351. package/src/common/toast/specs/Toast.spec.tsx +0 -122
  352. package/src/common/toast/stories/Toast.stories.tsx +0 -82
  353. package/src/common/toast/useToast.tsx +0 -65
  354. package/src/common/typography/GlobalFontInter.tsx +0 -15
  355. package/src/common/typography/HtmlTagVariantMap.tsx +0 -24
  356. package/src/common/typography/NsTypography.spec.tsx +0 -37
  357. package/src/common/typography/NsTypography.stories.tsx +0 -27
  358. package/src/common/typography/NsTypography.tsx +0 -44
  359. package/src/common/typography/Typography.styled.tsx +0 -195
  360. package/src/common/typography/__snapshots__/NsTypography.spec.tsx.snap +0 -22
  361. package/src/common/typography/index.ts +0 -3
  362. package/src/common/typography/types.d.ts +0 -37
  363. package/src/common/util.ts +0 -3
  364. package/src/common/utility/Show.tsx +0 -13
  365. package/src/common/utility/index.ts +0 -1
  366. package/src/common/validations/regex.ts +0 -2
  367. package/src/common/videos/NsVideo.spec.tsx +0 -26
  368. package/src/common/videos/NsVideo.stories.tsx +0 -32
  369. package/src/common/videos/NsVideo.tsx +0 -28
  370. package/src/common/videos/index.ts +0 -2
  371. package/src/common/videos/types.d.ts +0 -9
@@ -1,34 +0,0 @@
1
- import { withCenterDecorator } from '@/stories/decorators/withCenterDecorator';
2
- import type { Meta, StoryObj } from '@storybook/react';
3
-
4
- import { NsMediumCard } from '../';
5
- import { ImageData1 } from '../fixtures/ImageData1';
6
-
7
- type ComponentType = typeof NsMediumCard;
8
- type Story = StoryObj<ComponentType>;
9
- type MetaStory = Meta<ComponentType>;
10
-
11
- export default {
12
- component: NsMediumCard,
13
- title: 'Components/Containers/Card/NsMediumCard',
14
- argTypes: {},
15
- decorators: [withCenterDecorator],
16
- } as MetaStory;
17
-
18
- export const Default: Story = {
19
- args: {
20
- title: 'Sustainability',
21
- titleFontWeight: 'bold',
22
- subtitle:
23
- 'We’re committed to keeping our global communities clean, safe, and protected for the future. We’re proud to embrace sustainable practices today for a resource-rich tomorrow.',
24
- backgroundImageDetail: ImageData1,
25
- button: {
26
- showButton: true,
27
- buttonText: 'SEE WHAT WE’RE DOING',
28
- buttonVariant: 'outlined',
29
- buttonColor: 'primary',
30
- url: 'https://www.forceforgood.org/',
31
- },
32
- fluid: false,
33
- },
34
- };
@@ -1,20 +0,0 @@
1
- import type { StoryObj, Meta } from '@storybook/react';
2
- import { NsPost } from '../';
3
- import { ImageData1 } from '../fixtures/ImageData1';
4
-
5
- type ComponentType = typeof NsPost;
6
- type Story = StoryObj<ComponentType>;
7
- type MetaStory = Meta<ComponentType>;
8
-
9
- export default {
10
- component: NsPost,
11
- title: 'Components/Containers/Card/NsPost',
12
- } as MetaStory;
13
-
14
- export const Default: Story = {
15
- args: {
16
- text: '38 New Beauty Products Our Editors Are Loving',
17
- body: 'SPA & BEAUTY TODAY',
18
- backgroundImageDetail: ImageData1,
19
- },
20
- };
@@ -1,31 +0,0 @@
1
- import type { StoryObj, Meta } from '@storybook/react';
2
- import { withCenterDecorator } from '@/stories/decorators/withCenterDecorator';
3
- import { NsSmallFullCard } from '../';
4
- import { ImageData1 } from '../fixtures/ImageData1';
5
-
6
- type ComponentType = typeof NsSmallFullCard;
7
- type Story = StoryObj<ComponentType>;
8
- type MetaStory = Meta<ComponentType>;
9
-
10
- export default {
11
- component: NsSmallFullCard,
12
- title: 'Components/Containers/Card/NsSmallFullCard',
13
- argTypes: {},
14
- decorators: [withCenterDecorator],
15
- } as MetaStory;
16
-
17
- export const Default: Story = {
18
- args: {
19
- title: 'Title',
20
- subtitle: 'Subtitle',
21
- backgroundImageDetail: ImageData1,
22
- button: {
23
- showButton: true,
24
- buttonText: 'Placeholder',
25
- buttonVariant: 'contained',
26
- buttonColor: 'primary',
27
- url: '#',
28
- fullWidth: true,
29
- },
30
- },
31
- };
@@ -1,32 +0,0 @@
1
- import { withCenterDecorator } from '@/stories/decorators/withCenterDecorator';
2
- import type { Meta, StoryObj } from '@storybook/react';
3
-
4
- import { NsXLargeCard } from '../';
5
- import { ImageData1 } from '../fixtures/ImageData1';
6
-
7
- type ComponentType = typeof NsXLargeCard;
8
- type Story = StoryObj<ComponentType>;
9
- type MetaStory = Meta<ComponentType>;
10
-
11
- export default {
12
- component: NsXLargeCard,
13
- title: 'Components/Containers/Card/NsXLargeCard',
14
- argTypes: {},
15
- decorators: [withCenterDecorator],
16
- } as MetaStory;
17
-
18
- export const Default: Story = {
19
- args: {
20
- title: 'Title',
21
- subtitle: 'Subtitle',
22
- backgroundImageDetail: ImageData1,
23
- button: {
24
- showButton: true,
25
- buttonText: 'Discover more',
26
- buttonVariant: 'outlined',
27
- buttonColor: 'secondary',
28
- url: '#',
29
- endIcon: 'home',
30
- },
31
- },
32
- };
@@ -1,43 +0,0 @@
1
- export const brandImages = [
2
- 'https://media.nuskin.com/m/63a454ff90d038b4/webimage-brand-epoch.png',
3
- 'https://media.nuskin.com/m/3eb406f465d4b0fe/webimage-brand-sunright.png',
4
- 'https://media.nuskin.com/m/2d3276518912283b/webimage-brand-nu_colour.png',
5
- 'https://media.nuskin.com/m/3855d3836d920639/webimage-brand-nuskin180.png',
6
- 'https://media.nuskin.com/m/6245528b8f76ad32/webimage-brand-ageLOC.png',
7
- 'https://media.nuskin.com/m/2571a0407433a6e8/webimage-brand-lumispa.png',
8
- 'https://media.nuskin.com/m/4bd7ab9b46bd456d/webimage-brand-pharmanex.png',
9
- 'https://media.nuskin.com/m/501d638a8af80087/webimage-brand-ap24.png',
10
- 'https://media.nuskin.com/m/f3a91129cbbae32/webimage-brand-nutricentials.png',
11
- ];
12
-
13
- export const brandBackImages = [
14
- 'https://media.nuskin.com/m/549aa3e5184434d8/webimage-brand-epoch-optweb.png',
15
- 'https://media.nuskin.com/m/14e238d7599e1811/webimage-brand-sunright.png',
16
- 'https://media.nuskin.com/m/2543e79419276727/webimage-brand-nu_colour-optweb.png',
17
- 'https://media.nuskin.com/m/446c7a2aad513f58/webimage-brand-nu_skin_180-optweb.png',
18
- 'https://media.nuskin.com/m/42911c8b05600476/webimage-brand-ageloc-optweb.png',
19
- 'https://media.nuskin.com/m/3604b5202b0b64c6/webimage-brand-lumispa-optweb.png',
20
- 'https://media.nuskin.com/m/4a1245a63c595262/webimage-brand-pharmanex-optweb.png',
21
- 'https://media.nuskin.com/m/14a0fd6ef63e5dbb/webimage-brand-ap_24.png',
22
- 'https://media.nuskin.com/m/298104036e885b40/webimage-brand-nutricentials.png',
23
- ];
24
-
25
- export const brandTitles = [
26
- 'Epoch',
27
- 'Sunright',
28
- 'Nu Color',
29
- '180 System',
30
- 'ageLOC',
31
- 'ageLOC LumiSpa',
32
- 'Pharmanex',
33
- 'AP 24',
34
- 'Nutricentials',
35
- ];
36
- export const brandEntries = brandTitles.map((title, index) => {
37
- return {
38
- title,
39
- backgroundImage: brandBackImages[index],
40
- brandImage: brandImages[index],
41
- id: index,
42
- };
43
- });
@@ -1,25 +0,0 @@
1
- import { AdditionalProps, CslpTag } from '../common.types';
2
- import { NsIconNameType } from '../icon';
3
-
4
- export type NsFfgCardProps = AdditionalProps & {
5
- topImageUrl: string;
6
- topImageAlt: string;
7
- text: string;
8
- cardLink: { href: string; title: string };
9
- onClick(): void;
10
- cslp?: {
11
- card_text: CslpTag;
12
- action_text: CslpTag;
13
- };
14
- };
15
-
16
- export type NsCardButton = {
17
- showButton?: boolean;
18
- fullWidth?: boolean;
19
- url?: string;
20
- endIcon?: NsIconNameType;
21
- buttonText: string;
22
- buttonVariant?: 'text' | 'outlined' | 'contained';
23
- buttonColor?: 'secondary' | 'primary';
24
- showArrowWithText?: boolean;
25
- };
@@ -1,47 +0,0 @@
1
- import { ReactElement } from 'react';
2
-
3
- import { styled } from '@nuskin/foundation-theme';
4
-
5
- import { NsIcon, NsLink, NsTypography } from '../';
6
- import IconWrapper from './IconWrapper';
7
-
8
- interface CarousalControlProps {
9
- next(): void;
10
- prev(): void;
11
- viewAllLabel: string;
12
- viewAllUrl: string;
13
- }
14
- /*
15
- This component is visible over the carousal and it has prev and next buttons and view all link
16
- */
17
- const Wrapper = styled.div`
18
- display: flex;
19
- justify-content: flex-end;
20
- `;
21
- const InnerWrapper = styled.div`
22
- display: flex;
23
- gap: 20px;
24
- align-items: center;
25
- `;
26
- const CarousalControl = ({ next, prev, viewAllUrl, viewAllLabel }: CarousalControlProps): ReactElement => {
27
- return (
28
- <Wrapper>
29
- <InnerWrapper>
30
- {viewAllUrl ? (
31
- <NsLink href={viewAllUrl} underlineOnHover={false}>
32
- <NsTypography decoration="underline" variant="body-l">
33
- {viewAllLabel}
34
- </NsTypography>
35
- </NsLink>
36
- ) : null}
37
- <IconWrapper onClick={prev} className="carousal-prev-button">
38
- <NsIcon name="arrowLeft" />
39
- </IconWrapper>
40
- <IconWrapper onClick={next} className="carousal-next-button">
41
- <NsIcon name="arrowRight" />
42
- </IconWrapper>
43
- </InnerWrapper>
44
- </Wrapper>
45
- );
46
- };
47
- export default CarousalControl;
@@ -1,33 +0,0 @@
1
- import { PropsWithChildren, ReactElement } from 'react';
2
-
3
- import { Box } from '@mui/material';
4
- import { styled } from '@nuskin/foundation-theme';
5
-
6
- type IconWrapperProps = PropsWithChildren<{
7
- onClick(): void;
8
- className?: string;
9
- }>;
10
- const options = {};
11
- const Wrapper = styled(
12
- Box,
13
- options
14
- )(({ theme }) => {
15
- const strokeColor = theme.palette?.primary?.main ?? '#252525';
16
- return {
17
- display: 'flex',
18
- width: 'auto',
19
- border: `2px solid ${strokeColor}`,
20
- borderRadius: '3px',
21
- cursor: 'pointer',
22
- padding: '9px',
23
- boxSizing: 'content-box',
24
- };
25
- });
26
- const IconWrapper = ({ children, onClick, className }: IconWrapperProps): ReactElement => {
27
- return (
28
- <Wrapper component="span" className={className || ''} onClick={onClick}>
29
- {children}
30
- </Wrapper>
31
- );
32
- };
33
- export default IconWrapper;
@@ -1,65 +0,0 @@
1
- import 'slick-carousel/slick/slick-theme.css';
2
- import 'slick-carousel/slick/slick.css';
3
-
4
- import { ReactElement, ReactNode, useCallback, useRef } from 'react';
5
-
6
- import Slider from 'react-slick';
7
-
8
- import Box from '@mui/material/Box';
9
- import { styled } from '@nuskin/foundation-theme';
10
-
11
- import CarousalControl from './CarousalControl';
12
- import defaultCarousalSettings from './slickSetting';
13
-
14
- const SlickContainer = styled(Box)(() => {
15
- return {
16
- padding: '30px 0 60px',
17
- '.slick-slide': {
18
- display: 'flex',
19
- justifyContent: 'center',
20
- },
21
- };
22
- });
23
- interface CarousalProps<T = any> {
24
- entries: T[];
25
- renderEntry(entry: T, index: number): ReactNode;
26
- allEntryLink?: string;
27
- allEntryLabel?: string;
28
- settings: any;
29
- showControlButtons?: boolean;
30
- }
31
-
32
- export default function NsCarousal({
33
- entries,
34
- renderEntry,
35
- allEntryLink = '',
36
- settings,
37
- allEntryLabel = 'View All',
38
- showControlButtons = true,
39
- }: CarousalProps): ReactElement {
40
- const sliderRef = useRef();
41
- const prev = useCallback(() => {
42
- if (sliderRef.current) {
43
- const slider = sliderRef.current as any;
44
- slider.slickPrev();
45
- }
46
- }, [sliderRef]);
47
- const next = useCallback(() => {
48
- if (sliderRef.current) {
49
- const slider = sliderRef.current as any;
50
- slider.slickNext();
51
- }
52
- }, [sliderRef]);
53
- return (
54
- <SlickContainer className="brand-carousal">
55
- {showControlButtons ? (
56
- <CarousalControl prev={prev} next={next} viewAllUrl={allEntryLink} viewAllLabel={allEntryLabel} />
57
- ) : null}
58
- <Slider {...{ ...defaultCarousalSettings, ...settings }} ref={sliderRef as any}>
59
- {entries.map((entry, index) => {
60
- return renderEntry(entry, index);
61
- })}
62
- </Slider>
63
- </SlickContainer>
64
- );
65
- }
@@ -1,60 +0,0 @@
1
- import React, { ReactElement, useMemo } from 'react';
2
-
3
- import Slider from 'react-slick';
4
-
5
- import { styled } from '@nuskin/foundation-theme';
6
-
7
- import { NsScrollingCarousalProps } from '../';
8
-
9
- type StyledType = {
10
- dotsBottomPixel?: number;
11
- };
12
-
13
- const StyledDiv = styled('div')<StyledType>(({ dotsBottomPixel }) => {
14
- return {
15
- '.slick-dots': {
16
- zIndex: 9,
17
- bottom: `${dotsBottomPixel ?? -25}px`,
18
- opacity: '0.5',
19
- },
20
- };
21
- });
22
-
23
- const NsScrollingCarousal = ({
24
- slides,
25
- scrollSeconds,
26
- stillSeconds,
27
- renderSlide,
28
- settings,
29
- dotsBottomPixel,
30
- additionalProps,
31
- }: NsScrollingCarousalProps): ReactElement => {
32
- const defaultSettings = useMemo(() => {
33
- return {
34
- ...settings,
35
- autoplay: true,
36
- autoplaySpeed: stillSeconds * 1000 || 2000, // autoplaySpeed = delay between scroll in milliseconds
37
- accessibility: true,
38
- adaptiveHeight: true,
39
- arrows: true,
40
- draggable: true,
41
- dots: false,
42
- infinite: true,
43
- speed: scrollSeconds * 1000 || 500, // speed = animation speed in milliseconds
44
- slidesToShow: 1,
45
- slidesToScroll: 1,
46
- swipeToSlide: true,
47
- };
48
- }, [stillSeconds, scrollSeconds, settings]);
49
- return (
50
- <StyledDiv
51
- className="scrolling-carousal-wrapper"
52
- dotsBottomPixel={dotsBottomPixel}
53
- data-testid={additionalProps?.testid ?? 'scrolling-carousal-test-id'}
54
- >
55
- <Slider {...defaultSettings}>{slides.map(renderSlide)}</Slider>
56
- </StyledDiv>
57
- );
58
- };
59
-
60
- export default NsScrollingCarousal;
@@ -1,20 +0,0 @@
1
- import { ReactElement } from 'react';
2
-
3
- import NsBrandCard from '../card/NsBrandCard';
4
-
5
- interface BrandType {
6
- title: string;
7
- backgroundImage: string;
8
- brandImage: string;
9
- }
10
- export const RenderBrand = (entry: BrandType, index: number): ReactElement => {
11
- const { title, backgroundImage, brandImage } = entry;
12
- return (
13
- <NsBrandCard
14
- key={title + index}
15
- backgroundImageUrl={backgroundImage}
16
- title={title}
17
- brandImageUrl={brandImage}
18
- />
19
- );
20
- };
@@ -1,5 +0,0 @@
1
- export { default as NsCarousal } from './NsCarousal';
2
- export { default as NsScrollingCarousal } from './NsScrollingCarousal';
3
- export { default as NsDefaultCarousalSettings } from './slickSetting';
4
-
5
- export type { NsCarousalProps, NsScrollingCarousalProps } from './types.d';
@@ -1,61 +0,0 @@
1
- const settings = {
2
- dots: true,
3
- infinite: false,
4
- speed: 2000,
5
- slidesToShow: 6,
6
- slidesToScroll: 1,
7
- swipeToSlide: true,
8
- responsive: [
9
- {
10
- breakpoint: 1800,
11
- settings: {
12
- slidesToShow: 5,
13
- slidesToScroll: 1,
14
- infinite: true,
15
- dots: true,
16
- },
17
- },
18
- {
19
- breakpoint: 1480,
20
- settings: {
21
- slidesToShow: 4,
22
- slidesToScroll: 1,
23
- infinite: true,
24
- dots: true,
25
- },
26
- },
27
- {
28
- breakpoint: 1160,
29
- settings: {
30
- slidesToShow: 3,
31
- slidesToScroll: 1,
32
- infinite: true,
33
- dots: true,
34
- },
35
- },
36
- {
37
- breakpoint: 840,
38
- settings: {
39
- slidesToShow: 2,
40
- slidesToScroll: 1,
41
- initialSlide: 1,
42
- },
43
- },
44
- {
45
- breakpoint: 580,
46
- settings: {
47
- slidesToShow: 1.5,
48
- slidesToScroll: 1,
49
- },
50
- },
51
- {
52
- breakpoint: 440,
53
- settings: {
54
- slidesToShow: 1,
55
- slidesToScroll: 1,
56
- },
57
- },
58
- ],
59
- };
60
-
61
- export default settings;
@@ -1,10 +0,0 @@
1
- import { render } from '@testing-library/react';
2
- import IconWrapper from '../IconWrapper';
3
-
4
- describe('IconCover', () => {
5
- it('render the component', () => {
6
- const { container } = render(<IconWrapper className="icon-cover" onClick={() => {}} />);
7
- const element = container.querySelector('.icon-cover');
8
- expect(element).toBeInTheDocument();
9
- });
10
- });
@@ -1,112 +0,0 @@
1
- import { ReactElement } from 'react';
2
-
3
- import { NsCarousal } from '@/common/';
4
- import {
5
- fireEvent,
6
- render,
7
- screen,
8
- } from '@/test-utils/index';
9
-
10
- const mockEntries = [
11
- { id: 1, title: 'First entry' },
12
- { id: 2, title: 'Second entry' },
13
- { id: 3, title: 'Third entry' },
14
- { id: 4, title: 'Fourth entry' },
15
- { id: 5, title: 'Fifth entry' },
16
- ];
17
-
18
- const mockRenderEntry = (entry: any, index: number): ReactElement => {
19
- return <div key={index}>{entry.title}</div>;
20
- };
21
- const mockAllEntryLink = '/view-all';
22
- const mockSettings = {
23
- slidesToShow: 2,
24
- slidesToScroll: 1,
25
- };
26
- describe('NsCarousal', () => {
27
- it('should have prev and next chevron', () => {
28
- render(
29
- <NsCarousal
30
- entries={[]}
31
- renderEntry={mockRenderEntry}
32
- allEntryLink={mockAllEntryLink}
33
- settings={mockSettings}
34
- />
35
- );
36
- const prevSvg = screen.getByTestId('arrowLeft');
37
- const nextSvg = screen.getByTestId('arrowRight');
38
- expect(prevSvg).toBeInTheDocument();
39
- expect(nextSvg).toBeInTheDocument();
40
- });
41
-
42
- it('should view all link with correct href and slides', () => {
43
- const { container } = render(
44
- <NsCarousal
45
- entries={mockEntries}
46
- renderEntry={mockRenderEntry}
47
- allEntryLink={mockAllEntryLink}
48
- settings={mockSettings}
49
- />
50
- );
51
-
52
- const viewAllLink = screen.getByRole('link', { name: /view all/i });
53
- const slides = container.querySelectorAll('.slick-slide');
54
-
55
- expect(viewAllLink).toBeInTheDocument();
56
- expect(viewAllLink).toHaveAttribute('href', mockAllEntryLink);
57
- expect(slides).toHaveLength(mockEntries.length);
58
- expect(slides[0]).toHaveTextContent('First entry');
59
- expect(slides[1]).toHaveTextContent('Second entry');
60
- expect(slides[2]).toHaveTextContent('Third entry');
61
- });
62
-
63
- it('should change slides when clicking on prev or next buttons', () => {
64
- const { container } = render(
65
- <NsCarousal
66
- entries={mockEntries}
67
- renderEntry={mockRenderEntry}
68
- allEntryLink="/view-all"
69
- settings={mockSettings}
70
- />
71
- );
72
-
73
- let currentSlide = container.querySelector('.slick-slide.slick-current');
74
- expect(currentSlide!.attributes['data-index' as any].value).toEqual('0');
75
-
76
- /* this is library's button, not our button, it is used for changing slides,
77
- clicking svg is not making any slide change in this test */
78
- const nextButton = screen.getByRole('button', { name: /next/i });
79
- fireEvent.click(nextButton);
80
-
81
- let slickTrack = container.querySelector('.slick-track');
82
- currentSlide = slickTrack!.querySelector('.slick-slide.slick-current');
83
- expect(currentSlide!.attributes['data-index' as any].value).toEqual('1');
84
-
85
- /* below code is commented because prev button is not working as expected in tests */
86
- // const prevButton = screen.getByRole('button', { name: /prev/i })
87
- // fireEvent.click(prevButton)
88
- // screen.debug(prevButton)
89
- // let slickList = container.querySelector('.slick-list')
90
- // currentSlide = slickList!.querySelector('.slick-slide.slick-current')
91
- // expect(currentSlide!.attributes['data-index' as any].value).toEqual('0')
92
-
93
- // // currentSlide = screen.getByText(mockEntries[0].title)
94
- // currentSlide = slickTrack!.querySelector('.slick-slide.slick-current')
95
- // expect(currentSlide!.attributes['data-index' as any].value).toEqual('0')
96
- });
97
-
98
- it('should change slides when clicking on prev or next buttons', () => {
99
- const { container } = render(
100
- <NsCarousal
101
- entries={mockEntries}
102
- renderEntry={mockRenderEntry}
103
- allEntryLink="/view-all"
104
- settings={mockSettings}
105
- />
106
- );
107
- let next = container.querySelector('.carousal-next-button');
108
- let prev = container.querySelector('.carousal-prev-button');
109
- fireEvent.click(next!);
110
- fireEvent.click(prev!);
111
- });
112
- });
@@ -1,63 +0,0 @@
1
- import { ReactElement } from 'react';
2
-
3
- import { NsScrollingCarousal } from '@/common/';
4
- import { fireEvent, render, screen } from '@/test-utils/index';
5
-
6
- const mockEntries = [
7
- { id: 1, title: 'First entry' },
8
- { id: 2, title: 'Second entry' },
9
- { id: 3, title: 'Third entry' },
10
- { id: 4, title: 'Fourth entry' },
11
- { id: 5, title: 'Fifth entry' },
12
- ];
13
-
14
- const mockRenderEntry = (entry: any, index: number): ReactElement => {
15
- return <div key={index}>{entry.title}</div>;
16
- };
17
- const mockSettings = {
18
- slidesToShow: 2,
19
- slidesToScroll: 1,
20
- };
21
- const testId = 'scrolling-carousal';
22
- describe('NsScrollingCarousal', () => {
23
- it('should have slides', () => {
24
- render(
25
- <NsScrollingCarousal
26
- slides={mockEntries}
27
- renderSlide={mockRenderEntry}
28
- settings={mockSettings}
29
- scrollSeconds={1}
30
- stillSeconds={9}
31
- additionalProps={{
32
- testid: testId,
33
- }}
34
- />
35
- );
36
- const el = screen.getAllByText(mockEntries[0].title);
37
- expect(el).toHaveLength(2);
38
- });
39
-
40
- it('should change slides when clicking on prev or next buttons', () => {
41
- const { container } = render(
42
- <NsScrollingCarousal
43
- slides={mockEntries}
44
- renderSlide={mockRenderEntry}
45
- settings={mockSettings}
46
- scrollSeconds={1}
47
- stillSeconds={9}
48
- />
49
- );
50
-
51
- let currentSlide = container.querySelector('.slick-slide.slick-current');
52
- expect(currentSlide!.attributes['data-index' as any].value).toEqual('0');
53
-
54
- /* this is library's button, not our button, it is used for changing slides,
55
- clicking svg is not making any slide change in this test */
56
- const nextButton = screen.getByRole('button', { name: /next/i });
57
- fireEvent.click(nextButton);
58
-
59
- let slickTrack = container.querySelector('.slick-track');
60
- currentSlide = slickTrack!.querySelector('.slick-slide.slick-current');
61
- expect(currentSlide!.attributes['data-index' as any].value).toEqual('1');
62
- });
63
- });