@basic-ui/material 1.0.0-alpha.13 → 1.0.0-alpha.16
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 +9 -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/ListItem/ListItem.d.ts +1 -1
- package/build/esm/ListItem/ListItem.js +5 -6
- package/build/esm/ListItem/ListItem.js.map +1 -1
- package/build/esm/Menu/Menu.d.ts +4 -4
- package/build/esm/Select/Select.d.ts +1 -1
- package/build/esm/SelectItem/SelectItem.d.ts +1 -1
- package/build/esm/Snackbar/Snackbar.d.ts +1 -1
- package/build/esm/Snackbar/Snackbar.js +4 -4
- package/build/esm/Snackbar/Snackbar.js.map +1 -1
- package/build/esm/Table/TableHead.d.ts +1 -1
- package/build/esm/ThemeExplorer/ThemeBuilder.js +2 -2
- package/build/esm/ThemeExplorer/ThemeBuilder.js.map +1 -1
- package/build/esm/color.js +2 -2
- package/build/esm/color.js.map +1 -1
- package/build/tsconfig-build.tsbuildinfo +1 -1
- package/package.json +6 -6
- package/src/ListItem/ListItem.tsx +5 -6
- package/src/Snackbar/Snackbar.tsx +5 -5
- package/src/ThemeExplorer/ThemeBuilder.tsx +5 -2
- package/src/color.ts +2 -2
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ThemeBuilder.js","names":["useState","useMemo","useDeferredValue","useEffect","CorePalette","argbFromHex","hexFromArgb","toColor","THEME_OVERRIDE_KEY","injectThemeOverride","transformTheme","Box","TonalColors","TextFieldColorPicker","ThemeColors","makeColorScheme","theme","Text","Button","useLocalStorageCachedState","useDeferredColor","DefaultHighlighter","props","children","ThemeBuilder","mounted","setMounted","ThemeBuilderImpl","CodeHighlightingComponent","colors","primary","primaryColor","setPrimaryColor","deferredPrimaryColor","of","hex","a1","a2","a3","error","n1","n2","secondaryColor","secondaryColorTonal","setSecondaryColor","tertiaryColor","tertiaryColorTonal","setTertiaryColor","neutralColor","neutralColorTonal","setNeutralColor","scheme","secondary","tertiary","neutral","neutralVariant","colorModes","localStorage","setItem","JSON","stringify","gap","flexWrap","c","tone","modes","dark"],"sources":["../../../src/ThemeExplorer/ThemeBuilder.tsx"],"sourcesContent":["import type { ComponentType } from 'react';\nimport { useState, useMemo, useDeferredValue, 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_KEY,\n injectThemeOverride,\n transformTheme,\n} from '@basic-ui/dynamic-theme';\n\nimport { Box } from '../Box';\nimport { TonalColors } from './components';\nimport { TextFieldColorPicker } from './TextFieldColorPicker';\nimport { ThemeColors } from './ThemeColors';\nimport { makeColorScheme } from './makeColorScheme';\nimport { theme } from '../theme';\nimport { Text } from '../Text';\nimport { Button } from '../Button';\nimport { useLocalStorageCachedState } from './useLocalStorageCachedState';\nimport { useDeferredColor } from './useDeferredColor';\n\nexport interface ThemeBuilderProps {\n CodeHighlightingComponent?: ComponentType<{\n children: string;\n className: string;\n showButtons?: boolean;\n }>;\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 { CodeHighlightingComponent = DefaultHighlighter } = props;\n const [primaryColor, setPrimaryColor] = useLocalStorageCachedState<Color>(\n toColor('hex', theme.colors.primary),\n 'primary'\n );\n const deferredPrimaryColor = useDeferredValue(primaryColor);\n\n const { a1, a2, a3, error, n1, n2 } = useMemo(\n () => CorePalette.of(argbFromHex(deferredPrimaryColor.hex)),\n [deferredPrimaryColor.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 colorModes = useMemo(\n () => transformTheme({ colors: scheme }, []).colorModes,\n [scheme]\n );\n useEffect(() => {\n localStorage.setItem(THEME_OVERRIDE_KEY, JSON.stringify({ colorModes }));\n injectThemeOverride({ colorModes });\n }, [colorModes]);\n\n return (\n <>\n <Box display=\"flex\" my={3} sx={{ gap: 3, flexWrap: 'wrap' }}>\n <Box display=\"flex\" minWidth=\"300px\" flex=\"1\">\n <TextFieldColorPicker\n label=\"Primary color\"\n value={primaryColor}\n onChange={(c) => setPrimaryColor(c)}\n />\n <Button\n variant=\"text\"\n disabled={\n primaryColor.hex === toColor('hex', theme.colors.primary).hex\n }\n onClick={() =>\n setPrimaryColor(toColor('hex', theme.colors.primary))\n }\n >\n Reset\n </Button>\n </Box>\n <Box display=\"flex\" minWidth=\"300px\" flex=\"1\">\n <TextFieldColorPicker\n label=\"Secondary color\"\n value={\n secondaryColor ||\n toColor('hex', hexFromArgb(secondaryColorTonal.tone(40)))\n }\n onChange={(c) => setSecondaryColor(c)}\n />\n <Button\n variant=\"text\"\n onClick={() => setSecondaryColor(null)}\n disabled={secondaryColor === null}\n >\n Reset\n </Button>\n </Box>\n <Box display=\"flex\" minWidth=\"300px\" flex=\"1\">\n <TextFieldColorPicker\n label=\"Tertiary color\"\n value={\n tertiaryColor ||\n toColor('hex', hexFromArgb(tertiaryColorTonal.tone(40)))\n }\n onChange={(c) => setTertiaryColor(c)}\n />\n <Button\n variant=\"text\"\n onClick={() => setTertiaryColor(null)}\n disabled={tertiaryColor === null}\n >\n Reset\n </Button>\n </Box>\n <Box display=\"flex\" minWidth=\"300px\" flex=\"1\">\n <TextFieldColorPicker\n label=\"Neutral color\"\n value={\n neutralColor ||\n toColor('hex', hexFromArgb(neutralColorTonal.tone(40)))\n }\n onChange={(c) => setNeutralColor(c)}\n />\n <Button\n variant=\"text\"\n onClick={() => setNeutralColor(null)}\n disabled={neutralColor === null}\n >\n Reset\n </Button>\n </Box>\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'}>\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'}>\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 <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 <CodeHighlightingComponent className={`language-json`}>\n {JSON.stringify({ colors: scheme }, null, 2)}\n </CodeHighlightingComponent>\n </Box>\n </>\n );\n};\n"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"ThemeBuilder.js","names":["useState","useMemo","useDeferredValue","useEffect","CorePalette","argbFromHex","hexFromArgb","toColor","THEME_OVERRIDE_STORAGE_KEY","injectThemeOverride","transformTheme","Box","TonalColors","TextFieldColorPicker","ThemeColors","makeColorScheme","theme","Text","Button","useLocalStorageCachedState","useDeferredColor","DefaultHighlighter","props","children","ThemeBuilder","mounted","setMounted","ThemeBuilderImpl","CodeHighlightingComponent","colors","primary","primaryColor","setPrimaryColor","deferredPrimaryColor","of","hex","a1","a2","a3","error","n1","n2","secondaryColor","secondaryColorTonal","setSecondaryColor","tertiaryColor","tertiaryColorTonal","setTertiaryColor","neutralColor","neutralColorTonal","setNeutralColor","scheme","secondary","tertiary","neutral","neutralVariant","colorModes","localStorage","setItem","JSON","stringify","gap","flexWrap","c","tone","modes","dark"],"sources":["../../../src/ThemeExplorer/ThemeBuilder.tsx"],"sourcesContent":["import type { ComponentType } from 'react';\nimport { useState, useMemo, useDeferredValue, 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} from '@basic-ui/dynamic-theme';\n\nimport { Box } from '../Box';\nimport { TonalColors } from './components';\nimport { TextFieldColorPicker } from './TextFieldColorPicker';\nimport { ThemeColors } from './ThemeColors';\nimport { makeColorScheme } from './makeColorScheme';\nimport { theme } from '../theme';\nimport { Text } from '../Text';\nimport { Button } from '../Button';\nimport { useLocalStorageCachedState } from './useLocalStorageCachedState';\nimport { useDeferredColor } from './useDeferredColor';\n\nexport interface ThemeBuilderProps {\n CodeHighlightingComponent?: ComponentType<{\n children: string;\n className: string;\n showButtons?: boolean;\n }>;\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 { CodeHighlightingComponent = DefaultHighlighter } = props;\n const [primaryColor, setPrimaryColor] = useLocalStorageCachedState<Color>(\n toColor('hex', theme.colors.primary),\n 'primary'\n );\n const deferredPrimaryColor = useDeferredValue(primaryColor);\n\n const { a1, a2, a3, error, n1, n2 } = useMemo(\n () => CorePalette.of(argbFromHex(deferredPrimaryColor.hex)),\n [deferredPrimaryColor.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 colorModes = useMemo(\n () => transformTheme({ colors: scheme }, []).colorModes,\n [scheme]\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 <Box display=\"flex\" my={3} sx={{ gap: 3, flexWrap: 'wrap' }}>\n <Box display=\"flex\" minWidth=\"300px\" flex=\"1\">\n <TextFieldColorPicker\n label=\"Primary color\"\n value={primaryColor}\n onChange={(c) => setPrimaryColor(c)}\n />\n <Button\n variant=\"text\"\n disabled={\n primaryColor.hex === toColor('hex', theme.colors.primary).hex\n }\n onClick={() =>\n setPrimaryColor(toColor('hex', theme.colors.primary))\n }\n >\n Reset\n </Button>\n </Box>\n <Box display=\"flex\" minWidth=\"300px\" flex=\"1\">\n <TextFieldColorPicker\n label=\"Secondary color\"\n value={\n secondaryColor ||\n toColor('hex', hexFromArgb(secondaryColorTonal.tone(40)))\n }\n onChange={(c) => setSecondaryColor(c)}\n />\n <Button\n variant=\"text\"\n onClick={() => setSecondaryColor(null)}\n disabled={secondaryColor === null}\n >\n Reset\n </Button>\n </Box>\n <Box display=\"flex\" minWidth=\"300px\" flex=\"1\">\n <TextFieldColorPicker\n label=\"Tertiary color\"\n value={\n tertiaryColor ||\n toColor('hex', hexFromArgb(tertiaryColorTonal.tone(40)))\n }\n onChange={(c) => setTertiaryColor(c)}\n />\n <Button\n variant=\"text\"\n onClick={() => setTertiaryColor(null)}\n disabled={tertiaryColor === null}\n >\n Reset\n </Button>\n </Box>\n <Box display=\"flex\" minWidth=\"300px\" flex=\"1\">\n <TextFieldColorPicker\n label=\"Neutral color\"\n value={\n neutralColor ||\n toColor('hex', hexFromArgb(neutralColorTonal.tone(40)))\n }\n onChange={(c) => setNeutralColor(c)}\n />\n <Button\n variant=\"text\"\n onClick={() => setNeutralColor(null)}\n disabled={neutralColor === null}\n >\n Reset\n </Button>\n </Box>\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'}>\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'}>\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 <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 <CodeHighlightingComponent className={`language-json`}>\n {JSON.stringify({ colors: scheme }, null, 2)}\n </CodeHighlightingComponent>\n </Box>\n </>\n );\n};\n"],"mappings":"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"}
|
package/build/esm/color.js
CHANGED
|
@@ -2,7 +2,7 @@ import _defineProperty from "@babel/runtime/helpers/defineProperty";
|
|
|
2
2
|
import _extends from "@babel/runtime/helpers/extends";
|
|
3
3
|
import { get } from '@styled-system/css';
|
|
4
4
|
import { parseToRgb } from 'polished';
|
|
5
|
-
import {
|
|
5
|
+
import { DARK_SCHEME_CLASS } from '@basic-ui/dynamic-theme';
|
|
6
6
|
export var alpha = function alpha(colorString, alphaValue) {
|
|
7
7
|
return function (theme) {
|
|
8
8
|
var color = get(theme, 'colors.' + colorString, colorString);
|
|
@@ -46,6 +46,6 @@ export function getDarkThemeBackgroundOverlay(theme, backgroundOverlay) {
|
|
|
46
46
|
return {};
|
|
47
47
|
}
|
|
48
48
|
|
|
49
|
-
return _defineProperty({}, ".".concat(
|
|
49
|
+
return _defineProperty({}, ".".concat(DARK_SCHEME_CLASS, " &, &.").concat(DARK_SCHEME_CLASS), _extends({}, getBackgroundOverlay(theme, backgroundOverlay, overlayColor)));
|
|
50
50
|
}
|
|
51
51
|
//# sourceMappingURL=color.js.map
|
package/build/esm/color.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"color.js","names":["get","parseToRgb","
|
|
1
|
+
{"version":3,"file":"color.js","names":["get","parseToRgb","DARK_SCHEME_CLASS","alpha","colorString","alphaValue","theme","color","startsWith","rgb","red","green","blue","mixColor","baseColor","overlayColor","overlayOpacity","getColorOverlay","background","getBackgroundOverlay","backgroundOverlay","Number","overlay","getDarkThemeBackgroundOverlay"],"sources":["../../src/color.ts"],"sourcesContent":["import type { SystemStyleObject } from '@styled-system/css';\nimport { get } from '@styled-system/css';\nimport { parseToRgb } from 'polished';\nimport { DARK_SCHEME_CLASS } from '@basic-ui/dynamic-theme';\n\nimport type { Theme } from './theme';\n\nexport const alpha =\n (colorString: string, alphaValue: number) => (theme: any) => {\n const color = get(theme, 'colors.' + colorString, colorString);\n if (color.startsWith('var')) {\n const color = get(theme, 'colors.' + colorString + '_rgb', colorString);\n return `rgba(${color},${alphaValue})`;\n }\n\n const rgb = parseToRgb(color);\n return `rgba(${rgb.red},${rgb.green},${rgb.blue},${alphaValue})`;\n };\n\nexport function mixColor(\n baseColor: string,\n overlayColor: string\n): (theme: any) => string;\nexport function mixColor(\n baseColor: string,\n overlayColor: string,\n overlayOpacity: number\n): (theme: any) => string;\nexport function mixColor(\n baseColor: string,\n overlayColor: string,\n overlayOpacity?: number\n): (theme: any) => string {\n return (theme) => {\n baseColor = get(theme, `colors.${baseColor}`, baseColor);\n overlayColor = overlayOpacity\n ? alpha(overlayColor, overlayOpacity)(theme)\n : get(theme, `colors.${overlayColor}`, overlayColor);\n\n return `linear-gradient(${overlayColor}, ${overlayColor}), ${baseColor}`;\n };\n}\n\nexport function getColorOverlay(\n theme: Theme,\n baseColor: string,\n overlayColor: string,\n overlayOpacity: number\n): SystemStyleObject {\n return {\n background: mixColor(baseColor, overlayColor, overlayOpacity)(theme),\n };\n}\n\nexport function getBackgroundOverlay(\n theme: Theme,\n backgroundOverlay: number | string,\n overlayColor = 'on.surface'\n): SystemStyleObject {\n if (Number(backgroundOverlay) <= 0) {\n return {};\n }\n const overlay = get(theme, `paper.overlays.${backgroundOverlay}`) || 0;\n return getColorOverlay(theme, 'surface', overlayColor, overlay);\n}\n\nexport function getDarkThemeBackgroundOverlay(\n theme: Theme,\n backgroundOverlay: number | string,\n overlayColor = 'on.surface'\n): SystemStyleObject {\n if (Number(backgroundOverlay) <= 0) {\n return {};\n }\n\n return {\n [`.${DARK_SCHEME_CLASS} &, &.${DARK_SCHEME_CLASS}`]: {\n ...getBackgroundOverlay(theme, backgroundOverlay, overlayColor),\n },\n };\n}\n"],"mappings":";;AACA,SAASA,GAAT,QAAoB,oBAApB;AACA,SAASC,UAAT,QAA2B,UAA3B;AACA,SAASC,iBAAT,QAAkC,yBAAlC;AAIA,OAAO,IAAMC,KAAK,GAChB,SADWA,KACX,CAACC,WAAD,EAAsBC,UAAtB;EAAA,OAA6C,UAACC,KAAD,EAAgB;IAC3D,IAAMC,KAAK,GAAGP,GAAG,CAACM,KAAD,EAAQ,YAAYF,WAApB,EAAiCA,WAAjC,CAAjB;;IACA,IAAIG,KAAK,CAACC,UAAN,CAAiB,KAAjB,CAAJ,EAA6B;MAC3B,IAAMD,MAAK,GAAGP,GAAG,CAACM,KAAD,EAAQ,YAAYF,WAAZ,GAA0B,MAAlC,EAA0CA,WAA1C,CAAjB;;MACA,sBAAeG,MAAf,cAAwBF,UAAxB;IACD;;IAED,IAAMI,GAAG,GAAGR,UAAU,CAACM,KAAD,CAAtB;IACA,sBAAeE,GAAG,CAACC,GAAnB,cAA0BD,GAAG,CAACE,KAA9B,cAAuCF,GAAG,CAACG,IAA3C,cAAmDP,UAAnD;EACD,CATD;AAAA,CADK;AAqBP,OAAO,SAASQ,QAAT,CACLC,SADK,EAELC,YAFK,EAGLC,cAHK,EAImB;EACxB,OAAO,UAACV,KAAD,EAAW;IAChBQ,SAAS,GAAGd,GAAG,CAACM,KAAD,mBAAkBQ,SAAlB,GAA+BA,SAA/B,CAAf;IACAC,YAAY,GAAGC,cAAc,GACzBb,KAAK,CAACY,YAAD,EAAeC,cAAf,CAAL,CAAoCV,KAApC,CADyB,GAEzBN,GAAG,CAACM,KAAD,mBAAkBS,YAAlB,GAAkCA,YAAlC,CAFP;IAIA,iCAA0BA,YAA1B,eAA2CA,YAA3C,gBAA6DD,SAA7D;EACD,CAPD;AAQD;AAED,OAAO,SAASG,eAAT,CACLX,KADK,EAELQ,SAFK,EAGLC,YAHK,EAILC,cAJK,EAKc;EACnB,OAAO;IACLE,UAAU,EAAEL,QAAQ,CAACC,SAAD,EAAYC,YAAZ,EAA0BC,cAA1B,CAAR,CAAkDV,KAAlD;EADP,CAAP;AAGD;AAED,OAAO,SAASa,oBAAT,CACLb,KADK,EAELc,iBAFK,EAIc;EAAA,IADnBL,YACmB,uEADJ,YACI;;EACnB,IAAIM,MAAM,CAACD,iBAAD,CAAN,IAA6B,CAAjC,EAAoC;IAClC,OAAO,EAAP;EACD;;EACD,IAAME,OAAO,GAAGtB,GAAG,CAACM,KAAD,2BAA0Bc,iBAA1B,EAAH,IAAqD,CAArE;EACA,OAAOH,eAAe,CAACX,KAAD,EAAQ,SAAR,EAAmBS,YAAnB,EAAiCO,OAAjC,CAAtB;AACD;AAED,OAAO,SAASC,6BAAT,CACLjB,KADK,EAELc,iBAFK,EAIc;EAAA,IADnBL,YACmB,uEADJ,YACI;;EACnB,IAAIM,MAAM,CAACD,iBAAD,CAAN,IAA6B,CAAjC,EAAoC;IAClC,OAAO,EAAP;EACD;;EAED,sCACOlB,iBADP,mBACiCA,iBADjC,gBAEOiB,oBAAoB,CAACb,KAAD,EAAQc,iBAAR,EAA2BL,YAA3B,CAF3B;AAKD"}
|