Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

V14 #17

Merged
merged 57 commits into from
May 28, 2024
Merged

V14 #17

Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
57 commits
Select commit Hold shift + click to select a range
436e104
Update 1 translation file (#3202)
translation-platform[bot] Jan 24, 2024
c77ebf5
Pull update from release branch and update version number and release…
ludoboludo Jan 31, 2024
7aa16a8
Update 1 translation file (#3232)
translation-platform[bot] Feb 5, 2024
9309102
Update README.md (#3128)
benjaminsehl Feb 7, 2024
a42f234
Fix Theme Check offences (#3283)
KaichenWang Feb 16, 2024
c5ba94b
Pull in latest release 13.0.1 (#3292)
ludoboludo Feb 23, 2024
53a2872
Update 1 translation file (#3294)
translation-platform[bot] Feb 26, 2024
76152c5
Update 1 translation file (#3298)
translation-platform[bot] Feb 26, 2024
0f1bd0a
Update 1 translation file (#3302)
translation-platform[bot] Feb 27, 2024
bfae862
Bring back swatch-input snippet (#3299)
jas7457 Feb 27, 2024
88faef3
Switch the filter swatches to use the swatch api (#3303)
jas7457 Feb 28, 2024
1d047b9
Quick order keyboard interactions (#2962)
eugenekasimov Feb 29, 2024
d585fa5
Update 1 translation file (#3310)
translation-platform[bot] Feb 29, 2024
24a8cd0
Update 1 translation file (#3311)
translation-platform[bot] Feb 29, 2024
afa073a
Update twitter icon to the new X logo (#3309)
kjellr Mar 4, 2024
6e45a2b
[Quick Order List] Fix an issue for one-variant product (#3332)
eugenekasimov Mar 12, 2024
9393523
Update 1 translation file (#3316)
translation-platform[bot] Mar 12, 2024
d1a6939
[Quick Order List] Clean and reset qty errors (#3321)
eugenekasimov Mar 12, 2024
5a332f5
Add image filters and do UX tweaks for swatches (#3334)
jas7457 Mar 14, 2024
f907e3d
Change size of swatch on mobile (#3348)
jas7457 Mar 15, 2024
609435a
Removed noscript and IE-specific code (#3245)
lhoffbeck Mar 15, 2024
b10f312
Changed price filter to use text input (#3280)
tyleralsbury Mar 15, 2024
eb4bc41
Update 1 translation file (#3346)
translation-platform[bot] Mar 18, 2024
74595af
Simplify `product-media-gallery` snippet and consumers (#3233)
lhoffbeck Mar 18, 2024
a2c6f54
Support Combined Listings and 2k Variants (#3246)
lhoffbeck Mar 19, 2024
35e21a7
[Quick Order List] Remove the keyboard interaction feature on mobiles…
eugenekasimov Mar 21, 2024
6b85358
Increase max columns from 5 to 6 (#3367)
dpasiliao Mar 25, 2024
ee4cacb
Fix qty rules when there is no max set (#3356)
sofiamatulis Mar 25, 2024
889e2a0
Quick Add bulk (#3217)
sofiamatulis Mar 26, 2024
2bf1bf7
Quick add bulk bug fixes (#3374)
sofiamatulis Mar 28, 2024
e488521
Revert "Support Combined Listings and 2k Variants (#3246)" (#3377)
lhoffbeck Mar 28, 2024
3c99075
[BUG] Fix pagination for Quick Add bulk on section rendering api (#3382)
sofiamatulis Apr 2, 2024
8b1099b
Add customer avatar (#3376)
mtbottens Apr 2, 2024
bb1e198
Changed max products per page to 36 (#3384)
tyleralsbury Apr 3, 2024
8c82f06
Fixed minor bug with multicolumn padding (#3375)
tyleralsbury Apr 3, 2024
1b34f48
Add disabled state to Quick Add Bulk (#3391)
sofiamatulis Apr 3, 2024
5ad5d44
Adds Shop Login Button liquid drop provider on login template (#3390)
QuintonC Apr 4, 2024
34ec5b9
Add Volume Pricing and Qty Rules Popover to Quick Add Bulk Input (#3393)
sofiamatulis Apr 5, 2024
784ccd2
Fix width of popover in product card (#3398)
sofiamatulis Apr 5, 2024
98211ba
Update translations: #3390 (#3397)
translation-platform[bot] Apr 5, 2024
089b8d0
Popover Quick Add Bulk enhancements (#3403)
sofiamatulis Apr 9, 2024
7eb51b7
Add min/max values for single-variant products with quantity rules in…
dan-menard Apr 9, 2024
2061f4f
Fix indent of line (#3409)
sofiamatulis Apr 9, 2024
b8f8b9c
Allow proper vertical axis alignment of text in the Image Banner (#3402)
kjellr Apr 9, 2024
9fd29b2
Fix padding for popover product card spacing mobile and cart popover …
sofiamatulis Apr 10, 2024
0d8c306
Adds eligibility check to prevent orphaned DOM from rendering (#3412)
mtbottens Apr 11, 2024
ce39a3c
Update 1 translation file (#3405)
translation-platform[bot] Apr 11, 2024
c51b4be
Fix selector for Quick Add Bulk (#3421)
sofiamatulis Apr 15, 2024
b2b5883
run linter in updates files for the latest release (#3422)
ludoboludo Apr 17, 2024
591d291
[Fix] quick add bulk disabled state (#3423)
sofiamatulis Apr 18, 2024
6a40bba
Add optional chaining to prevent JS error (#3428)
lhoffbeck Apr 18, 2024
9bd88c3
[Prod page] Add check to prevent errors if no feat. image exists (#3429)
ludoboludo Apr 19, 2024
fb081e0
Restore standard quick add to complementary products (#3430)
dan-menard Apr 19, 2024
87da4ff
Modal colour scheme fix (#3432)
tyleralsbury Apr 22, 2024
2e23834
Merge tag 'v14.0.0' into v14
JiaJasonLiu May 23, 2024
4d2d85d
fix merge conflict
JiaJasonLiu May 23, 2024
68b224d
Update main-collection-product-grid.liquid
JiaJasonLiu May 24, 2024
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
10 changes: 0 additions & 10 deletions .github/CONTRIBUTING.md
Original file line number Diff line number Diff line change
Expand Up @@ -63,16 +63,6 @@ We relentlessly and continuously optimize code within the constraint of being We

Themes must be built with purpose. They shouldn’t support each and every feature in Shopify.

### JavaScript not required, fails gracefully

_NoJS is our baseline._

We extract every bit of speed and functionality out of HTTP, semantic HTML, and CSS before writing our first line of JavaScript.

JavaScript can only be used to progressively enhance features. JavaScript cannot be required to find or purchase products. And the little JavaScript that we use must always fail gracefully, such that every browser gets the most “enhanced” experience that it can within the capabilities that it has.

>:information_source: We do so not because we expect buyers to experience our storefronts with JavaScript disabled, but because it keeps us aligned with the other principles: writing fast, server-rendered, Web-native code.

### Server-rendered

_Our main constraint._
Expand Down
5 changes: 2 additions & 3 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -21,14 +21,13 @@ Dawn represents a HTML-first, JavaScript-only-as-needed approach to theme develo

* **Web-native in its purest form:** Themes run on the [evergreen web](https://www.w3.org/2001/tag/doc/evergreen-web/). We leverage the latest web browsers to their fullest, while maintaining support for the older ones through progressive enhancement—not polyfills.
* **Lean, fast, and reliable:** Functionality and design defaults to “no” until it meets this requirement. Code ships on quality. Themes must be built with purpose. They shouldn’t support each and every feature in Shopify.
* **JavaScript not required, fails gracefully:** We extract every bit of speed and functionality out of HTTP, semantic HTML, and CSS before writing our first line of JavaScript. JavaScript can only be used to progressively enhance features.
* **Server-rendered:** HTML must be rendered by Shopify servers using Liquid. Business logic and platform primitives such as translations and money formatting don’t belong on the client. Async and on-demand rendering of parts of the page is OK, but we do it sparingly as a progressive enhancement.
* **Functional, not pixel-perfect:** The Web doesn’t require each page to be rendered pixel-perfect by each browser engine. Using semantic markup, progressive enhancement, and clever design, we ensure that themes remain functional regardless of the browser.

You can find a more detailed version of our theme code principles in the [contribution guide](https://github.com/Shopify/dawn/blob/main/.github/CONTRIBUTING.md#theme-code-principles).

## Getting started
We recommend using Dawn as a starting point for theme development. [Learn more on Shopify.dev](https://shopify.dev/themes/getting-started/create).
We recommend using Dawn as a starting point for theme development. [Learn more on Shopify.dev](https://shopify.dev/themes/getting-started/create).

> If you're building a theme for the Shopify Theme Store, then you can use Dawn as a starting point. However, the theme that you submit needs to be [substantively different from Dawn](https://shopify.dev/themes/store/requirements#uniqueness) so that it provides added value for merchants. Learn about the [ways that you can use Dawn](https://shopify.dev/themes/tools/dawn#ways-to-use-dawn).

Expand Down Expand Up @@ -61,7 +60,7 @@ There are a number of really useful tools that the Shopify Themes team uses duri

[Shopify CLI](https://github.com/Shopify/shopify-cli) helps you build Shopify themes faster and is used to automate and enhance your local development workflow. It comes bundled with a suite of commands for developing Shopify themes—everything from working with themes on a Shopify store (e.g. creating, publishing, deleting themes) or launching a development server for local theme development.

You can follow this [quick start guide for theme developers](https://github.com/Shopify/shopify-cli#quick-start-guide-for-theme-developers) to get started.
You can follow this [quick start guide for theme developers](https://shopify.dev/docs/themes/tools/cli) to get started.

### Theme Check

Expand Down
99 changes: 24 additions & 75 deletions assets/base.css
Original file line number Diff line number Diff line change
Expand Up @@ -73,26 +73,6 @@

/* base */

.no-js:not(html) {
display: none !important;
}

html.no-js .no-js:not(html) {
display: block !important;
}

.no-js-inline {
display: none !important;
}

html.no-js .no-js-inline {
display: inline-block !important;
}

html.no-js .no-js-hidden {
display: none !important;
}

.page-width {
max-width: var(--page-width);
margin: 0 auto;
Expand Down Expand Up @@ -594,6 +574,7 @@ details > * {
--duration-medium: 300ms;
--duration-long: 500ms;
--duration-extra-long: 600ms;
--duration-extra-longer: 750ms;
--duration-extended: 3s;
--ease-out-slow: cubic-bezier(0, 0, 0.3, 1);
--animation-slide-in: slideIn var(--duration-extra-long) var(--ease-out-slow) forwards;
Expand Down Expand Up @@ -714,19 +695,12 @@ summary::-webkit-details-marker {
}

/* Fallback - for browsers that don't support :focus-visible, a fallback is set for :focus */
.focused,
.no-js *:focus {
.focused {
outline: 0.2rem solid rgba(var(--color-foreground), 0.5);
outline-offset: 0.3rem;
box-shadow: 0 0 0 0.3rem rgb(var(--color-background)), 0 0 0.5rem 0.4rem rgba(var(--color-foreground), 0.3);
}

/* Negate the fallback side-effect for browsers that support :focus-visible */
.no-js *:focus:not(:focus-visible) {
outline: 0;
box-shadow: none;
}

/*
Focus ring - inset
*/
Expand All @@ -737,18 +711,12 @@ summary::-webkit-details-marker {
box-shadow: 0 0 0.2rem 0 rgba(var(--color-foreground), 0.3);
}

.focused.focus-inset,
.no-js .focus-inset:focus {
.focused.focus-inset {
outline: 0.2rem solid rgba(var(--color-foreground), 0.5);
outline-offset: -0.2rem;
box-shadow: 0 0 0.2rem 0 rgba(var(--color-foreground), 0.3);
}

.no-js .focus-inset:focus:not(:focus-visible) {
outline: 0;
box-shadow: none;
}

/*
Focus ring - none
*/
Expand All @@ -765,18 +733,12 @@ summary::-webkit-details-marker {
box-shadow: 0 0 0 1rem rgb(var(--color-background)), 0 0 0.2rem 1.2rem rgba(var(--color-foreground), 0.3);
}

.focus-offset.focused,
.no-js .focus-offset:focus {
.focus-offset.focused {
outline: 0.2rem solid rgba(var(--color-foreground), 0.5);
outline-offset: 1rem;
box-shadow: 0 0 0 1rem rgb(var(--color-background)), 0 0 0.2rem 1.2rem rgba(var(--color-foreground), 0.3);
}

.no-js .focus-offset:focus:not(:focus-visible) {
outline: 0;
box-shadow: none;
}

/* component-title */
.title,
.title-wrapper-with-link {
Expand Down Expand Up @@ -2037,34 +1999,14 @@ product-info .loading__spinner:not(.hidden) ~ *,
list-style-type: none;
}

.no-js details[open] .modal__toggle {
position: absolute;
z-index: 5;
}

.modal__toggle-close {
display: none;
}

.no-js details[open] svg.modal__toggle-close {
display: flex;
z-index: 1;
height: 1.7rem;
width: 1.7rem;
}

.modal__toggle-open {
display: flex;
}

.no-js details[open] .modal__toggle-open {
display: none;
}

.no-js .modal__close-button.link {
display: none;
}

.modal__close-button.link {
display: flex;
justify-content: center;
Expand Down Expand Up @@ -2331,13 +2273,25 @@ product-info .loading__spinner:not(.hidden) ~ *,
}

@keyframes translateAnnouncementSlideIn {
0% {opacity: 0; transform: translateX(var(--announcement-translate-from))}
100% {opacity: 1; transform: translateX(0)}
0% {
opacity: 0;
transform: translateX(var(--announcement-translate-from));
}
100% {
opacity: 1;
transform: translateX(0);
}
}

@keyframes translateAnnouncementSlideOut {
0% {opacity: 1; transform: translateX(0)}
100% {opacity: 0; transform: translateX(var(--announcement-translate-to))}
0% {
opacity: 1;
transform: translateX(0);
}
100% {
opacity: 0;
transform: translateX(var(--announcement-translate-to));
}
}

/* section-header */
Expand Down Expand Up @@ -2601,6 +2555,10 @@ product-info .loading__spinner:not(.hidden) ~ *,
background: rgba(var(--color-foreground), 0.5);
}

.header__icon--account shop-user-avatar {
--shop-avatar-size: 2.8rem;
}

/* Search */
menu-drawer + .header__search {
display: none;
Expand Down Expand Up @@ -2648,10 +2606,6 @@ menu-drawer + .header__search {
}
}

.no-js .predictive-search {
display: none;
}

details[open] > .search-modal {
opacity: 1;
animation: animateMenuOpen var(--duration-default) ease;
Expand All @@ -2671,11 +2625,6 @@ details[open] .modal-overlay::after {
height: 100vh;
}

.no-js details[open] > .header__icon--search {
top: 1rem;
right: 0.5rem;
}

.search-modal {
opacity: 0;
border-bottom: 0.1rem solid rgba(var(--color-foreground), 0.08);
Expand Down
7 changes: 6 additions & 1 deletion assets/cart.js
Original file line number Diff line number Diff line change
Expand Up @@ -43,7 +43,12 @@ class CartItems extends HTMLElement {
}

onChange(event) {
this.updateQuantity(event.target.dataset.index, event.target.value, document.activeElement.getAttribute('name'), event.target.dataset.quantityVariantId);
this.updateQuantity(
event.target.dataset.index,
event.target.value,
document.activeElement.getAttribute('name'),
event.target.dataset.quantityVariantId
);
}

onCartUpdate() {
Expand Down
Loading
Loading