{
  "version": 3,
  "sources": ["../../../../src/testing/decorators/withTheme.ts", "../../../../src/testing/decorators/withSurfaceVariantsLayout.tsx"],
  "sourcesContent": ["//\n// Copyright 2023 DXOS.org\n//\n\nimport { type Decorator, type StoryContext, type StoryFn } from '@storybook/react';\nimport { useEffect, createElement } from 'react';\n\nimport { defaultTx } from '@dxos/react-ui-theme';\n\nimport { ThemeProvider } from '../../components';\n\nexport const withTheme: Decorator = (Story: StoryFn, context: StoryContext) => {\n  const theme = context?.parameters?.theme || context?.globals?.theme;\n  useEffect(() => {\n    document.documentElement.classList[theme === 'dark' ? 'add' : 'remove']('dark');\n  }, [theme]);\n\n  return createElement(ThemeProvider, {\n    children: createElement(Story),\n    tx: defaultTx,\n  });\n};\n", "//\n// Copyright 2023 DXOS.org\n//\n\nimport { type Decorator } from '@storybook/react';\nimport React, { type ComponentType, type PropsWithChildren } from 'react';\n\nimport { mx, surfaceShadow } from '@dxos/react-ui-theme';\nimport { type Density, type Elevation } from '@dxos/react-ui-types';\n\ntype Config = {\n  elevations?: { elevation: Elevation; surface?: string }[];\n  densities?: Density[];\n};\n\nconst Container = ({ children, elevation, surface }: PropsWithChildren<{ elevation: Elevation; surface?: string }>) => (\n  <div className={mx('rounded-md border border-separator', surface, surfaceShadow({ elevation }))}>{children}</div>\n);\n\nconst Panel = ({\n  Story,\n  elevations,\n  densities,\n  className,\n}: { Story: ComponentType } & Config & { className?: string }) => (\n  <div className={mx('flex flex-col h-full p-4 gap-4', className)}>\n    {elevations?.map(({ elevation, surface }) =>\n      densities?.map((density) => (\n        <Container key={`${elevation}--${density}`} surface={surface} elevation={elevation}>\n          <Story />\n        </Container>\n      )),\n    )}\n  </div>\n);\n\nexport const withSurfaceVariantsLayout = ({\n  elevations = [\n    { elevation: 'base', surface: 'bg-baseSurface' },\n    { elevation: 'positioned', surface: 'bg-cardSurface' },\n    { elevation: 'dialog', surface: 'bg-modalSurface' },\n  ],\n  densities = ['coarse'],\n}: Config = {}): Decorator => {\n  return (Story) => (\n    <div className='fixed inset-0 grid grid-cols-2 overflow-y-auto'>\n      <Panel Story={Story} className='light' elevations={elevations} densities={densities} />\n      <Panel Story={Story} className='dark' elevations={elevations} densities={densities} />\n    </div>\n  );\n};\n"],
  "mappings": ";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAKA,mBAAyC;AAEzC,4BAA0B;;ACF1B,IAAAA,gBAAkE;AAElE,IAAAC,yBAAkC;ADI3B,IAAMC,YAAuB,CAACC,OAAgBC,YAAAA;AACnD,QAAMC,QAAQD,SAASE,YAAYD,SAASD,SAASG,SAASF;AAC9DG,8BAAU,MAAA;AACRC,aAASC,gBAAgBC,UAAUN,UAAU,SAAS,QAAQ,QAAA,EAAU,MAAA;EAC1E,GAAG;IAACA;GAAM;AAEV,aAAOO,4BAAcC,qCAAe;IAClCC,cAAUF,4BAAcT,KAAAA;IACxBY,IAAIC;EACN,CAAA;AACF;ACNA,IAAMC,YAAY,CAAC,EAAEH,UAAUI,WAAWC,QAAO,MAAiE;;;WAChH,8BAAAC,QAAA,cAACC,OAAAA;MAAIC,eAAWC,2BAAG,sCAAsCJ,aAASK,sCAAc;QAAEN;MAAU,CAAA,CAAA;OAAMJ,QAAAA;;;;;AAGpG,IAAMW,QAAQ,CAAC,EACbtB,OACAuB,YACAC,WACAL,UAAS,MACkD;;;WAC3D,8BAAAF,QAAA,cAACC,OAAAA;MAAIC,eAAWC,2BAAG,kCAAkCD,SAAAA;OAClDI,YAAYE,IAAI,CAAC,EAAEV,WAAWC,QAAO,MACpCQ,WAAWC,IAAI,CAACC,YACd,8BAAAT,QAAA,cAACH,WAAAA;MAAUa,KAAK,GAAGZ,SAAAA,KAAcW,OAAAA;MAAWV;MAAkBD;OAC5D,8BAAAE,QAAA,cAACjB,OAAAA,IAAAA,CAAAA,CAAAA,CAAAA,CAAAA;;;;;AAOJ,IAAM4B,4BAA4B,CAAC,EACxCL,aAAa;EACX;IAAER,WAAW;IAAQC,SAAS;EAAiB;EAC/C;IAAED,WAAW;IAAcC,SAAS;EAAiB;EACrD;IAAED,WAAW;IAAUC,SAAS;EAAkB;GAEpDQ,YAAY;EAAC;EAAS,IACZ,CAAC,MAAC;AACZ,SAAO,CAACxB,UACN,8BAAAiB,QAAA,cAACC,OAAAA;IAAIC,WAAU;KACb,8BAAAF,QAAA,cAACK,OAAAA;IAAMtB;IAAcmB,WAAU;IAAQI;IAAwBC;MAC/D,8BAAAP,QAAA,cAACK,OAAAA;IAAMtB;IAAcmB,WAAU;IAAOI;IAAwBC;;AAGpE;",
  "names": ["import_react", "import_react_ui_theme", "withTheme", "Story", "context", "theme", "parameters", "globals", "useEffect", "document", "documentElement", "classList", "createElement", "ThemeProvider", "children", "tx", "defaultTx", "Container", "elevation", "surface", "React", "div", "className", "mx", "surfaceShadow", "Panel", "elevations", "densities", "map", "density", "key", "withSurfaceVariantsLayout"]
}
