@basic-ui/material 1.0.0-alpha.31 → 1.0.0-alpha.33
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/build/cjs/index.js +16 -10
- package/build/cjs/index.js.map +1 -1
- package/build/esm/Chip/ButtonChip.d.ts +1 -1
- package/build/esm/Combobox/Combobox.d.ts +7 -7
- package/build/esm/Select/CustomContainerExample.d.ts +3 -0
- package/build/esm/Select/CustomContainerExample.js +59 -0
- package/build/esm/Select/CustomContainerExample.js.map +1 -0
- package/build/esm/Select/Select.d.ts +4 -2
- package/build/esm/Select/Select.js +4 -3
- package/build/esm/Select/Select.js.map +1 -1
- package/build/esm/Switch/Switch.d.ts +1 -1
- package/build/esm/Switch/Switch.js +5 -5
- package/build/esm/Switch/Switch.js.map +1 -1
- package/build/esm/Table/TableHead.d.ts +1 -1
- package/build/esm/TextField/FilledContainer.d.ts +4 -1
- package/build/esm/TextField/FilledContainer.js +5 -5
- package/build/esm/TextField/FilledContainer.js.map +1 -1
- package/build/esm/TextField/TextField.d.ts +1 -1
- package/build/esm/ThemeExplorer/ThemeBuilder.js +13 -2
- package/build/esm/ThemeExplorer/ThemeBuilder.js.map +1 -1
- package/build/esm/ThemeExplorer/ThemeColors.js +33 -15
- package/build/esm/ThemeExplorer/ThemeColors.js.map +1 -1
- package/build/esm/ThemeExplorer/components.d.ts +1 -1
- package/build/esm/ThemeExplorer/components.js +11 -13
- package/build/esm/ThemeExplorer/components.js.map +1 -1
- package/build/esm/ThemeExplorer/makeColorScheme.d.ts +32 -4
- package/build/esm/ThemeExplorer/makeColorScheme.js +41 -8
- package/build/esm/ThemeExplorer/makeColorScheme.js.map +1 -1
- package/build/tsconfig-build.tsbuildinfo +1 -1
- package/package.json +2 -2
- package/src/Select/CustomContainerExample.tsx +59 -0
- package/src/Select/Select.story.tsx +22 -1
- package/src/Select/Select.tsx +6 -2
- package/src/Switch/Switch.story.tsx +1 -1
- package/src/Switch/Switch.tsx +8 -2
- package/src/TextField/FilledContainer.tsx +6 -5
- package/src/ThemeExplorer/ThemeBuilder.tsx +16 -5
- package/src/ThemeExplorer/ThemeColors.tsx +39 -15
- package/src/ThemeExplorer/components.tsx +12 -20
- package/src/ThemeExplorer/makeColorScheme.tsx +39 -6
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ThemeBuilder.js","names":["useState","useMemo","useEffect","CorePalette","argbFromHex","hexFromArgb","toColor","THEME_OVERRIDE_STORAGE_KEY","injectThemeOverride","transformTheme","loadGoogleFont","rem","remToPx","Box","TonalColors","ThemeColors","makeColorScheme","Text","useLocalStorageCachedState","useDeferredColor","FontAutoComplete","parseMainFont","BorderSlider","ColorSchemePicker","DefaultHighlighter","props","children","ThemeBuilder","mounted","setMounted","ThemeBuilderImpl","theme","baseTheme","CodeHighlightingComponent","fonts","plain","plainFont","setPlainFont","brand","brandFont","setBrandFont","parseInt","radii","radiusExtraSmall","setRadiusExtraSmall","radiusSmall","setRadiusSmall","radiusMedium","setRadiusMedium","radiusLarge","setRadiusLarge","radiusExtraLarge","setRadiusExtraLarge","colors","primary","primaryColor","setPrimaryColor","of","hex","a1","a2","a3","error","n1","n2","secondaryColor","secondaryColorTonal","setSecondaryColor","tertiaryColor","tertiaryColorTonal","setTertiaryColor","neutralColor","neutralColorTonal","setNeutralColor","scheme","secondary","tertiary","neutral","neutralVariant","newTheme","small","medium","large","large_end","large_top","colorModes","localStorage","setItem","JSON","stringify","gap","flexWrap","v","f","family","weights","c","tone","modes","dark"],"sources":["../../../src/ThemeExplorer/ThemeBuilder.tsx"],"sourcesContent":["import type { ComponentType } from 'react';\nimport { useState, useMemo, useEffect } from 'react';\nimport {\n CorePalette,\n argbFromHex,\n hexFromArgb,\n} from '@material/material-color-utilities';\nimport type { Color } from '@basic-ui/color-picker';\nimport { toColor } from '@basic-ui/color-picker';\nimport {\n THEME_OVERRIDE_STORAGE_KEY,\n injectThemeOverride,\n transformTheme,\n loadGoogleFont,\n} from '@basic-ui/dynamic-theme';\nimport { rem } from 'polished';\nimport remToPx from 'polished/lib/helpers/remToPx';\n\nimport { Box } from '../Box';\nimport { TonalColors } from './components';\nimport { ThemeColors } from './ThemeColors';\nimport { makeColorScheme } from './makeColorScheme';\nimport { Text } from '../Text';\nimport { useLocalStorageCachedState } from './useLocalStorageCachedState';\nimport { useDeferredColor } from './useDeferredColor';\nimport { FontAutoComplete, parseMainFont } from './FontAutoComplete';\nimport type { Theme } from '../theme/theme';\nimport { BorderSlider } from './BorderSlider';\nimport { ColorSchemePicker } from './ColorSchemePicker';\n\nexport interface ThemeBuilderProps {\n CodeHighlightingComponent?: ComponentType<{\n children: string;\n className: string;\n showButtons?: boolean;\n }>;\n baseTheme: Theme;\n}\n\nfunction DefaultHighlighter(props: { children: string }) {\n return (\n <Box as=\"pre\" fontFamily=\"monospace\" fontSize=\"12px\">\n {props.children}\n </Box>\n );\n}\n\nexport const ThemeBuilder = (props: ThemeBuilderProps) => {\n const [mounted, setMounted] = useState(false);\n useEffect(() => {\n setMounted(true);\n }, []);\n if (!mounted) return null;\n return <ThemeBuilderImpl {...props} />;\n};\n\nconst ThemeBuilderImpl = (props: ThemeBuilderProps) => {\n const { baseTheme: theme, CodeHighlightingComponent = DefaultHighlighter } =\n props;\n const [plainFont, setPlainFont] = useLocalStorageCachedState(\n parseMainFont(theme.fonts.plain),\n 'fontFamily.plain'\n );\n const [brandFont, setBrandFont] = useLocalStorageCachedState(\n parseMainFont(theme.fonts.brand),\n 'fontFamily.brand'\n );\n\n const [radiusExtraSmall, setRadiusExtraSmall] =\n useLocalStorageCachedState<number>(\n parseInt(remToPx(theme.radii['extra-small'])),\n 'radii.extra-small'\n );\n\n const [radiusSmall, setRadiusSmall] = useLocalStorageCachedState<number>(\n parseInt(remToPx(theme.radii['small'])),\n 'radii.small'\n );\n\n const [radiusMedium, setRadiusMedium] = useLocalStorageCachedState<number>(\n parseInt(remToPx(theme.radii['medium'])),\n 'radii.medium'\n );\n\n const [radiusLarge, setRadiusLarge] = useLocalStorageCachedState<number>(\n parseInt(remToPx(theme.radii['large'])),\n 'radii.large'\n );\n\n const [radiusExtraLarge, setRadiusExtraLarge] =\n useLocalStorageCachedState<number>(\n parseInt(remToPx(theme.radii['extra-large'])),\n 'radii.extra-large'\n );\n\n const [primaryColor, setPrimaryColor] = useLocalStorageCachedState<Color>(\n toColor('hex', theme.colors.primary),\n 'primary'\n );\n\n const { a1, a2, a3, error, n1, n2 } = useMemo(\n () => CorePalette.of(argbFromHex(primaryColor.hex)),\n [primaryColor.hex]\n );\n\n const [secondaryColor, secondaryColorTonal, setSecondaryColor] =\n useDeferredColor('secondary', a2);\n const [tertiaryColor, tertiaryColorTonal, setTertiaryColor] =\n useDeferredColor('tertiary', a3);\n const [neutralColor, neutralColorTonal, setNeutralColor] = useDeferredColor(\n 'neutral',\n n1\n );\n\n const scheme = useMemo(\n () =>\n makeColorScheme({\n primary: a1,\n secondary: secondaryColorTonal,\n tertiary: tertiaryColorTonal,\n error: error,\n neutral: neutralColorTonal,\n neutralVariant: n2,\n }),\n [a1, secondaryColorTonal, tertiaryColorTonal, error, neutralColorTonal, n2]\n );\n\n const newTheme = useMemo(\n () => ({\n colors: scheme,\n fonts: { plain: `\"${plainFont}\"`, brand: `\"${brandFont}\"` },\n radii: {\n 'extra-small': rem(radiusExtraSmall),\n 'extra-small_top': `${rem(radiusExtraSmall)} ${rem(\n radiusExtraSmall\n )} 0 0`,\n small: rem(radiusSmall),\n medium: rem(radiusMedium),\n large: rem(radiusLarge),\n large_end: `0 ${rem(radiusLarge)} ${rem(radiusLarge)} 0`,\n large_top: `${rem(radiusLarge)} ${rem(radiusLarge)} 0 0`,\n 'extra-large': rem(radiusExtraLarge),\n 'extra-large_top': `${rem(radiusExtraLarge)} ${rem(\n radiusExtraLarge\n )} 0 0`,\n },\n }),\n [\n scheme,\n plainFont,\n brandFont,\n radiusExtraSmall,\n radiusSmall,\n radiusMedium,\n radiusLarge,\n radiusExtraLarge,\n ]\n );\n\n const colorModes = useMemo(\n () => transformTheme(newTheme, ['fonts', 'radii']).colorModes,\n [newTheme]\n );\n\n useEffect(() => {\n localStorage.setItem(\n THEME_OVERRIDE_STORAGE_KEY,\n JSON.stringify({ colorModes })\n );\n injectThemeOverride({ colorModes });\n }, [colorModes]);\n\n return (\n <>\n {/* Shape */}\n <Text variant=\"headline-small\">Shape</Text>\n <Box display=\"flex\" my={3} sx={{ gap: 3, flexWrap: 'wrap' }}>\n <BorderSlider\n label=\"Extra small\"\n defaultValue={radiusExtraSmall}\n onChange={(v) => setRadiusExtraSmall(v)}\n onReset={() => {\n setRadiusExtraSmall(parseInt(remToPx(theme.radii['extra-small'])));\n }}\n resetDisabled={rem(radiusExtraSmall) === theme.radii['extra-small']}\n />\n <BorderSlider\n label=\"Small\"\n defaultValue={radiusSmall}\n onChange={(v) => setRadiusSmall(v)}\n onReset={() => {\n setRadiusSmall(parseInt(remToPx(theme.radii['small'])));\n }}\n resetDisabled={rem(radiusSmall) === theme.radii.small}\n />\n <BorderSlider\n label=\"Medium\"\n defaultValue={radiusMedium}\n onChange={(v) => setRadiusMedium(v)}\n onReset={() => {\n setRadiusMedium(parseInt(remToPx(theme.radii['medium'])));\n }}\n resetDisabled={rem(radiusMedium) === theme.radii['medium']}\n />\n <BorderSlider\n label=\"Large\"\n defaultValue={radiusLarge}\n onChange={(v) => setRadiusLarge(v)}\n onReset={() => {\n setRadiusLarge(parseInt(remToPx(theme.radii['large'])));\n }}\n resetDisabled={rem(radiusLarge) === theme.radii['large']}\n />\n <BorderSlider\n label=\"Extra large\"\n defaultValue={radiusExtraLarge}\n onChange={(v) => setRadiusExtraLarge(v)}\n onReset={() => {\n setRadiusExtraLarge(parseInt(remToPx(theme.radii['extra-large'])));\n }}\n resetDisabled={rem(radiusExtraLarge) === theme.radii['extra-large']}\n />\n </Box>\n {/* Font pickers */}\n <Text variant=\"headline-small\">Typography</Text>\n <Box display=\"flex\" my={3} sx={{ gap: 3, flexWrap: 'wrap' }}>\n <FontAutoComplete\n label=\"Brand\"\n initialValue={brandFont}\n onSelect={(f) => {\n if (f) {\n setBrandFont(f);\n loadGoogleFont([\n { family: f, weights: [300, 400, 500, 600, 700] },\n ]);\n }\n }}\n onReset={() => {\n setBrandFont(parseMainFont(theme.fonts.brand));\n }}\n resetDisabled={brandFont === parseMainFont(theme.fonts.brand)}\n />\n <FontAutoComplete\n label=\"Plain\"\n initialValue={plainFont}\n onSelect={(f) => {\n if (f) {\n setPlainFont(f);\n loadGoogleFont([\n { family: f, weights: [300, 400, 500, 600, 700] },\n ]);\n }\n }}\n onReset={() => {\n setPlainFont(parseMainFont(theme.fonts.plain));\n }}\n resetDisabled={plainFont === parseMainFont(theme.fonts.plain)}\n />\n </Box>\n {/* Color pickers */}\n <Text variant=\"headline-small\">Color schemes</Text>\n <Box display=\"flex\" my={3} sx={{ gap: 3, flexWrap: 'wrap' }}>\n <ColorSchemePicker\n label=\"Primary color\"\n initialValue={primaryColor}\n onChange={(c) => setPrimaryColor(c)}\n onReset={() => setPrimaryColor(toColor('hex', theme.colors.primary))}\n resetDisabled={\n primaryColor.hex === toColor('hex', theme.colors.primary).hex\n }\n />\n <ColorSchemePicker\n label=\"Secondary color\"\n initialValue={\n secondaryColor ||\n toColor('hex', hexFromArgb(secondaryColorTonal.tone(40)))\n }\n onChange={(c) => setSecondaryColor(c)}\n onReset={() => setSecondaryColor(null)}\n resetDisabled={secondaryColor === null}\n />\n <ColorSchemePicker\n label=\"Tertiary color\"\n initialValue={\n tertiaryColor ||\n toColor('hex', hexFromArgb(tertiaryColorTonal.tone(40)))\n }\n onChange={(c) => setTertiaryColor(c)}\n onReset={() => setTertiaryColor(null)}\n resetDisabled={tertiaryColor === null}\n />\n <ColorSchemePicker\n label=\"Neutral color\"\n initialValue={\n neutralColor ||\n toColor('hex', hexFromArgb(neutralColorTonal.tone(40)))\n }\n onChange={(c) => setNeutralColor(c)}\n onReset={() => setNeutralColor(null)}\n resetDisabled={neutralColor === null}\n />\n </Box>\n <Box width=\"100%\">\n <Box display=\"flex\" flexDirection=\"column\" sx={{ gap: 4 }}>\n <Box flex=\"1\">\n <Text variant=\"title-medium\" as=\"h1\" pb={'0.3em'} pt={3}>\n Light theme\n </Text>\n <ThemeColors scheme={scheme} />\n </Box>\n <Box flex=\"1\">\n <Text variant=\"title-medium\" as=\"h1\" pb={'0.3em'} pt={3}>\n Dark theme\n </Text>\n <ThemeColors scheme={scheme.modes.dark} />\n </Box>\n </Box>\n <Box my={4} display=\"flex\" sx={{ gap: 3 }} flexDirection=\"column\">\n <Text variant=\"title-medium\" as=\"h1\" pb={'0.3em'} pt={3}>\n Palettes\n </Text>\n <TonalColors palette={a1} />\n <TonalColors palette={secondaryColorTonal} />\n <TonalColors palette={tertiaryColorTonal} />\n <TonalColors palette={error} />\n <TonalColors palette={neutralColorTonal} />\n <TonalColors palette={n2} />\n </Box>\n </Box>\n {/* Color pickers */}\n <Text variant=\"headline-small\">Theme</Text>\n <CodeHighlightingComponent className={`language-json`}>\n {JSON.stringify(newTheme, null, 2)}\n </CodeHighlightingComponent>\n </>\n );\n};\n"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"ThemeBuilder.js","names":["useState","useMemo","useEffect","argbFromHex","hexFromArgb","TonalPalette","HCT","toColor","THEME_OVERRIDE_STORAGE_KEY","injectThemeOverride","transformTheme","loadGoogleFont","rem","remToPx","Box","TonalColors","ThemeColors","makeColorScheme","Text","useLocalStorageCachedState","useDeferredColor","FontAutoComplete","parseMainFont","BorderSlider","ColorSchemePicker","DefaultHighlighter","props","children","ThemeBuilder","mounted","setMounted","ThemeBuilderImpl","theme","baseTheme","CodeHighlightingComponent","fonts","plain","plainFont","setPlainFont","brand","brandFont","setBrandFont","parseInt","radii","radiusExtraSmall","setRadiusExtraSmall","radiusSmall","setRadiusSmall","radiusMedium","setRadiusMedium","radiusLarge","setRadiusLarge","radiusExtraLarge","setRadiusExtraLarge","colors","primary","primaryColor","setPrimaryColor","argb","hex","hct","fromInt","hue","a1","fromHueAndChroma","Math","max","chroma","a2","a3","n1","n2","error","secondaryColor","secondaryColorTonal","setSecondaryColor","tertiaryColor","tertiaryColorTonal","setTertiaryColor","neutralColor","neutralColorTonal","setNeutralColor","scheme","secondary","tertiary","neutral","neutralVariant","newTheme","small","medium","large","large_end","large_top","colorModes","localStorage","setItem","JSON","stringify","gap","flexWrap","v","f","family","weights","c","tone","modes","dark"],"sources":["../../../src/ThemeExplorer/ThemeBuilder.tsx"],"sourcesContent":["import type { ComponentType } from 'react';\nimport { useState, useMemo, useEffect } from 'react';\nimport {\n argbFromHex,\n hexFromArgb,\n TonalPalette,\n HCT,\n} from '@material/material-color-utilities';\nimport type { Color } from '@basic-ui/color-picker';\nimport { toColor } from '@basic-ui/color-picker';\nimport {\n THEME_OVERRIDE_STORAGE_KEY,\n injectThemeOverride,\n transformTheme,\n loadGoogleFont,\n} from '@basic-ui/dynamic-theme';\nimport { rem } from 'polished';\nimport remToPx from 'polished/lib/helpers/remToPx';\n\nimport { Box } from '../Box';\nimport { TonalColors } from './components';\nimport { ThemeColors } from './ThemeColors';\nimport { makeColorScheme } from './makeColorScheme';\nimport { Text } from '../Text';\nimport { useLocalStorageCachedState } from './useLocalStorageCachedState';\nimport { useDeferredColor } from './useDeferredColor';\nimport { FontAutoComplete, parseMainFont } from './FontAutoComplete';\nimport type { Theme } from '../theme/theme';\nimport { BorderSlider } from './BorderSlider';\nimport { ColorSchemePicker } from './ColorSchemePicker';\n\nexport interface ThemeBuilderProps {\n CodeHighlightingComponent?: ComponentType<{\n children: string;\n className: string;\n showButtons?: boolean;\n }>;\n baseTheme: Theme;\n}\n\nfunction DefaultHighlighter(props: { children: string }) {\n return (\n <Box as=\"pre\" fontFamily=\"monospace\" fontSize=\"12px\">\n {props.children}\n </Box>\n );\n}\n\nexport const ThemeBuilder = (props: ThemeBuilderProps) => {\n const [mounted, setMounted] = useState(false);\n useEffect(() => {\n setMounted(true);\n }, []);\n if (!mounted) return null;\n return <ThemeBuilderImpl {...props} />;\n};\n\nconst ThemeBuilderImpl = (props: ThemeBuilderProps) => {\n const { baseTheme: theme, CodeHighlightingComponent = DefaultHighlighter } =\n props;\n const [plainFont, setPlainFont] = useLocalStorageCachedState(\n parseMainFont(theme.fonts.plain),\n 'fontFamily.plain'\n );\n const [brandFont, setBrandFont] = useLocalStorageCachedState(\n parseMainFont(theme.fonts.brand),\n 'fontFamily.brand'\n );\n\n const [radiusExtraSmall, setRadiusExtraSmall] =\n useLocalStorageCachedState<number>(\n parseInt(remToPx(theme.radii['extra-small'])),\n 'radii.extra-small'\n );\n\n const [radiusSmall, setRadiusSmall] = useLocalStorageCachedState<number>(\n parseInt(remToPx(theme.radii['small'])),\n 'radii.small'\n );\n\n const [radiusMedium, setRadiusMedium] = useLocalStorageCachedState<number>(\n parseInt(remToPx(theme.radii['medium'])),\n 'radii.medium'\n );\n\n const [radiusLarge, setRadiusLarge] = useLocalStorageCachedState<number>(\n parseInt(remToPx(theme.radii['large'])),\n 'radii.large'\n );\n\n const [radiusExtraLarge, setRadiusExtraLarge] =\n useLocalStorageCachedState<number>(\n parseInt(remToPx(theme.radii['extra-large'])),\n 'radii.extra-large'\n );\n\n const [primaryColor, setPrimaryColor] = useLocalStorageCachedState<Color>(\n toColor('hex', theme.colors.primary),\n 'primary'\n );\n\n const { a1, a2, a3, error, n1, n2 } = useMemo(() => {\n /* This is from CorePalette.of(...) */\n const argb = argbFromHex(primaryColor.hex);\n const hct = HCT.fromInt(argb);\n const hue = hct.hue;\n return {\n a1: TonalPalette.fromHueAndChroma(hue, Math.max(48, hct.chroma)),\n a2: TonalPalette.fromHueAndChroma(hue, 16),\n a3: TonalPalette.fromHueAndChroma(hue + 60, 24),\n n1: TonalPalette.fromHueAndChroma(hue, 6),\n n2: TonalPalette.fromHueAndChroma(hue, 8),\n error: TonalPalette.fromHueAndChroma(25, 84),\n };\n }, [primaryColor.hex]);\n\n const [secondaryColor, secondaryColorTonal, setSecondaryColor] =\n useDeferredColor('secondary', a2);\n const [tertiaryColor, tertiaryColorTonal, setTertiaryColor] =\n useDeferredColor('tertiary', a3);\n const [neutralColor, neutralColorTonal, setNeutralColor] = useDeferredColor(\n 'neutral',\n n1\n );\n\n const scheme = useMemo(\n () =>\n makeColorScheme({\n primary: a1,\n secondary: secondaryColorTonal,\n tertiary: tertiaryColorTonal,\n error: error,\n neutral: neutralColorTonal,\n neutralVariant: n2,\n }),\n [a1, secondaryColorTonal, tertiaryColorTonal, error, neutralColorTonal, n2]\n );\n\n const newTheme = useMemo(\n () => ({\n colors: scheme,\n fonts: { plain: `\"${plainFont}\"`, brand: `\"${brandFont}\"` },\n radii: {\n 'extra-small': rem(radiusExtraSmall),\n 'extra-small_top': `${rem(radiusExtraSmall)} ${rem(\n radiusExtraSmall\n )} 0 0`,\n small: rem(radiusSmall),\n medium: rem(radiusMedium),\n large: rem(radiusLarge),\n large_end: `0 ${rem(radiusLarge)} ${rem(radiusLarge)} 0`,\n large_top: `${rem(radiusLarge)} ${rem(radiusLarge)} 0 0`,\n 'extra-large': rem(radiusExtraLarge),\n 'extra-large_top': `${rem(radiusExtraLarge)} ${rem(\n radiusExtraLarge\n )} 0 0`,\n },\n }),\n [\n scheme,\n plainFont,\n brandFont,\n radiusExtraSmall,\n radiusSmall,\n radiusMedium,\n radiusLarge,\n radiusExtraLarge,\n ]\n );\n\n const colorModes = useMemo(\n () => transformTheme(newTheme, ['fonts', 'radii']).colorModes,\n [newTheme]\n );\n\n useEffect(() => {\n localStorage.setItem(\n THEME_OVERRIDE_STORAGE_KEY,\n JSON.stringify({ colorModes })\n );\n injectThemeOverride({ colorModes });\n }, [colorModes]);\n\n return (\n <>\n {/* Shape */}\n <Text variant=\"headline-small\">Shape</Text>\n <Box display=\"flex\" my={3} sx={{ gap: 3, flexWrap: 'wrap' }}>\n <BorderSlider\n label=\"Extra small\"\n defaultValue={radiusExtraSmall}\n onChange={(v) => setRadiusExtraSmall(v)}\n onReset={() => {\n setRadiusExtraSmall(parseInt(remToPx(theme.radii['extra-small'])));\n }}\n resetDisabled={rem(radiusExtraSmall) === theme.radii['extra-small']}\n />\n <BorderSlider\n label=\"Small\"\n defaultValue={radiusSmall}\n onChange={(v) => setRadiusSmall(v)}\n onReset={() => {\n setRadiusSmall(parseInt(remToPx(theme.radii['small'])));\n }}\n resetDisabled={rem(radiusSmall) === theme.radii.small}\n />\n <BorderSlider\n label=\"Medium\"\n defaultValue={radiusMedium}\n onChange={(v) => setRadiusMedium(v)}\n onReset={() => {\n setRadiusMedium(parseInt(remToPx(theme.radii['medium'])));\n }}\n resetDisabled={rem(radiusMedium) === theme.radii['medium']}\n />\n <BorderSlider\n label=\"Large\"\n defaultValue={radiusLarge}\n onChange={(v) => setRadiusLarge(v)}\n onReset={() => {\n setRadiusLarge(parseInt(remToPx(theme.radii['large'])));\n }}\n resetDisabled={rem(radiusLarge) === theme.radii['large']}\n />\n <BorderSlider\n label=\"Extra large\"\n defaultValue={radiusExtraLarge}\n onChange={(v) => setRadiusExtraLarge(v)}\n onReset={() => {\n setRadiusExtraLarge(parseInt(remToPx(theme.radii['extra-large'])));\n }}\n resetDisabled={rem(radiusExtraLarge) === theme.radii['extra-large']}\n />\n </Box>\n {/* Font pickers */}\n <Text variant=\"headline-small\">Typography</Text>\n <Box display=\"flex\" my={3} sx={{ gap: 3, flexWrap: 'wrap' }}>\n <FontAutoComplete\n label=\"Brand\"\n initialValue={brandFont}\n onSelect={(f) => {\n if (f) {\n setBrandFont(f);\n loadGoogleFont([\n { family: f, weights: [300, 400, 500, 600, 700] },\n ]);\n }\n }}\n onReset={() => {\n setBrandFont(parseMainFont(theme.fonts.brand));\n }}\n resetDisabled={brandFont === parseMainFont(theme.fonts.brand)}\n />\n <FontAutoComplete\n label=\"Plain\"\n initialValue={plainFont}\n onSelect={(f) => {\n if (f) {\n setPlainFont(f);\n loadGoogleFont([\n { family: f, weights: [300, 400, 500, 600, 700] },\n ]);\n }\n }}\n onReset={() => {\n setPlainFont(parseMainFont(theme.fonts.plain));\n }}\n resetDisabled={plainFont === parseMainFont(theme.fonts.plain)}\n />\n </Box>\n {/* Color pickers */}\n <Text variant=\"headline-small\">Color schemes</Text>\n <Box display=\"flex\" my={3} sx={{ gap: 3, flexWrap: 'wrap' }}>\n <ColorSchemePicker\n label=\"Primary color\"\n initialValue={primaryColor}\n onChange={(c) => setPrimaryColor(c)}\n onReset={() => setPrimaryColor(toColor('hex', theme.colors.primary))}\n resetDisabled={\n primaryColor.hex === toColor('hex', theme.colors.primary).hex\n }\n />\n <ColorSchemePicker\n label=\"Secondary color\"\n initialValue={\n secondaryColor ||\n toColor('hex', hexFromArgb(secondaryColorTonal.tone(40)))\n }\n onChange={(c) => setSecondaryColor(c)}\n onReset={() => setSecondaryColor(null)}\n resetDisabled={secondaryColor === null}\n />\n <ColorSchemePicker\n label=\"Tertiary color\"\n initialValue={\n tertiaryColor ||\n toColor('hex', hexFromArgb(tertiaryColorTonal.tone(40)))\n }\n onChange={(c) => setTertiaryColor(c)}\n onReset={() => setTertiaryColor(null)}\n resetDisabled={tertiaryColor === null}\n />\n <ColorSchemePicker\n label=\"Neutral color\"\n initialValue={\n neutralColor ||\n toColor('hex', hexFromArgb(neutralColorTonal.tone(40)))\n }\n onChange={(c) => setNeutralColor(c)}\n onReset={() => setNeutralColor(null)}\n resetDisabled={neutralColor === null}\n />\n </Box>\n <Box width=\"100%\">\n <Box display=\"flex\" flexDirection=\"column\" sx={{ gap: 4 }}>\n <Box flex=\"1\">\n <Text variant=\"title-medium\" as=\"h1\" pb={'0.3em'} pt={3}>\n Light theme\n </Text>\n <ThemeColors scheme={scheme} />\n </Box>\n <Box flex=\"1\">\n <Text variant=\"title-medium\" as=\"h1\" pb={'0.3em'} pt={3}>\n Dark theme\n </Text>\n <ThemeColors scheme={scheme.modes.dark} />\n </Box>\n </Box>\n <Box my={4} display=\"flex\" sx={{ gap: 3 }} flexDirection=\"column\">\n <Text variant=\"title-medium\" as=\"h1\" pb={'0.3em'} pt={3}>\n Palettes\n </Text>\n <TonalColors palette={a1} />\n <TonalColors palette={secondaryColorTonal} />\n <TonalColors palette={tertiaryColorTonal} />\n <TonalColors palette={error} />\n <TonalColors palette={neutralColorTonal} />\n <TonalColors palette={n2} />\n </Box>\n </Box>\n {/* Color pickers */}\n <Text variant=\"headline-small\">Theme</Text>\n <CodeHighlightingComponent className={`language-json`}>\n {JSON.stringify(newTheme, null, 2)}\n </CodeHighlightingComponent>\n </>\n );\n};\n"],"mappings":"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"}
|
|
@@ -44,27 +44,45 @@ export var ThemeColors = /*#__PURE__*/memo(function (_ref) {
|
|
|
44
44
|
colors: makeColorArrayForToken('error')
|
|
45
45
|
}), /*#__PURE__*/_jsx(ColorRow, {
|
|
46
46
|
colors: [{
|
|
47
|
-
token: "
|
|
48
|
-
bg: scheme
|
|
49
|
-
color: scheme.on
|
|
50
|
-
}, {
|
|
51
|
-
token: "on.background",
|
|
52
|
-
bg: scheme.on.background,
|
|
53
|
-
color: scheme.background
|
|
47
|
+
token: "surface-dim",
|
|
48
|
+
bg: scheme['surface-dim'],
|
|
49
|
+
color: scheme.on['surface']
|
|
54
50
|
}, {
|
|
55
51
|
token: "surface",
|
|
56
|
-
bg: scheme
|
|
57
|
-
color: scheme.on
|
|
52
|
+
bg: scheme['surface'],
|
|
53
|
+
color: scheme.on['surface']
|
|
58
54
|
}, {
|
|
59
|
-
token: "
|
|
60
|
-
bg: scheme
|
|
61
|
-
color: scheme.surface
|
|
55
|
+
token: "surface-bright",
|
|
56
|
+
bg: scheme['surface-bright'],
|
|
57
|
+
color: scheme.on['surface']
|
|
58
|
+
}]
|
|
59
|
+
}), /*#__PURE__*/_jsx(ColorRow, {
|
|
60
|
+
colors: [{
|
|
61
|
+
token: "surface-container-lowest",
|
|
62
|
+
bg: scheme['surface-container-lowest'],
|
|
63
|
+
color: scheme.on['surface']
|
|
64
|
+
}, {
|
|
65
|
+
token: "surface-container-low",
|
|
66
|
+
bg: scheme['surface-container-low'],
|
|
67
|
+
color: scheme.on['surface']
|
|
68
|
+
}, {
|
|
69
|
+
token: "surface-container",
|
|
70
|
+
bg: scheme['surface-container'],
|
|
71
|
+
color: scheme.on['surface']
|
|
72
|
+
}, {
|
|
73
|
+
token: "surface-container-high",
|
|
74
|
+
bg: scheme['surface-container-high'],
|
|
75
|
+
color: scheme.on['surface']
|
|
76
|
+
}, {
|
|
77
|
+
token: "surface-container-highest",
|
|
78
|
+
bg: scheme['surface-container-highest'],
|
|
79
|
+
color: scheme.on['surface']
|
|
62
80
|
}]
|
|
63
81
|
}), /*#__PURE__*/_jsx(ColorRow, {
|
|
64
82
|
colors: [{
|
|
65
|
-
token: "surface
|
|
66
|
-
bg: scheme['surface
|
|
67
|
-
color: scheme
|
|
83
|
+
token: "on.surface",
|
|
84
|
+
bg: scheme.on['surface'],
|
|
85
|
+
color: scheme['surface']
|
|
68
86
|
}, {
|
|
69
87
|
token: "on.surface-variant",
|
|
70
88
|
bg: scheme.on['surface-variant'],
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ThemeColors.js","names":["memo","Box","ColorRow","ThemeColors","scheme","makeColorArrayForToken","token","bg","color","on","gap","
|
|
1
|
+
{"version":3,"file":"ThemeColors.js","names":["memo","Box","ColorRow","ThemeColors","scheme","makeColorArrayForToken","token","bg","color","on","gap","outline"],"sources":["../../../src/ThemeExplorer/ThemeColors.tsx"],"sourcesContent":["import { memo } from 'react';\n\nimport { Box } from '..';\nimport { ColorRow } from './components';\nimport type { makeColorScheme } from './makeColorScheme';\n\nexport const ThemeColors = memo(\n ({\n scheme,\n }: {\n scheme: Omit<ReturnType<typeof makeColorScheme>, 'modes'>;\n }) => {\n function makeColorArrayForToken(token: string) {\n return [\n {\n token: `${token}`,\n bg: scheme[token],\n color: scheme.on[token],\n },\n {\n token: `on.${token}`,\n bg: scheme.on[token],\n color: scheme[token],\n },\n {\n token: `${token}-container`,\n bg: scheme[`${token}-container`],\n color: scheme.on[`${token}-container`],\n },\n {\n token: `on.${token}-container`,\n bg: scheme.on[`${token}-container`],\n color: scheme[`${token}-container`],\n },\n ];\n }\n return (\n <Box width=\"600\" display=\"flex\" flexDirection=\"column\" sx={{ gap: 2 }}>\n <ColorRow colors={makeColorArrayForToken('primary')} height={118} />\n <ColorRow colors={makeColorArrayForToken('secondary')} />\n <ColorRow colors={makeColorArrayForToken('tertiary')} />\n <ColorRow colors={makeColorArrayForToken('error')} />\n <ColorRow\n colors={[\n {\n token: `surface-dim`,\n bg: scheme['surface-dim'],\n color: scheme.on['surface'],\n },\n {\n token: `surface`,\n bg: scheme['surface'],\n color: scheme.on['surface'],\n },\n {\n token: `surface-bright`,\n bg: scheme['surface-bright'],\n color: scheme.on['surface'],\n },\n ]}\n />\n <ColorRow\n colors={[\n {\n token: `surface-container-lowest`,\n bg: scheme['surface-container-lowest'],\n color: scheme.on['surface'],\n },\n {\n token: `surface-container-low`,\n bg: scheme['surface-container-low'],\n color: scheme.on['surface'],\n },\n {\n token: `surface-container`,\n bg: scheme['surface-container'],\n color: scheme.on['surface'],\n },\n {\n token: `surface-container-high`,\n bg: scheme['surface-container-high'],\n color: scheme.on['surface'],\n },\n {\n token: `surface-container-highest`,\n bg: scheme['surface-container-highest'],\n color: scheme.on['surface'],\n },\n ]}\n />\n <ColorRow\n colors={[\n {\n token: `on.surface`,\n bg: scheme.on['surface'],\n color: scheme['surface'],\n },\n {\n token: `on.surface-variant`,\n bg: scheme.on['surface-variant'],\n color: scheme['surface-variant'],\n },\n {\n token: `outline`,\n bg: scheme.outline,\n color: scheme.on.outline,\n },\n {\n token: `outline-variant`,\n bg: scheme['outline-variant'],\n color: scheme.on['outline-variant'],\n },\n ]}\n />\n </Box>\n );\n }\n);\n"],"mappings":"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"}
|
|
@@ -4,7 +4,7 @@ export declare const ColorItem: import("react").MemoExoticComponent<(props: {
|
|
|
4
4
|
token: string;
|
|
5
5
|
style: CSSProperties;
|
|
6
6
|
height?: number;
|
|
7
|
-
|
|
7
|
+
flex: number;
|
|
8
8
|
}) => JSX.Element>;
|
|
9
9
|
export declare const ColorRow: import("react").MemoExoticComponent<(props: {
|
|
10
10
|
colors: {
|
|
@@ -9,7 +9,7 @@ import { Fragment as _Fragment } from "react/jsx-runtime";
|
|
|
9
9
|
export var ColorItem = /*#__PURE__*/memo(function (props) {
|
|
10
10
|
var token = props.token,
|
|
11
11
|
style = props.style,
|
|
12
|
-
|
|
12
|
+
flex = props.flex,
|
|
13
13
|
_props$height = props.height,
|
|
14
14
|
height = _props$height === void 0 ? '100%' : _props$height;
|
|
15
15
|
|
|
@@ -44,7 +44,7 @@ export var ColorItem = /*#__PURE__*/memo(function (props) {
|
|
|
44
44
|
}),
|
|
45
45
|
children: /*#__PURE__*/_jsx(Text, {
|
|
46
46
|
as: "div",
|
|
47
|
-
variant: "body-
|
|
47
|
+
variant: "body-medium",
|
|
48
48
|
style: style,
|
|
49
49
|
ref: function ref(_ref) {
|
|
50
50
|
if (_ref) {
|
|
@@ -52,12 +52,10 @@ export var ColorItem = /*#__PURE__*/memo(function (props) {
|
|
|
52
52
|
}
|
|
53
53
|
},
|
|
54
54
|
sx: {
|
|
55
|
-
|
|
55
|
+
flex: flex,
|
|
56
56
|
height: height,
|
|
57
|
-
px: '
|
|
58
|
-
py: '
|
|
59
|
-
fontSize: '11px',
|
|
60
|
-
lineHeight: '11px',
|
|
57
|
+
px: '12px',
|
|
58
|
+
py: '12px',
|
|
61
59
|
textOverflow: 'ellipsis',
|
|
62
60
|
overflow: 'hidden'
|
|
63
61
|
},
|
|
@@ -74,23 +72,23 @@ export var ColorRow = /*#__PURE__*/memo(function (props) {
|
|
|
74
72
|
display: "flex",
|
|
75
73
|
sx: {
|
|
76
74
|
':first-of-type': {
|
|
77
|
-
borderTopLeftRadius: '
|
|
78
|
-
borderTopRightRadius: '
|
|
75
|
+
borderTopLeftRadius: 'large',
|
|
76
|
+
borderTopRightRadius: 'large',
|
|
79
77
|
overflow: 'hidden'
|
|
80
78
|
},
|
|
81
79
|
':last-of-type': {
|
|
82
|
-
borderBottomLeftRadius: '
|
|
83
|
-
borderBottomRightRadius: '
|
|
80
|
+
borderBottomLeftRadius: 'large',
|
|
81
|
+
borderBottomRightRadius: 'large',
|
|
84
82
|
overflow: 'hidden'
|
|
85
83
|
},
|
|
86
84
|
height: height
|
|
87
85
|
},
|
|
88
|
-
children: colors.map(function (_ref2
|
|
86
|
+
children: colors.map(function (_ref2) {
|
|
89
87
|
var token = _ref2.token,
|
|
90
88
|
bg = _ref2.bg,
|
|
91
89
|
color = _ref2.color;
|
|
92
90
|
return /*#__PURE__*/_jsx(ColorItem, {
|
|
93
|
-
|
|
91
|
+
flex: 1,
|
|
94
92
|
token: token,
|
|
95
93
|
style: {
|
|
96
94
|
backgroundColor: bg,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"components.js","names":["memo","useState","rgb","parseToHsl","parseToRgb","hexFromArgb","TonalPalette","Box","Tooltip","Text","ColorItem","props","token","style","width","height","computedColor","setComputedColor","hslColor","hue","saturation","lightness","rgbColor","red","green","blue","Math","round","ref","window","getComputedStyle","backgroundColor","px","py","fontSize","lineHeight","textOverflow","overflow","ColorRow","colors","borderTopLeftRadius","borderTopRightRadius","borderBottomLeftRadius","borderBottomRightRadius","map","idx","bg","color","length","TonalColorItem","level","TonalColorsFromToken","position","left","top","colorInt","parseInt","slice","tonal","fromInt","TonalColors","luminanceLevels","palette","tone","makeColorArrayForToken"],"sources":["../../../src/ThemeExplorer/components.tsx"],"sourcesContent":["import type { CSSProperties } from 'react';\nimport { memo, useState } from 'react';\nimport { rgb, parseToHsl, parseToRgb } from 'polished';\nimport { hexFromArgb, TonalPalette } from '@material/material-color-utilities';\n\nimport { Box, Tooltip, Text } from '../';\n\nexport const ColorItem = memo(\n (props: {\n token: string;\n style: CSSProperties;\n height?: number;\n width: string;\n }) => {\n const { token, style, width, height = '100%' } = props;\n const [computedColor, setComputedColor] = useState<string>();\n const hslColor = computedColor\n ? parseToHsl(computedColor)\n : { hue: 0, saturation: 0, lightness: 0 };\n const rgbColor = computedColor\n ? parseToRgb(computedColor)\n : { red: 0, green: 0, blue: 0 };\n return (\n <Tooltip\n label={\n computedColor ? (\n <>\n <p>{token}</p>\n <p>{rgb(rgbColor)}</p>\n <p>\n rgb({rgbColor.red}, {rgbColor.green}, {rgbColor.blue})\n </p>\n <p>\n hsl({Math.round(hslColor.hue)},{' '}\n {Math.round(hslColor.saturation * 100)}%,{' '}\n {Math.round(hslColor.lightness * 100)}%)\n </p>\n </>\n ) : (\n <p>{token}</p>\n )\n }\n >\n <Text\n as=\"div\"\n variant=\"body-small\"\n style={style}\n ref={(ref: HTMLDivElement | null) => {\n if (ref) {\n setComputedColor(window.getComputedStyle(ref).backgroundColor);\n }\n }}\n sx={{\n width,\n height,\n px: '10px',\n py: '10px',\n fontSize: '11px',\n lineHeight: '11px',\n textOverflow: 'ellipsis',\n overflow: 'hidden',\n }}\n >\n {token}\n </Text>\n </Tooltip>\n );\n }\n);\n\nexport const ColorRow = memo(\n (props: {\n colors: { token: string; bg: string; color: string }[];\n height?: number;\n }) => {\n const { colors, height = 50 } = props;\n return (\n <Box\n width=\"100%\"\n display=\"flex\"\n sx={{\n ':first-of-type': {\n borderTopLeftRadius: 'extra-large',\n borderTopRightRadius: 'extra-large',\n overflow: 'hidden',\n },\n ':last-of-type': {\n borderBottomLeftRadius: 'extra-large',\n borderBottomRightRadius: 'extra-large',\n overflow: 'hidden',\n },\n height,\n }}\n >\n {colors.map(({ token, bg, color }, idx) => (\n <ColorItem\n width={\n colors.length % 2 === 1\n ? idx === colors.length - 1\n ? '50%'\n : '25%'\n : '33.33%'\n }\n key={token}\n token={token}\n style={{ backgroundColor: bg, color: color }}\n />\n ))}\n </Box>\n );\n }\n);\n\nexport const TonalColorItem = memo(\n (props: { color: string; level: number }) => {\n const { level, color } = props;\n const hslColor = parseToHsl(color);\n const rgbColor = parseToRgb(color);\n return (\n <Tooltip\n label={\n <>\n <p>Luminance: {level}</p>\n <p>{rgb(rgbColor)}</p>\n <p>\n rgb({rgbColor.red}, {rgbColor.green}, {rgbColor.blue})\n </p>\n <p>\n hsl({Math.round(hslColor.hue)},{' '}\n {Math.round(hslColor.saturation * 100)}%,{' '}\n {Math.round(hslColor.lightness * 100)}%)\n </p>\n </>\n }\n >\n <Text\n key={level}\n as=\"div\"\n variant=\"body-small\"\n flex={1}\n display=\"flex\"\n alignItems=\"center\"\n justifyContent=\"center\"\n style={{\n backgroundColor: color,\n color: level <= 50 ? '#fff' : '#000',\n }}\n >\n {level}\n </Text>\n </Tooltip>\n );\n }\n);\n\nexport const TonalColorsFromToken = memo((props: { token: string }) => {\n const [computedColor, setComputedColor] = useState<string>();\n if (!computedColor) {\n return (\n <Box\n ref={(ref: HTMLDivElement | null) => {\n if (ref) {\n setComputedColor(window.getComputedStyle(ref).backgroundColor);\n }\n }}\n bg={props.token}\n style={{ position: 'fixed', left: -5000, top: -5000 }}\n />\n );\n }\n const colorInt = parseInt(rgb(parseToRgb(computedColor)).slice(1), 16);\n const tonal = TonalPalette.fromInt(colorInt);\n\n return <TonalColors palette={tonal} />;\n});\n\nexport const TonalColors = memo((props: { palette: TonalPalette }) => {\n const luminanceLevels = [\n 0, 10, 20, 25, 30, 35, 40, 50, 60, 70, 80, 90, 95, 98, 99, 100,\n ];\n return (\n <Box display=\"flex\" height=\"72px\" width=\"100%\">\n {luminanceLevels.map((level) => (\n <TonalColorItem\n key={level}\n level={level}\n color={hexFromArgb(props.palette.tone(level))}\n />\n ))}\n </Box>\n );\n});\n\nexport function makeColorArrayForToken(\n token: string\n): { token: string; bg: string; color: string }[] {\n return [\n { token, bg: token, color: 'on.' + token },\n { token, bg: 'on.' + token, color: token },\n { token, bg: token + '-container', color: 'on.' + token + '-container' },\n { token, bg: 'on.' + token + '-container', color: token + '-container' },\n ];\n}\n"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"components.js","names":["memo","useState","rgb","parseToHsl","parseToRgb","hexFromArgb","TonalPalette","Box","Tooltip","Text","ColorItem","props","token","style","flex","height","computedColor","setComputedColor","hslColor","hue","saturation","lightness","rgbColor","red","green","blue","Math","round","ref","window","getComputedStyle","backgroundColor","px","py","textOverflow","overflow","ColorRow","colors","borderTopLeftRadius","borderTopRightRadius","borderBottomLeftRadius","borderBottomRightRadius","map","bg","color","TonalColorItem","level","TonalColorsFromToken","position","left","top","colorInt","parseInt","slice","tonal","fromInt","TonalColors","luminanceLevels","palette","tone","makeColorArrayForToken"],"sources":["../../../src/ThemeExplorer/components.tsx"],"sourcesContent":["import type { CSSProperties } from 'react';\nimport { memo, useState } from 'react';\nimport { rgb, parseToHsl, parseToRgb } from 'polished';\nimport { hexFromArgb, TonalPalette } from '@material/material-color-utilities';\n\nimport { Box, Tooltip, Text } from '../';\n\nexport const ColorItem = memo(\n (props: {\n token: string;\n style: CSSProperties;\n height?: number;\n flex: number;\n }) => {\n const { token, style, flex, height = '100%' } = props;\n const [computedColor, setComputedColor] = useState<string>();\n const hslColor = computedColor\n ? parseToHsl(computedColor)\n : { hue: 0, saturation: 0, lightness: 0 };\n const rgbColor = computedColor\n ? parseToRgb(computedColor)\n : { red: 0, green: 0, blue: 0 };\n return (\n <Tooltip\n label={\n computedColor ? (\n <>\n <p>{token}</p>\n <p>{rgb(rgbColor)}</p>\n <p>\n rgb({rgbColor.red}, {rgbColor.green}, {rgbColor.blue})\n </p>\n <p>\n hsl({Math.round(hslColor.hue)},{' '}\n {Math.round(hslColor.saturation * 100)}%,{' '}\n {Math.round(hslColor.lightness * 100)}%)\n </p>\n </>\n ) : (\n <p>{token}</p>\n )\n }\n >\n <Text\n as=\"div\"\n variant=\"body-medium\"\n style={style}\n ref={(ref: HTMLDivElement | null) => {\n if (ref) {\n setComputedColor(window.getComputedStyle(ref).backgroundColor);\n }\n }}\n sx={{\n flex,\n height,\n px: '12px',\n py: '12px',\n textOverflow: 'ellipsis',\n overflow: 'hidden',\n }}\n >\n {token}\n </Text>\n </Tooltip>\n );\n }\n);\n\nexport const ColorRow = memo(\n (props: {\n colors: { token: string; bg: string; color: string }[];\n height?: number;\n }) => {\n const { colors, height = 50 } = props;\n return (\n <Box\n width=\"100%\"\n display=\"flex\"\n sx={{\n ':first-of-type': {\n borderTopLeftRadius: 'large',\n borderTopRightRadius: 'large',\n overflow: 'hidden',\n },\n ':last-of-type': {\n borderBottomLeftRadius: 'large',\n borderBottomRightRadius: 'large',\n overflow: 'hidden',\n },\n height,\n }}\n >\n {colors.map(({ token, bg, color }) => (\n <ColorItem\n flex={1}\n key={token}\n token={token}\n style={{ backgroundColor: bg, color: color }}\n />\n ))}\n </Box>\n );\n }\n);\n\nexport const TonalColorItem = memo(\n (props: { color: string; level: number }) => {\n const { level, color } = props;\n const hslColor = parseToHsl(color);\n const rgbColor = parseToRgb(color);\n return (\n <Tooltip\n label={\n <>\n <p>Luminance: {level}</p>\n <p>{rgb(rgbColor)}</p>\n <p>\n rgb({rgbColor.red}, {rgbColor.green}, {rgbColor.blue})\n </p>\n <p>\n hsl({Math.round(hslColor.hue)},{' '}\n {Math.round(hslColor.saturation * 100)}%,{' '}\n {Math.round(hslColor.lightness * 100)}%)\n </p>\n </>\n }\n >\n <Text\n key={level}\n as=\"div\"\n variant=\"body-small\"\n flex={1}\n display=\"flex\"\n alignItems=\"center\"\n justifyContent=\"center\"\n style={{\n backgroundColor: color,\n color: level <= 50 ? '#fff' : '#000',\n }}\n >\n {level}\n </Text>\n </Tooltip>\n );\n }\n);\n\nexport const TonalColorsFromToken = memo((props: { token: string }) => {\n const [computedColor, setComputedColor] = useState<string>();\n if (!computedColor) {\n return (\n <Box\n ref={(ref: HTMLDivElement | null) => {\n if (ref) {\n setComputedColor(window.getComputedStyle(ref).backgroundColor);\n }\n }}\n bg={props.token}\n style={{ position: 'fixed', left: -5000, top: -5000 }}\n />\n );\n }\n const colorInt = parseInt(rgb(parseToRgb(computedColor)).slice(1), 16);\n const tonal = TonalPalette.fromInt(colorInt);\n\n return <TonalColors palette={tonal} />;\n});\n\nexport const TonalColors = memo((props: { palette: TonalPalette }) => {\n const luminanceLevels = [\n 0, 10, 20, 25, 30, 35, 40, 50, 60, 70, 80, 90, 95, 98, 99, 100,\n ];\n return (\n <Box display=\"flex\" height=\"72px\" width=\"100%\">\n {luminanceLevels.map((level) => (\n <TonalColorItem\n key={level}\n level={level}\n color={hexFromArgb(props.palette.tone(level))}\n />\n ))}\n </Box>\n );\n});\n\nexport function makeColorArrayForToken(\n token: string\n): { token: string; bg: string; color: string }[] {\n return [\n { token, bg: token, color: 'on.' + token },\n { token, bg: 'on.' + token, color: token },\n { token, bg: token + '-container', color: 'on.' + token + '-container' },\n { token, bg: 'on.' + token + '-container', color: token + '-container' },\n ];\n}\n"],"mappings":"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"}
|
|
@@ -16,10 +16,17 @@ export declare function makeColorScheme(opts: {
|
|
|
16
16
|
'tertiary-container': string;
|
|
17
17
|
'error-container': string;
|
|
18
18
|
background: string;
|
|
19
|
-
surface: string;
|
|
20
19
|
'surface-variant': string;
|
|
21
20
|
outline: string;
|
|
22
21
|
'outline-variant': string;
|
|
22
|
+
'surface-dim': string;
|
|
23
|
+
surface: string;
|
|
24
|
+
'surface-bright': string;
|
|
25
|
+
'surface-container-lowest': string;
|
|
26
|
+
'surface-container-low': string;
|
|
27
|
+
'surface-container': string;
|
|
28
|
+
'surface-container-high': string;
|
|
29
|
+
'surface-container-highest': string;
|
|
23
30
|
on: {
|
|
24
31
|
primary: string;
|
|
25
32
|
secondary: string;
|
|
@@ -30,10 +37,17 @@ export declare function makeColorScheme(opts: {
|
|
|
30
37
|
'tertiary-container': string;
|
|
31
38
|
'error-container': string;
|
|
32
39
|
background: string;
|
|
33
|
-
surface: string;
|
|
34
40
|
'surface-variant': string;
|
|
35
41
|
outline: string;
|
|
36
42
|
'outline-variant': string;
|
|
43
|
+
'surface-dim': string;
|
|
44
|
+
surface: string;
|
|
45
|
+
'surface-bright': string;
|
|
46
|
+
'surface-container-lowest': string;
|
|
47
|
+
'surface-container-low': string;
|
|
48
|
+
'surface-container': string;
|
|
49
|
+
'surface-container-high': string;
|
|
50
|
+
'surface-container-highest': string;
|
|
37
51
|
};
|
|
38
52
|
modes: {
|
|
39
53
|
dark: {
|
|
@@ -46,10 +60,17 @@ export declare function makeColorScheme(opts: {
|
|
|
46
60
|
'tertiary-container': string;
|
|
47
61
|
'error-container': string;
|
|
48
62
|
background: string;
|
|
49
|
-
surface: string;
|
|
50
63
|
'surface-variant': string;
|
|
51
64
|
outline: string;
|
|
52
65
|
'outline-variant': string;
|
|
66
|
+
'surface-dim': string;
|
|
67
|
+
surface: string;
|
|
68
|
+
'surface-bright': string;
|
|
69
|
+
'surface-container-lowest': string;
|
|
70
|
+
'surface-container-low': string;
|
|
71
|
+
'surface-container': string;
|
|
72
|
+
'surface-container-high': string;
|
|
73
|
+
'surface-container-highest': string;
|
|
53
74
|
on: {
|
|
54
75
|
primary: string;
|
|
55
76
|
secondary: string;
|
|
@@ -60,10 +81,17 @@ export declare function makeColorScheme(opts: {
|
|
|
60
81
|
'tertiary-container': string;
|
|
61
82
|
'error-container': string;
|
|
62
83
|
background: string;
|
|
63
|
-
surface: string;
|
|
64
84
|
'surface-variant': string;
|
|
65
85
|
outline: string;
|
|
66
86
|
'outline-variant': string;
|
|
87
|
+
'surface-dim': string;
|
|
88
|
+
surface: string;
|
|
89
|
+
'surface-bright': string;
|
|
90
|
+
'surface-container-lowest': string;
|
|
91
|
+
'surface-container-low': string;
|
|
92
|
+
'surface-container': string;
|
|
93
|
+
'surface-container-high': string;
|
|
94
|
+
'surface-container-highest': string;
|
|
67
95
|
};
|
|
68
96
|
};
|
|
69
97
|
};
|
|
@@ -13,11 +13,19 @@ export function makeColorScheme(opts) {
|
|
|
13
13
|
'secondary-container': c(opts.secondary, 90),
|
|
14
14
|
'tertiary-container': c(opts.tertiary, 90),
|
|
15
15
|
'error-container': c(opts.error, 90),
|
|
16
|
-
background: c(opts.neutral,
|
|
17
|
-
surface: c(opts.neutral, 99),
|
|
16
|
+
background: c(opts.neutral, 98),
|
|
18
17
|
'surface-variant': c(opts.neutralVariant, 90),
|
|
19
18
|
outline: c(opts.neutralVariant, 50),
|
|
20
19
|
'outline-variant': c(opts.neutralVariant, 80),
|
|
20
|
+
// https://material.io/blog/tone-based-surface-color-m3
|
|
21
|
+
'surface-dim': c(opts.neutral, 87),
|
|
22
|
+
surface: c(opts.neutral, 98),
|
|
23
|
+
'surface-bright': c(opts.neutral, 98),
|
|
24
|
+
'surface-container-lowest': c(opts.neutral, 100),
|
|
25
|
+
'surface-container-low': c(opts.neutral, 96),
|
|
26
|
+
'surface-container': c(opts.neutral, 94),
|
|
27
|
+
'surface-container-high': c(opts.neutral, 92),
|
|
28
|
+
'surface-container-highest': c(opts.neutral, 90),
|
|
21
29
|
on: {
|
|
22
30
|
primary: c(opts.primary, 100),
|
|
23
31
|
secondary: c(opts.secondary, 100),
|
|
@@ -28,10 +36,18 @@ export function makeColorScheme(opts) {
|
|
|
28
36
|
'tertiary-container': c(opts.tertiary, 10),
|
|
29
37
|
'error-container': c(opts.error, 10),
|
|
30
38
|
background: c(opts.neutral, 10),
|
|
31
|
-
surface: c(opts.neutral, 10),
|
|
32
39
|
'surface-variant': c(opts.neutralVariant, 30),
|
|
33
40
|
outline: c(opts.neutralVariant, 95),
|
|
34
|
-
'outline-variant': c(opts.neutralVariant, 10)
|
|
41
|
+
'outline-variant': c(opts.neutralVariant, 10),
|
|
42
|
+
// https://material.io/blog/tone-based-surface-color-m3
|
|
43
|
+
'surface-dim': c(opts.neutral, 10),
|
|
44
|
+
surface: c(opts.neutral, 10),
|
|
45
|
+
'surface-bright': c(opts.neutral, 10),
|
|
46
|
+
'surface-container-lowest': c(opts.neutral, 10),
|
|
47
|
+
'surface-container-low': c(opts.neutral, 10),
|
|
48
|
+
'surface-container': c(opts.neutral, 10),
|
|
49
|
+
'surface-container-high': c(opts.neutral, 10),
|
|
50
|
+
'surface-container-highest': c(opts.neutral, 10)
|
|
35
51
|
},
|
|
36
52
|
modes: {
|
|
37
53
|
dark: {
|
|
@@ -43,11 +59,20 @@ export function makeColorScheme(opts) {
|
|
|
43
59
|
'secondary-container': c(opts.secondary, 30),
|
|
44
60
|
'tertiary-container': c(opts.tertiary, 30),
|
|
45
61
|
'error-container': c(opts.error, 30),
|
|
46
|
-
background: c(opts.neutral,
|
|
47
|
-
surface: c(opts.neutral, 10),
|
|
62
|
+
background: c(opts.neutral, 6),
|
|
48
63
|
'surface-variant': c(opts.neutralVariant, 30),
|
|
49
64
|
outline: c(opts.neutralVariant, 60),
|
|
50
65
|
'outline-variant': c(opts.neutralVariant, 30),
|
|
66
|
+
// https://material.io/blog/tone-based-surface-color-m3
|
|
67
|
+
// TODO: get the actual values from here once updated: https://github.com/material-foundation/material-color-utilities/blob/main/dart/lib/scheme/scheme.dart#L126-L156
|
|
68
|
+
'surface-dim': c(opts.neutral, 6),
|
|
69
|
+
surface: c(opts.neutral, 6),
|
|
70
|
+
'surface-bright': c(opts.neutral, 24),
|
|
71
|
+
'surface-container-lowest': c(opts.neutral, 4),
|
|
72
|
+
'surface-container-low': c(opts.neutral, 10),
|
|
73
|
+
'surface-container': c(opts.neutral, 12),
|
|
74
|
+
'surface-container-high': c(opts.neutral, 17),
|
|
75
|
+
'surface-container-highest': c(opts.neutral, 22),
|
|
51
76
|
on: {
|
|
52
77
|
primary: c(opts.primary, 20),
|
|
53
78
|
secondary: c(opts.secondary, 20),
|
|
@@ -58,10 +83,18 @@ export function makeColorScheme(opts) {
|
|
|
58
83
|
'tertiary-container': c(opts.tertiary, 90),
|
|
59
84
|
'error-container': c(opts.error, 90),
|
|
60
85
|
background: c(opts.neutral, 90),
|
|
61
|
-
surface: c(opts.neutral, 90),
|
|
62
86
|
'surface-variant': c(opts.neutralVariant, 80),
|
|
63
87
|
outline: c(opts.neutralVariant, 10),
|
|
64
|
-
'outline-variant': c(opts.neutralVariant, 90)
|
|
88
|
+
'outline-variant': c(opts.neutralVariant, 90),
|
|
89
|
+
// https://material.io/blog/tone-based-surface-color-m3
|
|
90
|
+
'surface-dim': c(opts.neutral, 90),
|
|
91
|
+
surface: c(opts.neutral, 90),
|
|
92
|
+
'surface-bright': c(opts.neutral, 90),
|
|
93
|
+
'surface-container-lowest': c(opts.neutral, 90),
|
|
94
|
+
'surface-container-low': c(opts.neutral, 90),
|
|
95
|
+
'surface-container': c(opts.neutral, 90),
|
|
96
|
+
'surface-container-high': c(opts.neutral, 90),
|
|
97
|
+
'surface-container-highest': c(opts.neutral, 90)
|
|
65
98
|
}
|
|
66
99
|
}
|
|
67
100
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"makeColorScheme.js","names":["hexFromArgb","makeColorScheme","opts","c","palette","tone","primary","secondary","tertiary","error","background","neutral","surface","neutralVariant","outline","on","modes","dark"],"sources":["../../../src/ThemeExplorer/makeColorScheme.tsx"],"sourcesContent":["import type { TonalPalette } from '@material/material-color-utilities';\nimport { hexFromArgb } from '@material/material-color-utilities';\n\nexport function makeColorScheme(opts: {\n primary: TonalPalette;\n secondary: TonalPalette;\n tertiary: TonalPalette;\n error: TonalPalette;\n neutral: TonalPalette;\n neutralVariant: TonalPalette;\n}) {\n function c(palette: TonalPalette, tone: number) {\n return hexFromArgb(palette.tone(tone));\n }\n\n return {\n primary: c(opts.primary, 40),\n secondary: c(opts.secondary, 40),\n tertiary: c(opts.tertiary, 40),\n error: c(opts.error, 40),\n 'primary-container': c(opts.primary, 90),\n 'secondary-container': c(opts.secondary, 90),\n 'tertiary-container': c(opts.tertiary, 90),\n 'error-container': c(opts.error, 90),\n background: c(opts.neutral, 99),\n surface: c(opts.neutral, 99),\n 'surface-variant': c(opts.neutralVariant, 90),\n outline: c(opts.neutralVariant, 50),\n 'outline-variant': c(opts.neutralVariant, 80),\n on: {\n primary: c(opts.primary, 100),\n secondary: c(opts.secondary, 100),\n tertiary: c(opts.tertiary, 100),\n error: c(opts.error, 100),\n 'primary-container': c(opts.primary, 10),\n 'secondary-container': c(opts.secondary, 10),\n 'tertiary-container': c(opts.tertiary, 10),\n 'error-container': c(opts.error, 10),\n background: c(opts.neutral, 10),\n surface: c(opts.neutral, 10),\n 'surface-variant': c(opts.neutralVariant, 30),\n outline: c(opts.neutralVariant, 95),\n 'outline-variant': c(opts.neutralVariant, 10),\n },\n modes: {\n dark: {\n primary: c(opts.primary, 80),\n secondary: c(opts.secondary, 80),\n tertiary: c(opts.tertiary, 80),\n error: c(opts.error, 80),\n 'primary-container': c(opts.primary, 30),\n 'secondary-container': c(opts.secondary, 30),\n 'tertiary-container': c(opts.tertiary, 30),\n 'error-container': c(opts.error, 30),\n background: c(opts.neutral, 10),\n surface: c(opts.neutral, 10),\n 'surface-variant': c(opts.neutralVariant, 30),\n outline: c(opts.neutralVariant, 60),\n 'outline-variant': c(opts.neutralVariant, 30),\n on: {\n primary: c(opts.primary, 20),\n secondary: c(opts.secondary, 20),\n tertiary: c(opts.tertiary, 20),\n error: c(opts.error, 20),\n 'primary-container': c(opts.primary, 90),\n 'secondary-container': c(opts.secondary, 90),\n 'tertiary-container': c(opts.tertiary, 90),\n 'error-container': c(opts.error, 90),\n background: c(opts.neutral, 90),\n surface: c(opts.neutral, 90),\n 'surface-variant': c(opts.neutralVariant, 80),\n outline: c(opts.neutralVariant, 10),\n 'outline-variant': c(opts.neutralVariant, 90),\n },\n },\n },\n };\n}\n"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"makeColorScheme.js","names":["hexFromArgb","makeColorScheme","opts","c","palette","tone","primary","secondary","tertiary","error","background","neutral","neutralVariant","outline","surface","on","modes","dark"],"sources":["../../../src/ThemeExplorer/makeColorScheme.tsx"],"sourcesContent":["import type { TonalPalette } from '@material/material-color-utilities';\nimport { hexFromArgb } from '@material/material-color-utilities';\n\nexport function makeColorScheme(opts: {\n primary: TonalPalette;\n secondary: TonalPalette;\n tertiary: TonalPalette;\n error: TonalPalette;\n neutral: TonalPalette;\n neutralVariant: TonalPalette;\n}) {\n function c(palette: TonalPalette, tone: number) {\n return hexFromArgb(palette.tone(tone));\n }\n\n return {\n primary: c(opts.primary, 40),\n secondary: c(opts.secondary, 40),\n tertiary: c(opts.tertiary, 40),\n error: c(opts.error, 40),\n 'primary-container': c(opts.primary, 90),\n 'secondary-container': c(opts.secondary, 90),\n 'tertiary-container': c(opts.tertiary, 90),\n 'error-container': c(opts.error, 90),\n background: c(opts.neutral, 98),\n 'surface-variant': c(opts.neutralVariant, 90),\n outline: c(opts.neutralVariant, 50),\n 'outline-variant': c(opts.neutralVariant, 80),\n // https://material.io/blog/tone-based-surface-color-m3\n 'surface-dim': c(opts.neutral, 87),\n surface: c(opts.neutral, 98),\n 'surface-bright': c(opts.neutral, 98),\n 'surface-container-lowest': c(opts.neutral, 100),\n 'surface-container-low': c(opts.neutral, 96),\n 'surface-container': c(opts.neutral, 94),\n 'surface-container-high': c(opts.neutral, 92),\n 'surface-container-highest': c(opts.neutral, 90),\n on: {\n primary: c(opts.primary, 100),\n secondary: c(opts.secondary, 100),\n tertiary: c(opts.tertiary, 100),\n error: c(opts.error, 100),\n 'primary-container': c(opts.primary, 10),\n 'secondary-container': c(opts.secondary, 10),\n 'tertiary-container': c(opts.tertiary, 10),\n 'error-container': c(opts.error, 10),\n background: c(opts.neutral, 10),\n 'surface-variant': c(opts.neutralVariant, 30),\n outline: c(opts.neutralVariant, 95),\n 'outline-variant': c(opts.neutralVariant, 10),\n // https://material.io/blog/tone-based-surface-color-m3\n 'surface-dim': c(opts.neutral, 10),\n surface: c(opts.neutral, 10),\n 'surface-bright': c(opts.neutral, 10),\n 'surface-container-lowest': c(opts.neutral, 10),\n 'surface-container-low': c(opts.neutral, 10),\n 'surface-container': c(opts.neutral, 10),\n 'surface-container-high': c(opts.neutral, 10),\n 'surface-container-highest': c(opts.neutral, 10),\n },\n modes: {\n dark: {\n primary: c(opts.primary, 80),\n secondary: c(opts.secondary, 80),\n tertiary: c(opts.tertiary, 80),\n error: c(opts.error, 80),\n 'primary-container': c(opts.primary, 30),\n 'secondary-container': c(opts.secondary, 30),\n 'tertiary-container': c(opts.tertiary, 30),\n 'error-container': c(opts.error, 30),\n background: c(opts.neutral, 6),\n 'surface-variant': c(opts.neutralVariant, 30),\n outline: c(opts.neutralVariant, 60),\n 'outline-variant': c(opts.neutralVariant, 30),\n // https://material.io/blog/tone-based-surface-color-m3\n // TODO: get the actual values from here once updated: https://github.com/material-foundation/material-color-utilities/blob/main/dart/lib/scheme/scheme.dart#L126-L156\n 'surface-dim': c(opts.neutral, 6),\n surface: c(opts.neutral, 6),\n 'surface-bright': c(opts.neutral, 24),\n 'surface-container-lowest': c(opts.neutral, 4),\n 'surface-container-low': c(opts.neutral, 10),\n 'surface-container': c(opts.neutral, 12),\n 'surface-container-high': c(opts.neutral, 17),\n 'surface-container-highest': c(opts.neutral, 22),\n on: {\n primary: c(opts.primary, 20),\n secondary: c(opts.secondary, 20),\n tertiary: c(opts.tertiary, 20),\n error: c(opts.error, 20),\n 'primary-container': c(opts.primary, 90),\n 'secondary-container': c(opts.secondary, 90),\n 'tertiary-container': c(opts.tertiary, 90),\n 'error-container': c(opts.error, 90),\n background: c(opts.neutral, 90),\n 'surface-variant': c(opts.neutralVariant, 80),\n outline: c(opts.neutralVariant, 10),\n 'outline-variant': c(opts.neutralVariant, 90),\n // https://material.io/blog/tone-based-surface-color-m3\n 'surface-dim': c(opts.neutral, 90),\n surface: c(opts.neutral, 90),\n 'surface-bright': c(opts.neutral, 90),\n 'surface-container-lowest': c(opts.neutral, 90),\n 'surface-container-low': c(opts.neutral, 90),\n 'surface-container': c(opts.neutral, 90),\n 'surface-container-high': c(opts.neutral, 90),\n 'surface-container-highest': c(opts.neutral, 90),\n },\n },\n },\n };\n}\n"],"mappings":"AACA,SAASA,WAAT,QAA4B,oCAA5B;AAEA,OAAO,SAASC,eAAT,CAAyBC,IAAzB,EAOJ;EACD,SAASC,CAAT,CAAWC,OAAX,EAAkCC,IAAlC,EAAgD;IAC9C,OAAOL,WAAW,CAACI,OAAO,CAACC,IAAR,CAAaA,IAAb,CAAD,CAAlB;EACD;;EAED,OAAO;IACLC,OAAO,EAAEH,CAAC,CAACD,IAAI,CAACI,OAAN,EAAe,EAAf,CADL;IAELC,SAAS,EAAEJ,CAAC,CAACD,IAAI,CAACK,SAAN,EAAiB,EAAjB,CAFP;IAGLC,QAAQ,EAAEL,CAAC,CAACD,IAAI,CAACM,QAAN,EAAgB,EAAhB,CAHN;IAILC,KAAK,EAAEN,CAAC,CAACD,IAAI,CAACO,KAAN,EAAa,EAAb,CAJH;IAKL,qBAAqBN,CAAC,CAACD,IAAI,CAACI,OAAN,EAAe,EAAf,CALjB;IAML,uBAAuBH,CAAC,CAACD,IAAI,CAACK,SAAN,EAAiB,EAAjB,CANnB;IAOL,sBAAsBJ,CAAC,CAACD,IAAI,CAACM,QAAN,EAAgB,EAAhB,CAPlB;IAQL,mBAAmBL,CAAC,CAACD,IAAI,CAACO,KAAN,EAAa,EAAb,CARf;IASLC,UAAU,EAAEP,CAAC,CAACD,IAAI,CAACS,OAAN,EAAe,EAAf,CATR;IAUL,mBAAmBR,CAAC,CAACD,IAAI,CAACU,cAAN,EAAsB,EAAtB,CAVf;IAWLC,OAAO,EAAEV,CAAC,CAACD,IAAI,CAACU,cAAN,EAAsB,EAAtB,CAXL;IAYL,mBAAmBT,CAAC,CAACD,IAAI,CAACU,cAAN,EAAsB,EAAtB,CAZf;IAaL;IACA,eAAeT,CAAC,CAACD,IAAI,CAACS,OAAN,EAAe,EAAf,CAdX;IAeLG,OAAO,EAAEX,CAAC,CAACD,IAAI,CAACS,OAAN,EAAe,EAAf,CAfL;IAgBL,kBAAkBR,CAAC,CAACD,IAAI,CAACS,OAAN,EAAe,EAAf,CAhBd;IAiBL,4BAA4BR,CAAC,CAACD,IAAI,CAACS,OAAN,EAAe,GAAf,CAjBxB;IAkBL,yBAAyBR,CAAC,CAACD,IAAI,CAACS,OAAN,EAAe,EAAf,CAlBrB;IAmBL,qBAAqBR,CAAC,CAACD,IAAI,CAACS,OAAN,EAAe,EAAf,CAnBjB;IAoBL,0BAA0BR,CAAC,CAACD,IAAI,CAACS,OAAN,EAAe,EAAf,CApBtB;IAqBL,6BAA6BR,CAAC,CAACD,IAAI,CAACS,OAAN,EAAe,EAAf,CArBzB;IAsBLI,EAAE,EAAE;MACFT,OAAO,EAAEH,CAAC,CAACD,IAAI,CAACI,OAAN,EAAe,GAAf,CADR;MAEFC,SAAS,EAAEJ,CAAC,CAACD,IAAI,CAACK,SAAN,EAAiB,GAAjB,CAFV;MAGFC,QAAQ,EAAEL,CAAC,CAACD,IAAI,CAACM,QAAN,EAAgB,GAAhB,CAHT;MAIFC,KAAK,EAAEN,CAAC,CAACD,IAAI,CAACO,KAAN,EAAa,GAAb,CAJN;MAKF,qBAAqBN,CAAC,CAACD,IAAI,CAACI,OAAN,EAAe,EAAf,CALpB;MAMF,uBAAuBH,CAAC,CAACD,IAAI,CAACK,SAAN,EAAiB,EAAjB,CANtB;MAOF,sBAAsBJ,CAAC,CAACD,IAAI,CAACM,QAAN,EAAgB,EAAhB,CAPrB;MAQF,mBAAmBL,CAAC,CAACD,IAAI,CAACO,KAAN,EAAa,EAAb,CARlB;MASFC,UAAU,EAAEP,CAAC,CAACD,IAAI,CAACS,OAAN,EAAe,EAAf,CATX;MAUF,mBAAmBR,CAAC,CAACD,IAAI,CAACU,cAAN,EAAsB,EAAtB,CAVlB;MAWFC,OAAO,EAAEV,CAAC,CAACD,IAAI,CAACU,cAAN,EAAsB,EAAtB,CAXR;MAYF,mBAAmBT,CAAC,CAACD,IAAI,CAACU,cAAN,EAAsB,EAAtB,CAZlB;MAaF;MACA,eAAeT,CAAC,CAACD,IAAI,CAACS,OAAN,EAAe,EAAf,CAdd;MAeFG,OAAO,EAAEX,CAAC,CAACD,IAAI,CAACS,OAAN,EAAe,EAAf,CAfR;MAgBF,kBAAkBR,CAAC,CAACD,IAAI,CAACS,OAAN,EAAe,EAAf,CAhBjB;MAiBF,4BAA4BR,CAAC,CAACD,IAAI,CAACS,OAAN,EAAe,EAAf,CAjB3B;MAkBF,yBAAyBR,CAAC,CAACD,IAAI,CAACS,OAAN,EAAe,EAAf,CAlBxB;MAmBF,qBAAqBR,CAAC,CAACD,IAAI,CAACS,OAAN,EAAe,EAAf,CAnBpB;MAoBF,0BAA0BR,CAAC,CAACD,IAAI,CAACS,OAAN,EAAe,EAAf,CApBzB;MAqBF,6BAA6BR,CAAC,CAACD,IAAI,CAACS,OAAN,EAAe,EAAf;IArB5B,CAtBC;IA6CLK,KAAK,EAAE;MACLC,IAAI,EAAE;QACJX,OAAO,EAAEH,CAAC,CAACD,IAAI,CAACI,OAAN,EAAe,EAAf,CADN;QAEJC,SAAS,EAAEJ,CAAC,CAACD,IAAI,CAACK,SAAN,EAAiB,EAAjB,CAFR;QAGJC,QAAQ,EAAEL,CAAC,CAACD,IAAI,CAACM,QAAN,EAAgB,EAAhB,CAHP;QAIJC,KAAK,EAAEN,CAAC,CAACD,IAAI,CAACO,KAAN,EAAa,EAAb,CAJJ;QAKJ,qBAAqBN,CAAC,CAACD,IAAI,CAACI,OAAN,EAAe,EAAf,CALlB;QAMJ,uBAAuBH,CAAC,CAACD,IAAI,CAACK,SAAN,EAAiB,EAAjB,CANpB;QAOJ,sBAAsBJ,CAAC,CAACD,IAAI,CAACM,QAAN,EAAgB,EAAhB,CAPnB;QAQJ,mBAAmBL,CAAC,CAACD,IAAI,CAACO,KAAN,EAAa,EAAb,CARhB;QASJC,UAAU,EAAEP,CAAC,CAACD,IAAI,CAACS,OAAN,EAAe,CAAf,CATT;QAUJ,mBAAmBR,CAAC,CAACD,IAAI,CAACU,cAAN,EAAsB,EAAtB,CAVhB;QAWJC,OAAO,EAAEV,CAAC,CAACD,IAAI,CAACU,cAAN,EAAsB,EAAtB,CAXN;QAYJ,mBAAmBT,CAAC,CAACD,IAAI,CAACU,cAAN,EAAsB,EAAtB,CAZhB;QAaJ;QACA;QACA,eAAeT,CAAC,CAACD,IAAI,CAACS,OAAN,EAAe,CAAf,CAfZ;QAgBJG,OAAO,EAAEX,CAAC,CAACD,IAAI,CAACS,OAAN,EAAe,CAAf,CAhBN;QAiBJ,kBAAkBR,CAAC,CAACD,IAAI,CAACS,OAAN,EAAe,EAAf,CAjBf;QAkBJ,4BAA4BR,CAAC,CAACD,IAAI,CAACS,OAAN,EAAe,CAAf,CAlBzB;QAmBJ,yBAAyBR,CAAC,CAACD,IAAI,CAACS,OAAN,EAAe,EAAf,CAnBtB;QAoBJ,qBAAqBR,CAAC,CAACD,IAAI,CAACS,OAAN,EAAe,EAAf,CApBlB;QAqBJ,0BAA0BR,CAAC,CAACD,IAAI,CAACS,OAAN,EAAe,EAAf,CArBvB;QAsBJ,6BAA6BR,CAAC,CAACD,IAAI,CAACS,OAAN,EAAe,EAAf,CAtB1B;QAuBJI,EAAE,EAAE;UACFT,OAAO,EAAEH,CAAC,CAACD,IAAI,CAACI,OAAN,EAAe,EAAf,CADR;UAEFC,SAAS,EAAEJ,CAAC,CAACD,IAAI,CAACK,SAAN,EAAiB,EAAjB,CAFV;UAGFC,QAAQ,EAAEL,CAAC,CAACD,IAAI,CAACM,QAAN,EAAgB,EAAhB,CAHT;UAIFC,KAAK,EAAEN,CAAC,CAACD,IAAI,CAACO,KAAN,EAAa,EAAb,CAJN;UAKF,qBAAqBN,CAAC,CAACD,IAAI,CAACI,OAAN,EAAe,EAAf,CALpB;UAMF,uBAAuBH,CAAC,CAACD,IAAI,CAACK,SAAN,EAAiB,EAAjB,CANtB;UAOF,sBAAsBJ,CAAC,CAACD,IAAI,CAACM,QAAN,EAAgB,EAAhB,CAPrB;UAQF,mBAAmBL,CAAC,CAACD,IAAI,CAACO,KAAN,EAAa,EAAb,CARlB;UASFC,UAAU,EAAEP,CAAC,CAACD,IAAI,CAACS,OAAN,EAAe,EAAf,CATX;UAUF,mBAAmBR,CAAC,CAACD,IAAI,CAACU,cAAN,EAAsB,EAAtB,CAVlB;UAWFC,OAAO,EAAEV,CAAC,CAACD,IAAI,CAACU,cAAN,EAAsB,EAAtB,CAXR;UAYF,mBAAmBT,CAAC,CAACD,IAAI,CAACU,cAAN,EAAsB,EAAtB,CAZlB;UAaF;UACA,eAAeT,CAAC,CAACD,IAAI,CAACS,OAAN,EAAe,EAAf,CAdd;UAeFG,OAAO,EAAEX,CAAC,CAACD,IAAI,CAACS,OAAN,EAAe,EAAf,CAfR;UAgBF,kBAAkBR,CAAC,CAACD,IAAI,CAACS,OAAN,EAAe,EAAf,CAhBjB;UAiBF,4BAA4BR,CAAC,CAACD,IAAI,CAACS,OAAN,EAAe,EAAf,CAjB3B;UAkBF,yBAAyBR,CAAC,CAACD,IAAI,CAACS,OAAN,EAAe,EAAf,CAlBxB;UAmBF,qBAAqBR,CAAC,CAACD,IAAI,CAACS,OAAN,EAAe,EAAf,CAnBpB;UAoBF,0BAA0BR,CAAC,CAACD,IAAI,CAACS,OAAN,EAAe,EAAf,CApBzB;UAqBF,6BAA6BR,CAAC,CAACD,IAAI,CAACS,OAAN,EAAe,EAAf;QArB5B;MAvBA;IADD;EA7CF,CAAP;AA+FD"}
|