@worksafevictoria/wcl7.5 1.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/.editorconfig +13 -0
- package/.env +4 -0
- package/.eslintrc.cjs +10 -0
- package/.eslintrc.js +25 -0
- package/.husky/commit-msg +4 -0
- package/.prettierrc +5 -0
- package/.prettierrc.json +8 -0
- package/.storybook/main.js +18 -0
- package/.storybook/preview.js +34 -0
- package/LICENSE +21 -0
- package/README.md +159 -0
- package/babel.config.js +8 -0
- package/bin/clean.sh +52 -0
- package/bin/deploy.sh +25 -0
- package/ci/build/Build_Validation.md +35 -0
- package/ci/build/build_validation.yml +47 -0
- package/ci/release/Release_Beta.md +39 -0
- package/ci/release/Release_Master.md +29 -0
- package/ci/release/beta.yml +69 -0
- package/ci/release/master.yml +39 -0
- package/commitlint.config.js +1 -0
- package/index.html +13 -0
- package/jest.config.js +21 -0
- package/lib/detect-browser.js +33 -0
- package/lib/utility.js +59 -0
- package/lib/utility.test.js +15 -0
- package/package.json +93 -0
- package/public/favicon.ico +0 -0
- package/src/assets/base.css +86 -0
- package/src/assets/fonts/VIC-Bold.eot +0 -0
- package/src/assets/fonts/VIC-Bold.ttf +0 -0
- package/src/assets/fonts/VIC-Bold.woff +0 -0
- package/src/assets/fonts/VIC-Bold.woff2 +0 -0
- package/src/assets/fonts/VIC-BoldItalic.eot +0 -0
- package/src/assets/fonts/VIC-BoldItalic.ttf +0 -0
- package/src/assets/fonts/VIC-BoldItalic.woff +0 -0
- package/src/assets/fonts/VIC-BoldItalic.woff2 +0 -0
- package/src/assets/fonts/VIC-ExtraLight.eot +0 -0
- package/src/assets/fonts/VIC-ExtraLight.ttf +0 -0
- package/src/assets/fonts/VIC-ExtraLight.woff +0 -0
- package/src/assets/fonts/VIC-ExtraLight.woff2 +0 -0
- package/src/assets/fonts/VIC-ExtraLightItalic.eot +0 -0
- package/src/assets/fonts/VIC-ExtraLightItalic.ttf +0 -0
- package/src/assets/fonts/VIC-ExtraLightItalic.woff +0 -0
- package/src/assets/fonts/VIC-ExtraLightItalic.woff2 +0 -0
- package/src/assets/fonts/VIC-Italic.eot +0 -0
- package/src/assets/fonts/VIC-Italic.ttf +0 -0
- package/src/assets/fonts/VIC-Italic.woff +0 -0
- package/src/assets/fonts/VIC-Italic.woff2 +0 -0
- package/src/assets/fonts/VIC-Light.eot +0 -0
- package/src/assets/fonts/VIC-Light.ttf +0 -0
- package/src/assets/fonts/VIC-Light.woff +0 -0
- package/src/assets/fonts/VIC-Light.woff2 +0 -0
- package/src/assets/fonts/VIC-LightItalic.eot +0 -0
- package/src/assets/fonts/VIC-LightItalic.ttf +0 -0
- package/src/assets/fonts/VIC-LightItalic.woff +0 -0
- package/src/assets/fonts/VIC-LightItalic.woff2 +0 -0
- package/src/assets/fonts/VIC-Medium.eot +0 -0
- package/src/assets/fonts/VIC-Medium.ttf +0 -0
- package/src/assets/fonts/VIC-Medium.woff +0 -0
- package/src/assets/fonts/VIC-Medium.woff2 +0 -0
- package/src/assets/fonts/VIC-MediumItalic.eot +0 -0
- package/src/assets/fonts/VIC-MediumItalic.ttf +0 -0
- package/src/assets/fonts/VIC-MediumItalic.woff +0 -0
- package/src/assets/fonts/VIC-MediumItalic.woff2 +0 -0
- package/src/assets/fonts/VIC-Regular.eot +0 -0
- package/src/assets/fonts/VIC-Regular.ttf +0 -0
- package/src/assets/fonts/VIC-Regular.woff +0 -0
- package/src/assets/fonts/VIC-Regular.woff2 +0 -0
- package/src/assets/fonts/VIC-SemiBold.eot +0 -0
- package/src/assets/fonts/VIC-SemiBold.ttf +0 -0
- package/src/assets/fonts/VIC-SemiBold.woff +0 -0
- package/src/assets/fonts/VIC-SemiBold.woff2 +0 -0
- package/src/assets/fonts/VIC-SemiBoldItalic.eot +0 -0
- package/src/assets/fonts/VIC-SemiBoldItalic.ttf +0 -0
- package/src/assets/fonts/VIC-SemiBoldItalic.woff +0 -0
- package/src/assets/fonts/VIC-SemiBoldItalic.woff2 +0 -0
- package/src/assets/icons/AppFooter/australian-aboriginal-flag.svg +7 -0
- package/src/assets/icons/AppFooter/facebook-ws-footer.svg +58 -0
- package/src/assets/icons/AppFooter/facebook-ww-footer.svg +59 -0
- package/src/assets/icons/AppFooter/instagram-ww-footer.svg +70 -0
- package/src/assets/icons/AppFooter/linkedin-ws-footer.svg +59 -0
- package/src/assets/icons/AppFooter/linkedin-ww-footer.svg +60 -0
- package/src/assets/icons/AppFooter/logo-workwell-reversed.svg +45 -0
- package/src/assets/icons/AppFooter/pride-flag.svg +12 -0
- package/src/assets/icons/AppFooter/torres-strait-islanders-flag.svg +9 -0
- package/src/assets/icons/AppFooter/twitter-ws-footer.svg +58 -0
- package/src/assets/icons/AppFooter/twitter-ww-footer.svg +59 -0
- package/src/assets/icons/AppFooter/worksafe-footer-logo.svg +9 -0
- package/src/assets/icons/AppFooter/youtube-ws-footer.svg +55 -0
- package/src/assets/icons/AppFooter/youtube-ww-footer.svg +56 -0
- package/src/assets/icons/AppHeader/chev-down-16.svg +17 -0
- package/src/assets/icons/AppHeader/chev-left-24px.svg +13 -0
- package/src/assets/icons/AppHeader/chev-right-16px.svg +25 -0
- package/src/assets/icons/AppHeader/chev-right-24px.svg +13 -0
- package/src/assets/icons/AppHeader/close-32px.svg +15 -0
- package/src/assets/icons/AppHeader/menu-32px.svg +20 -0
- package/src/assets/icons/AppHeader/search-32px.svg +19 -0
- package/src/assets/icons/Email-circle-black.svg +4 -0
- package/src/assets/icons/Info-circle-fill.svg +10 -0
- package/src/assets/icons/Phone-circle-black.svg +4 -0
- package/src/assets/icons/SocialShare/bookmark-white.svg +3 -0
- package/src/assets/icons/SocialShare/bookmark-ww-footer.svg +57 -0
- package/src/assets/icons/SocialShare/bookmark.svg +56 -0
- package/src/assets/icons/SocialShare/email-white.svg +3 -0
- package/src/assets/icons/SocialShare/facebook-white.svg +3 -0
- package/src/assets/icons/SocialShare/facebook-ws-footer.svg +58 -0
- package/src/assets/icons/SocialShare/facebook-ww-footer.svg +59 -0
- package/src/assets/icons/SocialShare/facebook.svg +1 -0
- package/src/assets/icons/SocialShare/office-file-pdf.svg +1 -0
- package/src/assets/icons/SocialShare/print.svg +3 -0
- package/src/assets/icons/SocialShare/twitter-white.svg +3 -0
- package/src/assets/icons/SocialShare/twitter-ws-footer.svg +58 -0
- package/src/assets/icons/SocialShare/twitter-ww-footer.svg +59 -0
- package/src/assets/icons/SocialShare/twitter.svg +1 -0
- package/src/assets/icons/Strip/AlertDismiss.svg +4 -0
- package/src/assets/icons/Strip/Arrow right.svg +4 -0
- package/src/assets/icons/Strip/Chevron right.svg +3 -0
- package/src/assets/icons/Strip/Dismiss.svg +4 -0
- package/src/assets/icons/Strip/Exclamation triangle fill.svg +8 -0
- package/src/assets/icons/Strip/Info circle fill.svg +15 -0
- package/src/assets/icons/Strip/Information.svg +15 -0
- package/src/assets/icons/Strip/Warning.svg +8 -0
- package/src/assets/icons/arrow-left.svg +9 -0
- package/src/assets/icons/arrow-right.svg +9 -0
- package/src/assets/icons/bookmark.svg +56 -0
- package/src/assets/icons/brand-VicStateGov-logo-reversed.svg +72 -0
- package/src/assets/icons/bullet-empty.svg +3 -0
- package/src/assets/icons/bullet.svg +3 -0
- package/src/assets/icons/caret-down.svg +1 -0
- package/src/assets/icons/caret-left.svg +9 -0
- package/src/assets/icons/caret-right.svg +9 -0
- package/src/assets/icons/caret-up.svg +1 -0
- package/src/assets/icons/chev-down-white.svg +3 -0
- package/src/assets/icons/chev-down.svg +3 -0
- package/src/assets/icons/chev-left.svg +3 -0
- package/src/assets/icons/chev-right.svg +3 -0
- package/src/assets/icons/chev-up.svg +3 -0
- package/src/assets/icons/clock.svg +3 -0
- package/src/assets/icons/close.svg +1 -0
- package/src/assets/icons/cross.svg +3 -0
- package/src/assets/icons/document.svg +1 -0
- package/src/assets/icons/earth.svg +1 -0
- package/src/assets/icons/email.svg +6 -0
- package/src/assets/icons/external-link-16px.svg +18 -0
- package/src/assets/icons/external-link.svg +4 -0
- package/src/assets/icons/icon-close.svg +15 -0
- package/src/assets/icons/instagram.svg +3 -0
- package/src/assets/icons/key.svg +3 -0
- package/src/assets/icons/location.svg +10 -0
- package/src/assets/icons/phone.svg +3 -0
- package/src/assets/icons/refresh.svg +3 -0
- package/src/assets/icons/right-arrow.svg +3 -0
- package/src/assets/icons/search.svg +5 -0
- package/src/assets/icons/tick.svg +3 -0
- package/src/assets/icons/video-play.svg +4 -0
- package/src/assets/images/hero-header-chevron.svg +9 -0
- package/src/assets/images/hero-header-mask.png +0 -0
- package/src/assets/images/hero-header-mask.svg +3 -0
- package/src/assets/logo.svg +1 -0
- package/src/assets/main.css +35 -0
- package/src/assets/styles/button.scss +206 -0
- package/src/assets/styles/focus.scss +4 -0
- package/src/assets/styles/generated-icons.scss +374 -0
- package/src/assets/styles/modal.scss +12 -0
- package/src/assets/styles/rtl.scss +8 -0
- package/src/assets/styles/storybook.scss +9 -0
- package/src/assets/styles/stylesheet.scss +7 -0
- package/src/assets/styles/webfonts.css +155 -0
- package/src/components/Common/CardGrid/cardgrid.stories.js +269 -0
- package/src/components/Common/CardGrid/index.vue +321 -0
- package/src/components/Common/CardGridItem/card-grid-item-caret.vue +164 -0
- package/src/components/Common/CardGridItem/card-grid-item-icon.vue +163 -0
- package/src/components/Common/CardGridItem/index.vue +848 -0
- package/src/components/Common/FilterButton/index.vue +93 -0
- package/src/components/Containers/Column/index.stories.js +35 -0
- package/src/components/Containers/Column/index.vue +14 -0
- package/src/components/Containers/Container/index.stories.js +13 -0
- package/src/components/Containers/Container/index.vue +15 -0
- package/src/components/Containers/HomepageHeader/index.stories.js +78 -0
- package/src/components/Containers/HomepageHeader/index.vue +186 -0
- package/src/components/Containers/Row/index.stories.js +12 -0
- package/src/components/Containers/Row/index.vue +14 -0
- package/src/components/Containers/SectionGroup/index.stories.js +148 -0
- package/src/components/Containers/SectionGroup/index.vue +310 -0
- package/src/components/Containers/Subheader/index.stories.js +74 -0
- package/src/components/Containers/Subheader/index.vue +149 -0
- package/src/components/Global/AlertStrip/index.stories.js +13 -0
- package/src/components/Global/AlertStrip/index.vue +145 -0
- package/src/components/Global/AlertStrip/styles.scss +78 -0
- package/src/components/Global/AppFooter/FooterSocialShare/index.vue +105 -0
- package/src/components/Global/AppFooter/FooterSocialShare/styles.scss +41 -0
- package/src/components/Global/AppFooter/index.stories.js +24 -0
- package/src/components/Global/AppFooter/index.vue +632 -0
- package/src/components/Global/AppFooter/storiesConst.js +110 -0
- package/src/components/Global/AppFooter/styles.scss +393 -0
- package/src/components/Global/AppHeader/ModalSearch/index.vue +66 -0
- package/src/components/Global/AppHeader/ModalSearch/styles.scss +43 -0
- package/src/components/Global/AppHeader/includes.scss +68 -0
- package/src/components/Global/AppHeader/index.stories.js +82 -0
- package/src/components/Global/AppHeader/index.vue +878 -0
- package/src/components/Global/AppHeader/mobile.scss +240 -0
- package/src/components/Global/AppHeader/styles.scss +371 -0
- package/src/components/Global/BackToTop/index.stories.js +18 -0
- package/src/components/Global/BackToTop/index.vue +67 -0
- package/src/components/Global/BackToTop/styles.scss +46 -0
- package/src/components/Global/ContrastMode/index.stories.js +39 -0
- package/src/components/Global/ContrastMode/index.vue +308 -0
- package/src/components/Global/Cookies/Constants.js +72 -0
- package/src/components/Global/Cookies/index.storieshide.js +45 -0
- package/src/components/Global/Cookies/index.vue +453 -0
- package/src/components/Global/Cookies/styles.scss +259 -0
- package/src/components/Global/DirectoryFilters/SingleTaxonomy/index.vue +196 -0
- package/src/components/Global/DirectoryFilters/index.vue +176 -0
- package/src/components/Global/GlobalNotice/index.vue +266 -0
- package/src/components/Global/HeroHeader/index.stories.js +93 -0
- package/src/components/Global/HeroHeader/index.vue +343 -0
- package/src/components/Global/HeroHeader/styles.scss +480 -0
- package/src/components/Global/ProgressBar/index.stories.js +51 -0
- package/src/components/Global/ProgressBar/index.vue +58 -0
- package/src/components/Global/ProgressBar/styles.scss +116 -0
- package/src/components/Global/SocialShare/index.stories.js +18 -0
- package/src/components/Global/SocialShare/index.vue +318 -0
- package/src/components/Global/Strip/index.stories.js +70 -0
- package/src/components/Global/Strip/index.vue +357 -0
- package/src/components/HelloWorld.vue +44 -0
- package/src/components/Paragraphs/Accordion/AccordionItem/index.vue +232 -0
- package/src/components/Paragraphs/Accordion/StepperItem/index.vue +274 -0
- package/src/components/Paragraphs/Accordion/index.stories.js +84 -0
- package/src/components/Paragraphs/Accordion/index.vue +202 -0
- package/src/components/Paragraphs/Breakout/index.stories.js +39 -0
- package/src/components/Paragraphs/Breakout/index.vue +115 -0
- package/src/components/Paragraphs/BrowseContent/index.stories.js +220 -0
- package/src/components/Paragraphs/BrowseContent/index.vue +298 -0
- package/src/components/Paragraphs/BrowseContent/switcher.vue +63 -0
- package/src/components/Paragraphs/Calculator/CardContainer/index.vue +278 -0
- package/src/components/Paragraphs/Calculator/CardContainer/styles.scss +152 -0
- package/src/components/Paragraphs/Calculator/Constants.js +246 -0
- package/src/components/Paragraphs/Calculator/RiskLevel/index.vue +124 -0
- package/src/components/Paragraphs/Calculator/RiskLevel/styles.scss +73 -0
- package/src/components/Paragraphs/Calculator/index.stories.js +27 -0
- package/src/components/Paragraphs/Calculator/index.vue +284 -0
- package/src/components/Paragraphs/Calculator/styles.scss +49 -0
- package/src/components/Paragraphs/Directory/Records/CJ/index.vue +59 -0
- package/src/components/Paragraphs/Directory/Records/ISP/distance.js +46 -0
- package/src/components/Paragraphs/Directory/Records/ISP/index.vue +88 -0
- package/src/components/Paragraphs/Directory/Records/PRS/index.vue +59 -0
- package/src/components/Paragraphs/Directory/Records/PRS/recordContent.vue +91 -0
- package/src/components/Paragraphs/Directory/Records/PRS/recordDetails.vue +49 -0
- package/src/components/Paragraphs/Directory/Records/index.vue +203 -0
- package/src/components/Paragraphs/Directory/Records/styles.scss +129 -0
- package/src/components/Paragraphs/Directory/constants.js +79 -0
- package/src/components/Paragraphs/Directory/index.vue +334 -0
- package/src/components/Paragraphs/ListGroup/Constants.js +72 -0
- package/src/components/Paragraphs/ListGroup/Link/list-link.stories.js +71 -0
- package/src/components/Paragraphs/ListGroup/index.vue +333 -0
- package/src/components/Paragraphs/ListGroup/list-group.stories.js +64 -0
- package/src/components/Paragraphs/ListGroup/navigation-card.stories.js +66 -0
- package/src/components/Paragraphs/MarketingBanner/index.stories.js +65 -0
- package/src/components/Paragraphs/MarketingBanner/index.vue +118 -0
- package/src/components/Paragraphs/MarketingBanner/styles.scss +87 -0
- package/src/components/Paragraphs/ProofPoints/index.stories.js +173 -0
- package/src/components/Paragraphs/ProofPoints/index.vue +64 -0
- package/src/components/Paragraphs/RelatedInformation/index.stories.js +32 -0
- package/src/components/Paragraphs/RelatedInformation/index.vue +62 -0
- package/src/components/Paragraphs/RelatedInformation/styles.scss +50 -0
- package/src/components/Paragraphs/RichText/index.stories.js +393 -0
- package/src/components/Paragraphs/RichText/index.vue +113 -0
- package/src/components/Paragraphs/RichText/scss/base.scss +355 -0
- package/src/components/Paragraphs/RichText/scss/definition-list.scss +35 -0
- package/src/components/Paragraphs/RichText/scss/styled-list.scss +152 -0
- package/src/components/Paragraphs/RichText/scss/table.scss +85 -0
- package/src/components/Paragraphs/ScrollSpy/index.stories.js +184 -0
- package/src/components/Paragraphs/ScrollSpy/index.vue +147 -0
- package/src/components/Paragraphs/SelectableCards/Control/index.stories.js +29 -0
- package/src/components/Paragraphs/SelectableCards/cardbody.vue +25 -0
- package/src/components/Paragraphs/SelectableCards/cardtop.vue +113 -0
- package/src/components/Paragraphs/SelectableCards/index.stories.js +27 -0
- package/src/components/Paragraphs/SelectableCards/index.vue +116 -0
- package/src/components/Paragraphs/Statistics/index.stories.js +106 -0
- package/src/components/Paragraphs/Statistics/index.vue +95 -0
- package/src/components/Paragraphs/TabbedCards/TempIcons/cake-black-18dp.svg +1 -0
- package/src/components/Paragraphs/TabbedCards/TempIcons/commute-black-18dp.svg +1 -0
- package/src/components/Paragraphs/TabbedCards/TempIcons/fire_extinguisher-black-18dp.svg +1 -0
- package/src/components/Paragraphs/TabbedCards/TempIcons/free_breakfast-black-18dp.svg +1 -0
- package/src/components/Paragraphs/TabbedCards/TempIcons/portrait-black-18dp.svg +1 -0
- package/src/components/Paragraphs/TabbedCards/TempIcons/storefront-black-18dp.svg +1 -0
- package/src/components/Paragraphs/TabbedCards/TempIcons/tag_faces-black-18dp.svg +1 -0
- package/src/components/Paragraphs/TabbedCards/index.stories.js +36 -0
- package/src/components/Paragraphs/TabbedCards/index.vue +393 -0
- package/src/components/Paragraphs/Tabs/index.stories.js +60 -0
- package/src/components/Paragraphs/Tabs/index.vue +127 -0
- package/src/components/Paragraphs/Tabs/styles.scss +150 -0
- package/src/components/Paragraphs/TabulatedData/Constants.js +158 -0
- package/src/components/Paragraphs/TabulatedData/index.stories.js +39 -0
- package/src/components/Paragraphs/TabulatedData/index.vue +145 -0
- package/src/components/Paragraphs/TaskFinder/index.stories.js +45 -0
- package/src/components/Paragraphs/TaskFinder/index.vue +192 -0
- package/src/components/Paragraphs/TaskFinder/pdf/index.vue +109 -0
- package/src/components/Paragraphs/TaskFinder/task-finder-column.vue +146 -0
- package/src/components/Paragraphs/TextMedia/MediaTypes/Image/index.vue +24 -0
- package/src/components/Paragraphs/TextMedia/MediaTypes/Video/index.vue +29 -0
- package/src/components/Paragraphs/TextMedia/index.stories.js +94 -0
- package/src/components/Paragraphs/TextMedia/index.vue +150 -0
- package/src/components/Paragraphs/VideoGrid/index.stories.js +167 -0
- package/src/components/Paragraphs/VideoGrid/index.vue +124 -0
- package/src/components/Paragraphs/VideoPlayer/index.stories.js +95 -0
- package/src/components/Paragraphs/VideoPlayer/index.vue +110 -0
- package/src/components/Paragraphs/Webform/index.stories.js +70 -0
- package/src/components/Paragraphs/Webform/index.vue +103 -0
- package/src/components/SubComponents/Breadcrumb/constants.js +15 -0
- package/src/components/SubComponents/Breadcrumb/index.stories.js +22 -0
- package/src/components/SubComponents/Breadcrumb/index.vue +91 -0
- package/src/components/SubComponents/CardGroup/cardbody.vue +109 -0
- package/src/components/SubComponents/CardGroup/cardtop.vue +106 -0
- package/src/components/SubComponents/CardGroup/index.stories.js +145 -0
- package/src/components/SubComponents/CardGroup/index.vue +297 -0
- package/src/components/SubComponents/CtaButton/index.stories.js +357 -0
- package/src/components/SubComponents/CtaButton/index.vue +256 -0
- package/src/components/SubComponents/FormAddressPostcode/index.stories.js +43 -0
- package/src/components/SubComponents/FormAddressPostcode/index.vue +314 -0
- package/src/components/SubComponents/FormInstance/index.stories.js +8 -0
- package/src/components/SubComponents/FormInstance/index.vue +12 -0
- package/src/components/SubComponents/GoogleSearch/index.stories.js +8 -0
- package/src/components/SubComponents/GoogleSearch/index.vue +405 -0
- package/src/components/SubComponents/Icon/README.md +40 -0
- package/src/components/SubComponents/Icon/example.js +41 -0
- package/src/components/SubComponents/Icon/index.stories.js +84 -0
- package/src/components/SubComponents/Icon/index.vue +127 -0
- package/src/components/SubComponents/Icon/styles.scss +38 -0
- package/src/components/SubComponents/Loading/index.stories.js +9 -0
- package/src/components/SubComponents/Loading/index.vue +15 -0
- package/src/components/SubComponents/MediaPlayer/index.stories.js +58 -0
- package/src/components/SubComponents/MediaPlayer/index.vue +69 -0
- package/src/components/SubComponents/Pagination/index.stories.js +119 -0
- package/src/components/SubComponents/Pagination/index.vue +184 -0
- package/src/components/SubComponents/Pagination/pagination.js +58 -0
- package/src/components/SubComponents/ResourceGroup/List/index.stories.js +268 -0
- package/src/components/SubComponents/ResourceGroup/cardbody.vue +221 -0
- package/src/components/SubComponents/ResourceGroup/cardfooter.vue +61 -0
- package/src/components/SubComponents/ResourceGroup/cardtop.vue +94 -0
- package/src/components/SubComponents/ResourceGroup/index.stories.js +268 -0
- package/src/components/SubComponents/ResourceGroup/index.vue +575 -0
- package/src/components/SubComponents/ResourceGroup/styles.scss +317 -0
- package/src/components/SubComponents/ResourceGroup/switcher.vue +63 -0
- package/src/components/SubComponents/Search/SearchListing/index.vue +217 -0
- package/src/components/SubComponents/Search/index.stories.js +43 -0
- package/src/components/SubComponents/Search/index.vue +238 -0
- package/src/components/SubComponents/SingleImage/index.stories.js +60 -0
- package/src/components/SubComponents/SingleImage/index.vue +98 -0
- package/src/components/SubComponents/VideoThumbnail/index.stories.js +41 -0
- package/src/components/SubComponents/VideoThumbnail/index.vue +239 -0
- package/src/components/TheWelcome.vue +88 -0
- package/src/components/WelcomeItem.vue +87 -0
- package/src/components/icons/IconCommunity.vue +7 -0
- package/src/components/icons/IconDocumentation.vue +7 -0
- package/src/components/icons/IconEcosystem.vue +7 -0
- package/src/components/icons/IconSupport.vue +7 -0
- package/src/components/icons/IconTooling.vue +19 -0
- package/src/includes/scss/all.scss +2 -0
- package/src/includes/scss/mixins/all.scss +6 -0
- package/src/includes/scss/mixins/src/focus.scss +38 -0
- package/src/includes/scss/mixins/src/fp.scss +31 -0
- package/src/includes/scss/mixins/src/grid.scss +125 -0
- package/src/includes/scss/mixins/src/mq.scss +30 -0
- package/src/includes/scss/mixins/src/rtl.scss +8 -0
- package/src/includes/scss/mixins/src/units.scss +110 -0
- package/src/includes/scss/vars/all.scss +2 -0
- package/src/includes/scss/vars/src/breakpoints.scss +20 -0
- package/src/includes/scss/vars/src/colors.module.scss +53 -0
- package/src/includes/scss/vars/src/colors.scss +53 -0
- package/src/index.js +116 -0
- package/src/main.js +18 -0
- package/src/mock/accordion.js +104 -0
- package/src/mock/app-header.js +683 -0
- package/src/mock/control-selectable-cards.js +58 -0
- package/src/mock/jest.svgtransformer.js +7 -0
- package/src/mock/list-group.js +46 -0
- package/src/mock/proof-points.js +55 -0
- package/src/mock/related-info.js +44 -0
- package/src/mock/selectable-cards.js +48 -0
- package/src/mock/statistics.js +63 -0
- package/src/mock/styleMock.js +1 -0
- package/src/mock/tabbed-cards.js +197 -0
- package/src/mock/task-finder.js +68 -0
- package/src/mock/video-grid.js +409 -0
- package/src/mock/video-media.js +51 -0
- package/src/public/places/api/v1/geocode/json +69 -0
- package/src/public/places/api/v1/place/autocomplete/json +226 -0
- package/stylelint.config.js +63 -0
- package/vite.config.js +19 -0
- package/vitest.config.js +14 -0
|
@@ -0,0 +1,150 @@
|
|
|
1
|
+
<!-- eslint-disable vue/no-v-html -->
|
|
2
|
+
<template>
|
|
3
|
+
<section-group
|
|
4
|
+
class="wcl-media-text"
|
|
5
|
+
:rtl="rtl"
|
|
6
|
+
:background-variant="hasBgColor ? 'light' : 'none'"
|
|
7
|
+
:class="{ flip, hideImageMob }"
|
|
8
|
+
>
|
|
9
|
+
<template v-slot:content>
|
|
10
|
+
<row align-v="center">
|
|
11
|
+
<column sm="5" :order="flip ? 2 : 1">
|
|
12
|
+
<media-image
|
|
13
|
+
v-if="mediaType === 'image' && image"
|
|
14
|
+
:image-alt="image && image.alt ? image.alt : ''"
|
|
15
|
+
:image-url="image && image.url"
|
|
16
|
+
/>
|
|
17
|
+
<media-video
|
|
18
|
+
v-if="mediaType === 'video'"
|
|
19
|
+
:video="video"
|
|
20
|
+
:storybook="storybook"
|
|
21
|
+
/>
|
|
22
|
+
</column>
|
|
23
|
+
<column class="wcl-media-text__content" sm="7" :order="flip ? 1 : 2">
|
|
24
|
+
<rich-text
|
|
25
|
+
v-if="titleText"
|
|
26
|
+
class="wcl-media-text__title"
|
|
27
|
+
:tag="titleTag"
|
|
28
|
+
:content="titleText"
|
|
29
|
+
/>
|
|
30
|
+
<div class="wcl-media-text__content-wrap">
|
|
31
|
+
<rich-text v-if="content" :content="content" />
|
|
32
|
+
</div>
|
|
33
|
+
</column>
|
|
34
|
+
</row>
|
|
35
|
+
</template>
|
|
36
|
+
</section-group>
|
|
37
|
+
</template>
|
|
38
|
+
|
|
39
|
+
<script>
|
|
40
|
+
import SectionGroup from './../../Containers/SectionGroup/index.vue'
|
|
41
|
+
import Row from './../../Containers/Row/index.vue'
|
|
42
|
+
import Column from './../../Containers/Column/index.vue'
|
|
43
|
+
import MediaImage from './MediaTypes/Image/index.vue'
|
|
44
|
+
import MediaVideo from './MediaTypes/Video/index.vue'
|
|
45
|
+
import RichText from './../RichText/index.vue'
|
|
46
|
+
|
|
47
|
+
export default {
|
|
48
|
+
name: 'TextMedia',
|
|
49
|
+
components: {
|
|
50
|
+
Row,
|
|
51
|
+
Column,
|
|
52
|
+
MediaImage,
|
|
53
|
+
MediaVideo,
|
|
54
|
+
RichText,
|
|
55
|
+
SectionGroup
|
|
56
|
+
},
|
|
57
|
+
props: {
|
|
58
|
+
mediaType: {
|
|
59
|
+
type: String,
|
|
60
|
+
required: true
|
|
61
|
+
},
|
|
62
|
+
content: {
|
|
63
|
+
type: String,
|
|
64
|
+
required: false,
|
|
65
|
+
default: ''
|
|
66
|
+
},
|
|
67
|
+
titleText: {
|
|
68
|
+
type: String,
|
|
69
|
+
required: false,
|
|
70
|
+
default: ''
|
|
71
|
+
},
|
|
72
|
+
titleTag: {
|
|
73
|
+
type: String,
|
|
74
|
+
required: false,
|
|
75
|
+
default: 'h3'
|
|
76
|
+
},
|
|
77
|
+
image: {
|
|
78
|
+
type: Object,
|
|
79
|
+
default: () => {}
|
|
80
|
+
},
|
|
81
|
+
video: {
|
|
82
|
+
type: Object,
|
|
83
|
+
default: () => {}
|
|
84
|
+
},
|
|
85
|
+
hasBgColor: {
|
|
86
|
+
type: Boolean,
|
|
87
|
+
default: false
|
|
88
|
+
},
|
|
89
|
+
flip: {
|
|
90
|
+
type: Boolean,
|
|
91
|
+
default: false
|
|
92
|
+
},
|
|
93
|
+
hideImageMob: {
|
|
94
|
+
type: Boolean,
|
|
95
|
+
default: false
|
|
96
|
+
},
|
|
97
|
+
rtl: {
|
|
98
|
+
type: Boolean,
|
|
99
|
+
default: false
|
|
100
|
+
},
|
|
101
|
+
workwell: {
|
|
102
|
+
type: Boolean,
|
|
103
|
+
default: false
|
|
104
|
+
},
|
|
105
|
+
storybook: {
|
|
106
|
+
type: Boolean,
|
|
107
|
+
default: false
|
|
108
|
+
}
|
|
109
|
+
}
|
|
110
|
+
}
|
|
111
|
+
</script>
|
|
112
|
+
|
|
113
|
+
<style lang="scss" scoped>
|
|
114
|
+
@import '../../../includes/scss/all';
|
|
115
|
+
|
|
116
|
+
.wcl-media-text {
|
|
117
|
+
.wysiwyg {
|
|
118
|
+
:deep(.cta-button:last-child) {
|
|
119
|
+
@media screen and (max-width: 540px) {
|
|
120
|
+
margin-top: 0;
|
|
121
|
+
margin-bottom: 0;
|
|
122
|
+
}
|
|
123
|
+
}
|
|
124
|
+
|
|
125
|
+
:deep(p) {
|
|
126
|
+
@media screen and (max-width: 540px) {
|
|
127
|
+
margin-bottom: 32px;
|
|
128
|
+
&:last-child {
|
|
129
|
+
margin-bottom: 24px;
|
|
130
|
+
}
|
|
131
|
+
&:empty {
|
|
132
|
+
display: none;
|
|
133
|
+
}
|
|
134
|
+
}
|
|
135
|
+
}
|
|
136
|
+
}
|
|
137
|
+
|
|
138
|
+
&.hideImageMob {
|
|
139
|
+
@include mq('xs') {
|
|
140
|
+
img {
|
|
141
|
+
display: none;
|
|
142
|
+
}
|
|
143
|
+
}
|
|
144
|
+
}
|
|
145
|
+
|
|
146
|
+
&__title {
|
|
147
|
+
margin-bottom: 24px;
|
|
148
|
+
}
|
|
149
|
+
}
|
|
150
|
+
</style>
|
|
@@ -0,0 +1,167 @@
|
|
|
1
|
+
import Container from '../../Containers/Container/index.vue'
|
|
2
|
+
import Row from '../../Containers/Row/index.vue'
|
|
3
|
+
import Column from '../../Containers/Column/index.vue'
|
|
4
|
+
import VideoGrid from './index.vue'
|
|
5
|
+
|
|
6
|
+
const mockData = {
|
|
7
|
+
title: 'Video Grid Title',
|
|
8
|
+
description:
|
|
9
|
+
'Vestibulum rutrum quam vitae fringilla tincidunt. Suspendisse nec tortor urna. Ut laoreet sodales nisi, quis iaculis nulla iaculis vitae. Donec sagittis faucibus lacus eget blandit.',
|
|
10
|
+
rtl: false,
|
|
11
|
+
threeColumns: true,
|
|
12
|
+
greyBackground: true,
|
|
13
|
+
cta: {
|
|
14
|
+
text: 'Click here',
|
|
15
|
+
url: 'https://www.example.com',
|
|
16
|
+
workwell: false
|
|
17
|
+
},
|
|
18
|
+
videos: [
|
|
19
|
+
{
|
|
20
|
+
mediaTitle: 'Youtube Video',
|
|
21
|
+
mediaDescription:
|
|
22
|
+
'Vestibulum rutrum quam vitae fringilla tincidunt. Suspendisse nec tortor urna. Ut laoreet sodales nisi, quis iaculis nulla iaculis vitae. Donec sagittis faucibus lacus eget blandit.',
|
|
23
|
+
id: '3FLapMJUmZQ',
|
|
24
|
+
provider: 'youtube',
|
|
25
|
+
transcriptTitle: 'Transcript',
|
|
26
|
+
transcript:
|
|
27
|
+
'Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat.',
|
|
28
|
+
rtl: false,
|
|
29
|
+
fixWidth: false
|
|
30
|
+
},
|
|
31
|
+
{
|
|
32
|
+
mediaTitle: 'Youtube Video',
|
|
33
|
+
mediaDescription:
|
|
34
|
+
'Vestibulum rutrum quam vitae fringilla tincidunt. Suspendisse nec tortor urna. Ut laoreet sodales nisi, quis iaculis nulla iaculis vitae. Donec sagittis faucibus lacus eget blandit.',
|
|
35
|
+
id: 'UmgStjXqhz4',
|
|
36
|
+
provider: 'youtube',
|
|
37
|
+
transcriptTitle: 'Transcript',
|
|
38
|
+
transcript:
|
|
39
|
+
'Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat.',
|
|
40
|
+
rtl: false,
|
|
41
|
+
fixWidth: false
|
|
42
|
+
},
|
|
43
|
+
{
|
|
44
|
+
mediaTitle: 'Youtube Video',
|
|
45
|
+
mediaDescription:
|
|
46
|
+
'Vestibulum rutrum quam vitae fringilla tincidunt. Suspendisse nec tortor urna. Ut laoreet sodales nisi, quis iaculis nulla iaculis vitae. Donec sagittis faucibus lacus eget blandit.',
|
|
47
|
+
id: 'DV6kvZAEeyA',
|
|
48
|
+
provider: 'youtube',
|
|
49
|
+
transcriptTitle: 'Transcript',
|
|
50
|
+
transcript:
|
|
51
|
+
'Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat.',
|
|
52
|
+
rtl: false,
|
|
53
|
+
fixWidth: false
|
|
54
|
+
},
|
|
55
|
+
{
|
|
56
|
+
mediaTitle: 'Youtube Video',
|
|
57
|
+
mediaDescription:
|
|
58
|
+
'Vestibulum rutrum quam vitae fringilla tincidunt. Suspendisse nec tortor urna. Ut laoreet sodales nisi, quis iaculis nulla iaculis vitae. Donec sagittis faucibus lacus eget blandit.',
|
|
59
|
+
id: 'kZi6UZkyHGE',
|
|
60
|
+
provider: 'youtube',
|
|
61
|
+
transcriptTitle: 'Transcript',
|
|
62
|
+
transcript:
|
|
63
|
+
'Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat.',
|
|
64
|
+
rtl: false,
|
|
65
|
+
fixWidth: false
|
|
66
|
+
},
|
|
67
|
+
{
|
|
68
|
+
mediaTitle: 'Youtube Video',
|
|
69
|
+
mediaDescription:
|
|
70
|
+
'Vestibulum rutrum quam vitae fringilla tincidunt. Suspendisse nec tortor urna. Ut laoreet sodales nisi, quis iaculis nulla iaculis vitae. Donec sagittis faucibus lacus eget blandit.',
|
|
71
|
+
id: 'EEeDFnoUxio',
|
|
72
|
+
provider: 'youtube',
|
|
73
|
+
transcriptTitle: 'Transcript',
|
|
74
|
+
transcript:
|
|
75
|
+
'Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat.',
|
|
76
|
+
rtl: false,
|
|
77
|
+
fixWidth: false
|
|
78
|
+
},
|
|
79
|
+
{
|
|
80
|
+
mediaTitle: 'Youtube Video',
|
|
81
|
+
mediaDescription:
|
|
82
|
+
'Vestibulum rutrum quam vitae fringilla tincidunt. Suspendisse nec tortor urna. Ut laoreet sodales nisi, quis iaculis nulla iaculis vitae. Donec sagittis faucibus lacus eget blandit.',
|
|
83
|
+
id: 'I0pMOrx8HTY',
|
|
84
|
+
provider: 'youtube',
|
|
85
|
+
transcriptTitle: 'Transcript',
|
|
86
|
+
transcript:
|
|
87
|
+
'Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat.',
|
|
88
|
+
rtl: false,
|
|
89
|
+
fixWidth: false
|
|
90
|
+
},
|
|
91
|
+
{
|
|
92
|
+
mediaTitle: 'Youtube Video',
|
|
93
|
+
mediaDescription:
|
|
94
|
+
'Vestibulum rutrum quam vitae fringilla tincidunt. Suspendisse nec tortor urna. Ut laoreet sodales nisi, quis iaculis nulla iaculis vitae. Donec sagittis faucibus lacus eget blandit.',
|
|
95
|
+
id: 'NhpnDBV3QnI',
|
|
96
|
+
provider: 'youtube',
|
|
97
|
+
transcriptTitle: 'Transcript',
|
|
98
|
+
transcript:
|
|
99
|
+
'Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat.',
|
|
100
|
+
rtl: false,
|
|
101
|
+
fixWidth: false
|
|
102
|
+
}
|
|
103
|
+
]
|
|
104
|
+
}
|
|
105
|
+
|
|
106
|
+
export default {
|
|
107
|
+
title: 'Paragraphs/VideoGrid',
|
|
108
|
+
component: { VideoGrid, Container, Row, Column },
|
|
109
|
+
argTypes: {
|
|
110
|
+
gridTitle: {
|
|
111
|
+
control: 'text',
|
|
112
|
+
defaultValue: mockData.title
|
|
113
|
+
},
|
|
114
|
+
titleTag: {
|
|
115
|
+
control: 'select',
|
|
116
|
+
options: ['h2', 'h3'],
|
|
117
|
+
defaultValue: 'h2'
|
|
118
|
+
},
|
|
119
|
+
gridDescription: {
|
|
120
|
+
control: 'text',
|
|
121
|
+
defaultValue: mockData.description
|
|
122
|
+
},
|
|
123
|
+
videoList: {
|
|
124
|
+
control: 'object',
|
|
125
|
+
defaultValue: mockData.videos
|
|
126
|
+
},
|
|
127
|
+
rtl: {
|
|
128
|
+
control: 'boolean',
|
|
129
|
+
defaultValue: mockData.rtl
|
|
130
|
+
},
|
|
131
|
+
threeColumns: {
|
|
132
|
+
control: 'boolean',
|
|
133
|
+
defaultValue: mockData.threeColumns
|
|
134
|
+
},
|
|
135
|
+
greyBackground: {
|
|
136
|
+
control: 'boolean',
|
|
137
|
+
defaultValue: mockData.greyBackground
|
|
138
|
+
},
|
|
139
|
+
cta: {
|
|
140
|
+
control: 'object',
|
|
141
|
+
defaultValue: mockData.cta
|
|
142
|
+
}
|
|
143
|
+
}
|
|
144
|
+
}
|
|
145
|
+
|
|
146
|
+
const YoutubeContent = (args, { argTypes }) => ({
|
|
147
|
+
components: { VideoGrid, Container, Row, Column },
|
|
148
|
+
props: Object.keys(argTypes),
|
|
149
|
+
data() {
|
|
150
|
+
return {
|
|
151
|
+
videos: mockData.videos
|
|
152
|
+
}
|
|
153
|
+
},
|
|
154
|
+
template: `
|
|
155
|
+
<container>
|
|
156
|
+
<row>
|
|
157
|
+
<column>
|
|
158
|
+
<video-grid
|
|
159
|
+
v-bind="$props"
|
|
160
|
+
/>
|
|
161
|
+
</column>
|
|
162
|
+
</row>
|
|
163
|
+
</container>
|
|
164
|
+
`
|
|
165
|
+
})
|
|
166
|
+
|
|
167
|
+
export const Youtube = YoutubeContent.bind({})
|
|
@@ -0,0 +1,124 @@
|
|
|
1
|
+
<template>
|
|
2
|
+
<card-grid
|
|
3
|
+
:title="gridTitle"
|
|
4
|
+
:title-tag="titleTag"
|
|
5
|
+
:rtl="rtl"
|
|
6
|
+
:sub-heading="gridDescription"
|
|
7
|
+
:cards="videoList"
|
|
8
|
+
:columns-per-row="threeColumns ? 3 : 2"
|
|
9
|
+
:is-selectable="false"
|
|
10
|
+
:class="`video-grid ${threeColumns ? 'items-3' : 'items-2'}`"
|
|
11
|
+
:background-variant="greyBackground ? 'light' : 'none'"
|
|
12
|
+
>
|
|
13
|
+
<template v-slot:cardItem="{ card }">
|
|
14
|
+
<card-grid-item :rtl="rtl" :background-variant="'transparent'">
|
|
15
|
+
<template v-slot:cardDescription>
|
|
16
|
+
<video-thumbnail :video="card" />
|
|
17
|
+
<p class="video-grid__cellTitle">{{ card.mediaTitle }}</p>
|
|
18
|
+
</template>
|
|
19
|
+
</card-grid-item>
|
|
20
|
+
</template>
|
|
21
|
+
<template v-if="cta" v-slot:cardGridFooter>
|
|
22
|
+
<column>
|
|
23
|
+
<cta-button
|
|
24
|
+
:url="cta.url"
|
|
25
|
+
:type="cta.type"
|
|
26
|
+
:alt="cta.alt"
|
|
27
|
+
:rtl="rtl"
|
|
28
|
+
:workwell="cta.workwell"
|
|
29
|
+
:class="`m-0 float-${!rtl ? 'right' : 'left'}`"
|
|
30
|
+
>{{ cta.text }}</cta-button
|
|
31
|
+
>
|
|
32
|
+
</column>
|
|
33
|
+
</template>
|
|
34
|
+
</card-grid>
|
|
35
|
+
</template>
|
|
36
|
+
|
|
37
|
+
<script>
|
|
38
|
+
import CardGrid from './../../Common/CardGrid/index.vue'
|
|
39
|
+
import CardGridItem from './../../Common/CardGridItem/index.vue'
|
|
40
|
+
import Column from './../../Containers/Column/index.vue'
|
|
41
|
+
import VideoThumbnail from './../../SubComponents/VideoThumbnail/index.vue'
|
|
42
|
+
import CtaButton from './../../SubComponents/CtaButton/index.vue'
|
|
43
|
+
|
|
44
|
+
export default {
|
|
45
|
+
name: 'VideoGrid',
|
|
46
|
+
components: {
|
|
47
|
+
CtaButton,
|
|
48
|
+
VideoThumbnail,
|
|
49
|
+
Column,
|
|
50
|
+
CardGrid,
|
|
51
|
+
CardGridItem
|
|
52
|
+
},
|
|
53
|
+
props: {
|
|
54
|
+
gridTitle: {
|
|
55
|
+
type: String,
|
|
56
|
+
default: null
|
|
57
|
+
},
|
|
58
|
+
titleTag: {
|
|
59
|
+
type: String,
|
|
60
|
+
default: 'h2'
|
|
61
|
+
},
|
|
62
|
+
gridDescription: {
|
|
63
|
+
type: String,
|
|
64
|
+
default: null
|
|
65
|
+
},
|
|
66
|
+
videoList: {
|
|
67
|
+
type: Array,
|
|
68
|
+
required: true
|
|
69
|
+
},
|
|
70
|
+
rtl: {
|
|
71
|
+
type: Boolean,
|
|
72
|
+
default: false
|
|
73
|
+
},
|
|
74
|
+
threeColumns: {
|
|
75
|
+
type: Boolean,
|
|
76
|
+
default: false
|
|
77
|
+
},
|
|
78
|
+
greyBackground: {
|
|
79
|
+
type: Boolean,
|
|
80
|
+
default: false
|
|
81
|
+
},
|
|
82
|
+
cta: {
|
|
83
|
+
type: Object,
|
|
84
|
+
default: null
|
|
85
|
+
}
|
|
86
|
+
}
|
|
87
|
+
}
|
|
88
|
+
</script>
|
|
89
|
+
|
|
90
|
+
<style lang="scss" scoped>
|
|
91
|
+
@import '../../../includes/scss/all';
|
|
92
|
+
|
|
93
|
+
.wcl-video-thumbnail-wrapper {
|
|
94
|
+
margin-bottom: 0px;
|
|
95
|
+
}
|
|
96
|
+
|
|
97
|
+
.video-grid {
|
|
98
|
+
&__cellTitle {
|
|
99
|
+
margin-top: 12px;
|
|
100
|
+
margin-bottom: 0px;
|
|
101
|
+
font-weight: 600;
|
|
102
|
+
}
|
|
103
|
+
|
|
104
|
+
&.items-2 {
|
|
105
|
+
:deep(.wcl-video-thumbnail-wrapper a .video-thumbnail__image) {
|
|
106
|
+
max-height: 304px;
|
|
107
|
+
@include mq('mm') {
|
|
108
|
+
max-height: auto;
|
|
109
|
+
}
|
|
110
|
+
}
|
|
111
|
+
}
|
|
112
|
+
&.items-3 {
|
|
113
|
+
:deep(.wcl-video-thumbnail-wrapper a .video-thumbnail__image) {
|
|
114
|
+
max-height: 200px;
|
|
115
|
+
@include mq('mm') {
|
|
116
|
+
max-height: auto;
|
|
117
|
+
}
|
|
118
|
+
}
|
|
119
|
+
:deep(.video-thumbnail) {
|
|
120
|
+
min-height: auto;
|
|
121
|
+
}
|
|
122
|
+
}
|
|
123
|
+
}
|
|
124
|
+
</style>
|
|
@@ -0,0 +1,95 @@
|
|
|
1
|
+
import Container from '../../Containers/Container/index.vue'
|
|
2
|
+
import Row from '../../Containers/Row/index.vue'
|
|
3
|
+
import Column from '../../Containers/Column/index.vue'
|
|
4
|
+
import VideoMedia from './index.vue'
|
|
5
|
+
|
|
6
|
+
const mockData = {
|
|
7
|
+
videoId: { YouTube: '3FLapMJUmZQ', Vimeo: '60139366' },
|
|
8
|
+
provider: { YouTube: 'youtube', Vimeo: 'vimeo' },
|
|
9
|
+
transcriptTitle: 'Transcript',
|
|
10
|
+
transcript:
|
|
11
|
+
'Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat.'
|
|
12
|
+
}
|
|
13
|
+
|
|
14
|
+
const youtubeTitle = 'YouTube title'
|
|
15
|
+
const vimeoTitle = 'Vimeo title'
|
|
16
|
+
const fixWidthTitle = 'FixWidth title'
|
|
17
|
+
const mediaDesc = 'Vestibulum rutrum quam vitae fringilla tincidunt. Suspendisse nec tortor urna. Ut laoreet sodales nisi, quis iaculis nulla iaculis vitae. Donec sagittis faucibus lacus eget blandit.'
|
|
18
|
+
|
|
19
|
+
export default {
|
|
20
|
+
title: 'Paragraphs/VideoPlayer',
|
|
21
|
+
component: { VideoMedia, Container, Row, Column },
|
|
22
|
+
argTypes: {
|
|
23
|
+
titleTag: {
|
|
24
|
+
control: 'select',
|
|
25
|
+
options: ['h2', 'h3']
|
|
26
|
+
},
|
|
27
|
+
mediaTitle: {
|
|
28
|
+
control: 'text'
|
|
29
|
+
},
|
|
30
|
+
mediaDescription: {
|
|
31
|
+
control: 'text'
|
|
32
|
+
|
|
33
|
+
},
|
|
34
|
+
videoId: {
|
|
35
|
+
control: 'select',
|
|
36
|
+
options: [mockData.videoId.YouTube, mockData.videoId.Vimeo]
|
|
37
|
+
},
|
|
38
|
+
provider: {
|
|
39
|
+
control: 'select',
|
|
40
|
+
options: [mockData.provider.YouTube, mockData.provider.Vimeo],
|
|
41
|
+
},
|
|
42
|
+
transcriptTitle: {
|
|
43
|
+
control: 'text'
|
|
44
|
+
},
|
|
45
|
+
transcript: {
|
|
46
|
+
control: 'text'
|
|
47
|
+
}
|
|
48
|
+
}
|
|
49
|
+
}
|
|
50
|
+
|
|
51
|
+
const Template = (args) => ({
|
|
52
|
+
components: {VideoMedia, Container, Row, Column},
|
|
53
|
+
setup () {
|
|
54
|
+
return { args }
|
|
55
|
+
},
|
|
56
|
+
template: '<video-media v-bind="args"/>'
|
|
57
|
+
})
|
|
58
|
+
|
|
59
|
+
export const Youtube = Template.bind({})
|
|
60
|
+
|
|
61
|
+
Youtube.args = {
|
|
62
|
+
titleTag: 'h2',
|
|
63
|
+
videoId: mockData.videoId.YouTube,
|
|
64
|
+
mediaTitle: youtubeTitle,
|
|
65
|
+
mediaDescription: mediaDesc,
|
|
66
|
+
provider: mockData.provider.YouTube,
|
|
67
|
+
transcriptTitle: mockData.transcriptTitle,
|
|
68
|
+
transcript: mockData.transcript
|
|
69
|
+
}
|
|
70
|
+
|
|
71
|
+
|
|
72
|
+
export const Vimeo = Template.bind({})
|
|
73
|
+
|
|
74
|
+
Vimeo.args = {
|
|
75
|
+
titleTag: 'h2',
|
|
76
|
+
videoId: mockData.videoId.Vimeo,
|
|
77
|
+
mediaTitle: vimeoTitle,
|
|
78
|
+
mediaDescription: mediaDesc,
|
|
79
|
+
provider: mockData.provider.Vimeo,
|
|
80
|
+
transcriptTitle: mockData.transcriptTitle,
|
|
81
|
+
transcript: mockData.transcript
|
|
82
|
+
}
|
|
83
|
+
|
|
84
|
+
export const FixWidth = Template.bind({})
|
|
85
|
+
|
|
86
|
+
FixWidth.args = {
|
|
87
|
+
titleTag: 'h2',
|
|
88
|
+
videoId: mockData.videoId.Vimeo,
|
|
89
|
+
mediaTitle: fixWidthTitle,
|
|
90
|
+
mediaDescription: mediaDesc,
|
|
91
|
+
provider: mockData.provider.Vimeo,
|
|
92
|
+
transcriptTitle: mockData.transcriptTitle,
|
|
93
|
+
transcript: mockData.transcript,
|
|
94
|
+
fixWidth: true
|
|
95
|
+
}
|
|
@@ -0,0 +1,110 @@
|
|
|
1
|
+
<template>
|
|
2
|
+
<div class="video-media">
|
|
3
|
+
<section-group
|
|
4
|
+
:rtl="rtl"
|
|
5
|
+
:title="mediaTitle"
|
|
6
|
+
:title-tag="titleTag"
|
|
7
|
+
:sub-heading="mediaDescription"
|
|
8
|
+
:no-padding-bottom="true"
|
|
9
|
+
:size="fixWidth ? 'content' : 'page'"
|
|
10
|
+
@isMobileOrTabletView="(e) => (isMobileOrTabletView = e)"
|
|
11
|
+
>
|
|
12
|
+
<div>
|
|
13
|
+
<video-player
|
|
14
|
+
:provider="provider"
|
|
15
|
+
:video-id="videoId"
|
|
16
|
+
class="video-media__video-player"
|
|
17
|
+
:rtl="rtl"
|
|
18
|
+
/>
|
|
19
|
+
</div>
|
|
20
|
+
</section-group>
|
|
21
|
+
<accordion
|
|
22
|
+
:accordion-list="accordion"
|
|
23
|
+
:option="'close-all'"
|
|
24
|
+
class="video-media__transcript"
|
|
25
|
+
/>
|
|
26
|
+
</div>
|
|
27
|
+
</template>
|
|
28
|
+
|
|
29
|
+
<script>
|
|
30
|
+
import SectionGroup from '../../Containers/SectionGroup/index.vue'
|
|
31
|
+
import VideoPlayer from '../../SubComponents/MediaPlayer/index.vue'
|
|
32
|
+
import Accordion from '../Accordion/index.vue'
|
|
33
|
+
|
|
34
|
+
export default {
|
|
35
|
+
name: 'VideoMedia',
|
|
36
|
+
components: {
|
|
37
|
+
VideoPlayer,
|
|
38
|
+
SectionGroup,
|
|
39
|
+
Accordion
|
|
40
|
+
},
|
|
41
|
+
props: {
|
|
42
|
+
mediaTitle: {
|
|
43
|
+
type: String,
|
|
44
|
+
default: null
|
|
45
|
+
},
|
|
46
|
+
mediaDescription: {
|
|
47
|
+
type: String,
|
|
48
|
+
default: null
|
|
49
|
+
},
|
|
50
|
+
provider: {
|
|
51
|
+
type: String,
|
|
52
|
+
required: true
|
|
53
|
+
},
|
|
54
|
+
videoId: {
|
|
55
|
+
type: String,
|
|
56
|
+
required: true
|
|
57
|
+
},
|
|
58
|
+
transcriptTitle: {
|
|
59
|
+
type: String,
|
|
60
|
+
default: null
|
|
61
|
+
},
|
|
62
|
+
transcript: {
|
|
63
|
+
type: String,
|
|
64
|
+
default: null
|
|
65
|
+
},
|
|
66
|
+
fixWidth: {
|
|
67
|
+
type: Boolean,
|
|
68
|
+
default: false
|
|
69
|
+
},
|
|
70
|
+
rtl: {
|
|
71
|
+
type: Boolean,
|
|
72
|
+
default: false
|
|
73
|
+
},
|
|
74
|
+
titleTag: {
|
|
75
|
+
type: String,
|
|
76
|
+
default: 'h2'
|
|
77
|
+
}
|
|
78
|
+
},
|
|
79
|
+
computed: {
|
|
80
|
+
accordion() {
|
|
81
|
+
return [
|
|
82
|
+
{
|
|
83
|
+
field_title: this.transcriptTitle,
|
|
84
|
+
field_rich_text: {
|
|
85
|
+
value: this.transcript
|
|
86
|
+
}
|
|
87
|
+
}
|
|
88
|
+
]
|
|
89
|
+
}
|
|
90
|
+
}
|
|
91
|
+
}
|
|
92
|
+
</script>
|
|
93
|
+
|
|
94
|
+
<style lang="scss" scoped>
|
|
95
|
+
@import '../../../includes/scss/all';
|
|
96
|
+
.video-media {
|
|
97
|
+
&__transcript {
|
|
98
|
+
padding: 0;
|
|
99
|
+
margin-top: 12px;
|
|
100
|
+
}
|
|
101
|
+
|
|
102
|
+
:deep(.section-group--size-content .video-player) {
|
|
103
|
+
@include fp(min-height, 250, 411);
|
|
104
|
+
}
|
|
105
|
+
|
|
106
|
+
:deep(.section-group--size-page .video-player) {
|
|
107
|
+
@include fp(min-height, 250, 625);
|
|
108
|
+
}
|
|
109
|
+
}
|
|
110
|
+
</style>
|