From de36f88cf3610af959cb3e7ee0ce9166a2e65808 Mon Sep 17 00:00:00 2001 From: Justin Wang Date: Fri, 16 Oct 2026 19:00:13 -0400 Subject: [PATCH 1/5] Add Chakra UI v3 and theme.ts from the MSPCA UI Kit - Install @chakra-ui/react v3 and @emotion/react. - Add apps/frontend/src/theme.ts with the Figma colors (exported as `colors` and registered as Chakra tokens), the semantic bg/fg/border/ text/neutral tokens, Montserrat fonts and weights, and h1-h7/body/ body-small text styles that switch to the Figma mobile sizes below md. - Give common tags (body, h1-h6, p, li, label, small, a, form controls) their typography through globalCss. - Wrap the app in ChakraProvider and load Montserrat from Google Fonts. Co-Authored-By: Claude Opus 5.5 --- apps/frontend/index.html | 6 + apps/frontend/src/main.tsx | 20 +- apps/frontend/src/theme.ts | 188 +++++++ package.json | 2 + yarn.lock | 1075 +++++++++++++++++++++++++++++++++++- 5 files changed, 1278 insertions(+), 13 deletions(-) create mode 100644 apps/frontend/src/theme.ts diff --git a/apps/frontend/index.html b/apps/frontend/index.html index 9f3cce7ab..a3a5a4a82 100644 --- a/apps/frontend/index.html +++ b/apps/frontend/index.html @@ -7,6 +7,12 @@ + + + diff --git a/apps/frontend/src/main.tsx b/apps/frontend/src/main.tsx index ca0d077b3..b709b9751 100644 --- a/apps/frontend/src/main.tsx +++ b/apps/frontend/src/main.tsx @@ -1,8 +1,10 @@ import { StrictMode } from 'react'; import * as ReactDOM from 'react-dom/client'; import { Authenticator } from '@aws-amplify/ui-react'; +import { ChakraProvider } from '@chakra-ui/react'; import { configureAmplify, isAuthEnabled } from './auth/auth.config'; import App from './app'; +import { system } from './theme'; const root = ReactDOM.createRoot( document.getElementById('root') as HTMLElement, @@ -12,15 +14,17 @@ const root = ReactDOM.createRoot( configureAmplify(); root.render( - isAuthEnabled() ? ( - + + {isAuthEnabled() ? ( + + + + + + ) : ( - - ) : ( - - - - ), + )} + , ); diff --git a/apps/frontend/src/theme.ts b/apps/frontend/src/theme.ts new file mode 100644 index 000000000..403491e07 --- /dev/null +++ b/apps/frontend/src/theme.ts @@ -0,0 +1,188 @@ +import { createSystem, defaultConfig, defineConfig } from '@chakra-ui/react'; + +// Values mirror the MSPCA UI Kit in Figma (Color/Global Tokens, Color/Semantic +// Tokens, Typography Tokens). Update them here to change them across the app. + +// Raw brand palette. Use these directly only where Chakra props aren't available +// (e.g. third-party components); otherwise prefer tokens like `color="blue.primary"`. +export const colors = { + gray: { + 0: '#ffffff', + 50: '#fafafa', + 100: '#f4f4f5', + 200: '#e4e4e7', + 300: '#d4d4d8', + 400: '#a1a1aa', + 500: '#71717a', + 600: '#52525b', + 700: '#3f3f46', + 800: '#27272a', + 900: '#18181b', + }, + error: { + 50: '#fef2f2', + 100: '#ef4444', + }, + blue: { + primary: '#009cde', + blue2: '#0d5b90', + blue3: '#2c4068', + }, + orange: { + orange1: '#dea631', + orange2: '#e9954b', + orange3: '#e17152', + }, + green: { + green1: '#88b613', + green2: '#769b3d', + }, + teal: { + teal: '#4ba2a6', + }, + brown: { + brown: '#5e3638', + }, + neutrals: { + black: '#231f20', + black85: '#4d4d4f', + grey: '#858f98', + }, + // Foster home restriction labels (carried over from the Trello board). + trello: { + noRestrictions: '#174b35', + dogFreeHome: '#87b400', + catFreeHome: '#9f4b00', + activityRestriction: '#5d1f1a', + childFreeHome: '#ae2e24', + petFreeHome: '#813ea5', + requiresMedication: '#1458bc', + }, +} as const; + +const toColorTokens = (palette: typeof colors) => + Object.fromEntries( + Object.entries(palette).map(([group, shades]) => [ + group, + Object.fromEntries( + Object.entries(shades).map(([shade, value]) => [shade, { value }]), + ), + ]), + ); + +// Figma defines a Desktop and a Mobile value for each size; Mobile applies +// below the `md` breakpoint. Line heights are the Figma desktop line height +// divided by the font size, so they scale down with the mobile sizes. +const textStyle = ( + mobile: string, + desktop: string, + lineHeight: string, + fontFamily = 'heading', +) => ({ + value: { + fontFamily, + fontSize: { base: mobile, md: desktop }, + lineHeight, + letterSpacing: '0', + }, +}); + +const config = defineConfig({ + theme: { + tokens: { + colors: toColorTokens(colors), + fonts: { + heading: { value: "'Montserrat', sans-serif" }, + body: { value: "'Montserrat', sans-serif" }, + }, + fontWeights: { + thin: { value: '100' }, + extralight: { value: '200' }, + light: { value: '300' }, + normal: { value: '400' }, + medium: { value: '500' }, + semibold: { value: '600' }, + bold: { value: '700' }, + extrabold: { value: '800' }, + black: { value: '900' }, + }, + }, + semanticTokens: { + colors: { + bg: { + DEFAULT: { value: '{colors.gray.0}' }, + subtle: { value: '{colors.gray.50}' }, + muted: { value: '{colors.gray.100}' }, + emphasized: { value: '{colors.gray.200}' }, + inverted: { value: '#000000' }, + panel: { value: '{colors.gray.0}' }, + error: { value: '{colors.error.50}' }, + }, + fg: { + DEFAULT: { value: '#000000' }, + subtle: { value: '{colors.gray.400}' }, + muted: { value: '{colors.gray.600}' }, + inverted: { value: '{colors.gray.50}' }, + error: { value: '{colors.error.100}' }, + }, + border: { + DEFAULT: { value: '{colors.gray.200}' }, + subtle: { value: '{colors.gray.50}' }, + muted: { value: '{colors.gray.100}' }, + emphasized: { value: '{colors.gray.300}' }, + inverted: { value: '{colors.gray.800}' }, + error: { value: '{colors.error.100}' }, + }, + text: { + fg: { value: '#000000' }, + fg_muted: { value: '{colors.gray.600}' }, + fg_subtle: { value: '{colors.gray.400}' }, + fg_error: { value: '{colors.error.100}' }, + }, + neutral: { + contrast: { value: '{colors.gray.0}' }, + fg: { value: '{colors.gray.800}' }, + subtle: { value: '{colors.gray.100}' }, + muted: { value: '{colors.gray.200}' }, + emphasized: { value: '{colors.gray.300}' }, + solid: { value: '{colors.gray.900}' }, + focusRing: { value: '{colors.gray.400}' }, + }, + }, + }, + // Pair with a fontWeight prop for the weight variants Figma offers + // (normal/medium/semibold/bold), e.g. . + textStyles: { + h1: textStyle('36px', '60px', '1.5'), + h2: textStyle('32px', '48px', '1.5'), + h3: textStyle('28px', '36px', '1.5'), + h4: textStyle('24px', '30px', '1.533'), + h5: textStyle('20px', '24px', '1.5'), + h6: textStyle('18px', '20px', '1.5'), + h7: textStyle('16px', '18px', '1.556'), + body: textStyle('14px', '16px', '1.5', 'body'), + 'body-small': textStyle('12px', '14px', '1.43', 'body'), + }, + }, + globalCss: { + body: { + textStyle: 'body', + fontWeight: 'normal', + color: 'fg', + bg: 'bg', + }, + 'h1, h2, h3, h4, h5, h6': { fontWeight: 'semibold' }, + h1: { textStyle: 'h1' }, + h2: { textStyle: 'h2' }, + h3: { textStyle: 'h3' }, + h4: { textStyle: 'h4' }, + h5: { textStyle: 'h5' }, + h6: { textStyle: 'h6' }, + 'p, li, label': { textStyle: 'body' }, + 'small, figcaption': { textStyle: 'body-small' }, + a: { color: 'blue.primary', textDecoration: 'underline' }, + 'button, input, textarea, select': { fontFamily: 'body' }, + }, +}); + +export const system = createSystem(defaultConfig, config); diff --git a/package.json b/package.json index 5a4a4d8aa..74e48863b 100644 --- a/package.json +++ b/package.json @@ -23,6 +23,8 @@ "@aws-sdk/client-cognito-identity-provider": "^3.1058.0", "@aws-sdk/client-s3": "^3.1073.0", "@aws-sdk/client-sesv2": "^3.1063.0", + "@chakra-ui/react": "^3.37.0", + "@emotion/react": "^11.14.0", "@nestjs/cli": "^11.0.24", "@nestjs/common": "^10.0.2", "@nestjs/config": "^4.0.4", diff --git a/yarn.lock b/yarn.lock index b6a74a4bf..9c67a1e6c 100644 --- a/yarn.lock +++ b/yarn.lock @@ -60,6 +60,81 @@ ora "5.4.1" rxjs "7.8.1" +"@ark-ui/react@5.39.0": + version "5.39.0" + resolved "https://registry.yarnpkg.com/@ark-ui/react/-/react-5.39.0.tgz#5f22314ba0749f8744e2e851745437baf9ee31c5" + integrity sha512-qKMyliIHgkp4TPrdr9xmkXeP9lmuEvhRJNPNah7Wnp54lspsZJY4b08rNM+NWtlnhxO1P8iChKRKcohSQgXL/g== + dependencies: + "@internationalized/date" "3.12.3" + "@zag-js/accordion" "1.43.3" + "@zag-js/anatomy" "1.43.3" + "@zag-js/angle-slider" "1.43.3" + "@zag-js/async-list" "1.43.3" + "@zag-js/auto-resize" "1.43.3" + "@zag-js/avatar" "1.43.3" + "@zag-js/carousel" "1.43.3" + "@zag-js/cascade-select" "1.43.3" + "@zag-js/checkbox" "1.43.3" + "@zag-js/clipboard" "1.43.3" + "@zag-js/collapsible" "1.43.3" + "@zag-js/collection" "1.43.3" + "@zag-js/color-picker" "1.43.3" + "@zag-js/color-utils" "1.43.3" + "@zag-js/combobox" "1.43.3" + "@zag-js/core" "1.43.3" + "@zag-js/date-input" "1.43.3" + "@zag-js/date-picker" "1.43.3" + "@zag-js/date-utils" "1.43.3" + "@zag-js/dialog" "1.43.3" + "@zag-js/dom-query" "1.43.3" + "@zag-js/drawer" "1.43.3" + "@zag-js/editable" "1.43.3" + "@zag-js/file-upload" "1.43.3" + "@zag-js/file-utils" "1.43.3" + "@zag-js/floating-panel" "1.43.3" + "@zag-js/focus-trap" "1.43.3" + "@zag-js/focus-visible" "1.43.3" + "@zag-js/highlight-word" "1.43.3" + "@zag-js/hotkeys" "1.43.3" + "@zag-js/hover-card" "1.43.3" + "@zag-js/i18n-utils" "1.43.3" + "@zag-js/image-cropper" "1.43.3" + "@zag-js/json-tree-utils" "1.43.3" + "@zag-js/listbox" "1.43.3" + "@zag-js/marquee" "1.43.3" + "@zag-js/menu" "1.43.3" + "@zag-js/navigation-menu" "1.43.3" + "@zag-js/number-input" "1.43.3" + "@zag-js/pagination" "1.43.3" + "@zag-js/password-input" "1.43.3" + "@zag-js/pin-input" "1.43.3" + "@zag-js/popover" "1.43.3" + "@zag-js/presence" "1.43.3" + "@zag-js/progress" "1.43.3" + "@zag-js/qr-code" "1.43.3" + "@zag-js/radio-group" "1.43.3" + "@zag-js/rating-group" "1.43.3" + "@zag-js/react" "1.43.3" + "@zag-js/scroll-area" "1.43.3" + "@zag-js/select" "1.43.3" + "@zag-js/signature-pad" "1.43.3" + "@zag-js/slider" "1.43.3" + "@zag-js/splitter" "1.43.3" + "@zag-js/steps" "1.43.3" + "@zag-js/switch" "1.43.3" + "@zag-js/tabs" "1.43.3" + "@zag-js/tags-input" "1.43.3" + "@zag-js/timer" "1.43.3" + "@zag-js/toast" "1.43.3" + "@zag-js/toc" "1.43.3" + "@zag-js/toggle" "1.43.3" + "@zag-js/toggle-group" "1.43.3" + "@zag-js/tooltip" "1.43.3" + "@zag-js/tour" "1.43.3" + "@zag-js/tree-view" "1.43.3" + "@zag-js/types" "1.43.3" + "@zag-js/utils" "1.43.3" + "@asamuzakjp/css-color@^5.1.11": version "5.1.11" resolved "https://registry.yarnpkg.com/@asamuzakjp/css-color/-/css-color-5.1.11.tgz#28a0aac8220a4cc19045ac3bd9a813d4060bd375" @@ -945,7 +1020,7 @@ "@babel/traverse" "^7.29.7" "@babel/types" "^7.29.7" -"@babel/helper-module-imports@^7.18.6", "@babel/helper-module-imports@^7.29.7": +"@babel/helper-module-imports@^7.16.7", "@babel/helper-module-imports@^7.18.6", "@babel/helper-module-imports@^7.29.7": version "7.29.7" resolved "https://registry.yarnpkg.com/@babel/helper-module-imports/-/helper-module-imports-7.29.7.tgz#ef25048a518e828d7393fac5882ddd73921d7396" integrity sha512-ejHwrQQYcm9xnTivShn2IDOlIzInN34AXskvq9QicvCtEzq1Vzclu/tKF8Jq1Cg8JG2GL6/EmjgsCT7lXepE3g== @@ -1829,6 +1904,11 @@ resolved "https://registry.yarnpkg.com/@babel/runtime/-/runtime-7.29.7.tgz#12022450c45a4da6d8d8287b18a4ff2ddb23f768" integrity sha512-Nq8OhGWiZIZGV6hLHoyAKLLcJihP/xFeBMGJoUrxTX2psI8dCifzLhZISFb+VWS3wFMRDmCGw5R+dOySCqPLhw== +"@babel/runtime@^7.18.3": + version "7.29.10" + resolved "https://registry.yarnpkg.com/@babel/runtime/-/runtime-7.29.10.tgz#fe9920782f7ee34029165ac6f272984917a1641b" + integrity sha512-NpugTzbKgGrNe45Ui32cN8vCFFMxVtP/9rtfwv0nP5FRDAjvYBxJcLVpYA9mr1jxP6cnIT7x9LUzuDTbWYYNRA== + "@babel/template@^7.29.7": version "7.29.7" resolved "https://registry.yarnpkg.com/@babel/template/-/template-7.29.7.tgz#4d9d4004f645cdd304de958c725162784ecac700" @@ -1881,6 +1961,19 @@ resolved "https://registry.yarnpkg.com/@bufbuild/protobuf/-/protobuf-2.12.0.tgz#53225636a8fcebb2bd94998ad9d42f99f96add4d" integrity sha512-B/XlCaFIP8LOwzo+bz5uFzATYokcwCKQcghqnlfwSmM5eX/qTkvDBnDPs+gXtX/RyjxJ4DRikECcPJbyALA8FA== +"@chakra-ui/react@^3.37.0": + version "3.37.0" + resolved "https://registry.yarnpkg.com/@chakra-ui/react/-/react-3.37.0.tgz#3529edc6476424a079888f7beed446cbcd3b0a38" + integrity sha512-TaFju5LTT7GEZ8brcyZOhM7fNN54tJ/rMaMFvUAD7UE8tsUJb/j3zCUYPjchkoVXD1vinXtN9S31cp2QcOTUPg== + dependencies: + "@ark-ui/react" "5.39.0" + "@emotion/is-prop-valid" "^1.4.0" + "@emotion/serialize" "^1.3.3" + "@emotion/use-insertion-effect-with-fallbacks" "^1.2.0" + "@emotion/utils" "^1.4.2" + "@pandacss/is-valid-prop" "^1.4.2" + csstype "^3.2.3" + "@colordx/core@^5.4.3": version "5.4.3" resolved "https://registry.yarnpkg.com/@colordx/core/-/core-5.4.3.tgz#35a8d239b324a6cdf9a16de9970a32c8abc24824" @@ -2006,6 +2099,101 @@ dependencies: tslib "^2.4.0" +"@emotion/babel-plugin@^11.13.5": + version "11.13.5" + resolved "https://registry.yarnpkg.com/@emotion/babel-plugin/-/babel-plugin-11.13.5.tgz#eab8d65dbded74e0ecfd28dc218e75607c4e7bc0" + integrity sha512-pxHCpT2ex+0q+HH91/zsdHkw/lXd468DIN2zvfvLtPKLLMo6gQj7oLObq8PhkrxOZb/gGCq03S3Z7PDhS8pduQ== + dependencies: + "@babel/helper-module-imports" "^7.16.7" + "@babel/runtime" "^7.18.3" + "@emotion/hash" "^0.9.2" + "@emotion/memoize" "^0.9.0" + "@emotion/serialize" "^1.3.3" + babel-plugin-macros "^3.1.0" + convert-source-map "^1.5.0" + escape-string-regexp "^4.0.0" + find-root "^1.1.0" + source-map "^0.5.7" + stylis "4.2.0" + +"@emotion/cache@^11.14.0": + version "11.14.0" + resolved "https://registry.yarnpkg.com/@emotion/cache/-/cache-11.14.0.tgz#ee44b26986eeb93c8be82bb92f1f7a9b21b2ed76" + integrity sha512-L/B1lc/TViYk4DcpGxtAVbx0ZyiKM5ktoIyafGkH6zg/tj+mA+NE//aPYKG0k8kCHSHVJrpLpcAlOBEXQ3SavA== + dependencies: + "@emotion/memoize" "^0.9.0" + "@emotion/sheet" "^1.4.0" + "@emotion/utils" "^1.4.2" + "@emotion/weak-memoize" "^0.4.0" + stylis "4.2.0" + +"@emotion/hash@^0.9.2": + version "0.9.2" + resolved "https://registry.yarnpkg.com/@emotion/hash/-/hash-0.9.2.tgz#ff9221b9f58b4dfe61e619a7788734bd63f6898b" + integrity sha512-MyqliTZGuOm3+5ZRSaaBGP3USLw6+EGykkwZns2EPC5g8jJ4z9OrdZY9apkl3+UP9+sdz76YYkwCKP5gh8iY3g== + +"@emotion/is-prop-valid@^1.4.0": + version "1.4.0" + resolved "https://registry.yarnpkg.com/@emotion/is-prop-valid/-/is-prop-valid-1.4.0.tgz#e9ad47adff0b5c94c72db3669ce46de33edf28c0" + integrity sha512-QgD4fyscGcbbKwJmqNvUMSE02OsHUa+lAWKdEUIJKgqe5IwRSKd7+KhibEWdaKwgjLj0DRSHA9biAIqGBk05lw== + dependencies: + "@emotion/memoize" "^0.9.0" + +"@emotion/memoize@^0.9.0": + version "0.9.0" + resolved "https://registry.yarnpkg.com/@emotion/memoize/-/memoize-0.9.0.tgz#745969d649977776b43fc7648c556aaa462b4102" + integrity sha512-30FAj7/EoJ5mwVPOWhAyCX+FPfMDrVecJAM+Iw9NRoSl4BBAQeqj4cApHHUXOVvIPgLVDsCFoz/hGD+5QQD1GQ== + +"@emotion/react@^11.14.0": + version "11.14.0" + resolved "https://registry.yarnpkg.com/@emotion/react/-/react-11.14.0.tgz#cfaae35ebc67dd9ef4ea2e9acc6cd29e157dd05d" + integrity sha512-O000MLDBDdk/EohJPFUqvnp4qnHeYkVP5B0xEG0D/L7cOKP9kefu2DXn8dj74cQfsEzUqh+sr1RzFqiL1o+PpA== + dependencies: + "@babel/runtime" "^7.18.3" + "@emotion/babel-plugin" "^11.13.5" + "@emotion/cache" "^11.14.0" + "@emotion/serialize" "^1.3.3" + "@emotion/use-insertion-effect-with-fallbacks" "^1.2.0" + "@emotion/utils" "^1.4.2" + "@emotion/weak-memoize" "^0.4.0" + hoist-non-react-statics "^3.3.1" + +"@emotion/serialize@^1.3.3": + version "1.3.3" + resolved "https://registry.yarnpkg.com/@emotion/serialize/-/serialize-1.3.3.tgz#d291531005f17d704d0463a032fe679f376509e8" + integrity sha512-EISGqt7sSNWHGI76hC7x1CksiXPahbxEOrC5RjmFRJTqLyEK9/9hZvBbiYn70dw4wuwMKiEMCUlR6ZXTSWQqxA== + dependencies: + "@emotion/hash" "^0.9.2" + "@emotion/memoize" "^0.9.0" + "@emotion/unitless" "^0.10.0" + "@emotion/utils" "^1.4.2" + csstype "^3.0.2" + +"@emotion/sheet@^1.4.0": + version "1.4.0" + resolved "https://registry.yarnpkg.com/@emotion/sheet/-/sheet-1.4.0.tgz#c9299c34d248bc26e82563735f78953d2efca83c" + integrity sha512-fTBW9/8r2w3dXWYM4HCB1Rdp8NLibOw2+XELH5m5+AkWiL/KqYX6dc0kKYlaYyKjrQ6ds33MCdMPEwgs2z1rqg== + +"@emotion/unitless@^0.10.0": + version "0.10.0" + resolved "https://registry.yarnpkg.com/@emotion/unitless/-/unitless-0.10.0.tgz#2af2f7c7e5150f497bdabd848ce7b218a27cf745" + integrity sha512-dFoMUuQA20zvtVTuxZww6OHoJYgrzfKM1t52mVySDJnMSEa08ruEvdYQbhvyu6soU+NeLVd3yKfTfT0NeV6qGg== + +"@emotion/use-insertion-effect-with-fallbacks@^1.2.0": + version "1.2.0" + resolved "https://registry.yarnpkg.com/@emotion/use-insertion-effect-with-fallbacks/-/use-insertion-effect-with-fallbacks-1.2.0.tgz#8a8cb77b590e09affb960f4ff1e9a89e532738bf" + integrity sha512-yJMtVdH59sxi/aVJBpk9FQq+OR8ll5GT8oWd57UpeaKEVGab41JWaCFA7FRLoMLloOZF/c/wsPoe+bfGmRKgDg== + +"@emotion/utils@^1.4.2": + version "1.4.2" + resolved "https://registry.yarnpkg.com/@emotion/utils/-/utils-1.4.2.tgz#6df6c45881fcb1c412d6688a311a98b7f59c1b52" + integrity sha512-3vLclRofFziIa3J2wDh9jjbkUz9qk5Vi3IZ/FSTKViB0k+ef0fPV7dYrUIugbgupYDx7v9ud/SjrtEP8Y4xLoA== + +"@emotion/weak-memoize@^0.4.0": + version "0.4.0" + resolved "https://registry.yarnpkg.com/@emotion/weak-memoize/-/weak-memoize-0.4.0.tgz#5e13fac887f08c44f76b0ccaf3370eb00fec9bb6" + integrity sha512-snKqtPW01tN0ui7yu9rGv69aJXr/a/Ywvl11sUjNtEcRc+ng/mQriFL0wLXMef74iHa/EkftbDzU9F8iFbH+zg== + "@esbuild/android-arm64@0.18.20": version "0.18.20" resolved "https://registry.yarnpkg.com/@esbuild/android-arm64/-/android-arm64-0.18.20.tgz#984b4f9c8d0377443cc2dfcef266d02244593622" @@ -2194,7 +2382,7 @@ dependencies: "@floating-ui/utils" "^0.2.12" -"@floating-ui/dom@^1.8.0": +"@floating-ui/dom@^1.7.6", "@floating-ui/dom@^1.8.0": version "1.8.0" resolved "https://registry.yarnpkg.com/@floating-ui/dom/-/dom-1.8.0.tgz#8a20e6facbe2456afdbeb6c8b968a72df689cf63" integrity sha512-yXSrzeHZBTZadLOlfyhCkJHNeLJnHRnRInwdZ40L7ZiaAtrBwoYlsDrX3v5zB1Utk7CLfzcOVnVVWoXEky7Ceg== @@ -2394,6 +2582,20 @@ resolved "https://registry.yarnpkg.com/@inquirer/type/-/type-3.0.10.tgz#11ed564ec78432a200ea2601a212d24af8150d50" integrity sha512-BvziSRxfz5Ov8ch0z/n3oijRSEcEsHnhggm4xFZe93DHcUCTlutlq9Ox4SVENAfcRD22UQq7T/atg9Wr3k09eA== +"@internationalized/date@3.12.3": + version "3.12.3" + resolved "https://registry.yarnpkg.com/@internationalized/date/-/date-3.12.3.tgz#e11d14dbf12bf45057dd5996bac77f7c2f89ff9c" + integrity sha512-fuLX+3ZKLsxI73y8b01EG/WjHb6gE6weCqlfawPO27kBWGMh9G1yH6Csv1uU7/cac9H2GHmOMt6CjmuQ1aia4Q== + dependencies: + "@swc/helpers" "^0.5.0" + +"@internationalized/number@3.6.7": + version "3.6.7" + resolved "https://registry.yarnpkg.com/@internationalized/number/-/number-3.6.7.tgz#5a0a8fa413b5f8679a59dcf37e2a74dc508b8371" + integrity sha512-3ji1fcrT+FPAK86UqEhB/psHixYo6niWPJtt7+qRaYFynt/BaJG8GhAPimtWUpEiVSTq8ZM8L5psMxGquiB/Vg== + dependencies: + "@swc/helpers" "^0.5.0" + "@isaacs/cliui@^8.0.2": version "8.0.2" resolved "https://registry.yarnpkg.com/@isaacs/cliui/-/cliui-8.0.2.tgz#b37667b7bc181c168782259bab42474fbf52b550" @@ -3622,6 +3824,11 @@ tslib "^2.3.0" yargs-parser "21.1.1" +"@pandacss/is-valid-prop@^1.4.2": + version "1.12.1" + resolved "https://registry.yarnpkg.com/@pandacss/is-valid-prop/-/is-valid-prop-1.12.1.tgz#071f3ac08d0162eac3422715e7532e2c2f4a1e78" + integrity sha512-JFmahiSKrpBE48NHl8NIsNO5e5y1SrOrOGvyle9h9rkNrYw+RJrm5CLeGimmyhg2FIymsmZE76sDnw5Zuu2LVA== + "@parcel/watcher-android-arm64@2.5.6": version "2.5.6" resolved "https://registry.yarnpkg.com/@parcel/watcher-android-arm64/-/watcher-android-arm64-2.5.6.tgz#5f32e0dba356f4ac9a11068d2a5c134ca3ba6564" @@ -4479,6 +4686,13 @@ "@svgr/plugin-jsx" "8.1.0" "@svgr/plugin-svgo" "8.1.0" +"@swc/helpers@^0.5.0": + version "0.5.23" + resolved "https://registry.yarnpkg.com/@swc/helpers/-/helpers-0.5.23.tgz#19287d0d86d962b111376039a50c792902c9a86a" + integrity sha512-5lSsMOTXURePglDfvuAQUqkGek9Hg2kksOYay2m0+XR++b2NWYL/4sWyuvVBIs8oKnJaxkdi9whaL/sqN13afw== + dependencies: + tslib "^2.8.0" + "@testing-library/dom@^10.0.0": version "10.4.1" resolved "https://registry.yarnpkg.com/@testing-library/dom/-/dom-10.4.1.tgz#d444f8a889e9a46e9a3b4f3b88e0fcb3efb6cf95" @@ -5407,6 +5621,808 @@ resolved "https://registry.yarnpkg.com/@yarnpkg/lockfile/-/lockfile-1.1.0.tgz#e77a97fbd345b76d83245edcd17d393b1b41fb31" integrity sha512-GpSwvyXOcOOlV70vbnzjj4fW5xW/FdUF6nQEt1ENy7m4ZCczi1+/buVUPAqmGfqznsORNFzUMjctTIp8a9tuCQ== +"@zag-js/accordion@1.43.3": + version "1.43.3" + resolved "https://registry.yarnpkg.com/@zag-js/accordion/-/accordion-1.43.3.tgz#fd5a32c496ad10b2be425658fb5a8d0c411b5419" + integrity sha512-J6rGbMPXhYDa2dLgp66DPpwC3OcNAJH71kuGakz7SfCvQWiR9lIyB26G/QdSjJjf0rVARM8rN90e5PxZjYdWjA== + dependencies: + "@zag-js/anatomy" "1.43.3" + "@zag-js/core" "1.43.3" + "@zag-js/dom-query" "1.43.3" + "@zag-js/types" "1.43.3" + "@zag-js/utils" "1.43.3" + +"@zag-js/anatomy@1.43.3": + version "1.43.3" + resolved "https://registry.yarnpkg.com/@zag-js/anatomy/-/anatomy-1.43.3.tgz#d858e8a873a34735d394777e32e492df9bba2ef0" + integrity sha512-KzosWgu0TTtdBNHPUZg2W8E5JsGsExQ8oGkLDmV6Sym9twaATU2YVMCWsfitq3Isss4099wNMsHdjEPK2UyCjw== + +"@zag-js/angle-slider@1.43.3": + version "1.43.3" + resolved "https://registry.yarnpkg.com/@zag-js/angle-slider/-/angle-slider-1.43.3.tgz#d472c99e09b0b9867c58567cb74258897f4c879f" + integrity sha512-/WbbxE/0YhFsoKO/5t/c4LlWRg0VFXD1t3H0u40ic7jnsyNyH9RWoIjwbVSvNC98Ij3s7qmUBY63GwTPGuS/rA== + dependencies: + "@zag-js/anatomy" "1.43.3" + "@zag-js/core" "1.43.3" + "@zag-js/dom-query" "1.43.3" + "@zag-js/rect-utils" "1.43.3" + "@zag-js/types" "1.43.3" + "@zag-js/utils" "1.43.3" + +"@zag-js/aria-hidden@1.43.3": + version "1.43.3" + resolved "https://registry.yarnpkg.com/@zag-js/aria-hidden/-/aria-hidden-1.43.3.tgz#995c07026ec5e1a28203ec99b49aad9cfea397a6" + integrity sha512-f8mqntgsDQFwPDlClF30oXJolY26sg1lnYe6avQB79kwgUQKvw10aYeiUou2INYN7mACNs4nNERfAf1/p54jHw== + dependencies: + "@zag-js/dom-query" "1.43.3" + +"@zag-js/async-list@1.43.3": + version "1.43.3" + resolved "https://registry.yarnpkg.com/@zag-js/async-list/-/async-list-1.43.3.tgz#dd9b84352788c2c0ff6c65ea73b488cf6d5c392a" + integrity sha512-gTtQE0ZbPohOaInzXa3bsqBKDfHcyCtyq5GXXoGGC/JEn1+xbx9fssG4aydG4GBjReutOmZ5vMa5il+PB6huyA== + dependencies: + "@zag-js/core" "1.43.3" + "@zag-js/utils" "1.43.3" + +"@zag-js/auto-resize@1.43.3": + version "1.43.3" + resolved "https://registry.yarnpkg.com/@zag-js/auto-resize/-/auto-resize-1.43.3.tgz#77db1cda8348b357d1d17b89693b7ffe360b17ac" + integrity sha512-Qb47USNXmbg5p2s8QjUwnTBWI5waVz8YHDCQO75sMoXi1CCxcdW3lSjsOI12FIBD0tiEhjkNGZrhTKnNu1gDkQ== + dependencies: + "@zag-js/dom-query" "1.43.3" + +"@zag-js/avatar@1.43.3": + version "1.43.3" + resolved "https://registry.yarnpkg.com/@zag-js/avatar/-/avatar-1.43.3.tgz#15e6b14719252c5d9d87938dc5d038e291c5ee50" + integrity sha512-cAQFzmZRBoV8M2oGUMHYiBlF2hiwwSJOzmRLjz/yCElK2EHs63O9BzhRk05EZeFqJLvQXoz6bpZ/ug5YX48cRg== + dependencies: + "@zag-js/anatomy" "1.43.3" + "@zag-js/core" "1.43.3" + "@zag-js/dom-query" "1.43.3" + "@zag-js/types" "1.43.3" + "@zag-js/utils" "1.43.3" + +"@zag-js/carousel@1.43.3": + version "1.43.3" + resolved "https://registry.yarnpkg.com/@zag-js/carousel/-/carousel-1.43.3.tgz#9bd197ef6af51e11cacb2181eef2a0c408834616" + integrity sha512-hXnG0XL/mpBPCJ3a+H88CZMSCzVsKnOLY7i1Fza+hKxUiGovxojCAitoASeg6ETd7bOzAbz0pvfGgwJPCdnGTQ== + dependencies: + "@zag-js/anatomy" "1.43.3" + "@zag-js/core" "1.43.3" + "@zag-js/dom-query" "1.43.3" + "@zag-js/scroll-snap" "1.43.3" + "@zag-js/types" "1.43.3" + "@zag-js/utils" "1.43.3" + +"@zag-js/cascade-select@1.43.3": + version "1.43.3" + resolved "https://registry.yarnpkg.com/@zag-js/cascade-select/-/cascade-select-1.43.3.tgz#f46b017fea74f18dfef1f242a18bbad22d883e8b" + integrity sha512-zSHgbaPuD369sVwlc1cEn0XB4UgK+7RpHRRD/Lw0h7FJLbXvhz6afByK+3/3NpAuQ1YBg6wdiRfikxcVdkyPOQ== + dependencies: + "@zag-js/anatomy" "1.43.3" + "@zag-js/collection" "1.43.3" + "@zag-js/core" "1.43.3" + "@zag-js/dismissable" "1.43.3" + "@zag-js/dom-query" "1.43.3" + "@zag-js/focus-visible" "1.43.3" + "@zag-js/popper" "1.43.3" + "@zag-js/rect-utils" "1.43.3" + "@zag-js/types" "1.43.3" + "@zag-js/utils" "1.43.3" + +"@zag-js/checkbox@1.43.3": + version "1.43.3" + resolved "https://registry.yarnpkg.com/@zag-js/checkbox/-/checkbox-1.43.3.tgz#0c97a583b79f7676f68a41470b1f34fa807a3b8e" + integrity sha512-1vikdGcAokmLSMAnHQo5lYG/DMMNej2FlaAxiuyna2n0XJy/VFhv/3+/FZNB9CAJBkeqwLm9kqo94c7iEL7cxA== + dependencies: + "@zag-js/anatomy" "1.43.3" + "@zag-js/core" "1.43.3" + "@zag-js/dom-query" "1.43.3" + "@zag-js/focus-visible" "1.43.3" + "@zag-js/types" "1.43.3" + "@zag-js/utils" "1.43.3" + +"@zag-js/clipboard@1.43.3": + version "1.43.3" + resolved "https://registry.yarnpkg.com/@zag-js/clipboard/-/clipboard-1.43.3.tgz#86e2030e56d7c062e30a9235a4e2ffea5fda7ca0" + integrity sha512-PHcYmVdmQltIWdtQ+QAP6EHTdjaeN4+TVocdQskBGPEW/0Vf05C/kOuznbl4mdIlhN6GGkNKJCL8D07b+etW+A== + dependencies: + "@zag-js/anatomy" "1.43.3" + "@zag-js/core" "1.43.3" + "@zag-js/dom-query" "1.43.3" + "@zag-js/types" "1.43.3" + "@zag-js/utils" "1.43.3" + +"@zag-js/collapsible@1.43.3": + version "1.43.3" + resolved "https://registry.yarnpkg.com/@zag-js/collapsible/-/collapsible-1.43.3.tgz#b464ae4976c1d314344ff0decb8b627a97f00b6e" + integrity sha512-ABOmW6o2SxKfuG5qNWeLXYgVDQDe30dyeRCbEGBhWFeYFO0IMvjlOLiLdk6MSXmFjMynUTIuYxaEv8gNhoOkCA== + dependencies: + "@zag-js/anatomy" "1.43.3" + "@zag-js/core" "1.43.3" + "@zag-js/dom-query" "1.43.3" + "@zag-js/types" "1.43.3" + "@zag-js/utils" "1.43.3" + +"@zag-js/collection@1.43.3": + version "1.43.3" + resolved "https://registry.yarnpkg.com/@zag-js/collection/-/collection-1.43.3.tgz#165fc89acb8048ceb5431e7bf6d288ae0a003d57" + integrity sha512-POufSu17mxTic09DP3CD2sGiRCaNODv/gAYyotrM/ynWSeb2+TjSxlKxuiyQS0amiY+BwJ3+m5qJ4odmU9TLMQ== + dependencies: + "@zag-js/utils" "1.43.3" + +"@zag-js/color-picker@1.43.3": + version "1.43.3" + resolved "https://registry.yarnpkg.com/@zag-js/color-picker/-/color-picker-1.43.3.tgz#cc21d36ef0a1cf719c724d146acb445a9d2b252a" + integrity sha512-EevMgWLagXzxa1nkcyk1HKfb+tPU0CXGNhzCdnN1bZSOeQ5eH/4Y0xDIDez0IPXp+L7wnMwIGy5ATTKCGSmVWA== + dependencies: + "@zag-js/anatomy" "1.43.3" + "@zag-js/color-utils" "1.43.3" + "@zag-js/core" "1.43.3" + "@zag-js/dismissable" "1.43.3" + "@zag-js/dom-query" "1.43.3" + "@zag-js/popper" "1.43.3" + "@zag-js/types" "1.43.3" + "@zag-js/utils" "1.43.3" + +"@zag-js/color-utils@1.43.3": + version "1.43.3" + resolved "https://registry.yarnpkg.com/@zag-js/color-utils/-/color-utils-1.43.3.tgz#3aaf03ff16a8207a5f810cca8b5774da24c2da72" + integrity sha512-a7R2TfWAlxwObDt1ohdBJzL+HfrYQ/6gLwP2Vj4o7nSaUFhrj5uvT56gg1Uhzp4ALnDcg6cLLEJlwWUaYLpq6g== + dependencies: + "@zag-js/utils" "1.43.3" + +"@zag-js/combobox@1.43.3": + version "1.43.3" + resolved "https://registry.yarnpkg.com/@zag-js/combobox/-/combobox-1.43.3.tgz#7b120126c157efcc9ad91306fb0ff0e49e12e83e" + integrity sha512-qdm81w9PnR7/f/YNxie5iT50+7tXkKgiRJZEN59pYqwRA2AbwtE87jk7CQAuBVD1ko/wfcSBfIocoeltVKy2Kw== + dependencies: + "@zag-js/anatomy" "1.43.3" + "@zag-js/collection" "1.43.3" + "@zag-js/core" "1.43.3" + "@zag-js/dismissable" "1.43.3" + "@zag-js/dom-query" "1.43.3" + "@zag-js/focus-visible" "1.43.3" + "@zag-js/live-region" "1.43.3" + "@zag-js/popper" "1.43.3" + "@zag-js/types" "1.43.3" + "@zag-js/utils" "1.43.3" + +"@zag-js/core@1.43.3": + version "1.43.3" + resolved "https://registry.yarnpkg.com/@zag-js/core/-/core-1.43.3.tgz#145ae51f03b00743863930810db6b39c32c8f90b" + integrity sha512-afREBcZWvPLHz/2AxJeuAP2o6+o3V7NZO/MutLhdclKaVSBlPzCr6qqP9k8hq1zOxk1jogKT5VVGielzWDY2Dw== + dependencies: + "@zag-js/dom-query" "1.43.3" + "@zag-js/utils" "1.43.3" + +"@zag-js/date-input@1.43.3": + version "1.43.3" + resolved "https://registry.yarnpkg.com/@zag-js/date-input/-/date-input-1.43.3.tgz#acd5edde26c0f8223497af662665c78f0fb8a20b" + integrity sha512-jw1hEJg1yjoRUp2U//b57w/w0bolrTTTrzO89WeKU1P/UoW1G5j5zAw1TMnL6fp2IsRP/7QgjGR4HSkAgrOhkw== + dependencies: + "@zag-js/anatomy" "1.43.3" + "@zag-js/core" "1.43.3" + "@zag-js/date-utils" "1.43.3" + "@zag-js/dom-query" "1.43.3" + "@zag-js/live-region" "1.43.3" + "@zag-js/types" "1.43.3" + "@zag-js/utils" "1.43.3" + +"@zag-js/date-picker@1.43.3": + version "1.43.3" + resolved "https://registry.yarnpkg.com/@zag-js/date-picker/-/date-picker-1.43.3.tgz#739cd3e06650ed0d9180a5e6756f9669ca5c4fa3" + integrity sha512-2nQZsMkb1EddF6qTvjinsrZdZbXcor+VluniK85bg9JQsA4WvtkmIHpy/pMQQ6zS8i9fbMBYbYH7bQVbfk2JtA== + dependencies: + "@zag-js/anatomy" "1.43.3" + "@zag-js/core" "1.43.3" + "@zag-js/date-utils" "1.43.3" + "@zag-js/dismissable" "1.43.3" + "@zag-js/dom-query" "1.43.3" + "@zag-js/live-region" "1.43.3" + "@zag-js/popper" "1.43.3" + "@zag-js/types" "1.43.3" + "@zag-js/utils" "1.43.3" + +"@zag-js/date-utils@1.43.3": + version "1.43.3" + resolved "https://registry.yarnpkg.com/@zag-js/date-utils/-/date-utils-1.43.3.tgz#534423eb97d7ea2fc23f411bdae7f63c6e07201f" + integrity sha512-EUQ2OUJs7crXy3OOgt8DhI2pm/jH+5IF2hzxfI7YRiVuvBtL6YbzHAWrT+CpcMcJZwwMiM2WJ9+lph7V7SoyZQ== + +"@zag-js/dialog@1.43.3": + version "1.43.3" + resolved "https://registry.yarnpkg.com/@zag-js/dialog/-/dialog-1.43.3.tgz#59631fe795567735a9ce2a2e35892ca87ca03fc6" + integrity sha512-DGIUQ686slMHiphl5di/0hmsg+sWL5vlTxZtVZ+5zvNYTWgEVpz8bUXXnGrIsVBXkWgK8CVL34pdMCs3jAmQXA== + dependencies: + "@zag-js/anatomy" "1.43.3" + "@zag-js/aria-hidden" "1.43.3" + "@zag-js/core" "1.43.3" + "@zag-js/dismissable" "1.43.3" + "@zag-js/dom-query" "1.43.3" + "@zag-js/focus-trap" "1.43.3" + "@zag-js/remove-scroll" "1.43.3" + "@zag-js/types" "1.43.3" + "@zag-js/utils" "1.43.3" + +"@zag-js/dismissable@1.43.3": + version "1.43.3" + resolved "https://registry.yarnpkg.com/@zag-js/dismissable/-/dismissable-1.43.3.tgz#320f3ae4500cd2ea54b9321561b74738d79419d1" + integrity sha512-3znmDAC6qv7I9h/ZInVE+sFxE2wcBeQhT0bEiUjXAlgFGgaVmgA6A0ElGI7CDrot8qhgC88BZQisMWfYRRWgeg== + dependencies: + "@zag-js/dom-query" "1.43.3" + "@zag-js/interact-outside" "1.43.3" + "@zag-js/utils" "1.43.3" + +"@zag-js/dom-query@1.43.3": + version "1.43.3" + resolved "https://registry.yarnpkg.com/@zag-js/dom-query/-/dom-query-1.43.3.tgz#1bd738cf06d0dcc24d56737bd9f1f1aea742a079" + integrity sha512-kpTTYMemMmHxhp4gyOllK7/Lf86AySTO+AlGds9iQM21eUwi1jvc9q3VTxP+qD/KwHePGftfPwkwxifC3iSGbw== + dependencies: + "@zag-js/types" "1.43.3" + +"@zag-js/drawer@1.43.3": + version "1.43.3" + resolved "https://registry.yarnpkg.com/@zag-js/drawer/-/drawer-1.43.3.tgz#51a09fcc9eb13a5d1236ab81731c8df42c9b8757" + integrity sha512-/oWCjJZLxB4cNfrjjobVkrLdPgAO5uCLnpaDZ9p4ZmIY/ENO2QesboqdAK4WfypiMeYEoVpA3DFbGIVt4qzazA== + dependencies: + "@zag-js/anatomy" "1.43.3" + "@zag-js/aria-hidden" "1.43.3" + "@zag-js/core" "1.43.3" + "@zag-js/dismissable" "1.43.3" + "@zag-js/dom-query" "1.43.3" + "@zag-js/focus-trap" "1.43.3" + "@zag-js/remove-scroll" "1.43.3" + "@zag-js/types" "1.43.3" + "@zag-js/utils" "1.43.3" + +"@zag-js/editable@1.43.3": + version "1.43.3" + resolved "https://registry.yarnpkg.com/@zag-js/editable/-/editable-1.43.3.tgz#8f152bbc534d10c04ef46b2f11265eecc8670c4a" + integrity sha512-G+cFSuRQoqvTAWV1cWAxnAf1W9lJdqlzjy1BJi3rK2jMThdZUUV97dq19W0u/Qvd5V9sTnhUHjkOtq0z1fActw== + dependencies: + "@zag-js/anatomy" "1.43.3" + "@zag-js/core" "1.43.3" + "@zag-js/dom-query" "1.43.3" + "@zag-js/interact-outside" "1.43.3" + "@zag-js/types" "1.43.3" + "@zag-js/utils" "1.43.3" + +"@zag-js/file-upload@1.43.3": + version "1.43.3" + resolved "https://registry.yarnpkg.com/@zag-js/file-upload/-/file-upload-1.43.3.tgz#6a4f4aa13f4375ea4adb61756e7a0a14206e6266" + integrity sha512-kpXjL4XD0kZD+OukpjoENytE9qbs/rpshOwPR+g1IJHvl45IUFXzdXZn3m8SQD4Fa5ZTp4ZiExGBjUNceTaJcg== + dependencies: + "@zag-js/anatomy" "1.43.3" + "@zag-js/core" "1.43.3" + "@zag-js/dom-query" "1.43.3" + "@zag-js/file-utils" "1.43.3" + "@zag-js/i18n-utils" "1.43.3" + "@zag-js/types" "1.43.3" + "@zag-js/utils" "1.43.3" + +"@zag-js/file-utils@1.43.3": + version "1.43.3" + resolved "https://registry.yarnpkg.com/@zag-js/file-utils/-/file-utils-1.43.3.tgz#3270987ef5ec8396e32b6e8045e8c85eb3df6d89" + integrity sha512-iawUjq0klSsjhuEI43u/cPlNbA+b/7gvJi5TT+KHh9DxAr3u2CTnZUCurBLeuAPtrSXvlR4MQ6MmH93NlNnj7A== + dependencies: + "@zag-js/i18n-utils" "1.43.3" + +"@zag-js/floating-panel@1.43.3": + version "1.43.3" + resolved "https://registry.yarnpkg.com/@zag-js/floating-panel/-/floating-panel-1.43.3.tgz#a4e805301466e4a3c5033aa55df164b61f0357df" + integrity sha512-DnB71JgNSk+AZNHl1PF2DFp2HkzuN7D/tsFIaV4sOK+5wgiNH4dWth7RlYkIrX9m2vpqunaQ+4/C2aZpVErYsQ== + dependencies: + "@zag-js/anatomy" "1.43.3" + "@zag-js/core" "1.43.3" + "@zag-js/dom-query" "1.43.3" + "@zag-js/rect-utils" "1.43.3" + "@zag-js/types" "1.43.3" + "@zag-js/utils" "1.43.3" + +"@zag-js/focus-trap@1.43.3": + version "1.43.3" + resolved "https://registry.yarnpkg.com/@zag-js/focus-trap/-/focus-trap-1.43.3.tgz#0f52d1e8555804dfd6d39784bc7c9e0b31c619f4" + integrity sha512-/U4xWaHvHL83yDylTjLE1txCd0FR3As/1qgFWpzb1qOGWiCp/9NrLHVfegjDPgaoKLHRC4kEHzN+0NYNGHBXgQ== + dependencies: + "@zag-js/dom-query" "1.43.3" + +"@zag-js/focus-visible@1.43.3": + version "1.43.3" + resolved "https://registry.yarnpkg.com/@zag-js/focus-visible/-/focus-visible-1.43.3.tgz#82a7d6119049d4f3e4237c720aa6c946281cd94b" + integrity sha512-32l21nQUI328nfNTe2adXyXj+8t1ltDaEm7IQGmhtAw/DuIKvjpEkhJZHL1zUSlp47QGNfuYGPeD+ZXaZWFWMA== + dependencies: + "@zag-js/dom-query" "1.43.3" + +"@zag-js/highlight-word@1.43.3": + version "1.43.3" + resolved "https://registry.yarnpkg.com/@zag-js/highlight-word/-/highlight-word-1.43.3.tgz#cd7760dee19acd22f3485120ddabf63d6bdda0e9" + integrity sha512-oN87IS5aA58jj1jMnhepLdQQ85bcjK6dWK+XK3QHAFdJZLSpCK++5HjGYng/G9xsnu+FWh8RMais9c5Ci738NQ== + +"@zag-js/hotkeys@1.43.3": + version "1.43.3" + resolved "https://registry.yarnpkg.com/@zag-js/hotkeys/-/hotkeys-1.43.3.tgz#c7661d9e6320a3478f9d5fc9c39bdc4d67ff625c" + integrity sha512-uC3bc6WakCe0T2Hx73q+ywGiogibErBQep5UtRZGfTBhyKGyKa158NFmhl64oYx4RnlNyZliQ5cF/d74+HNtdA== + dependencies: + "@zag-js/dom-query" "1.43.3" + +"@zag-js/hover-card@1.43.3": + version "1.43.3" + resolved "https://registry.yarnpkg.com/@zag-js/hover-card/-/hover-card-1.43.3.tgz#72a1c19d62a0f26581c83c977e4069c4a5a3b002" + integrity sha512-1gyT11fRK9r2XKwgxH6uS+Y0HYvr95QU4TjgnkzHJ2d6Q+wf89Fxb2zG7HCer0VV/rwz0ZmWZRDgKkZHCNxS7Q== + dependencies: + "@zag-js/anatomy" "1.43.3" + "@zag-js/core" "1.43.3" + "@zag-js/dismissable" "1.43.3" + "@zag-js/dom-query" "1.43.3" + "@zag-js/popper" "1.43.3" + "@zag-js/types" "1.43.3" + "@zag-js/utils" "1.43.3" + +"@zag-js/i18n-utils@1.43.3": + version "1.43.3" + resolved "https://registry.yarnpkg.com/@zag-js/i18n-utils/-/i18n-utils-1.43.3.tgz#10962528901f81c4dac1d287fd18f36cee286d6c" + integrity sha512-bVCZxrd7xWTMhWks8zk/xRQNMPZz3CVoXjG9207b0GVTTQOwoiVg+MEIHDqirEaDJtzUKR6VbV0dRpC8LsceFg== + dependencies: + "@zag-js/dom-query" "1.43.3" + +"@zag-js/image-cropper@1.43.3": + version "1.43.3" + resolved "https://registry.yarnpkg.com/@zag-js/image-cropper/-/image-cropper-1.43.3.tgz#253c0028c5892e9a58076e60a197b3a6a6489ca8" + integrity sha512-MBoWA7V8TMx1pxSZYK2pCbiQC5NRhsnJot8JmAjqz52EcgQM5I2Qw3mISfZ558Idg/w1ilxD0MyAw8MBHOuiDA== + dependencies: + "@zag-js/anatomy" "1.43.3" + "@zag-js/core" "1.43.3" + "@zag-js/dom-query" "1.43.3" + "@zag-js/types" "1.43.3" + "@zag-js/utils" "1.43.3" + +"@zag-js/interact-outside@1.43.3": + version "1.43.3" + resolved "https://registry.yarnpkg.com/@zag-js/interact-outside/-/interact-outside-1.43.3.tgz#aecc637e6ad22bdaa66b82d88b27298d802a64d1" + integrity sha512-qgyAyWELSzFrHUtB6D7IzemI48NjX7E5oIDCXsz/DBPh+ybsK+pKMGsZkduTCK+uEqJcA/w+DAWaDUOxhjqvWA== + dependencies: + "@zag-js/dom-query" "1.43.3" + "@zag-js/utils" "1.43.3" + +"@zag-js/json-tree-utils@1.43.3": + version "1.43.3" + resolved "https://registry.yarnpkg.com/@zag-js/json-tree-utils/-/json-tree-utils-1.43.3.tgz#07cfd9b2ccc0f38881bb8eac7a6a0d99c1e3317c" + integrity sha512-Fal5YYy3+E+eHIreqZtrS8s6o+8+tiq02z2FsmQNRz/txOKb0rgMiP81C//dGLH0eVJK8GUBvj5moeJ1ueRN7A== + +"@zag-js/listbox@1.43.3": + version "1.43.3" + resolved "https://registry.yarnpkg.com/@zag-js/listbox/-/listbox-1.43.3.tgz#1b83a51ebc87b53b789f3e60c01d6b7146a606fe" + integrity sha512-1u1O002M5hXuJSQmiaWgG2isdaJwqyLe/5F6Uv6ApOcl7i0GjO4fIF0aGCDrHfGki98A9TWn4ioaU0ExL3SeUw== + dependencies: + "@zag-js/anatomy" "1.43.3" + "@zag-js/collection" "1.43.3" + "@zag-js/core" "1.43.3" + "@zag-js/dom-query" "1.43.3" + "@zag-js/focus-visible" "1.43.3" + "@zag-js/types" "1.43.3" + "@zag-js/utils" "1.43.3" + +"@zag-js/live-region@1.43.3": + version "1.43.3" + resolved "https://registry.yarnpkg.com/@zag-js/live-region/-/live-region-1.43.3.tgz#02844c3e6393074727d3cd0fbc3c20dbadeeb336" + integrity sha512-lB2ryGpRjTgbfJ5D86MQnvZRCJupKbpwS53jfCkEP0EBC9Tk7Crq9p0pobzXgH5U9fnjn4BPsqBSyuSOxPOJnw== + +"@zag-js/marquee@1.43.3": + version "1.43.3" + resolved "https://registry.yarnpkg.com/@zag-js/marquee/-/marquee-1.43.3.tgz#5e670c8e936fcf5f04da2b713e456fd827b0784a" + integrity sha512-NdWm4vwd9BfgcUPGwlQNvd+uaC9LcrG9sL7Jo0nZjmuxiABSO/lfyd/B4h8Md3u0lj3fVUGxO/tisrfwGo/9kA== + dependencies: + "@zag-js/anatomy" "1.43.3" + "@zag-js/core" "1.43.3" + "@zag-js/dom-query" "1.43.3" + "@zag-js/types" "1.43.3" + "@zag-js/utils" "1.43.3" + +"@zag-js/menu@1.43.3": + version "1.43.3" + resolved "https://registry.yarnpkg.com/@zag-js/menu/-/menu-1.43.3.tgz#83e43aab35eebe46feb8cbf86bdfe955fa694dd5" + integrity sha512-RGCqRv/GeEehBYOB3JV0NUfyfaWW5KBN79RHUUYpxF9DMsPM8igHOzuoOoz+FaYoepjC34oMtmWicF1Dan6apA== + dependencies: + "@zag-js/anatomy" "1.43.3" + "@zag-js/core" "1.43.3" + "@zag-js/dismissable" "1.43.3" + "@zag-js/dom-query" "1.43.3" + "@zag-js/focus-visible" "1.43.3" + "@zag-js/popper" "1.43.3" + "@zag-js/rect-utils" "1.43.3" + "@zag-js/types" "1.43.3" + "@zag-js/utils" "1.43.3" + +"@zag-js/navigation-menu@1.43.3": + version "1.43.3" + resolved "https://registry.yarnpkg.com/@zag-js/navigation-menu/-/navigation-menu-1.43.3.tgz#f60218dfdec6c49e470d04d6aa7fedf4335422b6" + integrity sha512-7pVwpWwe/CtfvPclwd9k6Ja89RSdnYYC/rAC5Oaj5BUCVwdjNxh0VuyLS/awozNQclPFA6ww22KQSaLf4lAnPQ== + dependencies: + "@zag-js/anatomy" "1.43.3" + "@zag-js/core" "1.43.3" + "@zag-js/dismissable" "1.43.3" + "@zag-js/dom-query" "1.43.3" + "@zag-js/types" "1.43.3" + "@zag-js/utils" "1.43.3" + +"@zag-js/number-input@1.43.3": + version "1.43.3" + resolved "https://registry.yarnpkg.com/@zag-js/number-input/-/number-input-1.43.3.tgz#36942bc4bc2bcb049251ab637b34c161ef3d00db" + integrity sha512-XBuky+uuFXnshBHbIFfpUCly5nKZi+hW0R6pvgmqirqVyc4K/lwg4nz88/Z6U/q4uRQarKRr22fOMLthc7q7Yw== + dependencies: + "@internationalized/number" "3.6.7" + "@zag-js/anatomy" "1.43.3" + "@zag-js/core" "1.43.3" + "@zag-js/dom-query" "1.43.3" + "@zag-js/types" "1.43.3" + "@zag-js/utils" "1.43.3" + +"@zag-js/pagination@1.43.3": + version "1.43.3" + resolved "https://registry.yarnpkg.com/@zag-js/pagination/-/pagination-1.43.3.tgz#fedd2f2b2577e81386fb44928c08b71d9f50c1c6" + integrity sha512-8shW+/WwkLNKh9nhVXQCi2mQ50un52obzgheIm/BwlUlHu+qY/dM2al3Kx9L4yK7YYTDaXFxKyvP1iaYUQd7ZA== + dependencies: + "@zag-js/anatomy" "1.43.3" + "@zag-js/core" "1.43.3" + "@zag-js/dom-query" "1.43.3" + "@zag-js/types" "1.43.3" + "@zag-js/utils" "1.43.3" + +"@zag-js/password-input@1.43.3": + version "1.43.3" + resolved "https://registry.yarnpkg.com/@zag-js/password-input/-/password-input-1.43.3.tgz#0114556488b093f34bcdf596e23163cdb3d0b0b1" + integrity sha512-r7RPikBcwN8zTpuah54Bo3jclkz+ze+wV6g5SC7Ox6yOWdbC6A6ORyvXc3yqw2YG4tvwOtrD4p9w21zCVzNaqQ== + dependencies: + "@zag-js/anatomy" "1.43.3" + "@zag-js/core" "1.43.3" + "@zag-js/dom-query" "1.43.3" + "@zag-js/types" "1.43.3" + "@zag-js/utils" "1.43.3" + +"@zag-js/pin-input@1.43.3": + version "1.43.3" + resolved "https://registry.yarnpkg.com/@zag-js/pin-input/-/pin-input-1.43.3.tgz#dea63bc08bfc0b45e5264acbae0bd110f078cafc" + integrity sha512-eUIyyJeA07yJzdGPh7vkQdnd/32OtU9xMppQDGIKHSJFA1ZIeqxdmy33Safj41XFurLBTStQAKLCSJmBGgY2Gg== + dependencies: + "@zag-js/anatomy" "1.43.3" + "@zag-js/core" "1.43.3" + "@zag-js/dom-query" "1.43.3" + "@zag-js/types" "1.43.3" + "@zag-js/utils" "1.43.3" + +"@zag-js/popover@1.43.3": + version "1.43.3" + resolved "https://registry.yarnpkg.com/@zag-js/popover/-/popover-1.43.3.tgz#e13f0854e1833bd746beae226161393247fbd81b" + integrity sha512-kLQIj+9XaaEvSbviG+r8hI1OJxC4P4JTETNcnHV4w4aE5nR2r/LDP3JoJSEQsAvTR/MMYpZQDL5pdVQj0M/Oqg== + dependencies: + "@zag-js/anatomy" "1.43.3" + "@zag-js/aria-hidden" "1.43.3" + "@zag-js/core" "1.43.3" + "@zag-js/dismissable" "1.43.3" + "@zag-js/dom-query" "1.43.3" + "@zag-js/focus-trap" "1.43.3" + "@zag-js/popper" "1.43.3" + "@zag-js/remove-scroll" "1.43.3" + "@zag-js/types" "1.43.3" + "@zag-js/utils" "1.43.3" + +"@zag-js/popper@1.43.3": + version "1.43.3" + resolved "https://registry.yarnpkg.com/@zag-js/popper/-/popper-1.43.3.tgz#19885adc90f75b61e2e6c247c222c2d57cfa1d49" + integrity sha512-99PPQerLylh+ouG16d0Go0UgpLR3rCQvWMmJoO5Ti8+2Ww3aqBNLTqpF0rJuLPe1Ps4BfEt5Lr4dYhL1ixgbRQ== + dependencies: + "@floating-ui/dom" "^1.7.6" + "@zag-js/dom-query" "1.43.3" + "@zag-js/utils" "1.43.3" + +"@zag-js/presence@1.43.3": + version "1.43.3" + resolved "https://registry.yarnpkg.com/@zag-js/presence/-/presence-1.43.3.tgz#15b1582d024471eb6fdb0c4c69f03726661547d3" + integrity sha512-b+HxlhTOxTn/I0q1lmt8Afyk+pZpXV/FqHUkbUzy3m+2t9QgMONi5NDuRc6gNRTXIeG6lLVDHSDHT/FxxMLDWw== + dependencies: + "@zag-js/core" "1.43.3" + "@zag-js/dom-query" "1.43.3" + "@zag-js/types" "1.43.3" + +"@zag-js/progress@1.43.3": + version "1.43.3" + resolved "https://registry.yarnpkg.com/@zag-js/progress/-/progress-1.43.3.tgz#d681a6d5ff85bcdd42587a9dc8eaa117825d9751" + integrity sha512-hGZGtncpNWsKoU5lgXWzKAPMaG5w/B5kCNnlYnCZ30TnK9Zg5GwCkvYC45pKiY+Z9i8DxLNPkxIVWHG2oyYbcg== + dependencies: + "@zag-js/anatomy" "1.43.3" + "@zag-js/core" "1.43.3" + "@zag-js/dom-query" "1.43.3" + "@zag-js/types" "1.43.3" + "@zag-js/utils" "1.43.3" + +"@zag-js/qr-code@1.43.3": + version "1.43.3" + resolved "https://registry.yarnpkg.com/@zag-js/qr-code/-/qr-code-1.43.3.tgz#2c68870f2ec46a8db815bedde2731ccba1841a45" + integrity sha512-moSv0oTbO/XSAPnpPJGp5n4mpRlCsJYOaJW/I6zK1Ls6/YHWt7K9HUjZE06AwHwU+050ftivgWmXBlVgozc5GA== + dependencies: + "@zag-js/anatomy" "1.43.3" + "@zag-js/core" "1.43.3" + "@zag-js/dom-query" "1.43.3" + "@zag-js/types" "1.43.3" + "@zag-js/utils" "1.43.3" + proxy-memoize "3.0.1" + uqr "0.1.3" + +"@zag-js/radio-group@1.43.3": + version "1.43.3" + resolved "https://registry.yarnpkg.com/@zag-js/radio-group/-/radio-group-1.43.3.tgz#afd1cc67bed964c9b51252f4a17ff3444b207cc7" + integrity sha512-1QM1rNnK6mQ36aYEshFVlboBDMQTth2wxHuh5V+ALIXf4Dl1Eexy0dyLVFkYV7R3E90e6b8d+xZZ3tziTvnRDg== + dependencies: + "@zag-js/anatomy" "1.43.3" + "@zag-js/core" "1.43.3" + "@zag-js/dom-query" "1.43.3" + "@zag-js/focus-visible" "1.43.3" + "@zag-js/types" "1.43.3" + "@zag-js/utils" "1.43.3" + +"@zag-js/rating-group@1.43.3": + version "1.43.3" + resolved "https://registry.yarnpkg.com/@zag-js/rating-group/-/rating-group-1.43.3.tgz#d4875e967dc45106006967632684913e25dd2f03" + integrity sha512-BiKcyo3z7q4UBMsGuOs8w6u827pQ50eOuRCh1oqVpKqBoyRL0z9aFQYg9YeYnxXn8eyoEBMiVv01MTogJ2JBQA== + dependencies: + "@zag-js/anatomy" "1.43.3" + "@zag-js/core" "1.43.3" + "@zag-js/dom-query" "1.43.3" + "@zag-js/types" "1.43.3" + "@zag-js/utils" "1.43.3" + +"@zag-js/react@1.43.3": + version "1.43.3" + resolved "https://registry.yarnpkg.com/@zag-js/react/-/react-1.43.3.tgz#66bffc11bdf1354df638873ed41e1d2ec24ae5d2" + integrity sha512-PVfq738OhicFsGOZNqrsBmdOHuh54XnIhkyJ9HSWDpzQcGHq4fuFWIvfmqW/5o/Xkj+JwFQLoIDVX/KHaUjcXA== + dependencies: + "@zag-js/core" "1.43.3" + "@zag-js/store" "1.43.3" + "@zag-js/types" "1.43.3" + "@zag-js/utils" "1.43.3" + +"@zag-js/rect-utils@1.43.3": + version "1.43.3" + resolved "https://registry.yarnpkg.com/@zag-js/rect-utils/-/rect-utils-1.43.3.tgz#50dc465f1c8c8ede0ba4c7f90332e6bb0e8e7b1b" + integrity sha512-xZA5IKUtQeRKdzM+9jGj8R18MXmORDO0smXAAoyFj1Swj/uB17eVwvsWoQLXbb/AaYXEzSIJXNUt21n3GAX24Q== + +"@zag-js/remove-scroll@1.43.3": + version "1.43.3" + resolved "https://registry.yarnpkg.com/@zag-js/remove-scroll/-/remove-scroll-1.43.3.tgz#a99a79312b3584faeb8568d004ba063c54eb18a5" + integrity sha512-1bX6IQM7q26uL0476wFqtaebeIeDheyJd8fuje2zXTCg1XDRHJmRsM/tzcmcdi4W5s+hG0cUCfuVzUTXvODM5Q== + dependencies: + "@zag-js/dom-query" "1.43.3" + +"@zag-js/scroll-area@1.43.3": + version "1.43.3" + resolved "https://registry.yarnpkg.com/@zag-js/scroll-area/-/scroll-area-1.43.3.tgz#966817d4f9ceeabfdddfb79550b66d940809d807" + integrity sha512-qJpVs70vGM+Ogl8rQCG0iuZ7oliKlk6ZwzJMPQXnoRGeG6NzwIR0S3O+lJGmgR+xBul1gXkaAJzlyxGQr82bmA== + dependencies: + "@zag-js/anatomy" "1.43.3" + "@zag-js/core" "1.43.3" + "@zag-js/dom-query" "1.43.3" + "@zag-js/types" "1.43.3" + "@zag-js/utils" "1.43.3" + +"@zag-js/scroll-snap@1.43.3": + version "1.43.3" + resolved "https://registry.yarnpkg.com/@zag-js/scroll-snap/-/scroll-snap-1.43.3.tgz#9ea9895d39a9317a72f17bcb4b82a8000530bebf" + integrity sha512-izT8eXvwqZMEKNM3lLcAWz9MpUwvZ0UCjBnfQX2JLHLcjYxLOytMd6rfGM2hE1erD0CBYlBUi5bIqstwQFLmCA== + dependencies: + "@zag-js/dom-query" "1.43.3" + +"@zag-js/select@1.43.3": + version "1.43.3" + resolved "https://registry.yarnpkg.com/@zag-js/select/-/select-1.43.3.tgz#65cd39557f2610bb8ec31ff035035752dea4fc1a" + integrity sha512-vd5uKPOoRXXrHlL8VPNk5Mih6XRhIzXAon7emEupCe6UAAShqYnxumrLBbr5LifiePP93CGJx3rGn8RZky/OVg== + dependencies: + "@zag-js/anatomy" "1.43.3" + "@zag-js/collection" "1.43.3" + "@zag-js/core" "1.43.3" + "@zag-js/dismissable" "1.43.3" + "@zag-js/dom-query" "1.43.3" + "@zag-js/focus-visible" "1.43.3" + "@zag-js/popper" "1.43.3" + "@zag-js/types" "1.43.3" + "@zag-js/utils" "1.43.3" + +"@zag-js/signature-pad@1.43.3": + version "1.43.3" + resolved "https://registry.yarnpkg.com/@zag-js/signature-pad/-/signature-pad-1.43.3.tgz#e1f04b8132c735f5926b0fa17c988a6417bc4de4" + integrity sha512-5AbaVRXIwJQGheffPsvFiShQyjb4ufgvt6eyJX5ovpF9PiPuvaP6mnVYdJwK/YelWltW41b7NABtSghUYl5gIw== + dependencies: + "@zag-js/anatomy" "1.43.3" + "@zag-js/core" "1.43.3" + "@zag-js/dom-query" "1.43.3" + "@zag-js/types" "1.43.3" + "@zag-js/utils" "1.43.3" + perfect-freehand "^1.2.3" + +"@zag-js/slider@1.43.3": + version "1.43.3" + resolved "https://registry.yarnpkg.com/@zag-js/slider/-/slider-1.43.3.tgz#eaba50b78c1bdd1fd173fb51cbbe4b10330eed62" + integrity sha512-SwnwdabVPouHraF4fcICz9szGMARxUd8CPA0+x+w48D8hEn0GzFXDRI0ntXByEstwbpyzvy4ptRvh0WRvwCJbw== + dependencies: + "@zag-js/anatomy" "1.43.3" + "@zag-js/core" "1.43.3" + "@zag-js/dom-query" "1.43.3" + "@zag-js/types" "1.43.3" + "@zag-js/utils" "1.43.3" + +"@zag-js/splitter@1.43.3": + version "1.43.3" + resolved "https://registry.yarnpkg.com/@zag-js/splitter/-/splitter-1.43.3.tgz#79cbb167e5a3ceccbc0532d14af9bdcb7442e666" + integrity sha512-iQDlQvAD+ldG0QEj6pwQazIiEjR5bvJhZFeqoSRy11BHOls5mT978QNOcCTZ0gQ1ilwsWoAMnESY8d33U1v1Vw== + dependencies: + "@zag-js/anatomy" "1.43.3" + "@zag-js/core" "1.43.3" + "@zag-js/dom-query" "1.43.3" + "@zag-js/types" "1.43.3" + "@zag-js/utils" "1.43.3" + +"@zag-js/steps@1.43.3": + version "1.43.3" + resolved "https://registry.yarnpkg.com/@zag-js/steps/-/steps-1.43.3.tgz#451b978a5652b63130cb4d80a7d4f63c28d14ff6" + integrity sha512-Au4LFM0jqn/v66HSU1ZIpb8Dl9LK3yDQ1pPhE2k2tuJz0ksq9s61m47Vf1FjQhlfBFgXkh20xASAgsVVbDXZdg== + dependencies: + "@zag-js/anatomy" "1.43.3" + "@zag-js/core" "1.43.3" + "@zag-js/dom-query" "1.43.3" + "@zag-js/types" "1.43.3" + "@zag-js/utils" "1.43.3" + +"@zag-js/store@1.43.3": + version "1.43.3" + resolved "https://registry.yarnpkg.com/@zag-js/store/-/store-1.43.3.tgz#196313bab5f98d83c43144e95c46b2d1967dbf86" + integrity sha512-NL3Uxk5Rszjd+X+cPXw0N7Kn5TNMyrS6cTMazlBOcN2+J68mzXhNFvM/0H38m0X+3ybK3sE5Ta6NPlhOQADRqw== + dependencies: + proxy-compare "3.0.1" + +"@zag-js/switch@1.43.3": + version "1.43.3" + resolved "https://registry.yarnpkg.com/@zag-js/switch/-/switch-1.43.3.tgz#51e3e20d25d7e39c63b8489569e049ab60cdd925" + integrity sha512-MZxRjKE9RAb0qq6bBGj9PKX4m+wWKrNJ7MxdZuopcyWxRe7c6B389bprbgAUmDmm1WB8EMQwluEqyvXqC2j9tA== + dependencies: + "@zag-js/anatomy" "1.43.3" + "@zag-js/core" "1.43.3" + "@zag-js/dom-query" "1.43.3" + "@zag-js/focus-visible" "1.43.3" + "@zag-js/types" "1.43.3" + "@zag-js/utils" "1.43.3" + +"@zag-js/tabs@1.43.3": + version "1.43.3" + resolved "https://registry.yarnpkg.com/@zag-js/tabs/-/tabs-1.43.3.tgz#1c4d2416c2cb0d38d70336614587bb41124578c2" + integrity sha512-uLT5YiQAcDkSi9T1plYQyXAXaqGi1H5iw/PA0yXsWDOoNFU9jlPM5s8SuXbBJzXiufSFekdhzpNhMUhcapnBdA== + dependencies: + "@zag-js/anatomy" "1.43.3" + "@zag-js/core" "1.43.3" + "@zag-js/dom-query" "1.43.3" + "@zag-js/types" "1.43.3" + "@zag-js/utils" "1.43.3" + +"@zag-js/tags-input@1.43.3": + version "1.43.3" + resolved "https://registry.yarnpkg.com/@zag-js/tags-input/-/tags-input-1.43.3.tgz#3f41fc0747d3a4be02564498fc245862991efdba" + integrity sha512-JJx8WbN75PzKDBCWuIwZ6Anw2bk+CDPkB0gkCobuvAVhlYh0nN8HAWYPzMSzGZ+P2AhWN8KYEF9l8Pyx17XRXA== + dependencies: + "@zag-js/anatomy" "1.43.3" + "@zag-js/auto-resize" "1.43.3" + "@zag-js/core" "1.43.3" + "@zag-js/dom-query" "1.43.3" + "@zag-js/interact-outside" "1.43.3" + "@zag-js/live-region" "1.43.3" + "@zag-js/types" "1.43.3" + "@zag-js/utils" "1.43.3" + +"@zag-js/timer@1.43.3": + version "1.43.3" + resolved "https://registry.yarnpkg.com/@zag-js/timer/-/timer-1.43.3.tgz#24969b43305020878283ec3d43236d15ec6d5c0f" + integrity sha512-HioBlMnCf+DO5T/tJPm8EnHF+Tp/jjrAYqCA5R2FgLGBC0kBWI2eFqpc74wXlH3jjTzeFaZJgaq2HnkQNvAG/w== + dependencies: + "@zag-js/anatomy" "1.43.3" + "@zag-js/core" "1.43.3" + "@zag-js/dom-query" "1.43.3" + "@zag-js/types" "1.43.3" + "@zag-js/utils" "1.43.3" + +"@zag-js/toast@1.43.3": + version "1.43.3" + resolved "https://registry.yarnpkg.com/@zag-js/toast/-/toast-1.43.3.tgz#e2a81434fe9868f56e74f26e2c5d8d086e4b6f54" + integrity sha512-XBDewuymsIzZy23xrcx1v6F/HeDlk3NAfZ2C02P+DHiNKdj+a53PpqUGZg2e2FX7ZGibag+aywWG4pnvKaSQWg== + dependencies: + "@zag-js/anatomy" "1.43.3" + "@zag-js/core" "1.43.3" + "@zag-js/dismissable" "1.43.3" + "@zag-js/dom-query" "1.43.3" + "@zag-js/types" "1.43.3" + "@zag-js/utils" "1.43.3" + +"@zag-js/toc@1.43.3": + version "1.43.3" + resolved "https://registry.yarnpkg.com/@zag-js/toc/-/toc-1.43.3.tgz#0196416727ac4f7dc5ed1a0e3cf708d7b3f1a07a" + integrity sha512-ciIs9byITgsziuGdXKTVnAP3oYd4Nti2hsI0a5VqFMBslWiU/jO6pqRAPTj5V+e2z+Z7gM1RzzMNs8di5HuUFQ== + dependencies: + "@zag-js/anatomy" "1.43.3" + "@zag-js/core" "1.43.3" + "@zag-js/dom-query" "1.43.3" + "@zag-js/types" "1.43.3" + "@zag-js/utils" "1.43.3" + +"@zag-js/toggle-group@1.43.3": + version "1.43.3" + resolved "https://registry.yarnpkg.com/@zag-js/toggle-group/-/toggle-group-1.43.3.tgz#c7ad8c98cd137cf6d6d6cb4f3186e183ffb2a86c" + integrity sha512-ED8LA8cXEaC/MZtFNBY4+yCoP1qFYPZH0rBq0NszaxdYSw0hBTo7WfSbSlthF2IAl4z52ZrneTjQjB4LDEUNBw== + dependencies: + "@zag-js/anatomy" "1.43.3" + "@zag-js/core" "1.43.3" + "@zag-js/dom-query" "1.43.3" + "@zag-js/types" "1.43.3" + "@zag-js/utils" "1.43.3" + +"@zag-js/toggle@1.43.3": + version "1.43.3" + resolved "https://registry.yarnpkg.com/@zag-js/toggle/-/toggle-1.43.3.tgz#b9c4ed3160ad8584f37cc6ecf71b7ad283d98041" + integrity sha512-zZR4D6BRfdAzoEyPYqmkCw8GPh5s87E+dr3U+mHa3kabQBiVJ0Z3fvY2pNb3DBBCLJne+1+OF9NWiDTI8cRqGA== + dependencies: + "@zag-js/anatomy" "1.43.3" + "@zag-js/core" "1.43.3" + "@zag-js/dom-query" "1.43.3" + "@zag-js/types" "1.43.3" + "@zag-js/utils" "1.43.3" + +"@zag-js/tooltip@1.43.3": + version "1.43.3" + resolved "https://registry.yarnpkg.com/@zag-js/tooltip/-/tooltip-1.43.3.tgz#e72080ea6a79253c1e1c19e6bd8a2dd39bfad5fd" + integrity sha512-sBVhcejAQN5oDFE3PoGrvvjqOt5+9rHQjtjnnuhPZqeghsiX/IaL7AY8KelwDoNkMf2npN5i7loQvAZMZLVFaw== + dependencies: + "@zag-js/anatomy" "1.43.3" + "@zag-js/core" "1.43.3" + "@zag-js/dom-query" "1.43.3" + "@zag-js/focus-visible" "1.43.3" + "@zag-js/popper" "1.43.3" + "@zag-js/types" "1.43.3" + "@zag-js/utils" "1.43.3" + +"@zag-js/tour@1.43.3": + version "1.43.3" + resolved "https://registry.yarnpkg.com/@zag-js/tour/-/tour-1.43.3.tgz#32d6dfca7b3610a8e68a6805c6671b92d088f0ec" + integrity sha512-Wxp2HJBnHI0Nm94PvItCEdKyBnwp/PJ1Y5u45X/VTebgVXggPug88ZD51Mm6twIDPpCTkOstOcSy8zz+FlTYlQ== + dependencies: + "@zag-js/anatomy" "1.43.3" + "@zag-js/core" "1.43.3" + "@zag-js/dismissable" "1.43.3" + "@zag-js/dom-query" "1.43.3" + "@zag-js/focus-trap" "1.43.3" + "@zag-js/interact-outside" "1.43.3" + "@zag-js/popper" "1.43.3" + "@zag-js/types" "1.43.3" + "@zag-js/utils" "1.43.3" + +"@zag-js/tree-view@1.43.3": + version "1.43.3" + resolved "https://registry.yarnpkg.com/@zag-js/tree-view/-/tree-view-1.43.3.tgz#d5c4891648a3e16ad42053427b10740332b10e64" + integrity sha512-5fj6RWe4FSRbE3QewuqbghS+ojd2vaWfTrn0jUmH3KHzay2h/w1464oW0IYOONzwOmUUHj4wLDZZKwVyzPvmJA== + dependencies: + "@zag-js/anatomy" "1.43.3" + "@zag-js/collection" "1.43.3" + "@zag-js/core" "1.43.3" + "@zag-js/dom-query" "1.43.3" + "@zag-js/types" "1.43.3" + "@zag-js/utils" "1.43.3" + +"@zag-js/types@1.43.3": + version "1.43.3" + resolved "https://registry.yarnpkg.com/@zag-js/types/-/types-1.43.3.tgz#a51ba17d88f10eb2117ff1aa668673f00be39311" + integrity sha512-QokzUgkJ7a/TRE8SAXqlm1XfiNDbyM8y+mx0PpmzHa8bvmWXLEe/Zx2TRz8aYoGim75NluYzDy3x+WWileF7uA== + dependencies: + csstype "3.2.3" + +"@zag-js/utils@1.43.3": + version "1.43.3" + resolved "https://registry.yarnpkg.com/@zag-js/utils/-/utils-1.43.3.tgz#eb00c59558c1c66528e3cb44731e4a777f1bd15a" + integrity sha512-9P9fvFFxuiDcLqX0BYgGNkf0/a/id32nHvQpwgv/Xv3b9n5yeyw2U8nKefpWr+1VfFsrpf2XMXiA2CDSWZgt2g== + "@zkochan/js-yaml@0.0.7": version "0.0.7" resolved "https://registry.yarnpkg.com/@zkochan/js-yaml/-/js-yaml-0.0.7.tgz#4b0cb785220d7c28ce0ec4d0804deb5d821eae89" @@ -6674,6 +7690,11 @@ content-type@^2.0.0: resolved "https://registry.yarnpkg.com/content-type/-/content-type-2.0.0.tgz#2fb3ede69dffa0af78ca7c4ce7589680638b56df" integrity sha512-j/O/d7GcZCyNl7/hwZAb606rzqkyvaDctLmckbxLzHvFBzTJHuGEdodATcP3yIRoDrLHkIATJuvzbFlp/ki2cQ== +convert-source-map@^1.5.0: + version "1.9.0" + resolved "https://registry.yarnpkg.com/convert-source-map/-/convert-source-map-1.9.0.tgz#7faae62353fb4213366d0ca98358d22e8368b05f" + integrity sha512-ASFBup0Mz1uyiIjANan1jzLQami9z1PoYSZCiiYW2FczPbenXc45FZdBZLzOT+r6+iciuEModtmCti+hjaAk0A== + convert-source-map@^2.0.0: version "2.0.0" resolved "https://registry.yarnpkg.com/convert-source-map/-/convert-source-map-2.0.0.tgz#4b560f649fc4e918dd0ab75cf4961e8bc882d82a" @@ -6924,7 +7945,7 @@ csso@^5.0.5: dependencies: css-tree "~2.2.0" -csstype@^3.1.1, csstype@^3.2.2: +csstype@3.2.3, csstype@^3.0.2, csstype@^3.1.1, csstype@^3.2.2, csstype@^3.2.3: version "3.2.3" resolved "https://registry.yarnpkg.com/csstype/-/csstype-3.2.3.tgz#ec48c0f3e993e50648c86da559e2610995cf989a" integrity sha512-z1HGKcYy2xA8AGQfwrn0PAy+PB7X/GSj3UVJW9qKyn43xWa+gl5nXmU4qqLMRzWVLFC8KusUX8T/0kCiOYpAIQ== @@ -8175,6 +9196,11 @@ find-cache-dir@^4.0.0: common-path-prefix "^3.0.0" pkg-dir "^7.0.0" +find-root@^1.1.0: + version "1.1.0" + resolved "https://registry.yarnpkg.com/find-root/-/find-root-1.1.0.tgz#abcfc8ba76f708c42a97b3d685b7e9450bfb9ce4" + integrity sha512-NKfW6bec6GfKc0SGx1e07QZY9PE99u0Bft/0rzSD5k3sO/vwkVUpDUKVm5Gpp5Ue3YfShPFTX2070tDs5kB9Ng== + find-up@^4.0.0, find-up@^4.1.0: version "4.1.0" resolved "https://registry.yarnpkg.com/find-up/-/find-up-4.1.0.tgz#97afe7d6cdc0bc5928584b7c8d7b16e8a9aa5d19" @@ -8694,6 +9720,13 @@ hermes-parser@^0.25.1: dependencies: hermes-estree "0.25.1" +hoist-non-react-statics@^3.3.1: + version "3.3.2" + resolved "https://registry.yarnpkg.com/hoist-non-react-statics/-/hoist-non-react-statics-3.3.2.tgz#ece0acaf71d62c2969c2ec59feff42a4b1a85b45" + integrity sha512-/gGivxi8JPKWNm/W0jSmzcMPpfpPLc3dY/6GxhX2hQ9iGj3aDfklV4ET7NjKpSinLpJ5vafa9iiGIEZg10SfBw== + dependencies: + react-is "^16.7.0" + html-encoding-sniffer@^3.0.0: version "3.0.0" resolved "https://registry.yarnpkg.com/html-encoding-sniffer/-/html-encoding-sniffer-3.0.0.tgz#2cb1a8cf0db52414776e5b2a7a04d5dd98158de9" @@ -11482,6 +12515,11 @@ pend@~1.2.0: resolved "https://registry.yarnpkg.com/pend/-/pend-1.2.0.tgz#7a57eb550a6783f9115331fcf4663d5c8e007a50" integrity sha512-F3asv42UuXchdzt+xXqfW1OGlVBe+mxa2mqI0pg5yAHZPvFmY3Y6drSf/GQ1A86WgWEN9Kzh/WrgKa6iGcHXLg== +perfect-freehand@^1.2.3: + version "1.2.3" + resolved "https://registry.yarnpkg.com/perfect-freehand/-/perfect-freehand-1.2.3.tgz#f78b4f85464297e5861a9f6c3efd4c0abfa2f4be" + integrity sha512-bHZSfqDHGNlPpgH2yxXgPHlQSPpEbo+qg7li0M78J9vNAi2yjwLeA4x79BEQhX44lEWpCLSFCeRZwpw0niiXPA== + performance-now@^2.1.0: version "2.1.0" resolved "https://registry.yarnpkg.com/performance-now/-/performance-now-2.1.0.tgz#6309f4e0e5fa913ec1c69307ae364b4b377c9e7b" @@ -11994,6 +13032,11 @@ proxy-addr@^2.0.7, proxy-addr@~2.0.7: forwarded "0.2.0" ipaddr.js "1.9.1" +proxy-compare@3.0.1, proxy-compare@^3.0.0: + version "3.0.1" + resolved "https://registry.yarnpkg.com/proxy-compare/-/proxy-compare-3.0.1.tgz#3262cff3a25a6dedeaa299f6cf2369d6f7588a94" + integrity sha512-V9plBAt3qjMlS1+nC8771KNf6oJ12gExvaxnNzN/9yVRLdTv/lc+oJlnSzrdYDAvBfTStPCoiaCOTmTs0adv7Q== + proxy-from-env@1.0.0: version "1.0.0" resolved "https://registry.yarnpkg.com/proxy-from-env/-/proxy-from-env-1.0.0.tgz#33c50398f70ea7eb96d21f7b817630a55791c7ee" @@ -12009,6 +13052,13 @@ proxy-from-env@^1.1.0: resolved "https://registry.yarnpkg.com/proxy-from-env/-/proxy-from-env-1.1.0.tgz#e102f16ca355424865755d2c9e8ea4f24d58c3e2" integrity sha512-D+zkORCbA9f1tdWRK0RaCR3GPv50cMxcrz4X8k5LTSUD1Dkw47mKJEZQNunItRTkWwgtaUSo1RVFRIG9ZXiFYg== +proxy-memoize@3.0.1: + version "3.0.1" + resolved "https://registry.yarnpkg.com/proxy-memoize/-/proxy-memoize-3.0.1.tgz#75eed518778b282abb0bc55e748995214b7f74a9" + integrity sha512-VDdG/VYtOgdGkWJx7y0o7p+zArSf2383Isci8C+BP3YXgMYDoPd3cCBjw0JdWb6YBb9sFiOPbAADDVTPJnh+9g== + dependencies: + proxy-compare "^3.0.0" + prr@~1.0.1: version "1.0.1" resolved "https://registry.yarnpkg.com/prr/-/prr-1.0.1.tgz#d3fc114ba06995a45ec6893f484ceb1d78f5f476" @@ -12103,7 +13153,7 @@ react-hook-form@7.53.2: resolved "https://registry.yarnpkg.com/react-is/-/react-is-19.2.7.tgz#57668ee86a78574a542b0a539455212b2c086df2" integrity sha512-kZFnouyVv7eP/Phmrlo9FK+zcAdriZJvzxXHF1Sl1P377WSGe2G/JxVolhTrB/jeV47lKImhNUsijjHAAbcl/A== -react-is@^16.13.1: +react-is@^16.13.1, react-is@^16.7.0: version "16.13.1" resolved "https://registry.yarnpkg.com/react-is/-/react-is-16.13.1.tgz#789729a4dc36de2999dc156dd6c1d9c18cea56a4" integrity sha512-24e6ynE2H+OKt4kqsOvNd8kBpV65zoxbA4BVsEOB3ARVWQki/DHzaUoC5KuON/BiccDaCCTZBuOcfZs70kR8bQ== @@ -12936,6 +13986,11 @@ source-map@0.7.4: resolved "https://registry.yarnpkg.com/source-map/-/source-map-0.7.4.tgz#a9bbe705c9d8846f4e08ff6765acf0f1b0898656" integrity sha512-l3BikUxvPOcn5E74dZiq5BGsTb5yEwhaTSzccU6t4sDOH8NWJCstKO5QT2CvtFoK6F0saL7p9xHAqHOlCPJygA== +source-map@^0.5.7: + version "0.5.7" + resolved "https://registry.yarnpkg.com/source-map/-/source-map-0.5.7.tgz#8a039d2d1021d22d1ea14c80d8ea468ba2ef3fcc" + integrity sha512-LbrmJOMUSdEVxIKvdcJzQC+nQhe8FUZQTXQy6+I75skNgn3OoQ0DZA8YnFa7gp8tqtL3KPf1kmo0R5DoApeSGQ== + source-map@^0.6.0, source-map@^0.6.1, source-map@~0.6.0: version "0.6.1" resolved "https://registry.yarnpkg.com/source-map/-/source-map-0.6.1.tgz#74722af32e9614e9c287a8d0bbde48b5e2f1a263" @@ -13212,6 +14267,11 @@ stylehacks@^7.0.11: browserslist "^4.28.2" postcss-selector-parser "^7.1.1" +stylis@4.2.0: + version "4.2.0" + resolved "https://registry.yarnpkg.com/stylis/-/stylis-4.2.0.tgz#79daee0208964c8fe695a42fcffcac633a211a51" + integrity sha512-Orov6g6BB1sDfYgzWfTHDOxamtX1bE/zo104Dh9e6fqJ3PooipYyfJ0pUmrZO2wAvO8YbEyeFrkV91XTsGMSrw== + supports-color@7.2.0, supports-color@^7, supports-color@^7.1.0: version "7.2.0" resolved "https://registry.yarnpkg.com/supports-color/-/supports-color-7.2.0.tgz#1b7dcdcb32b8138801b3e478ba6a51caa89648da" @@ -13602,7 +14662,7 @@ tslib@1.14.1, tslib@^1.11.1: resolved "https://registry.yarnpkg.com/tslib/-/tslib-1.14.1.tgz#cf2d38bdc34a134bcaf1091c41f6619e2f672d00" integrity sha512-Xni35NKzjgMrwevysHTCArtLDpPvye8zV/0E4EyYn43P7/7qvQwPh9BGkHewbMulVntbigmcT7rdX3BNo9wRJg== -tslib@2.8.1, tslib@^2.0.0, tslib@^2.0.3, tslib@^2.1.0, tslib@^2.3.0, tslib@^2.3.1, tslib@^2.4.0, tslib@^2.5.0, tslib@^2.5.2, tslib@^2.6.2, tslib@^2.8.1: +tslib@2.8.1, tslib@^2.0.0, tslib@^2.0.3, tslib@^2.1.0, tslib@^2.3.0, tslib@^2.3.1, tslib@^2.4.0, tslib@^2.5.0, tslib@^2.5.2, tslib@^2.6.2, tslib@^2.8.0, tslib@^2.8.1: version "2.8.1" resolved "https://registry.yarnpkg.com/tslib/-/tslib-2.8.1.tgz#612efe4ed235d567e8aba5f2a5fab70280ade83f" integrity sha512-oJFu94HQb+KVduSUQL7wnpmqnfmLsOA/nAh6b6EH0wCEoK0/mPeXU6c3wKDV83MkOuHPRHtSXKKU99IBazS/2w== @@ -13894,6 +14954,11 @@ update-browserslist-db@^1.2.3: escalade "^3.2.0" picocolors "^1.1.1" +uqr@0.1.3: + version "0.1.3" + resolved "https://registry.yarnpkg.com/uqr/-/uqr-0.1.3.tgz#43b5b27508cd28ccc42401ea75b92a39bd8cd510" + integrity sha512-0rjE8iEJe4YmT9TOhwsZtqCMRLc5DXZUI2UEYUUg63ikBkqqE5EYWaI0etFe/5KUcmcYwLih2RND1kq+hrUJXA== + uri-js@^4.2.2: version "4.4.1" resolved "https://registry.yarnpkg.com/uri-js/-/uri-js-4.4.1.tgz#9b1a52595225859e55f669d928f88c6c57f2a77e" From b7c01262187ffdd33f316d6e4dec9669426b00ce Mon Sep 17 00:00:00 2001 From: Justin Wang Date: Sat, 17 Oct 2026 11:34:57 -0400 Subject: [PATCH 2/5] cut comment --- apps/frontend/src/theme.ts | 5 ----- 1 file changed, 5 deletions(-) diff --git a/apps/frontend/src/theme.ts b/apps/frontend/src/theme.ts index 403491e07..7719ce020 100644 --- a/apps/frontend/src/theme.ts +++ b/apps/frontend/src/theme.ts @@ -1,10 +1,5 @@ import { createSystem, defaultConfig, defineConfig } from '@chakra-ui/react'; -// Values mirror the MSPCA UI Kit in Figma (Color/Global Tokens, Color/Semantic -// Tokens, Typography Tokens). Update them here to change them across the app. - -// Raw brand palette. Use these directly only where Chakra props aren't available -// (e.g. third-party components); otherwise prefer tokens like `color="blue.primary"`. export const colors = { gray: { 0: '#ffffff', From ea19e625353b6a189319089eaaccb356cda18a55 Mon Sep 17 00:00:00 2001 From: Justin Wang Date: Sat, 17 Oct 2026 11:45:20 -0400 Subject: [PATCH 3/5] Put font weight in text styles and use defineTextStyles - Each text style now sets its own fontWeight (semibold for headings, normal for body), so matches a raw

. - Drop the globalCss heading/body fontWeight rules this replaces. - Wrap text styles in defineTextStyles. Co-Authored-By: Claude Opus 5.5 --- apps/frontend/src/theme.ts | 44 +++++++++++++++++++------------------- 1 file changed, 22 insertions(+), 22 deletions(-) diff --git a/apps/frontend/src/theme.ts b/apps/frontend/src/theme.ts index 7719ce020..8b20baac6 100644 --- a/apps/frontend/src/theme.ts +++ b/apps/frontend/src/theme.ts @@ -1,4 +1,9 @@ -import { createSystem, defaultConfig, defineConfig } from '@chakra-ui/react'; +import { + createSystem, + defaultConfig, + defineConfig, + defineTextStyles, +} from '@chakra-ui/react'; export const colors = { gray: { @@ -43,7 +48,6 @@ export const colors = { black85: '#4d4d4f', grey: '#858f98', }, - // Foster home restriction labels (carried over from the Trello board). trello: { noRestrictions: '#174b35', dogFreeHome: '#87b400', @@ -65,23 +69,33 @@ const toColorTokens = (palette: typeof colors) => ]), ); -// Figma defines a Desktop and a Mobile value for each size; Mobile applies -// below the `md` breakpoint. Line heights are the Figma desktop line height -// divided by the font size, so they scale down with the mobile sizes. const textStyle = ( mobile: string, desktop: string, lineHeight: string, - fontFamily = 'heading', + font: 'heading' | 'body' = 'heading', ) => ({ value: { - fontFamily, + fontFamily: font, fontSize: { base: mobile, md: desktop }, + fontWeight: font === 'heading' ? 'semibold' : 'normal', lineHeight, letterSpacing: '0', }, }); +const textStyles = defineTextStyles({ + h1: textStyle('36px', '60px', '1.5'), + h2: textStyle('32px', '48px', '1.5'), + h3: textStyle('28px', '36px', '1.5'), + h4: textStyle('24px', '30px', '1.533'), + h5: textStyle('20px', '24px', '1.5'), + h6: textStyle('18px', '20px', '1.5'), + h7: textStyle('16px', '18px', '1.556'), + body: textStyle('14px', '16px', '1.5', 'body'), + 'body-small': textStyle('12px', '14px', '1.43', 'body'), +}); + const config = defineConfig({ theme: { tokens: { @@ -145,28 +159,14 @@ const config = defineConfig({ }, }, }, - // Pair with a fontWeight prop for the weight variants Figma offers - // (normal/medium/semibold/bold), e.g. . - textStyles: { - h1: textStyle('36px', '60px', '1.5'), - h2: textStyle('32px', '48px', '1.5'), - h3: textStyle('28px', '36px', '1.5'), - h4: textStyle('24px', '30px', '1.533'), - h5: textStyle('20px', '24px', '1.5'), - h6: textStyle('18px', '20px', '1.5'), - h7: textStyle('16px', '18px', '1.556'), - body: textStyle('14px', '16px', '1.5', 'body'), - 'body-small': textStyle('12px', '14px', '1.43', 'body'), - }, + textStyles, }, globalCss: { body: { textStyle: 'body', - fontWeight: 'normal', color: 'fg', bg: 'bg', }, - 'h1, h2, h3, h4, h5, h6': { fontWeight: 'semibold' }, h1: { textStyle: 'h1' }, h2: { textStyle: 'h2' }, h3: { textStyle: 'h3' }, From 72d0512662260b7f985234b5de3b8d5acb7ab04c Mon Sep 17 00:00:00 2001 From: Justin Wang Date: Sat, 17 Oct 2026 11:47:16 -0400 Subject: [PATCH 4/5] Import Amplify UI styles so the sign-in form survives Chakra's reset The Authenticator was never given its stylesheet, so it relied on browser defaults; Chakra's CSS reset removed those, leaving borderless inputs and buttons that looked like plain text. Co-Authored-By: Claude Opus 5.5 --- apps/frontend/src/main.tsx | 1 + 1 file changed, 1 insertion(+) diff --git a/apps/frontend/src/main.tsx b/apps/frontend/src/main.tsx index b709b9751..d0ebebc62 100644 --- a/apps/frontend/src/main.tsx +++ b/apps/frontend/src/main.tsx @@ -1,6 +1,7 @@ import { StrictMode } from 'react'; import * as ReactDOM from 'react-dom/client'; import { Authenticator } from '@aws-amplify/ui-react'; +import '@aws-amplify/ui-react/styles.css'; import { ChakraProvider } from '@chakra-ui/react'; import { configureAmplify, isAuthEnabled } from './auth/auth.config'; import App from './app'; From d5af3ccfb075e34e177e864e6603491b11523094 Mon Sep 17 00:00:00 2001 From: Justin Wang Date: Mon, 19 Oct 2026 18:35:18 -0400 Subject: [PATCH 5/5] Add black token, xs/2xs text styles, and load all Montserrat weights Co-Authored-By: Claude Opus 5.5 --- apps/frontend/index.html | 2 +- apps/frontend/src/theme.ts | 17 +++++++++++------ 2 files changed, 12 insertions(+), 7 deletions(-) diff --git a/apps/frontend/index.html b/apps/frontend/index.html index a3a5a4a82..e811b6d15 100644 --- a/apps/frontend/index.html +++ b/apps/frontend/index.html @@ -11,7 +11,7 @@ diff --git a/apps/frontend/src/theme.ts b/apps/frontend/src/theme.ts index 8b20baac6..32f9f536e 100644 --- a/apps/frontend/src/theme.ts +++ b/apps/frontend/src/theme.ts @@ -6,6 +6,7 @@ import { } from '@chakra-ui/react'; export const colors = { + black: '#000000', gray: { 0: '#ffffff', 50: '#fafafa', @@ -63,9 +64,11 @@ const toColorTokens = (palette: typeof colors) => Object.fromEntries( Object.entries(palette).map(([group, shades]) => [ group, - Object.fromEntries( - Object.entries(shades).map(([shade, value]) => [shade, { value }]), - ), + typeof shades === 'string' + ? { value: shades } + : Object.fromEntries( + Object.entries(shades).map(([shade, value]) => [shade, { value }]), + ), ]), ); @@ -94,6 +97,8 @@ const textStyles = defineTextStyles({ h7: textStyle('16px', '18px', '1.556'), body: textStyle('14px', '16px', '1.5', 'body'), 'body-small': textStyle('12px', '14px', '1.43', 'body'), + xs: textStyle('10px', '12px', '1rem', 'body'), + '2xs': textStyle('8px', '10px', '0.75rem', 'body'), }); const config = defineConfig({ @@ -123,12 +128,12 @@ const config = defineConfig({ subtle: { value: '{colors.gray.50}' }, muted: { value: '{colors.gray.100}' }, emphasized: { value: '{colors.gray.200}' }, - inverted: { value: '#000000' }, + inverted: { value: '{colors.black}' }, panel: { value: '{colors.gray.0}' }, error: { value: '{colors.error.50}' }, }, fg: { - DEFAULT: { value: '#000000' }, + DEFAULT: { value: '{colors.black}' }, subtle: { value: '{colors.gray.400}' }, muted: { value: '{colors.gray.600}' }, inverted: { value: '{colors.gray.50}' }, @@ -143,7 +148,7 @@ const config = defineConfig({ error: { value: '{colors.error.100}' }, }, text: { - fg: { value: '#000000' }, + fg: { value: '{colors.black}' }, fg_muted: { value: '{colors.gray.600}' }, fg_subtle: { value: '{colors.gray.400}' }, fg_error: { value: '{colors.error.100}' },