{
  "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,SAASA,WAAWC,qBAAqB;AAEzC,SAASC,iBAAiB;AAInB,IAAMC,YAAuB,CAACC,OAAgBC,YAAAA;AACnD,QAAMC,QAAQD,SAASE,YAAYD,SAASD,SAASG,SAASF;AAC9DG,YAAU,MAAA;AACRC,aAASC,gBAAgBC,UAAUN,UAAU,SAAS,QAAQ,QAAA,EAAU,MAAA;EAC1E,GAAG;IAACA;GAAM;AAEV,SAAOO,cAAcC,eAAe;IAClCC,UAAUF,cAAcT,KAAAA;IACxBY,IAAIC;EACN,CAAA;AACF;;;;AChBA,OAAOC,WAA2D;AAElE,SAASC,IAAIC,qBAAqB;AAQlC,IAAMC,YAAY,CAAC,EAAEC,UAAUC,WAAWC,QAAO,MAAiE;;;WAChH,sBAAA,cAACC,OAAAA;MAAIC,WAAWC,GAAG,sCAAsCH,SAASI,cAAc;QAAEL;MAAU,CAAA,CAAA;OAAMD,QAAAA;;;;;AAGpG,IAAMO,QAAQ,CAAC,EACbC,OACAC,YACAC,WACAN,UAAS,MACkD;;;WAC3D,sBAAA,cAACD,OAAAA;MAAIC,WAAWC,GAAG,kCAAkCD,SAAAA;OAClDK,YAAYE,IAAI,CAAC,EAAEV,WAAWC,QAAO,MACpCQ,WAAWC,IAAI,CAACC,YACd,sBAAA,cAACb,WAAAA;MAAUc,KAAK,GAAGZ,SAAAA,KAAcW,OAAAA;MAAWV;MAAkBD;OAC5D,sBAAA,cAACO,OAAAA,IAAAA,CAAAA,CAAAA,CAAAA,CAAAA;;;;;AAOJ,IAAMM,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,CAACF,UACN,sBAAA,cAACL,OAAAA;IAAIC,WAAU;KACb,sBAAA,cAACG,OAAAA;IAAMC;IAAcJ,WAAU;IAAQK;IAAwBC;MAC/D,sBAAA,cAACH,OAAAA;IAAMC;IAAcJ,WAAU;IAAOK;IAAwBC;;AAGpE;",
  "names": ["useEffect", "createElement", "defaultTx", "withTheme", "Story", "context", "theme", "parameters", "globals", "useEffect", "document", "documentElement", "classList", "createElement", "ThemeProvider", "children", "tx", "defaultTx", "React", "mx", "surfaceShadow", "Container", "children", "elevation", "surface", "div", "className", "mx", "surfaceShadow", "Panel", "Story", "elevations", "densities", "map", "density", "key", "withSurfaceVariantsLayout"]
}
