@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.
- package/dist/index.d.mts +1221 -0
- package/dist/index.d.ts +1221 -0
- package/dist/index.js +1 -0
- package/dist/index.js.map +1 -0
- package/dist/index.mjs +1 -0
- package/dist/index.mjs.map +1 -0
- package/package.json +33 -10
- package/src/common/accordion/NsAccordion.tsx +0 -82
- package/src/common/accordion/NsAccordionHeader.tsx +0 -85
- package/src/common/accordion/NsAccordionItem.tsx +0 -65
- package/src/common/accordion/NsCollapse.tsx +0 -121
- package/src/common/accordion/NsToggleSection.tsx +0 -50
- package/src/common/accordion/ToggleSection.styled.tsx +0 -32
- package/src/common/accordion/colorMap.ts +0 -60
- package/src/common/accordion/enums.ts +0 -18
- package/src/common/accordion/index.ts +0 -7
- package/src/common/accordion/specs/NsAccordion.spec.tsx +0 -183
- package/src/common/accordion/specs/NsAccordionHeader.spec.tsx +0 -172
- package/src/common/accordion/specs/NsAccordionItem.spec.tsx +0 -79
- package/src/common/accordion/specs/NsCollapse.spec.tsx +0 -130
- package/src/common/accordion/specs/NsToggleSection.spec.tsx +0 -74
- package/src/common/accordion/stories/NsAccordion.stories.tsx +0 -65
- package/src/common/accordion/stories/NsAccordionHeader.stories.tsx +0 -44
- package/src/common/accordion/stories/NsAccordionItem.stories.tsx +0 -48
- package/src/common/accordion/stories/NsCollapse.stories.tsx +0 -53
- package/src/common/accordion/stories/NsToggleSection.stories.tsx +0 -27
- package/src/common/accordion/stories/data.tsx +0 -145
- package/src/common/accordion/types.d.ts +0 -90
- package/src/common/alert/Header.tsx +0 -29
- package/src/common/alert/NsAlert.spec.tsx +0 -167
- package/src/common/alert/NsAlert.stories.tsx +0 -45
- package/src/common/alert/NsAlert.styled.tsx +0 -114
- package/src/common/alert/NsAlert.tsx +0 -93
- package/src/common/alert/index.ts +0 -2
- package/src/common/alert/types.d.ts +0 -45
- package/src/common/auth-dropdown/NsAuthDropdown.spec.tsx +0 -54
- package/src/common/auth-dropdown/NsAuthDropdown.stories.tsx +0 -25
- package/src/common/auth-dropdown/NsAuthDropdown.styled.ts +0 -120
- package/src/common/auth-dropdown/NsAuthDropdown.tsx +0 -72
- package/src/common/auth-dropdown/index.ts +0 -2
- package/src/common/auth-dropdown/types.d.ts +0 -11
- package/src/common/autocomplete/NsAutocomplete.spec.tsx +0 -91
- package/src/common/autocomplete/NsAutocomplete.styled.tsx +0 -24
- package/src/common/autocomplete/NsAutocomplete.tsx +0 -225
- package/src/common/autocomplete/helper/LineLoader.tsx +0 -38
- package/src/common/autocomplete/helper/RecentClearAll.tsx +0 -43
- package/src/common/autocomplete/helper/SeeMoreButton.tsx +0 -68
- package/src/common/autocomplete/helper/index.ts +0 -4
- package/src/common/autocomplete/helper/renderGroupName.tsx +0 -26
- package/src/common/autocomplete/index.ts +0 -2
- package/src/common/autocomplete/mock/Mock.styled.tsx +0 -23
- package/src/common/autocomplete/mock/MockData.ts +0 -89
- package/src/common/autocomplete/mock/MockUI.tsx +0 -26
- package/src/common/autocomplete/stories/NoCloseAutoComplete.tsx +0 -49
- package/src/common/autocomplete/stories/NsAutocomplete.stories.tsx +0 -78
- package/src/common/autocomplete/stories/RenderAutoComplete.tsx +0 -60
- package/src/common/autocomplete/types.d.ts +0 -67
- package/src/common/banner/NsBanner.spec.tsx +0 -28
- package/src/common/banner/NsBanner.stories.tsx +0 -47
- package/src/common/banner/NsBanner.styled.tsx +0 -24
- package/src/common/banner/NsBanner.tsx +0 -32
- package/src/common/banner/index.ts +0 -2
- package/src/common/banner/types.d.ts +0 -14
- package/src/common/brand-components/NsBrand.stories.tsx +0 -26
- package/src/common/brand-components/NsBrandComponent.spec.tsx +0 -47
- package/src/common/brand-components/NsBrandComponent.tsx +0 -33
- package/src/common/brand-components/NsBrandContainer.styled.tsx +0 -10
- package/src/common/brand-components/icons/Logo.spec.tsx +0 -84
- package/src/common/brand-components/icons/NSLogoHorizontal.tsx +0 -70
- package/src/common/brand-components/icons/NSLogoMark.tsx +0 -39
- package/src/common/brand-components/icons/NSLogoPoweredBy.tsx +0 -103
- package/src/common/brand-components/icons/NSLogoStacked.tsx +0 -57
- package/src/common/brand-components/icons/NSWordMark.tsx +0 -60
- package/src/common/brand-components/index.ts +0 -2
- package/src/common/brand-components/types.d.ts +0 -11
- package/src/common/breadcrumb/NsBreadcrumb.spec.tsx +0 -28
- package/src/common/breadcrumb/NsBreadcrumb.stories.tsx +0 -39
- package/src/common/breadcrumb/NsBreadcrumb.styled.tsx +0 -36
- package/src/common/breadcrumb/NsBreadcrumb.tsx +0 -85
- package/src/common/breadcrumb/data.ts +0 -10
- package/src/common/breadcrumb/index.ts +0 -2
- package/src/common/breadcrumb/types.d.ts +0 -14
- package/src/common/button/NsButton.spec.tsx +0 -94
- package/src/common/button/NsButton.stories.tsx +0 -118
- package/src/common/button/NsButton.styled.tsx +0 -57
- package/src/common/button/NsButton.tsx +0 -48
- package/src/common/button/__snapshots__/NsButton.spec.tsx.snap +0 -120
- package/src/common/button/helper.ts +0 -84
- package/src/common/button/index.ts +0 -2
- package/src/common/button/types.d.ts +0 -26
- package/src/common/card/CardButton.tsx +0 -58
- package/src/common/card/NsAwardCard.tsx +0 -71
- package/src/common/card/NsBgCard.tsx +0 -26
- package/src/common/card/NsBrandCard.tsx +0 -88
- package/src/common/card/NsBrandLogo.tsx +0 -16
- package/src/common/card/NsBrandWrapper.tsx +0 -25
- package/src/common/card/NsCheckoutCard.tsx +0 -107
- package/src/common/card/NsHeroCardLevel1.tsx +0 -105
- package/src/common/card/NsHeroCardLevel2.tsx +0 -95
- package/src/common/card/NsIconText.tsx +0 -165
- package/src/common/card/NsLargeCard.tsx +0 -108
- package/src/common/card/NsMediumCard.tsx +0 -110
- package/src/common/card/NsPost.tsx +0 -78
- package/src/common/card/NsSmallFullCard.tsx +0 -93
- package/src/common/card/NsXLargeCard.tsx +0 -89
- package/src/common/card/cardSizes.ts +0 -12
- package/src/common/card/fixtures/ImageData1.ts +0 -38
- package/src/common/card/fixtures/ImageData2.ts +0 -38
- package/src/common/card/index.ts +0 -15
- package/src/common/card/specs/BrandLogo.spec.tsx +0 -13
- package/src/common/card/specs/NsAwardCard.spec.tsx +0 -29
- package/src/common/card/specs/NsBgCard.spec.tsx +0 -23
- package/src/common/card/specs/NsBrandCard.spec.tsx +0 -84
- package/src/common/card/specs/NsCheckoutCard.spec.tsx +0 -39
- package/src/common/card/specs/NsHeroCardLevel1.spec.tsx +0 -39
- package/src/common/card/specs/NsHeroCardLevel2.spec.tsx +0 -49
- package/src/common/card/specs/NsIconText.spec.tsx +0 -25
- package/src/common/card/specs/NsLargeCard.spec.tsx +0 -47
- package/src/common/card/specs/NsMediumCard.spec.tsx +0 -51
- package/src/common/card/specs/NsPost.spec.tsx +0 -28
- package/src/common/card/specs/NsSmallFullCard.spec.tsx +0 -47
- package/src/common/card/specs/NsXLargeCard.spec.tsx +0 -47
- package/src/common/card/stories/NsAwardCard.stories.tsx +0 -21
- package/src/common/card/stories/NsBrandCard.stories.tsx +0 -32
- package/src/common/card/stories/NsCheckoutCard.stories.tsx +0 -23
- package/src/common/card/stories/NsHeroCardLevel1.stories.tsx +0 -30
- package/src/common/card/stories/NsHeroCardLevel2.stories.tsx +0 -29
- package/src/common/card/stories/NsIconText.stories.tsx +0 -18
- package/src/common/card/stories/NsLargeCard.stories.tsx +0 -32
- package/src/common/card/stories/NsMediumCard.stories.tsx +0 -34
- package/src/common/card/stories/NsPost.stories.tsx +0 -20
- package/src/common/card/stories/NsSmallFullCard.stories.tsx +0 -31
- package/src/common/card/stories/NsXLargeCard.stories.tsx +0 -32
- package/src/common/card/stories/data.ts +0 -43
- package/src/common/card/types.d.ts +0 -25
- package/src/common/carousal/CarousalControl.tsx +0 -47
- package/src/common/carousal/IconWrapper.tsx +0 -33
- package/src/common/carousal/NsCarousal.tsx +0 -65
- package/src/common/carousal/NsScrollingCarousal.tsx +0 -60
- package/src/common/carousal/RenderBrand.tsx +0 -20
- package/src/common/carousal/index.ts +0 -5
- package/src/common/carousal/slickSetting.ts +0 -61
- package/src/common/carousal/specs/Chevron.spec.tsx +0 -10
- package/src/common/carousal/specs/NsCarousal.spec.tsx +0 -112
- package/src/common/carousal/specs/NsScrollingCarousal.spec.tsx +0 -63
- package/src/common/carousal/specs/RenderBrand.spec.tsx +0 -22
- package/src/common/carousal/stories/NsCarousal1.stories.tsx +0 -34
- package/src/common/carousal/stories/NsScrollingCarousal.stories.tsx +0 -80
- package/src/common/carousal/types.d.ts +0 -23
- package/src/common/cart-icon/NsCartIcon.spec.tsx +0 -19
- package/src/common/cart-icon/NsCartIcon.stories.tsx +0 -28
- package/src/common/cart-icon/NsCartIcon.styled.tsx +0 -15
- package/src/common/cart-icon/NsCartIcon.tsx +0 -24
- package/src/common/cart-icon/index.ts +0 -2
- package/src/common/cart-icon/types.d.ts +0 -8
- package/src/common/checkbox/NsCheckbox.spec.tsx +0 -57
- package/src/common/checkbox/NsCheckbox.stories.tsx +0 -55
- package/src/common/checkbox/NsCheckbox.styled.tsx +0 -55
- package/src/common/checkbox/NsCheckbox.tsx +0 -68
- package/src/common/checkbox/index.ts +0 -2
- package/src/common/checkbox/types.d.ts +0 -20
- package/src/common/column-control/NsColumnControl.tsx +0 -64
- package/src/common/column-control/NsFlexColumns.tsx +0 -29
- package/src/common/column-control/NsGridColumns.tsx +0 -29
- package/src/common/column-control/index.ts +0 -4
- package/src/common/column-control/specs/NsColumnControl.spec.tsx +0 -24
- package/src/common/column-control/specs/NsFlexColumns.spec.tsx +0 -24
- package/src/common/column-control/specs/NsGridColumns.spec.tsx +0 -24
- package/src/common/column-control/stories/DivArray.stories.tsx +0 -18
- package/src/common/column-control/stories/DivArray.tsx +0 -63
- package/src/common/column-control/stories/NsColumnControl.stories.tsx +0 -65
- package/src/common/column-control/stories/NsFlexColumns.stories.tsx +0 -66
- package/src/common/column-control/stories/NsGridColumns.stories.tsx +0 -75
- package/src/common/column-control/stories/common.tsx +0 -14
- package/src/common/column-control/styled/StyledFlex.tsx +0 -46
- package/src/common/column-control/styled/StyledGrid.tsx +0 -41
- package/src/common/column-control/styled/common.ts +0 -27
- package/src/common/column-control/types.d.ts +0 -46
- package/src/common/column-control/utils.ts +0 -66
- package/src/common/common.types.d.ts +0 -21
- package/src/common/dropdown/NsDropdown.spec.tsx +0 -126
- package/src/common/dropdown/NsDropdown.styled.tsx +0 -66
- package/src/common/dropdown/NsDropdown.tsx +0 -94
- package/src/common/dropdown/NsDropdownOption.tsx +0 -13
- package/src/common/dropdown/index.ts +0 -3
- package/src/common/dropdown/stories/NsDropdown.stories.tsx +0 -67
- package/src/common/dropdown/stories/NsDropdownCountry.stories.tsx +0 -64
- package/src/common/dropdown/types.d.ts +0 -23
- package/src/common/email-simple/NsEmailSimple.spec.tsx +0 -115
- package/src/common/email-simple/NsEmailSimple.stories.tsx +0 -61
- package/src/common/email-simple/NsEmailSimple.tsx +0 -72
- package/src/common/email-simple/index.ts +0 -2
- package/src/common/email-simple/types.d.ts +0 -14
- package/src/common/flag/NsFlag.spec.tsx +0 -27
- package/src/common/flag/NsFlag.stories.tsx +0 -22
- package/src/common/flag/NsFlag.styled.tsx +0 -73
- package/src/common/flag/NsFlag.tsx +0 -24
- package/src/common/flag/index.ts +0 -2
- package/src/common/flag/types.d.ts +0 -16
- package/src/common/hooks/index.ts +0 -2
- package/src/common/hooks/specs/useWindowSize.spec.tsx +0 -19
- package/src/common/hooks/useAccordionMap.tsx +0 -39
- package/src/common/hooks/useOnClickOutside.tsx +0 -25
- package/src/common/hooks/useWindowSize.tsx +0 -30
- package/src/common/icon/NsIcon.spec.tsx +0 -51
- package/src/common/icon/NsIcon.stories.tsx +0 -77
- package/src/common/icon/NsIcon.styled.tsx +0 -27
- package/src/common/icon/NsIcon.tsx +0 -44
- package/src/common/icon/NsIconVariants.ts +0 -56
- package/src/common/icon/icons/AlertErrorIcon.tsx +0 -48
- package/src/common/icon/icons/ArrowDown.tsx +0 -23
- package/src/common/icon/icons/ArrowLeft.tsx +0 -38
- package/src/common/icon/icons/ArrowRight.tsx +0 -39
- package/src/common/icon/icons/ArrowUp.tsx +0 -20
- package/src/common/icon/icons/Cart.tsx +0 -23
- package/src/common/icon/icons/CartBadge.tsx +0 -47
- package/src/common/icon/icons/Check.tsx +0 -30
- package/src/common/icon/icons/CheckShield.tsx +0 -24
- package/src/common/icon/icons/CheckVerified.tsx +0 -27
- package/src/common/icon/icons/ChevronRight.tsx +0 -31
- package/src/common/icon/icons/CloseIcon.tsx +0 -27
- package/src/common/icon/icons/ErrorIcon.tsx +0 -30
- package/src/common/icon/icons/HamburgerIcon.tsx +0 -35
- package/src/common/icon/icons/InfoFilled.tsx +0 -21
- package/src/common/icon/icons/InfoOutlined.tsx +0 -42
- package/src/common/icon/icons/RoundedClose.tsx +0 -31
- package/src/common/icon/icons/SearchIcon.tsx +0 -32
- package/src/common/icon/icons/SlashIcon.tsx +0 -22
- package/src/common/icon/icons/SuccessIcon.tsx +0 -40
- package/src/common/icon/icons/TrashIcon.tsx +0 -32
- package/src/common/icon/icons/UserIcon.tsx +0 -37
- package/src/common/icon/icons/UserOutline.tsx +0 -29
- package/src/common/icon/icons/WarningIcon.tsx +0 -48
- package/src/common/icon/icons/error.svg +0 -3
- package/src/common/icon/icons/home.tsx +0 -19
- package/src/common/icon/icons/search.svg +0 -3
- package/src/common/icon/icons/success.svg +0 -10
- package/src/common/icon/icons/trash.svg +0 -3
- package/src/common/icon/index.ts +0 -3
- package/src/common/icon/types.d.ts +0 -53
- package/src/common/image/BynderMedia.spec.tsx +0 -42
- package/src/common/image/BynderMedia.tsx +0 -49
- package/src/common/image/NsImage.spec.tsx +0 -60
- package/src/common/image/NsImage.stories.tsx +0 -46
- package/src/common/image/NsImage.tsx +0 -33
- package/src/common/image/NsNextImage.spec.tsx +0 -10
- package/src/common/image/NsNextImage.stories.tsx +0 -51
- package/src/common/image/NsNextImage.tsx +0 -11
- package/src/common/image/bynder-util.spec.ts +0 -187
- package/src/common/image/bynder-util.ts +0 -98
- package/src/common/image/index.ts +0 -3
- package/src/common/image/types.ts +0 -78
- package/src/common/index.ts +0 -37
- package/src/common/input/InputFieldWrapper.tsx +0 -24
- package/src/common/input/InputWrapper.tsx +0 -82
- package/src/common/input/NsInputField.spec.tsx +0 -25
- package/src/common/input/NsInputField.stories.tsx +0 -61
- package/src/common/input/NsInputField.tsx +0 -125
- package/src/common/input/getAdornmentProps.tsx +0 -50
- package/src/common/input/index.ts +0 -2
- package/src/common/input/types.d.ts +0 -45
- package/src/common/label/NsLabel.spec.tsx +0 -11
- package/src/common/label/NsLabel.stories.tsx +0 -35
- package/src/common/label/NsLabel.tsx +0 -43
- package/src/common/label/index.ts +0 -2
- package/src/common/label/types.d.ts +0 -10
- package/src/common/link/NsLink.spec.tsx +0 -106
- package/src/common/link/NsLink.stories.tsx +0 -55
- package/src/common/link/NsLink.styled.tsx +0 -100
- package/src/common/link/NsLink.tsx +0 -122
- package/src/common/link/index.ts +0 -2
- package/src/common/link/types.d.ts +0 -22
- package/src/common/modal/NsModal.spec.tsx +0 -46
- package/src/common/modal/NsModal.styled.tsx +0 -28
- package/src/common/modal/NsModal.tsx +0 -43
- package/src/common/modal/helper-component/NsModalContentBox.tsx +0 -37
- package/src/common/modal/helper-component/NsModalDefault.tsx +0 -34
- package/src/common/modal/helper-component/NsModalStatus.tsx +0 -17
- package/src/common/modal/helper-component/NsModalStatusIcon.tsx +0 -16
- package/src/common/modal/helper-component/NsModalTitle.tsx +0 -29
- package/src/common/modal/index.ts +0 -2
- package/src/common/modal/model/NsModalVariantMap.tsx +0 -24
- package/src/common/modal/stories/NsModal.stories.tsx +0 -87
- package/src/common/modal/stories/mock.tsx +0 -46
- package/src/common/modal/types.ts +0 -57
- package/src/common/nav-product-card/NsNavProductCard.spec.tsx +0 -22
- package/src/common/nav-product-card/NsNavProductCard.stories.tsx +0 -25
- package/src/common/nav-product-card/NsNavProductCard.styled.tsx +0 -24
- package/src/common/nav-product-card/NsNavProductCard.tsx +0 -27
- package/src/common/nav-product-card/index.ts +0 -2
- package/src/common/nav-product-card/types.d.ts +0 -9
- package/src/common/nav-tab/NavDrawer.tsx +0 -41
- package/src/common/nav-tab/NavTitles.tsx +0 -64
- package/src/common/nav-tab/NsNavTab.spec.tsx +0 -64
- package/src/common/nav-tab/NsNavTab.stories.tsx +0 -36
- package/src/common/nav-tab/NsNavTab.styled.tsx +0 -74
- package/src/common/nav-tab/NsNavTab.tsx +0 -43
- package/src/common/nav-tab/index.ts +0 -2
- package/src/common/nav-tab/types.d.ts +0 -21
- package/src/common/progress/NsProgress.spec.tsx +0 -47
- package/src/common/progress/NsProgress.stories.tsx +0 -45
- package/src/common/progress/NsProgress.styled.tsx +0 -56
- package/src/common/progress/NsProgress.tsx +0 -29
- package/src/common/progress/index.ts +0 -2
- package/src/common/progress/types.d.ts +0 -21
- package/src/common/radiogroup/NsRadioGroup.spec.tsx +0 -63
- package/src/common/radiogroup/NsRadioGroup.stories.tsx +0 -84
- package/src/common/radiogroup/NsRadioGroup.styled.tsx +0 -51
- package/src/common/radiogroup/NsRadioGroup.tsx +0 -65
- package/src/common/radiogroup/index.ts +0 -2
- package/src/common/radiogroup/types.d.ts +0 -19
- package/src/common/search-bar/NsSeachBar.spec.tsx +0 -9
- package/src/common/search-bar/NsSearchBar.tsx +0 -46
- package/src/common/select/DefaultRenderOption.tsx +0 -8
- package/src/common/select/NsSelect.styled.tsx +0 -102
- package/src/common/select/NsSelect.tsx +0 -166
- package/src/common/select/NsSelectOption.tsx +0 -26
- package/src/common/select/constant.ts +0 -30
- package/src/common/select/index.ts +0 -3
- package/src/common/select/specs/NsSelect.spec.tsx +0 -183
- package/src/common/select/specs/NsSelectOption.spec.tsx +0 -32
- package/src/common/select/stories/NsSelect.stories.tsx +0 -89
- package/src/common/select/stories/countries.ts +0 -53
- package/src/common/select/types.d.ts +0 -49
- package/src/common/spinner/NsSpinner.spec.tsx +0 -21
- package/src/common/spinner/NsSpinner.stories.tsx +0 -29
- package/src/common/spinner/NsSpinner.styled.tsx +0 -344
- package/src/common/spinner/NsSpinner.tsx +0 -15
- package/src/common/spinner/icons/Spinner.tsx +0 -163
- package/src/common/spinner/index.ts +0 -2
- package/src/common/spinner/types.ts +0 -5
- package/src/common/table/NsExpandableRow.tsx +0 -62
- package/src/common/table/NsTable.spec.tsx +0 -174
- package/src/common/table/NsTable.stories.tsx +0 -156
- package/src/common/table/NsTable.styled.ts +0 -127
- package/src/common/table/NsTable.tsx +0 -150
- package/src/common/table/NsTableHeader.tsx +0 -54
- package/src/common/table/NsTablePagination.tsx +0 -24
- package/src/common/table/helper.ts +0 -33
- package/src/common/table/index.ts +0 -2
- package/src/common/table/types.d.ts +0 -57
- package/src/common/text-strip/NsTextStrip.spec.tsx +0 -27
- package/src/common/text-strip/NsTextStrip.stories.tsx +0 -61
- package/src/common/text-strip/NsTextStrip.tsx +0 -61
- package/src/common/text-strip/index.ts +0 -2
- package/src/common/text-strip/types.d.ts +0 -16
- package/src/common/toast/Fade.tsx +0 -98
- package/src/common/toast/ToastProvider.tsx +0 -88
- package/src/common/toast/index.ts +0 -3
- package/src/common/toast/shared.ts +0 -124
- package/src/common/toast/specs/Toast.spec.tsx +0 -122
- package/src/common/toast/stories/Toast.stories.tsx +0 -82
- package/src/common/toast/useToast.tsx +0 -65
- package/src/common/typography/GlobalFontInter.tsx +0 -15
- package/src/common/typography/HtmlTagVariantMap.tsx +0 -24
- package/src/common/typography/NsTypography.spec.tsx +0 -37
- package/src/common/typography/NsTypography.stories.tsx +0 -27
- package/src/common/typography/NsTypography.tsx +0 -44
- package/src/common/typography/Typography.styled.tsx +0 -195
- package/src/common/typography/__snapshots__/NsTypography.spec.tsx.snap +0 -22
- package/src/common/typography/index.ts +0 -3
- package/src/common/typography/types.d.ts +0 -37
- package/src/common/util.ts +0 -3
- package/src/common/utility/Show.tsx +0 -13
- package/src/common/utility/index.ts +0 -1
- package/src/common/validations/regex.ts +0 -2
- package/src/common/videos/NsVideo.spec.tsx +0 -26
- package/src/common/videos/NsVideo.stories.tsx +0 -32
- package/src/common/videos/NsVideo.tsx +0 -28
- package/src/common/videos/index.ts +0 -2
- package/src/common/videos/types.d.ts +0 -9
|
@@ -1,24 +0,0 @@
|
|
|
1
|
-
import { NsColumnControl } from '@/common/index';
|
|
2
|
-
import { render, screen } from '@/test-utils/index';
|
|
3
|
-
import { DivArray } from '../stories/DivArray';
|
|
4
|
-
|
|
5
|
-
describe('NsColumnControl component', () => {
|
|
6
|
-
it('renders an column with proper grid value for tablet', () => {
|
|
7
|
-
render(
|
|
8
|
-
<NsColumnControl columnClass="ns-col-lg-1-1-1 ns-col-md-1-1 ns-col-sm-1">
|
|
9
|
-
<DivArray elementsCount={4} />
|
|
10
|
-
</NsColumnControl>
|
|
11
|
-
);
|
|
12
|
-
const element = screen.getByTestId('ns-column-control');
|
|
13
|
-
expect(element).toHaveStyle('grid-template-columns: 1fr 1fr 1fr;}');
|
|
14
|
-
});
|
|
15
|
-
it('renders an column with proper grid value', () => {
|
|
16
|
-
console.warn = jest.fn();
|
|
17
|
-
render(
|
|
18
|
-
<NsColumnControl columnClass="">
|
|
19
|
-
<DivArray elementsCount={4} />
|
|
20
|
-
</NsColumnControl>
|
|
21
|
-
);
|
|
22
|
-
expect(console.warn).toHaveBeenCalledWith(expect.stringContaining('Received invalid className'));
|
|
23
|
-
});
|
|
24
|
-
});
|
|
@@ -1,24 +0,0 @@
|
|
|
1
|
-
import { render, screen } from '../../../../test-utils';
|
|
2
|
-
import { NsFlexColumns } from '@/common/index';
|
|
3
|
-
import { DivArray } from '../stories/DivArray';
|
|
4
|
-
|
|
5
|
-
describe('NsFlexColumns component', () => {
|
|
6
|
-
it('renders an column with proper grid value for tablet', () => {
|
|
7
|
-
render(
|
|
8
|
-
<NsFlexColumns columnClass="ns-col-lg-1-1-1" gap={16}>
|
|
9
|
-
<DivArray elementsCount={4} />
|
|
10
|
-
</NsFlexColumns>
|
|
11
|
-
);
|
|
12
|
-
const element = screen.getByTestId('ns-flex-columns');
|
|
13
|
-
expect(element).toBeInTheDocument();
|
|
14
|
-
});
|
|
15
|
-
it('renders an column with proper grid value', () => {
|
|
16
|
-
console.warn = jest.fn();
|
|
17
|
-
render(
|
|
18
|
-
<NsFlexColumns columnClass="" gap={16}>
|
|
19
|
-
<DivArray elementsCount={4} />
|
|
20
|
-
</NsFlexColumns>
|
|
21
|
-
);
|
|
22
|
-
expect(console.warn).toHaveBeenCalledWith(expect.stringContaining('Received invalid className'));
|
|
23
|
-
});
|
|
24
|
-
});
|
|
@@ -1,24 +0,0 @@
|
|
|
1
|
-
import { render, screen } from '../../../../test-utils';
|
|
2
|
-
import { NsGridColumns } from '@/common/index';
|
|
3
|
-
import { DivArray } from '../stories/DivArray';
|
|
4
|
-
|
|
5
|
-
describe('NsGridColumns component', () => {
|
|
6
|
-
it('renders an column with proper grid value for tablet', () => {
|
|
7
|
-
render(
|
|
8
|
-
<NsGridColumns columnClass="ns-col-lg-1-1-1" gap={16}>
|
|
9
|
-
<DivArray elementsCount={4} />
|
|
10
|
-
</NsGridColumns>
|
|
11
|
-
);
|
|
12
|
-
const element = screen.getByTestId('ns-grid-columns');
|
|
13
|
-
expect(element).toBeInTheDocument();
|
|
14
|
-
});
|
|
15
|
-
it('renders an column with proper grid value', () => {
|
|
16
|
-
console.warn = jest.fn();
|
|
17
|
-
render(
|
|
18
|
-
<NsGridColumns columnClass="" gap={16}>
|
|
19
|
-
<DivArray elementsCount={4} />
|
|
20
|
-
</NsGridColumns>
|
|
21
|
-
);
|
|
22
|
-
expect(console.warn).toHaveBeenCalledWith(expect.stringContaining('Received invalid className'));
|
|
23
|
-
});
|
|
24
|
-
});
|
|
@@ -1,18 +0,0 @@
|
|
|
1
|
-
import type { StoryObj, Meta } from '@storybook/react';
|
|
2
|
-
import { withCenterDecorator } from '@/stories/decorators/withCenterDecorator';
|
|
3
|
-
import {DivArray} from './DivArray';
|
|
4
|
-
|
|
5
|
-
type ComponentType = typeof DivArray;
|
|
6
|
-
type Story = StoryObj<ComponentType>;
|
|
7
|
-
type MetaStory = Meta<ComponentType>;
|
|
8
|
-
|
|
9
|
-
export default {
|
|
10
|
-
title: 'Components/Data Display/Column/NDivs',
|
|
11
|
-
component: DivArray,
|
|
12
|
-
decorators: [withCenterDecorator],
|
|
13
|
-
args: {
|
|
14
|
-
elementsCount: 2,
|
|
15
|
-
},
|
|
16
|
-
} as MetaStory;
|
|
17
|
-
|
|
18
|
-
export const Basic: Story = {};
|
|
@@ -1,63 +0,0 @@
|
|
|
1
|
-
import { PropsWithChildren } from 'react';
|
|
2
|
-
|
|
3
|
-
type DivArrayProps = {
|
|
4
|
-
elementsCount: number;
|
|
5
|
-
};
|
|
6
|
-
|
|
7
|
-
const getRandom = (n: number) => (Math.random() * n).toFixed(0);
|
|
8
|
-
|
|
9
|
-
type DivComponentProps = PropsWithChildren<{ style: Record<string, any>; index: number }>;
|
|
10
|
-
export const DivComponent = ({ style, index, children }: DivComponentProps) => {
|
|
11
|
-
const borderWidth = `${getRandom(5)}px`;
|
|
12
|
-
const padding = `${getRandom(20)}px`;
|
|
13
|
-
return (
|
|
14
|
-
<div
|
|
15
|
-
style={{
|
|
16
|
-
padding,
|
|
17
|
-
border: `${borderWidth} solid`,
|
|
18
|
-
borderColor: `hsl(${getRandom(359)},100%, 50%)`,
|
|
19
|
-
background: `hsla(${getRandom(359)},100%, 50%,0.3)`,
|
|
20
|
-
...style,
|
|
21
|
-
}}
|
|
22
|
-
>
|
|
23
|
-
{index}
|
|
24
|
-
{children}
|
|
25
|
-
</div>
|
|
26
|
-
);
|
|
27
|
-
};
|
|
28
|
-
/**
|
|
29
|
-
* this component return a fragment containing n number of div, with each div numbered as per its index
|
|
30
|
-
* @param n: number of div to render
|
|
31
|
-
* @returns
|
|
32
|
-
*/
|
|
33
|
-
export const DivArray = ({ elementsCount }: DivArrayProps) => (
|
|
34
|
-
<>
|
|
35
|
-
{Array(elementsCount)
|
|
36
|
-
.fill(0)
|
|
37
|
-
.map((_, index) => (
|
|
38
|
-
<DivComponent key={index} index={index + 1} style={{}} />
|
|
39
|
-
))}
|
|
40
|
-
</>
|
|
41
|
-
);
|
|
42
|
-
export const DivArrayRandom = ({ elementsCount }: DivArrayProps) => (
|
|
43
|
-
<>
|
|
44
|
-
{Array(elementsCount)
|
|
45
|
-
.fill(0)
|
|
46
|
-
.map((_, index) => {
|
|
47
|
-
const width = `${getRandom(700)}px`;
|
|
48
|
-
const height = `${getRandom(400)}px`;
|
|
49
|
-
return (
|
|
50
|
-
<DivComponent
|
|
51
|
-
key={index}
|
|
52
|
-
index={index + 1}
|
|
53
|
-
style={{
|
|
54
|
-
width,
|
|
55
|
-
height,
|
|
56
|
-
}}
|
|
57
|
-
>
|
|
58
|
-
item no = {index + 1} with width = {width} and height = {height}
|
|
59
|
-
</DivComponent>
|
|
60
|
-
);
|
|
61
|
-
})}
|
|
62
|
-
</>
|
|
63
|
-
);
|
|
@@ -1,65 +0,0 @@
|
|
|
1
|
-
import { ReactElement } from 'react';
|
|
2
|
-
|
|
3
|
-
import { NsColumnControl } from '@/common/index';
|
|
4
|
-
import { withCenterDecorator } from '@/stories/decorators/withCenterDecorator';
|
|
5
|
-
import type { Meta, StoryObj } from '@storybook/react';
|
|
6
|
-
|
|
7
|
-
import { childrenMapping, selectDivOptions } from './common';
|
|
8
|
-
import { DivArray } from './DivArray';
|
|
9
|
-
|
|
10
|
-
type ComponentType = typeof NsColumnControl;
|
|
11
|
-
type Story = StoryObj<ComponentType>;
|
|
12
|
-
type MetaStory = Meta<ComponentType>;
|
|
13
|
-
|
|
14
|
-
export default {
|
|
15
|
-
title: 'Components/Data Display/Column/NsColumnControl',
|
|
16
|
-
component: NsColumnControl,
|
|
17
|
-
decorators: [withCenterDecorator],
|
|
18
|
-
argTypes: {
|
|
19
|
-
columnClass: {
|
|
20
|
-
control: 'text',
|
|
21
|
-
defaultValue: 'ns-col-lg-1-1-1 ns-col-md-1-1 ns-col-sm-1',
|
|
22
|
-
},
|
|
23
|
-
children: {
|
|
24
|
-
control: {
|
|
25
|
-
type: 'select',
|
|
26
|
-
options: selectDivOptions,
|
|
27
|
-
},
|
|
28
|
-
defaultValue: (<DivArray elementsCount={8} />) as ReactElement,
|
|
29
|
-
mapping: childrenMapping,
|
|
30
|
-
},
|
|
31
|
-
},
|
|
32
|
-
args: {
|
|
33
|
-
columnClass: 'ns-col-lg-1-1-1 ns-col-md-1-1 ns-col-sm-1',
|
|
34
|
-
children: (<DivArray elementsCount={12} />) as ReactElement,
|
|
35
|
-
},
|
|
36
|
-
} as MetaStory;
|
|
37
|
-
|
|
38
|
-
export const ResponsiveColumnControl: Story = {};
|
|
39
|
-
export const SingleColumnControl: Story = {
|
|
40
|
-
args: { columnClass: '' },
|
|
41
|
-
};
|
|
42
|
-
export const TwoColumn11: Story = {
|
|
43
|
-
args: { columnClass: 'ns-col-lg-1-1' },
|
|
44
|
-
};
|
|
45
|
-
export const TwoColumn21: Story = {
|
|
46
|
-
args: { columnClass: 'ns-col-lg-2-1' },
|
|
47
|
-
};
|
|
48
|
-
export const ThreeColumn111: Story = {
|
|
49
|
-
args: { columnClass: 'ns-col-lg-1-1-1' },
|
|
50
|
-
};
|
|
51
|
-
export const ThreeColumn211: Story = {
|
|
52
|
-
args: { columnClass: 'ns-col-lg-2-1-1' },
|
|
53
|
-
};
|
|
54
|
-
export const ThreeColumn121: Story = {
|
|
55
|
-
args: { columnClass: 'ns-col-lg-1-2-1' },
|
|
56
|
-
};
|
|
57
|
-
export const ThreeColumn11Responsive: Story = {
|
|
58
|
-
args: { columnClass: 'ns-col-lg-1-1 ns-col-md-1' },
|
|
59
|
-
};
|
|
60
|
-
export const FourColumn1111: Story = {
|
|
61
|
-
args: { columnClass: 'ns-col-lg-1-1-1-1' },
|
|
62
|
-
};
|
|
63
|
-
export const FourColumn1111Responsive: Story = {
|
|
64
|
-
args: { columnClass: 'ns-col-lg-1-1-1-1 ns-col-md-1-1 ns-col-sm-1' },
|
|
65
|
-
};
|
|
@@ -1,66 +0,0 @@
|
|
|
1
|
-
import { ReactElement } from 'react';
|
|
2
|
-
|
|
3
|
-
import { withCenterDecorator } from '@/stories/decorators/withCenterDecorator';
|
|
4
|
-
import type { Meta, StoryObj } from '@storybook/react';
|
|
5
|
-
|
|
6
|
-
import { NsFlexColumns } from '../';
|
|
7
|
-
import { childrenMapping, selectDivOptions } from './common';
|
|
8
|
-
import { DivArray, DivArrayRandom } from './DivArray';
|
|
9
|
-
|
|
10
|
-
type ComponentType = typeof NsFlexColumns;
|
|
11
|
-
type Story = StoryObj<ComponentType>;
|
|
12
|
-
type MetaStory = Meta<ComponentType>;
|
|
13
|
-
|
|
14
|
-
export default {
|
|
15
|
-
title: 'Components/Data Display/Column/NsFlexColumns',
|
|
16
|
-
component: NsFlexColumns,
|
|
17
|
-
decorators: [withCenterDecorator],
|
|
18
|
-
argTypes: {
|
|
19
|
-
columnClass: {
|
|
20
|
-
control: 'text',
|
|
21
|
-
defaultValue: 'ns-col-lg-1-1-1 ns-col-md-1-1 ns-col-sm-1',
|
|
22
|
-
},
|
|
23
|
-
gap: {
|
|
24
|
-
control: 'number',
|
|
25
|
-
defaultValue: 16,
|
|
26
|
-
},
|
|
27
|
-
children: {
|
|
28
|
-
control: {
|
|
29
|
-
type: 'select',
|
|
30
|
-
options: selectDivOptions,
|
|
31
|
-
},
|
|
32
|
-
defaultValue: (<DivArrayRandom elementsCount={8} />) as ReactElement,
|
|
33
|
-
mapping: childrenMapping,
|
|
34
|
-
},
|
|
35
|
-
},
|
|
36
|
-
args: {
|
|
37
|
-
columnClass: '',
|
|
38
|
-
children: (<DivArrayRandom elementsCount={12} />) as ReactElement,
|
|
39
|
-
},
|
|
40
|
-
} as MetaStory;
|
|
41
|
-
|
|
42
|
-
export const DefaultColumnControl: Story = {
|
|
43
|
-
args: {
|
|
44
|
-
children: (<DivArray elementsCount={8} />) as ReactElement,
|
|
45
|
-
},
|
|
46
|
-
};
|
|
47
|
-
export const TwoColumn11: Story = {
|
|
48
|
-
args: { columnClass: 'ns-col-lg-1-1' },
|
|
49
|
-
};
|
|
50
|
-
export const TwoColumn21: Story = {
|
|
51
|
-
args: { columnClass: 'ns-col-lg-2-1' },
|
|
52
|
-
};
|
|
53
|
-
|
|
54
|
-
export const ThreeColumn211: Story = {
|
|
55
|
-
args: { columnClass: 'ns-col-lg-2-1-1' },
|
|
56
|
-
};
|
|
57
|
-
export const ThreeColumn121: Story = {
|
|
58
|
-
args: { columnClass: 'ns-col-lg-1-2-1' },
|
|
59
|
-
};
|
|
60
|
-
export const ThreeColumn111: Story = {
|
|
61
|
-
args: { columnClass: 'ns-col-lg-1-1-1' },
|
|
62
|
-
};
|
|
63
|
-
|
|
64
|
-
export const FourColumn1111: Story = {
|
|
65
|
-
args: { columnClass: 'ns-col-lg-1-1-1-1' },
|
|
66
|
-
};
|
|
@@ -1,75 +0,0 @@
|
|
|
1
|
-
import { ReactElement } from 'react';
|
|
2
|
-
|
|
3
|
-
import { withCenterDecorator } from '@/stories/decorators/withCenterDecorator';
|
|
4
|
-
import type {
|
|
5
|
-
Meta,
|
|
6
|
-
StoryObj,
|
|
7
|
-
} from '@storybook/react';
|
|
8
|
-
|
|
9
|
-
import { NsGridColumns } from '../';
|
|
10
|
-
import {
|
|
11
|
-
childrenMapping,
|
|
12
|
-
selectDivOptions,
|
|
13
|
-
} from './common';
|
|
14
|
-
import {
|
|
15
|
-
DivArray,
|
|
16
|
-
DivArrayRandom,
|
|
17
|
-
} from './DivArray';
|
|
18
|
-
|
|
19
|
-
type ComponentType = typeof NsGridColumns;
|
|
20
|
-
type Story = StoryObj<ComponentType>;
|
|
21
|
-
type MetaStory = Meta<ComponentType>;
|
|
22
|
-
|
|
23
|
-
export default {
|
|
24
|
-
title: 'Components/Data Display/Column/NsGridColumns',
|
|
25
|
-
component: NsGridColumns,
|
|
26
|
-
decorators: [withCenterDecorator],
|
|
27
|
-
argTypes: {
|
|
28
|
-
columnClass: {
|
|
29
|
-
control: 'text',
|
|
30
|
-
defaultValue: 'ns-col-lg-1-1-1 ns-col-md-1-1 ns-col-sm-1',
|
|
31
|
-
},
|
|
32
|
-
gap: {
|
|
33
|
-
control: 'number',
|
|
34
|
-
defaultValue: 16,
|
|
35
|
-
},
|
|
36
|
-
children: {
|
|
37
|
-
control: {
|
|
38
|
-
type: 'select',
|
|
39
|
-
options: selectDivOptions,
|
|
40
|
-
},
|
|
41
|
-
defaultValue: (<DivArrayRandom elementsCount={8} />) as ReactElement,
|
|
42
|
-
mapping: childrenMapping,
|
|
43
|
-
},
|
|
44
|
-
},
|
|
45
|
-
args: {
|
|
46
|
-
columnClass: '',
|
|
47
|
-
children: (<DivArrayRandom elementsCount={12} />) as ReactElement,
|
|
48
|
-
},
|
|
49
|
-
} as MetaStory;
|
|
50
|
-
|
|
51
|
-
export const DefaultColumnControl: Story = {
|
|
52
|
-
args: {
|
|
53
|
-
children: (<DivArray elementsCount={8} />) as ReactElement,
|
|
54
|
-
},
|
|
55
|
-
};
|
|
56
|
-
export const TwoColumn11: Story = {
|
|
57
|
-
args: { columnClass: 'ns-col-lg-1-1' },
|
|
58
|
-
};
|
|
59
|
-
export const TwoColumn21: Story = {
|
|
60
|
-
args: { columnClass: 'ns-col-lg-2-1' },
|
|
61
|
-
};
|
|
62
|
-
|
|
63
|
-
export const ThreeColumn211: Story = {
|
|
64
|
-
args: { columnClass: 'ns-col-lg-2-1-1' },
|
|
65
|
-
};
|
|
66
|
-
export const ThreeColumn121: Story = {
|
|
67
|
-
args: { columnClass: 'ns-col-lg-1-2-1' },
|
|
68
|
-
};
|
|
69
|
-
export const ThreeColumn111: Story = {
|
|
70
|
-
args: { columnClass: 'ns-col-lg-1-1-1' },
|
|
71
|
-
};
|
|
72
|
-
|
|
73
|
-
export const FourColumn1111: Story = {
|
|
74
|
-
args: { columnClass: 'ns-col-lg-1-1-1-1' },
|
|
75
|
-
};
|
|
@@ -1,14 +0,0 @@
|
|
|
1
|
-
import { DivArray } from './DivArray';
|
|
2
|
-
|
|
3
|
-
/* an array from 1 to n */
|
|
4
|
-
export const selectDivOptions = Array(16)
|
|
5
|
-
.fill(0)
|
|
6
|
-
.map((_, index) => index + 1);
|
|
7
|
-
|
|
8
|
-
/* this component is used only as a utility to show column control in storybook */
|
|
9
|
-
export const childrenMapping = selectDivOptions.reduce((childrenMappingObject, elementCount) => {
|
|
10
|
-
return {
|
|
11
|
-
...childrenMappingObject,
|
|
12
|
-
[elementCount]: <DivArray elementsCount={elementCount} />,
|
|
13
|
-
};
|
|
14
|
-
}, {});
|
|
@@ -1,46 +0,0 @@
|
|
|
1
|
-
import { Box } from '@mui/material';
|
|
2
|
-
import { styled } from '@nuskin/foundation-theme';
|
|
3
|
-
import { sizeObjectType } from '../types';
|
|
4
|
-
import { commonStyles, getPercentArray } from './common';
|
|
5
|
-
import { shouldNotForwardPropsWithKeys } from '../../../common/util';
|
|
6
|
-
|
|
7
|
-
type StyledFlexProps = {
|
|
8
|
-
sizes: sizeObjectType;
|
|
9
|
-
gap?: number;
|
|
10
|
-
isFullWidth: boolean;
|
|
11
|
-
};
|
|
12
|
-
|
|
13
|
-
const options = {
|
|
14
|
-
shouldForwardProp: shouldNotForwardPropsWithKeys<StyledFlexProps>(['sizes']),
|
|
15
|
-
};
|
|
16
|
-
|
|
17
|
-
/* main wrapper for column control using css flex */
|
|
18
|
-
export const StyledFlex = styled(
|
|
19
|
-
Box as any,
|
|
20
|
-
options
|
|
21
|
-
)<StyledFlexProps>(({ sizes, gap, isFullWidth }: StyledFlexProps) => {
|
|
22
|
-
const gridGap = gap ? `${gap}px` : '2rem';
|
|
23
|
-
const fraction = getPercentArray(sizes.fractions);
|
|
24
|
-
const flexResponsive = { flexGrow: 1, flexShrink: 1 };
|
|
25
|
-
const maxWidth = isFullWidth ? '100%' : '1200px';
|
|
26
|
-
const style: any = {
|
|
27
|
-
gap: gridGap,
|
|
28
|
-
...commonStyles,
|
|
29
|
-
maxWidth,
|
|
30
|
-
display: 'flex',
|
|
31
|
-
paddingInline: '20px',
|
|
32
|
-
flexWrap: 'wrap',
|
|
33
|
-
justifyContent: 'center',
|
|
34
|
-
'> *': {
|
|
35
|
-
display: 'flex',
|
|
36
|
-
minWidth: '220px',
|
|
37
|
-
},
|
|
38
|
-
};
|
|
39
|
-
fraction.forEach((f, i) => {
|
|
40
|
-
style[`> :nth-of-type(${fraction.length}n+${i + 1})`] = {
|
|
41
|
-
flexBasis: `calc(${fraction[i]} - ${gridGap})`,
|
|
42
|
-
...flexResponsive,
|
|
43
|
-
};
|
|
44
|
-
});
|
|
45
|
-
return style;
|
|
46
|
-
});
|
|
@@ -1,41 +0,0 @@
|
|
|
1
|
-
import { Box } from '@mui/material';
|
|
2
|
-
import { styled } from '@nuskin/foundation-theme';
|
|
3
|
-
import { sizeObjectType } from '../types';
|
|
4
|
-
import { commonStyles, getPercentArray } from './common';
|
|
5
|
-
import { shouldNotForwardPropsWithKeys } from '../../../common/util';
|
|
6
|
-
|
|
7
|
-
type StyledGridProps = {
|
|
8
|
-
sizes: sizeObjectType;
|
|
9
|
-
gap?: number;
|
|
10
|
-
isFullWidth: boolean;
|
|
11
|
-
};
|
|
12
|
-
const options = {
|
|
13
|
-
shouldForwardProp: shouldNotForwardPropsWithKeys<StyledGridProps>(['sizes']),
|
|
14
|
-
};
|
|
15
|
-
|
|
16
|
-
/* main wrapper for column control using css grid */
|
|
17
|
-
export const StyledGrid = styled(
|
|
18
|
-
Box as any,
|
|
19
|
-
options
|
|
20
|
-
)<StyledGridProps>(({ sizes, gap, isFullWidth }: StyledGridProps) => {
|
|
21
|
-
const gridGap = gap ?? '2rem';
|
|
22
|
-
const maxWidth = isFullWidth ? '100%' : '1200px';
|
|
23
|
-
return {
|
|
24
|
-
gap: gridGap,
|
|
25
|
-
...commonStyles,
|
|
26
|
-
maxWidth,
|
|
27
|
-
display: 'grid',
|
|
28
|
-
/* here we are creating gridTemplateColumns as calc(40% - 20px) calc(40% - 20px), */
|
|
29
|
-
gridTemplateColumns: getPercentArray(sizes.fractions)
|
|
30
|
-
?.map((fractionPercent) => `calc(${fractionPercent} - 20px)`)
|
|
31
|
-
.join(''),
|
|
32
|
-
justifyContent: 'center',
|
|
33
|
-
'> *': {
|
|
34
|
-
minWidth: '220px',
|
|
35
|
-
width: 'auto !important',
|
|
36
|
-
},
|
|
37
|
-
'.span-2': {
|
|
38
|
-
gridColumn: 'span 2',
|
|
39
|
-
},
|
|
40
|
-
} as any;
|
|
41
|
-
});
|
|
@@ -1,27 +0,0 @@
|
|
|
1
|
-
const mobileBreakPoint = '600px';
|
|
2
|
-
|
|
3
|
-
export const commonStyles = {
|
|
4
|
-
margin: '32px auto',
|
|
5
|
-
|
|
6
|
-
[`@media (max-width: ${mobileBreakPoint})`]: {
|
|
7
|
-
display: 'flex',
|
|
8
|
-
flexDirection: 'column',
|
|
9
|
-
flexWrap: 'wrap',
|
|
10
|
-
margin: '2rem 1rem',
|
|
11
|
-
'> * ': {
|
|
12
|
-
flex: '1 1 0 !important',
|
|
13
|
-
},
|
|
14
|
-
},
|
|
15
|
-
};
|
|
16
|
-
/*
|
|
17
|
-
we have kept extra margin by taking 80% instead of 100%, because margins and padding,
|
|
18
|
-
and gaps also take up space, so we should be left with appropriate space
|
|
19
|
-
example:
|
|
20
|
-
['1','1'] => ['40%','40%']
|
|
21
|
-
['1','2'] => ['27%','53%']
|
|
22
|
-
*/
|
|
23
|
-
export function getPercentArray(fractionArray?: string[] | number[]): string[] {
|
|
24
|
-
const numbers = fractionArray?.map((numberString) => +numberString)?.filter((num) => 0 < num && num < 10) ?? [];
|
|
25
|
-
const sum = numbers.reduce((currentSum, currentNumber) => currentSum + currentNumber, 0);
|
|
26
|
-
return numbers.map((currentNumber) => ((currentNumber / sum) * 80).toFixed(2) + '%');
|
|
27
|
-
}
|
|
@@ -1,46 +0,0 @@
|
|
|
1
|
-
import { PropsWithChildren } from 'react';
|
|
2
|
-
import { AdditionalProps } from '../common.types';
|
|
3
|
-
|
|
4
|
-
/*
|
|
5
|
-
options to be shown on content stack
|
|
6
|
-
1 Column (100%)
|
|
7
|
-
2 Columns (50%, 50%)
|
|
8
|
-
2 Columns (33%, 67%)
|
|
9
|
-
2 Columns (67%, 33%)
|
|
10
|
-
3 Columns (33%, 33%, 33%)
|
|
11
|
-
3 Columns (50%, 25%, 25%)
|
|
12
|
-
3 Columns (25%, 25%, 50%)
|
|
13
|
-
4 Columns (25%, 25%, 25%, 25%)
|
|
14
|
-
*/
|
|
15
|
-
export type NsColumnControlProps = PropsWithChildren<{
|
|
16
|
-
/**
|
|
17
|
-
* follows the convention of ns-col-lg-(column-ratio) (for large screens >= 960px),
|
|
18
|
-
* ns-col-md-(column-ratio) (for tablet screens >= 600px),
|
|
19
|
-
* and ns-col-sm-(column-ratio) (for mobile screens i.e < 600px)
|
|
20
|
-
* sample values
|
|
21
|
-
* 'ns-col-lg-2-1', 'ns-col-lg-1-2', 'ns-col-lg-1-1',
|
|
22
|
-
*/
|
|
23
|
-
columnClass: string;
|
|
24
|
-
gap?: number;
|
|
25
|
-
}> &
|
|
26
|
-
AdditionalProps;
|
|
27
|
-
|
|
28
|
-
export type sizeObjectType = {
|
|
29
|
-
fractions?: number[];
|
|
30
|
-
tabletFractions?: number[];
|
|
31
|
-
mobileFractions?: number[];
|
|
32
|
-
};
|
|
33
|
-
|
|
34
|
-
export type NsFlexColumnsProps = PropsWithChildren<{
|
|
35
|
-
/**
|
|
36
|
-
* follows the convention of ns-col-lg-{column-ratio}
|
|
37
|
-
* sample value for column-ratio = 2-1 ==>ns-col-lg-2-1
|
|
38
|
-
*/
|
|
39
|
-
columnClass: string;
|
|
40
|
-
gap: number;
|
|
41
|
-
/* when this boolean is true, column control takes full width of page instead of being restricted to 1200px */
|
|
42
|
-
isFullWidth?: boolean;
|
|
43
|
-
}> &
|
|
44
|
-
AdditionalProps;
|
|
45
|
-
|
|
46
|
-
export type NsGridColumnsProps = NsFlexColumnsProps;
|
|
@@ -1,66 +0,0 @@
|
|
|
1
|
-
import { ValueOf } from 'next/dist/shared/lib/constants';
|
|
2
|
-
import { NsColumnControlProps, sizeObjectType } from './types.d';
|
|
3
|
-
|
|
4
|
-
export const columnClasses: NsColumnControlProps['columnClass'][] = [
|
|
5
|
-
'ns-col-lg-2-1',
|
|
6
|
-
'ns-col-lg-1-2',
|
|
7
|
-
'ns-col-lg-1-1',
|
|
8
|
-
'ns-col-lg-1-1-1',
|
|
9
|
-
'ns-col-lg-2-1-1',
|
|
10
|
-
'ns-col-lg-1-1-1-1',
|
|
11
|
-
'ns-col-md-1',
|
|
12
|
-
'ns-col-md-1-1',
|
|
13
|
-
'ns-col-md-1-2',
|
|
14
|
-
'ns-col-md-2-1',
|
|
15
|
-
'ns-col-md-1-1-1',
|
|
16
|
-
'ns-col-md-2-1-1',
|
|
17
|
-
'ns-col-sm-1',
|
|
18
|
-
'ns-col-sm-1-1',
|
|
19
|
-
'ns-col-sm-1-2',
|
|
20
|
-
'ns-col-sm-2-1',
|
|
21
|
-
];
|
|
22
|
-
const sizeKeyPrefix = {
|
|
23
|
-
desktop: 'ns-col-lg-',
|
|
24
|
-
tablet: 'ns-col-md-',
|
|
25
|
-
mobile: 'ns-col-sm-',
|
|
26
|
-
} as const;
|
|
27
|
-
|
|
28
|
-
const sizeKeyMap: Record<ValueOf<typeof sizeKeyPrefix>, string> = {
|
|
29
|
-
[sizeKeyPrefix.desktop]: 'fractions',
|
|
30
|
-
[sizeKeyPrefix.tablet]: 'tabletFractions',
|
|
31
|
-
[sizeKeyPrefix.mobile]: 'mobileFractions',
|
|
32
|
-
};
|
|
33
|
-
|
|
34
|
-
/**
|
|
35
|
-
* getColumnSizes function, we parse the input class and
|
|
36
|
-
* return an object containing optionally containing 3 keys namely [fractions, tabletFractions, mobileFractions]
|
|
37
|
-
* value of each of the key is an array of fractions example ['1','1']
|
|
38
|
-
* meaning that the column should be divided into two fractions each of 1fr
|
|
39
|
-
* @param inputColumnClass = a string that is mix of ns-col-lg-1-1-1 ns-col-md-1-1 ns-col-sm-1 etc
|
|
40
|
-
* @returns {fractions:['1','1','1'], tabletFractions:['1','1'], mobileFractions:['1'] }
|
|
41
|
-
*/
|
|
42
|
-
export const getColumnSizes = (inputColumnClass: string): sizeObjectType => {
|
|
43
|
-
const columnClass = inputColumnClass.trim();
|
|
44
|
-
const validClasses = columnClass
|
|
45
|
-
.split(' ')
|
|
46
|
-
.filter((e) => Object.values(sizeKeyPrefix).some((prefix) => e.startsWith(prefix)));
|
|
47
|
-
const sizeObject: sizeObjectType = validClasses.reduce((acc: any, current: string) => {
|
|
48
|
-
for (const key of Object.values(sizeKeyPrefix)) {
|
|
49
|
-
if (current.startsWith(key)) {
|
|
50
|
-
const interClass = current.replace(key, '');
|
|
51
|
-
const sizes = interClass.split('-').filter((e) => /^[1-9]$/.test(e));
|
|
52
|
-
acc[sizeKeyMap[key]] = sizes;
|
|
53
|
-
break;
|
|
54
|
-
}
|
|
55
|
-
}
|
|
56
|
-
return acc;
|
|
57
|
-
}, {});
|
|
58
|
-
if (Object.keys(sizeObject).length < 1) {
|
|
59
|
-
/* based on string passed as className, no valid size array could be extracted */
|
|
60
|
-
console.warn(
|
|
61
|
-
'Received invalid className, valid column-control className starts with ' +
|
|
62
|
-
Object.values(sizeKeyPrefix).join(', ')
|
|
63
|
-
);
|
|
64
|
-
}
|
|
65
|
-
return sizeObject;
|
|
66
|
-
};
|
|
@@ -1,21 +0,0 @@
|
|
|
1
|
-
import { FoundationTheme } from '@nuskin/foundation-theme';
|
|
2
|
-
|
|
3
|
-
export type CslpTag = { 'data-cslp': string };
|
|
4
|
-
|
|
5
|
-
export type AdditionalProps = {
|
|
6
|
-
additionalProps?: {
|
|
7
|
-
ariaLabel?: string;
|
|
8
|
-
testid?: string;
|
|
9
|
-
className?: string;
|
|
10
|
-
'data-testid'?: string;
|
|
11
|
-
} & Partial<CslpTag>;
|
|
12
|
-
cslp?: Record<string, CslpTag>;
|
|
13
|
-
} & DarkModeEnabledOption;
|
|
14
|
-
|
|
15
|
-
export type Themed = {
|
|
16
|
-
theme: FoundationTheme.Theme;
|
|
17
|
-
};
|
|
18
|
-
|
|
19
|
-
export type DarkModeEnabledOption = {
|
|
20
|
-
darkModeEnabled?: boolean;
|
|
21
|
-
};
|