├── .prettierignore ├── TODO.md ├── assets ├── image1.png ├── image2.png ├── image3.png ├── icons │ ├── chevronRight.png │ ├── chevronBlue.svg │ ├── chevronRight.svg │ ├── chevronLeftBlue.svg │ ├── chevronLeftWhite.svg │ ├── chevronRightBlue.svg │ ├── chevronRightWhite.svg │ ├── chevronDownSwitcher.svg │ ├── nav-arrow-right.svg │ ├── nav-arrow-right-blue.svg │ ├── breadIcon.svg │ ├── mailIcon.svg │ ├── searchMobile.svg │ ├── eyeIcon.svg │ ├── closeQuickviewIcon.svg │ ├── drawerLoginIcon.svg │ ├── globe.svg │ ├── heartIcon.svg │ ├── heartFilled.svg │ ├── cartIcon.svg │ ├── cartIconB2B.svg │ ├── phoneIcon.svg │ ├── quickOrderIcon.svg │ └── logoB2B.svg ├── placeholders │ ├── home.png │ ├── truck.png │ ├── eloLogo.png │ ├── AppleBrand.png │ ├── cokeBrand.png │ ├── visaLogo.png │ ├── vtexLogo.png │ ├── bannerSummer.png │ ├── dinnersLogo.png │ ├── expressLogo.png │ ├── facebookIcon.png │ ├── twitterIcon.png │ ├── instagramIcon.png │ ├── masterCardLogo.png │ ├── whirlpoolBrand.png │ ├── fullbannerDesktop.png │ ├── fullbannerMobile.png │ ├── apparelPlaceholder.png │ ├── beveragePlaceholder.png │ ├── blogImagePlaceholder.png │ ├── computerPlaceholder.png │ ├── singleBannerMobile.png │ ├── sportingPlaceholder.png │ ├── agribusinessPlaceholder.png │ ├── categoryImagePlaceHolder.png │ └── homeAppliancePlaceholder.png ├── fonts │ ├── roboto-v20-latin-500.woff │ ├── roboto-v20-latin-500.woff2 │ ├── roboto-v20-latin-700.woff │ ├── roboto-v20-latin-700.woff2 │ ├── roboto-v20-latin-regular.woff │ └── roboto-v20-latin-regular.woff2 ├── Screen Shot 2021-02-18 at 08.31.00.png ├── Screen Shot 2021-02-18 at 08.32.31.png ├── Screen Shot 2021-02-18 at 10.08.14.png ├── Screen Shot 2021-02-18 at 10.15.38.png ├── Screen Shot 2021-02-18 at 10.21.00.png ├── Screen Shot 2021-02-25 at 09.48.10.png ├── Screen Shot 2021-02-25 at 09.48.17.png ├── Screen Shot 2021-02-25 at 09.56.25.png ├── Screen Shot 2021-02-25 at 09.57.18.png ├── Screen Shot 2021-02-25 at 09.57.26.png ├── Screen Shot 2021-02-25 at 10.12.49.png ├── Screen Shot 2021-02-25 at 10.18.28.png └── Screen Shot 2021-02-25 at 10.21.04.png ├── checkout-ui-custom ├── checkout-instore-custom.css ├── checkout-instore-custom.js ├── checkout-confirmation-custom.css ├── checkout5-custom.js ├── checkout-confirmation-custom.js ├── checkout5-custom.css └── checkout6-custom.css ├── styles ├── css │ ├── vtex.organizations-challenge.css │ ├── vtex.checkout-summary.css │ ├── vtex.disclosure-layout.css │ ├── vtex.product-identifier.css │ ├── vtex.telemarketing.css │ ├── vtex.store-icons.css │ ├── vtex.shopper-location.css │ ├── vtex.auth-challenge.css │ ├── vtex.stack-layout.css │ ├── vtex.orderquote.css │ ├── vtex.product-specifications.css │ ├── vtex.location-availability.css │ ├── vtex.store-footer.css │ ├── vtex.product-availability.css │ ├── vtex.quickorder.css │ ├── vtex.product-list.css │ ├── vtex.sticky-layout.css │ ├── vtex.product-customizer.css │ ├── vtex.sku-list.css │ ├── vtex.search.css │ ├── vtex.store.css │ ├── vtex.breadcrumb.css │ ├── vtex.store-drawer.css │ ├── vtex.wish-list.css │ ├── vtex.login.css │ ├── vtex.product-comparison.css │ ├── vtex.styleguide.css │ ├── vtex.locale-switcher.css │ ├── vtex.wordpress-integration.css │ ├── vtex.minicart.css │ ├── vtex.store-newsletter.css │ ├── vtex.menu.css │ ├── vtex.product-quantity.css │ ├── vtex.product-price.css │ ├── vtex.modal-layout.css │ ├── vtex.reviews-and-ratings.css │ ├── vtex.seller-selector.css │ ├── vtex.pickup-availability.css │ ├── vtex.slider-layout.css │ ├── vtex.store-link.css │ └── vtex.search-result.css ├── configs │ └── font-faces.css └── iconpacks │ └── iconpack.svg ├── yarn.lock ├── store ├── blocks │ ├── product-comparison.jsonc │ ├── product │ │ ├── left-col.jsonc │ │ ├── link-seller.jsonc │ │ ├── seller-name.jsonc │ │ ├── main.jsonc │ │ ├── product-details.jsonc │ │ ├── breadcrumb.jsonc │ │ ├── sku-selector.jsonc │ │ ├── buy-together.jsonc │ │ ├── product-availability-and-quantity.jsonc │ │ ├── product-images.jsonc │ │ ├── buy-buttons.jsonc │ │ ├── also-view.jsonc │ │ ├── fake-summary.jsonc │ │ ├── product-price.jsonc │ │ ├── right-col.jsonc │ │ ├── box.jsonc │ │ ├── stickyBuy.jsonc │ │ ├── reviews-and-ratings.jsonc │ │ ├── features.jsonc │ │ ├── assembly-options.jsonc │ │ ├── specification.jsonc │ │ ├── description-and-gallery.jsonc │ │ └── sku-list.jsonc │ ├── not-allowed.jsonc │ ├── quickorder │ │ ├── quickOrderByOnePage.jsonc │ │ ├── quickOrderByCategoryPage.jsonc │ │ ├── quickorderMobile.jsonc │ │ └── quickorder.jsonc │ ├── quickview.jsonc │ ├── institutional │ │ ├── about-us │ │ │ ├── sell.jsonc │ │ │ ├── careers.jsonc │ │ │ ├── company.jsonc │ │ │ ├── locations.jsonc │ │ │ ├── advertise.jsonc │ │ │ └── investors.jsonc │ │ ├── customer-service │ │ │ ├── pickup.jsonc │ │ │ ├── contact.jsonc │ │ │ ├── returns.jsonc │ │ │ ├── recalls.jsonc │ │ │ ├── help-center.jsonc │ │ │ └── accessibility.jsonc │ │ ├── services.jsonc │ │ └── gift-cards.jsonc │ ├── header │ │ └── search-bar.jsonc │ ├── components │ │ ├── product-summary-prices.jsonc │ │ ├── trending.jsonc │ │ ├── popular-picks.jsonc │ │ ├── benefits.jsonc │ │ └── blog.jsonc │ ├── institutional.jsonc │ ├── shopper-location.jsonc │ ├── wishlist.jsonc │ ├── newsletter.jsonc │ ├── product.jsonc │ ├── challenges.jsonc │ ├── deals.jsonc │ ├── popular.jsonc │ ├── releases.jsonc │ ├── trending.jsonc │ ├── top-sales.jsonc │ ├── default.jsonc │ ├── sellers.jsonc │ ├── mobile │ │ └── home.jsonc │ └── footer │ │ └── menu.jsonc ├── plugins.json ├── interfaces.json └── routes.json ├── .editorconfig ├── .vtexignore ├── catalog-info.yaml ├── .vtex └── deployment.yaml ├── .gitignore ├── .github ├── ISSUE_TEMPLATE │ ├── feature_request.md │ └── bug_report.md ├── PULL_REQUEST_TEMPLATE.md └── workflows │ └── pull-request.yml └── manifest.json /.prettierignore: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /TODO.md: -------------------------------------------------------------------------------- 1 | ## TODOS 2 | 3 | - [ ] Espaçamento Shelfs quando não tem reviews. 4 | -------------------------------------------------------------------------------- /assets/image1.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vtex-apps/b2b-theme/HEAD/assets/image1.png -------------------------------------------------------------------------------- /assets/image2.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vtex-apps/b2b-theme/HEAD/assets/image2.png -------------------------------------------------------------------------------- /assets/image3.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vtex-apps/b2b-theme/HEAD/assets/image3.png -------------------------------------------------------------------------------- /checkout-ui-custom/checkout-instore-custom.css: -------------------------------------------------------------------------------- 1 | /* /files/checkout-instore-custom.css */ 2 | -------------------------------------------------------------------------------- /checkout-ui-custom/checkout-instore-custom.js: -------------------------------------------------------------------------------- 1 | /* /files/checkout-instore-custom.js */ 2 | -------------------------------------------------------------------------------- /styles/css/vtex.organizations-challenge.css: -------------------------------------------------------------------------------- 1 | .challengeContentWrapper { 2 | margin: 0; 3 | } 4 | -------------------------------------------------------------------------------- /checkout-ui-custom/checkout-confirmation-custom.css: -------------------------------------------------------------------------------- 1 | /* /files/checkout-confirmation-custom.css */ 2 | -------------------------------------------------------------------------------- /styles/css/vtex.checkout-summary.css: -------------------------------------------------------------------------------- 1 | .summarySmallDisclaimer { 2 | display: none; 3 | opacity: 0; 4 | } -------------------------------------------------------------------------------- /assets/icons/chevronRight.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vtex-apps/b2b-theme/HEAD/assets/icons/chevronRight.png -------------------------------------------------------------------------------- /assets/placeholders/home.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vtex-apps/b2b-theme/HEAD/assets/placeholders/home.png -------------------------------------------------------------------------------- /assets/placeholders/truck.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vtex-apps/b2b-theme/HEAD/assets/placeholders/truck.png -------------------------------------------------------------------------------- /yarn.lock: -------------------------------------------------------------------------------- 1 | # THIS IS AN AUTOGENERATED FILE. DO NOT EDIT THIS FILE DIRECTLY. 2 | # yarn lockfile v1 3 | 4 | 5 | -------------------------------------------------------------------------------- /assets/placeholders/eloLogo.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vtex-apps/b2b-theme/HEAD/assets/placeholders/eloLogo.png -------------------------------------------------------------------------------- /assets/placeholders/AppleBrand.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vtex-apps/b2b-theme/HEAD/assets/placeholders/AppleBrand.png -------------------------------------------------------------------------------- /assets/placeholders/cokeBrand.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vtex-apps/b2b-theme/HEAD/assets/placeholders/cokeBrand.png -------------------------------------------------------------------------------- /assets/placeholders/visaLogo.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vtex-apps/b2b-theme/HEAD/assets/placeholders/visaLogo.png -------------------------------------------------------------------------------- /assets/placeholders/vtexLogo.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vtex-apps/b2b-theme/HEAD/assets/placeholders/vtexLogo.png -------------------------------------------------------------------------------- /assets/placeholders/bannerSummer.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vtex-apps/b2b-theme/HEAD/assets/placeholders/bannerSummer.png -------------------------------------------------------------------------------- /assets/placeholders/dinnersLogo.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vtex-apps/b2b-theme/HEAD/assets/placeholders/dinnersLogo.png -------------------------------------------------------------------------------- /assets/placeholders/expressLogo.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vtex-apps/b2b-theme/HEAD/assets/placeholders/expressLogo.png -------------------------------------------------------------------------------- /assets/placeholders/facebookIcon.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vtex-apps/b2b-theme/HEAD/assets/placeholders/facebookIcon.png -------------------------------------------------------------------------------- /assets/placeholders/twitterIcon.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vtex-apps/b2b-theme/HEAD/assets/placeholders/twitterIcon.png -------------------------------------------------------------------------------- /assets/fonts/roboto-v20-latin-500.woff: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vtex-apps/b2b-theme/HEAD/assets/fonts/roboto-v20-latin-500.woff -------------------------------------------------------------------------------- /assets/fonts/roboto-v20-latin-500.woff2: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vtex-apps/b2b-theme/HEAD/assets/fonts/roboto-v20-latin-500.woff2 -------------------------------------------------------------------------------- /assets/fonts/roboto-v20-latin-700.woff: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vtex-apps/b2b-theme/HEAD/assets/fonts/roboto-v20-latin-700.woff -------------------------------------------------------------------------------- /assets/fonts/roboto-v20-latin-700.woff2: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vtex-apps/b2b-theme/HEAD/assets/fonts/roboto-v20-latin-700.woff2 -------------------------------------------------------------------------------- /assets/placeholders/instagramIcon.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vtex-apps/b2b-theme/HEAD/assets/placeholders/instagramIcon.png -------------------------------------------------------------------------------- /assets/placeholders/masterCardLogo.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vtex-apps/b2b-theme/HEAD/assets/placeholders/masterCardLogo.png -------------------------------------------------------------------------------- /assets/placeholders/whirlpoolBrand.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vtex-apps/b2b-theme/HEAD/assets/placeholders/whirlpoolBrand.png -------------------------------------------------------------------------------- /styles/css/vtex.disclosure-layout.css: -------------------------------------------------------------------------------- 1 | .trigger { 2 | cursor: pointer; 3 | } 4 | 5 | .content { 6 | padding-top: 24px; 7 | } 8 | -------------------------------------------------------------------------------- /assets/placeholders/fullbannerDesktop.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vtex-apps/b2b-theme/HEAD/assets/placeholders/fullbannerDesktop.png -------------------------------------------------------------------------------- /assets/placeholders/fullbannerMobile.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vtex-apps/b2b-theme/HEAD/assets/placeholders/fullbannerMobile.png -------------------------------------------------------------------------------- /assets/fonts/roboto-v20-latin-regular.woff: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vtex-apps/b2b-theme/HEAD/assets/fonts/roboto-v20-latin-regular.woff -------------------------------------------------------------------------------- /assets/fonts/roboto-v20-latin-regular.woff2: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vtex-apps/b2b-theme/HEAD/assets/fonts/roboto-v20-latin-regular.woff2 -------------------------------------------------------------------------------- /assets/placeholders/apparelPlaceholder.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vtex-apps/b2b-theme/HEAD/assets/placeholders/apparelPlaceholder.png -------------------------------------------------------------------------------- /assets/placeholders/beveragePlaceholder.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vtex-apps/b2b-theme/HEAD/assets/placeholders/beveragePlaceholder.png -------------------------------------------------------------------------------- /assets/placeholders/blogImagePlaceholder.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vtex-apps/b2b-theme/HEAD/assets/placeholders/blogImagePlaceholder.png -------------------------------------------------------------------------------- /assets/placeholders/computerPlaceholder.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vtex-apps/b2b-theme/HEAD/assets/placeholders/computerPlaceholder.png -------------------------------------------------------------------------------- /assets/placeholders/singleBannerMobile.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vtex-apps/b2b-theme/HEAD/assets/placeholders/singleBannerMobile.png -------------------------------------------------------------------------------- /assets/placeholders/sportingPlaceholder.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vtex-apps/b2b-theme/HEAD/assets/placeholders/sportingPlaceholder.png -------------------------------------------------------------------------------- /assets/Screen Shot 2021-02-18 at 08.31.00.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vtex-apps/b2b-theme/HEAD/assets/Screen Shot 2021-02-18 at 08.31.00.png -------------------------------------------------------------------------------- /assets/Screen Shot 2021-02-18 at 08.32.31.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vtex-apps/b2b-theme/HEAD/assets/Screen Shot 2021-02-18 at 08.32.31.png -------------------------------------------------------------------------------- /assets/Screen Shot 2021-02-18 at 10.08.14.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vtex-apps/b2b-theme/HEAD/assets/Screen Shot 2021-02-18 at 10.08.14.png -------------------------------------------------------------------------------- /assets/Screen Shot 2021-02-18 at 10.15.38.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vtex-apps/b2b-theme/HEAD/assets/Screen Shot 2021-02-18 at 10.15.38.png -------------------------------------------------------------------------------- /assets/Screen Shot 2021-02-18 at 10.21.00.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vtex-apps/b2b-theme/HEAD/assets/Screen Shot 2021-02-18 at 10.21.00.png -------------------------------------------------------------------------------- /assets/Screen Shot 2021-02-25 at 09.48.10.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vtex-apps/b2b-theme/HEAD/assets/Screen Shot 2021-02-25 at 09.48.10.png -------------------------------------------------------------------------------- /assets/Screen Shot 2021-02-25 at 09.48.17.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vtex-apps/b2b-theme/HEAD/assets/Screen Shot 2021-02-25 at 09.48.17.png -------------------------------------------------------------------------------- /assets/Screen Shot 2021-02-25 at 09.56.25.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vtex-apps/b2b-theme/HEAD/assets/Screen Shot 2021-02-25 at 09.56.25.png -------------------------------------------------------------------------------- /assets/Screen Shot 2021-02-25 at 09.57.18.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vtex-apps/b2b-theme/HEAD/assets/Screen Shot 2021-02-25 at 09.57.18.png -------------------------------------------------------------------------------- /assets/Screen Shot 2021-02-25 at 09.57.26.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vtex-apps/b2b-theme/HEAD/assets/Screen Shot 2021-02-25 at 09.57.26.png -------------------------------------------------------------------------------- /assets/Screen Shot 2021-02-25 at 10.12.49.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vtex-apps/b2b-theme/HEAD/assets/Screen Shot 2021-02-25 at 10.12.49.png -------------------------------------------------------------------------------- /assets/Screen Shot 2021-02-25 at 10.18.28.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vtex-apps/b2b-theme/HEAD/assets/Screen Shot 2021-02-25 at 10.18.28.png -------------------------------------------------------------------------------- /assets/Screen Shot 2021-02-25 at 10.21.04.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vtex-apps/b2b-theme/HEAD/assets/Screen Shot 2021-02-25 at 10.21.04.png -------------------------------------------------------------------------------- /assets/placeholders/agribusinessPlaceholder.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vtex-apps/b2b-theme/HEAD/assets/placeholders/agribusinessPlaceholder.png -------------------------------------------------------------------------------- /assets/placeholders/categoryImagePlaceHolder.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vtex-apps/b2b-theme/HEAD/assets/placeholders/categoryImagePlaceHolder.png -------------------------------------------------------------------------------- /assets/placeholders/homeAppliancePlaceholder.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vtex-apps/b2b-theme/HEAD/assets/placeholders/homeAppliancePlaceholder.png -------------------------------------------------------------------------------- /styles/css/vtex.product-identifier.css: -------------------------------------------------------------------------------- 1 | .product-identifier--productReference { 2 | font-size: 12px; 3 | line-height: 16px; 4 | color: #717786; 5 | } 6 | -------------------------------------------------------------------------------- /styles/css/vtex.telemarketing.css: -------------------------------------------------------------------------------- 1 | .wrapper { 2 | background: var(--b2b-header-blue-medium); 3 | } 4 | 5 | .attendantContainer { 6 | padding: 0; 7 | } 8 | -------------------------------------------------------------------------------- /store/blocks/product-comparison.jsonc: -------------------------------------------------------------------------------- 1 | { 2 | "store.custom#product-comparison-list": { 3 | "children": [ 4 | "comparison-page" 5 | ] 6 | } 7 | } -------------------------------------------------------------------------------- /styles/css/vtex.store-icons.css: -------------------------------------------------------------------------------- 1 | .caretIcon--fresh-blue { 2 | color: var(--fresh-blue); 3 | } 4 | 5 | .caretIcon--lines-darker { 6 | color: var(--lines-darker); 7 | } 8 | -------------------------------------------------------------------------------- /store/plugins.json: -------------------------------------------------------------------------------- 1 | { 2 | "my-account-pages > my-account-page": "my-account-page.wishlist-page", 3 | "my-account-menu > my-account-link": "my-account-link.wishlist-link" 4 | } 5 | -------------------------------------------------------------------------------- /store/blocks/product/left-col.jsonc: -------------------------------------------------------------------------------- 1 | { 2 | "flex-layout.col#left-col": { 3 | "children": ["product-images#desktop"], 4 | "props": { 5 | "blockClass": "left-col" 6 | } 7 | } 8 | } 9 | -------------------------------------------------------------------------------- /styles/css/vtex.shopper-location.css: -------------------------------------------------------------------------------- 1 | .changeLocationContainer :global(.vtex-input-prefix__group), 2 | .changeLocationContainer :global(.vtex-address-form-4-x-container) { 3 | border: 1px solid #A3AFBC; 4 | } 5 | -------------------------------------------------------------------------------- /assets/icons/chevronBlue.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | -------------------------------------------------------------------------------- /assets/icons/chevronRight.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | -------------------------------------------------------------------------------- /assets/icons/chevronLeftBlue.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | -------------------------------------------------------------------------------- /assets/icons/chevronLeftWhite.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | -------------------------------------------------------------------------------- /assets/icons/chevronRightBlue.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | -------------------------------------------------------------------------------- /assets/icons/chevronRightWhite.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | -------------------------------------------------------------------------------- /checkout-ui-custom/checkout5-custom.js: -------------------------------------------------------------------------------- 1 | // WARNING: THE USAGE OF CUSTOM SCRIPTS IS NOT SUPPORTED. VTEX IS NOT LIABLE FOR ANY DAMAGES THIS MAY CAUSE. THIS MAY BREAK YOUR STORE AND STOP SALES. IN CASE OF ERRORS, PLEASE DELETE THE CONTENT OF THIS SCRIPT. 2 | -------------------------------------------------------------------------------- /store/blocks/product/link-seller.jsonc: -------------------------------------------------------------------------------- 1 | { 2 | "flex-layout.row#link-seller": { 3 | "children": ["link-seller#default"] 4 | }, 5 | "link-seller#default": { 6 | "props": { 7 | "blockClass": "default" 8 | } 9 | } 10 | } 11 | -------------------------------------------------------------------------------- /assets/icons/chevronDownSwitcher.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | -------------------------------------------------------------------------------- /checkout-ui-custom/checkout-confirmation-custom.js: -------------------------------------------------------------------------------- 1 | // WARNING: THE USAGE OF CUSTOM SCRIPTS IS NOT SUPPORTED. VTEX IS NOT LIABLE FOR ANY DAMAGES THIS MAY CAUSE. 2 | // THIS MAY BREAK YOUR STORE AND STOP SALES. IN CASE OF ERRORS, PLEASE DELETE THE CONTENT OF THIS SCRIPT. 3 | -------------------------------------------------------------------------------- /styles/css/vtex.auth-challenge.css: -------------------------------------------------------------------------------- 1 | .challengeContentWrapper--resellerChallengeFallback { 2 | display: flex; 3 | align-items: center; 4 | } 5 | 6 | .challengeContentWrapper--loginChallengeContent { 7 | display: flex; 8 | align-items: center; 9 | } 10 | -------------------------------------------------------------------------------- /checkout-ui-custom/checkout5-custom.css: -------------------------------------------------------------------------------- 1 | /* /files/checkout5-custom.css */ 2 | 3 | /* Displays the option to enter a foreign document */ 4 | .document-box { display: block; } 5 | 6 | /* Displays the option to enter an international phone */ 7 | .phone-box { display: block; } 8 | -------------------------------------------------------------------------------- /styles/css/vtex.stack-layout.css: -------------------------------------------------------------------------------- 1 | .stackItem--savingsStack:not(.stackItem--first), 2 | .stackItem--savingsStack:not(:last-child) { 3 | bottom: 10px; 4 | top: initial; 5 | } 6 | 7 | .stackItem--savingsStack:last-child { 8 | bottom: 28px; 9 | top: initial; 10 | } 11 | -------------------------------------------------------------------------------- /.editorconfig: -------------------------------------------------------------------------------- 1 | # editorconfig.org 2 | root = true 3 | 4 | [*] 5 | end_of_line = lf 6 | insert_final_newline = true 7 | indent_style = space 8 | indent_size = 2 9 | charset = utf-8 10 | trim_trailing_whitespace = true 11 | 12 | [*.md] 13 | trim_trailing_whitespace = false 14 | -------------------------------------------------------------------------------- /.vtexignore: -------------------------------------------------------------------------------- 1 | .DS_Store 2 | .git 3 | node_modules/ 4 | package.json 5 | .vscode/ 6 | .gitignore 7 | tsconfig.json 8 | tslint.json 9 | typings.d.ts 10 | yarn.lock 11 | render/node_modules/ 12 | service/node_modules/ 13 | react/__tests__/** 14 | react/.babelrc 15 | react/.eslintrc 16 | react/setupTests.js -------------------------------------------------------------------------------- /store/blocks/product/seller-name.jsonc: -------------------------------------------------------------------------------- 1 | { 2 | "flex-layout.row#seller-name": { 3 | "children": ["product-seller-name#default"] 4 | }, 5 | "product-seller-name#default": { 6 | "props": { 7 | "blockClass": ["default"], 8 | "message": "Sold by {sellerName}" 9 | } 10 | } 11 | } 12 | -------------------------------------------------------------------------------- /assets/icons/nav-arrow-right.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | -------------------------------------------------------------------------------- /assets/icons/nav-arrow-right-blue.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | -------------------------------------------------------------------------------- /store/interfaces.json: -------------------------------------------------------------------------------- 1 | { 2 | "store.search.product-comparison": { 3 | "around": ["comparison-context-wrapper"] 4 | }, 5 | "store.custom.product-comparison": { 6 | "around": ["comparison-context-wrapper"] 7 | }, 8 | "search-result-layout.desktop.product-comparison": { 9 | "allowed": ["product-comparison-drawer"] 10 | } 11 | } 12 | -------------------------------------------------------------------------------- /store/blocks/not-allowed.jsonc: -------------------------------------------------------------------------------- 1 | { 2 | "store.custom#not-allow": { 3 | "blocks": [ 4 | "rich-text#notAllowed" 5 | ] 6 | }, 7 | "rich-text#notAllowed": { 8 | "props": { 9 | "text": "## Sorry! You're not allowed to access the site.", 10 | "textAlignment": "CENTER", 11 | "textPosition": "CENTER" 12 | } 13 | } 14 | } -------------------------------------------------------------------------------- /checkout-ui-custom/checkout6-custom.css: -------------------------------------------------------------------------------- 1 | /* Content copied from "checkout5-custom.css" at 2019-03-01T05:12:59.334Z */ 2 | 3 | /* /files/checkout5-custom.css */ 4 | 5 | /* Displays the option to enter a foreign document */ 6 | .document-box { display: block; } 7 | 8 | /* Displays the option to enter an international phone */ 9 | .phone-box { display: block; } 10 | -------------------------------------------------------------------------------- /store/blocks/product/main.jsonc: -------------------------------------------------------------------------------- 1 | { 2 | "flex-layout.row#main": { 3 | "children": ["flex-layout.col#left-col", "flex-layout.col#right-col"], 4 | "props": { 5 | "blockClass": "main", 6 | "colGap": 7, 7 | "colSizing": "auto", 8 | "preventHorizontalStretch": true, 9 | "preventVerticalStretch": true 10 | } 11 | } 12 | } 13 | -------------------------------------------------------------------------------- /styles/css/vtex.orderquote.css: -------------------------------------------------------------------------------- 1 | .containerCreate, 2 | .containerList, 3 | .containerView { 4 | max-width: 1440px; 5 | width: 100%; 6 | padding: 0px; 7 | margin: 0px auto; 8 | } 9 | 10 | .buttonSave :global(.vtex-button), 11 | .createButton :global(.vtex-button), 12 | .buttonUse :global(.vtex-button) { 13 | background: var(--serious-blue-dark); 14 | } 15 | -------------------------------------------------------------------------------- /assets/icons/breadIcon.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | -------------------------------------------------------------------------------- /store/blocks/product/product-details.jsonc: -------------------------------------------------------------------------------- 1 | { 2 | "flex-layout.row#product-details": { 3 | "children": ["flex-layout.row#main", "sticky-layout#box"], 4 | "props": { 5 | "blockClass": "product", 6 | "colSizing": "auto", 7 | "colGap": 0, 8 | "preventHorizontalStretch": true, 9 | "preventVerticalStretch": true 10 | } 11 | } 12 | } 13 | -------------------------------------------------------------------------------- /store/blocks/quickorder/quickOrderByOnePage.jsonc: -------------------------------------------------------------------------------- 1 | { 2 | "store.custom#quickOrderByOne": { 3 | "children": ["flex-layout.row#quickByOneWrap"] 4 | }, 5 | "flex-layout.row#quickByOneWrap": { 6 | "children": ["flex-layout.row#autocomplete"], 7 | "props": { 8 | "blockClass": "quickOrderContainer", 9 | "paddingBottom": 9 10 | } 11 | } 12 | } 13 | -------------------------------------------------------------------------------- /catalog-info.yaml: -------------------------------------------------------------------------------- 1 | apiVersion: backstage.io/v1alpha1 2 | kind: Component 3 | metadata: 4 | name: b2b-newstore-theme 5 | annotations: 6 | github.com/project-slug: vtex-apps/b2b-newstore-theme 7 | backstage.io/techdocs-ref: dir:./ 8 | vtex.com/application-id: TIL0JR6E 9 | spec: 10 | system: b2b-suite 11 | type: frontend-ui 12 | lifecycle: maintenance 13 | owner: te-0010 -------------------------------------------------------------------------------- /store/blocks/quickorder/quickOrderByCategoryPage.jsonc: -------------------------------------------------------------------------------- 1 | { 2 | "store.custom#quickOrderByCategory": { 3 | "children": ["flex-layout.row#quickCategoriesWrap"] 4 | }, 5 | "flex-layout.row#quickCategoriesWrap": { 6 | "children": ["flex-layout.row#quickCategories"], 7 | "props": { 8 | "blockClass": "quickOrderContainer", 9 | "paddingBottom": 9 10 | } 11 | } 12 | } 13 | -------------------------------------------------------------------------------- /styles/css/vtex.product-specifications.css: -------------------------------------------------------------------------------- 1 | .specificationName, 2 | .specificationValue { 3 | font-size: 14px; 4 | } 5 | 6 | .specificationName { 7 | color: #717786; 8 | } 9 | 10 | .specificationValue { 11 | color: #000; 12 | } 13 | 14 | .specificationName--bullet-list { 15 | display: block; 16 | columns: auto 2; 17 | line-height: 2.5; 18 | width: 100%; 19 | white-space: pre-wrap; 20 | } 21 | -------------------------------------------------------------------------------- /assets/icons/mailIcon.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | -------------------------------------------------------------------------------- /.vtex/deployment.yaml: -------------------------------------------------------------------------------- 1 | - name: docs 2 | description: Documentation pipelines 3 | build: 4 | provider: dkcicd 5 | pipelines: 6 | - name: techdocs-v1 7 | parameters: 8 | entityReference: default/component/b2b-newstore-theme 9 | sourceDir: ./ 10 | indexFile: README.md 11 | when: 12 | - event: push 13 | source: branch 14 | regex: master 15 | path: 16 | - docs/** 17 | runtime: {} 18 | -------------------------------------------------------------------------------- /styles/css/vtex.location-availability.css: -------------------------------------------------------------------------------- 1 | .shippingHeader--desktop { 2 | display: none; 3 | font-size: 16px; 4 | font-weight: 500; 5 | color: black; 6 | } 7 | 8 | .shippingListItem--desktop { 9 | display: none; 10 | } 11 | 12 | .shippingListItem--desktop:first-child { 13 | display: block; 14 | } 15 | 16 | .shippingListEmptyMessage, 17 | .shippingDeliveryName--desktop, 18 | .shippingListItem--desktop { 19 | font-size: 14px; 20 | color: black; 21 | } 22 | -------------------------------------------------------------------------------- /styles/css/vtex.store-footer.css: -------------------------------------------------------------------------------- 1 | .footerLayout { 2 | background: var(--b2b-blue-darkest); 3 | padding-top: 40px; 4 | padding-bottom: 0px; 5 | } 6 | 7 | .footerLayout--relative { 8 | position: relative; 9 | } 10 | 11 | .footerLayout--z-999 { 12 | z-index: 999; 13 | } 14 | 15 | .footerLayout--z-998 { 16 | z-index: 998; 17 | } 18 | 19 | @media (max-width: 64rem) { 20 | .footerLayout { 21 | padding-top: 24px; 22 | padding-bottom: 32px; 23 | } 24 | } 25 | -------------------------------------------------------------------------------- /styles/css/vtex.product-availability.css: -------------------------------------------------------------------------------- 1 | .lowStockText, 2 | .lowStockHighlight, 3 | .lowStockText { 4 | font-size: 12px; 5 | line-height: 16px; 6 | color: #ff7d30; 7 | font-family: Roboto; 8 | font-weight: 700; 9 | } 10 | 11 | .highStockText { 12 | font-size: 12px; 13 | line-height: 16px; 14 | color: #000; 15 | font-family: Roboto; 16 | font-weight: 400; 17 | } 18 | 19 | .highStockText { 20 | color: #ff5f00; 21 | font-weight: 500; 22 | font-size: 14px; 23 | } 24 | -------------------------------------------------------------------------------- /styles/css/vtex.quickorder.css: -------------------------------------------------------------------------------- 1 | @media (max-width: 64rem) { 2 | .categoryButtonAdd { 3 | padding: 0; 4 | } 5 | 6 | .categoryButtonAdd :global(.vtex-button) { 7 | width: 100%; 8 | height: 48px; 9 | background: #ff7d30; 10 | border-radius: 4px; 11 | display: block; 12 | line-height: 48px; 13 | border: none; 14 | margin: 16px 0px 24px; 15 | } 16 | 17 | .categoryContainer .textContainer :not(:global(.vtex-fake)) { 18 | margin: 0; 19 | } 20 | } 21 | -------------------------------------------------------------------------------- /assets/icons/searchMobile.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | -------------------------------------------------------------------------------- /styles/css/vtex.product-list.css: -------------------------------------------------------------------------------- 1 | .removeButtonContainer { 2 | display: flex; 3 | justify-content: flex-end; 4 | } 5 | 6 | .productName--minicart { 7 | color: var(--black-dark); 8 | font-size: 14px; 9 | line-height: 18px; 10 | } 11 | 12 | .productImage { 13 | height: 48px; 14 | object-fit: contain; 15 | width: 48px; 16 | } 17 | 18 | .productImageAnchor { 19 | display: block; 20 | } 21 | 22 | .productImageContainer { 23 | display: flex; 24 | align-items: center; 25 | justify-content: center; 26 | height: 100%; 27 | } 28 | -------------------------------------------------------------------------------- /assets/icons/eyeIcon.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | -------------------------------------------------------------------------------- /styles/css/vtex.sticky-layout.css: -------------------------------------------------------------------------------- 1 | .container--headerMobile { 2 | background: #597298; 3 | z-index: 999; 4 | } 5 | 6 | .wrapper--box--stuck .container--box { 7 | left: 50%; 8 | transform: translateX(-50%); 9 | width: 0; 10 | margin-left: 354px; 11 | z-index: 997; 12 | } 13 | 14 | .container--stickyBuy { 15 | background: #fff; 16 | padding: 8px 0px; 17 | } 18 | 19 | .wrapper--stickyBuy { 20 | height: 0 !important; 21 | z-index: 999; 22 | } 23 | 24 | .container--stickyBuy :global(.vtex-button) { 25 | height: 48px; 26 | background: var(--serious-orange); 27 | border: none; 28 | } 29 | -------------------------------------------------------------------------------- /assets/icons/closeQuickviewIcon.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | -------------------------------------------------------------------------------- /.gitignore: -------------------------------------------------------------------------------- 1 | ### SublimeText ### 2 | *.sublime-workspace 3 | 4 | ### OSX ### 5 | .DS_Store 6 | .AppleDouble 7 | .LSOverride 8 | Icon 9 | 10 | # Thumbnails 11 | ._* 12 | 13 | # Files that might appear on external disk 14 | .Spotlight-V100 15 | .Trashes 16 | 17 | ### Windows ### 18 | # Windows image file caches 19 | Thumbs.db 20 | ehthumbs.db 21 | 22 | # Folder config file 23 | Desktop.ini 24 | 25 | # Recycle Bin used on file shares 26 | $RECYCLE.BIN/ 27 | 28 | # App specific 29 | node_modules/ 30 | docs/_book/ 31 | .tmp 32 | .idea 33 | npm-debug.log 34 | .build/ 35 | lib 36 | .eslintrc 37 | *.orig 38 | react/package-lock.json 39 | -------------------------------------------------------------------------------- /store/blocks/product/breadcrumb.jsonc: -------------------------------------------------------------------------------- 1 | { 2 | "flex-layout.row#breadcrumb": { 3 | "children": ["flex-layout.col#breadcrumb"], 4 | "props": { 5 | "blockClass": "breadcrumb", 6 | "paddingTop": { 7 | "desktop": 5, 8 | "mobile": 6 9 | }, 10 | "marginBottom": { 11 | "mobile": 6 12 | } 13 | } 14 | }, 15 | 16 | "flex-layout.col#breadcrumb": { 17 | "children": ["breadcrumb#default"] 18 | }, 19 | 20 | "breadcrumb#default": { 21 | "props": { 22 | "blockClass": ["default"], 23 | "showOnMobile": true, 24 | "homeIconSize": 18 25 | } 26 | } 27 | } 28 | -------------------------------------------------------------------------------- /styles/css/vtex.product-customizer.css: -------------------------------------------------------------------------------- 1 | .textInputValue { 2 | margin-top: 8px !important; 3 | } 4 | 5 | .textInputValue :global(.vtex-input-prefix__group) { 6 | border: none; 7 | } 8 | 9 | .textInputValue :global(.vtex-styleguide-9-x-input) { 10 | background: #ffffff; 11 | border: 1px solid #a3afbc; 12 | box-sizing: border-box; 13 | border-radius: 4px; 14 | padding: 0 20px; 15 | } 16 | 17 | .textInputValue :global(.vtex-input__label) { 18 | display: none; 19 | } 20 | 21 | .textInputValue::after { 22 | display: inline-block; 23 | color: #717786; 24 | content: "Max. of 20 characters"; 25 | font-size: 12px; 26 | margin-top: 8px; 27 | } 28 | -------------------------------------------------------------------------------- /.github/ISSUE_TEMPLATE/feature_request.md: -------------------------------------------------------------------------------- 1 | --- 2 | name: Feature request 3 | about: Suggest an idea for this project 4 | 5 | --- 6 | 7 | **Is your feature request related to a problem? Please describe.** 8 | A clear and concise description of what the problem is. Ex. I'm always frustrated when [...] 9 | 10 | **Describe the solution you'd like** 11 | A clear and concise description of what you want to happen. 12 | 13 | **Describe alternatives you've considered** 14 | A clear and concise description of any alternative solutions or features you've considered. 15 | 16 | **Additional context** 17 | Add any other context or screenshots about the feature request here. 18 | -------------------------------------------------------------------------------- /assets/icons/drawerLoginIcon.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | -------------------------------------------------------------------------------- /store/blocks/quickview.jsonc: -------------------------------------------------------------------------------- 1 | { 2 | "modal-trigger#quickview": { 3 | "props": { 4 | "blockClass": "quickviewTrigger" 5 | }, 6 | "children": ["image#quickviewTrigger", "modal-layout#quickview"] 7 | }, 8 | "image#quickviewTrigger": { 9 | "props": { 10 | "src": "assets/icons/eyeIcon.svg", 11 | "blockClass": "quickviewTrigger" 12 | } 13 | }, 14 | "modal-layout#quickview": { 15 | "children": ["flex-layout.row#product-details", "modal-actions.close"], 16 | "props": { 17 | "blockClass": "quickviewContainer" 18 | } 19 | }, 20 | "modal-actions.close": { 21 | "props": { 22 | "label": "" 23 | } 24 | } 25 | } 26 | -------------------------------------------------------------------------------- /assets/icons/globe.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | -------------------------------------------------------------------------------- /styles/css/vtex.sku-list.css: -------------------------------------------------------------------------------- 1 | .skuContentWrapper { 2 | cursor: pointer; 3 | border-radius: 0; 4 | border-width: 0.0625rem; 5 | margin: 0 -0.5rem -0.0625rem; 6 | padding: 0.5rem 1rem; 7 | } 8 | 9 | .skuContentWrapper:focus { 10 | outline: none; 11 | } 12 | 13 | .skuContentWrapper:first-child { 14 | margin-top: -0.5rem; 15 | border-top-left-radius: 0.25rem; 16 | border-top-right-radius: 0.25rem; 17 | } 18 | 19 | .skuContentWrapper:last-child { 20 | margin-bottom: -0.5rem; 21 | border-bottom-left-radius: 0.25rem; 22 | border-bottom-right-radius: 0.25rem; 23 | } 24 | 25 | .itemHighlight, 26 | .priceContainer, 27 | .inventoryContainer, 28 | .highlightContent { 29 | padding: 0; 30 | } 31 | -------------------------------------------------------------------------------- /store/blocks/product/sku-selector.jsonc: -------------------------------------------------------------------------------- 1 | { 2 | "condition-layout.product#sku-selector-or-list": { 3 | "props": { 4 | "conditions": [ 5 | { 6 | "subject": "productId", 7 | "arguments": { "id": 1 } 8 | } 9 | ], 10 | "Then": "flex-layout.row#sku-list", 11 | "Else": "flex-layout.row#sku-selector" 12 | } 13 | }, 14 | 15 | "flex-layout.row#sku-selector": { 16 | "children": ["sku-selector#desktop"] 17 | }, 18 | 19 | "sku-selector#desktop": { 20 | "props": { 21 | "blockClass": ["desktop", "color-round"], 22 | "variationsSpacing": 0, 23 | "showValueNameForImageVariation": true, 24 | "showValueForVariation": "all" 25 | } 26 | } 27 | } 28 | -------------------------------------------------------------------------------- /styles/css/vtex.search.css: -------------------------------------------------------------------------------- 1 | .tileList .tileListList { 2 | display: grid; 3 | grid-template-columns: 1fr 1fr 1fr; 4 | grid-gap: 12px; 5 | padding: 0px 24px; 6 | margin: 0; 7 | } 8 | 9 | .tileListTitle { 10 | display: none; 11 | opacity: 0; 12 | } 13 | 14 | .biggy-autocomplete { 15 | padding-top: 0; 16 | } 17 | 18 | .tileList, 19 | .itemList--suggestion { 20 | padding-top: 24px; 21 | } 22 | 23 | .itemListTitle { 24 | font-size: 20px; 25 | line-height: 24px; 26 | font-weight: 500; 27 | color: #000; 28 | text-transform: initial; 29 | } 30 | 31 | @media (max-width: 64rem) { 32 | .biggy-autocomplete { 33 | padding: 0; 34 | } 35 | 36 | .tileList .tileListList { 37 | grid-template-columns: 1fr; 38 | } 39 | } 40 | -------------------------------------------------------------------------------- /store/blocks/institutional/about-us/sell.jsonc: -------------------------------------------------------------------------------- 1 | { 2 | "store.custom#sell": { 3 | "blocks": [ 4 | "flex-layout.row#institutional--sell", 5 | "flex-layout.row#newsletter" 6 | ] 7 | }, 8 | 9 | "flex-layout.row#institutional--sell": { 10 | "children": ["image#mobile-phone", "flex-layout.col#text--sell"] 11 | }, 12 | 13 | "flex-layout.col#text--sell": { 14 | "children": [ 15 | "rich-text#title--sell", 16 | "rich-text#institutional-placeholder" 17 | ], 18 | "props": { 19 | "blockclass": "textColumn", 20 | "preventVerticalStretch": true 21 | } 22 | }, 23 | 24 | "rich-text#title--sell": { 25 | "props": { 26 | "text": "# Sell with VTEX", 27 | "blockClass": "title" 28 | } 29 | } 30 | } 31 | -------------------------------------------------------------------------------- /store/blocks/institutional/about-us/careers.jsonc: -------------------------------------------------------------------------------- 1 | { 2 | "store.custom#careers": { 3 | "blocks": [ 4 | "flex-layout.row#institutional--careers", 5 | "flex-layout.row#newsletter" 6 | ] 7 | }, 8 | 9 | "flex-layout.row#institutional--careers": { 10 | "children": ["flex-layout.col#text--careers", "image#mobile-phone"] 11 | }, 12 | 13 | "flex-layout.col#text--careers": { 14 | "children": [ 15 | "rich-text#title--careers", 16 | "rich-text#institutional-placeholder" 17 | ], 18 | "props": { 19 | "blockclass": "textColumn", 20 | "preventVerticalStretch": true 21 | } 22 | }, 23 | 24 | "rich-text#title--careers": { 25 | "props": { 26 | "text": "# Careers", 27 | "blockClass": "title" 28 | } 29 | } 30 | } 31 | -------------------------------------------------------------------------------- /store/blocks/institutional/about-us/company.jsonc: -------------------------------------------------------------------------------- 1 | { 2 | "store.custom#company": { 3 | "blocks": [ 4 | "flex-layout.row#institutional--company", 5 | "flex-layout.row#newsletter" 6 | ] 7 | }, 8 | 9 | "flex-layout.row#institutional--company": { 10 | "children": ["image#mobile-phone", "flex-layout.col#text--company"] 11 | }, 12 | 13 | "flex-layout.col#text--company": { 14 | "children": [ 15 | "rich-text#title--company", 16 | "rich-text#institutional-placeholder" 17 | ], 18 | "props": { 19 | "blockclass": "textColumn", 20 | "preventVerticalStretch": true 21 | } 22 | }, 23 | 24 | "rich-text#title--company": { 25 | "props": { 26 | "text": "# Company", 27 | "blockClass": "title" 28 | } 29 | } 30 | } 31 | -------------------------------------------------------------------------------- /store/blocks/institutional/customer-service/pickup.jsonc: -------------------------------------------------------------------------------- 1 | { 2 | "store.custom#pickup": { 3 | "blocks": [ 4 | "flex-layout.row#institutional--pickup", 5 | "flex-layout.row#newsletter" 6 | ] 7 | }, 8 | 9 | "flex-layout.row#institutional--pickup": { 10 | "children": ["flex-layout.col#text--pickup", "image#mobile-phone"] 11 | }, 12 | 13 | "flex-layout.col#text--pickup": { 14 | "children": [ 15 | "rich-text#title--pickup", 16 | "rich-text#institutional-placeholder" 17 | ], 18 | "props": { 19 | "blockclass": "textColumn", 20 | "preventVerticalStretch": true 21 | } 22 | }, 23 | 24 | "rich-text#title--pickup": { 25 | "props": { 26 | "text": "# Store Pickup", 27 | "blockClass": "title" 28 | } 29 | } 30 | } 31 | -------------------------------------------------------------------------------- /store/blocks/institutional/customer-service/contact.jsonc: -------------------------------------------------------------------------------- 1 | { 2 | "store.custom#contact": { 3 | "blocks": [ 4 | "flex-layout.row#institutional--contact", 5 | "flex-layout.row#newsletter" 6 | ] 7 | }, 8 | 9 | "flex-layout.row#institutional--contact": { 10 | "children": ["image#mobile-phone", "flex-layout.col#text--contact"] 11 | }, 12 | 13 | "flex-layout.col#text--contact": { 14 | "children": [ 15 | "rich-text#title--contact", 16 | "rich-text#institutional-placeholder" 17 | ], 18 | "props": { 19 | "blockclass": "textColumn", 20 | "preventVerticalStretch": true 21 | } 22 | }, 23 | 24 | "rich-text#title--contact": { 25 | "props": { 26 | "text": "# Contact Us", 27 | "blockClass": "title" 28 | } 29 | } 30 | } 31 | -------------------------------------------------------------------------------- /store/blocks/institutional/customer-service/returns.jsonc: -------------------------------------------------------------------------------- 1 | { 2 | "store.custom#returns": { 3 | "blocks": [ 4 | "flex-layout.row#institutional--returns", 5 | "flex-layout.row#newsletter" 6 | ] 7 | }, 8 | 9 | "flex-layout.row#institutional--returns": { 10 | "children": ["flex-layout.col#text--returns", "image#mobile-phone"] 11 | }, 12 | 13 | "flex-layout.col#text--returns": { 14 | "children": [ 15 | "rich-text#title--returns", 16 | "rich-text#institutional-placeholder" 17 | ], 18 | "props": { 19 | "blockclass": "textColumn", 20 | "preventVerticalStretch": true 21 | } 22 | }, 23 | 24 | "rich-text#title--returns": { 25 | "props": { 26 | "text": "# Returns", 27 | "blockClass": "title" 28 | } 29 | } 30 | } 31 | -------------------------------------------------------------------------------- /store/blocks/institutional/services.jsonc: -------------------------------------------------------------------------------- 1 | { 2 | "store.custom#customer-services": { 3 | "blocks": [ 4 | "flex-layout.row#institutional--services", 5 | "flex-layout.row#newsletter" 6 | ] 7 | }, 8 | 9 | "flex-layout.row#institutional--services": { 10 | "children": ["image#mobile-phone", "flex-layout.col#text--services"] 11 | }, 12 | 13 | "flex-layout.col#text--services": { 14 | "children": [ 15 | "rich-text#title--services", 16 | "rich-text#institutional-placeholder" 17 | ], 18 | "props": { 19 | "blockclass": "textColumn", 20 | "preventVerticalStretch": true 21 | } 22 | }, 23 | 24 | "rich-text#title--services": { 25 | "props": { 26 | "text": "# Services", 27 | "blockClass": "title" 28 | } 29 | } 30 | } 31 | -------------------------------------------------------------------------------- /store/blocks/institutional/customer-service/recalls.jsonc: -------------------------------------------------------------------------------- 1 | { 2 | "store.custom#recalls": { 3 | "blocks": [ 4 | "flex-layout.row#institutional--recalls", 5 | "flex-layout.row#newsletter" 6 | ] 7 | }, 8 | 9 | "flex-layout.row#institutional--recalls": { 10 | "children": ["image#mobile-phone", "flex-layout.col#text--recalls"] 11 | }, 12 | 13 | "flex-layout.col#text--recalls": { 14 | "children": [ 15 | "rich-text#title--recalls", 16 | "rich-text#institutional-placeholder" 17 | ], 18 | "props": { 19 | "blockclass": "textColumn", 20 | "preventVerticalStretch": true 21 | } 22 | }, 23 | 24 | "rich-text#title--recalls": { 25 | "props": { 26 | "text": "# Product Recalls", 27 | "blockClass": "title" 28 | } 29 | } 30 | } 31 | -------------------------------------------------------------------------------- /store/blocks/institutional/about-us/locations.jsonc: -------------------------------------------------------------------------------- 1 | { 2 | "store.custom#locations": { 3 | "blocks": [ 4 | "flex-layout.row#institutional--locations", 5 | "flex-layout.row#newsletter" 6 | ] 7 | }, 8 | 9 | "flex-layout.row#institutional--locations": { 10 | "children": ["flex-layout.col#text--locations", "image#mobile-phone"] 11 | }, 12 | 13 | "flex-layout.col#text--locations": { 14 | "children": [ 15 | "rich-text#title--locations", 16 | "rich-text#institutional-placeholder" 17 | ], 18 | "props": { 19 | "blockclass": "textColumn", 20 | "preventVerticalStretch": true 21 | } 22 | }, 23 | 24 | "rich-text#title--locations": { 25 | "props": { 26 | "text": "# Locations", 27 | "blockClass": "title" 28 | } 29 | } 30 | } 31 | -------------------------------------------------------------------------------- /store/blocks/institutional/gift-cards.jsonc: -------------------------------------------------------------------------------- 1 | { 2 | "store.custom#gift-cards": { 3 | "blocks": [ 4 | "flex-layout.row#institutional--gift-cards", 5 | "flex-layout.row#newsletter" 6 | ] 7 | }, 8 | 9 | "flex-layout.row#institutional--gift-cards": { 10 | "children": ["flex-layout.col#text--gift-cards", "image#mobile-phone"] 11 | }, 12 | 13 | "flex-layout.col#text--gift-cards": { 14 | "children": [ 15 | "rich-text#title--gift-cards", 16 | "rich-text#institutional-placeholder" 17 | ], 18 | "props": { 19 | "blockclass": "textColumn", 20 | "preventVerticalStretch": true 21 | } 22 | }, 23 | 24 | "rich-text#title--gift-cards": { 25 | "props": { 26 | "text": "# Gift Cards", 27 | "blockClass": "title" 28 | } 29 | } 30 | } 31 | -------------------------------------------------------------------------------- /store/blocks/institutional/about-us/advertise.jsonc: -------------------------------------------------------------------------------- 1 | { 2 | "store.custom#advertise": { 3 | "blocks": [ 4 | "flex-layout.row#institutional--advertise", 5 | "flex-layout.row#newsletter" 6 | ] 7 | }, 8 | 9 | "flex-layout.row#institutional--advertise": { 10 | "children": ["image#mobile-phone", "flex-layout.col#text--advertise"] 11 | }, 12 | 13 | "flex-layout.col#text--advertise": { 14 | "children": [ 15 | "rich-text#title--advertise", 16 | "rich-text#institutional-placeholder" 17 | ], 18 | "props": { 19 | "blockclass": "textColumn", 20 | "preventVerticalStretch": true 21 | } 22 | }, 23 | 24 | "rich-text#title--advertise": { 25 | "props": { 26 | "text": "# Advertise with us", 27 | "blockClass": "title" 28 | } 29 | } 30 | } 31 | -------------------------------------------------------------------------------- /store/blocks/institutional/about-us/investors.jsonc: -------------------------------------------------------------------------------- 1 | { 2 | "store.custom#investors": { 3 | "blocks": [ 4 | "flex-layout.row#institutional--investors", 5 | "flex-layout.row#newsletter" 6 | ] 7 | }, 8 | 9 | "flex-layout.row#institutional--investors": { 10 | "children": ["flex-layout.col#text--investors", "image#mobile-phone"] 11 | }, 12 | 13 | "flex-layout.col#text--investors": { 14 | "children": [ 15 | "rich-text#title--investors", 16 | "rich-text#institutional-placeholder" 17 | ], 18 | "props": { 19 | "blockclass": "textColumn", 20 | "preventVerticalStretch": true 21 | } 22 | }, 23 | 24 | "rich-text#title--investors": { 25 | "props": { 26 | "text": "# Investor Relations", 27 | "blockClass": "title" 28 | } 29 | } 30 | } 31 | -------------------------------------------------------------------------------- /styles/css/vtex.store.css: -------------------------------------------------------------------------------- 1 | :global(.vtex-store__template), 2 | :global(.vtex-modal-layout-0-x-container), 3 | :global(.vtex-minicart-2-x-drawer), 4 | :global(.vtex-telemarketing-2-x-portalContainer), 5 | :global(.vtex-login-2-x-portalContainer) { 6 | --black-dark: #000000; 7 | --fresh-blue: #0067c7; 8 | --fresh-blue-dark: #0067c7; 9 | --fresh-blue-lightest: #f3f9ff; 10 | --fresh-orange: #ff5f00; 11 | --fresh-darkest: #003364; 12 | --green-dark: #468a2e; 13 | --black-medium: #717786; 14 | --b2b-header-blue-medium: #597298; 15 | --blue-medium: #597298; 16 | --b2b-blue-darkest: #1b3255; 17 | --lines-dark: #bdc9d6; 18 | --lines-darker: #a3afbc; 19 | --lines-light: #dee7ef; 20 | --serious-blue-dark: #214d8e; 21 | --serious-black: #142032; 22 | --serious-orange: #ff7d30; 23 | --base: #fff; 24 | } 25 | -------------------------------------------------------------------------------- /store/blocks/institutional/customer-service/help-center.jsonc: -------------------------------------------------------------------------------- 1 | { 2 | "store.custom#help-center": { 3 | "blocks": [ 4 | "flex-layout.row#institutional--help-center", 5 | "flex-layout.row#newsletter" 6 | ] 7 | }, 8 | 9 | "flex-layout.row#institutional--help-center": { 10 | "children": ["image#mobile-phone", "flex-layout.col#text--help-center"] 11 | }, 12 | 13 | "flex-layout.col#text--help-center": { 14 | "children": [ 15 | "rich-text#title--help-center", 16 | "rich-text#institutional-placeholder" 17 | ], 18 | "props": { 19 | "blockclass": "textColumn", 20 | "preventVerticalStretch": true 21 | } 22 | }, 23 | 24 | "rich-text#title--help-center": { 25 | "props": { 26 | "text": "# Help Center", 27 | "blockClass": "title" 28 | } 29 | } 30 | } 31 | -------------------------------------------------------------------------------- /store/blocks/header/search-bar.jsonc: -------------------------------------------------------------------------------- 1 | { 2 | "search-bar": { 3 | "blocks": [ 4 | "autocomplete-result-list.v2" 5 | ], 6 | "props": { 7 | "openAutocompleteOnFocus": true 8 | } 9 | }, 10 | "autocomplete-result-list.v2": { 11 | "blocks": [ 12 | "product-summary.shelf#searchBar" 13 | ], 14 | "props": { 15 | "simulationBehavior": "default", 16 | "maxSuggestedProducts": 6, 17 | "customBreakpoints": { 18 | "md": { 19 | "width": 100 20 | } 21 | } 22 | } 23 | }, 24 | "autocomplete-result-list.v2#mobile": { 25 | "blocks": [ 26 | "product-summary.shelf#searchBarMobile" 27 | ], 28 | "props": { 29 | "simulationBehavior": "default", 30 | "maxSuggestedProducts": 6, 31 | "autocompleteWidth": 92 32 | } 33 | } 34 | } 35 | -------------------------------------------------------------------------------- /store/blocks/institutional/customer-service/accessibility.jsonc: -------------------------------------------------------------------------------- 1 | { 2 | "store.custom#accessibility": { 3 | "blocks": [ 4 | "flex-layout.row#institutional--accessibility", 5 | "flex-layout.row#newsletter" 6 | ] 7 | }, 8 | 9 | "flex-layout.row#institutional--accessibility": { 10 | "children": ["flex-layout.col#text--accessibility", "image#mobile-phone"] 11 | }, 12 | 13 | "flex-layout.col#text--accessibility": { 14 | "children": [ 15 | "rich-text#title--accessibility", 16 | "rich-text#institutional-placeholder" 17 | ], 18 | "props": { 19 | "blockclass": "textColumn", 20 | "preventVerticalStretch": true 21 | } 22 | }, 23 | 24 | "rich-text#title--accessibility": { 25 | "props": { 26 | "text": "# Accessibility", 27 | "blockClass": "title" 28 | } 29 | } 30 | } 31 | -------------------------------------------------------------------------------- /styles/css/vtex.breadcrumb.css: -------------------------------------------------------------------------------- 1 | .homeLink--default { 2 | display: flex; 3 | align-items: center; 4 | padding-top: 0; 5 | padding-left: 0; 6 | padding-bottom: 0; 7 | } 8 | 9 | .container--default { 10 | align-items: center; 11 | display: flex; 12 | flex-wrap: wrap; 13 | padding: 0; 14 | } 15 | 16 | .arrow--default { 17 | display: flex; 18 | align-items: center; 19 | } 20 | 21 | .arrow--default, 22 | .caretIcon--default, 23 | .link--default, 24 | .term--default { 25 | color: var(--black-medium); 26 | font-size: 0.875rem; 27 | white-space: nowrap; 28 | } 29 | 30 | .arrow--default, 31 | .caretIcon--default { 32 | padding-left: 0; 33 | padding-right: 0.5rem; 34 | } 35 | 36 | .link--default, 37 | .termArrow--default, 38 | .term--default { 39 | padding: 0; 40 | } 41 | 42 | .homeLink--default { 43 | padding-right: 0.5rem; 44 | } 45 | -------------------------------------------------------------------------------- /.github/PULL_REQUEST_TEMPLATE.md: -------------------------------------------------------------------------------- 1 | #### What problem is this solving? 2 | 3 | 4 | 5 | #### How to test it? 6 | 7 | 8 | 9 | [Workspace](Link goes here!) 10 | 11 | #### Screenshots or example usage: 12 | 13 | 14 | 15 | #### Describe alternatives you've considered, if any. 16 | 17 | 18 | 19 | #### Related to / Depends on 20 | 21 | 22 | 23 | #### How does this PR make you feel? [:link:](http://giphy.com/) 24 | 25 | 26 | 27 | ![](put .gif link here - can be found under "advanced" on giphy) 28 | -------------------------------------------------------------------------------- /store/blocks/product/buy-together.jsonc: -------------------------------------------------------------------------------- 1 | { 2 | "product-kit#buy-together": { 3 | "blocks": ["product-summary.shelf#buy-together"] 4 | }, 5 | 6 | "product-summary.shelf#buy-together": { 7 | "children": ["flex-layout.row#buy-together-summary"] 8 | }, 9 | 10 | "flex-layout.row#buy-together-summary": { 11 | "children": [ 12 | "flex-layout.col#buy-together-summary-aside", 13 | "flex-layout.col#buy-together-summary-content" 14 | ] 15 | }, 16 | 17 | "flex-layout.col#buy-together-summary-aside": { 18 | "children": ["product-summary-image"] 19 | }, 20 | 21 | "flex-layout.col#buy-together-summary-content": { 22 | "children": [ 23 | "product-summary-name", 24 | "product-list-price", 25 | "product-selling-price", 26 | "product-price-savings", 27 | "product-installments" 28 | ] 29 | } 30 | } 31 | -------------------------------------------------------------------------------- /store/blocks/product/product-availability-and-quantity.jsonc: -------------------------------------------------------------------------------- 1 | { 2 | "flex-layout.row#product-availability-and-quantity": { 3 | "children": ["product-availability#desktop", "product-quantity#desktop"], 4 | "props": { 5 | "blockClass": ["items-center", "product-availability-and-quantity"], 6 | "colGap": 0, 7 | "preserveLayoutOnMobile": true, 8 | "preventVerticalStretch": true 9 | } 10 | }, 11 | 12 | "product-availability#desktop": { 13 | "props": { 14 | "blockClass": "desktop", 15 | "threshold": "10", 16 | "lowStockMessage": "Only {quantity} left!", 17 | "highStockMessage": "Item in stock!" 18 | } 19 | }, 20 | 21 | "product-quantity#desktop": { 22 | "props": { 23 | "blockClass": ["desktop"], 24 | "selectorType": "dropdown", 25 | "showLabel": false 26 | } 27 | } 28 | } 29 | -------------------------------------------------------------------------------- /assets/icons/heartIcon.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | -------------------------------------------------------------------------------- /assets/icons/heartFilled.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | -------------------------------------------------------------------------------- /store/blocks/product/product-images.jsonc: -------------------------------------------------------------------------------- 1 | { 2 | "product-images#desktop": { 3 | "props": { 4 | "blockClass": "desktop", 5 | "maxHeight": 448, 6 | "aspectRatio": "1:1", 7 | "showNavigationArrows": false, 8 | "showPaginationDots": false, 9 | "thumbnailAspectRatio": "1:1", 10 | "thumbnailMaxHeight": 100, 11 | "zoomMode": "in-place-hover" 12 | } 13 | }, 14 | 15 | "flex-layout.row#product-images": { 16 | "children": ["product-images#mobile"], 17 | "props": { 18 | "blockClass": ["product-images"], 19 | "marginBottom": 6 20 | } 21 | }, 22 | 23 | "product-images#mobile": { 24 | "props": { 25 | "blockClass": ["dots-around"], 26 | "aspectRatio": "1:1", 27 | "displayThumbnailsArrows": true, 28 | "showNavigationArrows": false, 29 | "showPaginationDots": true 30 | } 31 | } 32 | } 33 | -------------------------------------------------------------------------------- /styles/css/vtex.store-drawer.css: -------------------------------------------------------------------------------- 1 | .drawer--menuDrawer, 2 | .overlay--menuDrawer { 3 | z-index: 999; 4 | } 5 | 6 | .openIconContainer { 7 | display: flex; 8 | align-items: center; 9 | padding: 0; 10 | } 11 | 12 | .closeIconButton--menuDrawer { 13 | margin-left: auto; 14 | } 15 | 16 | .closeIconContainer--menuDrawer { 17 | background: #f3f9ff; 18 | margin-bottom: 40px; 19 | } 20 | 21 | .menuIcon { 22 | border: 1px solid #dee7ef; 23 | border-radius: 4px; 24 | box-sizing: border-box; 25 | color: #fff; 26 | height: 48px; 27 | padding: 16px 18px; 28 | width: 58px; 29 | } 30 | 31 | .childrenContainer--menuDrawer { 32 | padding: 0px 24px; 33 | } 34 | 35 | @media (max-width: 64rem) { 36 | .openIconContainer { 37 | margin-right: 16px; 38 | } 39 | 40 | .menuIcon { 41 | border-radius: 0; 42 | height: 14px; 43 | padding: 0; 44 | border: 0; 45 | width: 20px; 46 | } 47 | } 48 | -------------------------------------------------------------------------------- /store/blocks/product/buy-buttons.jsonc: -------------------------------------------------------------------------------- 1 | { 2 | "flex-layout.row#buy-buttons": { 3 | "children": ["flex-layout.col#buy-buttons"], 4 | "props": { 5 | "blockClass": "buy-buttons" 6 | } 7 | }, 8 | 9 | "flex-layout.col#buy-buttons": { 10 | "children": ["flex-layout.row#add-to-cart"], 11 | "props": { 12 | "blockClass": "buy-buttons", 13 | "rowGap": 3 14 | } 15 | }, 16 | 17 | "flex-layout.row#add-to-cart": { 18 | "children": ["add-to-cart-button"], 19 | "props": { 20 | "blockClass": "add-to-cart" 21 | } 22 | }, 23 | 24 | "flex-layout.row#buy-now": { 25 | "children": ["add-to-cart-button#buy-now"], 26 | "props": { 27 | "blockClass": "buy-now" 28 | } 29 | }, 30 | 31 | "add-to-cart-button#buy-now": { 32 | "props": { 33 | "blockClass": "buy-now", 34 | "isOneClickBuy": true, 35 | "text": "Buy Now" 36 | } 37 | } 38 | } 39 | -------------------------------------------------------------------------------- /styles/css/vtex.wish-list.css: -------------------------------------------------------------------------------- 1 | .wishlistIconContainer { 2 | position: absolute; 3 | width: 38px; 4 | height: 38px; 5 | display: block; 6 | border-radius: 50%; 7 | background: #f3f9fe; 8 | transition: all .3s ease; 9 | opacity: 0; 10 | text-align: center; 11 | } 12 | 13 | .wishlistIconContainer :global(.vtex-button):hover, 14 | .wishlistIconContainer :global(.vtex-button){ 15 | outline: none; 16 | background: none; 17 | } 18 | 19 | .wishlistIconContainer :global(.vtex-button__label){ 20 | padding: 0; 21 | } 22 | 23 | .wishlistIcon.outline { 24 | background: url("assets/icons/heartIcon.svg"); 25 | background-repeat: no-repeat; 26 | background-size: contain; 27 | width: 19px; 28 | height: 15px; 29 | } 30 | 31 | .wishlistIcon.fill { 32 | background: url("assets/icons/heartFilled.svg"); 33 | background-repeat: no-repeat; 34 | background-size: contain; 35 | width: 19px; 36 | height: 15px; 37 | } -------------------------------------------------------------------------------- /store/blocks/components/product-summary-prices.jsonc: -------------------------------------------------------------------------------- 1 | { 2 | "check-permission#product-summary-price": { 3 | "props": { 4 | "roles": [ 5 | "store-admin", 6 | "sales-admin", 7 | "sales-manager", 8 | "sales-representative", 9 | "customer-admin", 10 | "customer-approver", 11 | "customer-buyer" 12 | ] 13 | }, 14 | "blocks": [ 15 | "allowed-content#product-price", 16 | "disallowed-content#product-price" 17 | ] 18 | }, 19 | "allowed-content#product-summary-price": { 20 | "children": ["product-summary-price"] 21 | }, 22 | "disallowed-content#product-summary-price": { 23 | "children": ["rich-text#product-summary-price"] 24 | }, 25 | "rich-text#product-summary-price": { 26 | "props": { 27 | "blockClass": ["product-summary-price-message"], 28 | "text": "Log in or sign up to view prices" 29 | } 30 | } 31 | } 32 | -------------------------------------------------------------------------------- /styles/configs/font-faces.css: -------------------------------------------------------------------------------- 1 | @font-face { 2 | font-family: "Roboto"; 3 | font-style: normal; 4 | font-weight: 400; 5 | src: local("Roboto"), local("Roboto-Regular"), 6 | url("assets/fonts/roboto-v20-latin-regular.woff2") format("woff2"), 7 | url("assets/fonts/roboto-v20-latin-regular.woff") format("woff"); 8 | } 9 | 10 | @font-face { 11 | font-family: "Roboto"; 12 | font-style: normal; 13 | font-weight: 500; 14 | src: local("Roboto Medium"), local("Roboto-Medium"), 15 | url("assets/fonts/roboto-v20-latin-500.woff2") format("woff2"), 16 | url("assets/fonts/roboto-v20-latin-500.woff") format("woff"); 17 | } 18 | 19 | @font-face { 20 | font-family: "Roboto"; 21 | font-style: normal; 22 | font-weight: 700; 23 | src: local("Roboto Bold"), local("Roboto-Bold"), 24 | url("assets/fonts/roboto-v20-latin-700.woff2") format("woff2"), 25 | url("assets/fonts/roboto-v20-latin-700.woff") format("woff"); 26 | } 27 | -------------------------------------------------------------------------------- /.github/ISSUE_TEMPLATE/bug_report.md: -------------------------------------------------------------------------------- 1 | --- 2 | name: Bug report 3 | about: Create a report to help us improve 4 | 5 | --- 6 | 7 | **Describe the bug** 8 | A clear and concise description of what the bug is. 9 | 10 | **To Reproduce** 11 | Steps to reproduce the behavior: 12 | 1. Go to '...' 13 | 2. Click on '....' 14 | 3. Scroll down to '....' 15 | 4. See error 16 | 17 | **Expected behavior** 18 | A clear and concise description of what you expected to happen. 19 | 20 | **Screenshots** 21 | If applicable, add screenshots to help explain your problem. 22 | 23 | **Desktop (please complete the following information):** 24 | - OS: [e.g. iOS] 25 | - Browser [e.g. chrome, safari] 26 | - Version [e.g. 22] 27 | 28 | **Smartphone (please complete the following information):** 29 | - Device: [e.g. iPhone6] 30 | - OS: [e.g. iOS8.1] 31 | - Browser [e.g. stock browser, safari] 32 | - Version [e.g. 22] 33 | 34 | **Additional context** 35 | Add any other context about the problem here. 36 | -------------------------------------------------------------------------------- /styles/css/vtex.login.css: -------------------------------------------------------------------------------- 1 | .container :global(.vtex-button) { 2 | border: 1px solid #fff; 3 | border-radius: 4px; 4 | width: 176px; 5 | height: 48px; 6 | } 7 | 8 | .container :global(.vtex-button__label) { 9 | padding: 0 0 0 0; 10 | } 11 | 12 | .label { 13 | color: #fff; 14 | text-transform: initial; 15 | font-size: 16px; 16 | line-height: 24px; 17 | } 18 | 19 | .profile { 20 | color: #fff; 21 | } 22 | 23 | .sendButton :global(.vtex-button) { 24 | background: #214d8e; 25 | border: none; 26 | } 27 | 28 | @media (max-width: 64rem) { 29 | .profile { 30 | display: block; 31 | } 32 | 33 | .container :global(.vtex-button) { 34 | width: 74px; 35 | height: 32px; 36 | border-color: #fff; 37 | } 38 | 39 | .label { 40 | display: block; 41 | color: #fff; 42 | font-size: 0; 43 | padding: 0; 44 | } 45 | 46 | .label::after { 47 | content: "Sing in"; 48 | font-family: Roboto; 49 | font-size: 14px; 50 | line-height: 32px; 51 | font-weight: 500; 52 | } 53 | } 54 | -------------------------------------------------------------------------------- /store/blocks/institutional.jsonc: -------------------------------------------------------------------------------- 1 | { 2 | "image#mobile-phone": { 3 | "props": { 4 | "src": "https://storecomponents.vteximg.com.br/arquivos/mobile-phone.png", 5 | "maxHeight": "", 6 | "maxWidth": "", 7 | "blockClass": "storePrint" 8 | } 9 | }, 10 | 11 | "rich-text#institutional-placeholder": { 12 | "props": { 13 | "text": "**Optimized store framework** \n Free your front-end with our React + Node store framework. Improve usability and SEO, while driving more conversion with modular components, single page applications, and a ready-for-PWA structure. \n\n **Multi-currency and language** \n Go international with multiple storefronts to support different languages and easily manage local currencies and payment conditions. \n\n **Serverless development platform** \n Reduce loading time, improve usability, and make the best out of SEO. Developing scalable components with a comprehensive, easy-to-use toolset, you can build stores faster than ever.", 14 | "blockClass": "about" 15 | } 16 | } 17 | } 18 | -------------------------------------------------------------------------------- /store/blocks/shopper-location.jsonc: -------------------------------------------------------------------------------- 1 | { 2 | "shopper-location": { 3 | "children": ["modal-trigger#address"] 4 | }, 5 | "modal-trigger#address": { 6 | "children": ["user-address", "modal-layout#address"] 7 | }, 8 | "user-address": { 9 | "props": { 10 | "variation": "bar", 11 | "showStreet": false, 12 | "showCityAndState": true, 13 | "showPostalCode": true, 14 | "showPrefix": false, 15 | "showIfEmpty": true 16 | } 17 | }, 18 | "modal-layout#address": { 19 | "children": ["modal-header#address", "modal-content#address"] 20 | }, 21 | "modal-header#address": { 22 | "children": ["flex-layout.col#address-header"] 23 | }, 24 | "flex-layout.col#address-header": { 25 | "children": ["rich-text#address-header"], 26 | "props": { 27 | "paddingLeft": 5 28 | } 29 | }, 30 | "rich-text#address-header": { 31 | "props": { 32 | "text": "### Change Location" 33 | } 34 | }, 35 | "modal-content#address": { 36 | "children": ["change-location"] 37 | } 38 | } 39 | -------------------------------------------------------------------------------- /assets/icons/cartIcon.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | -------------------------------------------------------------------------------- /assets/icons/cartIconB2B.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | -------------------------------------------------------------------------------- /store/blocks/product/also-view.jsonc: -------------------------------------------------------------------------------- 1 | { 2 | "flex-layout.row#alsoView": { 3 | "children": ["flex-layout.col#alsoView"], 4 | "props": { 5 | "blockClass": ["relative", "bg-base", "z-998"] 6 | } 7 | }, 8 | "flex-layout.col#alsoView": { 9 | "children": [ 10 | "rich-text#alsoViewTitle", 11 | "list-context.product-list#alsoView" 12 | ] 13 | }, 14 | "rich-text#alsoViewTitle": { 15 | "props": { 16 | "text": "### Customers also viewed", 17 | "blockClass": "alsoView" 18 | } 19 | }, 20 | "list-context.product-list#alsoView": { 21 | "children": ["slider-layout#alsoView"], 22 | "blocks": ["product-summary.shelf#normal"], 23 | "props": { 24 | "orderBy": "OrderByTopSaleDESC", 25 | "maxItems": 12 26 | } 27 | }, 28 | "slider-layout#alsoView": { 29 | "props": { 30 | "itemsPerPage": { 31 | "desktop": 6, 32 | "tablet": 4, 33 | "phone": 2 34 | }, 35 | "infinite": false, 36 | "fullWidth": true, 37 | "blockClass": "shelfAlsoView", 38 | "showNavigationArrows": "desktopOnly" 39 | } 40 | } 41 | } 42 | -------------------------------------------------------------------------------- /styles/css/vtex.product-comparison.css: -------------------------------------------------------------------------------- 1 | .drawerContainer { 2 | z-index: 6; 3 | } 4 | 5 | .productSelectorContainer { 6 | opacity: 0; 7 | transition: all 0.3s ease; 8 | } 9 | 10 | .productSelectorContainer :global(.vtex-checkbox__line-container) { 11 | justify-content: center; 12 | } 13 | 14 | .productSelectorContainer :global(.vtex-checkbox__label) { 15 | width: auto; 16 | } 17 | 18 | .productSelectorContainer :global(.vtex-checkbox__inner-container) { 19 | width: 20px; 20 | height: 20px; 21 | border-width: 1px; 22 | } 23 | 24 | .productSelectorContainer :global(.vtex-checkbox__container), 25 | .productSelectorContainer :global(.vtex-checkbox__input) { 26 | width: 20px; 27 | height: 20px; 28 | } 29 | 30 | .imageElement--paymentImage { 31 | margin: 0px auto; 32 | } 33 | .showDifferencesContainer :global(.vtex-checkbox__inner-container), 34 | .productSelectorContainer :global(.vtex-checkbox__inner-container) { 35 | border-color: #a3afbc; 36 | } 37 | 38 | .productSelectorContainer :global(.vtex-checkbox__box-wrapper) { 39 | width: 20px; 40 | height: 20px; 41 | } 42 | 43 | .productSelectorContainer :global(.vtex__icon-check) { 44 | width: 16px; 45 | height: 16px; 46 | } 47 | -------------------------------------------------------------------------------- /store/blocks/wishlist.jsonc: -------------------------------------------------------------------------------- 1 | { 2 | "my-account-link.wishlist-link": { 3 | "props": { 4 | "label": "My Wishlist" 5 | } 6 | }, 7 | "my-account-page.wishlist-page": { 8 | "children": ["flex-layout.row#top", "list-context.wishlist"] 9 | }, 10 | "list-context.wishlist": { 11 | "blocks": ["product-summary.shelf#wishlist"], 12 | "children": ["slider-layout#wishlist"] 13 | }, 14 | "product-summary.shelf#wishlist": { 15 | "props": { 16 | "blockClass": "summaryComplete" 17 | }, 18 | "children": [ 19 | "flex-layout.row#stackSavings", 20 | "product-summary-brand", 21 | "product-summary-name", 22 | "product-rating-summary", 23 | "product-summary-price", 24 | "flex-layout.row#product-summary-buy-button", 25 | "add-to-list-btn", 26 | "modal-trigger#quickview" 27 | ] 28 | }, 29 | "slider-layout#wishlist": { 30 | "props": { 31 | "itemsPerPage": { 32 | "desktop": 5, 33 | "tablet": 3, 34 | "phone": 1 35 | }, 36 | "infinite": false, 37 | "fullWidth": true, 38 | "showPaginationDots": "desktopOnly", 39 | "showNavigationArrows": "desktopOnly", 40 | "blockClass": "shelfStyle1" 41 | } 42 | } 43 | } 44 | -------------------------------------------------------------------------------- /styles/css/vtex.styleguide.css: -------------------------------------------------------------------------------- 1 | :global(.vtex-input-prefix__group), 2 | :global(.vtex-dropdown__container), 3 | :global(.vtex-input) { 4 | border-width: 1px; 5 | } 6 | 7 | :global(.vtex-input-prefix__group), 8 | .container:global(.vtex-dropdown__container) { 9 | border-color: var(--lines-darker); 10 | } 11 | 12 | .jsFocusVisible :global(.vtex__icon-caret-down), 13 | .jsFocusVisible :global(.vtex__icon-caret-up) { 14 | background-color: transparent; 15 | background-position: center; 16 | background-repeat: no-repeat; 17 | background-size: auto; 18 | color: transparent; 19 | } 20 | 21 | .jsFocusVisible :global(.vtex__icon-caret-down) { 22 | background-image: url("data:image/svg+xml,%3Csvg width='12' height='7' viewBox='0 0 12 7' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M1 1L6 6L11 1' stroke='%230067C7' stroke-width='1.6' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E%0A"); 23 | } 24 | 25 | .jsFocusVisible :global(.vtex__icon-caret-up) { 26 | background-image: url("data:image/svg+xml,%3Csvg width='14' height='8' viewBox='0 0 14 8' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M13 7L7 1L1 7' stroke='%23a3afbc' stroke-width='1.6' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E%0A"); 27 | } 28 | -------------------------------------------------------------------------------- /styles/css/vtex.locale-switcher.css: -------------------------------------------------------------------------------- 1 | .button { 2 | padding: 8px 48px 8px 16px; 3 | border: 1px solid rgba(255, 255, 255, 0.4); 4 | border-radius: 4px; 5 | height: 42px; 6 | position: relative; 7 | } 8 | 9 | .globeIcon { 10 | color: rgba(255, 255, 255, 0.4); 11 | margin-right: 8px; 12 | } 13 | 14 | .buttonText { 15 | color: #fff; 16 | } 17 | 18 | .button::after { 19 | content: url("assets/icons/chevronDownSwitcher.svg"); 20 | position: absolute; 21 | right: 16px; 22 | top: 45%; 23 | transform: translateY(-50%); 24 | } 25 | 26 | .container--locationDrawer { 27 | width: auto; 28 | display: flex; 29 | justify-content: start; 30 | margin: 0; 31 | } 32 | 33 | .buttonText--locationDrawer { 34 | color: #000; 35 | font-size: 16px; 36 | line-height: 32px; 37 | } 38 | 39 | .button--locationDrawer { 40 | padding: 0; 41 | border: none; 42 | } 43 | 44 | .button--locationDrawer::before { 45 | content: url("assets/icons/globe.svg"); 46 | width: 20px; 47 | height: 20px; 48 | margin-right: 16px; 49 | } 50 | 51 | .button--locationDrawer::after { 52 | content: none; 53 | } 54 | 55 | .globeIcon--locationDrawer { 56 | display: none; 57 | opacity: 0; 58 | } 59 | 60 | @media (max-width: 64rem) { 61 | .button { 62 | border: none; 63 | } 64 | } 65 | -------------------------------------------------------------------------------- /styles/css/vtex.wordpress-integration.css: -------------------------------------------------------------------------------- 1 | .categoryBlockTitle, 2 | .categoryBlockLink { 3 | display: none; 4 | } 5 | 6 | .categoryBlockContainer, 7 | .categoryBlockFlex { 8 | margin: 0; 9 | padding: 0; 10 | } 11 | 12 | .categoryBlockFlex { 13 | margin-left: -1rem; 14 | margin-right: -1rem; 15 | } 16 | 17 | .categoryBlockFlexItem { 18 | margin: 0; 19 | padding-left: 1rem; 20 | padding-right: 1rem; 21 | width: 50%; 22 | } 23 | 24 | .categoryBlockFlexItem:first-child { 25 | width: 100%; 26 | } 27 | 28 | @media (min-width: 64em) { 29 | .categoryBlockFlexItem, 30 | .categoryBlockFlexItem:first-child { 31 | width: 25%; 32 | } 33 | } 34 | 35 | .categoryBlockFlexItem :global(.vtex-card) { 36 | box-shadow: none !important; 37 | } 38 | 39 | .teaserImage { 40 | border-radius: 0.25rem; 41 | height: auto; 42 | margin-bottom: 1rem; 43 | width: 100%; 44 | } 45 | 46 | .teaserTitle, 47 | .teaserTitleLink, 48 | .teaserBody { 49 | padding: 0; 50 | margin: 0; 51 | } 52 | 53 | .teaserTitle, 54 | .teaserTitleLink { 55 | color: #000; 56 | font-size: 1rem; 57 | line-height: 1.25; 58 | font-weight: 500; 59 | margin-bottom: 8px; 60 | text-decoration: none; 61 | } 62 | 63 | .teaserBody { 64 | font-size: 0.875rem; 65 | line-height: 1.2857142857; 66 | color: #717786; 67 | margin-bottom: 24px; 68 | } 69 | -------------------------------------------------------------------------------- /store/blocks/product/fake-summary.jsonc: -------------------------------------------------------------------------------- 1 | { 2 | "flex-layout.row#fake-summary": { 3 | "children": [ 4 | "product-images#fake-summary", 5 | "flex-layout.col#fake-summary-details" 6 | ], 7 | "props": { 8 | "blockClass": ["items-center", "fake-summary", "visible-sticky"], 9 | "colSizing": "auto", 10 | "colGap": 5, 11 | "preserveLayoutOnMobile": true, 12 | "preventHorizontalStretch": true, 13 | "preventVerticalStretch": true 14 | } 15 | }, 16 | 17 | "product-images#fake-summary": { 18 | "props": { 19 | "blockClass": "fake-summary", 20 | "aspectRatio": "1:1", 21 | "displayThumbnailsArrows": false, 22 | "maxHeight": 96, 23 | "showNavigationArrows": false, 24 | "showPaginationDots": false, 25 | "thumbnailMaxHeight": 0, 26 | "zoomMode": "disabled", 27 | "contentType": "images" 28 | } 29 | }, 30 | 31 | "flex-layout.col#fake-summary-details": { 32 | "children": [ 33 | "vtex.store-components:product-name#fake-summary", 34 | "product-sku-attributes#fake-summary" 35 | ] 36 | }, 37 | 38 | "product-sku-attributes#fake-summary": { 39 | "props": { 40 | "blockClass": ["fake-summary", "inline"] 41 | } 42 | }, 43 | 44 | "vtex.store-components:product-name#fake-summary": { 45 | "props": { 46 | "blockClass": "fake-summary" 47 | } 48 | } 49 | } 50 | -------------------------------------------------------------------------------- /styles/css/vtex.minicart.css: -------------------------------------------------------------------------------- 1 | .drawer { 2 | z-index: 999; 3 | } 4 | 5 | .minicartIconContainer { 6 | color: #fff; 7 | } 8 | 9 | .closeIconContainer::before { 10 | content: "My cart"; 11 | font-size: 24px; 12 | line-height: 32px; 13 | font-family: Roboto; 14 | color: #000; 15 | font-weight: 500; 16 | } 17 | 18 | .closeIconButton { 19 | margin-left: auto; 20 | padding: 12px 0px; 21 | } 22 | 23 | .closeIconContainer { 24 | background: #f3f9ff; 25 | align-items: center; 26 | padding: 0px 24px; 27 | } 28 | 29 | .minicartTitle { 30 | display: none; 31 | opacity: 0; 32 | } 33 | 34 | .openIconContainer { 35 | padding: 0; 36 | } 37 | 38 | .openIconContainer :global(.vtex-button) { 39 | border: none; 40 | border-radius: 0; 41 | outline: none; 42 | } 43 | 44 | .minicartQuantityBadge { 45 | background-color: #ff5f00; 46 | font-weight: 700; 47 | } 48 | 49 | .minicartCheckoutButton { 50 | padding: 12px 16px 16px; 51 | margin: 0; 52 | } 53 | 54 | .minicartCheckoutButton :global(.vtex-button) { 55 | height: 52px; 56 | background: #ff5f00; 57 | border-radius: 4px; 58 | border: none; 59 | font-weight: 700; 60 | font-family: Roboto; 61 | font-size: 18px; 62 | line-height: 28px; 63 | outline: none; 64 | } 65 | 66 | @media (max-width: 64rem) { 67 | .openIconContainer { 68 | padding: 0; 69 | } 70 | 71 | .drawer { 72 | width: 100% !important; 73 | } 74 | } 75 | -------------------------------------------------------------------------------- /assets/icons/phoneIcon.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | -------------------------------------------------------------------------------- /styles/css/vtex.store-newsletter.css: -------------------------------------------------------------------------------- 1 | .emailInputContainer :global(.vtex-input-prefix__group) { 2 | height: initial; 3 | border: none; 4 | border-top-right-radius: 0; 5 | border-bottom-right-radius: 0; 6 | } 7 | 8 | .emailInputContainer :global(.vtex-styleguide-9-x-input) { 9 | background: #fff; 10 | border: none; 11 | border-top-right-radius: 0; 12 | border-bottom-right-radius: 0; 13 | color: var(--black-medium); 14 | font-size: 1.25rem; 15 | height: 3.5rem; 16 | line-height: 1.2; 17 | } 18 | 19 | .emailInputContainer :global(.vtex-styleguide-9-x-input)::placeholder { 20 | color: var(--black-medium); 21 | font-size: 20px; 22 | line-height: 24px; 23 | } 24 | 25 | .formSubmitContainer :global(.vtex-button) { 26 | background: #fff; 27 | border: none; 28 | border-top-left-radius: 0; 29 | border-bottom-left-radius: 0; 30 | color: var(--fresh-blue); 31 | height: 3.5rem; 32 | font-size: 1rem; 33 | font-weight: bold; 34 | line-height: 1.5; 35 | padding: 0 1.5rem; 36 | outline: none; 37 | } 38 | 39 | .formSubmitContainer :global(.vtex-button__label) { 40 | padding: 0 !important; 41 | } 42 | 43 | @media (max-width: 64rem) { 44 | .emailInputContainer :global(.vtex-styleguide-9-x-input)::placeholder, 45 | .emailInputContainer :global(.vtex-styleguide-9-x-input) { 46 | font-size: 18px; 47 | line-height: 20px; 48 | } 49 | 50 | .formSubmitContainer :global(.vtex-button) { 51 | font-size: 14px; 52 | } 53 | } 54 | -------------------------------------------------------------------------------- /store/blocks/newsletter.jsonc: -------------------------------------------------------------------------------- 1 | { 2 | // Deprecated 3 | "newsletter": { 4 | "props": { 5 | "label": "Get news and special offers!", 6 | "placeholder": "Email address", 7 | "submit": "submit" 8 | } 9 | }, 10 | 11 | "flex-layout.row#newsletter": { 12 | "children": ["rich-text#newsletter-title", "newsletter-form"], 13 | "props": { 14 | "blockClass": ["items-center", "bg-blue-medium", "c-on-base--inverted"], 15 | "paddingBottom": { 16 | "desktop": 0, 17 | "mobile": 7 18 | }, 19 | "fullWidth": false 20 | } 21 | }, 22 | 23 | "rich-text#newsletter-title": { 24 | "props": { 25 | "blockClass": ["newsletter-title"], 26 | "text": "### Get news and special offers!", 27 | "textColor": "c-on-base--inverted" 28 | } 29 | }, 30 | 31 | "newsletter-form": { 32 | "children": ["flex-layout.row#newsletter-content"] 33 | }, 34 | 35 | "flex-layout.row#newsletter-content": { 36 | "children": ["flex-layout.col#newsletter-input-email", "newsletter-submit"], 37 | "props": { 38 | "colGap": 0, 39 | "colSizing": "auto", 40 | "fullWidth": true, 41 | "preserveLayoutOnMobile": true, 42 | "preventHorizontalStretch": true, 43 | "preventVerticalStretch": true 44 | } 45 | }, 46 | 47 | "flex-layout.col#newsletter-input-email": { 48 | "children": ["newsletter-input-email"], 49 | "props": { 50 | "width": "grow" 51 | } 52 | } 53 | } 54 | -------------------------------------------------------------------------------- /store/blocks/components/trending.jsonc: -------------------------------------------------------------------------------- 1 | { 2 | "flex-layout.row#trending": { 3 | "children": [ 4 | "flex-layout.col#trending" 5 | ], 6 | "props": { 7 | "blockClass": "trendingSection" 8 | } 9 | }, 10 | "flex-layout.col#trending": { 11 | "children": [ 12 | "flex-layout.row#trendingHead", 13 | "list-context.product-list#trending" 14 | ] 15 | }, 16 | "flex-layout.row#trendingHead": { 17 | "children": [ 18 | "rich-text#trendingTitle", 19 | "link#trending" 20 | ], 21 | "props": { 22 | "blockClass": "trendingHead", 23 | "preventHorizontalStretch": true, 24 | "preserveLayoutOnMobile": true 25 | } 26 | }, 27 | "rich-text#trendingTitle": { 28 | "props": { 29 | "text": "### What's trending", 30 | "blockClass": "trendingTitle" 31 | } 32 | }, 33 | "link#trending": { 34 | "props": { 35 | "label": "See all", 36 | "blockClass": "trendingLink", 37 | "href": "/trending" 38 | } 39 | }, 40 | "list-context.product-list#trending": { 41 | "blocks": [ 42 | "product-summary.shelf#trending" 43 | ], 44 | "children": [ 45 | "slider-layout#trendingProducts" 46 | ], 47 | "props": { 48 | "orderBy": "OrderByTopSaleDESC", 49 | "maxItems": "6" 50 | } 51 | }, 52 | "slider-layout#trendingProducts": { 53 | "props": { 54 | "itemsPerPage": { 55 | "desktop": 6, 56 | "tablet": 6, 57 | "phone": 6 58 | }, 59 | "infinite": false, 60 | "fullWidth": true, 61 | "blockClass": "shelfTrending" 62 | } 63 | } 64 | } -------------------------------------------------------------------------------- /store/blocks/product.jsonc: -------------------------------------------------------------------------------- 1 | { 2 | "store.product": { 3 | "children": [ 4 | "responsive-layout.mobile#product", 5 | "responsive-layout.desktop#product" 6 | ] 7 | }, 8 | "responsive-layout.mobile#product": { 9 | "children": [ 10 | "flex-layout.row#breadcrumb", 11 | "flex-layout.row#brand-and-rating", 12 | "flex-layout.row#product-name", 13 | "flex-layout.row#product-identifier", 14 | "flex-layout.row#product-images", 15 | "flex-layout.row#sku-selector", 16 | "flex-layout.row#assembly-options", 17 | "flex-layout.row#divider", 18 | "flex-layout.row#box", 19 | "product-kit#buy-together", 20 | "flex-layout.row#description-and-gallery", 21 | "flex-layout.row#features", 22 | "flex-layout.row#specification", 23 | "check-permission#sticky-buy", 24 | "flex-layout.row#reviews-and-ratings", 25 | "flex-layout.row#alsoView" 26 | ] 27 | }, 28 | "responsive-layout.desktop#product": { 29 | "children": ["flex-layout.row#product", "flex-layout.row#alsoView"] 30 | }, 31 | "flex-layout.row#product": { 32 | "children": ["flex-layout.col#product"] 33 | }, 34 | "flex-layout.col#product": { 35 | "children": [ 36 | "flex-layout.row#breadcrumb", 37 | "flex-layout.row#product-details", 38 | "product-kit#buy-together", // This block won't work if it's not a direct children of store.product 39 | "flex-layout.row#description-and-gallery", 40 | "flex-layout.row#features", 41 | "flex-layout.row#specification", 42 | "flex-layout.row#reviews-and-ratings" 43 | ] 44 | } 45 | } 46 | -------------------------------------------------------------------------------- /store/blocks/challenges.jsonc: -------------------------------------------------------------------------------- 1 | { 2 | "check-permission#reseller": { 3 | "props": { 4 | "roles": [ 5 | "store-admin", 6 | "sales-admin", 7 | "sales-manager", 8 | "sales-representative", 9 | "customer-admin", 10 | "customer-approver", 11 | "customer-buyer" 12 | ] 13 | }, 14 | "blocks": [ 15 | "allowed-content#reseller", 16 | "disallowed-content#reseller" 17 | ] 18 | }, 19 | "allowed-content#reseller": { 20 | "children": [ 21 | "link#orderQuote" 22 | ], 23 | "props": { 24 | "blockClass": "resellerChallengeContent" 25 | } 26 | }, 27 | "disallowed-content#reseller": { 28 | "children": [ 29 | "link#reseller" 30 | ], 31 | "props": { 32 | "blockClass": "resellerChallengeFallback" 33 | } 34 | }, 35 | "check-permission#login": { 36 | "props": { 37 | "roles": [ 38 | "store-admin", 39 | "sales-admin", 40 | "sales-manager", 41 | "sales-representative", 42 | "customer-admin", 43 | "customer-approver", 44 | "customer-buyer" 45 | ] 46 | }, 47 | "blocks": [ 48 | "allowed-content#reseller", 49 | "disallowed-content#reseller" 50 | ] 51 | }, 52 | "allowed-content#login": { 53 | "children": [ 54 | "link#profile" 55 | ], 56 | "props": { 57 | "blockClass": "loginChallengeContent" 58 | } 59 | }, 60 | "disallowed-content#login": { 61 | "children": [ 62 | "login#mobile" 63 | ], 64 | "props": { 65 | "blockClass": "loginChallengeFallback" 66 | } 67 | } 68 | } 69 | -------------------------------------------------------------------------------- /styles/css/vtex.menu.css: -------------------------------------------------------------------------------- 1 | .menuContainer--flexCol { 2 | display: flex; 3 | flex-flow: column nowrap; 4 | } 5 | 6 | .styledLinkContainer--flexCol { 7 | margin: 0; 8 | padding: 0; 9 | } 10 | 11 | .styledLink--flexCol { 12 | color: #fff; 13 | font-size: 14px; 14 | line-height: 28px; 15 | font-family: Roboto; 16 | font-weight: 500; 17 | } 18 | 19 | .menuContainer--menuDrawer { 20 | flex-flow: column nowrap; 21 | } 22 | 23 | .styledLinkContainer--departItem { 24 | margin: 0; 25 | padding: 0; 26 | } 27 | 28 | .styledLinkContent--departItem { 29 | font-size: 16px; 30 | line-height: 44px; 31 | font-family: Roboto; 32 | color: #717786; 33 | } 34 | 35 | .menuContainerNav--menuDrawer { 36 | padding-bottom: 32px; 37 | margin-bottom: 32px; 38 | border-bottom: 1px solid #dee7ef; 39 | } 40 | 41 | .styledLinkContainer--currencyFakeDropdown { 42 | padding: 0px 48px 0px 16px; 43 | margin: 0; 44 | margin-right: 16px; 45 | height: 42px; 46 | line-height: 42px; 47 | border: 1px solid rgba(255, 255, 255, 0.4); 48 | border-radius: 4px; 49 | position: relative; 50 | } 51 | 52 | .menuContainerNav--currencyFakeDropdown { 53 | display: flex; 54 | align-items: center; 55 | } 56 | 57 | .styledLinkContent--currencyFakeDropdown { 58 | font-size: 14px; 59 | line-height: 42px; 60 | font-family: Roboto; 61 | color: #fff; 62 | } 63 | 64 | .styledLinkContainer--currencyFakeDropdown::after { 65 | content: url("assets/icons/chevronDownSwitcher.svg"); 66 | position: absolute; 67 | right: 16px; 68 | top: 0; 69 | } 70 | 71 | @media (max-width: 64rem) { 72 | .styledLinkContainer--currencyFakeDropdown { 73 | border: none; 74 | } 75 | } 76 | -------------------------------------------------------------------------------- /store/blocks/product/product-price.jsonc: -------------------------------------------------------------------------------- 1 | { 2 | "flex-layout.row#product-price": { 3 | "children": ["flex-layout.col#product-price"], 4 | "props": { 5 | "blockClass": "product-price" 6 | } 7 | }, 8 | "flex-layout.col#product-price": { 9 | "children": [ 10 | "product-list-price#desktop", 11 | "flex-layout.row#price", 12 | "flex-layout.row#priceSavings" 13 | ], 14 | "props": { 15 | "blockClass": "product-price" 16 | } 17 | }, 18 | "flex-layout.row#priceSavings": { 19 | "children": [ 20 | "product-price-savings#desktop", 21 | "product-price-savings#percentage" 22 | ], 23 | "props": { 24 | "preventHorizontalStretch": true, 25 | "blockClass": "priceSavings" 26 | } 27 | }, 28 | "flex-layout.row#price": { 29 | "children": ["product-selling-price#desktop"], 30 | "props": { 31 | "blockClass": ["items-baseline"], 32 | "colSizing": "auto", 33 | "colGap": 3, 34 | "fullWidth": true, 35 | "preserveLayoutOnMobile": true, 36 | "preventHorizontalStretch": true, 37 | "preventVerticalStretch": true 38 | } 39 | }, 40 | "product-selling-price#desktop": { 41 | "props": { 42 | "blockClass": ["desktop"], 43 | "message": "{sellingPriceWithTax} (with taxes)" 44 | } 45 | }, 46 | "product-list-price#desktop": { 47 | "props": { 48 | "blockClass": ["desktop"] 49 | } 50 | }, 51 | "product-price-savings#desktop": { 52 | "props": { 53 | "blockClass": ["desktop"] 54 | } 55 | }, 56 | "product-price-savings#percentage": { 57 | "props": { 58 | "message": "({savingsPercentage})", 59 | "blockClass": ["desktop", "savingPercent"] 60 | } 61 | } 62 | } 63 | -------------------------------------------------------------------------------- /styles/css/vtex.product-quantity.css: -------------------------------------------------------------------------------- 1 | .quantitySelectorContainer--desktop { 2 | margin: 0; 3 | } 4 | 5 | .quantitySelectorContainer--desktop :global(.vtex-numeric-stepper__input), 6 | .quantitySelectorContainer--desktop :global(.vtex-numeric-stepper__plus-button), 7 | .quantitySelectorContainer--desktop 8 | :global(.vtex-numeric-stepper__minus-button) { 9 | border-width: 1px; 10 | outline: none; 11 | } 12 | 13 | .quantitySelectorContainer--desktop 14 | :global(.vtex-numeric-stepper__plus-button) { 15 | border-left: 0; 16 | } 17 | 18 | .quantitySelectorContainer--desktop 19 | :global(.vtex-numeric-stepper__minus-button) { 20 | border-right: 0; 21 | } 22 | 23 | .quantitySelectorContainer :global(.vtex-input-prefix__group), 24 | .quantitySelectorContainer :global(.vtex-dropdown__container) { 25 | border-width: 1px; 26 | border-color: var(--lines-darker); 27 | height: 3rem; 28 | } 29 | 30 | .quantitySelectorContainer :global(.vtex-dropdown__container), 31 | .quantitySelectorContainer :global(.vtex-input-prefix__group) { 32 | display: flex; 33 | align-items: center; 34 | justify-content: center; 35 | } 36 | 37 | .quantitySelectorContainer :global(.vtex-dropdown__button), 38 | .quantitySelectorContainer :global(.vtex-styleguide-9-x-input) { 39 | color: var(--black-dark); 40 | font-weight: 500; 41 | font-size: 1rem; 42 | padding-left: 0; 43 | } 44 | 45 | .quantitySelectorContainer :global(.vtex-dropdown__container)::before, 46 | .quantitySelectorContainer :global(.vtex-input-prefix__group)::before { 47 | color: var(--black-medium); 48 | display: inline-block; 49 | content: "Qty:\00a0"; 50 | padding-left: 1rem; 51 | } 52 | 53 | .quantitySelectorContainer :global(.vtex-dropdown__arrow) { 54 | color: var(--lines-darker); 55 | } 56 | -------------------------------------------------------------------------------- /store/blocks/product/right-col.jsonc: -------------------------------------------------------------------------------- 1 | { 2 | "flex-layout.col#right-col": { 3 | "children": [ 4 | "flex-layout.row#brand-and-rating", 5 | "flex-layout.row#product-name", 6 | "flex-layout.row#product-identifier", 7 | "condition-layout.product#sku-selector-or-list", 8 | "flex-layout.row#assembly-options" 9 | // "flex-layout.row#link-seller" 10 | ], 11 | "props": { 12 | "blockClass": "right-col", 13 | "preventVerticalStretch": true, 14 | "width": "45%" 15 | } 16 | }, 17 | "flex-layout.row#brand-and-rating": { 18 | "children": [ 19 | "vtex.store-components:product-brand#brand-and-rating", 20 | "flex-layout.col#spacer", 21 | "product-rating-summary" 22 | ], 23 | "props": { 24 | "blockClass": ["items-center", "brand-and-rating"], 25 | "preserveLayoutOnMobile": true, 26 | "preventHorizontalStretch": true, 27 | "preventVerticalStretch": true, 28 | "colSizing": "auto", 29 | "colGap": 0 30 | } 31 | }, 32 | "vtex.store-components:product-brand#brand-and-rating": { 33 | "props": { 34 | "blockClass": "brand-and-rating", 35 | "displayMode": "text", 36 | "height": 0, 37 | "logoWithLink": true 38 | } 39 | }, 40 | "flex-layout.row#product-name": { 41 | "children": ["vtex.store-components:product-name#product-page"], 42 | "props": { 43 | "blockClass": ["product-name"] 44 | } 45 | }, 46 | "vtex.store-components:product-name#product-page": { 47 | "props": { 48 | "blockClass": "product-page" 49 | } 50 | }, 51 | "flex-layout.row#product-identifier": { 52 | "children": ["product-identifier.product"], 53 | "props": { 54 | "blockClass": ["product-identifier"] 55 | } 56 | } 57 | } 58 | -------------------------------------------------------------------------------- /store/blocks/product/box.jsonc: -------------------------------------------------------------------------------- 1 | { 2 | "sticky-layout#box": { 3 | "children": ["flex-layout.row#box"], 4 | "props": { 5 | "blockClass": ["box"], 6 | "position": "top", 7 | "verticalSpacing": 186 8 | } 9 | }, 10 | 11 | "flex-layout.row#box": { 12 | "children": ["flex-layout.col#box"], 13 | "props": { 14 | "blockClass": ["box"], 15 | "preventHorizontalStretch": true, 16 | "preventVerticalStretch": true 17 | } 18 | }, 19 | 20 | "flex-layout.col#box": { 21 | "children": [ 22 | "flex-layout.row#fake-summary", 23 | "flex-layout.row#seller-name", 24 | "check-permission#product-price" 25 | ], 26 | "props": { 27 | "blockClass": ["box"], 28 | "preventVerticalStretch": true 29 | } 30 | }, 31 | "check-permission#product-price": { 32 | "props": { 33 | "roles": [ 34 | "store-admin", 35 | "sales-admin", 36 | "sales-manager", 37 | "sales-representative", 38 | "customer-admin", 39 | "customer-approver", 40 | "customer-buyer" 41 | ] 42 | }, 43 | "blocks": [ 44 | "allowed-content#product-price", 45 | "disallowed-content#product-price" 46 | ] 47 | }, 48 | "allowed-content#product-price": { 49 | "children": [ 50 | "flex-layout.row#product-price", 51 | "flex-layout.row#location-availability", 52 | "flex-layout.row#product-availability-and-quantity", 53 | "flex-layout.row#buy-buttons" 54 | ] 55 | }, 56 | "disallowed-content#product-price": { 57 | "children": ["rich-text#product-price"] 58 | }, 59 | "rich-text#product-price": { 60 | "props": { 61 | "blockClass": ["product-price-message"], 62 | "text": "Log in or sign up to view prices" 63 | } 64 | } 65 | } 66 | -------------------------------------------------------------------------------- /store/blocks/product/stickyBuy.jsonc: -------------------------------------------------------------------------------- 1 | { 2 | "check-permission#sticky-buy": { 3 | "props": { 4 | "roles": [ 5 | "store-admin", 6 | "sales-admin", 7 | "sales-manager", 8 | "sales-representative", 9 | "customer-admin", 10 | "customer-approver", 11 | "customer-buyer" 12 | ] 13 | }, 14 | "blocks": [ 15 | "allowed-content#sticky-buy" 16 | ] 17 | }, 18 | "allowed-content#sticky-buy": { 19 | "children": ["sticky-layout#stickyBuy"] 20 | }, 21 | 22 | "sticky-layout#stickyBuy": { 23 | "children": ["flex-layout.row#stickyBuyRow"], 24 | "props": { 25 | "blockClass": ["stickyBuy"], 26 | "position": "bottom", 27 | "verticalSpacing": 0 28 | } 29 | }, 30 | "flex-layout.row#stickyBuyRow": { 31 | "children": ["flex-layout.col#prices", "add-to-cart-button#buy-now-sticky"], 32 | "props": { 33 | "preserveLayoutOnMobile": true 34 | } 35 | }, 36 | "flex-layout.col#prices": { 37 | "children": [ 38 | "product-selling-price#sticky", 39 | "flex-layout.row#priceSavingsSticky" 40 | ] 41 | }, 42 | "add-to-cart-button#buy-now-sticky": { 43 | "props": { 44 | "blockClass": "buy-now", 45 | "text": "Add to cart", 46 | "addToCartFeedback": "customEvent", 47 | "customPixelEventId": "add-to-cart-button" 48 | } 49 | }, 50 | "product-selling-price#sticky": { 51 | "props": { 52 | "blockClass": "sticky", 53 | "message": "{sellingPriceWithTax}" 54 | } 55 | }, 56 | "flex-layout.row#priceSavingsSticky": { 57 | "children": [ 58 | "product-price-savings#desktop", 59 | "product-price-savings#percentage" 60 | ], 61 | "props": { 62 | "blockClass": "stickyPriceRow", 63 | "preserveLayoutOnMobile": true, 64 | "preventHorizontalStretch": true 65 | } 66 | } 67 | } 68 | -------------------------------------------------------------------------------- /store/routes.json: -------------------------------------------------------------------------------- 1 | { 2 | "store.custom#product-comparison-list": { 3 | "path": "/product-comparison" 4 | }, 5 | "store.custom#registration": { 6 | "path": "/registration" 7 | }, 8 | "store.custom#quickOrderByOne": { 9 | "path": "/quickorder/one-by-one" 10 | }, 11 | "store.custom#quickOrderByCategory": { 12 | "path": "/quickorder/by-category" 13 | }, 14 | "store.custom#not-allow": { 15 | "path": "not-allowed" 16 | }, 17 | "store.custom.product-comparison#deals": { 18 | "path": "/deals" 19 | }, 20 | "store.custom.product-comparison#releases": { 21 | "path": "/releases" 22 | }, 23 | "store.custom.product-comparison#top-sales": { 24 | "path": "/top-sales" 25 | }, 26 | "store.custom#customer-services": { 27 | "path": "/services" 28 | }, 29 | "store.custom#gift-cards": { 30 | "path": "/gift-cards" 31 | }, 32 | "store.custom.product-comparison#popular": { 33 | "path": "/popular" 34 | }, 35 | "store.custom.product-comparison#trending": { 36 | "path": "/trending" 37 | }, 38 | "store.custom#company": { 39 | "path": "/company" 40 | }, 41 | "store.custom#careers": { 42 | "path": "/careers" 43 | }, 44 | "store.custom#sell": { 45 | "path": "/sell" 46 | }, 47 | "store.custom#investors": { 48 | "path": "/investors" 49 | }, 50 | "store.custom#advertise": { 51 | "path": "/advertise" 52 | }, 53 | "store.custom#locations": { 54 | "path": "/locations" 55 | }, 56 | "store.custom#accessibility": { 57 | "path": "/accessibility" 58 | }, 59 | "store.custom#contact": { 60 | "path": "/contact" 61 | }, 62 | "store.custom#help-center": { 63 | "path": "/help-center" 64 | }, 65 | "store.custom#pickup": { 66 | "path": "/pickup" 67 | }, 68 | "store.custom#recalls": { 69 | "path": "/recalls" 70 | }, 71 | "store.custom#returns": { 72 | "path": "/returns" 73 | } 74 | } 75 | -------------------------------------------------------------------------------- /styles/css/vtex.product-price.css: -------------------------------------------------------------------------------- 1 | .sellingPrice--desktop { 2 | font-size: 24px; 3 | font-weight: normal; 4 | line-height: 32px; 5 | color: #000000; 6 | } 7 | 8 | .sellingPrice .sellingPriceValue--desktop { 9 | display: none; 10 | } 11 | 12 | .sellingPriceWithTax--desktop { 13 | font-size: 28px; 14 | font-weight: bold; 15 | } 16 | 17 | .listPrice--desktop { 18 | font-size: 16px; 19 | line-height: 20px; 20 | text-decoration-line: line-through; 21 | color: #717786; 22 | } 23 | 24 | .savings--desktop { 25 | font-size: 14px; 26 | line-height: 20px; 27 | color: #717786; 28 | } 29 | 30 | .savingsValue--desktop { 31 | color: #468a2e; 32 | font-weight: 500; 33 | } 34 | 35 | .savings--savingSummary { 36 | display: block; 37 | background: #e5f1e1; 38 | color: #468a2e; 39 | text-transform: uppercase; 40 | font-size: 12px; 41 | line-height: 18px; 42 | font-weight: 500; 43 | padding: 0px 8px; 44 | border-radius: 10px; 45 | } 46 | 47 | .savings--savingPercentage { 48 | display: block; 49 | background: var(--fresh-orange); 50 | color: #fff; 51 | text-transform: uppercase; 52 | font-size: 12px; 53 | line-height: 18px; 54 | font-weight: 700; 55 | padding: 0px 8px; 56 | border-radius: 10px; 57 | } 58 | 59 | .savings--savingPercent { 60 | margin-left: 4px; 61 | color: #468a2e; 62 | font-weight: 500; 63 | } 64 | 65 | @media (max-width: 64rem) { 66 | .savings--savingPercent { 67 | color: #000; 68 | } 69 | 70 | .currencyContainer--sticky { 71 | font-size: 20px; 72 | line-height: 28px; 73 | color: #000; 74 | font-weight: bold; 75 | font-family: Roboto; 76 | } 77 | } 78 | 79 | /* Seller Name */ 80 | 81 | .sellerNameContainer--default { 82 | font-size: 0.875rem; 83 | color: var(--black-medium); 84 | margin-bottom: 0.5rem; 85 | } 86 | 87 | .sellerName--default { 88 | color: var(--black-dark); 89 | font-weight: 500; 90 | } 91 | -------------------------------------------------------------------------------- /store/blocks/quickorder/quickorderMobile.jsonc: -------------------------------------------------------------------------------- 1 | { 2 | "responsive-layout.mobile#quickorder": { 3 | "children": [ 4 | "flex-layout.row#quickOrderRowMobile" 5 | ] 6 | }, 7 | "flex-layout.row#quickOrderRowMobile": { 8 | "children": [ 9 | "flex-layout.col#quickOrderRowMobile" 10 | ], 11 | "props": { 12 | "blockClass": "quickOrderRowMobile" 13 | } 14 | }, 15 | "flex-layout.col#quickOrderRowMobile": { 16 | "children": [ 17 | "rich-text#quickOrderTitlePageMobile", 18 | "link#byOne", 19 | "link#byCategory" 20 | ] 21 | }, 22 | "rich-text#quickOrderTitlePageMobile":{ 23 | "props": { 24 | "text": "# Quick Order", 25 | "blockClass": "quickOrderTitlePageMobile" 26 | } 27 | }, 28 | "link#byOne": { 29 | "children": [ 30 | "rich-text#byOneTitle", 31 | "rich-text#byOneText" 32 | ], 33 | "props": { 34 | "blockClass": "quickOrderButton", 35 | "href": "/quickorder/one-by-one" 36 | } 37 | }, 38 | "rich-text#byOneTitle": { 39 | "props": { 40 | "text": "## One by one", 41 | "blockClass": "quickOrderButtonTitle" 42 | } 43 | }, 44 | "rich-text#byOneText": { 45 | "props": { 46 | "text": "Type the product name, select, enter quantity and add to the cart", 47 | "blockClass": "quickOrderButtonText" 48 | } 49 | }, 50 | "link#byCategory": { 51 | "children": [ 52 | "rich-text#byCategoryTitle", 53 | "rich-text#byCategoryText" 54 | ], 55 | "props": { 56 | "blockClass": "quickOrderButton", 57 | "href": "/quickorder/by-category" 58 | } 59 | }, 60 | "rich-text#byCategoryTitle": { 61 | "props": { 62 | "text": "## Categories", 63 | "blockClass": "quickOrderButtonTitle" 64 | } 65 | }, 66 | "rich-text#byCategoryText": { 67 | "props": { 68 | "text": "Add products directly from their categories", 69 | "blockClass": "quickOrderButtonText" 70 | } 71 | } 72 | } -------------------------------------------------------------------------------- /store/blocks/deals.jsonc: -------------------------------------------------------------------------------- 1 | { 2 | "store.custom.product-comparison#deals": { 3 | "blocks": [ 4 | "search-result-layout.customQuery#deals", 5 | "flex-layout.row#newsletter" 6 | ] 7 | }, 8 | 9 | "search-result-layout.customQuery#deals": { 10 | "props": { 11 | "querySchema": { 12 | "orderByField": "OrderByBestDiscountDESC", 13 | "hideUnavailableItems": true, 14 | "maxItemsPerPage": 10, 15 | "skusFilter": "ALL", 16 | "simulationBehavior": "default" 17 | } 18 | }, 19 | "blocks": [ 20 | "search-result-layout.desktop.product-comparison#deals", 21 | "search-result-layout.mobile", 22 | "search-not-found-layout" 23 | ] 24 | }, 25 | "search-result-layout.desktop.product-comparison#deals": { 26 | "children": [ 27 | "flex-layout.row#searchLayout--deals", 28 | "product-comparison-drawer" 29 | ], 30 | "props": { 31 | "pagination": "show-more", 32 | "preventRouteChange": true 33 | } 34 | }, 35 | "flex-layout.row#searchLayout--deals": { 36 | "children": ["flex-layout.col#pageContent--deals"], 37 | "props": { 38 | "colSizing": "auto", 39 | "fullWidth": true, 40 | "marginBottom": 9 41 | } 42 | }, 43 | "flex-layout.col#pageContent--deals": { 44 | "children": ["flex-layout.col#search-content--deals"], 45 | "props": { 46 | "blockClass": "pageContent", 47 | "preventVerticalStretch": true 48 | } 49 | }, 50 | 51 | "flex-layout.col#search-content--deals": { 52 | "children": [ 53 | "rich-text#title--deals", 54 | "flex-layout.row#searchinfo", 55 | "flex-layout.row#fetchprevious", 56 | "flex-layout.row#products", 57 | "flex-layout.row#fetchmore" 58 | ], 59 | "props": { 60 | "paddingLeft": 7, 61 | "paddingRight": 7 62 | } 63 | }, 64 | 65 | "rich-text#title--deals": { 66 | "props": { 67 | "text": "## Today's Deals", 68 | "blockClass": "title" 69 | } 70 | } 71 | } 72 | -------------------------------------------------------------------------------- /store/blocks/popular.jsonc: -------------------------------------------------------------------------------- 1 | { 2 | "store.custom.product-comparison#popular": { 3 | "blocks": [ 4 | "search-result-layout.customQuery#popular", 5 | "flex-layout.row#newsletter" 6 | ] 7 | }, 8 | 9 | "search-result-layout.customQuery#popular": { 10 | "props": { 11 | "querySchema": { 12 | "orderByField": "OrderByTopSaleDESC", 13 | "hideUnavailableItems": true, 14 | "maxItemsPerPage": 10, 15 | "skusFilter": "ALL", 16 | "simulationBehavior": "default" 17 | } 18 | }, 19 | "blocks": [ 20 | "search-result-layout.desktop.product-comparison#popular", 21 | "search-result-layout.mobile", 22 | "search-not-found-layout" 23 | ] 24 | }, 25 | "search-result-layout.desktop.product-comparison#popular": { 26 | "children": [ 27 | "flex-layout.row#searchLayout--popular", 28 | "product-comparison-drawer" 29 | ], 30 | "props": { 31 | "pagination": "show-more", 32 | "preventRouteChange": true 33 | } 34 | }, 35 | "flex-layout.row#searchLayout--popular": { 36 | "children": ["flex-layout.col#pageContent--popular"], 37 | "props": { 38 | "colSizing": "auto", 39 | "fullWidth": true, 40 | "marginBottom": 9 41 | } 42 | }, 43 | "flex-layout.col#pageContent--popular": { 44 | "children": ["flex-layout.col#search-content--popular"], 45 | "props": { 46 | "blockClass": "pageContent", 47 | "preventVerticalStretch": true 48 | } 49 | }, 50 | 51 | "flex-layout.col#search-content--popular": { 52 | "children": [ 53 | "rich-text#title--popular", 54 | "flex-layout.row#searchinfo", 55 | "flex-layout.row#fetchprevious", 56 | "flex-layout.row#products", 57 | "flex-layout.row#fetchmore" 58 | ], 59 | "props": { 60 | "paddingLeft": 7, 61 | "paddingRight": 7 62 | } 63 | }, 64 | 65 | "rich-text#title--popular": { 66 | "props": { 67 | "text": "## Popular Picks", 68 | "blockClass": "title" 69 | } 70 | } 71 | } 72 | -------------------------------------------------------------------------------- /store/blocks/releases.jsonc: -------------------------------------------------------------------------------- 1 | { 2 | "store.custom.product-comparison#releases": { 3 | "blocks": [ 4 | "search-result-layout.customQuery#releases", 5 | "flex-layout.row#newsletter" 6 | ] 7 | }, 8 | "search-result-layout.customQuery#releases": { 9 | "props": { 10 | "querySchema": { 11 | "orderByField": "OrderByReleaseDateDESC", 12 | "hideUnavailableItems": true, 13 | "maxItemsPerPage": 10, 14 | "skusFilter": "ALL", 15 | "simulationBehavior": "default" 16 | } 17 | }, 18 | "blocks": [ 19 | "search-result-layout.desktop.product-comparison#releases", 20 | "search-result-layout.mobile", 21 | "search-not-found-layout" 22 | ] 23 | }, 24 | "search-result-layout.desktop.product-comparison#releases": { 25 | "children": [ 26 | "flex-layout.row#searchLayout--releases", 27 | "product-comparison-drawer" 28 | ], 29 | "props": { 30 | "pagination": "show-more", 31 | "preventRouteChange": true 32 | } 33 | }, 34 | "flex-layout.row#searchLayout--releases": { 35 | "children": ["flex-layout.col#pageContent--releases"], 36 | "props": { 37 | "colSizing": "auto", 38 | "fullWidth": true, 39 | "marginBottom": 9 40 | } 41 | }, 42 | "flex-layout.col#pageContent--releases": { 43 | "children": ["flex-layout.col#search-content--releases"], 44 | "props": { 45 | "blockClass": "pageContent", 46 | "preventVerticalStretch": true 47 | } 48 | }, 49 | 50 | "flex-layout.col#search-content--releases": { 51 | "children": [ 52 | "rich-text#title--releases", 53 | "flex-layout.row#searchinfo", 54 | "flex-layout.row#fetchprevious", 55 | "flex-layout.row#products", 56 | "flex-layout.row#fetchmore" 57 | ], 58 | "props": { 59 | "paddingLeft": 7, 60 | "paddingRight": 7 61 | } 62 | }, 63 | 64 | "rich-text#title--releases": { 65 | "props": { 66 | "text": "## New Releases", 67 | "blockClass": "title" 68 | } 69 | } 70 | } 71 | -------------------------------------------------------------------------------- /store/blocks/trending.jsonc: -------------------------------------------------------------------------------- 1 | { 2 | "store.custom.product-comparison#trending": { 3 | "blocks": [ 4 | "search-result-layout.customQuery#trending", 5 | "flex-layout.row#newsletter" 6 | ] 7 | }, 8 | "search-result-layout.customQuery#trending": { 9 | "props": { 10 | "querySchema": { 11 | "orderByField": "OrderByTopSaleDESC", 12 | "hideUnavailableItems": true, 13 | "maxItemsPerPage": 10, 14 | "skusFilter": "ALL", 15 | "simulationBehavior": "default" 16 | } 17 | }, 18 | "blocks": [ 19 | "search-result-layout.desktop.product-comparison#trending", 20 | "search-result-layout.mobile", 21 | "search-not-found-layout" 22 | ] 23 | }, 24 | "search-result-layout.desktop.product-comparison#trending": { 25 | "children": [ 26 | "flex-layout.row#searchLayout--trending", 27 | "product-comparison-drawer" 28 | ], 29 | "props": { 30 | "pagination": "show-more", 31 | "preventRouteChange": true 32 | } 33 | }, 34 | "flex-layout.row#searchLayout--trending": { 35 | "children": ["flex-layout.col#pageContent--trending"], 36 | "props": { 37 | "colSizing": "auto", 38 | "fullWidth": true, 39 | "marginBottom": 9 40 | } 41 | }, 42 | "flex-layout.col#pageContent--trending": { 43 | "children": ["flex-layout.col#search-content--trending"], 44 | "props": { 45 | "blockClass": "pageContent", 46 | "preventVerticalStretch": true 47 | } 48 | }, 49 | 50 | "flex-layout.col#search-content--trending": { 51 | "children": [ 52 | "rich-text#title--trending", 53 | "flex-layout.row#searchinfo", 54 | "flex-layout.row#fetchprevious", 55 | "flex-layout.row#products", 56 | "flex-layout.row#fetchmore" 57 | ], 58 | "props": { 59 | "paddingLeft": 7, 60 | "paddingRight": 7 61 | } 62 | }, 63 | 64 | "rich-text#title--trending": { 65 | "props": { 66 | "text": "## What's trending", 67 | "blockClass": "title" 68 | } 69 | } 70 | } 71 | -------------------------------------------------------------------------------- /store/blocks/top-sales.jsonc: -------------------------------------------------------------------------------- 1 | { 2 | "store.custom.product-comparison#top-sales": { 3 | "blocks": [ 4 | "search-result-layout.customQuery#top-sales", 5 | "flex-layout.row#newsletter" 6 | ] 7 | }, 8 | "search-result-layout.customQuery#top-sales": { 9 | "props": { 10 | "querySchema": { 11 | "orderByField": "OrderByTopSaleDESC", 12 | "hideUnavailableItems": true, 13 | "maxItemsPerPage": 10, 14 | "skusFilter": "ALL", 15 | "simulationBehavior": "default" 16 | } 17 | }, 18 | "blocks": [ 19 | "search-result-layout.desktop.product-comparison#top-sales", 20 | "search-result-layout.mobile", 21 | "search-not-found-layout" 22 | ] 23 | }, 24 | "search-result-layout.desktop.product-comparison#top-sales": { 25 | "children": [ 26 | "flex-layout.row#searchLayout--top-sales", 27 | "product-comparison-drawer" 28 | ], 29 | "props": { 30 | "pagination": "show-more", 31 | "preventRouteChange": true 32 | } 33 | }, 34 | "flex-layout.row#searchLayout--top-sales": { 35 | "children": ["flex-layout.col#pageContent--top-sales"], 36 | "props": { 37 | "colSizing": "auto", 38 | "fullWidth": true, 39 | "marginBottom": 9 40 | } 41 | }, 42 | "flex-layout.col#pageContent--top-sales": { 43 | "children": ["flex-layout.col#search-content--top-sales"], 44 | "props": { 45 | "blockClass": "pageContent", 46 | "preventVerticalStretch": true 47 | } 48 | }, 49 | 50 | "flex-layout.col#search-content--top-sales": { 51 | "children": [ 52 | "rich-text#title--top-sales", 53 | "flex-layout.row#searchinfo", 54 | "flex-layout.row#fetchprevious", 55 | "flex-layout.row#products", 56 | "flex-layout.row#fetchmore" 57 | ], 58 | "props": { 59 | "paddingLeft": 7, 60 | "paddingRight": 7 61 | } 62 | }, 63 | 64 | "rich-text#title--top-sales": { 65 | "props": { 66 | "text": "## Top Sales", 67 | "blockClass": "title" 68 | } 69 | } 70 | } 71 | -------------------------------------------------------------------------------- /.github/workflows/pull-request.yml: -------------------------------------------------------------------------------- 1 | name: PR actions 2 | 'on': 3 | pull_request: 4 | branches: 5 | - master 6 | jobs: 7 | danger-ci: 8 | name: Danger CI 9 | runs-on: ubuntu-latest 10 | steps: 11 | - uses: actions/checkout@master 12 | - uses: actions/setup-node@master 13 | with: 14 | node-version: 12.x 15 | env: 16 | RUNNER_TEMP: /tmp 17 | - name: Danger CI 18 | uses: vtex/danger@master 19 | env: 20 | GITHUB_TOKEN: '${{ secrets.GITHUB_TOKEN }}' 21 | REQUIRE_CHANGELOG_VERSION: false 22 | io-app-test: 23 | name: IO app test 24 | runs-on: ubuntu-latest 25 | steps: 26 | - uses: actions/checkout@master 27 | - uses: actions/setup-node@master 28 | with: 29 | node-version: 12.x 30 | env: 31 | RUNNER_TEMP: /tmp 32 | - name: Get yarn cache directory path 33 | id: yarn-cache-dir-path 34 | run: 'echo "::set-output name=dir::$(yarn cache dir)"' 35 | - uses: actions/cache@v1 36 | id: yarn-cache 37 | with: 38 | path: '${{ steps.yarn-cache-dir-path.outputs.dir }}' 39 | key: '${{ runner.os }}-yarn-${{ hashFiles(''**/yarn.lock'') }}' 40 | restore-keys: | 41 | ${{ runner.os }}-yarn- 42 | - name: Run test on every builder directory 43 | uses: vtex/action-io-app-test@master 44 | lint: 45 | name: Lint 46 | runs-on: ubuntu-latest 47 | steps: 48 | - uses: actions/checkout@master 49 | - uses: actions/setup-node@master 50 | with: 51 | node-version: 12.x 52 | env: 53 | RUNNER_TEMP: /tmp 54 | - name: Get yarn cache directory path 55 | id: yarn-cache-dir-path 56 | run: 'echo "::set-output name=dir::$(yarn cache dir)"' 57 | - uses: actions/cache@v1 58 | id: yarn-cache 59 | with: 60 | path: '${{ steps.yarn-cache-dir-path.outputs.dir }}' 61 | key: '${{ runner.os }}-yarn-${{ hashFiles(''**/yarn.lock'') }}' 62 | restore-keys: | 63 | ${{ runner.os }}-yarn- 64 | - name: Lint project 65 | uses: vtex/action-lint@master 66 | -------------------------------------------------------------------------------- /store/blocks/components/popular-picks.jsonc: -------------------------------------------------------------------------------- 1 | { 2 | "flex-layout.row#popular": { 3 | "children": [ 4 | "flex-layout.col#popular" 5 | ] 6 | }, 7 | "flex-layout.col#popular": { 8 | "children": [ 9 | "flex-layout.row#popularHead", 10 | "responsive-layout.desktop#list", 11 | "responsive-layout.mobile#list" 12 | ] 13 | }, 14 | "responsive-layout.desktop#list": { 15 | "children": [ 16 | "list-context.product-list#popular" 17 | ] 18 | }, 19 | "responsive-layout.mobile#list": { 20 | "children": [ 21 | "list-context.product-list#popularMobile" 22 | ] 23 | }, 24 | "flex-layout.row#popularHead": { 25 | "children": [ 26 | "rich-text#popularTitle", 27 | "link#popularLink" 28 | ], 29 | "props": { 30 | "blockClass": "popularHead", 31 | "preventHorizontalStretch": true, 32 | "preserveLayoutOnMobile": true 33 | } 34 | }, 35 | "rich-text#popularTitle": { 36 | "props": { 37 | "text": "### Popular Picks", 38 | "blockClass": "popularTitle" 39 | } 40 | }, 41 | "link#popularLink": { 42 | "props": { 43 | "label": "See more", 44 | "href": "/popular", 45 | "blockClass": "popularLink" 46 | } 47 | }, 48 | "list-context.product-list#popular": { 49 | "blocks": [ 50 | "product-summary.shelf#minimum" 51 | ], 52 | "children": [ 53 | "slider-layout#popularProducts" 54 | ], 55 | "props": { 56 | "orderBy": "OrderByTopSaleDESC" 57 | } 58 | }, 59 | "list-context.product-list#popularMobile": { 60 | "blocks": [ 61 | "product-summary.shelf#minimum" 62 | ], 63 | "children": [ 64 | "slider-layout#popularProducts" 65 | ], 66 | "props": { 67 | "orderBy": "OrderByTopSaleDESC", 68 | "maxItems": "4" 69 | } 70 | }, 71 | "slider-layout#popularProducts": { 72 | "props": { 73 | "itemsPerPage": { 74 | "desktop": 6, 75 | "tablet": 6, 76 | "phone": 4 77 | }, 78 | "infinite": false, 79 | "fullWidth": true, 80 | "blockClass": "shelfPopular", 81 | "showNavigationArrows": "desktopOnly", 82 | "showPaginationDots": "desktopOnly" 83 | } 84 | } 85 | } -------------------------------------------------------------------------------- /store/blocks/default.jsonc: -------------------------------------------------------------------------------- 1 | { 2 | "store.orderplaced": { 3 | "blocks": ["order-placed"] 4 | }, 5 | 6 | "store.login": { 7 | "blocks": ["login-content#default"] 8 | }, 9 | 10 | "login-content#default": { 11 | "props": { 12 | "isInitialScreenOptionOnly": false, 13 | "defaultOption": 1, 14 | "showPasswordVerificationIntoTooltip": true 15 | } 16 | }, 17 | 18 | "product-summary.shelf": { 19 | "children": [ 20 | "product-summary-add-to-list-button", 21 | "product-summary-name", 22 | "product-rating-inline", 23 | "product-summary-space", 24 | "check-permission#product-summary-price", 25 | "product-identifier.summary", 26 | "add-to-cart-button" 27 | ] 28 | }, 29 | 30 | "flex-layout.col#spacer": { 31 | "props": { 32 | "width": "grow" 33 | } 34 | }, 35 | 36 | "flex-layout.col#divider--vertical": { 37 | "children": [], 38 | "props": { 39 | "blockClass": ["divider--vertical"], 40 | "borderWidth": 0, 41 | "borderColor": "muted-5" 42 | } 43 | }, 44 | 45 | "flex-layout.row#divider--vertical": { 46 | "children": [], 47 | "props": { 48 | "blockClass": ["divider--vertical"], 49 | "borderWidth": 0, 50 | "borderColor": "muted-5" 51 | } 52 | }, 53 | 54 | "flex-layout.col#divider": { 55 | "children": [], 56 | "props": { 57 | "blockClass": "divider", 58 | "border": "top", 59 | "borderWidth": 1, 60 | "borderColor": "muted-5", 61 | "width": "grow" 62 | } 63 | }, 64 | 65 | "flex-layout.row#divider": { 66 | "children": [], 67 | "props": { 68 | "blockClass": "divider", 69 | "border": "top", 70 | "borderWidth": 1, 71 | "borderColor": "muted-5" 72 | } 73 | }, 74 | 75 | "disclosure-state-indicator": { 76 | "props": { 77 | "Show": "icon-caret#down", 78 | "Hide": "icon-caret#up" 79 | } 80 | }, 81 | 82 | "icon-caret#down": { 83 | "props": { 84 | "blockClass": ["fresh-blue"], 85 | "orientation": "down" 86 | } 87 | }, 88 | 89 | "icon-caret#up": { 90 | "props": { 91 | "blockClass": ["lines-darker"], 92 | "orientation": "up" 93 | } 94 | }, 95 | 96 | "add-to-cart-button": { 97 | "props": { 98 | "addToCartFeedback": "customEvent", 99 | "customPixelEventId": "add-to-cart-button" 100 | } 101 | } 102 | } 103 | -------------------------------------------------------------------------------- /store/blocks/quickorder/quickorder.jsonc: -------------------------------------------------------------------------------- 1 | { 2 | "store.quickorder": { 3 | "blocks": [ 4 | "responsive-layout.mobile#quickorder", 5 | "responsive-layout.desktop#quickorder" 6 | ] 7 | }, 8 | 9 | "responsive-layout.desktop#quickorder": { 10 | "children": [ 11 | "flex-layout.row#title", 12 | "flex-layout.row#textarea", 13 | "flex-layout.row#upload", 14 | "flex-layout.row#autocomplete", 15 | "flex-layout.row#quickCategories" 16 | ] 17 | }, 18 | 19 | "flex-layout.row#title": { 20 | "children": ["flex-layout.col#title"], 21 | "props": { 22 | "blockClass": "quickOrderHeaderRow" 23 | } 24 | }, 25 | "flex-layout.col#title": { 26 | "children": ["rich-text#title"], 27 | "props": { 28 | "blockClass": "titleQuickorder", 29 | "preventVerticalStretch": true 30 | } 31 | }, 32 | "rich-text#title": { 33 | "props": { 34 | "text": "### Quick Order", 35 | "blockClass": "titleQuickorder" 36 | } 37 | }, 38 | 39 | "flex-layout.row#textarea": { 40 | "children": ["flex-layout.col#textarea"] 41 | }, 42 | "flex-layout.col#textarea": { 43 | "children": ["quickorder-textarea"] 44 | }, 45 | "quickorder-textarea": { 46 | "props": { 47 | "componentOnly": false, 48 | "text": "Copy/Paste Skus", 49 | "description": "[Sku's Code],[Quantity]" 50 | } 51 | }, 52 | 53 | "flex-layout.row#upload": { 54 | "children": ["flex-layout.col#upload"] 55 | }, 56 | "flex-layout.col#upload": { 57 | "children": ["quickorder-upload"] 58 | }, 59 | "quickorder-upload": { 60 | "props": { 61 | "componentOnly": false, 62 | "text": "Upload", 63 | "description": "Upload a Spreadsheet with two columns (SKU, Quantity) to bulk order", 64 | "downloadText": "Click here to download a spreadsheet model" 65 | } 66 | }, 67 | 68 | "flex-layout.row#autocomplete": { 69 | "children": ["flex-layout.col#autocomplete"] 70 | }, 71 | "flex-layout.col#autocomplete": { 72 | "children": ["quickorder-autocomplete"] 73 | }, 74 | "quickorder-autocomplete": { 75 | "props": { 76 | "componentOnly": false, 77 | "text": "One by One", 78 | "description": "Type the product name, select, enter quantity and add to the cart" 79 | } 80 | }, 81 | 82 | "flex-layout.row#quickCategories": { 83 | "children": ["flex-layout.col#categories"], 84 | "props": { 85 | "paddingBottom": 9 86 | } 87 | }, 88 | "flex-layout.col#categories": { 89 | "children": ["quickorder-categories"] 90 | }, 91 | "quickorder-categories": { 92 | "props": { 93 | "componentOnly": false, 94 | "text": "Categories", 95 | "description": "Add products directly from their categories" 96 | } 97 | } 98 | } 99 | -------------------------------------------------------------------------------- /store/blocks/components/benefits.jsonc: -------------------------------------------------------------------------------- 1 | { 2 | "flex-layout.row#benefits": { 3 | "props": { 4 | "blockClass": "benefits" 5 | }, 6 | "children": ["flex-layout.col#benefits"] 7 | }, 8 | "flex-layout.col#benefits": { 9 | "props": {}, 10 | "children": ["rich-text#whyShopWithVTEX", "slider-layout#benefits"] 11 | }, 12 | 13 | "rich-text#whyShopWithVTEX": { 14 | "props": { 15 | "text": "### Why shop with VTEX", 16 | "blockClass": "sectionTitle" 17 | } 18 | }, 19 | 20 | "slider-layout#benefits": { 21 | "props": { 22 | "itemsPerPage": { 23 | "desktop": 4, 24 | "tablet": 2, 25 | "phone": 2 26 | }, 27 | "infinite": false, 28 | "showNavigationArrows": "never", 29 | "blockClass": "benefitsSlider" 30 | }, 31 | "children": [ 32 | "flex-layout.row#benefitRow1", 33 | "flex-layout.row#benefitRow2", 34 | "flex-layout.row#benefitRow3", 35 | "flex-layout.row#benefitRow4" 36 | ] 37 | }, 38 | "flex-layout.row#benefitRow1": { 39 | "children": ["image#benefit", "rich-text#benefits1"], 40 | "props": { 41 | "blockClass": "flex-column", 42 | "preventHorizontalStretch": true 43 | } 44 | }, 45 | "flex-layout.row#benefitRow2": { 46 | "children": ["image#benefit", "rich-text#benefits1"], 47 | "props": { 48 | "blockClass": "flex-column", 49 | "preventHorizontalStretch": true 50 | } 51 | }, 52 | "flex-layout.row#benefitRow3": { 53 | "children": ["image#benefit", "rich-text#benefits1"], 54 | "props": { 55 | "blockClass": "flex-column", 56 | "preventHorizontalStretch": true 57 | } 58 | }, 59 | "flex-layout.row#benefitRow4": { 60 | "children": ["image#benefit", "rich-text#benefits1"], 61 | "props": { 62 | "blockClass": "flex-column", 63 | "preventHorizontalStretch": true 64 | } 65 | }, 66 | "image#benefit": { 67 | "props": { 68 | "src": "assets/placeholders/truck.png", 69 | "blockClass": "benefitImage" 70 | } 71 | }, 72 | "rich-text#benefits1": { 73 | "props": { 74 | "text": "**Free shipping** Over $50 in more than 1 million items", 75 | "blockClass": "benefitsItem" 76 | } 77 | }, 78 | "rich-text#benefits2": { 79 | "props": { 80 | "text": "**Pick-up store** Over $50 in more than 1 million items", 81 | "blockClass": "benefitsItem" 82 | } 83 | }, 84 | "rich-text#benefits3": { 85 | "props": { 86 | "text": "**Free shipping** Over $50 in more than 1 million items", 87 | "blockClass": "benefitsItem" 88 | } 89 | }, 90 | "rich-text#benefits4": { 91 | "props": { 92 | "text": "**Pick-up store** Over $50 in more than 1 million items", 93 | "blockClass": "benefitsItem" 94 | } 95 | } 96 | } 97 | -------------------------------------------------------------------------------- /manifest.json: -------------------------------------------------------------------------------- 1 | { 2 | "vendor": "vtex", 3 | "name": "b2bstore", 4 | "version": "5.0.0", 5 | "defaultLocale": "en-US", 6 | "builders": { 7 | "assets": "0.x", 8 | "styles": "2.x", 9 | "store": "0.x", 10 | "checkout-ui-custom": "0.x" 11 | }, 12 | "scripts": { 13 | "postreleasy": "vtex publish --verbose" 14 | }, 15 | "peerDependencies": { 16 | "vtex.wish-list": "1.x", 17 | "vtex.reviews-and-ratings": "2.x", 18 | "vtex.quickorder": "3.x", 19 | "vtex.location-availability": "0.x", 20 | "vtex.shopper-location": "0.x", 21 | "vtex.wordpress-integration": "2.x" 22 | }, 23 | "dependencies": { 24 | "vtex.store": "2.x", 25 | "vtex.store-header": "2.x", 26 | "vtex.product-summary": "2.x", 27 | "vtex.store-footer": "2.x", 28 | "vtex.store-components": "3.x", 29 | "vtex.styleguide": "9.x", 30 | "vtex.slider": "0.x", 31 | "vtex.carousel": "2.x", 32 | "vtex.shelf": "1.x", 33 | "vtex.menu": "2.x", 34 | "vtex.minicart": "2.x", 35 | "vtex.product-details": "1.x", 36 | "vtex.product-kit": "1.x", 37 | "vtex.search-result": "3.x", 38 | "vtex.login": "2.x", 39 | "vtex.my-account": "1.x", 40 | "vtex.flex-layout": "0.x", 41 | "vtex.rich-text": "0.x", 42 | "vtex.store-drawer": "0.x", 43 | "vtex.locale-switcher": "0.x", 44 | "vtex.product-quantity": "1.x", 45 | "vtex.product-identifier": "0.x", 46 | "vtex.product-specification-badges": "0.x", 47 | "vtex.product-review-interfaces": "1.x", 48 | "vtex.telemarketing": "2.x", 49 | "vtex.order-placed": "2.x", 50 | "vtex.stack-layout": "0.x", 51 | "vtex.tab-layout": "0.x", 52 | "vtex.responsive-layout": "0.x", 53 | "vtex.slider-layout": "0.x", 54 | "vtex.iframe": "0.x", 55 | "vtex.breadcrumb": "1.x", 56 | "vtex.sticky-layout": "0.x", 57 | "vtex.add-to-cart-button": "0.x", 58 | "vtex.search": "2.x", 59 | "vtex.admin-search": "1.x", 60 | "vtex.search-resolver": "1.x", 61 | "vtex.store-image": "0.x", 62 | "vtex.modal-layout": "0.x", 63 | "vtex.product-comparison": "0.x", 64 | "vtex.store-link": "0.x", 65 | "vtex.shopper-location": "0.x", 66 | "vtex.address-locator": "2.x", 67 | "vtex.checkout-summary": "0.x", 68 | "vtex.product-availability": "0.x", 69 | "vtex.product-list": "0.x", 70 | "vtex.store-icons": "0.x", 71 | "vtex.store-video": "1.x", 72 | "vtex.product-customizer": "2.x", 73 | "vtex.product-price": "1.x", 74 | "vtex.product-specifications": "1.x", 75 | "vtex.disclosure-layout": "1.x", 76 | "vtex.modal": "0.x", 77 | "vtex.store-form": "0.x", 78 | "vtex.sku-list": "1.x", 79 | "vtex.condition-layout": "2.x", 80 | "vtex.seller-selector": "0.x", 81 | "vtex.store-newsletter": "1.x", 82 | "vtex.storefront-permissions-ui": "3.x", 83 | "vtex.b2b-quotes": "3.x", 84 | "vtex.b2b-organizations": "3.x" 85 | }, 86 | "$schema": "https://raw.githubusercontent.com/vtex/node-vtex-api/master/gen/manifest.schema" 87 | } 88 | -------------------------------------------------------------------------------- /store/blocks/product/reviews-and-ratings.jsonc: -------------------------------------------------------------------------------- 1 | { 2 | "flex-layout.row#reviews-and-ratings": { 3 | "children": ["flex-layout.col#reviews-and-ratings"], 4 | "props": { 5 | "blockClass": "reviews-and-ratings" 6 | } 7 | }, 8 | 9 | "flex-layout.col#reviews-and-ratings": { 10 | "children": [ 11 | "disclosure-layout#reviews-and-ratings", 12 | "flex-layout.col#divider" 13 | ], 14 | "props": { 15 | "blockClass": "reviews-and-ratings", 16 | "width": "74%" 17 | } 18 | }, 19 | 20 | "disclosure-layout#reviews-and-ratings": { 21 | "children": [ 22 | "disclosure-trigger#reviews-and-ratings", 23 | "disclosure-content#reviews-and-ratings" 24 | ], 25 | "props": { 26 | "initialVisibility": "visible" 27 | } 28 | }, 29 | 30 | "disclosure-trigger#reviews-and-ratings": { 31 | "children": ["flex-layout.row#disclosure-trigger-reviews"], 32 | "props": { 33 | "as": "div" 34 | } 35 | }, 36 | 37 | "flex-layout.row#disclosure-trigger-reviews": { 38 | "children": [ 39 | "rich-text#reviews-disclosure-trigger-heading", 40 | "flex-layout.col#spacer", 41 | "disclosure-state-indicator" 42 | ], 43 | "props": { 44 | "blockClass": ["items-end", "disclosure-trigger-reviews"], 45 | "colGap": 0, 46 | "colSizing": "auto", 47 | "preserveLayoutOnMobile": true, 48 | "preventHorizontalStretch": true, 49 | "preventVerticalStretch": true 50 | } 51 | }, 52 | 53 | "rich-text#reviews-disclosure-trigger-heading": { 54 | "props": { 55 | "blockClass": ["reviews", "disclosure-trigger-heading"], 56 | "text": "Customer reviews", 57 | "font": "t-heading-5" 58 | } 59 | }, 60 | 61 | "disclosure-content#reviews-and-ratings": { 62 | "children": ["flex-layout.row#reviews"], 63 | "props": { 64 | "blockClass": "reviews-and-ratings" 65 | } 66 | }, 67 | 68 | "flex-layout.row#reviews": { 69 | "children": ["flex-layout.col#reviews"] 70 | }, 71 | 72 | "flex-layout.col#reviews": { 73 | "children": ["flex-layout.row#reviews-content"] 74 | }, 75 | 76 | "flex-layout.row#reviews-content": { 77 | "children": [ 78 | "flex-layout.col#ratings-only", 79 | "flex-layout.col#reviews-only" 80 | ], 81 | "props": { 82 | "colGap": 8, 83 | "colSizing": "auto", 84 | "preventHorizontalStretch": true, 85 | "preventVerticalStretch": true 86 | } 87 | }, 88 | 89 | // This is a nasty workaround because `product-reviews.vtex` doesn't have composability 90 | // and it doesn't respect `blockClass` either. 91 | 92 | "flex-layout.col#ratings-only": { 93 | "children": ["product-reviews"], 94 | "props": { 95 | "blockClass": ["ratings-only"] 96 | } 97 | }, 98 | 99 | "flex-layout.col#reviews-only": { 100 | "children": ["product-reviews"], 101 | "props": { 102 | "blockClass": ["reviews-only"] 103 | } 104 | } 105 | } 106 | -------------------------------------------------------------------------------- /store/blocks/components/blog.jsonc: -------------------------------------------------------------------------------- 1 | { 2 | "flex-layout.row#blog": { 3 | "children": ["flex-layout.col#blogSEO", "flex-layout.col#blogPosts"], 4 | "props": { 5 | "blockClass": "blog", 6 | "colSizing": "auto", 7 | "colGap": 8, 8 | "preventHorizontalStretch": true 9 | } 10 | }, 11 | 12 | "flex-layout.col#blogSEO": { 13 | "children": ["search-title.v2", "rich-text#blogSEO"], 14 | "props": { 15 | "blockClass": "blogSEO", 16 | "preventVerticalStretch": true 17 | } 18 | }, 19 | 20 | "rich-text#blogSEO": { 21 | "props": { 22 | "text": "JBL TUNE 750BTNC wireless headphones feature powerful JBL Pure Bass Sound and active noise cancelling for punchy bass and an immersive audio experience. The lightweight over-ear design offers maximum comfort and sound quality while ready to travel everywhere you go with its compact foldable competence 15 hours of battery life which recharge in only 2 hours enables noise-free wireless playback Allowing connection with two Bluetooth devices simultaneously the multipoint connection makes sure you won’t miss a call on your phone while streaming videos on your tablet. JBL TUNE 750BTNC wireless headphones feature powerful JBL Pure Bass Sound and active noise cancelling for punchy bass and an immersive audio experience. The lightweight over-ear design offers maximum comfort and sound quality while ready to travel everywhere you go with its compact foldable competence 15 hours of battery life which recharge in only 2 hours enables noise-free wireless playback Allowing connection with two Bluetooth devices simultaneously the multipoint connection makes sure you won’t miss a call on your phone while streaming videos on your tablet.", 23 | "blockClass": "blogSEO" 24 | } 25 | }, 26 | 27 | "flex-layout.col#blogPosts": { 28 | "children": ["blog-category-preview.wordpress-category-preview"], 29 | "props": { 30 | "width": "grow" 31 | } 32 | }, 33 | 34 | "blog-category-preview.wordpress-category-preview": { 35 | "props": { 36 | "category": 11, 37 | "numberOfPosts": 4, 38 | "showDates": false, 39 | "showExcerpts": true, 40 | "absoluteLinks": true 41 | } 42 | }, 43 | 44 | "flex-layout.row#blogMobile": { 45 | "children": ["flex-layout.col#blogColMobile"], 46 | "props": { 47 | "blockClass": "blog" 48 | } 49 | }, 50 | 51 | "flex-layout.col#blogColMobile": { 52 | "children": [ 53 | "search-title.v2", 54 | "rich-text#blogSEO", 55 | "rich-text#blogSecondarySEO", 56 | "blog-category-preview.wordpress-category-preview#mobile" 57 | ] 58 | }, 59 | 60 | "rich-text#blogSecondarySEO": { 61 | "props": { 62 | "text": "### Learn more about Computer & Software", 63 | "blockClass": "blogSecondarySEO" 64 | } 65 | }, 66 | 67 | "blog-category-preview.wordpress-category-preview#mobile": { 68 | "props": { 69 | "category": 11, 70 | "numberOfPosts": 3, 71 | "showDates": false, 72 | "showExcerpts": true, 73 | "absoluteLinks": true 74 | } 75 | } 76 | } 77 | -------------------------------------------------------------------------------- /styles/css/vtex.modal-layout.css: -------------------------------------------------------------------------------- 1 | .triggerContainer--quickviewTrigger { 2 | background: #f3f9fe; 3 | position: absolute; 4 | width: 38px; 5 | height: 38px; 6 | border-radius: 50%; 7 | top: 76px; 8 | display: flex; 9 | align-items: center; 10 | justify-content: center; 11 | opacity: 0; 12 | transition: all 0.3s ease; 13 | outline: none; 14 | } 15 | 16 | .paper--quickviewContainer { 17 | padding: 32px; 18 | overflow: visible; 19 | } 20 | 21 | .paper--quickviewContainer 22 | :global(.vtex-store-components-3-x-carouselGaleryThumbs) { 23 | display: none; 24 | opacity: 0; 25 | visibility: hidden; 26 | } 27 | 28 | .paper--quickviewContainer 29 | :global(.vtex-store-components-3-x-productImagesContainer), 30 | .paper--quickviewContainer 31 | :global(.vtex-store-components-3-x-carouselContainer) { 32 | width: auto; 33 | } 34 | 35 | .paper--quickviewContainer 36 | :global(.vtex-store-components-3-x-carouselGaleryCursor) { 37 | margin-left: initial !important; 38 | width: initial !important; 39 | } 40 | 41 | .paper--quickviewContainer 42 | :global(.vtex-store-components-3-x-productImagesContainer--desktop)::after { 43 | content: none; 44 | } 45 | 46 | .paper--quickviewContainer :global(.vtex-flex-layout-0-x-flexCol--right-col) { 47 | margin-right: 24px; 48 | } 49 | 50 | .paper--quickviewContainer .closeButton { 51 | width: 32px; 52 | height: 32px !important; 53 | display: block; 54 | position: absolute; 55 | top: -12px; 56 | right: -12px; 57 | min-height: initial; 58 | border-radius: 50%; 59 | background: #dee7ef; 60 | border: none; 61 | outline: none; 62 | } 63 | 64 | .paper--quickviewContainer .closeButtonLabel { 65 | display: none; 66 | } 67 | 68 | .paper--quickviewContainer .closeButton::before { 69 | content: url("assets/icons/closeQuickviewIcon.svg"); 70 | display: block; 71 | } 72 | 73 | /* Shipping Availability */ 74 | 75 | .headerContainer--shipping-availability { 76 | align-items: center; 77 | border-bottom: 1px solid var(--lines-light); 78 | position: relative; 79 | padding: 0.5rem 1rem; 80 | } 81 | 82 | .closeButtonContainer--shipping-availability { 83 | align-items: center; 84 | background-color: var(--lines-light); 85 | border-radius: 999px; 86 | display: flex; 87 | height: 2rem; 88 | justify-content: center; 89 | top: 1rem; 90 | right: 1rem; 91 | width: 2rem; 92 | } 93 | 94 | @media (min-width: 64rem) { 95 | .paper--shipping-availability { 96 | overflow: visible; 97 | } 98 | .headerContainer--shipping-availability { 99 | border: none; 100 | height: 0; 101 | padding: 0; 102 | } 103 | .headerContent--shipping-availability { 104 | display: none; 105 | } 106 | .closeButtonContainer--shipping-availability { 107 | position: absolute; 108 | top: 0; 109 | right: 0; 110 | transform: translate(50%, -50%); 111 | } 112 | } 113 | 114 | .closeButton--shipping-availability { 115 | padding: 0; 116 | font-style: 0; 117 | line-height: 0; 118 | } 119 | 120 | .closeIcon--shipping-availability { 121 | height: 1.25rem; 122 | width: 1.25rem; 123 | } 124 | -------------------------------------------------------------------------------- /store/blocks/product/features.jsonc: -------------------------------------------------------------------------------- 1 | { 2 | "flex-layout.row#features": { 3 | "children": ["flex-layout.col#features"], 4 | "props": { 5 | "blockClass": "specification" 6 | } 7 | }, 8 | 9 | "flex-layout.col#features": { 10 | "children": ["disclosure-layout#features", "flex-layout.col#divider"], 11 | "props": { 12 | "blockClass": "specification", 13 | "width": "74%" 14 | } 15 | }, 16 | 17 | "disclosure-layout#features": { 18 | "children": ["disclosure-trigger#features", "disclosure-content#features"], 19 | "props": { 20 | "initialVisibility": "visible" 21 | } 22 | }, 23 | 24 | "disclosure-trigger#features": { 25 | "children": ["flex-layout.row#disclosure-trigger-features"], 26 | "props": { 27 | "as": "div" 28 | } 29 | }, 30 | 31 | "flex-layout.row#disclosure-trigger-features": { 32 | "children": [ 33 | "rich-text#features-disclosure-trigger-heading", 34 | "flex-layout.col#spacer", 35 | "disclosure-state-indicator" 36 | ], 37 | "props": { 38 | "blockClass": ["items-end", "disclosure-trigger-specification"], 39 | "colGap": 0, 40 | "colSizing": "auto", 41 | "preserveLayoutOnMobile": true, 42 | "preventHorizontalStretch": true, 43 | "preventVerticalStretch": true 44 | } 45 | }, 46 | 47 | "rich-text#features-disclosure-trigger-heading": { 48 | "props": { 49 | "blockClass": ["features", "disclosure-trigger-heading"], 50 | "text": "Features & details", 51 | "font": "t-heading-5" 52 | } 53 | }, 54 | 55 | "disclosure-content#features": { 56 | "children": ["product-specification-group#features"], 57 | "props": { 58 | "blockClass": "specification" 59 | } 60 | }, 61 | 62 | "product-specification-group#features": { 63 | "children": ["flex-layout.row#spec-group--features"], 64 | "props": { 65 | "filter": { 66 | "type": "show", 67 | "specificationGroups": ["Features & details"] 68 | } 69 | } 70 | }, 71 | 72 | "flex-layout.row#spec-group--features": { 73 | "children": ["flex-layout.col#spec-group--features"], 74 | "props": { 75 | "blockClass": ["spec-group"] 76 | } 77 | }, 78 | 79 | "flex-layout.col#spec-group--features": { 80 | "children": ["product-specification#table--features"], 81 | "props": { 82 | "blockClass": ["spec-group"] 83 | } 84 | }, 85 | 86 | "product-specification#table--features": { 87 | "children": ["flex-layout.row#spec-item--features"] 88 | }, 89 | 90 | "flex-layout.row#spec-item--features": { 91 | "children": ["flex-layout.col#spec-name--features"], 92 | "props": { 93 | "blockClass": ["spec-item"], 94 | "preserveLayoutOnMobile": true, 95 | "colGap": 3 96 | } 97 | }, 98 | 99 | "flex-layout.col#spec-name--features": { 100 | "children": ["product-specification-text#features"], 101 | "props": { 102 | "blockClass": ["spec-name", "features"] 103 | } 104 | }, 105 | 106 | "product-specification-text#features": { 107 | "props": { 108 | "blockClass": ["bullet-list"], 109 | "message": "{specificationName}" 110 | } 111 | } 112 | } 113 | -------------------------------------------------------------------------------- /styles/css/vtex.reviews-and-ratings.css: -------------------------------------------------------------------------------- 1 | .inlineContainer { 2 | margin: 0; 3 | } 4 | 5 | .container { 6 | max-width: initial; 7 | padding: 0; 8 | margin: 0; 9 | } 10 | 11 | .summaryContainer { 12 | display: flex; 13 | font-size: 12px; 14 | line-height: 16px; 15 | color: #717786; 16 | margin: 0; 17 | margin-bottom: 0.5rem; 18 | } 19 | 20 | .stars { 21 | display: flex; 22 | align-items: center; 23 | padding-right: 8px; 24 | } 25 | 26 | .summaryContainer .stars { 27 | justify-content: center; 28 | } 29 | 30 | .star { 31 | background-color: transparent; 32 | background-position: center; 33 | background-repeat: no-repeat; 34 | background-size: contain; 35 | color: transparent; 36 | display: inline-block; 37 | font-size: 0; 38 | height: 16px; 39 | width: 16px; 40 | } 41 | 42 | .star--filled { 43 | background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 576 512'%3E%3Cpath fill='%23FFBA09' d='M259.3 17.8L194 150.2 47.9 171.5c-26.2 3.8-36.7 36.1-17.7 54.6l105.7 103-25 145.5c-4.5 26.3 23.2 46 46.4 33.7L288 439.6l130.7 68.7c23.2 12.2 50.9-7.4 46.4-33.7l-25-145.5 105.7-103c19-18.5 8.5-50.8-17.7-54.6L382 150.2 316.7 17.8c-11.7-23.6-45.6-23.9-57.4 0z'%3E%3C/path%3E%3C/svg%3E"); 44 | } 45 | 46 | .star--empty { 47 | background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 576 512'%3E%3Cpath fill='%23FFBA09' d='M528.1 171.5L382 150.2 316.7 17.8c-11.7-23.6-45.6-23.9-57.4 0L194 150.2 47.9 171.5c-26.2 3.8-36.7 36.1-17.7 54.6l105.7 103-25 145.5c-4.5 26.3 23.2 46 46.4 33.7L288 439.6l130.7 68.7c23.2 12.2 50.9-7.4 46.4-33.7l-25-145.5 105.7-103c19-18.5 8.5-50.8-17.7-54.6zM388.6 312.3l23.7 138.4L288 385.4l-124.3 65.3 23.7-138.4-100.6-98 139-20.2 62.2-126 62.2 126 139 20.2-100.6 98z'%3E%3C/path%3E%3C/svg%3E"); 48 | } 49 | 50 | /* Product Page */ 51 | 52 | @media (min-width: 64rem) { 53 | .reviewCommentsContainer { 54 | width: 680px; 55 | } 56 | } 57 | 58 | :global(.vtex-flex-layout-0-x-flexCol--ratings-only) .container { 59 | background-color: #f3f9ff; 60 | border-radius: 4px; 61 | padding: 32px 24px; 62 | } 63 | 64 | .starsContainer, 65 | .reviewsRating { 66 | margin-bottom: 1rem; 67 | } 68 | 69 | .reviewsRating { 70 | font-size: 16px; 71 | line-height: 24px; 72 | text-align: center; 73 | } 74 | 75 | .starsContainer .stars { 76 | justify-content: center; 77 | } 78 | 79 | .writeReviewContainer { 80 | text-align: center; 81 | margin: 0; 82 | } 83 | 84 | .writeReviewContainer 85 | :global(.vtex-styleguide-9-x-jsFocusVisible) 86 | :not(:global(.vtex-fake)):first-child { 87 | justify-content: center; 88 | } 89 | 90 | .writeReviewContainer 91 | :global(.vtex-styleguide-9-x-jsFocusVisible) 92 | :not(:global(.vtex-fake)):first-child 93 | :not(:global(.vtex-fake)):last-child { 94 | flex-grow: unset; 95 | } 96 | 97 | .formContainer { 98 | background-color: transparent; 99 | margin: 0; 100 | padding: 0; 101 | text-align: initial; 102 | } 103 | 104 | .formContainer :global(.vtex-card) { 105 | background-color: transparent; 106 | box-shadow: none !important; 107 | padding: 0; 108 | } 109 | 110 | .reviewCommentRating { 111 | color: var(--black-dark); 112 | } 113 | 114 | .reviewComment { 115 | border-width: 1px; 116 | color: var(--black-medium); 117 | } 118 | -------------------------------------------------------------------------------- /styles/css/vtex.seller-selector.css: -------------------------------------------------------------------------------- 1 | .sellerMasterContainer { 2 | max-width: 1440px; 3 | width: 100%; 4 | padding: 32px 32px 0px; 5 | margin: 0px auto; 6 | } 7 | 8 | .sellerHead { 9 | border-radius: 0px; 10 | background: #dee7ef; 11 | } 12 | 13 | .sellerRow { 14 | padding: 16px 0px; 15 | border: none; 16 | border-bottom: 1px solid #dee7ef; 17 | } 18 | 19 | .sellerRow:first-child { 20 | border-top: 1px solid #dee7ef; 21 | } 22 | 23 | .sellerList, 24 | .sellerHead { 25 | margin-left: 0; 26 | margin-right: 0; 27 | flex: 100%; 28 | } 29 | 30 | .sellerPriceShippingText { 31 | display: flex; 32 | align-items: center; 33 | justify-content: center; 34 | } 35 | 36 | .sellerBuyContainer :global(.vtex-button) { 37 | height: 48px; 38 | border-radius: 4px; 39 | background: var(--fresh-orange); 40 | border: none; 41 | outline: none; 42 | } 43 | 44 | .sellerMasterContainer { 45 | display: flex; 46 | flex-flow: row wrap; 47 | } 48 | 49 | .simulateShipping, 50 | .sellerMasterContainer 51 | :global(.vtex-store-components-3-x-productNameContainer) { 52 | flex: 50%; 53 | } 54 | 55 | .sellerMasterContainer 56 | :global(.vtex-store-components-3-x-productNameContainer) { 57 | display: flex; 58 | align-items: center; 59 | font-size: 16px; 60 | line-height: 18px; 61 | font-weight: 400; 62 | margin: 0; 63 | } 64 | 65 | .simulateShipping { 66 | display: flex; 67 | flex-flow: column; 68 | border: none; 69 | padding: 0; 70 | } 71 | 72 | .simulateShipping :global(.vtex-button) { 73 | margin: 0; 74 | border: none; 75 | height: 48px; 76 | background: var(--fresh-orange); 77 | margin-top: 16px; 78 | outline: none; 79 | border-radius: 4px; 80 | } 81 | 82 | @media (max-width: 64rem) { 83 | .sellerMasterContainer 84 | :global(.vtex-store-components-3-x-productNameContainer) { 85 | text-align: left; 86 | } 87 | 88 | .simulateShipping { 89 | margin: 0; 90 | } 91 | 92 | .sellerName { 93 | background: none; 94 | } 95 | 96 | .sellerBuyContainer { 97 | padding: 0; 98 | } 99 | } 100 | 101 | /* Link Seller */ 102 | 103 | .linkSellerContainer--default { 104 | display: block; 105 | flex-direction: initial; 106 | } 107 | 108 | .linkSeller--default { 109 | background-color: var(--fresh-blue-lightest); 110 | border: 0.0625rem solid var(--lines-light); 111 | border-radius: 0.25rem; 112 | display: flex; 113 | align-items: center; 114 | justify-content: space-between; 115 | color: var(--black-medium); 116 | text-decoration: none; 117 | padding: 1.1875rem 1.25rem; 118 | width: 100%; 119 | } 120 | 121 | .linkSeller--default::after { 122 | background-color: transparent; 123 | background-size: 100%; 124 | background-repeat: no-repeat; 125 | background-position: center; 126 | background-image: url("data:image/svg+xml,%3Csvg width='7' height='12' viewBox='0 0 7 12' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M1 11L6 6L1 1' stroke='%230067C7' stroke-width='1.6' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E%0A"); 127 | content: ""; 128 | display: inline-block; 129 | height: 0.75rem; 130 | width: 0.4375rem; 131 | } 132 | 133 | .linkSellerText--default { 134 | font-size: 0; 135 | padding: 0; 136 | margin: 0; 137 | } 138 | 139 | .linkSellerText--default::before { 140 | font-size: 0.875rem; 141 | content: "See from other sellers"; 142 | } 143 | -------------------------------------------------------------------------------- /store/blocks/product/assembly-options.jsonc: -------------------------------------------------------------------------------- 1 | { 2 | "flex-layout.row#assembly-options": { 3 | "children": ["flex-layout.col#assembly-options"], 4 | "props": { 5 | "blockClass": ["assembly-options"] 6 | } 7 | }, 8 | 9 | "flex-layout.col#assembly-options": { 10 | "children": ["product-assembly-options#desktop"], 11 | "props": { 12 | "blockClass": "assembly-options" 13 | } 14 | }, 15 | 16 | "product-assembly-options#desktop": { 17 | "children": [ 18 | "flex-layout.row#product-assembly-options", 19 | "assembly-option-input-values" 20 | ], 21 | "props": { 22 | "blockClass": "desktop" 23 | } 24 | }, 25 | 26 | "flex-layout.row#product-assembly-options": { 27 | "props": { 28 | "colGap": 2, 29 | "preserveLayoutOnMobile": true, 30 | "colSizing": "auto" 31 | }, 32 | "children": [ 33 | "flex-layout.col#product-assembly-image", 34 | "flex-layout.col#product-assembly-middle", 35 | "flex-layout.col#product-assembly-quantity" 36 | ] 37 | }, 38 | 39 | "flex-layout.col#product-assembly-quantity": { 40 | "props": { 41 | "verticalAlign": "middle" 42 | }, 43 | "children": ["assembly-option-item-quantity-selector"] 44 | }, 45 | 46 | "flex-layout.col#product-assembly-image": { 47 | "props": { 48 | "marginRight": 4 49 | }, 50 | "children": ["assembly-option-item-image"] 51 | }, 52 | 53 | "flex-layout.col#product-assembly-middle": { 54 | "props": { 55 | "width": "grow", 56 | "verticalAlignment": "middle" 57 | }, 58 | "children": [ 59 | "assembly-option-item-name", 60 | "assembly-option-item-price", 61 | "assembly-option-item-children-description", 62 | "assembly-option-item-customize#first-level" 63 | ] 64 | }, 65 | 66 | "assembly-option-item-customize#first-level": { 67 | "props": { 68 | "buttonProps": { 69 | "collapse": "left" 70 | } 71 | }, 72 | "children": [ 73 | "flex-layout.row#item-customize", 74 | "assembly-option-input-values" 75 | ] 76 | }, 77 | 78 | "flex-layout.row#item-customize": { 79 | "props": { 80 | "colGap": 2, 81 | "preserveLayoutOnMobile": true, 82 | "colSizing": "auto" 83 | }, 84 | "children": [ 85 | "flex-layout.col#product-assembly-image", 86 | "flex-layout.col#item-customize-middle", 87 | "flex-layout.col#item-customize-quantity" 88 | ] 89 | }, 90 | 91 | "flex-layout.col#item-customize-middle": { 92 | "props": { 93 | "width": "grow", 94 | "verticalAlignment": "middle" 95 | }, 96 | "children": [ 97 | "assembly-option-item-name", 98 | "assembly-option-item-price", 99 | "assembly-option-item-children-description", 100 | "assembly-option-item-customize#sec-level" 101 | ] 102 | }, 103 | 104 | "flex-layout.col#item-customize-quantity": { 105 | "props": { 106 | "horizontalAlign": "right", 107 | "verticalAlign": "middle" 108 | }, 109 | "children": ["assembly-option-item-quantity-selector"] 110 | }, 111 | 112 | "assembly-option-item-customize#sec-level": { 113 | "props": { 114 | "buttonProps": { 115 | "collapse": "left" 116 | } 117 | }, 118 | "children": [ 119 | "assembly-option-item-image", 120 | "assembly-option-item-name", 121 | "assembly-option-item-price", 122 | "assembly-option-item-quantity-selector" 123 | ] 124 | } 125 | } 126 | -------------------------------------------------------------------------------- /assets/icons/quickOrderIcon.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | -------------------------------------------------------------------------------- /styles/css/vtex.pickup-availability.css: -------------------------------------------------------------------------------- 1 | .container--default, 2 | .container--default 3 | :not(:global(.vtex-fake)):not(.storeListItem--default):not(.storeListContainer--default):not(.chooseDifferentStoreButton--default) { 4 | font-size: 0.875rem; 5 | margin-top: 0; 6 | margin-bottom: 0; 7 | margin-left: 0; 8 | margin-right: 0; 9 | } 10 | 11 | .container--default { 12 | text-align: center; 13 | } 14 | 15 | @media (min-width: 40rem) { 16 | .container--default { 17 | width: 18rem; 18 | } 19 | } 20 | 21 | .container--default :global(.vtex-input-prefix__group) { 22 | border-width: 0.0625rem; 23 | border-color: var(--lines-dark); 24 | height: 2.75rem; 25 | } 26 | 27 | .container--default 28 | :not(:global(.vtex-input)):not(.storeListContainer--default):not(:global(.vtex-styleguide-9-x-input)):not(.availableAtHeader--default):not(.storeList--default):not(.storeSelectedContainer--default) { 29 | font-size: 0; 30 | } 31 | 32 | .storeSelectedContainer--default, 33 | .storeListContainer--default { 34 | font-size: 0.875rem; 35 | text-align: left; 36 | } 37 | 38 | .storeListContainer--default :not(:global(.vtex-fake)), 39 | .storeSelectedContainer--default :not(:global(.vtex-fake)) { 40 | font-size: inherit !important; 41 | } 42 | 43 | .storeListContainer--default :global(.vtex-radio__fakeRadioContainer), 44 | .storeListContainer--default :global(.vtex-radio__label) { 45 | display: none; 46 | } 47 | 48 | .storeListContainer--default :global(.vtex-radio__input) { 49 | display: inline-block; 50 | height: 0.8125rem !important; 51 | opacity: 1; 52 | position: static; 53 | width: 0.8125rem !important; 54 | } 55 | 56 | .storeListContainer--default :global(.vtex-radio) { 57 | align-items: center; 58 | background-color: #f3f9ff; 59 | border-right: 1px solid #dee7ef; 60 | border-top-left-radius: 0.25rem; 61 | border-bottom-left-radius: 0.25rem; 62 | display: flex; 63 | height: 100%; 64 | justify-content: center; 65 | padding: 32px 16px; 66 | width: 53px; 67 | } 68 | 69 | .storeListItem--default { 70 | background-color: #fff; 71 | border: 1px solid var(--lines-light); 72 | border-radius: 0.25rem; 73 | padding: 0; 74 | margin-bottom: 0.5rem; 75 | } 76 | 77 | .storeListItem--default:last-child { 78 | margin-bottom: 0; 79 | } 80 | 81 | .storeListItem--default :not(:global(.vtex-fake)) { 82 | margin: 0; 83 | } 84 | 85 | .storeListItem--default:focus { 86 | outline: none; 87 | } 88 | 89 | .pickupItem--default { 90 | align-self: center; 91 | display: flex; 92 | line-height: 1.4285714286; 93 | padding: 1rem; 94 | width: 100%; 95 | } 96 | 97 | .pickupName--default, 98 | .pickupEstimate--default, 99 | .pickupUnavailable--default { 100 | font-weight: 500; 101 | } 102 | 103 | .pickupEstimate--default, 104 | .estimateTranslated--default { 105 | display: inline !important; 106 | color: var(--green-dark); 107 | } 108 | 109 | .pickupUnavailable--default { 110 | color: var(--serious-orange); 111 | } 112 | 113 | .storeListContainer--default { 114 | margin: 0; 115 | margin-top: 1rem; 116 | padding: 0; 117 | } 118 | 119 | .availableAtHeader--default, 120 | .availabilityHeader--default { 121 | display: none; 122 | } 123 | 124 | .storeSelectedContainer--default .pickupItem--default { 125 | border-radius: 0.25rem; 126 | background-color: #fff; 127 | border: 1px solid var(--lines-light); 128 | } 129 | 130 | .chooseDifferentStoreButton--default { 131 | margin-top: 1rem; 132 | } 133 | 134 | .chooseDifferentStoreButton--default :global(.vtex-button) { 135 | background-color: var(--fresh-blue); 136 | color: #fff; 137 | height: 3rem; 138 | width: 100%; 139 | } 140 | 141 | .chooseDifferentStoreButtonText--default { 142 | font-weight: 500; 143 | text-transform: uppercase; 144 | } 145 | -------------------------------------------------------------------------------- /store/blocks/sellers.jsonc: -------------------------------------------------------------------------------- 1 | { 2 | "store.sellers": { 3 | "blocks": [ 4 | "responsive-layout.desktop#sellerPage", 5 | "responsive-layout.mobile#sellerPage" 6 | ] 7 | }, 8 | "responsive-layout.desktop#sellerPage": { 9 | "children": [ 10 | "seller-table#desktop" 11 | ] 12 | }, 13 | "responsive-layout.mobile#sellerPage": { 14 | "children": [ 15 | "seller-table#mobile" 16 | ] 17 | }, 18 | "seller-table#desktop": { 19 | "children": [ 20 | "flex-layout.row#sellerLayout" 21 | ] 22 | }, 23 | "flex-layout.row#sellerLayout": { 24 | "children": [ 25 | "flex-layout.col#sellerPageProduct", 26 | "flex-layout.col#sellersList" 27 | ], 28 | "props": { 29 | "colSizing": "auto", 30 | "fullWidth": true, 31 | "colGap": 8, 32 | "blockClass": "sellersPageLayout" 33 | } 34 | }, 35 | "flex-layout.col#sellersList": { 36 | "children": [ 37 | "seller-body" 38 | ], 39 | "props": { 40 | "preventVerticalStretch": true, 41 | "width": "grow" 42 | } 43 | }, 44 | "flex-layout.col#sellerPageProduct": { 45 | "children": [ 46 | "flex-layout.col#productSellersPage", 47 | "flex-layout.row#simulateShipping" 48 | ] 49 | }, 50 | "flex-layout.row#simulateShipping": { 51 | "children": [ 52 | "seller-simulate-shipping" 53 | ] 54 | }, 55 | "flex-layout.col#productSellersPage": { 56 | "children": [ 57 | "product-images#sellers", 58 | "vtex.store-components:product-name", 59 | "product-identifier.product" 60 | ], 61 | "props": { 62 | "blockClass": [ 63 | "productBoxSellersPage", 64 | "productSellersPageCol" 65 | ] 66 | } 67 | }, 68 | "seller-body": { 69 | "children": [ 70 | "seller-row" 71 | ] 72 | }, 73 | "seller-row": { 74 | "children": [ 75 | "vtex.seller-selector:seller-name", 76 | "vtex.seller-selector:seller-price", 77 | "seller-shipping", 78 | "seller-price-with-shipping", 79 | "seller-add-to-cart" 80 | ] 81 | }, 82 | "seller-add-to-cart": { 83 | "blocks": [ 84 | "add-to-cart-button" 85 | ] 86 | }, 87 | "product-images#sellers": { 88 | "props": { 89 | "blockClass": "sellersPage", 90 | "aspectRatio": "1:1", 91 | "displayThumbnailsArrows": false, 92 | "maxHeight": 168, 93 | "showNavigationArrows": false, 94 | "showPaginationDots": false, 95 | "thumbnailMaxHeight": 0, 96 | "zoomMode": "disabled", 97 | "contentType": "images" 98 | } 99 | }, 100 | "seller-table#mobile": { 101 | "children": [ 102 | "flex-layout.row#sellerLayoutMobile" 103 | ] 104 | }, 105 | "flex-layout.row#sellerLayoutMobile": { 106 | "children": [ 107 | "flex-layout.row#sellerLayoutMobileCol" 108 | ], 109 | "props": { 110 | "fullWidth": true, 111 | "blockClass": "sellerLayoutMobile" 112 | } 113 | }, 114 | "flex-layout.row#sellerLayoutMobileCol": { 115 | "children": [ 116 | "flex-layout.row#productBox", 117 | "seller-simulate-shipping", 118 | "flex-layout.col#sellersList" 119 | ], 120 | "props": { 121 | "rowGap": 6 122 | } 123 | }, 124 | "flex-layout.row#productBox": { 125 | "children": [ 126 | "product-images#sellers", 127 | "flex-layout.col#productBoxInfo" 128 | ], 129 | "props": { 130 | "preserveLayoutOnMobile": true, 131 | "preventHorizontalStretch": true 132 | } 133 | }, 134 | "flex-layout.col#productBoxInfo": { 135 | "children": [ 136 | "vtex.store-components:product-name", 137 | "product-identifier.product" 138 | ], 139 | "props": { 140 | "verticalAlign": "middle", 141 | "preventVerticalStretch": true, 142 | "rowGap": 0 143 | } 144 | } 145 | } -------------------------------------------------------------------------------- /store/blocks/product/specification.jsonc: -------------------------------------------------------------------------------- 1 | { 2 | "flex-layout.row#specification": { 3 | "children": ["flex-layout.col#specification"], 4 | "props": { 5 | "blockClass": "specification" 6 | } 7 | }, 8 | 9 | "flex-layout.col#specification": { 10 | "children": ["disclosure-layout#specification", "flex-layout.col#divider"], 11 | "props": { 12 | "blockClass": "specification", 13 | "width": "74%" 14 | } 15 | }, 16 | 17 | "disclosure-layout#specification": { 18 | "children": [ 19 | "disclosure-trigger#specification", 20 | "disclosure-content#specification" 21 | ], 22 | "props": { 23 | "initialVisibility": "visible" 24 | } 25 | }, 26 | 27 | "disclosure-trigger#specification": { 28 | "children": ["flex-layout.row#disclosure-trigger-specification"], 29 | "props": { 30 | "as": "div" 31 | } 32 | }, 33 | 34 | "flex-layout.row#disclosure-trigger-specification": { 35 | "children": [ 36 | "rich-text#specifications-disclosure-trigger-heading", 37 | "flex-layout.col#spacer", 38 | "disclosure-state-indicator" 39 | ], 40 | "props": { 41 | "blockClass": ["items-end", "disclosure-trigger-specification"], 42 | "colGap": 0, 43 | "colSizing": "auto", 44 | "preserveLayoutOnMobile": true, 45 | "preventHorizontalStretch": true, 46 | "preventVerticalStretch": true 47 | } 48 | }, 49 | 50 | "rich-text#specifications-disclosure-trigger-heading": { 51 | "props": { 52 | "blockClass": ["specifications", "disclosure-trigger-heading"], 53 | "text": "Specifications", 54 | "font": "t-heading-5" 55 | } 56 | }, 57 | 58 | "disclosure-content#specification": { 59 | "children": ["product-specification-group#table"], 60 | "props": { 61 | "blockClass": "specification" 62 | } 63 | }, 64 | 65 | "product-specification-group#table": { 66 | "children": ["flex-layout.row#spec-group"], 67 | "props": { 68 | "filter": { 69 | "type": "show", 70 | "specificationGroups": ["Product especification"] 71 | } 72 | } 73 | }, 74 | 75 | "flex-layout.row#spec-group": { 76 | "children": ["flex-layout.col#spec-group"], 77 | "props": { 78 | "blockClass": ["spec-group", "table"] 79 | } 80 | }, 81 | 82 | "flex-layout.col#spec-group": { 83 | "children": ["product-specification#table"], 84 | "props": { 85 | "blockClass": ["spec-group", "table"] 86 | } 87 | }, 88 | 89 | "product-specification-text#group": { 90 | "props": { 91 | "message": "{groupName}" 92 | } 93 | }, 94 | 95 | "product-specification#table": { 96 | "children": ["flex-layout.row#spec-item"] 97 | }, 98 | 99 | "flex-layout.row#spec-item": { 100 | "children": ["flex-layout.col#spec-name", "flex-layout.col#spec-value"], 101 | "props": { 102 | "blockClass": ["spec-item", "table-row"], 103 | "preserveLayoutOnMobile": true, 104 | "colGap": 3 105 | } 106 | }, 107 | 108 | "flex-layout.col#spec-name": { 109 | "children": ["product-specification-text#specification"], 110 | "props": { 111 | "blockClass": ["spec-name", "table-cell", "table-heading"], 112 | "width": "33%" 113 | } 114 | }, 115 | 116 | "product-specification-text#specification": { 117 | "props": { 118 | "message": "{specificationName}" 119 | } 120 | }, 121 | 122 | "flex-layout.col#spec-value": { 123 | "children": ["product-specification-values"], 124 | "props": { 125 | "blockClass": ["spec-value", "table-cell"] 126 | } 127 | }, 128 | 129 | "product-specification-values": { 130 | "children": ["product-specification-text#value"] 131 | }, 132 | 133 | "product-specification-text#value": { 134 | "props": { 135 | "message": "{specificationValue}" 136 | } 137 | } 138 | } 139 | -------------------------------------------------------------------------------- /styles/iconpacks/iconpack.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | 29 | 30 | 31 | 32 | 33 | 34 | 35 | 36 | 37 | 38 | 39 | -------------------------------------------------------------------------------- /store/blocks/product/description-and-gallery.jsonc: -------------------------------------------------------------------------------- 1 | { 2 | "flex-layout.row#description-and-gallery": { 3 | "children": ["flex-layout.col#description-and-gallery"], 4 | "props": { 5 | "blockClass": "description-and-gallery" 6 | } 7 | }, 8 | 9 | "flex-layout.col#description-and-gallery": { 10 | "children": [ 11 | "flex-layout.col#divider", 12 | "responsive-layout.mobile#description", 13 | "responsive-layout.desktop#description", 14 | "flex-layout.col#divider" 15 | ], 16 | "props": { 17 | "blockClass": "description-and-gallery", 18 | "width": "74%" 19 | } 20 | }, 21 | 22 | "responsive-layout.mobile#description": { 23 | "children": ["disclosure-layout#description"] 24 | }, 25 | 26 | "disclosure-layout#description": { 27 | "children": [ 28 | "disclosure-trigger#description", 29 | "disclosure-content#description" 30 | ], 31 | "props": { 32 | "initialVisibility": "visible" 33 | } 34 | }, 35 | 36 | "disclosure-trigger#description": { 37 | "children": ["flex-layout.row#disclosure-trigger-description"], 38 | "props": { 39 | "as": "div" 40 | } 41 | }, 42 | 43 | "flex-layout.row#disclosure-trigger-description": { 44 | "children": [ 45 | "rich-text#description-disclosure-trigger-heading", 46 | "flex-layout.col#spacer", 47 | "disclosure-state-indicator" 48 | ], 49 | "props": { 50 | "blockClass": ["items-end", "disclosure-trigger-description"], 51 | "colGap": 0, 52 | "colSizing": "auto", 53 | "preserveLayoutOnMobile": true, 54 | "preventHorizontalStretch": true, 55 | "preventVerticalStretch": true 56 | } 57 | }, 58 | 59 | "rich-text#description-disclosure-trigger-heading": { 60 | "props": { 61 | "blockClass": ["description", "disclosure-trigger-heading"], 62 | "text": "About this item", 63 | "font": "t-heading-5" 64 | } 65 | }, 66 | 67 | "disclosure-content#description": { 68 | "children": ["flex-layout.row#description--mobile"], 69 | "props": { 70 | "blockClass": "description" 71 | } 72 | }, 73 | 74 | "flex-layout.row#description--mobile": { 75 | "children": ["product-description", "product-images#gallery--mobile"], 76 | "props": { 77 | "blockClass": ["description"], 78 | "colSizing": "auto", 79 | "colGap": 0, 80 | "rowGap": 6, 81 | "preventHorizontalStretch": true, 82 | "preventVerticalStretch": true 83 | } 84 | }, 85 | 86 | "product-description": { 87 | "props": { 88 | "collapseContent": false 89 | } 90 | }, 91 | 92 | "product-images#gallery--mobile": { 93 | "props": { 94 | "blockClass": ["dots-around"], 95 | "aspectRatio": "81:56", 96 | "displayThumbnailsArrows": false, 97 | "hiddenImages": "main", 98 | "maxHeight": 160, 99 | "ModalZoom": "modal-layout#product-zoom", 100 | "showNavigationArrows": false, 101 | "showPaginationDots": true, 102 | "thumbnailsOrientation": "horizontal", 103 | "contentType": "images", 104 | "zoomMode": "open-modal" 105 | } 106 | }, 107 | 108 | "responsive-layout.desktop#description": { 109 | "children": ["flex-layout.row#description"] 110 | }, 111 | 112 | "flex-layout.row#description": { 113 | "children": ["product-description#desktop", "product-images#gallery"], 114 | "props": { 115 | "blockClass": ["description"], 116 | "colSizing": "auto", 117 | "colGap": 0, 118 | "preventHorizontalStretch": true, 119 | "preventVerticalStretch": true 120 | } 121 | }, 122 | 123 | "product-description#desktop": { 124 | "props": { 125 | "blockClass": "desktop", 126 | "collapseContent": false 127 | } 128 | }, 129 | 130 | "product-images#gallery": { 131 | "props": { 132 | "blockClass": ["gallery"], 133 | "aspectRatio": "81:56", 134 | "displayThumbnailsArrows": false, 135 | "hiddenImages": "main", 136 | "maxHeight": 224, 137 | "ModalZoom": "modal-layout#product-zoom", 138 | "showNavigationArrows": false, 139 | "showPaginationDots": false, 140 | "thumbnailsOrientation": "horizontal", 141 | "contentType": "images", 142 | "zoomMode": "open-modal" 143 | } 144 | }, 145 | 146 | "modal-layout#product-zoom": { 147 | "children": ["product-images.high-quality-image"] 148 | } 149 | } 150 | -------------------------------------------------------------------------------- /styles/css/vtex.slider-layout.css: -------------------------------------------------------------------------------- 1 | .sliderLayoutContainer:not(.sliderLayoutContainer--dotsCustom) { 2 | padding-bottom: 26px; 3 | } 4 | 5 | .sliderArrows--homeSlider { 6 | background-color: rgba(0, 51, 100, 0.32) !important; 7 | background-repeat: no-repeat !important; 8 | border-radius: 50%; 9 | height: 48px; 10 | padding: 0; 11 | width: 48px; 12 | } 13 | 14 | .caretIcon--homeSlider { 15 | display: none; 16 | } 17 | 18 | .sliderLeftArrow--homeSlider { 19 | background-image: url("assets/icons/chevronLeftWhite.svg") !important; 20 | background-position: 17px center !important; 21 | left: 16px; 22 | } 23 | 24 | .sliderRightArrow--homeSlider { 25 | background-image: url("assets/icons/chevronRightWhite.svg") !important; 26 | background-position: 20px center !important; 27 | right: 16px; 28 | } 29 | 30 | .paginationDotsContainer { 31 | bottom: 16px; 32 | } 33 | 34 | .paginationDotsContainer--dotsCustom { 35 | display: flex; 36 | width: auto; 37 | left: 50%; 38 | right: initial; 39 | transform: translateX(-50%); 40 | bottom: 16px; 41 | background: #fff; 42 | border-radius: 40px; 43 | padding: 2px 6px; 44 | box-shadow: 0px 1px 0px 0px rgba(0, 0, 0, 0.16); 45 | height: 20px; 46 | align-items: center; 47 | } 48 | 49 | .paginationDot { 50 | background-color: #bdc9d6; 51 | } 52 | 53 | .paginationDot.paginationDot--isActive { 54 | background-color: #0067c7; 55 | } 56 | 57 | .sliderLayoutContainer--benefitsSlider { 58 | margin-top: 44px; 59 | } 60 | 61 | .sliderTrackContainer { 62 | max-width: 100%; 63 | } 64 | 65 | .sliderTrack--shelfStyle1 { 66 | padding: 16px 0px; 67 | } 68 | 69 | /* BEGIN - Trending Shelf */ 70 | 71 | .sliderTrack--shelfTrending { 72 | width: 100%; 73 | display: grid; 74 | grid-template-columns: repeat(3, 1fr); 75 | grid-gap: 16px; 76 | transform: initial; 77 | justify-content: initial; 78 | } 79 | 80 | .slide--shelfTrending { 81 | width: 100% !important; 82 | } 83 | 84 | .sliderArrows--shelfAlsoView, 85 | .sliderArrows--categorySlider, 86 | .sliderArrows--shelfPopular, 87 | .sliderArrows--shelfStyle1 { 88 | width: 32px; 89 | height: 32px; 90 | display: flex; 91 | align-items: center; 92 | justify-content: center; 93 | border: 2px solid #a3afbc; 94 | background-color: #fff !important; 95 | border-radius: 999px; 96 | padding: 0; 97 | text-align: center; 98 | } 99 | 100 | .sliderArrows--shelfAlsoView .caretIcon, 101 | .sliderArrows--shelfPopular .caretIcon, 102 | .sliderArrows--shelfStyle1 .caretIcon { 103 | display: none; 104 | opacity: 0; 105 | } 106 | 107 | .sliderRightArrow--shelfAlsoView, 108 | .sliderRightArrow--shelfPopular, 109 | .sliderRightArrow--shelfStyle1 { 110 | border-color: #0067c7; 111 | } 112 | 113 | .sliderRightArrow--shelfAlsoView, 114 | .sliderRightArrow--shelfPopular, 115 | .sliderRightArrow--shelfStyle1, 116 | .sliderLeftArrow--shelfAlsoView, 117 | .sliderLeftArrow--shelfPopular, 118 | .sliderLeftArrow--shelfStyle1 { 119 | background-repeat: no-repeat !important; 120 | } 121 | 122 | .sliderRightArrow--shelfAlsoView, 123 | .sliderRightArrow--shelfPopular, 124 | .sliderRightArrow--shelfStyle1 { 125 | background-position: 11px center !important; 126 | background-image: url("assets/icons/chevronRightBlue.svg") !important; 127 | } 128 | 129 | .sliderLeftArrow--shelfAlsoView, 130 | .sliderLeftArrow--shelfPopular, 131 | .sliderLeftArrow--shelfStyle1 { 132 | background-position: 9px center !important; 133 | background-image: url("assets/icons/chevronLeftBlue.svg") !important; 134 | } 135 | 136 | .sliderLayoutContainer--categorySlider { 137 | padding: 0px 50px 28px; 138 | margin-bottom: 24px; 139 | } 140 | 141 | .caretIcon--categorySlider { 142 | height: 16px; 143 | width: 12px; 144 | } 145 | 146 | /* END - Trending Shelf */ 147 | 148 | @media (max-width: 64rem) { 149 | .sliderLayoutContainer--categorySlider { 150 | padding: 0px 42px 28px; 151 | } 152 | 153 | .paginationDotsContainer--shelfAlsoView { 154 | bottom: 0; 155 | } 156 | 157 | .sliderLayoutContainer--shelfAlsoView, 158 | .sliderLayoutContainer--bannersSlider { 159 | margin-bottom: 32px; 160 | } 161 | 162 | .sliderLayoutContainer--shelfAlsoView, 163 | .sliderLayoutContainer.sliderLayoutContainer--bannersSlider { 164 | padding-bottom: 38px; 165 | } 166 | 167 | .sliderTrack--shelfTrending { 168 | grid-template-columns: 1fr; 169 | grid-row-gap: 8px; 170 | grid-column-gap: initial; 171 | } 172 | 173 | .sliderTrack--shelfPopular { 174 | overflow: hidden; 175 | pointer-events: none; 176 | display: grid; 177 | grid-template-columns: 1fr 1fr; 178 | } 179 | 180 | .sliderTrack--shelfPopular .slide { 181 | width: 100% !important; 182 | } 183 | 184 | .sliderLayoutContainer--stripeSlider { 185 | padding-bottom: 0 !important; 186 | background: #1b3255; 187 | margin-top: 16px; 188 | height: 40px; 189 | } 190 | 191 | .slide--shelfStyle1 { 192 | max-width: 160px; 193 | } 194 | } 195 | -------------------------------------------------------------------------------- /styles/css/vtex.store-link.css: -------------------------------------------------------------------------------- 1 | .link--popularLink, 2 | .link--trendingLink { 3 | text-decoration: none; 4 | } 5 | 6 | .label--popularLink, 7 | .label--trendingLink { 8 | color: #0067c7; 9 | font-size: 14px; 10 | line-height: 24px; 11 | font-weight: bold; 12 | } 13 | 14 | .label--popularLink::after, 15 | .label--trendingLink::after { 16 | content: url("assets/icons/chevronBlue.svg"); 17 | margin-left: 8px; 18 | top: 1px; 19 | position: relative; 20 | } 21 | 22 | .link--networkLink { 23 | width: 32px; 24 | height: 32px; 25 | background: rgba(255, 255, 255, 0.16); 26 | border-radius: 50%; 27 | display: flex; 28 | align-items: center; 29 | justify-content: center; 30 | } 31 | 32 | .link--shopByLink { 33 | width: 100%; 34 | text-decoration: none; 35 | } 36 | 37 | .link--shopByLink:hover :global(.vtex-rich-text-0-x-paragraph--shopByCategory) { 38 | color: #0067c7; 39 | } 40 | 41 | .link--shopByLink:hover .childrenContainer { 42 | border: 1px solid #0067c7; 43 | } 44 | 45 | .childrenContainer--shopByLink { 46 | display: flex; 47 | justify-content: center; 48 | align-items: center; 49 | flex-flow: column nowrap; 50 | max-width: 216px; 51 | height: 196px; 52 | background: #f3f9ff; 53 | border-radius: 4px; 54 | transition: all 0.3s ease; 55 | border: 1px solid transparent; 56 | } 57 | 58 | .childrenContainer--linkCategorySlider { 59 | display: flex; 60 | flex-flow: column nowrap; 61 | align-items: center; 62 | } 63 | 64 | .link--linkCategorySlider { 65 | text-decoration: none; 66 | } 67 | 68 | .link--blogLink { 69 | display: block; 70 | max-width: 100px; 71 | width: 100%; 72 | height: 32px; 73 | font-size: 14px; 74 | line-height: 32px; 75 | text-align: center; 76 | color: #0067c7; 77 | background: #f3f9ff; 78 | text-decoration: none; 79 | } 80 | 81 | .childrenContainer--linkMail, 82 | .childrenContainer--linkCall { 83 | display: flex; 84 | align-items: center; 85 | margin: 0; 86 | height: 48px; 87 | padding: 0px 20px; 88 | border-radius: 4px; 89 | max-width: 280px; 90 | width: 100%; 91 | } 92 | 93 | .childrenContainer--linkCall { 94 | background: var(--b2b-header-blue-medium); 95 | } 96 | 97 | .childrenContainer--linkMail { 98 | border: 1px solid var(--b2b-header-blue-medium); 99 | } 100 | 101 | .link--linkCall, 102 | .link--linkMail { 103 | text-transform: uppercase; 104 | color: #fff; 105 | font-size: 14px; 106 | line-height: 24px; 107 | font-weight: 700; 108 | font-family: Roboto; 109 | text-decoration: none; 110 | } 111 | 112 | .link--linkCall :global(.vtex-store-components-3-x-imageElement), 113 | .link--linkMail :global(.vtex-store-components-3-x-imageElement) { 114 | margin-right: 12px; 115 | } 116 | 117 | .link--linkCall { 118 | margin-bottom: 12px; 119 | display: block; 120 | } 121 | 122 | .link--quickLink { 123 | text-decoration: none; 124 | position: relative; 125 | } 126 | 127 | .link--quickLink::after { 128 | content: url("assets/icons/nav-arrow-right.svg"); 129 | display: block; 130 | position: absolute; 131 | color: #717786; 132 | right: 0; 133 | top: 50%; 134 | transform: translate(-50%, -50%); 135 | } 136 | 137 | .link--quickOrderButton { 138 | text-decoration: none; 139 | padding: 24px; 140 | background: #f2f5f9; 141 | border: 1px solid #dee7ef; 142 | display: block; 143 | margin-bottom: 8px; 144 | border-radius: 4px; 145 | position: relative; 146 | } 147 | 148 | .link--quickOrderButton::after { 149 | content: url("assets/icons/nav-arrow-right-blue.svg"); 150 | display: block; 151 | position: absolute; 152 | color: #717786; 153 | right: 12px; 154 | top: 50%; 155 | transform: translate(-50%, -50%); 156 | } 157 | .link--order-quote { 158 | margin: 0 16px 16px; 159 | width: 92%; 160 | padding: 13px 0; 161 | font-size: 18px; 162 | } 163 | 164 | .link--menu-order-quote { 165 | text-decoration: none; 166 | font-size: 16px; 167 | line-height: 44px; 168 | font-family: Roboto; 169 | color: rgb(113, 119, 134); 170 | font-size: 20px; 171 | line-height: 28px; 172 | color: #000; 173 | font-weight: 500; 174 | margin: 0; 175 | margin-bottom: 4px; 176 | display: flex; 177 | align-items: center; 178 | margin-top: 15px; 179 | } 180 | 181 | .link--orderQuote, 182 | .link--resellerLink { 183 | display: flex; 184 | align-items: center; 185 | text-decoration: none; 186 | color: #fff; 187 | height: 100%; 188 | font-weight: 500; 189 | font-size: 14px; 190 | line-height: 20px; 191 | } 192 | 193 | @media (max-width: 64rem) { 194 | .childrenContainer--accountLink :global(.vtex-store-icons-0-x-profileIcon) { 195 | color: #fff; 196 | width: 20px; 197 | height: 20px; 198 | } 199 | 200 | .link--footerLink { 201 | color: #fff; 202 | font-size: 16px; 203 | line-height: 48px; 204 | font-weight: 500; 205 | font-family: Roboto; 206 | text-decoration: none; 207 | } 208 | 209 | .link--networkLink { 210 | width: 32px; 211 | height: 32px; 212 | background: rgba(255, 255, 255, 0.16); 213 | border-radius: 50%; 214 | display: flex; 215 | align-items: center; 216 | justify-content: center; 217 | } 218 | } 219 | -------------------------------------------------------------------------------- /store/blocks/mobile/home.jsonc: -------------------------------------------------------------------------------- 1 | { 2 | "responsive-layout.mobile": { 3 | "children": [ 4 | "flex-layout.row#imageList--mobile", 5 | "flex-layout.row#shopByCategory", 6 | // Deprecated 7 | // "flex-layout.row#shopByBrandMobile", 8 | "flex-layout.row#shelfMobile", 9 | "flex-layout.row#banners", 10 | "flex-layout.row#singleBannerMobile", 11 | "flex-layout.row#popular", 12 | "flex-layout.row#trending", 13 | "flex-layout.row#benefits", 14 | "flex-layout.row#newsletter" 15 | ] 16 | }, 17 | 18 | // Deprecated 19 | // "flex-layout.row#shopByBrandMobile": { 20 | // "props": { 21 | // "blockClass": "shopByBrandSection" 22 | // }, 23 | // "children": [ 24 | // "flex-layout.row#shopByBrandHead", 25 | // "list-context.image-list#brandImagesMobile" 26 | // ] 27 | // }, 28 | // "flex-layout.row#shopByBrandHead": { 29 | // "props": { 30 | // "blockClass": "shopByBrandHead", 31 | // "preventHorizontalStretch": true 32 | // }, 33 | // "children": ["rich-text#sectionTitle", "rich-text#sectionLink"] 34 | // }, 35 | // "rich-text#sectionLink": { 36 | // "props": { 37 | // "text": "[See all brands](/brands)", 38 | // "blockClass": "sectionLink" 39 | // } 40 | // }, 41 | // "list-context.image-list#brandImagesMobile": { 42 | // "children": ["slider-layout#shopByBrand"], 43 | // "props": { 44 | // "height": 100, 45 | // "images": [ 46 | // { 47 | // "image": "assets/placeholders/cokeBrand.png", 48 | // "mobileImage": "assets/placeholders/cokeBrand.png", 49 | // "description": "something something" 50 | // }, 51 | // { 52 | // "image": "assets/placeholders/AppleBrand.png", 53 | // "mobileImage": "assets/placeholders/AppleBrand.png", 54 | // "description": "something something" 55 | // }, 56 | // { 57 | // "image": "assets/placeholders/whirlpoolBrand.png", 58 | // "mobileImage": "assets/placeholders/whirlpoolBrand.png", 59 | // "description": "something something" 60 | // }, 61 | // { 62 | // "image": "assets/placeholders/cokeBrand.png", 63 | // "mobileImage": "assets/placeholders/cokeBrand.png", 64 | // "description": "something something" 65 | // }, 66 | // { 67 | // "image": "assets/placeholders/AppleBrand.png", 68 | // "mobileImage": "assets/placeholders/AppleBrand.png", 69 | // "description": "something something" 70 | // }, 71 | // { 72 | // "image": "assets/placeholders/whirlpoolBrand.png", 73 | // "mobileImage": "assets/placeholders/whirlpoolBrand.png", 74 | // "description": "something something" 75 | // } 76 | // ] 77 | // } 78 | // }, 79 | // "slider-layout#shopByBrand": { 80 | // "props": { 81 | // "blockClass": "brandSliderMobile", 82 | // "itemsPerPage": { 83 | // "phone": 3 84 | // }, 85 | // "showNavigationArrows": "never", 86 | // "infinite": false 87 | // } 88 | // }, 89 | 90 | "flex-layout.row#banners": { 91 | "props": { 92 | "blockClass": "bannersSection" 93 | }, 94 | "children": ["flex-layout.col#banners"] 95 | }, 96 | "flex-layout.col#banners": { 97 | "children": ["rich-text#bannersSectionTitle", "slider-layout#banners"] 98 | }, 99 | "rich-text#bannersSectionTitle": { 100 | "props": { 101 | "text": "### Summer essentials", 102 | "blockClass": "titleWithBorder" 103 | } 104 | }, 105 | "slider-layout#banners": { 106 | "props": { 107 | "blockClass": "bannersSlider", 108 | "itemsPerPage": { 109 | "phone": 1 110 | }, 111 | "showNavigationArrows": "never", 112 | "infinite": false 113 | }, 114 | "children": [ 115 | "flex-layout.row#banner1", 116 | "flex-layout.row#banner2", 117 | "flex-layout.row#banner3" 118 | ] 119 | }, 120 | "flex-layout.row#banner1": { 121 | "children": ["flex-layout.col#banner1"] 122 | }, 123 | "flex-layout.row#banner2": { 124 | "children": ["flex-layout.col#banner2"] 125 | }, 126 | "flex-layout.row#banner3": { 127 | "children": ["flex-layout.col#banner3"] 128 | }, 129 | "flex-layout.row#singleBannerMobile": { 130 | "props": { 131 | "blockClass": "singleBanner" 132 | }, 133 | "children": ["image#singleBannerMobile"] 134 | }, 135 | "image#singleBannerMobile": { 136 | "props": { 137 | "src": "assets/placeholders/singleBannerMobile.png", 138 | "maxHeight": 160, 139 | "blockClass": "singleBanner" 140 | } 141 | }, 142 | "flex-layout.row#shelfMobile": { 143 | "children": ["list-context.product-list#productSliderMobile"], 144 | "props": { 145 | "blockClass": "shelfComplete" 146 | } 147 | }, 148 | "list-context.product-list#productSliderMobile": { 149 | "blocks": ["product-summary.shelf#normal"], 150 | "children": ["slider-layout#productsMobile"], 151 | "props": { 152 | "orderBy": "OrderByTopSaleDESC" 153 | } 154 | } 155 | } 156 | -------------------------------------------------------------------------------- /store/blocks/product/sku-list.jsonc: -------------------------------------------------------------------------------- 1 | { 2 | "flex-layout.row#sku-list": { 3 | "children": ["flex-layout.col#sku-list"], 4 | "props": { 5 | "marginBottom": 5 6 | } 7 | }, 8 | 9 | "flex-layout.col#sku-list": { 10 | "children": ["flex-layout.row#sku-list-header", "sku-list"], 11 | "props": { 12 | "blockClass": "sku-list" 13 | } 14 | }, 15 | 16 | "flex-layout.row#sku-list-header": { 17 | "props": { 18 | "preventHorizontalStretch": false, 19 | "blockClass": "skuListHeader", 20 | "marginBottom": 3 21 | }, 22 | "children": ["rich-text#code", "rich-text#inventory", "rich-text#price"] 23 | }, 24 | 25 | "rich-text#code": { 26 | "props": { 27 | "text": "**Code**", 28 | "blockClass": "skuList", 29 | "width": "33.333333333%" 30 | } 31 | }, 32 | 33 | "rich-text#inventory": { 34 | "props": { 35 | "text": "**Stock**", 36 | "blockClass": "skuList", 37 | "width": "33.333333333%" 38 | } 39 | }, 40 | 41 | "rich-text#price": { 42 | "props": { 43 | "text": "**Price**", 44 | "blockClass": "skuList", 45 | "width": "33.333333333%" 46 | } 47 | }, 48 | 49 | "sku-list": { 50 | "blocks": ["sku-content.desktop", "sku-content.mobile"] 51 | }, 52 | 53 | "sku-content.desktop": { 54 | "children": ["flex-layout.row#item-main-desktop"] 55 | }, 56 | 57 | "flex-layout.row#item-main-desktop": { 58 | "props": { 59 | "preventHorizontalStretch": false 60 | }, 61 | "children": [ 62 | "flex-layout.col#sku-highlight-code", 63 | "flex-layout.col#sku-inventory", 64 | "flex-layout.col#sku-price" 65 | ] 66 | }, 67 | 68 | "flex-layout.col#sku-highlight-code": { 69 | "props": { 70 | "width": "33.333333333%" 71 | }, 72 | "children": ["sku-highlights#code"] 73 | }, 74 | 75 | "sku-highlights#code": { 76 | "props": { 77 | "conditional": { 78 | "highlight": "admin/editor.sku-list.highlights.chooseDefaultSpecification", 79 | "typeSpecifications": "Code" 80 | }, 81 | "showLabel": false 82 | } 83 | }, 84 | 85 | "flex-layout.col#sku-inventory": { 86 | "props": { 87 | "width": "33.333333333%" 88 | }, 89 | "children": ["sku-inventory#default"] 90 | }, 91 | 92 | "sku-inventory#default": { 93 | "props": { 94 | "showLabel": false 95 | } 96 | }, 97 | 98 | "flex-layout.col#sku-price": { 99 | "props": { 100 | "width": "33.333333333%" 101 | }, 102 | "children": ["sku-price"] 103 | }, 104 | 105 | "sku-content.mobile": { 106 | "children": ["flex-layout.row#item-main-mobile"] 107 | }, 108 | 109 | "flex-layout.row#item-main-mobile": { 110 | "props": { 111 | "preventHorizontalStretch": false 112 | }, 113 | "children": [ 114 | "flex-layout.col#sku-highlight-code-mobile", 115 | "flex-layout.col#sku-highlight-spec-mobile", 116 | "flex-layout.col#sku-inventory-mobile", 117 | "flex-layout.col#sku-price-mobile", 118 | "flex-layout.col#sku-quantity-selector-mobile" 119 | ] 120 | }, 121 | 122 | "flex-layout.col#sku-highlight-code-mobile": { 123 | "props": { 124 | "width": "33.333333333%" 125 | }, 126 | "children": ["sku-highlights#code-mobile"] 127 | }, 128 | 129 | "sku-highlights#code-mobile": { 130 | "props": { 131 | "conditional": { 132 | "highlight": "admin/editor.sku-list.highlights.chooseDefaultSpecification", 133 | "typeSpecifications": "Código" 134 | }, 135 | "showLabel": true 136 | } 137 | }, 138 | 139 | "flex-layout.col#sku-highlight-spec-mobile": { 140 | "props": { 141 | "width": "33.333333333%" 142 | }, 143 | "children": ["sku-highlights#spec-mobile"] 144 | }, 145 | 146 | "sku-highlights#spec-mobile": { 147 | "props": { 148 | "conditional": { 149 | "highlight": "admin/editor.sku-list.highlights.chooseDefaultSpecification", 150 | "typeSpecifications": "Especificação" 151 | }, 152 | "showLabel": true 153 | } 154 | }, 155 | 156 | "flex-layout.col#sku-inventory-mobile": { 157 | "props": { 158 | "width": "33.333333333%" 159 | }, 160 | "children": ["sku-inventory#default-mobile"] 161 | }, 162 | 163 | "sku-inventory#default-mobile": { 164 | "props": { 165 | "showLabel": true 166 | } 167 | }, 168 | 169 | "sku-seller#inventory-mobile": { 170 | "children": ["seller-inventory#mobile"] 171 | }, 172 | 173 | "seller-inventory#mobile": { 174 | "props": { 175 | "showLabel": true 176 | } 177 | }, 178 | 179 | "flex-layout.col#sku-price-mobile": { 180 | "props": { 181 | "width": "33.333333333%" 182 | }, 183 | "children": ["sku-price#mobile"] 184 | }, 185 | 186 | "sku-price#mobile": { 187 | "props": { 188 | "showLabel": true 189 | } 190 | }, 191 | 192 | "flex-layout.col#sku-quantity-selector-mobile": { 193 | "props": { 194 | "width": "33.333333333%" 195 | }, 196 | "children": ["sku-quantity-selector"] 197 | }, 198 | 199 | "sku-quantity-selector#mobile": { 200 | "props": { 201 | "showLabel": true 202 | } 203 | } 204 | } 205 | -------------------------------------------------------------------------------- /assets/icons/logoB2B.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | -------------------------------------------------------------------------------- /store/blocks/footer/menu.jsonc: -------------------------------------------------------------------------------- 1 | { 2 | "vtex.menu@2.x:menu#about": { 3 | "props": { 4 | "blockClass": "flexCol", 5 | "items": [ 6 | { 7 | "id": "footerItem-company", 8 | "type": "custom", 9 | "iconId": null, 10 | "highlight": false, 11 | "itemProps": { 12 | "type": "internal", 13 | "href": "/company", 14 | "noFollow": false, 15 | "tagTitle": "Shop", 16 | "text": "Our Company" 17 | } 18 | }, 19 | { 20 | "id": "footerItem-careers", 21 | "type": "custom", 22 | "iconId": null, 23 | "highlight": false, 24 | "itemProps": { 25 | "type": "internal", 26 | "href": "/careers", 27 | "noFollow": false, 28 | "tagTitle": "about-us", 29 | "text": "Careers" 30 | } 31 | }, 32 | { 33 | "id": "footerItem-sell", 34 | "type": "custom", 35 | "iconId": null, 36 | "highlight": false, 37 | "itemProps": { 38 | "type": "internal", 39 | "href": "/sell", 40 | "noFollow": false, 41 | "tagTitle": "about-us", 42 | "text": "Sell with VTEX" 43 | } 44 | }, 45 | { 46 | "id": "footerItem-investor", 47 | "type": "custom", 48 | "iconId": null, 49 | "highlight": false, 50 | "itemProps": { 51 | "type": "internal", 52 | "href": "/investors", 53 | "noFollow": false, 54 | "tagTitle": "about-us", 55 | "text": "Investor Relations" 56 | } 57 | }, 58 | { 59 | "id": "footerItem-advertise", 60 | "type": "custom", 61 | "iconId": null, 62 | "highlight": false, 63 | "itemProps": { 64 | "type": "internal", 65 | "href": "/advertise", 66 | "noFollow": false, 67 | "tagTitle": "about-us", 68 | "text": "Advertise with us" 69 | } 70 | }, 71 | { 72 | "id": "footerItem-locations", 73 | "type": "custom", 74 | "iconId": null, 75 | "highlight": false, 76 | "itemProps": { 77 | "type": "internal", 78 | "href": "/locations", 79 | "noFollow": false, 80 | "tagTitle": "about-us", 81 | "text": "Locations" 82 | } 83 | } 84 | ] 85 | } 86 | }, 87 | "vtex.menu@2.x:menu#costumer": { 88 | "props": { 89 | "blockClass": "flexCol", 90 | "items": [ 91 | { 92 | "id": "footerItem-help", 93 | "type": "custom", 94 | "iconId": null, 95 | "highlight": false, 96 | "itemProps": { 97 | "type": "internal", 98 | "href": "/help-center", 99 | "noFollow": false, 100 | "tagTitle": "Help Center", 101 | "text": "Help Center" 102 | } 103 | }, 104 | { 105 | "id": "footerItem-returns", 106 | "type": "custom", 107 | "iconId": null, 108 | "highlight": false, 109 | "itemProps": { 110 | "type": "internal", 111 | "href": "/returns", 112 | "noFollow": false, 113 | "tagTitle": "Returns", 114 | "text": "Returns" 115 | } 116 | }, 117 | { 118 | "id": "footerItem-recall", 119 | "type": "custom", 120 | "iconId": null, 121 | "highlight": false, 122 | "itemProps": { 123 | "type": "internal", 124 | "href": "/recalls", 125 | "noFollow": false, 126 | "tagTitle": "Product Recalls", 127 | "text": "Product Recalls" 128 | } 129 | }, 130 | { 131 | "id": "footerItem-accessibility", 132 | "type": "custom", 133 | "iconId": null, 134 | "highlight": false, 135 | "itemProps": { 136 | "type": "internal", 137 | "href": "/accessibility", 138 | "noFollow": false, 139 | "tagTitle": "Accessibility", 140 | "text": "Accessibility" 141 | } 142 | }, 143 | { 144 | "id": "footerItem-contact", 145 | "type": "custom", 146 | "iconId": null, 147 | "highlight": false, 148 | "itemProps": { 149 | "type": "internal", 150 | "href": "/contact", 151 | "noFollow": false, 152 | "tagTitle": "Contact Us", 153 | "text": "Contact Us" 154 | } 155 | }, 156 | { 157 | "id": "footerItem-pickup", 158 | "type": "custom", 159 | "iconId": null, 160 | "highlight": false, 161 | "itemProps": { 162 | "type": "internal", 163 | "href": "/pickup", 164 | "noFollow": false, 165 | "tagTitle": "Store Pickup", 166 | "text": "Store Pickup" 167 | } 168 | } 169 | ] 170 | } 171 | } 172 | } 173 | -------------------------------------------------------------------------------- /styles/css/vtex.search-result.css: -------------------------------------------------------------------------------- 1 | .filter__container--title { 2 | display: none; 3 | opacity: 0; 4 | visibility: hidden; 5 | } 6 | 7 | .searchResultContainer:global(.vtex-store-components-3-x-container) { 8 | padding: 0; 9 | } 10 | 11 | .categoryParent { 12 | display: none; 13 | opacity: 0; 14 | } 15 | 16 | .filterTitle, 17 | .categoryItemName { 18 | font-size: 16px; 19 | line-height: 32px; 20 | color: #000; 21 | font-weight: 500; 22 | font-family: Roboto; 23 | } 24 | 25 | .categoryItemChildren { 26 | padding: 0; 27 | font-size: 14px; 28 | line-height: 32px; 29 | font-weight: 400; 30 | font-family: Roboto; 31 | color: #000; 32 | background-color: none !important; 33 | } 34 | 35 | .filterTemplateOverflow { 36 | max-height: 100vh !important; 37 | } 38 | 39 | .filterItem :global(.vtex-checkbox__container) { 40 | margin-right: 12px; 41 | } 42 | 43 | .filterItem :global(.vtex-checkbox__box-wrapper), 44 | .filterItem :global(.vtex-checkbox__container), 45 | .filterItem :global(.vtex-checkbox__inner-container), 46 | .filterItem :global(.vtex-checkbox__input) { 47 | width: 20px; 48 | height: 20px; 49 | } 50 | 51 | .filterItem :global(.vtex__icon-check) { 52 | width: 16px; 53 | height: 16px; 54 | } 55 | 56 | .filterAvailable { 57 | padding: 0; 58 | padding-bottom: 14px; 59 | } 60 | 61 | .filterItem :global(.vtex-checkbox__line-container) { 62 | align-items: center; 63 | } 64 | 65 | .filterItem :global(.vtex-checkbox__inner-container) { 66 | border-color: #a3afbc; 67 | border-width: 1px; 68 | } 69 | 70 | .filterItem :global(.vtex-checkbox__label) { 71 | font-size: 14px; 72 | line-height: 32px; 73 | color: #000; 74 | font-weight: 400; 75 | font-family: Roboto; 76 | } 77 | 78 | .filter__container--b { 79 | padding: 16px 0px; 80 | } 81 | 82 | .filter__container { 83 | border-color: #e9eff5; 84 | } 85 | 86 | .galleryTitle--layout { 87 | font-size: 24px; 88 | line-height: 32px; 89 | font-family: Roboto; 90 | font-weight: 500; 91 | color: #000; 92 | margin: 0; 93 | margin-bottom: 8px; 94 | } 95 | 96 | .galleryItem, 97 | .gallery { 98 | padding: 0; 99 | } 100 | 101 | .totalProducts--layout { 102 | padding: 0; 103 | } 104 | 105 | .totalProductsMessage, 106 | .totalProducts--layout { 107 | font-size: 14px; 108 | line-height: 20px; 109 | color: #000 !important; 110 | font-family: Roboto; 111 | text-transform: lowercase; 112 | } 113 | @media (max-width: 64rem) { 114 | .totalProducts--layout { 115 | padding: 8px 0px; 116 | } 117 | 118 | .filterPopupTitle, 119 | .totalProducts--layout { 120 | text-align: left; 121 | } 122 | 123 | .orderByButton { 124 | padding: 0; 125 | } 126 | 127 | .galleryItem--normal 128 | :global(.vtex-product-summary-2-x-container--summaryComplete) { 129 | max-width: 100%; 130 | } 131 | 132 | .sidebar { 133 | width: 85%; 134 | } 135 | 136 | .filterApplyButtonWrapper :global(.vtex-button) { 137 | height: 48px; 138 | color: #fff; 139 | background: #214d8e; 140 | border: none; 141 | font-weight: bold; 142 | font-family: "Roboto"; 143 | font-size: 16px; 144 | } 145 | 146 | .filterClearButtonWrapper :global(.vtex-button) { 147 | height: 48px; 148 | border: 1px solid #bdc9d6; 149 | color: #214d8e; 150 | font-weight: bold; 151 | font-family: "Roboto"; 152 | font-size: 16px; 153 | } 154 | 155 | .accordionFilterContainer { 156 | padding: 0px 16px; 157 | } 158 | 159 | .accordionFilterItemTitle { 160 | line-height: 64px; 161 | font-size: 18px; 162 | font-family: Roboto; 163 | color: #000; 164 | } 165 | 166 | .filterAccordionItemBox { 167 | height: initial; 168 | padding: 0; 169 | border: none; 170 | } 171 | 172 | .accordionFilterContent { 173 | padding: 0; 174 | display: flex; 175 | align-items: center; 176 | justify-content: space-between; 177 | border-bottom: 1px solid #e9eff5; 178 | } 179 | 180 | .categoryItemChildrenContainer { 181 | padding: 0; 182 | } 183 | 184 | .categoryGroup { 185 | margin: 0; 186 | } 187 | 188 | .selectedCategory, 189 | .categoryItemChildren { 190 | font-size: 14px; 191 | line-height: 40px; 192 | color: #000; 193 | background: none; 194 | margin: 0; 195 | } 196 | 197 | .filterAccordionItemBox :global(.vtex-checkbox__label) { 198 | font-size: 14px; 199 | line-height: 40px; 200 | color: #000; 201 | margin: 0; 202 | } 203 | 204 | .galleryItem--normal 205 | :global(.vtex-product-summary-2-x-container--summaryComplete) { 206 | border-bottom: 1px solid #e9eff5; 207 | border-radius: 0px; 208 | padding: 16px 0px; 209 | } 210 | 211 | .galleryItem--normal 212 | :global(.vtex-product-summary-2-x-element--summaryComplete) { 213 | display: grid; 214 | grid-template-columns: 1.5fr 2fr; 215 | grid-column-gap: 16px; 216 | } 217 | 218 | .galleryItem--normal :global(.vtex-product-summary-2-x-imageNormal) { 219 | height: auto; 220 | margin-bottom: initial; 221 | } 222 | 223 | .galleryItem--normal 224 | :global(.vtex-product-summary-2-x-productBrandContainer) { 225 | margin-bottom: 4px; 226 | } 227 | } 228 | 229 | .categoryItemChildrenContainer :not(:global(.vtex-fake)) { 230 | border-color: transparent; 231 | } 232 | 233 | .orderByOptionsContainer { 234 | z-index: 9; 235 | } 236 | --------------------------------------------------------------------------------