{"version":3,"file":"gridTypes.js","names":[],"sources":["esm/platform/gridTypes.js"],"sourcesContent":["const gridAlignments = [\n  \"topLeading\",\n  \"top\",\n  \"topTrailing\",\n  \"leading\",\n  \"center\",\n  \"trailing\",\n  \"bottomLeading\",\n  \"bottom\",\n  \"bottomTrailing\"\n];\nconst gridHorizontalAlignments = [\"leading\", \"center\", \"trailing\"];\nconst gridVerticalAlignments = [\n  \"top\",\n  \"center\",\n  \"bottom\",\n  \"firstTextBaseline\",\n  \"lastTextBaseline\"\n];\nfunction nonnegative(value, label, required = false) {\n  if (value === void 0 && !required) return;\n  if (typeof value !== \"number\" || !Number.isFinite(value) || value < 0)\n    throw new Error(`${label} must be a non-negative finite number`);\n}\nfunction gridSpacing(value, owner) {\n  if (value !== void 0 && (typeof value !== \"number\" || !Number.isFinite(value)))\n    throw new Error(`${owner} spacing must be a finite number`);\n  return value === void 0 ? \"null\" : String(value);\n}\nfunction gridItems(items, owner) {\n  if (!Array.isArray(items)) throw new Error(`${owner} items must be an array of GridItem values`);\n  return JSON.stringify(items.map((item, index) => {\n    const label = `${owner} item ${index}`;\n    if (!item || typeof item !== \"object\") throw new Error(`${label} must be a GridItem`);\n    if (item.alignment !== void 0 && !gridAlignments.includes(item.alignment))\n      throw new Error(`${label} alignment must be a SwiftUI Alignment`);\n    if (item.spacing !== void 0 && (typeof item.spacing !== \"number\" || !Number.isFinite(item.spacing)))\n      throw new Error(`${label} spacing must be a finite number`);\n    if (item.size === \"fixed\") {\n      nonnegative(item.value, `${label} value`, true);\n    } else if (item.size === \"flexible\" || item.size === \"adaptive\") {\n      nonnegative(item.minimum, `${label} minimum`, item.size === \"adaptive\");\n      nonnegative(item.maximum, `${label} maximum`);\n      if (item.maximum !== void 0 && item.maximum < (item.minimum ?? 10))\n        throw new Error(`${label} maximum must be at least minimum`);\n    } else throw new Error(`${label} size must be fixed, flexible, or adaptive`);\n    return {\n      size: item.size,\n      value: item.size === \"fixed\" ? item.value : -1,\n      minimum: item.size === \"fixed\" ? -1 : item.minimum ?? -1,\n      maximum: item.size === \"fixed\" ? -1 : item.maximum ?? -1,\n      spacing: item.spacing ?? null,\n      alignment: item.alignment ?? \"\"\n    };\n  }));\n}\nexport {\n  gridAlignments,\n  gridHorizontalAlignments,\n  gridItems,\n  gridSpacing,\n  gridVerticalAlignments\n};\n//# sourceMappingURL=gridTypes.js.map\n"],"mappings":";AAAA,MAAM,iBAAiB;CACrB;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;AACF;AACA,MAAM,2BAA2B;CAAC;CAAW;CAAU;AAAU;AACjE,MAAM,yBAAyB;CAC7B;CACA;CACA;CACA;CACA;AACF;AACA,SAAS,YAAY,OAAO,OAAO,WAAW,OAAO;CACnD,IAAI,UAAU,KAAK,KAAK,CAAC,UAAU;CACnC,IAAI,OAAO,UAAU,YAAY,CAAC,OAAO,SAAS,KAAK,KAAK,QAAQ,GAClE,MAAM,IAAI,MAAM,GAAG,MAAM,sCAAsC;AACnE;AACA,SAAS,YAAY,OAAO,OAAO;CACjC,IAAI,UAAU,KAAK,MAAM,OAAO,UAAU,YAAY,CAAC,OAAO,SAAS,KAAK,IAC1E,MAAM,IAAI,MAAM,GAAG,MAAM,iCAAiC;CAC5D,OAAO,UAAU,KAAK,IAAI,SAAS,OAAO,KAAK;AACjD;AACA,SAAS,UAAU,OAAO,OAAO;CAC/B,IAAI,CAAC,MAAM,QAAQ,KAAK,GAAG,MAAM,IAAI,MAAM,GAAG,MAAM,2CAA2C;CAC/F,OAAO,KAAK,UAAU,MAAM,KAAK,MAAM,UAAU;EAC/C,MAAM,QAAQ,GAAG,MAAM,QAAQ;EAC/B,IAAI,CAAC,QAAQ,OAAO,SAAS,UAAU,MAAM,IAAI,MAAM,GAAG,MAAM,oBAAoB;EACpF,IAAI,KAAK,cAAc,KAAK,KAAK,CAAC,eAAe,SAAS,KAAK,SAAS,GACtE,MAAM,IAAI,MAAM,GAAG,MAAM,uCAAuC;EAClE,IAAI,KAAK,YAAY,KAAK,MAAM,OAAO,KAAK,YAAY,YAAY,CAAC,OAAO,SAAS,KAAK,OAAO,IAC/F,MAAM,IAAI,MAAM,GAAG,MAAM,iCAAiC;EAC5D,IAAI,KAAK,SAAS,SAAS;GACzB,YAAY,KAAK,OAAO,GAAG,MAAM,SAAS,IAAI;EAChD,OAAO,IAAI,KAAK,SAAS,cAAc,KAAK,SAAS,YAAY;GAC/D,YAAY,KAAK,SAAS,GAAG,MAAM,WAAW,KAAK,SAAS,UAAU;GACtE,YAAY,KAAK,SAAS,GAAG,MAAM,SAAS;GAC5C,IAAI,KAAK,YAAY,KAAK,KAAK,KAAK,WAAW,KAAK,WAAW,KAC7D,MAAM,IAAI,MAAM,GAAG,MAAM,kCAAkC;EAC/D,OAAO,MAAM,IAAI,MAAM,GAAG,MAAM,2CAA2C;EAC3E,OAAO;GACL,MAAM,KAAK;GACX,OAAO,KAAK,SAAS,UAAU,KAAK,QAAQ,CAAC;GAC7C,SAAS,KAAK,SAAS,UAAU,CAAC,IAAI,KAAK,WAAW,CAAC;GACvD,SAAS,KAAK,SAAS,UAAU,CAAC,IAAI,KAAK,WAAW,CAAC;GACvD,SAAS,KAAK,WAAW;GACzB,WAAW,KAAK,aAAa;EAC/B;CACF,CAAC,CAAC;AACJ"}