├── .prettierrc ├── src ├── satoshi-theme │ ├── web │ │ ├── satoshi │ │ │ ├── .gitignore │ │ │ ├── .npmrc │ │ │ ├── components │ │ │ │ ├── content-wrapper.css │ │ │ │ ├── divider.css │ │ │ │ ├── image.css │ │ │ │ ├── link.css │ │ │ │ ├── price.css │ │ │ │ ├── icon-button.css │ │ │ │ ├── card-product.css │ │ │ │ ├── progress-bar.css │ │ │ │ └── radio.css │ │ │ ├── src │ │ │ │ ├── utils │ │ │ │ │ ├── device.ts │ │ │ │ │ ├── price.ts │ │ │ │ │ ├── units.ts │ │ │ │ │ ├── keyboard-keys.ts │ │ │ │ │ ├── sanitize.ts │ │ │ │ │ └── magento-api.ts │ │ │ │ ├── store │ │ │ │ │ └── Account.ts │ │ │ │ └── data │ │ │ │ │ ├── AccountInformation.ts │ │ │ │ │ ├── TransitionImage.ts │ │ │ │ │ ├── Rating.ts │ │ │ │ │ └── Address.ts │ │ │ ├── theme.css │ │ │ ├── theme │ │ │ │ └── components │ │ │ │ │ ├── product.css │ │ │ │ │ ├── style │ │ │ │ │ └── view-transition.css │ │ │ │ │ └── page.css │ │ │ ├── postcss.config.js │ │ │ ├── vite.config.js │ │ │ ├── tsconfig.json │ │ │ ├── layout │ │ │ │ └── utilities.css │ │ │ ├── tailwind-source.css │ │ │ └── package.json │ │ ├── images │ │ │ ├── hero.jpg │ │ │ ├── hero-2x.jpg │ │ │ └── hyva-logo.svg │ │ └── fonts │ │ │ ├── Satoshi-Bold.woff │ │ │ ├── Satoshi-Bold.woff2 │ │ │ ├── Satoshi-Medium.woff │ │ │ └── Satoshi-Medium.woff2 │ ├── .gitignore │ ├── Magento_Theme │ │ ├── templates │ │ │ ├── html │ │ │ │ ├── footer │ │ │ │ │ ├── wrapper.phtml │ │ │ │ │ └── copyright.phtml │ │ │ │ ├── layout │ │ │ │ │ ├── transition │ │ │ │ │ │ ├── element-transition-wrapper.phtml │ │ │ │ │ │ ├── preview-content.phtml │ │ │ │ │ │ └── search_fallback.phtml │ │ │ │ │ ├── sidebar-main-wrapper.phtml │ │ │ │ │ └── main-content.phtml │ │ │ │ ├── skip.phtml │ │ │ │ ├── title.phtml │ │ │ │ ├── header │ │ │ │ │ ├── search │ │ │ │ │ │ ├── search-button.phtml │ │ │ │ │ │ └── search-suggestions.phtml │ │ │ │ │ ├── cart │ │ │ │ │ │ └── totals │ │ │ │ │ │ │ ├── grand-total.phtml │ │ │ │ │ │ │ └── subtotal.phtml │ │ │ │ │ └── account │ │ │ │ │ │ └── account-button.phtml │ │ │ │ └── components │ │ │ │ │ ├── dropdown-option.phtml │ │ │ │ │ └── svg-filters.phtml │ │ │ └── head │ │ │ │ ├── theme-config.phtml │ │ │ │ └── inject-variables.phtml │ │ └── layout │ │ │ ├── default_head_blocks.xml │ │ │ └── cms_index_index.xml │ ├── Magento_Customer │ │ ├── templates │ │ │ ├── account │ │ │ │ ├── navigation-delimiter.phtml │ │ │ │ ├── link │ │ │ │ │ ├── back.phtml │ │ │ │ │ └── authorization.phtml │ │ │ │ └── title.phtml │ │ │ ├── logout.phtml │ │ │ ├── header │ │ │ │ └── link │ │ │ │ │ ├── sign-in.phtml │ │ │ │ │ └── register.phtml │ │ │ ├── js │ │ │ │ └── password-validation.phtml │ │ │ └── widget │ │ │ │ ├── telephone.phtml │ │ │ │ ├── company.phtml │ │ │ │ ├── fax.phtml │ │ │ │ └── taxvat.phtml │ │ └── layout │ │ │ ├── customer_account_forgotpassword.xml │ │ │ ├── customer_account_logoutsuccess.xml │ │ │ └── customer_account.xml │ ├── registration.php │ ├── Hyva_Theme │ │ ├── web │ │ │ └── svg │ │ │ │ ├── chevron.svg │ │ │ │ ├── breadcrumb-chevron.svg │ │ │ │ ├── chevron-left.svg │ │ │ │ ├── tick.svg │ │ │ │ ├── bookmark.svg │ │ │ │ ├── chevron-right.svg │ │ │ │ ├── bookmark-empty.svg │ │ │ │ ├── user.svg │ │ │ │ ├── filter.svg │ │ │ │ ├── menu.svg │ │ │ │ ├── close.svg │ │ │ │ ├── envelope.svg │ │ │ │ ├── bookmarks.svg │ │ │ │ ├── minus.svg │ │ │ │ ├── plus.svg │ │ │ │ ├── cart-empty.svg │ │ │ │ ├── cart.svg │ │ │ │ ├── search.svg │ │ │ │ ├── error.svg │ │ │ │ ├── chevron-up.svg │ │ │ │ ├── reload.svg │ │ │ │ ├── clipboard.svg │ │ │ │ ├── shopping-bag.svg │ │ │ │ ├── star-full.svg │ │ │ │ ├── note.svg │ │ │ │ ├── checkmark.svg │ │ │ │ ├── eye.svg │ │ │ │ ├── remove.svg │ │ │ │ ├── success.svg │ │ │ │ ├── info.svg │ │ │ │ ├── lock.svg │ │ │ │ ├── star-half.svg │ │ │ │ ├── play.svg │ │ │ │ ├── wishlist.svg │ │ │ │ ├── coupon.svg │ │ │ │ ├── pencil.svg │ │ │ │ ├── share.svg │ │ │ │ ├── carts.svg │ │ │ │ ├── scroll-mouse.svg │ │ │ │ ├── star.svg │ │ │ │ ├── trash.svg │ │ │ │ ├── star-empty.svg │ │ │ │ ├── menu-view-all.svg │ │ │ │ ├── print.svg │ │ │ │ ├── refresh.svg │ │ │ │ └── button-link.svg │ │ ├── layout │ │ │ └── hyva_form_validation.xml │ │ └── templates │ │ │ ├── sortable-item │ │ │ └── link.phtml │ │ │ └── page │ │ │ └── js │ │ │ └── alpinejs.phtml │ ├── Magento_Catalog │ │ ├── templates │ │ │ ├── product │ │ │ │ ├── view │ │ │ │ │ ├── options │ │ │ │ │ │ └── wrapper │ │ │ │ │ │ │ └── bottom.phtml │ │ │ │ │ └── sections │ │ │ │ │ │ └── product-sections.phtml │ │ │ │ ├── list │ │ │ │ │ └── toolbar.phtml │ │ │ │ └── product-detail-page.phtml │ │ │ ├── category │ │ │ │ └── grid-container.phtml │ │ │ ├── search │ │ │ │ └── banner.phtml │ │ │ └── navigation │ │ │ │ └── bottom-shopby-popup.phtml │ │ └── layout │ │ │ └── catalog_list_item.xml │ ├── theme.xml │ ├── Magento_Search │ │ ├── layout │ │ │ └── search_term_popular.xml │ │ └── templates │ │ │ └── term.phtml │ ├── Magento_Sales │ │ ├── layout │ │ │ └── sales_guest_form.xml │ │ └── templates │ │ │ └── order │ │ │ └── order_status.phtml │ ├── Magento_Checkout │ │ ├── layout │ │ │ ├── checkout_cart_index.xml │ │ │ └── checkout_onepage_success.xml │ │ └── templates │ │ │ ├── button.phtml │ │ │ └── cart-main.phtml │ ├── Magento_CatalogSearch │ │ ├── layout │ │ │ ├── catalogsearch_advanced_index.xml │ │ │ └── catalogsearch_advanced_result.xml │ │ └── templates │ │ │ └── advanced │ │ │ └── field │ │ │ └── text.phtml │ ├── Magento_LayeredNavigation │ │ └── layout │ │ │ ├── catalog_category_view_type_layered.xml │ │ │ └── catalogsearch_result_index.xml │ ├── Magento_Cms │ │ ├── layout │ │ │ ├── cms_page_view.xml │ │ │ └── cms_noroute_index_id_no-route.xml │ │ └── templates │ │ │ ├── page.phtml │ │ │ └── 404.phtml │ ├── Magento_Wishlist │ │ ├── templates │ │ │ ├── item │ │ │ │ └── column │ │ │ │ │ ├── actions.phtml │ │ │ │ │ ├── image.phtml │ │ │ │ │ └── remove.phtml │ │ │ ├── button │ │ │ │ ├── tocart.phtml │ │ │ │ ├── update.phtml │ │ │ │ └── share.phtml │ │ │ └── link.phtml │ │ └── layout │ │ │ └── wishlist_index_index.xml │ ├── Magento_Bundle │ │ └── layout │ │ │ └── catalog_product_view_type_bundle.xml │ ├── Magento_Store │ │ └── layout │ │ │ └── default.xml │ └── Magento_ReCaptchaFrontendUi │ │ └── templates │ │ └── legal_notice.phtml ├── sales │ ├── registration.php │ └── etc │ │ ├── module.xml │ │ └── di.xml ├── customer │ ├── registration.php │ ├── etc │ │ └── module.xml │ └── Block │ │ ├── Form │ │ ├── Edit.php │ │ └── Register.php │ │ └── Account │ │ └── ForgotPassword.php ├── framework │ ├── registration.php │ └── etc │ │ ├── di.xml │ │ └── module.xml ├── newsletter │ ├── registration.php │ └── etc │ │ ├── module.xml │ │ └── di.xml ├── bundle │ ├── registration.php │ ├── etc │ │ ├── module.xml │ │ └── di.xml │ └── Block │ │ └── Catalog │ │ └── Product │ │ └── View │ │ └── Type │ │ └── Bundle.php ├── catalog-search │ ├── registration.php │ └── etc │ │ ├── module.xml │ │ └── di.xml ├── satoshi-ui │ ├── registration.php │ ├── view │ │ └── adminhtml │ │ │ ├── web │ │ │ ├── template │ │ │ │ └── content-type │ │ │ │ │ ├── satoshi-categories │ │ │ │ │ └── default │ │ │ │ │ │ ├── master.html │ │ │ │ │ │ └── preview.html │ │ │ │ │ ├── satoshi-category │ │ │ │ │ └── default │ │ │ │ │ │ ├── master.html │ │ │ │ │ │ └── preview.html │ │ │ │ │ ├── satoshi-collage │ │ │ │ │ └── default │ │ │ │ │ │ ├── master.html │ │ │ │ │ │ └── preview.html │ │ │ │ │ ├── satoshi-shop-the-look │ │ │ │ │ └── default │ │ │ │ │ │ ├── master.html │ │ │ │ │ │ └── preview.html │ │ │ │ │ ├── satoshi-guarantees │ │ │ │ │ └── default │ │ │ │ │ │ └── master.html │ │ │ │ │ ├── satoshi-faq │ │ │ │ │ └── default │ │ │ │ │ │ └── master.html │ │ │ │ │ ├── satoshi-quotes │ │ │ │ │ └── default │ │ │ │ │ │ └── master.html │ │ │ │ │ ├── satoshi-menu │ │ │ │ │ └── default │ │ │ │ │ │ └── master.html │ │ │ │ │ ├── satoshi-before-and-after │ │ │ │ │ └── default │ │ │ │ │ │ └── master.html │ │ │ │ │ ├── satoshi-newsletter │ │ │ │ │ └── default │ │ │ │ │ │ └── master.html │ │ │ │ │ └── satoshi-rich-text │ │ │ │ │ └── default │ │ │ │ │ └── master.html │ │ │ ├── images │ │ │ │ └── content-type │ │ │ │ │ └── satoshi-image-with-text │ │ │ │ │ └── appearance │ │ │ │ │ ├── image-first.png │ │ │ │ │ └── text-first.png │ │ │ ├── js │ │ │ │ ├── form │ │ │ │ │ └── collage │ │ │ │ │ │ ├── category-selector.js │ │ │ │ │ │ ├── product-selector.js │ │ │ │ │ │ └── type-selector.js │ │ │ │ ├── content-type │ │ │ │ │ ├── satoshi-video │ │ │ │ │ │ └── preview.js │ │ │ │ │ ├── satoshi-guarantees │ │ │ │ │ │ └── block-directive.js │ │ │ │ │ ├── satoshi-faq │ │ │ │ │ │ ├── block-directive.js │ │ │ │ │ │ └── preview.js │ │ │ │ │ ├── satoshi-menu │ │ │ │ │ │ ├── block-directive.js │ │ │ │ │ │ └── preview.js │ │ │ │ │ ├── satoshi-quotes │ │ │ │ │ │ └── block-directive.js │ │ │ │ │ ├── satoshi-newsletter │ │ │ │ │ │ └── block-directive.js │ │ │ │ │ ├── satoshi-rich-text │ │ │ │ │ │ └── block-directive.js │ │ │ │ │ ├── satoshi-before-and-after │ │ │ │ │ │ ├── block-directive.js │ │ │ │ │ │ └── preview.js │ │ │ │ │ ├── satoshi-image-with-text │ │ │ │ │ │ └── block-directive.js │ │ │ │ │ ├── satoshi-countdown │ │ │ │ │ │ └── block-directive.js │ │ │ │ │ └── satoshi-image-banner │ │ │ │ │ │ └── block-directive.js │ │ │ │ ├── helper │ │ │ │ │ └── link.js │ │ │ │ └── converter │ │ │ │ │ └── style │ │ │ │ │ └── percentage.js │ │ │ └── css │ │ │ │ └── source │ │ │ │ └── content-type │ │ │ │ ├── _rich-text.style.less │ │ │ │ └── _guarantees.style.less │ │ │ ├── pagebuilder │ │ │ └── menu_section.xml │ │ │ └── layout │ │ │ ├── pagebuilder_satoshi_faq_form.xml │ │ │ ├── pagebuilder_satoshi_quotes_form.xml │ │ │ ├── pagebuilder_satoshi_video_form.xml │ │ │ ├── pagebuilder_satoshi_category_form.xml │ │ │ ├── pagebuilder_satoshi_collage_form.xml │ │ │ ├── pagebuilder_satoshi_countdown_form.xml │ │ │ ├── pagebuilder_satoshi_guarantees_form.xml │ │ │ ├── pagebuilder_satoshi_menu_form.xml │ │ │ ├── pagebuilder_satoshi_rich_text_form.xml │ │ │ ├── pagebuilder_satoshi_video_hero_form.xml │ │ │ ├── pagebuilder_satoshi_image_banner_form.xml │ │ │ ├── pagebuilder_satoshi_shop_the_look_form.xml │ │ │ ├── pagebuilder_satoshi_before_and_after_form.xml │ │ │ ├── pagebuilder_satoshi_categories_form.xml │ │ │ ├── pagebuilder_satoshi_image_with_text_form.xml │ │ │ └── pagebuilder_satoshi_newsletter_form.xml │ ├── Block │ │ ├── FAQ.php │ │ ├── Menu.php │ │ ├── Video.php │ │ ├── Quotes.php │ │ ├── RichText.php │ │ ├── Countdown.php │ │ ├── Guarantees.php │ │ ├── ImageBanner.php │ │ ├── ImageWithText.php │ │ └── BeforeAndAfter.php │ ├── etc │ │ ├── module.xml │ │ ├── frontend │ │ │ └── routes.xml │ │ └── di.xml │ └── Helper │ │ └── Decode.php ├── catalog-graph-ql │ ├── registration.php │ └── etc │ │ ├── module.xml │ │ └── di.xml ├── catalog │ ├── registration.php │ ├── etc │ │ ├── module.xml │ │ └── di.xml │ ├── Model │ │ └── Layer │ │ │ └── Filter │ │ │ ├── FilterTypeTrait.php │ │ │ └── Item │ │ │ └── DataBuilder.php │ └── Block │ │ └── Product │ │ └── AbstractProduct.php ├── checkout │ ├── registration.php │ ├── etc │ │ ├── module.xml │ │ └── di.xml │ ├── Block │ │ └── Cart │ │ │ └── Coupon.php │ └── CustomerData │ │ └── CartPlugin.php ├── migration │ ├── registration.php │ └── etc │ │ └── module.xml ├── swatches │ ├── registration.php │ ├── etc │ │ ├── module.xml │ │ └── di.xml │ └── Block │ │ └── Product │ │ └── Renderer │ │ └── Configurable.php ├── layered-navigation │ ├── registration.php │ └── etc │ │ ├── di.xml │ │ └── module.xml ├── theme │ ├── registration.php │ ├── etc │ │ ├── module.xml │ │ ├── config.xml │ │ ├── csp_whitelist.xml │ │ ├── acl.xml │ │ ├── di.xml │ │ └── adminhtml │ │ │ └── system.xml │ ├── Model │ │ └── Config │ │ │ └── Source │ │ │ └── NavigationType.php │ ├── Block │ │ ├── Template.php │ │ └── ProductActions.php │ └── Plugin │ │ └── TemplateEngine │ │ └── SharedVariablesPlugin.php ├── contact │ ├── registration.php │ └── etc │ │ ├── module.xml │ │ └── di.xml ├── core │ ├── registration.php │ └── etc │ │ └── module.xml └── wishlist │ ├── registration.php │ ├── etc │ ├── module.xml │ └── di.xml │ └── ViewModel │ └── Wishlist.php ├── logo.png └── CHANGELOG.md /.prettierrc: -------------------------------------------------------------------------------- 1 | { 2 | "tabWidth": 4 3 | } 4 | -------------------------------------------------------------------------------- /src/satoshi-theme/web/satoshi/.gitignore: -------------------------------------------------------------------------------- 1 | node_modules/ 2 | -------------------------------------------------------------------------------- /src/satoshi-theme/web/satoshi/.npmrc: -------------------------------------------------------------------------------- 1 | engine-strict=true 2 | -------------------------------------------------------------------------------- /logo.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/scandiweb/satoshi-hyva/HEAD/logo.png -------------------------------------------------------------------------------- /src/satoshi-theme/.gitignore: -------------------------------------------------------------------------------- 1 | /web/satoshi/node_modules/ 2 | /web/css/styles.css 3 | /vendor/ 4 | /web/assets/ -------------------------------------------------------------------------------- /src/satoshi-theme/web/images/hero.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/scandiweb/satoshi-hyva/HEAD/src/satoshi-theme/web/images/hero.jpg -------------------------------------------------------------------------------- /src/satoshi-theme/web/images/hero-2x.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/scandiweb/satoshi-hyva/HEAD/src/satoshi-theme/web/images/hero-2x.jpg -------------------------------------------------------------------------------- /src/satoshi-theme/web/fonts/Satoshi-Bold.woff: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/scandiweb/satoshi-hyva/HEAD/src/satoshi-theme/web/fonts/Satoshi-Bold.woff -------------------------------------------------------------------------------- /src/satoshi-theme/web/fonts/Satoshi-Bold.woff2: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/scandiweb/satoshi-hyva/HEAD/src/satoshi-theme/web/fonts/Satoshi-Bold.woff2 -------------------------------------------------------------------------------- /src/satoshi-theme/web/fonts/Satoshi-Medium.woff: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/scandiweb/satoshi-hyva/HEAD/src/satoshi-theme/web/fonts/Satoshi-Medium.woff -------------------------------------------------------------------------------- /src/satoshi-theme/web/satoshi/components/content-wrapper.css: -------------------------------------------------------------------------------- 1 | @layer components { 2 | .content-wrapper { 3 | @apply container px-5; 4 | } 5 | } -------------------------------------------------------------------------------- /src/satoshi-theme/web/fonts/Satoshi-Medium.woff2: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/scandiweb/satoshi-hyva/HEAD/src/satoshi-theme/web/fonts/Satoshi-Medium.woff2 -------------------------------------------------------------------------------- /src/satoshi-theme/web/satoshi/src/utils/device.ts: -------------------------------------------------------------------------------- 1 | export const isMobile = () => { 2 | return window.matchMedia("(max-width: 767px)").matches; 3 | }; 4 | -------------------------------------------------------------------------------- /src/satoshi-theme/Magento_Theme/templates/html/footer/wrapper.phtml: -------------------------------------------------------------------------------- 1 | 6 |
7 | -------------------------------------------------------------------------------- /src/satoshi-theme/web/satoshi/theme.css: -------------------------------------------------------------------------------- 1 | @import "theme/components/style/view-transition.css"; 2 | @import "theme/components/page.css"; 3 | @import "theme/components/product.css"; 4 | -------------------------------------------------------------------------------- /src/satoshi-theme/web/satoshi/theme/components/product.css: -------------------------------------------------------------------------------- 1 | .product-info-main { 2 | @apply max-md:pb-10; 3 | } 4 | 5 | .cart-main + .product-slider { 6 | @apply max-md:mb-28; 7 | } 8 | -------------------------------------------------------------------------------- /src/satoshi-theme/Magento_Customer/templates/account/navigation-delimiter.phtml: -------------------------------------------------------------------------------- 1 | 5 |12 | = $escaper->escapeHtml($block->getCopyright()) ?> 13 |
14 | -------------------------------------------------------------------------------- /src/layered-navigation/etc/di.xml: -------------------------------------------------------------------------------- 1 | 2 |17 | = $title ?> 18 |
19 | 20 |14 | = $escaper->escapeHtml(__('You have signed out and will be redirected to our homepage in 5 seconds.')) ?> 15 |
16 |17 | = $escaper->escapeHtml(__('Thank you for your visit, we\'re looking forward to see you again soon.')) ?> 18 |
19 |24 | = $specialEscaper->escapeHtml( 25 | __( 26 | 'This site is protected by reCAPTCHA and the Google Privacy Policy and Terms of Service apply.', 27 | 'https://policies.google.com/privacy', 28 | 'https://policies.google.com/terms' 29 | ), 30 | ['a'] 31 | ) ?> 32 |
33 | -------------------------------------------------------------------------------- /src/satoshi-theme/web/satoshi/src/data/TransitionImage.ts: -------------------------------------------------------------------------------- 1 | import type { Magics } from "alpinejs"; 2 | 3 | export type TransitionImageType = { 4 | [key: string | symbol]: any; 5 | 6 | isImgLoaded: boolean; 7 | src: string; 8 | 9 | init(): void; 10 | } & Magics<{}>; 11 | 12 | type TransitionImageProps = { 13 | src: string; 14 | imageId: string; 15 | }; 16 | 17 | export const TransitionImage = (props: TransitionImageProps) => 18 |