{"version":3,"file":"composedResolver.js","names":[],"sources":["esm/composedResolver.js"],"sourcesContent":["function compose(props, keys, build) {\n  let conditions = null;\n  let present = false;\n  for (let index = 0; index < keys.length; index++) {\n    const value = props[keys[index]];\n    if (value == null) continue;\n    present = true;\n    if (typeof value === \"object\" && !Array.isArray(value)) {\n      conditions ||= /* @__PURE__ */ new Set();\n      for (const condition in value) conditions.add(condition);\n    }\n  }\n  if (!present) return null;\n  if (!conditions) return build((key) => props[key]);\n  conditions.add(\"default\");\n  const result = {};\n  for (const condition of conditions) {\n    const value = build((key) => {\n      const raw = props[key];\n      return raw && typeof raw === \"object\" && !Array.isArray(raw) ? raw[condition] ?? raw.default : raw;\n    });\n    if (value != null && value !== \"\") result[condition] = value;\n  }\n  return Object.keys(result).length > 0 ? result : null;\n}\nconst gradientKeys = [\n  \"__gradientDirection\",\n  \"__gradientFrom\",\n  \"__gradientVia\",\n  \"__gradientTo\",\n  \"__gradientFromPosition\",\n  \"__gradientViaPosition\",\n  \"__gradientToPosition\"\n];\nfunction gradientStop(color, position) {\n  return position ? `${color} ${position}` : color;\n}\nfunction buildGradient(at) {\n  const dir = at(\"__gradientDirection\");\n  const from = at(\"__gradientFrom\");\n  const via = at(\"__gradientVia\");\n  const to = at(\"__gradientTo\");\n  if (!dir || !from && !via && !to) return null;\n  const start = gradientStop(from || \"transparent\", at(\"__gradientFromPosition\"));\n  const end = gradientStop(to || \"transparent\", at(\"__gradientToPosition\"));\n  return via ? `linear-gradient(${dir}, ${start}, ${gradientStop(via, at(\"__gradientViaPosition\"))}, ${end})` : `linear-gradient(${dir}, ${start}, ${end})`;\n}\nconst boxShadowKeys = [\n  \"__ring\",\n  \"__ringColor\",\n  \"__ringInset\",\n  \"__ringOffsetWidth\",\n  \"__ringOffsetColor\",\n  \"__insetRingWidth\",\n  \"__insetRingColor\",\n  \"__insetShadowGeometry\",\n  \"__insetShadowDefaultColor\",\n  \"__insetShadowColor\",\n  \"__shadow\",\n  \"__shadowColor\"\n];\nfunction splitTopLevel(value, separator) {\n  const parts = [];\n  let depth = 0;\n  let start = 0;\n  for (let index = 0; index < value.length; index++) {\n    const char = value[index];\n    if (char === \"(\") depth++;\n    else if (char === \")\") depth--;\n    else if (char === separator && depth === 0) {\n      const part = value.slice(start, index).trim();\n      if (part) parts.push(part);\n      start = index + 1;\n    }\n  }\n  const last = value.slice(start).trim();\n  if (last) parts.push(last);\n  return parts;\n}\nconst shadowLength = /^(?:inset|-?(?:\\d+|\\d*\\.\\d+)(?:px)?)$/;\nfunction recolorShadow(shadow, color) {\n  return splitTopLevel(shadow, \",\").map((layer) => {\n    const geometry = splitTopLevel(layer, \" \").filter((part) => shadowLength.test(part));\n    return `${geometry.join(\" \")} ${color}`;\n  }).join(\", \");\n}\nfunction px(value) {\n  return Number.parseFloat(value) || 0;\n}\nfunction buildBoxShadow(at) {\n  const shadows = [];\n  const insetShadowGeometry = at(\"__insetShadowGeometry\");\n  if (insetShadowGeometry) {\n    const color = at(\"__insetShadowColor\") || at(\"__insetShadowDefaultColor\") || \"rgb(0 0 0 / 0.05)\";\n    shadows.push(`${insetShadowGeometry} ${color}`.trim());\n  }\n  const insetRingWidth = at(\"__insetRingWidth\");\n  if (insetRingWidth != null) {\n    shadows.push(\n      `inset 0 0 0 ${insetRingWidth} ${at(\"__insetRingColor\") || \"currentColor\"}`\n    );\n  }\n  const ring = at(\"__ring\");\n  if (ring != null) {\n    const inset = at(\"__ringInset\") ? \"inset \" : \"\";\n    const offset = at(\"__ringOffsetWidth\");\n    if (offset != null && px(offset) > 0) {\n      shadows.push(`${inset}0 0 0 ${offset} ${at(\"__ringOffsetColor\") || \"#fff\"}`);\n    }\n    const spread = offset != null ? `${px(ring) + px(offset)}px` : ring;\n    shadows.push(`${inset}0 0 0 ${spread} ${at(\"__ringColor\") || \"currentColor\"}`);\n  }\n  const shadow = at(\"__shadow\");\n  if (shadow && shadow !== \"none\") {\n    const color = at(\"__shadowColor\");\n    shadows.push(color ? recolorShadow(shadow, color) : shadow);\n  }\n  return shadows.length > 0 ? shadows.join(\", \") : null;\n}\nconst filterFunctions = [\n  [\"__filter_blur\", \"blur\"],\n  [\"__filter_brightness\", \"brightness\"],\n  [\"__filter_contrast\", \"contrast\"],\n  [\"__filter_grayscale\", \"grayscale\"],\n  [\"__filter_hueRotate\", \"hue-rotate\"],\n  [\"__filter_invert\", \"invert\"],\n  [\"__filter_saturate\", \"saturate\"],\n  [\"__filter_sepia\", \"sepia\"]\n];\nconst filterKeys = [\n  \"__filter_blur\",\n  \"__filter_brightness\",\n  \"__filter_contrast\",\n  \"__filter_grayscale\",\n  \"__filter_hueRotate\",\n  \"__filter_invert\",\n  \"__filter_saturate\",\n  \"__filter_sepia\",\n  \"__dropShadowGeometry\",\n  \"__dropShadowDefaultColor\",\n  \"__dropShadowColor\"\n];\nfunction buildFilter(at) {\n  const parts = [];\n  for (let index = 0; index < filterFunctions.length; index++) {\n    const [key, cssName] = filterFunctions[index];\n    const value = at(key);\n    if (value != null && value !== \"\") parts.push(`${cssName}(${value})`);\n  }\n  const geometry = at(\"__dropShadowGeometry\");\n  if (geometry) {\n    const color = at(\"__dropShadowColor\") || at(\"__dropShadowDefaultColor\") || \"rgb(0 0 0 / 0.15)\";\n    parts.push(`drop-shadow(${geometry} ${color})`.trim());\n  }\n  return parts.length > 0 ? parts.join(\" \") : null;\n}\nconst transformFunctions = [\n  [\"__transform_perspective\", \"perspective\"],\n  [\"__transform_rotateX\", \"rotateX\"],\n  [\"__transform_rotateY\", \"rotateY\"],\n  [\"__transform_rotateZ\", \"rotateZ\"],\n  [\"__transform_skewX\", \"skewX\"],\n  [\"__transform_skewY\", \"skewY\"]\n];\nconst transformKeys = transformFunctions.map(([key]) => key);\nfunction buildTransform(at) {\n  const parts = [];\n  for (let index = 0; index < transformFunctions.length; index++) {\n    const [key, cssName] = transformFunctions[index];\n    const value = at(key);\n    if (value != null && value !== \"\") parts.push(`${cssName}(${value})`);\n  }\n  return parts.length > 0 ? parts.join(\" \") : null;\n}\nconst leadingKeys = [\"__leading\", \"__textLeading\"];\nfunction buildLeading(at) {\n  return at(\"__leading\") ?? at(\"__textLeading\") ?? null;\n}\nfunction composedResolver(props) {\n  let result = null;\n  const backgroundImage = compose(props, gradientKeys, buildGradient);\n  if (backgroundImage) (result ??= {}).backgroundImage = backgroundImage;\n  if (props.__ring != null || props.__insetRingWidth != null || props.__insetShadowGeometry != null || props.__shadowColor != null) {\n    const boxShadow = compose(props, boxShadowKeys, buildBoxShadow);\n    if (boxShadow) (result ??= {}).boxShadow = boxShadow;\n  }\n  const filter = compose(props, filterKeys, buildFilter);\n  if (filter) (result ??= {}).filter = filter;\n  const transform = compose(props, transformKeys, buildTransform);\n  if (transform) (result ??= {}).transform = transform;\n  const lineHeight = compose(props, leadingKeys, buildLeading);\n  if (lineHeight != null) (result ??= {}).lineHeight = lineHeight;\n  const preset = props.__textShadow_preset;\n  const color = props.__textShadow_color;\n  if (preset) {\n    result ??= {};\n    result.textShadowOffset = preset.offset;\n    result.textShadowRadius = preset.radius;\n    result.textShadowColor = color || preset.defaultColor;\n  } else if (color) {\n    ;\n    (result ??= {}).textShadowColor = color;\n  }\n  return result;\n}\nexport {\n  composedResolver\n};\n//# sourceMappingURL=composedResolver.js.map\n"],"mappings":"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"}