@orangesk/orange-design-system 2.0.0-alpha.2 → 2.0.0-alpha.3
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/build/components/Accordion/index.js +2 -2
- package/build/components/Accordion/index.js.map +1 -1
- package/build/components/Alert/index.js +1 -1
- package/build/components/Alert/index.js.map +1 -1
- package/build/components/Alert/style.css +1 -1
- package/build/components/Alert/style.css.map +1 -1
- package/build/components/AnchorNavigation/index.js +16 -0
- package/build/components/AnchorNavigation/index.js.map +1 -0
- package/build/components/AnchorNavigation/style.css +2 -0
- package/build/components/AnchorNavigation/style.css.map +1 -0
- package/build/components/Bar/index.js +1 -1
- package/build/components/Bar/index.js.map +1 -1
- package/build/components/BlockAction/index.js +1 -1
- package/build/components/BlockAction/index.js.map +1 -1
- package/build/components/BodyBanner/index.js +1 -1
- package/build/components/BodyBanner/index.js.map +1 -1
- package/build/components/Breadcrumbs/index.js +2 -2
- package/build/components/Breadcrumbs/index.js.map +1 -1
- package/build/components/Breadcrumbs/style.css +1 -1
- package/build/components/Breadcrumbs/style.css.map +1 -1
- package/build/components/Button/index.js +1 -1
- package/build/components/Button/index.js.map +1 -1
- package/build/components/Button/style.css +1 -1
- package/build/components/Button/style.css.map +1 -1
- package/build/components/Buttons/index.js +1 -1
- package/build/components/Buttons/index.js.map +1 -1
- package/build/components/Card/index.js +1 -1
- package/build/components/Card/index.js.map +1 -1
- package/build/components/Card/style.css +1 -1
- package/build/components/Card/style.css.map +1 -1
- package/build/components/Carousel/index.js +3 -18
- package/build/components/Carousel/index.js.map +1 -1
- package/build/components/Carousel/style.css +1 -1
- package/build/components/Carousel/style.css.map +1 -1
- package/build/components/CarouselPromotions/index.js +3 -3
- package/build/components/CarouselPromotions/index.js.map +1 -1
- package/build/components/CartTable/index.js +2 -2
- package/build/components/CartTable/index.js.map +1 -1
- package/build/components/CartTable/style.css +1 -1
- package/build/components/CartTable/style.css.map +1 -1
- package/build/components/Code/index.js +11 -0
- package/build/components/Code/index.js.map +1 -0
- package/build/components/Code/style.css +2 -0
- package/build/components/Code/style.css.map +1 -0
- package/build/components/Container/index.js +1 -1
- package/build/components/Container/index.js.map +1 -1
- package/build/components/Controls/index.js +1 -1
- package/build/components/Controls/index.js.map +1 -1
- package/build/components/Controls/style.css +1 -1
- package/build/components/Controls/style.css.map +1 -1
- package/build/components/Cover/index.js +1 -1
- package/build/components/Cover/index.js.map +1 -1
- package/build/components/Divider/index.js +1 -1
- package/build/components/Divider/index.js.map +1 -1
- package/build/components/DocumentationSidebar/index.js +16 -0
- package/build/components/DocumentationSidebar/index.js.map +1 -0
- package/build/components/DocumentationSidebar/style.css +2 -0
- package/build/components/DocumentationSidebar/style.css.map +1 -0
- package/build/components/Dropdown/index.js +1 -1
- package/build/components/Dropdown/index.js.map +1 -1
- package/build/components/Dropdown/style.css +1 -1
- package/build/components/Dropdown/style.css.map +1 -1
- package/build/components/Expander/index.js +1 -1
- package/build/components/Expander/index.js.map +1 -1
- package/build/components/FeatureAccordion/index.js +2 -2
- package/build/components/FeatureAccordion/index.js.map +1 -1
- package/build/components/Footer/index.js +1 -1
- package/build/components/Footer/index.js.map +1 -1
- package/build/components/Footer/style.css +1 -1
- package/build/components/Footer/style.css.map +1 -1
- package/build/components/Forms/index.js +4 -4
- package/build/components/Forms/index.js.map +1 -1
- package/build/components/Forms/style.css +1 -1
- package/build/components/Forms/style.css.map +1 -1
- package/build/components/Gauge/index.js +1 -1
- package/build/components/Gauge/index.js.map +1 -1
- package/build/components/Grid/index.js +1 -1
- package/build/components/Grid/index.js.map +1 -1
- package/build/components/Hero/index.js +16 -0
- package/build/components/Hero/index.js.map +1 -0
- package/build/components/Hero/style.css +2 -0
- package/build/components/Hero/style.css.map +1 -0
- package/build/components/Icon/index.js +1 -1
- package/build/components/Icon/index.js.map +1 -1
- package/build/components/IconList/index.js +16 -0
- package/build/components/IconList/index.js.map +1 -0
- package/build/components/IconList/style.css +2 -0
- package/build/components/IconList/style.css.map +1 -0
- package/build/components/Image/index.js +1 -1
- package/build/components/Image/index.js.map +1 -1
- package/build/components/Link/style.css +1 -1
- package/build/components/Link/style.css.map +1 -1
- package/build/components/List/index.js +1 -1
- package/build/components/List/index.js.map +1 -1
- package/build/components/Loader/index.js +1 -1
- package/build/components/Loader/index.js.map +1 -1
- package/build/components/Modal/index.js +1 -1
- package/build/components/Modal/index.js.map +1 -1
- package/build/components/Modal/style.css +1 -1
- package/build/components/Modal/style.css.map +1 -1
- package/build/components/Pagination/index.js +1 -1
- package/build/components/Pagination/index.js.map +1 -1
- package/build/components/Pagination/style.css +1 -1
- package/build/components/Pagination/style.css.map +1 -1
- package/build/components/Preview/index.js +83 -0
- package/build/components/Preview/index.js.map +1 -0
- package/build/components/Preview/style.css +2 -0
- package/build/components/Preview/style.css.map +1 -0
- package/build/components/Progress/index.js +1 -1
- package/build/components/Progress/index.js.map +1 -1
- package/build/components/PromoBanner/index.js +16 -0
- package/build/components/PromoBanner/index.js.map +1 -0
- package/build/components/PromoBanner/style.css +2 -0
- package/build/components/PromoBanner/style.css.map +1 -0
- package/build/components/PromotionCard/index.js +16 -0
- package/build/components/PromotionCard/index.js.map +1 -0
- package/build/components/PromotionCard/style.css +2 -0
- package/build/components/PromotionCard/style.css.map +1 -0
- package/build/components/Section/index.js +1 -1
- package/build/components/Section/index.js.map +1 -1
- package/build/components/Skeleton/index.js +1 -1
- package/build/components/Skeleton/index.js.map +1 -1
- package/build/components/SkipLink/index.js +16 -0
- package/build/components/SkipLink/index.js.map +1 -0
- package/build/components/SkipLink/style.css +2 -0
- package/build/components/SkipLink/style.css.map +1 -0
- package/build/components/Stepbar/index.js +16 -0
- package/build/components/Stepbar/index.js.map +1 -0
- package/build/components/Stepbar/style.css +2 -0
- package/build/components/Stepbar/style.css.map +1 -0
- package/build/components/Sticker/index.js +1 -1
- package/build/components/Sticker/index.js.map +1 -1
- package/build/components/Table/index.js +2 -2
- package/build/components/Table/index.js.map +1 -1
- package/build/components/Table/style.css +1 -1
- package/build/components/Table/style.css.map +1 -1
- package/build/components/Tabs/index.js +1 -1
- package/build/components/Tabs/index.js.map +1 -1
- package/build/components/Tag/index.js +1 -1
- package/build/components/Tag/index.js.map +1 -1
- package/build/components/Testimonial/index.js +1 -1
- package/build/components/Testimonial/index.js.map +1 -1
- package/build/components/Tile/index.js +1 -1
- package/build/components/Tile/index.js.map +1 -1
- package/build/components/Tooltip/index.js +2 -2
- package/build/components/Tooltip/index.js.map +1 -1
- package/build/components/Tooltip/style.css +1 -1
- package/build/components/Tooltip/style.css.map +1 -1
- package/build/components/index.css +1 -1
- package/build/components/index.css.map +1 -1
- package/build/components/index.js +5 -20
- package/build/components/index.js.map +1 -1
- package/build/components/static.js +3 -3
- package/build/components/static.js.map +1 -1
- package/build/components/types/mdx-components.d.ts +2 -0
- package/build/components/types/next.config.d.ts +3 -0
- package/build/components/types/src/app/ODSLib.d.ts +1 -0
- package/build/components/types/src/app/components/accordion/AccordionClientWrapper.d.ts +1 -0
- package/build/components/types/src/app/components/alert/AlertClientWrapper.d.ts +1 -0
- package/build/components/types/src/app/components/anchor-navigation/AnchorNavigationClientWrapper.d.ts +2 -0
- package/build/components/types/src/app/components/body-banner/BodyBannerClientWrapper.d.ts +1 -0
- package/build/components/types/src/app/components/code/CodeClientWrapper.d.ts +1 -0
- package/build/components/types/src/app/components/cover/CoverClientWrapper.d.ts +1 -0
- package/build/components/types/src/app/components/expander/ExpanderClientWrapper.d.ts +1 -0
- package/build/components/types/src/app/components/feature-accordion/FeatureAccordionClientWrapper.d.ts +1 -0
- package/build/components/types/src/app/components/forms/autocomplete/AutocompleteClientWrapper.d.ts +1 -0
- package/build/components/types/src/app/components/forms/datepicker/DatePickerClientWrapper.d.ts +1 -0
- package/build/components/types/src/app/components/forms/radio/RadioClientWrapper.d.ts +1 -0
- package/build/components/types/src/app/components/gauge/GaugeClientWrapper.d.ts +1 -0
- package/build/components/types/src/app/components/hero/HeroClientWrapper.d.ts +1 -0
- package/build/components/types/src/app/components/icon-list/IconListClientWrapper.d.ts +1 -0
- package/build/components/types/src/app/components/list/ListClientWrapper.d.ts +1 -0
- package/build/components/types/src/app/components/pagination/PaginationClientWrapper.d.ts +1 -0
- package/build/components/types/src/app/components/progress/ProgressClientWrapper.d.ts +1 -0
- package/build/components/types/src/app/components/promo-banner/PromoBannerClientWrapper.d.ts +1 -0
- package/build/components/types/src/app/components/promotion-card/PromotionCardWrapper.d.ts +1 -0
- package/build/components/types/src/app/components/sticker/StickerClientWrapper.d.ts +1 -0
- package/build/components/types/src/app/components/tag/TagClientWrapper.d.ts +1 -0
- package/build/components/types/src/app/components/testimonial/TestimonialClientWrapper.d.ts +1 -0
- package/build/components/types/src/app/layout.d.ts +4 -0
- package/build/components/types/src/app/menuItems.d.ts +24 -0
- package/build/components/types/src/components/Accordion/tests/data.d.ts +5 -0
- package/build/components/types/src/components/AnchorNavigation/AnchorNavigation.d.ts +17 -0
- package/build/components/types/src/components/AnchorNavigation/AnchorNavigation.static.d.ts +24 -0
- package/build/components/types/src/components/AnchorNavigation/index.d.ts +2 -0
- package/build/components/types/src/components/BlockAction/BlockAction.static.d.ts +19 -0
- package/build/components/types/{components → src/components}/Breadcrumbs/Breadcrumbs.d.ts +1 -2
- package/build/components/types/{components → src/components}/Card/CardProductHeader.d.ts +1 -1
- package/build/components/types/src/components/Card/tests/data.d.ts +5 -0
- package/build/components/types/{components → src/components}/Carousel/Carousel.d.ts +2 -2
- package/build/components/types/src/components/Carousel/Carousel.static.d.ts +33 -0
- package/build/components/types/{components → src/components}/Carousel/constants.d.ts +9 -3
- package/build/components/types/{components → src/components}/CarouselPromotions/CarouselPromotions.d.ts +2 -2
- package/build/components/types/src/components/CarouselPromotions/CarouselPromotions.static.d.ts +31 -0
- package/build/components/types/{components → src/components}/CarouselPromotions/constants.d.ts +2 -0
- package/build/components/types/src/components/CartTable/data.d.ts +33 -0
- package/build/components/types/src/components/Code/Code.d.ts +16 -0
- package/build/components/types/src/components/Code/index.d.ts +6 -0
- package/build/components/types/src/components/Code/oneDarkProTheme.d.ts +13 -0
- package/build/components/types/{components → src/components}/Controls/Controls.d.ts +1 -1
- package/build/components/types/src/components/DocumentationSidebar/DocumentationSidebar.d.ts +16 -0
- package/build/components/types/src/components/DocumentationSidebar/index.d.ts +3 -0
- package/build/components/types/src/components/Expander/index.d.ts +2 -0
- package/build/components/types/src/components/Forms/DatePicker/DatePicker.d.ts +84 -0
- package/build/components/types/src/components/Forms/DatePicker/DatePicker.static.d.ts +69 -0
- package/build/components/types/src/components/Forms/DatePicker/index.d.ts +2 -0
- package/build/components/types/{components → src/components}/Forms/Field/Control.d.ts +1 -1
- package/build/components/types/{components → src/components}/Forms/Field/Description.d.ts +1 -1
- package/build/components/types/{components → src/components}/Forms/Field/FieldContext.d.ts +1 -1
- package/build/components/types/{components → src/components}/Forms/Field/Label.d.ts +1 -1
- package/build/components/types/{components → src/components}/Forms/Field/Messages.d.ts +1 -1
- package/build/components/types/{components → src/components}/Forms/Field/Tooltip.d.ts +1 -1
- package/build/components/types/{components → src/components}/Forms/Fieldset/FieldsetContext.d.ts +1 -1
- package/build/components/types/src/components/Forms/Fieldset/docsData.d.ts +59 -0
- package/build/components/types/{components → src/components}/Forms/index.d.ts +1 -0
- package/build/components/types/src/components/Gauge/GaugeMaker.d.ts +3 -0
- package/build/components/types/src/components/Hero/Hero.d.ts +52 -0
- package/build/components/types/src/components/Hero/HeroPlayground.d.ts +2 -0
- package/build/components/types/src/components/Hero/index.d.ts +2 -0
- package/build/components/types/src/components/Icon/iconSearchTags.d.ts +419 -0
- package/build/components/types/src/components/IconList/IconList.d.ts +13 -0
- package/build/components/types/src/components/IconList/Item.d.ts +9 -0
- package/build/components/types/src/components/IconList/index.d.ts +3 -0
- package/build/components/types/src/components/Preview/CodeExample.d.ts +9 -0
- package/build/components/types/src/components/Preview/Interact/ButtonShowPropsGroup.d.ts +10 -0
- package/build/components/types/src/components/Preview/Interact/Interact.d.ts +17 -0
- package/build/components/types/src/components/Preview/Interact/PropCheckbox.d.ts +15 -0
- package/build/components/types/src/components/Preview/Interact/PropFormField.d.ts +7 -0
- package/build/components/types/src/components/Preview/Interact/PropInput.d.ts +17 -0
- package/build/components/types/src/components/Preview/Interact/PropLabelWithTooltip.d.ts +17 -0
- package/build/components/types/src/components/Preview/Interact/PropSelect.d.ts +15 -0
- package/build/components/types/src/components/Preview/Interact/PropsGroup.d.ts +10 -0
- package/build/components/types/src/components/Preview/Interact/Tooltip.d.ts +8 -0
- package/build/components/types/src/components/Preview/Interact/helpers.d.ts +19 -0
- package/build/components/types/src/components/Preview/Interact/state.d.ts +14 -0
- package/build/components/types/src/components/Preview/Preview.d.ts +26 -0
- package/build/components/types/src/components/Preview/PreviewTitleBar.d.ts +9 -0
- package/build/components/types/src/components/Preview/index.d.ts +7 -0
- package/build/components/types/src/components/PromoBanner/PromoBanner.d.ts +12 -0
- package/build/components/types/src/components/PromoBanner/index.d.ts +2 -0
- package/build/components/types/src/components/PromotionCard/PromotionCard.d.ts +9 -0
- package/build/components/types/src/components/PromotionCard/PromotionCardContent.d.ts +8 -0
- package/build/components/types/src/components/PromotionCard/PromotionCardImageWrapper.d.ts +8 -0
- package/build/components/types/src/components/PromotionCard/PromotionCardSection.d.ts +9 -0
- package/build/components/types/src/components/PromotionCard/PromotionCardTitle.d.ts +8 -0
- package/build/components/types/src/components/PromotionCard/constants.d.ts +5 -0
- package/build/components/types/src/components/PromotionCard/index.d.ts +6 -0
- package/build/components/types/src/components/SkipLink/SkipLink.d.ts +6 -0
- package/build/components/types/src/components/SkipLink/index.d.ts +2 -0
- package/build/components/types/src/components/Stepbar/Stepbar.d.ts +21 -0
- package/build/components/types/src/components/Stepbar/index.d.ts +2 -0
- package/build/components/types/src/components/Table/docsData.d.ts +39 -0
- package/build/components/types/src/components/Tooltip/tests/BaseWrapper.d.ts +3 -0
- package/build/components/types/{components → src/components}/index.d.ts +7 -1
- package/build/components/types/src/components/static.d.ts +1 -0
- package/build/components/types/src/lib/scripts.d.ts +1 -0
- package/build/components/types/src/scripts/index.d.ts +102 -0
- package/build/components/types/src/scripts/lib/moduleFactory.d.ts +3 -0
- package/build/components/types/src/scripts/modules/SameHeight.d.ts +15 -0
- package/build/lib/before-components.css +1 -1
- package/build/lib/before-components.css.map +1 -1
- package/build/lib/components.css +1 -1
- package/build/lib/components.css.map +1 -1
- package/build/lib/scripts.js +3 -3
- package/build/lib/scripts.js.map +1 -1
- package/build/lib/style.css +1 -1
- package/build/lib/style.css.map +1 -1
- package/package.json +36 -29
- package/src/components/Accordion/tests/{data.js → data.ts} +9 -7
- package/src/components/Alert/styles/config.scss +4 -3
- package/src/components/AnchorNavigation/AnchorNavigation.static.ts +115 -0
- package/src/components/AnchorNavigation/AnchorNavigation.tsx +81 -0
- package/src/components/AnchorNavigation/index.tsx +3 -0
- package/src/components/AnchorNavigation/styles/mixins.scss +126 -0
- package/src/components/AnchorNavigation/styles/style.scss +22 -0
- package/src/components/Breadcrumbs/Breadcrumbs.tsx +4 -4
- package/src/components/Breadcrumbs/styles/mixins.scss +16 -28
- package/src/components/Breadcrumbs/styles/style.scss +2 -13
- package/src/components/Breadcrumbs/tests/Breadcrumbs.integration.test.js +16 -14
- package/src/components/Breadcrumbs/tests/Breadcrumbs.unit.test.js +27 -19
- package/src/components/Button/styles/config.scss +0 -8
- package/src/components/Card/CardProductHeader.tsx +6 -4
- package/src/components/Card/styles/style.scss +13 -11
- package/src/components/Card/tests/CardProductHeader.unit.test.js +10 -0
- package/src/components/Carousel/CHANGELOG.md +11 -0
- package/src/components/Carousel/Carousel.mdx +29 -33
- package/src/components/Carousel/Carousel.static.ts +127 -93
- package/src/components/Carousel/Carousel.tsx +12 -7
- package/src/components/Carousel/constants.ts +10 -4
- package/src/components/Carousel/styles/config.scss +0 -13
- package/src/components/Carousel/styles/mixins.scss +21 -56
- package/src/components/Carousel/styles/style.scss +13 -12
- package/src/components/Carousel/tests/Carousel.unit.test.js +95 -38
- package/src/components/Carousel/tests/CarouselItem.unit.test.js +4 -0
- package/src/components/CarouselPromotions/CarouselPromotions.static.ts +131 -98
- package/src/components/CarouselPromotions/CarouselPromotions.tsx +10 -7
- package/src/components/CarouselPromotions/constants.ts +3 -1
- package/src/components/CarouselPromotions/tests/CarouselPromotions.unit.test.js +155 -5
- package/src/components/Code/Code.tsx +85 -0
- package/src/components/Code/index.tsx +16 -0
- package/src/components/Code/oneDarkProTheme.ts +70 -0
- package/src/components/Code/styles/style.scss +58 -0
- package/src/components/Container/tests/Container.conformance.test.js +0 -1
- package/src/components/Container/tests/Container.unit.test.js +0 -9
- package/src/components/Controls/styles/config.scss +0 -9
- package/src/components/DocumentationSidebar/DocumentationSidebar.tsx +171 -0
- package/src/components/DocumentationSidebar/index.ts +4 -0
- package/src/components/DocumentationSidebar/styles/style.scss +230 -0
- package/src/components/Dropdown/styles/config.scss +0 -2
- package/src/components/Forms/Autocomplete/styles/mixins.scss +1 -0
- package/src/components/Forms/DatePicker/DatePicker.mdx +149 -0
- package/src/components/Forms/DatePicker/DatePicker.static.ts +211 -0
- package/src/components/Forms/DatePicker/DatePicker.tsx +129 -0
- package/src/components/Forms/DatePicker/index.ts +3 -0
- package/src/components/Forms/DatePicker/styles/style.scss +183 -0
- package/src/components/Forms/DatePicker/tests/DatePicker.unit.test.js +262 -0
- package/src/components/Forms/Field/Control.tsx +7 -7
- package/src/components/Forms/Field/Description.tsx +5 -5
- package/src/components/Forms/Field/Field.tsx +10 -8
- package/src/components/Forms/Field/FieldContext.tsx +1 -1
- package/src/components/Forms/Field/Label.tsx +2 -2
- package/src/components/Forms/Field/Messages.tsx +3 -3
- package/src/components/Forms/Field/Tooltip.tsx +3 -1
- package/src/components/Forms/Field/tests/Label.unit.test.js +15 -15
- package/src/components/Forms/Field/tests/Messages.unit.test.js +3 -3
- package/src/components/Forms/Field/tests/Tooltip.unit.test.js +3 -3
- package/src/components/Forms/Fieldset/Fieldset.tsx +2 -2
- package/src/components/Forms/Fieldset/FieldsetContext.ts +1 -1
- package/src/components/Forms/Group/styles/mixins.scss +0 -4
- package/src/components/Forms/Message/Message.tsx +1 -7
- package/src/components/Forms/Message/styles/config.scss +0 -6
- package/src/components/Forms/Message/styles/mixins.scss +0 -8
- package/src/components/Forms/Message/styles/style.scss +0 -1
- package/src/components/Forms/Message/tests/Message.unit.test.js +0 -12
- package/src/components/Forms/index.ts +1 -1
- package/src/components/Grid/tests/Grid.unit.test.js +572 -0
- package/src/components/Grid/tests/GridCol.unit.test.js +223 -0
- package/src/components/Hero/Hero.mdx +168 -0
- package/src/components/Hero/Hero.tsx +182 -0
- package/src/components/Hero/HeroPlayground.tsx +369 -0
- package/src/components/Hero/index.ts +3 -0
- package/src/components/Hero/styles/config.scss +23 -0
- package/src/components/Hero/styles/mixins.scss +173 -0
- package/src/components/Hero/styles/style.scss +59 -0
- package/src/components/Hero/tests/Hero.conformance.test.js +29 -0
- package/src/components/Hero/tests/Hero.unit.test.js +272 -0
- package/src/components/Hero/tests/data.js +40 -0
- package/src/components/Icon/IconSearch.jsx +2 -0
- package/src/components/IconList/IconList.mdx +53 -0
- package/src/components/IconList/IconList.tsx +30 -0
- package/src/components/IconList/Item.tsx +39 -0
- package/src/components/IconList/index.ts +4 -0
- package/src/components/IconList/styles/config.scss +3 -0
- package/src/components/IconList/styles/mixins.scss +33 -0
- package/src/components/IconList/styles/style.scss +21 -0
- package/src/components/IconList/tests/IconList.conformance.test.js +55 -0
- package/src/components/IconList/tests/IconList.unit.test.js +79 -0
- package/src/components/IconList/tests/Item.unit.test.js +143 -0
- package/src/components/Link/styles/style.scss +14 -14
- package/src/components/Pagination/styles/mixins.scss +2 -2
- package/src/components/Preview/CodeExample.tsx +238 -0
- package/src/components/Preview/Interact/ButtonShowPropsGroup.tsx +38 -0
- package/src/components/Preview/Interact/Interact.tsx +263 -0
- package/src/components/Preview/Interact/PropCheckbox.tsx +50 -0
- package/src/components/Preview/Interact/PropFormField.tsx +76 -0
- package/src/components/Preview/Interact/PropInput.tsx +72 -0
- package/src/components/Preview/Interact/PropLabelWithTooltip.tsx +77 -0
- package/src/components/Preview/Interact/PropSelect.tsx +60 -0
- package/src/components/Preview/Interact/PropsGroup.tsx +49 -0
- package/src/components/Preview/Interact/Tooltip.tsx +17 -0
- package/src/components/Preview/Interact/helpers.ts +60 -0
- package/src/components/Preview/Interact/state.ts +18 -0
- package/src/components/Preview/Preview.docs.mdx +153 -0
- package/src/components/Preview/Preview.test.js +66 -0
- package/src/components/Preview/Preview.tsx +273 -0
- package/src/components/Preview/PreviewTitleBar.tsx +32 -0
- package/src/components/Preview/index.tsx +16 -0
- package/src/components/Preview/styles/style.scss +340 -0
- package/src/components/PromoBanner/PromoBanner.tsx +65 -0
- package/src/components/PromoBanner/index.ts +2 -0
- package/src/components/PromoBanner/styles/mixins.scss +37 -0
- package/src/components/PromoBanner/styles/style.scss +23 -0
- package/src/components/PromotionCard/PromotionCard.mdx +191 -0
- package/src/components/PromotionCard/PromotionCard.tsx +31 -0
- package/src/components/PromotionCard/PromotionCardContent.tsx +25 -0
- package/src/components/PromotionCard/PromotionCardImageWrapper.tsx +25 -0
- package/src/components/PromotionCard/PromotionCardSection.tsx +29 -0
- package/src/components/PromotionCard/PromotionCardTitle.tsx +24 -0
- package/src/components/PromotionCard/constants.ts +5 -0
- package/src/components/PromotionCard/index.ts +7 -0
- package/src/components/PromotionCard/styles/config.scss +4 -0
- package/src/components/PromotionCard/styles/mixins.scss +89 -0
- package/src/components/PromotionCard/styles/style.scss +25 -0
- package/src/components/SkipLink/SkipLink.mdx +23 -0
- package/src/components/SkipLink/SkipLink.tsx +25 -0
- package/src/components/SkipLink/index.ts +3 -0
- package/src/components/SkipLink/styles/style.scss +20 -0
- package/src/components/SkipLink/tests/SkipLink.unit.test.js +88 -0
- package/src/components/Stepbar/Stepbar.mdx +137 -0
- package/src/components/Stepbar/Stepbar.tsx +100 -0
- package/src/components/Stepbar/index.ts +3 -0
- package/src/components/Stepbar/styles/config.scss +91 -0
- package/src/components/Stepbar/styles/mixins.scss +132 -0
- package/src/components/Stepbar/styles/style.scss +77 -0
- package/src/components/Stepbar/tests/Stepbar.conformance.test.js +34 -0
- package/src/components/Stepbar/tests/Stepbar.unit.test.js +92 -0
- package/src/components/Tooltip/styles/config.scss +1 -0
- package/src/components/Tooltip/tests/Tooltip.unit.test.js +2 -2
- package/src/components/index.ts +24 -1
- package/src/styles/before-components.scss +10 -0
- package/build/404.html +0 -1
- package/build/_next/static/BGy4QLZfZPwswIZT7YGE2/_buildManifest.js +0 -1
- package/build/_next/static/BGy4QLZfZPwswIZT7YGE2/_ssgManifest.js +0 -1
- package/build/_next/static/chunks/1206-59e86c9be0c6edc8.js +0 -1
- package/build/_next/static/chunks/1684-f3cca2440b2d04c9.js +0 -1
- package/build/_next/static/chunks/1790-42537fde486481dc.js +0 -1
- package/build/_next/static/chunks/1856-87fba6dedcfa51f4.js +0 -1
- package/build/_next/static/chunks/2355.4c3c65d46ce6edf1.js +0 -1
- package/build/_next/static/chunks/2366-ccdf9c167d62c230.js +0 -1
- package/build/_next/static/chunks/2511.d334cb67ac6af21d.js +0 -1
- package/build/_next/static/chunks/2735.7a75728bb235d0d4.js +0 -1
- package/build/_next/static/chunks/3557.53c406667aa62240.js +0 -1
- package/build/_next/static/chunks/4bd1b696-63246a30a5dafad8.js +0 -1
- package/build/_next/static/chunks/5426-60b8df37a33e8cf3.js +0 -1
- package/build/_next/static/chunks/579-22f1eb9ccb4fc983.js +0 -1
- package/build/_next/static/chunks/6729-c9c23d280815e7ae.js +0 -1
- package/build/_next/static/chunks/7916.f1f5aa6f1d094885.js +0 -1
- package/build/_next/static/chunks/7998-4f9ee8dd2d772e13.js +0 -1
- package/build/_next/static/chunks/9186-7ca86a881bc0fae7.js +0 -4
- package/build/_next/static/chunks/app/_not-found/page-a9506bc9a3364319.js +0 -1
- package/build/_next/static/chunks/app/components/accordion/page-aa200fabd855563b.js +0 -1
- package/build/_next/static/chunks/app/components/alert/page-7c67ea9c86227082.js +0 -1
- package/build/_next/static/chunks/app/components/bar/page-c30f8fd11c4651d6.js +0 -1
- package/build/_next/static/chunks/app/components/block-action/page-7274174a43629f9f.js +0 -1
- package/build/_next/static/chunks/app/components/body-banner/page-15ff1f59b2aa843d.js +0 -1
- package/build/_next/static/chunks/app/components/button/page-0e30b9dfcecf1399.js +0 -1
- package/build/_next/static/chunks/app/components/buttons/page-fffd250aa886c49b.js +0 -1
- package/build/_next/static/chunks/app/components/card/page-cd4cf793507e5671.js +0 -1
- package/build/_next/static/chunks/app/components/carousel/page-b365266404937787.js +0 -1
- package/build/_next/static/chunks/app/components/carousel-promotions/page-a44240a70a405853.js +0 -1
- package/build/_next/static/chunks/app/components/cart-table/page-c33464d94e85aacb.js +0 -1
- package/build/_next/static/chunks/app/components/controls/page-ab8a0113b4b2e54b.js +0 -1
- package/build/_next/static/chunks/app/components/cover/page-c5a39a466cf72302.js +0 -1
- package/build/_next/static/chunks/app/components/divider/page-048e0ea7f0f61c9f.js +0 -1
- package/build/_next/static/chunks/app/components/dropdown/page-86dc20ead95d1104.js +0 -1
- package/build/_next/static/chunks/app/components/expander/page-37e9fdf98c038541.js +0 -1
- package/build/_next/static/chunks/app/components/feature-accordion/page-994e106b83948b2a.js +0 -1
- package/build/_next/static/chunks/app/components/footer/page-39f76624a4c5435a.js +0 -1
- package/build/_next/static/chunks/app/components/forms/addons/page-b819ad9999952653.js +0 -1
- package/build/_next/static/chunks/app/components/forms/autocomplete/page-0cfae5a356eefe59.js +0 -1
- package/build/_next/static/chunks/app/components/forms/captions/hint/page-36a64250bd583aca.js +0 -1
- package/build/_next/static/chunks/app/components/forms/captions/label/page-84cb1a7b98fb64c8.js +0 -1
- package/build/_next/static/chunks/app/components/forms/captions/message/page-c22889abedb1d070.js +0 -1
- package/build/_next/static/chunks/app/components/forms/checkbox/page-8428d9a5becd0678.js +0 -1
- package/build/_next/static/chunks/app/components/forms/field/page-3c75a0c1a8f4867a.js +0 -1
- package/build/_next/static/chunks/app/components/forms/fieldset/page-5e7316fdf0310e1e.js +0 -1
- package/build/_next/static/chunks/app/components/forms/file/page-a83e9d5be583038b.js +0 -1
- package/build/_next/static/chunks/app/components/forms/inputstepper/page-2a61408ee3dd66a3.js +0 -1
- package/build/_next/static/chunks/app/components/forms/radio/page-d25e81a49e31fd5f.js +0 -1
- package/build/_next/static/chunks/app/components/forms/rangeslider/page-2b516b597dabcdde.js +0 -1
- package/build/_next/static/chunks/app/components/forms/select/page-28d631ad9ea28a9c.js +0 -1
- package/build/_next/static/chunks/app/components/forms/text-area/page-167de9c3a457c62a.js +0 -1
- package/build/_next/static/chunks/app/components/forms/text-input/page-5798b254c725bec1.js +0 -1
- package/build/_next/static/chunks/app/components/gauge/page-8299bca301ad707b.js +0 -1
- package/build/_next/static/chunks/app/components/icon/page-3d2696eb1415bbb8.js +0 -1
- package/build/_next/static/chunks/app/components/link/page-5691bc96657b379e.js +0 -1
- package/build/_next/static/chunks/app/components/list/page-93428135db5e0f50.js +0 -1
- package/build/_next/static/chunks/app/components/loader/page-60a3331abd258bde.js +0 -1
- package/build/_next/static/chunks/app/components/modal/page-193e4d93ab10dc9a.js +0 -1
- package/build/_next/static/chunks/app/components/pagination/page-dd52f805ef5196de.js +0 -1
- package/build/_next/static/chunks/app/components/progress/page-4ac45801c7ec5663.js +0 -1
- package/build/_next/static/chunks/app/components/skeleton/page-71307720865ef677.js +0 -1
- package/build/_next/static/chunks/app/components/sticker/page-c79c492044c10f40.js +0 -1
- package/build/_next/static/chunks/app/components/table/page-9dc77bc63b3b5895.js +0 -1
- package/build/_next/static/chunks/app/components/tabs/page-dcc36f18992b00f9.js +0 -1
- package/build/_next/static/chunks/app/components/tag/page-ba00a3d16f7f6d11.js +0 -1
- package/build/_next/static/chunks/app/components/testimonial/page-a3615b0a32c32fe1.js +0 -1
- package/build/_next/static/chunks/app/components/tile/page-b354dd7941df8670.js +0 -1
- package/build/_next/static/chunks/app/components/tooltip/page-9861cd4f82830d82.js +0 -1
- package/build/_next/static/chunks/app/javascript/toggle/page-8b83ddce80f9d755.js +0 -1
- package/build/_next/static/chunks/app/layout-41aa6f28da614a69.js +0 -1
- package/build/_next/static/chunks/app/page-e1799527aabeb98a.js +0 -1
- package/build/_next/static/chunks/app/utilities/horizontal-scroll/page-c6ee529373c337f9.js +0 -1
- package/build/_next/static/chunks/framework-fda66049c8bbcca5.js +0 -1
- package/build/_next/static/chunks/main-3e6405259d828a22.js +0 -1
- package/build/_next/static/chunks/main-app-a265e200b32683f1.js +0 -1
- package/build/_next/static/chunks/pages/_app-eb694f3fd49020c8.js +0 -1
- package/build/_next/static/chunks/pages/_error-2b3482c094a540b4.js +0 -1
- package/build/_next/static/chunks/polyfills-42372ed130431b0a.js +0 -1
- package/build/_next/static/chunks/webpack-1a128887cf981885.js +0 -1
- package/build/_next/static/css/05453e813192b05b.css +0 -1
- package/build/_next/static/css/05c85c9ea7e2ea58.css +0 -1
- package/build/_next/static/css/0e5de495ff48931f.css +0 -1
- package/build/_next/static/css/1139a47c85362386.css +0 -1
- package/build/_next/static/css/1b3f28cfd13039ad.css +0 -1
- package/build/_next/static/css/1fdf8ee56483471a.css +0 -1
- package/build/_next/static/css/286405eb07784ddd.css +0 -1
- package/build/_next/static/css/2cb6b1436172662a.css +0 -1
- package/build/_next/static/css/33a9af3bd42f0314.css +0 -1
- package/build/_next/static/css/3632d2fdde580dcb.css +0 -1
- package/build/_next/static/css/37365c3a0857a3c5.css +0 -1
- package/build/_next/static/css/412dd278760dc9fc.css +0 -1
- package/build/_next/static/css/417edeeaaadbac4d.css +0 -1
- package/build/_next/static/css/43c66157c59241c2.css +0 -1
- package/build/_next/static/css/57b0c84bbf7d7098.css +0 -1
- package/build/_next/static/css/5b55b50737ef7662.css +0 -1
- package/build/_next/static/css/5ec7df8d7719c810.css +0 -1
- package/build/_next/static/css/62680b6eacd53665.css +0 -1
- package/build/_next/static/css/645dada84db193d4.css +0 -1
- package/build/_next/static/css/7058542e728d5b05.css +0 -1
- package/build/_next/static/css/7108a96a607fe7c5.css +0 -1
- package/build/_next/static/css/7202aa220abab0eb.css +0 -1
- package/build/_next/static/css/75e15d3944ffd4f3.css +0 -1
- package/build/_next/static/css/77590e66868bf291.css +0 -1
- package/build/_next/static/css/7c62e057927bfe3a.css +0 -1
- package/build/_next/static/css/7d4c59347b15c45f.css +0 -1
- package/build/_next/static/css/7f570791ca140154.css +0 -1
- package/build/_next/static/css/8ed102a331809889.css +0 -1
- package/build/_next/static/css/a88042aa83a2c354.css +0 -1
- package/build/_next/static/css/a9a58f4c38bee2fd.css +0 -1
- package/build/_next/static/css/ac1d2e9b77b16926.css +0 -1
- package/build/_next/static/css/ae4b3848536f0c88.css +0 -1
- package/build/_next/static/css/b0ab7f81488aec78.css +0 -1
- package/build/_next/static/css/b853a4f8d045643a.css +0 -1
- package/build/_next/static/css/bcaa5e7fd24949ed.css +0 -1
- package/build/_next/static/css/d38343a4cf5388d8.css +0 -1
- package/build/_next/static/css/d829c1a3f2fcd594.css +0 -1
- package/build/_next/static/css/dbfffa33262d63c5.css +0 -1
- package/build/_next/static/css/dfae3c27eaeb27f7.css +0 -1
- package/build/_next/static/css/e0b468ba3d618325.css +0 -1
- package/build/_next/static/css/e5e018b7f5cf6e41.css +0 -1
- package/build/_next/static/css/e6a4dfa3d63d18c0.css +0 -1
- package/build/_next/static/css/ee49dfd49ae395ac.css +0 -1
- package/build/_next/static/css/ef46db3751d8e999.css +0 -0
- package/build/_next/static/css/f2867b2bd265a443.css +0 -1
- package/build/_next/static/media/671791babd225be4-s.p.woff2 +0 -0
- package/build/_next/static/media/c62d990acddde5f0-s.p.woff2 +0 -0
- package/build/_next/static/media/dfdbb1c4973e0bd7-s.p.woff2 +0 -0
- package/build/_next/static/media/phones.a832cbb3.png +0 -0
- package/build/components/accordion.html +0 -18
- package/build/components/accordion.txt +0 -28
- package/build/components/alert.html +0 -4
- package/build/components/alert.txt +0 -32
- package/build/components/bar.html +0 -10
- package/build/components/bar.txt +0 -27
- package/build/components/block-action.html +0 -4
- package/build/components/block-action.txt +0 -26
- package/build/components/body-banner.html +0 -1
- package/build/components/body-banner.txt +0 -28
- package/build/components/button.html +0 -2
- package/build/components/button.txt +0 -29
- package/build/components/buttons.html +0 -1
- package/build/components/buttons.txt +0 -29
- package/build/components/card.html +0 -20
- package/build/components/card.txt +0 -35
- package/build/components/carousel-promotions.html +0 -20
- package/build/components/carousel-promotions.txt +0 -31
- package/build/components/carousel.html +0 -5
- package/build/components/carousel.txt +0 -32
- package/build/components/cart-table.html +0 -39
- package/build/components/cart-table.txt +0 -35
- package/build/components/controls.html +0 -2
- package/build/components/controls.txt +0 -29
- package/build/components/cover.html +0 -1
- package/build/components/cover.txt +0 -26
- package/build/components/divider.html +0 -6
- package/build/components/divider.txt +0 -29
- package/build/components/dropdown.html +0 -18
- package/build/components/dropdown.txt +0 -36
- package/build/components/expander.html +0 -1
- package/build/components/expander.txt +0 -27
- package/build/components/feature-accordion.html +0 -1
- package/build/components/feature-accordion.txt +0 -31
- package/build/components/footer.html +0 -2
- package/build/components/footer.txt +0 -31
- package/build/components/forms/addons.html +0 -2
- package/build/components/forms/addons.txt +0 -26
- package/build/components/forms/autocomplete.html +0 -2
- package/build/components/forms/autocomplete.txt +0 -27
- package/build/components/forms/captions/hint.html +0 -4
- package/build/components/forms/captions/hint.txt +0 -26
- package/build/components/forms/captions/label.html +0 -4
- package/build/components/forms/captions/label.txt +0 -24
- package/build/components/forms/captions/message.html +0 -1
- package/build/components/forms/captions/message.txt +0 -24
- package/build/components/forms/checkbox.html +0 -2
- package/build/components/forms/checkbox.txt +0 -27
- package/build/components/forms/field.html +0 -3
- package/build/components/forms/field.txt +0 -24
- package/build/components/forms/fieldset.html +0 -2
- package/build/components/forms/fieldset.txt +0 -26
- package/build/components/forms/file.html +0 -1
- package/build/components/forms/file.txt +0 -24
- package/build/components/forms/inputstepper.html +0 -2
- package/build/components/forms/inputstepper.txt +0 -26
- package/build/components/forms/radio.html +0 -1
- package/build/components/forms/radio.txt +0 -37
- package/build/components/forms/rangeslider.html +0 -2
- package/build/components/forms/rangeslider.txt +0 -26
- package/build/components/forms/select.html +0 -1
- package/build/components/forms/select.txt +0 -24
- package/build/components/forms/text-area.html +0 -1
- package/build/components/forms/text-area.txt +0 -24
- package/build/components/forms/text-input.html +0 -1
- package/build/components/forms/text-input.txt +0 -24
- package/build/components/gauge.html +0 -15
- package/build/components/gauge.txt +0 -28
- package/build/components/icon.html +0 -1
- package/build/components/icon.txt +0 -24
- package/build/components/link.html +0 -6
- package/build/components/link.txt +0 -29
- package/build/components/list.html +0 -1
- package/build/components/list.txt +0 -30
- package/build/components/loader.html +0 -18
- package/build/components/loader.txt +0 -32
- package/build/components/modal.html +0 -2
- package/build/components/modal.txt +0 -33
- package/build/components/pagination.html +0 -1
- package/build/components/pagination.txt +0 -27
- package/build/components/progress.html +0 -1
- package/build/components/progress.txt +0 -33
- package/build/components/skeleton.html +0 -13
- package/build/components/skeleton.txt +0 -30
- package/build/components/sticker.html +0 -1
- package/build/components/sticker.txt +0 -27
- package/build/components/table.html +0 -2
- package/build/components/table.txt +0 -30
- package/build/components/tabs.html +0 -2
- package/build/components/tabs.txt +0 -29
- package/build/components/tag.html +0 -7
- package/build/components/tag.txt +0 -30
- package/build/components/testimonial.html +0 -1
- package/build/components/testimonial.txt +0 -28
- package/build/components/tile.html +0 -19
- package/build/components/tile.txt +0 -37
- package/build/components/tooltip.html +0 -4
- package/build/components/tooltip.txt +0 -26
- package/build/components/types/components/Carousel/Carousel.static.d.ts +0 -58
- package/build/components/types/components/CarouselPromotions/CarouselPromotions.static.d.ts +0 -47
- package/build/index.html +0 -65
- package/build/index.txt +0 -24
- package/build/javascript/toggle.html +0 -1
- package/build/javascript/toggle.txt +0 -29
- package/build/utilities/horizontal-scroll.html +0 -4
- package/build/utilities/horizontal-scroll.txt +0 -26
- package/src/components/Grid/tests/Grid.unit.test.tsx +0 -533
- package/src/components/Grid/tests/GridCol.unit.test.tsx +0 -199
- /package/build/components/types/{components → src/components}/Accordion/Accordion.d.ts +0 -0
- /package/build/components/types/{components → src/components}/Accordion/Accordion.static.d.ts +0 -0
- /package/build/components/types/{components → src/components}/Accordion/AccordionHeader.d.ts +0 -0
- /package/build/components/types/{components → src/components}/Accordion/AccordionItem.d.ts +0 -0
- /package/build/components/types/{components → src/components}/Accordion/HeadingContext.d.ts +0 -0
- /package/build/components/types/{components → src/components}/Accordion/index.d.ts +0 -0
- /package/build/components/types/{components → src/components}/Alert/Alert.d.ts +0 -0
- /package/build/components/types/{components → src/components}/Alert/data.d.ts +0 -0
- /package/build/components/types/{components → src/components}/Alert/index.d.ts +0 -0
- /package/build/components/types/{components → src/components}/Bar/Bar.d.ts +0 -0
- /package/build/components/types/{components → src/components}/Bar/BarBreak.d.ts +0 -0
- /package/build/components/types/{components → src/components}/Bar/BarItem.d.ts +0 -0
- /package/build/components/types/{components → src/components}/Bar/index.d.ts +0 -0
- /package/build/components/types/{components → src/components}/BlockAction/BlockAction.d.ts +0 -0
- /package/build/components/types/{components → src/components}/BlockAction/BlockActionControl.d.ts +0 -0
- /package/build/components/types/{components → src/components}/BlockAction/BlockActionIndicator.d.ts +0 -0
- /package/build/components/types/{components → src/components}/BlockAction/CloneElementWithClassName.d.ts +0 -0
- /package/build/components/types/{components → src/components}/BlockAction/Context.d.ts +0 -0
- /package/build/components/types/{components → src/components}/BlockAction/index.d.ts +0 -0
- /package/build/components/types/{components → src/components}/BodyBanner/BodyBanner.d.ts +0 -0
- /package/build/components/types/{components → src/components}/BodyBanner/index.d.ts +0 -0
- /package/build/components/types/{components → src/components}/Breadcrumbs/BreadcrumbItem.d.ts +0 -0
- /package/build/components/types/{components → src/components}/Breadcrumbs/index.d.ts +0 -0
- /package/build/components/types/{components → src/components}/Button/Button.d.ts +0 -0
- /package/build/components/types/{components → src/components}/Button/IconButton.d.ts +0 -0
- /package/build/components/types/{components → src/components}/Button/index.d.ts +0 -0
- /package/build/components/types/{components → src/components}/Buttons/Buttons.d.ts +0 -0
- /package/build/components/types/{components → src/components}/Buttons/index.d.ts +0 -0
- /package/build/components/types/{components → src/components}/Card/Card.d.ts +0 -0
- /package/build/components/types/{components → src/components}/Card/CardSection.d.ts +0 -0
- /package/build/components/types/{components → src/components}/Card/index.d.ts +0 -0
- /package/build/components/types/{components → src/components}/Carousel/CarouselItem.d.ts +0 -0
- /package/build/components/types/{components → src/components}/Carousel/index.d.ts +0 -0
- /package/build/components/types/{components → src/components}/CarouselPromotions/CarouselPromotionsItem.d.ts +0 -0
- /package/build/components/types/{components → src/components}/CarouselPromotions/index.d.ts +0 -0
- /package/build/components/types/{components → src/components}/CartTable/CartTable.d.ts +0 -0
- /package/build/components/types/{components → src/components}/CartTable/FooterNameColumn.d.ts +0 -0
- /package/build/components/types/{components → src/components}/CartTable/FooterPriceColumn.d.ts +0 -0
- /package/build/components/types/{components → src/components}/CartTable/Price.d.ts +0 -0
- /package/build/components/types/{components → src/components}/CartTable/generateFooter.d.ts +0 -0
- /package/build/components/types/{components → src/components}/CartTable/generateRow.d.ts +0 -0
- /package/build/components/types/{components → src/components}/CartTable/generateTotal.d.ts +0 -0
- /package/build/components/types/{components → src/components}/CartTable/index.d.ts +0 -0
- /package/build/components/types/{components → src/components}/Container/Container.d.ts +0 -0
- /package/build/components/types/{components → src/components}/Container/index.d.ts +0 -0
- /package/build/components/types/{components → src/components}/Controls/index.d.ts +0 -0
- /package/build/components/types/{components → src/components}/Cover/Cover.d.ts +0 -0
- /package/build/components/types/{components → src/components}/Cover/index.d.ts +0 -0
- /package/build/components/types/{components → src/components}/Divider/Divider.d.ts +0 -0
- /package/build/components/types/{components → src/components}/Divider/index.d.ts +0 -0
- /package/build/components/types/{components → src/components}/Dropdown/Dropdown.d.ts +0 -0
- /package/build/components/types/{components → src/components}/Dropdown/Dropdown.static.d.ts +0 -0
- /package/build/components/types/{components → src/components}/Dropdown/DropdownDivider.d.ts +0 -0
- /package/build/components/types/{components → src/components}/Dropdown/DropdownItem.d.ts +0 -0
- /package/build/components/types/{components → src/components}/Dropdown/DropdownToggleButton.d.ts +0 -0
- /package/build/components/types/{components → src/components}/Dropdown/index.d.ts +0 -0
- /package/build/components/types/{components → src/components}/Expander/Expander.d.ts +0 -0
- /package/build/components/types/{components → src/components}/Expander/Expander.static.d.ts +0 -0
- /package/build/components/types/{components → src/components}/FeatureAccordion/FeatureAccordion.d.ts +0 -0
- /package/build/components/types/{components → src/components}/FeatureAccordion/FeatureAccordion.static.d.ts +0 -0
- /package/build/components/types/{components → src/components}/FeatureAccordion/FeatureAccordionItem.d.ts +0 -0
- /package/build/components/types/{components → src/components}/FeatureAccordion/index.d.ts +0 -0
- /package/build/components/types/{components → src/components}/Footer/Footer.d.ts +0 -0
- /package/build/components/types/{components → src/components}/Footer/data.d.ts +0 -0
- /package/build/components/types/{components → src/components}/Footer/index.d.ts +0 -0
- /package/build/components/types/{components → src/components}/Forms/Autocomplete/Autocomplete.d.ts +0 -0
- /package/build/components/types/{components → src/components}/Forms/Autocomplete/Autocomplete.static.d.ts +0 -0
- /package/build/components/types/{components → src/components}/Forms/Autocomplete/index.d.ts +0 -0
- /package/build/components/types/{components → src/components}/Forms/Checkbox/Checkbox.d.ts +0 -0
- /package/build/components/types/{components → src/components}/Forms/Checkbox/index.d.ts +0 -0
- /package/build/components/types/{components → src/components}/Forms/Field/Field.d.ts +0 -0
- /package/build/components/types/{components → src/components}/Forms/Field/index.d.ts +0 -0
- /package/build/components/types/{components → src/components}/Forms/Field/utils.d.ts +0 -0
- /package/build/components/types/{components → src/components}/Forms/Fieldset/Fieldset.d.ts +0 -0
- /package/build/components/types/{components → src/components}/Forms/Fieldset/index.d.ts +0 -0
- /package/build/components/types/{components → src/components}/Forms/File/File.d.ts +0 -0
- /package/build/components/types/{components → src/components}/Forms/File/File.static.d.ts +0 -0
- /package/build/components/types/{components → src/components}/Forms/File/index.d.ts +0 -0
- /package/build/components/types/{components → src/components}/Forms/Group/Group.d.ts +0 -0
- /package/build/components/types/{components → src/components}/Forms/Group/Item.d.ts +0 -0
- /package/build/components/types/{components → src/components}/Forms/Group/index.d.ts +0 -0
- /package/build/components/types/{components → src/components}/Forms/Hint/Hint.d.ts +0 -0
- /package/build/components/types/{components → src/components}/Forms/Hint/index.d.ts +0 -0
- /package/build/components/types/{components → src/components}/Forms/InputStepper/InputStepper.d.ts +0 -0
- /package/build/components/types/{components → src/components}/Forms/InputStepper/InputStepper.static.d.ts +0 -0
- /package/build/components/types/{components → src/components}/Forms/InputStepper/index.d.ts +0 -0
- /package/build/components/types/{components → src/components}/Forms/Label/Label.d.ts +0 -0
- /package/build/components/types/{components → src/components}/Forms/Label/index.d.ts +0 -0
- /package/build/components/types/{components → src/components}/Forms/Message/Message.d.ts +0 -0
- /package/build/components/types/{components → src/components}/Forms/Message/index.d.ts +0 -0
- /package/build/components/types/{components → src/components}/Forms/Radio/Radio.d.ts +0 -0
- /package/build/components/types/{components → src/components}/Forms/Radio/index.d.ts +0 -0
- /package/build/components/types/{components → src/components}/Forms/RangeSlider/RangeSlider.d.ts +0 -0
- /package/build/components/types/{components → src/components}/Forms/RangeSlider/RangeSlider.static.d.ts +0 -0
- /package/build/components/types/{components → src/components}/Forms/RangeSlider/data.d.ts +0 -0
- /package/build/components/types/{components → src/components}/Forms/RangeSlider/index.d.ts +0 -0
- /package/build/components/types/{components → src/components}/Forms/Select/Select.d.ts +0 -0
- /package/build/components/types/{components → src/components}/Forms/Select/index.d.ts +0 -0
- /package/build/components/types/{components → src/components}/Forms/TextArea/TextArea.d.ts +0 -0
- /package/build/components/types/{components → src/components}/Forms/TextArea/index.d.ts +0 -0
- /package/build/components/types/{components → src/components}/Forms/TextInput/TextInput.d.ts +0 -0
- /package/build/components/types/{components → src/components}/Forms/TextInput/index.d.ts +0 -0
- /package/build/components/types/{components → src/components}/Gauge/Gauge.d.ts +0 -0
- /package/build/components/types/{components → src/components}/Gauge/index.d.ts +0 -0
- /package/build/components/types/{components → src/components}/Grid/Grid.d.ts +0 -0
- /package/build/components/types/{components → src/components}/Grid/GridCol.d.ts +0 -0
- /package/build/components/types/{components → src/components}/Grid/index.d.ts +0 -0
- /package/build/components/types/{components → src/components}/Icon/Icon.d.ts +0 -0
- /package/build/components/types/{components → src/components}/Icon/SpritePathContext.d.ts +0 -0
- /package/build/components/types/{components → src/components}/Icon/index.d.ts +0 -0
- /package/build/components/types/{components → src/components}/Image/Image.d.ts +0 -0
- /package/build/components/types/{components → src/components}/Image/index.d.ts +0 -0
- /package/build/components/types/{components → src/components}/Link/Link.d.ts +0 -0
- /package/build/components/types/{components → src/components}/Link/index.d.ts +0 -0
- /package/build/components/types/{components → src/components}/List/ClickableControl.d.ts +0 -0
- /package/build/components/types/{components → src/components}/List/List.d.ts +0 -0
- /package/build/components/types/{components → src/components}/List/ListItem.d.ts +0 -0
- /package/build/components/types/{components → src/components}/List/index.d.ts +0 -0
- /package/build/components/types/{components → src/components}/Loader/Loader.d.ts +0 -0
- /package/build/components/types/{components → src/components}/Loader/Loader.static.d.ts +0 -0
- /package/build/components/types/{components → src/components}/Loader/index.d.ts +0 -0
- /package/build/components/types/{components → src/components}/Modal/Modal.d.ts +0 -0
- /package/build/components/types/{components → src/components}/Modal/Modal.static.d.ts +0 -0
- /package/build/components/types/{components → src/components}/Modal/ModalBody.d.ts +0 -0
- /package/build/components/types/{components → src/components}/Modal/ModalCloseButton.d.ts +0 -0
- /package/build/components/types/{components → src/components}/Modal/ModalTitle.d.ts +0 -0
- /package/build/components/types/{components → src/components}/Modal/index.d.ts +0 -0
- /package/build/components/types/{components → src/components}/Pagination/Pagination.d.ts +0 -0
- /package/build/components/types/{components → src/components}/Pagination/PaginationItem.d.ts +0 -0
- /package/build/components/types/{components → src/components}/Pagination/Separator.d.ts +0 -0
- /package/build/components/types/{components → src/components}/Pagination/helpers.d.ts +0 -0
- /package/build/components/types/{components → src/components}/Pagination/index.d.ts +0 -0
- /package/build/components/types/{components → src/components}/Progress/Progress.d.ts +0 -0
- /package/build/components/types/{components → src/components}/Progress/index.d.ts +0 -0
- /package/build/components/types/{components → src/components}/Section/Section.d.ts +0 -0
- /package/build/components/types/{components → src/components}/Section/index.d.ts +0 -0
- /package/build/components/types/{components → src/components}/Skeleton/Skeleton.d.ts +0 -0
- /package/build/components/types/{components → src/components}/Skeleton/index.d.ts +0 -0
- /package/build/components/types/{components → src/components}/Sticker/Sticker.d.ts +0 -0
- /package/build/components/types/{components → src/components}/Sticker/index.d.ts +0 -0
- /package/build/components/types/{components → src/components}/Table/Cell.d.ts +0 -0
- /package/build/components/types/{components → src/components}/Table/Footer.d.ts +0 -0
- /package/build/components/types/{components → src/components}/Table/Header.d.ts +0 -0
- /package/build/components/types/{components → src/components}/Table/Row.d.ts +0 -0
- /package/build/components/types/{components → src/components}/Table/Rows.d.ts +0 -0
- /package/build/components/types/{components → src/components}/Table/Table.d.ts +0 -0
- /package/build/components/types/{components → src/components}/Table/Table.static.d.ts +0 -0
- /package/build/components/types/{components → src/components}/Table/TableContext.d.ts +0 -0
- /package/build/components/types/{components → src/components}/Table/index.d.ts +0 -0
- /package/build/components/types/{components → src/components}/Table/types.d.ts +0 -0
- /package/build/components/types/{components → src/components}/Tabs/Tab.d.ts +0 -0
- /package/build/components/types/{components → src/components}/Tabs/TabPanel.d.ts +0 -0
- /package/build/components/types/{components → src/components}/Tabs/Tabs.d.ts +0 -0
- /package/build/components/types/{components → src/components}/Tabs/Tabs.static.d.ts +0 -0
- /package/build/components/types/{components → src/components}/Tabs/index.d.ts +0 -0
- /package/build/components/types/{components → src/components}/Tag/Tag.d.ts +0 -0
- /package/build/components/types/{components → src/components}/Tag/TagButton.d.ts +0 -0
- /package/build/components/types/{components → src/components}/Tag/index.d.ts +0 -0
- /package/build/components/types/{components → src/components}/Testimonial/Testimonial.d.ts +0 -0
- /package/build/components/types/{components → src/components}/Testimonial/index.d.ts +0 -0
- /package/build/components/types/{components → src/components}/Tile/Tile.d.ts +0 -0
- /package/build/components/types/{components → src/components}/Tile/index.d.ts +0 -0
- /package/build/components/types/{components → src/components}/Tooltip/InfoTooltip.d.ts +0 -0
- /package/build/components/types/{components → src/components}/Tooltip/Tooltip.d.ts +0 -0
- /package/build/components/types/{components → src/components}/Tooltip/Tooltip.static.d.ts +0 -0
- /package/build/components/types/{components → src/components}/Tooltip/index.d.ts +0 -0
- /package/build/components/types/{docs → src/docs}/utils/ToggleButton.d.ts +0 -0
- /package/build/components/types/{scripts → src/scripts}/modules/Toggle.d.ts +0 -0
- /package/build/components/types/{scripts → src/scripts}/modules/toggleUtil.d.ts +0 -0
- /package/build/components/types/{styles → src/styles}/export/breakpoint.d.ts +0 -0
- /package/build/components/types/{utils → src/utils}/ConditionalWrapper.d.ts +0 -0
- /package/build/components/types/{utils → src/utils}/classes.d.ts +0 -0
- /package/build/components/types/{utils → src/utils}/color.d.ts +0 -0
- /package/build/components/types/{utils → src/utils}/constants.d.ts +0 -0
- /package/build/components/types/{utils → src/utils}/generateId.d.ts +0 -0
- /package/build/components/types/{utils → src/utils}/helpers.d.ts +0 -0
- /package/build/components/types/{utils → src/utils}/hooks.d.ts +0 -0
- /package/build/components/types/{utils → src/utils}/index.d.ts +0 -0
- /package/build/components/types/{utils → src/utils}/keyboard.d.ts +0 -0
|
@@ -0,0 +1,60 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Cleanup docgen prop value of string which has this form:
|
|
3
|
+
* "'string'" and converts it to "string"
|
|
4
|
+
*/
|
|
5
|
+
export const cleanValue = (s: any): any =>
|
|
6
|
+
typeof s === 'string' ? s.replace(/(^['"]|['"]$)/g, '') : s;
|
|
7
|
+
|
|
8
|
+
/**
|
|
9
|
+
* Get docgen props of component
|
|
10
|
+
* if it's an html element we parse just first level of text to be editable
|
|
11
|
+
* if it's just a string we create docgen type of string
|
|
12
|
+
*/
|
|
13
|
+
export const getDocgenProps = (component: any): Record<string, any> => {
|
|
14
|
+
const componentType = component.type;
|
|
15
|
+
|
|
16
|
+
if (typeof componentType === 'function') {
|
|
17
|
+
if (componentType.__docgenInfo) {
|
|
18
|
+
return componentType.__docgenInfo.props;
|
|
19
|
+
}
|
|
20
|
+
} else if (typeof componentType === 'string') {
|
|
21
|
+
const props = component.props;
|
|
22
|
+
return Object.keys(props).reduce(
|
|
23
|
+
(acc: Record<string, any>, curr: string) => ({
|
|
24
|
+
...acc,
|
|
25
|
+
[curr]: {
|
|
26
|
+
type: {
|
|
27
|
+
name: typeof props[curr],
|
|
28
|
+
value: props[curr],
|
|
29
|
+
},
|
|
30
|
+
},
|
|
31
|
+
}),
|
|
32
|
+
{}
|
|
33
|
+
);
|
|
34
|
+
}
|
|
35
|
+
|
|
36
|
+
return {
|
|
37
|
+
children: {
|
|
38
|
+
type: {
|
|
39
|
+
name: typeof component,
|
|
40
|
+
value: component,
|
|
41
|
+
},
|
|
42
|
+
},
|
|
43
|
+
};
|
|
44
|
+
};
|
|
45
|
+
|
|
46
|
+
/**
|
|
47
|
+
* parse displayName of component or create custom name
|
|
48
|
+
*/
|
|
49
|
+
export const getDisplayName = (component: any): string =>
|
|
50
|
+
(component.type && component.type.displayName) ||
|
|
51
|
+
(typeof component === 'string'
|
|
52
|
+
? 'PlainText'
|
|
53
|
+
: typeof component.type === 'string'
|
|
54
|
+
? component.type
|
|
55
|
+
: 'NoDisplayName');
|
|
56
|
+
|
|
57
|
+
/**
|
|
58
|
+
* Helper function for comparision
|
|
59
|
+
*/
|
|
60
|
+
export const is = (value: any, type: any): boolean => value === type;
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
import { createContext } from 'react';
|
|
2
|
+
|
|
3
|
+
interface InteractContextType {
|
|
4
|
+
liveProps: Record<string, any>;
|
|
5
|
+
showProps: boolean;
|
|
6
|
+
docgenProps: Record<string, any>;
|
|
7
|
+
setDeepState: (propName: string, value: any) => void;
|
|
8
|
+
handleShowProps: (e: React.MouseEvent) => void;
|
|
9
|
+
handleInputChange: (event: React.ChangeEvent<HTMLInputElement>) => void;
|
|
10
|
+
handleCheckboxChange: (event: React.ChangeEvent<HTMLInputElement>) => void;
|
|
11
|
+
handleSelectChange: (event: React.ChangeEvent<HTMLSelectElement>) => void;
|
|
12
|
+
isDefaultValue: (propName: string) => boolean;
|
|
13
|
+
getDefaultValue: (docgen: any) => any;
|
|
14
|
+
}
|
|
15
|
+
|
|
16
|
+
const InteractContext = createContext<InteractContextType | undefined>(undefined);
|
|
17
|
+
|
|
18
|
+
export default InteractContext;
|
|
@@ -0,0 +1,153 @@
|
|
|
1
|
+
import { Preview, ComponentDocs, CodeJSX } from './../';
|
|
2
|
+
import PreviewForDocs from './Preview';
|
|
3
|
+
import InteractForDOcs from './Interact/Interact';
|
|
4
|
+
import { Bar, BarItem } from './../Bar';
|
|
5
|
+
|
|
6
|
+
# Preview
|
|
7
|
+
|
|
8
|
+
Preview component is dedicated to displaing other components with code preview and colored backgrounds.
|
|
9
|
+
|
|
10
|
+
## Variants
|
|
11
|
+
|
|
12
|
+
### Default
|
|
13
|
+
|
|
14
|
+
<Preview code={<Preview>Default preview</Preview>}>Default preview</Preview>
|
|
15
|
+
|
|
16
|
+
### Different default background color
|
|
17
|
+
|
|
18
|
+
<Preview
|
|
19
|
+
bgTheme="dark"
|
|
20
|
+
code={<Preview bgTheme="dark">Preview with `dark` background color</Preview>}
|
|
21
|
+
>
|
|
22
|
+
Preview with <CodeJSX>dark</CodeJSX> background color
|
|
23
|
+
</Preview>
|
|
24
|
+
|
|
25
|
+
### Disable colors in background color chooser
|
|
26
|
+
|
|
27
|
+
<Preview
|
|
28
|
+
bgThemeExcludedColors={['accent']}
|
|
29
|
+
code={
|
|
30
|
+
<Preview bgThemeExcludedColors={['accent']}>
|
|
31
|
+
`accent` background color is not available
|
|
32
|
+
</Preview>
|
|
33
|
+
}
|
|
34
|
+
>
|
|
35
|
+
<CodeJSX>accent</CodeJSX> background color is not available
|
|
36
|
+
</Preview>
|
|
37
|
+
|
|
38
|
+
### Disable background color chooser
|
|
39
|
+
|
|
40
|
+
<Preview
|
|
41
|
+
bgTheme={false}
|
|
42
|
+
code={`<Preview bgTheme={false}>
|
|
43
|
+
Disabled background color chooser.
|
|
44
|
+
</Preview>`}
|
|
45
|
+
>
|
|
46
|
+
Disabled background color chooser
|
|
47
|
+
</Preview>
|
|
48
|
+
|
|
49
|
+
### Adapt to current background color
|
|
50
|
+
|
|
51
|
+
<Preview
|
|
52
|
+
code={`<Preview>
|
|
53
|
+
{({ bgTheme, bgThemeValue }) => (/*...*/)}
|
|
54
|
+
</Preview>`}
|
|
55
|
+
>
|
|
56
|
+
{({ bgTheme, bgThemeValue }) => (
|
|
57
|
+
<React.Fragment>
|
|
58
|
+
Current background is <CodeJSX>{`${bgTheme} (${bgThemeValue})`}</CodeJSX>
|
|
59
|
+
</React.Fragment>
|
|
60
|
+
)}
|
|
61
|
+
</Preview>
|
|
62
|
+
|
|
63
|
+
### Disable code preview
|
|
64
|
+
|
|
65
|
+
<Preview hasCodePreview={false}>
|
|
66
|
+
Pass <CodeJSX>hasCodePreview={false}</CodeJSX> prop to{' '}
|
|
67
|
+
<CodeJSX>Preview</CodeJSX>
|
|
68
|
+
</Preview>
|
|
69
|
+
|
|
70
|
+
### Custom code in show code
|
|
71
|
+
|
|
72
|
+
<Preview
|
|
73
|
+
code={
|
|
74
|
+
<Preview code={<div>This is custom code preview of component</div>}>
|
|
75
|
+
Different code output will be shown in code preview
|
|
76
|
+
</Preview>
|
|
77
|
+
}
|
|
78
|
+
>
|
|
79
|
+
Different code output will be shown in code preview
|
|
80
|
+
</Preview>
|
|
81
|
+
|
|
82
|
+
### Code JSX options
|
|
83
|
+
|
|
84
|
+
Library
|
|
85
|
+
[react-element-to-jsx-string](https://github.com/algolia/react-element-to-jsx-string)
|
|
86
|
+
is used to generate JSX in code example. To overide options of this library, use
|
|
87
|
+
`codeJSXOptions`. This can be usefull to filter some props code preview.
|
|
88
|
+
|
|
89
|
+
<Preview
|
|
90
|
+
codeJSXOptions={{ filterProps: ['key'] }}
|
|
91
|
+
code={
|
|
92
|
+
<Preview codeJSXOptions={{ filterProps: ['key'] }}>
|
|
93
|
+
<div key={"key won't show at code example"}>
|
|
94
|
+
This component has key, but code example hides it
|
|
95
|
+
</div>
|
|
96
|
+
</Preview>
|
|
97
|
+
}
|
|
98
|
+
>
|
|
99
|
+
<div key={"key won't show at code example"}>
|
|
100
|
+
This component has key, but code example hides it
|
|
101
|
+
</div>
|
|
102
|
+
</Preview>
|
|
103
|
+
|
|
104
|
+
### Code example types
|
|
105
|
+
|
|
106
|
+
If you need to adjust visible code example types use `codeTypes` property.
|
|
107
|
+
|
|
108
|
+
<Preview
|
|
109
|
+
code={
|
|
110
|
+
<Preview codeTypes={['html', 'jsx']}>
|
|
111
|
+
<p>
|
|
112
|
+
This preview has html as a main code example type
|
|
113
|
+
</p>
|
|
114
|
+
</Preview>
|
|
115
|
+
}
|
|
116
|
+
codeTypes={['html', 'jsx']}>
|
|
117
|
+
<p>
|
|
118
|
+
This preview has html as a main code example type
|
|
119
|
+
</p>
|
|
120
|
+
</Preview>
|
|
121
|
+
|
|
122
|
+
### Preview HTML string
|
|
123
|
+
|
|
124
|
+
<Preview
|
|
125
|
+
code={
|
|
126
|
+
<Preview
|
|
127
|
+
html={`
|
|
128
|
+
<div class='html'>
|
|
129
|
+
<div>This is HTML string</div>
|
|
130
|
+
</div>
|
|
131
|
+
`}
|
|
132
|
+
/>
|
|
133
|
+
}
|
|
134
|
+
>
|
|
135
|
+
This is HTML string
|
|
136
|
+
</Preview>
|
|
137
|
+
|
|
138
|
+
### Preview interactiveProps
|
|
139
|
+
|
|
140
|
+
`interactiveProps` are used as a pipe for sending special props to Interactive elements renderer.
|
|
141
|
+
|
|
142
|
+
Every component in the `Preview` gets their own Interactive component to `render`.
|
|
143
|
+
`render` prop is prefilled with parsed component from `Preview`.
|
|
144
|
+
`filterProps` is set of values that ensures, that user cannot edit these props interactively.
|
|
145
|
+
`skipChildren` is used to make just the parent element interactive not the children elements.
|
|
146
|
+
|
|
147
|
+
## Props
|
|
148
|
+
|
|
149
|
+
<ComponentDocs title="<Preview />" component={PreviewForDocs} />
|
|
150
|
+
|
|
151
|
+
## Props for interactive component
|
|
152
|
+
|
|
153
|
+
<ComponentDocs title="<Interact />" component={InteractForDOcs} />
|
|
@@ -0,0 +1,66 @@
|
|
|
1
|
+
import React from 'react';
|
|
2
|
+
import { render, fireEvent } from '@testing-library/react';
|
|
3
|
+
|
|
4
|
+
import Preview from '.';
|
|
5
|
+
|
|
6
|
+
describe('rendering', () => {
|
|
7
|
+
it('Preview', () => {
|
|
8
|
+
const { getByText } = render(<Preview>Preview</Preview>);
|
|
9
|
+
expect(getByText('Preview')).toBeInTheDocument();
|
|
10
|
+
});
|
|
11
|
+
|
|
12
|
+
it('HTML preview renders more than 1 child', () => {
|
|
13
|
+
const { getByText, getByTestId } = render(
|
|
14
|
+
<Preview>
|
|
15
|
+
<p>Paragraph 1</p>
|
|
16
|
+
<p>Paragraph 2</p>
|
|
17
|
+
</Preview>
|
|
18
|
+
);
|
|
19
|
+
|
|
20
|
+
fireEvent.click(getByText('SHOW CODE'));
|
|
21
|
+
|
|
22
|
+
fireEvent.click(getByText('HTML'));
|
|
23
|
+
|
|
24
|
+
expect(getByTestId('html')).toBeInTheDocument();
|
|
25
|
+
});
|
|
26
|
+
|
|
27
|
+
it('at least one tab is rendered by default', () => {
|
|
28
|
+
const { queryAllByTestId, getByText } = render(<Preview>preview</Preview>);
|
|
29
|
+
|
|
30
|
+
fireEvent.click(getByText('SHOW CODE'));
|
|
31
|
+
|
|
32
|
+
const toggleButtons = queryAllByTestId('code-type-toggle');
|
|
33
|
+
|
|
34
|
+
expect(toggleButtons).not.toHaveLength(0);
|
|
35
|
+
});
|
|
36
|
+
|
|
37
|
+
it('order of tabs is same as order of codeTypes', () => {
|
|
38
|
+
const codeTypes = ['html', 'jsx'];
|
|
39
|
+
|
|
40
|
+
const { queryAllByTestId, getByText } = render(
|
|
41
|
+
<Preview codeTypes={codeTypes}>preview</Preview>
|
|
42
|
+
);
|
|
43
|
+
|
|
44
|
+
fireEvent.click(getByText('SHOW CODE'));
|
|
45
|
+
|
|
46
|
+
const toggleButtons = queryAllByTestId('code-type-toggle');
|
|
47
|
+
|
|
48
|
+
const buttonTypesArray = toggleButtons.map(button =>
|
|
49
|
+
button?.innerHTML?.toLowerCase()
|
|
50
|
+
);
|
|
51
|
+
|
|
52
|
+
expect(buttonTypesArray).toEqual(codeTypes);
|
|
53
|
+
});
|
|
54
|
+
|
|
55
|
+
it('render only one tab when html property is set', () => {
|
|
56
|
+
const { queryAllByTestId, getByText } = render(
|
|
57
|
+
<Preview html={`<div>preview</div>`}>preview</Preview>
|
|
58
|
+
);
|
|
59
|
+
|
|
60
|
+
fireEvent.click(getByText('SHOW CODE'));
|
|
61
|
+
|
|
62
|
+
const toggleButtons = queryAllByTestId('code-type-toggle');
|
|
63
|
+
|
|
64
|
+
expect(toggleButtons).toHaveLength(1);
|
|
65
|
+
});
|
|
66
|
+
});
|
|
@@ -0,0 +1,273 @@
|
|
|
1
|
+
import React, { useState, ReactNode, FunctionComponent } from "react";
|
|
2
|
+
import cx from "classnames";
|
|
3
|
+
|
|
4
|
+
import PreviewTitleBar from "./PreviewTitleBar";
|
|
5
|
+
import CodeExample from "./CodeExample";
|
|
6
|
+
import Interact from "./Interact/Interact";
|
|
7
|
+
|
|
8
|
+
import { Card } from "./../Card";
|
|
9
|
+
import { Icon } from "./../Icon";
|
|
10
|
+
import { Button } from "./../Button";
|
|
11
|
+
import { Dropdown, DropdownItem } from "./../Dropdown";
|
|
12
|
+
|
|
13
|
+
import "./styles/style.scss";
|
|
14
|
+
|
|
15
|
+
const CLASS_ROOT = "preview";
|
|
16
|
+
|
|
17
|
+
interface PreviewBackground {
|
|
18
|
+
value: string;
|
|
19
|
+
label: string;
|
|
20
|
+
}
|
|
21
|
+
|
|
22
|
+
interface PreviewProps {
|
|
23
|
+
bgTheme?: string | boolean;
|
|
24
|
+
bgThemeColors?: Record<string, string>;
|
|
25
|
+
bgThemeExcludedColors?: string[];
|
|
26
|
+
children?:
|
|
27
|
+
| ReactNode
|
|
28
|
+
| ((context: { bgTheme: string; bgThemeValue: string }) => ReactNode);
|
|
29
|
+
className?: string;
|
|
30
|
+
code?:
|
|
31
|
+
| ReactNode
|
|
32
|
+
| ((context: { bgTheme: string; bgThemeValue: string }) => ReactNode);
|
|
33
|
+
codeJSXOptions?: Record<string, any>;
|
|
34
|
+
codeTypes?: string[];
|
|
35
|
+
enableFullscreen?: boolean;
|
|
36
|
+
hasCodePreview?: boolean;
|
|
37
|
+
html?: string;
|
|
38
|
+
interactiveProps?: Record<string, any>;
|
|
39
|
+
isInteractive?: boolean;
|
|
40
|
+
[key: string]: any;
|
|
41
|
+
}
|
|
42
|
+
|
|
43
|
+
const getBackgroundsAsArray = (
|
|
44
|
+
previewBackgrounds: Record<string, string>,
|
|
45
|
+
excludedColors: string[] = [],
|
|
46
|
+
): PreviewBackground[] =>
|
|
47
|
+
Object.keys(previewBackgrounds).reduce<PreviewBackground[]>((acc, name) => {
|
|
48
|
+
if (!excludedColors.includes(name)) {
|
|
49
|
+
acc.push({
|
|
50
|
+
value: previewBackgrounds[name],
|
|
51
|
+
label: name,
|
|
52
|
+
});
|
|
53
|
+
}
|
|
54
|
+
return acc;
|
|
55
|
+
}, []);
|
|
56
|
+
|
|
57
|
+
// Funkcia na detekciu farby a určenie CSS triedy
|
|
58
|
+
const getThemeClass = (backgroundColor: string): string => {
|
|
59
|
+
// Fallback na základe názvu farby
|
|
60
|
+
console.log(backgroundColor);
|
|
61
|
+
const colorName = backgroundColor.toLowerCase();
|
|
62
|
+
if (colorName === "#000") {
|
|
63
|
+
return "is-dark";
|
|
64
|
+
}
|
|
65
|
+
if (colorName === "#fff" || colorName === "#f5f5f5") {
|
|
66
|
+
return "is-light";
|
|
67
|
+
}
|
|
68
|
+
|
|
69
|
+
return "is-light"; // default
|
|
70
|
+
};
|
|
71
|
+
|
|
72
|
+
const Preview: FunctionComponent<PreviewProps> = ({
|
|
73
|
+
bgTheme = "white",
|
|
74
|
+
bgThemeColors = { White: "#fff", Gray: "#f5f5f5", Black: "#000" },
|
|
75
|
+
bgThemeExcludedColors = [],
|
|
76
|
+
children,
|
|
77
|
+
className,
|
|
78
|
+
code,
|
|
79
|
+
codeJSXOptions,
|
|
80
|
+
codeTypes,
|
|
81
|
+
enableFullscreen = true,
|
|
82
|
+
hasCodePreview = true,
|
|
83
|
+
html,
|
|
84
|
+
interactiveProps = {},
|
|
85
|
+
isInteractive = false,
|
|
86
|
+
...other
|
|
87
|
+
}) => {
|
|
88
|
+
const [isCodeShown, setIsCodeShown] = useState(false);
|
|
89
|
+
const [isFullscreen, setIsFullscreen] = useState(false);
|
|
90
|
+
const [showInteract, setShowInteract] = useState(false);
|
|
91
|
+
const [previewBackground, setPreviewBackground] = useState<PreviewBackground>(
|
|
92
|
+
() => {
|
|
93
|
+
if (bgThemeColors && typeof bgTheme === "string") {
|
|
94
|
+
const bgColorsOptions = getBackgroundsAsArray(
|
|
95
|
+
bgThemeColors,
|
|
96
|
+
bgThemeExcludedColors,
|
|
97
|
+
);
|
|
98
|
+
|
|
99
|
+
// Ak je bgTheme string, skús nájsť zodpovedajúcu farbu
|
|
100
|
+
if (bgThemeColors[bgTheme]) {
|
|
101
|
+
return {
|
|
102
|
+
label: bgTheme,
|
|
103
|
+
value: bgThemeColors[bgTheme],
|
|
104
|
+
};
|
|
105
|
+
}
|
|
106
|
+
|
|
107
|
+
// Ak bgTheme nie je v bgThemeColors, skús nájsť farbu s rovnakým názvom
|
|
108
|
+
const matchingOption = bgColorsOptions.find(
|
|
109
|
+
(option) => option.label.toLowerCase() === bgTheme.toLowerCase(),
|
|
110
|
+
);
|
|
111
|
+
|
|
112
|
+
if (matchingOption) {
|
|
113
|
+
return matchingOption;
|
|
114
|
+
}
|
|
115
|
+
|
|
116
|
+
// Ak sa nenájde zhoda, použij prvú dostupnú farbu
|
|
117
|
+
if (bgColorsOptions.length > 0) {
|
|
118
|
+
return bgColorsOptions[0];
|
|
119
|
+
}
|
|
120
|
+
|
|
121
|
+
return {
|
|
122
|
+
label: bgTheme,
|
|
123
|
+
value: bgThemeColors[bgTheme] || "#fff",
|
|
124
|
+
};
|
|
125
|
+
}
|
|
126
|
+
return { label: "white", value: "#fff" };
|
|
127
|
+
},
|
|
128
|
+
);
|
|
129
|
+
|
|
130
|
+
function handleToggleCode() {
|
|
131
|
+
setIsCodeShown(!isCodeShown);
|
|
132
|
+
}
|
|
133
|
+
|
|
134
|
+
function handleToggleInteract() {
|
|
135
|
+
setShowInteract(!showInteract);
|
|
136
|
+
}
|
|
137
|
+
|
|
138
|
+
function handlePreviewBackground(previewBackground: PreviewBackground) {
|
|
139
|
+
setPreviewBackground(previewBackground);
|
|
140
|
+
}
|
|
141
|
+
|
|
142
|
+
function handleToggleFullscreen() {
|
|
143
|
+
setIsFullscreen(!isFullscreen);
|
|
144
|
+
}
|
|
145
|
+
|
|
146
|
+
const classes = cx(
|
|
147
|
+
CLASS_ROOT,
|
|
148
|
+
className,
|
|
149
|
+
getThemeClass(previewBackground.value),
|
|
150
|
+
);
|
|
151
|
+
const wrapperClasses = cx("previewWrapper", {
|
|
152
|
+
isFullscreen: isFullscreen,
|
|
153
|
+
});
|
|
154
|
+
|
|
155
|
+
const actions: ReactNode[] = [];
|
|
156
|
+
|
|
157
|
+
if (bgTheme && bgThemeColors) {
|
|
158
|
+
const bgColorsOptions = getBackgroundsAsArray(
|
|
159
|
+
bgThemeColors,
|
|
160
|
+
bgThemeExcludedColors,
|
|
161
|
+
);
|
|
162
|
+
|
|
163
|
+
if (bgColorsOptions.length) {
|
|
164
|
+
actions.push(
|
|
165
|
+
<Dropdown
|
|
166
|
+
id="background-select"
|
|
167
|
+
button={{
|
|
168
|
+
children: previewBackground.label,
|
|
169
|
+
iconName: "menu-arrow",
|
|
170
|
+
}}
|
|
171
|
+
>
|
|
172
|
+
{bgColorsOptions.map((option: any) => (
|
|
173
|
+
<DropdownItem
|
|
174
|
+
key={option.value}
|
|
175
|
+
onClick={() => handlePreviewBackground(option)}
|
|
176
|
+
>
|
|
177
|
+
{option.label}
|
|
178
|
+
</DropdownItem>
|
|
179
|
+
))}
|
|
180
|
+
</Dropdown>,
|
|
181
|
+
);
|
|
182
|
+
}
|
|
183
|
+
}
|
|
184
|
+
|
|
185
|
+
if (hasCodePreview) {
|
|
186
|
+
actions.push(
|
|
187
|
+
<Button key="code-toggle" onClick={handleToggleCode}>
|
|
188
|
+
<Icon name="code" fill={bgThemeColors?.accent || "#000"} />
|
|
189
|
+
{isCodeShown ? "HIDE CODE" : "SHOW CODE"}
|
|
190
|
+
</Button>,
|
|
191
|
+
);
|
|
192
|
+
}
|
|
193
|
+
|
|
194
|
+
if (isInteractive) {
|
|
195
|
+
actions.push(
|
|
196
|
+
<Button key="interact-toggle" onClick={handleToggleInteract}>
|
|
197
|
+
<Icon name="code" fill={bgThemeColors?.accent || "#000"} />
|
|
198
|
+
{showInteract ? "HIDE INTERACTIVE" : "SHOW INTERACTIVE"}
|
|
199
|
+
</Button>,
|
|
200
|
+
);
|
|
201
|
+
}
|
|
202
|
+
|
|
203
|
+
if (enableFullscreen) {
|
|
204
|
+
actions.push(
|
|
205
|
+
<Button key="fullscreen-toggle" onClick={handleToggleFullscreen}>
|
|
206
|
+
<Icon name={isFullscreen ? "fullscreen-exit" : "fullscreen"} />
|
|
207
|
+
{isFullscreen ? "MINIMIZE" : "FULLSCREEN"}
|
|
208
|
+
</Button>,
|
|
209
|
+
);
|
|
210
|
+
}
|
|
211
|
+
|
|
212
|
+
const renderAsFunctionContext = {
|
|
213
|
+
bgTheme: previewBackground.label,
|
|
214
|
+
bgThemeValue: previewBackground.value,
|
|
215
|
+
};
|
|
216
|
+
|
|
217
|
+
const childrenToRender =
|
|
218
|
+
typeof children === "function"
|
|
219
|
+
? children(renderAsFunctionContext)
|
|
220
|
+
: children;
|
|
221
|
+
|
|
222
|
+
const toRender = childrenToRender || (
|
|
223
|
+
// eslint-disable-next-line react/no-danger
|
|
224
|
+
<div dangerouslySetInnerHTML={{ __html: html || "" }} />
|
|
225
|
+
);
|
|
226
|
+
|
|
227
|
+
const toCode =
|
|
228
|
+
(code && typeof code === "function"
|
|
229
|
+
? code(renderAsFunctionContext)
|
|
230
|
+
: code) ||
|
|
231
|
+
childrenToRender ||
|
|
232
|
+
html;
|
|
233
|
+
|
|
234
|
+
return (
|
|
235
|
+
<div className={wrapperClasses}>
|
|
236
|
+
<PreviewTitleBar actions={actions} />
|
|
237
|
+
<Card
|
|
238
|
+
className={classes}
|
|
239
|
+
style={{ backgroundColor: previewBackground.value }}
|
|
240
|
+
{...other}
|
|
241
|
+
>
|
|
242
|
+
{showInteract ? (
|
|
243
|
+
React.Children.map(childrenToRender, (child) => {
|
|
244
|
+
if (React.isValidElement(child)) {
|
|
245
|
+
return (
|
|
246
|
+
<Interact key="interact" render={child} {...interactiveProps} />
|
|
247
|
+
);
|
|
248
|
+
}
|
|
249
|
+
return null;
|
|
250
|
+
})
|
|
251
|
+
) : (
|
|
252
|
+
<>
|
|
253
|
+
<div className="previewLive">{toRender}</div>
|
|
254
|
+
</>
|
|
255
|
+
)}
|
|
256
|
+
</Card>
|
|
257
|
+
{isCodeShown && hasCodePreview && toCode && (
|
|
258
|
+
<Card className="codeExample">
|
|
259
|
+
<CodeExample
|
|
260
|
+
codeJSXOptions={codeJSXOptions}
|
|
261
|
+
codeTypes={html ? ["html"] : codeTypes}
|
|
262
|
+
>
|
|
263
|
+
{toCode}
|
|
264
|
+
</CodeExample>
|
|
265
|
+
</Card>
|
|
266
|
+
)}
|
|
267
|
+
</div>
|
|
268
|
+
);
|
|
269
|
+
};
|
|
270
|
+
|
|
271
|
+
Preview.displayName = "Preview";
|
|
272
|
+
|
|
273
|
+
export default Preview;
|
|
@@ -0,0 +1,32 @@
|
|
|
1
|
+
import React, { ReactNode } from "react";
|
|
2
|
+
import cx from "classnames";
|
|
3
|
+
|
|
4
|
+
interface PreviewTitleBarProps {
|
|
5
|
+
title?: string;
|
|
6
|
+
actions?: ReactNode[];
|
|
7
|
+
className?: string;
|
|
8
|
+
[key: string]: any;
|
|
9
|
+
}
|
|
10
|
+
|
|
11
|
+
const CLASS_ROOT = "";
|
|
12
|
+
|
|
13
|
+
const PreviewTitleBar: React.FC<PreviewTitleBarProps> = ({
|
|
14
|
+
className,
|
|
15
|
+
title,
|
|
16
|
+
actions = [],
|
|
17
|
+
...other
|
|
18
|
+
}) => {
|
|
19
|
+
const classes = cx(CLASS_ROOT, className);
|
|
20
|
+
|
|
21
|
+
return (
|
|
22
|
+
<div className={cx(classes, "bar justify-content-end")} {...other}>
|
|
23
|
+
{actions.map((action, actionIndex) => (
|
|
24
|
+
<div key={actionIndex}>{action}</div>
|
|
25
|
+
))}
|
|
26
|
+
</div>
|
|
27
|
+
);
|
|
28
|
+
};
|
|
29
|
+
|
|
30
|
+
PreviewTitleBar.displayName = "PreviewTitleBar";
|
|
31
|
+
|
|
32
|
+
export default PreviewTitleBar;
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
import React from "react";
|
|
2
|
+
import "./styles/style.scss";
|
|
3
|
+
|
|
4
|
+
import Preview from "./Preview";
|
|
5
|
+
|
|
6
|
+
interface ThemedPreviewProps {
|
|
7
|
+
[key: string]: any;
|
|
8
|
+
}
|
|
9
|
+
|
|
10
|
+
const ThemedPreview: React.FC<ThemedPreviewProps> = (props) => (
|
|
11
|
+
<Preview
|
|
12
|
+
{...props}
|
|
13
|
+
/>
|
|
14
|
+
);
|
|
15
|
+
|
|
16
|
+
export default ThemedPreview;
|