{"version":3,"sources":["jsdelivr-header.js","/npm/tailwind-container-break-out@2.0.9/src/tailwind-container-break-out.js"],"names":[],"mappings":"AAAA;AACA;AACA;AACA;AACA;AACA;AACA,ACNA,MAAM,OAAS,QAAQ,sBAEvB,SAAS,iBAAiB,EAAS,GAAO,GACxC,OAAI,MAAM,QAAQ,GACT,EAAQ,KAAI,IACjB,GAAI,GAAQ,MAAM,QAAQ,GACxB,MAAM,IAAI,MAAM,oDAGlB,GAAsB,iBAAX,EACT,MAAO,CAAE,KAAM,EAAO,WAAY,OAAQ,CAAC,CAAE,IAAK,EAAQ,SAAK,KAGjE,IAAK,EAAM,GAAW,EAGtB,OAFA,EAAO,EAAK,WAEW,iBAAZ,EACF,CAAE,OAAM,OAAQ,CAAC,CAAE,IAAK,EAAS,SAAK,KAG3C,MAAM,QAAQ,GACT,CAAE,OAAM,OAAQ,EAAQ,KAAI,GAAU,aAAa,MAGrD,CAAE,OAAM,OAAQ,CAAC,aAAa,IAAW,IAI7C,iBAAiB,OAAO,QAAQ,GAAW,CAAC,IAAI,EACzD,CAEA,SAAS,cAAe,YAAa,EAAS,IAAE,EAAM,EAAS,IAAE,EAAG,IAAE,GAAQ,CAAC,GAC7E,MAAO,CAAE,MAAK,MAAK,MACrB,CAEA,SAAS,iBAAiB,EAAc,IACtC,OAAO,EACJ,SAAQ,GAAc,EAAW,OAAO,KAAI,GAAc,EAAW,QACrE,QAAO,QAAW,IAAN,GACjB,CAEA,SAAS,sBAAsB,EAAW,EAAS,GACjD,QAAwB,IAAb,EACT,MAAO,GAGT,GAA0B,iBAAb,GAAsC,OAAb,EACpC,MAAO,CACL,CACE,OAAQ,UACR,SAAU,EACV,QAAS,IAKf,IAAI,EAAU,GAEV,EAAS,SACX,EAAQ,KAAK,CACX,OAAQ,UACR,SAAU,EACV,QAAS,EAAS,UAItB,IAAI,EAAqB,KAEzB,IAAK,IAAI,KAAY,EACnB,IAAK,IAAI,KAAU,EACjB,IAAK,IAAI,IAAE,KAAS,EAAO,OACzB,GAAI,IAAQ,EAAU,CACpB,MAAM,EAAuB,EAAS,EAAO,WAChB,IAAzB,GACF,EAAQ,KAAK,CAAE,WAAU,QAAS,IAClC,EAAqB,GACW,OAAvB,GACT,EAAQ,KAAK,CAAE,WAAU,QAAS,GAEtC,CAKN,OAAO,CACT,CAEA,OAAO,QAAU,QAAO,UAAU,cAAE,EAAa,QAAE,EAAO,MAAE,IAC1D,MAAM,EAAU,iBAAiB,EAAM,oBAAqB,EAAM,aAC5D,EAAY,iBAAiB,GAC7B,EAAW,sBAAsB,EAAW,EAAS,EAAM,sBAG3D,EAAoB,CAAC,EAAU,KACnC,IAAI,EAQJ,GANE,EADsB,IAApB,EAAS,OACK,EAAS,GAET,EAAS,MAAK,GAAW,GAAG,EAAQ,YAAe,GAAG,MAIvD,IAAb,EAAgB,CAClB,IAAK,EACH,MAAO,CAAC,EAEV,GAAc,MAAV,EACF,MAAO,CACL,WAAY,IAAI,EAAc,UAC9B,YAAa,IAAI,EAAc,WAGnC,GAAc,MAAV,EACF,MAAO,CACL,YAAa,IAAI,EAAc,WAGnC,GAAc,MAAV,EACF,MAAO,CACL,WAAY,IAAI,EAAc,UAGpC,CAGA,IAAK,EAAe,CAClB,GAAc,MAAV,EACF,MAAO,CACL,WAAY,qDAAqD,UACjE,YAAa,qDAAqD,WAGtE,GAAc,MAAV,EACF,MAAO,CACL,YAAa,qDAAqD,WAGtE,GAAc,MAAV,EACF,MAAO,CACL,WAAY,qDAAqD,UAGvE,CAGA,MAAc,MAAV,EACK,CACL,WAAY,qDAAqD,WAAkB,EAAc,YACjG,YAAa,qDAAqD,WAAkB,EAAc,aAGxF,MAAV,EACK,CACL,YAAa,qDAAqD,WAAkB,EAAc,aAGxF,MAAV,EACK,CACL,WAAY,qDAAqD,WAAkB,EAAc,kBAFrG,CAIA,EAGI,EAAqB,CAAC,EAAU,KACpC,IAAI,EAOJ,GALE,EADsB,IAApB,EAAS,OACK,EAAS,GAET,EAAS,MAAK,GAAW,GAAG,EAAQ,YAAe,GAAG,MAGvD,IAAb,EAAgB,CAClB,IAAK,EACH,MAAO,CAAC,EAEV,GAAc,MAAV,EACF,MAAO,CACL,YAAa,GAAG,EAAc,UAC9B,aAAc,GAAG,EAAc,WAGnC,GAAc,MAAV,EACF,MAAO,CACL,aAAc,GAAG,EAAc,WAGnC,GAAc,MAAV,EACF,MAAO,CACL,YAAa,GAAG,EAAc,UAGpC,CAEA,IAAK,EAAe,CAClB,GAAc,MAAV,EACF,MAAO,CACL,YAAa,oDAAoD,UACjE,aAAc,oDAAoD,WAGtE,GAAc,MAAV,EACF,MAAO,CACL,aAAc,oDAAoD,WAGtE,GAAc,MAAV,EACF,MAAO,CACL,YAAa,oDAAoD,UAGvE,CAEA,MAAc,MAAV,EACK,CACL,YAAa,oDAAoD,WAAkB,EAAc,YACjG,aAAc,oDAAoD,WAAkB,EAAc,aAGxF,MAAV,EACK,CACL,aAAc,oDAAoD,WAAkB,EAAc,aAGxF,MAAV,EACK,CACL,YAAa,oDAAoD,WAAkB,EAAc,kBAFrG,CAIA,EAGI,EAAU,MAAM,KAAK,IAAI,IAAI,EAAU,QAAQ,MAAK,CAAC,EAAG,IAAM,SAAS,GAAK,SAAS,OAAM,KAC/F,CAAC,EAAU,KACF,CACL,CAAC,sBAAsB,MAAc,CACnC,gBAAiB,IACZ,EAAkB,EAAU,MAEjC,gBAAiB,IACZ,EAAkB,EAAU,MAEjC,gBAAiB,IACZ,EAAkB,EAAU,MAEjC,gBAAiB,IACZ,EAAmB,EAAU,MAElC,gBAAiB,IACZ,EAAmB,EAAU,MAElC,gBAAiB,IACZ,EAAmB,EAAU,WAO1C,EAAQ,CACN,QAAS,CACP,yBAA0B,SAI9B,EAAc,CACZ,CACE,gBAAiB,EAAkB,EAAG,MAExC,CACE,gBAAiB,EAAkB,EAAG,MAExC,CACE,gBAAiB,EAAkB,EAAG,MAExC,CACE,gBAAiB,EAAmB,EAAG,MAEzC,CACE,gBAAiB,EAAmB,EAAG,MAEzC,CACE,gBAAiB,EAAmB,EAAG,SAEtC,GAEP","file":"/npm/tailwind-container-break-out@2.0.9/src/tailwind-container-break-out.js","sourceRoot":"","sourcesContent":["/**\n * Minified by jsDelivr using Terser v5.39.0.\n * Original file: /npm/tailwind-container-break-out@2.0.9/src/tailwind-container-break-out.js\n *\n * Do NOT use SRI with dynamically generated files! More information: https://www.jsdelivr.com/using-sri-with-dynamic-files\n */\n","const plugin = require('tailwindcss/plugin');\n\nfunction normalizeScreens(screens, root = true) {\n  if (Array.isArray(screens)) {\n    return screens.map(screen => {\n      if (root && Array.isArray(screen)) {\n        throw new Error('The tuple syntax is not supported for `screens`.');\n      }\n\n      if (typeof screen === 'string') {\n        return { name: screen.toString(), values: [{ min: screen, max: undefined }] };\n      }\n\n      let [name, options] = screen;\n      name = name.toString();\n\n      if (typeof options === 'string') {\n        return { name, values: [{ min: options, max: undefined }] };\n      }\n\n      if (Array.isArray(options)) {\n        return { name, values: options.map(option => resolveValue(option)) };\n      }\n\n      return { name, values: [resolveValue(options)] };\n    });\n  }\n\n  return normalizeScreens(Object.entries(screens ?? {}), false);\n}\n\nfunction resolveValue({ 'min-width': _minWidth, min = _minWidth, max, raw } = {}) {\n  return { min, max, raw };\n}\n\nfunction extractMinWidths(breakpoints = []) {\n  return breakpoints\n    .flatMap(breakpoint => breakpoint.values.map(breakpoint => breakpoint.min))\n    .filter(v => v !== undefined);\n}\n\nfunction mapMinWidthsToPadding(minWidths, screens, paddings) {\n  if (typeof paddings === 'undefined') {\n    return [];\n  }\n\n  if (!(typeof paddings === 'object' && paddings !== null)) {\n    return [\n      {\n        screen: 'DEFAULT',\n        minWidth: 0,\n        padding: paddings\n      }\n    ];\n  }\n\n  let mapping = [];\n\n  if (paddings.DEFAULT) {\n    mapping.push({\n      screen: 'DEFAULT',\n      minWidth: 0,\n      padding: paddings.DEFAULT\n    });\n  }\n\n  let lastNonNullPadding = null;\n\n  for (let minWidth of minWidths) {\n    for (let screen of screens) {\n      for (let { min } of screen.values) {\n        if (min === minWidth) {\n          const paddingForScreenName = paddings[screen.name];\n          if (paddingForScreenName !== undefined) {\n            mapping.push({ minWidth, padding: paddingForScreenName });\n            lastNonNullPadding = paddingForScreenName;\n          } else if (lastNonNullPadding !== null) {\n            mapping.push({ minWidth, padding: lastNonNullPadding });\n          }\n        }\n      }\n    }\n  }\n\n  return mapping;\n}\n\nmodule.exports = plugin(function ({ addComponents, addBase, theme }) {\n  const screens = normalizeScreens(theme('container.screens', theme('screens')));\n  const minWidths = extractMinWidths(screens);\n  const paddings = mapMinWidthsToPadding(minWidths, screens, theme('container.padding'));\n\n  // TODO - account for non-centered containers.\n  const generateMarginFor = (minWidth, xAxis) => {\n    let paddingConfig;\n    if (paddings.length === 1) {\n      paddingConfig = paddings[0];\n    } else {\n      paddingConfig = paddings.find(padding => `${padding.minWidth}` === `${minWidth}`);\n    }\n\n    // If the minWidth is zero (screen size is more than zero), there's no need to do complex calc.\n    if (minWidth === 0) {\n      if (!paddingConfig) {\n        return {};\n      }\n      if (xAxis === 'x') {\n        return {\n          marginLeft: `-${paddingConfig.padding}`,\n          marginRight: `-${paddingConfig.padding}`\n        };\n      }\n      if (xAxis === 'r') {\n        return {\n          marginRight: `-${paddingConfig.padding}`\n        };\n      }\n      if (xAxis === 'l') {\n        return {\n          marginLeft: `-${paddingConfig.padding}`\n        };\n      }\n    }\n\n    // If there is a minWidth, but there's no padding config, just do calc but don't worry about the padding.\n    if (!paddingConfig) {\n      if (xAxis === 'x') {\n        return {\n          marginLeft: `calc((-100vw + var(--twcb-scrollbar-width)) / 2 + ${minWidth} / 2 )`,\n          marginRight: `calc((-100vw + var(--twcb-scrollbar-width)) / 2 + ${minWidth} / 2 )`\n        };\n      }\n      if (xAxis === 'r') {\n        return {\n          marginRight: `calc((-100vw + var(--twcb-scrollbar-width)) / 2 + ${minWidth} / 2 )`\n        };\n      }\n      if (xAxis === 'l') {\n        return {\n          marginLeft: `calc((-100vw + var(--twcb-scrollbar-width)) / 2 + ${minWidth} / 2 )`\n        };\n      }\n    }\n\n    // If there is a padding config and there is a minWidth, do complex calc.\n    if (xAxis === 'x') {\n      return {\n        marginLeft: `calc((-100vw + var(--twcb-scrollbar-width)) / 2 + ${minWidth} / 2 - ${paddingConfig.padding} )`,\n        marginRight: `calc((-100vw + var(--twcb-scrollbar-width)) / 2 + ${minWidth} / 2 - ${paddingConfig.padding} )`\n      };\n    }\n    if (xAxis === 'r') {\n      return {\n        marginRight: `calc((-100vw + var(--twcb-scrollbar-width)) / 2 + ${minWidth} / 2 - ${paddingConfig.padding} )`\n      };\n    }\n    if (xAxis === 'l') {\n      return {\n        marginLeft: `calc((-100vw + var(--twcb-scrollbar-width)) / 2 + ${minWidth} / 2 - ${paddingConfig.padding} )`\n      };\n    }\n  };\n\n  const generatePaddingFor = (minWidth, xAxis) => {\n    let paddingConfig;\n    if (paddings.length === 1) {\n      paddingConfig = paddings[0];\n    } else {\n      paddingConfig = paddings.find(padding => `${padding.minWidth}` === `${minWidth}`);\n    }\n\n    if (minWidth === 0) {\n      if (!paddingConfig) {\n        return {};\n      }\n      if (xAxis === 'x') {\n        return {\n          paddingLeft: `${paddingConfig.padding}`,\n          paddingRight: `${paddingConfig.padding}`\n        };\n      }\n      if (xAxis === 'r') {\n        return {\n          paddingRight: `${paddingConfig.padding}`\n        };\n      }\n      if (xAxis === 'l') {\n        return {\n          paddingLeft: `${paddingConfig.padding}`\n        };\n      }\n    }\n\n    if (!paddingConfig) {\n      if (xAxis === 'x') {\n        return {\n          paddingLeft: `calc((100vw - var(--twcb-scrollbar-width)) / 2 - ${minWidth} / 2 )`,\n          paddingRight: `calc((100vw - var(--twcb-scrollbar-width)) / 2 - ${minWidth} / 2 )`\n        };\n      }\n      if (xAxis === 'r') {\n        return {\n          paddingRight: `calc((100vw - var(--twcb-scrollbar-width)) / 2 - ${minWidth} / 2 )`\n        };\n      }\n      if (xAxis === 'l') {\n        return {\n          paddingLeft: `calc((100vw - var(--twcb-scrollbar-width)) / 2 - ${minWidth} / 2 )`\n        };\n      }\n    }\n\n    if (xAxis === 'x') {\n      return {\n        paddingLeft: `calc((100vw - var(--twcb-scrollbar-width)) / 2 - ${minWidth} / 2 + ${paddingConfig.padding} )`,\n        paddingRight: `calc((100vw - var(--twcb-scrollbar-width)) / 2 - ${minWidth} / 2 + ${paddingConfig.padding} )`\n      };\n    }\n    if (xAxis === 'r') {\n      return {\n        paddingRight: `calc((100vw - var(--twcb-scrollbar-width)) / 2 - ${minWidth} / 2 + ${paddingConfig.padding} )`\n      };\n    }\n    if (xAxis === 'l') {\n      return {\n        paddingLeft: `calc((100vw - var(--twcb-scrollbar-width)) / 2 - ${minWidth} / 2 + ${paddingConfig.padding} )`\n      };\n    }\n  };\n\n  const atRules = Array.from(new Set(minWidths.slice().sort((a, z) => parseInt(a) - parseInt(z)))).map(\n    (minWidth, i) => {\n      return {\n        [`@media (min-width: ${minWidth})`]: {\n          '.mx-break-out': {\n            ...generateMarginFor(minWidth, 'x')\n          },\n          '.ml-break-out': {\n            ...generateMarginFor(minWidth, 'l')\n          },\n          '.mr-break-out': {\n            ...generateMarginFor(minWidth, 'r')\n          },\n          '.px-break-out': {\n            ...generatePaddingFor(minWidth, 'x')\n          },\n          '.pl-break-out': {\n            ...generatePaddingFor(minWidth, 'l')\n          },\n          '.pr-break-out': {\n            ...generatePaddingFor(minWidth, 'r')\n          }\n        }\n      };\n    }\n  );\n\n  addBase({\n    ':root': {\n      '--twcb-scrollbar-width': '0px'\n    }\n  });\n\n  addComponents([\n    {\n      '.mx-break-out': generateMarginFor(0, 'x')\n    },\n    {\n      '.ml-break-out': generateMarginFor(0, 'l')\n    },\n    {\n      '.mr-break-out': generateMarginFor(0, 'r')\n    },\n    {\n      '.px-break-out': generatePaddingFor(0, 'x')\n    },\n    {\n      '.pl-break-out': generatePaddingFor(0, 'l')\n    },\n    {\n      '.pr-break-out': generatePaddingFor(0, 'r')\n    },\n    ...atRules\n  ]);\n});\n"]}