diff --git a/.eslintrc.cjs b/.eslintrc.cjs index f53ed8c9..93ef3bd9 100644 --- a/.eslintrc.cjs +++ b/.eslintrc.cjs @@ -2,9 +2,7 @@ * @type {import("@types/eslint").Linter.BaseConfig} */ module.exports = { - extends: [ - "@remix-run/eslint-config", - ], + extends: ["@remix-run/eslint-config"], rules: { "@typescript-eslint/ban-ts-comment": "off", "@typescript-eslint/naming-convention": "off", @@ -15,35 +13,7 @@ module.exports = { // TODO: Remove jest plugin from hydrogen/eslint-plugin "jest/no-deprecated-functions": "off", "react/display-name": "off", - "import/order": [ - "warn", - { - /** - * @description - * - * This keeps imports separate from one another, ensuring that imports are separated - * by their relative groups. As you move through the groups, imports become closer - * to the current file. - * - * @example - * ``` - * import fs from 'fs'; - * - * import package from 'npm-package'; - * - * import xyz from '~/project-file'; - * - * import index from '../'; - * - * import sibling from './foo'; - * ``` - */ - groups: ["builtin", "external", "internal", "parent", "sibling"], - "newlines-between": "always", - }, - ], "prefer-const": "off", - "jsx-a11y/click-events-have-key-events": "warn", "jsx-a11y/no-static-element-interactions": "warn", "jsx-a11y/label-has-associated-control": "warn", }, diff --git a/CHANGELOG.md b/CHANGELOG.md index 03ad6bf1..b834e36a 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,5 +1,18 @@ # @weaverse/pilot +## 2.6.8 + +### Patch Changes + +- Updated dependencies + - @weaverse/hydrogen@3.1.9 + +## 2.6.7 + +### Patch Changes + +- @weaverse/hydrogen@3.1.8 + ## 2.6.6 ### Patch Changes diff --git a/app/sections/shared/BackgroundImage.tsx b/app/components/BackgroundImage.tsx similarity index 100% rename from app/sections/shared/BackgroundImage.tsx rename to app/components/BackgroundImage.tsx diff --git a/app/components/Button.tsx b/app/components/Button.tsx index 8cfc5995..fd072d96 100644 --- a/app/components/Button.tsx +++ b/app/components/Button.tsx @@ -1,61 +1,138 @@ +import type { + InspectorGroup, + HydrogenComponentProps, + HydrogenComponentSchema, +} from "@weaverse/hydrogen"; +import type { VariantProps } from "class-variance-authority"; +import { cva } from "class-variance-authority"; +import { clsx } from "clsx"; import { forwardRef } from "react"; -import { Link } from "@remix-run/react"; -import clsx from "clsx"; +import { Link } from "~/modules"; -import { missingClass } from "~/lib/utils"; +export interface ButtonProps extends VariantProps { + as?: keyof HTMLElementTagNameMap; + className?: string; + text: string; + link?: string; + openInNewTab?: boolean; +} -export const Button = forwardRef( - ( - { - as = "button", - className = "", - variant = "primary", - width = "auto", - ...props - }: { - as?: React.ElementType; - className?: string; - variant?: "primary" | "secondary" | "inline" | "secondary-white"; - width?: "auto" | "full"; - [key: string]: any; +let variants = cva( + "inline-flex items-center justify-center whitespace-nowrap text-base font-medium transition-colors focus-visible:outline-none disabled:pointer-events-none disabled:opacity-50", + { + variants: { + variant: { + primary: "btn-primary border-2 px-5 py-3", + secondary: "btn-secondary border-2 px-5 py-3", + link: "btn-link bg-transparent py-2 border-b-2", + }, + shape: { + square: "", + rounded: "rounded-md", + pill: "rounded-full", + }, + weight: { + medium: "font-medium", + semibold: "font-semibold", + bold: "font-bold", + }, }, - ref, - ) => { - const Component = props?.to ? Link : as; - - const baseButtonClasses = - "inline-block rounded font-medium text-center py-3 px-4 text-sm font-medium"; - - const disabledClasses = - "disabled:opacity-50 disabled:cursor-not-allowed disabled:select-none disabled:hover:bg-btn disabled:hover:text-btn-content"; - - const variants = { - primary: `${baseButtonClasses} border-2 border-btn hover:bg-inv-btn hover:text-inv-btn-content bg-btn text-btn-content`, - secondary: `${baseButtonClasses} border-2 border-btn text-btnTextInverse hover:bg-btn hover:text-btn-content`, - "secondary-white": `${baseButtonClasses} border-2 border-inv-btn text-btn hover:bg-inv-btn hover:text-inv-btn-content`, - inline: "border-b border-bar/10 leading-none pb-1", - }; - - const widths = { - auto: "w-auto", - full: "w-full", - }; - - const styles = clsx( - missingClass(className, "bg-") && variants[variant], - missingClass(className, "w-") && widths[width], - disabledClasses, - className, - ); + defaultVariants: { + variant: "primary", + shape: "rounded", + weight: "medium", + }, + }, +); +interface Props extends ButtonProps, Partial {} + +let Button = forwardRef((props, ref) => { + let { + // as = "button", + variant, + // shape = "rounded", + // weight = "medium", + text, + link, + openInNewTab, + className, + ...rest + } = props; + + if (link) { return ( - + } + {...rest} + className={clsx(variants({ variant: variant, className }))} + to={link || "/"} + target={openInNewTab ? "_blank" : "_self"} + rel="noreferrer" + > + {text} + ); + } + return ( + + ); +}); + +export default Button; + +export let buttonInputs: InspectorGroup["inputs"] = [ + { + type: "text", + name: "text", + label: "Text content", + defaultValue: "Shop now", + placeholder: "Shop now", }, -); + { + type: "url", + name: "link", + label: "Link to", + defaultValue: "/products", + placeholder: "/products", + }, + { + type: "switch", + name: "openInNewTab", + label: "Open in new tab", + defaultValue: false, + condition: "buttonLink.ne.nil", + }, + { + type: "select", + name: "variant", + label: "Variant", + configs: { + options: [ + { label: "Primary", value: "primary" }, + { label: "Secondary", value: "secondary" }, + { label: "Link", value: "link" }, + ], + }, + defaultValue: "primary", + }, +]; + +export let schema: HydrogenComponentSchema = { + type: "button", + title: "Button", + inspector: [ + { + group: "Button", + inputs: buttonInputs, + }, + ], + toolbar: ["general-settings", ["duplicate", "delete"]], +}; diff --git a/app/sections/shared/Description.tsx b/app/components/Description.tsx similarity index 100% rename from app/sections/shared/Description.tsx rename to app/components/Description.tsx diff --git a/app/sections/shared/Heading.tsx b/app/components/Heading.tsx similarity index 100% rename from app/sections/shared/Heading.tsx rename to app/components/Heading.tsx diff --git a/app/sections/shared/Overlay.tsx b/app/components/Overlay.tsx similarity index 100% rename from app/sections/shared/Overlay.tsx rename to app/components/Overlay.tsx diff --git a/app/sections/shared/Section.tsx b/app/components/Section.tsx similarity index 100% rename from app/sections/shared/Section.tsx rename to app/components/Section.tsx diff --git a/app/sections/shared/SubHeading.tsx b/app/components/SubHeading.tsx similarity index 100% rename from app/sections/shared/SubHeading.tsx rename to app/components/SubHeading.tsx diff --git a/app/components/index.ts b/app/components/index.ts index 8d7030a1..14c45d01 100644 --- a/app/components/index.ts +++ b/app/components/index.ts @@ -1,24 +1,13 @@ -export { Layout } from "./Layout"; -export { Drawer, useDrawer } from "./Drawer"; -export { Heading, Section, Text, PageHeader } from "./Text"; -export { Input } from "./Input"; -export { ProductGallery } from "./ProductGallery"; -export { ProductCard } from "./ProductCard"; -export { ProductSwimlane } from "./ProductSwimlane"; -export { Skeleton } from "./Skeleton"; -export { Button } from "./Button"; -export { CountrySelector } from "./CountrySelector"; -export { Cart } from "./Cart"; -export { CartLoading } from "./CartLoading"; -export { OrderCard } from "./OrderCard"; -export { AccountDetails } from "./AccountDetails"; -export { AccountAddressBook } from "./AccountAddressBook"; -export { Modal } from "./Modal"; -export { Link } from "./Link"; -export { FeaturedCollections } from "./FeaturedCollections"; -export { Hero } from "./Hero"; -export { SortFilter } from "./SortFilter"; -export { Grid } from "./Grid"; -export { FeaturedProducts } from "./FeaturedProducts"; -export { AddToCartButton } from "./AddToCartButton"; -export * from "./Icon"; +import type { HydrogenComponent } from "@weaverse/hydrogen"; + +import * as Heading from "./Heading"; +import * as SubHeading from "./SubHeading"; +import * as Description from "./Description"; +import * as Button from "./Button"; + +export let sharedComponents: HydrogenComponent[] = [ + SubHeading, + Heading, + Description, + Button, +]; diff --git a/app/components/AccountAddressBook.tsx b/app/modules/AccountAddressBook.tsx similarity index 98% rename from app/components/AccountAddressBook.tsx rename to app/modules/AccountAddressBook.tsx index eeabd303..5d0fe61d 100644 --- a/app/components/AccountAddressBook.tsx +++ b/app/modules/AccountAddressBook.tsx @@ -2,7 +2,7 @@ import { Form } from "@remix-run/react"; import type { CustomerAddress } from "@shopify/hydrogen/customer-account-api-types"; import type { CustomerDetailsFragment } from "customer-accountapi.generated"; -import { Button, Link, Text } from "~/components"; +import { Button, Link, Text } from "~/modules"; export function AccountAddressBook({ customer, diff --git a/app/components/AccountDetails.tsx b/app/modules/AccountDetails.tsx similarity index 97% rename from app/components/AccountDetails.tsx rename to app/modules/AccountDetails.tsx index 6594867e..93bdf9f6 100644 --- a/app/components/AccountDetails.tsx +++ b/app/modules/AccountDetails.tsx @@ -1,5 +1,5 @@ import type { CustomerDetailsFragment } from "customer-accountapi.generated"; -import { Link } from "~/components"; +import { Link } from "~/modules"; export function AccountDetails({ customer, diff --git a/app/components/AddToCartButton.tsx b/app/modules/AddToCartButton.tsx similarity index 98% rename from app/components/AddToCartButton.tsx rename to app/modules/AddToCartButton.tsx index 7ce400d5..285b43d1 100644 --- a/app/components/AddToCartButton.tsx +++ b/app/modules/AddToCartButton.tsx @@ -9,7 +9,7 @@ import { import type { FetcherWithComponents } from "@remix-run/react"; import { useEffect } from "react"; -import { Button } from "~/components"; +import { Button } from "~/modules"; import { usePageAnalytics } from "~/hooks/usePageAnalytics"; export function AddToCartButton({ diff --git a/app/modules/Button.tsx b/app/modules/Button.tsx new file mode 100644 index 00000000..8cfc5995 --- /dev/null +++ b/app/modules/Button.tsx @@ -0,0 +1,61 @@ +import { forwardRef } from "react"; +import { Link } from "@remix-run/react"; +import clsx from "clsx"; + +import { missingClass } from "~/lib/utils"; + +export const Button = forwardRef( + ( + { + as = "button", + className = "", + variant = "primary", + width = "auto", + ...props + }: { + as?: React.ElementType; + className?: string; + variant?: "primary" | "secondary" | "inline" | "secondary-white"; + width?: "auto" | "full"; + [key: string]: any; + }, + ref, + ) => { + const Component = props?.to ? Link : as; + + const baseButtonClasses = + "inline-block rounded font-medium text-center py-3 px-4 text-sm font-medium"; + + const disabledClasses = + "disabled:opacity-50 disabled:cursor-not-allowed disabled:select-none disabled:hover:bg-btn disabled:hover:text-btn-content"; + + const variants = { + primary: `${baseButtonClasses} border-2 border-btn hover:bg-inv-btn hover:text-inv-btn-content bg-btn text-btn-content`, + secondary: `${baseButtonClasses} border-2 border-btn text-btnTextInverse hover:bg-btn hover:text-btn-content`, + "secondary-white": `${baseButtonClasses} border-2 border-inv-btn text-btn hover:bg-inv-btn hover:text-inv-btn-content`, + inline: "border-b border-bar/10 leading-none pb-1", + }; + + const widths = { + auto: "w-auto", + full: "w-full", + }; + + const styles = clsx( + missingClass(className, "bg-") && variants[variant], + missingClass(className, "w-") && widths[width], + disabledClasses, + className, + ); + + return ( + + ); + }, +); diff --git a/app/components/Cart.tsx b/app/modules/Cart.tsx similarity index 99% rename from app/components/Cart.tsx rename to app/modules/Cart.tsx index b86e78d6..1a7eeab1 100644 --- a/app/components/Cart.tsx +++ b/app/modules/Cart.tsx @@ -24,7 +24,7 @@ import { Text, Link, FeaturedProducts, -} from "~/components"; +} from "~/modules"; import { getInputStyleClasses } from "~/lib/utils"; type Layouts = "page" | "drawer"; diff --git a/app/components/CartLoading.tsx b/app/modules/CartLoading.tsx similarity index 100% rename from app/components/CartLoading.tsx rename to app/modules/CartLoading.tsx diff --git a/app/components/Checkbox.tsx b/app/modules/Checkbox.tsx similarity index 100% rename from app/components/Checkbox.tsx rename to app/modules/Checkbox.tsx diff --git a/app/components/CountrySelector.tsx b/app/modules/CountrySelector.tsx similarity index 98% rename from app/components/CountrySelector.tsx rename to app/modules/CountrySelector.tsx index 3854d05b..871ac318 100644 --- a/app/components/CountrySelector.tsx +++ b/app/modules/CountrySelector.tsx @@ -5,7 +5,7 @@ import clsx from "clsx"; import type { CartBuyerIdentityInput } from "@shopify/hydrogen/storefront-api-types"; import { CartForm } from "@shopify/hydrogen"; -import { Heading, Button, IconCheck } from "~/components"; +import { Heading, Button, IconCheck } from "~/modules"; import type { Localizations, Locale } from "~/lib/type"; import { DEFAULT_LOCALE } from "~/lib/utils"; import { useRootLoaderData } from "~/root"; @@ -52,6 +52,7 @@ export function CountrySelector() { ref={observerRef} className="grid w-full gap-4" onMouseLeave={closeDropdown} + role="listbox" > Country diff --git a/app/components/CustomAnalytics.tsx b/app/modules/CustomAnalytics.tsx similarity index 95% rename from app/components/CustomAnalytics.tsx rename to app/modules/CustomAnalytics.tsx index d4ffa0f4..f85ad322 100644 --- a/app/components/CustomAnalytics.tsx +++ b/app/modules/CustomAnalytics.tsx @@ -4,7 +4,7 @@ import { } from "@shopify/hydrogen"; import { useEffect } from "react"; import { useLoaderData } from "@remix-run/react"; -import { loader } from "~/root"; +import type { loader } from "~/root"; export function CustomAnalytics() { const { subscribe, canTrack } = useAnalytics(); @@ -36,6 +36,7 @@ export function CustomAnalytics() { subscribe("custom_sidecart_viewed", (data) => { console.log("CustomAnalytics - Custom sidecart opened:", data); }); + // eslint-disable-next-line react-hooks/exhaustive-deps }, []); let id = data.googleGtmID; diff --git a/app/components/Drawer.tsx b/app/modules/Drawer.tsx similarity index 98% rename from app/components/Drawer.tsx rename to app/modules/Drawer.tsx index e4b30fb2..292b6d4c 100644 --- a/app/components/Drawer.tsx +++ b/app/modules/Drawer.tsx @@ -1,7 +1,7 @@ import { Fragment, useState } from "react"; import { Dialog, Transition } from "@headlessui/react"; -import { Heading, IconClose } from "~/components"; +import { Heading, IconClose } from "~/modules"; /** * Drawer component that opens on user click. diff --git a/app/components/FeaturedCollections.tsx b/app/modules/FeaturedCollections.tsx similarity index 95% rename from app/components/FeaturedCollections.tsx rename to app/modules/FeaturedCollections.tsx index 318a808c..3c0ce9fe 100644 --- a/app/components/FeaturedCollections.tsx +++ b/app/modules/FeaturedCollections.tsx @@ -1,7 +1,7 @@ import { Image } from "@shopify/hydrogen"; import type { HomepageFeaturedCollectionsQuery } from "storefrontapi.generated"; -import { Heading, Section, Grid, Link } from "~/components"; +import { Heading, Section, Grid, Link } from "~/modules"; type FeaturedCollectionsProps = HomepageFeaturedCollectionsQuery & { title?: string; diff --git a/app/components/FeaturedProducts.tsx b/app/modules/FeaturedProducts.tsx similarity index 97% rename from app/components/FeaturedProducts.tsx rename to app/modules/FeaturedProducts.tsx index 88348a3c..e93f6d40 100644 --- a/app/components/FeaturedProducts.tsx +++ b/app/modules/FeaturedProducts.tsx @@ -6,7 +6,7 @@ import type { ProductSortKeys, } from "@shopify/hydrogen/storefront-api-types"; -import { Heading, ProductCard, Skeleton, Text } from "~/components"; +import { Heading, ProductCard, Skeleton, Text } from "~/modules"; import { usePrefixPathWithLocale } from "~/lib/utils"; interface FeaturedProductsProps { diff --git a/app/components/FeaturedSection.tsx b/app/modules/FeaturedSection.tsx similarity index 100% rename from app/components/FeaturedSection.tsx rename to app/modules/FeaturedSection.tsx diff --git a/app/components/GenericError.tsx b/app/modules/GenericError.tsx similarity index 100% rename from app/components/GenericError.tsx rename to app/modules/GenericError.tsx diff --git a/app/components/Grid.tsx b/app/modules/Grid.tsx similarity index 100% rename from app/components/Grid.tsx rename to app/modules/Grid.tsx diff --git a/app/components/Hero.tsx b/app/modules/Hero.tsx similarity index 98% rename from app/components/Hero.tsx rename to app/modules/Hero.tsx index a77eba9a..519b1cd3 100644 --- a/app/components/Hero.tsx +++ b/app/modules/Hero.tsx @@ -7,7 +7,7 @@ import type { } from "@shopify/hydrogen/storefront-api-types"; import type { CollectionContentFragment } from "storefrontapi.generated"; -import { Heading, Text, Link } from "~/components"; +import { Heading, Text, Link } from "~/modules"; type HeroProps = CollectionContentFragment & { height?: "full"; diff --git a/app/components/Icon.tsx b/app/modules/Icon.tsx similarity index 100% rename from app/components/Icon.tsx rename to app/modules/Icon.tsx diff --git a/app/components/Input.tsx b/app/modules/Input.tsx similarity index 100% rename from app/components/Input.tsx rename to app/modules/Input.tsx diff --git a/app/components/Layout.tsx b/app/modules/Layout.tsx similarity index 99% rename from app/components/Layout.tsx rename to app/modules/Layout.tsx index 2490df06..871b7a7a 100644 --- a/app/components/Layout.tsx +++ b/app/modules/Layout.tsx @@ -25,7 +25,7 @@ import { Section, Text, useDrawer, -} from "~/components"; +} from "~/modules"; import { useCartFetchers } from "~/hooks/useCartFetchers"; import { useIsHydrated } from "~/hooks/useIsHydrated"; import { diff --git a/app/components/Link.tsx b/app/modules/Link.tsx similarity index 100% rename from app/components/Link.tsx rename to app/modules/Link.tsx diff --git a/app/components/Logo.tsx b/app/modules/Logo.tsx similarity index 100% rename from app/components/Logo.tsx rename to app/modules/Logo.tsx diff --git a/app/components/Modal.tsx b/app/modules/Modal.tsx similarity index 96% rename from app/components/Modal.tsx rename to app/modules/Modal.tsx index 1f131390..48154ae7 100644 --- a/app/components/Modal.tsx +++ b/app/modules/Modal.tsx @@ -1,4 +1,4 @@ -import { IconClose, Link } from "~/components"; +import { IconClose, Link } from "~/modules"; export function Modal({ children, diff --git a/app/components/NotFound.tsx b/app/modules/NotFound.tsx similarity index 100% rename from app/components/NotFound.tsx rename to app/modules/NotFound.tsx diff --git a/app/components/OrderCard.tsx b/app/modules/OrderCard.tsx similarity index 98% rename from app/components/OrderCard.tsx rename to app/modules/OrderCard.tsx index a4727811..50503d50 100644 --- a/app/components/OrderCard.tsx +++ b/app/modules/OrderCard.tsx @@ -1,7 +1,7 @@ import { flattenConnection, Image } from "@shopify/hydrogen"; import type { OrderCardFragment } from "customer-accountapi.generated"; -import { Heading, Text, Link } from "~/components"; +import { Heading, Text, Link } from "~/modules"; import { statusMessage } from "~/lib/utils"; export function OrderCard({ order }: { order: OrderCardFragment }) { diff --git a/app/components/ProductCard.tsx b/app/modules/ProductCard.tsx similarity index 98% rename from app/components/ProductCard.tsx rename to app/modules/ProductCard.tsx index cb94f7c7..490276d0 100644 --- a/app/components/ProductCard.tsx +++ b/app/modules/ProductCard.tsx @@ -4,7 +4,7 @@ import { flattenConnection, Image, Money, useMoney } from "@shopify/hydrogen"; import type { MoneyV2, Product } from "@shopify/hydrogen/storefront-api-types"; import type { ProductCardFragment } from "storefrontapi.generated"; -import { Text, Link, AddToCartButton, Button } from "~/components"; +import { Text, Link, AddToCartButton, Button } from "~/modules"; import { isDiscounted, isNewArrival } from "~/lib/utils"; import { getProductPlaceholder } from "~/lib/placeholders"; diff --git a/app/components/ProductGallery.tsx b/app/modules/ProductGallery.tsx similarity index 100% rename from app/components/ProductGallery.tsx rename to app/modules/ProductGallery.tsx diff --git a/app/components/ProductSwimlane.tsx b/app/modules/ProductSwimlane.tsx similarity index 93% rename from app/components/ProductSwimlane.tsx rename to app/modules/ProductSwimlane.tsx index a69ccf6a..f920cb65 100644 --- a/app/components/ProductSwimlane.tsx +++ b/app/modules/ProductSwimlane.tsx @@ -1,5 +1,5 @@ import type { HomepageFeaturedProductsQuery } from "storefrontapi.generated"; -import { ProductCard, Section } from "~/components"; +import { ProductCard, Section } from "~/modules"; const mockProducts = { nodes: new Array(12).fill(""), diff --git a/app/components/Skeleton.tsx b/app/modules/Skeleton.tsx similarity index 100% rename from app/components/Skeleton.tsx rename to app/modules/Skeleton.tsx diff --git a/app/components/SortFilter.tsx b/app/modules/SortFilter.tsx similarity index 99% rename from app/components/SortFilter.tsx rename to app/modules/SortFilter.tsx index dfd92f45..e63217b9 100644 --- a/app/components/SortFilter.tsx +++ b/app/modules/SortFilter.tsx @@ -14,7 +14,7 @@ import type { ProductFilter, } from "@shopify/hydrogen/storefront-api-types"; -import { Heading, IconFilters, IconCaret, IconXMark, Text } from "~/components"; +import { Heading, IconFilters, IconCaret, IconXMark, Text } from "~/modules"; export type AppliedFilter = { label: string; diff --git a/app/components/StarRating.tsx b/app/modules/StarRating.tsx similarity index 100% rename from app/components/StarRating.tsx rename to app/modules/StarRating.tsx diff --git a/app/components/Text.tsx b/app/modules/Text.tsx similarity index 100% rename from app/components/Text.tsx rename to app/modules/Text.tsx diff --git a/app/components/global-loading.tsx b/app/modules/global-loading.tsx similarity index 100% rename from app/components/global-loading.tsx rename to app/modules/global-loading.tsx diff --git a/app/modules/index.ts b/app/modules/index.ts new file mode 100644 index 00000000..8d7030a1 --- /dev/null +++ b/app/modules/index.ts @@ -0,0 +1,24 @@ +export { Layout } from "./Layout"; +export { Drawer, useDrawer } from "./Drawer"; +export { Heading, Section, Text, PageHeader } from "./Text"; +export { Input } from "./Input"; +export { ProductGallery } from "./ProductGallery"; +export { ProductCard } from "./ProductCard"; +export { ProductSwimlane } from "./ProductSwimlane"; +export { Skeleton } from "./Skeleton"; +export { Button } from "./Button"; +export { CountrySelector } from "./CountrySelector"; +export { Cart } from "./Cart"; +export { CartLoading } from "./CartLoading"; +export { OrderCard } from "./OrderCard"; +export { AccountDetails } from "./AccountDetails"; +export { AccountAddressBook } from "./AccountAddressBook"; +export { Modal } from "./Modal"; +export { Link } from "./Link"; +export { FeaturedCollections } from "./FeaturedCollections"; +export { Hero } from "./Hero"; +export { SortFilter } from "./SortFilter"; +export { Grid } from "./Grid"; +export { FeaturedProducts } from "./FeaturedProducts"; +export { AddToCartButton } from "./AddToCartButton"; +export * from "./Icon"; diff --git a/app/components/product-form/judgeme-review.tsx b/app/modules/product-form/judgeme-review.tsx similarity index 100% rename from app/components/product-form/judgeme-review.tsx rename to app/modules/product-form/judgeme-review.tsx diff --git a/app/components/product-form/options.tsx b/app/modules/product-form/options.tsx similarity index 99% rename from app/components/product-form/options.tsx rename to app/modules/product-form/options.tsx index 990d5908..677375f8 100644 --- a/app/components/product-form/options.tsx +++ b/app/modules/product-form/options.tsx @@ -209,6 +209,7 @@ export function VariantOption(props: VariantOptionProps) { !value.isAvailable && "opacity-50", )} onClick={() => onSelectOptionValue(value.value)} + role="listitem" > {value.value} diff --git a/app/components/product-form/placeholder.tsx b/app/modules/product-form/placeholder.tsx similarity index 100% rename from app/components/product-form/placeholder.tsx rename to app/modules/product-form/placeholder.tsx diff --git a/app/components/product-form/product-media.tsx b/app/modules/product-form/product-media.tsx similarity index 99% rename from app/components/product-form/product-media.tsx rename to app/modules/product-form/product-media.tsx index 3f166dbb..dc481461 100644 --- a/app/components/product-form/product-media.tsx +++ b/app/modules/product-form/product-media.tsx @@ -119,6 +119,7 @@ export function ProductMedia(props: ProductMediaProps) { i === activeInd ? "border-bar/70" : "", )} onClick={() => handleClickThumbnail(i)} + role="listitem" > = ({ data }) => { diff --git a/app/routes/($locale).account.tsx b/app/routes/($locale).account.tsx index a5d25894..f4144921 100644 --- a/app/routes/($locale).account.tsx +++ b/app/routes/($locale).account.tsx @@ -23,8 +23,8 @@ import { PageHeader, ProductSwimlane, Text, -} from "~/components"; -import { FeaturedCollections } from "~/components/FeaturedCollections"; +} from "~/modules"; +import { FeaturedCollections } from "~/modules/FeaturedCollections"; import { CACHE_NONE, routeHeaders } from "~/data/cache"; import { CUSTOMER_DETAILS_QUERY } from "~/graphql/customer-account/CustomerDetailsQuery"; import { usePrefixPathWithLocale } from "~/lib/utils"; diff --git a/app/routes/($locale).cart.tsx b/app/routes/($locale).cart.tsx index 5aa55075..15cad430 100644 --- a/app/routes/($locale).cart.tsx +++ b/app/routes/($locale).cart.tsx @@ -12,7 +12,7 @@ import { } from "@shopify/hydrogen"; import { isLocalPath } from "~/lib/utils"; -import { Cart } from "~/components/Cart"; +import { Cart } from "~/modules/Cart"; import { useRootLoaderData } from "~/root"; export async function action({ request, context }: ActionFunctionArgs) { @@ -65,7 +65,7 @@ export async function action({ request, context }: ActionFunctionArgs) { /** * The Cart ID may change after each mutation. We need to update it each time in the session. */ - const cartId = result.cart.id; + // const cartId = result.cart.id; const headers = cart.setCartId(result.cart.id); const redirectTo = formData.get("redirectTo") ?? null; diff --git a/app/routes/($locale).collections.$collectionHandle.tsx b/app/routes/($locale).collections.$collectionHandle.tsx index 93df6654..7f165ec7 100644 --- a/app/routes/($locale).collections.$collectionHandle.tsx +++ b/app/routes/($locale).collections.$collectionHandle.tsx @@ -8,12 +8,13 @@ import type { ProductCollectionSortKeys, ProductFilter, } from "@shopify/hydrogen/storefront-api-types"; -import { json, type LoaderFunctionArgs, MetaArgs } from "@shopify/remix-oxygen"; +import { json } from "@shopify/remix-oxygen"; +import type { MetaArgs, type LoaderFunctionArgs } from "@shopify/remix-oxygen"; import invariant from "tiny-invariant"; import { useLoaderData } from "@remix-run/react"; -import type { SortParam } from "~/components/SortFilter"; -import { FILTER_URL_PREFIX } from "~/components/SortFilter"; +import type { SortParam } from "~/modules/SortFilter"; +import { FILTER_URL_PREFIX } from "~/modules/SortFilter"; import { routeHeaders } from "~/data/cache"; import { COLLECTION_QUERY } from "~/data/queries"; import { PAGINATION_SIZE } from "~/lib/const"; diff --git a/app/routes/($locale).policies.$policyHandle.tsx b/app/routes/($locale).policies.$policyHandle.tsx index 247a41d7..2b3e9f18 100644 --- a/app/routes/($locale).policies.$policyHandle.tsx +++ b/app/routes/($locale).policies.$policyHandle.tsx @@ -2,7 +2,7 @@ import { json, type LoaderFunctionArgs } from "@shopify/remix-oxygen"; import { useLoaderData } from "@remix-run/react"; import invariant from "tiny-invariant"; -import { PageHeader, Section, Button } from "~/components"; +import { PageHeader, Section, Button } from "~/modules"; import { routeHeaders } from "~/data/cache"; import { seoPayload } from "~/lib/seo.server"; diff --git a/app/routes/($locale).policies._index.tsx b/app/routes/($locale).policies._index.tsx index ca307863..20a21604 100644 --- a/app/routes/($locale).policies._index.tsx +++ b/app/routes/($locale).policies._index.tsx @@ -5,7 +5,7 @@ import invariant from "tiny-invariant"; import type { SeoConfig } from "@shopify/hydrogen"; import { getSeoMeta } from "@shopify/hydrogen"; -import { PageHeader, Section, Heading, Link } from "~/components"; +import { PageHeader, Section, Heading, Link } from "~/modules"; import { routeHeaders } from "~/data/cache"; import { seoPayload } from "~/lib/seo.server"; import type { NonNullableFields } from "~/lib/type"; diff --git a/app/routes/($locale).search.tsx b/app/routes/($locale).search.tsx index ce4d1e32..e53bc74c 100644 --- a/app/routes/($locale).search.tsx +++ b/app/routes/($locale).search.tsx @@ -5,11 +5,8 @@ import { Pagination, UNSTABLE_Analytics as Analytics, } from "@shopify/hydrogen"; -import { - defer, - type LoaderFunctionArgs, - MetaArgs, -} from "@shopify/remix-oxygen"; +import { defer } from "@shopify/remix-oxygen"; +import type { MetaArgs, type LoaderFunctionArgs } from "@shopify/remix-oxygen"; import { Suspense } from "react"; import { @@ -22,7 +19,7 @@ import { ProductSwimlane, Section, Text, -} from "~/components"; +} from "~/modules"; import { PRODUCT_CARD_FRAGMENT } from "~/data/fragments"; import { getImageLoadingPriority, PAGINATION_SIZE } from "~/lib/const"; import { seoPayload } from "~/lib/seo.server"; diff --git a/app/sections/SlideShow/SlideItems.tsx b/app/sections/SlideShow/SlideItems.tsx index dce32f5b..1150b95d 100644 --- a/app/sections/SlideShow/SlideItems.tsx +++ b/app/sections/SlideShow/SlideItems.tsx @@ -8,7 +8,7 @@ import { forwardRef } from "react"; import { Image } from "@shopify/hydrogen"; import clsx from "clsx"; -import { IconImageBlank } from "~/components"; +import { IconImageBlank } from "~/modules"; interface CountDownProps extends HydrogenComponentProps { backgroundImage: WeaverseImage; diff --git a/app/sections/SlideShow/SlideShow.tsx b/app/sections/SlideShow/SlideShow.tsx index 9e61c936..68f2c6e4 100644 --- a/app/sections/SlideShow/SlideShow.tsx +++ b/app/sections/SlideShow/SlideShow.tsx @@ -2,10 +2,10 @@ import type { HydrogenComponentProps, HydrogenComponentSchema, } from "@weaverse/hydrogen"; -import type { CSSProperties } from "react"; -import { forwardRef, useState, useCallback, useEffect } from "react"; -import { useKeenSlider } from "keen-slider/react.es"; import clsx from "clsx"; +import { useKeenSlider } from "keen-slider/react.es"; +import type { CSSProperties } from "react"; +import { forwardRef, useCallback, useEffect, useState } from "react"; interface SlideShowProps extends HydrogenComponentProps { sectionHeight: number; @@ -46,7 +46,8 @@ let SlideShow = forwardRef((props, ref) => { index === activeIndex ? "bg-gray-700" : "bg-gray-300", )} onClick={() => handleClickNavigation(index)} - > + role="listitem" + /> )); } return null; diff --git a/app/sections/all-products.tsx b/app/sections/all-products.tsx index b4f6a09d..fd17be2b 100644 --- a/app/sections/all-products.tsx +++ b/app/sections/all-products.tsx @@ -7,7 +7,7 @@ import type { import { forwardRef } from "react"; import type { AllProductsQuery } from "storefrontapi.generated"; -import { Grid, PageHeader, ProductCard, Section } from "~/components"; +import { Grid, PageHeader, ProductCard, Section } from "~/modules"; import { getImageLoadingPriority } from "~/lib/const"; interface AllProductsProps extends HydrogenComponentProps { diff --git a/app/sections/blog-post.tsx b/app/sections/blog-post.tsx index 236355f8..f2b061f6 100644 --- a/app/sections/blog-post.tsx +++ b/app/sections/blog-post.tsx @@ -7,7 +7,7 @@ import type { } from "@weaverse/hydrogen"; import { forwardRef } from "react"; -import { IconFacebook, IconPinterest, Section } from "~/components"; +import { IconFacebook, IconPinterest, Section } from "~/modules"; interface BlogPostProps extends HydrogenComponentProps { paddingTop: number; diff --git a/app/sections/blogs.tsx b/app/sections/blogs.tsx index c9dab0e1..b1203350 100644 --- a/app/sections/blogs.tsx +++ b/app/sections/blogs.tsx @@ -7,7 +7,7 @@ import type { import { forwardRef } from "react"; import type { ArticleFragment, BlogQuery } from "storefrontapi.generated"; -import { Grid, Link, PageHeader, Section } from "~/components"; +import { Grid, Link, PageHeader, Section } from "~/modules"; import { getImageLoadingPriority } from "~/lib/const"; interface BlogsProps extends HydrogenComponentProps { diff --git a/app/sections/collection-filters/index.tsx b/app/sections/collection-filters/index.tsx index 6e4837d8..41c7e712 100644 --- a/app/sections/collection-filters/index.tsx +++ b/app/sections/collection-filters/index.tsx @@ -9,8 +9,8 @@ import { forwardRef } from "react"; import { useInView } from "react-intersection-observer"; import type { CollectionDetailsQuery } from "storefrontapi.generated"; -import { Button, PageHeader, Section, SortFilter, Text } from "~/components"; -import type { AppliedFilter } from "~/components/SortFilter"; +import { Button, PageHeader, Section, SortFilter, Text } from "~/modules"; +import type { AppliedFilter } from "~/modules/SortFilter"; import { ProductsLoadedOnScroll } from "./products-loaded-on-scroll"; diff --git a/app/sections/collection-filters/products-loaded-on-scroll.tsx b/app/sections/collection-filters/products-loaded-on-scroll.tsx index 765ad482..73bfe52f 100644 --- a/app/sections/collection-filters/products-loaded-on-scroll.tsx +++ b/app/sections/collection-filters/products-loaded-on-scroll.tsx @@ -1,7 +1,7 @@ import { useNavigate } from "@remix-run/react"; import { useEffect } from "react"; -import { Grid, ProductCard } from "~/components"; +import { Grid, ProductCard } from "~/modules"; import { getImageLoadingPriority } from "~/lib/const"; type ProductsLoadedOnScrollProps = { diff --git a/app/sections/collection-list/collection-card.tsx b/app/sections/collection-list/collection-card.tsx index 62b8113b..fd1f225a 100644 --- a/app/sections/collection-list/collection-card.tsx +++ b/app/sections/collection-list/collection-card.tsx @@ -1,7 +1,7 @@ import { Image } from "@shopify/hydrogen"; import type { Collection } from "@shopify/hydrogen/storefront-api-types"; -import { Heading, Link } from "~/components"; +import { Heading, Link } from "~/modules"; export function CollectionCard({ collection, diff --git a/app/sections/collection-list/index.tsx b/app/sections/collection-list/index.tsx index bf7f775d..86c6d717 100644 --- a/app/sections/collection-list/index.tsx +++ b/app/sections/collection-list/index.tsx @@ -8,7 +8,7 @@ import type { import { forwardRef } from "react"; import type { CollectionsQuery } from "storefrontapi.generated"; -import { Button, Grid, PageHeader, Section } from "~/components"; +import { Button, Grid, PageHeader, Section } from "~/modules"; import { getImageLoadingPriority } from "~/lib/const"; import { CollectionCard } from "./collection-card"; diff --git a/app/sections/columns-with-images/column.tsx b/app/sections/columns-with-images/column.tsx index f6bb9e05..47b17d60 100644 --- a/app/sections/columns-with-images/column.tsx +++ b/app/sections/columns-with-images/column.tsx @@ -7,7 +7,8 @@ import { } from "@weaverse/hydrogen"; import clsx from "clsx"; import { forwardRef } from "react"; -import Button, { ButtonProps, buttonInputs } from "../shared/Button"; +import type { ButtonProps } from "~/components/Button"; +import Button, { buttonInputs } from "~/components/Button"; interface ColumnWithImageItemProps extends ButtonProps, HydrogenComponentProps { imageSrc: WeaverseImage; diff --git a/app/sections/columns-with-images/index.tsx b/app/sections/columns-with-images/index.tsx index 0f6b8e80..b30a6fd5 100644 --- a/app/sections/columns-with-images/index.tsx +++ b/app/sections/columns-with-images/index.tsx @@ -1,7 +1,7 @@ import type { HydrogenComponentSchema } from "@weaverse/hydrogen"; import { forwardRef } from "react"; -import type { SectionProps } from "~/sections/shared/Section"; -import { Section, sectionInspector } from "~/sections/shared/Section"; +import type { SectionProps } from "~/components/Section"; +import { Section, sectionInspector } from "~/components/Section"; type ColumnsWithImagesProps = SectionProps; diff --git a/app/sections/contact-form.tsx b/app/sections/contact-form.tsx index bca993dc..d13f5d6e 100644 --- a/app/sections/contact-form.tsx +++ b/app/sections/contact-form.tsx @@ -2,7 +2,7 @@ import type { HydrogenComponentSchema } from "@weaverse/hydrogen"; import { forwardRef } from "react"; import { Form } from "@remix-run/react"; -import { Button, Input } from "~/components"; +import { Button, Input } from "~/modules"; let ContactForm = forwardRef((props, ref) => { return ( @@ -15,7 +15,9 @@ let ContactForm = forwardRef((props, ref) => { className="w-80 mx-auto p-4 text-center" >
- +

Let us know if you have any question

diff --git a/app/sections/countdown/index.tsx b/app/sections/countdown/index.tsx index d78243a3..ef9c98a5 100644 --- a/app/sections/countdown/index.tsx +++ b/app/sections/countdown/index.tsx @@ -1,6 +1,7 @@ import type { HydrogenComponentSchema } from "@weaverse/hydrogen"; import { forwardRef } from "react"; -import { Section, SectionProps, sectionInspector } from "../shared/Section"; +import type { SectionProps } from "~/components/Section"; +import { Section, sectionInspector } from "~/components/Section"; type CountdownProps = SectionProps; diff --git a/app/sections/featured-collections.tsx b/app/sections/featured-collections.tsx index 8f4b4bc9..69e4558a 100644 --- a/app/sections/featured-collections.tsx +++ b/app/sections/featured-collections.tsx @@ -6,7 +6,7 @@ import type { import { forwardRef } from "react"; import type { HomepageFeaturedCollectionsQuery } from "storefrontapi.generated"; -import { FeaturedCollections as HomeFeaturedCollections } from "~/components"; +import { FeaturedCollections as HomeFeaturedCollections } from "~/modules"; import { FEATURED_COLLECTIONS_QUERY } from "~/data/queries"; interface FeaturedCollectionsProps diff --git a/app/sections/featured-products.tsx b/app/sections/featured-products.tsx index 3b4f84d1..d46d72fe 100644 --- a/app/sections/featured-products.tsx +++ b/app/sections/featured-products.tsx @@ -6,7 +6,7 @@ import type { import { forwardRef } from "react"; import type { HomepageFeaturedProductsQuery } from "storefrontapi.generated"; -import { ProductSwimlane } from "~/components"; +import { ProductSwimlane } from "~/modules"; import { HOMEPAGE_FEATURED_PRODUCTS_QUERY } from "~/data/queries"; interface FeaturedProductsProps diff --git a/app/sections/image-banner/index.tsx b/app/sections/hero-image/index.tsx similarity index 94% rename from app/sections/image-banner/index.tsx rename to app/sections/hero-image/index.tsx index 8a15c1bf..efd03d4f 100644 --- a/app/sections/image-banner/index.tsx +++ b/app/sections/hero-image/index.tsx @@ -8,9 +8,9 @@ import { forwardRef } from "react"; import clsx from "clsx"; import { Image } from "@shopify/hydrogen"; -import { IconImageBlank } from "~/components"; +import { IconImageBlank } from "~/modules"; -interface HeaderImageProps extends HydrogenComponentProps { +type HeroImageProps = HydrogenComponentProps & { backgroundImage: WeaverseImage; contentAlignment: string; enableOverlay: boolean; @@ -18,9 +18,9 @@ interface HeaderImageProps extends HydrogenComponentProps { overlayOpacity: number; sectionHeightDesktop: number; sectionHeightMobile: number; -} +}; -let HeaderImage = forwardRef((props, ref) => { +let HeroImage = forwardRef((props, ref) => { let { backgroundImage, contentAlignment, @@ -76,11 +76,11 @@ let HeaderImage = forwardRef((props, ref) => { ); }); -export default HeaderImage; +export default HeroImage; export let schema: HydrogenComponentSchema = { - type: "image-banner", - title: "Image banner", + type: "hero-image", + title: "Hero image", toolbar: ["general-settings", ["duplicate", "delete"]], inspector: [ { diff --git a/app/sections/hero.tsx b/app/sections/hero.tsx index addd2c48..042111af 100644 --- a/app/sections/hero.tsx +++ b/app/sections/hero.tsx @@ -6,7 +6,7 @@ import type { import { forwardRef } from "react"; import type { SeoCollectionContentQuery } from "storefrontapi.generated"; -import { Hero } from "~/components/Hero"; +import { Hero } from "~/modules/Hero"; import { HOMEPAGE_SEO_QUERY } from "~/data/queries"; type HeroSectionData = { @@ -64,11 +64,11 @@ export let schema: HydrogenComponentSchema = { defaultValue: "eager", configs: { options: [ - { label: "Eager", value: "eager", icon: "Lightning" }, + { label: "Eager", value: "eager", icon: "zap" }, { label: "Lazy", value: "lazy", - icon: "SpinnerGap", + icon: "loader", weight: "light", }, ], diff --git a/app/sections/image-gallery/index.tsx b/app/sections/image-gallery/index.tsx index 0441da50..53b9693f 100644 --- a/app/sections/image-gallery/index.tsx +++ b/app/sections/image-gallery/index.tsx @@ -1,8 +1,8 @@ import type { HydrogenComponentSchema } from "@weaverse/hydrogen"; import { forwardRef } from "react"; -import type { SectionProps } from "~/sections/shared/Section"; -import { Section, sectionInspector } from "~/sections/shared/Section"; +import type { SectionProps } from "~/components/Section"; +import { Section, sectionInspector } from "~/components/Section"; type ImageGalleryProps = SectionProps; diff --git a/app/sections/image-hotspots/image-hotspot.tsx b/app/sections/image-hotspots/image-hotspot.tsx index 30690ff3..0285237d 100644 --- a/app/sections/image-hotspots/image-hotspot.tsx +++ b/app/sections/image-hotspots/image-hotspot.tsx @@ -7,7 +7,7 @@ import type { CSSProperties } from "react"; import { forwardRef } from "react"; import { Image } from "@shopify/hydrogen"; -import { IconImageBlank } from "~/components"; +import { IconImageBlank } from "~/modules"; interface ImageHotspotProps extends HydrogenComponentProps { imageHostpots: WeaverseImage; diff --git a/app/sections/image-hotspots/items.tsx b/app/sections/image-hotspots/items.tsx index 454d58f4..71590480 100644 --- a/app/sections/image-hotspots/items.tsx +++ b/app/sections/image-hotspots/items.tsx @@ -12,7 +12,7 @@ import clsx from "clsx"; import type { ProductQuery } from "storefrontapi.generated"; import { PRODUCT_QUERY } from "~/data/queries"; -import { IconImageBlank, Link } from "~/components"; +import { IconImageBlank, Link } from "~/modules"; type ProductData = { verticalPosition: number; diff --git a/app/sections/image-with-text/image.tsx b/app/sections/image-with-text/image.tsx index c542d5d9..5e72b98e 100644 --- a/app/sections/image-with-text/image.tsx +++ b/app/sections/image-with-text/image.tsx @@ -6,7 +6,7 @@ import type { import { forwardRef } from "react"; import { Image } from "@shopify/hydrogen"; -import { IconImageBlank } from "~/components"; +import { IconImageBlank } from "~/modules"; interface ImageItemsProps extends HydrogenComponentProps { image: WeaverseImage; diff --git a/app/sections/image-with-text/index.tsx b/app/sections/image-with-text/index.tsx index ffc87100..39082498 100644 --- a/app/sections/image-with-text/index.tsx +++ b/app/sections/image-with-text/index.tsx @@ -65,8 +65,8 @@ export let schema: HydrogenComponentSchema = { name: "imageAlignment", configs: { options: [ - { label: "Left", value: "left", icon: "AlignLeft" }, - { label: "Right", value: "right", icon: "AlignRight" }, + { label: "Left", value: "left", icon: "align-left" }, + { label: "Right", value: "right", icon: "align-right" }, ], }, defaultValue: "left", diff --git a/app/sections/map.tsx b/app/sections/map.tsx index 6a8f1041..0b837896 100644 --- a/app/sections/map.tsx +++ b/app/sections/map.tsx @@ -6,7 +6,7 @@ import type { CSSProperties } from "react"; import { forwardRef } from "react"; import clsx from "clsx"; -import { IconMapBlank } from "~/components"; +import { IconMapBlank } from "~/modules"; interface MapProps extends HydrogenComponentProps { heading: string; diff --git a/app/sections/newsletter.tsx b/app/sections/newsletter.tsx index b9966d9b..329fe52c 100644 --- a/app/sections/newsletter.tsx +++ b/app/sections/newsletter.tsx @@ -6,7 +6,7 @@ import type { CSSProperties } from "react"; import React, { forwardRef, useState } from "react"; import clsx from "clsx"; -import { IconArrowInput } from "~/components"; +import { IconArrowInput } from "~/modules"; type NewsLetterData = { contentAlignment: string; diff --git a/app/sections/page.tsx b/app/sections/page.tsx index 4e74c60e..7a103479 100644 --- a/app/sections/page.tsx +++ b/app/sections/page.tsx @@ -6,7 +6,7 @@ import type { import { forwardRef } from "react"; import type { PageDetailsQuery } from "storefrontapi.generated"; -import { PageHeader } from "~/components"; +import { PageHeader } from "~/modules"; interface PageProps extends HydrogenComponentProps { paddingTop: number; diff --git a/app/sections/product-information/index.tsx b/app/sections/product-information/index.tsx index a9ef8165..4602ee9c 100644 --- a/app/sections/product-information/index.tsx +++ b/app/sections/product-information/index.tsx @@ -7,12 +7,12 @@ import { } from "@weaverse/hydrogen"; import { forwardRef, useEffect, useState } from "react"; import type { ProductQuery, VariantsQuery } from "storefrontapi.generated"; -import { AddToCartButton, Text } from "~/components"; import { getExcerpt } from "~/lib/utils"; -import { ProductPlaceholder } from "../../components/product-form/placeholder"; -import { ProductMedia } from "../../components/product-form/product-media"; -import { Quantity } from "../../components/product-form/quantity"; -import { ProductVariants } from "../../components/product-form/variants"; +import { AddToCartButton, Text } from "~/modules"; +import { ProductPlaceholder } from "~/modules/product-form/placeholder"; +import { ProductMedia } from "~/modules/product-form/product-media"; +import { Quantity } from "~/modules/product-form/quantity"; +import { ProductVariants } from "~/modules/product-form/variants"; import { ProductDetail } from "./product-detail"; interface ProductInformationProps extends HydrogenComponentProps { addToCartText: string; diff --git a/app/sections/product-information/product-detail.tsx b/app/sections/product-information/product-detail.tsx index ef1d4fdb..a5cda9b7 100644 --- a/app/sections/product-information/product-detail.tsx +++ b/app/sections/product-information/product-detail.tsx @@ -1,7 +1,7 @@ import { Disclosure } from "@headlessui/react"; import clsx from "clsx"; -import { IconClose, Link, Text } from "~/components"; +import { IconClose, Link, Text } from "~/modules"; export function ProductDetail({ title, diff --git a/app/sections/product-list.tsx b/app/sections/product-list.tsx index 0bea4706..a1565263 100644 --- a/app/sections/product-list.tsx +++ b/app/sections/product-list.tsx @@ -6,9 +6,9 @@ import type { import { getPaginationVariables } from "@shopify/hydrogen"; import { forwardRef } from "react"; -import { ProductSwimlane } from "~/components"; +import { ProductSwimlane } from "~/modules"; import { COLLECTION_QUERY } from "~/data/queries"; -import type { SortParam } from "~/components/SortFilter"; +import type { SortParam } from "~/modules/SortFilter"; import { getSortValuesFromParam } from "~/routes/($locale).collections.$collectionHandle"; import { PAGINATION_SIZE } from "~/lib/const"; diff --git a/app/sections/promotion-grid/item.tsx b/app/sections/promotion-grid/item.tsx index 157d6e04..eba88b0e 100644 --- a/app/sections/promotion-grid/item.tsx +++ b/app/sections/promotion-grid/item.tsx @@ -6,7 +6,7 @@ import type { import { forwardRef } from "react"; import { Image } from "@shopify/hydrogen"; -import { IconImageBlank } from "~/components"; +import { IconImageBlank } from "~/modules"; interface PromotionItemProps extends HydrogenComponentProps { backgroundImage: WeaverseImage; diff --git a/app/sections/related-articles.tsx b/app/sections/related-articles.tsx index 7ab2d6ab..1107da29 100644 --- a/app/sections/related-articles.tsx +++ b/app/sections/related-articles.tsx @@ -7,7 +7,7 @@ import type { import { Suspense, forwardRef } from "react"; import type { ArticleFragment } from "storefrontapi.generated"; -import { Skeleton } from "~/components"; +import { Skeleton } from "~/modules"; import { getImageLoadingPriority } from "~/lib/const"; interface RelatedArticlesProps extends HydrogenComponentProps { diff --git a/app/sections/related-products.tsx b/app/sections/related-products.tsx index 02d8e668..6a1d8da2 100644 --- a/app/sections/related-products.tsx +++ b/app/sections/related-products.tsx @@ -6,7 +6,7 @@ import type { import { Suspense, forwardRef } from "react"; import type { ProductCardFragment } from "storefrontapi.generated"; -import { ProductSwimlane, Skeleton } from "~/components"; +import { ProductSwimlane, Skeleton } from "~/modules"; interface RelatedProductsProps extends HydrogenComponentProps { heading: string; diff --git a/app/sections/shared/Button.tsx b/app/sections/shared/Button.tsx deleted file mode 100644 index 4313ea78..00000000 --- a/app/sections/shared/Button.tsx +++ /dev/null @@ -1,137 +0,0 @@ -import { - InspectorGroup, - type HydrogenComponentProps, - type HydrogenComponentSchema, -} from "@weaverse/hydrogen"; -import { VariantProps, cva } from "class-variance-authority"; -import { clsx } from "clsx"; -import { forwardRef } from "react"; -import { Link } from "~/components"; - -export interface ButtonProps extends VariantProps { - as?: keyof HTMLElementTagNameMap; - className?: string; - text: string; - link?: string; - openInNewTab?: boolean; -} - -let variants = cva( - "inline-flex items-center justify-center whitespace-nowrap text-base font-medium transition-colors focus-visible:outline-none disabled:pointer-events-none disabled:opacity-50", - { - variants: { - variant: { - primary: "btn-primary border-2 px-5 py-3", - secondary: "btn-secondary border-2 px-5 py-3", - link: "btn-link bg-transparent py-2 border-b-2", - }, - shape: { - square: "", - rounded: "rounded-md", - pill: "rounded-full", - }, - weight: { - medium: "font-medium", - semibold: "font-semibold", - bold: "font-bold", - }, - }, - defaultVariants: { - variant: "primary", - shape: "rounded", - weight: "medium", - }, - }, -); - -interface Props extends ButtonProps, Partial {} - -let Button = forwardRef((props, ref) => { - let { - as = "button", - variant, - shape = "rounded", - weight = "medium", - text, - link, - openInNewTab, - className, - ...rest - } = props; - - if (link) { - return ( - } - {...rest} - className={clsx(variants({ variant: variant, className }))} - to={link || "/"} - target={openInNewTab ? "_blank" : "_self"} - rel="noreferrer" - > - {text} - - ); - } - return ( - - ); -}); - -export default Button; - -export let buttonInputs: InspectorGroup["inputs"] = [ - { - type: "text", - name: "text", - label: "Text content", - defaultValue: "Shop now", - placeholder: "Shop now", - }, - { - type: "url", - name: "link", - label: "Link to", - defaultValue: "/products", - placeholder: "/products", - }, - { - type: "switch", - name: "openInNewTab", - label: "Open in new tab", - defaultValue: false, - condition: "buttonLink.ne.nil", - }, - { - type: "select", - name: "variant", - label: "Variant", - configs: { - options: [ - { label: "Primary", value: "primary" }, - { label: "Secondary", value: "secondary" }, - { label: "Link", value: "link" }, - ], - }, - defaultValue: "primary", - }, -]; - -export let schema: HydrogenComponentSchema = { - type: "button", - title: "Button", - inspector: [ - { - group: "Button", - inputs: buttonInputs, - }, - ], - toolbar: ["general-settings", ["duplicate", "delete"]], -}; diff --git a/app/sections/shared/atoms.ts b/app/sections/shared/atoms.ts deleted file mode 100644 index 16a21fd8..00000000 --- a/app/sections/shared/atoms.ts +++ /dev/null @@ -1,13 +0,0 @@ -import type { HydrogenComponent } from "@weaverse/hydrogen"; - -import * as Heading from "./Heading"; -import * as SubHeading from "./SubHeading"; -import * as Description from "./Description"; -import * as Button from "./Button"; - -export let commonComponents: HydrogenComponent[] = [ - SubHeading, - Heading, - Description, - Button, -]; diff --git a/app/sections/single-product/index.tsx b/app/sections/single-product/index.tsx index 04a9b90d..0a8aef7a 100644 --- a/app/sections/single-product/index.tsx +++ b/app/sections/single-product/index.tsx @@ -1,21 +1,19 @@ import { Money, ShopPayButton } from "@shopify/hydrogen"; import { + useThemeSettings, type ComponentLoaderArgs, type HydrogenComponentProps, type HydrogenComponentSchema, - useThemeSettings, type WeaverseProduct, } from "@weaverse/hydrogen"; import { forwardRef, useEffect, useState } from "react"; - import type { ProductQuery } from "storefrontapi.generated"; -import { AddToCartButton } from "~/components"; import { PRODUCT_QUERY, VARIANTS_QUERY } from "~/data/queries"; - -import { Quantity } from "../../components/product-form/quantity"; -import { ProductVariants } from "../../components/product-form/variants"; -import { ProductPlaceholder } from "../../components/product-form/placeholder"; -import { ProductMedia } from "../../components/product-form/product-media"; +import { AddToCartButton } from "~/modules"; +import { ProductPlaceholder } from "~/modules/product-form/placeholder"; +import { ProductMedia } from "~/modules/product-form/product-media"; +import { Quantity } from "~/modules/product-form/quantity"; +import { ProductVariants } from "~/modules/product-form/variants"; type SingleProductData = { productsCount: number; diff --git a/app/sections/testimonials/index.tsx b/app/sections/testimonials/index.tsx index be1fba0d..0627774f 100644 --- a/app/sections/testimonials/index.tsx +++ b/app/sections/testimonials/index.tsx @@ -1,8 +1,8 @@ import { type HydrogenComponentSchema } from "@weaverse/hydrogen"; import { forwardRef } from "react"; -import type { SectionProps } from "~/sections/shared/Section"; -import { Section, sectionInspector } from "~/sections/shared/Section"; +import type { SectionProps } from "~/components/Section"; +import { Section, sectionInspector } from "~/components/Section"; type TestimonialsProps = SectionProps & { heading: string; diff --git a/app/sections/user-profiles/index.tsx b/app/sections/user-profiles/index.tsx index 0f9b8fbe..2cd918a0 100644 --- a/app/sections/user-profiles/index.tsx +++ b/app/sections/user-profiles/index.tsx @@ -8,7 +8,7 @@ import clsx from "clsx"; import { Image } from "@shopify/hydrogen"; import { METAOBJECTS_QUERY } from "~/data/queries"; -import { Button } from "~/components"; +import { Button } from "~/modules"; const UserCard = ({ user }: { user: any }) => { let { fields } = user; diff --git a/app/sections/video-embed/index.tsx b/app/sections/video-embed/index.tsx index edfd6ad5..50480f10 100644 --- a/app/sections/video-embed/index.tsx +++ b/app/sections/video-embed/index.tsx @@ -1,8 +1,8 @@ import type { HydrogenComponentSchema } from "@weaverse/hydrogen"; import { forwardRef } from "react"; -import type { SectionProps } from "~/sections/shared/Section"; -import { Section, sectionInspector } from "~/sections/shared/Section"; +import type { SectionProps } from "~/components/Section"; +import { Section, sectionInspector } from "~/components/Section"; type VideoEmbedProps = SectionProps & { heading: string; diff --git a/app/sections/video-hero/index.tsx b/app/sections/video-hero/index.tsx index 4f3adb9b..bb7e4663 100644 --- a/app/sections/video-hero/index.tsx +++ b/app/sections/video-hero/index.tsx @@ -3,8 +3,8 @@ import clsx from "clsx"; import type { CSSProperties } from "react"; import { forwardRef, lazy, Suspense } from "react"; -import { overlayInputs } from "~/sections/shared/Overlay"; -import { gapClasses } from "~/sections/shared/Section"; +import { overlayInputs } from "~/components/Overlay"; +import { gapClasses } from "~/components/Section"; type VideoHeroProps = { videoURL: string; diff --git a/app/styles/app.css b/app/styles/app.css index 0e5f8d07..e169fa66 100644 --- a/app/styles/app.css +++ b/app/styles/app.css @@ -42,7 +42,12 @@ scroll-padding-top: 10rem; } - h1, h2, h3, h4, h5, h6 { + h1, + h2, + h3, + h4, + h5, + h6 { @apply font-sans; } diff --git a/app/weaverse/components.ts b/app/weaverse/components.ts index 3461f0bf..6a486b44 100644 --- a/app/weaverse/components.ts +++ b/app/weaverse/components.ts @@ -13,7 +13,7 @@ import * as Countdown from "~/sections/countdown"; import * as CountDownTimer from "~/sections/countdown/timer"; import * as FeaturedCollections from "~/sections/featured-collections"; import * as FeaturedProducts from "~/sections/featured-products"; -import * as ImageBanner from "~/sections/image-banner"; +import * as HeroImage from "~/sections/hero-image"; import * as ImageGallery from "~/sections/image-gallery"; import * as ImageGalleryItem from "~/sections/image-gallery/image"; import * as ImageGalleryItems from "~/sections/image-gallery/items"; @@ -28,9 +28,9 @@ import * as PromotionGridButtons from "~/sections/promotion-grid/buttons"; import * as PromotionGridItem from "~/sections/promotion-grid/item"; import * as RelatedArticles from "~/sections/related-articles"; import * as RelatedProducts from "~/sections/related-products"; -import { commonComponents } from "~/sections/shared/atoms"; +import { sharedComponents } from "~/components"; import * as SingleProduct from "~/sections/single-product"; -import * as Judgeme from "~/components/product-form/judgeme-review"; +import * as Judgeme from "~/modules/product-form/judgeme-review"; import * as Testimonial from "~/sections/testimonials"; import * as TestimonialItem from "~/sections/testimonials/item"; import * as TestimonialItems from "~/sections/testimonials/items"; @@ -48,7 +48,7 @@ import * as ContactForm from "~/sections/contact-form"; import * as UserProfiles from "~/sections/user-profiles"; export let components: HydrogenComponent[] = [ - ...commonComponents, + ...sharedComponents, AllProducts, BlogPost, Blogs, @@ -56,7 +56,7 @@ export let components: HydrogenComponent[] = [ Page, VideoEmbed, VideoEmbedItem, - ImageBanner, + HeroImage, ImageWithText, ImageWithTextContent, ImageWithTextImage, diff --git a/app/weaverse/index.tsx b/app/weaverse/index.tsx index c537551f..e3682e6b 100644 --- a/app/weaverse/index.tsx +++ b/app/weaverse/index.tsx @@ -1,5 +1,5 @@ import { WeaverseHydrogenRoot } from "@weaverse/hydrogen"; -import { GenericError } from "~/components/GenericError"; +import { GenericError } from "~/modules/GenericError"; import { components } from "./components"; export function WeaverseContent() { diff --git a/package-lock.json b/package-lock.json index 40714a29..1b88a0c4 100644 --- a/package-lock.json +++ b/package-lock.json @@ -1,12 +1,12 @@ { "name": "@weaverse/pilot", - "version": "2.6.6", + "version": "2.6.8", "lockfileVersion": 3, "requires": true, "packages": { "": { "name": "@weaverse/pilot", - "version": "2.6.6", + "version": "2.6.8", "dependencies": { "@fontsource/poppins": "^5.0.14", "@graphql-codegen/cli": "^5.0.2", @@ -17,7 +17,7 @@ "@shopify/cli-hydrogen": "^8.0.4", "@shopify/hydrogen": "2024.4.2", "@shopify/remix-oxygen": "^2.0.4", - "@weaverse/hydrogen": "3.1.7", + "@weaverse/hydrogen": "^3.1.9", "class-variance-authority": "^0.7.0", "clsx": "2.1.1", "cross-env": "7.0.3", @@ -1708,9 +1708,9 @@ } }, "node_modules/@csstools/postcss-cascade-layers/node_modules/postcss-selector-parser": { - "version": "6.0.16", - "resolved": "https://registry.npmjs.org/postcss-selector-parser/-/postcss-selector-parser-6.0.16.tgz", - "integrity": "sha512-A0RVJrX+IUkVZbW3ClroRWurercFhieevHB38sr2+l9eUClMqome3LmEmnhlNy+5Mr2EYN6B2Kaw9wYdd+VHiw==", + "version": "6.1.0", + "resolved": "https://registry.npmjs.org/postcss-selector-parser/-/postcss-selector-parser-6.1.0.tgz", + "integrity": "sha512-UMz42UD0UY0EApS0ZL9o1XnLhSTtvvvLe5Dc2H2O56fvRZi+KulDyf5ctDhhtYJBGKStV2FL1fy6253cmLgqVQ==", "dev": true, "dependencies": { "cssesc": "^3.0.0", @@ -2014,9 +2014,9 @@ } }, "node_modules/@csstools/postcss-is-pseudo-class/node_modules/postcss-selector-parser": { - "version": "6.0.16", - "resolved": "https://registry.npmjs.org/postcss-selector-parser/-/postcss-selector-parser-6.0.16.tgz", - "integrity": "sha512-A0RVJrX+IUkVZbW3ClroRWurercFhieevHB38sr2+l9eUClMqome3LmEmnhlNy+5Mr2EYN6B2Kaw9wYdd+VHiw==", + "version": "6.1.0", + "resolved": "https://registry.npmjs.org/postcss-selector-parser/-/postcss-selector-parser-6.1.0.tgz", + "integrity": "sha512-UMz42UD0UY0EApS0ZL9o1XnLhSTtvvvLe5Dc2H2O56fvRZi+KulDyf5ctDhhtYJBGKStV2FL1fy6253cmLgqVQ==", "dev": true, "dependencies": { "cssesc": "^3.0.0", @@ -2386,9 +2386,9 @@ } }, "node_modules/@csstools/postcss-scope-pseudo-class/node_modules/postcss-selector-parser": { - "version": "6.0.16", - "resolved": "https://registry.npmjs.org/postcss-selector-parser/-/postcss-selector-parser-6.0.16.tgz", - "integrity": "sha512-A0RVJrX+IUkVZbW3ClroRWurercFhieevHB38sr2+l9eUClMqome3LmEmnhlNy+5Mr2EYN6B2Kaw9wYdd+VHiw==", + "version": "6.1.0", + "resolved": "https://registry.npmjs.org/postcss-selector-parser/-/postcss-selector-parser-6.1.0.tgz", + "integrity": "sha512-UMz42UD0UY0EApS0ZL9o1XnLhSTtvvvLe5Dc2H2O56fvRZi+KulDyf5ctDhhtYJBGKStV2FL1fy6253cmLgqVQ==", "dev": true, "dependencies": { "cssesc": "^3.0.0", @@ -4053,6 +4053,7 @@ "version": "8.0.2", "resolved": "https://registry.npmjs.org/@isaacs/cliui/-/cliui-8.0.2.tgz", "integrity": "sha512-O8jcjabXaleOG9DQ0+ARXWZBTfnP4WNAqzuiJK7ll44AmxGKv/J2M4TPjxjY3znBCfvBXFzucm1twdyFybFqEA==", + "devOptional": true, "dependencies": { "string-width": "^5.1.2", "string-width-cjs": "npm:string-width@^4.2.0", @@ -4069,6 +4070,7 @@ "version": "6.0.1", "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-6.0.1.tgz", "integrity": "sha512-n5M855fKb2SsfMIiFFoVrABHJC8QtHwVx+mHWP3QcEqBHYienj5dHSgjbxtC0WEZXYt4wcD6zrQElDPhFuZgfA==", + "devOptional": true, "engines": { "node": ">=12" }, @@ -4080,6 +4082,7 @@ "version": "6.2.1", "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-6.2.1.tgz", "integrity": "sha512-bN798gFfQX+viw3R7yrGWRqnrN2oRkEkUjjl4JNn4E8GxxbjtG3FbrEIIY3l8/hrwUwIeCZvi4QuOTP4MErVug==", + "devOptional": true, "engines": { "node": ">=12" }, @@ -4091,6 +4094,7 @@ "version": "5.1.2", "resolved": "https://registry.npmjs.org/string-width/-/string-width-5.1.2.tgz", "integrity": "sha512-HnLOCR3vjcY8beoNLtcjZ5/nxn2afmME6lhrDrebokqMap+XbeW8n9TXpPDOqdGK5qcI3oT0GKTW6wC7EMiVqA==", + "devOptional": true, "dependencies": { "eastasianwidth": "^0.2.0", "emoji-regex": "^9.2.2", @@ -4107,6 +4111,7 @@ "version": "7.1.0", "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-7.1.0.tgz", "integrity": "sha512-iq6eVVI64nQQTRYq2KtEg2d2uU7LElhTJwsH4YzIHZshxlgZms/wIc4VoDQTlG/IvVIrBKG06CrZnp0qv7hkcQ==", + "devOptional": true, "dependencies": { "ansi-regex": "^6.0.1" }, @@ -4121,6 +4126,7 @@ "version": "8.1.0", "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-8.1.0.tgz", "integrity": "sha512-si7QWI6zUMq56bESFvagtmzMdGOtoxfR+Sez11Mobfc7tm+VkUckk9bW2UeffTGVUbOksxmSw0AA2gs8g71NCQ==", + "devOptional": true, "dependencies": { "ansi-styles": "^6.1.0", "string-width": "^5.0.1", @@ -4451,6 +4457,7 @@ "version": "3.1.1", "resolved": "https://registry.npmjs.org/@npmcli/fs/-/fs-3.1.1.tgz", "integrity": "sha512-q9CRWjpHCMIh5sVyefoD1cA7PkvILqCZsnSOEUUivORLjxCO/Irmue2DprETiNgEqktDBZaM1Bi+jrarx1XdCg==", + "devOptional": true, "dependencies": { "semver": "^7.3.5" }, @@ -4462,6 +4469,7 @@ "version": "7.6.2", "resolved": "https://registry.npmjs.org/semver/-/semver-7.6.2.tgz", "integrity": "sha512-FNAIBWCx9qcRhoHcgcJ0gvU7SN1lYU2ZXuSfl04bSC5OpvDHFyJCjdNHomPXxjQlCBU67YW64PzY7/VIEH7F2w==", + "devOptional": true, "bin": { "semver": "bin/semver.js" }, @@ -4473,6 +4481,7 @@ "version": "4.1.0", "resolved": "https://registry.npmjs.org/@npmcli/git/-/git-4.1.0.tgz", "integrity": "sha512-9hwoB3gStVfa0N31ymBmrX+GuDGdVA/QWShZVqE0HK2Af+7QGGrCTbZia/SW0ImUTjTne7SP91qxDmtXvDHRPQ==", + "devOptional": true, "dependencies": { "@npmcli/promise-spawn": "^6.0.0", "lru-cache": "^7.4.4", @@ -4491,6 +4500,7 @@ "version": "7.18.3", "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-7.18.3.tgz", "integrity": "sha512-jumlc0BIUrS3qJGgIkWZsyfAM7NCWiBcCDhnd+3NNM5KbBmLTgHVfWBcg6W+rLUsIpzpERPsvwUP7CckAQSOoA==", + "devOptional": true, "engines": { "node": ">=12" } @@ -4499,6 +4509,7 @@ "version": "7.6.2", "resolved": "https://registry.npmjs.org/semver/-/semver-7.6.2.tgz", "integrity": "sha512-FNAIBWCx9qcRhoHcgcJ0gvU7SN1lYU2ZXuSfl04bSC5OpvDHFyJCjdNHomPXxjQlCBU67YW64PzY7/VIEH7F2w==", + "devOptional": true, "bin": { "semver": "bin/semver.js" }, @@ -4510,6 +4521,7 @@ "version": "4.0.1", "resolved": "https://registry.npmjs.org/@npmcli/package-json/-/package-json-4.0.1.tgz", "integrity": "sha512-lRCEGdHZomFsURroh522YvA/2cVb9oPIJrjHanCJZkiasz1BzcnLr3tBJhlV7S86MBJBuAQ33is2D60YitZL2Q==", + "devOptional": true, "dependencies": { "@npmcli/git": "^4.1.0", "glob": "^10.2.2", @@ -4524,12 +4536,13 @@ } }, "node_modules/@npmcli/package-json/node_modules/glob": { - "version": "10.3.15", - "resolved": "https://registry.npmjs.org/glob/-/glob-10.3.15.tgz", - "integrity": "sha512-0c6RlJt1TICLyvJYIApxb8GsXoai0KUP7AxKKAtsYXdgJR1mGEUa7DgwShbdk1nly0PYoZj01xd4hzbq3fsjpw==", + "version": "10.3.16", + "resolved": "https://registry.npmjs.org/glob/-/glob-10.3.16.tgz", + "integrity": "sha512-JDKXl1DiuuHJ6fVS2FXjownaavciiHNUU4mOvV/B793RLh05vZL1rcPnCSaOgv1hDT6RDlY7AB7ZUvFYAtPgAw==", + "devOptional": true, "dependencies": { "foreground-child": "^3.1.0", - "jackspeak": "^2.3.6", + "jackspeak": "^3.1.2", "minimatch": "^9.0.1", "minipass": "^7.0.4", "path-scurry": "^1.11.0" @@ -4548,6 +4561,7 @@ "version": "7.6.2", "resolved": "https://registry.npmjs.org/semver/-/semver-7.6.2.tgz", "integrity": "sha512-FNAIBWCx9qcRhoHcgcJ0gvU7SN1lYU2ZXuSfl04bSC5OpvDHFyJCjdNHomPXxjQlCBU67YW64PzY7/VIEH7F2w==", + "devOptional": true, "bin": { "semver": "bin/semver.js" }, @@ -4559,6 +4573,7 @@ "version": "6.0.2", "resolved": "https://registry.npmjs.org/@npmcli/promise-spawn/-/promise-spawn-6.0.2.tgz", "integrity": "sha512-gGq0NJkIGSwdbUt4yhdF8ZrmkGKVz9vAdVzpOfnom+V8PLSmSOVhZwbNvZZS1EYcJN5hzzKBxmmVVAInM6HQLg==", + "devOptional": true, "dependencies": { "which": "^3.0.0" }, @@ -5307,18 +5322,19 @@ "version": "0.11.0", "resolved": "https://registry.npmjs.org/@pkgjs/parseargs/-/parseargs-0.11.0.tgz", "integrity": "sha512-+1VkjdD0QBLPodGrJUeqarH8VAIvQODIbwh9XpP5Syisf7YoQgsJKPNFoqqLQlu+VQ/tVSshMR6loPMn8U+dPg==", + "dev": true, "optional": true, "engines": { "node": ">=14" } }, "node_modules/@playwright/test": { - "version": "1.44.0", - "resolved": "https://registry.npmjs.org/@playwright/test/-/test-1.44.0.tgz", - "integrity": "sha512-rNX5lbNidamSUorBhB4XZ9SQTjAqfe5M+p37Z8ic0jPFBMo5iCtQz1kRWkEMg+rYOKSlVycpQmpqjSFq7LXOfg==", + "version": "1.44.1", + "resolved": "https://registry.npmjs.org/@playwright/test/-/test-1.44.1.tgz", + "integrity": "sha512-1hZ4TNvD5z9VuhNJ/walIjvMVvYkZKf71axoF/uiAqpntQJXpG64dlXhoDXE3OczPuTuvjf/M5KWFg5VAVUS3Q==", "dev": true, "dependencies": { - "playwright": "1.44.0" + "playwright": "1.44.1" }, "bin": { "playwright": "cli.js" @@ -5772,9 +5788,9 @@ "integrity": "sha512-Javneu5lsuhwNCryN+pXH93VPQ8g0dBX7wItHFgYiwQmzE1sVdg5tWHiOgHywzL2W21XQopa7IwIEnNbmeUJYA==" }, "node_modules/@rollup/rollup-android-arm-eabi": { - "version": "4.17.2", - "resolved": "https://registry.npmjs.org/@rollup/rollup-android-arm-eabi/-/rollup-android-arm-eabi-4.17.2.tgz", - "integrity": "sha512-NM0jFxY8bB8QLkoKxIQeObCaDlJKewVlIEkuyYKm5An1tdVZ966w2+MPQ2l8LBZLjR+SgyV+nRkTIunzOYBMLQ==", + "version": "4.18.0", + "resolved": "https://registry.npmjs.org/@rollup/rollup-android-arm-eabi/-/rollup-android-arm-eabi-4.18.0.tgz", + "integrity": "sha512-Tya6xypR10giZV1XzxmH5wr25VcZSncG0pZIjfePT0OVBvqNEurzValetGNarVrGiq66EBVAFn15iYX4w6FKgQ==", "cpu": [ "arm" ], @@ -5785,9 +5801,9 @@ ] }, "node_modules/@rollup/rollup-android-arm64": { - "version": "4.17.2", - "resolved": "https://registry.npmjs.org/@rollup/rollup-android-arm64/-/rollup-android-arm64-4.17.2.tgz", - "integrity": "sha512-yeX/Usk7daNIVwkq2uGoq2BYJKZY1JfyLTaHO/jaiSwi/lsf8fTFoQW/n6IdAsx5tx+iotu2zCJwz8MxI6D/Bw==", + "version": "4.18.0", + "resolved": "https://registry.npmjs.org/@rollup/rollup-android-arm64/-/rollup-android-arm64-4.18.0.tgz", + "integrity": "sha512-avCea0RAP03lTsDhEyfy+hpfr85KfyTctMADqHVhLAF3MlIkq83CP8UfAHUssgXTYd+6er6PaAhx/QGv4L1EiA==", "cpu": [ "arm64" ], @@ -5798,9 +5814,9 @@ ] }, "node_modules/@rollup/rollup-darwin-arm64": { - "version": "4.17.2", - "resolved": "https://registry.npmjs.org/@rollup/rollup-darwin-arm64/-/rollup-darwin-arm64-4.17.2.tgz", - "integrity": "sha512-kcMLpE6uCwls023+kknm71ug7MZOrtXo+y5p/tsg6jltpDtgQY1Eq5sGfHcQfb+lfuKwhBmEURDga9N0ol4YPw==", + "version": "4.18.0", + "resolved": "https://registry.npmjs.org/@rollup/rollup-darwin-arm64/-/rollup-darwin-arm64-4.18.0.tgz", + "integrity": "sha512-IWfdwU7KDSm07Ty0PuA/W2JYoZ4iTj3TUQjkVsO/6U+4I1jN5lcR71ZEvRh52sDOERdnNhhHU57UITXz5jC1/w==", "cpu": [ "arm64" ], @@ -5811,9 +5827,9 @@ ] }, "node_modules/@rollup/rollup-darwin-x64": { - "version": "4.17.2", - "resolved": "https://registry.npmjs.org/@rollup/rollup-darwin-x64/-/rollup-darwin-x64-4.17.2.tgz", - "integrity": "sha512-AtKwD0VEx0zWkL0ZjixEkp5tbNLzX+FCqGG1SvOu993HnSz4qDI6S4kGzubrEJAljpVkhRSlg5bzpV//E6ysTQ==", + "version": "4.18.0", + "resolved": "https://registry.npmjs.org/@rollup/rollup-darwin-x64/-/rollup-darwin-x64-4.18.0.tgz", + "integrity": "sha512-n2LMsUz7Ynu7DoQrSQkBf8iNrjOGyPLrdSg802vk6XT3FtsgX6JbE8IHRvposskFm9SNxzkLYGSq9QdpLYpRNA==", "cpu": [ "x64" ], @@ -5824,9 +5840,9 @@ ] }, "node_modules/@rollup/rollup-linux-arm-gnueabihf": { - "version": "4.17.2", - "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-arm-gnueabihf/-/rollup-linux-arm-gnueabihf-4.17.2.tgz", - "integrity": "sha512-3reX2fUHqN7sffBNqmEyMQVj/CKhIHZd4y631duy0hZqI8Qoqf6lTtmAKvJFYa6bhU95B1D0WgzHkmTg33In0A==", + "version": "4.18.0", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-arm-gnueabihf/-/rollup-linux-arm-gnueabihf-4.18.0.tgz", + "integrity": "sha512-C/zbRYRXFjWvz9Z4haRxcTdnkPt1BtCkz+7RtBSuNmKzMzp3ZxdM28Mpccn6pt28/UWUCTXa+b0Mx1k3g6NOMA==", "cpu": [ "arm" ], @@ -5837,9 +5853,9 @@ ] }, "node_modules/@rollup/rollup-linux-arm-musleabihf": { - "version": "4.17.2", - "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-arm-musleabihf/-/rollup-linux-arm-musleabihf-4.17.2.tgz", - "integrity": "sha512-uSqpsp91mheRgw96xtyAGP9FW5ChctTFEoXP0r5FAzj/3ZRv3Uxjtc7taRQSaQM/q85KEKjKsZuiZM3GyUivRg==", + "version": "4.18.0", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-arm-musleabihf/-/rollup-linux-arm-musleabihf-4.18.0.tgz", + "integrity": "sha512-l3m9ewPgjQSXrUMHg93vt0hYCGnrMOcUpTz6FLtbwljo2HluS4zTXFy2571YQbisTnfTKPZ01u/ukJdQTLGh9A==", "cpu": [ "arm" ], @@ -5850,9 +5866,9 @@ ] }, "node_modules/@rollup/rollup-linux-arm64-gnu": { - "version": "4.17.2", - "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-arm64-gnu/-/rollup-linux-arm64-gnu-4.17.2.tgz", - "integrity": "sha512-EMMPHkiCRtE8Wdk3Qhtciq6BndLtstqZIroHiiGzB3C5LDJmIZcSzVtLRbwuXuUft1Cnv+9fxuDtDxz3k3EW2A==", + "version": "4.18.0", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-arm64-gnu/-/rollup-linux-arm64-gnu-4.18.0.tgz", + "integrity": "sha512-rJ5D47d8WD7J+7STKdCUAgmQk49xuFrRi9pZkWoRD1UeSMakbcepWXPF8ycChBoAqs1pb2wzvbY6Q33WmN2ftw==", "cpu": [ "arm64" ], @@ -5863,9 +5879,9 @@ ] }, "node_modules/@rollup/rollup-linux-arm64-musl": { - "version": "4.17.2", - "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-arm64-musl/-/rollup-linux-arm64-musl-4.17.2.tgz", - "integrity": "sha512-NMPylUUZ1i0z/xJUIx6VUhISZDRT+uTWpBcjdv0/zkp7b/bQDF+NfnfdzuTiB1G6HTodgoFa93hp0O1xl+/UbA==", + "version": "4.18.0", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-arm64-musl/-/rollup-linux-arm64-musl-4.18.0.tgz", + "integrity": "sha512-be6Yx37b24ZwxQ+wOQXXLZqpq4jTckJhtGlWGZs68TgdKXJgw54lUUoFYrg6Zs/kjzAQwEwYbp8JxZVzZLRepQ==", "cpu": [ "arm64" ], @@ -5876,9 +5892,9 @@ ] }, "node_modules/@rollup/rollup-linux-powerpc64le-gnu": { - "version": "4.17.2", - "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-powerpc64le-gnu/-/rollup-linux-powerpc64le-gnu-4.17.2.tgz", - "integrity": "sha512-T19My13y8uYXPw/L/k0JYaX1fJKFT/PWdXiHr8mTbXWxjVF1t+8Xl31DgBBvEKclw+1b00Chg0hxE2O7bTG7GQ==", + "version": "4.18.0", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-powerpc64le-gnu/-/rollup-linux-powerpc64le-gnu-4.18.0.tgz", + "integrity": "sha512-hNVMQK+qrA9Todu9+wqrXOHxFiD5YmdEi3paj6vP02Kx1hjd2LLYR2eaN7DsEshg09+9uzWi2W18MJDlG0cxJA==", "cpu": [ "ppc64" ], @@ -5889,9 +5905,9 @@ ] }, "node_modules/@rollup/rollup-linux-riscv64-gnu": { - "version": "4.17.2", - "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-riscv64-gnu/-/rollup-linux-riscv64-gnu-4.17.2.tgz", - "integrity": "sha512-BOaNfthf3X3fOWAB+IJ9kxTgPmMqPPH5f5k2DcCsRrBIbWnaJCgX2ll77dV1TdSy9SaXTR5iDXRL8n7AnoP5cg==", + "version": "4.18.0", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-riscv64-gnu/-/rollup-linux-riscv64-gnu-4.18.0.tgz", + "integrity": "sha512-ROCM7i+m1NfdrsmvwSzoxp9HFtmKGHEqu5NNDiZWQtXLA8S5HBCkVvKAxJ8U+CVctHwV2Gb5VUaK7UAkzhDjlg==", "cpu": [ "riscv64" ], @@ -5902,9 +5918,9 @@ ] }, "node_modules/@rollup/rollup-linux-s390x-gnu": { - "version": "4.17.2", - "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-s390x-gnu/-/rollup-linux-s390x-gnu-4.17.2.tgz", - "integrity": "sha512-W0UP/x7bnn3xN2eYMql2T/+wpASLE5SjObXILTMPUBDB/Fg/FxC+gX4nvCfPBCbNhz51C+HcqQp2qQ4u25ok6g==", + "version": "4.18.0", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-s390x-gnu/-/rollup-linux-s390x-gnu-4.18.0.tgz", + "integrity": "sha512-0UyyRHyDN42QL+NbqevXIIUnKA47A+45WyasO+y2bGJ1mhQrfrtXUpTxCOrfxCR4esV3/RLYyucGVPiUsO8xjg==", "cpu": [ "s390x" ], @@ -5915,9 +5931,9 @@ ] }, "node_modules/@rollup/rollup-linux-x64-gnu": { - "version": "4.17.2", - "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-x64-gnu/-/rollup-linux-x64-gnu-4.17.2.tgz", - "integrity": "sha512-Hy7pLwByUOuyaFC6mAr7m+oMC+V7qyifzs/nW2OJfC8H4hbCzOX07Ov0VFk/zP3kBsELWNFi7rJtgbKYsav9QQ==", + "version": "4.18.0", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-x64-gnu/-/rollup-linux-x64-gnu-4.18.0.tgz", + "integrity": "sha512-xuglR2rBVHA5UsI8h8UbX4VJ470PtGCf5Vpswh7p2ukaqBGFTnsfzxUBetoWBWymHMxbIG0Cmx7Y9qDZzr648w==", "cpu": [ "x64" ], @@ -5928,9 +5944,9 @@ ] }, "node_modules/@rollup/rollup-linux-x64-musl": { - "version": "4.17.2", - "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-x64-musl/-/rollup-linux-x64-musl-4.17.2.tgz", - "integrity": "sha512-h1+yTWeYbRdAyJ/jMiVw0l6fOOm/0D1vNLui9iPuqgRGnXA0u21gAqOyB5iHjlM9MMfNOm9RHCQ7zLIzT0x11Q==", + "version": "4.18.0", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-x64-musl/-/rollup-linux-x64-musl-4.18.0.tgz", + "integrity": "sha512-LKaqQL9osY/ir2geuLVvRRs+utWUNilzdE90TpyoX0eNqPzWjRm14oMEE+YLve4k/NAqCdPkGYDaDF5Sw+xBfg==", "cpu": [ "x64" ], @@ -5941,9 +5957,9 @@ ] }, "node_modules/@rollup/rollup-win32-arm64-msvc": { - "version": "4.17.2", - "resolved": "https://registry.npmjs.org/@rollup/rollup-win32-arm64-msvc/-/rollup-win32-arm64-msvc-4.17.2.tgz", - "integrity": "sha512-tmdtXMfKAjy5+IQsVtDiCfqbynAQE/TQRpWdVataHmhMb9DCoJxp9vLcCBjEQWMiUYxO1QprH/HbY9ragCEFLA==", + "version": "4.18.0", + "resolved": "https://registry.npmjs.org/@rollup/rollup-win32-arm64-msvc/-/rollup-win32-arm64-msvc-4.18.0.tgz", + "integrity": "sha512-7J6TkZQFGo9qBKH0pk2cEVSRhJbL6MtfWxth7Y5YmZs57Pi+4x6c2dStAUvaQkHQLnEQv1jzBUW43GvZW8OFqA==", "cpu": [ "arm64" ], @@ -5954,9 +5970,9 @@ ] }, "node_modules/@rollup/rollup-win32-ia32-msvc": { - "version": "4.17.2", - "resolved": "https://registry.npmjs.org/@rollup/rollup-win32-ia32-msvc/-/rollup-win32-ia32-msvc-4.17.2.tgz", - "integrity": "sha512-7II/QCSTAHuE5vdZaQEwJq2ZACkBpQDOmQsE6D6XUbnBHW8IAhm4eTufL6msLJorzrHDFv3CF8oCA/hSIRuZeQ==", + "version": "4.18.0", + "resolved": "https://registry.npmjs.org/@rollup/rollup-win32-ia32-msvc/-/rollup-win32-ia32-msvc-4.18.0.tgz", + "integrity": "sha512-Txjh+IxBPbkUB9+SXZMpv+b/vnTEtFyfWZgJ6iyCmt2tdx0OF5WhFowLmnh8ENGNpfUlUZkdI//4IEmhwPieNg==", "cpu": [ "ia32" ], @@ -5967,9 +5983,9 @@ ] }, "node_modules/@rollup/rollup-win32-x64-msvc": { - "version": "4.17.2", - "resolved": "https://registry.npmjs.org/@rollup/rollup-win32-x64-msvc/-/rollup-win32-x64-msvc-4.17.2.tgz", - "integrity": "sha512-TGGO7v7qOq4CYmSBVEYpI1Y5xDuCEnbVC5Vth8mOsW0gDSzxNrVERPc790IGHsrT2dQSimgMr9Ub3Y1Jci5/8w==", + "version": "4.18.0", + "resolved": "https://registry.npmjs.org/@rollup/rollup-win32-x64-msvc/-/rollup-win32-x64-msvc-4.18.0.tgz", + "integrity": "sha512-UOo5FdvOL0+eIVTgS4tIdbW+TtnBLWg1YBCcU2KWM7nuNwRz9bksDX1bekJJCpu25N1DVWaCwnT39dVQxzqS8g==", "cpu": [ "x64" ], @@ -6981,9 +6997,9 @@ } }, "node_modules/@shopify/oxygen-cli": { - "version": "4.4.6", - "resolved": "https://registry.npmjs.org/@shopify/oxygen-cli/-/oxygen-cli-4.4.6.tgz", - "integrity": "sha512-GCsp0l/VQxsezNoH7ItUuYBL4DB4yolYSe8z2FY6EyJ9vD7NPxBoBsVF4ZqPqVThjLXC/9hpokLUY0lH1MpPZg==", + "version": "4.4.7", + "resolved": "https://registry.npmjs.org/@shopify/oxygen-cli/-/oxygen-cli-4.4.7.tgz", + "integrity": "sha512-bh9deBzXYs3wa45o+87kD3MZPQcDbEHgfb76jOiOtf0oz1p1YOZzWXehg2UlaYP4h/uJjkmriXivPlwNRVoAVg==", "os": [ "darwin", "linux", @@ -7697,26 +7713,26 @@ "dev": true }, "node_modules/@vanilla-extract/babel-plugin-debug-ids": { - "version": "1.0.5", - "resolved": "https://registry.npmjs.org/@vanilla-extract/babel-plugin-debug-ids/-/babel-plugin-debug-ids-1.0.5.tgz", - "integrity": "sha512-Rc9A6ylsw7EBErmpgqCMvc/Z/eEZxI5k1xfLQHw7f5HHh3oc5YfzsAsYU/PdmSNjF1dp3sGEViBdDltvwnfVaA==", + "version": "1.0.6", + "resolved": "https://registry.npmjs.org/@vanilla-extract/babel-plugin-debug-ids/-/babel-plugin-debug-ids-1.0.6.tgz", + "integrity": "sha512-C188vUEYmw41yxg3QooTs8r1IdbDQQ2mH7L5RkORBnHx74QlmsNfqVmKwAVTgrlYt8JoRaWMtPfGm/Ql0BNQrA==", "devOptional": true, "dependencies": { "@babel/core": "^7.23.9" } }, "node_modules/@vanilla-extract/css": { - "version": "1.15.1", - "resolved": "https://registry.npmjs.org/@vanilla-extract/css/-/css-1.15.1.tgz", - "integrity": "sha512-puAfTKAUtsMr2+D+grQNjU5umsdw9zdVgQflUlbzS/tGORaAHdgaYz7jfKPmz1c4ZcpJ6uFNOiI50NDOAzzhyg==", + "version": "1.15.2", + "resolved": "https://registry.npmjs.org/@vanilla-extract/css/-/css-1.15.2.tgz", + "integrity": "sha512-Bi61iCAtojCuqvV+FYaF5i69vBjuMQJpHPdpgKYyQvx+e2Hp79V0ELglyYOdcyg9Wh0k0MFwgCDipVd7EloTXQ==", "devOptional": true, "dependencies": { "@emotion/hash": "^0.9.0", - "@vanilla-extract/private": "^1.0.4", + "@vanilla-extract/private": "^1.0.5", "css-what": "^6.1.0", "cssesc": "^3.0.0", "csstype": "^3.0.7", - "dedent": "^1.5.1", + "dedent": "^1.5.3", "deep-object-diff": "^1.1.9", "deepmerge": "^4.2.2", "media-query-parser": "^2.0.2", @@ -7801,15 +7817,15 @@ } }, "node_modules/@vanilla-extract/private": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/@vanilla-extract/private/-/private-1.0.4.tgz", - "integrity": "sha512-8FGD6AejeC/nXcblgNCM5rnZb9KXa4WNkR03HCWtdJBpANjTgjHEglNLFnhuvdQ78tC6afaxBPI+g7F2NX3tgg==", + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/@vanilla-extract/private/-/private-1.0.5.tgz", + "integrity": "sha512-6YXeOEKYTA3UV+RC8DeAjFk+/okoNz/h88R+McnzA2zpaVqTR/Ep+vszkWYlGBcMNO7vEkqbq5nT/JMMvhi+tw==", "devOptional": true }, "node_modules/@weaverse/core": { - "version": "3.1.7", - "resolved": "https://registry.npmjs.org/@weaverse/core/-/core-3.1.7.tgz", - "integrity": "sha512-uNQtNZvFKBsiKdevj9uSLA8XAyPIPI54MHjBrZPKrPVbzToKtIULA65uyoeooTXx0vDTwSphr3quir9ZvjI+1g==", + "version": "3.1.9", + "resolved": "https://registry.npmjs.org/@weaverse/core/-/core-3.1.9.tgz", + "integrity": "sha512-XRSXLdniw7WbLKVChmvkXRdmpFuPgFI2m25m1vDIxhLe6fkx0m9MbNi4JgsB4HSggkMNHGLryRf8DETzxTifUg==", "dependencies": { "@stitches/core": "^1.2.8" }, @@ -7818,11 +7834,11 @@ } }, "node_modules/@weaverse/hydrogen": { - "version": "3.1.7", - "resolved": "https://registry.npmjs.org/@weaverse/hydrogen/-/hydrogen-3.1.7.tgz", - "integrity": "sha512-zxREYWYg5Vup8+AEgI4AWOn5Bvlm3Svy5wL6tZaju+UhMvdAe3sVzIxKqApFkVLpw6mKeh1nxNDQ/tTH7nQrxQ==", + "version": "3.1.9", + "resolved": "https://registry.npmjs.org/@weaverse/hydrogen/-/hydrogen-3.1.9.tgz", + "integrity": "sha512-Tt8G5vlrwKlznMEmt5c0NE456lM0YA9cAHw03zJvXQSSF/F/8S+KbAA2OcJTVYhlAU5H150G1C152aboLWRqIw==", "dependencies": { - "@weaverse/react": "3.1.7", + "@weaverse/react": "3.1.9", "react-error-boundary": "^4.0.13" }, "engines": { @@ -7836,11 +7852,11 @@ } }, "node_modules/@weaverse/react": { - "version": "3.1.7", - "resolved": "https://registry.npmjs.org/@weaverse/react/-/react-3.1.7.tgz", - "integrity": "sha512-J/otYVDEW2P9LPSl++lPhTQdIxMAnrn5PzIbC5DCQLy6KEiPfpMj/HM9n9wq81UDl6CKhygCbI0vVC7p/ZOT1g==", + "version": "3.1.9", + "resolved": "https://registry.npmjs.org/@weaverse/react/-/react-3.1.9.tgz", + "integrity": "sha512-HlQlB6d9osgudzmTr8nORJ8516MLXyzBnuLFin2Did6597xohGMhaOJfUyDvDXvM33XbiDw3uEQtKFb+MqtokA==", "dependencies": { - "@weaverse/core": "3.1.7", + "@weaverse/core": "3.1.9", "clsx": "^2.1.0" }, "engines": { @@ -8665,11 +8681,11 @@ } }, "node_modules/braces": { - "version": "3.0.2", - "resolved": "https://registry.npmjs.org/braces/-/braces-3.0.2.tgz", - "integrity": "sha512-b8um+L1RzM3WDSzvhm6gIz1yfTbBt6YTlcEKAvsmqCZZFw46z626lVj9j1yEPW33H5H+lBQpZMP1k8l+78Ha0A==", + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/braces/-/braces-3.0.3.tgz", + "integrity": "sha512-yQbXgO/OSZVD2IsiLlro+7Hf6Q18EJrKSEsdoMzKePKXct3gvD8oLcOQdIzGupr5Fj+EDe8gO/lxc1BzfMpxvA==", "dependencies": { - "fill-range": "^7.0.1" + "fill-range": "^7.1.1" }, "engines": { "node": ">=8" @@ -8820,6 +8836,7 @@ "version": "17.1.4", "resolved": "https://registry.npmjs.org/cacache/-/cacache-17.1.4.tgz", "integrity": "sha512-/aJwG2l3ZMJ1xNAnqbMpA40of9dj/pIH3QfiuQSqjfPJF747VR0J/bHn+/KdNnHKc6XQcWt/AfRSBft82W1d2A==", + "devOptional": true, "dependencies": { "@npmcli/fs": "^3.1.0", "fs-minipass": "^3.0.0", @@ -8839,12 +8856,13 @@ } }, "node_modules/cacache/node_modules/glob": { - "version": "10.3.15", - "resolved": "https://registry.npmjs.org/glob/-/glob-10.3.15.tgz", - "integrity": "sha512-0c6RlJt1TICLyvJYIApxb8GsXoai0KUP7AxKKAtsYXdgJR1mGEUa7DgwShbdk1nly0PYoZj01xd4hzbq3fsjpw==", + "version": "10.3.16", + "resolved": "https://registry.npmjs.org/glob/-/glob-10.3.16.tgz", + "integrity": "sha512-JDKXl1DiuuHJ6fVS2FXjownaavciiHNUU4mOvV/B793RLh05vZL1rcPnCSaOgv1hDT6RDlY7AB7ZUvFYAtPgAw==", + "devOptional": true, "dependencies": { "foreground-child": "^3.1.0", - "jackspeak": "^2.3.6", + "jackspeak": "^3.1.2", "minimatch": "^9.0.1", "minipass": "^7.0.4", "path-scurry": "^1.11.0" @@ -8863,6 +8881,7 @@ "version": "7.18.3", "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-7.18.3.tgz", "integrity": "sha512-jumlc0BIUrS3qJGgIkWZsyfAM7NCWiBcCDhnd+3NNM5KbBmLTgHVfWBcg6W+rLUsIpzpERPsvwUP7CckAQSOoA==", + "devOptional": true, "engines": { "node": ">=12" } @@ -8946,9 +8965,9 @@ } }, "node_modules/caniuse-lite": { - "version": "1.0.30001620", - "resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001620.tgz", - "integrity": "sha512-WJvYsOjd1/BYUY6SNGUosK9DUidBPDTnOARHp3fSmFO1ekdxaY6nKRttEVrfMmYi80ctS0kz1wiWmm14fVc3ew==", + "version": "1.0.30001621", + "resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001621.tgz", + "integrity": "sha512-+NLXZiviFFKX0fk8Piwv3PfLPGtRqJeq2TiNoUff/qB5KJgwecJTvCXDpmlyP/eCI/GUEmp/h/y5j0yckiiZrA==", "funding": [ { "type": "opencollective", @@ -9141,6 +9160,7 @@ "version": "2.0.0", "resolved": "https://registry.npmjs.org/chownr/-/chownr-2.0.0.tgz", "integrity": "sha512-bIomtDF5KGpdogkLd9VspvFzk9KfpyyGlS8YFVZl7TGPBHL5snIOnxeshwVgPteQ9b4Eydl+pVbIyE1DcvCWgQ==", + "devOptional": true, "engines": { "node": ">=10" } @@ -9818,9 +9838,9 @@ } }, "node_modules/css-blank-pseudo/node_modules/postcss-selector-parser": { - "version": "6.0.16", - "resolved": "https://registry.npmjs.org/postcss-selector-parser/-/postcss-selector-parser-6.0.16.tgz", - "integrity": "sha512-A0RVJrX+IUkVZbW3ClroRWurercFhieevHB38sr2+l9eUClMqome3LmEmnhlNy+5Mr2EYN6B2Kaw9wYdd+VHiw==", + "version": "6.1.0", + "resolved": "https://registry.npmjs.org/postcss-selector-parser/-/postcss-selector-parser-6.1.0.tgz", + "integrity": "sha512-UMz42UD0UY0EApS0ZL9o1XnLhSTtvvvLe5Dc2H2O56fvRZi+KulDyf5ctDhhtYJBGKStV2FL1fy6253cmLgqVQ==", "dev": true, "dependencies": { "cssesc": "^3.0.0", @@ -9880,9 +9900,9 @@ } }, "node_modules/css-has-pseudo/node_modules/postcss-selector-parser": { - "version": "6.0.16", - "resolved": "https://registry.npmjs.org/postcss-selector-parser/-/postcss-selector-parser-6.0.16.tgz", - "integrity": "sha512-A0RVJrX+IUkVZbW3ClroRWurercFhieevHB38sr2+l9eUClMqome3LmEmnhlNy+5Mr2EYN6B2Kaw9wYdd+VHiw==", + "version": "6.1.0", + "resolved": "https://registry.npmjs.org/postcss-selector-parser/-/postcss-selector-parser-6.1.0.tgz", + "integrity": "sha512-UMz42UD0UY0EApS0ZL9o1XnLhSTtvvvLe5Dc2H2O56fvRZi+KulDyf5ctDhhtYJBGKStV2FL1fy6253cmLgqVQ==", "dev": true, "dependencies": { "cssesc": "^3.0.0", @@ -10544,9 +10564,9 @@ } }, "node_modules/electron-to-chromium": { - "version": "1.4.775", - "resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.4.775.tgz", - "integrity": "sha512-JpOfl1aNAiZ88wFzjPczTLwYIoPIsij8S9/XQH9lqMpiJOf23kxea68B8wje4f68t4rOIq4Bh+vP4I65njiJBw==" + "version": "1.4.779", + "resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.4.779.tgz", + "integrity": "sha512-oaTiIcszNfySXVJzKcjxd2YjPxziAd+GmXyb2HbidCeFo6Z88ygOT7EimlrEQhM2U08VhSrbKhLOXP0kKUCZ6g==" }, "node_modules/emoji-regex": { "version": "9.2.2", @@ -10597,7 +10617,8 @@ "node_modules/err-code": { "version": "2.0.3", "resolved": "https://registry.npmjs.org/err-code/-/err-code-2.0.3.tgz", - "integrity": "sha512-2bmlRpNKBxT/CRmPOlyISQpNj+qSeYvcym/uT0Jx2bMOlKLtSy1ZmLuVxSEKKyor/N5yhvp/ZiG1oE3DEYMSFA==" + "integrity": "sha512-2bmlRpNKBxT/CRmPOlyISQpNj+qSeYvcym/uT0Jx2bMOlKLtSy1ZmLuVxSEKKyor/N5yhvp/ZiG1oE3DEYMSFA==", + "devOptional": true }, "node_modules/error-ex": { "version": "1.3.2", @@ -12275,9 +12296,9 @@ } }, "node_modules/fill-range": { - "version": "7.0.1", - "resolved": "https://registry.npmjs.org/fill-range/-/fill-range-7.0.1.tgz", - "integrity": "sha512-qOo9F+dMUmC2Lcb4BbVvnKJxTPjCm+RRpe4gDuGrzkL7mEVl/djYSu2OdQ2Pa302N4oqkSg9ir6jaLWJ2USVpQ==", + "version": "7.1.1", + "resolved": "https://registry.npmjs.org/fill-range/-/fill-range-7.1.1.tgz", + "integrity": "sha512-YsGpe3WHLK8ZYi4tWDg2Jy3ebRz2rXowDxnld4bkQB00cc/1Zw9AWnC0i9ztDJitivtQvaI9KaLyKrc+hBW0yg==", "dependencies": { "to-regex-range": "^5.0.1" }, @@ -12415,6 +12436,7 @@ "version": "3.1.1", "resolved": "https://registry.npmjs.org/foreground-child/-/foreground-child-3.1.1.tgz", "integrity": "sha512-TMKDUnIte6bfb5nWv7V/caI169OHgvwjb7V4WkeUvbQQdjr5rWKqHFiKWb/fcOwB+CzBT+qbWjvj+DVwRskpIg==", + "devOptional": true, "dependencies": { "cross-spawn": "^7.0.0", "signal-exit": "^4.0.1" @@ -12430,6 +12452,7 @@ "version": "4.1.0", "resolved": "https://registry.npmjs.org/signal-exit/-/signal-exit-4.1.0.tgz", "integrity": "sha512-bzyZ1e88w9O1iNJbKnOlvYTrWPDl46O1bG0D3XInv+9tkPrxrN8jUUTiFlDkkmKWgn1M6CfIA13SuGqOa9Korw==", + "devOptional": true, "engines": { "node": ">=14" }, @@ -12532,6 +12555,7 @@ "version": "3.0.3", "resolved": "https://registry.npmjs.org/fs-minipass/-/fs-minipass-3.0.3.tgz", "integrity": "sha512-XUBA9XClHbnJWSfBzjkm6RvPsyg3sryZt06BEQoXcF7EK/xpGaQYJgQKDJSUH5SGZ76Y7pFx1QBnXz09rU5Fbw==", + "devOptional": true, "dependencies": { "minipass": "^7.0.3" }, @@ -12562,6 +12586,7 @@ "version": "1.1.2", "resolved": "https://registry.npmjs.org/function-bind/-/function-bind-1.1.2.tgz", "integrity": "sha512-7XHNxH7qX9xG5mIwxkhumTox/MIRNcOgDrxWsMt2pAr23WHp6MrRlN7FBSFpCpr+oVO0F744iUgR82nJMfG2SA==", + "devOptional": true, "funding": { "url": "https://github.com/sponsors/ljharb" } @@ -12992,6 +13017,9 @@ "version": "5.16.0", "resolved": "https://registry.npmjs.org/graphql-ws/-/graphql-ws-5.16.0.tgz", "integrity": "sha512-Ju2RCU2dQMgSKtArPbEtsK5gNLnsQyTNIo/T7cZNp96niC1x0KdJNZV0TIoilceBPQwfb5itrGl8pkFeOUMl4A==", + "workspaces": [ + "website" + ], "engines": { "node": ">=10" }, @@ -13087,6 +13115,7 @@ "version": "2.0.2", "resolved": "https://registry.npmjs.org/hasown/-/hasown-2.0.2.tgz", "integrity": "sha512-0hJU9SCPvmMzIBdZFqNPXWa6dqh7WdH0cII9y+CyS8rG3nL48Bclra9HmKhVVUHyPWNH5Y7xDwAB7bfgSjkUMQ==", + "devOptional": true, "dependencies": { "function-bind": "^1.1.2" }, @@ -13144,6 +13173,7 @@ "version": "6.1.1", "resolved": "https://registry.npmjs.org/hosted-git-info/-/hosted-git-info-6.1.1.tgz", "integrity": "sha512-r0EI+HBMcXadMrugk0GCQ+6BQV39PiWAZVfq7oIckeGiN7sjRGyQxPdft3nQekFTCQbYxLBH+/axZMeH8UX6+w==", + "devOptional": true, "dependencies": { "lru-cache": "^7.5.1" }, @@ -13155,6 +13185,7 @@ "version": "7.18.3", "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-7.18.3.tgz", "integrity": "sha512-jumlc0BIUrS3qJGgIkWZsyfAM7NCWiBcCDhnd+3NNM5KbBmLTgHVfWBcg6W+rLUsIpzpERPsvwUP7CckAQSOoA==", + "devOptional": true, "engines": { "node": ">=12" } @@ -13334,6 +13365,7 @@ "version": "0.1.4", "resolved": "https://registry.npmjs.org/imurmurhash/-/imurmurhash-0.1.4.tgz", "integrity": "sha512-JmXMZ6wuvDmLiHEml9ykzqO6lwFbof0GG4IkcGaENdCRDDmMVnny7s5HsIgHCbaq0w2MyPhDqkhTUgS2LU2PHA==", + "devOptional": true, "engines": { "node": ">=0.8.19" } @@ -13350,6 +13382,7 @@ "version": "1.0.6", "resolved": "https://registry.npmjs.org/inflight/-/inflight-1.0.6.tgz", "integrity": "sha512-k92I/b08q4wvFscXCLvqfsHCrjrF7yiXsQuIVvVE7N82W3+aqpzuUdBbfhWcy/FZR3/4IgflMgKLOsvPDrGCJA==", + "deprecated": "This module is not supported, and leaks memory. Do not use it. Check out lru-cache if you want a good and tested way to coalesce async requests by a key value, which is much more comprehensive and powerful.", "dependencies": { "once": "^1.3.0", "wrappy": "1" @@ -13916,6 +13949,7 @@ "version": "2.13.1", "resolved": "https://registry.npmjs.org/is-core-module/-/is-core-module-2.13.1.tgz", "integrity": "sha512-hHrIjvZsftOsvKSn2TRYl63zvxsgE0K+0mYMoH6gD4omR5IWB2KynivBQczo3+wF1cCkjzvptnI9Q0sPU66ilw==", + "devOptional": true, "dependencies": { "hasown": "^2.0.0" }, @@ -14406,9 +14440,10 @@ } }, "node_modules/jackspeak": { - "version": "2.3.6", - "resolved": "https://registry.npmjs.org/jackspeak/-/jackspeak-2.3.6.tgz", - "integrity": "sha512-N3yCS/NegsOBokc8GAdM8UcmfsKiSS8cipheD/nivzr700H+nsMOxJjQnvwOcRYVuFkdH0wGUvW2WbXGmrZGbQ==", + "version": "3.1.2", + "resolved": "https://registry.npmjs.org/jackspeak/-/jackspeak-3.1.2.tgz", + "integrity": "sha512-kWmLKn2tRtfYMF/BakihVVRzBKOxz4gJMiL2Rj91WnAB5TPZumSH99R/Yf1qE1u4uRimvCSJfm6hnxohXeEXjQ==", + "devOptional": true, "dependencies": { "@isaacs/cliui": "^8.0.2" }, @@ -14522,6 +14557,7 @@ "version": "3.0.2", "resolved": "https://registry.npmjs.org/json-parse-even-better-errors/-/json-parse-even-better-errors-3.0.2.tgz", "integrity": "sha512-fi0NG4bPjCHunUJffmLd0gxssIgkNmArMvis4iNah6Owg1MCJjWhEcDLmsK6iGkJq3tHwbDkTlce70/tmXN4cQ==", + "devOptional": true, "engines": { "node": "^14.17.0 || ^16.13.0 || >=18.0.0" } @@ -14629,9 +14665,9 @@ } }, "node_modules/language-subtag-registry": { - "version": "0.3.22", - "resolved": "https://registry.npmjs.org/language-subtag-registry/-/language-subtag-registry-0.3.22.tgz", - "integrity": "sha512-tN0MCzyWnoz/4nHS6uxdlFWoUZT7ABptwKPQ52Ea7URk6vll88bWBVhodtnlfEuCcKWNGoc+uGbw1cwa9IKh/w==", + "version": "0.3.23", + "resolved": "https://registry.npmjs.org/language-subtag-registry/-/language-subtag-registry-0.3.23.tgz", + "integrity": "sha512-0K65Lea881pHotoGEa5gDlMxt3pctLi2RplBb7Ezh4rRdLEOtgi7n4EwK9lamnUCkKBqaeKRVebTq6BAxSkpXQ==", "dev": true }, "node_modules/language-tags": { @@ -16038,11 +16074,11 @@ ] }, "node_modules/micromatch": { - "version": "4.0.5", - "resolved": "https://registry.npmjs.org/micromatch/-/micromatch-4.0.5.tgz", - "integrity": "sha512-DMy+ERcEW2q8Z2Po+WNXuw3c5YaUSFjAO5GsJqfEl7UjvtIuFKO6ZrKvcItdy98dwFI2N1tg3zNIdKaQT+aNdA==", + "version": "4.0.7", + "resolved": "https://registry.npmjs.org/micromatch/-/micromatch-4.0.7.tgz", + "integrity": "sha512-LPP/3KorzCwBxfeUuZmaR6bG2kdeHSbe0P2tY3FLRU4vYrjYz5hI4QZwV0njUx3jeuKe67YukQ1LSPZBKDqO/Q==", "dependencies": { - "braces": "^3.0.2", + "braces": "^3.0.3", "picomatch": "^2.3.1" }, "engines": { @@ -16175,6 +16211,7 @@ "version": "7.1.1", "resolved": "https://registry.npmjs.org/minipass/-/minipass-7.1.1.tgz", "integrity": "sha512-UZ7eQ+h8ywIRAW1hIEl2AqdwzJucU/Kp59+8kkZeSvafXhZjul247BvIJjEVFVeON6d7lM46XX1HXCduKAS8VA==", + "devOptional": true, "engines": { "node": ">=16 || 14 >=14.17" } @@ -16183,6 +16220,7 @@ "version": "1.0.2", "resolved": "https://registry.npmjs.org/minipass-collect/-/minipass-collect-1.0.2.tgz", "integrity": "sha512-6T6lH0H8OG9kITm/Jm6tdooIbogG9e0tLgpY6mphXSm/A9u8Nq1ryBG+Qspiub9LjWlBPsPS3tWQ/Botq4FdxA==", + "devOptional": true, "dependencies": { "minipass": "^3.0.0" }, @@ -16194,6 +16232,7 @@ "version": "3.3.6", "resolved": "https://registry.npmjs.org/minipass/-/minipass-3.3.6.tgz", "integrity": "sha512-DxiNidxSEK+tHG6zOIklvNOwm3hvCrbUrdtzY74U6HKTJxvIDfOUL5W5P2Ghd3DTkhhKPYGqeNUIh5qcM4YBfw==", + "devOptional": true, "dependencies": { "yallist": "^4.0.0" }, @@ -16204,12 +16243,14 @@ "node_modules/minipass-collect/node_modules/yallist": { "version": "4.0.0", "resolved": "https://registry.npmjs.org/yallist/-/yallist-4.0.0.tgz", - "integrity": "sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==" + "integrity": "sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==", + "devOptional": true }, "node_modules/minipass-flush": { "version": "1.0.5", "resolved": "https://registry.npmjs.org/minipass-flush/-/minipass-flush-1.0.5.tgz", "integrity": "sha512-JmQSYYpPUqX5Jyn1mXaRwOda1uQ8HP5KAT/oDSLCzt1BYRhQU0/hDtsB1ufZfEEzMZ9aAVmsBw8+FWsIXlClWw==", + "devOptional": true, "dependencies": { "minipass": "^3.0.0" }, @@ -16221,6 +16262,7 @@ "version": "3.3.6", "resolved": "https://registry.npmjs.org/minipass/-/minipass-3.3.6.tgz", "integrity": "sha512-DxiNidxSEK+tHG6zOIklvNOwm3hvCrbUrdtzY74U6HKTJxvIDfOUL5W5P2Ghd3DTkhhKPYGqeNUIh5qcM4YBfw==", + "devOptional": true, "dependencies": { "yallist": "^4.0.0" }, @@ -16231,12 +16273,14 @@ "node_modules/minipass-flush/node_modules/yallist": { "version": "4.0.0", "resolved": "https://registry.npmjs.org/yallist/-/yallist-4.0.0.tgz", - "integrity": "sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==" + "integrity": "sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==", + "devOptional": true }, "node_modules/minipass-pipeline": { "version": "1.2.4", "resolved": "https://registry.npmjs.org/minipass-pipeline/-/minipass-pipeline-1.2.4.tgz", "integrity": "sha512-xuIq7cIOt09RPRJ19gdi4b+RiNvDFYe5JH+ggNvBqGqpQXcru3PcRmOZuHBKWK1Txf9+cQ+HMVN4d6z46LZP7A==", + "devOptional": true, "dependencies": { "minipass": "^3.0.0" }, @@ -16248,6 +16292,7 @@ "version": "3.3.6", "resolved": "https://registry.npmjs.org/minipass/-/minipass-3.3.6.tgz", "integrity": "sha512-DxiNidxSEK+tHG6zOIklvNOwm3hvCrbUrdtzY74U6HKTJxvIDfOUL5W5P2Ghd3DTkhhKPYGqeNUIh5qcM4YBfw==", + "devOptional": true, "dependencies": { "yallist": "^4.0.0" }, @@ -16258,12 +16303,14 @@ "node_modules/minipass-pipeline/node_modules/yallist": { "version": "4.0.0", "resolved": "https://registry.npmjs.org/yallist/-/yallist-4.0.0.tgz", - "integrity": "sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==" + "integrity": "sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==", + "devOptional": true }, "node_modules/minizlib": { "version": "2.1.2", "resolved": "https://registry.npmjs.org/minizlib/-/minizlib-2.1.2.tgz", "integrity": "sha512-bAxsR8BVfj60DWXHE3u30oHzfl4G7khkSuPW+qvpd7jFRHm7dLxOjUk1EHACJ/hxLY8phGJ0YhYHZo7jil7Qdg==", + "devOptional": true, "dependencies": { "minipass": "^3.0.0", "yallist": "^4.0.0" @@ -16276,6 +16323,7 @@ "version": "3.3.6", "resolved": "https://registry.npmjs.org/minipass/-/minipass-3.3.6.tgz", "integrity": "sha512-DxiNidxSEK+tHG6zOIklvNOwm3hvCrbUrdtzY74U6HKTJxvIDfOUL5W5P2Ghd3DTkhhKPYGqeNUIh5qcM4YBfw==", + "devOptional": true, "dependencies": { "yallist": "^4.0.0" }, @@ -16286,12 +16334,14 @@ "node_modules/minizlib/node_modules/yallist": { "version": "4.0.0", "resolved": "https://registry.npmjs.org/yallist/-/yallist-4.0.0.tgz", - "integrity": "sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==" + "integrity": "sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==", + "devOptional": true }, "node_modules/mkdirp": { "version": "1.0.4", "resolved": "https://registry.npmjs.org/mkdirp/-/mkdirp-1.0.4.tgz", "integrity": "sha512-vVqVZQyf3WLx2Shd0qJ9xuvqgAyKPLAiqITEtqW0oIUjzo3PePDd6fW9iFz30ef7Ysp/oiWqbhszeGWW2T6Gzw==", + "devOptional": true, "bin": { "mkdirp": "bin/cmd.js" }, @@ -16515,6 +16565,7 @@ "version": "5.0.0", "resolved": "https://registry.npmjs.org/normalize-package-data/-/normalize-package-data-5.0.0.tgz", "integrity": "sha512-h9iPVIfrVZ9wVYQnxFgtw1ugSvGEMOlyPWWtm8BMJhnwyEL/FLbYbTY3V3PpjI/BUK67n9PEWDu6eHzu1fB15Q==", + "devOptional": true, "dependencies": { "hosted-git-info": "^6.0.0", "is-core-module": "^2.8.1", @@ -16529,6 +16580,7 @@ "version": "7.6.2", "resolved": "https://registry.npmjs.org/semver/-/semver-7.6.2.tgz", "integrity": "sha512-FNAIBWCx9qcRhoHcgcJ0gvU7SN1lYU2ZXuSfl04bSC5OpvDHFyJCjdNHomPXxjQlCBU67YW64PzY7/VIEH7F2w==", + "devOptional": true, "bin": { "semver": "bin/semver.js" }, @@ -16638,6 +16690,13 @@ "which", "write-file-atomic" ], + "workspaces": [ + "docs", + "smoke-tests", + "mock-globals", + "mock-registry", + "workspaces/*" + ], "dependencies": { "@isaacs/string-locale-compare": "^1.1.0", "@npmcli/arborist": "^7.2.1", @@ -16720,6 +16779,7 @@ "version": "6.3.0", "resolved": "https://registry.npmjs.org/npm-install-checks/-/npm-install-checks-6.3.0.tgz", "integrity": "sha512-W29RiK/xtpCGqn6f3ixfRYGk+zRyr+Ew9F2E20BfXxT5/euLdA/Nm7fO7OeTGuAmTs30cpgInyJ0cYe708YTZw==", + "devOptional": true, "dependencies": { "semver": "^7.1.1" }, @@ -16731,6 +16791,7 @@ "version": "7.6.2", "resolved": "https://registry.npmjs.org/semver/-/semver-7.6.2.tgz", "integrity": "sha512-FNAIBWCx9qcRhoHcgcJ0gvU7SN1lYU2ZXuSfl04bSC5OpvDHFyJCjdNHomPXxjQlCBU67YW64PzY7/VIEH7F2w==", + "devOptional": true, "bin": { "semver": "bin/semver.js" }, @@ -16742,6 +16803,7 @@ "version": "3.0.1", "resolved": "https://registry.npmjs.org/npm-normalize-package-bin/-/npm-normalize-package-bin-3.0.1.tgz", "integrity": "sha512-dMxCf+zZ+3zeQZXKxmyuCKlIDPGuv8EF940xbkC4kQVDTtqoh6rJFO+JTKSA6/Rwi0getWmtuy4Itup0AMcaDQ==", + "devOptional": true, "engines": { "node": "^14.17.0 || ^16.13.0 || >=18.0.0" } @@ -16750,6 +16812,7 @@ "version": "10.1.0", "resolved": "https://registry.npmjs.org/npm-package-arg/-/npm-package-arg-10.1.0.tgz", "integrity": "sha512-uFyyCEmgBfZTtrKk/5xDfHp6+MdrqGotX/VoOyEEl3mBwiEE5FlBaePanazJSVMPT7vKepcjYBY2ztg9A3yPIA==", + "devOptional": true, "dependencies": { "hosted-git-info": "^6.0.0", "proc-log": "^3.0.0", @@ -16764,6 +16827,7 @@ "version": "7.6.2", "resolved": "https://registry.npmjs.org/semver/-/semver-7.6.2.tgz", "integrity": "sha512-FNAIBWCx9qcRhoHcgcJ0gvU7SN1lYU2ZXuSfl04bSC5OpvDHFyJCjdNHomPXxjQlCBU67YW64PzY7/VIEH7F2w==", + "devOptional": true, "bin": { "semver": "bin/semver.js" }, @@ -16775,6 +16839,7 @@ "version": "8.0.2", "resolved": "https://registry.npmjs.org/npm-pick-manifest/-/npm-pick-manifest-8.0.2.tgz", "integrity": "sha512-1dKY+86/AIiq1tkKVD3l0WI+Gd3vkknVGAggsFeBkTvbhMQ1OND/LKkYv4JtXPKUJ8bOTCyLiqEg2P6QNdK+Gg==", + "devOptional": true, "dependencies": { "npm-install-checks": "^6.0.0", "npm-normalize-package-bin": "^3.0.0", @@ -16789,6 +16854,7 @@ "version": "7.6.2", "resolved": "https://registry.npmjs.org/semver/-/semver-7.6.2.tgz", "integrity": "sha512-FNAIBWCx9qcRhoHcgcJ0gvU7SN1lYU2ZXuSfl04bSC5OpvDHFyJCjdNHomPXxjQlCBU67YW64PzY7/VIEH7F2w==", + "devOptional": true, "bin": { "semver": "bin/semver.js" }, @@ -19862,6 +19928,7 @@ "version": "1.11.1", "resolved": "https://registry.npmjs.org/path-scurry/-/path-scurry-1.11.1.tgz", "integrity": "sha512-Xa4Nw17FS9ApQFJ9umLiJS4orGjm7ZzwUrwamcGQuHSzDyth9boKDaycYdDcZDuqYATXw4HFXgaqWTctW/v1HA==", + "devOptional": true, "dependencies": { "lru-cache": "^10.2.0", "minipass": "^5.0.0 || ^6.0.2 || ^7.0.0" @@ -19877,6 +19944,7 @@ "version": "10.2.2", "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-10.2.2.tgz", "integrity": "sha512-9hp3Vp2/hFQUiIwKo8XCeFVnrg8Pk3TYNPIR7tJADKi5YfcF7vEaK7avFHTlSy3kOKYaJQaalfEo6YuXdceBOQ==", + "devOptional": true, "engines": { "node": "14 || >=16.14" } @@ -20102,12 +20170,12 @@ "devOptional": true }, "node_modules/playwright": { - "version": "1.44.0", - "resolved": "https://registry.npmjs.org/playwright/-/playwright-1.44.0.tgz", - "integrity": "sha512-F9b3GUCLQ3Nffrfb6dunPOkE5Mh68tR7zN32L4jCk4FjQamgesGay7/dAAe1WaMEGV04DkdJfcJzjoCKygUaRQ==", + "version": "1.44.1", + "resolved": "https://registry.npmjs.org/playwright/-/playwright-1.44.1.tgz", + "integrity": "sha512-qr/0UJ5CFAtloI3avF95Y0L1xQo6r3LQArLIg/z/PoGJ6xa+EwzrwO5lpNr/09STxdHuUoP2mvuELJS+hLdtgg==", "dev": true, "dependencies": { - "playwright-core": "1.44.0" + "playwright-core": "1.44.1" }, "bin": { "playwright": "cli.js" @@ -20120,9 +20188,9 @@ } }, "node_modules/playwright-core": { - "version": "1.44.0", - "resolved": "https://registry.npmjs.org/playwright-core/-/playwright-core-1.44.0.tgz", - "integrity": "sha512-ZTbkNpFfYcGWohvTTl+xewITm7EOuqIqex0c7dNZ+aXsbrLj0qI8XlGKfPpipjm0Wny/4Lt4CJsWJk1stVS5qQ==", + "version": "1.44.1", + "resolved": "https://registry.npmjs.org/playwright-core/-/playwright-core-1.44.1.tgz", + "integrity": "sha512-wh0JWtYTrhv1+OSsLPgFzGzt67Y7BE/ZS3jEqgGBlp2ppp1ZDj8c+9IARNW4dwf1poq5MgHreEM2KV/GuR4cFA==", "dev": true, "bin": { "playwright-core": "cli.js" @@ -20208,9 +20276,9 @@ } }, "node_modules/postcss-attribute-case-insensitive/node_modules/postcss-selector-parser": { - "version": "6.0.16", - "resolved": "https://registry.npmjs.org/postcss-selector-parser/-/postcss-selector-parser-6.0.16.tgz", - "integrity": "sha512-A0RVJrX+IUkVZbW3ClroRWurercFhieevHB38sr2+l9eUClMqome3LmEmnhlNy+5Mr2EYN6B2Kaw9wYdd+VHiw==", + "version": "6.1.0", + "resolved": "https://registry.npmjs.org/postcss-selector-parser/-/postcss-selector-parser-6.1.0.tgz", + "integrity": "sha512-UMz42UD0UY0EApS0ZL9o1XnLhSTtvvvLe5Dc2H2O56fvRZi+KulDyf5ctDhhtYJBGKStV2FL1fy6253cmLgqVQ==", "dev": true, "dependencies": { "cssesc": "^3.0.0", @@ -20402,9 +20470,9 @@ } }, "node_modules/postcss-custom-selectors/node_modules/postcss-selector-parser": { - "version": "6.0.16", - "resolved": "https://registry.npmjs.org/postcss-selector-parser/-/postcss-selector-parser-6.0.16.tgz", - "integrity": "sha512-A0RVJrX+IUkVZbW3ClroRWurercFhieevHB38sr2+l9eUClMqome3LmEmnhlNy+5Mr2EYN6B2Kaw9wYdd+VHiw==", + "version": "6.1.0", + "resolved": "https://registry.npmjs.org/postcss-selector-parser/-/postcss-selector-parser-6.1.0.tgz", + "integrity": "sha512-UMz42UD0UY0EApS0ZL9o1XnLhSTtvvvLe5Dc2H2O56fvRZi+KulDyf5ctDhhtYJBGKStV2FL1fy6253cmLgqVQ==", "dev": true, "dependencies": { "cssesc": "^3.0.0", @@ -20440,9 +20508,9 @@ } }, "node_modules/postcss-dir-pseudo-class/node_modules/postcss-selector-parser": { - "version": "6.0.16", - "resolved": "https://registry.npmjs.org/postcss-selector-parser/-/postcss-selector-parser-6.0.16.tgz", - "integrity": "sha512-A0RVJrX+IUkVZbW3ClroRWurercFhieevHB38sr2+l9eUClMqome3LmEmnhlNy+5Mr2EYN6B2Kaw9wYdd+VHiw==", + "version": "6.1.0", + "resolved": "https://registry.npmjs.org/postcss-selector-parser/-/postcss-selector-parser-6.1.0.tgz", + "integrity": "sha512-UMz42UD0UY0EApS0ZL9o1XnLhSTtvvvLe5Dc2H2O56fvRZi+KulDyf5ctDhhtYJBGKStV2FL1fy6253cmLgqVQ==", "dev": true, "dependencies": { "cssesc": "^3.0.0", @@ -20517,9 +20585,9 @@ } }, "node_modules/postcss-focus-visible/node_modules/postcss-selector-parser": { - "version": "6.0.16", - "resolved": "https://registry.npmjs.org/postcss-selector-parser/-/postcss-selector-parser-6.0.16.tgz", - "integrity": "sha512-A0RVJrX+IUkVZbW3ClroRWurercFhieevHB38sr2+l9eUClMqome3LmEmnhlNy+5Mr2EYN6B2Kaw9wYdd+VHiw==", + "version": "6.1.0", + "resolved": "https://registry.npmjs.org/postcss-selector-parser/-/postcss-selector-parser-6.1.0.tgz", + "integrity": "sha512-UMz42UD0UY0EApS0ZL9o1XnLhSTtvvvLe5Dc2H2O56fvRZi+KulDyf5ctDhhtYJBGKStV2FL1fy6253cmLgqVQ==", "dev": true, "dependencies": { "cssesc": "^3.0.0", @@ -20555,9 +20623,9 @@ } }, "node_modules/postcss-focus-within/node_modules/postcss-selector-parser": { - "version": "6.0.16", - "resolved": "https://registry.npmjs.org/postcss-selector-parser/-/postcss-selector-parser-6.0.16.tgz", - "integrity": "sha512-A0RVJrX+IUkVZbW3ClroRWurercFhieevHB38sr2+l9eUClMqome3LmEmnhlNy+5Mr2EYN6B2Kaw9wYdd+VHiw==", + "version": "6.1.0", + "resolved": "https://registry.npmjs.org/postcss-selector-parser/-/postcss-selector-parser-6.1.0.tgz", + "integrity": "sha512-UMz42UD0UY0EApS0ZL9o1XnLhSTtvvvLe5Dc2H2O56fvRZi+KulDyf5ctDhhtYJBGKStV2FL1fy6253cmLgqVQ==", "dev": true, "dependencies": { "cssesc": "^3.0.0", @@ -20847,9 +20915,9 @@ } }, "node_modules/postcss-nested/node_modules/postcss-selector-parser": { - "version": "6.0.16", - "resolved": "https://registry.npmjs.org/postcss-selector-parser/-/postcss-selector-parser-6.0.16.tgz", - "integrity": "sha512-A0RVJrX+IUkVZbW3ClroRWurercFhieevHB38sr2+l9eUClMqome3LmEmnhlNy+5Mr2EYN6B2Kaw9wYdd+VHiw==", + "version": "6.1.0", + "resolved": "https://registry.npmjs.org/postcss-selector-parser/-/postcss-selector-parser-6.1.0.tgz", + "integrity": "sha512-UMz42UD0UY0EApS0ZL9o1XnLhSTtvvvLe5Dc2H2O56fvRZi+KulDyf5ctDhhtYJBGKStV2FL1fy6253cmLgqVQ==", "dev": true, "dependencies": { "cssesc": "^3.0.0", @@ -20931,9 +20999,9 @@ } }, "node_modules/postcss-nesting/node_modules/postcss-selector-parser": { - "version": "6.0.16", - "resolved": "https://registry.npmjs.org/postcss-selector-parser/-/postcss-selector-parser-6.0.16.tgz", - "integrity": "sha512-A0RVJrX+IUkVZbW3ClroRWurercFhieevHB38sr2+l9eUClMqome3LmEmnhlNy+5Mr2EYN6B2Kaw9wYdd+VHiw==", + "version": "6.1.0", + "resolved": "https://registry.npmjs.org/postcss-selector-parser/-/postcss-selector-parser-6.1.0.tgz", + "integrity": "sha512-UMz42UD0UY0EApS0ZL9o1XnLhSTtvvvLe5Dc2H2O56fvRZi+KulDyf5ctDhhtYJBGKStV2FL1fy6253cmLgqVQ==", "dev": true, "dependencies": { "cssesc": "^3.0.0", @@ -21134,9 +21202,9 @@ } }, "node_modules/postcss-pseudo-class-any-link/node_modules/postcss-selector-parser": { - "version": "6.0.16", - "resolved": "https://registry.npmjs.org/postcss-selector-parser/-/postcss-selector-parser-6.0.16.tgz", - "integrity": "sha512-A0RVJrX+IUkVZbW3ClroRWurercFhieevHB38sr2+l9eUClMqome3LmEmnhlNy+5Mr2EYN6B2Kaw9wYdd+VHiw==", + "version": "6.1.0", + "resolved": "https://registry.npmjs.org/postcss-selector-parser/-/postcss-selector-parser-6.1.0.tgz", + "integrity": "sha512-UMz42UD0UY0EApS0ZL9o1XnLhSTtvvvLe5Dc2H2O56fvRZi+KulDyf5ctDhhtYJBGKStV2FL1fy6253cmLgqVQ==", "dev": true, "dependencies": { "cssesc": "^3.0.0", @@ -21181,9 +21249,9 @@ } }, "node_modules/postcss-selector-not/node_modules/postcss-selector-parser": { - "version": "6.0.16", - "resolved": "https://registry.npmjs.org/postcss-selector-parser/-/postcss-selector-parser-6.0.16.tgz", - "integrity": "sha512-A0RVJrX+IUkVZbW3ClroRWurercFhieevHB38sr2+l9eUClMqome3LmEmnhlNy+5Mr2EYN6B2Kaw9wYdd+VHiw==", + "version": "6.1.0", + "resolved": "https://registry.npmjs.org/postcss-selector-parser/-/postcss-selector-parser-6.1.0.tgz", + "integrity": "sha512-UMz42UD0UY0EApS0ZL9o1XnLhSTtvvvLe5Dc2H2O56fvRZi+KulDyf5ctDhhtYJBGKStV2FL1fy6253cmLgqVQ==", "dev": true, "dependencies": { "cssesc": "^3.0.0", @@ -21298,6 +21366,7 @@ "version": "3.0.0", "resolved": "https://registry.npmjs.org/proc-log/-/proc-log-3.0.0.tgz", "integrity": "sha512-++Vn7NS4Xf9NacaU9Xq3URUuqZETPsf8L4j5/ckhaRYsfPeRyzGw+iDjFhV/Jr3uNmTvvddEJFWh5R1gRgUH8A==", + "devOptional": true, "engines": { "node": "^14.17.0 || ^16.13.0 || >=18.0.0" } @@ -21318,12 +21387,14 @@ "node_modules/promise-inflight": { "version": "1.0.1", "resolved": "https://registry.npmjs.org/promise-inflight/-/promise-inflight-1.0.1.tgz", - "integrity": "sha512-6zWPyEOFaQBJYcGMHBKTKJ3u6TBsnMFOIZSa6ce1e/ZrrsOlnHRHbabMjLiBYKp+n44X9eUI6VUPaukCXHuG4g==" + "integrity": "sha512-6zWPyEOFaQBJYcGMHBKTKJ3u6TBsnMFOIZSa6ce1e/ZrrsOlnHRHbabMjLiBYKp+n44X9eUI6VUPaukCXHuG4g==", + "devOptional": true }, "node_modules/promise-retry": { "version": "2.0.1", "resolved": "https://registry.npmjs.org/promise-retry/-/promise-retry-2.0.1.tgz", "integrity": "sha512-y+WKFlBR8BGXnsNlIHFGPZmyDf3DFMoLhaflAnyZgV6rG6xu+JwesTo2Q9R6XwYmtmwAFCkAk3e35jEdoeh/3g==", + "devOptional": true, "dependencies": { "err-code": "^2.0.2", "retry": "^0.12.0" @@ -22071,6 +22142,7 @@ "version": "0.12.0", "resolved": "https://registry.npmjs.org/retry/-/retry-0.12.0.tgz", "integrity": "sha512-9LkiTwjUh6rT555DtE9rTX+BKByPfrMzEAtnlEtdEwr3Nkffwiihqe2bWADg+OQRjt9gl6ICdmB/ZFDCGAtSow==", + "devOptional": true, "engines": { "node": ">= 4" } @@ -22108,13 +22180,13 @@ } }, "node_modules/rimraf/node_modules/glob": { - "version": "10.3.15", - "resolved": "https://registry.npmjs.org/glob/-/glob-10.3.15.tgz", - "integrity": "sha512-0c6RlJt1TICLyvJYIApxb8GsXoai0KUP7AxKKAtsYXdgJR1mGEUa7DgwShbdk1nly0PYoZj01xd4hzbq3fsjpw==", + "version": "10.3.16", + "resolved": "https://registry.npmjs.org/glob/-/glob-10.3.16.tgz", + "integrity": "sha512-JDKXl1DiuuHJ6fVS2FXjownaavciiHNUU4mOvV/B793RLh05vZL1rcPnCSaOgv1hDT6RDlY7AB7ZUvFYAtPgAw==", "dev": true, "dependencies": { "foreground-child": "^3.1.0", - "jackspeak": "^2.3.6", + "jackspeak": "^3.1.2", "minimatch": "^9.0.1", "minipass": "^7.0.4", "path-scurry": "^1.11.0" @@ -22130,9 +22202,9 @@ } }, "node_modules/rollup": { - "version": "4.17.2", - "resolved": "https://registry.npmjs.org/rollup/-/rollup-4.17.2.tgz", - "integrity": "sha512-/9ClTJPByC0U4zNLowV1tMBe8yMEAxewtR3cUNX5BoEpGH3dQEWpJLr6CLp0fPdYRF/fzVOgvDb1zXuakwF5kQ==", + "version": "4.18.0", + "resolved": "https://registry.npmjs.org/rollup/-/rollup-4.18.0.tgz", + "integrity": "sha512-QmJz14PX3rzbJCN1SG4Xe/bAAX2a6NpCP8ab2vfu2GiUr8AQcr2nCV/oEO3yneFarB67zk8ShlIyWb2LGTb3Sg==", "devOptional": true, "dependencies": { "@types/estree": "1.0.5" @@ -22145,22 +22217,22 @@ "npm": ">=8.0.0" }, "optionalDependencies": { - "@rollup/rollup-android-arm-eabi": "4.17.2", - "@rollup/rollup-android-arm64": "4.17.2", - "@rollup/rollup-darwin-arm64": "4.17.2", - "@rollup/rollup-darwin-x64": "4.17.2", - "@rollup/rollup-linux-arm-gnueabihf": "4.17.2", - "@rollup/rollup-linux-arm-musleabihf": "4.17.2", - "@rollup/rollup-linux-arm64-gnu": "4.17.2", - "@rollup/rollup-linux-arm64-musl": "4.17.2", - "@rollup/rollup-linux-powerpc64le-gnu": "4.17.2", - "@rollup/rollup-linux-riscv64-gnu": "4.17.2", - "@rollup/rollup-linux-s390x-gnu": "4.17.2", - "@rollup/rollup-linux-x64-gnu": "4.17.2", - "@rollup/rollup-linux-x64-musl": "4.17.2", - "@rollup/rollup-win32-arm64-msvc": "4.17.2", - "@rollup/rollup-win32-ia32-msvc": "4.17.2", - "@rollup/rollup-win32-x64-msvc": "4.17.2", + "@rollup/rollup-android-arm-eabi": "4.18.0", + "@rollup/rollup-android-arm64": "4.18.0", + "@rollup/rollup-darwin-arm64": "4.18.0", + "@rollup/rollup-darwin-x64": "4.18.0", + "@rollup/rollup-linux-arm-gnueabihf": "4.18.0", + "@rollup/rollup-linux-arm-musleabihf": "4.18.0", + "@rollup/rollup-linux-arm64-gnu": "4.18.0", + "@rollup/rollup-linux-arm64-musl": "4.18.0", + "@rollup/rollup-linux-powerpc64le-gnu": "4.18.0", + "@rollup/rollup-linux-riscv64-gnu": "4.18.0", + "@rollup/rollup-linux-s390x-gnu": "4.18.0", + "@rollup/rollup-linux-x64-gnu": "4.18.0", + "@rollup/rollup-linux-x64-musl": "4.18.0", + "@rollup/rollup-win32-arm64-msvc": "4.18.0", + "@rollup/rollup-win32-ia32-msvc": "4.18.0", + "@rollup/rollup-win32-x64-msvc": "4.18.0", "fsevents": "~2.3.2" } }, @@ -22623,6 +22695,7 @@ "version": "3.2.0", "resolved": "https://registry.npmjs.org/spdx-correct/-/spdx-correct-3.2.0.tgz", "integrity": "sha512-kN9dJbvnySHULIluDHy32WHRUu3Og7B9sbY7tsFLctQkIqnMh3hErYgdMjTYuqmcXX+lK5T1lnUt3G7zNswmZA==", + "devOptional": true, "dependencies": { "spdx-expression-parse": "^3.0.0", "spdx-license-ids": "^3.0.0" @@ -22631,12 +22704,14 @@ "node_modules/spdx-exceptions": { "version": "2.5.0", "resolved": "https://registry.npmjs.org/spdx-exceptions/-/spdx-exceptions-2.5.0.tgz", - "integrity": "sha512-PiU42r+xO4UbUS1buo3LPJkjlO7430Xn5SVAhdpzzsPHsjbYVflnnFdATgabnLude+Cqu25p6N+g2lw/PFsa4w==" + "integrity": "sha512-PiU42r+xO4UbUS1buo3LPJkjlO7430Xn5SVAhdpzzsPHsjbYVflnnFdATgabnLude+Cqu25p6N+g2lw/PFsa4w==", + "devOptional": true }, "node_modules/spdx-expression-parse": { "version": "3.0.1", "resolved": "https://registry.npmjs.org/spdx-expression-parse/-/spdx-expression-parse-3.0.1.tgz", "integrity": "sha512-cbqHunsQWnJNE6KhVSMsMeH5H/L9EpymbzqTQ3uLwNCLZ1Q481oWaofqH7nO6V07xlXwY6PhQdQ2IedWx/ZK4Q==", + "devOptional": true, "dependencies": { "spdx-exceptions": "^2.1.0", "spdx-license-ids": "^3.0.0" @@ -22645,7 +22720,8 @@ "node_modules/spdx-license-ids": { "version": "3.0.17", "resolved": "https://registry.npmjs.org/spdx-license-ids/-/spdx-license-ids-3.0.17.tgz", - "integrity": "sha512-sh8PWc/ftMqAAdFiBu6Fy6JUOYjqDJBJvIhpfDMyHrr0Rbp5liZqd4TjtQ/RgfLjKFZb+LMx5hpml5qOWy0qvg==" + "integrity": "sha512-sh8PWc/ftMqAAdFiBu6Fy6JUOYjqDJBJvIhpfDMyHrr0Rbp5liZqd4TjtQ/RgfLjKFZb+LMx5hpml5qOWy0qvg==", + "devOptional": true }, "node_modules/sponge-case": { "version": "1.0.1", @@ -22664,6 +22740,7 @@ "version": "10.0.6", "resolved": "https://registry.npmjs.org/ssri/-/ssri-10.0.6.tgz", "integrity": "sha512-MGrFH9Z4NP9Iyhqn16sDtBpRRNJ0Y2hNa6D65h736fVSaPCHr4DM4sWUNvVaSuC+0OBGhwsrydQwmgfg5LncqQ==", + "devOptional": true, "dependencies": { "minipass": "^7.0.3" }, @@ -22835,6 +22912,7 @@ "version": "4.2.3", "resolved": "https://registry.npmjs.org/string-width/-/string-width-4.2.3.tgz", "integrity": "sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g==", + "devOptional": true, "dependencies": { "emoji-regex": "^8.0.0", "is-fullwidth-code-point": "^3.0.0", @@ -22847,12 +22925,14 @@ "node_modules/string-width-cjs/node_modules/emoji-regex": { "version": "8.0.0", "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-8.0.0.tgz", - "integrity": "sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==" + "integrity": "sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==", + "devOptional": true }, "node_modules/string-width-cjs/node_modules/is-fullwidth-code-point": { "version": "3.0.0", "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-3.0.0.tgz", "integrity": "sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg==", + "devOptional": true, "engines": { "node": ">=8" } @@ -22975,6 +23055,7 @@ "version": "6.0.1", "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.1.tgz", "integrity": "sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==", + "devOptional": true, "dependencies": { "ansi-regex": "^5.0.1" }, @@ -23071,13 +23152,13 @@ } }, "node_modules/sucrase/node_modules/glob": { - "version": "10.3.15", - "resolved": "https://registry.npmjs.org/glob/-/glob-10.3.15.tgz", - "integrity": "sha512-0c6RlJt1TICLyvJYIApxb8GsXoai0KUP7AxKKAtsYXdgJR1mGEUa7DgwShbdk1nly0PYoZj01xd4hzbq3fsjpw==", + "version": "10.3.16", + "resolved": "https://registry.npmjs.org/glob/-/glob-10.3.16.tgz", + "integrity": "sha512-JDKXl1DiuuHJ6fVS2FXjownaavciiHNUU4mOvV/B793RLh05vZL1rcPnCSaOgv1hDT6RDlY7AB7ZUvFYAtPgAw==", "dev": true, "dependencies": { "foreground-child": "^3.1.0", - "jackspeak": "^2.3.6", + "jackspeak": "^3.1.2", "minimatch": "^9.0.1", "minipass": "^7.0.4", "path-scurry": "^1.11.0" @@ -23230,9 +23311,9 @@ } }, "node_modules/tailwindcss/node_modules/postcss-selector-parser": { - "version": "6.0.16", - "resolved": "https://registry.npmjs.org/postcss-selector-parser/-/postcss-selector-parser-6.0.16.tgz", - "integrity": "sha512-A0RVJrX+IUkVZbW3ClroRWurercFhieevHB38sr2+l9eUClMqome3LmEmnhlNy+5Mr2EYN6B2Kaw9wYdd+VHiw==", + "version": "6.1.0", + "resolved": "https://registry.npmjs.org/postcss-selector-parser/-/postcss-selector-parser-6.1.0.tgz", + "integrity": "sha512-UMz42UD0UY0EApS0ZL9o1XnLhSTtvvvLe5Dc2H2O56fvRZi+KulDyf5ctDhhtYJBGKStV2FL1fy6253cmLgqVQ==", "dev": true, "dependencies": { "cssesc": "^3.0.0", @@ -23255,6 +23336,7 @@ "version": "6.2.1", "resolved": "https://registry.npmjs.org/tar/-/tar-6.2.1.tgz", "integrity": "sha512-DZ4yORTwrbTj/7MZYq2w+/ZFdI6OZ/f9SFHR+71gIVUZhOQPHzVCLpvRnPgyaMpfWxxk/4ONva3GQSyNIKRv6A==", + "devOptional": true, "dependencies": { "chownr": "^2.0.0", "fs-minipass": "^2.0.0", @@ -23302,6 +23384,7 @@ "version": "2.1.0", "resolved": "https://registry.npmjs.org/fs-minipass/-/fs-minipass-2.1.0.tgz", "integrity": "sha512-V/JgOLFCS+R6Vcq0slCuaeWEdNC3ouDlJMNIsacH2VtALiu9mV4LPrHc5cDl8k5aw6J8jwgWWpiTo5RYhmIzvg==", + "devOptional": true, "dependencies": { "minipass": "^3.0.0" }, @@ -23313,6 +23396,7 @@ "version": "3.3.6", "resolved": "https://registry.npmjs.org/minipass/-/minipass-3.3.6.tgz", "integrity": "sha512-DxiNidxSEK+tHG6zOIklvNOwm3hvCrbUrdtzY74U6HKTJxvIDfOUL5W5P2Ghd3DTkhhKPYGqeNUIh5qcM4YBfw==", + "devOptional": true, "dependencies": { "yallist": "^4.0.0" }, @@ -23324,6 +23408,7 @@ "version": "5.0.0", "resolved": "https://registry.npmjs.org/minipass/-/minipass-5.0.0.tgz", "integrity": "sha512-3FnjYuehv9k6ovOEbyOswadCDPX1piCfhV8ncmYtHOjuPwylVWsghTLo7rabjC3Rx5xD4HDx8Wm1xnMF7S5qFQ==", + "devOptional": true, "engines": { "node": ">=8" } @@ -23331,7 +23416,8 @@ "node_modules/tar/node_modules/yallist": { "version": "4.0.0", "resolved": "https://registry.npmjs.org/yallist/-/yallist-4.0.0.tgz", - "integrity": "sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==" + "integrity": "sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==", + "devOptional": true }, "node_modules/temp-dir": { "version": "2.0.0", @@ -23423,7 +23509,8 @@ "node_modules/text-table": { "version": "0.2.0", "resolved": "https://registry.npmjs.org/text-table/-/text-table-0.2.0.tgz", - "integrity": "sha512-N+8UisAXDGk8PFXP4HAzVR9nbfmVJ3zYLAWiTIoqC5v5isinhr+r5uaO8+7r3BMfuNIufIsA7RdpVgacC2cSpw==" + "integrity": "sha512-N+8UisAXDGk8PFXP4HAzVR9nbfmVJ3zYLAWiTIoqC5v5isinhr+r5uaO8+7r3BMfuNIufIsA7RdpVgacC2cSpw==", + "dev": true }, "node_modules/textr": { "version": "0.3.0", @@ -24040,9 +24127,9 @@ } }, "node_modules/undici": { - "version": "6.18.0", - "resolved": "https://registry.npmjs.org/undici/-/undici-6.18.0.tgz", - "integrity": "sha512-nT8jjv/fE9Et1ilR6QoW8ingRTY2Pp4l2RUrdzV5Yz35RJDrtPc1DXvuNqcpsJSGIRHFdt3YKKktTzJA6r0fTA==", + "version": "6.18.1", + "resolved": "https://registry.npmjs.org/undici/-/undici-6.18.1.tgz", + "integrity": "sha512-/0BWqR8rJNRysS5lqVmfc7eeOErcOP4tZpATVjJOojjHZ71gSYVAtFhEmadcIjwMIUehh5NFyKGsXCnXIajtbA==", "devOptional": true, "engines": { "node": ">=18.17" @@ -24088,6 +24175,7 @@ "version": "3.0.0", "resolved": "https://registry.npmjs.org/unique-filename/-/unique-filename-3.0.0.tgz", "integrity": "sha512-afXhuC55wkAmZ0P18QsVE6kp8JaxrEokN2HGIoIVv2ijHQd419H0+6EigAFcIzXeMIkcIkNBpB3L/DXB3cTS/g==", + "devOptional": true, "dependencies": { "unique-slug": "^4.0.0" }, @@ -24099,6 +24187,7 @@ "version": "4.0.0", "resolved": "https://registry.npmjs.org/unique-slug/-/unique-slug-4.0.0.tgz", "integrity": "sha512-WrcA6AyEfqDX5bWige/4NQfPZMtASNVxdmWR76WESYQVAACSgWcR6e9i0mofqqBxYFtL4oAxPIptY73/0YE1DQ==", + "devOptional": true, "dependencies": { "imurmurhash": "^0.1.4" }, @@ -24419,6 +24508,7 @@ "version": "3.0.4", "resolved": "https://registry.npmjs.org/validate-npm-package-license/-/validate-npm-package-license-3.0.4.tgz", "integrity": "sha512-DpKm2Ui/xN7/HQKCtpZxoRWBhZ9Z0kqtygG8XCgNQ8ZlDnxuQmWhj566j8fN4Cu3/JmbhsDo7fcAJq4s9h27Ew==", + "devOptional": true, "dependencies": { "spdx-correct": "^3.0.0", "spdx-expression-parse": "^3.0.0" @@ -24428,6 +24518,7 @@ "version": "5.0.1", "resolved": "https://registry.npmjs.org/validate-npm-package-name/-/validate-npm-package-name-5.0.1.tgz", "integrity": "sha512-OljLrQ9SQdOUqTaQxqL5dEfZWrXExyyWsozYlAWFawPVNuD83igl7uJD2RTkNMbniIYgt8l81eCJGIdQF7avLQ==", + "devOptional": true, "engines": { "node": "^14.17.0 || ^16.13.0 || >=18.0.0" } @@ -25028,6 +25119,7 @@ "version": "3.0.1", "resolved": "https://registry.npmjs.org/which/-/which-3.0.1.tgz", "integrity": "sha512-XA1b62dzQzLfaEOSQFTCOd5KFf/1VSzZo7/7TUjnya6u0vGGKzU96UQBZTAThCb2j4/xjBAyii1OhRLJEivHvg==", + "devOptional": true, "dependencies": { "isexe": "^2.0.0" }, @@ -25199,6 +25291,7 @@ "version": "7.0.0", "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-7.0.0.tgz", "integrity": "sha512-YVGIj2kamLSTxw6NsZjoBxfSwsn0ycdesmc4p+Q21c5zPuZ1pl+NfxVdxPtdHvmNVOQ6XSYG4AUtyt/Fi7D16Q==", + "devOptional": true, "dependencies": { "ansi-styles": "^4.0.0", "string-width": "^4.1.0", diff --git a/package.json b/package.json index 0d40325f..bdf93c2d 100644 --- a/package.json +++ b/package.json @@ -2,7 +2,7 @@ "name": "@weaverse/pilot", "private": true, "sideEffects": false, - "version": "2.6.6", + "version": "2.6.8", "type": "module", "author": "Weaverse", "scripts": { @@ -30,7 +30,7 @@ "@shopify/cli-hydrogen": "^8.0.4", "@shopify/hydrogen": "2024.4.2", "@shopify/remix-oxygen": "^2.0.4", - "@weaverse/hydrogen": "3.1.7", + "@weaverse/hydrogen": "^3.1.9", "class-variance-authority": "^0.7.0", "clsx": "2.1.1", "cross-env": "7.0.3", @@ -82,4 +82,4 @@ "engines": { "node": ">=18.0.0" } -} \ No newline at end of file +} diff --git a/storefrontapi.generated.d.ts b/storefrontapi.generated.d.ts index 652d4d75..b98c041d 100644 --- a/storefrontapi.generated.d.ts +++ b/storefrontapi.generated.d.ts @@ -3,24 +3,6 @@ /* eslint-disable */ import type * as StorefrontAPI from '@shopify/hydrogen/storefront-api-types'; -export type OrderCardFragment = Pick< - StorefrontAPI.Order, - 'id' | 'orderNumber' | 'processedAt' | 'financialStatus' | 'fulfillmentStatus' -> & { - currentTotalPrice: Pick; - lineItems: { - edges: Array<{ - node: Pick & { - variant?: StorefrontAPI.Maybe<{ - image?: StorefrontAPI.Maybe< - Pick - >; - }>; - }; - }>; - }; -}; - type Media_ExternalVideo_Fragment = {__typename: 'ExternalVideo'} & Pick< StorefrontAPI.ExternalVideo, 'id' | 'embedUrl' | 'host' | 'mediaContentType' | 'alt' @@ -977,6 +959,24 @@ export type MetaObjectsQuery = { }; }; +export type OrderCardFragment = Pick< + StorefrontAPI.Order, + 'id' | 'orderNumber' | 'processedAt' | 'financialStatus' | 'fulfillmentStatus' +> & { + currentTotalPrice: Pick; + lineItems: { + edges: Array<{ + node: Pick & { + variant?: StorefrontAPI.Maybe<{ + image?: StorefrontAPI.Maybe< + Pick + >; + }>; + }; + }>; + }; +}; + export type LayoutQueryVariables = StorefrontAPI.Exact<{ language?: StorefrontAPI.InputMaybe; headerMenuHandle: StorefrontAPI.Scalars['String']['input'];