@react-spectrum/provider 3.0.0-nightly.2437 → 3.0.0-nightly.2444
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/import.mjs +3 -2
- package/dist/main.js +2 -1
- package/dist/main.js.map +1 -1
- package/dist/module.js +3 -2
- package/dist/module.js.map +1 -1
- package/dist/types.d.ts.map +1 -1
- package/package.json +9 -9
- package/src/Provider.tsx +6 -1
package/dist/import.mjs
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import "./main.css";
|
|
2
2
|
import {useMatchedBreakpoints as $b6ncI$useMatchedBreakpoints, useStyleProps as $b6ncI$useStyleProps, BreakpointProvider as $b6ncI$BreakpointProvider, useDOMRef as $b6ncI$useDOMRef, shouldKeepSpectrumClassNames as $b6ncI$shouldKeepSpectrumClassNames, useMediaQuery as $b6ncI$useMediaQuery} from "@react-spectrum/utils";
|
|
3
3
|
import $b6ncI$clsx from "clsx";
|
|
4
|
-
import {filterDOMProps as $b6ncI$filterDOMProps} from "@react-aria/utils";
|
|
4
|
+
import {filterDOMProps as $b6ncI$filterDOMProps, RouterProvider as $b6ncI$RouterProvider} from "@react-aria/utils";
|
|
5
5
|
import {useLocale as $b6ncI$useLocale, I18nProvider as $b6ncI$I18nProvider} from "@react-aria/i18n";
|
|
6
6
|
import {ModalProvider as $b6ncI$ModalProvider, useModalProvider as $b6ncI$useModalProvider} from "@react-aria/overlays";
|
|
7
7
|
import $b6ncI$react, {useRef as $b6ncI$useRef, useEffect as $b6ncI$useEffect, useContext as $b6ncI$useContext} from "react";
|
|
@@ -129,7 +129,7 @@ function $7167f8da3cce35e4$var$Provider(props, ref) {
|
|
|
129
129
|
// if the new theme doesn't support the prevColorScheme, we must resort to the auto
|
|
130
130
|
let usePrevColorScheme = !!theme[prevColorScheme];
|
|
131
131
|
// importance of color scheme props > parent > auto:(OS > default > omitted)
|
|
132
|
-
let { colorScheme: colorScheme = usePrevColorScheme ? prevColorScheme : autoColorScheme , scale: scale = prevContext ? prevContext.scale : autoScale , locale: locale = prevContext ? prevLocale : null , breakpoints: breakpoints = prevContext ? prevBreakpoints : $7167f8da3cce35e4$var$DEFAULT_BREAKPOINTS , children: children , isQuiet: isQuiet , isEmphasized: isEmphasized , isDisabled: isDisabled , isRequired: isRequired , isReadOnly: isReadOnly , validationState: validationState , ...otherProps } = props;
|
|
132
|
+
let { colorScheme: colorScheme = usePrevColorScheme ? prevColorScheme : autoColorScheme , scale: scale = prevContext ? prevContext.scale : autoScale , locale: locale = prevContext ? prevLocale : null , breakpoints: breakpoints = prevContext ? prevBreakpoints : $7167f8da3cce35e4$var$DEFAULT_BREAKPOINTS , children: children , isQuiet: isQuiet , isEmphasized: isEmphasized , isDisabled: isDisabled , isRequired: isRequired , isReadOnly: isReadOnly , validationState: validationState , router: router , ...otherProps } = props;
|
|
133
133
|
// select only the props with values so undefined props don't overwrite prevContext values
|
|
134
134
|
let currentProps = {
|
|
135
135
|
version: $7b22e09dddddd7da$exports.version,
|
|
@@ -163,6 +163,7 @@ function $7167f8da3cce35e4$var$Provider(props, ref) {
|
|
|
163
163
|
},
|
|
164
164
|
ref: ref
|
|
165
165
|
}, contents);
|
|
166
|
+
if (router) contents = /*#__PURE__*/ (0, $b6ncI$react).createElement((0, $b6ncI$RouterProvider), router, contents);
|
|
166
167
|
return /*#__PURE__*/ (0, $b6ncI$react).createElement((0, $a8430f637b4ccbce$export$841858b892ce1f4c).Provider, {
|
|
167
168
|
value: context
|
|
168
169
|
}, /*#__PURE__*/ (0, $b6ncI$react).createElement((0, $b6ncI$I18nProvider), {
|
package/dist/main.js
CHANGED
|
@@ -133,7 +133,7 @@ function $96cabdf5b0aed55b$var$Provider(props, ref) {
|
|
|
133
133
|
// if the new theme doesn't support the prevColorScheme, we must resort to the auto
|
|
134
134
|
let usePrevColorScheme = !!theme[prevColorScheme];
|
|
135
135
|
// importance of color scheme props > parent > auto:(OS > default > omitted)
|
|
136
|
-
let { colorScheme: colorScheme = usePrevColorScheme ? prevColorScheme : autoColorScheme , scale: scale = prevContext ? prevContext.scale : autoScale , locale: locale = prevContext ? prevLocale : null , breakpoints: breakpoints = prevContext ? prevBreakpoints : $96cabdf5b0aed55b$var$DEFAULT_BREAKPOINTS , children: children , isQuiet: isQuiet , isEmphasized: isEmphasized , isDisabled: isDisabled , isRequired: isRequired , isReadOnly: isReadOnly , validationState: validationState , ...otherProps } = props;
|
|
136
|
+
let { colorScheme: colorScheme = usePrevColorScheme ? prevColorScheme : autoColorScheme , scale: scale = prevContext ? prevContext.scale : autoScale , locale: locale = prevContext ? prevLocale : null , breakpoints: breakpoints = prevContext ? prevBreakpoints : $96cabdf5b0aed55b$var$DEFAULT_BREAKPOINTS , children: children , isQuiet: isQuiet , isEmphasized: isEmphasized , isDisabled: isDisabled , isRequired: isRequired , isReadOnly: isReadOnly , validationState: validationState , router: router , ...otherProps } = props;
|
|
137
137
|
// select only the props with values so undefined props don't overwrite prevContext values
|
|
138
138
|
let currentProps = {
|
|
139
139
|
version: $4db360e38265184f$exports.version,
|
|
@@ -167,6 +167,7 @@ function $96cabdf5b0aed55b$var$Provider(props, ref) {
|
|
|
167
167
|
},
|
|
168
168
|
ref: ref
|
|
169
169
|
}, contents);
|
|
170
|
+
if (router) contents = /*#__PURE__*/ (0, ($parcel$interopDefault($kmRpa$react))).createElement((0, $kmRpa$reactariautils.RouterProvider), router, contents);
|
|
170
171
|
return /*#__PURE__*/ (0, ($parcel$interopDefault($kmRpa$react))).createElement((0, $a5b4f4e252b5a021$export$841858b892ce1f4c).Provider, {
|
|
171
172
|
value: context
|
|
172
173
|
}, /*#__PURE__*/ (0, ($parcel$interopDefault($kmRpa$react))).createElement((0, $kmRpa$reactariai18n.I18nProvider), {
|
package/dist/main.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"mappings":"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","sources":["packages/@react-spectrum/provider/src/index.ts","packages/@react-spectrum/provider/src/Provider.tsx","packages/@react-spectrum/provider/src/context.ts","packages/@adobe/spectrum-css-temp/components/page/vars.css","packages/@adobe/spectrum-css-temp/components/typography/index.css","packages/@react-spectrum/provider/src/mediaQueries.ts","packages/@react-spectrum/provider/package.json"],"sourcesContent":["/*\n * Copyright 2020 Adobe. All rights reserved.\n * This file is licensed to you under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License. You may obtain a copy\n * of the License at http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software distributed under\n * the License is distributed on an \"AS IS\" BASIS, WITHOUT WARRANTIES OR REPRESENTATIONS\n * OF ANY KIND, either express or implied. See the License for the specific language\n * governing permissions and limitations under the License.\n */\n\n/// <reference types=\"css-module-types\" />\n\nexport {Provider, useProvider, useProviderProps} from './Provider';\nexport type {ProviderContext} from '@react-types/provider';\nexport type {ProviderProps} from '@react-types/provider';\n","/*\n * Copyright 2020 Adobe. All rights reserved.\n * This file is licensed to you under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License. You may obtain a copy\n * of the License at http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software distributed under\n * the License is distributed on an \"AS IS\" BASIS, WITHOUT WARRANTIES OR REPRESENTATIONS\n * OF ANY KIND, either express or implied. See the License for the specific language\n * governing permissions and limitations under the License.\n */\n\nimport {\n BreakpointProvider,\n shouldKeepSpectrumClassNames,\n useDOMRef,\n useMatchedBreakpoints,\n useStyleProps\n} from '@react-spectrum/utils';\nimport clsx from 'clsx';\nimport {Context} from './context';\nimport {DOMRef} from '@react-types/shared';\nimport {filterDOMProps} from '@react-aria/utils';\nimport {I18nProvider, useLocale} from '@react-aria/i18n';\nimport {ModalProvider, useModalProvider} from '@react-aria/overlays';\nimport {ProviderContext, ProviderProps} from '@react-types/provider';\nimport React, {useContext, useEffect, useRef} from 'react';\nimport styles from '@adobe/spectrum-css-temp/components/page/vars.css';\nimport typographyStyles from '@adobe/spectrum-css-temp/components/typography/index.css';\nimport {useColorScheme, useScale} from './mediaQueries';\n// @ts-ignore\nimport {version} from '../package.json';\n\nconst DEFAULT_BREAKPOINTS = {S: 640, M: 768, L: 1024, XL: 1280, XXL: 1536};\n\nfunction Provider(props: ProviderProps, ref: DOMRef<HTMLDivElement>) {\n let prevContext = useProvider();\n let prevColorScheme = prevContext && prevContext.colorScheme;\n let prevBreakpoints = prevContext && prevContext.breakpoints;\n let {\n theme = prevContext && prevContext.theme,\n defaultColorScheme\n } = props;\n if (!theme) {\n throw new Error('theme not found, the parent provider must have a theme provided');\n }\n // Hooks must always be called.\n let autoColorScheme = useColorScheme(theme, defaultColorScheme);\n let autoScale = useScale(theme);\n let {locale: prevLocale} = useLocale();\n // if the new theme doesn't support the prevColorScheme, we must resort to the auto\n let usePrevColorScheme = !!theme[prevColorScheme];\n\n // importance of color scheme props > parent > auto:(OS > default > omitted)\n let {\n colorScheme = usePrevColorScheme ? prevColorScheme : autoColorScheme,\n scale = prevContext ? prevContext.scale : autoScale,\n locale = prevContext ? prevLocale : null,\n breakpoints = prevContext ? prevBreakpoints : DEFAULT_BREAKPOINTS,\n children,\n isQuiet,\n isEmphasized,\n isDisabled,\n isRequired,\n isReadOnly,\n validationState,\n ...otherProps\n } = props;\n\n // select only the props with values so undefined props don't overwrite prevContext values\n let currentProps = {\n version,\n theme,\n breakpoints,\n colorScheme,\n scale,\n isQuiet,\n isEmphasized,\n isDisabled,\n isRequired,\n isReadOnly,\n validationState\n };\n\n let matchedBreakpoints = useMatchedBreakpoints(breakpoints);\n let filteredProps = {};\n Object.entries(currentProps).forEach(([key, value]) => value !== undefined && (filteredProps[key] = value));\n\n // Merge options with parent provider\n let context = Object.assign({}, prevContext, filteredProps);\n\n // Only wrap in a DOM node if the theme, colorScheme, or scale changed\n let contents = children;\n let domProps = filterDOMProps(otherProps);\n let {styleProps} = useStyleProps(otherProps, undefined, {matchedBreakpoints});\n 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) {\n contents = (\n <ProviderWrapper {...props} UNSAFE_style={{isolation: !prevContext ? 'isolate' : undefined, ...styleProps.style}} ref={ref}>\n {contents}\n </ProviderWrapper>\n );\n }\n\n return (\n <Context.Provider value={context}>\n <I18nProvider locale={locale}>\n <BreakpointProvider matchedBreakpoints={matchedBreakpoints}>\n <ModalProvider>\n {contents}\n </ModalProvider>\n </BreakpointProvider>\n </I18nProvider>\n </Context.Provider>\n );\n}\n\n/**\n * Provider is the container for all React Spectrum applications.\n * It defines the theme, locale, and other application level settings,\n * and can also be used to provide common properties to a group of components.\n */\nlet _Provider = React.forwardRef(Provider);\nexport {_Provider as Provider};\n\nconst ProviderWrapper = React.forwardRef(function ProviderWrapper(props: ProviderProps, ref: DOMRef<HTMLDivElement>) {\n let {\n children,\n ...otherProps\n } = props;\n let {locale, direction} = useLocale();\n let {theme, colorScheme, scale} = useProvider();\n let {modalProviderProps} = useModalProvider();\n let {styleProps} = useStyleProps(otherProps);\n let domRef = useDOMRef(ref);\n\n let themeKey = Object.keys(theme[colorScheme])[0];\n let scaleKey = Object.keys(theme[scale])[0];\n\n let className = clsx(\n styleProps.className,\n styles['spectrum'],\n typographyStyles['spectrum'],\n Object.values(theme[colorScheme]),\n Object.values(theme[scale]),\n theme.global ? Object.values(theme.global) : null,\n {\n 'react-spectrum-provider': shouldKeepSpectrumClassNames,\n spectrum: shouldKeepSpectrumClassNames,\n [themeKey]: shouldKeepSpectrumClassNames,\n [scaleKey]: shouldKeepSpectrumClassNames\n }\n );\n\n let style = {\n ...styleProps.style,\n // This ensures that browser native UI like scrollbars are rendered in the right color scheme.\n // See https://web.dev/color-scheme/.\n colorScheme: props.colorScheme ?? colorScheme ?? Object.keys(theme).filter(k => k === 'light' || k === 'dark').join(' ')\n };\n\n let hasWarned = useRef(false);\n useEffect(() => {\n if (direction && domRef.current) {\n let closestDir = domRef.current.parentElement.closest('[dir]');\n let dir = closestDir && closestDir.getAttribute('dir');\n if (dir && dir !== direction && !hasWarned.current) {\n console.warn(`Language directions cannot be nested. ${direction} inside ${dir}.`);\n hasWarned.current = true;\n }\n }\n }, [direction, domRef, hasWarned]);\n\n\n return (\n <div\n {...filterDOMProps(otherProps)}\n {...styleProps}\n {...modalProviderProps}\n className={className}\n style={style}\n lang={locale}\n dir={direction}\n ref={domRef}>\n {children}\n </div>\n );\n});\n\n/**\n * Returns the various settings and styles applied by the nearest parent Provider.\n * Properties explicitly set by the nearest parent Provider override those provided by preceeding Providers.\n */\nexport function useProvider(): ProviderContext {\n return useContext(Context);\n}\n\nexport function useProviderProps<T>(props: T) : T {\n let context = useProvider();\n if (!context) {\n return props;\n }\n return Object.assign({}, {\n isQuiet: context.isQuiet,\n isEmphasized: context.isEmphasized,\n isDisabled: context.isDisabled,\n isRequired: context.isRequired,\n isReadOnly: context.isReadOnly,\n validationState: context.validationState\n }, props);\n}\n","/*\n * Copyright 2020 Adobe. All rights reserved.\n * This file is licensed to you under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License. You may obtain a copy\n * of the License at http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software distributed under\n * the License is distributed on an \"AS IS\" BASIS, WITHOUT WARRANTIES OR REPRESENTATIONS\n * OF ANY KIND, either express or implied. See the License for the specific language\n * governing permissions and limitations under the License.\n */\n\nimport {ProviderContext} from '@react-types/provider';\nimport React from 'react';\n\n// Context is placed in a separate file to avoid fast refresh issue where the old provider context values\n// are immediately replaced with the null default. Stopgap solution until we fix this in parcel.\nexport const Context = React.createContext<ProviderContext | null>(null);\nContext.displayName = 'ProviderContext';\n","/*\n * Copyright 2020 Adobe. All rights reserved.\n * This file is licensed to you under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License. You may obtain a copy\n * of the License at http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software distributed under\n * the License is distributed on an \"AS IS\" BASIS, WITHOUT WARRANTIES OR REPRESENTATIONS\n * OF ANY KIND, either express or implied. See the License for the specific language\n * governing permissions and limitations under the License.\n */\n\n@import './index.css';\n@import './skin.css';\n","/*\nCopyright 2019 Adobe. All rights reserved.\nThis file is licensed to you under the Apache License, Version 2.0 (the \"License\");\nyou may not use this file except in compliance with the License. You may obtain a copy\nof the License at http://www.apache.org/licenses/LICENSE-2.0\n\nUnless required by applicable law or agreed to in writing, software distributed under\nthe License is distributed on an \"AS IS\" BASIS, WITHOUT WARRANTIES OR REPRESENTATIONS\nOF ANY KIND, either express or implied. See the License for the specific language\ngoverning permissions and limitations under the License.\n*/\n\n@import '../commons/index.css';\n@import 'font.css';\n\n/*@mixin typography .spectrum-Body1 {}\n@mixin typography .spectrum-Body2 {}\n@mixin typography .spectrum-Body3 {}\n@mixin typography .spectrum-Body4 {}\n@mixin typography .spectrum-Body5 {}\n@mixin typography .spectrum-Heading1 {}\n@mixin typography .spectrum-Heading2 {}\n@mixin typography .spectrum-Heading3 {}\n@mixin typography .spectrum-Heading4 {}\n@mixin typography .spectrum-Heading5 {}\n@mixin typography .spectrum-Heading6 {}\n@mixin typography .spectrum-Subheading {}\n@mixin typography .spectrum-Detail {}\n@mixin typography .spectrum-Heading1--quiet, heading-quiet-1 {}\n@mixin typography .spectrum-Heading2--quiet, heading-quiet-2 {}\n@mixin typography .spectrum-Heading1--strong, heading-strong-1 {}\n@mixin typography .spectrum-Heading2--strong, heading-strong-2 {}\n@mixin typography .spectrum-Heading1--display, display-1 {}\n@mixin typography .spectrum-Heading2--display, display-2 {}\n@mixin typography .spectrum-Heading1--display.spectrum-Heading1--strong, display-strong-1 {}\n@mixin typography .spectrum-Heading2--display.spectrum-Heading2--strong, display-strong-2 {}\n@mixin typography .spectrum-Heading1--display.spectrum-Heading1--quiet, display-quiet-1 {}\n@mixin typography .spectrum-Heading2--display.spectrum-Heading2--quiet, display-quiet-2 {}\n\n.spectrum-Typography {\n @mixin typographyMargins .spectrum-Body1 {}\n @mixin typographyMargins .spectrum-Body2 {}\n @mixin typographyMargins .spectrum-Body3 {}\n @mixin typographyMargins .spectrum-Body4 {}\n @mixin typographyMargins .spectrum-Body5 {}\n @mixin typographyMargins .spectrum-Heading1 {}\n @mixin typographyMargins .spectrum-Heading2 {}\n @mixin typographyMargins .spectrum-Heading3 {}\n @mixin typographyMargins .spectrum-Heading4 {}\n @mixin typographyMargins .spectrum-Heading5 {}\n @mixin typographyMargins .spectrum-Heading6 {}\n @mixin typographyMargins .spectrum-Subheading {}\n @mixin typographyMargins .spectrum-Detail {}\n @mixin typographyMargins .spectrum-Heading1--quiet, heading-quiet-1 {}\n @mixin typographyMargins .spectrum-Heading2--quiet, heading-quiet-2 {}\n @mixin typographyMargins .spectrum-Heading1--strong, heading-strong-1 {}\n @mixin typographyMargins .spectrum-Heading2--strong, heading-strong-2 {}\n @mixin typographyMargins .spectrum-Heading1--display, display-1 {}\n @mixin typographyMargins .spectrum-Heading2--display, display-2 {}\n @mixin typographyMargins .spectrum-Heading1--display.spectrum-Heading1--strong, display-strong-1 {}\n @mixin typographyMargins .spectrum-Heading2--display.spectrum-Heading2--strong, display-strong-2 {}\n @mixin typographyMargins .spectrum-Heading1--display.spectrum-Heading1--quiet, display-quiet-1 {}\n @mixin typographyMargins .spectrum-Heading2--display.spectrum-Heading2--quiet, display-quiet-2 {}\n}\n\n.spectrum-Article {\n font-family: var(--spectrum-body-article-1-text-font-family);\n @mixin typography .spectrum-Body1, body-article-1 {}\n @mixin typography .spectrum-Body2, body-article-2 {}\n @mixin typography .spectrum-Body3, body-article-3 {}\n @mixin typography .spectrum-Body4, body-article-4 {}\n @mixin typography .spectrum-Body5, body-article-5 {}\n @mixin typography .spectrum-Heading1, heading-article-1 {}\n @mixin typography .spectrum-Heading2, heading-article-2 {}\n @mixin typography .spectrum-Heading3, heading-article-3 {}\n @mixin typography .spectrum-Heading4, heading-article-4 {}\n @mixin typography .spectrum-Heading5, heading-article-5 {}\n @mixin typography .spectrum-Heading6, heading-article-6 {}\n @mixin typography .spectrum-Subheading, subheading-article {}\n @mixin typography .spectrum-Detail, detail-article {}\n @mixin typography .spectrum-Heading1--quiet, heading-quiet-article-1 {}\n @mixin typography .spectrum-Heading2--quiet, heading-quiet-article-2 {}\n @mixin typography .spectrum-Heading1--display, display-article-1 {}\n @mixin typography .spectrum-Heading2--display, display-article-2 {}\n @mixin typography .spectrum-Heading1--display.spectrum-Heading1--quiet, display-quiet-article-1 {}\n @mixin typography .spectrum-Heading2--display.spectrum-Heading2--quiet, display-quiet-article-2 {}\n}\n.spectrum {\n &:lang(ja),\n &:lang(ko),\n &:lang(zh) {\n @mixin typography .spectrum-Body1, body-han-1 {}\n @mixin typography .spectrum-Body2, body-han-2 {}\n @mixin typography .spectrum-Body3, body-han-3 {}\n @mixin typography .spectrum-Body4, body-han-4 {}\n @mixin typography .spectrum-Body5, body-han-5 {}\n @mixin typography .spectrum-Heading1, heading-han-1 {}\n @mixin typography .spectrum-Heading2, heading-han-2 {}\n @mixin typography .spectrum-Heading3, heading-han-3 {}\n @mixin typography .spectrum-Heading4, heading-han-4 {}\n @mixin typography .spectrum-Heading5, heading-han-5 {}\n @mixin typography .spectrum-Heading6, heading-han-6 {}\n @mixin typography .spectrum-Subheading, subheading-han {}\n @mixin typography .spectrum-Detail, detail-han {}\n @mixin typography .spectrum-Heading1--quiet, heading-quiet-han-1 {}\n @mixin typography .spectrum-Heading2--quiet, heading-quiet-han-2 {}\n @mixin typography .spectrum-Heading1--strong, heading-strong-han-1 {}\n @mixin typography .spectrum-Heading2--strong, heading-strong-han-2 {}\n @mixin typography .spectrum-Heading1--display, display-han-1 {}\n @mixin typography .spectrum-Heading2--display, display-han-2 {}\n @mixin typography .spectrum-Heading1--display.spectrum-Heading1--strong, display-strong-han-1 {}\n @mixin typography .spectrum-Heading2--display.spectrum-Heading2--strong, display-strong-han-2 {}\n @mixin typography .spectrum-Heading1--display.spectrum-Heading1--quiet, display-quiet-han-1 {}\n @mixin typography .spectrum-Heading2--display.spectrum-Heading2--quiet, display-quiet-han-2 {}\n }\n}\n@mixin typography .spectrum-Code1, body-code-1, true {\n font-family: var(--spectrum-body-code-1-text-font-family);\n}\n@mixin typography .spectrum-Code2, body-code-2, true {\n font-family: var(--spectrum-body-code-2-text-font-family);\n}\n@mixin typography .spectrum-Code3, body-code-3, true {\n font-family: var(--spectrum-body-code-3-text-font-family);\n}\n@mixin typography .spectrum-Code4, body-code-4, true {\n font-family: var(--spectrum-body-code-4-text-font-family);\n}\n@mixin typography .spectrum-Code5, body-code-5, true {\n font-family: var(--spectrum-body-code-5-text-font-family);\n}*/\n\n/*\n The &.spectrum makes it so users can do <div class=\"spectrum spectrum--large\"> and still get the right font sizes\n Without this, they would have to do <div class=\"spectrum--large\"><div class=\"spectrum\">, which makes no sense\n*/\n&.spectrum,\n&.spectrum-Body,\n.spectrum,\n.spectrum-Body {\n font-size: var(--spectrum-body-4-text-size);\n font-weight: var(--spectrum-body-4-text-font-weight);\n line-height: var(--spectrum-body-4-text-line-height);\n font-style: var(--spectrum-body-4-text-font-style);\n}\n\n.spectrum-Body--italic {\n font-style: var(--spectrum-body-4-emphasis-text-font-style);\n}\n\n/*\n.spectrum-Body--large {\n @extend .spectrum-Body2;\n}\n\n.spectrum-Body--small {\n @extend .spectrum-Body5;\n}\n\n.spectrum-Body--secondary {\n @extend .spectrum-Body4;\n}\n\n.spectrum-Heading--display {\n @extend .spectrum-Heading2--display.spectrum-Heading2--quiet;\n}\n\n.spectrum-Heading--pageTitle {\n @extend .spectrum-Heading2--quiet;\n}\n\n.spectrum-Heading--subtitle1 {\n @extend .spectrum-Heading4;\n}\n\n.spectrum-Heading--subtitle2 {\n @extend .spectrum-Heading6;\n}\n\n.spectrum-Heading--subtitle3 {\n @extend .spectrum-Subheading;\n}*/\n","/*\n * Copyright 2020 Adobe. All rights reserved.\n * This file is licensed to you under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License. You may obtain a copy\n * of the License at http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software distributed under\n * the License is distributed on an \"AS IS\" BASIS, WITHOUT WARRANTIES OR REPRESENTATIONS\n * OF ANY KIND, either express or implied. See the License for the specific language\n * governing permissions and limitations under the License.\n */\n\nimport {ColorScheme, Scale, Theme} from '@react-types/provider';\nimport {useMediaQuery} from '@react-spectrum/utils';\n\nexport function useColorScheme(theme: Theme, defaultColorScheme: ColorScheme): ColorScheme {\n let matchesDark = useMediaQuery('(prefers-color-scheme: dark)');\n let matchesLight = useMediaQuery('(prefers-color-scheme: light)');\n\n // importance OS > default > omitted\n\n if (theme.dark && matchesDark) {\n return 'dark';\n }\n\n if (theme.light && matchesLight) {\n return 'light';\n }\n\n if (theme.dark && defaultColorScheme === 'dark') {\n return 'dark';\n }\n\n if (theme.light && defaultColorScheme === 'light') {\n return 'light';\n }\n\n if (!theme.dark) {\n return 'light';\n }\n\n if (!theme.light) {\n return 'dark';\n }\n\n return 'light';\n}\n\nexport function useScale(theme: Theme): Scale {\n let matchesFine = useMediaQuery('(any-pointer: fine)');\n if (matchesFine && theme.medium) {\n return 'medium';\n }\n\n if (theme.large) {\n return 'large';\n }\n\n return 'medium';\n}\n","{\n \"name\": \"@react-spectrum/provider\",\n \"version\": \"3.8.2\",\n \"description\": \"Spectrum UI components in React\",\n \"license\": \"Apache-2.0\",\n \"main\": \"dist/main.js\",\n \"module\": \"dist/module.js\",\n \"exports\": {\n \"types\": \"./dist/types.d.ts\",\n \"import\": \"./dist/import.mjs\",\n \"require\": \"./dist/main.js\"\n },\n \"types\": \"dist/types.d.ts\",\n \"source\": \"src/index.ts\",\n \"files\": [\n \"dist\",\n \"src\"\n ],\n \"sideEffects\": [\n \"*.css\"\n ],\n \"targets\": {\n \"main\": {\n \"includeNodeModules\": [\n \"@adobe/spectrum-css-temp\"\n ]\n },\n \"module\": {\n \"includeNodeModules\": [\n \"@adobe/spectrum-css-temp\"\n ]\n }\n },\n \"repository\": {\n \"type\": \"git\",\n \"url\": \"https://github.com/adobe/react-spectrum\"\n },\n \"dependencies\": {\n \"@react-aria/i18n\": \"^3.8.2\",\n \"@react-aria/overlays\": \"^3.17.0\",\n \"@react-aria/utils\": \"^3.20.0\",\n \"@react-spectrum/utils\": \"^3.10.2\",\n \"@react-types/provider\": \"^3.6.4\",\n \"@react-types/shared\": \"^3.20.0\",\n \"@swc/helpers\": \"^0.5.0\",\n \"clsx\": \"^1.1.1\"\n },\n \"devDependencies\": {\n \"@adobe/spectrum-css-temp\": \"3.0.0-alpha.1\"\n },\n \"peerDependencies\": {\n \"react\": \"^16.8.0 || ^17.0.0-rc.1 || ^18.0.0\",\n \"react-dom\": \"^16.8.0 || ^17.0.0-rc.1 || ^18.0.0\"\n },\n \"publishConfig\": {\n \"access\": \"public\"\n }\n}\n"],"names":[],"version":3,"file":"main.js.map"}
|
|
1
|
+
{"mappings":"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","sources":["packages/@react-spectrum/provider/src/index.ts","packages/@react-spectrum/provider/src/Provider.tsx","packages/@react-spectrum/provider/src/context.ts","packages/@adobe/spectrum-css-temp/components/page/vars.css","packages/@adobe/spectrum-css-temp/components/typography/index.css","packages/@react-spectrum/provider/src/mediaQueries.ts","packages/@react-spectrum/provider/package.json"],"sourcesContent":["/*\n * Copyright 2020 Adobe. All rights reserved.\n * This file is licensed to you under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License. You may obtain a copy\n * of the License at http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software distributed under\n * the License is distributed on an \"AS IS\" BASIS, WITHOUT WARRANTIES OR REPRESENTATIONS\n * OF ANY KIND, either express or implied. See the License for the specific language\n * governing permissions and limitations under the License.\n */\n\n/// <reference types=\"css-module-types\" />\n\nexport {Provider, useProvider, useProviderProps} from './Provider';\nexport type {ProviderContext} from '@react-types/provider';\nexport type {ProviderProps} from '@react-types/provider';\n","/*\n * Copyright 2020 Adobe. All rights reserved.\n * This file is licensed to you under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License. You may obtain a copy\n * of the License at http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software distributed under\n * the License is distributed on an \"AS IS\" BASIS, WITHOUT WARRANTIES OR REPRESENTATIONS\n * OF ANY KIND, either express or implied. See the License for the specific language\n * governing permissions and limitations under the License.\n */\n\nimport {\n BreakpointProvider,\n shouldKeepSpectrumClassNames,\n useDOMRef,\n useMatchedBreakpoints,\n useStyleProps\n} from '@react-spectrum/utils';\nimport clsx from 'clsx';\nimport {Context} from './context';\nimport {DOMRef} from '@react-types/shared';\nimport {filterDOMProps, RouterProvider} from '@react-aria/utils';\nimport {I18nProvider, useLocale} from '@react-aria/i18n';\nimport {ModalProvider, useModalProvider} from '@react-aria/overlays';\nimport {ProviderContext, ProviderProps} from '@react-types/provider';\nimport React, {useContext, useEffect, useRef} from 'react';\nimport styles from '@adobe/spectrum-css-temp/components/page/vars.css';\nimport typographyStyles from '@adobe/spectrum-css-temp/components/typography/index.css';\nimport {useColorScheme, useScale} from './mediaQueries';\n// @ts-ignore\nimport {version} from '../package.json';\n\nconst DEFAULT_BREAKPOINTS = {S: 640, M: 768, L: 1024, XL: 1280, XXL: 1536};\n\nfunction Provider(props: ProviderProps, ref: DOMRef<HTMLDivElement>) {\n let prevContext = useProvider();\n let prevColorScheme = prevContext && prevContext.colorScheme;\n let prevBreakpoints = prevContext && prevContext.breakpoints;\n let {\n theme = prevContext && prevContext.theme,\n defaultColorScheme\n } = props;\n if (!theme) {\n throw new Error('theme not found, the parent provider must have a theme provided');\n }\n // Hooks must always be called.\n let autoColorScheme = useColorScheme(theme, defaultColorScheme);\n let autoScale = useScale(theme);\n let {locale: prevLocale} = useLocale();\n // if the new theme doesn't support the prevColorScheme, we must resort to the auto\n let usePrevColorScheme = !!theme[prevColorScheme];\n\n // importance of color scheme props > parent > auto:(OS > default > omitted)\n let {\n colorScheme = usePrevColorScheme ? prevColorScheme : autoColorScheme,\n scale = prevContext ? prevContext.scale : autoScale,\n locale = prevContext ? prevLocale : null,\n breakpoints = prevContext ? prevBreakpoints : DEFAULT_BREAKPOINTS,\n children,\n isQuiet,\n isEmphasized,\n isDisabled,\n isRequired,\n isReadOnly,\n validationState,\n router,\n ...otherProps\n } = props;\n\n // select only the props with values so undefined props don't overwrite prevContext values\n let currentProps = {\n version,\n theme,\n breakpoints,\n colorScheme,\n scale,\n isQuiet,\n isEmphasized,\n isDisabled,\n isRequired,\n isReadOnly,\n validationState\n };\n\n let matchedBreakpoints = useMatchedBreakpoints(breakpoints);\n let filteredProps = {};\n Object.entries(currentProps).forEach(([key, value]) => value !== undefined && (filteredProps[key] = value));\n\n // Merge options with parent provider\n let context = Object.assign({}, prevContext, filteredProps);\n\n // Only wrap in a DOM node if the theme, colorScheme, or scale changed\n let contents = children;\n let domProps = filterDOMProps(otherProps);\n let {styleProps} = useStyleProps(otherProps, undefined, {matchedBreakpoints});\n 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) {\n contents = (\n <ProviderWrapper {...props} UNSAFE_style={{isolation: !prevContext ? 'isolate' : undefined, ...styleProps.style}} ref={ref}>\n {contents}\n </ProviderWrapper>\n );\n }\n\n if (router) {\n contents = <RouterProvider {...router}>{contents}</RouterProvider>;\n }\n\n return (\n <Context.Provider value={context}>\n <I18nProvider locale={locale}>\n <BreakpointProvider matchedBreakpoints={matchedBreakpoints}>\n <ModalProvider>\n {contents}\n </ModalProvider>\n </BreakpointProvider>\n </I18nProvider>\n </Context.Provider>\n );\n}\n\n/**\n * Provider is the container for all React Spectrum applications.\n * It defines the theme, locale, and other application level settings,\n * and can also be used to provide common properties to a group of components.\n */\nlet _Provider = React.forwardRef(Provider);\nexport {_Provider as Provider};\n\nconst ProviderWrapper = React.forwardRef(function ProviderWrapper(props: ProviderProps, ref: DOMRef<HTMLDivElement>) {\n let {\n children,\n ...otherProps\n } = props;\n let {locale, direction} = useLocale();\n let {theme, colorScheme, scale} = useProvider();\n let {modalProviderProps} = useModalProvider();\n let {styleProps} = useStyleProps(otherProps);\n let domRef = useDOMRef(ref);\n\n let themeKey = Object.keys(theme[colorScheme])[0];\n let scaleKey = Object.keys(theme[scale])[0];\n\n let className = clsx(\n styleProps.className,\n styles['spectrum'],\n typographyStyles['spectrum'],\n Object.values(theme[colorScheme]),\n Object.values(theme[scale]),\n theme.global ? Object.values(theme.global) : null,\n {\n 'react-spectrum-provider': shouldKeepSpectrumClassNames,\n spectrum: shouldKeepSpectrumClassNames,\n [themeKey]: shouldKeepSpectrumClassNames,\n [scaleKey]: shouldKeepSpectrumClassNames\n }\n );\n\n let style = {\n ...styleProps.style,\n // This ensures that browser native UI like scrollbars are rendered in the right color scheme.\n // See https://web.dev/color-scheme/.\n colorScheme: props.colorScheme ?? colorScheme ?? Object.keys(theme).filter(k => k === 'light' || k === 'dark').join(' ')\n };\n\n let hasWarned = useRef(false);\n useEffect(() => {\n if (direction && domRef.current) {\n let closestDir = domRef.current.parentElement.closest('[dir]');\n let dir = closestDir && closestDir.getAttribute('dir');\n if (dir && dir !== direction && !hasWarned.current) {\n console.warn(`Language directions cannot be nested. ${direction} inside ${dir}.`);\n hasWarned.current = true;\n }\n }\n }, [direction, domRef, hasWarned]);\n\n\n return (\n <div\n {...filterDOMProps(otherProps)}\n {...styleProps}\n {...modalProviderProps}\n className={className}\n style={style}\n lang={locale}\n dir={direction}\n ref={domRef}>\n {children}\n </div>\n );\n});\n\n/**\n * Returns the various settings and styles applied by the nearest parent Provider.\n * Properties explicitly set by the nearest parent Provider override those provided by preceeding Providers.\n */\nexport function useProvider(): ProviderContext {\n return useContext(Context);\n}\n\nexport function useProviderProps<T>(props: T) : T {\n let context = useProvider();\n if (!context) {\n return props;\n }\n return Object.assign({}, {\n isQuiet: context.isQuiet,\n isEmphasized: context.isEmphasized,\n isDisabled: context.isDisabled,\n isRequired: context.isRequired,\n isReadOnly: context.isReadOnly,\n validationState: context.validationState\n }, props);\n}\n","/*\n * Copyright 2020 Adobe. All rights reserved.\n * This file is licensed to you under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License. You may obtain a copy\n * of the License at http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software distributed under\n * the License is distributed on an \"AS IS\" BASIS, WITHOUT WARRANTIES OR REPRESENTATIONS\n * OF ANY KIND, either express or implied. See the License for the specific language\n * governing permissions and limitations under the License.\n */\n\nimport {ProviderContext} from '@react-types/provider';\nimport React from 'react';\n\n// Context is placed in a separate file to avoid fast refresh issue where the old provider context values\n// are immediately replaced with the null default. Stopgap solution until we fix this in parcel.\nexport const Context = React.createContext<ProviderContext | null>(null);\nContext.displayName = 'ProviderContext';\n","/*\n * Copyright 2020 Adobe. All rights reserved.\n * This file is licensed to you under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License. You may obtain a copy\n * of the License at http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software distributed under\n * the License is distributed on an \"AS IS\" BASIS, WITHOUT WARRANTIES OR REPRESENTATIONS\n * OF ANY KIND, either express or implied. See the License for the specific language\n * governing permissions and limitations under the License.\n */\n\n@import './index.css';\n@import './skin.css';\n","/*\nCopyright 2019 Adobe. All rights reserved.\nThis file is licensed to you under the Apache License, Version 2.0 (the \"License\");\nyou may not use this file except in compliance with the License. You may obtain a copy\nof the License at http://www.apache.org/licenses/LICENSE-2.0\n\nUnless required by applicable law or agreed to in writing, software distributed under\nthe License is distributed on an \"AS IS\" BASIS, WITHOUT WARRANTIES OR REPRESENTATIONS\nOF ANY KIND, either express or implied. See the License for the specific language\ngoverning permissions and limitations under the License.\n*/\n\n@import '../commons/index.css';\n@import 'font.css';\n\n/*@mixin typography .spectrum-Body1 {}\n@mixin typography .spectrum-Body2 {}\n@mixin typography .spectrum-Body3 {}\n@mixin typography .spectrum-Body4 {}\n@mixin typography .spectrum-Body5 {}\n@mixin typography .spectrum-Heading1 {}\n@mixin typography .spectrum-Heading2 {}\n@mixin typography .spectrum-Heading3 {}\n@mixin typography .spectrum-Heading4 {}\n@mixin typography .spectrum-Heading5 {}\n@mixin typography .spectrum-Heading6 {}\n@mixin typography .spectrum-Subheading {}\n@mixin typography .spectrum-Detail {}\n@mixin typography .spectrum-Heading1--quiet, heading-quiet-1 {}\n@mixin typography .spectrum-Heading2--quiet, heading-quiet-2 {}\n@mixin typography .spectrum-Heading1--strong, heading-strong-1 {}\n@mixin typography .spectrum-Heading2--strong, heading-strong-2 {}\n@mixin typography .spectrum-Heading1--display, display-1 {}\n@mixin typography .spectrum-Heading2--display, display-2 {}\n@mixin typography .spectrum-Heading1--display.spectrum-Heading1--strong, display-strong-1 {}\n@mixin typography .spectrum-Heading2--display.spectrum-Heading2--strong, display-strong-2 {}\n@mixin typography .spectrum-Heading1--display.spectrum-Heading1--quiet, display-quiet-1 {}\n@mixin typography .spectrum-Heading2--display.spectrum-Heading2--quiet, display-quiet-2 {}\n\n.spectrum-Typography {\n @mixin typographyMargins .spectrum-Body1 {}\n @mixin typographyMargins .spectrum-Body2 {}\n @mixin typographyMargins .spectrum-Body3 {}\n @mixin typographyMargins .spectrum-Body4 {}\n @mixin typographyMargins .spectrum-Body5 {}\n @mixin typographyMargins .spectrum-Heading1 {}\n @mixin typographyMargins .spectrum-Heading2 {}\n @mixin typographyMargins .spectrum-Heading3 {}\n @mixin typographyMargins .spectrum-Heading4 {}\n @mixin typographyMargins .spectrum-Heading5 {}\n @mixin typographyMargins .spectrum-Heading6 {}\n @mixin typographyMargins .spectrum-Subheading {}\n @mixin typographyMargins .spectrum-Detail {}\n @mixin typographyMargins .spectrum-Heading1--quiet, heading-quiet-1 {}\n @mixin typographyMargins .spectrum-Heading2--quiet, heading-quiet-2 {}\n @mixin typographyMargins .spectrum-Heading1--strong, heading-strong-1 {}\n @mixin typographyMargins .spectrum-Heading2--strong, heading-strong-2 {}\n @mixin typographyMargins .spectrum-Heading1--display, display-1 {}\n @mixin typographyMargins .spectrum-Heading2--display, display-2 {}\n @mixin typographyMargins .spectrum-Heading1--display.spectrum-Heading1--strong, display-strong-1 {}\n @mixin typographyMargins .spectrum-Heading2--display.spectrum-Heading2--strong, display-strong-2 {}\n @mixin typographyMargins .spectrum-Heading1--display.spectrum-Heading1--quiet, display-quiet-1 {}\n @mixin typographyMargins .spectrum-Heading2--display.spectrum-Heading2--quiet, display-quiet-2 {}\n}\n\n.spectrum-Article {\n font-family: var(--spectrum-body-article-1-text-font-family);\n @mixin typography .spectrum-Body1, body-article-1 {}\n @mixin typography .spectrum-Body2, body-article-2 {}\n @mixin typography .spectrum-Body3, body-article-3 {}\n @mixin typography .spectrum-Body4, body-article-4 {}\n @mixin typography .spectrum-Body5, body-article-5 {}\n @mixin typography .spectrum-Heading1, heading-article-1 {}\n @mixin typography .spectrum-Heading2, heading-article-2 {}\n @mixin typography .spectrum-Heading3, heading-article-3 {}\n @mixin typography .spectrum-Heading4, heading-article-4 {}\n @mixin typography .spectrum-Heading5, heading-article-5 {}\n @mixin typography .spectrum-Heading6, heading-article-6 {}\n @mixin typography .spectrum-Subheading, subheading-article {}\n @mixin typography .spectrum-Detail, detail-article {}\n @mixin typography .spectrum-Heading1--quiet, heading-quiet-article-1 {}\n @mixin typography .spectrum-Heading2--quiet, heading-quiet-article-2 {}\n @mixin typography .spectrum-Heading1--display, display-article-1 {}\n @mixin typography .spectrum-Heading2--display, display-article-2 {}\n @mixin typography .spectrum-Heading1--display.spectrum-Heading1--quiet, display-quiet-article-1 {}\n @mixin typography .spectrum-Heading2--display.spectrum-Heading2--quiet, display-quiet-article-2 {}\n}\n.spectrum {\n &:lang(ja),\n &:lang(ko),\n &:lang(zh) {\n @mixin typography .spectrum-Body1, body-han-1 {}\n @mixin typography .spectrum-Body2, body-han-2 {}\n @mixin typography .spectrum-Body3, body-han-3 {}\n @mixin typography .spectrum-Body4, body-han-4 {}\n @mixin typography .spectrum-Body5, body-han-5 {}\n @mixin typography .spectrum-Heading1, heading-han-1 {}\n @mixin typography .spectrum-Heading2, heading-han-2 {}\n @mixin typography .spectrum-Heading3, heading-han-3 {}\n @mixin typography .spectrum-Heading4, heading-han-4 {}\n @mixin typography .spectrum-Heading5, heading-han-5 {}\n @mixin typography .spectrum-Heading6, heading-han-6 {}\n @mixin typography .spectrum-Subheading, subheading-han {}\n @mixin typography .spectrum-Detail, detail-han {}\n @mixin typography .spectrum-Heading1--quiet, heading-quiet-han-1 {}\n @mixin typography .spectrum-Heading2--quiet, heading-quiet-han-2 {}\n @mixin typography .spectrum-Heading1--strong, heading-strong-han-1 {}\n @mixin typography .spectrum-Heading2--strong, heading-strong-han-2 {}\n @mixin typography .spectrum-Heading1--display, display-han-1 {}\n @mixin typography .spectrum-Heading2--display, display-han-2 {}\n @mixin typography .spectrum-Heading1--display.spectrum-Heading1--strong, display-strong-han-1 {}\n @mixin typography .spectrum-Heading2--display.spectrum-Heading2--strong, display-strong-han-2 {}\n @mixin typography .spectrum-Heading1--display.spectrum-Heading1--quiet, display-quiet-han-1 {}\n @mixin typography .spectrum-Heading2--display.spectrum-Heading2--quiet, display-quiet-han-2 {}\n }\n}\n@mixin typography .spectrum-Code1, body-code-1, true {\n font-family: var(--spectrum-body-code-1-text-font-family);\n}\n@mixin typography .spectrum-Code2, body-code-2, true {\n font-family: var(--spectrum-body-code-2-text-font-family);\n}\n@mixin typography .spectrum-Code3, body-code-3, true {\n font-family: var(--spectrum-body-code-3-text-font-family);\n}\n@mixin typography .spectrum-Code4, body-code-4, true {\n font-family: var(--spectrum-body-code-4-text-font-family);\n}\n@mixin typography .spectrum-Code5, body-code-5, true {\n font-family: var(--spectrum-body-code-5-text-font-family);\n}*/\n\n/*\n The &.spectrum makes it so users can do <div class=\"spectrum spectrum--large\"> and still get the right font sizes\n Without this, they would have to do <div class=\"spectrum--large\"><div class=\"spectrum\">, which makes no sense\n*/\n&.spectrum,\n&.spectrum-Body,\n.spectrum,\n.spectrum-Body {\n font-size: var(--spectrum-body-4-text-size);\n font-weight: var(--spectrum-body-4-text-font-weight);\n line-height: var(--spectrum-body-4-text-line-height);\n font-style: var(--spectrum-body-4-text-font-style);\n}\n\n.spectrum-Body--italic {\n font-style: var(--spectrum-body-4-emphasis-text-font-style);\n}\n\n/*\n.spectrum-Body--large {\n @extend .spectrum-Body2;\n}\n\n.spectrum-Body--small {\n @extend .spectrum-Body5;\n}\n\n.spectrum-Body--secondary {\n @extend .spectrum-Body4;\n}\n\n.spectrum-Heading--display {\n @extend .spectrum-Heading2--display.spectrum-Heading2--quiet;\n}\n\n.spectrum-Heading--pageTitle {\n @extend .spectrum-Heading2--quiet;\n}\n\n.spectrum-Heading--subtitle1 {\n @extend .spectrum-Heading4;\n}\n\n.spectrum-Heading--subtitle2 {\n @extend .spectrum-Heading6;\n}\n\n.spectrum-Heading--subtitle3 {\n @extend .spectrum-Subheading;\n}*/\n","/*\n * Copyright 2020 Adobe. All rights reserved.\n * This file is licensed to you under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License. You may obtain a copy\n * of the License at http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software distributed under\n * the License is distributed on an \"AS IS\" BASIS, WITHOUT WARRANTIES OR REPRESENTATIONS\n * OF ANY KIND, either express or implied. See the License for the specific language\n * governing permissions and limitations under the License.\n */\n\nimport {ColorScheme, Scale, Theme} from '@react-types/provider';\nimport {useMediaQuery} from '@react-spectrum/utils';\n\nexport function useColorScheme(theme: Theme, defaultColorScheme: ColorScheme): ColorScheme {\n let matchesDark = useMediaQuery('(prefers-color-scheme: dark)');\n let matchesLight = useMediaQuery('(prefers-color-scheme: light)');\n\n // importance OS > default > omitted\n\n if (theme.dark && matchesDark) {\n return 'dark';\n }\n\n if (theme.light && matchesLight) {\n return 'light';\n }\n\n if (theme.dark && defaultColorScheme === 'dark') {\n return 'dark';\n }\n\n if (theme.light && defaultColorScheme === 'light') {\n return 'light';\n }\n\n if (!theme.dark) {\n return 'light';\n }\n\n if (!theme.light) {\n return 'dark';\n }\n\n return 'light';\n}\n\nexport function useScale(theme: Theme): Scale {\n let matchesFine = useMediaQuery('(any-pointer: fine)');\n if (matchesFine && theme.medium) {\n return 'medium';\n }\n\n if (theme.large) {\n return 'large';\n }\n\n return 'medium';\n}\n","{\n \"name\": \"@react-spectrum/provider\",\n \"version\": \"3.8.2\",\n \"description\": \"Spectrum UI components in React\",\n \"license\": \"Apache-2.0\",\n \"main\": \"dist/main.js\",\n \"module\": \"dist/module.js\",\n \"exports\": {\n \"types\": \"./dist/types.d.ts\",\n \"import\": \"./dist/import.mjs\",\n \"require\": \"./dist/main.js\"\n },\n \"types\": \"dist/types.d.ts\",\n \"source\": \"src/index.ts\",\n \"files\": [\n \"dist\",\n \"src\"\n ],\n \"sideEffects\": [\n \"*.css\"\n ],\n \"targets\": {\n \"main\": {\n \"includeNodeModules\": [\n \"@adobe/spectrum-css-temp\"\n ]\n },\n \"module\": {\n \"includeNodeModules\": [\n \"@adobe/spectrum-css-temp\"\n ]\n }\n },\n \"repository\": {\n \"type\": \"git\",\n \"url\": \"https://github.com/adobe/react-spectrum\"\n },\n \"dependencies\": {\n \"@react-aria/i18n\": \"^3.8.2\",\n \"@react-aria/overlays\": \"^3.17.0\",\n \"@react-aria/utils\": \"^3.20.0\",\n \"@react-spectrum/utils\": \"^3.10.2\",\n \"@react-types/provider\": \"^3.6.4\",\n \"@react-types/shared\": \"^3.20.0\",\n \"@swc/helpers\": \"^0.5.0\",\n \"clsx\": \"^1.1.1\"\n },\n \"devDependencies\": {\n \"@adobe/spectrum-css-temp\": \"3.0.0-alpha.1\"\n },\n \"peerDependencies\": {\n \"react\": \"^16.8.0 || ^17.0.0-rc.1 || ^18.0.0\",\n \"react-dom\": \"^16.8.0 || ^17.0.0-rc.1 || ^18.0.0\"\n },\n \"publishConfig\": {\n \"access\": \"public\"\n }\n}\n"],"names":[],"version":3,"file":"main.js.map"}
|
package/dist/module.js
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import "./main.css";
|
|
2
2
|
import {useMatchedBreakpoints as $b6ncI$useMatchedBreakpoints, useStyleProps as $b6ncI$useStyleProps, BreakpointProvider as $b6ncI$BreakpointProvider, useDOMRef as $b6ncI$useDOMRef, shouldKeepSpectrumClassNames as $b6ncI$shouldKeepSpectrumClassNames, useMediaQuery as $b6ncI$useMediaQuery} from "@react-spectrum/utils";
|
|
3
3
|
import $b6ncI$clsx from "clsx";
|
|
4
|
-
import {filterDOMProps as $b6ncI$filterDOMProps} from "@react-aria/utils";
|
|
4
|
+
import {filterDOMProps as $b6ncI$filterDOMProps, RouterProvider as $b6ncI$RouterProvider} from "@react-aria/utils";
|
|
5
5
|
import {useLocale as $b6ncI$useLocale, I18nProvider as $b6ncI$I18nProvider} from "@react-aria/i18n";
|
|
6
6
|
import {ModalProvider as $b6ncI$ModalProvider, useModalProvider as $b6ncI$useModalProvider} from "@react-aria/overlays";
|
|
7
7
|
import $b6ncI$react, {useRef as $b6ncI$useRef, useEffect as $b6ncI$useEffect, useContext as $b6ncI$useContext} from "react";
|
|
@@ -129,7 +129,7 @@ function $7167f8da3cce35e4$var$Provider(props, ref) {
|
|
|
129
129
|
// if the new theme doesn't support the prevColorScheme, we must resort to the auto
|
|
130
130
|
let usePrevColorScheme = !!theme[prevColorScheme];
|
|
131
131
|
// importance of color scheme props > parent > auto:(OS > default > omitted)
|
|
132
|
-
let { colorScheme: colorScheme = usePrevColorScheme ? prevColorScheme : autoColorScheme , scale: scale = prevContext ? prevContext.scale : autoScale , locale: locale = prevContext ? prevLocale : null , breakpoints: breakpoints = prevContext ? prevBreakpoints : $7167f8da3cce35e4$var$DEFAULT_BREAKPOINTS , children: children , isQuiet: isQuiet , isEmphasized: isEmphasized , isDisabled: isDisabled , isRequired: isRequired , isReadOnly: isReadOnly , validationState: validationState , ...otherProps } = props;
|
|
132
|
+
let { colorScheme: colorScheme = usePrevColorScheme ? prevColorScheme : autoColorScheme , scale: scale = prevContext ? prevContext.scale : autoScale , locale: locale = prevContext ? prevLocale : null , breakpoints: breakpoints = prevContext ? prevBreakpoints : $7167f8da3cce35e4$var$DEFAULT_BREAKPOINTS , children: children , isQuiet: isQuiet , isEmphasized: isEmphasized , isDisabled: isDisabled , isRequired: isRequired , isReadOnly: isReadOnly , validationState: validationState , router: router , ...otherProps } = props;
|
|
133
133
|
// select only the props with values so undefined props don't overwrite prevContext values
|
|
134
134
|
let currentProps = {
|
|
135
135
|
version: $7b22e09dddddd7da$exports.version,
|
|
@@ -163,6 +163,7 @@ function $7167f8da3cce35e4$var$Provider(props, ref) {
|
|
|
163
163
|
},
|
|
164
164
|
ref: ref
|
|
165
165
|
}, contents);
|
|
166
|
+
if (router) contents = /*#__PURE__*/ (0, $b6ncI$react).createElement((0, $b6ncI$RouterProvider), router, contents);
|
|
166
167
|
return /*#__PURE__*/ (0, $b6ncI$react).createElement((0, $a8430f637b4ccbce$export$841858b892ce1f4c).Provider, {
|
|
167
168
|
value: context
|
|
168
169
|
}, /*#__PURE__*/ (0, $b6ncI$react).createElement((0, $b6ncI$I18nProvider), {
|
package/dist/module.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"mappings":"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","sources":["packages/@react-spectrum/provider/src/index.ts","packages/@react-spectrum/provider/src/Provider.tsx","packages/@react-spectrum/provider/src/context.ts","packages/@adobe/spectrum-css-temp/components/page/vars.css","packages/@adobe/spectrum-css-temp/components/typography/index.css","packages/@react-spectrum/provider/src/mediaQueries.ts","packages/@react-spectrum/provider/package.json"],"sourcesContent":["/*\n * Copyright 2020 Adobe. All rights reserved.\n * This file is licensed to you under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License. You may obtain a copy\n * of the License at http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software distributed under\n * the License is distributed on an \"AS IS\" BASIS, WITHOUT WARRANTIES OR REPRESENTATIONS\n * OF ANY KIND, either express or implied. See the License for the specific language\n * governing permissions and limitations under the License.\n */\n\n/// <reference types=\"css-module-types\" />\n\nexport {Provider, useProvider, useProviderProps} from './Provider';\nexport type {ProviderContext} from '@react-types/provider';\nexport type {ProviderProps} from '@react-types/provider';\n","/*\n * Copyright 2020 Adobe. All rights reserved.\n * This file is licensed to you under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License. You may obtain a copy\n * of the License at http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software distributed under\n * the License is distributed on an \"AS IS\" BASIS, WITHOUT WARRANTIES OR REPRESENTATIONS\n * OF ANY KIND, either express or implied. See the License for the specific language\n * governing permissions and limitations under the License.\n */\n\nimport {\n BreakpointProvider,\n shouldKeepSpectrumClassNames,\n useDOMRef,\n useMatchedBreakpoints,\n useStyleProps\n} from '@react-spectrum/utils';\nimport clsx from 'clsx';\nimport {Context} from './context';\nimport {DOMRef} from '@react-types/shared';\nimport {filterDOMProps} from '@react-aria/utils';\nimport {I18nProvider, useLocale} from '@react-aria/i18n';\nimport {ModalProvider, useModalProvider} from '@react-aria/overlays';\nimport {ProviderContext, ProviderProps} from '@react-types/provider';\nimport React, {useContext, useEffect, useRef} from 'react';\nimport styles from '@adobe/spectrum-css-temp/components/page/vars.css';\nimport typographyStyles from '@adobe/spectrum-css-temp/components/typography/index.css';\nimport {useColorScheme, useScale} from './mediaQueries';\n// @ts-ignore\nimport {version} from '../package.json';\n\nconst DEFAULT_BREAKPOINTS = {S: 640, M: 768, L: 1024, XL: 1280, XXL: 1536};\n\nfunction Provider(props: ProviderProps, ref: DOMRef<HTMLDivElement>) {\n let prevContext = useProvider();\n let prevColorScheme = prevContext && prevContext.colorScheme;\n let prevBreakpoints = prevContext && prevContext.breakpoints;\n let {\n theme = prevContext && prevContext.theme,\n defaultColorScheme\n } = props;\n if (!theme) {\n throw new Error('theme not found, the parent provider must have a theme provided');\n }\n // Hooks must always be called.\n let autoColorScheme = useColorScheme(theme, defaultColorScheme);\n let autoScale = useScale(theme);\n let {locale: prevLocale} = useLocale();\n // if the new theme doesn't support the prevColorScheme, we must resort to the auto\n let usePrevColorScheme = !!theme[prevColorScheme];\n\n // importance of color scheme props > parent > auto:(OS > default > omitted)\n let {\n colorScheme = usePrevColorScheme ? prevColorScheme : autoColorScheme,\n scale = prevContext ? prevContext.scale : autoScale,\n locale = prevContext ? prevLocale : null,\n breakpoints = prevContext ? prevBreakpoints : DEFAULT_BREAKPOINTS,\n children,\n isQuiet,\n isEmphasized,\n isDisabled,\n isRequired,\n isReadOnly,\n validationState,\n ...otherProps\n } = props;\n\n // select only the props with values so undefined props don't overwrite prevContext values\n let currentProps = {\n version,\n theme,\n breakpoints,\n colorScheme,\n scale,\n isQuiet,\n isEmphasized,\n isDisabled,\n isRequired,\n isReadOnly,\n validationState\n };\n\n let matchedBreakpoints = useMatchedBreakpoints(breakpoints);\n let filteredProps = {};\n Object.entries(currentProps).forEach(([key, value]) => value !== undefined && (filteredProps[key] = value));\n\n // Merge options with parent provider\n let context = Object.assign({}, prevContext, filteredProps);\n\n // Only wrap in a DOM node if the theme, colorScheme, or scale changed\n let contents = children;\n let domProps = filterDOMProps(otherProps);\n let {styleProps} = useStyleProps(otherProps, undefined, {matchedBreakpoints});\n 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) {\n contents = (\n <ProviderWrapper {...props} UNSAFE_style={{isolation: !prevContext ? 'isolate' : undefined, ...styleProps.style}} ref={ref}>\n {contents}\n </ProviderWrapper>\n );\n }\n\n return (\n <Context.Provider value={context}>\n <I18nProvider locale={locale}>\n <BreakpointProvider matchedBreakpoints={matchedBreakpoints}>\n <ModalProvider>\n {contents}\n </ModalProvider>\n </BreakpointProvider>\n </I18nProvider>\n </Context.Provider>\n );\n}\n\n/**\n * Provider is the container for all React Spectrum applications.\n * It defines the theme, locale, and other application level settings,\n * and can also be used to provide common properties to a group of components.\n */\nlet _Provider = React.forwardRef(Provider);\nexport {_Provider as Provider};\n\nconst ProviderWrapper = React.forwardRef(function ProviderWrapper(props: ProviderProps, ref: DOMRef<HTMLDivElement>) {\n let {\n children,\n ...otherProps\n } = props;\n let {locale, direction} = useLocale();\n let {theme, colorScheme, scale} = useProvider();\n let {modalProviderProps} = useModalProvider();\n let {styleProps} = useStyleProps(otherProps);\n let domRef = useDOMRef(ref);\n\n let themeKey = Object.keys(theme[colorScheme])[0];\n let scaleKey = Object.keys(theme[scale])[0];\n\n let className = clsx(\n styleProps.className,\n styles['spectrum'],\n typographyStyles['spectrum'],\n Object.values(theme[colorScheme]),\n Object.values(theme[scale]),\n theme.global ? Object.values(theme.global) : null,\n {\n 'react-spectrum-provider': shouldKeepSpectrumClassNames,\n spectrum: shouldKeepSpectrumClassNames,\n [themeKey]: shouldKeepSpectrumClassNames,\n [scaleKey]: shouldKeepSpectrumClassNames\n }\n );\n\n let style = {\n ...styleProps.style,\n // This ensures that browser native UI like scrollbars are rendered in the right color scheme.\n // See https://web.dev/color-scheme/.\n colorScheme: props.colorScheme ?? colorScheme ?? Object.keys(theme).filter(k => k === 'light' || k === 'dark').join(' ')\n };\n\n let hasWarned = useRef(false);\n useEffect(() => {\n if (direction && domRef.current) {\n let closestDir = domRef.current.parentElement.closest('[dir]');\n let dir = closestDir && closestDir.getAttribute('dir');\n if (dir && dir !== direction && !hasWarned.current) {\n console.warn(`Language directions cannot be nested. ${direction} inside ${dir}.`);\n hasWarned.current = true;\n }\n }\n }, [direction, domRef, hasWarned]);\n\n\n return (\n <div\n {...filterDOMProps(otherProps)}\n {...styleProps}\n {...modalProviderProps}\n className={className}\n style={style}\n lang={locale}\n dir={direction}\n ref={domRef}>\n {children}\n </div>\n );\n});\n\n/**\n * Returns the various settings and styles applied by the nearest parent Provider.\n * Properties explicitly set by the nearest parent Provider override those provided by preceeding Providers.\n */\nexport function useProvider(): ProviderContext {\n return useContext(Context);\n}\n\nexport function useProviderProps<T>(props: T) : T {\n let context = useProvider();\n if (!context) {\n return props;\n }\n return Object.assign({}, {\n isQuiet: context.isQuiet,\n isEmphasized: context.isEmphasized,\n isDisabled: context.isDisabled,\n isRequired: context.isRequired,\n isReadOnly: context.isReadOnly,\n validationState: context.validationState\n }, props);\n}\n","/*\n * Copyright 2020 Adobe. All rights reserved.\n * This file is licensed to you under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License. You may obtain a copy\n * of the License at http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software distributed under\n * the License is distributed on an \"AS IS\" BASIS, WITHOUT WARRANTIES OR REPRESENTATIONS\n * OF ANY KIND, either express or implied. See the License for the specific language\n * governing permissions and limitations under the License.\n */\n\nimport {ProviderContext} from '@react-types/provider';\nimport React from 'react';\n\n// Context is placed in a separate file to avoid fast refresh issue where the old provider context values\n// are immediately replaced with the null default. Stopgap solution until we fix this in parcel.\nexport const Context = React.createContext<ProviderContext | null>(null);\nContext.displayName = 'ProviderContext';\n","/*\n * Copyright 2020 Adobe. All rights reserved.\n * This file is licensed to you under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License. You may obtain a copy\n * of the License at http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software distributed under\n * the License is distributed on an \"AS IS\" BASIS, WITHOUT WARRANTIES OR REPRESENTATIONS\n * OF ANY KIND, either express or implied. See the License for the specific language\n * governing permissions and limitations under the License.\n */\n\n@import './index.css';\n@import './skin.css';\n","/*\nCopyright 2019 Adobe. All rights reserved.\nThis file is licensed to you under the Apache License, Version 2.0 (the \"License\");\nyou may not use this file except in compliance with the License. You may obtain a copy\nof the License at http://www.apache.org/licenses/LICENSE-2.0\n\nUnless required by applicable law or agreed to in writing, software distributed under\nthe License is distributed on an \"AS IS\" BASIS, WITHOUT WARRANTIES OR REPRESENTATIONS\nOF ANY KIND, either express or implied. See the License for the specific language\ngoverning permissions and limitations under the License.\n*/\n\n@import '../commons/index.css';\n@import 'font.css';\n\n/*@mixin typography .spectrum-Body1 {}\n@mixin typography .spectrum-Body2 {}\n@mixin typography .spectrum-Body3 {}\n@mixin typography .spectrum-Body4 {}\n@mixin typography .spectrum-Body5 {}\n@mixin typography .spectrum-Heading1 {}\n@mixin typography .spectrum-Heading2 {}\n@mixin typography .spectrum-Heading3 {}\n@mixin typography .spectrum-Heading4 {}\n@mixin typography .spectrum-Heading5 {}\n@mixin typography .spectrum-Heading6 {}\n@mixin typography .spectrum-Subheading {}\n@mixin typography .spectrum-Detail {}\n@mixin typography .spectrum-Heading1--quiet, heading-quiet-1 {}\n@mixin typography .spectrum-Heading2--quiet, heading-quiet-2 {}\n@mixin typography .spectrum-Heading1--strong, heading-strong-1 {}\n@mixin typography .spectrum-Heading2--strong, heading-strong-2 {}\n@mixin typography .spectrum-Heading1--display, display-1 {}\n@mixin typography .spectrum-Heading2--display, display-2 {}\n@mixin typography .spectrum-Heading1--display.spectrum-Heading1--strong, display-strong-1 {}\n@mixin typography .spectrum-Heading2--display.spectrum-Heading2--strong, display-strong-2 {}\n@mixin typography .spectrum-Heading1--display.spectrum-Heading1--quiet, display-quiet-1 {}\n@mixin typography .spectrum-Heading2--display.spectrum-Heading2--quiet, display-quiet-2 {}\n\n.spectrum-Typography {\n @mixin typographyMargins .spectrum-Body1 {}\n @mixin typographyMargins .spectrum-Body2 {}\n @mixin typographyMargins .spectrum-Body3 {}\n @mixin typographyMargins .spectrum-Body4 {}\n @mixin typographyMargins .spectrum-Body5 {}\n @mixin typographyMargins .spectrum-Heading1 {}\n @mixin typographyMargins .spectrum-Heading2 {}\n @mixin typographyMargins .spectrum-Heading3 {}\n @mixin typographyMargins .spectrum-Heading4 {}\n @mixin typographyMargins .spectrum-Heading5 {}\n @mixin typographyMargins .spectrum-Heading6 {}\n @mixin typographyMargins .spectrum-Subheading {}\n @mixin typographyMargins .spectrum-Detail {}\n @mixin typographyMargins .spectrum-Heading1--quiet, heading-quiet-1 {}\n @mixin typographyMargins .spectrum-Heading2--quiet, heading-quiet-2 {}\n @mixin typographyMargins .spectrum-Heading1--strong, heading-strong-1 {}\n @mixin typographyMargins .spectrum-Heading2--strong, heading-strong-2 {}\n @mixin typographyMargins .spectrum-Heading1--display, display-1 {}\n @mixin typographyMargins .spectrum-Heading2--display, display-2 {}\n @mixin typographyMargins .spectrum-Heading1--display.spectrum-Heading1--strong, display-strong-1 {}\n @mixin typographyMargins .spectrum-Heading2--display.spectrum-Heading2--strong, display-strong-2 {}\n @mixin typographyMargins .spectrum-Heading1--display.spectrum-Heading1--quiet, display-quiet-1 {}\n @mixin typographyMargins .spectrum-Heading2--display.spectrum-Heading2--quiet, display-quiet-2 {}\n}\n\n.spectrum-Article {\n font-family: var(--spectrum-body-article-1-text-font-family);\n @mixin typography .spectrum-Body1, body-article-1 {}\n @mixin typography .spectrum-Body2, body-article-2 {}\n @mixin typography .spectrum-Body3, body-article-3 {}\n @mixin typography .spectrum-Body4, body-article-4 {}\n @mixin typography .spectrum-Body5, body-article-5 {}\n @mixin typography .spectrum-Heading1, heading-article-1 {}\n @mixin typography .spectrum-Heading2, heading-article-2 {}\n @mixin typography .spectrum-Heading3, heading-article-3 {}\n @mixin typography .spectrum-Heading4, heading-article-4 {}\n @mixin typography .spectrum-Heading5, heading-article-5 {}\n @mixin typography .spectrum-Heading6, heading-article-6 {}\n @mixin typography .spectrum-Subheading, subheading-article {}\n @mixin typography .spectrum-Detail, detail-article {}\n @mixin typography .spectrum-Heading1--quiet, heading-quiet-article-1 {}\n @mixin typography .spectrum-Heading2--quiet, heading-quiet-article-2 {}\n @mixin typography .spectrum-Heading1--display, display-article-1 {}\n @mixin typography .spectrum-Heading2--display, display-article-2 {}\n @mixin typography .spectrum-Heading1--display.spectrum-Heading1--quiet, display-quiet-article-1 {}\n @mixin typography .spectrum-Heading2--display.spectrum-Heading2--quiet, display-quiet-article-2 {}\n}\n.spectrum {\n &:lang(ja),\n &:lang(ko),\n &:lang(zh) {\n @mixin typography .spectrum-Body1, body-han-1 {}\n @mixin typography .spectrum-Body2, body-han-2 {}\n @mixin typography .spectrum-Body3, body-han-3 {}\n @mixin typography .spectrum-Body4, body-han-4 {}\n @mixin typography .spectrum-Body5, body-han-5 {}\n @mixin typography .spectrum-Heading1, heading-han-1 {}\n @mixin typography .spectrum-Heading2, heading-han-2 {}\n @mixin typography .spectrum-Heading3, heading-han-3 {}\n @mixin typography .spectrum-Heading4, heading-han-4 {}\n @mixin typography .spectrum-Heading5, heading-han-5 {}\n @mixin typography .spectrum-Heading6, heading-han-6 {}\n @mixin typography .spectrum-Subheading, subheading-han {}\n @mixin typography .spectrum-Detail, detail-han {}\n @mixin typography .spectrum-Heading1--quiet, heading-quiet-han-1 {}\n @mixin typography .spectrum-Heading2--quiet, heading-quiet-han-2 {}\n @mixin typography .spectrum-Heading1--strong, heading-strong-han-1 {}\n @mixin typography .spectrum-Heading2--strong, heading-strong-han-2 {}\n @mixin typography .spectrum-Heading1--display, display-han-1 {}\n @mixin typography .spectrum-Heading2--display, display-han-2 {}\n @mixin typography .spectrum-Heading1--display.spectrum-Heading1--strong, display-strong-han-1 {}\n @mixin typography .spectrum-Heading2--display.spectrum-Heading2--strong, display-strong-han-2 {}\n @mixin typography .spectrum-Heading1--display.spectrum-Heading1--quiet, display-quiet-han-1 {}\n @mixin typography .spectrum-Heading2--display.spectrum-Heading2--quiet, display-quiet-han-2 {}\n }\n}\n@mixin typography .spectrum-Code1, body-code-1, true {\n font-family: var(--spectrum-body-code-1-text-font-family);\n}\n@mixin typography .spectrum-Code2, body-code-2, true {\n font-family: var(--spectrum-body-code-2-text-font-family);\n}\n@mixin typography .spectrum-Code3, body-code-3, true {\n font-family: var(--spectrum-body-code-3-text-font-family);\n}\n@mixin typography .spectrum-Code4, body-code-4, true {\n font-family: var(--spectrum-body-code-4-text-font-family);\n}\n@mixin typography .spectrum-Code5, body-code-5, true {\n font-family: var(--spectrum-body-code-5-text-font-family);\n}*/\n\n/*\n The &.spectrum makes it so users can do <div class=\"spectrum spectrum--large\"> and still get the right font sizes\n Without this, they would have to do <div class=\"spectrum--large\"><div class=\"spectrum\">, which makes no sense\n*/\n&.spectrum,\n&.spectrum-Body,\n.spectrum,\n.spectrum-Body {\n font-size: var(--spectrum-body-4-text-size);\n font-weight: var(--spectrum-body-4-text-font-weight);\n line-height: var(--spectrum-body-4-text-line-height);\n font-style: var(--spectrum-body-4-text-font-style);\n}\n\n.spectrum-Body--italic {\n font-style: var(--spectrum-body-4-emphasis-text-font-style);\n}\n\n/*\n.spectrum-Body--large {\n @extend .spectrum-Body2;\n}\n\n.spectrum-Body--small {\n @extend .spectrum-Body5;\n}\n\n.spectrum-Body--secondary {\n @extend .spectrum-Body4;\n}\n\n.spectrum-Heading--display {\n @extend .spectrum-Heading2--display.spectrum-Heading2--quiet;\n}\n\n.spectrum-Heading--pageTitle {\n @extend .spectrum-Heading2--quiet;\n}\n\n.spectrum-Heading--subtitle1 {\n @extend .spectrum-Heading4;\n}\n\n.spectrum-Heading--subtitle2 {\n @extend .spectrum-Heading6;\n}\n\n.spectrum-Heading--subtitle3 {\n @extend .spectrum-Subheading;\n}*/\n","/*\n * Copyright 2020 Adobe. All rights reserved.\n * This file is licensed to you under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License. You may obtain a copy\n * of the License at http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software distributed under\n * the License is distributed on an \"AS IS\" BASIS, WITHOUT WARRANTIES OR REPRESENTATIONS\n * OF ANY KIND, either express or implied. See the License for the specific language\n * governing permissions and limitations under the License.\n */\n\nimport {ColorScheme, Scale, Theme} from '@react-types/provider';\nimport {useMediaQuery} from '@react-spectrum/utils';\n\nexport function useColorScheme(theme: Theme, defaultColorScheme: ColorScheme): ColorScheme {\n let matchesDark = useMediaQuery('(prefers-color-scheme: dark)');\n let matchesLight = useMediaQuery('(prefers-color-scheme: light)');\n\n // importance OS > default > omitted\n\n if (theme.dark && matchesDark) {\n return 'dark';\n }\n\n if (theme.light && matchesLight) {\n return 'light';\n }\n\n if (theme.dark && defaultColorScheme === 'dark') {\n return 'dark';\n }\n\n if (theme.light && defaultColorScheme === 'light') {\n return 'light';\n }\n\n if (!theme.dark) {\n return 'light';\n }\n\n if (!theme.light) {\n return 'dark';\n }\n\n return 'light';\n}\n\nexport function useScale(theme: Theme): Scale {\n let matchesFine = useMediaQuery('(any-pointer: fine)');\n if (matchesFine && theme.medium) {\n return 'medium';\n }\n\n if (theme.large) {\n return 'large';\n }\n\n return 'medium';\n}\n","{\n \"name\": \"@react-spectrum/provider\",\n \"version\": \"3.8.2\",\n \"description\": \"Spectrum UI components in React\",\n \"license\": \"Apache-2.0\",\n \"main\": \"dist/main.js\",\n \"module\": \"dist/module.js\",\n \"exports\": {\n \"types\": \"./dist/types.d.ts\",\n \"import\": \"./dist/import.mjs\",\n \"require\": \"./dist/main.js\"\n },\n \"types\": \"dist/types.d.ts\",\n \"source\": \"src/index.ts\",\n \"files\": [\n \"dist\",\n \"src\"\n ],\n \"sideEffects\": [\n \"*.css\"\n ],\n \"targets\": {\n \"main\": {\n \"includeNodeModules\": [\n \"@adobe/spectrum-css-temp\"\n ]\n },\n \"module\": {\n \"includeNodeModules\": [\n \"@adobe/spectrum-css-temp\"\n ]\n }\n },\n \"repository\": {\n \"type\": \"git\",\n \"url\": \"https://github.com/adobe/react-spectrum\"\n },\n \"dependencies\": {\n \"@react-aria/i18n\": \"^3.8.2\",\n \"@react-aria/overlays\": \"^3.17.0\",\n \"@react-aria/utils\": \"^3.20.0\",\n \"@react-spectrum/utils\": \"^3.10.2\",\n \"@react-types/provider\": \"^3.6.4\",\n \"@react-types/shared\": \"^3.20.0\",\n \"@swc/helpers\": \"^0.5.0\",\n \"clsx\": \"^1.1.1\"\n },\n \"devDependencies\": {\n \"@adobe/spectrum-css-temp\": \"3.0.0-alpha.1\"\n },\n \"peerDependencies\": {\n \"react\": \"^16.8.0 || ^17.0.0-rc.1 || ^18.0.0\",\n \"react-dom\": \"^16.8.0 || ^17.0.0-rc.1 || ^18.0.0\"\n },\n \"publishConfig\": {\n \"access\": \"public\"\n }\n}\n"],"names":[],"version":3,"file":"module.js.map"}
|
|
1
|
+
{"mappings":"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","sources":["packages/@react-spectrum/provider/src/index.ts","packages/@react-spectrum/provider/src/Provider.tsx","packages/@react-spectrum/provider/src/context.ts","packages/@adobe/spectrum-css-temp/components/page/vars.css","packages/@adobe/spectrum-css-temp/components/typography/index.css","packages/@react-spectrum/provider/src/mediaQueries.ts","packages/@react-spectrum/provider/package.json"],"sourcesContent":["/*\n * Copyright 2020 Adobe. All rights reserved.\n * This file is licensed to you under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License. You may obtain a copy\n * of the License at http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software distributed under\n * the License is distributed on an \"AS IS\" BASIS, WITHOUT WARRANTIES OR REPRESENTATIONS\n * OF ANY KIND, either express or implied. See the License for the specific language\n * governing permissions and limitations under the License.\n */\n\n/// <reference types=\"css-module-types\" />\n\nexport {Provider, useProvider, useProviderProps} from './Provider';\nexport type {ProviderContext} from '@react-types/provider';\nexport type {ProviderProps} from '@react-types/provider';\n","/*\n * Copyright 2020 Adobe. All rights reserved.\n * This file is licensed to you under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License. You may obtain a copy\n * of the License at http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software distributed under\n * the License is distributed on an \"AS IS\" BASIS, WITHOUT WARRANTIES OR REPRESENTATIONS\n * OF ANY KIND, either express or implied. See the License for the specific language\n * governing permissions and limitations under the License.\n */\n\nimport {\n BreakpointProvider,\n shouldKeepSpectrumClassNames,\n useDOMRef,\n useMatchedBreakpoints,\n useStyleProps\n} from '@react-spectrum/utils';\nimport clsx from 'clsx';\nimport {Context} from './context';\nimport {DOMRef} from '@react-types/shared';\nimport {filterDOMProps, RouterProvider} from '@react-aria/utils';\nimport {I18nProvider, useLocale} from '@react-aria/i18n';\nimport {ModalProvider, useModalProvider} from '@react-aria/overlays';\nimport {ProviderContext, ProviderProps} from '@react-types/provider';\nimport React, {useContext, useEffect, useRef} from 'react';\nimport styles from '@adobe/spectrum-css-temp/components/page/vars.css';\nimport typographyStyles from '@adobe/spectrum-css-temp/components/typography/index.css';\nimport {useColorScheme, useScale} from './mediaQueries';\n// @ts-ignore\nimport {version} from '../package.json';\n\nconst DEFAULT_BREAKPOINTS = {S: 640, M: 768, L: 1024, XL: 1280, XXL: 1536};\n\nfunction Provider(props: ProviderProps, ref: DOMRef<HTMLDivElement>) {\n let prevContext = useProvider();\n let prevColorScheme = prevContext && prevContext.colorScheme;\n let prevBreakpoints = prevContext && prevContext.breakpoints;\n let {\n theme = prevContext && prevContext.theme,\n defaultColorScheme\n } = props;\n if (!theme) {\n throw new Error('theme not found, the parent provider must have a theme provided');\n }\n // Hooks must always be called.\n let autoColorScheme = useColorScheme(theme, defaultColorScheme);\n let autoScale = useScale(theme);\n let {locale: prevLocale} = useLocale();\n // if the new theme doesn't support the prevColorScheme, we must resort to the auto\n let usePrevColorScheme = !!theme[prevColorScheme];\n\n // importance of color scheme props > parent > auto:(OS > default > omitted)\n let {\n colorScheme = usePrevColorScheme ? prevColorScheme : autoColorScheme,\n scale = prevContext ? prevContext.scale : autoScale,\n locale = prevContext ? prevLocale : null,\n breakpoints = prevContext ? prevBreakpoints : DEFAULT_BREAKPOINTS,\n children,\n isQuiet,\n isEmphasized,\n isDisabled,\n isRequired,\n isReadOnly,\n validationState,\n router,\n ...otherProps\n } = props;\n\n // select only the props with values so undefined props don't overwrite prevContext values\n let currentProps = {\n version,\n theme,\n breakpoints,\n colorScheme,\n scale,\n isQuiet,\n isEmphasized,\n isDisabled,\n isRequired,\n isReadOnly,\n validationState\n };\n\n let matchedBreakpoints = useMatchedBreakpoints(breakpoints);\n let filteredProps = {};\n Object.entries(currentProps).forEach(([key, value]) => value !== undefined && (filteredProps[key] = value));\n\n // Merge options with parent provider\n let context = Object.assign({}, prevContext, filteredProps);\n\n // Only wrap in a DOM node if the theme, colorScheme, or scale changed\n let contents = children;\n let domProps = filterDOMProps(otherProps);\n let {styleProps} = useStyleProps(otherProps, undefined, {matchedBreakpoints});\n 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) {\n contents = (\n <ProviderWrapper {...props} UNSAFE_style={{isolation: !prevContext ? 'isolate' : undefined, ...styleProps.style}} ref={ref}>\n {contents}\n </ProviderWrapper>\n );\n }\n\n if (router) {\n contents = <RouterProvider {...router}>{contents}</RouterProvider>;\n }\n\n return (\n <Context.Provider value={context}>\n <I18nProvider locale={locale}>\n <BreakpointProvider matchedBreakpoints={matchedBreakpoints}>\n <ModalProvider>\n {contents}\n </ModalProvider>\n </BreakpointProvider>\n </I18nProvider>\n </Context.Provider>\n );\n}\n\n/**\n * Provider is the container for all React Spectrum applications.\n * It defines the theme, locale, and other application level settings,\n * and can also be used to provide common properties to a group of components.\n */\nlet _Provider = React.forwardRef(Provider);\nexport {_Provider as Provider};\n\nconst ProviderWrapper = React.forwardRef(function ProviderWrapper(props: ProviderProps, ref: DOMRef<HTMLDivElement>) {\n let {\n children,\n ...otherProps\n } = props;\n let {locale, direction} = useLocale();\n let {theme, colorScheme, scale} = useProvider();\n let {modalProviderProps} = useModalProvider();\n let {styleProps} = useStyleProps(otherProps);\n let domRef = useDOMRef(ref);\n\n let themeKey = Object.keys(theme[colorScheme])[0];\n let scaleKey = Object.keys(theme[scale])[0];\n\n let className = clsx(\n styleProps.className,\n styles['spectrum'],\n typographyStyles['spectrum'],\n Object.values(theme[colorScheme]),\n Object.values(theme[scale]),\n theme.global ? Object.values(theme.global) : null,\n {\n 'react-spectrum-provider': shouldKeepSpectrumClassNames,\n spectrum: shouldKeepSpectrumClassNames,\n [themeKey]: shouldKeepSpectrumClassNames,\n [scaleKey]: shouldKeepSpectrumClassNames\n }\n );\n\n let style = {\n ...styleProps.style,\n // This ensures that browser native UI like scrollbars are rendered in the right color scheme.\n // See https://web.dev/color-scheme/.\n colorScheme: props.colorScheme ?? colorScheme ?? Object.keys(theme).filter(k => k === 'light' || k === 'dark').join(' ')\n };\n\n let hasWarned = useRef(false);\n useEffect(() => {\n if (direction && domRef.current) {\n let closestDir = domRef.current.parentElement.closest('[dir]');\n let dir = closestDir && closestDir.getAttribute('dir');\n if (dir && dir !== direction && !hasWarned.current) {\n console.warn(`Language directions cannot be nested. ${direction} inside ${dir}.`);\n hasWarned.current = true;\n }\n }\n }, [direction, domRef, hasWarned]);\n\n\n return (\n <div\n {...filterDOMProps(otherProps)}\n {...styleProps}\n {...modalProviderProps}\n className={className}\n style={style}\n lang={locale}\n dir={direction}\n ref={domRef}>\n {children}\n </div>\n );\n});\n\n/**\n * Returns the various settings and styles applied by the nearest parent Provider.\n * Properties explicitly set by the nearest parent Provider override those provided by preceeding Providers.\n */\nexport function useProvider(): ProviderContext {\n return useContext(Context);\n}\n\nexport function useProviderProps<T>(props: T) : T {\n let context = useProvider();\n if (!context) {\n return props;\n }\n return Object.assign({}, {\n isQuiet: context.isQuiet,\n isEmphasized: context.isEmphasized,\n isDisabled: context.isDisabled,\n isRequired: context.isRequired,\n isReadOnly: context.isReadOnly,\n validationState: context.validationState\n }, props);\n}\n","/*\n * Copyright 2020 Adobe. All rights reserved.\n * This file is licensed to you under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License. You may obtain a copy\n * of the License at http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software distributed under\n * the License is distributed on an \"AS IS\" BASIS, WITHOUT WARRANTIES OR REPRESENTATIONS\n * OF ANY KIND, either express or implied. See the License for the specific language\n * governing permissions and limitations under the License.\n */\n\nimport {ProviderContext} from '@react-types/provider';\nimport React from 'react';\n\n// Context is placed in a separate file to avoid fast refresh issue where the old provider context values\n// are immediately replaced with the null default. Stopgap solution until we fix this in parcel.\nexport const Context = React.createContext<ProviderContext | null>(null);\nContext.displayName = 'ProviderContext';\n","/*\n * Copyright 2020 Adobe. All rights reserved.\n * This file is licensed to you under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License. You may obtain a copy\n * of the License at http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software distributed under\n * the License is distributed on an \"AS IS\" BASIS, WITHOUT WARRANTIES OR REPRESENTATIONS\n * OF ANY KIND, either express or implied. See the License for the specific language\n * governing permissions and limitations under the License.\n */\n\n@import './index.css';\n@import './skin.css';\n","/*\nCopyright 2019 Adobe. All rights reserved.\nThis file is licensed to you under the Apache License, Version 2.0 (the \"License\");\nyou may not use this file except in compliance with the License. You may obtain a copy\nof the License at http://www.apache.org/licenses/LICENSE-2.0\n\nUnless required by applicable law or agreed to in writing, software distributed under\nthe License is distributed on an \"AS IS\" BASIS, WITHOUT WARRANTIES OR REPRESENTATIONS\nOF ANY KIND, either express or implied. See the License for the specific language\ngoverning permissions and limitations under the License.\n*/\n\n@import '../commons/index.css';\n@import 'font.css';\n\n/*@mixin typography .spectrum-Body1 {}\n@mixin typography .spectrum-Body2 {}\n@mixin typography .spectrum-Body3 {}\n@mixin typography .spectrum-Body4 {}\n@mixin typography .spectrum-Body5 {}\n@mixin typography .spectrum-Heading1 {}\n@mixin typography .spectrum-Heading2 {}\n@mixin typography .spectrum-Heading3 {}\n@mixin typography .spectrum-Heading4 {}\n@mixin typography .spectrum-Heading5 {}\n@mixin typography .spectrum-Heading6 {}\n@mixin typography .spectrum-Subheading {}\n@mixin typography .spectrum-Detail {}\n@mixin typography .spectrum-Heading1--quiet, heading-quiet-1 {}\n@mixin typography .spectrum-Heading2--quiet, heading-quiet-2 {}\n@mixin typography .spectrum-Heading1--strong, heading-strong-1 {}\n@mixin typography .spectrum-Heading2--strong, heading-strong-2 {}\n@mixin typography .spectrum-Heading1--display, display-1 {}\n@mixin typography .spectrum-Heading2--display, display-2 {}\n@mixin typography .spectrum-Heading1--display.spectrum-Heading1--strong, display-strong-1 {}\n@mixin typography .spectrum-Heading2--display.spectrum-Heading2--strong, display-strong-2 {}\n@mixin typography .spectrum-Heading1--display.spectrum-Heading1--quiet, display-quiet-1 {}\n@mixin typography .spectrum-Heading2--display.spectrum-Heading2--quiet, display-quiet-2 {}\n\n.spectrum-Typography {\n @mixin typographyMargins .spectrum-Body1 {}\n @mixin typographyMargins .spectrum-Body2 {}\n @mixin typographyMargins .spectrum-Body3 {}\n @mixin typographyMargins .spectrum-Body4 {}\n @mixin typographyMargins .spectrum-Body5 {}\n @mixin typographyMargins .spectrum-Heading1 {}\n @mixin typographyMargins .spectrum-Heading2 {}\n @mixin typographyMargins .spectrum-Heading3 {}\n @mixin typographyMargins .spectrum-Heading4 {}\n @mixin typographyMargins .spectrum-Heading5 {}\n @mixin typographyMargins .spectrum-Heading6 {}\n @mixin typographyMargins .spectrum-Subheading {}\n @mixin typographyMargins .spectrum-Detail {}\n @mixin typographyMargins .spectrum-Heading1--quiet, heading-quiet-1 {}\n @mixin typographyMargins .spectrum-Heading2--quiet, heading-quiet-2 {}\n @mixin typographyMargins .spectrum-Heading1--strong, heading-strong-1 {}\n @mixin typographyMargins .spectrum-Heading2--strong, heading-strong-2 {}\n @mixin typographyMargins .spectrum-Heading1--display, display-1 {}\n @mixin typographyMargins .spectrum-Heading2--display, display-2 {}\n @mixin typographyMargins .spectrum-Heading1--display.spectrum-Heading1--strong, display-strong-1 {}\n @mixin typographyMargins .spectrum-Heading2--display.spectrum-Heading2--strong, display-strong-2 {}\n @mixin typographyMargins .spectrum-Heading1--display.spectrum-Heading1--quiet, display-quiet-1 {}\n @mixin typographyMargins .spectrum-Heading2--display.spectrum-Heading2--quiet, display-quiet-2 {}\n}\n\n.spectrum-Article {\n font-family: var(--spectrum-body-article-1-text-font-family);\n @mixin typography .spectrum-Body1, body-article-1 {}\n @mixin typography .spectrum-Body2, body-article-2 {}\n @mixin typography .spectrum-Body3, body-article-3 {}\n @mixin typography .spectrum-Body4, body-article-4 {}\n @mixin typography .spectrum-Body5, body-article-5 {}\n @mixin typography .spectrum-Heading1, heading-article-1 {}\n @mixin typography .spectrum-Heading2, heading-article-2 {}\n @mixin typography .spectrum-Heading3, heading-article-3 {}\n @mixin typography .spectrum-Heading4, heading-article-4 {}\n @mixin typography .spectrum-Heading5, heading-article-5 {}\n @mixin typography .spectrum-Heading6, heading-article-6 {}\n @mixin typography .spectrum-Subheading, subheading-article {}\n @mixin typography .spectrum-Detail, detail-article {}\n @mixin typography .spectrum-Heading1--quiet, heading-quiet-article-1 {}\n @mixin typography .spectrum-Heading2--quiet, heading-quiet-article-2 {}\n @mixin typography .spectrum-Heading1--display, display-article-1 {}\n @mixin typography .spectrum-Heading2--display, display-article-2 {}\n @mixin typography .spectrum-Heading1--display.spectrum-Heading1--quiet, display-quiet-article-1 {}\n @mixin typography .spectrum-Heading2--display.spectrum-Heading2--quiet, display-quiet-article-2 {}\n}\n.spectrum {\n &:lang(ja),\n &:lang(ko),\n &:lang(zh) {\n @mixin typography .spectrum-Body1, body-han-1 {}\n @mixin typography .spectrum-Body2, body-han-2 {}\n @mixin typography .spectrum-Body3, body-han-3 {}\n @mixin typography .spectrum-Body4, body-han-4 {}\n @mixin typography .spectrum-Body5, body-han-5 {}\n @mixin typography .spectrum-Heading1, heading-han-1 {}\n @mixin typography .spectrum-Heading2, heading-han-2 {}\n @mixin typography .spectrum-Heading3, heading-han-3 {}\n @mixin typography .spectrum-Heading4, heading-han-4 {}\n @mixin typography .spectrum-Heading5, heading-han-5 {}\n @mixin typography .spectrum-Heading6, heading-han-6 {}\n @mixin typography .spectrum-Subheading, subheading-han {}\n @mixin typography .spectrum-Detail, detail-han {}\n @mixin typography .spectrum-Heading1--quiet, heading-quiet-han-1 {}\n @mixin typography .spectrum-Heading2--quiet, heading-quiet-han-2 {}\n @mixin typography .spectrum-Heading1--strong, heading-strong-han-1 {}\n @mixin typography .spectrum-Heading2--strong, heading-strong-han-2 {}\n @mixin typography .spectrum-Heading1--display, display-han-1 {}\n @mixin typography .spectrum-Heading2--display, display-han-2 {}\n @mixin typography .spectrum-Heading1--display.spectrum-Heading1--strong, display-strong-han-1 {}\n @mixin typography .spectrum-Heading2--display.spectrum-Heading2--strong, display-strong-han-2 {}\n @mixin typography .spectrum-Heading1--display.spectrum-Heading1--quiet, display-quiet-han-1 {}\n @mixin typography .spectrum-Heading2--display.spectrum-Heading2--quiet, display-quiet-han-2 {}\n }\n}\n@mixin typography .spectrum-Code1, body-code-1, true {\n font-family: var(--spectrum-body-code-1-text-font-family);\n}\n@mixin typography .spectrum-Code2, body-code-2, true {\n font-family: var(--spectrum-body-code-2-text-font-family);\n}\n@mixin typography .spectrum-Code3, body-code-3, true {\n font-family: var(--spectrum-body-code-3-text-font-family);\n}\n@mixin typography .spectrum-Code4, body-code-4, true {\n font-family: var(--spectrum-body-code-4-text-font-family);\n}\n@mixin typography .spectrum-Code5, body-code-5, true {\n font-family: var(--spectrum-body-code-5-text-font-family);\n}*/\n\n/*\n The &.spectrum makes it so users can do <div class=\"spectrum spectrum--large\"> and still get the right font sizes\n Without this, they would have to do <div class=\"spectrum--large\"><div class=\"spectrum\">, which makes no sense\n*/\n&.spectrum,\n&.spectrum-Body,\n.spectrum,\n.spectrum-Body {\n font-size: var(--spectrum-body-4-text-size);\n font-weight: var(--spectrum-body-4-text-font-weight);\n line-height: var(--spectrum-body-4-text-line-height);\n font-style: var(--spectrum-body-4-text-font-style);\n}\n\n.spectrum-Body--italic {\n font-style: var(--spectrum-body-4-emphasis-text-font-style);\n}\n\n/*\n.spectrum-Body--large {\n @extend .spectrum-Body2;\n}\n\n.spectrum-Body--small {\n @extend .spectrum-Body5;\n}\n\n.spectrum-Body--secondary {\n @extend .spectrum-Body4;\n}\n\n.spectrum-Heading--display {\n @extend .spectrum-Heading2--display.spectrum-Heading2--quiet;\n}\n\n.spectrum-Heading--pageTitle {\n @extend .spectrum-Heading2--quiet;\n}\n\n.spectrum-Heading--subtitle1 {\n @extend .spectrum-Heading4;\n}\n\n.spectrum-Heading--subtitle2 {\n @extend .spectrum-Heading6;\n}\n\n.spectrum-Heading--subtitle3 {\n @extend .spectrum-Subheading;\n}*/\n","/*\n * Copyright 2020 Adobe. All rights reserved.\n * This file is licensed to you under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License. You may obtain a copy\n * of the License at http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software distributed under\n * the License is distributed on an \"AS IS\" BASIS, WITHOUT WARRANTIES OR REPRESENTATIONS\n * OF ANY KIND, either express or implied. See the License for the specific language\n * governing permissions and limitations under the License.\n */\n\nimport {ColorScheme, Scale, Theme} from '@react-types/provider';\nimport {useMediaQuery} from '@react-spectrum/utils';\n\nexport function useColorScheme(theme: Theme, defaultColorScheme: ColorScheme): ColorScheme {\n let matchesDark = useMediaQuery('(prefers-color-scheme: dark)');\n let matchesLight = useMediaQuery('(prefers-color-scheme: light)');\n\n // importance OS > default > omitted\n\n if (theme.dark && matchesDark) {\n return 'dark';\n }\n\n if (theme.light && matchesLight) {\n return 'light';\n }\n\n if (theme.dark && defaultColorScheme === 'dark') {\n return 'dark';\n }\n\n if (theme.light && defaultColorScheme === 'light') {\n return 'light';\n }\n\n if (!theme.dark) {\n return 'light';\n }\n\n if (!theme.light) {\n return 'dark';\n }\n\n return 'light';\n}\n\nexport function useScale(theme: Theme): Scale {\n let matchesFine = useMediaQuery('(any-pointer: fine)');\n if (matchesFine && theme.medium) {\n return 'medium';\n }\n\n if (theme.large) {\n return 'large';\n }\n\n return 'medium';\n}\n","{\n \"name\": \"@react-spectrum/provider\",\n \"version\": \"3.8.2\",\n \"description\": \"Spectrum UI components in React\",\n \"license\": \"Apache-2.0\",\n \"main\": \"dist/main.js\",\n \"module\": \"dist/module.js\",\n \"exports\": {\n \"types\": \"./dist/types.d.ts\",\n \"import\": \"./dist/import.mjs\",\n \"require\": \"./dist/main.js\"\n },\n \"types\": \"dist/types.d.ts\",\n \"source\": \"src/index.ts\",\n \"files\": [\n \"dist\",\n \"src\"\n ],\n \"sideEffects\": [\n \"*.css\"\n ],\n \"targets\": {\n \"main\": {\n \"includeNodeModules\": [\n \"@adobe/spectrum-css-temp\"\n ]\n },\n \"module\": {\n \"includeNodeModules\": [\n \"@adobe/spectrum-css-temp\"\n ]\n }\n },\n \"repository\": {\n \"type\": \"git\",\n \"url\": \"https://github.com/adobe/react-spectrum\"\n },\n \"dependencies\": {\n \"@react-aria/i18n\": \"^3.8.2\",\n \"@react-aria/overlays\": \"^3.17.0\",\n \"@react-aria/utils\": \"^3.20.0\",\n \"@react-spectrum/utils\": \"^3.10.2\",\n \"@react-types/provider\": \"^3.6.4\",\n \"@react-types/shared\": \"^3.20.0\",\n \"@swc/helpers\": \"^0.5.0\",\n \"clsx\": \"^1.1.1\"\n },\n \"devDependencies\": {\n \"@adobe/spectrum-css-temp\": \"3.0.0-alpha.1\"\n },\n \"peerDependencies\": {\n \"react\": \"^16.8.0 || ^17.0.0-rc.1 || ^18.0.0\",\n \"react-dom\": \"^16.8.0 || ^17.0.0-rc.1 || ^18.0.0\"\n },\n \"publishConfig\": {\n \"access\": \"public\"\n }\n}\n"],"names":[],"version":3,"file":"module.js.map"}
|
package/dist/types.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"mappings":";;
|
|
1
|
+
{"mappings":";;AEyHA;;;;GAIG;AACH,OAAA,IAAI,yIAAsC,CAAC;AAmE3C;;;GAGG;AACH,+BAA+B,eAAe,CAE7C;AAED,iCAAiC,CAAC,EAAE,KAAK,EAAE,CAAC,GAAI,CAAC,CAahD;ACvMD,YAAY,EAAC,eAAe,EAAC,MAAM,uBAAuB,CAAC;AAC3D,YAAY,EAAC,aAAa,EAAC,MAAM,uBAAuB,CAAC","sources":["packages/@react-spectrum/provider/src/packages/@react-spectrum/provider/src/context.ts","packages/@react-spectrum/provider/src/packages/@react-spectrum/provider/src/mediaQueries.ts","packages/@react-spectrum/provider/src/packages/@react-spectrum/provider/src/Provider.tsx","packages/@react-spectrum/provider/src/packages/@react-spectrum/provider/src/index.ts","packages/@react-spectrum/provider/src/index.ts"],"sourcesContent":[null,null,null,null,"/*\n * Copyright 2020 Adobe. All rights reserved.\n * This file is licensed to you under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License. You may obtain a copy\n * of the License at http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software distributed under\n * the License is distributed on an \"AS IS\" BASIS, WITHOUT WARRANTIES OR REPRESENTATIONS\n * OF ANY KIND, either express or implied. See the License for the specific language\n * governing permissions and limitations under the License.\n */\n\n/// <reference types=\"css-module-types\" />\n\nexport {Provider, useProvider, useProviderProps} from './Provider';\nexport type {ProviderContext} from '@react-types/provider';\nexport type {ProviderProps} from '@react-types/provider';\n"],"names":[],"version":3,"file":"types.d.ts.map"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@react-spectrum/provider",
|
|
3
|
-
"version": "3.0.0-nightly.
|
|
3
|
+
"version": "3.0.0-nightly.2444+54d260d73",
|
|
4
4
|
"description": "Spectrum UI components in React",
|
|
5
5
|
"license": "Apache-2.0",
|
|
6
6
|
"main": "dist/main.js",
|
|
@@ -36,17 +36,17 @@
|
|
|
36
36
|
"url": "https://github.com/adobe/react-spectrum"
|
|
37
37
|
},
|
|
38
38
|
"dependencies": {
|
|
39
|
-
"@react-aria/i18n": "3.0.0-nightly.
|
|
40
|
-
"@react-aria/overlays": "3.0.0-nightly.
|
|
41
|
-
"@react-aria/utils": "3.0.0-nightly.
|
|
42
|
-
"@react-spectrum/utils": "3.0.0-nightly.
|
|
43
|
-
"@react-types/provider": "3.6.5-nightly.
|
|
44
|
-
"@react-types/shared": "3.0.0-nightly.
|
|
39
|
+
"@react-aria/i18n": "3.0.0-nightly.2444+54d260d73",
|
|
40
|
+
"@react-aria/overlays": "3.0.0-nightly.2444+54d260d73",
|
|
41
|
+
"@react-aria/utils": "3.0.0-nightly.2444+54d260d73",
|
|
42
|
+
"@react-spectrum/utils": "3.0.0-nightly.2444+54d260d73",
|
|
43
|
+
"@react-types/provider": "3.6.5-nightly.4153+54d260d73",
|
|
44
|
+
"@react-types/shared": "3.0.0-nightly.2444+54d260d73",
|
|
45
45
|
"@swc/helpers": "^0.5.0",
|
|
46
46
|
"clsx": "^1.1.1"
|
|
47
47
|
},
|
|
48
48
|
"devDependencies": {
|
|
49
|
-
"@adobe/spectrum-css-temp": "3.0.0-nightly.
|
|
49
|
+
"@adobe/spectrum-css-temp": "3.0.0-nightly.2444+54d260d73"
|
|
50
50
|
},
|
|
51
51
|
"peerDependencies": {
|
|
52
52
|
"react": "^16.8.0 || ^17.0.0-rc.1 || ^18.0.0",
|
|
@@ -55,5 +55,5 @@
|
|
|
55
55
|
"publishConfig": {
|
|
56
56
|
"access": "public"
|
|
57
57
|
},
|
|
58
|
-
"gitHead": "
|
|
58
|
+
"gitHead": "54d260d736f3e24d02c4277e593f4ab34930f9bd"
|
|
59
59
|
}
|
package/src/Provider.tsx
CHANGED
|
@@ -20,7 +20,7 @@ import {
|
|
|
20
20
|
import clsx from 'clsx';
|
|
21
21
|
import {Context} from './context';
|
|
22
22
|
import {DOMRef} from '@react-types/shared';
|
|
23
|
-
import {filterDOMProps} from '@react-aria/utils';
|
|
23
|
+
import {filterDOMProps, RouterProvider} from '@react-aria/utils';
|
|
24
24
|
import {I18nProvider, useLocale} from '@react-aria/i18n';
|
|
25
25
|
import {ModalProvider, useModalProvider} from '@react-aria/overlays';
|
|
26
26
|
import {ProviderContext, ProviderProps} from '@react-types/provider';
|
|
@@ -64,6 +64,7 @@ function Provider(props: ProviderProps, ref: DOMRef<HTMLDivElement>) {
|
|
|
64
64
|
isRequired,
|
|
65
65
|
isReadOnly,
|
|
66
66
|
validationState,
|
|
67
|
+
router,
|
|
67
68
|
...otherProps
|
|
68
69
|
} = props;
|
|
69
70
|
|
|
@@ -101,6 +102,10 @@ function Provider(props: ProviderProps, ref: DOMRef<HTMLDivElement>) {
|
|
|
101
102
|
);
|
|
102
103
|
}
|
|
103
104
|
|
|
105
|
+
if (router) {
|
|
106
|
+
contents = <RouterProvider {...router}>{contents}</RouterProvider>;
|
|
107
|
+
}
|
|
108
|
+
|
|
104
109
|
return (
|
|
105
110
|
<Context.Provider value={context}>
|
|
106
111
|
<I18nProvider locale={locale}>
|