# SDK Property Metadata
## Problem Description
For better tooling support, we would like to make two improvements to the metadata on property & style declarations:
* To break up large listings of properties on an item, need to grow the set standardized categories that properties and styles can be bucketed into.
* To provide validation of numeric input, need new metadata to specify the allowed numeric range of int and Number properties.
## Decision
_Complete this section when a decision has been made and approved_
h3.
## Decision Criteria
_What factors should be accounted for in a reasonable solution to the problem?_
## Proposed Solution(s):
**Categories**
* Add two new values for the category="" metadata attribute:
* "Text" -- font/paragraph styles, text color, etc.
* "Layout" -- settings that affect how a component lays out its children (padding/gap/etc.) or how a component is laid out by its parent (constraints, etc.)
* Start using the category="" attribute as applicable on \[Style\] metadata too, not just \[Inspectable\] as today.
**Numeric range**
There are three proposals:
Syntax A:
* minValue="N" -- value must be >= N
* minValueExclusive="N" -- value must be > N
* maxValue="N" -- value must be <= N
* maxValueExlusive="N" -- value must be < N
Syntax B:
* minValue="N" -- value must be >= N
* minValue=">N" -- value must be > N
* maxValue="N" -- value must be <= N
* maxValue="<n" --="" value="" must="" be="" <="" n="" syntax="" c:="" *="" range="\[N,M\]">= N, <= M
* range="(N,M)" -- value must be > N, < M
* range="(N,M]" -- value must be > N, <= M
* range="(N" -- value must be > N
* etc.
Notes:
* N (or M) is any number -- for int properties it must be an int; for Number properties it must be a Number
* In syntax A or B, if both min or both max attributes are specified, tooling's numeric validation behavior is undefined.
* If the range is inverted (min > max), tooling's numeric validation behavior is undefined.
## Recommended Solution:
**Categories**
See above.
**Numeric range**
Recommend syntax A. This has the least "microsyntax"iness to it.
[[ include ref='site:open_commentlogin' ]]
</n">
[[ include ref='flexsdk:flexsdk_rightnav' ]]