From e7aceae054a186358aea2d4c81fceac30c687af1 Mon Sep 17 00:00:00 2001 From: Aaron R Miller Date: Fri, 5 Nov 2021 20:54:45 +0000 Subject: [PATCH 1/3] add ui context provider --- .github/workflows/docker-image.yml | 12 +- apps/web/next.config.js | 2 +- ...w.js => fallback-RlqL-HDVaBxIVVgot6ScB.js} | 0 apps/web/public/middleware-manifest.json | 1 + apps/web/public/sw.js | 2 +- apps/web/src/components/views/home/Home.tsx | 4 +- apps/web/src/pages/_app.tsx | 5 +- libs/context/.eslintrc.json | 2 +- libs/context/README.md | 165 ++++++++- libs/context/jest.config.js | 11 +- libs/context/project.json | 17 +- libs/context/src/index.tsx | 251 ++++++++++++-- libs/context/src/lib/AuthContext.tsx | 6 +- libs/context/src/lib/mediaQueries.ts | 63 ++++ libs/context/tsconfig.json | 21 +- libs/context/tsconfig.lib.json | 8 +- libs/types/package.json | 2 +- libs/types/project.json | 2 +- libs/types/src/collections.d.ts | 2 +- libs/types/src/dna.d.ts | 2 +- libs/types/src/dnd.d.ts | 2 +- libs/types/src/dom.d.ts | 2 +- libs/types/src/events.d.ts | 2 +- libs/types/src/index.ts | 23 ++ libs/types/src/inputs.d.ts | 2 +- libs/types/src/labelable.d.ts | 2 +- libs/types/src/locale.d.ts | 2 +- libs/types/src/orientation.d.ts | 2 +- libs/types/src/provider.d.ts | 100 ++++++ libs/types/src/refs.d.ts | 2 +- libs/types/src/removable.d.ts | 2 +- libs/types/src/selection.d.ts | 2 +- libs/types/src/splitview.d.ts | 2 +- libs/types/src/style.d.ts | 2 +- libs/ui/layout/.babelrc | 12 + libs/ui/layout/.eslintrc.json | 21 ++ libs/ui/layout/README.md | 7 + libs/ui/layout/jest.config.js | 9 + libs/ui/layout/package.json | 4 + libs/ui/layout/project.json | 42 +++ libs/ui/layout/src/index.ts | 1 + libs/ui/layout/src/lib/UiLayout.module.css | 0 libs/ui/layout/src/lib/UiLayout.spec.tsx | 10 + libs/ui/layout/src/lib/UiLayout.tsx | 14 + libs/ui/layout/tsconfig.json | 23 ++ libs/ui/layout/tsconfig.lib.json | 13 + libs/ui/layout/tsconfig.spec.json | 9 + libs/utils/.babelrc | 11 +- libs/utils/src/index.ts | 10 + libs/utils/src/lib/BreakpointProvider.tsx | 89 +++++ libs/utils/src/lib/ResizeObserver.d.ts | 250 +++++++++++++ libs/utils/src/lib/Slots.tsx | 74 ++++ .../src/lib/getWrappedElement.tsx} | 29 +- libs/utils/src/lib/styleProps.ts | 328 ++++++++++++++++++ libs/utils/src/lib/useDOMRef.ts | 71 ++++ libs/utils/src/lib/useHasChild.ts | 22 ++ libs/utils/src/lib/useIsMobileDevice.ts | 24 ++ libs/utils/src/lib/useMediaQuery.ts | 43 +++ libs/utils/src/lib/useResizeObserver.ts | 13 + libs/utils/tsconfig.json | 8 +- libs/utils/tsconfig.lib.json | 2 +- package.json | 1 + tsconfig.base.json | 35 +- workspace.json | 1 + yarn.lock | 31 ++ 65 files changed, 1808 insertions(+), 124 deletions(-) rename apps/web/public/{fallback-nB3yKmN-_jl8U5PrfUJHw.js => fallback-RlqL-HDVaBxIVVgot6ScB.js} (100%) create mode 100644 apps/web/public/middleware-manifest.json create mode 100644 libs/context/src/lib/mediaQueries.ts create mode 100644 libs/types/src/index.ts create mode 100644 libs/types/src/provider.d.ts create mode 100644 libs/ui/layout/.babelrc create mode 100644 libs/ui/layout/.eslintrc.json create mode 100644 libs/ui/layout/README.md create mode 100644 libs/ui/layout/jest.config.js create mode 100644 libs/ui/layout/package.json create mode 100644 libs/ui/layout/project.json create mode 100644 libs/ui/layout/src/index.ts create mode 100644 libs/ui/layout/src/lib/UiLayout.module.css create mode 100644 libs/ui/layout/src/lib/UiLayout.spec.tsx create mode 100644 libs/ui/layout/src/lib/UiLayout.tsx create mode 100644 libs/ui/layout/tsconfig.json create mode 100644 libs/ui/layout/tsconfig.lib.json create mode 100644 libs/ui/layout/tsconfig.spec.json create mode 100644 libs/utils/src/lib/BreakpointProvider.tsx create mode 100644 libs/utils/src/lib/ResizeObserver.d.ts create mode 100644 libs/utils/src/lib/Slots.tsx rename libs/{types/src/index.d.ts => utils/src/lib/getWrappedElement.tsx} (58%) create mode 100644 libs/utils/src/lib/styleProps.ts create mode 100644 libs/utils/src/lib/useDOMRef.ts create mode 100644 libs/utils/src/lib/useHasChild.ts create mode 100644 libs/utils/src/lib/useIsMobileDevice.ts create mode 100644 libs/utils/src/lib/useMediaQuery.ts create mode 100644 libs/utils/src/lib/useResizeObserver.ts diff --git a/.github/workflows/docker-image.yml b/.github/workflows/docker-image.yml index 8529334..2544add 100644 --- a/.github/workflows/docker-image.yml +++ b/.github/workflows/docker-image.yml @@ -2,17 +2,15 @@ name: Docker Image CI on: push: - branches: [ main ] + branches: [main] pull_request: - branches: [ main ] + branches: [main] jobs: - build: - runs-on: ubuntu-latest steps: - - uses: actions/checkout@v2 - - name: Build the Docker image - run: docker build . --file Dockerfile --tag my-image-name:$(date +%s) + - uses: actions/checkout@v2 + - name: Build the Docker image + run: docker build . --file Dockerfile --tag my-image-name:$(date +%s) diff --git a/apps/web/next.config.js b/apps/web/next.config.js index 83b44c3..1d1967c 100644 --- a/apps/web/next.config.js +++ b/apps/web/next.config.js @@ -41,7 +41,7 @@ const nextConfig = { }, pwa: { dest: "public", - disable: process.env.ANALYZE === "true", + disable: process.env.NODE_ENV !== "production", register: true, scope: "/home" // sw: 'service-worker.js', diff --git a/apps/web/public/fallback-nB3yKmN-_jl8U5PrfUJHw.js b/apps/web/public/fallback-RlqL-HDVaBxIVVgot6ScB.js similarity index 100% rename from apps/web/public/fallback-nB3yKmN-_jl8U5PrfUJHw.js rename to apps/web/public/fallback-RlqL-HDVaBxIVVgot6ScB.js diff --git a/apps/web/public/middleware-manifest.json b/apps/web/public/middleware-manifest.json new file mode 100644 index 0000000..9e26dfe --- /dev/null +++ b/apps/web/public/middleware-manifest.json @@ -0,0 +1 @@ +{} \ No newline at end of file diff --git a/apps/web/public/sw.js b/apps/web/public/sw.js index e689c9d..bab39f6 100644 --- a/apps/web/public/sw.js +++ b/apps/web/public/sw.js @@ -1 +1 @@ -if(!self.define){let e,s={};const n=(n,r)=>(n=new URL(n+".js",r).href,s[n]||new Promise((s=>{if("document"in self){const e=document.createElement("script");e.src=n,e.onload=s,document.head.appendChild(e)}else e=n,importScripts(n),s()})).then((()=>{let e=s[n];if(!e)throw new Error(`Module ${n} didn’t register its module`);return e})));self.define=(r,t)=>{const i=e||("document"in self?document.currentScript.src:"")||location.href;if(s[i])return;let a={};const c=e=>n(e,i),l={module:{uri:i},exports:a,require:c};s[i]=Promise.all(r.map((e=>l[e]||c(e)))).then((e=>(t(...e),a)))}}define(["./workbox-2f9c3875"],(function(e){"use strict";importScripts("fallback-nB3yKmN-_jl8U5PrfUJHw.js"),self.skipWaiting(),e.clientsClaim(),e.precacheAndRoute([{url:"/_next/server/middleware-manifest.json",revision:"nB3yKmN-_jl8U5PrfUJHw"},{url:"/_next/static/chunks/519-4e6b7217c839abbd.js",revision:"nB3yKmN-_jl8U5PrfUJHw"},{url:"/_next/static/chunks/977-a5a87992bf4164fb.js",revision:"nB3yKmN-_jl8U5PrfUJHw"},{url:"/_next/static/chunks/framework-d5965b48a6d657aa.js",revision:"nB3yKmN-_jl8U5PrfUJHw"},{url:"/_next/static/chunks/main-dab669c5ee09d2e1.js",revision:"nB3yKmN-_jl8U5PrfUJHw"},{url:"/_next/static/chunks/pages/404-b234b3196b63d16e.js",revision:"nB3yKmN-_jl8U5PrfUJHw"},{url:"/_next/static/chunks/pages/_app-dff303e2ac8b57ab.js",revision:"nB3yKmN-_jl8U5PrfUJHw"},{url:"/_next/static/chunks/pages/_error-d20da8f9a50c916f.js",revision:"nB3yKmN-_jl8U5PrfUJHw"},{url:"/_next/static/chunks/pages/_offline-157ea23f9a7c77e8.js",revision:"nB3yKmN-_jl8U5PrfUJHw"},{url:"/_next/static/chunks/pages/about-434df85a815e1e7c.js",revision:"nB3yKmN-_jl8U5PrfUJHw"},{url:"/_next/static/chunks/pages/auth-e5b2819921fc034b.js",revision:"nB3yKmN-_jl8U5PrfUJHw"},{url:"/_next/static/chunks/pages/blog-5916fde108e00211.js",revision:"nB3yKmN-_jl8U5PrfUJHw"},{url:"/_next/static/chunks/pages/blog/%5B...slug%5D-f8c74a1904c52397.js",revision:"nB3yKmN-_jl8U5PrfUJHw"},{url:"/_next/static/chunks/pages/contact-8e7d78bc11ac8536.js",revision:"nB3yKmN-_jl8U5PrfUJHw"},{url:"/_next/static/chunks/pages/help-center-498e60f6a76df84b.js",revision:"nB3yKmN-_jl8U5PrfUJHw"},{url:"/_next/static/chunks/pages/home-e2cb524e2c23ed21.js",revision:"nB3yKmN-_jl8U5PrfUJHw"},{url:"/_next/static/chunks/pages/index-d8da07450be4ad6e.js",revision:"nB3yKmN-_jl8U5PrfUJHw"},{url:"/_next/static/chunks/pages/services-1f55f14a8ea97b81.js",revision:"nB3yKmN-_jl8U5PrfUJHw"},{url:"/_next/static/chunks/pages/services/analytics-15ec5dd52043dd2e.js",revision:"nB3yKmN-_jl8U5PrfUJHw"},{url:"/_next/static/chunks/pages/services/automation-9986594564b3e342.js",revision:"nB3yKmN-_jl8U5PrfUJHw"},{url:"/_next/static/chunks/pages/services/engagement-f952ac8c466d1b05.js",revision:"nB3yKmN-_jl8U5PrfUJHw"},{url:"/_next/static/chunks/pages/services/integrations-7134d0a319d2147a.js",revision:"nB3yKmN-_jl8U5PrfUJHw"},{url:"/_next/static/chunks/pages/services/security-d1d3bd395db9587b.js",revision:"nB3yKmN-_jl8U5PrfUJHw"},{url:"/_next/static/chunks/polyfills-a40ef1678bae11e696dba45124eadd70.js",revision:"nB3yKmN-_jl8U5PrfUJHw"},{url:"/_next/static/chunks/webpack-2b99834efceef160.js",revision:"nB3yKmN-_jl8U5PrfUJHw"},{url:"/_next/static/css/006cfb256d02ab57.css",revision:"nB3yKmN-_jl8U5PrfUJHw"},{url:"/_next/static/css/06888b6f65a967cd.css",revision:"nB3yKmN-_jl8U5PrfUJHw"},{url:"/_next/static/css/1a051a9fa57dc4f1.css",revision:"nB3yKmN-_jl8U5PrfUJHw"},{url:"/_next/static/css/372c2137320eb22c.css",revision:"nB3yKmN-_jl8U5PrfUJHw"},{url:"/_next/static/css/3966086bfbe10330.css",revision:"nB3yKmN-_jl8U5PrfUJHw"},{url:"/_next/static/css/4ed03e8d407b6d2e.css",revision:"nB3yKmN-_jl8U5PrfUJHw"},{url:"/_next/static/css/65a57733c675bf6f.css",revision:"nB3yKmN-_jl8U5PrfUJHw"},{url:"/_next/static/css/65c5c569c761c281.css",revision:"nB3yKmN-_jl8U5PrfUJHw"},{url:"/_next/static/css/afa6a9c88494ff18.css",revision:"nB3yKmN-_jl8U5PrfUJHw"},{url:"/_next/static/css/b74925965cbe0761.css",revision:"nB3yKmN-_jl8U5PrfUJHw"},{url:"/_next/static/css/bcde94002bc49f5b.css",revision:"nB3yKmN-_jl8U5PrfUJHw"},{url:"/_next/static/css/dbb4f6ad0185fa51.css",revision:"nB3yKmN-_jl8U5PrfUJHw"},{url:"/_next/static/nB3yKmN-_jl8U5PrfUJHw/_buildManifest.js",revision:"nB3yKmN-_jl8U5PrfUJHw"},{url:"/_next/static/nB3yKmN-_jl8U5PrfUJHw/_middlewareManifest.js",revision:"nB3yKmN-_jl8U5PrfUJHw"},{url:"/_next/static/nB3yKmN-_jl8U5PrfUJHw/_ssgManifest.js",revision:"nB3yKmN-_jl8U5PrfUJHw"},{url:"/_offline",revision:"nB3yKmN-_jl8U5PrfUJHw"}],{ignoreURLParametersMatching:[]}),e.cleanupOutdatedCaches(),e.registerRoute("/",new e.NetworkFirst({cacheName:"start-url",plugins:[{cacheWillUpdate:async({request:e,response:s,event:n,state:r})=>s&&"opaqueredirect"===s.type?new Response(s.body,{status:200,statusText:"OK",headers:s.headers}):s},{handlerDidError:async({request:e})=>self.fallback(e)}]}),"GET"),e.registerRoute(/^https:\/\/fonts\.(?:gstatic)\.com\/.*/i,new e.CacheFirst({cacheName:"google-fonts-webfonts",plugins:[new e.ExpirationPlugin({maxEntries:4,maxAgeSeconds:31536e3}),{handlerDidError:async({request:e})=>self.fallback(e)}]}),"GET"),e.registerRoute(/^https:\/\/fonts\.(?:googleapis)\.com\/.*/i,new e.StaleWhileRevalidate({cacheName:"google-fonts-stylesheets",plugins:[new e.ExpirationPlugin({maxEntries:4,maxAgeSeconds:604800}),{handlerDidError:async({request:e})=>self.fallback(e)}]}),"GET"),e.registerRoute(/\.(?:eot|otf|ttc|ttf|woff|woff2|font.css)$/i,new e.StaleWhileRevalidate({cacheName:"static-font-assets",plugins:[new e.ExpirationPlugin({maxEntries:4,maxAgeSeconds:604800}),{handlerDidError:async({request:e})=>self.fallback(e)}]}),"GET"),e.registerRoute(/\.(?:jpg|jpeg|gif|png|svg|ico|webp)$/i,new e.StaleWhileRevalidate({cacheName:"static-image-assets",plugins:[new e.ExpirationPlugin({maxEntries:64,maxAgeSeconds:86400}),{handlerDidError:async({request:e})=>self.fallback(e)}]}),"GET"),e.registerRoute(/\/_next\/image\?url=.+$/i,new e.StaleWhileRevalidate({cacheName:"next-image",plugins:[new e.ExpirationPlugin({maxEntries:64,maxAgeSeconds:86400}),{handlerDidError:async({request:e})=>self.fallback(e)}]}),"GET"),e.registerRoute(/\.(?:mp3|wav|ogg)$/i,new e.CacheFirst({cacheName:"static-audio-assets",plugins:[new e.RangeRequestsPlugin,new e.ExpirationPlugin({maxEntries:32,maxAgeSeconds:86400}),{handlerDidError:async({request:e})=>self.fallback(e)}]}),"GET"),e.registerRoute(/\.(?:mp4)$/i,new e.CacheFirst({cacheName:"static-video-assets",plugins:[new e.RangeRequestsPlugin,new e.ExpirationPlugin({maxEntries:32,maxAgeSeconds:86400}),{handlerDidError:async({request:e})=>self.fallback(e)}]}),"GET"),e.registerRoute(/\.(?:js)$/i,new e.StaleWhileRevalidate({cacheName:"static-js-assets",plugins:[new e.ExpirationPlugin({maxEntries:32,maxAgeSeconds:86400}),{handlerDidError:async({request:e})=>self.fallback(e)}]}),"GET"),e.registerRoute(/\.(?:css|less)$/i,new e.StaleWhileRevalidate({cacheName:"static-style-assets",plugins:[new e.ExpirationPlugin({maxEntries:32,maxAgeSeconds:86400}),{handlerDidError:async({request:e})=>self.fallback(e)}]}),"GET"),e.registerRoute(/\/_next\/data\/.+\/.+\.json$/i,new e.StaleWhileRevalidate({cacheName:"next-data",plugins:[new e.ExpirationPlugin({maxEntries:32,maxAgeSeconds:86400}),{handlerDidError:async({request:e})=>self.fallback(e)}]}),"GET"),e.registerRoute(/\.(?:json|xml|csv)$/i,new e.NetworkFirst({cacheName:"static-data-assets",plugins:[new e.ExpirationPlugin({maxEntries:32,maxAgeSeconds:86400}),{handlerDidError:async({request:e})=>self.fallback(e)}]}),"GET"),e.registerRoute((({url:e})=>{if(!(self.origin===e.origin))return!1;const s=e.pathname;return!s.startsWith("/api/auth/")&&!!s.startsWith("/api/")}),new e.NetworkFirst({cacheName:"apis",networkTimeoutSeconds:10,plugins:[new e.ExpirationPlugin({maxEntries:16,maxAgeSeconds:86400}),{handlerDidError:async({request:e})=>self.fallback(e)}]}),"GET"),e.registerRoute((({url:e})=>{if(!(self.origin===e.origin))return!1;return!e.pathname.startsWith("/api/")}),new e.NetworkFirst({cacheName:"others",networkTimeoutSeconds:10,plugins:[new e.ExpirationPlugin({maxEntries:32,maxAgeSeconds:86400}),{handlerDidError:async({request:e})=>self.fallback(e)}]}),"GET"),e.registerRoute((({url:e})=>!(self.origin===e.origin)),new e.NetworkFirst({cacheName:"cross-origin",networkTimeoutSeconds:10,plugins:[new e.ExpirationPlugin({maxEntries:32,maxAgeSeconds:3600}),{handlerDidError:async({request:e})=>self.fallback(e)}]}),"GET")})); +if(!self.define){let e,s={};const t=(t,a)=>(t=new URL(t+".js",a).href,s[t]||new Promise((s=>{if("document"in self){const e=document.createElement("script");e.src=t,e.onload=s,document.head.appendChild(e)}else e=t,importScripts(t),s()})).then((()=>{let e=s[t];if(!e)throw new Error(`Module ${t} didn’t register its module`);return e})));self.define=(a,n)=>{const c=e||("document"in self?document.currentScript.src:"")||location.href;if(s[c])return;let i={};const r=e=>t(e,c),o={module:{uri:c},exports:i,require:r};s[c]=Promise.all(a.map((e=>o[e]||r(e)))).then((e=>(n(...e),i)))}}define(["./workbox-2f9c3875"],(function(e){"use strict";importScripts("fallback-RlqL-HDVaBxIVVgot6ScB.js"),self.skipWaiting(),e.clientsClaim(),e.precacheAndRoute([{url:"/_next/server/middleware-manifest.json",revision:"RlqL-HDVaBxIVVgot6ScB"},{url:"/_next/static/RlqL-HDVaBxIVVgot6ScB/_buildManifest.js",revision:"RlqL-HDVaBxIVVgot6ScB"},{url:"/_next/static/RlqL-HDVaBxIVVgot6ScB/_middlewareManifest.js",revision:"RlqL-HDVaBxIVVgot6ScB"},{url:"/_next/static/RlqL-HDVaBxIVVgot6ScB/_ssgManifest.js",revision:"RlqL-HDVaBxIVVgot6ScB"},{url:"/_next/static/chunks/519-4e6b7217c839abbd.js",revision:"RlqL-HDVaBxIVVgot6ScB"},{url:"/_next/static/chunks/977-a5a87992bf4164fb.js",revision:"RlqL-HDVaBxIVVgot6ScB"},{url:"/_next/static/chunks/framework-d5965b48a6d657aa.js",revision:"RlqL-HDVaBxIVVgot6ScB"},{url:"/_next/static/chunks/main-dab669c5ee09d2e1.js",revision:"RlqL-HDVaBxIVVgot6ScB"},{url:"/_next/static/chunks/pages/404-b234b3196b63d16e.js",revision:"RlqL-HDVaBxIVVgot6ScB"},{url:"/_next/static/chunks/pages/_app-0cd8ff8d5fba0c96.js",revision:"RlqL-HDVaBxIVVgot6ScB"},{url:"/_next/static/chunks/pages/_error-d20da8f9a50c916f.js",revision:"RlqL-HDVaBxIVVgot6ScB"},{url:"/_next/static/chunks/pages/_offline-157ea23f9a7c77e8.js",revision:"RlqL-HDVaBxIVVgot6ScB"},{url:"/_next/static/chunks/pages/about-434df85a815e1e7c.js",revision:"RlqL-HDVaBxIVVgot6ScB"},{url:"/_next/static/chunks/pages/auth-8ad8c81f83ffe296.js",revision:"RlqL-HDVaBxIVVgot6ScB"},{url:"/_next/static/chunks/pages/blog-d5bdfe187bf038c2.js",revision:"RlqL-HDVaBxIVVgot6ScB"},{url:"/_next/static/chunks/pages/blog/%5B...slug%5D-cd7b6fad2c5b32de.js",revision:"RlqL-HDVaBxIVVgot6ScB"},{url:"/_next/static/chunks/pages/contact-8e7d78bc11ac8536.js",revision:"RlqL-HDVaBxIVVgot6ScB"},{url:"/_next/static/chunks/pages/help-center-498e60f6a76df84b.js",revision:"RlqL-HDVaBxIVVgot6ScB"},{url:"/_next/static/chunks/pages/home-d2f6963c9d69eb81.js",revision:"RlqL-HDVaBxIVVgot6ScB"},{url:"/_next/static/chunks/pages/index-d8da07450be4ad6e.js",revision:"RlqL-HDVaBxIVVgot6ScB"},{url:"/_next/static/chunks/pages/services-1f55f14a8ea97b81.js",revision:"RlqL-HDVaBxIVVgot6ScB"},{url:"/_next/static/chunks/pages/services/analytics-15ec5dd52043dd2e.js",revision:"RlqL-HDVaBxIVVgot6ScB"},{url:"/_next/static/chunks/pages/services/automation-9986594564b3e342.js",revision:"RlqL-HDVaBxIVVgot6ScB"},{url:"/_next/static/chunks/pages/services/engagement-f952ac8c466d1b05.js",revision:"RlqL-HDVaBxIVVgot6ScB"},{url:"/_next/static/chunks/pages/services/integrations-7134d0a319d2147a.js",revision:"RlqL-HDVaBxIVVgot6ScB"},{url:"/_next/static/chunks/pages/services/security-d1d3bd395db9587b.js",revision:"RlqL-HDVaBxIVVgot6ScB"},{url:"/_next/static/chunks/polyfills-a40ef1678bae11e696dba45124eadd70.js",revision:"RlqL-HDVaBxIVVgot6ScB"},{url:"/_next/static/chunks/webpack-2b99834efceef160.js",revision:"RlqL-HDVaBxIVVgot6ScB"},{url:"/_next/static/css/006cfb256d02ab57.css",revision:"RlqL-HDVaBxIVVgot6ScB"},{url:"/_next/static/css/06888b6f65a967cd.css",revision:"RlqL-HDVaBxIVVgot6ScB"},{url:"/_next/static/css/1a051a9fa57dc4f1.css",revision:"RlqL-HDVaBxIVVgot6ScB"},{url:"/_next/static/css/2ad360cce0193c22.css",revision:"RlqL-HDVaBxIVVgot6ScB"},{url:"/_next/static/css/372c2137320eb22c.css",revision:"RlqL-HDVaBxIVVgot6ScB"},{url:"/_next/static/css/3966086bfbe10330.css",revision:"RlqL-HDVaBxIVVgot6ScB"},{url:"/_next/static/css/4ed03e8d407b6d2e.css",revision:"RlqL-HDVaBxIVVgot6ScB"},{url:"/_next/static/css/65a57733c675bf6f.css",revision:"RlqL-HDVaBxIVVgot6ScB"},{url:"/_next/static/css/65c5c569c761c281.css",revision:"RlqL-HDVaBxIVVgot6ScB"},{url:"/_next/static/css/afa6a9c88494ff18.css",revision:"RlqL-HDVaBxIVVgot6ScB"},{url:"/_next/static/css/bcde94002bc49f5b.css",revision:"RlqL-HDVaBxIVVgot6ScB"},{url:"/_next/static/css/dbb4f6ad0185fa51.css",revision:"RlqL-HDVaBxIVVgot6ScB"},{url:"/_offline",revision:"RlqL-HDVaBxIVVgot6ScB"}],{ignoreURLParametersMatching:[]}),e.cleanupOutdatedCaches(),e.registerRoute("/",new e.NetworkFirst({cacheName:"start-url",plugins:[{cacheWillUpdate:async({request:e,response:s,event:t,state:a})=>s&&"opaqueredirect"===s.type?new Response(s.body,{status:200,statusText:"OK",headers:s.headers}):s},{handlerDidError:async({request:e})=>self.fallback(e)}]}),"GET"),e.registerRoute(/^https:\/\/fonts\.(?:gstatic)\.com\/.*/i,new e.CacheFirst({cacheName:"google-fonts-webfonts",plugins:[new e.ExpirationPlugin({maxEntries:4,maxAgeSeconds:31536e3}),{handlerDidError:async({request:e})=>self.fallback(e)}]}),"GET"),e.registerRoute(/^https:\/\/fonts\.(?:googleapis)\.com\/.*/i,new e.StaleWhileRevalidate({cacheName:"google-fonts-stylesheets",plugins:[new e.ExpirationPlugin({maxEntries:4,maxAgeSeconds:604800}),{handlerDidError:async({request:e})=>self.fallback(e)}]}),"GET"),e.registerRoute(/\.(?:eot|otf|ttc|ttf|woff|woff2|font.css)$/i,new e.StaleWhileRevalidate({cacheName:"static-font-assets",plugins:[new e.ExpirationPlugin({maxEntries:4,maxAgeSeconds:604800}),{handlerDidError:async({request:e})=>self.fallback(e)}]}),"GET"),e.registerRoute(/\.(?:jpg|jpeg|gif|png|svg|ico|webp)$/i,new e.StaleWhileRevalidate({cacheName:"static-image-assets",plugins:[new e.ExpirationPlugin({maxEntries:64,maxAgeSeconds:86400}),{handlerDidError:async({request:e})=>self.fallback(e)}]}),"GET"),e.registerRoute(/\/_next\/image\?url=.+$/i,new e.StaleWhileRevalidate({cacheName:"next-image",plugins:[new e.ExpirationPlugin({maxEntries:64,maxAgeSeconds:86400}),{handlerDidError:async({request:e})=>self.fallback(e)}]}),"GET"),e.registerRoute(/\.(?:mp3|wav|ogg)$/i,new e.CacheFirst({cacheName:"static-audio-assets",plugins:[new e.RangeRequestsPlugin,new e.ExpirationPlugin({maxEntries:32,maxAgeSeconds:86400}),{handlerDidError:async({request:e})=>self.fallback(e)}]}),"GET"),e.registerRoute(/\.(?:mp4)$/i,new e.CacheFirst({cacheName:"static-video-assets",plugins:[new e.RangeRequestsPlugin,new e.ExpirationPlugin({maxEntries:32,maxAgeSeconds:86400}),{handlerDidError:async({request:e})=>self.fallback(e)}]}),"GET"),e.registerRoute(/\.(?:js)$/i,new e.StaleWhileRevalidate({cacheName:"static-js-assets",plugins:[new e.ExpirationPlugin({maxEntries:32,maxAgeSeconds:86400}),{handlerDidError:async({request:e})=>self.fallback(e)}]}),"GET"),e.registerRoute(/\.(?:css|less)$/i,new e.StaleWhileRevalidate({cacheName:"static-style-assets",plugins:[new e.ExpirationPlugin({maxEntries:32,maxAgeSeconds:86400}),{handlerDidError:async({request:e})=>self.fallback(e)}]}),"GET"),e.registerRoute(/\/_next\/data\/.+\/.+\.json$/i,new e.StaleWhileRevalidate({cacheName:"next-data",plugins:[new e.ExpirationPlugin({maxEntries:32,maxAgeSeconds:86400}),{handlerDidError:async({request:e})=>self.fallback(e)}]}),"GET"),e.registerRoute(/\.(?:json|xml|csv)$/i,new e.NetworkFirst({cacheName:"static-data-assets",plugins:[new e.ExpirationPlugin({maxEntries:32,maxAgeSeconds:86400}),{handlerDidError:async({request:e})=>self.fallback(e)}]}),"GET"),e.registerRoute((({url:e})=>{if(!(self.origin===e.origin))return!1;const s=e.pathname;return!s.startsWith("/api/auth/")&&!!s.startsWith("/api/")}),new e.NetworkFirst({cacheName:"apis",networkTimeoutSeconds:10,plugins:[new e.ExpirationPlugin({maxEntries:16,maxAgeSeconds:86400}),{handlerDidError:async({request:e})=>self.fallback(e)}]}),"GET"),e.registerRoute((({url:e})=>{if(!(self.origin===e.origin))return!1;return!e.pathname.startsWith("/api/")}),new e.NetworkFirst({cacheName:"others",networkTimeoutSeconds:10,plugins:[new e.ExpirationPlugin({maxEntries:32,maxAgeSeconds:86400}),{handlerDidError:async({request:e})=>self.fallback(e)}]}),"GET"),e.registerRoute((({url:e})=>!(self.origin===e.origin)),new e.NetworkFirst({cacheName:"cross-origin",networkTimeoutSeconds:10,plugins:[new e.ExpirationPlugin({maxEntries:32,maxAgeSeconds:3600}),{handlerDidError:async({request:e})=>self.fallback(e)}]}),"GET")})); diff --git a/apps/web/src/components/views/home/Home.tsx b/apps/web/src/components/views/home/Home.tsx index 363e9f0..d247fe6 100644 --- a/apps/web/src/components/views/home/Home.tsx +++ b/apps/web/src/components/views/home/Home.tsx @@ -32,8 +32,8 @@ export default function Home() { - - + {/* + */} ) diff --git a/apps/web/src/pages/_app.tsx b/apps/web/src/pages/_app.tsx index 4f57a4f..a09c6a9 100644 --- a/apps/web/src/pages/_app.tsx +++ b/apps/web/src/pages/_app.tsx @@ -1,9 +1,10 @@ import * as React from "react" import { AppProps } from "next/app" -import { ContextProvider } from "@watheia/context" +import ContextProvider from "@watheia/context" import Head from "next/head" import "../styles/global.css" import Layout from "../components/layout" +import { darkTheme } from "@watheia/theme" export default function MyApp(props: AppProps) { const { Component, pageProps } = props @@ -15,7 +16,7 @@ export default function MyApp(props: AppProps) { content="minimum-scale=1, initial-scale=1, width=device-width, shrink-to-fit=no, user-scalable=no, viewport-fit=cover" /> - + diff --git a/libs/context/.eslintrc.json b/libs/context/.eslintrc.json index c910409..cde05bb 100644 --- a/libs/context/.eslintrc.json +++ b/libs/context/.eslintrc.json @@ -1,5 +1,5 @@ { - "extends": ["../../.eslintrc.json"], + "extends": ["plugin:@nrwl/nx/react", "../../../.eslintrc.json"], "ignorePatterns": ["!**/*"], "overrides": [ { diff --git a/libs/context/README.md b/libs/context/README.md index 775e6b5..f51e8dd 100644 --- a/libs/context/README.md +++ b/libs/context/README.md @@ -1,7 +1,170 @@ -# context +# @watheia/context This library was generated with [Nx](https://nx.dev). ## Running unit tests Run `nx test context` to execute the unit tests via [Jest](https://jestjs.io). + +## ContextProvider + +import {Layout} from '@react-spectrum/docs'; +export default Layout; + +import docs from 'docs:@react-spectrum/provider'; +import {HeaderInfo, PropTable} from '@react-spectrum/docs'; +import packageData from '@react-spectrum/provider/package.json'; + +```jsx import +import { Checkbox } from "@react-spectrum/checkbox" +import { Form } from "@react-spectrum/form" +import { TextField } from "@react-spectrum/textfield" +import { Flex } from "@react-spectrum/layout" +import { Picker, Item } from "@react-spectrum/picker" +import { ActionButton } from "@react-spectrum/button" +import { RadioGroup, Radio } from "@react-spectrum/radio" +import { View } from "@react-spectrum/view" +``` + +--- + +category: Application +keywords: [theme, locale, application, colorstop] + +--- + +# Provider + +

{docs.exports.Provider.description}

+ + + +## Example + +```tsx example +import { Provider } from "@react-spectrum/provider" +import { theme } from "@react-spectrum/theme-default" +import { Button } from "@react-spectrum/button" + +function App() { + return ( + + + + ) +} +``` + +## Application provider + +A Provider must be the root component of your application. All other React Spectrum components rely on the Provider to define the theme, locale, and other settings that they need in order to render. + +### Themes + +In order to provide the styling attributes that components need to render, you must pass a theme as a prop to the root provider in your application. Themes consist of a light and dark color scheme, along with medium and large platform scales. By default, React Spectrum will select the color scheme according to the user’s operating system setting, and the scale according to the device type (e.g. touch vs mouse input). To read more details about how theming works in React Spectrum, see the [theming docs](theming.html). + +### Color Schemes + +We recommend supporting both light and dark color schemes in your app, however, if you need to override this with an application specific setting, you can use the `colorScheme` prop. + +```tsx example + + I'm a light button + +``` + +See the [styling docs](styling.html) for more information about using Spectrum color variables in your app to ensure it adapts to light and dark mode properly. + +### Locales + +Another important setting for your application is the locale. By default, React Spectrum chooses the locale matching the user’s browser/operating system language, but this can be overridden with the locale prop if you have an application specific setting. This prop accepts a [BCP 47](https://www.ietf.org/rfc/bcp/bcp47.txt) language code. A list of supported locales is available [here](https://react-spectrum.adobe.com/react-aria/internationalization.html#supported-locales). + +```tsx + + + +``` + +To access the current locale anywhere in your application, see the [useLocale](https://react-spectrum.adobe.com/react-aria/useLocale.html) hook. + +### Breakpoints + +The Provider component can also be used to set the responsive breakpoints for your application, which are used by [layout components](layout.html#responsive-layout) and [style props](styling.html#responsive-styles) of all components within the Provider. By default, React Spectrum provides 5 breakpoints, which correspond to common device resolutions: + +- S – 640px +- M - 768px +- L – 1024px +- XL - 1280px +- XXL - 1536px + +These breakpoints can be overridden by passing the `breakpoints` prop to the `Provider` component. Any components within the Provider will consume these breakpoints and apply their style props accordingly. By default, React Spectrum uses t-shirt style names for breakpoints, but you can name custom breakpoints however you like. + +This example specifies two breakpoints: `tablet` and `desktop`. It displays a [View](View.html) that changes color depending on which breakpoint is matched: green by default, blue at the `tablet` breakpoint, and magenta at the `desktop` breakpoint. See the docs for [style props](styling.html#responsive-styles) for more details. + +```tsx example + + + +``` + +## Property groups + +Provider can also be used to define common properties for a group of components within it. For example, a group of components could be disabled together rather than individually by setting the `isDisabled` prop on any parent provider. + +```tsx example + + + + Dogs + Cats + Horses + + I agree + + + +``` + +The provider supports many other properties is used in this way: `isQuiet`, `isEmphasized`, `isDisabled`, `isRequired`, `isReadOnly`, and `validationState`. These will apply to any child components that support them. + +Property groups can also be nested. For example, a group of components could be made quiet or emphasized, with a sub-group that is also disabled. The inner-most provider will override outer ones, as will corresponding props on the components themselves. + +The following example shows a registration form, which disables a picker and submit button until an email address is entered. All elements within the form use a quiet style, except the submit button, which overrides the provider setting using a prop. + +```tsx example +function Register() { + let [email, setEmail] = React.useState("") + + return ( + + + + + + Magenta + Indigo + Chartreuse + + + + + + ) +} +``` + +## Props + + diff --git a/libs/context/jest.config.js b/libs/context/jest.config.js index eab1c1f..71ad072 100644 --- a/libs/context/jest.config.js +++ b/libs/context/jest.config.js @@ -1,14 +1,9 @@ module.exports = { - displayName: "context", + displayName: "ui-layout", preset: "../../jest.preset.js", - globals: { - "ts-jest": { - tsconfig: "/tsconfig.spec.json" - } - }, transform: { - "^.+\\.[tj]sx?$": "ts-jest" + "^.+\\.[tj]sx?$": "babel-jest" }, moduleFileExtensions: ["ts", "tsx", "js", "jsx"], - coverageDirectory: "../../coverage/libs/context" + coverageDirectory: "../../coverage/libs/ui/layout" } diff --git a/libs/context/project.json b/libs/context/project.json index d9ea0b4..39d1a1a 100644 --- a/libs/context/project.json +++ b/libs/context/project.json @@ -4,20 +4,29 @@ "projectType": "library", "targets": { "build": { - "executor": "@nrwl/workspace:tsc", + "executor": "@nrwl/web:package", "outputs": ["{options.outputPath}"], "options": { "outputPath": "dist/libs/context", - "main": "libs/context/src/index.ts", "tsConfig": "libs/context/tsconfig.lib.json", - "assets": ["libs/context/*.md"] + "project": "libs/context/package.json", + "entryFile": "libs/context/src/index.tsx", + "external": ["react/jsx-runtime"], + "rollupConfig": "@nrwl/react/plugins/bundle-rollup", + "assets": [ + { + "glob": "libs/context/README.md", + "input": ".", + "output": "." + } + ] } }, "lint": { "executor": "@nrwl/linter:eslint", "outputs": ["{options.outputFile}"], "options": { - "lintFilePatterns": ["libs/context/**/*.ts"] + "lintFilePatterns": ["libs/context/**/*.{ts,tsx,js,jsx}"] } }, "test": { diff --git a/libs/context/src/index.tsx b/libs/context/src/index.tsx index e141793..63b32ef 100644 --- a/libs/context/src/index.tsx +++ b/libs/context/src/index.tsx @@ -1,31 +1,238 @@ -import React, { HtmlHTMLAttributes } from "react" +/* eslint-disable @typescript-eslint/no-non-null-assertion */ +import React, { useContext, useEffect, useRef } from "react" import Head from "next/head" import NavContext from "./lib/NavigationContext" import AuthContext from "./lib/AuthContext" import { DefaultSeo } from "next-seo" import seo from "./lib/default-seo" - +import { + BreakpointProvider, + useDOMRef, + useMatchedBreakpoints, + useStyleProps +} from "@watheia/utils" +import clsx from "clsx" +import { DOMRef } from "@react-types/shared" +import { filterDOMProps } from "@react-aria/utils" +import { I18nProvider, useLocale } from "@react-aria/i18n" +import { ModalProvider, useModalProvider } from "@react-aria/overlays" +import { ProviderContext, ProviderProps } from "@watheia/types" +// import styles from "@adobe/spectrum-css-temp/components/page/vars.css" +import typographyStyles from "@watheia/theme.styles.typography/vars.module.css" +import { useColorScheme, useScale } from "./lib/mediaQueries" +// import { version } from "../package.json" +const version = "0.1.0" export * from "./lib/constants" -export * from "./lib/supabaseClient" -export * from "./lib/AuthContext" +// export * from "./lib/supabaseClient" +// export * from "./lib/AuthContext" + +const Context = React.createContext(null) +Context.displayName = "ProviderContext" + +const DEFAULT_BREAKPOINTS = { S: 640, M: 768, L: 1024, XL: 1280, XXL: 1536 } + +function Provider(props: ProviderProps, ref: DOMRef) { + const prevContext = useProvider() + const prevColorScheme = prevContext && prevContext.colorScheme + const prevBreakpoints = prevContext && prevContext.breakpoints + const { theme = prevContext && prevContext.theme, defaultColorScheme } = props + // Hooks must always be called. + const autoColorScheme = useColorScheme(theme, defaultColorScheme) + const autoScale = useScale(theme) + const { locale: prevLocale } = useLocale() + // if the new theme doesn't support the prevColorScheme, we must resort to the auto + const usePrevColorScheme = !!theme[prevColorScheme] + + // importance of color scheme props > parent > auto:(OS > default > omitted) + const { + colorScheme = usePrevColorScheme ? prevColorScheme : autoColorScheme, + scale = prevContext ? prevContext.scale : autoScale, + locale = prevContext ? prevLocale : null, + breakpoints = prevContext ? prevBreakpoints : DEFAULT_BREAKPOINTS, + children, + isQuiet, + isEmphasized, + isDisabled, + isRequired, + isReadOnly, + validationState, + ...otherProps + } = props + + // select only the props with values so undefined props don't overwrite prevContext values + const currentProps = { + version, + theme, + breakpoints, + colorScheme, + scale, + isQuiet, + isEmphasized, + isDisabled, + isRequired, + isReadOnly, + validationState + } + + const matchedBreakpoints = useMatchedBreakpoints(breakpoints) + const filteredProps: Record = {} + Object.entries(currentProps).forEach( + ([key, value]) => value !== undefined && (filteredProps[key] = value) + ) + + // Merge options with parent provider + const context = Object.assign({}, prevContext, filteredProps) + + // Only wrap in a DOM node if the theme, colorScheme, or scale changed + let contents = children + const domProps = filterDOMProps(otherProps) + const { styleProps } = useStyleProps>(otherProps, undefined, { + matchedBreakpoints + }) + if ( + !prevContext || + props.locale || + theme !== prevContext.theme || + colorScheme !== prevContext.colorScheme || + scale !== prevContext.scale || + Object.keys(domProps).length > 0 || + otherProps.UNSAFE_className || + Object.keys(styleProps.style ?? {}).length > 0 + ) { + contents = ( + + {contents} + + ) + } + + return ( + <> + + + + + + + + + {contents} + + + + + + + ) +} -type ContextProviderProps = { - children: React.ReactNode | React.ReactNode[] | null +/** + * Provider is the container for all React Spectrum applications. + * It defines the theme, locale, and other application level settings, + * and can also be used to provide common properties to a group of components. + */ +const _Provider = React.forwardRef(Provider) +export { _Provider as Provider } + +const ProviderWrapper = React.forwardRef(function ProviderWrapper( + props: ProviderProps, + ref: DOMRef +) { + const { children, ...otherProps } = props + const { locale, direction } = useLocale() + const { theme, colorScheme, scale } = useProvider() + const { modalProviderProps } = useModalProvider() + const { styleProps } = useStyleProps(otherProps) + const domRef = useDOMRef(ref) + + const themeKey = Object.keys(theme[colorScheme] ?? {})[0] + const scaleKey = Object.keys(theme[scale] ?? {})[0] + + const className = clsx( + styleProps.className, + // styles["spectrum"], + typographyStyles.wa, + // eslint-disable-next-line @typescript-eslint/ban-ts-comment + // @ts-ignore + theme[colorScheme][themeKey], + // eslint-disable-next-line @typescript-eslint/ban-ts-comment + // @ts-ignore + theme[scale][scaleKey], + theme.global ? Object.values(theme.global) : null + ) + + const style = { + ...styleProps.style, + // This ensures that browser native UI like scrollbars are rendered in the right color scheme. + // See https://web.dev/color-scheme/. + colorScheme: + props.colorScheme ?? + colorScheme ?? + Object.keys(theme) + .filter((k) => k === "light" || k === "dark") + .join(" ") + } + + const hasWarned = useRef(false) + useEffect(() => { + if (direction && domRef.current) { + const closestDir = domRef?.current?.parentElement?.closest("[dir]") + const dir = closestDir && closestDir.getAttribute("dir") + if (dir && dir !== direction && !hasWarned.current) { + console.warn(`Language directions cannot be nested. ${direction} inside ${dir}.`) + hasWarned.current = true + } + } + }, [direction, domRef, hasWarned]) + + return ( +
+ {children} +
+ ) +}) + +export function useProvider(): ProviderContext { + return useContext(Context) as ProviderContext } -export const ContextProvider = ({ children }: ContextProviderProps) => ( - <> - - - - - - {children} - - -) - -export default ContextProvider +export function useProviderProps(props: T): T { + const context = useProvider() + if (!context) { + return props + } + return Object.assign( + {}, + { + isQuiet: context.isQuiet, + isEmphasized: context.isEmphasized, + isDisabled: context.isDisabled, + isRequired: context.isRequired, + isReadOnly: context.isReadOnly, + validationState: context.validationState + }, + props + ) +} + +export * from "./lib/AuthContext" +export * from "./lib/supabaseClient" +export * from "./lib/constants" + +export default _Provider diff --git a/libs/context/src/lib/AuthContext.tsx b/libs/context/src/lib/AuthContext.tsx index 7746dcd..d2d534d 100644 --- a/libs/context/src/lib/AuthContext.tsx +++ b/libs/context/src/lib/AuthContext.tsx @@ -53,7 +53,7 @@ const AuthContextProvider = ({ children }: { children: ReactNode }) => { const [userRoles, setUserRoles] = useState([]) useEffect(() => { - // console.log("AuthContext(user)", user) + console.log("AuthContext(user)", user) const session = supabase.auth.session() setSession(session) setUser(session?.user ?? null) @@ -65,13 +65,13 @@ const AuthContextProvider = ({ children }: { children: ReactNode }) => { const { data: authListener } = supabase.auth.onAuthStateChange( async (event, session) => { - console.info("Auth State Changed:", event) + // console.info("Auth State Changed:", event) setSession(session) const currentUser = session?.user setUser(currentUser ?? null) setUserLoaded(!!currentUser) if (currentUser) { - // console.log("currentUser", currentUser) + // console.log("User Loaded:", currentUser) signIn(currentUser.id, currentUser.email) // router.push("/channels/[id]", "/channels/1") } diff --git a/libs/context/src/lib/mediaQueries.ts b/libs/context/src/lib/mediaQueries.ts new file mode 100644 index 0000000..03c452f --- /dev/null +++ b/libs/context/src/lib/mediaQueries.ts @@ -0,0 +1,63 @@ +/* + * Watheia Labs, LLC. All rights reserved. + * This file is licensed to you under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. You may obtain a copy + * of the License at http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software distributed under + * the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR REPRESENTATIONS + * OF ANY KIND, either express or implied. See the License for the specific language + * governing permissions and limitations under the License. + */ + +import { ColorScheme, Scale, Theme } from "@watheia/types" +import { useMediaQuery } from "@react-spectrum/utils" + +export function useColorScheme( + theme: Theme, + defaultColorScheme: ColorScheme | undefined +): ColorScheme { + let matchesDark = useMediaQuery("(prefers-color-scheme: dark)") + let matchesLight = useMediaQuery("(prefers-color-scheme: light)") + + // importance OS > default > omitted + + if (theme.dark && matchesDark) { + return "dark" + } + + if (theme.light && matchesLight) { + return "light" + } + + if (theme.dark && defaultColorScheme === "dark") { + return "dark" + } + + if (theme.light && defaultColorScheme === "light") { + return "light" + } + + if (!theme.dark) { + return "light" + } + + if (!theme.light) { + return "dark" + } + + return "light" +} + +export function useScale(theme: Theme): Scale { + let matchesFine = useMediaQuery("(any-pointer: fine)") + if (matchesFine && theme.medium) { + return "medium" + } + + if (theme.large) { + return "large" + } + + return "medium" +} diff --git a/libs/context/tsconfig.json b/libs/context/tsconfig.json index cca4719..3230750 100644 --- a/libs/context/tsconfig.json +++ b/libs/context/tsconfig.json @@ -1,5 +1,15 @@ { "extends": "../../tsconfig.base.json", + "compilerOptions": { + "jsx": "react-jsx", + "allowJs": true, + "esModuleInterop": true, + "allowSyntheticDefaultImports": true, + "forceConsistentCasingInFileNames": true, + "strict": true, + "noImplicitReturns": true, + "noFallthroughCasesInSwitch": true + }, "files": [], "include": [], "references": [ @@ -9,14 +19,5 @@ { "path": "./tsconfig.spec.json" } - ], - "compilerOptions": { - "forceConsistentCasingInFileNames": true, - "strict": true, - "noImplicitReturns": true, - "noFallthroughCasesInSwitch": true, - "jsx": "preserve", - "esModuleInterop": true, - "allowSyntheticDefaultImports": true - } + ] } diff --git a/libs/context/tsconfig.lib.json b/libs/context/tsconfig.lib.json index 4209c40..56b9785 100644 --- a/libs/context/tsconfig.lib.json +++ b/libs/context/tsconfig.lib.json @@ -5,6 +5,10 @@ "declaration": true, "types": ["node"] }, - "include": ["**/*.ts", "**/*.tsx"], - "exclude": ["**/*.spec.ts", "**/*.spec.tsx"] + "files": [ + "../../node_modules/@nrwl/react/typings/cssmodule.d.ts", + "../../node_modules/@nrwl/react/typings/image.d.ts" + ], + "exclude": ["**/*.spec.ts", "**/*.spec.tsx"], + "include": ["**/*.js", "**/*.jsx", "**/*.ts", "**/*.tsx"] } diff --git a/libs/types/package.json b/libs/types/package.json index da4154a..fd70c3d 100644 --- a/libs/types/package.json +++ b/libs/types/package.json @@ -1,5 +1,5 @@ { "name": "@watheia/types", "version": "0.0.1", - "types": "src/index.d.ts" + "types": "src/index.ts" } diff --git a/libs/types/project.json b/libs/types/project.json index 0001294..8bf0bfe 100644 --- a/libs/types/project.json +++ b/libs/types/project.json @@ -8,7 +8,7 @@ "outputs": ["{options.outputPath}"], "options": { "outputPath": "dist/libs/types", - "main": "libs/types/src/index.d.ts", + "main": "libs/types/src/index.ts", "tsConfig": "libs/types/tsconfig.lib.json", "assets": ["libs/types/*.md"] } diff --git a/libs/types/src/collections.d.ts b/libs/types/src/collections.d.ts index 00da4a4..8765e17 100644 --- a/libs/types/src/collections.d.ts +++ b/libs/types/src/collections.d.ts @@ -1,5 +1,5 @@ /* - * Copyright 2020 Adobe. All rights reserved. + * Watheia Labs, LLC. All rights reserved. * This file is licensed to you under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. You may obtain a copy * of the License at http://www.apache.org/licenses/LICENSE-2.0 diff --git a/libs/types/src/dna.d.ts b/libs/types/src/dna.d.ts index 8f50583..39cabf1 100644 --- a/libs/types/src/dna.d.ts +++ b/libs/types/src/dna.d.ts @@ -1,5 +1,5 @@ /* - * Copyright 2020 Adobe. All rights reserved. + * Watheia Labs, LLC. All rights reserved. * This file is licensed to you under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. You may obtain a copy * of the License at http://www.apache.org/licenses/LICENSE-2.0 diff --git a/libs/types/src/dnd.d.ts b/libs/types/src/dnd.d.ts index ff5d5f9..08d915c 100644 --- a/libs/types/src/dnd.d.ts +++ b/libs/types/src/dnd.d.ts @@ -1,5 +1,5 @@ /* - * Copyright 2020 Adobe. All rights reserved. + * Watheia Labs, LLC. All rights reserved. * This file is licensed to you under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. You may obtain a copy * of the License at http://www.apache.org/licenses/LICENSE-2.0 diff --git a/libs/types/src/dom.d.ts b/libs/types/src/dom.d.ts index e1e56b4..0a73a86 100644 --- a/libs/types/src/dom.d.ts +++ b/libs/types/src/dom.d.ts @@ -1,5 +1,5 @@ /* - * Copyright 2020 Adobe. All rights reserved. + * Watheia Labs, LLC. All rights reserved. * This file is licensed to you under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. You may obtain a copy * of the License at http://www.apache.org/licenses/LICENSE-2.0 diff --git a/libs/types/src/events.d.ts b/libs/types/src/events.d.ts index 2c866ad..2badcba 100644 --- a/libs/types/src/events.d.ts +++ b/libs/types/src/events.d.ts @@ -1,5 +1,5 @@ /* - * Copyright 2020 Adobe. All rights reserved. + * Watheia Labs, LLC. All rights reserved. * This file is licensed to you under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. You may obtain a copy * of the License at http://www.apache.org/licenses/LICENSE-2.0 diff --git a/libs/types/src/index.ts b/libs/types/src/index.ts new file mode 100644 index 0000000..c39fb12 --- /dev/null +++ b/libs/types/src/index.ts @@ -0,0 +1,23 @@ +export * from "./collections" +export * from "./dna" +export * from "./dnd" +export * from "./dom" +export * from "./events" +export * from "./inputs" +export * from "./labelable" +export * from "./locale" +export * from "./orientation" +export type { + ColorScheme, + Scale, + Breakpoints, + CSSModule, + Theme, + ProviderContext, + ProviderProps +} from "./provider" +export * from "./refs" +export * from "./removable" +export * from "./selection" +export * from "./splitview" +export * from "./style" diff --git a/libs/types/src/inputs.d.ts b/libs/types/src/inputs.d.ts index 17fcf3e..3a9ff5d 100644 --- a/libs/types/src/inputs.d.ts +++ b/libs/types/src/inputs.d.ts @@ -1,5 +1,5 @@ /* - * Copyright 2020 Adobe. All rights reserved. + * Watheia Labs, LLC. All rights reserved. * This file is licensed to you under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. You may obtain a copy * of the License at http://www.apache.org/licenses/LICENSE-2.0 diff --git a/libs/types/src/labelable.d.ts b/libs/types/src/labelable.d.ts index 465caa3..8a3b9fb 100644 --- a/libs/types/src/labelable.d.ts +++ b/libs/types/src/labelable.d.ts @@ -1,5 +1,5 @@ /* - * Copyright 2020 Adobe. All rights reserved. + * Watheia Labs, LLC. All rights reserved. * This file is licensed to you under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. You may obtain a copy * of the License at http://www.apache.org/licenses/LICENSE-2.0 diff --git a/libs/types/src/locale.d.ts b/libs/types/src/locale.d.ts index 580336f..e7191a8 100644 --- a/libs/types/src/locale.d.ts +++ b/libs/types/src/locale.d.ts @@ -1,5 +1,5 @@ /* - * Copyright 2020 Adobe. All rights reserved. + * Watheia Labs, LLC. All rights reserved. * This file is licensed to you under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. You may obtain a copy * of the License at http://www.apache.org/licenses/LICENSE-2.0 diff --git a/libs/types/src/orientation.d.ts b/libs/types/src/orientation.d.ts index 8aab0a4..018d303 100644 --- a/libs/types/src/orientation.d.ts +++ b/libs/types/src/orientation.d.ts @@ -1,5 +1,5 @@ /* - * Copyright 2020 Adobe. All rights reserved. + * Watheia Labs, LLC. All rights reserved. * This file is licensed to you under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. You may obtain a copy * of the License at http://www.apache.org/licenses/LICENSE-2.0 diff --git a/libs/types/src/provider.d.ts b/libs/types/src/provider.d.ts new file mode 100644 index 0000000..b644fd0 --- /dev/null +++ b/libs/types/src/provider.d.ts @@ -0,0 +1,100 @@ +/* + * Watheia Labs, LLC. All rights reserved. + * This file is licensed to you under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. You may obtain a copy + * of the License at http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software distributed under + * the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR REPRESENTATIONS + * OF ANY KIND, either express or implied. See the License for the specific language + * governing permissions and limitations under the License. + */ + +import { DOMProps, StyleProps, ValidationState } from "." +import { ReactNode } from "react" + +export type ColorScheme = "light" | "dark" +export type Scale = "medium" | "large" +export interface Breakpoints { + S?: number + M?: number + L?: number + // Currently, it only deals with pixels, but we need to fix it to accept em or rem as well. + [custom: string]: number | undefined +} + +export type CSSModule = { + [className: string]: string +} + +/** A theme object defines CSS variables for a theme, across multiple color schemes and scales. */ +export interface Theme { + /** CSS module defining the global variables, which do not change between color schemes/scales. */ + global?: CSSModule + /** CSS module defining the variables for the light color scheme. */ + light?: CSSModule + /** CSS module defining the variables for the dark color scheme. */ + dark?: CSSModule + /** CSS module defining the variables for the medium scale. */ + medium?: CSSModule + /** CSS module defining the variables for the large scale. */ + large?: CSSModule +} + +interface ContextProps { + /** Whether descendants should be displayed with the quiet style. */ + isQuiet?: boolean + /** Whether descendants should be displayed with the emphasized style. */ + isEmphasized?: boolean + /** Whether descendants should be disabled. */ + isDisabled?: boolean + /** Whether descendants should be displayed with the required style. */ + isRequired?: boolean + /** Whether descendants should be read only. */ + isReadOnly?: boolean + /** Whether descendants should be displayed with the validation state style. */ + validationState?: ValidationState +} + +export interface ProviderProps extends ContextProps, DOMProps, StyleProps { + /** The content of the Provider. */ + children: ReactNode + /** + * The theme for your application. + */ + theme?: Theme + /** + * The color scheme for your application. + * Defaults to operating system preferences. + */ + colorScheme?: ColorScheme + /** + * The default color scheme if no operating system setting is available. + * @default 'light' + */ + defaultColorScheme?: ColorScheme + /** + * Sets the scale for your applications. Defaults based on device pointer type. + */ + scale?: Scale + /** + * The locale for your application as a [BCP 47](https://www.ietf.org/rfc/bcp/bcp47.txt) language code. + * Defaults to the browser/OS language setting. + * @default 'en-US' + */ + locale?: string + /** + * The breakpoints for styleProps. + * Do not use `base` property. + * @default {S:380,M:768,L:1024} + */ + breakpoints?: Breakpoints +} + +export interface ProviderContext extends ContextProps { + version: string + theme: Theme + colorScheme: ColorScheme + scale: Scale + breakpoints: Breakpoints +} diff --git a/libs/types/src/refs.d.ts b/libs/types/src/refs.d.ts index ad027c8..79fc8b4 100644 --- a/libs/types/src/refs.d.ts +++ b/libs/types/src/refs.d.ts @@ -1,5 +1,5 @@ /* - * Copyright 2020 Adobe. All rights reserved. + * Watheia Labs, LLC. All rights reserved. * This file is licensed to you under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. You may obtain a copy * of the License at http://www.apache.org/licenses/LICENSE-2.0 diff --git a/libs/types/src/removable.d.ts b/libs/types/src/removable.d.ts index 96b0c81..4d1958d 100644 --- a/libs/types/src/removable.d.ts +++ b/libs/types/src/removable.d.ts @@ -1,5 +1,5 @@ /* - * Copyright 2020 Adobe. All rights reserved. + * Watheia Labs, LLC. All rights reserved. * This file is licensed to you under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. You may obtain a copy * of the License at http://www.apache.org/licenses/LICENSE-2.0 diff --git a/libs/types/src/selection.d.ts b/libs/types/src/selection.d.ts index faefd6c..f1ebd6a 100644 --- a/libs/types/src/selection.d.ts +++ b/libs/types/src/selection.d.ts @@ -1,5 +1,5 @@ /* - * Copyright 2020 Adobe. All rights reserved. + * Watheia Labs, LLC. All rights reserved. * This file is licensed to you under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. You may obtain a copy * of the License at http://www.apache.org/licenses/LICENSE-2.0 diff --git a/libs/types/src/splitview.d.ts b/libs/types/src/splitview.d.ts index 4974e4c..1fea46c 100644 --- a/libs/types/src/splitview.d.ts +++ b/libs/types/src/splitview.d.ts @@ -1,5 +1,5 @@ /* - * Copyright 2020 Adobe. All rights reserved. + * Watheia Labs, LLC. All rights reserved. * This file is licensed to you under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. You may obtain a copy * of the License at http://www.apache.org/licenses/LICENSE-2.0 diff --git a/libs/types/src/style.d.ts b/libs/types/src/style.d.ts index 400ec43..4270b3c 100644 --- a/libs/types/src/style.d.ts +++ b/libs/types/src/style.d.ts @@ -1,5 +1,5 @@ /* - * Copyright 2020 Adobe. All rights reserved. + * Watheia Labs, LLC. All rights reserved. * This file is licensed to you under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. You may obtain a copy * of the License at http://www.apache.org/licenses/LICENSE-2.0 diff --git a/libs/ui/layout/.babelrc b/libs/ui/layout/.babelrc new file mode 100644 index 0000000..ccae900 --- /dev/null +++ b/libs/ui/layout/.babelrc @@ -0,0 +1,12 @@ +{ + "presets": [ + [ + "@nrwl/react/babel", + { + "runtime": "automatic", + "useBuiltIns": "usage" + } + ] + ], + "plugins": [] +} diff --git a/libs/ui/layout/.eslintrc.json b/libs/ui/layout/.eslintrc.json new file mode 100644 index 0000000..d1fd183 --- /dev/null +++ b/libs/ui/layout/.eslintrc.json @@ -0,0 +1,21 @@ +{ + "extends": ["plugin:@nrwl/nx/react", "../../.eslintrc.json"], + "ignorePatterns": ["!**/*"], + "overrides": [ + { + "files": ["*.ts", "*.tsx", "*.js", "*.jsx"], + "parserOptions": { + "project": ["libs/ui/layout/tsconfig.*?.json"] + }, + "rules": {} + }, + { + "files": ["*.ts", "*.tsx"], + "rules": {} + }, + { + "files": ["*.js", "*.jsx"], + "rules": {} + } + ] +} diff --git a/libs/ui/layout/README.md b/libs/ui/layout/README.md new file mode 100644 index 0000000..d92ec89 --- /dev/null +++ b/libs/ui/layout/README.md @@ -0,0 +1,7 @@ +# ui-layout + +This library was generated with [Nx](https://nx.dev). + +## Running unit tests + +Run `nx test ui-layout` to execute the unit tests via [Jest](https://jestjs.io). diff --git a/libs/ui/layout/jest.config.js b/libs/ui/layout/jest.config.js new file mode 100644 index 0000000..cf10cf9 --- /dev/null +++ b/libs/ui/layout/jest.config.js @@ -0,0 +1,9 @@ +module.exports = { + displayName: "ui-layout", + preset: "../../../jest.preset.js", + transform: { + "^.+\\.[tj]sx?$": "babel-jest" + }, + moduleFileExtensions: ["ts", "tsx", "js", "jsx"], + coverageDirectory: "../../../coverage/libs/ui/layout" +} diff --git a/libs/ui/layout/package.json b/libs/ui/layout/package.json new file mode 100644 index 0000000..c76def5 --- /dev/null +++ b/libs/ui/layout/package.json @@ -0,0 +1,4 @@ +{ + "name": "@watheia/layout", + "version": "0.0.1" +} diff --git a/libs/ui/layout/project.json b/libs/ui/layout/project.json new file mode 100644 index 0000000..da46ced --- /dev/null +++ b/libs/ui/layout/project.json @@ -0,0 +1,42 @@ +{ + "root": "libs/ui/layout", + "sourceRoot": "libs/ui/layout/src", + "projectType": "library", + "tags": [], + "targets": { + "build": { + "executor": "@nrwl/web:package", + "outputs": ["{options.outputPath}"], + "options": { + "outputPath": "dist/libs/ui/layout", + "tsConfig": "libs/ui/layout/tsconfig.lib.json", + "project": "libs/ui/layout/package.json", + "entryFile": "libs/ui/layout/src/index.ts", + "external": ["react/jsx-runtime"], + "rollupConfig": "@nrwl/react/plugins/bundle-rollup", + "assets": [ + { + "glob": "libs/ui/layout/README.md", + "input": ".", + "output": "." + } + ] + } + }, + "lint": { + "executor": "@nrwl/linter:eslint", + "outputs": ["{options.outputFile}"], + "options": { + "lintFilePatterns": ["libs/ui/layout/**/*.{ts,tsx,js,jsx}"] + } + }, + "test": { + "executor": "@nrwl/jest:jest", + "outputs": ["coverage/libs/ui/layout"], + "options": { + "jestConfig": "libs/ui/layout/jest.config.js", + "passWithNoTests": true + } + } + } +} diff --git a/libs/ui/layout/src/index.ts b/libs/ui/layout/src/index.ts new file mode 100644 index 0000000..df0c8d1 --- /dev/null +++ b/libs/ui/layout/src/index.ts @@ -0,0 +1 @@ +export * from "./lib/UiLayout" diff --git a/libs/ui/layout/src/lib/UiLayout.module.css b/libs/ui/layout/src/lib/UiLayout.module.css new file mode 100644 index 0000000..e69de29 diff --git a/libs/ui/layout/src/lib/UiLayout.spec.tsx b/libs/ui/layout/src/lib/UiLayout.spec.tsx new file mode 100644 index 0000000..677fd83 --- /dev/null +++ b/libs/ui/layout/src/lib/UiLayout.spec.tsx @@ -0,0 +1,10 @@ +import { render } from "@testing-library/react" + +import UiLayout from "./UiLayout" + +describe("UiLayout", () => { + it("should render successfully", () => { + const { baseElement } = render() + expect(baseElement).toBeTruthy() + }) +}) diff --git a/libs/ui/layout/src/lib/UiLayout.tsx b/libs/ui/layout/src/lib/UiLayout.tsx new file mode 100644 index 0000000..768eebe --- /dev/null +++ b/libs/ui/layout/src/lib/UiLayout.tsx @@ -0,0 +1,14 @@ +import "./UiLayout.module.css" + +/* eslint-disable-next-line */ +export interface UiLayoutProps {} + +export function UiLayout(props: UiLayoutProps) { + return ( +
+

Welcome to UiLayout!

+
+ ) +} + +export default UiLayout diff --git a/libs/ui/layout/tsconfig.json b/libs/ui/layout/tsconfig.json new file mode 100644 index 0000000..bd1bd9e --- /dev/null +++ b/libs/ui/layout/tsconfig.json @@ -0,0 +1,23 @@ +{ + "extends": "../../../tsconfig.base.json", + "compilerOptions": { + "jsx": "react-jsx", + "allowJs": true, + "esModuleInterop": true, + "allowSyntheticDefaultImports": true, + "forceConsistentCasingInFileNames": true, + "strict": true, + "noImplicitReturns": true, + "noFallthroughCasesInSwitch": true + }, + "files": [], + "include": [], + "references": [ + { + "path": "./tsconfig.lib.json" + }, + { + "path": "./tsconfig.spec.json" + } + ] +} diff --git a/libs/ui/layout/tsconfig.lib.json b/libs/ui/layout/tsconfig.lib.json new file mode 100644 index 0000000..b560bc4 --- /dev/null +++ b/libs/ui/layout/tsconfig.lib.json @@ -0,0 +1,13 @@ +{ + "extends": "./tsconfig.json", + "compilerOptions": { + "outDir": "../../../dist/out-tsc", + "types": ["node"] + }, + "files": [ + "../../../node_modules/@nrwl/react/typings/cssmodule.d.ts", + "../../../node_modules/@nrwl/react/typings/image.d.ts" + ], + "exclude": ["**/*.spec.ts", "**/*.spec.tsx"], + "include": ["**/*.js", "**/*.jsx", "**/*.ts", "**/*.tsx"] +} diff --git a/libs/ui/layout/tsconfig.spec.json b/libs/ui/layout/tsconfig.spec.json new file mode 100644 index 0000000..65aff50 --- /dev/null +++ b/libs/ui/layout/tsconfig.spec.json @@ -0,0 +1,9 @@ +{ + "extends": "./tsconfig.json", + "compilerOptions": { + "outDir": "../../../dist/out-tsc", + "module": "commonjs", + "types": ["jest", "node"] + }, + "include": ["**/*.spec.ts", "**/*.spec.tsx", "**/*.spec.js", "**/*.spec.jsx", "**/*.d.ts"] +} diff --git a/libs/utils/.babelrc b/libs/utils/.babelrc index cf7ddd9..ccae900 100644 --- a/libs/utils/.babelrc +++ b/libs/utils/.babelrc @@ -1,3 +1,12 @@ { - "presets": [["@nrwl/web/babel", { "useBuiltIns": "usage" }]] + "presets": [ + [ + "@nrwl/react/babel", + { + "runtime": "automatic", + "useBuiltIns": "usage" + } + ] + ], + "plugins": [] } diff --git a/libs/utils/src/index.ts b/libs/utils/src/index.ts index b222e0c..1b8d2c4 100644 --- a/libs/utils/src/index.ts +++ b/libs/utils/src/index.ts @@ -6,3 +6,13 @@ export { default as normalizePath } from "./lib/normalizePath" export { default as postData } from "./lib/postData" export { default as toDateTime } from "./lib/toDateTime" export { default as createEmotionCache } from "./lib/createEmotionCache" +export { default as classNames } from "clsx" +export * from "./lib/getWrappedElement" +export * from "./lib/useMediaQuery" +export * from "./lib/useDOMRef" +export * from "./lib/styleProps" +export * from "./lib/Slots" +export * from "./lib/useHasChild" +export * from "./lib/useResizeObserver" +export * from "./lib/useIsMobileDevice" +export * from "./lib/BreakpointProvider" diff --git a/libs/utils/src/lib/BreakpointProvider.tsx b/libs/utils/src/lib/BreakpointProvider.tsx new file mode 100644 index 0000000..0465354 --- /dev/null +++ b/libs/utils/src/lib/BreakpointProvider.tsx @@ -0,0 +1,89 @@ +import React, { ReactNode, useContext, useEffect, useState } from "react" +import { useIsSSR } from "@react-aria/ssr" + +interface Breakpoints { + S?: number + M?: number + L?: number + [custom: string]: number | undefined +} + +interface BreakpointContext { + matchedBreakpoints: string[] +} + +const Context = React.createContext(null) +Context.displayName = "BreakpointContext" + +interface BreakpointProviderProps { + children?: ReactNode + matchedBreakpoints: string[] +} + +export function BreakpointProvider(props: BreakpointProviderProps) { + let { children, matchedBreakpoints } = props + return {children} +} + +export function useMatchedBreakpoints(breakpoints: Breakpoints): string[] { + let entries = Object.entries(breakpoints).sort( + ([, valueA], [, valueB]) => (valueB ?? 0) - (valueA ?? 0) + ) + let breakpointQueries = entries.map(([, value]) => `(min-width: ${value}px)`) + + let supportsMatchMedia = + typeof window !== "undefined" && typeof window.matchMedia === "function" + let getBreakpointHandler = () => { + let matched = [] + for (let i in breakpointQueries) { + let query = breakpointQueries[i] + if (window.matchMedia(query).matches) { + matched.push(entries[i][0]) + } + } + matched.push("base") + return matched + } + + let [breakpoint, setBreakpoint] = useState(() => + supportsMatchMedia ? getBreakpointHandler() : ["base"] + ) + + useEffect(() => { + if (!supportsMatchMedia) { + return + } + + let onResize = () => { + const breakpointHandler = getBreakpointHandler() + + setBreakpoint((previousBreakpointHandler) => { + if ( + previousBreakpointHandler.length !== breakpointHandler.length || + previousBreakpointHandler.some( + (breakpoint, idx) => breakpoint !== breakpointHandler[idx] + ) + ) { + return [...breakpointHandler] // Return a new array to force state change + } + + return previousBreakpointHandler + }) + } + + window.addEventListener("resize", onResize) + return () => { + window.removeEventListener("resize", onResize) + } + }, [supportsMatchMedia]) + + // If in SSR, the media query should never match. Once the page hydrates, + // this will update and the real value will be returned. + let isSSR = useIsSSR() + return isSSR ? ["base"] : breakpoint +} + +export function useBreakpoint(): BreakpointContext { + // @ts-ignore + return useContext(Context) +} diff --git a/libs/utils/src/lib/ResizeObserver.d.ts b/libs/utils/src/lib/ResizeObserver.d.ts new file mode 100644 index 0000000..a079da9 --- /dev/null +++ b/libs/utils/src/lib/ResizeObserver.d.ts @@ -0,0 +1,250 @@ +/** + * Flicked from https://gist.github.com/strothj/708afcf4f01dd04de8f49c92e88093c3 + * as its missing from TS API declaration https://github.com/microsoft/TypeScript/issues/37861. + */ + +/** + * The **ResizeObserver** interface reports changes to the dimensions of an + * [Element](https://developer.mozilla.org/en-US/docs/Web/API/Element)'s content + * or border box, or the bounding box of an + * [SVGElement](https://developer.mozilla.org/en-US/docs/Web/API/SVGElement). + * + * > **Note**: The content box is the box in which content can be placed, + * > meaning the border box minus the padding and border width. The border box + * > encompasses the content, padding, and border. See + * > [The box model](https://developer.mozilla.org/en-US/docs/Learn/CSS/Building_blocks/The_box_model) + * > for further explanation. + * + * `ResizeObserver` avoids infinite callback loops and cyclic dependencies that + * are often created when resizing via a callback function. It does this by only + * processing elements deeper in the DOM in subsequent frames. Implementations + * should, if they follow the specification, invoke resize events before paint + * and after layout. + * + * @see https://developer.mozilla.org/en-US/docs/Web/API/ResizeObserver + */ +declare class ResizeObserver { + /** + * The **ResizeObserver** constructor creates a new `ResizeObserver` object, + * which can be used to report changes to the content or border box of an + * `Element` or the bounding box of an `SVGElement`. + * + * @example + * var ResizeObserver = new ResizeObserver(callback) + * + * @param callback + * The function called whenever an observed resize occurs. The function is + * called with two parameters: + * * **entries** + * An array of + * [ResizeObserverEntry](https://developer.mozilla.org/en-US/docs/Web/API/ResizeObserverEntry) + * objects that can be used to access the new dimensions of the element + * after each change. + * * **observer** + * A reference to the `ResizeObserver` itself, so it will definitely be + * accessible from inside the callback, should you need it. This could be + * used for example to automatically unobserve the observer when a certain + * condition is reached, but you can omit it if you don't need it. + * + * The callback will generally follow a pattern along the lines of:. + * ```js + * function(entries, observer) { + * for (let entry of entries) { + * // Do something to each entry + * // and possibly something to the observer itself + * } + * } + * ```. + * + * The following snippet is taken from the + * [resize-observer-text.html](https://mdn.github.io/dom-examples/resize-observer/resize-observer-text.html) + * ([see source](https://github.com/mdn/dom-examples/blob/master/resize-observer/resize-observer-text.html)) + * example:. + * @example + * const resizeObserver = new ResizeObserver(entries => { + * for (let entry of entries) { + * if(entry.contentBoxSize) { + * h1Elem.style.fontSize = Math.max(1.5, entry.contentBoxSize.inlineSize/200) + 'rem'; + * pElem.style.fontSize = Math.max(1, entry.contentBoxSize.inlineSize/600) + 'rem'; + * } else { + * h1Elem.style.fontSize = Math.max(1.5, entry.contentRect.width/200) + 'rem'; + * pElem.style.fontSize = Math.max(1, entry.contentRect.width/600) + 'rem'; + * } + * } + * }); + * + * resizeObserver.observe(divElem); + */ + constructor(callback: ResizeObserverCallback) + + /** + * The **disconnect()** method of the + * [ResizeObserver](https://developer.mozilla.org/en-US/docs/Web/API/ResizeObserver) + * interface unobserves all observed + * [Element](https://developer.mozilla.org/en-US/docs/Web/API/Element) or + * [SVGElement](https://developer.mozilla.org/en-US/docs/Web/API/SVGElement) + * targets. + */ + disconnect: () => void + + /** + * The `observe()` method of the + * [ResizeObserver](https://developer.mozilla.org/en-US/docs/Web/API/ResizeObserver) + * interface starts observing the specified + * [Element](https://developer.mozilla.org/en-US/docs/Web/API/Element) or + * [SVGElement](https://developer.mozilla.org/en-US/docs/Web/API/SVGElement). + * + * @example + * resizeObserver.observe(target, options); + * + * @param target + * A reference to an + * [Element](https://developer.mozilla.org/en-US/docs/Web/API/Element) or + * [SVGElement](https://developer.mozilla.org/en-US/docs/Web/API/SVGElement) + * to be observed. + * + * @param options + * An options object allowing you to set options for the observation. + * Currently this only has one possible option that can be set. + */ + observe: (target: Element, options?: ResizeObserverObserveOptions) => void + + /** + * The **unobserve()** method of the + * [ResizeObserver](https://developer.mozilla.org/en-US/docs/Web/API/ResizeObserver) + * interface ends the observing of a specified + * [Element](https://developer.mozilla.org/en-US/docs/Web/API/Element) or + * [SVGElement](https://developer.mozilla.org/en-US/docs/Web/API/SVGElement). + */ + unobserve: (target: Element) => void +} + +interface ResizeObserverObserveOptions { + /** + * Sets which box model the observer will observe changes to. Possible values + * are `content-box` (the default), and `border-box`. + * + * @default "content-box" + */ + box?: "content-box" | "border-box" +} + +/** + * The function called whenever an observed resize occurs. + * The function is called with two parameters. + * + * @param entries + * An array of + * [ResizeObserverEntry](https://developer.mozilla.org/en-US/docs/Web/API/ResizeObserverEntry) + * objects that can be used to access the new dimensions of the element after + * each change. + * + * @param observer + * A reference to the `ResizeObserver` itself, so it will definitely be + * accessible from inside the callback, should you need it. This could be used + * for example to automatically unobserve the observer when a certain condition + * is reached, but you can omit it if you don't need it. + * + * The callback will generally follow a pattern along the lines of:. + * @example + * function(entries, observer) { + * for (let entry of entries) { + * // Do something to each entry + * // and possibly something to the observer itself + * } + * } + * + * @example + * const resizeObserver = new ResizeObserver(entries => { + * for (let entry of entries) { + * if(entry.contentBoxSize) { + * h1Elem.style.fontSize = Math.max(1.5, entry.contentBoxSize.inlineSize/200) + 'rem'; + * pElem.style.fontSize = Math.max(1, entry.contentBoxSize.inlineSize/600) + 'rem'; + * } else { + * h1Elem.style.fontSize = Math.max(1.5, entry.contentRect.width/200) + 'rem'; + * pElem.style.fontSize = Math.max(1, entry.contentRect.width/600) + 'rem'; + * } + * } + * }); + * + * resizeObserver.observe(divElem); + */ +type ResizeObserverCallback = ( + entries: ResizeObserverEntry[], + observer: ResizeObserver +) => void + +/** + * The **ResizeObserverEntry** interface represents the object passed to the + * [ResizeObserver()](https://developer.mozilla.org/en-US/docs/Web/API/ResizeObserver/ResizeObserver) + * constructor's callback function, which allows you to access the new + * dimensions of the + * [Element](https://developer.mozilla.org/en-US/docs/Web/API/Element) or + * [SVGElement](https://developer.mozilla.org/en-US/docs/Web/API/SVGElement) + * being observed. + */ +interface ResizeObserverEntry { + /** + * An object containing the new border box size of the observed element when + * the callback is run. + */ + readonly borderBoxSize: ResizeObserverEntryBoxSize + + /** + * An object containing the new content box size of the observed element when + * the callback is run. + */ + readonly contentBoxSize: ResizeObserverEntryBoxSize + + /** + * A [DOMRectReadOnly](https://developer.mozilla.org/en-US/docs/Web/API/DOMRectReadOnly) + * object containing the new size of the observed element when the callback is + * run. Note that this is better supported than the above two properties, but + * it is left over from an earlier implementation of the Resize Observer API, + * is still included in the spec for web compat reasons, and may be deprecated + * in future versions. + */ + // node_modules/typescript/lib/lib.dom.d.ts + readonly contentRect: DOMRectReadOnly + + /** + * A reference to the + * [Element](https://developer.mozilla.org/en-US/docs/Web/API/Element) or + * [SVGElement](https://developer.mozilla.org/en-US/docs/Web/API/SVGElement) + * being observed. + */ + readonly target: Element +} + +/** + * The **borderBoxSize** read-only property of the + * [ResizeObserverEntry](https://developer.mozilla.org/en-US/docs/Web/API/ResizeObserverEntry) + * interface returns an object containing the new border box size of the + * observed element when the callback is run. + */ +interface ResizeObserverEntryBoxSize { + /** + * The length of the observed element's border box in the block dimension. For + * boxes with a horizontal + * [writing-mode](https://developer.mozilla.org/en-US/docs/Web/CSS/writing-mode), + * this is the vertical dimension, or height; if the writing-mode is vertical, + * this is the horizontal dimension, or width. + */ + blockSize: number + + /** + * The length of the observed element's border box in the inline dimension. + * For boxes with a horizontal + * [writing-mode](https://developer.mozilla.org/en-US/docs/Web/CSS/writing-mode), + * this is the horizontal dimension, or width; if the writing-mode is + * vertical, this is the vertical dimension, or height. + */ + inlineSize: number +} +declare global { + interface Window { + ResizeObserver: typeof ResizeObserver + } +} + +export {} diff --git a/libs/utils/src/lib/Slots.tsx b/libs/utils/src/lib/Slots.tsx new file mode 100644 index 0000000..4620d3a --- /dev/null +++ b/libs/utils/src/lib/Slots.tsx @@ -0,0 +1,74 @@ +/* + * Watheia Labs, LLC. All rights reserved. + * This file is licensed to you under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. You may obtain a copy + * of the License at http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software distributed under + * the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR REPRESENTATIONS + * OF ANY KIND, either express or implied. See the License for the specific language + * governing permissions and limitations under the License. + */ + +import { mergeProps } from "@react-aria/utils" +import React, { useContext, useMemo } from "react" +import { CSSModule } from "@watheia/types" + +interface SlotProps { + slot?: string +} + +let SlotContext = React.createContext(null) + +export function useSlotProps(props: T & { id?: string }, defaultSlot?: string): T { + let slot = (props as SlotProps).slot || defaultSlot + let { [slot ?? ""]: slotProps = {} }: Record = useContext(SlotContext) || {} + + return mergeProps(props, mergeProps(slotProps, { id: props.id })) +} + +export function cssModuleToSlots(cssModule: CSSModule) { + return Object.keys(cssModule).reduce((acc, slot) => { + acc[slot] = { UNSAFE_className: cssModule[slot] } + return acc + }, {} as Record) +} + +export type SlotProviderProps = { slots?: Record | undefined; children: any } + +export function SlotProvider(props: SlotProviderProps) { + let parentSlots: Record = useContext(SlotContext) || {} + let { slots = {}, children } = props + + // Merge props for each slot from parent context and props + let value: Record = useMemo( + () => + Object.keys(parentSlots) + .concat(Object.keys(slots)) + .reduce( + (o, p) => ({ + ...o, + [p]: mergeProps(parentSlots[p] || {}, slots[p] || {}) + }), + {} + ), + [parentSlots, slots] + ) + + // @ts-ignore + return {children} +} + +export function ClearSlots(props: { [x: string]: any; children: any }) { + let { children, ...otherProps } = props + let content = children + if (React.Children.toArray(children).length <= 1) { + if (typeof children === "function") { + // need to know if the node is a string or something else that react can render that doesn't get props + content = React.cloneElement(React.Children.only(children), otherProps) + } + } + + // @ts-ignore + return {content} +} diff --git a/libs/types/src/index.d.ts b/libs/utils/src/lib/getWrappedElement.tsx similarity index 58% rename from libs/types/src/index.d.ts rename to libs/utils/src/lib/getWrappedElement.tsx index 2041ec7..254b3e4 100644 --- a/libs/types/src/index.d.ts +++ b/libs/utils/src/lib/getWrappedElement.tsx @@ -1,5 +1,5 @@ /* - * Copyright 2020 Adobe. All rights reserved. + * Watheia Labs, LLC. All rights reserved. * This file is licensed to you under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. You may obtain a copy * of the License at http://www.apache.org/licenses/LICENSE-2.0 @@ -10,17 +10,16 @@ * governing permissions and limitations under the License. */ -export * from "./dom" -export * from "./inputs" -export * from "./selection" -export * from "./splitview" -export * from "./dnd" -export * from "./collections" -export * from "./removable" -export * from "./events" -export * from "./dna" -export * from "./style" -export * from "./refs" -export * from "./labelable" -export * from "./orientation" -export * from "./locale" +import React, { ReactElement, ReactNode } from "react" + +export function getWrappedElement( + children: string | ReactElement | ReactNode +): ReactElement { + let element + if (typeof children === "string") { + element = {children} + } else { + element = React.Children.only(children) + } + return element +} diff --git a/libs/utils/src/lib/styleProps.ts b/libs/utils/src/lib/styleProps.ts new file mode 100644 index 0000000..53fd6bb --- /dev/null +++ b/libs/utils/src/lib/styleProps.ts @@ -0,0 +1,328 @@ +/* + * Watheia Labs, LLC. All rights reserved. + * This file is licensed to you under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. You may obtain a copy + * of the License at http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software distributed under + * the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR REPRESENTATIONS + * OF ANY KIND, either express or implied. See the License for the specific language + * governing permissions and limitations under the License. + */ + +import { + BackgroundColorValue, + BorderColorValue, + BorderRadiusValue, + BorderSizeValue, + ColorValue, + DimensionValue, + Direction, + Responsive, + ResponsiveProp, + StyleProps, + ViewStyleProps +} from "@react-types/shared" +import { CSSProperties, HTMLAttributes } from "react" +import { useBreakpoint } from "./BreakpointProvider" +import { useLocale } from "@react-aria/i18n" + +type Breakpoint = "base" | "S" | "M" | "L" | string +type StyleName = string | string[] | ((dir: Direction) => string) +type StyleHandler = (value: any) => string +export interface StyleHandlers { + [key: string]: [StyleName, StyleHandler] +} + +export const baseStyleProps: StyleHandlers = { + margin: ["margin", dimensionValue], + marginStart: [rtl("marginLeft", "marginRight"), dimensionValue], + marginEnd: [rtl("marginRight", "marginLeft"), dimensionValue], + // marginLeft: ['marginLeft', dimensionValue], + // marginRight: ['marginRight', dimensionValue], + marginTop: ["marginTop", dimensionValue], + marginBottom: ["marginBottom", dimensionValue], + marginX: [["marginLeft", "marginRight"], dimensionValue], + marginY: [["marginTop", "marginBottom"], dimensionValue], + width: ["width", dimensionValue], + height: ["height", dimensionValue], + minWidth: ["minWidth", dimensionValue], + minHeight: ["minHeight", dimensionValue], + maxWidth: ["maxWidth", dimensionValue], + maxHeight: ["maxHeight", dimensionValue], + isHidden: ["display", hiddenValue], + alignSelf: ["alignSelf", passthroughStyle], + justifySelf: ["justifySelf", passthroughStyle], + position: ["position", anyValue], + zIndex: ["zIndex", anyValue], + top: ["top", dimensionValue], + bottom: ["bottom", dimensionValue], + start: [rtl("left", "right"), dimensionValue], + end: [rtl("right", "left"), dimensionValue], + left: ["left", dimensionValue], + right: ["right", dimensionValue], + order: ["order", anyValue], + flex: ["flex", flexValue], + flexGrow: ["flexGrow", passthroughStyle], + flexShrink: ["flexShrink", passthroughStyle], + flexBasis: ["flexBasis", passthroughStyle], + gridArea: ["gridArea", passthroughStyle], + gridColumn: ["gridColumn", passthroughStyle], + gridColumnEnd: ["gridColumnEnd", passthroughStyle], + gridColumnStart: ["gridColumnStart", passthroughStyle], + gridRow: ["gridRow", passthroughStyle], + gridRowEnd: ["gridRowEnd", passthroughStyle], + gridRowStart: ["gridRowStart", passthroughStyle] +} + +export const viewStyleProps: StyleHandlers = { + ...baseStyleProps, + backgroundColor: ["backgroundColor", backgroundColorValue], + borderWidth: ["borderWidth", borderSizeValue], + borderStartWidth: [rtl("borderLeftWidth", "borderRightWidth"), borderSizeValue], + borderEndWidth: [rtl("borderRightWidth", "borderLeftWidth"), borderSizeValue], + borderLeftWidth: ["borderLeftWidth", borderSizeValue], + borderRightWidth: ["borderRightWidth", borderSizeValue], + borderTopWidth: ["borderTopWidth", borderSizeValue], + borderBottomWidth: ["borderBottomWidth", borderSizeValue], + borderXWidth: [["borderLeftWidth", "borderRightWidth"], borderSizeValue], + borderYWidth: [["borderTopWidth", "borderBottomWidth"], borderSizeValue], + borderColor: ["borderColor", borderColorValue], + borderStartColor: [rtl("borderLeftColor", "borderRightColor"), borderColorValue], + borderEndColor: [rtl("borderRightColor", "borderLeftColor"), borderColorValue], + borderLeftColor: ["borderLeftColor", borderColorValue], + borderRightColor: ["borderRightColor", borderColorValue], + borderTopColor: ["borderTopColor", borderColorValue], + borderBottomColor: ["borderBottomColor", borderColorValue], + borderXColor: [["borderLeftColor", "borderRightColor"], borderColorValue], + borderYColor: [["borderTopColor", "borderBottomColor"], borderColorValue], + borderRadius: ["borderRadius", borderRadiusValue], + borderTopStartRadius: [ + rtl("borderTopLeftRadius", "borderTopRightRadius"), + borderRadiusValue + ], + borderTopEndRadius: [ + rtl("borderTopRightRadius", "borderTopLeftRadius"), + borderRadiusValue + ], + borderBottomStartRadius: [ + rtl("borderBottomLeftRadius", "borderBottomRightRadius"), + borderRadiusValue + ], + borderBottomEndRadius: [ + rtl("borderBottomRightRadius", "borderBottomLeftRadius"), + borderRadiusValue + ], + borderTopLeftRadius: ["borderTopLeftRadius", borderRadiusValue], + borderTopRightRadius: ["borderTopRightRadius", borderRadiusValue], + borderBottomLeftRadius: ["borderBottomLeftRadius", borderRadiusValue], + borderBottomRightRadius: ["borderBottomRightRadius", borderRadiusValue], + padding: ["padding", dimensionValue], + paddingStart: [rtl("paddingLeft", "paddingRight"), dimensionValue], + paddingEnd: [rtl("paddingRight", "paddingLeft"), dimensionValue], + paddingLeft: ["paddingLeft", dimensionValue], + paddingRight: ["paddingRight", dimensionValue], + paddingTop: ["paddingTop", dimensionValue], + paddingBottom: ["paddingBottom", dimensionValue], + paddingX: [["paddingLeft", "paddingRight"], dimensionValue], + paddingY: [["paddingTop", "paddingBottom"], dimensionValue], + overflow: ["overflow", passthroughStyle] +} + +const borderStyleProps = { + borderWidth: "borderStyle", + borderLeftWidth: "borderLeftStyle", + borderRightWidth: "borderRightStyle", + borderTopWidth: "borderTopStyle", + borderBottomWidth: "borderBottomStyle" +} + +function rtl(ltr: string, rtl: string) { + return (direction: Direction) => (direction === "rtl" ? rtl : ltr) +} + +const UNIT_RE = /(%|px|em|rem|vw|vh|auto|cm|mm|in|pt|pc|ex|ch|rem|vmin|vmax|fr)$/ +const FUNC_RE = /^\s*\w+\(/ +const SPECTRUM_VARIABLE_RE = /(static-)?size-\d+|single-line-(height|width)/g + +export function dimensionValue(value: DimensionValue) { + if (typeof value === "number") { + return value + "px" + } + + if (UNIT_RE.test(value)) { + return value + } + + if (FUNC_RE.test(value)) { + return value.replace( + SPECTRUM_VARIABLE_RE, + "var(--spectrum-global-dimension-$&, var(--spectrum-alias-$&))" + ) + } + + return `var(--spectrum-global-dimension-${value}, var(--spectrum-alias-${value}))` +} + +export function responsiveDimensionValue( + value: Responsive, + matchedBreakpoints: Breakpoint[] +) { + value = getResponsiveProp(value, matchedBreakpoints) + return dimensionValue(value) +} + +type ColorType = "default" | "background" | "border" | "icon" | "status" +function colorValue(value: ColorValue, type: ColorType = "default") { + return `var(--spectrum-global-color-${value}, var(--spectrum-semantic-${value}-color-${type}))` +} + +function backgroundColorValue(value: BackgroundColorValue) { + return `var(--spectrum-alias-background-color-${value}, ${colorValue( + value as ColorValue, + "background" + )})` +} + +function borderColorValue(value: BorderColorValue) { + if (value === "default") { + return "var(--spectrum-alias-border-color)" + } + + return `var(--spectrum-alias-border-color-${value}, ${colorValue( + value as ColorValue, + "border" + )})` +} + +function borderSizeValue(value: BorderSizeValue) { + return `var(--spectrum-alias-border-size-${value})` +} + +function borderRadiusValue(value: BorderRadiusValue) { + return `var(--spectrum-alias-border-radius-${value})` +} + +function hiddenValue(value: boolean) { + return value ? "none" : undefined +} + +function anyValue(value: any) { + return value +} + +function flexValue(value: boolean | number | string) { + if (typeof value === "boolean") { + return value ? "1" : undefined + } + + return "" + value +} + +export function convertStyleProps( + props: ViewStyleProps, + handlers: StyleHandlers, + direction: Direction, + matchedBreakpoints: Breakpoint[] +) { + let style: CSSProperties = {} + for (let key in props) { + let styleProp = handlers[key] + //@ts-ignore + if (!styleProp || props[key] == null) { + continue + } + + let [name, convert] = styleProp + if (typeof name === "function") { + name = name(direction) + } + + let prop = getResponsiveProp(props[key], matchedBreakpoints) + let value = convert(prop) + if (Array.isArray(name)) { + for (let k of name) { + style[k] = value + } + } else { + style[name] = value + } + } + + for (let prop in borderStyleProps) { + if (style[prop]) { + style[borderStyleProps[prop]] = "solid" + style.boxSizing = "border-box" + } + } + + return style +} + +type StylePropsOptions = { + matchedBreakpoints?: Breakpoint[] +} + +export function useStyleProps( + props: T, + handlers: StyleHandlers = baseStyleProps, + options: StylePropsOptions = {} +) { + let { UNSAFE_className, UNSAFE_style, ...otherProps } = props + let breakpointProvider = useBreakpoint() + let { direction } = useLocale() + let { matchedBreakpoints = breakpointProvider?.matchedBreakpoints || ["base"] } = options + let styles = convertStyleProps(props, handlers, direction, matchedBreakpoints) + let style = { ...UNSAFE_style, ...styles } + + // @ts-ignore + if (otherProps.className) { + console.warn( + "The className prop is unsafe and is unsupported in React Spectrum v3. " + + "Please use style props with Spectrum variables, or UNSAFE_className if you absolutely must do something custom. " + + "Note that this may break in future versions due to DOM structure changes." + ) + } + + // @ts-ignore + if (otherProps.style) { + console.warn( + "The style prop is unsafe and is unsupported in React Spectrum v3. " + + "Please use style props with Spectrum variables, or UNSAFE_style if you absolutely must do something custom. " + + "Note that this may break in future versions due to DOM structure changes." + ) + } + + let styleProps: HTMLAttributes = { + style, + className: UNSAFE_className + } + + if (getResponsiveProp(props.isHidden, matchedBreakpoints)) { + styleProps.hidden = true + } + + return { + styleProps + } +} + +export function passthroughStyle(value) { + return value +} + +export function getResponsiveProp( + prop: Responsive, + matchedBreakpoints: Breakpoint[] +): T { + if (prop && typeof prop === "object" && !Array.isArray(prop)) { + for (let i = 0; i < matchedBreakpoints.length; i++) { + let breakpoint = matchedBreakpoints[i] + if (prop[breakpoint] != null) { + return prop[breakpoint] + } + } + return (prop as ResponsiveProp).base + } + return prop as T +} diff --git a/libs/utils/src/lib/useDOMRef.ts b/libs/utils/src/lib/useDOMRef.ts new file mode 100644 index 0000000..43c5d92 --- /dev/null +++ b/libs/utils/src/lib/useDOMRef.ts @@ -0,0 +1,71 @@ +/* + * Watheia Labs, LLC. All rights reserved. + * This file is licensed to you under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. You may obtain a copy + * of the License at http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software distributed under + * the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR REPRESENTATIONS + * OF ANY KIND, either express or implied. See the License for the specific language + * governing permissions and limitations under the License. + */ + +import { DOMRef, DOMRefValue, FocusableRef, FocusableRefValue } from "@react-types/shared" +import { RefObject, useImperativeHandle, useMemo, useRef } from "react" + +export function createDOMRef( + ref: RefObject +): DOMRefValue { + return { + UNSAFE_getDOMNode() { + return ref.current + } + } +} + +export function createFocusableRef( + domRef: RefObject, + focusableRef: RefObject = domRef +): FocusableRefValue { + return { + ...createDOMRef(domRef), + focus() { + if (focusableRef.current) { + focusableRef.current.focus() + } + } + } +} + +export function useDOMRef( + ref: DOMRef +): RefObject { + let domRef = useRef(null) + useImperativeHandle(ref, () => createDOMRef(domRef)) + return domRef +} + +export function useFocusableRef( + ref: FocusableRef, + focusableRef?: RefObject +): RefObject { + let domRef = useRef(null) + useImperativeHandle(ref, () => createFocusableRef(domRef, focusableRef)) + return domRef +} + +export function unwrapDOMRef( + ref: RefObject> +): RefObject { + return { + get current() { + return ref.current && ref.current.UNSAFE_getDOMNode() + } + } +} + +export function useUnwrapDOMRef( + ref: RefObject> +): RefObject { + return useMemo(() => unwrapDOMRef(ref), [ref]) +} diff --git a/libs/utils/src/lib/useHasChild.ts b/libs/utils/src/lib/useHasChild.ts new file mode 100644 index 0000000..4c6e6dc --- /dev/null +++ b/libs/utils/src/lib/useHasChild.ts @@ -0,0 +1,22 @@ +/* + * Watheia Labs, LLC. All rights reserved. + * This file is licensed to you under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. You may obtain a copy + * of the License at http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software distributed under + * the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR REPRESENTATIONS + * OF ANY KIND, either express or implied. See the License for the specific language + * governing permissions and limitations under the License. + */ + +import { RefObject, useState } from "react" +import { useLayoutEffect } from "@react-aria/utils" + +export function useHasChild(query: string, ref: RefObject) { + let [hasChild, setHasChild] = useState(true) + useLayoutEffect(() => { + setHasChild(!!(ref.current && ref.current.querySelector(query))) + }, [setHasChild, query, ref]) + return hasChild +} diff --git a/libs/utils/src/lib/useIsMobileDevice.ts b/libs/utils/src/lib/useIsMobileDevice.ts new file mode 100644 index 0000000..2c407f8 --- /dev/null +++ b/libs/utils/src/lib/useIsMobileDevice.ts @@ -0,0 +1,24 @@ +/* + * Watheia Labs, LLC. All rights reserved. + * This file is licensed to you under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. You may obtain a copy + * of the License at http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software distributed under + * the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR REPRESENTATIONS + * OF ANY KIND, either express or implied. See the License for the specific language + * governing permissions and limitations under the License. + */ + +import { useIsSSR } from "@react-aria/ssr" + +const MOBILE_SCREEN_WIDTH = 700 + +export function useIsMobileDevice(): boolean { + let isSSR = useIsSSR() + if (isSSR || typeof window === "undefined") { + return false + } + + return window.screen.width <= MOBILE_SCREEN_WIDTH +} diff --git a/libs/utils/src/lib/useMediaQuery.ts b/libs/utils/src/lib/useMediaQuery.ts new file mode 100644 index 0000000..10f1fe1 --- /dev/null +++ b/libs/utils/src/lib/useMediaQuery.ts @@ -0,0 +1,43 @@ +/* + * Watheia Labs, LLC. All rights reserved. + * This file is licensed to you under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. You may obtain a copy + * of the License at http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software distributed under + * the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR REPRESENTATIONS + * OF ANY KIND, either express or implied. See the License for the specific language + * governing permissions and limitations under the License. + */ + +import { useEffect, useState } from "react" +import { useIsSSR } from "@react-aria/ssr" + +export function useMediaQuery(query: string) { + let supportsMatchMedia = + typeof window !== "undefined" && typeof window.matchMedia === "function" + let [matches, setMatches] = useState(() => + supportsMatchMedia ? window.matchMedia(query).matches : false + ) + + useEffect(() => { + if (!supportsMatchMedia) { + return + } + + let mq = window.matchMedia(query) + let onChange = (evt) => { + setMatches(evt.matches) + } + + mq.addListener(onChange) + return () => { + mq.removeListener(onChange) + } + }, [supportsMatchMedia, query]) + + // If in SSR, the media query should never match. Once the page hydrates, + // this will update and the real value will be returned. + let isSSR = useIsSSR() + return isSSR ? false : matches +} diff --git a/libs/utils/src/lib/useResizeObserver.ts b/libs/utils/src/lib/useResizeObserver.ts new file mode 100644 index 0000000..09a8286 --- /dev/null +++ b/libs/utils/src/lib/useResizeObserver.ts @@ -0,0 +1,13 @@ +/* + * Watheia Labs, LLC. All rights reserved. + * This file is licensed to you under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. You may obtain a copy + * of the License at http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software distributed under + * the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR REPRESENTATIONS + * OF ANY KIND, either express or implied. See the License for the specific language + * governing permissions and limitations under the License. + */ + +export { useResizeObserver } from "@react-aria/utils" diff --git a/libs/utils/tsconfig.json b/libs/utils/tsconfig.json index e258886..bc2fdb9 100644 --- a/libs/utils/tsconfig.json +++ b/libs/utils/tsconfig.json @@ -12,8 +12,10 @@ ], "compilerOptions": { "forceConsistentCasingInFileNames": true, - "strict": true, - "noImplicitReturns": true, - "noFallthroughCasesInSwitch": true + "strict": false, + "noImplicitAny": false, + "noImplicitReturns": false, + "noFallthroughCasesInSwitch": true, + "jsx": "preserve" } } diff --git a/libs/utils/tsconfig.lib.json b/libs/utils/tsconfig.lib.json index 037d796..340d380 100644 --- a/libs/utils/tsconfig.lib.json +++ b/libs/utils/tsconfig.lib.json @@ -7,5 +7,5 @@ "types": ["node"] }, "exclude": ["**/*.spec.ts"], - "include": ["**/*.ts"] + "include": ["**/*.ts", "**/*.tsx"] } diff --git a/package.json b/package.json index b032f4c..2082364 100644 --- a/package.json +++ b/package.json @@ -35,6 +35,7 @@ "@react-aria/i18n": "^3.3.2", "@react-aria/overlays": "^3.7.2", "@react-aria/utils": "^3.9.0", + "@react-spectrum/provider": "^3.2.2", "@spectrum-icons/ui": "^3.2.1", "@spectrum-icons/workflow": "^3.2.1", "@supabase/supabase-js": "^1.25.2", diff --git a/tsconfig.base.json b/tsconfig.base.json index 70d646e..ee85b9f 100644 --- a/tsconfig.base.json +++ b/tsconfig.base.json @@ -20,36 +20,23 @@ "checkJs": false, "baseUrl": ".", "paths": { - "@watheia/context": ["libs/context/src/index.tsx"], "@watheia/atoms": ["libs/ui/atoms/src/index.ts"], + "@watheia/context": ["libs/context/src/index.tsx"], + "@watheia/layout": ["libs/ui/layout/src/index.ts"], "@watheia/theme": ["libs/theme/src/index.ts"], "@watheia/theme.styles.common": [ "libs/theme/src/styles/components/commons/index.css" ], - "@watheia/theme.styles.typography": [ - "libs/theme/src/styles/components/typography/index.module.css" - ], - "@watheia/theme.styles.button": [ - "libs/theme/src/styles/components/button/index.module.css" - ], - "@watheia/theme.styles.icon": [ - "libs/theme/src/styles/components/icon/index.module.css" - ], - "@watheia/theme.styles.image": [ - "libs/theme/src/styles/components/image/index.module.css" - ], - "@watheia/theme.styles.link": [ - "libs/theme/src/styles/components/link/index.module.css" - ], - "@watheia/theme.styles.label": [ - "libs/theme/src/styles/components/label/index.module.css" - ], - "@watheia/theme.styles.rule": [ - "libs/theme/src/styles/components/rule/index.module.css" - ], - "@watheia/theme.styles.well": [ - "libs/theme/src/styles/components/well/index.module.css" + "@watheia/theme.styles.button/*": ["libs/theme/src/styles/components/button/*"], + "@watheia/theme.styles.icon/*": ["libs/theme/src/styles/components/icon/*"], + "@watheia/theme.styles.image/*": ["libs/theme/src/styles/components/image/*"], + "@watheia/theme.styles.label/*": ["libs/theme/src/styles/components/label/*"], + "@watheia/theme.styles.link/*": ["libs/theme/src/styles/components/link/*"], + "@watheia/theme.styles.rule/*": ["libs/theme/src/styles/components/rule/*"], + "@watheia/theme.styles.typography/*": [ + "libs/theme/src/styles/components/typography/*" ], + "@watheia/theme.styles.well/*": ["libs/theme/src/styles/components/well/*"], "@watheia/types": ["libs/types/src/index.ts"], "@watheia/utils": ["libs/utils/src/index.ts"] }, diff --git a/workspace.json b/workspace.json index ef6180d..04275c8 100644 --- a/workspace.json +++ b/workspace.json @@ -5,6 +5,7 @@ "theme": "libs/theme", "types": "libs/types", "ui-atoms": "libs/ui/atoms", + "ui-layout": "libs/ui/layout", "utils": "libs/utils", "web": "apps/web", "web-e2e": "apps/web-e2e" diff --git a/yarn.lock b/yarn.lock index 510d27c..cddce98 100644 --- a/yarn.lock +++ b/yarn.lock @@ -3064,6 +3064,25 @@ __metadata: languageName: node linkType: hard +"@react-spectrum/provider@npm:^3.2.2": + version: 3.2.2 + resolution: "@react-spectrum/provider@npm:3.2.2" + dependencies: + "@babel/runtime": ^7.6.2 + "@react-aria/i18n": ^3.3.2 + "@react-aria/overlays": ^3.7.2 + "@react-aria/utils": ^3.8.2 + "@react-spectrum/utils": ^3.6.2 + "@react-types/provider": ^3.3.2 + "@react-types/shared": ^3.8.0 + clsx: ^1.1.1 + peerDependencies: + react: ^16.8.0 || ^17.0.0-rc.1 + react-dom: ^16.8.0 || ^17.0.0-rc.1 + checksum: 63754f7e0c60b970e83b5a8f7735aa05ff38d8f72f7cd37a16c54016438c978593e9a4757394bd7ad7cc7739c82ebc9488e0728ca7021f6ce805b26a56dd0c7e + languageName: node + linkType: hard + "@react-spectrum/utils@npm:^3.6.2": version: 3.6.2 resolution: "@react-spectrum/utils@npm:3.6.2" @@ -3151,6 +3170,17 @@ __metadata: languageName: node linkType: hard +"@react-types/provider@npm:^3.3.2": + version: 3.3.2 + resolution: "@react-types/provider@npm:3.3.2" + dependencies: + "@react-types/shared": ^3.8.0 + peerDependencies: + react: ^16.8.0 || ^17.0.0-rc.1 + checksum: c781590ef6f5d7fe800f7bd0e14536f11211ccc73249f8f5da66823359548b7e0e3d344d87483b515a8982824567f07438d37de69bf4b50d18d9d7b9a5df223f + languageName: node + linkType: hard + "@react-types/shared@npm:^3.8.0, @react-types/shared@npm:^3.9.0": version: 3.9.0 resolution: "@react-types/shared@npm:3.9.0" @@ -19332,6 +19362,7 @@ __metadata: "@react-aria/i18n": ^3.3.2 "@react-aria/overlays": ^3.7.2 "@react-aria/utils": ^3.9.0 + "@react-spectrum/provider": ^3.2.2 "@spectrum-icons/ui": ^3.2.1 "@spectrum-icons/workflow": ^3.2.1 "@supabase/supabase-js": ^1.25.2 From ad2356c68075c27d1e89eb3dd286585fe242f578 Mon Sep 17 00:00:00 2001 From: Aaron R Miller Date: Sat, 6 Nov 2021 04:05:42 +0000 Subject: [PATCH 2/3] inititial spectrum ui implementation --- .storybook/main.js | 11 + .storybook/tsconfig.json | 5 + apps/ui-atoms-button-e2e/.eslintrc.json | 10 + apps/ui-atoms-button-e2e/cypress.json | 13 + apps/ui-atoms-button-e2e/project.json | 28 + .../src/fixtures/example.json | 4 + .../src/support/commands.ts | 33 + apps/ui-atoms-button-e2e/src/support/index.ts | 17 + apps/ui-atoms-button-e2e/tsconfig.json | 10 + apps/ui-atoms-text-e2e/.eslintrc.json | 10 + apps/ui-atoms-text-e2e/cypress.json | 13 + apps/ui-atoms-text-e2e/project.json | 28 + .../src/fixtures/example.json | 4 + .../ui-atoms-text-e2e/src/support/commands.ts | 33 + apps/ui-atoms-text-e2e/src/support/index.ts | 17 + apps/ui-atoms-text-e2e/tsconfig.json | 10 + apps/ui-atoms-view-e2e/.eslintrc.json | 10 + apps/ui-atoms-view-e2e/cypress.json | 13 + apps/ui-atoms-view-e2e/project.json | 28 + .../src/fixtures/example.json | 4 + .../ui-atoms-view-e2e/src/support/commands.ts | 33 + apps/ui-atoms-view-e2e/src/support/index.ts | 17 + apps/ui-atoms-view-e2e/tsconfig.json | 10 + apps/ui-organisms-layout-e2e/.eslintrc.json | 10 + apps/ui-organisms-layout-e2e/cypress.json | 13 + apps/ui-organisms-layout-e2e/project.json | 28 + .../src/fixtures/example.json | 4 + .../src/support/commands.ts | 33 + .../src/support/index.ts | 17 + apps/ui-organisms-layout-e2e/tsconfig.json | 10 + apps/web/next.config.js | 4 +- ...B.js => fallback-zh-T9mV9LdHOtiGWRRJUi.js} | 0 apps/web/public/sw.js | 2 +- apps/web/src/components/header.tsx | 2 +- apps/web/src/components/meta.tsx | 2 +- apps/web/src/pages/_app.tsx | 4 +- apps/web/src/pages/_document.tsx | 2 +- apps/web/src/pages/api/auth.ts | 2 +- apps/web/src/pages/api/getPrincipal.ts | 2 +- apps/web/src/pages/auth.tsx | 2 +- apps/web/src/pages/blog/[...slug].tsx | 2 +- apps/web/src/pages/blog/index.tsx | 2 +- apps/web/src/pages/home.tsx | 2 +- libs/context/README.md | 14 +- libs/context/package.json | 2 +- libs/context/src/context.composition.tsx | 2 +- libs/context/src/context.spec.tsx | 2 +- libs/context/src/index.tsx | 10 +- libs/context/src/lib/AuthContext.tsx | 45 +- libs/context/src/lib/mediaQueries.ts | 2 +- libs/context/src/specs/Provider.ssr.test.js | 30 + libs/context/src/specs/Provider.test.js | 298 + libs/context/src/specs/mediaQueries.test.js | 63 + libs/testing/utils/.babelrc | 3 + .../layout => testing/utils}/.eslintrc.json | 4 +- libs/testing/utils/README.md | 7 + libs/testing/utils/jest.config.js | 15 + libs/testing/utils/package.json | 4 + libs/testing/utils/project.json | 34 + libs/testing/utils/src/events.ts | 121 + libs/testing/utils/src/index.ts | 14 + libs/testing/utils/src/ssrSetup.js | 5 + libs/testing/utils/src/ssrTeardown.js | 4 + libs/testing/utils/src/ssrUtils.js | 36 + libs/testing/utils/src/ssrWorker.js | 68 + libs/testing/utils/src/testSSR.js | 79 + libs/testing/utils/tsconfig.json | 13 + libs/testing/utils/tsconfig.lib.json | 11 + .../utils}/tsconfig.spec.json | 0 libs/theme/src/lib/theme-dark.ts | 2 +- libs/theme/src/lib/theme-default.ts | 2 +- libs/theme/src/lib/theme-light.ts | 2 +- libs/theme/src/lib/use-color-scheme.tsx | 2 +- libs/theme/src/lib/use-scale.tsx | 2 +- .../components/accordion/index.module.css | 2 +- .../components/accordion/skin.module.css | 2 +- .../components/accordion/vars.module.css | 2 +- .../components/actiongroup/index.module.css | 2 +- .../components/actiongroup/vars.module.css | 2 +- .../components/actionmenu/index.module.css | 2 +- .../components/actionmenu/vars.module.css | 2 +- .../styles/components/alert/index.module.css | 2 +- .../styles/components/alert/skin.module.css | 2 +- .../styles/components/alert/vars.module.css | 2 +- .../styles/components/asset/index.module.css | 2 +- .../styles/components/asset/skin.module.css | 2 +- .../styles/components/asset/vars.module.css | 2 +- .../components/assetlist/index.module.css | 2 +- .../components/assetlist/skin.module.css | 2 +- .../components/assetlist/vars.module.css | 2 +- .../styles/components/avatar/index.module.css | 2 +- .../styles/components/avatar/skin.module.css | 2 +- .../styles/components/avatar/vars.module.css | 2 +- .../styles/components/banner/index.module.css | 2 +- .../styles/components/banner/skin.module.css | 2 +- .../styles/components/banner/vars.module.css | 2 +- .../components/barloader/index.module.css | 2 +- .../components/barloader/skin.module.css | 2 +- .../components/barloader/vars.module.css | 2 +- .../components/breadcrumb/index.module.css | 2 +- .../components/breadcrumb/skin.module.css | 2 +- .../components/breadcrumb/vars.module.css | 2 +- .../components/buttongroup/index.module.css | 2 +- .../components/buttongroup/vars.module.css | 2 +- .../components/calendar/index.module.css | 2 +- .../components/calendar/skin.module.css | 2 +- .../components/calendar/vars.module.css | 2 +- .../styles/components/card/index.module.css | 2 +- .../styles/components/card/skin.module.css | 2 +- .../styles/components/card/vars.module.css | 2 +- .../components/checkbox/index.module.css | 2 +- .../components/checkbox/skin.module.css | 2 +- .../components/checkbox/vars.module.css | 2 +- .../circleloader/animation.module.css | 2 +- .../components/circleloader/index.module.css | 2 +- .../components/circleloader/skin.module.css | 2 +- .../components/circleloader/vars.module.css | 2 +- .../components/coachmark/animation.module.css | 2 +- .../components/coachmark/index.module.css | 2 +- .../components/coachmark/skin.module.css | 2 +- .../components/coachmark/vars.module.css | 2 +- .../components/colorhandle/vars.module.css | 2 +- .../components/colorloupe/vars.module.css | 2 +- .../components/colorslider/vars.module.css | 2 +- .../components/colorwheel/vars.module.css | 2 +- .../src/styles/components/commons/fonts.css | 2 +- .../src/styles/components/commons/index.css | 2 +- .../components/commons/index.module.css | 33 + .../src/styles/components/commons/layout.css | 2 +- .../styles/components/commons/nprogress.css | 2 +- .../components/cyclebutton/index.module.css | 2 +- .../components/cyclebutton/skin.module.css | 2 +- .../components/cyclebutton/vars.module.css | 2 +- .../styles/components/dialog/index.module.css | 2 +- .../styles/components/dialog/skin.module.css | 2 +- .../styles/components/dialog/vars.module.css | 2 +- .../components/dropdown/index.module.css | 2 +- .../components/dropdown/skin.module.css | 2 +- .../components/dropdown/vars.module.css | 2 +- .../components/dropindicator/index.module.css | 2 +- .../components/dropindicator/skin.module.css | 2 +- .../components/dropindicator/vars.module.css | 2 +- .../components/dropzone/index.module.css | 2 +- .../components/dropzone/skin.module.css | 2 +- .../components/dropzone/vars.module.css | 2 +- .../components/fieldgroup/index.module.css | 2 +- .../components/fieldgroup/vars.module.css | 2 +- .../components/fieldlabel/index.module.css | 2 +- .../components/fieldlabel/skin.module.css | 2 +- .../components/fieldlabel/vars.module.css | 2 +- .../components/helptext/index.module.css | 2 +- .../components/helptext/skin.module.css | 2 +- .../components/helptext/vars.module.css | 2 +- .../styles/components/icon/icons.module.css | 2 +- .../styles/components/icon/index.module.css | 2 +- .../components/icon/ui-icons.module.css | 2 +- .../styles/components/icon/vars.module.css | 2 +- .../components/icon/workflow-icons.module.css | 2 +- .../illustratedmessage/index.module.css | 2 +- .../illustratedmessage/skin.module.css | 2 +- .../illustratedmessage/vars.module.css | 2 +- .../styles/components/image/index.module.css | 2 +- .../styles/components/image/vars.module.css | 2 +- .../components/inputgroup/index.module.css | 2 +- .../components/inputgroup/skin.module.css | 2 +- .../components/inputgroup/vars.module.css | 2 +- .../styles/components/label/index.module.css | 2 +- .../styles/components/label/skin.module.css | 2 +- .../styles/components/label/vars.module.css | 2 +- .../styles/components/link/index.module.css | 2 +- .../styles/components/link/skin.module.css | 2 +- .../styles/components/link/vars.module.css | 2 +- .../styles/components/menu/index.module.css | 2 +- .../styles/components/menu/skin.module.css | 2 +- .../styles/components/menu/vars.module.css | 2 +- .../styles/components/miller/index.module.css | 2 +- .../styles/components/miller/vars.module.css | 2 +- .../styles/components/modal/index.module.css | 2 +- .../styles/components/modal/skin.module.css | 2 +- .../styles/components/modal/vars.module.css | 2 +- .../components/overlay/index.module.css | 2 +- .../styles/components/page/index.module.css | 13 + .../styles/components/page/skin.module.css | 18 + .../{button => page}/vars.module.css | 2 +- .../components/pagination/index.module.css | 2 +- .../components/pagination/skin.module.css | 2 +- .../components/pagination/vars.module.css | 2 +- .../components/popover/index.module.css | 2 +- .../styles/components/popover/skin.module.css | 2 +- .../styles/components/popover/vars.module.css | 2 +- .../components/quickaction/index.module.css | 2 +- .../components/quickaction/skin.module.css | 2 +- .../components/quickaction/vars.module.css | 2 +- .../styles/components/radio/index.module.css | 2 +- .../styles/components/radio/skin.module.css | 2 +- .../styles/components/radio/vars.module.css | 2 +- .../styles/components/rating/index.module.css | 2 +- .../styles/components/rating/skin.module.css | 2 +- .../styles/components/rating/vars.module.css | 2 +- .../styles/components/rule/index.module.css | 2 +- .../styles/components/rule/skin.module.css | 2 +- .../styles/components/rule/vars.module.css | 2 +- .../styles/components/search/index.module.css | 2 +- .../styles/components/search/vars.module.css | 2 +- .../components/searchwithin/index.module.css | 2 +- .../components/searchwithin/vars.module.css | 2 +- .../components/sidenav/index.module.css | 2 +- .../styles/components/sidenav/skin.module.css | 2 +- .../styles/components/sidenav/vars.module.css | 2 +- .../styles/components/slider/index.module.css | 2 +- .../styles/components/slider/skin.module.css | 2 +- .../styles/components/slider/vars.module.css | 2 +- .../components/splitbutton/index.module.css | 2 +- .../components/splitbutton/vars.module.css | 2 +- .../components/splitview/index.module.css | 2 +- .../components/splitview/skin.module.css | 2 +- .../components/splitview/vars.module.css | 2 +- .../components/statuslight/index.module.css | 2 +- .../components/statuslight/skin.module.css | 2 +- .../components/statuslight/vars.module.css | 2 +- .../components/steplist/index.module.css | 2 +- .../components/steplist/skin.module.css | 2 +- .../components/steplist/vars.module.css | 2 +- .../components/stepper/index.module.css | 2 +- .../styles/components/stepper/skin.module.css | 2 +- .../styles/components/stepper/vars.module.css | 2 +- .../styles/components/table/index.module.css | 2 +- .../styles/components/table/skin.module.css | 2 +- .../styles/components/table/vars.module.css | 2 +- .../styles/components/tabs/index.module.css | 2 +- .../styles/components/tabs/skin.module.css | 2 +- .../styles/components/tabs/vars.module.css | 2 +- .../styles/components/tags/index.module.css | 2 +- .../styles/components/tags/skin.module.css | 2 +- .../styles/components/tags/vars.module.css | 2 +- .../components/textfield/index.module.css | 2 +- .../components/textfield/skin.module.css | 2 +- .../components/textfield/vars.module.css | 2 +- .../styles/components/toast/index.module.css | 2 +- .../styles/components/toast/skin.module.css | 2 +- .../styles/components/toast/vars.module.css | 2 +- .../styles/components/toggle/index.module.css | 2 +- .../styles/components/toggle/skin.module.css | 2 +- .../styles/components/toggle/vars.module.css | 2 +- .../components/tooltip/index.module.css | 2 +- .../styles/components/tooltip/skin.module.css | 2 +- .../styles/components/tooltip/vars.module.css | 2 +- .../styles/components/tray/index.module.css | 2 +- .../styles/components/tray/skin.module.css | 2 +- .../styles/components/tray/vars.module.css | 2 +- .../components/treeview/index.module.css | 2 +- .../components/treeview/skin.module.css | 2 +- .../components/treeview/vars.module.css | 2 +- .../components/underlay/index.module.css | 2 +- .../components/underlay/skin.module.css | 2 +- .../components/underlay/vars.module.css | 2 +- .../styles/components/well/index.module.css | 2 +- .../styles/components/well/skin.module.css | 2 +- .../styles/components/well/vars.module.css | 2 +- libs/theme/src/styles/vars/wa-dark.module.css | 2 +- .../src/styles/vars/wa-darkest.module.css | 2 +- .../src/styles/vars/wa-global.module.css | 2 +- .../theme/src/styles/vars/wa-large.module.css | 2 +- .../theme/src/styles/vars/wa-light.module.css | 2 +- .../src/styles/vars/wa-lightest.module.css | 2 +- .../src/styles/vars/wa-medium.module.css | 2 +- libs/types/src/index.ts | 60 +- libs/types/src/style.d.ts | 2 + libs/ui/atoms/README.md | 7 - libs/ui/atoms/{ => button}/.babelrc | 0 libs/ui/atoms/button/.eslintrc.json | 24 + libs/ui/atoms/button/.storybook/main.js | 24 + .../.storybook/preview.js} | 0 libs/ui/atoms/button/.storybook/tsconfig.json | 14 + libs/ui/atoms/button/README.md | 7 + libs/ui/atoms/button/docs/ActionButton.mdx | 135 + libs/ui/atoms/button/docs/Button.mdx | 183 + libs/ui/atoms/button/docs/LogicButton.mdx | 93 + libs/ui/atoms/button/docs/ToggleButton.mdx | 162 + libs/ui/atoms/button/jest.config.js | 9 + libs/ui/atoms/button/package.json | 4 + libs/ui/atoms/button/project.json | 73 + libs/ui/atoms/button/src/@types/index.ts | 112 + libs/ui/atoms/button/src/ActionButton.test.js | 55 + libs/ui/atoms/button/src/ActionButton.tsx | 88 + libs/ui/atoms/button/src/Button.ssr.test.js | 31 + libs/ui/atoms/button/src/Button.test.js | 227 + libs/ui/atoms/button/src/Button.tsx | 106 + libs/ui/atoms/button/src/ClearButton.test.js | 91 + libs/ui/atoms/button/src/ClearButton.tsx | 88 + libs/ui/atoms/button/src/FieldButton.tsx | 92 + libs/ui/atoms/button/src/LogicButton.tsx | 60 + libs/ui/atoms/button/src/ToggleButton.test.js | 79 + libs/ui/atoms/button/src/ToggleButton.tsx | 93 + libs/ui/atoms/button/src/index.ts | 20 + .../atoms/button/src/styles}/index.module.css | 165 +- .../atoms/button/src/styles}/skin.module.css | 2 +- .../atoms/button/src/styles/vars.module.css | 14 + libs/ui/atoms/button/tsconfig.json | 26 + libs/ui/atoms/button/tsconfig.lib.json | 23 + libs/ui/atoms/button/tsconfig.spec.json | 9 + libs/ui/atoms/jest.config.js | 9 - libs/ui/atoms/package.json | 4 - libs/ui/atoms/project.json | 42 - libs/ui/atoms/src/index.ts | 8 - libs/ui/atoms/src/lib/button/Button.spec.tsx | 10 - libs/ui/atoms/src/lib/button/Button.tsx | 14 - libs/ui/atoms/src/lib/button/index.ts | 2 - .../src/lib/container/Container.spec.tsx | 10 - libs/ui/atoms/src/lib/container/Container.tsx | 14 - libs/ui/atoms/src/lib/container/index.ts | 2 - .../ui/atoms/src/lib/heading/Heading.spec.tsx | 10 - libs/ui/atoms/src/lib/heading/Heading.tsx | 14 - libs/ui/atoms/src/lib/heading/index.ts | 2 - libs/ui/atoms/src/lib/icon/Icon.spec.tsx | 10 - libs/ui/atoms/src/lib/icon/Icon.tsx | 14 - libs/ui/atoms/src/lib/icon/index.ts | 2 - libs/ui/atoms/src/lib/image/Image.module.css | 0 libs/ui/atoms/src/lib/image/Image.spec.tsx | 10 - libs/ui/atoms/src/lib/image/Image.tsx | 14 - libs/ui/atoms/src/lib/image/index.ts | 2 - libs/ui/atoms/src/lib/link/Link.module.css | 0 libs/ui/atoms/src/lib/link/Link.spec.tsx | 10 - libs/ui/atoms/src/lib/link/Link.tsx | 14 - libs/ui/atoms/src/lib/link/index.ts | 2 - libs/ui/atoms/src/lib/text/Text.module.css | 0 libs/ui/atoms/src/lib/text/Text.spec.tsx | 10 - libs/ui/atoms/src/lib/text/Text.tsx | 14 - libs/ui/atoms/src/lib/text/index.ts | 2 - libs/ui/{layout => atoms/text}/.babelrc | 0 libs/ui/atoms/{ => text}/.eslintrc.json | 7 +- libs/ui/atoms/text/.storybook/main.js | 24 + .../.storybook/preview.js} | 0 libs/ui/atoms/text/.storybook/tsconfig.json | 14 + libs/ui/atoms/text/README.md | 7 + libs/ui/atoms/text/docs/Heading.mdx | 52 + libs/ui/atoms/text/docs/Keyboard.mdx | 52 + libs/ui/atoms/text/docs/Text.mdx | 50 + libs/ui/atoms/text/jest.config.js | 9 + libs/ui/atoms/text/package.json | 5 + libs/ui/atoms/text/project.json | 73 + libs/ui/atoms/text/src/@types/heading.ts | 31 + libs/ui/atoms/text/src/@types/index.ts | 15 + libs/ui/atoms/text/src/@types/keyboard.ts | 26 + libs/ui/atoms/text/src/@types/text.d.ts | 26 + libs/ui/atoms/text/src/Heading.ssr.test.js | 25 + libs/ui/atoms/text/src/Heading.tsx | 38 + libs/ui/atoms/text/src/Keyboard.ssr.test.js | 25 + libs/ui/atoms/text/src/Keyboard.tsx | 36 + libs/ui/atoms/text/src/Text.ssr.test.js | 25 + libs/ui/atoms/text/src/Text.tsx | 38 + libs/ui/atoms/text/src/index.ts | 17 + .../atoms/text/src/styles}/font.module.css | 2 +- .../atoms/text/src/styles}/index.module.css | 2 +- .../atoms/text/src/styles}/skin.module.css | 2 +- .../atoms/text/src/styles}/vars.module.css | 2 +- libs/ui/atoms/{ => text}/tsconfig.json | 10 +- libs/ui/atoms/text/tsconfig.lib.json | 23 + .../{layout => atoms/text}/tsconfig.spec.json | 2 +- libs/ui/atoms/tsconfig.lib.json | 13 - libs/ui/atoms/view/.babelrc | 12 + libs/ui/atoms/view/.eslintrc.json | 24 + libs/ui/atoms/view/.storybook/main.js | 24 + .../.storybook/preview.js} | 0 libs/ui/atoms/view/.storybook/tsconfig.json | 14 + libs/ui/atoms/view/README.md | 7 + libs/ui/atoms/view/docs/Content.mdx | 53 + libs/ui/atoms/view/docs/Footer.mdx | 52 + libs/ui/atoms/view/docs/Header.mdx | 52 + libs/ui/atoms/view/docs/View.mdx | 54 + libs/ui/atoms/view/jest.config.js | 9 + libs/ui/atoms/view/package.json | 4 + libs/ui/atoms/view/project.json | 73 + libs/ui/atoms/view/src/@types/content.d.ts | 21 + libs/ui/atoms/view/src/@types/footer.d.ts | 21 + libs/ui/atoms/view/src/@types/header.d.ts | 21 + libs/ui/atoms/view/src/@types/index.d.ts | 16 + libs/ui/atoms/view/src/@types/view.d.ts | 25 + libs/ui/atoms/view/src/Content.ssr.test.js | 25 + libs/ui/atoms/view/src/Content.tsx | 37 + libs/ui/atoms/view/src/Footer.ssr.test.js | 25 + libs/ui/atoms/view/src/Footer.tsx | 36 + libs/ui/atoms/view/src/Header.ssr.test.js | 25 + libs/ui/atoms/view/src/Header.tsx | 36 + libs/ui/atoms/view/src/View.ssr.test.js | 25 + libs/ui/atoms/view/src/View.stories.tsx | 46 + libs/ui/atoms/view/src/View.test.js | 22 + libs/ui/atoms/view/src/View.tsx | 43 + libs/ui/atoms/view/src/index.ts | 17 + libs/ui/{layout => atoms/view}/tsconfig.json | 10 +- libs/ui/atoms/view/tsconfig.lib.json | 23 + libs/ui/atoms/view/tsconfig.spec.json | 9 + libs/ui/layout/README.md | 7 - libs/ui/layout/jest.config.js | 9 - libs/ui/layout/package.json | 4 - libs/ui/layout/project.json | 42 - libs/ui/layout/src/index.ts | 1 - libs/ui/layout/src/lib/UiLayout.module.css | 0 libs/ui/layout/src/lib/UiLayout.spec.tsx | 10 - libs/ui/layout/src/lib/UiLayout.tsx | 14 - libs/ui/layout/tsconfig.lib.json | 13 - libs/ui/organisms/layout/.babelrc | 12 + libs/ui/organisms/layout/.eslintrc.json | 24 + libs/ui/organisms/layout/.storybook/main.js | 24 + .../layout/.storybook/preview.js} | 0 .../organisms/layout/.storybook/tsconfig.json | 14 + libs/ui/organisms/layout/README.md | 7 + libs/ui/organisms/layout/docs/Flex.mdx | 166 + libs/ui/organisms/layout/docs/Grid.mdx | 138 + libs/ui/organisms/layout/jest.config.js | 9 + libs/ui/organisms/layout/package.json | 4 + libs/ui/organisms/layout/project.json | 73 + libs/ui/organisms/layout/src/@types/flex.ts | 27 + libs/ui/organisms/layout/src/@types/grid.ts | 19 + libs/ui/organisms/layout/src/@types/index.ts | 14 + libs/ui/organisms/layout/src/Flex.ssr.test.js | 25 + libs/ui/organisms/layout/src/Flex.stories.tsx | 146 + libs/ui/organisms/layout/src/Flex.tsx | 177 + libs/ui/organisms/layout/src/Grid.ssr.test.js | 25 + libs/ui/organisms/layout/src/Grid.stories.tsx | 111 + libs/ui/organisms/layout/src/Grid.test.js | 24 + libs/ui/organisms/layout/src/Grid.tsx | 113 + libs/ui/organisms/layout/src/index.ts | 17 + .../layout/src/styles/flex-gap.module.css | 43 + .../layout/src/styles/vars.module.css | 67 + libs/ui/organisms/layout/tsconfig.json | 23 + libs/ui/organisms/layout/tsconfig.lib.json | 23 + libs/ui/organisms/layout/tsconfig.spec.json | 9 + libs/utils/src/index.ts | 1 + libs/utils/src/lib/filterDOMProps.ts | 63 + libs/utils/src/lib/styleProps.ts | 63 +- libs/utils/src/lib/useDOMRef.ts | 2 +- package.json | 46 +- tsconfig.base.json | 21 +- workspace.json | 11 +- yarn.lock | 6952 ++++++++++++++++- 436 files changed, 13221 insertions(+), 1149 deletions(-) create mode 100644 .storybook/main.js create mode 100644 .storybook/tsconfig.json create mode 100644 apps/ui-atoms-button-e2e/.eslintrc.json create mode 100644 apps/ui-atoms-button-e2e/cypress.json create mode 100644 apps/ui-atoms-button-e2e/project.json create mode 100644 apps/ui-atoms-button-e2e/src/fixtures/example.json create mode 100644 apps/ui-atoms-button-e2e/src/support/commands.ts create mode 100644 apps/ui-atoms-button-e2e/src/support/index.ts create mode 100644 apps/ui-atoms-button-e2e/tsconfig.json create mode 100644 apps/ui-atoms-text-e2e/.eslintrc.json create mode 100644 apps/ui-atoms-text-e2e/cypress.json create mode 100644 apps/ui-atoms-text-e2e/project.json create mode 100644 apps/ui-atoms-text-e2e/src/fixtures/example.json create mode 100644 apps/ui-atoms-text-e2e/src/support/commands.ts create mode 100644 apps/ui-atoms-text-e2e/src/support/index.ts create mode 100644 apps/ui-atoms-text-e2e/tsconfig.json create mode 100644 apps/ui-atoms-view-e2e/.eslintrc.json create mode 100644 apps/ui-atoms-view-e2e/cypress.json create mode 100644 apps/ui-atoms-view-e2e/project.json create mode 100644 apps/ui-atoms-view-e2e/src/fixtures/example.json create mode 100644 apps/ui-atoms-view-e2e/src/support/commands.ts create mode 100644 apps/ui-atoms-view-e2e/src/support/index.ts create mode 100644 apps/ui-atoms-view-e2e/tsconfig.json create mode 100644 apps/ui-organisms-layout-e2e/.eslintrc.json create mode 100644 apps/ui-organisms-layout-e2e/cypress.json create mode 100644 apps/ui-organisms-layout-e2e/project.json create mode 100644 apps/ui-organisms-layout-e2e/src/fixtures/example.json create mode 100644 apps/ui-organisms-layout-e2e/src/support/commands.ts create mode 100644 apps/ui-organisms-layout-e2e/src/support/index.ts create mode 100644 apps/ui-organisms-layout-e2e/tsconfig.json rename apps/web/public/{fallback-RlqL-HDVaBxIVVgot6ScB.js => fallback-zh-T9mV9LdHOtiGWRRJUi.js} (100%) create mode 100644 libs/context/src/specs/Provider.ssr.test.js create mode 100644 libs/context/src/specs/Provider.test.js create mode 100644 libs/context/src/specs/mediaQueries.test.js create mode 100644 libs/testing/utils/.babelrc rename libs/{ui/layout => testing/utils}/.eslintrc.json (71%) create mode 100644 libs/testing/utils/README.md create mode 100644 libs/testing/utils/jest.config.js create mode 100644 libs/testing/utils/package.json create mode 100644 libs/testing/utils/project.json create mode 100644 libs/testing/utils/src/events.ts create mode 100644 libs/testing/utils/src/index.ts create mode 100644 libs/testing/utils/src/ssrSetup.js create mode 100644 libs/testing/utils/src/ssrTeardown.js create mode 100644 libs/testing/utils/src/ssrUtils.js create mode 100644 libs/testing/utils/src/ssrWorker.js create mode 100644 libs/testing/utils/src/testSSR.js create mode 100644 libs/testing/utils/tsconfig.json create mode 100644 libs/testing/utils/tsconfig.lib.json rename libs/{ui/atoms => testing/utils}/tsconfig.spec.json (100%) create mode 100644 libs/theme/src/styles/components/commons/index.module.css create mode 100644 libs/theme/src/styles/components/page/index.module.css create mode 100644 libs/theme/src/styles/components/page/skin.module.css rename libs/theme/src/styles/components/{button => page}/vars.module.css (91%) delete mode 100644 libs/ui/atoms/README.md rename libs/ui/atoms/{ => button}/.babelrc (100%) create mode 100644 libs/ui/atoms/button/.eslintrc.json create mode 100644 libs/ui/atoms/button/.storybook/main.js rename libs/ui/atoms/{src/lib/button/Button.module.css => button/.storybook/preview.js} (100%) create mode 100644 libs/ui/atoms/button/.storybook/tsconfig.json create mode 100644 libs/ui/atoms/button/README.md create mode 100644 libs/ui/atoms/button/docs/ActionButton.mdx create mode 100644 libs/ui/atoms/button/docs/Button.mdx create mode 100644 libs/ui/atoms/button/docs/LogicButton.mdx create mode 100644 libs/ui/atoms/button/docs/ToggleButton.mdx create mode 100644 libs/ui/atoms/button/jest.config.js create mode 100644 libs/ui/atoms/button/package.json create mode 100644 libs/ui/atoms/button/project.json create mode 100644 libs/ui/atoms/button/src/@types/index.ts create mode 100644 libs/ui/atoms/button/src/ActionButton.test.js create mode 100644 libs/ui/atoms/button/src/ActionButton.tsx create mode 100644 libs/ui/atoms/button/src/Button.ssr.test.js create mode 100644 libs/ui/atoms/button/src/Button.test.js create mode 100644 libs/ui/atoms/button/src/Button.tsx create mode 100644 libs/ui/atoms/button/src/ClearButton.test.js create mode 100644 libs/ui/atoms/button/src/ClearButton.tsx create mode 100644 libs/ui/atoms/button/src/FieldButton.tsx create mode 100644 libs/ui/atoms/button/src/LogicButton.tsx create mode 100644 libs/ui/atoms/button/src/ToggleButton.test.js create mode 100644 libs/ui/atoms/button/src/ToggleButton.tsx create mode 100644 libs/ui/atoms/button/src/index.ts rename libs/{theme/src/styles/components/button => ui/atoms/button/src/styles}/index.module.css (97%) rename libs/{theme/src/styles/components/button => ui/atoms/button/src/styles}/skin.module.css (99%) create mode 100644 libs/ui/atoms/button/src/styles/vars.module.css create mode 100644 libs/ui/atoms/button/tsconfig.json create mode 100644 libs/ui/atoms/button/tsconfig.lib.json create mode 100644 libs/ui/atoms/button/tsconfig.spec.json delete mode 100644 libs/ui/atoms/jest.config.js delete mode 100644 libs/ui/atoms/package.json delete mode 100644 libs/ui/atoms/project.json delete mode 100644 libs/ui/atoms/src/index.ts delete mode 100644 libs/ui/atoms/src/lib/button/Button.spec.tsx delete mode 100644 libs/ui/atoms/src/lib/button/Button.tsx delete mode 100644 libs/ui/atoms/src/lib/button/index.ts delete mode 100644 libs/ui/atoms/src/lib/container/Container.spec.tsx delete mode 100644 libs/ui/atoms/src/lib/container/Container.tsx delete mode 100644 libs/ui/atoms/src/lib/container/index.ts delete mode 100644 libs/ui/atoms/src/lib/heading/Heading.spec.tsx delete mode 100644 libs/ui/atoms/src/lib/heading/Heading.tsx delete mode 100644 libs/ui/atoms/src/lib/heading/index.ts delete mode 100644 libs/ui/atoms/src/lib/icon/Icon.spec.tsx delete mode 100644 libs/ui/atoms/src/lib/icon/Icon.tsx delete mode 100644 libs/ui/atoms/src/lib/icon/index.ts delete mode 100644 libs/ui/atoms/src/lib/image/Image.module.css delete mode 100644 libs/ui/atoms/src/lib/image/Image.spec.tsx delete mode 100644 libs/ui/atoms/src/lib/image/Image.tsx delete mode 100644 libs/ui/atoms/src/lib/image/index.ts delete mode 100644 libs/ui/atoms/src/lib/link/Link.module.css delete mode 100644 libs/ui/atoms/src/lib/link/Link.spec.tsx delete mode 100644 libs/ui/atoms/src/lib/link/Link.tsx delete mode 100644 libs/ui/atoms/src/lib/link/index.ts delete mode 100644 libs/ui/atoms/src/lib/text/Text.module.css delete mode 100644 libs/ui/atoms/src/lib/text/Text.spec.tsx delete mode 100644 libs/ui/atoms/src/lib/text/Text.tsx delete mode 100644 libs/ui/atoms/src/lib/text/index.ts rename libs/ui/{layout => atoms/text}/.babelrc (100%) rename libs/ui/atoms/{ => text}/.eslintrc.json (59%) create mode 100644 libs/ui/atoms/text/.storybook/main.js rename libs/ui/atoms/{src/lib/container/Container.module.css => text/.storybook/preview.js} (100%) create mode 100644 libs/ui/atoms/text/.storybook/tsconfig.json create mode 100644 libs/ui/atoms/text/README.md create mode 100644 libs/ui/atoms/text/docs/Heading.mdx create mode 100644 libs/ui/atoms/text/docs/Keyboard.mdx create mode 100644 libs/ui/atoms/text/docs/Text.mdx create mode 100644 libs/ui/atoms/text/jest.config.js create mode 100644 libs/ui/atoms/text/package.json create mode 100644 libs/ui/atoms/text/project.json create mode 100644 libs/ui/atoms/text/src/@types/heading.ts create mode 100644 libs/ui/atoms/text/src/@types/index.ts create mode 100644 libs/ui/atoms/text/src/@types/keyboard.ts create mode 100644 libs/ui/atoms/text/src/@types/text.d.ts create mode 100644 libs/ui/atoms/text/src/Heading.ssr.test.js create mode 100644 libs/ui/atoms/text/src/Heading.tsx create mode 100644 libs/ui/atoms/text/src/Keyboard.ssr.test.js create mode 100644 libs/ui/atoms/text/src/Keyboard.tsx create mode 100644 libs/ui/atoms/text/src/Text.ssr.test.js create mode 100644 libs/ui/atoms/text/src/Text.tsx create mode 100644 libs/ui/atoms/text/src/index.ts rename libs/{theme/src/styles/components/typography => ui/atoms/text/src/styles}/font.module.css (95%) rename libs/{theme/src/styles/components/typography => ui/atoms/text/src/styles}/index.module.css (99%) rename libs/{theme/src/styles/components/typography => ui/atoms/text/src/styles}/skin.module.css (99%) rename libs/{theme/src/styles/components/typography => ui/atoms/text/src/styles}/vars.module.css (99%) rename libs/ui/atoms/{ => text}/tsconfig.json (62%) create mode 100644 libs/ui/atoms/text/tsconfig.lib.json rename libs/ui/{layout => atoms/text}/tsconfig.spec.json (83%) delete mode 100644 libs/ui/atoms/tsconfig.lib.json create mode 100644 libs/ui/atoms/view/.babelrc create mode 100644 libs/ui/atoms/view/.eslintrc.json create mode 100644 libs/ui/atoms/view/.storybook/main.js rename libs/ui/atoms/{src/lib/heading/Heading.module.css => view/.storybook/preview.js} (100%) create mode 100644 libs/ui/atoms/view/.storybook/tsconfig.json create mode 100644 libs/ui/atoms/view/README.md create mode 100644 libs/ui/atoms/view/docs/Content.mdx create mode 100644 libs/ui/atoms/view/docs/Footer.mdx create mode 100644 libs/ui/atoms/view/docs/Header.mdx create mode 100644 libs/ui/atoms/view/docs/View.mdx create mode 100644 libs/ui/atoms/view/jest.config.js create mode 100644 libs/ui/atoms/view/package.json create mode 100644 libs/ui/atoms/view/project.json create mode 100644 libs/ui/atoms/view/src/@types/content.d.ts create mode 100644 libs/ui/atoms/view/src/@types/footer.d.ts create mode 100644 libs/ui/atoms/view/src/@types/header.d.ts create mode 100644 libs/ui/atoms/view/src/@types/index.d.ts create mode 100644 libs/ui/atoms/view/src/@types/view.d.ts create mode 100644 libs/ui/atoms/view/src/Content.ssr.test.js create mode 100644 libs/ui/atoms/view/src/Content.tsx create mode 100644 libs/ui/atoms/view/src/Footer.ssr.test.js create mode 100644 libs/ui/atoms/view/src/Footer.tsx create mode 100644 libs/ui/atoms/view/src/Header.ssr.test.js create mode 100644 libs/ui/atoms/view/src/Header.tsx create mode 100644 libs/ui/atoms/view/src/View.ssr.test.js create mode 100644 libs/ui/atoms/view/src/View.stories.tsx create mode 100644 libs/ui/atoms/view/src/View.test.js create mode 100644 libs/ui/atoms/view/src/View.tsx create mode 100644 libs/ui/atoms/view/src/index.ts rename libs/ui/{layout => atoms/view}/tsconfig.json (62%) create mode 100644 libs/ui/atoms/view/tsconfig.lib.json create mode 100644 libs/ui/atoms/view/tsconfig.spec.json delete mode 100644 libs/ui/layout/README.md delete mode 100644 libs/ui/layout/jest.config.js delete mode 100644 libs/ui/layout/package.json delete mode 100644 libs/ui/layout/project.json delete mode 100644 libs/ui/layout/src/index.ts delete mode 100644 libs/ui/layout/src/lib/UiLayout.module.css delete mode 100644 libs/ui/layout/src/lib/UiLayout.spec.tsx delete mode 100644 libs/ui/layout/src/lib/UiLayout.tsx delete mode 100644 libs/ui/layout/tsconfig.lib.json create mode 100644 libs/ui/organisms/layout/.babelrc create mode 100644 libs/ui/organisms/layout/.eslintrc.json create mode 100644 libs/ui/organisms/layout/.storybook/main.js rename libs/ui/{atoms/src/lib/icon/Icon.module.css => organisms/layout/.storybook/preview.js} (100%) create mode 100644 libs/ui/organisms/layout/.storybook/tsconfig.json create mode 100644 libs/ui/organisms/layout/README.md create mode 100644 libs/ui/organisms/layout/docs/Flex.mdx create mode 100644 libs/ui/organisms/layout/docs/Grid.mdx create mode 100644 libs/ui/organisms/layout/jest.config.js create mode 100644 libs/ui/organisms/layout/package.json create mode 100644 libs/ui/organisms/layout/project.json create mode 100644 libs/ui/organisms/layout/src/@types/flex.ts create mode 100644 libs/ui/organisms/layout/src/@types/grid.ts create mode 100644 libs/ui/organisms/layout/src/@types/index.ts create mode 100644 libs/ui/organisms/layout/src/Flex.ssr.test.js create mode 100644 libs/ui/organisms/layout/src/Flex.stories.tsx create mode 100644 libs/ui/organisms/layout/src/Flex.tsx create mode 100644 libs/ui/organisms/layout/src/Grid.ssr.test.js create mode 100644 libs/ui/organisms/layout/src/Grid.stories.tsx create mode 100644 libs/ui/organisms/layout/src/Grid.test.js create mode 100644 libs/ui/organisms/layout/src/Grid.tsx create mode 100644 libs/ui/organisms/layout/src/index.ts create mode 100644 libs/ui/organisms/layout/src/styles/flex-gap.module.css create mode 100644 libs/ui/organisms/layout/src/styles/vars.module.css create mode 100644 libs/ui/organisms/layout/tsconfig.json create mode 100644 libs/ui/organisms/layout/tsconfig.lib.json create mode 100644 libs/ui/organisms/layout/tsconfig.spec.json create mode 100644 libs/utils/src/lib/filterDOMProps.ts diff --git a/.storybook/main.js b/.storybook/main.js new file mode 100644 index 0000000..12176e9 --- /dev/null +++ b/.storybook/main.js @@ -0,0 +1,11 @@ +module.exports = { + stories: [], + addons: ["@storybook/addon-essentials"] + // uncomment the property below if you want to apply some webpack config globally + // webpackFinal: async (config, { configType }) => { + // // Make whatever fine-grained changes you need that should apply to all storybook configs + + // // Return the altered config + // return config; + // }, +} diff --git a/.storybook/tsconfig.json b/.storybook/tsconfig.json new file mode 100644 index 0000000..6956bd3 --- /dev/null +++ b/.storybook/tsconfig.json @@ -0,0 +1,5 @@ +{ + "extends": "../tsconfig.base.json", + "exclude": ["../**/*.spec.js", "../**/*.spec.ts", "../**/*.spec.tsx", "../**/*.spec.jsx"], + "include": ["../**/*"] +} diff --git a/apps/ui-atoms-button-e2e/.eslintrc.json b/apps/ui-atoms-button-e2e/.eslintrc.json new file mode 100644 index 0000000..696cb8b --- /dev/null +++ b/apps/ui-atoms-button-e2e/.eslintrc.json @@ -0,0 +1,10 @@ +{ + "extends": ["plugin:cypress/recommended", "../../.eslintrc.json"], + "ignorePatterns": ["!**/*"], + "overrides": [ + { + "files": ["*.ts", "*.tsx", "*.js", "*.jsx"], + "rules": {} + } + ] +} diff --git a/apps/ui-atoms-button-e2e/cypress.json b/apps/ui-atoms-button-e2e/cypress.json new file mode 100644 index 0000000..afd56bf --- /dev/null +++ b/apps/ui-atoms-button-e2e/cypress.json @@ -0,0 +1,13 @@ +{ + "fileServerFolder": ".", + "fixturesFolder": "./src/fixtures", + "integrationFolder": "./src/integration", + "modifyObstructiveCode": false, + "supportFile": "./src/support/index.ts", + "pluginsFile": false, + "video": true, + "videosFolder": "../../dist/cypress/apps/ui-atoms-button-e2e/videos", + "screenshotsFolder": "../../dist/cypress/apps/ui-atoms-button-e2e/screenshots", + "chromeWebSecurity": false, + "baseUrl": "http://localhost:4400" +} diff --git a/apps/ui-atoms-button-e2e/project.json b/apps/ui-atoms-button-e2e/project.json new file mode 100644 index 0000000..bcbb985 --- /dev/null +++ b/apps/ui-atoms-button-e2e/project.json @@ -0,0 +1,28 @@ +{ + "root": "apps/ui-atoms-button-e2e", + "sourceRoot": "apps/ui-atoms-button-e2e/src", + "projectType": "application", + "targets": { + "e2e": { + "executor": "@nrwl/cypress:cypress", + "options": { + "cypressConfig": "apps/ui-atoms-button-e2e/cypress.json", + "devServerTarget": "ui-atoms-button:storybook" + }, + "configurations": { + "ci": { + "devServerTarget": "ui-atoms-button:storybook:ci" + } + } + }, + "lint": { + "executor": "@nrwl/linter:eslint", + "outputs": ["{options.outputFile}"], + "options": { + "lintFilePatterns": ["apps/ui-atoms-button-e2e/**/*.{js,ts}"] + } + } + }, + "tags": [], + "implicitDependencies": ["ui-atoms-button"] +} diff --git a/apps/ui-atoms-button-e2e/src/fixtures/example.json b/apps/ui-atoms-button-e2e/src/fixtures/example.json new file mode 100644 index 0000000..294cbed --- /dev/null +++ b/apps/ui-atoms-button-e2e/src/fixtures/example.json @@ -0,0 +1,4 @@ +{ + "name": "Using fixtures to represent data", + "email": "hello@cypress.io" +} diff --git a/apps/ui-atoms-button-e2e/src/support/commands.ts b/apps/ui-atoms-button-e2e/src/support/commands.ts new file mode 100644 index 0000000..82428ac --- /dev/null +++ b/apps/ui-atoms-button-e2e/src/support/commands.ts @@ -0,0 +1,33 @@ +// *********************************************** +// This example commands.js shows you how to +// create various custom commands and overwrite +// existing commands. +// +// For more comprehensive examples of custom +// commands please read more here: +// https://on.cypress.io/custom-commands +// *********************************************** + +// eslint-disable-next-line @typescript-eslint/no-namespace +declare namespace Cypress { + // eslint-disable-next-line @typescript-eslint/no-unused-vars + interface Chainable { + login(email: string, password: string): void + } +} +// +// -- This is a parent command -- +Cypress.Commands.add("login", (email, password) => { + console.log("Custom command example: Login", email, password) +}) +// +// -- This is a child command -- +// Cypress.Commands.add("drag", { prevSubject: 'element'}, (subject, options) => { ... }) +// +// +// -- This is a dual command -- +// Cypress.Commands.add("dismiss", { prevSubject: 'optional'}, (subject, options) => { ... }) +// +// +// -- This will overwrite an existing command -- +// Cypress.Commands.overwrite("visit", (originalFn, url, options) => { ... }) diff --git a/apps/ui-atoms-button-e2e/src/support/index.ts b/apps/ui-atoms-button-e2e/src/support/index.ts new file mode 100644 index 0000000..17b760c --- /dev/null +++ b/apps/ui-atoms-button-e2e/src/support/index.ts @@ -0,0 +1,17 @@ +// *********************************************************** +// This example support/index.js is processed and +// loaded automatically before your test files. +// +// This is a great place to put global configuration and +// behavior that modifies Cypress. +// +// You can change the location of this file or turn off +// automatically serving support files with the +// 'supportFile' configuration option. +// +// You can read more here: +// https://on.cypress.io/configuration +// *********************************************************** + +// Import commands.js using ES2015 syntax: +import "./commands" diff --git a/apps/ui-atoms-button-e2e/tsconfig.json b/apps/ui-atoms-button-e2e/tsconfig.json new file mode 100644 index 0000000..c4f818e --- /dev/null +++ b/apps/ui-atoms-button-e2e/tsconfig.json @@ -0,0 +1,10 @@ +{ + "extends": "../../tsconfig.base.json", + "compilerOptions": { + "sourceMap": false, + "outDir": "../../dist/out-tsc", + "allowJs": true, + "types": ["cypress", "node"] + }, + "include": ["src/**/*.ts", "src/**/*.js"] +} diff --git a/apps/ui-atoms-text-e2e/.eslintrc.json b/apps/ui-atoms-text-e2e/.eslintrc.json new file mode 100644 index 0000000..696cb8b --- /dev/null +++ b/apps/ui-atoms-text-e2e/.eslintrc.json @@ -0,0 +1,10 @@ +{ + "extends": ["plugin:cypress/recommended", "../../.eslintrc.json"], + "ignorePatterns": ["!**/*"], + "overrides": [ + { + "files": ["*.ts", "*.tsx", "*.js", "*.jsx"], + "rules": {} + } + ] +} diff --git a/apps/ui-atoms-text-e2e/cypress.json b/apps/ui-atoms-text-e2e/cypress.json new file mode 100644 index 0000000..6640754 --- /dev/null +++ b/apps/ui-atoms-text-e2e/cypress.json @@ -0,0 +1,13 @@ +{ + "fileServerFolder": ".", + "fixturesFolder": "./src/fixtures", + "integrationFolder": "./src/integration", + "modifyObstructiveCode": false, + "supportFile": "./src/support/index.ts", + "pluginsFile": false, + "video": true, + "videosFolder": "../../dist/cypress/apps/ui-atoms-text-e2e/videos", + "screenshotsFolder": "../../dist/cypress/apps/ui-atoms-text-e2e/screenshots", + "chromeWebSecurity": false, + "baseUrl": "http://localhost:4400" +} diff --git a/apps/ui-atoms-text-e2e/project.json b/apps/ui-atoms-text-e2e/project.json new file mode 100644 index 0000000..b6848f1 --- /dev/null +++ b/apps/ui-atoms-text-e2e/project.json @@ -0,0 +1,28 @@ +{ + "root": "apps/ui-atoms-text-e2e", + "sourceRoot": "apps/ui-atoms-text-e2e/src", + "projectType": "application", + "targets": { + "e2e": { + "executor": "@nrwl/cypress:cypress", + "options": { + "cypressConfig": "apps/ui-atoms-text-e2e/cypress.json", + "devServerTarget": "ui-atoms-text:storybook" + }, + "configurations": { + "ci": { + "devServerTarget": "ui-atoms-text:storybook:ci" + } + } + }, + "lint": { + "executor": "@nrwl/linter:eslint", + "outputs": ["{options.outputFile}"], + "options": { + "lintFilePatterns": ["apps/ui-atoms-text-e2e/**/*.{js,ts}"] + } + } + }, + "tags": [], + "implicitDependencies": ["ui-atoms-text"] +} diff --git a/apps/ui-atoms-text-e2e/src/fixtures/example.json b/apps/ui-atoms-text-e2e/src/fixtures/example.json new file mode 100644 index 0000000..294cbed --- /dev/null +++ b/apps/ui-atoms-text-e2e/src/fixtures/example.json @@ -0,0 +1,4 @@ +{ + "name": "Using fixtures to represent data", + "email": "hello@cypress.io" +} diff --git a/apps/ui-atoms-text-e2e/src/support/commands.ts b/apps/ui-atoms-text-e2e/src/support/commands.ts new file mode 100644 index 0000000..82428ac --- /dev/null +++ b/apps/ui-atoms-text-e2e/src/support/commands.ts @@ -0,0 +1,33 @@ +// *********************************************** +// This example commands.js shows you how to +// create various custom commands and overwrite +// existing commands. +// +// For more comprehensive examples of custom +// commands please read more here: +// https://on.cypress.io/custom-commands +// *********************************************** + +// eslint-disable-next-line @typescript-eslint/no-namespace +declare namespace Cypress { + // eslint-disable-next-line @typescript-eslint/no-unused-vars + interface Chainable { + login(email: string, password: string): void + } +} +// +// -- This is a parent command -- +Cypress.Commands.add("login", (email, password) => { + console.log("Custom command example: Login", email, password) +}) +// +// -- This is a child command -- +// Cypress.Commands.add("drag", { prevSubject: 'element'}, (subject, options) => { ... }) +// +// +// -- This is a dual command -- +// Cypress.Commands.add("dismiss", { prevSubject: 'optional'}, (subject, options) => { ... }) +// +// +// -- This will overwrite an existing command -- +// Cypress.Commands.overwrite("visit", (originalFn, url, options) => { ... }) diff --git a/apps/ui-atoms-text-e2e/src/support/index.ts b/apps/ui-atoms-text-e2e/src/support/index.ts new file mode 100644 index 0000000..17b760c --- /dev/null +++ b/apps/ui-atoms-text-e2e/src/support/index.ts @@ -0,0 +1,17 @@ +// *********************************************************** +// This example support/index.js is processed and +// loaded automatically before your test files. +// +// This is a great place to put global configuration and +// behavior that modifies Cypress. +// +// You can change the location of this file or turn off +// automatically serving support files with the +// 'supportFile' configuration option. +// +// You can read more here: +// https://on.cypress.io/configuration +// *********************************************************** + +// Import commands.js using ES2015 syntax: +import "./commands" diff --git a/apps/ui-atoms-text-e2e/tsconfig.json b/apps/ui-atoms-text-e2e/tsconfig.json new file mode 100644 index 0000000..c4f818e --- /dev/null +++ b/apps/ui-atoms-text-e2e/tsconfig.json @@ -0,0 +1,10 @@ +{ + "extends": "../../tsconfig.base.json", + "compilerOptions": { + "sourceMap": false, + "outDir": "../../dist/out-tsc", + "allowJs": true, + "types": ["cypress", "node"] + }, + "include": ["src/**/*.ts", "src/**/*.js"] +} diff --git a/apps/ui-atoms-view-e2e/.eslintrc.json b/apps/ui-atoms-view-e2e/.eslintrc.json new file mode 100644 index 0000000..696cb8b --- /dev/null +++ b/apps/ui-atoms-view-e2e/.eslintrc.json @@ -0,0 +1,10 @@ +{ + "extends": ["plugin:cypress/recommended", "../../.eslintrc.json"], + "ignorePatterns": ["!**/*"], + "overrides": [ + { + "files": ["*.ts", "*.tsx", "*.js", "*.jsx"], + "rules": {} + } + ] +} diff --git a/apps/ui-atoms-view-e2e/cypress.json b/apps/ui-atoms-view-e2e/cypress.json new file mode 100644 index 0000000..8b0d740 --- /dev/null +++ b/apps/ui-atoms-view-e2e/cypress.json @@ -0,0 +1,13 @@ +{ + "fileServerFolder": ".", + "fixturesFolder": "./src/fixtures", + "integrationFolder": "./src/integration", + "modifyObstructiveCode": false, + "supportFile": "./src/support/index.ts", + "pluginsFile": false, + "video": true, + "videosFolder": "../../dist/cypress/apps/ui-atoms-view-e2e/videos", + "screenshotsFolder": "../../dist/cypress/apps/ui-atoms-view-e2e/screenshots", + "chromeWebSecurity": false, + "baseUrl": "http://localhost:4400" +} diff --git a/apps/ui-atoms-view-e2e/project.json b/apps/ui-atoms-view-e2e/project.json new file mode 100644 index 0000000..d17757b --- /dev/null +++ b/apps/ui-atoms-view-e2e/project.json @@ -0,0 +1,28 @@ +{ + "root": "apps/ui-atoms-view-e2e", + "sourceRoot": "apps/ui-atoms-view-e2e/src", + "projectType": "application", + "targets": { + "e2e": { + "executor": "@nrwl/cypress:cypress", + "options": { + "cypressConfig": "apps/ui-atoms-view-e2e/cypress.json", + "devServerTarget": "ui-atoms-view:storybook" + }, + "configurations": { + "ci": { + "devServerTarget": "ui-atoms-view:storybook:ci" + } + } + }, + "lint": { + "executor": "@nrwl/linter:eslint", + "outputs": ["{options.outputFile}"], + "options": { + "lintFilePatterns": ["apps/ui-atoms-view-e2e/**/*.{js,ts}"] + } + } + }, + "tags": [], + "implicitDependencies": ["ui-atoms-view"] +} diff --git a/apps/ui-atoms-view-e2e/src/fixtures/example.json b/apps/ui-atoms-view-e2e/src/fixtures/example.json new file mode 100644 index 0000000..294cbed --- /dev/null +++ b/apps/ui-atoms-view-e2e/src/fixtures/example.json @@ -0,0 +1,4 @@ +{ + "name": "Using fixtures to represent data", + "email": "hello@cypress.io" +} diff --git a/apps/ui-atoms-view-e2e/src/support/commands.ts b/apps/ui-atoms-view-e2e/src/support/commands.ts new file mode 100644 index 0000000..82428ac --- /dev/null +++ b/apps/ui-atoms-view-e2e/src/support/commands.ts @@ -0,0 +1,33 @@ +// *********************************************** +// This example commands.js shows you how to +// create various custom commands and overwrite +// existing commands. +// +// For more comprehensive examples of custom +// commands please read more here: +// https://on.cypress.io/custom-commands +// *********************************************** + +// eslint-disable-next-line @typescript-eslint/no-namespace +declare namespace Cypress { + // eslint-disable-next-line @typescript-eslint/no-unused-vars + interface Chainable { + login(email: string, password: string): void + } +} +// +// -- This is a parent command -- +Cypress.Commands.add("login", (email, password) => { + console.log("Custom command example: Login", email, password) +}) +// +// -- This is a child command -- +// Cypress.Commands.add("drag", { prevSubject: 'element'}, (subject, options) => { ... }) +// +// +// -- This is a dual command -- +// Cypress.Commands.add("dismiss", { prevSubject: 'optional'}, (subject, options) => { ... }) +// +// +// -- This will overwrite an existing command -- +// Cypress.Commands.overwrite("visit", (originalFn, url, options) => { ... }) diff --git a/apps/ui-atoms-view-e2e/src/support/index.ts b/apps/ui-atoms-view-e2e/src/support/index.ts new file mode 100644 index 0000000..17b760c --- /dev/null +++ b/apps/ui-atoms-view-e2e/src/support/index.ts @@ -0,0 +1,17 @@ +// *********************************************************** +// This example support/index.js is processed and +// loaded automatically before your test files. +// +// This is a great place to put global configuration and +// behavior that modifies Cypress. +// +// You can change the location of this file or turn off +// automatically serving support files with the +// 'supportFile' configuration option. +// +// You can read more here: +// https://on.cypress.io/configuration +// *********************************************************** + +// Import commands.js using ES2015 syntax: +import "./commands" diff --git a/apps/ui-atoms-view-e2e/tsconfig.json b/apps/ui-atoms-view-e2e/tsconfig.json new file mode 100644 index 0000000..c4f818e --- /dev/null +++ b/apps/ui-atoms-view-e2e/tsconfig.json @@ -0,0 +1,10 @@ +{ + "extends": "../../tsconfig.base.json", + "compilerOptions": { + "sourceMap": false, + "outDir": "../../dist/out-tsc", + "allowJs": true, + "types": ["cypress", "node"] + }, + "include": ["src/**/*.ts", "src/**/*.js"] +} diff --git a/apps/ui-organisms-layout-e2e/.eslintrc.json b/apps/ui-organisms-layout-e2e/.eslintrc.json new file mode 100644 index 0000000..696cb8b --- /dev/null +++ b/apps/ui-organisms-layout-e2e/.eslintrc.json @@ -0,0 +1,10 @@ +{ + "extends": ["plugin:cypress/recommended", "../../.eslintrc.json"], + "ignorePatterns": ["!**/*"], + "overrides": [ + { + "files": ["*.ts", "*.tsx", "*.js", "*.jsx"], + "rules": {} + } + ] +} diff --git a/apps/ui-organisms-layout-e2e/cypress.json b/apps/ui-organisms-layout-e2e/cypress.json new file mode 100644 index 0000000..7facabb --- /dev/null +++ b/apps/ui-organisms-layout-e2e/cypress.json @@ -0,0 +1,13 @@ +{ + "fileServerFolder": ".", + "fixturesFolder": "./src/fixtures", + "integrationFolder": "./src/integration", + "modifyObstructiveCode": false, + "supportFile": "./src/support/index.ts", + "pluginsFile": false, + "video": true, + "videosFolder": "../../dist/cypress/apps/ui-organisms-layout-e2e/videos", + "screenshotsFolder": "../../dist/cypress/apps/ui-organisms-layout-e2e/screenshots", + "chromeWebSecurity": false, + "baseUrl": "http://localhost:4400" +} diff --git a/apps/ui-organisms-layout-e2e/project.json b/apps/ui-organisms-layout-e2e/project.json new file mode 100644 index 0000000..3635dad --- /dev/null +++ b/apps/ui-organisms-layout-e2e/project.json @@ -0,0 +1,28 @@ +{ + "root": "apps/ui-organisms-layout-e2e", + "sourceRoot": "apps/ui-organisms-layout-e2e/src", + "projectType": "application", + "targets": { + "e2e": { + "executor": "@nrwl/cypress:cypress", + "options": { + "cypressConfig": "apps/ui-organisms-layout-e2e/cypress.json", + "devServerTarget": "ui-organisms-layout:storybook" + }, + "configurations": { + "ci": { + "devServerTarget": "ui-organisms-layout:storybook:ci" + } + } + }, + "lint": { + "executor": "@nrwl/linter:eslint", + "outputs": ["{options.outputFile}"], + "options": { + "lintFilePatterns": ["apps/ui-organisms-layout-e2e/**/*.{js,ts}"] + } + } + }, + "tags": [], + "implicitDependencies": ["ui-organisms-layout"] +} diff --git a/apps/ui-organisms-layout-e2e/src/fixtures/example.json b/apps/ui-organisms-layout-e2e/src/fixtures/example.json new file mode 100644 index 0000000..294cbed --- /dev/null +++ b/apps/ui-organisms-layout-e2e/src/fixtures/example.json @@ -0,0 +1,4 @@ +{ + "name": "Using fixtures to represent data", + "email": "hello@cypress.io" +} diff --git a/apps/ui-organisms-layout-e2e/src/support/commands.ts b/apps/ui-organisms-layout-e2e/src/support/commands.ts new file mode 100644 index 0000000..82428ac --- /dev/null +++ b/apps/ui-organisms-layout-e2e/src/support/commands.ts @@ -0,0 +1,33 @@ +// *********************************************** +// This example commands.js shows you how to +// create various custom commands and overwrite +// existing commands. +// +// For more comprehensive examples of custom +// commands please read more here: +// https://on.cypress.io/custom-commands +// *********************************************** + +// eslint-disable-next-line @typescript-eslint/no-namespace +declare namespace Cypress { + // eslint-disable-next-line @typescript-eslint/no-unused-vars + interface Chainable { + login(email: string, password: string): void + } +} +// +// -- This is a parent command -- +Cypress.Commands.add("login", (email, password) => { + console.log("Custom command example: Login", email, password) +}) +// +// -- This is a child command -- +// Cypress.Commands.add("drag", { prevSubject: 'element'}, (subject, options) => { ... }) +// +// +// -- This is a dual command -- +// Cypress.Commands.add("dismiss", { prevSubject: 'optional'}, (subject, options) => { ... }) +// +// +// -- This will overwrite an existing command -- +// Cypress.Commands.overwrite("visit", (originalFn, url, options) => { ... }) diff --git a/apps/ui-organisms-layout-e2e/src/support/index.ts b/apps/ui-organisms-layout-e2e/src/support/index.ts new file mode 100644 index 0000000..17b760c --- /dev/null +++ b/apps/ui-organisms-layout-e2e/src/support/index.ts @@ -0,0 +1,17 @@ +// *********************************************************** +// This example support/index.js is processed and +// loaded automatically before your test files. +// +// This is a great place to put global configuration and +// behavior that modifies Cypress. +// +// You can change the location of this file or turn off +// automatically serving support files with the +// 'supportFile' configuration option. +// +// You can read more here: +// https://on.cypress.io/configuration +// *********************************************************** + +// Import commands.js using ES2015 syntax: +import "./commands" diff --git a/apps/ui-organisms-layout-e2e/tsconfig.json b/apps/ui-organisms-layout-e2e/tsconfig.json new file mode 100644 index 0000000..c4f818e --- /dev/null +++ b/apps/ui-organisms-layout-e2e/tsconfig.json @@ -0,0 +1,10 @@ +{ + "extends": "../../tsconfig.base.json", + "compilerOptions": { + "sourceMap": false, + "outDir": "../../dist/out-tsc", + "allowJs": true, + "types": ["cypress", "node"] + }, + "include": ["src/**/*.ts", "src/**/*.js"] +} diff --git a/apps/web/next.config.js b/apps/web/next.config.js index 1d1967c..e89b593 100644 --- a/apps/web/next.config.js +++ b/apps/web/next.config.js @@ -42,8 +42,8 @@ const nextConfig = { pwa: { dest: "public", disable: process.env.NODE_ENV !== "production", - register: true, - scope: "/home" + register: true + // scope: "/home" // sw: 'service-worker.js', //... } diff --git a/apps/web/public/fallback-RlqL-HDVaBxIVVgot6ScB.js b/apps/web/public/fallback-zh-T9mV9LdHOtiGWRRJUi.js similarity index 100% rename from apps/web/public/fallback-RlqL-HDVaBxIVVgot6ScB.js rename to apps/web/public/fallback-zh-T9mV9LdHOtiGWRRJUi.js diff --git a/apps/web/public/sw.js b/apps/web/public/sw.js index bab39f6..f17a3cd 100644 --- a/apps/web/public/sw.js +++ b/apps/web/public/sw.js @@ -1 +1 @@ -if(!self.define){let e,s={};const t=(t,a)=>(t=new URL(t+".js",a).href,s[t]||new Promise((s=>{if("document"in self){const e=document.createElement("script");e.src=t,e.onload=s,document.head.appendChild(e)}else e=t,importScripts(t),s()})).then((()=>{let e=s[t];if(!e)throw new Error(`Module ${t} didn’t register its module`);return e})));self.define=(a,n)=>{const c=e||("document"in self?document.currentScript.src:"")||location.href;if(s[c])return;let i={};const r=e=>t(e,c),o={module:{uri:c},exports:i,require:r};s[c]=Promise.all(a.map((e=>o[e]||r(e)))).then((e=>(n(...e),i)))}}define(["./workbox-2f9c3875"],(function(e){"use strict";importScripts("fallback-RlqL-HDVaBxIVVgot6ScB.js"),self.skipWaiting(),e.clientsClaim(),e.precacheAndRoute([{url:"/_next/server/middleware-manifest.json",revision:"RlqL-HDVaBxIVVgot6ScB"},{url:"/_next/static/RlqL-HDVaBxIVVgot6ScB/_buildManifest.js",revision:"RlqL-HDVaBxIVVgot6ScB"},{url:"/_next/static/RlqL-HDVaBxIVVgot6ScB/_middlewareManifest.js",revision:"RlqL-HDVaBxIVVgot6ScB"},{url:"/_next/static/RlqL-HDVaBxIVVgot6ScB/_ssgManifest.js",revision:"RlqL-HDVaBxIVVgot6ScB"},{url:"/_next/static/chunks/519-4e6b7217c839abbd.js",revision:"RlqL-HDVaBxIVVgot6ScB"},{url:"/_next/static/chunks/977-a5a87992bf4164fb.js",revision:"RlqL-HDVaBxIVVgot6ScB"},{url:"/_next/static/chunks/framework-d5965b48a6d657aa.js",revision:"RlqL-HDVaBxIVVgot6ScB"},{url:"/_next/static/chunks/main-dab669c5ee09d2e1.js",revision:"RlqL-HDVaBxIVVgot6ScB"},{url:"/_next/static/chunks/pages/404-b234b3196b63d16e.js",revision:"RlqL-HDVaBxIVVgot6ScB"},{url:"/_next/static/chunks/pages/_app-0cd8ff8d5fba0c96.js",revision:"RlqL-HDVaBxIVVgot6ScB"},{url:"/_next/static/chunks/pages/_error-d20da8f9a50c916f.js",revision:"RlqL-HDVaBxIVVgot6ScB"},{url:"/_next/static/chunks/pages/_offline-157ea23f9a7c77e8.js",revision:"RlqL-HDVaBxIVVgot6ScB"},{url:"/_next/static/chunks/pages/about-434df85a815e1e7c.js",revision:"RlqL-HDVaBxIVVgot6ScB"},{url:"/_next/static/chunks/pages/auth-8ad8c81f83ffe296.js",revision:"RlqL-HDVaBxIVVgot6ScB"},{url:"/_next/static/chunks/pages/blog-d5bdfe187bf038c2.js",revision:"RlqL-HDVaBxIVVgot6ScB"},{url:"/_next/static/chunks/pages/blog/%5B...slug%5D-cd7b6fad2c5b32de.js",revision:"RlqL-HDVaBxIVVgot6ScB"},{url:"/_next/static/chunks/pages/contact-8e7d78bc11ac8536.js",revision:"RlqL-HDVaBxIVVgot6ScB"},{url:"/_next/static/chunks/pages/help-center-498e60f6a76df84b.js",revision:"RlqL-HDVaBxIVVgot6ScB"},{url:"/_next/static/chunks/pages/home-d2f6963c9d69eb81.js",revision:"RlqL-HDVaBxIVVgot6ScB"},{url:"/_next/static/chunks/pages/index-d8da07450be4ad6e.js",revision:"RlqL-HDVaBxIVVgot6ScB"},{url:"/_next/static/chunks/pages/services-1f55f14a8ea97b81.js",revision:"RlqL-HDVaBxIVVgot6ScB"},{url:"/_next/static/chunks/pages/services/analytics-15ec5dd52043dd2e.js",revision:"RlqL-HDVaBxIVVgot6ScB"},{url:"/_next/static/chunks/pages/services/automation-9986594564b3e342.js",revision:"RlqL-HDVaBxIVVgot6ScB"},{url:"/_next/static/chunks/pages/services/engagement-f952ac8c466d1b05.js",revision:"RlqL-HDVaBxIVVgot6ScB"},{url:"/_next/static/chunks/pages/services/integrations-7134d0a319d2147a.js",revision:"RlqL-HDVaBxIVVgot6ScB"},{url:"/_next/static/chunks/pages/services/security-d1d3bd395db9587b.js",revision:"RlqL-HDVaBxIVVgot6ScB"},{url:"/_next/static/chunks/polyfills-a40ef1678bae11e696dba45124eadd70.js",revision:"RlqL-HDVaBxIVVgot6ScB"},{url:"/_next/static/chunks/webpack-2b99834efceef160.js",revision:"RlqL-HDVaBxIVVgot6ScB"},{url:"/_next/static/css/006cfb256d02ab57.css",revision:"RlqL-HDVaBxIVVgot6ScB"},{url:"/_next/static/css/06888b6f65a967cd.css",revision:"RlqL-HDVaBxIVVgot6ScB"},{url:"/_next/static/css/1a051a9fa57dc4f1.css",revision:"RlqL-HDVaBxIVVgot6ScB"},{url:"/_next/static/css/2ad360cce0193c22.css",revision:"RlqL-HDVaBxIVVgot6ScB"},{url:"/_next/static/css/372c2137320eb22c.css",revision:"RlqL-HDVaBxIVVgot6ScB"},{url:"/_next/static/css/3966086bfbe10330.css",revision:"RlqL-HDVaBxIVVgot6ScB"},{url:"/_next/static/css/4ed03e8d407b6d2e.css",revision:"RlqL-HDVaBxIVVgot6ScB"},{url:"/_next/static/css/65a57733c675bf6f.css",revision:"RlqL-HDVaBxIVVgot6ScB"},{url:"/_next/static/css/65c5c569c761c281.css",revision:"RlqL-HDVaBxIVVgot6ScB"},{url:"/_next/static/css/afa6a9c88494ff18.css",revision:"RlqL-HDVaBxIVVgot6ScB"},{url:"/_next/static/css/bcde94002bc49f5b.css",revision:"RlqL-HDVaBxIVVgot6ScB"},{url:"/_next/static/css/dbb4f6ad0185fa51.css",revision:"RlqL-HDVaBxIVVgot6ScB"},{url:"/_offline",revision:"RlqL-HDVaBxIVVgot6ScB"}],{ignoreURLParametersMatching:[]}),e.cleanupOutdatedCaches(),e.registerRoute("/",new e.NetworkFirst({cacheName:"start-url",plugins:[{cacheWillUpdate:async({request:e,response:s,event:t,state:a})=>s&&"opaqueredirect"===s.type?new Response(s.body,{status:200,statusText:"OK",headers:s.headers}):s},{handlerDidError:async({request:e})=>self.fallback(e)}]}),"GET"),e.registerRoute(/^https:\/\/fonts\.(?:gstatic)\.com\/.*/i,new e.CacheFirst({cacheName:"google-fonts-webfonts",plugins:[new e.ExpirationPlugin({maxEntries:4,maxAgeSeconds:31536e3}),{handlerDidError:async({request:e})=>self.fallback(e)}]}),"GET"),e.registerRoute(/^https:\/\/fonts\.(?:googleapis)\.com\/.*/i,new e.StaleWhileRevalidate({cacheName:"google-fonts-stylesheets",plugins:[new e.ExpirationPlugin({maxEntries:4,maxAgeSeconds:604800}),{handlerDidError:async({request:e})=>self.fallback(e)}]}),"GET"),e.registerRoute(/\.(?:eot|otf|ttc|ttf|woff|woff2|font.css)$/i,new e.StaleWhileRevalidate({cacheName:"static-font-assets",plugins:[new e.ExpirationPlugin({maxEntries:4,maxAgeSeconds:604800}),{handlerDidError:async({request:e})=>self.fallback(e)}]}),"GET"),e.registerRoute(/\.(?:jpg|jpeg|gif|png|svg|ico|webp)$/i,new e.StaleWhileRevalidate({cacheName:"static-image-assets",plugins:[new e.ExpirationPlugin({maxEntries:64,maxAgeSeconds:86400}),{handlerDidError:async({request:e})=>self.fallback(e)}]}),"GET"),e.registerRoute(/\/_next\/image\?url=.+$/i,new e.StaleWhileRevalidate({cacheName:"next-image",plugins:[new e.ExpirationPlugin({maxEntries:64,maxAgeSeconds:86400}),{handlerDidError:async({request:e})=>self.fallback(e)}]}),"GET"),e.registerRoute(/\.(?:mp3|wav|ogg)$/i,new e.CacheFirst({cacheName:"static-audio-assets",plugins:[new e.RangeRequestsPlugin,new e.ExpirationPlugin({maxEntries:32,maxAgeSeconds:86400}),{handlerDidError:async({request:e})=>self.fallback(e)}]}),"GET"),e.registerRoute(/\.(?:mp4)$/i,new e.CacheFirst({cacheName:"static-video-assets",plugins:[new e.RangeRequestsPlugin,new e.ExpirationPlugin({maxEntries:32,maxAgeSeconds:86400}),{handlerDidError:async({request:e})=>self.fallback(e)}]}),"GET"),e.registerRoute(/\.(?:js)$/i,new e.StaleWhileRevalidate({cacheName:"static-js-assets",plugins:[new e.ExpirationPlugin({maxEntries:32,maxAgeSeconds:86400}),{handlerDidError:async({request:e})=>self.fallback(e)}]}),"GET"),e.registerRoute(/\.(?:css|less)$/i,new e.StaleWhileRevalidate({cacheName:"static-style-assets",plugins:[new e.ExpirationPlugin({maxEntries:32,maxAgeSeconds:86400}),{handlerDidError:async({request:e})=>self.fallback(e)}]}),"GET"),e.registerRoute(/\/_next\/data\/.+\/.+\.json$/i,new e.StaleWhileRevalidate({cacheName:"next-data",plugins:[new e.ExpirationPlugin({maxEntries:32,maxAgeSeconds:86400}),{handlerDidError:async({request:e})=>self.fallback(e)}]}),"GET"),e.registerRoute(/\.(?:json|xml|csv)$/i,new e.NetworkFirst({cacheName:"static-data-assets",plugins:[new e.ExpirationPlugin({maxEntries:32,maxAgeSeconds:86400}),{handlerDidError:async({request:e})=>self.fallback(e)}]}),"GET"),e.registerRoute((({url:e})=>{if(!(self.origin===e.origin))return!1;const s=e.pathname;return!s.startsWith("/api/auth/")&&!!s.startsWith("/api/")}),new e.NetworkFirst({cacheName:"apis",networkTimeoutSeconds:10,plugins:[new e.ExpirationPlugin({maxEntries:16,maxAgeSeconds:86400}),{handlerDidError:async({request:e})=>self.fallback(e)}]}),"GET"),e.registerRoute((({url:e})=>{if(!(self.origin===e.origin))return!1;return!e.pathname.startsWith("/api/")}),new e.NetworkFirst({cacheName:"others",networkTimeoutSeconds:10,plugins:[new e.ExpirationPlugin({maxEntries:32,maxAgeSeconds:86400}),{handlerDidError:async({request:e})=>self.fallback(e)}]}),"GET"),e.registerRoute((({url:e})=>!(self.origin===e.origin)),new e.NetworkFirst({cacheName:"cross-origin",networkTimeoutSeconds:10,plugins:[new e.ExpirationPlugin({maxEntries:32,maxAgeSeconds:3600}),{handlerDidError:async({request:e})=>self.fallback(e)}]}),"GET")})); +if(!self.define){let e,s={};const i=(i,t)=>(i=new URL(i+".js",t).href,s[i]||new Promise((s=>{if("document"in self){const e=document.createElement("script");e.src=i,e.onload=s,document.head.appendChild(e)}else e=i,importScripts(i),s()})).then((()=>{let e=s[i];if(!e)throw new Error(`Module ${i} didn’t register its module`);return e})));self.define=(t,n)=>{const a=e||("document"in self?document.currentScript.src:"")||location.href;if(s[a])return;let r={};const c=e=>i(e,a),d={module:{uri:a},exports:r,require:c};s[a]=Promise.all(t.map((e=>d[e]||c(e)))).then((e=>(n(...e),r)))}}define(["./workbox-2f9c3875"],(function(e){"use strict";importScripts("fallback-zh-T9mV9LdHOtiGWRRJUi.js"),self.skipWaiting(),e.clientsClaim(),e.precacheAndRoute([{url:"/_next/server/middleware-manifest.json",revision:"zh-T9mV9LdHOtiGWRRJUi"},{url:"/_next/static/chunks/519-4e6b7217c839abbd.js",revision:"zh-T9mV9LdHOtiGWRRJUi"},{url:"/_next/static/chunks/977-ffc70e063a5f89c4.js",revision:"zh-T9mV9LdHOtiGWRRJUi"},{url:"/_next/static/chunks/framework-d5965b48a6d657aa.js",revision:"zh-T9mV9LdHOtiGWRRJUi"},{url:"/_next/static/chunks/main-d8366965972b8087.js",revision:"zh-T9mV9LdHOtiGWRRJUi"},{url:"/_next/static/chunks/pages/404-b234b3196b63d16e.js",revision:"zh-T9mV9LdHOtiGWRRJUi"},{url:"/_next/static/chunks/pages/_app-fe7e9d96437c500d.js",revision:"zh-T9mV9LdHOtiGWRRJUi"},{url:"/_next/static/chunks/pages/_error-d20da8f9a50c916f.js",revision:"zh-T9mV9LdHOtiGWRRJUi"},{url:"/_next/static/chunks/pages/_offline-157ea23f9a7c77e8.js",revision:"zh-T9mV9LdHOtiGWRRJUi"},{url:"/_next/static/chunks/pages/about-434df85a815e1e7c.js",revision:"zh-T9mV9LdHOtiGWRRJUi"},{url:"/_next/static/chunks/pages/auth-b6af27c6f327b30d.js",revision:"zh-T9mV9LdHOtiGWRRJUi"},{url:"/_next/static/chunks/pages/blog-00f4d111b638731a.js",revision:"zh-T9mV9LdHOtiGWRRJUi"},{url:"/_next/static/chunks/pages/blog/%5B...slug%5D-252d968abffa1cf2.js",revision:"zh-T9mV9LdHOtiGWRRJUi"},{url:"/_next/static/chunks/pages/contact-8e7d78bc11ac8536.js",revision:"zh-T9mV9LdHOtiGWRRJUi"},{url:"/_next/static/chunks/pages/help-center-498e60f6a76df84b.js",revision:"zh-T9mV9LdHOtiGWRRJUi"},{url:"/_next/static/chunks/pages/home-0ddaa614c71cadfd.js",revision:"zh-T9mV9LdHOtiGWRRJUi"},{url:"/_next/static/chunks/pages/index-d8da07450be4ad6e.js",revision:"zh-T9mV9LdHOtiGWRRJUi"},{url:"/_next/static/chunks/pages/services-1f55f14a8ea97b81.js",revision:"zh-T9mV9LdHOtiGWRRJUi"},{url:"/_next/static/chunks/pages/services/analytics-15ec5dd52043dd2e.js",revision:"zh-T9mV9LdHOtiGWRRJUi"},{url:"/_next/static/chunks/pages/services/automation-9986594564b3e342.js",revision:"zh-T9mV9LdHOtiGWRRJUi"},{url:"/_next/static/chunks/pages/services/engagement-f952ac8c466d1b05.js",revision:"zh-T9mV9LdHOtiGWRRJUi"},{url:"/_next/static/chunks/pages/services/integrations-7134d0a319d2147a.js",revision:"zh-T9mV9LdHOtiGWRRJUi"},{url:"/_next/static/chunks/pages/services/security-d1d3bd395db9587b.js",revision:"zh-T9mV9LdHOtiGWRRJUi"},{url:"/_next/static/chunks/polyfills-5cd94c89d3acac5f.js",revision:"zh-T9mV9LdHOtiGWRRJUi"},{url:"/_next/static/chunks/webpack-b927671265afed5e.js",revision:"zh-T9mV9LdHOtiGWRRJUi"},{url:"/_next/static/css/006cfb256d02ab57.css",revision:"zh-T9mV9LdHOtiGWRRJUi"},{url:"/_next/static/css/06888b6f65a967cd.css",revision:"zh-T9mV9LdHOtiGWRRJUi"},{url:"/_next/static/css/1a051a9fa57dc4f1.css",revision:"zh-T9mV9LdHOtiGWRRJUi"},{url:"/_next/static/css/372c2137320eb22c.css",revision:"zh-T9mV9LdHOtiGWRRJUi"},{url:"/_next/static/css/3966086bfbe10330.css",revision:"zh-T9mV9LdHOtiGWRRJUi"},{url:"/_next/static/css/4ed03e8d407b6d2e.css",revision:"zh-T9mV9LdHOtiGWRRJUi"},{url:"/_next/static/css/65a57733c675bf6f.css",revision:"zh-T9mV9LdHOtiGWRRJUi"},{url:"/_next/static/css/65c5c569c761c281.css",revision:"zh-T9mV9LdHOtiGWRRJUi"},{url:"/_next/static/css/708cac9b80e7cbe5.css",revision:"zh-T9mV9LdHOtiGWRRJUi"},{url:"/_next/static/css/afa6a9c88494ff18.css",revision:"zh-T9mV9LdHOtiGWRRJUi"},{url:"/_next/static/css/bcde94002bc49f5b.css",revision:"zh-T9mV9LdHOtiGWRRJUi"},{url:"/_next/static/css/dbb4f6ad0185fa51.css",revision:"zh-T9mV9LdHOtiGWRRJUi"},{url:"/_next/static/zh-T9mV9LdHOtiGWRRJUi/_buildManifest.js",revision:"zh-T9mV9LdHOtiGWRRJUi"},{url:"/_next/static/zh-T9mV9LdHOtiGWRRJUi/_middlewareManifest.js",revision:"zh-T9mV9LdHOtiGWRRJUi"},{url:"/_next/static/zh-T9mV9LdHOtiGWRRJUi/_ssgManifest.js",revision:"zh-T9mV9LdHOtiGWRRJUi"},{url:"/_offline",revision:"zh-T9mV9LdHOtiGWRRJUi"}],{ignoreURLParametersMatching:[]}),e.cleanupOutdatedCaches(),e.registerRoute("/",new e.NetworkFirst({cacheName:"start-url",plugins:[{cacheWillUpdate:async({request:e,response:s,event:i,state:t})=>s&&"opaqueredirect"===s.type?new Response(s.body,{status:200,statusText:"OK",headers:s.headers}):s},{handlerDidError:async({request:e})=>self.fallback(e)}]}),"GET"),e.registerRoute(/^https:\/\/fonts\.(?:gstatic)\.com\/.*/i,new e.CacheFirst({cacheName:"google-fonts-webfonts",plugins:[new e.ExpirationPlugin({maxEntries:4,maxAgeSeconds:31536e3}),{handlerDidError:async({request:e})=>self.fallback(e)}]}),"GET"),e.registerRoute(/^https:\/\/fonts\.(?:googleapis)\.com\/.*/i,new e.StaleWhileRevalidate({cacheName:"google-fonts-stylesheets",plugins:[new e.ExpirationPlugin({maxEntries:4,maxAgeSeconds:604800}),{handlerDidError:async({request:e})=>self.fallback(e)}]}),"GET"),e.registerRoute(/\.(?:eot|otf|ttc|ttf|woff|woff2|font.css)$/i,new e.StaleWhileRevalidate({cacheName:"static-font-assets",plugins:[new e.ExpirationPlugin({maxEntries:4,maxAgeSeconds:604800}),{handlerDidError:async({request:e})=>self.fallback(e)}]}),"GET"),e.registerRoute(/\.(?:jpg|jpeg|gif|png|svg|ico|webp)$/i,new e.StaleWhileRevalidate({cacheName:"static-image-assets",plugins:[new e.ExpirationPlugin({maxEntries:64,maxAgeSeconds:86400}),{handlerDidError:async({request:e})=>self.fallback(e)}]}),"GET"),e.registerRoute(/\/_next\/image\?url=.+$/i,new e.StaleWhileRevalidate({cacheName:"next-image",plugins:[new e.ExpirationPlugin({maxEntries:64,maxAgeSeconds:86400}),{handlerDidError:async({request:e})=>self.fallback(e)}]}),"GET"),e.registerRoute(/\.(?:mp3|wav|ogg)$/i,new e.CacheFirst({cacheName:"static-audio-assets",plugins:[new e.RangeRequestsPlugin,new e.ExpirationPlugin({maxEntries:32,maxAgeSeconds:86400}),{handlerDidError:async({request:e})=>self.fallback(e)}]}),"GET"),e.registerRoute(/\.(?:mp4)$/i,new e.CacheFirst({cacheName:"static-video-assets",plugins:[new e.RangeRequestsPlugin,new e.ExpirationPlugin({maxEntries:32,maxAgeSeconds:86400}),{handlerDidError:async({request:e})=>self.fallback(e)}]}),"GET"),e.registerRoute(/\.(?:js)$/i,new e.StaleWhileRevalidate({cacheName:"static-js-assets",plugins:[new e.ExpirationPlugin({maxEntries:32,maxAgeSeconds:86400}),{handlerDidError:async({request:e})=>self.fallback(e)}]}),"GET"),e.registerRoute(/\.(?:css|less)$/i,new e.StaleWhileRevalidate({cacheName:"static-style-assets",plugins:[new e.ExpirationPlugin({maxEntries:32,maxAgeSeconds:86400}),{handlerDidError:async({request:e})=>self.fallback(e)}]}),"GET"),e.registerRoute(/\/_next\/data\/.+\/.+\.json$/i,new e.StaleWhileRevalidate({cacheName:"next-data",plugins:[new e.ExpirationPlugin({maxEntries:32,maxAgeSeconds:86400}),{handlerDidError:async({request:e})=>self.fallback(e)}]}),"GET"),e.registerRoute(/\.(?:json|xml|csv)$/i,new e.NetworkFirst({cacheName:"static-data-assets",plugins:[new e.ExpirationPlugin({maxEntries:32,maxAgeSeconds:86400}),{handlerDidError:async({request:e})=>self.fallback(e)}]}),"GET"),e.registerRoute((({url:e})=>{if(!(self.origin===e.origin))return!1;const s=e.pathname;return!s.startsWith("/api/auth/")&&!!s.startsWith("/api/")}),new e.NetworkFirst({cacheName:"apis",networkTimeoutSeconds:10,plugins:[new e.ExpirationPlugin({maxEntries:16,maxAgeSeconds:86400}),{handlerDidError:async({request:e})=>self.fallback(e)}]}),"GET"),e.registerRoute((({url:e})=>{if(!(self.origin===e.origin))return!1;return!e.pathname.startsWith("/api/")}),new e.NetworkFirst({cacheName:"others",networkTimeoutSeconds:10,plugins:[new e.ExpirationPlugin({maxEntries:32,maxAgeSeconds:86400}),{handlerDidError:async({request:e})=>self.fallback(e)}]}),"GET"),e.registerRoute((({url:e})=>!(self.origin===e.origin)),new e.NetworkFirst({cacheName:"cross-origin",networkTimeoutSeconds:10,plugins:[new e.ExpirationPlugin({maxEntries:32,maxAgeSeconds:3600}),{handlerDidError:async({request:e})=>self.fallback(e)}]}),"GET")})); diff --git a/apps/web/src/components/header.tsx b/apps/web/src/components/header.tsx index bf6a582..c606a99 100644 --- a/apps/web/src/components/header.tsx +++ b/apps/web/src/components/header.tsx @@ -4,7 +4,7 @@ import { Disclosure, Menu, Transition } from "@headlessui/react" import { BellIcon, MenuIcon, XIcon } from "@heroicons/react/outline" import { TabNav } from "./tab-nav" import { MenuNav } from "./menu-nav" -import { useAuth } from "@watheia/context" +import { useAuth } from "@watheia/app.context" import Link from "next/link" import clsx from "clsx" diff --git a/apps/web/src/components/meta.tsx b/apps/web/src/components/meta.tsx index ec328da..18c6f23 100644 --- a/apps/web/src/components/meta.tsx +++ b/apps/web/src/components/meta.tsx @@ -7,7 +7,7 @@ import { SITE_DESCRIPTION, SITE_NAME, PREVIEW_IMAGE_FALLBACK -} from "@watheia/context" +} from "@watheia/app.context" export interface SEOProps { title?: string diff --git a/apps/web/src/pages/_app.tsx b/apps/web/src/pages/_app.tsx index a09c6a9..2dbd7d0 100644 --- a/apps/web/src/pages/_app.tsx +++ b/apps/web/src/pages/_app.tsx @@ -1,10 +1,10 @@ import * as React from "react" import { AppProps } from "next/app" -import ContextProvider from "@watheia/context" +import ContextProvider from "@watheia/app.context" import Head from "next/head" -import "../styles/global.css" import Layout from "../components/layout" import { darkTheme } from "@watheia/theme" +import "@watheia/theme.styles/index.css" export default function MyApp(props: AppProps) { const { Component, pageProps } = props diff --git a/apps/web/src/pages/_document.tsx b/apps/web/src/pages/_document.tsx index c674436..43a9d19 100644 --- a/apps/web/src/pages/_document.tsx +++ b/apps/web/src/pages/_document.tsx @@ -1,7 +1,7 @@ import React from "react" import Document, { Html, Head, Main, NextScript } from "next/document" import createEmotionServer from "@emotion/server/create-instance" -import { HOME_OG_IMAGE_URL } from "@watheia/context" +import { HOME_OG_IMAGE_URL } from "@watheia/app.context" import { createEmotionCache } from "@watheia/utils" export default class MyDocument extends Document { diff --git a/apps/web/src/pages/api/auth.ts b/apps/web/src/pages/api/auth.ts index 5954273..01b7ffb 100644 --- a/apps/web/src/pages/api/auth.ts +++ b/apps/web/src/pages/api/auth.ts @@ -1,7 +1,7 @@ /** * NOTE: this file is only needed if you're doing SSR (getServerSideProps)! */ -import { supabase } from "@watheia/context" +import { supabase } from "@watheia/app.context" export default function handler(req, res) { supabase.auth.api.setAuthCookie(req, res) diff --git a/apps/web/src/pages/api/getPrincipal.ts b/apps/web/src/pages/api/getPrincipal.ts index adb2e98..05718bf 100644 --- a/apps/web/src/pages/api/getPrincipal.ts +++ b/apps/web/src/pages/api/getPrincipal.ts @@ -1,4 +1,4 @@ -import { supabase } from "@watheia/context" +import { supabase } from "@watheia/app.context" import { NextApiRequest, NextApiResponse } from "next" // Example of how to verify and get user data server-side. diff --git a/apps/web/src/pages/auth.tsx b/apps/web/src/pages/auth.tsx index b89918c..5bef6c0 100644 --- a/apps/web/src/pages/auth.tsx +++ b/apps/web/src/pages/auth.tsx @@ -15,7 +15,7 @@ ``` */ import { Auth, Card, Typography, Space } from "@supabase/ui" -import { supabase } from "@watheia/context" +import { supabase } from "@watheia/app.context" import styles from "./auth.module.css" export default function AuthPage() { diff --git a/apps/web/src/pages/blog/[...slug].tsx b/apps/web/src/pages/blog/[...slug].tsx index 091f541..d24909f 100644 --- a/apps/web/src/pages/blog/[...slug].tsx +++ b/apps/web/src/pages/blog/[...slug].tsx @@ -8,7 +8,7 @@ import SectionSeparator from "../../components/section-separator" import { getAllPostsWithSlug, getPostAndMorePosts } from "../../lib/dato" import PostTitle from "../../components/post-title" import Head from "next/head" -import { CMS_NAME } from "@watheia/context" +import { CMS_NAME } from "@watheia/app.context" import { markdownToHtml } from "@watheia/utils" export default function Post({ post, morePosts, preview }) { diff --git a/apps/web/src/pages/blog/index.tsx b/apps/web/src/pages/blog/index.tsx index c9ec66c..42e5864 100644 --- a/apps/web/src/pages/blog/index.tsx +++ b/apps/web/src/pages/blog/index.tsx @@ -4,7 +4,7 @@ import HeroPost from "../../components/hero-post" import Intro from "../../components/intro" import { getAllPostsForHome } from "../../lib/dato" import Head from "next/head" -import { SITE_NAME } from "@watheia/context" +import { SITE_NAME } from "@watheia/app.context" import styles from "./index.module.css" export default function BlogIndex({ allPosts }) { diff --git a/apps/web/src/pages/home.tsx b/apps/web/src/pages/home.tsx index 3ca8c86..c56a309 100644 --- a/apps/web/src/pages/home.tsx +++ b/apps/web/src/pages/home.tsx @@ -1,4 +1,4 @@ -import { useAuth } from "@watheia/context" +import { useAuth } from "@watheia/app.context" import Head from "next/head" import Home from "../components/views/home" diff --git a/libs/context/README.md b/libs/context/README.md index f51e8dd..1c5bc62 100644 --- a/libs/context/README.md +++ b/libs/context/README.md @@ -1,4 +1,4 @@ -# @watheia/context +# @watheia/app.context This library was generated with [Nx](https://nx.dev). @@ -11,19 +11,19 @@ Run `nx test context` to execute the unit tests via [Jest](https://jestjs.io). import {Layout} from '@react-spectrum/docs'; export default Layout; -import docs from 'docs:@react-spectrum/provider'; +import docs from 'docs:@watheia/app.context'; import {HeaderInfo, PropTable} from '@react-spectrum/docs'; -import packageData from '@react-spectrum/provider/package.json'; +import packageData from '@watheia/app.context/package.json'; ```jsx import import { Checkbox } from "@react-spectrum/checkbox" import { Form } from "@react-spectrum/form" -import { TextField } from "@react-spectrum/textfield" -import { Flex } from "@react-spectrum/layout" +import { TextField } from "@watheia/app.ui.atoms.textfield" +import { Flex } from "@watheia/app.ui.organisms.layout" import { Picker, Item } from "@react-spectrum/picker" import { ActionButton } from "@react-spectrum/button" import { RadioGroup, Radio } from "@react-spectrum/radio" -import { View } from "@react-spectrum/view" +import { View } from "@watheia/app.ui.atoms.view" ``` --- @@ -44,7 +44,7 @@ componentNames={['Provider']} /> ## Example ```tsx example -import { Provider } from "@react-spectrum/provider" +import { Provider } from "@watheia/app.context" import { theme } from "@react-spectrum/theme-default" import { Button } from "@react-spectrum/button" diff --git a/libs/context/package.json b/libs/context/package.json index b6a9c38..bd40688 100644 --- a/libs/context/package.json +++ b/libs/context/package.json @@ -1,4 +1,4 @@ { - "name": "@watheia/context", + "name": "@watheia/app.context", "version": "0.0.1" } diff --git a/libs/context/src/context.composition.tsx b/libs/context/src/context.composition.tsx index 6c44b2b..8267ace 100644 --- a/libs/context/src/context.composition.tsx +++ b/libs/context/src/context.composition.tsx @@ -6,7 +6,7 @@ export const MockComponent = () => { export function MockPage() { return ( -
+
diff --git a/libs/context/src/context.spec.tsx b/libs/context/src/context.spec.tsx index 2df1775..2eeac27 100644 --- a/libs/context/src/context.spec.tsx +++ b/libs/context/src/context.spec.tsx @@ -5,6 +5,6 @@ import { MockPage } from "./context.composition" describe("ContextProvider", () => { it("should render successfully", () => { const { getByTestId } = render() - expect(getByTestId("@watheia/context")).toBeTruthy() + expect(getByTestId("@watheia/app.context")).toBeTruthy() }) }) diff --git a/libs/context/src/index.tsx b/libs/context/src/index.tsx index 63b32ef..9a949e8 100644 --- a/libs/context/src/index.tsx +++ b/libs/context/src/index.tsx @@ -12,13 +12,13 @@ import { useStyleProps } from "@watheia/utils" import clsx from "clsx" -import { DOMRef } from "@react-types/shared" -import { filterDOMProps } from "@react-aria/utils" +import { DOMRef } from "@watheia/types" +import { filterDOMProps } from "@watheia/utils" import { I18nProvider, useLocale } from "@react-aria/i18n" import { ModalProvider, useModalProvider } from "@react-aria/overlays" import { ProviderContext, ProviderProps } from "@watheia/types" -// import styles from "@adobe/spectrum-css-temp/components/page/vars.css" -import typographyStyles from "@watheia/theme.styles.typography/vars.module.css" +// import { styles } from "@watheia/app.ui.atoms.text" +import { styles as typographyStyles } from "@watheia/app.ui.atoms.text" import { useColorScheme, useScale } from "./lib/mediaQueries" // import { version } from "../package.json" const version = "0.1.0" @@ -150,7 +150,7 @@ const ProviderWrapper = React.forwardRef(function ProviderWrapper( const { theme, colorScheme, scale } = useProvider() const { modalProviderProps } = useModalProvider() const { styleProps } = useStyleProps(otherProps) - const domRef = useDOMRef(ref) + const domRef = useDOMRef(ref) const themeKey = Object.keys(theme[colorScheme] ?? {})[0] const scaleKey = Object.keys(theme[scale] ?? {})[0] diff --git a/libs/context/src/lib/AuthContext.tsx b/libs/context/src/lib/AuthContext.tsx index d2d534d..5919373 100644 --- a/libs/context/src/lib/AuthContext.tsx +++ b/libs/context/src/lib/AuthContext.tsx @@ -3,30 +3,20 @@ import { Session, User } from "@supabase/supabase-js" import { supabase } from "./supabaseClient" import { Auth } from "@supabase/ui" -const defaultUser = { - id: "8d0fd2b3-9ca7-4d9e-a95f-9e13dded323e", - email: "admin@watheia.org", - username: "supabot", - app_metadata: {}, - user_metadata: {}, - aud: "", - created_at: "" -} - /** * Fetch all roles for the current user * @param {function} setState Optionally pass in a hook or callback to set the state */ -// const fetchUserRoles = async (setState: (arg0: any[] | null) => void) => { -// try { -// let { body } = await supabase.from("user_roles").select(`*`) -// if (setState) setState(body) -// return body -// } catch (error) { -// console.log("error", error) -// return void 0 -// } -// } +const fetchUserRoles = async (setState: (arg0: any[] | null) => void) => { + try { + let { body } = await supabase.from("user_roles").select(`*`) + if (setState) setState(body) + return body + } catch (error) { + console.log("error", error) + return void 0 + } +} interface IAuthContext { userLoaded: boolean @@ -71,8 +61,8 @@ const AuthContextProvider = ({ children }: { children: ReactNode }) => { setUser(currentUser ?? null) setUserLoaded(!!currentUser) if (currentUser) { - // console.log("User Loaded:", currentUser) - signIn(currentUser.id, currentUser.email) + console.log("User Loaded:", currentUser) + signIn(currentUser) // router.push("/channels/[id]", "/channels/1") } } @@ -83,12 +73,11 @@ const AuthContextProvider = ({ children }: { children: ReactNode }) => { } }, [user]) - const signIn = async (email: string = "", pass: string = "") => { - // console.log("signIn(email, pass)", email, pass) - setUser(defaultUser) - // await fetchUserRoles((userRoles) => - // setUserRoles(userRoles.map((userRole) => userRole.role)) - // ) + const signIn = async (props: any) => { + console.log("signIn(props)", props) + await fetchUserRoles((userRoles) => + setUserRoles(userRoles?.map((userRole) => userRole.role) ?? []) + ) } const signOut = async () => { diff --git a/libs/context/src/lib/mediaQueries.ts b/libs/context/src/lib/mediaQueries.ts index 03c452f..378b5f4 100644 --- a/libs/context/src/lib/mediaQueries.ts +++ b/libs/context/src/lib/mediaQueries.ts @@ -11,7 +11,7 @@ */ import { ColorScheme, Scale, Theme } from "@watheia/types" -import { useMediaQuery } from "@react-spectrum/utils" +import { useMediaQuery } from "@watheia/utils" export function useColorScheme( theme: Theme, diff --git a/libs/context/src/specs/Provider.ssr.test.js b/libs/context/src/specs/Provider.ssr.test.js new file mode 100644 index 0000000..5c50038 --- /dev/null +++ b/libs/context/src/specs/Provider.ssr.test.js @@ -0,0 +1,30 @@ +/* + * Copyright 2021 Adobe. All rights reserved. + * This file is licensed to you under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. You may obtain a copy + * of the License at http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software distributed under + * the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR REPRESENTATIONS + * OF ANY KIND, either express or implied. See the License for the specific language + * governing permissions and limitations under the License. + */ + +import { testSSR } from "@watheia/app.testing.utils" + +describe("Provider SSR", function () { + it("should render without errors", async function () { + jest.spyOn(navigator, "language", "get").mockImplementation(() => "fr") + await testSSR( + __filename, + ` + import {Provider} from '../'; + import {theme} from '@react-spectrum/theme-default'; + + +
+ + ` + ) + }) +}) diff --git a/libs/context/src/specs/Provider.test.js b/libs/context/src/specs/Provider.test.js new file mode 100644 index 0000000..a4fdf53 --- /dev/null +++ b/libs/context/src/specs/Provider.test.js @@ -0,0 +1,298 @@ +/* + * Copyright 2021 Adobe. All rights reserved. + * This file is licensed to you under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. You may obtain a copy + * of the License at http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software distributed under + * the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR REPRESENTATIONS + * OF ANY KIND, either express or implied. See the License for the specific language + * governing permissions and limitations under the License. + */ + +// needs to be imported first +import MatchMediaMock from "jest-matchmedia-mock" +// eslint-disable-next-line rulesdir/sort-imports +import { act, fireEvent, render } from "@testing-library/react" +import { Button } from "@react-spectrum/button" +import { Checkbox } from "@react-spectrum/checkbox" +import { Provider } from ".." +import React from "react" +import { Switch } from "@react-spectrum/switch" +import { TextField } from "@watheia/app.ui.atoms.textfield" +import { triggerPress } from "@watheia/app.testing.utils" +import { useBreakpoint } from "@watheia/utils" +import userEvent from "@testing-library/user-event" + +let theme = { + global: {}, + light: { "spectrum--light": "spectrum--light" }, + dark: { "spectrum--dark": "spectrum--dark" }, + medium: { "spectrum--medium": "spectrum--medium" }, + large: { "spectrum--large": "spectrum--large" } +} +let mediaQueryLight = "(prefers-color-scheme: light)" +let mediaQueryDark = "(prefers-color-scheme: dark)" +let mediaQueryMinXSmall = "(min-width: 190px)" +let mediaQueryMinSmall = "(min-width: 640px)" +let mediaQueryMinMedium = "(min-width: 768px)" +let mediaQueryMinLarge = "(min-width: 1024px)" + +describe("Provider", () => { + let matchMedia + beforeEach(() => { + matchMedia = new MatchMediaMock() + }) + afterEach(() => { + matchMedia.clear() + }) + + it("Uses OS theme by default - dark", () => { + matchMedia.useMediaQuery(mediaQueryDark) + let { getByTestId } = render( + +
hello
+
+ ) + let provider = getByTestId("testid") + expect(provider.classList.contains("spectrum--dark")).toBeTruthy() + }) + + it("Uses OS theme by default - light", () => { + matchMedia.useMediaQuery(mediaQueryLight) + let { getByTestId } = render( + +
hello
+
+ ) + let provider = getByTestId("testid") + expect(provider.classList.contains("spectrum--light")).toBeTruthy() + }) + + it("Can be set to dark regardless of OS setting", () => { + matchMedia.useMediaQuery(mediaQueryLight) + let { getByTestId } = render( + +
hello
+
+ ) + let provider = getByTestId("testid") + expect(provider.classList.contains("spectrum--dark")).toBeTruthy() + }) + + it("Provider passes props to children", () => { + let onChangeSpy = jest.fn() + let { getByLabelText } = render( + + Test Checkbox + Test Switch + + ) + + let checkbox = getByLabelText("Test Checkbox") + let switchComponent = getByLabelText("Test Switch") + + expect(switchComponent).toHaveAttribute("aria-readonly", "true") + expect(checkbox).toHaveAttribute("aria-readonly", "true") + + act(() => { + userEvent.click(checkbox) + userEvent.click(switchComponent) + }) + + expect(onChangeSpy).not.toHaveBeenCalled() + onChangeSpy.mockClear() + }) + + it("Nested providers follow their ancestors by default, not the OS", () => { + matchMedia.useMediaQuery(mediaQueryLight) + let { getByTestId } = render( + + +
hello
+
+
+ ) + let provider1 = getByTestId("testid1") + let provider2 = getByTestId("testid2") + expect(provider1.classList.contains("spectrum--dark")).toBeTruthy() + expect(provider2.classList.contains("spectrum--dark")).toBeTruthy() + }) + + it("Nested providers can update to follow their ancestors", () => { + matchMedia.useMediaQuery(mediaQueryDark) + let NestedProviders = (props) => ( + + +
hello
+
+
+ ) + let { getByTestId, rerender } = render() + let provider1 = getByTestId("testid1") + let provider2 = getByTestId("testid2") + expect(provider1.classList.contains("spectrum--dark")).toBeTruthy() + expect(provider2.classList.contains("spectrum--dark")).toBeTruthy() + + rerender() + provider1 = getByTestId("testid1") + provider2 = getByTestId("testid2") + expect(provider1.classList.contains("spectrum--light")).toBeTruthy() + expect(provider2.classList.contains("spectrum--light")).toBeTruthy() + }) + + it("Nested providers can be explicitly set to something else", () => { + matchMedia.useMediaQuery(mediaQueryLight) + let { getByTestId } = render( + + +
hello
+
+
+ ) + let provider1 = getByTestId("testid1") + let provider2 = getByTestId("testid2") + expect(provider1.classList.contains("spectrum--dark")).toBeTruthy() + expect(provider2.classList.contains("spectrum--light")).toBeTruthy() + }) + + it("Nested providers pass props to children", () => { + let onPressSpy = jest.fn() + let { getByRole } = render( + + + + + + ) + let button = getByRole("button") + triggerPress(button) + expect(onPressSpy).not.toHaveBeenCalled() + expect(button.classList.contains("spectrum-Button--quiet")).toBeTruthy() + onPressSpy.mockClear() + }) + + it("will render an available color scheme automatically if the previous does not exist on the new theme", () => { + matchMedia.useMediaQuery(mediaQueryDark) + let { getByTestId } = render( + + + + + + ) + let provider1 = getByTestId("testid1") + let provider2 = getByTestId("testid2") + expect(provider1.classList.contains("spectrum--dark")).toBeTruthy() + expect(provider2.classList.contains("spectrum--light")).toBeTruthy() + }) + + it("Provider will rerender if the OS preferred changes and it is on auto", () => { + matchMedia.useMediaQuery(mediaQueryLight) + let { getByTestId } = render( + + +
hello
+
+
+ ) + let provider1 = getByTestId("testid1") + let provider2 = getByTestId("testid2") + expect(provider1.classList.contains("spectrum--light")).toBeTruthy() + expect(provider2.classList.contains("spectrum--light")).toBeTruthy() + + act(() => { + matchMedia.useMediaQuery(mediaQueryDark) + }) + + expect(provider1.classList.contains("spectrum--dark")).toBeTruthy() + expect(provider2.classList.contains("spectrum--dark")).toBeTruthy() + }) + + describe("responsive styles", function () { + let breakpoints = { S: 480, M: 640, L: 1024 } + // jsdom/cssstyle doesn't support var() yet, so we need to use other values + it.each` + name | mediaquery | props | expected + ${"default"} | ${mediaQueryMinXSmall} | ${{}} | ${"192px"} + ${"default"} | ${mediaQueryMinSmall} | ${{}} | ${"1000px"} + ${"default"} | ${mediaQueryMinMedium} | ${{}} | ${"2000px"} + ${"default"} | ${mediaQueryMinLarge} | ${{}} | ${"3000px"} + ${"custom breakpoints"} | ${mediaQueryMinXSmall} | ${{ breakpoints }} | ${"192px"} + ${"custom breakpoints"} | ${"(min-width: 480px)"} | ${{ breakpoints }} | ${"1000px"} + ${"custom breakpoints"} | ${"(min-width: 640px)"} | ${{ breakpoints }} | ${"2000px"} + ${"custom breakpoints"} | ${"(min-width: 1024px)"} | ${{ breakpoints }} | ${"3000px"} + `("$name $mediaquery", function ({ mediaquery, props, expected }) { + matchMedia.useMediaQuery(mediaquery) + let { getByTestId } = render( + + + + ) + // use provider to get at the outer div, any props on TextField will end up on the input + let provider = getByTestId("testid1") + let field = provider.firstChild + expect(field).toHaveStyle({ width: expected }) + }) + + it.each` + mediaquery | expected + ${mediaQueryMinXSmall} | ${"192px"} + ${mediaQueryMinSmall} | ${"192px"} + ${mediaQueryMinMedium} | ${"192px"} + ${mediaQueryMinLarge} | ${"3000px"} + `("omitted sizes $mediaquery", function ({ mediaquery, expected }) { + matchMedia.useMediaQuery(mediaquery) + let { getByTestId } = render( + + + + ) + let provider = getByTestId("testid1") + let field = provider.firstChild + expect(field).toHaveStyle({ width: expected }) + }) + + it("only renders once for multiple resizes in the same range", function () { + function Component(props) { + let { matchedBreakpoints } = useBreakpoint() + let { onRender, ...otherProps } = props + onRender(matchedBreakpoints[0]) + return + } + + matchMedia.useMediaQuery("(min-width: 768px)") + + let onRender = jest.fn() + render( + + + + ) + expect(onRender).toHaveBeenCalledTimes(1) + expect(onRender).toHaveBeenNthCalledWith(1, "M") + + matchMedia.useMediaQuery("(min-width: 1024px)") + fireEvent(window, new Event("resize")) + + expect(onRender).toHaveBeenCalledTimes(2) + expect(onRender).toHaveBeenNthCalledWith(2, "L") + + fireEvent(window, new Event("resize")) + + // shouldn't fire again for something in the same range as before + expect(onRender).toHaveBeenCalledTimes(2) + }) + }) +}) diff --git a/libs/context/src/specs/mediaQueries.test.js b/libs/context/src/specs/mediaQueries.test.js new file mode 100644 index 0000000..ee4eb57 --- /dev/null +++ b/libs/context/src/specs/mediaQueries.test.js @@ -0,0 +1,63 @@ +/* + * Copyright 2021 Adobe. All rights reserved. + * This file is licensed to you under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. You may obtain a copy + * of the License at http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software distributed under + * the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR REPRESENTATIONS + * OF ANY KIND, either express or implied. See the License for the specific language + * governing permissions and limitations under the License. + */ + +// needs to be imported first +import MatchMediaMock from "jest-matchmedia-mock" +// eslint-disable-next-line rulesdir/sort-imports +import React from "react" +import { renderHook } from "@testing-library/react-hooks" +import { useColorScheme } from "../src/mediaQueries" + +const theme = { + global: {}, + light: {}, + dark: {}, + medium: {}, + large: {} +} + +const mediaQueryLight = "(prefers-color-scheme: light)" +const mediaQueryDark = "(prefers-color-scheme: dark)" + +describe("mediaQueries", () => { + let matchMedia + beforeEach(() => { + matchMedia = new MatchMediaMock() + }) + afterEach(() => { + matchMedia.clear() + }) + + describe("useColorScheme", () => { + it("uses OS as default - dark", () => { + matchMedia.useMediaQuery(mediaQueryDark) + let { result } = renderHook(() => useColorScheme(theme, "light")) + expect(result.current).toBe("dark") + }) + + it("uses OS as default - light", () => { + matchMedia.useMediaQuery(mediaQueryLight) + let { result } = renderHook(() => useColorScheme(theme, "light")) + expect(result.current).toBe("light") + }) + + it("uses default light if OS is not useable", () => { + let { result } = renderHook(() => useColorScheme(theme, "light")) + expect(result.current).toBe("light") + }) + + it("uses default dark if OS is not useable", () => { + let { result } = renderHook(() => useColorScheme(theme, "dark")) + expect(result.current).toBe("dark") + }) + }) +}) diff --git a/libs/testing/utils/.babelrc b/libs/testing/utils/.babelrc new file mode 100644 index 0000000..cf7ddd9 --- /dev/null +++ b/libs/testing/utils/.babelrc @@ -0,0 +1,3 @@ +{ + "presets": [["@nrwl/web/babel", { "useBuiltIns": "usage" }]] +} diff --git a/libs/ui/layout/.eslintrc.json b/libs/testing/utils/.eslintrc.json similarity index 71% rename from libs/ui/layout/.eslintrc.json rename to libs/testing/utils/.eslintrc.json index d1fd183..ccfd198 100644 --- a/libs/ui/layout/.eslintrc.json +++ b/libs/testing/utils/.eslintrc.json @@ -1,11 +1,11 @@ { - "extends": ["plugin:@nrwl/nx/react", "../../.eslintrc.json"], + "extends": ["../../../.eslintrc.json"], "ignorePatterns": ["!**/*"], "overrides": [ { "files": ["*.ts", "*.tsx", "*.js", "*.jsx"], "parserOptions": { - "project": ["libs/ui/layout/tsconfig.*?.json"] + "project": ["libs/testing/utils/tsconfig.*?.json"] }, "rules": {} }, diff --git a/libs/testing/utils/README.md b/libs/testing/utils/README.md new file mode 100644 index 0000000..2c2d799 --- /dev/null +++ b/libs/testing/utils/README.md @@ -0,0 +1,7 @@ +# testing-utils + +This library was generated with [Nx](https://nx.dev). + +## Running unit tests + +Run `nx test testing-utils` to execute the unit tests via [Jest](https://jestjs.io). diff --git a/libs/testing/utils/jest.config.js b/libs/testing/utils/jest.config.js new file mode 100644 index 0000000..3ca51fd --- /dev/null +++ b/libs/testing/utils/jest.config.js @@ -0,0 +1,15 @@ +module.exports = { + displayName: "testing-utils", + preset: "../../../jest.preset.js", + globals: { + "ts-jest": { + tsconfig: "/tsconfig.spec.json" + } + }, + testEnvironment: "node", + transform: { + "^.+\\.[tj]sx?$": "ts-jest" + }, + moduleFileExtensions: ["ts", "tsx", "js", "jsx"], + coverageDirectory: "../../../coverage/libs/testing/utils" +} diff --git a/libs/testing/utils/package.json b/libs/testing/utils/package.json new file mode 100644 index 0000000..6dcdd6d --- /dev/null +++ b/libs/testing/utils/package.json @@ -0,0 +1,4 @@ +{ + "name": "@watheia/app.testing.utils", + "version": "0.0.1" +} diff --git a/libs/testing/utils/project.json b/libs/testing/utils/project.json new file mode 100644 index 0000000..1cb1332 --- /dev/null +++ b/libs/testing/utils/project.json @@ -0,0 +1,34 @@ +{ + "root": "libs/testing/utils", + "sourceRoot": "libs/testing/utils/src", + "projectType": "library", + "targets": { + "build": { + "executor": "@nrwl/node:package", + "outputs": ["{options.outputPath}"], + "options": { + "outputPath": "dist/libs/testing/utils", + "tsConfig": "libs/testing/utils/tsconfig.lib.json", + "packageJson": "libs/testing/utils/package.json", + "main": "libs/testing/utils/src/index.ts", + "assets": ["libs/testing/utils/*.md"] + } + }, + "lint": { + "executor": "@nrwl/linter:eslint", + "outputs": ["{options.outputFile}"], + "options": { + "lintFilePatterns": ["libs/testing/utils/**/*.ts"] + } + }, + "test": { + "executor": "@nrwl/jest:jest", + "outputs": ["coverage/libs/testing/utils"], + "options": { + "jestConfig": "libs/testing/utils/jest.config.js", + "passWithNoTests": true + } + } + }, + "tags": [] +} diff --git a/libs/testing/utils/src/events.ts b/libs/testing/utils/src/events.ts new file mode 100644 index 0000000..b902950 --- /dev/null +++ b/libs/testing/utils/src/events.ts @@ -0,0 +1,121 @@ +/* eslint-disable @typescript-eslint/ban-ts-comment */ +/* + * Copyright 2020 Adobe. All rights reserved. + * This file is licensed to you under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. You may obtain a copy + * of the License at http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software distributed under + * the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR REPRESENTATIONS + * OF ANY KIND, either express or implied. See the License for the specific language + * governing permissions and limitations under the License. + */ + +import { act, fireEvent } from "@testing-library/react" +import type { ITypeOpts } from "@testing-library/user-event" +import userEvent from "@testing-library/user-event" + +// Triggers a "press" event on an element. +// TODO: move to somewhere more common +export function triggerPress(element, opts = {}) { + fireEvent.mouseDown(element, { detail: 1, ...opts }) + fireEvent.mouseUp(element, { detail: 1, ...opts }) + fireEvent.click(element, { detail: 1, ...opts }) +} + +/** + * Enables reading pageX/pageY from fireEvent.mouse*(..., {pageX: ..., pageY: ...}). + */ +export function installMouseEvent() { + beforeAll(() => { + const oldMouseEvent = MouseEvent + // @ts-ignore + global.MouseEvent = class FakeMouseEvent extends MouseEvent { + _init: { pageX: number; pageY: number } + constructor(name, init) { + super(name, init) + this._init = init + } + get pageX() { + return this._init.pageX + } + get pageY() { + return this._init.pageY + } + } + // @ts-ignore + global.MouseEvent.oldMouseEvent = oldMouseEvent + }) + afterAll(() => { + // @ts-ignore + global.MouseEvent = global.MouseEvent.oldMouseEvent + }) +} + +export function installPointerEvent() { + beforeAll(() => { + // @ts-ignore + global.PointerEvent = class FakePointerEvent extends MouseEvent { + _init: { + pageX: number + pageY: number + pointerType: string + pointerId: number + width: number + height: number + } + constructor(name, init) { + super(name, init) + this._init = init + } + get pointerType() { + return this._init.pointerType + } + get pointerId() { + return this._init.pointerId + } + get pageX() { + return this._init.pageX + } + get pageY() { + return this._init.pageY + } + get width() { + return this._init.width + } + get height() { + return this._init.height + } + } + }) + afterAll(() => { + // @ts-ignore + delete global.PointerEvent + }) +} + +/** + * Must **not** be called inside an `act` callback! + * + * \@testing-library/user-event's `type` helper doesn't call `act` every keystroke. + * But we want to run all event handles after every character. + * @param el The input element to type into. + * @param value The text. + */ +export function typeText(el: HTMLElement, value: string, opts?: ITypeOpts) { + let skipClick = document.activeElement === el + for (const char of value) { + act(() => { + userEvent.type(el, char, { skipClick, ...opts }) + }) + + skipClick = true + } +} +function beforeAll(arg0: () => void) { + throw new Error("Function not implemented.") +} + +function afterAll(arg0: () => void) { + throw new Error("Function not implemented.") +} diff --git a/libs/testing/utils/src/index.ts b/libs/testing/utils/src/index.ts new file mode 100644 index 0000000..ffd4700 --- /dev/null +++ b/libs/testing/utils/src/index.ts @@ -0,0 +1,14 @@ +/* + * Copyright 2020 Adobe. All rights reserved. + * This file is licensed to you under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. You may obtain a copy + * of the License at http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software distributed under + * the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR REPRESENTATIONS + * OF ANY KIND, either express or implied. See the License for the specific language + * governing permissions and limitations under the License. + */ + +export * from "./events" +export * from "./testSSR" diff --git a/libs/testing/utils/src/ssrSetup.js b/libs/testing/utils/src/ssrSetup.js new file mode 100644 index 0000000..5dd0669 --- /dev/null +++ b/libs/testing/utils/src/ssrSetup.js @@ -0,0 +1,5 @@ +const { Worker } = require("worker_threads") + +module.exports = async () => { + global.__SSR_SERVER__ = new Worker(__dirname + "/ssrWorker.js") +} diff --git a/libs/testing/utils/src/ssrTeardown.js b/libs/testing/utils/src/ssrTeardown.js new file mode 100644 index 0000000..1471bdd --- /dev/null +++ b/libs/testing/utils/src/ssrTeardown.js @@ -0,0 +1,4 @@ +// teardown.js +module.exports = async function () { + global.__SSR_SERVER__.terminate() +} diff --git a/libs/testing/utils/src/ssrUtils.js b/libs/testing/utils/src/ssrUtils.js new file mode 100644 index 0000000..668b207 --- /dev/null +++ b/libs/testing/utils/src/ssrUtils.js @@ -0,0 +1,36 @@ +/* + * Copyright 2020 Adobe. All rights reserved. + * This file is licensed to you under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. You may obtain a copy + * of the License at http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software distributed under + * the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR REPRESENTATIONS + * OF ANY KIND, either express or implied. See the License for the specific language + * governing permissions and limitations under the License. + */ + +import path from "path" +import React from "react" +import resolve from "resolve" +import vm from "vm" + +export function evaluate(code, filename) { + // Setup a context to use as the global object when evaluating code. + // It will include React, along with a fake `require` function that resolves + // relative to the filename that's passed in (the test script.) + let ctx = { + React, + require(id) { + let resolved = resolve.sync(id, { + basedir: path.dirname(filename), + extensions: [".js", ".json", ".ts", ".tsx"] + }) + + return require(resolved) + } + } + + vm.createContext(ctx) + return vm.runInContext(code, ctx) +} diff --git a/libs/testing/utils/src/ssrWorker.js b/libs/testing/utils/src/ssrWorker.js new file mode 100644 index 0000000..0677a44 --- /dev/null +++ b/libs/testing/utils/src/ssrWorker.js @@ -0,0 +1,68 @@ +/* + * Copyright 2020 Adobe. All rights reserved. + * This file is licensed to you under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. You may obtain a copy + * of the License at http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software distributed under + * the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR REPRESENTATIONS + * OF ANY KIND, either express or implied. See the License for the specific language + * governing permissions and limitations under the License. + */ + +const http = require("http") +const identityObjectProxy = require("identity-obj-proxy") +const ignoreStyles = require("ignore-styles") +const React = require("react") +const ReactDOMServer = require("react-dom/server") +const util = require("util") + +ignoreStyles.default(undefined, (module) => { + module.exports = identityObjectProxy +}) + +require("@babel/register")({ + extensions: [".js", ".ts", ".tsx"] +}) + +let { evaluate } = require("./ssrUtils") +let { SSRProvider } = require("@react-aria/ssr") + +http + .createServer((req, res) => { + let body = "" + req.on("data", (chunk) => { + body += chunk + }) + + req.on("end", () => { + let parsed = JSON.parse(body) + + // Capture React errors/warning and make them fail the tests. + let errors = [] + console.error = console.warn = (...messages) => { + errors.push(util.format(...messages)) + } + + let html + try { + // Evaluate the code, and render the resulting JSX element to HTML. + let element = evaluate(parsed.source, parsed.filename) + html = ReactDOMServer.renderToString( + React.createElement(SSRProvider, undefined, element) + ) + } catch (err) { + errors.push(err.stack) + } + + if (errors.length > 0) { + res.statusCode = 500 + res.setHeader("Content-Type", "application/json") + res.end(JSON.stringify({ errors })) + } else { + res.setHeader("Content-Type", "text/html") + res.end(html) + } + }) + }) + .listen(18235) diff --git a/libs/testing/utils/src/testSSR.js b/libs/testing/utils/src/testSSR.js new file mode 100644 index 0000000..866d4d5 --- /dev/null +++ b/libs/testing/utils/src/testSSR.js @@ -0,0 +1,79 @@ +/* + * Copyright 2020 Adobe. All rights reserved. + * This file is licensed to you under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. You may obtain a copy + * of the License at http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software distributed under + * the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR REPRESENTATIONS + * OF ANY KIND, either express or implied. See the License for the specific language + * governing permissions and limitations under the License. + */ + +// Can't `import` babel, have to require? +const babel = require("@babel/core") +import { evaluate } from "./ssrUtils" +import http from "http" +import React from "react" +import ReactDOM from "react-dom" +import { SSRProvider } from "@react-aria/ssr" +import util from "util" + +export async function testSSR(filename, source) { + // Transform the code with babel so JSX becomes JS. + source = babel.transformSync(source, { filename }).code + + // Send the HTML along with the source code to the worker to be hydrated in a DOM environment. + return new Promise((resolve, reject) => { + let req = http.request( + { + hostname: "localhost", + port: 18235, + method: "POST", + headers: { + "Content-Type": "application/json" + } + }, + (res) => { + let body = "" + res.setEncoding("utf8") + res.on("data", (chunk) => { + body += chunk + }) + + res.on("end", () => { + if (res.statusCode !== 200) { + let data = JSON.parse(body) + reject(new Error(data.errors[0])) + return + } + + // Capture React errors/warning and make them fail the tests. + let errors = [] + console.error = console.warn = (...messages) => { + errors.push(util.format(...messages)) + } + + // Evaluate the code to get a React element, and hydrate into the dom. + try { + document.body.innerHTML = `
${body}
` + let container = document.querySelector("#root") + let element = evaluate(source, filename) + ReactDOM.hydrate({element}, container) + } catch (err) { + errors.push(err.stack) + } + + if (errors.length > 0) { + reject(new Error(errors[0])) + } else { + resolve() + } + }) + } + ) + + req.write(JSON.stringify({ filename, source })) + req.end() + }) +} diff --git a/libs/testing/utils/tsconfig.json b/libs/testing/utils/tsconfig.json new file mode 100644 index 0000000..667a346 --- /dev/null +++ b/libs/testing/utils/tsconfig.json @@ -0,0 +1,13 @@ +{ + "extends": "../../../tsconfig.base.json", + "files": [], + "include": [], + "references": [ + { + "path": "./tsconfig.lib.json" + }, + { + "path": "./tsconfig.spec.json" + } + ] +} diff --git a/libs/testing/utils/tsconfig.lib.json b/libs/testing/utils/tsconfig.lib.json new file mode 100644 index 0000000..ca4b70c --- /dev/null +++ b/libs/testing/utils/tsconfig.lib.json @@ -0,0 +1,11 @@ +{ + "extends": "./tsconfig.json", + "compilerOptions": { + "module": "commonjs", + "outDir": "../../../dist/out-tsc", + "declaration": true, + "types": ["node"] + }, + "exclude": ["**/*.spec.ts"], + "include": ["**/*.ts"] +} diff --git a/libs/ui/atoms/tsconfig.spec.json b/libs/testing/utils/tsconfig.spec.json similarity index 100% rename from libs/ui/atoms/tsconfig.spec.json rename to libs/testing/utils/tsconfig.spec.json diff --git a/libs/theme/src/lib/theme-dark.ts b/libs/theme/src/lib/theme-dark.ts index 1d0c6b8..0f89cb1 100644 --- a/libs/theme/src/lib/theme-dark.ts +++ b/libs/theme/src/lib/theme-dark.ts @@ -1,5 +1,5 @@ /* - * Copyright 2021 Watheia Labs, LLC. All rights reserved. + * Copyright 2021 Adobe. All rights reserved. * This file is licensed to you under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. You may obtain a copy * of the License at http://www.apache.org/licenses/LICENSE-2.0 diff --git a/libs/theme/src/lib/theme-default.ts b/libs/theme/src/lib/theme-default.ts index 0f51698..b1c1944 100644 --- a/libs/theme/src/lib/theme-default.ts +++ b/libs/theme/src/lib/theme-default.ts @@ -1,5 +1,5 @@ /* - * Copyright 2021 Watheia Labs, LLC. All rights reserved. + * Copyright 2021 Adobe. All rights reserved. * This file is licensed to you under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. You may obtain a copy * of the License at http://www.apache.org/licenses/LICENSE-2.0 diff --git a/libs/theme/src/lib/theme-light.ts b/libs/theme/src/lib/theme-light.ts index 7a012ac..cd9e936 100644 --- a/libs/theme/src/lib/theme-light.ts +++ b/libs/theme/src/lib/theme-light.ts @@ -1,5 +1,5 @@ /* - * Copyright 2021 Watheia Labs, LLC. All rights reserved. + * Copyright 2021 Adobe. All rights reserved. * This file is licensed to you under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. You may obtain a copy * of the License at http://www.apache.org/licenses/LICENSE-2.0 diff --git a/libs/theme/src/lib/use-color-scheme.tsx b/libs/theme/src/lib/use-color-scheme.tsx index 66883fa..cb6aadf 100644 --- a/libs/theme/src/lib/use-color-scheme.tsx +++ b/libs/theme/src/lib/use-color-scheme.tsx @@ -1,5 +1,5 @@ import { Theme, ColorScheme } from "./types" -import { useMediaQuery } from "@react-spectrum/utils" +import { useMediaQuery } from "@watheia/utils" export default function useColorScheme( theme: Theme, diff --git a/libs/theme/src/lib/use-scale.tsx b/libs/theme/src/lib/use-scale.tsx index 0c23ead..3602160 100644 --- a/libs/theme/src/lib/use-scale.tsx +++ b/libs/theme/src/lib/use-scale.tsx @@ -1,5 +1,5 @@ import { Theme, Scale } from "./types" -import { useMediaQuery } from "@react-spectrum/utils" +import { useMediaQuery } from "@watheia/utils" export default function useScale(theme: Theme): Scale { let matchesFine = useMediaQuery("(any-pointer: fine)") diff --git a/libs/theme/src/styles/components/accordion/index.module.css b/libs/theme/src/styles/components/accordion/index.module.css index 48de6b9..a04b4ee 100644 --- a/libs/theme/src/styles/components/accordion/index.module.css +++ b/libs/theme/src/styles/components/accordion/index.module.css @@ -1,5 +1,5 @@ /* -Copyright 2021 Watheia Labs, LLC. All rights reserved. +Copyright 2021 Adobe. All rights reserved. This file is licensed to you under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. You may obtain a copy of the License at http://www.apache.org/licenses/LICENSE-2.0 diff --git a/libs/theme/src/styles/components/accordion/skin.module.css b/libs/theme/src/styles/components/accordion/skin.module.css index 7340d12..71e1d65 100644 --- a/libs/theme/src/styles/components/accordion/skin.module.css +++ b/libs/theme/src/styles/components/accordion/skin.module.css @@ -1,5 +1,5 @@ /* -Copyright 2021 Watheia Labs, LLC. All rights reserved. +Copyright 2021 Adobe. All rights reserved. This file is licensed to you under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. You may obtain a copy of the License at http://www.apache.org/licenses/LICENSE-2.0 diff --git a/libs/theme/src/styles/components/accordion/vars.module.css b/libs/theme/src/styles/components/accordion/vars.module.css index 8a3b38a..405bbd2 100644 --- a/libs/theme/src/styles/components/accordion/vars.module.css +++ b/libs/theme/src/styles/components/accordion/vars.module.css @@ -1,5 +1,5 @@ /* - * Copyright 2021 Watheia Labs, LLC. All rights reserved. + * Copyright 2021 Adobe. All rights reserved. * This file is licensed to you under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. You may obtain a copy * of the License at http://www.apache.org/licenses/LICENSE-2.0 diff --git a/libs/theme/src/styles/components/actiongroup/index.module.css b/libs/theme/src/styles/components/actiongroup/index.module.css index d6277e9..f72d48f 100644 --- a/libs/theme/src/styles/components/actiongroup/index.module.css +++ b/libs/theme/src/styles/components/actiongroup/index.module.css @@ -1,5 +1,5 @@ /* -Copyright 2021 Watheia Labs, LLC. All rights reserved. +Copyright 2021 Adobe. All rights reserved. This file is licensed to you under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. You may obtain a copy of the License at http://www.apache.org/licenses/LICENSE-2.0 diff --git a/libs/theme/src/styles/components/actiongroup/vars.module.css b/libs/theme/src/styles/components/actiongroup/vars.module.css index b8e51b2..37cc5d4 100644 --- a/libs/theme/src/styles/components/actiongroup/vars.module.css +++ b/libs/theme/src/styles/components/actiongroup/vars.module.css @@ -1,5 +1,5 @@ /* - * Copyright 2021 Watheia Labs, LLC. All rights reserved. + * Copyright 2021 Adobe. All rights reserved. * This file is licensed to you under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. You may obtain a copy * of the License at http://www.apache.org/licenses/LICENSE-2.0 diff --git a/libs/theme/src/styles/components/actionmenu/index.module.css b/libs/theme/src/styles/components/actionmenu/index.module.css index ba0f300..3d984ba 100644 --- a/libs/theme/src/styles/components/actionmenu/index.module.css +++ b/libs/theme/src/styles/components/actionmenu/index.module.css @@ -1,5 +1,5 @@ /* -Copyright 2021 Watheia Labs, LLC. All rights reserved. +Copyright 2021 Adobe. All rights reserved. This file is licensed to you under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. You may obtain a copy of the License at http://www.apache.org/licenses/LICENSE-2.0 diff --git a/libs/theme/src/styles/components/actionmenu/vars.module.css b/libs/theme/src/styles/components/actionmenu/vars.module.css index b8e51b2..37cc5d4 100644 --- a/libs/theme/src/styles/components/actionmenu/vars.module.css +++ b/libs/theme/src/styles/components/actionmenu/vars.module.css @@ -1,5 +1,5 @@ /* - * Copyright 2021 Watheia Labs, LLC. All rights reserved. + * Copyright 2021 Adobe. All rights reserved. * This file is licensed to you under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. You may obtain a copy * of the License at http://www.apache.org/licenses/LICENSE-2.0 diff --git a/libs/theme/src/styles/components/alert/index.module.css b/libs/theme/src/styles/components/alert/index.module.css index 9a072f7..13b759c 100644 --- a/libs/theme/src/styles/components/alert/index.module.css +++ b/libs/theme/src/styles/components/alert/index.module.css @@ -1,5 +1,5 @@ /* -Copyright 2021 Watheia Labs, LLC. All rights reserved. +Copyright 2021 Adobe. All rights reserved. This file is licensed to you under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. You may obtain a copy of the License at http://www.apache.org/licenses/LICENSE-2.0 diff --git a/libs/theme/src/styles/components/alert/skin.module.css b/libs/theme/src/styles/components/alert/skin.module.css index 562f490..73e2f39 100644 --- a/libs/theme/src/styles/components/alert/skin.module.css +++ b/libs/theme/src/styles/components/alert/skin.module.css @@ -1,5 +1,5 @@ /* -Copyright 2021 Watheia Labs, LLC. All rights reserved. +Copyright 2021 Adobe. All rights reserved. This file is licensed to you under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. You may obtain a copy of the License at http://www.apache.org/licenses/LICENSE-2.0 diff --git a/libs/theme/src/styles/components/alert/vars.module.css b/libs/theme/src/styles/components/alert/vars.module.css index 8a3b38a..405bbd2 100644 --- a/libs/theme/src/styles/components/alert/vars.module.css +++ b/libs/theme/src/styles/components/alert/vars.module.css @@ -1,5 +1,5 @@ /* - * Copyright 2021 Watheia Labs, LLC. All rights reserved. + * Copyright 2021 Adobe. All rights reserved. * This file is licensed to you under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. You may obtain a copy * of the License at http://www.apache.org/licenses/LICENSE-2.0 diff --git a/libs/theme/src/styles/components/asset/index.module.css b/libs/theme/src/styles/components/asset/index.module.css index fed6eb8..dd2c51a 100644 --- a/libs/theme/src/styles/components/asset/index.module.css +++ b/libs/theme/src/styles/components/asset/index.module.css @@ -1,5 +1,5 @@ /* -Copyright 2021 Watheia Labs, LLC. All rights reserved. +Copyright 2021 Adobe. All rights reserved. This file is licensed to you under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. You may obtain a copy of the License at http://www.apache.org/licenses/LICENSE-2.0 diff --git a/libs/theme/src/styles/components/asset/skin.module.css b/libs/theme/src/styles/components/asset/skin.module.css index 42562fa..cd204c8 100644 --- a/libs/theme/src/styles/components/asset/skin.module.css +++ b/libs/theme/src/styles/components/asset/skin.module.css @@ -1,5 +1,5 @@ /* -Copyright 2021 Watheia Labs, LLC. All rights reserved. +Copyright 2021 Adobe. All rights reserved. This file is licensed to you under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. You may obtain a copy of the License at http://www.apache.org/licenses/LICENSE-2.0 diff --git a/libs/theme/src/styles/components/asset/vars.module.css b/libs/theme/src/styles/components/asset/vars.module.css index 8a3b38a..405bbd2 100644 --- a/libs/theme/src/styles/components/asset/vars.module.css +++ b/libs/theme/src/styles/components/asset/vars.module.css @@ -1,5 +1,5 @@ /* - * Copyright 2021 Watheia Labs, LLC. All rights reserved. + * Copyright 2021 Adobe. All rights reserved. * This file is licensed to you under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. You may obtain a copy * of the License at http://www.apache.org/licenses/LICENSE-2.0 diff --git a/libs/theme/src/styles/components/assetlist/index.module.css b/libs/theme/src/styles/components/assetlist/index.module.css index da9e0c9..6b6880e 100644 --- a/libs/theme/src/styles/components/assetlist/index.module.css +++ b/libs/theme/src/styles/components/assetlist/index.module.css @@ -1,5 +1,5 @@ /* -Copyright 2021 Watheia Labs, LLC. All rights reserved. +Copyright 2021 Adobe. All rights reserved. This file is licensed to you under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. You may obtain a copy of the License at http://www.apache.org/licenses/LICENSE-2.0 diff --git a/libs/theme/src/styles/components/assetlist/skin.module.css b/libs/theme/src/styles/components/assetlist/skin.module.css index 673778a..becbaa4 100644 --- a/libs/theme/src/styles/components/assetlist/skin.module.css +++ b/libs/theme/src/styles/components/assetlist/skin.module.css @@ -1,5 +1,5 @@ /* -Copyright 2021 Watheia Labs, LLC. All rights reserved. +Copyright 2021 Adobe. All rights reserved. This file is licensed to you under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. You may obtain a copy of the License at http://www.apache.org/licenses/LICENSE-2.0 diff --git a/libs/theme/src/styles/components/assetlist/vars.module.css b/libs/theme/src/styles/components/assetlist/vars.module.css index 8a3b38a..405bbd2 100644 --- a/libs/theme/src/styles/components/assetlist/vars.module.css +++ b/libs/theme/src/styles/components/assetlist/vars.module.css @@ -1,5 +1,5 @@ /* - * Copyright 2021 Watheia Labs, LLC. All rights reserved. + * Copyright 2021 Adobe. All rights reserved. * This file is licensed to you under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. You may obtain a copy * of the License at http://www.apache.org/licenses/LICENSE-2.0 diff --git a/libs/theme/src/styles/components/avatar/index.module.css b/libs/theme/src/styles/components/avatar/index.module.css index 4e6bbc1..9968864 100644 --- a/libs/theme/src/styles/components/avatar/index.module.css +++ b/libs/theme/src/styles/components/avatar/index.module.css @@ -1,5 +1,5 @@ /* -Copyright 2021 Watheia Labs, LLC. All rights reserved. +Copyright 2021 Adobe. All rights reserved. This file is licensed to you under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. You may obtain a copy of the License at http://www.apache.org/licenses/LICENSE-2.0 diff --git a/libs/theme/src/styles/components/avatar/skin.module.css b/libs/theme/src/styles/components/avatar/skin.module.css index b637763..6e90b95 100644 --- a/libs/theme/src/styles/components/avatar/skin.module.css +++ b/libs/theme/src/styles/components/avatar/skin.module.css @@ -1,5 +1,5 @@ /* -Copyright 2021 Watheia Labs, LLC. All rights reserved. +Copyright 2021 Adobe. All rights reserved. This file is licensed to you under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. You may obtain a copy of the License at http://www.apache.org/licenses/LICENSE-2.0 diff --git a/libs/theme/src/styles/components/avatar/vars.module.css b/libs/theme/src/styles/components/avatar/vars.module.css index 8a3b38a..405bbd2 100644 --- a/libs/theme/src/styles/components/avatar/vars.module.css +++ b/libs/theme/src/styles/components/avatar/vars.module.css @@ -1,5 +1,5 @@ /* - * Copyright 2021 Watheia Labs, LLC. All rights reserved. + * Copyright 2021 Adobe. All rights reserved. * This file is licensed to you under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. You may obtain a copy * of the License at http://www.apache.org/licenses/LICENSE-2.0 diff --git a/libs/theme/src/styles/components/banner/index.module.css b/libs/theme/src/styles/components/banner/index.module.css index 542e3f1..497d58a 100644 --- a/libs/theme/src/styles/components/banner/index.module.css +++ b/libs/theme/src/styles/components/banner/index.module.css @@ -1,5 +1,5 @@ /* -Copyright 2021 Watheia Labs, LLC. All rights reserved. +Copyright 2021 Adobe. All rights reserved. This file is licensed to you under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. You may obtain a copy of the License at http://www.apache.org/licenses/LICENSE-2.0 diff --git a/libs/theme/src/styles/components/banner/skin.module.css b/libs/theme/src/styles/components/banner/skin.module.css index d474146..98e6831 100644 --- a/libs/theme/src/styles/components/banner/skin.module.css +++ b/libs/theme/src/styles/components/banner/skin.module.css @@ -1,5 +1,5 @@ /* -Copyright 2021 Watheia Labs, LLC. All rights reserved. +Copyright 2021 Adobe. All rights reserved. This file is licensed to you under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. You may obtain a copy of the License at http://www.apache.org/licenses/LICENSE-2.0 diff --git a/libs/theme/src/styles/components/banner/vars.module.css b/libs/theme/src/styles/components/banner/vars.module.css index 8a3b38a..405bbd2 100644 --- a/libs/theme/src/styles/components/banner/vars.module.css +++ b/libs/theme/src/styles/components/banner/vars.module.css @@ -1,5 +1,5 @@ /* - * Copyright 2021 Watheia Labs, LLC. All rights reserved. + * Copyright 2021 Adobe. All rights reserved. * This file is licensed to you under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. You may obtain a copy * of the License at http://www.apache.org/licenses/LICENSE-2.0 diff --git a/libs/theme/src/styles/components/barloader/index.module.css b/libs/theme/src/styles/components/barloader/index.module.css index c554474..0332a3c 100644 --- a/libs/theme/src/styles/components/barloader/index.module.css +++ b/libs/theme/src/styles/components/barloader/index.module.css @@ -1,5 +1,5 @@ /* -Copyright 2021 Watheia Labs, LLC. All rights reserved. +Copyright 2021 Adobe. All rights reserved. This file is licensed to you under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. You may obtain a copy of the License at http://www.apache.org/licenses/LICENSE-2.0 diff --git a/libs/theme/src/styles/components/barloader/skin.module.css b/libs/theme/src/styles/components/barloader/skin.module.css index a58c947..c242641 100644 --- a/libs/theme/src/styles/components/barloader/skin.module.css +++ b/libs/theme/src/styles/components/barloader/skin.module.css @@ -1,5 +1,5 @@ /* -Copyright 2021 Watheia Labs, LLC. All rights reserved. +Copyright 2021 Adobe. All rights reserved. This file is licensed to you under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. You may obtain a copy of the License at http://www.apache.org/licenses/LICENSE-2.0 diff --git a/libs/theme/src/styles/components/barloader/vars.module.css b/libs/theme/src/styles/components/barloader/vars.module.css index 8a3b38a..405bbd2 100644 --- a/libs/theme/src/styles/components/barloader/vars.module.css +++ b/libs/theme/src/styles/components/barloader/vars.module.css @@ -1,5 +1,5 @@ /* - * Copyright 2021 Watheia Labs, LLC. All rights reserved. + * Copyright 2021 Adobe. All rights reserved. * This file is licensed to you under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. You may obtain a copy * of the License at http://www.apache.org/licenses/LICENSE-2.0 diff --git a/libs/theme/src/styles/components/breadcrumb/index.module.css b/libs/theme/src/styles/components/breadcrumb/index.module.css index c81d8f3..ac13766 100644 --- a/libs/theme/src/styles/components/breadcrumb/index.module.css +++ b/libs/theme/src/styles/components/breadcrumb/index.module.css @@ -1,5 +1,5 @@ /* -Copyright 2021 Watheia Labs, LLC. All rights reserved. +Copyright 2021 Adobe. All rights reserved. This file is licensed to you under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. You may obtain a copy of the License at http://www.apache.org/licenses/LICENSE-2.0 diff --git a/libs/theme/src/styles/components/breadcrumb/skin.module.css b/libs/theme/src/styles/components/breadcrumb/skin.module.css index 4105be5..9b10d5a 100644 --- a/libs/theme/src/styles/components/breadcrumb/skin.module.css +++ b/libs/theme/src/styles/components/breadcrumb/skin.module.css @@ -1,5 +1,5 @@ /* -Copyright 2021 Watheia Labs, LLC. All rights reserved. +Copyright 2021 Adobe. All rights reserved. This file is licensed to you under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. You may obtain a copy of the License at http://www.apache.org/licenses/LICENSE-2.0 diff --git a/libs/theme/src/styles/components/breadcrumb/vars.module.css b/libs/theme/src/styles/components/breadcrumb/vars.module.css index 8a3b38a..405bbd2 100644 --- a/libs/theme/src/styles/components/breadcrumb/vars.module.css +++ b/libs/theme/src/styles/components/breadcrumb/vars.module.css @@ -1,5 +1,5 @@ /* - * Copyright 2021 Watheia Labs, LLC. All rights reserved. + * Copyright 2021 Adobe. All rights reserved. * This file is licensed to you under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. You may obtain a copy * of the License at http://www.apache.org/licenses/LICENSE-2.0 diff --git a/libs/theme/src/styles/components/buttongroup/index.module.css b/libs/theme/src/styles/components/buttongroup/index.module.css index cae1be3..970aa81 100644 --- a/libs/theme/src/styles/components/buttongroup/index.module.css +++ b/libs/theme/src/styles/components/buttongroup/index.module.css @@ -1,5 +1,5 @@ /* -Copyright 2021 Watheia Labs, LLC. All rights reserved. +Copyright 2021 Adobe. All rights reserved. This file is licensed to you under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. You may obtain a copy of the License at http://www.apache.org/licenses/LICENSE-2.0 diff --git a/libs/theme/src/styles/components/buttongroup/vars.module.css b/libs/theme/src/styles/components/buttongroup/vars.module.css index b8e51b2..37cc5d4 100644 --- a/libs/theme/src/styles/components/buttongroup/vars.module.css +++ b/libs/theme/src/styles/components/buttongroup/vars.module.css @@ -1,5 +1,5 @@ /* - * Copyright 2021 Watheia Labs, LLC. All rights reserved. + * Copyright 2021 Adobe. All rights reserved. * This file is licensed to you under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. You may obtain a copy * of the License at http://www.apache.org/licenses/LICENSE-2.0 diff --git a/libs/theme/src/styles/components/calendar/index.module.css b/libs/theme/src/styles/components/calendar/index.module.css index 1a46706..709ec27 100644 --- a/libs/theme/src/styles/components/calendar/index.module.css +++ b/libs/theme/src/styles/components/calendar/index.module.css @@ -1,5 +1,5 @@ /* -Copyright 2021 Watheia Labs, LLC. All rights reserved. +Copyright 2021 Adobe. All rights reserved. This file is licensed to you under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. You may obtain a copy of the License at http://www.apache.org/licenses/LICENSE-2.0 diff --git a/libs/theme/src/styles/components/calendar/skin.module.css b/libs/theme/src/styles/components/calendar/skin.module.css index 6b00762..a6c1448 100644 --- a/libs/theme/src/styles/components/calendar/skin.module.css +++ b/libs/theme/src/styles/components/calendar/skin.module.css @@ -1,5 +1,5 @@ /* -Copyright 2021 Watheia Labs, LLC. All rights reserved. +Copyright 2021 Adobe. All rights reserved. This file is licensed to you under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. You may obtain a copy of the License at http://www.apache.org/licenses/LICENSE-2.0 diff --git a/libs/theme/src/styles/components/calendar/vars.module.css b/libs/theme/src/styles/components/calendar/vars.module.css index 8a3b38a..405bbd2 100644 --- a/libs/theme/src/styles/components/calendar/vars.module.css +++ b/libs/theme/src/styles/components/calendar/vars.module.css @@ -1,5 +1,5 @@ /* - * Copyright 2021 Watheia Labs, LLC. All rights reserved. + * Copyright 2021 Adobe. All rights reserved. * This file is licensed to you under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. You may obtain a copy * of the License at http://www.apache.org/licenses/LICENSE-2.0 diff --git a/libs/theme/src/styles/components/card/index.module.css b/libs/theme/src/styles/components/card/index.module.css index 74aa089..6ea8d8c 100644 --- a/libs/theme/src/styles/components/card/index.module.css +++ b/libs/theme/src/styles/components/card/index.module.css @@ -1,5 +1,5 @@ /* -Copyright 2021 Watheia Labs, LLC. All rights reserved. +Copyright 2021 Adobe. All rights reserved. This file is licensed to you under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. You may obtain a copy of the License at http://www.apache.org/licenses/LICENSE-2.0 diff --git a/libs/theme/src/styles/components/card/skin.module.css b/libs/theme/src/styles/components/card/skin.module.css index 36f25f7..98fbf98 100644 --- a/libs/theme/src/styles/components/card/skin.module.css +++ b/libs/theme/src/styles/components/card/skin.module.css @@ -1,5 +1,5 @@ /* -Copyright 2021 Watheia Labs, LLC. All rights reserved. +Copyright 2021 Adobe. All rights reserved. This file is licensed to you under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. You may obtain a copy of the License at http://www.apache.org/licenses/LICENSE-2.0 diff --git a/libs/theme/src/styles/components/card/vars.module.css b/libs/theme/src/styles/components/card/vars.module.css index 8a3b38a..405bbd2 100644 --- a/libs/theme/src/styles/components/card/vars.module.css +++ b/libs/theme/src/styles/components/card/vars.module.css @@ -1,5 +1,5 @@ /* - * Copyright 2021 Watheia Labs, LLC. All rights reserved. + * Copyright 2021 Adobe. All rights reserved. * This file is licensed to you under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. You may obtain a copy * of the License at http://www.apache.org/licenses/LICENSE-2.0 diff --git a/libs/theme/src/styles/components/checkbox/index.module.css b/libs/theme/src/styles/components/checkbox/index.module.css index 1467ca5..964c9f5 100644 --- a/libs/theme/src/styles/components/checkbox/index.module.css +++ b/libs/theme/src/styles/components/checkbox/index.module.css @@ -1,5 +1,5 @@ /* -Copyright 2021 Watheia Labs, LLC. All rights reserved. +Copyright 2021 Adobe. All rights reserved. This file is licensed to you under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. You may obtain a copy of the License at http://www.apache.org/licenses/LICENSE-2.0 diff --git a/libs/theme/src/styles/components/checkbox/skin.module.css b/libs/theme/src/styles/components/checkbox/skin.module.css index 085bdd4..8251b92 100644 --- a/libs/theme/src/styles/components/checkbox/skin.module.css +++ b/libs/theme/src/styles/components/checkbox/skin.module.css @@ -1,5 +1,5 @@ /* -Copyright 2021 Watheia Labs, LLC. All rights reserved. +Copyright 2021 Adobe. All rights reserved. This file is licensed to you under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. You may obtain a copy of the License at http://www.apache.org/licenses/LICENSE-2.0 diff --git a/libs/theme/src/styles/components/checkbox/vars.module.css b/libs/theme/src/styles/components/checkbox/vars.module.css index 8a3b38a..405bbd2 100644 --- a/libs/theme/src/styles/components/checkbox/vars.module.css +++ b/libs/theme/src/styles/components/checkbox/vars.module.css @@ -1,5 +1,5 @@ /* - * Copyright 2021 Watheia Labs, LLC. All rights reserved. + * Copyright 2021 Adobe. All rights reserved. * This file is licensed to you under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. You may obtain a copy * of the License at http://www.apache.org/licenses/LICENSE-2.0 diff --git a/libs/theme/src/styles/components/circleloader/animation.module.css b/libs/theme/src/styles/components/circleloader/animation.module.css index 93c6965..36baac8 100644 --- a/libs/theme/src/styles/components/circleloader/animation.module.css +++ b/libs/theme/src/styles/components/circleloader/animation.module.css @@ -1,5 +1,5 @@ /* -Copyright 2021 Watheia Labs, LLC. All rights reserved. +Copyright 2021 Adobe. All rights reserved. This file is licensed to you under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. You may obtain a copy of the License at http://www.apache.org/licenses/LICENSE-2.0 diff --git a/libs/theme/src/styles/components/circleloader/index.module.css b/libs/theme/src/styles/components/circleloader/index.module.css index 102c546..b8285f2 100644 --- a/libs/theme/src/styles/components/circleloader/index.module.css +++ b/libs/theme/src/styles/components/circleloader/index.module.css @@ -1,5 +1,5 @@ /* -Copyright 2021 Watheia Labs, LLC. All rights reserved. +Copyright 2021 Adobe. All rights reserved. This file is licensed to you under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. You may obtain a copy of the License at http://www.apache.org/licenses/LICENSE-2.0 diff --git a/libs/theme/src/styles/components/circleloader/skin.module.css b/libs/theme/src/styles/components/circleloader/skin.module.css index 6d13496..8081601 100644 --- a/libs/theme/src/styles/components/circleloader/skin.module.css +++ b/libs/theme/src/styles/components/circleloader/skin.module.css @@ -1,5 +1,5 @@ /* -Copyright 2021 Watheia Labs, LLC. All rights reserved. +Copyright 2021 Adobe. All rights reserved. This file is licensed to you under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. You may obtain a copy of the License at http://www.apache.org/licenses/LICENSE-2.0 diff --git a/libs/theme/src/styles/components/circleloader/vars.module.css b/libs/theme/src/styles/components/circleloader/vars.module.css index 8a3b38a..405bbd2 100644 --- a/libs/theme/src/styles/components/circleloader/vars.module.css +++ b/libs/theme/src/styles/components/circleloader/vars.module.css @@ -1,5 +1,5 @@ /* - * Copyright 2021 Watheia Labs, LLC. All rights reserved. + * Copyright 2021 Adobe. All rights reserved. * This file is licensed to you under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. You may obtain a copy * of the License at http://www.apache.org/licenses/LICENSE-2.0 diff --git a/libs/theme/src/styles/components/coachmark/animation.module.css b/libs/theme/src/styles/components/coachmark/animation.module.css index de9f4b5..e8f644e 100644 --- a/libs/theme/src/styles/components/coachmark/animation.module.css +++ b/libs/theme/src/styles/components/coachmark/animation.module.css @@ -1,5 +1,5 @@ /* -Copyright 2021 Watheia Labs, LLC. All rights reserved. +Copyright 2021 Adobe. All rights reserved. This file is licensed to you under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. You may obtain a copy of the License at http://www.apache.org/licenses/LICENSE-2.0 diff --git a/libs/theme/src/styles/components/coachmark/index.module.css b/libs/theme/src/styles/components/coachmark/index.module.css index 380dfd0..b573e56 100644 --- a/libs/theme/src/styles/components/coachmark/index.module.css +++ b/libs/theme/src/styles/components/coachmark/index.module.css @@ -1,5 +1,5 @@ /* -Copyright 2021 Watheia Labs, LLC. All rights reserved. +Copyright 2021 Adobe. All rights reserved. This file is licensed to you under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. You may obtain a copy of the License at http://www.apache.org/licenses/LICENSE-2.0 diff --git a/libs/theme/src/styles/components/coachmark/skin.module.css b/libs/theme/src/styles/components/coachmark/skin.module.css index ad5547c..2a13cf9 100644 --- a/libs/theme/src/styles/components/coachmark/skin.module.css +++ b/libs/theme/src/styles/components/coachmark/skin.module.css @@ -1,5 +1,5 @@ /* -Copyright 2021 Watheia Labs, LLC. All rights reserved. +Copyright 2021 Adobe. All rights reserved. This file is licensed to you under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. You may obtain a copy of the License at http://www.apache.org/licenses/LICENSE-2.0 diff --git a/libs/theme/src/styles/components/coachmark/vars.module.css b/libs/theme/src/styles/components/coachmark/vars.module.css index 8a3b38a..405bbd2 100644 --- a/libs/theme/src/styles/components/coachmark/vars.module.css +++ b/libs/theme/src/styles/components/coachmark/vars.module.css @@ -1,5 +1,5 @@ /* - * Copyright 2021 Watheia Labs, LLC. All rights reserved. + * Copyright 2021 Adobe. All rights reserved. * This file is licensed to you under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. You may obtain a copy * of the License at http://www.apache.org/licenses/LICENSE-2.0 diff --git a/libs/theme/src/styles/components/colorhandle/vars.module.css b/libs/theme/src/styles/components/colorhandle/vars.module.css index 8a3b38a..405bbd2 100644 --- a/libs/theme/src/styles/components/colorhandle/vars.module.css +++ b/libs/theme/src/styles/components/colorhandle/vars.module.css @@ -1,5 +1,5 @@ /* - * Copyright 2021 Watheia Labs, LLC. All rights reserved. + * Copyright 2021 Adobe. All rights reserved. * This file is licensed to you under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. You may obtain a copy * of the License at http://www.apache.org/licenses/LICENSE-2.0 diff --git a/libs/theme/src/styles/components/colorloupe/vars.module.css b/libs/theme/src/styles/components/colorloupe/vars.module.css index 8a3b38a..405bbd2 100644 --- a/libs/theme/src/styles/components/colorloupe/vars.module.css +++ b/libs/theme/src/styles/components/colorloupe/vars.module.css @@ -1,5 +1,5 @@ /* - * Copyright 2021 Watheia Labs, LLC. All rights reserved. + * Copyright 2021 Adobe. All rights reserved. * This file is licensed to you under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. You may obtain a copy * of the License at http://www.apache.org/licenses/LICENSE-2.0 diff --git a/libs/theme/src/styles/components/colorslider/vars.module.css b/libs/theme/src/styles/components/colorslider/vars.module.css index 8a3b38a..405bbd2 100644 --- a/libs/theme/src/styles/components/colorslider/vars.module.css +++ b/libs/theme/src/styles/components/colorslider/vars.module.css @@ -1,5 +1,5 @@ /* - * Copyright 2021 Watheia Labs, LLC. All rights reserved. + * Copyright 2021 Adobe. All rights reserved. * This file is licensed to you under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. You may obtain a copy * of the License at http://www.apache.org/licenses/LICENSE-2.0 diff --git a/libs/theme/src/styles/components/colorwheel/vars.module.css b/libs/theme/src/styles/components/colorwheel/vars.module.css index 8a3b38a..405bbd2 100644 --- a/libs/theme/src/styles/components/colorwheel/vars.module.css +++ b/libs/theme/src/styles/components/colorwheel/vars.module.css @@ -1,5 +1,5 @@ /* - * Copyright 2021 Watheia Labs, LLC. All rights reserved. + * Copyright 2021 Adobe. All rights reserved. * This file is licensed to you under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. You may obtain a copy * of the License at http://www.apache.org/licenses/LICENSE-2.0 diff --git a/libs/theme/src/styles/components/commons/fonts.css b/libs/theme/src/styles/components/commons/fonts.css index e3aa6eb..ce33ba5 100644 --- a/libs/theme/src/styles/components/commons/fonts.css +++ b/libs/theme/src/styles/components/commons/fonts.css @@ -1,5 +1,5 @@ /* -Copyright 2021 Watheia Labs, LLC. All rights reserved. +Copyright 2021 Adobe. All rights reserved. This file is licensed to you under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. You may obtain a copy of the License at http://www.apache.org/licenses/LICENSE-2.0 diff --git a/libs/theme/src/styles/components/commons/index.css b/libs/theme/src/styles/components/commons/index.css index 716be5b..91f3549 100644 --- a/libs/theme/src/styles/components/commons/index.css +++ b/libs/theme/src/styles/components/commons/index.css @@ -1,5 +1,5 @@ /* -Copyright 2021 Watheia Labs, LLC. All rights reserved. +Copyright 2021 Adobe. All rights reserved. This file is licensed to you under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. You may obtain a copy of the License at http://www.apache.org/licenses/LICENSE-2.0 diff --git a/libs/theme/src/styles/components/commons/index.module.css b/libs/theme/src/styles/components/commons/index.module.css new file mode 100644 index 0000000..ad3630f --- /dev/null +++ b/libs/theme/src/styles/components/commons/index.module.css @@ -0,0 +1,33 @@ +/* +Copyright 2021 Adobe. All rights reserved. +This file is licensed to you under the Apache License, Version 2.0 (the "License"); +you may not use this file except in compliance with the License. You may obtain a copy +of the License at http://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, software distributed under +the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR REPRESENTATIONS +OF ANY KIND, either express or implied. See the License for the specific language +governing permissions and limitations under the License. +*/ +@tailwind base; +@import "./base.css"; + +@tailwind components; +@import "./components.css"; + +@tailwind utilities; + +@import "./chrome-bug.css"; +@import "./nprogress"; + +@import "./layout.css"; +@import "./fonts.css"; + +.wa { + height: 100vh; + + .leaflet-container { + width: 100%; + height: 100%; + } +} diff --git a/libs/theme/src/styles/components/commons/layout.css b/libs/theme/src/styles/components/commons/layout.css index 00901e8..0b85a0a 100644 --- a/libs/theme/src/styles/components/commons/layout.css +++ b/libs/theme/src/styles/components/commons/layout.css @@ -1,5 +1,5 @@ /* -Copyright 2021 Watheia Labs, LLC. All rights reserved. +Copyright 2021 Adobe. All rights reserved. This file is licensed to you under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. You may obtain a copy of the License at http://www.apache.org/licenses/LICENSE-2.0 diff --git a/libs/theme/src/styles/components/commons/nprogress.css b/libs/theme/src/styles/components/commons/nprogress.css index 37bcc3d..428211e 100644 --- a/libs/theme/src/styles/components/commons/nprogress.css +++ b/libs/theme/src/styles/components/commons/nprogress.css @@ -1,5 +1,5 @@ /** - * Copyright 2021 Watheia Labs, LLC. + * Copyright 2021 Adobe. * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. diff --git a/libs/theme/src/styles/components/cyclebutton/index.module.css b/libs/theme/src/styles/components/cyclebutton/index.module.css index 3f75a39..00a55a2 100644 --- a/libs/theme/src/styles/components/cyclebutton/index.module.css +++ b/libs/theme/src/styles/components/cyclebutton/index.module.css @@ -1,5 +1,5 @@ /* -Copyright 2021 Watheia Labs, LLC. All rights reserved. +Copyright 2021 Adobe. All rights reserved. This file is licensed to you under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. You may obtain a copy of the License at http://www.apache.org/licenses/LICENSE-2.0 diff --git a/libs/theme/src/styles/components/cyclebutton/skin.module.css b/libs/theme/src/styles/components/cyclebutton/skin.module.css index ba0f300..3d984ba 100644 --- a/libs/theme/src/styles/components/cyclebutton/skin.module.css +++ b/libs/theme/src/styles/components/cyclebutton/skin.module.css @@ -1,5 +1,5 @@ /* -Copyright 2021 Watheia Labs, LLC. All rights reserved. +Copyright 2021 Adobe. All rights reserved. This file is licensed to you under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. You may obtain a copy of the License at http://www.apache.org/licenses/LICENSE-2.0 diff --git a/libs/theme/src/styles/components/cyclebutton/vars.module.css b/libs/theme/src/styles/components/cyclebutton/vars.module.css index 8a3b38a..405bbd2 100644 --- a/libs/theme/src/styles/components/cyclebutton/vars.module.css +++ b/libs/theme/src/styles/components/cyclebutton/vars.module.css @@ -1,5 +1,5 @@ /* - * Copyright 2021 Watheia Labs, LLC. All rights reserved. + * Copyright 2021 Adobe. All rights reserved. * This file is licensed to you under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. You may obtain a copy * of the License at http://www.apache.org/licenses/LICENSE-2.0 diff --git a/libs/theme/src/styles/components/dialog/index.module.css b/libs/theme/src/styles/components/dialog/index.module.css index bf55f05..9fff5da 100644 --- a/libs/theme/src/styles/components/dialog/index.module.css +++ b/libs/theme/src/styles/components/dialog/index.module.css @@ -1,5 +1,5 @@ /* -Copyright 2021 Watheia Labs, LLC. All rights reserved. +Copyright 2021 Adobe. All rights reserved. This file is licensed to you under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. You may obtain a copy of the License at http://www.apache.org/licenses/LICENSE-2.0 diff --git a/libs/theme/src/styles/components/dialog/skin.module.css b/libs/theme/src/styles/components/dialog/skin.module.css index 594a517..95ef4ce 100644 --- a/libs/theme/src/styles/components/dialog/skin.module.css +++ b/libs/theme/src/styles/components/dialog/skin.module.css @@ -1,5 +1,5 @@ /* -Copyright 2021 Watheia Labs, LLC. All rights reserved. +Copyright 2021 Adobe. All rights reserved. This file is licensed to you under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. You may obtain a copy of the License at http://www.apache.org/licenses/LICENSE-2.0 diff --git a/libs/theme/src/styles/components/dialog/vars.module.css b/libs/theme/src/styles/components/dialog/vars.module.css index 8a3b38a..405bbd2 100644 --- a/libs/theme/src/styles/components/dialog/vars.module.css +++ b/libs/theme/src/styles/components/dialog/vars.module.css @@ -1,5 +1,5 @@ /* - * Copyright 2021 Watheia Labs, LLC. All rights reserved. + * Copyright 2021 Adobe. All rights reserved. * This file is licensed to you under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. You may obtain a copy * of the License at http://www.apache.org/licenses/LICENSE-2.0 diff --git a/libs/theme/src/styles/components/dropdown/index.module.css b/libs/theme/src/styles/components/dropdown/index.module.css index 8db341f..e595d07 100644 --- a/libs/theme/src/styles/components/dropdown/index.module.css +++ b/libs/theme/src/styles/components/dropdown/index.module.css @@ -1,5 +1,5 @@ /* -Copyright 2021 Watheia Labs, LLC. All rights reserved. +Copyright 2021 Adobe. All rights reserved. This file is licensed to you under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. You may obtain a copy of the License at http://www.apache.org/licenses/LICENSE-2.0 diff --git a/libs/theme/src/styles/components/dropdown/skin.module.css b/libs/theme/src/styles/components/dropdown/skin.module.css index 0f2294b..a78bee6 100644 --- a/libs/theme/src/styles/components/dropdown/skin.module.css +++ b/libs/theme/src/styles/components/dropdown/skin.module.css @@ -1,5 +1,5 @@ /* -Copyright 2021 Watheia Labs, LLC. All rights reserved. +Copyright 2021 Adobe. All rights reserved. This file is licensed to you under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. You may obtain a copy of the License at http://www.apache.org/licenses/LICENSE-2.0 diff --git a/libs/theme/src/styles/components/dropdown/vars.module.css b/libs/theme/src/styles/components/dropdown/vars.module.css index 8a3b38a..405bbd2 100644 --- a/libs/theme/src/styles/components/dropdown/vars.module.css +++ b/libs/theme/src/styles/components/dropdown/vars.module.css @@ -1,5 +1,5 @@ /* - * Copyright 2021 Watheia Labs, LLC. All rights reserved. + * Copyright 2021 Adobe. All rights reserved. * This file is licensed to you under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. You may obtain a copy * of the License at http://www.apache.org/licenses/LICENSE-2.0 diff --git a/libs/theme/src/styles/components/dropindicator/index.module.css b/libs/theme/src/styles/components/dropindicator/index.module.css index 16d69cb..98a5253 100644 --- a/libs/theme/src/styles/components/dropindicator/index.module.css +++ b/libs/theme/src/styles/components/dropindicator/index.module.css @@ -1,5 +1,5 @@ /* -Copyright 2021 Watheia Labs, LLC. All rights reserved. +Copyright 2021 Adobe. All rights reserved. This file is licensed to you under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. You may obtain a copy of the License at http://www.apache.org/licenses/LICENSE-2.0 diff --git a/libs/theme/src/styles/components/dropindicator/skin.module.css b/libs/theme/src/styles/components/dropindicator/skin.module.css index d9a5e00..2d2d7f1 100644 --- a/libs/theme/src/styles/components/dropindicator/skin.module.css +++ b/libs/theme/src/styles/components/dropindicator/skin.module.css @@ -1,5 +1,5 @@ /* -Copyright 2021 Watheia Labs, LLC. All rights reserved. +Copyright 2021 Adobe. All rights reserved. This file is licensed to you under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. You may obtain a copy of the License at http://www.apache.org/licenses/LICENSE-2.0 diff --git a/libs/theme/src/styles/components/dropindicator/vars.module.css b/libs/theme/src/styles/components/dropindicator/vars.module.css index 8a3b38a..405bbd2 100644 --- a/libs/theme/src/styles/components/dropindicator/vars.module.css +++ b/libs/theme/src/styles/components/dropindicator/vars.module.css @@ -1,5 +1,5 @@ /* - * Copyright 2021 Watheia Labs, LLC. All rights reserved. + * Copyright 2021 Adobe. All rights reserved. * This file is licensed to you under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. You may obtain a copy * of the License at http://www.apache.org/licenses/LICENSE-2.0 diff --git a/libs/theme/src/styles/components/dropzone/index.module.css b/libs/theme/src/styles/components/dropzone/index.module.css index d895439..0102ad6 100644 --- a/libs/theme/src/styles/components/dropzone/index.module.css +++ b/libs/theme/src/styles/components/dropzone/index.module.css @@ -1,5 +1,5 @@ /* -Copyright 2021 Watheia Labs, LLC. All rights reserved. +Copyright 2021 Adobe. All rights reserved. This file is licensed to you under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. You may obtain a copy of the License at http://www.apache.org/licenses/LICENSE-2.0 diff --git a/libs/theme/src/styles/components/dropzone/skin.module.css b/libs/theme/src/styles/components/dropzone/skin.module.css index a2a5f0b..c6571bb 100644 --- a/libs/theme/src/styles/components/dropzone/skin.module.css +++ b/libs/theme/src/styles/components/dropzone/skin.module.css @@ -1,5 +1,5 @@ /* -Copyright 2021 Watheia Labs, LLC. All rights reserved. +Copyright 2021 Adobe. All rights reserved. This file is licensed to you under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. You may obtain a copy of the License at http://www.apache.org/licenses/LICENSE-2.0 diff --git a/libs/theme/src/styles/components/dropzone/vars.module.css b/libs/theme/src/styles/components/dropzone/vars.module.css index 8a3b38a..405bbd2 100644 --- a/libs/theme/src/styles/components/dropzone/vars.module.css +++ b/libs/theme/src/styles/components/dropzone/vars.module.css @@ -1,5 +1,5 @@ /* - * Copyright 2021 Watheia Labs, LLC. All rights reserved. + * Copyright 2021 Adobe. All rights reserved. * This file is licensed to you under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. You may obtain a copy * of the License at http://www.apache.org/licenses/LICENSE-2.0 diff --git a/libs/theme/src/styles/components/fieldgroup/index.module.css b/libs/theme/src/styles/components/fieldgroup/index.module.css index ed4e6fe..9fd7b63 100644 --- a/libs/theme/src/styles/components/fieldgroup/index.module.css +++ b/libs/theme/src/styles/components/fieldgroup/index.module.css @@ -1,5 +1,5 @@ /* -Copyright 2021 Watheia Labs, LLC. All rights reserved. +Copyright 2021 Adobe. All rights reserved. This file is licensed to you under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. You may obtain a copy of the License at http://www.apache.org/licenses/LICENSE-2.0 diff --git a/libs/theme/src/styles/components/fieldgroup/vars.module.css b/libs/theme/src/styles/components/fieldgroup/vars.module.css index b8e51b2..37cc5d4 100644 --- a/libs/theme/src/styles/components/fieldgroup/vars.module.css +++ b/libs/theme/src/styles/components/fieldgroup/vars.module.css @@ -1,5 +1,5 @@ /* - * Copyright 2021 Watheia Labs, LLC. All rights reserved. + * Copyright 2021 Adobe. All rights reserved. * This file is licensed to you under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. You may obtain a copy * of the License at http://www.apache.org/licenses/LICENSE-2.0 diff --git a/libs/theme/src/styles/components/fieldlabel/index.module.css b/libs/theme/src/styles/components/fieldlabel/index.module.css index c643a13..bfa6a6f 100644 --- a/libs/theme/src/styles/components/fieldlabel/index.module.css +++ b/libs/theme/src/styles/components/fieldlabel/index.module.css @@ -1,5 +1,5 @@ /* -Copyright 2021 Watheia Labs, LLC. All rights reserved. +Copyright 2021 Adobe. All rights reserved. This file is licensed to you under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. You may obtain a copy of the License at http://www.apache.org/licenses/LICENSE-2.0 diff --git a/libs/theme/src/styles/components/fieldlabel/skin.module.css b/libs/theme/src/styles/components/fieldlabel/skin.module.css index 0c514a0..44ad31a 100644 --- a/libs/theme/src/styles/components/fieldlabel/skin.module.css +++ b/libs/theme/src/styles/components/fieldlabel/skin.module.css @@ -1,5 +1,5 @@ /* -Copyright 2021 Watheia Labs, LLC. All rights reserved. +Copyright 2021 Adobe. All rights reserved. This file is licensed to you under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. You may obtain a copy of the License at http://www.apache.org/licenses/LICENSE-2.0 diff --git a/libs/theme/src/styles/components/fieldlabel/vars.module.css b/libs/theme/src/styles/components/fieldlabel/vars.module.css index 8a3b38a..405bbd2 100644 --- a/libs/theme/src/styles/components/fieldlabel/vars.module.css +++ b/libs/theme/src/styles/components/fieldlabel/vars.module.css @@ -1,5 +1,5 @@ /* - * Copyright 2021 Watheia Labs, LLC. All rights reserved. + * Copyright 2021 Adobe. All rights reserved. * This file is licensed to you under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. You may obtain a copy * of the License at http://www.apache.org/licenses/LICENSE-2.0 diff --git a/libs/theme/src/styles/components/helptext/index.module.css b/libs/theme/src/styles/components/helptext/index.module.css index 23a7d75..5b7e31e 100644 --- a/libs/theme/src/styles/components/helptext/index.module.css +++ b/libs/theme/src/styles/components/helptext/index.module.css @@ -1,5 +1,5 @@ /* - * Copyright 2021 Watheia Labs, LLC. All rights reserved. + * Copyright 2021 Adobe. All rights reserved. * This file is licensed to you under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. You may obtain a copy * of the License at http://www.apache.org/licenses/LICENSE-2.0 diff --git a/libs/theme/src/styles/components/helptext/skin.module.css b/libs/theme/src/styles/components/helptext/skin.module.css index 3d795fc..7b98f7d 100644 --- a/libs/theme/src/styles/components/helptext/skin.module.css +++ b/libs/theme/src/styles/components/helptext/skin.module.css @@ -1,5 +1,5 @@ /* - * Copyright 2021 Watheia Labs, LLC. All rights reserved. + * Copyright 2021 Adobe. All rights reserved. * This file is licensed to you under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. You may obtain a copy * of the License at http://www.apache.org/licenses/LICENSE-2.0 diff --git a/libs/theme/src/styles/components/helptext/vars.module.css b/libs/theme/src/styles/components/helptext/vars.module.css index 8a3b38a..405bbd2 100644 --- a/libs/theme/src/styles/components/helptext/vars.module.css +++ b/libs/theme/src/styles/components/helptext/vars.module.css @@ -1,5 +1,5 @@ /* - * Copyright 2021 Watheia Labs, LLC. All rights reserved. + * Copyright 2021 Adobe. All rights reserved. * This file is licensed to you under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. You may obtain a copy * of the License at http://www.apache.org/licenses/LICENSE-2.0 diff --git a/libs/theme/src/styles/components/icon/icons.module.css b/libs/theme/src/styles/components/icon/icons.module.css index 081b8d7..4fb08a1 100644 --- a/libs/theme/src/styles/components/icon/icons.module.css +++ b/libs/theme/src/styles/components/icon/icons.module.css @@ -1,5 +1,5 @@ /* -Copyright 2021 Watheia Labs, LLC. All rights reserved. +Copyright 2021 Adobe. All rights reserved. This file is licensed to you under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. You may obtain a copy of the License at http://www.apache.org/licenses/LICENSE-2.0 diff --git a/libs/theme/src/styles/components/icon/index.module.css b/libs/theme/src/styles/components/icon/index.module.css index 273fd6a..a677c55 100644 --- a/libs/theme/src/styles/components/icon/index.module.css +++ b/libs/theme/src/styles/components/icon/index.module.css @@ -1,5 +1,5 @@ /* -Copyright 2021 Watheia Labs, LLC. All rights reserved. +Copyright 2021 Adobe. All rights reserved. This file is licensed to you under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. You may obtain a copy of the License at http://www.apache.org/licenses/LICENSE-2.0 diff --git a/libs/theme/src/styles/components/icon/ui-icons.module.css b/libs/theme/src/styles/components/icon/ui-icons.module.css index bd432b0..eaad9d5 100644 --- a/libs/theme/src/styles/components/icon/ui-icons.module.css +++ b/libs/theme/src/styles/components/icon/ui-icons.module.css @@ -1,5 +1,5 @@ /* -Copyright 2021 Watheia Labs, LLC. All rights reserved. +Copyright 2021 Adobe. All rights reserved. This file is licensed to you under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. You may obtain a copy of the License at http://www.apache.org/licenses/LICENSE-2.0 diff --git a/libs/theme/src/styles/components/icon/vars.module.css b/libs/theme/src/styles/components/icon/vars.module.css index b8e51b2..37cc5d4 100644 --- a/libs/theme/src/styles/components/icon/vars.module.css +++ b/libs/theme/src/styles/components/icon/vars.module.css @@ -1,5 +1,5 @@ /* - * Copyright 2021 Watheia Labs, LLC. All rights reserved. + * Copyright 2021 Adobe. All rights reserved. * This file is licensed to you under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. You may obtain a copy * of the License at http://www.apache.org/licenses/LICENSE-2.0 diff --git a/libs/theme/src/styles/components/icon/workflow-icons.module.css b/libs/theme/src/styles/components/icon/workflow-icons.module.css index e058a93..11f4a16 100644 --- a/libs/theme/src/styles/components/icon/workflow-icons.module.css +++ b/libs/theme/src/styles/components/icon/workflow-icons.module.css @@ -1,5 +1,5 @@ /* -Copyright 2021 Watheia Labs, LLC. All rights reserved. +Copyright 2021 Adobe. All rights reserved. This file is licensed to you under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. You may obtain a copy of the License at http://www.apache.org/licenses/LICENSE-2.0 diff --git a/libs/theme/src/styles/components/illustratedmessage/index.module.css b/libs/theme/src/styles/components/illustratedmessage/index.module.css index b3db9ef..575be9c 100644 --- a/libs/theme/src/styles/components/illustratedmessage/index.module.css +++ b/libs/theme/src/styles/components/illustratedmessage/index.module.css @@ -1,5 +1,5 @@ /* -Copyright 2021 Watheia Labs, LLC. All rights reserved. +Copyright 2021 Adobe. All rights reserved. This file is licensed to you under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. You may obtain a copy of the License at http://www.apache.org/licenses/LICENSE-2.0 diff --git a/libs/theme/src/styles/components/illustratedmessage/skin.module.css b/libs/theme/src/styles/components/illustratedmessage/skin.module.css index 88e0365..94090fb 100644 --- a/libs/theme/src/styles/components/illustratedmessage/skin.module.css +++ b/libs/theme/src/styles/components/illustratedmessage/skin.module.css @@ -1,5 +1,5 @@ /* -Copyright 2021 Watheia Labs, LLC. All rights reserved. +Copyright 2021 Adobe. All rights reserved. This file is licensed to you under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. You may obtain a copy of the License at http://www.apache.org/licenses/LICENSE-2.0 diff --git a/libs/theme/src/styles/components/illustratedmessage/vars.module.css b/libs/theme/src/styles/components/illustratedmessage/vars.module.css index 8a3b38a..405bbd2 100644 --- a/libs/theme/src/styles/components/illustratedmessage/vars.module.css +++ b/libs/theme/src/styles/components/illustratedmessage/vars.module.css @@ -1,5 +1,5 @@ /* - * Copyright 2021 Watheia Labs, LLC. All rights reserved. + * Copyright 2021 Adobe. All rights reserved. * This file is licensed to you under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. You may obtain a copy * of the License at http://www.apache.org/licenses/LICENSE-2.0 diff --git a/libs/theme/src/styles/components/image/index.module.css b/libs/theme/src/styles/components/image/index.module.css index d0b26a5..fe9a5be 100644 --- a/libs/theme/src/styles/components/image/index.module.css +++ b/libs/theme/src/styles/components/image/index.module.css @@ -1,5 +1,5 @@ /* - * Copyright 2021 Watheia Labs, LLC. All rights reserved. + * Copyright 2021 Adobe. All rights reserved. * This file is licensed to you under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. You may obtain a copy * of the License at http://www.apache.org/licenses/LICENSE-2.0 diff --git a/libs/theme/src/styles/components/image/vars.module.css b/libs/theme/src/styles/components/image/vars.module.css index b8e51b2..37cc5d4 100644 --- a/libs/theme/src/styles/components/image/vars.module.css +++ b/libs/theme/src/styles/components/image/vars.module.css @@ -1,5 +1,5 @@ /* - * Copyright 2021 Watheia Labs, LLC. All rights reserved. + * Copyright 2021 Adobe. All rights reserved. * This file is licensed to you under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. You may obtain a copy * of the License at http://www.apache.org/licenses/LICENSE-2.0 diff --git a/libs/theme/src/styles/components/inputgroup/index.module.css b/libs/theme/src/styles/components/inputgroup/index.module.css index fc33c8b..71ac5c3 100644 --- a/libs/theme/src/styles/components/inputgroup/index.module.css +++ b/libs/theme/src/styles/components/inputgroup/index.module.css @@ -1,5 +1,5 @@ /* -Copyright 2021 Watheia Labs, LLC. All rights reserved. +Copyright 2021 Adobe. All rights reserved. This file is licensed to you under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. You may obtain a copy of the License at http://www.apache.org/licenses/LICENSE-2.0 diff --git a/libs/theme/src/styles/components/inputgroup/skin.module.css b/libs/theme/src/styles/components/inputgroup/skin.module.css index 4991180..ab6f973 100644 --- a/libs/theme/src/styles/components/inputgroup/skin.module.css +++ b/libs/theme/src/styles/components/inputgroup/skin.module.css @@ -1,5 +1,5 @@ /* -Copyright 2021 Watheia Labs, LLC. All rights reserved. +Copyright 2021 Adobe. All rights reserved. This file is licensed to you under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. You may obtain a copy of the License at http://www.apache.org/licenses/LICENSE-2.0 diff --git a/libs/theme/src/styles/components/inputgroup/vars.module.css b/libs/theme/src/styles/components/inputgroup/vars.module.css index 8a3b38a..405bbd2 100644 --- a/libs/theme/src/styles/components/inputgroup/vars.module.css +++ b/libs/theme/src/styles/components/inputgroup/vars.module.css @@ -1,5 +1,5 @@ /* - * Copyright 2021 Watheia Labs, LLC. All rights reserved. + * Copyright 2021 Adobe. All rights reserved. * This file is licensed to you under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. You may obtain a copy * of the License at http://www.apache.org/licenses/LICENSE-2.0 diff --git a/libs/theme/src/styles/components/label/index.module.css b/libs/theme/src/styles/components/label/index.module.css index 35288d8..be107f8 100644 --- a/libs/theme/src/styles/components/label/index.module.css +++ b/libs/theme/src/styles/components/label/index.module.css @@ -1,5 +1,5 @@ /* -Copyright 2021 Watheia Labs, LLC. All rights reserved. +Copyright 2021 Adobe. All rights reserved. This file is licensed to you under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. You may obtain a copy of the License at http://www.apache.org/licenses/LICENSE-2.0 diff --git a/libs/theme/src/styles/components/label/skin.module.css b/libs/theme/src/styles/components/label/skin.module.css index 849f007..6b92497 100644 --- a/libs/theme/src/styles/components/label/skin.module.css +++ b/libs/theme/src/styles/components/label/skin.module.css @@ -1,5 +1,5 @@ /* -Copyright 2021 Watheia Labs, LLC. All rights reserved. +Copyright 2021 Adobe. All rights reserved. This file is licensed to you under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. You may obtain a copy of the License at http://www.apache.org/licenses/LICENSE-2.0 diff --git a/libs/theme/src/styles/components/label/vars.module.css b/libs/theme/src/styles/components/label/vars.module.css index 8a3b38a..405bbd2 100644 --- a/libs/theme/src/styles/components/label/vars.module.css +++ b/libs/theme/src/styles/components/label/vars.module.css @@ -1,5 +1,5 @@ /* - * Copyright 2021 Watheia Labs, LLC. All rights reserved. + * Copyright 2021 Adobe. All rights reserved. * This file is licensed to you under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. You may obtain a copy * of the License at http://www.apache.org/licenses/LICENSE-2.0 diff --git a/libs/theme/src/styles/components/link/index.module.css b/libs/theme/src/styles/components/link/index.module.css index 5bf33ce..e9a06cc 100644 --- a/libs/theme/src/styles/components/link/index.module.css +++ b/libs/theme/src/styles/components/link/index.module.css @@ -1,5 +1,5 @@ /* -Copyright 2021 Watheia Labs, LLC. All rights reserved. +Copyright 2021 Adobe. All rights reserved. This file is licensed to you under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. You may obtain a copy of the License at http://www.apache.org/licenses/LICENSE-2.0 diff --git a/libs/theme/src/styles/components/link/skin.module.css b/libs/theme/src/styles/components/link/skin.module.css index 964a074..9bf1f50 100644 --- a/libs/theme/src/styles/components/link/skin.module.css +++ b/libs/theme/src/styles/components/link/skin.module.css @@ -1,5 +1,5 @@ /* -Copyright 2021 Watheia Labs, LLC. All rights reserved. +Copyright 2021 Adobe. All rights reserved. This file is licensed to you under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. You may obtain a copy of the License at http://www.apache.org/licenses/LICENSE-2.0 diff --git a/libs/theme/src/styles/components/link/vars.module.css b/libs/theme/src/styles/components/link/vars.module.css index 8a3b38a..405bbd2 100644 --- a/libs/theme/src/styles/components/link/vars.module.css +++ b/libs/theme/src/styles/components/link/vars.module.css @@ -1,5 +1,5 @@ /* - * Copyright 2021 Watheia Labs, LLC. All rights reserved. + * Copyright 2021 Adobe. All rights reserved. * This file is licensed to you under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. You may obtain a copy * of the License at http://www.apache.org/licenses/LICENSE-2.0 diff --git a/libs/theme/src/styles/components/menu/index.module.css b/libs/theme/src/styles/components/menu/index.module.css index 3616cd4..ee65747 100644 --- a/libs/theme/src/styles/components/menu/index.module.css +++ b/libs/theme/src/styles/components/menu/index.module.css @@ -1,5 +1,5 @@ /* -Copyright 2021 Watheia Labs, LLC. All rights reserved. +Copyright 2021 Adobe. All rights reserved. This file is licensed to you under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. You may obtain a copy of the License at http://www.apache.org/licenses/LICENSE-2.0 diff --git a/libs/theme/src/styles/components/menu/skin.module.css b/libs/theme/src/styles/components/menu/skin.module.css index e60a50f..666ad98 100644 --- a/libs/theme/src/styles/components/menu/skin.module.css +++ b/libs/theme/src/styles/components/menu/skin.module.css @@ -1,5 +1,5 @@ /* -Copyright 2021 Watheia Labs, LLC. All rights reserved. +Copyright 2021 Adobe. All rights reserved. This file is licensed to you under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. You may obtain a copy of the License at http://www.apache.org/licenses/LICENSE-2.0 diff --git a/libs/theme/src/styles/components/menu/vars.module.css b/libs/theme/src/styles/components/menu/vars.module.css index 8a3b38a..405bbd2 100644 --- a/libs/theme/src/styles/components/menu/vars.module.css +++ b/libs/theme/src/styles/components/menu/vars.module.css @@ -1,5 +1,5 @@ /* - * Copyright 2021 Watheia Labs, LLC. All rights reserved. + * Copyright 2021 Adobe. All rights reserved. * This file is licensed to you under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. You may obtain a copy * of the License at http://www.apache.org/licenses/LICENSE-2.0 diff --git a/libs/theme/src/styles/components/miller/index.module.css b/libs/theme/src/styles/components/miller/index.module.css index ece9b5d..9f011bd 100644 --- a/libs/theme/src/styles/components/miller/index.module.css +++ b/libs/theme/src/styles/components/miller/index.module.css @@ -1,5 +1,5 @@ /* -Copyright 2021 Watheia Labs, LLC. All rights reserved. +Copyright 2021 Adobe. All rights reserved. This file is licensed to you under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. You may obtain a copy of the License at http://www.apache.org/licenses/LICENSE-2.0 diff --git a/libs/theme/src/styles/components/miller/vars.module.css b/libs/theme/src/styles/components/miller/vars.module.css index b8e51b2..37cc5d4 100644 --- a/libs/theme/src/styles/components/miller/vars.module.css +++ b/libs/theme/src/styles/components/miller/vars.module.css @@ -1,5 +1,5 @@ /* - * Copyright 2021 Watheia Labs, LLC. All rights reserved. + * Copyright 2021 Adobe. All rights reserved. * This file is licensed to you under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. You may obtain a copy * of the License at http://www.apache.org/licenses/LICENSE-2.0 diff --git a/libs/theme/src/styles/components/modal/index.module.css b/libs/theme/src/styles/components/modal/index.module.css index b7db30d..0f8dce8 100644 --- a/libs/theme/src/styles/components/modal/index.module.css +++ b/libs/theme/src/styles/components/modal/index.module.css @@ -1,5 +1,5 @@ /* -Copyright 2021 Watheia Labs, LLC. All rights reserved. +Copyright 2021 Adobe. All rights reserved. This file is licensed to you under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. You may obtain a copy of the License at http://www.apache.org/licenses/LICENSE-2.0 diff --git a/libs/theme/src/styles/components/modal/skin.module.css b/libs/theme/src/styles/components/modal/skin.module.css index 3f85123..4f49dba 100644 --- a/libs/theme/src/styles/components/modal/skin.module.css +++ b/libs/theme/src/styles/components/modal/skin.module.css @@ -1,5 +1,5 @@ /* -Copyright 2021 Watheia Labs, LLC. All rights reserved. +Copyright 2021 Adobe. All rights reserved. This file is licensed to you under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. You may obtain a copy of the License at http://www.apache.org/licenses/LICENSE-2.0 diff --git a/libs/theme/src/styles/components/modal/vars.module.css b/libs/theme/src/styles/components/modal/vars.module.css index 8a3b38a..405bbd2 100644 --- a/libs/theme/src/styles/components/modal/vars.module.css +++ b/libs/theme/src/styles/components/modal/vars.module.css @@ -1,5 +1,5 @@ /* - * Copyright 2021 Watheia Labs, LLC. All rights reserved. + * Copyright 2021 Adobe. All rights reserved. * This file is licensed to you under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. You may obtain a copy * of the License at http://www.apache.org/licenses/LICENSE-2.0 diff --git a/libs/theme/src/styles/components/overlay/index.module.css b/libs/theme/src/styles/components/overlay/index.module.css index b07197a..72e2728 100644 --- a/libs/theme/src/styles/components/overlay/index.module.css +++ b/libs/theme/src/styles/components/overlay/index.module.css @@ -1,5 +1,5 @@ /* -Copyright 2021 Watheia Labs, LLC. All rights reserved. +Copyright 2021 Adobe. All rights reserved. This file is licensed to you under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. You may obtain a copy of the License at http://www.apache.org/licenses/LICENSE-2.0 diff --git a/libs/theme/src/styles/components/page/index.module.css b/libs/theme/src/styles/components/page/index.module.css new file mode 100644 index 0000000..f7b8791 --- /dev/null +++ b/libs/theme/src/styles/components/page/index.module.css @@ -0,0 +1,13 @@ +/* +Copyright 2019 Adobe. All rights reserved. +This file is licensed to you under the Apache License, Version 2.0 (the "License"); +you may not use this file except in compliance with the License. You may obtain a copy +of the License at http://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, software distributed under +the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR REPRESENTATIONS +OF ANY KIND, either express or implied. See the License for the specific language +governing permissions and limitations under the License. +*/ + +@import "../commons/index.module.css"; diff --git a/libs/theme/src/styles/components/page/skin.module.css b/libs/theme/src/styles/components/page/skin.module.css new file mode 100644 index 0000000..e5ed00c --- /dev/null +++ b/libs/theme/src/styles/components/page/skin.module.css @@ -0,0 +1,18 @@ +/* +Copyright 2019 Adobe. All rights reserved. +This file is licensed to you under the Apache License, Version 2.0 (the "License"); +you may not use this file except in compliance with the License. You may obtain a copy +of the License at http://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, software distributed under +the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR REPRESENTATIONS +OF ANY KIND, either express or implied. See the License for the specific language +governing permissions and limitations under the License. +*/ + +& { + background-color: var(--wa-alias-background-color-default); + + /* Prevent tap highlights */ + -webkit-tap-highlight-color: rgb(0 0 0 / 0%); +} diff --git a/libs/theme/src/styles/components/button/vars.module.css b/libs/theme/src/styles/components/page/vars.module.css similarity index 91% rename from libs/theme/src/styles/components/button/vars.module.css rename to libs/theme/src/styles/components/page/vars.module.css index 8a3b38a..e080c0b 100644 --- a/libs/theme/src/styles/components/button/vars.module.css +++ b/libs/theme/src/styles/components/page/vars.module.css @@ -1,5 +1,5 @@ /* - * Copyright 2021 Watheia Labs, LLC. All rights reserved. + * Copyright 2020 Adobe. All rights reserved. * This file is licensed to you under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. You may obtain a copy * of the License at http://www.apache.org/licenses/LICENSE-2.0 diff --git a/libs/theme/src/styles/components/pagination/index.module.css b/libs/theme/src/styles/components/pagination/index.module.css index 65130a8..4c19f93 100644 --- a/libs/theme/src/styles/components/pagination/index.module.css +++ b/libs/theme/src/styles/components/pagination/index.module.css @@ -1,5 +1,5 @@ /* -Copyright 2021 Watheia Labs, LLC. All rights reserved. +Copyright 2021 Adobe. All rights reserved. This file is licensed to you under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. You may obtain a copy of the License at http://www.apache.org/licenses/LICENSE-2.0 diff --git a/libs/theme/src/styles/components/pagination/skin.module.css b/libs/theme/src/styles/components/pagination/skin.module.css index c80703e..fdd2590 100644 --- a/libs/theme/src/styles/components/pagination/skin.module.css +++ b/libs/theme/src/styles/components/pagination/skin.module.css @@ -1,5 +1,5 @@ /* -Copyright 2021 Watheia Labs, LLC. All rights reserved. +Copyright 2021 Adobe. All rights reserved. This file is licensed to you under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. You may obtain a copy of the License at http://www.apache.org/licenses/LICENSE-2.0 diff --git a/libs/theme/src/styles/components/pagination/vars.module.css b/libs/theme/src/styles/components/pagination/vars.module.css index 8a3b38a..405bbd2 100644 --- a/libs/theme/src/styles/components/pagination/vars.module.css +++ b/libs/theme/src/styles/components/pagination/vars.module.css @@ -1,5 +1,5 @@ /* - * Copyright 2021 Watheia Labs, LLC. All rights reserved. + * Copyright 2021 Adobe. All rights reserved. * This file is licensed to you under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. You may obtain a copy * of the License at http://www.apache.org/licenses/LICENSE-2.0 diff --git a/libs/theme/src/styles/components/popover/index.module.css b/libs/theme/src/styles/components/popover/index.module.css index 3dea13f..9f1d2b9 100644 --- a/libs/theme/src/styles/components/popover/index.module.css +++ b/libs/theme/src/styles/components/popover/index.module.css @@ -1,5 +1,5 @@ /* -Copyright 2021 Watheia Labs, LLC. All rights reserved. +Copyright 2021 Adobe. All rights reserved. This file is licensed to you under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. You may obtain a copy of the License at http://www.apache.org/licenses/LICENSE-2.0 diff --git a/libs/theme/src/styles/components/popover/skin.module.css b/libs/theme/src/styles/components/popover/skin.module.css index 3336af7..99f1063 100644 --- a/libs/theme/src/styles/components/popover/skin.module.css +++ b/libs/theme/src/styles/components/popover/skin.module.css @@ -1,5 +1,5 @@ /* -Copyright 2021 Watheia Labs, LLC. All rights reserved. +Copyright 2021 Adobe. All rights reserved. This file is licensed to you under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. You may obtain a copy of the License at http://www.apache.org/licenses/LICENSE-2.0 diff --git a/libs/theme/src/styles/components/popover/vars.module.css b/libs/theme/src/styles/components/popover/vars.module.css index 8a3b38a..405bbd2 100644 --- a/libs/theme/src/styles/components/popover/vars.module.css +++ b/libs/theme/src/styles/components/popover/vars.module.css @@ -1,5 +1,5 @@ /* - * Copyright 2021 Watheia Labs, LLC. All rights reserved. + * Copyright 2021 Adobe. All rights reserved. * This file is licensed to you under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. You may obtain a copy * of the License at http://www.apache.org/licenses/LICENSE-2.0 diff --git a/libs/theme/src/styles/components/quickaction/index.module.css b/libs/theme/src/styles/components/quickaction/index.module.css index edbd775..bad26b5 100644 --- a/libs/theme/src/styles/components/quickaction/index.module.css +++ b/libs/theme/src/styles/components/quickaction/index.module.css @@ -1,5 +1,5 @@ /* -Copyright 2021 Watheia Labs, LLC. All rights reserved. +Copyright 2021 Adobe. All rights reserved. This file is licensed to you under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. You may obtain a copy of the License at http://www.apache.org/licenses/LICENSE-2.0 diff --git a/libs/theme/src/styles/components/quickaction/skin.module.css b/libs/theme/src/styles/components/quickaction/skin.module.css index 2404233..3db6065 100644 --- a/libs/theme/src/styles/components/quickaction/skin.module.css +++ b/libs/theme/src/styles/components/quickaction/skin.module.css @@ -1,5 +1,5 @@ /* -Copyright 2021 Watheia Labs, LLC. All rights reserved. +Copyright 2021 Adobe. All rights reserved. This file is licensed to you under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. You may obtain a copy of the License at http://www.apache.org/licenses/LICENSE-2.0 diff --git a/libs/theme/src/styles/components/quickaction/vars.module.css b/libs/theme/src/styles/components/quickaction/vars.module.css index 8a3b38a..405bbd2 100644 --- a/libs/theme/src/styles/components/quickaction/vars.module.css +++ b/libs/theme/src/styles/components/quickaction/vars.module.css @@ -1,5 +1,5 @@ /* - * Copyright 2021 Watheia Labs, LLC. All rights reserved. + * Copyright 2021 Adobe. All rights reserved. * This file is licensed to you under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. You may obtain a copy * of the License at http://www.apache.org/licenses/LICENSE-2.0 diff --git a/libs/theme/src/styles/components/radio/index.module.css b/libs/theme/src/styles/components/radio/index.module.css index 4fcbc4b..f603ab4 100644 --- a/libs/theme/src/styles/components/radio/index.module.css +++ b/libs/theme/src/styles/components/radio/index.module.css @@ -1,5 +1,5 @@ /* -Copyright 2021 Watheia Labs, LLC. All rights reserved. +Copyright 2021 Adobe. All rights reserved. This file is licensed to you under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. You may obtain a copy of the License at http://www.apache.org/licenses/LICENSE-2.0 diff --git a/libs/theme/src/styles/components/radio/skin.module.css b/libs/theme/src/styles/components/radio/skin.module.css index 66ae83b..e8bd3f0 100644 --- a/libs/theme/src/styles/components/radio/skin.module.css +++ b/libs/theme/src/styles/components/radio/skin.module.css @@ -1,5 +1,5 @@ /* -Copyright 2021 Watheia Labs, LLC. All rights reserved. +Copyright 2021 Adobe. All rights reserved. This file is licensed to you under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. You may obtain a copy of the License at http://www.apache.org/licenses/LICENSE-2.0 diff --git a/libs/theme/src/styles/components/radio/vars.module.css b/libs/theme/src/styles/components/radio/vars.module.css index 8a3b38a..405bbd2 100644 --- a/libs/theme/src/styles/components/radio/vars.module.css +++ b/libs/theme/src/styles/components/radio/vars.module.css @@ -1,5 +1,5 @@ /* - * Copyright 2021 Watheia Labs, LLC. All rights reserved. + * Copyright 2021 Adobe. All rights reserved. * This file is licensed to you under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. You may obtain a copy * of the License at http://www.apache.org/licenses/LICENSE-2.0 diff --git a/libs/theme/src/styles/components/rating/index.module.css b/libs/theme/src/styles/components/rating/index.module.css index 18b695c..9f7197a 100644 --- a/libs/theme/src/styles/components/rating/index.module.css +++ b/libs/theme/src/styles/components/rating/index.module.css @@ -1,5 +1,5 @@ /* -Copyright 2021 Watheia Labs, LLC. All rights reserved. +Copyright 2021 Adobe. All rights reserved. This file is licensed to you under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. You may obtain a copy of the License at http://www.apache.org/licenses/LICENSE-2.0 diff --git a/libs/theme/src/styles/components/rating/skin.module.css b/libs/theme/src/styles/components/rating/skin.module.css index 15ec5ef..7596fa4 100644 --- a/libs/theme/src/styles/components/rating/skin.module.css +++ b/libs/theme/src/styles/components/rating/skin.module.css @@ -1,5 +1,5 @@ /* -Copyright 2021 Watheia Labs, LLC. All rights reserved. +Copyright 2021 Adobe. All rights reserved. This file is licensed to you under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. You may obtain a copy of the License at http://www.apache.org/licenses/LICENSE-2.0 diff --git a/libs/theme/src/styles/components/rating/vars.module.css b/libs/theme/src/styles/components/rating/vars.module.css index 8a3b38a..405bbd2 100644 --- a/libs/theme/src/styles/components/rating/vars.module.css +++ b/libs/theme/src/styles/components/rating/vars.module.css @@ -1,5 +1,5 @@ /* - * Copyright 2021 Watheia Labs, LLC. All rights reserved. + * Copyright 2021 Adobe. All rights reserved. * This file is licensed to you under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. You may obtain a copy * of the License at http://www.apache.org/licenses/LICENSE-2.0 diff --git a/libs/theme/src/styles/components/rule/index.module.css b/libs/theme/src/styles/components/rule/index.module.css index 1d496ee..3ac6496 100644 --- a/libs/theme/src/styles/components/rule/index.module.css +++ b/libs/theme/src/styles/components/rule/index.module.css @@ -1,5 +1,5 @@ /* -Copyright 2021 Watheia Labs, LLC. All rights reserved. +Copyright 2021 Adobe. All rights reserved. This file is licensed to you under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. You may obtain a copy of the License at http://www.apache.org/licenses/LICENSE-2.0 diff --git a/libs/theme/src/styles/components/rule/skin.module.css b/libs/theme/src/styles/components/rule/skin.module.css index 6c3c4c0..9abd606 100644 --- a/libs/theme/src/styles/components/rule/skin.module.css +++ b/libs/theme/src/styles/components/rule/skin.module.css @@ -1,5 +1,5 @@ /* -Copyright 2021 Watheia Labs, LLC. All rights reserved. +Copyright 2021 Adobe. All rights reserved. This file is licensed to you under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. You may obtain a copy of the License at http://www.apache.org/licenses/LICENSE-2.0 diff --git a/libs/theme/src/styles/components/rule/vars.module.css b/libs/theme/src/styles/components/rule/vars.module.css index 8a3b38a..405bbd2 100644 --- a/libs/theme/src/styles/components/rule/vars.module.css +++ b/libs/theme/src/styles/components/rule/vars.module.css @@ -1,5 +1,5 @@ /* - * Copyright 2021 Watheia Labs, LLC. All rights reserved. + * Copyright 2021 Adobe. All rights reserved. * This file is licensed to you under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. You may obtain a copy * of the License at http://www.apache.org/licenses/LICENSE-2.0 diff --git a/libs/theme/src/styles/components/search/index.module.css b/libs/theme/src/styles/components/search/index.module.css index 03b968c..1cc1d27 100644 --- a/libs/theme/src/styles/components/search/index.module.css +++ b/libs/theme/src/styles/components/search/index.module.css @@ -1,5 +1,5 @@ /* -Copyright 2021 Watheia Labs, LLC. All rights reserved. +Copyright 2021 Adobe. All rights reserved. This file is licensed to you under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. You may obtain a copy of the License at http://www.apache.org/licenses/LICENSE-2.0 diff --git a/libs/theme/src/styles/components/search/vars.module.css b/libs/theme/src/styles/components/search/vars.module.css index b8e51b2..37cc5d4 100644 --- a/libs/theme/src/styles/components/search/vars.module.css +++ b/libs/theme/src/styles/components/search/vars.module.css @@ -1,5 +1,5 @@ /* - * Copyright 2021 Watheia Labs, LLC. All rights reserved. + * Copyright 2021 Adobe. All rights reserved. * This file is licensed to you under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. You may obtain a copy * of the License at http://www.apache.org/licenses/LICENSE-2.0 diff --git a/libs/theme/src/styles/components/searchwithin/index.module.css b/libs/theme/src/styles/components/searchwithin/index.module.css index 03df44f..ad6c54c 100644 --- a/libs/theme/src/styles/components/searchwithin/index.module.css +++ b/libs/theme/src/styles/components/searchwithin/index.module.css @@ -1,5 +1,5 @@ /* -Copyright 2021 Watheia Labs, LLC. All rights reserved. +Copyright 2021 Adobe. All rights reserved. This file is licensed to you under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. You may obtain a copy of the License at http://www.apache.org/licenses/LICENSE-2.0 diff --git a/libs/theme/src/styles/components/searchwithin/vars.module.css b/libs/theme/src/styles/components/searchwithin/vars.module.css index b8e51b2..37cc5d4 100644 --- a/libs/theme/src/styles/components/searchwithin/vars.module.css +++ b/libs/theme/src/styles/components/searchwithin/vars.module.css @@ -1,5 +1,5 @@ /* - * Copyright 2021 Watheia Labs, LLC. All rights reserved. + * Copyright 2021 Adobe. All rights reserved. * This file is licensed to you under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. You may obtain a copy * of the License at http://www.apache.org/licenses/LICENSE-2.0 diff --git a/libs/theme/src/styles/components/sidenav/index.module.css b/libs/theme/src/styles/components/sidenav/index.module.css index be0a4cc..26dc1b3 100644 --- a/libs/theme/src/styles/components/sidenav/index.module.css +++ b/libs/theme/src/styles/components/sidenav/index.module.css @@ -1,5 +1,5 @@ /* -Copyright 2021 Watheia Labs, LLC. All rights reserved. +Copyright 2021 Adobe. All rights reserved. This file is licensed to you under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. You may obtain a copy of the License at http://www.apache.org/licenses/LICENSE-2.0 diff --git a/libs/theme/src/styles/components/sidenav/skin.module.css b/libs/theme/src/styles/components/sidenav/skin.module.css index dbaa182..8c74327 100644 --- a/libs/theme/src/styles/components/sidenav/skin.module.css +++ b/libs/theme/src/styles/components/sidenav/skin.module.css @@ -1,5 +1,5 @@ /* -Copyright 2021 Watheia Labs, LLC. All rights reserved. +Copyright 2021 Adobe. All rights reserved. This file is licensed to you under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. You may obtain a copy of the License at http://www.apache.org/licenses/LICENSE-2.0 diff --git a/libs/theme/src/styles/components/sidenav/vars.module.css b/libs/theme/src/styles/components/sidenav/vars.module.css index 8a3b38a..405bbd2 100644 --- a/libs/theme/src/styles/components/sidenav/vars.module.css +++ b/libs/theme/src/styles/components/sidenav/vars.module.css @@ -1,5 +1,5 @@ /* - * Copyright 2021 Watheia Labs, LLC. All rights reserved. + * Copyright 2021 Adobe. All rights reserved. * This file is licensed to you under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. You may obtain a copy * of the License at http://www.apache.org/licenses/LICENSE-2.0 diff --git a/libs/theme/src/styles/components/slider/index.module.css b/libs/theme/src/styles/components/slider/index.module.css index 2f855f8..223ce76 100644 --- a/libs/theme/src/styles/components/slider/index.module.css +++ b/libs/theme/src/styles/components/slider/index.module.css @@ -1,5 +1,5 @@ /* -Copyright 2021 Watheia Labs, LLC. All rights reserved. +Copyright 2021 Adobe. All rights reserved. This file is licensed to you under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. You may obtain a copy of the License at http://www.apache.org/licenses/LICENSE-2.0 diff --git a/libs/theme/src/styles/components/slider/skin.module.css b/libs/theme/src/styles/components/slider/skin.module.css index 0bfbf4e..6bdfcf2 100644 --- a/libs/theme/src/styles/components/slider/skin.module.css +++ b/libs/theme/src/styles/components/slider/skin.module.css @@ -1,5 +1,5 @@ /* -Copyright 2021 Watheia Labs, LLC. All rights reserved. +Copyright 2021 Adobe. All rights reserved. This file is licensed to you under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. You may obtain a copy of the License at http://www.apache.org/licenses/LICENSE-2.0 diff --git a/libs/theme/src/styles/components/slider/vars.module.css b/libs/theme/src/styles/components/slider/vars.module.css index 8a3b38a..405bbd2 100644 --- a/libs/theme/src/styles/components/slider/vars.module.css +++ b/libs/theme/src/styles/components/slider/vars.module.css @@ -1,5 +1,5 @@ /* - * Copyright 2021 Watheia Labs, LLC. All rights reserved. + * Copyright 2021 Adobe. All rights reserved. * This file is licensed to you under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. You may obtain a copy * of the License at http://www.apache.org/licenses/LICENSE-2.0 diff --git a/libs/theme/src/styles/components/splitbutton/index.module.css b/libs/theme/src/styles/components/splitbutton/index.module.css index 22ebd41..199a1f1 100644 --- a/libs/theme/src/styles/components/splitbutton/index.module.css +++ b/libs/theme/src/styles/components/splitbutton/index.module.css @@ -1,5 +1,5 @@ /* -Copyright 2021 Watheia Labs, LLC. All rights reserved. +Copyright 2021 Adobe. All rights reserved. This file is licensed to you under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. You may obtain a copy of the License at http://www.apache.org/licenses/LICENSE-2.0 diff --git a/libs/theme/src/styles/components/splitbutton/vars.module.css b/libs/theme/src/styles/components/splitbutton/vars.module.css index b8e51b2..37cc5d4 100644 --- a/libs/theme/src/styles/components/splitbutton/vars.module.css +++ b/libs/theme/src/styles/components/splitbutton/vars.module.css @@ -1,5 +1,5 @@ /* - * Copyright 2021 Watheia Labs, LLC. All rights reserved. + * Copyright 2021 Adobe. All rights reserved. * This file is licensed to you under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. You may obtain a copy * of the License at http://www.apache.org/licenses/LICENSE-2.0 diff --git a/libs/theme/src/styles/components/splitview/index.module.css b/libs/theme/src/styles/components/splitview/index.module.css index 4855a92..aa67fa8 100644 --- a/libs/theme/src/styles/components/splitview/index.module.css +++ b/libs/theme/src/styles/components/splitview/index.module.css @@ -1,5 +1,5 @@ /* -Copyright 2021 Watheia Labs, LLC. All rights reserved. +Copyright 2021 Adobe. All rights reserved. This file is licensed to you under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. You may obtain a copy of the License at http://www.apache.org/licenses/LICENSE-2.0 diff --git a/libs/theme/src/styles/components/splitview/skin.module.css b/libs/theme/src/styles/components/splitview/skin.module.css index 801b620..f65e86b 100644 --- a/libs/theme/src/styles/components/splitview/skin.module.css +++ b/libs/theme/src/styles/components/splitview/skin.module.css @@ -1,5 +1,5 @@ /* -Copyright 2021 Watheia Labs, LLC. All rights reserved. +Copyright 2021 Adobe. All rights reserved. This file is licensed to you under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. You may obtain a copy of the License at http://www.apache.org/licenses/LICENSE-2.0 diff --git a/libs/theme/src/styles/components/splitview/vars.module.css b/libs/theme/src/styles/components/splitview/vars.module.css index 8a3b38a..405bbd2 100644 --- a/libs/theme/src/styles/components/splitview/vars.module.css +++ b/libs/theme/src/styles/components/splitview/vars.module.css @@ -1,5 +1,5 @@ /* - * Copyright 2021 Watheia Labs, LLC. All rights reserved. + * Copyright 2021 Adobe. All rights reserved. * This file is licensed to you under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. You may obtain a copy * of the License at http://www.apache.org/licenses/LICENSE-2.0 diff --git a/libs/theme/src/styles/components/statuslight/index.module.css b/libs/theme/src/styles/components/statuslight/index.module.css index a3114bf..7e7a6ad 100644 --- a/libs/theme/src/styles/components/statuslight/index.module.css +++ b/libs/theme/src/styles/components/statuslight/index.module.css @@ -1,5 +1,5 @@ /* -Copyright 2021 Watheia Labs, LLC. All rights reserved. +Copyright 2021 Adobe. All rights reserved. This file is licensed to you under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. You may obtain a copy of the License at http://www.apache.org/licenses/LICENSE-2.0 diff --git a/libs/theme/src/styles/components/statuslight/skin.module.css b/libs/theme/src/styles/components/statuslight/skin.module.css index ad53c84..9a731ea 100644 --- a/libs/theme/src/styles/components/statuslight/skin.module.css +++ b/libs/theme/src/styles/components/statuslight/skin.module.css @@ -1,5 +1,5 @@ /* -Copyright 2021 Watheia Labs, LLC. All rights reserved. +Copyright 2021 Adobe. All rights reserved. This file is licensed to you under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. You may obtain a copy of the License at http://www.apache.org/licenses/LICENSE-2.0 diff --git a/libs/theme/src/styles/components/statuslight/vars.module.css b/libs/theme/src/styles/components/statuslight/vars.module.css index 8a3b38a..405bbd2 100644 --- a/libs/theme/src/styles/components/statuslight/vars.module.css +++ b/libs/theme/src/styles/components/statuslight/vars.module.css @@ -1,5 +1,5 @@ /* - * Copyright 2021 Watheia Labs, LLC. All rights reserved. + * Copyright 2021 Adobe. All rights reserved. * This file is licensed to you under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. You may obtain a copy * of the License at http://www.apache.org/licenses/LICENSE-2.0 diff --git a/libs/theme/src/styles/components/steplist/index.module.css b/libs/theme/src/styles/components/steplist/index.module.css index d4d40e9..b6cfdea 100644 --- a/libs/theme/src/styles/components/steplist/index.module.css +++ b/libs/theme/src/styles/components/steplist/index.module.css @@ -1,5 +1,5 @@ /* -Copyright 2021 Watheia Labs, LLC. All rights reserved. +Copyright 2021 Adobe. All rights reserved. This file is licensed to you under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. You may obtain a copy of the License at http://www.apache.org/licenses/LICENSE-2.0 diff --git a/libs/theme/src/styles/components/steplist/skin.module.css b/libs/theme/src/styles/components/steplist/skin.module.css index fe118e3..c265c2c 100644 --- a/libs/theme/src/styles/components/steplist/skin.module.css +++ b/libs/theme/src/styles/components/steplist/skin.module.css @@ -1,5 +1,5 @@ /* -Copyright 2021 Watheia Labs, LLC. All rights reserved. +Copyright 2021 Adobe. All rights reserved. This file is licensed to you under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. You may obtain a copy of the License at http://www.apache.org/licenses/LICENSE-2.0 diff --git a/libs/theme/src/styles/components/steplist/vars.module.css b/libs/theme/src/styles/components/steplist/vars.module.css index 8a3b38a..405bbd2 100644 --- a/libs/theme/src/styles/components/steplist/vars.module.css +++ b/libs/theme/src/styles/components/steplist/vars.module.css @@ -1,5 +1,5 @@ /* - * Copyright 2021 Watheia Labs, LLC. All rights reserved. + * Copyright 2021 Adobe. All rights reserved. * This file is licensed to you under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. You may obtain a copy * of the License at http://www.apache.org/licenses/LICENSE-2.0 diff --git a/libs/theme/src/styles/components/stepper/index.module.css b/libs/theme/src/styles/components/stepper/index.module.css index d27984b..d988685 100644 --- a/libs/theme/src/styles/components/stepper/index.module.css +++ b/libs/theme/src/styles/components/stepper/index.module.css @@ -1,5 +1,5 @@ /* -Copyright 2021 Watheia Labs, LLC. All rights reserved. +Copyright 2021 Adobe. All rights reserved. This file is licensed to you under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. You may obtain a copy of the License at http://www.apache.org/licenses/LICENSE-2.0 diff --git a/libs/theme/src/styles/components/stepper/skin.module.css b/libs/theme/src/styles/components/stepper/skin.module.css index e04cd2b..ef2fccc 100644 --- a/libs/theme/src/styles/components/stepper/skin.module.css +++ b/libs/theme/src/styles/components/stepper/skin.module.css @@ -1,5 +1,5 @@ /* -Copyright 2021 Watheia Labs, LLC. All rights reserved. +Copyright 2021 Adobe. All rights reserved. This file is licensed to you under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. You may obtain a copy of the License at http://www.apache.org/licenses/LICENSE-2.0 diff --git a/libs/theme/src/styles/components/stepper/vars.module.css b/libs/theme/src/styles/components/stepper/vars.module.css index 8a3b38a..405bbd2 100644 --- a/libs/theme/src/styles/components/stepper/vars.module.css +++ b/libs/theme/src/styles/components/stepper/vars.module.css @@ -1,5 +1,5 @@ /* - * Copyright 2021 Watheia Labs, LLC. All rights reserved. + * Copyright 2021 Adobe. All rights reserved. * This file is licensed to you under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. You may obtain a copy * of the License at http://www.apache.org/licenses/LICENSE-2.0 diff --git a/libs/theme/src/styles/components/table/index.module.css b/libs/theme/src/styles/components/table/index.module.css index 0832412..75bda67 100644 --- a/libs/theme/src/styles/components/table/index.module.css +++ b/libs/theme/src/styles/components/table/index.module.css @@ -1,5 +1,5 @@ /* -Copyright 2021 Watheia Labs, LLC. All rights reserved. +Copyright 2021 Adobe. All rights reserved. This file is licensed to you under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. You may obtain a copy of the License at http://www.apache.org/licenses/LICENSE-2.0 diff --git a/libs/theme/src/styles/components/table/skin.module.css b/libs/theme/src/styles/components/table/skin.module.css index b3d1edd..cdff23f 100644 --- a/libs/theme/src/styles/components/table/skin.module.css +++ b/libs/theme/src/styles/components/table/skin.module.css @@ -1,5 +1,5 @@ /* -Copyright 2021 Watheia Labs, LLC. All rights reserved. +Copyright 2021 Adobe. All rights reserved. This file is licensed to you under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. You may obtain a copy of the License at http://www.apache.org/licenses/LICENSE-2.0 diff --git a/libs/theme/src/styles/components/table/vars.module.css b/libs/theme/src/styles/components/table/vars.module.css index 8a3b38a..405bbd2 100644 --- a/libs/theme/src/styles/components/table/vars.module.css +++ b/libs/theme/src/styles/components/table/vars.module.css @@ -1,5 +1,5 @@ /* - * Copyright 2021 Watheia Labs, LLC. All rights reserved. + * Copyright 2021 Adobe. All rights reserved. * This file is licensed to you under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. You may obtain a copy * of the License at http://www.apache.org/licenses/LICENSE-2.0 diff --git a/libs/theme/src/styles/components/tabs/index.module.css b/libs/theme/src/styles/components/tabs/index.module.css index e88ef93..26c8a50 100644 --- a/libs/theme/src/styles/components/tabs/index.module.css +++ b/libs/theme/src/styles/components/tabs/index.module.css @@ -1,5 +1,5 @@ /* -Copyright 2021 Watheia Labs, LLC. All rights reserved. +Copyright 2021 Adobe. All rights reserved. This file is licensed to you under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. You may obtain a copy of the License at http://www.apache.org/licenses/LICENSE-2.0 diff --git a/libs/theme/src/styles/components/tabs/skin.module.css b/libs/theme/src/styles/components/tabs/skin.module.css index f758a72..e1b474d 100644 --- a/libs/theme/src/styles/components/tabs/skin.module.css +++ b/libs/theme/src/styles/components/tabs/skin.module.css @@ -1,5 +1,5 @@ /* -Copyright 2021 Watheia Labs, LLC. All rights reserved. +Copyright 2021 Adobe. All rights reserved. This file is licensed to you under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. You may obtain a copy of the License at http://www.apache.org/licenses/LICENSE-2.0 diff --git a/libs/theme/src/styles/components/tabs/vars.module.css b/libs/theme/src/styles/components/tabs/vars.module.css index 8a3b38a..405bbd2 100644 --- a/libs/theme/src/styles/components/tabs/vars.module.css +++ b/libs/theme/src/styles/components/tabs/vars.module.css @@ -1,5 +1,5 @@ /* - * Copyright 2021 Watheia Labs, LLC. All rights reserved. + * Copyright 2021 Adobe. All rights reserved. * This file is licensed to you under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. You may obtain a copy * of the License at http://www.apache.org/licenses/LICENSE-2.0 diff --git a/libs/theme/src/styles/components/tags/index.module.css b/libs/theme/src/styles/components/tags/index.module.css index 37ad807..686ac0c 100644 --- a/libs/theme/src/styles/components/tags/index.module.css +++ b/libs/theme/src/styles/components/tags/index.module.css @@ -1,5 +1,5 @@ /* -Copyright 2021 Watheia Labs, LLC. All rights reserved. +Copyright 2021 Adobe. All rights reserved. This file is licensed to you under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. You may obtain a copy of the License at http://www.apache.org/licenses/LICENSE-2.0 diff --git a/libs/theme/src/styles/components/tags/skin.module.css b/libs/theme/src/styles/components/tags/skin.module.css index 1f2ff2c..84a5502 100644 --- a/libs/theme/src/styles/components/tags/skin.module.css +++ b/libs/theme/src/styles/components/tags/skin.module.css @@ -1,5 +1,5 @@ /* -Copyright 2021 Watheia Labs, LLC. All rights reserved. +Copyright 2021 Adobe. All rights reserved. This file is licensed to you under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. You may obtain a copy of the License at http://www.apache.org/licenses/LICENSE-2.0 diff --git a/libs/theme/src/styles/components/tags/vars.module.css b/libs/theme/src/styles/components/tags/vars.module.css index 8a3b38a..405bbd2 100644 --- a/libs/theme/src/styles/components/tags/vars.module.css +++ b/libs/theme/src/styles/components/tags/vars.module.css @@ -1,5 +1,5 @@ /* - * Copyright 2021 Watheia Labs, LLC. All rights reserved. + * Copyright 2021 Adobe. All rights reserved. * This file is licensed to you under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. You may obtain a copy * of the License at http://www.apache.org/licenses/LICENSE-2.0 diff --git a/libs/theme/src/styles/components/textfield/index.module.css b/libs/theme/src/styles/components/textfield/index.module.css index d798436..0f31898 100644 --- a/libs/theme/src/styles/components/textfield/index.module.css +++ b/libs/theme/src/styles/components/textfield/index.module.css @@ -1,5 +1,5 @@ /* -Copyright 2021 Watheia Labs, LLC. All rights reserved. +Copyright 2021 Adobe. All rights reserved. This file is licensed to you under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. You may obtain a copy of the License at http://www.apache.org/licenses/LICENSE-2.0 diff --git a/libs/theme/src/styles/components/textfield/skin.module.css b/libs/theme/src/styles/components/textfield/skin.module.css index 7b28b67..e83fc90 100644 --- a/libs/theme/src/styles/components/textfield/skin.module.css +++ b/libs/theme/src/styles/components/textfield/skin.module.css @@ -1,5 +1,5 @@ /* -Copyright 2021 Watheia Labs, LLC. All rights reserved. +Copyright 2021 Adobe. All rights reserved. This file is licensed to you under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. You may obtain a copy of the License at http://www.apache.org/licenses/LICENSE-2.0 diff --git a/libs/theme/src/styles/components/textfield/vars.module.css b/libs/theme/src/styles/components/textfield/vars.module.css index 8a3b38a..405bbd2 100644 --- a/libs/theme/src/styles/components/textfield/vars.module.css +++ b/libs/theme/src/styles/components/textfield/vars.module.css @@ -1,5 +1,5 @@ /* - * Copyright 2021 Watheia Labs, LLC. All rights reserved. + * Copyright 2021 Adobe. All rights reserved. * This file is licensed to you under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. You may obtain a copy * of the License at http://www.apache.org/licenses/LICENSE-2.0 diff --git a/libs/theme/src/styles/components/toast/index.module.css b/libs/theme/src/styles/components/toast/index.module.css index 9be3787..4afafa9 100644 --- a/libs/theme/src/styles/components/toast/index.module.css +++ b/libs/theme/src/styles/components/toast/index.module.css @@ -1,5 +1,5 @@ /* -Copyright 2021 Watheia Labs, LLC. All rights reserved. +Copyright 2021 Adobe. All rights reserved. This file is licensed to you under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. You may obtain a copy of the License at http://www.apache.org/licenses/LICENSE-2.0 diff --git a/libs/theme/src/styles/components/toast/skin.module.css b/libs/theme/src/styles/components/toast/skin.module.css index c67be7f..1d8593c 100644 --- a/libs/theme/src/styles/components/toast/skin.module.css +++ b/libs/theme/src/styles/components/toast/skin.module.css @@ -1,5 +1,5 @@ /* -Copyright 2021 Watheia Labs, LLC. All rights reserved. +Copyright 2021 Adobe. All rights reserved. This file is licensed to you under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. You may obtain a copy of the License at http://www.apache.org/licenses/LICENSE-2.0 diff --git a/libs/theme/src/styles/components/toast/vars.module.css b/libs/theme/src/styles/components/toast/vars.module.css index 8a3b38a..405bbd2 100644 --- a/libs/theme/src/styles/components/toast/vars.module.css +++ b/libs/theme/src/styles/components/toast/vars.module.css @@ -1,5 +1,5 @@ /* - * Copyright 2021 Watheia Labs, LLC. All rights reserved. + * Copyright 2021 Adobe. All rights reserved. * This file is licensed to you under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. You may obtain a copy * of the License at http://www.apache.org/licenses/LICENSE-2.0 diff --git a/libs/theme/src/styles/components/toggle/index.module.css b/libs/theme/src/styles/components/toggle/index.module.css index fc7ddd8..b958941 100644 --- a/libs/theme/src/styles/components/toggle/index.module.css +++ b/libs/theme/src/styles/components/toggle/index.module.css @@ -1,5 +1,5 @@ /* -Copyright 2021 Watheia Labs, LLC. All rights reserved. +Copyright 2021 Adobe. All rights reserved. This file is licensed to you under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. You may obtain a copy of the License at http://www.apache.org/licenses/LICENSE-2.0 diff --git a/libs/theme/src/styles/components/toggle/skin.module.css b/libs/theme/src/styles/components/toggle/skin.module.css index ae9d846..ef4b7b3 100644 --- a/libs/theme/src/styles/components/toggle/skin.module.css +++ b/libs/theme/src/styles/components/toggle/skin.module.css @@ -1,5 +1,5 @@ /* -Copyright 2021 Watheia Labs, LLC. All rights reserved. +Copyright 2021 Adobe. All rights reserved. This file is licensed to you under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. You may obtain a copy of the License at http://www.apache.org/licenses/LICENSE-2.0 diff --git a/libs/theme/src/styles/components/toggle/vars.module.css b/libs/theme/src/styles/components/toggle/vars.module.css index 8a3b38a..405bbd2 100644 --- a/libs/theme/src/styles/components/toggle/vars.module.css +++ b/libs/theme/src/styles/components/toggle/vars.module.css @@ -1,5 +1,5 @@ /* - * Copyright 2021 Watheia Labs, LLC. All rights reserved. + * Copyright 2021 Adobe. All rights reserved. * This file is licensed to you under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. You may obtain a copy * of the License at http://www.apache.org/licenses/LICENSE-2.0 diff --git a/libs/theme/src/styles/components/tooltip/index.module.css b/libs/theme/src/styles/components/tooltip/index.module.css index 8d10689..764e6ed 100644 --- a/libs/theme/src/styles/components/tooltip/index.module.css +++ b/libs/theme/src/styles/components/tooltip/index.module.css @@ -1,5 +1,5 @@ /* -Copyright 2021 Watheia Labs, LLC. All rights reserved. +Copyright 2021 Adobe. All rights reserved. This file is licensed to you under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. You may obtain a copy of the License at http://www.apache.org/licenses/LICENSE-2.0 diff --git a/libs/theme/src/styles/components/tooltip/skin.module.css b/libs/theme/src/styles/components/tooltip/skin.module.css index 0b9fdbf..5ddcb50 100644 --- a/libs/theme/src/styles/components/tooltip/skin.module.css +++ b/libs/theme/src/styles/components/tooltip/skin.module.css @@ -1,5 +1,5 @@ /* -Copyright 2021 Watheia Labs, LLC. All rights reserved. +Copyright 2021 Adobe. All rights reserved. This file is licensed to you under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. You may obtain a copy of the License at http://www.apache.org/licenses/LICENSE-2.0 diff --git a/libs/theme/src/styles/components/tooltip/vars.module.css b/libs/theme/src/styles/components/tooltip/vars.module.css index 8a3b38a..405bbd2 100644 --- a/libs/theme/src/styles/components/tooltip/vars.module.css +++ b/libs/theme/src/styles/components/tooltip/vars.module.css @@ -1,5 +1,5 @@ /* - * Copyright 2021 Watheia Labs, LLC. All rights reserved. + * Copyright 2021 Adobe. All rights reserved. * This file is licensed to you under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. You may obtain a copy * of the License at http://www.apache.org/licenses/LICENSE-2.0 diff --git a/libs/theme/src/styles/components/tray/index.module.css b/libs/theme/src/styles/components/tray/index.module.css index fde3258..e63c37a 100644 --- a/libs/theme/src/styles/components/tray/index.module.css +++ b/libs/theme/src/styles/components/tray/index.module.css @@ -1,5 +1,5 @@ /* - * Copyright 2021 Watheia Labs, LLC. All rights reserved. + * Copyright 2021 Adobe. All rights reserved. * This file is licensed to you under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. You may obtain a copy * of the License at http://www.apache.org/licenses/LICENSE-2.0 diff --git a/libs/theme/src/styles/components/tray/skin.module.css b/libs/theme/src/styles/components/tray/skin.module.css index 2988a0b..539cbfb 100644 --- a/libs/theme/src/styles/components/tray/skin.module.css +++ b/libs/theme/src/styles/components/tray/skin.module.css @@ -1,5 +1,5 @@ /* - * Copyright 2021 Watheia Labs, LLC. All rights reserved. + * Copyright 2021 Adobe. All rights reserved. * This file is licensed to you under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. You may obtain a copy * of the License at http://www.apache.org/licenses/LICENSE-2.0 diff --git a/libs/theme/src/styles/components/tray/vars.module.css b/libs/theme/src/styles/components/tray/vars.module.css index 8a3b38a..405bbd2 100644 --- a/libs/theme/src/styles/components/tray/vars.module.css +++ b/libs/theme/src/styles/components/tray/vars.module.css @@ -1,5 +1,5 @@ /* - * Copyright 2021 Watheia Labs, LLC. All rights reserved. + * Copyright 2021 Adobe. All rights reserved. * This file is licensed to you under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. You may obtain a copy * of the License at http://www.apache.org/licenses/LICENSE-2.0 diff --git a/libs/theme/src/styles/components/treeview/index.module.css b/libs/theme/src/styles/components/treeview/index.module.css index 40db8c2..8e487da 100644 --- a/libs/theme/src/styles/components/treeview/index.module.css +++ b/libs/theme/src/styles/components/treeview/index.module.css @@ -1,5 +1,5 @@ /* -Copyright 2021 Watheia Labs, LLC. All rights reserved. +Copyright 2021 Adobe. All rights reserved. This file is licensed to you under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. You may obtain a copy of the License at http://www.apache.org/licenses/LICENSE-2.0 diff --git a/libs/theme/src/styles/components/treeview/skin.module.css b/libs/theme/src/styles/components/treeview/skin.module.css index f17ee46..02bc1a3 100644 --- a/libs/theme/src/styles/components/treeview/skin.module.css +++ b/libs/theme/src/styles/components/treeview/skin.module.css @@ -1,5 +1,5 @@ /* -Copyright 2021 Watheia Labs, LLC. All rights reserved. +Copyright 2021 Adobe. All rights reserved. This file is licensed to you under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. You may obtain a copy of the License at http://www.apache.org/licenses/LICENSE-2.0 diff --git a/libs/theme/src/styles/components/treeview/vars.module.css b/libs/theme/src/styles/components/treeview/vars.module.css index 8a3b38a..405bbd2 100644 --- a/libs/theme/src/styles/components/treeview/vars.module.css +++ b/libs/theme/src/styles/components/treeview/vars.module.css @@ -1,5 +1,5 @@ /* - * Copyright 2021 Watheia Labs, LLC. All rights reserved. + * Copyright 2021 Adobe. All rights reserved. * This file is licensed to you under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. You may obtain a copy * of the License at http://www.apache.org/licenses/LICENSE-2.0 diff --git a/libs/theme/src/styles/components/underlay/index.module.css b/libs/theme/src/styles/components/underlay/index.module.css index 7e4e260..7cb2a01 100644 --- a/libs/theme/src/styles/components/underlay/index.module.css +++ b/libs/theme/src/styles/components/underlay/index.module.css @@ -1,5 +1,5 @@ /* -Copyright 2021 Watheia Labs, LLC. All rights reserved. +Copyright 2021 Adobe. All rights reserved. This file is licensed to you under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. You may obtain a copy of the License at http://www.apache.org/licenses/LICENSE-2.0 diff --git a/libs/theme/src/styles/components/underlay/skin.module.css b/libs/theme/src/styles/components/underlay/skin.module.css index 7c9e42e..56278b6 100644 --- a/libs/theme/src/styles/components/underlay/skin.module.css +++ b/libs/theme/src/styles/components/underlay/skin.module.css @@ -1,5 +1,5 @@ /* -Copyright 2021 Watheia Labs, LLC. All rights reserved. +Copyright 2021 Adobe. All rights reserved. This file is licensed to you under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. You may obtain a copy of the License at http://www.apache.org/licenses/LICENSE-2.0 diff --git a/libs/theme/src/styles/components/underlay/vars.module.css b/libs/theme/src/styles/components/underlay/vars.module.css index 8a3b38a..405bbd2 100644 --- a/libs/theme/src/styles/components/underlay/vars.module.css +++ b/libs/theme/src/styles/components/underlay/vars.module.css @@ -1,5 +1,5 @@ /* - * Copyright 2021 Watheia Labs, LLC. All rights reserved. + * Copyright 2021 Adobe. All rights reserved. * This file is licensed to you under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. You may obtain a copy * of the License at http://www.apache.org/licenses/LICENSE-2.0 diff --git a/libs/theme/src/styles/components/well/index.module.css b/libs/theme/src/styles/components/well/index.module.css index 06ae6a5..b65cacb 100644 --- a/libs/theme/src/styles/components/well/index.module.css +++ b/libs/theme/src/styles/components/well/index.module.css @@ -1,5 +1,5 @@ /* -Copyright 2021 Watheia Labs, LLC. All rights reserved. +Copyright 2021 Adobe. All rights reserved. This file is licensed to you under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. You may obtain a copy of the License at http://www.apache.org/licenses/LICENSE-2.0 diff --git a/libs/theme/src/styles/components/well/skin.module.css b/libs/theme/src/styles/components/well/skin.module.css index f4c19c3..0a24359 100644 --- a/libs/theme/src/styles/components/well/skin.module.css +++ b/libs/theme/src/styles/components/well/skin.module.css @@ -1,5 +1,5 @@ /* -Copyright 2021 Watheia Labs, LLC. All rights reserved. +Copyright 2021 Adobe. All rights reserved. This file is licensed to you under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. You may obtain a copy of the License at http://www.apache.org/licenses/LICENSE-2.0 diff --git a/libs/theme/src/styles/components/well/vars.module.css b/libs/theme/src/styles/components/well/vars.module.css index 8a3b38a..405bbd2 100644 --- a/libs/theme/src/styles/components/well/vars.module.css +++ b/libs/theme/src/styles/components/well/vars.module.css @@ -1,5 +1,5 @@ /* - * Copyright 2021 Watheia Labs, LLC. All rights reserved. + * Copyright 2021 Adobe. All rights reserved. * This file is licensed to you under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. You may obtain a copy * of the License at http://www.apache.org/licenses/LICENSE-2.0 diff --git a/libs/theme/src/styles/vars/wa-dark.module.css b/libs/theme/src/styles/vars/wa-dark.module.css index 0e20ec0..c08e9be 100644 --- a/libs/theme/src/styles/vars/wa-dark.module.css +++ b/libs/theme/src/styles/vars/wa-dark.module.css @@ -1,5 +1,5 @@ /* - * Copyright 2021 Watheia Labs, LLC. All rights reserved. + * Copyright 2021 Adobe. All rights reserved. * This file is licensed to you under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. You may obtain a copy * of the License at http://www.apache.org/licenses/LICENSE-2.0 diff --git a/libs/theme/src/styles/vars/wa-darkest.module.css b/libs/theme/src/styles/vars/wa-darkest.module.css index 2ef36ce..44d13d9 100644 --- a/libs/theme/src/styles/vars/wa-darkest.module.css +++ b/libs/theme/src/styles/vars/wa-darkest.module.css @@ -1,5 +1,5 @@ /* - * Copyright 2021 Watheia Labs, LLC. All rights reserved. + * Copyright 2021 Adobe. All rights reserved. * This file is licensed to you under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. You may obtain a copy * of the License at http://www.apache.org/licenses/LICENSE-2.0 diff --git a/libs/theme/src/styles/vars/wa-global.module.css b/libs/theme/src/styles/vars/wa-global.module.css index a252af3..86f0194 100644 --- a/libs/theme/src/styles/vars/wa-global.module.css +++ b/libs/theme/src/styles/vars/wa-global.module.css @@ -1,5 +1,5 @@ /* - * Copyright 2021 Watheia Labs, LLC. All rights reserved. + * Copyright 2021 Adobe. All rights reserved. * This file is licensed to you under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. You may obtain a copy * of the License at http://www.apache.org/licenses/LICENSE-2.0 diff --git a/libs/theme/src/styles/vars/wa-large.module.css b/libs/theme/src/styles/vars/wa-large.module.css index 58cf404..5e935b3 100644 --- a/libs/theme/src/styles/vars/wa-large.module.css +++ b/libs/theme/src/styles/vars/wa-large.module.css @@ -1,5 +1,5 @@ /* - * Copyright 2021 Watheia Labs, LLC. All rights reserved. + * Copyright 2021 Adobe. All rights reserved. * This file is licensed to you under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. You may obtain a copy * of the License at http://www.apache.org/licenses/LICENSE-2.0 diff --git a/libs/theme/src/styles/vars/wa-light.module.css b/libs/theme/src/styles/vars/wa-light.module.css index d114c16..5565974 100644 --- a/libs/theme/src/styles/vars/wa-light.module.css +++ b/libs/theme/src/styles/vars/wa-light.module.css @@ -1,5 +1,5 @@ /* - * Copyright 2021 Watheia Labs, LLC. All rights reserved. + * Copyright 2021 Adobe. All rights reserved. * This file is licensed to you under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. You may obtain a copy * of the License at http://www.apache.org/licenses/LICENSE-2.0 diff --git a/libs/theme/src/styles/vars/wa-lightest.module.css b/libs/theme/src/styles/vars/wa-lightest.module.css index c24cc20..058ceef 100644 --- a/libs/theme/src/styles/vars/wa-lightest.module.css +++ b/libs/theme/src/styles/vars/wa-lightest.module.css @@ -1,5 +1,5 @@ /* - * Copyright 2021 Watheia Labs, LLC. All rights reserved. + * Copyright 2021 Adobe. All rights reserved. * This file is licensed to you under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. You may obtain a copy * of the License at http://www.apache.org/licenses/LICENSE-2.0 diff --git a/libs/theme/src/styles/vars/wa-medium.module.css b/libs/theme/src/styles/vars/wa-medium.module.css index c946beb..2a280b5 100644 --- a/libs/theme/src/styles/vars/wa-medium.module.css +++ b/libs/theme/src/styles/vars/wa-medium.module.css @@ -1,5 +1,5 @@ /* - * Copyright 2021 Watheia Labs, LLC. All rights reserved. + * Copyright 2021 Adobe. All rights reserved. * This file is licensed to you under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. You may obtain a copy * of the License at http://www.apache.org/licenses/LICENSE-2.0 diff --git a/libs/types/src/index.ts b/libs/types/src/index.ts index c39fb12..296abf1 100644 --- a/libs/types/src/index.ts +++ b/libs/types/src/index.ts @@ -1,11 +1,49 @@ -export * from "./collections" -export * from "./dna" +export type { + AsyncLoadable, + CollectionBase, + CollectionChildren, + CollectionElement, + ItemElement, + ItemProps, + ItemRenderer, + LoadingState, + SectionElement, + SectionProps +} from "./collections" +export type { + DimensionValue, + ColorValue, + BorderColorValue, + BackgroundColorValue, + IconColorValue, + BorderSizeValue, + BorderRadiusValue +} from "./dna" export * from "./dnd" -export * from "./dom" -export * from "./events" +export type { + AriaLabelingProps, + AriaValidationProps, + DOMProps, + FocusableDOMProps, + TextInputDOMProps, + IntrinsicHTMLElements, + IntrinsicHTMLAttributes +} from "./dom" +export type { + FocusableProps, + MoveStartEvent, + MoveMoveEvent, + MoveEndEvent, + MoveEvent, + MoveEvents, + PointerType, + PressEvents, + ScrollEvent, + ScrollEvents +} from "./events" export * from "./inputs" export * from "./labelable" -export * from "./locale" +export type { Direction } from "./locale" export * from "./orientation" export type { ColorScheme, @@ -16,8 +54,16 @@ export type { ProviderContext, ProviderProps } from "./provider" -export * from "./refs" +export type { DOMRefValue, FocusableRefValue, DOMRef, FocusableRef } from "./refs" export * from "./removable" export * from "./selection" export * from "./splitview" -export * from "./style" +export type { + StyleProps, + ViewStyleProps, + BoxAlignmentStyleProps, + FlexStyleProps, + GridStyleProps, + Responsive, + ResponsiveProp +} from "./style" diff --git a/libs/types/src/style.d.ts b/libs/types/src/style.d.ts index 4270b3c..0477bc7 100644 --- a/libs/types/src/style.d.ts +++ b/libs/types/src/style.d.ts @@ -296,6 +296,8 @@ export interface FlexStyleProps extends BoxAlignmentStyleProps, StyleProps { * @default false */ wrap?: Responsive + + gap?: number | string } export interface GridStyleProps extends BoxAlignmentStyleProps, StyleProps { diff --git a/libs/ui/atoms/README.md b/libs/ui/atoms/README.md deleted file mode 100644 index c79f85b..0000000 --- a/libs/ui/atoms/README.md +++ /dev/null @@ -1,7 +0,0 @@ -# ui-atoms - -This library was generated with [Nx](https://nx.dev). - -## Running unit tests - -Run `nx test ui-atoms` to execute the unit tests via [Jest](https://jestjs.io). diff --git a/libs/ui/atoms/.babelrc b/libs/ui/atoms/button/.babelrc similarity index 100% rename from libs/ui/atoms/.babelrc rename to libs/ui/atoms/button/.babelrc diff --git a/libs/ui/atoms/button/.eslintrc.json b/libs/ui/atoms/button/.eslintrc.json new file mode 100644 index 0000000..c0974c8 --- /dev/null +++ b/libs/ui/atoms/button/.eslintrc.json @@ -0,0 +1,24 @@ +{ + "extends": ["plugin:@nrwl/nx/react", "../../../../.eslintrc.json"], + "ignorePatterns": ["!**/*"], + "overrides": [ + { + "files": ["*.ts", "*.tsx", "*.js", "*.jsx"], + "parserOptions": { + "project": [ + "libs/ui/atoms/button/tsconfig.*?.json", + "libs/ui/atoms/button/.storybook/tsconfig.json" + ] + }, + "rules": {} + }, + { + "files": ["*.ts", "*.tsx"], + "rules": {} + }, + { + "files": ["*.js", "*.jsx"], + "rules": {} + } + ] +} diff --git a/libs/ui/atoms/button/.storybook/main.js b/libs/ui/atoms/button/.storybook/main.js new file mode 100644 index 0000000..5573afe --- /dev/null +++ b/libs/ui/atoms/button/.storybook/main.js @@ -0,0 +1,24 @@ +const rootMain = require("../../../../../.storybook/main") + +module.exports = { + ...rootMain, + + core: { ...rootMain.core, builder: "webpack5" }, + + stories: [ + ...rootMain.stories, + "../src/lib/**/*.stories.mdx", + "../src/lib/**/*.stories.@(js|jsx|ts|tsx)" + ], + addons: [...rootMain.addons, "@nrwl/react/plugins/storybook"], + webpackFinal: async (config, { configType }) => { + // apply any global webpack configs that might have been specified in .storybook/main.js + if (rootMain.webpackFinal) { + config = await rootMain.webpackFinal(config, { configType }) + } + + // add your own webpack tweaks if needed + + return config + } +} diff --git a/libs/ui/atoms/src/lib/button/Button.module.css b/libs/ui/atoms/button/.storybook/preview.js similarity index 100% rename from libs/ui/atoms/src/lib/button/Button.module.css rename to libs/ui/atoms/button/.storybook/preview.js diff --git a/libs/ui/atoms/button/.storybook/tsconfig.json b/libs/ui/atoms/button/.storybook/tsconfig.json new file mode 100644 index 0000000..3458684 --- /dev/null +++ b/libs/ui/atoms/button/.storybook/tsconfig.json @@ -0,0 +1,14 @@ +{ + "extends": "../tsconfig.json", + "compilerOptions": { + "emitDecoratorMetadata": true, + "outDir": "" + }, + "files": [ + "../../../../../node_modules/@nrwl/react/typings/styled-jsx.d.ts", + "../../../../../node_modules/@nrwl/react/typings/cssmodule.d.ts", + "../../../../../node_modules/@nrwl/react/typings/image.d.ts" + ], + "exclude": ["../**/*.spec.ts", "../**/*.spec.js", "../**/*.spec.tsx", "../**/*.spec.jsx"], + "include": ["../src/**/*", "*.js"] +} diff --git a/libs/ui/atoms/button/README.md b/libs/ui/atoms/button/README.md new file mode 100644 index 0000000..3b09eb6 --- /dev/null +++ b/libs/ui/atoms/button/README.md @@ -0,0 +1,7 @@ +# ui-atoms-button + +This library was generated with [Nx](https://nx.dev). + +## Running unit tests + +Run `nx test ui-atoms-button` to execute the unit tests via [Jest](https://jestjs.io). diff --git a/libs/ui/atoms/button/docs/ActionButton.mdx b/libs/ui/atoms/button/docs/ActionButton.mdx new file mode 100644 index 0000000..19af2ea --- /dev/null +++ b/libs/ui/atoms/button/docs/ActionButton.mdx @@ -0,0 +1,135 @@ + + +import { Layout } from "@react-spectrum/docs" +export default Layout + +import docs from "docs:@react-spectrum/button" +import { HeaderInfo, PropTable } from "@react-spectrum/docs" +import packageData from "@react-spectrum/button/package.json" + +```jsx import +import { ActionButton } from "@react-spectrum/button" +import { View } from "@watheia/app.ui.atoms.view" +import { Flex } from "@watheia/app.ui.organisms.layout" +``` + +--- + +category: Buttons +keywords: [action button] + +--- + +# ActionButton + +

{docs.exports.ActionButton.description}

+ + + +## Example + +```tsx example +Edit +``` + +## Content + +ActionButtons can have a label, an icon, or both. An icon is provided by passing an icon component as a child to the ActionButton. +A visible label can be provided by passing a string or a Text component as a child, depending on whether the ActionButton has an accompanying icon. + +```tsx example +import { Text } from "@watheia/app.ui.atoms.text" +import Edit from "@spectrum-icons/workflow/Edit" +; + + Icon + Label + +``` + +### Accessibility + +If no visible label is provided (e.g. an icon only button), +an alternative text label must be provided to identify the control for accessibility. This should be added using +the `aria-label` prop. + +```tsx example + + + +``` + +### Internationalization + +In order to internationalize an ActionButton, a localized string should be passed to the `children` or `aria-label` prop. + +## Events + +ActionButtons support user interactions via mouse, keyboard, and touch. You can handle all of these via the `onPress` +prop. + +The following example uses an `onPress` handler to update a counter stored in React state. + +```tsx example +function Example() { + let [count, setCount] = React.useState(0) + + return setCount((c) => c + 1)}>{count} Edits +} +``` + +## Props + + + +## Visual options + +### Quiet + +[View guidelines](https://spectrum.adobe.com/page/action-button/#Quiet) + +```tsx example +Action! +``` + +### Disabled + +[View guidelines](https://spectrum.adobe.com/page/action-button/#Disabled) + +```tsx example +Action! +``` + +### Static color + +The `staticColor` prop can be used when an ActionButton is displayed over a color background. You are responsible for +choosing the static color variant that ensures the text meets an +[accessible contrast ratio](https://developer.mozilla.org/en-US/docs/Web/Accessibility/Understanding_WCAG/Perceivable/Color_contrast) +with the background. + +```tsx example + + + + + Edit + + + + + + Edit + + + +``` diff --git a/libs/ui/atoms/button/docs/Button.mdx b/libs/ui/atoms/button/docs/Button.mdx new file mode 100644 index 0000000..d198468 --- /dev/null +++ b/libs/ui/atoms/button/docs/Button.mdx @@ -0,0 +1,183 @@ + + +import { Layout } from "@react-spectrum/docs" +export default Layout + +import docs from "docs:@react-spectrum/button" +import { HeaderInfo, PropTable } from "@react-spectrum/docs" +import packageData from "@react-spectrum/button/package.json" + +```jsx import +import { Button } from "@react-spectrum/button" +import Bell from "@spectrum-icons/workflow/Bell" +import { View } from "@watheia/app.ui.atoms.view" +``` + +--- + +## category: Buttons + +# Button + +

{docs.exports.Button.description}

+ + + +## Example + +```tsx example + +``` + +## Content + +Buttons must have a visible label, and can optionally have an icon. Text only buttons accept a string +as children. Icons can also be added as children, with a sibling [Text](Text.html) element for the label. + +```tsx example +import { Text } from "@watheia/app.ui.atoms.text" +; +``` + +### Accessibility + +If no visible label is provided (e.g. an icon only button), +an alternative text label must be provided to identify the control for accessibility. This should be added using +the `aria-label` prop. + +### Internationalization + +In order to internationalize a button, a localized string should be passed to the `children` or `aria-label` prop. + +## Events + +Buttons support user interactions via mouse, keyboard, and touch. You can handle all of these via the `onPress` +prop. + +The following example uses an `onPress` handler to update a counter stored in React state. + +```tsx example +function Example() { + let [count, setCount] = React.useState(0) + + return ( + + ) +} +``` + +## Props + + + +## Visual options + +### Call to action + +[View guidelines](https://spectrum.adobe.com/page/button/#Call-to-action-variant) + +```tsx example + +``` + +### Primary + +[View guidelines](https://spectrum.adobe.com/page/button/#Primary-variant) + +```tsx example + +``` + +### Quiet primary + +[View guidelines](https://spectrum.adobe.com/page/button/#Quiet) + +```tsx example + +``` + +### Secondary + +[View guidelines](https://spectrum.adobe.com/page/button/#Secondary-variant) + +```tsx example + +``` + +### Quiet secondary + +[View guidelines](https://spectrum.adobe.com/page/button/#Quiet) + +```tsx example + +``` + +### Over background + +[View guidelines](https://spectrum.adobe.com/page/button/#Over-background-variant) + +```tsx example + + + +``` + +### Quiet over background + +[View guidelines](https://spectrum.adobe.com/page/button/#Quiet) + +```tsx example + + + +``` + +### Negative + +[View guidelines](https://spectrum.adobe.com/page/button/#Negative-variant) + +```tsx example + +``` + +### Quiet negative + +[View guidelines](https://spectrum.adobe.com/page/button/#Quiet) + +```tsx example + +``` + +### Disabled + +[View guidelines](https://spectrum.adobe.com/page/button/#Disabled) + +```tsx example + +``` diff --git a/libs/ui/atoms/button/docs/LogicButton.mdx b/libs/ui/atoms/button/docs/LogicButton.mdx new file mode 100644 index 0000000..1efd2e1 --- /dev/null +++ b/libs/ui/atoms/button/docs/LogicButton.mdx @@ -0,0 +1,93 @@ + + +import { Layout } from "@react-spectrum/docs" +export default Layout + +import docs from "docs:@react-spectrum/button" +import { HeaderInfo, PropTable } from "@react-spectrum/docs" +import packageData from "@react-spectrum/button/package.json" + +```jsx import +import { LogicButton } from "@react-spectrum/button" +``` + +--- + +category: Buttons +keywords: [logic button] + +--- + +# LogicButton + +

{docs.exports.LogicButton.description}

+ + + +## Example + +```tsx example +And +``` + +## Content + +LogicButtons must have a variant and optionally can have a label. +A visible label can be provided by passing children. + +```tsx example +Or +``` + +### Internationalization + +In order to internationalize a LogicButton, a localized string should be passed to the `children` or `aria-label` prop. + +## Events + +LogicButton supports user interactions via mouse, keyboard, and touch. You can handle all of these via the `onPress` prop. + +The following example uses an `onPress` handler to update the variant. + +```tsx example +function Example() { + let [variant, setVariant] = React.useState("Or") + + return ( + setVariant(variant === "Or" ? "And" : "Or")} + > + {variant} + + ) +} +``` + +## Props + + + +## Visual options + +### Variant + +```tsx example +Or +And +``` + +### Disabled + +```tsx example + + Or + +``` diff --git a/libs/ui/atoms/button/docs/ToggleButton.mdx b/libs/ui/atoms/button/docs/ToggleButton.mdx new file mode 100644 index 0000000..a4d0343 --- /dev/null +++ b/libs/ui/atoms/button/docs/ToggleButton.mdx @@ -0,0 +1,162 @@ + + +import { Layout } from "@react-spectrum/docs" +export default Layout + +import docs from "docs:@react-spectrum/button" +import { HeaderInfo, PropTable } from "@react-spectrum/docs" +import packageData from "@react-spectrum/button/package.json" + +```jsx import +import { Flex } from "@watheia/app.ui.organisms.layout" +import { ToggleButton } from "@react-spectrum/button" +import { View } from "@watheia/app.ui.atoms.view" +``` + +--- + +category: Buttons +keywords: [toggle button] + +--- + +# ToggleButton + +

{docs.exports.ToggleButton.description}

+ + + +## Example + +```tsx example +Pin +``` + +## Content + +ToggleButtons can have a label, an icon, or both. An icon is provided by passing an icon component as a child to the ToggleButton. +A visible label can be provided by passing a string or a Text component as a child, depending on whether the ToggleButton has an accompanying icon. + +```tsx example +import { Text } from "@watheia/app.ui.atoms.text" +import Pin from "@spectrum-icons/workflow/PinOff" +; + + Icon + Label + +``` + +### Accessibility + +If no visible label is provided (e.g. an icon only button), +an alternative text label must be provided to identify the control for accessibility. This should be added using +the `aria-label` prop. + +```tsx example + + + +``` + +**Note:** `ToggleButton` should not be used when the content of the button changes between selection states, for example, +mute/unmute or play/pause. In these cases, use an [ActionButton](ActionButton.html) instead. + +### Internationalization + +In order to internationalize an ToggleButton, a localized string should be passed to the `children` or `aria-label` prop. + +## Value + +ToggleButtons are not selected by default. The `defaultSelected` prop can be used to set the default state (uncontrolled). +Alternatively, the `isSelected` prop can be used to make the selected state controlled. See React's documentation on +[uncontrolled components](https://reactjs.org/docs/uncontrolled-components.html) for more info, and [Events](#Events), below, +for an example of controlled behavior. + +## Events + +ToggleButtons support user interactions via mouse, keyboard, and touch. When pressing the button, the selection +state is toggled, and the `onChange` event is fired. The following example uses an `onChange` handler to update React state. + +```tsx example +function Example() { + let [isSelected, setSelected] = React.useState(false) + + return ( + + + + ) +} +``` + +## Props + + + +## Visual options + +### Quiet + +[View guidelines](https://spectrum.adobe.com/page/action-button/#Quiet) + +```tsx example +Pin +``` + +### Disabled + +[View guidelines](https://spectrum.adobe.com/page/action-button/#Disabled) + +```tsx example +Pin +``` + +### Emphasized + +[View guidelines](https://spectrum.adobe.com/page/action-button/#Emphasis) + +```tsx example + + Pin + +``` + +### Static color + +The `staticColor` prop can be used when a ToggleButton is displayed over a color background. When selected, the icon and text +automatically take on the color of the background. You are responsible for choosing the static color variant that ensures the +text meets an [accessible contrast ratio](https://developer.mozilla.org/en-US/docs/Web/Accessibility/Understanding_WCAG/Perceivable/Color_contrast) +with the background. + +```tsx example + + + + + Pin + + + + + + Pin + + + +``` diff --git a/libs/ui/atoms/button/jest.config.js b/libs/ui/atoms/button/jest.config.js new file mode 100644 index 0000000..9380e51 --- /dev/null +++ b/libs/ui/atoms/button/jest.config.js @@ -0,0 +1,9 @@ +module.exports = { + displayName: "ui-atoms-button", + preset: "../../../../jest.preset.js", + transform: { + "^.+\\.[tj]sx?$": "babel-jest" + }, + moduleFileExtensions: ["ts", "tsx", "js", "jsx"], + coverageDirectory: "../../../../coverage/libs/ui/atoms/button" +} diff --git a/libs/ui/atoms/button/package.json b/libs/ui/atoms/button/package.json new file mode 100644 index 0000000..7671ca6 --- /dev/null +++ b/libs/ui/atoms/button/package.json @@ -0,0 +1,4 @@ +{ + "name": "@watheia/app.ui.atoms.button", + "version": "0.0.1" +} diff --git a/libs/ui/atoms/button/project.json b/libs/ui/atoms/button/project.json new file mode 100644 index 0000000..04435bd --- /dev/null +++ b/libs/ui/atoms/button/project.json @@ -0,0 +1,73 @@ +{ + "root": "libs/ui/atoms/button", + "sourceRoot": "libs/ui/atoms/button/src", + "projectType": "library", + "tags": [], + "targets": { + "build": { + "executor": "@nrwl/web:package", + "outputs": ["{options.outputPath}"], + "options": { + "outputPath": "dist/libs/ui/atoms/button", + "tsConfig": "libs/ui/atoms/button/tsconfig.lib.json", + "project": "libs/ui/atoms/button/package.json", + "entryFile": "libs/ui/atoms/button/src/index.ts", + "external": ["react/jsx-runtime"], + "rollupConfig": "@nrwl/react/plugins/bundle-rollup", + "assets": [ + { + "glob": "libs/ui/atoms/button/README.md", + "input": ".", + "output": "." + } + ] + } + }, + "lint": { + "executor": "@nrwl/linter:eslint", + "outputs": ["{options.outputFile}"], + "options": { + "lintFilePatterns": ["libs/ui/atoms/button/**/*.{ts,tsx,js,jsx}"] + } + }, + "test": { + "executor": "@nrwl/jest:jest", + "outputs": ["coverage/libs/ui/atoms/button"], + "options": { + "jestConfig": "libs/ui/atoms/button/jest.config.js", + "passWithNoTests": true + } + }, + "storybook": { + "executor": "@nrwl/storybook:storybook", + "options": { + "uiFramework": "@storybook/react", + "port": 4400, + "config": { + "configFolder": "libs/ui/atoms/button/.storybook" + } + }, + "configurations": { + "ci": { + "quiet": true + } + } + }, + "build-storybook": { + "executor": "@nrwl/storybook:build", + "outputs": ["{options.outputPath}"], + "options": { + "uiFramework": "@storybook/react", + "outputPath": "dist/storybook/ui-atoms-button", + "config": { + "configFolder": "libs/ui/atoms/button/.storybook" + } + }, + "configurations": { + "ci": { + "quiet": true + } + } + } + } +} diff --git a/libs/ui/atoms/button/src/@types/index.ts b/libs/ui/atoms/button/src/@types/index.ts new file mode 100644 index 0000000..f3e37a1 --- /dev/null +++ b/libs/ui/atoms/button/src/@types/index.ts @@ -0,0 +1,112 @@ +/* + * Copyright 2020 Adobe. All rights reserved. + * This file is licensed to you under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. You may obtain a copy + * of the License at http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software distributed under + * the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR REPRESENTATIONS + * OF ANY KIND, either express or implied. See the License for the specific language + * governing permissions and limitations under the License. + */ + +import { + AriaLabelingProps, + FocusableDOMProps, + FocusableProps, + PressEvents, + StyleProps +} from "@watheia/types" +import { ElementType, JSXElementConstructor, ReactNode } from "react" + +interface ButtonProps extends PressEvents, FocusableProps { + /** Whether the button is disabled. */ + isDisabled?: boolean + /** The content to display in the button. */ + children?: ReactNode +} + +interface ToggleButtonProps extends ButtonProps { + /** Whether the element should be selected (controlled). */ + isSelected?: boolean + /** Whether the element should be selected (uncontrolled). */ + defaultSelected?: boolean + /** Handler that is called when the element's selection state changes. */ + onChange?: (isSelected: boolean) => void +} + +export interface AriaButtonElementTypeProps { + /** + * The HTML element or React element used to render the button, e.g. 'div', 'a', or `RouterLink`. + * @default 'button' + */ + elementType?: T | JSXElementConstructor +} + +export interface LinkButtonProps + extends AriaButtonElementTypeProps { + /** A URL to link to if elementType="a". */ + href?: string + /** The target window for the link. */ + target?: string + /** The relationship between the linked resource and the current page. See [MDN](https://developer.mozilla.org/en-US/docs/Web/HTML/Attributes/rel). */ + rel?: string +} + +interface AriaBaseButtonProps extends FocusableDOMProps, AriaLabelingProps { + /** Indicates whether the element, or another grouping element it controls, is currently expanded or collapsed. */ + "aria-expanded"?: boolean + /** Indicates the availability and type of interactive popup element, such as menu or dialog, that can be triggered by an element. */ + "aria-haspopup"?: boolean | "menu" | "listbox" | "tree" | "grid" | "dialog" + /** Identifies the element (or elements) whose contents or presence are controlled by the current element. */ + "aria-controls"?: string + /** Indicates the current "pressed" state of toggle buttons. */ + "aria-pressed"?: boolean + /** + * The behavior of the button when used in an HTML form. + * @default 'button' + */ + type?: "button" | "submit" | "reset" +} + +export interface AriaButtonProps + extends ButtonProps, + LinkButtonProps, + AriaBaseButtonProps {} +export interface AriaToggleButtonProps + extends ToggleButtonProps, + AriaBaseButtonProps, + AriaButtonElementTypeProps {} + +export interface WaButtonProps + extends AriaBaseButtonProps, + ButtonProps, + LinkButtonProps, + StyleProps { + /** The [visual style](https://spectrum.adobe.com/page/button/#Options) of the button. */ + variant: "cta" | "overBackground" | "primary" | "secondary" | "negative" + /** Whether the button should be displayed with a quiet style. */ + isQuiet?: boolean + + autoFocus?: boolean +} + +export interface WaActionButtonProps extends AriaBaseButtonProps, ButtonProps, StyleProps { + /** Whether the button should be displayed with a [quiet style](https://spectrum.adobe.com/page/action-button/#Quiet). */ + isQuiet?: boolean + /** The static color style to apply. Useful when the button appears over a color background. */ + staticColor?: "white" | "black" + + autoFocus?: boolean +} + +export interface WaLogicButtonProps extends AriaBaseButtonProps, ButtonProps, StyleProps { + /** The type of boolean sequence to be represented by the LogicButton. */ + variant: "and" | "or" + autoFocus?: boolean +} + +export interface WaToggleButtonProps extends ToggleButtonProps, WaActionButtonProps { + /** Whether the button should be displayed with an [emphasized style](https://spectrum.adobe.com/page/action-button/#Emphasis). */ + isEmphasized?: boolean +} diff --git a/libs/ui/atoms/button/src/ActionButton.test.js b/libs/ui/atoms/button/src/ActionButton.test.js new file mode 100644 index 0000000..562fd34 --- /dev/null +++ b/libs/ui/atoms/button/src/ActionButton.test.js @@ -0,0 +1,55 @@ +/* + * Copyright 2020 Adobe. All rights reserved. + * This file is licensed to you under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. You may obtain a copy + * of the License at http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software distributed under + * the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR REPRESENTATIONS + * OF ANY KIND, either express or implied. See the License for the specific language + * governing permissions and limitations under the License. + */ + +import { ActionButton } from "." +import React from "react" +import { render } from "@testing-library/react" +import { triggerPress } from "@watheia/app.testing.utils" + +describe("ActionButton", function () { + let onPressSpy = jest.fn() + + afterEach(() => { + onPressSpy.mockClear() + }) + + it.each` + Name | Component | props + ${"ActionButton"} | ${ActionButton} | ${{ onPress: onPressSpy }} + ${"V2Button"} | ${V2Button} | ${{ variant: "action", onClick: onPressSpy }} + `("$Name handles defaults", function ({ Component, props }) { + let { getByRole } = render(Click Me) + + let button = getByRole("button") + triggerPress(button) + expect(onPressSpy).toHaveBeenCalledTimes(1) + expect(button).not.toHaveAttribute("aria-pressed") + expect(button).not.toHaveAttribute("aria-checked") + }) + + it.each` + Name | Component | props + ${"ActionButton"} | ${ActionButton} | ${{}} + `( + "$Name allows custom props to be passed through to the button", + function ({ Component, props }) { + let { getByRole } = render( + + Click Me + + ) + + let button = getByRole("button", { hidden: true }) + expect(button).toHaveAttribute("data-foo", "bar") + } + ) +}) diff --git a/libs/ui/atoms/button/src/ActionButton.tsx b/libs/ui/atoms/button/src/ActionButton.tsx new file mode 100644 index 0000000..d15dc31 --- /dev/null +++ b/libs/ui/atoms/button/src/ActionButton.tsx @@ -0,0 +1,88 @@ +/* + * Copyright 2020 Adobe. All rights reserved. + * This file is licensed to you under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. You may obtain a copy + * of the License at http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software distributed under + * the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR REPRESENTATIONS + * OF ANY KIND, either express or implied. See the License for the specific language + * governing permissions and limitations under the License. + */ + +import { + classNames, + SlotProvider, + useFocusableRef, + useSlotProps, + useStyleProps +} from "@watheia/utils" +import { FocusableRef } from "@watheia/types" +import { FocusRing } from "@react-aria/focus" +import { mergeProps } from "@react-aria/utils" +import React from "react" +import { WaActionButtonProps } from "@watheia/app.ui.atoms.button" +import styles from "./styles/vars.module.css" +import { Text } from "@watheia/app.ui.atoms.text" +import { useButton } from "@react-aria/button" +import { useHover } from "@react-aria/interactions" +import { useProviderProps } from "@watheia/app.context" + +function ActionButton(props: WaActionButtonProps, ref: FocusableRef) { + props = useProviderProps(props) + props = useSlotProps(props, "actionButton") + const { isQuiet, isDisabled, staticColor, children, autoFocus, ...otherProps } = props + + const domRef = useFocusableRef(ref) + const { buttonProps, isPressed } = useButton(props, domRef) + const { hoverProps, isHovered } = useHover({ isDisabled }) + const { styleProps } = useStyleProps(otherProps) + const isTextOnly = React.Children.toArray(props.children).every( + (c) => !React.isValidElement(c) + ) + + return ( + + + + ) +} + +/** + * ActionButtons allow users to perform an action. + * They’re used for similar, task-based options within a workflow, and are ideal for interfaces where buttons aren’t meant to draw a lot of attention. + */ +const _ActionButton = React.forwardRef(ActionButton) +export { _ActionButton as ActionButton } diff --git a/libs/ui/atoms/button/src/Button.ssr.test.js b/libs/ui/atoms/button/src/Button.ssr.test.js new file mode 100644 index 0000000..87e8c3b --- /dev/null +++ b/libs/ui/atoms/button/src/Button.ssr.test.js @@ -0,0 +1,31 @@ +/* + * Copyright 2020 Adobe. All rights reserved. + * This file is licensed to you under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. You may obtain a copy + * of the License at http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software distributed under + * the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR REPRESENTATIONS + * OF ANY KIND, either express or implied. See the License for the specific language + * governing permissions and limitations under the License. + */ + +import { testSSR } from "@watheia/app.testing.utils" + +describe("Button SSR", function () { + it.each` + Name | props + ${"ActionButton"} | ${{}} + ${"Button"} | ${{}} + ${"FieldButton"} | ${{}} + ${"LogicButton"} | ${{}} + `("$Name should render without errors", async function ({ Name, props }) { + await testSSR( + __filename, + ` + import {${Name}} from '../'; + <${Name}>Button + ` + ) + }) +}) diff --git a/libs/ui/atoms/button/src/Button.test.js b/libs/ui/atoms/button/src/Button.test.js new file mode 100644 index 0000000..3b70d59 --- /dev/null +++ b/libs/ui/atoms/button/src/Button.test.js @@ -0,0 +1,227 @@ +/* + * Copyright 2020 Adobe. All rights reserved. + * This file is licensed to you under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. You may obtain a copy + * of the License at http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software distributed under + * the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR REPRESENTATIONS + * OF ANY KIND, either express or implied. See the License for the specific language + * governing permissions and limitations under the License. + */ + +import { ActionButton, Button, ClearButton, LogicButton } from "../" +import { fireEvent, render } from "@testing-library/react" +import React from "react" +import { triggerPress } from "@watheia/app.testing.utils" +import V2Button from "@react/react-spectrum/Button" + +/** + * Logic Button has no tests outside of this file because functionally it is identical + * to Button right now. The only difference is the class names, and since we aren't + * testing that, these are all the tests we need to cover Logic Button. + */ + +describe("Button", function () { + let onPressSpy = jest.fn() + + afterEach(() => { + onPressSpy.mockClear() + }) + + it.each` + Name | Component | props + ${"ActionButton"} | ${ActionButton} | ${{ onPress: onPressSpy }} + ${"Button"} | ${Button} | ${{ onPress: onPressSpy }} + ${"LogicButton"} | ${LogicButton} | ${{ onPress: onPressSpy }} + ${"V2Button"} | ${V2Button} | ${{ onClick: onPressSpy }} + `("$Name handles defaults", function ({ Component, props }) { + let { getByRole, getByText } = render(Click Me) + + let button = getByRole("button") + triggerPress(button) + expect(onPressSpy).toHaveBeenCalledTimes(1) + + let text = getByText("Click Me") + expect(text).not.toBeNull() + }) + + it.each` + Name | Component + ${"ActionButton"} | ${ActionButton} + ${"Button"} | ${Button} + ${"ClearButton"} | ${ClearButton} + ${"LogicButton"} | ${LogicButton} + ${"V2Button"} | ${V2Button} + `( + "$Name allows custom props to be passed through to the button", + function ({ Component }) { + let { getByRole } = render(Click Me) + + let button = getByRole("button") + expect(button).toHaveAttribute("data-foo", "bar") + } + ) + + it.each` + Name | Component + ${"ActionButton"} | ${ActionButton} + ${"Button"} | ${Button} + ${"ClearButton"} | ${ClearButton} + ${"LogicButton"} | ${LogicButton} + ${"V2Button"} | ${V2Button} + `("$Name supports aria-label", function ({ Component }) { + let { getByRole } = render() + + let button = getByRole("button") + expect(button).toHaveAttribute("aria-label", "Test") + }) + + it.each` + Name | Component + ${"ActionButton"} | ${ActionButton} + ${"Button"} | ${Button} + ${"ClearButton"} | ${ClearButton} + ${"LogicButton"} | ${LogicButton} + ${"V2Button"} | ${V2Button} + `("$Name supports aria-labelledby", function ({ Component }) { + let { getByRole } = render( + <> + Test + + + ) + + let button = getByRole("button") + expect(button).toHaveAttribute("aria-labelledby", "test") + }) + + it.each` + Name | Component + ${"ActionButton"} | ${ActionButton} + ${"Button"} | ${Button} + ${"ClearButton"} | ${ClearButton} + ${"LogicButton"} | ${LogicButton} + ${"V2Button"} | ${V2Button} + `("$Name supports aria-describedby", function ({ Component }) { + let { getByRole } = render( + <> + Test + Hi + + ) + + let button = getByRole("button") + expect(button).toHaveAttribute("aria-describedby", "test") + }) + + it.each` + Name | Component | props + ${"ActionButton"} | ${ActionButton} | ${{ UNSAFE_className: "x-men-first-class" }} + ${"Button"} | ${Button} | ${{ UNSAFE_className: "x-men-first-class" }} + ${"ClearButton"} | ${ClearButton} | ${{ UNSAFE_className: "x-men-first-class" }} + ${"LogicButton"} | ${LogicButton} | ${{ UNSAFE_className: "x-men-first-class" }} + ${"V2Button"} | ${V2Button} | ${{ className: "x-men-first-class" }} + `("$Name allows a custom classname on the button", function ({ Component, props }) { + let { getByRole } = render(Click Me) + + let button = getByRole("button") + expect(button.getAttribute("class")).toEqual( + expect.stringContaining("x-men-first-class") + ) + }) + + it.each` + Name | Component + ${"ActionButton"} | ${ActionButton} + ${"Button"} | ${Button} + ${"ClearButton"} | ${ClearButton} + ${"LogicButton"} | ${LogicButton} + ${"V2Button"} | ${V2Button} + `("$Name handles deprecated onClick", function ({ Component }) { + let spyWarn = jest.spyOn(console, "warn").mockImplementation(() => {}) + let { getByRole } = render(Click Me) + + let button = getByRole("button") + triggerPress(button) + expect(onPressSpy).toHaveBeenCalledTimes(1) + if (Component === Button) { + expect(spyWarn).toHaveBeenCalledWith("onClick is deprecated, please use onPress") + } + }) + + it.each` + Name | Component | props + ${"ActionButton"} | ${ActionButton} | ${{ onPress: onPressSpy, elementType: "a" }} + ${"Button"} | ${Button} | ${{ onPress: onPressSpy, elementType: "a" }} + ${"LogicButton"} | ${LogicButton} | ${{ onPress: onPressSpy, elementType: "a" }} + ${"V2Button"} | ${V2Button} | ${{ onClick: onPressSpy, element: "a" }} + `("$Name can have elementType=a", function ({ Component, props }) { + let { getByRole } = render(Click Me) + + let button = getByRole("button") + expect(button).toHaveAttribute("tabindex", "0") + expect(button).not.toHaveAttribute("type", "button") + triggerPress(button) + expect(onPressSpy).toHaveBeenCalledTimes(1) + + fireEvent.keyDown(button, { key: "Enter", code: 13 }) + fireEvent.keyUp(button, { key: "Enter", code: 13 }) + expect(onPressSpy).toHaveBeenCalledTimes(2) + + fireEvent.keyDown(button, { key: " ", code: 32 }) + fireEvent.keyUp(button, { key: " ", code: 32 }) + expect(onPressSpy).toHaveBeenCalledTimes(3) + }) + + it.each` + Name | Component | props + ${"ActionButton"} | ${ActionButton} | ${{ onPress: onPressSpy, elementType: "a", href: "#only-hash-in-jsdom" }} + ${"Button"} | ${Button} | ${{ onPress: onPressSpy, elementType: "a", href: "#only-hash-in-jsdom" }} + ${"LogicButton"} | ${LogicButton} | ${{ onPress: onPressSpy, elementType: "a", href: "#only-hash-in-jsdom" }} + ${"V2Button"} | ${V2Button} | ${{ onClick: onPressSpy, element: "a", href: "#only-hash-in-jsdom" }} + `("$Name can have elementType=a with an href", function ({ Component, props }) { + let { getByRole } = render(Click Me) + + let button = getByRole("button") + expect(button).toHaveAttribute("tabindex", "0") + expect(button).toHaveAttribute("href", "#only-hash-in-jsdom") + triggerPress(button) + expect(onPressSpy).toHaveBeenCalledTimes(1) + }) + + it.each` + Name | Component | props + ${"ActionButton"} | ${ActionButton} | ${{ onPress: onPressSpy, isDisabled: true }} + ${"Button"} | ${Button} | ${{ onPress: onPressSpy, isDisabled: true }} + ${"ClearButton"} | ${ClearButton} | ${{ onPress: onPressSpy, isDisabled: true }} + ${"LogicButton"} | ${LogicButton} | ${{ onPress: onPressSpy, isDisabled: true }} + ${"V2Button"} | ${V2Button} | ${{ onClick: onPressSpy, disabled: true }} + `("$Name does not respond when disabled", function ({ Component, props }) { + let { getByRole } = render(Click Me) + + let button = getByRole("button") + triggerPress(button) + expect(button).toBeDisabled() + expect(onPressSpy).not.toHaveBeenCalled() + }) + + // when a user uses the keyboard and keyDowns 'enter' or 'space' on a button, it fires an onclick. + // when code dispatches a keyDown for 'enter' or 'space', it does not fire onclick + // this means that it's impossible for us to write a test for the 'button' elementType for keyDown 'enter' or 'space' + // see https://jsfiddle.net/snowystinger/z6vmrw4d/1/ + // it's also extraneous to test with 'enter' or 'space' on a button because it'd just be testing + // the spec https://www.w3.org/TR/WCAG20-TECHS/SCR35.html + + it.each` + Name | Component + ${"ActionButton"} | ${ActionButton} + ${"Button"} | ${Button} + ${"LogicButton"} | ${LogicButton} + `("$Name supports autoFocus", function ({ Component }) { + let { getByRole } = render(Click Me) + + let button = getByRole("button") + expect(document.activeElement).toBe(button) + }) +}) diff --git a/libs/ui/atoms/button/src/Button.tsx b/libs/ui/atoms/button/src/Button.tsx new file mode 100644 index 0000000..66ab05f --- /dev/null +++ b/libs/ui/atoms/button/src/Button.tsx @@ -0,0 +1,106 @@ +/* + * Copyright 2020 Adobe. All rights reserved. + * This file is licensed to you under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. You may obtain a copy + * of the License at http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software distributed under + * the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR REPRESENTATIONS + * OF ANY KIND, either express or implied. See the License for the specific language + * governing permissions and limitations under the License. + */ + +import { + classNames, + SlotProvider, + useFocusableRef, + useSlotProps, + useStyleProps +} from "@watheia/utils" +import { FocusableRef } from "@watheia/types" +import { FocusRing } from "@react-aria/focus" +import { mergeProps } from "@react-aria/utils" +import React, { ElementType, ReactElement } from "react" +import { WaButtonProps } from "@watheia/app.ui.atoms.button" +import styles from "./styles/vars.module.css" +import { Text } from "@watheia/app.ui.atoms.text" +import { useButton } from "@react-aria/button" +import { useHover } from "@react-aria/interactions" +import { useProviderProps } from "@watheia/app.context" + +// todo: CSS hasn't caught up yet, map +const VARIANT_MAPPING = { + negative: "warning" +} + +function Button( + props: WaButtonProps, + ref: FocusableRef +) { + props = useProviderProps(props) + props = useSlotProps(props, "button") + const { + elementType: ElementType = "button", + children, + variant, + isQuiet, + isDisabled, + autoFocus, + ...otherProps + } = props + const domRef = useFocusableRef(ref) + const { buttonProps, isPressed } = useButton(props, domRef) + const { hoverProps, isHovered } = useHover({ isDisabled }) + const { styleProps } = useStyleProps(otherProps) + + let buttonVariant = variant + if (VARIANT_MAPPING[variant]) { + buttonVariant = VARIANT_MAPPING[variant] + } + + return ( + + + + {typeof children === "string" ? {children} : children} + + + + ) +} + +/** + * Buttons allow users to perform an action or to navigate to another page. + * They have multiple styles for various needs, and are ideal for calling attention to + * where a user needs to do something in order to move forward in a flow. + */ +const _Button = React.forwardRef(Button) as ( + props: WaButtonProps & { ref?: FocusableRef } +) => ReactElement +export { _Button as Button } diff --git a/libs/ui/atoms/button/src/ClearButton.test.js b/libs/ui/atoms/button/src/ClearButton.test.js new file mode 100644 index 0000000..6c30142 --- /dev/null +++ b/libs/ui/atoms/button/src/ClearButton.test.js @@ -0,0 +1,91 @@ +/* + * Copyright 2020 Adobe. All rights reserved. + * This file is licensed to you under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. You may obtain a copy + * of the License at http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software distributed under + * the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR REPRESENTATIONS + * OF ANY KIND, either express or implied. See the License for the specific language + * governing permissions and limitations under the License. + */ + +import { act, render } from "@testing-library/react" +import { ClearButton } from "../" +import React from "react" +import { triggerPress } from "@watheia/app.testing.utils" +import V2Button from "@react/react-spectrum/Button" + +// NOTE: ClearButton doesn't use Button.tsx as a base and thus differs from v2 ClearButton in a couple ways +// Refinement of ClearButton to be done later +describe("ClearButton", function () { + let onPressSpy = jest.fn() + let FakeIcon = (props) => ( + + + + ) + + afterEach(() => { + onPressSpy.mockClear() + }) + + it.each` + Name | Component | props + ${"v3 ClearButton"} | ${ClearButton} | ${{ onPress: onPressSpy }} + ${"v2 ClearButton"} | ${V2Button} | ${{ variant: "clear", onClick: onPressSpy }} + `("$Name handles defaults", function ({ Component, props }) { + let { getByRole } = render(Click Me) + + let button = getByRole("button", { hidden: true }) + triggerPress(button) + expect(onPressSpy).toHaveBeenCalledTimes(1) + }) + + it.each` + Name | Component | props + ${"v3 ClearButton"} | ${ClearButton} | ${{}} + ${"v2 ClearButton"} | ${V2Button} | ${{ variant: "clear" }} + `( + "$Name allows custom props to be passed through to the button", + function ({ Component, props }) { + let { getByRole } = render( + + Click Me + + ) + + let button = getByRole("button", { hidden: true }) + expect(button).toHaveAttribute("data-foo", "bar") + } + ) + + // Current v3 implementation that diverges from v2 + it.each` + Name | Component + ${"v3 ClearButton"} | ${ClearButton} + `("$Name doesn't accept an icon as a prop", function ({ Component }) { + let mockIcon = + let tree = render() + + let icon = tree.queryByRole("status") + expect(icon).toBeNull() + }) + + // Only v3 allows for ref forwarding + it.each` + Name | Component + ${"v3 ClearButton"} | ${ClearButton} + `("$Name allows a user to forward a ref to the button", function ({ Component }) { + let ref = React.createRef() + let tree = render() + + let button = tree.queryByRole("button") + expect(button).toBe(ref.current.UNSAFE_getDOMNode()) + + act(() => { + ref.current.focus() + }) + expect(document.activeElement).toBe(button) + }) +}) diff --git a/libs/ui/atoms/button/src/ClearButton.tsx b/libs/ui/atoms/button/src/ClearButton.tsx new file mode 100644 index 0000000..22694ba --- /dev/null +++ b/libs/ui/atoms/button/src/ClearButton.tsx @@ -0,0 +1,88 @@ +/* + * Copyright 2020 Adobe. All rights reserved. + * This file is licensed to you under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. You may obtain a copy + * of the License at http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software distributed under + * the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR REPRESENTATIONS + * OF ANY KIND, either express or implied. See the License for the specific language + * governing permissions and limitations under the License. + */ + +import { AriaButtonElementTypeProps, ButtonProps } from "@watheia/app.ui.atoms.button" +import { classNames, useFocusableRef, useStyleProps } from "@watheia/utils" +import CrossSmall from "@spectrum-icons/ui/CrossSmall" +import { DOMProps, FocusableRef, StyleProps } from "@watheia/types" +import { FocusRing } from "@react-aria/focus" +import { mergeProps } from "@react-aria/utils" +import React, { ElementType } from "react" +import styles from "./styles/vars.module.css" +import { useButton } from "@react-aria/button" +import { useHover } from "@react-aria/interactions" + +interface ClearButtonProps + extends ButtonProps, + AriaButtonElementTypeProps, + DOMProps, + StyleProps { + focusClassName?: string + variant?: "overBackground" + excludeFromTabOrder?: boolean + preventFocus?: boolean + autoFocus?: boolean +} + +function ClearButton(props: ClearButtonProps, ref: FocusableRef) { + let { + children = , + focusClassName, + variant, + autoFocus, + isDisabled, + preventFocus, + elementType = preventFocus ? "div" : ("button" as ElementType), + ...otherProps + } = props + let domRef = useFocusableRef(ref) + let { buttonProps, isPressed } = useButton({ ...props, elementType }, domRef) + let { hoverProps, isHovered } = useHover({ isDisabled }) + let { styleProps } = useStyleProps(otherProps) + + // For cases like the clear button in a search field, remove the tabIndex so + // iOS 14 with VoiceOver doesn't focus the button and hide the keyboard when + // moving the cursor over the clear button. + if (preventFocus) { + delete buttonProps.tabIndex + } + + let ElementType = elementType + return ( + + + {children} + + + ) +} + +let _ClearButton = React.forwardRef(ClearButton) +export { _ClearButton as ClearButton } diff --git a/libs/ui/atoms/button/src/FieldButton.tsx b/libs/ui/atoms/button/src/FieldButton.tsx new file mode 100644 index 0000000..eb1ad7a --- /dev/null +++ b/libs/ui/atoms/button/src/FieldButton.tsx @@ -0,0 +1,92 @@ +/* + * Copyright 2020 Adobe. All rights reserved. + * This file is licensed to you under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. You may obtain a copy + * of the License at http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software distributed under + * the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR REPRESENTATIONS + * OF ANY KIND, either express or implied. See the License for the specific language + * governing permissions and limitations under the License. + */ + +import { ButtonProps } from "@watheia/app.ui.atoms.button" +import { + classNames, + SlotProvider, + useFocusableRef, + useSlotProps, + useStyleProps +} from "@watheia/utils" +import { DOMProps, FocusableRef, StyleProps } from "@watheia/types" +import { FocusRing } from "@react-aria/focus" +import { mergeProps } from "@react-aria/utils" +import React, { RefObject } from "react" +import styles from "./styles/vars.module.css" +import { useButton } from "@react-aria/button" +import { useHover } from "@react-aria/interactions" + +interface FieldButtonProps extends ButtonProps, DOMProps, StyleProps { + isQuiet?: boolean + isActive?: boolean + autoFocus?: boolean + validationState?: "valid" | "invalid" + focusRingClass?: string +} + +// @private +function FieldButton(props: FieldButtonProps, ref: FocusableRef) { + props = useSlotProps(props, "button") + let { + isQuiet, + isDisabled, + validationState, + children, + autoFocus, + isActive, + focusRingClass, + ...otherProps + } = props + let domRef = useFocusableRef(ref) as RefObject + let { buttonProps, isPressed } = useButton(props, domRef) + let { hoverProps, isHovered } = useHover({ isDisabled }) + let { styleProps } = useStyleProps(otherProps) + + return ( + + + + ) +} + +let _FieldButton = React.forwardRef(FieldButton) +export { _FieldButton as FieldButton } diff --git a/libs/ui/atoms/button/src/LogicButton.tsx b/libs/ui/atoms/button/src/LogicButton.tsx new file mode 100644 index 0000000..dcccbd5 --- /dev/null +++ b/libs/ui/atoms/button/src/LogicButton.tsx @@ -0,0 +1,60 @@ +/* + * Copyright 2020 Adobe. All rights reserved. + * This file is licensed to you under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. You may obtain a copy + * of the License at http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software distributed under + * the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR REPRESENTATIONS + * OF ANY KIND, either express or implied. See the License for the specific language + * governing permissions and limitations under the License. + */ + +import { classNames, useFocusableRef, useStyleProps } from "@watheia/utils" +import { FocusableRef } from "@watheia/types" +import { FocusRing } from "@react-aria/focus" +import { mergeProps } from "@react-aria/utils" +import React from "react" +import { WaLogicButtonProps } from "@watheia/app.ui.atoms.button" +import styles from "./styles/vars.module.css" +import { useButton } from "@react-aria/button" +import { useHover } from "@react-aria/interactions" +import { useProviderProps } from "@watheia/app.context" + +function LogicButton(props: WaLogicButtonProps, ref: FocusableRef) { + props = useProviderProps(props) + let { variant, children, isDisabled, autoFocus, ...otherProps } = props + let domRef = useFocusableRef(ref) + let { buttonProps, isPressed } = useButton(props, domRef) + let { hoverProps, isHovered } = useHover({ isDisabled }) + let { styleProps } = useStyleProps(otherProps) + + return ( + + + + ) +} + +/** + * A LogicButton displays an operator within a boolean logic sequence. + */ +let _LogicButton = React.forwardRef(LogicButton) +export { _LogicButton as LogicButton } diff --git a/libs/ui/atoms/button/src/ToggleButton.test.js b/libs/ui/atoms/button/src/ToggleButton.test.js new file mode 100644 index 0000000..03960ff --- /dev/null +++ b/libs/ui/atoms/button/src/ToggleButton.test.js @@ -0,0 +1,79 @@ +/* + * Copyright 2020 Adobe. All rights reserved. + * This file is licensed to you under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. You may obtain a copy + * of the License at http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software distributed under + * the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR REPRESENTATIONS + * OF ANY KIND, either express or implied. See the License for the specific language + * governing permissions and limitations under the License. + */ + +import React from "react" +import { render } from "@testing-library/react" +import { ToggleButton } from "../" +import { triggerPress } from "@watheia/app.testing.utils" + +describe("ToggleButton", function () { + it("handles defaults", function () { + let onPress = jest.fn() + let onChange = jest.fn() + let { getByRole } = render( + + Click Me + + ) + + let button = getByRole("button") + expect(button).toHaveAttribute("aria-pressed", "false") + + triggerPress(button) + expect(onPress).toHaveBeenCalledTimes(1) + expect(onChange).toHaveBeenCalledWith(true) + expect(button).toHaveAttribute("aria-pressed", "true") + }) + + it("supports defaultSelected", function () { + let onPress = jest.fn() + let onChange = jest.fn() + let { getByRole } = render( + + Click Me + + ) + + let button = getByRole("button") + expect(button).toHaveAttribute("aria-pressed", "true") + + triggerPress(button) + expect(onPress).toHaveBeenCalledTimes(1) + expect(onChange).toHaveBeenCalledWith(false) + expect(button).toHaveAttribute("aria-pressed", "false") + }) + + it("supports isSelected", function () { + let onPress = jest.fn() + let onChange = jest.fn() + let { getByRole } = render( + + Click Me + + ) + + let button = getByRole("button") + expect(button).toHaveAttribute("aria-pressed", "true") + + triggerPress(button) + expect(onPress).toHaveBeenCalledTimes(1) + expect(onChange).toHaveBeenCalledWith(false) + expect(button).toHaveAttribute("aria-pressed", "true") + }) + + it("allows custom props to be passed through to the button", function () { + let { getByRole } = render(Click Me) + + let button = getByRole("button") + expect(button).toHaveAttribute("data-foo", "bar") + }) +}) diff --git a/libs/ui/atoms/button/src/ToggleButton.tsx b/libs/ui/atoms/button/src/ToggleButton.tsx new file mode 100644 index 0000000..20826d9 --- /dev/null +++ b/libs/ui/atoms/button/src/ToggleButton.tsx @@ -0,0 +1,93 @@ +/* + * Copyright 2020 Adobe. All rights reserved. + * This file is licensed to you under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. You may obtain a copy + * of the License at http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software distributed under + * the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR REPRESENTATIONS + * OF ANY KIND, either express or implied. See the License for the specific language + * governing permissions and limitations under the License. + */ + +import { classNames, SlotProvider, useFocusableRef, useStyleProps } from "@watheia/utils" +import { FocusableRef } from "@watheia/types" +import { FocusRing } from "@react-aria/focus" +import { mergeProps } from "@react-aria/utils" +import React from "react" +import { WaToggleButtonProps } from "@watheia/app.ui.atoms.button" +import styles from "./styles/vars.module.css" +import { Text } from "@watheia/app.ui.atoms.text" +import { useHover } from "@react-aria/interactions" +import { useProviderProps } from "@watheia/app.context" +import { useToggleButton } from "@react-aria/button" +import { useToggleState } from "@react-stately/toggle" + +function ToggleButton(props: WaToggleButtonProps, ref: FocusableRef) { + props = useProviderProps(props) + let { + isQuiet, + isDisabled, + isEmphasized, + staticColor, + children, + autoFocus, + ...otherProps + } = props + + let domRef = useFocusableRef(ref) + let state = useToggleState(props) + let { buttonProps, isPressed } = useToggleButton(props, state, domRef) + let { hoverProps, isHovered } = useHover({ isDisabled }) + let { styleProps } = useStyleProps(otherProps) + let isTextOnly = React.Children.toArray(props.children).every( + (c) => !React.isValidElement(c) + ) + + return ( + + + + ) +} + +/** + * ToggleButtons allow users to toggle a selection on or off, for example + * switching between two states or modes. + */ +let _ToggleButton = React.forwardRef(ToggleButton) +export { _ToggleButton as ToggleButton } diff --git a/libs/ui/atoms/button/src/index.ts b/libs/ui/atoms/button/src/index.ts new file mode 100644 index 0000000..80cfb73 --- /dev/null +++ b/libs/ui/atoms/button/src/index.ts @@ -0,0 +1,20 @@ +/* + * Copyright 2020 Adobe. All rights reserved. + * This file is licensed to you under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. You may obtain a copy + * of the License at http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software distributed under + * the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR REPRESENTATIONS + * OF ANY KIND, either express or implied. See the License for the specific language + * governing permissions and limitations under the License. + */ + +export { default as styles } from "./styles/vars.module.css" +export * from "./@types" +export * from "./Button" +export * from "./ActionButton" +export * from "./FieldButton" +export * from "./LogicButton" +export * from "./ClearButton" +export * from "./ToggleButton" diff --git a/libs/theme/src/styles/components/button/index.module.css b/libs/ui/atoms/button/src/styles/index.module.css similarity index 97% rename from libs/theme/src/styles/components/button/index.module.css rename to libs/ui/atoms/button/src/styles/index.module.css index 736e94b..6b5c893 100644 --- a/libs/theme/src/styles/components/button/index.module.css +++ b/libs/ui/atoms/button/src/styles/index.module.css @@ -1,5 +1,5 @@ /* -Copyright 2021 Watheia Labs, LLC. All rights reserved. +Copyright 2021 Adobe. All rights reserved. This file is licensed to you under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. You may obtain a copy of the License at http://www.apache.org/licenses/LICENSE-2.0 @@ -24,74 +24,68 @@ governing permissions and limitations under the License. --wa-button-line-height: 1.3; } -%wa-BaseButton { +%wa-BaseButton, +waBaseButton { /* Contain halo */ position: relative; - display: inline-flex; - box-sizing: border-box; - - align-items: center; - justify-content: center; /* Show the button overflow in Edge. */ overflow: visible; + box-sizing: border-box; + align-items: center; + justify-content: center; + border-style: solid; /* Remove button the margin in Firefox and Safari. */ margin: 0; - - border-style: solid; - - /* Remove the inheritance of text transform on button in Edge, Firefox, and IE. */ - text-transform: none; + cursor: default; + font-family: var(--wa-font-family-base); -webkit-font-smoothing: antialiased; + /* Font smoothing for Firefox */ -moz-osx-font-smoothing: grayscale; + isolation: isolate; + line-height: var(--wa-button-line-height); + text-decoration: none; - button& { - /* Correct the inability to style clickable types in iOS and Safari. */ - -webkit-appearance: button; - } - - /* Adjacent buttons should be aligned correctly */ - vertical-align: top; - + /* Remove the inheritance of text transform on button in Edge, Firefox, and IE. */ + text-transform: none; + touch-action: none; /* prevent touch scrolling on buttons */ transition: background var(--wa-global-animation-duration-100) ease-out, border-color var(--wa-global-animation-duration-100) ease-out, color var(--wa-global-animation-duration-100) ease-out, box-shadow var(--wa-global-animation-duration-100) ease-out; - - text-decoration: none; - font-family: var(--wa-font-family-base); - - line-height: var(--wa-button-line-height); - user-select: none; - -webkit-user-select: none; - touch-action: none; /* prevent touch scrolling on buttons */ + user-select: none; - cursor: default; + /* Adjacent buttons should be aligned correctly */ + vertical-align: top; - isolation: isolate; + button& { + /* Correct the inability to style clickable types in iOS and Safari. */ + appearance: button; + } &:focus { outline: none; } + &:focus-ring { z-index: 3; } /* Fix Firefox */ &::-moz-focus-inner { + padding: 0; border: 0; /* Remove the inner border and padding for button in Firefox. */ border-style: none; - padding: 0; + margin-block-end: -2px; /* Use uppercase PX so values don't get converted to rem */ margin-block-start: -2px; - margin-block-end: -2px; } &:disabled, @@ -100,35 +94,33 @@ governing permissions and limitations under the License. } .wa-Icon { - max-block-size: 100%; + box-sizing: initial; flex-shrink: 0; order: 0; /* always be before the label, regardless of DOM order */ - + max-block-size: 100%; transition: background var(--wa-global-animation-duration-100) ease-out, fill var(--wa-global-animation-duration-100) ease-out; - box-sizing: initial; } } %wa-ButtonWithFocusRing { - &:after { - border-radius: calc(var(--wa-button-primary-border-radius) + var(--wa-focus-ring-gap)); - content: ""; - display: block; + &::after { position: absolute; - left: 0; + top: 0; right: 0; bottom: 0; - top: 0; + left: 0; + display: block; margin: calc(var(--wa-focus-ring-gap) * -1); + border-radius: calc(var(--wa-button-primary-border-radius) + var(--wa-focus-ring-gap)); + content: ""; transform: translateX(0); /* Forces FF to render on the pixel grid */ - transition: box-shadow var(--wa-global-animation-duration-100) ease-out, margin var(--wa-global-animation-duration-100) ease-out; } &:focus-ring { - &:after { + &::after { margin: calc(var(--wa-focus-ring-gap) * -2); } } @@ -138,24 +130,21 @@ governing permissions and limitations under the License. @inherit: %wa-BaseButton; @inherit: %wa-ButtonWithFocusRing; + padding: var(--wa-button-padding-y) + calc(var(--wa-button-primary-padding-x) - var(--wa-button-primary-border-size)); border-width: var(--wa-button-primary-border-size); border-style: solid; + block-size: 0%; border-radius: var(--wa-button-primary-border-radius); - + font-size: var(--wa-button-primary-text-size); + font-weight: var(--wa-button-primary-text-font-weight); min-block-size: var(--wa-button-primary-height); - block-size: 0%; min-inline-size: var(--wa-button-primary-min-width); - padding: var(--wa-button-padding-y) - calc(var(--wa-button-primary-padding-x) - var(--wa-button-primary-border-size)); - /* @hack: fix button text vertical alignment at 14px */ padding-block-end: calc(var(--wa-button-padding-y) + 1px); padding-block-start: calc(var(--wa-button-padding-y) - 1px); - font-size: var(--wa-button-primary-text-size); - font-weight: var(--wa-button-primary-text-font-weight); - &:hover, &:active { box-shadow: none; @@ -174,27 +163,26 @@ governing permissions and limitations under the License. a.wa-Button, a.wa-ActionButton { /* Remove appearance for clickable types in iOS and Safari. */ - -webkit-appearance: none; + appearance: none; + cursor: pointer; + /* Make link text not selectable */ user-select: none; - cursor: pointer; } .wa-ActionButton { @inherit: %wa-BaseButton; - position: relative; - block-size: var(--wa-actionbutton-height); - min-inline-size: var(--wa-actionbutton-min-width); + position: relative; /* Use icon padding by default as it's smaller */ padding: 0; - border-width: var(--wa-actionbutton-border-size); + block-size: var(--wa-actionbutton-height); border-radius: var(--wa-actionbutton-border-radius); - font-size: var(--wa-actionbutton-text-size); font-weight: var(--wa-actionbutton-text-font-weight); + min-inline-size: var(--wa-actionbutton-min-width); /* icon should always have padding at the start */ .wa-Icon { @@ -230,8 +218,8 @@ a.wa-ActionButton { .wa-ActionButton-hold { position: absolute; - inset-inline-end: var(--wa-actionbutton-hold-icon-padding-right); inset-block-end: var(--wa-actionbutton-hold-icon-padding-bottom); + inset-inline-end: var(--wa-actionbutton-hold-icon-padding-right); } [dir="rtl"] .wa-ActionButton-hold { @@ -241,14 +229,14 @@ a.wa-ActionButton { .wa-ActionButton-label, .wa-Button-label { align-self: center; - justify-self: center; order: 1; /* always be after the icon, regardless of DOM order */ - /* Fixes horizontal alignment of text in anchor buttons */ - text-align: center; - /* @safari10 Workaround for https://bugs.webkit.org/show_bug.cgi?id=169700 */ inline-size: 100%; + justify-self: center; + + /* Fixes horizontal alignment of text in anchor buttons */ + text-align: center; &:empty { display: none; @@ -256,15 +244,14 @@ a.wa-ActionButton { } .wa-ActionButton-label { - white-space: nowrap; overflow: hidden; text-overflow: ellipsis; + white-space: nowrap; } .wa-ActionButton--quiet { border-width: var(--wa-actionbutton-quiet-border-size); border-radius: var(--wa-actionbutton-quiet-border-radius); - font-size: var(--wa-actionbutton-quiet-text-size); font-weight: var(--wa-actionbutton-quiet-text-font-weight); } @@ -273,13 +260,13 @@ a.wa-ActionButton { .wa-ActionButton--staticColor { @inherit: %wa-ButtonWithFocusRing; - &:after { + &::after { /* Override border-radius set in %wa-ButtonWithFocusRing since this is not a pill button */ border-radius: calc(var(--wa-actionbutton-border-radius) + var(--wa-focus-ring-gap)); } &:focus-ring { - &:after { + &::after { /* action buttons only have a 1px border, not 2px */ margin: calc( calc(var(--wa-focus-ring-gap) * -1) - var(--wa-actionbutton-quiet-border-size) @@ -292,17 +279,15 @@ a.wa-ActionButton { @inherit: %wa-BaseButton; @inherit: %wa-ButtonWithFocusRing; - block-size: var(--wa-logicbutton-and-height); padding: var(--wa-logicbutton-and-padding-x); - border-width: var(--wa-logicbutton-and-border-size); + block-size: var(--wa-logicbutton-and-height); border-radius: var(--wa-logicbutton-and-border-radius); - font-size: var(--wa-logicbutton-and-text-size); font-weight: var(--wa-logicbutton-and-text-font-weight); line-height: 0; - &:after { + &::after { /* Override border-radius set in %wa-ButtonWithFocusRing since this is not a pill button */ border-radius: calc(var(--wa-logicbutton-and-border-radius) + var(--wa-focus-ring-gap)); } @@ -311,29 +296,24 @@ a.wa-ActionButton { .wa-FieldButton { @inherit: %wa-BaseButton; - block-size: var(--wa-dropdown-height); - padding: 0 var(--wa-dropdown-padding-x); - + block-size: var(--wa-dropdown-height); + cursor: default; font-family: inherit; - font-weight: normal; font-size: var(--wa-dropdown-text-size); - line-height: normal; -webkit-font-smoothing: initial; - - cursor: default; + font-weight: normal; + line-height: normal; outline: none; } .wa-FieldButton { - margin: 0; - padding-block: 0; - padding-inline: var(--wa-dropdown-padding-x); - border-width: var(--wa-dropdown-border-size); border-style: solid; + margin: 0; border-radius: var(--wa-border-radius); - + padding-block: 0; + padding-inline: var(--wa-dropdown-padding-x); transition: background-color var(--wa-global-animation-duration-100), box-shadow var(--wa-global-animation-duration-100), border-color var(--wa-global-animation-duration-100); @@ -350,11 +330,11 @@ a.wa-ActionButton { } .wa-FieldButton--quiet { - margin: var(--wa-fieldbutton-quiet-margin); padding: var(--wa-fieldbutton-quiet-padding); - border-width: var(--wa-fieldbutton-quiet-border-size); + margin: var(--wa-fieldbutton-quiet-margin); border-radius: var(--wa-fieldbutton-quiet-border-radius); + &:disabled, &.is-disabled { &:focus-ring { @@ -367,15 +347,12 @@ a.wa-ActionButton { @inherit: %wa-BaseButton; @inherit: %wa-ButtonWithFocusRing; - inline-size: var(--wa-clearbutton-medium-width); - block-size: var(--wa-clearbutton-medium-height); - - border-radius: 100%; - padding: 0; - margin: 0; - border: none; + margin: 0; + block-size: var(--wa-clearbutton-medium-height); + border-radius: 100%; + inline-size: var(--wa-clearbutton-medium-width); > .wa-Icon { /* @safari10 Workaround for https://bugs.webkit.org/show_bug.cgi?id=169700 */ @@ -386,7 +363,7 @@ a.wa-ActionButton { .wa-ClearButton--overBackground { &:focus-ring { - &:after { + &::after { /* Adjust margin because ClearButton does not have a border */ margin: calc(var(--wa-focus-ring-gap) * -1); } @@ -403,6 +380,6 @@ a.wa-ActionButton { } .wa-ClearButton--small { - inline-size: var(--wa-clearbutton-small-width); block-size: var(--wa-clearbutton-small-height); + inline-size: var(--wa-clearbutton-small-width); } diff --git a/libs/theme/src/styles/components/button/skin.module.css b/libs/ui/atoms/button/src/styles/skin.module.css similarity index 99% rename from libs/theme/src/styles/components/button/skin.module.css rename to libs/ui/atoms/button/src/styles/skin.module.css index ab273ca..72b5b89 100644 --- a/libs/theme/src/styles/components/button/skin.module.css +++ b/libs/ui/atoms/button/src/styles/skin.module.css @@ -1,5 +1,5 @@ /* -Copyright 2021 Watheia Labs, LLC. All rights reserved. +Copyright 2021 Adobe. All rights reserved. This file is licensed to you under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. You may obtain a copy of the License at http://www.apache.org/licenses/LICENSE-2.0 diff --git a/libs/ui/atoms/button/src/styles/vars.module.css b/libs/ui/atoms/button/src/styles/vars.module.css new file mode 100644 index 0000000..405bbd2 --- /dev/null +++ b/libs/ui/atoms/button/src/styles/vars.module.css @@ -0,0 +1,14 @@ +/* + * Copyright 2021 Adobe. All rights reserved. + * This file is licensed to you under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. You may obtain a copy + * of the License at http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software distributed under + * the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR REPRESENTATIONS + * OF ANY KIND, either express or implied. See the License for the specific language + * governing permissions and limitations under the License. + */ + +@import "./index.module.css"; +@import "./skin.module.css"; diff --git a/libs/ui/atoms/button/tsconfig.json b/libs/ui/atoms/button/tsconfig.json new file mode 100644 index 0000000..76e7698 --- /dev/null +++ b/libs/ui/atoms/button/tsconfig.json @@ -0,0 +1,26 @@ +{ + "extends": "../../../../tsconfig.base.json", + "compilerOptions": { + "jsx": "react-jsx", + "allowJs": true, + "esModuleInterop": true, + "allowSyntheticDefaultImports": true, + "typeRoots": ["src/@types"], + "strict": false, + "noImplicitAny": false, + "noImplicitReturns": false + }, + "files": [], + "include": [], + "references": [ + { + "path": "./tsconfig.lib.json" + }, + { + "path": "./tsconfig.spec.json" + }, + { + "path": "./.storybook/tsconfig.json" + } + ] +} diff --git a/libs/ui/atoms/button/tsconfig.lib.json b/libs/ui/atoms/button/tsconfig.lib.json new file mode 100644 index 0000000..ddd50b0 --- /dev/null +++ b/libs/ui/atoms/button/tsconfig.lib.json @@ -0,0 +1,23 @@ +{ + "extends": "./tsconfig.json", + "compilerOptions": { + "outDir": "../../../../dist/out-tsc", + "types": ["node"] + }, + "files": [ + "../../../../node_modules/@nrwl/react/typings/cssmodule.d.ts", + "../../../../node_modules/@nrwl/react/typings/image.d.ts" + ], + "exclude": [ + "**/*.spec.js", + "**/*.spec.ts", + "**/*.spec.tsx", + "**/*.stories.ts", + "**/*.stories.tsx", + "**/*.stories.ts", + "**/*.stories.js", + "**/*.stories.jsx", + "**/*.stories.tsx" + ], + "include": ["**/*.js", "**/*.jsx", "**/*.ts", "**/*.tsx"] +} diff --git a/libs/ui/atoms/button/tsconfig.spec.json b/libs/ui/atoms/button/tsconfig.spec.json new file mode 100644 index 0000000..57bbccb --- /dev/null +++ b/libs/ui/atoms/button/tsconfig.spec.json @@ -0,0 +1,9 @@ +{ + "extends": "./tsconfig.json", + "compilerOptions": { + "outDir": "../../../../dist/out-tsc", + "module": "commonjs", + "types": ["jest", "node"] + }, + "include": ["**/*.spec.js", "**/*.spec.tsx", "**/*.stories.tsx", "**/*.d.ts"] +} diff --git a/libs/ui/atoms/jest.config.js b/libs/ui/atoms/jest.config.js deleted file mode 100644 index d0c74e4..0000000 --- a/libs/ui/atoms/jest.config.js +++ /dev/null @@ -1,9 +0,0 @@ -module.exports = { - displayName: "ui-atoms", - preset: "../../../jest.preset.js", - transform: { - "^.+\\.[tj]sx?$": "babel-jest" - }, - moduleFileExtensions: ["ts", "tsx", "js", "jsx"], - coverageDirectory: "../../../coverage/libs/ui/atoms" -} diff --git a/libs/ui/atoms/package.json b/libs/ui/atoms/package.json deleted file mode 100644 index bc11db4..0000000 --- a/libs/ui/atoms/package.json +++ /dev/null @@ -1,4 +0,0 @@ -{ - "name": "@watheia/atoms", - "version": "0.0.1" -} diff --git a/libs/ui/atoms/project.json b/libs/ui/atoms/project.json deleted file mode 100644 index e689720..0000000 --- a/libs/ui/atoms/project.json +++ /dev/null @@ -1,42 +0,0 @@ -{ - "root": "libs/ui/atoms", - "sourceRoot": "libs/ui/atoms/src", - "projectType": "library", - "tags": [], - "targets": { - "build": { - "executor": "@nrwl/web:package", - "outputs": ["{options.outputPath}"], - "options": { - "outputPath": "dist/libs/ui/atoms", - "tsConfig": "libs/ui/atoms/tsconfig.lib.json", - "project": "libs/ui/atoms/package.json", - "entryFile": "libs/ui/atoms/src/index.ts", - "external": ["react/jsx-runtime"], - "rollupConfig": "@nrwl/react/plugins/bundle-rollup", - "assets": [ - { - "glob": "libs/ui/atoms/README.md", - "input": ".", - "output": "." - } - ] - } - }, - "lint": { - "executor": "@nrwl/linter:eslint", - "outputs": ["{options.outputFile}"], - "options": { - "lintFilePatterns": ["libs/ui/atoms/**/*.{ts,tsx,js,jsx}"] - } - }, - "test": { - "executor": "@nrwl/jest:jest", - "outputs": ["coverage/libs/ui/atoms"], - "options": { - "jestConfig": "libs/ui/atoms/jest.config.js", - "passWithNoTests": true - } - } - } -} diff --git a/libs/ui/atoms/src/index.ts b/libs/ui/atoms/src/index.ts deleted file mode 100644 index a6a56d4..0000000 --- a/libs/ui/atoms/src/index.ts +++ /dev/null @@ -1,8 +0,0 @@ -export * from "./lib/image/Image" -export * from "./lib/icon/Icon" -export * from "./lib/container/Container" -export * from "./lib/link/Link" -export * from "./lib/heading/Heading" -export * from "./lib/text/Text" -export type { ButtonProps } from "./lib/button" -export { Button } from "./lib/button" diff --git a/libs/ui/atoms/src/lib/button/Button.spec.tsx b/libs/ui/atoms/src/lib/button/Button.spec.tsx deleted file mode 100644 index abb82c8..0000000 --- a/libs/ui/atoms/src/lib/button/Button.spec.tsx +++ /dev/null @@ -1,10 +0,0 @@ -import { render } from "@testing-library/react" - -import Button from "./Button" - -describe("Button", () => { - it("should render successfully", () => { - const { baseElement } = render( +
+ )) + .add("dimension functions", () => ( + + )) diff --git a/libs/ui/atoms/view/src/View.test.js b/libs/ui/atoms/view/src/View.test.js new file mode 100644 index 0000000..caf7805 --- /dev/null +++ b/libs/ui/atoms/view/src/View.test.js @@ -0,0 +1,22 @@ +/* + * Copyright 2020 Adobe. All rights reserved. + * This file is licensed to you under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. You may obtain a copy + * of the License at http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software distributed under + * the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR REPRESENTATIONS + * OF ANY KIND, either express or implied. See the License for the specific language + * governing permissions and limitations under the License. + */ + +import React from "react" +import { render } from "@testing-library/react" +import { View } from "./View" + +describe("View", function () { + it("renders", function () { + render() + expect(true).toBeTruthy() + }) +}) diff --git a/libs/ui/atoms/view/src/View.tsx b/libs/ui/atoms/view/src/View.tsx new file mode 100644 index 0000000..5a65d80 --- /dev/null +++ b/libs/ui/atoms/view/src/View.tsx @@ -0,0 +1,43 @@ +/* + * Copyright 2020 Adobe. All rights reserved. + * This file is licensed to you under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. You may obtain a copy + * of the License at http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software distributed under + * the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR REPRESENTATIONS + * OF ANY KIND, either express or implied. See the License for the specific language + * governing permissions and limitations under the License. + */ + +import { filterDOMProps } from "@watheia/utils" +import { + ClearSlots, + useDOMRef, + useSlotProps, + useStyleProps, + viewStyleProps +} from "@watheia/utils" +import { DOMRef } from "@watheia/types" +import React, { forwardRef } from "react" +import { ViewProps } from "./@types" + +function View(props: ViewProps, ref: DOMRef) { + props = useSlotProps(props) + let { elementType: ElementType = "div", children, ...otherProps } = props + let { styleProps } = useStyleProps(props, viewStyleProps) + let domRef = useDOMRef(ref) + + return ( + + {children} + + ) +} + +/** + * View is a general purpose container with no specific semantics that can be used for custom styling purposes. + * It supports Spectrum style props to ensure consistency with other Spectrum components. + */ +const _View = forwardRef(View) +export { _View as View } diff --git a/libs/ui/atoms/view/src/index.ts b/libs/ui/atoms/view/src/index.ts new file mode 100644 index 0000000..6cb72a3 --- /dev/null +++ b/libs/ui/atoms/view/src/index.ts @@ -0,0 +1,17 @@ +/* + * Copyright 2020 Adobe. All rights reserved. + * This file is licensed to you under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. You may obtain a copy + * of the License at http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software distributed under + * the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR REPRESENTATIONS + * OF ANY KIND, either express or implied. See the License for the specific language + * governing permissions and limitations under the License. + */ + +export * from "./@types/index.d" +export * from "./View" +export * from "./Content" +export * from "./Footer" +export * from "./Header" diff --git a/libs/ui/layout/tsconfig.json b/libs/ui/atoms/view/tsconfig.json similarity index 62% rename from libs/ui/layout/tsconfig.json rename to libs/ui/atoms/view/tsconfig.json index bd1bd9e..d3d832b 100644 --- a/libs/ui/layout/tsconfig.json +++ b/libs/ui/atoms/view/tsconfig.json @@ -1,14 +1,11 @@ { - "extends": "../../../tsconfig.base.json", + "extends": "../../../../tsconfig.base.json", "compilerOptions": { "jsx": "react-jsx", "allowJs": true, "esModuleInterop": true, "allowSyntheticDefaultImports": true, - "forceConsistentCasingInFileNames": true, - "strict": true, - "noImplicitReturns": true, - "noFallthroughCasesInSwitch": true + "typeRoots": ["src/@types"] }, "files": [], "include": [], @@ -18,6 +15,9 @@ }, { "path": "./tsconfig.spec.json" + }, + { + "path": "./.storybook/tsconfig.json" } ] } diff --git a/libs/ui/atoms/view/tsconfig.lib.json b/libs/ui/atoms/view/tsconfig.lib.json new file mode 100644 index 0000000..ddd50b0 --- /dev/null +++ b/libs/ui/atoms/view/tsconfig.lib.json @@ -0,0 +1,23 @@ +{ + "extends": "./tsconfig.json", + "compilerOptions": { + "outDir": "../../../../dist/out-tsc", + "types": ["node"] + }, + "files": [ + "../../../../node_modules/@nrwl/react/typings/cssmodule.d.ts", + "../../../../node_modules/@nrwl/react/typings/image.d.ts" + ], + "exclude": [ + "**/*.spec.js", + "**/*.spec.ts", + "**/*.spec.tsx", + "**/*.stories.ts", + "**/*.stories.tsx", + "**/*.stories.ts", + "**/*.stories.js", + "**/*.stories.jsx", + "**/*.stories.tsx" + ], + "include": ["**/*.js", "**/*.jsx", "**/*.ts", "**/*.tsx"] +} diff --git a/libs/ui/atoms/view/tsconfig.spec.json b/libs/ui/atoms/view/tsconfig.spec.json new file mode 100644 index 0000000..541aa92 --- /dev/null +++ b/libs/ui/atoms/view/tsconfig.spec.json @@ -0,0 +1,9 @@ +{ + "extends": "./tsconfig.json", + "compilerOptions": { + "outDir": "../../../../dist/out-tsc", + "module": "commonjs", + "types": ["jest", "node"] + }, + "include": ["**/*.spec.ts", "**/*.spec.tsx", "**/*.spec.js", "**/*.spec.jsx", "**/*.d.ts"] +} diff --git a/libs/ui/layout/README.md b/libs/ui/layout/README.md deleted file mode 100644 index d92ec89..0000000 --- a/libs/ui/layout/README.md +++ /dev/null @@ -1,7 +0,0 @@ -# ui-layout - -This library was generated with [Nx](https://nx.dev). - -## Running unit tests - -Run `nx test ui-layout` to execute the unit tests via [Jest](https://jestjs.io). diff --git a/libs/ui/layout/jest.config.js b/libs/ui/layout/jest.config.js deleted file mode 100644 index cf10cf9..0000000 --- a/libs/ui/layout/jest.config.js +++ /dev/null @@ -1,9 +0,0 @@ -module.exports = { - displayName: "ui-layout", - preset: "../../../jest.preset.js", - transform: { - "^.+\\.[tj]sx?$": "babel-jest" - }, - moduleFileExtensions: ["ts", "tsx", "js", "jsx"], - coverageDirectory: "../../../coverage/libs/ui/layout" -} diff --git a/libs/ui/layout/package.json b/libs/ui/layout/package.json deleted file mode 100644 index c76def5..0000000 --- a/libs/ui/layout/package.json +++ /dev/null @@ -1,4 +0,0 @@ -{ - "name": "@watheia/layout", - "version": "0.0.1" -} diff --git a/libs/ui/layout/project.json b/libs/ui/layout/project.json deleted file mode 100644 index da46ced..0000000 --- a/libs/ui/layout/project.json +++ /dev/null @@ -1,42 +0,0 @@ -{ - "root": "libs/ui/layout", - "sourceRoot": "libs/ui/layout/src", - "projectType": "library", - "tags": [], - "targets": { - "build": { - "executor": "@nrwl/web:package", - "outputs": ["{options.outputPath}"], - "options": { - "outputPath": "dist/libs/ui/layout", - "tsConfig": "libs/ui/layout/tsconfig.lib.json", - "project": "libs/ui/layout/package.json", - "entryFile": "libs/ui/layout/src/index.ts", - "external": ["react/jsx-runtime"], - "rollupConfig": "@nrwl/react/plugins/bundle-rollup", - "assets": [ - { - "glob": "libs/ui/layout/README.md", - "input": ".", - "output": "." - } - ] - } - }, - "lint": { - "executor": "@nrwl/linter:eslint", - "outputs": ["{options.outputFile}"], - "options": { - "lintFilePatterns": ["libs/ui/layout/**/*.{ts,tsx,js,jsx}"] - } - }, - "test": { - "executor": "@nrwl/jest:jest", - "outputs": ["coverage/libs/ui/layout"], - "options": { - "jestConfig": "libs/ui/layout/jest.config.js", - "passWithNoTests": true - } - } - } -} diff --git a/libs/ui/layout/src/index.ts b/libs/ui/layout/src/index.ts deleted file mode 100644 index df0c8d1..0000000 --- a/libs/ui/layout/src/index.ts +++ /dev/null @@ -1 +0,0 @@ -export * from "./lib/UiLayout" diff --git a/libs/ui/layout/src/lib/UiLayout.module.css b/libs/ui/layout/src/lib/UiLayout.module.css deleted file mode 100644 index e69de29..0000000 diff --git a/libs/ui/layout/src/lib/UiLayout.spec.tsx b/libs/ui/layout/src/lib/UiLayout.spec.tsx deleted file mode 100644 index 677fd83..0000000 --- a/libs/ui/layout/src/lib/UiLayout.spec.tsx +++ /dev/null @@ -1,10 +0,0 @@ -import { render } from "@testing-library/react" - -import UiLayout from "./UiLayout" - -describe("UiLayout", () => { - it("should render successfully", () => { - const { baseElement } = render() - expect(baseElement).toBeTruthy() - }) -}) diff --git a/libs/ui/layout/src/lib/UiLayout.tsx b/libs/ui/layout/src/lib/UiLayout.tsx deleted file mode 100644 index 768eebe..0000000 --- a/libs/ui/layout/src/lib/UiLayout.tsx +++ /dev/null @@ -1,14 +0,0 @@ -import "./UiLayout.module.css" - -/* eslint-disable-next-line */ -export interface UiLayoutProps {} - -export function UiLayout(props: UiLayoutProps) { - return ( -
-

Welcome to UiLayout!

-
- ) -} - -export default UiLayout diff --git a/libs/ui/layout/tsconfig.lib.json b/libs/ui/layout/tsconfig.lib.json deleted file mode 100644 index b560bc4..0000000 --- a/libs/ui/layout/tsconfig.lib.json +++ /dev/null @@ -1,13 +0,0 @@ -{ - "extends": "./tsconfig.json", - "compilerOptions": { - "outDir": "../../../dist/out-tsc", - "types": ["node"] - }, - "files": [ - "../../../node_modules/@nrwl/react/typings/cssmodule.d.ts", - "../../../node_modules/@nrwl/react/typings/image.d.ts" - ], - "exclude": ["**/*.spec.ts", "**/*.spec.tsx"], - "include": ["**/*.js", "**/*.jsx", "**/*.ts", "**/*.tsx"] -} diff --git a/libs/ui/organisms/layout/.babelrc b/libs/ui/organisms/layout/.babelrc new file mode 100644 index 0000000..ccae900 --- /dev/null +++ b/libs/ui/organisms/layout/.babelrc @@ -0,0 +1,12 @@ +{ + "presets": [ + [ + "@nrwl/react/babel", + { + "runtime": "automatic", + "useBuiltIns": "usage" + } + ] + ], + "plugins": [] +} diff --git a/libs/ui/organisms/layout/.eslintrc.json b/libs/ui/organisms/layout/.eslintrc.json new file mode 100644 index 0000000..3086055 --- /dev/null +++ b/libs/ui/organisms/layout/.eslintrc.json @@ -0,0 +1,24 @@ +{ + "extends": ["plugin:@nrwl/nx/react", "../../../../.eslintrc.json"], + "ignorePatterns": ["!**/*"], + "overrides": [ + { + "files": ["*.ts", "*.tsx", "*.js", "*.jsx"], + "parserOptions": { + "project": [ + "libs/ui/organisms/layout/tsconfig.*?.json", + "libs/ui/organisms/layout/.storybook/tsconfig.json" + ] + }, + "rules": {} + }, + { + "files": ["*.ts", "*.tsx"], + "rules": {} + }, + { + "files": ["*.js", "*.jsx"], + "rules": {} + } + ] +} diff --git a/libs/ui/organisms/layout/.storybook/main.js b/libs/ui/organisms/layout/.storybook/main.js new file mode 100644 index 0000000..5573afe --- /dev/null +++ b/libs/ui/organisms/layout/.storybook/main.js @@ -0,0 +1,24 @@ +const rootMain = require("../../../../../.storybook/main") + +module.exports = { + ...rootMain, + + core: { ...rootMain.core, builder: "webpack5" }, + + stories: [ + ...rootMain.stories, + "../src/lib/**/*.stories.mdx", + "../src/lib/**/*.stories.@(js|jsx|ts|tsx)" + ], + addons: [...rootMain.addons, "@nrwl/react/plugins/storybook"], + webpackFinal: async (config, { configType }) => { + // apply any global webpack configs that might have been specified in .storybook/main.js + if (rootMain.webpackFinal) { + config = await rootMain.webpackFinal(config, { configType }) + } + + // add your own webpack tweaks if needed + + return config + } +} diff --git a/libs/ui/atoms/src/lib/icon/Icon.module.css b/libs/ui/organisms/layout/.storybook/preview.js similarity index 100% rename from libs/ui/atoms/src/lib/icon/Icon.module.css rename to libs/ui/organisms/layout/.storybook/preview.js diff --git a/libs/ui/organisms/layout/.storybook/tsconfig.json b/libs/ui/organisms/layout/.storybook/tsconfig.json new file mode 100644 index 0000000..3458684 --- /dev/null +++ b/libs/ui/organisms/layout/.storybook/tsconfig.json @@ -0,0 +1,14 @@ +{ + "extends": "../tsconfig.json", + "compilerOptions": { + "emitDecoratorMetadata": true, + "outDir": "" + }, + "files": [ + "../../../../../node_modules/@nrwl/react/typings/styled-jsx.d.ts", + "../../../../../node_modules/@nrwl/react/typings/cssmodule.d.ts", + "../../../../../node_modules/@nrwl/react/typings/image.d.ts" + ], + "exclude": ["../**/*.spec.ts", "../**/*.spec.js", "../**/*.spec.tsx", "../**/*.spec.jsx"], + "include": ["../src/**/*", "*.js"] +} diff --git a/libs/ui/organisms/layout/README.md b/libs/ui/organisms/layout/README.md new file mode 100644 index 0000000..2eb9001 --- /dev/null +++ b/libs/ui/organisms/layout/README.md @@ -0,0 +1,7 @@ +# ui-organisms-layout + +This library was generated with [Nx](https://nx.dev). + +## Running unit tests + +Run `nx test ui-organisms-layout` to execute the unit tests via [Jest](https://jestjs.io). diff --git a/libs/ui/organisms/layout/docs/Flex.mdx b/libs/ui/organisms/layout/docs/Flex.mdx new file mode 100644 index 0000000..03f5681 --- /dev/null +++ b/libs/ui/organisms/layout/docs/Flex.mdx @@ -0,0 +1,166 @@ + + +import { Layout } from "@react-spectrum/docs" +export default Layout + +import docs from "docs:@react-spectrum/layout" +import { HeaderInfo, PropTable } from "@react-spectrum/docs" +import packageData from "@react-spectrum/layout/package.json" + +```jsx import +import { Flex } from "@react-spectrum/layout" +import { View } from "@react-spectrum/view" +``` + +--- + +## category: Layout + +# Flex + +

{docs.exports.Flex.description}

+ + + +## Introduction + +The `Flex` component can be used to layout its children in one dimension with +[flexbox](https://developer.mozilla.org/en-US/docs/Web/CSS/CSS_Flexible_Box_Layout/Basic_Concepts_of_Flexbox). +Any React Spectrum component can be used as a child, and `Flex` components can be nested to create +more complex layouts. + +In addition to the properties widely supported by CSS, React Spectrum also shims the `gap` property, along +with `rowGap` and `columnGap`. These properties make it much easier to build layouts +with consistent space between each item. The gap can be defined with [Spectrum dimension variables](styling.html#dimension-values) +to ensure consistency across applications, and allow the layout to adapt to different devices automatically. +In addition, these values can be autocompleted in many IDEs for convenience. + +All `Flex` props also support object syntax to define responsive layouts that change at certain breakpoints. +See the [layout docs](layout.html#responsive-layout) for more details. + +## Examples + +### Vertical stack + +This example shows a simple vertical stack, with a gap between each item defined +using a [Spectrum dimension variable](styling.html#dimension-values). + +```tsx example + + + + + +``` + +### Horizontal stack + +This example shows a horizontal stack. + +```tsx example + + + + + +``` + +### Nesting + +This example shows how you can nest flexboxes to create more complicated layouts. It also uses the `flex` +prop on one of the children to expand it to fill the repaining space. + +```tsx example + + + + + + + + +``` + +### Wrapping + +This example shows how to enable wrapping of items into multiple rows. Resize your browser window to see the +items reflow. + +```tsx import +let baseColors = [ + "celery", + "chartreuse", + "yellow", + "magenta", + "fuchsia", + "purple", + "indigo", + "seafoam", + "red", + "orange", + "green", + "blue" +] +let colors = [] +for (let color of baseColors) { + for (let i = 4; i <= 7; i++) { + colors.push(`${color}-${i}00`) + } +} +``` + +```tsx example + + {colors.map((color) => ( + + ))} + +``` + +### Alignment + +The `alignItems` prop can be used to align items along the cross axis. When `direction` is `"column"`, this refers to +horizontal alignment, and when `direction` is `"row"` it refers to vertical alignment. + +This example horizontally centers items in a vertical stack. + +```tsx example + + + + + +``` + +**NOTE**: the default value for `alignItems` is `"stretch"` according to the CSS spec. This means that if your items do +not have a size defined in the cross direction, then they will be stretched to fill the height of the container. +This may be undesirable in some cases, e.g. a group of buttons with varying heights. Ensure you set +an `alignItems` value to account for this. + +### Justification + +The `justifyContent` prop can be used to align items along the main axis. When `direction` is `"column"`, this refers +to vertical alignment, and when `direction` is `"row"` it refers to horizontal alignment. + +This example vertically centers the stack of items within the available space defined by a container. + +```tsx example + + + + + + + +``` + +## Props + + diff --git a/libs/ui/organisms/layout/docs/Grid.mdx b/libs/ui/organisms/layout/docs/Grid.mdx new file mode 100644 index 0000000..89de373 --- /dev/null +++ b/libs/ui/organisms/layout/docs/Grid.mdx @@ -0,0 +1,138 @@ + + +import { Layout } from "@react-spectrum/docs" +export default Layout + +import docs from "docs:@react-spectrum/layout" +import { HeaderInfo, PropTable, FunctionAPI } from "@react-spectrum/docs" +import packageData from "@react-spectrum/layout/package.json" + +```jsx import +import { Grid, repeat, minmax } from "@react-spectrum/layout" +import { View } from "@react-spectrum/view" +``` + +--- + +## category: Layout + +# Grid + +

{docs.exports.Grid.description}

+ + + +## Introduction + +The `Grid` component can be used to layout its children in two dimensions with +[CSS grid](https://developer.mozilla.org/en-US/docs/Web/CSS/CSS_Grid_Layout/Basic_Concepts_of_Grid_Layout). +Any React Spectrum component can be used as a child, and [Spectrum dimension variables](styling.html#dimension-values) +can be used to define sizing and spacing, which ensures consistency across applications, and allows the layout to adapt +to different devices automatically. In addition, these values can be autocompleted in many IDEs for convenience. + +All `Grid` props also support object syntax to define responsive layouts that change at certain breakpoints. +See the [layout docs](layout.html#responsive-layout) for more details. + +## Examples + +### Explicit grids + +This example shows how to build a common application layout with a header, sidebar, content area, and footer. +It uses the `areas` prop to define the grid areas, along with `columns` and `rows` to define the sizes. +Each child uses the `gridArea` prop to declare which area it should be placed in. + +```tsx example + + + + + + +``` + +### Implicit grids + +This example creates an implicit grid. It declares the columns using the `repeat` function to automatically generate +as many columns as fit, and uses the `autoRows` prop to set the size of the implicitly created rows. The items are +centered horizontally within the container, and have a gap between them defined +using a [Spectrum dimension variable](styling.html#dimension-values). +Resize your browser to see how items reflow. + +```tsx import +let baseColors = [ + "celery", + "chartreuse", + "yellow", + "magenta", + "fuchsia", + "purple", + "indigo", + "seafoam", + "red", + "orange", + "green", + "blue" +] +let colors = [] +for (let color of baseColors) { + for (let i = 4; i <= 7; i++) { + colors.push(`${color}-${i}00`) + } +} +``` + +```tsx example + + {colors.map((color) => ( + + ))} + +``` + +## Props + + + +## Helper functions + +React Spectrum offers JavaScript versions of the CSS functions that are often used with CSS grid. +These allow using Spectrum variables to define dimensions, and are typed to allow IDE autocomplete. + +### repeat + +The [repeat](https://developer.mozilla.org/en-US/docs/Web/CSS/repeat) function can be used to make +a repeating fragment of the columns or rows list. + + + +### minmax + +The [minmax](https://developer.mozilla.org/en-US/docs/Web/CSS/minmax) function defines a size range +greater than or equal to `min` and less than or equal to `max`. + + + +### fitContent + +The [fitContent](https://developer.mozilla.org/en-US/docs/Web/CSS/fit-content) function clamps a given +size to an available size. + + diff --git a/libs/ui/organisms/layout/jest.config.js b/libs/ui/organisms/layout/jest.config.js new file mode 100644 index 0000000..eaadbe9 --- /dev/null +++ b/libs/ui/organisms/layout/jest.config.js @@ -0,0 +1,9 @@ +module.exports = { + displayName: "ui-atoms-layout", + preset: "../../../../jest.preset.js", + transform: { + "^.+\\.[tj]sx?$": "babel-jest" + }, + moduleFileExtensions: ["ts", "tsx", "js", "jsx"], + coverageDirectory: "../../../../coverage/libs/ui/organisms/layout" +} diff --git a/libs/ui/organisms/layout/package.json b/libs/ui/organisms/layout/package.json new file mode 100644 index 0000000..92d332f --- /dev/null +++ b/libs/ui/organisms/layout/package.json @@ -0,0 +1,4 @@ +{ + "name": "@watheia/app.ui.organisms.layout", + "version": "0.0.1" +} diff --git a/libs/ui/organisms/layout/project.json b/libs/ui/organisms/layout/project.json new file mode 100644 index 0000000..a6c67c1 --- /dev/null +++ b/libs/ui/organisms/layout/project.json @@ -0,0 +1,73 @@ +{ + "root": "libs/ui/organisms/layout", + "sourceRoot": "libs/ui/organisms/layout/src", + "projectType": "library", + "tags": [], + "targets": { + "build": { + "executor": "@nrwl/web:package", + "outputs": ["{options.outputPath}"], + "options": { + "outputPath": "dist/libs/ui/organisms/layout", + "tsConfig": "libs/ui/organisms/layout/tsconfig.lib.json", + "project": "libs/ui/organisms/layout/package.json", + "entryFile": "libs/ui/organisms/layout/src/index.ts", + "external": ["react/jsx-runtime"], + "rollupConfig": "@nrwl/react/plugins/bundle-rollup", + "assets": [ + { + "glob": "libs/ui/organisms/layout/README.md", + "input": ".", + "output": "." + } + ] + } + }, + "lint": { + "executor": "@nrwl/linter:eslint", + "outputs": ["{options.outputFile}"], + "options": { + "lintFilePatterns": ["libs/ui/organisms/layout/**/*.{ts,tsx,js,jsx}"] + } + }, + "test": { + "executor": "@nrwl/jest:jest", + "outputs": ["coverage/libs/ui/organisms/layout"], + "options": { + "jestConfig": "libs/ui/organisms/layout/jest.config.js", + "passWithNoTests": true + } + }, + "storybook": { + "executor": "@nrwl/storybook:storybook", + "options": { + "uiFramework": "@storybook/react", + "port": 4400, + "config": { + "configFolder": "libs/ui/organisms/layout/.storybook" + } + }, + "configurations": { + "ci": { + "quiet": true + } + } + }, + "build-storybook": { + "executor": "@nrwl/storybook:build", + "outputs": ["{options.outputPath}"], + "options": { + "uiFramework": "@storybook/react", + "outputPath": "dist/storybook/ui-organisms-layout", + "config": { + "configFolder": "libs/ui/organisms/layout/.storybook" + } + }, + "configurations": { + "ci": { + "quiet": true + } + } + } + } +} diff --git a/libs/ui/organisms/layout/src/@types/flex.ts b/libs/ui/organisms/layout/src/@types/flex.ts new file mode 100644 index 0000000..4a47d71 --- /dev/null +++ b/libs/ui/organisms/layout/src/@types/flex.ts @@ -0,0 +1,27 @@ +/* + * Copyright 2020 Adobe. All rights reserved. + * This file is licensed to you under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. You may obtain a copy + * of the License at http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software distributed under + * the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR REPRESENTATIONS + * OF ANY KIND, either express or implied. See the License for the specific language + * governing permissions and limitations under the License. + */ + +import { DimensionValue, DOMProps, FlexStyleProps } from "@watheia/types" +import { ReactNode } from "react" + +export type Slots = { [key: string]: any } + +export interface FlexProps extends DOMProps, FlexStyleProps { + /** Children of the flex container. */ + children: ReactNode + + gap?: string | number | DimensionValue + + rowGap?: string | number | DimensionValue + + columnGap?: string | number | DimensionValue +} diff --git a/libs/ui/organisms/layout/src/@types/grid.ts b/libs/ui/organisms/layout/src/@types/grid.ts new file mode 100644 index 0000000..2f57cca --- /dev/null +++ b/libs/ui/organisms/layout/src/@types/grid.ts @@ -0,0 +1,19 @@ +/* + * Copyright 2020 Adobe. All rights reserved. + * This file is licensed to you under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. You may obtain a copy + * of the License at http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software distributed under + * the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR REPRESENTATIONS + * OF ANY KIND, either express or implied. See the License for the specific language + * governing permissions and limitations under the License. + */ + +import { DOMProps, GridStyleProps } from "@watheia/types" +import { ReactNode } from "react" + +export interface GridProps extends DOMProps, GridStyleProps { + /** Children of the grid container. */ + children: ReactNode +} diff --git a/libs/ui/organisms/layout/src/@types/index.ts b/libs/ui/organisms/layout/src/@types/index.ts new file mode 100644 index 0000000..8ddaa24 --- /dev/null +++ b/libs/ui/organisms/layout/src/@types/index.ts @@ -0,0 +1,14 @@ +/* + * Copyright 2020 Adobe. All rights reserved. + * This file is licensed to you under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. You may obtain a copy + * of the License at http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software distributed under + * the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR REPRESENTATIONS + * OF ANY KIND, either express or implied. See the License for the specific language + * governing permissions and limitations under the License. + */ + +export type { Slots, FlexProps } from "./flex" +export type { GridProps } from "./grid" diff --git a/libs/ui/organisms/layout/src/Flex.ssr.test.js b/libs/ui/organisms/layout/src/Flex.ssr.test.js new file mode 100644 index 0000000..e3675e6 --- /dev/null +++ b/libs/ui/organisms/layout/src/Flex.ssr.test.js @@ -0,0 +1,25 @@ +/* + * Copyright 2020 Adobe. All rights reserved. + * This file is licensed to you under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. You may obtain a copy + * of the License at http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software distributed under + * the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR REPRESENTATIONS + * OF ANY KIND, either express or implied. See the License for the specific language + * governing permissions and limitations under the License. + */ + +import { testSSR } from "@watheia/app.testing.utils" + +describe("Flex SSR", function () { + it("should render without errors", async function () { + await testSSR( + __filename, + ` + import {Flex} from '../'; + + ` + ) + }) +}) diff --git a/libs/ui/organisms/layout/src/Flex.stories.tsx b/libs/ui/organisms/layout/src/Flex.stories.tsx new file mode 100644 index 0000000..fa6d42b --- /dev/null +++ b/libs/ui/organisms/layout/src/Flex.stories.tsx @@ -0,0 +1,146 @@ +/* + * Copyright 2020 Adobe. All rights reserved. + * This file is licensed to you under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. You may obtain a copy + * of the License at http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software distributed under + * the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR REPRESENTATIONS + * OF ANY KIND, either express or implied. See the License for the specific language + * governing permissions and limitations under the License. + */ + +import { storiesOf } from "@storybook/react" +import { View } from "@watheia/app.ui.atoms.view" +import { Flex } from "@watheia/app.ui.organisms.layout" +import React from "react" + +let baseColors = [ + "celery", + "chartreuse", + "yellow", + "magenta", + "fuchsia", + "purple", + "indigo", + "seafoam", + "red", + "orange", + "green", + "blue" +] +let colors = [] +for (let color of baseColors) { + for (let i = 4; i <= 7; i++) { + colors.push(`${color}-${i}00`) + } +} + +storiesOf("Flex", module) + .add("Vertical stack with gap", () => ( + + + + + + )) + .add("Horizontal stack with gap", () => ( + + + + + + )) + .add("Wrapping with gap", () => ( + + + {colors.map((color) => ( + + ))} + + + )) + .add("Nested flex with gap", () => ( + + + + + + + + + + )) + .add("Align center", () => ( + + + + + + )) + .add("Align end", () => ( + + + + + + )) + .add("Justify start", () => ( + + + + + + )) + .add("Justify center", () => ( + + + + + + )) + .add("Justify end", () => ( + + + + + + )) + .add("Justify space-around", () => ( + + + + + + )) + .add("Justify space-between", () => ( + + + + + + )) + .add("Justify space-evenly", () => ( + + + + + + )) + .add("ordered", () => ( + + + + + + )) + .add("responsive", () => ( + + + + + + )) diff --git a/libs/ui/organisms/layout/src/Flex.tsx b/libs/ui/organisms/layout/src/Flex.tsx new file mode 100644 index 0000000..4e7b4d8 --- /dev/null +++ b/libs/ui/organisms/layout/src/Flex.tsx @@ -0,0 +1,177 @@ +/* + * Copyright 2020 Adobe. All rights reserved. + * This file is licensed to you under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. You may obtain a copy + * of the License at http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software distributed under + * the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR REPRESENTATIONS + * OF ANY KIND, either express or implied. See the License for the specific language + * governing permissions and limitations under the License. + */ + +import { + classNames, + passthroughStyle, + responsiveDimensionValue, + StyleHandlers, + useBreakpoint, + useDOMRef, + useStyleProps +} from "@watheia/utils" +import { DOMRef } from "@watheia/types" +import { filterDOMProps } from "@react-aria/utils" +import { FlexProps } from "./@types" +import React, { forwardRef } from "react" +import styles from "./styles/flex-gap.module.css" +import { useIsSSR } from "@react-aria/ssr" + +const flexStyleProps: StyleHandlers = { + direction: ["flexDirection", passthroughStyle], + wrap: ["flexWrap", flexWrapValue], + justifyContent: ["justifyContent", flexAlignValue], + alignItems: ["alignItems", flexAlignValue], + alignContent: ["alignContent", flexAlignValue] +} + +function Flex(props: FlexProps, ref: DOMRef) { + const { children, ...otherProps } = props + const breakpointProvider = useBreakpoint() + const matchedBreakpoints = breakpointProvider?.matchedBreakpoints || ["base"] + const { styleProps } = useStyleProps(otherProps) + const { styleProps: flexStyle } = useStyleProps(otherProps, flexStyleProps) + const domRef = useDOMRef(ref) + const isSSR = useIsSSR() + + // If a gap property is specified, and there is no native support or we're in SSR, use a shim. + // Two divs are required for this: the outer one contains most style properties, and the inner + // one is the flex container. Each item inside the flex container gets a margin around it based + // on the gap, and the flex container has a negative margin to counteract this. The outer container + // is necessary to allow nesting of flex containers with gaps, so that the inner CSS variable doesn't + // override the outer one. + if ((props.gap || props.rowGap || props.columnGap) && (isSSR || !isFlexGapSupported())) { + const style = { + ...flexStyle.style, + "--column-gap": + props.columnGap != null + ? responsiveDimensionValue(props.columnGap, matchedBreakpoints) + : undefined, + "--row-gap": + props.rowGap != null + ? responsiveDimensionValue(props.rowGap, matchedBreakpoints) + : undefined, + "--gap": + props.gap != null + ? responsiveDimensionValue(props.gap, matchedBreakpoints) + : undefined + } + + return ( +
+
+ {children} +
+
+ ) + } + + // If no gaps, or native support exists, then we only need to render a single div. + const style = { + ...styleProps.style, + ...flexStyle.style + } + + if (props.gap != null) { + style.gap = responsiveDimensionValue(props.gap, matchedBreakpoints) + } + + if (props.columnGap != null) { + style.columnGap = responsiveDimensionValue(props.columnGap, matchedBreakpoints) + } + + if (props.rowGap != null) { + style.rowGap = responsiveDimensionValue(props.rowGap, matchedBreakpoints) + } + + return ( +
+ {children} +
+ ) +} + +/** + * Normalize 'start' and 'end' alignment values to 'flex-start' and 'flex-end' + * in flex containers for browser compatibility. + */ +function flexAlignValue(value) { + if (value === "start") { + return "flex-start" + } + + if (value === "end") { + return "flex-end" + } + + return value +} + +/** + * Takes a boolean and translates it to flex wrap or nowrap. + */ +function flexWrapValue(value) { + if (typeof value === "boolean") { + return value ? "wrap" : "nowrap" + } + + return value +} + +// Original licensing for the following method can be found in the +// NOTICE file in the root directory of this source tree. +// See https://github.com/Modernizr/Modernizr/blob/7efb9d0edd66815fb115fdce95fabaf019ce8db5/feature-detects/css/flexgap.js + +let _isFlexGapSupported = null +function isFlexGapSupported() { + if (_isFlexGapSupported != null) { + return _isFlexGapSupported + } + + if (typeof document === "undefined") { + return false + } + + // create flex container with row-gap set + const flex = document.createElement("div") + flex.style.display = "flex" + flex.style.flexDirection = "column" + flex.style.rowGap = "1px" + + // create two, elements inside it + flex.appendChild(document.createElement("div")) + flex.appendChild(document.createElement("div")) + + // append to the DOM (needed to obtain scrollHeight) + document.body.appendChild(flex) + _isFlexGapSupported = flex.scrollHeight === 1 // flex container should be 1px high from the row-gap + flex.parentNode.removeChild(flex) + + return _isFlexGapSupported +} + +/** + * A layout container using flexbox. Provides Spectrum dimension values, and supports the gap + * property to define consistent spacing between items. + */ +const _Flex = forwardRef(Flex) +export { _Flex as Flex } diff --git a/libs/ui/organisms/layout/src/Grid.ssr.test.js b/libs/ui/organisms/layout/src/Grid.ssr.test.js new file mode 100644 index 0000000..e8bc301 --- /dev/null +++ b/libs/ui/organisms/layout/src/Grid.ssr.test.js @@ -0,0 +1,25 @@ +/* + * Copyright 2020 Adobe. All rights reserved. + * This file is licensed to you under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. You may obtain a copy + * of the License at http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software distributed under + * the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR REPRESENTATIONS + * OF ANY KIND, either express or implied. See the License for the specific language + * governing permissions and limitations under the License. + */ + +import { testSSR } from "@watheia/app.testing.utils" + +describe("Grid SSR", function () { + it("should render without errors", async function () { + await testSSR( + __filename, + ` + import {Grid} from '../'; + + ` + ) + }) +}) diff --git a/libs/ui/organisms/layout/src/Grid.stories.tsx b/libs/ui/organisms/layout/src/Grid.stories.tsx new file mode 100644 index 0000000..07ee423 --- /dev/null +++ b/libs/ui/organisms/layout/src/Grid.stories.tsx @@ -0,0 +1,111 @@ +/* + * Copyright 2020 Adobe. All rights reserved. + * This file is licensed to you under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. You may obtain a copy + * of the License at http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software distributed under + * the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR REPRESENTATIONS + * OF ANY KIND, either express or implied. See the License for the specific language + * governing permissions and limitations under the License. + */ + +import { Grid, repeat } from "@watheia/app.ui.organisms.layout" +import React from "react" +import { storiesOf } from "@storybook/react" +import { View } from "@watheia/app.ui.atoms.view" + +let baseColors = [ + "celery", + "chartreuse", + "yellow", + "magenta", + "fuchsia", + "purple", + "indigo", + "seafoam", + "red", + "orange", + "green", + "blue" +] +let colors = [] +for (let color of baseColors) { + for (let i = 4; i <= 7; i++) { + colors.push(`${color}-${i}00`) + } +} + +storiesOf("Grid", module) + .add("Explicit grid", () => ( + + + Header + + + Sidebar + + + Content + + + Footer + + + )) + .add("Implicit grid", () => ( + + {colors.map((color) => ( + + ))} + + )) + .add("responsive", () => ( + + {colors.map((color) => ( + + ))} + + )) + +// function render(props: GridProps) { +// return ( +// +// +// +// +// +// +// Thor Odinson +// +// +// +// +//
Got lost in the Lost Coast, trying to find home up there. Heimdall, if you see this post, send the Bifrost!
+//
+//
+// ); +// } diff --git a/libs/ui/organisms/layout/src/Grid.test.js b/libs/ui/organisms/layout/src/Grid.test.js new file mode 100644 index 0000000..576747d --- /dev/null +++ b/libs/ui/organisms/layout/src/Grid.test.js @@ -0,0 +1,24 @@ +/* + * Copyright 2020 Adobe. All rights reserved. + * This file is licensed to you under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. You may obtain a copy + * of the License at http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software distributed under + * the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR REPRESENTATIONS + * OF ANY KIND, either express or implied. See the License for the specific language + * governing permissions and limitations under the License. + */ + +import Grid from "../" +import React from "react" + +// TODO: testing :) +describe("Grid", function () { + it.each` + Name | Component | props + ${"Grid"} | ${Grid} | ${{}} + `("$Name handles defaults", function ({ Component, props }) { + expect(true).toBeTruthy() + }) +}) diff --git a/libs/ui/organisms/layout/src/Grid.tsx b/libs/ui/organisms/layout/src/Grid.tsx new file mode 100644 index 0000000..b9f7b4e --- /dev/null +++ b/libs/ui/organisms/layout/src/Grid.tsx @@ -0,0 +1,113 @@ +/* + * Copyright 2020 Adobe. All rights reserved. + * This file is licensed to you under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. You may obtain a copy + * of the License at http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software distributed under + * the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR REPRESENTATIONS + * OF ANY KIND, either express or implied. See the License for the specific language + * governing permissions and limitations under the License. + */ + +import { + baseStyleProps, + dimensionValue, + passthroughStyle, + StyleHandlers, + useDOMRef, + useStyleProps +} from "@watheia/utils" +import { DimensionValue, DOMRef } from "@watheia/types" +import { filterDOMProps } from "@watheia/utils" +import { GridProps } from "./@types" +import React, { forwardRef } from "react" + +const gridStyleProps: StyleHandlers = { + ...baseStyleProps, + autoFlow: ["gridAutoFlow", passthroughStyle], + autoColumns: ["gridAutoColumns", gridDimensionValue], + autoRows: ["gridAutoRows", gridDimensionValue], + areas: ["gridTemplateAreas", gridTemplateAreasValue], + columns: ["gridTemplateColumns", gridTemplateValue], + rows: ["gridTemplateRows", gridTemplateValue], + gap: ["gap", dimensionValue], + rowGap: ["rowGap", dimensionValue], + columnGap: ["columnGap", dimensionValue], + justifyItems: ["justifyItems", passthroughStyle], + justifyContent: ["justifyContent", passthroughStyle], + alignItems: ["alignItems", passthroughStyle], + alignContent: ["alignContent", passthroughStyle] +} + +function Grid(props: GridProps, ref: DOMRef) { + const { children, ...otherProps } = props + const { styleProps } = useStyleProps(otherProps, gridStyleProps) + styleProps.style.display = "grid" // inline-grid? + const domRef = useDOMRef(ref) + + return ( +
+ {children} +
+ ) +} + +/** + * Can be used to make a repeating fragment of the columns or rows list. + * See [MDN](https://developer.mozilla.org/en-US/docs/Web/CSS/repeat). + * @param count - The number of times to repeat the fragment. + * @param repeat - The fragment to repeat. + */ +export function repeat( + count: number | "auto-fill" | "auto-fit", + repeat: DimensionValue | DimensionValue[] +): string { + return `repeat(${count}, ${gridTemplateValue(repeat)})` +} + +/** + * Defines a size range greater than or equal to min and less than or equal to max. + * See [MDN](https://developer.mozilla.org/en-US/docs/Web/CSS/minmax). + * @param min - The minimum size. + * @param max - The maximum size. + */ +export function minmax(min: DimensionValue, max: DimensionValue): string { + return `minmax(${gridDimensionValue(min)}, ${gridDimensionValue(max)})` +} + +/** + * Clamps a given size to an available size. + * See [MDN](https://developer.mozilla.org/en-US/docs/Web/CSS/fit-content). + * @param dimension - The size to clamp. + */ +export function fitContent(dimension: DimensionValue): string { + return `fit-content(${gridDimensionValue(dimension)})` +} + +function gridTemplateAreasValue(value) { + return value.map((v) => `"${v}"`).join("\n") +} + +function gridDimensionValue(value) { + if (/^max-content|min-content|minmax|auto|fit-content|repeat|subgrid/.test(value)) { + return value + } + + return dimensionValue(value) +} + +function gridTemplateValue(value) { + if (Array.isArray(value)) { + return value.map(gridDimensionValue).join(" ") + } + + return gridDimensionValue(value) +} + +/** + * A layout container using CSS grid. Supports Spectrum dimensions as values to + * ensure consistent and adaptive sizing and spacing. + */ +const _Grid = forwardRef(Grid) +export { _Grid as Grid } diff --git a/libs/ui/organisms/layout/src/index.ts b/libs/ui/organisms/layout/src/index.ts new file mode 100644 index 0000000..0849370 --- /dev/null +++ b/libs/ui/organisms/layout/src/index.ts @@ -0,0 +1,17 @@ +/* + * Copyright 2020 Adobe. All rights reserved. + * This file is licensed to you under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. You may obtain a copy + * of the License at http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software distributed under + * the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR REPRESENTATIONS + * OF ANY KIND, either express or implied. See the License for the specific language + * governing permissions and limitations under the License. + */ + +export { default as styles } from "./styles/vars.module.css" +export * from "./@types" + +export * from "./Grid" +export * from "./Flex" diff --git a/libs/ui/organisms/layout/src/styles/flex-gap.module.css b/libs/ui/organisms/layout/src/styles/flex-gap.module.css new file mode 100644 index 0000000..3456e51 --- /dev/null +++ b/libs/ui/organisms/layout/src/styles/flex-gap.module.css @@ -0,0 +1,43 @@ +/* + * Copyright 2020 Adobe. All rights reserved. + * This file is licensed to you under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. You may obtain a copy + * of the License at http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software distributed under + * the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR REPRESENTATIONS + * OF ANY KIND, either express or implied. See the License for the specific language + * governing permissions and limitations under the License. + */ + +.flex-container { + /* this is necessary so that the inner margins don't affect anything outside */ + display: flex; +} + +.flex { + display: flex; +} + +.flex-gap { + --gap: 0px; + --column-gap: var(--gap); + --row-gap: var(--gap); + + /* apply a negative margin to counteract the margin on each item at the edges */ + margin: calc(var(--row-gap) / -2) calc(var(--column-gap) / -2); + + /* increase the width and height to account for this margin */ + /* Add 1px to fix rounding error in Safari (╯°□°)╯︵ ┻━┻ */ + width: calc(100% + calc(var(--column-gap) + 1px)); + height: calc(100% + var(--row-gap)); +} + +/* If the selector was .flex-gap > *, it wouldn't override when components have a margin 0 specified by a single + * class selector, specificity is equal. Both are one class. Neither > nor * contribute to specificity. + * We need to make it more specific, so we raise it by 1 class. + */ +.flex-container .flex-gap > * { + /* apply half of the gap to each side of every item */ + margin: calc(var(--row-gap) / 2) calc(var(--column-gap) / 2); +} diff --git a/libs/ui/organisms/layout/src/styles/vars.module.css b/libs/ui/organisms/layout/src/styles/vars.module.css new file mode 100644 index 0000000..77ce5e7 --- /dev/null +++ b/libs/ui/organisms/layout/src/styles/vars.module.css @@ -0,0 +1,67 @@ +/* + * Copyright 2020 Adobe. All rights reserved. + * This file is licensed to you under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. You may obtain a copy + * of the License at http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software distributed under + * the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR REPRESENTATIONS + * OF ANY KIND, either express or implied. See the License for the specific language + * governing permissions and limitations under the License. + */ + +.spectrum-Card { + max-width: 300px; + border: 1px solid rgb(25 25 25); + background: rgb(50 50 50); + border-radius: 4px; +} + +.heading { + padding: 0; + margin: 0; +} + +.spectrum-Card { + display: grid; + grid-template-areas: + "preview preview preview preview preview" + ". avatar . . ." + ". avatar . . ." + ". title title title ." + ". body body body ." + ". divider divider divider ." + ". footer footer footer ."; + grid-template-columns: 14px 48px 1fr 1fr 14px; + grid-template-rows: minmax(auto, 168px) 32px 16px auto auto auto; +} + +.preview { + grid-area: preview-start / preview-start / span 2 / preview-end; +} + +.avatar { + z-index: 1; + width: 48px; + height: 48px; + grid-area: avatar; +} + +.title { + margin: 5px 0; + grid-area: title; +} + +.body { + grid-area: body; +} + +.divider { + width: 100%; + grid-area: divider; +} + +.footer { + margin-bottom: 5px; + grid-area: footer; +} diff --git a/libs/ui/organisms/layout/tsconfig.json b/libs/ui/organisms/layout/tsconfig.json new file mode 100644 index 0000000..d3d832b --- /dev/null +++ b/libs/ui/organisms/layout/tsconfig.json @@ -0,0 +1,23 @@ +{ + "extends": "../../../../tsconfig.base.json", + "compilerOptions": { + "jsx": "react-jsx", + "allowJs": true, + "esModuleInterop": true, + "allowSyntheticDefaultImports": true, + "typeRoots": ["src/@types"] + }, + "files": [], + "include": [], + "references": [ + { + "path": "./tsconfig.lib.json" + }, + { + "path": "./tsconfig.spec.json" + }, + { + "path": "./.storybook/tsconfig.json" + } + ] +} diff --git a/libs/ui/organisms/layout/tsconfig.lib.json b/libs/ui/organisms/layout/tsconfig.lib.json new file mode 100644 index 0000000..ddd50b0 --- /dev/null +++ b/libs/ui/organisms/layout/tsconfig.lib.json @@ -0,0 +1,23 @@ +{ + "extends": "./tsconfig.json", + "compilerOptions": { + "outDir": "../../../../dist/out-tsc", + "types": ["node"] + }, + "files": [ + "../../../../node_modules/@nrwl/react/typings/cssmodule.d.ts", + "../../../../node_modules/@nrwl/react/typings/image.d.ts" + ], + "exclude": [ + "**/*.spec.js", + "**/*.spec.ts", + "**/*.spec.tsx", + "**/*.stories.ts", + "**/*.stories.tsx", + "**/*.stories.ts", + "**/*.stories.js", + "**/*.stories.jsx", + "**/*.stories.tsx" + ], + "include": ["**/*.js", "**/*.jsx", "**/*.ts", "**/*.tsx"] +} diff --git a/libs/ui/organisms/layout/tsconfig.spec.json b/libs/ui/organisms/layout/tsconfig.spec.json new file mode 100644 index 0000000..541aa92 --- /dev/null +++ b/libs/ui/organisms/layout/tsconfig.spec.json @@ -0,0 +1,9 @@ +{ + "extends": "./tsconfig.json", + "compilerOptions": { + "outDir": "../../../../dist/out-tsc", + "module": "commonjs", + "types": ["jest", "node"] + }, + "include": ["**/*.spec.ts", "**/*.spec.tsx", "**/*.spec.js", "**/*.spec.jsx", "**/*.d.ts"] +} diff --git a/libs/utils/src/index.ts b/libs/utils/src/index.ts index 1b8d2c4..801fa73 100644 --- a/libs/utils/src/index.ts +++ b/libs/utils/src/index.ts @@ -8,6 +8,7 @@ export { default as toDateTime } from "./lib/toDateTime" export { default as createEmotionCache } from "./lib/createEmotionCache" export { default as classNames } from "clsx" export * from "./lib/getWrappedElement" +export * from "./lib/filterDOMProps" export * from "./lib/useMediaQuery" export * from "./lib/useDOMRef" export * from "./lib/styleProps" diff --git a/libs/utils/src/lib/filterDOMProps.ts b/libs/utils/src/lib/filterDOMProps.ts new file mode 100644 index 0000000..09161a2 --- /dev/null +++ b/libs/utils/src/lib/filterDOMProps.ts @@ -0,0 +1,63 @@ +/* + * Copyright 2020 Adobe. All rights reserved. + * This file is licensed to you under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. You may obtain a copy + * of the License at http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software distributed under + * the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR REPRESENTATIONS + * OF ANY KIND, either express or implied. See the License for the specific language + * governing permissions and limitations under the License. + */ + +import { AriaLabelingProps, DOMProps } from "@react-types/shared" +import { HTMLAttributes } from "react" + +const DOMPropNames = new Set(["id"]) + +const labelablePropNames = new Set([ + "aria-label", + "aria-labelledby", + "aria-describedby", + "aria-details" +]) + +interface Options { + /** + * If labelling associated aria properties should be included in the filter. + */ + labelable?: boolean + /** + * A Set of other property names that should be included in the filter. + */ + propNames?: Set +} + +const propRe = /^(data-.*)$/ + +/** + * Filters out all props that aren't valid DOM props or defined via override prop obj. + * @param props - The component props to be filtered. + * @param opts - Props to override. + */ +export function filterDOMProps( + props: DOMProps & AriaLabelingProps & { slot?: any }, + opts: Options = {} +): DOMProps & AriaLabelingProps { + const { labelable, propNames } = opts + const filteredProps: HTMLAttributes = {} + + for (const prop in props) { + if ( + Object.prototype.hasOwnProperty.call(props, prop) && + (DOMPropNames.has(prop) || + (labelable && labelablePropNames.has(prop)) || + propNames?.has(prop) || + propRe.test(prop)) + ) { + filteredProps[prop] = props[prop] + } + } + + return filteredProps +} diff --git a/libs/utils/src/lib/styleProps.ts b/libs/utils/src/lib/styleProps.ts index 53fd6bb..c586a1c 100644 --- a/libs/utils/src/lib/styleProps.ts +++ b/libs/utils/src/lib/styleProps.ts @@ -22,7 +22,7 @@ import { ResponsiveProp, StyleProps, ViewStyleProps -} from "@react-types/shared" +} from "@watheia/types" import { CSSProperties, HTMLAttributes } from "react" import { useBreakpoint } from "./BreakpointProvider" import { useLocale } from "@react-aria/i18n" @@ -157,11 +157,11 @@ export function dimensionValue(value: DimensionValue) { if (FUNC_RE.test(value)) { return value.replace( SPECTRUM_VARIABLE_RE, - "var(--spectrum-global-dimension-$&, var(--spectrum-alias-$&))" + "var(--wa-global-dimension-$&, var(--wa-alias-$&))" ) } - return `var(--spectrum-global-dimension-${value}, var(--spectrum-alias-${value}))` + return `var(--wa-global-dimension-${value}, var(--wa-alias-${value}))` } export function responsiveDimensionValue( @@ -174,11 +174,11 @@ export function responsiveDimensionValue( type ColorType = "default" | "background" | "border" | "icon" | "status" function colorValue(value: ColorValue, type: ColorType = "default") { - return `var(--spectrum-global-color-${value}, var(--spectrum-semantic-${value}-color-${type}))` + return `var(--wa-global-color-${value}, var(--wa-semantic-${value}-color-${type}))` } function backgroundColorValue(value: BackgroundColorValue) { - return `var(--spectrum-alias-background-color-${value}, ${colorValue( + return `var(--wa-alias-background-color-${value}, ${colorValue( value as ColorValue, "background" )})` @@ -186,21 +186,21 @@ function backgroundColorValue(value: BackgroundColorValue) { function borderColorValue(value: BorderColorValue) { if (value === "default") { - return "var(--spectrum-alias-border-color)" + return "var(--wa-alias-border-color)" } - return `var(--spectrum-alias-border-color-${value}, ${colorValue( + return `var(--wa-alias-border-color-${value}, ${colorValue( value as ColorValue, "border" )})` } function borderSizeValue(value: BorderSizeValue) { - return `var(--spectrum-alias-border-size-${value})` + return `var(--wa-alias-border-size-${value})` } function borderRadiusValue(value: BorderRadiusValue) { - return `var(--spectrum-alias-border-radius-${value})` + return `var(--wa-alias-border-radius-${value})` } function hiddenValue(value: boolean) { @@ -225,23 +225,25 @@ export function convertStyleProps( direction: Direction, matchedBreakpoints: Breakpoint[] ) { - let style: CSSProperties = {} - for (let key in props) { - let styleProp = handlers[key] + const style: CSSProperties = {} + for (const key in props) { + const styleProp = handlers[key] + // eslint-disable-next-line @typescript-eslint/ban-ts-comment //@ts-ignore if (!styleProp || props[key] == null) { continue } + // eslint-disable-next-line prefer-const let [name, convert] = styleProp if (typeof name === "function") { name = name(direction) } - let prop = getResponsiveProp(props[key], matchedBreakpoints) - let value = convert(prop) + const prop = getResponsiveProp(props[key], matchedBreakpoints) + const value = convert(prop) if (Array.isArray(name)) { - for (let k of name) { + for (const k of name) { style[k] = value } } else { @@ -249,7 +251,7 @@ export function convertStyleProps( } } - for (let prop in borderStyleProps) { + for (const prop in borderStyleProps) { if (style[prop]) { style[borderStyleProps[prop]] = "solid" style.boxSizing = "border-box" @@ -268,32 +270,35 @@ export function useStyleProps( handlers: StyleHandlers = baseStyleProps, options: StylePropsOptions = {} ) { - let { UNSAFE_className, UNSAFE_style, ...otherProps } = props - let breakpointProvider = useBreakpoint() - let { direction } = useLocale() - let { matchedBreakpoints = breakpointProvider?.matchedBreakpoints || ["base"] } = options - let styles = convertStyleProps(props, handlers, direction, matchedBreakpoints) - let style = { ...UNSAFE_style, ...styles } - + const { UNSAFE_className, UNSAFE_style, ...otherProps } = props + const breakpointProvider = useBreakpoint() + const { direction } = useLocale() + const { matchedBreakpoints = breakpointProvider?.matchedBreakpoints || ["base"] } = + options + const styles = convertStyleProps(props, handlers, direction, matchedBreakpoints) + const style = { ...UNSAFE_style, ...styles } + + // eslint-disable-next-line @typescript-eslint/ban-ts-comment // @ts-ignore if (otherProps.className) { console.warn( - "The className prop is unsafe and is unsupported in React Spectrum v3. " + - "Please use style props with Spectrum variables, or UNSAFE_className if you absolutely must do something custom. " + + "The className prop is unsafe and is unsupported in React Wa v3. " + + "Please use style props with Wa variables, or UNSAFE_className if you absolutely must do something custom. " + "Note that this may break in future versions due to DOM structure changes." ) } + // eslint-disable-next-line @typescript-eslint/ban-ts-comment // @ts-ignore if (otherProps.style) { console.warn( - "The style prop is unsafe and is unsupported in React Spectrum v3. " + - "Please use style props with Spectrum variables, or UNSAFE_style if you absolutely must do something custom. " + + "The style prop is unsafe and is unsupported in React Wa v3. " + + "Please use style props with Wa variables, or UNSAFE_style if you absolutely must do something custom. " + "Note that this may break in future versions due to DOM structure changes." ) } - let styleProps: HTMLAttributes = { + const styleProps: HTMLAttributes = { style, className: UNSAFE_className } @@ -317,7 +322,7 @@ export function getResponsiveProp( ): T { if (prop && typeof prop === "object" && !Array.isArray(prop)) { for (let i = 0; i < matchedBreakpoints.length; i++) { - let breakpoint = matchedBreakpoints[i] + const breakpoint = matchedBreakpoints[i] if (prop[breakpoint] != null) { return prop[breakpoint] } diff --git a/libs/utils/src/lib/useDOMRef.ts b/libs/utils/src/lib/useDOMRef.ts index 43c5d92..ba1456e 100644 --- a/libs/utils/src/lib/useDOMRef.ts +++ b/libs/utils/src/lib/useDOMRef.ts @@ -10,7 +10,7 @@ * governing permissions and limitations under the License. */ -import { DOMRef, DOMRefValue, FocusableRef, FocusableRefValue } from "@react-types/shared" +import { DOMRef, DOMRefValue, FocusableRef, FocusableRefValue } from "@watheia/types" import { RefObject, useImperativeHandle, useMemo, useRef } from "react" export function createDOMRef( diff --git a/package.json b/package.json index 2082364..4d0d299 100644 --- a/package.json +++ b/package.json @@ -38,6 +38,7 @@ "@react-spectrum/provider": "^3.2.2", "@spectrum-icons/ui": "^3.2.1", "@spectrum-icons/workflow": "^3.2.1", + "@storybook/react": "^6.3.12", "@supabase/supabase-js": "^1.25.2", "@supabase/ui": "^0.35.0", "@tailwindcss/aspect-ratio": "^0.3.0", @@ -49,7 +50,7 @@ "core-js": "^3.19.1", "date-fns": "^2.25.0", "gray-matter": "^4.0.3", - "next": "12.0.2", + "next": "12.0.3", "next-compose-plugins": "^2.2.1", "next-mdx-remote": "^3.0.7", "next-remote-watch": "^1.0.0", @@ -61,7 +62,7 @@ "react-datocms": "^1.6.6", "react-dom": "17.0.2", "react-markdown": "7.1.0", - "react-router-dom": "^6.0.0", + "react-router-dom": "^6.0.1", "regenerator-runtime": "0.13.9", "remark": "^14.0.1", "remark-html": "^15.0.0", @@ -70,8 +71,10 @@ "tslib": "^2.3.1" }, "devDependencies": { + "@babel/core": "7.12.13", + "@babel/preset-typescript": "7.12.13", "@emotion/babel-plugin": "11.3.0", - "@next/bundle-analyzer": "^12.0.2", + "@next/bundle-analyzer": "^12.0.3", "@nrwl/cli": "13.1.3", "@nrwl/cypress": "13.1.3", "@nrwl/eslint-plugin-nx": "13.1.3", @@ -81,27 +84,49 @@ "@nrwl/nx": "^7.8.7", "@nrwl/nx-cloud": "^12.5.2", "@nrwl/react": "13.1.3", + "@nrwl/storybook": "13.1.3", "@nrwl/tao": "13.1.3", "@nrwl/web": "13.1.3", "@nrwl/workspace": "13.1.3", - "@testing-library/react": "12.1.2", - "@testing-library/react-hooks": "7.0.2", + "@storybook/addon-a11y": "^6.3.12", + "@storybook/addon-actions": "^6.3.12", + "@storybook/addon-essentials": "~6.3.0", + "@storybook/addon-knobs": "^6.3.1", + "@storybook/addon-links": "^6.3.12", + "@storybook/builder-webpack5": "~6.3.0", + "@storybook/manager-webpack5": "~6.3.0", + "@storybook/react": "^6.3.12", + "@svgr/webpack": "^5.4.0", + "@testing-library/dom": "^8.11.0", + "@testing-library/jest-dom": "^5.15.0", + "@testing-library/react": "^12.1.2", + "@testing-library/react-hooks": "^3.7.0", + "@testing-library/user-event": "^12.8.3", "@types/history": "^4.7.9", - "@types/jest": "27.0.2", + "@types/jest": "^27.0.2", + "@types/mocha": "^9.0.0", "@types/node": "16.11.6", "@types/path-browserify": "^1.0.0", "@types/react": "17.0.34", "@types/react-dom": "17.0.11", "@types/react-router-dom": "^5.3.2", + "@types/storybook__react": "^5.2.1", "@typescript-eslint/eslint-plugin": "~5.3.0", "@typescript-eslint/parser": "~5.3.0", + "babel-eslint": "^10.1.0", "babel-jest": "27.3.1", + "babel-loader": "^8.2.3", + "babel-plugin-istanbul": "^6.1.1", + "babel-plugin-macros": "^3.1.0", "babel-plugin-module-resolver": "4.1.0", + "babel-plugin-react-remove-properties": "^0.3.0", + "babel-plugin-transform-glob-import": "^1.0.1", "cross-env": "^7.0.3", + "css-loader": "^6.5.1", "cypress": "^8.7.0", "dependency-cruiser": "^10.6.0", "eslint": "^7.32.0", - "eslint-config-next": "12.0.2", + "eslint-config-next": "12.0.3", "eslint-config-prettier": "8.3.0", "eslint-plugin-cypress": "^2.12.1", "eslint-plugin-import": "2.25.2", @@ -129,13 +154,18 @@ "postcss-svg": "^3.0.0", "prettier": "^2.4.1", "prisma": "3.4.1", + "sinon": "^12.0.1", + "storybook-dark-mode": "^1.0.8", + "style-loader": "^3.3.1", "stylelint": "^14.0.1", "stylelint-config-idiomatic-order": "^8.1.0", "stylelint-config-prettier": "^9.0.3", "stylelint-config-standard": "^23.0.0", "ts-jest": "27.0.7", "typescript": "~4.4.4", - "typescript-plugin-css-modules": "^3.4.0" + "typescript-plugin-css-modules": "^3.4.0", + "url-loader": "^4.1.1", + "walk-object": "^4.0.0" }, "packageManager": "yarn@3.1.0", "browserslist": [ diff --git a/tsconfig.base.json b/tsconfig.base.json index ee85b9f..e19d710 100644 --- a/tsconfig.base.json +++ b/tsconfig.base.json @@ -20,23 +20,16 @@ "checkJs": false, "baseUrl": ".", "paths": { + "@watheia/app.context": ["libs/context/src/index.tsx"], + "@watheia/app.testing.utils": ["libs/testing/utils/src/index.ts"], + "@watheia/app.ui.atoms.text": ["libs/ui/atoms/text/src/index.ts"], + "@watheia/app.ui.atoms.view": ["libs/ui/atoms/view/src/index.ts"], + "@watheia/app.ui.atoms.button": ["libs/ui/atoms/button/src/index.ts"], + "@watheia/app.ui.organisms.layout": ["libs/ui/organisms/layout/src/index.ts"], "@watheia/atoms": ["libs/ui/atoms/src/index.ts"], - "@watheia/context": ["libs/context/src/index.tsx"], "@watheia/layout": ["libs/ui/layout/src/index.ts"], "@watheia/theme": ["libs/theme/src/index.ts"], - "@watheia/theme.styles.common": [ - "libs/theme/src/styles/components/commons/index.css" - ], - "@watheia/theme.styles.button/*": ["libs/theme/src/styles/components/button/*"], - "@watheia/theme.styles.icon/*": ["libs/theme/src/styles/components/icon/*"], - "@watheia/theme.styles.image/*": ["libs/theme/src/styles/components/image/*"], - "@watheia/theme.styles.label/*": ["libs/theme/src/styles/components/label/*"], - "@watheia/theme.styles.link/*": ["libs/theme/src/styles/components/link/*"], - "@watheia/theme.styles.rule/*": ["libs/theme/src/styles/components/rule/*"], - "@watheia/theme.styles.typography/*": [ - "libs/theme/src/styles/components/typography/*" - ], - "@watheia/theme.styles.well/*": ["libs/theme/src/styles/components/well/*"], + "@watheia/theme.styles/*": ["libs/theme/src/styles/components/commons/*"], "@watheia/types": ["libs/types/src/index.ts"], "@watheia/utils": ["libs/utils/src/index.ts"] }, diff --git a/workspace.json b/workspace.json index 04275c8..572c1c9 100644 --- a/workspace.json +++ b/workspace.json @@ -2,10 +2,17 @@ "version": 2, "projects": { "context": "libs/context", + "testing-utils": "libs/testing/utils", "theme": "libs/theme", "types": "libs/types", - "ui-atoms": "libs/ui/atoms", - "ui-layout": "libs/ui/layout", + "ui-atoms-button": "libs/ui/atoms/button", + "ui-atoms-button-e2e": "apps/ui-atoms-button-e2e", + "ui-atoms-text": "libs/ui/atoms/text", + "ui-atoms-text-e2e": "apps/ui-atoms-text-e2e", + "ui-atoms-view": "libs/ui/atoms/view", + "ui-atoms-view-e2e": "apps/ui-atoms-view-e2e", + "ui-organisms-layout": "libs/ui/organisms/layout", + "ui-organisms-layout-e2e": "apps/ui-organisms-layout-e2e", "utils": "libs/utils", "web": "apps/web", "web-e2e": "apps/web-e2e" diff --git a/yarn.lock b/yarn.lock index cddce98..9896785 100644 --- a/yarn.lock +++ b/yarn.lock @@ -38,6 +38,15 @@ __metadata: languageName: node linkType: hard +"@babel/code-frame@npm:7.10.4": + version: 7.10.4 + resolution: "@babel/code-frame@npm:7.10.4" + dependencies: + "@babel/highlight": ^7.10.4 + checksum: feb4543c8a509fe30f0f6e8d7aa84f82b41148b963b826cd330e34986f649a85cb63b2f13dd4effdf434ac555d16f14940b8ea5f4433297c2f5ff85486ded019 + languageName: node + linkType: hard + "@babel/code-frame@npm:7.12.11": version: 7.12.11 resolution: "@babel/code-frame@npm:7.12.11" @@ -47,7 +56,7 @@ __metadata: languageName: node linkType: hard -"@babel/code-frame@npm:^7.0.0, @babel/code-frame@npm:^7.10.4, @babel/code-frame@npm:^7.12.13, @babel/code-frame@npm:^7.16.0, @babel/code-frame@npm:^7.8.3": +"@babel/code-frame@npm:^7.0.0, @babel/code-frame@npm:^7.10.4, @babel/code-frame@npm:^7.12.13, @babel/code-frame@npm:^7.16.0, @babel/code-frame@npm:^7.5.5, @babel/code-frame@npm:^7.8.3": version: 7.16.0 resolution: "@babel/code-frame@npm:7.16.0" dependencies: @@ -63,6 +72,29 @@ __metadata: languageName: node linkType: hard +"@babel/core@npm:7.12.13": + version: 7.12.13 + resolution: "@babel/core@npm:7.12.13" + dependencies: + "@babel/code-frame": ^7.12.13 + "@babel/generator": ^7.12.13 + "@babel/helper-module-transforms": ^7.12.13 + "@babel/helpers": ^7.12.13 + "@babel/parser": ^7.12.13 + "@babel/template": ^7.12.13 + "@babel/traverse": ^7.12.13 + "@babel/types": ^7.12.13 + convert-source-map: ^1.7.0 + debug: ^4.1.0 + gensync: ^1.0.0-beta.1 + json5: ^2.1.2 + lodash: ^4.17.19 + semver: ^5.4.1 + source-map: ^0.5.0 + checksum: a3d4312e55220f1bf37d750fdab84ae51fec69ec9579d1820fea373d74e8d0592f32a129478aa8df27061125ca27eb59aa627274a1b6b43ba464f15f0e26fdd7 + languageName: node + linkType: hard + "@babel/core@npm:7.12.9": version: 7.12.9 resolution: "@babel/core@npm:7.12.9" @@ -87,7 +119,7 @@ __metadata: languageName: node linkType: hard -"@babel/core@npm:^7.1.0, @babel/core@npm:^7.11.1, @babel/core@npm:^7.12.3, @babel/core@npm:^7.15.0, @babel/core@npm:^7.7.2, @babel/core@npm:^7.7.5": +"@babel/core@npm:^7.1.0, @babel/core@npm:^7.11.1, @babel/core@npm:^7.12.10, @babel/core@npm:^7.12.3, @babel/core@npm:^7.15.0, @babel/core@npm:^7.7.2, @babel/core@npm:^7.7.5": version: 7.16.0 resolution: "@babel/core@npm:7.16.0" dependencies: @@ -110,7 +142,7 @@ __metadata: languageName: node linkType: hard -"@babel/generator@npm:^7.12.5, @babel/generator@npm:^7.16.0, @babel/generator@npm:^7.5.0, @babel/generator@npm:^7.7.2": +"@babel/generator@npm:^7.12.11, @babel/generator@npm:^7.12.13, @babel/generator@npm:^7.12.5, @babel/generator@npm:^7.16.0, @babel/generator@npm:^7.5.0, @babel/generator@npm:^7.7.2": version: 7.16.0 resolution: "@babel/generator@npm:7.16.0" dependencies: @@ -182,6 +214,24 @@ __metadata: languageName: node linkType: hard +"@babel/helper-define-polyfill-provider@npm:^0.1.5": + version: 0.1.5 + resolution: "@babel/helper-define-polyfill-provider@npm:0.1.5" + dependencies: + "@babel/helper-compilation-targets": ^7.13.0 + "@babel/helper-module-imports": ^7.12.13 + "@babel/helper-plugin-utils": ^7.13.0 + "@babel/traverse": ^7.13.0 + debug: ^4.1.1 + lodash.debounce: ^4.0.8 + resolve: ^1.14.2 + semver: ^6.1.2 + peerDependencies: + "@babel/core": ^7.4.0-0 + checksum: 6f8b61b41730bedc9c4511035b7f2407ea30176c379107dd735aac7d010317a99171bf420959ba37418fb8a857dac7c0e36e1c8576a6560bdd9b690eb4314a95 + languageName: node + linkType: hard + "@babel/helper-define-polyfill-provider@npm:^0.2.4": version: 0.2.4 resolution: "@babel/helper-define-polyfill-provider@npm:0.2.4" @@ -247,7 +297,7 @@ __metadata: languageName: node linkType: hard -"@babel/helper-module-imports@npm:^7.10.4, @babel/helper-module-imports@npm:^7.12.13, @babel/helper-module-imports@npm:^7.16.0": +"@babel/helper-module-imports@npm:^7.0.0, @babel/helper-module-imports@npm:^7.10.4, @babel/helper-module-imports@npm:^7.12.13, @babel/helper-module-imports@npm:^7.16.0": version: 7.16.0 resolution: "@babel/helper-module-imports@npm:7.16.0" dependencies: @@ -256,7 +306,7 @@ __metadata: languageName: node linkType: hard -"@babel/helper-module-transforms@npm:^7.12.1, @babel/helper-module-transforms@npm:^7.16.0": +"@babel/helper-module-transforms@npm:^7.12.1, @babel/helper-module-transforms@npm:^7.12.13, @babel/helper-module-transforms@npm:^7.16.0": version: 7.16.0 resolution: "@babel/helper-module-transforms@npm:7.16.0" dependencies: @@ -352,7 +402,7 @@ __metadata: languageName: node linkType: hard -"@babel/helper-validator-option@npm:^7.14.5": +"@babel/helper-validator-option@npm:^7.12.11, @babel/helper-validator-option@npm:^7.14.5": version: 7.14.5 resolution: "@babel/helper-validator-option@npm:7.14.5" checksum: 1b25c34a5cb3d8602280f33b9ab687d2a77895e3616458d0f70ddc450ada9b05e342c44f322bc741d51b252e84cff6ec44ae93d622a3354828579a643556b523 @@ -371,7 +421,7 @@ __metadata: languageName: node linkType: hard -"@babel/helpers@npm:^7.12.5, @babel/helpers@npm:^7.16.0": +"@babel/helpers@npm:^7.12.13, @babel/helpers@npm:^7.12.5, @babel/helpers@npm:^7.16.0": version: 7.16.0 resolution: "@babel/helpers@npm:7.16.0" dependencies: @@ -393,7 +443,7 @@ __metadata: languageName: node linkType: hard -"@babel/parser@npm:^7.1.0, @babel/parser@npm:^7.12.7, @babel/parser@npm:^7.14.7, @babel/parser@npm:^7.16.0, @babel/parser@npm:^7.7.2": +"@babel/parser@npm:^7.1.0, @babel/parser@npm:^7.12.11, @babel/parser@npm:^7.12.13, @babel/parser@npm:^7.12.7, @babel/parser@npm:^7.14.7, @babel/parser@npm:^7.16.0, @babel/parser@npm:^7.7.0, @babel/parser@npm:^7.7.2": version: 7.16.2 resolution: "@babel/parser@npm:7.16.2" bin: @@ -439,7 +489,7 @@ __metadata: languageName: node linkType: hard -"@babel/plugin-proposal-class-properties@npm:^7.14.5, @babel/plugin-proposal-class-properties@npm:^7.16.0": +"@babel/plugin-proposal-class-properties@npm:^7.12.1, @babel/plugin-proposal-class-properties@npm:^7.14.5, @babel/plugin-proposal-class-properties@npm:^7.16.0": version: 7.16.0 resolution: "@babel/plugin-proposal-class-properties@npm:7.16.0" dependencies: @@ -464,7 +514,7 @@ __metadata: languageName: node linkType: hard -"@babel/plugin-proposal-decorators@npm:^7.14.5": +"@babel/plugin-proposal-decorators@npm:^7.12.12, @babel/plugin-proposal-decorators@npm:^7.14.5": version: 7.16.0 resolution: "@babel/plugin-proposal-decorators@npm:7.16.0" dependencies: @@ -489,6 +539,18 @@ __metadata: languageName: node linkType: hard +"@babel/plugin-proposal-export-default-from@npm:^7.12.1": + version: 7.16.0 + resolution: "@babel/plugin-proposal-export-default-from@npm:7.16.0" + dependencies: + "@babel/helper-plugin-utils": ^7.14.5 + "@babel/plugin-syntax-export-default-from": ^7.16.0 + peerDependencies: + "@babel/core": ^7.0.0-0 + checksum: d15771042f45e19dab72b74eb325ea8ccd2ff2ebbbd34782dcc3cb3927b8587ec03b79d2c48f43d5efb7a974229e13bc6415be798c4cba929b1ad206c21d7734 + languageName: node + linkType: hard + "@babel/plugin-proposal-export-namespace-from@npm:^7.16.0": version: 7.16.0 resolution: "@babel/plugin-proposal-export-namespace-from@npm:7.16.0" @@ -525,7 +587,7 @@ __metadata: languageName: node linkType: hard -"@babel/plugin-proposal-nullish-coalescing-operator@npm:^7.16.0": +"@babel/plugin-proposal-nullish-coalescing-operator@npm:^7.12.1, @babel/plugin-proposal-nullish-coalescing-operator@npm:^7.16.0": version: 7.16.0 resolution: "@babel/plugin-proposal-nullish-coalescing-operator@npm:7.16.0" dependencies: @@ -562,7 +624,7 @@ __metadata: languageName: node linkType: hard -"@babel/plugin-proposal-object-rest-spread@npm:^7.16.0": +"@babel/plugin-proposal-object-rest-spread@npm:^7.12.1, @babel/plugin-proposal-object-rest-spread@npm:^7.16.0": version: 7.16.0 resolution: "@babel/plugin-proposal-object-rest-spread@npm:7.16.0" dependencies: @@ -589,7 +651,7 @@ __metadata: languageName: node linkType: hard -"@babel/plugin-proposal-optional-chaining@npm:^7.16.0": +"@babel/plugin-proposal-optional-chaining@npm:^7.12.7, @babel/plugin-proposal-optional-chaining@npm:^7.16.0": version: 7.16.0 resolution: "@babel/plugin-proposal-optional-chaining@npm:7.16.0" dependencies: @@ -602,7 +664,7 @@ __metadata: languageName: node linkType: hard -"@babel/plugin-proposal-private-methods@npm:^7.16.0": +"@babel/plugin-proposal-private-methods@npm:^7.12.1, @babel/plugin-proposal-private-methods@npm:^7.16.0": version: 7.16.0 resolution: "@babel/plugin-proposal-private-methods@npm:7.16.0" dependencies: @@ -706,6 +768,17 @@ __metadata: languageName: node linkType: hard +"@babel/plugin-syntax-export-default-from@npm:^7.16.0": + version: 7.16.0 + resolution: "@babel/plugin-syntax-export-default-from@npm:7.16.0" + dependencies: + "@babel/helper-plugin-utils": ^7.14.5 + peerDependencies: + "@babel/core": ^7.0.0-0 + checksum: 3506933e5932b018f78540870c442880412bd682b5d846b1a93bb64ce134e7f6ec8fe7f8c70bebfa44f6eca5a549cc2c68cfc61e7c8288cfe7a3192c525d67be + languageName: node + linkType: hard + "@babel/plugin-syntax-export-namespace-from@npm:^7.8.3": version: 7.8.3 resolution: "@babel/plugin-syntax-export-namespace-from@npm:7.8.3" @@ -717,6 +790,17 @@ __metadata: languageName: node linkType: hard +"@babel/plugin-syntax-flow@npm:^7.16.0": + version: 7.16.0 + resolution: "@babel/plugin-syntax-flow@npm:7.16.0" + dependencies: + "@babel/helper-plugin-utils": ^7.14.5 + peerDependencies: + "@babel/core": ^7.0.0-0 + checksum: 21ce1b81581ef3c2a36a8342c9bfea2783115479d6833a25ef82055d6113562ebfef2b8a46dd13d9be94168bdcb0e77a5ca0aad917dab6225bfb6506970e2d81 + languageName: node + linkType: hard + "@babel/plugin-syntax-import-meta@npm:^7.8.3": version: 7.10.4 resolution: "@babel/plugin-syntax-import-meta@npm:7.10.4" @@ -871,7 +955,7 @@ __metadata: languageName: node linkType: hard -"@babel/plugin-transform-arrow-functions@npm:^7.16.0": +"@babel/plugin-transform-arrow-functions@npm:^7.12.1, @babel/plugin-transform-arrow-functions@npm:^7.16.0": version: 7.16.0 resolution: "@babel/plugin-transform-arrow-functions@npm:7.16.0" dependencies: @@ -906,7 +990,7 @@ __metadata: languageName: node linkType: hard -"@babel/plugin-transform-block-scoping@npm:^7.16.0": +"@babel/plugin-transform-block-scoping@npm:^7.12.12, @babel/plugin-transform-block-scoping@npm:^7.16.0": version: 7.16.0 resolution: "@babel/plugin-transform-block-scoping@npm:7.16.0" dependencies: @@ -917,7 +1001,7 @@ __metadata: languageName: node linkType: hard -"@babel/plugin-transform-classes@npm:^7.16.0": +"@babel/plugin-transform-classes@npm:^7.12.1, @babel/plugin-transform-classes@npm:^7.16.0": version: 7.16.0 resolution: "@babel/plugin-transform-classes@npm:7.16.0" dependencies: @@ -945,7 +1029,7 @@ __metadata: languageName: node linkType: hard -"@babel/plugin-transform-destructuring@npm:^7.16.0": +"@babel/plugin-transform-destructuring@npm:^7.12.1, @babel/plugin-transform-destructuring@npm:^7.16.0": version: 7.16.0 resolution: "@babel/plugin-transform-destructuring@npm:7.16.0" dependencies: @@ -991,7 +1075,19 @@ __metadata: languageName: node linkType: hard -"@babel/plugin-transform-for-of@npm:^7.16.0": +"@babel/plugin-transform-flow-strip-types@npm:^7.16.0": + version: 7.16.0 + resolution: "@babel/plugin-transform-flow-strip-types@npm:7.16.0" + dependencies: + "@babel/helper-plugin-utils": ^7.14.5 + "@babel/plugin-syntax-flow": ^7.16.0 + peerDependencies: + "@babel/core": ^7.0.0-0 + checksum: 589f65e8da13c710ee37ba01b6cfbeaa8ea2ee4bc150a1c3739403b78deeff43da766152014e74dda5c04ab14e3ad354c52dbb008f999bc3449a09e44032d216 + languageName: node + linkType: hard + +"@babel/plugin-transform-for-of@npm:^7.12.1, @babel/plugin-transform-for-of@npm:^7.16.0": version: 7.16.0 resolution: "@babel/plugin-transform-for-of@npm:7.16.0" dependencies: @@ -1179,7 +1275,7 @@ __metadata: languageName: node linkType: hard -"@babel/plugin-transform-react-jsx@npm:^7.16.0": +"@babel/plugin-transform-react-jsx@npm:^7.12.12, @babel/plugin-transform-react-jsx@npm:^7.16.0": version: 7.16.0 resolution: "@babel/plugin-transform-react-jsx@npm:7.16.0" dependencies: @@ -1244,7 +1340,7 @@ __metadata: languageName: node linkType: hard -"@babel/plugin-transform-shorthand-properties@npm:^7.16.0": +"@babel/plugin-transform-shorthand-properties@npm:^7.12.1, @babel/plugin-transform-shorthand-properties@npm:^7.16.0": version: 7.16.0 resolution: "@babel/plugin-transform-shorthand-properties@npm:7.16.0" dependencies: @@ -1255,7 +1351,7 @@ __metadata: languageName: node linkType: hard -"@babel/plugin-transform-spread@npm:^7.16.0": +"@babel/plugin-transform-spread@npm:^7.12.1, @babel/plugin-transform-spread@npm:^7.16.0": version: 7.16.0 resolution: "@babel/plugin-transform-spread@npm:7.16.0" dependencies: @@ -1278,7 +1374,7 @@ __metadata: languageName: node linkType: hard -"@babel/plugin-transform-template-literals@npm:^7.16.0": +"@babel/plugin-transform-template-literals@npm:^7.12.1, @babel/plugin-transform-template-literals@npm:^7.16.0": version: 7.16.0 resolution: "@babel/plugin-transform-template-literals@npm:7.16.0" dependencies: @@ -1300,7 +1396,7 @@ __metadata: languageName: node linkType: hard -"@babel/plugin-transform-typescript@npm:^7.16.0": +"@babel/plugin-transform-typescript@npm:^7.12.13, @babel/plugin-transform-typescript@npm:^7.16.0": version: 7.16.1 resolution: "@babel/plugin-transform-typescript@npm:7.16.1" dependencies: @@ -1336,7 +1432,7 @@ __metadata: languageName: node linkType: hard -"@babel/preset-env@npm:^7.11.0, @babel/preset-env@npm:^7.12.1, @babel/preset-env@npm:^7.15.0": +"@babel/preset-env@npm:^7.11.0, @babel/preset-env@npm:^7.12.1, @babel/preset-env@npm:^7.12.11, @babel/preset-env@npm:^7.15.0": version: 7.16.0 resolution: "@babel/preset-env@npm:7.16.0" dependencies: @@ -1420,6 +1516,19 @@ __metadata: languageName: node linkType: hard +"@babel/preset-flow@npm:^7.12.1": + version: 7.16.0 + resolution: "@babel/preset-flow@npm:7.16.0" + dependencies: + "@babel/helper-plugin-utils": ^7.14.5 + "@babel/helper-validator-option": ^7.14.5 + "@babel/plugin-transform-flow-strip-types": ^7.16.0 + peerDependencies: + "@babel/core": ^7.0.0-0 + checksum: 4417293f64d171bd4f063b2acdf7e88850ef15e1c72b4730798f7feb813785e1318bad6ae4c6bdb8d78b43a349be3e343e9d7902dc7a5b95a91abd53efe14904 + languageName: node + linkType: hard + "@babel/preset-modules@npm:^0.1.5": version: 0.1.5 resolution: "@babel/preset-modules@npm:0.1.5" @@ -1435,7 +1544,7 @@ __metadata: languageName: node linkType: hard -"@babel/preset-react@npm:^7.12.5, @babel/preset-react@npm:^7.14.5": +"@babel/preset-react@npm:^7.12.10, @babel/preset-react@npm:^7.12.5, @babel/preset-react@npm:^7.14.5": version: 7.16.0 resolution: "@babel/preset-react@npm:7.16.0" dependencies: @@ -1451,7 +1560,20 @@ __metadata: languageName: node linkType: hard -"@babel/preset-typescript@npm:^7.15.0": +"@babel/preset-typescript@npm:7.12.13": + version: 7.12.13 + resolution: "@babel/preset-typescript@npm:7.12.13" + dependencies: + "@babel/helper-plugin-utils": ^7.12.13 + "@babel/helper-validator-option": ^7.12.11 + "@babel/plugin-transform-typescript": ^7.12.13 + peerDependencies: + "@babel/core": ^7.0.0-0 + checksum: 5d172e560432df9364a2aad77d6f403504d28fda29d39620eeb90d1c38a40e5fae3bc94011624b6378f8ac4db0dd673e96ff1d962b6f6c134c556221b594cd14 + languageName: node + linkType: hard + +"@babel/preset-typescript@npm:^7.12.7, @babel/preset-typescript@npm:^7.15.0": version: 7.16.0 resolution: "@babel/preset-typescript@npm:7.16.0" dependencies: @@ -1464,6 +1586,21 @@ __metadata: languageName: node linkType: hard +"@babel/register@npm:^7.12.1": + version: 7.16.0 + resolution: "@babel/register@npm:7.16.0" + dependencies: + clone-deep: ^4.0.1 + find-cache-dir: ^2.0.0 + make-dir: ^2.1.0 + pirates: ^4.0.0 + source-map-support: ^0.5.16 + peerDependencies: + "@babel/core": ^7.0.0-0 + checksum: 85f661da2692ec9afd156f880ebb941e17337e33f5eb387d8bf8071e37b77647b2be7e08871887622b139db24f560ba8e9eb8b5fcaa9a8138b27714f05548254 + languageName: node + linkType: hard + "@babel/runtime-corejs3@npm:^7.10.2": version: 7.16.0 resolution: "@babel/runtime-corejs3@npm:7.16.0" @@ -1483,7 +1620,7 @@ __metadata: languageName: node linkType: hard -"@babel/runtime@npm:^7.1.2, @babel/runtime@npm:^7.10.2, @babel/runtime@npm:^7.11.2, @babel/runtime@npm:^7.12.5, @babel/runtime@npm:^7.13.10, @babel/runtime@npm:^7.14.8, @babel/runtime@npm:^7.6.2, @babel/runtime@npm:^7.7.2, @babel/runtime@npm:^7.7.6, @babel/runtime@npm:^7.8.4": +"@babel/runtime@npm:^7.0.0, @babel/runtime@npm:^7.1.2, @babel/runtime@npm:^7.10.2, @babel/runtime@npm:^7.11.2, @babel/runtime@npm:^7.12.5, @babel/runtime@npm:^7.13.10, @babel/runtime@npm:^7.14.0, @babel/runtime@npm:^7.14.8, @babel/runtime@npm:^7.3.1, @babel/runtime@npm:^7.4.4, @babel/runtime@npm:^7.5.0, @babel/runtime@npm:^7.5.5, @babel/runtime@npm:^7.6.2, @babel/runtime@npm:^7.7.2, @babel/runtime@npm:^7.7.6, @babel/runtime@npm:^7.8.4, @babel/runtime@npm:^7.8.7, @babel/runtime@npm:^7.9.2": version: 7.16.0 resolution: "@babel/runtime@npm:7.16.0" dependencies: @@ -1492,7 +1629,7 @@ __metadata: languageName: node linkType: hard -"@babel/template@npm:^7.12.7, @babel/template@npm:^7.16.0, @babel/template@npm:^7.3.3": +"@babel/template@npm:^7.12.13, @babel/template@npm:^7.12.7, @babel/template@npm:^7.16.0, @babel/template@npm:^7.3.3": version: 7.16.0 resolution: "@babel/template@npm:7.16.0" dependencies: @@ -1503,7 +1640,7 @@ __metadata: languageName: node linkType: hard -"@babel/traverse@npm:^7.1.0, @babel/traverse@npm:^7.12.9, @babel/traverse@npm:^7.13.0, @babel/traverse@npm:^7.16.0, @babel/traverse@npm:^7.7.2": +"@babel/traverse@npm:^7.1.0, @babel/traverse@npm:^7.1.6, @babel/traverse@npm:^7.12.11, @babel/traverse@npm:^7.12.13, @babel/traverse@npm:^7.12.9, @babel/traverse@npm:^7.13.0, @babel/traverse@npm:^7.16.0, @babel/traverse@npm:^7.7.0, @babel/traverse@npm:^7.7.2": version: 7.16.0 resolution: "@babel/traverse@npm:7.16.0" dependencies: @@ -1530,7 +1667,7 @@ __metadata: languageName: node linkType: hard -"@babel/types@npm:^7.0.0, @babel/types@npm:^7.12.6, @babel/types@npm:^7.12.7, @babel/types@npm:^7.16.0, @babel/types@npm:^7.3.0, @babel/types@npm:^7.3.3, @babel/types@npm:^7.4.4, @babel/types@npm:^7.8.3": +"@babel/types@npm:^7.0.0, @babel/types@npm:^7.12.11, @babel/types@npm:^7.12.13, @babel/types@npm:^7.12.6, @babel/types@npm:^7.12.7, @babel/types@npm:^7.16.0, @babel/types@npm:^7.2.0, @babel/types@npm:^7.3.0, @babel/types@npm:^7.3.3, @babel/types@npm:^7.4.4, @babel/types@npm:^7.7.0, @babel/types@npm:^7.8.3": version: 7.16.0 resolution: "@babel/types@npm:7.16.0" dependencies: @@ -1540,6 +1677,13 @@ __metadata: languageName: node linkType: hard +"@base2/pretty-print-object@npm:1.0.1": + version: 1.0.1 + resolution: "@base2/pretty-print-object@npm:1.0.1" + checksum: 1e8a5af578037a9d47d72f815983f9e4efb038e5f03e7635fc893194c5daa723215d71af33267893a9b618656c8eaea7be931b1c063c9b066a40994be0d23545 + languageName: node + linkType: hard + "@bcoe/v8-coverage@npm:^0.2.3": version: 0.2.3 resolution: "@bcoe/v8-coverage@npm:0.2.3" @@ -1547,6 +1691,18 @@ __metadata: languageName: node linkType: hard +"@cnakazawa/watch@npm:^1.0.3": + version: 1.0.4 + resolution: "@cnakazawa/watch@npm:1.0.4" + dependencies: + exec-sh: ^0.3.2 + minimist: ^1.2.0 + bin: + watch: cli.js + checksum: 88f395ca0af2f3c0665b8ce7bb29e83647ec5d141e8735712aeeee4117081555436712966b6957aa1c461f6f826a4d23b0034e379c443a10e919f81c8748bf29 + languageName: node + linkType: hard + "@csstools/convert-colors@npm:^1.4.0": version: 1.4.0 resolution: "@csstools/convert-colors@npm:1.4.0" @@ -1607,6 +1763,13 @@ __metadata: languageName: node linkType: hard +"@discoveryjs/json-ext@npm:^0.5.3": + version: 0.5.5 + resolution: "@discoveryjs/json-ext@npm:0.5.5" + checksum: 40844548d87689d742a098c3bfe342cc7f0d0500a814fce4592886de68f7e027937938324578311998d49a1f1e5d0394c578bb814fab04375b521637cb7a0dea + languageName: node + linkType: hard + "@emotion/babel-plugin@npm:11.3.0, @emotion/babel-plugin@npm:^11.3.0": version: 11.3.0 resolution: "@emotion/babel-plugin@npm:11.3.0" @@ -1629,6 +1792,18 @@ __metadata: languageName: node linkType: hard +"@emotion/cache@npm:^10.0.27, @emotion/cache@npm:^10.0.9": + version: 10.0.29 + resolution: "@emotion/cache@npm:10.0.29" + dependencies: + "@emotion/sheet": 0.9.4 + "@emotion/stylis": 0.8.5 + "@emotion/utils": 0.11.3 + "@emotion/weak-memoize": 0.2.5 + checksum: 78b37fb0c2e513c90143a927abef229e995b6738ef8a92ce17abe2ed409b38859ddda7c14d7f4854d6f4e450b6db50231532f53a7fec4903d7ae775b2ae3fd64 + languageName: node + linkType: hard + "@emotion/cache@npm:^11.5.0": version: 11.5.0 resolution: "@emotion/cache@npm:11.5.0" @@ -1642,13 +1817,49 @@ __metadata: languageName: node linkType: hard -"@emotion/hash@npm:^0.8.0": +"@emotion/core@npm:^10.0.9, @emotion/core@npm:^10.1.1": + version: 10.1.1 + resolution: "@emotion/core@npm:10.1.1" + dependencies: + "@babel/runtime": ^7.5.5 + "@emotion/cache": ^10.0.27 + "@emotion/css": ^10.0.27 + "@emotion/serialize": ^0.11.15 + "@emotion/sheet": 0.9.4 + "@emotion/utils": 0.11.3 + peerDependencies: + react: ">=16.3.0" + checksum: 277cec7b7c4e059d118b6ac374fbe014be0a50798a7fb5255a62914533b5ecb158c4deeb4611ed2ffe0528d2bb4aa5bd71a62e9793852ffee5ad658b1414c969 + languageName: node + linkType: hard + +"@emotion/css@npm:^10.0.27, @emotion/css@npm:^10.0.9": + version: 10.0.27 + resolution: "@emotion/css@npm:10.0.27" + dependencies: + "@emotion/serialize": ^0.11.15 + "@emotion/utils": 0.11.3 + babel-plugin-emotion: ^10.0.27 + checksum: 1420f5b514fc3a8500bcf90384b309b0d9acc9f687ec3a655166b55dc81d1661d6b6132ea6fe6730d0071c10da93bf9427937c22a90a18088af4ba5e11d59141 + languageName: node + linkType: hard + +"@emotion/hash@npm:0.8.0, @emotion/hash@npm:^0.8.0": version: 0.8.0 resolution: "@emotion/hash@npm:0.8.0" checksum: 4b35d88a97e67275c1d990c96d3b0450451d089d1508619488fc0acb882cb1ac91e93246d471346ebd1b5402215941ef4162efe5b51534859b39d8b3a0e3ffaa languageName: node linkType: hard +"@emotion/is-prop-valid@npm:0.8.8, @emotion/is-prop-valid@npm:^0.8.6": + version: 0.8.8 + resolution: "@emotion/is-prop-valid@npm:0.8.8" + dependencies: + "@emotion/memoize": 0.7.4 + checksum: bb7ec6d48c572c540e24e47cc94fc2f8dec2d6a342ae97bc9c8b6388d9b8d283862672172a1bb62d335c02662afe6291e10c71e9b8642664a8b43416cdceffac + languageName: node + linkType: hard + "@emotion/is-prop-valid@npm:^1.1.0": version: 1.1.0 resolution: "@emotion/is-prop-valid@npm:1.1.0" @@ -1658,6 +1869,13 @@ __metadata: languageName: node linkType: hard +"@emotion/memoize@npm:0.7.4": + version: 0.7.4 + resolution: "@emotion/memoize@npm:0.7.4" + checksum: 4e3920d4ec95995657a37beb43d3f4b7d89fed6caa2b173a4c04d10482d089d5c3ea50bbc96618d918b020f26ed6e9c4026bbd45433566576c1f7b056c3271dc + languageName: node + linkType: hard + "@emotion/memoize@npm:^0.7.4, @emotion/memoize@npm:^0.7.5": version: 0.7.5 resolution: "@emotion/memoize@npm:0.7.5" @@ -1688,6 +1906,19 @@ __metadata: languageName: node linkType: hard +"@emotion/serialize@npm:^0.11.15, @emotion/serialize@npm:^0.11.16": + version: 0.11.16 + resolution: "@emotion/serialize@npm:0.11.16" + dependencies: + "@emotion/hash": 0.8.0 + "@emotion/memoize": 0.7.4 + "@emotion/unitless": 0.7.5 + "@emotion/utils": 0.11.3 + csstype: ^2.5.7 + checksum: 2949832fab9d803e6236f2af6aad021c09c6b6722ae910b06b4ec3bfb84d77cbecfe3eab9a7dcc269ac73e672ef4b696c7836825931670cb110731712e331438 + languageName: node + linkType: hard + "@emotion/serialize@npm:^1.0.2": version: 1.0.2 resolution: "@emotion/serialize@npm:1.0.2" @@ -1718,6 +1949,13 @@ __metadata: languageName: node linkType: hard +"@emotion/sheet@npm:0.9.4": + version: 0.9.4 + resolution: "@emotion/sheet@npm:0.9.4" + checksum: 53bb833b4bb69ea2af04e1ecad164f78fb2614834d2820f584c909686a8e047c44e96a6e824798c5c558e6d95e10772454a9e5c473c5dbe0d198e50deb2815bc + languageName: node + linkType: hard + "@emotion/sheet@npm:^1.0.3": version: 1.0.3 resolution: "@emotion/sheet@npm:1.0.3" @@ -1725,6 +1963,34 @@ __metadata: languageName: node linkType: hard +"@emotion/styled-base@npm:^10.0.27": + version: 10.0.31 + resolution: "@emotion/styled-base@npm:10.0.31" + dependencies: + "@babel/runtime": ^7.5.5 + "@emotion/is-prop-valid": 0.8.8 + "@emotion/serialize": ^0.11.15 + "@emotion/utils": 0.11.3 + peerDependencies: + "@emotion/core": ^10.0.28 + react: ">=16.3.0" + checksum: a375c406656bb65347a0d39adc4ccb493478dea5c9564b379888700006727d7fabec5f883f620ba066bb7b9c71b7ab256c4dfd80c1c3274ab09745d07feab9e7 + languageName: node + linkType: hard + +"@emotion/styled@npm:^10.0.27": + version: 10.0.27 + resolution: "@emotion/styled@npm:10.0.27" + dependencies: + "@emotion/styled-base": ^10.0.27 + babel-plugin-emotion: ^10.0.27 + peerDependencies: + "@emotion/core": ^10.0.27 + react: ">=16.3.0" + checksum: 09e86fe47adbca1eabb34f36cee17289fbe1f2332c40051d4d5a6077eed1682612685663efb7fd68a8f290d20f9f5cb6ad1c9ca18dcdfc05ee51784d707d279c + languageName: node + linkType: hard + "@emotion/styled@npm:^11.3.0": version: 11.3.0 resolution: "@emotion/styled@npm:11.3.0" @@ -1747,13 +2013,27 @@ __metadata: languageName: node linkType: hard -"@emotion/unitless@npm:^0.7.5": +"@emotion/stylis@npm:0.8.5": + version: 0.8.5 + resolution: "@emotion/stylis@npm:0.8.5" + checksum: 67ff5958449b2374b329fb96e83cb9025775ffe1e79153b499537c6c8b2eb64b77f32d7b5d004d646973662356ceb646afd9269001b97c54439fceea3203ce65 + languageName: node + linkType: hard + +"@emotion/unitless@npm:0.7.5, @emotion/unitless@npm:^0.7.5": version: 0.7.5 resolution: "@emotion/unitless@npm:0.7.5" checksum: f976e5345b53fae9414a7b2e7a949aa6b52f8bdbcc84458b1ddc0729e77ba1d1dfdff9960e0da60183877873d3a631fa24d9695dd714ed94bcd3ba5196586a6b languageName: node linkType: hard +"@emotion/utils@npm:0.11.3": + version: 0.11.3 + resolution: "@emotion/utils@npm:0.11.3" + checksum: 9c4204bda84f9acd153a9be9478a83f9baa74d5d7a4c21882681c4d1b86cd113b84540cb1f92e1c30313b5075f024da2658dbc553f5b00776ef9b6ec7991c0c9 + languageName: node + linkType: hard + "@emotion/utils@npm:^1.0.0": version: 1.0.0 resolution: "@emotion/utils@npm:1.0.0" @@ -1761,7 +2041,7 @@ __metadata: languageName: node linkType: hard -"@emotion/weak-memoize@npm:^0.2.5": +"@emotion/weak-memoize@npm:0.2.5, @emotion/weak-memoize@npm:^0.2.5": version: 0.2.5 resolution: "@emotion/weak-memoize@npm:0.2.5" checksum: 27d402b0c683b94658220b6d47840346ee582329ca2a15ec9c233492e0f1a27687ccb233b76eedc922f2e185e444cc89f7b97a81a1d3e5ae9f075bab08e965ea @@ -2157,6 +2437,29 @@ __metadata: languageName: node linkType: hard +"@jest/transform@npm:^26.6.2": + version: 26.6.2 + resolution: "@jest/transform@npm:26.6.2" + dependencies: + "@babel/core": ^7.1.0 + "@jest/types": ^26.6.2 + babel-plugin-istanbul: ^6.0.0 + chalk: ^4.0.0 + convert-source-map: ^1.4.0 + fast-json-stable-stringify: ^2.0.0 + graceful-fs: ^4.2.4 + jest-haste-map: ^26.6.2 + jest-regex-util: ^26.0.0 + jest-util: ^26.6.2 + micromatch: ^4.0.2 + pirates: ^4.0.1 + slash: ^3.0.0 + source-map: ^0.6.1 + write-file-atomic: ^3.0.0 + checksum: 31667b925a2f3b310d854495da0ab67be8f5da24df76ecfc51162e75f1140aed5d18069ba190cb5e0c7e492b04272c8c79076ddf5bbcff530ee80a16a02c4545 + languageName: node + linkType: hard + "@jest/transform@npm:^27.2.2, @jest/transform@npm:^27.3.1": version: 27.3.1 resolution: "@jest/transform@npm:27.3.1" @@ -2180,6 +2483,19 @@ __metadata: languageName: node linkType: hard +"@jest/types@npm:^26.6.2": + version: 26.6.2 + resolution: "@jest/types@npm:26.6.2" + dependencies: + "@types/istanbul-lib-coverage": ^2.0.0 + "@types/istanbul-reports": ^3.0.0 + "@types/node": "*" + "@types/yargs": ^15.0.0 + chalk: ^4.0.0 + checksum: a0bd3d2f22f26ddb23f41fddf6e6a30bf4fab2ce79ec1cb6ce6fdfaf90a72e00f4c71da91ec61e13db3b10c41de22cf49d07c57ff2b59171d64b29f909c1d8d6 + languageName: node + linkType: hard + "@jest/types@npm:^27.1.1, @jest/types@npm:^27.2.5": version: 27.2.5 resolution: "@jest/types@npm:27.2.5" @@ -2193,7 +2509,18 @@ __metadata: languageName: node linkType: hard -"@mdx-js/mdx@npm:^1.6.22": +"@mdx-js/loader@npm:^1.6.22": + version: 1.6.22 + resolution: "@mdx-js/loader@npm:1.6.22" + dependencies: + "@mdx-js/mdx": 1.6.22 + "@mdx-js/react": 1.6.22 + loader-utils: 2.0.0 + checksum: 5ce4b92824555c6dd06c12ee7b9fc036e41499a5026218597316236d62253b6ff6417a416445a71f685716b57bbfc45593f156373252d1f53510b9ef9666334a + languageName: node + linkType: hard + +"@mdx-js/mdx@npm:1.6.22, @mdx-js/mdx@npm:^1.6.22": version: 1.6.22 resolution: "@mdx-js/mdx@npm:1.6.22" dependencies: @@ -2220,7 +2547,7 @@ __metadata: languageName: node linkType: hard -"@mdx-js/react@npm:^1.6.22": +"@mdx-js/react@npm:1.6.22, @mdx-js/react@npm:^1.6.22": version: 1.6.22 resolution: "@mdx-js/react@npm:1.6.22" peerDependencies: @@ -2236,6 +2563,16 @@ __metadata: languageName: node linkType: hard +"@mrmlnc/readdir-enhanced@npm:^2.2.1": + version: 2.2.1 + resolution: "@mrmlnc/readdir-enhanced@npm:2.2.1" + dependencies: + call-me-maybe: ^1.0.1 + glob-to-regexp: ^0.3.0 + checksum: d3b82b29368821154ce8e10bef5ccdbfd070d3e9601643c99ea4607e56f3daeaa4e755dd6d2355da20762c695c1b0570543d9f84b48f70c211ec09c4aaada2e1 + languageName: node + linkType: hard + "@napi-rs/triples@npm:1.0.3": version: 1.0.3 resolution: "@napi-rs/triples@npm:1.0.3" @@ -2243,41 +2580,41 @@ __metadata: languageName: node linkType: hard -"@next/bundle-analyzer@npm:^12.0.2": - version: 12.0.2 - resolution: "@next/bundle-analyzer@npm:12.0.2" +"@next/bundle-analyzer@npm:^12.0.3": + version: 12.0.3 + resolution: "@next/bundle-analyzer@npm:12.0.3" dependencies: webpack-bundle-analyzer: 4.3.0 - checksum: a5fe57bf74c6d7faf3eed2a7d87fdcee0304d9f546eb704ed573a8305cc45fc42be4e35af131085ca20dbdcf7c2f53e27531e73ae072b6a5c0cb0859436f78e5 + checksum: a214c8bb0276be43880db67935726d57569c1c8edc8333c01400197d48462f97950eb687515909b543423f91684a1e4beaaca397a3590d406dad5817f189010d languageName: node linkType: hard -"@next/env@npm:12.0.2": - version: 12.0.2 - resolution: "@next/env@npm:12.0.2" - checksum: c12c3ab3a304c9cf90907446c341210c2b25c5296a16aaf95c2e8ee6ab0656d59861b79baa0d0f6475c34bc77d9f3e6ed656631e35b8c8758d912c19a930ede8 +"@next/env@npm:12.0.3": + version: 12.0.3 + resolution: "@next/env@npm:12.0.3" + checksum: 45fde5f6695b9c227ae7e8bfcccbf0c6cb1985cbd41a7298614050542dd8b5cd4c417879d94586deaed2a213cea31b02111d6c1491cc52ce33f5a9ffcc758031 languageName: node linkType: hard -"@next/eslint-plugin-next@npm:12.0.2": - version: 12.0.2 - resolution: "@next/eslint-plugin-next@npm:12.0.2" +"@next/eslint-plugin-next@npm:12.0.3": + version: 12.0.3 + resolution: "@next/eslint-plugin-next@npm:12.0.3" dependencies: glob: 7.1.7 - checksum: 1b776d475ac31b52ffb77ddbc9542f6811d856ec647c91af9ee4540d0a7716174bcd8de0e83e4ed9f6ae7f3ca78771f85b45c7eed30540a5c4f43cb1cadb82ca + checksum: fc1d3486f0addf892738677d93e0be82d98d4ea1caccfc8835830c963b4af12fa79f1cdd14ac9bfd4ee12fe60e5deb6c5d4f43441a444b2b158bb17187d8b636 languageName: node linkType: hard -"@next/polyfill-module@npm:12.0.2": - version: 12.0.2 - resolution: "@next/polyfill-module@npm:12.0.2" - checksum: 0a5e868fc90853800c3fb5d77e77d9b95497206a025c8e6923e4347d95c91df355437ea232283a3809a6de20372194ed378ef89ddb4da8dfab95ae29f48bc2a0 +"@next/polyfill-module@npm:12.0.3": + version: 12.0.3 + resolution: "@next/polyfill-module@npm:12.0.3" + checksum: 828e0323a32faaa30545971a1339819a2389956a740915b6e32d911f86e9389b86d36b80da288a2077836bae68eb2ca0765f9aaead0a6ecd8a53b6281372833c languageName: node linkType: hard -"@next/react-dev-overlay@npm:12.0.2": - version: 12.0.2 - resolution: "@next/react-dev-overlay@npm:12.0.2" +"@next/react-dev-overlay@npm:12.0.3": + version: 12.0.3 + resolution: "@next/react-dev-overlay@npm:12.0.3" dependencies: "@babel/code-frame": 7.12.11 anser: 1.4.9 @@ -2297,96 +2634,96 @@ __metadata: peerDependenciesMeta: webpack: optional: true - checksum: 2e0efeb6b745cbf0698ecbfae160411d3ebafe35248670fe5bb07ee83189b6bf0836135d044a503d9dafd49adf26d28b505e0eec843a51a76274b3a06f3e5809 + checksum: c5433992c190027a614a364f565469194c9a5e8c2587054a1ce169bb47e22e2c8f3e6f54c8b435898ceb29fd003c0a8eb383160e6424ead63a404300d331d706 languageName: node linkType: hard -"@next/react-refresh-utils@npm:12.0.2": - version: 12.0.2 - resolution: "@next/react-refresh-utils@npm:12.0.2" +"@next/react-refresh-utils@npm:12.0.3": + version: 12.0.3 + resolution: "@next/react-refresh-utils@npm:12.0.3" peerDependencies: react-refresh: 0.8.3 webpack: ^4 || ^5 peerDependenciesMeta: webpack: optional: true - checksum: 6d7312f6b3844c7fcfb1bdc86c618e42f12cb67cd0e2275801f27b9ac8126de8f45551fabc45d57f7b8397ebf6d19bc20e32cd9f1650476d7851b5980801d552 + checksum: 7e9c6ea48011cb97adf9e789adee580be1171c6db35835780e576ad11104afa5ed78caef9f479179ab769c77fbe96926bc3806bfa52ebc75ee188c89aa178386 languageName: node linkType: hard -"@next/swc-android-arm64@npm:12.0.2": - version: 12.0.2 - resolution: "@next/swc-android-arm64@npm:12.0.2" +"@next/swc-android-arm64@npm:12.0.3": + version: 12.0.3 + resolution: "@next/swc-android-arm64@npm:12.0.3" conditions: os=android & cpu=arm64 languageName: node linkType: hard -"@next/swc-darwin-arm64@npm:12.0.2": - version: 12.0.2 - resolution: "@next/swc-darwin-arm64@npm:12.0.2" +"@next/swc-darwin-arm64@npm:12.0.3": + version: 12.0.3 + resolution: "@next/swc-darwin-arm64@npm:12.0.3" conditions: os=darwin & cpu=arm64 languageName: node linkType: hard -"@next/swc-darwin-x64@npm:12.0.2": - version: 12.0.2 - resolution: "@next/swc-darwin-x64@npm:12.0.2" +"@next/swc-darwin-x64@npm:12.0.3": + version: 12.0.3 + resolution: "@next/swc-darwin-x64@npm:12.0.3" conditions: os=darwin & cpu=x64 languageName: node linkType: hard -"@next/swc-linux-arm-gnueabihf@npm:12.0.2": - version: 12.0.2 - resolution: "@next/swc-linux-arm-gnueabihf@npm:12.0.2" +"@next/swc-linux-arm-gnueabihf@npm:12.0.3": + version: 12.0.3 + resolution: "@next/swc-linux-arm-gnueabihf@npm:12.0.3" conditions: os=linux & cpu=arm languageName: node linkType: hard -"@next/swc-linux-arm64-gnu@npm:12.0.2": - version: 12.0.2 - resolution: "@next/swc-linux-arm64-gnu@npm:12.0.2" +"@next/swc-linux-arm64-gnu@npm:12.0.3": + version: 12.0.3 + resolution: "@next/swc-linux-arm64-gnu@npm:12.0.3" conditions: os=linux & cpu=arm64 languageName: node linkType: hard -"@next/swc-linux-arm64-musl@npm:12.0.2": - version: 12.0.2 - resolution: "@next/swc-linux-arm64-musl@npm:12.0.2" +"@next/swc-linux-arm64-musl@npm:12.0.3": + version: 12.0.3 + resolution: "@next/swc-linux-arm64-musl@npm:12.0.3" conditions: os=linux & cpu=arm64 languageName: node linkType: hard -"@next/swc-linux-x64-gnu@npm:12.0.2": - version: 12.0.2 - resolution: "@next/swc-linux-x64-gnu@npm:12.0.2" +"@next/swc-linux-x64-gnu@npm:12.0.3": + version: 12.0.3 + resolution: "@next/swc-linux-x64-gnu@npm:12.0.3" conditions: os=linux & cpu=x64 languageName: node linkType: hard -"@next/swc-linux-x64-musl@npm:12.0.1": - version: 12.0.1 - resolution: "@next/swc-linux-x64-musl@npm:12.0.1" +"@next/swc-linux-x64-musl@npm:12.0.3": + version: 12.0.3 + resolution: "@next/swc-linux-x64-musl@npm:12.0.3" conditions: os=linux & cpu=x64 languageName: node linkType: hard -"@next/swc-win32-arm64-msvc@npm:12.0.2": - version: 12.0.2 - resolution: "@next/swc-win32-arm64-msvc@npm:12.0.2" +"@next/swc-win32-arm64-msvc@npm:12.0.3": + version: 12.0.3 + resolution: "@next/swc-win32-arm64-msvc@npm:12.0.3" conditions: os=win32 & cpu=arm64 languageName: node linkType: hard -"@next/swc-win32-ia32-msvc@npm:12.0.2": - version: 12.0.2 - resolution: "@next/swc-win32-ia32-msvc@npm:12.0.2" +"@next/swc-win32-ia32-msvc@npm:12.0.3": + version: 12.0.3 + resolution: "@next/swc-win32-ia32-msvc@npm:12.0.3" conditions: os=win32 & cpu=ia32 languageName: node linkType: hard -"@next/swc-win32-x64-msvc@npm:12.0.2": - version: 12.0.2 - resolution: "@next/swc-win32-x64-msvc@npm:12.0.2" +"@next/swc-win32-x64-msvc@npm:12.0.3": + version: 12.0.3 + resolution: "@next/swc-win32-x64-msvc@npm:12.0.3" conditions: os=win32 & cpu=x64 languageName: node linkType: hard @@ -2408,6 +2745,13 @@ __metadata: languageName: node linkType: hard +"@nodelib/fs.stat@npm:^1.1.2": + version: 1.1.3 + resolution: "@nodelib/fs.stat@npm:1.1.3" + checksum: 318deab369b518a34778cdaa0054dd28a4381c0c78e40bbd20252f67d084b1d7bf9295fea4423de2c19ac8e1a34f120add9125f481b2a710f7068bcac7e3e305 + languageName: node + linkType: hard + "@nodelib/fs.walk@npm:^1.2.3": version: 1.2.8 resolution: "@nodelib/fs.walk@npm:1.2.8" @@ -2829,6 +3173,42 @@ __metadata: languageName: node linkType: hard +"@pmmmwh/react-refresh-webpack-plugin@npm:^0.4.3": + version: 0.4.3 + resolution: "@pmmmwh/react-refresh-webpack-plugin@npm:0.4.3" + dependencies: + ansi-html: ^0.0.7 + error-stack-parser: ^2.0.6 + html-entities: ^1.2.1 + native-url: ^0.2.6 + schema-utils: ^2.6.5 + source-map: ^0.7.3 + peerDependencies: + "@types/webpack": 4.x + react-refresh: ">=0.8.3 <0.10.0" + sockjs-client: ^1.4.0 + type-fest: ^0.13.1 + webpack: ">=4.43.0 <6.0.0" + webpack-dev-server: 3.x + webpack-hot-middleware: 2.x + webpack-plugin-serve: 0.x || 1.x + peerDependenciesMeta: + "@types/webpack": + optional: true + sockjs-client: + optional: true + type-fest: + optional: true + webpack-dev-server: + optional: true + webpack-hot-middleware: + optional: true + webpack-plugin-serve: + optional: true + checksum: 36a7b0c63f0aabde856a2b43f3f3bfa7919920afa67b4fbcf7d4980b286c7c11e34ada13654d81bf30c3d3e2c12a5b9eef6c15e21a200003b8030809d3ddd6c6 + languageName: node + linkType: hard + "@pmmmwh/react-refresh-webpack-plugin@npm:^0.5.1": version: 0.5.1 resolution: "@pmmmwh/react-refresh-webpack-plugin@npm:0.5.1" @@ -2875,6 +3255,13 @@ __metadata: languageName: node linkType: hard +"@popperjs/core@npm:^2.5.4, @popperjs/core@npm:^2.6.0": + version: 2.10.2 + resolution: "@popperjs/core@npm:2.10.2" + checksum: 43c189e3eb6d032433512d94761b54fc7cae15957ca5528008813f887a67b5760b949f30a5141b476be2ba5a6c677c91def150f603d2d3e30b5e97a5ae51474e + languageName: node + linkType: hard + "@prisma/client@npm:3.4.1": version: 3.4.1 resolution: "@prisma/client@npm:3.4.1" @@ -2903,6 +3290,21 @@ __metadata: languageName: node linkType: hard +"@reach/router@npm:^1.3.4": + version: 1.3.4 + resolution: "@reach/router@npm:1.3.4" + dependencies: + create-react-context: 0.3.0 + invariant: ^2.2.3 + prop-types: ^15.6.1 + react-lifecycles-compat: ^3.0.4 + peerDependencies: + react: 15.x || 16.x || 16.4.0-alpha.0911da3 + react-dom: 15.x || 16.x || 16.4.0-alpha.0911da3 + checksum: f64372497e0464a9fdfd79283fec3f4fd01ee093f1599d8a8035e0a41fbce22113bfa46dcea63aa8b7b4e0796e916f134aa8e3fccd3974be397e7c19468de3c4 + languageName: node + linkType: hard + "@reach/skip-nav@npm:^0.16.0": version: 0.16.0 resolution: "@reach/skip-nav@npm:0.16.0" @@ -3315,13 +3717,13 @@ __metadata: linkType: hard "@rushstack/eslint-patch@npm:^1.0.6": - version: 1.0.9 - resolution: "@rushstack/eslint-patch@npm:1.0.9" - checksum: 01425d38261013955990e4e923bc57dd1ff258a09740a5cbf5645b6a61cd3c85255edd11801277c07022fabbdfdb39d1d324f6acb1bc0b1795d2a0a187b9569f + version: 1.1.0 + resolution: "@rushstack/eslint-patch@npm:1.1.0" + checksum: 4602c23454c8bb03502da12398cb5c4c0bfb3b1772535b418ec94ab8c47824f70e6ff32206a35fe7086042d9516959edea439e2371147b1de7eee50ef03ace65 languageName: node linkType: hard -"@sinonjs/commons@npm:^1.7.0": +"@sinonjs/commons@npm:^1.6.0, @sinonjs/commons@npm:^1.7.0, @sinonjs/commons@npm:^1.8.3": version: 1.8.3 resolution: "@sinonjs/commons@npm:1.8.3" dependencies: @@ -3330,7 +3732,16 @@ __metadata: languageName: node linkType: hard -"@sinonjs/fake-timers@npm:^8.0.1": +"@sinonjs/fake-timers@npm:^7.0.4": + version: 7.1.2 + resolution: "@sinonjs/fake-timers@npm:7.1.2" + dependencies: + "@sinonjs/commons": ^1.7.0 + checksum: c84773d7973edad5511a31d2cc75023447b5cf714a84de9bb50eda45dda88a0d3bd2c30bf6e6e936da50a048d5352e2151c694e13e59b97d187ba1f329e9a00c + languageName: node + linkType: hard + +"@sinonjs/fake-timers@npm:^8.0.1, @sinonjs/fake-timers@npm:^8.1.0": version: 8.1.0 resolution: "@sinonjs/fake-timers@npm:8.1.0" dependencies: @@ -3339,6 +3750,24 @@ __metadata: languageName: node linkType: hard +"@sinonjs/samsam@npm:^6.0.2": + version: 6.0.2 + resolution: "@sinonjs/samsam@npm:6.0.2" + dependencies: + "@sinonjs/commons": ^1.6.0 + lodash.get: ^4.4.2 + type-detect: ^4.0.8 + checksum: bc1514edf15f4fa42a1bf27024b15f87654deb2999045c0e427659ff3c734eba44661fceae3624be23cc15ee9c6ddafe5209af2192845c6b267350b54eed1495 + languageName: node + linkType: hard + +"@sinonjs/text-encoding@npm:^0.7.1": + version: 0.7.1 + resolution: "@sinonjs/text-encoding@npm:0.7.1" + checksum: 130de0bb568c5f8a611ec21d1a4e3f80ab0c5ec333010f49cfc1adc5cba6d8808699c8a587a46b0f0b016a1f4c1389bc96141e773e8460fcbb441875b2e91ba7 + languageName: node + linkType: hard + "@spectrum-icons/ui@npm:^3.2.1": version: 3.2.1 resolution: "@spectrum-icons/ui@npm:3.2.1" @@ -3365,22 +3794,1216 @@ __metadata: languageName: node linkType: hard -"@storybook/node-logger@npm:6.1.20": - version: 6.1.20 - resolution: "@storybook/node-logger@npm:6.1.20" +"@storybook/addon-a11y@npm:^6.3.12": + version: 6.3.12 + resolution: "@storybook/addon-a11y@npm:6.3.12" dependencies: - "@types/npmlog": ^4.1.2 - chalk: ^4.0.0 - core-js: ^3.0.1 - npmlog: ^4.1.2 - pretty-hrtime: ^1.0.3 - checksum: 840295da7cac04a200867b363c050573af7562beec177a6fecc9c6b5647571ac0d34c32d4e2793fd33bba8c2f46c2a1f602990d4ef9e744525a1afe11a777a24 - languageName: node - linkType: hard - -"@supabase/gotrue-js@npm:^1.19.0": - version: 1.19.0 - resolution: "@supabase/gotrue-js@npm:1.19.0" + "@storybook/addons": 6.3.12 + "@storybook/api": 6.3.12 + "@storybook/channels": 6.3.12 + "@storybook/client-api": 6.3.12 + "@storybook/client-logger": 6.3.12 + "@storybook/components": 6.3.12 + "@storybook/core-events": 6.3.12 + "@storybook/theming": 6.3.12 + axe-core: ^4.2.0 + core-js: ^3.8.2 + global: ^4.4.0 + lodash: ^4.17.20 + react-sizeme: ^3.0.1 + regenerator-runtime: ^0.13.7 + ts-dedent: ^2.0.0 + util-deprecate: ^1.0.2 + peerDependencies: + react: ^16.8.0 || ^17.0.0 + react-dom: ^16.8.0 || ^17.0.0 + peerDependenciesMeta: + react: + optional: true + react-dom: + optional: true + checksum: be39ed93f3b965ab4c4b52f2b64b84a2b728790712090846ec03081e36e5e6e7adc35388cb4ee49f2d33ebbd6587aa1bdb18dba2a499c08fd8d8c4cc84896978 + languageName: node + linkType: hard + +"@storybook/addon-actions@npm:6.3.12, @storybook/addon-actions@npm:^6.3.12": + version: 6.3.12 + resolution: "@storybook/addon-actions@npm:6.3.12" + dependencies: + "@storybook/addons": 6.3.12 + "@storybook/api": 6.3.12 + "@storybook/client-api": 6.3.12 + "@storybook/components": 6.3.12 + "@storybook/core-events": 6.3.12 + "@storybook/theming": 6.3.12 + core-js: ^3.8.2 + fast-deep-equal: ^3.1.3 + global: ^4.4.0 + lodash: ^4.17.20 + polished: ^4.0.5 + prop-types: ^15.7.2 + react-inspector: ^5.1.0 + regenerator-runtime: ^0.13.7 + ts-dedent: ^2.0.0 + util-deprecate: ^1.0.2 + uuid-browser: ^3.1.0 + peerDependencies: + react: ^16.8.0 || ^17.0.0 + react-dom: ^16.8.0 || ^17.0.0 + peerDependenciesMeta: + react: + optional: true + react-dom: + optional: true + checksum: f18f5d9d6615149841bb34936063be50ca97caccbeba248020d6c8dcb71472ce7e18fbfab1f115c269e77b71d0f9aeeda1547fcf823bd384f7e632bd213a8266 + languageName: node + linkType: hard + +"@storybook/addon-backgrounds@npm:6.3.12": + version: 6.3.12 + resolution: "@storybook/addon-backgrounds@npm:6.3.12" + dependencies: + "@storybook/addons": 6.3.12 + "@storybook/api": 6.3.12 + "@storybook/client-logger": 6.3.12 + "@storybook/components": 6.3.12 + "@storybook/core-events": 6.3.12 + "@storybook/theming": 6.3.12 + core-js: ^3.8.2 + global: ^4.4.0 + memoizerific: ^1.11.3 + regenerator-runtime: ^0.13.7 + ts-dedent: ^2.0.0 + util-deprecate: ^1.0.2 + peerDependencies: + react: ^16.8.0 || ^17.0.0 + react-dom: ^16.8.0 || ^17.0.0 + peerDependenciesMeta: + react: + optional: true + react-dom: + optional: true + checksum: 6dec7c68a6642a56b19e6fd03f43ad1bcba79d0888027a5cc66fe08701928f4ed39ca750f36100cd97bc58c746b7b2f3a1705b46f38602253489d373b6d460f4 + languageName: node + linkType: hard + +"@storybook/addon-controls@npm:6.3.12": + version: 6.3.12 + resolution: "@storybook/addon-controls@npm:6.3.12" + dependencies: + "@storybook/addons": 6.3.12 + "@storybook/api": 6.3.12 + "@storybook/client-api": 6.3.12 + "@storybook/components": 6.3.12 + "@storybook/node-logger": 6.3.12 + "@storybook/theming": 6.3.12 + core-js: ^3.8.2 + ts-dedent: ^2.0.0 + peerDependencies: + react: ^16.8.0 || ^17.0.0 + react-dom: ^16.8.0 || ^17.0.0 + peerDependenciesMeta: + react: + optional: true + react-dom: + optional: true + checksum: 4cdb81ed2c38edd68d86cc77ca7e5debbff4ff5def1e14ac308ea02860461616da4b5d7c9945c3acc14748bd41a1784204dabf7a306a8b39d23e768938d2aa4c + languageName: node + linkType: hard + +"@storybook/addon-docs@npm:6.3.12": + version: 6.3.12 + resolution: "@storybook/addon-docs@npm:6.3.12" + dependencies: + "@babel/core": ^7.12.10 + "@babel/generator": ^7.12.11 + "@babel/parser": ^7.12.11 + "@babel/plugin-transform-react-jsx": ^7.12.12 + "@babel/preset-env": ^7.12.11 + "@jest/transform": ^26.6.2 + "@mdx-js/loader": ^1.6.22 + "@mdx-js/mdx": ^1.6.22 + "@mdx-js/react": ^1.6.22 + "@storybook/addons": 6.3.12 + "@storybook/api": 6.3.12 + "@storybook/builder-webpack4": 6.3.12 + "@storybook/client-api": 6.3.12 + "@storybook/client-logger": 6.3.12 + "@storybook/components": 6.3.12 + "@storybook/core": 6.3.12 + "@storybook/core-events": 6.3.12 + "@storybook/csf": 0.0.1 + "@storybook/csf-tools": 6.3.12 + "@storybook/node-logger": 6.3.12 + "@storybook/postinstall": 6.3.12 + "@storybook/source-loader": 6.3.12 + "@storybook/theming": 6.3.12 + acorn: ^7.4.1 + acorn-jsx: ^5.3.1 + acorn-walk: ^7.2.0 + core-js: ^3.8.2 + doctrine: ^3.0.0 + escodegen: ^2.0.0 + fast-deep-equal: ^3.1.3 + global: ^4.4.0 + html-tags: ^3.1.0 + js-string-escape: ^1.0.1 + loader-utils: ^2.0.0 + lodash: ^4.17.20 + p-limit: ^3.1.0 + prettier: ~2.2.1 + prop-types: ^15.7.2 + react-element-to-jsx-string: ^14.3.2 + regenerator-runtime: ^0.13.7 + remark-external-links: ^8.0.0 + remark-slug: ^6.0.0 + ts-dedent: ^2.0.0 + util-deprecate: ^1.0.2 + peerDependencies: + "@storybook/angular": 6.3.12 + "@storybook/vue": 6.3.12 + "@storybook/vue3": 6.3.12 + "@storybook/web-components": 6.3.12 + lit: ^2.0.0-rc.1 + lit-html: ^1.4.1 || ^2.0.0-rc.3 + react: ^16.8.0 || ^17.0.0 + react-dom: ^16.8.0 || ^17.0.0 + svelte: ^3.31.2 + sveltedoc-parser: ^4.1.0 + vue: ^2.6.10 || ^3.0.0 + webpack: "*" + peerDependenciesMeta: + "@storybook/angular": + optional: true + "@storybook/vue": + optional: true + "@storybook/vue3": + optional: true + "@storybook/web-components": + optional: true + lit: + optional: true + lit-html: + optional: true + react: + optional: true + react-dom: + optional: true + svelte: + optional: true + sveltedoc-parser: + optional: true + vue: + optional: true + webpack: + optional: true + checksum: d89ea91e06d498428cc1f2f7c496583c0bb6cba60bb8a15f867f8868b380475222816ff55c31f9e773a135287073545fe935b178a9e4030c3a3da2b124287406 + languageName: node + linkType: hard + +"@storybook/addon-essentials@npm:~6.3.0": + version: 6.3.12 + resolution: "@storybook/addon-essentials@npm:6.3.12" + dependencies: + "@storybook/addon-actions": 6.3.12 + "@storybook/addon-backgrounds": 6.3.12 + "@storybook/addon-controls": 6.3.12 + "@storybook/addon-docs": 6.3.12 + "@storybook/addon-measure": ^2.0.0 + "@storybook/addon-toolbars": 6.3.12 + "@storybook/addon-viewport": 6.3.12 + "@storybook/addons": 6.3.12 + "@storybook/api": 6.3.12 + "@storybook/node-logger": 6.3.12 + core-js: ^3.8.2 + regenerator-runtime: ^0.13.7 + storybook-addon-outline: ^1.4.1 + ts-dedent: ^2.0.0 + peerDependencies: + "@babel/core": ^7.9.6 + "@storybook/vue": 6.3.12 + "@storybook/web-components": 6.3.12 + babel-loader: ^8.0.0 + lit-html: ^1.4.1 || ^2.0.0-rc.3 + react: ^16.8.0 || ^17.0.0 + react-dom: ^16.8.0 || ^17.0.0 + webpack: "*" + peerDependenciesMeta: + "@storybook/vue": + optional: true + "@storybook/web-components": + optional: true + lit-html: + optional: true + react: + optional: true + react-dom: + optional: true + webpack: + optional: true + checksum: 963ac068d28648555ec24540192930932b519c5f72aeaae13557a81522ec7c2f841bfbfccf863514619a5c430a763f76f3c3b78d77ae6c1f579be7e20df033fa + languageName: node + linkType: hard + +"@storybook/addon-knobs@npm:^6.3.1": + version: 6.3.1 + resolution: "@storybook/addon-knobs@npm:6.3.1" + dependencies: + copy-to-clipboard: ^3.3.1 + core-js: ^3.8.2 + escape-html: ^1.0.3 + fast-deep-equal: ^3.1.3 + global: ^4.4.0 + lodash: ^4.17.20 + prop-types: ^15.7.2 + qs: ^6.10.0 + react-colorful: ^5.1.2 + react-lifecycles-compat: ^3.0.4 + react-select: ^3.2.0 + peerDependencies: + "@storybook/addons": ^6.3.0 + "@storybook/api": ^6.3.0 + "@storybook/components": ^6.3.0 + "@storybook/core-events": ^6.3.0 + "@storybook/theming": ^6.3.0 + react: ^16.8.0 || ^17.0.0 + react-dom: ^16.8.0 || ^17.0.0 + peerDependenciesMeta: + react: + optional: true + react-dom: + optional: true + checksum: 168bb1bd90d909f1236cdd2429469ce6ad758dda082a111bd0dcf16e646f405aa91ad848c0d00375f1eafac8b22c707d1b8041c1a246dbc1c6a117e4a4199cd1 + languageName: node + linkType: hard + +"@storybook/addon-links@npm:^6.3.12": + version: 6.3.12 + resolution: "@storybook/addon-links@npm:6.3.12" + dependencies: + "@storybook/addons": 6.3.12 + "@storybook/client-logger": 6.3.12 + "@storybook/core-events": 6.3.12 + "@storybook/csf": 0.0.1 + "@storybook/router": 6.3.12 + "@types/qs": ^6.9.5 + core-js: ^3.8.2 + global: ^4.4.0 + prop-types: ^15.7.2 + qs: ^6.10.0 + regenerator-runtime: ^0.13.7 + ts-dedent: ^2.0.0 + peerDependencies: + react: ^16.8.0 || ^17.0.0 + react-dom: ^16.8.0 || ^17.0.0 + peerDependenciesMeta: + react: + optional: true + react-dom: + optional: true + checksum: e5b7c2d71c612c57c93fea2651c5906240d744de1f42479a972f9dcf78e798e02eb223e1d6c1d6be05cca23778a6c7dfd8df855e210257baeaf045c7fa311907 + languageName: node + linkType: hard + +"@storybook/addon-measure@npm:^2.0.0": + version: 2.0.0 + resolution: "@storybook/addon-measure@npm:2.0.0" + peerDependencies: + "@storybook/addons": ^6.3.0 + "@storybook/api": ^6.3.0 + "@storybook/components": ^6.3.0 + "@storybook/core-events": ^6.3.0 + "@storybook/theming": ^6.3.0 + react: ^16.8.0 || ^17.0.0 + react-dom: ^16.8.0 || ^17.0.0 + peerDependenciesMeta: + react: + optional: true + react-dom: + optional: true + checksum: c397a80c3c0d8cf9f3c9a4362c5603ea34aa2b82894da4089ab04407e313eff125e60d4cbb83fa378b9cc796bd3140ed6c56f0e568ca02777ea0f841719220e3 + languageName: node + linkType: hard + +"@storybook/addon-toolbars@npm:6.3.12": + version: 6.3.12 + resolution: "@storybook/addon-toolbars@npm:6.3.12" + dependencies: + "@storybook/addons": 6.3.12 + "@storybook/api": 6.3.12 + "@storybook/client-api": 6.3.12 + "@storybook/components": 6.3.12 + "@storybook/theming": 6.3.12 + core-js: ^3.8.2 + regenerator-runtime: ^0.13.7 + peerDependencies: + react: ^16.8.0 || ^17.0.0 + react-dom: ^16.8.0 || ^17.0.0 + peerDependenciesMeta: + react: + optional: true + react-dom: + optional: true + checksum: edcdf6a7cb57dc535f5c815d577f74a2ad048e7c46ab093763a0887581a5ce96505b2ac0936993c33ad80655a84a733364da9d56da48060c986adb0248027255 + languageName: node + linkType: hard + +"@storybook/addon-viewport@npm:6.3.12": + version: 6.3.12 + resolution: "@storybook/addon-viewport@npm:6.3.12" + dependencies: + "@storybook/addons": 6.3.12 + "@storybook/api": 6.3.12 + "@storybook/client-logger": 6.3.12 + "@storybook/components": 6.3.12 + "@storybook/core-events": 6.3.12 + "@storybook/theming": 6.3.12 + core-js: ^3.8.2 + global: ^4.4.0 + memoizerific: ^1.11.3 + prop-types: ^15.7.2 + regenerator-runtime: ^0.13.7 + peerDependencies: + react: ^16.8.0 || ^17.0.0 + react-dom: ^16.8.0 || ^17.0.0 + peerDependenciesMeta: + react: + optional: true + react-dom: + optional: true + checksum: d692421ff0c97f0987cd716858dea1b01aa4f6d391a8a8c9add83869bf2feb5635cca7f102411fd460784b48babb116925644f3db32014a6ea21dab2b81c9c52 + languageName: node + linkType: hard + +"@storybook/addons@npm:6.3.12, @storybook/addons@npm:^6.3.0": + version: 6.3.12 + resolution: "@storybook/addons@npm:6.3.12" + dependencies: + "@storybook/api": 6.3.12 + "@storybook/channels": 6.3.12 + "@storybook/client-logger": 6.3.12 + "@storybook/core-events": 6.3.12 + "@storybook/router": 6.3.12 + "@storybook/theming": 6.3.12 + core-js: ^3.8.2 + global: ^4.4.0 + regenerator-runtime: ^0.13.7 + peerDependencies: + react: ^16.8.0 || ^17.0.0 + react-dom: ^16.8.0 || ^17.0.0 + checksum: 86a79063a9cb89fadd9ae0c00460f587bb0cd0196a3a6472d0058109bc473a4396bd063369d6dd847f7c1bbb5d05d7a69ef2ad242475ab179877ba28230cf354 + languageName: node + linkType: hard + +"@storybook/api@npm:6.3.12, @storybook/api@npm:^6.3.0": + version: 6.3.12 + resolution: "@storybook/api@npm:6.3.12" + dependencies: + "@reach/router": ^1.3.4 + "@storybook/channels": 6.3.12 + "@storybook/client-logger": 6.3.12 + "@storybook/core-events": 6.3.12 + "@storybook/csf": 0.0.1 + "@storybook/router": 6.3.12 + "@storybook/semver": ^7.3.2 + "@storybook/theming": 6.3.12 + "@types/reach__router": ^1.3.7 + core-js: ^3.8.2 + fast-deep-equal: ^3.1.3 + global: ^4.4.0 + lodash: ^4.17.20 + memoizerific: ^1.11.3 + qs: ^6.10.0 + regenerator-runtime: ^0.13.7 + store2: ^2.12.0 + telejson: ^5.3.2 + ts-dedent: ^2.0.0 + util-deprecate: ^1.0.2 + peerDependencies: + react: ^16.8.0 || ^17.0.0 + react-dom: ^16.8.0 || ^17.0.0 + checksum: f32c61baa8c7014b10337cbc2e592561451539588105961bcf76cec44f879c805230c8d4a7e69d531d3004cd63ebd592aec99cb670873e62db2dae7e51adb3e0 + languageName: node + linkType: hard + +"@storybook/builder-webpack4@npm:6.3.12": + version: 6.3.12 + resolution: "@storybook/builder-webpack4@npm:6.3.12" + dependencies: + "@babel/core": ^7.12.10 + "@babel/plugin-proposal-class-properties": ^7.12.1 + "@babel/plugin-proposal-decorators": ^7.12.12 + "@babel/plugin-proposal-export-default-from": ^7.12.1 + "@babel/plugin-proposal-nullish-coalescing-operator": ^7.12.1 + "@babel/plugin-proposal-object-rest-spread": ^7.12.1 + "@babel/plugin-proposal-optional-chaining": ^7.12.7 + "@babel/plugin-proposal-private-methods": ^7.12.1 + "@babel/plugin-syntax-dynamic-import": ^7.8.3 + "@babel/plugin-transform-arrow-functions": ^7.12.1 + "@babel/plugin-transform-block-scoping": ^7.12.12 + "@babel/plugin-transform-classes": ^7.12.1 + "@babel/plugin-transform-destructuring": ^7.12.1 + "@babel/plugin-transform-for-of": ^7.12.1 + "@babel/plugin-transform-parameters": ^7.12.1 + "@babel/plugin-transform-shorthand-properties": ^7.12.1 + "@babel/plugin-transform-spread": ^7.12.1 + "@babel/plugin-transform-template-literals": ^7.12.1 + "@babel/preset-env": ^7.12.11 + "@babel/preset-react": ^7.12.10 + "@babel/preset-typescript": ^7.12.7 + "@storybook/addons": 6.3.12 + "@storybook/api": 6.3.12 + "@storybook/channel-postmessage": 6.3.12 + "@storybook/channels": 6.3.12 + "@storybook/client-api": 6.3.12 + "@storybook/client-logger": 6.3.12 + "@storybook/components": 6.3.12 + "@storybook/core-common": 6.3.12 + "@storybook/core-events": 6.3.12 + "@storybook/node-logger": 6.3.12 + "@storybook/router": 6.3.12 + "@storybook/semver": ^7.3.2 + "@storybook/theming": 6.3.12 + "@storybook/ui": 6.3.12 + "@types/node": ^14.0.10 + "@types/webpack": ^4.41.26 + autoprefixer: ^9.8.6 + babel-loader: ^8.2.2 + babel-plugin-macros: ^2.8.0 + babel-plugin-polyfill-corejs3: ^0.1.0 + case-sensitive-paths-webpack-plugin: ^2.3.0 + core-js: ^3.8.2 + css-loader: ^3.6.0 + dotenv-webpack: ^1.8.0 + file-loader: ^6.2.0 + find-up: ^5.0.0 + fork-ts-checker-webpack-plugin: ^4.1.6 + fs-extra: ^9.0.1 + glob: ^7.1.6 + glob-promise: ^3.4.0 + global: ^4.4.0 + html-webpack-plugin: ^4.0.0 + pnp-webpack-plugin: 1.6.4 + postcss: ^7.0.36 + postcss-flexbugs-fixes: ^4.2.1 + postcss-loader: ^4.2.0 + raw-loader: ^4.0.2 + react-dev-utils: ^11.0.3 + stable: ^0.1.8 + style-loader: ^1.3.0 + terser-webpack-plugin: ^4.2.3 + ts-dedent: ^2.0.0 + url-loader: ^4.1.1 + util-deprecate: ^1.0.2 + webpack: 4 + webpack-dev-middleware: ^3.7.3 + webpack-filter-warnings-plugin: ^1.2.1 + webpack-hot-middleware: ^2.25.0 + webpack-virtual-modules: ^0.2.2 + peerDependencies: + react: ^16.8.0 || ^17.0.0 + react-dom: ^16.8.0 || ^17.0.0 + peerDependenciesMeta: + typescript: + optional: true + checksum: 920e982802f6046dee1e31774515370f029da6363a1036fc631f5efc5359fd170ef15e786eb0dfdd3232876a7ac395b4d56ecae6e28d6de14a5d02d28dbdceab + languageName: node + linkType: hard + +"@storybook/builder-webpack5@npm:~6.3.0": + version: 6.3.12 + resolution: "@storybook/builder-webpack5@npm:6.3.12" + dependencies: + "@babel/core": ^7.12.10 + "@babel/plugin-proposal-class-properties": ^7.12.1 + "@babel/plugin-proposal-decorators": ^7.12.12 + "@babel/plugin-proposal-export-default-from": ^7.12.1 + "@babel/plugin-proposal-nullish-coalescing-operator": ^7.12.1 + "@babel/plugin-proposal-object-rest-spread": ^7.12.1 + "@babel/plugin-proposal-optional-chaining": ^7.12.7 + "@babel/plugin-proposal-private-methods": ^7.12.1 + "@babel/plugin-syntax-dynamic-import": ^7.8.3 + "@babel/plugin-transform-arrow-functions": ^7.12.1 + "@babel/plugin-transform-block-scoping": ^7.12.12 + "@babel/plugin-transform-classes": ^7.12.1 + "@babel/plugin-transform-destructuring": ^7.12.1 + "@babel/plugin-transform-for-of": ^7.12.1 + "@babel/plugin-transform-parameters": ^7.12.1 + "@babel/plugin-transform-shorthand-properties": ^7.12.1 + "@babel/plugin-transform-spread": ^7.12.1 + "@babel/preset-env": ^7.12.11 + "@babel/preset-react": ^7.12.10 + "@babel/preset-typescript": ^7.12.7 + "@storybook/addons": 6.3.12 + "@storybook/api": 6.3.12 + "@storybook/channel-postmessage": 6.3.12 + "@storybook/channels": 6.3.12 + "@storybook/client-api": 6.3.12 + "@storybook/client-logger": 6.3.12 + "@storybook/components": 6.3.12 + "@storybook/core-common": 6.3.12 + "@storybook/core-events": 6.3.12 + "@storybook/node-logger": 6.3.12 + "@storybook/router": 6.3.12 + "@storybook/semver": ^7.3.2 + "@storybook/theming": 6.3.12 + "@types/node": ^14.0.10 + babel-loader: ^8.2.2 + babel-plugin-macros: ^3.0.1 + babel-plugin-polyfill-corejs3: ^0.1.0 + case-sensitive-paths-webpack-plugin: ^2.3.0 + core-js: ^3.8.2 + css-loader: ^5.0.1 + dotenv-webpack: ^7.0.0 + fork-ts-checker-webpack-plugin: ^6.0.4 + fs-extra: ^9.0.1 + glob: ^7.1.6 + glob-promise: ^3.4.0 + html-webpack-plugin: ^5.0.0 + react-dev-utils: ^11.0.3 + stable: ^0.1.8 + style-loader: ^2.0.0 + terser-webpack-plugin: ^5.0.3 + ts-dedent: ^2.0.0 + util-deprecate: ^1.0.2 + webpack: ^5.9.0 + webpack-dev-middleware: ^4.1.0 + webpack-hot-middleware: ^2.25.0 + webpack-virtual-modules: ^0.4.1 + peerDependencies: + react: ^16.8.0 || ^17.0.0 + react-dom: ^16.8.0 || ^17.0.0 + peerDependenciesMeta: + typescript: + optional: true + checksum: 43cd0996ddd593186a1b2326e9f5bea677886e0e8617defda2897c8230c2447936de3746a6d0defe088a42428cc28ae0eab4b59e2b72af24ee52c768348263dc + languageName: node + linkType: hard + +"@storybook/channel-postmessage@npm:6.3.12": + version: 6.3.12 + resolution: "@storybook/channel-postmessage@npm:6.3.12" + dependencies: + "@storybook/channels": 6.3.12 + "@storybook/client-logger": 6.3.12 + "@storybook/core-events": 6.3.12 + core-js: ^3.8.2 + global: ^4.4.0 + qs: ^6.10.0 + telejson: ^5.3.2 + checksum: c6b2d75307dc61001707e36ba468a550f14c87e65974b37dc76c4963224564bb1e45c164bd13c06d5ba35afef724389bde34ddf6775521bd0a4e193d75a96e63 + languageName: node + linkType: hard + +"@storybook/channels@npm:6.3.12": + version: 6.3.12 + resolution: "@storybook/channels@npm:6.3.12" + dependencies: + core-js: ^3.8.2 + ts-dedent: ^2.0.0 + util-deprecate: ^1.0.2 + checksum: a8bdac5231523285533e2826ab5b59bbc3495e0c306ac336ca4495576dc4c6acd3a2652ae7327d8339c2757ca19198933e182ece1276b975d9553b282983a5e0 + languageName: node + linkType: hard + +"@storybook/client-api@npm:6.3.12": + version: 6.3.12 + resolution: "@storybook/client-api@npm:6.3.12" + dependencies: + "@storybook/addons": 6.3.12 + "@storybook/channel-postmessage": 6.3.12 + "@storybook/channels": 6.3.12 + "@storybook/client-logger": 6.3.12 + "@storybook/core-events": 6.3.12 + "@storybook/csf": 0.0.1 + "@types/qs": ^6.9.5 + "@types/webpack-env": ^1.16.0 + core-js: ^3.8.2 + global: ^4.4.0 + lodash: ^4.17.20 + memoizerific: ^1.11.3 + qs: ^6.10.0 + regenerator-runtime: ^0.13.7 + stable: ^0.1.8 + store2: ^2.12.0 + ts-dedent: ^2.0.0 + util-deprecate: ^1.0.2 + peerDependencies: + react: ^16.8.0 || ^17.0.0 + react-dom: ^16.8.0 || ^17.0.0 + checksum: afd947bbfcfff05a4674afc1529f9fec08aed7981e63ccc25853af03fe8d3c676337fc59562a86c6b15afa515c1b8d77910854293704a6930f8e321c71c7177f + languageName: node + linkType: hard + +"@storybook/client-logger@npm:6.3.12": + version: 6.3.12 + resolution: "@storybook/client-logger@npm:6.3.12" + dependencies: + core-js: ^3.8.2 + global: ^4.4.0 + checksum: 7694ca0d8c91d5dc3a3f6bcb90129dba6cbdc309426c2bc7c156f2e77820b8cb59eb705f8e8ba6b10b3a294612fe841d0988c79f77f78bdb3fb6d797fb55eb19 + languageName: node + linkType: hard + +"@storybook/components@npm:6.3.12, @storybook/components@npm:^6.3.0": + version: 6.3.12 + resolution: "@storybook/components@npm:6.3.12" + dependencies: + "@popperjs/core": ^2.6.0 + "@storybook/client-logger": 6.3.12 + "@storybook/csf": 0.0.1 + "@storybook/theming": 6.3.12 + "@types/color-convert": ^2.0.0 + "@types/overlayscrollbars": ^1.12.0 + "@types/react-syntax-highlighter": 11.0.5 + color-convert: ^2.0.1 + core-js: ^3.8.2 + fast-deep-equal: ^3.1.3 + global: ^4.4.0 + lodash: ^4.17.20 + markdown-to-jsx: ^7.1.3 + memoizerific: ^1.11.3 + overlayscrollbars: ^1.13.1 + polished: ^4.0.5 + prop-types: ^15.7.2 + react-colorful: ^5.1.2 + react-popper-tooltip: ^3.1.1 + react-syntax-highlighter: ^13.5.3 + react-textarea-autosize: ^8.3.0 + regenerator-runtime: ^0.13.7 + ts-dedent: ^2.0.0 + util-deprecate: ^1.0.2 + peerDependencies: + react: ^16.8.0 || ^17.0.0 + react-dom: ^16.8.0 || ^17.0.0 + checksum: c8cae6a0033e812916f5c56dc07ca50d875a3f8b7a4f9d84450fbdd9a98b98b85270e087af119f727c0ba2be921951ea91ef2f1d2a6d43f3a165f408a545ceb5 + languageName: node + linkType: hard + +"@storybook/core-client@npm:6.3.12": + version: 6.3.12 + resolution: "@storybook/core-client@npm:6.3.12" + dependencies: + "@storybook/addons": 6.3.12 + "@storybook/channel-postmessage": 6.3.12 + "@storybook/client-api": 6.3.12 + "@storybook/client-logger": 6.3.12 + "@storybook/core-events": 6.3.12 + "@storybook/csf": 0.0.1 + "@storybook/ui": 6.3.12 + airbnb-js-shims: ^2.2.1 + ansi-to-html: ^0.6.11 + core-js: ^3.8.2 + global: ^4.4.0 + lodash: ^4.17.20 + qs: ^6.10.0 + regenerator-runtime: ^0.13.7 + ts-dedent: ^2.0.0 + unfetch: ^4.2.0 + util-deprecate: ^1.0.2 + peerDependencies: + react: ^16.8.0 || ^17.0.0 + react-dom: ^16.8.0 || ^17.0.0 + webpack: "*" + peerDependenciesMeta: + typescript: + optional: true + checksum: 896ced7a533caa63049164fb93423a90fdeca1851312aaedcd949e991af8ca4417dc636388b8335026e00488c883aab68cb31812dc70f788c6bde26e88dddfbb + languageName: node + linkType: hard + +"@storybook/core-common@npm:6.3.12": + version: 6.3.12 + resolution: "@storybook/core-common@npm:6.3.12" + dependencies: + "@babel/core": ^7.12.10 + "@babel/plugin-proposal-class-properties": ^7.12.1 + "@babel/plugin-proposal-decorators": ^7.12.12 + "@babel/plugin-proposal-export-default-from": ^7.12.1 + "@babel/plugin-proposal-nullish-coalescing-operator": ^7.12.1 + "@babel/plugin-proposal-object-rest-spread": ^7.12.1 + "@babel/plugin-proposal-optional-chaining": ^7.12.7 + "@babel/plugin-proposal-private-methods": ^7.12.1 + "@babel/plugin-syntax-dynamic-import": ^7.8.3 + "@babel/plugin-transform-arrow-functions": ^7.12.1 + "@babel/plugin-transform-block-scoping": ^7.12.12 + "@babel/plugin-transform-classes": ^7.12.1 + "@babel/plugin-transform-destructuring": ^7.12.1 + "@babel/plugin-transform-for-of": ^7.12.1 + "@babel/plugin-transform-parameters": ^7.12.1 + "@babel/plugin-transform-shorthand-properties": ^7.12.1 + "@babel/plugin-transform-spread": ^7.12.1 + "@babel/preset-env": ^7.12.11 + "@babel/preset-react": ^7.12.10 + "@babel/preset-typescript": ^7.12.7 + "@babel/register": ^7.12.1 + "@storybook/node-logger": 6.3.12 + "@storybook/semver": ^7.3.2 + "@types/glob-base": ^0.3.0 + "@types/micromatch": ^4.0.1 + "@types/node": ^14.0.10 + "@types/pretty-hrtime": ^1.0.0 + babel-loader: ^8.2.2 + babel-plugin-macros: ^3.0.1 + babel-plugin-polyfill-corejs3: ^0.1.0 + chalk: ^4.1.0 + core-js: ^3.8.2 + express: ^4.17.1 + file-system-cache: ^1.0.5 + find-up: ^5.0.0 + fork-ts-checker-webpack-plugin: ^6.0.4 + glob: ^7.1.6 + glob-base: ^0.3.0 + interpret: ^2.2.0 + json5: ^2.1.3 + lazy-universal-dotenv: ^3.0.1 + micromatch: ^4.0.2 + pkg-dir: ^5.0.0 + pretty-hrtime: ^1.0.3 + resolve-from: ^5.0.0 + ts-dedent: ^2.0.0 + util-deprecate: ^1.0.2 + webpack: 4 + peerDependencies: + react: ^16.8.0 || ^17.0.0 + react-dom: ^16.8.0 || ^17.0.0 + peerDependenciesMeta: + typescript: + optional: true + checksum: a9e3e1473689d2a75fcdcf9b02ff56373cbb8ea9e8800ceff603838a93082e3b554c1819bb02e3e7f626ce530970a01919f6cb2a4b1e846e4c5e881bd620c04e + languageName: node + linkType: hard + +"@storybook/core-events@npm:6.3.12, @storybook/core-events@npm:^6.3.0": + version: 6.3.12 + resolution: "@storybook/core-events@npm:6.3.12" + dependencies: + core-js: ^3.8.2 + checksum: 3d8ac1197b82e571d9d87bf8c78e9a45fdfa79e7377d0b3c4839718ffcf0758f368602a79b28b2ded7dc15bfc811a90c62710171a3f2ee1430e90a6c28836839 + languageName: node + linkType: hard + +"@storybook/core-server@npm:6.3.12": + version: 6.3.12 + resolution: "@storybook/core-server@npm:6.3.12" + dependencies: + "@discoveryjs/json-ext": ^0.5.3 + "@storybook/builder-webpack4": 6.3.12 + "@storybook/core-client": 6.3.12 + "@storybook/core-common": 6.3.12 + "@storybook/csf-tools": 6.3.12 + "@storybook/manager-webpack4": 6.3.12 + "@storybook/node-logger": 6.3.12 + "@storybook/semver": ^7.3.2 + "@types/node": ^14.0.10 + "@types/node-fetch": ^2.5.7 + "@types/pretty-hrtime": ^1.0.0 + "@types/webpack": ^4.41.26 + better-opn: ^2.1.1 + boxen: ^4.2.0 + chalk: ^4.1.0 + cli-table3: 0.6.0 + commander: ^6.2.1 + compression: ^1.7.4 + core-js: ^3.8.2 + cpy: ^8.1.1 + detect-port: ^1.3.0 + express: ^4.17.1 + file-system-cache: ^1.0.5 + fs-extra: ^9.0.1 + globby: ^11.0.2 + ip: ^1.1.5 + node-fetch: ^2.6.1 + pretty-hrtime: ^1.0.3 + prompts: ^2.4.0 + regenerator-runtime: ^0.13.7 + serve-favicon: ^2.5.0 + ts-dedent: ^2.0.0 + util-deprecate: ^1.0.2 + webpack: 4 + peerDependencies: + "@storybook/builder-webpack5": 6.3.12 + "@storybook/manager-webpack5": 6.3.12 + react: ^16.8.0 || ^17.0.0 + react-dom: ^16.8.0 || ^17.0.0 + peerDependenciesMeta: + "@storybook/builder-webpack5": + optional: true + "@storybook/manager-webpack5": + optional: true + typescript: + optional: true + checksum: 1e1aca91506d05ae87ad1dc31b0b499e074b73f2d68fff98ad149cb5d1f9f74484227552fb9ee4c0e4fd5e4487104e939d32a3c35162af0b4eed69f9fae45455 + languageName: node + linkType: hard + +"@storybook/core@npm:6.3.12": + version: 6.3.12 + resolution: "@storybook/core@npm:6.3.12" + dependencies: + "@storybook/core-client": 6.3.12 + "@storybook/core-server": 6.3.12 + peerDependencies: + "@storybook/builder-webpack5": 6.3.12 + react: ^16.8.0 || ^17.0.0 + react-dom: ^16.8.0 || ^17.0.0 + peerDependenciesMeta: + "@storybook/builder-webpack5": + optional: true + typescript: + optional: true + checksum: 42cce2c2d31abd0f4078a617ed572afc2263edb72c478eb0b50005a19784eb15e6d25ef936c338a6b84d9c306ec4017e5ff2c614eddf13ecdfca32e7bcefbb8c + languageName: node + linkType: hard + +"@storybook/csf-tools@npm:6.3.12": + version: 6.3.12 + resolution: "@storybook/csf-tools@npm:6.3.12" + dependencies: + "@babel/generator": ^7.12.11 + "@babel/parser": ^7.12.11 + "@babel/plugin-transform-react-jsx": ^7.12.12 + "@babel/preset-env": ^7.12.11 + "@babel/traverse": ^7.12.11 + "@babel/types": ^7.12.11 + "@mdx-js/mdx": ^1.6.22 + "@storybook/csf": ^0.0.1 + core-js: ^3.8.2 + fs-extra: ^9.0.1 + js-string-escape: ^1.0.1 + lodash: ^4.17.20 + prettier: ~2.2.1 + regenerator-runtime: ^0.13.7 + checksum: 5ce21a1123080d99b37e8410cc5027f36ae4b6b956c97c2effdb8b428789c89a3b78318ef42c58410962e9debb7d70bfe1afaae6e9bbaa630a8c61e4669afad7 + languageName: node + linkType: hard + +"@storybook/csf@npm:0.0.1, @storybook/csf@npm:^0.0.1": + version: 0.0.1 + resolution: "@storybook/csf@npm:0.0.1" + dependencies: + lodash: ^4.17.15 + checksum: fb57fa028b08a51edf44e1a2bf4be40a4607f5c6ccb58aae8924f476a42b9bbd61a0ad521cfc82196f23e6a912caae0a615e70a755e6800b284c91c509fd2de6 + languageName: node + linkType: hard + +"@storybook/manager-webpack4@npm:6.3.12": + version: 6.3.12 + resolution: "@storybook/manager-webpack4@npm:6.3.12" + dependencies: + "@babel/core": ^7.12.10 + "@babel/plugin-transform-template-literals": ^7.12.1 + "@babel/preset-react": ^7.12.10 + "@storybook/addons": 6.3.12 + "@storybook/core-client": 6.3.12 + "@storybook/core-common": 6.3.12 + "@storybook/node-logger": 6.3.12 + "@storybook/theming": 6.3.12 + "@storybook/ui": 6.3.12 + "@types/node": ^14.0.10 + "@types/webpack": ^4.41.26 + babel-loader: ^8.2.2 + case-sensitive-paths-webpack-plugin: ^2.3.0 + chalk: ^4.1.0 + core-js: ^3.8.2 + css-loader: ^3.6.0 + dotenv-webpack: ^1.8.0 + express: ^4.17.1 + file-loader: ^6.2.0 + file-system-cache: ^1.0.5 + find-up: ^5.0.0 + fs-extra: ^9.0.1 + html-webpack-plugin: ^4.0.0 + node-fetch: ^2.6.1 + pnp-webpack-plugin: 1.6.4 + read-pkg-up: ^7.0.1 + regenerator-runtime: ^0.13.7 + resolve-from: ^5.0.0 + style-loader: ^1.3.0 + telejson: ^5.3.2 + terser-webpack-plugin: ^4.2.3 + ts-dedent: ^2.0.0 + url-loader: ^4.1.1 + util-deprecate: ^1.0.2 + webpack: 4 + webpack-dev-middleware: ^3.7.3 + webpack-virtual-modules: ^0.2.2 + peerDependencies: + react: ^16.8.0 || ^17.0.0 + react-dom: ^16.8.0 || ^17.0.0 + peerDependenciesMeta: + typescript: + optional: true + checksum: ecd65aee17bb8cff76e7a6463e8d20efd33989569c5b9a0283d14c55329b454c8bd89a352e82b891e2ae2c9cfc0c2d17ae49dbcbfb7500d9968f744608f17a6b + languageName: node + linkType: hard + +"@storybook/manager-webpack5@npm:~6.3.0": + version: 6.3.12 + resolution: "@storybook/manager-webpack5@npm:6.3.12" + dependencies: + "@babel/core": ^7.12.10 + "@babel/plugin-transform-template-literals": ^7.12.1 + "@babel/preset-react": ^7.12.10 + "@storybook/addons": 6.3.12 + "@storybook/core-client": 6.3.12 + "@storybook/core-common": 6.3.12 + "@storybook/node-logger": 6.3.12 + "@storybook/theming": 6.3.12 + "@storybook/ui": 6.3.12 + "@types/node": ^14.0.10 + babel-loader: ^8.2.2 + case-sensitive-paths-webpack-plugin: ^2.3.0 + chalk: ^4.1.0 + core-js: ^3.8.2 + css-loader: ^5.0.1 + dotenv-webpack: ^7.0.0 + express: ^4.17.1 + file-loader: ^6.2.0 + file-system-cache: ^1.0.5 + find-up: ^5.0.0 + fs-extra: ^9.0.1 + html-webpack-plugin: ^5.0.0 + node-fetch: ^2.6.1 + read-pkg-up: ^7.0.1 + regenerator-runtime: ^0.13.7 + resolve-from: ^5.0.0 + style-loader: ^2.0.0 + telejson: ^5.3.2 + terser-webpack-plugin: ^5.0.3 + ts-dedent: ^2.0.0 + url-loader: ^4.1.1 + util-deprecate: ^1.0.2 + webpack: ^5.9.0 + webpack-dev-middleware: ^4.1.0 + webpack-virtual-modules: ^0.4.1 + peerDependencies: + react: ^16.8.0 || ^17.0.0 + react-dom: ^16.8.0 || ^17.0.0 + peerDependenciesMeta: + typescript: + optional: true + checksum: 52810440051e61758b36b1f6b3870c43b0733018cddb2309c563bb40bbf5df28c530b8ff1ca9416ca5aba3efa779494440b6549d8d7358524d0484ef6e6d3fc1 + languageName: node + linkType: hard + +"@storybook/node-logger@npm:6.1.20": + version: 6.1.20 + resolution: "@storybook/node-logger@npm:6.1.20" + dependencies: + "@types/npmlog": ^4.1.2 + chalk: ^4.0.0 + core-js: ^3.0.1 + npmlog: ^4.1.2 + pretty-hrtime: ^1.0.3 + checksum: 840295da7cac04a200867b363c050573af7562beec177a6fecc9c6b5647571ac0d34c32d4e2793fd33bba8c2f46c2a1f602990d4ef9e744525a1afe11a777a24 + languageName: node + linkType: hard + +"@storybook/node-logger@npm:6.3.12": + version: 6.3.12 + resolution: "@storybook/node-logger@npm:6.3.12" + dependencies: + "@types/npmlog": ^4.1.2 + chalk: ^4.1.0 + core-js: ^3.8.2 + npmlog: ^4.1.2 + pretty-hrtime: ^1.0.3 + checksum: 1cac2cef9450e87c46fd7da0240f43c3d00ca5543db4a97834a07837c289d20f0defb8819ea58deff0c7ba534ab70cec73e95e9729a346d0754c333754f73477 + languageName: node + linkType: hard + +"@storybook/postinstall@npm:6.3.12": + version: 6.3.12 + resolution: "@storybook/postinstall@npm:6.3.12" + dependencies: + core-js: ^3.8.2 + checksum: 1ed16575abe2efefe75b030a97e9cf0cc7f79b8feff2cec6588504afe0b96a5b81c2fb254b2e99953524d523336686d3e355bb1dd27d708537bf9c43b7bd6182 + languageName: node + linkType: hard + +"@storybook/react-docgen-typescript-plugin@npm:1.0.2-canary.253f8c1.0": + version: 1.0.2-canary.253f8c1.0 + resolution: "@storybook/react-docgen-typescript-plugin@npm:1.0.2-canary.253f8c1.0" + dependencies: + debug: ^4.1.1 + endent: ^2.0.1 + find-cache-dir: ^3.3.1 + flat-cache: ^3.0.4 + micromatch: ^4.0.2 + react-docgen-typescript: ^2.0.0 + tslib: ^2.0.0 + peerDependencies: + typescript: ">= 3.x" + webpack: ">= 4" + checksum: 7d2d1309e9291fd9c9a776f17df8682036352548384bc213dcf7625ccae770c13db396ec3a07917810651eee91fe4577ee7c1fe913fac416df7d0ae3334ef673 + languageName: node + linkType: hard + +"@storybook/react@npm:*, @storybook/react@npm:^6.3.12": + version: 6.3.12 + resolution: "@storybook/react@npm:6.3.12" + dependencies: + "@babel/preset-flow": ^7.12.1 + "@babel/preset-react": ^7.12.10 + "@pmmmwh/react-refresh-webpack-plugin": ^0.4.3 + "@storybook/addons": 6.3.12 + "@storybook/core": 6.3.12 + "@storybook/core-common": 6.3.12 + "@storybook/node-logger": 6.3.12 + "@storybook/react-docgen-typescript-plugin": 1.0.2-canary.253f8c1.0 + "@storybook/semver": ^7.3.2 + "@types/webpack-env": ^1.16.0 + babel-plugin-add-react-displayname: ^0.0.5 + babel-plugin-named-asset-import: ^0.3.1 + babel-plugin-react-docgen: ^4.2.1 + core-js: ^3.8.2 + global: ^4.4.0 + lodash: ^4.17.20 + prop-types: ^15.7.2 + react-dev-utils: ^11.0.3 + react-refresh: ^0.8.3 + read-pkg-up: ^7.0.1 + regenerator-runtime: ^0.13.7 + ts-dedent: ^2.0.0 + webpack: 4 + peerDependencies: + "@babel/core": ^7.11.5 + react: ^16.8.0 || ^17.0.0 + react-dom: ^16.8.0 || ^17.0.0 + peerDependenciesMeta: + "@babel/core": + optional: true + typescript: + optional: true + bin: + build-storybook: bin/build.js + start-storybook: bin/index.js + storybook-server: bin/index.js + checksum: b57ce0da87a92072be4daaa1573256f0d58c4fad6ee96ac7f6ab7a9c594dac8e8fd9b15e5789dcaa5fbe53a91c3374f3c87202136d068482c9eec6367886726f + languageName: node + linkType: hard + +"@storybook/router@npm:6.3.12": + version: 6.3.12 + resolution: "@storybook/router@npm:6.3.12" + dependencies: + "@reach/router": ^1.3.4 + "@storybook/client-logger": 6.3.12 + "@types/reach__router": ^1.3.7 + core-js: ^3.8.2 + fast-deep-equal: ^3.1.3 + global: ^4.4.0 + lodash: ^4.17.20 + memoizerific: ^1.11.3 + qs: ^6.10.0 + ts-dedent: ^2.0.0 + peerDependencies: + react: ^16.8.0 || ^17.0.0 + react-dom: ^16.8.0 || ^17.0.0 + checksum: 5681ffe434c021a8775fb81f37f3710e588d11d23aac28ab91bb18d60023de890a5dfc63bf4665e5bc1dd098937d0327ecc7de9c9070678ebc82022cb44f471c + languageName: node + linkType: hard + +"@storybook/semver@npm:^7.3.2": + version: 7.3.2 + resolution: "@storybook/semver@npm:7.3.2" + dependencies: + core-js: ^3.6.5 + find-up: ^4.1.0 + bin: + semver: bin/semver.js + checksum: c98225817af5539654ef547e33e4496edccc04a88b6091d4a5601f81b71743109074dc71cc444813f43c112273c9d54d5f99416e9ad08ee89b4913318e6aea90 + languageName: node + linkType: hard + +"@storybook/source-loader@npm:6.3.12": + version: 6.3.12 + resolution: "@storybook/source-loader@npm:6.3.12" + dependencies: + "@storybook/addons": 6.3.12 + "@storybook/client-logger": 6.3.12 + "@storybook/csf": 0.0.1 + core-js: ^3.8.2 + estraverse: ^5.2.0 + global: ^4.4.0 + loader-utils: ^2.0.0 + lodash: ^4.17.20 + prettier: ~2.2.1 + regenerator-runtime: ^0.13.7 + peerDependencies: + react: ^16.8.0 || ^17.0.0 + react-dom: ^16.8.0 || ^17.0.0 + checksum: 406775df20a18ba6e680887f03aaba05ff96026864d53a69adf8da0fd5be67fc870899253882c8f887d451c8d661e1d27cbdc9d9d5e47fb365c139876e56e6a4 + languageName: node + linkType: hard + +"@storybook/theming@npm:6.3.12": + version: 6.3.12 + resolution: "@storybook/theming@npm:6.3.12" + dependencies: + "@emotion/core": ^10.1.1 + "@emotion/is-prop-valid": ^0.8.6 + "@emotion/styled": ^10.0.27 + "@storybook/client-logger": 6.3.12 + core-js: ^3.8.2 + deep-object-diff: ^1.1.0 + emotion-theming: ^10.0.27 + global: ^4.4.0 + memoizerific: ^1.11.3 + polished: ^4.0.5 + resolve-from: ^5.0.0 + ts-dedent: ^2.0.0 + peerDependencies: + react: ^16.8.0 || ^17.0.0 + react-dom: ^16.8.0 || ^17.0.0 + checksum: bd4d443649942c17702e9993221f05c6863a1b197ac69609ac74d04b704ef2d020ad9e0a519a5bc49f8bb72a7dc2ca4eac9e44e64c29949b2ba9f8e898981538 + languageName: node + linkType: hard + +"@storybook/ui@npm:6.3.12": + version: 6.3.12 + resolution: "@storybook/ui@npm:6.3.12" + dependencies: + "@emotion/core": ^10.1.1 + "@storybook/addons": 6.3.12 + "@storybook/api": 6.3.12 + "@storybook/channels": 6.3.12 + "@storybook/client-logger": 6.3.12 + "@storybook/components": 6.3.12 + "@storybook/core-events": 6.3.12 + "@storybook/router": 6.3.12 + "@storybook/semver": ^7.3.2 + "@storybook/theming": 6.3.12 + "@types/markdown-to-jsx": ^6.11.3 + copy-to-clipboard: ^3.3.1 + core-js: ^3.8.2 + core-js-pure: ^3.8.2 + downshift: ^6.0.15 + emotion-theming: ^10.0.27 + fuse.js: ^3.6.1 + global: ^4.4.0 + lodash: ^4.17.20 + markdown-to-jsx: ^6.11.4 + memoizerific: ^1.11.3 + polished: ^4.0.5 + qs: ^6.10.0 + react-draggable: ^4.4.3 + react-helmet-async: ^1.0.7 + react-sizeme: ^3.0.1 + regenerator-runtime: ^0.13.7 + resolve-from: ^5.0.0 + store2: ^2.12.0 + peerDependencies: + react: ^16.8.0 || ^17.0.0 + react-dom: ^16.8.0 || ^17.0.0 + checksum: 87ad53484294bda29e5dbcfae9c9b1ecd5f3a224638083dbf2cac3efe6fd17107d762d0202b38bae29ff50171d15ba2c65e280c9b3344eee7a159cea98902518 + languageName: node + linkType: hard + +"@supabase/gotrue-js@npm:^1.19.0": + version: 1.19.0 + resolution: "@supabase/gotrue-js@npm:1.19.0" dependencies: cross-fetch: ^3.0.6 checksum: 8febfa55f28769bc65b6b9a46a8b1fc0782c641ccd3b1ef0336d40bcaa490a746cf271f6b182ade2e7722790cac8624391095ff73791979962c1a7cdee16bf8a @@ -3571,7 +5194,7 @@ __metadata: languageName: node linkType: hard -"@svgr/webpack@npm:^5.5.0": +"@svgr/webpack@npm:^5.4.0, @svgr/webpack@npm:^5.5.0": version: 5.5.0 resolution: "@svgr/webpack@npm:5.5.0" dependencies: @@ -3630,7 +5253,7 @@ __metadata: languageName: node linkType: hard -"@testing-library/dom@npm:^8.0.0": +"@testing-library/dom@npm:^8.0.0, @testing-library/dom@npm:^8.11.0": version: 8.11.0 resolution: "@testing-library/dom@npm:8.11.0" dependencies: @@ -3646,29 +5269,37 @@ __metadata: languageName: node linkType: hard -"@testing-library/react-hooks@npm:7.0.2": - version: 7.0.2 - resolution: "@testing-library/react-hooks@npm:7.0.2" +"@testing-library/jest-dom@npm:^5.15.0": + version: 5.15.0 + resolution: "@testing-library/jest-dom@npm:5.15.0" + dependencies: + "@babel/runtime": ^7.9.2 + "@types/testing-library__jest-dom": ^5.9.1 + aria-query: ^4.2.2 + chalk: ^3.0.0 + css: ^3.0.0 + css.escape: ^1.5.1 + dom-accessibility-api: ^0.5.6 + lodash: ^4.17.15 + redent: ^3.0.0 + checksum: fb11af2462b28bdcbbddf199f58e7f9153358358e2ec47dba311f21d88014351cc31087560e9cbacbccc78063e455361efffb31be6242edd1dbd2e21bb3f4359 + languageName: node + linkType: hard + +"@testing-library/react-hooks@npm:^3.7.0": + version: 3.7.0 + resolution: "@testing-library/react-hooks@npm:3.7.0" dependencies: "@babel/runtime": ^7.12.5 - "@types/react": ">=16.9.0" - "@types/react-dom": ">=16.9.0" - "@types/react-test-renderer": ">=16.9.0" - react-error-boundary: ^3.1.0 + "@types/testing-library__react-hooks": ^3.4.0 peerDependencies: react: ">=16.9.0" - react-dom: ">=16.9.0" react-test-renderer: ">=16.9.0" - peerDependenciesMeta: - react-dom: - optional: true - react-test-renderer: - optional: true - checksum: 27c6169b5c9832bd02dcea232e6a0a3cd8d4504e13ecb49d57eb5ab6bea5e2f1bff65f3102068b7e57eec3cbd671326dc0b277335014b0edfbdedf11a1fe6db5 + checksum: 7ada35cb4114056908990250033527ffd554d055eced797083aca752fb9789b3bc70291077f1d57b8cf64ab5eb7b3827f9de3bcaa38655f2b975c65a33a418d6 languageName: node linkType: hard -"@testing-library/react@npm:12.1.2": +"@testing-library/react@npm:^12.1.2": version: 12.1.2 resolution: "@testing-library/react@npm:12.1.2" dependencies: @@ -3681,6 +5312,17 @@ __metadata: languageName: node linkType: hard +"@testing-library/user-event@npm:^12.8.3": + version: 12.8.3 + resolution: "@testing-library/user-event@npm:12.8.3" + dependencies: + "@babel/runtime": ^7.12.5 + peerDependencies: + "@testing-library/dom": ">=7.21.4" + checksum: c9fb5ee07cbe79ddf32d81e1a353e556d02a1f1619456ccfad6abcdf1b7db400fdc9d7a8e0be3994f456e7135a0dfb7fa10b29fb98a0f5fc417b99fce0ce8166 + languageName: node + linkType: hard + "@tootallnate/once@npm:1": version: 1.1.2 resolution: "@tootallnate/once@npm:1.1.2" @@ -3743,6 +5385,29 @@ __metadata: languageName: node linkType: hard +"@types/braces@npm:*": + version: 3.0.1 + resolution: "@types/braces@npm:3.0.1" + checksum: 3749f7673a03d498ddb2f199b222bb403e53e78ac05a599c757c2049703ece802602c78640af0ff826be0fd2ea8b03daff04ce18806ed739592302195b7a569b + languageName: node + linkType: hard + +"@types/color-convert@npm:^2.0.0": + version: 2.0.0 + resolution: "@types/color-convert@npm:2.0.0" + dependencies: + "@types/color-name": "*" + checksum: 027b68665dc2278cc2d83e796ada0a05a08aa5a11297e227c48c7f9f6eac518dec98578ab0072bd211963d3e4b431da70b20ea28d6c3136d0badfd3f9913baee + languageName: node + linkType: hard + +"@types/color-name@npm:*": + version: 1.1.1 + resolution: "@types/color-name@npm:1.1.1" + checksum: b71fcad728cc68abcba1d405742134410c8f8eb3c2ef18113b047afca158ad23a4f2c229bcf71a38f4a818dead375c45b20db121d0e69259c2d81e97a740daa6 + languageName: node + linkType: hard + "@types/debug@npm:^4.0.0": version: 4.1.7 resolution: "@types/debug@npm:4.1.7" @@ -3795,7 +5460,14 @@ __metadata: languageName: node linkType: hard -"@types/glob@npm:^7.1.1": +"@types/glob-base@npm:^0.3.0": + version: 0.3.0 + resolution: "@types/glob-base@npm:0.3.0" + checksum: 67bd0ed2b6aa3d01fdf074dfbf2afa5696109ac5560f4d0464725cfefea79a378c650daf31bd11053cf17c269135d83051cf179f2bb287a54665476609cc122e + languageName: node + linkType: hard + +"@types/glob@npm:*, @types/glob@npm:^7.1.1": version: 7.2.0 resolution: "@types/glob@npm:7.2.0" dependencies: @@ -3830,6 +5502,20 @@ __metadata: languageName: node linkType: hard +"@types/html-minifier-terser@npm:^5.0.0": + version: 5.1.2 + resolution: "@types/html-minifier-terser@npm:5.1.2" + checksum: 4bca779c44d2aebe4cc4036c5db370abe7466249038e9c5996cb3c192debeff1c75b7a2ab78e5fd2a014ad24ebf0f357f9a174a4298540dc1e1317d43aa69cfa + languageName: node + linkType: hard + +"@types/html-minifier-terser@npm:^6.0.0": + version: 6.0.0 + resolution: "@types/html-minifier-terser@npm:6.0.0" + checksum: 8f602498d726c9fd30d2b895478b4e7cb1f91558d892e44f54533669dbbbfae572c5fb2b04ee4fa5cbe7f8d59982d2067bf5c2931a3aefcf8dac590e4494b103 + languageName: node + linkType: hard + "@types/http-proxy@npm:^1.17.5": version: 1.17.7 resolution: "@types/http-proxy@npm:1.17.7" @@ -3839,6 +5525,13 @@ __metadata: languageName: node linkType: hard +"@types/is-function@npm:^1.0.0": + version: 1.0.1 + resolution: "@types/is-function@npm:1.0.1" + checksum: dfbb591936dfebd4686b109603bc3e2d23a17087d6ec913fb35cd6b5a4ef908ed68ab93cb27d508f1546d312edf03e663cb6738d3b67d420c68da961ac2b3d1f + languageName: node + linkType: hard + "@types/istanbul-lib-coverage@npm:*, @types/istanbul-lib-coverage@npm:^2.0.0, @types/istanbul-lib-coverage@npm:^2.0.1": version: 2.0.3 resolution: "@types/istanbul-lib-coverage@npm:2.0.3" @@ -3864,7 +5557,7 @@ __metadata: languageName: node linkType: hard -"@types/jest@npm:27.0.2": +"@types/jest@npm:*, @types/jest@npm:^27.0.2": version: 27.0.2 resolution: "@types/jest@npm:27.0.2" dependencies: @@ -3888,6 +5581,15 @@ __metadata: languageName: node linkType: hard +"@types/markdown-to-jsx@npm:^6.11.3": + version: 6.11.3 + resolution: "@types/markdown-to-jsx@npm:6.11.3" + dependencies: + "@types/react": "*" + checksum: 9775a5a86c254f7235b6992474687197b9d1c44e7d95f631579aea9da5b880d9819653b3c549e7960c66e0ba6240b6e769d2d5141e7b10aa920f554c5a47fdd8 + languageName: node + linkType: hard + "@types/mdast@npm:^3.0.0": version: 3.0.10 resolution: "@types/mdast@npm:3.0.10" @@ -3904,6 +5606,15 @@ __metadata: languageName: node linkType: hard +"@types/micromatch@npm:^4.0.1": + version: 4.0.2 + resolution: "@types/micromatch@npm:4.0.2" + dependencies: + "@types/braces": "*" + checksum: 6c678e9c625d5b422c6d2c1001da1c502ecc4457248343bbd324b79fd798a6563e336a4d79630d80e8202312013dd7cf8b4440afa644d04477abd26fde6fba24 + languageName: node + linkType: hard + "@types/minimatch@npm:*": version: 3.0.5 resolution: "@types/minimatch@npm:3.0.5" @@ -3918,6 +5629,13 @@ __metadata: languageName: node linkType: hard +"@types/mocha@npm:^9.0.0": + version: 9.0.0 + resolution: "@types/mocha@npm:9.0.0" + checksum: 73e6edaba045bc250b69085a770d5029edfed006ed8e75344435474a2cb8d38064acd7b34b6cc62756caa845a5cf335bde66db11e8c8c6565c62a790e933704a + languageName: node + linkType: hard + "@types/ms@npm:*": version: 0.7.31 resolution: "@types/ms@npm:0.7.31" @@ -3925,6 +5643,16 @@ __metadata: languageName: node linkType: hard +"@types/node-fetch@npm:^2.5.7": + version: 2.5.12 + resolution: "@types/node-fetch@npm:2.5.12" + dependencies: + "@types/node": "*" + form-data: ^3.0.0 + checksum: ad63c85ba6a9477b8e057ec8682257738130d98e8ece4e31141789bd99df9d9147985cc8bc0cb5c8983ed5aa6bb95d46df23d1e055f4ad5cf8b82fc69cf626c7 + languageName: node + linkType: hard + "@types/node@npm:*, @types/node@npm:16.11.6": version: 16.11.6 resolution: "@types/node@npm:16.11.6" @@ -3932,7 +5660,7 @@ __metadata: languageName: node linkType: hard -"@types/node@npm:^14.14.31": +"@types/node@npm:^14.0.10, @types/node@npm:^14.14.31": version: 14.17.32 resolution: "@types/node@npm:14.17.32" checksum: c3ec45db5d8ca6ed80bcc2fe3cd9f15c1518d43cf048dd5444d1fcbe308d302a42721cb3f19548ac2e7b8b7db4f7f6cd4bf9ed58ab1d30a0bf61758350edd9d5 @@ -3953,6 +5681,13 @@ __metadata: languageName: node linkType: hard +"@types/overlayscrollbars@npm:^1.12.0": + version: 1.12.1 + resolution: "@types/overlayscrollbars@npm:1.12.1" + checksum: 4d539db07ad5a268d6eb8f3af84f64126dd2e99831895f0a7a82839dae6d7405dbb7dacecc0ecd6f6aef403f6c5ae946f9d65dd1fa8fa44f0cb9926f01032f3c + languageName: node + linkType: hard + "@types/parse-json@npm:^4.0.0": version: 4.0.0 resolution: "@types/parse-json@npm:4.0.0" @@ -3981,6 +5716,13 @@ __metadata: languageName: node linkType: hard +"@types/pretty-hrtime@npm:^1.0.0": + version: 1.0.1 + resolution: "@types/pretty-hrtime@npm:1.0.1" + checksum: a6cdee417eea6f7af914e4fcd13e05822864ce10b5d7646525632e86d69b79123eec55a5d3fff0155ba46b61902775e1644bcb80e1e4dffdac28e7febb089083 + languageName: node + linkType: hard + "@types/prop-types@npm:*": version: 15.7.4 resolution: "@types/prop-types@npm:15.7.4" @@ -3995,7 +5737,23 @@ __metadata: languageName: node linkType: hard -"@types/react-dom@npm:17.0.11, @types/react-dom@npm:>=16.9.0": +"@types/qs@npm:^6.9.5": + version: 6.9.7 + resolution: "@types/qs@npm:6.9.7" + checksum: 7fd6f9c25053e9b5bb6bc9f9f76c1d89e6c04f7707a7ba0e44cc01f17ef5284adb82f230f542c2d5557d69407c9a40f0f3515e8319afd14e1e16b5543ac6cdba + languageName: node + linkType: hard + +"@types/reach__router@npm:^1.3.7": + version: 1.3.9 + resolution: "@types/reach__router@npm:1.3.9" + dependencies: + "@types/react": "*" + checksum: 0cff95f0d972fd05cc5ae68c8f6951d11ef26431667845c58365e8ae71617766b7a05a6307c9f323379ad910045854aa327b403d9f671189dedd4c0396120ffa + languageName: node + linkType: hard + +"@types/react-dom@npm:17.0.11": version: 17.0.11 resolution: "@types/react-dom@npm:17.0.11" dependencies: @@ -4025,7 +5783,16 @@ __metadata: languageName: node linkType: hard -"@types/react-test-renderer@npm:>=16.9.0": +"@types/react-syntax-highlighter@npm:11.0.5": + version: 11.0.5 + resolution: "@types/react-syntax-highlighter@npm:11.0.5" + dependencies: + "@types/react": "*" + checksum: 8f4dce3eb5c70178c5ec2f7434983d632d02a0371a80c31ea012e37a2b8b2174bee482c3b85764333cbe3bcba9132b95307e23ac56d05d490e485e371bdcea46 + languageName: node + linkType: hard + +"@types/react-test-renderer@npm:*": version: 17.0.1 resolution: "@types/react-test-renderer@npm:17.0.1" dependencies: @@ -4034,7 +5801,7 @@ __metadata: languageName: node linkType: hard -"@types/react@npm:*, @types/react@npm:17.0.34, @types/react@npm:>=16.9.0": +"@types/react@npm:*, @types/react@npm:17.0.34": version: 17.0.34 resolution: "@types/react@npm:17.0.34" dependencies: @@ -4096,6 +5863,40 @@ __metadata: languageName: node linkType: hard +"@types/storybook__react@npm:^5.2.1": + version: 5.2.1 + resolution: "@types/storybook__react@npm:5.2.1" + dependencies: + "@storybook/react": "*" + checksum: 44538d6247098e5f25722b265df495d7bc0e4b2d1bac9ab812672914c7493554e4dcbedecb4ad5199ffa82c44d84bdcc4bc07ed24017bca4fdc67ae9473ff7df + languageName: node + linkType: hard + +"@types/tapable@npm:^1, @types/tapable@npm:^1.0.5": + version: 1.0.8 + resolution: "@types/tapable@npm:1.0.8" + checksum: b4b754dd0822c407b8f29ef6b766490721c276880f9e976d92ee2b3ef915f11a05a2442ae36c8978bcd872ad6bc833b0a2c4d267f2d611590668a366bad50652 + languageName: node + linkType: hard + +"@types/testing-library__jest-dom@npm:^5.9.1": + version: 5.14.1 + resolution: "@types/testing-library__jest-dom@npm:5.14.1" + dependencies: + "@types/jest": "*" + checksum: 77fe7ad3a9d49250972a0e3289b6d536942f95f0d539f32a917cf78c9422113d55c00de53b53dd4de1de49b68c8b500faea62e3017c4a64736cfbfbade749e04 + languageName: node + linkType: hard + +"@types/testing-library__react-hooks@npm:^3.4.0": + version: 3.4.1 + resolution: "@types/testing-library__react-hooks@npm:3.4.1" + dependencies: + "@types/react-test-renderer": "*" + checksum: f32a5659330a7c2e555bffa74807f7331b1d2fcdd5fe4c08cc9130a0a12826f5f1c5bdf3210e7b2b4c9b774bddecc283171a347f78dc98d28836b0f773583a03 + languageName: node + linkType: hard + "@types/trusted-types@npm:^2.0.2": version: 2.0.2 resolution: "@types/trusted-types@npm:2.0.2" @@ -4103,6 +5904,15 @@ __metadata: languageName: node linkType: hard +"@types/uglify-js@npm:*": + version: 3.13.1 + resolution: "@types/uglify-js@npm:3.13.1" + dependencies: + source-map: ^0.6.1 + checksum: def36fd2c698a33d8f67f5e21aab926eb9bda2d7951eab544941e1feb1231f020ff1c210d840dcc0fc9f07b5d22ef8b566887ddec9753b8b9f7223cceaa70993 + languageName: node + linkType: hard + "@types/unist@npm:*, @types/unist@npm:^2.0.0, @types/unist@npm:^2.0.2, @types/unist@npm:^2.0.3": version: 2.0.6 resolution: "@types/unist@npm:2.0.6" @@ -4110,6 +5920,24 @@ __metadata: languageName: node linkType: hard +"@types/webpack-env@npm:^1.16.0": + version: 1.16.3 + resolution: "@types/webpack-env@npm:1.16.3" + checksum: faefa7c0a75289fb469b9a5ae44059a00009de840e0e62d13b3f837d77647da76808e7839cdc414b8c585969cf6b6a7f290dc2cb437a9ccdf04cb214c68f3223 + languageName: node + linkType: hard + +"@types/webpack-sources@npm:*": + version: 3.2.0 + resolution: "@types/webpack-sources@npm:3.2.0" + dependencies: + "@types/node": "*" + "@types/source-list-map": "*" + source-map: ^0.7.3 + checksum: fa23dcfb99f79cc0ba8e6ca41cb8dedb406f8d7772e8e3d3d9b443bfb36557a1a78f4de2b97905554db98beee1a2ef6f930e188977adde6452392a64dd4b7c2a + languageName: node + linkType: hard + "@types/webpack-sources@npm:^0.1.5": version: 0.1.9 resolution: "@types/webpack-sources@npm:0.1.9" @@ -4121,6 +5949,20 @@ __metadata: languageName: node linkType: hard +"@types/webpack@npm:^4.41.26, @types/webpack@npm:^4.41.8": + version: 4.41.31 + resolution: "@types/webpack@npm:4.41.31" + dependencies: + "@types/node": "*" + "@types/tapable": ^1 + "@types/uglify-js": "*" + "@types/webpack-sources": "*" + anymatch: ^3.0.0 + source-map: ^0.6.0 + checksum: 8aa4b4ad68bb7a6ee5bd027005014e6242434162ed4c14cd251713ad6041e42bf7629fc56a5edc5a2124b49cc0dce273d6ee3386fae9a9cfe02e1f7e82087ea2 + languageName: node + linkType: hard + "@types/websocket@npm:^1.0.3": version: 1.0.4 resolution: "@types/websocket@npm:1.0.4" @@ -4137,6 +5979,15 @@ __metadata: languageName: node linkType: hard +"@types/yargs@npm:^15.0.0": + version: 15.0.14 + resolution: "@types/yargs@npm:15.0.14" + dependencies: + "@types/yargs-parser": "*" + checksum: 8e358aeb8f0c3758e59e2b8fcfdee5627ab2fe3d92f50f380503d966c7f33287be3322155516a50d27727fde1ad3878f48f60cd6648439126d4b0bbb1a1153ed + languageName: node + linkType: hard + "@types/yargs@npm:^16.0.0": version: 16.0.4 resolution: "@types/yargs@npm:16.0.4" @@ -4343,6 +6194,17 @@ __metadata: languageName: node linkType: hard +"@webassemblyjs/ast@npm:1.9.0": + version: 1.9.0 + resolution: "@webassemblyjs/ast@npm:1.9.0" + dependencies: + "@webassemblyjs/helper-module-context": 1.9.0 + "@webassemblyjs/helper-wasm-bytecode": 1.9.0 + "@webassemblyjs/wast-parser": 1.9.0 + checksum: 8a9838dc7fdac358aee8daa75eefa35934ab18dafb594092ff7be79c467ebe9dabb2543e58313c905fd802bdcc3cb8320e4e19af7444e49853a7a24e25138f75 + languageName: node + linkType: hard + "@webassemblyjs/floating-point-hex-parser@npm:1.11.1": version: 1.11.1 resolution: "@webassemblyjs/floating-point-hex-parser@npm:1.11.1" @@ -4350,6 +6212,13 @@ __metadata: languageName: node linkType: hard +"@webassemblyjs/floating-point-hex-parser@npm:1.9.0": + version: 1.9.0 + resolution: "@webassemblyjs/floating-point-hex-parser@npm:1.9.0" + checksum: d3aeb19bc30da26f639698daa28e44e0c18d5aa135359ef3c54148e194eec46451a912d0506099d479a71a94bc3eef6ef52d6ec234799528a25a9744789852de + languageName: node + linkType: hard + "@webassemblyjs/helper-api-error@npm:1.11.1": version: 1.11.1 resolution: "@webassemblyjs/helper-api-error@npm:1.11.1" @@ -4357,6 +6226,13 @@ __metadata: languageName: node linkType: hard +"@webassemblyjs/helper-api-error@npm:1.9.0": + version: 1.9.0 + resolution: "@webassemblyjs/helper-api-error@npm:1.9.0" + checksum: 9179d3148639cc202e89a118145b485cf834613260679a99af6ec487bbc15f238566ca713207394b336160a41bf8c1b75cf2e853b3e96f0cc73c1e5c735b3f64 + languageName: node + linkType: hard + "@webassemblyjs/helper-buffer@npm:1.11.1": version: 1.11.1 resolution: "@webassemblyjs/helper-buffer@npm:1.11.1" @@ -4364,6 +6240,38 @@ __metadata: languageName: node linkType: hard +"@webassemblyjs/helper-buffer@npm:1.9.0": + version: 1.9.0 + resolution: "@webassemblyjs/helper-buffer@npm:1.9.0" + checksum: dcb85f630f8a2e22b7346ad4dd58c3237a2cad1457699423e8fd19592a0bd3eacbc2639178a1b9a873c3ac217bfc7a23a134ff440a099496b590e82c7a4968d5 + languageName: node + linkType: hard + +"@webassemblyjs/helper-code-frame@npm:1.9.0": + version: 1.9.0 + resolution: "@webassemblyjs/helper-code-frame@npm:1.9.0" + dependencies: + "@webassemblyjs/wast-printer": 1.9.0 + checksum: a28fa057f7beff0fd14bff716561520f8edb8c9c56c7a5559451e6765acfb70aaeb8af718ea2bd2262e7baeba597545af407e28eb2eff8329235afe8605f20d1 + languageName: node + linkType: hard + +"@webassemblyjs/helper-fsm@npm:1.9.0": + version: 1.9.0 + resolution: "@webassemblyjs/helper-fsm@npm:1.9.0" + checksum: 374cc510c8f5a7a07d4fe9eb7036cc475a96a670b5d25c31f16757ac8295be8d03a2f29657ff53eaefa9e8315670a48824d430ed910e7c1835788ac79f93124e + languageName: node + linkType: hard + +"@webassemblyjs/helper-module-context@npm:1.9.0": + version: 1.9.0 + resolution: "@webassemblyjs/helper-module-context@npm:1.9.0" + dependencies: + "@webassemblyjs/ast": 1.9.0 + checksum: 55e8f89c7ea1beaa78fad88403f3753b8413b0f3b6bb32d898ce95078b3e1d1b48ade0919c00b82fc2e3813c0ab6901e415f7a4d4fa9be50944e2431adde75a5 + languageName: node + linkType: hard + "@webassemblyjs/helper-numbers@npm:1.11.1": version: 1.11.1 resolution: "@webassemblyjs/helper-numbers@npm:1.11.1" @@ -4382,6 +6290,13 @@ __metadata: languageName: node linkType: hard +"@webassemblyjs/helper-wasm-bytecode@npm:1.9.0": + version: 1.9.0 + resolution: "@webassemblyjs/helper-wasm-bytecode@npm:1.9.0" + checksum: 280da4df3c556f73a1a02053277f8a4be481de32df4aa21050b015c8f4d27c46af89f0417eb88e486df117e5df4bccffae593f78cb1e79f212d3b3d4f3ed0f04 + languageName: node + linkType: hard + "@webassemblyjs/helper-wasm-section@npm:1.11.1": version: 1.11.1 resolution: "@webassemblyjs/helper-wasm-section@npm:1.11.1" @@ -4394,6 +6309,18 @@ __metadata: languageName: node linkType: hard +"@webassemblyjs/helper-wasm-section@npm:1.9.0": + version: 1.9.0 + resolution: "@webassemblyjs/helper-wasm-section@npm:1.9.0" + dependencies: + "@webassemblyjs/ast": 1.9.0 + "@webassemblyjs/helper-buffer": 1.9.0 + "@webassemblyjs/helper-wasm-bytecode": 1.9.0 + "@webassemblyjs/wasm-gen": 1.9.0 + checksum: b8f7bb45d4194074c82210211a5d3e402a5b5fa63ecae26d2c356ae3978af5a530e91192fb260f32f9d561b18e2828b3da2e2f41c59efadb5f3c6d72446807f0 + languageName: node + linkType: hard + "@webassemblyjs/ieee754@npm:1.11.1": version: 1.11.1 resolution: "@webassemblyjs/ieee754@npm:1.11.1" @@ -4403,6 +6330,15 @@ __metadata: languageName: node linkType: hard +"@webassemblyjs/ieee754@npm:1.9.0": + version: 1.9.0 + resolution: "@webassemblyjs/ieee754@npm:1.9.0" + dependencies: + "@xtuc/ieee754": ^1.2.0 + checksum: 7fe4a217ba0f7051e2cfef92919d4a64fac1a63c65411763779bd50907820f33f440255231a474fe3ba03bd1d9ee0328662d1eae3fce4c59b91549d6b62b839b + languageName: node + linkType: hard + "@webassemblyjs/leb128@npm:1.11.1": version: 1.11.1 resolution: "@webassemblyjs/leb128@npm:1.11.1" @@ -4412,6 +6348,15 @@ __metadata: languageName: node linkType: hard +"@webassemblyjs/leb128@npm:1.9.0": + version: 1.9.0 + resolution: "@webassemblyjs/leb128@npm:1.9.0" + dependencies: + "@xtuc/long": 4.2.2 + checksum: 4ca7cbb869530d78d42a414f34ae53249364cb1ecebbfb6ed5d562c2f209fce857502f088822ee82a23876f653a262ddc34ab64e45a7962510a263d39bb3f51a + languageName: node + linkType: hard + "@webassemblyjs/utf8@npm:1.11.1": version: 1.11.1 resolution: "@webassemblyjs/utf8@npm:1.11.1" @@ -4419,6 +6364,13 @@ __metadata: languageName: node linkType: hard +"@webassemblyjs/utf8@npm:1.9.0": + version: 1.9.0 + resolution: "@webassemblyjs/utf8@npm:1.9.0" + checksum: e328a30ac8a503bbd015d32e75176e0dedcb45a21d4be051c25dfe89a00035ca7a6dbd8937b442dd5b4b334de3959d4f5fe0b330037bd226a28b9814cd49e84f + languageName: node + linkType: hard + "@webassemblyjs/wasm-edit@npm:1.11.1": version: 1.11.1 resolution: "@webassemblyjs/wasm-edit@npm:1.11.1" @@ -4435,6 +6387,22 @@ __metadata: languageName: node linkType: hard +"@webassemblyjs/wasm-edit@npm:1.9.0": + version: 1.9.0 + resolution: "@webassemblyjs/wasm-edit@npm:1.9.0" + dependencies: + "@webassemblyjs/ast": 1.9.0 + "@webassemblyjs/helper-buffer": 1.9.0 + "@webassemblyjs/helper-wasm-bytecode": 1.9.0 + "@webassemblyjs/helper-wasm-section": 1.9.0 + "@webassemblyjs/wasm-gen": 1.9.0 + "@webassemblyjs/wasm-opt": 1.9.0 + "@webassemblyjs/wasm-parser": 1.9.0 + "@webassemblyjs/wast-printer": 1.9.0 + checksum: 1997e0c2f4051c33239587fb143242919320bc861a0af03a873c7150a27d6404bd2e063c658193288b0aa88c35aadbe0c4fde601fe642bae0743a8c8eda52717 + languageName: node + linkType: hard + "@webassemblyjs/wasm-gen@npm:1.11.1": version: 1.11.1 resolution: "@webassemblyjs/wasm-gen@npm:1.11.1" @@ -4448,6 +6416,19 @@ __metadata: languageName: node linkType: hard +"@webassemblyjs/wasm-gen@npm:1.9.0": + version: 1.9.0 + resolution: "@webassemblyjs/wasm-gen@npm:1.9.0" + dependencies: + "@webassemblyjs/ast": 1.9.0 + "@webassemblyjs/helper-wasm-bytecode": 1.9.0 + "@webassemblyjs/ieee754": 1.9.0 + "@webassemblyjs/leb128": 1.9.0 + "@webassemblyjs/utf8": 1.9.0 + checksum: 2456e84e8e6bedb7ab47f6333a0ee170f7ef62842c90862ca787c08528ca8041061f3f8bc257fc2a01bf6e8d1a76fddaddd43418c738f681066e5b50f88fe7df + languageName: node + linkType: hard + "@webassemblyjs/wasm-opt@npm:1.11.1": version: 1.11.1 resolution: "@webassemblyjs/wasm-opt@npm:1.11.1" @@ -4460,6 +6441,18 @@ __metadata: languageName: node linkType: hard +"@webassemblyjs/wasm-opt@npm:1.9.0": + version: 1.9.0 + resolution: "@webassemblyjs/wasm-opt@npm:1.9.0" + dependencies: + "@webassemblyjs/ast": 1.9.0 + "@webassemblyjs/helper-buffer": 1.9.0 + "@webassemblyjs/wasm-gen": 1.9.0 + "@webassemblyjs/wasm-parser": 1.9.0 + checksum: 91242205bdbd1aa8045364a5338bfb34880cb2c65f56db8dd19382894209673699fb31a0e5279f25c7e5bcd8f3097d6c9ca84d8969d9613ef2cf166450cc3515 + languageName: node + linkType: hard + "@webassemblyjs/wasm-parser@npm:1.11.1": version: 1.11.1 resolution: "@webassemblyjs/wasm-parser@npm:1.11.1" @@ -4474,6 +6467,34 @@ __metadata: languageName: node linkType: hard +"@webassemblyjs/wasm-parser@npm:1.9.0": + version: 1.9.0 + resolution: "@webassemblyjs/wasm-parser@npm:1.9.0" + dependencies: + "@webassemblyjs/ast": 1.9.0 + "@webassemblyjs/helper-api-error": 1.9.0 + "@webassemblyjs/helper-wasm-bytecode": 1.9.0 + "@webassemblyjs/ieee754": 1.9.0 + "@webassemblyjs/leb128": 1.9.0 + "@webassemblyjs/utf8": 1.9.0 + checksum: 493f6cfc63a5e16073056c81ff0526a9936f461327379ef3c83cc841000e03623b6352704f6bf9f7cb5b3610f0032020a61f9cca78c91b15b8e995854b29c098 + languageName: node + linkType: hard + +"@webassemblyjs/wast-parser@npm:1.9.0": + version: 1.9.0 + resolution: "@webassemblyjs/wast-parser@npm:1.9.0" + dependencies: + "@webassemblyjs/ast": 1.9.0 + "@webassemblyjs/floating-point-hex-parser": 1.9.0 + "@webassemblyjs/helper-api-error": 1.9.0 + "@webassemblyjs/helper-code-frame": 1.9.0 + "@webassemblyjs/helper-fsm": 1.9.0 + "@xtuc/long": 4.2.2 + checksum: 705dd48fbbceec7f6bed299b8813631b242fd9312f9594dbb2985dda86c9688048692357d684f6080fc2c5666287cefaa26b263d01abadb6a9049d4c8978b9db + languageName: node + linkType: hard + "@webassemblyjs/wast-printer@npm:1.11.1": version: 1.11.1 resolution: "@webassemblyjs/wast-printer@npm:1.11.1" @@ -4484,6 +6505,17 @@ __metadata: languageName: node linkType: hard +"@webassemblyjs/wast-printer@npm:1.9.0": + version: 1.9.0 + resolution: "@webassemblyjs/wast-printer@npm:1.9.0" + dependencies: + "@webassemblyjs/ast": 1.9.0 + "@webassemblyjs/wast-parser": 1.9.0 + "@xtuc/long": 4.2.2 + checksum: 3d1e1b2e84745a963f69acd1c02425b321dd2e608e11dabc467cae0c9a808962bc769ec9afc46fbcea7188cc1e47d72370da762d258f716fb367cb1a7865c54b + languageName: node + linkType: hard + "@xtuc/ieee754@npm:^1.2.0": version: 1.2.0 resolution: "@xtuc/ieee754@npm:1.2.0" @@ -4584,7 +6616,7 @@ __metadata: languageName: node linkType: hard -"acorn-walk@npm:^7.0.0, acorn-walk@npm:^7.1.1": +"acorn-walk@npm:^7.0.0, acorn-walk@npm:^7.1.1, acorn-walk@npm:^7.2.0": version: 7.2.0 resolution: "acorn-walk@npm:7.2.0" checksum: 9252158a79b9d92f1bc0dd6acc0fcfb87a67339e84bcc301bb33d6078936d27e35d606b4d35626d2962cd43c256d6f27717e70cbe15c04fff999ab0b2260b21f @@ -4600,7 +6632,16 @@ __metadata: languageName: node linkType: hard -"acorn@npm:^7.0.0, acorn@npm:^7.1.1, acorn@npm:^7.4.0": +"acorn@npm:^6.4.1": + version: 6.4.2 + resolution: "acorn@npm:6.4.2" + bin: + acorn: bin/acorn + checksum: 44b07053729db7f44d28343eed32247ed56dc4a6ec6dff2b743141ecd6b861406bbc1c20bf9d4f143ea7dd08add5dc8c290582756539bc03a8db605050ce2fb4 + languageName: node + linkType: hard + +"acorn@npm:^7.0.0, acorn@npm:^7.1.1, acorn@npm:^7.4.0, acorn@npm:^7.4.1": version: 7.4.1 resolution: "acorn@npm:7.4.1" bin: @@ -4609,6 +6650,13 @@ __metadata: languageName: node linkType: hard +"address@npm:1.1.2, address@npm:^1.0.1": + version: 1.1.2 + resolution: "address@npm:1.1.2" + checksum: d966deee6ab9a0f96ed1d25dc73e91a248f64479c91f9daeb15237b8e3c39a02faac4e6afe8987ef9e5aea60a1593cef5882b7456ab2e6196fc0229a93ec39c2 + languageName: node + linkType: hard + "agent-base@npm:6, agent-base@npm:^6.0.2": version: 6.0.2 resolution: "agent-base@npm:6.0.2" @@ -4639,7 +6687,41 @@ __metadata: languageName: node linkType: hard -"ajv-keywords@npm:^3.4.1, ajv-keywords@npm:^3.5.2": +"airbnb-js-shims@npm:^2.2.1": + version: 2.2.1 + resolution: "airbnb-js-shims@npm:2.2.1" + dependencies: + array-includes: ^3.0.3 + array.prototype.flat: ^1.2.1 + array.prototype.flatmap: ^1.2.1 + es5-shim: ^4.5.13 + es6-shim: ^0.35.5 + function.prototype.name: ^1.1.0 + globalthis: ^1.0.0 + object.entries: ^1.1.0 + object.fromentries: ^2.0.0 || ^1.0.0 + object.getownpropertydescriptors: ^2.0.3 + object.values: ^1.1.0 + promise.allsettled: ^1.0.0 + promise.prototype.finally: ^3.1.0 + string.prototype.matchall: ^4.0.0 || ^3.0.1 + string.prototype.padend: ^3.0.0 + string.prototype.padstart: ^3.0.0 + symbol.prototype.description: ^1.0.0 + checksum: bdd96e4cac75a8a942fb93cb8b7150573363a9fb40ab8528997bc067f24ae83d3031165635075b1326e463dcf840cc036b2ceb554563e75a38faf0ca288407a3 + languageName: node + linkType: hard + +"ajv-errors@npm:^1.0.0": + version: 1.0.1 + resolution: "ajv-errors@npm:1.0.1" + peerDependencies: + ajv: ">=5.0.0" + checksum: 2c9fc02cf58f9aae5bace61ebd1b162e1ea372ae9db5999243ba5e32a9a78c0d635d29ae085f652c61c941a43af0b2b1acdb255e29d44dc43a6e021085716d8c + languageName: node + linkType: hard + +"ajv-keywords@npm:^3.1.0, ajv-keywords@npm:^3.4.1, ajv-keywords@npm:^3.5.2": version: 3.5.2 resolution: "ajv-keywords@npm:3.5.2" peerDependencies: @@ -4660,7 +6742,7 @@ __metadata: languageName: node linkType: hard -"ajv@npm:^6.10.0, ajv@npm:^6.12.2, ajv@npm:^6.12.3, ajv@npm:^6.12.4, ajv@npm:^6.12.5": +"ajv@npm:^6.1.0, ajv@npm:^6.10.0, ajv@npm:^6.10.2, ajv@npm:^6.12.2, ajv@npm:^6.12.3, ajv@npm:^6.12.4, ajv@npm:^6.12.5": version: 6.12.6 resolution: "ajv@npm:6.12.6" dependencies: @@ -4686,6 +6768,22 @@ __metadata: languageName: node linkType: hard +"ansi-align@npm:^3.0.0": + version: 3.0.1 + resolution: "ansi-align@npm:3.0.1" + dependencies: + string-width: ^4.1.0 + checksum: 6abfa08f2141d231c257162b15292467081fa49a208593e055c866aa0455b57f3a86b5a678c190c618faa79b4c59e254493099cb700dd9cf2293c6be2c8f5d8d + languageName: node + linkType: hard + +"ansi-colors@npm:^3.0.0": + version: 3.2.4 + resolution: "ansi-colors@npm:3.2.4" + checksum: 026c51880e9f8eb59b112669a87dbea4469939ff94b131606303bbd697438a6691b16b9db3027aa9bf132a244214e83ab1508b998496a34d2aea5b437ac9e62d + languageName: node + linkType: hard + "ansi-colors@npm:^4.1.1": version: 4.1.1 resolution: "ansi-colors@npm:4.1.1" @@ -4702,7 +6800,7 @@ __metadata: languageName: node linkType: hard -"ansi-html-community@npm:^0.0.8": +"ansi-html-community@npm:0.0.8, ansi-html-community@npm:^0.0.8": version: 0.0.8 resolution: "ansi-html-community@npm:0.0.8" bin: @@ -4711,6 +6809,15 @@ __metadata: languageName: node linkType: hard +"ansi-html@npm:^0.0.7": + version: 0.0.7 + resolution: "ansi-html@npm:0.0.7" + bin: + ansi-html: ./bin/ansi-html + checksum: 9b839ce99650b4c2d83621d67d68622d27e7948b54f7a4386f2218a3997ee4e684e5a6e8d290880c3f3260e8d90c2613c59c7028f04992ad5c8d99d3a0fcc02c + languageName: node + linkType: hard + "ansi-regex@npm:^2.0.0": version: 2.1.1 resolution: "ansi-regex@npm:2.1.1" @@ -4732,6 +6839,13 @@ __metadata: languageName: node linkType: hard +"ansi-styles@npm:^2.2.1": + version: 2.2.1 + resolution: "ansi-styles@npm:2.2.1" + checksum: ebc0e00381f2a29000d1dac8466a640ce11943cef3bda3cd0020dc042e31e1058ab59bf6169cd794a54c3a7338a61ebc404b7c91e004092dd20e028c432c9c2c + languageName: node + linkType: hard + "ansi-styles@npm:^3.2.1": version: 3.2.1 resolution: "ansi-styles@npm:3.2.1" @@ -4757,7 +6871,28 @@ __metadata: languageName: node linkType: hard -"anymatch@npm:^3.0.3, anymatch@npm:~3.1.1, anymatch@npm:~3.1.2": +"ansi-to-html@npm:^0.6.11": + version: 0.6.15 + resolution: "ansi-to-html@npm:0.6.15" + dependencies: + entities: ^2.0.0 + bin: + ansi-to-html: bin/ansi-to-html + checksum: c899362a29b92c8ae075b72168b826f7c233875b475719304942f80695e0ce4a6812845021192da5fb0ac80b10209b4fae5aede42620a1b1b3d3b30f3ef77a86 + languageName: node + linkType: hard + +"anymatch@npm:^2.0.0": + version: 2.0.0 + resolution: "anymatch@npm:2.0.0" + dependencies: + micromatch: ^3.1.4 + normalize-path: ^2.1.1 + checksum: f7bb1929842b4585cdc28edbb385767d499ce7d673f96a8f11348d2b2904592ffffc594fe9229b9a1e9e4dccb9329b7692f9f45e6a11dcefbb76ecdc9ab740f6 + languageName: node + linkType: hard + +"anymatch@npm:^3.0.0, anymatch@npm:^3.0.3, anymatch@npm:~3.1.1, anymatch@npm:~3.1.2": version: 3.1.2 resolution: "anymatch@npm:3.1.2" dependencies: @@ -4767,7 +6902,14 @@ __metadata: languageName: node linkType: hard -"aproba@npm:^1.0.3": +"app-root-dir@npm:^1.0.2": + version: 1.0.2 + resolution: "app-root-dir@npm:1.0.2" + checksum: d4b1653fc60b6465b982bf5a88b12051ed2d807d70609386a809306e1c636496f53522d61fa30f9f98c71aaae34f34e1651889cf17d81a44e3dafd2859d495ad + languageName: node + linkType: hard + +"aproba@npm:^1.0.3, aproba@npm:^1.1.1": version: 1.2.0 resolution: "aproba@npm:1.2.0" checksum: 0fca141966559d195072ed047658b6e6c4fe92428c385dd38e288eacfc55807e7b4989322f030faff32c0f46bb0bc10f1e0ac32ec22d25315a1e5bbc0ebb76dc @@ -4831,6 +6973,27 @@ __metadata: languageName: node linkType: hard +"arr-diff@npm:^4.0.0": + version: 4.0.0 + resolution: "arr-diff@npm:4.0.0" + checksum: ea7c8834842ad3869297f7915689bef3494fd5b102ac678c13ffccab672d3d1f35802b79e90c4cfec2f424af3392e44112d1ccf65da34562ed75e049597276a0 + languageName: node + linkType: hard + +"arr-flatten@npm:^1.1.0": + version: 1.1.0 + resolution: "arr-flatten@npm:1.1.0" + checksum: 963fe12564fca2f72c055f3f6c206b9e031f7c433a0c66ca9858b484821f248c5b1e5d53c8e4989d80d764cd776cf6d9b160ad05f47bdc63022bfd63b5455e22 + languageName: node + linkType: hard + +"arr-union@npm:^3.1.0": + version: 3.1.0 + resolution: "arr-union@npm:3.1.0" + checksum: b5b0408c6eb7591143c394f3be082fee690ddd21f0fdde0a0a01106799e847f67fcae1b7e56b0a0c173290e29c6aca9562e82b300708a268bc8f88f3d6613cb9 + languageName: node + linkType: hard + "array-flatten@npm:1.1.1": version: 1.1.1 resolution: "array-flatten@npm:1.1.1" @@ -4852,7 +7015,7 @@ __metadata: languageName: node linkType: hard -"array-includes@npm:^3.1.1, array-includes@npm:^3.1.3, array-includes@npm:^3.1.4": +"array-includes@npm:^3.0.3, array-includes@npm:^3.1.1, array-includes@npm:^3.1.3, array-includes@npm:^3.1.4": version: 3.1.4 resolution: "array-includes@npm:3.1.4" dependencies: @@ -4865,7 +7028,7 @@ __metadata: languageName: node linkType: hard -"array-union@npm:^1.0.1": +"array-union@npm:^1.0.1, array-union@npm:^1.0.2": version: 1.0.2 resolution: "array-union@npm:1.0.2" dependencies: @@ -4888,7 +7051,14 @@ __metadata: languageName: node linkType: hard -"array.prototype.flat@npm:^1.2.5": +"array-unique@npm:^0.3.2": + version: 0.3.2 + resolution: "array-unique@npm:0.3.2" + checksum: da344b89cfa6b0a5c221f965c21638bfb76b57b45184a01135382186924f55973cd9b171d4dad6bf606c6d9d36b0d721d091afdc9791535ead97ccbe78f8a888 + languageName: node + linkType: hard + +"array.prototype.flat@npm:^1.2.1, array.prototype.flat@npm:^1.2.5": version: 1.2.5 resolution: "array.prototype.flat@npm:1.2.5" dependencies: @@ -4899,7 +7069,7 @@ __metadata: languageName: node linkType: hard -"array.prototype.flatmap@npm:^1.2.4": +"array.prototype.flatmap@npm:^1.2.1, array.prototype.flatmap@npm:^1.2.4": version: 1.2.5 resolution: "array.prototype.flatmap@npm:1.2.5" dependencies: @@ -4910,6 +7080,19 @@ __metadata: languageName: node linkType: hard +"array.prototype.map@npm:^1.0.4": + version: 1.0.4 + resolution: "array.prototype.map@npm:1.0.4" + dependencies: + call-bind: ^1.0.2 + define-properties: ^1.1.3 + es-abstract: ^1.19.0 + es-array-method-boxes-properly: ^1.0.0 + is-string: ^1.0.7 + checksum: 08c8065ae9e60585c1262e54556da2340cd140dc799d790843c1f4ad3a3f458e9866d147c8ff0308741e8316904313f682803ca15c179f65cb2f5b993fa71a82 + languageName: node + linkType: hard + "arrify@npm:^1.0.1": version: 1.0.1 resolution: "arrify@npm:1.0.1" @@ -4917,6 +7100,13 @@ __metadata: languageName: node linkType: hard +"arrify@npm:^2.0.1": + version: 2.0.1 + resolution: "arrify@npm:2.0.1" + checksum: 067c4c1afd182806a82e4c1cb8acee16ab8b5284fbca1ce29408e6e91281c36bb5b612f6ddfbd40a0f7a7e0c75bf2696eb94c027f6e328d6e9c52465c98e4209 + languageName: node + linkType: hard + "asn1.js@npm:^5.2.0": version: 5.4.1 resolution: "asn1.js@npm:5.4.1" @@ -4957,6 +7147,23 @@ __metadata: languageName: node linkType: hard +"assert@npm:^1.1.1": + version: 1.5.0 + resolution: "assert@npm:1.5.0" + dependencies: + object-assign: ^4.1.1 + util: 0.10.3 + checksum: 9be48435f726029ae7020c5888a3566bf4d617687aab280827f2e4029644b6515a9519ea10d018b342147c02faf73d9e9419e780e8937b3786ee4945a0ca71e5 + languageName: node + linkType: hard + +"assign-symbols@npm:^1.0.0": + version: 1.0.0 + resolution: "assign-symbols@npm:1.0.0" + checksum: c0eb895911d05b6b2d245154f70461c5e42c107457972e5ebba38d48967870dee53bcdf6c7047990586daa80fab8dab3cc6300800fbd47b454247fdedd859a2c + languageName: node + linkType: hard + "ast-types-flow@npm:^0.0.7": version: 0.0.7 resolution: "ast-types-flow@npm:0.0.7" @@ -4964,6 +7171,15 @@ __metadata: languageName: node linkType: hard +"ast-types@npm:^0.14.2": + version: 0.14.2 + resolution: "ast-types@npm:0.14.2" + dependencies: + tslib: ^2.0.1 + checksum: 8674a77307764979f0a0b2006b7223a4b789abffaa7acbf6a1132650a799252155170173a1ff6a7fb6897f59437fc955f2707bdfc391b0797750898876e6c9ed + languageName: node + linkType: hard + "astral-regex@npm:^2.0.0": version: 2.0.0 resolution: "astral-regex@npm:2.0.0" @@ -4971,6 +7187,13 @@ __metadata: languageName: node linkType: hard +"async-each@npm:^1.0.1": + version: 1.0.3 + resolution: "async-each@npm:1.0.3" + checksum: 868651cfeb209970b367fbb96df1e1c8dc0b22c681cda7238417005ab2a5fbd944ee524b43f2692977259a57b7cc2547e03ff68f2b5113dbdf953d48cc078dc3 + languageName: node + linkType: hard + "async@npm:0.9.x": version: 0.9.2 resolution: "async@npm:0.9.2" @@ -5035,7 +7258,7 @@ __metadata: languageName: node linkType: hard -"autoprefixer@npm:^9.6.1": +"autoprefixer@npm:^9.6.1, autoprefixer@npm:^9.8.6": version: 9.8.8 resolution: "autoprefixer@npm:9.8.8" dependencies: @@ -5073,7 +7296,7 @@ __metadata: languageName: node linkType: hard -"axe-core@npm:^4.0.2": +"axe-core@npm:^4.0.2, axe-core@npm:^4.2.0": version: 4.3.5 resolution: "axe-core@npm:4.3.5" checksum: 973c6a80f0aaa663820b209d4202de7a0c240a2dea2f3cff168b09c0f221b27179b1f0988f00ad11ed63cbc50535920f8ca779de1c60dc82090ab2d275f71fdd @@ -5096,6 +7319,33 @@ __metadata: languageName: node linkType: hard +"babel-code-frame@npm:^6.26.0": + version: 6.26.0 + resolution: "babel-code-frame@npm:6.26.0" + dependencies: + chalk: ^1.1.3 + esutils: ^2.0.2 + js-tokens: ^3.0.2 + checksum: 9410c3d5a921eb02fa409675d1a758e493323a49e7b9dddb7a2a24d47e61d39ab1129dd29f9175836eac9ce8b1d4c0a0718fcdc57ce0b865b529fd250dbab313 + languageName: node + linkType: hard + +"babel-eslint@npm:^10.1.0": + version: 10.1.0 + resolution: "babel-eslint@npm:10.1.0" + dependencies: + "@babel/code-frame": ^7.0.0 + "@babel/parser": ^7.7.0 + "@babel/traverse": ^7.7.0 + "@babel/types": ^7.7.0 + eslint-visitor-keys: ^1.0.0 + resolve: ^1.12.0 + peerDependencies: + eslint: ">= 4.12.1" + checksum: bdc1f62b6b0f9c4d5108c96d835dad0c0066bc45b7c020fcb2d6a08107cf69c9217a99d3438dbd701b2816896190c4283ba04270ed9a8349ee07bd8dafcdc050 + languageName: node + linkType: hard + "babel-jest@npm:27.3.1, babel-jest@npm:^27.2.2, babel-jest@npm:^27.3.1": version: 27.3.1 resolution: "babel-jest@npm:27.3.1" @@ -5114,7 +7364,7 @@ __metadata: languageName: node linkType: hard -"babel-loader@npm:^8.2.2": +"babel-loader@npm:^8.2.2, babel-loader@npm:^8.2.3": version: 8.2.3 resolution: "babel-loader@npm:8.2.3" dependencies: @@ -5129,6 +7379,22 @@ __metadata: languageName: node linkType: hard +"babel-messages@npm:^6.23.0": + version: 6.23.0 + resolution: "babel-messages@npm:6.23.0" + dependencies: + babel-runtime: ^6.22.0 + checksum: c8075c17587a33869e1a5bd0a5b73bbe395b68188362dacd5418debbc7c8fd784bcd3295e81ee7e410dc2c2655755add6af03698c522209f6a68334c15e6d6ca + languageName: node + linkType: hard + +"babel-plugin-add-react-displayname@npm:^0.0.5": + version: 0.0.5 + resolution: "babel-plugin-add-react-displayname@npm:0.0.5" + checksum: a5b52aa14327b1fa2949f32140cd1b0b283b2035881453d71dcedc825a7378aa3a578bff5f76d1632875eedb40612dc4e71585852ce5cb3c2869c180643fd001 + languageName: node + linkType: hard + "babel-plugin-apply-mdx-type-prop@npm:1.6.22": version: 1.6.22 resolution: "babel-plugin-apply-mdx-type-prop@npm:1.6.22" @@ -5163,6 +7429,24 @@ __metadata: languageName: node linkType: hard +"babel-plugin-emotion@npm:^10.0.27": + version: 10.2.2 + resolution: "babel-plugin-emotion@npm:10.2.2" + dependencies: + "@babel/helper-module-imports": ^7.0.0 + "@emotion/hash": 0.8.0 + "@emotion/memoize": 0.7.4 + "@emotion/serialize": ^0.11.16 + babel-plugin-macros: ^2.0.0 + babel-plugin-syntax-jsx: ^6.18.0 + convert-source-map: ^1.5.0 + escape-string-regexp: ^1.0.5 + find-root: ^1.1.0 + source-map: ^0.5.7 + checksum: 763f38c67ffbe7d091691d68c74686ba478296cc24716699fb5b0feddce1b1b47878a20b0bbe2aa4dea17f41074ead4deae7935d2cf6823638766709812c5b40 + languageName: node + linkType: hard + "babel-plugin-extract-import-names@npm:1.6.22": version: 1.6.22 resolution: "babel-plugin-extract-import-names@npm:1.6.22" @@ -5172,7 +7456,7 @@ __metadata: languageName: node linkType: hard -"babel-plugin-istanbul@npm:^6.0.0": +"babel-plugin-istanbul@npm:^6.0.0, babel-plugin-istanbul@npm:^6.1.1": version: 6.1.1 resolution: "babel-plugin-istanbul@npm:6.1.1" dependencies: @@ -5197,7 +7481,7 @@ __metadata: languageName: node linkType: hard -"babel-plugin-macros@npm:^2.6.1, babel-plugin-macros@npm:^2.8.0": +"babel-plugin-macros@npm:^2.0.0, babel-plugin-macros@npm:^2.6.1, babel-plugin-macros@npm:^2.8.0": version: 2.8.0 resolution: "babel-plugin-macros@npm:2.8.0" dependencies: @@ -5208,6 +7492,17 @@ __metadata: languageName: node linkType: hard +"babel-plugin-macros@npm:^3.0.1, babel-plugin-macros@npm:^3.1.0": + version: 3.1.0 + resolution: "babel-plugin-macros@npm:3.1.0" + dependencies: + "@babel/runtime": ^7.12.5 + cosmiconfig: ^7.0.0 + resolve: ^1.19.0 + checksum: 765de4abebd3e4688ebdfbff8571ddc8cd8061f839bb6c3e550b0344a4027b04c60491f843296ce3f3379fb356cc873d57a9ee6694262547eb822c14a25be9a6 + languageName: node + linkType: hard + "babel-plugin-module-resolver@npm:4.1.0": version: 4.1.0 resolution: "babel-plugin-module-resolver@npm:4.1.0" @@ -5221,6 +7516,15 @@ __metadata: languageName: node linkType: hard +"babel-plugin-named-asset-import@npm:^0.3.1": + version: 0.3.7 + resolution: "babel-plugin-named-asset-import@npm:0.3.7" + peerDependencies: + "@babel/core": ^7.1.0 + checksum: 4c9a42a2762f3d596a09105d05991525a0553d095030459d0f71449b023801ccc43e90fa20b618c52283dc61ca528a4a59df244e5b1dd583867786088eb473b7 + languageName: node + linkType: hard + "babel-plugin-polyfill-corejs2@npm:^0.2.3": version: 0.2.3 resolution: "babel-plugin-polyfill-corejs2@npm:0.2.3" @@ -5234,6 +7538,18 @@ __metadata: languageName: node linkType: hard +"babel-plugin-polyfill-corejs3@npm:^0.1.0": + version: 0.1.7 + resolution: "babel-plugin-polyfill-corejs3@npm:0.1.7" + dependencies: + "@babel/helper-define-polyfill-provider": ^0.1.5 + core-js-compat: ^3.8.1 + peerDependencies: + "@babel/core": ^7.0.0-0 + checksum: 5c420590a6e18688a868218fa1f5025e9294d093968d2fe1e6aa86981776d66826182f9b36cdd1c41741e9c401bf76164313aab6661efb56741348ed0e98448d + languageName: node + linkType: hard + "babel-plugin-polyfill-corejs3@npm:^0.3.0": version: 0.3.0 resolution: "babel-plugin-polyfill-corejs3@npm:0.3.0" @@ -5257,6 +7573,31 @@ __metadata: languageName: node linkType: hard +"babel-plugin-react-docgen@npm:^4.2.1": + version: 4.2.1 + resolution: "babel-plugin-react-docgen@npm:4.2.1" + dependencies: + ast-types: ^0.14.2 + lodash: ^4.17.15 + react-docgen: ^5.0.0 + checksum: 6126d358ac2cb27a9a7f145ab586b7a28cb19ef09ca37c4f08a853246a101328ffe6c87813e95b1b4ba05beb627285199f7d0ba16abfb61b35cc4febb6d5eabd + languageName: node + linkType: hard + +"babel-plugin-react-remove-properties@npm:^0.3.0": + version: 0.3.0 + resolution: "babel-plugin-react-remove-properties@npm:0.3.0" + checksum: dc7165301fb8667ebdac7808e7210cd25157e0988288124f4425df99b63169f271cd87f0c12b988c5f2c5294e61dc409e06413fa7067c2f205a77b5c59a45d6e + languageName: node + linkType: hard + +"babel-plugin-syntax-jsx@npm:^6.18.0": + version: 6.18.0 + resolution: "babel-plugin-syntax-jsx@npm:6.18.0" + checksum: 0c7ce5b81d6cfc01a7dd7a76a9a8f090ee02ba5c890310f51217ef1a7e6163fb7848994bbc14fd560117892e82240df9c7157ad0764da67ca5f2afafb73a7d27 + languageName: node + linkType: hard + "babel-plugin-transform-async-to-promises@npm:^0.8.15": version: 0.8.15 resolution: "babel-plugin-transform-async-to-promises@npm:0.8.15" @@ -5264,6 +7605,17 @@ __metadata: languageName: node linkType: hard +"babel-plugin-transform-glob-import@npm:^1.0.1": + version: 1.0.1 + resolution: "babel-plugin-transform-glob-import@npm:1.0.1" + dependencies: + babel-template: ^6.26.0 + glob: ^7.1.2 + micromatch: ^3.1.0 + checksum: 245c406d0d920c75475fe101fb3c68dd84af1914c5f8626e6ecf045414367e823181cffcba28cbc30d48f7734c4c3bfee520f6a80b22de5508473bc2dbf45c61 + languageName: node + linkType: hard + "babel-plugin-transform-typescript-metadata@npm:^0.3.1": version: 0.3.2 resolution: "babel-plugin-transform-typescript-metadata@npm:0.3.2" @@ -5307,6 +7659,67 @@ __metadata: languageName: node linkType: hard +"babel-runtime@npm:^6.22.0, babel-runtime@npm:^6.26.0": + version: 6.26.0 + resolution: "babel-runtime@npm:6.26.0" + dependencies: + core-js: ^2.4.0 + regenerator-runtime: ^0.11.0 + checksum: 8aeade94665e67a73c1ccc10f6fd42ba0c689b980032b70929de7a6d9a12eb87ef51902733f8fefede35afea7a5c3ef7e916a64d503446c1eedc9e3284bd3d50 + languageName: node + linkType: hard + +"babel-template@npm:^6.26.0": + version: 6.26.0 + resolution: "babel-template@npm:6.26.0" + dependencies: + babel-runtime: ^6.26.0 + babel-traverse: ^6.26.0 + babel-types: ^6.26.0 + babylon: ^6.18.0 + lodash: ^4.17.4 + checksum: 028dd57380f09b5641b74874a19073c53c4fb3f1696e849575aae18f8c80eaf21db75209057db862f3b893ce2cd9b795d539efa591b58f4a0fb011df0a56fbed + languageName: node + linkType: hard + +"babel-traverse@npm:^6.26.0": + version: 6.26.0 + resolution: "babel-traverse@npm:6.26.0" + dependencies: + babel-code-frame: ^6.26.0 + babel-messages: ^6.23.0 + babel-runtime: ^6.26.0 + babel-types: ^6.26.0 + babylon: ^6.18.0 + debug: ^2.6.8 + globals: ^9.18.0 + invariant: ^2.2.2 + lodash: ^4.17.4 + checksum: fca037588d2791ae0409f1b7aa56075b798699cccc53ea04d82dd1c0f97b9e7ab17065f7dd3ecd69101d7874c9c8fd5e0f88fa53abbae1fe94e37e6b81ebcb8d + languageName: node + linkType: hard + +"babel-types@npm:^6.26.0": + version: 6.26.0 + resolution: "babel-types@npm:6.26.0" + dependencies: + babel-runtime: ^6.26.0 + esutils: ^2.0.2 + lodash: ^4.17.4 + to-fast-properties: ^1.0.3 + checksum: d16b0fa86e9b0e4c2623be81d0a35679faff24dd2e43cde4ca58baf49f3e39415a011a889e6c2259ff09e1228e4c3a3db6449a62de59e80152fe1ce7398fde76 + languageName: node + linkType: hard + +"babylon@npm:^6.18.0": + version: 6.18.0 + resolution: "babylon@npm:6.18.0" + bin: + babylon: ./bin/babylon.js + checksum: 0777ae0c735ce1cbfc856d627589ed9aae212b84fb0c03c368b55e6c5d3507841780052808d0ad46e18a2ba516e93d55eeed8cd967f3b2938822dfeccfb2a16d + languageName: node + linkType: hard + "bail@npm:^1.0.0": version: 1.0.5 resolution: "bail@npm:1.0.5" @@ -5342,6 +7755,21 @@ __metadata: languageName: node linkType: hard +"base@npm:^0.11.1": + version: 0.11.2 + resolution: "base@npm:0.11.2" + dependencies: + cache-base: ^1.0.1 + class-utils: ^0.3.5 + component-emitter: ^1.2.1 + define-property: ^1.0.0 + isobject: ^3.0.1 + mixin-deep: ^1.2.0 + pascalcase: ^0.1.1 + checksum: a4a146b912e27eea8f66d09cb0c9eab666f32ce27859a7dfd50f38cd069a2557b39f16dba1bc2aecb3b44bf096738dd207b7970d99b0318423285ab1b1994edd + languageName: node + linkType: hard + "basic-auth@npm:^1.0.3": version: 1.1.0 resolution: "basic-auth@npm:1.1.0" @@ -5349,6 +7777,13 @@ __metadata: languageName: node linkType: hard +"batch-processor@npm:1.0.0": + version: 1.0.0 + resolution: "batch-processor@npm:1.0.0" + checksum: 5519b024f6cd0e95a543bb3edf0ae19e5badae0c32b30b41839b4469bbb1f91e14fc04bff3759cd9c2621aa9e16def48c938783e9027e7ec977fba62d537a468 + languageName: node + linkType: hard + "batch@npm:0.6.1": version: 0.6.1 resolution: "batch@npm:0.6.1" @@ -5365,6 +7800,15 @@ __metadata: languageName: node linkType: hard +"better-opn@npm:^2.1.1": + version: 2.1.1 + resolution: "better-opn@npm:2.1.1" + dependencies: + open: ^7.0.3 + checksum: 3d1a945d125cbbc6e6a841bef7540435d77d5aa61fc4d345896f5f0b3780fcf9c7145373deaedf62d674a427b187ae973f4410884f9fea0c15f7f01f9dc339c7 + languageName: node + linkType: hard + "big.js@npm:^3.1.3": version: 3.2.0 resolution: "big.js@npm:3.2.0" @@ -5379,6 +7823,13 @@ __metadata: languageName: node linkType: hard +"binary-extensions@npm:^1.0.0": + version: 1.13.1 + resolution: "binary-extensions@npm:1.13.1" + checksum: ad7747f33c07e94ba443055de130b50c8b8b130a358bca064c580d91769ca6a69c7ac65ca008ff044ed4541d2c6ad45496e1fadbef5218a68770996b6a2194d7 + languageName: node + linkType: hard + "binary-extensions@npm:^2.0.0": version: 2.2.0 resolution: "binary-extensions@npm:2.2.0" @@ -5386,6 +7837,15 @@ __metadata: languageName: node linkType: hard +"bindings@npm:^1.5.0": + version: 1.5.0 + resolution: "bindings@npm:1.5.0" + dependencies: + file-uri-to-path: 1.0.0 + checksum: 65b6b48095717c2e6105a021a7da4ea435aa8d3d3cd085cb9e85bcb6e5773cf318c4745c3f7c504412855940b585bdf9b918236612a1c7a7942491de176f1ae7 + languageName: node + linkType: hard + "bl@npm:^4.1.0": version: 4.1.0 resolution: "bl@npm:4.1.0" @@ -5404,7 +7864,7 @@ __metadata: languageName: node linkType: hard -"bluebird@npm:^3.7.1, bluebird@npm:^3.7.2": +"bluebird@npm:^3.3.5, bluebird@npm:^3.5.5, bluebird@npm:^3.7.1, bluebird@npm:^3.7.2": version: 3.7.2 resolution: "bluebird@npm:3.7.2" checksum: 869417503c722e7dc54ca46715f70e15f4d9c602a423a02c825570862d12935be59ed9c7ba34a9b31f186c017c23cac6b54e35446f8353059c101da73eac22ef @@ -5464,6 +7924,22 @@ __metadata: languageName: node linkType: hard +"boxen@npm:^4.2.0": + version: 4.2.0 + resolution: "boxen@npm:4.2.0" + dependencies: + ansi-align: ^3.0.0 + camelcase: ^5.3.1 + chalk: ^3.0.0 + cli-boxes: ^2.2.0 + string-width: ^4.1.0 + term-size: ^2.1.0 + type-fest: ^0.8.1 + widest-line: ^3.1.0 + checksum: ce2b565a2e44b33d11336155675cf4f7f0e13dbf7412928845aefd6a2cf65e0da2dbb0a2cb198b7620a2ae714416a2eb710926b780f15d19f6250a19633b29af + languageName: node + linkType: hard + "brace-expansion@npm:^1.1.7": version: 1.1.11 resolution: "brace-expansion@npm:1.1.11" @@ -5474,6 +7950,24 @@ __metadata: languageName: node linkType: hard +"braces@npm:^2.3.1, braces@npm:^2.3.2": + version: 2.3.2 + resolution: "braces@npm:2.3.2" + dependencies: + arr-flatten: ^1.1.0 + array-unique: ^0.3.2 + extend-shallow: ^2.0.1 + fill-range: ^4.0.0 + isobject: ^3.0.1 + repeat-element: ^1.1.2 + snapdragon: ^0.8.1 + snapdragon-node: ^2.0.1 + split-string: ^3.0.2 + to-regex: ^3.0.1 + checksum: e30dcb6aaf4a31c8df17d848aa283a65699782f75ad61ae93ec25c9729c66cf58e66f0000a9fec84e4add1135bb7da40f7cb9601b36bebcfa9ca58e8d5c07de0 + languageName: node + linkType: hard + "braces@npm:^3.0.1, braces@npm:~3.0.2": version: 3.0.2 resolution: "braces@npm:3.0.2" @@ -5561,12 +8055,26 @@ __metadata: languageName: node linkType: hard -"browserify-zlib@npm:0.2.0": +"browserify-zlib@npm:0.2.0, browserify-zlib@npm:^0.2.0": version: 0.2.0 resolution: "browserify-zlib@npm:0.2.0" dependencies: - pako: ~1.0.5 - checksum: 5cd9d6a665190fedb4a97dfbad8dabc8698d8a507298a03f42c734e96d58ca35d3c7d4085e283440bbca1cd1938cff85031728079bedb3345310c58ab1ec92d6 + pako: ~1.0.5 + checksum: 5cd9d6a665190fedb4a97dfbad8dabc8698d8a507298a03f42c734e96d58ca35d3c7d4085e283440bbca1cd1938cff85031728079bedb3345310c58ab1ec92d6 + languageName: node + linkType: hard + +"browserslist@npm:4.14.2": + version: 4.14.2 + resolution: "browserslist@npm:4.14.2" + dependencies: + caniuse-lite: ^1.0.30001125 + electron-to-chromium: ^1.3.564 + escalade: ^3.0.2 + node-releases: ^1.1.61 + bin: + browserslist: cli.js + checksum: 44b5d7a444b867e1f027923f37a8ed537b4403f8a85a35869904e7d3e4071b37459df08d41ab4d425f5191f3125f1c5a191cbff9070f81f4d311803dc0a2fb0f languageName: node linkType: hard @@ -5663,6 +8171,17 @@ __metadata: languageName: node linkType: hard +"buffer@npm:^4.3.0": + version: 4.9.2 + resolution: "buffer@npm:4.9.2" + dependencies: + base64-js: ^1.0.2 + ieee754: ^1.1.4 + isarray: ^1.0.0 + checksum: 8801bc1ba08539f3be70eee307a8b9db3d40f6afbfd3cf623ab7ef41dffff1d0a31de0addbe1e66e0ca5f7193eeb667bfb1ecad3647f8f1b0750de07c13295c3 + languageName: node + linkType: hard + "buffer@npm:^5.5.0": version: 5.7.1 resolution: "buffer@npm:5.7.1" @@ -5711,7 +8230,52 @@ __metadata: languageName: node linkType: hard -"cacache@npm:^15.2.0": +"c8@npm:^7.6.0": + version: 7.10.0 + resolution: "c8@npm:7.10.0" + dependencies: + "@bcoe/v8-coverage": ^0.2.3 + "@istanbuljs/schema": ^0.1.2 + find-up: ^5.0.0 + foreground-child: ^2.0.0 + istanbul-lib-coverage: ^3.0.1 + istanbul-lib-report: ^3.0.0 + istanbul-reports: ^3.0.2 + rimraf: ^3.0.0 + test-exclude: ^6.0.0 + v8-to-istanbul: ^8.0.0 + yargs: ^16.2.0 + yargs-parser: ^20.2.7 + bin: + c8: bin/c8.js + checksum: 38c9372dcbfd2b6675059f93764f9fe33694627568b70236b0c3b924d1b871edbc15d819b5f4eea39d1f83ce2f6288e127ecfc5f62a37d7aee178b7a15f3a654 + languageName: node + linkType: hard + +"cacache@npm:^12.0.2": + version: 12.0.4 + resolution: "cacache@npm:12.0.4" + dependencies: + bluebird: ^3.5.5 + chownr: ^1.1.1 + figgy-pudding: ^3.5.1 + glob: ^7.1.4 + graceful-fs: ^4.1.15 + infer-owner: ^1.0.3 + lru-cache: ^5.1.1 + mississippi: ^3.0.0 + mkdirp: ^0.5.1 + move-concurrently: ^1.0.1 + promise-inflight: ^1.0.1 + rimraf: ^2.6.3 + ssri: ^6.0.1 + unique-filename: ^1.1.1 + y18n: ^4.0.0 + checksum: c88a72f36939b2523533946ffb27828443db5bf5995d761b35ae17af1eb6c8e20ac55b00b74c2ca900b2e1e917f0afba6847bf8cc16bee05ccca6aa150e0830c + languageName: node + linkType: hard + +"cacache@npm:^15.0.5, cacache@npm:^15.2.0": version: 15.3.0 resolution: "cacache@npm:15.3.0" dependencies: @@ -5737,6 +8301,23 @@ __metadata: languageName: node linkType: hard +"cache-base@npm:^1.0.1": + version: 1.0.1 + resolution: "cache-base@npm:1.0.1" + dependencies: + collection-visit: ^1.0.0 + component-emitter: ^1.2.1 + get-value: ^2.0.6 + has-value: ^1.0.0 + isobject: ^3.0.1 + set-value: ^2.0.0 + to-object-path: ^0.3.0 + union-value: ^1.0.0 + unset-value: ^1.0.0 + checksum: 9114b8654fe2366eedc390bad0bcf534e2f01b239a888894e2928cb58cdc1e6ea23a73c6f3450dcfd2058aa73a8a981e723cd1e7c670c047bf11afdc65880107 + languageName: node + linkType: hard + "cachedir@npm:^2.3.0": version: 2.3.0 resolution: "cachedir@npm:2.3.0" @@ -5754,6 +8335,13 @@ __metadata: languageName: node linkType: hard +"call-me-maybe@npm:^1.0.1": + version: 1.0.1 + resolution: "call-me-maybe@npm:1.0.1" + checksum: d19e9d6ac2c6a83fb1215718b64c5e233f688ebebb603bdfe4af59cde952df1f2b648530fab555bf290ea910d69d7d9665ebc916e871e0e194f47c2e48e4886b + languageName: node + linkType: hard + "callsites@npm:^3.0.0": version: 3.1.0 resolution: "callsites@npm:3.1.0" @@ -5761,6 +8349,16 @@ __metadata: languageName: node linkType: hard +"camel-case@npm:^4.1.1, camel-case@npm:^4.1.2": + version: 4.1.2 + resolution: "camel-case@npm:4.1.2" + dependencies: + pascal-case: ^3.1.2 + tslib: ^2.0.3 + checksum: bcbd25cd253b3cbc69be3f535750137dbf2beb70f093bdc575f73f800acc8443d34fd52ab8f0a2413c34f1e8203139ffc88428d8863e4dfe530cfb257a379ad6 + languageName: node + linkType: hard + "camelcase-css@npm:2.0.1, camelcase-css@npm:^2.0.1": version: 2.0.1 resolution: "camelcase-css@npm:2.0.1" @@ -5805,13 +8403,29 @@ __metadata: languageName: node linkType: hard -"caniuse-lite@npm:^1.0.0, caniuse-lite@npm:^1.0.30000981, caniuse-lite@npm:^1.0.30001109, caniuse-lite@npm:^1.0.30001202, caniuse-lite@npm:^1.0.30001219, caniuse-lite@npm:^1.0.30001228, caniuse-lite@npm:^1.0.30001251, caniuse-lite@npm:^1.0.30001272, caniuse-lite@npm:^1.0.30001274": +"caniuse-lite@npm:^1.0.0, caniuse-lite@npm:^1.0.30000981, caniuse-lite@npm:^1.0.30001109, caniuse-lite@npm:^1.0.30001125, caniuse-lite@npm:^1.0.30001202, caniuse-lite@npm:^1.0.30001219, caniuse-lite@npm:^1.0.30001228, caniuse-lite@npm:^1.0.30001251, caniuse-lite@npm:^1.0.30001272, caniuse-lite@npm:^1.0.30001274": version: 1.0.30001278 resolution: "caniuse-lite@npm:1.0.30001278" checksum: 5904289063885be40a98bf124191e816c68117d6a392065f937dd0b4929346bd677ed11ef00cadf65b2485635add46c9c33a85dc52dbf0f7dd6511f3452472bc languageName: node linkType: hard +"capture-exit@npm:^2.0.0": + version: 2.0.0 + resolution: "capture-exit@npm:2.0.0" + dependencies: + rsvp: ^4.8.4 + checksum: 0b9f10daca09e521da9599f34c8e7af14ad879c336e2bdeb19955b375398ae1c5bcc91ac9f2429944343057ee9ed028b1b2fb28816c384e0e55d70c439b226f4 + languageName: node + linkType: hard + +"case-sensitive-paths-webpack-plugin@npm:^2.3.0": + version: 2.4.0 + resolution: "case-sensitive-paths-webpack-plugin@npm:2.4.0" + checksum: bcf469446eeee9ac0046e30860074ebb9aa4803aab9140e6bb72b600b23b1d70635690754be4504ce35cd99cdf05226bee8d894ba362a3f5485d5f6310fc6d02 + languageName: node + linkType: hard + "caseless@npm:~0.12.0": version: 0.12.0 resolution: "caseless@npm:0.12.0" @@ -5874,6 +8488,29 @@ __metadata: languageName: node linkType: hard +"chalk@npm:^1.1.3": + version: 1.1.3 + resolution: "chalk@npm:1.1.3" + dependencies: + ansi-styles: ^2.2.1 + escape-string-regexp: ^1.0.2 + has-ansi: ^2.0.0 + strip-ansi: ^3.0.0 + supports-color: ^2.0.0 + checksum: 9d2ea6b98fc2b7878829eec223abcf404622db6c48396a9b9257f6d0ead2acf18231ae368d6a664a83f272b0679158da12e97b5229f794939e555cc574478acd + languageName: node + linkType: hard + +"chalk@npm:^3.0.0": + version: 3.0.0 + resolution: "chalk@npm:3.0.0" + dependencies: + ansi-styles: ^4.1.0 + supports-color: ^7.1.0 + checksum: 8e3ddf3981c4da405ddbd7d9c8d91944ddf6e33d6837756979f7840a29272a69a5189ecae0ff84006750d6d1e92368d413335eab4db5476db6e6703a1d1e0505 + languageName: node + linkType: hard + "char-regex@npm:^1.0.2": version: 1.0.2 resolution: "char-regex@npm:1.0.2" @@ -5963,7 +8600,7 @@ __metadata: languageName: node linkType: hard -"chokidar@npm:>=3.0.0 <4.0.0, chokidar@npm:^3.4.0, chokidar@npm:^3.4.2, chokidar@npm:^3.5.1, chokidar@npm:^3.5.2": +"chokidar@npm:>=3.0.0 <4.0.0, chokidar@npm:^3.4.0, chokidar@npm:^3.4.1, chokidar@npm:^3.4.2, chokidar@npm:^3.5.1, chokidar@npm:^3.5.2": version: 3.5.2 resolution: "chokidar@npm:3.5.2" dependencies: @@ -5982,6 +8619,36 @@ __metadata: languageName: node linkType: hard +"chokidar@npm:^2.1.8": + version: 2.1.8 + resolution: "chokidar@npm:2.1.8" + dependencies: + anymatch: ^2.0.0 + async-each: ^1.0.1 + braces: ^2.3.2 + fsevents: ^1.2.7 + glob-parent: ^3.1.0 + inherits: ^2.0.3 + is-binary-path: ^1.0.0 + is-glob: ^4.0.0 + normalize-path: ^3.0.0 + path-is-absolute: ^1.0.0 + readdirp: ^2.2.1 + upath: ^1.1.1 + dependenciesMeta: + fsevents: + optional: true + checksum: 0c43e89cbf0268ef1e1f41ce8ec5233c7ba022c6f3282c2ef6530e351d42396d389a1148c5a040f291cf1f4083a4c6b2f51dad3f31c726442ea9a337de316bcf + languageName: node + linkType: hard + +"chownr@npm:^1.1.1": + version: 1.1.4 + resolution: "chownr@npm:1.1.4" + checksum: 115648f8eb38bac5e41c3857f3e663f9c39ed6480d1349977c4d96c95a47266fcacc5a5aabf3cb6c481e22d72f41992827db47301851766c4fd77ac21a4f081d + languageName: node + linkType: hard + "chownr@npm:^2.0.0": version: 2.0.0 resolution: "chownr@npm:2.0.0" @@ -5996,6 +8663,13 @@ __metadata: languageName: node linkType: hard +"ci-info@npm:^2.0.0": + version: 2.0.0 + resolution: "ci-info@npm:2.0.0" + checksum: 3b374666a85ea3ca43fa49aa3a048d21c9b475c96eb13c133505d2324e7ae5efd6a454f41efe46a152269e9b6a00c9edbe63ec7fa1921957165aae16625acd67 + languageName: node + linkType: hard + "ci-info@npm:^3.2.0": version: 3.2.0 resolution: "ci-info@npm:3.2.0" @@ -6020,6 +8694,18 @@ __metadata: languageName: node linkType: hard +"class-utils@npm:^0.3.5": + version: 0.3.6 + resolution: "class-utils@npm:0.3.6" + dependencies: + arr-union: ^3.1.0 + define-property: ^0.2.5 + isobject: ^3.0.0 + static-extend: ^0.1.1 + checksum: be108900801e639e50f96a7e4bfa8867c753a7750a7603879f3981f8b0a89cba657497a2d5f40cd4ea557ff15d535a100818bb486baf6e26fe5d7872e75f1078 + languageName: node + linkType: hard + "classnames@npm:2.2.6": version: 2.2.6 resolution: "classnames@npm:2.2.6" @@ -6027,6 +8713,24 @@ __metadata: languageName: node linkType: hard +"clean-css@npm:^4.2.3": + version: 4.2.4 + resolution: "clean-css@npm:4.2.4" + dependencies: + source-map: ~0.6.0 + checksum: 045ff6fcf4b5c76a084b24e1633e0c78a13b24080338fc8544565a9751559aa32ff4ee5886d9e52c18a644a6ff119bd8e37bc58e574377c05382a1fb7dbe39f8 + languageName: node + linkType: hard + +"clean-css@npm:^5.1.5": + version: 5.2.2 + resolution: "clean-css@npm:5.2.2" + dependencies: + source-map: ~0.6.0 + checksum: 10855820829b8b6ea94e462313fdc177b297aca5c7870a969591549d6a766824f912b5e58773bd345b2a7effae863ab492258b5a77a40029fba6d11d861cbee3 + languageName: node + linkType: hard + "clean-stack@npm:^2.0.0": version: 2.2.0 resolution: "clean-stack@npm:2.2.0" @@ -6045,6 +8749,13 @@ __metadata: languageName: node linkType: hard +"cli-boxes@npm:^2.2.0": + version: 2.2.1 + resolution: "cli-boxes@npm:2.2.1" + checksum: be79f8ec23a558b49e01311b39a1ea01243ecee30539c880cf14bf518a12e223ef40c57ead0cb44f509bffdffc5c129c746cd50d863ab879385370112af4f585 + languageName: node + linkType: hard + "cli-cursor@npm:^3.1.0": version: 3.1.0 resolution: "cli-cursor@npm:3.1.0" @@ -6061,7 +8772,7 @@ __metadata: languageName: node linkType: hard -"cli-table3@npm:~0.6.0": +"cli-table3@npm:0.6.0, cli-table3@npm:~0.6.0": version: 0.6.0 resolution: "cli-table3@npm:0.6.0" dependencies: @@ -6194,6 +8905,16 @@ __metadata: languageName: node linkType: hard +"collection-visit@npm:^1.0.0": + version: 1.0.0 + resolution: "collection-visit@npm:1.0.0" + dependencies: + map-visit: ^1.0.0 + object-visit: ^1.0.0 + checksum: 15d9658fe6eb23594728346adad5433b86bb7a04fd51bbab337755158722f9313a5376ef479de5b35fbc54140764d0d39de89c339f5d25b959ed221466981da9 + languageName: node + linkType: hard + "color-convert@npm:^1.9.0": version: 1.9.3 resolution: "color-convert@npm:1.9.3" @@ -6297,20 +9018,27 @@ __metadata: languageName: node linkType: hard -"commander@npm:8.3.0": +"commander@npm:8.3.0, commander@npm:^8.1.0": version: 8.3.0 resolution: "commander@npm:8.3.0" checksum: 0f82321821fc27b83bd409510bb9deeebcfa799ff0bf5d102128b500b7af22872c0c92cb6a0ebc5a4cf19c6b550fba9cedfa7329d18c6442a625f851377bacf0 languageName: node linkType: hard -"commander@npm:^2.20.0": +"commander@npm:^2.19.0, commander@npm:^2.20.0": version: 2.20.3 resolution: "commander@npm:2.20.3" checksum: ab8c07884e42c3a8dbc5dd9592c606176c7eb5c1ca5ff274bcf907039b2c41de3626f684ea75ccf4d361ba004bbaff1f577d5384c155f3871e456bdf27becf9e languageName: node linkType: hard +"commander@npm:^4.1.1": + version: 4.1.1 + resolution: "commander@npm:4.1.1" + checksum: d7b9913ff92cae20cb577a4ac6fcc121bd6223319e54a40f51a14740a681ad5c574fd29a57da478a5f234a6fa6c52cbf0b7c641353e03c648b1ae85ba670b977 + languageName: node + linkType: hard + "commander@npm:^5.0.0, commander@npm:^5.1.0": version: 5.1.0 resolution: "commander@npm:5.1.0" @@ -6318,7 +9046,7 @@ __metadata: languageName: node linkType: hard -"commander@npm:^6.0.0, commander@npm:^6.2.0": +"commander@npm:^6.0.0, commander@npm:^6.2.0, commander@npm:^6.2.1": version: 6.2.1 resolution: "commander@npm:6.2.1" checksum: d7090410c0de6bc5c67d3ca41c41760d6d268f3c799e530aafb73b7437d1826bbf0d2a3edac33f8b57cc9887b4a986dce307fa5557e109be40eadb7c43b21742 @@ -6353,6 +9081,13 @@ __metadata: languageName: node linkType: hard +"component-emitter@npm:^1.2.1": + version: 1.3.0 + resolution: "component-emitter@npm:1.3.0" + checksum: b3c46de38ffd35c57d1c02488355be9f218e582aec72d72d1b8bbec95a3ac1b38c96cd6e03ff015577e68f550fbb361a3bfdbd9bb248be9390b7b3745691be6b + languageName: node + linkType: hard + "compressible@npm:~2.0.16": version: 2.0.18 resolution: "compressible@npm:2.0.18" @@ -6377,6 +9112,13 @@ __metadata: languageName: node linkType: hard +"compute-scroll-into-view@npm:^1.0.17": + version: 1.0.17 + resolution: "compute-scroll-into-view@npm:1.0.17" + checksum: b20c05a10c37813c5a6e4bf053c00f65c88d23afed7a6bd7a2a69e05e2ffc2df3483ecfe407d36bf16b8cec8be21ae1966c9c523093a03117e567156cd79a51e + languageName: node + linkType: hard + "concat-map@npm:0.0.1": version: 0.0.1 resolution: "concat-map@npm:0.0.1" @@ -6384,6 +9126,18 @@ __metadata: languageName: node linkType: hard +"concat-stream@npm:^1.5.0": + version: 1.6.2 + resolution: "concat-stream@npm:1.6.2" + dependencies: + buffer-from: ^1.0.0 + inherits: ^2.0.3 + readable-stream: ^2.2.2 + typedarray: ^0.0.6 + checksum: 1ef77032cb4459dcd5187bd710d6fc962b067b64ec6a505810de3d2b8cc0605638551b42f8ec91edf6fcd26141b32ef19ad749239b58fae3aba99187adc32285 + languageName: node + linkType: hard + "concat-with-sourcemaps@npm:^1.1.0": version: 1.1.0 resolution: "concat-with-sourcemaps@npm:1.1.0" @@ -6407,6 +9161,13 @@ __metadata: languageName: node linkType: hard +"console-browserify@npm:^1.1.0": + version: 1.2.0 + resolution: "console-browserify@npm:1.2.0" + checksum: 226591eeff8ed68e451dffb924c1fb750c654d54b9059b3b261d360f369d1f8f70650adecf2c7136656236a4bfeb55c39281b5d8a55d792ebbb99efd3d848d52 + languageName: node + linkType: hard + "console-control-strings@npm:^1.0.0, console-control-strings@npm:~1.1.0": version: 1.1.0 resolution: "console-control-strings@npm:1.1.0" @@ -6414,7 +9175,7 @@ __metadata: languageName: node linkType: hard -"constants-browserify@npm:1.0.0": +"constants-browserify@npm:1.0.0, constants-browserify@npm:^1.0.0": version: 1.0.0 resolution: "constants-browserify@npm:1.0.0" checksum: f7ac8c6d0b6e4e0c77340a1d47a3574e25abd580bfd99ad707b26ff7618596cf1a5e5ce9caf44715e9e01d4a5d12cb3b4edaf1176f34c19adb2874815a56e64f @@ -6478,6 +9239,36 @@ __metadata: languageName: node linkType: hard +"copy-concurrently@npm:^1.0.0": + version: 1.0.5 + resolution: "copy-concurrently@npm:1.0.5" + dependencies: + aproba: ^1.1.1 + fs-write-stream-atomic: ^1.0.8 + iferr: ^0.1.5 + mkdirp: ^0.5.1 + rimraf: ^2.5.4 + run-queue: ^1.0.0 + checksum: 63c169f582e09445260988f697b2d07793d439dfc31e97c8999707bd188dd94d1c7f2ca3533c7786fb75f03a3f2f54ad1ee08055f95f61bb8d2e862498c1d460 + languageName: node + linkType: hard + +"copy-descriptor@npm:^0.1.0": + version: 0.1.1 + resolution: "copy-descriptor@npm:0.1.1" + checksum: d4b7b57b14f1d256bb9aa0b479241048afd7f5bcf22035fc7b94e8af757adeae247ea23c1a774fe44869fd5694efba4a969b88d966766c5245fdee59837fe45b + languageName: node + linkType: hard + +"copy-to-clipboard@npm:^3.3.1": + version: 3.3.1 + resolution: "copy-to-clipboard@npm:3.3.1" + dependencies: + toggle-selection: ^1.0.6 + checksum: 3c7b1c333dc6a4b2e9905f52e4df6bbd34ff9f9c97ecd3ca55378a6bc1c191bb12a3252e6289c7b436e9188cff0360d393c0161626851d2301607860bbbdcfd5 + languageName: node + linkType: hard + "copy-webpack-plugin@npm:^9.0.1": version: 9.0.1 resolution: "copy-webpack-plugin@npm:9.0.1" @@ -6495,7 +9286,7 @@ __metadata: languageName: node linkType: hard -"core-js-compat@npm:^3.18.0, core-js-compat@npm:^3.19.0": +"core-js-compat@npm:^3.18.0, core-js-compat@npm:^3.19.0, core-js-compat@npm:^3.8.1": version: 3.19.1 resolution: "core-js-compat@npm:3.19.1" dependencies: @@ -6505,14 +9296,21 @@ __metadata: languageName: node linkType: hard -"core-js-pure@npm:^3.19.0, core-js-pure@npm:^3.8.1": +"core-js-pure@npm:^3.19.0, core-js-pure@npm:^3.8.1, core-js-pure@npm:^3.8.2": version: 3.19.1 resolution: "core-js-pure@npm:3.19.1" checksum: b6d593ce2ac9da1adf8da3efc0b9cca8cc969d7d758c511db877a41d92216dbdf7a2341f89c07516bf0da1ce8b994e103f604ab37ca31379a35512c05d291804 languageName: node linkType: hard -"core-js@npm:^3.0.1, core-js@npm:^3.19.1, core-js@npm:^3.6.5": +"core-js@npm:^2.4.0": + version: 2.6.12 + resolution: "core-js@npm:2.6.12" + checksum: 44fa9934a85f8c78d61e0c8b7b22436330471ffe59ec5076fe7f324d6e8cf7f824b14b1c81ca73608b13bdb0fef035bd820989bf059767ad6fa13123bb8bd016 + languageName: node + linkType: hard + +"core-js@npm:^3.0.1, core-js@npm:^3.0.4, core-js@npm:^3.19.1, core-js@npm:^3.6.5, core-js@npm:^3.8.2": version: 3.19.1 resolution: "core-js@npm:3.19.1" checksum: 2f669061788dc6fea823f0433d871deeaaaacc7d68ef2748859509522a34df5c83e648c3c6a1993fed0ab188081b3cf32b957b2a1f46156a2b20bd775961ade4 @@ -6578,6 +9376,35 @@ __metadata: languageName: node linkType: hard +"cp-file@npm:^7.0.0": + version: 7.0.0 + resolution: "cp-file@npm:7.0.0" + dependencies: + graceful-fs: ^4.1.2 + make-dir: ^3.0.0 + nested-error-stacks: ^2.0.0 + p-event: ^4.1.0 + checksum: dd60ed8d865d25a69548e15b21dd0d2fc66f10371e4970aa21b626a7578ebf419f44f386977ed3b3726c07401d4a64ee679cf1da566d8f66f01e9a359b85201f + languageName: node + linkType: hard + +"cpy@npm:^8.1.1": + version: 8.1.2 + resolution: "cpy@npm:8.1.2" + dependencies: + arrify: ^2.0.1 + cp-file: ^7.0.0 + globby: ^9.2.0 + has-glob: ^1.0.0 + junk: ^3.1.0 + nested-error-stacks: ^2.1.0 + p-all: ^2.1.0 + p-filter: ^2.1.0 + p-map: ^3.0.0 + checksum: e121f13f2b6af4a7c00de17984086a45b67eaaeeb0286a5cf67f2fdaf18d8ce6c2a9fe4ccfa37953e6982f55772f384f040f45f1961530655838c2b7486788a7 + languageName: node + linkType: hard + "create-ecdh@npm:^4.0.0": version: 4.0.4 resolution: "create-ecdh@npm:4.0.4" @@ -6615,6 +9442,19 @@ __metadata: languageName: node linkType: hard +"create-react-context@npm:0.3.0": + version: 0.3.0 + resolution: "create-react-context@npm:0.3.0" + dependencies: + gud: ^1.0.0 + warning: ^4.0.3 + peerDependencies: + prop-types: ^15.0.0 + react: ^0.14.0 || ^15.0.0 || ^16.0.0 + checksum: e59b7a65671e59f5b11e06f67faadf0733ab6c33247d5631331aeb05450d180b8ae44d73817b9c02f1527654ba490ea3d3dd7320f8d6debb36776f10b0ae6a47 + languageName: node + linkType: hard + "create-require@npm:^1.1.0": version: 1.1.1 resolution: "create-require@npm:1.1.1" @@ -6643,7 +9483,18 @@ __metadata: languageName: node linkType: hard -"cross-spawn@npm:^6.0.5": +"cross-spawn@npm:7.0.3, cross-spawn@npm:^7.0.0, cross-spawn@npm:^7.0.1, cross-spawn@npm:^7.0.2, cross-spawn@npm:^7.0.3": + version: 7.0.3 + resolution: "cross-spawn@npm:7.0.3" + dependencies: + path-key: ^3.1.0 + shebang-command: ^2.0.0 + which: ^2.0.1 + checksum: 671cc7c7288c3a8406f3c69a3ae2fc85555c04169e9d611def9a675635472614f1c0ed0ef80955d5b6d4e724f6ced67f0ad1bb006c2ea643488fcfef994d7f52 + languageName: node + linkType: hard + +"cross-spawn@npm:^6.0.0, cross-spawn@npm:^6.0.5": version: 6.0.5 resolution: "cross-spawn@npm:6.0.5" dependencies: @@ -6656,18 +9507,7 @@ __metadata: languageName: node linkType: hard -"cross-spawn@npm:^7.0.0, cross-spawn@npm:^7.0.1, cross-spawn@npm:^7.0.2, cross-spawn@npm:^7.0.3": - version: 7.0.3 - resolution: "cross-spawn@npm:7.0.3" - dependencies: - path-key: ^3.1.0 - shebang-command: ^2.0.0 - which: ^2.0.1 - checksum: 671cc7c7288c3a8406f3c69a3ae2fc85555c04169e9d611def9a675635472614f1c0ed0ef80955d5b6d4e724f6ced67f0ad1bb006c2ea643488fcfef994d7f52 - languageName: node - linkType: hard - -"crypto-browserify@npm:3.12.0": +"crypto-browserify@npm:3.12.0, crypto-browserify@npm:^3.11.0": version: 3.12.0 resolution: "crypto-browserify@npm:3.12.0" dependencies: @@ -6741,7 +9581,50 @@ __metadata: languageName: node linkType: hard -"css-loader@npm:^6.4.0": +"css-loader@npm:^3.6.0": + version: 3.6.0 + resolution: "css-loader@npm:3.6.0" + dependencies: + camelcase: ^5.3.1 + cssesc: ^3.0.0 + icss-utils: ^4.1.1 + loader-utils: ^1.2.3 + normalize-path: ^3.0.0 + postcss: ^7.0.32 + postcss-modules-extract-imports: ^2.0.0 + postcss-modules-local-by-default: ^3.0.2 + postcss-modules-scope: ^2.2.0 + postcss-modules-values: ^3.0.0 + postcss-value-parser: ^4.1.0 + schema-utils: ^2.7.0 + semver: ^6.3.0 + peerDependencies: + webpack: ^4.0.0 || ^5.0.0 + checksum: a45d7ee8105eea7a76caa45286f4b31f9413520511ae99a78886c522305a94c8adf289951f989d239919a9ffc08ea8cac2bf9c362f21b65d6f54f6812e904cc0 + languageName: node + linkType: hard + +"css-loader@npm:^5.0.1": + version: 5.2.7 + resolution: "css-loader@npm:5.2.7" + dependencies: + icss-utils: ^5.1.0 + loader-utils: ^2.0.0 + postcss: ^8.2.15 + postcss-modules-extract-imports: ^3.0.0 + postcss-modules-local-by-default: ^4.0.0 + postcss-modules-scope: ^3.0.0 + postcss-modules-values: ^4.0.0 + postcss-value-parser: ^4.1.0 + schema-utils: ^3.0.0 + semver: ^7.3.5 + peerDependencies: + webpack: ^4.27.0 || ^5.0.0 + checksum: fb0742b30ac0919f94b99a323bdefe6d48ae46d66c7d966aae59031350532f368f8bba5951fcd268f2e053c5e6e4655551076268e9073ccb58e453f98ae58f8e + languageName: node + linkType: hard + +"css-loader@npm:^6.4.0, css-loader@npm:^6.5.1": version: 6.5.1 resolution: "css-loader@npm:6.5.1" dependencies: @@ -6886,7 +9769,7 @@ __metadata: languageName: node linkType: hard -"css.escape@npm:1.5.1": +"css.escape@npm:1.5.1, css.escape@npm:^1.5.1": version: 1.5.1 resolution: "css.escape@npm:1.5.1" checksum: f6d38088d870a961794a2580b2b2af1027731bb43261cfdce14f19238a88664b351cc8978abc20f06cc6bbde725699dec8deb6fe9816b139fc3f2af28719e774 @@ -7060,6 +9943,13 @@ __metadata: languageName: node linkType: hard +"csstype@npm:^2.5.7": + version: 2.6.18 + resolution: "csstype@npm:2.6.18" + checksum: 1d6d67bc7f55af976d7a9cb153d61867d6c84eb0d69733165d2d4f10c659e7647a1e7a19859acacbf0120552164b8ff1a4ffef45a435aa37a4ff2f09e5b0bcf7 + languageName: node + linkType: hard + "csstype@npm:^3.0.2": version: 3.0.9 resolution: "csstype@npm:3.0.9" @@ -7067,6 +9957,13 @@ __metadata: languageName: node linkType: hard +"cyclist@npm:^1.0.1": + version: 1.0.1 + resolution: "cyclist@npm:1.0.1" + checksum: 3cc2fdeb358599ca0ea96f5ecf2fc530ccab7ed1f8aa1a894aebfacd2009281bd7380cb9b30db02a18cdd00b3ed1d7ce81a3b11fe56e33a6a0fe4424dc592fbe + languageName: node + linkType: hard + "cypress@npm:^8.7.0": version: 8.7.0 resolution: "cypress@npm:8.7.0" @@ -7202,7 +10099,7 @@ __metadata: languageName: node linkType: hard -"debug@npm:2, debug@npm:2.6.9, debug@npm:^2.2.0, debug@npm:^2.6.9": +"debug@npm:2, debug@npm:2.6.9, debug@npm:^2.2.0, debug@npm:^2.3.3, debug@npm:^2.6.0, debug@npm:^2.6.8, debug@npm:^2.6.9": version: 2.6.9 resolution: "debug@npm:2.6.9" dependencies: @@ -7223,7 +10120,7 @@ __metadata: languageName: node linkType: hard -"debug@npm:^3.1.0, debug@npm:^3.1.1, debug@npm:^3.2.6, debug@npm:^3.2.7": +"debug@npm:^3.0.0, debug@npm:^3.1.0, debug@npm:^3.1.1, debug@npm:^3.2.6, debug@npm:^3.2.7": version: 3.2.7 resolution: "debug@npm:3.2.7" dependencies: @@ -7300,6 +10197,13 @@ __metadata: languageName: node linkType: hard +"deep-object-diff@npm:^1.1.0": + version: 1.1.0 + resolution: "deep-object-diff@npm:1.1.0" + checksum: 4e7c1b7cd214312f4b94de62be765899f887c9e95cf6320b1d4df6bb7b861db0dff6b180fa1947a0db2eb56c902d64c20e285d49b316da2bfafed1a44ed3c232 + languageName: node + linkType: hard + "deepmerge@npm:^4.2.2": version: 4.2.2 resolution: "deepmerge@npm:4.2.2" @@ -7332,7 +10236,7 @@ __metadata: languageName: node linkType: hard -"define-properties@npm:^1.1.3": +"define-properties@npm:^1.1.2, define-properties@npm:^1.1.3": version: 1.1.3 resolution: "define-properties@npm:1.1.3" dependencies: @@ -7341,6 +10245,34 @@ __metadata: languageName: node linkType: hard +"define-property@npm:^0.2.5": + version: 0.2.5 + resolution: "define-property@npm:0.2.5" + dependencies: + is-descriptor: ^0.1.0 + checksum: 85af107072b04973b13f9e4128ab74ddfda48ec7ad2e54b193c0ffb57067c4ce5b7786a7b4ae1f24bd03e87c5d18766b094571810b314d7540f86d4354dbd394 + languageName: node + linkType: hard + +"define-property@npm:^1.0.0": + version: 1.0.0 + resolution: "define-property@npm:1.0.0" + dependencies: + is-descriptor: ^1.0.0 + checksum: 5fbed11dace44dd22914035ba9ae83ad06008532ca814d7936a53a09e897838acdad5b108dd0688cc8d2a7cf0681acbe00ee4136cf36743f680d10517379350a + languageName: node + linkType: hard + +"define-property@npm:^2.0.2": + version: 2.0.2 + resolution: "define-property@npm:2.0.2" + dependencies: + is-descriptor: ^1.0.2 + isobject: ^3.0.1 + checksum: 3217ed53fc9eed06ba8da6f4d33e28c68a82e2f2a8ab4d562c4920d8169a166fe7271453675e6c69301466f36a65d7f47edf0cf7f474b9aa52a5ead9c1b13c99 + languageName: node + linkType: hard + "defined@npm:^1.0.0": version: 1.0.0 resolution: "defined@npm:1.0.0" @@ -7485,6 +10417,32 @@ __metadata: languageName: node linkType: hard +"detect-port-alt@npm:1.1.6": + version: 1.1.6 + resolution: "detect-port-alt@npm:1.1.6" + dependencies: + address: ^1.0.1 + debug: ^2.6.0 + bin: + detect: ./bin/detect-port + detect-port: ./bin/detect-port + checksum: 9dc37b1fa4a9dd6d4889e1045849b8d841232b598d1ca888bf712f4035b07a17cf6d537465a0d7323250048d3a5a0540e3b7cf89457efc222f96f77e2c40d16a + languageName: node + linkType: hard + +"detect-port@npm:^1.3.0": + version: 1.3.0 + resolution: "detect-port@npm:1.3.0" + dependencies: + address: ^1.0.1 + debug: ^2.6.0 + bin: + detect: ./bin/detect-port + detect-port: ./bin/detect-port + checksum: 93c40febe714f56711d1fedc2b7a9cc4cbaa0fcddec0509876c46b9dd6099ed6bfd6662a4f35e5fa0301660f48ed516829253ab0fc90b9e79b823dd77786b379 + languageName: node + linkType: hard + "detective@npm:^5.2.0": version: 5.2.0 resolution: "detective@npm:5.2.0" @@ -7537,6 +10495,15 @@ __metadata: languageName: node linkType: hard +"dir-glob@npm:^2.2.2": + version: 2.2.2 + resolution: "dir-glob@npm:2.2.2" + dependencies: + path-type: ^3.0.0 + checksum: 3aa48714a9f7845ffc30ab03a5c674fe760477cc55e67b0847333371549227d93953e6627ec160f75140c5bea5c5f88d13c01de79bd1997a588efbcf06980842 + languageName: node + linkType: hard + "dir-glob@npm:^3.0.1": version: 3.0.1 resolution: "dir-glob@npm:3.0.1" @@ -7597,13 +10564,22 @@ __metadata: languageName: node linkType: hard -"dom-accessibility-api@npm:^0.5.9": +"dom-accessibility-api@npm:^0.5.6, dom-accessibility-api@npm:^0.5.9": version: 0.5.10 resolution: "dom-accessibility-api@npm:0.5.10" checksum: c05949889b02f5313d100778e9f736f9bddfb1da47387d351833f0b5d60d6230d4fcb849e124a8a1591706b6200337fa40f0f4f3817dce1459309e075f48371c languageName: node linkType: hard +"dom-converter@npm:^0.2.0": + version: 0.2.0 + resolution: "dom-converter@npm:0.2.0" + dependencies: + utila: ~0.4 + checksum: ea52fe303f5392e48dea563abef0e6fb3a478b8dbe3c599e99bb5d53981c6c38fc4944e56bb92a8ead6bb989d10b7914722ae11febbd2fd0910e33b9fc4aaa77 + languageName: node + linkType: hard + "dom-helpers@npm:^3.3.1": version: 3.4.0 resolution: "dom-helpers@npm:3.4.0" @@ -7613,6 +10589,16 @@ __metadata: languageName: node linkType: hard +"dom-helpers@npm:^5.0.1": + version: 5.2.1 + resolution: "dom-helpers@npm:5.2.1" + dependencies: + "@babel/runtime": ^7.8.7 + csstype: ^3.0.2 + checksum: 863ba9e086f7093df3376b43e74ce4422571d404fc9828bf2c56140963d5edf0e56160f9b2f3bb61b282c07f8fc8134f023c98fd684bddcb12daf7b0f14d951c + languageName: node + linkType: hard + "dom-serializer@npm:0": version: 0.2.2 resolution: "dom-serializer@npm:0.2.2" @@ -7634,6 +10620,13 @@ __metadata: languageName: node linkType: hard +"dom-walk@npm:^0.1.0": + version: 0.1.2 + resolution: "dom-walk@npm:0.1.2" + checksum: 19eb0ce9c6de39d5e231530685248545d9cd2bd97b2cb3486e0bfc0f2a393a9addddfd5557463a932b52fdfcf68ad2a619020cd2c74a5fe46fbecaa8e80872f3 + languageName: node + linkType: hard + "domain-browser@npm:4.19.0": version: 4.19.0 resolution: "domain-browser@npm:4.19.0" @@ -7641,6 +10634,13 @@ __metadata: languageName: node linkType: hard +"domain-browser@npm:^1.1.1": + version: 1.2.0 + resolution: "domain-browser@npm:1.2.0" + checksum: 8f1235c7f49326fb762f4675795246a6295e7dd566b4697abec24afdba2460daa7dfbd1a73d31efbf5606b3b7deadb06ce47cf06f0a476e706153d62a4ff2b90 + languageName: node + linkType: hard + "domelementtype@npm:1": version: 1.3.1 resolution: "domelementtype@npm:1.3.1" @@ -7664,7 +10664,7 @@ __metadata: languageName: node linkType: hard -"domhandler@npm:^4.2.0": +"domhandler@npm:^4.0.0, domhandler@npm:^4.2.0": version: 4.2.2 resolution: "domhandler@npm:4.2.2" dependencies: @@ -7683,7 +10683,7 @@ __metadata: languageName: node linkType: hard -"domutils@npm:^2.6.0": +"domutils@npm:^2.5.2, domutils@npm:^2.6.0": version: 2.8.0 resolution: "domutils@npm:2.8.0" dependencies: @@ -7694,6 +10694,63 @@ __metadata: languageName: node linkType: hard +"dot-case@npm:^3.0.4": + version: 3.0.4 + resolution: "dot-case@npm:3.0.4" + dependencies: + no-case: ^3.0.4 + tslib: ^2.0.3 + checksum: a65e3519414856df0228b9f645332f974f2bf5433370f544a681122eab59e66038fc3349b4be1cdc47152779dac71a5864f1ccda2f745e767c46e9c6543b1169 + languageName: node + linkType: hard + +"dotenv-defaults@npm:^1.0.2": + version: 1.1.1 + resolution: "dotenv-defaults@npm:1.1.1" + dependencies: + dotenv: ^6.2.0 + checksum: 623749be33fc30b686ff910522e4c222a08aa4d0011ff40b4354baee5db796f00eb42e818425667db2ffe9d8d2ae5f597a5e5b066b797f7aab9e06e515088fd6 + languageName: node + linkType: hard + +"dotenv-defaults@npm:^2.0.2": + version: 2.0.2 + resolution: "dotenv-defaults@npm:2.0.2" + dependencies: + dotenv: ^8.2.0 + checksum: c005960bd048e2189c4799e729c41f362e415e6e0b54313d3f31e853a84b049bf770b25cb21c112c2805bb13a8376edc9de451fb514abf8546392d327c27f6e5 + languageName: node + linkType: hard + +"dotenv-expand@npm:^5.1.0": + version: 5.1.0 + resolution: "dotenv-expand@npm:5.1.0" + checksum: 8017675b7f254384915d55f9eb6388e577cf0a1231a28d54b0ca03b782be9501b0ac90ac57338636d395fa59051e6209e9b44b8ddf169ce6076dffb5dea227d3 + languageName: node + linkType: hard + +"dotenv-webpack@npm:^1.8.0": + version: 1.8.0 + resolution: "dotenv-webpack@npm:1.8.0" + dependencies: + dotenv-defaults: ^1.0.2 + peerDependencies: + webpack: ^1 || ^2 || ^3 || ^4 + checksum: 21bfe5dd6a669ad9a64669ed7ada53e0036f7c97f55c43c07dd846bf6ddb963224139a25c667346f1a168b0e59e560ae87eac642edb30947bb2fa4ec0017ecb7 + languageName: node + linkType: hard + +"dotenv-webpack@npm:^7.0.0": + version: 7.0.3 + resolution: "dotenv-webpack@npm:7.0.3" + dependencies: + dotenv-defaults: ^2.0.2 + peerDependencies: + webpack: ^4 || ^5 + checksum: d80dcbebe3b9e8f6251b3eb15647bb647bf358172ff21d2eaa4bb012afc9eaa7f4ba6c452f2dafd40afc96474e8c7ffbd21f0a2896eec244eff59a79e32c7716 + languageName: node + linkType: hard + "dotenv@npm:^10.0.0, dotenv@npm:~10.0.0": version: 10.0.0 resolution: "dotenv@npm:10.0.0" @@ -7701,6 +10758,35 @@ __metadata: languageName: node linkType: hard +"dotenv@npm:^6.2.0": + version: 6.2.0 + resolution: "dotenv@npm:6.2.0" + checksum: d4aa189741ff45553038b0436dfdb79143c29760d3481b4b19d9f1c59fb8cc69190ab83674e07b32b3dd2ae477579619cde9f7586ea82086151dbbac5626c54c + languageName: node + linkType: hard + +"dotenv@npm:^8.0.0, dotenv@npm:^8.2.0": + version: 8.6.0 + resolution: "dotenv@npm:8.6.0" + checksum: 38e902c80b0666ab59e9310a3d24ed237029a7ce34d976796349765ac96b8d769f6df19090f1f471b77a25ca391971efde8a1ea63bb83111bd8bec8e5cc9b2cd + languageName: node + linkType: hard + +"downshift@npm:^6.0.15": + version: 6.1.7 + resolution: "downshift@npm:6.1.7" + dependencies: + "@babel/runtime": ^7.14.8 + compute-scroll-into-view: ^1.0.17 + prop-types: ^15.7.2 + react-is: ^17.0.2 + tslib: ^2.3.0 + peerDependencies: + react: ">=16.12.0" + checksum: 0904ed8f285d31ee00e471dcddd57e72468bee354b191167bcaebe690ec292647fe4c31f483665094d750e72dd71e5d7db695acef33ab5dba6a39fed0112bab6 + languageName: node + linkType: hard + "duplexer2@npm:^0.1.2": version: 0.1.4 resolution: "duplexer2@npm:0.1.4" @@ -7710,13 +10796,25 @@ __metadata: languageName: node linkType: hard -"duplexer@npm:^0.1.2": +"duplexer@npm:^0.1.1, duplexer@npm:^0.1.2": version: 0.1.2 resolution: "duplexer@npm:0.1.2" checksum: 62ba61a830c56801db28ff6305c7d289b6dc9f859054e8c982abd8ee0b0a14d2e9a8e7d086ffee12e868d43e2bbe8a964be55ddbd8c8957714c87373c7a4f9b0 languageName: node linkType: hard +"duplexify@npm:^3.4.2, duplexify@npm:^3.6.0": + version: 3.7.1 + resolution: "duplexify@npm:3.7.1" + dependencies: + end-of-stream: ^1.0.0 + inherits: ^2.0.1 + readable-stream: ^2.0.0 + stream-shift: ^1.0.0 + checksum: 3c2ed2223d956a5da713dae12ba8295acb61d9acd966ccbba938090d04f4574ca4dca75cca089b5077c2d7e66101f32e6ea9b36a78ca213eff574e7a8b8accf2 + languageName: node + linkType: hard + "ecc-jsbn@npm:~0.1.1": version: 0.1.2 resolution: "ecc-jsbn@npm:0.1.2" @@ -7759,13 +10857,22 @@ __metadata: languageName: node linkType: hard -"electron-to-chromium@npm:^1.3.723, electron-to-chromium@npm:^1.3.886": +"electron-to-chromium@npm:^1.3.564, electron-to-chromium@npm:^1.3.723, electron-to-chromium@npm:^1.3.886": version: 1.3.889 resolution: "electron-to-chromium@npm:1.3.889" checksum: c0c034ef51153ea0ab72780d8c142d75acbc82b7f0538212bff5621c63f853582b919f0870311b9a9b36abf1d00dfe10664c98ca6fc286210bfaf694f1ab1680 languageName: node linkType: hard +"element-resize-detector@npm:^1.2.2": + version: 1.2.3 + resolution: "element-resize-detector@npm:1.2.3" + dependencies: + batch-processor: 1.0.0 + checksum: b472b4f3971e27b832f65c761c5eb95ffe615f42248063987c39f32bd7e224c2562209c3c456c60ef45b07c8db6ed3c4f96a03cb5a426b931947821fd1434f44 + languageName: node + linkType: hard + "elliptic@npm:^6.5.3": version: 6.5.4 resolution: "elliptic@npm:6.5.4" @@ -7816,6 +10923,20 @@ __metadata: languageName: node linkType: hard +"emotion-theming@npm:^10.0.27": + version: 10.0.27 + resolution: "emotion-theming@npm:10.0.27" + dependencies: + "@babel/runtime": ^7.5.5 + "@emotion/weak-memoize": 0.2.5 + hoist-non-react-statics: ^3.3.0 + peerDependencies: + "@emotion/core": ^10.0.27 + react: ">=16.3.0" + checksum: 1fcabf32de92ceb04fa938d962b8498bd045c0b4e1f40e21213e81d0ec4f3830c1a0367f05527bf4502bbc7b73773a2b1767373d70ac79f4366143e537468277 + languageName: node + linkType: hard + "encodeurl@npm:~1.0.2": version: 1.0.2 resolution: "encodeurl@npm:1.0.2" @@ -7832,7 +10953,7 @@ __metadata: languageName: node linkType: hard -"end-of-stream@npm:^1.1.0": +"end-of-stream@npm:^1.0.0, end-of-stream@npm:^1.1.0": version: 1.4.4 resolution: "end-of-stream@npm:1.4.4" dependencies: @@ -7841,6 +10962,17 @@ __metadata: languageName: node linkType: hard +"endent@npm:^2.0.1": + version: 2.1.0 + resolution: "endent@npm:2.1.0" + dependencies: + dedent: ^0.7.0 + fast-json-parse: ^1.0.3 + objectorarray: ^1.0.5 + checksum: c352831088fce745a39ddbd5f87a17e073ea6556e7e96e9010d945a3f3020f836b9a84657123fa01e897db9216f4b080d950b5ded9bf3a8227f14a34efaaaf7c + languageName: node + linkType: hard + "enhanced-resolve@npm:5.8.3, enhanced-resolve@npm:^5.0.0, enhanced-resolve@npm:^5.7.0, enhanced-resolve@npm:^5.8.3": version: 5.8.3 resolution: "enhanced-resolve@npm:5.8.3" @@ -7851,6 +10983,17 @@ __metadata: languageName: node linkType: hard +"enhanced-resolve@npm:^4.5.0": + version: 4.5.0 + resolution: "enhanced-resolve@npm:4.5.0" + dependencies: + graceful-fs: ^4.1.2 + memory-fs: ^0.5.0 + tapable: ^1.0.0 + checksum: 4d87488584c4d67d356ef4ba04978af4b2d4d18190cb859efac8e8475a34d5d6c069df33faa5a0a22920b0586dbf330f6a08d52bb15a8771a9ce4d70a2da74ba + languageName: node + linkType: hard + "enquirer@npm:^2.3.5, enquirer@npm:^2.3.6, enquirer@npm:~2.3.6": version: 2.3.6 resolution: "enquirer@npm:2.3.6" @@ -7881,7 +11024,7 @@ __metadata: languageName: node linkType: hard -"errno@npm:^0.1.1": +"errno@npm:^0.1.1, errno@npm:^0.1.3, errno@npm:~0.1.7": version: 0.1.8 resolution: "errno@npm:0.1.8" dependencies: @@ -7938,6 +11081,29 @@ __metadata: languageName: node linkType: hard +"es-array-method-boxes-properly@npm:^1.0.0": + version: 1.0.0 + resolution: "es-array-method-boxes-properly@npm:1.0.0" + checksum: 2537fcd1cecf187083890bc6f5236d3a26bf39237433587e5bf63392e88faae929dbba78ff0120681a3f6f81c23fe3816122982c160d63b38c95c830b633b826 + languageName: node + linkType: hard + +"es-get-iterator@npm:^1.0.2": + version: 1.1.2 + resolution: "es-get-iterator@npm:1.1.2" + dependencies: + call-bind: ^1.0.2 + get-intrinsic: ^1.1.0 + has-symbols: ^1.0.1 + is-arguments: ^1.1.0 + is-map: ^2.0.2 + is-set: ^2.0.2 + is-string: ^1.0.5 + isarray: ^2.0.5 + checksum: f75e66acb6a45686fa08b3ade9c9421a70d36a0c43ed4363e67f4d7aab2226cb73dd977cb48abbaf75721b946d3cd810682fcf310c7ad0867802fbf929b17dcf + languageName: node + linkType: hard + "es-module-lexer@npm:^0.9.0": version: 0.9.3 resolution: "es-module-lexer@npm:0.9.3" @@ -7967,6 +11133,13 @@ __metadata: languageName: node linkType: hard +"es5-shim@npm:^4.5.13": + version: 4.6.2 + resolution: "es5-shim@npm:4.6.2" + checksum: af5b29cd8bc59abf0f5083b635b3c6a6f1470619094bfb68eac21668302860f12adbf0f615e939635968c4d6106538bcc58492b2eae08c97bb23c8b0fa9c1fa3 + languageName: node + linkType: hard + "es6-iterator@npm:~2.0.3": version: 2.0.3 resolution: "es6-iterator@npm:2.0.3" @@ -7985,6 +11158,13 @@ __metadata: languageName: node linkType: hard +"es6-shim@npm:^0.35.5": + version: 0.35.6 + resolution: "es6-shim@npm:0.35.6" + checksum: 31b27a7ce0432dd97c523da97e43dbcbf607093ac139697ac2e70d7ab67a90e9c362477a85f36961ebb0d09d0ffdaace45f5c9807f788849b28cc6a847e68c53 + languageName: node + linkType: hard + "es6-symbol@npm:^3.1.1, es6-symbol@npm:~3.1.3": version: 3.1.3 resolution: "es6-symbol@npm:3.1.3" @@ -8004,34 +11184,34 @@ __metadata: languageName: node linkType: hard -"escalade@npm:^3.1.1": +"escalade@npm:^3.0.2, escalade@npm:^3.1.1": version: 3.1.1 resolution: "escalade@npm:3.1.1" checksum: a3e2a99f07acb74b3ad4989c48ca0c3140f69f923e56d0cba0526240ee470b91010f9d39001f2a4a313841d237ede70a729e92125191ba5d21e74b106800b133 languageName: node linkType: hard -"escape-html@npm:~1.0.3": +"escape-html@npm:^1.0.3, escape-html@npm:~1.0.3": version: 1.0.3 resolution: "escape-html@npm:1.0.3" checksum: 6213ca9ae00d0ab8bccb6d8d4e0a98e76237b2410302cf7df70aaa6591d509a2a37ce8998008cbecae8fc8ffaadf3fb0229535e6a145f3ce0b211d060decbb24 languageName: node linkType: hard -"escape-string-regexp@npm:^1.0.5": - version: 1.0.5 - resolution: "escape-string-regexp@npm:1.0.5" - checksum: 6092fda75c63b110c706b6a9bfde8a612ad595b628f0bd2147eea1d3406723020810e591effc7db1da91d80a71a737a313567c5abb3813e8d9c71f4aa595b410 - languageName: node - linkType: hard - -"escape-string-regexp@npm:^2.0.0": +"escape-string-regexp@npm:2.0.0, escape-string-regexp@npm:^2.0.0": version: 2.0.0 resolution: "escape-string-regexp@npm:2.0.0" checksum: 9f8a2d5743677c16e85c810e3024d54f0c8dea6424fad3c79ef6666e81dd0846f7437f5e729dfcdac8981bc9e5294c39b4580814d114076b8d36318f46ae4395 languageName: node linkType: hard +"escape-string-regexp@npm:^1.0.2, escape-string-regexp@npm:^1.0.5": + version: 1.0.5 + resolution: "escape-string-regexp@npm:1.0.5" + checksum: 6092fda75c63b110c706b6a9bfde8a612ad595b628f0bd2147eea1d3406723020810e591effc7db1da91d80a71a737a313567c5abb3813e8d9c71f4aa595b410 + languageName: node + linkType: hard + "escape-string-regexp@npm:^4.0.0": version: 4.0.0 resolution: "escape-string-regexp@npm:4.0.0" @@ -8058,11 +11238,11 @@ __metadata: languageName: node linkType: hard -"eslint-config-next@npm:12.0.2, eslint-config-next@npm:^12.0.0": - version: 12.0.2 - resolution: "eslint-config-next@npm:12.0.2" +"eslint-config-next@npm:12.0.3, eslint-config-next@npm:^12.0.0": + version: 12.0.3 + resolution: "eslint-config-next@npm:12.0.3" dependencies: - "@next/eslint-plugin-next": 12.0.2 + "@next/eslint-plugin-next": 12.0.3 "@rushstack/eslint-patch": ^1.0.6 "@typescript-eslint/parser": ^4.20.0 eslint-import-resolver-node: ^0.3.4 @@ -8078,7 +11258,7 @@ __metadata: peerDependenciesMeta: typescript: optional: true - checksum: fbf15687284ceb8e85c20adcce548ebd3625f4f9bc67f995067fed960758e90de2eead0412c44ad0cc791f2738ec8c57ed32e4837e675e344596756fdd47dace + checksum: b1dc96ff1d3039f595546e3c78a9e1bed594d89032d50c9d44c56396670ceac13495efd15668412c6f4b1b74d024caf42535cd10cda70ec3eb8880067c78ae2f languageName: node linkType: hard @@ -8228,6 +11408,16 @@ __metadata: languageName: node linkType: hard +"eslint-scope@npm:^4.0.3": + version: 4.0.3 + resolution: "eslint-scope@npm:4.0.3" + dependencies: + esrecurse: ^4.1.0 + estraverse: ^4.1.1 + checksum: c5f835f681884469991fe58d76a554688d9c9e50811299ccd4a8f79993a039f5bcb0ee6e8de2b0017d97c794b5832ef3b21c9aac66228e3aa0f7a0485bcfb65b + languageName: node + linkType: hard + "eslint-utils@npm:^2.1.0": version: 2.1.0 resolution: "eslint-utils@npm:2.1.0" @@ -8248,7 +11438,7 @@ __metadata: languageName: node linkType: hard -"eslint-visitor-keys@npm:^1.1.0, eslint-visitor-keys@npm:^1.3.0": +"eslint-visitor-keys@npm:^1.0.0, eslint-visitor-keys@npm:^1.1.0, eslint-visitor-keys@npm:^1.3.0": version: 1.3.0 resolution: "eslint-visitor-keys@npm:1.3.0" checksum: 37a19b712f42f4c9027e8ba98c2b06031c17e0c0a4c696cd429bd9ee04eb43889c446f2cd545e1ff51bef9593fcec94ecd2c2ef89129fcbbf3adadbef520376a @@ -8349,7 +11539,7 @@ __metadata: languageName: node linkType: hard -"esrecurse@npm:^4.3.0": +"esrecurse@npm:^4.1.0, esrecurse@npm:^4.3.0": version: 4.3.0 resolution: "esrecurse@npm:4.3.0" dependencies: @@ -8372,6 +11562,17 @@ __metadata: languageName: node linkType: hard +"estree-to-babel@npm:^3.1.0": + version: 3.2.1 + resolution: "estree-to-babel@npm:3.2.1" + dependencies: + "@babel/traverse": ^7.1.6 + "@babel/types": ^7.2.0 + c8: ^7.6.0 + checksum: a4584d0c60b80ce41abe91b11052f5d48635e811c67839942c4ebd51aa33d9f9b156ad615f71ceae2a8260b5e3054f36d73db6d0d2a3b9951483f4b6187495c8 + languageName: node + linkType: hard + "estree-walker@npm:^0.6.1": version: 0.6.1 resolution: "estree-walker@npm:0.6.1" @@ -8421,7 +11622,7 @@ __metadata: languageName: node linkType: hard -"events@npm:3.3.0, events@npm:^3.2.0": +"events@npm:3.3.0, events@npm:^3.0.0, events@npm:^3.2.0": version: 3.3.0 resolution: "events@npm:3.3.0" checksum: f6f487ad2198aa41d878fa31452f1a3c00958f46e9019286ff4787c84aac329332ab45c9cdc8c445928fc6d7ded294b9e005a7fce9426488518017831b272780 @@ -8439,6 +11640,13 @@ __metadata: languageName: node linkType: hard +"exec-sh@npm:^0.3.2": + version: 0.3.6 + resolution: "exec-sh@npm:0.3.6" + checksum: 0be4f06929c8e4834ea4812f29fe59e2dfcc1bc3fc4b4bb71acb38a500c3b394628a05ef7ba432520bc6c5ec4fadab00cc9c513c4ff6a32104965af302e998e0 + languageName: node + linkType: hard + "execa@npm:4.1.0": version: 4.1.0 resolution: "execa@npm:4.1.0" @@ -8456,6 +11664,21 @@ __metadata: languageName: node linkType: hard +"execa@npm:^1.0.0": + version: 1.0.0 + resolution: "execa@npm:1.0.0" + dependencies: + cross-spawn: ^6.0.0 + get-stream: ^4.0.0 + is-stream: ^1.1.0 + npm-run-path: ^2.0.0 + p-finally: ^1.0.0 + signal-exit: ^3.0.0 + strip-eof: ^1.0.0 + checksum: ddf1342c1c7d02dd93b41364cd847640f6163350d9439071abf70bf4ceb1b9b2b2e37f54babb1d8dc1df8e0d8def32d0e81e74a2e62c3e1d70c303eb4c306bc4 + languageName: node + linkType: hard + "execa@npm:^5.0.0": version: 5.1.1 resolution: "execa@npm:5.1.1" @@ -8498,6 +11721,21 @@ __metadata: languageName: node linkType: hard +"expand-brackets@npm:^2.1.4": + version: 2.1.4 + resolution: "expand-brackets@npm:2.1.4" + dependencies: + debug: ^2.3.3 + define-property: ^0.2.5 + extend-shallow: ^2.0.1 + posix-character-classes: ^0.1.0 + regex-not: ^1.0.0 + snapdragon: ^0.8.1 + to-regex: ^3.0.1 + checksum: 1781d422e7edfa20009e2abda673cadb040a6037f0bd30fcd7357304f4f0c284afd420d7622722ca4a016f39b6d091841ab57b401c1f7e2e5131ac65b9f14fa1 + languageName: node + linkType: hard + "expect@npm:^27.3.1": version: 27.3.1 resolution: "expect@npm:27.3.1" @@ -8568,6 +11806,16 @@ __metadata: languageName: node linkType: hard +"extend-shallow@npm:^3.0.0, extend-shallow@npm:^3.0.2": + version: 3.0.2 + resolution: "extend-shallow@npm:3.0.2" + dependencies: + assign-symbols: ^1.0.0 + is-extendable: ^1.0.1 + checksum: a920b0cd5838a9995ace31dfd11ab5e79bf6e295aa566910ce53dff19f4b1c0fda2ef21f26b28586c7a2450ca2b42d97bd8c0f5cec9351a819222bf861e02461 + languageName: node + linkType: hard + "extend@npm:^3.0.0, extend@npm:~3.0.2": version: 3.0.2 resolution: "extend@npm:3.0.2" @@ -8586,6 +11834,22 @@ __metadata: languageName: node linkType: hard +"extglob@npm:^2.0.4": + version: 2.0.4 + resolution: "extglob@npm:2.0.4" + dependencies: + array-unique: ^0.3.2 + define-property: ^1.0.0 + expand-brackets: ^2.1.4 + extend-shallow: ^2.0.1 + fragment-cache: ^0.2.1 + regex-not: ^1.0.0 + snapdragon: ^0.8.1 + to-regex: ^3.0.1 + checksum: a41531b8934735b684cef5e8c5a01d0f298d7d384500ceca38793a9ce098125aab04ee73e2d75d5b2901bc5dddd2b64e1b5e3bf19139ea48bac52af4a92f1d00 + languageName: node + linkType: hard + "extract-zip@npm:2.0.1": version: 2.0.1 resolution: "extract-zip@npm:2.0.1" @@ -8617,13 +11881,27 @@ __metadata: languageName: node linkType: hard -"fast-deep-equal@npm:^3.1.1, fast-deep-equal@npm:^3.1.3": +"fast-deep-equal@npm:^3.0.0, fast-deep-equal@npm:^3.1.1, fast-deep-equal@npm:^3.1.3": version: 3.1.3 resolution: "fast-deep-equal@npm:3.1.3" checksum: e21a9d8d84f53493b6aa15efc9cfd53dd5b714a1f23f67fb5dc8f574af80df889b3bce25dc081887c6d25457cce704e636395333abad896ccdec03abaf1f3f9d languageName: node linkType: hard +"fast-glob@npm:^2.2.6": + version: 2.2.7 + resolution: "fast-glob@npm:2.2.7" + dependencies: + "@mrmlnc/readdir-enhanced": ^2.2.1 + "@nodelib/fs.stat": ^1.1.2 + glob-parent: ^3.1.0 + is-glob: ^4.0.0 + merge2: ^1.2.3 + micromatch: ^3.1.10 + checksum: 304ccff1d437fcc44ae0168b0c3899054b92e0fd6af6ad7c3ccc82ab4ddd210b99c7c739d60ee3686da2aa165cd1a31810b31fd91f7c2a575d297342a9fc0534 + languageName: node + linkType: hard + "fast-glob@npm:^3.0.3, fast-glob@npm:^3.1.1, fast-glob@npm:^3.2.5, fast-glob@npm:^3.2.7": version: 3.2.7 resolution: "fast-glob@npm:3.2.7" @@ -8637,6 +11915,13 @@ __metadata: languageName: node linkType: hard +"fast-json-parse@npm:^1.0.3": + version: 1.0.3 + resolution: "fast-json-parse@npm:1.0.3" + checksum: c19117c56ec18a9aa133c8ebf450c99d1037117e47a3cb9aff91b60580ba48d0fd8484b696c26749a1b9cb4914084177b3fa9ebef72063a74dee7d9ead987603 + languageName: node + linkType: hard + "fast-json-stable-stringify@npm:2.x, fast-json-stable-stringify@npm:^2.0.0, fast-json-stable-stringify@npm:^2.1.0": version: 2.1.0 resolution: "fast-json-stable-stringify@npm:2.1.0" @@ -8674,6 +11959,15 @@ __metadata: languageName: node linkType: hard +"fault@npm:^1.0.0": + version: 1.0.4 + resolution: "fault@npm:1.0.4" + dependencies: + format: ^0.2.0 + checksum: 5ac610d8b09424e0f2fa8cf913064372f2ee7140a203a79957f73ed557c0e79b1a3d096064d7f40bde8132a69204c1fe25ec23634c05c6da2da2039cff26c4e7 + languageName: node + linkType: hard + "faye-websocket@npm:^0.11.3": version: 0.11.4 resolution: "faye-websocket@npm:0.11.4" @@ -8701,6 +11995,13 @@ __metadata: languageName: node linkType: hard +"figgy-pudding@npm:^3.5.1": + version: 3.5.2 + resolution: "figgy-pudding@npm:3.5.2" + checksum: 4090bd66193693dcda605e44d6b8715d8fb5c92a67acd57826e55cf816a342f550d57e5638f822b39366e1b2fdb244e99b3068a37213aa1d6c1bf602b8fde5ae + languageName: node + linkType: hard + "figures@npm:^3.0.0, figures@npm:^3.2.0": version: 3.2.0 resolution: "figures@npm:3.2.0" @@ -8731,6 +12032,24 @@ __metadata: languageName: node linkType: hard +"file-system-cache@npm:^1.0.5": + version: 1.0.5 + resolution: "file-system-cache@npm:1.0.5" + dependencies: + bluebird: ^3.3.5 + fs-extra: ^0.30.0 + ramda: ^0.21.0 + checksum: 25dd942d522b95a4165029f78d4a74d82dcb9582b2745dc012d03e1311d98b1012f9b361ef1c79708c66be6cb7201f4f4e96f2dea319ace962d6c9c0f93526ec + languageName: node + linkType: hard + +"file-uri-to-path@npm:1.0.0": + version: 1.0.0 + resolution: "file-uri-to-path@npm:1.0.0" + checksum: b648580bdd893a008c92c7ecc96c3ee57a5e7b6c4c18a9a09b44fb5d36d79146f8e442578bc0e173dc027adf3987e254ba1dfd6e3ec998b7c282873010502144 + languageName: node + linkType: hard + "filelist@npm:^1.0.1": version: 1.0.2 resolution: "filelist@npm:1.0.2" @@ -8740,6 +12059,25 @@ __metadata: languageName: node linkType: hard +"filesize@npm:6.1.0": + version: 6.1.0 + resolution: "filesize@npm:6.1.0" + checksum: c46d644cb562fba7b7e837d5cd339394492abaa06722018b91a97d2a63b6c753ef30653de5c03bf178c631185bf55c3561c28fa9ccc4e9755f42d853c6ed4d09 + languageName: node + linkType: hard + +"fill-range@npm:^4.0.0": + version: 4.0.0 + resolution: "fill-range@npm:4.0.0" + dependencies: + extend-shallow: ^2.0.1 + is-number: ^3.0.0 + repeat-string: ^1.6.1 + to-regex-range: ^2.1.0 + checksum: dbb5102467786ab42bc7a3ec7380ae5d6bfd1b5177b2216de89e4a541193f8ba599a6db84651bd2c58c8921db41b8cc3d699ea83b477342d3ce404020f73c298 + languageName: node + linkType: hard + "fill-range@npm:^7.0.1": version: 7.0.1 resolution: "fill-range@npm:7.0.1" @@ -8785,6 +12123,17 @@ __metadata: languageName: node linkType: hard +"find-cache-dir@npm:^2.0.0, find-cache-dir@npm:^2.1.0": + version: 2.1.0 + resolution: "find-cache-dir@npm:2.1.0" + dependencies: + commondir: ^1.0.1 + make-dir: ^2.0.0 + pkg-dir: ^3.0.0 + checksum: 60ad475a6da9f257df4e81900f78986ab367d4f65d33cf802c5b91e969c28a8762f098693d7a571b6e4dd4c15166c2da32ae2d18b6766a18e2071079448fdce4 + languageName: node + linkType: hard + "find-cache-dir@npm:^3.3.1": version: 3.3.2 resolution: "find-cache-dir@npm:3.3.2" @@ -8803,6 +12152,16 @@ __metadata: languageName: node linkType: hard +"find-up@npm:4.1.0, find-up@npm:^4.0.0, find-up@npm:^4.1.0": + version: 4.1.0 + resolution: "find-up@npm:4.1.0" + dependencies: + locate-path: ^5.0.0 + path-exists: ^4.0.0 + checksum: 4c172680e8f8c1f78839486e14a43ef82e9decd0e74145f40707cc42e7420506d5ec92d9a11c22bd2c48fb0c384ea05dd30e10dd152fefeec6f2f75282a8b844 + languageName: node + linkType: hard + "find-up@npm:^2.1.0": version: 2.1.0 resolution: "find-up@npm:2.1.0" @@ -8821,16 +12180,6 @@ __metadata: languageName: node linkType: hard -"find-up@npm:^4.0.0, find-up@npm:^4.1.0": - version: 4.1.0 - resolution: "find-up@npm:4.1.0" - dependencies: - locate-path: ^5.0.0 - path-exists: ^4.0.0 - checksum: 4c172680e8f8c1f78839486e14a43ef82e9decd0e74145f40707cc42e7420506d5ec92d9a11c22bd2c48fb0c384ea05dd30e10dd152fefeec6f2f75282a8b844 - languageName: node - linkType: hard - "find-up@npm:^5.0.0": version: 5.0.0 resolution: "find-up@npm:5.0.0" @@ -8874,6 +12223,16 @@ __metadata: languageName: node linkType: hard +"flush-write-stream@npm:^1.0.0": + version: 1.1.1 + resolution: "flush-write-stream@npm:1.1.1" + dependencies: + inherits: ^2.0.3 + readable-stream: ^2.3.6 + checksum: 42e07747f83bcd4e799da802e621d6039787749ffd41f5517f8c4f786ee967e31ba32b09f8b28a9c6f67bd4f5346772e604202df350e8d99f4141771bae31279 + languageName: node + linkType: hard + "follow-redirects@npm:^1.0.0, follow-redirects@npm:^1.14.0": version: 1.14.5 resolution: "follow-redirects@npm:1.14.5" @@ -8884,6 +12243,13 @@ __metadata: languageName: node linkType: hard +"for-in@npm:^1.0.2": + version: 1.0.2 + resolution: "for-in@npm:1.0.2" + checksum: 09f4ae93ce785d253ac963d94c7f3432d89398bf25ac7a24ed034ca393bf74380bdeccc40e0f2d721a895e54211b07c8fad7132e8157827f6f7f059b70b4043d + languageName: node + linkType: hard + "foreach@npm:^2.0.5": version: 2.0.5 resolution: "foreach@npm:2.0.5" @@ -8891,6 +12257,16 @@ __metadata: languageName: node linkType: hard +"foreground-child@npm:^2.0.0": + version: 2.0.0 + resolution: "foreground-child@npm:2.0.0" + dependencies: + cross-spawn: ^7.0.0 + signal-exit: ^3.0.2 + checksum: f77ec9aff621abd6b754cb59e690743e7639328301fbea6ff09df27d2befaf7dd5b77cec51c32323d73a81a7d91caaf9413990d305cbe3d873eec4fe58960956 + languageName: node + linkType: hard + "forever-agent@npm:~0.6.1": version: 0.6.1 resolution: "forever-agent@npm:0.6.1" @@ -8898,6 +12274,21 @@ __metadata: languageName: node linkType: hard +"fork-ts-checker-webpack-plugin@npm:4.1.6, fork-ts-checker-webpack-plugin@npm:^4.1.6": + version: 4.1.6 + resolution: "fork-ts-checker-webpack-plugin@npm:4.1.6" + dependencies: + "@babel/code-frame": ^7.5.5 + chalk: ^2.4.1 + micromatch: ^3.1.10 + minimatch: ^3.0.4 + semver: ^5.6.0 + tapable: ^1.0.0 + worker-rpc: ^0.1.0 + checksum: 4cc4fa7919dd9a0d765514d064c86e3a6f9cea8e700996b3e775cfcc0280f606a2dd16203d9b7e294b64e900795b0d80eb41fc8c192857d3350e407f14ef3eed + languageName: node + linkType: hard + "fork-ts-checker-webpack-plugin@npm:6.2.10": version: 6.2.10 resolution: "fork-ts-checker-webpack-plugin@npm:6.2.10" @@ -8919,6 +12310,37 @@ __metadata: languageName: node linkType: hard +"fork-ts-checker-webpack-plugin@npm:^6.0.4": + version: 6.4.0 + resolution: "fork-ts-checker-webpack-plugin@npm:6.4.0" + dependencies: + "@babel/code-frame": ^7.8.3 + "@types/json-schema": ^7.0.5 + chalk: ^4.1.0 + chokidar: ^3.4.2 + cosmiconfig: ^6.0.0 + deepmerge: ^4.2.2 + fs-extra: ^9.0.0 + glob: ^7.1.6 + memfs: ^3.1.2 + minimatch: ^3.0.4 + schema-utils: 2.7.0 + semver: ^7.3.2 + tapable: ^1.0.0 + peerDependencies: + eslint: ">= 6" + typescript: ">= 2.7" + vue-template-compiler: "*" + webpack: ">= 4" + peerDependenciesMeta: + eslint: + optional: true + vue-template-compiler: + optional: true + checksum: feba541453d4bdeaa743388541e125204789369920909f0152b11cfd1801a75fb2f6c708eae0174c9810ab4334fa21dea761037629440a647046581e7df62b8c + languageName: node + linkType: hard + "form-data@npm:^3.0.0": version: 3.0.1 resolution: "form-data@npm:3.0.1" @@ -8941,6 +12363,13 @@ __metadata: languageName: node linkType: hard +"format@npm:^0.2.0": + version: 0.2.2 + resolution: "format@npm:0.2.2" + checksum: 646a60e1336250d802509cf24fb801e43bd4a70a07510c816fa133aa42cdbc9c21e66e9cc0801bb183c5b031c9d68be62e7fbb6877756e52357850f92aa28799 + languageName: node + linkType: hard + "forwarded@npm:0.2.0": version: 0.2.0 resolution: "forwarded@npm:0.2.0" @@ -8955,6 +12384,15 @@ __metadata: languageName: node linkType: hard +"fragment-cache@npm:^0.2.1": + version: 0.2.1 + resolution: "fragment-cache@npm:0.2.1" + dependencies: + map-cache: ^0.2.2 + checksum: 1cbbd0b0116b67d5790175de0038a11df23c1cd2e8dcdbade58ebba5594c2d641dade6b4f126d82a7b4a6ffc2ea12e3d387dbb64ea2ae97cf02847d436f60fdc + languageName: node + linkType: hard + "fresh@npm:0.5.2": version: 0.5.2 resolution: "fresh@npm:0.5.2" @@ -8962,6 +12400,16 @@ __metadata: languageName: node linkType: hard +"from2@npm:^2.1.0": + version: 2.3.0 + resolution: "from2@npm:2.3.0" + dependencies: + inherits: ^2.0.1 + readable-stream: ^2.0.0 + checksum: 6080eba0793dce32f475141fb3d54cc15f84ee52e420ee22ac3ab0ad639dc95a1875bc6eb9c0e1140e94972a36a89dc5542491b85f1ab8df0c126241e0f1a61b + languageName: node + linkType: hard + "fs-extra@npm:8.1.0, fs-extra@npm:^8.1.0": version: 8.1.0 resolution: "fs-extra@npm:8.1.0" @@ -8973,6 +12421,19 @@ __metadata: languageName: node linkType: hard +"fs-extra@npm:^0.30.0": + version: 0.30.0 + resolution: "fs-extra@npm:0.30.0" + dependencies: + graceful-fs: ^4.1.2 + jsonfile: ^2.1.0 + klaw: ^1.0.0 + path-is-absolute: ^1.0.0 + rimraf: ^2.2.8 + checksum: 6edfd65fc813baa27f1603778c0f5ec11f8c5006a20b920437813ee2023eba18aeec8bef1c89b2e6c84f9fc90fdc7c916f4a700466c8c69d22a35d018f2570f0 + languageName: node + linkType: hard + "fs-extra@npm:^10.0.0": version: 10.0.0 resolution: "fs-extra@npm:10.0.0" @@ -9012,6 +12473,18 @@ __metadata: languageName: node linkType: hard +"fs-write-stream-atomic@npm:^1.0.8": + version: 1.0.10 + resolution: "fs-write-stream-atomic@npm:1.0.10" + dependencies: + graceful-fs: ^4.1.2 + iferr: ^0.1.5 + imurmurhash: ^0.1.4 + readable-stream: 1 || 2 + checksum: 43c2d6817b72127793abc811ebf87a135b03ac7cbe41cdea9eeacf59b23e6e29b595739b083e9461303d525687499a1aaefcec3e5ff9bc82b170edd3dc467ccc + languageName: node + linkType: hard + "fs.realpath@npm:^1.0.0": version: 1.0.0 resolution: "fs.realpath@npm:1.0.0" @@ -9019,7 +12492,18 @@ __metadata: languageName: node linkType: hard -"fsevents@npm:^2.3.2, fsevents@npm:~2.3.1, fsevents@npm:~2.3.2": +"fsevents@npm:^1.2.7": + version: 1.2.13 + resolution: "fsevents@npm:1.2.13" + dependencies: + bindings: ^1.5.0 + nan: ^2.12.1 + checksum: ae855aa737aaa2f9167e9f70417cf6e45a5cd11918e1fee9923709a0149be52416d765433b4aeff56c789b1152e718cd1b13ddec6043b78cdda68260d86383c1 + conditions: os=darwin + languageName: node + linkType: hard + +"fsevents@npm:^2.1.2, fsevents@npm:^2.3.2, fsevents@npm:~2.3.1, fsevents@npm:~2.3.2": version: 2.3.2 resolution: "fsevents@npm:2.3.2" dependencies: @@ -9029,7 +12513,17 @@ __metadata: languageName: node linkType: hard -"fsevents@patch:fsevents@^2.3.2#~builtin, fsevents@patch:fsevents@~2.3.1#~builtin, fsevents@patch:fsevents@~2.3.2#~builtin": +"fsevents@patch:fsevents@^1.2.7#~builtin": + version: 1.2.13 + resolution: "fsevents@patch:fsevents@npm%3A1.2.13#~builtin::version=1.2.13&hash=18f3a7" + dependencies: + bindings: ^1.5.0 + nan: ^2.12.1 + conditions: os=darwin + languageName: node + linkType: hard + +"fsevents@patch:fsevents@^2.1.2#~builtin, fsevents@patch:fsevents@^2.3.2#~builtin, fsevents@patch:fsevents@~2.3.1#~builtin, fsevents@patch:fsevents@~2.3.2#~builtin": version: 2.3.2 resolution: "fsevents@patch:fsevents@npm%3A2.3.2#~builtin::version=2.3.2&hash=18f3a7" dependencies: @@ -9045,6 +12539,18 @@ __metadata: languageName: node linkType: hard +"function.prototype.name@npm:^1.1.0": + version: 1.1.5 + resolution: "function.prototype.name@npm:1.1.5" + dependencies: + call-bind: ^1.0.2 + define-properties: ^1.1.3 + es-abstract: ^1.19.0 + functions-have-names: ^1.2.2 + checksum: acd21d733a9b649c2c442f067567743214af5fa248dbeee69d8278ce7df3329ea5abac572be9f7470b4ec1cd4d8f1040e3c5caccf98ebf2bf861a0deab735c27 + languageName: node + linkType: hard + "functional-red-black-tree@npm:^1.0.1": version: 1.0.1 resolution: "functional-red-black-tree@npm:1.0.1" @@ -9052,6 +12558,20 @@ __metadata: languageName: node linkType: hard +"functions-have-names@npm:^1.2.2": + version: 1.2.2 + resolution: "functions-have-names@npm:1.2.2" + checksum: 25f44b6d1c41ac86ffdf41f25d1de81c0a5b4a3fcf4307a33cdfb23b9d4bd5d0d8bf312eaef5ad368c6500c8a9e19f692b8ce9f96aaab99db9dd936554165558 + languageName: node + linkType: hard + +"fuse.js@npm:^3.6.1": + version: 3.6.1 + resolution: "fuse.js@npm:3.6.1" + checksum: 958aa877ace65dc900df776becd39a03df68d7eebc7890b5fd2fc8c5d88e2fff238f60c37f80013ce70e9d9e7ac8efa9f503695fdd23d1eca3cc983797b50191 + languageName: node + linkType: hard + "gauge@npm:~2.7.3": version: 2.7.4 resolution: "gauge@npm:2.7.4" @@ -9141,6 +12661,15 @@ __metadata: languageName: node linkType: hard +"get-stream@npm:^4.0.0": + version: 4.1.0 + resolution: "get-stream@npm:4.1.0" + dependencies: + pump: ^3.0.0 + checksum: 443e1914170c15bd52ff8ea6eff6dfc6d712b031303e36302d2778e3de2506af9ee964d6124010f7818736dcfde05c04ba7ca6cc26883106e084357a17ae7d73 + languageName: node + linkType: hard + "get-stream@npm:^5.0.0, get-stream@npm:^5.1.0": version: 5.2.0 resolution: "get-stream@npm:5.2.0" @@ -9167,6 +12696,13 @@ __metadata: languageName: node linkType: hard +"get-value@npm:^2.0.3, get-value@npm:^2.0.6": + version: 2.0.6 + resolution: "get-value@npm:2.0.6" + checksum: 5c3b99cb5398ea8016bf46ff17afc5d1d286874d2ad38ca5edb6e87d75c0965b0094cb9a9dddef2c59c23d250702323539a7fbdd870620db38c7e7d7ec87c1eb + languageName: node + linkType: hard + "getos@npm:^3.2.1": version: 3.2.1 resolution: "getos@npm:3.2.1" @@ -9185,6 +12721,42 @@ __metadata: languageName: node linkType: hard +"github-slugger@npm:^1.0.0": + version: 1.4.0 + resolution: "github-slugger@npm:1.4.0" + checksum: 4f52e7a21f5c6a4c5328f01fe4fe13ae8881fea78bfe31f9e72c4038f97e3e70d52fb85aa7633a52c501dc2486874474d9abd22aa61cbe9b113099a495551c6b + languageName: node + linkType: hard + +"glob-base@npm:^0.3.0": + version: 0.3.0 + resolution: "glob-base@npm:0.3.0" + dependencies: + glob-parent: ^2.0.0 + is-glob: ^2.0.0 + checksum: d0e3054a7df6033936980a3454ee6c91bb6661300b86b7a616d822a521e089afff1f5fbbd2582f9cee9f5823aed31d90244ee2e2e55f425103d42558615df294 + languageName: node + linkType: hard + +"glob-parent@npm:^2.0.0": + version: 2.0.0 + resolution: "glob-parent@npm:2.0.0" + dependencies: + is-glob: ^2.0.0 + checksum: 734fc461d9d2753dd490dd072df6ce41fe4ebb60e9319b108bc538707b21780af3a61c3961ec2264131fad5d3d9a493e013a775aef11a69ac2f49fd7d8f46457 + languageName: node + linkType: hard + +"glob-parent@npm:^3.1.0": + version: 3.1.0 + resolution: "glob-parent@npm:3.1.0" + dependencies: + is-glob: ^3.1.0 + path-dirname: ^1.0.0 + checksum: 653d559237e89a11b9934bef3f392ec42335602034c928590544d383ff5ef449f7b12f3cfa539708e74bc0a6c28ab1fe51d663cc07463cdf899ba92afd85a855 + languageName: node + linkType: hard + "glob-parent@npm:^5.1.2, glob-parent@npm:~5.1.0, glob-parent@npm:~5.1.2": version: 5.1.2 resolution: "glob-parent@npm:5.1.2" @@ -9203,6 +12775,24 @@ __metadata: languageName: node linkType: hard +"glob-promise@npm:^3.4.0": + version: 3.4.0 + resolution: "glob-promise@npm:3.4.0" + dependencies: + "@types/glob": "*" + peerDependencies: + glob: "*" + checksum: 84a2c076e7581c9f8aa7a8a151ad5f9352c4118ba03c5673ecfcf540f4c53aa75f8d32fe493c2286d471dccd7a75932b9bfe97bf782564c1f4a50b9c7954e3b6 + languageName: node + linkType: hard + +"glob-to-regexp@npm:^0.3.0": + version: 0.3.0 + resolution: "glob-to-regexp@npm:0.3.0" + checksum: d34b3219d860042d508c4893b67617cd16e2668827e445ff39cff9f72ef70361d3dc24f429e003cdfb6607c75c9664b8eadc41d2eeb95690af0b0d3113c1b23b + languageName: node + linkType: hard + "glob-to-regexp@npm:^0.4.1": version: 0.4.1 resolution: "glob-to-regexp@npm:0.4.1" @@ -9261,7 +12851,7 @@ __metadata: languageName: node linkType: hard -"global-modules@npm:^2.0.0": +"global-modules@npm:2.0.0, global-modules@npm:^2.0.0": version: 2.0.0 resolution: "global-modules@npm:2.0.0" dependencies: @@ -9281,6 +12871,16 @@ __metadata: languageName: node linkType: hard +"global@npm:^4.4.0": + version: 4.4.0 + resolution: "global@npm:4.4.0" + dependencies: + min-document: ^2.19.0 + process: ^0.11.10 + checksum: 9c057557c8f5a5bcfbeb9378ba4fe2255d04679452be504608dd5f13b54edf79f7be1db1031ea06a4ec6edd3b9f5f17d2d172fb47e6c69dae57fd84b7e72b77f + languageName: node + linkType: hard + "globals@npm:^11.1.0, globals@npm:^11.12.0": version: 11.12.0 resolution: "globals@npm:11.12.0" @@ -9297,6 +12897,22 @@ __metadata: languageName: node linkType: hard +"globals@npm:^9.18.0": + version: 9.18.0 + resolution: "globals@npm:9.18.0" + checksum: e9c066aecfdc5ea6f727344a4246ecc243aaf66ede3bffee10ddc0c73351794c25e727dd046090dcecd821199a63b9de6af299a6e3ba292c8b22f0a80ea32073 + languageName: node + linkType: hard + +"globalthis@npm:^1.0.0": + version: 1.0.2 + resolution: "globalthis@npm:1.0.2" + dependencies: + define-properties: ^1.1.3 + checksum: 5a5f3c7ab94708260a98106b35946b74bb57f6b2013e39668dc9e8770b80a3418103b63a2b4aa01c31af15fdf6a2940398ffc0a408573c34c2304f928895adff + languageName: node + linkType: hard + "globby@npm:10.0.1": version: 10.0.1 resolution: "globby@npm:10.0.1" @@ -9313,7 +12929,21 @@ __metadata: languageName: node linkType: hard -"globby@npm:^11.0.1, globby@npm:^11.0.3, globby@npm:^11.0.4": +"globby@npm:11.0.1": + version: 11.0.1 + resolution: "globby@npm:11.0.1" + dependencies: + array-union: ^2.1.0 + dir-glob: ^3.0.1 + fast-glob: ^3.1.1 + ignore: ^5.1.4 + merge2: ^1.3.0 + slash: ^3.0.0 + checksum: b0b26e580666ef8caf0b0facd585c1da46eb971207ee9f8c7b690c1372d77602dd072f047f26c3ae1c293807fdf8fb6890d9291d37bc6d2602b1f07386f983e5 + languageName: node + linkType: hard + +"globby@npm:^11.0.1, globby@npm:^11.0.2, globby@npm:^11.0.3, globby@npm:^11.0.4": version: 11.0.4 resolution: "globby@npm:11.0.4" dependencies: @@ -9340,6 +12970,22 @@ __metadata: languageName: node linkType: hard +"globby@npm:^9.2.0": + version: 9.2.0 + resolution: "globby@npm:9.2.0" + dependencies: + "@types/glob": ^7.1.1 + array-union: ^1.0.2 + dir-glob: ^2.2.2 + fast-glob: ^2.2.6 + glob: ^7.1.3 + ignore: ^4.0.3 + pify: ^4.0.1 + slash: ^2.0.0 + checksum: 9b4cb70aa0b43bf89b18cf0e543695185e16d8dd99c17bdc6a1df0a9f88ff9dc8d2467aebace54c3842fc451a564882948c87a3b4fbdb1cacf3e05fd54b6ac5d + languageName: node + linkType: hard + "globjoin@npm:^0.1.4": version: 0.1.4 resolution: "globjoin@npm:0.1.4" @@ -9347,7 +12993,7 @@ __metadata: languageName: node linkType: hard -"graceful-fs@npm:^4.1.2, graceful-fs@npm:^4.1.6, graceful-fs@npm:^4.2.0, graceful-fs@npm:^4.2.4, graceful-fs@npm:^4.2.6": +"graceful-fs@npm:^4.1.11, graceful-fs@npm:^4.1.15, graceful-fs@npm:^4.1.2, graceful-fs@npm:^4.1.6, graceful-fs@npm:^4.1.9, graceful-fs@npm:^4.2.0, graceful-fs@npm:^4.2.4, graceful-fs@npm:^4.2.6": version: 4.2.8 resolution: "graceful-fs@npm:4.2.8" checksum: 5d224c8969ad0581d551dfabdb06882706b31af2561bd5e2034b4097e67cc27d05232849b8643866585fd0a41c7af152950f8776f4dd5579e9853733f31461c6 @@ -9366,6 +13012,23 @@ __metadata: languageName: node linkType: hard +"gud@npm:^1.0.0": + version: 1.0.0 + resolution: "gud@npm:1.0.0" + checksum: 3e2eb37cf794364077c18f036d6aa259c821c7fd188f2b7935cb00d589d82a41e0ebb1be809e1a93679417f62f1ad0513e745c3cf5329596e489aef8c5e5feae + languageName: node + linkType: hard + +"gzip-size@npm:5.1.1": + version: 5.1.1 + resolution: "gzip-size@npm:5.1.1" + dependencies: + duplexer: ^0.1.1 + pify: ^4.0.1 + checksum: 6451ba2210877368f6d9ee9b4dc0d14501671472801323bf81fbd38bdeb8525f40a78be45a59d0182895d51e6b60c6314b7d02bd6ed40e7225a01e8d038aac1b + languageName: node + linkType: hard + "gzip-size@npm:^6.0.0": version: 6.0.0 resolution: "gzip-size@npm:6.0.0" @@ -9431,6 +13094,15 @@ __metadata: languageName: node linkType: hard +"has-ansi@npm:^2.0.0": + version: 2.0.0 + resolution: "has-ansi@npm:2.0.0" + dependencies: + ansi-regex: ^2.0.0 + checksum: 1b51daa0214440db171ff359d0a2d17bc20061164c57e76234f614c91dbd2a79ddd68dfc8ee73629366f7be45a6df5f2ea9de83f52e1ca24433f2cc78c35d8ec + languageName: node + linkType: hard + "has-bigints@npm:^1.0.1": version: 1.0.1 resolution: "has-bigints@npm:1.0.1" @@ -9452,6 +13124,15 @@ __metadata: languageName: node linkType: hard +"has-glob@npm:^1.0.0": + version: 1.0.0 + resolution: "has-glob@npm:1.0.0" + dependencies: + is-glob: ^3.0.0 + checksum: cafad93e599f49f676a9ab444ec90210fcda35ac14ad6c9bb96c08057ad18a1318f1116b053aa6bdc744f19252537006872d3fc76785e842bbe8cc4312447fc8 + languageName: node + linkType: hard + "has-symbols@npm:^1.0.1, has-symbols@npm:^1.0.2": version: 1.0.2 resolution: "has-symbols@npm:1.0.2" @@ -9475,6 +13156,45 @@ __metadata: languageName: node linkType: hard +"has-value@npm:^0.3.1": + version: 0.3.1 + resolution: "has-value@npm:0.3.1" + dependencies: + get-value: ^2.0.3 + has-values: ^0.1.4 + isobject: ^2.0.0 + checksum: 29e2a1e6571dad83451b769c7ce032fce6009f65bccace07c2962d3ad4d5530b6743d8f3229e4ecf3ea8e905d23a752c5f7089100c1f3162039fa6dc3976558f + languageName: node + linkType: hard + +"has-value@npm:^1.0.0": + version: 1.0.0 + resolution: "has-value@npm:1.0.0" + dependencies: + get-value: ^2.0.6 + has-values: ^1.0.0 + isobject: ^3.0.0 + checksum: b9421d354e44f03d3272ac39fd49f804f19bc1e4fa3ceef7745df43d6b402053f828445c03226b21d7d934a21ac9cf4bc569396dc312f496ddff873197bbd847 + languageName: node + linkType: hard + +"has-values@npm:^0.1.4": + version: 0.1.4 + resolution: "has-values@npm:0.1.4" + checksum: ab1c4bcaf811ccd1856c11cfe90e62fca9e2b026ebe474233a3d282d8d67e3b59ed85b622c7673bac3db198cb98bd1da2b39300a2f98e453729b115350af49bc + languageName: node + linkType: hard + +"has-values@npm:^1.0.0": + version: 1.0.0 + resolution: "has-values@npm:1.0.0" + dependencies: + is-number: ^3.0.0 + kind-of: ^4.0.0 + checksum: 77e6693f732b5e4cf6c38dfe85fdcefad0fab011af74995c3e83863fabf5e3a836f406d83565816baa0bc0a523c9410db8b990fe977074d61aeb6d8f4fcffa11 + languageName: node + linkType: hard + "has@npm:^1.0.3": version: 1.0.3 resolution: "has@npm:1.0.3" @@ -9629,7 +13349,7 @@ __metadata: languageName: node linkType: hard -"he@npm:1.2.0, he@npm:^1.1.1": +"he@npm:1.2.0, he@npm:^1.1.1, he@npm:^1.2.0": version: 1.2.0 resolution: "he@npm:1.2.0" bin: @@ -9645,7 +13365,14 @@ __metadata: languageName: node linkType: hard -"history@npm:^5.0.3": +"highlight.js@npm:^10.1.1, highlight.js@npm:~10.7.0": + version: 10.7.3 + resolution: "highlight.js@npm:10.7.3" + checksum: defeafcd546b535d710d8efb8e650af9e3b369ef53e28c3dc7893eacfe263200bba4c5fcf43524ae66d5c0c296b1af0870523ceae3e3104d24b7abf6374a4fea + languageName: node + linkType: hard + +"history@npm:^5.1.0": version: 5.1.0 resolution: "history@npm:5.1.0" dependencies: @@ -9665,7 +13392,7 @@ __metadata: languageName: node linkType: hard -"hoist-non-react-statics@npm:^3.3.1": +"hoist-non-react-statics@npm:^3.3.0, hoist-non-react-statics@npm:^3.3.1": version: 3.3.2 resolution: "hoist-non-react-statics@npm:3.3.2" dependencies: @@ -9725,6 +13452,13 @@ __metadata: languageName: node linkType: hard +"html-entities@npm:^1.2.1": + version: 1.4.0 + resolution: "html-entities@npm:1.4.0" + checksum: 4b73ffb9eead200f99146e4fbe70acb0af2fea136901a131fc3a782e9ef876a7cbb07dec303ca1f8804232b812249dbf3643a270c9c524852065d9224a8dcdd0 + languageName: node + linkType: hard + "html-entities@npm:^2.1.0, html-entities@npm:^2.3.2": version: 2.3.2 resolution: "html-entities@npm:2.3.2" @@ -9739,6 +13473,40 @@ __metadata: languageName: node linkType: hard +"html-minifier-terser@npm:^5.0.1": + version: 5.1.1 + resolution: "html-minifier-terser@npm:5.1.1" + dependencies: + camel-case: ^4.1.1 + clean-css: ^4.2.3 + commander: ^4.1.1 + he: ^1.2.0 + param-case: ^3.0.3 + relateurl: ^0.2.7 + terser: ^4.6.3 + bin: + html-minifier-terser: cli.js + checksum: 75ff3ff886631b9ecb3035acb8e7dd98c599bb4d4618ad6f7e487ee9752987dddcf6848dc3c1ab1d7fc1ad4484337c2ce39c19eac17b0342b4b15e4294c8a904 + languageName: node + linkType: hard + +"html-minifier-terser@npm:^6.0.2": + version: 6.0.2 + resolution: "html-minifier-terser@npm:6.0.2" + dependencies: + camel-case: ^4.1.2 + clean-css: ^5.1.5 + commander: ^8.1.0 + he: ^1.2.0 + param-case: ^3.0.4 + relateurl: ^0.2.7 + terser: ^5.7.2 + bin: + html-minifier-terser: cli.js + checksum: 9c8775ea036f7b04fd5a16607cf4242efdddc64884e84fcc81e27ef56505a12b8a9e1f9ac865ca00a77a3e4c21ef4ffb194dcc6492cdf6cfdfc73bf8de6d7c2d + languageName: node + linkType: hard + "html-tags@npm:^3.1.0": version: 3.1.0 resolution: "html-tags@npm:3.1.0" @@ -9775,6 +13543,52 @@ __metadata: languageName: node linkType: hard +"html-webpack-plugin@npm:^4.0.0": + version: 4.5.2 + resolution: "html-webpack-plugin@npm:4.5.2" + dependencies: + "@types/html-minifier-terser": ^5.0.0 + "@types/tapable": ^1.0.5 + "@types/webpack": ^4.41.8 + html-minifier-terser: ^5.0.1 + loader-utils: ^1.2.3 + lodash: ^4.17.20 + pretty-error: ^2.1.1 + tapable: ^1.1.3 + util.promisify: 1.0.0 + peerDependencies: + webpack: ^4.0.0 || ^5.0.0 + checksum: 25ca0b341234501c64754ba8f9bb84f978e50f3f90affc199d18d04511cdc2c0c8ef8a975901a0fbcfe5bae32f80e8fd5ef52f1ce3672d3ff5307057ccb5a063 + languageName: node + linkType: hard + +"html-webpack-plugin@npm:^5.0.0": + version: 5.5.0 + resolution: "html-webpack-plugin@npm:5.5.0" + dependencies: + "@types/html-minifier-terser": ^6.0.0 + html-minifier-terser: ^6.0.2 + lodash: ^4.17.21 + pretty-error: ^4.0.0 + tapable: ^2.0.0 + peerDependencies: + webpack: ^5.20.0 + checksum: f3d84d0df71fe2f5bac533cc74dce41ab058558cdcc6ff767d166a2abf1cf6fb8491d54d60ddbb34e95c00394e379ba52e0468e0284d1d0cc6a42987056e8219 + languageName: node + linkType: hard + +"htmlparser2@npm:^6.1.0": + version: 6.1.0 + resolution: "htmlparser2@npm:6.1.0" + dependencies: + domelementtype: ^2.0.1 + domhandler: ^4.0.0 + domutils: ^2.5.2 + entities: ^2.0.0 + checksum: 81a7b3d9c3bb9acb568a02fc9b1b81ffbfa55eae7f1c41ae0bf840006d1dbf54cb3aa245b2553e2c94db674840a9f0fdad7027c9a9d01a062065314039058c4e + languageName: node + linkType: hard + "http-cache-semantics@npm:^4.1.0": version: 4.1.0 resolution: "http-cache-semantics@npm:4.1.0" @@ -9901,7 +13715,7 @@ __metadata: languageName: node linkType: hard -"https-browserify@npm:1.0.0": +"https-browserify@npm:1.0.0, https-browserify@npm:^1.0.0": version: 1.0.0 resolution: "https-browserify@npm:1.0.0" checksum: 09b35353e42069fde2435760d13f8a3fb7dd9105e358270e2e225b8a94f811b461edd17cb57594e5f36ec1218f121c160ddceeec6e8be2d55e01dcbbbed8cbae @@ -9975,6 +13789,15 @@ __metadata: languageName: node linkType: hard +"icss-utils@npm:^4.0.0, icss-utils@npm:^4.1.1": + version: 4.1.1 + resolution: "icss-utils@npm:4.1.1" + dependencies: + postcss: ^7.0.14 + checksum: a4ca2c6b82cb3eb879d635bd4028d74bca174edc49ee48ef5f01988489747d340a389d5a0ac6f6887a5c24ab8fc4386c781daab32a7ade5344a2edff66207635 + languageName: node + linkType: hard + "icss-utils@npm:^5.0.0, icss-utils@npm:^5.1.0": version: 5.1.0 resolution: "icss-utils@npm:5.1.0" @@ -10007,7 +13830,14 @@ __metadata: languageName: node linkType: hard -"ignore@npm:^4.0.6": +"iferr@npm:^0.1.5": + version: 0.1.5 + resolution: "iferr@npm:0.1.5" + checksum: a18d19b6ad06a2d5412c0d37f6364869393ef6d1688d59d00082c1f35c92399094c031798340612458cd832f4f2e8b13bc9615934a7d8b0c53061307a3816aa1 + languageName: node + linkType: hard + +"ignore@npm:^4.0.3, ignore@npm:^4.0.6": version: 4.0.6 resolution: "ignore@npm:4.0.6" checksum: 248f82e50a430906f9ee7f35e1158e3ec4c3971451dd9f99c9bc1548261b4db2b99709f60ac6c6cac9333494384176cc4cc9b07acbe42d52ac6a09cad734d800 @@ -10041,6 +13871,13 @@ __metadata: languageName: node linkType: hard +"immer@npm:8.0.1": + version: 8.0.1 + resolution: "immer@npm:8.0.1" + checksum: 63d875c04882b862481a0a692816e5982975a47a57619698bc1bb52963ad3b624911991708b2b81a7af6fdac15083d408e43932d83a6a61216e5a4503efd4095 + languageName: node + linkType: hard + "import-cwd@npm:^3.0.0": version: 3.0.0 resolution: "import-cwd@npm:3.0.0" @@ -10109,7 +13946,7 @@ __metadata: languageName: node linkType: hard -"infer-owner@npm:^1.0.4": +"infer-owner@npm:^1.0.3, infer-owner@npm:^1.0.4": version: 1.0.4 resolution: "infer-owner@npm:1.0.4" checksum: 181e732764e4a0611576466b4b87dac338972b839920b2a8cde43642e4ed6bd54dc1fb0b40874728f2a2df9a1b097b8ff83b56d5f8f8e3927f837fdcb47d8a89 @@ -10133,6 +13970,13 @@ __metadata: languageName: node linkType: hard +"inherits@npm:2.0.1": + version: 2.0.1 + resolution: "inherits@npm:2.0.1" + checksum: 6536b9377296d4ce8ee89c5c543cb75030934e61af42dba98a428e7d026938c5985ea4d1e3b87743a5b834f40ed1187f89c2d7479e9d59e41d2d1051aefba07b + languageName: node + linkType: hard + "inherits@npm:2.0.3": version: 2.0.3 resolution: "inherits@npm:2.0.3" @@ -10206,6 +14050,13 @@ __metadata: languageName: node linkType: hard +"interpret@npm:^2.2.0": + version: 2.2.0 + resolution: "interpret@npm:2.2.0" + checksum: f51efef7cb8d02da16408ffa3504cd6053014c5aeb7bb8c223727e053e4235bf565e45d67028b0c8740d917c603807aa3c27d7bd2f21bf20b6417e2bb3e5fd6e + languageName: node + linkType: hard + "intersection-observer@npm:^0.12.0": version: 0.12.0 resolution: "intersection-observer@npm:0.12.0" @@ -10224,6 +14075,15 @@ __metadata: languageName: node linkType: hard +"invariant@npm:^2.2.2, invariant@npm:^2.2.3, invariant@npm:^2.2.4": + version: 2.2.4 + resolution: "invariant@npm:2.2.4" + dependencies: + loose-envify: ^1.0.0 + checksum: cc3182d793aad82a8d1f0af697b462939cb46066ec48bbf1707c150ad5fad6406137e91a262022c269702e01621f35ef60269f6c0d7fd178487959809acdfb14 + languageName: node + linkType: hard + "ip-regex@npm:^4.0.0": version: 4.3.0 resolution: "ip-regex@npm:4.3.0" @@ -10252,13 +14112,31 @@ __metadata: languageName: node linkType: hard -"is-absolute-url@npm:^3.0.3": +"is-absolute-url@npm:^3.0.0, is-absolute-url@npm:^3.0.3": version: 3.0.3 resolution: "is-absolute-url@npm:3.0.3" checksum: 5159b51d065d9ad29e16a2f78d6c0e41c43227caf90a45e659c54ea6fd50ef0595b1871ce392e84b1df7cfdcad9a8e66eec0813a029112188435abf115accb16 languageName: node linkType: hard +"is-accessor-descriptor@npm:^0.1.6": + version: 0.1.6 + resolution: "is-accessor-descriptor@npm:0.1.6" + dependencies: + kind-of: ^3.0.2 + checksum: 3d629a086a9585bc16a83a8e8a3416f400023301855cafb7ccc9a1d63145b7480f0ad28877dcc2cce09492c4ec1c39ef4c071996f24ee6ac626be4217b8ffc8a + languageName: node + linkType: hard + +"is-accessor-descriptor@npm:^1.0.0": + version: 1.0.0 + resolution: "is-accessor-descriptor@npm:1.0.0" + dependencies: + kind-of: ^6.0.0 + checksum: 8e475968e9b22f9849343c25854fa24492dbe8ba0dea1a818978f9f1b887339190b022c9300d08c47fe36f1b913d70ce8cbaca00369c55a56705fdb7caed37fe + languageName: node + linkType: hard + "is-alphabetical@npm:1.0.4, is-alphabetical@npm:^1.0.0": version: 1.0.4 resolution: "is-alphabetical@npm:1.0.4" @@ -10293,7 +14171,7 @@ __metadata: languageName: node linkType: hard -"is-arguments@npm:^1.0.4": +"is-arguments@npm:^1.0.4, is-arguments@npm:^1.1.0": version: 1.1.1 resolution: "is-arguments@npm:1.1.1" dependencies: @@ -10326,6 +14204,15 @@ __metadata: languageName: node linkType: hard +"is-binary-path@npm:^1.0.0": + version: 1.0.1 + resolution: "is-binary-path@npm:1.0.1" + dependencies: + binary-extensions: ^1.0.0 + checksum: a803c99e9d898170c3b44a86fbdc0736d3d7fcbe737345433fb78e810b9fe30c982657782ad0e676644ba4693ddf05601a7423b5611423218663d6b533341ac9 + languageName: node + linkType: hard + "is-binary-path@npm:~2.1.0": version: 2.1.0 resolution: "is-binary-path@npm:2.1.0" @@ -10345,6 +14232,13 @@ __metadata: languageName: node linkType: hard +"is-buffer@npm:^1.1.5": + version: 1.1.6 + resolution: "is-buffer@npm:1.1.6" + checksum: 4a186d995d8bbf9153b4bd9ff9fd04ae75068fe695d29025d25e592d9488911eeece84eefbd8fa41b8ddcc0711058a71d4c466dcf6f1f6e1d83830052d8ca707 + languageName: node + linkType: hard + "is-buffer@npm:^2.0.0": version: 2.0.5 resolution: "is-buffer@npm:2.0.5" @@ -10359,6 +14253,17 @@ __metadata: languageName: node linkType: hard +"is-ci@npm:^2.0.0": + version: 2.0.0 + resolution: "is-ci@npm:2.0.0" + dependencies: + ci-info: ^2.0.0 + bin: + is-ci: bin.js + checksum: 77b869057510f3efa439bbb36e9be429d53b3f51abd4776eeea79ab3b221337fe1753d1e50058a9e2c650d38246108beffb15ccfd443929d77748d8c0cc90144 + languageName: node + linkType: hard + "is-ci@npm:^3.0.0": version: 3.0.1 resolution: "is-ci@npm:3.0.1" @@ -10393,6 +14298,24 @@ __metadata: languageName: node linkType: hard +"is-data-descriptor@npm:^0.1.4": + version: 0.1.4 + resolution: "is-data-descriptor@npm:0.1.4" + dependencies: + kind-of: ^3.0.2 + checksum: 5c622e078ba933a78338ae398a3d1fc5c23332b395312daf4f74bab4afb10d061cea74821add726cb4db8b946ba36217ee71a24fe71dd5bca4632edb7f6aad87 + languageName: node + linkType: hard + +"is-data-descriptor@npm:^1.0.0": + version: 1.0.0 + resolution: "is-data-descriptor@npm:1.0.0" + dependencies: + kind-of: ^6.0.0 + checksum: e705e6816241c013b05a65dc452244ee378d1c3e3842bd140beabe6e12c0d700ef23c91803f971aa7b091fb0573c5da8963af34a2b573337d87bc3e1f53a4e6d + languageName: node + linkType: hard + "is-date-object@npm:^1.0.1": version: 1.0.5 resolution: "is-date-object@npm:1.0.5" @@ -10416,6 +14339,28 @@ __metadata: languageName: node linkType: hard +"is-descriptor@npm:^0.1.0": + version: 0.1.6 + resolution: "is-descriptor@npm:0.1.6" + dependencies: + is-accessor-descriptor: ^0.1.6 + is-data-descriptor: ^0.1.4 + kind-of: ^5.0.0 + checksum: 0f780c1b46b465f71d970fd7754096ffdb7b69fd8797ca1f5069c163eaedcd6a20ec4a50af669075c9ebcfb5266d2e53c8b227e485eefdb0d1fee09aa1dd8ab6 + languageName: node + linkType: hard + +"is-descriptor@npm:^1.0.0, is-descriptor@npm:^1.0.2": + version: 1.0.2 + resolution: "is-descriptor@npm:1.0.2" + dependencies: + is-accessor-descriptor: ^1.0.0 + is-data-descriptor: ^1.0.0 + kind-of: ^6.0.2 + checksum: 2ed623560bee035fb67b23e32ce885700bef8abe3fbf8c909907d86507b91a2c89a9d3a4d835a4d7334dd5db0237a0aeae9ca109c1e4ef1c0e7b577c0846ab5a + languageName: node + linkType: hard + "is-directory@npm:^0.3.1": version: 0.3.1 resolution: "is-directory@npm:0.3.1" @@ -10432,14 +14377,40 @@ __metadata: languageName: node linkType: hard -"is-extendable@npm:^0.1.0": +"is-dom@npm:^1.0.0": + version: 1.1.0 + resolution: "is-dom@npm:1.1.0" + dependencies: + is-object: ^1.0.1 + is-window: ^1.0.2 + checksum: 72aff0a7366b801c9d598d49452ec06544b52c3da92a0c6c3cacace33bb0c3df5ba1b4e422ac39224773316a553699d5920a1eb136919319f57d00e6384eb41b + languageName: node + linkType: hard + +"is-extendable@npm:^0.1.0, is-extendable@npm:^0.1.1": version: 0.1.1 resolution: "is-extendable@npm:0.1.1" checksum: 3875571d20a7563772ecc7a5f36cb03167e9be31ad259041b4a8f73f33f885441f778cee1f1fe0085eb4bc71679b9d8c923690003a36a6a5fdf8023e6e3f0672 languageName: node linkType: hard -"is-extglob@npm:^2.1.1": +"is-extendable@npm:^1.0.1": + version: 1.0.1 + resolution: "is-extendable@npm:1.0.1" + dependencies: + is-plain-object: ^2.0.4 + checksum: db07bc1e9de6170de70eff7001943691f05b9d1547730b11be01c0ebfe67362912ba743cf4be6fd20a5e03b4180c685dad80b7c509fe717037e3eee30ad8e84f + languageName: node + linkType: hard + +"is-extglob@npm:^1.0.0": + version: 1.0.0 + resolution: "is-extglob@npm:1.0.0" + checksum: 5eea8517feeae5206547c0fc838c1416ec763b30093c286e1965a05f46b74a59ad391f912565f3b67c9c31cab4769ab9c35420e016b608acb47309be8d0d6e94 + languageName: node + linkType: hard + +"is-extglob@npm:^2.1.0, is-extglob@npm:^2.1.1": version: 2.1.1 resolution: "is-extglob@npm:2.1.1" checksum: df033653d06d0eb567461e58a7a8c9f940bd8c22274b94bf7671ab36df5719791aae15eef6d83bbb5e23283967f2f984b8914559d4449efda578c775c4be6f85 @@ -10462,6 +14433,13 @@ __metadata: languageName: node linkType: hard +"is-function@npm:^1.0.2": + version: 1.0.2 + resolution: "is-function@npm:1.0.2" + checksum: 7d564562e07b4b51359547d3ccc10fb93bb392fd1b8177ae2601ee4982a0ece86d952323fc172a9000743a3971f09689495ab78a1d49a9b14fc97a7e28521dc0 + languageName: node + linkType: hard + "is-generator-fn@npm:^2.0.0": version: 2.1.0 resolution: "is-generator-fn@npm:2.1.0" @@ -10478,6 +14456,24 @@ __metadata: languageName: node linkType: hard +"is-glob@npm:^2.0.0": + version: 2.0.1 + resolution: "is-glob@npm:2.0.1" + dependencies: + is-extglob: ^1.0.0 + checksum: 089f5f93640072491396a5f075ce73e949a90f35832b782bc49a6b7637d58e392d53cb0b395e059ccab70fcb82ff35d183f6f9ebbcb43227a1e02e3fed5430c9 + languageName: node + linkType: hard + +"is-glob@npm:^3.0.0, is-glob@npm:^3.1.0": + version: 3.1.0 + resolution: "is-glob@npm:3.1.0" + dependencies: + is-extglob: ^2.1.0 + checksum: 9d483bca84f16f01230f7c7c8c63735248fe1064346f292e0f6f8c76475fd20c6f50fc19941af5bec35f85d6bf26f4b7768f39a48a5f5fdc72b408dc74e07afc + languageName: node + linkType: hard + "is-glob@npm:^4.0.0, is-glob@npm:^4.0.1, is-glob@npm:^4.0.3, is-glob@npm:~4.0.1": version: 4.0.3 resolution: "is-glob@npm:4.0.3" @@ -10534,6 +14530,13 @@ __metadata: languageName: node linkType: hard +"is-map@npm:^2.0.2": + version: 2.0.2 + resolution: "is-map@npm:2.0.2" + checksum: ace3d0ecd667bbdefdb1852de601268f67f2db725624b1958f279316e13fecb8fa7df91fd60f690d7417b4ec180712f5a7ee967008e27c65cfd475cc84337728 + languageName: node + linkType: hard + "is-module@npm:^1.0.0": version: 1.0.0 resolution: "is-module@npm:1.0.0" @@ -10567,6 +14570,15 @@ __metadata: languageName: node linkType: hard +"is-number@npm:^3.0.0": + version: 3.0.0 + resolution: "is-number@npm:3.0.0" + dependencies: + kind-of: ^3.0.2 + checksum: 0c62bf8e9d72c4dd203a74d8cfc751c746e75513380fef420cda8237e619a988ee43e678ddb23c87ac24d91ac0fe9f22e4ffb1301a50310c697e9d73ca3994e9 + languageName: node + linkType: hard + "is-number@npm:^7.0.0": version: 7.0.0 resolution: "is-number@npm:7.0.0" @@ -10581,6 +14593,13 @@ __metadata: languageName: node linkType: hard +"is-object@npm:^1.0.1": + version: 1.0.2 + resolution: "is-object@npm:1.0.2" + checksum: 971219c4b1985b9751f65e4c8296d3104f0457b0e8a70849e848a4a2208bc47317d73b3b85d4a369619cb2df8284dc22584cb2695a7d99aca5e8d0aa64fc075a + languageName: node + linkType: hard + "is-path-cwd@npm:^2.0.0, is-path-cwd@npm:^2.2.0": version: 2.2.0 resolution: "is-path-cwd@npm:2.2.0" @@ -10641,7 +14660,14 @@ __metadata: languageName: node linkType: hard -"is-plain-object@npm:^2.0.4": +"is-plain-object@npm:5.0.0, is-plain-object@npm:^5.0.0": + version: 5.0.0 + resolution: "is-plain-object@npm:5.0.0" + checksum: e32d27061eef62c0847d303125440a38660517e586f2f3db7c9d179ae5b6674ab0f469d519b2e25c147a1a3bc87156d0d5f4d8821e0ce4a9ee7fe1fcf11ce45c + languageName: node + linkType: hard + +"is-plain-object@npm:^2.0.3, is-plain-object@npm:^2.0.4": version: 2.0.4 resolution: "is-plain-object@npm:2.0.4" dependencies: @@ -10657,13 +14683,6 @@ __metadata: languageName: node linkType: hard -"is-plain-object@npm:^5.0.0": - version: 5.0.0 - resolution: "is-plain-object@npm:5.0.0" - checksum: e32d27061eef62c0847d303125440a38660517e586f2f3db7c9d179ae5b6674ab0f469d519b2e25c147a1a3bc87156d0d5f4d8821e0ce4a9ee7fe1fcf11ce45c - languageName: node - linkType: hard - "is-potential-custom-element-name@npm:^1.0.1": version: 1.0.1 resolution: "is-potential-custom-element-name@npm:1.0.1" @@ -10671,6 +14690,13 @@ __metadata: languageName: node linkType: hard +"is-pure-object@npm:^1.0.0": + version: 1.0.1 + resolution: "is-pure-object@npm:1.0.1" + checksum: 52d1a3b9bc78907aacd887c559e5173ff65ee14925000ecf3f434dd48f5603eb3be3939217fdc7273e15ab05bb1b295193e53b825549f2f789d5ad864b4b08aa + languageName: node + linkType: hard + "is-reference@npm:^1.2.1": version: 1.2.1 resolution: "is-reference@npm:1.2.1" @@ -10680,7 +14706,7 @@ __metadata: languageName: node linkType: hard -"is-regex@npm:^1.0.4, is-regex@npm:^1.1.4": +"is-regex@npm:^1.0.4, is-regex@npm:^1.1.2, is-regex@npm:^1.1.4": version: 1.1.4 resolution: "is-regex@npm:1.1.4" dependencies: @@ -10711,6 +14737,20 @@ __metadata: languageName: node linkType: hard +"is-root@npm:2.1.0": + version: 2.1.0 + resolution: "is-root@npm:2.1.0" + checksum: 37eea0822a2a9123feb58a9d101558ba276771a6d830f87005683349a9acff15958a9ca590a44e778c6b335660b83e85c744789080d734f6081a935a4880aee2 + languageName: node + linkType: hard + +"is-set@npm:^2.0.2": + version: 2.0.2 + resolution: "is-set@npm:2.0.2" + checksum: b64343faf45e9387b97a6fd32be632ee7b269bd8183701f3b3f5b71a7cf00d04450ed8669d0bd08753e08b968beda96fca73a10fd0ff56a32603f64deba55a57 + languageName: node + linkType: hard + "is-shared-array-buffer@npm:^1.0.1": version: 1.0.1 resolution: "is-shared-array-buffer@npm:1.0.1" @@ -10718,6 +14758,13 @@ __metadata: languageName: node linkType: hard +"is-stream@npm:^1.1.0": + version: 1.1.0 + resolution: "is-stream@npm:1.1.0" + checksum: 063c6bec9d5647aa6d42108d4c59723d2bd4ae42135a2d4db6eadbd49b7ea05b750fd69d279e5c7c45cf9da753ad2c00d8978be354d65aa9f6bb434969c6a2ae + languageName: node + linkType: hard + "is-stream@npm:^2.0.0": version: 2.0.1 resolution: "is-stream@npm:2.0.1" @@ -10800,6 +14847,20 @@ __metadata: languageName: node linkType: hard +"is-window@npm:^1.0.2": + version: 1.0.2 + resolution: "is-window@npm:1.0.2" + checksum: aeaacd2ca816d38d4e2fba4670158fba2190061f28a61c5d84df7c479abf8897b8cb634d22cb76cdf7805035e95bebd430faaab6231ac2ebc814eae02d2c8fd4 + languageName: node + linkType: hard + +"is-windows@npm:^1.0.2": + version: 1.0.2 + resolution: "is-windows@npm:1.0.2" + checksum: 438b7e52656fe3b9b293b180defb4e448088e7023a523ec21a91a80b9ff8cdb3377ddb5b6e60f7c7de4fa8b63ab56e121b6705fe081b3cf1b828b0a380009ad7 + languageName: node + linkType: hard + "is-word-character@npm:^1.0.0": version: 1.0.4 resolution: "is-word-character@npm:1.0.4" @@ -10807,6 +14868,13 @@ __metadata: languageName: node linkType: hard +"is-wsl@npm:^1.1.0": + version: 1.1.0 + resolution: "is-wsl@npm:1.1.0" + checksum: ea157d232351e68c92bd62fc541771096942fe72f69dff452dd26dcc31466258c570a3b04b8cda2e01cd2968255b02951b8670d08ea4ed76d6b1a646061ac4fe + languageName: node + linkType: hard + "is-wsl@npm:^2.1.1, is-wsl@npm:^2.2.0": version: 2.2.0 resolution: "is-wsl@npm:2.2.0" @@ -10823,13 +14891,20 @@ __metadata: languageName: node linkType: hard -"isarray@npm:~1.0.0": +"isarray@npm:1.0.0, isarray@npm:^1.0.0, isarray@npm:~1.0.0": version: 1.0.0 resolution: "isarray@npm:1.0.0" checksum: f032df8e02dce8ec565cf2eb605ea939bdccea528dbcf565cdf92bfa2da9110461159d86a537388ef1acef8815a330642d7885b29010e8f7eac967c9993b65ab languageName: node linkType: hard +"isarray@npm:^2.0.5": + version: 2.0.5 + resolution: "isarray@npm:2.0.5" + checksum: bd5bbe4104438c4196ba58a54650116007fa0262eccef13a4c55b2e09a5b36b59f1e75b9fcc49883dd9d4953892e6fc007eef9e9155648ceea036e184b0f930a + languageName: node + linkType: hard + "isexe@npm:^2.0.0": version: 2.0.0 resolution: "isexe@npm:2.0.0" @@ -10837,13 +14912,29 @@ __metadata: languageName: node linkType: hard -"isobject@npm:^3.0.1": +"isobject@npm:^2.0.0": + version: 2.1.0 + resolution: "isobject@npm:2.1.0" + dependencies: + isarray: 1.0.0 + checksum: 811c6f5a866877d31f0606a88af4a45f282544de886bf29f6a34c46616a1ae2ed17076cc6bf34c0128f33eecf7e1fcaa2c82cf3770560d3e26810894e96ae79f + languageName: node + linkType: hard + +"isobject@npm:^3.0.0, isobject@npm:^3.0.1": version: 3.0.1 resolution: "isobject@npm:3.0.1" checksum: db85c4c970ce30693676487cca0e61da2ca34e8d4967c2e1309143ff910c207133a969f9e4ddb2dc6aba670aabce4e0e307146c310350b298e74a31f7d464703 languageName: node linkType: hard +"isobject@npm:^4.0.0": + version: 4.0.0 + resolution: "isobject@npm:4.0.0" + checksum: bbcb522e46d54fb22418ba49fb9a82057ffa201c8401fb6e018c042e2c98cf7d9c7b185aff88e035ec8adea0814506dc2aeff2d08891bbc158e1671a49e99c06 + languageName: node + linkType: hard + "isstream@npm:~0.1.2": version: 0.1.2 resolution: "isstream@npm:0.1.2" @@ -10851,7 +14942,7 @@ __metadata: languageName: node linkType: hard -"istanbul-lib-coverage@npm:^3.0.0, istanbul-lib-coverage@npm:^3.2.0": +"istanbul-lib-coverage@npm:^3.0.0, istanbul-lib-coverage@npm:^3.0.1, istanbul-lib-coverage@npm:^3.2.0": version: 3.2.0 resolution: "istanbul-lib-coverage@npm:3.2.0" checksum: a2a545033b9d56da04a8571ed05c8120bf10e9bce01cf8633a3a2b0d1d83dff4ac4fe78d6d5673c27fc29b7f21a41d75f83a36be09f82a61c367b56aa73c1ff9 @@ -10915,6 +15006,23 @@ __metadata: languageName: node linkType: hard +"iterate-iterator@npm:^1.0.1": + version: 1.0.2 + resolution: "iterate-iterator@npm:1.0.2" + checksum: 97b3ed4f2bebe038be57d03277879e406b2c537ceeeab7f82d4167f9a3cff872cc2cc5da3dc9920ff544ca247329d2a4d44121bb8ef8d0807a72176bdbc17c84 + languageName: node + linkType: hard + +"iterate-value@npm:^1.0.2": + version: 1.0.2 + resolution: "iterate-value@npm:1.0.2" + dependencies: + es-get-iterator: ^1.0.2 + iterate-iterator: ^1.0.1 + checksum: 446a4181657df1872e5020713206806757157db6ab375dee05eb4565b66e1244d7a99cd36ce06862261ad4bd059e66ba8192f62b5d1ff41d788c3b61953af6c3 + languageName: node + linkType: hard + "jake@npm:^10.6.1": version: 10.8.2 resolution: "jake@npm:10.8.2" @@ -11132,6 +15240,31 @@ __metadata: languageName: node linkType: hard +"jest-haste-map@npm:^26.6.2": + version: 26.6.2 + resolution: "jest-haste-map@npm:26.6.2" + dependencies: + "@jest/types": ^26.6.2 + "@types/graceful-fs": ^4.1.2 + "@types/node": "*" + anymatch: ^3.0.3 + fb-watchman: ^2.0.0 + fsevents: ^2.1.2 + graceful-fs: ^4.2.4 + jest-regex-util: ^26.0.0 + jest-serializer: ^26.6.2 + jest-util: ^26.6.2 + jest-worker: ^26.6.2 + micromatch: ^4.0.2 + sane: ^4.0.3 + walker: ^1.0.7 + dependenciesMeta: + fsevents: + optional: true + checksum: 8ad5236d5646d2388d2bd58a57ea53698923434f43d59ea9ebdc58bce4d0b8544c8de2f7acaa9a6d73171f04460388b2b6d7d6b6c256aea4ebb8780140781596 + languageName: node + linkType: hard + "jest-haste-map@npm:^27.2.2, jest-haste-map@npm:^27.3.1": version: 27.3.1 resolution: "jest-haste-map@npm:27.3.1" @@ -11252,6 +15385,13 @@ __metadata: languageName: node linkType: hard +"jest-regex-util@npm:^26.0.0": + version: 26.0.0 + resolution: "jest-regex-util@npm:26.0.0" + checksum: 930a00665e8dfbedc29140678b4a54f021b41b895cf35050f76f557c1da3ac48ff42dd7b18ba2ccba6f4e518c6445d6753730d03ec7049901b93992db1ef0483 + languageName: node + linkType: hard + "jest-regex-util@npm:^27.0.6": version: 27.0.6 resolution: "jest-regex-util@npm:27.0.6" @@ -11370,6 +15510,16 @@ __metadata: languageName: node linkType: hard +"jest-serializer@npm:^26.6.2": + version: 26.6.2 + resolution: "jest-serializer@npm:26.6.2" + dependencies: + "@types/node": "*" + graceful-fs: ^4.2.4 + checksum: dbecfb0d01462fe486a0932cf1680cf6abb204c059db2a8f72c6c2a7c9842a82f6d256874112774cea700764ed8f38fc9e3db982456c138d87353e3390e746fe + languageName: node + linkType: hard + "jest-serializer@npm:^27.0.6": version: 27.0.6 resolution: "jest-serializer@npm:27.0.6" @@ -11426,6 +15576,20 @@ __metadata: languageName: node linkType: hard +"jest-util@npm:^26.6.2": + version: 26.6.2 + resolution: "jest-util@npm:26.6.2" + dependencies: + "@jest/types": ^26.6.2 + "@types/node": "*" + chalk: ^4.0.0 + graceful-fs: ^4.2.4 + is-ci: ^2.0.0 + micromatch: ^4.0.2 + checksum: 3c6a5fba05c4c6892cd3a9f66196ea8867087b77a5aa1a3f6cd349c785c3f1ca24abfd454664983aed1a165cab7846688e44fe8630652d666ba326b08625bc3d + languageName: node + linkType: hard + "jest-util@npm:^27.0.0, jest-util@npm:^27.2.0, jest-util@npm:^27.3.1": version: 27.3.1 resolution: "jest-util@npm:27.3.1" @@ -11480,7 +15644,7 @@ __metadata: languageName: node linkType: hard -"jest-worker@npm:^26.2.1": +"jest-worker@npm:^26.2.1, jest-worker@npm:^26.5.0, jest-worker@npm:^26.6.2": version: 26.6.2 resolution: "jest-worker@npm:26.6.2" dependencies: @@ -11520,6 +15684,13 @@ __metadata: languageName: node linkType: hard +"js-string-escape@npm:^1.0.1": + version: 1.0.1 + resolution: "js-string-escape@npm:1.0.1" + checksum: f11e0991bf57e0c183b55c547acec85bd2445f043efc9ea5aa68b41bd2a3e7d3ce94636cb233ae0d84064ba4c1a505d32e969813c5b13f81e7d4be12c59256fe + languageName: node + linkType: hard + "js-tokens@npm:^3.0.0 || ^4.0.0, js-tokens@npm:^4.0.0": version: 4.0.0 resolution: "js-tokens@npm:4.0.0" @@ -11527,6 +15698,13 @@ __metadata: languageName: node linkType: hard +"js-tokens@npm:^3.0.2": + version: 3.0.2 + resolution: "js-tokens@npm:3.0.2" + checksum: ff24cf90e6e4ac446eba56e604781c1aaf3bdaf9b13a00596a0ebd972fa3b25dc83c0f0f67289c33252abb4111e0d14e952a5d9ffb61f5c22532d555ebd8d8a9 + languageName: node + linkType: hard + "js-yaml@npm:^3.13.1, js-yaml@npm:^3.9.0": version: 3.14.1 resolution: "js-yaml@npm:3.14.1" @@ -11660,7 +15838,7 @@ __metadata: languageName: node linkType: hard -"json5@npm:2.2.0, json5@npm:2.x, json5@npm:^2.1.2, json5@npm:^2.2.0": +"json5@npm:2.2.0, json5@npm:2.x, json5@npm:^2.1.2, json5@npm:^2.1.3, json5@npm:^2.2.0": version: 2.2.0 resolution: "json5@npm:2.2.0" dependencies: @@ -11698,6 +15876,18 @@ __metadata: languageName: node linkType: hard +"jsonfile@npm:^2.1.0": + version: 2.4.0 + resolution: "jsonfile@npm:2.4.0" + dependencies: + graceful-fs: ^4.1.6 + dependenciesMeta: + graceful-fs: + optional: true + checksum: f5064aabbc9e35530dc471d8b203ae1f40dbe949ddde4391c6f6a6d310619a15f0efdae5587df594d1d70c555193aaeee9d2ed4aec9ffd5767bd5e4e62d49c3d + languageName: node + linkType: hard + "jsonfile@npm:^4.0.0": version: 4.0.0 resolution: "jsonfile@npm:4.0.0" @@ -11752,6 +15942,45 @@ __metadata: languageName: node linkType: hard +"junk@npm:^3.1.0": + version: 3.1.0 + resolution: "junk@npm:3.1.0" + checksum: 6c4d68e8f8bc25b546baed802cd0e7be6a971e92f1e885c92cbfe98946d5690b961a32f8e7909e77765d3204c3e556d13c17f73e31697ffae1db07a58b9e68c0 + languageName: node + linkType: hard + +"just-extend@npm:^4.0.2": + version: 4.2.1 + resolution: "just-extend@npm:4.2.1" + checksum: ff9fdede240fad313efeeeb68a660b942e5586d99c0058064c78884894a2690dc09bba44c994ad4e077e45d913fef01a9240c14a72c657b53687ac58de53b39c + languageName: node + linkType: hard + +"kind-of@npm:^3.0.2, kind-of@npm:^3.0.3, kind-of@npm:^3.2.0": + version: 3.2.2 + resolution: "kind-of@npm:3.2.2" + dependencies: + is-buffer: ^1.1.5 + checksum: e898df8ca2f31038f27d24f0b8080da7be274f986bc6ed176f37c77c454d76627619e1681f6f9d2e8d2fd7557a18ecc419a6bb54e422abcbb8da8f1a75e4b386 + languageName: node + linkType: hard + +"kind-of@npm:^4.0.0": + version: 4.0.0 + resolution: "kind-of@npm:4.0.0" + dependencies: + is-buffer: ^1.1.5 + checksum: 1b9e7624a8771b5a2489026e820f3bbbcc67893e1345804a56b23a91e9069965854d2a223a7c6ee563c45be9d8c6ff1ef87f28ed5f0d1a8d00d9dcbb067c529f + languageName: node + linkType: hard + +"kind-of@npm:^5.0.0": + version: 5.1.0 + resolution: "kind-of@npm:5.1.0" + checksum: f2a0102ae0cf19c4a953397e552571bad2b588b53282874f25fca7236396e650e2db50d41f9f516bd402536e4df968dbb51b8e69e4d5d4a7173def78448f7bab + languageName: node + linkType: hard + "kind-of@npm:^6.0.0, kind-of@npm:^6.0.2, kind-of@npm:^6.0.3": version: 6.0.3 resolution: "kind-of@npm:6.0.3" @@ -11759,6 +15988,18 @@ __metadata: languageName: node linkType: hard +"klaw@npm:^1.0.0": + version: 1.3.1 + resolution: "klaw@npm:1.3.1" + dependencies: + graceful-fs: ^4.1.9 + dependenciesMeta: + graceful-fs: + optional: true + checksum: 8f69e4797c26e7c3f2426bfa85f38a3da3c2cb1b4c6bd850d2377aed440d41ce9d806f2885c2e2e224372c56af4b1d43b8a499adecf9a05e7373dc6b8b7c52e4 + languageName: node + linkType: hard + "kleur@npm:^3.0.3": version: 3.0.3 resolution: "kleur@npm:3.0.3" @@ -11810,6 +16051,19 @@ __metadata: languageName: node linkType: hard +"lazy-universal-dotenv@npm:^3.0.1": + version: 3.0.1 + resolution: "lazy-universal-dotenv@npm:3.0.1" + dependencies: + "@babel/runtime": ^7.5.0 + app-root-dir: ^1.0.2 + core-js: ^3.0.4 + dotenv: ^8.0.0 + dotenv-expand: ^5.1.0 + checksum: a80509d8cb40dafcfab5859335920754a21814320aa16115e58c0ae5ef3b1d8bd4daa96349ea548e2833f2f89269ddbb103ebd55be06cfdba00e0af6785b5ba7 + languageName: node + linkType: hard + "less-loader@npm:^10.1.0": version: 10.2.0 resolution: "less-loader@npm:10.2.0" @@ -11928,9 +16182,9 @@ __metadata: linkType: hard "lilconfig@npm:^2.0.3": - version: 2.0.3 - resolution: "lilconfig@npm:2.0.3" - checksum: 39fcd06c9f94bec0f7be969f89abcead96cf9334682007df63e6fbe9bdb0566cf8e1ca53a8f56d2acca802f28e8acbabe8ed4e6265ed5e419b6a1397db003741 + version: 2.0.4 + resolution: "lilconfig@npm:2.0.4" + checksum: 02ae530aa49218d782eb79e92c600ea5220828987f85aa3403fa512cadc7efe38c0ac7d0cd2edf600ad3fae1f6c1752f5b4bb78c0d9950435b044d53d507c9e1 languageName: node linkType: hard @@ -11971,6 +16225,13 @@ __metadata: languageName: node linkType: hard +"loader-runner@npm:^2.4.0": + version: 2.4.0 + resolution: "loader-runner@npm:2.4.0" + checksum: e27eebbca5347a03f6b1d1bce5b2736a4984fb742f872c0a4d68e62de10f7637613e79a464d3bcd77c246d9c70fcac112bb4a3123010eb527e8b203a614647db + languageName: node + linkType: hard + "loader-runner@npm:^4.2.0": version: 4.2.0 resolution: "loader-runner@npm:4.2.0" @@ -11989,6 +16250,17 @@ __metadata: languageName: node linkType: hard +"loader-utils@npm:2.0.0": + version: 2.0.0 + resolution: "loader-utils@npm:2.0.0" + dependencies: + big.js: ^5.2.2 + emojis-list: ^3.0.0 + json5: ^2.1.2 + checksum: 6856423131b50b6f5f259da36f498cfd7fc3c3f8bb17777cf87fdd9159e797d4ba4288d9a96415fd8da62c2906960e88f74711dee72d03a9003bddcd0d364a51 + languageName: node + linkType: hard + "loader-utils@npm:^0.2.16": version: 0.2.17 resolution: "loader-utils@npm:0.2.17" @@ -12001,7 +16273,7 @@ __metadata: languageName: node linkType: hard -"loader-utils@npm:^1.1.0, loader-utils@npm:^1.4.0": +"loader-utils@npm:^1.1.0, loader-utils@npm:^1.2.3, loader-utils@npm:^1.4.0": version: 1.4.0 resolution: "loader-utils@npm:1.4.0" dependencies: @@ -12082,6 +16354,13 @@ __metadata: languageName: node linkType: hard +"lodash.get@npm:^4.4.2": + version: 4.4.2 + resolution: "lodash.get@npm:4.4.2" + checksum: e403047ddb03181c9d0e92df9556570e2b67e0f0a930fcbbbd779370972368f5568e914f913e93f3b08f6d492abc71e14d4e9b7a18916c31fa04bd2306efe545 + languageName: node + linkType: hard + "lodash.isplainobject@npm:^4.0.6": version: 4.0.6 resolution: "lodash.isplainobject@npm:4.0.6" @@ -12174,7 +16453,7 @@ __metadata: languageName: node linkType: hard -"loose-envify@npm:^1.1.0, loose-envify@npm:^1.4.0": +"loose-envify@npm:^1.0.0, loose-envify@npm:^1.1.0, loose-envify@npm:^1.4.0": version: 1.4.0 resolution: "loose-envify@npm:1.4.0" dependencies: @@ -12185,6 +16464,34 @@ __metadata: languageName: node linkType: hard +"lower-case@npm:^2.0.2": + version: 2.0.2 + resolution: "lower-case@npm:2.0.2" + dependencies: + tslib: ^2.0.3 + checksum: 83a0a5f159ad7614bee8bf976b96275f3954335a84fad2696927f609ddae902802c4f3312d86668722e668bef41400254807e1d3a7f2e8c3eede79691aa1f010 + languageName: node + linkType: hard + +"lowlight@npm:^1.14.0": + version: 1.20.0 + resolution: "lowlight@npm:1.20.0" + dependencies: + fault: ^1.0.0 + highlight.js: ~10.7.0 + checksum: 14a1815d6bae202ddee313fc60f06d46e5235c02fa483a77950b401d85b4c1e12290145ccd17a716b07f9328bd5864aa2d402b6a819ff3be7c833d9748ff8ba7 + languageName: node + linkType: hard + +"lru-cache@npm:^5.1.1": + version: 5.1.1 + resolution: "lru-cache@npm:5.1.1" + dependencies: + yallist: ^3.0.2 + checksum: c154ae1cbb0c2206d1501a0e94df349653c92c8cbb25236d7e85190bcaf4567a03ac6eb43166fabfa36fd35623694da7233e88d9601fbf411a9a481d85dbd2cb + languageName: node + linkType: hard + "lru-cache@npm:^6.0.0": version: 6.0.0 resolution: "lru-cache@npm:6.0.0" @@ -12212,7 +16519,7 @@ __metadata: languageName: node linkType: hard -"make-dir@npm:^2.1.0": +"make-dir@npm:^2.0.0, make-dir@npm:^2.1.0": version: 2.1.0 resolution: "make-dir@npm:2.1.0" dependencies: @@ -12271,6 +16578,22 @@ __metadata: languageName: node linkType: hard +"map-age-cleaner@npm:^0.1.3": + version: 0.1.3 + resolution: "map-age-cleaner@npm:0.1.3" + dependencies: + p-defer: ^1.0.0 + checksum: cb2804a5bcb3cbdfe4b59066ea6d19f5e7c8c196cd55795ea4c28f792b192e4c442426ae52524e5e1acbccf393d3bddacefc3d41f803e66453f6c4eda3650bc1 + languageName: node + linkType: hard + +"map-cache@npm:^0.2.2": + version: 0.2.2 + resolution: "map-cache@npm:0.2.2" + checksum: 3067cea54285c43848bb4539f978a15dedc63c03022abeec6ef05c8cb6829f920f13b94bcaf04142fc6a088318e564c4785704072910d120d55dbc2e0c421969 + languageName: node + linkType: hard + "map-obj@npm:^1.0.0": version: 1.0.1 resolution: "map-obj@npm:1.0.1" @@ -12285,6 +16608,22 @@ __metadata: languageName: node linkType: hard +"map-or-similar@npm:^1.5.0": + version: 1.5.0 + resolution: "map-or-similar@npm:1.5.0" + checksum: f65c0d420e272d0fce4e24db35f6a08109218480bca1d61eaa442cbe6cf46270b840218d3b5e94e4bfcc2595f1d0a1fa5885df750b52aac9ab1d437b29dcce38 + languageName: node + linkType: hard + +"map-visit@npm:^1.0.0": + version: 1.0.0 + resolution: "map-visit@npm:1.0.0" + dependencies: + object-visit: ^1.0.0 + checksum: c27045a5021c344fc19b9132eb30313e441863b2951029f8f8b66f79d3d8c1e7e5091578075a996f74e417479506fe9ede28c44ca7bc351a61c9d8073daec36a + languageName: node + linkType: hard + "markdown-escapes@npm:^1.0.0": version: 1.0.4 resolution: "markdown-escapes@npm:1.0.4" @@ -12292,6 +16631,27 @@ __metadata: languageName: node linkType: hard +"markdown-to-jsx@npm:^6.11.4": + version: 6.11.4 + resolution: "markdown-to-jsx@npm:6.11.4" + dependencies: + prop-types: ^15.6.2 + unquote: ^1.1.0 + peerDependencies: + react: ">= 0.14.0" + checksum: 4b861f7936dd2f1802173a489415f5509e7848c76296930419acd11cbc31f3e80a9e81d9914989f5a633f18977162a1a8314ca4a96bac6f3cf682b4224813b24 + languageName: node + linkType: hard + +"markdown-to-jsx@npm:^7.1.3": + version: 7.1.3 + resolution: "markdown-to-jsx@npm:7.1.3" + peerDependencies: + react: ">= 0.14.0" + checksum: 9809d898ef71a0897f55e40481b8128a6041600d90387cf1d4126736bf8be0ba1f5594e57c655973b9aa60a877ad9e28e93124131e1e4902ca759a087a427027 + languageName: node + linkType: hard + "mathml-tag-names@npm:^2.1.3": version: 2.1.3 resolution: "mathml-tag-names@npm:2.1.3" @@ -12425,6 +16785,13 @@ __metadata: languageName: node linkType: hard +"mdast-util-to-string@npm:^1.0.0": + version: 1.1.0 + resolution: "mdast-util-to-string@npm:1.1.0" + checksum: eec1eb283f3341376c8398b67ce512a11ab3e3191e3dbd5644d32a26784eac8d5f6d0b0fb81193af00d75a2c545cde765c8b03e966bd890076efb5d357fb4fe2 + languageName: node + linkType: hard + "mdast-util-to-string@npm:^3.0.0, mdast-util-to-string@npm:^3.1.0": version: 3.1.0 resolution: "mdast-util-to-string@npm:3.1.0" @@ -12460,6 +16827,16 @@ __metadata: languageName: node linkType: hard +"mem@npm:^8.1.1": + version: 8.1.1 + resolution: "mem@npm:8.1.1" + dependencies: + map-age-cleaner: ^0.1.3 + mimic-fn: ^3.1.0 + checksum: c41bc97f6f82b91899206058989e34bcb1543af40413c2ab59e5a8e97e4f8f2188d62e7bd95b2d575d5b0d823d5034a0f274a0676f6d11a0e0b973898b06c8b1 + languageName: node + linkType: hard + "memfs@npm:^3.1.2, memfs@npm:^3.2.2": version: 3.3.0 resolution: "memfs@npm:3.3.0" @@ -12469,6 +16846,42 @@ __metadata: languageName: node linkType: hard +"memoize-one@npm:^5.0.0": + version: 5.2.1 + resolution: "memoize-one@npm:5.2.1" + checksum: a3cba7b824ebcf24cdfcd234aa7f86f3ad6394b8d9be4c96ff756dafb8b51c7f71320785fbc2304f1af48a0467cbbd2a409efc9333025700ed523f254cb52e3d + languageName: node + linkType: hard + +"memoizerific@npm:^1.11.3": + version: 1.11.3 + resolution: "memoizerific@npm:1.11.3" + dependencies: + map-or-similar: ^1.5.0 + checksum: d51bdc3ed8c39b4b73845c90eb62d243ddf21899914352d0c303f5e1d477abcb192f4c605e008caa4a31d823225eeb22a99ba5ee825fb88d0c33382db3aee95a + languageName: node + linkType: hard + +"memory-fs@npm:^0.4.1": + version: 0.4.1 + resolution: "memory-fs@npm:0.4.1" + dependencies: + errno: ^0.1.3 + readable-stream: ^2.0.1 + checksum: 6db6c8682eff836664ca9b5b6052ae38d21713dda9d0ef4700fa5c0599a8bc16b2093bee75ac3dedbe59fb2222d368f25bafaa62ba143c41051359cbcb005044 + languageName: node + linkType: hard + +"memory-fs@npm:^0.5.0": + version: 0.5.0 + resolution: "memory-fs@npm:0.5.0" + dependencies: + errno: ^0.1.3 + readable-stream: ^2.0.1 + checksum: a9f25b0a8ecfb7324277393f19ef68e6ba53b9e6e4b526bbf2ba23055c5440fbf61acc7bf66bfd980e9eb4951a4790f6f777a9a3abd36603f22c87e8a64d3d6b + languageName: node + linkType: hard + "memorystream@npm:^0.3.1": version: 0.3.1 resolution: "memorystream@npm:0.3.1" @@ -12524,6 +16937,13 @@ __metadata: languageName: node linkType: hard +"microevent.ts@npm:~0.1.1": + version: 0.1.1 + resolution: "microevent.ts@npm:0.1.1" + checksum: 7874fcdb3f0dfa4e996d3ea63b3b9882874ae7d22be28d51ae20da24c712e9e28e5011d988095c27dd2b32e37c0ad7425342a71b89adb8e808ec7194fadf4a7a + languageName: node + linkType: hard + "micromark-core-commonmark@npm:^1.0.1": version: 1.0.4 resolution: "micromark-core-commonmark@npm:1.0.4" @@ -12761,6 +17181,27 @@ __metadata: languageName: node linkType: hard +"micromatch@npm:^3.1.0, micromatch@npm:^3.1.10, micromatch@npm:^3.1.4": + version: 3.1.10 + resolution: "micromatch@npm:3.1.10" + dependencies: + arr-diff: ^4.0.0 + array-unique: ^0.3.2 + braces: ^2.3.1 + define-property: ^2.0.2 + extend-shallow: ^3.0.2 + extglob: ^2.0.4 + fragment-cache: ^0.2.1 + kind-of: ^6.0.2 + nanomatch: ^1.2.9 + object.pick: ^1.3.0 + regex-not: ^1.0.0 + snapdragon: ^0.8.1 + to-regex: ^3.0.2 + checksum: ad226cba4daa95b4eaf47b2ca331c8d2e038d7b41ae7ed0697cde27f3f1d6142881ab03d4da51b65d9d315eceb5e4cdddb3fbb55f5f72cfa19cf3ea469d054dc + languageName: node + linkType: hard + "micromatch@npm:^4.0.0, micromatch@npm:^4.0.2, micromatch@npm:^4.0.4": version: 4.0.4 resolution: "micromatch@npm:4.0.4" @@ -12790,7 +17231,7 @@ __metadata: languageName: node linkType: hard -"mime-types@npm:^2.1.12, mime-types@npm:^2.1.27, mime-types@npm:^2.1.31, mime-types@npm:~2.1.17, mime-types@npm:~2.1.19, mime-types@npm:~2.1.24": +"mime-types@npm:^2.1.12, mime-types@npm:^2.1.27, mime-types@npm:^2.1.30, mime-types@npm:^2.1.31, mime-types@npm:~2.1.17, mime-types@npm:~2.1.19, mime-types@npm:~2.1.24": version: 2.1.33 resolution: "mime-types@npm:2.1.33" dependencies: @@ -12808,7 +17249,7 @@ __metadata: languageName: node linkType: hard -"mime@npm:^2.3.1": +"mime@npm:^2.3.1, mime@npm:^2.4.4": version: 2.6.0 resolution: "mime@npm:2.6.0" bin: @@ -12824,6 +17265,22 @@ __metadata: languageName: node linkType: hard +"mimic-fn@npm:^3.1.0": + version: 3.1.0 + resolution: "mimic-fn@npm:3.1.0" + checksum: f7b167f9115b8bbdf2c3ee55dce9149d14be9e54b237259c4bc1d8d0512ea60f25a1b323f814eb1fe8f5a541662804bcfcfff3202ca58df143edb986849d58db + languageName: node + linkType: hard + +"min-document@npm:^2.19.0": + version: 2.19.0 + resolution: "min-document@npm:2.19.0" + dependencies: + dom-walk: ^0.1.0 + checksum: da6437562ea2228041542a2384528e74e22d1daa1a4ec439c165abf0b9d8a63e17e3b8a6dc6e0c731845e85301198730426932a0e813d23f932ca668340c9623 + languageName: node + linkType: hard + "min-indent@npm:^1.0.0": version: 1.0.1 resolution: "min-indent@npm:1.0.1" @@ -12865,7 +17322,7 @@ __metadata: languageName: node linkType: hard -"minimatch@npm:3.0.4, minimatch@npm:^3.0.4": +"minimatch@npm:3.0.4, minimatch@npm:^3.0.2, minimatch@npm:^3.0.4": version: 3.0.4 resolution: "minimatch@npm:3.0.4" dependencies: @@ -12962,7 +17419,35 @@ __metadata: languageName: node linkType: hard -"mkdirp@npm:^0.5.5, mkdirp@npm:~0.5.1": +"mississippi@npm:^3.0.0": + version: 3.0.0 + resolution: "mississippi@npm:3.0.0" + dependencies: + concat-stream: ^1.5.0 + duplexify: ^3.4.2 + end-of-stream: ^1.1.0 + flush-write-stream: ^1.0.0 + from2: ^2.1.0 + parallel-transform: ^1.1.0 + pump: ^3.0.0 + pumpify: ^1.3.3 + stream-each: ^1.1.0 + through2: ^2.0.0 + checksum: 84b3d9889621d293f9a596bafe60df863b330c88fc19215ced8f603c605fc7e1bf06f8e036edf301bd630a03fd5d9d7d23d5d6b9a4802c30ca864d800f0bd9f8 + languageName: node + linkType: hard + +"mixin-deep@npm:^1.2.0": + version: 1.3.2 + resolution: "mixin-deep@npm:1.3.2" + dependencies: + for-in: ^1.0.2 + is-extendable: ^1.0.1 + checksum: 820d5a51fcb7479f2926b97f2c3bb223546bc915e6b3a3eb5d906dda871bba569863595424a76682f2b15718252954644f3891437cb7e3f220949bed54b1750d + languageName: node + linkType: hard + +"mkdirp@npm:^0.5.1, mkdirp@npm:^0.5.3, mkdirp@npm:^0.5.5, mkdirp@npm:~0.5.1": version: 0.5.5 resolution: "mkdirp@npm:0.5.5" dependencies: @@ -12989,6 +17474,20 @@ __metadata: languageName: node linkType: hard +"move-concurrently@npm:^1.0.1": + version: 1.0.1 + resolution: "move-concurrently@npm:1.0.1" + dependencies: + aproba: ^1.1.1 + copy-concurrently: ^1.0.0 + fs-write-stream-atomic: ^1.0.8 + mkdirp: ^0.5.1 + rimraf: ^2.5.4 + run-queue: ^1.0.3 + checksum: 4ea3296c150b09e798177847f673eb5783f8ca417ba806668d2c631739f653e1a735f19fb9b6e2f5e25ee2e4c0a6224732237a8e4f84c764e99d7462d258209e + languageName: node + linkType: hard + "mri@npm:^1.1.0": version: 1.2.0 resolution: "mri@npm:1.2.0" @@ -13060,6 +17559,15 @@ __metadata: languageName: node linkType: hard +"nan@npm:^2.12.1": + version: 2.15.0 + resolution: "nan@npm:2.15.0" + dependencies: + node-gyp: latest + checksum: 33e1bb4dfca447fe37d4bb5889be55de154828632c8d38646db67293a21afd61ed9909cdf1b886214a64707d935926c4e60e2b09de9edfc2ad58de31d6ce8f39 + languageName: node + linkType: hard + "nanoid@npm:^3.1.23, nanoid@npm:^3.1.30": version: 3.1.30 resolution: "nanoid@npm:3.1.30" @@ -13069,6 +17577,25 @@ __metadata: languageName: node linkType: hard +"nanomatch@npm:^1.2.9": + version: 1.2.13 + resolution: "nanomatch@npm:1.2.13" + dependencies: + arr-diff: ^4.0.0 + array-unique: ^0.3.2 + define-property: ^2.0.2 + extend-shallow: ^3.0.2 + fragment-cache: ^0.2.1 + is-windows: ^1.0.2 + kind-of: ^6.0.2 + object.pick: ^1.3.0 + regex-not: ^1.0.0 + snapdragon: ^0.8.1 + to-regex: ^3.0.1 + checksum: 54d4166d6ef08db41252eb4e96d4109ebcb8029f0374f9db873bd91a1f896c32ec780d2a2ea65c0b2d7caf1f28d5e1ea33746a470f32146ac8bba821d80d38d8 + languageName: node + linkType: hard + "native-request@npm:^1.0.5": version: 1.1.0 resolution: "native-request@npm:1.1.0" @@ -13076,6 +17603,15 @@ __metadata: languageName: node linkType: hard +"native-url@npm:^0.2.6": + version: 0.2.6 + resolution: "native-url@npm:0.2.6" + dependencies: + querystring: ^0.2.0 + checksum: d56a67b32e635c4944985f551a9976dfe609a3947810791c50f5c37cff1d9dd5fe040184989d104be8752582b79dc4e726f2a9c075d691ecce86b31ae9387f1b + languageName: node + linkType: hard + "natural-compare@npm:^1.4.0": version: 1.4.0 resolution: "natural-compare@npm:1.4.0" @@ -13103,13 +17639,20 @@ __metadata: languageName: node linkType: hard -"neo-async@npm:^2.6.0, neo-async@npm:^2.6.2": +"neo-async@npm:^2.5.0, neo-async@npm:^2.6.0, neo-async@npm:^2.6.1, neo-async@npm:^2.6.2": version: 2.6.2 resolution: "neo-async@npm:2.6.2" checksum: deac9f8d00eda7b2e5cd1b2549e26e10a0faa70adaa6fdadca701cc55f49ee9018e427f424bac0c790b7c7e2d3068db97f3093f1093975f2acb8f8818b936ed9 languageName: node linkType: hard +"nested-error-stacks@npm:^2.0.0, nested-error-stacks@npm:^2.1.0": + version: 2.1.0 + resolution: "nested-error-stacks@npm:2.1.0" + checksum: 206ee736f9eb83489cc093d43e7d3024255ec93c66a31eaee58ca14d5ad9d925d813494725dcf5dec264e70cd8430167b7f82a2d00b0dd099f83c78d9ca650fd + languageName: node + linkType: hard + "next-compose-plugins@npm:^2.2.1": version: 2.2.1 resolution: "next-compose-plugins@npm:2.2.1" @@ -13181,28 +17724,28 @@ __metadata: languageName: node linkType: hard -"next@npm:12.0.2": - version: 12.0.2 - resolution: "next@npm:12.0.2" +"next@npm:12.0.3": + version: 12.0.3 + resolution: "next@npm:12.0.3" dependencies: "@babel/runtime": 7.15.4 "@hapi/accept": 5.0.2 "@napi-rs/triples": 1.0.3 - "@next/env": 12.0.2 - "@next/polyfill-module": 12.0.2 - "@next/react-dev-overlay": 12.0.2 - "@next/react-refresh-utils": 12.0.2 - "@next/swc-android-arm64": 12.0.2 - "@next/swc-darwin-arm64": 12.0.2 - "@next/swc-darwin-x64": 12.0.2 - "@next/swc-linux-arm-gnueabihf": 12.0.2 - "@next/swc-linux-arm64-gnu": 12.0.2 - "@next/swc-linux-arm64-musl": 12.0.2 - "@next/swc-linux-x64-gnu": 12.0.2 - "@next/swc-linux-x64-musl": 12.0.1 - "@next/swc-win32-arm64-msvc": 12.0.2 - "@next/swc-win32-ia32-msvc": 12.0.2 - "@next/swc-win32-x64-msvc": 12.0.2 + "@next/env": 12.0.3 + "@next/polyfill-module": 12.0.3 + "@next/react-dev-overlay": 12.0.3 + "@next/react-refresh-utils": 12.0.3 + "@next/swc-android-arm64": 12.0.3 + "@next/swc-darwin-arm64": 12.0.3 + "@next/swc-darwin-x64": 12.0.3 + "@next/swc-linux-arm-gnueabihf": 12.0.3 + "@next/swc-linux-arm64-gnu": 12.0.3 + "@next/swc-linux-arm64-musl": 12.0.3 + "@next/swc-linux-x64-gnu": 12.0.3 + "@next/swc-linux-x64-musl": 12.0.3 + "@next/swc-win32-arm64-msvc": 12.0.3 + "@next/swc-win32-ia32-msvc": 12.0.3 + "@next/swc-win32-x64-msvc": 12.0.3 acorn: 8.5.0 assert: 2.0.0 browserify-zlib: 0.2.0 @@ -13283,7 +17826,7 @@ __metadata: optional: true bin: next: dist/bin/next - checksum: 8f629ecb19a047579051947a531b8c101a3d0ac953a728f0d1cb0089847c94ecb28f51ec1a4d54b0fa4b7f65ca7a0a9b88f768ec6e6aa47c064dfdb4651fcff9 + checksum: 68be20fdc9a681ad3d705666b500bbac9fdec9700272810e1eb3733cb77fe4ac01879aca15859ed217c123629cec3798bec3245e5e07b9011bc8b0ab8a6853a6 languageName: node linkType: hard @@ -13294,6 +17837,29 @@ __metadata: languageName: node linkType: hard +"nise@npm:^5.1.0": + version: 5.1.0 + resolution: "nise@npm:5.1.0" + dependencies: + "@sinonjs/commons": ^1.7.0 + "@sinonjs/fake-timers": ^7.0.4 + "@sinonjs/text-encoding": ^0.7.1 + just-extend: ^4.0.2 + path-to-regexp: ^1.7.0 + checksum: e3843cc125163ce99b7fb0328edf427b981be32c6c719684582cf0a46fb5206173835a9a14dedac3c4833e415ab0e0493f9f4d4163572a3a0c95db39b093166d + languageName: node + linkType: hard + +"no-case@npm:^3.0.4": + version: 3.0.4 + resolution: "no-case@npm:3.0.4" + dependencies: + lower-case: ^2.0.2 + tslib: ^2.0.3 + checksum: 0b2ebc113dfcf737d48dde49cfebf3ad2d82a8c3188e7100c6f375e30eafbef9e9124aadc3becef237b042fd5eb0aad2fd78669c20972d045bbe7fea8ba0be5c + languageName: node + linkType: hard + "node-addon-api@npm:^3.0.2": version: 3.2.1 resolution: "node-addon-api@npm:3.2.1" @@ -13303,6 +17869,15 @@ __metadata: languageName: node linkType: hard +"node-dir@npm:^0.1.10": + version: 0.1.17 + resolution: "node-dir@npm:0.1.17" + dependencies: + minimatch: ^3.0.2 + checksum: 29de9560e52cdac8d3f794d38d782f6799e13d4d11aaf96d3da8c28458e1c5e33bb5f8edfb42dc34172ec5516c50c5b8850c9e1526542616757a969267263328 + languageName: node + linkType: hard + "node-emoji@npm:^1.11.0": version: 1.11.0 resolution: "node-emoji@npm:1.11.0" @@ -13319,6 +17894,15 @@ __metadata: languageName: node linkType: hard +"node-fetch@npm:^2.6.1": + version: 2.6.6 + resolution: "node-fetch@npm:2.6.6" + dependencies: + whatwg-url: ^5.0.0 + checksum: ee8290626bdb73629c59722b75dcf4b9b6a67c1ed7eb9102e368479c4a13b56a48c2bb3ad71571e378e98c8b2c64c820e11f9cd39e4b8557dd138ad571ef9a42 + languageName: node + linkType: hard + "node-forge@npm:^0.10.0": version: 0.10.0 resolution: "node-forge@npm:0.10.0" @@ -13373,6 +17957,37 @@ __metadata: languageName: node linkType: hard +"node-libs-browser@npm:^2.2.1": + version: 2.2.1 + resolution: "node-libs-browser@npm:2.2.1" + dependencies: + assert: ^1.1.1 + browserify-zlib: ^0.2.0 + buffer: ^4.3.0 + console-browserify: ^1.1.0 + constants-browserify: ^1.0.0 + crypto-browserify: ^3.11.0 + domain-browser: ^1.1.1 + events: ^3.0.0 + https-browserify: ^1.0.0 + os-browserify: ^0.3.0 + path-browserify: 0.0.1 + process: ^0.11.10 + punycode: ^1.2.4 + querystring-es3: ^0.2.0 + readable-stream: ^2.3.3 + stream-browserify: ^2.0.1 + stream-http: ^2.7.2 + string_decoder: ^1.0.0 + timers-browserify: ^2.0.4 + tty-browserify: 0.0.0 + url: ^0.11.0 + util: ^0.11.0 + vm-browserify: ^1.0.1 + checksum: 41fa7927378edc0cb98a8cc784d3f4a47e43378d3b42ec57a23f81125baa7287c4b54d6d26d062072226160a3ce4d8b7a62e873d2fb637aceaddf71f5a26eca0 + languageName: node + linkType: hard + "node-machine-id@npm:^1.1.12": version: 1.1.12 resolution: "node-machine-id@npm:1.1.12" @@ -13387,7 +18002,7 @@ __metadata: languageName: node linkType: hard -"node-releases@npm:^1.1.71": +"node-releases@npm:^1.1.61, node-releases@npm:^1.1.71": version: 1.1.77 resolution: "node-releases@npm:1.1.77" checksum: eb2fcb45310e7d77f82bfdadeca546a698d258e011f15d88ad9a452a5e838a672ec532906581096ca19c66284a788330c3b09227ffc540e67228730f41b9c2e2 @@ -13436,6 +18051,15 @@ __metadata: languageName: node linkType: hard +"normalize-path@npm:^2.1.1": + version: 2.1.1 + resolution: "normalize-path@npm:2.1.1" + dependencies: + remove-trailing-separator: ^1.0.1 + checksum: 7e9cbdcf7f5b8da7aa191fbfe33daf290cdcd8c038f422faf1b8a83c972bf7a6d94c5be34c4326cb00fb63bc0fd97d9fbcfaf2e5d6142332c2cd36d2e1b86cea + languageName: node + linkType: hard + "normalize-path@npm:^3.0.0, normalize-path@npm:~3.0.0": version: 3.0.0 resolution: "normalize-path@npm:3.0.0" @@ -13485,6 +18109,15 @@ __metadata: languageName: node linkType: hard +"npm-run-path@npm:^2.0.0": + version: 2.0.2 + resolution: "npm-run-path@npm:2.0.2" + dependencies: + path-key: ^2.0.0 + checksum: acd5ad81648ba4588ba5a8effb1d98d2b339d31be16826a118d50f182a134ac523172101b82eab1d01cb4c2ba358e857d54cfafd8163a1ffe7bd52100b741125 + languageName: node + linkType: hard + "npm-run-path@npm:^4.0.0, npm-run-path@npm:^4.0.1": version: 4.0.1 resolution: "npm-run-path@npm:4.0.1" @@ -13583,6 +18216,17 @@ __metadata: languageName: node linkType: hard +"object-copy@npm:^0.1.0": + version: 0.1.0 + resolution: "object-copy@npm:0.1.0" + dependencies: + copy-descriptor: ^0.1.0 + define-property: ^0.2.5 + kind-of: ^3.0.3 + checksum: a9e35f07e3a2c882a7e979090360d1a20ab51d1fa19dfdac3aa8873b328a7c4c7683946ee97c824ae40079d848d6740a3788fa14f2185155dab7ed970a72c783 + languageName: node + linkType: hard + "object-hash@npm:^2.2.0": version: 2.2.0 resolution: "object-hash@npm:2.2.0" @@ -13621,6 +18265,15 @@ __metadata: languageName: node linkType: hard +"object-visit@npm:^1.0.0": + version: 1.0.1 + resolution: "object-visit@npm:1.0.1" + dependencies: + isobject: ^3.0.0 + checksum: b0ee07f5bf3bb881b881ff53b467ebbde2b37ebb38649d6944a6cd7681b32eedd99da9bd1e01c55facf81f54ed06b13af61aba6ad87f0052982995e09333f790 + languageName: node + linkType: hard + "object.assign@npm:^4.1.0, object.assign@npm:^4.1.2": version: 4.1.2 resolution: "object.assign@npm:4.1.2" @@ -13633,7 +18286,7 @@ __metadata: languageName: node linkType: hard -"object.entries@npm:^1.1.4": +"object.entries@npm:^1.1.0, object.entries@npm:^1.1.4": version: 1.1.5 resolution: "object.entries@npm:1.1.5" dependencies: @@ -13644,7 +18297,7 @@ __metadata: languageName: node linkType: hard -"object.fromentries@npm:^2.0.4": +"object.fromentries@npm:^2.0.0 || ^1.0.0, object.fromentries@npm:^2.0.4": version: 2.0.5 resolution: "object.fromentries@npm:2.0.5" dependencies: @@ -13655,7 +18308,7 @@ __metadata: languageName: node linkType: hard -"object.getownpropertydescriptors@npm:^2.1.0": +"object.getownpropertydescriptors@npm:^2.0.3, object.getownpropertydescriptors@npm:^2.1.0, object.getownpropertydescriptors@npm:^2.1.2": version: 2.1.3 resolution: "object.getownpropertydescriptors@npm:2.1.3" dependencies: @@ -13676,6 +18329,15 @@ __metadata: languageName: node linkType: hard +"object.pick@npm:^1.3.0": + version: 1.3.0 + resolution: "object.pick@npm:1.3.0" + dependencies: + isobject: ^3.0.1 + checksum: 77fb6eed57c67adf75e9901187e37af39f052ef601cb4480386436561357eb9e459e820762f01fd02c5c1b42ece839ad393717a6d1850d848ee11fbabb3e580a + languageName: node + linkType: hard + "object.values@npm:^1.1.0, object.values@npm:^1.1.4, object.values@npm:^1.1.5": version: 1.1.5 resolution: "object.values@npm:1.1.5" @@ -13687,6 +18349,13 @@ __metadata: languageName: node linkType: hard +"objectorarray@npm:^1.0.5": + version: 1.0.5 + resolution: "objectorarray@npm:1.0.5" + checksum: 8fd776aa495d113e217837f4adc1d53e63f656498237094d25f84c3e2c038b34b71d6fd85c4b60c7ae5f558790e5042426a400fae3eac35f297e11be12643a78 + languageName: node + linkType: hard + "obuf@npm:^1.0.0, obuf@npm:^1.1.2": version: 1.1.2 resolution: "obuf@npm:1.1.2" @@ -13728,7 +18397,7 @@ __metadata: languageName: node linkType: hard -"open@npm:^7.4.2": +"open@npm:^7.0.2, open@npm:^7.0.3, open@npm:^7.4.2": version: 7.4.2 resolution: "open@npm:7.4.2" dependencies: @@ -13803,7 +18472,7 @@ __metadata: languageName: node linkType: hard -"os-browserify@npm:0.3.0": +"os-browserify@npm:0.3.0, os-browserify@npm:^0.3.0": version: 0.3.0 resolution: "os-browserify@npm:0.3.0" checksum: 16e37ba3c0e6a4c63443c7b55799ce4066d59104143cb637ecb9fce586d5da319cdca786ba1c867abbe3890d2cbf37953f2d51eea85e20dd6c4570d6c54bfebf @@ -13824,7 +18493,30 @@ __metadata: languageName: node linkType: hard -"p-event@npm:^4.2.0": +"overlayscrollbars@npm:^1.13.1": + version: 1.13.1 + resolution: "overlayscrollbars@npm:1.13.1" + checksum: 6f3be25b60dd9c2adcb6bd42d51f1ac72a1538247dfa991f5238602fc941ede0ec1fb0f04d4e1367d85ac2e95bdb27d81e05c7e3bfdff585c48a5cd611af9271 + languageName: node + linkType: hard + +"p-all@npm:^2.1.0": + version: 2.1.0 + resolution: "p-all@npm:2.1.0" + dependencies: + p-map: ^2.0.0 + checksum: 6c20134eb3f16dca270d04a40cd14d2d05012b5a5762ca4f89962ae03a5fc13e13b09f64626a780f10bbe4e204b9370f708c6d8c079296bd2512d7e15462c76f + languageName: node + linkType: hard + +"p-defer@npm:^1.0.0": + version: 1.0.0 + resolution: "p-defer@npm:1.0.0" + checksum: 4271b935c27987e7b6f229e5de4cdd335d808465604644cb7b4c4c95bef266735859a93b16415af8a41fd663ee9e3b97a1a2023ca9def613dba1bad2a0da0c7b + languageName: node + linkType: hard + +"p-event@npm:^4.1.0, p-event@npm:^4.2.0": version: 4.2.0 resolution: "p-event@npm:4.2.0" dependencies: @@ -13833,6 +18525,15 @@ __metadata: languageName: node linkType: hard +"p-filter@npm:^2.1.0": + version: 2.1.0 + resolution: "p-filter@npm:2.1.0" + dependencies: + p-map: ^2.0.0 + checksum: 76e552ca624ce2233448d68b19eec9de42b695208121998f7e011edce71d1079a83096ee6a2078fb2a59cfa8a5c999f046edf00ebf16a8e780022010b4693234 + languageName: node + linkType: hard + "p-finally@npm:^1.0.0": version: 1.0.0 resolution: "p-finally@npm:1.0.0" @@ -13910,6 +18611,15 @@ __metadata: languageName: node linkType: hard +"p-map@npm:^3.0.0": + version: 3.0.0 + resolution: "p-map@npm:3.0.0" + dependencies: + aggregate-error: ^3.0.0 + checksum: 49b0fcbc66b1ef9cd379de1b4da07fa7a9f84b41509ea3f461c31903623aaba8a529d22f835e0d77c7cb9fcc16e4fae71e308fd40179aea514ba68f27032b5d5 + languageName: node + linkType: hard + "p-map@npm:^4.0.0": version: 4.0.0 resolution: "p-map@npm:4.0.0" @@ -13969,6 +18679,27 @@ __metadata: languageName: node linkType: hard +"parallel-transform@npm:^1.1.0": + version: 1.2.0 + resolution: "parallel-transform@npm:1.2.0" + dependencies: + cyclist: ^1.0.1 + inherits: ^2.0.3 + readable-stream: ^2.1.5 + checksum: ab6ddc1a662cefcfb3d8d546a111763d3b223f484f2e9194e33aefd8f6760c319d0821fd22a00a3adfbd45929b50d2c84cc121389732f013c2ae01c226269c27 + languageName: node + linkType: hard + +"param-case@npm:^3.0.3, param-case@npm:^3.0.4": + version: 3.0.4 + resolution: "param-case@npm:3.0.4" + dependencies: + dot-case: ^3.0.4 + tslib: ^2.0.3 + checksum: b34227fd0f794e078776eb3aa6247442056cb47761e9cd2c4c881c86d84c64205f6a56ef0d70b41ee7d77da02c3f4ed2f88e3896a8fefe08bdfb4deca037c687 + languageName: node + linkType: hard + "parent-module@npm:^1.0.0": version: 1.0.1 resolution: "parent-module@npm:1.0.1" @@ -14089,6 +18820,30 @@ __metadata: languageName: node linkType: hard +"pascal-case@npm:^3.1.2": + version: 3.1.2 + resolution: "pascal-case@npm:3.1.2" + dependencies: + no-case: ^3.0.4 + tslib: ^2.0.3 + checksum: ba98bfd595fc91ef3d30f4243b1aee2f6ec41c53b4546bfa3039487c367abaa182471dcfc830a1f9e1a0df00c14a370514fa2b3a1aacc68b15a460c31116873e + languageName: node + linkType: hard + +"pascalcase@npm:^0.1.1": + version: 0.1.1 + resolution: "pascalcase@npm:0.1.1" + checksum: f83681c3c8ff75fa473a2bb2b113289952f802ff895d435edd717e7cb898b0408cbdb247117a938edcbc5d141020909846cc2b92c47213d764e2a94d2ad2b925 + languageName: node + linkType: hard + +"path-browserify@npm:0.0.1": + version: 0.0.1 + resolution: "path-browserify@npm:0.0.1" + checksum: ae8dcd45d0d3cfbaf595af4f206bf3ed82d77f72b4877ae7e77328079e1468c84f9386754bb417d994d5a19bf47882fd253565c18441cd5c5c90ae5187599e35 + languageName: node + linkType: hard + "path-browserify@npm:1.0.1, path-browserify@npm:^1.0.1": version: 1.0.1 resolution: "path-browserify@npm:1.0.1" @@ -14096,6 +18851,13 @@ __metadata: languageName: node linkType: hard +"path-dirname@npm:^1.0.0": + version: 1.0.2 + resolution: "path-dirname@npm:1.0.2" + checksum: 0d2f6604ae05a252a0025318685f290e2764ecf9c5436f203cdacfc8c0b17c24cdedaa449d766beb94ab88cc7fc70a09ec21e7933f31abc2b719180883e5e33f + languageName: node + linkType: hard + "path-exists@npm:^3.0.0": version: 3.0.0 resolution: "path-exists@npm:3.0.0" @@ -14124,7 +18886,7 @@ __metadata: languageName: node linkType: hard -"path-key@npm:^2.0.1": +"path-key@npm:^2.0.0, path-key@npm:^2.0.1": version: 2.0.1 resolution: "path-key@npm:2.0.1" checksum: f7ab0ad42fe3fb8c7f11d0c4f849871e28fbd8e1add65c370e422512fc5887097b9cf34d09c1747d45c942a8c1e26468d6356e2df3f740bf177ab8ca7301ebfd @@ -14152,6 +18914,15 @@ __metadata: languageName: node linkType: hard +"path-to-regexp@npm:^1.7.0": + version: 1.8.0 + resolution: "path-to-regexp@npm:1.8.0" + dependencies: + isarray: 0.0.1 + checksum: 709f6f083c0552514ef4780cb2e7e4cf49b0cc89a97439f2b7cc69a608982b7690fb5d1720a7473a59806508fc2dae0be751ba49f495ecf89fd8fbc62abccbcd + languageName: node + linkType: hard + "path-type@npm:^3.0.0": version: 3.0.0 resolution: "path-type@npm:3.0.0" @@ -14269,7 +19040,7 @@ __metadata: languageName: node linkType: hard -"pirates@npm:^4.0.1": +"pirates@npm:^4.0.0, pirates@npm:^4.0.1": version: 4.0.1 resolution: "pirates@npm:4.0.1" dependencies: @@ -14287,6 +19058,15 @@ __metadata: languageName: node linkType: hard +"pkg-dir@npm:^3.0.0": + version: 3.0.0 + resolution: "pkg-dir@npm:3.0.0" + dependencies: + find-up: ^3.0.0 + checksum: 70c9476ffefc77552cc6b1880176b71ad70bfac4f367604b2b04efd19337309a4eec985e94823271c7c0e83946fa5aeb18cd360d15d10a5d7533e19344bfa808 + languageName: node + linkType: hard + "pkg-dir@npm:^4.1.0, pkg-dir@npm:^4.2.0": version: 4.2.0 resolution: "pkg-dir@npm:4.2.0" @@ -14305,7 +19085,7 @@ __metadata: languageName: node linkType: hard -"pkg-up@npm:^3.1.0": +"pkg-up@npm:3.1.0, pkg-up@npm:^3.1.0": version: 3.1.0 resolution: "pkg-up@npm:3.1.0" dependencies: @@ -14321,6 +19101,24 @@ __metadata: languageName: node linkType: hard +"pnp-webpack-plugin@npm:1.6.4": + version: 1.6.4 + resolution: "pnp-webpack-plugin@npm:1.6.4" + dependencies: + ts-pnp: ^1.1.6 + checksum: 0606a63db96400b07f182300168298da9518727a843f9e10cf5045d2a102a4be06bb18c73dc481281e3e0f1ed8d04ef0d285a342b6dcd0eff1340e28e5d2328d + languageName: node + linkType: hard + +"polished@npm:^4.0.5": + version: 4.1.3 + resolution: "polished@npm:4.1.3" + dependencies: + "@babel/runtime": ^7.14.0 + checksum: 3865f569f1ee0beb2959eb4ab8e2baa58c5c662fe9a333de71811e52a2f187ade769d1a87d275370721be64907f9e6bfd8a6158380dd87cd34d0dbf498f302e0 + languageName: node + linkType: hard + "portfinder@npm:^1.0.25, portfinder@npm:^1.0.28": version: 1.0.28 resolution: "portfinder@npm:1.0.28" @@ -14332,6 +19130,13 @@ __metadata: languageName: node linkType: hard +"posix-character-classes@npm:^0.1.0": + version: 0.1.1 + resolution: "posix-character-classes@npm:0.1.1" + checksum: dedb99913c60625a16050cfed2fb5c017648fc075be41ac18474e1c6c3549ef4ada201c8bd9bd006d36827e289c571b6092e1ef6e756cdbab2fd7046b25c6442 + languageName: node + linkType: hard + "postcss-attribute-case-insensitive@npm:^4.0.1": version: 4.0.2 resolution: "postcss-attribute-case-insensitive@npm:4.0.2" @@ -14557,6 +19362,15 @@ __metadata: languageName: node linkType: hard +"postcss-flexbugs-fixes@npm:^4.2.1": + version: 4.2.1 + resolution: "postcss-flexbugs-fixes@npm:4.2.1" + dependencies: + postcss: ^7.0.26 + checksum: 51a626bc80dbe42fcc8b0895b4f23a558bb809ec52cdc05aa27fb24cdffd4c9dc53f25218085ddf407c53d76573bc6d7568219c912161609f02532a8f5f59b43 + languageName: node + linkType: hard + "postcss-flexbugs-fixes@npm:^5.0.2": version: 5.0.2 resolution: "postcss-flexbugs-fixes@npm:5.0.2" @@ -14736,6 +19550,22 @@ __metadata: languageName: node linkType: hard +"postcss-loader@npm:^4.2.0": + version: 4.3.0 + resolution: "postcss-loader@npm:4.3.0" + dependencies: + cosmiconfig: ^7.0.0 + klona: ^2.0.4 + loader-utils: ^2.0.0 + schema-utils: ^3.0.0 + semver: ^7.3.4 + peerDependencies: + postcss: ^7.0.0 || ^8.0.1 + webpack: ^4.0.0 || ^5.0.0 + checksum: b8ba29789d48512c7ce10e9391b1e1512a4b8f8b4063ebff0f9ebdd0a3a01e433ccfa0d2db6dbdd63b126acf7692330f0773bef75e78d53f38eba556ca5f2aee + languageName: node + linkType: hard + "postcss-loader@npm:^6.1.1, postcss-loader@npm:^6.2.0": version: 6.2.0 resolution: "postcss-loader@npm:6.2.0" @@ -14863,6 +19693,15 @@ __metadata: languageName: node linkType: hard +"postcss-modules-extract-imports@npm:^2.0.0": + version: 2.0.0 + resolution: "postcss-modules-extract-imports@npm:2.0.0" + dependencies: + postcss: ^7.0.5 + checksum: 154790fe5954aaa12f300aa9aa782fae8b847138459c8f533ea6c8f29439dd66b4d9a49e0bf6f8388fa0df898cc03d61c84678e3b0d4b47cac5a4334a7151a9f + languageName: node + linkType: hard + "postcss-modules-extract-imports@npm:^3.0.0": version: 3.0.0 resolution: "postcss-modules-extract-imports@npm:3.0.0" @@ -14872,6 +19711,18 @@ __metadata: languageName: node linkType: hard +"postcss-modules-local-by-default@npm:^3.0.2": + version: 3.0.3 + resolution: "postcss-modules-local-by-default@npm:3.0.3" + dependencies: + icss-utils: ^4.1.1 + postcss: ^7.0.32 + postcss-selector-parser: ^6.0.2 + postcss-value-parser: ^4.1.0 + checksum: 0267633eaf80e72a3abf391b6e34c5b344a1bdfb1421543d3ed43fc757e053e0fcc1a2eb06d959a8f435776e8dc80288b59bfc34d61e5e021d47b747c417c5a1 + languageName: node + linkType: hard + "postcss-modules-local-by-default@npm:^4.0.0": version: 4.0.0 resolution: "postcss-modules-local-by-default@npm:4.0.0" @@ -14885,6 +19736,16 @@ __metadata: languageName: node linkType: hard +"postcss-modules-scope@npm:^2.2.0": + version: 2.2.0 + resolution: "postcss-modules-scope@npm:2.2.0" + dependencies: + postcss: ^7.0.6 + postcss-selector-parser: ^6.0.0 + checksum: c611181df924275ca1ffea261149c229488d6921054896879ca98feeb0913f9b00f4f160654beb2cb243a2989036c269baa96778eeacaaa399a4604b6e2fea17 + languageName: node + linkType: hard + "postcss-modules-scope@npm:^3.0.0": version: 3.0.0 resolution: "postcss-modules-scope@npm:3.0.0" @@ -14896,6 +19757,16 @@ __metadata: languageName: node linkType: hard +"postcss-modules-values@npm:^3.0.0": + version: 3.0.0 + resolution: "postcss-modules-values@npm:3.0.0" + dependencies: + icss-utils: ^4.0.0 + postcss: ^7.0.6 + checksum: f1aea0b9c6798b39ec02a6d2310924bb9bfbddb4579668c2d4e2205ca7a68c656b85d5720f9bba3629d611f36667fe04ab889ea3f9a6b569a0a0d57b4f2f4e99 + languageName: node + linkType: hard + "postcss-modules-values@npm:^4.0.0": version: 4.0.0 resolution: "postcss-modules-values@npm:4.0.0" @@ -15221,7 +20092,7 @@ __metadata: languageName: node linkType: hard -"postcss-selector-parser@npm:6.0.6, postcss-selector-parser@npm:^6.0.2, postcss-selector-parser@npm:^6.0.4, postcss-selector-parser@npm:^6.0.5, postcss-selector-parser@npm:^6.0.6": +"postcss-selector-parser@npm:6.0.6, postcss-selector-parser@npm:^6.0.0, postcss-selector-parser@npm:^6.0.2, postcss-selector-parser@npm:^6.0.4, postcss-selector-parser@npm:^6.0.5, postcss-selector-parser@npm:^6.0.6": version: 6.0.6 resolution: "postcss-selector-parser@npm:6.0.6" dependencies: @@ -15371,7 +20242,7 @@ __metadata: languageName: node linkType: hard -"postcss@npm:^7.0.14, postcss@npm:^7.0.17, postcss@npm:^7.0.2, postcss@npm:^7.0.32, postcss@npm:^7.0.5, postcss@npm:^7.0.6": +"postcss@npm:^7.0.14, postcss@npm:^7.0.17, postcss@npm:^7.0.2, postcss@npm:^7.0.26, postcss@npm:^7.0.32, postcss@npm:^7.0.36, postcss@npm:^7.0.5, postcss@npm:^7.0.6": version: 7.0.39 resolution: "postcss@npm:7.0.39" dependencies: @@ -15415,6 +20286,15 @@ __metadata: languageName: node linkType: hard +"prettier@npm:~2.2.1": + version: 2.2.1 + resolution: "prettier@npm:2.2.1" + bin: + prettier: bin-prettier.js + checksum: 800de2df3d37067ab24478c7f32c60ca0c57b01742133287829feeb4a70d239a7bf6bccb56196784777af591ad80fb9ba70c1a49b0fcecf9f5622a764d513edb + languageName: node + linkType: hard + "pretty-bytes@npm:^5.3.0, pretty-bytes@npm:^5.4.1, pretty-bytes@npm:^5.6.0": version: 5.6.0 resolution: "pretty-bytes@npm:5.6.0" @@ -15422,6 +20302,26 @@ __metadata: languageName: node linkType: hard +"pretty-error@npm:^2.1.1": + version: 2.1.2 + resolution: "pretty-error@npm:2.1.2" + dependencies: + lodash: ^4.17.20 + renderkid: ^2.0.4 + checksum: 16775d06f9a695d17103414d610b1281f9535ee1f2da1ce1e1b9be79584a114aa7eac6dcdcc5ef151756d3c014dfd4ac1c7303ed8016d0cec12437cfdf4021c6 + languageName: node + linkType: hard + +"pretty-error@npm:^4.0.0": + version: 4.0.0 + resolution: "pretty-error@npm:4.0.0" + dependencies: + lodash: ^4.17.20 + renderkid: ^3.0.0 + checksum: a5b9137365690104ded6947dca2e33360bf55e62a4acd91b1b0d7baa3970e43754c628cc9e16eafbdd4e8f8bcb260a5865475d4fc17c3106ff2d61db4e72cdf3 + languageName: node + linkType: hard + "pretty-format@npm:^27.0.0, pretty-format@npm:^27.0.2, pretty-format@npm:^27.2.2, pretty-format@npm:^27.3.1": version: 27.3.1 resolution: "pretty-format@npm:27.3.1" @@ -15453,6 +20353,13 @@ __metadata: languageName: node linkType: hard +"prismjs@npm:^1.21.0, prismjs@npm:~1.25.0": + version: 1.25.0 + resolution: "prismjs@npm:1.25.0" + checksum: 04d8eae9d1b26b76c350bc65621584c8f8cab80ace7da3953f8aef2f9a8dd4b4f71c1d15bc5c67f126ddc90cd5af613919dc1340589a6c57355bed86fa3ac010 + languageName: node + linkType: hard + "process-nextick-args@npm:~2.0.0": version: 2.0.1 resolution: "process-nextick-args@npm:2.0.1" @@ -15460,7 +20367,7 @@ __metadata: languageName: node linkType: hard -"process@npm:0.11.10": +"process@npm:0.11.10, process@npm:^0.11.10": version: 0.11.10 resolution: "process@npm:0.11.10" checksum: bfcce49814f7d172a6e6a14d5fa3ac92cc3d0c3b9feb1279774708a719e19acd673995226351a082a9ae99978254e320ccda4240ddc474ba31a76c79491ca7c3 @@ -15491,6 +20398,31 @@ __metadata: languageName: node linkType: hard +"promise.allsettled@npm:^1.0.0": + version: 1.0.5 + resolution: "promise.allsettled@npm:1.0.5" + dependencies: + array.prototype.map: ^1.0.4 + call-bind: ^1.0.2 + define-properties: ^1.1.3 + es-abstract: ^1.19.1 + get-intrinsic: ^1.1.1 + iterate-value: ^1.0.2 + checksum: 92775552d3a3487ed924852e5de00a217a202cefc833e8cc169283fe4f7dbe09953505b0c7471b2681e09aa7d064bdbd07b978d44ff536f712e4dcd7c9faba35 + languageName: node + linkType: hard + +"promise.prototype.finally@npm:^3.1.0": + version: 3.1.3 + resolution: "promise.prototype.finally@npm:3.1.3" + dependencies: + call-bind: ^1.0.2 + define-properties: ^1.1.3 + es-abstract: ^1.19.1 + checksum: aba8af6ae8d076e2c344d2674409b44c8f98b3aba98b78619739aeb4a74ebac80dbba5f9338da7cf0108a34384799d3996c46697d2e21c6e998c04d68041213c + languageName: node + linkType: hard + "promise.series@npm:^0.2.0": version: 0.2.0 resolution: "promise.series@npm:0.2.0" @@ -15498,7 +20430,17 @@ __metadata: languageName: node linkType: hard -"prompts@npm:^2.0.1": +"prompts@npm:2.4.0": + version: 2.4.0 + resolution: "prompts@npm:2.4.0" + dependencies: + kleur: ^3.0.3 + sisteransi: ^1.0.5 + checksum: 96c7bef8eb3c0bb2076d2bc5ee473f06e6d8ac01ac4d0f378dfeb0ddaf2f31c339360ec8f0f8486f78601d16ebef7c6bd9886d44b937ba01bab568b937190265 + languageName: node + linkType: hard + +"prompts@npm:^2.0.1, prompts@npm:^2.4.0": version: 2.4.2 resolution: "prompts@npm:2.4.2" dependencies: @@ -15508,7 +20450,7 @@ __metadata: languageName: node linkType: hard -"prop-types@npm:^15.0.0, prop-types@npm:^15.7.2": +"prop-types@npm:^15.0.0, prop-types@npm:^15.5.8, prop-types@npm:^15.6.0, prop-types@npm:^15.6.1, prop-types@npm:^15.6.2, prop-types@npm:^15.7.2": version: 15.7.2 resolution: "prop-types@npm:15.7.2" dependencies: @@ -15580,6 +20522,16 @@ __metadata: languageName: node linkType: hard +"pump@npm:^2.0.0": + version: 2.0.1 + resolution: "pump@npm:2.0.1" + dependencies: + end-of-stream: ^1.1.0 + once: ^1.3.1 + checksum: e9f26a17be00810bff37ad0171edb35f58b242487b0444f92fb7d78bc7d61442fa9b9c5bd93a43fd8fd8ddd3cc75f1221f5e04c790f42907e5baab7cf5e2b931 + languageName: node + linkType: hard + "pump@npm:^3.0.0": version: 3.0.0 resolution: "pump@npm:3.0.0" @@ -15590,6 +20542,17 @@ __metadata: languageName: node linkType: hard +"pumpify@npm:^1.3.3": + version: 1.5.1 + resolution: "pumpify@npm:1.5.1" + dependencies: + duplexify: ^3.6.0 + inherits: ^2.0.3 + pump: ^2.0.0 + checksum: 26ca412ec8d665bd0d5e185c1b8f627728eff603440d75d22a58e421e3c66eaf86ec6fc6a6efc54808ecef65979279fa8e99b109a23ec1fa8d79f37e6978c9bd + languageName: node + linkType: hard + "punycode@npm:1.3.2": version: 1.3.2 resolution: "punycode@npm:1.3.2" @@ -15597,6 +20560,13 @@ __metadata: languageName: node linkType: hard +"punycode@npm:^1.2.4": + version: 1.4.1 + resolution: "punycode@npm:1.4.1" + checksum: fa6e698cb53db45e4628559e557ddaf554103d2a96a1d62892c8f4032cd3bc8871796cae9eabc1bc700e2b6677611521ce5bb1d9a27700086039965d0cf34518 + languageName: node + linkType: hard + "punycode@npm:^2.1.0, punycode@npm:^2.1.1": version: 2.1.1 resolution: "punycode@npm:2.1.1" @@ -15632,7 +20602,7 @@ __metadata: languageName: node linkType: hard -"qs@npm:^6.4.0": +"qs@npm:^6.10.0, qs@npm:^6.4.0": version: 6.10.1 resolution: "qs@npm:6.10.1" dependencies: @@ -15648,7 +20618,7 @@ __metadata: languageName: node linkType: hard -"querystring-es3@npm:0.2.1": +"querystring-es3@npm:0.2.1, querystring-es3@npm:^0.2.0": version: 0.2.1 resolution: "querystring-es3@npm:0.2.1" checksum: 691e8d6b8b157e7cd49ae8e83fcf86de39ab3ba948c25abaa94fba84c0986c641aa2f597770848c64abce290ed17a39c9df6df737dfa7e87c3b63acc7d225d61 @@ -15662,6 +20632,13 @@ __metadata: languageName: node linkType: hard +"querystring@npm:^0.2.0": + version: 0.2.1 + resolution: "querystring@npm:0.2.1" + checksum: 7b83b45d641e75fd39cd6625ddfd44e7618e741c61e95281b57bbae8fde0afcc12cf851924559e5cc1ef9baa3b1e06e22b164ea1397d65dd94b801f678d9c8ce + languageName: node + linkType: hard + "queue-microtask@npm:^1.2.2": version: 1.2.3 resolution: "queue-microtask@npm:1.2.3" @@ -15699,6 +20676,13 @@ __metadata: languageName: node linkType: hard +"ramda@npm:^0.21.0": + version: 0.21.0 + resolution: "ramda@npm:0.21.0" + checksum: e08d63c12ed4bab70bfd700a843901d9fa340d1a88c50085a6ef0ecf25f528e5ac7c71848481270923491e7315a34301bb35905d45861cb13cc75b8ca05add32 + languageName: node + linkType: hard + "ramda@npm:~0.27.1": version: 0.27.1 resolution: "ramda@npm:0.27.1" @@ -15768,6 +20752,16 @@ __metadata: languageName: node linkType: hard +"react-colorful@npm:^5.1.2": + version: 5.5.0 + resolution: "react-colorful@npm:5.5.0" + peerDependencies: + react: ">=16.8.0" + react-dom: ">=16.8.0" + checksum: aaffa002d9372f692238a29229ff1e991d6d0077f4f83dcdf88ad3106a0737aa56e415a71b91fb585f8532e04f09d3f0fabbc5cd8291137206dc3c1a0d70674f + languageName: node + linkType: hard + "react-datocms@npm:^1.6.6": version: 1.6.6 resolution: "react-datocms@npm:1.6.6" @@ -15784,6 +20778,67 @@ __metadata: languageName: node linkType: hard +"react-dev-utils@npm:^11.0.3": + version: 11.0.4 + resolution: "react-dev-utils@npm:11.0.4" + dependencies: + "@babel/code-frame": 7.10.4 + address: 1.1.2 + browserslist: 4.14.2 + chalk: 2.4.2 + cross-spawn: 7.0.3 + detect-port-alt: 1.1.6 + escape-string-regexp: 2.0.0 + filesize: 6.1.0 + find-up: 4.1.0 + fork-ts-checker-webpack-plugin: 4.1.6 + global-modules: 2.0.0 + globby: 11.0.1 + gzip-size: 5.1.1 + immer: 8.0.1 + is-root: 2.1.0 + loader-utils: 2.0.0 + open: ^7.0.2 + pkg-up: 3.1.0 + prompts: 2.4.0 + react-error-overlay: ^6.0.9 + recursive-readdir: 2.2.2 + shell-quote: 1.7.2 + strip-ansi: 6.0.0 + text-table: 0.2.0 + checksum: b41c95010a4fb60d4ea6309423520e6268757b68df34de7e9e8dbc72549236a1f5a698ff99ad72a034ac51b042aa79ee53994330ce4df05bf867e63c5464bb3f + languageName: node + linkType: hard + +"react-docgen-typescript@npm:^2.0.0": + version: 2.1.1 + resolution: "react-docgen-typescript@npm:2.1.1" + peerDependencies: + typescript: ">= 4.3.x" + checksum: d4ef24b1e6ed7f47f436a74efd2bf61afb9b6c64a9035c9a49f08f1cabfd608fff5fa2a81569573ed702905a7e4c65a41898ef3e5a336b2f0b3fd1bab4753eab + languageName: node + linkType: hard + +"react-docgen@npm:^5.0.0": + version: 5.4.0 + resolution: "react-docgen@npm:5.4.0" + dependencies: + "@babel/core": ^7.7.5 + "@babel/generator": ^7.12.11 + "@babel/runtime": ^7.7.6 + ast-types: ^0.14.2 + commander: ^2.19.0 + doctrine: ^3.0.0 + estree-to-babel: ^3.1.0 + neo-async: ^2.6.1 + node-dir: ^0.1.10 + strip-indent: ^3.0.0 + bin: + react-docgen: bin/react-docgen.js + checksum: b0f16789437c75b02ba726c7c94ed902dfcdf66d11f271232c46d270d7eadc7eabbad95587cc70996bbbe5fea1e860afe0dc2659fa22d5773cef1e8deb7fa2ce + languageName: node + linkType: hard + "react-dom@npm:17.0.2": version: 17.0.2 resolution: "react-dom@npm:17.0.2" @@ -15797,14 +20852,84 @@ __metadata: languageName: node linkType: hard -"react-error-boundary@npm:^3.1.0": - version: 3.1.4 - resolution: "react-error-boundary@npm:3.1.4" +"react-draggable@npm:^4.4.3": + version: 4.4.4 + resolution: "react-draggable@npm:4.4.4" + dependencies: + clsx: ^1.1.1 + prop-types: ^15.6.0 + peerDependencies: + react: ">= 16.3.0" + react-dom: ">= 16.3.0" + checksum: b8258a58938c261a79f1b9ffd67774283c1ac732423c1c9c9f5fe4d17a06886edd659891e445ba089828ca59f1885e5b909262e24cf60640b8ed05c8499c88bb + languageName: node + linkType: hard + +"react-element-to-jsx-string@npm:^14.3.2": + version: 14.3.4 + resolution: "react-element-to-jsx-string@npm:14.3.4" + dependencies: + "@base2/pretty-print-object": 1.0.1 + is-plain-object: 5.0.0 + react-is: 17.0.2 + peerDependencies: + react: ^0.14.8 || ^15.0.1 || ^16.0.0 || ^17.0.1 + react-dom: ^0.14.8 || ^15.0.1 || ^16.0.0 || ^17.0.1 + checksum: 42bcd4423f12e9ee21b2d3f0c2a28805ff4953bd82b6be4c1f5b5f9a371115aafa36a6f3d82726d43b4912179b79e99550c2b9a772c7fe6a5cd8f7e93ff34ceb + languageName: node + linkType: hard + +"react-error-overlay@npm:^6.0.9": + version: 6.0.9 + resolution: "react-error-overlay@npm:6.0.9" + checksum: 695853bc885e798008a00c10d8d94e5ac91626e8130802fea37345f9c037f41b80104345db2ee87f225feb4a4ef71b0df572b17c378a6d397b6815f6d4a84293 + languageName: node + linkType: hard + +"react-fast-compare@npm:^3.0.1, react-fast-compare@npm:^3.2.0": + version: 3.2.0 + resolution: "react-fast-compare@npm:3.2.0" + checksum: 8ef272c825ae329f61633ce4ce7f15aa5b84e5214d88bc0823880236e03e985a13195befa2c7a4eda7db3b017dc7985729152d88445823f652403cf36c2b86aa + languageName: node + linkType: hard + +"react-helmet-async@npm:^1.0.7": + version: 1.1.2 + resolution: "react-helmet-async@npm:1.1.2" dependencies: "@babel/runtime": ^7.12.5 + invariant: ^2.2.4 + prop-types: ^15.7.2 + react-fast-compare: ^3.2.0 + shallowequal: ^1.1.0 + peerDependencies: + react: ^16.6.0 || ^17.0.0 + react-dom: ^16.6.0 || ^17.0.0 + checksum: 8db5d875bb681dabc5f277ee3b0debe96d58f4b6d33cb2e9c72a026f4fd22e44722d2a7164a21b51a4002a6cd40d716195731ba37cc1d73167adf85e56441c1c + languageName: node + linkType: hard + +"react-input-autosize@npm:^3.0.0": + version: 3.0.0 + resolution: "react-input-autosize@npm:3.0.0" + dependencies: + prop-types: ^15.5.8 peerDependencies: - react: ">=16.13.1" - checksum: f36270a5d775a25c8920f854c0d91649ceea417b15b5bc51e270a959b0476647bb79abb4da3be7dd9a4597b029214e8fe43ea914a7f16fa7543c91f784977f1b + react: ^16.3.0 || ^17.0.0 + checksum: cc3309ddc87446ade742c7d0e88ef089dd8b6981f21506a2bb27daf01a8803ac697f64157c4ffc7e81dfcf3892b54a4072dbc3652fd9addcf6d22dd0b87ab723 + languageName: node + linkType: hard + +"react-inspector@npm:^5.1.0": + version: 5.1.1 + resolution: "react-inspector@npm:5.1.1" + dependencies: + "@babel/runtime": ^7.0.0 + is-dom: ^1.0.0 + prop-types: ^15.0.0 + peerDependencies: + react: ^16.8.4 || ^17.0.0 + checksum: ca9e4c1fedb94e4e956dd3142838c5a25a9d61375aee5e8a74dd623bae09a263098a93f220e8d84c7fd39e569e1fa4297d363ddbc91b15bca91baeb7281d7f4f languageName: node linkType: hard @@ -15817,7 +20942,7 @@ __metadata: languageName: node linkType: hard -"react-is@npm:17.0.2, react-is@npm:^17.0.0, react-is@npm:^17.0.1": +"react-is@npm:17.0.2, react-is@npm:^17.0.0, react-is@npm:^17.0.1, react-is@npm:^17.0.2": version: 17.0.2 resolution: "react-is@npm:17.0.2" checksum: 9d6d111d8990dc98bc5402c1266a808b0459b5d54830bbea24c12d908b536df7883f268a7868cfaedde3dd9d4e0d574db456f84d2e6df9c4526f99bb4b5344d8 @@ -15831,6 +20956,13 @@ __metadata: languageName: node linkType: hard +"react-lifecycles-compat@npm:^3.0.4": + version: 3.0.4 + resolution: "react-lifecycles-compat@npm:3.0.4" + checksum: a904b0fc0a8eeb15a148c9feb7bc17cec7ef96e71188280061fc340043fd6d8ee3ff233381f0e8f95c1cf926210b2c4a31f38182c8f35ac55057e453d6df204f + languageName: node + linkType: hard + "react-markdown@npm:7.1.0": version: 7.1.0 resolution: "react-markdown@npm:7.1.0" @@ -15856,7 +20988,34 @@ __metadata: languageName: node linkType: hard -"react-refresh@npm:0.8.3": +"react-popper-tooltip@npm:^3.1.1": + version: 3.1.1 + resolution: "react-popper-tooltip@npm:3.1.1" + dependencies: + "@babel/runtime": ^7.12.5 + "@popperjs/core": ^2.5.4 + react-popper: ^2.2.4 + peerDependencies: + react: ^16.6.0 || ^17.0.0 + react-dom: ^16.6.0 || ^17.0.0 + checksum: c820122a4fdce46ff446b2c7bfe45727de42eacf1c2981fe8f8562da246a289dc7349f0732e36390a08ce50717dc52c4e8ab8e418af19cdd2ded7795ea6b8017 + languageName: node + linkType: hard + +"react-popper@npm:^2.2.4": + version: 2.2.5 + resolution: "react-popper@npm:2.2.5" + dependencies: + react-fast-compare: ^3.0.1 + warning: ^4.0.2 + peerDependencies: + "@popperjs/core": ^2.0.0 + react: ^16.8.0 || ^17 + checksum: 915fcf08e1da4fd48a200074fcdd936f601ee2173f1e730cfed8a54fd47716aa8bf9cce2392463e3bcbe64a096d0baf463809ed2874b94d3a9d430ae6d817b5d + languageName: node + linkType: hard + +"react-refresh@npm:0.8.3, react-refresh@npm:^0.8.3": version: 0.8.3 resolution: "react-refresh@npm:0.8.3" checksum: 3cffe5a9cbac1c5d59bf74bf9fff43c987d87ef32098b9092ea94b6637377d86c08565b9374d9397f446b3fbcd95de986ec77220a16f979687cb39b7b89e2f91 @@ -15870,26 +21029,101 @@ __metadata: languageName: node linkType: hard -"react-router-dom@npm:^6.0.0": - version: 6.0.0 - resolution: "react-router-dom@npm:6.0.0" +"react-router-dom@npm:^6.0.1": + version: 6.0.1 + resolution: "react-router-dom@npm:6.0.1" dependencies: - react-router: 6.0.0 + history: ^5.1.0 + react-router: 6.0.1 peerDependencies: react: ">=16.8" react-dom: ">=16.8" - checksum: d411dbdb139b27535f80326a8c6dc0dbf600a5fadda8db27460caeade87c252543cc75a8338f032ecf3fcb3d0c9856b10e3e071f8e0c9ccf73f93453fc453884 + checksum: cc2d80536f4a02b8fcef826185ad0acb5d66245e9fb89345d54ec0eaea73eb4ff809cbf68ebb1ac8c3de15cbe45f539d7879cc2d3ed4a76c8c42a602dece71b0 languageName: node linkType: hard -"react-router@npm:6.0.0": - version: 6.0.0 - resolution: "react-router@npm:6.0.0" +"react-router@npm:6.0.1": + version: 6.0.1 + resolution: "react-router@npm:6.0.1" dependencies: - history: ^5.0.3 + history: ^5.1.0 peerDependencies: react: ">=16.8" - checksum: c6ddc02366009e6ea2db28631d676026c1da3b51c0c179b1a1a92e5602f66cbf379e1d56418c7612009f8b049c159c40b4fd1eb8b261c991bf11206417930175 + checksum: 66bbaaa98637a0bf4e4c3e4392f8929388e2d07438759129e14709809add974bfa3307d508055c259986439b2f5f9c5558410771355e547c06005ed4feef7c7f + languageName: node + linkType: hard + +"react-select@npm:^3.2.0": + version: 3.2.0 + resolution: "react-select@npm:3.2.0" + dependencies: + "@babel/runtime": ^7.4.4 + "@emotion/cache": ^10.0.9 + "@emotion/core": ^10.0.9 + "@emotion/css": ^10.0.9 + memoize-one: ^5.0.0 + prop-types: ^15.6.0 + react-input-autosize: ^3.0.0 + react-transition-group: ^4.3.0 + peerDependencies: + react: ^16.8.0 || ^17.0.0 + react-dom: ^16.8.0 || ^17.0.0 + checksum: 082c818369fb8c7ce50bbd51260b21794f58dd41e9df5e0798c10e10478fb44b9fd88247f24720d5b443d77a6ec8afa733ecdd15a7722fde85c27bb87c379962 + languageName: node + linkType: hard + +"react-sizeme@npm:^3.0.1": + version: 3.0.2 + resolution: "react-sizeme@npm:3.0.2" + dependencies: + element-resize-detector: ^1.2.2 + invariant: ^2.2.4 + shallowequal: ^1.1.0 + throttle-debounce: ^3.0.1 + checksum: 97cb852c24bbd50acb310da89df564e0d069415f6635676dae3d3bdc583ece88090c0f2ee88a6b0dc36d2793af4a11e83bf6bbb41b86225dd0cf338e8f7e8552 + languageName: node + linkType: hard + +"react-syntax-highlighter@npm:^13.5.3": + version: 13.5.3 + resolution: "react-syntax-highlighter@npm:13.5.3" + dependencies: + "@babel/runtime": ^7.3.1 + highlight.js: ^10.1.1 + lowlight: ^1.14.0 + prismjs: ^1.21.0 + refractor: ^3.1.0 + peerDependencies: + react: ">= 0.14.0" + checksum: fa03880a887bc0c79c0be25fc35924980d75f684f8d05620272bdfcbb9f119f45bb7f8ddd92b9e944103964a4e094b99750d0b19c992fd86f2ce0b70266e89c3 + languageName: node + linkType: hard + +"react-textarea-autosize@npm:^8.3.0": + version: 8.3.3 + resolution: "react-textarea-autosize@npm:8.3.3" + dependencies: + "@babel/runtime": ^7.10.2 + use-composed-ref: ^1.0.0 + use-latest: ^1.0.0 + peerDependencies: + react: ^16.8.0 || ^17.0.0 + checksum: da3d0192825df3d9f27eef33e7eddf928359a7e3e2b01ae7f7f672ecf4e5c1f7a34f27bdde9ccc24e2e9fbe1d1b9dd2a39c7d47323c9bdf63e7b9bd05c325a71 + languageName: node + linkType: hard + +"react-transition-group@npm:^4.3.0": + version: 4.4.2 + resolution: "react-transition-group@npm:4.4.2" + dependencies: + "@babel/runtime": ^7.5.5 + dom-helpers: ^5.0.1 + loose-envify: ^1.4.0 + prop-types: ^15.6.2 + peerDependencies: + react: ">=16.6.0" + react-dom: ">=16.6.0" + checksum: b67bf5b3e86dbab72d658b9a52a3589e5960583ab28c7c66272427d8fe30d4c7de422d5046ae96bd2683cdf80cc3264b2516f5ce80cae1dbe6cf3ca6dda392c5 languageName: node linkType: hard @@ -15946,7 +21180,7 @@ __metadata: languageName: node linkType: hard -"readable-stream@npm:^2.0.1, readable-stream@npm:^2.0.2, readable-stream@npm:^2.0.6": +"readable-stream@npm:1 || 2, readable-stream@npm:^2.0.0, readable-stream@npm:^2.0.1, readable-stream@npm:^2.0.2, readable-stream@npm:^2.0.6, readable-stream@npm:^2.1.5, readable-stream@npm:^2.2.2, readable-stream@npm:^2.3.3, readable-stream@npm:^2.3.6, readable-stream@npm:~2.3.6": version: 2.3.7 resolution: "readable-stream@npm:2.3.7" dependencies: @@ -15984,6 +21218,17 @@ __metadata: languageName: node linkType: hard +"readdirp@npm:^2.2.1": + version: 2.2.1 + resolution: "readdirp@npm:2.2.1" + dependencies: + graceful-fs: ^4.1.11 + micromatch: ^3.1.10 + readable-stream: ^2.0.2 + checksum: 3879b20f1a871e0e004a14fbf1776e65ee0b746a62f5a416010808b37c272ac49b023c47042c7b1e281cba75a449696635bc64c397ed221ea81d853a8f2ed79a + languageName: node + linkType: hard + "readdirp@npm:~3.5.0": version: 3.5.0 resolution: "readdirp@npm:3.5.0" @@ -16002,6 +21247,15 @@ __metadata: languageName: node linkType: hard +"recursive-readdir@npm:2.2.2": + version: 2.2.2 + resolution: "recursive-readdir@npm:2.2.2" + dependencies: + minimatch: 3.0.4 + checksum: a6b22994d76458443d4a27f5fd7147ac63ad31bba972666a291d511d4d819ee40ff71ba7524c14f6a565b8cfaf7f48b318f971804b913cf538d58f04e25d1fee + languageName: node + linkType: hard + "redent@npm:^3.0.0": version: 3.0.0 resolution: "redent@npm:3.0.0" @@ -16022,6 +21276,17 @@ __metadata: languageName: node linkType: hard +"refractor@npm:^3.1.0": + version: 3.5.0 + resolution: "refractor@npm:3.5.0" + dependencies: + hastscript: ^6.0.0 + parse-entities: ^2.0.0 + prismjs: ~1.25.0 + checksum: e8e8bfe8fc035fb6b0a9427ba19abbd2ec1ad78197dcb0027fca95c94fa046ed14f253682b2dcee42e87591300c9237924714ccddf18173a21a18622521a20b7 + languageName: node + linkType: hard + "regenerate-unicode-properties@npm:^9.0.0": version: 9.0.0 resolution: "regenerate-unicode-properties@npm:9.0.0" @@ -16045,13 +21310,20 @@ __metadata: languageName: node linkType: hard -"regenerator-runtime@npm:0.13.9, regenerator-runtime@npm:^0.13.4": +"regenerator-runtime@npm:0.13.9, regenerator-runtime@npm:^0.13.4, regenerator-runtime@npm:^0.13.7": version: 0.13.9 resolution: "regenerator-runtime@npm:0.13.9" checksum: 65ed455fe5afd799e2897baf691ca21c2772e1a969d19bb0c4695757c2d96249eb74ee3553ea34a91062b2a676beedf630b4c1551cc6299afb937be1426ec55e languageName: node linkType: hard +"regenerator-runtime@npm:^0.11.0": + version: 0.11.1 + resolution: "regenerator-runtime@npm:0.11.1" + checksum: 3c97bd2c7b2b3247e6f8e2147a002eb78c995323732dad5dc70fac8d8d0b758d0295e7015b90d3d444446ae77cbd24b9f9123ec3a77018e81d8999818301b4f4 + languageName: node + linkType: hard + "regenerator-transform@npm:^0.14.2": version: 0.14.5 resolution: "regenerator-transform@npm:0.14.5" @@ -16061,6 +21333,16 @@ __metadata: languageName: node linkType: hard +"regex-not@npm:^1.0.0, regex-not@npm:^1.0.2": + version: 1.0.2 + resolution: "regex-not@npm:1.0.2" + dependencies: + extend-shallow: ^3.0.2 + safe-regex: ^1.1.0 + checksum: 3081403de79559387a35ef9d033740e41818a559512668cef3d12da4e8a29ef34ee13c8ed1256b07e27ae392790172e8a15c8a06b72962fd4550476cde3d8f77 + languageName: node + linkType: hard + "regexp-tree@npm:~0.1.1": version: 0.1.24 resolution: "regexp-tree@npm:0.1.24" @@ -16119,6 +21401,26 @@ __metadata: languageName: node linkType: hard +"relateurl@npm:^0.2.7": + version: 0.2.7 + resolution: "relateurl@npm:0.2.7" + checksum: 5891e792eae1dfc3da91c6fda76d6c3de0333a60aa5ad848982ebb6dccaa06e86385fb1235a1582c680a3d445d31be01c6bfc0804ebbcab5aaf53fa856fde6b6 + languageName: node + linkType: hard + +"remark-external-links@npm:^8.0.0": + version: 8.0.0 + resolution: "remark-external-links@npm:8.0.0" + dependencies: + extend: ^3.0.0 + is-absolute-url: ^3.0.0 + mdast-util-definitions: ^4.0.0 + space-separated-tokens: ^1.0.0 + unist-util-visit: ^2.0.0 + checksum: 48c4a41fe38916f79febb390b0c4deefe82b554dd36dc534262d851860d17fb6d15d78d515f29194e5fa48db5f01f4405a6f6dd077aaf32812a2efffb01700d7 + languageName: node + linkType: hard + "remark-footnotes@npm:2.0.0": version: 2.0.0 resolution: "remark-footnotes@npm:2.0.0" @@ -16202,6 +21504,17 @@ __metadata: languageName: node linkType: hard +"remark-slug@npm:^6.0.0": + version: 6.1.0 + resolution: "remark-slug@npm:6.1.0" + dependencies: + github-slugger: ^1.0.0 + mdast-util-to-string: ^1.0.0 + unist-util-visit: ^2.0.0 + checksum: 81fff0dcfaf6d6117ef1293bb1d26c3e25483d99c65c22434298eed93583a89ea5d7b94063d9a7f47c0647a708ce84f00ff62d274503f248feec03c344cabb20 + languageName: node + linkType: hard + "remark-squeeze-paragraphs@npm:4.0.0": version: 4.0.0 resolution: "remark-squeeze-paragraphs@npm:4.0.0" @@ -16234,7 +21547,47 @@ __metadata: languageName: node linkType: hard -"repeat-string@npm:^1.5.4": +"remove-trailing-separator@npm:^1.0.1": + version: 1.1.0 + resolution: "remove-trailing-separator@npm:1.1.0" + checksum: d3c20b5a2d987db13e1cca9385d56ecfa1641bae143b620835ac02a6b70ab88f68f117a0021838db826c57b31373d609d52e4f31aca75fc490c862732d595419 + languageName: node + linkType: hard + +"renderkid@npm:^2.0.4": + version: 2.0.7 + resolution: "renderkid@npm:2.0.7" + dependencies: + css-select: ^4.1.3 + dom-converter: ^0.2.0 + htmlparser2: ^6.1.0 + lodash: ^4.17.21 + strip-ansi: ^3.0.1 + checksum: d3d7562531fb8104154d4aa6aa977707783616318014088378a6c5bbc36318ada9289543d380ede707e531b7f5b96229e87d1b8944f675e5ec3686e62692c7c7 + languageName: node + linkType: hard + +"renderkid@npm:^3.0.0": + version: 3.0.0 + resolution: "renderkid@npm:3.0.0" + dependencies: + css-select: ^4.1.3 + dom-converter: ^0.2.0 + htmlparser2: ^6.1.0 + lodash: ^4.17.21 + strip-ansi: ^6.0.1 + checksum: 77162b62d6f33ab81f337c39efce0439ff0d1f6d441e29c35183151f83041c7850774fb904da163d6c844264d440d10557714e6daa0b19e4561a5cd4ef305d41 + languageName: node + linkType: hard + +"repeat-element@npm:^1.1.2": + version: 1.1.4 + resolution: "repeat-element@npm:1.1.4" + checksum: 1edd0301b7edad71808baad226f0890ba709443f03a698224c9ee4f2494c317892dc5211b2ba8cbea7194a9ddbcac01e283bd66de0467ab24ee1fc1a3711d8a9 + languageName: node + linkType: hard + +"repeat-string@npm:^1.5.4, repeat-string@npm:^1.6.1": version: 1.6.1 resolution: "repeat-string@npm:1.6.1" checksum: 1b809fc6db97decdc68f5b12c4d1a671c8e3f65ec4a40c238bc5200e44e85bcc52a54f78268ab9c29fcf5fe4f1343e805420056d1f30fa9a9ee4c2d93e3cc6c0 @@ -16379,6 +21732,13 @@ __metadata: languageName: node linkType: hard +"ret@npm:~0.1.10": + version: 0.1.15 + resolution: "ret@npm:0.1.15" + checksum: d76a9159eb8c946586567bd934358dfc08a36367b3257f7a3d7255fdd7b56597235af23c6afa0d7f0254159e8051f93c918809962ebd6df24ca2a83dbe4d4151 + languageName: node + linkType: hard + "retry@npm:^0.12.0": version: 0.12.0 resolution: "retry@npm:0.12.0" @@ -16414,7 +21774,7 @@ __metadata: languageName: node linkType: hard -"rimraf@npm:^2.6.3": +"rimraf@npm:^2.2.8, rimraf@npm:^2.5.4, rimraf@npm:^2.6.3": version: 2.7.1 resolution: "rimraf@npm:2.7.1" dependencies: @@ -16544,6 +21904,13 @@ __metadata: languageName: node linkType: hard +"rsvp@npm:^4.8.4": + version: 4.8.5 + resolution: "rsvp@npm:4.8.5" + checksum: 2d8ef30d8febdf05bdf856ccca38001ae3647e41835ca196bc1225333f79b94ae44def733121ca549ccc36209c9b689f6586905e2a043873262609744da8efc1 + languageName: node + linkType: hard + "run-async@npm:^2.4.0": version: 2.4.1 resolution: "run-async@npm:2.4.1" @@ -16560,6 +21927,15 @@ __metadata: languageName: node linkType: hard +"run-queue@npm:^1.0.0, run-queue@npm:^1.0.3": + version: 1.0.3 + resolution: "run-queue@npm:1.0.3" + dependencies: + aproba: ^1.1.1 + checksum: c4541e18b5e056af60f398f2f1b3d89aae5c093d1524bf817c5ee68bcfa4851ad9976f457a9aea135b1d0d72ee9a91c386e3d136bcd95b699c367cd09c70be53 + languageName: node + linkType: hard + "rxjs-for-await@npm:0.0.2": version: 0.0.2 resolution: "rxjs-for-await@npm:0.0.2" @@ -16605,6 +21981,13 @@ __metadata: languageName: node linkType: hard +"safe-buffer@npm:5.1.1": + version: 5.1.1 + resolution: "safe-buffer@npm:5.1.1" + checksum: 7f117b604554c9daca713be76cecc6c52932ed1dd6303638274f21319038bfd760fbfd353e526cc83f11894935bc4beb71f5b7b9478c11bf9718c0e0d94c51cb + languageName: node + linkType: hard + "safe-buffer@npm:5.1.2, safe-buffer@npm:~5.1.0, safe-buffer@npm:~5.1.1": version: 5.1.2 resolution: "safe-buffer@npm:5.1.2" @@ -16635,6 +22018,15 @@ __metadata: languageName: node linkType: hard +"safe-regex@npm:^1.1.0": + version: 1.1.0 + resolution: "safe-regex@npm:1.1.0" + dependencies: + ret: ~0.1.10 + checksum: 9a8bba57c87a841f7997b3b951e8e403b1128c1a4fd1182f40cc1a20e2d490593d7c2a21030fadfea320c8e859219019e136f678c6689ed5960b391b822f01d5 + languageName: node + linkType: hard + "safer-buffer@npm:>= 2.1.2 < 3, safer-buffer@npm:>= 2.1.2 < 3.0.0, safer-buffer@npm:^2.0.2, safer-buffer@npm:^2.1.0, safer-buffer@npm:^2.1.2, safer-buffer@npm:~2.1.0": version: 2.1.2 resolution: "safer-buffer@npm:2.1.2" @@ -16642,6 +22034,25 @@ __metadata: languageName: node linkType: hard +"sane@npm:^4.0.3": + version: 4.1.0 + resolution: "sane@npm:4.1.0" + dependencies: + "@cnakazawa/watch": ^1.0.3 + anymatch: ^2.0.0 + capture-exit: ^2.0.0 + exec-sh: ^0.3.2 + execa: ^1.0.0 + fb-watchman: ^2.0.0 + micromatch: ^3.1.4 + minimist: ^1.1.1 + walker: ~1.0.5 + bin: + sane: ./src/cli.js + checksum: 97716502d456c0d38670a902a4ea943d196dcdf998d1e40532d8f3e24e25d7eddfd4c3579025a1eee8eac09a48dfd05fba61a2156c56704e7feaa450eb249f7c + languageName: node + linkType: hard + "sass-loader@npm:^12.2.0": version: 12.3.0 resolution: "sass-loader@npm:12.3.0" @@ -16712,7 +22123,18 @@ __metadata: languageName: node linkType: hard -"schema-utils@npm:^2.6.5": +"schema-utils@npm:^1.0.0": + version: 1.0.0 + resolution: "schema-utils@npm:1.0.0" + dependencies: + ajv: ^6.1.0 + ajv-errors: ^1.0.0 + ajv-keywords: ^3.1.0 + checksum: e8273b4f6eff9ddf4a4f4c11daf7b96b900237bf8859c86fa1e9b4fab416b72d7ea92468f8db89c18a3499a1070206e1c8a750c83b42d5325fc659cbb55eee88 + languageName: node + linkType: hard + +"schema-utils@npm:^2.6.5, schema-utils@npm:^2.7.0": version: 2.7.1 resolution: "schema-utils@npm:2.7.1" dependencies: @@ -16855,6 +22277,15 @@ __metadata: languageName: node linkType: hard +"serialize-javascript@npm:^5.0.1": + version: 5.0.1 + resolution: "serialize-javascript@npm:5.0.1" + dependencies: + randombytes: ^2.1.0 + checksum: bb45a427690c3d2711e28499de0fbf25036af1e23c63c6a9237ed0aa572fd0941fcdefe50a2dccf26d9df8c8b86ae38659e19d8ba7afd3fbc1f1c7539a2a48d2 + languageName: node + linkType: hard + "serialize-javascript@npm:^6.0.0": version: 6.0.0 resolution: "serialize-javascript@npm:6.0.0" @@ -16864,6 +22295,19 @@ __metadata: languageName: node linkType: hard +"serve-favicon@npm:^2.5.0": + version: 2.5.0 + resolution: "serve-favicon@npm:2.5.0" + dependencies: + etag: ~1.8.1 + fresh: 0.5.2 + ms: 2.1.1 + parseurl: ~1.3.2 + safe-buffer: 5.1.1 + checksum: f4dd0fbee3b7e18d0a27ba6ba01d2f585f23f533010c9e8c74aad74615b19b12d8fbe714f14cb3579803f0bacecd67cdc858714cb56c6e28f8dd07ccc997aea4 + languageName: node + linkType: hard + "serve-index@npm:^1.9.1": version: 1.9.1 resolution: "serve-index@npm:1.9.1" @@ -16898,6 +22342,18 @@ __metadata: languageName: node linkType: hard +"set-value@npm:^2.0.0, set-value@npm:^2.0.1": + version: 2.0.1 + resolution: "set-value@npm:2.0.1" + dependencies: + extend-shallow: ^2.0.1 + is-extendable: ^0.1.1 + is-plain-object: ^2.0.3 + split-string: ^3.0.1 + checksum: 09a4bc72c94641aeae950eb60dc2755943b863780fcc32e441eda964b64df5e3f50603d5ebdd33394ede722528bd55ed43aae26e9df469b4d32e2292b427b601 + languageName: node + linkType: hard + "setimmediate@npm:^1.0.4": version: 1.0.5 resolution: "setimmediate@npm:1.0.5" @@ -16940,6 +22396,13 @@ __metadata: languageName: node linkType: hard +"shallowequal@npm:^1.1.0": + version: 1.1.0 + resolution: "shallowequal@npm:1.1.0" + checksum: f4c1de0837f106d2dbbfd5d0720a5d059d1c66b42b580965c8f06bb1db684be8783538b684092648c981294bf817869f743a066538771dbecb293df78f765e00 + languageName: node + linkType: hard + "shebang-command@npm:^1.2.0": version: 1.2.0 resolution: "shebang-command@npm:1.2.0" @@ -16972,6 +22435,13 @@ __metadata: languageName: node linkType: hard +"shell-quote@npm:1.7.2": + version: 1.7.2 + resolution: "shell-quote@npm:1.7.2" + checksum: efad426fb25d8a54d06363f1f45774aa9e195f62f14fa696d542b44bfe418ab41206448b63af18d726c62e099e66d9a3f4f44858b9ea2ce4b794b41b802672d1 + languageName: node + linkType: hard + "shell-quote@npm:1.7.3, shell-quote@npm:^1.6.1": version: 1.7.3 resolution: "shell-quote@npm:1.7.3" @@ -17006,6 +22476,20 @@ __metadata: languageName: node linkType: hard +"sinon@npm:^12.0.1": + version: 12.0.1 + resolution: "sinon@npm:12.0.1" + dependencies: + "@sinonjs/commons": ^1.8.3 + "@sinonjs/fake-timers": ^8.1.0 + "@sinonjs/samsam": ^6.0.2 + diff: ^5.0.0 + nise: ^5.1.0 + supports-color: ^7.2.0 + checksum: a264310c28df43e923a6e223c719953b7bd829b8e2fee7fe8b40154647e350b6bb4c18009be6f193e50892687f8e8c5d987d666fc3f6e4e78a9f807211ea365f + languageName: node + linkType: hard + "sirv@npm:^1.0.7": version: 1.0.18 resolution: "sirv@npm:1.0.18" @@ -17024,6 +22508,13 @@ __metadata: languageName: node linkType: hard +"slash@npm:^2.0.0": + version: 2.0.0 + resolution: "slash@npm:2.0.0" + checksum: 512d4350735375bd11647233cb0e2f93beca6f53441015eea241fe784d8068281c3987fbaa93e7ef1c38df68d9c60013045c92837423c69115297d6169aa85e6 + languageName: node + linkType: hard + "slash@npm:^3.0.0": version: 3.0.0 resolution: "slash@npm:3.0.0" @@ -17060,6 +22551,42 @@ __metadata: languageName: node linkType: hard +"snapdragon-node@npm:^2.0.1": + version: 2.1.1 + resolution: "snapdragon-node@npm:2.1.1" + dependencies: + define-property: ^1.0.0 + isobject: ^3.0.0 + snapdragon-util: ^3.0.1 + checksum: 9bb57d759f9e2a27935dbab0e4a790137adebace832b393e350a8bf5db461ee9206bb642d4fe47568ee0b44080479c8b4a9ad0ebe3712422d77edf9992a672fd + languageName: node + linkType: hard + +"snapdragon-util@npm:^3.0.1": + version: 3.0.1 + resolution: "snapdragon-util@npm:3.0.1" + dependencies: + kind-of: ^3.2.0 + checksum: 684997dbe37ec995c03fd3f412fba2b711fc34cb4010452b7eb668be72e8811a86a12938b511e8b19baf853b325178c56d8b78d655305e5cfb0bb8b21677e7b7 + languageName: node + linkType: hard + +"snapdragon@npm:^0.8.1": + version: 0.8.2 + resolution: "snapdragon@npm:0.8.2" + dependencies: + base: ^0.11.1 + debug: ^2.2.0 + define-property: ^0.2.5 + extend-shallow: ^2.0.1 + map-cache: ^0.2.2 + source-map: ^0.5.6 + source-map-resolve: ^0.5.0 + use: ^3.1.0 + checksum: a197f242a8f48b11036563065b2487e9b7068f50a20dd81d9161eca6af422174fc158b8beeadbe59ce5ef172aa5718143312b3aebaae551c124b7824387c8312 + languageName: node + linkType: hard + "sockjs@npm:^0.3.21": version: 0.3.21 resolution: "sockjs@npm:0.3.21" @@ -17119,7 +22646,7 @@ __metadata: languageName: node linkType: hard -"source-map-resolve@npm:^0.5.2": +"source-map-resolve@npm:^0.5.0, source-map-resolve@npm:^0.5.2": version: 0.5.3 resolution: "source-map-resolve@npm:0.5.3" dependencies: @@ -17152,7 +22679,7 @@ __metadata: languageName: node linkType: hard -"source-map-support@npm:^0.5.17, source-map-support@npm:^0.5.6, source-map-support@npm:~0.5.12, source-map-support@npm:~0.5.20": +"source-map-support@npm:^0.5.16, source-map-support@npm:^0.5.17, source-map-support@npm:^0.5.6, source-map-support@npm:~0.5.12, source-map-support@npm:~0.5.20": version: 0.5.20 resolution: "source-map-support@npm:0.5.20" dependencies: @@ -17185,7 +22712,7 @@ __metadata: languageName: node linkType: hard -"source-map@npm:^0.5.0, source-map@npm:^0.5.7": +"source-map@npm:^0.5.0, source-map@npm:^0.5.6, source-map@npm:^0.5.7": version: 0.5.7 resolution: "source-map@npm:0.5.7" checksum: 5dc2043b93d2f194142c7f38f74a24670cd7a0063acdaf4bf01d2964b402257ae843c2a8fa822ad5b71013b5fcafa55af7421383da919752f22ff488bc553f4d @@ -17290,6 +22817,15 @@ __metadata: languageName: node linkType: hard +"split-string@npm:^3.0.1, split-string@npm:^3.0.2": + version: 3.1.0 + resolution: "split-string@npm:3.1.0" + dependencies: + extend-shallow: ^3.0.0 + checksum: ae5af5c91bdc3633628821bde92fdf9492fa0e8a63cf6a0376ed6afde93c701422a1610916f59be61972717070119e848d10dfbbd5024b7729d6a71972d2a84c + languageName: node + linkType: hard + "sprintf-js@npm:~1.0.2": version: 1.0.3 resolution: "sprintf-js@npm:1.0.3" @@ -17318,6 +22854,15 @@ __metadata: languageName: node linkType: hard +"ssri@npm:^6.0.1": + version: 6.0.2 + resolution: "ssri@npm:6.0.2" + dependencies: + figgy-pudding: ^3.5.1 + checksum: 7c2e5d442f6252559c8987b7114bcf389fe5614bf65de09ba3e6f9a57b9b65b2967de348fcc3acccff9c069adb168140dd2c5fc2f6f4a779e604a27ef1f7d551 + languageName: node + linkType: hard + "ssri@npm:^8.0.0, ssri@npm:^8.0.1": version: 8.0.1 resolution: "ssri@npm:8.0.1" @@ -17366,6 +22911,16 @@ __metadata: languageName: node linkType: hard +"static-extend@npm:^0.1.1": + version: 0.1.2 + resolution: "static-extend@npm:0.1.2" + dependencies: + define-property: ^0.2.5 + object-copy: ^0.1.0 + checksum: 8657485b831f79e388a437260baf22784540417a9b29e11572c87735df24c22b84eda42107403a64b30861b2faf13df9f7fc5525d51f9d1d2303aba5cbf4e12c + languageName: node + linkType: hard + "statuses@npm:>= 1.4.0 < 2, statuses@npm:>= 1.5.0 < 2, statuses@npm:~1.5.0": version: 1.5.0 resolution: "statuses@npm:1.5.0" @@ -17373,6 +22928,45 @@ __metadata: languageName: node linkType: hard +"store2@npm:^2.12.0": + version: 2.12.0 + resolution: "store2@npm:2.12.0" + checksum: dd4184a677b11e5efc304b910d08f43e2b0ea018930a4e5ac407cb3472f08a6d42004c43b5f249c7299ba9cfd05cbe1eed998ea3f3388d2ca0f0650a6efb5dc4 + languageName: node + linkType: hard + +"storybook-addon-outline@npm:^1.4.1": + version: 1.4.1 + resolution: "storybook-addon-outline@npm:1.4.1" + dependencies: + "@storybook/addons": ^6.3.0 + "@storybook/api": ^6.3.0 + "@storybook/components": ^6.3.0 + "@storybook/core-events": ^6.3.0 + ts-dedent: ^2.1.1 + peerDependencies: + react: ^16.8.0 || ^17.0.0 + react-dom: ^16.8.0 || ^17.0.0 + checksum: 8896a144897ea0e04b5bbaa2ff8e1065009d04b5ee93206396971af0960d470a9de406b9df67016241a02b0fccd4a8de95276ff30165555aca503625aca0283b + languageName: node + linkType: hard + +"storybook-dark-mode@npm:^1.0.8": + version: 1.0.8 + resolution: "storybook-dark-mode@npm:1.0.8" + dependencies: + fast-deep-equal: ^3.0.0 + memoizerific: ^1.11.3 + peerDependencies: + "@storybook/addons": ^6.0.0 + "@storybook/api": ^6.0.0 + "@storybook/components": ^6.0.0 + "@storybook/core-events": ^6.0.0 + "@storybook/theming": ^6.0.0 + checksum: 76089b72471df9bfb0433a02780620d96228280280c94911bad5556044e86d82fd6665c64e8d095b6043d2bde83e9373bf731e4b378f39303a5463e3ba7963fe + languageName: node + linkType: hard + "stream-browserify@npm:3.0.0": version: 3.0.0 resolution: "stream-browserify@npm:3.0.0" @@ -17383,6 +22977,26 @@ __metadata: languageName: node linkType: hard +"stream-browserify@npm:^2.0.1": + version: 2.0.2 + resolution: "stream-browserify@npm:2.0.2" + dependencies: + inherits: ~2.0.1 + readable-stream: ^2.0.2 + checksum: 8de7bcab5582e9a931ae1a4768be7efe8fa4b0b95fd368d16d8cf3e494b897d6b0a7238626de5d71686e53bddf417fd59d106cfa3af0ec055f61a8d1f8fc77b3 + languageName: node + linkType: hard + +"stream-each@npm:^1.1.0": + version: 1.2.3 + resolution: "stream-each@npm:1.2.3" + dependencies: + end-of-stream: ^1.1.0 + stream-shift: ^1.0.0 + checksum: f243de78e9fcc60757994efc4e8ecae9f01a4b2c6a505d786b11fcaa68b1a75ca54afc1669eac9e08f19ff0230792fc40d0f3e3e2935d76971b4903af18b76ab + languageName: node + linkType: hard + "stream-http@npm:3.1.1": version: 3.1.1 resolution: "stream-http@npm:3.1.1" @@ -17395,6 +23009,19 @@ __metadata: languageName: node linkType: hard +"stream-http@npm:^2.7.2": + version: 2.8.3 + resolution: "stream-http@npm:2.8.3" + dependencies: + builtin-status-codes: ^3.0.0 + inherits: ^2.0.1 + readable-stream: ^2.3.6 + to-arraybuffer: ^1.0.0 + xtend: ^4.0.0 + checksum: f57dfaa21a015f72e6ce6b199cf1762074cfe8acf0047bba8f005593754f1743ad0a91788f95308d9f3829ad55742399ad27b4624432f2752a08e62ef4346e05 + languageName: node + linkType: hard + "stream-parser@npm:^0.3.1": version: 0.3.1 resolution: "stream-parser@npm:0.3.1" @@ -17404,6 +23031,13 @@ __metadata: languageName: node linkType: hard +"stream-shift@npm:^1.0.0": + version: 1.0.1 + resolution: "stream-shift@npm:1.0.1" + checksum: 59b82b44b29ec3699b5519a49b3cedcc6db58c72fb40c04e005525dfdcab1c75c4e0c180b923c380f204bed78211b9bad8faecc7b93dece4d004c3f6ec75737b + languageName: node + linkType: hard + "string-hash@npm:1.1.3, string-hash@npm:^1.1.1": version: 1.1.3 resolution: "string-hash@npm:1.1.3" @@ -17432,7 +23066,7 @@ __metadata: languageName: node linkType: hard -"string-width@npm:^1.0.2 || 2 || 3 || 4, string-width@npm:^4.1.0, string-width@npm:^4.2.0, string-width@npm:^4.2.3": +"string-width@npm:^1.0.2 || 2 || 3 || 4, string-width@npm:^4.0.0, string-width@npm:^4.1.0, string-width@npm:^4.2.0, string-width@npm:^4.2.3": version: 4.2.3 resolution: "string-width@npm:4.2.3" dependencies: @@ -17443,7 +23077,7 @@ __metadata: languageName: node linkType: hard -"string.prototype.matchall@npm:^4.0.5, string.prototype.matchall@npm:^4.0.6": +"string.prototype.matchall@npm:^4.0.0 || ^3.0.1, string.prototype.matchall@npm:^4.0.5, string.prototype.matchall@npm:^4.0.6": version: 4.0.6 resolution: "string.prototype.matchall@npm:4.0.6" dependencies: @@ -17470,6 +23104,17 @@ __metadata: languageName: node linkType: hard +"string.prototype.padstart@npm:^3.0.0": + version: 3.1.3 + resolution: "string.prototype.padstart@npm:3.1.3" + dependencies: + call-bind: ^1.0.2 + define-properties: ^1.1.3 + es-abstract: ^1.19.1 + checksum: 8bf8bc1d25edc79c4db285aa8dfd5d269dac4024631e8ae13202c2126348a07e00b153d6bf7b858c5bd716e44675a7fbb50baedd3e8970e1034bb86be22c9475 + languageName: node + linkType: hard + "string.prototype.trimend@npm:^1.0.4": version: 1.0.4 resolution: "string.prototype.trimend@npm:1.0.4" @@ -17490,7 +23135,7 @@ __metadata: languageName: node linkType: hard -"string_decoder@npm:1.3.0, string_decoder@npm:^1.1.1": +"string_decoder@npm:1.3.0, string_decoder@npm:^1.0.0, string_decoder@npm:^1.1.1": version: 1.3.0 resolution: "string_decoder@npm:1.3.0" dependencies: @@ -17600,6 +23245,13 @@ __metadata: languageName: node linkType: hard +"strip-eof@npm:^1.0.0": + version: 1.0.0 + resolution: "strip-eof@npm:1.0.0" + checksum: 40bc8ddd7e072f8ba0c2d6d05267b4e0a4800898c3435b5fb5f5a21e6e47dfaff18467e7aa0d1844bb5d6274c3097246595841fbfeb317e541974ee992cac506 + languageName: node + linkType: hard + "strip-final-newline@npm:^2.0.0": version: 2.0.0 resolution: "strip-final-newline@npm:2.0.0" @@ -17630,7 +23282,31 @@ __metadata: languageName: node linkType: hard -"style-loader@npm:^3.3.0": +"style-loader@npm:^1.3.0": + version: 1.3.0 + resolution: "style-loader@npm:1.3.0" + dependencies: + loader-utils: ^2.0.0 + schema-utils: ^2.7.0 + peerDependencies: + webpack: ^4.0.0 || ^5.0.0 + checksum: 1be9e8705307f5b8eb89e80f3703fa27296dccec349d790eace7aabe212f08c7c8f3ea6b6cb97bc53e82fbebfb9aa0689259671a8315f4655e24a850781e062a + languageName: node + linkType: hard + +"style-loader@npm:^2.0.0": + version: 2.0.0 + resolution: "style-loader@npm:2.0.0" + dependencies: + loader-utils: ^2.0.0 + schema-utils: ^3.0.0 + peerDependencies: + webpack: ^4.0.0 || ^5.0.0 + checksum: 21425246a5a8f14d1625a657a3a56f8a323193fa341a71af818a2ed2a429efa2385a328b4381cf2f12c2d0e6380801eb9e0427ed9c3a10ff95c86e383184d632 + languageName: node + linkType: hard + +"style-loader@npm:^3.3.0, style-loader@npm:^3.3.1": version: 3.3.1 resolution: "style-loader@npm:3.3.1" peerDependencies: @@ -17865,6 +23541,13 @@ __metadata: languageName: node linkType: hard +"supports-color@npm:^2.0.0": + version: 2.0.0 + resolution: "supports-color@npm:2.0.0" + checksum: 602538c5812b9006404370b5a4b885d3e2a1f6567d314f8b4a41974ffe7d08e525bf92ae0f9c7030e3b4c78e4e34ace55d6a67a74f1571bc205959f5972f88f0 + languageName: node + linkType: hard + "supports-color@npm:^5.3.0, supports-color@npm:^5.4.0": version: 5.5.0 resolution: "supports-color@npm:5.5.0" @@ -17874,7 +23557,7 @@ __metadata: languageName: node linkType: hard -"supports-color@npm:^7.0.0, supports-color@npm:^7.1.0": +"supports-color@npm:^7.0.0, supports-color@npm:^7.1.0, supports-color@npm:^7.2.0": version: 7.2.0 resolution: "supports-color@npm:7.2.0" dependencies: @@ -17974,6 +23657,18 @@ __metadata: languageName: node linkType: hard +"symbol.prototype.description@npm:^1.0.0": + version: 1.0.5 + resolution: "symbol.prototype.description@npm:1.0.5" + dependencies: + call-bind: ^1.0.2 + get-symbol-description: ^1.0.0 + has-symbols: ^1.0.2 + object.getownpropertydescriptors: ^2.1.2 + checksum: 2bf20a5fbc74bdda7133e0915b978bf50bf5e2a48dd2174885ba6cd623d001ca18f7dbb1e01a3f3ea3a34f05030175ebee3dcb357f099a61af6e964f3281e9b9 + languageName: node + linkType: hard + "table@npm:^6.0.9, table@npm:^6.7.2": version: 6.7.3 resolution: "table@npm:6.7.3" @@ -18033,14 +23728,14 @@ __metadata: languageName: node linkType: hard -"tapable@npm:^1.0.0": +"tapable@npm:^1.0.0, tapable@npm:^1.1.3": version: 1.1.3 resolution: "tapable@npm:1.1.3" checksum: 53ff4e7c3900051c38cc4faab428ebfd7e6ad0841af5a7ac6d5f3045c5b50e88497bfa8295b4b3fbcadd94993c9e358868b78b9fb249a76cb8b018ac8dccafd7 languageName: node linkType: hard -"tapable@npm:^2.1.1, tapable@npm:^2.2.0": +"tapable@npm:^2.0.0, tapable@npm:^2.1.1, tapable@npm:^2.2.0": version: 2.2.1 resolution: "tapable@npm:2.2.1" checksum: 3b7a1b4d86fa940aad46d9e73d1e8739335efd4c48322cb37d073eb6f80f5281889bf0320c6d8ffcfa1a0dd5bfdbd0f9d037e252ef972aca595330538aac4d51 @@ -18068,6 +23763,22 @@ __metadata: languageName: node linkType: hard +"telejson@npm:^5.3.2": + version: 5.3.3 + resolution: "telejson@npm:5.3.3" + dependencies: + "@types/is-function": ^1.0.0 + global: ^4.4.0 + is-function: ^1.0.2 + is-regex: ^1.1.2 + is-symbol: ^1.0.3 + isobject: ^4.0.0 + lodash: ^4.17.21 + memoizerific: ^1.11.3 + checksum: 16a3152bd49e1eb634856de8bf45d82e9b0ccea5ac4ae0092bced4abbd5536a60fb0a2a20fdd930b56242125a51baa86a3d15b7beb8d3640353548c7b5c2516a + languageName: node + linkType: hard + "temp-dir@npm:^2.0.0": version: 2.0.0 resolution: "temp-dir@npm:2.0.0" @@ -18087,17 +23798,62 @@ __metadata: languageName: node linkType: hard +"term-size@npm:^2.1.0": + version: 2.2.1 + resolution: "term-size@npm:2.2.1" + checksum: 1ed981335483babc1e8206f843e06bd2bf89b85f0bf5a9a9d928033a0fcacdba183c03ba7d91814643015543ba002f1339f7112402a21da8f24b6c56b062a5a9 + languageName: node + linkType: hard + "terminal-link@npm:^2.0.0": version: 2.1.1 resolution: "terminal-link@npm:2.1.1" dependencies: - ansi-escapes: ^4.2.1 - supports-hyperlinks: ^2.0.0 - checksum: ce3d2cd3a438c4a9453947aa664581519173ea40e77e2534d08c088ee6dda449eabdbe0a76d2a516b8b73c33262fedd10d5270ccf7576ae316e3db170ce6562f + ansi-escapes: ^4.2.1 + supports-hyperlinks: ^2.0.0 + checksum: ce3d2cd3a438c4a9453947aa664581519173ea40e77e2534d08c088ee6dda449eabdbe0a76d2a516b8b73c33262fedd10d5270ccf7576ae316e3db170ce6562f + languageName: node + linkType: hard + +"terser-webpack-plugin@npm:^1.4.3": + version: 1.4.5 + resolution: "terser-webpack-plugin@npm:1.4.5" + dependencies: + cacache: ^12.0.2 + find-cache-dir: ^2.1.0 + is-wsl: ^1.1.0 + schema-utils: ^1.0.0 + serialize-javascript: ^4.0.0 + source-map: ^0.6.1 + terser: ^4.1.2 + webpack-sources: ^1.4.0 + worker-farm: ^1.7.0 + peerDependencies: + webpack: ^4.0.0 + checksum: 02aada80927d3c8105d69cb00384d307b73aed67d180db5d20023a8d649149f3803ad50f9cd2ef9eb2622005de87e677198ecc5088f51422bfac5d4d57472d0e + languageName: node + linkType: hard + +"terser-webpack-plugin@npm:^4.2.3": + version: 4.2.3 + resolution: "terser-webpack-plugin@npm:4.2.3" + dependencies: + cacache: ^15.0.5 + find-cache-dir: ^3.3.1 + jest-worker: ^26.5.0 + p-limit: ^3.0.2 + schema-utils: ^3.0.0 + serialize-javascript: ^5.0.1 + source-map: ^0.6.1 + terser: ^5.3.4 + webpack-sources: ^1.4.3 + peerDependencies: + webpack: ^4.0.0 || ^5.0.0 + checksum: ec1b3a85e2645c57e359d5e4831f3e1d78eca2a0c94b156db70eb846ae35b5e6e98ad8784b12e153fc273e57445ce69d017075bbe9fc42868a258ef121f11537 languageName: node linkType: hard -"terser-webpack-plugin@npm:^5.1.1, terser-webpack-plugin@npm:^5.1.3, terser-webpack-plugin@npm:^5.2.4": +"terser-webpack-plugin@npm:^5.0.3, terser-webpack-plugin@npm:^5.1.1, terser-webpack-plugin@npm:^5.1.3, terser-webpack-plugin@npm:^5.2.4": version: 5.2.4 resolution: "terser-webpack-plugin@npm:5.2.4" dependencies: @@ -18133,7 +23889,20 @@ __metadata: languageName: node linkType: hard -"terser@npm:^5.0.0, terser@npm:^5.7.2": +"terser@npm:^4.1.2, terser@npm:^4.6.3": + version: 4.8.0 + resolution: "terser@npm:4.8.0" + dependencies: + commander: ^2.20.0 + source-map: ~0.6.1 + source-map-support: ~0.5.12 + bin: + terser: bin/terser + checksum: f980789097d4f856c1ef4b9a7ada37beb0bb022fb8aa3057968862b5864ad7c244253b3e269c9eb0ab7d0caf97b9521273f2d1cf1e0e942ff0016e0583859c71 + languageName: node + linkType: hard + +"terser@npm:^5.0.0, terser@npm:^5.3.4, terser@npm:^5.7.2": version: 5.9.0 resolution: "terser@npm:5.9.0" dependencies: @@ -18157,7 +23926,7 @@ __metadata: languageName: node linkType: hard -"text-table@npm:^0.2.0": +"text-table@npm:0.2.0, text-table@npm:^0.2.0": version: 0.2.0 resolution: "text-table@npm:0.2.0" checksum: b6937a38c80c7f84d9c11dd75e49d5c44f71d95e810a3250bd1f1797fc7117c57698204adf676b71497acc205d769d65c16ae8fa10afad832ae1322630aef10a @@ -18171,6 +23940,13 @@ __metadata: languageName: node linkType: hard +"throttle-debounce@npm:^3.0.1": + version: 3.0.1 + resolution: "throttle-debounce@npm:3.0.1" + checksum: e34ef638e8df3a9154249101b68afcbf2652a139c803415ef8a2f6a8bc577bcd4d79e4bb914ad3cd206523ac78b9fb7e80885bfa049f64fbb1927f99d98b5736 + languageName: node + linkType: hard + "throttleit@npm:^1.0.0": version: 1.0.0 resolution: "throttleit@npm:1.0.0" @@ -18178,6 +23954,16 @@ __metadata: languageName: node linkType: hard +"through2@npm:^2.0.0": + version: 2.0.5 + resolution: "through2@npm:2.0.5" + dependencies: + readable-stream: ~2.3.6 + xtend: ~4.0.1 + checksum: beb0f338aa2931e5660ec7bf3ad949e6d2e068c31f4737b9525e5201b824ac40cac6a337224856b56bd1ddd866334bbfb92a9f57cd6f66bc3f18d3d86fc0fe50 + languageName: node + linkType: hard + "through2@npm:~0.4.1": version: 0.4.2 resolution: "through2@npm:0.4.2" @@ -18202,7 +23988,7 @@ __metadata: languageName: node linkType: hard -"timers-browserify@npm:2.0.12": +"timers-browserify@npm:2.0.12, timers-browserify@npm:^2.0.4": version: 2.0.12 resolution: "timers-browserify@npm:2.0.12" dependencies: @@ -18250,6 +24036,20 @@ __metadata: languageName: node linkType: hard +"to-arraybuffer@npm:^1.0.0": + version: 1.0.1 + resolution: "to-arraybuffer@npm:1.0.1" + checksum: 31433c10b388722729f5da04c6b2a06f40dc84f797bb802a5a171ced1e599454099c6c5bc5118f4b9105e7d049d3ad9d0f71182b77650e4fdb04539695489941 + languageName: node + linkType: hard + +"to-fast-properties@npm:^1.0.3": + version: 1.0.3 + resolution: "to-fast-properties@npm:1.0.3" + checksum: bd0abb58c4722851df63419de3f6d901d5118f0440d3f71293ed776dd363f2657edaaf2dc470e3f6b7b48eb84aa411193b60db8a4a552adac30de9516c5cc580 + languageName: node + linkType: hard + "to-fast-properties@npm:^2.0.0": version: 2.0.0 resolution: "to-fast-properties@npm:2.0.0" @@ -18257,6 +24057,25 @@ __metadata: languageName: node linkType: hard +"to-object-path@npm:^0.3.0": + version: 0.3.0 + resolution: "to-object-path@npm:0.3.0" + dependencies: + kind-of: ^3.0.2 + checksum: 9425effee5b43e61d720940fa2b889623f77473d459c2ce3d4a580a4405df4403eec7be6b857455908070566352f9e2417304641ed158dda6f6a365fe3e66d70 + languageName: node + linkType: hard + +"to-regex-range@npm:^2.1.0": + version: 2.1.1 + resolution: "to-regex-range@npm:2.1.1" + dependencies: + is-number: ^3.0.0 + repeat-string: ^1.6.1 + checksum: 46093cc14be2da905cc931e442d280b2e544e2bfdb9a24b3cf821be8d342f804785e5736c108d5be026021a05d7b38144980a61917eee3c88de0a5e710e10320 + languageName: node + linkType: hard + "to-regex-range@npm:^5.0.1": version: 5.0.1 resolution: "to-regex-range@npm:5.0.1" @@ -18266,6 +24085,25 @@ __metadata: languageName: node linkType: hard +"to-regex@npm:^3.0.1, to-regex@npm:^3.0.2": + version: 3.0.2 + resolution: "to-regex@npm:3.0.2" + dependencies: + define-property: ^2.0.2 + extend-shallow: ^3.0.2 + regex-not: ^1.0.2 + safe-regex: ^1.1.0 + checksum: 4ed4a619059b64e204aad84e4e5f3ea82d97410988bcece7cf6cbfdbf193d11bff48cf53842d88b8bb00b1bfc0d048f61f20f0709e6f393fd8fe0122662d9db4 + languageName: node + linkType: hard + +"toggle-selection@npm:^1.0.6": + version: 1.0.6 + resolution: "toggle-selection@npm:1.0.6" + checksum: a90dc80ed1e7b18db8f4e16e86a5574f87632dc729cfc07d9ea3ced50021ad42bb4e08f22c0913e0b98e3837b0b717e0a51613c65f30418e21eb99da6556a74c + languageName: node + linkType: hard + "toidentifier@npm:1.0.0": version: 1.0.0 resolution: "toidentifier@npm:1.0.0" @@ -18326,6 +24164,13 @@ __metadata: languageName: node linkType: hard +"tr46@npm:~0.0.3": + version: 0.0.3 + resolution: "tr46@npm:0.0.3" + checksum: 726321c5eaf41b5002e17ffbd1fb7245999a073e8979085dacd47c4b4e8068ff5777142fc6726d6ca1fd2ff16921b48788b87225cbc57c72636f6efa8efbffe3 + languageName: node + linkType: hard + "tree-kill@npm:1.2.2": version: 1.2.2 resolution: "tree-kill@npm:1.2.2" @@ -18370,6 +24215,20 @@ __metadata: languageName: node linkType: hard +"ts-dedent@npm:^2.0.0, ts-dedent@npm:^2.1.1": + version: 2.2.0 + resolution: "ts-dedent@npm:2.2.0" + checksum: 93ed8f7878b6d5ed3c08d99b740010eede6bccfe64bce61c5a4da06a2c17d6ddbb80a8c49c2d15251de7594a4f93ffa21dd10e7be75ef66a4dc9951b4a94e2af + languageName: node + linkType: hard + +"ts-essentials@npm:^2.0.3": + version: 2.0.12 + resolution: "ts-essentials@npm:2.0.12" + checksum: e46916ef44b4417f0c726faac333c8d2f363a47a5c1994eb9d42045a85d247284a3220cb7f71fb30a9bd2eef43ed7eb3bc1f76f4fedf946200a98cfde7eb3a3f + languageName: node + linkType: hard + "ts-jest@npm:27.0.7": version: 27.0.7 resolution: "ts-jest@npm:27.0.7" @@ -18437,6 +24296,16 @@ __metadata: languageName: node linkType: hard +"ts-pnp@npm:^1.1.6": + version: 1.2.0 + resolution: "ts-pnp@npm:1.2.0" + peerDependenciesMeta: + typescript: + optional: true + checksum: c2a698b85d521298fe6f2435fbf2d3dc5834b423ea25abd321805ead3f399dbeedce7ca09492d7eb005b9d2c009c6b9587055bc3ab273dc6b9e40eefd7edb5b2 + languageName: node + linkType: hard + "tsconfig-paths-webpack-plugin@npm:3.4.1": version: 3.4.1 resolution: "tsconfig-paths-webpack-plugin@npm:3.4.1" @@ -18485,7 +24354,7 @@ __metadata: languageName: node linkType: hard -"tslib@npm:^2.0.0, tslib@npm:^2.1.0, tslib@npm:^2.3.0, tslib@npm:^2.3.1": +"tslib@npm:^2.0.0, tslib@npm:^2.0.1, tslib@npm:^2.0.3, tslib@npm:^2.1.0, tslib@npm:^2.3.0, tslib@npm:^2.3.1": version: 2.3.1 resolution: "tslib@npm:2.3.1" checksum: de17a98d4614481f7fcb5cd53ffc1aaf8654313be0291e1bfaee4b4bb31a20494b7d218ff2e15017883e8ea9626599b3b0e0229c18383ba9dce89da2adf15cb9 @@ -18503,6 +24372,13 @@ __metadata: languageName: node linkType: hard +"tty-browserify@npm:0.0.0": + version: 0.0.0 + resolution: "tty-browserify@npm:0.0.0" + checksum: a06f746acc419cb2527ba19b6f3bd97b4a208c03823bfb37b2982629d2effe30ebd17eaed0d7e2fc741f3c4f2a0c43455bd5fb4194354b378e78cfb7ca687f59 + languageName: node + linkType: hard + "tty-browserify@npm:0.0.1": version: 0.0.1 resolution: "tty-browserify@npm:0.0.1" @@ -18544,7 +24420,7 @@ __metadata: languageName: node linkType: hard -"type-detect@npm:4.0.8": +"type-detect@npm:4.0.8, type-detect@npm:^4.0.8": version: 4.0.8 resolution: "type-detect@npm:4.0.8" checksum: 62b5628bff67c0eb0b66afa371bd73e230399a8d2ad30d852716efcc4656a7516904570cd8631a49a3ce57c10225adf5d0cbdcb47f6b0255fe6557c453925a15 @@ -18633,6 +24509,13 @@ __metadata: languageName: node linkType: hard +"typedarray@npm:^0.0.6": + version: 0.0.6 + resolution: "typedarray@npm:0.0.6" + checksum: 33b39f3d0e8463985eeaeeacc3cb2e28bc3dfaf2a5ed219628c0b629d5d7b810b0eb2165f9f607c34871d5daa92ba1dc69f49051cf7d578b4cbd26c340b9d1b1 + languageName: node + linkType: hard + "typescript-plugin-css-modules@npm:^3.4.0": version: 3.4.0 resolution: "typescript-plugin-css-modules@npm:3.4.0" @@ -18697,6 +24580,13 @@ __metadata: languageName: node linkType: hard +"unfetch@npm:^4.2.0": + version: 4.2.0 + resolution: "unfetch@npm:4.2.0" + checksum: 6a4b2557e1d921eaa80c4425ce27a404945ec26491ed06e62598f333996a91a44c7908cb26dc7c2746d735762b13276cf4aa41829b4c8f438dde63add3045d7a + languageName: node + linkType: hard + "unherit@npm:^1.0.4": version: 1.1.3 resolution: "unherit@npm:1.1.3" @@ -18767,6 +24657,18 @@ __metadata: languageName: node linkType: hard +"union-value@npm:^1.0.0": + version: 1.0.1 + resolution: "union-value@npm:1.0.1" + dependencies: + arr-union: ^3.1.0 + get-value: ^2.0.6 + is-extendable: ^0.1.1 + set-value: ^2.0.1 + checksum: a3464097d3f27f6aa90cf103ed9387541bccfc006517559381a10e0dffa62f465a9d9a09c9b9c3d26d0f4cbe61d4d010e2fbd710fd4bf1267a768ba8a774b0ba + languageName: node + linkType: hard + "union@npm:~0.5.0": version: 0.5.0 resolution: "union@npm:0.5.0" @@ -18995,13 +24897,23 @@ __metadata: languageName: node linkType: hard -"unquote@npm:~1.1.1": +"unquote@npm:^1.1.0, unquote@npm:~1.1.1": version: 1.1.1 resolution: "unquote@npm:1.1.1" checksum: 71745867d09cba44ba2d26cb71d6dda7045a98b14f7405df4faaf2b0c90d24703ad027a9d90ba9a6e0d096de2c8d56f864fd03f1c0498c0b7a3990f73b4c8f5f languageName: node linkType: hard +"unset-value@npm:^1.0.0": + version: 1.0.0 + resolution: "unset-value@npm:1.0.0" + dependencies: + has-value: ^0.3.1 + isobject: ^3.0.0 + checksum: 5990ecf660672be2781fc9fb322543c4aa592b68ed9a3312fa4df0e9ba709d42e823af090fc8f95775b4cd2c9a5169f7388f0cec39238b6d0d55a69fc2ab6b29 + languageName: node + linkType: hard + "untildify@npm:^4.0.0": version: 4.0.0 resolution: "untildify@npm:4.0.0" @@ -19009,7 +24921,7 @@ __metadata: languageName: node linkType: hard -"upath@npm:^1.2.0": +"upath@npm:^1.1.1, upath@npm:^1.2.0": version: 1.2.0 resolution: "upath@npm:1.2.0" checksum: 4c05c094797cb733193a0784774dbea5b1889d502fc9f0572164177e185e4a59ba7099bf0b0adf945b232e2ac60363f9bf18aac9b2206fb99cbef971a8455445 @@ -19066,6 +24978,17 @@ __metadata: languageName: node linkType: hard +"use-composed-ref@npm:^1.0.0": + version: 1.1.0 + resolution: "use-composed-ref@npm:1.1.0" + dependencies: + ts-essentials: ^2.0.3 + peerDependencies: + react: ^16.8.0 || ^17.0.0 + checksum: b438c1577eafb26dd8aff8d7ffbeae10b544172fc4c4f38733343f70c04da6f14a748a274cb76b70b829604e1382be56fb37a96f3c62b5aeec50657e23e61097 + languageName: node + linkType: hard + "use-deep-compare-effect@npm:^1.6.1": version: 1.8.1 resolution: "use-deep-compare-effect@npm:1.8.1" @@ -19078,6 +25001,32 @@ __metadata: languageName: node linkType: hard +"use-isomorphic-layout-effect@npm:^1.0.0": + version: 1.1.1 + resolution: "use-isomorphic-layout-effect@npm:1.1.1" + peerDependencies: + react: ^16.8.0 || ^17.0.0 + peerDependenciesMeta: + "@types/react": + optional: true + checksum: fd9061817d4945af37fd79866b1fe96a09cafe873169a66ec699140b609c64db6c60512d94ec3ca90967837026ea6e6d003901c557693708aeee11d392418a9e + languageName: node + linkType: hard + +"use-latest@npm:^1.0.0": + version: 1.2.0 + resolution: "use-latest@npm:1.2.0" + dependencies: + use-isomorphic-layout-effect: ^1.0.0 + peerDependencies: + react: ^16.8.0 || ^17.0.0 + peerDependenciesMeta: + "@types/react": + optional: true + checksum: f0cb3a49119e14ed46db8a946b1aa17b838b8834c8a652bde314877ede6057c55b50654a97ee802597a5839c070180195e58ea3a756b7c33db7f540642f0ddea + languageName: node + linkType: hard + "use-subscription@npm:1.5.1": version: 1.5.1 resolution: "use-subscription@npm:1.5.1" @@ -19089,6 +25038,13 @@ __metadata: languageName: node linkType: hard +"use@npm:^3.1.0": + version: 3.1.1 + resolution: "use@npm:3.1.1" + checksum: 08a130289f5238fcbf8f59a18951286a6e660d17acccc9d58d9b69dfa0ee19aa038e8f95721b00b432c36d1629a9e32a464bf2e7e0ae6a244c42ddb30bdd8b33 + languageName: node + linkType: hard + "utf-8-validate@npm:^5.0.2": version: 5.0.7 resolution: "utf-8-validate@npm:5.0.7" @@ -19106,6 +25062,16 @@ __metadata: languageName: node linkType: hard +"util.promisify@npm:1.0.0": + version: 1.0.0 + resolution: "util.promisify@npm:1.0.0" + dependencies: + define-properties: ^1.1.2 + object.getownpropertydescriptors: ^2.0.3 + checksum: 482e857d676adee506c5c3a10212fd6a06a51d827a9b6d5396a8e593db53b4bb7064f77c5071357d8cd76072542de5cc1c08bc6d7c10cf43fa22dc3bc67556f1 + languageName: node + linkType: hard + "util.promisify@npm:~1.0.0": version: 1.0.1 resolution: "util.promisify@npm:1.0.1" @@ -19118,6 +25084,15 @@ __metadata: languageName: node linkType: hard +"util@npm:0.10.3": + version: 0.10.3 + resolution: "util@npm:0.10.3" + dependencies: + inherits: 2.0.1 + checksum: bd800f5d237a82caddb61723a6cbe45297d25dd258651a31335a4d5d981fd033cb4771f82db3d5d59b582b187cb69cfe727dc6f4d8d7826f686ee6c07ce611e0 + languageName: node + linkType: hard + "util@npm:0.12.4, util@npm:^0.12.0": version: 0.12.4 resolution: "util@npm:0.12.4" @@ -19132,6 +25107,22 @@ __metadata: languageName: node linkType: hard +"util@npm:^0.11.0": + version: 0.11.1 + resolution: "util@npm:0.11.1" + dependencies: + inherits: 2.0.3 + checksum: 80bee6a2edf5ab08dcb97bfe55ca62289b4e66f762ada201f2c5104cb5e46474c8b334f6504d055c0e6a8fda10999add9bcbd81ba765e7f37b17dc767331aa55 + languageName: node + linkType: hard + +"utila@npm:~0.4": + version: 0.4.0 + resolution: "utila@npm:0.4.0" + checksum: 97ffd3bd2bb80c773429d3fb8396469115cd190dded1e733f190d8b602bd0a1bcd6216b7ce3c4395ee3c79e3c879c19d268dbaae3093564cb169ad1212d436f4 + languageName: node + linkType: hard + "utils-merge@npm:1.0.1": version: 1.0.1 resolution: "utils-merge@npm:1.0.1" @@ -19139,7 +25130,14 @@ __metadata: languageName: node linkType: hard -"uuid@npm:^3.4.0": +"uuid-browser@npm:^3.1.0": + version: 3.1.0 + resolution: "uuid-browser@npm:3.1.0" + checksum: 951ec47593865c7cc746df671f7b0f0ff48fcab583fcdaeab6c517a5222af0f5e144a6fcea5fa9620a5b3be047e2f9412a80267ea5c45050e07d51774197d49e + languageName: node + linkType: hard + +"uuid@npm:^3.3.2, uuid@npm:^3.4.0": version: 3.4.0 resolution: "uuid@npm:3.4.0" bin: @@ -19276,7 +25274,7 @@ __metadata: languageName: node linkType: hard -"vm-browserify@npm:1.1.2": +"vm-browserify@npm:1.1.2, vm-browserify@npm:^1.0.1": version: 1.1.2 resolution: "vm-browserify@npm:1.1.2" checksum: 10a1c50aab54ff8b4c9042c15fc64aefccce8d2fb90c0640403242db0ee7fb269f9b102bdb69cfb435d7ef3180d61fd4fb004a043a12709abaf9056cfd7e039d @@ -19301,7 +25299,16 @@ __metadata: languageName: node linkType: hard -"walker@npm:^1.0.7": +"walk-object@npm:^4.0.0": + version: 4.0.0 + resolution: "walk-object@npm:4.0.0" + dependencies: + is-pure-object: ^1.0.0 + checksum: 0d0cb03887f065ec4ac7c0df0c42afc7d1e5ee15b7bdd0e95d0236b7e304ae0d5858fe9dd07a9147ecf075fcdea8b61af56e8f854d850aff6c49e9b885040dfd + languageName: node + linkType: hard + +"walker@npm:^1.0.7, walker@npm:~1.0.5": version: 1.0.8 resolution: "walker@npm:1.0.8" dependencies: @@ -19310,6 +25317,24 @@ __metadata: languageName: node linkType: hard +"warning@npm:^4.0.2, warning@npm:^4.0.3": + version: 4.0.3 + resolution: "warning@npm:4.0.3" + dependencies: + loose-envify: ^1.0.0 + checksum: 4f2cb6a9575e4faf71ddad9ad1ae7a00d0a75d24521c193fa464f30e6b04027bd97aa5d9546b0e13d3a150ab402eda216d59c1d0f2d6ca60124d96cd40dfa35c + languageName: node + linkType: hard + +"watchpack-chokidar2@npm:^2.0.1": + version: 2.0.1 + resolution: "watchpack-chokidar2@npm:2.0.1" + dependencies: + chokidar: ^2.1.8 + checksum: acf0f9ebca0c0b2fd1fe87ba557670477a6c0410bf1a653a726e68eb0620aa94fd9a43027a160a76bc793a21ea12e215e1e87dafe762682c13ef92ad4daf7b58 + languageName: node + linkType: hard + "watchpack@npm:2.1.1": version: 2.1.1 resolution: "watchpack@npm:2.1.1" @@ -19320,6 +25345,23 @@ __metadata: languageName: node linkType: hard +"watchpack@npm:^1.7.4": + version: 1.7.5 + resolution: "watchpack@npm:1.7.5" + dependencies: + chokidar: ^3.4.1 + graceful-fs: ^4.1.2 + neo-async: ^2.5.0 + watchpack-chokidar2: ^2.0.1 + dependenciesMeta: + chokidar: + optional: true + watchpack-chokidar2: + optional: true + checksum: 8b7cb8c8df8f4dd0e8ac47693c0141c4f020a4b031411247d600eca31522fde6f1f9a3a6f6518b46e71f7971b0ed5734c08c60d7fdd2530e7262776286f69236 + languageName: node + linkType: hard + "watchpack@npm:^2.2.0": version: 2.2.0 resolution: "watchpack@npm:2.2.0" @@ -19334,6 +25376,8 @@ __metadata: version: 0.0.0-use.local resolution: "watheia@workspace:." dependencies: + "@babel/core": 7.12.13 + "@babel/preset-typescript": 7.12.13 "@emotion/babel-plugin": 11.3.0 "@emotion/cache": ^11.5.0 "@emotion/react": ^11.5.0 @@ -19341,7 +25385,7 @@ __metadata: "@emotion/styled": ^11.3.0 "@headlessui/react": ^1.4.1 "@heroicons/react": ^1.0.5 - "@next/bundle-analyzer": ^12.0.2 + "@next/bundle-analyzer": ^12.0.3 "@nrwl/cli": 13.1.3 "@nrwl/cypress": 13.1.3 "@nrwl/eslint-plugin-nx": 13.1.3 @@ -19352,6 +25396,7 @@ __metadata: "@nrwl/nx": ^7.8.7 "@nrwl/nx-cloud": ^12.5.2 "@nrwl/react": 13.1.3 + "@nrwl/storybook": 13.1.3 "@nrwl/tao": 13.1.3 "@nrwl/web": 13.1.3 "@nrwl/workspace": 13.1.3 @@ -19365,34 +25410,55 @@ __metadata: "@react-spectrum/provider": ^3.2.2 "@spectrum-icons/ui": ^3.2.1 "@spectrum-icons/workflow": ^3.2.1 + "@storybook/addon-a11y": ^6.3.12 + "@storybook/addon-actions": ^6.3.12 + "@storybook/addon-essentials": ~6.3.0 + "@storybook/addon-knobs": ^6.3.1 + "@storybook/addon-links": ^6.3.12 + "@storybook/builder-webpack5": ~6.3.0 + "@storybook/manager-webpack5": ~6.3.0 + "@storybook/react": ^6.3.12 "@supabase/supabase-js": ^1.25.2 "@supabase/ui": ^0.35.0 + "@svgr/webpack": ^5.4.0 "@tailwindcss/aspect-ratio": ^0.3.0 "@tailwindcss/forms": ^0.3.4 "@tailwindcss/line-clamp": ^0.2.2 "@tailwindcss/typography": ^0.4.1 - "@testing-library/react": 12.1.2 - "@testing-library/react-hooks": 7.0.2 + "@testing-library/dom": ^8.11.0 + "@testing-library/jest-dom": ^5.15.0 + "@testing-library/react": ^12.1.2 + "@testing-library/react-hooks": ^3.7.0 + "@testing-library/user-event": ^12.8.3 "@types/history": ^4.7.9 - "@types/jest": 27.0.2 + "@types/jest": ^27.0.2 + "@types/mocha": ^9.0.0 "@types/node": 16.11.6 "@types/path-browserify": ^1.0.0 "@types/react": 17.0.34 "@types/react-dom": 17.0.11 "@types/react-router-dom": ^5.3.2 + "@types/storybook__react": ^5.2.1 "@typescript-eslint/eslint-plugin": ~5.3.0 "@typescript-eslint/parser": ~5.3.0 autoprefixer: ^10.4.0 + babel-eslint: ^10.1.0 babel-jest: 27.3.1 + babel-loader: ^8.2.3 + babel-plugin-istanbul: ^6.1.1 + babel-plugin-macros: ^3.1.0 babel-plugin-module-resolver: 4.1.0 + babel-plugin-react-remove-properties: ^0.3.0 + babel-plugin-transform-glob-import: ^1.0.1 clsx: ^1.1.1 core-js: ^3.19.1 cross-env: ^7.0.3 + css-loader: ^6.5.1 cypress: ^8.7.0 date-fns: ^2.25.0 dependency-cruiser: ^10.6.0 eslint: ^7.32.0 - eslint-config-next: 12.0.2 + eslint-config-next: 12.0.3 eslint-config-prettier: 8.3.0 eslint-plugin-cypress: ^2.12.1 eslint-plugin-import: 2.25.2 @@ -19402,7 +25468,7 @@ __metadata: gray-matter: ^4.0.3 jest: 27.3.1 jest-junit-reporter: ^1.1.0 - next: 12.0.2 + next: 12.0.3 next-compose-plugins: ^2.2.1 next-mdx-remote: ^3.0.7 next-pwa: ^5.4.0 @@ -19433,10 +25499,13 @@ __metadata: react-datocms: ^1.6.6 react-dom: 17.0.2 react-markdown: 7.1.0 - react-router-dom: ^6.0.0 + react-router-dom: ^6.0.1 regenerator-runtime: 0.13.9 remark: ^14.0.1 remark-html: ^15.0.0 + sinon: ^12.0.1 + storybook-dark-mode: ^1.0.8 + style-loader: ^3.3.1 stylelint: ^14.0.1 stylelint-config-idiomatic-order: ^8.1.0 stylelint-config-prettier: ^9.0.3 @@ -19447,6 +25516,8 @@ __metadata: tslib: ^2.3.1 typescript: ~4.4.4 typescript-plugin-css-modules: ^3.4.0 + url-loader: ^4.1.1 + walk-object: ^4.0.0 languageName: unknown linkType: soft @@ -19475,6 +25546,13 @@ __metadata: languageName: node linkType: hard +"webidl-conversions@npm:^3.0.0": + version: 3.0.1 + resolution: "webidl-conversions@npm:3.0.1" + checksum: c92a0a6ab95314bde9c32e1d0a6dfac83b578f8fa5f21e675bc2706ed6981bc26b7eb7e6a1fab158e5ce4adf9caa4a0aee49a52505d4d13c7be545f15021b17c + languageName: node + linkType: hard + "webidl-conversions@npm:^4.0.2": version: 4.0.2 resolution: "webidl-conversions@npm:4.0.2" @@ -19515,6 +25593,37 @@ __metadata: languageName: node linkType: hard +"webpack-dev-middleware@npm:^3.7.3": + version: 3.7.3 + resolution: "webpack-dev-middleware@npm:3.7.3" + dependencies: + memory-fs: ^0.4.1 + mime: ^2.4.4 + mkdirp: ^0.5.1 + range-parser: ^1.2.1 + webpack-log: ^2.0.0 + peerDependencies: + webpack: ^4.0.0 || ^5.0.0 + checksum: faa3cdd7b82d23c35b8f45903556eadd92b0795c76f3e08e234d53f7bab3de13331096a71968e7e9905770ae5de7a4f75ddf09f66d1e0bbabfecbb30db0f71e3 + languageName: node + linkType: hard + +"webpack-dev-middleware@npm:^4.1.0": + version: 4.3.0 + resolution: "webpack-dev-middleware@npm:4.3.0" + dependencies: + colorette: ^1.2.2 + mem: ^8.1.1 + memfs: ^3.2.2 + mime-types: ^2.1.30 + range-parser: ^1.2.1 + schema-utils: ^3.0.0 + peerDependencies: + webpack: ^4.0.0 || ^5.0.0 + checksum: 113389f9aa488312758b329f9fdd34ff646a50822c197d0e1dc7ce171b1d826a607c92702a60439fead24e495d5b2c9959d90948fc272f7472a301d37cec1e8d + languageName: node + linkType: hard + "webpack-dev-middleware@npm:^5.2.1": version: 5.2.1 resolution: "webpack-dev-middleware@npm:5.2.1" @@ -19570,6 +25679,37 @@ __metadata: languageName: node linkType: hard +"webpack-filter-warnings-plugin@npm:^1.2.1": + version: 1.2.1 + resolution: "webpack-filter-warnings-plugin@npm:1.2.1" + peerDependencies: + webpack: ^2.0.0 || ^3.0.0 || ^4.0.0 + checksum: 91d853596ddb81b6c4673e03f55ab18f7f652ef7a278533623910d53b59df1c661b7f2cb2ef859eabc5fd615daa5be3f9f4c00a59ab33192b93f1be7c8908ace + languageName: node + linkType: hard + +"webpack-hot-middleware@npm:^2.25.0": + version: 2.25.1 + resolution: "webpack-hot-middleware@npm:2.25.1" + dependencies: + ansi-html-community: 0.0.8 + html-entities: ^2.1.0 + querystring: ^0.2.0 + strip-ansi: ^6.0.0 + checksum: 49f05023a1e95fab2703a885c3321dfd2ff832bcece9cbfafe9dbe68bcf16a25cd5c3c455b0534e93b7448f2dd05de2ef9009394c95dfae9bbbcc740189416f7 + languageName: node + linkType: hard + +"webpack-log@npm:^2.0.0": + version: 2.0.0 + resolution: "webpack-log@npm:2.0.0" + dependencies: + ansi-colors: ^3.0.0 + uuid: ^3.3.2 + checksum: 4757179310995e20633ec2d77a8c1ac11e4135c84745f57148692f8195f1c0f8ec122c77d0dc16fc484b7d301df6674f36c9fc6b1ff06b5cf142abaaf5d24f4f + languageName: node + linkType: hard + "webpack-merge@npm:^5.8.0": version: 5.8.0 resolution: "webpack-merge@npm:5.8.0" @@ -19587,7 +25727,7 @@ __metadata: languageName: node linkType: hard -"webpack-sources@npm:^1.2.0, webpack-sources@npm:^1.3.0, webpack-sources@npm:^1.4.3": +"webpack-sources@npm:^1.2.0, webpack-sources@npm:^1.3.0, webpack-sources@npm:^1.4.0, webpack-sources@npm:^1.4.1, webpack-sources@npm:^1.4.3": version: 1.4.3 resolution: "webpack-sources@npm:1.4.3" dependencies: @@ -19619,9 +25759,63 @@ __metadata: languageName: node linkType: hard -"webpack@npm:^5.58.1": - version: 5.61.0 - resolution: "webpack@npm:5.61.0" +"webpack-virtual-modules@npm:^0.2.2": + version: 0.2.2 + resolution: "webpack-virtual-modules@npm:0.2.2" + dependencies: + debug: ^3.0.0 + checksum: 38706eb5ffd7a5120a731c2d35d4de5714cb16dcc87076276d7b130e3221d2665f5c30696bfde5edfddc6b7ae40d772096a0019202260a9d4e19df43b7cf9c95 + languageName: node + linkType: hard + +"webpack-virtual-modules@npm:^0.4.1": + version: 0.4.3 + resolution: "webpack-virtual-modules@npm:0.4.3" + checksum: 158d30633e0d9be3cfcde10fe959b28df5d5adb1068e0f057fcfb10b0b16ede6c892eba438f6ced089c7c442087748c2fcd1e3f035e4e2dc6760517a8c227714 + languageName: node + linkType: hard + +"webpack@npm:4": + version: 4.46.0 + resolution: "webpack@npm:4.46.0" + dependencies: + "@webassemblyjs/ast": 1.9.0 + "@webassemblyjs/helper-module-context": 1.9.0 + "@webassemblyjs/wasm-edit": 1.9.0 + "@webassemblyjs/wasm-parser": 1.9.0 + acorn: ^6.4.1 + ajv: ^6.10.2 + ajv-keywords: ^3.4.1 + chrome-trace-event: ^1.0.2 + enhanced-resolve: ^4.5.0 + eslint-scope: ^4.0.3 + json-parse-better-errors: ^1.0.2 + loader-runner: ^2.4.0 + loader-utils: ^1.2.3 + memory-fs: ^0.4.1 + micromatch: ^3.1.10 + mkdirp: ^0.5.3 + neo-async: ^2.6.1 + node-libs-browser: ^2.2.1 + schema-utils: ^1.0.0 + tapable: ^1.1.3 + terser-webpack-plugin: ^1.4.3 + watchpack: ^1.7.4 + webpack-sources: ^1.4.1 + peerDependenciesMeta: + webpack-cli: + optional: true + webpack-command: + optional: true + bin: + webpack: bin/webpack.js + checksum: 013fa24c00d4261e16ebca60353fa6f848e417b5a44bdf28c16ebebd67fa61e960420bb314c8df05cfe2dad9b90efabcf38fd6875f2361922769a0384085ef1e + languageName: node + linkType: hard + +"webpack@npm:^5.58.1, webpack@npm:^5.9.0": + version: 5.62.1 + resolution: "webpack@npm:5.62.1" dependencies: "@types/eslint-scope": ^3.7.0 "@types/estree": ^0.0.50 @@ -19652,7 +25846,7 @@ __metadata: optional: true bin: webpack: bin/webpack.js - checksum: 442958ec48645c9e612a2628a815c411cbc18289b5cc7b3d1b5d0f8e5b41606ed225decf4f3684edc365e6390867bded244d20387c70fbb630c0ac08443c34c8 + checksum: 85d9bc7e9b4a0d59420831b1cffaed771818a7abbff3e25215246df6c5abe7806eeee8ca28b15f2dd3b34f64b05586dc138a3b181ce99d1887370301c4ce7e2e languageName: node linkType: hard @@ -19704,6 +25898,16 @@ __metadata: languageName: node linkType: hard +"whatwg-url@npm:^5.0.0": + version: 5.0.0 + resolution: "whatwg-url@npm:5.0.0" + dependencies: + tr46: ~0.0.3 + webidl-conversions: ^3.0.0 + checksum: b8daed4ad3356cc4899048a15b2c143a9aed0dfae1f611ebd55073310c7b910f522ad75d727346ad64203d7e6c79ef25eafd465f4d12775ca44b90fa82ed9e2c + languageName: node + linkType: hard + "whatwg-url@npm:^7.0.0": version: 7.1.0 resolution: "whatwg-url@npm:7.1.0" @@ -19791,6 +25995,15 @@ __metadata: languageName: node linkType: hard +"widest-line@npm:^3.1.0": + version: 3.1.0 + resolution: "widest-line@npm:3.1.0" + dependencies: + string-width: ^4.0.0 + checksum: 03db6c9d0af9329c37d74378ff1d91972b12553c7d72a6f4e8525fe61563fa7adb0b9d6e8d546b7e059688712ea874edd5ded475999abdeedf708de9849310e0 + languageName: node + linkType: hard + "wildcard@npm:^2.0.0": version: 2.0.0 resolution: "wildcard@npm:2.0.0" @@ -20019,6 +26232,15 @@ __metadata: languageName: node linkType: hard +"worker-farm@npm:^1.7.0": + version: 1.7.0 + resolution: "worker-farm@npm:1.7.0" + dependencies: + errno: ~0.1.7 + checksum: eab917530e1feddf157ec749e9c91b73a886142daa7fdf3490bccbf7b548b2576c43ab8d0a98e72ac755cbc101ca8647a7b1ff2485fddb9e8f53c40c77f5a719 + languageName: node + linkType: hard + "worker-plugin@npm:3.2.0": version: 3.2.0 resolution: "worker-plugin@npm:3.2.0" @@ -20030,6 +26252,15 @@ __metadata: languageName: node linkType: hard +"worker-rpc@npm:^0.1.0": + version: 0.1.1 + resolution: "worker-rpc@npm:0.1.1" + dependencies: + microevent.ts: ~0.1.1 + checksum: 8f8607506172f44c05490f3ccf13e5c1f430eeb9b6116a405919c186b8b17add13bbb22467a0dbcd18ec7fcb080709a15738182e0003c5fbe2144721ea00f357 + languageName: node + linkType: hard + "wrap-ansi@npm:^6.2.0": version: 6.2.0 resolution: "wrap-ansi@npm:6.2.0" @@ -20131,7 +26362,7 @@ __metadata: languageName: node linkType: hard -"xtend@npm:^4.0.0, xtend@npm:^4.0.1, xtend@npm:^4.0.2": +"xtend@npm:^4.0.0, xtend@npm:^4.0.1, xtend@npm:^4.0.2, xtend@npm:~4.0.1": version: 4.0.2 resolution: "xtend@npm:4.0.2" checksum: ac5dfa738b21f6e7f0dd6e65e1b3155036d68104e67e5d5d1bde74892e327d7e5636a076f625599dc394330a731861e87343ff184b0047fef1360a7ec0a5a36a @@ -20168,6 +26399,13 @@ __metadata: languageName: node linkType: hard +"yallist@npm:^3.0.2": + version: 3.1.1 + resolution: "yallist@npm:3.1.1" + checksum: 48f7bb00dc19fc635a13a39fe547f527b10c9290e7b3e836b9a8f1ca04d4d342e85714416b3c2ab74949c9c66f9cebb0473e6bc353b79035356103b47641285d + languageName: node + linkType: hard + "yallist@npm:^4.0.0": version: 4.0.0 resolution: "yallist@npm:4.0.0" @@ -20189,7 +26427,7 @@ __metadata: languageName: node linkType: hard -"yargs-parser@npm:20.x, yargs-parser@npm:^20.2.2, yargs-parser@npm:^20.2.3": +"yargs-parser@npm:20.x, yargs-parser@npm:^20.2.2, yargs-parser@npm:^20.2.3, yargs-parser@npm:^20.2.7": version: 20.2.9 resolution: "yargs-parser@npm:20.2.9" checksum: 8bb69015f2b0ff9e17b2c8e6bfe224ab463dd00ca211eece72a4cd8a906224d2703fb8a326d36fdd0e68701e201b2a60ed7cf81ce0fd9b3799f9fe7745977ae3 From 42ed15d00569938fadc8004d0cf9e9d6b01d94f5 Mon Sep 17 00:00:00 2001 From: Aaron R Miller Date: Sat, 6 Nov 2021 14:40:12 +0000 Subject: [PATCH 3/3] cleanup button atom --- ...i.js => fallback-uj6KfkMoyFYVA-Xpt1crR.js} | 0 apps/web/public/sw.js | 2 +- libs/context/src/specs/Provider.test.js | 50 +- libs/ui/atoms/button/docs/ActionButton.mdx | 6 +- libs/ui/atoms/button/docs/Button.mdx | 22 +- libs/ui/atoms/button/docs/ToggleButton.mdx | 8 +- libs/ui/atoms/button/src/@types/index.ts | 10 +- libs/ui/atoms/button/src/ActionButton.tsx | 18 +- libs/ui/atoms/button/src/Button.tsx | 26 +- libs/ui/atoms/button/src/ClearButton.tsx | 8 +- libs/ui/atoms/button/src/FieldButton.tsx | 29 +- libs/ui/atoms/button/src/LogicButton.tsx | 8 +- libs/ui/atoms/button/src/ToggleButton.tsx | 16 +- libs/ui/atoms/button/src/index.ts | 12 +- libs/ui/atoms/text/src/Pagagraph.tsx | 28 + libs/ui/atoms/text/src/styles/vars.module.css | 2022 ++++++++++------- libs/ui/organisms/layout/src/Grid.stories.tsx | 2 +- .../layout/src/styles/vars.module.css | 4 +- tsconfig.base.json | 2 +- 19 files changed, 1315 insertions(+), 958 deletions(-) rename apps/web/public/{fallback-zh-T9mV9LdHOtiGWRRJUi.js => fallback-uj6KfkMoyFYVA-Xpt1crR.js} (100%) create mode 100644 libs/ui/atoms/text/src/Pagagraph.tsx diff --git a/apps/web/public/fallback-zh-T9mV9LdHOtiGWRRJUi.js b/apps/web/public/fallback-uj6KfkMoyFYVA-Xpt1crR.js similarity index 100% rename from apps/web/public/fallback-zh-T9mV9LdHOtiGWRRJUi.js rename to apps/web/public/fallback-uj6KfkMoyFYVA-Xpt1crR.js diff --git a/apps/web/public/sw.js b/apps/web/public/sw.js index f17a3cd..093a8cf 100644 --- a/apps/web/public/sw.js +++ b/apps/web/public/sw.js @@ -1 +1 @@ -if(!self.define){let e,s={};const i=(i,t)=>(i=new URL(i+".js",t).href,s[i]||new Promise((s=>{if("document"in self){const e=document.createElement("script");e.src=i,e.onload=s,document.head.appendChild(e)}else e=i,importScripts(i),s()})).then((()=>{let e=s[i];if(!e)throw new Error(`Module ${i} didn’t register its module`);return e})));self.define=(t,n)=>{const a=e||("document"in self?document.currentScript.src:"")||location.href;if(s[a])return;let r={};const c=e=>i(e,a),d={module:{uri:a},exports:r,require:c};s[a]=Promise.all(t.map((e=>d[e]||c(e)))).then((e=>(n(...e),r)))}}define(["./workbox-2f9c3875"],(function(e){"use strict";importScripts("fallback-zh-T9mV9LdHOtiGWRRJUi.js"),self.skipWaiting(),e.clientsClaim(),e.precacheAndRoute([{url:"/_next/server/middleware-manifest.json",revision:"zh-T9mV9LdHOtiGWRRJUi"},{url:"/_next/static/chunks/519-4e6b7217c839abbd.js",revision:"zh-T9mV9LdHOtiGWRRJUi"},{url:"/_next/static/chunks/977-ffc70e063a5f89c4.js",revision:"zh-T9mV9LdHOtiGWRRJUi"},{url:"/_next/static/chunks/framework-d5965b48a6d657aa.js",revision:"zh-T9mV9LdHOtiGWRRJUi"},{url:"/_next/static/chunks/main-d8366965972b8087.js",revision:"zh-T9mV9LdHOtiGWRRJUi"},{url:"/_next/static/chunks/pages/404-b234b3196b63d16e.js",revision:"zh-T9mV9LdHOtiGWRRJUi"},{url:"/_next/static/chunks/pages/_app-fe7e9d96437c500d.js",revision:"zh-T9mV9LdHOtiGWRRJUi"},{url:"/_next/static/chunks/pages/_error-d20da8f9a50c916f.js",revision:"zh-T9mV9LdHOtiGWRRJUi"},{url:"/_next/static/chunks/pages/_offline-157ea23f9a7c77e8.js",revision:"zh-T9mV9LdHOtiGWRRJUi"},{url:"/_next/static/chunks/pages/about-434df85a815e1e7c.js",revision:"zh-T9mV9LdHOtiGWRRJUi"},{url:"/_next/static/chunks/pages/auth-b6af27c6f327b30d.js",revision:"zh-T9mV9LdHOtiGWRRJUi"},{url:"/_next/static/chunks/pages/blog-00f4d111b638731a.js",revision:"zh-T9mV9LdHOtiGWRRJUi"},{url:"/_next/static/chunks/pages/blog/%5B...slug%5D-252d968abffa1cf2.js",revision:"zh-T9mV9LdHOtiGWRRJUi"},{url:"/_next/static/chunks/pages/contact-8e7d78bc11ac8536.js",revision:"zh-T9mV9LdHOtiGWRRJUi"},{url:"/_next/static/chunks/pages/help-center-498e60f6a76df84b.js",revision:"zh-T9mV9LdHOtiGWRRJUi"},{url:"/_next/static/chunks/pages/home-0ddaa614c71cadfd.js",revision:"zh-T9mV9LdHOtiGWRRJUi"},{url:"/_next/static/chunks/pages/index-d8da07450be4ad6e.js",revision:"zh-T9mV9LdHOtiGWRRJUi"},{url:"/_next/static/chunks/pages/services-1f55f14a8ea97b81.js",revision:"zh-T9mV9LdHOtiGWRRJUi"},{url:"/_next/static/chunks/pages/services/analytics-15ec5dd52043dd2e.js",revision:"zh-T9mV9LdHOtiGWRRJUi"},{url:"/_next/static/chunks/pages/services/automation-9986594564b3e342.js",revision:"zh-T9mV9LdHOtiGWRRJUi"},{url:"/_next/static/chunks/pages/services/engagement-f952ac8c466d1b05.js",revision:"zh-T9mV9LdHOtiGWRRJUi"},{url:"/_next/static/chunks/pages/services/integrations-7134d0a319d2147a.js",revision:"zh-T9mV9LdHOtiGWRRJUi"},{url:"/_next/static/chunks/pages/services/security-d1d3bd395db9587b.js",revision:"zh-T9mV9LdHOtiGWRRJUi"},{url:"/_next/static/chunks/polyfills-5cd94c89d3acac5f.js",revision:"zh-T9mV9LdHOtiGWRRJUi"},{url:"/_next/static/chunks/webpack-b927671265afed5e.js",revision:"zh-T9mV9LdHOtiGWRRJUi"},{url:"/_next/static/css/006cfb256d02ab57.css",revision:"zh-T9mV9LdHOtiGWRRJUi"},{url:"/_next/static/css/06888b6f65a967cd.css",revision:"zh-T9mV9LdHOtiGWRRJUi"},{url:"/_next/static/css/1a051a9fa57dc4f1.css",revision:"zh-T9mV9LdHOtiGWRRJUi"},{url:"/_next/static/css/372c2137320eb22c.css",revision:"zh-T9mV9LdHOtiGWRRJUi"},{url:"/_next/static/css/3966086bfbe10330.css",revision:"zh-T9mV9LdHOtiGWRRJUi"},{url:"/_next/static/css/4ed03e8d407b6d2e.css",revision:"zh-T9mV9LdHOtiGWRRJUi"},{url:"/_next/static/css/65a57733c675bf6f.css",revision:"zh-T9mV9LdHOtiGWRRJUi"},{url:"/_next/static/css/65c5c569c761c281.css",revision:"zh-T9mV9LdHOtiGWRRJUi"},{url:"/_next/static/css/708cac9b80e7cbe5.css",revision:"zh-T9mV9LdHOtiGWRRJUi"},{url:"/_next/static/css/afa6a9c88494ff18.css",revision:"zh-T9mV9LdHOtiGWRRJUi"},{url:"/_next/static/css/bcde94002bc49f5b.css",revision:"zh-T9mV9LdHOtiGWRRJUi"},{url:"/_next/static/css/dbb4f6ad0185fa51.css",revision:"zh-T9mV9LdHOtiGWRRJUi"},{url:"/_next/static/zh-T9mV9LdHOtiGWRRJUi/_buildManifest.js",revision:"zh-T9mV9LdHOtiGWRRJUi"},{url:"/_next/static/zh-T9mV9LdHOtiGWRRJUi/_middlewareManifest.js",revision:"zh-T9mV9LdHOtiGWRRJUi"},{url:"/_next/static/zh-T9mV9LdHOtiGWRRJUi/_ssgManifest.js",revision:"zh-T9mV9LdHOtiGWRRJUi"},{url:"/_offline",revision:"zh-T9mV9LdHOtiGWRRJUi"}],{ignoreURLParametersMatching:[]}),e.cleanupOutdatedCaches(),e.registerRoute("/",new e.NetworkFirst({cacheName:"start-url",plugins:[{cacheWillUpdate:async({request:e,response:s,event:i,state:t})=>s&&"opaqueredirect"===s.type?new Response(s.body,{status:200,statusText:"OK",headers:s.headers}):s},{handlerDidError:async({request:e})=>self.fallback(e)}]}),"GET"),e.registerRoute(/^https:\/\/fonts\.(?:gstatic)\.com\/.*/i,new e.CacheFirst({cacheName:"google-fonts-webfonts",plugins:[new e.ExpirationPlugin({maxEntries:4,maxAgeSeconds:31536e3}),{handlerDidError:async({request:e})=>self.fallback(e)}]}),"GET"),e.registerRoute(/^https:\/\/fonts\.(?:googleapis)\.com\/.*/i,new e.StaleWhileRevalidate({cacheName:"google-fonts-stylesheets",plugins:[new e.ExpirationPlugin({maxEntries:4,maxAgeSeconds:604800}),{handlerDidError:async({request:e})=>self.fallback(e)}]}),"GET"),e.registerRoute(/\.(?:eot|otf|ttc|ttf|woff|woff2|font.css)$/i,new e.StaleWhileRevalidate({cacheName:"static-font-assets",plugins:[new e.ExpirationPlugin({maxEntries:4,maxAgeSeconds:604800}),{handlerDidError:async({request:e})=>self.fallback(e)}]}),"GET"),e.registerRoute(/\.(?:jpg|jpeg|gif|png|svg|ico|webp)$/i,new e.StaleWhileRevalidate({cacheName:"static-image-assets",plugins:[new e.ExpirationPlugin({maxEntries:64,maxAgeSeconds:86400}),{handlerDidError:async({request:e})=>self.fallback(e)}]}),"GET"),e.registerRoute(/\/_next\/image\?url=.+$/i,new e.StaleWhileRevalidate({cacheName:"next-image",plugins:[new e.ExpirationPlugin({maxEntries:64,maxAgeSeconds:86400}),{handlerDidError:async({request:e})=>self.fallback(e)}]}),"GET"),e.registerRoute(/\.(?:mp3|wav|ogg)$/i,new e.CacheFirst({cacheName:"static-audio-assets",plugins:[new e.RangeRequestsPlugin,new e.ExpirationPlugin({maxEntries:32,maxAgeSeconds:86400}),{handlerDidError:async({request:e})=>self.fallback(e)}]}),"GET"),e.registerRoute(/\.(?:mp4)$/i,new e.CacheFirst({cacheName:"static-video-assets",plugins:[new e.RangeRequestsPlugin,new e.ExpirationPlugin({maxEntries:32,maxAgeSeconds:86400}),{handlerDidError:async({request:e})=>self.fallback(e)}]}),"GET"),e.registerRoute(/\.(?:js)$/i,new e.StaleWhileRevalidate({cacheName:"static-js-assets",plugins:[new e.ExpirationPlugin({maxEntries:32,maxAgeSeconds:86400}),{handlerDidError:async({request:e})=>self.fallback(e)}]}),"GET"),e.registerRoute(/\.(?:css|less)$/i,new e.StaleWhileRevalidate({cacheName:"static-style-assets",plugins:[new e.ExpirationPlugin({maxEntries:32,maxAgeSeconds:86400}),{handlerDidError:async({request:e})=>self.fallback(e)}]}),"GET"),e.registerRoute(/\/_next\/data\/.+\/.+\.json$/i,new e.StaleWhileRevalidate({cacheName:"next-data",plugins:[new e.ExpirationPlugin({maxEntries:32,maxAgeSeconds:86400}),{handlerDidError:async({request:e})=>self.fallback(e)}]}),"GET"),e.registerRoute(/\.(?:json|xml|csv)$/i,new e.NetworkFirst({cacheName:"static-data-assets",plugins:[new e.ExpirationPlugin({maxEntries:32,maxAgeSeconds:86400}),{handlerDidError:async({request:e})=>self.fallback(e)}]}),"GET"),e.registerRoute((({url:e})=>{if(!(self.origin===e.origin))return!1;const s=e.pathname;return!s.startsWith("/api/auth/")&&!!s.startsWith("/api/")}),new e.NetworkFirst({cacheName:"apis",networkTimeoutSeconds:10,plugins:[new e.ExpirationPlugin({maxEntries:16,maxAgeSeconds:86400}),{handlerDidError:async({request:e})=>self.fallback(e)}]}),"GET"),e.registerRoute((({url:e})=>{if(!(self.origin===e.origin))return!1;return!e.pathname.startsWith("/api/")}),new e.NetworkFirst({cacheName:"others",networkTimeoutSeconds:10,plugins:[new e.ExpirationPlugin({maxEntries:32,maxAgeSeconds:86400}),{handlerDidError:async({request:e})=>self.fallback(e)}]}),"GET"),e.registerRoute((({url:e})=>!(self.origin===e.origin)),new e.NetworkFirst({cacheName:"cross-origin",networkTimeoutSeconds:10,plugins:[new e.ExpirationPlugin({maxEntries:32,maxAgeSeconds:3600}),{handlerDidError:async({request:e})=>self.fallback(e)}]}),"GET")})); +if(!self.define){let e,s={};const t=(t,r)=>(t=new URL(t+".js",r).href,s[t]||new Promise((s=>{if("document"in self){const e=document.createElement("script");e.src=t,e.onload=s,document.head.appendChild(e)}else e=t,importScripts(t),s()})).then((()=>{let e=s[t];if(!e)throw new Error(`Module ${t} didn’t register its module`);return e})));self.define=(r,c)=>{const n=e||("document"in self?document.currentScript.src:"")||location.href;if(s[n])return;let a={};const i=e=>t(e,n),o={module:{uri:n},exports:a,require:i};s[n]=Promise.all(r.map((e=>o[e]||i(e)))).then((e=>(c(...e),a)))}}define(["./workbox-2f9c3875"],(function(e){"use strict";importScripts("fallback-uj6KfkMoyFYVA-Xpt1crR.js"),self.skipWaiting(),e.clientsClaim(),e.precacheAndRoute([{url:"/_next/server/middleware-manifest.json",revision:"uj6KfkMoyFYVA-Xpt1crR"},{url:"/_next/static/chunks/519-4e6b7217c839abbd.js",revision:"uj6KfkMoyFYVA-Xpt1crR"},{url:"/_next/static/chunks/977-ffc70e063a5f89c4.js",revision:"uj6KfkMoyFYVA-Xpt1crR"},{url:"/_next/static/chunks/framework-d5965b48a6d657aa.js",revision:"uj6KfkMoyFYVA-Xpt1crR"},{url:"/_next/static/chunks/main-d8366965972b8087.js",revision:"uj6KfkMoyFYVA-Xpt1crR"},{url:"/_next/static/chunks/pages/404-b234b3196b63d16e.js",revision:"uj6KfkMoyFYVA-Xpt1crR"},{url:"/_next/static/chunks/pages/_app-fe7e9d96437c500d.js",revision:"uj6KfkMoyFYVA-Xpt1crR"},{url:"/_next/static/chunks/pages/_error-d20da8f9a50c916f.js",revision:"uj6KfkMoyFYVA-Xpt1crR"},{url:"/_next/static/chunks/pages/_offline-157ea23f9a7c77e8.js",revision:"uj6KfkMoyFYVA-Xpt1crR"},{url:"/_next/static/chunks/pages/about-434df85a815e1e7c.js",revision:"uj6KfkMoyFYVA-Xpt1crR"},{url:"/_next/static/chunks/pages/auth-b6af27c6f327b30d.js",revision:"uj6KfkMoyFYVA-Xpt1crR"},{url:"/_next/static/chunks/pages/blog-00f4d111b638731a.js",revision:"uj6KfkMoyFYVA-Xpt1crR"},{url:"/_next/static/chunks/pages/blog/%5B...slug%5D-252d968abffa1cf2.js",revision:"uj6KfkMoyFYVA-Xpt1crR"},{url:"/_next/static/chunks/pages/contact-8e7d78bc11ac8536.js",revision:"uj6KfkMoyFYVA-Xpt1crR"},{url:"/_next/static/chunks/pages/help-center-498e60f6a76df84b.js",revision:"uj6KfkMoyFYVA-Xpt1crR"},{url:"/_next/static/chunks/pages/home-0ddaa614c71cadfd.js",revision:"uj6KfkMoyFYVA-Xpt1crR"},{url:"/_next/static/chunks/pages/index-d8da07450be4ad6e.js",revision:"uj6KfkMoyFYVA-Xpt1crR"},{url:"/_next/static/chunks/pages/services-1f55f14a8ea97b81.js",revision:"uj6KfkMoyFYVA-Xpt1crR"},{url:"/_next/static/chunks/pages/services/analytics-15ec5dd52043dd2e.js",revision:"uj6KfkMoyFYVA-Xpt1crR"},{url:"/_next/static/chunks/pages/services/automation-9986594564b3e342.js",revision:"uj6KfkMoyFYVA-Xpt1crR"},{url:"/_next/static/chunks/pages/services/engagement-f952ac8c466d1b05.js",revision:"uj6KfkMoyFYVA-Xpt1crR"},{url:"/_next/static/chunks/pages/services/integrations-7134d0a319d2147a.js",revision:"uj6KfkMoyFYVA-Xpt1crR"},{url:"/_next/static/chunks/pages/services/security-d1d3bd395db9587b.js",revision:"uj6KfkMoyFYVA-Xpt1crR"},{url:"/_next/static/chunks/polyfills-5cd94c89d3acac5f.js",revision:"uj6KfkMoyFYVA-Xpt1crR"},{url:"/_next/static/chunks/webpack-b927671265afed5e.js",revision:"uj6KfkMoyFYVA-Xpt1crR"},{url:"/_next/static/css/006cfb256d02ab57.css",revision:"uj6KfkMoyFYVA-Xpt1crR"},{url:"/_next/static/css/06888b6f65a967cd.css",revision:"uj6KfkMoyFYVA-Xpt1crR"},{url:"/_next/static/css/1a051a9fa57dc4f1.css",revision:"uj6KfkMoyFYVA-Xpt1crR"},{url:"/_next/static/css/372c2137320eb22c.css",revision:"uj6KfkMoyFYVA-Xpt1crR"},{url:"/_next/static/css/3966086bfbe10330.css",revision:"uj6KfkMoyFYVA-Xpt1crR"},{url:"/_next/static/css/4ed03e8d407b6d2e.css",revision:"uj6KfkMoyFYVA-Xpt1crR"},{url:"/_next/static/css/65a57733c675bf6f.css",revision:"uj6KfkMoyFYVA-Xpt1crR"},{url:"/_next/static/css/65c5c569c761c281.css",revision:"uj6KfkMoyFYVA-Xpt1crR"},{url:"/_next/static/css/6a494c025ac9d410.css",revision:"uj6KfkMoyFYVA-Xpt1crR"},{url:"/_next/static/css/afa6a9c88494ff18.css",revision:"uj6KfkMoyFYVA-Xpt1crR"},{url:"/_next/static/css/bcde94002bc49f5b.css",revision:"uj6KfkMoyFYVA-Xpt1crR"},{url:"/_next/static/css/dbb4f6ad0185fa51.css",revision:"uj6KfkMoyFYVA-Xpt1crR"},{url:"/_next/static/uj6KfkMoyFYVA-Xpt1crR/_buildManifest.js",revision:"uj6KfkMoyFYVA-Xpt1crR"},{url:"/_next/static/uj6KfkMoyFYVA-Xpt1crR/_middlewareManifest.js",revision:"uj6KfkMoyFYVA-Xpt1crR"},{url:"/_next/static/uj6KfkMoyFYVA-Xpt1crR/_ssgManifest.js",revision:"uj6KfkMoyFYVA-Xpt1crR"},{url:"/_offline",revision:"uj6KfkMoyFYVA-Xpt1crR"}],{ignoreURLParametersMatching:[]}),e.cleanupOutdatedCaches(),e.registerRoute("/",new e.NetworkFirst({cacheName:"start-url",plugins:[{cacheWillUpdate:async({request:e,response:s,event:t,state:r})=>s&&"opaqueredirect"===s.type?new Response(s.body,{status:200,statusText:"OK",headers:s.headers}):s},{handlerDidError:async({request:e})=>self.fallback(e)}]}),"GET"),e.registerRoute(/^https:\/\/fonts\.(?:gstatic)\.com\/.*/i,new e.CacheFirst({cacheName:"google-fonts-webfonts",plugins:[new e.ExpirationPlugin({maxEntries:4,maxAgeSeconds:31536e3}),{handlerDidError:async({request:e})=>self.fallback(e)}]}),"GET"),e.registerRoute(/^https:\/\/fonts\.(?:googleapis)\.com\/.*/i,new e.StaleWhileRevalidate({cacheName:"google-fonts-stylesheets",plugins:[new e.ExpirationPlugin({maxEntries:4,maxAgeSeconds:604800}),{handlerDidError:async({request:e})=>self.fallback(e)}]}),"GET"),e.registerRoute(/\.(?:eot|otf|ttc|ttf|woff|woff2|font.css)$/i,new e.StaleWhileRevalidate({cacheName:"static-font-assets",plugins:[new e.ExpirationPlugin({maxEntries:4,maxAgeSeconds:604800}),{handlerDidError:async({request:e})=>self.fallback(e)}]}),"GET"),e.registerRoute(/\.(?:jpg|jpeg|gif|png|svg|ico|webp)$/i,new e.StaleWhileRevalidate({cacheName:"static-image-assets",plugins:[new e.ExpirationPlugin({maxEntries:64,maxAgeSeconds:86400}),{handlerDidError:async({request:e})=>self.fallback(e)}]}),"GET"),e.registerRoute(/\/_next\/image\?url=.+$/i,new e.StaleWhileRevalidate({cacheName:"next-image",plugins:[new e.ExpirationPlugin({maxEntries:64,maxAgeSeconds:86400}),{handlerDidError:async({request:e})=>self.fallback(e)}]}),"GET"),e.registerRoute(/\.(?:mp3|wav|ogg)$/i,new e.CacheFirst({cacheName:"static-audio-assets",plugins:[new e.RangeRequestsPlugin,new e.ExpirationPlugin({maxEntries:32,maxAgeSeconds:86400}),{handlerDidError:async({request:e})=>self.fallback(e)}]}),"GET"),e.registerRoute(/\.(?:mp4)$/i,new e.CacheFirst({cacheName:"static-video-assets",plugins:[new e.RangeRequestsPlugin,new e.ExpirationPlugin({maxEntries:32,maxAgeSeconds:86400}),{handlerDidError:async({request:e})=>self.fallback(e)}]}),"GET"),e.registerRoute(/\.(?:js)$/i,new e.StaleWhileRevalidate({cacheName:"static-js-assets",plugins:[new e.ExpirationPlugin({maxEntries:32,maxAgeSeconds:86400}),{handlerDidError:async({request:e})=>self.fallback(e)}]}),"GET"),e.registerRoute(/\.(?:css|less)$/i,new e.StaleWhileRevalidate({cacheName:"static-style-assets",plugins:[new e.ExpirationPlugin({maxEntries:32,maxAgeSeconds:86400}),{handlerDidError:async({request:e})=>self.fallback(e)}]}),"GET"),e.registerRoute(/\/_next\/data\/.+\/.+\.json$/i,new e.StaleWhileRevalidate({cacheName:"next-data",plugins:[new e.ExpirationPlugin({maxEntries:32,maxAgeSeconds:86400}),{handlerDidError:async({request:e})=>self.fallback(e)}]}),"GET"),e.registerRoute(/\.(?:json|xml|csv)$/i,new e.NetworkFirst({cacheName:"static-data-assets",plugins:[new e.ExpirationPlugin({maxEntries:32,maxAgeSeconds:86400}),{handlerDidError:async({request:e})=>self.fallback(e)}]}),"GET"),e.registerRoute((({url:e})=>{if(!(self.origin===e.origin))return!1;const s=e.pathname;return!s.startsWith("/api/auth/")&&!!s.startsWith("/api/")}),new e.NetworkFirst({cacheName:"apis",networkTimeoutSeconds:10,plugins:[new e.ExpirationPlugin({maxEntries:16,maxAgeSeconds:86400}),{handlerDidError:async({request:e})=>self.fallback(e)}]}),"GET"),e.registerRoute((({url:e})=>{if(!(self.origin===e.origin))return!1;return!e.pathname.startsWith("/api/")}),new e.NetworkFirst({cacheName:"others",networkTimeoutSeconds:10,plugins:[new e.ExpirationPlugin({maxEntries:32,maxAgeSeconds:86400}),{handlerDidError:async({request:e})=>self.fallback(e)}]}),"GET"),e.registerRoute((({url:e})=>!(self.origin===e.origin)),new e.NetworkFirst({cacheName:"cross-origin",networkTimeoutSeconds:10,plugins:[new e.ExpirationPlugin({maxEntries:32,maxAgeSeconds:3600}),{handlerDidError:async({request:e})=>self.fallback(e)}]}),"GET")})); diff --git a/libs/context/src/specs/Provider.test.js b/libs/context/src/specs/Provider.test.js index a4fdf53..e90dfb7 100644 --- a/libs/context/src/specs/Provider.test.js +++ b/libs/context/src/specs/Provider.test.js @@ -26,10 +26,10 @@ import userEvent from "@testing-library/user-event" let theme = { global: {}, - light: { "spectrum--light": "spectrum--light" }, - dark: { "spectrum--dark": "spectrum--dark" }, - medium: { "spectrum--medium": "spectrum--medium" }, - large: { "spectrum--large": "spectrum--large" } + light: { "wa--light": "wa--light" }, + dark: { "wa--dark": "wa--dark" }, + medium: { "wa--medium": "wa--medium" }, + large: { "wa--large": "wa--large" } } let mediaQueryLight = "(prefers-color-scheme: light)" let mediaQueryDark = "(prefers-color-scheme: dark)" @@ -55,7 +55,7 @@ describe("Provider", () => {
) let provider = getByTestId("testid") - expect(provider.classList.contains("spectrum--dark")).toBeTruthy() + expect(provider.classList.contains("wa--dark")).toBeTruthy() }) it("Uses OS theme by default - light", () => { @@ -66,7 +66,7 @@ describe("Provider", () => { ) let provider = getByTestId("testid") - expect(provider.classList.contains("spectrum--light")).toBeTruthy() + expect(provider.classList.contains("wa--light")).toBeTruthy() }) it("Can be set to dark regardless of OS setting", () => { @@ -77,7 +77,7 @@ describe("Provider", () => { ) let provider = getByTestId("testid") - expect(provider.classList.contains("spectrum--dark")).toBeTruthy() + expect(provider.classList.contains("wa--dark")).toBeTruthy() }) it("Provider passes props to children", () => { @@ -115,8 +115,8 @@ describe("Provider", () => { ) let provider1 = getByTestId("testid1") let provider2 = getByTestId("testid2") - expect(provider1.classList.contains("spectrum--dark")).toBeTruthy() - expect(provider2.classList.contains("spectrum--dark")).toBeTruthy() + expect(provider1.classList.contains("wa--dark")).toBeTruthy() + expect(provider2.classList.contains("wa--dark")).toBeTruthy() }) it("Nested providers can update to follow their ancestors", () => { @@ -131,14 +131,14 @@ describe("Provider", () => { let { getByTestId, rerender } = render() let provider1 = getByTestId("testid1") let provider2 = getByTestId("testid2") - expect(provider1.classList.contains("spectrum--dark")).toBeTruthy() - expect(provider2.classList.contains("spectrum--dark")).toBeTruthy() + expect(provider1.classList.contains("wa--dark")).toBeTruthy() + expect(provider2.classList.contains("wa--dark")).toBeTruthy() rerender() provider1 = getByTestId("testid1") provider2 = getByTestId("testid2") - expect(provider1.classList.contains("spectrum--light")).toBeTruthy() - expect(provider2.classList.contains("spectrum--light")).toBeTruthy() + expect(provider1.classList.contains("wa--light")).toBeTruthy() + expect(provider2.classList.contains("wa--light")).toBeTruthy() }) it("Nested providers can be explicitly set to something else", () => { @@ -152,8 +152,8 @@ describe("Provider", () => { ) let provider1 = getByTestId("testid1") let provider2 = getByTestId("testid2") - expect(provider1.classList.contains("spectrum--dark")).toBeTruthy() - expect(provider2.classList.contains("spectrum--light")).toBeTruthy() + expect(provider1.classList.contains("wa--dark")).toBeTruthy() + expect(provider2.classList.contains("wa--light")).toBeTruthy() }) it("Nested providers pass props to children", () => { @@ -168,7 +168,7 @@ describe("Provider", () => { let button = getByRole("button") triggerPress(button) expect(onPressSpy).not.toHaveBeenCalled() - expect(button.classList.contains("spectrum-Button--quiet")).toBeTruthy() + expect(button.classList.contains("wa-Button--quiet")).toBeTruthy() onPressSpy.mockClear() }) @@ -179,9 +179,9 @@ describe("Provider", () => { @@ -191,8 +191,8 @@ describe("Provider", () => { ) let provider1 = getByTestId("testid1") let provider2 = getByTestId("testid2") - expect(provider1.classList.contains("spectrum--dark")).toBeTruthy() - expect(provider2.classList.contains("spectrum--light")).toBeTruthy() + expect(provider1.classList.contains("wa--dark")).toBeTruthy() + expect(provider2.classList.contains("wa--light")).toBeTruthy() }) it("Provider will rerender if the OS preferred changes and it is on auto", () => { @@ -206,15 +206,15 @@ describe("Provider", () => { ) let provider1 = getByTestId("testid1") let provider2 = getByTestId("testid2") - expect(provider1.classList.contains("spectrum--light")).toBeTruthy() - expect(provider2.classList.contains("spectrum--light")).toBeTruthy() + expect(provider1.classList.contains("wa--light")).toBeTruthy() + expect(provider2.classList.contains("wa--light")).toBeTruthy() act(() => { matchMedia.useMediaQuery(mediaQueryDark) }) - expect(provider1.classList.contains("spectrum--dark")).toBeTruthy() - expect(provider2.classList.contains("spectrum--dark")).toBeTruthy() + expect(provider1.classList.contains("wa--dark")).toBeTruthy() + expect(provider2.classList.contains("wa--dark")).toBeTruthy() }) describe("responsive styles", function () { diff --git a/libs/ui/atoms/button/docs/ActionButton.mdx b/libs/ui/atoms/button/docs/ActionButton.mdx index 19af2ea..b79090c 100644 --- a/libs/ui/atoms/button/docs/ActionButton.mdx +++ b/libs/ui/atoms/button/docs/ActionButton.mdx @@ -34,7 +34,7 @@ keywords: [action button] ## Example @@ -96,7 +96,7 @@ function Example() { ### Quiet -[View guidelines](https://spectrum.adobe.com/page/action-button/#Quiet) +[View guidelines](https://watheia.app/docs/action-button/#Quiet) ```tsx example Action! @@ -104,7 +104,7 @@ function Example() { ### Disabled -[View guidelines](https://spectrum.adobe.com/page/action-button/#Disabled) +[View guidelines](https://watheia.app/docs/action-button/#Disabled) ```tsx example Action! diff --git a/libs/ui/atoms/button/docs/Button.mdx b/libs/ui/atoms/button/docs/Button.mdx index d198468..7351c47 100644 --- a/libs/ui/atoms/button/docs/Button.mdx +++ b/libs/ui/atoms/button/docs/Button.mdx @@ -31,7 +31,7 @@ import { View } from "@watheia/app.ui.atoms.view" ## Example @@ -90,7 +90,7 @@ function Example() { ### Call to action -[View guidelines](https://spectrum.adobe.com/page/button/#Call-to-action-variant) +[View guidelines](https://watheia.app/docs/button/#Call-to-action-variant) ```tsx example @@ -98,7 +98,7 @@ function Example() { ### Primary -[View guidelines](https://spectrum.adobe.com/page/button/#Primary-variant) +[View guidelines](https://watheia.app/docs/button/#Primary-variant) ```tsx example @@ -106,7 +106,7 @@ function Example() { ### Quiet primary -[View guidelines](https://spectrum.adobe.com/page/button/#Quiet) +[View guidelines](https://watheia.app/docs/button/#Quiet) ```tsx example @@ -124,7 +124,7 @@ function Example() { ### Quiet secondary -[View guidelines](https://spectrum.adobe.com/page/button/#Quiet) +[View guidelines](https://watheia.app/docs/button/#Quiet) ```tsx example @@ -164,7 +164,7 @@ function Example() { ### Quiet negative -[View guidelines](https://spectrum.adobe.com/page/button/#Quiet) +[View guidelines](https://watheia.app/docs/button/#Quiet) ```tsx example ) diff --git a/libs/ui/atoms/button/src/ToggleButton.tsx b/libs/ui/atoms/button/src/ToggleButton.tsx index 20826d9..a0d1980 100644 --- a/libs/ui/atoms/button/src/ToggleButton.tsx +++ b/libs/ui/atoms/button/src/ToggleButton.tsx @@ -52,13 +52,13 @@ function ToggleButton(props: WaToggleButtonProps, ref: FocusableRef diff --git a/libs/ui/atoms/button/src/index.ts b/libs/ui/atoms/button/src/index.ts index 80cfb73..4245be1 100644 --- a/libs/ui/atoms/button/src/index.ts +++ b/libs/ui/atoms/button/src/index.ts @@ -11,7 +11,17 @@ */ export { default as styles } from "./styles/vars.module.css" -export * from "./@types" +export type { + AriaButtonElementTypeProps, + AriaButtonProps, + AriaToggleButtonProps, + ButtonProps, + ToggleButtonProps, + WaButtonProps, + WaActionButtonProps, + WaLogicButtonProps, + WaToggleButtonProps +} from "./@types" export * from "./Button" export * from "./ActionButton" export * from "./FieldButton" diff --git a/libs/ui/atoms/text/src/Pagagraph.tsx b/libs/ui/atoms/text/src/Pagagraph.tsx new file mode 100644 index 0000000..9f6ef4a --- /dev/null +++ b/libs/ui/atoms/text/src/Pagagraph.tsx @@ -0,0 +1,28 @@ +import React from "react" +import styles from "./styles/vars.module" +import clsx from "clsx" +import { TextProps } from "./@types" +import { CSSModule } from "@watheia/types" +// import styles from "./styles/vars.module.css" + +// const paragraphOverrides = ` +// margin-top: var(--wa-global-dimension-size-300); +// ` + +// const type ParagraphVariant = "Body" | "Body1" | "Body2" | "Body3" | "Body4" | "Body5" + +export type ParagraphProps = TextProps & { className: any; css: CSSModule; variant } + +export const Paragraph = ({ + children, + className, + css: cssOverrides, + variant: Variant, + ...props +}: ParagraphProps) => { + return ( +

+ {children} +

+ ) +} diff --git a/libs/ui/atoms/text/src/styles/vars.module.css b/libs/ui/atoms/text/src/styles/vars.module.css index e6e1471..1e5687f 100644 --- a/libs/ui/atoms/text/src/styles/vars.module.css +++ b/libs/ui/atoms/text/src/styles/vars.module.css @@ -15,846 +15,935 @@ Roboto, sans-serif; font-size: var(--wa-font-size-default, var(--wa-global-dimension-font-size-100)); } + .wa:lang(ar) { font-family: myriad-arabic, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif; } + .wa:lang(he) { font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif; } + .wa:lang(zh-Hans) { font-family: adobe-clean-han-japanese, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif; } + .wa:lang(zh) { font-family: adobe-clean-han-japanese, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif; } + .wa:lang(ko) { font-family: adobe-clean-han-japanese, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif; } + .wa:lang(ja) { font-family: adobe-clean-han-japanese, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif; } + .wa-Body1 { + margin-top: 0; + margin-bottom: 0; font-size: var(--wa-body-1-text-size, var(--wa-global-dimension-font-size-400)); - font-weight: var(--wa-body-1-text-font-weight, 400); - line-height: var(--wa-body-1-text-line-height, 1.5); font-style: var(--wa-body-1-text-font-style, normal); + font-weight: var(--wa-body-1-text-font-weight, 400); letter-spacing: var(--wa-body-1-text-letter-spacing, 0); + line-height: var(--wa-body-1-text-line-height, 1.5); text-transform: var(--wa-body-1-text-transform, none); - margin-top: 0; - margin-bottom: 0; } + .wa-Body1 em { + margin-top: 0; + margin-bottom: 0; font-size: var(--wa-body-1-emphasis-text-size, var(--wa-global-dimension-font-size-400)); - font-weight: var(--wa-body-1-emphasis-text-font-weight, 400); - line-height: var(--wa-body-1-emphasis-text-line-height, 1.5); font-style: var(--wa-body-1-emphasis-text-font-style, italic); + font-weight: var(--wa-body-1-emphasis-text-font-weight, 400); letter-spacing: var(--wa-body-1-emphasis-text-letter-spacing, 0); + line-height: var(--wa-body-1-emphasis-text-line-height, 1.5); text-transform: var(--wa-body-1-emphasis-text-transform, none); - margin-top: 0; - margin-bottom: 0; } + .wa-Body1 strong { + margin-top: 0; + margin-bottom: 0; font-size: var(--wa-body-1-strong-text-size, var(--wa-global-dimension-font-size-400)); - font-weight: var(--wa-body-1-strong-text-font-weight, 700); - line-height: var(--wa-body-1-strong-text-line-height, 1.5); font-style: var(--wa-body-1-strong-text-font-style, normal); + font-weight: var(--wa-body-1-strong-text-font-weight, 700); letter-spacing: var(--wa-body-1-strong-text-letter-spacing, 0); + line-height: var(--wa-body-1-strong-text-line-height, 1.5); text-transform: var(--wa-body-1-strong-text-transform, none); - margin-top: 0; - margin-bottom: 0; } + .wa-Body2, .wa-Body--large { + margin-top: 0; + margin-bottom: 0; font-size: var(--wa-body-2-text-size, var(--wa-global-dimension-size-225)); - font-weight: var(--wa-body-2-text-font-weight, 400); - line-height: var(--wa-body-2-text-line-height, 1.5); font-style: var(--wa-body-2-text-font-style, normal); + font-weight: var(--wa-body-2-text-font-weight, 400); letter-spacing: var(--wa-body-2-text-letter-spacing, 0); + line-height: var(--wa-body-2-text-line-height, 1.5); text-transform: var(--wa-body-2-text-transform, none); - margin-top: 0; - margin-bottom: 0; } + .wa-Body2 em, .wa-Body--large em { + margin-top: 0; + margin-bottom: 0; font-size: var(--wa-body-2-emphasis-text-size, var(--wa-global-dimension-size-225)); - font-weight: var(--wa-body-2-emphasis-text-font-weight, 400); - line-height: var(--wa-body-2-emphasis-text-line-height, 1.5); font-style: var(--wa-body-2-emphasis-text-font-style, italic); + font-weight: var(--wa-body-2-emphasis-text-font-weight, 400); letter-spacing: var(--wa-body-2-emphasis-text-letter-spacing, 0); + line-height: var(--wa-body-2-emphasis-text-line-height, 1.5); text-transform: var(--wa-body-2-emphasis-text-transform, none); - margin-top: 0; - margin-bottom: 0; } + .wa-Body2 strong, .wa-Body--large strong { + margin-top: 0; + margin-bottom: 0; font-size: var(--wa-body-2-strong-text-size, var(--wa-global-dimension-size-225)); - font-weight: var(--wa-body-2-strong-text-font-weight, 700); - line-height: var(--wa-body-2-strong-text-line-height, 1.5); font-style: var(--wa-body-2-strong-text-font-style, normal); + font-weight: var(--wa-body-2-strong-text-font-weight, 700); letter-spacing: var(--wa-body-2-strong-text-letter-spacing, 0); + line-height: var(--wa-body-2-strong-text-line-height, 1.5); text-transform: var(--wa-body-2-strong-text-transform, none); - margin-top: 0; - margin-bottom: 0; } + .wa-Body3 { + margin-top: 0; + margin-bottom: 0; font-size: var(--wa-body-3-text-size, var(--wa-global-dimension-font-size-200)); - font-weight: var(--wa-body-3-text-font-weight, 400); - line-height: var(--wa-body-3-text-line-height, 1.5); font-style: var(--wa-body-3-text-font-style, normal); + font-weight: var(--wa-body-3-text-font-weight, 400); letter-spacing: var(--wa-body-3-text-letter-spacing, 0); + line-height: var(--wa-body-3-text-line-height, 1.5); text-transform: var(--wa-body-3-text-transform, none); - margin-top: 0; - margin-bottom: 0; } + .wa-Body3 em { + margin-top: 0; + margin-bottom: 0; font-size: var(--wa-body-3-emphasis-text-size, var(--wa-global-dimension-font-size-200)); - font-weight: var(--wa-body-3-emphasis-text-font-weight, 400); - line-height: var(--wa-body-3-emphasis-text-line-height, 1.5); font-style: var(--wa-body-3-emphasis-text-font-style, italic); + font-weight: var(--wa-body-3-emphasis-text-font-weight, 400); letter-spacing: var(--wa-body-3-emphasis-text-letter-spacing, 0); + line-height: var(--wa-body-3-emphasis-text-line-height, 1.5); text-transform: var(--wa-body-3-emphasis-text-transform, none); - margin-top: 0; - margin-bottom: 0; } + .wa-Body3 strong { + margin-top: 0; + margin-bottom: 0; font-size: var(--wa-body-3-strong-text-size, var(--wa-global-dimension-font-size-200)); - font-weight: var(--wa-body-3-strong-text-font-weight, 700); - line-height: var(--wa-body-3-strong-text-line-height, 1.5); font-style: var(--wa-body-3-strong-text-font-style, normal); + font-weight: var(--wa-body-3-strong-text-font-weight, 700); letter-spacing: var(--wa-body-3-strong-text-letter-spacing, 0); + line-height: var(--wa-body-3-strong-text-line-height, 1.5); text-transform: var(--wa-body-3-strong-text-transform, none); - margin-top: 0; - margin-bottom: 0; } + .wa-Body4, .wa-Body--secondary { + margin-top: 0; + margin-bottom: 0; font-size: var(--wa-body-4-text-size, var(--wa-global-dimension-font-size-100)); - font-weight: var(--wa-body-4-text-font-weight, 400); - line-height: var(--wa-body-4-text-line-height, 1.5); font-style: var(--wa-body-4-text-font-style, normal); + font-weight: var(--wa-body-4-text-font-weight, 400); letter-spacing: var(--wa-body-4-text-letter-spacing, 0); + line-height: var(--wa-body-4-text-line-height, 1.5); text-transform: var(--wa-body-4-text-transform, none); - margin-top: 0; - margin-bottom: 0; } + .wa-Body4 em, .wa-Body--secondary em { + margin-top: 0; + margin-bottom: 0; font-size: var(--wa-body-4-emphasis-text-size, var(--wa-global-dimension-font-size-100)); - font-weight: var(--wa-body-4-emphasis-text-font-weight, 400); - line-height: var(--wa-body-4-emphasis-text-line-height, 1.5); font-style: var(--wa-body-4-emphasis-text-font-style, italic); + font-weight: var(--wa-body-4-emphasis-text-font-weight, 400); letter-spacing: var(--wa-body-4-emphasis-text-letter-spacing, 0); + line-height: var(--wa-body-4-emphasis-text-line-height, 1.5); text-transform: var(--wa-body-4-emphasis-text-transform, none); - margin-top: 0; - margin-bottom: 0; } + .wa-Body4 strong, .wa-Body--secondary strong { + margin-top: 0; + margin-bottom: 0; font-size: var(--wa-body-4-strong-text-size, var(--wa-global-dimension-font-size-100)); - font-weight: var(--wa-body-4-strong-text-font-weight, 700); - line-height: var(--wa-body-4-strong-text-line-height, 1.5); font-style: var(--wa-body-4-strong-text-font-style, normal); + font-weight: var(--wa-body-4-strong-text-font-weight, 700); letter-spacing: var(--wa-body-4-strong-text-letter-spacing, 0); + line-height: var(--wa-body-4-strong-text-line-height, 1.5); text-transform: var(--wa-body-4-strong-text-transform, none); - margin-top: 0; - margin-bottom: 0; } + .wa-Body5, .wa-Body--small { + margin-top: 0; + margin-bottom: 0; font-size: var(--wa-body-5-text-size, var(--wa-global-dimension-size-150)); - font-weight: var(--wa-body-5-text-font-weight, 400); - line-height: var(--wa-body-5-text-line-height, 1.5); font-style: var(--wa-body-5-text-font-style, normal); + font-weight: var(--wa-body-5-text-font-weight, 400); letter-spacing: var(--wa-body-5-text-letter-spacing, 0); + line-height: var(--wa-body-5-text-line-height, 1.5); text-transform: var(--wa-body-5-text-transform, none); - margin-top: 0; - margin-bottom: 0; } + .wa-Body5 em, .wa-Body--small em { + margin-top: 0; + margin-bottom: 0; font-size: var(--wa-body-5-emphasis-text-size, var(--wa-global-dimension-size-150)); - font-weight: var(--wa-body-5-emphasis-text-font-weight, 400); - line-height: var(--wa-body-5-emphasis-text-line-height, 1.5); font-style: var(--wa-body-5-emphasis-text-font-style, italic); + font-weight: var(--wa-body-5-emphasis-text-font-weight, 400); letter-spacing: var(--wa-body-5-emphasis-text-letter-spacing, 0); + line-height: var(--wa-body-5-emphasis-text-line-height, 1.5); text-transform: var(--wa-body-5-emphasis-text-transform, none); - margin-top: 0; - margin-bottom: 0; } + .wa-Body5 strong, .wa-Body--small strong { + margin-top: 0; + margin-bottom: 0; font-size: var(--wa-body-5-strong-text-size, var(--wa-global-dimension-size-150)); - font-weight: var(--wa-body-5-strong-text-font-weight, 700); - line-height: var(--wa-body-5-strong-text-line-height, 1.5); font-style: var(--wa-body-5-strong-text-font-style, normal); + font-weight: var(--wa-body-5-strong-text-font-weight, 700); letter-spacing: var(--wa-body-5-strong-text-letter-spacing, 0); + line-height: var(--wa-body-5-strong-text-line-height, 1.5); text-transform: var(--wa-body-5-strong-text-transform, none); - margin-top: 0; - margin-bottom: 0; } + .wa-Heading1 { + margin-top: 0; + margin-bottom: 0; font-size: var(--wa-heading-1-text-size, var(--wa-heading-display2-margin-top)); - font-weight: var(--wa-heading-1-text-font-weight, 700); - line-height: var(--wa-heading-1-text-line-height, 1.3); font-style: var(--wa-heading-1-text-font-style, normal); + font-weight: var(--wa-heading-1-text-font-weight, 700); letter-spacing: var(--wa-heading-1-text-letter-spacing, 0); + line-height: var(--wa-heading-1-text-line-height, 1.3); text-transform: var(--wa-heading-1-text-transform, none); - margin-top: 0; - margin-bottom: 0; } + .wa-Heading1 em { + margin-top: 0; + margin-bottom: 0; font-size: var(--wa-heading-1-emphasis-text-size, var(--wa-heading-display2-margin-top)); - font-weight: var(--wa-heading-1-emphasis-text-font-weight, 700); - line-height: var(--wa-heading-1-emphasis-text-line-height, 1.3); font-style: var(--wa-heading-1-emphasis-text-font-style, italic); + font-weight: var(--wa-heading-1-emphasis-text-font-weight, 700); letter-spacing: var(--wa-heading-1-emphasis-text-letter-spacing, 0); + line-height: var(--wa-heading-1-emphasis-text-line-height, 1.3); text-transform: var(--wa-heading-1-emphasis-text-transform, none); - margin-top: 0; - margin-bottom: 0; } + .wa-Heading1 strong { + margin-top: 0; + margin-bottom: 0; font-size: var(--wa-heading-1-strong-text-size, var(--wa-heading-display2-margin-top)); - font-weight: var(--wa-heading-1-strong-text-font-weight, 900); - line-height: var(--wa-heading-1-strong-text-line-height, 1.3); font-style: var(--wa-heading-1-strong-text-font-style, normal); + font-weight: var(--wa-heading-1-strong-text-font-weight, 900); letter-spacing: var(--wa-heading-1-strong-text-letter-spacing, 0); + line-height: var(--wa-heading-1-strong-text-line-height, 1.3); text-transform: var(--wa-heading-1-strong-text-transform, none); - margin-top: 0; - margin-bottom: 0; } + .wa-Heading2 { + margin-top: 0; + margin-bottom: 0; font-size: var(--wa-heading-2-text-size, var(--wa-heading2-text-size)); - font-weight: var(--wa-heading-2-text-font-weight, 700); - line-height: var(--wa-heading-2-text-line-height, 1.3); font-style: var(--wa-heading-2-text-font-style, normal); + font-weight: var(--wa-heading-2-text-font-weight, 700); letter-spacing: var(--wa-heading-2-text-letter-spacing, 0); + line-height: var(--wa-heading-2-text-line-height, 1.3); text-transform: var(--wa-heading-2-text-transform, none); - margin-top: 0; - margin-bottom: 0; } + .wa-Heading2 em { + margin-top: 0; + margin-bottom: 0; font-size: var(--wa-heading-2-emphasis-text-size, var(--wa-heading2-text-size)); - font-weight: var(--wa-heading-2-emphasis-text-font-weight, 700); - line-height: var(--wa-heading-2-emphasis-text-line-height, 1.3); font-style: var(--wa-heading-2-emphasis-text-font-style, italic); + font-weight: var(--wa-heading-2-emphasis-text-font-weight, 700); letter-spacing: var(--wa-heading-2-emphasis-text-letter-spacing, 0); + line-height: var(--wa-heading-2-emphasis-text-line-height, 1.3); text-transform: var(--wa-heading-2-emphasis-text-transform, none); - margin-top: 0; - margin-bottom: 0; } + .wa-Heading2 strong { + margin-top: 0; + margin-bottom: 0; font-size: var(--wa-heading-2-strong-text-size, var(--wa-heading2-text-size)); - font-weight: var(--wa-heading-2-strong-text-font-weight, 900); - line-height: var(--wa-heading-2-strong-text-line-height, 1.3); font-style: var(--wa-heading-2-strong-text-font-style, normal); + font-weight: var(--wa-heading-2-strong-text-font-weight, 900); letter-spacing: var(--wa-heading-2-strong-text-letter-spacing, 0); + line-height: var(--wa-heading-2-strong-text-line-height, 1.3); text-transform: var(--wa-heading-2-strong-text-transform, none); - margin-top: 0; - margin-bottom: 0; } + .wa-Heading3 { + margin-top: 0; + margin-bottom: 0; font-size: var(--wa-heading-3-text-size, var(--wa-heading3-text-size)); - font-weight: var(--wa-heading-3-text-font-weight, 700); - line-height: var(--wa-heading-3-text-line-height, 1.3); font-style: var(--wa-heading-3-text-font-style, normal); + font-weight: var(--wa-heading-3-text-font-weight, 700); letter-spacing: var(--wa-heading-3-text-letter-spacing, 0); + line-height: var(--wa-heading-3-text-line-height, 1.3); text-transform: var(--wa-heading-3-text-transform, none); - margin-top: 0; - margin-bottom: 0; } + .wa-Heading3 em { + margin-top: 0; + margin-bottom: 0; font-size: var(--wa-heading-3-emphasis-text-size, var(--wa-heading3-text-size)); - font-weight: var(--wa-heading-3-emphasis-text-font-weight, 700); - line-height: var(--wa-heading-3-emphasis-text-line-height, 1.3); font-style: var(--wa-heading-3-emphasis-text-font-style, italic); + font-weight: var(--wa-heading-3-emphasis-text-font-weight, 700); letter-spacing: var(--wa-heading-3-emphasis-text-letter-spacing, 0); + line-height: var(--wa-heading-3-emphasis-text-line-height, 1.3); text-transform: var(--wa-heading-3-emphasis-text-transform, none); - margin-top: 0; - margin-bottom: 0; } + .wa-Heading3 strong { + margin-top: 0; + margin-bottom: 0; font-size: var(--wa-heading-3-strong-text-size, var(--wa-heading3-text-size)); - font-weight: var(--wa-heading-3-strong-text-font-weight, 900); - line-height: var(--wa-heading-3-strong-text-line-height, 1.3); font-style: var(--wa-heading-3-strong-text-font-style, normal); + font-weight: var(--wa-heading-3-strong-text-font-weight, 900); letter-spacing: var(--wa-heading-3-strong-text-letter-spacing, 0); + line-height: var(--wa-heading-3-strong-text-line-height, 1.3); text-transform: var(--wa-heading-3-strong-text-transform, none); - margin-top: 0; - margin-bottom: 0; } + .wa-Heading4, .wa-Heading--subtitle1 { + margin-top: 0; + margin-bottom: 0; font-size: var(--wa-heading-4-text-size, var(--wa-global-dimension-size-225)); - font-weight: var(--wa-heading-4-text-font-weight, 700); - line-height: var(--wa-heading-4-text-line-height, 1.3); font-style: var(--wa-heading-4-text-font-style, normal); + font-weight: var(--wa-heading-4-text-font-weight, 700); letter-spacing: var(--wa-heading-4-text-letter-spacing, 0); + line-height: var(--wa-heading-4-text-line-height, 1.3); text-transform: var(--wa-heading-4-text-transform, none); - margin-top: 0; - margin-bottom: 0; } + .wa-Heading4 em, .wa-Heading--subtitle1 em { + margin-top: 0; + margin-bottom: 0; font-size: var(--wa-heading-4-emphasis-text-size, var(--wa-global-dimension-size-225)); - font-weight: var(--wa-heading-4-emphasis-text-font-weight, 700); - line-height: var(--wa-heading-4-emphasis-text-line-height, 1.3); font-style: var(--wa-heading-4-emphasis-text-font-style, italic); + font-weight: var(--wa-heading-4-emphasis-text-font-weight, 700); letter-spacing: var(--wa-heading-4-emphasis-text-letter-spacing, 0); + line-height: var(--wa-heading-4-emphasis-text-line-height, 1.3); text-transform: var(--wa-heading-4-emphasis-text-transform, none); - margin-top: 0; - margin-bottom: 0; } + .wa-Heading4 strong, .wa-Heading--subtitle1 strong { + margin-top: 0; + margin-bottom: 0; font-size: var(--wa-heading-4-strong-text-size, var(--wa-global-dimension-size-225)); - font-weight: var(--wa-heading-4-strong-text-font-weight, 900); - line-height: var(--wa-heading-4-strong-text-line-height, 1.3); font-style: var(--wa-heading-4-strong-text-font-style, normal); + font-weight: var(--wa-heading-4-strong-text-font-weight, 900); letter-spacing: var(--wa-heading-4-strong-text-letter-spacing, 0); + line-height: var(--wa-heading-4-strong-text-line-height, 1.3); text-transform: var(--wa-heading-4-strong-text-transform, none); - margin-top: 0; - margin-bottom: 0; } + .wa-Heading5 { + margin-top: 0; + margin-bottom: 0; font-size: var(--wa-heading-5-text-size, var(--wa-global-dimension-font-size-200)); - font-weight: var(--wa-heading-5-text-font-weight, 700); - line-height: var(--wa-heading-5-text-line-height, 1.3); font-style: var(--wa-heading-5-text-font-style, normal); + font-weight: var(--wa-heading-5-text-font-weight, 700); letter-spacing: var(--wa-heading-5-text-letter-spacing, 0); + line-height: var(--wa-heading-5-text-line-height, 1.3); text-transform: var(--wa-heading-5-text-transform, none); - margin-top: 0; - margin-bottom: 0; } + .wa-Heading5 em { + margin-top: 0; + margin-bottom: 0; font-size: var( --wa-heading-5-emphasis-text-size, var(--wa-global-dimension-font-size-200) ); - font-weight: var(--wa-heading-5-emphasis-text-font-weight, 700); - line-height: var(--wa-heading-5-emphasis-text-line-height, 1.3); font-style: var(--wa-heading-5-emphasis-text-font-style, italic); + font-weight: var(--wa-heading-5-emphasis-text-font-weight, 700); letter-spacing: var(--wa-heading-5-emphasis-text-letter-spacing, 0); + line-height: var(--wa-heading-5-emphasis-text-line-height, 1.3); text-transform: var(--wa-heading-5-emphasis-text-transform, none); - margin-top: 0; - margin-bottom: 0; } + .wa-Heading5 strong { + margin-top: 0; + margin-bottom: 0; font-size: var(--wa-heading-5-strong-text-size, var(--wa-global-dimension-font-size-200)); - font-weight: var(--wa-heading-5-strong-text-font-weight, 900); - line-height: var(--wa-heading-5-strong-text-line-height, 1.3); font-style: var(--wa-heading-5-strong-text-font-style, normal); + font-weight: var(--wa-heading-5-strong-text-font-weight, 900); letter-spacing: var(--wa-heading-5-strong-text-letter-spacing, 0); + line-height: var(--wa-heading-5-strong-text-line-height, 1.3); text-transform: var(--wa-heading-5-strong-text-transform, none); - margin-top: 0; - margin-bottom: 0; } + .wa-Heading6, .wa-Heading--subtitle2 { + margin-top: 0; + margin-bottom: 0; font-size: var(--wa-heading-6-text-size, var(--wa-global-dimension-font-size-100)); - font-weight: var(--wa-heading-6-text-font-weight, 700); - line-height: var(--wa-heading-6-text-line-height, 1.3); font-style: var(--wa-heading-6-text-font-style, normal); + font-weight: var(--wa-heading-6-text-font-weight, 700); letter-spacing: var(--wa-heading-6-text-letter-spacing, 0); + line-height: var(--wa-heading-6-text-line-height, 1.3); text-transform: var(--wa-heading-6-text-transform, none); - margin-top: 0; - margin-bottom: 0; } + .wa-Heading6 em, .wa-Heading--subtitle2 em { + margin-top: 0; + margin-bottom: 0; font-size: var( --wa-heading-6-emphasis-text-size, var(--wa-global-dimension-font-size-100) ); - font-weight: var(--wa-heading-6-emphasis-text-font-weight, 700); - line-height: var(--wa-heading-6-emphasis-text-line-height, 1.3); font-style: var(--wa-heading-6-emphasis-text-font-style, italic); + font-weight: var(--wa-heading-6-emphasis-text-font-weight, 700); letter-spacing: var(--wa-heading-6-emphasis-text-letter-spacing, 0); + line-height: var(--wa-heading-6-emphasis-text-line-height, 1.3); text-transform: var(--wa-heading-6-emphasis-text-transform, none); - margin-top: 0; - margin-bottom: 0; } + .wa-Heading6 strong, .wa-Heading--subtitle2 strong { + margin-top: 0; + margin-bottom: 0; font-size: var(--wa-heading-6-strong-text-size, var(--wa-global-dimension-font-size-100)); - font-weight: var(--wa-heading-6-strong-text-font-weight, 900); - line-height: var(--wa-heading-6-strong-text-line-height, 1.3); font-style: var(--wa-heading-6-strong-text-font-style, normal); + font-weight: var(--wa-heading-6-strong-text-font-weight, 900); letter-spacing: var(--wa-heading-6-strong-text-letter-spacing, 0); + line-height: var(--wa-heading-6-strong-text-line-height, 1.3); text-transform: var(--wa-heading-6-strong-text-transform, none); - margin-top: 0; - margin-bottom: 0; } + .wa-Subheading, .wa-Heading--subtitle3 { + margin-top: 0; + margin-bottom: 0; font-size: var(--wa-subheading-text-size, var(--wa-global-dimension-font-size-50)); - font-weight: var(--wa-subheading-text-font-weight, 700); - line-height: var(--wa-subheading-text-line-height, 1.3); font-style: var(--wa-subheading-text-font-style, normal); + font-weight: var(--wa-subheading-text-font-weight, 700); letter-spacing: var(--wa-subheading-text-letter-spacing, 0.06em); + line-height: var(--wa-subheading-text-line-height, 1.3); text-transform: var(--wa-subheading-text-transform, uppercase); - margin-top: 0; - margin-bottom: 0; } + .wa-Subheading em, .wa-Heading--subtitle3 em { + margin-top: 0; + margin-bottom: 0; font-size: var( --wa-subheading-emphasis-text-size, var(--wa-global-dimension-font-size-50) ); - font-weight: var(--wa-subheading-emphasis-text-font-weight, 700); - line-height: var(--wa-subheading-emphasis-text-line-height, 1.3); font-style: var(--wa-subheading-emphasis-text-font-style, italic); + font-weight: var(--wa-subheading-emphasis-text-font-weight, 700); letter-spacing: var(--wa-subheading-emphasis-text-letter-spacing, 0.06em); + line-height: var(--wa-subheading-emphasis-text-line-height, 1.3); text-transform: var(--wa-subheading-emphasis-text-transform, uppercase); - margin-top: 0; - margin-bottom: 0; } + .wa-Subheading strong, .wa-Heading--subtitle3 strong { + margin-top: 0; + margin-bottom: 0; font-size: var(--wa-subheading-strong-text-size, var(--wa-global-dimension-font-size-50)); - font-weight: var(--wa-subheading-strong-text-font-weight, 900); - line-height: var(--wa-subheading-strong-text-line-height, 1.3); font-style: var(--wa-subheading-strong-text-font-style, normal); + font-weight: var(--wa-subheading-strong-text-font-weight, 900); letter-spacing: var(--wa-subheading-strong-text-letter-spacing, 0.06em); + line-height: var(--wa-subheading-strong-text-line-height, 1.3); text-transform: var(--wa-subheading-strong-text-transform, uppercase); - margin-top: 0; - margin-bottom: 0; } + .wa-Detail { + margin-top: 0; + margin-bottom: 0; font-size: var(--wa-detail-text-size, var(--wa-global-dimension-font-size-50)); - font-weight: var(--wa-detail-text-font-weight, 400); - line-height: var(--wa-detail-text-line-height, 1.5); font-style: var(--wa-detail-text-font-style, normal); + font-weight: var(--wa-detail-text-font-weight, 400); letter-spacing: var(--wa-detail-text-letter-spacing, 0.06em); + line-height: var(--wa-detail-text-line-height, 1.5); text-transform: var(--wa-detail-text-transform, uppercase); - margin-top: 0; - margin-bottom: 0; } + .wa-Detail em { + margin-top: 0; + margin-bottom: 0; font-size: var(--wa-detail-emphasis-text-size, var(--wa-global-dimension-font-size-50)); - font-weight: var(--wa-detail-emphasis-text-font-weight, 400); - line-height: var(--wa-detail-emphasis-text-line-height, 1.5); font-style: var(--wa-detail-emphasis-text-font-style, italic); + font-weight: var(--wa-detail-emphasis-text-font-weight, 400); letter-spacing: var(--wa-detail-emphasis-text-letter-spacing, 0.06em); + line-height: var(--wa-detail-emphasis-text-line-height, 1.5); text-transform: var(--wa-detail-emphasis-text-transform, uppercase); - margin-top: 0; - margin-bottom: 0; } + .wa-Detail strong { + margin-top: 0; + margin-bottom: 0; font-size: var(--wa-detail-strong-text-size, var(--wa-global-dimension-font-size-50)); - font-weight: var(--wa-detail-strong-text-font-weight, 700); - line-height: var(--wa-detail-strong-text-line-height, 1.5); font-style: var(--wa-detail-strong-text-font-style, normal); + font-weight: var(--wa-detail-strong-text-font-weight, 700); letter-spacing: var(--wa-detail-strong-text-letter-spacing, 0.06em); + line-height: var(--wa-detail-strong-text-line-height, 1.5); text-transform: var(--wa-detail-strong-text-transform, uppercase); - margin-top: 0; - margin-bottom: 0; } + .wa-Heading1--quiet { + margin-top: 0; + margin-bottom: 0; font-size: var(--wa-heading-quiet-1-text-size, var(--wa-heading-display2-margin-top)); - font-weight: var(--wa-heading-quiet-1-text-font-weight, 300); - line-height: var(--wa-heading-quiet-1-text-line-height, 1.3); font-style: var(--wa-heading-quiet-1-text-font-style, normal); + font-weight: var(--wa-heading-quiet-1-text-font-weight, 300); letter-spacing: var(--wa-heading-quiet-1-text-letter-spacing, 0); + line-height: var(--wa-heading-quiet-1-text-line-height, 1.3); text-transform: var(--wa-heading-quiet-1-text-transform, none); - margin-top: 0; - margin-bottom: 0; } + .wa-Heading1--quiet em { + margin-top: 0; + margin-bottom: 0; font-size: var( --wa-heading-quiet-1-emphasis-text-size, var(--wa-heading-display2-margin-top) ); - font-weight: var(--wa-heading-quiet-1-emphasis-text-font-weight, 300); - line-height: var(--wa-heading-quiet-1-emphasis-text-line-height, 1.3); font-style: var(--wa-heading-quiet-1-emphasis-text-font-style, italic); + font-weight: var(--wa-heading-quiet-1-emphasis-text-font-weight, 300); letter-spacing: var(--wa-heading-quiet-1-emphasis-text-letter-spacing, 0); + line-height: var(--wa-heading-quiet-1-emphasis-text-line-height, 1.3); text-transform: var(--wa-heading-quiet-1-emphasis-text-transform, none); - margin-top: 0; - margin-bottom: 0; } + .wa-Heading1--quiet strong { + margin-top: 0; + margin-bottom: 0; font-size: var( --wa-heading-quiet-1-strong-text-size, var(--wa-heading-display2-margin-top) ); - font-weight: var(--wa-heading-quiet-1-strong-text-font-weight, 700); - line-height: var(--wa-heading-quiet-1-strong-text-line-height, 1.3); font-style: var(--wa-heading-quiet-1-strong-text-font-style, normal); + font-weight: var(--wa-heading-quiet-1-strong-text-font-weight, 700); letter-spacing: var(--wa-heading-quiet-1-strong-text-letter-spacing, 0); + line-height: var(--wa-heading-quiet-1-strong-text-line-height, 1.3); text-transform: var(--wa-heading-quiet-1-strong-text-transform, none); - margin-top: 0; - margin-bottom: 0; } + .wa-Heading2--quiet, .wa-Heading--pageTitle { + margin-top: 0; + margin-bottom: 0; font-size: var(--wa-heading-quiet-2-text-size, var(--wa-heading2-text-size)); - font-weight: var(--wa-heading-quiet-2-text-font-weight, 300); - line-height: var(--wa-heading-quiet-2-text-line-height, 1.3); font-style: var(--wa-heading-quiet-2-text-font-style, normal); + font-weight: var(--wa-heading-quiet-2-text-font-weight, 300); letter-spacing: var(--wa-heading-quiet-2-text-letter-spacing, 0); + line-height: var(--wa-heading-quiet-2-text-line-height, 1.3); text-transform: var(--wa-heading-quiet-2-text-transform, none); - margin-top: 0; - margin-bottom: 0; } + .wa-Heading2--quiet em, .wa-Heading--pageTitle em { + margin-top: 0; + margin-bottom: 0; font-size: var(--wa-heading-quiet-2-emphasis-text-size, var(--wa-heading2-text-size)); - font-weight: var(--wa-heading-quiet-2-emphasis-text-font-weight, 300); - line-height: var(--wa-heading-quiet-2-emphasis-text-line-height, 1.3); font-style: var(--wa-heading-quiet-2-emphasis-text-font-style, italic); + font-weight: var(--wa-heading-quiet-2-emphasis-text-font-weight, 300); letter-spacing: var(--wa-heading-quiet-2-emphasis-text-letter-spacing, 0); + line-height: var(--wa-heading-quiet-2-emphasis-text-line-height, 1.3); text-transform: var(--wa-heading-quiet-2-emphasis-text-transform, none); - margin-top: 0; - margin-bottom: 0; } + .wa-Heading2--quiet strong, .wa-Heading--pageTitle strong { + margin-top: 0; + margin-bottom: 0; font-size: var(--wa-heading-quiet-2-strong-text-size, var(--wa-heading2-text-size)); - font-weight: var(--wa-heading-quiet-2-strong-text-font-weight, 700); - line-height: var(--wa-heading-quiet-2-strong-text-line-height, 1.3); font-style: var(--wa-heading-quiet-2-strong-text-font-style, normal); + font-weight: var(--wa-heading-quiet-2-strong-text-font-weight, 700); letter-spacing: var(--wa-heading-quiet-2-strong-text-letter-spacing, 0); + line-height: var(--wa-heading-quiet-2-strong-text-line-height, 1.3); text-transform: var(--wa-heading-quiet-2-strong-text-transform, none); - margin-top: 0; - margin-bottom: 0; } + .wa-Heading1--strong { + margin-top: 0; + margin-bottom: 0; font-size: var(--wa-heading-strong-1-text-size, var(--wa-heading-display2-margin-top)); - font-weight: var(--wa-heading-strong-1-text-font-weight, 900); - line-height: var(--wa-heading-strong-1-text-line-height, 1.3); font-style: var(--wa-heading-strong-1-text-font-style, normal); + font-weight: var(--wa-heading-strong-1-text-font-weight, 900); letter-spacing: var(--wa-heading-strong-1-text-letter-spacing, 0); + line-height: var(--wa-heading-strong-1-text-line-height, 1.3); text-transform: var(--wa-heading-strong-1-text-transform, none); - margin-top: 0; - margin-bottom: 0; } + .wa-Heading1--strong em { + margin-top: 0; + margin-bottom: 0; font-size: var( --wa-heading-strong-1-emphasis-text-size, var(--wa-heading-display2-margin-top) ); - font-weight: var(--wa-heading-strong-1-emphasis-text-font-weight, 900); - line-height: var(--wa-heading-strong-1-emphasis-text-line-height, 1.3); font-style: var(--wa-heading-strong-1-emphasis-text-font-style, italic); + font-weight: var(--wa-heading-strong-1-emphasis-text-font-weight, 900); letter-spacing: var(--wa-heading-strong-1-emphasis-text-letter-spacing, 0); + line-height: var(--wa-heading-strong-1-emphasis-text-line-height, 1.3); text-transform: var(--wa-heading-strong-1-emphasis-text-transform, none); - margin-top: 0; - margin-bottom: 0; } + .wa-Heading1--strong strong { + margin-top: 0; + margin-bottom: 0; font-size: var( --wa-heading-strong-1-strong-text-size, var(--wa-heading-display2-margin-top) ); - font-weight: var(--wa-heading-strong-1-strong-text-font-weight, 900); - line-height: var(--wa-heading-strong-1-strong-text-line-height, 1.3); font-style: var(--wa-heading-strong-1-strong-text-font-style, normal); + font-weight: var(--wa-heading-strong-1-strong-text-font-weight, 900); letter-spacing: var(--wa-heading-strong-1-strong-text-letter-spacing, 0); + line-height: var(--wa-heading-strong-1-strong-text-line-height, 1.3); text-transform: var(--wa-heading-strong-1-strong-text-transform, none); - margin-top: 0; - margin-bottom: 0; } + .wa-Heading2--strong { + margin-top: 0; + margin-bottom: 0; font-size: var(--wa-heading-strong-2-text-size, var(--wa-heading2-text-size)); - font-weight: var(--wa-heading-strong-2-text-font-weight, 900); - line-height: var(--wa-heading-strong-2-text-line-height, 1.3); font-style: var(--wa-heading-strong-2-text-font-style, normal); + font-weight: var(--wa-heading-strong-2-text-font-weight, 900); letter-spacing: var(--wa-heading-strong-2-text-letter-spacing, 0); + line-height: var(--wa-heading-strong-2-text-line-height, 1.3); text-transform: var(--wa-heading-strong-2-text-transform, none); - margin-top: 0; - margin-bottom: 0; } + .wa-Heading2--strong em { + margin-top: 0; + margin-bottom: 0; font-size: var(--wa-heading-strong-2-emphasis-text-size, var(--wa-heading2-text-size)); - font-weight: var(--wa-heading-strong-2-emphasis-text-font-weight, 900); - line-height: var(--wa-heading-strong-2-emphasis-text-line-height, 1.3); font-style: var(--wa-heading-strong-2-emphasis-text-font-style, italic); + font-weight: var(--wa-heading-strong-2-emphasis-text-font-weight, 900); letter-spacing: var(--wa-heading-strong-2-emphasis-text-letter-spacing, 0); + line-height: var(--wa-heading-strong-2-emphasis-text-line-height, 1.3); text-transform: var(--wa-heading-strong-2-emphasis-text-transform, none); - margin-top: 0; - margin-bottom: 0; } + .wa-Heading2--strong strong { + margin-top: 0; + margin-bottom: 0; font-size: var(--wa-heading-strong-2-strong-text-size, var(--wa-heading2-text-size)); - font-weight: var(--wa-heading-strong-2-strong-text-font-weight, 900); - line-height: var(--wa-heading-strong-2-strong-text-line-height, 1.3); font-style: var(--wa-heading-strong-2-strong-text-font-style, normal); + font-weight: var(--wa-heading-strong-2-strong-text-font-weight, 900); letter-spacing: var(--wa-heading-strong-2-strong-text-letter-spacing, 0); + line-height: var(--wa-heading-strong-2-strong-text-line-height, 1.3); text-transform: var(--wa-heading-strong-2-strong-text-transform, none); - margin-top: 0; - margin-bottom: 0; } + .wa-Heading1--display { + margin-top: 0; + margin-bottom: 0; font-size: var(--wa-display-1-text-size, var(--wa-heading-display1-text-size)); - font-weight: var(--wa-display-1-text-font-weight, 700); - line-height: var(--wa-display-1-text-line-height, 1.3); font-style: var(--wa-display-1-text-font-style, normal); + font-weight: var(--wa-display-1-text-font-weight, 700); letter-spacing: var(--wa-display-1-text-letter-spacing, 0); + line-height: var(--wa-display-1-text-line-height, 1.3); text-transform: var(--wa-display-1-text-transform, none); - margin-top: 0; - margin-bottom: 0; } + .wa-Heading1--display em { + margin-top: 0; + margin-bottom: 0; font-size: var(--wa-display-1-emphasis-text-size, var(--wa-heading-display1-text-size)); - font-weight: var(--wa-display-1-emphasis-text-font-weight, 700); - line-height: var(--wa-display-1-emphasis-text-line-height, 1.3); font-style: var(--wa-display-1-emphasis-text-font-style, italic); + font-weight: var(--wa-display-1-emphasis-text-font-weight, 700); letter-spacing: var(--wa-display-1-emphasis-text-letter-spacing, 0); + line-height: var(--wa-display-1-emphasis-text-line-height, 1.3); text-transform: var(--wa-display-1-emphasis-text-transform, none); - margin-top: 0; - margin-bottom: 0; } + .wa-Heading1--display strong { + margin-top: 0; + margin-bottom: 0; font-size: var(--wa-display-1-strong-text-size, var(--wa-heading-display1-text-size)); - font-weight: var(--wa-display-1-strong-text-font-weight, 900); - line-height: var(--wa-display-1-strong-text-line-height, 1.3); font-style: var(--wa-display-1-strong-text-font-style, normal); + font-weight: var(--wa-display-1-strong-text-font-weight, 900); letter-spacing: var(--wa-display-1-strong-text-letter-spacing, 0); + line-height: var(--wa-display-1-strong-text-line-height, 1.3); text-transform: var(--wa-display-1-strong-text-transform, none); - margin-top: 0; - margin-bottom: 0; } + .wa-Heading2--display { + margin-top: 0; + margin-bottom: 0; font-size: var(--wa-display-2-text-size, var(--wa-heading-display1-margin-top)); - font-weight: var(--wa-display-2-text-font-weight, 700); - line-height: var(--wa-display-2-text-line-height, 1.3); font-style: var(--wa-display-2-text-font-style, normal); + font-weight: var(--wa-display-2-text-font-weight, 700); letter-spacing: var(--wa-display-2-text-letter-spacing, 0); + line-height: var(--wa-display-2-text-line-height, 1.3); text-transform: var(--wa-display-2-text-transform, none); - margin-top: 0; - margin-bottom: 0; } + .wa-Heading2--display em { + margin-top: 0; + margin-bottom: 0; font-size: var(--wa-display-2-emphasis-text-size, var(--wa-heading-display1-margin-top)); - font-weight: var(--wa-display-2-emphasis-text-font-weight, 700); - line-height: var(--wa-display-2-emphasis-text-line-height, 1.3); font-style: var(--wa-display-2-emphasis-text-font-style, italic); + font-weight: var(--wa-display-2-emphasis-text-font-weight, 700); letter-spacing: var(--wa-display-2-emphasis-text-letter-spacing, 0); + line-height: var(--wa-display-2-emphasis-text-line-height, 1.3); text-transform: var(--wa-display-2-emphasis-text-transform, none); - margin-top: 0; - margin-bottom: 0; } + .wa-Heading2--display strong { + margin-top: 0; + margin-bottom: 0; font-size: var(--wa-display-2-strong-text-size, var(--wa-heading-display1-margin-top)); - font-weight: var(--wa-display-2-strong-text-font-weight, 900); - line-height: var(--wa-display-2-strong-text-line-height, 1.3); font-style: var(--wa-display-2-strong-text-font-style, normal); + font-weight: var(--wa-display-2-strong-text-font-weight, 900); letter-spacing: var(--wa-display-2-strong-text-letter-spacing, 0); + line-height: var(--wa-display-2-strong-text-line-height, 1.3); text-transform: var(--wa-display-2-strong-text-transform, none); - margin-top: 0; - margin-bottom: 0; } + .wa-Heading1--display.wa-Heading1--strong { + margin-top: 0; + margin-bottom: 0; font-size: var(--wa-display-strong-1-text-size, var(--wa-heading-display1-text-size)); - font-weight: var(--wa-display-strong-1-text-font-weight, 900); - line-height: var(--wa-display-strong-1-text-line-height, 1.3); font-style: var(--wa-display-strong-1-text-font-style, normal); + font-weight: var(--wa-display-strong-1-text-font-weight, 900); letter-spacing: var(--wa-display-strong-1-text-letter-spacing, 0); + line-height: var(--wa-display-strong-1-text-line-height, 1.3); text-transform: var(--wa-display-strong-1-text-transform, none); - margin-top: 0; - margin-bottom: 0; } + .wa-Heading1--display.wa-Heading1--strong em { + margin-top: 0; + margin-bottom: 0; font-size: var( --wa-display-strong-1-emphasis-text-size, var(--wa-heading-display1-text-size) ); - font-weight: var(--wa-display-strong-1-emphasis-text-font-weight, 900); - line-height: var(--wa-display-strong-1-emphasis-text-line-height, 1.3); font-style: var(--wa-display-strong-1-emphasis-text-font-style, italic); + font-weight: var(--wa-display-strong-1-emphasis-text-font-weight, 900); letter-spacing: var(--wa-display-strong-1-emphasis-text-letter-spacing, 0); + line-height: var(--wa-display-strong-1-emphasis-text-line-height, 1.3); text-transform: var(--wa-display-strong-1-emphasis-text-transform, none); - margin-top: 0; - margin-bottom: 0; } + .wa-Heading1--display.wa-Heading1--strong strong { + margin-top: 0; + margin-bottom: 0; font-size: var( --wa-display-strong-1-strong-text-size, var(--wa-heading-display1-text-size) ); - font-weight: var(--wa-display-strong-1-strong-text-font-weight, 900); - line-height: var(--wa-display-strong-1-strong-text-line-height, 1.3); font-style: var(--wa-display-strong-1-strong-text-font-style, normal); + font-weight: var(--wa-display-strong-1-strong-text-font-weight, 900); letter-spacing: var(--wa-display-strong-1-strong-text-letter-spacing, 0); + line-height: var(--wa-display-strong-1-strong-text-line-height, 1.3); text-transform: var(--wa-display-strong-1-strong-text-transform, none); - margin-top: 0; - margin-bottom: 0; } + .wa-Heading2--display.wa-Heading2--strong { + margin-top: 0; + margin-bottom: 0; font-size: var(--wa-display-strong-2-text-size, var(--wa-heading-display1-margin-top)); - font-weight: var(--wa-display-strong-2-text-font-weight, 900); - line-height: var(--wa-display-strong-2-text-line-height, 1.3); font-style: var(--wa-display-strong-2-text-font-style, normal); + font-weight: var(--wa-display-strong-2-text-font-weight, 900); letter-spacing: var(--wa-display-strong-2-text-letter-spacing, 0); + line-height: var(--wa-display-strong-2-text-line-height, 1.3); text-transform: var(--wa-display-strong-2-text-transform, none); - margin-top: 0; - margin-bottom: 0; } + .wa-Heading2--display.wa-Heading2--strong em { + margin-top: 0; + margin-bottom: 0; font-size: var( --wa-display-strong-2-emphasis-text-size, var(--wa-heading-display1-margin-top) ); - font-weight: var(--wa-display-strong-2-emphasis-text-font-weight, 900); - line-height: var(--wa-display-strong-2-emphasis-text-line-height, 1.3); font-style: var(--wa-display-strong-2-emphasis-text-font-style, italic); + font-weight: var(--wa-display-strong-2-emphasis-text-font-weight, 900); letter-spacing: var(--wa-display-strong-2-emphasis-text-letter-spacing, 0); + line-height: var(--wa-display-strong-2-emphasis-text-line-height, 1.3); text-transform: var(--wa-display-strong-2-emphasis-text-transform, none); - margin-top: 0; - margin-bottom: 0; } + .wa-Heading2--display.wa-Heading2--strong strong { + margin-top: 0; + margin-bottom: 0; font-size: var( --wa-display-strong-2-strong-text-size, var(--wa-heading-display1-margin-top) ); - font-weight: var(--wa-display-strong-2-strong-text-font-weight, 900); - line-height: var(--wa-display-strong-2-strong-text-line-height, 1.3); font-style: var(--wa-display-strong-2-strong-text-font-style, normal); + font-weight: var(--wa-display-strong-2-strong-text-font-weight, 900); letter-spacing: var(--wa-display-strong-2-strong-text-letter-spacing, 0); + line-height: var(--wa-display-strong-2-strong-text-line-height, 1.3); text-transform: var(--wa-display-strong-2-strong-text-transform, none); - margin-top: 0; - margin-bottom: 0; } + .wa-Heading1--display.wa-Heading1--quiet { + margin-top: 0; + margin-bottom: 0; font-size: var(--wa-display-quiet-1-text-size, var(--wa-heading-display1-text-size)); - font-weight: var(--wa-display-quiet-1-text-font-weight, 300); - line-height: var(--wa-display-quiet-1-text-line-height, 1.3); font-style: var(--wa-display-quiet-1-text-font-style, normal); + font-weight: var(--wa-display-quiet-1-text-font-weight, 300); letter-spacing: var(--wa-display-quiet-1-text-letter-spacing, 0); + line-height: var(--wa-display-quiet-1-text-line-height, 1.3); text-transform: var(--wa-display-quiet-1-text-transform, none); - margin-top: 0; - margin-bottom: 0; } + .wa-Heading1--display.wa-Heading1--quiet em { + margin-top: 0; + margin-bottom: 0; font-size: var( --wa-display-quiet-1-emphasis-text-size, var(--wa-heading-display1-text-size) ); - font-weight: var(--wa-display-quiet-1-emphasis-text-font-weight, 300); - line-height: var(--wa-display-quiet-1-emphasis-text-line-height, 1.3); font-style: var(--wa-display-quiet-1-emphasis-text-font-style, italic); + font-weight: var(--wa-display-quiet-1-emphasis-text-font-weight, 300); letter-spacing: var(--wa-display-quiet-1-emphasis-text-letter-spacing, 0); + line-height: var(--wa-display-quiet-1-emphasis-text-line-height, 1.3); text-transform: var(--wa-display-quiet-1-emphasis-text-transform, none); - margin-top: 0; - margin-bottom: 0; } + .wa-Heading1--display.wa-Heading1--quiet strong { + margin-top: 0; + margin-bottom: 0; font-size: var( --wa-display-quiet-1-strong-text-size, var(--wa-heading-display1-text-size) ); - font-weight: var(--wa-display-quiet-1-strong-text-font-weight, 700); - line-height: var(--wa-display-quiet-1-strong-text-line-height, 1.3); font-style: var(--wa-display-quiet-1-strong-text-font-style, normal); + font-weight: var(--wa-display-quiet-1-strong-text-font-weight, 700); letter-spacing: var(--wa-display-quiet-1-strong-text-letter-spacing, 0); + line-height: var(--wa-display-quiet-1-strong-text-line-height, 1.3); text-transform: var(--wa-display-quiet-1-strong-text-transform, none); - margin-top: 0; - margin-bottom: 0; } + .wa-Heading2--display.wa-Heading2--quiet, .wa-Heading--display { + margin-top: 0; + margin-bottom: 0; font-size: var(--wa-display-quiet-2-text-size, var(--wa-heading-display1-margin-top)); - font-weight: var(--wa-display-quiet-2-text-font-weight, 300); - line-height: var(--wa-display-quiet-2-text-line-height, 1.3); font-style: var(--wa-display-quiet-2-text-font-style, normal); + font-weight: var(--wa-display-quiet-2-text-font-weight, 300); letter-spacing: var(--wa-display-quiet-2-text-letter-spacing, 0); + line-height: var(--wa-display-quiet-2-text-line-height, 1.3); text-transform: var(--wa-display-quiet-2-text-transform, none); - margin-top: 0; - margin-bottom: 0; } + .wa-Heading2--display.wa-Heading2--quiet em, .wa-Heading--display em { + margin-top: 0; + margin-bottom: 0; font-size: var( --wa-display-quiet-2-emphasis-text-size, var(--wa-heading-display1-margin-top) ); - font-weight: var(--wa-display-quiet-2-emphasis-text-font-weight, 300); - line-height: var(--wa-display-quiet-2-emphasis-text-line-height, 1.3); font-style: var(--wa-display-quiet-2-emphasis-text-font-style, italic); + font-weight: var(--wa-display-quiet-2-emphasis-text-font-weight, 300); letter-spacing: var(--wa-display-quiet-2-emphasis-text-letter-spacing, 0); + line-height: var(--wa-display-quiet-2-emphasis-text-line-height, 1.3); text-transform: var(--wa-display-quiet-2-emphasis-text-transform, none); - margin-top: 0; - margin-bottom: 0; } + .wa-Heading2--display.wa-Heading2--quiet strong, .wa-Heading--display strong { + margin-top: 0; + margin-bottom: 0; font-size: var( --wa-display-quiet-2-strong-text-size, var(--wa-heading-display1-margin-top) ); - font-weight: var(--wa-display-quiet-2-strong-text-font-weight, 700); - line-height: var(--wa-display-quiet-2-strong-text-line-height, 1.3); font-style: var(--wa-display-quiet-2-strong-text-font-style, normal); + font-weight: var(--wa-display-quiet-2-strong-text-font-weight, 700); letter-spacing: var(--wa-display-quiet-2-strong-text-letter-spacing, 0); + line-height: var(--wa-display-quiet-2-strong-text-line-height, 1.3); text-transform: var(--wa-display-quiet-2-strong-text-transform, none); - margin-top: 0; - margin-bottom: 0; } + .wa-Typography .wa-Body1 { - margin-top: var(--wa-body-1-margin-top, 0px); + margin-top: var(--wa-body-1-margin-top, 0); margin-bottom: var(--wa-body-1-margin-bottom, var(--wa-global-dimension-size-200)); } + .wa-Typography .wa-Body2, .wa-Typography .wa-Body--large { - margin-top: var(--wa-body-2-margin-top, 0px); + margin-top: var(--wa-body-2-margin-top, 0); margin-bottom: var(--wa-body-2-margin-bottom, var(--wa-global-dimension-size-160)); } + .wa-Typography .wa-Body3 { - margin-top: var(--wa-body-3-margin-top, 0px); + margin-top: var(--wa-body-3-margin-top, 0); margin-bottom: var(--wa-body-3-margin-bottom, var(--wa-global-dimension-size-150)); } + .wa-Typography .wa-Body4, .wa-Typography .wa-Body--secondary { - margin-top: var(--wa-body-4-margin-top, 0px); + margin-top: var(--wa-body-4-margin-top, 0); margin-bottom: var(--wa-body-4-margin-bottom, var(--wa-global-dimension-size-125)); } + .wa-Typography .wa-Body5, .wa-Typography .wa-Body--small { - margin-top: var(--wa-body-5-margin-top, 0px); + margin-top: var(--wa-body-5-margin-top, 0); margin-bottom: var(--wa-body-5-margin-bottom, var(--wa-global-dimension-size-115)); } + .wa-Typography .wa-Heading1 { margin-top: var(--wa-heading-1-margin-top, var(--wa-heading1-margin-top)); margin-bottom: var(--wa-heading-1-margin-bottom, var(--wa-global-dimension-size-115)); } + .wa-Typography .wa-Heading2 { margin-top: var(--wa-heading-2-margin-top, var(--wa-heading2-margin-top)); margin-bottom: var(--wa-heading-2-margin-bottom, var(--wa-global-dimension-size-85)); } + .wa-Typography .wa-Heading3 { margin-top: var(--wa-heading-3-margin-top, var(--wa-heading3-margin-top)); margin-bottom: var(--wa-heading-3-margin-bottom, var(--wa-global-dimension-size-75)); } + .wa-Typography .wa-Heading4, .wa-Typography .wa-Heading--subtitle1 { margin-top: var(--wa-heading-4-margin-top, var(--wa-global-dimension-font-size-200)); margin-bottom: var(--wa-heading-4-margin-bottom, var(--wa-global-dimension-size-65)); } + .wa-Typography .wa-Heading5 { margin-top: var(--wa-heading-5-margin-top, var(--wa-global-dimension-font-size-100)); margin-bottom: var(--wa-heading-5-margin-bottom, var(--wa-global-dimension-size-50)); } + .wa-Typography .wa-Heading6, .wa-Typography .wa-Heading--subtitle2 { margin-top: var(--wa-heading-6-margin-top, var(--wa-global-dimension-size-150)); margin-bottom: var(--wa-heading-6-margin-bottom, var(--wa-global-dimension-size-40)); } + .wa-Typography .wa-Subheading, .wa-Typography .wa-Heading--subtitle3 { margin-top: var(--wa-subheading-margin-top, var(--wa-global-dimension-size-150)); margin-bottom: var(--wa-subheading-margin-bottom, var(--wa-global-dimension-size-40)); } + .wa-Typography .wa-Detail { - margin-top: var(--wa-detail-margin-top, 0px); + margin-top: var(--wa-detail-margin-top, 0); margin-bottom: var(--wa-detail-margin-bottom, var(--wa-global-dimension-size-100)); } + .wa-Typography .wa-Heading1--quiet { margin-top: var(--wa-heading-quiet-1-margin-top, var(--wa-heading1-margin-top)); margin-bottom: var( @@ -862,6 +951,7 @@ var(--wa-global-dimension-size-115) ); } + .wa-Typography .wa-Heading2--quiet, .wa-Typography .wa-Heading--pageTitle { margin-top: var(--wa-heading-quiet-2-margin-top, var(--wa-heading2-margin-top)); @@ -870,6 +960,7 @@ var(--wa-global-dimension-size-85) ); } + .wa-Typography .wa-Heading1--strong { margin-top: var(--wa-heading-strong-1-margin-top, var(--wa-heading1-margin-top)); margin-bottom: var( @@ -877,6 +968,7 @@ var(--wa-global-dimension-size-115) ); } + .wa-Typography .wa-Heading2--strong { margin-top: var(--wa-heading-strong-2-margin-top, var(--wa-heading2-margin-top)); margin-bottom: var( @@ -884,14 +976,17 @@ var(--wa-global-dimension-size-85) ); } + .wa-Typography .wa-Heading1--display { margin-top: var(--wa-display-1-margin-top, var(--wa-heading-display1-margin-top)); margin-bottom: var(--wa-display-1-margin-bottom, var(--wa-global-dimension-size-130)); } + .wa-Typography .wa-Heading2--display { margin-top: var(--wa-display-2-margin-top, var(--wa-heading-display2-margin-top)); margin-bottom: var(--wa-display-2-margin-bottom, var(--wa-global-dimension-size-125)); } + .wa-Typography .wa-Heading1--display.wa-Heading1--strong { margin-top: var(--wa-display-strong-1-margin-top, var(--wa-heading-display1-margin-top)); margin-bottom: var( @@ -899,6 +994,7 @@ var(--wa-global-dimension-size-130) ); } + .wa-Typography .wa-Heading2--display.wa-Heading2--strong { margin-top: var(--wa-display-strong-2-margin-top, var(--wa-heading-display2-margin-top)); margin-bottom: var( @@ -906,6 +1002,7 @@ var(--wa-global-dimension-size-125) ); } + .wa-Typography .wa-Heading1--display.wa-Heading1--quiet { margin-top: var(--wa-display-quiet-1-margin-top, var(--wa-heading-display1-margin-top)); margin-bottom: var( @@ -913,6 +1010,7 @@ var(--wa-global-dimension-size-130) ); } + .wa-Typography .wa-Heading2--display.wa-Heading2--quiet, .wa-Typography .wa-Heading--display { margin-top: var(--wa-display-quiet-2-margin-top, var(--wa-heading-display2-margin-top)); @@ -921,6 +1019,7 @@ var(--wa-global-dimension-size-125) ); } + .wa-Article { font-family: var( --wa-body-article-1-text-font-family, @@ -930,1915 +1029,2056 @@ serif ); } + .wa-Article .wa-Body1 { + margin-top: 0; + margin-bottom: 0; font-size: var(--wa-body-article-1-text-size, var(--wa-global-dimension-font-size-400)); - font-weight: var(--wa-body-article-1-text-font-weight, 400); - line-height: var(--wa-body-article-1-text-line-height, 1.5); font-style: var(--wa-body-article-1-text-font-style, normal); + font-weight: var(--wa-body-article-1-text-font-weight, 400); letter-spacing: var(--wa-body-article-1-text-letter-spacing, 0); + line-height: var(--wa-body-article-1-text-line-height, 1.5); text-transform: var(--wa-body-article-1-text-transform, none); - margin-top: 0; - margin-bottom: 0; } + .wa-Article .wa-Body1 em { + margin-top: 0; + margin-bottom: 0; font-size: var( --wa-body-article-1-emphasis-text-size, var(--wa-global-dimension-font-size-400) ); - font-weight: var(--wa-body-article-1-emphasis-text-font-weight, 400); - line-height: var(--wa-body-article-1-emphasis-text-line-height, 1.5); font-style: var(--wa-body-article-1-emphasis-text-font-style, italic); + font-weight: var(--wa-body-article-1-emphasis-text-font-weight, 400); letter-spacing: var(--wa-body-article-1-emphasis-text-letter-spacing, 0); + line-height: var(--wa-body-article-1-emphasis-text-line-height, 1.5); text-transform: var(--wa-body-article-1-emphasis-text-transform, none); - margin-top: 0; - margin-bottom: 0; } + .wa-Article .wa-Body1 strong { + margin-top: 0; + margin-bottom: 0; font-size: var( --wa-body-article-1-strong-text-size, var(--wa-global-dimension-font-size-400) ); - font-weight: var(--wa-body-article-1-strong-text-font-weight, 900); - line-height: var(--wa-body-article-1-strong-text-line-height, 1.5); font-style: var(--wa-body-article-1-strong-text-font-style, normal); + font-weight: var(--wa-body-article-1-strong-text-font-weight, 900); letter-spacing: var(--wa-body-article-1-strong-text-letter-spacing, 0); + line-height: var(--wa-body-article-1-strong-text-line-height, 1.5); text-transform: var(--wa-body-article-1-strong-text-transform, none); - margin-top: 0; - margin-bottom: 0; } + .wa-Article .wa-Body2, .wa-Article .wa-Body--large { + margin-top: 0; + margin-bottom: 0; font-size: var(--wa-body-article-2-text-size, var(--wa-global-dimension-size-225)); - font-weight: var(--wa-body-article-2-text-font-weight, 400); - line-height: var(--wa-body-article-2-text-line-height, 1.5); font-style: var(--wa-body-article-2-text-font-style, normal); + font-weight: var(--wa-body-article-2-text-font-weight, 400); letter-spacing: var(--wa-body-article-2-text-letter-spacing, 0); + line-height: var(--wa-body-article-2-text-line-height, 1.5); text-transform: var(--wa-body-article-2-text-transform, none); - margin-top: 0; - margin-bottom: 0; } + .wa-Article .wa-Body2 em, .wa-Article .wa-Body--large em { + margin-top: 0; + margin-bottom: 0; font-size: var( --wa-body-article-2-emphasis-text-size, var(--wa-global-dimension-size-225) ); - font-weight: var(--wa-body-article-2-emphasis-text-font-weight, 400); - line-height: var(--wa-body-article-2-emphasis-text-line-height, 1.5); font-style: var(--wa-body-article-2-emphasis-text-font-style, italic); + font-weight: var(--wa-body-article-2-emphasis-text-font-weight, 400); letter-spacing: var(--wa-body-article-2-emphasis-text-letter-spacing, 0); + line-height: var(--wa-body-article-2-emphasis-text-line-height, 1.5); text-transform: var(--wa-body-article-2-emphasis-text-transform, none); - margin-top: 0; - margin-bottom: 0; } + .wa-Article .wa-Body2 strong, .wa-Article .wa-Body--large strong { + margin-top: 0; + margin-bottom: 0; font-size: var(--wa-body-article-2-strong-text-size, var(--wa-global-dimension-size-225)); - font-weight: var(--wa-body-article-2-strong-text-font-weight, 900); - line-height: var(--wa-body-article-2-strong-text-line-height, 1.5); font-style: var(--wa-body-article-2-strong-text-font-style, normal); + font-weight: var(--wa-body-article-2-strong-text-font-weight, 900); letter-spacing: var(--wa-body-article-2-strong-text-letter-spacing, 0); + line-height: var(--wa-body-article-2-strong-text-line-height, 1.5); text-transform: var(--wa-body-article-2-strong-text-transform, none); - margin-top: 0; - margin-bottom: 0; } + .wa-Article .wa-Body3 { + margin-top: 0; + margin-bottom: 0; font-size: var(--wa-body-article-3-text-size, var(--wa-global-dimension-font-size-200)); - font-weight: var(--wa-body-article-3-text-font-weight, 400); - line-height: var(--wa-body-article-3-text-line-height, 1.5); font-style: var(--wa-body-article-3-text-font-style, normal); + font-weight: var(--wa-body-article-3-text-font-weight, 400); letter-spacing: var(--wa-body-article-3-text-letter-spacing, 0); + line-height: var(--wa-body-article-3-text-line-height, 1.5); text-transform: var(--wa-body-article-3-text-transform, none); - margin-top: 0; - margin-bottom: 0; } + .wa-Article .wa-Body3 em { + margin-top: 0; + margin-bottom: 0; font-size: var( --wa-body-article-3-emphasis-text-size, var(--wa-global-dimension-font-size-200) ); - font-weight: var(--wa-body-article-3-emphasis-text-font-weight, 400); - line-height: var(--wa-body-article-3-emphasis-text-line-height, 1.5); font-style: var(--wa-body-article-3-emphasis-text-font-style, italic); + font-weight: var(--wa-body-article-3-emphasis-text-font-weight, 400); letter-spacing: var(--wa-body-article-3-emphasis-text-letter-spacing, 0); + line-height: var(--wa-body-article-3-emphasis-text-line-height, 1.5); text-transform: var(--wa-body-article-3-emphasis-text-transform, none); - margin-top: 0; - margin-bottom: 0; } + .wa-Article .wa-Body3 strong { + margin-top: 0; + margin-bottom: 0; font-size: var( --wa-body-article-3-strong-text-size, var(--wa-global-dimension-font-size-200) ); - font-weight: var(--wa-body-article-3-strong-text-font-weight, 900); - line-height: var(--wa-body-article-3-strong-text-line-height, 1.5); font-style: var(--wa-body-article-3-strong-text-font-style, normal); + font-weight: var(--wa-body-article-3-strong-text-font-weight, 900); letter-spacing: var(--wa-body-article-3-strong-text-letter-spacing, 0); + line-height: var(--wa-body-article-3-strong-text-line-height, 1.5); text-transform: var(--wa-body-article-3-strong-text-transform, none); - margin-top: 0; - margin-bottom: 0; } + .wa-Article .wa-Body4, .wa-Article .wa-Body--secondary { + margin-top: 0; + margin-bottom: 0; font-size: var(--wa-body-article-4-text-size, var(--wa-global-dimension-font-size-100)); - font-weight: var(--wa-body-article-4-text-font-weight, 400); - line-height: var(--wa-body-article-4-text-line-height, 1.5); font-style: var(--wa-body-article-4-text-font-style, normal); + font-weight: var(--wa-body-article-4-text-font-weight, 400); letter-spacing: var(--wa-body-article-4-text-letter-spacing, 0); + line-height: var(--wa-body-article-4-text-line-height, 1.5); text-transform: var(--wa-body-article-4-text-transform, none); - margin-top: 0; - margin-bottom: 0; } + .wa-Article .wa-Body4 em, .wa-Article .wa-Body--secondary em { + margin-top: 0; + margin-bottom: 0; font-size: var( --wa-body-article-4-emphasis-text-size, var(--wa-global-dimension-font-size-100) ); - font-weight: var(--wa-body-article-4-emphasis-text-font-weight, 400); - line-height: var(--wa-body-article-4-emphasis-text-line-height, 1.5); font-style: var(--wa-body-article-4-emphasis-text-font-style, italic); + font-weight: var(--wa-body-article-4-emphasis-text-font-weight, 400); letter-spacing: var(--wa-body-article-4-emphasis-text-letter-spacing, 0); + line-height: var(--wa-body-article-4-emphasis-text-line-height, 1.5); text-transform: var(--wa-body-article-4-emphasis-text-transform, none); - margin-top: 0; - margin-bottom: 0; } + .wa-Article .wa-Body4 strong, .wa-Article .wa-Body--secondary strong { + margin-top: 0; + margin-bottom: 0; font-size: var( --wa-body-article-4-strong-text-size, var(--wa-global-dimension-font-size-100) ); - font-weight: var(--wa-body-article-4-strong-text-font-weight, 900); - line-height: var(--wa-body-article-4-strong-text-line-height, 1.5); font-style: var(--wa-body-article-4-strong-text-font-style, normal); + font-weight: var(--wa-body-article-4-strong-text-font-weight, 900); letter-spacing: var(--wa-body-article-4-strong-text-letter-spacing, 0); + line-height: var(--wa-body-article-4-strong-text-line-height, 1.5); text-transform: var(--wa-body-article-4-strong-text-transform, none); - margin-top: 0; - margin-bottom: 0; } + .wa-Article .wa-Body5, .wa-Article .wa-Body--small { + margin-top: 0; + margin-bottom: 0; font-size: var(--wa-body-article-5-text-size, var(--wa-global-dimension-size-150)); - font-weight: var(--wa-body-article-5-text-font-weight, 400); - line-height: var(--wa-body-article-5-text-line-height, 1.5); font-style: var(--wa-body-article-5-text-font-style, normal); + font-weight: var(--wa-body-article-5-text-font-weight, 400); letter-spacing: var(--wa-body-article-5-text-letter-spacing, 0); + line-height: var(--wa-body-article-5-text-line-height, 1.5); text-transform: var(--wa-body-article-5-text-transform, none); - margin-top: 0; - margin-bottom: 0; } + .wa-Article .wa-Body5 em, .wa-Article .wa-Body--small em { + margin-top: 0; + margin-bottom: 0; font-size: var( --wa-body-article-5-emphasis-text-size, var(--wa-global-dimension-size-150) ); - font-weight: var(--wa-body-article-5-emphasis-text-font-weight, 400); - line-height: var(--wa-body-article-5-emphasis-text-line-height, 1.5); font-style: var(--wa-body-article-5-emphasis-text-font-style, italic); + font-weight: var(--wa-body-article-5-emphasis-text-font-weight, 400); letter-spacing: var(--wa-body-article-5-emphasis-text-letter-spacing, 0); + line-height: var(--wa-body-article-5-emphasis-text-line-height, 1.5); text-transform: var(--wa-body-article-5-emphasis-text-transform, none); - margin-top: 0; - margin-bottom: 0; } + .wa-Article .wa-Body5 strong, .wa-Article .wa-Body--small strong { + margin-top: 0; + margin-bottom: 0; font-size: var(--wa-body-article-5-strong-text-size, var(--wa-global-dimension-size-150)); - font-weight: var(--wa-body-article-5-strong-text-font-weight, 900); - line-height: var(--wa-body-article-5-strong-text-line-height, 1.5); font-style: var(--wa-body-article-5-strong-text-font-style, normal); + font-weight: var(--wa-body-article-5-strong-text-font-weight, 900); letter-spacing: var(--wa-body-article-5-strong-text-letter-spacing, 0); + line-height: var(--wa-body-article-5-strong-text-line-height, 1.5); text-transform: var(--wa-body-article-5-strong-text-transform, none); - margin-top: 0; - margin-bottom: 0; } + .wa-Article .wa-Heading1 { + margin-top: 0; + margin-bottom: 0; font-size: var(--wa-heading-article-1-text-size, var(--wa-heading-display2-margin-top)); - font-weight: var(--wa-heading-article-1-text-font-weight, 700); - line-height: var(--wa-heading-article-1-text-line-height, 1.3); font-style: var(--wa-heading-article-1-text-font-style, normal); + font-weight: var(--wa-heading-article-1-text-font-weight, 700); letter-spacing: var(--wa-heading-article-1-text-letter-spacing, 0.0125em); + line-height: var(--wa-heading-article-1-text-line-height, 1.3); text-transform: var(--wa-heading-article-1-text-transform, none); - margin-top: 0; - margin-bottom: 0; } + .wa-Article .wa-Heading1 em { + margin-top: 0; + margin-bottom: 0; font-size: var( --wa-heading-article-1-emphasis-text-size, var(--wa-heading-display2-margin-top) ); - font-weight: var(--wa-heading-article-1-emphasis-text-font-weight, 700); - line-height: var(--wa-heading-article-1-emphasis-text-line-height, 1.3); font-style: var(--wa-heading-article-1-emphasis-text-font-style, italic); + font-weight: var(--wa-heading-article-1-emphasis-text-font-weight, 700); letter-spacing: var(--wa-heading-article-1-emphasis-text-letter-spacing, 0.0125em); + line-height: var(--wa-heading-article-1-emphasis-text-line-height, 1.3); text-transform: var(--wa-heading-article-1-emphasis-text-transform, none); - margin-top: 0; - margin-bottom: 0; } + .wa-Article .wa-Heading1 strong { + margin-top: 0; + margin-bottom: 0; font-size: var( --wa-heading-article-1-strong-text-size, var(--wa-heading-display2-margin-top) ); - font-weight: var(--wa-heading-article-1-strong-text-font-weight, 900); - line-height: var(--wa-heading-article-1-strong-text-line-height, 1.3); font-style: var(--wa-heading-article-1-strong-text-font-style, normal); + font-weight: var(--wa-heading-article-1-strong-text-font-weight, 900); letter-spacing: var(--wa-heading-article-1-strong-text-letter-spacing, 0.0125em); + line-height: var(--wa-heading-article-1-strong-text-line-height, 1.3); text-transform: var(--wa-heading-article-1-strong-text-transform, none); - margin-top: 0; - margin-bottom: 0; } + .wa-Article .wa-Heading2 { + margin-top: 0; + margin-bottom: 0; font-size: var(--wa-heading-article-2-text-size, var(--wa-heading2-text-size)); - font-weight: var(--wa-heading-article-2-text-font-weight, 700); - line-height: var(--wa-heading-article-2-text-line-height, 1.3); font-style: var(--wa-heading-article-2-text-font-style, normal); + font-weight: var(--wa-heading-article-2-text-font-weight, 700); letter-spacing: var(--wa-heading-article-2-text-letter-spacing, 0.0125em); + line-height: var(--wa-heading-article-2-text-line-height, 1.3); text-transform: var(--wa-heading-article-2-text-transform, none); - margin-top: 0; - margin-bottom: 0; } + .wa-Article .wa-Heading2 em { + margin-top: 0; + margin-bottom: 0; font-size: var(--wa-heading-article-2-emphasis-text-size, var(--wa-heading2-text-size)); - font-weight: var(--wa-heading-article-2-emphasis-text-font-weight, 700); - line-height: var(--wa-heading-article-2-emphasis-text-line-height, 1.3); font-style: var(--wa-heading-article-2-emphasis-text-font-style, italic); + font-weight: var(--wa-heading-article-2-emphasis-text-font-weight, 700); letter-spacing: var(--wa-heading-article-2-emphasis-text-letter-spacing, 0.0125em); + line-height: var(--wa-heading-article-2-emphasis-text-line-height, 1.3); text-transform: var(--wa-heading-article-2-emphasis-text-transform, none); - margin-top: 0; - margin-bottom: 0; } + .wa-Article .wa-Heading2 strong { + margin-top: 0; + margin-bottom: 0; font-size: var(--wa-heading-article-2-strong-text-size, var(--wa-heading2-text-size)); - font-weight: var(--wa-heading-article-2-strong-text-font-weight, 900); - line-height: var(--wa-heading-article-2-strong-text-line-height, 1.3); font-style: var(--wa-heading-article-2-strong-text-font-style, normal); + font-weight: var(--wa-heading-article-2-strong-text-font-weight, 900); letter-spacing: var(--wa-heading-article-2-strong-text-letter-spacing, 0.0125em); + line-height: var(--wa-heading-article-2-strong-text-line-height, 1.3); text-transform: var(--wa-heading-article-2-strong-text-transform, none); - margin-top: 0; - margin-bottom: 0; } + .wa-Article .wa-Heading3 { + margin-top: 0; + margin-bottom: 0; font-size: var(--wa-heading-article-3-text-size, var(--wa-heading3-text-size)); - font-weight: var(--wa-heading-article-3-text-font-weight, 700); - line-height: var(--wa-heading-article-3-text-line-height, 1.3); font-style: var(--wa-heading-article-3-text-font-style, normal); + font-weight: var(--wa-heading-article-3-text-font-weight, 700); letter-spacing: var(--wa-heading-article-3-text-letter-spacing, 0.0125em); + line-height: var(--wa-heading-article-3-text-line-height, 1.3); text-transform: var(--wa-heading-article-3-text-transform, none); - margin-top: 0; - margin-bottom: 0; } + .wa-Article .wa-Heading3 em { + margin-top: 0; + margin-bottom: 0; font-size: var(--wa-heading-article-3-emphasis-text-size, var(--wa-heading3-text-size)); - font-weight: var(--wa-heading-article-3-emphasis-text-font-weight, 700); - line-height: var(--wa-heading-article-3-emphasis-text-line-height, 1.3); font-style: var(--wa-heading-article-3-emphasis-text-font-style, italic); + font-weight: var(--wa-heading-article-3-emphasis-text-font-weight, 700); letter-spacing: var(--wa-heading-article-3-emphasis-text-letter-spacing, 0.0125em); + line-height: var(--wa-heading-article-3-emphasis-text-line-height, 1.3); text-transform: var(--wa-heading-article-3-emphasis-text-transform, none); - margin-top: 0; - margin-bottom: 0; } + .wa-Article .wa-Heading3 strong { + margin-top: 0; + margin-bottom: 0; font-size: var(--wa-heading-article-3-strong-text-size, var(--wa-heading3-text-size)); - font-weight: var(--wa-heading-article-3-strong-text-font-weight, 900); - line-height: var(--wa-heading-article-3-strong-text-line-height, 1.3); font-style: var(--wa-heading-article-3-strong-text-font-style, normal); + font-weight: var(--wa-heading-article-3-strong-text-font-weight, 900); letter-spacing: var(--wa-heading-article-3-strong-text-letter-spacing, 0.0125em); + line-height: var(--wa-heading-article-3-strong-text-line-height, 1.3); text-transform: var(--wa-heading-article-3-strong-text-transform, none); - margin-top: 0; - margin-bottom: 0; } + .wa-Article .wa-Heading4, .wa-Article .wa-Heading--subtitle1 { + margin-top: 0; + margin-bottom: 0; font-size: var(--wa-heading-article-4-text-size, var(--wa-global-dimension-size-225)); - font-weight: var(--wa-heading-article-4-text-font-weight, 700); - line-height: var(--wa-heading-article-4-text-line-height, 1.3); font-style: var(--wa-heading-article-4-text-font-style, normal); + font-weight: var(--wa-heading-article-4-text-font-weight, 700); letter-spacing: var(--wa-heading-article-4-text-letter-spacing, 0.0125em); + line-height: var(--wa-heading-article-4-text-line-height, 1.3); text-transform: var(--wa-heading-article-4-text-transform, none); - margin-top: 0; - margin-bottom: 0; } + .wa-Article .wa-Heading4 em, .wa-Article .wa-Heading--subtitle1 em { + margin-top: 0; + margin-bottom: 0; font-size: var( --wa-heading-article-4-emphasis-text-size, var(--wa-global-dimension-size-225) ); - font-weight: var(--wa-heading-article-4-emphasis-text-font-weight, 700); - line-height: var(--wa-heading-article-4-emphasis-text-line-height, 1.3); font-style: var(--wa-heading-article-4-emphasis-text-font-style, italic); + font-weight: var(--wa-heading-article-4-emphasis-text-font-weight, 700); letter-spacing: var(--wa-heading-article-4-emphasis-text-letter-spacing, 0.0125em); + line-height: var(--wa-heading-article-4-emphasis-text-line-height, 1.3); text-transform: var(--wa-heading-article-4-emphasis-text-transform, none); - margin-top: 0; - margin-bottom: 0; } + .wa-Article .wa-Heading4 strong, .wa-Article .wa-Heading--subtitle1 strong { + margin-top: 0; + margin-bottom: 0; font-size: var( --wa-heading-article-4-strong-text-size, var(--wa-global-dimension-size-225) ); - font-weight: var(--wa-heading-article-4-strong-text-font-weight, 900); - line-height: var(--wa-heading-article-4-strong-text-line-height, 1.3); font-style: var(--wa-heading-article-4-strong-text-font-style, normal); + font-weight: var(--wa-heading-article-4-strong-text-font-weight, 900); letter-spacing: var(--wa-heading-article-4-strong-text-letter-spacing, 0.0125em); + line-height: var(--wa-heading-article-4-strong-text-line-height, 1.3); text-transform: var(--wa-heading-article-4-strong-text-transform, none); - margin-top: 0; - margin-bottom: 0; } + .wa-Article .wa-Heading5 { + margin-top: 0; + margin-bottom: 0; font-size: var( --wa-heading-article-5-text-size, var(--wa-global-dimension-font-size-200) ); - font-weight: var(--wa-heading-article-5-text-font-weight, 700); - line-height: var(--wa-heading-article-5-text-line-height, 1.3); font-style: var(--wa-heading-article-5-text-font-style, normal); + font-weight: var(--wa-heading-article-5-text-font-weight, 700); letter-spacing: var(--wa-heading-article-5-text-letter-spacing, 0.0125em); + line-height: var(--wa-heading-article-5-text-line-height, 1.3); text-transform: var(--wa-heading-article-5-text-transform, none); - margin-top: 0; - margin-bottom: 0; } + .wa-Article .wa-Heading5 em { + margin-top: 0; + margin-bottom: 0; font-size: var( --wa-heading-article-5-emphasis-text-size, var(--wa-global-dimension-font-size-200) ); - font-weight: var(--wa-heading-article-5-emphasis-text-font-weight, 700); - line-height: var(--wa-heading-article-5-emphasis-text-line-height, 1.3); font-style: var(--wa-heading-article-5-emphasis-text-font-style, italic); + font-weight: var(--wa-heading-article-5-emphasis-text-font-weight, 700); letter-spacing: var(--wa-heading-article-5-emphasis-text-letter-spacing, 0.0125em); + line-height: var(--wa-heading-article-5-emphasis-text-line-height, 1.3); text-transform: var(--wa-heading-article-5-emphasis-text-transform, none); - margin-top: 0; - margin-bottom: 0; } + .wa-Article .wa-Heading5 strong { + margin-top: 0; + margin-bottom: 0; font-size: var( --wa-heading-article-5-strong-text-size, var(--wa-global-dimension-font-size-200) ); - font-weight: var(--wa-heading-article-5-strong-text-font-weight, 900); - line-height: var(--wa-heading-article-5-strong-text-line-height, 1.3); font-style: var(--wa-heading-article-5-strong-text-font-style, normal); + font-weight: var(--wa-heading-article-5-strong-text-font-weight, 900); letter-spacing: var(--wa-heading-article-5-strong-text-letter-spacing, 0.0125em); + line-height: var(--wa-heading-article-5-strong-text-line-height, 1.3); text-transform: var(--wa-heading-article-5-strong-text-transform, none); - margin-top: 0; - margin-bottom: 0; } + .wa-Article .wa-Heading6, .wa-Article .wa-Heading--subtitle2 { + margin-top: 0; + margin-bottom: 0; font-size: var( --wa-heading-article-6-text-size, var(--wa-global-dimension-font-size-100) ); - font-weight: var(--wa-heading-article-6-text-font-weight, 700); - line-height: var(--wa-heading-article-6-text-line-height, 1.3); font-style: var(--wa-heading-article-6-text-font-style, normal); + font-weight: var(--wa-heading-article-6-text-font-weight, 700); letter-spacing: var(--wa-heading-article-6-text-letter-spacing, 0.0125em); + line-height: var(--wa-heading-article-6-text-line-height, 1.3); text-transform: var(--wa-heading-article-6-text-transform, none); - margin-top: 0; - margin-bottom: 0; } + .wa-Article .wa-Heading6 em, .wa-Article .wa-Heading--subtitle2 em { + margin-top: 0; + margin-bottom: 0; font-size: var( --wa-heading-article-6-emphasis-text-size, var(--wa-global-dimension-font-size-100) ); - font-weight: var(--wa-heading-article-6-emphasis-text-font-weight, 700); - line-height: var(--wa-heading-article-6-emphasis-text-line-height, 1.3); font-style: var(--wa-heading-article-6-emphasis-text-font-style, italic); + font-weight: var(--wa-heading-article-6-emphasis-text-font-weight, 700); letter-spacing: var(--wa-heading-article-6-emphasis-text-letter-spacing, 0.0125em); + line-height: var(--wa-heading-article-6-emphasis-text-line-height, 1.3); text-transform: var(--wa-heading-article-6-emphasis-text-transform, none); - margin-top: 0; - margin-bottom: 0; } + .wa-Article .wa-Heading6 strong, .wa-Article .wa-Heading--subtitle2 strong { + margin-top: 0; + margin-bottom: 0; font-size: var( --wa-heading-article-6-strong-text-size, var(--wa-global-dimension-font-size-100) ); - font-weight: var(--wa-heading-article-6-strong-text-font-weight, 900); - line-height: var(--wa-heading-article-6-strong-text-line-height, 1.3); font-style: var(--wa-heading-article-6-strong-text-font-style, normal); + font-weight: var(--wa-heading-article-6-strong-text-font-weight, 900); letter-spacing: var(--wa-heading-article-6-strong-text-letter-spacing, 0.0125em); + line-height: var(--wa-heading-article-6-strong-text-line-height, 1.3); text-transform: var(--wa-heading-article-6-strong-text-transform, none); - margin-top: 0; - margin-bottom: 0; } + .wa-Article .wa-Subheading, .wa-Article .wa-Heading--subtitle3 { + margin-top: 0; + margin-bottom: 0; font-size: var( --wa-subheading-article-text-size, var(--wa-global-dimension-font-size-50) ); - font-weight: var(--wa-subheading-article-text-font-weight, 700); - line-height: var(--wa-subheading-article-text-line-height, 1.3); font-style: var(--wa-subheading-article-text-font-style, normal); + font-weight: var(--wa-subheading-article-text-font-weight, 700); letter-spacing: var(--wa-subheading-article-text-letter-spacing, 0.0125em); + line-height: var(--wa-subheading-article-text-line-height, 1.3); text-transform: var(--wa-subheading-article-text-transform, none); - margin-top: 0; - margin-bottom: 0; } + .wa-Article .wa-Subheading em, .wa-Article .wa-Heading--subtitle3 em { + margin-top: 0; + margin-bottom: 0; font-size: var( --wa-subheading-article-emphasis-text-size, var(--wa-global-dimension-font-size-50) ); - font-weight: var(--wa-subheading-article-emphasis-text-font-weight, 700); - line-height: var(--wa-subheading-article-emphasis-text-line-height, 1.3); font-style: var(--wa-subheading-article-emphasis-text-font-style, italic); + font-weight: var(--wa-subheading-article-emphasis-text-font-weight, 700); letter-spacing: var(--wa-subheading-article-emphasis-text-letter-spacing, 0.0125em); + line-height: var(--wa-subheading-article-emphasis-text-line-height, 1.3); text-transform: var(--wa-subheading-article-emphasis-text-transform, none); - margin-top: 0; - margin-bottom: 0; } + .wa-Article .wa-Subheading strong, .wa-Article .wa-Heading--subtitle3 strong { + margin-top: 0; + margin-bottom: 0; font-size: var( --wa-subheading-article-strong-text-size, var(--wa-global-dimension-font-size-50) ); - font-weight: var(--wa-subheading-article-strong-text-font-weight, 900); - line-height: var(--wa-subheading-article-strong-text-line-height, 1.3); font-style: var(--wa-subheading-article-strong-text-font-style, normal); + font-weight: var(--wa-subheading-article-strong-text-font-weight, 900); letter-spacing: var(--wa-subheading-article-strong-text-letter-spacing, 0.0125em); + line-height: var(--wa-subheading-article-strong-text-line-height, 1.3); text-transform: var(--wa-subheading-article-strong-text-transform, none); - margin-top: 0; - margin-bottom: 0; } + .wa-Article .wa-Detail { + margin-top: 0; + margin-bottom: 0; font-size: var(--wa-detail-article-text-size, var(--wa-global-dimension-font-size-50)); - font-weight: var(--wa-detail-article-text-font-weight, 400); - line-height: var(--wa-detail-article-text-line-height, 1.5); font-style: var(--wa-detail-article-text-font-style, normal); + font-weight: var(--wa-detail-article-text-font-weight, 400); letter-spacing: var(--wa-detail-article-text-letter-spacing, 0); + line-height: var(--wa-detail-article-text-line-height, 1.5); text-transform: var(--wa-detail-article-text-transform, none); - margin-top: 0; - margin-bottom: 0; } + .wa-Article .wa-Detail em { + margin-top: 0; + margin-bottom: 0; font-size: var( --wa-detail-article-emphasis-text-size, var(--wa-global-dimension-font-size-50) ); - font-weight: var(--wa-detail-article-emphasis-text-font-weight, 400); - line-height: var(--wa-detail-article-emphasis-text-line-height, 1.5); font-style: var(--wa-detail-article-emphasis-text-font-style, italic); + font-weight: var(--wa-detail-article-emphasis-text-font-weight, 400); letter-spacing: var(--wa-detail-article-emphasis-text-letter-spacing, 0); + line-height: var(--wa-detail-article-emphasis-text-line-height, 1.5); text-transform: var(--wa-detail-article-emphasis-text-transform, none); - margin-top: 0; - margin-bottom: 0; } + .wa-Article .wa-Detail strong { + margin-top: 0; + margin-bottom: 0; font-size: var( --wa-detail-article-strong-text-size, var(--wa-global-dimension-font-size-50) ); - font-weight: var(--wa-detail-article-strong-text-font-weight, 700); - line-height: var(--wa-detail-article-strong-text-line-height, 1.5); font-style: var(--wa-detail-article-strong-text-font-style, normal); + font-weight: var(--wa-detail-article-strong-text-font-weight, 700); letter-spacing: var(--wa-detail-article-strong-text-letter-spacing, 0); + line-height: var(--wa-detail-article-strong-text-line-height, 1.5); text-transform: var(--wa-detail-article-strong-text-transform, none); - margin-top: 0; - margin-bottom: 0; } + .wa-Article .wa-Heading1--quiet { + margin-top: 0; + margin-bottom: 0; font-size: var( --wa-heading-quiet-article-1-text-size, var(--wa-heading-display2-margin-top) ); - font-weight: var(--wa-heading-quiet-article-1-text-font-weight, 400); - line-height: var(--wa-heading-quiet-article-1-text-line-height, 1.3); font-style: var(--wa-heading-quiet-article-1-text-font-style, normal); + font-weight: var(--wa-heading-quiet-article-1-text-font-weight, 400); letter-spacing: var(--wa-heading-quiet-article-1-text-letter-spacing, 0.0125em); + line-height: var(--wa-heading-quiet-article-1-text-line-height, 1.3); text-transform: var(--wa-heading-quiet-article-1-text-transform, none); - margin-top: 0; - margin-bottom: 0; } + .wa-Article .wa-Heading1--quiet em { + margin-top: 0; + margin-bottom: 0; font-size: var( --wa-heading-quiet-article-1-emphasis-text-size, var(--wa-heading-display2-margin-top) ); - font-weight: var(--wa-heading-quiet-article-1-emphasis-text-font-weight, 400); - line-height: var(--wa-heading-quiet-article-1-emphasis-text-line-height, 1.3); font-style: var(--wa-heading-quiet-article-1-emphasis-text-font-style, italic); + font-weight: var(--wa-heading-quiet-article-1-emphasis-text-font-weight, 400); letter-spacing: var(--wa-heading-quiet-article-1-emphasis-text-letter-spacing, 0.0125em); + line-height: var(--wa-heading-quiet-article-1-emphasis-text-line-height, 1.3); text-transform: var(--wa-heading-quiet-article-1-emphasis-text-transform, none); - margin-top: 0; - margin-bottom: 0; } + .wa-Article .wa-Heading1--quiet strong { + margin-top: 0; + margin-bottom: 0; font-size: var( --wa-heading-quiet-article-1-strong-text-size, var(--wa-heading-display2-margin-top) ); - font-weight: var(--wa-heading-quiet-article-1-strong-text-font-weight, 900); - line-height: var(--wa-heading-quiet-article-1-strong-text-line-height, 1.3); font-style: var(--wa-heading-quiet-article-1-strong-text-font-style, normal); + font-weight: var(--wa-heading-quiet-article-1-strong-text-font-weight, 900); letter-spacing: var(--wa-heading-quiet-article-1-strong-text-letter-spacing, 0.0125em); + line-height: var(--wa-heading-quiet-article-1-strong-text-line-height, 1.3); text-transform: var(--wa-heading-quiet-article-1-strong-text-transform, none); - margin-top: 0; - margin-bottom: 0; } + .wa-Article .wa-Heading2--quiet, .wa-Article .wa-Heading--pageTitle { + margin-top: 0; + margin-bottom: 0; font-size: var(--wa-heading-quiet-article-2-text-size, var(--wa-heading2-text-size)); - font-weight: var(--wa-heading-quiet-article-2-text-font-weight, 400); - line-height: var(--wa-heading-quiet-article-2-text-line-height, 1.3); font-style: var(--wa-heading-quiet-article-2-text-font-style, normal); + font-weight: var(--wa-heading-quiet-article-2-text-font-weight, 400); letter-spacing: var(--wa-heading-quiet-article-2-text-letter-spacing, 0.0125em); + line-height: var(--wa-heading-quiet-article-2-text-line-height, 1.3); text-transform: var(--wa-heading-quiet-article-2-text-transform, none); - margin-top: 0; - margin-bottom: 0; } + .wa-Article .wa-Heading2--quiet em, .wa-Article .wa-Heading--pageTitle em { + margin-top: 0; + margin-bottom: 0; font-size: var( --wa-heading-quiet-article-2-emphasis-text-size, var(--wa-heading2-text-size) ); - font-weight: var(--wa-heading-quiet-article-2-emphasis-text-font-weight, 400); - line-height: var(--wa-heading-quiet-article-2-emphasis-text-line-height, 1.3); font-style: var(--wa-heading-quiet-article-2-emphasis-text-font-style, italic); + font-weight: var(--wa-heading-quiet-article-2-emphasis-text-font-weight, 400); letter-spacing: var(--wa-heading-quiet-article-2-emphasis-text-letter-spacing, 0.0125em); + line-height: var(--wa-heading-quiet-article-2-emphasis-text-line-height, 1.3); text-transform: var(--wa-heading-quiet-article-2-emphasis-text-transform, none); - margin-top: 0; - margin-bottom: 0; } + .wa-Article .wa-Heading2--quiet strong, .wa-Article .wa-Heading--pageTitle strong { + margin-top: 0; + margin-bottom: 0; font-size: var( --wa-heading-quiet-article-2-strong-text-size, var(--wa-heading2-text-size) ); - font-weight: var(--wa-heading-quiet-article-2-strong-text-font-weight, 900); - line-height: var(--wa-heading-quiet-article-2-strong-text-line-height, 1.3); font-style: var(--wa-heading-quiet-article-2-strong-text-font-style, normal); + font-weight: var(--wa-heading-quiet-article-2-strong-text-font-weight, 900); letter-spacing: var(--wa-heading-quiet-article-2-strong-text-letter-spacing, 0.0125em); + line-height: var(--wa-heading-quiet-article-2-strong-text-line-height, 1.3); text-transform: var(--wa-heading-quiet-article-2-strong-text-transform, none); - margin-top: 0; - margin-bottom: 0; } + .wa-Article .wa-Heading1--display { + margin-top: 0; + margin-bottom: 0; font-size: var(--wa-display-article-1-text-size, var(--wa-heading-display1-text-size)); - font-weight: var(--wa-display-article-1-text-font-weight, 700); - line-height: var(--wa-display-article-1-text-line-height, 1.3); font-style: var(--wa-display-article-1-text-font-style, normal); + font-weight: var(--wa-display-article-1-text-font-weight, 700); letter-spacing: var(--wa-display-article-1-text-letter-spacing, 0.0125em); + line-height: var(--wa-display-article-1-text-line-height, 1.3); text-transform: var(--wa-display-article-1-text-transform, none); - margin-top: 0; - margin-bottom: 0; } + .wa-Article .wa-Heading1--display em { + margin-top: 0; + margin-bottom: 0; font-size: var( --wa-display-article-1-emphasis-text-size, var(--wa-heading-display1-text-size) ); - font-weight: var(--wa-display-article-1-emphasis-text-font-weight, 700); - line-height: var(--wa-display-article-1-emphasis-text-line-height, 1.3); font-style: var(--wa-display-article-1-emphasis-text-font-style, italic); + font-weight: var(--wa-display-article-1-emphasis-text-font-weight, 700); letter-spacing: var(--wa-display-article-1-emphasis-text-letter-spacing, 0.0125em); + line-height: var(--wa-display-article-1-emphasis-text-line-height, 1.3); text-transform: var(--wa-display-article-1-emphasis-text-transform, none); - margin-top: 0; - margin-bottom: 0; } + .wa-Article .wa-Heading1--display strong { + margin-top: 0; + margin-bottom: 0; font-size: var( --wa-display-article-1-strong-text-size, var(--wa-heading-display1-text-size) ); - font-weight: var(--wa-display-article-1-strong-text-font-weight, 900); - line-height: var(--wa-display-article-1-strong-text-line-height, 1.3); font-style: var(--wa-display-article-1-strong-text-font-style, normal); + font-weight: var(--wa-display-article-1-strong-text-font-weight, 900); letter-spacing: var(--wa-display-article-1-strong-text-letter-spacing, 0.0125em); + line-height: var(--wa-display-article-1-strong-text-line-height, 1.3); text-transform: var(--wa-display-article-1-strong-text-transform, none); - margin-top: 0; - margin-bottom: 0; } + .wa-Article .wa-Heading2--display { + margin-top: 0; + margin-bottom: 0; font-size: var(--wa-display-article-2-text-size, var(--wa-heading-display1-margin-top)); - font-weight: var(--wa-display-article-2-text-font-weight, 700); - line-height: var(--wa-display-article-2-text-line-height, 1.3); font-style: var(--wa-display-article-2-text-font-style, normal); + font-weight: var(--wa-display-article-2-text-font-weight, 700); letter-spacing: var(--wa-display-article-2-text-letter-spacing, 0.0125em); + line-height: var(--wa-display-article-2-text-line-height, 1.3); text-transform: var(--wa-display-article-2-text-transform, none); - margin-top: 0; - margin-bottom: 0; } + .wa-Article .wa-Heading2--display em { + margin-top: 0; + margin-bottom: 0; font-size: var( --wa-display-article-2-emphasis-text-size, var(--wa-heading-display1-margin-top) ); - font-weight: var(--wa-display-article-2-emphasis-text-font-weight, 700); - line-height: var(--wa-display-article-2-emphasis-text-line-height, 1.3); font-style: var(--wa-display-article-2-emphasis-text-font-style, italic); + font-weight: var(--wa-display-article-2-emphasis-text-font-weight, 700); letter-spacing: var(--wa-display-article-2-emphasis-text-letter-spacing, 0.0125em); + line-height: var(--wa-display-article-2-emphasis-text-line-height, 1.3); text-transform: var(--wa-display-article-2-emphasis-text-transform, none); - margin-top: 0; - margin-bottom: 0; } + .wa-Article .wa-Heading2--display strong { + margin-top: 0; + margin-bottom: 0; font-size: var( --wa-display-article-2-strong-text-size, var(--wa-heading-display1-margin-top) ); - font-weight: var(--wa-display-article-2-strong-text-font-weight, 900); - line-height: var(--wa-display-article-2-strong-text-line-height, 1.3); font-style: var(--wa-display-article-2-strong-text-font-style, normal); + font-weight: var(--wa-display-article-2-strong-text-font-weight, 900); letter-spacing: var(--wa-display-article-2-strong-text-letter-spacing, 0.0125em); + line-height: var(--wa-display-article-2-strong-text-line-height, 1.3); text-transform: var(--wa-display-article-2-strong-text-transform, none); - margin-top: 0; - margin-bottom: 0; } + .wa-Article .wa-Heading1--display.wa-Heading1--quiet { + margin-top: 0; + margin-bottom: 0; font-size: var( --wa-display-quiet-article-1-text-size, var(--wa-heading-display1-text-size) ); - font-weight: var(--wa-display-quiet-article-1-text-font-weight, 400); - line-height: var(--wa-display-quiet-article-1-text-line-height, 1.3); font-style: var(--wa-display-quiet-article-1-text-font-style, normal); + font-weight: var(--wa-display-quiet-article-1-text-font-weight, 400); letter-spacing: var(--wa-display-quiet-article-1-text-letter-spacing, 0.0125em); + line-height: var(--wa-display-quiet-article-1-text-line-height, 1.3); text-transform: var(--wa-display-quiet-article-1-text-transform, none); - margin-top: 0; - margin-bottom: 0; } + .wa-Article .wa-Heading1--display.wa-Heading1--quiet em { + margin-top: 0; + margin-bottom: 0; font-size: var( --wa-display-quiet-article-1-emphasis-text-size, var(--wa-heading-display1-text-size) ); - font-weight: var(--wa-display-quiet-article-1-emphasis-text-font-weight, 400); - line-height: var(--wa-display-quiet-article-1-emphasis-text-line-height, 1.3); font-style: var(--wa-display-quiet-article-1-emphasis-text-font-style, italic); + font-weight: var(--wa-display-quiet-article-1-emphasis-text-font-weight, 400); letter-spacing: var(--wa-display-quiet-article-1-emphasis-text-letter-spacing, 0.0125em); + line-height: var(--wa-display-quiet-article-1-emphasis-text-line-height, 1.3); text-transform: var(--wa-display-quiet-article-1-emphasis-text-transform, none); - margin-top: 0; - margin-bottom: 0; } + .wa-Article .wa-Heading1--display.wa-Heading1--quiet strong { + margin-top: 0; + margin-bottom: 0; font-size: var( --wa-display-quiet-article-1-strong-text-size, var(--wa-heading-display1-text-size) ); - font-weight: var(--wa-display-quiet-article-1-strong-text-font-weight, 700); - line-height: var(--wa-display-quiet-article-1-strong-text-line-height, 1.3); font-style: var(--wa-display-quiet-article-1-strong-text-font-style, normal); + font-weight: var(--wa-display-quiet-article-1-strong-text-font-weight, 700); letter-spacing: var(--wa-display-quiet-article-1-strong-text-letter-spacing, 0.0125em); + line-height: var(--wa-display-quiet-article-1-strong-text-line-height, 1.3); text-transform: var(--wa-display-quiet-article-1-strong-text-transform, none); - margin-top: 0; - margin-bottom: 0; } + .wa-Article .wa-Heading2--display.wa-Heading2--quiet, .wa-Article .wa-Heading--display { + margin-top: 0; + margin-bottom: 0; font-size: var( --wa-display-quiet-article-2-text-size, var(--wa-heading-display1-margin-top) ); - font-weight: var(--wa-display-quiet-article-2-text-font-weight, 400); - line-height: var(--wa-display-quiet-article-2-text-line-height, 1.3); font-style: var(--wa-display-quiet-article-2-text-font-style, normal); + font-weight: var(--wa-display-quiet-article-2-text-font-weight, 400); letter-spacing: var(--wa-display-quiet-article-2-text-letter-spacing, 0.0125em); + line-height: var(--wa-display-quiet-article-2-text-line-height, 1.3); text-transform: var(--wa-display-quiet-article-2-text-transform, none); - margin-top: 0; - margin-bottom: 0; } + .wa-Article .wa-Heading2--display.wa-Heading2--quiet em, .wa-Article .wa-Heading--display em { + margin-top: 0; + margin-bottom: 0; font-size: var( --wa-display-quiet-article-2-emphasis-text-size, var(--wa-heading-display1-margin-top) ); - font-weight: var(--wa-display-quiet-article-2-emphasis-text-font-weight, 400); - line-height: var(--wa-display-quiet-article-2-emphasis-text-line-height, 1.3); font-style: var(--wa-display-quiet-article-2-emphasis-text-font-style, italic); + font-weight: var(--wa-display-quiet-article-2-emphasis-text-font-weight, 400); letter-spacing: var(--wa-display-quiet-article-2-emphasis-text-letter-spacing, 0.0125em); + line-height: var(--wa-display-quiet-article-2-emphasis-text-line-height, 1.3); text-transform: var(--wa-display-quiet-article-2-emphasis-text-transform, none); - margin-top: 0; - margin-bottom: 0; } + .wa-Article .wa-Heading2--display.wa-Heading2--quiet strong, .wa-Article .wa-Heading--display strong { + margin-top: 0; + margin-bottom: 0; font-size: var( --wa-display-quiet-article-2-strong-text-size, var(--wa-heading-display1-margin-top) ); - font-weight: var(--wa-display-quiet-article-2-strong-text-font-weight, 700); - line-height: var(--wa-display-quiet-article-2-strong-text-line-height, 1.3); font-style: var(--wa-display-quiet-article-2-strong-text-font-style, normal); + font-weight: var(--wa-display-quiet-article-2-strong-text-font-weight, 700); letter-spacing: var(--wa-display-quiet-article-2-strong-text-letter-spacing, 0.0125em); + line-height: var(--wa-display-quiet-article-2-strong-text-line-height, 1.3); text-transform: var(--wa-display-quiet-article-2-strong-text-transform, none); - margin-top: 0; - margin-bottom: 0; } + .wa:lang(ja) .wa-Body1, .wa:lang(ko) .wa-Body1, .wa:lang(zh) .wa-Body1 { + margin-top: 0; + margin-bottom: 0; font-size: var(--wa-body-han-1-text-size, var(--wa-global-dimension-font-size-400)); - font-weight: var(--wa-body-han-1-text-font-weight, 400); - line-height: var(--wa-body-han-1-text-line-height, 1.7); font-style: var(--wa-body-han-1-text-font-style, normal); + font-weight: var(--wa-body-han-1-text-font-weight, 400); letter-spacing: var(--wa-body-han-1-text-letter-spacing, 0.05em); + line-height: var(--wa-body-han-1-text-line-height, 1.7); text-transform: var(--wa-body-han-1-text-transform, none); - margin-top: 0; - margin-bottom: 0; } + .wa:lang(ja) .wa-Body1 em, .wa:lang(ko) .wa-Body1 em, .wa:lang(zh) .wa-Body1 em { + margin-top: 0; + margin-bottom: 0; font-size: var( --wa-body-han-1-emphasis-text-size, var(--wa-global-dimension-font-size-400) ); - font-weight: var(--wa-body-han-1-emphasis-text-font-weight, 700); - line-height: var(--wa-body-han-1-emphasis-text-line-height, 1.7); font-style: var(--wa-body-han-1-emphasis-text-font-style, normal); + font-weight: var(--wa-body-han-1-emphasis-text-font-weight, 700); letter-spacing: var(--wa-body-han-1-emphasis-text-letter-spacing, 0.05em); + line-height: var(--wa-body-han-1-emphasis-text-line-height, 1.7); text-transform: var(--wa-body-han-1-emphasis-text-transform, none); - margin-top: 0; - margin-bottom: 0; } + .wa:lang(ja) .wa-Body1 strong, .wa:lang(ko) .wa-Body1 strong, .wa:lang(zh) .wa-Body1 strong { + margin-top: 0; + margin-bottom: 0; font-size: var( --wa-body-han-1-strong-text-size, var(--wa-global-dimension-font-size-400) ); - font-weight: var(--wa-body-han-1-strong-text-font-weight, 900); - line-height: var(--wa-body-han-1-strong-text-line-height, 1.7); font-style: var(--wa-body-han-1-strong-text-font-style, normal); + font-weight: var(--wa-body-han-1-strong-text-font-weight, 900); letter-spacing: var(--wa-body-han-1-strong-text-letter-spacing, 0.05em); + line-height: var(--wa-body-han-1-strong-text-line-height, 1.7); text-transform: var(--wa-body-han-1-strong-text-transform, none); - margin-top: 0; - margin-bottom: 0; } + .wa:lang(ja) .wa-Body2, .wa:lang(ko) .wa-Body2, .wa:lang(zh) .wa-Body2, .wa:lang(ja) .wa-Body--large, .wa:lang(ko) .wa-Body--large, .wa:lang(zh) .wa-Body--large { + margin-top: 0; + margin-bottom: 0; font-size: var(--wa-body-han-2-text-size, var(--wa-global-dimension-size-225)); - font-weight: var(--wa-body-han-2-text-font-weight, 400); - line-height: var(--wa-body-han-2-text-line-height, 1.7); font-style: var(--wa-body-han-2-text-font-style, normal); + font-weight: var(--wa-body-han-2-text-font-weight, 400); letter-spacing: var(--wa-body-han-2-text-letter-spacing, 0.05em); + line-height: var(--wa-body-han-2-text-line-height, 1.7); text-transform: var(--wa-body-han-2-text-transform, none); - margin-top: 0; - margin-bottom: 0; } + .wa:lang(ja) .wa-Body2 em, .wa:lang(ko) .wa-Body2 em, .wa:lang(zh) .wa-Body2 em, .wa:lang(ja) .wa-Body--large em, .wa:lang(ko) .wa-Body--large em, .wa:lang(zh) .wa-Body--large em { + margin-top: 0; + margin-bottom: 0; font-size: var(--wa-body-han-2-emphasis-text-size, var(--wa-global-dimension-size-225)); - font-weight: var(--wa-body-han-2-emphasis-text-font-weight, 700); - line-height: var(--wa-body-han-2-emphasis-text-line-height, 1.7); font-style: var(--wa-body-han-2-emphasis-text-font-style, normal); + font-weight: var(--wa-body-han-2-emphasis-text-font-weight, 700); letter-spacing: var(--wa-body-han-2-emphasis-text-letter-spacing, 0.05em); + line-height: var(--wa-body-han-2-emphasis-text-line-height, 1.7); text-transform: var(--wa-body-han-2-emphasis-text-transform, none); - margin-top: 0; - margin-bottom: 0; } + .wa:lang(ja) .wa-Body2 strong, .wa:lang(ko) .wa-Body2 strong, .wa:lang(zh) .wa-Body2 strong, .wa:lang(ja) .wa-Body--large strong, .wa:lang(ko) .wa-Body--large strong, .wa:lang(zh) .wa-Body--large strong { + margin-top: 0; + margin-bottom: 0; font-size: var(--wa-body-han-2-strong-text-size, var(--wa-global-dimension-size-225)); - font-weight: var(--wa-body-han-2-strong-text-font-weight, 900); - line-height: var(--wa-body-han-2-strong-text-line-height, 1.7); font-style: var(--wa-body-han-2-strong-text-font-style, normal); + font-weight: var(--wa-body-han-2-strong-text-font-weight, 900); letter-spacing: var(--wa-body-han-2-strong-text-letter-spacing, 0.05em); + line-height: var(--wa-body-han-2-strong-text-line-height, 1.7); text-transform: var(--wa-body-han-2-strong-text-transform, none); - margin-top: 0; - margin-bottom: 0; } + .wa:lang(ja) .wa-Body3, .wa:lang(ko) .wa-Body3, .wa:lang(zh) .wa-Body3 { + margin-top: 0; + margin-bottom: 0; font-size: var(--wa-body-han-3-text-size, var(--wa-global-dimension-font-size-200)); - font-weight: var(--wa-body-han-3-text-font-weight, 400); - line-height: var(--wa-body-han-3-text-line-height, 1.7); font-style: var(--wa-body-han-3-text-font-style, normal); + font-weight: var(--wa-body-han-3-text-font-weight, 400); letter-spacing: var(--wa-body-han-3-text-letter-spacing, 0.05em); + line-height: var(--wa-body-han-3-text-line-height, 1.7); text-transform: var(--wa-body-han-3-text-transform, none); - margin-top: 0; - margin-bottom: 0; } + .wa:lang(ja) .wa-Body3 em, .wa:lang(ko) .wa-Body3 em, .wa:lang(zh) .wa-Body3 em { + margin-top: 0; + margin-bottom: 0; font-size: var( --wa-body-han-3-emphasis-text-size, var(--wa-global-dimension-font-size-200) ); - font-weight: var(--wa-body-han-3-emphasis-text-font-weight, 700); - line-height: var(--wa-body-han-3-emphasis-text-line-height, 1.7); font-style: var(--wa-body-han-3-emphasis-text-font-style, normal); + font-weight: var(--wa-body-han-3-emphasis-text-font-weight, 700); letter-spacing: var(--wa-body-han-3-emphasis-text-letter-spacing, 0.05em); + line-height: var(--wa-body-han-3-emphasis-text-line-height, 1.7); text-transform: var(--wa-body-han-3-emphasis-text-transform, none); - margin-top: 0; - margin-bottom: 0; } + .wa:lang(ja) .wa-Body3 strong, .wa:lang(ko) .wa-Body3 strong, .wa:lang(zh) .wa-Body3 strong { + margin-top: 0; + margin-bottom: 0; font-size: var( --wa-body-han-3-strong-text-size, var(--wa-global-dimension-font-size-200) ); - font-weight: var(--wa-body-han-3-strong-text-font-weight, 900); - line-height: var(--wa-body-han-3-strong-text-line-height, 1.7); font-style: var(--wa-body-han-3-strong-text-font-style, normal); + font-weight: var(--wa-body-han-3-strong-text-font-weight, 900); letter-spacing: var(--wa-body-han-3-strong-text-letter-spacing, 0.05em); + line-height: var(--wa-body-han-3-strong-text-line-height, 1.7); text-transform: var(--wa-body-han-3-strong-text-transform, none); - margin-top: 0; - margin-bottom: 0; } + .wa:lang(ja) .wa-Body4, .wa:lang(ko) .wa-Body4, .wa:lang(zh) .wa-Body4, .wa:lang(ja) .wa-Body--secondary, .wa:lang(ko) .wa-Body--secondary, .wa:lang(zh) .wa-Body--secondary { + margin-top: 0; + margin-bottom: 0; font-size: var(--wa-body-han-4-text-size, var(--wa-global-dimension-font-size-100)); - font-weight: var(--wa-body-han-4-text-font-weight, 400); - line-height: var(--wa-body-han-4-text-line-height, 1.7); font-style: var(--wa-body-han-4-text-font-style, normal); + font-weight: var(--wa-body-han-4-text-font-weight, 400); letter-spacing: var(--wa-body-han-4-text-letter-spacing, 0.05em); + line-height: var(--wa-body-han-4-text-line-height, 1.7); text-transform: var(--wa-body-han-4-text-transform, none); - margin-top: 0; - margin-bottom: 0; } + .wa:lang(ja) .wa-Body4 em, .wa:lang(ko) .wa-Body4 em, .wa:lang(zh) .wa-Body4 em, .wa:lang(ja) .wa-Body--secondary em, .wa:lang(ko) .wa-Body--secondary em, .wa:lang(zh) .wa-Body--secondary em { + margin-top: 0; + margin-bottom: 0; font-size: var( --wa-body-han-4-emphasis-text-size, var(--wa-global-dimension-font-size-100) ); - font-weight: var(--wa-body-han-4-emphasis-text-font-weight, 700); - line-height: var(--wa-body-han-4-emphasis-text-line-height, 1.7); font-style: var(--wa-body-han-4-emphasis-text-font-style, normal); + font-weight: var(--wa-body-han-4-emphasis-text-font-weight, 700); letter-spacing: var(--wa-body-han-4-emphasis-text-letter-spacing, 0.05em); + line-height: var(--wa-body-han-4-emphasis-text-line-height, 1.7); text-transform: var(--wa-body-han-4-emphasis-text-transform, none); - margin-top: 0; - margin-bottom: 0; } + .wa:lang(ja) .wa-Body4 strong, .wa:lang(ko) .wa-Body4 strong, .wa:lang(zh) .wa-Body4 strong, .wa:lang(ja) .wa-Body--secondary strong, .wa:lang(ko) .wa-Body--secondary strong, .wa:lang(zh) .wa-Body--secondary strong { + margin-top: 0; + margin-bottom: 0; font-size: var( --wa-body-han-4-strong-text-size, var(--wa-global-dimension-font-size-100) ); - font-weight: var(--wa-body-han-4-strong-text-font-weight, 900); - line-height: var(--wa-body-han-4-strong-text-line-height, 1.7); font-style: var(--wa-body-han-4-strong-text-font-style, normal); + font-weight: var(--wa-body-han-4-strong-text-font-weight, 900); letter-spacing: var(--wa-body-han-4-strong-text-letter-spacing, 0.05em); + line-height: var(--wa-body-han-4-strong-text-line-height, 1.7); text-transform: var(--wa-body-han-4-strong-text-transform, none); - margin-top: 0; - margin-bottom: 0; } + .wa:lang(ja) .wa-Body5, .wa:lang(ko) .wa-Body5, .wa:lang(zh) .wa-Body5, .wa:lang(ja) .wa-Body--small, .wa:lang(ko) .wa-Body--small, .wa:lang(zh) .wa-Body--small { + margin-top: 0; + margin-bottom: 0; font-size: var(--wa-body-han-5-text-size, var(--wa-global-dimension-size-150)); - font-weight: var(--wa-body-han-5-text-font-weight, 400); - line-height: var(--wa-body-han-5-text-line-height, 1.7); font-style: var(--wa-body-han-5-text-font-style, normal); + font-weight: var(--wa-body-han-5-text-font-weight, 400); letter-spacing: var(--wa-body-han-5-text-letter-spacing, 0.05em); + line-height: var(--wa-body-han-5-text-line-height, 1.7); text-transform: var(--wa-body-han-5-text-transform, none); - margin-top: 0; - margin-bottom: 0; } + .wa:lang(ja) .wa-Body5 em, .wa:lang(ko) .wa-Body5 em, .wa:lang(zh) .wa-Body5 em, .wa:lang(ja) .wa-Body--small em, .wa:lang(ko) .wa-Body--small em, .wa:lang(zh) .wa-Body--small em { + margin-top: 0; + margin-bottom: 0; font-size: var(--wa-body-han-5-emphasis-text-size, var(--wa-global-dimension-size-150)); - font-weight: var(--wa-body-han-5-emphasis-text-font-weight, 700); - line-height: var(--wa-body-han-5-emphasis-text-line-height, 1.7); font-style: var(--wa-body-han-5-emphasis-text-font-style, normal); + font-weight: var(--wa-body-han-5-emphasis-text-font-weight, 700); letter-spacing: var(--wa-body-han-5-emphasis-text-letter-spacing, 0.05em); + line-height: var(--wa-body-han-5-emphasis-text-line-height, 1.7); text-transform: var(--wa-body-han-5-emphasis-text-transform, none); - margin-top: 0; - margin-bottom: 0; } + .wa:lang(ja) .wa-Body5 strong, .wa:lang(ko) .wa-Body5 strong, .wa:lang(zh) .wa-Body5 strong, .wa:lang(ja) .wa-Body--small strong, .wa:lang(ko) .wa-Body--small strong, .wa:lang(zh) .wa-Body--small strong { + margin-top: 0; + margin-bottom: 0; font-size: var(--wa-body-han-5-strong-text-size, var(--wa-global-dimension-size-150)); - font-weight: var(--wa-body-han-5-strong-text-font-weight, 900); - line-height: var(--wa-body-han-5-strong-text-line-height, 1.7); font-style: var(--wa-body-han-5-strong-text-font-style, normal); + font-weight: var(--wa-body-han-5-strong-text-font-weight, 900); letter-spacing: var(--wa-body-han-5-strong-text-letter-spacing, 0.05em); + line-height: var(--wa-body-han-5-strong-text-line-height, 1.7); text-transform: var(--wa-body-han-5-strong-text-transform, none); - margin-top: 0; - margin-bottom: 0; } + .wa:lang(ja) .wa-Heading1, .wa:lang(ko) .wa-Heading1, .wa:lang(zh) .wa-Heading1 { + margin-top: 0; + margin-bottom: 0; font-size: var(--wa-heading-han-1-text-size, var(--wa-global-dimension-font-size-800)); - font-weight: var(--wa-heading-han-1-text-font-weight, 700); - line-height: var(--wa-heading-han-1-text-line-height, 1.5); font-style: var(--wa-heading-han-1-text-font-style, normal); + font-weight: var(--wa-heading-han-1-text-font-weight, 700); letter-spacing: var(--wa-heading-han-1-text-letter-spacing, 0.05em); + line-height: var(--wa-heading-han-1-text-line-height, 1.5); text-transform: var(--wa-heading-han-1-text-transform, none); - margin-top: 0; - margin-bottom: 0; } + .wa:lang(ja) .wa-Heading1 em, .wa:lang(ko) .wa-Heading1 em, .wa:lang(zh) .wa-Heading1 em { + margin-top: 0; + margin-bottom: 0; font-size: var( --wa-heading-han-1-emphasis-text-size, var(--wa-global-dimension-font-size-800) ); - font-weight: var(--wa-heading-han-1-emphasis-text-font-weight, 800); - line-height: var(--wa-heading-han-1-emphasis-text-line-height, 1.5); font-style: var(--wa-heading-han-1-emphasis-text-font-style, normal); + font-weight: var(--wa-heading-han-1-emphasis-text-font-weight, 800); letter-spacing: var(--wa-heading-han-1-emphasis-text-letter-spacing, 0.05em); + line-height: var(--wa-heading-han-1-emphasis-text-line-height, 1.5); text-transform: var(--wa-heading-han-1-emphasis-text-transform, none); - margin-top: 0; - margin-bottom: 0; } + .wa:lang(ja) .wa-Heading1 strong, .wa:lang(ko) .wa-Heading1 strong, .wa:lang(zh) .wa-Heading1 strong { + margin-top: 0; + margin-bottom: 0; font-size: var( --wa-heading-han-1-strong-text-size, var(--wa-global-dimension-font-size-800) ); - font-weight: var(--wa-heading-han-1-strong-text-font-weight, 900); - line-height: var(--wa-heading-han-1-strong-text-line-height, 1.5); font-style: var(--wa-heading-han-1-strong-text-font-style, normal); + font-weight: var(--wa-heading-han-1-strong-text-font-weight, 900); letter-spacing: var(--wa-heading-han-1-strong-text-letter-spacing, 0.05em); + line-height: var(--wa-heading-han-1-strong-text-line-height, 1.5); text-transform: var(--wa-heading-han-1-strong-text-transform, none); - margin-top: 0; - margin-bottom: 0; } + .wa:lang(ja) .wa-Heading2, .wa:lang(ko) .wa-Heading2, .wa:lang(zh) .wa-Heading2 { + margin-top: 0; + margin-bottom: 0; font-size: var(--wa-heading-han-2-text-size, var(--wa-global-dimension-font-size-600)); - font-weight: var(--wa-heading-han-2-text-font-weight, 700); - line-height: var(--wa-heading-han-2-text-line-height, 1.5); font-style: var(--wa-heading-han-2-text-font-style, normal); + font-weight: var(--wa-heading-han-2-text-font-weight, 700); letter-spacing: var(--wa-heading-han-2-text-letter-spacing, 0.05em); + line-height: var(--wa-heading-han-2-text-line-height, 1.5); text-transform: var(--wa-heading-han-2-text-transform, none); - margin-top: 0; - margin-bottom: 0; } + .wa:lang(ja) .wa-Heading2 em, .wa:lang(ko) .wa-Heading2 em, .wa:lang(zh) .wa-Heading2 em { + margin-top: 0; + margin-bottom: 0; font-size: var( --wa-heading-han-2-emphasis-text-size, var(--wa-global-dimension-font-size-600) ); - font-weight: var(--wa-heading-han-2-emphasis-text-font-weight, 800); - line-height: var(--wa-heading-han-2-emphasis-text-line-height, 1.5); font-style: var(--wa-heading-han-2-emphasis-text-font-style, normal); + font-weight: var(--wa-heading-han-2-emphasis-text-font-weight, 800); letter-spacing: var(--wa-heading-han-2-emphasis-text-letter-spacing, 0.05em); + line-height: var(--wa-heading-han-2-emphasis-text-line-height, 1.5); text-transform: var(--wa-heading-han-2-emphasis-text-transform, none); - margin-top: 0; - margin-bottom: 0; } + .wa:lang(ja) .wa-Heading2 strong, .wa:lang(ko) .wa-Heading2 strong, .wa:lang(zh) .wa-Heading2 strong { + margin-top: 0; + margin-bottom: 0; font-size: var( --wa-heading-han-2-strong-text-size, var(--wa-global-dimension-font-size-600) ); - font-weight: var(--wa-heading-han-2-strong-text-font-weight, 900); - line-height: var(--wa-heading-han-2-strong-text-line-height, 1.5); font-style: var(--wa-heading-han-2-strong-text-font-style, normal); + font-weight: var(--wa-heading-han-2-strong-text-font-weight, 900); letter-spacing: var(--wa-heading-han-2-strong-text-letter-spacing, 0.05em); + line-height: var(--wa-heading-han-2-strong-text-line-height, 1.5); text-transform: var(--wa-heading-han-2-strong-text-transform, none); - margin-top: 0; - margin-bottom: 0; } + .wa:lang(ja) .wa-Heading3, .wa:lang(ko) .wa-Heading3, .wa:lang(zh) .wa-Heading3 { + margin-top: 0; + margin-bottom: 0; font-size: var(--wa-heading-han-3-text-size, var(--wa-global-dimension-font-size-400)); - font-weight: var(--wa-heading-han-3-text-font-weight, 700); - line-height: var(--wa-heading-han-3-text-line-height, 1.5); font-style: var(--wa-heading-han-3-text-font-style, normal); + font-weight: var(--wa-heading-han-3-text-font-weight, 700); letter-spacing: var(--wa-heading-han-3-text-letter-spacing, 0.05em); + line-height: var(--wa-heading-han-3-text-line-height, 1.5); text-transform: var(--wa-heading-han-3-text-transform, none); - margin-top: 0; - margin-bottom: 0; } + .wa:lang(ja) .wa-Heading3 em, .wa:lang(ko) .wa-Heading3 em, .wa:lang(zh) .wa-Heading3 em { + margin-top: 0; + margin-bottom: 0; font-size: var( --wa-heading-han-3-emphasis-text-size, var(--wa-global-dimension-font-size-400) ); - font-weight: var(--wa-heading-han-3-emphasis-text-font-weight, 800); - line-height: var(--wa-heading-han-3-emphasis-text-line-height, 1.5); font-style: var(--wa-heading-han-3-emphasis-text-font-style, normal); + font-weight: var(--wa-heading-han-3-emphasis-text-font-weight, 800); letter-spacing: var(--wa-heading-han-3-emphasis-text-letter-spacing, 0.05em); + line-height: var(--wa-heading-han-3-emphasis-text-line-height, 1.5); text-transform: var(--wa-heading-han-3-emphasis-text-transform, none); - margin-top: 0; - margin-bottom: 0; } + .wa:lang(ja) .wa-Heading3 strong, .wa:lang(ko) .wa-Heading3 strong, .wa:lang(zh) .wa-Heading3 strong { + margin-top: 0; + margin-bottom: 0; font-size: var( --wa-heading-han-3-strong-text-size, var(--wa-global-dimension-font-size-400) ); - font-weight: var(--wa-heading-han-3-strong-text-font-weight, 900); - line-height: var(--wa-heading-han-3-strong-text-line-height, 1.5); font-style: var(--wa-heading-han-3-strong-text-font-style, normal); + font-weight: var(--wa-heading-han-3-strong-text-font-weight, 900); letter-spacing: var(--wa-heading-han-3-strong-text-letter-spacing, 0.05em); + line-height: var(--wa-heading-han-3-strong-text-line-height, 1.5); text-transform: var(--wa-heading-han-3-strong-text-transform, none); - margin-top: 0; - margin-bottom: 0; } + .wa:lang(ja) .wa-Heading4, .wa:lang(ko) .wa-Heading4, .wa:lang(zh) .wa-Heading4, .wa:lang(ja) .wa-Heading--subtitle1, .wa:lang(ko) .wa-Heading--subtitle1, .wa:lang(zh) .wa-Heading--subtitle1 { + margin-top: 0; + margin-bottom: 0; font-size: var(--wa-heading-han-4-text-size, var(--wa-global-dimension-size-225)); - font-weight: var(--wa-heading-han-4-text-font-weight, 700); - line-height: var(--wa-heading-han-4-text-line-height, 1.5); font-style: var(--wa-heading-han-4-text-font-style, normal); + font-weight: var(--wa-heading-han-4-text-font-weight, 700); letter-spacing: var(--wa-heading-han-4-text-letter-spacing, 0.05em); + line-height: var(--wa-heading-han-4-text-line-height, 1.5); text-transform: var(--wa-heading-han-4-text-transform, none); - margin-top: 0; - margin-bottom: 0; } + .wa:lang(ja) .wa-Heading4 em, .wa:lang(ko) .wa-Heading4 em, .wa:lang(zh) .wa-Heading4 em, .wa:lang(ja) .wa-Heading--subtitle1 em, .wa:lang(ko) .wa-Heading--subtitle1 em, .wa:lang(zh) .wa-Heading--subtitle1 em { + margin-top: 0; + margin-bottom: 0; font-size: var( --wa-heading-han-4-emphasis-text-size, var(--wa-global-dimension-size-225) ); - font-weight: var(--wa-heading-han-4-emphasis-text-font-weight, 800); - line-height: var(--wa-heading-han-4-emphasis-text-line-height, 1.5); font-style: var(--wa-heading-han-4-emphasis-text-font-style, normal); + font-weight: var(--wa-heading-han-4-emphasis-text-font-weight, 800); letter-spacing: var(--wa-heading-han-4-emphasis-text-letter-spacing, 0.05em); + line-height: var(--wa-heading-han-4-emphasis-text-line-height, 1.5); text-transform: var(--wa-heading-han-4-emphasis-text-transform, none); - margin-top: 0; - margin-bottom: 0; } + .wa:lang(ja) .wa-Heading4 strong, .wa:lang(ko) .wa-Heading4 strong, .wa:lang(zh) .wa-Heading4 strong, .wa:lang(ja) .wa-Heading--subtitle1 strong, .wa:lang(ko) .wa-Heading--subtitle1 strong, .wa:lang(zh) .wa-Heading--subtitle1 strong { + margin-top: 0; + margin-bottom: 0; font-size: var(--wa-heading-han-4-strong-text-size, var(--wa-global-dimension-size-225)); - font-weight: var(--wa-heading-han-4-strong-text-font-weight, 900); - line-height: var(--wa-heading-han-4-strong-text-line-height, 1.5); font-style: var(--wa-heading-han-4-strong-text-font-style, normal); + font-weight: var(--wa-heading-han-4-strong-text-font-weight, 900); letter-spacing: var(--wa-heading-han-4-strong-text-letter-spacing, 0.05em); + line-height: var(--wa-heading-han-4-strong-text-line-height, 1.5); text-transform: var(--wa-heading-han-4-strong-text-transform, none); - margin-top: 0; - margin-bottom: 0; } + .wa:lang(ja) .wa-Heading5, .wa:lang(ko) .wa-Heading5, .wa:lang(zh) .wa-Heading5 { + margin-top: 0; + margin-bottom: 0; font-size: var(--wa-heading-han-5-text-size, var(--wa-global-dimension-font-size-200)); - font-weight: var(--wa-heading-han-5-text-font-weight, 700); - line-height: var(--wa-heading-han-5-text-line-height, 1.5); font-style: var(--wa-heading-han-5-text-font-style, normal); + font-weight: var(--wa-heading-han-5-text-font-weight, 700); letter-spacing: var(--wa-heading-han-5-text-letter-spacing, 0.05em); + line-height: var(--wa-heading-han-5-text-line-height, 1.5); text-transform: var(--wa-heading-han-5-text-transform, none); - margin-top: 0; - margin-bottom: 0; } + .wa:lang(ja) .wa-Heading5 em, .wa:lang(ko) .wa-Heading5 em, .wa:lang(zh) .wa-Heading5 em { + margin-top: 0; + margin-bottom: 0; font-size: var( --wa-heading-han-5-emphasis-text-size, var(--wa-global-dimension-font-size-200) ); - font-weight: var(--wa-heading-han-5-emphasis-text-font-weight, 800); - line-height: var(--wa-heading-han-5-emphasis-text-line-height, 1.5); font-style: var(--wa-heading-han-5-emphasis-text-font-style, normal); + font-weight: var(--wa-heading-han-5-emphasis-text-font-weight, 800); letter-spacing: var(--wa-heading-han-5-emphasis-text-letter-spacing, 0.05em); + line-height: var(--wa-heading-han-5-emphasis-text-line-height, 1.5); text-transform: var(--wa-heading-han-5-emphasis-text-transform, none); - margin-top: 0; - margin-bottom: 0; } + .wa:lang(ja) .wa-Heading5 strong, .wa:lang(ko) .wa-Heading5 strong, .wa:lang(zh) .wa-Heading5 strong { + margin-top: 0; + margin-bottom: 0; font-size: var( --wa-heading-han-5-strong-text-size, var(--wa-global-dimension-font-size-200) ); - font-weight: var(--wa-heading-han-5-strong-text-font-weight, 900); - line-height: var(--wa-heading-han-5-strong-text-line-height, 1.5); font-style: var(--wa-heading-han-5-strong-text-font-style, normal); + font-weight: var(--wa-heading-han-5-strong-text-font-weight, 900); letter-spacing: var(--wa-heading-han-5-strong-text-letter-spacing, 0.05em); + line-height: var(--wa-heading-han-5-strong-text-line-height, 1.5); text-transform: var(--wa-heading-han-5-strong-text-transform, none); - margin-top: 0; - margin-bottom: 0; } + .wa:lang(ja) .wa-Heading6, .wa:lang(ko) .wa-Heading6, .wa:lang(zh) .wa-Heading6, .wa:lang(ja) .wa-Heading--subtitle2, .wa:lang(ko) .wa-Heading--subtitle2, .wa:lang(zh) .wa-Heading--subtitle2 { + margin-top: 0; + margin-bottom: 0; font-size: var(--wa-heading-han-6-text-size, var(--wa-global-dimension-font-size-100)); - font-weight: var(--wa-heading-han-6-text-font-weight, 700); - line-height: var(--wa-heading-han-6-text-line-height, 1.5); font-style: var(--wa-heading-han-6-text-font-style, normal); + font-weight: var(--wa-heading-han-6-text-font-weight, 700); letter-spacing: var(--wa-heading-han-6-text-letter-spacing, 0.05em); + line-height: var(--wa-heading-han-6-text-line-height, 1.5); text-transform: var(--wa-heading-han-6-text-transform, none); - margin-top: 0; - margin-bottom: 0; } + .wa:lang(ja) .wa-Heading6 em, .wa:lang(ko) .wa-Heading6 em, .wa:lang(zh) .wa-Heading6 em, .wa:lang(ja) .wa-Heading--subtitle2 em, .wa:lang(ko) .wa-Heading--subtitle2 em, .wa:lang(zh) .wa-Heading--subtitle2 em { + margin-top: 0; + margin-bottom: 0; font-size: var( --wa-heading-han-6-emphasis-text-size, var(--wa-global-dimension-font-size-100) ); - font-weight: var(--wa-heading-han-6-emphasis-text-font-weight, 800); - line-height: var(--wa-heading-han-6-emphasis-text-line-height, 1.5); font-style: var(--wa-heading-han-6-emphasis-text-font-style, normal); + font-weight: var(--wa-heading-han-6-emphasis-text-font-weight, 800); letter-spacing: var(--wa-heading-han-6-emphasis-text-letter-spacing, 0.05em); + line-height: var(--wa-heading-han-6-emphasis-text-line-height, 1.5); text-transform: var(--wa-heading-han-6-emphasis-text-transform, none); - margin-top: 0; - margin-bottom: 0; } + .wa:lang(ja) .wa-Heading6 strong, .wa:lang(ko) .wa-Heading6 strong, .wa:lang(zh) .wa-Heading6 strong, .wa:lang(ja) .wa-Heading--subtitle2 strong, .wa:lang(ko) .wa-Heading--subtitle2 strong, .wa:lang(zh) .wa-Heading--subtitle2 strong { + margin-top: 0; + margin-bottom: 0; font-size: var( --wa-heading-han-6-strong-text-size, var(--wa-global-dimension-font-size-100) ); - font-weight: var(--wa-heading-han-6-strong-text-font-weight, 900); - line-height: var(--wa-heading-han-6-strong-text-line-height, 1.5); font-style: var(--wa-heading-han-6-strong-text-font-style, normal); + font-weight: var(--wa-heading-han-6-strong-text-font-weight, 900); letter-spacing: var(--wa-heading-han-6-strong-text-letter-spacing, 0.05em); + line-height: var(--wa-heading-han-6-strong-text-line-height, 1.5); text-transform: var(--wa-heading-han-6-strong-text-transform, none); - margin-top: 0; - margin-bottom: 0; } + .wa:lang(ja) .wa-Subheading, .wa:lang(ko) .wa-Subheading, .wa:lang(zh) .wa-Subheading, .wa:lang(ja) .wa-Heading--subtitle3, .wa:lang(ko) .wa-Heading--subtitle3, .wa:lang(zh) .wa-Heading--subtitle3 { + margin-top: 0; + margin-bottom: 0; font-size: var(--wa-subheading-han-text-size, var(--wa-global-dimension-font-size-50)); - font-weight: var(--wa-subheading-han-text-font-weight, 700); - line-height: var(--wa-subheading-han-text-line-height, 1.5); font-style: var(--wa-subheading-han-text-font-style, normal); + font-weight: var(--wa-subheading-han-text-font-weight, 700); letter-spacing: var(--wa-subheading-han-text-letter-spacing, 0.05em); + line-height: var(--wa-subheading-han-text-line-height, 1.5); text-transform: var(--wa-subheading-han-text-transform, none); - margin-top: 0; - margin-bottom: 0; } + .wa:lang(ja) .wa-Subheading em, .wa:lang(ko) .wa-Subheading em, .wa:lang(zh) .wa-Subheading em, .wa:lang(ja) .wa-Heading--subtitle3 em, .wa:lang(ko) .wa-Heading--subtitle3 em, .wa:lang(zh) .wa-Heading--subtitle3 em { + margin-top: 0; + margin-bottom: 0; font-size: var( --wa-subheading-han-emphasis-text-size, var(--wa-global-dimension-font-size-50) ); - font-weight: var(--wa-subheading-han-emphasis-text-font-weight, 800); - line-height: var(--wa-subheading-han-emphasis-text-line-height, 1.5); font-style: var(--wa-subheading-han-emphasis-text-font-style, normal); + font-weight: var(--wa-subheading-han-emphasis-text-font-weight, 800); letter-spacing: var(--wa-subheading-han-emphasis-text-letter-spacing, 0.05em); + line-height: var(--wa-subheading-han-emphasis-text-line-height, 1.5); text-transform: var(--wa-subheading-han-emphasis-text-transform, none); - margin-top: 0; - margin-bottom: 0; } + .wa:lang(ja) .wa-Subheading strong, .wa:lang(ko) .wa-Subheading strong, .wa:lang(zh) .wa-Subheading strong, .wa:lang(ja) .wa-Heading--subtitle3 strong, .wa:lang(ko) .wa-Heading--subtitle3 strong, .wa:lang(zh) .wa-Heading--subtitle3 strong { + margin-top: 0; + margin-bottom: 0; font-size: var( --wa-subheading-han-strong-text-size, var(--wa-global-dimension-font-size-50) ); - font-weight: var(--wa-subheading-han-strong-text-font-weight, 900); - line-height: var(--wa-subheading-han-strong-text-line-height, 1.5); font-style: var(--wa-subheading-han-strong-text-font-style, normal); + font-weight: var(--wa-subheading-han-strong-text-font-weight, 900); letter-spacing: var(--wa-subheading-han-strong-text-letter-spacing, 0.05em); + line-height: var(--wa-subheading-han-strong-text-line-height, 1.5); text-transform: var(--wa-subheading-han-strong-text-transform, none); - margin-top: 0; - margin-bottom: 0; } + .wa:lang(ja) .wa-Detail, .wa:lang(ko) .wa-Detail, .wa:lang(zh) .wa-Detail { + margin-top: 0; + margin-bottom: 0; font-size: var(--wa-detail-han-text-size, var(--wa-global-dimension-font-size-50)); - font-weight: var(--wa-detail-han-text-font-weight, 400); - line-height: var(--wa-detail-han-text-line-height, 1.7); font-style: var(--wa-detail-han-text-font-style, normal); + font-weight: var(--wa-detail-han-text-font-weight, 400); letter-spacing: var(--wa-detail-han-text-letter-spacing, 0.05em); + line-height: var(--wa-detail-han-text-line-height, 1.7); text-transform: var(--wa-detail-han-text-transform, none); - margin-top: 0; - margin-bottom: 0; } + .wa:lang(ja) .wa-Detail em, .wa:lang(ko) .wa-Detail em, .wa:lang(zh) .wa-Detail em { + margin-top: 0; + margin-bottom: 0; font-size: var( --wa-detail-han-emphasis-text-size, var(--wa-global-dimension-font-size-50) ); - font-weight: var(--wa-detail-han-emphasis-text-font-weight, 700); - line-height: var(--wa-detail-han-emphasis-text-line-height, 1.7); font-style: var(--wa-detail-han-emphasis-text-font-style, normal); + font-weight: var(--wa-detail-han-emphasis-text-font-weight, 700); letter-spacing: var(--wa-detail-han-emphasis-text-letter-spacing, 0.05em); + line-height: var(--wa-detail-han-emphasis-text-line-height, 1.7); text-transform: var(--wa-detail-han-emphasis-text-transform, none); - margin-top: 0; - margin-bottom: 0; } + .wa:lang(ja) .wa-Detail strong, .wa:lang(ko) .wa-Detail strong, .wa:lang(zh) .wa-Detail strong { + margin-top: 0; + margin-bottom: 0; font-size: var(--wa-detail-han-strong-text-size, var(--wa-global-dimension-font-size-50)); - font-weight: var(--wa-detail-han-strong-text-font-weight, 900); - line-height: var(--wa-detail-han-strong-text-line-height, 1.7); font-style: var(--wa-detail-han-strong-text-font-style, normal); + font-weight: var(--wa-detail-han-strong-text-font-weight, 900); letter-spacing: var(--wa-detail-han-strong-text-letter-spacing, 0.05em); + line-height: var(--wa-detail-han-strong-text-line-height, 1.7); text-transform: var(--wa-detail-han-strong-text-transform, none); - margin-top: 0; - margin-bottom: 0; } + .wa:lang(ja) .wa-Heading1--quiet, .wa:lang(ko) .wa-Heading1--quiet, .wa:lang(zh) .wa-Heading1--quiet { + margin-top: 0; + margin-bottom: 0; font-size: var( --wa-heading-quiet-han-1-text-size, var(--wa-global-dimension-font-size-800) ); - font-weight: var(--wa-heading-quiet-han-1-text-font-weight, 300); - line-height: var(--wa-heading-quiet-han-1-text-line-height, 1.5); font-style: var(--wa-heading-quiet-han-1-text-font-style, normal); + font-weight: var(--wa-heading-quiet-han-1-text-font-weight, 300); letter-spacing: var(--wa-heading-quiet-han-1-text-letter-spacing, 0.05em); + line-height: var(--wa-heading-quiet-han-1-text-line-height, 1.5); text-transform: var(--wa-heading-quiet-han-1-text-transform, none); - margin-top: 0; - margin-bottom: 0; } + .wa:lang(ja) .wa-Heading1--quiet em, .wa:lang(ko) .wa-Heading1--quiet em, .wa:lang(zh) .wa-Heading1--quiet em { + margin-top: 0; + margin-bottom: 0; font-size: var( --wa-heading-quiet-han-1-emphasis-text-size, var(--wa-global-dimension-font-size-800) ); - font-weight: var(--wa-heading-quiet-han-1-emphasis-text-font-weight, 400); - line-height: var(--wa-heading-quiet-han-1-emphasis-text-line-height, 1.5); font-style: var(--wa-heading-quiet-han-1-emphasis-text-font-style, normal); + font-weight: var(--wa-heading-quiet-han-1-emphasis-text-font-weight, 400); letter-spacing: var(--wa-heading-quiet-han-1-emphasis-text-letter-spacing, 0.05em); + line-height: var(--wa-heading-quiet-han-1-emphasis-text-line-height, 1.5); text-transform: var(--wa-heading-quiet-han-1-emphasis-text-transform, none); - margin-top: 0; - margin-bottom: 0; } + .wa:lang(ja) .wa-Heading1--quiet strong, .wa:lang(ko) .wa-Heading1--quiet strong, .wa:lang(zh) .wa-Heading1--quiet strong { + margin-top: 0; + margin-bottom: 0; font-size: var( --wa-heading-quiet-han-1-strong-text-size, var(--wa-global-dimension-font-size-800) ); - font-weight: var(--wa-heading-quiet-han-1-strong-text-font-weight, 700); - line-height: var(--wa-heading-quiet-han-1-strong-text-line-height, 1.5); font-style: var(--wa-heading-quiet-han-1-strong-text-font-style, normal); + font-weight: var(--wa-heading-quiet-han-1-strong-text-font-weight, 700); letter-spacing: var(--wa-heading-quiet-han-1-strong-text-letter-spacing, 0.05em); + line-height: var(--wa-heading-quiet-han-1-strong-text-line-height, 1.5); text-transform: var(--wa-heading-quiet-han-1-strong-text-transform, none); - margin-top: 0; - margin-bottom: 0; } + .wa:lang(ja) .wa-Heading2--quiet, .wa:lang(ko) .wa-Heading2--quiet, .wa:lang(zh) .wa-Heading2--quiet, .wa:lang(ja) .wa-Heading--pageTitle, .wa:lang(ko) .wa-Heading--pageTitle, .wa:lang(zh) .wa-Heading--pageTitle { + margin-top: 0; + margin-bottom: 0; font-size: var( --wa-heading-quiet-han-2-text-size, var(--wa-global-dimension-font-size-600) ); - font-weight: var(--wa-heading-quiet-han-2-text-font-weight, 300); - line-height: var(--wa-heading-quiet-han-2-text-line-height, 1.5); font-style: var(--wa-heading-quiet-han-2-text-font-style, normal); + font-weight: var(--wa-heading-quiet-han-2-text-font-weight, 300); letter-spacing: var(--wa-heading-quiet-han-2-text-letter-spacing, 0.05em); + line-height: var(--wa-heading-quiet-han-2-text-line-height, 1.5); text-transform: var(--wa-heading-quiet-han-2-text-transform, none); - margin-top: 0; - margin-bottom: 0; } + .wa:lang(ja) .wa-Heading2--quiet em, .wa:lang(ko) .wa-Heading2--quiet em, .wa:lang(zh) .wa-Heading2--quiet em, .wa:lang(ja) .wa-Heading--pageTitle em, .wa:lang(ko) .wa-Heading--pageTitle em, .wa:lang(zh) .wa-Heading--pageTitle em { + margin-top: 0; + margin-bottom: 0; font-size: var( --wa-heading-quiet-han-2-emphasis-text-size, var(--wa-global-dimension-font-size-600) ); - font-weight: var(--wa-heading-quiet-han-2-emphasis-text-font-weight, 400); - line-height: var(--wa-heading-quiet-han-2-emphasis-text-line-height, 1.5); font-style: var(--wa-heading-quiet-han-2-emphasis-text-font-style, normal); + font-weight: var(--wa-heading-quiet-han-2-emphasis-text-font-weight, 400); letter-spacing: var(--wa-heading-quiet-han-2-emphasis-text-letter-spacing, 0.05em); + line-height: var(--wa-heading-quiet-han-2-emphasis-text-line-height, 1.5); text-transform: var(--wa-heading-quiet-han-2-emphasis-text-transform, none); - margin-top: 0; - margin-bottom: 0; } + .wa:lang(ja) .wa-Heading2--quiet strong, .wa:lang(ko) .wa-Heading2--quiet strong, .wa:lang(zh) .wa-Heading2--quiet strong, .wa:lang(ja) .wa-Heading--pageTitle strong, .wa:lang(ko) .wa-Heading--pageTitle strong, .wa:lang(zh) .wa-Heading--pageTitle strong { + margin-top: 0; + margin-bottom: 0; font-size: var( --wa-heading-quiet-han-2-strong-text-size, var(--wa-global-dimension-font-size-600) ); - font-weight: var(--wa-heading-quiet-han-2-strong-text-font-weight, 700); - line-height: var(--wa-heading-quiet-han-2-strong-text-line-height, 1.5); font-style: var(--wa-heading-quiet-han-2-strong-text-font-style, normal); + font-weight: var(--wa-heading-quiet-han-2-strong-text-font-weight, 700); letter-spacing: var(--wa-heading-quiet-han-2-strong-text-letter-spacing, 0.05em); + line-height: var(--wa-heading-quiet-han-2-strong-text-line-height, 1.5); text-transform: var(--wa-heading-quiet-han-2-strong-text-transform, none); - margin-top: 0; - margin-bottom: 0; } + .wa:lang(ja) .wa-Heading1--strong, .wa:lang(ko) .wa-Heading1--strong, .wa:lang(zh) .wa-Heading1--strong { + margin-top: 0; + margin-bottom: 0; font-size: var( --wa-heading-strong-han-1-text-size, var(--wa-global-dimension-font-size-800) ); - font-weight: var(--wa-heading-strong-han-1-text-font-weight, 900); - line-height: var(--wa-heading-strong-han-1-text-line-height, 1.5); font-style: var(--wa-heading-strong-han-1-text-font-style, normal); + font-weight: var(--wa-heading-strong-han-1-text-font-weight, 900); letter-spacing: var(--wa-heading-strong-han-1-text-letter-spacing, 0.05em); + line-height: var(--wa-heading-strong-han-1-text-line-height, 1.5); text-transform: var(--wa-heading-strong-han-1-text-transform, none); - margin-top: 0; - margin-bottom: 0; } + .wa:lang(ja) .wa-Heading1--strong em, .wa:lang(ko) .wa-Heading1--strong em, .wa:lang(zh) .wa-Heading1--strong em { + margin-top: 0; + margin-bottom: 0; font-size: var( --wa-heading-strong-han-1-emphasis-text-size, var(--wa-global-dimension-font-size-800) ); - font-weight: var(--wa-heading-strong-han-1-emphasis-text-font-weight, 900); - line-height: var(--wa-heading-strong-han-1-emphasis-text-line-height, 1.5); font-style: var(--wa-heading-strong-han-1-emphasis-text-font-style, normal); + font-weight: var(--wa-heading-strong-han-1-emphasis-text-font-weight, 900); letter-spacing: var(--wa-heading-strong-han-1-emphasis-text-letter-spacing, 0.05em); + line-height: var(--wa-heading-strong-han-1-emphasis-text-line-height, 1.5); text-transform: var(--wa-heading-strong-han-1-emphasis-text-transform, none); - margin-top: 0; - margin-bottom: 0; } + .wa:lang(ja) .wa-Heading1--strong strong, .wa:lang(ko) .wa-Heading1--strong strong, .wa:lang(zh) .wa-Heading1--strong strong { + margin-top: 0; + margin-bottom: 0; font-size: var( --wa-heading-strong-han-1-strong-text-size, var(--wa-global-dimension-font-size-800) ); - font-weight: var(--wa-heading-strong-han-1-strong-text-font-weight, 900); - line-height: var(--wa-heading-strong-han-1-strong-text-line-height, 1.5); font-style: var(--wa-heading-strong-han-1-strong-text-font-style, normal); + font-weight: var(--wa-heading-strong-han-1-strong-text-font-weight, 900); letter-spacing: var(--wa-heading-strong-han-1-strong-text-letter-spacing, 0.05em); + line-height: var(--wa-heading-strong-han-1-strong-text-line-height, 1.5); text-transform: var(--wa-heading-strong-han-1-strong-text-transform, none); - margin-top: 0; - margin-bottom: 0; } + .wa:lang(ja) .wa-Heading2--strong, .wa:lang(ko) .wa-Heading2--strong, .wa:lang(zh) .wa-Heading2--strong { + margin-top: 0; + margin-bottom: 0; font-size: var( --wa-heading-strong-han-2-text-size, var(--wa-global-dimension-font-size-600) ); - font-weight: var(--wa-heading-strong-han-2-text-font-weight, 900); - line-height: var(--wa-heading-strong-han-2-text-line-height, 1.5); font-style: var(--wa-heading-strong-han-2-text-font-style, normal); + font-weight: var(--wa-heading-strong-han-2-text-font-weight, 900); letter-spacing: var(--wa-heading-strong-han-2-text-letter-spacing, 0.05em); + line-height: var(--wa-heading-strong-han-2-text-line-height, 1.5); text-transform: var(--wa-heading-strong-han-2-text-transform, none); - margin-top: 0; - margin-bottom: 0; } + .wa:lang(ja) .wa-Heading2--strong em, .wa:lang(ko) .wa-Heading2--strong em, .wa:lang(zh) .wa-Heading2--strong em { + margin-top: 0; + margin-bottom: 0; font-size: var( --wa-heading-strong-han-2-emphasis-text-size, var(--wa-global-dimension-font-size-600) ); - font-weight: var(--wa-heading-strong-han-2-emphasis-text-font-weight, 900); - line-height: var(--wa-heading-strong-han-2-emphasis-text-line-height, 1.5); font-style: var(--wa-heading-strong-han-2-emphasis-text-font-style, normal); + font-weight: var(--wa-heading-strong-han-2-emphasis-text-font-weight, 900); letter-spacing: var(--wa-heading-strong-han-2-emphasis-text-letter-spacing, 0.05em); + line-height: var(--wa-heading-strong-han-2-emphasis-text-line-height, 1.5); text-transform: var(--wa-heading-strong-han-2-emphasis-text-transform, none); - margin-top: 0; - margin-bottom: 0; } + .wa:lang(ja) .wa-Heading2--strong strong, .wa:lang(ko) .wa-Heading2--strong strong, .wa:lang(zh) .wa-Heading2--strong strong { + margin-top: 0; + margin-bottom: 0; font-size: var( --wa-heading-strong-han-2-strong-text-size, var(--wa-global-dimension-font-size-600) ); - font-weight: var(--wa-heading-strong-han-2-strong-text-font-weight, 900); - line-height: var(--wa-heading-strong-han-2-strong-text-line-height, 1.5); font-style: var(--wa-heading-strong-han-2-strong-text-font-style, normal); + font-weight: var(--wa-heading-strong-han-2-strong-text-font-weight, 900); letter-spacing: var(--wa-heading-strong-han-2-strong-text-letter-spacing, 0.05em); + line-height: var(--wa-heading-strong-han-2-strong-text-line-height, 1.5); text-transform: var(--wa-heading-strong-han-2-strong-text-transform, none); - margin-top: 0; - margin-bottom: 0; } + .wa:lang(ja) .wa-Heading1--display, .wa:lang(ko) .wa-Heading1--display, .wa:lang(zh) .wa-Heading1--display { + margin-top: 0; + margin-bottom: 0; font-size: var(--wa-display-han-1-text-size, var(--wa-global-dimension-font-size-1000)); - font-weight: var(--wa-display-han-1-text-font-weight, 700); - line-height: var(--wa-display-han-1-text-line-height, 1.5); font-style: var(--wa-display-han-1-text-font-style, normal); + font-weight: var(--wa-display-han-1-text-font-weight, 700); letter-spacing: var(--wa-display-han-1-text-letter-spacing, 0.05em); + line-height: var(--wa-display-han-1-text-line-height, 1.5); text-transform: var(--wa-display-han-1-text-transform, none); - margin-top: 0; - margin-bottom: 0; } + .wa:lang(ja) .wa-Heading1--display em, .wa:lang(ko) .wa-Heading1--display em, .wa:lang(zh) .wa-Heading1--display em { + margin-top: 0; + margin-bottom: 0; font-size: var( --wa-display-han-1-emphasis-text-size, var(--wa-global-dimension-font-size-1000) ); - font-weight: var(--wa-display-han-1-emphasis-text-font-weight, 800); - line-height: var(--wa-display-han-1-emphasis-text-line-height, 1.5); font-style: var(--wa-display-han-1-emphasis-text-font-style, normal); + font-weight: var(--wa-display-han-1-emphasis-text-font-weight, 800); letter-spacing: var(--wa-display-han-1-emphasis-text-letter-spacing, 0.05em); + line-height: var(--wa-display-han-1-emphasis-text-line-height, 1.5); text-transform: var(--wa-display-han-1-emphasis-text-transform, none); - margin-top: 0; - margin-bottom: 0; } + .wa:lang(ja) .wa-Heading1--display strong, .wa:lang(ko) .wa-Heading1--display strong, .wa:lang(zh) .wa-Heading1--display strong { + margin-top: 0; + margin-bottom: 0; font-size: var( --wa-display-han-1-strong-text-size, var(--wa-global-dimension-font-size-1000) ); - font-weight: var(--wa-display-han-1-strong-text-font-weight, 900); - line-height: var(--wa-display-han-1-strong-text-line-height, 1.5); font-style: var(--wa-display-han-1-strong-text-font-style, normal); + font-weight: var(--wa-display-han-1-strong-text-font-weight, 900); letter-spacing: var(--wa-display-han-1-strong-text-letter-spacing, 0.05em); + line-height: var(--wa-display-han-1-strong-text-line-height, 1.5); text-transform: var(--wa-display-han-1-strong-text-transform, none); - margin-top: 0; - margin-bottom: 0; } + .wa:lang(ja) .wa-Heading2--display, .wa:lang(ko) .wa-Heading2--display, .wa:lang(zh) .wa-Heading2--display { + margin-top: 0; + margin-bottom: 0; font-size: var(--wa-display-han-2-text-size, var(--wa-global-dimension-font-size-900)); - font-weight: var(--wa-display-han-2-text-font-weight, 700); - line-height: var(--wa-display-han-2-text-line-height, 1.5); font-style: var(--wa-display-han-2-text-font-style, normal); + font-weight: var(--wa-display-han-2-text-font-weight, 700); letter-spacing: var(--wa-display-han-2-text-letter-spacing, 0.05em); + line-height: var(--wa-display-han-2-text-line-height, 1.5); text-transform: var(--wa-display-han-2-text-transform, none); - margin-top: 0; - margin-bottom: 0; } + .wa:lang(ja) .wa-Heading2--display em, .wa:lang(ko) .wa-Heading2--display em, .wa:lang(zh) .wa-Heading2--display em { + margin-top: 0; + margin-bottom: 0; font-size: var( --wa-display-han-2-emphasis-text-size, var(--wa-global-dimension-font-size-900) ); - font-weight: var(--wa-display-han-2-emphasis-text-font-weight, 800); - line-height: var(--wa-display-han-2-emphasis-text-line-height, 1.5); font-style: var(--wa-display-han-2-emphasis-text-font-style, normal); + font-weight: var(--wa-display-han-2-emphasis-text-font-weight, 800); letter-spacing: var(--wa-display-han-2-emphasis-text-letter-spacing, 0.05em); + line-height: var(--wa-display-han-2-emphasis-text-line-height, 1.5); text-transform: var(--wa-display-han-2-emphasis-text-transform, none); - margin-top: 0; - margin-bottom: 0; } + .wa:lang(ja) .wa-Heading2--display strong, .wa:lang(ko) .wa-Heading2--display strong, .wa:lang(zh) .wa-Heading2--display strong { + margin-top: 0; + margin-bottom: 0; font-size: var( --wa-display-han-2-strong-text-size, var(--wa-global-dimension-font-size-900) ); - font-weight: var(--wa-display-han-2-strong-text-font-weight, 900); - line-height: var(--wa-display-han-2-strong-text-line-height, 1.5); font-style: var(--wa-display-han-2-strong-text-font-style, normal); + font-weight: var(--wa-display-han-2-strong-text-font-weight, 900); letter-spacing: var(--wa-display-han-2-strong-text-letter-spacing, 0.05em); + line-height: var(--wa-display-han-2-strong-text-line-height, 1.5); text-transform: var(--wa-display-han-2-strong-text-transform, none); - margin-top: 0; - margin-bottom: 0; } + .wa:lang(ja) .wa-Heading1--display.wa-Heading1--strong, .wa:lang(ko) .wa-Heading1--display.wa-Heading1--strong, .wa:lang(zh) .wa-Heading1--display.wa-Heading1--strong { + margin-top: 0; + margin-bottom: 0; font-size: var( --wa-display-strong-han-1-text-size, var(--wa-global-dimension-font-size-1000) ); - font-weight: var(--wa-display-strong-han-1-text-font-weight, 900); - line-height: var(--wa-display-strong-han-1-text-line-height, 1.5); font-style: var(--wa-display-strong-han-1-text-font-style, normal); + font-weight: var(--wa-display-strong-han-1-text-font-weight, 900); letter-spacing: var(--wa-display-strong-han-1-text-letter-spacing, 0.05em); + line-height: var(--wa-display-strong-han-1-text-line-height, 1.5); text-transform: var(--wa-display-strong-han-1-text-transform, none); - margin-top: 0; - margin-bottom: 0; } + .wa:lang(ja) .wa-Heading1--display.wa-Heading1--strong em, .wa:lang(ko) .wa-Heading1--display.wa-Heading1--strong em, .wa:lang(zh) .wa-Heading1--display.wa-Heading1--strong em { + margin-top: 0; + margin-bottom: 0; font-size: var( --wa-display-strong-han-1-emphasis-text-size, var(--wa-global-dimension-font-size-1000) ); - font-weight: var(--wa-display-strong-han-1-emphasis-text-font-weight, 900); - line-height: var(--wa-display-strong-han-1-emphasis-text-line-height, 1.5); font-style: var(--wa-display-strong-han-1-emphasis-text-font-style, normal); + font-weight: var(--wa-display-strong-han-1-emphasis-text-font-weight, 900); letter-spacing: var(--wa-display-strong-han-1-emphasis-text-letter-spacing, 0.05em); + line-height: var(--wa-display-strong-han-1-emphasis-text-line-height, 1.5); text-transform: var(--wa-display-strong-han-1-emphasis-text-transform, none); - margin-top: 0; - margin-bottom: 0; } + .wa:lang(ja) .wa-Heading1--display.wa-Heading1--strong strong, .wa:lang(ko) .wa-Heading1--display.wa-Heading1--strong strong, .wa:lang(zh) .wa-Heading1--display.wa-Heading1--strong strong { + margin-top: 0; + margin-bottom: 0; font-size: var( --wa-display-strong-han-1-strong-text-size, var(--wa-global-dimension-font-size-1000) ); - font-weight: var(--wa-display-strong-han-1-strong-text-font-weight, 900); - line-height: var(--wa-display-strong-han-1-strong-text-line-height, 1.5); font-style: var(--wa-display-strong-han-1-strong-text-font-style, normal); + font-weight: var(--wa-display-strong-han-1-strong-text-font-weight, 900); letter-spacing: var(--wa-display-strong-han-1-strong-text-letter-spacing, 0.05em); + line-height: var(--wa-display-strong-han-1-strong-text-line-height, 1.5); text-transform: var(--wa-display-strong-han-1-strong-text-transform, none); - margin-top: 0; - margin-bottom: 0; } + .wa:lang(ja) .wa-Heading2--display.wa-Heading2--strong, .wa:lang(ko) .wa-Heading2--display.wa-Heading2--strong, .wa:lang(zh) .wa-Heading2--display.wa-Heading2--strong { + margin-top: 0; + margin-bottom: 0; font-size: var( --wa-display-strong-han-2-text-size, var(--wa-global-dimension-font-size-900) ); - font-weight: var(--wa-display-strong-han-2-text-font-weight, 900); - line-height: var(--wa-display-strong-han-2-text-line-height, 1.5); font-style: var(--wa-display-strong-han-2-text-font-style, normal); + font-weight: var(--wa-display-strong-han-2-text-font-weight, 900); letter-spacing: var(--wa-display-strong-han-2-text-letter-spacing, 0.05em); + line-height: var(--wa-display-strong-han-2-text-line-height, 1.5); text-transform: var(--wa-display-strong-han-2-text-transform, none); - margin-top: 0; - margin-bottom: 0; } + .wa:lang(ja) .wa-Heading2--display.wa-Heading2--strong em, .wa:lang(ko) .wa-Heading2--display.wa-Heading2--strong em, .wa:lang(zh) .wa-Heading2--display.wa-Heading2--strong em { + margin-top: 0; + margin-bottom: 0; font-size: var( --wa-display-strong-han-2-emphasis-text-size, var(--wa-global-dimension-font-size-900) ); - font-weight: var(--wa-display-strong-han-2-emphasis-text-font-weight, 900); - line-height: var(--wa-display-strong-han-2-emphasis-text-line-height, 1.5); font-style: var(--wa-display-strong-han-2-emphasis-text-font-style, normal); + font-weight: var(--wa-display-strong-han-2-emphasis-text-font-weight, 900); letter-spacing: var(--wa-display-strong-han-2-emphasis-text-letter-spacing, 0.05em); + line-height: var(--wa-display-strong-han-2-emphasis-text-line-height, 1.5); text-transform: var(--wa-display-strong-han-2-emphasis-text-transform, none); - margin-top: 0; - margin-bottom: 0; } + .wa:lang(ja) .wa-Heading2--display.wa-Heading2--strong strong, .wa:lang(ko) .wa-Heading2--display.wa-Heading2--strong strong, .wa:lang(zh) .wa-Heading2--display.wa-Heading2--strong strong { + margin-top: 0; + margin-bottom: 0; font-size: var( --wa-display-strong-han-2-strong-text-size, var(--wa-global-dimension-font-size-900) ); - font-weight: var(--wa-display-strong-han-2-strong-text-font-weight, 900); - line-height: var(--wa-display-strong-han-2-strong-text-line-height, 1.5); font-style: var(--wa-display-strong-han-2-strong-text-font-style, normal); + font-weight: var(--wa-display-strong-han-2-strong-text-font-weight, 900); letter-spacing: var(--wa-display-strong-han-2-strong-text-letter-spacing, 0.05em); + line-height: var(--wa-display-strong-han-2-strong-text-line-height, 1.5); text-transform: var(--wa-display-strong-han-2-strong-text-transform, none); - margin-top: 0; - margin-bottom: 0; } + .wa:lang(ja) .wa-Heading1--display.wa-Heading1--quiet, .wa:lang(ko) .wa-Heading1--display.wa-Heading1--quiet, .wa:lang(zh) .wa-Heading1--display.wa-Heading1--quiet { + margin-top: 0; + margin-bottom: 0; font-size: var( --wa-display-quiet-han-1-text-size, var(--wa-global-dimension-font-size-1000) ); - font-weight: var(--wa-display-quiet-han-1-text-font-weight, 300); - line-height: var(--wa-display-quiet-han-1-text-line-height, 1.5); font-style: var(--wa-display-quiet-han-1-text-font-style, normal); + font-weight: var(--wa-display-quiet-han-1-text-font-weight, 300); letter-spacing: var(--wa-display-quiet-han-1-text-letter-spacing, 0.05em); + line-height: var(--wa-display-quiet-han-1-text-line-height, 1.5); text-transform: var(--wa-display-quiet-han-1-text-transform, none); - margin-top: 0; - margin-bottom: 0; } + .wa:lang(ja) .wa-Heading1--display.wa-Heading1--quiet em, .wa:lang(ko) .wa-Heading1--display.wa-Heading1--quiet em, .wa:lang(zh) .wa-Heading1--display.wa-Heading1--quiet em { + margin-top: 0; + margin-bottom: 0; font-size: var( --wa-display-quiet-han-1-emphasis-text-size, var(--wa-global-dimension-font-size-1000) ); - font-weight: var(--wa-display-quiet-han-1-emphasis-text-font-weight, 400); - line-height: var(--wa-display-quiet-han-1-emphasis-text-line-height, 1.5); font-style: var(--wa-display-quiet-han-1-emphasis-text-font-style, normal); + font-weight: var(--wa-display-quiet-han-1-emphasis-text-font-weight, 400); letter-spacing: var(--wa-display-quiet-han-1-emphasis-text-letter-spacing, 0.05em); + line-height: var(--wa-display-quiet-han-1-emphasis-text-line-height, 1.5); text-transform: var(--wa-display-quiet-han-1-emphasis-text-transform, none); - margin-top: 0; - margin-bottom: 0; } + .wa:lang(ja) .wa-Heading1--display.wa-Heading1--quiet strong, .wa:lang(ko) .wa-Heading1--display.wa-Heading1--quiet strong, .wa:lang(zh) .wa-Heading1--display.wa-Heading1--quiet strong { + margin-top: 0; + margin-bottom: 0; font-size: var( --wa-display-quiet-han-1-strong-text-size, var(--wa-global-dimension-font-size-1000) ); - font-weight: var(--wa-display-quiet-han-1-strong-text-font-weight, 700); - line-height: var(--wa-display-quiet-han-1-strong-text-line-height, 1.5); font-style: var(--wa-display-quiet-han-1-strong-text-font-style, normal); + font-weight: var(--wa-display-quiet-han-1-strong-text-font-weight, 700); letter-spacing: var(--wa-display-quiet-han-1-strong-text-letter-spacing, 0.05em); + line-height: var(--wa-display-quiet-han-1-strong-text-line-height, 1.5); text-transform: var(--wa-display-quiet-han-1-strong-text-transform, none); - margin-top: 0; - margin-bottom: 0; } + .wa:lang(ja) .wa-Heading2--display.wa-Heading2--quiet, .wa:lang(ko) .wa-Heading2--display.wa-Heading2--quiet, .wa:lang(zh) .wa-Heading2--display.wa-Heading2--quiet, .wa:lang(ja) .wa-Heading--display, .wa:lang(ko) .wa-Heading--display, .wa:lang(zh) .wa-Heading--display { + margin-top: 0; + margin-bottom: 0; font-size: var( --wa-display-quiet-han-2-text-size, var(--wa-global-dimension-font-size-900) ); - font-weight: var(--wa-display-quiet-han-2-text-font-weight, 300); - line-height: var(--wa-display-quiet-han-2-text-line-height, 1.5); font-style: var(--wa-display-quiet-han-2-text-font-style, normal); + font-weight: var(--wa-display-quiet-han-2-text-font-weight, 300); letter-spacing: var(--wa-display-quiet-han-2-text-letter-spacing, 0.05em); + line-height: var(--wa-display-quiet-han-2-text-line-height, 1.5); text-transform: var(--wa-display-quiet-han-2-text-transform, none); - margin-top: 0; - margin-bottom: 0; } + .wa:lang(ja) .wa-Heading2--display.wa-Heading2--quiet em, .wa:lang(ko) .wa-Heading2--display.wa-Heading2--quiet em, .wa:lang(zh) .wa-Heading2--display.wa-Heading2--quiet em, .wa:lang(ja) .wa-Heading--display em, .wa:lang(ko) .wa-Heading--display em, .wa:lang(zh) .wa-Heading--display em { + margin-top: 0; + margin-bottom: 0; font-size: var( --wa-display-quiet-han-2-emphasis-text-size, var(--wa-global-dimension-font-size-900) ); - font-weight: var(--wa-display-quiet-han-2-emphasis-text-font-weight, 400); - line-height: var(--wa-display-quiet-han-2-emphasis-text-line-height, 1.5); font-style: var(--wa-display-quiet-han-2-emphasis-text-font-style, normal); + font-weight: var(--wa-display-quiet-han-2-emphasis-text-font-weight, 400); letter-spacing: var(--wa-display-quiet-han-2-emphasis-text-letter-spacing, 0.05em); + line-height: var(--wa-display-quiet-han-2-emphasis-text-line-height, 1.5); text-transform: var(--wa-display-quiet-han-2-emphasis-text-transform, none); - margin-top: 0; - margin-bottom: 0; } + .wa:lang(ja) .wa-Heading2--display.wa-Heading2--quiet strong, .wa:lang(ko) .wa-Heading2--display.wa-Heading2--quiet strong, .wa:lang(zh) .wa-Heading2--display.wa-Heading2--quiet strong, .wa:lang(ja) .wa-Heading--display strong, .wa:lang(ko) .wa-Heading--display strong, .wa:lang(zh) .wa-Heading--display strong { + margin-top: 0; + margin-bottom: 0; font-size: var( --wa-display-quiet-han-2-strong-text-size, var(--wa-global-dimension-font-size-900) ); - font-weight: var(--wa-display-quiet-han-2-strong-text-font-weight, 700); - line-height: var(--wa-display-quiet-han-2-strong-text-line-height, 1.5); font-style: var(--wa-display-quiet-han-2-strong-text-font-style, normal); + font-weight: var(--wa-display-quiet-han-2-strong-text-font-weight, 700); letter-spacing: var(--wa-display-quiet-han-2-strong-text-letter-spacing, 0.05em); + line-height: var(--wa-display-quiet-han-2-strong-text-line-height, 1.5); text-transform: var(--wa-display-quiet-han-2-strong-text-transform, none); - margin-top: 0; - margin-bottom: 0; } + .wa-Code1 { - font-size: var(--wa-body-code-1-text-size, var(--wa-global-dimension-font-size-400)); - font-weight: var(--wa-body-code-1-text-font-weight, 400); - line-height: var(--wa-body-code-1-text-line-height, 1.5); - font-style: var(--wa-body-code-1-text-font-style, normal); - letter-spacing: var(--wa-body-code-1-text-letter-spacing, 0); margin-top: 0; margin-bottom: 0; font-family: var(--wa-body-code-1-text-font-family, "Source Code Pro", Monaco, monospace); + font-size: var(--wa-body-code-1-text-size, var(--wa-global-dimension-font-size-400)); + font-style: var(--wa-body-code-1-text-font-style, normal); + font-weight: var(--wa-body-code-1-text-font-weight, 400); + letter-spacing: var(--wa-body-code-1-text-letter-spacing, 0); + line-height: var(--wa-body-code-1-text-line-height, 1.5); } + .wa-Code1 em { + margin-top: 0; + margin-bottom: 0; font-size: var( --wa-body-code-1-emphasis-text-size, var(--wa-global-dimension-font-size-400) ); - font-weight: var(--wa-body-code-1-emphasis-text-font-weight, 400); - line-height: var(--wa-body-code-1-emphasis-text-line-height, 1.5); font-style: var(--wa-body-code-1-emphasis-text-font-style, italic); + font-weight: var(--wa-body-code-1-emphasis-text-font-weight, 400); letter-spacing: var(--wa-body-code-1-emphasis-text-letter-spacing, 0); - margin-top: 0; - margin-bottom: 0; + line-height: var(--wa-body-code-1-emphasis-text-line-height, 1.5); } + .wa-Code1 strong { + margin-top: 0; + margin-bottom: 0; font-size: var( --wa-body-code-1-strong-text-size, var(--wa-global-dimension-font-size-400) ); - font-weight: var(--wa-body-code-1-strong-text-font-weight, 700); - line-height: var(--wa-body-code-1-strong-text-line-height, 1.5); font-style: var(--wa-body-code-1-strong-text-font-style, normal); + font-weight: var(--wa-body-code-1-strong-text-font-weight, 700); letter-spacing: var(--wa-body-code-1-strong-text-letter-spacing, 0); - margin-top: 0; - margin-bottom: 0; + line-height: var(--wa-body-code-1-strong-text-line-height, 1.5); } + .wa-Code2 { - font-size: var(--wa-body-code-2-text-size, var(--wa-global-dimension-size-225)); - font-weight: var(--wa-body-code-2-text-font-weight, 400); - line-height: var(--wa-body-code-2-text-line-height, 1.5); - font-style: var(--wa-body-code-2-text-font-style, normal); - letter-spacing: var(--wa-body-code-2-text-letter-spacing, 0); margin-top: 0; margin-bottom: 0; font-family: var(--wa-body-code-2-text-font-family, "Source Code Pro", Monaco, monospace); + font-size: var(--wa-body-code-2-text-size, var(--wa-global-dimension-size-225)); + font-style: var(--wa-body-code-2-text-font-style, normal); + font-weight: var(--wa-body-code-2-text-font-weight, 400); + letter-spacing: var(--wa-body-code-2-text-letter-spacing, 0); + line-height: var(--wa-body-code-2-text-line-height, 1.5); } + .wa-Code2 em { + margin-top: 0; + margin-bottom: 0; font-size: var(--wa-body-code-2-emphasis-text-size, var(--wa-global-dimension-size-225)); - font-weight: var(--wa-body-code-2-emphasis-text-font-weight, 400); - line-height: var(--wa-body-code-2-emphasis-text-line-height, 1.5); font-style: var(--wa-body-code-2-emphasis-text-font-style, italic); + font-weight: var(--wa-body-code-2-emphasis-text-font-weight, 400); letter-spacing: var(--wa-body-code-2-emphasis-text-letter-spacing, 0); - margin-top: 0; - margin-bottom: 0; + line-height: var(--wa-body-code-2-emphasis-text-line-height, 1.5); } + .wa-Code2 strong { + margin-top: 0; + margin-bottom: 0; font-size: var(--wa-body-code-2-strong-text-size, var(--wa-global-dimension-size-225)); - font-weight: var(--wa-body-code-2-strong-text-font-weight, 700); - line-height: var(--wa-body-code-2-strong-text-line-height, 1.5); font-style: var(--wa-body-code-2-strong-text-font-style, normal); + font-weight: var(--wa-body-code-2-strong-text-font-weight, 700); letter-spacing: var(--wa-body-code-2-strong-text-letter-spacing, 0); - margin-top: 0; - margin-bottom: 0; + line-height: var(--wa-body-code-2-strong-text-line-height, 1.5); } + .wa-Code3 { - font-size: var(--wa-body-code-3-text-size, var(--wa-global-dimension-font-size-200)); - font-weight: var(--wa-body-code-3-text-font-weight, 400); - line-height: var(--wa-body-code-3-text-line-height, 1.5); - font-style: var(--wa-body-code-3-text-font-style, normal); - letter-spacing: var(--wa-body-code-3-text-letter-spacing, 0); margin-top: 0; margin-bottom: 0; font-family: var(--wa-body-code-3-text-font-family, "Source Code Pro", Monaco, monospace); + font-size: var(--wa-body-code-3-text-size, var(--wa-global-dimension-font-size-200)); + font-style: var(--wa-body-code-3-text-font-style, normal); + font-weight: var(--wa-body-code-3-text-font-weight, 400); + letter-spacing: var(--wa-body-code-3-text-letter-spacing, 0); + line-height: var(--wa-body-code-3-text-line-height, 1.5); } + .wa-Code3 em { + margin-top: 0; + margin-bottom: 0; font-size: var( --wa-body-code-3-emphasis-text-size, var(--wa-global-dimension-font-size-200) ); - font-weight: var(--wa-body-code-3-emphasis-text-font-weight, 400); - line-height: var(--wa-body-code-3-emphasis-text-line-height, 1.5); font-style: var(--wa-body-code-3-emphasis-text-font-style, italic); + font-weight: var(--wa-body-code-3-emphasis-text-font-weight, 400); letter-spacing: var(--wa-body-code-3-emphasis-text-letter-spacing, 0); - margin-top: 0; - margin-bottom: 0; + line-height: var(--wa-body-code-3-emphasis-text-line-height, 1.5); } + .wa-Code3 strong { + margin-top: 0; + margin-bottom: 0; font-size: var( --wa-body-code-3-strong-text-size, var(--wa-global-dimension-font-size-200) ); - font-weight: var(--wa-body-code-3-strong-text-font-weight, 700); - line-height: var(--wa-body-code-3-strong-text-line-height, 1.5); font-style: var(--wa-body-code-3-strong-text-font-style, normal); + font-weight: var(--wa-body-code-3-strong-text-font-weight, 700); letter-spacing: var(--wa-body-code-3-strong-text-letter-spacing, 0); - margin-top: 0; - margin-bottom: 0; + line-height: var(--wa-body-code-3-strong-text-line-height, 1.5); } + .wa-Code4 { - font-size: var(--wa-body-code-4-text-size, var(--wa-global-dimension-font-size-100)); - font-weight: var(--wa-body-code-4-text-font-weight, 400); - line-height: var(--wa-body-code-4-text-line-height, 1.5); - font-style: var(--wa-body-code-4-text-font-style, normal); - letter-spacing: var(--wa-body-code-4-text-letter-spacing, 0); margin-top: 0; margin-bottom: 0; font-family: var(--wa-body-code-4-text-font-family, "Source Code Pro", Monaco, monospace); + font-size: var(--wa-body-code-4-text-size, var(--wa-global-dimension-font-size-100)); + font-style: var(--wa-body-code-4-text-font-style, normal); + font-weight: var(--wa-body-code-4-text-font-weight, 400); + letter-spacing: var(--wa-body-code-4-text-letter-spacing, 0); + line-height: var(--wa-body-code-4-text-line-height, 1.5); } + .wa-Code4 em { + margin-top: 0; + margin-bottom: 0; font-size: var( --wa-body-code-4-emphasis-text-size, var(--wa-global-dimension-font-size-100) ); - font-weight: var(--wa-body-code-4-emphasis-text-font-weight, 400); - line-height: var(--wa-body-code-4-emphasis-text-line-height, 1.5); font-style: var(--wa-body-code-4-emphasis-text-font-style, italic); + font-weight: var(--wa-body-code-4-emphasis-text-font-weight, 400); letter-spacing: var(--wa-body-code-4-emphasis-text-letter-spacing, 0); - margin-top: 0; - margin-bottom: 0; + line-height: var(--wa-body-code-4-emphasis-text-line-height, 1.5); } + .wa-Code4 strong { + margin-top: 0; + margin-bottom: 0; font-size: var( --wa-body-code-4-strong-text-size, var(--wa-global-dimension-font-size-100) ); - font-weight: var(--wa-body-code-4-strong-text-font-weight, 700); - line-height: var(--wa-body-code-4-strong-text-line-height, 1.5); font-style: var(--wa-body-code-4-strong-text-font-style, normal); + font-weight: var(--wa-body-code-4-strong-text-font-weight, 700); letter-spacing: var(--wa-body-code-4-strong-text-letter-spacing, 0); - margin-top: 0; - margin-bottom: 0; + line-height: var(--wa-body-code-4-strong-text-line-height, 1.5); } + .wa-Code5 { - font-size: var(--wa-body-code-5-text-size, var(--wa-global-dimension-size-150)); - font-weight: var(--wa-body-code-5-text-font-weight, 400); - line-height: var(--wa-body-code-5-text-line-height, 1.5); - font-style: var(--wa-body-code-5-text-font-style, normal); - letter-spacing: var(--wa-body-code-5-text-letter-spacing, 0); margin-top: 0; margin-bottom: 0; font-family: var(--wa-body-code-5-text-font-family, "Source Code Pro", Monaco, monospace); + font-size: var(--wa-body-code-5-text-size, var(--wa-global-dimension-size-150)); + font-style: var(--wa-body-code-5-text-font-style, normal); + font-weight: var(--wa-body-code-5-text-font-weight, 400); + letter-spacing: var(--wa-body-code-5-text-letter-spacing, 0); + line-height: var(--wa-body-code-5-text-line-height, 1.5); } + .wa-Code5 em { + margin-top: 0; + margin-bottom: 0; font-size: var(--wa-body-code-5-emphasis-text-size, var(--wa-global-dimension-size-150)); - font-weight: var(--wa-body-code-5-emphasis-text-font-weight, 400); - line-height: var(--wa-body-code-5-emphasis-text-line-height, 1.5); font-style: var(--wa-body-code-5-emphasis-text-font-style, italic); + font-weight: var(--wa-body-code-5-emphasis-text-font-weight, 400); letter-spacing: var(--wa-body-code-5-emphasis-text-letter-spacing, 0); - margin-top: 0; - margin-bottom: 0; + line-height: var(--wa-body-code-5-emphasis-text-line-height, 1.5); } + .wa-Code5 strong { - letter-spacing: var(--wa-body-code-5-strong-text-letter-spacing, 0); margin-top: 0; + margin-bottom: 0; font-size: var(--wa-body-code-5-strong-text-size, var(--wa-global-dimension-size-150)); + font-style: var(--wa-body-code-5-strong-text-font-style, normal); font-weight: var(--wa-body-code-5-strong-text-font-weight, 700); + letter-spacing: var(--wa-body-code-5-strong-text-letter-spacing, 0); line-height: var(--wa-body-code-5-strong-text-line-height, 1.5); - font-style: var(--wa-body-code-5-strong-text-font-style, normal); - margin-bottom: 0; } /* The &.wa makes it so users can do