{"version":3,"file":"breakpoints.cjs","sources":["../../../src/themes/breakpoints.ts"],"sourcesContent":["/** @beta */\nexport interface ThemeBreakpointValues {\n  xs: number;\n  sm: number;\n  md: number;\n  lg: number;\n  xl: number;\n  xxl: number;\n}\n\n/** @beta */\nexport type ThemeBreakpointsKey = keyof ThemeBreakpointValues;\n\n/** @beta */\nexport interface ThemeBreakpoints {\n  values: ThemeBreakpointValues;\n  keys: string[];\n  unit: string;\n  up: (key: ThemeBreakpointsKey | number) => string;\n  down: (key: ThemeBreakpointsKey | number) => string;\n  container: {\n    up: (key: ThemeBreakpointsKey | number, name?: string) => string;\n    down: (key: ThemeBreakpointsKey | number, name?: string) => string;\n  };\n}\n\n/** @internal */\nexport function createBreakpoints(): ThemeBreakpoints {\n  const step = 5;\n  const keys = ['xs', 'sm', 'md', 'lg', 'xl', 'xxl'];\n  const unit = 'px';\n  const values: ThemeBreakpointValues = {\n    xs: 0,\n    sm: 544,\n    md: 769, // 1 more than regular ipad in portrait\n    lg: 992,\n    xl: 1200,\n    xxl: 1440,\n  };\n\n  function up(key: ThemeBreakpointsKey | number) {\n    const value = typeof key === 'number' ? key : values[key];\n    return `@media (min-width:${value}${unit})`;\n  }\n\n  function down(key: ThemeBreakpointsKey | number) {\n    const value = typeof key === 'number' ? key : values[key];\n    return `@media (max-width:${value - step / 100}${unit})`;\n  }\n\n  function containerUp(key: ThemeBreakpointsKey | number, name?: string) {\n    const value = typeof key === 'number' ? key : values[key];\n    const query = typeof name === 'string' ? `@container ${name}` : '@container';\n    return `${query} (width >= ${value}${unit})`;\n  }\n\n  function containerDown(key: ThemeBreakpointsKey | number, name?: string) {\n    const value = typeof key === 'number' ? key : values[key];\n    const query = typeof name === 'string' ? `@container ${name}` : '@container';\n    return `${query} (width < ${value}${unit})`;\n  }\n\n  // TODO add functions for between and only\n\n  return {\n    values,\n    up,\n    down,\n    keys,\n    unit,\n    container: {\n      up: containerUp,\n      down: containerDown,\n    },\n  };\n}\n"],"names":[],"mappings":";;;;;AA2BO,SAAS,iBAAA,GAAsC;AACpD,EAAA,MAAM,IAAA,GAAO,CAAA;AACb,EAAA,MAAM,OAAO,CAAC,IAAA,EAAM,MAAM,IAAA,EAAM,IAAA,EAAM,MAAM,KAAK,CAAA;AACjD,EAAA,MAAM,IAAA,GAAO,IAAA;AACb,EAAA,MAAM,MAAA,GAAgC;AAAA,IACpC,EAAA,EAAI,CAAA;AAAA,IACJ,EAAA,EAAI,GAAA;AAAA,IACJ,EAAA,EAAI,GAAA;AAAA;AAAA,IACJ,EAAA,EAAI,GAAA;AAAA,IACJ,EAAA,EAAI,IAAA;AAAA,IACJ,GAAA,EAAK;AAAA,GACP;AAEA,EAAA,SAAS,GAAG,GAAA,EAAmC;AAC7C,IAAA,MAAM,QAAQ,OAAO,GAAA,KAAQ,QAAA,GAAW,GAAA,GAAM,OAAO,GAAG,CAAA;AACxD,IAAA,OAAO,CAAA,kBAAA,EAAqB,KAAK,CAAA,EAAG,IAAI,CAAA,CAAA,CAAA;AAAA,EAC1C;AAEA,EAAA,SAAS,KAAK,GAAA,EAAmC;AAC/C,IAAA,MAAM,QAAQ,OAAO,GAAA,KAAQ,QAAA,GAAW,GAAA,GAAM,OAAO,GAAG,CAAA;AACxD,IAAA,OAAO,CAAA,kBAAA,EAAqB,KAAA,GAAQ,IAAA,GAAO,GAAG,GAAG,IAAI,CAAA,CAAA,CAAA;AAAA,EACvD;AAEA,EAAA,SAAS,WAAA,CAAY,KAAmC,IAAA,EAAe;AACrE,IAAA,MAAM,QAAQ,OAAO,GAAA,KAAQ,QAAA,GAAW,GAAA,GAAM,OAAO,GAAG,CAAA;AACxD,IAAA,MAAM,QAAQ,OAAO,IAAA,KAAS,QAAA,GAAW,CAAA,WAAA,EAAc,IAAI,CAAA,CAAA,GAAK,YAAA;AAChE,IAAA,OAAO,CAAA,EAAG,KAAK,CAAA,WAAA,EAAc,KAAK,GAAG,IAAI,CAAA,CAAA,CAAA;AAAA,EAC3C;AAEA,EAAA,SAAS,aAAA,CAAc,KAAmC,IAAA,EAAe;AACvE,IAAA,MAAM,QAAQ,OAAO,GAAA,KAAQ,QAAA,GAAW,GAAA,GAAM,OAAO,GAAG,CAAA;AACxD,IAAA,MAAM,QAAQ,OAAO,IAAA,KAAS,QAAA,GAAW,CAAA,WAAA,EAAc,IAAI,CAAA,CAAA,GAAK,YAAA;AAChE,IAAA,OAAO,CAAA,EAAG,KAAK,CAAA,UAAA,EAAa,KAAK,GAAG,IAAI,CAAA,CAAA,CAAA;AAAA,EAC1C;AAIA,EAAA,OAAO;AAAA,IACL,MAAA;AAAA,IACA,EAAA;AAAA,IACA,IAAA;AAAA,IACA,IAAA;AAAA,IACA,IAAA;AAAA,IACA,SAAA,EAAW;AAAA,MACT,EAAA,EAAI,WAAA;AAAA,MACJ,IAAA,EAAM;AAAA;AACR,GACF;AACF;;;;"}