{"version":3,"sources":["../src/globals.ts"],"names":[],"mappings":";;;AAoBA,SAAS,SAAA,CACP,OACA,KAAA,EACkB;AAClB,EAAA,IAAI,KAAA,IAAS,IAAA,IAAQ,KAAA,KAAU,EAAA,EAAI;AACjC,IAAA,OAAO,KAAA;AAAA,EACT;AACA,EAAA,OAAO,CAAC,MAAM,CAAC,CAAA,EAAG,MAAM,CAAC,CAAA,EAAG,EAAE,KAAA,EAAO,CAAA;AACvC;AAwBO,SAAS,MAAM,OAAA,EAA+D;AACnF,EAAA,MAAM,QAAQ,OAAA,EAAS,KAAA;AACvB,EAAA,MAAM,cAAA,GAAiB,SAAS,uBAAA,KAA4B,KAAA;AAE5D,EAAA,MAAM,eAAA,GAAiC;AAAA,IACrC,gDAAA,EAAkD;AAAA,MAChD,eAAA,EAAiB;AAAA;AACnB,GACF;AAEA,EAAA,MAAM,GAAA,GAA0B;AAAA,IAC9B,SAAA,CAAU,CAAC,wBAAA,EAA0B,EAAE,WAAW,YAAA,EAAc,GAAG,KAAK,CAAA;AAAA,IACxE,SAAA,CAAU,CAAC,eAAA,EAAiB,EAAE,QAAQ,CAAA,EAAG,GAAG,KAAK,CAAA;AAAA,IACjD,SAAA,CAAU,CAAC,MAAA,EAAQ,eAAe,GAAG,KAAK,CAAA;AAAA,IAC1C,SAAA;AAAA,MACE;AAAA,QACE,MAAA;AAAA,QACA;AAAA,UACE,UAAA,EAAY,GAAA;AAAA,UACZ,mBAAA,EAAqB;AAAA;AACvB,OACF;AAAA,MACA;AAAA,KACF;AAAA,IACA,SAAA;AAAA,MACE;AAAA,QACE,kCAAA;AAAA,QACA;AAAA,UACE,OAAA,EAAS,OAAA;AAAA,UACT,QAAA,EAAU;AAAA;AACZ,OACF;AAAA,MACA;AAAA,KACF;AAAA,IACA,SAAA;AAAA,MACE;AAAA,QACE,iCAAA;AAAA,QACA;AAAA,UACE,IAAA,EAAM;AAAA;AACR,OACF;AAAA,MACA;AAAA,KACF;AAAA,IACA,SAAA;AAAA,MACE;AAAA,QACE,2BAAA;AAAA,QACA;AAAA,UACE,YAAA,EAAc;AAAA;AAChB,OACF;AAAA,MACA;AAAA,KACF;AAAA,IACA,SAAA,CAAU,CAAC,GAAA,EAAK,EAAE,UAAU,QAAA,EAA2B,GAAG,KAAK,CAAA;AAAA,IAC/D,SAAA,CAAU,CAAC,wBAAA,EAA0B,EAAE,UAAU,SAAA,EAA4B,GAAG,KAAK;AAAA,GACvF;AAEA,EAAA,IAAI,cAAA,EAAgB;AAClB,IAAA,GAAA,CAAI,IAAA,CAAK,SAAA,CAAU,CAAC,gBAAA,EAAkB,EAAE,WAAW,SAAA,EAAW,CAAA,EAAG,KAAK,CAAC,CAAA;AAAA,EACzE;AAEA,EAAA,OAAO,GAAA;AACT;AAGO,SAAS,SAAA,GAA8B;AAC5C,EAAA,OAAO,CAAC,wBAAA,EAA0B,EAAE,SAAA,EAAW,cAAc,CAAA;AAC/D;AAGO,IAAM,SAAA,GAAY;AAGlB,SAAS,IAAA,CAAK,YAA2B,OAAA,EAAgD;AAC9F,EAAA,OAAO,OAAA,IAAW,OAAO,CAAC,MAAA,EAAQ,YAAY,OAAO,CAAA,GAAI,CAAC,MAAA,EAAQ,UAAU,CAAA;AAC9E;AAGO,SAAS,SAAA,CACd,YACA,OAAA,EACkB;AAClB,EAAA,OAAO,OAAA,IAAW,OAAO,CAAC,aAAA,EAAe,YAAY,OAAO,CAAA,GAAI,CAAC,aAAA,EAAe,UAAU,CAAA;AAC5F;AAGO,SAAS,IAAA,CAAK,YAA2B,OAAA,EAAgD;AAC9F,EAAA,OAAO,OAAA,IAAW,OAAO,CAAC,MAAA,EAAQ,YAAY,OAAO,CAAA,GAAI,CAAC,MAAA,EAAQ,UAAU,CAAA;AAC9E","file":"globals.cjs","sourcesContent":["import type { CSSProperties } from './types';\nimport type { GlobalStyleTuple } from './global-style-tuple';\n\nexport type { GlobalStyleTuple } from './global-style-tuple';\n\n/** Options for {@link reset} (Josh Comeau’s custom CSS reset). */\nexport type JoshComeauResetOptions = {\n  /**\n   * Include `#root, #__next { isolation: isolate }` from the\n   * [original reset](https://www.joshwcomeau.com/css/custom-css-reset/).\n   * @default true\n   */\n  includeAppRootIsolation?: boolean;\n  /**\n   * When set, each tuple includes `{ layer }` so the reset works with\n   * `createGlobal({ layers })` / `createTypeStyles({ layers })` without a factory `globalLayer`.\n   */\n  layer?: string;\n};\n\nfunction withLayer(\n  tuple: readonly [string, CSSProperties],\n  layer: string | undefined,\n): GlobalStyleTuple {\n  if (layer == null || layer === '') {\n    return tuple;\n  }\n  return [tuple[0], tuple[1], { layer }];\n}\n\n/**\n * [Josh Comeau’s custom CSS reset](https://www.joshwcomeau.com/css/custom-css-reset/) as an array of\n * {@link GlobalStyleTuple}s — use with `global.apply(...reset())` or call `global.style` per tuple.\n *\n * With cascade layers, pass `{ layer: 'reset' }` (or your baseline layer) so these rules stay below\n * component layers — or set `globalLayer` on `createTypeStyles` / `createGlobal` and omit `layer` here.\n *\n * Released into the public domain by the author; this port keeps the same rules for convenience.\n *\n * @example\n * ```ts\n * import { createTypeStyles } from 'typestyles';\n * import { reset } from 'typestyles/globals';\n *\n * const { global } = createTypeStyles({\n *   layers: ['reset', 'tokens', 'components'] as const,\n *   tokenLayer: 'tokens',\n *   globalLayer: 'reset',\n * });\n * global.apply(...reset({ includeAppRootIsolation: false }));\n * ```\n */\nexport function reset(options?: JoshComeauResetOptions): readonly GlobalStyleTuple[] {\n  const layer = options?.layer;\n  const includeAppRoot = options?.includeAppRootIsolation !== false;\n\n  const htmlInterpolate: CSSProperties = {\n    '@media (prefers-reduced-motion: no-preference)': {\n      interpolateSize: 'allow-keywords',\n    } as CSSProperties,\n  };\n\n  const out: GlobalStyleTuple[] = [\n    withLayer(['*, *::before, *::after', { boxSizing: 'border-box' }], layer),\n    withLayer(['*:not(dialog)', { margin: 0 }], layer),\n    withLayer(['html', htmlInterpolate], layer),\n    withLayer(\n      [\n        'body',\n        {\n          lineHeight: 1.5,\n          WebkitFontSmoothing: 'antialiased',\n        },\n      ],\n      layer,\n    ),\n    withLayer(\n      [\n        'img, picture, video, canvas, svg',\n        {\n          display: 'block',\n          maxWidth: '100%',\n        },\n      ],\n      layer,\n    ),\n    withLayer(\n      [\n        'input, button, textarea, select',\n        {\n          font: 'inherit',\n        },\n      ],\n      layer,\n    ),\n    withLayer(\n      [\n        'p, h1, h2, h3, h4, h5, h6',\n        {\n          overflowWrap: 'break-word',\n        },\n      ],\n      layer,\n    ),\n    withLayer(['p', { textWrap: 'pretty' } as CSSProperties], layer),\n    withLayer(['h1, h2, h3, h4, h5, h6', { textWrap: 'balance' } as CSSProperties], layer),\n  ];\n\n  if (includeAppRoot) {\n    out.push(withLayer(['#root, #__next', { isolation: 'isolate' }], layer));\n  }\n\n  return out;\n}\n\n/** `box-sizing: border-box` on the universal selector (safe with layered component padding). */\nexport function boxSizing(): GlobalStyleTuple {\n  return ['*, *::before, *::after', { boxSizing: 'border-box' }];\n}\n\n/** Alias of {@link boxSizing}. */\nexport const borderBox = boxSizing;\n\n/** Styles applied to `body` (e.g. margin reset, background, base font). */\nexport function body(properties: CSSProperties, options?: { layer?: string }): GlobalStyleTuple {\n  return options != null ? ['body', properties, options] : ['body', properties];\n}\n\n/** `::selection` colors. */\nexport function selection(\n  properties: CSSProperties,\n  options?: { layer?: string },\n): GlobalStyleTuple {\n  return options != null ? ['::selection', properties, options] : ['::selection', properties];\n}\n\n/** Styles on the `html` element (e.g. font smoothing, scroll behavior). */\nexport function html(properties: CSSProperties, options?: { layer?: string }): GlobalStyleTuple {\n  return options != null ? ['html', properties, options] : ['html', properties];\n}\n"]}