UNPKG

one

Version:

One is a React framework for web, iOS, and Android apps.

1 lines • 67.2 kB
{"version":3,"file":"composeValidation.js","names":[],"sources":["esm/platform/composeValidation.js"],"sourcesContent":["import { composeDatePickerColorKeys, composeTimePickerColorKeys } from \"./composeTypes\";\nimport { composeIconCodepoints } from \"./generated/composeIcons\";\nimport { isSyncState } from \"./syncStore\";\nconst horizontalAlignments = [\"start\", \"centerHorizontally\", \"end\"];\nconst verticalAlignments = [\"top\", \"centerVertically\", \"bottom\"];\nconst contentAlignments = [\n  \"topStart\",\n  \"topCenter\",\n  \"topEnd\",\n  \"centerStart\",\n  \"center\",\n  \"centerEnd\",\n  \"bottomStart\",\n  \"bottomCenter\",\n  \"bottomEnd\",\n  \"top\",\n  \"bottom\",\n  \"start\",\n  \"end\"\n];\nconst verticalArrangements = [\n  \"top\",\n  \"center\",\n  \"bottom\",\n  \"spaceBetween\",\n  \"spaceAround\",\n  \"spaceEvenly\"\n];\nconst horizontalArrangements = [\n  \"start\",\n  \"center\",\n  \"end\",\n  \"spaceBetween\",\n  \"spaceAround\",\n  \"spaceEvenly\"\n];\nconst textAlignments = [\n  \"unspecified\",\n  \"left\",\n  \"right\",\n  \"center\",\n  \"justify\",\n  \"start\",\n  \"end\"\n];\nconst fontWeights = [\n  \"thin\",\n  \"extraLight\",\n  \"light\",\n  \"normal\",\n  \"medium\",\n  \"semiBold\",\n  \"bold\",\n  \"extraBold\",\n  \"black\"\n];\nconst buttonVariants = [\"filled\", \"tonal\", \"elevated\", \"outlined\", \"text\"];\nconst buttonTones = [\"default\", \"danger\"];\nconst textFieldVariants = [\"filled\", \"outlined\"];\nconst textFieldKeyboardTypes = [\n  \"default\",\n  \"number\",\n  \"decimal\",\n  \"email\",\n  \"password\",\n  \"phone\",\n  \"url\"\n];\nconst textFieldImeActions = [\n  \"default\",\n  \"none\",\n  \"go\",\n  \"search\",\n  \"send\",\n  \"previous\",\n  \"next\",\n  \"done\"\n];\nconst textFieldCapitalizations = [\n  \"none\",\n  \"characters\",\n  \"words\",\n  \"sentences\"\n];\nconst progressVariants = [\"linear\", \"circular\", \"linearWavy\", \"circularWavy\"];\nconst progressStrokeCaps = [\"round\", \"butt\", \"square\"];\nconst composeStyleKeys = /* @__PURE__ */ new Set([\n  \"backgroundColor\",\n  \"foregroundColor\",\n  \"padding\",\n  \"paddingTop\",\n  \"paddingRight\",\n  \"paddingBottom\",\n  \"paddingLeft\",\n  \"width\",\n  \"height\",\n  \"fillMaxWidth\",\n  \"fillMaxHeight\",\n  \"weight\",\n  \"cornerRadius\",\n  \"opacity\",\n  \"borderColor\",\n  \"borderWidth\"\n]);\nconst composeStyleNumberKeys = /* @__PURE__ */ new Set([\n  \"padding\",\n  \"paddingTop\",\n  \"paddingRight\",\n  \"paddingBottom\",\n  \"paddingLeft\",\n  \"width\",\n  \"height\",\n  \"cornerRadius\",\n  \"borderWidth\"\n]);\nconst composeStyleColorKeys = /* @__PURE__ */ new Set([\n  \"backgroundColor\",\n  \"foregroundColor\",\n  \"borderColor\"\n]);\nconst checkboxColorKeys = /* @__PURE__ */ new Set([\n  \"checkedColor\",\n  \"disabledCheckedColor\",\n  \"uncheckedColor\",\n  \"disabledUncheckedColor\",\n  \"checkmarkColor\"\n]);\nconst radioColorKeys = /* @__PURE__ */ new Set([\n  \"selectedColor\",\n  \"unselectedColor\",\n  \"disabledSelectedColor\",\n  \"disabledUnselectedColor\"\n]);\nconst cardColorKeys = /* @__PURE__ */ new Set([\"containerColor\", \"contentColor\"]);\nconst listItemColorKeys = /* @__PURE__ */ new Set([\n  \"containerColor\",\n  \"contentColor\",\n  \"leadingContentColor\",\n  \"trailingContentColor\",\n  \"supportingContentColor\",\n  \"overlineContentColor\"\n]);\nfunction validateListItemProps(props) {\n  if (props.colors !== void 0) assertComposeColors(props.colors, listItemColorKeys, \"ListItem\");\n  if (props.tonalElevation !== void 0) {\n    assertFiniteNumber(props.tonalElevation, \"ListItem tonalElevation\");\n    if (props.tonalElevation < 0)\n      throw new Error(\"Compose ListItem tonalElevation must be nonnegative\");\n  }\n  if (props.shadowElevation !== void 0) {\n    assertFiniteNumber(props.shadowElevation, \"ListItem shadowElevation\");\n    if (props.shadowElevation < 0)\n      throw new Error(\"Compose ListItem shadowElevation must be nonnegative\");\n  }\n}\nfunction validateBadgeProps(props) {\n  if (props.containerColor !== void 0)\n    assertComposeColorValue(props.containerColor, \"Badge containerColor\");\n  if (props.contentColor !== void 0)\n    assertComposeColorValue(props.contentColor, \"Badge contentColor\");\n}\nconst assistChipColorKeys = /* @__PURE__ */ new Set([\n  \"containerColor\",\n  \"labelColor\",\n  \"leadingIconContentColor\",\n  \"trailingIconContentColor\"\n]);\nconst filterChipColorKeys = /* @__PURE__ */ new Set([\n  \"containerColor\",\n  \"labelColor\",\n  \"iconColor\",\n  \"selectedContainerColor\",\n  \"selectedLabelColor\",\n  \"selectedLeadingIconColor\",\n  \"selectedTrailingIconColor\"\n]);\nconst inputChipColorKeys = /* @__PURE__ */ new Set([\n  \"containerColor\",\n  \"labelColor\",\n  \"leadingIconColor\",\n  \"trailingIconColor\",\n  \"selectedContainerColor\",\n  \"selectedLabelColor\",\n  \"selectedLeadingIconColor\",\n  \"selectedTrailingIconColor\"\n]);\nconst suggestionChipColorKeys = /* @__PURE__ */ new Set([\n  \"containerColor\",\n  \"labelColor\",\n  \"iconContentColor\"\n]);\nconst iconButtonColorKeys = /* @__PURE__ */ new Set([\n  \"containerColor\",\n  \"contentColor\",\n  \"disabledContainerColor\",\n  \"disabledContentColor\"\n]);\nconst toggleButtonColorKeys = /* @__PURE__ */ new Set([\n  \"containerColor\",\n  \"contentColor\",\n  \"checkedContainerColor\",\n  \"checkedContentColor\",\n  \"disabledContainerColor\",\n  \"disabledContentColor\"\n]);\nconst segmentedButtonColorKeys = /* @__PURE__ */ new Set([\n  \"activeBorderColor\",\n  \"activeContentColor\",\n  \"inactiveBorderColor\",\n  \"inactiveContentColor\",\n  \"disabledActiveBorderColor\",\n  \"disabledActiveContentColor\",\n  \"disabledInactiveBorderColor\",\n  \"disabledInactiveContentColor\",\n  \"activeContainerColor\",\n  \"inactiveContainerColor\",\n  \"disabledActiveContainerColor\",\n  \"disabledInactiveContainerColor\"\n]);\nconst switchColorKeys = /* @__PURE__ */ new Set([\n  \"checkedThumbColor\",\n  \"checkedTrackColor\",\n  \"checkedBorderColor\",\n  \"checkedIconColor\",\n  \"uncheckedThumbColor\",\n  \"uncheckedTrackColor\",\n  \"uncheckedBorderColor\",\n  \"uncheckedIconColor\",\n  \"disabledCheckedThumbColor\",\n  \"disabledCheckedTrackColor\",\n  \"disabledCheckedBorderColor\",\n  \"disabledCheckedIconColor\",\n  \"disabledUncheckedThumbColor\",\n  \"disabledUncheckedTrackColor\",\n  \"disabledUncheckedBorderColor\",\n  \"disabledUncheckedIconColor\"\n]);\nconst sliderColorKeys = /* @__PURE__ */ new Set([\n  \"thumbColor\",\n  \"activeTrackColor\",\n  \"inactiveTrackColor\",\n  \"activeTickColor\",\n  \"inactiveTickColor\"\n]);\nfunction assertComposeColorValue(value, name) {\n  const resourcePaths = value && typeof value === \"object\" && \"resource_paths\" in value ? value.resource_paths : void 0;\n  if ((typeof value !== \"string\" || !value.trim()) && (typeof value !== \"number\" || !Number.isFinite(value)) && (!Array.isArray(resourcePaths) || resourcePaths.length === 0 || resourcePaths.some((path) => typeof path !== \"string\" || !path)))\n    throw new Error(`Compose ${name} must be a color value`);\n}\nfunction assertComposeColors(colors, keys, owner) {\n  if (!colors || typeof colors !== \"object\" || Array.isArray(colors))\n    throw new Error(`Compose ${owner} colors must be an object`);\n  for (const [key, value] of Object.entries(colors)) {\n    if (!keys.has(key))\n      throw new Error(`Compose ${owner} colors does not support ${key}`);\n    if (value !== void 0) assertComposeColorValue(value, `${owner} colors ${key}`);\n  }\n}\nfunction assertComposeStyle(style) {\n  if (style === void 0) return;\n  if (!style || typeof style !== \"object\" || Array.isArray(style))\n    throw new Error(\"Compose composeStyle must be an object\");\n  for (const key of Object.keys(style)) {\n    if (!composeStyleKeys.has(key))\n      throw new Error(`Compose composeStyle does not support ${key}`);\n    const value = style[key];\n    if (value === void 0) continue;\n    if (composeStyleNumberKeys.has(key)) {\n      if (typeof value !== \"number\" || !Number.isFinite(value) || value < 0)\n        throw new Error(`Compose composeStyle ${key} must be a nonnegative finite number`);\n      continue;\n    }\n    if (key === \"opacity\") {\n      if (typeof value !== \"number\" || !Number.isFinite(value) || value < 0 || value > 1)\n        throw new Error(\"Compose composeStyle opacity must be a number from 0 to 1\");\n      continue;\n    }\n    if (key === \"weight\") {\n      if (typeof value !== \"number\" || !Number.isFinite(value) || value <= 0)\n        throw new Error(\"Compose composeStyle weight must be a positive finite number\");\n      continue;\n    }\n    if (composeStyleColorKeys.has(key)) {\n      assertComposeColorValue(value, `composeStyle ${key}`);\n      continue;\n    }\n    if (typeof value !== \"boolean\")\n      throw new Error(`Compose composeStyle ${key} must be a boolean`);\n  }\n}\nfunction assertString(value, name, nonEmpty = false) {\n  if (typeof value !== \"string\" || nonEmpty && !value.trim())\n    throw new Error(`Compose ${name} must be${nonEmpty ? \" a non-empty\" : \"\"} string`);\n}\nfunction assertOptionalString(value, name) {\n  if (value !== void 0) assertString(value, name);\n}\nfunction assertBoolean(value, name) {\n  if (typeof value !== \"boolean\") throw new Error(`Compose ${name} must be a boolean`);\n}\nfunction assertOptionalBoolean(value, name) {\n  if (value !== void 0) assertBoolean(value, name);\n}\nfunction assertOneOf(value, name, values) {\n  if (!values.includes(value))\n    throw new Error(`Compose ${name} must be one of ${values.join(\", \")}`);\n}\nfunction assertFiniteNumber(value, name) {\n  if (typeof value !== \"number\" || !Number.isFinite(value))\n    throw new Error(`Compose ${name} must be a finite number`);\n}\nfunction assertFunction(value, name) {\n  if (typeof value !== \"function\") throw new Error(`Compose ${name} must be a function`);\n}\nfunction validateColumnProps(props) {\n  const horizontalAlignment = props.horizontalAlignment ?? \"start\";\n  const verticalArrangement = props.verticalArrangement ?? \"top\";\n  assertOneOf(horizontalAlignment, \"Column horizontalAlignment\", horizontalAlignments);\n  assertOneOf(verticalArrangement, \"Column verticalArrangement\", verticalArrangements);\n  if (props.spacing !== void 0 && (!Number.isFinite(props.spacing) || props.spacing < 0))\n    throw new Error(\"Compose Column spacing must be a nonnegative finite number\");\n  if (props.spacing !== void 0 && verticalArrangement.startsWith(\"space\"))\n    throw new Error(\n      \"Compose Column spacing cannot be combined with a space-distribution arrangement\"\n    );\n}\nfunction validateRowProps(props) {\n  const verticalAlignment = props.verticalAlignment ?? \"top\";\n  const horizontalArrangement = props.horizontalArrangement ?? \"start\";\n  assertOneOf(verticalAlignment, \"Row verticalAlignment\", verticalAlignments);\n  assertOneOf(horizontalArrangement, \"Row horizontalArrangement\", horizontalArrangements);\n  if (props.spacing !== void 0 && (!Number.isFinite(props.spacing) || props.spacing < 0))\n    throw new Error(\"Compose Row spacing must be a nonnegative finite number\");\n  if (props.spacing !== void 0 && horizontalArrangement.startsWith(\"space\"))\n    throw new Error(\n      \"Compose Row spacing cannot be combined with a space-distribution arrangement\"\n    );\n}\nfunction validateFlowRowProps(props) {\n  function arrangement(value, name, names) {\n    if (typeof value === \"string\") {\n      if (!names.includes(value)) throw new Error(`Compose FlowRow ${name} is unsupported`);\n      return;\n    }\n    if (!value || typeof value !== \"object\" || Array.isArray(value) || Object.keys(value).length !== 1 || !(\"spacedBy\" in value) || typeof value.spacedBy !== \"number\" || !Number.isFinite(value.spacedBy) || value.spacedBy < 0)\n      throw new Error(`Compose FlowRow ${name} spacedBy must be a nonnegative finite number`);\n  }\n  arrangement(props.horizontalArrangement ?? \"start\", \"horizontalArrangement\", horizontalArrangements);\n  arrangement(props.verticalArrangement ?? \"top\", \"verticalArrangement\", verticalArrangements);\n}\nfunction validateBoxProps(props) {\n  assertOneOf(\n    props.contentAlignment ?? \"topStart\",\n    \"Box contentAlignment\",\n    contentAlignments\n  );\n}\nfunction validateTextProps(props) {\n  assertString(props.text, \"Text text\");\n  if (props.fontSize !== void 0 && (!Number.isFinite(props.fontSize) || props.fontSize <= 0))\n    throw new Error(\"Compose Text fontSize must be a positive finite number\");\n  if (props.fontWeight !== void 0)\n    assertOneOf(props.fontWeight, \"Text fontWeight\", fontWeights);\n  if (props.textAlign !== void 0) assertOneOf(props.textAlign, \"Text textAlign\", textAlignments);\n  if (props.maxLines !== void 0 && (!Number.isInteger(props.maxLines) || props.maxLines <= 0))\n    throw new Error(\"Compose Text maxLines must be a positive integer\");\n}\nfunction composeIconGlyph(owner, name) {\n  if (!Object.hasOwn(composeIconCodepoints, name))\n    throw new Error(\n      `Compose ${owner} must be a Material Symbols name, got ${JSON.stringify(name)}`\n    );\n  return String.fromCodePoint(composeIconCodepoints[name]);\n}\nfunction validateIconProps(props) {\n  assertString(props.name, \"Icon name\", true);\n  if (props.size !== void 0 && (!Number.isFinite(props.size) || props.size <= 0))\n    throw new Error(\"Compose Icon size must be a positive finite number\");\n  assertOptionalBoolean(props.filled, \"Icon filled\");\n  composeIconGlyph(\"Icon name\", props.name);\n}\nfunction validateButtonProps(props) {\n  assertString(props.label, \"Button label\", true);\n  assertBoolean(props.disabled ?? false, \"Button disabled\");\n  assertOneOf(props.variant ?? \"filled\", \"Button variant\", buttonVariants);\n  assertOneOf(props.tone ?? \"default\", \"Button tone\", buttonTones);\n  assertBoolean(props.iconFilled ?? false, \"Button iconFilled\");\n  if (props.icon !== void 0) composeIconGlyph(\"Button icon\", props.icon);\n  if (props.onPress !== void 0) assertFunction(props.onPress, \"Button onPress\");\n}\nfunction validateIconButtonProps(props) {\n  assertBoolean(props.enabled ?? true, \"IconButton enabled\");\n  if (props.onClick !== void 0) assertFunction(props.onClick, \"IconButton onClick\");\n  if (props.colors !== void 0) assertComposeColors(props.colors, iconButtonColorKeys, \"IconButton\");\n}\nfunction validateFloatingActionButtonProps(props, variant) {\n  assertOneOf(variant, \"FloatingActionButton variant\", [\"small\", \"medium\", \"large\", \"extended\"]);\n  assertBoolean(props.expanded ?? true, \"FloatingActionButton expanded\");\n  if (props.containerColor !== void 0) assertComposeColorValue(props.containerColor, \"FloatingActionButton containerColor\");\n  if (props.onClick !== void 0) assertFunction(props.onClick, \"FloatingActionButton onClick\");\n}\nfunction validateToggleButtonProps(props) {\n  assertBoolean(props.checked, \"ToggleButton checked\");\n  assertBoolean(props.enabled ?? true, \"ToggleButton enabled\");\n  if (props.onCheckedChange !== void 0) assertFunction(props.onCheckedChange, \"ToggleButton onCheckedChange\");\n  if (props.colors !== void 0) assertComposeColors(props.colors, toggleButtonColorKeys, \"ToggleButton\");\n}\nfunction validateSegmentedButtonProps(props) {\n  if (props.selected !== void 0) assertBoolean(props.selected, \"SegmentedButton selected\");\n  if (props.checked !== void 0) assertBoolean(props.checked, \"SegmentedButton checked\");\n  assertBoolean(props.enabled ?? true, \"SegmentedButton enabled\");\n  if (props.onClick !== void 0) assertFunction(props.onClick, \"SegmentedButton onClick\");\n  if (props.onCheckedChange !== void 0) assertFunction(props.onCheckedChange, \"SegmentedButton onCheckedChange\");\n  if (props.colors !== void 0) assertComposeColors(props.colors, segmentedButtonColorKeys, \"SegmentedButton\");\n}\nfunction validateSwitchProps(props) {\n  assertBoolean(props.isOn, \"Switch isOn\");\n  assertBoolean(props.disabled ?? false, \"Switch disabled\");\n  assertString(props.label ?? \"\", \"Switch label\");\n  assertFunction(props.onIsOnChange, \"Switch onIsOnChange\");\n  if (props.colors !== void 0) assertComposeColors(props.colors, switchColorKeys, \"Switch\");\n}\nfunction validateCheckboxProps(props) {\n  assertBoolean(props.value, \"Checkbox value\");\n  assertBoolean(props.disabled ?? false, \"Checkbox disabled\");\n  if (props.onCheckedChange !== void 0)\n    assertFunction(props.onCheckedChange, \"Checkbox onCheckedChange\");\n  if (props.colors !== void 0) assertComposeColors(props.colors, checkboxColorKeys, \"Checkbox\");\n}\nfunction validateRadioButtonProps(props) {\n  assertBoolean(props.selected, \"RadioButton selected\");\n  assertBoolean(props.disabled ?? false, \"RadioButton disabled\");\n  if (props.onClick !== void 0) assertFunction(props.onClick, \"RadioButton onClick\");\n  if (props.colors !== void 0) assertComposeColors(props.colors, radioColorKeys, \"RadioButton\");\n}\nfunction validateCardProps(props, kind) {\n  if (props.colors !== void 0) assertComposeColors(props.colors, cardColorKeys, kind);\n  if (props.elevation !== void 0) {\n    assertFiniteNumber(props.elevation, `${kind} elevation`);\n    if (props.elevation < 0) throw new Error(`Compose ${kind} elevation must be nonnegative`);\n  }\n  if (kind === \"ElevatedCard\" && props.border !== void 0)\n    throw new Error(\"Compose ElevatedCard does not support border\");\n  assertComposeBorder(props.border, kind);\n}\nfunction validateSurfaceProps(props) {\n  if (props.color !== void 0) assertComposeColorValue(props.color, \"Surface color\");\n  if (props.contentColor !== void 0) assertComposeColorValue(props.contentColor, \"Surface contentColor\");\n  if (props.tonalElevation !== void 0) {\n    assertFiniteNumber(props.tonalElevation, \"Surface tonalElevation\");\n    if (props.tonalElevation < 0) throw new Error(\"Compose Surface tonalElevation must be nonnegative\");\n  }\n  if (props.shadowElevation !== void 0) {\n    assertFiniteNumber(props.shadowElevation, \"Surface shadowElevation\");\n    if (props.shadowElevation < 0) throw new Error(\"Compose Surface shadowElevation must be nonnegative\");\n  }\n  assertComposeBorder(props.border, \"Surface\");\n  assertOptionalBoolean(props.enabled, \"Surface enabled\");\n  assertOptionalBoolean(props.selected, \"Surface selected\");\n  assertOptionalBoolean(props.checked, \"Surface checked\");\n  if (props.onClick !== void 0) assertFunction(props.onClick, \"Surface onClick\");\n  if (props.onCheckedChange !== void 0) assertFunction(props.onCheckedChange, \"Surface onCheckedChange\");\n}\nfunction assertComposeBorder(border, kind) {\n  if (border === void 0) return;\n  if (!border || typeof border !== \"object\" || Array.isArray(border))\n    throw new Error(`Compose ${kind} border must be an object`);\n  for (const key of Object.keys(border))\n    if (key !== \"width\" && key !== \"color\")\n      throw new Error(`Compose ${kind} border does not support ${key}`);\n  if (border.width !== void 0) {\n    assertFiniteNumber(border.width, `${kind} border width`);\n    if (border.width < 0)\n      throw new Error(`Compose ${kind} border width must be nonnegative`);\n  }\n  if (border.color !== void 0) assertComposeColorValue(border.color, `${kind} border color`);\n}\nfunction validateChipProps(props, kind) {\n  const selected = \"selected\" in props ? props.selected : void 0;\n  if (kind === \"FilterChip\") assertBoolean(selected, `${kind} selected`);\n  else if (kind === \"InputChip\" && selected !== void 0)\n    assertBoolean(selected, `${kind} selected`);\n  assertBoolean(props.enabled ?? true, `${kind} enabled`);\n  if (props.onClick !== void 0) assertFunction(props.onClick, `${kind} onClick`);\n  if (props.colors !== void 0) {\n    const keys = kind === \"AssistChip\" ? assistChipColorKeys : kind === \"FilterChip\" ? filterChipColorKeys : kind === \"InputChip\" ? inputChipColorKeys : suggestionChipColorKeys;\n    assertComposeColors(props.colors, keys, kind);\n  }\n  if (props.elevation !== void 0) {\n    assertFiniteNumber(props.elevation, `${kind} elevation`);\n    if (props.elevation < 0) throw new Error(`Compose ${kind} elevation must be nonnegative`);\n  }\n  assertComposeBorder(props.border, kind);\n}\nfunction validateDividerProps(props, kind) {\n  if (props.thickness !== void 0) {\n    assertFiniteNumber(props.thickness, `${kind} thickness`);\n    if (props.thickness < 0) throw new Error(`Compose ${kind} thickness must be nonnegative`);\n  }\n  if (props.color !== void 0) assertComposeColorValue(props.color, `${kind} color`);\n}\nfunction validateTextFieldProps(props) {\n  if (typeof props.text !== \"string\" && !isSyncState(props.text))\n    throw new Error(\"Compose TextField text must be a string or NativeState handle\");\n  assertFunction(props.onTextChange, \"TextField onTextChange\");\n  assertOptionalString(props.label, \"TextField label\");\n  assertOptionalString(props.placeholder, \"TextField placeholder\");\n  assertOptionalBoolean(props.disabled, \"TextField disabled\");\n  if (props.variant !== void 0)\n    assertOneOf(props.variant, \"TextField variant\", textFieldVariants);\n  if (props.keyboardType !== void 0)\n    assertOneOf(props.keyboardType, \"TextField keyboardType\", textFieldKeyboardTypes);\n  assertOptionalBoolean(props.secureText, \"TextField secureText\");\n  assertOptionalBoolean(props.focused, \"TextField focused\");\n  if (props.onFocusChange !== void 0)\n    assertFunction(props.onFocusChange, \"TextField onFocusChange\");\n  if (props.imeAction !== void 0)\n    assertOneOf(props.imeAction, \"TextField imeAction\", textFieldImeActions);\n  if (props.onSubmit !== void 0) assertFunction(props.onSubmit, \"TextField onSubmit\");\n  if (props.maxLength !== void 0 && (!Number.isInteger(props.maxLength) || props.maxLength < 0))\n    throw new Error(\"Compose TextField maxLength must be a nonnegative integer\");\n  assertOptionalBoolean(props.multiline, \"TextField multiline\");\n  if (props.capitalization !== void 0)\n    assertOneOf(props.capitalization, \"TextField capitalization\", textFieldCapitalizations);\n  assertOptionalBoolean(props.autoCorrect, \"TextField autoCorrect\");\n  if (props.textAlign !== void 0)\n    assertOneOf(props.textAlign, \"TextField textAlign\", textAlignments);\n}\nfunction validateSliderProps(props) {\n  const minimumValue = props.minimumValue ?? 0;\n  const maximumValue = props.maximumValue ?? 1;\n  const step = props.step ?? 0;\n  assertFiniteNumber(props.value, \"Slider value\");\n  assertFiniteNumber(minimumValue, \"Slider minimumValue\");\n  assertFiniteNumber(maximumValue, \"Slider maximumValue\");\n  assertFiniteNumber(step, \"Slider step\");\n  if (props.lowerLimit !== void 0) assertFiniteNumber(props.lowerLimit, \"Slider lowerLimit\");\n  if (props.upperLimit !== void 0) assertFiniteNumber(props.upperLimit, \"Slider upperLimit\");\n  if (props.lowerLimit !== void 0 && !Number.isFinite(Math.fround(props.lowerLimit)) || props.upperLimit !== void 0 && !Number.isFinite(Math.fround(props.upperLimit)))\n    throw new Error(\"Compose Slider limits must be representable by Android Float values\");\n  if (minimumValue >= maximumValue)\n    throw new Error(\"Compose Slider minimumValue must be less than maximumValue\");\n  if (!Number.isFinite(Math.fround(minimumValue)) || !Number.isFinite(Math.fround(maximumValue)) || Math.fround(minimumValue) >= Math.fround(maximumValue))\n    throw new Error(\"Compose Slider range must be representable by Android Float values\");\n  if (step < 0) throw new Error(\"Compose Slider step must be a nonnegative finite number\");\n  if (step > 0) {\n    const intervals = (maximumValue - minimumValue) / step;\n    const roundedIntervals = Math.round(intervals);\n    if (Math.abs(intervals - roundedIntervals) > Number.EPSILON * Math.max(1, Math.abs(intervals)) * 8)\n      throw new Error(\"Compose Slider step must evenly divide its range\");\n    if (roundedIntervals > 1001)\n      throw new Error(\"Compose Slider step must produce at most 1001 intervals\");\n  }\n  if (props.value < minimumValue || props.value > maximumValue)\n    throw new Error(\"Compose Slider value must be between minimumValue and maximumValue\");\n  if (Math.max(Math.fround(minimumValue), Math.fround(props.lowerLimit ?? minimumValue)) > Math.min(Math.fround(maximumValue), Math.fround(props.upperLimit ?? maximumValue)))\n    throw new Error(\"Compose Slider limits must overlap the value range\");\n  assertFunction(props.onValueChange, \"Slider onValueChange\");\n  assertOptionalBoolean(props.disabled, \"Slider disabled\");\n  if (props.colors !== void 0) assertComposeColors(props.colors, sliderColorKeys, \"Slider\");\n}\nfunction validateAlertDialogProps(props) {\n  assertBoolean(props.visible, \"AlertDialog visible\");\n  assertOptionalString(props.title, \"AlertDialog title\");\n  assertOptionalString(props.message, \"AlertDialog message\");\n  assertString(props.confirmLabel, \"AlertDialog confirmLabel\", true);\n  assertOptionalString(props.dismissLabel, \"AlertDialog dismissLabel\");\n  assertFunction(props.onConfirm, \"AlertDialog onConfirm\");\n  assertFunction(props.onDismiss, \"AlertDialog onDismiss\");\n}\nfunction validateDialogProps(props) {\n  assertBoolean(props.visible, \"Dialog visible\");\n  assertFunction(props.onDismiss, \"Dialog onDismiss\");\n}\nfunction validateProgressIndicatorProps(props) {\n  if (props.variant !== void 0)\n    assertOneOf(props.variant, \"ProgressIndicator variant\", progressVariants);\n  if (props.progress != null && (typeof props.progress !== \"number\" || !Number.isFinite(props.progress) || props.progress < 0 || props.progress > 1))\n    throw new Error(\"Compose ProgressIndicator progress must be a number from 0 to 1\");\n  if (props.color !== void 0) assertComposeColorValue(props.color, \"ProgressIndicator color\");\n  if (props.trackColor !== void 0) assertComposeColorValue(props.trackColor, \"ProgressIndicator trackColor\");\n  const variant = props.variant ?? \"circular\";\n  if (props.strokeCap !== void 0) {\n    assertOneOf(props.strokeCap, \"ProgressIndicator strokeCap\", progressStrokeCaps);\n    if (variant !== \"linear\" && variant !== \"circular\") throw new Error(\"Compose ProgressIndicator strokeCap requires a regular indicator\");\n  }\n  for (const key of [\"gapSize\", \"strokeWidth\", \"stopSize\", \"amplitude\", \"wavelength\", \"waveSpeed\"]) {\n    const value = props[key];\n    if (value === void 0) continue;\n    assertFiniteNumber(value, `ProgressIndicator ${key}`);\n    if (value < 0 || key === \"amplitude\" && value > 1) throw new Error(`Compose ProgressIndicator ${key} is out of range`);\n  }\n  if (props.gapSize !== void 0 && variant !== \"linear\" && variant !== \"circular\") throw new Error(\"Compose ProgressIndicator gapSize requires a regular indicator\");\n  if (props.strokeWidth !== void 0 && variant !== \"circular\") throw new Error(\"Compose ProgressIndicator strokeWidth requires a circular indicator\");\n  if (props.stopSize !== void 0 && variant !== \"linearWavy\") throw new Error(\"Compose ProgressIndicator stopSize requires a linear wavy indicator\");\n  if ((props.amplitude !== void 0 || props.wavelength !== void 0 || props.waveSpeed !== void 0) && variant !== \"linearWavy\" && variant !== \"circularWavy\")\n    throw new Error(\"Compose ProgressIndicator wave settings require a wavy indicator\");\n  if (props.drawStopIndicator !== void 0) {\n    if (variant !== \"linear\" || props.progress == null) throw new Error(\"Compose ProgressIndicator drawStopIndicator requires determinate linear progress\");\n    const stop = props.drawStopIndicator;\n    if (typeof stop !== \"object\" || stop === null || Array.isArray(stop)) throw new Error(\"Compose ProgressIndicator drawStopIndicator must be an object\");\n    for (const key of Object.keys(stop)) if (key !== \"color\" && key !== \"strokeCap\" && key !== \"stopSize\") throw new Error(`Compose ProgressIndicator drawStopIndicator has unknown key ${key}`);\n    if (stop.color !== void 0) assertComposeColorValue(stop.color, \"ProgressIndicator drawStopIndicator color\");\n    if (stop.strokeCap !== void 0) assertOneOf(stop.strokeCap, \"ProgressIndicator drawStopIndicator strokeCap\", progressStrokeCaps);\n    if (stop.stopSize !== void 0) {\n      assertFiniteNumber(stop.stopSize, \"ProgressIndicator drawStopIndicator stopSize\");\n      if (stop.stopSize < 0) throw new Error(\"Compose ProgressIndicator drawStopIndicator stopSize must be nonnegative\");\n    }\n  }\n}\nfunction validateLoadingIndicatorProps(props) {\n  if (props.progress != null && (typeof props.progress !== \"number\" || !Number.isFinite(props.progress) || props.progress < 0 || props.progress > 1))\n    throw new Error(\"Compose LoadingIndicator progress must be a number from 0 to 1\");\n  if (props.color !== void 0) assertComposeColorValue(props.color, \"LoadingIndicator color\");\n  if (\"containerColor\" in props && props.containerColor !== void 0)\n    assertComposeColorValue(props.containerColor, \"ContainedLoadingIndicator containerColor\");\n}\nconst datePickerColorKeys = new Set(composeDatePickerColorKeys);\nconst timePickerColorKeys = new Set(composeTimePickerColorKeys);\nconst pickerVariants = [\"picker\", \"input\"];\nfunction assertDate(value, name) {\n  if (!(value instanceof Date) || !Number.isFinite(value.getTime()))\n    throw new Error(`Compose ${name} must be a valid Date`);\n}\nfunction composeUtcDay(date) {\n  return Date.UTC(date.getFullYear(), date.getMonth(), date.getDate());\n}\nfunction validatePickerShared(props, owner) {\n  assertDate(props.selection, `${owner} selection`);\n  if (props.variant !== void 0) assertOneOf(props.variant, `${owner} variant`, pickerVariants);\n  if (props.color !== void 0) assertComposeColorValue(props.color, `${owner} color`);\n}\nfunction validateDatePickerProps(props, owner = \"DatePicker\") {\n  validatePickerShared(props, owner);\n  assertOptionalBoolean(props.showModeToggle, `${owner} showModeToggle`);\n  if (props.minimumDate !== void 0) assertDate(props.minimumDate, `${owner} minimumDate`);\n  if (props.maximumDate !== void 0) assertDate(props.maximumDate, `${owner} maximumDate`);\n  const day = composeUtcDay(props.selection);\n  const minimum = props.minimumDate && composeUtcDay(props.minimumDate);\n  const maximum = props.maximumDate && composeUtcDay(props.maximumDate);\n  if (minimum !== void 0 && maximum !== void 0 && minimum > maximum)\n    throw new Error(`Compose ${owner} minimumDate must not be after maximumDate`);\n  if (minimum !== void 0 && day < minimum || maximum !== void 0 && day > maximum)\n    throw new Error(`Compose ${owner} selection must be between minimumDate and maximumDate`);\n  if (props.colors !== void 0) assertComposeColors(props.colors, datePickerColorKeys, owner);\n}\nfunction validateTimePickerProps(props, owner = \"TimePicker\") {\n  validatePickerShared(props, owner);\n  assertOptionalBoolean(props.is24Hour, `${owner} is24Hour`);\n  if (props.colors !== void 0) assertComposeColors(props.colors, timePickerColorKeys, owner);\n}\nfunction validatePickerDialogProps(props, owner) {\n  assertBoolean(props.visible, `${owner} visible`);\n  assertFunction(props.onConfirm, `${owner} onConfirm`);\n  assertFunction(props.onDismiss, `${owner} onDismiss`);\n  assertOptionalString(props.confirmLabel, `${owner} confirmLabel`);\n  assertOptionalString(props.dismissLabel, `${owner} dismissLabel`);\n}\nconst lazyAlignments = [\"start\", \"end\", \"center\"];\nconst lazyRowAlignments = [\"top\", \"bottom\", \"center\"];\nconst lazyContentPaddingKeys = [\"start\", \"end\", \"top\", \"bottom\"];\nconst imageContentScales = [\n  \"fit\",\n  \"crop\",\n  \"fillBounds\",\n  \"fillWidth\",\n  \"fillHeight\",\n  \"inside\",\n  \"none\"\n];\nconst snackbarColorKeys = /* @__PURE__ */ new Set([\n  \"containerColor\",\n  \"contentColor\",\n  \"actionColor\",\n  \"actionContentColor\",\n  \"dismissActionContentColor\"\n]);\nconst snackbarPropKeys = /* @__PURE__ */ new Set([...snackbarColorKeys, \"actionOnNewLine\"]);\nconst snackbarDurations = [\"short\", \"long\", \"indefinite\"];\nconst sheetPropertyKeys = /* @__PURE__ */ new Set([\"shouldDismissOnClickOutside\"]);\nfunction assertSpacedBy(value, owner, name) {\n  if (value === void 0) return void 0;\n  if (typeof value === \"string\") {\n    assertOneOf(\n      value,\n      `${owner} ${name}`,\n      name === \"horizontalArrangement\" ? horizontalArrangements : verticalArrangements\n    );\n    return value;\n  }\n  if (!value || typeof value !== \"object\" || Array.isArray(value) || Object.keys(value).length !== 1 || !(\"spacedBy\" in value))\n    throw new Error(`Compose ${owner} ${name} must be a preset or { spacedBy }`);\n  const spacedBy = value.spacedBy;\n  if (typeof spacedBy !== \"number\" || !Number.isFinite(spacedBy) || spacedBy < 0)\n    throw new Error(`Compose ${owner} ${name} spacedBy must be a nonnegative finite number`);\n  return spacedBy;\n}\nfunction assertLazyContentPadding(value, owner) {\n  if (value === void 0) return;\n  if (!value || typeof value !== \"object\" || Array.isArray(value))\n    throw new Error(`Compose ${owner} contentPadding must be an object`);\n  for (const [key, entry] of Object.entries(value)) {\n    if (!lazyContentPaddingKeys.includes(key))\n      throw new Error(`Compose ${owner} contentPadding has unknown key ${key}`);\n    if (entry !== void 0 && (typeof entry !== \"number\" || !Number.isFinite(entry) || entry < 0))\n      throw new Error(`Compose ${owner} contentPadding ${key} must be a nonnegative finite number`);\n  }\n}\nfunction validateLazyColumnProps(props) {\n  assertOneOf(props.horizontalAlignment ?? \"start\", \"LazyColumn horizontalAlignment\", lazyAlignments);\n  assertSpacedBy(props.verticalArrangement ?? \"top\", \"LazyColumn\", \"verticalArrangement\");\n  assertLazyContentPadding(props.contentPadding, \"LazyColumn\");\n}\nfunction validateLazyRowProps(props) {\n  assertOneOf(props.verticalAlignment ?? \"top\", \"LazyRow verticalAlignment\", lazyRowAlignments);\n  assertSpacedBy(props.horizontalArrangement ?? \"start\", \"LazyRow\", \"horizontalArrangement\");\n  assertLazyContentPadding(props.contentPadding, \"LazyRow\");\n}\nfunction validateImageProps(props) {\n  const source = props.source;\n  const validSource = typeof source === \"number\" && Number.isFinite(source) || source !== null && typeof source === \"object\" && !Array.isArray(source) && typeof source.uri === \"string\" && source.uri.length > 0;\n  if (!validSource)\n    throw new Error(\"Compose Image source must be a { uri } object or a bundled asset id\");\n  if (props.contentScale !== void 0)\n    assertOneOf(props.contentScale, \"Image contentScale\", imageContentScales);\n  if (props.alignment !== void 0)\n    assertOneOf(props.alignment, \"Image alignment\", contentAlignments);\n  if (props.contentDescription !== void 0 && props.contentDescription !== null && typeof props.contentDescription !== \"string\")\n    throw new Error(\"Compose Image contentDescription must be a string or null\");\n  if (props.tint !== void 0) assertComposeColorValue(props.tint, \"Image tint\");\n  if (props.alpha !== void 0 && (typeof props.alpha !== \"number\" || !(props.alpha >= 0 && props.alpha <= 1)))\n    throw new Error(\"Compose Image alpha must be a number from 0 to 1\");\n  if (props.onLoad !== void 0) assertFunction(props.onLoad, \"Image onLoad\");\n  if (props.onError !== void 0) assertFunction(props.onError, \"Image onError\");\n}\nfunction validateSnackbarProps(props) {\n  for (const [key, value] of Object.entries(props)) {\n    if (key === \"children\") continue;\n    if (!snackbarPropKeys.has(key))\n      throw new Error(`Compose Snackbar colors does not support ${key}`);\n    if (key === \"actionOnNewLine\") {\n      if (value !== void 0) assertBoolean(value, \"Snackbar actionOnNewLine\");\n    } else if (value !== void 0)\n      assertComposeColorValue(value, `Snackbar ${key}`);\n  }\n}\nfunction validateSnackbarShowOptions(options) {\n  if (!options || typeof options !== \"object\" || Array.isArray(options))\n    throw new Error(\"Compose SnackbarHost message must be a non-empty string\");\n  if (typeof options.message !== \"string\" || !options.message.trim())\n    throw new Error(\"Compose SnackbarHost message must be a non-empty string\");\n  if (options.actionLabel !== void 0 && typeof options.actionLabel !== \"string\")\n    throw new Error(\"Compose SnackbarHost actionLabel must be a string\");\n  if (options.duration !== void 0)\n    assertOneOf(options.duration, \"SnackbarHost duration\", snackbarDurations);\n  if (options.withDismissAction !== void 0)\n    assertBoolean(options.withDismissAction, \"SnackbarHost withDismissAction\");\n}\nconst navigationBarItemColorKeys = /* @__PURE__ */ new Set([\n  \"selectedIconColor\",\n  \"selectedTextColor\",\n  \"indicatorColor\",\n  \"unselectedIconColor\",\n  \"unselectedTextColor\",\n  \"disabledIconColor\",\n  \"disabledTextColor\"\n]);\nfunction validateNavigationBarProps(props) {\n  if (props.containerColor !== void 0)\n    assertComposeColorValue(props.containerColor, \"NavigationBar containerColor\");\n  if (props.contentColor !== void 0)\n    assertComposeColorValue(props.contentColor, \"NavigationBar contentColor\");\n  if (props.tonalElevation !== void 0) {\n    assertFiniteNumber(props.tonalElevation, \"NavigationBar tonalElevation\");\n    if (props.tonalElevation < 0)\n      throw new Error(\"Compose NavigationBar tonalElevation must be nonnegative\");\n  }\n}\nfunction validateNavigationBarItemProps(props) {\n  assertBoolean(props.selected, \"NavigationBarItem selected\");\n  assertFunction(props.onClick, \"NavigationBarItem onClick\");\n  assertOptionalString(props.label, \"NavigationBarItem label\");\n  assertString(props.icon, \"NavigationBarItem icon\", true);\n  composeIconGlyph(\"NavigationBarItem icon\", props.icon);\n  assertOptionalBoolean(props.iconFilled, \"NavigationBarItem iconFilled\");\n  assertOptionalBoolean(props.enabled, \"NavigationBarItem enabled\");\n  assertOptionalBoolean(props.alwaysShowLabel, \"NavigationBarItem alwaysShowLabel\");\n  if (props.colors !== void 0)\n    assertComposeColors(props.colors, navigationBarItemColorKeys, \"NavigationBarItem\");\n}\nfunction validateSearchBarProps(props, owner = \"SearchBar\") {\n  assertString(props.query, `${owner} query`);\n  assertFunction(props.onQueryChange, `${owner} onQueryChange`);\n  assertBoolean(props.expanded, `${owner} expanded`);\n  assertFunction(props.onExpandedChange, `${owner} onExpandedChange`);\n  assertOptionalString(props.placeholder, `${owner} placeholder`);\n  assertOptionalBoolean(props.enabled, `${owner} enabled`);\n  if (props.onSearch !== void 0) assertFunction(props.onSearch, `${owner} onSearch`);\n  if (props.containerColor !== void 0)\n    assertComposeColorValue(props.containerColor, `${owner} containerColor`);\n}\nconst dropdownMenuItemColorKeys = /* @__PURE__ */ new Set([\n  \"textColor\",\n  \"leadingIconColor\",\n  \"trailingIconColor\",\n  \"disabledTextColor\",\n  \"disabledLeadingIconColor\",\n  \"disabledTrailingIconColor\"\n]);\nfunction validateDropdownMenuProps(props) {\n  assertBoolean(props.expanded, \"DropdownMenu expanded\");\n  assertFunction(props.onDismissRequest, \"DropdownMenu onDismissRequest\");\n  if (props.containerColor !== void 0)\n    assertComposeColorValue(props.containerColor, \"DropdownMenu containerColor\");\n}\nfunction validateDropdownMenuItemProps(props) {\n  assertString(props.text, \"DropdownMenuItem text\", true);\n  assertFunction(props.onClick, \"DropdownMenuItem onClick\");\n  assertOptionalBoolean(props.enabled, \"DropdownMenuItem enabled\");\n  if (props.leadingIcon !== void 0) {\n    assertString(props.leadingIcon, \"DropdownMenuItem leadingIcon\", true);\n    composeIconGlyph(\"DropdownMenuItem leadingIcon\", props.leadingIcon);\n  }\n  if (props.trailingIcon !== void 0) {\n    assertString(props.trailingIcon, \"DropdownMenuItem trailingIcon\", true);\n    composeIconGlyph(\"DropdownMenuItem trailingIcon\", props.trailingIcon);\n  }\n  assertOptionalBoolean(props.iconFilled, \"DropdownMenuItem iconFilled\");\n  if (props.colors !== void 0)\n    assertComposeColors(props.colors, dropdownMenuItemColorKeys, \"DropdownMenuItem\");\n}\nfunction validateExposedDropdownMenuBoxProps(props) {\n  assertBoolean(props.expanded, \"ExposedDropdownMenuBox expanded\");\n  assertFunction(props.onExpandedChange, \"ExposedDropdownMenuBox onExpandedChange\");\n  assertString(props.value, \"ExposedDropdownMenuBox value\");\n  assertOptionalString(props.placeholder, \"ExposedDropdownMenuBox placeholder\");\n  assertOptionalBoolean(props.enabled, \"ExposedDropdownMenuBox enabled\");\n}\nfunction validatePullToRefreshBoxProps(props) {\n  assertBoolean(props.isRefreshing, \"PullToRefreshBox isRefreshing\");\n  assertFunction(props.onRefresh, \"PullToRefreshBox onRefresh\");\n  assertOptionalBoolean(props.enabled, \"PullToRefreshBox enabled\");\n}\nconst animatedVisibilityTransitions = [\n  \"fade\",\n  \"scale\",\n  \"slideVertically\",\n  \"expandVertically\"\n];\nfunction validateTooltipBoxProps(props) {\n  assertString(props.text, \"TooltipBox text\", true);\n  assertOptionalString(props.title, \"TooltipBox title\");\n  assertOptionalBoolean(props.enabled, \"TooltipBox enabled\");\n}\nfunction validateAnimatedVisibilityProps(props) {\n  assertBoolean(props.visible, \"AnimatedVisibility visible\");\n  if (props.enter !== void 0)\n    assertOneOf(props.enter, \"AnimatedVisibility enter\", animatedVisibilityTransitions);\n  if (props.exit !== void 0)\n    assertOneOf(props.exit, \"AnimatedVisibility exit\", animatedVisibilityTransitions);\n}\nfunction validateModalBottomSheetProps(props) {\n  assertFunction(props.onDismissRequest, \"ModalBottomSheet onDismissRequest\");\n  if (props.properties !== void 0) {\n    if (!props.properties || typeof props.properties !== \"object\" || Array.isArray(props.properties))\n      throw new Error(\"Compose ModalBottomSheet properties must be an object\");\n    for (const [key, value] of Object.entries(props.properties)) {\n      if (!sheetPropertyKeys.has(key))\n        throw new Error(`Compose ModalBottomSheet properties has unknown key ${key}`);\n      if (value !== void 0) assertBoolean(value, `ModalBottomSheet properties ${key}`);\n    }\n  }\n  if (props.scrimColor !== void 0)\n    assertComposeColorValue(props.scrimColor, \"ModalBottomSheet scrimColor\");\n  assertOptionalBoolean(props.skipPartiallyExpanded, \"ModalBottomSheet skipPartiallyExpanded\");\n  assertOptionalBoolean(props.initialFullyExpanded, \"ModalBottomSheet initialFullyExpanded\");\n  assertOptionalBoolean(props.showDragHandle, \"ModalBottomSheet showDragHandle\");\n  assertOptionalBoolean(props.sheetGesturesEnabled, \"ModalBottomSheet sheetGesturesEnabled\");\n}\nexport {\n  animatedVisibilityTransitions,\n  assertBoolean,\n  assertComposeStyle,\n  assertFiniteNumber,\n  assertFunction,\n  assertOneOf,\n  assertOptionalBoolean,\n  assertOptionalString,\n  assertString,\n  buttonTones,\n  buttonVariants,\n  composeIconGlyph,\n  composeUtcDay,\n  contentAlignments,\n  fontWeights,\n  horizontalAlignments,\n  horizontalArrangements,\n  imageContentScales,\n  lazyAlignments,\n  lazyRowAlignments,\n  progressStrokeCaps,\n  progressVariants,\n  snackbarDurations,\n  textAlignments,\n  textFieldCapitalizations,\n  textFieldImeActions,\n  textFieldKeyboardTypes,\n  textFieldVariants,\n  validateAlertDialogProps,\n  validateAnimatedVisibilityProps,\n  validateBadgeProps,\n  validateBoxProps,\n  validateButtonProps,\n  validateCardProps,\n  validateCheckboxProps,\n  validateChipProps,\n  validateColumnProps,\n  validateDatePickerProps,\n  validateDialogProps,\n  validateDividerProps,\n  validateDropdownMenuItemProps,\n  validateDropdownMenuProps,\n  validateExposedDropdownMenuBoxProps,\n  validateFloatingActionButtonProps,\n  validateFlowRowProps,\n  validateIconButtonProps,\n  validateIconProps,\n  validateImageProps,\n  validateLazyColumnProps,\n  validateLazyRowProps,\n  validateListItemProps,\n  validateLoadingIndicatorProps,\n  validateModalBottomSheetProps,\n  validateNavigationBarItemProps,\n  validateNavigationBarProps,\n  validatePickerDialogProps,\n  validateProgressIndicatorProps,\n  validatePullToRefreshBoxProps,\n  validateRadioButtonProps,\n  validateRowProps,\n  validateSearchBarProps,\n  validateSegmentedButtonProps,\n  validateSliderProps,\n  validateSnackbarProps,\n  validateSnackbarShowOptions,\n  validateSurfaceProps,\n  validateSwitchProps,\n  validateTextFieldProps,\n  validateTextProps,\n  validateTimePickerProps,\n  validateToggleButtonProps,\n  validateTooltipBoxProps,\n  verticalAlignments,\n  verticalArrangements\n};\n//# sourceMappingURL=composeValidation.js.map\n"],"mappings":";;;;;AAGA,MAAM,uBAAuB;CAAC;CAAS;CAAsB;AAAK;AAClE,MAAM,qBAAqB;CAAC;CAAO;CAAoB;AAAQ;AAC/D,MAAM,oBAAoB;CACxB;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;AACF;AACA,MAAM,uBAAuB;CAC3B;CACA;CACA;CACA;CACA;CACA;AACF;AACA,MAAM,yBAAyB;CAC7B;CACA;CACA;CACA;CACA;CACA;AACF;AACA,MAAM,iBAAiB;CACrB;CACA;CACA;CACA;CACA;CACA;CACA;AACF;AACA,MAAM,cAAc;CAClB;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;AACF;AACA,MAAM,iBAAiB;CAAC;CAAU;CAAS;CAAY;CAAY;AAAM;AACzE,MAAM,cAAc,CAAC,WAAW,QAAQ;AACxC,MAAM,oBAAoB,CAAC,UAAU,UAAU;AAC/C,MAAM,yBAAyB;CAC7B;CACA;CACA;CACA;CACA;CACA;CACA;AACF;AACA,MAAM,sBAAsB;CAC1B;CACA;CACA;CACA;CACA;CACA;CACA;CACA;AACF;AACA,MAAM,2BAA2B;CAC/B;CACA;CACA;CACA;AACF;AACA,MAAM,mBAAmB;CAAC;CAAU;CAAY;CAAc;AAAc;AAC5E,MAAM,qBAAqB;CAAC;CAAS;CAAQ;AAAQ;AACrD,MAAM,mCAAmC,IAAI,IAAI;CAC/C;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;AACF,CAAC;AACD,MAAM,yCAAyC,IAAI,IAAI;CACrD;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;AACF,CAAC;AACD,MAAM,wCAAwC,IAAI,IAAI;CACpD;CACA;CACA;AACF,CAAC;AACD,MAAM,oCAAoC,IAAI,IAAI;CAChD;CACA;CACA;CACA;CACA;AACF,CAAC;AACD,MAAM,iCAAiC,IAAI,IAAI;CAC7C;CACA;CACA;CACA;AACF,CAAC;AACD,MAAM,gCAAgC,IAAI,IAAI,CAAC,kBAAkB,cAAc,CAAC;AAChF,MAAM,oCAAoC,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"}