From d7f51cbeef4d0746f4b93c4025f74abfcdb04f8e Mon Sep 17 00:00:00 2001 From: Brandon Comerford Date: Thu, 28 Sep 2023 23:17:26 -0500 Subject: [PATCH] Cornerstone update 6.0.0 (#51) MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit * BCTHEME-210 Carousel hidden when one or more of its images not found (#1816) Co-authored-by: BC-tymurbiedukhin <66319629+BC-tymurbiedukhin@users.noreply.github.com> * BCTHEME-214 Wishlist first option has no bottom outline when in focus (#1825) Co-authored-by: BC-tymurbiedukhin <66319629+BC-tymurbiedukhin@users.noreply.github.com> * fix(storefront): BCTHEME-217 Product link has incorrect voice over focus on Cart Page (#1830) Co-authored-by: BC-tymurbiedukhin <66319629+BC-tymurbiedukhin@users.noreply.github.com> * fix(storefront): BCTHEME-172 Card content truncated on zooming browser to 400% (#1803) Co-authored-by: BC-tymurbiedukhin <66319629+BC-tymurbiedukhin@users.noreply.github.com> * BCTHEME-185 Sort By dropdowns need visual focus border (#1833) * BCTHEME-188 Product cards should link to products (#1842) Co-authored-by: BC-tymurbiedukhin <66319629+BC-tymurbiedukhin@users.noreply.github.com> * BCTHEME-184 Options on change modal need focus border (#1839) Co-authored-by: BC-tymurbiedukhin <66319629+BC-tymurbiedukhin@users.noreply.github.com> * BCTHEME-199 Zooming and scaling must not be disabled (#1843) Co-authored-by: BC-tymurbiedukhin <66319629+BC-tymurbiedukhin@users.noreply.github.com> * BCTHEME-202 Notification of number of products not announced (#1845) Co-authored-by: BC-tymurbiedukhin <66319629+BC-tymurbiedukhin@users.noreply.github.com> * BCTHEME-190 Content should not scroll in two directions when zoomed (#1853) Co-authored-by: BC-tymurbiedukhin <66319629+BC-tymurbiedukhin@users.noreply.github.com> * feat(storefront)BCTHEME-205: add filter reset announcement (#1858) Co-authored-by: BC-tymurbiedukhin <66319629+BC-tymurbiedukhin@users.noreply.github.com> * feat(storefront) BCTHEME-206: add announcement fot filtered result on Shop-by-price (#1854) Co-authored-by: BC-tymurbiedukhin <66319629+BC-tymurbiedukhin@users.noreply.github.com> * fix(storefront)BCTHEME-164: fix image in modal for IE11 (#1840) Co-authored-by: BC-tymurbiedukhin <66319629+BC-tymurbiedukhin@users.noreply.github.com> * fix(storefront): BCTHEME-279 fix logo displaying (#1865) Co-authored-by: BC-tymurbiedukhin <66319629+BC-tymurbiedukhin@users.noreply.github.com> * feat(storefront):add to cart notification (#1860) Co-authored-by: BC-tymurbiedukhin <66319629+BC-tymurbiedukhin@users.noreply.github.com> * BCTHEME-44 Cornerstone quick view (#1857) Co-authored-by: BC-tymurbiedukhin <66319629+BC-tymurbiedukhin@users.noreply.github.com> * fix(storefront): BCTHEME-277 Certain Special Characters not rendering under Wishlists (#1873) * fix(storefront): BCTHEME-219 Social icons not clickable in modal after reopening (#1874) * fix(storefront): BCTHEME-282 Fix aria-labels for collapsibleFactory elements (#1868) * BCTHEME-269 Remove layout shifts to improve CLS indicator from Lighthouse performance report (#1869) Co-authored-by: BC-tymurbiedukhin <66319629+BC-tymurbiedukhin@users.noreply.github.com> * fix(storefront): BCTHEME-233 Cornerstone - Unable to Compare Products from Recently Viewed Items (#1877) * feat(storefront): BCTHEME-290 add aria labelwith price for product list item (#1878) Co-authored-by: BC-tymurbiedukhin <66319629+BC-tymurbiedukhin@users.noreply.github.com> * BCTHEME-209 Search result not notified by screen reader (#1867) Co-authored-by: BC-tymurbiedukhin <66319629+BC-tymurbiedukhin@users.noreply.github.com> * fix(storefront): BCTHEME-289 Add aria label with price to Product Grid Item (#1875) Co-authored-by: BC-tymurbiedukhin <66319629+BC-tymurbiedukhin@users.noreply.github.com> * fix(storefront): BCTHEME-268 Update carousel images to improve LCP indicator from Lighthouse performance report (#1876) Co-authored-by: BC-tymurbiedukhin <66319629+BC-tymurbiedukhin@users.noreply.github.com> * feat(storefront): BCTHEME-187 improve localization and add default and fallback messages (#1850) Co-authored-by: BC-tymurbiedukhin <66319629+BC-tymurbiedukhin@users.noreply.github.com> * fix(storefront): BCTHEME-297 Cornerstone 4.11.0 - Product Image Carousel Becomes Unresponsive on Product Page (#1879) Co-authored-by: BC-tymurbiedukhin <66319629+BC-tymurbiedukhin@users.noreply.github.com> * Resolved issues after merging PRs for 4.12 release * Releasing 4.12.0-rc.1 * Reduce lodash usage in compare-products.js and image-gallery.js * Releasing 4.12.0-rc.2 * Releasing 4.12.0-rc.3 * Releasing 4.12.0-rc.4 * Upload bundle analysis as part of github action * feat(search): ES-1590 display error message if search fails * feat: (STRF-8747) add new stencil config files to .gitignore * Releasing 4.12.0 * Revert "Releasing 4.12.0" * feat(storefront): BCTHEME-299 update changelog for release 4.12 * Releasing 4.12.0 * Updated CHANGELOG.md before 4.12 release * Reverting cornerstone version to 4.12-rc.4 * Releasing 4.12.0 * Reverting 4.12 changes * Releasing 4.12.0 * Reverted 4.12 release commit and updated package.json versions * Releasing 4.12.0 * Revert fix(storefront): BCTHEME-219 Social icons not clickable in modal * Don't load social icons in quick view * Bump stencil-utils * fix(storefront): BCTHEME-305 Price Lists - Price in the cart is not updated when changing currency on mobile * fix(storefront): BCTHEME-314 ccount >Payment Methods throws Server Error when using Cornerstone theme (#1898) Co-authored-by: BC-tymurbiedukhin <66319629+BC-tymurbiedukhin@users.noreply.github.com> * fix(storefront): BCTHEME-315 Write a Review modal cause TypeError (#1899) Co-authored-by: BC-tymurbiedukhin <66319629+BC-tymurbiedukhin@users.noreply.github.com> * Releasing 4.12.1 * feat(payments): PAYPAL-712 Checkout page - Smart Payment Button styli… (#1866) feat(payments): PAYPAL-712 Checkout page - Smart Payment Button styling (Cornerstone) * feat(storefront): BCTHEME-116 move tax field after grand total when tax inclusive (#1903) * fix(storefront): BCTHEME-105 Cornerstone - Body text size above 14px is cut off on cart shipping dropdowns (#1881) * feat(storefront): BCTHEME-69 Add tooltips for carousel bullets (buttons) (#1889) Co-authored-by: BC-tymurbiedukhin <66319629+BC-tymurbiedukhin@users.noreply.github.com> * fix(storefront): BCTHEME-319 Write a review modal extra executions (#1902) (#1902) Co-authored-by: BC-tymurbiedukhin <66319629+BC-tymurbiedukhin@users.noreply.github.com> * fix(storefront): BCTHEME-232 Faceted search filters are hidden from screen readers (#1897) * fix(storefront): BCTHEME-292 Social icon tooltip displaying should be fixed (#1907) * BCTHEME-293 Product list item Quick view button is not tabbable (#1900) (#1900) Co-authored-by: BC-tymurbiedukhin <66319629+BC-tymurbiedukhin@users.noreply.github.com> * fix(storefront): BCTHEME-273 fix contrast ratio for Skip to Main Content element (#1880) Co-authored-by: BC-tymurbiedukhin <66319629+BC-tymurbiedukhin@users.noreply.github.com> * feat(storefront): BCTHEME-275 add upsell banner contrast (#1891) Co-authored-by: BC-tymurbiedukhin <66319629+BC-tymurbiedukhin@users.noreply.github.com> * fix(storefront): BCTHEME-274 fix contranst ratio for brand name (#1882) Co-authored-by: BC-tymurbiedukhin <66319629+BC-tymurbiedukhin@users.noreply.github.com> * fix(storefront): BCTHEME-288 Shoppers are not anchor-linked to reviews on PDPs if product description tabs are enabled (#1883) * fix(storefront): BCTHEME-308 HTML Entity displayed as is via system/error message on a Storefront (#1888) * STRF-8769 Moved zoomSize and productSize to the upper level, cause product.js is not availabe on the Quick View (#1884) * Bump versions of Ruby (#1905) To fix issue #1904 * Changelog update * fix(storefront): BCTHEME-104 Selecting product options doesn't update image on PDP in Internet Explorer (#1913) * fix(storefront): BCTHEME-11 hide product options that are out of stock on cart (#1911) Co-authored-by: BC-tymurbiedukhin <66319629+BC-tymurbiedukhin@users.noreply.github.com> * fix(storefront): BCTHEME-301 Header content placed out of the header block on mobile (#1908) (#1908) Co-authored-by: BC-tymurbiedukhin <66319629+BC-tymurbiedukhin@users.noreply.github.com> * fix(storefront): BCTHEME-85 “Sort by” dropdown selection not reflected on search results page for News and Information tab (#1910) (#1910) Co-authored-by: BC-tymurbiedukhin <66319629+BC-tymurbiedukhin@users.noreply.github.com> * fix(storefront): BCTHEME-86 Cornerstone - Text hover color does not change when Dropdown menu display mode is set to Alternative (#1918) (#1918) Co-authored-by: BC-tymurbiedukhin <66319629+BC-tymurbiedukhin@users.noreply.github.com> * fix(storefront): BCTHEME-321 fix social icon tooltip overlaying (#1914) Co-authored-by: BC-tymurbiedukhin <66319629+BC-tymurbiedukhin@users.noreply.github.com> * Resolving eslint error after merging * fix(storefront): BCTHEME-30 fix misaligned tooltip for required product option (#1915) Co-authored-by: yurytut1993 <66325265+yurytut1993@users.noreply.github.com> * fix(storefront): BCTHEME-87 Product images squashed in Category view in AMP (#1921) (#1921) * fix(storefront): BCTHEME-313 Parse HTML entities in jsContext (#1917) * Added Changelog item for BCTHEME-313 * Releasing 5.0.0-rc.1 * feat(payments): PAYPAL-823 Add new banner on the cart page (#1901) * Releasing 5.0.0-rc.2 * Releasing 5.0.0 * feat(storefront): BCTHEME-304 add pagination for wishlists (#1906) * fix(storefront): BCTHEME-341 fix placeholder contrast ratio (#1933) * fix(storefront): BCTHEME-37 Cornerstone - Image Zoom Does Not Work on Internet Explorer (#1923) (#1923) * feat(storefront): BCTHEME-306 show price range on option selection (#1924) Co-authored-by: BC-tymurbiedukhin <66319629+BC-tymurbiedukhin@users.noreply.github.com> * fix(storefront): BCTHEME-16 Cornerstone - loading of thumbnail image delayed on cart page (#1925 (#1925) Co-authored-by: BC-tymurbiedukhin <66319629+BC-tymurbiedukhin@users.noreply.github.com> * fix(storefront): BCTHEME-193 fix not being able to change product qty with keyboard multiple times (#1927) Co-authored-by: BC-tymurbiedukhin <66319629+BC-tymurbiedukhin@users.noreply.github.com> * fix(storefront): BCTHEME-345 define a main region on pages (#1929) Co-authored-by: BC-tymurbiedukhin <66319629+BC-tymurbiedukhin@users.noreply.github.com> * fix(storefront): BCTHEME-346 add announcement for shipping estimator error messages (#1932) Co-authored-by: BC-tymurbiedukhin <66319629+BC-tymurbiedukhin@users.noreply.github.com> * feat(storefront): BCTHEME-343 No tooltips provided for carousel buttons (#1934) (#1934) * feature(storefront): Empty cart message not read by screen reader (#1935) (#1935) * feat(storefront): BCTHEME-344 Carousel buttons do not receive focus (#1937) (#1937) * fix(storefront): BCTHEME-155 fix recaptcha announcement for hidden content (#1943) * fix(storefront): BCTHEME-379 fix non-text contrast on add to cart button (#1946) * fix(storefront): BCTHEME-369 fix announcement on adding to cart by screen reader (#1950) * feat(storefront): BCTHEME-373 Alt text not provided for ratings (#1949) * feat(storefront): BCTHEME-78 Add Play/Pause button to carousel (#1944) * fix(storefront): BCTHEME-366 Error message on PLPs not announced by screen reader (#1956) * fix(storefront): BCTHEME-361 fix subscription message announcement (#1952) * feat(payments): PAYPAL-903 Product Page Banners (Cornerstone) - creat… (#1948) * feat(payments): PAYPAL-903 Product Page Banners (Cornerstone) - create custom price event * feat(payments): PAYPAL-903 Product Page Banners (Cornerstone) - create custom price event - CR fixes Co-authored-by: Alex Saiannyi <67792608+bc-alexsaiannyi@users.noreply.github.com> * BCTHEME-327: PDP - Empty "Description" is Hiding All Tabs When in Tab View (#1947) * feat(storefront): BCTHEME-388 Dots on carousel should have similar colours as other slider controls (#1958) * fix(storefront): BCTHEME-384 When default option is out of stock add to cart button does not populate for in stock options (#1955) * fix(storefront): BCTHEME-383 Selecting certain option types pushes window view to the bottom of the page (#1959) * Fixed merge conflict * STRF-8898 'Show More' gives no additional options when filter clicked (#1945) * Releasing 5.1.0-rc.1 * BCTHEME-387: Updates Cornerstone variants to meet the updated verticals outlined in BCTHEME-387. (#1962) Co-authored-by: Dante Muñoz * Releasing 5.1.0-rc.2 * Releasing 5.1.0 * feat(storefront): STRF-8948 Fix Sort By on Search Page (#1971) * fix(storefront): BCTHEME-368 fix announcement for shop by price filter selection (#1966) * fix(storefront): BCTHEME-207 fix focus on sort by (#1964) * fix(storefront): BCTHEME-385 move a phrase from html to en.json (#1972) * feat(storefront): BCTHEME-390 Integrate accessibility scripts to product images slider on PDP (#1965) * fix(storefront): BCTHEME-354 If multiple Pick List Options are applied, customers cannot select 'none' on both (#1975) * fix(storefront): BCTHEME-356 Required checkbox message blocks the checkbox (#1963) * Updated Changelog PR link for BCTHEME-212 Fixed review rating icons focus border. * feat(storefront): BCTHEME-391 Move focus on filter items Modal after show more button was clicked and accessibility refactoring (#1977) * feat(storefront) BCTHEME-381 add suffient text for swatch option (#1976) * fix(storefront): BCTHEME-398 Make every product option group id unique (#1979) * fix(storefront): BCTHEME-264 fix update discount banner on PDP (#1974) * fix(storefront): BCTHEME-372 Error message not announced automatically (#1983) * fix(storefront): BCTHEME-400 If product options are not required, the 'None' option will remain selected even if another option is chosen (#1980) * fix(storefront): BCTHEME-334 Add alt attribute for no image placeholders (#1984) * fix(storefront): BCTHEME-401 Category pages are creating alt attribute within the span tag (#1987) * fix(storefront): BCTHEME-362 fix cut off cart button on zooming 400 (#1988) * Releasing 5.2.0-rc.1 * Releasing 5.2.0 * Reverting 5.2.0 to 5.2.0-rc.1 * Releasing 5.2.0 * Revert "Releasing 5.2.0" * Releasing 5.2.0 * Revert "Releasing 5.2.0" 2nd time * Releasing 5.2.0 * feat(storefront): BCTHEME-200 add notifications announcement on carousel change (#1986) * fix(storefront): BCTHEME-392 fixed line breaks on Dropdown Menu (#1996) * fix(storefront): BCTHEME-347 Add unique identifiers to product cards (#1999) * fix(storefront): BCTHEME-409 Update focus trap in Modal (#1998) * fix(search): ES-2031 add error message for when star search is not availabble in facted search * feat(search): ES-1590 render error msg for brand page * fix(search): ES-2031 make search error more generic * feat(search): ES-2031 add change to changelog * feat(storefront): BCTHEME-322 add sold-out badges for products on PLP (#2003) * BCTHEME-426: Insufficient link text for "Read More" links (#2012) * BCTHEME-422: Announce email field as mandatory (#2011) * BCTHEME-420: 'Skip to main content' is not visible (#2010) * fix(storefront): BCTHEME-427 Insufficient button label on cart page (#2013) * feat(storefront): BCTHEME-231 Add placeholder for failed to load carousel images and update scalability (#2009) * fix(storefront): BCTHEME-429 Unlabelled edit fields on cart page (#2016) * fix(storefront): BCTHEME-428 Insufficient link text on cart page (#2014) * fix(storefront): BCTHEME-424 Alt text should include product name for ratings (#2015) * fix(storefront): IE11 - Clicking on Search Does Not Display Search Bar (#2017) * Releasing 5.3.0-rc.1 * Fixing 'Skip to main' content mobile display * Releasing 5.3.0-rc.2 * Releasing 5.3.0 * Revert Releasing 5.3.0 * Remove AddThis for social sharing, replace with provider sharing links (#1997) * Updated changelog * Releasing 5.3.0 * fix(search): ES-2071 removed adding selected filters for price filter since not needed (#2018) * fix(storefront): BCTHEME-431 remove horizontal scroll on swatch options PDP (#2023) * fix(search): ES-2138 fixed count showing issue for category facet * fix(storefront): BCTHEME-349 improve email validation for forms (#2029) * feat(storefront): BCTHEME-445 replace page builder ssl settings with new global region for html widget (#2026) * fix(storefront): BCTHEME-447 extend keyboard support for radio buttons (#2028) * feat(storefront): BCTHEME-446 Improve performance of analyzing homepage carousel image (#2027) * fix(storefront): BCTHEME-395 Wish List drop down is truncated on product page (#2001) * fix(storefront): BCTHEME-434 Hamburger Menu Icon missing on Google AMP Pages (#2022) * fix(storefront): BCTHEME-449 remove main tag duplicates (#2032) * feat(storefront): BCTHEME-425 Incorrect focus order for product carousels (#2034) * Releasing 5.4.0-rc.1 * fix(storefront): DEV-426 Fix GitHub workflows for default storefront * Releasing 5.4.0 * fix(storefront): BCTHEME-325 Apple pay button displaying needs to be fixed (#2043) * fix(storefront): BCTHEME-457 Update focus tooltip styles contrast to achieve accessibility AA Complaince (#2047) * Use https:// for schema markup (#2039) * fix(storefront): BCTHEME-423 Search result on search page not notified by screen reader (#2024) * feat(payment): PAYPAL-968 added banner widgets to page builder (#2021) * fix(storefront): bctheme-448 fix multiple swatch options (#2040) * feat(storefront): BCTHEME-476 Scale focus trap for all modals (#2049) * Releasing 5.5.0-rc.1 * Releasing 5.5.0 * fix(storefront): BCTHEME-496 Translation Gap: Delete from Cart confirmation popup. (#2065) * fix(storefront): BCTHEME-512 add translation for invalid quantity value error on cart (#2062) * fix(storefront): BCTHEME-459 fix product quantity change error (#2052) * Fix eslint grunt check * build(deps): bump underscore from 1.12.0 to 1.13.1 (#2053) * Updated CHANGELOG.md for #2052 * fix(storefront): BCTHEME-514 Translation Gap: Gift Certificate -> Code required message (#2064) * fix(storefront): BCTHEME-490 Translation Gap: Compare products error message (#2061) Co-authored-by: yurytut1993 <66325265+yurytut1993@users.noreply.github.com> * fix(storefront): BCTHEME-492 Translation Gap: Compare page fields (Description, Rating and Availability) (#2059) * fix(storefront): BCTHEME-479 Logo on AMP Product details page (PDP) does not fit header (#2054) * fix(storefront): BCTHEME-477 Add to cart button and Wishlist should be on one line on desktop (#2050) * fix(storefront): BCTHEME-535 Translation Gap: Cart -> Shipping estimator error messages. (#2066) * fix(storefront): BCTHEME-507 Translation Gap: Account -> Wish List -> Name required message. (#2060) * fix(storefront): BCTHEME-452 Unable to select 'None' on unrequired Swatch Options (#2068) * Fix eslint errors in cart.js, shipping-estimator.js and test in cart.spec.js (#2072) * fix(storefront): STRF-9126 Facebook social share returns an error for blog pages * fix(storefront): BCTHEME-544 fix potential shift on change options modal on Cart (#2071) * fix(storefront): BCTHEME-543 Product images in quick view can be squashed (#2075) * fix(storefront): BCTHEME-601 Enter press on Compare checkbox cause quick view opening (#2074) * feat(storefront): BCTHEME-608 Translation mechanism for config.json values should be implemented (#2076) * Update CHANGELOG.md * Updated CHANGELOG.md for #2024 * Releasing 5.6.0-rc.1 * Add missing quotes for Country and State/Province fields of Shipping Estimator to pass functional tests (#2079) * Releasing 5.6.0-rc.2 * Releasing 5.6.0 * feat(storefront): BCTHEME-603 Added translations for Consent Manager (#2083) * feat(storefront): BCTHEME-600 Added translation files for Cornerstone (#2084) * Releasing 5.7.0 * fix(storefront): BCTHEME-689 Update lang files for some locales (#2086) * Releasing 5.7.1 * Changelog format changes (#2092) * add changelog requirements (#2080) * feat(storefront): BCTHEME-152 Replaced scss-lint with stylelint (#2069) * fix(storefront): BCTHEME-540 User Account, bug styles in section payment methods (#2085) * fix(storefront): BCTHEME-511 Remove counter on the Wish Lists tab on Account page (#2087) * fix(storefront): BCTHEME-532 'undefined' is announced with screen reader while changing Product quantity on PDP (#2094) * Fix social sharing links for product pages and blog posts (#2082) * feat(payment): PAYPAL-886 added container setting for spb container (#2041) * fix(storefront): Reviews pagination navigation buttons reload the whole page and does not open the Reviews tab (#2048) * Update package-lock.json file (#2097) * fix(storefront): BCTHEME-606 No navigation back to wishlist tab when you are in a wishlist (#2096) * Fix minor merge navigation issue * Fixing merge conflict: BCTHEME-606 (#2100) * fix(storefront): BCTHEME-686 "Manage Website Data Collection Preferences" phrase is not translatable (#2090) * feat(storefront): BCTHEME-674 Make Hero Carousel both slide and button clickable when button enabled (#2098) * fix(storefront): BCTHEME-708 fix wishlist dropdown shift in quickview modal (#2102) * fix(storefront): BCTHEME-671 Empty email input in newsletter field does not trigger an error (#2101) * fix(storefront): BCTHEME-547 As a shopper I want to see gift wrapping price in product list the cart. (#2093) * BCTHEME-693: Update translation mechanism for config.json values (#2089) * Update translation mechanism for config.json values * Releasing 6.0.0-rc.1 * Releasing 6.0.0 --------- Co-authored-by: yurytut1993 <66325265+yurytut1993@users.noreply.github.com> Co-authored-by: BC-tymurbiedukhin <66319629+BC-tymurbiedukhin@users.noreply.github.com> Co-authored-by: Alex Saiannyi <67792608+bc-alexsaiannyi@users.noreply.github.com> Co-authored-by: Tymur Biedukhin Co-authored-by: Yurii Zusik Co-authored-by: sacr3dc0w Co-authored-by: alex.saiannyi Co-authored-by: Nathan Booker Co-authored-by: Kevin Wang Co-authored-by: MaxGenash Co-authored-by: David Huynh Co-authored-by: Nathan Booker Co-authored-by: Andrii Fetisov <54856617+bc-fetisov@users.noreply.github.com> Co-authored-by: jairo-bc <68893868+jairo-bc@users.noreply.github.com> Co-authored-by: Andrew A. Barber Co-authored-by: Brian Davenport Co-authored-by: Olga Lashkul <32959076+helga1507@users.noreply.github.com> Co-authored-by: Dante Munoz <35115108+DanteMunoz@users.noreply.github.com> Co-authored-by: Dante Muñoz Co-authored-by: Nataliya Solyanik Co-authored-by: bc-krishsenthilraj <39140274+bc-krishsenthilraj@users.noreply.github.com> Co-authored-by: Senthil Krishnasamy Co-authored-by: Yevhenii Buliuk <82589781+bc-yevhenii-buliuk@users.noreply.github.com> Co-authored-by: Andrii Vitvitskyi Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> Co-authored-by: bc-vlad-dlogush <83779098+bc-vlad-dlogush@users.noreply.github.com> Co-authored-by: Jairo Panduro Co-authored-by: Alex Rowley --- .github/PULL_REQUEST_TEMPLATE.md | 4 + .github/workflows/pull_request_review.yml | 19 +- .scss-lint.yml | 60 - .stylelintrc | 23 + CHANGELOG.md | 58 +- CONTRIBUTING.md | 1 + Gemfile | 3 - Gemfile.lock | 17 - Gruntfile.js | 13 +- .../carousel/utils/getActiveSlideInfo.js | 2 + .../carousel/utils/handleImageAspectRatio.js | 7 +- .../common/carousel/utils/handleImageLoad.js | 18 +- .../theme/common/utils/translations-utils.js | 24 - assets/js/theme/global.js | 5 - assets/js/theme/global/quick-view.js | 13 + assets/js/theme/product.js | 2 +- assets/js/theme/product/reviews.js | 59 +- assets/scss/common/_aria.scss | 8 +- assets/scss/common/_focus-tooltip.scss | 62 +- assets/scss/common/index.scss | 4 +- .../citadel/actionBar/_actionBar.scss | 3 - .../scss/components/citadel/cards/_cards.scss | 20 +- .../scss/components/citadel/forms/_forms.scss | 43 +- assets/scss/components/citadel/nav/_nav.scss | 10 +- .../foundation/accordion/_accordion.scss | 15 +- .../components/foundation/alerts/_alerts.scss | 3 +- .../foundation/breadcrumbs/_breadcrumbs.scss | 12 +- .../foundation/buttons/_buttons.scss | 1 - .../foundation/dropdown/_dropdown.scss | 32 +- .../components/foundation/forms/_forms.scss | 2 - .../foundation/inlineList/_inlineList.scss | 6 +- .../foundation/lazyLoad/_lazyLoad.scss | 20 +- .../components/foundation/modal/_modal.scss | 9 +- .../foundation/pagination/_pagination.scss | 3 - .../components/foundation/panels/_panels.scss | 1 - .../components/foundation/tables/_tables.scss | 5 - .../components/foundation/tabs/_tabs.scss | 2 - .../components/stencil/account/_account.scss | 7 +- .../stencil/addReturn/_addReturn.scss | 5 - .../stencil/addressBox/_addressBox.scss | 5 - .../stencil/adminBar/_adminBar.scss | 42 +- .../stencil/applePay/_applePay.scss | 4 +- .../scss/components/stencil/cart/_cart.scss | 40 +- .../components/stencil/compare/_compare.scss | 2 - .../stencil/facetedSearch/_facetedSearch.scss | 3 - .../stencil/heroCarousel/_heroCarousel.scss | 101 +- .../stencil/navPages/_navPages.scss | 60 +- .../components/stencil/navUser/_navUser.scss | 41 +- .../paymentMethods/_paymentMethods.scss | 34 +- .../stencil/previewCart/_previewCart.scss | 2 - .../productCarousel/_productCarousel.scss | 10 +- .../stencil/productView/_productView.scss | 50 +- .../components/stencil/search/_search.scss | 2 - .../stencil/socialLinks/_socialLinks.scss | 24 +- .../scss/components/stencil/tags/_tags.scss | 1 - .../stencil/writeReview/_writeReview.scss | 8 +- .../components/vendor/nanobar/_nanobar.scss | 12 +- .../scss/components/vendor/slick/_slick.scss | 89 +- .../scss/components/vendor/slick/_tools.scss | 8 +- .../vendor/sweetalert2/_sweetalert2.scss | 6 +- assets/scss/invoice.scss | 149 +- assets/scss/layouts/blog/_blog.scss | 4 +- assets/scss/layouts/brands/_brand.scss | 10 +- assets/scss/layouts/brands/_brandGrid.scss | 1 - assets/scss/layouts/footer/_footer.scss | 14 +- assets/scss/layouts/header/_header.scss | 28 +- .../scss/layouts/products/_productGrid.scss | 7 +- .../scss/layouts/products/_productList.scss | 37 +- .../layouts/products/_productSaleBadges.scss | 50 +- .../scss/layouts/products/_productSwatch.scss | 14 +- .../scss/layouts/products/_productView.scss | 4 +- assets/scss/layouts/sidebar/_block.scss | 1 - assets/scss/maintenance.scss | 268 +- assets/scss/optimized-checkout.scss | 4 +- .../settings/citadel/forms/_settings.scss | 1 + .../stencil/maintenanceNotice/_settings.scss | 2 +- assets/scss/tools/_image.scss | 10 +- assets/scss/tools/_string.scss | 28 +- assets/scss/tools/_theme_focus.scss | 2 +- assets/scss/vendor/jstree/style.scss | 1467 ++++--- config.json | 24 +- grunt/aliases.yml | 13 +- grunt/eslint.js | 4 +- grunt/run.js | 8 +- grunt/scsslint.js | 14 - grunt/stylelint.js | 19 + grunt/svgstore.js | 10 +- lang/de.json | 3 +- lang/en.json | 3 +- lang/es.json | 2 +- lang/fr.json | 3 +- lang/it.json | 3 +- lang/nl.json | 3 +- lang/pt-BR.json | 3 +- lang/pt.json | 3 +- lang/sv.json | 3 +- package-lock.json | 3375 ++++++++++++++++- package.json | 11 +- schema.json | 54 +- schemaTranslations.json | 28 +- templates/components/account/navigation.html | 82 +- templates/components/blog/post.html | 2 +- templates/components/carousel-content.html | 10 +- templates/components/carousel.html | 20 +- templates/components/cart/item-giftwrap.html | 2 +- templates/components/cart/totals.html | 2 +- templates/components/common/share.html | 2 +- .../components/common/subscription-form.html | 1 + .../components/products/add-to-cart.html | 4 +- templates/components/products/card.html | 44 +- .../components/products/description-tabs.html | 2 - templates/components/products/list-item.html | 44 +- .../components/products/price-label.html | 5 + .../components/products/price-range.html | 67 +- templates/components/products/price.html | 53 +- .../products/product-aria-label.html | 20 +- .../components/products/product-badge.html | 21 +- .../components/products/product-view.html | 2 +- templates/components/products/quick-view.html | 4 + templates/components/products/reviews.html | 2 +- templates/layout/base.html | 2 +- 121 files changed, 5316 insertions(+), 1907 deletions(-) delete mode 100644 .scss-lint.yml create mode 100644 .stylelintrc delete mode 100644 Gemfile delete mode 100644 Gemfile.lock delete mode 100644 grunt/scsslint.js create mode 100644 grunt/stylelint.js create mode 100644 templates/components/products/price-label.html diff --git a/.github/PULL_REQUEST_TEMPLATE.md b/.github/PULL_REQUEST_TEMPLATE.md index 013ef43ce8..caa87e4483 100644 --- a/.github/PULL_REQUEST_TEMPLATE.md +++ b/.github/PULL_REQUEST_TEMPLATE.md @@ -2,6 +2,10 @@ A description about what this pull request implements and its purpose. Try to be detailed and describe any technical details to simplify the job of the reviewer and the individual on production support. +#### Requirements + +- [ ] CHANGELOG.md entry added (required for code changes only) + #### Tickets / Documentation Add links to any relevant tickets and documentation. diff --git a/.github/workflows/pull_request_review.yml b/.github/workflows/pull_request_review.yml index bff38e01ca..f5d3ff1f63 100644 --- a/.github/workflows/pull_request_review.yml +++ b/.github/workflows/pull_request_review.yml @@ -1,4 +1,4 @@ -# This workflow will do a clean install of your theme's dependencies and attempt to bundle the theme with Stencil CLI. +# This workflow will do a clean install of your theme's dependencies and attempt to bundle the theme with Stencil CLI. # If the theme fails to bundle, you can review the error logs to find out why. # For more information see: https://help.github.com/actions/language-and-framework-guides/using-nodejs-with-github-actions @@ -23,20 +23,6 @@ jobs: - name: Checkout code uses: actions/checkout@v2 - - name: Ruby Gem cache - uses: actions/cache@v2.1.3 - with: - path: vendor/bundle - key: ${{ runner.os }}-gems-${{ hashFiles('**/Gemfile.lock') }} - restore-keys: | - ${{ runner.os }}-gems- - - - name: Setup Ruby 2.7 - uses: ruby/setup-ruby@v1.51.1 - with: - ruby-version: 2.7 - - run: bundle install - - name: Use Node.js ${{ matrix.node }} uses: actions/setup-node@v3 with: @@ -56,7 +42,7 @@ jobs: - name: Install Theme Dependencies run: npm ci - - name: Grunt Check + - name: Grunt Check run: npx grunt check - name: Validate theme successfully bundles @@ -67,7 +53,6 @@ jobs: with: name: Bundled Theme path: bundle.zip - - name: Upload bundle analysis uses: actions/upload-artifact@v2 with: diff --git a/.scss-lint.yml b/.scss-lint.yml deleted file mode 100644 index 2fd3015710..0000000000 --- a/.scss-lint.yml +++ /dev/null @@ -1,60 +0,0 @@ -# BC configuration -linters: - - #Cos we use maps with keywords, this produces noise - ColorKeyword: - enabled: false - - #Cos we now use block comments for documentation - Comment: - enabled: false - - ElsePlacement: - enabled: true - style: new_line # or 'same_line' - - EmptyLineBetweenBlocks: - enabled: true - ignore_single_line_blocks: false - - Indentation: - enabled: true - character: space # or 'tab' - width: 4 - - LeadingZero: - enabled: true - style: include_zero # or 'exclude_zero' - - NameFormat: - enabled: false - convention: hyphenated_lowercase # or 'BEM', or a regex pattern - - SelectorDepth: - enabled: true - max_depth: 2 - - NestingDepth: - enabled: true - max_depth: 2 - -# For example -# http://www.regexr.com/39qql - SelectorFormat: - enabled: true - # convention: camel_case # or 'snake_case', or 'hyphenated_lowercase', or a regex pattern - convention: ^[a-z][a-z0-9]*([A-Z0-9][a-z0-9]*)*((\.is-|-+)[a-z0-9][a-z0-9]*([A-Z0-9][a-z0-9]*)*)*$ - - StringQuotes: - enabled: true - style: double_quotes # or single_quotes - - TrailingZero: - enabled: true - -# This is a new linting rule as of 0.30 and the per-file disablement syntax seems to failing, so turn it off - QualifyingElement: - enabled: false - -MergeableSelector: - force_nesting: false diff --git a/.stylelintrc b/.stylelintrc new file mode 100644 index 0000000000..7e0db2ba91 --- /dev/null +++ b/.stylelintrc @@ -0,0 +1,23 @@ +{ + "extends": "stylelint-config-sass-guidelines", + "plugins": [ + "stylelint-scss" + ], + "rules": { + "color-named": null, + "indentation": 4, + "max-nesting-depth": null, + "property-no-vendor-prefix": null, + "selector-no-vendor-prefix": null, + "scss/at-mixin-pattern": null, + "scss/dollar-variable-colon-space-after": null, + "scss/dollar-variable-pattern": null, + "scss/percent-placeholder-pattern": null, + "selector-class-pattern": null, + "selector-max-compound-selectors": null, + "selector-max-id": null, + "selector-no-qualifying-type": null, + "string-quotes": "double", + "value-no-vendor-prefix": null + } +} diff --git a/CHANGELOG.md b/CHANGELOG.md index fcba414bc7..b8dde60043 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,16 +1,34 @@ # Changelog +All notable changes to this project will be documented in this file. + +The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/), +and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html). ## Draft -## 5.7.1 (07-09-2021) +## 6.0.0 (08-06-2021) +- Translation mechanism for config.json has been updated. [#2089](https://github.com/bigcommerce/cornerstone/pull/2089) +- As a shopper I want to see gift wrapping price in product list the cart. [#2093](https://github.com/bigcommerce/cornerstone/pull/2093) +- Fixed wishlist dropdown shift on quick view modal. [#2102](https://github.com/bigcommerce/cornerstone/pull/2102) +- Empty email input in newsletter field should trigger an error. [#2101](https://github.com/bigcommerce/cornerstone/pull/2101) +- Make Hero Carousel both slide and button clickable when button enabled. [#2098](https://github.com/bigcommerce/cornerstone/pull/2098) +- "Manage Website Data Collection Preferences" phrase is not translatable. [#2090](https://github.com/bigcommerce/cornerstone/pull/2090) +- No navigation back to wishlist tab when you are in a wishlist. [#2096](https://github.com/bigcommerce/cornerstone/pull/2096) +- Reviews pagination navigation buttons reload page and does not open the Reviews tab. [#2048](https://github.com/bigcommerce/cornerstone/pull/2048) +- Fix social share links for product pages and blog posts [#2082](https://github.com/bigcommerce/cornerstone/pull/2082) +- 'undefined' is announced with screen reader while changing Product quantity on PDP. [#2094](https://github.com/bigcommerce/cornerstone/pull/2094) +- Counter on the Wish Lists tab on Account page has been removed. [#2087](https://github.com/bigcommerce/cornerstone/pull/2087) +- User Account, bug styles in section payment methods. [#2085](https://github.com/bigcommerce/cornerstone/pull/2085) +- Scss lint has been replaced with stylelint. [#2069](https://github.com/bigcommerce/cornerstone/pull/2069) + +## 5.7.1 (2021-07-09) - Update lang files for some locales. [#2086](https://github.com/bigcommerce/cornerstone/pull/2086) - -## 5.7.0 (07-01-2021) +## 5.7.0 (2021-07-01) - Implement CEV language files into Cornerstone. [#2084](https://github.com/bigcommerce/cornerstone/pull/2084) - Added translations for Consent Manager. [#2083](https://github.com/bigcommerce/cornerstone/pull/2083) -## 5.6.0 (06-15-2021) +## 5.6.0 (2021-06-15) - Translation mechanism for config.json values have been implemented. [#2076](https://github.com/bigcommerce/cornerstone/pull/2076) - Enter press on Compare checkbox cause quick view opening. [#2074](https://github.com/bigcommerce/cornerstone/pull/2074) - Product images in quick view can be squashed. [#2075](https://github.com/bigcommerce/cornerstone/pull/2075) @@ -28,7 +46,7 @@ - Fixed NaN error on increase/decrease product quantity by adding field validation. [#2052](https://github.com/bigcommerce/cornerstone/pull/2052) - Fixed social share links on blog post. [#2077](https://github.com/bigcommerce/cornerstone/pull/2077) -## 5.5.0 (05-20-2021) +## 5.5.0 (2021-05-20) - Scale focus trap for all modals. [#2049](https://github.com/bigcommerce/cornerstone/pull/2049) - Fixed displaying swatch name for multiple swatch options on page. [#2040](https://github.com/bigcommerce/cornerstone/pull/2040) - Added settings for payment banners. [#2021](https://github.com/bigcommerce/cornerstone/pull/2021) @@ -37,7 +55,7 @@ - Apple pay button displaying needs to be fixed. [#2043](https://github.com/bigcommerce/cornerstone/pull/2043) - Fixed search result on search page not notified by screen reader. [#2024](https://github.com/bigcommerce/cornerstone/pull/2024) -## 5.4.0 (04-26-2021) +## 5.4.0 (2021-04-26) - Incorrect focus order for product carousels. [#2034](https://github.com/bigcommerce/cornerstone/pull/2034) - Removed duplicates of main tag.[#2032](https://github.com/bigcommerce/cornerstone/pull/2032) - Hamburger Menu Icon missing on Google AMP Pages. [#2022](https://github.com/bigcommerce/cornerstone/pull/2022) @@ -49,7 +67,7 @@ - Fixed unnecessary horizontal scroll on swatch options on PDP. [#2023](https://github.com/bigcommerce/cornerstone/pull/2023) - Always showing product counts for Category facet in the faceted search results page. [#2035](https://github.com/bigcommerce/cornerstone/pull/2035) -## 5.3.0 (03-25-2021) +## 5.3.0 (2021-03-25) - Remove AddThis for social sharing, replace with provider sharing links. [#1997](https://github.com/bigcommerce/cornerstone/pull/1997) - IE11 - Clicking on Search Does Not Display Search Bar. [#2017](https://github.com/bigcommerce/cornerstone/pull/2017) - Alt text should include product name for ratings. [#2015](https://github.com/bigcommerce/cornerstone/pull/2015) @@ -67,7 +85,7 @@ - Added notifications on Carousel's content cahnge through 'Next/Prev' buttons. [#1986](https://github.com/bigcommerce/cornerstone/pull/1986) - Add error message when faceted search fails on search, category, brand pages [#2005](https://github.com/bigcommerce/cornerstone/pull/2005) -## 5.2.0 (02-22-2021) +## 5.2.0 (2021-02-22) - Fixed cut off on Cart button when Zooming up to 400%. [#1988](https://github.com/bigcommerce/cornerstone/pull/1988) - Category pages are creating alt attribute within the span tag. [1987](https://github.com/bigcommerce/cornerstone/pull/1987) - Add alt attribute for no image placeholders. [#1984](https://github.com/bigcommerce/cornerstone/pull/1984) @@ -84,7 +102,7 @@ - Integrate accessibility scripts to product images slider on PDP. [#1965](https://github.com/bigcommerce/cornerstone/pull/1965) - Move focus on filter items Modal after show more button was clicked and accessibility refactoring. [#1977](https://github.com/bigcommerce/cornerstone/pull/1977) -## 5.1.0 (01-26-2021) +## 5.1.0 (2021-01-26) - Updated Cornerstone theme and respected variants to meet the verticals/industries documented in BCTHEME-387 - Fixed selecting certain option types which pushes window view to the bottom of the page. [#1959](https://github.com/bigcommerce/cornerstone/pull/1959) - Fixed case when default option is out of stock add to cart button does not populate for in stock options. [#1955](https://github.com/bigcommerce/cornerstone/pull/1955) @@ -111,7 +129,7 @@ - Bump stencil utils to 6.8.0. [#1945](https://github.com/bigcommerce/cornerstone/pull/1945) - Bump stencil utils to 6.8.1. and removed changes from #1910 [#1945](https://github.com/bigcommerce/cornerstone/pull/1945) -## 5.0.0 (12-14-2020) +## 5.0.0 (2020-12-14) - Parse HTML entities in jsContext. [#1917](https://github.com/bigcommerce/cornerstone/pull/1917) - Product images squashed in Category view in AMP. [#1921](https://github.com/bigcommerce/cornerstone/pull/1921) - Fixed misaligned tooltip for required product option. [#1915](https://github.com/bigcommerce/cornerstone/pull/1915) @@ -138,12 +156,12 @@ - Added new region on the cart page [#1901](https://github.com/bigcommerce/cornerstone/pull/1901) - Add pagination for Wishlists.[#1906](https://github.com/bigcommerce/cornerstone/pull/1906) -## 4.12.1 (11-10-2020) +## 4.12.1 (2020-11-10) - Write a Review modal cause TypeError. [#1899](https://github.com/bigcommerce/cornerstone/pull/1899) - Account >Payment Methods throws Server Error when using Cornerstone theme [#1898](https://github.com/bigcommerce/cornerstone/pull/1898) - Price in the cart is not updated when changing currency on mobile. [#1893](https://github.com/bigcommerce/cornerstone/pull/1893) -## 4.12.0 (11-05-2020) +## 4.12.0 (2020-11-05) - Reduce lodash usage in compare-products.js and image-gallery.js [#1827](https://github.com/bigcommerce/cornerstone/pull/1827) - Fixed Product Image Carousel Becomes Responsiveness on Product Page. [#1879](https://github.com/bigcommerce/cornerstone/pull/1879) - Move phrases and static strings to en.json for improving translation customizing. [#1850](https://github.com/bigcommerce/cornerstone/pull/1850) @@ -178,7 +196,7 @@ - Unified browsers list that we support. [#1836](https://github.com/bigcommerce/cornerstone/pull/1836) - Bump stencil utils and update hooks to account for refactor to drop Jquery in stencil utils [#1821](https://github.com/bigcommerce/cornerstone/pull/1821) -## 4.11.0 (10-07-2020) +## 4.11.0 (2020-10-07) - Add Info and Add Coupon forms on Cart Page tabbable when hidden. [#1820](https://github.com/bigcommerce/cornerstone/pull/1820) - Fixed outline styles for breadcrumbs on focus state. [#1824](https://github.com/bigcommerce/cornerstone/pull/1824) - Fixed review rating icons focus border. [#1819](https://github.com/bigcommerce/cornerstone/pull/1819) @@ -204,7 +222,7 @@ - Add global region to header. [#1859](https://github.com/bigcommerce/cornerstone/pull/1859) - Add search message on storefront if search fails on backend. [#1885](https://github.com/bigcommerce/cornerstone/pull/1885) -## 4.10.0 (10-01-2020) +## 4.10.0 (2020-10-01) - Return heading to product card. [#1848](https://github.com/bigcommerce/cornerstone/pull/1848) - Quick search query param needs to be fixed while navigating to search page. [#1832](https://github.com/bigcommerce/cornerstone/pull/1832) - Create unified focus styling in Cornerstone. [#1812](https://github.com/bigcommerce/cornerstone/pull/1812) @@ -240,7 +258,7 @@ - Added tooltips for carousel Previous and Next buttons. [#1749](https://github.com/bigcommerce/cornerstone/pull/1749) - Card content truncated on zooming browser to 400%. [#1803](https://github.com/bigcommerce/cornerstone/pull/1803) -## 4.9.0 (07-28-2020) +## 4.9.0 (2020-07-28) - Added correct alt text on image change in product view. [#1747](https://github.com/bigcommerce/cornerstone/pull/1747) - Description tab is hidden in case of empty product descrioption. [#1746](https://github.com/bigcommerce/cornerstone/pull/1746) - Stencil cli updated to the latest version. [#1744](https://github.com/bigcommerce/cornerstone/pull/1744) @@ -261,7 +279,7 @@ - Added 'none' options for non-required fields. [#1714](https://github.com/bigcommerce/cornerstone/pull/1714) - Fixed thumbnail videos behaviour on click. [#1706](https://github.com/bigcommerce/cornerstone/pull/1706) -## 4.8.0 (07-20-2020) +## 4.8.0 (2020-07-20) - Fixed Facebook button during modal scrolling behaviour. [#1724](https://github.com/bigcommerce/cornerstone/pull/1724) - Fixed Product Image dimensions not constrained proportionally on Cart page which can lead to element overlapping. [#1722](https://github.com/bigcommerce/cornerstone/pull/1722) - Added byte type on file upload options when max file size feature is enabled. [#1721](https://github.com/bigcommerce/cornerstone/pull/1721) @@ -284,7 +302,7 @@ - Fixes the Sale badge so that it displays in list views. [#1694](https://github.com/bigcommerce/cornerstone/pull/1694) - Added modal before switching currencies. [#1668](https://github.com/bigcommerce/cornerstone/pull/1668) -## 4.7.0 (06-26-2020) +## 4.7.0 (2020-06-26) - Document polyfilling strategy in readme. [#1696](https://github.com/bigcommerce/cornerstone/pull/1696) - Optimize polyfills to reduce download sizes on newer browsers as a way to improve performance. [#1669](https://github.com/bigcommerce/cornerstone/pull/1669) - Fixed the expand/collapse behavior for Custom filters thad do not have an '&' in their name. [#1693](https://github.com/bigcommerce/cornerstone/pull/1693) @@ -295,7 +313,7 @@ - Display wallet on drop-down section from cart [#1687](https://github.com/bigcommerce/cornerstone/pull/1687) -## 4.6.1 (05-28-2020) +## 4.6.1 (2020-05-28) No actual PR updates. Fixes config values. ## 4.6.0 (2020-05-28) @@ -306,11 +324,11 @@ No actual PR updates. Fixes config values. -Add a better admin bar [#1664|https://github.com/bigcommerce/cornerstone/pull/1664] -Update package-lock.json [#1676|https://github.com/bigcommerce/cornerstone/pull/1676] -## 4.5.4 (05-13-2020) +## 4.5.4 (2020-05-13) -Bump jQuery version, expose jquery globally so it doesn't need to be loaded separately [#1671|https://github.com/bigcommerce/cornerstone/pull/1671] -Revert Add handlebars class/style variables for account fields [#1674|https://github.com/bigcommerce/cornerstone/pull/1674] -## 4.5.3 (05-12-2020) +## 4.5.3 (2020-05-12) ## 4.5.2 (2020-05-12) diff --git a/CONTRIBUTING.md b/CONTRIBUTING.md index 54ca1b4c0a..d3f535f6da 100644 --- a/CONTRIBUTING.md +++ b/CONTRIBUTING.md @@ -28,6 +28,7 @@ Unsure where to begin contributing to Stencil? Check our [forums](https://forum. * Fill in [the required template](https://github.com/bigcommerce/cornerstone/pull/new/master) * Include screenshots and animated GIFs in your pull request whenever possible. * End files with a newline. +* Update CHANGELOG.md with a reference to your pull request if changing code ## Styleguides diff --git a/Gemfile b/Gemfile deleted file mode 100644 index 7fe078105c..0000000000 --- a/Gemfile +++ /dev/null @@ -1,3 +0,0 @@ -source 'https://rubygems.org' - -gem 'scss_lint', '~> 0.40.1' diff --git a/Gemfile.lock b/Gemfile.lock deleted file mode 100644 index a421dd2719..0000000000 --- a/Gemfile.lock +++ /dev/null @@ -1,17 +0,0 @@ -GEM - remote: https://rubygems.org/ - specs: - rainbow (2.0.0) - sass (3.4.18) - scss_lint (0.40.1) - rainbow (~> 2.0) - sass (~> 3.4.1) - -PLATFORMS - ruby - -DEPENDENCIES - scss_lint (~> 0.40.1) - -BUNDLED WITH - 1.10.3 diff --git a/Gruntfile.js b/Gruntfile.js index eb4470f6be..628e7d5696 100644 --- a/Gruntfile.js +++ b/Gruntfile.js @@ -1,13 +1,8 @@ -module.exports = function(grunt) { +module.exports = function (grunt) { require('time-grunt')(grunt); - require('load-grunt-config')(grunt, { - jitGrunt: { - staticMappings: { - scsslint: 'grunt-scss-lint' - } - } - }); + require('load-grunt-config')(grunt); grunt.loadNpmTasks('grunt-run'); - grunt.registerTask('default', ['eslint', 'jest', 'scsslint', 'svgstore']) + grunt.loadNpmTasks('grunt-stylelint'); + grunt.registerTask('default', ['eslint', 'svgstore']); }; diff --git a/assets/js/theme/common/carousel/utils/getActiveSlideInfo.js b/assets/js/theme/common/carousel/utils/getActiveSlideInfo.js index 3cdf46b7df..9563dae7a9 100644 --- a/assets/js/theme/common/carousel/utils/getActiveSlideInfo.js +++ b/assets/js/theme/common/carousel/utils/getActiveSlideInfo.js @@ -6,11 +6,13 @@ export default ({ $slider }, isAnalyzedDataAttr) => { const $activeSlideImg = $activeSlide.find('.heroCarousel-image'); const activeSlideImgNode = $activeSlideImg[0]; + const $activeSlideAndClones = $slider.find(`[data-hero-slide=${$activeSlide.data('hero-slide')}]`); return { $slider, $activeSlide, $activeSlideImg, activeSlideImgNode, + $activeSlideAndClones, }; }; diff --git a/assets/js/theme/common/carousel/utils/handleImageAspectRatio.js b/assets/js/theme/common/carousel/utils/handleImageAspectRatio.js index f10ab2cdd6..9e874fdfcb 100644 --- a/assets/js/theme/common/carousel/utils/handleImageAspectRatio.js +++ b/assets/js/theme/common/carousel/utils/handleImageAspectRatio.js @@ -21,22 +21,21 @@ const setAspectRatioClass = (imageNode, $slides) => { if (imageNode.naturalHeight <= 1) return; const imageAspectRatio = imageNode.naturalHeight / imageNode.naturalWidth; - $slides.each((idx, slide) => $(slide).addClass(defineAspectRatioClass(imageAspectRatio))); + $slides.addClass(defineAspectRatioClass(imageAspectRatio)); }; export default ({ delegateTarget }, carouselObj) => { const { isAnalyzedSlide, - $slider, $activeSlide, $activeSlideImg, activeSlideImgNode, + $activeSlideAndClones, } = getActiveSlideInfo(carouselObj || delegateTarget.slick, IS_ANALYZED_DATA_ATTR); if (isAnalyzedSlide) return; - const $activeSlideAndClones = $slider.find(`[data-hero-slide=${$activeSlide.data('hero-slide')}]`); - $activeSlideAndClones.each((idx, slide) => $(slide).data(IS_ANALYZED_DATA_ATTR, true)); + $activeSlideAndClones.data(IS_ANALYZED_DATA_ATTR, true); if ($activeSlide.find('.heroCarousel-content').length) return; diff --git a/assets/js/theme/common/carousel/utils/handleImageLoad.js b/assets/js/theme/common/carousel/utils/handleImageLoad.js index 9a9f5383a8..57ea56c1a9 100644 --- a/assets/js/theme/common/carousel/utils/handleImageLoad.js +++ b/assets/js/theme/common/carousel/utils/handleImageLoad.js @@ -4,44 +4,44 @@ import getActiveSlideInfo from './getActiveSlideInfo'; const IMAGE_ERROR_CLASS = 'is-image-error'; const IS_ANALYZED_DATA_ATTR = 'image-load-analyzed'; -const generateImage = ($slide, $image) => { +const generateImage = ($image, $slides) => { $('') - .on('error', () => $slide.addClass(IMAGE_ERROR_CLASS)) + .on('error', () => $slides.addClass(IMAGE_ERROR_CLASS)) .attr('src', $image.attr('src')); }; export default (e, carouselObj) => { const { isAnalyzedSlide, - $activeSlide, $activeSlideImg, activeSlideImgNode, + $activeSlideAndClones, } = getActiveSlideInfo(carouselObj, IS_ANALYZED_DATA_ATTR); if (isAnalyzedSlide) return; - $activeSlide.data(IS_ANALYZED_DATA_ATTR, true); + $activeSlideAndClones.data(IS_ANALYZED_DATA_ATTR, true); if (activeSlideImgNode.complete) { if (activeSlideImgNode.naturalHeight === 0) { - $activeSlide.addClass(IMAGE_ERROR_CLASS); + $activeSlideAndClones.addClass(IMAGE_ERROR_CLASS); } else if (activeSlideImgNode.naturalHeight === 1) { // only base64 image from srcset was loaded - $activeSlideImg.on('error', () => $activeSlide.addClass(IMAGE_ERROR_CLASS)); + $activeSlideImg.on('error', () => $activeSlideAndClones.addClass(IMAGE_ERROR_CLASS)); } return; } if (!$activeSlideImg.attr('src')) { - $activeSlide.addClass(IMAGE_ERROR_CLASS); + $activeSlideAndClones.addClass(IMAGE_ERROR_CLASS); return; } if (isBrowserIE) { - generateImage($activeSlide, $activeSlideImg); + generateImage($activeSlideImg, $activeSlideAndClones); return; } - $activeSlideImg.on('error', () => $activeSlide.addClass(IMAGE_ERROR_CLASS)); + $activeSlideImg.on('error', () => $activeSlideAndClones.addClass(IMAGE_ERROR_CLASS)); }; diff --git a/assets/js/theme/common/utils/translations-utils.js b/assets/js/theme/common/utils/translations-utils.js index b1f8c3fd90..c96dde833d 100644 --- a/assets/js/theme/common/utils/translations-utils.js +++ b/assets/js/theme/common/utils/translations-utils.js @@ -26,27 +26,3 @@ export const createTranslationDictionary = (context) => { return acc; }, {}); }; - -const defaultPageBuilderValues = { - pdp_sale_badge_label: 'On Sale!', - pdp_sold_out_label: 'Sold Out', - 'pdp-sale-price-label': 'Now:', - 'pdp-non-sale-price-label': 'Was:', - 'pdp-retail-price-label': 'MSRP:', - 'pdp-custom-fields-tab-label': 'Additional Information', -}; - -/** - * defines Translation for values from page builder (locally could be found in config.json) - */ -export const translatePageBuilderValues = () => { - $('[data-page-builder-key]').each((_, selector) => { - const $item = $(selector); - const itemText = $item.text().trim(); - const itemDefaultTranslation = $item.data('default-translation'); - - if (itemText === defaultPageBuilderValues[$item.data('page-builder-key')] && itemText !== itemDefaultTranslation) { - $item.text(itemDefaultTranslation); - } - }); -}; diff --git a/assets/js/theme/global.js b/assets/js/theme/global.js index 572643d627..e7e4e37b60 100644 --- a/assets/js/theme/global.js +++ b/assets/js/theme/global.js @@ -15,7 +15,6 @@ import adminBar from './global/adminBar'; import carousel from './common/carousel'; import loadingProgressBar from './global/loading-progress-bar'; import svgInjector from './global/svg-injector'; -import { translatePageBuilderValues } from './common/utils/translations-utils'; export default class Global extends PageManager { onReady() { @@ -45,9 +44,5 @@ export default class Global extends PageManager { } loadingProgressBar(); svgInjector(); - - if (isProductListPresented || isProductCardPresented) { - translatePageBuilderValues(); - } } } diff --git a/assets/js/theme/global/quick-view.js b/assets/js/theme/global/quick-view.js index 90fd2005ea..b104bc041f 100644 --- a/assets/js/theme/global/quick-view.js +++ b/assets/js/theme/global/quick-view.js @@ -1,6 +1,7 @@ import 'foundation-sites/js/foundation/foundation'; import 'foundation-sites/js/foundation/foundation.dropdown'; import utils from '@bigcommerce/stencil-utils'; +import Review from '../product/reviews'; import ProductDetails from '../common/product-details'; import { defaultModal, ModalEvents } from './modal'; import 'slick-carousel'; @@ -13,6 +14,14 @@ export default function (context) { event.preventDefault(); const productId = $(event.currentTarget).data('productId'); + const handleDropdownExpand = ({ currentTarget }) => { + const $dropdownMenu = $(currentTarget); + const dropdownBtnHeight = $dropdownMenu.prev().outerHeight(); + + $dropdownMenu.css('top', dropdownBtnHeight); + + return modal.$modal.one(ModalEvents.close, () => $dropdownMenu.off('opened.fndtn.dropdown', handleDropdownExpand)); + }; modal.open({ size: 'large' }); @@ -21,6 +30,7 @@ export default function (context) { modal.updateContent(response); + $('#modal .dropdown-menu').on('opened.fndtn.dropdown', handleDropdownExpand); modal.$content.find('.productView').addClass('productView--quickView'); const $carousel = modal.$content.find('[data-slick]'); @@ -41,6 +51,9 @@ export default function (context) { } } + /* eslint-disable no-new */ + new Review({ $context: modal.$content }); + return new ProductDetails(modal.$content.find('.quickView'), context); }); }); diff --git a/assets/js/theme/product.js b/assets/js/theme/product.js index 6ea16e7bd3..7d0fbecd1f 100644 --- a/assets/js/theme/product.js +++ b/assets/js/theme/product.js @@ -42,7 +42,7 @@ export default class Product extends PageManager { if ($reviewForm.length === 0) return; - const review = new Review($reviewForm); + const review = new Review({ $reviewForm }); $(document).on(ModalEvents.opened, '#modal-review-form', () => this.reviewModal.setupFocusTrap()); diff --git a/assets/js/theme/product/reviews.js b/assets/js/theme/product/reviews.js index d6aba7c5e3..b073193c63 100644 --- a/assets/js/theme/product/reviews.js +++ b/assets/js/theme/product/reviews.js @@ -1,22 +1,32 @@ import nod from '../common/nod'; -import { CollapsibleEvents } from '../common/collapsible'; +import collapsibleFactory, { CollapsibleEvents } from '../common/collapsible'; import forms from '../common/models/forms'; import { safeString } from '../common/utils/safe-string'; import { announceInputErrorMessage } from '../common/utils/form-utils'; export default class { - constructor($reviewForm) { - this.validator = nod({ - submit: $reviewForm.find('input[type="submit"]'), - tap: announceInputErrorMessage, - }); + constructor({ $reviewForm, $context }) { + if ($reviewForm && $reviewForm.length) { + this.validator = nod({ + submit: $reviewForm.find('input[type="submit"]'), + tap: announceInputErrorMessage, + }); + } - this.$reviewsContent = $('#product-reviews'); + this.$context = $context; + this.$reviewTabLink = $('.productView-reviewTabLink', this.$context); + this.$reviewsContent = $('#product-reviews', this.$context); + this.$reviewsContentList = $('#productReviews-content', this.$reviewsContent); this.$collapsible = $('[data-collapsible]', this.$reviewsContent); - this.initLinkBind(); + if (this.$context) { + collapsibleFactory('[data-collapsible]', { $context }); + } else { + this.initLinkBind(); + } + this.injectPaginationLink(); - this.collapseReviews(); + this.setupReviews(); } /** @@ -24,19 +34,20 @@ export default class { * The browser jumps to the review page and should expand the reviews section */ initLinkBind() { - const $content = $('#productReviews-content', this.$reviewsContent); - - $('#productReview_link').on('click', () => { - $('.productView-reviewTabLink').trigger('click'); - if (!$content.hasClass('is-open')) { - this.$collapsible.trigger(CollapsibleEvents.click); - } - }); + const $productReviewLink = $('#productReview_link'); + $productReviewLink + .attr('href', `${$productReviewLink.attr('href')}${window.location.search}#product-reviews`) + .on('click', () => this.expandReviews()); } - collapseReviews() { - // We're in paginating state, do not collapse - if (window.location.hash && window.location.hash.indexOf('#product-reviews') === 0) { + setupReviews() { + // We're in paginating state, reviews should be visible + if ( + window.location.hash + && window.location.hash.indexOf('#product-reviews') === 0 + && this.$reviewsContent.parents('.quickView').length === 0 + ) { + this.expandReviews(); return; } @@ -44,6 +55,14 @@ export default class { this.$collapsible.trigger(CollapsibleEvents.click); } + expandReviews() { + this.$reviewTabLink.trigger('click'); + + if (!this.$reviewsContentList.hasClass('is-open')) { + this.$collapsible.trigger(CollapsibleEvents.click); + } + } + /** * Inject ID into the pagination link */ diff --git a/assets/scss/common/_aria.scss b/assets/scss/common/_aria.scss index c94bb96f83..deef246cf6 100644 --- a/assets/scss/common/_aria.scss +++ b/assets/scss/common/_aria.scss @@ -1,11 +1,11 @@ .aria-description { &--hidden { + height: 1px; + left: 0; + margin-left: -10000px; + overflow: hidden; position: absolute; top: 0; - left: 0; - height: 1px; width: 1px; - overflow: hidden; - margin-left: -10000px; } } diff --git a/assets/scss/common/_focus-tooltip.scss b/assets/scss/common/_focus-tooltip.scss index 7a7fed7052..d11cd7dc68 100644 --- a/assets/scss/common/_focus-tooltip.scss +++ b/assets/scss/common/_focus-tooltip.scss @@ -1,37 +1,37 @@ @mixin addFocusTooltip ($attr: title) { - &:before { - content: " "; - position: absolute; - right: 0; - top: 50%; - border-width: remCalc(10px); - border-style: solid; - border-color: transparent transparent $focusTooltip-backgroundColor transparent; - } + &::before { + border-color: transparent transparent $focusTooltip-backgroundColor transparent; + border-style: solid; + border-width: remCalc(10px); + content: " "; + position: absolute; + right: 0; + top: 50%; + } - &:after { - content: attr($attr); - padding: remCalc(4px) remCalc(6px); - background-color: $focusTooltip-backgroundColor; - color: $focusTooltip-textColor; - position: absolute; - font-size: 1rem; - white-space: nowrap; - right: 0; - top: 100%; - cursor: default; - border-radius: remCalc(8px); - } + &::after { + background-color: $focusTooltip-backgroundColor; + border-radius: remCalc(8px); + color: $focusTooltip-textColor; + content: attr($attr); + cursor: default; + font-size: 1rem; + padding: remCalc(4px) remCalc(6px); + position: absolute; + right: 0; + top: 100%; + white-space: nowrap; + } - &:before, - &:after { - display: none; - } + &::before, + &::after { + display: none; + } - &:focus { - &:before, - &:after { - display: block; - } + &:focus { + &::before, + &::after { + display: block; } + } } diff --git a/assets/scss/common/index.scss b/assets/scss/common/index.scss index d4740fed51..d150ebe2f2 100644 --- a/assets/scss/common/index.scss +++ b/assets/scss/common/index.scss @@ -1,2 +1,2 @@ -@import 'aria'; -@import 'focus-tooltip'; +@import "aria"; +@import "focus-tooltip"; diff --git a/assets/scss/components/citadel/actionBar/_actionBar.scss b/assets/scss/components/citadel/actionBar/_actionBar.scss index bca29af7da..bd4f623bf0 100644 --- a/assets/scss/components/citadel/actionBar/_actionBar.scss +++ b/assets/scss/components/citadel/actionBar/_actionBar.scss @@ -4,17 +4,14 @@ .actionBar-section { - .form-field { background-color: $input-bg-color; border: $actionBar-form-field-border; border-radius: $actionBar-form-field-radius; - // scss-lint:disable NestingDepth &:hover { border-color: stencilColor("input-border-color-active"); } - // scss-lint:enable NestingDepth } .form-label { diff --git a/assets/scss/components/citadel/cards/_cards.scss b/assets/scss/components/citadel/cards/_cards.scss index 4d6ba770af..78c9165517 100644 --- a/assets/scss/components/citadel/cards/_cards.scss +++ b/assets/scss/components/citadel/cards/_cards.scss @@ -44,13 +44,11 @@ .card-figure { margin-top: $card-figure-marginTop; - position: relative; - padding: 3px; overflow: hidden; + padding: 3px; + position: relative; &:hover { - - // scss-lint:disable NestingDepth .card-figcaption { opacity: 1; z-index: 10; @@ -95,9 +93,9 @@ } .card-img-container { - max-width: get-width(stencilString('productgallery_size')); - @include lazy-loaded-padding('productgallery_size'); + @include lazy-loaded-padding("productgallery_size"); + max-width: get-width(stencilString("productgallery_size")); } .card-figcaption { @@ -119,12 +117,11 @@ .card-image { @include lazy-loaded-img; border: 0; - width: 100%; + /* Object-fit polyfill */ + font-family: "object-fit: contain;"; max-height: 100%; object-fit: contain; - /* Object-fit polyfill */ - font-family: 'object-fit: contain;'; - transition: all .3s ease; + width: 100%; } .card-title { @@ -133,10 +130,10 @@ > a { color: $card-title-color; + display: block; text-decoration: $card-title-textDecoration; display: block; - // scss-lint:disable NestingDepth &:hover { color: $card-title-color-hover; } @@ -208,7 +205,6 @@ &:hover { border-color: stencilColor("color-primary"); - // scss-lint:disable SelectorDepth, NestingDepth .card-body { background-color: stencilColor("color-primary"); diff --git a/assets/scss/components/citadel/forms/_forms.scss b/assets/scss/components/citadel/forms/_forms.scss index a440737af4..f03c925ff4 100644 --- a/assets/scss/components/citadel/forms/_forms.scss +++ b/assets/scss/components/citadel/forms/_forms.scss @@ -7,7 +7,6 @@ // ----------------------------------------------------------------------------- .form--hiddenLabels { - .form-label { @include u-hidden("visually"); } @@ -26,15 +25,12 @@ // ----------------------------------------------------------------------------- .form-field--error { - .form-input { float: none; } .form-inlineMessage { - - // scss-lint:disable NestingDepth - &:before { + &::before { background: $form-error-icon no-repeat; background-size: $form-inlineMessage-backgroundSize; content: ""; @@ -50,14 +46,21 @@ } .form-field--success { - .form-input[type="text"] { + padding-right: $form-success-input-paddingRight; background: { image: $form-success-icon; position: right $form-success-icon-right center; repeat: no-repeat; } - padding-right: $form-success-input-paddingRight; + } + + .form-input[name="credit_card_number"] { + background-position: right $form-success-icon-check-right center; + } + + .form-input[name="cvv"] { + background-position: right $form-success-icon-check-right center; } } @@ -67,12 +70,7 @@ .form-checkbox, .form-radio { - bottom: 0.5rem; - left: 0.5rem; - + .form-label { - - // scss-lint:disable NestingDepth &:last-child { display: block; margin-bottom: $form-checkRadio-label-last-marginBottom; @@ -89,10 +87,11 @@ } .form-option-wrapper { - position: relative; display: inline-block; + position: relative; - & .form-radio, & .form-checkbox { + .form-radio, + .form-checkbox { bottom: 0.5rem; left: 0.5rem; } @@ -121,7 +120,6 @@ width: auto; } - // scss-lint:disable NestingDepth + .button, + input, + a { @@ -131,7 +129,6 @@ margin: 0 0 0 spacing("half"); } } - // scss-lint:enable NestingDepth } } @@ -143,9 +140,9 @@ // // ----------------------------------------------------------------------------- @mixin placeholder { - &::-webkit-input-placeholder {@content} - &::-moz-placeholder {@content} - &:-ms-input-placeholder {@content} + &::-webkit-input-placeholder {@content; } + &::-moz-placeholder {@content; } + &:-ms-input-placeholder {@content; } } .form-label--alternate { @@ -204,7 +201,6 @@ } .form-prefixPostfix { - &.wrap { flex-wrap: wrap; } @@ -273,7 +269,7 @@ width: remCalc(35px); .form-field--success & { - float:none; + float: none; } } @@ -323,7 +319,7 @@ min-width: initial; padding: 0; - @include breakpoint('small') { // 4 + @include breakpoint("small") { // 4 pointer-events: inherit; // 3 } } @@ -387,12 +383,11 @@ overflow: hidden; position: relative; - // scss-lint:disable NestingDepth &.unavailable { background-color: $productOptions-disable-background-color; opacity: $productOptions-disable-opacity; - &:before { + &::before { background-color: $productOptions-strikethrough-color; content: ""; height: 2px; diff --git a/assets/scss/components/citadel/nav/_nav.scss b/assets/scss/components/citadel/nav/_nav.scss index 4c7f9d3a48..a748676186 100644 --- a/assets/scss/components/citadel/nav/_nav.scss +++ b/assets/scss/components/citadel/nav/_nav.scss @@ -39,16 +39,16 @@ @include checkRadioBase(); @include checkBox-base(); - &:before, - &:after { + &::before, + &::after { top: 50%; // 1 } - &:before { + &::before { margin-top: -$checkRadio-outerSize / 2; } - &:after { + &::after { margin-top: -$checkRadio-outerSize / 2 + remCalc(1); } @@ -112,7 +112,6 @@ display: inline-block; } - // scss-lint:disable SelectorDepth, NestingDepth &.is-active { @include breakpoint("medium") { border-bottom: 1px solid stencilColor("color-textBase"); @@ -137,7 +136,6 @@ font-size: fontSize("base"); padding: 0; - // scss-lint:disable NestingDepth &:hover { color: stencilColor("color-textSecondary--hover"); } diff --git a/assets/scss/components/foundation/accordion/_accordion.scss b/assets/scss/components/foundation/accordion/_accordion.scss index ec55eb71ca..8aed4c062a 100644 --- a/assets/scss/components/foundation/accordion/_accordion.scss +++ b/assets/scss/components/foundation/accordion/_accordion.scss @@ -21,6 +21,8 @@ } .accordion-title { + color: stencilColor("color-textHeading"); + font-family: "Montserrat", Arial, Helvetica, sans-serif; font-size: remCalc(15px); margin: 0; color: stencilColor("color-textHeading"); @@ -28,14 +30,14 @@ } .accordion-navigation { - position: relative; - text-decoration: none; + align-items: center; display: flex; flex-direction: row; justify-content: space-between; - align-items: center; - width: 100%; padding-right: 1rem; + position: relative; + text-decoration: none; + width: 100%; } @@ -119,7 +121,6 @@ .accordion-navigation { border-bottom-width: 0; - // scss-lint:disable NestingDepth &.is-open { border-bottom-width: 1px; border-radius: 0; @@ -132,20 +133,18 @@ } .facetedSearch-clearLink { + color: stencilColor("color-textSecondary"); position: absolute; right: 40px; top: 50%; transform: translateY(-50%); - color: stencilColor("color-textSecondary"); @include breakpoint("medium") { right: 20px; top: 3px; transform: none; } - // scss-lint:disable NestingDepth &:hover { color: stencilColor("color-textSecondary--hover"); } - // scss-lint:enable NestingDepth } diff --git a/assets/scss/components/foundation/alerts/_alerts.scss b/assets/scss/components/foundation/alerts/_alerts.scss index 58f43413e0..2225593968 100644 --- a/assets/scss/components/foundation/alerts/_alerts.scss +++ b/assets/scss/components/foundation/alerts/_alerts.scss @@ -14,12 +14,11 @@ } .alertBox--info { + background-color: stencilColor("banner--deafault-backgroundColor"); color: stencilColor("alert-color-alt"); background-color: stencilColor("banner--deafault-backgroundColor"); .alertBox-close { - - // scss-lint:disable SelectorDepth, NestingDepth svg { fill: $color-infoLight; } diff --git a/assets/scss/components/foundation/breadcrumbs/_breadcrumbs.scss b/assets/scss/components/foundation/breadcrumbs/_breadcrumbs.scss index 1f14c1bd9b..4967464276 100644 --- a/assets/scss/components/foundation/breadcrumbs/_breadcrumbs.scss +++ b/assets/scss/components/foundation/breadcrumbs/_breadcrumbs.scss @@ -15,8 +15,8 @@ ol.breadcrumbs { display: none; // 1 font-size: 0; // 2 - text-align: center; overflow: visible; + text-align: center; @include breakpoint("small") { display: block; // 1 } @@ -28,8 +28,6 @@ ol.breadcrumbs { margin-right: 0.25rem; &.is-active { - - // scss-lint:disable NestingDepth > .breadcrumb-label { cursor: pointer; font-weight: 700; @@ -37,12 +35,12 @@ ol.breadcrumbs { } // needs to override common bigcommerce styles for accessibility improvements - &:not(:first-child):before { + &:not(:first-child)::before { + border-right: 0.1em solid $primary-color; + content: ""; display: inline-block; + height: 0.8em; margin: 0 0.25rem; transform: rotate(15deg); - border-right: 0.1em solid $primary-color; - height: 0.8em; - content: ''; } } diff --git a/assets/scss/components/foundation/buttons/_buttons.scss b/assets/scss/components/foundation/buttons/_buttons.scss index a88b03ab18..25a812af6f 100644 --- a/assets/scss/components/foundation/buttons/_buttons.scss +++ b/assets/scss/components/foundation/buttons/_buttons.scss @@ -20,7 +20,6 @@ } .button--icon { - svg { fill: stencilColor("button--icon-svg-color"); } diff --git a/assets/scss/components/foundation/dropdown/_dropdown.scss b/assets/scss/components/foundation/dropdown/_dropdown.scss index 740c8dc69e..54a378cc42 100644 --- a/assets/scss/components/foundation/dropdown/_dropdown.scss +++ b/assets/scss/components/foundation/dropdown/_dropdown.scss @@ -33,16 +33,12 @@ text-align: left; &:first-child { - - // scss-lint:disable NestingDepth > a { padding-top: spacing("half"); } } &:last-child { - - // scss-lint:disable NestingDepth > a { padding-bottom: spacing("base"); } @@ -63,8 +59,8 @@ width: 100%; &.is-open { - border-bottom-left-radius: 0px; - border-bottom-right-radius: 0px; + border-bottom-left-radius: 0; + border-bottom-right-radius: 0; } .icon { @@ -83,15 +79,15 @@ max-width: none !important; width: 100% !important; - @include breakpoint('small') { + @include breakpoint("small") { padding-right: 20px; } - @include breakpoint('medium') { - padding-right: 0px; + @include breakpoint("medium") { + padding-right: 0; } - @include breakpoint('large') { + @include breakpoint("large") { padding-right: 11px; } @@ -100,15 +96,15 @@ } [data-wishlist] { - border-top: none; - margin-bottom: 0px; + border-top: 0; + margin-bottom: 0; width: 100%; } .button { background-color: stencilColor("dropdown--wishList-backgroundColor"); - border-top-left-radius: 0px; - border-top-right-radius: 0px; + border-top-left-radius: 0; + border-top-right-radius: 0; width: 100%; } @@ -117,9 +113,9 @@ } li:not(:last-child) .button { - border-bottom: none; - border-radius: 0px; - border-top: none; - margin-bottom: 0px; + border-bottom: 0; + border-radius: 0; + border-top: 0; + margin-bottom: 0; } } diff --git a/assets/scss/components/foundation/forms/_forms.scss b/assets/scss/components/foundation/forms/_forms.scss index 75e55a3287..71a3d33926 100644 --- a/assets/scss/components/foundation/forms/_forms.scss +++ b/assets/scss/components/foundation/forms/_forms.scss @@ -23,7 +23,6 @@ // ----------------------------------------------------------------------------- .form-label { - small { float: $opposite-direction; margin-top: $form-label-small-marginTop; @@ -35,7 +34,6 @@ // ----------------------------------------------------------------------------- .form-label--inlineSmall { - small { color: stencilColor("color-textSecondary"); float: none; diff --git a/assets/scss/components/foundation/inlineList/_inlineList.scss b/assets/scss/components/foundation/inlineList/_inlineList.scss index 8e925d7f0e..ba46fea5f9 100644 --- a/assets/scss/components/foundation/inlineList/_inlineList.scss +++ b/assets/scss/components/foundation/inlineList/_inlineList.scss @@ -5,9 +5,9 @@ // // ----------------------------------------------------------------------------- -ul.inlineList { // 1 - overflow: visible; - @include clearfix; +ul.inlineList { + @include clearfix; // 1 + overflow: visible; } .inlineList--labels { diff --git a/assets/scss/components/foundation/lazyLoad/_lazyLoad.scss b/assets/scss/components/foundation/lazyLoad/_lazyLoad.scss index 8ff6475fd4..caf8075709 100644 --- a/assets/scss/components/foundation/lazyLoad/_lazyLoad.scss +++ b/assets/scss/components/foundation/lazyLoad/_lazyLoad.scss @@ -1,30 +1,30 @@ @mixin lazy-loaded-img() { - position: absolute; - top: 0; bottom: 0; left: 0; - right: 0; margin: auto; + position: absolute; + right: 0; + top: 0; } @mixin lazy-loaded-padding($size-param) { - &:after { - content: ''; + &::after { + content: ""; display: block; height: 0; - width: 100%; padding-bottom: get-padding(stencilString($size-param)); + width: 100%; } } @mixin cart-item-lazy-load-img-placeholder() { - &:after { - content: ''; + &::after { + content: ""; display: block; + height: 100%; + left: 0; position: absolute; top: 0; - left: 0; - height: 100%; width: 100%; } } diff --git a/assets/scss/components/foundation/modal/_modal.scss b/assets/scss/components/foundation/modal/_modal.scss index 042c5fca44..3a6297c5f3 100644 --- a/assets/scss/components/foundation/modal/_modal.scss +++ b/assets/scss/components/foundation/modal/_modal.scss @@ -5,6 +5,7 @@ // ============================================================================= .modal { + left: 50%; margin: 0; max-height: 90%; max-width: 95%; @@ -12,7 +13,6 @@ outline: none; overflow: hidden; padding: 0; - left: 50%; top: 50% !important; transform: translate(-50%, -50%); @@ -43,6 +43,8 @@ .modal-close { @include square($reveal-close-height); + + @include addFocusTooltip; color: stencilColor("icon-color"); font-size: 26px; line-height: remCalc($reveal-close-height); @@ -73,7 +75,7 @@ background-color: $alert-modal-bgColor; border-radius: $alert-modal-borderRadius; font-family: $alert-font-body; - padding: 40px 20px 20px 20px; + padding: 40px 20px 20px; text-align: center; .modal-content { @@ -90,7 +92,8 @@ color: $alert-button-color; } - .confirm:focus, .confirm:hover { + .confirm:focus, + .confirm:hover { background-color: $alert-button-bgColorHover; border-color: $alert-button-borderColorHover; color: $alert-button-colorHover; diff --git a/assets/scss/components/foundation/pagination/_pagination.scss b/assets/scss/components/foundation/pagination/_pagination.scss index c267e95905..79b5d93c37 100644 --- a/assets/scss/components/foundation/pagination/_pagination.scss +++ b/assets/scss/components/foundation/pagination/_pagination.scss @@ -39,7 +39,6 @@ text-decoration: none; transition: $pagination-link-transition; - // scss-lint:disable NestingDepth &:hover { color: $pagination-link-color-hover; } @@ -54,7 +53,6 @@ &.pagination-item--previous, // 1 &.pagination-item--next { // 1 - // scss-lint:disable NestingDepth, SelectorDepth > a { color: $pagination-item-previousNext-color; @@ -71,7 +69,6 @@ .pagination-item--previous, .pagination-item--next { - .icon { height: remCalc(20px); margin-top: -(remCalc(2px)); diff --git a/assets/scss/components/foundation/panels/_panels.scss b/assets/scss/components/foundation/panels/_panels.scss index 7bccec517c..2ae4973bab 100644 --- a/assets/scss/components/foundation/panels/_panels.scss +++ b/assets/scss/components/foundation/panels/_panels.scss @@ -8,7 +8,6 @@ } .panel--large { - .panel-body { margin-bottom: spacing("single") + spacing("third"); padding: spacing("single") + spacing("third"); diff --git a/assets/scss/components/foundation/tables/_tables.scss b/assets/scss/components/foundation/tables/_tables.scss index 549b6a9bbb..c000056185 100644 --- a/assets/scss/components/foundation/tables/_tables.scss +++ b/assets/scss/components/foundation/tables/_tables.scss @@ -42,14 +42,12 @@ width: auto; } - // scss-lint:disable NestingDepth + .button { @include breakpoint("small") { margin-left: spacing("quarter"); } } - // scss-lint:enable NestingDepth } } @@ -66,9 +64,7 @@ border-color: container("borderColor"); border-width: 0 0 1px; - // scss-lint:disable SelectorDepth, NestingDepth tr { - th { padding-left: 0; padding-right: 0; @@ -95,7 +91,6 @@ tr { border-color: container("border"); - // scss-lint:disable SelectorDepth, NestingDepth td { display: block; padding-left: 0; diff --git a/assets/scss/components/foundation/tabs/_tabs.scss b/assets/scss/components/foundation/tabs/_tabs.scss index 01e2bb158d..c0f173bd2a 100644 --- a/assets/scss/components/foundation/tabs/_tabs.scss +++ b/assets/scss/components/foundation/tabs/_tabs.scss @@ -65,14 +65,12 @@ padding: 0; visibility: hidden; - // scss-lint:disable NestingDepth &.is-active { height: auto; overflow: visible; padding: $tabs-content-padding; visibility: visible; } - // scss-lint:enable NestingDepth } diff --git a/assets/scss/components/stencil/account/_account.scss b/assets/scss/components/stencil/account/_account.scss index de03269f2d..6287e47839 100644 --- a/assets/scss/components/stencil/account/_account.scss +++ b/assets/scss/components/stencil/account/_account.scss @@ -68,14 +68,14 @@ } .account-product-figure { + + @include lazy-loaded-padding("productthumb_size"); align-items: center; display: flex; flex-direction: column; margin: 0 spacing("single") + spacing("third") 0 0; position: relative; width: 70px; - - @include lazy-loaded-padding('productthumb_size'); } .account-product-download { @@ -216,7 +216,6 @@ left: -2.5rem; } - // scss-lint:disable SelectorDepth, NestingDepth .form-label { height: spacing("single"); margin: 0; @@ -339,7 +338,6 @@ // ----------------------------------------------------------------------------- .account { - .pagination { color: color("greys", "light"); margin-top: spacing("double"); @@ -352,7 +350,6 @@ // ----------------------------------------------------------------------------- .account-message { - .is-read { color: color("greys", "light"); } diff --git a/assets/scss/components/stencil/addReturn/_addReturn.scss b/assets/scss/components/stencil/addReturn/_addReturn.scss index 7d31db8e8e..1c120b9746 100644 --- a/assets/scss/components/stencil/addReturn/_addReturn.scss +++ b/assets/scss/components/stencil/addReturn/_addReturn.scss @@ -4,7 +4,6 @@ .account--addReturn { - .table { display: block; margin-bottom: spacing("double"); @@ -14,7 +13,6 @@ margin-bottom: spacing("double") * 2; } - // scss-lint:disable SelectorDepth, NestingDepth tr { display: block; padding: spacing("single") 0; @@ -36,7 +34,6 @@ padding-top: spacing("half"); } - // scss-lint:disable NestingDepth + th, + td { padding-left: 0; @@ -71,7 +68,6 @@ display: table-header-group; } - // scss-lint:disable SelectorDepth, NestingDepth th { font-size: fontSize("smaller"); } @@ -113,7 +109,6 @@ } .return-itemQuantity { - .form-label { display: inline; margin-right: spacing("quarter"); diff --git a/assets/scss/components/stencil/addressBox/_addressBox.scss b/assets/scss/components/stencil/addressBox/_addressBox.scss index 549c279fda..f43eccbeb1 100644 --- a/assets/scss/components/stencil/addressBox/_addressBox.scss +++ b/assets/scss/components/stencil/addressBox/_addressBox.scss @@ -68,7 +68,6 @@ width: auto; } - // scss-lint:disable SelectorDepth, NestingDepth .button { margin-bottom: spacing("half"); @@ -81,7 +80,6 @@ } } } - // scss-lint:enable SelectorDepth, NestingDepth } } @@ -117,12 +115,9 @@ text-decoration: none; &:hover { - - // scss-lint:disable SelectorDepth, NestingDepth .address-title { color: stencilColor("color-textLink--hover"); } - // scss-lint:enable SelectorDepth, NestingDepth } .panel-body { diff --git a/assets/scss/components/stencil/adminBar/_adminBar.scss b/assets/scss/components/stencil/adminBar/_adminBar.scss index f23c65ea6a..f2e93be178 100644 --- a/assets/scss/components/stencil/adminBar/_adminBar.scss +++ b/assets/scss/components/stencil/adminBar/_adminBar.scss @@ -52,16 +52,12 @@ body.hasAdminBar { } .adminBar { - // Only show admin bar at desktop width - display: none; - - @include breakpoint("medium") { - display: block; - } background-color: $adminBar-color; box-shadow: 0 remCalc(2) remCalc(7) 0 rgba(0, 0, 0, 0.2); color: $adminBar-text-color; + // Only show admin bar at desktop width + display: none; font-family: "Source Sans Pro", arial, "sans serif", sans-serif; font-size: 14px; font-weight: normal; @@ -73,17 +69,23 @@ body.hasAdminBar { width: 100%; z-index: 10000; + @include breakpoint("medium") { + display: block; + } + .svg-icon { - display: inline-flex; align-self: center; + display: inline-flex; } + .svg-icon svg { - height:1em; - width:1em; + height: 1em; + width: 1em; } + .svg-icon.svg-baseline svg { - top: .125em; position: relative; + top: 0.125em; } } @@ -131,29 +133,29 @@ body.hasAdminBar { /* Tooltip container */ .tooltip { - position: relative; display: inline-block; + position: relative; } /* Tooltip text */ .tooltip .tooltiptext { - visibility: hidden; - width: auto; background-color: $adminBar-tooltip-bg-backgroundColor; + border-radius: 6px; color: #fff; - text-align: center; padding: 5px 10px; - border-radius: 6px; /* Position the tooltip text - see examples below! */ position: absolute; + text-align: center; + visibility: hidden; + width: auto; z-index: 1; } .tooltip-bottom { - top: 135%; left: 50%; margin-left: -60px; + top: 135%; } /* Show the tooltip text when you mouse over the tooltip container */ @@ -165,8 +167,8 @@ body.hasAdminBar { .adminBar-links { margin-left: auto; - text-align: right; padding-right: 5px; + text-align: right; a { padding: 10px; @@ -178,7 +180,7 @@ body.hasAdminBar { } .adminBar-large { - display:none; + display: none; @include breakpoint("large") { display: initial; } @@ -186,9 +188,9 @@ body.hasAdminBar { .adminBar-close { span { - padding: 10px; + margin-bottom: 0.25em; margin-right: 5px; - margin-bottom: .25em; + padding: 10px; } span:hover { diff --git a/assets/scss/components/stencil/applePay/_applePay.scss b/assets/scss/components/stencil/applePay/_applePay.scss index c931dd0d63..1bb38af78d 100644 --- a/assets/scss/components/stencil/applePay/_applePay.scss +++ b/assets/scss/components/stencil/applePay/_applePay.scss @@ -8,8 +8,8 @@ max-height: remCalc(64px); min-height: remCalc(32px); min-width: 90px; - width: 160px; padding: spacing("single"); + width: 160px; @if stencilString("applePay-button") == "white" { background-color: $applePay-white; background-image: -webkit-named-image(apple-pay-logo-black); @@ -31,7 +31,7 @@ float: right; } - & .previewCartCheckout .apple-pay-checkout-button { + .previewCartCheckout .apple-pay-checkout-button { display: inline-block; float: none; } diff --git a/assets/scss/components/stencil/cart/_cart.scss b/assets/scss/components/stencil/cart/_cart.scss index eaca20cdcc..2b4eb223a8 100644 --- a/assets/scss/components/stencil/cart/_cart.scss +++ b/assets/scss/components/stencil/cart/_cart.scss @@ -27,13 +27,10 @@ $card-preview-zoom-bottom-offset: 6rem; %additionalCheckoutButtons { @include clearfix; - // scss-lint:disable SelectorFormat .FloatRight { @include clearfix; - // scss-lint:disable SelectorDepth, NestingDepth p { - // scss-lint:disable ImportantRule float: none !important; margin: spacing("third") 0; text-align: right; @@ -106,8 +103,8 @@ $card-preview-zoom-bottom-offset: 6rem; display: table-row; // 1 padding-left: 0; - &:before, - &:after { + &::before, + &::after { display: none; } } @@ -126,11 +123,13 @@ $card-preview-zoom-bottom-offset: 6rem; } .cart-item-figure { + + @include cart-item-lazy-load-img-placeholder; float: left; - text-align: center; margin-bottom: $cart-item-spacing; - width: grid-calc(4, $total-columns); position: relative; + text-align: center; + width: grid-calc(4, $total-columns); @include breakpoint("small") { // height: auto; @@ -141,11 +140,9 @@ $card-preview-zoom-bottom-offset: 6rem; @include breakpoint("medium") { float: none; - width: grid-calc(1, $total-columns); padding: $cart-thumbnail-paddingVertical 0; + width: grid-calc(1, $total-columns); } - - @include cart-item-lazy-load-img-placeholder; } .cart-item-fixed-image { @@ -154,10 +151,10 @@ $card-preview-zoom-bottom-offset: 6rem; .cart-item-image { max-height: $cart-thumbnail-maxHeight; - max-width: get-width(stencilString('productthumb_size')); + max-width: get-width(stencilString("productthumb_size")); @include breakpoint("medium") { - margin-left:0; + margin-left: 0; } } @@ -220,7 +217,6 @@ $card-preview-zoom-bottom-offset: 6rem; } .cart-item-quantity { - .form-increment { display: inline-block; margin: 0 spacing("eighth") 1px spacing("single"); @@ -266,6 +262,7 @@ $card-preview-zoom-bottom-offset: 6rem; } .cart-item-name { + display: inline-block; font-size: fontSize("smaller"); margin: 0; display: inline-block; @@ -274,6 +271,10 @@ $card-preview-zoom-bottom-offset: 6rem; display: inline-block; } + &__label { + display: inline-block; + } + + .definitionList { margin-top: spacing("quarter"); } @@ -545,8 +546,8 @@ $card-preview-zoom-bottom-offset: 6rem; .previewCart-additionalCheckoutButtons { @extend %additionalCheckoutButtons; - padding-right: spacing('single'); - padding-bottom: spacing('single'); + padding-bottom: spacing("single"); + padding-right: spacing("single"); } // Cart Preview @@ -587,17 +588,18 @@ $card-preview-zoom-bottom-offset: 6rem; .previewCartItem-image { @include grid-column(4, $float: false); + + @include lazy-loaded-padding("productthumb_size"); padding: 0; - text-align: center; position: relative; + text-align: center; img { - max-height: 90%; @include lazy-loaded-img; + max-height: 90%; } - @include lazy-loaded-padding('productthumb_size'); - &:after { + &::after { @include breakpoint("xxsmall") { padding-bottom: 75%; } diff --git a/assets/scss/components/stencil/compare/_compare.scss b/assets/scss/components/stencil/compare/_compare.scss index 459f081c77..9ba1937a38 100644 --- a/assets/scss/components/stencil/compare/_compare.scss +++ b/assets/scss/components/stencil/compare/_compare.scss @@ -20,8 +20,6 @@ vertical-align: top; + .compareTable-row { - - // scss-lint:disable NestingDepth .compareTable-heading, .compareTable-item { border-top: container("border"); diff --git a/assets/scss/components/stencil/facetedSearch/_facetedSearch.scss b/assets/scss/components/stencil/facetedSearch/_facetedSearch.scss index e32a8baa42..3ed11b24c4 100644 --- a/assets/scss/components/stencil/facetedSearch/_facetedSearch.scss +++ b/assets/scss/components/stencil/facetedSearch/_facetedSearch.scss @@ -19,7 +19,6 @@ padding: $facetedSearch-toggle-padding; @include breakpoint("medium") { - // scss-lint:disable ImportantRule display: none !important; // 1 } @@ -60,14 +59,12 @@ display: none; @include breakpoint("medium") { - // scss-lint:disable ImportantRule display: block !important; // 1 } &.is-open { display: block; - // scss-lint:disable SelectorDepth, NestingDepth .accordion--navList, .accordion-block:first-child .accordion-navigation { border-top-left-radius: 0; diff --git a/assets/scss/components/stencil/heroCarousel/_heroCarousel.scss b/assets/scss/components/stencil/heroCarousel/_heroCarousel.scss index 67589cee71..803feb7be2 100644 --- a/assets/scss/components/stencil/heroCarousel/_heroCarousel.scss +++ b/assets/scss/components/stencil/heroCarousel/_heroCarousel.scss @@ -14,11 +14,10 @@ // ----------------------------------------------------------------------------- .heroCarousel { - width: 1px; - min-width: 100%; - // margin-bottom: (spacing("double") + spacing("single")); - margin-bottom: 0; + margin-bottom: (spacing("double") + spacing("single")); margin-top: -(spacing("single")); // 3 + min-width: 100%; + width: 1px; @include breakpoint("medium") { margin-top: -(spacing("single") + spacing("base")); // 3 @@ -26,11 +25,20 @@ &.slick-initialized { @include breakpoint("small") { - max-height: remCalc(400px); + max-height: remCalc(400px); } @include breakpoint("medium") { - max-height: remCalc(600px); + max-height: remCalc(600px); + } + } + + // for IE + @media screen and (-ms-high-contrast: active), (-ms-high-contrast: none) { + opacity: 0; + + &.slick-initialized { + opacity: 1; } } @@ -53,9 +61,9 @@ .slick-next, .slick-prev { + margin: 0; top: 50%; transform: translateY(-50%); - margin: 0; } .slick-next { @@ -105,6 +113,30 @@ background: url("../img/hero-carousel-image-load-error.svg") center center no-repeat; background-size: contain; } + + li { + @include carouselOpaqueBackgrounds($slick-dot-bgColor); + } + + &.is-vertical-image-type { + .heroCarousel-image-wrapper { + height: 110vw; + } + } + + &.is-square-image-type, + &.is-vertical-image-type { + .heroCarousel-image-wrapper { + @include breakpoint("small") { + height: 56.25vw; + } + } + } + + &.is-image-error { + background: url("../img/hero-carousel-image-load-error.svg") center center no-repeat; + background-size: contain; + } } .slick-slide { @@ -169,40 +201,41 @@ height: 100vw; } } - + &.is-vertical-image-type { .heroCarousel-image-wrapper { height: 110vw; } } - + &.is-square-image-type, &.is-vertical-image-type { - .heroCarousel-image-wrapper { + .heroCarousel-image-wrapper { @include breakpoint("small") { height: 56.25vw; } } } - + &.is-image-error { background: url("../img/hero-carousel-image-load-error.svg") center center no-repeat; background-size: contain; - } + } } } .heroCarousel-slide { position: relative; + a { text-decoration: none; } .heroCarousel-image { - object-fit: contain; - width: 100%; height: 100%; + object-fit: contain; object-position: 50% 0%; + width: 100%; @include breakpoint("small") { object-position: 50% 50%; @@ -217,27 +250,27 @@ &.compat-object-fit { // 1 .heroCarousel-image { - width: 100%; height: 100%; + width: 100%; } } - } + } &.compat-object-fit { // 1 overflow: hidden; - + .heroCarousel-image { width: auto; } } .heroCarousel-image-wrapper { - display: flex; - justify-content: center; align-items: flex-start; + display: flex; height: 56.25vw; + justify-content: center; max-height: 100vh; - transition: height .3s ease; + transition: height 0.3s ease; @include breakpoint("small") { max-height: remCalc(400px); @@ -256,22 +289,28 @@ @include breakpoint("small") { @include carouselOpaqueBackgrounds; - width: remCalc(700px); - padding: spacing("single") * 1.5; - width: 70%; background-color: rgba($carousel-bgColor, 0.9); left: 0; - padding: spacing("single"); margin: 0 auto; + max-height: 80%; + overflow: auto; + padding: spacing("single") * 1.5; + padding: spacing("single"); position: absolute; right: 0; top: 50%; transform: translateY(-50%); - max-height: 80%; - overflow: auto; + width: remCalc(700px); + width: 70%; &.heroCarousel-content--empty { background-color: transparent; + left: 50%; + overflow: visible; + padding: 0; + right: auto; + transform: translateX(-50%) translateY(-50%); + width: auto; } } @@ -294,8 +333,7 @@ .heroCarousel-title { color: $carousel-title-color; font-size: fontSize("small"); - margin-top: 0; - line-height: 2.5rem; + margin: 0; @include breakpoint("medium") { font-size: fontSize("hero"); @@ -306,6 +344,7 @@ .heroCarousel-description { color: $carousel-description-color; font-size: fontSize("tiny"); + margin: 0; @include breakpoint("small") { font-size: fontSize("smallest"); @@ -317,11 +356,7 @@ } .heroCarousel-action { - margin: 0; - - @include breakpoint("medium") { - margin-top: spacing("single"); - } + margin: spacing("single") 0 0; } .heroCarousel-play-pause-button { diff --git a/assets/scss/components/stencil/navPages/_navPages.scss b/assets/scss/components/stencil/navPages/_navPages.scss index 62fd233a10..242e0dec20 100644 --- a/assets/scss/components/stencil/navPages/_navPages.scss +++ b/assets/scss/components/stencil/navPages/_navPages.scss @@ -27,7 +27,6 @@ // ----------------------------------------------------------------------------- .has-activeNavPages { - // scss-lint:disable VendorPrefix overflow: hidden; // 2 -webkit-overflow-scrolling: auto; // 3 } @@ -37,7 +36,6 @@ // ----------------------------------------------------------------------------- .navPages-container { - // scss-lint:disable VendorPrefix bottom: 0; display: none; height: 100%; @@ -194,36 +192,35 @@ text-decoration: none; text-transform: uppercase; + @include breakpoint("medium") { + display: inline-block; + padding: spacing("half") (spacing("half") + spacing("quarter")); + + &.is-open { + background-color: $navPage-subMenu-item--is-highlighted-background; + } + } + &.has-subMenu { .navPages-list:not(.navPages-list-depth-max) & { + align-items: center; display: flex; justify-content: space-between; - align-items: center; } } &.is-open, .collapsible-icon-wrapper.is-open { - // scss-lint:disable NestingDepth svg { fill: $navPage-subMenu-item--is-highlighted-color; stroke: $navPage-subMenu-item--is-highlighted-color; } } - @include breakpoint("medium") { - display: inline-block; - padding: spacing("half") (spacing("half") + spacing("quarter")); - - &.is-open { - background-color: $navPage-subMenu-item--is-highlighted-background; - } - } - - &:hover, &.activePage { + &:hover, + &.activePage { color: $navPage-subMenu-item--is-highlighted-color; - // scss-lint:disable NestingDepth svg { fill: $navPage-subMenu-item--is-highlighted-color; stroke: $navPage-subMenu-item--is-highlighted-color; @@ -266,8 +263,7 @@ } .has-subMenu.is-open &, - .collapsible-icon-wrapper.is-open & - { + .collapsible-icon-wrapper.is-open & { transform: rotate(0); } @@ -278,7 +274,7 @@ @include breakpoint("medium") { @include square(8px); margin: 0 0 0 spacing("half"); - } + } } } @@ -300,7 +296,7 @@ } .navPage-subMenu-action:not(.navPages-action-depth-max) + & { - margin-left: spacing("double"); // + margin-left: spacing("double"); // @include breakpoint("medium") { margin-left: 0; @@ -321,7 +317,6 @@ outline: 0; @include breakpoint("medium") { - // scss-lint:disable ImportantRule background-color: stencilColor("navPages-subMenu-backgroundColor"); padding: spacing("single") spacing("single") (spacing("single") + spacing("half")) !important; position: absolute; @@ -348,7 +343,7 @@ @include breakpoint("medium") { margin-right: auto; - } + } } } } @@ -371,7 +366,7 @@ display: inherit; height: $navPage-subMenu-horizontal-height; margin-left: $navPage-subMenu-horizontal-width; - padding: 0 !important; // scss-lint:disable ImportantRule + padding: 0 !important; top: 0; width: $navPage-subMenu-horizontal-width + 1; } @@ -389,7 +384,6 @@ padding: spacing("half") 0; @include breakpoint("medium") { - // scss-lint:disable ImportantRule @include grid-column(3); padding: 0 0.75rem !important; // 1 @@ -421,6 +415,10 @@ .navPage-subMenu-action { padding: spacing("half") 0; + @include breakpoint("medium") { + padding: spacing("half") 0 (spacing("half") + spacing("quarter")); + } + .navPages-list:not(.navPages-list-depth-max) & { padding: 0 0 0 spacing("single"); @@ -429,16 +427,12 @@ } } - @include breakpoint("medium") { - padding: spacing("half") 0 (spacing("half") + spacing("quarter")); - } - .collapsible-icon-wrapper { - height: 100%; - width: 100%; box-sizing: content-box; display: inline-block; + height: 100%; text-align: right; + width: 100%; @include breakpoint("medium") { display: none; @@ -450,12 +444,6 @@ // // Child pages of sub pages navigation lists // ----------------------------------------------------------------------------- - -.navPage-childList-item { - @include breakpoint("medium") { - } -} - .navPage-childList-action { font-weight: fontWeight("normal"); padding: 0 0 spacing("quarter"); @@ -497,7 +485,6 @@ display: none; } - // scss-lint:disable SelectorDepth, NestingDepth, IdSelector #currencySelection2 { background-color: color("whites", "bright"); border: container("border"); @@ -505,7 +492,6 @@ .dropdown-menu-item { padding: 0; - // scss-lint:disable NestingDepth &:not(:last-child) { border-bottom: container("border"); } diff --git a/assets/scss/components/stencil/navUser/_navUser.scss b/assets/scss/components/stencil/navUser/_navUser.scss index fcfee4c2aa..bd74b7ff70 100644 --- a/assets/scss/components/stencil/navUser/_navUser.scss +++ b/assets/scss/components/stencil/navUser/_navUser.scss @@ -39,9 +39,8 @@ box-shadow: container("dropShadow"); position: absolute; - // scss-lint:disable NestingDepth &.is-open { - &:before { + &::before { @include css-triangle( $triangle-direction: "bottom", $triangle-size: 10px, @@ -52,7 +51,7 @@ position: absolute; } - &:after { + &::after { @include css-triangle( $triangle-direction: "bottom", $triangle-size: 8px, @@ -91,12 +90,10 @@ &.is-open { color: stencilColor("navUser-color-hover"); - // scss-lint:disable NestingDepth svg { stroke: stencilColor("navUser-color-hover"); fill: stencilColor("navUser-color-hover"); } - // scss-lint:enable NestingDepth } .icon { @@ -112,14 +109,12 @@ } .navUser-action--currencySelector + .dropdown-menu { - &:before { - // scss-lint:disable ImportantRule + &::before { left: auto !important; // 6 right: spacing("half"); // 6 } - &:after { - // scss-lint:disable ImportantRule + &::after { left: auto !important; // 6 right: spacing("half") + remCalc(2px); // 6 } @@ -129,13 +124,11 @@ max-width: remCalc(300px); padding: spacing("single"); - &:before { - // scss-lint:disable ImportantRule + &::before { left: remCalc(140px) !important; // 3 } - &:after { - // scss-lint:disable ImportantRule + &::after { left: remCalc(142px) !important; // 3 } } @@ -183,7 +176,6 @@ padding: 6px 0.78571rem; margin-top: 12px; - // scss-lint:disable NestingDepth &:hover, &.is-open { color: stencilColor("navUser-color-hover"); @@ -197,28 +189,27 @@ .dropdown-menu { max-width: remCalc(320px); - // scss-lint:disable NestingDepth &.is-open { - top: auto !important; // 7 left: auto !important; // 7 right: remCalc(5px); // 7 + top: auto !important; // 7 @include breakpoint("medium") { right: 0; // 7 } - &:before, - &:after { + &::before, + &::after { left: auto; } - &:before { + &::before { right: spacing("half") - remCalc(5px); // 8 @include breakpoint("medium") { right: spacing("half"); // 8 } } - &:after { + &::after { right: spacing("half") - remCalc(3px); // 8 @include breakpoint("medium") { right: spacing("half") + remCalc(2px); // 8 @@ -246,10 +237,7 @@ } .navUser-item--account { - .navUser-or { - - // scss-lint:disable NestingDepth + .navUser-action { margin-right: -0.5rem; // 1 } @@ -278,12 +266,10 @@ // ----------------------------------------------------------------------------- .navUser-action--quickSearch { - &.is-open { position: relative; - // scss-lint:disable NestingDepth - &:before { + &::before { @include css-triangle( $triangle-direction: "bottom", $triangle-size: 10px, @@ -299,8 +285,8 @@ .dropdown--quickSearch { background-color: $dropdown--quickSearch-backgroundColor; - padding: spacing("single") 0; display: none; + padding: spacing("single") 0; @include breakpoint("small") { padding: spacing("double"); @@ -308,7 +294,6 @@ &.is-open { display: block; - // scss-lint:disable ImportantRule left: 0 !important; // 1 outline: none; right: 0 !important; // 1 diff --git a/assets/scss/components/stencil/paymentMethods/_paymentMethods.scss b/assets/scss/components/stencil/paymentMethods/_paymentMethods.scss index 7cb07f92f1..7d3a404211 100644 --- a/assets/scss/components/stencil/paymentMethods/_paymentMethods.scss +++ b/assets/scss/components/stencil/paymentMethods/_paymentMethods.scss @@ -3,20 +3,20 @@ // ============================================================================= .paymentMethodsTitle { + margin: 0 0 spacing("half"); padding: 0; text-transform: none; width: 100%; - margin: 0 0 spacing("half"); } .paymentMethodsGrid { - margin: -(spacing("half")); - margin-bottom: spacing("single"); display: flex; flex-wrap: wrap; + margin: -(spacing("half")); + margin-bottom: spacing("single"); &-item { - padding: spacing("half");; + padding: spacing("half"); width: 100%; @include breakpoint("small") { @@ -26,18 +26,18 @@ } .paymentMethod { - border: container("border"); background-color: #e5e5e5; + border: container("border"); border-radius: remCalc(3px); - height: 100%; display: flex; flex-flow: column nowrap; + height: 100%; &-row { padding: 1.5rem; &:first-child { - background-color: #ffffff; + background-color: #fff; } &:last-child { @@ -56,10 +56,10 @@ } .methodHeader { - justify-content: space-between; + align-items: center; display: flex; flex-flow: row; - align-items: center; + justify-content: space-between; &-icon { margin-right: spacing("half"); @@ -89,16 +89,16 @@ } &-meta { - padding-left: spacing("half"); - margin-left: auto; display: flex; flex-wrap: nowrap; + margin-left: auto; + padding-left: spacing("half"); } &-default { - margin-left: spacing("half"); fill: color("greys", "dark"); height: remCalc(18px); + margin-left: spacing("half"); width: remCalc(18px); @include breakpoint("large") { @@ -114,8 +114,8 @@ } .methodDetails { - margin: 0; display: flex; + margin: 0; &-label { flex: 1; @@ -129,13 +129,13 @@ } .newPaymentMethod { - text-decoration: none; - display: flex; align-items: center; - justify-items: center; + display: flex; flex-direction: column; - min-height: remCalc(186px); height: 100%; + justify-items: center; + min-height: remCalc(186px); + text-decoration: none; &-icon { font-size: 50px; diff --git a/assets/scss/components/stencil/previewCart/_previewCart.scss b/assets/scss/components/stencil/previewCart/_previewCart.scss index 52bb04ca2d..a8ebc20503 100644 --- a/assets/scss/components/stencil/previewCart/_previewCart.scss +++ b/assets/scss/components/stencil/previewCart/_previewCart.scss @@ -55,7 +55,6 @@ margin: 0; width: 100%; - // scss-lint:disable NestingDepth + p { margin-top: spacing("half"); } @@ -81,7 +80,6 @@ .previewCartCheckout-additionalCheckoutButtons { p { - // scss-lint:disable ImportantRule float: none !important; // 1 margin: spacing("third") 0; } diff --git a/assets/scss/components/stencil/productCarousel/_productCarousel.scss b/assets/scss/components/stencil/productCarousel/_productCarousel.scss index 9b40a59938..872c6015d6 100644 --- a/assets/scss/components/stencil/productCarousel/_productCarousel.scss +++ b/assets/scss/components/stencil/productCarousel/_productCarousel.scss @@ -8,13 +8,13 @@ // // ----------------------------------------------------------------------------- -.productCarousel { // 1 - width: 1px; - min-width: 100%; - position: relative; +.productCarousel { @include grid-row( $behavior: nest - ); + ); // 1 + min-width: 100%; + position: relative; + width: 1px; } .productCarousel-slide { // 1 diff --git a/assets/scss/components/stencil/productView/_productView.scss b/assets/scss/components/stencil/productView/_productView.scss index 94ab064169..aeee5cf677 100644 --- a/assets/scss/components/stencil/productView/_productView.scss +++ b/assets/scss/components/stencil/productView/_productView.scss @@ -44,22 +44,21 @@ } .productView-img-container { - position: relative; + + @include lazy-loaded-padding("product_size"); margin: auto; - max-width: get-width(stencilString('product_size')); + max-width: get-width(stencilString("product_size")); + position: relative; width: 100%; img { @include lazy-loaded-img; - bottom: auto; + /* Object-fit polyfill */ + font-family: "object-fit: contain;"; max-height: 100%; - width: 100%; object-fit: contain; - /* Object-fit polyfill */ - font-family: 'object-fit: contain;'; + width: 100%; } - - @include lazy-loaded-padding('product_size'); } .productView-thumbnails { @@ -92,12 +91,12 @@ img { @include lazy-loaded-img; + /* Object-fit polyfill */ + font-family: "object-fit: contain;"; margin: 0; - width: get-width(stencilString('productview_thumb_size')); object-fit: contain; - /* Object-fit polyfill */ - font-family: 'object-fit: contain;'; position: relative; + width: get-width(stencilString("productview_thumb_size")); } } @@ -114,14 +113,14 @@ .productView-thumbnail-link { border: container("border"); + box-sizing: content-box; display: inline-flex; height: 67px; + justify-content: center; max-width: 75px; padding: 2px; position: relative; width: 100%; - box-sizing: content-box; - justify-content: center; &:hover, &.is-active { @@ -218,7 +217,6 @@ a { color: $productView-brand-link-color; - // scss-lint:disable NestingDepth &:hover { color: $productView-brand-link-color--hover; } @@ -258,6 +256,7 @@ } .productView-reviewLink { + color: stencilColor("color-textSecondary"); display: inline-block; margin-left: spacing("quarter"); vertical-align: middle; @@ -268,6 +267,10 @@ color: stencilColor("color-textSecondary--hover"); } + &:hover { + color: stencilColor("color-textSecondary--hover"); + } + &--new { padding: 0; } @@ -374,9 +377,7 @@ font-size: 1rem; } - // scss-lint:disable SelectorDepth, NestingDepth - > .form-checkbox + .form-label - { + > .form-checkbox + .form-label { display: inline-block; margin-left: spacing("single"); width: auto; @@ -388,8 +389,8 @@ } > .form-radio + .form-label { - text-align: justify; display: inline-block; + text-align: justify; } > .form-label:nth-of-type(2) { @@ -415,7 +416,6 @@ margin-top: 1rem; } - // scss-lint:disable SelectorDepth, NestingDepth .button { width: 100%; height: 46px; @@ -430,6 +430,10 @@ width: auto; } + @include breakpoint("medium") { + width: auto; + } + @include breakpoint("large") { margin-right: spacing("half"); } @@ -442,6 +446,10 @@ .button--primary { margin-right: spacing("half"); } + + .button--primary { + margin-right: spacing("half"); + } } } @@ -497,12 +505,12 @@ // ----------------------------------------------------------------------------- .productView-image .easyzoom-flyout { + height: 100%; + left: 0; overflow: hidden; position: absolute; top: 0; - left: 0; width: 100%; - height: 100%; img { max-width: none; diff --git a/assets/scss/components/stencil/search/_search.scss b/assets/scss/components/stencil/search/_search.scss index 43d449e0f0..2f9edaa00a 100644 --- a/assets/scss/components/stencil/search/_search.scss +++ b/assets/scss/components/stencil/search/_search.scss @@ -52,7 +52,6 @@ label { display: inline; - // scss-lint:disable SelectorDepth, NestingDepth input { display: block; padding-left: spacing("single"); @@ -63,7 +62,6 @@ } } - // scss-lint:disable SelectorDepth, NestingDepth span { @include breakpoint("small") { display: inline; diff --git a/assets/scss/components/stencil/socialLinks/_socialLinks.scss b/assets/scss/components/stencil/socialLinks/_socialLinks.scss index f7b7cc4e73..0ba6c29b82 100644 --- a/assets/scss/components/stencil/socialLinks/_socialLinks.scss +++ b/assets/scss/components/stencil/socialLinks/_socialLinks.scss @@ -16,9 +16,7 @@ margin: 0; text-decoration: none; - // scss-lint:disable NestingDepth, SelectorDepth &:hover { - svg { fill: stencilColor("icon-color-hover"); } @@ -28,23 +26,16 @@ fill: stencilColor("icon-color"); transition: all 0.15s ease; } - // scss-lint:enable NestingDepth, SelectorDepth } } -// scss-lint:enable SelectorFormat - -// scss-lint:disable SelectorFormat .socialLinks-item--pinterest { width: 25px; } -// scss-lint:enable SelectorFormat -// scss-lint:disable SelectorFormat .pin_it_iframe_widget { display: none; } -// scss-lint:enable SelectorFormat .socialLinks-item { display: inline-block; @@ -54,11 +45,22 @@ margin-bottom: spacing("quarter"); margin-right: spacing("half"); - // scss-lint:disable NestingDepth &:last-child { margin-right: 0; } - // scss-lint:enable NestingDepth, + } + + .socialLinks__link { + @include addFocusTooltip; + height: 2rem; + position: relative; + + // moving tooltip on the left side for avoiding by parent's cut with overflow: hidden + &:focus::after { + left: 0; + right: auto; + z-index: zIndex("low"); + } } & .socialLinks__link { diff --git a/assets/scss/components/stencil/tags/_tags.scss b/assets/scss/components/stencil/tags/_tags.scss index 30af7e33de..9d05f35951 100644 --- a/assets/scss/components/stencil/tags/_tags.scss +++ b/assets/scss/components/stencil/tags/_tags.scss @@ -22,7 +22,6 @@ padding: $tag-padding; text-decoration: $tag-textDecoration; - // scss-lint:disable NestingDepth &:hover { color: $tag-color-hover; } diff --git a/assets/scss/components/stencil/writeReview/_writeReview.scss b/assets/scss/components/stencil/writeReview/_writeReview.scss index 47df822618..4bc2c0c3f1 100644 --- a/assets/scss/components/stencil/writeReview/_writeReview.scss +++ b/assets/scss/components/stencil/writeReview/_writeReview.scss @@ -27,15 +27,15 @@ } .writeReview-productImage-container { + + @include lazy-loaded-padding("product_size"); position: relative; img { @include lazy-loaded-img; + /* Object-fit polyfill */ + font-family: "object-fit: contain;"; height: 100%; object-fit: contain; - /* Object-fit polyfill */ - font-family: 'object-fit: contain;'; } - - @include lazy-loaded-padding('product_size'); } diff --git a/assets/scss/components/vendor/nanobar/_nanobar.scss b/assets/scss/components/vendor/nanobar/_nanobar.scss index 87e4f49fe9..fd83432a65 100644 --- a/assets/scss/components/vendor/nanobar/_nanobar.scss +++ b/assets/scss/components/vendor/nanobar/_nanobar.scss @@ -4,17 +4,17 @@ .nanobar { display: none; - width: 100%; height: remCalc(5px); - z-index: 9999; - top: 0; pointer-events: none; + top: 0; user-select: none; + width: 100%; + z-index: 9999; .bar { - width: 0; - height: 100%; - transition: height .1s; background-color: stencilColor("pace-progress-backgroundColor"); + height: 100%; + transition: height 0.1s; + width: 0; } } diff --git a/assets/scss/components/vendor/slick/_slick.scss b/assets/scss/components/vendor/slick/_slick.scss index 5445e4f503..3ed38bb082 100644 --- a/assets/scss/components/vendor/slick/_slick.scss +++ b/assets/scss/components/vendor/slick/_slick.scss @@ -19,12 +19,12 @@ .slick-next, .slick-prev { @include carouselOpaqueBackgrounds($slick-arrow-bgColor); - z-index: 1; border: 1px solid $slick-arrow-borderColor; height: remCalc(61px); margin-top: -(remCalc(15px)); padding: remCalc(10px); width: remCalc(40px); + z-index: 1; &::before { background-position: 50%; @@ -52,13 +52,12 @@ } &::before { - @include carousel-arrow-color( $slick-arrow-color, 'next') + @include carousel-arrow-color( $slick-arrow-color, "next"); } &:hover { - // scss-lint:disable NestingDepth &::before { - @include carousel-arrow-color( $slick-arrow-color-hover, 'next') + @include carousel-arrow-color( $slick-arrow-color-hover, "next"); } } } @@ -71,19 +70,17 @@ } &::before { - @include carousel-arrow-color( $slick-arrow-color, 'prev') + @include carousel-arrow-color( $slick-arrow-color, "prev"); } &:hover { - // scss-lint:disable NestingDepth &::before { - @include carousel-arrow-color( $slick-arrow-color-hover, 'prev') + @include carousel-arrow-color( $slick-arrow-color-hover, "prev"); } } } -.slick-slide img -{ +.slick-slide img { display: block; width: 100%; } @@ -107,7 +104,6 @@ padding: remCalc(5px); width: 1.7rem; - // scss-lint:disable SelectorDepth, NestingDepth button, button::before { @include square(12px); @@ -115,7 +111,7 @@ } button { - // scss-lint:disable NestingDepth + border: 1px solid $slick-dot-color; display: inline-block; margin: 0; padding: 0; @@ -140,7 +136,6 @@ } &.slick-active { - // scss-lint:disable NestingDepth button::before { background: #707070; } @@ -152,7 +147,7 @@ // // Stencil override for product detail page thumbnail dots. // ----------------------------------------------------------------------------- -.productView .slick-dots { +.productView .slick-dots { position: relative; } @@ -178,8 +173,8 @@ // iOS Safari fix https://github.com/kenwheeler/slick/issues/2834#issuecomment-389590661 // ----------------------------------------------------------------------------- div.slick-slider { - width: 1px; min-width: 100%; + width: 1px; *width: 100%; } @@ -189,17 +184,17 @@ div.slick-slider { // ----------------------------------------------------------------------------- .carousel-tooltip { - height: 1px; + @include addFocusTooltip($attr: aria-label); display: none; - position: relative; + height: 1px; margin-top: 10px; - @include addFocusTooltip($attr: aria-label); + position: relative; @include breakpoint("small") { display: block; } - &:after { + &::after { padding: 15px 10px; top: 10px; } @@ -207,32 +202,32 @@ div.slick-slider { .slick-prev:focus &, .slick-next:focus &, .slick-dots button:focus & { - &:before, - &:after { + &::before, + &::after { display: block; } } .slick-prev &, .slick-next & { - &:before { + &::before { top: -7px; } } .slick-prev & { - &:before { + &::before { right: -2px; } - &:after { - right: auto; + &::after { left: -5px; + right: auto; } } .slick-next & { - &:after { + &::after { right: -5px; } } @@ -240,13 +235,13 @@ div.slick-slider { .slick-dots button & { margin-top: 25px; - &:before, - &:after { + &::before, + &::after { right: 50%; - transform: translateX(50%); + transform: translateX(50%); } - &:before { + &::before { top: -7px; } } @@ -257,41 +252,41 @@ div.slick-slider { // ----------------------------------------------------------------------------- .carousel-play-pause-button { - display: none; - position: absolute; - left: 15px; + @include carouselOpaqueBackgrounds($slick-play-pause-button-bgColor); + border: 1px solid $slick-play-pause-button-borderColor; bottom: spacing("third"); - height: 32px; - min-width: 60px; - max-width: 60px; + color: $slick-play-pause-button-color; + display: none; font-size: 14px; - line-height: 1.25; font-weight: 700; - white-space: nowrap; + height: 32px; + left: 15px; + line-height: 1.25; + max-width: 60px; + min-width: 60px; overflow: hidden; + position: absolute; text-overflow: ellipsis; - color: $slick-play-pause-button-color; transition: color 100ms ease-out; + white-space: nowrap; z-index: zIndex("lowest"); - border: 1px solid $slick-play-pause-button-borderColor; - @include carouselOpaqueBackgrounds($slick-play-pause-button-bgColor); - - @media (min-width: 375px) { - min-width: 80px; - max-width: 90px; - } @include breakpoint("small") { - max-width: 150px; font-size: 18px; + max-width: 150px; } @include breakpoint("medium") { - left: 25px; bottom: spacing("single"); + left: 25px; } &:hover { color: $slick-play-pause-button-color-hover; } + + @media (min-width: 375px) { + max-width: 90px; + min-width: 80px; + } } diff --git a/assets/scss/components/vendor/slick/_tools.scss b/assets/scss/components/vendor/slick/_tools.scss index 9de07de279..7da25f6892 100644 --- a/assets/scss/components/vendor/slick/_tools.scss +++ b/assets/scss/components/vendor/slick/_tools.scss @@ -16,18 +16,16 @@ @return null; } -// scss-lint:disable DuplicateProperty @mixin carouselOpaqueBackgrounds($color: rgba($carousel-bgColor, 0.9)) { // 2 background-color: rgba($color, 1); background-color: $color; } -// scss-lint:enable DuplicateProperty @mixin carousel-arrow-color($arrow-color, $arrow-direction) { - @if $arrow-direction == 'prev' { + @if $arrow-direction == "prev" { background-image: url("data:image/svg+xml;charset=utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='24' height='42' viewBox='0 0 24 42'%3E%3Cpath d='M22.4572074 1.00746147l-21 20.02482143 20.9479397 19.9751786' stroke='#{str-replace(#{$arrow-color}, "#", "%23")}' stroke-width='2' stroke-linecap='round' stroke-linejoin='round' fill='none' fill-rule='evenodd' /%3E%3C/svg%3E"); - } - @if $arrow-direction == 'next' { + } + @if $arrow-direction == "next" { background-image: url("data:image/svg+xml;charset=utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='24' height='42' viewBox='0 0 24 42'%3E%3Cpath d='M1.45679 1.00746147l21 20.02482143L1.50885 41.0074615' stroke='#{str-replace(#{$arrow-color}, "#", "%23")}' stroke-width='2' stroke-linecap='round' stroke-linejoin='round' fill='none' fill-rule='evenodd' /%3E%3C/svg%3E"); } } diff --git a/assets/scss/components/vendor/sweetalert2/_sweetalert2.scss b/assets/scss/components/vendor/sweetalert2/_sweetalert2.scss index 9e27d2d56f..93a2887840 100644 --- a/assets/scss/components/vendor/sweetalert2/_sweetalert2.scss +++ b/assets/scss/components/vendor/sweetalert2/_sweetalert2.scss @@ -100,7 +100,11 @@ } .swal2-icon { - display: flex; + display: flex; +} + +.swal2-container { + z-index: 1000; // should be less then foundation modal } .swal2-container { diff --git a/assets/scss/invoice.scss b/assets/scss/invoice.scss index 827a5996c6..8bb9824e86 100644 --- a/assets/scss/invoice.scss +++ b/assets/scss/invoice.scss @@ -1,45 +1,48 @@ body { - background: #fff; - color: #000; - margin: 10px; + background: #fff; + color: #000; + margin: 10px; } -body, td, th { - font-family: Arial, Sans-Serif; - font-size: 12px; +body, +td, +th { + font-family: Arial, Sans-Serif; + font-size: 12px; } -h1, h1 a { - color: #000; - text-decoration: none; +h1, +h1 a { + color: #000; + text-decoration: none; } .Invoice, .PackingSlip { - border: 2px solid #cacaca; - padding: 5px; + border: 2px solid #cacaca; + padding: 5px; } .InvoiceTitle, .PackingSlipTitle { - font-size: 15px; - font-weight: bold; - background: #000; - color: #fff; - padding: 5px; - margin-bottom: 10px; + background: #000; + color: #fff; + font-size: 15px; + font-weight: bold; + margin-bottom: 10px; + padding: 5px; } .StoreAddress { - font-weight: bold; - margin-bottom: 10px; + font-weight: bold; + margin-bottom: 10px; } .InvoiceHeading, .PackingSlipHeading { - font-size: 15px; - font-weight: bold; - margin-bottom: 10px; + font-size: 15px; + font-weight: bold; + margin-bottom: 10px; } .CustomerDetails, @@ -48,32 +51,32 @@ h1, h1 a { .InvoiceDetails, .PackingSlipItems, .PackingSlipDetails { - margin-bottom: 10px; + margin-bottom: 10px; - li { - list-style-type: none; - } + li { + list-style-type: none; + } } .InvoiceTable, .PackingSlipTable { - border-collapse: collapse; - width: 100%; + border-collapse: collapse; + width: 100%; } .InvoiceTable th, .PackingSlipTable th { - font-weight: bold; - padding: 5px; - text-align: left; + font-weight: bold; + padding: 5px; + text-align: left; } .InvoiceTable td, .PackingSlipTable td { - padding: 5px; - vertical-align: top; - text-align: left; + padding: 5px; + text-align: left; + vertical-align: top; } td.ProductQuantity, @@ -84,93 +87,99 @@ td.ProductTotal, th.ProductTotal, .InvoiceTotals td, .InvoiceTotalRow td { - text-align: right; + text-align: right; } .InvoiceTotalRow:last-child { font-weight: bold; } -.AddressRow, .InvoiceDetails, .PackingSlipDetails { - overflow: hidden; - width: 100%; +.AddressRow, +.InvoiceDetails, +.PackingSlipDetails { + overflow: hidden; + width: 100%; } -.ShippingAddress, .BillingAddress, -.InvoiceDetailsLeft, .InvoiceDetailsRight, -.PackingSlipDetailsLeft, .PackingSlipDetailsRight { - float: left; - width: 48%; +.ShippingAddress, +.BillingAddress, +.InvoiceDetailsLeft, +.InvoiceDetailsRight, +.PackingSlipDetailsLeft, +.PackingSlipDetailsRight { + float: left; + width: 48%; - ul { - padding-left: 0; - } + ul { + padding-left: 0; + } } .InvoiceItems, .PackingSlipItems { - border-top: 1px solid #000; - padding-top: 10px; + border-top: 1px solid #000; + padding-top: 10px; } .InvoiceItemList { - border-bottom: 1px solid #000; + border-bottom: 1px solid #000; } .InvoiceItemDivider td { - padding-top: 10px; - border-top: 1px solid #000; + border-top: 1px solid #000; + padding-top: 10px; } .DetailRow, .ConfigurableProductRow { - clear: left; - margin-top: 6px; - padding-left: 140px; + clear: left; + margin-top: 6px; + padding-left: 140px; } .DetailRow .Label, .ConfigurableProductRow .Label { - margin: 0 0 6px -140px; - float: left; - width: 130px; - padding-top: 1px; - display: inline; - position: relative; + display: inline; + float: left; + margin: 0 0 6px -140px; + padding-top: 1px; + position: relative; + width: 130px; } .DetailRow .Value, .ConfigurableProductRow .Value { - display: inline; + display: inline; } .InvoiceDetails .DetailRow .Label, .PackingSlipDetails .DetailRow .Label { - font-weight: bold; + font-weight: bold; } .ConfigurableProductRow { - font-size: 11px; - margin-left: 10px; + font-size: 11px; + margin-left: 10px; } .InvoiceTotals .InvoiceTotal td { - font-weight: bold; + font-weight: bold; } .ProductQuantity { - width: 50px; + width: 50px; } -.ProductCost, .ProductTotal { - width: 150px; +.ProductCost, +.ProductTotal { + width: 150px; } .PageBreak { - page-break-after: always; + page-break-after: always; } .ProductPreOrder { - font-size: 11px; + font-size: 11px; } diff --git a/assets/scss/layouts/blog/_blog.scss b/assets/scss/layouts/blog/_blog.scss index c9dd546ac4..15c96e40be 100644 --- a/assets/scss/layouts/blog/_blog.scss +++ b/assets/scss/layouts/blog/_blog.scss @@ -29,11 +29,9 @@ text-align: center; } - // scss-lint:disable SelectorFormat .addthis_toolbox { margin-top: spacing("double"); } - // scss-lint:enable SelectorFormat } .blog-title { @@ -62,8 +60,8 @@ .blog-thumbnail { margin: 0 auto (spacing("base") * 2); + max-width: get_width(stencilString("blog_size")); position: relative; - max-width: get_width(stencilString('blog_size')); img { width: 100%; diff --git a/assets/scss/layouts/brands/_brand.scss b/assets/scss/layouts/brands/_brand.scss index cc83826957..516276449c 100644 --- a/assets/scss/layouts/brands/_brand.scss +++ b/assets/scss/layouts/brands/_brand.scss @@ -1,18 +1,18 @@ .brand-image-container { + + @include lazy-loaded-padding("thumb_size"); + max-width: get-width(stencilString("thumb_size")); position: relative; - max-width: get-width(stencilString('thumb_size')); img { @include lazy-loaded-img; } - - @include lazy-loaded-padding('thumb_size'); } .brand { .card-img-container { - max-width: get-width(stencilString('brand_size')); - @include lazy-loaded-padding('brand_size'); + @include lazy-loaded-padding("brand_size"); + max-width: get-width(stencilString("brand_size")); } } diff --git a/assets/scss/layouts/brands/_brandGrid.scss b/assets/scss/layouts/brands/_brandGrid.scss index 8a806dc8be..0c51dba4da 100644 --- a/assets/scss/layouts/brands/_brandGrid.scss +++ b/assets/scss/layouts/brands/_brandGrid.scss @@ -31,7 +31,6 @@ width: grid-calc(3, $total-columns); } - // scss-lint:disable SelectorDepth, NestingDepth .card-title { text-align: center; } diff --git a/assets/scss/layouts/footer/_footer.scss b/assets/scss/layouts/footer/_footer.scss index 0bbb6a616c..01030f12b8 100644 --- a/assets/scss/layouts/footer/_footer.scss +++ b/assets/scss/layouts/footer/_footer.scss @@ -20,12 +20,12 @@ } .footer-title-sr-only { - position: absolute; + height: 1px; left: -10000px; + overflow: hidden; + position: absolute; top: auto; width: 1px; - height: 1px; - overflow: hidden; } .footer-info { @@ -40,11 +40,11 @@ float: none; font-size: fontSize("base"); // 2 margin-bottom: spacing("double"); + overflow-wrap: break-word; text-align: center; vertical-align: top; - // TODO: specifically use vendor only for IE11 since overflow-wrap is not supported here + // TODO: specifically use vendor only for IE11 since overflow-wrap is not supported here -ms-word-break: break-all; - overflow-wrap: break-word; @include breakpoint("small") { text-align: left; width: width("6/12"); @@ -112,11 +112,9 @@ color: stencilColor("color-textSecondary"); text-decoration: none; - // scss-lint:disable NestingDepth &:hover { color: stencilColor("color-textSecondary--hover"); } - // scss-lint:enable NestingDepth } } @@ -143,11 +141,9 @@ color: stencilColor("color-textSecondary"); text-decoration: none; - // scss-lint:disable NestingDepth &:hover { color: stencilColor("color-textSecondary--hover"); } - // scss-lint:enable NestingDepth } } diff --git a/assets/scss/layouts/header/_header.scss b/assets/scss/layouts/header/_header.scss index 3023cd67e2..060eeabf98 100644 --- a/assets/scss/layouts/header/_header.scss +++ b/assets/scss/layouts/header/_header.scss @@ -26,7 +26,7 @@ position: absolute; transform: translate(-50%, calc(-100% - #{$header-height})); transition: transform 0.3s; - z-index: zIndex('highest'); + z-index: zIndex("highest"); &:focus { transform: translate(-50%, 0%); @@ -36,19 +36,19 @@ .header { background-color: $header-bg; // border-bottom: container("border"); + height: $header-height; position: fixed; top: 0; width: 100%; z-index: zIndex("higher"); - height: $header-height; @include breakpoint("medium") { // border-bottom: container("border"); - overflow: visible; - position: relative; - height: auto; display: flex; flex-direction: column; + height: auto; + overflow: visible; + position: relative; } &.is-open { @@ -72,10 +72,10 @@ .header-logo { font-size: 0; // 1 + height: $header-height; // margin: 0 remCalc($header-toggle-width); // 2 margin: 0 auto; text-align: center; - height: $header-height; // @include breakpoint("small") { // 4 // margin-left: remCalc($header-toggle-width * 1.5); @@ -83,6 +83,7 @@ // } @include breakpoint("medium") { + height: auto; // margin: (spacing("double") + spacing("base")) auto (spacing("double") + spacing("single")); margin: 0; padding: 0; @@ -100,18 +101,17 @@ &__link { @include clearfix; + align-items: center; color: $storeName-color; - height: inherit; display: flex; + height: inherit; justify-content: center; // 6 - align-items: center; margin: 0 auto; position: relative; text-decoration: none; width: 70%; z-index: zIndex("low"); - // scss-lint:disable NestingDepth @include breakpoint("medium") { background: none; border-bottom: 0; @@ -176,6 +176,7 @@ font-size: $fontSize-logo-large; max-width: none; overflow: auto; + padding: 0 10px; white-space: normal; padding: 0 10px; @@ -190,19 +191,19 @@ width: 100%; @include breakpoint("medium") { - min-height: get-height(stencilString('logo_size')); + min-height: get-height(stencilString("logo_size")); } } -.header-logo-image-container:after { - content: ''; +.header-logo-image-container::after { + content: ""; display: block; } .header-logo-image { - max-height: remCalc($header-height) - $header-logo-marginVertical * 1; display: block; margin: 0 auto; + max-height: remCalc($header-height) - $header-logo-marginVertical * 1; @include breakpoint("medium") { max-height: none; @@ -269,7 +270,6 @@ background-color: transparent; transition-delay: 100ms; - // scss-lint:disable NestingDepth &::before, &::after { background-color: stencilColor("navUser-color-hover"); diff --git a/assets/scss/layouts/products/_productGrid.scss b/assets/scss/layouts/products/_productGrid.scss index 9f1e079954..7fc0735bd6 100644 --- a/assets/scss/layouts/products/_productGrid.scss +++ b/assets/scss/layouts/products/_productGrid.scss @@ -42,9 +42,7 @@ // ----------------------------------------------------------------------------- .page-sidebar + .page-content { - .productGrid { - // scss-lint:disable SelectorDepth, NestingDepth .product { // 1 @include breakpoint("small") { width: grid-calc(4, $total-columns); @@ -80,10 +78,10 @@ .product { break-inside: avoid; - page-break-inside: avoid; // for firefox display: block; margin-bottom: spacing("double"); padding: 0; + page-break-inside: avoid; // for firefox width: 100%; } @@ -98,7 +96,6 @@ .productGrid--maxCol6 { .no-csscolumns & { - // scss-lint:disable SelectorDepth, NestingDepth .product { @include breakpoint("medium") { width: grid-calc(2, $total-columns); @@ -115,7 +112,6 @@ .productGrid--maxCol3 { .no-csscolumns & { - // scss-lint:disable SelectorDepth, NestingDepth .product { @include breakpoint("medium") { width: grid-calc(4, $total-columns); @@ -129,7 +125,6 @@ float: none; - // scss-lint:disable SelectorDepth, NestingDepth .product { @include grid-column(4, $float: none); } diff --git a/assets/scss/layouts/products/_productList.scss b/assets/scss/layouts/products/_productList.scss index f32c40e40b..dab0d0ce75 100644 --- a/assets/scss/layouts/products/_productList.scss +++ b/assets/scss/layouts/products/_productList.scss @@ -11,7 +11,6 @@ margin: spacing("half"); .product { - // scss-lint:disable NestingDepth + .product { margin-top: spacing("base") * 4; } @@ -44,6 +43,22 @@ display: table; width: 100%; } + + &:focus-within { + .listItem-figureBody { + @include breakpoint("large") { + opacity: 1; + } + } + } + + &.focus-within { + .listItem-figureBody { + @include breakpoint("large") { + opacity: 1; + } + } + } } .listItem-figure, @@ -82,11 +97,6 @@ .listItem-figure { margin: 0 0 spacing("single"); position: relative; - - &__link { - display: block; - margin: 3px; - } @include breakpoint("small") { margin-bottom: 0; @@ -95,6 +105,11 @@ width: grid-calc(3, $total-columns); } + &__link { + display: block; + margin: 3px; + } + .listItem-button { margin: spacing("single") 0; @@ -103,7 +118,7 @@ margin: 0; pointer-events: all; } - } + } } .listItem-figureBody { @@ -111,11 +126,11 @@ text-align: center; @include breakpoint("large") { - top: 50%; left: 50%; - transform: translateX(-50%) translateY(-50%); opacity: 0; position: absolute; + top: 50%; + transform: translateX(-50%) translateY(-50%); .listItem:hover & { opacity: 1; @@ -232,7 +247,6 @@ @include breakpoint("large") { width: 100%; - // scss-lint:disable NestingDepth + .button { margin: spacing("half") 0 0; } @@ -245,10 +259,7 @@ // ----------------------------------------------------------------------------- .page-sidebar + .page-content { - .productList { - - // scss-lint:disable SelectorDepth, NestingDepth .listItem-details { @include breakpoint("large") { diff --git a/assets/scss/layouts/products/_productSaleBadges.scss b/assets/scss/layouts/products/_productSaleBadges.scss index f0baef6c05..86a2829d09 100644 --- a/assets/scss/layouts/products/_productSaleBadges.scss +++ b/assets/scss/layouts/products/_productSaleBadges.scss @@ -23,38 +23,38 @@ width: rem-calc(50px); z-index: zIndex("lower"); - &:before { + &::before { transform: rotateZ(30deg) scaleX(1) scaleY(1) scaleZ(1); } - &:after { + &::after { transform: rotateZ(60deg) scaleX(1) scaleY(1) scaleZ(1); } } + .sale-flag-star, -.sale-flag-star:before, -.sale-flag-star:after { - background: stencilColor("color_badge_product_sale_badges"); +.sale-flag-star::before, +.sale-flag-star::after { @extend %base-flag-star; + background: stencilColor("color_badge_product_sale_badges"); } .sold-out-flag-star, -.sold-out-flag-star:before, -.sold-out-flag-star:after { - background: stencilColor("color_badge_product_sold_out_badges"); +.sold-out-flag-star::before, +.sold-out-flag-star::after { @extend %base-flag-star; + background: stencilColor("color_badge_product_sold_out_badges"); } .starwrap { height: rem-calc(50px); + left: 12px; position: absolute; top: 12px; - left: 12px; width: rem-calc(50px); } .listItem-figure { - .starwrap { transform: scale(0.7); @@ -81,26 +81,25 @@ } .sale-text-burst { - color: stencilColor("color_text_product_sale_badges"); @extend %base-text-burst; + color: stencilColor("color_text_product_sale_badges"); } .sold-out-text-burst { - color: stencilColor("color_text_product_sold_out_badges"); @extend %base-text-burst; + color: stencilColor("color_text_product_sold_out_badges"); } .product:hover .starwrap { - .sale-flag-star, - .sale-flag-star:before, - .sale-flag-star:after { + .sale-flag-star::before, + .sale-flag-star::after { background: stencilColor("color_hover_product_sale_badges"); } .sold-out-flag-star, - .sold-out-flag-star:before, - .sold-out-flag-star:after { + .sold-out-flag-star::before, + .sold-out-flag-star::after { background: stencilColor("color_hover_product_sold_out_badges"); } } @@ -123,13 +122,15 @@ } .sale-flag-side { - @include setFlagColors("color_badge_product_sale_badges", "color_text_product_sale_badges"); @extend %base-flag-side; + @include setFlagColors("color_badge_product_sale_badges", "color_text_product_sale_badges"); } + .sold-out-flag-side { - @include setFlagColors("color_badge_product_sold_out_badges", "color_text_product_sold_out_badges"); @extend %base-flag-side; + @include setFlagColors("color_badge_product_sold_out_badges", "color_text_product_sold_out_badges"); } + .product:hover .sale-flag-side { background: stencilColor("color_hover_product_sale_badges"); } @@ -158,24 +159,23 @@ } .sale-flag-sash { - @include setFlagColors("color_badge_product_sale_badges", "color_text_product_sale_badges"); @extend %base-flag-sash; + @include setFlagColors("color_badge_product_sale_badges", "color_text_product_sale_badges"); } .sold-out-flag-sash { - @include setFlagColors("color_badge_product_sold_out_badges", "color_text_product_sold_out_badges"); @extend %base-flag-sash; + @include setFlagColors("color_badge_product_sold_out_badges", "color_text_product_sold_out_badges"); } .listItem-figure { - .sale-flag-sash, .sold-out-flag-sash { top: 24px; @include breakpoint("small") { - top: 19px; left: -20px; + top: 19px; } @include breakpoint("large") { @@ -193,6 +193,10 @@ background: stencilColor("color_hover_product_sold_out_badges"); } +.product:hover .sold-out-flag-sash { + background: stencilColor("color_hover_product_sold_out_badges"); +} + .product { overflow: hidden; } diff --git a/assets/scss/layouts/products/_productSwatch.scss b/assets/scss/layouts/products/_productSwatch.scss index 5d82127c90..cac047a542 100644 --- a/assets/scss/layouts/products/_productSwatch.scss +++ b/assets/scss/layouts/products/_productSwatch.scss @@ -7,10 +7,10 @@ // ----------------------------------------------------------------------------- // do some math -$value_of_swatch_size : stencilString("swatch_option_size"); -$position_of_x : str-index($value_of_swatch_size, "x"); -$first_value : str-slice($value_of_swatch_size, 0, $position_of_x - 1); -$second_value : str-slice($value_of_swatch_size, $position_of_x + 1); +$value_of_swatch_size: stencilString("swatch_option_size"); +$position_of_x: str-index($value_of_swatch_size, "x"); +$first_value: str-slice($value_of_swatch_size, 0, $position_of_x - 1); +$second_value: str-slice($value_of_swatch_size, $position_of_x + 1); [data-product-attribute] .form-option.form-option-swatch { overflow: visible; @@ -49,12 +49,12 @@ $second_value : str-slice($value_of_swatch_size, $position_of_x + 1); } .form-option-image { + display: block; + height: 100px; + width: 100px; background: { position: 50%; repeat: no-repeat; size: cover; } - display: block; - height: 100px; - width: 100px; } diff --git a/assets/scss/layouts/products/_productView.scss b/assets/scss/layouts/products/_productView.scss index ff0be7312b..4e90728421 100644 --- a/assets/scss/layouts/products/_productView.scss +++ b/assets/scss/layouts/products/_productView.scss @@ -8,12 +8,12 @@ .productView { @include grid-row($behavior: "nest"); - margin-left: -(spacing("base")); - margin-right: -(spacing("base")); display: flex; flex-direction: column; justify-content: flex-start; + margin-left: -(spacing("base")); + margin-right: -(spacing("base")); @include breakpoint("medium") { display: block; diff --git a/assets/scss/layouts/sidebar/_block.scss b/assets/scss/layouts/sidebar/_block.scss index 90e36db228..dfe601e22c 100644 --- a/assets/scss/layouts/sidebar/_block.scss +++ b/assets/scss/layouts/sidebar/_block.scss @@ -7,7 +7,6 @@ // ----------------------------------------------------------------------------- .sidebarBlock { - + .sidebarBlock { border-top: container("border"); margin-top: spacing("single") + spacing("third"); diff --git a/assets/scss/maintenance.scss b/assets/scss/maintenance.scss index 5686494ddf..82b4a15a62 100644 --- a/assets/scss/maintenance.scss +++ b/assets/scss/maintenance.scss @@ -1,161 +1,185 @@ * { - box-sizing: border-box; + box-sizing: border-box; } + body { - background: #888 url(../img/coming-soon.jpg) no-repeat center center; - background-size: cover; - color: #798289; - font-family: Helvetica, Arial, Sans-Serif; - font-size: .8em; - height: 100vh; - line-height: 1.5em; - margin: 0; - min-width: 320px; - min-height: 480px; - padding: 20px 30px; - - -ms-box-orient: horizontal; - display: -webkit-flex; - display: -ms-flexbox; - display: flex; - - -webkit-justify-content: space-around; - -ms-flex-pack: space-around; - justify-content: space-around; - - -webkit-align-items: center; - -ms-flex-align: center; - align-items: center; + -webkit-align-items: center; + align-items: center; + background: #888 url("../img/coming-soon.jpg") no-repeat center center; + background-size: cover; + + -ms-box-orient: horizontal; + color: #798289; + display: -webkit-flex; + display: -ms-flexbox; + display: flex; + -ms-flex-align: center; + -ms-flex-pack: space-around; + font-family: Helvetica, Arial, Sans-Serif; + font-size: 0.8em; + height: 100vh; + + -webkit-justify-content: space-around; + justify-content: space-around; + line-height: 1.5em; + margin: 0; + min-height: 480px; + min-width: 320px; + padding: 20px 30px; } + main { - box-shadow: 0 2px 0 0 rgba(0,0,0,0.07); - background-color: #fff; - display: block; - padding: 20px 30px; - text-align: center; + background-color: #fff; + box-shadow: 0 2px 0 0 rgba(0, 0, 0, 0.07); + display: block; + padding: 20px 30px; + text-align: center; } + section { - margin-bottom: 40px; + margin-bottom: 40px; } + fieldset { - border: none; - padding: 0; + border: 0; + padding: 0; } + legend { - overflow: hidden; - position: absolute !important; - width: 1px; - height: 1px; - margin: -1px; - padding: 0; - border: 0; - clip: rect(0 0 0 0); -} -label, input { - display: block; - height: 30px; - line-height: 30px; - width: 100%; + border: 0; + clip: rect(0 0 0 0); + height: 1px; + margin: -1px; + overflow: hidden; + padding: 0; + position: absolute !important; + width: 1px; +} + +label, +input { + display: block; + height: 30px; + line-height: 30px; + width: 100%; } + label { - color: #313b47; - font-size: 14px; - font-weight: bold; - text-align: center; + color: #313b47; + font-size: 14px; + font-weight: bold; + text-align: center; } + input { - border-radius: 2px; - border-style:solid; - width: 100%; - -webkit-appearance: none; + -webkit-appearance: none; + border-radius: 2px; + border-style: solid; + width: 100%; } + input[type=text] { - background-color: #F7F8F9; - border: 1px solid #E1E6EB; - margin-bottom: 1rem; - padding: 0 1em; + background-color: #f7f8f9; + border: 1px solid #e1e6eb; + margin-bottom: 1rem; + padding: 0 1em; } + input[type=submit] { - cursor: pointer; - background: #00abc9; - border: none; - color: #fff; - font-size: 12px; - padding: 0 15px; + background: #00abc9; + border: 0; + color: #fff; + cursor: pointer; + font-size: 12px; + padding: 0 15px; } + a { - text-decoration: none; - color: #00b9d3; - margin: 0 5px; + color: #00b9d3; + margin: 0 5px; + text-decoration: none; } + h1 { - color: #3C4043; - font-weight: 300; - font-size: 24px; - margin-top: 15px; + color: #3c4043; + font-size: 24px; + font-weight: 300; + margin-top: 15px; } + div p { - margin-top: 0; - margin-bottom: 0; + margin-bottom: 0; + margin-top: 0; } + .form-field--error { - margin-bottom: 1rem; + margin-bottom: 1rem; } + .form-field--error input[type=text] { - margin-bottom: 0; + margin-bottom: 0; } -.form-field--error .form-inlineMessage{ - color: #ac0005; - margin-top: .375rem; - width: 100%; + +.form-field--error .form-inlineMessage { + color: #ac0005; + margin-top: 0.375rem; + width: 100%; } + .powered-by { - color: #acb3be; - font-size: 11px; - font-style: italic; - line-height: 24px; + color: #acb3be; + font-size: 11px; + font-style: italic; + line-height: 24px; } + .powered-by a { - background: url('../img/bc_logo_sprite.png') 0 -75px no-repeat; - display: inline-block; - height: 22px; - opacity: .7; - text-indent: -9999px; - width: 95px; + background: url("../img/bc_logo_sprite.png") 0 -75px no-repeat; + display: inline-block; + height: 22px; + opacity: 0.7; + text-indent: -9999px; + width: 95px; } + .powered-by a:hover { - opacity: 1; + opacity: 1; } @media screen and (min-width: 540px) { - body { - font-size: 1em; - } - main { - margin: 0 auto; - padding: 45px 60px; - width: 500px; - } - label, input { - display: inline-block; - margin-right: 10px; - width: auto; - } - label { - text-align: left; - } - input[type=text] { - margin-right: 10px; - margin-bottom: 0; - } - .form-field { - display: inline-block; - position: relative; - } - .form-field--error .form-inlineMessage { - /*color: #ac0005;*/ - left: 100px; - position: absolute; - top: 30px; - /*width: 100%;*/ - } + body { + font-size: 1em; + } + + main { + margin: 0 auto; + padding: 45px 60px; + width: 500px; + } + + label, + input { + display: inline-block; + margin-right: 10px; + width: auto; + } + + label { + text-align: left; + } + + input[type=text] { + margin-bottom: 0; + margin-right: 10px; + } + + .form-field { + display: inline-block; + position: relative; + } + + .form-field--error .form-inlineMessage { + left: 100px; + position: absolute; + top: 30px; + } } diff --git a/assets/scss/optimized-checkout.scss b/assets/scss/optimized-checkout.scss index 7f161c20bf..c7cba0bfc6 100644 --- a/assets/scss/optimized-checkout.scss +++ b/assets/scss/optimized-checkout.scss @@ -21,9 +21,9 @@ .optimizedCheckout-header { background-color: stencilColor("optimizedCheckout-header-backgroundColor"); - // scss-lint:disable StringQuotes + /* stylelint-disable function-url-quotes*/ background-image: url(stencilImage('optimizedCheckout-backgroundImage', 'optimizedCheckout-backgroundImage-size')); - // scss-lint:enable StringQuotes + /* stylelint-enable */ background-size: cover; border-color: stencilColor("optimizedCheckout-header-borderColor"); color: stencilColor("optimizedCheckout-header-textColor"); diff --git a/assets/scss/settings/citadel/forms/_settings.scss b/assets/scss/settings/citadel/forms/_settings.scss index 49bb511b63..ec1f5e414a 100644 --- a/assets/scss/settings/citadel/forms/_settings.scss +++ b/assets/scss/settings/citadel/forms/_settings.scss @@ -214,6 +214,7 @@ $form-success-icon: url("data:image/svg+xml;charset=utf8 $form-success-icon-height: remCalc(24px); $form-success-icon-top: remCalc(37px); $form-success-icon-right: spacing("third") + spacing("eighth"); +$form-success-icon-check-right: spacing("single") + spacing("half"); $form-success-icon-width: remCalc(24px); $form-success-input-paddingRight: spacing("double"); diff --git a/assets/scss/settings/stencil/maintenanceNotice/_settings.scss b/assets/scss/settings/stencil/maintenanceNotice/_settings.scss index dd7349c2e7..1aed2fdfe1 100644 --- a/assets/scss/settings/stencil/maintenanceNotice/_settings.scss +++ b/assets/scss/settings/stencil/maintenanceNotice/_settings.scss @@ -18,7 +18,7 @@ $maintenanceNotice-header-margin: 0 0 spacing("half"); $adminBar-height: 46px; $adminBar-color: color("whites", "bright"); $adminBar-logo-color: #273a8a; -$adminBar-contentLink-color: #3E67F8; +$adminBar-contentLink-color: #3e67f8; $adminBar-contentLink-hover-color: #f0f3fe; $adminBar-tooltip-bg-backgroundColor: #313440; $adminBar-text-color: #626568; diff --git a/assets/scss/tools/_image.scss b/assets/scss/tools/_image.scss index 236df324fb..3088d828cf 100644 --- a/assets/scss/tools/_image.scss +++ b/assets/scss/tools/_image.scss @@ -6,7 +6,7 @@ /// @return {Number} - A percentage indicating the appropriate value of `padding-bottom`. /// @function get-padding($size) { - $list: str-split($size, 'x'); + $list: str-split($size, "x"); $width: to-number(nth($list, 1)); $height: to-number(nth($list, 2)); @@ -22,9 +22,9 @@ /// @return {String} - A string of the form 'Xpx' /// @function get-width($size) { - $list: str-split($size, 'x'); + $list: str-split($size, "x"); - @return nth($list, 1) + 'px'; + @return nth($list, 1) + "px"; } /// @@ -35,7 +35,7 @@ /// @return {String} - A string of the form 'Ypx' /// @function get-height($size) { - $list: str-split($size, 'x'); + $list: str-split($size, "x"); - @return nth($list, 2) + 'px'; + @return nth($list, 2) + "px"; } diff --git a/assets/scss/tools/_string.scss b/assets/scss/tools/_string.scss index b6f2726457..b9812b0a01 100644 --- a/assets/scss/tools/_string.scss +++ b/assets/scss/tools/_string.scss @@ -20,14 +20,14 @@ /// @function str-split($string, $separator) { - $index : str-index($string, $separator); + $index: str-index($string, $separator); @if not $index { @return $string ""; } - $str-1 : str-slice($string, 1, $index - 1); - $str-2 : str-slice($string, $index + 1); + $str-1: str-slice($string, 1, $index - 1); + $str-2: str-slice($string, $index + 1); @return $str-1 $str-2; } @@ -41,25 +41,25 @@ /// @return {Number} - The converted Number /// @function to-number($value) { - @if type-of($value) == 'number' { + @if type-of($value) == "number" { @return $value; - } @else if type-of($value) != 'string' { - $_: log('Value for `to-number` should be a number or a string.'); + } @else if type-of($value) != "string" { + $_: log("Value for `to-number` should be a number or a string."); } $result: 0; $digits: 0; - $minus: str-slice($value, 1, 1) == '-'; - $numbers: ('0': 0, '1': 1, '2': 2, '3': 3, '4': 4, '5': 5, '6': 6, '7': 7, '8': 8, '9': 9); + $minus: str-slice($value, 1, 1) == "-"; + $numbers: ("0": 0, "1": 1, "2": 2, "3": 3, "4": 4, "5": 5, "6": 6, "7": 7, "8": 8, "9": 9); @for $i from if($minus, 2, 1) through str-length($value) { $character: str-slice($value, $i, $i); - @if not (index(map-keys($numbers), $character) or $character == '.') { - @return to-length(if($minus, -$result, $result), str-slice($value, $i)) + @if not (index(map-keys($numbers), $character) or $character == ".") { + @return to-length(if($minus, -$result, $result), str-slice($value, $i)); } - @if $character == '.' { + @if $character == "." { $digits: 1; } @else if $digits == 0 { $result: $result * 10 + map-get($numbers, $character); @@ -82,10 +82,10 @@ /// @return {Number} - `$value` expressed in `$unit` /// @function to-length($value, $unit) { - $units: ('px': 1px, 'cm': 1cm, 'mm': 1mm, '%': 1%, 'ch': 1ch, 'pc': 1pc, 'in': 1in, 'em': 1em, 'rem': 1rem, 'pt': 1pt, 'ex': 1ex, 'vw': 1vw, 'vh': 1vh, 'vmin': 1vmin, 'vmax': 1vmax); - + $units: ("px": 1px, "cm": 1cm, "mm": 1mm, "%": 1%, "ch": 1ch, "pc": 1pc, "in": 1in, "em": 1em, "rem": 1rem, "pt": 1pt, "ex": 1ex, "vw": 1vw, "vh": 1vh, "vmin": 1vmin, "vmax": 1vmax); + @if not index(map-keys($units), $unit) { - $_: log('Invalid unit `#{$unit}`.'); + $_: log("Invalid unit `#{$unit}`."); } @return $value * map-get($units, $unit); diff --git a/assets/scss/tools/_theme_focus.scss b/assets/scss/tools/_theme_focus.scss index e42d1be1ce..833a089f5e 100644 --- a/assets/scss/tools/_theme_focus.scss +++ b/assets/scss/tools/_theme_focus.scss @@ -4,7 +4,7 @@ $outline-width: 2px; $outline-style: solid; -$outline-color: #0F7FFF; +$outline-color: #0f7fff; $outline-offset: 1px; input, diff --git a/assets/scss/vendor/jstree/style.scss b/assets/scss/vendor/jstree/style.scss index a04b7639b2..f5002b6e08 100644 --- a/assets/scss/vendor/jstree/style.scss +++ b/assets/scss/vendor/jstree/style.scss @@ -2,1060 +2,1301 @@ .jstree-node, .jstree-children, .jstree-container-ul { - display: block; - margin: 0; - padding: 0; - list-style-type: none; - list-style-image: none; + display: block; + list-style-image: none; + list-style-type: none; + margin: 0; + padding: 0; } + .jstree-node { - white-space: nowrap; + white-space: nowrap; } + .jstree-anchor { - display: inline-block; - color: black; - white-space: nowrap; - padding: 0 4px 0 1px; - margin: 0; - vertical-align: top; + color: black; + display: inline-block; + margin: 0; + padding: 0 4px 0 1px; + vertical-align: top; + white-space: nowrap; } + .jstree-anchor:focus { - outline: 0; + outline: 0; } + .jstree-anchor, .jstree-anchor:link, .jstree-anchor:visited, .jstree-anchor:hover, .jstree-anchor:active { - text-decoration: none; - color: inherit; + color: inherit; + text-decoration: none; } + .jstree-icon { - display: inline-block; - text-decoration: none; - margin: 0; - padding: 0; - vertical-align: top; - text-align: center; -} + display: inline-block; + margin: 0; + padding: 0; + text-align: center; + text-decoration: none; + vertical-align: top; +} + .jstree-icon:empty { - display: inline-block; - text-decoration: none; - margin: 0; - padding: 0; - vertical-align: top; - text-align: center; -} + display: inline-block; + margin: 0; + padding: 0; + text-align: center; + text-decoration: none; + vertical-align: top; +} + .jstree-ocl { - cursor: pointer; + cursor: pointer; } + .jstree-leaf > .jstree-ocl { - cursor: default; + cursor: default; } + .jstree .jstree-open > .jstree-children { - display: block; + display: block; } + .jstree .jstree-closed > .jstree-children, .jstree .jstree-leaf > .jstree-children { - display: none; + display: none; } + .jstree-anchor > .jstree-themeicon { - margin-right: 2px; + margin-right: 2px; } + .jstree-no-icons .jstree-themeicon, .jstree-anchor > .jstree-themeicon-hidden { - display: none; + display: none; } + .jstree-hidden { - display: none; + display: none; } + .jstree-rtl .jstree-anchor { - padding: 0 1px 0 4px; + padding: 0 1px 0 4px; } + .jstree-rtl .jstree-anchor > .jstree-themeicon { - margin-left: 2px; - margin-right: 0; + margin-left: 2px; + margin-right: 0; } + .jstree-rtl .jstree-node { - margin-left: 0; + margin-left: 0; } + .jstree-rtl .jstree-container-ul > .jstree-node { - margin-right: 0; + margin-right: 0; } + .jstree-wholerow-ul { - position: relative; - display: inline-block; - min-width: 100%; + display: inline-block; + min-width: 100%; + position: relative; } + .jstree-wholerow-ul .jstree-leaf > .jstree-ocl { - cursor: pointer; + cursor: pointer; } + .jstree-wholerow-ul .jstree-anchor, .jstree-wholerow-ul .jstree-icon { - position: relative; + position: relative; } + .jstree-wholerow-ul .jstree-wholerow { - width: 100%; - cursor: pointer; - position: absolute; - left: 0; - -webkit-user-select: none; - -moz-user-select: none; - -ms-user-select: none; - user-select: none; -} + cursor: pointer; + left: 0; + position: absolute; + -webkit-user-select: none; + -moz-user-select: none; + -ms-user-select: none; + user-select: none; + width: 100%; +} + .vakata-context { - display: none; + display: none; } + .vakata-context, .vakata-context ul { - margin: 0; - padding: 2px; - position: absolute; - background: #f5f5f5; - border: 1px solid #979797; - box-shadow: 2px 2px 2px #999999; -} + background: #f5f5f5; + border: 1px solid #979797; + box-shadow: 2px 2px 2px #999; + margin: 0; + padding: 2px; + position: absolute; +} + .vakata-context ul { - list-style: none; - left: 100%; - margin-top: -2.7em; - margin-left: -4px; + left: 100%; + list-style: none; + margin-left: -4px; + margin-top: -2.7em; } + .vakata-context .vakata-context-right ul { - left: auto; - right: 100%; - margin-left: auto; - margin-right: -4px; + left: auto; + margin-left: auto; + margin-right: -4px; + right: 100%; } + .vakata-context li { - list-style: none; - display: inline; + display: inline; + list-style: none; } + .vakata-context li > a { - display: block; - padding: 0 2em 0 2em; - text-decoration: none; - width: auto; - color: black; - white-space: nowrap; - line-height: 2.4em; - text-shadow: 1px 1px 0 white; - border-radius: 1px; + border-radius: 1px; + color: black; + display: block; + line-height: 2.4em; + padding: 0 2em; + text-decoration: none; + text-shadow: 1px 1px 0 white; + white-space: nowrap; + width: auto; } + .vakata-context li > a:hover { - position: relative; - background-color: #e8eff7; - box-shadow: 0 0 2px #0a6aa1; + background-color: #e8eff7; + box-shadow: 0 0 2px #0a6aa1; + position: relative; } + .vakata-context li > a.vakata-context-parent { - background-image: url("data:image/gif;base64,R0lGODlhCwAHAIAAACgoKP///yH5BAEAAAEALAAAAAALAAcAAAIORI4JlrqN1oMSnmmZDQUAOw=="); - background-position: right center; - background-repeat: no-repeat; + background-image: url("data:image/gif;base64,R0lGODlhCwAHAIAAACgoKP///yH5BAEAAAEALAAAAAALAAcAAAIORI4JlrqN1oMSnmmZDQUAOw=="); + background-position: right center; + background-repeat: no-repeat; } + .vakata-context li > a:focus { - outline: 0; + outline: 0; } + .vakata-context .vakata-context-hover > a { - position: relative; - background-color: #e8eff7; - box-shadow: 0 0 2px #0a6aa1; + background-color: #e8eff7; + box-shadow: 0 0 2px #0a6aa1; + position: relative; } + .vakata-context .vakata-context-separator > a, .vakata-context .vakata-context-separator > a:hover { - background: white; - border: 0; - border-top: 1px solid #e2e3e3; - height: 1px; - min-height: 1px; - max-height: 1px; - padding: 0; - margin: 0 0 0 2.4em; - border-left: 1px solid #e0e0e0; - text-shadow: 0 0 0 transparent; - box-shadow: 0 0 0 transparent; - border-radius: 0; -} + background: white; + border: 0; + border-left: 1px solid #e0e0e0; + border-radius: 0; + border-top: 1px solid #e2e3e3; + box-shadow: 0 0 0 transparent; + height: 1px; + margin: 0 0 0 2.4em; + max-height: 1px; + min-height: 1px; + padding: 0; + text-shadow: 0 0 0 transparent; +} + .vakata-context .vakata-contextmenu-disabled a, .vakata-context .vakata-contextmenu-disabled a:hover { - color: silver; - background-color: transparent; - border: 0; - box-shadow: 0 0 0; + background-color: transparent; + border: 0; + box-shadow: 0 0 0; + color: silver; } + .vakata-context li > a > i { - text-decoration: none; - display: inline-block; - width: 2.4em; - height: 2.4em; - background: transparent; - margin: 0 0 0 -2em; - vertical-align: top; - text-align: center; - line-height: 2.4em; -} + background: transparent; + display: inline-block; + height: 2.4em; + line-height: 2.4em; + margin: 0 0 0 -2em; + text-align: center; + text-decoration: none; + vertical-align: top; + width: 2.4em; +} + .vakata-context li > a > i:empty { - width: 2.4em; - line-height: 2.4em; + line-height: 2.4em; + width: 2.4em; } + .vakata-context li > a .vakata-contextmenu-sep { - display: inline-block; - width: 1px; - height: 2.4em; - background: white; - margin: 0 0.5em 0 0; - border-left: 1px solid #e2e3e3; -} + background: white; + border-left: 1px solid #e2e3e3; + display: inline-block; + height: 2.4em; + margin: 0 0.5em 0 0; + width: 1px; +} + .vakata-context .vakata-contextmenu-shortcut { - font-size: 0.8em; - color: silver; - opacity: 0.5; - display: none; + color: silver; + display: none; + font-size: 0.8em; + opacity: 0.5; } + .vakata-context-rtl ul { - left: auto; - right: 100%; - margin-left: auto; - margin-right: -4px; + left: auto; + margin-left: auto; + margin-right: -4px; + right: 100%; } + .vakata-context-rtl li > a.vakata-context-parent { - background-image: url("data:image/gif;base64,R0lGODlhCwAHAIAAACgoKP///yH5BAEAAAEALAAAAAALAAcAAAINjI+AC7rWHIsPtmoxLAA7"); - background-position: left center; - background-repeat: no-repeat; + background-image: url("data:image/gif;base64,R0lGODlhCwAHAIAAACgoKP///yH5BAEAAAEALAAAAAALAAcAAAINjI+AC7rWHIsPtmoxLAA7"); + background-position: left center; + background-repeat: no-repeat; } + .vakata-context-rtl .vakata-context-separator > a { - margin: 0 2.4em 0 0; - border-left: 0; - border-right: 1px solid #e2e3e3; + border-left: 0; + border-right: 1px solid #e2e3e3; + margin: 0 2.4em 0 0; } + .vakata-context-rtl .vakata-context-left ul { - right: auto; - left: 100%; - margin-left: -4px; - margin-right: auto; + left: 100%; + margin-left: -4px; + margin-right: auto; + right: auto; } + .vakata-context-rtl li > a > i { - margin: 0 -2em 0 0; + margin: 0 -2em 0 0; } + .vakata-context-rtl li > a .vakata-contextmenu-sep { - margin: 0 0 0 0.5em; - border-left-color: white; - background: #e2e3e3; + background: #e2e3e3; + border-left-color: white; + margin: 0 0 0 0.5em; } + #jstree-marker { - position: absolute; - top: 0; - left: 0; - margin: -5px 0 0 0; - padding: 0; - border-right: 0; - border-top: 5px solid transparent; - border-bottom: 5px solid transparent; - border-left: 5px solid; - width: 0; - height: 0; - font-size: 0; - line-height: 0; -} + border-bottom: 5px solid transparent; + border-left: 5px solid; + border-right: 0; + border-top: 5px solid transparent; + font-size: 0; + height: 0; + left: 0; + line-height: 0; + margin: -5px 0 0; + padding: 0; + position: absolute; + top: 0; + width: 0; +} + #jstree-dnd { - line-height: 16px; - margin: 0; - padding: 4px; + line-height: 16px; + margin: 0; + padding: 4px; } + #jstree-dnd .jstree-icon, #jstree-dnd .jstree-copy { - display: inline-block; - text-decoration: none; - margin: 0 2px 0 0; - padding: 0; - width: 16px; - height: 16px; -} + display: inline-block; + height: 16px; + margin: 0 2px 0 0; + padding: 0; + text-decoration: none; + width: 16px; +} + #jstree-dnd .jstree-ok { - background: green; + background: green; } + #jstree-dnd .jstree-er { - background: red; + background: red; } + #jstree-dnd .jstree-copy { - margin: 0 2px 0 2px; + margin: 0 2px; } + .jstree-default .jstree-node, .jstree-default .jstree-icon { - background-repeat: no-repeat; - background-color: transparent; + background-color: transparent; + background-repeat: no-repeat; } + .jstree-default .jstree-anchor, .jstree-default .jstree-wholerow { - transition: background-color 0.15s, box-shadow 0.15s; + transition: background-color 0.15s, box-shadow 0.15s; } + .jstree-default .jstree-hovered { - background: #e7f4f9; - border-radius: 2px; - box-shadow: inset 0 0 1px #cccccc; + background: #e7f4f9; + border-radius: 2px; + box-shadow: inset 0 0 1px #ccc; } + .jstree-default .jstree-clicked { - background: #beebff; - border-radius: 2px; - box-shadow: inset 0 0 1px #999999; + background: #beebff; + border-radius: 2px; + box-shadow: inset 0 0 1px #999; } + .jstree-default .jstree-no-icons .jstree-anchor > .jstree-themeicon { - display: none; + display: none; } + .jstree-default .jstree-disabled { - background: transparent; - color: #666666; + background: transparent; + color: #666; } + .jstree-default .jstree-disabled.jstree-hovered { - background: transparent; - box-shadow: none; + background: transparent; + box-shadow: none; } + .jstree-default .jstree-disabled.jstree-clicked { - background: #efefef; + background: #efefef; } + .jstree-default .jstree-disabled > .jstree-icon { - opacity: 0.8; - filter: url("data:image/svg+xml;utf8,#jstree-grayscale"); - /* Firefox 10+ */ - filter: gray; - /* IE6-9 */ - -webkit-filter: grayscale(100%); - /* Chrome 19+ & Safari 6+ */ -} + -webkit-filter: grayscale(100%); + /* Chrome 19+ & Safari 6+ */ + filter: url("data:image/svg+xml;utf8,#jstree-grayscale"); + /* Firefox 10+ */ + filter: gray; + /* IE6-9 */ + opacity: 0.8; +} + .jstree-default .jstree-search { - font-style: italic; - color: #8b0000; - font-weight: bold; + color: #8b0000; + font-style: italic; + font-weight: bold; } + .jstree-default .jstree-no-checkboxes .jstree-checkbox { - display: none !important; + display: none !important; } + .jstree-default.jstree-checkbox-no-clicked .jstree-clicked { - background: transparent; - box-shadow: none; + background: transparent; + box-shadow: none; } + .jstree-default.jstree-checkbox-no-clicked .jstree-clicked.jstree-hovered { - background: #e7f4f9; + background: #e7f4f9; } + .jstree-default.jstree-checkbox-no-clicked > .jstree-wholerow-ul .jstree-wholerow-clicked { - background: transparent; + background: transparent; } + .jstree-default.jstree-checkbox-no-clicked > .jstree-wholerow-ul .jstree-wholerow-clicked.jstree-wholerow-hovered { - background: #e7f4f9; + background: #e7f4f9; } + .jstree-default > .jstree-striped { - min-width: 100%; - display: inline-block; - background: url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAEAAAAkCAMAAAB/qqA+AAAABlBMVEUAAAAAAAClZ7nPAAAAAnRSTlMNAMM9s3UAAAAXSURBVHjajcEBAQAAAIKg/H/aCQZ70AUBjAATb6YPDgAAAABJRU5ErkJggg==") left top repeat; + background: url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAEAAAAkCAMAAAB/qqA+AAAABlBMVEUAAAAAAAClZ7nPAAAAAnRSTlMNAMM9s3UAAAAXSURBVHjajcEBAQAAAIKg/H/aCQZ70AUBjAATb6YPDgAAAABJRU5ErkJggg==") left top repeat; + display: inline-block; + min-width: 100%; } + .jstree-default > .jstree-wholerow-ul .jstree-hovered, .jstree-default > .jstree-wholerow-ul .jstree-clicked { - background: transparent; - box-shadow: none; - border-radius: 0; + background: transparent; + border-radius: 0; + box-shadow: none; } + .jstree-default .jstree-wholerow { - -moz-box-sizing: border-box; - -webkit-box-sizing: border-box; - box-sizing: border-box; + -moz-box-sizing: border-box; + -webkit-box-sizing: border-box; + box-sizing: border-box; } + .jstree-default .jstree-wholerow-hovered { - background: #e7f4f9; + background: #e7f4f9; } + .jstree-default .jstree-wholerow-clicked { - background: #beebff; - background: -webkit-linear-gradient(top, #beebff 0%, #a8e4ff 100%); - background: linear-gradient(to bottom, #beebff 0%, #a8e4ff 100%); + background: #beebff; + background: -webkit-linear-gradient(top, #beebff 0%, #a8e4ff 100%); + background: linear-gradient(to bottom, #beebff 0%, #a8e4ff 100%); } + .jstree-default .jstree-node { - min-height: 24px; - line-height: 24px; - margin-left: 24px; - min-width: 24px; + line-height: 24px; + margin-left: 24px; + min-height: 24px; + min-width: 24px; } + .jstree-default .jstree-anchor { - line-height: 24px; - height: 24px; + height: 24px; + line-height: 24px; } + .jstree-default .jstree-icon { - width: 24px; - height: 24px; - line-height: 24px; + height: 24px; + line-height: 24px; + width: 24px; } + .jstree-default .jstree-icon:empty { - width: 24px; - height: 24px; - line-height: 24px; + height: 24px; + line-height: 24px; + width: 24px; } + .jstree-default.jstree-rtl .jstree-node { - margin-right: 24px; + margin-right: 24px; } + .jstree-default .jstree-wholerow { - height: 24px; + height: 24px; } + .jstree-default .jstree-node, .jstree-default .jstree-icon { - background-image: url("../img/vendor/jstree/32px.png"); + background-image: url("../img/vendor/jstree/32px.png"); } + .jstree-default .jstree-node { - background-position: -292px -4px; - background-repeat: repeat-y; + background-position: -292px -4px; + background-repeat: repeat-y; } + .jstree-default .jstree-last { - background: transparent; + background: transparent; } + .jstree-default .jstree-open > .jstree-ocl { - background-position: -132px -4px; + background-position: -132px -4px; } + .jstree-default .jstree-closed > .jstree-ocl { - background-position: -100px -4px; + background-position: -100px -4px; } + .jstree-default .jstree-leaf > .jstree-ocl { - background-position: -68px -4px; + background-position: -68px -4px; } + .jstree-default .jstree-themeicon { - background-position: -260px -4px; + background-position: -260px -4px; } + .jstree-default > .jstree-no-dots .jstree-node, .jstree-default > .jstree-no-dots .jstree-leaf > .jstree-ocl { - background: transparent; + background: transparent; } + .jstree-default > .jstree-no-dots .jstree-open > .jstree-ocl { - background-position: -36px -4px; + background-position: -36px -4px; } + .jstree-default > .jstree-no-dots .jstree-closed > .jstree-ocl { - background-position: -4px -4px; + background-position: -4px -4px; } + .jstree-default .jstree-disabled { - background: transparent; + background: transparent; } + .jstree-default .jstree-disabled.jstree-hovered { - background: transparent; + background: transparent; } + .jstree-default .jstree-disabled.jstree-clicked { - background: #efefef; + background: #efefef; } + .jstree-default .jstree-checkbox { - background-position: -164px -4px; + background-position: -164px -4px; } + .jstree-default .jstree-checkbox:hover { - background-position: -164px -36px; + background-position: -164px -36px; } + .jstree-default.jstree-checkbox-selection .jstree-clicked > .jstree-checkbox, .jstree-default .jstree-checked > .jstree-checkbox { - background-position: -228px -4px; + background-position: -228px -4px; } + .jstree-default.jstree-checkbox-selection .jstree-clicked > .jstree-checkbox:hover, .jstree-default .jstree-checked > .jstree-checkbox:hover { - background-position: -228px -36px; + background-position: -228px -36px; } + .jstree-default .jstree-anchor > .jstree-undetermined { - background-position: -196px -4px; + background-position: -196px -4px; } + .jstree-default .jstree-anchor > .jstree-undetermined:hover { - background-position: -196px -36px; + background-position: -196px -36px; } + .jstree-default .jstree-checkbox-disabled { - opacity: 0.8; - filter: url("data:image/svg+xml;utf8,#jstree-grayscale"); - /* Firefox 10+ */ - filter: gray; - /* IE6-9 */ - -webkit-filter: grayscale(100%); - /* Chrome 19+ & Safari 6+ */ -} + -webkit-filter: grayscale(100%); + /* Chrome 19+ & Safari 6+ */ + filter: url("data:image/svg+xml;utf8,#jstree-grayscale"); + /* Firefox 10+ */ + filter: gray; + /* IE6-9 */ + opacity: 0.8; +} + .jstree-default > .jstree-striped { - background-size: auto 48px; + background-size: auto 48px; } + .jstree-default.jstree-rtl .jstree-node { - background-image: url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABgAAAACAQMAAAB49I5GAAAABlBMVEUAAAAdHRvEkCwcAAAAAXRSTlMAQObYZgAAAAxJREFUCNdjAAMOBgAAGAAJMwQHdQAAAABJRU5ErkJggg=="); - background-position: 100% 1px; - background-repeat: repeat-y; + background-image: url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABgAAAACAQMAAAB49I5GAAAABlBMVEUAAAAdHRvEkCwcAAAAAXRSTlMAQObYZgAAAAxJREFUCNdjAAMOBgAAGAAJMwQHdQAAAABJRU5ErkJggg=="); + background-position: 100% 1px; + background-repeat: repeat-y; } + .jstree-default.jstree-rtl .jstree-last { - background: transparent; + background: transparent; } + .jstree-default.jstree-rtl .jstree-open > .jstree-ocl { - background-position: -132px -36px; + background-position: -132px -36px; } + .jstree-default.jstree-rtl .jstree-closed > .jstree-ocl { - background-position: -100px -36px; + background-position: -100px -36px; } + .jstree-default.jstree-rtl .jstree-leaf > .jstree-ocl { - background-position: -68px -36px; + background-position: -68px -36px; } + .jstree-default.jstree-rtl > .jstree-no-dots .jstree-node, .jstree-default.jstree-rtl > .jstree-no-dots .jstree-leaf > .jstree-ocl { - background: transparent; + background: transparent; } + .jstree-default.jstree-rtl > .jstree-no-dots .jstree-open > .jstree-ocl { - background-position: -36px -36px; + background-position: -36px -36px; } + .jstree-default.jstree-rtl > .jstree-no-dots .jstree-closed > .jstree-ocl { - background-position: -4px -36px; + background-position: -4px -36px; } + .jstree-default .jstree-themeicon-custom { - background-color: transparent; - background-image: none; - background-position: 0 0; + background-color: transparent; + background-image: none; + background-position: 0 0; } + .jstree-default > .jstree-container-ul .jstree-loading > .jstree-ocl { - background: url("../img/vendor/jstree/throbber.gif") center center no-repeat; + background: url("../img/vendor/jstree/throbber.gif") center center no-repeat; } + .jstree-default .jstree-file { - background: url("../img/vendor/jstree/32px.png") -100px -68px no-repeat; + background: url("../img/vendor/jstree/32px.png") -100px -68px no-repeat; } + .jstree-default .jstree-folder { - background: url("../img/vendor/jstree/32px.png") -260px -4px no-repeat; + background: url("../img/vendor/jstree/32px.png") -260px -4px no-repeat; } + .jstree-default > .jstree-container-ul > .jstree-node { - margin-left: 0; - margin-right: 0; + margin-left: 0; + margin-right: 0; } + #jstree-dnd.jstree-default { - line-height: 24px; - padding: 0 4px; + line-height: 24px; + padding: 0 4px; } + #jstree-dnd.jstree-default .jstree-ok, #jstree-dnd.jstree-default .jstree-er { - background-image: url("../img/vendor/jstree/32px.png"); - background-repeat: no-repeat; - background-color: transparent; + background-color: transparent; + background-image: url("../img/vendor/jstree/32px.png"); + background-repeat: no-repeat; } + #jstree-dnd.jstree-default i { - background: transparent; - width: 24px; - height: 24px; - line-height: 24px; + background: transparent; + height: 24px; + line-height: 24px; + width: 24px; } + #jstree-dnd.jstree-default .jstree-ok { - background-position: -4px -68px; + background-position: -4px -68px; } + #jstree-dnd.jstree-default .jstree-er { - background-position: -36px -68px; + background-position: -36px -68px; } + .jstree-default.jstree-rtl .jstree-node { - background-image: url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABgAAAACAQMAAAB49I5GAAAABlBMVEUAAAAdHRvEkCwcAAAAAXRSTlMAQObYZgAAAAxJREFUCNdjAAMOBgAAGAAJMwQHdQAAAABJRU5ErkJggg=="); + background-image: url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABgAAAACAQMAAAB49I5GAAAABlBMVEUAAAAdHRvEkCwcAAAAAXRSTlMAQObYZgAAAAxJREFUCNdjAAMOBgAAGAAJMwQHdQAAAABJRU5ErkJggg=="); } + .jstree-default.jstree-rtl .jstree-last { - background: transparent; + background: transparent; } + .jstree-default-small .jstree-node { - min-height: 18px; - line-height: 18px; - margin-left: 18px; - min-width: 18px; + line-height: 18px; + margin-left: 18px; + min-height: 18px; + min-width: 18px; } + .jstree-default-small .jstree-anchor { - line-height: 18px; - height: 18px; + height: 18px; + line-height: 18px; } + .jstree-default-small .jstree-icon { - width: 18px; - height: 18px; - line-height: 18px; + height: 18px; + line-height: 18px; + width: 18px; } + .jstree-default-small .jstree-icon:empty { - width: 18px; - height: 18px; - line-height: 18px; + height: 18px; + line-height: 18px; + width: 18px; } + .jstree-default-small.jstree-rtl .jstree-node { - margin-right: 18px; + margin-right: 18px; } + .jstree-default-small .jstree-wholerow { - height: 18px; + height: 18px; } + .jstree-default-small .jstree-node, .jstree-default-small .jstree-icon { - background-image: url("../img/vendor/jstree/32px.png"); + background-image: url("../img/vendor/jstree/32px.png"); } + .jstree-default-small .jstree-node { - background-position: -295px -7px; - background-repeat: repeat-y; + background-position: -295px -7px; + background-repeat: repeat-y; } + .jstree-default-small .jstree-last { - background: transparent; + background: transparent; } + .jstree-default-small .jstree-open > .jstree-ocl { - background-position: -135px -7px; + background-position: -135px -7px; } + .jstree-default-small .jstree-closed > .jstree-ocl { - background-position: -103px -7px; + background-position: -103px -7px; } + .jstree-default-small .jstree-leaf > .jstree-ocl { - background-position: -71px -7px; + background-position: -71px -7px; } + .jstree-default-small .jstree-themeicon { - background-position: -263px -7px; + background-position: -263px -7px; } + .jstree-default-small > .jstree-no-dots .jstree-node, .jstree-default-small > .jstree-no-dots .jstree-leaf > .jstree-ocl { - background: transparent; + background: transparent; } + .jstree-default-small > .jstree-no-dots .jstree-open > .jstree-ocl { - background-position: -39px -7px; + background-position: -39px -7px; } + .jstree-default-small > .jstree-no-dots .jstree-closed > .jstree-ocl { - background-position: -7px -7px; + background-position: -7px -7px; } + .jstree-default-small .jstree-disabled { - background: transparent; + background: transparent; } + .jstree-default-small .jstree-disabled.jstree-hovered { - background: transparent; + background: transparent; } + .jstree-default-small .jstree-disabled.jstree-clicked { - background: #efefef; + background: #efefef; } + .jstree-default-small .jstree-checkbox { - background-position: -167px -7px; + background-position: -167px -7px; } + .jstree-default-small .jstree-checkbox:hover { - background-position: -167px -39px; + background-position: -167px -39px; } + .jstree-default-small.jstree-checkbox-selection .jstree-clicked > .jstree-checkbox, .jstree-default-small .jstree-checked > .jstree-checkbox { - background-position: -231px -7px; + background-position: -231px -7px; } + .jstree-default-small.jstree-checkbox-selection .jstree-clicked > .jstree-checkbox:hover, .jstree-default-small .jstree-checked > .jstree-checkbox:hover { - background-position: -231px -39px; + background-position: -231px -39px; } + .jstree-default-small .jstree-anchor > .jstree-undetermined { - background-position: -199px -7px; + background-position: -199px -7px; } + .jstree-default-small .jstree-anchor > .jstree-undetermined:hover { - background-position: -199px -39px; + background-position: -199px -39px; } + .jstree-default-small .jstree-checkbox-disabled { - opacity: 0.8; - filter: url("data:image/svg+xml;utf8,#jstree-grayscale"); - /* Firefox 10+ */ - filter: gray; - /* IE6-9 */ - -webkit-filter: grayscale(100%); - /* Chrome 19+ & Safari 6+ */ -} + -webkit-filter: grayscale(100%); + /* Chrome 19+ & Safari 6+ */ + filter: url("data:image/svg+xml;utf8,#jstree-grayscale"); + /* Firefox 10+ */ + filter: gray; + /* IE6-9 */ + opacity: 0.8; +} + .jstree-default-small > .jstree-striped { - background-size: auto 36px; + background-size: auto 36px; } + .jstree-default-small.jstree-rtl .jstree-node { - background-image: url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABgAAAACAQMAAAB49I5GAAAABlBMVEUAAAAdHRvEkCwcAAAAAXRSTlMAQObYZgAAAAxJREFUCNdjAAMOBgAAGAAJMwQHdQAAAABJRU5ErkJggg=="); - background-position: 100% 1px; - background-repeat: repeat-y; + background-image: url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABgAAAACAQMAAAB49I5GAAAABlBMVEUAAAAdHRvEkCwcAAAAAXRSTlMAQObYZgAAAAxJREFUCNdjAAMOBgAAGAAJMwQHdQAAAABJRU5ErkJggg=="); + background-position: 100% 1px; + background-repeat: repeat-y; } + .jstree-default-small.jstree-rtl .jstree-last { - background: transparent; + background: transparent; } + .jstree-default-small.jstree-rtl .jstree-open > .jstree-ocl { - background-position: -135px -39px; + background-position: -135px -39px; } + .jstree-default-small.jstree-rtl .jstree-closed > .jstree-ocl { - background-position: -103px -39px; + background-position: -103px -39px; } + .jstree-default-small.jstree-rtl .jstree-leaf > .jstree-ocl { - background-position: -71px -39px; + background-position: -71px -39px; } + .jstree-default-small.jstree-rtl > .jstree-no-dots .jstree-node, .jstree-default-small.jstree-rtl > .jstree-no-dots .jstree-leaf > .jstree-ocl { - background: transparent; + background: transparent; } + .jstree-default-small.jstree-rtl > .jstree-no-dots .jstree-open > .jstree-ocl { - background-position: -39px -39px; + background-position: -39px -39px; } + .jstree-default-small.jstree-rtl > .jstree-no-dots .jstree-closed > .jstree-ocl { - background-position: -7px -39px; + background-position: -7px -39px; } + .jstree-default-small .jstree-themeicon-custom { - background-color: transparent; - background-image: none; - background-position: 0 0; + background-color: transparent; + background-image: none; + background-position: 0 0; } + .jstree-default-small > .jstree-container-ul .jstree-loading > .jstree-ocl { - background: url("../img/vendor/jstree/throbber.gif") center center no-repeat; + background: url("../img/vendor/jstree/throbber.gif") center center no-repeat; } + .jstree-default-small .jstree-file { - background: url("../img/vendor/jstree/32px.png") -103px -71px no-repeat; + background: url("../img/vendor/jstree/32px.png") -103px -71px no-repeat; } + .jstree-default-small .jstree-folder { - background: url("../img/vendor/jstree/32px.png") -263px -7px no-repeat; + background: url("../img/vendor/jstree/32px.png") -263px -7px no-repeat; } + .jstree-default-small > .jstree-container-ul > .jstree-node { - margin-left: 0; - margin-right: 0; + margin-left: 0; + margin-right: 0; } + #jstree-dnd.jstree-default-small { - line-height: 18px; - padding: 0 4px; + line-height: 18px; + padding: 0 4px; } + #jstree-dnd.jstree-default-small .jstree-ok, #jstree-dnd.jstree-default-small .jstree-er { - background-image: url("../img/vendor/jstree/32px.png"); - background-repeat: no-repeat; - background-color: transparent; + background-color: transparent; + background-image: url("../img/vendor/jstree/32px.png"); + background-repeat: no-repeat; } + #jstree-dnd.jstree-default-small i { - background: transparent; - width: 18px; - height: 18px; - line-height: 18px; + background: transparent; + height: 18px; + line-height: 18px; + width: 18px; } + #jstree-dnd.jstree-default-small .jstree-ok { - background-position: -7px -71px; + background-position: -7px -71px; } + #jstree-dnd.jstree-default-small .jstree-er { - background-position: -39px -71px; + background-position: -39px -71px; } + .jstree-default-small.jstree-rtl .jstree-node { - background-image: url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABIAAAACAQMAAABv1h6PAAAABlBMVEUAAAAdHRvEkCwcAAAAAXRSTlMAQObYZgAAAAxJREFUCNdjAAMHBgAAiABBI4gz9AAAAABJRU5ErkJggg=="); + background-image: url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABIAAAACAQMAAABv1h6PAAAABlBMVEUAAAAdHRvEkCwcAAAAAXRSTlMAQObYZgAAAAxJREFUCNdjAAMHBgAAiABBI4gz9AAAAABJRU5ErkJggg=="); } + .jstree-default-small.jstree-rtl .jstree-last { - background: transparent; + background: transparent; } + .jstree-default-large .jstree-node { - min-height: 32px; - line-height: 32px; - margin-left: 32px; - min-width: 32px; + line-height: 32px; + margin-left: 32px; + min-height: 32px; + min-width: 32px; } + .jstree-default-large .jstree-anchor { - line-height: 32px; - height: 32px; + height: 32px; + line-height: 32px; } + .jstree-default-large .jstree-icon { - width: 32px; - height: 32px; - line-height: 32px; + height: 32px; + line-height: 32px; + width: 32px; } + .jstree-default-large .jstree-icon:empty { - width: 32px; - height: 32px; - line-height: 32px; + height: 32px; + line-height: 32px; + width: 32px; } + .jstree-default-large.jstree-rtl .jstree-node { - margin-right: 32px; + margin-right: 32px; } + .jstree-default-large .jstree-wholerow { - height: 32px; + height: 32px; } + .jstree-default-large .jstree-node, .jstree-default-large .jstree-icon { - background-image: url("../img/vendor/jstree/32px.png"); + background-image: url("../img/vendor/jstree/32px.png"); } + .jstree-default-large .jstree-node { - background-position: -288px 0px; - background-repeat: repeat-y; + background-position: -288px 0; + background-repeat: repeat-y; } + .jstree-default-large .jstree-last { - background: transparent; + background: transparent; } + .jstree-default-large .jstree-open > .jstree-ocl { - background-position: -128px 0px; + background-position: -128px 0; } + .jstree-default-large .jstree-closed > .jstree-ocl { - background-position: -96px 0px; + background-position: -96px 0; } + .jstree-default-large .jstree-leaf > .jstree-ocl { - background-position: -64px 0px; + background-position: -64px 0; } + .jstree-default-large .jstree-themeicon { - background-position: -256px 0px; + background-position: -256px 0; } + .jstree-default-large > .jstree-no-dots .jstree-node, .jstree-default-large > .jstree-no-dots .jstree-leaf > .jstree-ocl { - background: transparent; + background: transparent; } + .jstree-default-large > .jstree-no-dots .jstree-open > .jstree-ocl { - background-position: -32px 0px; + background-position: -32px 0; } + .jstree-default-large > .jstree-no-dots .jstree-closed > .jstree-ocl { - background-position: 0px 0px; + background-position: 0 0; } + .jstree-default-large .jstree-disabled { - background: transparent; + background: transparent; } + .jstree-default-large .jstree-disabled.jstree-hovered { - background: transparent; + background: transparent; } + .jstree-default-large .jstree-disabled.jstree-clicked { - background: #efefef; + background: #efefef; } + .jstree-default-large .jstree-checkbox { - background-position: -160px 0px; + background-position: -160px 0; } + .jstree-default-large .jstree-checkbox:hover { - background-position: -160px -32px; + background-position: -160px -32px; } + .jstree-default-large.jstree-checkbox-selection .jstree-clicked > .jstree-checkbox, .jstree-default-large .jstree-checked > .jstree-checkbox { - background-position: -224px 0px; + background-position: -224px 0; } + .jstree-default-large.jstree-checkbox-selection .jstree-clicked > .jstree-checkbox:hover, .jstree-default-large .jstree-checked > .jstree-checkbox:hover { - background-position: -224px -32px; + background-position: -224px -32px; } + .jstree-default-large .jstree-anchor > .jstree-undetermined { - background-position: -192px 0px; + background-position: -192px 0; } + .jstree-default-large .jstree-anchor > .jstree-undetermined:hover { - background-position: -192px -32px; + background-position: -192px -32px; } + .jstree-default-large .jstree-checkbox-disabled { - opacity: 0.8; - filter: url("data:image/svg+xml;utf8,#jstree-grayscale"); - /* Firefox 10+ */ - filter: gray; - /* IE6-9 */ - -webkit-filter: grayscale(100%); - /* Chrome 19+ & Safari 6+ */ -} + -webkit-filter: grayscale(100%); + /* Chrome 19+ & Safari 6+ */ + filter: url("data:image/svg+xml;utf8,#jstree-grayscale"); + /* Firefox 10+ */ + filter: gray; + /* IE6-9 */ + opacity: 0.8; +} + .jstree-default-large > .jstree-striped { - background-size: auto 64px; + background-size: auto 64px; } + .jstree-default-large.jstree-rtl .jstree-node { - background-image: url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABgAAAACAQMAAAB49I5GAAAABlBMVEUAAAAdHRvEkCwcAAAAAXRSTlMAQObYZgAAAAxJREFUCNdjAAMOBgAAGAAJMwQHdQAAAABJRU5ErkJggg=="); - background-position: 100% 1px; - background-repeat: repeat-y; + background-image: url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABgAAAACAQMAAAB49I5GAAAABlBMVEUAAAAdHRvEkCwcAAAAAXRSTlMAQObYZgAAAAxJREFUCNdjAAMOBgAAGAAJMwQHdQAAAABJRU5ErkJggg=="); + background-position: 100% 1px; + background-repeat: repeat-y; } + .jstree-default-large.jstree-rtl .jstree-last { - background: transparent; + background: transparent; } + .jstree-default-large.jstree-rtl .jstree-open > .jstree-ocl { - background-position: -128px -32px; + background-position: -128px -32px; } + .jstree-default-large.jstree-rtl .jstree-closed > .jstree-ocl { - background-position: -96px -32px; + background-position: -96px -32px; } + .jstree-default-large.jstree-rtl .jstree-leaf > .jstree-ocl { - background-position: -64px -32px; + background-position: -64px -32px; } + .jstree-default-large.jstree-rtl > .jstree-no-dots .jstree-node, .jstree-default-large.jstree-rtl > .jstree-no-dots .jstree-leaf > .jstree-ocl { - background: transparent; + background: transparent; } + .jstree-default-large.jstree-rtl > .jstree-no-dots .jstree-open > .jstree-ocl { - background-position: -32px -32px; + background-position: -32px -32px; } + .jstree-default-large.jstree-rtl > .jstree-no-dots .jstree-closed > .jstree-ocl { - background-position: 0px -32px; + background-position: 0 -32px; } + .jstree-default-large .jstree-themeicon-custom { - background-color: transparent; - background-image: none; - background-position: 0 0; + background-color: transparent; + background-image: none; + background-position: 0 0; } + .jstree-default-large > .jstree-container-ul .jstree-loading > .jstree-ocl { - background: url("../img/vendor/jstree/throbber.gif") center center no-repeat; + background: url("../img/vendor/jstree/throbber.gif") center center no-repeat; } + .jstree-default-large .jstree-file { - background: url("../img/vendor/jstree/32px.png") -96px -64px no-repeat; + background: url("../img/vendor/jstree/32px.png") -96px -64px no-repeat; } + .jstree-default-large .jstree-folder { - background: url("../img/vendor/jstree/32px.png") -256px 0px no-repeat; + background: url("../img/vendor/jstree/32px.png") -256px 0 no-repeat; } + .jstree-default-large > .jstree-container-ul > .jstree-node { - margin-left: 0; - margin-right: 0; + margin-left: 0; + margin-right: 0; } + #jstree-dnd.jstree-default-large { - line-height: 32px; - padding: 0 4px; + line-height: 32px; + padding: 0 4px; } + #jstree-dnd.jstree-default-large .jstree-ok, #jstree-dnd.jstree-default-large .jstree-er { - background-image: url("../img/vendor/jstree/32px.png"); - background-repeat: no-repeat; - background-color: transparent; + background-color: transparent; + background-image: url("../img/vendor/jstree/32px.png"); + background-repeat: no-repeat; } + #jstree-dnd.jstree-default-large i { - background: transparent; - width: 32px; - height: 32px; - line-height: 32px; + background: transparent; + height: 32px; + line-height: 32px; + width: 32px; } + #jstree-dnd.jstree-default-large .jstree-ok { - background-position: 0px -64px; + background-position: 0 -64px; } + #jstree-dnd.jstree-default-large .jstree-er { - background-position: -32px -64px; + background-position: -32px -64px; } + .jstree-default-large.jstree-rtl .jstree-node { - background-image: url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACAAAAACAQMAAAAD0EyKAAAABlBMVEUAAAAdHRvEkCwcAAAAAXRSTlMAQObYZgAAAAxJREFUCNdjgIIGBgABCgCBvVLXcAAAAABJRU5ErkJggg=="); + background-image: url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACAAAAACAQMAAAAD0EyKAAAABlBMVEUAAAAdHRvEkCwcAAAAAXRSTlMAQObYZgAAAAxJREFUCNdjgIIGBgABCgCBvVLXcAAAAABJRU5ErkJggg=="); } + .jstree-default-large.jstree-rtl .jstree-last { - background: transparent; + background: transparent; } @media (max-width: 768px) { - #jstree-dnd.jstree-dnd-responsive { - line-height: 40px; - font-weight: bold; - font-size: 1.1em; - text-shadow: 1px 1px white; - } - #jstree-dnd.jstree-dnd-responsive > i { - background: transparent; - width: 40px; - height: 40px; - } - #jstree-dnd.jstree-dnd-responsive > .jstree-ok { - background-image: url("../img/vendor/jstree/40px.png"); - background-position: 0 -200px; - background-size: 120px 240px; - } - #jstree-dnd.jstree-dnd-responsive > .jstree-er { - background-image: url("../img/vendor/jstree/40px.png"); - background-position: -40px -200px; - background-size: 120px 240px; - } - #jstree-marker.jstree-dnd-responsive { - border-left-width: 10px; - border-top-width: 10px; - border-bottom-width: 10px; - margin-top: -10px; - } + #jstree-dnd.jstree-dnd-responsive { + font-size: 1.1em; + font-weight: bold; + line-height: 40px; + text-shadow: 1px 1px white; + } + + #jstree-dnd.jstree-dnd-responsive > i { + background: transparent; + height: 40px; + width: 40px; + } + + #jstree-dnd.jstree-dnd-responsive > .jstree-ok { + background-image: url("../img/vendor/jstree/40px.png"); + background-position: 0 -200px; + background-size: 120px 240px; + } + + #jstree-dnd.jstree-dnd-responsive > .jstree-er { + background-image: url("../img/vendor/jstree/40px.png"); + background-position: -40px -200px; + background-size: 120px 240px; + } + + #jstree-marker.jstree-dnd-responsive { + border-bottom-width: 10px; + border-left-width: 10px; + border-top-width: 10px; + margin-top: -10px; + } } @media (max-width: 768px) { - .jstree-default-responsive { - /* - .jstree-open > .jstree-ocl, - .jstree-closed > .jstree-ocl { border-radius:20px; background-color:white; } - */ - } - .jstree-default-responsive .jstree-icon { - background-image: url("../img/vendor/jstree/40px.png"); - } - .jstree-default-responsive .jstree-node, - .jstree-default-responsive .jstree-leaf > .jstree-ocl { - background: transparent; - } - .jstree-default-responsive .jstree-node { - min-height: 40px; - line-height: 40px; - margin-left: 40px; - min-width: 40px; - white-space: nowrap; - } - .jstree-default-responsive .jstree-anchor { - line-height: 40px; - height: 40px; - } - .jstree-default-responsive .jstree-icon, - .jstree-default-responsive .jstree-icon:empty { - width: 40px; - height: 40px; - line-height: 40px; - } - .jstree-default-responsive > .jstree-container-ul > .jstree-node { - margin-left: 0; - } - .jstree-default-responsive.jstree-rtl .jstree-node { - margin-left: 0; - margin-right: 40px; - } - .jstree-default-responsive.jstree-rtl .jstree-container-ul > .jstree-node { - margin-right: 0; - } - .jstree-default-responsive .jstree-ocl, - .jstree-default-responsive .jstree-themeicon, - .jstree-default-responsive .jstree-checkbox { - background-size: 120px 240px; - } - .jstree-default-responsive .jstree-leaf > .jstree-ocl { - background: transparent; - } - .jstree-default-responsive .jstree-open > .jstree-ocl { - background-position: 0 0px !important; - } - .jstree-default-responsive .jstree-closed > .jstree-ocl { - background-position: 0 -40px !important; - } - .jstree-default-responsive.jstree-rtl .jstree-closed > .jstree-ocl { - background-position: -40px 0px !important; - } - .jstree-default-responsive .jstree-themeicon { - background-position: -40px -40px; - } - .jstree-default-responsive .jstree-checkbox, - .jstree-default-responsive .jstree-checkbox:hover { - background-position: -40px -80px; - } - .jstree-default-responsive.jstree-checkbox-selection .jstree-clicked > .jstree-checkbox, - .jstree-default-responsive.jstree-checkbox-selection .jstree-clicked > .jstree-checkbox:hover, - .jstree-default-responsive .jstree-checked > .jstree-checkbox, - .jstree-default-responsive .jstree-checked > .jstree-checkbox:hover { - background-position: 0 -80px; - } - .jstree-default-responsive .jstree-anchor > .jstree-undetermined, - .jstree-default-responsive .jstree-anchor > .jstree-undetermined:hover { - background-position: 0 -120px; - } - .jstree-default-responsive .jstree-anchor { - font-weight: bold; - font-size: 1.1em; - text-shadow: 1px 1px white; - } - .jstree-default-responsive > .jstree-striped { - background: transparent; - } - .jstree-default-responsive .jstree-wholerow { - border-top: 1px solid rgba(255, 255, 255, 0.7); - border-bottom: 1px solid rgba(64, 64, 64, 0.2); - background: #ebebeb; - height: 40px; - } - .jstree-default-responsive .jstree-wholerow-hovered { - background: #e7f4f9; - } - .jstree-default-responsive .jstree-wholerow-clicked { - background: #beebff; - } - .jstree-default-responsive .jstree-children .jstree-last > .jstree-wholerow { - box-shadow: inset 0 -6px 3px -5px #666666; - } - .jstree-default-responsive .jstree-children .jstree-open > .jstree-wholerow { - box-shadow: inset 0 6px 3px -5px #666666; - border-top: 0; - } - .jstree-default-responsive .jstree-children .jstree-open + .jstree-open { - box-shadow: none; - } - .jstree-default-responsive .jstree-node, - .jstree-default-responsive .jstree-icon, - .jstree-default-responsive .jstree-node > .jstree-ocl, - .jstree-default-responsive .jstree-themeicon, - .jstree-default-responsive .jstree-checkbox { - background-image: url("../img/vendor/jstree/40px.png"); - background-size: 120px 240px; - } - .jstree-default-responsive .jstree-node { - background-position: -80px 0; - background-repeat: repeat-y; - } - .jstree-default-responsive .jstree-last { - background: transparent; - } - .jstree-default-responsive .jstree-leaf > .jstree-ocl { - background-position: -40px -120px; - } - .jstree-default-responsive .jstree-last > .jstree-ocl { - background-position: -40px -160px; - } - .jstree-default-responsive .jstree-themeicon-custom { - background-color: transparent; - background-image: none; - background-position: 0 0; - } - .jstree-default-responsive .jstree-file { - background: url("../img/vendor/jstree/40px.png") 0 -160px no-repeat; - background-size: 120px 240px; - } - .jstree-default-responsive .jstree-folder { - background: url("../img/vendor/jstree/40px.png") -40px -40px no-repeat; - background-size: 120px 240px; - } - .jstree-default-responsive > .jstree-container-ul > .jstree-node { - margin-left: 0; - margin-right: 0; - } + .jstree-default-responsive .jstree-icon { + background-image: url("../img/vendor/jstree/40px.png"); + } + + .jstree-default-responsive .jstree-node, + .jstree-default-responsive .jstree-leaf > .jstree-ocl { + background: transparent; + } + + .jstree-default-responsive .jstree-node { + line-height: 40px; + margin-left: 40px; + min-height: 40px; + min-width: 40px; + white-space: nowrap; + } + + .jstree-default-responsive .jstree-anchor { + height: 40px; + line-height: 40px; + } + + .jstree-default-responsive .jstree-icon, + .jstree-default-responsive .jstree-icon:empty { + height: 40px; + line-height: 40px; + width: 40px; + } + + .jstree-default-responsive > .jstree-container-ul > .jstree-node { + margin-left: 0; + } + + .jstree-default-responsive.jstree-rtl .jstree-node { + margin-left: 0; + margin-right: 40px; + } + + .jstree-default-responsive.jstree-rtl .jstree-container-ul > .jstree-node { + margin-right: 0; + } + + .jstree-default-responsive .jstree-ocl, + .jstree-default-responsive .jstree-themeicon, + .jstree-default-responsive .jstree-checkbox { + background-size: 120px 240px; + } + + .jstree-default-responsive .jstree-leaf > .jstree-ocl { + background: transparent; + } + + .jstree-default-responsive .jstree-open > .jstree-ocl { + background-position: 0 0 !important; + } + + .jstree-default-responsive .jstree-closed > .jstree-ocl { + background-position: 0 -40px !important; + } + + .jstree-default-responsive.jstree-rtl .jstree-closed > .jstree-ocl { + background-position: -40px 0 !important; + } + + .jstree-default-responsive .jstree-themeicon { + background-position: -40px -40px; + } + + .jstree-default-responsive .jstree-checkbox, + .jstree-default-responsive .jstree-checkbox:hover { + background-position: -40px -80px; + } + + .jstree-default-responsive.jstree-checkbox-selection .jstree-clicked > .jstree-checkbox, + .jstree-default-responsive.jstree-checkbox-selection .jstree-clicked > .jstree-checkbox:hover, + .jstree-default-responsive .jstree-checked > .jstree-checkbox, + .jstree-default-responsive .jstree-checked > .jstree-checkbox:hover { + background-position: 0 -80px; + } + + .jstree-default-responsive .jstree-anchor > .jstree-undetermined, + .jstree-default-responsive .jstree-anchor > .jstree-undetermined:hover { + background-position: 0 -120px; + } + + .jstree-default-responsive .jstree-anchor { + font-size: 1.1em; + font-weight: bold; + text-shadow: 1px 1px white; + } + + .jstree-default-responsive > .jstree-striped { + background: transparent; + } + + .jstree-default-responsive .jstree-wholerow { + background: #ebebeb; + border-bottom: 1px solid rgba(64, 64, 64, 0.2); + border-top: 1px solid rgba(255, 255, 255, 0.7); + height: 40px; + } + + .jstree-default-responsive .jstree-wholerow-hovered { + background: #e7f4f9; + } + + .jstree-default-responsive .jstree-wholerow-clicked { + background: #beebff; + } + + .jstree-default-responsive .jstree-children .jstree-last > .jstree-wholerow { + box-shadow: inset 0 -6px 3px -5px #666; + } + + .jstree-default-responsive .jstree-children .jstree-open > .jstree-wholerow { + border-top: 0; + box-shadow: inset 0 6px 3px -5px #666; + } + + .jstree-default-responsive .jstree-children .jstree-open + .jstree-open { + box-shadow: none; + } + + .jstree-default-responsive .jstree-node, + .jstree-default-responsive .jstree-icon, + .jstree-default-responsive .jstree-node > .jstree-ocl, + .jstree-default-responsive .jstree-themeicon, + .jstree-default-responsive .jstree-checkbox { + background-image: url("../img/vendor/jstree/40px.png"); + background-size: 120px 240px; + } + + .jstree-default-responsive .jstree-node { + background-position: -80px 0; + background-repeat: repeat-y; + } + + .jstree-default-responsive .jstree-last { + background: transparent; + } + + .jstree-default-responsive .jstree-leaf > .jstree-ocl { + background-position: -40px -120px; + } + + .jstree-default-responsive .jstree-last > .jstree-ocl { + background-position: -40px -160px; + } + + .jstree-default-responsive .jstree-themeicon-custom { + background-color: transparent; + background-image: none; + background-position: 0 0; + } + + .jstree-default-responsive .jstree-file { + background: url("../img/vendor/jstree/40px.png") 0 -160px no-repeat; + background-size: 120px 240px; + } + + .jstree-default-responsive .jstree-folder { + background: url("../img/vendor/jstree/40px.png") -40px -40px no-repeat; + background-size: 120px 240px; + } + + .jstree-default-responsive > .jstree-container-ul > .jstree-node { + margin-left: 0; + margin-right: 0; + } } diff --git a/config.json b/config.json index 5634f88930..b2c2ce1e1a 100644 --- a/config.json +++ b/config.json @@ -1,6 +1,6 @@ { "name": "Midwest Nice", - "version": "5.7.1", + "version": "6.0.0", "template_engine": "handlebars_v4", "meta": { "price": 0, @@ -180,9 +180,9 @@ "button--icon-svg-color": "#757575", "icon-ratingEmpty": "#8F8F8F", "icon-ratingFull": "#474747", - "carousel-bgColor": "#353C46", - "carousel-title-color": "#ffffff", - "carousel-description-color": "#ffffff", + "carousel-bgColor": "#ffffff", + "carousel-title-color": "#444444", + "carousel-description-color": "#333333", "carousel-dot-color": "#333333", "carousel-dot-color-active": "#757575", "carousel-dot-bgColor": "#ffffff", @@ -328,19 +328,16 @@ "navigation_design": "simple", "price_ranges": true, "pdp-price-label": "", - "pdp_sale_badge_label": "On Sale!", - "pdp_sold_out_label": "Sold Out", - "pdp-sale-price-label": "Now:", - "pdp-non-sale-price-label": "Was:", - "pdp-retail-price-label": "MSRP:", - "pdp-custom-fields-tab-label": "Additional Information", + "pdp_sale_badge_label": "", + "pdp_sold_out_label": "", + "pdp-sale-price-label": "", + "pdp-non-sale-price-label": "", + "pdp-retail-price-label": "", + "pdp-custom-fields-tab-label": "", "paymentbuttons-paypal-layout": "vertical", "paymentbuttons-paypal-color": "gold", "paymentbuttons-paypal-shape": "rect", - "paymentbuttons-paypal-size": "responsive", "paymentbuttons-paypal-label": "checkout", - "paymentbuttons-paypal-tagline": false, - "paymentbuttons-paypal-fundingicons": false, "paymentbanners-homepage-color": "white", "paymentbanners-homepage-ratio": "8x1", "paymentbanners-cartpage-text-color": "black", @@ -348,6 +345,7 @@ "paymentbanners-cartpage-logo-type": "primary", "paymentbanners-proddetailspage-color": "white", "paymentbanners-proddetailspage-ratio": "8x1", + "paymentbuttons-container": "medium", "supported_card_type_icons": [ "american_express", "diners", diff --git a/grunt/aliases.yml b/grunt/aliases.yml index 75fd983238..d75ba46ec2 100644 --- a/grunt/aliases.yml +++ b/grunt/aliases.yml @@ -1,14 +1,11 @@ --- -jest: - - run:jest - -check: - - check:js - - check:css - check:js: - eslint - run:jest check:css: - - scsslint + - stylelint + +check: + - check:js + - check:css diff --git a/grunt/eslint.js b/grunt/eslint.js index 9b970b695a..e0e76608c6 100644 --- a/grunt/eslint.js +++ b/grunt/eslint.js @@ -5,6 +5,6 @@ module.exports = { '!assets/js/**/*.spec.js', ], options: { - quiet: true - } + quiet: true, + }, }; diff --git a/grunt/run.js b/grunt/run.js index 45aabb4197..58573a3437 100644 --- a/grunt/run.js +++ b/grunt/run.js @@ -2,7 +2,7 @@ module.exports = { jest: { cmd: 'npx', args: [ - 'jest' - ] - } -}; \ No newline at end of file + 'jest', + ], + }, +}; diff --git a/grunt/scsslint.js b/grunt/scsslint.js deleted file mode 100644 index e5696ad1cb..0000000000 --- a/grunt/scsslint.js +++ /dev/null @@ -1,14 +0,0 @@ -module.exports = { - options: { - bundleExec: true, - compact: true, - colorizeOutput: true - }, - - allFiles: [ - 'assets/scss/**/*.scss', - '!assets/scss/vendor/**/*.scss', - '!assets/scss/invoice.scss', - '!assets/scss/maintenance.scss' - ] -}; diff --git a/grunt/stylelint.js b/grunt/stylelint.js new file mode 100644 index 0000000000..7b0d3ee850 --- /dev/null +++ b/grunt/stylelint.js @@ -0,0 +1,19 @@ +module.exports = { + options: { + configFile: '.stylelintrc', + formatter: 'string', + ignoreDisables: false, + failOnError: true, + outputFile: '', + reportNeedlessDisables: false, + fix: false, + syntax: '', + }, + src: [ + 'assets/scss/**/*.scss', + '!assets/scss/vendor/**/*.scss', + '!assets/scss/invoice.scss', + '!assets/scss/maintenance.scss', + ], +}; + diff --git a/grunt/svgstore.js b/grunt/svgstore.js index b2c4546c38..beec2e3d7a 100644 --- a/grunt/svgstore.js +++ b/grunt/svgstore.js @@ -2,13 +2,13 @@ module.exports = { options: { prefix: 'icon-', cleanup: false, - includeTitleElement: false + includeTitleElement: false, }, - 'default': { + default: { files: { './assets/img/icon-sprite.svg': ['./assets/icons/**/*.svg'], - './templates/components/amp/common/icon-defs.html': ['./assets/icons/**/*.svg'] - } - } + './templates/components/amp/common/icon-defs.html': ['./assets/icons/**/*.svg'], + }, + }, }; diff --git a/lang/de.json b/lang/de.json index abcb5605f4..722b7a908a 100644 --- a/lang/de.json +++ b/lang/de.json @@ -290,7 +290,7 @@ "orders": "Bestellungen", "returns": "Rückgaben", "messages": "Nachrichten ({num_new_messages})", - "wishlists": "Wunschlisten ({num_wishlists})", + "wishlists": "Wunschlisten", "recently_viewed": "Kürzlich angesehen", "settings": "Kontoeinstellungen", "addresses": "Adressen", @@ -973,6 +973,7 @@ "accept_all_cookies": "Alle Cookies akzeptieren", "gdpr_settings": "Einstellungen", "data_collection_preferences": "Einstellungen für die Erfassung von Daten auf der Website", + "manage_data_collection_preferences": "Einstellungen für die Erfassung von Daten auf der Website verwalten", "use_data_by_cookies": "verwendet Daten, die von Cookies und JavaScript-Bibliotheken gesammelt wurden, um Ihr Einkaufserlebnis zu verbessern.", "data_categories_table": "Die folgende Tabelle zeigt, wie wir diese Daten abhängig von Kategorien verwenden. Wählen Sie „Nein“ und speichern Sie Ihre Einstellungen, um sich aus einer der Kategorien für Datenerfassung auszutragen.", "allow": "Erlauben", diff --git a/lang/en.json b/lang/en.json index d24df4e368..69a4022594 100755 --- a/lang/en.json +++ b/lang/en.json @@ -292,7 +292,7 @@ "orders": "Orders", "returns": "Returns", "messages": "Messages ({num_new_messages})", - "wishlists": "Wish Lists ({num_wishlists})", + "wishlists": "Wish Lists", "recently_viewed": "Recently Viewed", "settings": "Account Settings", "addresses": "Addresses", @@ -975,6 +975,7 @@ "accept_all_cookies": "Accept All Cookies", "gdpr_settings": "Settings", "data_collection_preferences": "Website Data Collection Preferences", + "manage_data_collection_preferences": "Manage Website Data Collection Preferences", "use_data_by_cookies": " uses data collected by cookies and JavaScript libraries to improve your shopping experience.", "data_categories_table": "The table below outlines how we use this data by category. To opt out of a category of data collection, select 'No' and save your preferences.", "allow": "Allow", diff --git a/lang/es.json b/lang/es.json index 9a92821a99..fcbcb01c8d 100644 --- a/lang/es.json +++ b/lang/es.json @@ -287,7 +287,7 @@ "orders": "Pedidos", "returns": "Devoluciones", "messages": "Mensajes ({num_new_messages})", - "wishlists": "Listas de deseos ({num_wishlists})", + "wishlists": "Listas de deseos", "recently_viewed": "Vistos recientemente", "settings": "Configuración de la cuenta", "addresses": "Direcciones", diff --git a/lang/fr.json b/lang/fr.json index 9fe965e5e8..60ad2674da 100644 --- a/lang/fr.json +++ b/lang/fr.json @@ -290,7 +290,7 @@ "orders": "Commandes", "returns": "Retours", "messages": "Messages ({num_new_messages})", - "wishlists": "Listes d'envies ({num_wishlists})", + "wishlists": "Listes d'envies", "recently_viewed": "Consultés récemment", "settings": "Paramètres de compte", "addresses": "Adresses", @@ -973,6 +973,7 @@ "accept_all_cookies": "Accepter tous les cookies", "gdpr_settings": "Paramètres", "data_collection_preferences": "Préférences en matière de collecte de données sur le site Web", + "manage_data_collection_preferences": "Gérer les préférences en matière de collecte de données sur le site Web", "use_data_by_cookies": "utilise les données recueillies par les cookies et les bibliothèques JavaScript pour améliorer votre expérience d'achat.", "data_categories_table": "Le tableau ci-dessous précise la manière dont nous utilisons ces données par catégorie. Pour désactiver une catégorie de collecte de données, sélectionnez « Non » et enregistrez vos préférences.", "allow": "Autoriser", diff --git a/lang/it.json b/lang/it.json index 364cc2f2e8..31195cff9b 100644 --- a/lang/it.json +++ b/lang/it.json @@ -290,7 +290,7 @@ "orders": "Ordini", "returns": "Resi", "messages": "Messaggi ({num_new_messages})", - "wishlists": "Lista desideri ({num_wishlists})", + "wishlists": "Lista desideri", "recently_viewed": "Visualizzati di recente", "settings": "Impostazioni account", "addresses": "Indirizzi", @@ -973,6 +973,7 @@ "accept_all_cookies": "Accetta tutti i cookie", "gdpr_settings": "Impostazioni", "data_collection_preferences": "Preferenze per la raccolta dei dati sul sito web", + "manage_data_collection_preferences": "Gestisci le preferenze per la raccolta dei dati sul sito web", "use_data_by_cookies": "usa i dati raccolti dai cookie e dalle librerie JavaScript per migliorare la tua esperienza di acquisto.", "data_categories_table": "La tabella di seguito illustra come vengono utilizzati questi dati per categoria. Per disattivare una categoria di raccolta dati, seleziona \\\"No\\\" e salva le tue preferenze.", "allow": "Consenti", diff --git a/lang/nl.json b/lang/nl.json index 365d2e1b4c..0ff4869dfe 100644 --- a/lang/nl.json +++ b/lang/nl.json @@ -290,7 +290,7 @@ "orders": "Bestellingen", "returns": "Retourzendingen", "messages": "Berichten ({num_new_messages})", - "wishlists": "Verlanglijstjes ({num_wishlists})", + "wishlists": "Verlanglijstjes", "recently_viewed": "Recent weergegeven", "settings": "Accountinstellingen", "addresses": "Adressen", @@ -973,6 +973,7 @@ "accept_all_cookies": "Alle cookies aanvaarden", "gdpr_settings": "Instellingen", "data_collection_preferences": "Voorkeuren voor het verzamelen van gegevens op de website", + "manage_data_collection_preferences":"Voorkeuren voor het verzamelen van gegevens op de website beheren", "use_data_by_cookies": "gebruikt door cookies en JavaScript-bibliotheken verzamelde gegevens om uw winkelervaring te verbeteren.", "data_categories_table": "In de onderstaande tabel wordt per categorie aangegeven hoe wij deze gegevens gebruiken. Om een categorie van gegevensverzameling uit te schakelen, selecteert u 'Nee' en slaat u uw voorkeuren op.", "allow": "Toestaan", diff --git a/lang/pt-BR.json b/lang/pt-BR.json index 1d8b652622..a5f3d634e7 100644 --- a/lang/pt-BR.json +++ b/lang/pt-BR.json @@ -290,7 +290,7 @@ "orders": "Pedidos", "returns": "Devoluções", "messages": "Mensagens ({num_new_messages})", - "wishlists": "Listas de desejos ({num_wishlists})", + "wishlists": "Listas de desejos", "recently_viewed": "Visto recentemente", "settings": "Configurações da conta", "addresses": "Endereços", @@ -973,6 +973,7 @@ "accept_all_cookies": "Aceitar todos os cookies", "gdpr_settings": "Configurações", "data_collection_preferences": "Preferências de coleta de dados do site", + "manage_data_collection_preferences":"Gerenciar preferências de coleta de dados do site", "use_data_by_cookies": "utiliza dados coletados por cookies e bibliotecas de JavaScript para melhorar a sua experiência de compra.", "data_categories_table": "A tabela abaixo descreve a forma como usamos esses dados por categoria. Para desativar uma categoria de coleta de dados, selecione 'Não' e salve suas preferências.", "allow": "Permitir", diff --git a/lang/pt.json b/lang/pt.json index 1d8b652622..a5f3d634e7 100644 --- a/lang/pt.json +++ b/lang/pt.json @@ -290,7 +290,7 @@ "orders": "Pedidos", "returns": "Devoluções", "messages": "Mensagens ({num_new_messages})", - "wishlists": "Listas de desejos ({num_wishlists})", + "wishlists": "Listas de desejos", "recently_viewed": "Visto recentemente", "settings": "Configurações da conta", "addresses": "Endereços", @@ -973,6 +973,7 @@ "accept_all_cookies": "Aceitar todos os cookies", "gdpr_settings": "Configurações", "data_collection_preferences": "Preferências de coleta de dados do site", + "manage_data_collection_preferences":"Gerenciar preferências de coleta de dados do site", "use_data_by_cookies": "utiliza dados coletados por cookies e bibliotecas de JavaScript para melhorar a sua experiência de compra.", "data_categories_table": "A tabela abaixo descreve a forma como usamos esses dados por categoria. Para desativar uma categoria de coleta de dados, selecione 'Não' e salve suas preferências.", "allow": "Permitir", diff --git a/lang/sv.json b/lang/sv.json index 48c62c780b..6fe9e12822 100644 --- a/lang/sv.json +++ b/lang/sv.json @@ -290,7 +290,7 @@ "orders": "Beställningar", "returns": "Returnerar", "messages": "Meddelanden ({num_new_messages})", - "wishlists": "Önskelistor ({num_wishlists})", + "wishlists": "Önskelistor", "recently_viewed": "Nyss sedda", "settings": "Kontoinställningar", "addresses": "Adresser", @@ -973,6 +973,7 @@ "accept_all_cookies": "Godkänn alla cookies", "gdpr_settings": "Inställningar", "data_collection_preferences": "Inställningar för insamling av personuppgifter via webbplatsen", + "manage_data_collection_preferences":"Hantera inställningar för insamling av personuppgifter via webbplatsen", "use_data_by_cookies": "använder data som samlas in av cookies och JavaScript-bibliotek för att förbättra din shoppingupplevelse.", "data_categories_table": "Tabellen nedan beskriver hur vi använder dessa uppgifter efter kategori. För att välja bort en kategori för datainsamling väljer du 'Nej' och sparar dina inställningar.", "allow": "Tillåt", diff --git a/package-lock.json b/package-lock.json index a4101ae624..2c90c344bb 100644 --- a/package-lock.json +++ b/package-lock.json @@ -1,12 +1,12 @@ { "name": "bigcommerce-cornerstone", - "version": "5.7.1", + "version": "6.0.0", "lockfileVersion": 2, "requires": true, "packages": { "": { "name": "bigcommerce-cornerstone", - "version": "5.7.1", + "version": "6.0.0", "license": "MIT", "dependencies": { "@bigcommerce/stencil-utils": "^6.8.1", @@ -50,7 +50,7 @@ "grunt-cli": "^1.3.2", "grunt-eslint": "^20.0.0", "grunt-run": "^0.8.1", - "grunt-scss-lint": "^0.5.0", + "grunt-stylelint": "^0.16.0", "grunt-svgstore": "^2.0.0", "imports-loader": "^0.7.1", "jest": "^25.5.4", @@ -58,6 +58,9 @@ "load-grunt-config": "^3.0.1", "lodash-webpack-plugin": "^0.11.6", "npx": "^10.2.2", + "stylelint": "^13.9.0", + "stylelint-config-sass-guidelines": "^7.1.0", + "stylelint-scss": "^3.18.0", "time-grunt": "^1.2.2", "webpack": "^4.46.0", "webpack-bundle-analyzer": "^3.9.0", @@ -2305,6 +2308,41 @@ "@jridgewell/sourcemap-codec": "^1.4.14" } }, + "node_modules/@nodelib/fs.scandir": { + "version": "2.1.5", + "resolved": "https://registry.npmjs.org/@nodelib/fs.scandir/-/fs.scandir-2.1.5.tgz", + "integrity": "sha512-vq24Bq3ym5HEQm2NKCr3yXDwjc7vTsEThRDnkp2DK9p1uqLR+DHurm/NOTo0KG7HYHU7eppKZj3MyqYuMBf62g==", + "dev": true, + "dependencies": { + "@nodelib/fs.stat": "2.0.5", + "run-parallel": "^1.1.9" + }, + "engines": { + "node": ">= 8" + } + }, + "node_modules/@nodelib/fs.stat": { + "version": "2.0.5", + "resolved": "https://registry.npmjs.org/@nodelib/fs.stat/-/fs.stat-2.0.5.tgz", + "integrity": "sha512-RkhPPp2zrqDAQA/2jNhnztcPAlv64XdhIp7a7454A5ovI7Bukxgt7MX7udwAu3zg1DcpPU0rz3VV1SeaqvY4+A==", + "dev": true, + "engines": { + "node": ">= 8" + } + }, + "node_modules/@nodelib/fs.walk": { + "version": "1.2.8", + "resolved": "https://registry.npmjs.org/@nodelib/fs.walk/-/fs.walk-1.2.8.tgz", + "integrity": "sha512-oGB+UxlgWcgQkgwo8GcEGwemoTFt3FIO9ababBmaGwXIoBKZ+GTy0pP185beGg7Llih/NSHSV2XAs1lnznocSg==", + "dev": true, + "dependencies": { + "@nodelib/fs.scandir": "2.1.5", + "fastq": "^1.6.0" + }, + "engines": { + "node": ">= 8" + } + }, "node_modules/@sindresorhus/is": { "version": "0.14.0", "resolved": "https://registry.npmjs.org/@sindresorhus/is/-/is-0.14.0.tgz", @@ -2322,6 +2360,35 @@ "type-detect": "4.0.8" } }, + "node_modules/@stylelint/postcss-css-in-js": { + "version": "0.37.3", + "resolved": "https://registry.npmjs.org/@stylelint/postcss-css-in-js/-/postcss-css-in-js-0.37.3.tgz", + "integrity": "sha512-scLk3cSH1H9KggSniseb2KNAU5D9FWc3H7BxCSAIdtU9OWIyw0zkEZ9qEKHryRM+SExYXRKNb7tOOVNAsQ3iwg==", + "deprecated": "Package no longer supported. Contact Support at https://www.npmjs.com/support for more info.", + "dev": true, + "dependencies": { + "@babel/core": "^7.17.9" + }, + "peerDependencies": { + "postcss": ">=7.0.0", + "postcss-syntax": ">=0.36.2" + } + }, + "node_modules/@stylelint/postcss-markdown": { + "version": "0.36.2", + "resolved": "https://registry.npmjs.org/@stylelint/postcss-markdown/-/postcss-markdown-0.36.2.tgz", + "integrity": "sha512-2kGbqUVJUGE8dM+bMzXG/PYUWKkjLIkRLWNh39OaADkiabDRdw8ATFCgbMz5xdIcvwspPAluSL7uY+ZiTWdWmQ==", + "deprecated": "Use the original unforked package instead: postcss-markdown", + "dev": true, + "dependencies": { + "remark": "^13.0.0", + "unist-util-find-all-after": "^3.0.2" + }, + "peerDependencies": { + "postcss": ">=7.0.0", + "postcss-syntax": ">=0.36.2" + } + }, "node_modules/@szmarczak/http-timer": { "version": "1.1.2", "resolved": "https://registry.npmjs.org/@szmarczak/http-timer/-/http-timer-1.1.2.tgz", @@ -2411,12 +2478,27 @@ "dev": true, "license": "MIT" }, + "node_modules/@types/mdast": { + "version": "3.0.13", + "resolved": "https://registry.npmjs.org/@types/mdast/-/mdast-3.0.13.tgz", + "integrity": "sha512-HjiGiWedR0DVFkeNljpa6Lv4/IZU1+30VY5d747K7lBudFc3R0Ibr6yJ9lN3BE28VnZyDfLF/VB1Ql1ZIbKrmg==", + "dev": true, + "dependencies": { + "@types/unist": "^2" + } + }, "node_modules/@types/minimatch": { "version": "3.0.5", "resolved": "https://registry.npmjs.org/@types/minimatch/-/minimatch-3.0.5.tgz", "integrity": "sha512-Klz949h02Gz2uZCMGwDUSDS1YBlTdDDgbWHi+81l29tQALUtvz4rAYi5uoVhE5Lagoq6DeqAUlbrHvW/mXDgdQ==", "dev": true }, + "node_modules/@types/minimist": { + "version": "1.2.3", + "resolved": "https://registry.npmjs.org/@types/minimist/-/minimist-1.2.3.tgz", + "integrity": "sha512-ZYFzrvyWUNhaPomn80dsMNgMeXxNWZBdkuG/hWlUvXvbdUH8ZERNBGXnU87McuGcWDsyzX2aChCv/SVN348k3A==", + "dev": true + }, "node_modules/@types/node": { "version": "20.5.7", "dev": true, @@ -2427,6 +2509,12 @@ "dev": true, "license": "MIT" }, + "node_modules/@types/parse-json": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/@types/parse-json/-/parse-json-4.0.0.tgz", + "integrity": "sha512-//oorEZjL6sbPcKUaCdIGlIUeH26mgzimjBB77G6XRgnDl/L5wOnpyBGRe/Mmf5CVW3PwEBE1NjiMZ/ssFh4wA==", + "dev": true + }, "node_modules/@types/prettier": { "version": "1.19.1", "dev": true, @@ -2437,6 +2525,12 @@ "dev": true, "license": "MIT" }, + "node_modules/@types/unist": { + "version": "2.0.8", + "resolved": "https://registry.npmjs.org/@types/unist/-/unist-2.0.8.tgz", + "integrity": "sha512-d0XxK3YTObnWVp6rZuev3c49+j4Lo8g4L1ZRm9z5L0xpoZycUPshHgczK5gsUMaZOstjVYYi09p5gYvUtfChYw==", + "dev": true + }, "node_modules/@types/yargs": { "version": "15.0.15", "dev": true, @@ -3143,6 +3237,34 @@ "node": ">= 4.5.0" } }, + "node_modules/autoprefixer": { + "version": "9.8.8", + "resolved": "https://registry.npmjs.org/autoprefixer/-/autoprefixer-9.8.8.tgz", + "integrity": "sha512-eM9d/swFopRt5gdJ7jrpCwgvEMIayITpojhkkSMRsFHYuH5bkSQ4p/9qTEHtmNudUZh22Tehu7I6CxAW0IXTKA==", + "dev": true, + "dependencies": { + "browserslist": "^4.12.0", + "caniuse-lite": "^1.0.30001109", + "normalize-range": "^0.1.2", + "num2fraction": "^1.2.2", + "picocolors": "^0.2.1", + "postcss": "^7.0.32", + "postcss-value-parser": "^4.1.0" + }, + "bin": { + "autoprefixer": "bin/autoprefixer" + }, + "funding": { + "type": "tidelift", + "url": "https://tidelift.com/funding/github/npm/autoprefixer" + } + }, + "node_modules/autoprefixer/node_modules/picocolors": { + "version": "0.2.1", + "resolved": "https://registry.npmjs.org/picocolors/-/picocolors-0.2.1.tgz", + "integrity": "sha512-cMlDqaLEqfSaW8Z7N5Jw+lyIW869EzT73/F5lhtY9cLGoVxSXznfgfXMO0Z5K0o0Q2TkTXq+0KFsdnSe3jDViA==", + "dev": true + }, "node_modules/available-typed-arrays": { "version": "1.0.5", "dev": true, @@ -3479,6 +3601,16 @@ "@babel/core": "^7.0.0" } }, + "node_modules/bail": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/bail/-/bail-1.0.5.tgz", + "integrity": "sha512-xFbRxM1tahm08yHBP16MMjVUAvDaBMD38zsM9EMAUN61omwLmKlOpB/Zku5QkjZ8TZ4vn53pj+t518cH0S03RQ==", + "dev": true, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/wooorm" + } + }, "node_modules/balanced-match": { "version": "1.0.2", "dev": true, @@ -4095,6 +4227,23 @@ "node": ">=6" } }, + "node_modules/camelcase-keys": { + "version": "6.2.2", + "resolved": "https://registry.npmjs.org/camelcase-keys/-/camelcase-keys-6.2.2.tgz", + "integrity": "sha512-YrwaA0vEKazPBkn0ipTiMpSajYDSe+KjQfrjhcBMxJt/znbvlHd8Pw/Vamaz5EB4Wfhs3SUR3Z9mwRu/P3s3Yg==", + "dev": true, + "dependencies": { + "camelcase": "^5.3.1", + "map-obj": "^4.0.0", + "quick-lru": "^4.0.1" + }, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, "node_modules/caniuse-lite": { "version": "1.0.30001524", "dev": true, @@ -4148,6 +4297,36 @@ "node": ">=4" } }, + "node_modules/character-entities": { + "version": "1.2.4", + "resolved": "https://registry.npmjs.org/character-entities/-/character-entities-1.2.4.tgz", + "integrity": "sha512-iBMyeEHxfVnIakwOuDXpVkc54HijNgCyQB2w0VfGQThle6NXn50zU6V/u+LDhxHcDUPojn6Kpga3PTAD8W1bQw==", + "dev": true, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/wooorm" + } + }, + "node_modules/character-entities-legacy": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/character-entities-legacy/-/character-entities-legacy-1.1.4.tgz", + "integrity": "sha512-3Xnr+7ZFS1uxeiUDvV02wQ+QDbc55o97tIV5zHScSPJpcLm/r0DFPcoY3tYRp+VZukxuMeKgXYmsXQHO05zQeA==", + "dev": true, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/wooorm" + } + }, + "node_modules/character-reference-invalid": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/character-reference-invalid/-/character-reference-invalid-1.1.4.tgz", + "integrity": "sha512-mKKUkUbhPpQlCOfIuZkvSEgktjPFIsZKRRbC6KWVEMvlzblj3i3asQv5ODsrwt0N3pHAEvjP8KTQPHkp0+6jOg==", + "dev": true, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/wooorm" + } + }, "node_modules/chardet": { "version": "0.7.0", "resolved": "https://registry.npmjs.org/chardet/-/chardet-0.7.0.tgz", @@ -4385,6 +4564,18 @@ "node": ">=0.10.0" } }, + "node_modules/clone-regexp": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/clone-regexp/-/clone-regexp-2.2.0.tgz", + "integrity": "sha512-beMpP7BOtTipFuW8hrJvREQ2DrRu3BE7by0ZpibtfBA+qfHYvMGTc2Yb1JMYPKg/JUw0CHYvpg796aNTSW9z7Q==", + "dev": true, + "dependencies": { + "is-regexp": "^2.0.0" + }, + "engines": { + "node": ">=6" + } + }, "node_modules/clone-response": { "version": "1.0.3", "resolved": "https://registry.npmjs.org/clone-response/-/clone-response-1.0.3.tgz", @@ -4667,6 +4858,22 @@ "dev": true, "license": "MIT" }, + "node_modules/cosmiconfig": { + "version": "7.1.0", + "resolved": "https://registry.npmjs.org/cosmiconfig/-/cosmiconfig-7.1.0.tgz", + "integrity": "sha512-AdmX6xUzdNASswsFtmwSt7Vj8po9IuqXm0UXz7QKPuEUmPB4XyjGfaAr2PSuELMwkRMVH1EpIkX5bTZGRB3eCA==", + "dev": true, + "dependencies": { + "@types/parse-json": "^4.0.0", + "import-fresh": "^3.2.1", + "parse-json": "^5.0.0", + "path-type": "^4.0.0", + "yaml": "^1.10.0" + }, + "engines": { + "node": ">=10" + } + }, "node_modules/create-ecdh": { "version": "4.0.4", "dev": true, @@ -4834,6 +5041,18 @@ "url": "https://github.com/sponsors/fb55" } }, + "node_modules/cssesc": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/cssesc/-/cssesc-3.0.0.tgz", + "integrity": "sha512-/Tb/JcjK111nNScGob5MNtsntNM1aCNUDipB/TkwZFhyDrrE47SOx/18wF2bbjgc3ZzCSKW1T5nt5EbFoAz/Vg==", + "dev": true, + "bin": { + "cssesc": "bin/cssesc" + }, + "engines": { + "node": ">=4" + } + }, "node_modules/cssom": { "version": "0.3.8", "dev": true, @@ -4941,6 +5160,31 @@ "node": ">=0.10.0" } }, + "node_modules/decamelize-keys": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/decamelize-keys/-/decamelize-keys-1.1.1.tgz", + "integrity": "sha512-WiPxgEirIV0/eIOMcnFBA3/IJZAZqKnwAwWyvvdi4lsr1WCN22nhdf/3db3DoZcUjTV2SqfzIwNyp6y2xs3nmg==", + "dev": true, + "dependencies": { + "decamelize": "^1.1.0", + "map-obj": "^1.0.0" + }, + "engines": { + "node": ">=0.10.0" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/decamelize-keys/node_modules/map-obj": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/map-obj/-/map-obj-1.0.1.tgz", + "integrity": "sha512-7N/q3lyZ+LVCp7PzuxrJr4KMbBE2hW7BT7YNia330OFxIf4d3r5zVpicP2650l7CPN6RM9zOJRl3NGpqSiw3Eg==", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, "node_modules/decode-uri-component": { "version": "0.2.2", "dev": true, @@ -5137,6 +5381,18 @@ "dev": true, "license": "MIT" }, + "node_modules/dir-glob": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/dir-glob/-/dir-glob-3.0.1.tgz", + "integrity": "sha512-WkrWp9GR4KXfKGYzOLmTuGVi1UWFfws377n9cc55/tb6DuqyF6pcQ5AbiHEshaDpY9v6oaSr2XCDidGmMwdzIA==", + "dev": true, + "dependencies": { + "path-type": "^4.0.0" + }, + "engines": { + "node": ">=8" + } + }, "node_modules/doctrine": { "version": "2.1.0", "dev": true, @@ -6420,6 +6676,18 @@ "which": "bin/which" } }, + "node_modules/execall": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/execall/-/execall-2.0.0.tgz", + "integrity": "sha512-0FU2hZ5Hh6iQnarpRtQurM/aAvp3RIbfvgLHrcqJYzhXyV2KFruhuChf9NC6waAhiUR7FFtlugkI4p7f2Fqlow==", + "dev": true, + "dependencies": { + "clone-regexp": "^2.1.0" + }, + "engines": { + "node": ">=8" + } + }, "node_modules/exit": { "version": "0.1.2", "dev": true, @@ -6915,6 +7183,22 @@ "dev": true, "license": "MIT" }, + "node_modules/fast-glob": { + "version": "3.3.1", + "resolved": "https://registry.npmjs.org/fast-glob/-/fast-glob-3.3.1.tgz", + "integrity": "sha512-kNFPyjhh5cKjrUltxs+wFx+ZkbRaxxmZ+X0ZU31SOsxCEtP9VPgtq2teZw1DebupL5GmDaNQ6yKMMVcM41iqDg==", + "dev": true, + "dependencies": { + "@nodelib/fs.stat": "^2.0.2", + "@nodelib/fs.walk": "^1.2.3", + "glob-parent": "^5.1.2", + "merge2": "^1.3.0", + "micromatch": "^4.0.4" + }, + "engines": { + "node": ">=8.6.0" + } + }, "node_modules/fast-json-stable-stringify": { "version": "2.1.0", "dev": true, @@ -6938,6 +7222,15 @@ "node": ">= 4.9.1" } }, + "node_modules/fastq": { + "version": "1.15.0", + "resolved": "https://registry.npmjs.org/fastq/-/fastq-1.15.0.tgz", + "integrity": "sha512-wBrocU2LCXXa+lWBt8RoIRD89Fi8OdABODa/kEnyeyjS5aZO5/GNvI5sEINADqP/h8M29UHTHUb53sUu5Ihqdw==", + "dev": true, + "dependencies": { + "reusify": "^1.0.4" + } + }, "node_modules/fb-watchman": { "version": "2.0.2", "dev": true, @@ -7093,6 +7386,12 @@ "rimraf": "bin.js" } }, + "node_modules/flatted": { + "version": "3.2.9", + "resolved": "https://registry.npmjs.org/flatted/-/flatted-3.2.9.tgz", + "integrity": "sha512-36yxDn5H7OFZQla0/jFJmbIKTdZAQHngCedGxiMmpNfEZM0sdEeT+WczLQrjK6D7o2aiyLYDnkw0R3JK0Qv1RQ==", + "dev": true + }, "node_modules/flush-write-stream": { "version": "1.1.1", "dev": true, @@ -7382,6 +7681,18 @@ "node": ">=8.0.0" } }, + "node_modules/get-stdin": { + "version": "8.0.0", + "resolved": "https://registry.npmjs.org/get-stdin/-/get-stdin-8.0.0.tgz", + "integrity": "sha512-sY22aA6xchAzprjyqmSEQv4UbAAzRN0L2dQB0NlN5acTTK9Don6nhoc3eAbUnpZiCANAMfd/+40kVdKfFygohg==", + "dev": true, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, "node_modules/get-stream": { "version": "4.1.0", "dev": true, @@ -7454,7 +7765,6 @@ "version": "5.1.2", "dev": true, "license": "ISC", - "optional": true, "dependencies": { "is-glob": "^4.0.1" }, @@ -7544,6 +7854,56 @@ "url": "https://github.com/sponsors/ljharb" } }, + "node_modules/globby": { + "version": "11.1.0", + "resolved": "https://registry.npmjs.org/globby/-/globby-11.1.0.tgz", + "integrity": "sha512-jhIXaOzy1sb8IyocaruWSn1TjmnBVs8Ayhcy83rmxNJ8q2uWKCAj3CnJY+KpGSXCueAPc0i05kVvVKtP1t9S3g==", + "dev": true, + "dependencies": { + "array-union": "^2.1.0", + "dir-glob": "^3.0.1", + "fast-glob": "^3.2.9", + "ignore": "^5.2.0", + "merge2": "^1.4.1", + "slash": "^3.0.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/globby/node_modules/ignore": { + "version": "5.2.4", + "resolved": "https://registry.npmjs.org/ignore/-/ignore-5.2.4.tgz", + "integrity": "sha512-MAb38BcSbH0eHNBxn7ql2NH/kX33OkB3lZ1BNdh7ENeRChHTYsTvWrMubiIAMNS2llXEEgZ1MUOBtXChP3kaFQ==", + "dev": true, + "engines": { + "node": ">= 4" + } + }, + "node_modules/globjoin": { + "version": "0.1.4", + "resolved": "https://registry.npmjs.org/globjoin/-/globjoin-0.1.4.tgz", + "integrity": "sha512-xYfnw62CKG8nLkZBfWbhWwDw02CHty86jfPcc2cr3ZfeuK9ysoVPPEUxf21bAD/rWAgk52SuBrLJlefNy8mvFg==", + "dev": true + }, + "node_modules/gonzales-pe": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/gonzales-pe/-/gonzales-pe-4.3.0.tgz", + "integrity": "sha512-otgSPpUmdWJ43VXyiNgEYE4luzHCL2pz4wQ0OnDluC6Eg4Ko3Vexy/SrSynglw/eR+OhkzmqFCZa/OFa/RgAOQ==", + "dev": true, + "dependencies": { + "minimist": "^1.2.5" + }, + "bin": { + "gonzales": "bin/gonzales.js" + }, + "engines": { + "node": ">=0.6.0" + } + }, "node_modules/gopd": { "version": "1.0.1", "dev": true, @@ -7814,75 +8174,89 @@ "node": ">=0.10.0" } }, - "node_modules/grunt-scss-lint": { - "version": "0.5.0", + "node_modules/grunt-stylelint": { + "version": "0.16.0", + "resolved": "https://registry.npmjs.org/grunt-stylelint/-/grunt-stylelint-0.16.0.tgz", + "integrity": "sha512-ullm0h9iCdgPEDq1TNwKL5HteXA4zke6wbYoRtsO32ATCU3zfUXmDN9unhu+joEcdgJKOPcd2+7UhRNXO1rr+w==", "dev": true, "dependencies": { - "chalk": "^1.1.3", - "lodash": "^4.12.0", - "which": "^1.2.8", - "xmlbuilder": "^8.2.2" - } - }, - "node_modules/grunt-scss-lint/node_modules/ansi-regex": { - "version": "2.1.1", - "dev": true, - "license": "MIT", + "chalk": "^4.1.0" + }, "engines": { - "node": ">=0.10.0" + "node": ">=10" + }, + "peerDependencies": { + "stylelint": "^13.8.0" } }, - "node_modules/grunt-scss-lint/node_modules/ansi-styles": { - "version": "2.2.1", + "node_modules/grunt-stylelint/node_modules/ansi-styles": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", + "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", "dev": true, - "license": "MIT", + "dependencies": { + "color-convert": "^2.0.1" + }, "engines": { - "node": ">=0.10.0" + "node": ">=8" + }, + "funding": { + "url": "https://github.com/chalk/ansi-styles?sponsor=1" } }, - "node_modules/grunt-scss-lint/node_modules/chalk": { - "version": "1.1.3", + "node_modules/grunt-stylelint/node_modules/chalk": { + "version": "4.1.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", + "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", "dev": true, - "license": "MIT", "dependencies": { - "ansi-styles": "^2.2.1", - "escape-string-regexp": "^1.0.2", - "has-ansi": "^2.0.0", - "strip-ansi": "^3.0.0", - "supports-color": "^2.0.0" + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" }, "engines": { - "node": ">=0.10.0" + "node": ">=10" + }, + "funding": { + "url": "https://github.com/chalk/chalk?sponsor=1" } }, - "node_modules/grunt-scss-lint/node_modules/strip-ansi": { - "version": "3.0.1", + "node_modules/grunt-stylelint/node_modules/color-convert": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", + "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", "dev": true, - "license": "MIT", "dependencies": { - "ansi-regex": "^2.0.0" + "color-name": "~1.1.4" }, "engines": { - "node": ">=0.10.0" + "node": ">=7.0.0" } }, - "node_modules/grunt-scss-lint/node_modules/supports-color": { - "version": "2.0.0", + "node_modules/grunt-stylelint/node_modules/color-name": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", + "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", + "dev": true + }, + "node_modules/grunt-stylelint/node_modules/has-flag": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", + "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", "dev": true, - "license": "MIT", "engines": { - "node": ">=0.8.0" + "node": ">=8" } }, - "node_modules/grunt-scss-lint/node_modules/which": { - "version": "1.3.1", + "node_modules/grunt-stylelint/node_modules/supports-color": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", + "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", "dev": true, - "license": "ISC", "dependencies": { - "isexe": "^2.0.0" + "has-flag": "^4.0.0" }, - "bin": { - "which": "bin/which" + "engines": { + "node": ">=8" } }, "node_modules/grunt-svgstore": { @@ -8017,6 +8391,15 @@ "node": ">=6" } }, + "node_modules/hard-rejection": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/hard-rejection/-/hard-rejection-2.1.0.tgz", + "integrity": "sha512-VIZB+ibDhx7ObhAe7OVtoEbuP4h/MuOTHJ+J8h/eBXotJYl0fBgR72xDFCKgIh22OJZIOVNxBMWuhAr10r8HdA==", + "dev": true, + "engines": { + "node": ">=6" + } + }, "node_modules/has": { "version": "1.0.3", "dev": true, @@ -8235,6 +8618,36 @@ "node": ">= 6.0.0" } }, + "node_modules/hosted-git-info": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/hosted-git-info/-/hosted-git-info-4.1.0.tgz", + "integrity": "sha512-kyCuEOWjJqZuDbRHzL8V93NzQhwIB71oFWSyzVo+KPZI+pnQPPxucdkrOZvkLRnrf5URsQM+IJ09Dw29cRALIA==", + "dev": true, + "dependencies": { + "lru-cache": "^6.0.0" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/hosted-git-info/node_modules/lru-cache": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-6.0.0.tgz", + "integrity": "sha512-Jo6dJ04CmSjuznwJSS3pUeWmd/H0ffTlkXXgwZi+eq1UCmqQwCh+eLsYOYCwY991i2Fah4h1BEMCx4qThGbsiA==", + "dev": true, + "dependencies": { + "yallist": "^4.0.0" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/hosted-git-info/node_modules/yallist": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/yallist/-/yallist-4.0.0.tgz", + "integrity": "sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==", + "dev": true + }, "node_modules/html-encoding-sniffer": { "version": "1.0.2", "dev": true, @@ -8248,6 +8661,18 @@ "dev": true, "license": "MIT" }, + "node_modules/html-tags": { + "version": "3.3.1", + "resolved": "https://registry.npmjs.org/html-tags/-/html-tags-3.3.1.tgz", + "integrity": "sha512-ztqyC3kLto0e9WbNp0aeP+M3kTt+nbaIveGmUxAtZa+8iFgKLUOD4YKM5j+f3QD89bra7UeumolZHKuOXnTmeQ==", + "dev": true, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, "node_modules/htmlparser2": { "version": "8.0.2", "resolved": "https://registry.npmjs.org/htmlparser2/-/htmlparser2-8.0.2.tgz", @@ -8374,6 +8799,31 @@ "integrity": "sha512-W7+sO6/yhxy83L0G7xR8YAc5Z5QFtYEXXRV6EaE8tuYBZJnA3gVgp3q7X7muhLZVodeb9UfvjSbwt9VJwjIYAg==", "dev": true }, + "node_modules/import-fresh": { + "version": "3.3.0", + "resolved": "https://registry.npmjs.org/import-fresh/-/import-fresh-3.3.0.tgz", + "integrity": "sha512-veYYhQa+D1QBKznvhUHxb8faxlrwUnxseDAbAp457E0wLNio2bOSKnjYDhMj+YiAq61xrMGhQk9iXVk5FzgQMw==", + "dev": true, + "dependencies": { + "parent-module": "^1.0.0", + "resolve-from": "^4.0.0" + }, + "engines": { + "node": ">=6" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/import-fresh/node_modules/resolve-from": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/resolve-from/-/resolve-from-4.0.0.tgz", + "integrity": "sha512-pb/MYmXstAkysRFx8piNI1tGFNQIFA3vkE3Gq4EuA1dF6gHp/+vgZqsCGJapvy8N3Q+4o7FwvquPJcnZ7RYy4g==", + "dev": true, + "engines": { + "node": ">=4" + } + }, "node_modules/import-lazy": { "version": "2.1.0", "resolved": "https://registry.npmjs.org/import-lazy/-/import-lazy-2.1.0.tgz", @@ -8450,6 +8900,15 @@ "node": ">=0.8.19" } }, + "node_modules/indent-string": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/indent-string/-/indent-string-4.0.0.tgz", + "integrity": "sha512-EdDDZu4A2OyIK7Lr/2zG+w5jmbuk1DVBnEwREQvBzspBJkCEbRa8GxU1lghYcaGJCnRWibjDXlq779X1/y5xwg==", + "dev": true, + "engines": { + "node": ">=8" + } + }, "node_modules/infer-owner": { "version": "1.0.4", "dev": true, @@ -8661,6 +9120,30 @@ "node": ">=0.10.0" } }, + "node_modules/is-alphabetical": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/is-alphabetical/-/is-alphabetical-1.0.4.tgz", + "integrity": "sha512-DwzsA04LQ10FHTZuL0/grVDk4rFoVH1pjAToYwBrHSxcrBIGQuXrQMtD5U1b0U2XVgKZCTLLP8u2Qxqhy3l2Vg==", + "dev": true, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/wooorm" + } + }, + "node_modules/is-alphanumerical": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/is-alphanumerical/-/is-alphanumerical-1.0.4.tgz", + "integrity": "sha512-UzoZUr+XfVz3t3v4KyGEniVL9BDRoQtY7tOyrRybkVNjDFWyo1yhXNGrrBTQxp3ib9BLAWs7k2YKBQsFRkZG9A==", + "dev": true, + "dependencies": { + "is-alphabetical": "^1.0.0", + "is-decimal": "^1.0.0" + }, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/wooorm" + } + }, "node_modules/is-array-buffer": { "version": "3.0.2", "dev": true, @@ -8794,6 +9277,16 @@ "url": "https://github.com/sponsors/ljharb" } }, + "node_modules/is-decimal": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/is-decimal/-/is-decimal-1.0.4.tgz", + "integrity": "sha512-RGdriMmQQvZ2aqaQq3awNA6dCGtKpiDFcOzrTWrDAT2MiWrKQVPmxLGHl7Y2nNu6led0kEyoX0enY0qXYsv9zw==", + "dev": true, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/wooorm" + } + }, "node_modules/is-descriptor": { "version": "0.1.6", "dev": true, @@ -8907,6 +9400,16 @@ "node": ">=0.10.0" } }, + "node_modules/is-hexadecimal": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/is-hexadecimal/-/is-hexadecimal-1.0.4.tgz", + "integrity": "sha512-gyPJuv83bHMpocVYoqof5VDiZveEoGoFL8m3BXNb2VW8Xs+rz9kqO8LOQ5DH6EsuvilT1ApazU0pyl+ytbPtlw==", + "dev": true, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/wooorm" + } + }, "node_modules/is-installed-globally": { "version": "0.3.2", "resolved": "https://registry.npmjs.org/is-installed-globally/-/is-installed-globally-0.3.2.tgz", @@ -8998,6 +9501,15 @@ "node": ">=8" } }, + "node_modules/is-plain-obj": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/is-plain-obj/-/is-plain-obj-1.1.0.tgz", + "integrity": "sha512-yvkRyxmFKEOQ4pNXCmJG5AEQNlXJS5LaONXo5/cLdTZdWvsZ1ioJEonLGAosKlMWE8lwUy/bJzMjcw8az73+Fg==", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, "node_modules/is-plain-object": { "version": "2.0.4", "resolved": "https://registry.npmjs.org/is-plain-object/-/is-plain-object-2.0.4.tgz", @@ -9025,6 +9537,15 @@ "url": "https://github.com/sponsors/ljharb" } }, + "node_modules/is-regexp": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/is-regexp/-/is-regexp-2.1.0.tgz", + "integrity": "sha512-OZ4IlER3zmRIoB9AqNhEggVxqIH4ofDns5nRrPS6yQxXE1TPCUpFznBfRQmQa8uC+pXqjMnukiJBxCisIxiLGA==", + "dev": true, + "engines": { + "node": ">=6" + } + }, "node_modules/is-relative": { "version": "1.0.0", "dev": true, @@ -9126,6 +9647,18 @@ "node": ">=0.10.0" } }, + "node_modules/is-unicode-supported": { + "version": "0.1.0", + "resolved": "https://registry.npmjs.org/is-unicode-supported/-/is-unicode-supported-0.1.0.tgz", + "integrity": "sha512-knxG2q4UC3u8stRGyAVJCOdxFmv5DZiRcdlIaAQXAbSfJya+OhopNotLQrstBhququ4ZpuKbDc/8S6mgXgPFPw==", + "dev": true, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, "node_modules/is-valid-month": { "version": "1.0.0", "license": "MIT", @@ -11296,6 +11829,12 @@ "node": ">=6" } }, + "node_modules/known-css-properties": { + "version": "0.21.0", + "resolved": "https://registry.npmjs.org/known-css-properties/-/known-css-properties-0.21.0.tgz", + "integrity": "sha512-sZLUnTqimCkvkgRS+kbPlYW5o8q5w1cu+uIisKpEWkj31I8mx8kNG162DwRav8Zirkva6N5uoFsm9kzK4mUXjw==", + "dev": true + }, "node_modules/language-subtag-registry": { "version": "0.3.22", "dev": true, @@ -11839,6 +12378,98 @@ "dev": true, "license": "MIT" }, + "node_modules/lodash.truncate": { + "version": "4.4.2", + "resolved": "https://registry.npmjs.org/lodash.truncate/-/lodash.truncate-4.4.2.tgz", + "integrity": "sha512-jttmRe7bRse52OsWIMDLaXxWqRAmtIUccAQ3garviCqJjafXOfNMO0yMfNpdD6zbGaTU0P5Nz7e7gAT6cKmJRw==", + "dev": true + }, + "node_modules/log-symbols": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/log-symbols/-/log-symbols-4.1.0.tgz", + "integrity": "sha512-8XPvpAA8uyhfteu8pIvQxpJZ7SYYdpUivZpGy6sFsBuKRY/7rQGavedeB8aK+Zkyq6upMFVL/9AW6vOYzfRyLg==", + "dev": true, + "dependencies": { + "chalk": "^4.1.0", + "is-unicode-supported": "^0.1.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/log-symbols/node_modules/ansi-styles": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", + "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", + "dev": true, + "dependencies": { + "color-convert": "^2.0.1" + }, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/chalk/ansi-styles?sponsor=1" + } + }, + "node_modules/log-symbols/node_modules/chalk": { + "version": "4.1.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", + "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", + "dev": true, + "dependencies": { + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/chalk/chalk?sponsor=1" + } + }, + "node_modules/log-symbols/node_modules/color-convert": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", + "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", + "dev": true, + "dependencies": { + "color-name": "~1.1.4" + }, + "engines": { + "node": ">=7.0.0" + } + }, + "node_modules/log-symbols/node_modules/color-name": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", + "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", + "dev": true + }, + "node_modules/log-symbols/node_modules/has-flag": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", + "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", + "dev": true, + "engines": { + "node": ">=8" + } + }, + "node_modules/log-symbols/node_modules/supports-color": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", + "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", + "dev": true, + "dependencies": { + "has-flag": "^4.0.0" + }, + "engines": { + "node": ">=8" + } + }, "node_modules/lolex": { "version": "5.1.2", "dev": true, @@ -11847,6 +12478,16 @@ "@sinonjs/commons": "^1.7.0" } }, + "node_modules/longest-streak": { + "version": "2.0.4", + "resolved": "https://registry.npmjs.org/longest-streak/-/longest-streak-2.0.4.tgz", + "integrity": "sha512-vM6rUVCVUJJt33bnmHiZEvr7wPT78ztX7rojL+LW51bHtLh6HTjx84LA5W4+oa6aKEJA7jJu5LR6vQRBpA5DVg==", + "dev": true, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/wooorm" + } + }, "node_modules/lookup-closest-locale": { "version": "6.0.4", "dev": true, @@ -11929,6 +12570,18 @@ "node": ">=0.10.0" } }, + "node_modules/map-obj": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/map-obj/-/map-obj-4.3.0.tgz", + "integrity": "sha512-hdN1wVrZbb29eBGiGjJbeP8JbKjq1urkHJ/LIP/NY48MZ1QVXUsQBV1G1zvYFHn1XE06cwjBsOI2K3Ulnj1YXQ==", + "dev": true, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, "node_modules/map-visit": { "version": "1.0.0", "dev": true, @@ -11946,6 +12599,16 @@ "integrity": "sha512-q9JtQJKjpsVxCRVgQ+WapguSbKC3SQ5HEzFGPAJMStgh3QjCawp00UKv3MTTAArTmGmmPUvllHZoNbZ3gs0I+Q==", "dev": true }, + "node_modules/mathml-tag-names": { + "version": "2.1.3", + "resolved": "https://registry.npmjs.org/mathml-tag-names/-/mathml-tag-names-2.1.3.tgz", + "integrity": "sha512-APMBEanjybaPzUrfqU0IMU5I0AswKMH7k8OTLs0vvV4KZpExkTkY87nR/zpbuTPj+gARop7aGUbl11pnDfW6xg==", + "dev": true, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/wooorm" + } + }, "node_modules/md5": { "version": "2.3.0", "dev": true, @@ -11966,6 +12629,51 @@ "safe-buffer": "^5.1.2" } }, + "node_modules/mdast-util-from-markdown": { + "version": "0.8.5", + "resolved": "https://registry.npmjs.org/mdast-util-from-markdown/-/mdast-util-from-markdown-0.8.5.tgz", + "integrity": "sha512-2hkTXtYYnr+NubD/g6KGBS/0mFmBcifAsI0yIWRiRo0PjVs6SSOSOdtzbp6kSGnShDN6G5aWZpKQ2lWRy27mWQ==", + "dev": true, + "dependencies": { + "@types/mdast": "^3.0.0", + "mdast-util-to-string": "^2.0.0", + "micromark": "~2.11.0", + "parse-entities": "^2.0.0", + "unist-util-stringify-position": "^2.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/mdast-util-to-markdown": { + "version": "0.6.5", + "resolved": "https://registry.npmjs.org/mdast-util-to-markdown/-/mdast-util-to-markdown-0.6.5.tgz", + "integrity": "sha512-XeV9sDE7ZlOQvs45C9UKMtfTcctcaj/pGwH8YLbMHoMOXNNCn2LsqVQOqrF1+/NU8lKDAqozme9SCXWyo9oAcQ==", + "dev": true, + "dependencies": { + "@types/unist": "^2.0.0", + "longest-streak": "^2.0.0", + "mdast-util-to-string": "^2.0.0", + "parse-entities": "^2.0.0", + "repeat-string": "^1.0.0", + "zwitch": "^1.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/mdast-util-to-string": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/mdast-util-to-string/-/mdast-util-to-string-2.0.0.tgz", + "integrity": "sha512-AW4DRS3QbBayY/jJmD8437V1Gombjf8RSOUCMFBuo5iHi58AGEgVCKQ+ezHkZZDpAQS75hcBMpLqjpJTjtUL7w==", + "dev": true, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, "node_modules/media-typer": { "version": "0.3.0", "dev": true, @@ -12010,6 +12718,53 @@ "safe-buffer": "~5.1.0" } }, + "node_modules/meow": { + "version": "9.0.0", + "resolved": "https://registry.npmjs.org/meow/-/meow-9.0.0.tgz", + "integrity": "sha512-+obSblOQmRhcyBt62furQqRAQpNyWXo8BuQ5bN7dG8wmwQ+vwHKp/rCFD4CrTP8CsDQD1sjoZ94K417XEUk8IQ==", + "dev": true, + "dependencies": { + "@types/minimist": "^1.2.0", + "camelcase-keys": "^6.2.2", + "decamelize": "^1.2.0", + "decamelize-keys": "^1.1.0", + "hard-rejection": "^2.1.0", + "minimist-options": "4.1.0", + "normalize-package-data": "^3.0.0", + "read-pkg-up": "^7.0.1", + "redent": "^3.0.0", + "trim-newlines": "^3.0.0", + "type-fest": "^0.18.0", + "yargs-parser": "^20.2.3" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/meow/node_modules/type-fest": { + "version": "0.18.1", + "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-0.18.1.tgz", + "integrity": "sha512-OIAYXk8+ISY+qTOwkHtKqzAuxchoMiD9Udx+FSGQDuiRR+PJKJHc2NJAXlbhkGwTt/4/nKZxELY1w3ReWOL8mw==", + "dev": true, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/meow/node_modules/yargs-parser": { + "version": "20.2.9", + "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-20.2.9.tgz", + "integrity": "sha512-y11nGElTIV+CT3Zv9t7VKl+Q3hTQoT9a1Qzezhhl6Rp21gJ/IVTW7Z3y9EWXhuUBC2Shnf+DX0antecpAwSP8w==", + "dev": true, + "engines": { + "node": ">=10" + } + }, "node_modules/merge-descriptors": { "version": "1.0.1", "dev": true, @@ -12020,6 +12775,15 @@ "dev": true, "license": "MIT" }, + "node_modules/merge2": { + "version": "1.4.1", + "resolved": "https://registry.npmjs.org/merge2/-/merge2-1.4.1.tgz", + "integrity": "sha512-8q7VEgMJW4J8tcfVPy8g09NcQwZdbwFEqhe/WZkoIzjn/3TGDwtOCYtXGxA3O8tPzpczCCDgv+P2P5y00ZJOOg==", + "dev": true, + "engines": { + "node": ">= 8" + } + }, "node_modules/metaviewport-parser": { "version": "0.2.0", "dev": true, @@ -12033,6 +12797,26 @@ "node": ">= 0.6" } }, + "node_modules/micromark": { + "version": "2.11.4", + "resolved": "https://registry.npmjs.org/micromark/-/micromark-2.11.4.tgz", + "integrity": "sha512-+WoovN/ppKolQOFIAajxi7Lu9kInbPxFuTBVEavFcL8eAfVstoc5MocPmqBeAdBOJV00uaVjegzH4+MA0DN/uA==", + "dev": true, + "funding": [ + { + "type": "GitHub Sponsors", + "url": "https://github.com/sponsors/unifiedjs" + }, + { + "type": "OpenCollective", + "url": "https://opencollective.com/unified" + } + ], + "dependencies": { + "debug": "^4.0.0", + "parse-entities": "^2.0.0" + } + }, "node_modules/micromatch": { "version": "4.0.5", "dev": true, @@ -12098,6 +12882,15 @@ "node": ">=4" } }, + "node_modules/min-indent": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/min-indent/-/min-indent-1.0.1.tgz", + "integrity": "sha512-I9jwMn07Sy/IwOj3zVkVik2JTvgpaykDZEigL6Rx6N9LbMywwUSMtxET+7lVoDLLd3O3IXwJwvuuns8UB/HeAg==", + "dev": true, + "engines": { + "node": ">=4" + } + }, "node_modules/minimalistic-assert": { "version": "1.0.1", "dev": true, @@ -12128,6 +12921,38 @@ "url": "https://github.com/sponsors/ljharb" } }, + "node_modules/minimist-options": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/minimist-options/-/minimist-options-4.1.0.tgz", + "integrity": "sha512-Q4r8ghd80yhO/0j1O3B2BjweX3fiHg9cdOwjJd2J76Q135c+NDxGCqdYKQ1SKBuFfgWbAUzBfvYjPUEeNgqN1A==", + "dev": true, + "dependencies": { + "arrify": "^1.0.1", + "is-plain-obj": "^1.1.0", + "kind-of": "^6.0.3" + }, + "engines": { + "node": ">= 6" + } + }, + "node_modules/minimist-options/node_modules/arrify": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/arrify/-/arrify-1.0.1.tgz", + "integrity": "sha512-3CYzex9M9FGQjCGMGyi6/31c8GJbgb0qGyrx5HWxPd0aCwh4cB2YjMb2Xf9UuoogrMrlO9cTqnB5rI5GHZTcUA==", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/minimist-options/node_modules/kind-of": { + "version": "6.0.3", + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-6.0.3.tgz", + "integrity": "sha512-dcS1ul+9tmeD95T+x28/ehLgd9mENa3LsvDTtzm3vyBEO7RPptvAD+t44WVXaUjTBRcrpFeFlC8WCruUR456hw==", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, "node_modules/mississippi": { "version": "3.0.0", "dev": true, @@ -12432,6 +13257,54 @@ "dev": true, "license": "MIT" }, + "node_modules/normalize-package-data": { + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/normalize-package-data/-/normalize-package-data-3.0.3.tgz", + "integrity": "sha512-p2W1sgqij3zMMyRC067Dg16bfzVH+w7hyegmpIvZ4JNjqtGOVAIvLmjBx3yP7YTe9vKJgkoNOPjwQGogDoMXFA==", + "dev": true, + "dependencies": { + "hosted-git-info": "^4.0.1", + "is-core-module": "^2.5.0", + "semver": "^7.3.4", + "validate-npm-package-license": "^3.0.1" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/normalize-package-data/node_modules/lru-cache": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-6.0.0.tgz", + "integrity": "sha512-Jo6dJ04CmSjuznwJSS3pUeWmd/H0ffTlkXXgwZi+eq1UCmqQwCh+eLsYOYCwY991i2Fah4h1BEMCx4qThGbsiA==", + "dev": true, + "dependencies": { + "yallist": "^4.0.0" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/normalize-package-data/node_modules/semver": { + "version": "7.5.4", + "resolved": "https://registry.npmjs.org/semver/-/semver-7.5.4.tgz", + "integrity": "sha512-1bCSESV6Pv+i21Hvpxp3Dx+pSD8lIPt8uVjRrxAUt/nbswYc+tK6Y2btiULjd4+fnq15PX+nqQDC7Oft7WkwcA==", + "dev": true, + "dependencies": { + "lru-cache": "^6.0.0" + }, + "bin": { + "semver": "bin/semver.js" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/normalize-package-data/node_modules/yallist": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/yallist/-/yallist-4.0.0.tgz", + "integrity": "sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==", + "dev": true + }, "node_modules/normalize-path": { "version": "3.0.0", "dev": true, @@ -12440,6 +13313,21 @@ "node": ">=0.10.0" } }, + "node_modules/normalize-range": { + "version": "0.1.2", + "resolved": "https://registry.npmjs.org/normalize-range/-/normalize-range-0.1.2.tgz", + "integrity": "sha512-bdok/XvKII3nUpklnV6P2hxtMNrCboOjAcyBuQnWEhO665FwrSNRxU+AqpsyvO6LgGYPspN+lu5CLtw4jPRKNA==", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/normalize-selector": { + "version": "0.2.0", + "resolved": "https://registry.npmjs.org/normalize-selector/-/normalize-selector-0.2.0.tgz", + "integrity": "sha512-dxvWdI8gw6eAvk9BlPffgEoGfM7AdijoCwOEJge3e3ulT2XLgmU7KvvxprOaCu05Q1uGRHmOhHe1r6emZoKyFw==", + "dev": true + }, "node_modules/normalize-url": { "version": "4.5.1", "resolved": "https://registry.npmjs.org/normalize-url/-/normalize-url-4.5.1.tgz", @@ -17520,6 +18408,12 @@ "url": "https://github.com/fb55/nth-check?sponsor=1" } }, + "node_modules/num2fraction": { + "version": "1.2.2", + "resolved": "https://registry.npmjs.org/num2fraction/-/num2fraction-1.2.2.tgz", + "integrity": "sha512-Y1wZESM7VUThYY+4W+X4ySH2maqcA+p7UR+w8VWNWVAd6lwuXXWz/w/Cz43J/dI2I+PS6wD5N+bJUF+gjWvIqg==", + "dev": true + }, "node_modules/number-is-nan": { "version": "1.0.1", "dev": true, @@ -17943,6 +18837,27 @@ "safe-buffer": "~5.1.0" } }, + "node_modules/parent-module": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/parent-module/-/parent-module-1.0.1.tgz", + "integrity": "sha512-GQ2EWRpQV8/o+Aw8YqtfZZPfNRWZYkbidE9k5rpl/hC3vtHHBfGm2Ifi6qWV+coDGkrUKZAxE3Lot5kcsRlh+g==", + "dev": true, + "dependencies": { + "callsites": "^3.0.0" + }, + "engines": { + "node": ">=6" + } + }, + "node_modules/parent-module/node_modules/callsites": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/callsites/-/callsites-3.1.0.tgz", + "integrity": "sha512-P8BjAsXvZS+VIDUI11hHCQEv74YT67YUi5JJFNWIqL235sBmjX4+qx9Muvls5ivyNENctx46xQLQ3aTuE7ssaQ==", + "dev": true, + "engines": { + "node": ">=6" + } + }, "node_modules/parse-asn1": { "version": "5.1.6", "dev": true, @@ -17959,6 +18874,24 @@ "version": "1.0.1", "dev": true }, + "node_modules/parse-entities": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/parse-entities/-/parse-entities-2.0.0.tgz", + "integrity": "sha512-kkywGpCcRYhqQIchaWqZ875wzpS/bMKhz5HnN3p7wveJTkTtyAB/AlnS0f8DFSqYW1T82t6yEAkEcB+A1I3MbQ==", + "dev": true, + "dependencies": { + "character-entities": "^1.0.0", + "character-entities-legacy": "^1.0.0", + "character-reference-invalid": "^1.0.0", + "is-alphanumerical": "^1.0.0", + "is-decimal": "^1.0.0", + "is-hexadecimal": "^1.0.0" + }, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/wooorm" + } + }, "node_modules/parse-filepath": { "version": "1.0.2", "dev": true, @@ -18136,6 +19069,15 @@ "dev": true, "license": "MIT" }, + "node_modules/path-type": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/path-type/-/path-type-4.0.0.tgz", + "integrity": "sha512-gDKb8aZMDeD/tZWs9P6+q0J9Mwkdl6xMV8TjnGP3qJVJ06bdMgkbBlLU8IdfOsIsFz2BW1rNVT3XuNEl8zPAvw==", + "dev": true, + "engines": { + "node": ">=8" + } + }, "node_modules/pbkdf2": { "version": "3.1.2", "dev": true, @@ -18278,6 +19220,217 @@ "node": ">=0.10.0" } }, + "node_modules/postcss": { + "version": "7.0.39", + "resolved": "https://registry.npmjs.org/postcss/-/postcss-7.0.39.tgz", + "integrity": "sha512-yioayjNbHn6z1/Bywyb2Y4s3yvDAeXGOyxqD+LnVOinq6Mdmd++SW2wUNVzavyyHxd6+DxzWGIuosg6P1Rj8uA==", + "dev": true, + "dependencies": { + "picocolors": "^0.2.1", + "source-map": "^0.6.1" + }, + "engines": { + "node": ">=6.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/postcss/" + } + }, + "node_modules/postcss-html": { + "version": "0.36.0", + "resolved": "https://registry.npmjs.org/postcss-html/-/postcss-html-0.36.0.tgz", + "integrity": "sha512-HeiOxGcuwID0AFsNAL0ox3mW6MHH5cstWN1Z3Y+n6H+g12ih7LHdYxWwEA/QmrebctLjo79xz9ouK3MroHwOJw==", + "dev": true, + "dependencies": { + "htmlparser2": "^3.10.0" + }, + "peerDependencies": { + "postcss": ">=5.0.0", + "postcss-syntax": ">=0.36.0" + } + }, + "node_modules/postcss-html/node_modules/dom-serializer": { + "version": "0.2.2", + "resolved": "https://registry.npmjs.org/dom-serializer/-/dom-serializer-0.2.2.tgz", + "integrity": "sha512-2/xPb3ORsQ42nHYiSunXkDjPLBaEj/xTwUO4B7XCZQTRk7EBtTOPaygh10YAAh2OI1Qrp6NWfpAhzswj0ydt9g==", + "dev": true, + "dependencies": { + "domelementtype": "^2.0.1", + "entities": "^2.0.0" + } + }, + "node_modules/postcss-html/node_modules/dom-serializer/node_modules/domelementtype": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/domelementtype/-/domelementtype-2.3.0.tgz", + "integrity": "sha512-OLETBj6w0OsagBwdXnPdN0cnMfF9opN69co+7ZrbfPGrdpPVNBUj02spi6B1N7wChLQiPn4CSH/zJvXw56gmHw==", + "dev": true, + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/fb55" + } + ] + }, + "node_modules/postcss-html/node_modules/dom-serializer/node_modules/entities": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/entities/-/entities-2.2.0.tgz", + "integrity": "sha512-p92if5Nz619I0w+akJrLZH0MX0Pb5DX39XOwQTtXSdQQOaYH03S1uIQp4mhOZtAXrxq4ViO67YTiLBo2638o9A==", + "dev": true, + "funding": { + "url": "https://github.com/fb55/entities?sponsor=1" + } + }, + "node_modules/postcss-html/node_modules/domelementtype": { + "version": "1.3.1", + "resolved": "https://registry.npmjs.org/domelementtype/-/domelementtype-1.3.1.tgz", + "integrity": "sha512-BSKB+TSpMpFI/HOxCNr1O8aMOTZ8hT3pM3GQ0w/mWRmkhEDSFJkkyzz4XQsBV44BChwGkrDfMyjVD0eA2aFV3w==", + "dev": true + }, + "node_modules/postcss-html/node_modules/domhandler": { + "version": "2.4.2", + "resolved": "https://registry.npmjs.org/domhandler/-/domhandler-2.4.2.tgz", + "integrity": "sha512-JiK04h0Ht5u/80fdLMCEmV4zkNh2BcoMFBmZ/91WtYZ8qVXSKjiw7fXMgFPnHcSZgOo3XdinHvmnDUeMf5R4wA==", + "dev": true, + "dependencies": { + "domelementtype": "1" + } + }, + "node_modules/postcss-html/node_modules/domutils": { + "version": "1.7.0", + "resolved": "https://registry.npmjs.org/domutils/-/domutils-1.7.0.tgz", + "integrity": "sha512-Lgd2XcJ/NjEw+7tFvfKxOzCYKZsdct5lczQ2ZaQY8Djz7pfAD3Gbp8ySJWtreII/vDlMVmxwa6pHmdxIYgttDg==", + "dev": true, + "dependencies": { + "dom-serializer": "0", + "domelementtype": "1" + } + }, + "node_modules/postcss-html/node_modules/entities": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/entities/-/entities-1.1.2.tgz", + "integrity": "sha512-f2LZMYl1Fzu7YSBKg+RoROelpOaNrcGmE9AZubeDfrCEia483oW4MI4VyFd5VNHIgQ/7qm1I0wUHK1eJnn2y2w==", + "dev": true + }, + "node_modules/postcss-html/node_modules/htmlparser2": { + "version": "3.10.1", + "resolved": "https://registry.npmjs.org/htmlparser2/-/htmlparser2-3.10.1.tgz", + "integrity": "sha512-IgieNijUMbkDovyoKObU1DUhm1iwNYE/fuifEoEHfd1oZKZDaONBSkal7Y01shxsM49R4XaMdGez3WnF9UfiCQ==", + "dev": true, + "dependencies": { + "domelementtype": "^1.3.1", + "domhandler": "^2.3.0", + "domutils": "^1.5.1", + "entities": "^1.1.1", + "inherits": "^2.0.1", + "readable-stream": "^3.1.1" + } + }, + "node_modules/postcss-less": { + "version": "3.1.4", + "resolved": "https://registry.npmjs.org/postcss-less/-/postcss-less-3.1.4.tgz", + "integrity": "sha512-7TvleQWNM2QLcHqvudt3VYjULVB49uiW6XzEUFmvwHzvsOEF5MwBrIXZDJQvJNFGjJQTzSzZnDoCJ8h/ljyGXA==", + "dev": true, + "dependencies": { + "postcss": "^7.0.14" + }, + "engines": { + "node": ">=6.14.4" + } + }, + "node_modules/postcss-media-query-parser": { + "version": "0.2.3", + "resolved": "https://registry.npmjs.org/postcss-media-query-parser/-/postcss-media-query-parser-0.2.3.tgz", + "integrity": "sha512-3sOlxmbKcSHMjlUXQZKQ06jOswE7oVkXPxmZdoB1r5l0q6gTFTQSHxNxOrCccElbW7dxNytifNEo8qidX2Vsig==", + "dev": true + }, + "node_modules/postcss-resolve-nested-selector": { + "version": "0.1.1", + "resolved": "https://registry.npmjs.org/postcss-resolve-nested-selector/-/postcss-resolve-nested-selector-0.1.1.tgz", + "integrity": "sha512-HvExULSwLqHLgUy1rl3ANIqCsvMS0WHss2UOsXhXnQaZ9VCc2oBvIpXrl00IUFT5ZDITME0o6oiXeiHr2SAIfw==", + "dev": true + }, + "node_modules/postcss-safe-parser": { + "version": "4.0.2", + "resolved": "https://registry.npmjs.org/postcss-safe-parser/-/postcss-safe-parser-4.0.2.tgz", + "integrity": "sha512-Uw6ekxSWNLCPesSv/cmqf2bY/77z11O7jZGPax3ycZMFU/oi2DMH9i89AdHc1tRwFg/arFoEwX0IS3LCUxJh1g==", + "dev": true, + "dependencies": { + "postcss": "^7.0.26" + }, + "engines": { + "node": ">=6.0.0" + } + }, + "node_modules/postcss-sass": { + "version": "0.4.4", + "resolved": "https://registry.npmjs.org/postcss-sass/-/postcss-sass-0.4.4.tgz", + "integrity": "sha512-BYxnVYx4mQooOhr+zer0qWbSPYnarAy8ZT7hAQtbxtgVf8gy+LSLT/hHGe35h14/pZDTw1DsxdbrwxBN++H+fg==", + "dev": true, + "dependencies": { + "gonzales-pe": "^4.3.0", + "postcss": "^7.0.21" + } + }, + "node_modules/postcss-scss": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/postcss-scss/-/postcss-scss-2.1.1.tgz", + "integrity": "sha512-jQmGnj0hSGLd9RscFw9LyuSVAa5Bl1/KBPqG1NQw9w8ND55nY4ZEsdlVuYJvLPpV+y0nwTV5v/4rHPzZRihQbA==", + "dev": true, + "dependencies": { + "postcss": "^7.0.6" + }, + "engines": { + "node": ">=6.0.0" + } + }, + "node_modules/postcss-selector-parser": { + "version": "6.0.13", + "resolved": "https://registry.npmjs.org/postcss-selector-parser/-/postcss-selector-parser-6.0.13.tgz", + "integrity": "sha512-EaV1Gl4mUEV4ddhDnv/xtj7sxwrwxdetHdWUGnT4VJQf+4d05v6lHYZr8N573k5Z0BViss7BDhfWtKS3+sfAqQ==", + "dev": true, + "dependencies": { + "cssesc": "^3.0.0", + "util-deprecate": "^1.0.2" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/postcss-sorting": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/postcss-sorting/-/postcss-sorting-5.0.1.tgz", + "integrity": "sha512-Y9fUFkIhfrm6i0Ta3n+89j56EFqaNRdUKqXyRp6kvTcSXnmgEjaVowCXH+JBe9+YKWqd4nc28r2sgwnzJalccA==", + "dev": true, + "dependencies": { + "lodash": "^4.17.14", + "postcss": "^7.0.17" + }, + "engines": { + "node": ">=8.7.0" + } + }, + "node_modules/postcss-syntax": { + "version": "0.36.2", + "resolved": "https://registry.npmjs.org/postcss-syntax/-/postcss-syntax-0.36.2.tgz", + "integrity": "sha512-nBRg/i7E3SOHWxF3PpF5WnJM/jQ1YpY9000OaVXlAQj6Zp/kIqJxEDWIZ67tAd7NLuk7zqN4yqe9nc0oNAOs1w==", + "dev": true, + "peerDependencies": { + "postcss": ">=5.0.0" + } + }, + "node_modules/postcss-value-parser": { + "version": "4.2.0", + "resolved": "https://registry.npmjs.org/postcss-value-parser/-/postcss-value-parser-4.2.0.tgz", + "integrity": "sha512-1NNCs6uurfkVbeXG4S8JFT9t19m45ICnif8zWLd5oPSZ50QnwMfK+H3jv408d4jw/7Bttv5axS5IiHoLaVNHeQ==", + "dev": true + }, + "node_modules/postcss/node_modules/picocolors": { + "version": "0.2.1", + "resolved": "https://registry.npmjs.org/picocolors/-/picocolors-0.2.1.tgz", + "integrity": "sha512-cMlDqaLEqfSaW8Z7N5Jw+lyIW869EzT73/F5lhtY9cLGoVxSXznfgfXMO0Z5K0o0Q2TkTXq+0KFsdnSe3jDViA==", + "dev": true + }, "node_modules/prelude-ls": { "version": "1.1.2", "dev": true, @@ -18524,6 +19677,35 @@ "node": ">=0.4.x" } }, + "node_modules/queue-microtask": { + "version": "1.2.3", + "resolved": "https://registry.npmjs.org/queue-microtask/-/queue-microtask-1.2.3.tgz", + "integrity": "sha512-NuaNSa6flKT5JaSYQzJok04JzTL1CA6aGhv5rfLW3PgqA+M2ChpZQnAC8h8i4ZFkBS8X5RqkDBHA7r4hej3K9A==", + "dev": true, + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/feross" + }, + { + "type": "patreon", + "url": "https://www.patreon.com/feross" + }, + { + "type": "consulting", + "url": "https://feross.org/support" + } + ] + }, + "node_modules/quick-lru": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/quick-lru/-/quick-lru-4.0.1.tgz", + "integrity": "sha512-ARhCpm70fzdcvNQfPoy49IaanKkTlRWF2JMzqhcJbhSFRZv7nPTvZJdcY7301IPmvW+/p0RgIWnQDLJxifsQ7g==", + "dev": true, + "engines": { + "node": ">=8" + } + }, "node_modules/randombytes": { "version": "2.1.0", "dev": true, @@ -18721,6 +19903,19 @@ "node": ">= 0.10" } }, + "node_modules/redent": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/redent/-/redent-3.0.0.tgz", + "integrity": "sha512-6tDA8g98We0zd0GvVeMT9arEOnTw9qM03L9cJXaCjrip1OO764RDBLBfrB4cwzNGDj5OA5ioymC9GkizgWJDUg==", + "dev": true, + "dependencies": { + "indent-string": "^4.0.0", + "strip-indent": "^3.0.0" + }, + "engines": { + "node": ">=8" + } + }, "node_modules/reflect.getprototypeof": { "version": "1.0.4", "dev": true, @@ -18862,6 +20057,47 @@ "jsesc": "bin/jsesc" } }, + "node_modules/remark": { + "version": "13.0.0", + "resolved": "https://registry.npmjs.org/remark/-/remark-13.0.0.tgz", + "integrity": "sha512-HDz1+IKGtOyWN+QgBiAT0kn+2s6ovOxHyPAFGKVE81VSzJ+mq7RwHFledEvB5F1p4iJvOah/LOKdFuzvRnNLCA==", + "dev": true, + "dependencies": { + "remark-parse": "^9.0.0", + "remark-stringify": "^9.0.0", + "unified": "^9.1.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/remark-parse": { + "version": "9.0.0", + "resolved": "https://registry.npmjs.org/remark-parse/-/remark-parse-9.0.0.tgz", + "integrity": "sha512-geKatMwSzEXKHuzBNU1z676sGcDcFoChMK38TgdHJNAYfFtsfHDQG7MoJAjs6sgYMqyLduCYWDIWZIxiPeafEw==", + "dev": true, + "dependencies": { + "mdast-util-from-markdown": "^0.8.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/remark-stringify": { + "version": "9.0.1", + "resolved": "https://registry.npmjs.org/remark-stringify/-/remark-stringify-9.0.1.tgz", + "integrity": "sha512-mWmNg3ZtESvZS8fv5PTvaPckdL4iNlCHTt8/e/8oN08nArHRHjNZMKzA/YW3+p7/lYqIw4nx1XsjCBo/AxNChg==", + "dev": true, + "dependencies": { + "mdast-util-to-markdown": "^0.6.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, "node_modules/remove-trailing-separator": { "version": "1.1.0", "dev": true, @@ -18964,6 +20200,15 @@ "node": ">=0.10.0" } }, + "node_modules/require-from-string": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/require-from-string/-/require-from-string-2.0.2.tgz", + "integrity": "sha512-Xf0nWe6RseziFMu+Ap9biiUbmplq6S9/p+7w7YXP/JBHhrUDDUhwa+vANyubuqfZWTveU//DYVGsDG7RKL/vEw==", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, "node_modules/require-main-filename": { "version": "2.0.0", "dev": true, @@ -19119,6 +20364,16 @@ "node": ">=0.12" } }, + "node_modules/reusify": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/reusify/-/reusify-1.0.4.tgz", + "integrity": "sha512-U9nH88a3fc/ekCF1l0/UP1IosiuIjyTh7hBvXVMHYgVcfGvt897Xguj2UOLDeI5BG2m7/uwyaLVT6fbtCwTyzw==", + "dev": true, + "engines": { + "iojs": ">=1.0.0", + "node": ">=0.10.0" + } + }, "node_modules/rimraf": { "version": "3.0.2", "dev": true, @@ -19163,6 +20418,29 @@ "node": ">=0.12.0" } }, + "node_modules/run-parallel": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/run-parallel/-/run-parallel-1.2.0.tgz", + "integrity": "sha512-5l4VyZR86LZ/lDxZTR6jqL8AFE2S0IFLMP26AbjsLVADxHdhB/c0GUsH+y39UfCi3dzz8OlQuPmnaJOMoDHQBA==", + "dev": true, + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/feross" + }, + { + "type": "patreon", + "url": "https://www.patreon.com/feross" + }, + { + "type": "consulting", + "url": "https://feross.org/support" + } + ], + "dependencies": { + "queue-microtask": "^1.2.2" + } + }, "node_modules/run-queue": { "version": "1.0.3", "dev": true, @@ -19879,6 +21157,15 @@ "dev": true, "license": "CC0-1.0" }, + "node_modules/specificity": { + "version": "0.4.1", + "resolved": "https://registry.npmjs.org/specificity/-/specificity-0.4.1.tgz", + "integrity": "sha512-1klA3Gi5PD1Wv9Q0wUoOQN1IWAuPu0D1U03ThXTr0cJ20+/iq2tHSDnK7Kk/0LXJ1ztUB2/1Os0wKmfyNgUQfg==", + "dev": true, + "bin": { + "specificity": "bin/specificity" + } + }, "node_modules/speedline-core": { "version": "1.4.3", "resolved": "https://registry.npmjs.org/speedline-core/-/speedline-core-1.4.3.tgz", @@ -20227,6 +21514,18 @@ "node": ">=6" } }, + "node_modules/strip-indent": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/strip-indent/-/strip-indent-3.0.0.tgz", + "integrity": "sha512-laJTa3Jb+VQpaC6DseHhF7dXVqHTfJPCRDaEbid/drOhgitgYku/letMUqOXFoWV0zIIUbjpdH2t+tYj4bQMRQ==", + "dev": true, + "dependencies": { + "min-indent": "^1.0.0" + }, + "engines": { + "node": ">=8" + } + }, "node_modules/strip-json-comments": { "version": "2.0.1", "dev": true, @@ -20235,6 +21534,379 @@ "node": ">=0.10.0" } }, + "node_modules/style-search": { + "version": "0.1.0", + "resolved": "https://registry.npmjs.org/style-search/-/style-search-0.1.0.tgz", + "integrity": "sha512-Dj1Okke1C3uKKwQcetra4jSuk0DqbzbYtXipzFlFMZtowbF1x7BKJwB9AayVMyFARvU8EDrZdcax4At/452cAg==", + "dev": true + }, + "node_modules/stylelint": { + "version": "13.13.1", + "resolved": "https://registry.npmjs.org/stylelint/-/stylelint-13.13.1.tgz", + "integrity": "sha512-Mv+BQr5XTUrKqAXmpqm6Ddli6Ief+AiPZkRsIrAoUKFuq/ElkUh9ZMYxXD0iQNZ5ADghZKLOWz1h7hTClB7zgQ==", + "dev": true, + "dependencies": { + "@stylelint/postcss-css-in-js": "^0.37.2", + "@stylelint/postcss-markdown": "^0.36.2", + "autoprefixer": "^9.8.6", + "balanced-match": "^2.0.0", + "chalk": "^4.1.1", + "cosmiconfig": "^7.0.0", + "debug": "^4.3.1", + "execall": "^2.0.0", + "fast-glob": "^3.2.5", + "fastest-levenshtein": "^1.0.12", + "file-entry-cache": "^6.0.1", + "get-stdin": "^8.0.0", + "global-modules": "^2.0.0", + "globby": "^11.0.3", + "globjoin": "^0.1.4", + "html-tags": "^3.1.0", + "ignore": "^5.1.8", + "import-lazy": "^4.0.0", + "imurmurhash": "^0.1.4", + "known-css-properties": "^0.21.0", + "lodash": "^4.17.21", + "log-symbols": "^4.1.0", + "mathml-tag-names": "^2.1.3", + "meow": "^9.0.0", + "micromatch": "^4.0.4", + "normalize-selector": "^0.2.0", + "postcss": "^7.0.35", + "postcss-html": "^0.36.0", + "postcss-less": "^3.1.4", + "postcss-media-query-parser": "^0.2.3", + "postcss-resolve-nested-selector": "^0.1.1", + "postcss-safe-parser": "^4.0.2", + "postcss-sass": "^0.4.4", + "postcss-scss": "^2.1.1", + "postcss-selector-parser": "^6.0.5", + "postcss-syntax": "^0.36.2", + "postcss-value-parser": "^4.1.0", + "resolve-from": "^5.0.0", + "slash": "^3.0.0", + "specificity": "^0.4.1", + "string-width": "^4.2.2", + "strip-ansi": "^6.0.0", + "style-search": "^0.1.0", + "sugarss": "^2.0.0", + "svg-tags": "^1.0.0", + "table": "^6.6.0", + "v8-compile-cache": "^2.3.0", + "write-file-atomic": "^3.0.3" + }, + "bin": { + "stylelint": "bin/stylelint.js" + }, + "engines": { + "node": ">=10.13.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/stylelint" + } + }, + "node_modules/stylelint-config-sass-guidelines": { + "version": "7.1.0", + "resolved": "https://registry.npmjs.org/stylelint-config-sass-guidelines/-/stylelint-config-sass-guidelines-7.1.0.tgz", + "integrity": "sha512-WvC9nRdlYknftPcUaJCajrPYKg6d2CKffrr7BPPkN/i/Mt8Qsm1hNQ9lqC1sKoCIKdH051SCEZi10qwFLgDbbg==", + "dev": true, + "dependencies": { + "stylelint-order": "^4.0.0", + "stylelint-scss": "^3.18.0" + }, + "peerDependencies": { + "stylelint": "^13.7.0" + } + }, + "node_modules/stylelint-order": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/stylelint-order/-/stylelint-order-4.1.0.tgz", + "integrity": "sha512-sVTikaDvMqg2aJjh4r48jsdfmqLT+nqB1MOsaBnvM3OwLx4S+WXcsxsgk5w18h/OZoxZCxuyXMh61iBHcj9Qiw==", + "dev": true, + "dependencies": { + "lodash": "^4.17.15", + "postcss": "^7.0.31", + "postcss-sorting": "^5.0.1" + }, + "peerDependencies": { + "stylelint": "^10.0.1 || ^11.0.0 || ^12.0.0 || ^13.0.0" + } + }, + "node_modules/stylelint-scss": { + "version": "3.21.0", + "resolved": "https://registry.npmjs.org/stylelint-scss/-/stylelint-scss-3.21.0.tgz", + "integrity": "sha512-CMI2wSHL+XVlNExpauy/+DbUcB/oUZLARDtMIXkpV/5yd8nthzylYd1cdHeDMJVBXeYHldsnebUX6MoV5zPW4A==", + "dev": true, + "dependencies": { + "lodash": "^4.17.15", + "postcss-media-query-parser": "^0.2.3", + "postcss-resolve-nested-selector": "^0.1.1", + "postcss-selector-parser": "^6.0.2", + "postcss-value-parser": "^4.1.0" + }, + "engines": { + "node": ">=8" + }, + "peerDependencies": { + "stylelint": "^8.0.0 || ^9.0.0 || ^10.0.0 || ^11.0.0 || ^12.0.0 || ^13.0.0" + } + }, + "node_modules/stylelint/node_modules/ajv": { + "version": "8.12.0", + "resolved": "https://registry.npmjs.org/ajv/-/ajv-8.12.0.tgz", + "integrity": "sha512-sRu1kpcO9yLtYxBKvqfTeh9KzZEwO3STyX1HT+4CaDzC6HpTGYhIhPIzj9XuKU7KYDwnaeh5hcOwjy1QuJzBPA==", + "dev": true, + "dependencies": { + "fast-deep-equal": "^3.1.1", + "json-schema-traverse": "^1.0.0", + "require-from-string": "^2.0.2", + "uri-js": "^4.2.2" + }, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/epoberezkin" + } + }, + "node_modules/stylelint/node_modules/ansi-styles": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", + "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", + "dev": true, + "dependencies": { + "color-convert": "^2.0.1" + }, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/chalk/ansi-styles?sponsor=1" + } + }, + "node_modules/stylelint/node_modules/astral-regex": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/astral-regex/-/astral-regex-2.0.0.tgz", + "integrity": "sha512-Z7tMw1ytTXt5jqMcOP+OQteU1VuNK9Y02uuJtKQ1Sv69jXQKKg5cibLwGJow8yzZP+eAc18EmLGPal0bp36rvQ==", + "dev": true, + "engines": { + "node": ">=8" + } + }, + "node_modules/stylelint/node_modules/balanced-match": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/balanced-match/-/balanced-match-2.0.0.tgz", + "integrity": "sha512-1ugUSr8BHXRnK23KfuYS+gVMC3LB8QGH9W1iGtDPsNWoQbgtXSExkBu2aDR4epiGWZOjZsj6lDl/N/AqqTC3UA==", + "dev": true + }, + "node_modules/stylelint/node_modules/chalk": { + "version": "4.1.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", + "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", + "dev": true, + "dependencies": { + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/chalk/chalk?sponsor=1" + } + }, + "node_modules/stylelint/node_modules/color-convert": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", + "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", + "dev": true, + "dependencies": { + "color-name": "~1.1.4" + }, + "engines": { + "node": ">=7.0.0" + } + }, + "node_modules/stylelint/node_modules/color-name": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", + "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", + "dev": true + }, + "node_modules/stylelint/node_modules/file-entry-cache": { + "version": "6.0.1", + "resolved": "https://registry.npmjs.org/file-entry-cache/-/file-entry-cache-6.0.1.tgz", + "integrity": "sha512-7Gps/XWymbLk2QLYK4NzpMOrYjMhdIxXuIvy2QBsLE6ljuodKvdkWs/cpyJJ3CVIVpH0Oi1Hvg1ovbMzLdFBBg==", + "dev": true, + "dependencies": { + "flat-cache": "^3.0.4" + }, + "engines": { + "node": "^10.12.0 || >=12.0.0" + } + }, + "node_modules/stylelint/node_modules/flat-cache": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/flat-cache/-/flat-cache-3.1.0.tgz", + "integrity": "sha512-OHx4Qwrrt0E4jEIcI5/Xb+f+QmJYNj2rrK8wiIdQOIrB9WrrJL8cjZvXdXuBTkkEwEqLycb5BeZDV1o2i9bTew==", + "dev": true, + "dependencies": { + "flatted": "^3.2.7", + "keyv": "^4.5.3", + "rimraf": "^3.0.2" + }, + "engines": { + "node": ">=12.0.0" + } + }, + "node_modules/stylelint/node_modules/global-modules": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/global-modules/-/global-modules-2.0.0.tgz", + "integrity": "sha512-NGbfmJBp9x8IxyJSd1P+otYK8vonoJactOogrVfFRIAEY1ukil8RSKDz2Yo7wh1oihl51l/r6W4epkeKJHqL8A==", + "dev": true, + "dependencies": { + "global-prefix": "^3.0.0" + }, + "engines": { + "node": ">=6" + } + }, + "node_modules/stylelint/node_modules/global-prefix": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/global-prefix/-/global-prefix-3.0.0.tgz", + "integrity": "sha512-awConJSVCHVGND6x3tmMaKcQvwXLhjdkmomy2W+Goaui8YPgYgXJZewhg3fWC+DlfqqQuWg8AwqjGTD2nAPVWg==", + "dev": true, + "dependencies": { + "ini": "^1.3.5", + "kind-of": "^6.0.2", + "which": "^1.3.1" + }, + "engines": { + "node": ">=6" + } + }, + "node_modules/stylelint/node_modules/has-flag": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", + "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", + "dev": true, + "engines": { + "node": ">=8" + } + }, + "node_modules/stylelint/node_modules/ignore": { + "version": "5.2.4", + "resolved": "https://registry.npmjs.org/ignore/-/ignore-5.2.4.tgz", + "integrity": "sha512-MAb38BcSbH0eHNBxn7ql2NH/kX33OkB3lZ1BNdh7ENeRChHTYsTvWrMubiIAMNS2llXEEgZ1MUOBtXChP3kaFQ==", + "dev": true, + "engines": { + "node": ">= 4" + } + }, + "node_modules/stylelint/node_modules/import-lazy": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/import-lazy/-/import-lazy-4.0.0.tgz", + "integrity": "sha512-rKtvo6a868b5Hu3heneU+L4yEQ4jYKLtjpnPeUdK7h0yzXGmyBTypknlkCvHFBqfX9YlorEiMM6Dnq/5atfHkw==", + "dev": true, + "engines": { + "node": ">=8" + } + }, + "node_modules/stylelint/node_modules/json-buffer": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/json-buffer/-/json-buffer-3.0.1.tgz", + "integrity": "sha512-4bV5BfR2mqfQTJm+V5tPPdf+ZpuhiIvTuAB5g8kcrXOZpTT/QwwVRWBywX1ozr6lEuPdbHxwaJlm9G6mI2sfSQ==", + "dev": true + }, + "node_modules/stylelint/node_modules/json-schema-traverse": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-1.0.0.tgz", + "integrity": "sha512-NM8/P9n3XjXhIZn1lLhkFaACTOURQXjWhV4BA/RnOv8xvgqtqpAX9IO4mRQxSx1Rlo4tqzeqb0sOlruaOy3dug==", + "dev": true + }, + "node_modules/stylelint/node_modules/keyv": { + "version": "4.5.3", + "resolved": "https://registry.npmjs.org/keyv/-/keyv-4.5.3.tgz", + "integrity": "sha512-QCiSav9WaX1PgETJ+SpNnx2PRRapJ/oRSXM4VO5OGYGSjrxbKPVFVhB3l2OCbLCk329N8qyAtsJjSjvVBWzEug==", + "dev": true, + "dependencies": { + "json-buffer": "3.0.1" + } + }, + "node_modules/stylelint/node_modules/kind-of": { + "version": "6.0.3", + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-6.0.3.tgz", + "integrity": "sha512-dcS1ul+9tmeD95T+x28/ehLgd9mENa3LsvDTtzm3vyBEO7RPptvAD+t44WVXaUjTBRcrpFeFlC8WCruUR456hw==", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/stylelint/node_modules/slice-ansi": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/slice-ansi/-/slice-ansi-4.0.0.tgz", + "integrity": "sha512-qMCMfhY040cVHT43K9BFygqYbUPFZKHOg7K73mtTWJRb8pyP3fzf4Ixd5SzdEJQ6MRUg/WBnOLxghZtKKurENQ==", + "dev": true, + "dependencies": { + "ansi-styles": "^4.0.0", + "astral-regex": "^2.0.0", + "is-fullwidth-code-point": "^3.0.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/chalk/slice-ansi?sponsor=1" + } + }, + "node_modules/stylelint/node_modules/supports-color": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", + "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", + "dev": true, + "dependencies": { + "has-flag": "^4.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/stylelint/node_modules/table": { + "version": "6.8.1", + "resolved": "https://registry.npmjs.org/table/-/table-6.8.1.tgz", + "integrity": "sha512-Y4X9zqrCftUhMeH2EptSSERdVKt/nEdijTOacGD/97EKjhQ/Qs8RTlEGABSJNNN8lac9kheH+af7yAkEWlgneA==", + "dev": true, + "dependencies": { + "ajv": "^8.0.1", + "lodash.truncate": "^4.4.2", + "slice-ansi": "^4.0.0", + "string-width": "^4.2.3", + "strip-ansi": "^6.0.1" + }, + "engines": { + "node": ">=10.0.0" + } + }, + "node_modules/stylelint/node_modules/which": { + "version": "1.3.1", + "resolved": "https://registry.npmjs.org/which/-/which-1.3.1.tgz", + "integrity": "sha512-HxJdYWq1MTIQbJ3nw0cqssHoTNU267KlrDuGZ1WYlxDStUtKUhOaJmh112/TZmHxxUfuJqPXSOm7tDyas0OSIQ==", + "dev": true, + "dependencies": { + "isexe": "^2.0.0" + }, + "bin": { + "which": "bin/which" + } + }, + "node_modules/sugarss": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/sugarss/-/sugarss-2.0.0.tgz", + "integrity": "sha512-WfxjozUk0UVA4jm+U1d736AUpzSrNsQcIbyOkoE364GrtWmIrFdk5lksEupgWMD4VaT/0kVx1dobpiDumSgmJQ==", + "dev": true, + "dependencies": { + "postcss": "^7.0.2" + } + }, "node_modules/supports-color": { "version": "5.5.0", "dev": true, @@ -20292,6 +21964,12 @@ "version": "1.1.3", "license": "MIT" }, + "node_modules/svg-tags": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/svg-tags/-/svg-tags-1.0.0.tgz", + "integrity": "sha512-ovssysQTa+luh7A5Weu3Rta6FJlFBBbInjOh722LIt6klpU2/HtdUbszju/G4devcvk8PGt7FCLv5wftu3THUA==", + "dev": true + }, "node_modules/sweetalert2": { "version": "9.17.4", "license": "MIT", @@ -20912,6 +22590,25 @@ "node": ">=0.8" } }, + "node_modules/trim-newlines": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/trim-newlines/-/trim-newlines-3.0.1.tgz", + "integrity": "sha512-c1PTsA3tYrIsLGkJkzHF+w9F2EyxfXGo4UyJc4pFL++FMjnq0HJS69T3M7d//gKrFKwy429bouPescbjecU+Zw==", + "dev": true, + "engines": { + "node": ">=8" + } + }, + "node_modules/trough": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/trough/-/trough-1.0.5.tgz", + "integrity": "sha512-rvuRbTarPXmMb79SmzEp8aqXNKcK+y0XaB298IXueQ8I2PsrATcPBCSPyK/dDNa2iWOhKlfNnOjdAOTBU/nkFA==", + "dev": true, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/wooorm" + } + }, "node_modules/tryer": { "version": "1.0.1", "dev": true, @@ -21204,6 +22901,56 @@ "node": ">=4" } }, + "node_modules/unified": { + "version": "9.2.2", + "resolved": "https://registry.npmjs.org/unified/-/unified-9.2.2.tgz", + "integrity": "sha512-Sg7j110mtefBD+qunSLO1lqOEKdrwBFBrR6Qd8f4uwkhWNlbkaqwHse6e7QvD3AP/MNoJdEDLaf8OxYyoWgorQ==", + "dev": true, + "dependencies": { + "bail": "^1.0.0", + "extend": "^3.0.0", + "is-buffer": "^2.0.0", + "is-plain-obj": "^2.0.0", + "trough": "^1.0.0", + "vfile": "^4.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/unified/node_modules/is-buffer": { + "version": "2.0.5", + "resolved": "https://registry.npmjs.org/is-buffer/-/is-buffer-2.0.5.tgz", + "integrity": "sha512-i2R6zNFDwgEHJyQUtJEk0XFi1i0dPFn/oqjK3/vPCcDeJvW5NQ83V8QbicfF1SupOaB0h8ntgBC2YiE7dfyctQ==", + "dev": true, + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/feross" + }, + { + "type": "patreon", + "url": "https://www.patreon.com/feross" + }, + { + "type": "consulting", + "url": "https://feross.org/support" + } + ], + "engines": { + "node": ">=4" + } + }, + "node_modules/unified/node_modules/is-plain-obj": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/is-plain-obj/-/is-plain-obj-2.1.0.tgz", + "integrity": "sha512-YWnfyRwxL/+SsrWYfOpUtz5b3YD+nyfkHvjbcanzk8zgyO4ASD67uVMRt8k5bM4lLMDnXfriRhOpemw+NfT1eA==", + "dev": true, + "engines": { + "node": ">=8" + } + }, "node_modules/union-value": { "version": "1.0.1", "dev": true, @@ -21230,6 +22977,42 @@ "node": ">=8" } }, + "node_modules/unist-util-find-all-after": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/unist-util-find-all-after/-/unist-util-find-all-after-3.0.2.tgz", + "integrity": "sha512-xaTC/AGZ0rIM2gM28YVRAFPIZpzbpDtU3dRmp7EXlNVA8ziQc4hY3H7BHXM1J49nEmiqc3svnqMReW+PGqbZKQ==", + "dev": true, + "dependencies": { + "unist-util-is": "^4.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/unist-util-is": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/unist-util-is/-/unist-util-is-4.1.0.tgz", + "integrity": "sha512-ZOQSsnce92GrxSqlnEEseX0gi7GH9zTJZ0p9dtu87WRb/37mMPO2Ilx1s/t9vBHrFhbgweUwb+t7cIn5dxPhZg==", + "dev": true, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/unist-util-stringify-position": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/unist-util-stringify-position/-/unist-util-stringify-position-2.0.3.tgz", + "integrity": "sha512-3faScn5I+hy9VleOq/qNbAd6pAx7iH5jYBMS9I1HgQVijz/4mv5Bvw5iw1sC/90CODiKo81G/ps8AJrISn687g==", + "dev": true, + "dependencies": { + "@types/unist": "^2.0.2" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, "node_modules/unpipe": { "version": "1.0.0", "dev": true, @@ -21510,6 +23293,12 @@ "uuid": "bin/uuid" } }, + "node_modules/v8-compile-cache": { + "version": "2.4.0", + "resolved": "https://registry.npmjs.org/v8-compile-cache/-/v8-compile-cache-2.4.0.tgz", + "integrity": "sha512-ocyWc3bAHBB/guyqJQVI5o4BZkPhznPYUG2ea80Gond/BgNWpap8TOmLSeeQG7bnh2KMISxskdADG59j7zruhw==", + "dev": true + }, "node_modules/v8-to-istanbul": { "version": "4.1.4", "dev": true, @@ -21577,6 +23366,59 @@ "dev": true, "license": "MIT" }, + "node_modules/vfile": { + "version": "4.2.1", + "resolved": "https://registry.npmjs.org/vfile/-/vfile-4.2.1.tgz", + "integrity": "sha512-O6AE4OskCG5S1emQ/4gl8zK586RqA3srz3nfK/Viy0UPToBc5Trp9BVFb1u0CjsKrAWwnpr4ifM/KBXPWwJbCA==", + "dev": true, + "dependencies": { + "@types/unist": "^2.0.0", + "is-buffer": "^2.0.0", + "unist-util-stringify-position": "^2.0.0", + "vfile-message": "^2.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/vfile-message": { + "version": "2.0.4", + "resolved": "https://registry.npmjs.org/vfile-message/-/vfile-message-2.0.4.tgz", + "integrity": "sha512-DjssxRGkMvifUOJre00juHoP9DPWuzjxKuMDrhNbk2TdaYYBNMStsNhEOt3idrtI12VQYM/1+iM0KOzXi4pxwQ==", + "dev": true, + "dependencies": { + "@types/unist": "^2.0.0", + "unist-util-stringify-position": "^2.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/vfile/node_modules/is-buffer": { + "version": "2.0.5", + "resolved": "https://registry.npmjs.org/is-buffer/-/is-buffer-2.0.5.tgz", + "integrity": "sha512-i2R6zNFDwgEHJyQUtJEk0XFi1i0dPFn/oqjK3/vPCcDeJvW5NQ83V8QbicfF1SupOaB0h8ntgBC2YiE7dfyctQ==", + "dev": true, + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/feross" + }, + { + "type": "patreon", + "url": "https://www.patreon.com/feross" + }, + { + "type": "consulting", + "url": "https://feross.org/support" + } + ], + "engines": { + "node": ">=4" + } + }, "node_modules/vm-browserify": { "version": "1.1.2", "dev": true, @@ -22499,14 +24341,6 @@ "node": ">=8" } }, - "node_modules/xmlbuilder": { - "version": "8.2.2", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=4.0" - } - }, "node_modules/xmlchars": { "version": "2.2.0", "dev": true, @@ -22531,6 +24365,15 @@ "dev": true, "license": "ISC" }, + "node_modules/yaml": { + "version": "1.10.2", + "resolved": "https://registry.npmjs.org/yaml/-/yaml-1.10.2.tgz", + "integrity": "sha512-r3vXyErRCYJ7wg28yvBY5VSoAF8ZvlcW9/BwUzEtUsjvX/DKs24dIkuwjtuprwJJHsbyUbLApepYTR1BN4uHrg==", + "dev": true, + "engines": { + "node": ">= 6" + } + }, "node_modules/yargs-parser": { "version": "18.1.3", "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-18.1.3.tgz", @@ -22561,6 +24404,16 @@ } ], "license": "MIT" + }, + "node_modules/zwitch": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/zwitch/-/zwitch-1.0.5.tgz", + "integrity": "sha512-V50KMwwzqJV0NpZIZFwfOD5/lyny3WlSzRiXgA0G7VUnRlqttta1L6UQIHzd6EuBY/cHGfwTIck7w1yH6Q5zUw==", + "dev": true, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/wooorm" + } } }, "dependencies": { @@ -23972,6 +25825,32 @@ "@jridgewell/sourcemap-codec": "^1.4.14" } }, + "@nodelib/fs.scandir": { + "version": "2.1.5", + "resolved": "https://registry.npmjs.org/@nodelib/fs.scandir/-/fs.scandir-2.1.5.tgz", + "integrity": "sha512-vq24Bq3ym5HEQm2NKCr3yXDwjc7vTsEThRDnkp2DK9p1uqLR+DHurm/NOTo0KG7HYHU7eppKZj3MyqYuMBf62g==", + "dev": true, + "requires": { + "@nodelib/fs.stat": "2.0.5", + "run-parallel": "^1.1.9" + } + }, + "@nodelib/fs.stat": { + "version": "2.0.5", + "resolved": "https://registry.npmjs.org/@nodelib/fs.stat/-/fs.stat-2.0.5.tgz", + "integrity": "sha512-RkhPPp2zrqDAQA/2jNhnztcPAlv64XdhIp7a7454A5ovI7Bukxgt7MX7udwAu3zg1DcpPU0rz3VV1SeaqvY4+A==", + "dev": true + }, + "@nodelib/fs.walk": { + "version": "1.2.8", + "resolved": "https://registry.npmjs.org/@nodelib/fs.walk/-/fs.walk-1.2.8.tgz", + "integrity": "sha512-oGB+UxlgWcgQkgwo8GcEGwemoTFt3FIO9ababBmaGwXIoBKZ+GTy0pP185beGg7Llih/NSHSV2XAs1lnznocSg==", + "dev": true, + "requires": { + "@nodelib/fs.scandir": "2.1.5", + "fastq": "^1.6.0" + } + }, "@sindresorhus/is": { "version": "0.14.0", "resolved": "https://registry.npmjs.org/@sindresorhus/is/-/is-0.14.0.tgz", @@ -23985,6 +25864,25 @@ "type-detect": "4.0.8" } }, + "@stylelint/postcss-css-in-js": { + "version": "0.37.3", + "resolved": "https://registry.npmjs.org/@stylelint/postcss-css-in-js/-/postcss-css-in-js-0.37.3.tgz", + "integrity": "sha512-scLk3cSH1H9KggSniseb2KNAU5D9FWc3H7BxCSAIdtU9OWIyw0zkEZ9qEKHryRM+SExYXRKNb7tOOVNAsQ3iwg==", + "dev": true, + "requires": { + "@babel/core": "^7.17.9" + } + }, + "@stylelint/postcss-markdown": { + "version": "0.36.2", + "resolved": "https://registry.npmjs.org/@stylelint/postcss-markdown/-/postcss-markdown-0.36.2.tgz", + "integrity": "sha512-2kGbqUVJUGE8dM+bMzXG/PYUWKkjLIkRLWNh39OaADkiabDRdw8ATFCgbMz5xdIcvwspPAluSL7uY+ZiTWdWmQ==", + "dev": true, + "requires": { + "remark": "^13.0.0", + "unist-util-find-all-after": "^3.0.2" + } + }, "@szmarczak/http-timer": { "version": "1.1.2", "resolved": "https://registry.npmjs.org/@szmarczak/http-timer/-/http-timer-1.1.2.tgz", @@ -24061,12 +25959,27 @@ "version": "0.0.29", "dev": true }, + "@types/mdast": { + "version": "3.0.13", + "resolved": "https://registry.npmjs.org/@types/mdast/-/mdast-3.0.13.tgz", + "integrity": "sha512-HjiGiWedR0DVFkeNljpa6Lv4/IZU1+30VY5d747K7lBudFc3R0Ibr6yJ9lN3BE28VnZyDfLF/VB1Ql1ZIbKrmg==", + "dev": true, + "requires": { + "@types/unist": "^2" + } + }, "@types/minimatch": { "version": "3.0.5", "resolved": "https://registry.npmjs.org/@types/minimatch/-/minimatch-3.0.5.tgz", "integrity": "sha512-Klz949h02Gz2uZCMGwDUSDS1YBlTdDDgbWHi+81l29tQALUtvz4rAYi5uoVhE5Lagoq6DeqAUlbrHvW/mXDgdQ==", "dev": true }, + "@types/minimist": { + "version": "1.2.3", + "resolved": "https://registry.npmjs.org/@types/minimist/-/minimist-1.2.3.tgz", + "integrity": "sha512-ZYFzrvyWUNhaPomn80dsMNgMeXxNWZBdkuG/hWlUvXvbdUH8ZERNBGXnU87McuGcWDsyzX2aChCv/SVN348k3A==", + "dev": true + }, "@types/node": { "version": "20.5.7", "dev": true @@ -24075,6 +25988,12 @@ "version": "2.4.1", "dev": true }, + "@types/parse-json": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/@types/parse-json/-/parse-json-4.0.0.tgz", + "integrity": "sha512-//oorEZjL6sbPcKUaCdIGlIUeH26mgzimjBB77G6XRgnDl/L5wOnpyBGRe/Mmf5CVW3PwEBE1NjiMZ/ssFh4wA==", + "dev": true + }, "@types/prettier": { "version": "1.19.1", "dev": true @@ -24083,6 +26002,12 @@ "version": "1.0.1", "dev": true }, + "@types/unist": { + "version": "2.0.8", + "resolved": "https://registry.npmjs.org/@types/unist/-/unist-2.0.8.tgz", + "integrity": "sha512-d0XxK3YTObnWVp6rZuev3c49+j4Lo8g4L1ZRm9z5L0xpoZycUPshHgczK5gsUMaZOstjVYYi09p5gYvUtfChYw==", + "dev": true + }, "@types/yargs": { "version": "15.0.15", "dev": true, @@ -24586,6 +26511,29 @@ "version": "2.1.2", "dev": true }, + "autoprefixer": { + "version": "9.8.8", + "resolved": "https://registry.npmjs.org/autoprefixer/-/autoprefixer-9.8.8.tgz", + "integrity": "sha512-eM9d/swFopRt5gdJ7jrpCwgvEMIayITpojhkkSMRsFHYuH5bkSQ4p/9qTEHtmNudUZh22Tehu7I6CxAW0IXTKA==", + "dev": true, + "requires": { + "browserslist": "^4.12.0", + "caniuse-lite": "^1.0.30001109", + "normalize-range": "^0.1.2", + "num2fraction": "^1.2.2", + "picocolors": "^0.2.1", + "postcss": "^7.0.32", + "postcss-value-parser": "^4.1.0" + }, + "dependencies": { + "picocolors": { + "version": "0.2.1", + "resolved": "https://registry.npmjs.org/picocolors/-/picocolors-0.2.1.tgz", + "integrity": "sha512-cMlDqaLEqfSaW8Z7N5Jw+lyIW869EzT73/F5lhtY9cLGoVxSXznfgfXMO0Z5K0o0Q2TkTXq+0KFsdnSe3jDViA==", + "dev": true + } + } + }, "available-typed-arrays": { "version": "1.0.5", "dev": true @@ -24809,6 +26757,12 @@ "babel-preset-current-node-syntax": "^0.1.2" } }, + "bail": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/bail/-/bail-1.0.5.tgz", + "integrity": "sha512-xFbRxM1tahm08yHBP16MMjVUAvDaBMD38zsM9EMAUN61omwLmKlOpB/Zku5QkjZ8TZ4vn53pj+t518cH0S03RQ==", + "dev": true + }, "balanced-match": { "version": "1.0.2", "dev": true @@ -25249,6 +27203,17 @@ "integrity": "sha512-L28STB170nwWS63UjtlEOE3dldQApaJXZkOI1uMFfzf3rRuPegHaHesyee+YxQ+W6SvRDQV6UrdOdRiR153wJg==", "dev": true }, + "camelcase-keys": { + "version": "6.2.2", + "resolved": "https://registry.npmjs.org/camelcase-keys/-/camelcase-keys-6.2.2.tgz", + "integrity": "sha512-YrwaA0vEKazPBkn0ipTiMpSajYDSe+KjQfrjhcBMxJt/znbvlHd8Pw/Vamaz5EB4Wfhs3SUR3Z9mwRu/P3s3Yg==", + "dev": true, + "requires": { + "camelcase": "^5.3.1", + "map-obj": "^4.0.0", + "quick-lru": "^4.0.1" + } + }, "caniuse-lite": { "version": "1.0.30001524", "dev": true @@ -25277,6 +27242,24 @@ "supports-color": "^5.3.0" } }, + "character-entities": { + "version": "1.2.4", + "resolved": "https://registry.npmjs.org/character-entities/-/character-entities-1.2.4.tgz", + "integrity": "sha512-iBMyeEHxfVnIakwOuDXpVkc54HijNgCyQB2w0VfGQThle6NXn50zU6V/u+LDhxHcDUPojn6Kpga3PTAD8W1bQw==", + "dev": true + }, + "character-entities-legacy": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/character-entities-legacy/-/character-entities-legacy-1.1.4.tgz", + "integrity": "sha512-3Xnr+7ZFS1uxeiUDvV02wQ+QDbc55o97tIV5zHScSPJpcLm/r0DFPcoY3tYRp+VZukxuMeKgXYmsXQHO05zQeA==", + "dev": true + }, + "character-reference-invalid": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/character-reference-invalid/-/character-reference-invalid-1.1.4.tgz", + "integrity": "sha512-mKKUkUbhPpQlCOfIuZkvSEgktjPFIsZKRRbC6KWVEMvlzblj3i3asQv5ODsrwt0N3pHAEvjP8KTQPHkp0+6jOg==", + "dev": true + }, "chardet": { "version": "0.7.0", "resolved": "https://registry.npmjs.org/chardet/-/chardet-0.7.0.tgz", @@ -25455,6 +27438,15 @@ } } }, + "clone-regexp": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/clone-regexp/-/clone-regexp-2.2.0.tgz", + "integrity": "sha512-beMpP7BOtTipFuW8hrJvREQ2DrRu3BE7by0ZpibtfBA+qfHYvMGTc2Yb1JMYPKg/JUw0CHYvpg796aNTSW9z7Q==", + "dev": true, + "requires": { + "is-regexp": "^2.0.0" + } + }, "clone-response": { "version": "1.0.3", "resolved": "https://registry.npmjs.org/clone-response/-/clone-response-1.0.3.tgz", @@ -25660,6 +27652,19 @@ "version": "1.0.3", "dev": true }, + "cosmiconfig": { + "version": "7.1.0", + "resolved": "https://registry.npmjs.org/cosmiconfig/-/cosmiconfig-7.1.0.tgz", + "integrity": "sha512-AdmX6xUzdNASswsFtmwSt7Vj8po9IuqXm0UXz7QKPuEUmPB4XyjGfaAr2PSuELMwkRMVH1EpIkX5bTZGRB3eCA==", + "dev": true, + "requires": { + "@types/parse-json": "^4.0.0", + "import-fresh": "^3.2.1", + "parse-json": "^5.0.0", + "path-type": "^4.0.0", + "yaml": "^1.10.0" + } + }, "create-ecdh": { "version": "4.0.4", "dev": true, @@ -25792,6 +27797,12 @@ "integrity": "sha512-HTUrgRJ7r4dsZKU6GjmpfRK1O76h97Z8MfS1G0FozR+oF2kG6Vfe8JE6zwrkbxigziPHinCJ+gCPjA9EaBDtRw==", "dev": true }, + "cssesc": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/cssesc/-/cssesc-3.0.0.tgz", + "integrity": "sha512-/Tb/JcjK111nNScGob5MNtsntNM1aCNUDipB/TkwZFhyDrrE47SOx/18wF2bbjgc3ZzCSKW1T5nt5EbFoAz/Vg==", + "dev": true + }, "cssom": { "version": "0.3.8", "dev": true @@ -25868,6 +27879,24 @@ "version": "1.2.0", "dev": true }, + "decamelize-keys": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/decamelize-keys/-/decamelize-keys-1.1.1.tgz", + "integrity": "sha512-WiPxgEirIV0/eIOMcnFBA3/IJZAZqKnwAwWyvvdi4lsr1WCN22nhdf/3db3DoZcUjTV2SqfzIwNyp6y2xs3nmg==", + "dev": true, + "requires": { + "decamelize": "^1.1.0", + "map-obj": "^1.0.0" + }, + "dependencies": { + "map-obj": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/map-obj/-/map-obj-1.0.1.tgz", + "integrity": "sha512-7N/q3lyZ+LVCp7PzuxrJr4KMbBE2hW7BT7YNia330OFxIf4d3r5zVpicP2650l7CPN6RM9zOJRl3NGpqSiw3Eg==", + "dev": true + } + } + }, "decode-uri-component": { "version": "0.2.2", "dev": true @@ -25999,6 +28028,15 @@ } } }, + "dir-glob": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/dir-glob/-/dir-glob-3.0.1.tgz", + "integrity": "sha512-WkrWp9GR4KXfKGYzOLmTuGVi1UWFfws377n9cc55/tb6DuqyF6pcQ5AbiHEshaDpY9v6oaSr2XCDidGmMwdzIA==", + "dev": true, + "requires": { + "path-type": "^4.0.0" + } + }, "doctrine": { "version": "2.1.0", "dev": true, @@ -26929,6 +28967,15 @@ } } }, + "execall": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/execall/-/execall-2.0.0.tgz", + "integrity": "sha512-0FU2hZ5Hh6iQnarpRtQurM/aAvp3RIbfvgLHrcqJYzhXyV2KFruhuChf9NC6waAhiUR7FFtlugkI4p7f2Fqlow==", + "dev": true, + "requires": { + "clone-regexp": "^2.1.0" + } + }, "exit": { "version": "0.1.2", "dev": true @@ -27283,6 +29330,19 @@ "version": "3.1.3", "dev": true }, + "fast-glob": { + "version": "3.3.1", + "resolved": "https://registry.npmjs.org/fast-glob/-/fast-glob-3.3.1.tgz", + "integrity": "sha512-kNFPyjhh5cKjrUltxs+wFx+ZkbRaxxmZ+X0ZU31SOsxCEtP9VPgtq2teZw1DebupL5GmDaNQ6yKMMVcM41iqDg==", + "dev": true, + "requires": { + "@nodelib/fs.stat": "^2.0.2", + "@nodelib/fs.walk": "^1.2.3", + "glob-parent": "^5.1.2", + "merge2": "^1.3.0", + "micromatch": "^4.0.4" + } + }, "fast-json-stable-stringify": { "version": "2.1.0", "dev": true @@ -27300,6 +29360,15 @@ "integrity": "sha512-eRnCtTTtGZFpQCwhJiUOuxPQWRXVKYDn0b2PeHfXL6/Zi53SLAzAHfVhVWK2AryC/WH05kGfxhFIPvTF0SXQzg==", "dev": true }, + "fastq": { + "version": "1.15.0", + "resolved": "https://registry.npmjs.org/fastq/-/fastq-1.15.0.tgz", + "integrity": "sha512-wBrocU2LCXXa+lWBt8RoIRD89Fi8OdABODa/kEnyeyjS5aZO5/GNvI5sEINADqP/h8M29UHTHUb53sUu5Ihqdw==", + "dev": true, + "requires": { + "reusify": "^1.0.4" + } + }, "fb-watchman": { "version": "2.0.2", "dev": true, @@ -27405,6 +29474,12 @@ } } }, + "flatted": { + "version": "3.2.9", + "resolved": "https://registry.npmjs.org/flatted/-/flatted-3.2.9.tgz", + "integrity": "sha512-36yxDn5H7OFZQla0/jFJmbIKTdZAQHngCedGxiMmpNfEZM0sdEeT+WczLQrjK6D7o2aiyLYDnkw0R3JK0Qv1RQ==", + "dev": true + }, "flush-write-stream": { "version": "1.1.1", "dev": true, @@ -27618,6 +29693,12 @@ "version": "0.1.0", "dev": true }, + "get-stdin": { + "version": "8.0.0", + "resolved": "https://registry.npmjs.org/get-stdin/-/get-stdin-8.0.0.tgz", + "integrity": "sha512-sY22aA6xchAzprjyqmSEQv4UbAAzRN0L2dQB0NlN5acTTK9Don6nhoc3eAbUnpZiCANAMfd/+40kVdKfFygohg==", + "dev": true + }, "get-stream": { "version": "4.1.0", "dev": true, @@ -27663,7 +29744,6 @@ "glob-parent": { "version": "5.1.2", "dev": true, - "optional": true, "requires": { "is-glob": "^4.0.1" } @@ -27725,6 +29805,43 @@ "define-properties": "^1.1.3" } }, + "globby": { + "version": "11.1.0", + "resolved": "https://registry.npmjs.org/globby/-/globby-11.1.0.tgz", + "integrity": "sha512-jhIXaOzy1sb8IyocaruWSn1TjmnBVs8Ayhcy83rmxNJ8q2uWKCAj3CnJY+KpGSXCueAPc0i05kVvVKtP1t9S3g==", + "dev": true, + "requires": { + "array-union": "^2.1.0", + "dir-glob": "^3.0.1", + "fast-glob": "^3.2.9", + "ignore": "^5.2.0", + "merge2": "^1.4.1", + "slash": "^3.0.0" + }, + "dependencies": { + "ignore": { + "version": "5.2.4", + "resolved": "https://registry.npmjs.org/ignore/-/ignore-5.2.4.tgz", + "integrity": "sha512-MAb38BcSbH0eHNBxn7ql2NH/kX33OkB3lZ1BNdh7ENeRChHTYsTvWrMubiIAMNS2llXEEgZ1MUOBtXChP3kaFQ==", + "dev": true + } + } + }, + "globjoin": { + "version": "0.1.4", + "resolved": "https://registry.npmjs.org/globjoin/-/globjoin-0.1.4.tgz", + "integrity": "sha512-xYfnw62CKG8nLkZBfWbhWwDw02CHty86jfPcc2cr3ZfeuK9ysoVPPEUxf21bAD/rWAgk52SuBrLJlefNy8mvFg==", + "dev": true + }, + "gonzales-pe": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/gonzales-pe/-/gonzales-pe-4.3.0.tgz", + "integrity": "sha512-otgSPpUmdWJ43VXyiNgEYE4luzHCL2pz4wQ0OnDluC6Eg4Ko3Vexy/SrSynglw/eR+OhkzmqFCZa/OFa/RgAOQ==", + "dev": true, + "requires": { + "minimist": "^1.2.5" + } + }, "gopd": { "version": "1.0.1", "dev": true, @@ -27944,51 +30061,62 @@ } } }, - "grunt-scss-lint": { - "version": "0.5.0", + "grunt-stylelint": { + "version": "0.16.0", + "resolved": "https://registry.npmjs.org/grunt-stylelint/-/grunt-stylelint-0.16.0.tgz", + "integrity": "sha512-ullm0h9iCdgPEDq1TNwKL5HteXA4zke6wbYoRtsO32ATCU3zfUXmDN9unhu+joEcdgJKOPcd2+7UhRNXO1rr+w==", "dev": true, "requires": { - "chalk": "^1.1.3", - "lodash": "^4.12.0", - "which": "^1.2.8", - "xmlbuilder": "^8.2.2" + "chalk": "^4.1.0" }, "dependencies": { - "ansi-regex": { - "version": "2.1.1", - "dev": true - }, "ansi-styles": { - "version": "2.2.1", - "dev": true + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", + "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", + "dev": true, + "requires": { + "color-convert": "^2.0.1" + } }, "chalk": { - "version": "1.1.3", + "version": "4.1.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", + "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", "dev": true, "requires": { - "ansi-styles": "^2.2.1", - "escape-string-regexp": "^1.0.2", - "has-ansi": "^2.0.0", - "strip-ansi": "^3.0.0", - "supports-color": "^2.0.0" + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" } }, - "strip-ansi": { - "version": "3.0.1", + "color-convert": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", + "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", "dev": true, "requires": { - "ansi-regex": "^2.0.0" + "color-name": "~1.1.4" } }, - "supports-color": { - "version": "2.0.0", + "color-name": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", + "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", "dev": true }, - "which": { - "version": "1.3.1", + "has-flag": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", + "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", + "dev": true + }, + "supports-color": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", + "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", "dev": true, "requires": { - "isexe": "^2.0.0" + "has-flag": "^4.0.0" } } } @@ -28044,6 +30172,12 @@ "har-schema": "^2.0.0" } }, + "hard-rejection": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/hard-rejection/-/hard-rejection-2.1.0.tgz", + "integrity": "sha512-VIZB+ibDhx7ObhAe7OVtoEbuP4h/MuOTHJ+J8h/eBXotJYl0fBgR72xDFCKgIh22OJZIOVNxBMWuhAr10r8HdA==", + "dev": true + }, "has": { "version": "1.0.3", "dev": true, @@ -28183,6 +30317,32 @@ "version": "0.1.4", "dev": true }, + "hosted-git-info": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/hosted-git-info/-/hosted-git-info-4.1.0.tgz", + "integrity": "sha512-kyCuEOWjJqZuDbRHzL8V93NzQhwIB71oFWSyzVo+KPZI+pnQPPxucdkrOZvkLRnrf5URsQM+IJ09Dw29cRALIA==", + "dev": true, + "requires": { + "lru-cache": "^6.0.0" + }, + "dependencies": { + "lru-cache": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-6.0.0.tgz", + "integrity": "sha512-Jo6dJ04CmSjuznwJSS3pUeWmd/H0ffTlkXXgwZi+eq1UCmqQwCh+eLsYOYCwY991i2Fah4h1BEMCx4qThGbsiA==", + "dev": true, + "requires": { + "yallist": "^4.0.0" + } + }, + "yallist": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/yallist/-/yallist-4.0.0.tgz", + "integrity": "sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==", + "dev": true + } + } + }, "html-encoding-sniffer": { "version": "1.0.2", "dev": true, @@ -28194,6 +30354,12 @@ "version": "2.0.2", "dev": true }, + "html-tags": { + "version": "3.3.1", + "resolved": "https://registry.npmjs.org/html-tags/-/html-tags-3.3.1.tgz", + "integrity": "sha512-ztqyC3kLto0e9WbNp0aeP+M3kTt+nbaIveGmUxAtZa+8iFgKLUOD4YKM5j+f3QD89bra7UeumolZHKuOXnTmeQ==", + "dev": true + }, "htmlparser2": { "version": "8.0.2", "resolved": "https://registry.npmjs.org/htmlparser2/-/htmlparser2-8.0.2.tgz", @@ -28275,6 +30441,24 @@ "integrity": "sha512-W7+sO6/yhxy83L0G7xR8YAc5Z5QFtYEXXRV6EaE8tuYBZJnA3gVgp3q7X7muhLZVodeb9UfvjSbwt9VJwjIYAg==", "dev": true }, + "import-fresh": { + "version": "3.3.0", + "resolved": "https://registry.npmjs.org/import-fresh/-/import-fresh-3.3.0.tgz", + "integrity": "sha512-veYYhQa+D1QBKznvhUHxb8faxlrwUnxseDAbAp457E0wLNio2bOSKnjYDhMj+YiAq61xrMGhQk9iXVk5FzgQMw==", + "dev": true, + "requires": { + "parent-module": "^1.0.0", + "resolve-from": "^4.0.0" + }, + "dependencies": { + "resolve-from": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/resolve-from/-/resolve-from-4.0.0.tgz", + "integrity": "sha512-pb/MYmXstAkysRFx8piNI1tGFNQIFA3vkE3Gq4EuA1dF6gHp/+vgZqsCGJapvy8N3Q+4o7FwvquPJcnZ7RYy4g==", + "dev": true + } + } + }, "import-lazy": { "version": "2.1.0", "resolved": "https://registry.npmjs.org/import-lazy/-/import-lazy-2.1.0.tgz", @@ -28323,6 +30507,12 @@ "version": "0.1.4", "dev": true }, + "indent-string": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/indent-string/-/indent-string-4.0.0.tgz", + "integrity": "sha512-EdDDZu4A2OyIK7Lr/2zG+w5jmbuk1DVBnEwREQvBzspBJkCEbRa8GxU1lghYcaGJCnRWibjDXlq779X1/y5xwg==", + "dev": true + }, "infer-owner": { "version": "1.0.4", "dev": true @@ -28482,6 +30672,22 @@ "kind-of": "^3.0.2" } }, + "is-alphabetical": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/is-alphabetical/-/is-alphabetical-1.0.4.tgz", + "integrity": "sha512-DwzsA04LQ10FHTZuL0/grVDk4rFoVH1pjAToYwBrHSxcrBIGQuXrQMtD5U1b0U2XVgKZCTLLP8u2Qxqhy3l2Vg==", + "dev": true + }, + "is-alphanumerical": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/is-alphanumerical/-/is-alphanumerical-1.0.4.tgz", + "integrity": "sha512-UzoZUr+XfVz3t3v4KyGEniVL9BDRoQtY7tOyrRybkVNjDFWyo1yhXNGrrBTQxp3ib9BLAWs7k2YKBQsFRkZG9A==", + "dev": true, + "requires": { + "is-alphabetical": "^1.0.0", + "is-decimal": "^1.0.0" + } + }, "is-array-buffer": { "version": "3.0.2", "dev": true, @@ -28561,6 +30767,12 @@ "has-tostringtag": "^1.0.0" } }, + "is-decimal": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/is-decimal/-/is-decimal-1.0.4.tgz", + "integrity": "sha512-RGdriMmQQvZ2aqaQq3awNA6dCGtKpiDFcOzrTWrDAT2MiWrKQVPmxLGHl7Y2nNu6led0kEyoX0enY0qXYsv9zw==", + "dev": true + }, "is-descriptor": { "version": "0.1.6", "dev": true, @@ -28620,6 +30832,12 @@ "is-extglob": "^2.1.1" } }, + "is-hexadecimal": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/is-hexadecimal/-/is-hexadecimal-1.0.4.tgz", + "integrity": "sha512-gyPJuv83bHMpocVYoqof5VDiZveEoGoFL8m3BXNb2VW8Xs+rz9kqO8LOQ5DH6EsuvilT1ApazU0pyl+ytbPtlw==", + "dev": true + }, "is-installed-globally": { "version": "0.3.2", "resolved": "https://registry.npmjs.org/is-installed-globally/-/is-installed-globally-0.3.2.tgz", @@ -28673,6 +30891,12 @@ "integrity": "sha512-Fd4gABb+ycGAmKou8eMftCupSir5lRxqf4aD/vd0cD2qc4HL07OjCeuHMr8Ro4CoMaeCKDB0/ECBOVWjTwUvPQ==", "dev": true }, + "is-plain-obj": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/is-plain-obj/-/is-plain-obj-1.1.0.tgz", + "integrity": "sha512-yvkRyxmFKEOQ4pNXCmJG5AEQNlXJS5LaONXo5/cLdTZdWvsZ1ioJEonLGAosKlMWE8lwUy/bJzMjcw8az73+Fg==", + "dev": true + }, "is-plain-object": { "version": "2.0.4", "resolved": "https://registry.npmjs.org/is-plain-object/-/is-plain-object-2.0.4.tgz", @@ -28690,6 +30914,12 @@ "has-tostringtag": "^1.0.0" } }, + "is-regexp": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/is-regexp/-/is-regexp-2.1.0.tgz", + "integrity": "sha512-OZ4IlER3zmRIoB9AqNhEggVxqIH4ofDns5nRrPS6yQxXE1TPCUpFznBfRQmQa8uC+pXqjMnukiJBxCisIxiLGA==", + "dev": true + }, "is-relative": { "version": "1.0.0", "dev": true, @@ -28748,6 +30978,12 @@ "unc-path-regex": "^0.1.2" } }, + "is-unicode-supported": { + "version": "0.1.0", + "resolved": "https://registry.npmjs.org/is-unicode-supported/-/is-unicode-supported-0.1.0.tgz", + "integrity": "sha512-knxG2q4UC3u8stRGyAVJCOdxFmv5DZiRcdlIaAQXAbSfJya+OhopNotLQrstBhququ4ZpuKbDc/8S6mgXgPFPw==", + "dev": true + }, "is-valid-month": { "version": "1.0.0", "requires": { @@ -30226,6 +32462,12 @@ "version": "3.0.3", "dev": true }, + "known-css-properties": { + "version": "0.21.0", + "resolved": "https://registry.npmjs.org/known-css-properties/-/known-css-properties-0.21.0.tgz", + "integrity": "sha512-sZLUnTqimCkvkgRS+kbPlYW5o8q5w1cu+uIisKpEWkj31I8mx8kNG162DwRav8Zirkva6N5uoFsm9kzK4mUXjw==", + "dev": true + }, "language-subtag-registry": { "version": "0.3.22", "dev": true @@ -30637,6 +32879,73 @@ "version": "4.7.0", "dev": true }, + "lodash.truncate": { + "version": "4.4.2", + "resolved": "https://registry.npmjs.org/lodash.truncate/-/lodash.truncate-4.4.2.tgz", + "integrity": "sha512-jttmRe7bRse52OsWIMDLaXxWqRAmtIUccAQ3garviCqJjafXOfNMO0yMfNpdD6zbGaTU0P5Nz7e7gAT6cKmJRw==", + "dev": true + }, + "log-symbols": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/log-symbols/-/log-symbols-4.1.0.tgz", + "integrity": "sha512-8XPvpAA8uyhfteu8pIvQxpJZ7SYYdpUivZpGy6sFsBuKRY/7rQGavedeB8aK+Zkyq6upMFVL/9AW6vOYzfRyLg==", + "dev": true, + "requires": { + "chalk": "^4.1.0", + "is-unicode-supported": "^0.1.0" + }, + "dependencies": { + "ansi-styles": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", + "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", + "dev": true, + "requires": { + "color-convert": "^2.0.1" + } + }, + "chalk": { + "version": "4.1.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", + "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", + "dev": true, + "requires": { + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" + } + }, + "color-convert": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", + "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", + "dev": true, + "requires": { + "color-name": "~1.1.4" + } + }, + "color-name": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", + "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", + "dev": true + }, + "has-flag": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", + "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", + "dev": true + }, + "supports-color": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", + "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", + "dev": true, + "requires": { + "has-flag": "^4.0.0" + } + } + } + }, "lolex": { "version": "5.1.2", "dev": true, @@ -30644,6 +32953,12 @@ "@sinonjs/commons": "^1.7.0" } }, + "longest-streak": { + "version": "2.0.4", + "resolved": "https://registry.npmjs.org/longest-streak/-/longest-streak-2.0.4.tgz", + "integrity": "sha512-vM6rUVCVUJJt33bnmHiZEvr7wPT78ztX7rojL+LW51bHtLh6HTjx84LA5W4+oa6aKEJA7jJu5LR6vQRBpA5DVg==", + "dev": true + }, "lookup-closest-locale": { "version": "6.0.4", "dev": true @@ -30699,6 +33014,12 @@ "version": "0.2.2", "dev": true }, + "map-obj": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/map-obj/-/map-obj-4.3.0.tgz", + "integrity": "sha512-hdN1wVrZbb29eBGiGjJbeP8JbKjq1urkHJ/LIP/NY48MZ1QVXUsQBV1G1zvYFHn1XE06cwjBsOI2K3Ulnj1YXQ==", + "dev": true + }, "map-visit": { "version": "1.0.0", "dev": true, @@ -30712,6 +33033,12 @@ "integrity": "sha512-q9JtQJKjpsVxCRVgQ+WapguSbKC3SQ5HEzFGPAJMStgh3QjCawp00UKv3MTTAArTmGmmPUvllHZoNbZ3gs0I+Q==", "dev": true }, + "mathml-tag-names": { + "version": "2.1.3", + "resolved": "https://registry.npmjs.org/mathml-tag-names/-/mathml-tag-names-2.1.3.tgz", + "integrity": "sha512-APMBEanjybaPzUrfqU0IMU5I0AswKMH7k8OTLs0vvV4KZpExkTkY87nR/zpbuTPj+gARop7aGUbl11pnDfW6xg==", + "dev": true + }, "md5": { "version": "2.3.0", "dev": true, @@ -30730,6 +33057,39 @@ "safe-buffer": "^5.1.2" } }, + "mdast-util-from-markdown": { + "version": "0.8.5", + "resolved": "https://registry.npmjs.org/mdast-util-from-markdown/-/mdast-util-from-markdown-0.8.5.tgz", + "integrity": "sha512-2hkTXtYYnr+NubD/g6KGBS/0mFmBcifAsI0yIWRiRo0PjVs6SSOSOdtzbp6kSGnShDN6G5aWZpKQ2lWRy27mWQ==", + "dev": true, + "requires": { + "@types/mdast": "^3.0.0", + "mdast-util-to-string": "^2.0.0", + "micromark": "~2.11.0", + "parse-entities": "^2.0.0", + "unist-util-stringify-position": "^2.0.0" + } + }, + "mdast-util-to-markdown": { + "version": "0.6.5", + "resolved": "https://registry.npmjs.org/mdast-util-to-markdown/-/mdast-util-to-markdown-0.6.5.tgz", + "integrity": "sha512-XeV9sDE7ZlOQvs45C9UKMtfTcctcaj/pGwH8YLbMHoMOXNNCn2LsqVQOqrF1+/NU8lKDAqozme9SCXWyo9oAcQ==", + "dev": true, + "requires": { + "@types/unist": "^2.0.0", + "longest-streak": "^2.0.0", + "mdast-util-to-string": "^2.0.0", + "parse-entities": "^2.0.0", + "repeat-string": "^1.0.0", + "zwitch": "^1.0.0" + } + }, + "mdast-util-to-string": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/mdast-util-to-string/-/mdast-util-to-string-2.0.0.tgz", + "integrity": "sha512-AW4DRS3QbBayY/jJmD8437V1Gombjf8RSOUCMFBuo5iHi58AGEgVCKQ+ezHkZZDpAQS75hcBMpLqjpJTjtUL7w==", + "dev": true + }, "media-typer": { "version": "0.3.0", "dev": true @@ -30768,6 +33128,40 @@ } } }, + "meow": { + "version": "9.0.0", + "resolved": "https://registry.npmjs.org/meow/-/meow-9.0.0.tgz", + "integrity": "sha512-+obSblOQmRhcyBt62furQqRAQpNyWXo8BuQ5bN7dG8wmwQ+vwHKp/rCFD4CrTP8CsDQD1sjoZ94K417XEUk8IQ==", + "dev": true, + "requires": { + "@types/minimist": "^1.2.0", + "camelcase-keys": "^6.2.2", + "decamelize": "^1.2.0", + "decamelize-keys": "^1.1.0", + "hard-rejection": "^2.1.0", + "minimist-options": "4.1.0", + "normalize-package-data": "^3.0.0", + "read-pkg-up": "^7.0.1", + "redent": "^3.0.0", + "trim-newlines": "^3.0.0", + "type-fest": "^0.18.0", + "yargs-parser": "^20.2.3" + }, + "dependencies": { + "type-fest": { + "version": "0.18.1", + "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-0.18.1.tgz", + "integrity": "sha512-OIAYXk8+ISY+qTOwkHtKqzAuxchoMiD9Udx+FSGQDuiRR+PJKJHc2NJAXlbhkGwTt/4/nKZxELY1w3ReWOL8mw==", + "dev": true + }, + "yargs-parser": { + "version": "20.2.9", + "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-20.2.9.tgz", + "integrity": "sha512-y11nGElTIV+CT3Zv9t7VKl+Q3hTQoT9a1Qzezhhl6Rp21gJ/IVTW7Z3y9EWXhuUBC2Shnf+DX0antecpAwSP8w==", + "dev": true + } + } + }, "merge-descriptors": { "version": "1.0.1", "dev": true @@ -30776,6 +33170,12 @@ "version": "2.0.0", "dev": true }, + "merge2": { + "version": "1.4.1", + "resolved": "https://registry.npmjs.org/merge2/-/merge2-1.4.1.tgz", + "integrity": "sha512-8q7VEgMJW4J8tcfVPy8g09NcQwZdbwFEqhe/WZkoIzjn/3TGDwtOCYtXGxA3O8tPzpczCCDgv+P2P5y00ZJOOg==", + "dev": true + }, "metaviewport-parser": { "version": "0.2.0", "dev": true @@ -30784,6 +33184,16 @@ "version": "1.1.2", "dev": true }, + "micromark": { + "version": "2.11.4", + "resolved": "https://registry.npmjs.org/micromark/-/micromark-2.11.4.tgz", + "integrity": "sha512-+WoovN/ppKolQOFIAajxi7Lu9kInbPxFuTBVEavFcL8eAfVstoc5MocPmqBeAdBOJV00uaVjegzH4+MA0DN/uA==", + "dev": true, + "requires": { + "debug": "^4.0.0", + "parse-entities": "^2.0.0" + } + }, "micromatch": { "version": "4.0.5", "dev": true, @@ -30827,6 +33237,12 @@ "integrity": "sha512-j5EctnkH7amfV/q5Hgmoal1g2QHFJRraOtmx0JpIqkxhBhI/lJSl1nMpQ45hVarwNETOoWEimndZ4QK0RHxuxQ==", "dev": true }, + "min-indent": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/min-indent/-/min-indent-1.0.1.tgz", + "integrity": "sha512-I9jwMn07Sy/IwOj3zVkVik2JTvgpaykDZEigL6Rx6N9LbMywwUSMtxET+7lVoDLLd3O3IXwJwvuuns8UB/HeAg==", + "dev": true + }, "minimalistic-assert": { "version": "1.0.1", "dev": true @@ -30848,6 +33264,31 @@ "version": "1.2.8", "dev": true }, + "minimist-options": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/minimist-options/-/minimist-options-4.1.0.tgz", + "integrity": "sha512-Q4r8ghd80yhO/0j1O3B2BjweX3fiHg9cdOwjJd2J76Q135c+NDxGCqdYKQ1SKBuFfgWbAUzBfvYjPUEeNgqN1A==", + "dev": true, + "requires": { + "arrify": "^1.0.1", + "is-plain-obj": "^1.1.0", + "kind-of": "^6.0.3" + }, + "dependencies": { + "arrify": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/arrify/-/arrify-1.0.1.tgz", + "integrity": "sha512-3CYzex9M9FGQjCGMGyi6/31c8GJbgb0qGyrx5HWxPd0aCwh4cB2YjMb2Xf9UuoogrMrlO9cTqnB5rI5GHZTcUA==", + "dev": true + }, + "kind-of": { + "version": "6.0.3", + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-6.0.3.tgz", + "integrity": "sha512-dcS1ul+9tmeD95T+x28/ehLgd9mENa3LsvDTtzm3vyBEO7RPptvAD+t44WVXaUjTBRcrpFeFlC8WCruUR456hw==", + "dev": true + } + } + }, "mississippi": { "version": "3.0.0", "dev": true, @@ -31100,10 +33541,60 @@ "version": "2.0.13", "dev": true }, + "normalize-package-data": { + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/normalize-package-data/-/normalize-package-data-3.0.3.tgz", + "integrity": "sha512-p2W1sgqij3zMMyRC067Dg16bfzVH+w7hyegmpIvZ4JNjqtGOVAIvLmjBx3yP7YTe9vKJgkoNOPjwQGogDoMXFA==", + "dev": true, + "requires": { + "hosted-git-info": "^4.0.1", + "is-core-module": "^2.5.0", + "semver": "^7.3.4", + "validate-npm-package-license": "^3.0.1" + }, + "dependencies": { + "lru-cache": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-6.0.0.tgz", + "integrity": "sha512-Jo6dJ04CmSjuznwJSS3pUeWmd/H0ffTlkXXgwZi+eq1UCmqQwCh+eLsYOYCwY991i2Fah4h1BEMCx4qThGbsiA==", + "dev": true, + "requires": { + "yallist": "^4.0.0" + } + }, + "semver": { + "version": "7.5.4", + "resolved": "https://registry.npmjs.org/semver/-/semver-7.5.4.tgz", + "integrity": "sha512-1bCSESV6Pv+i21Hvpxp3Dx+pSD8lIPt8uVjRrxAUt/nbswYc+tK6Y2btiULjd4+fnq15PX+nqQDC7Oft7WkwcA==", + "dev": true, + "requires": { + "lru-cache": "^6.0.0" + } + }, + "yallist": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/yallist/-/yallist-4.0.0.tgz", + "integrity": "sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==", + "dev": true + } + } + }, "normalize-path": { "version": "3.0.0", "dev": true }, + "normalize-range": { + "version": "0.1.2", + "resolved": "https://registry.npmjs.org/normalize-range/-/normalize-range-0.1.2.tgz", + "integrity": "sha512-bdok/XvKII3nUpklnV6P2hxtMNrCboOjAcyBuQnWEhO665FwrSNRxU+AqpsyvO6LgGYPspN+lu5CLtw4jPRKNA==", + "dev": true + }, + "normalize-selector": { + "version": "0.2.0", + "resolved": "https://registry.npmjs.org/normalize-selector/-/normalize-selector-0.2.0.tgz", + "integrity": "sha512-dxvWdI8gw6eAvk9BlPffgEoGfM7AdijoCwOEJge3e3ulT2XLgmU7KvvxprOaCu05Q1uGRHmOhHe1r6emZoKyFw==", + "dev": true + }, "normalize-url": { "version": "4.5.1", "resolved": "https://registry.npmjs.org/normalize-url/-/normalize-url-4.5.1.tgz", @@ -35068,6 +37559,12 @@ "boolbase": "^1.0.0" } }, + "num2fraction": { + "version": "1.2.2", + "resolved": "https://registry.npmjs.org/num2fraction/-/num2fraction-1.2.2.tgz", + "integrity": "sha512-Y1wZESM7VUThYY+4W+X4ySH2maqcA+p7UR+w8VWNWVAd6lwuXXWz/w/Cz43J/dI2I+PS6wD5N+bJUF+gjWvIqg==", + "dev": true + }, "number-is-nan": { "version": "1.0.1", "dev": true @@ -35349,6 +37846,23 @@ } } }, + "parent-module": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/parent-module/-/parent-module-1.0.1.tgz", + "integrity": "sha512-GQ2EWRpQV8/o+Aw8YqtfZZPfNRWZYkbidE9k5rpl/hC3vtHHBfGm2Ifi6qWV+coDGkrUKZAxE3Lot5kcsRlh+g==", + "dev": true, + "requires": { + "callsites": "^3.0.0" + }, + "dependencies": { + "callsites": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/callsites/-/callsites-3.1.0.tgz", + "integrity": "sha512-P8BjAsXvZS+VIDUI11hHCQEv74YT67YUi5JJFNWIqL235sBmjX4+qx9Muvls5ivyNENctx46xQLQ3aTuE7ssaQ==", + "dev": true + } + } + }, "parse-asn1": { "version": "5.1.6", "dev": true, @@ -35364,6 +37878,20 @@ "version": "1.0.1", "dev": true }, + "parse-entities": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/parse-entities/-/parse-entities-2.0.0.tgz", + "integrity": "sha512-kkywGpCcRYhqQIchaWqZ875wzpS/bMKhz5HnN3p7wveJTkTtyAB/AlnS0f8DFSqYW1T82t6yEAkEcB+A1I3MbQ==", + "dev": true, + "requires": { + "character-entities": "^1.0.0", + "character-entities-legacy": "^1.0.0", + "character-reference-invalid": "^1.0.0", + "is-alphanumerical": "^1.0.0", + "is-decimal": "^1.0.0", + "is-hexadecimal": "^1.0.0" + } + }, "parse-filepath": { "version": "1.0.2", "dev": true, @@ -35475,6 +38003,12 @@ "version": "0.1.7", "dev": true }, + "path-type": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/path-type/-/path-type-4.0.0.tgz", + "integrity": "sha512-gDKb8aZMDeD/tZWs9P6+q0J9Mwkdl6xMV8TjnGP3qJVJ06bdMgkbBlLU8IdfOsIsFz2BW1rNVT3XuNEl8zPAvw==", + "dev": true + }, "pbkdf2": { "version": "3.1.2", "dev": true, @@ -35570,6 +38104,186 @@ "version": "0.1.1", "dev": true }, + "postcss": { + "version": "7.0.39", + "resolved": "https://registry.npmjs.org/postcss/-/postcss-7.0.39.tgz", + "integrity": "sha512-yioayjNbHn6z1/Bywyb2Y4s3yvDAeXGOyxqD+LnVOinq6Mdmd++SW2wUNVzavyyHxd6+DxzWGIuosg6P1Rj8uA==", + "dev": true, + "requires": { + "picocolors": "^0.2.1", + "source-map": "^0.6.1" + }, + "dependencies": { + "picocolors": { + "version": "0.2.1", + "resolved": "https://registry.npmjs.org/picocolors/-/picocolors-0.2.1.tgz", + "integrity": "sha512-cMlDqaLEqfSaW8Z7N5Jw+lyIW869EzT73/F5lhtY9cLGoVxSXznfgfXMO0Z5K0o0Q2TkTXq+0KFsdnSe3jDViA==", + "dev": true + } + } + }, + "postcss-html": { + "version": "0.36.0", + "resolved": "https://registry.npmjs.org/postcss-html/-/postcss-html-0.36.0.tgz", + "integrity": "sha512-HeiOxGcuwID0AFsNAL0ox3mW6MHH5cstWN1Z3Y+n6H+g12ih7LHdYxWwEA/QmrebctLjo79xz9ouK3MroHwOJw==", + "dev": true, + "requires": { + "htmlparser2": "^3.10.0" + }, + "dependencies": { + "dom-serializer": { + "version": "0.2.2", + "resolved": "https://registry.npmjs.org/dom-serializer/-/dom-serializer-0.2.2.tgz", + "integrity": "sha512-2/xPb3ORsQ42nHYiSunXkDjPLBaEj/xTwUO4B7XCZQTRk7EBtTOPaygh10YAAh2OI1Qrp6NWfpAhzswj0ydt9g==", + "dev": true, + "requires": { + "domelementtype": "^2.0.1", + "entities": "^2.0.0" + }, + "dependencies": { + "domelementtype": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/domelementtype/-/domelementtype-2.3.0.tgz", + "integrity": "sha512-OLETBj6w0OsagBwdXnPdN0cnMfF9opN69co+7ZrbfPGrdpPVNBUj02spi6B1N7wChLQiPn4CSH/zJvXw56gmHw==", + "dev": true + }, + "entities": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/entities/-/entities-2.2.0.tgz", + "integrity": "sha512-p92if5Nz619I0w+akJrLZH0MX0Pb5DX39XOwQTtXSdQQOaYH03S1uIQp4mhOZtAXrxq4ViO67YTiLBo2638o9A==", + "dev": true + } + } + }, + "domelementtype": { + "version": "1.3.1", + "resolved": "https://registry.npmjs.org/domelementtype/-/domelementtype-1.3.1.tgz", + "integrity": "sha512-BSKB+TSpMpFI/HOxCNr1O8aMOTZ8hT3pM3GQ0w/mWRmkhEDSFJkkyzz4XQsBV44BChwGkrDfMyjVD0eA2aFV3w==", + "dev": true + }, + "domhandler": { + "version": "2.4.2", + "resolved": "https://registry.npmjs.org/domhandler/-/domhandler-2.4.2.tgz", + "integrity": "sha512-JiK04h0Ht5u/80fdLMCEmV4zkNh2BcoMFBmZ/91WtYZ8qVXSKjiw7fXMgFPnHcSZgOo3XdinHvmnDUeMf5R4wA==", + "dev": true, + "requires": { + "domelementtype": "1" + } + }, + "domutils": { + "version": "1.7.0", + "resolved": "https://registry.npmjs.org/domutils/-/domutils-1.7.0.tgz", + "integrity": "sha512-Lgd2XcJ/NjEw+7tFvfKxOzCYKZsdct5lczQ2ZaQY8Djz7pfAD3Gbp8ySJWtreII/vDlMVmxwa6pHmdxIYgttDg==", + "dev": true, + "requires": { + "dom-serializer": "0", + "domelementtype": "1" + } + }, + "entities": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/entities/-/entities-1.1.2.tgz", + "integrity": "sha512-f2LZMYl1Fzu7YSBKg+RoROelpOaNrcGmE9AZubeDfrCEia483oW4MI4VyFd5VNHIgQ/7qm1I0wUHK1eJnn2y2w==", + "dev": true + }, + "htmlparser2": { + "version": "3.10.1", + "resolved": "https://registry.npmjs.org/htmlparser2/-/htmlparser2-3.10.1.tgz", + "integrity": "sha512-IgieNijUMbkDovyoKObU1DUhm1iwNYE/fuifEoEHfd1oZKZDaONBSkal7Y01shxsM49R4XaMdGez3WnF9UfiCQ==", + "dev": true, + "requires": { + "domelementtype": "^1.3.1", + "domhandler": "^2.3.0", + "domutils": "^1.5.1", + "entities": "^1.1.1", + "inherits": "^2.0.1", + "readable-stream": "^3.1.1" + } + } + } + }, + "postcss-less": { + "version": "3.1.4", + "resolved": "https://registry.npmjs.org/postcss-less/-/postcss-less-3.1.4.tgz", + "integrity": "sha512-7TvleQWNM2QLcHqvudt3VYjULVB49uiW6XzEUFmvwHzvsOEF5MwBrIXZDJQvJNFGjJQTzSzZnDoCJ8h/ljyGXA==", + "dev": true, + "requires": { + "postcss": "^7.0.14" + } + }, + "postcss-media-query-parser": { + "version": "0.2.3", + "resolved": "https://registry.npmjs.org/postcss-media-query-parser/-/postcss-media-query-parser-0.2.3.tgz", + "integrity": "sha512-3sOlxmbKcSHMjlUXQZKQ06jOswE7oVkXPxmZdoB1r5l0q6gTFTQSHxNxOrCccElbW7dxNytifNEo8qidX2Vsig==", + "dev": true + }, + "postcss-resolve-nested-selector": { + "version": "0.1.1", + "resolved": "https://registry.npmjs.org/postcss-resolve-nested-selector/-/postcss-resolve-nested-selector-0.1.1.tgz", + "integrity": "sha512-HvExULSwLqHLgUy1rl3ANIqCsvMS0WHss2UOsXhXnQaZ9VCc2oBvIpXrl00IUFT5ZDITME0o6oiXeiHr2SAIfw==", + "dev": true + }, + "postcss-safe-parser": { + "version": "4.0.2", + "resolved": "https://registry.npmjs.org/postcss-safe-parser/-/postcss-safe-parser-4.0.2.tgz", + "integrity": "sha512-Uw6ekxSWNLCPesSv/cmqf2bY/77z11O7jZGPax3ycZMFU/oi2DMH9i89AdHc1tRwFg/arFoEwX0IS3LCUxJh1g==", + "dev": true, + "requires": { + "postcss": "^7.0.26" + } + }, + "postcss-sass": { + "version": "0.4.4", + "resolved": "https://registry.npmjs.org/postcss-sass/-/postcss-sass-0.4.4.tgz", + "integrity": "sha512-BYxnVYx4mQooOhr+zer0qWbSPYnarAy8ZT7hAQtbxtgVf8gy+LSLT/hHGe35h14/pZDTw1DsxdbrwxBN++H+fg==", + "dev": true, + "requires": { + "gonzales-pe": "^4.3.0", + "postcss": "^7.0.21" + } + }, + "postcss-scss": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/postcss-scss/-/postcss-scss-2.1.1.tgz", + "integrity": "sha512-jQmGnj0hSGLd9RscFw9LyuSVAa5Bl1/KBPqG1NQw9w8ND55nY4ZEsdlVuYJvLPpV+y0nwTV5v/4rHPzZRihQbA==", + "dev": true, + "requires": { + "postcss": "^7.0.6" + } + }, + "postcss-selector-parser": { + "version": "6.0.13", + "resolved": "https://registry.npmjs.org/postcss-selector-parser/-/postcss-selector-parser-6.0.13.tgz", + "integrity": "sha512-EaV1Gl4mUEV4ddhDnv/xtj7sxwrwxdetHdWUGnT4VJQf+4d05v6lHYZr8N573k5Z0BViss7BDhfWtKS3+sfAqQ==", + "dev": true, + "requires": { + "cssesc": "^3.0.0", + "util-deprecate": "^1.0.2" + } + }, + "postcss-sorting": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/postcss-sorting/-/postcss-sorting-5.0.1.tgz", + "integrity": "sha512-Y9fUFkIhfrm6i0Ta3n+89j56EFqaNRdUKqXyRp6kvTcSXnmgEjaVowCXH+JBe9+YKWqd4nc28r2sgwnzJalccA==", + "dev": true, + "requires": { + "lodash": "^4.17.14", + "postcss": "^7.0.17" + } + }, + "postcss-syntax": { + "version": "0.36.2", + "resolved": "https://registry.npmjs.org/postcss-syntax/-/postcss-syntax-0.36.2.tgz", + "integrity": "sha512-nBRg/i7E3SOHWxF3PpF5WnJM/jQ1YpY9000OaVXlAQj6Zp/kIqJxEDWIZ67tAd7NLuk7zqN4yqe9nc0oNAOs1w==", + "dev": true, + "requires": {} + }, + "postcss-value-parser": { + "version": "4.2.0", + "resolved": "https://registry.npmjs.org/postcss-value-parser/-/postcss-value-parser-4.2.0.tgz", + "integrity": "sha512-1NNCs6uurfkVbeXG4S8JFT9t19m45ICnif8zWLd5oPSZ50QnwMfK+H3jv408d4jw/7Bttv5axS5IiHoLaVNHeQ==", + "dev": true + }, "prelude-ls": { "version": "1.1.2", "dev": true @@ -35748,6 +38462,18 @@ "version": "0.2.1", "dev": true }, + "queue-microtask": { + "version": "1.2.3", + "resolved": "https://registry.npmjs.org/queue-microtask/-/queue-microtask-1.2.3.tgz", + "integrity": "sha512-NuaNSa6flKT5JaSYQzJok04JzTL1CA6aGhv5rfLW3PgqA+M2ChpZQnAC8h8i4ZFkBS8X5RqkDBHA7r4hej3K9A==", + "dev": true + }, + "quick-lru": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/quick-lru/-/quick-lru-4.0.1.tgz", + "integrity": "sha512-ARhCpm70fzdcvNQfPoy49IaanKkTlRWF2JMzqhcJbhSFRZv7nPTvZJdcY7301IPmvW+/p0RgIWnQDLJxifsQ7g==", + "dev": true + }, "randombytes": { "version": "2.1.0", "dev": true, @@ -35883,6 +38609,16 @@ "resolve": "^1.9.0" } }, + "redent": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/redent/-/redent-3.0.0.tgz", + "integrity": "sha512-6tDA8g98We0zd0GvVeMT9arEOnTw9qM03L9cJXaCjrip1OO764RDBLBfrB4cwzNGDj5OA5ioymC9GkizgWJDUg==", + "dev": true, + "requires": { + "indent-string": "^4.0.0", + "strip-indent": "^3.0.0" + } + }, "reflect.getprototypeof": { "version": "1.0.4", "dev": true, @@ -35980,6 +38716,35 @@ } } }, + "remark": { + "version": "13.0.0", + "resolved": "https://registry.npmjs.org/remark/-/remark-13.0.0.tgz", + "integrity": "sha512-HDz1+IKGtOyWN+QgBiAT0kn+2s6ovOxHyPAFGKVE81VSzJ+mq7RwHFledEvB5F1p4iJvOah/LOKdFuzvRnNLCA==", + "dev": true, + "requires": { + "remark-parse": "^9.0.0", + "remark-stringify": "^9.0.0", + "unified": "^9.1.0" + } + }, + "remark-parse": { + "version": "9.0.0", + "resolved": "https://registry.npmjs.org/remark-parse/-/remark-parse-9.0.0.tgz", + "integrity": "sha512-geKatMwSzEXKHuzBNU1z676sGcDcFoChMK38TgdHJNAYfFtsfHDQG7MoJAjs6sgYMqyLduCYWDIWZIxiPeafEw==", + "dev": true, + "requires": { + "mdast-util-from-markdown": "^0.8.0" + } + }, + "remark-stringify": { + "version": "9.0.1", + "resolved": "https://registry.npmjs.org/remark-stringify/-/remark-stringify-9.0.1.tgz", + "integrity": "sha512-mWmNg3ZtESvZS8fv5PTvaPckdL4iNlCHTt8/e/8oN08nArHRHjNZMKzA/YW3+p7/lYqIw4nx1XsjCBo/AxNChg==", + "dev": true, + "requires": { + "mdast-util-to-markdown": "^0.6.0" + } + }, "remove-trailing-separator": { "version": "1.1.0", "dev": true @@ -36049,6 +38814,12 @@ "version": "2.1.1", "dev": true }, + "require-from-string": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/require-from-string/-/require-from-string-2.0.2.tgz", + "integrity": "sha512-Xf0nWe6RseziFMu+Ap9biiUbmplq6S9/p+7w7YXP/JBHhrUDDUhwa+vANyubuqfZWTveU//DYVGsDG7RKL/vEw==", + "dev": true + }, "require-main-filename": { "version": "2.0.0", "dev": true @@ -36156,6 +38927,12 @@ "version": "0.1.15", "dev": true }, + "reusify": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/reusify/-/reusify-1.0.4.tgz", + "integrity": "sha512-U9nH88a3fc/ekCF1l0/UP1IosiuIjyTh7hBvXVMHYgVcfGvt897Xguj2UOLDeI5BG2m7/uwyaLVT6fbtCwTyzw==", + "dev": true + }, "rimraf": { "version": "3.0.2", "dev": true, @@ -36183,6 +38960,15 @@ "version": "2.4.1", "dev": true }, + "run-parallel": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/run-parallel/-/run-parallel-1.2.0.tgz", + "integrity": "sha512-5l4VyZR86LZ/lDxZTR6jqL8AFE2S0IFLMP26AbjsLVADxHdhB/c0GUsH+y39UfCi3dzz8OlQuPmnaJOMoDHQBA==", + "dev": true, + "requires": { + "queue-microtask": "^1.2.2" + } + }, "run-queue": { "version": "1.0.3", "dev": true, @@ -36699,6 +39485,12 @@ "version": "3.0.13", "dev": true }, + "specificity": { + "version": "0.4.1", + "resolved": "https://registry.npmjs.org/specificity/-/specificity-0.4.1.tgz", + "integrity": "sha512-1klA3Gi5PD1Wv9Q0wUoOQN1IWAuPu0D1U03ThXTr0cJ20+/iq2tHSDnK7Kk/0LXJ1ztUB2/1Os0wKmfyNgUQfg==", + "dev": true + }, "speedline-core": { "version": "1.4.3", "resolved": "https://registry.npmjs.org/speedline-core/-/speedline-core-1.4.3.tgz", @@ -36954,10 +39746,311 @@ "version": "2.0.0", "dev": true }, + "strip-indent": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/strip-indent/-/strip-indent-3.0.0.tgz", + "integrity": "sha512-laJTa3Jb+VQpaC6DseHhF7dXVqHTfJPCRDaEbid/drOhgitgYku/letMUqOXFoWV0zIIUbjpdH2t+tYj4bQMRQ==", + "dev": true, + "requires": { + "min-indent": "^1.0.0" + } + }, "strip-json-comments": { "version": "2.0.1", "dev": true }, + "style-search": { + "version": "0.1.0", + "resolved": "https://registry.npmjs.org/style-search/-/style-search-0.1.0.tgz", + "integrity": "sha512-Dj1Okke1C3uKKwQcetra4jSuk0DqbzbYtXipzFlFMZtowbF1x7BKJwB9AayVMyFARvU8EDrZdcax4At/452cAg==", + "dev": true + }, + "stylelint": { + "version": "13.13.1", + "resolved": "https://registry.npmjs.org/stylelint/-/stylelint-13.13.1.tgz", + "integrity": "sha512-Mv+BQr5XTUrKqAXmpqm6Ddli6Ief+AiPZkRsIrAoUKFuq/ElkUh9ZMYxXD0iQNZ5ADghZKLOWz1h7hTClB7zgQ==", + "dev": true, + "requires": { + "@stylelint/postcss-css-in-js": "^0.37.2", + "@stylelint/postcss-markdown": "^0.36.2", + "autoprefixer": "^9.8.6", + "balanced-match": "^2.0.0", + "chalk": "^4.1.1", + "cosmiconfig": "^7.0.0", + "debug": "^4.3.1", + "execall": "^2.0.0", + "fast-glob": "^3.2.5", + "fastest-levenshtein": "^1.0.12", + "file-entry-cache": "^6.0.1", + "get-stdin": "^8.0.0", + "global-modules": "^2.0.0", + "globby": "^11.0.3", + "globjoin": "^0.1.4", + "html-tags": "^3.1.0", + "ignore": "^5.1.8", + "import-lazy": "^4.0.0", + "imurmurhash": "^0.1.4", + "known-css-properties": "^0.21.0", + "lodash": "^4.17.21", + "log-symbols": "^4.1.0", + "mathml-tag-names": "^2.1.3", + "meow": "^9.0.0", + "micromatch": "^4.0.4", + "normalize-selector": "^0.2.0", + "postcss": "^7.0.35", + "postcss-html": "^0.36.0", + "postcss-less": "^3.1.4", + "postcss-media-query-parser": "^0.2.3", + "postcss-resolve-nested-selector": "^0.1.1", + "postcss-safe-parser": "^4.0.2", + "postcss-sass": "^0.4.4", + "postcss-scss": "^2.1.1", + "postcss-selector-parser": "^6.0.5", + "postcss-syntax": "^0.36.2", + "postcss-value-parser": "^4.1.0", + "resolve-from": "^5.0.0", + "slash": "^3.0.0", + "specificity": "^0.4.1", + "string-width": "^4.2.2", + "strip-ansi": "^6.0.0", + "style-search": "^0.1.0", + "sugarss": "^2.0.0", + "svg-tags": "^1.0.0", + "table": "^6.6.0", + "v8-compile-cache": "^2.3.0", + "write-file-atomic": "^3.0.3" + }, + "dependencies": { + "ajv": { + "version": "8.12.0", + "resolved": "https://registry.npmjs.org/ajv/-/ajv-8.12.0.tgz", + "integrity": "sha512-sRu1kpcO9yLtYxBKvqfTeh9KzZEwO3STyX1HT+4CaDzC6HpTGYhIhPIzj9XuKU7KYDwnaeh5hcOwjy1QuJzBPA==", + "dev": true, + "requires": { + "fast-deep-equal": "^3.1.1", + "json-schema-traverse": "^1.0.0", + "require-from-string": "^2.0.2", + "uri-js": "^4.2.2" + } + }, + "ansi-styles": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", + "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", + "dev": true, + "requires": { + "color-convert": "^2.0.1" + } + }, + "astral-regex": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/astral-regex/-/astral-regex-2.0.0.tgz", + "integrity": "sha512-Z7tMw1ytTXt5jqMcOP+OQteU1VuNK9Y02uuJtKQ1Sv69jXQKKg5cibLwGJow8yzZP+eAc18EmLGPal0bp36rvQ==", + "dev": true + }, + "balanced-match": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/balanced-match/-/balanced-match-2.0.0.tgz", + "integrity": "sha512-1ugUSr8BHXRnK23KfuYS+gVMC3LB8QGH9W1iGtDPsNWoQbgtXSExkBu2aDR4epiGWZOjZsj6lDl/N/AqqTC3UA==", + "dev": true + }, + "chalk": { + "version": "4.1.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", + "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", + "dev": true, + "requires": { + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" + } + }, + "color-convert": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", + "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", + "dev": true, + "requires": { + "color-name": "~1.1.4" + } + }, + "color-name": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", + "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", + "dev": true + }, + "file-entry-cache": { + "version": "6.0.1", + "resolved": "https://registry.npmjs.org/file-entry-cache/-/file-entry-cache-6.0.1.tgz", + "integrity": "sha512-7Gps/XWymbLk2QLYK4NzpMOrYjMhdIxXuIvy2QBsLE6ljuodKvdkWs/cpyJJ3CVIVpH0Oi1Hvg1ovbMzLdFBBg==", + "dev": true, + "requires": { + "flat-cache": "^3.0.4" + } + }, + "flat-cache": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/flat-cache/-/flat-cache-3.1.0.tgz", + "integrity": "sha512-OHx4Qwrrt0E4jEIcI5/Xb+f+QmJYNj2rrK8wiIdQOIrB9WrrJL8cjZvXdXuBTkkEwEqLycb5BeZDV1o2i9bTew==", + "dev": true, + "requires": { + "flatted": "^3.2.7", + "keyv": "^4.5.3", + "rimraf": "^3.0.2" + } + }, + "global-modules": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/global-modules/-/global-modules-2.0.0.tgz", + "integrity": "sha512-NGbfmJBp9x8IxyJSd1P+otYK8vonoJactOogrVfFRIAEY1ukil8RSKDz2Yo7wh1oihl51l/r6W4epkeKJHqL8A==", + "dev": true, + "requires": { + "global-prefix": "^3.0.0" + } + }, + "global-prefix": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/global-prefix/-/global-prefix-3.0.0.tgz", + "integrity": "sha512-awConJSVCHVGND6x3tmMaKcQvwXLhjdkmomy2W+Goaui8YPgYgXJZewhg3fWC+DlfqqQuWg8AwqjGTD2nAPVWg==", + "dev": true, + "requires": { + "ini": "^1.3.5", + "kind-of": "^6.0.2", + "which": "^1.3.1" + } + }, + "has-flag": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", + "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", + "dev": true + }, + "ignore": { + "version": "5.2.4", + "resolved": "https://registry.npmjs.org/ignore/-/ignore-5.2.4.tgz", + "integrity": "sha512-MAb38BcSbH0eHNBxn7ql2NH/kX33OkB3lZ1BNdh7ENeRChHTYsTvWrMubiIAMNS2llXEEgZ1MUOBtXChP3kaFQ==", + "dev": true + }, + "import-lazy": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/import-lazy/-/import-lazy-4.0.0.tgz", + "integrity": "sha512-rKtvo6a868b5Hu3heneU+L4yEQ4jYKLtjpnPeUdK7h0yzXGmyBTypknlkCvHFBqfX9YlorEiMM6Dnq/5atfHkw==", + "dev": true + }, + "json-buffer": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/json-buffer/-/json-buffer-3.0.1.tgz", + "integrity": "sha512-4bV5BfR2mqfQTJm+V5tPPdf+ZpuhiIvTuAB5g8kcrXOZpTT/QwwVRWBywX1ozr6lEuPdbHxwaJlm9G6mI2sfSQ==", + "dev": true + }, + "json-schema-traverse": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-1.0.0.tgz", + "integrity": "sha512-NM8/P9n3XjXhIZn1lLhkFaACTOURQXjWhV4BA/RnOv8xvgqtqpAX9IO4mRQxSx1Rlo4tqzeqb0sOlruaOy3dug==", + "dev": true + }, + "keyv": { + "version": "4.5.3", + "resolved": "https://registry.npmjs.org/keyv/-/keyv-4.5.3.tgz", + "integrity": "sha512-QCiSav9WaX1PgETJ+SpNnx2PRRapJ/oRSXM4VO5OGYGSjrxbKPVFVhB3l2OCbLCk329N8qyAtsJjSjvVBWzEug==", + "dev": true, + "requires": { + "json-buffer": "3.0.1" + } + }, + "kind-of": { + "version": "6.0.3", + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-6.0.3.tgz", + "integrity": "sha512-dcS1ul+9tmeD95T+x28/ehLgd9mENa3LsvDTtzm3vyBEO7RPptvAD+t44WVXaUjTBRcrpFeFlC8WCruUR456hw==", + "dev": true + }, + "slice-ansi": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/slice-ansi/-/slice-ansi-4.0.0.tgz", + "integrity": "sha512-qMCMfhY040cVHT43K9BFygqYbUPFZKHOg7K73mtTWJRb8pyP3fzf4Ixd5SzdEJQ6MRUg/WBnOLxghZtKKurENQ==", + "dev": true, + "requires": { + "ansi-styles": "^4.0.0", + "astral-regex": "^2.0.0", + "is-fullwidth-code-point": "^3.0.0" + } + }, + "supports-color": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", + "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", + "dev": true, + "requires": { + "has-flag": "^4.0.0" + } + }, + "table": { + "version": "6.8.1", + "resolved": "https://registry.npmjs.org/table/-/table-6.8.1.tgz", + "integrity": "sha512-Y4X9zqrCftUhMeH2EptSSERdVKt/nEdijTOacGD/97EKjhQ/Qs8RTlEGABSJNNN8lac9kheH+af7yAkEWlgneA==", + "dev": true, + "requires": { + "ajv": "^8.0.1", + "lodash.truncate": "^4.4.2", + "slice-ansi": "^4.0.0", + "string-width": "^4.2.3", + "strip-ansi": "^6.0.1" + } + }, + "which": { + "version": "1.3.1", + "resolved": "https://registry.npmjs.org/which/-/which-1.3.1.tgz", + "integrity": "sha512-HxJdYWq1MTIQbJ3nw0cqssHoTNU267KlrDuGZ1WYlxDStUtKUhOaJmh112/TZmHxxUfuJqPXSOm7tDyas0OSIQ==", + "dev": true, + "requires": { + "isexe": "^2.0.0" + } + } + } + }, + "stylelint-config-sass-guidelines": { + "version": "7.1.0", + "resolved": "https://registry.npmjs.org/stylelint-config-sass-guidelines/-/stylelint-config-sass-guidelines-7.1.0.tgz", + "integrity": "sha512-WvC9nRdlYknftPcUaJCajrPYKg6d2CKffrr7BPPkN/i/Mt8Qsm1hNQ9lqC1sKoCIKdH051SCEZi10qwFLgDbbg==", + "dev": true, + "requires": { + "stylelint-order": "^4.0.0", + "stylelint-scss": "^3.18.0" + } + }, + "stylelint-order": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/stylelint-order/-/stylelint-order-4.1.0.tgz", + "integrity": "sha512-sVTikaDvMqg2aJjh4r48jsdfmqLT+nqB1MOsaBnvM3OwLx4S+WXcsxsgk5w18h/OZoxZCxuyXMh61iBHcj9Qiw==", + "dev": true, + "requires": { + "lodash": "^4.17.15", + "postcss": "^7.0.31", + "postcss-sorting": "^5.0.1" + } + }, + "stylelint-scss": { + "version": "3.21.0", + "resolved": "https://registry.npmjs.org/stylelint-scss/-/stylelint-scss-3.21.0.tgz", + "integrity": "sha512-CMI2wSHL+XVlNExpauy/+DbUcB/oUZLARDtMIXkpV/5yd8nthzylYd1cdHeDMJVBXeYHldsnebUX6MoV5zPW4A==", + "dev": true, + "requires": { + "lodash": "^4.17.15", + "postcss-media-query-parser": "^0.2.3", + "postcss-resolve-nested-selector": "^0.1.1", + "postcss-selector-parser": "^6.0.2", + "postcss-value-parser": "^4.1.0" + } + }, + "sugarss": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/sugarss/-/sugarss-2.0.0.tgz", + "integrity": "sha512-WfxjozUk0UVA4jm+U1d736AUpzSrNsQcIbyOkoE364GrtWmIrFdk5lksEupgWMD4VaT/0kVx1dobpiDumSgmJQ==", + "dev": true, + "requires": { + "postcss": "^7.0.2" + } + }, "supports-color": { "version": "5.5.0", "dev": true, @@ -36993,6 +40086,12 @@ "svg-injector": { "version": "1.1.3" }, + "svg-tags": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/svg-tags/-/svg-tags-1.0.0.tgz", + "integrity": "sha512-ovssysQTa+luh7A5Weu3Rta6FJlFBBbInjOh722LIt6klpU2/HtdUbszju/G4devcvk8PGt7FCLv5wftu3THUA==", + "dev": true + }, "sweetalert2": { "version": "9.17.4" }, @@ -37429,6 +40528,18 @@ "punycode": "^2.1.1" } }, + "trim-newlines": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/trim-newlines/-/trim-newlines-3.0.1.tgz", + "integrity": "sha512-c1PTsA3tYrIsLGkJkzHF+w9F2EyxfXGo4UyJc4pFL++FMjnq0HJS69T3M7d//gKrFKwy429bouPescbjecU+Zw==", + "dev": true + }, + "trough": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/trough/-/trough-1.0.5.tgz", + "integrity": "sha512-rvuRbTarPXmMb79SmzEp8aqXNKcK+y0XaB298IXueQ8I2PsrATcPBCSPyK/dDNa2iWOhKlfNnOjdAOTBU/nkFA==", + "dev": true + }, "tryer": { "version": "1.0.1", "dev": true @@ -37628,6 +40739,34 @@ "version": "2.1.0", "dev": true }, + "unified": { + "version": "9.2.2", + "resolved": "https://registry.npmjs.org/unified/-/unified-9.2.2.tgz", + "integrity": "sha512-Sg7j110mtefBD+qunSLO1lqOEKdrwBFBrR6Qd8f4uwkhWNlbkaqwHse6e7QvD3AP/MNoJdEDLaf8OxYyoWgorQ==", + "dev": true, + "requires": { + "bail": "^1.0.0", + "extend": "^3.0.0", + "is-buffer": "^2.0.0", + "is-plain-obj": "^2.0.0", + "trough": "^1.0.0", + "vfile": "^4.0.0" + }, + "dependencies": { + "is-buffer": { + "version": "2.0.5", + "resolved": "https://registry.npmjs.org/is-buffer/-/is-buffer-2.0.5.tgz", + "integrity": "sha512-i2R6zNFDwgEHJyQUtJEk0XFi1i0dPFn/oqjK3/vPCcDeJvW5NQ83V8QbicfF1SupOaB0h8ntgBC2YiE7dfyctQ==", + "dev": true + }, + "is-plain-obj": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/is-plain-obj/-/is-plain-obj-2.1.0.tgz", + "integrity": "sha512-YWnfyRwxL/+SsrWYfOpUtz5b3YD+nyfkHvjbcanzk8zgyO4ASD67uVMRt8k5bM4lLMDnXfriRhOpemw+NfT1eA==", + "dev": true + } + } + }, "union-value": { "version": "1.0.1", "dev": true, @@ -37647,6 +40786,30 @@ "crypto-random-string": "^2.0.0" } }, + "unist-util-find-all-after": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/unist-util-find-all-after/-/unist-util-find-all-after-3.0.2.tgz", + "integrity": "sha512-xaTC/AGZ0rIM2gM28YVRAFPIZpzbpDtU3dRmp7EXlNVA8ziQc4hY3H7BHXM1J49nEmiqc3svnqMReW+PGqbZKQ==", + "dev": true, + "requires": { + "unist-util-is": "^4.0.0" + } + }, + "unist-util-is": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/unist-util-is/-/unist-util-is-4.1.0.tgz", + "integrity": "sha512-ZOQSsnce92GrxSqlnEEseX0gi7GH9zTJZ0p9dtu87WRb/37mMPO2Ilx1s/t9vBHrFhbgweUwb+t7cIn5dxPhZg==", + "dev": true + }, + "unist-util-stringify-position": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/unist-util-stringify-position/-/unist-util-stringify-position-2.0.3.tgz", + "integrity": "sha512-3faScn5I+hy9VleOq/qNbAd6pAx7iH5jYBMS9I1HgQVijz/4mv5Bvw5iw1sC/90CODiKo81G/ps8AJrISn687g==", + "dev": true, + "requires": { + "@types/unist": "^2.0.2" + } + }, "unpipe": { "version": "1.0.0", "dev": true @@ -37838,6 +41001,12 @@ "version": "3.4.0", "dev": true }, + "v8-compile-cache": { + "version": "2.4.0", + "resolved": "https://registry.npmjs.org/v8-compile-cache/-/v8-compile-cache-2.4.0.tgz", + "integrity": "sha512-ocyWc3bAHBB/guyqJQVI5o4BZkPhznPYUG2ea80Gond/BgNWpap8TOmLSeeQG7bnh2KMISxskdADG59j7zruhw==", + "dev": true + }, "v8-to-istanbul": { "version": "4.1.4", "dev": true, @@ -37887,6 +41056,36 @@ } } }, + "vfile": { + "version": "4.2.1", + "resolved": "https://registry.npmjs.org/vfile/-/vfile-4.2.1.tgz", + "integrity": "sha512-O6AE4OskCG5S1emQ/4gl8zK586RqA3srz3nfK/Viy0UPToBc5Trp9BVFb1u0CjsKrAWwnpr4ifM/KBXPWwJbCA==", + "dev": true, + "requires": { + "@types/unist": "^2.0.0", + "is-buffer": "^2.0.0", + "unist-util-stringify-position": "^2.0.0", + "vfile-message": "^2.0.0" + }, + "dependencies": { + "is-buffer": { + "version": "2.0.5", + "resolved": "https://registry.npmjs.org/is-buffer/-/is-buffer-2.0.5.tgz", + "integrity": "sha512-i2R6zNFDwgEHJyQUtJEk0XFi1i0dPFn/oqjK3/vPCcDeJvW5NQ83V8QbicfF1SupOaB0h8ntgBC2YiE7dfyctQ==", + "dev": true + } + } + }, + "vfile-message": { + "version": "2.0.4", + "resolved": "https://registry.npmjs.org/vfile-message/-/vfile-message-2.0.4.tgz", + "integrity": "sha512-DjssxRGkMvifUOJre00juHoP9DPWuzjxKuMDrhNbk2TdaYYBNMStsNhEOt3idrtI12VQYM/1+iM0KOzXi4pxwQ==", + "dev": true, + "requires": { + "@types/unist": "^2.0.0", + "unist-util-stringify-position": "^2.0.0" + } + }, "vm-browserify": { "version": "1.1.2", "dev": true @@ -38565,10 +41764,6 @@ "integrity": "sha512-PSNhEJDejZYV7h50BohL09Er9VaIefr2LMAf3OEmpCkjOi34eYyQYAXUTjEQtZJTKcF0E2UKTh+osDLsgNim9Q==", "dev": true }, - "xmlbuilder": { - "version": "8.2.2", - "dev": true - }, "xmlchars": { "version": "2.2.0", "dev": true @@ -38584,6 +41779,12 @@ "version": "3.1.1", "dev": true }, + "yaml": { + "version": "1.10.2", + "resolved": "https://registry.npmjs.org/yaml/-/yaml-1.10.2.tgz", + "integrity": "sha512-r3vXyErRCYJ7wg28yvBY5VSoAF8ZvlcW9/BwUzEtUsjvX/DKs24dIkuwjtuprwJJHsbyUbLApepYTR1BN4uHrg==", + "dev": true + }, "yargs-parser": { "version": "18.1.3", "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-18.1.3.tgz", @@ -38596,6 +41797,12 @@ }, "zero-fill": { "version": "2.2.4" + }, + "zwitch": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/zwitch/-/zwitch-1.0.5.tgz", + "integrity": "sha512-V50KMwwzqJV0NpZIZFwfOD5/lyny3WlSzRiXgA0G7VUnRlqttta1L6UQIHzd6EuBY/cHGfwTIck7w1yH6Q5zUw==", + "dev": true } } } diff --git a/package.json b/package.json index 8f2a93b443..74c811c388 100644 --- a/package.json +++ b/package.json @@ -1,7 +1,7 @@ { "name": "bigcommerce-cornerstone", "description": "The BigCommerce reference theme for the Stencil platform", - "version": "5.7.1", + "version": "6.0.0", "private": true, "author": "BigCommerce", "license": "MIT", @@ -47,7 +47,7 @@ "grunt-cli": "^1.3.2", "grunt-eslint": "^20.0.0", "grunt-run": "^0.8.1", - "grunt-scss-lint": "^0.5.0", + "grunt-stylelint": "^0.16.0", "grunt-svgstore": "^2.0.0", "imports-loader": "^0.7.1", "jest": "^25.5.4", @@ -55,6 +55,9 @@ "load-grunt-config": "^3.0.1", "lodash-webpack-plugin": "^0.11.6", "npx": "^10.2.2", + "stylelint": "^13.9.0", + "stylelint-config-sass-guidelines": "^7.1.0", + "stylelint-scss": "^3.18.0", "time-grunt": "^1.2.2", "webpack": "^4.46.0", "webpack-bundle-analyzer": "^3.9.0", @@ -65,6 +68,8 @@ "build": "npx webpack --config webpack.prod.js", "buildDev": "npx webpack --config webpack.dev.js", "lighthouse": "npx lighthouse --config-path=lighthouse-config.js --quiet --output json --chrome-flags=\"--headless\" $URL | jq '.audits | map_values(.rawValue)'", - "test": "npx jest" + "test": "npx jest", + "stylelint": "npx stylelint **/*.scss", + "stylelint:fix": "npx stylelint --fix **/*.scss" } } \ No newline at end of file diff --git a/schema.json b/schema.json index 6f682ee61a..876a0a61b8 100644 --- a/schema.json +++ b/schema.json @@ -2946,16 +2946,32 @@ "enable": "smartButtons", "settings": [ { - "type": "checkbox", - "label": "i18n.ShowPayPalTagline", - "force_reload": true, - "id": "paymentbuttons-paypal-tagline" + "type": "heading", + "content": "i18n.PaymentButtonsContainer" }, { - "type": "checkbox", - "label": "i18n.ShowFundingIcons", + "type": "select", + "label": "i18n.ButtonContainer", "force_reload": true, - "id": "paymentbuttons-paypal-fundingicons" + "id": "paymentbuttons-container", + "options": [ + { + "value": "small", + "label": "Small" + }, + { + "value": "medium", + "label": "Medium" + }, + { + "value": "large", + "label": "Large" + } + ] + }, + { + "type": "heading", + "content": "i18n.SmartPaypalButton" }, { "type": "select", @@ -3001,30 +3017,6 @@ } ] }, - { - "type": "select", - "label": "i18n.ButtonSize", - "id": "paymentbuttons-paypal-size", - "force_reload": true, - "options": [ - { - "value": "small", - "label": "i18n.Small" - }, - { - "value": "medium", - "label": "i18n.Medium" - }, - { - "value": "large", - "label": "i18n.Large" - }, - { - "value": "responsive", - "label": "i18n.Responsive" - } - ] - }, { "type": "select", "label": "i18n.ButtonContent", diff --git a/schemaTranslations.json b/schemaTranslations.json index fc98a816f1..d53ae808e7 100644 --- a/schemaTranslations.json +++ b/schemaTranslations.json @@ -1874,19 +1874,8 @@ "uk": "Кнопки оплати", "zh": "支付按钮" }, - "i18n.ShowPayPalTagline": { - "default": "Show PayPal tagline", - "fr": "Afficher le slogan de PayPal", - "it": "Mostra tagline PayPal", - "uk": "Показати лінію оплати PayPal", - "zh": "展示 PayPal标签行" - }, - "i18n.ShowFundingIcons": { - "default": "Show funding icons", - "fr": "Afficher les icônes de financement", - "it": "Mostra icone finanziamento", - "uk": "Показати піктограми фінансування", - "zh": "展示资金图标" + "i18n.ButtonContainer": { + "default": "Button Container" }, "i18n.ButtonColor": { "default": "Button color", @@ -1961,13 +1950,6 @@ "uk": "Великий", "zh": "大" }, - "i18n.Responsive": { - "default": "Responsive", - "fr": "Responsive", - "it": "Responsive", - "uk": "Чуйний", - "zh": "响应式" - }, "i18n.ButtonContent": { "default": "Button content", "fr": "Contenu du bouton", @@ -1975,6 +1957,9 @@ "uk": "Зміст кнопки", "zh": "按钮内容" }, + "i18n.SmartPaypalButton": { + "default": "Smart Paypal Button" + }, "i18n.PayPalCheckout": { "default": "PayPal Checkout", "fr": "Checkout de PayPal", @@ -2088,5 +2073,8 @@ }, "i18n.BannersMessaging": { "default": "Please note that in order for the changes to apply, you need navigate to the PayPal Settings in BC Control Panel, disable an appropriate messaging banner(s), click \"Save\" button, enable the banner again and click \"Save\" button again" + }, + "i18n.PaymentButtonsContainer": { + "default": "Buttons Container Size" } } diff --git a/templates/components/account/navigation.html b/templates/components/account/navigation.html index b31dbb5760..7dbd48a4a5 100644 --- a/templates/components/account/navigation.html +++ b/templates/components/account/navigation.html @@ -1,72 +1,34 @@ diff --git a/templates/components/blog/post.html b/templates/components/blog/post.html index 3b649a495a..885e5925a5 100644 --- a/templates/components/blog/post.html +++ b/templates/components/blog/post.html @@ -45,7 +45,7 @@

{{/if}} {{/if}} - {{>components/common/share}} + {{>components/common/share url=post.url}} diff --git a/templates/components/carousel-content.html b/templates/components/carousel-content.html index f792bbc041..6c6e65bacd 100644 --- a/templates/components/carousel-content.html +++ b/templates/components/carousel-content.html @@ -1,6 +1,10 @@ -
-

{{{text}}}

- {{{heading}}} +
+ {{#if heading}} +

{{{heading}}}

+ {{/if}} + {{#if text}} +

{{{text}}}

+ {{/if}} {{#if button_text}} {{button_text}} {{/if}} diff --git a/templates/components/carousel.html b/templates/components/carousel.html index a5169f31fc..2e89fce070 100644 --- a/templates/components/carousel.html +++ b/templates/components/carousel.html @@ -15,7 +15,11 @@ {{/if}} {{/if}} + {{#or heading text button_text}} + {{> components/carousel-content}} + {{/or}}
{{#if button_text}}
diff --git a/templates/components/cart/item-giftwrap.html b/templates/components/cart/item-giftwrap.html index 0eee7b52b2..d5a46f0734 100644 --- a/templates/components/cart/item-giftwrap.html +++ b/templates/components/cart/item-giftwrap.html @@ -5,7 +5,7 @@ {{#if gift_wrapping}}
- {{gift_wrapping.name}} + {{gift_wrapping.name}}: {{gift_wrapping.price.formatted}} ({{lang 'cart.gift_wrapping.change'}} or {{lang 'cart.gift_wrapping.remove'}}) diff --git a/templates/components/cart/totals.html b/templates/components/cart/totals.html index 2194ee8a65..263578dacf 100644 --- a/templates/components/cart/totals.html +++ b/templates/components/cart/totals.html @@ -11,7 +11,7 @@ {{/or}} - {{#if cart.gift_wrapping_cost.amount}} + {{#if cart.gift_wrapping_cost.value}}
  • {{lang 'cart.checkout.gift_wrapping'}}: diff --git a/templates/components/common/share.html b/templates/components/common/share.html index 5a80cc027a..1244506c74 100644 --- a/templates/components/common/share.html +++ b/templates/components/common/share.html @@ -1,5 +1,5 @@ {{#if settings.add_this.buttons}} - {{assignVar 'encodedUrl' (encodeURI this.post.url)}} + {{assignVar 'encodedUrl' (encodeURI url)}} {{assignVar 'encodedTitle' (encodeURI head.title)}}