diff --git a/react/Example.tsx b/react/Example.tsx index 7d550e5..fe63560 100644 --- a/react/Example.tsx +++ b/react/Example.tsx @@ -1,3 +1,3 @@ import Example from "./components/Example/Example"; -export default Example; \ No newline at end of file +export default Example; diff --git a/react/Pix.tsx b/react/Pix.tsx new file mode 100644 index 0000000..52ecbb2 --- /dev/null +++ b/react/Pix.tsx @@ -0,0 +1,3 @@ +import Pix from "./components/Pix/Pix"; + +export default Pix; diff --git a/react/Placeholder.tsx b/react/Placeholder.tsx new file mode 100644 index 0000000..29393ed --- /dev/null +++ b/react/Placeholder.tsx @@ -0,0 +1,3 @@ +import Placeholder from "./components/Placeholder/Placeholder"; + +export default Placeholder; diff --git a/react/components/Html/index.tsx b/react/components/Html/index.tsx index d60d7f5..082c0f0 100644 --- a/react/components/Html/index.tsx +++ b/react/components/Html/index.tsx @@ -1,41 +1,53 @@ import React, { ReactNode } from "react"; import { useCssHandles } from "vtex.css-handles"; +import "./styles.css"; const CSS_HANDLES = ["html"] as const; type HtmlProps = { - children?: ReactNode, - /** - * Qual tag Html que deseja que seja usar - * - * @default div - */ - tag?: keyof React.ReactHTML - /** - * Classes CSS extras que deseja adicionar. - * Feito para uso de [classes do tachyons](https://tachyons.io/) - */ - tachyonsClasses?: string - /** - * Se caso quiser usar esse componente - * para adicinar um texto simples - */ - text?: string - /** - * Tag ID para - */ - testId?: string -} - -export const Html = ({ children = null, tag = "div", text = "", tachyonsClasses: classes = "", testId }: HtmlProps) => { - const { handles } = useCssHandles(CSS_HANDLES); - - const props = { - className: `${handles.html} ${classes}`, - "data-testid": testId - }; - const Children = <>{children}{text}; - const Element = React.createElement(tag, props, Children); - - return <>{Element}; + children?: ReactNode; + /** + * Qual tag Html que deseja que seja usar + * + * @default div + */ + tag?: keyof React.ReactHTML; + /** + * Classes CSS extras que deseja adicionar. + * Feito para uso de [classes do tachyons](https://tachyons.io/) + */ + tachyonsClasses?: string; + /** + * Se caso quiser usar esse componente + * para adicinar um texto simples + */ + text?: string; + /** + * Tag ID para + */ + testId?: string; +}; + +export const Html = ({ + children = null, + tag = "div", + text = "", + tachyonsClasses: classes = "", + testId, +}: HtmlProps) => { + const { handles } = useCssHandles(CSS_HANDLES); + + const props = { + className: `${handles.html} ${classes}`, + "data-testid": testId, + }; + const Children = ( + <> + {children} + {text} + + ); + const Element = React.createElement(tag, props, Children); + + return <>{Element}; }; diff --git a/react/components/Html/styles.css b/react/components/Html/styles.css new file mode 100644 index 0000000..c2b8bc9 --- /dev/null +++ b/react/components/Html/styles.css @@ -0,0 +1,6 @@ +[class*="html--cart-content"] { + display: flex; + gap: 10px; + margin-top: 8px; + margin-bottom: 16px; +} diff --git a/react/components/Pix/Pix.tsx b/react/components/Pix/Pix.tsx new file mode 100644 index 0000000..fdbe05d --- /dev/null +++ b/react/components/Pix/Pix.tsx @@ -0,0 +1,52 @@ +import React from "react"; +import { useProduct } from "vtex.product-context"; +import styles from "./styles.css"; + +const Pix = () => { + const product = useProduct(); + + const pix = { + pixValue: Number( + product?.selectedItem?.sellers[0].commertialOffer.Installments[3] + .TotalValuePlusInterestRate + ), + }; + + // const priceTimes = + // product?.selectedItem?.sellers[0].commertialOffer.Installments[3] + // .NumberOfInstallments; + // const valueTotal = product?.selectedItem?.sellers[0].commertialOffer.Installments[3].Value.toFixed( + // 2 + // ) + // .toString() + // .replace(".", ","); + + const pixPrice = (pix.pixValue = pix.pixValue * 0.9) + .toFixed(2) + .toString() + .replace(".", ","); + /* + {priceTimes} x de + R$ {valueTotal} sem juros + */ + return ( + <> +
+
+ Imagem Pix +
+

+ R${pixPrice} + 10% de desconto +

+
+ + ); + + // return ; +}; + +export default Pix; diff --git a/react/components/Pix/styles.css b/react/components/Pix/styles.css new file mode 100644 index 0000000..ef27097 --- /dev/null +++ b/react/components/Pix/styles.css @@ -0,0 +1,50 @@ +.html { + background-color: transparent !important; +} +.AllPriceTimesText { + font-style: normal; + font-size: 16px; + line-height: 22px; + color: #929292; +} +.PriceTimes { + font-style: normal; + font-weight: 700; + font-size: 16px; + line-height: 22px; + color: #929292; +} +.PixButton { + width: 40px; + height: 40px; + background: black; +} +.PricesWrapperRow { + margin-top: 8px; + display: flex; + gap: 26px; +} +figure { + margin: 0; + display: flex; + justify-content: center; + align-items: center; +} +.PricesCol { + display: flex; + flex-direction: column; +} +.PixFullValue { + font-style: normal; + font-weight: 700; + font-size: 18px; + line-height: 25px; + color: rgba(0, 0, 0, 0.58); +} +.PixPercent { + font-style: normal; + font-weight: 300; + font-size: 13px; + line-height: 18px; + color: #929292; +} diff --git a/react/components/Placeholder/Placeholder.tsx b/react/components/Placeholder/Placeholder.tsx new file mode 100644 index 0000000..fa66632 --- /dev/null +++ b/react/components/Placeholder/Placeholder.tsx @@ -0,0 +1,8 @@ +const Placeholder = () => { + if (typeof document !== "undefined") { + const m3Input = document.querySelector(".vtex-address-form-4-x-input"); + m3Input?.setAttribute("placeholder", "Digite seu CEP"); + } + return null; +}; +export default Placeholder; diff --git a/react/custom.d.ts b/react/custom.d.ts new file mode 100644 index 0000000..e69de29 diff --git a/react/index.d.ts b/react/index.d.ts new file mode 100644 index 0000000..5b93fa5 --- /dev/null +++ b/react/index.d.ts @@ -0,0 +1,11 @@ +declare module "*.css" { + interface IClassNames { + [className: string]: string; + } + const classNames: IClassNames; + export = classNames; +} +declare module "*.svg" { + const content: React.FunctionComponent>; + export default content; +} diff --git a/store/blocks/home/home.jsonc b/store/blocks/home/home.jsonc index ebacd49..ec4a516 100644 --- a/store/blocks/home/home.jsonc +++ b/store/blocks/home/home.jsonc @@ -40,7 +40,7 @@ "phone": 1 }, "infinite": true, - "showNavigationArrows": "desktopOnly", + "showNavigationArrows": "never", "blockClass": "carousel" } }, diff --git a/store/blocks/pdp/product.jsonc b/store/blocks/pdp/product.jsonc index 8643482..c0ee556 100644 --- a/store/blocks/pdp/product.jsonc +++ b/store/blocks/pdp/product.jsonc @@ -3,12 +3,65 @@ "children": [ "html#breadcrumb", "condition-layout.product#availability", - "tab-layout#descricao", - "shelf.relatedProducts", + "flex-layout.row#description", + "flex-layout.row#specifications-title", + // "product-specification-group#table", + // "shelf.relatedProducts", "product-questions-and-answers", - "newsletter-form#formulario-newsletter" + "list-context.product-list#demo1", + "product-questions-and-answers", + "newsletter" ] }, + "list-context.product-list#demo1": { + "blocks": ["product-summary.shelf#demo1"], + "children": ["html#slider-layout"] + }, + + "product-summary.shelf#demo1": { + "children": [ + "html#sliderPrateleira" + // "product-summary-name", + // "product-summary-description", + // "product-summary-image", + // "product-summary-price", + // "product-summary-sku-selector", + // "product-summary-buy-button" + ] + }, + "html#sliderPrateleira": { + "props": { + "testId": "vtex-product-summary", + "blockClass": "prateleira-flexcol" + }, + "children": [ + "product-summary-image", + "product-summary-name", + "product-list-price", + "product-selling-price" + ] + }, + "html#slider-layout": { + "props": { + "testId": "product-summary-list", + "blockClass": "slider-layout-wrapper" + }, + "children": ["slider-layout#demo-products"] + }, + + "slider-layout#demo-products": { + "props": { + "itemsPerPage": { + "desktop": 4, + "tablet": 3, + "phone": 2 + }, + "infinite": true, + "showNavigationArrows": "always", + "blockClass": "carousel" + } + }, + "html#breadcrumb": { "props": { "tag": "section", @@ -18,101 +71,95 @@ "children": ["breadcrumb"] }, "flex-layout.row#specifications-title": { + "props": { + "props": { + "marginBottom": 7, + "marginTop": 7 + } + }, "children": ["rich-text#specifications"] }, "rich-text#specifications": { "props": { - "text": "##### Product Specifications" + "text": "##### Você também pode gostar:", + "textPosition": "CENTER", + "textAlignment": "CENTER", + "blockClass": "specifications-texto" } }, "flex-layout.row#description": { "props": { - "blockClass": "description" + "marginBottom": 7 }, - "children": ["product-images", "product-description"] + "children": ["html#product-description"] }, - "tab-layout#descricao": { - "children": ["tab-list#descricao", "tab-content#descricao"] - }, - "tab-list#descricao": { - "children": [ - "tab-list.item#descricao1", - "tab-list.item#descricao2", - "tab-list.item#descricao3", - "tab-list.item#descricao4", - "tab-list.item#descricao5" - ] - }, - "tab-content#descricao": { - "children": [ - "tab-content.item#descricao1", - "tab-content.item#descricao2", - "tab-content.item#descricao3", - "tab-content.item#descricao4", - "tab-content.item#descricao5" - ] - }, - "tab-list.item#descricao1": { + "html#product-description": { "props": { - "tabId": "descricao1", + "testId": "product-description" + }, + "children": ["tab-layout#description"] + }, + "tab-layout#description": { + "children": ["tab-list#description", "tab-content#description"], + "props": { + "blockClass": "description", + "defaultActiveTabId": "description1" + } + }, + + "tab-content#description": { + "children": ["product-images#description", "product-description"] + }, + "product-images#description": { + "props": { + "displayMode": "first-image", + "zoomMode": "disable", + "blockClass": "imageDescricao" + } + }, + "tab-list#description": { + "props": { + "blockClass": "listaDescricao" + }, + "children": [ + "tab-list.item#description1", + "tab-list.item#description2", + "tab-list.item#description3", + "tab-list.item#description4", + "tab-list.item#description5" + ] + }, + "tab-list.item#description1": { + "props": { + "tabId": "description1", "label": "Descrição", "defaultActiveTab": true } }, - "tab-list.item#descricao2": { + "tab-list.item#description2": { "props": { - "tabId": "descricao2", + "tabId": "description2", "label": "Descrição" } }, - "tab-list.item#descricao3": { + "tab-list.item#description3": { "props": { - "tabId": "descricao3", + "tabId": "description3", "label": "Descrição" } }, - "tab-list.item#descricao4": { + "tab-list.item#description4": { "props": { - "tabId": "descricao4", + "tabId": "description4", "label": "Descrição" } }, - "tab-list.item#descricao5": { + "tab-list.item#description5": { "props": { - "tabId": "descricao5", + "tabId": "description5", "label": "Descrição" } }, - "tab-content.item#descricao1": { - "children": ["flex-layout.row#description"], - "props": { - "tabId": "descricao1" - } - }, - "tab-content.item#descricao2": { - "children": ["flex-layout.row#description"], - "props": { - "tabId": "descricao2" - } - }, - "tab-content.item#descricao3": { - "children": ["flex-layout.row#description"], - "props": { - "tabId": "descricao3" - } - }, - "tab-content.item#descricao4": { - "children": ["flex-layout.row#description"], - "props": { - "tabId": "descricao4" - } - }, - "tab-content.item#descricao5": { - "children": ["flex-layout.row#description"], - "props": { - "tabId": "descricao5" - } - }, "condition-layout.product#availability": { "props": { "conditions": [ @@ -146,6 +193,7 @@ "product-specification-badges" ] }, + "product-specification-badges": { "props": { "specificationGroupName": "Group", @@ -158,49 +206,30 @@ "flex-layout.col#stack": { "children": ["stack-layout"], "props": { - "width": "60%", + "width": "50%", "rowGap": 0 } }, - "flex-layout.col#newsletter-wrapper": { - "children": ["newsletter-form#formulario-newsletter"] - }, - "newsletter-form#formulario-newsletter": { - "children": [ - "newsletter-input-email#texto-email", - "newsletter-submit#texto-submit" - ], - "props": { - "blockClass": "formulario-newsletter", - "placeholderText": "Digite seu e-mail" - } - }, - "newsletter-input-email#texto-email": { - "props": { - "placeholderText": "Digite seu e-mail", - "blockClass": "texto-email", - "inputLabel": "Assine nossa newsletter" - } - }, - "newsletter-submit#texto-submit": { - "props": { - "blockClass": "texto-submit", - "submitButtonLabel": "ENVIAR" - } - }, "flex-layout.row#product-image": { + "children": ["html#product-images"] + }, + "html#product-images": { + "props": { + "testId": "product-images" + }, "children": ["product-images"] }, "product-images": { "props": { "aspectRatio": { "desktop": "auto", + "testId": "", "phone": "16:9" }, - "showPaginationDots": false, - "thumbnailsOrientation": "horizontal", "displayThumbnailsArrows": false, - "showNavigationArrows": false + "showNavigationArrows": false, + "showPaginationDots": false, + "thumbnailsOrientation": "horizontal" } }, "flex-layout.col#right-col": { @@ -209,19 +238,94 @@ "rowGap": 0 }, "children": [ - "flex-layout.row#product-name", - "product-identifier.product", - "componente-prices", - "product-separator", - "sku-selector", - "product-quantity", + "html#product-name", + "html#codigo", + "product-rating-summary", + "html#selling-price", + // "flex-layout.row#selling-price", + "html#product-installments", + "html#pix-component", + "html#sku-selector", + // "html#product-quantity", + // "html#add-to-cart-button", + "html#cart-content", + "Placeholder", "product-assembly-options", "product-gifts", - "flex-layout.row#buy-button", "availability-subscriber", - "shipping-simulator" + "html#shipping-simulator" ] }, + "html#product-name": { + "props": { + "marginBottom": 3, + "testId": "product-name", + "blockClass": "productName" + }, + "children": ["vtex.store-components:product-name"] + }, + "html#codigo": { + "props": { + "blockClass": "codigo", + "testId": "product-code" + }, + "children": ["product-identifier.product"] + }, + + "html#product-installments": { + "props": { + "testId": "product-installments" + }, + "children": ["product-installments"] + }, + + "html#selling-price": { + "props": { + "testId": "product-price" + }, + "children": ["flex-layout.row#selling-price"] + }, + + "html#pix-component": { + "props": { + "testId": "pix-price", + "blockClass": "pix" + }, + "children": ["pix-component"] + }, + "html#add-to-cart-button": { + "props": { + "testId": "add-to-cart-button", + "blockClass": "addButton" + }, + "children": ["flex-layout.row#buy-button"] + }, + + "html#product-quantity": { + "props": { + "testId": "product-quantity" + }, + "children": ["product-quantity"] + }, + "html#cart-content": { + "props": { + "blockClass": "cart-content" + }, + "children": ["html#product-quantity", "html#add-to-cart-button"] + }, + "html#sku-selector": { + "props": { + "testId": "sku-selector" + }, + "children": ["sku-selector"] + }, + "html#shipping-simulator": { + "props": { + "testId": "shipping-simulator", + "blockClass": "shippingSimulator" + }, + "children": ["shipping-simulator"] + }, "flex-layout.row#product-name": { "props": { @@ -233,14 +337,16 @@ "sku-selector": { "props": { "variationsSpacing": 3, - "showValueNameForImageVariation": true + "showValueNameForImageVariation": true, + "blockClass": "sku-selector" } }, "flex-layout.row#buy-button": { "props": { "marginTop": 4, - "marginBottom": 7 + "marginBottom": 7, + "blockClass": "buyButton" }, "children": ["add-to-cart-button"] }, @@ -264,10 +370,10 @@ "blockClass": "info-availability" }, "children": [ - "flex-layout.row#product-name", - "product-identifier.product", - "sku-selector", - "flex-layout.row#availability" + "html#product-name", + "html#codigo", + "flex-layout.row#availability", + "html#sku-selector" ] }, "flex-layout.row#availability": { diff --git a/store/blocks/product-price.jsonc b/store/blocks/product-price.jsonc index 829b654..80fb029 100644 --- a/store/blocks/product-price.jsonc +++ b/store/blocks/product-price.jsonc @@ -4,7 +4,7 @@ "colGap": 2, "preserveLayoutOnMobile": true, "preventHorizontalStretch": true, - "marginBottom": 4 + "marginBottom": 0 }, "children": ["product-selling-price"] }, @@ -16,6 +16,7 @@ "preventHorizontalStretch": true, "marginBottom": 2, "marginTop": 5 - } + }, + "children": ["product-list-price", "product-price-savings"] } } diff --git a/store/blocks/product-summary/product-summary-list.jsonc b/store/blocks/product-summary/product-summary-list.jsonc index d15faac..cfc3226 100644 --- a/store/blocks/product-summary/product-summary-list.jsonc +++ b/store/blocks/product-summary/product-summary-list.jsonc @@ -29,7 +29,11 @@ "colSizing": "auto", "colGap": 3, "blockClass": "savingsSummaryListDesktop" - } + }, + "children": [ + "product-price-savings#summaryPercentage", + "product-price-savings#summary" + ] }, "flex-layout.row#summaryListDesktop": { "props":{ diff --git a/store/blocks/product-summary/product-summary.jsonc b/store/blocks/product-summary/product-summary.jsonc index bb93cc8..afabee3 100644 --- a/store/blocks/product-summary/product-summary.jsonc +++ b/store/blocks/product-summary/product-summary.jsonc @@ -81,7 +81,9 @@ }, "product-price-savings#summary": { "props": { - "markers": ["discount"], + "markers": [ + "discount" + ], "blockClass": "summary" } } diff --git a/store/blocks/product-summary/quickview.json b/store/blocks/product-summary/quickview.json index 2224337..372c1ef 100644 --- a/store/blocks/product-summary/quickview.json +++ b/store/blocks/product-summary/quickview.json @@ -32,11 +32,7 @@ } }, "flex-layout.col#quickviewPrice": { - "children": [ - "flex-layout.row#list-price-savings", - "flex-layout.row#selling-price", - "product-installments" - ] + "children": ["flex-layout.row#selling-price", "product-installments"] }, "modal-actions#quickview": { "props": { diff --git a/store/blocks/search.jsonc b/store/blocks/search.jsonc index 735db90..22be941 100644 --- a/store/blocks/search.jsonc +++ b/store/blocks/search.jsonc @@ -108,10 +108,7 @@ } }, "flex-layout.row#searchinfo": { - "children": [ - "flex-layout.col#productCount", - "flex-layout.row#orderByAndSwitcher" - ] + "children": ["flex-layout.col#productCount", "flex-layout.row#orderByAndSwitcher"] }, "flex-layout.row#orderByAndSwitcher": { "children": ["order-by.v2", "gallery-layout-switcher"], @@ -275,19 +272,29 @@ "props": { "name": "grid" }, - "children": ["icon-grid", "responsive-layout.desktop#textOptionGrid"] + "children": [ + "icon-grid", + "responsive-layout.desktop#textOptionGrid" + ] }, "gallery-layout-option#list": { "props": { "name": "list" }, - "children": ["icon-inline-grid", "responsive-layout.desktop#textOptionList"] + "children": [ + "icon-inline-grid", + "responsive-layout.desktop#textOptionList" + ] }, "responsive-layout.desktop#textOptionGrid": { - "children": ["rich-text#option-grid"] + "children": [ + "rich-text#option-grid" + ] }, "responsive-layout.desktop#textOptionList": { - "children": ["rich-text#option-list"] + "children": [ + "rich-text#option-list" + ] }, "rich-text#option-grid": { "props": { diff --git a/store/interfaces.json b/store/interfaces.json index 74e0832..9f8761b 100644 --- a/store/interfaces.json +++ b/store/interfaces.json @@ -2,11 +2,14 @@ "example-component": { "component": "Example" }, + "pix-component": { + "component": "Pix" + }, "html": { "component": "html", "composition": "children" }, - "componente-prices": { - "component": "Prices" + "Placeholder": { + "component": "Placeholder" } } diff --git a/styles/configs/style.json b/styles/configs/style.json index 8eeed02..64c4329 100644 --- a/styles/configs/style.json +++ b/styles/configs/style.json @@ -255,91 +255,91 @@ "measure": [30, 34, 20], "styles": { "heading-1": { - "fontFamily": "Open Sans, San Francisco, -apple-system, BlinkMacSystemFont, avenir next, avenir, helvetica neue, helvetica, ubuntu, roboto, noto, segoe ui, arial, sans-serif", + "fontFamily": "Open Sans, sans-serif", "fontWeight": "700", "fontSize": "3rem", "textTransform": "initial", "letterSpacing": "0" }, "heading-2": { - "fontFamily": "Open Sans, San Francisco, -apple-system, BlinkMacSystemFont, avenir next, avenir, helvetica neue, helvetica, ubuntu, roboto, noto, segoe ui, arial, sans-serif", + "fontFamily": "Open Sans, sans-serif", "fontWeight": "700", "fontSize": "2.25rem", "textTransform": "initial", "letterSpacing": "0" }, "heading-3": { - "fontFamily": "Open Sans, San Francisco, -apple-system, BlinkMacSystemFont, avenir next, avenir, helvetica neue, helvetica, ubuntu, roboto, noto, segoe ui, arial, sans-serif", + "fontFamily": "Open Sans, sans-serif", "fontWeight": "700", "fontSize": "1.75rem", "textTransform": "initial", "letterSpacing": "0" }, "heading-4": { - "fontFamily": "Open Sans, San Francisco, -apple-system, BlinkMacSystemFont, avenir next, avenir, helvetica neue, helvetica, ubuntu, roboto, noto, segoe ui, arial, sans-serif", + "fontFamily": "Open Sans, sans-serif", "fontWeight": "normal", "fontSize": "1.5rem", "textTransform": "initial", "letterSpacing": "0" }, "heading-5": { - "fontFamily": "Open Sans, San Francisco, -apple-system, BlinkMacSystemFont, avenir next, avenir, helvetica neue, helvetica, ubuntu, roboto, noto, segoe ui, arial, sans-serif", + "fontFamily": "Open Sans, sans-serif", "fontWeight": "normal", "fontSize": "1.25rem", "textTransform": "initial", "letterSpacing": "0" }, "heading-6": { - "fontFamily": "Open Sans, San Francisco, -apple-system, BlinkMacSystemFont, avenir next, avenir, helvetica neue, helvetica, ubuntu, roboto, noto, segoe ui, arial, sans-serif", + "fontFamily": "Open Sans, sans-serif", "fontWeight": "normal", "fontSize": "1.25rem", "textTransform": "initial", "letterSpacing": "0" }, "body": { - "fontFamily": "Open Sans, San Francisco, -apple-system, BlinkMacSystemFont, avenir next, avenir, helvetica neue, helvetica, ubuntu, roboto, noto, segoe ui, arial, sans-serif", + "fontFamily": "Open Sans, sans-serif", "fontWeight": "normal", "fontSize": "1rem", "textTransform": "initial", "letterSpacing": "0" }, "small": { - "fontFamily": "Open Sans, San Francisco, -apple-system, BlinkMacSystemFont, avenir next, avenir, helvetica neue, helvetica, ubuntu, roboto, noto, segoe ui, arial, sans-serif", + "fontFamily": "Open Sans, sans-serif", "fontWeight": "normal", "fontSize": "0.875rem", "textTransform": "initial", "letterSpacing": "0" }, "mini": { - "fontFamily": "Open Sans, San Francisco, -apple-system, BlinkMacSystemFont, avenir next, avenir, helvetica neue, helvetica, ubuntu, roboto, noto, segoe ui, arial, sans-serif", + "fontFamily": "Open Sans, sans-serif", "fontWeight": "normal", "fontSize": "0.75rem", "textTransform": "initial", "letterSpacing": "0" }, "action": { - "fontFamily": "Open Sans, San Francisco, -apple-system, BlinkMacSystemFont, avenir next, avenir, helvetica neue, helvetica, ubuntu, roboto, noto, segoe ui, arial, sans-serif", + "fontFamily": "Open Sans, sans-serif", "fontWeight": "500", "fontSize": "1rem", "textTransform": "uppercase", "letterSpacing": "0" }, "action--small": { - "fontFamily": "Open Sans, San Francisco, -apple-system, BlinkMacSystemFont, avenir next, avenir, helvetica neue, helvetica, ubuntu, roboto, noto, segoe ui, arial, sans-serif", + "fontFamily": "Open Sans, sans-serif", "fontWeight": "500", "fontSize": "0.875rem", "textTransform": "uppercase", "letterSpacing": "0" }, "action--large": { - "fontFamily": "Open Sans, San Francisco, -apple-system, BlinkMacSystemFont, avenir next, avenir, helvetica neue, helvetica, ubuntu, roboto, noto, segoe ui, arial, sans-serif", + "fontFamily": "Open Sans, sans-serif", "fontWeight": "500", "fontSize": "1.25rem", "textTransform": "uppercase", "letterSpacing": "0" }, "code": { - "fontFamily": "Consolas, monaco, monospace", + "fontFamily": "Open Sans, sans-serif", "fontWeight": "normal", "fontSize": "1rem", "textTransform": "initial", diff --git a/styles/css/agenciamagma.store-theme.css b/styles/css/agenciamagma.store-theme.css index 34c4328..c7cd5bf 100644 --- a/styles/css/agenciamagma.store-theme.css +++ b/styles/css/agenciamagma.store-theme.css @@ -6,4 +6,46 @@ 1800px + : Big desktop */ /* Media Query M3 */ -/* Grid breakpoints */ \ No newline at end of file +/* Grid breakpoints */ +.html { + background-color: red; +} + +.html--pdp-breadcrumb { + background-color: transparent; +} + +.html--addButton { + width: 100%; +} + +:global(.vtex-store-components-3-x-discountInsideContainer) { + display: none !important; +} + +.html--prateleira-flexcol { + display: flex; + flex-direction: column; + align-items: center; +} +@media screen and (max-width: 1024px) { + .html--prateleira-flexcol { + gap: 8px; + } +} +@media (min-width: 2560px) { + .html--prateleira-flexcol { + min-width: 434.4px; + min-height: 568.4px; + } +} + +@media (min-width: 2560px) { + .html--slider-layout-wrapper { + margin: 0 350px; + } +} + +.html--cart-content { + flex-direction: column; +} \ No newline at end of file diff --git a/styles/css/store-components.css b/styles/css/store-components.css new file mode 100644 index 0000000..e31a7db --- /dev/null +++ b/styles/css/store-components.css @@ -0,0 +1,75 @@ +/* +0 - 600PX: Phone +600 - 900px: Table portrait +900 - 1200px: Tablet landscape +[1200 - 1800] is where our nortal styles apply +1800px + : Big desktop +*/ +/* Media Query M3 */ +/* Grid breakpoints */ +.newsletter { + background: black; +} +.newsletter .container .form .label { + font-size: 0; + display: flex; + flex-direction: column; + gap: 16px; +} +.newsletter .container .form .label::before { + content: "Assine nossa newsletter"; + font-size: 24px; + font-family: "Open Sans", sans-serif; + font-style: normal; + font-weight: 400; + line-height: 38px; + color: #ffffff; +} +.newsletter .container .form .label::after { + content: "Receba ofertas e novidades por e-mail"; + white-space: pre; + font-family: "Open Sans", sans-serif; + font-style: normal; + font-weight: 400; + font-size: 18px; + line-height: 25px; + color: #929292; +} +.newsletter .container .form .inputGroup { + display: flex; + justify-content: center; +} +.newsletter .container .form .inputGroup :global(.vtex-input) :global(.vtex-input-prefix__group) { + border: none; + border-bottom: 1px #929292 solid; + border-radius: 0; +} +.newsletter .container .form .inputGroup :global(.vtex-input) :global(.vtex-input-prefix__group) :global(.vtex-styleguide-9-x-input) { + background: black; + font-family: "Open Sans", sans-serif; + font-style: normal; + font-weight: 400; + font-size: 18px; + line-height: 25px; + color: #929292; + width: 774px; +} +.newsletter .container .form .inputGroup :global(.vtex-input) :global(.vtex-input-prefix__group) :global(.vtex-styleguide-9-x-input)::before { + content: "Digite seu e-mail"; + font-size: 16px; + color: white; +} +.newsletter .container .form .inputGroup :global(.vtex-store-components-3-x-buttonContainer) { + padding: 0; +} +.newsletter .container .form .inputGroup :global(.vtex-store-components-3-x-buttonContainer) :global(.vtex-button) { + background: black; + border: none; + border-bottom: 3px gray solid; + border-radius: 0; + font-family: "Open Sans", sans-serif; + font-style: normal; + font-weight: 700; + font-size: 14px; + line-height: 19px; +} diff --git a/styles/css/vtex.breadcrumb.css b/styles/css/vtex.breadcrumb.css index 8af0e2f..6ed9999 100644 --- a/styles/css/vtex.breadcrumb.css +++ b/styles/css/vtex.breadcrumb.css @@ -7,10 +7,33 @@ */ /* Media Query M3 */ /* Grid breakpoints */ -.homeLink .homeIcon { +.container { + align-items: center; +} +.container .homeLink { + padding: 0; +} +.container .homeLink .homeIcon { display: none; } - -.homeLink::before { +.container .homeLink::before { content: "Home"; + font-family: "Open Sans"; + font-style: normal; + font-weight: 400; + font-size: 14px; + line-height: 19px; + color: #929292; +} +.container .arrow--1 .link { + font-size: 0; +} +.container .arrow--1 .link::before { + content: "Sapatos"; + font-family: "Open Sans"; + font-style: normal; + font-weight: 400; + font-size: 14px; + line-height: 19px; + color: #929292; } \ No newline at end of file diff --git a/styles/css/vtex.flex-layout.css b/styles/css/vtex.flex-layout.css index 785c8b9..d5fdff1 100644 --- a/styles/css/vtex.flex-layout.css +++ b/styles/css/vtex.flex-layout.css @@ -1,3 +1,4 @@ +@charset "UTF-8"; /* 0 - 600PX: Phone 600 - 900px: Table portrait @@ -7,6 +8,108 @@ */ /* Media Query M3 */ /* Grid breakpoints */ -.vtex-breadcrumb-1-x-container { - background-color: red; +:global(.vtex-breadcrumb-1-x-container) { + padding: 0 40px; +} +:global(.vtex-breadcrumb-1-x-container) :nth-child(n) { + font-family: "Open Sans"; + font-style: normal; + font-weight: 400; + font-size: 14px; + line-height: 19px; + color: #929292; +} +:global(.vtex-breadcrumb-1-x-container) :global(.vtex-breadcrumb-1-x-term) { + font-family: "Open Sans"; + font-style: normal; + font-weight: 400; + font-size: 14px; + line-height: 19px; + color: #929292; +} + +:global(.vtex-telemarketing-2-x-wrapper) :global(.vtex-store-components-3-x-container) { + margin: auto; +} + +:global(.vtex-store-components-3-x-container) { + padding-left: 0px; + padding-right: 0px; +} +@media (min-width: 2560px) { + :global(.vtex-store-components-3-x-container) { + max-width: 100%; + margin: 0 320px; + } +} +:global(.vtex-store-components-3-x-container) :global(.vtex-flex-layout-0-x-flexRowContent) :global(.vtex-flex-layout-0-x-stretchChildrenWidth) { + padding-right: 0 !important; + overflow: hidden; +} +:global(.vtex-store-components-3-x-container) :global(.vtex-flex-layout-0-x-flexRowContent) { + display: flex; + flex-direction: row; + align-items: flex-start; + padding: 0px 40px; + gap: 32px; + margin-top: 16px; + margin-bottom: 16px; +} +@media (max-width: 1024px) { + :global(.vtex-store-components-3-x-container) :global(.vtex-flex-layout-0-x-flexRowContent) { + flex-direction: column; + } +} +:global(.vtex-store-components-3-x-container) :global(.vtex-flex-layout-0-x-flexRowContent) :global(.vtex-flex-layout-0-x-flexRow) :global(.vtex-flex-layout-0-x-flexRowContent) { + display: block; + padding: 0; + margin-top: 0; + margin-bottom: 0; +} + +.addButton { + width: 100%; +} + +.flexRow--buyButton { + width: 100%; +} +.flexRow--buyButton .flexRowContent--buyButton { + margin: 0; +} +.flexRow--buyButton .flexRowContent--buyButton :global(.vtex-button) { + background-color: black; + height: 49px; + border: none; + border-radius: unset; +} +.flexRow--buyButton .flexRowContent--buyButton :global(.vtex-add-to-cart-button-0-x-buttonText) { + font-size: 0; +} +.flexRow--buyButton .flexRowContent--buyButton :global(.vtex-add-to-cart-button-0-x-buttonText)::after { + content: "ADICIONAR À SACOLA"; + font-family: "Open Sans"; + font-style: normal; + font-weight: 400; + font-size: 18px; + line-height: 25px; + color: #ffffff; +} + +@media screen and (max-width: 1024px) { + :global(.vtex-flex-layout-0-x-flexRowContent) { + margin-top: 0 !important; + margin-bottom: 0 !important; + } + .flexColChild { + width: 100%; + } +} +@media screen and (max-width: 376px) { + :global(.vtex-add-to-cart-button-0-x-buttonText) { + max-width: 168px; + } + .flexRow--buyButton .flexRowContent--buyButton :global(.vtex-button) { + height: 74px !important; + } } \ No newline at end of file diff --git a/styles/css/vtex.product-identifier.css b/styles/css/vtex.product-identifier.css index 0b1513a..0feb2a3 100644 --- a/styles/css/vtex.product-identifier.css +++ b/styles/css/vtex.product-identifier.css @@ -1,11 +1,30 @@ -.product-identifier--productReference { - margin-bottom: 1rem; -} - -.product-identifier__label { - display: none; -} - +/* +0 - 600PX: Phone +600 - 900px: Table portrait +900 - 1200px: Tablet landscape +[1200 - 1800] is where our nortal styles apply +1800px + : Big desktop +*/ +/* Media Query M3 */ +/* Grid breakpoints */ +.product-identifier__label, .product-identifier__separator { display: none; } + +.product-identifier__value { + font-family: "Open Sans"; + font-style: normal; + font-weight: 400; + font-size: 14px; + line-height: 19px; + float: right; + margin-bottom: 24px; + color: rgba(146, 146, 146, 0.48); +} + +@media screen and (max-width: 1024px) { + .product-identifier__value { + float: left; + } +} \ No newline at end of file diff --git a/styles/css/vtex.product-price.css b/styles/css/vtex.product-price.css index 95f4cfe..57faf03 100644 --- a/styles/css/vtex.product-price.css +++ b/styles/css/vtex.product-price.css @@ -1,79 +1,74 @@ -.listPrice { - color: #727273; - margin-bottom: .25rem; - font-size: 1rem; -} - +/* +0 - 600PX: Phone +600 - 900px: Table portrait +900 - 1200px: Tablet landscape +[1200 - 1800] is where our nortal styles apply +1800px + : Big desktop +*/ +/* Media Query M3 */ +/* Grid breakpoints */ .sellingPrice { - color: #3f3f40; - font-size: 1.25rem; -} - -.sellingPriceValue { - font-size: 2.25rem; + font-style: normal; font-weight: 700; + font-size: 25px; + line-height: 38px; + color: #000000; } -.installments { - color: #727273; - margin-bottom: 1rem; +.flexRowContent { + margin: 0 !important; } -.savings { - font-weight: 500; - color: #79B03A; +.listPriceValue { + text-decoration-line: line-through; + text-decoration-color: #bababa; +} +.listPriceValue::before { + font-family: "Open Sans"; + font-style: normal; + font-weight: 400; + font-size: 14px; + color: #bababa; + line-height: 19px; + content: "de"; + margin-right: 6px; +} +.listPriceValue::after { + font-family: "Open Sans"; + font-style: normal; + font-weight: 400; + font-size: 14px; + color: #bababa; + line-height: 19px; + content: "por"; + margin-left: 5px; +} +.listPriceValue .currencyCode, +.listPriceValue .currencyLiteral, +.listPriceValue .currencyInteger { + font-family: "Open Sans"; + font-style: normal; + font-weight: 400; + font-size: 14px; + line-height: 19px; + color: #bababa; } -.sellingPriceValue--summary { - font-size: 1.25rem; - font-weight: 600; - color: #2E2E2E; -} - -.savings--summary { - background: #8BC34A; - border-radius: 1000px; - align-items: center; - display: flex; - - padding-left: 0.5rem; - padding-right: 0.5rem; - font-size: 0.875rem; - font-weight: 600; - vertical-align: baseline; - color: #FFFFFF; -} - -.savings-discount--summary { - font-size: 0.875rem; - font-weight: 600; - vertical-align: baseline; - color: #FFFFFF; - padding-left: 0.5rem; - padding-right: 0.5rem; -} - -.listPrice--summary { - margin-bottom: 0.25rem; - font-size: .875rem; -} - -.installments--summary { - margin-bottom: 2rem; - font-size: 0.875rem; -} - -.savings--summaryPercentage { - background: #0f3e99; - border-radius: 1000px; - align-items: center; - display: flex; -} - -.savingsPercentage--summaryPercentage { - font-size: 0.875rem; - font-weight: 600; - vertical-align: baseline; - color: #FFFFFF; - padding: 0.25rem 0.5rem 0.25rem 0.5rem; +@media screen and (max-width: 1024px) { + .listPrice { + height: 19px; + } + .listPriceValue .currencyCode, + .listPriceValue .currencyLiteral, + .listPriceValue .currencyInteger { + font-size: 12px; + line-height: 16px; + } + .sellingPrice { + font-size: 18px; + line-height: 25px; + } } +.currencyGroup { + color: #bababa; +} \ No newline at end of file diff --git a/styles/css/vtex.product-quantity.css b/styles/css/vtex.product-quantity.css new file mode 100644 index 0000000..69464e1 --- /dev/null +++ b/styles/css/vtex.product-quantity.css @@ -0,0 +1,59 @@ +/* +0 - 600PX: Phone +600 - 900px: Table portrait +900 - 1200px: Tablet landscape +[1200 - 1800] is where our nortal styles apply +1800px + : Big desktop +*/ +/* Media Query M3 */ +/* Grid breakpoints */ +.quantitySelectorContainer { + margin: 0; +} +.quantitySelectorContainer .quantitySelectorTitle { + display: none; +} +.quantitySelectorContainer :global(.vtex-numeric-stepper-wrapper) :global(.vtex-numeric-stepper-container) :global(.vtex-numeric-stepper__input) { + width: 32px; + height: 49px; + border-left-width: 0px; + border-right-width: 0px; + border-top-width: 1px; + border-bottom-width: 1px; + border-color: #cccccc; + color: #929292; + font-weight: 400; + font-size: 16px; + line-height: 22px; +} +.quantitySelectorContainer :global(.vtex-numeric-stepper-wrapper) :global(.vtex-numeric-stepper-container) :global(.vtex-numeric-stepper__plus-button-container) { + height: 49px; +} +.quantitySelectorContainer :global(.vtex-numeric-stepper-wrapper) :global(.vtex-numeric-stepper-container) :global(.vtex-numeric-stepper__plus-button-container) :global(.vtex-numeric-stepper__plus-button) { + font-family: "Open Sans", sans-serif; + height: 49px; + border-top-width: 1px; + border-bottom-width: 1px; + border-color: #cccccc; + color: #000000; + border-radius: 0; + font-weight: 400; + font-size: 16px; + line-height: 22px; +} +.quantitySelectorContainer :global(.vtex-numeric-stepper-wrapper) :global(.vtex-numeric-stepper-container) :global(.vtex-numeric-stepper__minus-button-container) { + height: 49px; +} +.quantitySelectorContainer :global(.vtex-numeric-stepper-wrapper) :global(.vtex-numeric-stepper-container) :global(.vtex-numeric-stepper__minus-button-container) :global(.vtex-numeric-stepper__minus-button) { + font-family: "Open Sans", sans-serif; + height: 49px; + border-top-width: 1px; + border-bottom-width: 1px; + border-color: #cccccc; + color: #000000; + border-radius: 0; + background-color: #ffffff; + font-weight: 400; + font-size: 16px; + line-height: 22px; +} \ No newline at end of file diff --git a/styles/css/vtex.rich-text.css b/styles/css/vtex.rich-text.css index 34c4328..cad7f7f 100644 --- a/styles/css/vtex.rich-text.css +++ b/styles/css/vtex.rich-text.css @@ -6,4 +6,27 @@ 1800px + : Big desktop */ /* Media Query M3 */ -/* Grid breakpoints */ \ No newline at end of file +/* Grid breakpoints */ +.heading--specifications-texto { + margin: 0 0 16px; +} +@media (min-width: 2560px) { + .heading--specifications-texto { + font-weight: 400; + font-size: 24px; + line-height: 38px; + } +} + +@media screen and (max-width: 1024px) { + .heading--specifications-texto { + font-size: 24px; + line-height: 38px; + margin: 0; + } +} +@media screen and (max-width: 376px) { + .heading--specifications-texto { + font-size: 20px; + } +} \ No newline at end of file diff --git a/styles/css/vtex.slider-layout.css b/styles/css/vtex.slider-layout.css index 55f431f..a5c1dd6 100644 --- a/styles/css/vtex.slider-layout.css +++ b/styles/css/vtex.slider-layout.css @@ -1,31 +1,236 @@ +/* +0 - 600PX: Phone +600 - 900px: Table portrait +900 - 1200px: Tablet landscape +[1200 - 1800] is where our nortal styles apply +1800px + : Big desktop +*/ +/* Media Query M3 */ +/* Grid breakpoints */ .sliderLayoutContainer { + padding: 16px 40px 113px; + margin-bottom: -49px; +} +.sliderLayoutContainer .sliderTrackContainer { + padding: 0 24px 36px; +} +.sliderLayoutContainer .sliderTrackContainer .sliderTrack { + gap: 16px; +} +.sliderLayoutContainer .sliderTrackContainer .sliderTrack .slide .slideChildrenContainer :global(.vtex-product-summary-2-x-container) { + margin: 0; + width: 100%; +} +@media (min-width: 2560px) { + .sliderLayoutContainer .sliderTrackContainer .sliderTrack .slide .slideChildrenContainer :global(.vtex-product-summary-2-x-container) { + align-items: center; + max-width: 434.4px !important; + min-height: 543.4px !important; + } +} +.sliderLayoutContainer .sliderTrackContainer .sliderTrack .slide .slideChildrenContainer :global(.vtex-product-summary-2-x-container) :global(.vtex-product-summary-2-x-element) :global(.vtex-product-summary-2-x-imageContainer) { + display: flex; + width: 100%; +} +.sliderLayoutContainer .sliderTrackContainer .sliderTrack .slide .slideChildrenContainer :global(.vtex-product-summary-2-x-container) :global(.vtex-product-summary-2-x-element) :global(.vtex-product-summary-2-x-imageContainer) :global(.vtex-product-summary-2-x-imageNormal) { + height: 314px; + background-color: #ededed; +} +@media (min-width: 2560px) { + .sliderLayoutContainer .sliderTrackContainer .sliderTrack .slide .slideChildrenContainer :global(.vtex-product-summary-2-x-container) :global(.vtex-product-summary-2-x-element) :global(.vtex-product-summary-2-x-imageContainer) :global(.vtex-product-summary-2-x-imageNormal) { + min-width: 434.4px; + min-height: 434.4px; + } +} +.sliderLayoutContainer .sliderTrackContainer .sliderTrack .slide .slideChildrenContainer :global(.vtex-product-summary-2-x-container) :global(.vtex-product-summary-2-x-element) :global(.vtex-product-summary-2-x-nameContainer) { + display: flex; + padding: 0; justify-content: center; } - -.sliderLayoutContainer--carousel { - background-color: #F0F0F0; - min-height: 450px; +.sliderLayoutContainer .sliderTrackContainer .sliderTrack .slide .slideChildrenContainer :global(.vtex-product-summary-2-x-container) :global(.vtex-product-summary-2-x-element) :global(.vtex-product-summary-2-x-nameContainer) :global(.vtex-product-summary-2-x-productBrand) { + display: flex; + max-width: 282.4px; + height: auto; + align-items: center; + font-family: "Open Sans", sans-serif; + font-style: normal; + font-weight: 400; + font-size: 18px; + line-height: 25px; + text-align: center; + color: #000; +} +.sliderLayoutContainer .sliderTrackContainer .sliderTrack .slide .slideChildrenContainer :global(.vtex-product-summary-2-x-container) :global(.vtex-product-summary-2-x-element) :global(.vtex-product-summary-2-x-priceContainer) { + display: flex; + order: 3; + padding: 0; +} +.sliderLayoutContainer .sliderTrackContainer .sliderTrack .slide .slideChildrenContainer :global(.vtex-product-summary-2-x-container) :global(.vtex-product-summary-2-x-element) :global(.vtex-product-summary-2-x-priceContainer) :global(.vtex-store-components-3-x-listPrice) { + display: flex; + justify-content: center; + align-items: center; + text-decoration-line: line-through; + gap: 1px; +} +.sliderLayoutContainer .sliderTrackContainer .sliderTrack .slide .slideChildrenContainer :global(.vtex-product-summary-2-x-container) :global(.vtex-product-summary-2-x-element) :global(.vtex-product-summary-2-x-priceContainer) :global(.vtex-store-components-3-x-listPrice) :global(.vtex-store-components-3-x-listPriceLabel) { + font-family: "Open Sans", sans-serif; + font-style: normal; + font-weight: 400; + font-size: 14px; + line-height: 19px; + text-align: center; + color: #bababa; + text-transform: lowercase; + text-decoration: none; + padding: 0; +} +.sliderLayoutContainer .sliderTrackContainer .sliderTrack .slide .slideChildrenContainer :global(.vtex-product-summary-2-x-container) :global(.vtex-product-summary-2-x-element) :global(.vtex-product-summary-2-x-priceContainer) :global(.vtex-store-components-3-x-listPrice) :global(.vtex-store-components-3-x-listPriceValue) { + font-family: "Open Sans", sans-serif; + font-style: normal; + font-weight: 400; + font-size: 14px; + line-height: 19px; + text-align: center; + color: #bababa; + text-decoration: none; + padding: 0; +} +.sliderLayoutContainer .sliderTrackContainer .sliderTrack .slide .slideChildrenContainer :global(.vtex-product-summary-2-x-container) :global(.vtex-product-summary-2-x-element) :global(.vtex-product-summary-2-x-priceContainer) :global(.vtex-store-components-3-x-listPrice)::after { + content: "por"; + font-family: "Open Sans", sans-serif; + font-style: normal; + font-weight: 400; + font-size: 14px; + line-height: 19px; + text-align: center; + color: #bababa; +} +.sliderLayoutContainer .sliderTrackContainer .sliderTrack .slide .slideChildrenContainer :global(.vtex-product-summary-2-x-container) :global(.vtex-product-summary-2-x-element) :global(.vtex-product-summary-2-x-priceContainer) :global(.vtex-store-components-3-x-sellingPrice) { + padding: 0; +} +.sliderLayoutContainer .sliderTrackContainer .sliderTrack .slide .slideChildrenContainer :global(.vtex-product-summary-2-x-container) :global(.vtex-product-summary-2-x-element) :global(.vtex-product-summary-2-x-priceContainer) :global(.vtex-store-components-3-x-sellingPrice) :global(.vtex-product-summary-2-x-currencyContainer) { + font-family: "Open Sans", sans-serif; + font-style: normal; + font-weight: 700; + font-size: 24px; + line-height: 33px; + text-align: center; + color: #000; +} +.sliderLayoutContainer .sliderTrackContainer .sliderTrack .slide .slideChildrenContainer :global(.vtex-product-summary-2-x-container) :global(.vtex-product-summary-2-x-element) :global(.vtex-product-summary-2-x-priceContainer) :global(.vtex-store-components-3-x-sellingPrice) :global(.vtex-product-summary-2-x-currencyContainer) :nth-child(n) { + font-family: "Open Sans", sans-serif; + font-style: normal; + font-weight: 700; + font-size: 24px; + line-height: 33px; + text-align: center; + color: #000; +} +.sliderLayoutContainer .sliderTrackContainer .sliderTrack .slide .slideChildrenContainer :global(.vtex-product-summary-2-x-container) :global(.vtex-product-summary-2-x-element) :global(.vtex-product-summary-2-x-priceContainer) :global(.vtex-store-components-3-x-sellingPrice) :global(.vtex-store-components-3-x-sellingPriceLabel) { + display: none; +} +.sliderLayoutContainer .sliderTrackContainer .sliderTrack .slide .slideChildrenContainer :global(.vtex-product-summary-2-x-container) :global(.vtex-product-summary-2-x-element) :global(.vtex-product-summary-2-x-priceContainer) :global(.vtex-store-components-3-x-installmentsPrice) { + display: none; +} +.sliderLayoutContainer .sliderTrackContainer .sliderTrack .slide .slideChildrenContainer :global(.vtex-product-summary-2-x-container) :global(.vtex-product-summary-2-x-element) :global(.vtex-product-summary-2-x-buyButtonContainer) { + display: none; +} +.sliderLayoutContainer .sliderTrackContainer .sliderTrack .slide .slideChildrenContainer :global(.vtex-product-summary-2-x-container) :global(.vtex-product-summary-2-x-element) :global(.vtex-product-summary-2-x-description) { + display: none; +} +.sliderLayoutContainer .sliderTrackContainer .sliderTrack .slide .slideChildrenContainer :global(.vtex-product-summary-2-x-container) :global(.vtex-product-summary-2-x-element) :global(.vtex-product-summary-2-x-SKUSelectorContainer) { + display: none; +} +.sliderLayoutContainer .paginationDotsContainer { + bottom: 113px; + align-items: center; +} +.sliderLayoutContainer .paginationDotsContainer .paginationDot { + width: 10px; + height: 10px; + background-color: #000; + border: 0.5px solid #000; +} +.sliderLayoutContainer .paginationDotsContainer .paginationDot--isActive { + background-color: #fff; + height: 17px !important; + width: 17px !important; } -.sliderTrackContainer { - max-width: 100%; +.slide .slideChildrenContainer :global(.vtex-product-summary-2-x-clearLink) :global(.vtex-product-summary-2-x-container) :global(.vtex-product-summary-2-x-element) .html--prateleira-flexcol { + display: flex; } -.paginationDotsContainer { - margin-top: .5rem; - margin-bottom: .5rem; +@media screen and (max-width: 1024px) { + :global(.vtex-product-summary-2-x-productBrand) { + font-size: 14px !important; + line-height: 19px !important; + height: auto !important; + } + :global(.vtex-product-summary-2-x-imageContainer) { + margin-bottom: 4px; + } + .sliderTrackContainer { + padding: 0 24px 24px !important; + } + .sliderTrack { + gap: 12px !important; + } + .sliderLayoutContainer { + margin-bottom: -49px; + } +} +@media screen and (max-width: 376px) { + .sliderLayoutContainer { + margin-bottom: -81px; + } + .sliderTrack { + gap: 8px !important; + } + :global(.vtex-product-summary-2-x-imageContainer) :global(.vtex-product-summary-2-x-imageNormal) { + height: 124.8px !important; + } + .sliderTrackContainer { + padding-bottom: 16px !important; + } +} +:global(.vtex-product-price-1-x-interestRate)::after { + content: "sem juros"; + font-family: "Open Sans"; + font-style: normal; + font-weight: 400; + font-size: 16px; + line-height: 22px; + color: #929292; } -.layoutContainer--shelf { - margin-top: 20px; - margin-bottom: 20px; - max-width: 96rem; - min-height: 550px; +:global(.vtex-product-price-1-x-installments) { + font-size: 0; } -.slide--shelf { - margin-bottom: 25px; - padding-left: .5rem; - padding-right: .5rem; - min-height: 550px; +:global(.vtex-product-price-1-x-installmentValue) { + font-family: "Open Sans"; + font-style: normal; + font-weight: 400; + font-size: 16px; + line-height: 22px; + color: #929292; } +:global(.vtex-product-price-1-x-installmentValue)::before { + content: " de "; +} +:global(.vtex-product-price-1-x-installmentValue)::after { + content: " "; +} + +:global(.vtex-product-price-1-x-installmentsNumber) { + font-family: "Open Sans"; + font-style: normal; + font-weight: 400; + font-size: 16px; + line-height: 22px; + color: #929292; +} +:global(.vtex-product-price-1-x-installmentsNumber)::after { + content: " x "; +} \ No newline at end of file diff --git a/styles/css/vtex.store-components.css b/styles/css/vtex.store-components.css index 5b308b5..c81ff86 100644 --- a/styles/css/vtex.store-components.css +++ b/styles/css/vtex.store-components.css @@ -1,3 +1,4 @@ +@charset "UTF-8"; /* 0 - 600PX: Phone 600 - 900px: Table portrait @@ -7,6 +8,301 @@ */ /* Media Query M3 */ /* Grid breakpoints */ +.newsletter { + background: black; +} +.newsletter .container .form .label { + font-size: 0; + display: flex; + flex-direction: column; + gap: 8px; +} +.newsletter .container .form .label::before { + content: "Assine nossa newsletter"; + font-size: 24px; + font-family: "Open Sans", sans-serif; + font-style: normal; + font-weight: 400; + line-height: 38px; + color: #ffffff; +} +.newsletter .container .form .label::after { + content: "Receba ofertas e novidades por e-mail"; + white-space: pre; + font-family: "Open Sans", sans-serif; + font-style: normal; + font-weight: 400; + font-size: 18px; + line-height: 25px; + color: #929292; +} +@media (max-width: 350px) { + .newsletter .container .form .label::after { + white-space: unset; + } +} +.newsletter .container .form .inputGroup { + display: flex; + justify-content: center; +} +.newsletter .container .form .inputGroup :global(.vtex-input) { + width: 686px; +} +@media (max-width: 1024px) { + .newsletter .container .form .inputGroup :global(.vtex-input) { + width: 100%; + } +} +.newsletter .container .form .inputGroup :global(.vtex-input) :global(.vtex-input-prefix__group) { + border: none; + border-bottom: 1px #929292 solid; + border-radius: 0; +} +.newsletter .container .form .inputGroup :global(.vtex-input) :global(.vtex-input-prefix__group) :global(.vtex-styleguide-9-x-input) { + background: black; + font-family: "Open Sans", sans-serif; + font-style: normal; + font-weight: 400; + font-size: 18px; + line-height: 25px; + color: #929292; + width: 774px; +} +.newsletter .container .form .inputGroup :global(.vtex-input) :global(.vtex-input-prefix__group) :global(.vtex-styleguide-9-x-input)::before { + content: "Digite seu e-mail"; + font-size: 16px; + color: white; +} +.newsletter .container .form .inputGroup :global(.vtex-store-components-3-x-buttonContainer) { + padding: 0; +} +.newsletter .container .form .inputGroup :global(.vtex-store-components-3-x-buttonContainer) :global(.vtex-button) { + width: 88px; + background: black; + border: none; + border-bottom: 3px gray solid; + border-radius: 0; + font-family: "Open Sans", sans-serif; + font-style: normal; + font-weight: 700; + font-size: 14px; + line-height: 19px; +} + +.productBrand { + font-style: normal; + font-weight: 300; + font-size: 20px; + line-height: 34px; + margin-bottom: 8px; + float: right; + color: #575757; +} + +.productImageTag { + object-fit: unset !important; + max-height: 100% !important; + width: 100%; +} + +:global(.vtex-store-components-3-x-productImageTag--zoom) { + display: none; +} + +:global(.vtex-stack-layout-0-x-stackItem) { + min-height: unset; +} + +.skuSelectorContainer { + display: flex; + flex-direction: column-reverse; +} + +.skuSelectorSubcontainer--tamanho { + margin-bottom: 10px; +} +.skuSelectorSubcontainer--tamanho .skuSelectorNameContainer { + margin: 0; +} +.skuSelectorSubcontainer--tamanho .skuSelectorNameContainer .skuSelectorTextContainer .skuSelectorName { + font-size: 0; +} +.skuSelectorSubcontainer--tamanho .skuSelectorNameContainer .skuSelectorTextContainer .skuSelectorName::after { + font-family: "Open Sans"; + font-style: normal; + font-weight: 400; + font-size: 14px; + line-height: 19px; + content: "OUTROS TAMANHOS: "; + color: #929292; +} +.skuSelectorSubcontainer--tamanho .skuSelectorNameContainer .skuSelectorOptionsList { + margin: 0; + margin-left: 0; + column-gap: 16px; +} +.skuSelectorSubcontainer--tamanho .skuSelectorNameContainer .skuSelectorOptionsList .skuSelectorItem { + border-radius: 100%; + width: 40px; + height: 40px; + margin: 0; +} +.skuSelectorSubcontainer--tamanho .skuSelectorNameContainer .skuSelectorOptionsList .skuSelectorItem .frameAround--sku-selector { + border-color: #000000; + border-width: 2px; + width: 40px; + height: 40px; + border-radius: 24px; + top: 0; + bottom: 0; + right: 0; + left: 0; + z-index: 5; + margin: 0 auto; + font-weight: 400; + font-size: 14px; + line-height: 19px; +} +.skuSelectorSubcontainer--tamanho .skuSelectorNameContainer .skuSelectorOptionsList .skuSelectorItem .skuSelectorInternalBox { + border-radius: 100%; + width: 40px; + height: 40px; + border: 1px solid #989898; +} +.skuSelectorSubcontainer--tamanho .skuSelectorNameContainer .skuSelectorOptionsList .skuSelectorItem .skuSelectorInternalBox .diagonalCross { + width: 30px; + height: 30px; + transform: rotate(274deg); + left: 4px; + top: 5px; +} +.skuSelectorSubcontainer--tamanho .skuSelectorNameContainer .skuSelectorOptionsList .skuSelectorItem .skuSelectorInternalBox .skuSelectorItemTextValue { + padding: 0; + display: flex; + align-items: center; + justify-content: center; + margin: 0 auto; + font-weight: 400; + font-size: 14px; + line-height: 19px; + color: rgba(185, 185, 185, 0.6); +} +.skuSelectorSubcontainer--tamanho .skuSelectorNameContainer .skuSelectorOptionsList .skuSelectorItem--selected .skuSelectorInternalBox .skuSelectorItemTextValue { + color: #000000; +} + +.skuSelectorSubcontainer--cor .skuSelectorNameContainer { + margin: 0; +} +.skuSelectorSubcontainer--cor .skuSelectorNameContainer .skuSelectorTextContainer .skuSelectorName, +.skuSelectorSubcontainer--cor .skuSelectorNameContainer .skuSelectorTextContainer .skuSelectorNameSeparator, +.skuSelectorSubcontainer--cor .skuSelectorNameContainer .skuSelectorTextContainer .skuSelectorSelectorImageValue { + font-size: 0; +} +.skuSelectorSubcontainer--cor .skuSelectorNameContainer .skuSelectorTextContainer::after { + font-family: "Open Sans"; + font-style: normal; + font-weight: 400; + font-size: 14px; + line-height: 19px; + content: "OUTRAS CORES:"; + color: #929292; +} +.skuSelectorSubcontainer--cor .skuSelectorNameContainer .skuSelectorOptionsList { + margin: 0; +} +.skuSelectorSubcontainer--cor .skuSelectorNameContainer .skuSelectorOptionsList .skuSelectorItem--sku-selector .frameAround--sku-selector { + border: 2px solid #000000; + border-radius: 24px; + z-index: 5; +} +.skuSelectorSubcontainer--cor .skuSelectorNameContainer .skuSelectorOptionsList .skuSelectorItem--sku-selector .skuSelectorInternalBox { + border-radius: 24px; +} + +.shippingContainer { + position: relative; +} + +:global(.vtex-tab-layout-0-x-contentContainer) { + display: flex; + flex-direction: row; + align-items: flex-start; + padding: 0px 32px; + gap: 32px; +} +:global(.vtex-tab-layout-0-x-contentContainer) .productImagesContainer { + width: 50%; +} +:global(.vtex-tab-layout-0-x-contentContainer) .productDescriptionContainer { + width: 50%; +} +:global(.vtex-tab-layout-0-x-contentContainer) .productDescriptionContainer .productDescriptionTitle { + font-family: "Open Sans"; + font-style: normal; + font-weight: 400; + font-size: 24px; + line-height: 32px; + color: #575757; +} +@media (min-width: 2560px) { + :global(.vtex-tab-layout-0-x-contentContainer) .productDescriptionContainer .productDescriptionTitle { + font-size: 32px; + } +} +:global(.vtex-tab-layout-0-x-contentContainer) .productDescriptionContainer .productDescriptionText { + font-family: "Open Sans"; + font-style: normal; + font-weight: 400; + font-size: 16px; + line-height: 22px; + color: #929292; +} +@media (min-width: 2560px) { + :global(.vtex-tab-layout-0-x-contentContainer) .productDescriptionContainer .productDescriptionText { + font-size: 18px; + line-height: 25px; + } +} +@media (min-width: 2560px) { + :global(.vtex-tab-layout-0-x-contentContainer) .productDescriptionContainer .productDescriptionText :first-child { + margin: 0; + } +} + +.carouselGaleryThumbs { + margin-top: 16px; +} +@media (max-width: 639px) { + .carouselGaleryThumbs { + display: block; + } +} +.carouselGaleryThumbs :first-child { + display: flex; + flex-direction: row; + align-items: flex-start; + padding: 0px; + gap: 16px; +} +.carouselGaleryThumbs :first-child :first-child .productImagesThumb { + height: 90px !important; + width: 90px !important; + margin-bottom: 0; +} +.carouselGaleryThumbs :first-child :first-child .productImagesThumb .figure { + display: flex; + flex-direction: row; + align-items: flex-start; + padding: 0px; + gap: 16px; +} +.carouselGaleryThumbs :first-child :first-child .productImagesThumb .figure .thumbImg { + height: 90px; + width: 90px; + border-radius: 8px; +} + .shippingContainer { display: flex; margin: 0; @@ -15,18 +311,13 @@ } .shippingContainer :global(.vtex-address-form__postalCode) { display: flex; + padding-bottom: 0; } -.shippingContainer :global(.vtex-address-form__postalCode) :global(.vtex-address-form__postalCode-forgottenURL) { - line-height: normal; -} -.shippingContainer :global(.vtex-address-form__postalCode) :global(.vtex-address-form__postalCode-forgottenURL) :first-child { - font-family: "Open Sans"; - font-style: normal; - font-weight: 400; - font-size: 12px; -} -.shippingContainer :global(.vtex-address-form__postalCode) :global(.vtex-address-form__postalCode-forgottenURL) :first-child :first-child { - display: none; +@media (max-width: 540px) { + .shippingContainer :global(.vtex-address-form__postalCode) { + width: calc(100% - 47px); + flex-direction: column; + } } .shippingContainer :global(.vtex-address-form__postalCode) :global(.vtex-input) { display: flex; @@ -52,6 +343,11 @@ border: 1px solid #cccccc; border-radius: 0; } +@media (max-width: 540px) { + .shippingContainer :global(.vtex-address-form__postalCode) :global(.vtex-input) :global(.vtex-input-prefix__group) { + width: 100%; + } +} .shippingContainer :global(.vtex-address-form__postalCode) :global(.vtex-input) :global(.vtex-input-prefix__group) :global(.vtex-address-form-4-x-input) { font-family: "Open Sans"; font-style: normal; @@ -73,19 +369,37 @@ left: 312px; top: 41.5px; } +@media (max-width: 540px) { + .shippingContainer :global(.vtex-address-form__postalCode) :global(.vtex-address-form__postalCode-forgottenURL) { + margin-top: 8px; + margin-right: -49px; + justify-content: right; + position: static; + } +} .shippingContainer :global(.vtex-address-form__postalCode) :global(.vtex-address-form__postalCode-forgottenURL) :last-child { color: #000; + line-height: normal; +} +.shippingContainer :global(.vtex-address-form__postalCode) :global(.vtex-address-form__postalCode-forgottenURL) :last-child :last-child { + display: none; } .shippingContainer :global(.vtex-button) { display: flex; width: 49px; height: 49px; - margin-bottom: 5px; + align-self: end; background: #000; border: 1px solid #000; border-radius: 0; cursor: pointer; } +@media (max-width: 540px) { + .shippingContainer :global(.vtex-button) { + align-self: center; + bottom: 0; + } +} .shippingContainer :global(.vtex-button) :global(.vtex-button__label) { padding: 0; font-size: 0; @@ -149,6 +463,12 @@ column-gap: 32px; margin-top: 15px; } +.shippingTable .shippingTableBody .shippingTableRow :nth-child(n) { + font-weight: 400; + font-size: 12px; + line-height: 16px; + color: #afafaf; +} .shippingTable .shippingTableBody .shippingTableRow .shippingTableCell { padding: 0; } @@ -165,4 +485,134 @@ } .shippingTable .shippingTableBody .shippingTableRow .shippingTableCellDeliveryPrice { grid-area: B; +} + +@media screen and (max-width: 1024px) { + :global(.vtex-flex-layout-0-x-stretchChildrenWidth) { + width: 100% !important; + } + .productBrand { + float: left; + } + .productDescriptionTitle { + font-size: 20px !important; + line-height: 32px !important; + } + .productDescriptionText { + font-size: 14px !important; + line-height: 19px !important; + } + .container .form { + margin: 0 16px; + max-width: 992px; + } + .container .form .label { + width: 100%; + } + .container .form .label::after { + font-size: 16px !important; + line-height: 22px !important; + } + .container .form .inputGroup { + width: 100%; + } + .container .form .inputGroup :global(.vtex-styleguide-9-x-input) { + font-size: 12px !important; + line-height: 16px !important; + width: 100% !important; + } +} +:global(.vtex-store-components-3-x-subscriberContainer) :global(.vtex-store-components-3-x-title) { + font-size: 0; + margin: 0; +} +:global(.vtex-store-components-3-x-subscriberContainer) :global(.vtex-store-components-3-x-title)::after { + content: "Produto indisponível"; + font-family: "Open Sans", "sans-serif"; + font-style: normal; + font-weight: 700; + font-size: 14px; + line-height: 19px; + display: flex; + align-items: center; + color: #868686; +} +:global(.vtex-store-components-3-x-subscriberContainer) :global(.vtex-store-components-3-x-subscribeLabel) { + font-size: 0; + margin: 0; +} +:global(.vtex-store-components-3-x-subscriberContainer) :global(.vtex-store-components-3-x-subscribeLabel)::before { + content: "Deseja saber quando estiver disponível?"; + font-family: "Open Sans"; + font-style: normal; + font-weight: 400; + font-size: 14px; + line-height: 19px; + display: flex; + align-items: center; + color: #868686; +} +:global(.vtex-store-components-3-x-subscriberContainer) :global(.vtex-store-components-3-x-form) { + margin: 0; +} +:global(.vtex-store-components-3-x-subscriberContainer) :global(.vtex-store-components-3-x-form) :global(.vtex-store-components-3-x-content) { + display: grid; + grid-template-columns: repeat(2, 1fr); + grid-column-gap: 8px; + grid-row-gap: 13px; +} +@media (min-width: 2560px) { + :global(.vtex-store-components-3-x-subscriberContainer) :global(.vtex-store-components-3-x-form) :global(.vtex-store-components-3-x-content) { + min-width: 765px; + } +} +:global(.vtex-store-components-3-x-subscriberContainer) :global(.vtex-store-components-3-x-form) :global(.vtex-store-components-3-x-content) :global(.vtex-store-components-3-x-inputName) { + grid-area: 1/1/2/2; + margin: 0 !important; +} +:global(.vtex-store-components-3-x-subscriberContainer) :global(.vtex-store-components-3-x-form) :global(.vtex-store-components-3-x-content) :global(.vtex-store-components-3-x-inputName) :global(.vtex-input) :global(.vtex-input-prefix__group) :global(.vtex-styleguide-9-x-input) { + font-family: "Open Sans"; + font-style: normal; + font-weight: 400; + font-size: 12px; + line-height: 16px; + display: flex; + align-items: center; + color: #989898; +} +:global(.vtex-store-components-3-x-subscriberContainer) :global(.vtex-store-components-3-x-form) :global(.vtex-store-components-3-x-content) :global(.vtex-store-components-3-x-inputEmail) { + grid-area: 1/2/2/3; + margin: 0 !important; +} +:global(.vtex-store-components-3-x-subscriberContainer) :global(.vtex-store-components-3-x-form) :global(.vtex-store-components-3-x-content) :global(.vtex-store-components-3-x-inputEmail) :global(.vtex-input) :global(.vtex-input-prefix__group) :global(.vtex-styleguide-9-x-input) { + font-family: "Open Sans"; + font-style: normal; + font-weight: 400; + font-size: 12px; + line-height: 16px; + display: flex; + align-items: center; + color: #989898; +} +:global(.vtex-store-components-3-x-subscriberContainer) :global(.vtex-store-components-3-x-form) :global(.vtex-store-components-3-x-content) :global(.vtex-store-components-3-x-submit) { + grid-area: 2/1/3/3; +} +:global(.vtex-store-components-3-x-subscriberContainer) :global(.vtex-store-components-3-x-form) :global(.vtex-store-components-3-x-content) :global(.vtex-store-components-3-x-submit) :global(.vtex-button) { + font-size: 0; + width: 100%; +} +:global(.vtex-store-components-3-x-subscriberContainer) :global(.vtex-store-components-3-x-form) :global(.vtex-store-components-3-x-content) :global(.vtex-store-components-3-x-submit) :global(.vtex-button)::before { + content: "AVISE-ME"; + width: 100%; + display: flex; + flex-direction: row; + justify-content: center; + align-items: center; + gap: 10px; + height: 49px; + background: #000000; + font-weight: 600; + font-size: 18px; + line-height: 25px; + color: #ffffff; } \ No newline at end of file diff --git a/styles/css/vtex.tab-layout.css b/styles/css/vtex.tab-layout.css new file mode 100644 index 0000000..ce029c9 --- /dev/null +++ b/styles/css/vtex.tab-layout.css @@ -0,0 +1,116 @@ +/* +0 - 600PX: Phone +600 - 900px: Table portrait +900 - 1200px: Tablet landscape +[1200 - 1800] is where our nortal styles apply +1800px + : Big desktop +*/ +/* Media Query M3 */ +/* Grid breakpoints */ +.listContainer--listaDescricao { + display: flex; + flex-direction: row; + justify-content: space-between; + align-items: flex-start; + padding: 0px 64px; + gap: 99px; + border-bottom: 1px solid #b9b9b9; + margin-bottom: 32px; +} +.listContainer--listaDescricao .listItem { + font-family: "Open Sans"; + font-style: normal; + font-weight: 400; + font-size: 18px; + line-height: 38px; + padding: 0; + margin: 0; + color: #bfbfbf; +} +.listContainer--listaDescricao .listItem :global(.vtex-button) { + border-radius: 0; + border: none; + background-color: white; + padding: 0px 16px; +} +.listContainer--listaDescricao .listItem :global(.vtex-button) :global(.vtex-button__label) { + font-family: "Open Sans"; + font-style: normal; + font-weight: 400; + font-size: 18px; + line-height: 38px; + color: #bfbfbf; + padding-top: 0 !important; + padding-bottom: 0 !important; + padding-left: 0 !important; + padding-right: 0 !important; + text-transform: capitalize; +} +@media (min-width: 2560px) { + .listContainer--listaDescricao .listItem :global(.vtex-button) :global(.vtex-button__label) { + font-size: 24px; + } +} +.listContainer--listaDescricao .listItemActive :global(.vtex-button) { + border-radius: 0; + border: none; + border-bottom: 2px solid #000000; + background-color: white; + padding: 0px 16px; +} +.listContainer--listaDescricao .listItemActive :global(.vtex-button) :global(.vtex-button__label) { + font-family: "Open Sans"; + font-style: normal; + font-weight: 400; + font-size: 18px; + line-height: 38px; + color: #000000; + padding-top: 0 !important; + padding-bottom: 0 !important; + padding-left: 0 !important; + padding-right: 0 !important; + text-transform: capitalize; +} +@media (min-width: 2560px) { + .listContainer--listaDescricao .listItemActive :global(.vtex-button) :global(.vtex-button__label) { + font-size: 24px; + } +} + +@media screen and (max-width: 1024px) { + .listContainer--listaDescricao { + flex-direction: column; + gap: 16px; + padding: 16px 0; + border-top: 1px solid #b9b9b9; + margin-top: 16px; + } + .listItem :global(.vtex-button) { + padding: 0 !important; + } + .listItemActive :global(.vtex-button) { + padding: 0 !important; + border: none !important; + } + .contentContainer { + flex-direction: column; + padding: 0; + padding-bottom: 16px; + border-bottom: 1px solid #b9b9b9; + margin-bottom: 16px; + } + :global(.vtex-store-components-3-x-productImagesContainer) { + width: 100% !important; + } + :global(.vtex-store-components-3-x-productDescriptionContainer) { + width: 100% !important; + } +} +@media screen and (max-width: 376px) { + .listContainer--listaDescricao { + margin-bottom: 16px; + } + .contentContainer { + gap: 16px; + } +} \ No newline at end of file