{"record":{"id":"ddeedea6f7dd9014","repo":"reflex-dev/reflex","slug":"f-invalid-size-size-available-sizes-availabl-ddeede","errorCode":null,"errorMessage":"f\"Invalid size: {size}. Available sizes: {available_sizes}\"","messagePattern":"f\"Invalid size: (.+?)\\. Available sizes: (.+?)\"","errorType":"validation","errorClass":"ValueError","httpStatus":null,"severity":"error","filePath":"packages/reflex-components-internal/src/reflex_components_internal/components/base/number_field.py","lineNumber":287,"sourceCode":"    @classmethod\n    def create(cls, *children, **props) -> BaseUIComponent:\n        \"\"\"Create a complete number field or use explicit children.\n\n        Args:\n            *children: Optional custom number field children.\n            **props: Additional properties to apply to the number field root.\n\n        Returns:\n            The number field component.\n\n        Raises:\n            ValueError: If size is not a supported number field size.\n        \"\"\"\n        size = props.pop(\"size\", \"md\")\n        if size not in NUMBER_FIELD_SIZE_VARIANTS:\n            available_sizes = \", \".join(NUMBER_FIELD_SIZE_VARIANTS)\n            msg = f\"Invalid size: {size}. Available sizes: {available_sizes}\"\n            raise ValueError(msg)\n\n        if children:\n            return NumberFieldRoot.create(*children, **props)\n\n        return NumberFieldRoot.create(\n            NumberFieldGroup.create(\n                NumberFieldDecrement.create(\n                    hi(\"MinusSignIcon\"),\n                    aria_label=\"Decrease value\",\n                ),\n                NumberFieldInput.create(),\n                NumberFieldIncrement.create(\n                    hi(\"PlusSignIcon\"),\n                    aria_label=\"Increase value\",\n                ),\n                class_name=cn(NUMBER_FIELD_SIZE_VARIANTS[size]),\n            ),\n            **props,","sourceCodeStart":269,"sourceCodeEnd":305,"githubUrl":"https://github.com/reflex-dev/reflex/blob/45b8ed5ab735f8a56bbb09a42384f030eb0208e7/packages/reflex-components-internal/src/reflex_components_internal/components/base/number_field.py#L269-L305","documentation":"The high-level number_field wrapper validates size against NUMBER_FIELD_SIZE_VARIANTS (radix-style \"1\"-\"3\", default \"md\" mapped internally). Unsupported sizes raise immediately.","triggerScenarios":"rx.number_field(..., size=\"large\") or size=\"xl\"; also passing old Chakra sizes like \"lg\".","commonSituations":"Migrating from older Reflex/Chakra number input; sizes pulled from theme config or props spreads.","solutions":["Use one of the sizes listed in the error (\"1\", \"2\", \"3\")","Map legacy names: sm→\"1\", md→\"2\", lg→\"3\"","Validate dynamic size strings against the allowed set before rendering"],"exampleFix":"# before\nrx.number_field(size=\"lg\")\n# after\nrx.number_field(size=\"3\")","handlingStrategy":"validation","validationCode":"from reflex_components_internal.components.base.number_field import NUMBER_FIELD_SIZE_VARIANTS\nif size not in NUMBER_FIELD_SIZE_VARIANTS:\n    size = 'md' if 'md' in NUMBER_FIELD_SIZE_VARIANTS else '2'","typeGuard":"def is_valid_number_field_size(s: str) -> TypeGuard[str]:\n    from reflex_components_internal.components.base.number_field import NUMBER_FIELD_SIZE_VARIANTS\n    return s in NUMBER_FIELD_SIZE_VARIANTS","tryCatchPattern":null,"preventionTips":["Use sizes from the error message ('1'-'3')","Map legacy Chakra sizes during migration"],"tags":["reflex","number-field","size"],"backgroundTag":"invalid-enum-value","analyzedSha":"45b8ed5ab735f8a56bbb09a42384f030eb0208e7","analyzedAt":"2026-08-28T19:25:27.644Z","schemaVersion":2},"datasetVersion":"2026-08-28T21:17:43.275Z"}