@cdx-ui/components 0.0.1-beta.5 → 0.0.1-beta.51
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +28 -18
- package/lib/commonjs/components/AlertDialog/index.js +1 -1
- package/lib/commonjs/components/AlertDialog/index.js.map +1 -1
- package/lib/commonjs/components/Avatar/index.js +1 -1
- package/lib/commonjs/components/Avatar/styles.js +36 -29
- package/lib/commonjs/components/Avatar/styles.js.map +1 -1
- package/lib/commonjs/components/Button/index.js +16 -1
- package/lib/commonjs/components/Button/index.js.map +1 -1
- package/lib/commonjs/components/Button/styles.js +85 -26
- package/lib/commonjs/components/Button/styles.js.map +1 -1
- package/lib/commonjs/components/CLAUDE.md +90 -0
- package/lib/commonjs/components/Card/index.js +22 -4
- package/lib/commonjs/components/Card/index.js.map +1 -1
- package/lib/commonjs/components/Card/styles.js +27 -4
- package/lib/commonjs/components/Card/styles.js.map +1 -1
- package/lib/commonjs/components/Checkbox/index.js +5 -29
- package/lib/commonjs/components/Checkbox/index.js.map +1 -1
- package/lib/commonjs/components/Checkbox/styles.js +39 -47
- package/lib/commonjs/components/Checkbox/styles.js.map +1 -1
- package/lib/commonjs/components/Chip/index.js +78 -9
- package/lib/commonjs/components/Chip/index.js.map +1 -1
- package/lib/commonjs/components/Chip/styles.js +207 -21
- package/lib/commonjs/components/Chip/styles.js.map +1 -1
- package/lib/commonjs/components/Field/index.js +8 -2
- package/lib/commonjs/components/Field/index.js.map +1 -1
- package/lib/commonjs/components/Field/styles.js +4 -4
- package/lib/commonjs/components/Field/styles.js.map +1 -1
- package/lib/commonjs/components/Heading/styles.js +1 -1
- package/lib/commonjs/components/Heading/styles.js.map +1 -1
- package/lib/commonjs/components/Icon/index.js +3 -4
- package/lib/commonjs/components/Icon/index.js.map +1 -1
- package/lib/commonjs/components/IconButton/index.js +6 -1
- package/lib/commonjs/components/IconButton/index.js.map +1 -1
- package/lib/commonjs/components/IconButton/styles.js +135 -10
- package/lib/commonjs/components/IconButton/styles.js.map +1 -1
- package/lib/commonjs/components/Input/styles.js +7 -6
- package/lib/commonjs/components/Input/styles.js.map +1 -1
- package/lib/commonjs/components/Link/index.js +22 -3
- package/lib/commonjs/components/Link/index.js.map +1 -1
- package/lib/commonjs/components/Link/styles.js +56 -6
- package/lib/commonjs/components/Link/styles.js.map +1 -1
- package/lib/commonjs/components/ListItem/styles.js +9 -9
- package/lib/commonjs/components/ListItem/styles.js.map +1 -1
- package/lib/commonjs/components/ProgressSegmented/index.js +24 -10
- package/lib/commonjs/components/ProgressSegmented/index.js.map +1 -1
- package/lib/commonjs/components/Radio/index.js +167 -0
- package/lib/commonjs/components/Radio/index.js.map +1 -0
- package/lib/commonjs/components/Radio/styles.js +31 -0
- package/lib/commonjs/components/Radio/styles.js.map +1 -0
- package/lib/commonjs/components/ScopedTheme/index.js +24 -0
- package/lib/commonjs/components/ScopedTheme/index.js.map +1 -0
- package/lib/commonjs/components/Select/SelectTriggerHost.web.js +4 -0
- package/lib/commonjs/components/Select/SelectTriggerHost.web.js.map +1 -1
- package/lib/commonjs/components/Select/index.js +9 -3
- package/lib/commonjs/components/Select/index.js.map +1 -1
- package/lib/commonjs/components/Select/styles.js +17 -20
- package/lib/commonjs/components/Select/styles.js.map +1 -1
- package/lib/commonjs/components/Text/styles.js +2 -2
- package/lib/commonjs/components/Text/styles.js.map +1 -1
- package/lib/commonjs/components/Tile/index.js +251 -0
- package/lib/commonjs/components/Tile/index.js.map +1 -0
- package/lib/commonjs/components/Tile/styles.js +52 -0
- package/lib/commonjs/components/Tile/styles.js.map +1 -0
- package/lib/commonjs/components/index.js +36 -0
- package/lib/commonjs/components/index.js.map +1 -1
- package/lib/commonjs/figma/Avatar.figma.js +54 -0
- package/lib/commonjs/figma/Avatar.figma.js.map +1 -0
- package/lib/commonjs/figma/Button.figma.js +28 -15
- package/lib/commonjs/figma/Button.figma.js.map +1 -1
- package/lib/commonjs/figma/CLAUDE.md +30 -0
- package/lib/commonjs/figma/Card.Header.figma.js +28 -0
- package/lib/commonjs/figma/Card.Header.figma.js.map +1 -0
- package/lib/commonjs/figma/Card.figma.js +42 -0
- package/lib/commonjs/figma/Card.figma.js.map +1 -0
- package/lib/commonjs/figma/Checkbox.figma.js +55 -0
- package/lib/commonjs/figma/Checkbox.figma.js.map +1 -0
- package/lib/commonjs/figma/Chip.figma.js +68 -0
- package/lib/commonjs/figma/Chip.figma.js.map +1 -0
- package/lib/commonjs/figma/Field.Input.figma.js +57 -0
- package/lib/commonjs/figma/Field.Input.figma.js.map +1 -0
- package/lib/commonjs/figma/Field.Select.figma.js +57 -0
- package/lib/commonjs/figma/Field.Select.figma.js.map +1 -0
- package/lib/commonjs/figma/Heading.figma.js +30 -0
- package/lib/commonjs/figma/Heading.figma.js.map +1 -0
- package/lib/commonjs/figma/Icon.figma.js +20 -0
- package/lib/commonjs/figma/Icon.figma.js.map +1 -0
- package/lib/commonjs/figma/IconButton.figma.js +47 -0
- package/lib/commonjs/figma/IconButton.figma.js.map +1 -0
- package/lib/commonjs/figma/Input.figma.js +52 -0
- package/lib/commonjs/figma/Input.figma.js.map +1 -0
- package/lib/commonjs/figma/Link.figma.js +30 -0
- package/lib/commonjs/figma/Link.figma.js.map +1 -0
- package/lib/commonjs/figma/ProgressSegmented.figma.js +39 -0
- package/lib/commonjs/figma/ProgressSegmented.figma.js.map +1 -0
- package/lib/commonjs/figma/Radio.figma.js +40 -0
- package/lib/commonjs/figma/Radio.figma.js.map +1 -0
- package/lib/commonjs/figma/Select.figma.js +53 -0
- package/lib/commonjs/figma/Select.figma.js.map +1 -0
- package/lib/commonjs/figma/Text.figma.js +29 -0
- package/lib/commonjs/figma/Text.figma.js.map +1 -0
- package/lib/commonjs/figma/icons.figma.batch.js +27 -0
- package/lib/commonjs/figma/icons.figma.batch.js.map +1 -0
- package/lib/commonjs/figma/icons.figma.batch.json +17705 -0
- package/lib/commonjs/hooks/index.js +19 -0
- package/lib/commonjs/hooks/index.js.map +1 -0
- package/lib/commonjs/hooks/useForgeBottomTabScreenOptions.js +246 -0
- package/lib/commonjs/hooks/useForgeBottomTabScreenOptions.js.map +1 -0
- package/lib/commonjs/index.js +24 -0
- package/lib/commonjs/index.js.map +1 -1
- package/lib/commonjs/metro/withCdxMetroConfig.js +7 -18
- package/lib/commonjs/metro/withCdxMetroConfig.js.map +1 -1
- package/lib/commonjs/metro/withForgeMetroConfig.js +24 -0
- package/lib/commonjs/metro/withForgeMetroConfig.js.map +1 -0
- package/lib/commonjs/navigation/forgeTabIcon.js +43 -0
- package/lib/commonjs/navigation/forgeTabIcon.js.map +1 -0
- package/lib/commonjs/navigation/forgeTabIcon.native.js +35 -0
- package/lib/commonjs/navigation/forgeTabIcon.native.js.map +1 -0
- package/lib/commonjs/navigation/index.js +13 -0
- package/lib/commonjs/navigation/index.js.map +1 -0
- package/lib/commonjs/navigation/types.js +40 -0
- package/lib/commonjs/navigation/types.js.map +1 -0
- package/lib/commonjs/styles/primitives.js +43 -6
- package/lib/commonjs/styles/primitives.js.map +1 -1
- package/lib/module/components/AlertDialog/index.js +1 -1
- package/lib/module/components/AlertDialog/index.js.map +1 -1
- package/lib/module/components/Avatar/index.js +1 -1
- package/lib/module/components/Avatar/styles.js +36 -29
- package/lib/module/components/Avatar/styles.js.map +1 -1
- package/lib/module/components/Button/index.js +17 -2
- package/lib/module/components/Button/index.js.map +1 -1
- package/lib/module/components/Button/styles.js +85 -26
- package/lib/module/components/Button/styles.js.map +1 -1
- package/lib/module/components/CLAUDE.md +90 -0
- package/lib/module/components/Card/index.js +23 -4
- package/lib/module/components/Card/index.js.map +1 -1
- package/lib/module/components/Card/styles.js +27 -4
- package/lib/module/components/Card/styles.js.map +1 -1
- package/lib/module/components/Checkbox/index.js +6 -30
- package/lib/module/components/Checkbox/index.js.map +1 -1
- package/lib/module/components/Checkbox/styles.js +40 -48
- package/lib/module/components/Checkbox/styles.js.map +1 -1
- package/lib/module/components/Chip/index.js +82 -13
- package/lib/module/components/Chip/index.js.map +1 -1
- package/lib/module/components/Chip/styles.js +206 -20
- package/lib/module/components/Chip/styles.js.map +1 -1
- package/lib/module/components/Field/index.js +9 -3
- package/lib/module/components/Field/index.js.map +1 -1
- package/lib/module/components/Field/styles.js +4 -4
- package/lib/module/components/Field/styles.js.map +1 -1
- package/lib/module/components/Heading/styles.js +1 -1
- package/lib/module/components/Heading/styles.js.map +1 -1
- package/lib/module/components/Icon/index.js +3 -4
- package/lib/module/components/Icon/index.js.map +1 -1
- package/lib/module/components/IconButton/index.js +6 -1
- package/lib/module/components/IconButton/index.js.map +1 -1
- package/lib/module/components/IconButton/styles.js +135 -10
- package/lib/module/components/IconButton/styles.js.map +1 -1
- package/lib/module/components/Input/styles.js +7 -6
- package/lib/module/components/Input/styles.js.map +1 -1
- package/lib/module/components/Link/index.js +25 -6
- package/lib/module/components/Link/index.js.map +1 -1
- package/lib/module/components/Link/styles.js +55 -6
- package/lib/module/components/Link/styles.js.map +1 -1
- package/lib/module/components/ListItem/styles.js +10 -10
- package/lib/module/components/ListItem/styles.js.map +1 -1
- package/lib/module/components/ProgressSegmented/index.js +25 -11
- package/lib/module/components/ProgressSegmented/index.js.map +1 -1
- package/lib/module/components/Radio/index.js +164 -0
- package/lib/module/components/Radio/index.js.map +1 -0
- package/lib/module/components/Radio/styles.js +27 -0
- package/lib/module/components/Radio/styles.js.map +1 -0
- package/lib/module/components/ScopedTheme/index.js +19 -0
- package/lib/module/components/ScopedTheme/index.js.map +1 -0
- package/lib/module/components/Select/SelectTriggerHost.web.js +4 -0
- package/lib/module/components/Select/SelectTriggerHost.web.js.map +1 -1
- package/lib/module/components/Select/index.js +10 -4
- package/lib/module/components/Select/index.js.map +1 -1
- package/lib/module/components/Select/styles.js +18 -21
- package/lib/module/components/Select/styles.js.map +1 -1
- package/lib/module/components/Text/styles.js +2 -2
- package/lib/module/components/Text/styles.js.map +1 -1
- package/lib/module/components/Tile/index.js +243 -0
- package/lib/module/components/Tile/index.js.map +1 -0
- package/lib/module/components/Tile/styles.js +48 -0
- package/lib/module/components/Tile/styles.js.map +1 -0
- package/lib/module/components/index.js +3 -0
- package/lib/module/components/index.js.map +1 -1
- package/lib/module/figma/Avatar.figma.js +48 -0
- package/lib/module/figma/Avatar.figma.js.map +1 -0
- package/lib/module/figma/Button.figma.js +28 -15
- package/lib/module/figma/Button.figma.js.map +1 -1
- package/lib/module/figma/CLAUDE.md +30 -0
- package/lib/module/figma/Card.Header.figma.js +22 -0
- package/lib/module/figma/Card.Header.figma.js.map +1 -0
- package/lib/module/figma/Card.figma.js +36 -0
- package/lib/module/figma/Card.figma.js.map +1 -0
- package/lib/module/figma/Checkbox.figma.js +49 -0
- package/lib/module/figma/Checkbox.figma.js.map +1 -0
- package/lib/module/figma/Chip.figma.js +62 -0
- package/lib/module/figma/Chip.figma.js.map +1 -0
- package/lib/module/figma/Field.Input.figma.js +51 -0
- package/lib/module/figma/Field.Input.figma.js.map +1 -0
- package/lib/module/figma/Field.Select.figma.js +51 -0
- package/lib/module/figma/Field.Select.figma.js.map +1 -0
- package/lib/module/figma/Heading.figma.js +24 -0
- package/lib/module/figma/Heading.figma.js.map +1 -0
- package/lib/module/figma/Icon.figma.js +14 -0
- package/lib/module/figma/Icon.figma.js.map +1 -0
- package/lib/module/figma/IconButton.figma.js +41 -0
- package/lib/module/figma/IconButton.figma.js.map +1 -0
- package/lib/module/figma/Input.figma.js +46 -0
- package/lib/module/figma/Input.figma.js.map +1 -0
- package/lib/module/figma/Link.figma.js +24 -0
- package/lib/module/figma/Link.figma.js.map +1 -0
- package/lib/module/figma/ProgressSegmented.figma.js +33 -0
- package/lib/module/figma/ProgressSegmented.figma.js.map +1 -0
- package/lib/module/figma/Radio.figma.js +34 -0
- package/lib/module/figma/Radio.figma.js.map +1 -0
- package/lib/module/figma/Select.figma.js +47 -0
- package/lib/module/figma/Select.figma.js.map +1 -0
- package/lib/module/figma/Text.figma.js +23 -0
- package/lib/module/figma/Text.figma.js.map +1 -0
- package/lib/module/figma/icons.figma.batch.js +22 -0
- package/lib/module/figma/icons.figma.batch.js.map +1 -0
- package/lib/module/figma/icons.figma.batch.json +17705 -0
- package/lib/module/hooks/index.js +4 -0
- package/lib/module/hooks/index.js.map +1 -0
- package/lib/module/hooks/useForgeBottomTabScreenOptions.js +242 -0
- package/lib/module/hooks/useForgeBottomTabScreenOptions.js.map +1 -0
- package/lib/module/index.js +2 -0
- package/lib/module/index.js.map +1 -1
- package/lib/module/metro/withCdxMetroConfig.js +3 -17
- package/lib/module/metro/withCdxMetroConfig.js.map +1 -1
- package/lib/module/metro/withForgeMetroConfig.js +20 -0
- package/lib/module/metro/withForgeMetroConfig.js.map +1 -0
- package/lib/module/navigation/forgeTabIcon.js +39 -0
- package/lib/module/navigation/forgeTabIcon.js.map +1 -0
- package/lib/module/navigation/forgeTabIcon.native.js +31 -0
- package/lib/module/navigation/forgeTabIcon.native.js.map +1 -0
- package/lib/module/navigation/index.js +4 -0
- package/lib/module/navigation/index.js.map +1 -0
- package/lib/module/navigation/types.js +38 -0
- package/lib/module/navigation/types.js.map +1 -0
- package/lib/module/styles/primitives.js +43 -6
- package/lib/module/styles/primitives.js.map +1 -1
- package/lib/typescript/components/Avatar/styles.d.ts +4 -4
- package/lib/typescript/components/Avatar/styles.d.ts.map +1 -1
- package/lib/typescript/components/Button/index.d.ts +13 -1
- package/lib/typescript/components/Button/index.d.ts.map +1 -1
- package/lib/typescript/components/Button/styles.d.ts +5 -3
- package/lib/typescript/components/Button/styles.d.ts.map +1 -1
- package/lib/typescript/components/Card/index.d.ts +4 -3
- package/lib/typescript/components/Card/index.d.ts.map +1 -1
- package/lib/typescript/components/Card/styles.d.ts +13 -3
- package/lib/typescript/components/Card/styles.d.ts.map +1 -1
- package/lib/typescript/components/Checkbox/index.d.ts +1 -2
- package/lib/typescript/components/Checkbox/index.d.ts.map +1 -1
- package/lib/typescript/components/Checkbox/styles.d.ts +4 -14
- package/lib/typescript/components/Checkbox/styles.d.ts.map +1 -1
- package/lib/typescript/components/Chip/index.d.ts +19 -6
- package/lib/typescript/components/Chip/index.d.ts.map +1 -1
- package/lib/typescript/components/Chip/styles.d.ts +13 -4
- package/lib/typescript/components/Chip/styles.d.ts.map +1 -1
- package/lib/typescript/components/Field/FieldLabel.web.d.ts +2 -2
- package/lib/typescript/components/Field/FieldLabel.web.d.ts.map +1 -1
- package/lib/typescript/components/Field/index.d.ts.map +1 -1
- package/lib/typescript/components/Field/styles.d.ts.map +1 -1
- package/lib/typescript/components/Heading/styles.d.ts +1 -1
- package/lib/typescript/components/Icon/index.d.ts +5 -5
- package/lib/typescript/components/Icon/index.d.ts.map +1 -1
- package/lib/typescript/components/IconButton/index.d.ts +3 -3
- package/lib/typescript/components/IconButton/index.d.ts.map +1 -1
- package/lib/typescript/components/IconButton/styles.d.ts +6 -2
- package/lib/typescript/components/IconButton/styles.d.ts.map +1 -1
- package/lib/typescript/components/Input/styles.d.ts.map +1 -1
- package/lib/typescript/components/Link/index.d.ts +2 -2
- package/lib/typescript/components/Link/index.d.ts.map +1 -1
- package/lib/typescript/components/Link/styles.d.ts +9 -2
- package/lib/typescript/components/Link/styles.d.ts.map +1 -1
- package/lib/typescript/components/ListItem/styles.d.ts.map +1 -1
- package/lib/typescript/components/ProgressSegmented/index.d.ts +14 -3
- package/lib/typescript/components/ProgressSegmented/index.d.ts.map +1 -1
- package/lib/typescript/components/Radio/index.d.ts +40 -0
- package/lib/typescript/components/Radio/index.d.ts.map +1 -0
- package/lib/typescript/components/Radio/styles.d.ts +8 -0
- package/lib/typescript/components/Radio/styles.d.ts.map +1 -0
- package/lib/typescript/components/ScopedTheme/index.d.ts +16 -0
- package/lib/typescript/components/ScopedTheme/index.d.ts.map +1 -0
- package/lib/typescript/components/Select/SelectTriggerHost.web.d.ts +3 -0
- package/lib/typescript/components/Select/SelectTriggerHost.web.d.ts.map +1 -1
- package/lib/typescript/components/Select/index.d.ts +1 -1
- package/lib/typescript/components/Select/index.d.ts.map +1 -1
- package/lib/typescript/components/Select/styles.d.ts.map +1 -1
- package/lib/typescript/components/Stack/styles.d.ts +2 -2
- package/lib/typescript/components/Text/styles.d.ts +1 -1
- package/lib/typescript/components/Tile/index.d.ts +70 -0
- package/lib/typescript/components/Tile/index.d.ts.map +1 -0
- package/lib/typescript/components/Tile/styles.d.ts +18 -0
- package/lib/typescript/components/Tile/styles.d.ts.map +1 -0
- package/lib/typescript/components/index.d.ts +3 -0
- package/lib/typescript/components/index.d.ts.map +1 -1
- package/lib/typescript/figma/Avatar.figma.d.ts +8 -0
- package/lib/typescript/figma/Avatar.figma.d.ts.map +1 -0
- package/lib/typescript/figma/Button.figma.d.ts.map +1 -1
- package/lib/typescript/figma/Card.Header.figma.d.ts +8 -0
- package/lib/typescript/figma/Card.Header.figma.d.ts.map +1 -0
- package/lib/typescript/figma/Card.figma.d.ts +8 -0
- package/lib/typescript/figma/Card.figma.d.ts.map +1 -0
- package/lib/typescript/figma/Checkbox.figma.d.ts +8 -0
- package/lib/typescript/figma/Checkbox.figma.d.ts.map +1 -0
- package/lib/typescript/figma/Chip.figma.d.ts +8 -0
- package/lib/typescript/figma/Chip.figma.d.ts.map +1 -0
- package/lib/typescript/figma/Field.Input.figma.d.ts +8 -0
- package/lib/typescript/figma/Field.Input.figma.d.ts.map +1 -0
- package/lib/typescript/figma/Field.Select.figma.d.ts +8 -0
- package/lib/typescript/figma/Field.Select.figma.d.ts.map +1 -0
- package/lib/typescript/figma/Heading.figma.d.ts +8 -0
- package/lib/typescript/figma/Heading.figma.d.ts.map +1 -0
- package/lib/typescript/figma/Icon.figma.d.ts +8 -0
- package/lib/typescript/figma/Icon.figma.d.ts.map +1 -0
- package/lib/typescript/figma/IconButton.figma.d.ts +8 -0
- package/lib/typescript/figma/IconButton.figma.d.ts.map +1 -0
- package/lib/typescript/figma/Input.figma.d.ts +8 -0
- package/lib/typescript/figma/Input.figma.d.ts.map +1 -0
- package/lib/typescript/figma/Link.figma.d.ts +8 -0
- package/lib/typescript/figma/Link.figma.d.ts.map +1 -0
- package/lib/typescript/figma/ProgressSegmented.figma.d.ts +8 -0
- package/lib/typescript/figma/ProgressSegmented.figma.d.ts.map +1 -0
- package/lib/typescript/figma/Radio.figma.d.ts +8 -0
- package/lib/typescript/figma/Radio.figma.d.ts.map +1 -0
- package/lib/typescript/figma/Select.figma.d.ts +8 -0
- package/lib/typescript/figma/Select.figma.d.ts.map +1 -0
- package/lib/typescript/figma/Text.figma.d.ts +8 -0
- package/lib/typescript/figma/Text.figma.d.ts.map +1 -0
- package/lib/typescript/figma/icons.figma.batch.d.ts +14 -0
- package/lib/typescript/figma/icons.figma.batch.d.ts.map +1 -0
- package/lib/typescript/hooks/index.d.ts +2 -0
- package/lib/typescript/hooks/index.d.ts.map +1 -0
- package/lib/typescript/hooks/useForgeBottomTabScreenOptions.d.ts +137 -0
- package/lib/typescript/hooks/useForgeBottomTabScreenOptions.d.ts.map +1 -0
- package/lib/typescript/index.d.ts +2 -0
- package/lib/typescript/index.d.ts.map +1 -1
- package/lib/typescript/metro/withCdxMetroConfig.d.ts +4 -18
- package/lib/typescript/metro/withCdxMetroConfig.d.ts.map +1 -1
- package/lib/typescript/metro/withForgeMetroConfig.d.ts +19 -0
- package/lib/typescript/metro/withForgeMetroConfig.d.ts.map +1 -0
- package/lib/typescript/navigation/forgeTabIcon.d.ts +27 -0
- package/lib/typescript/navigation/forgeTabIcon.d.ts.map +1 -0
- package/lib/typescript/navigation/forgeTabIcon.native.d.ts +15 -0
- package/lib/typescript/navigation/forgeTabIcon.native.d.ts.map +1 -0
- package/lib/typescript/navigation/index.d.ts +4 -0
- package/lib/typescript/navigation/index.d.ts.map +1 -0
- package/lib/typescript/navigation/types.d.ts +37 -0
- package/lib/typescript/navigation/types.d.ts.map +1 -0
- package/lib/typescript/styles/primitives.d.ts +38 -0
- package/lib/typescript/styles/primitives.d.ts.map +1 -1
- package/package.json +10 -8
- package/src/components/AlertDialog/index.tsx +1 -1
- package/src/components/Avatar/index.tsx +1 -1
- package/src/components/Avatar/styles.ts +49 -34
- package/src/components/Button/index.tsx +39 -5
- package/src/components/Button/styles.ts +56 -27
- package/src/components/CLAUDE.md +90 -0
- package/src/components/Card/index.tsx +41 -16
- package/src/components/Card/styles.ts +42 -15
- package/src/components/Checkbox/index.tsx +8 -19
- package/src/components/Checkbox/styles.ts +82 -86
- package/src/components/Chip/index.tsx +104 -27
- package/src/components/Chip/styles.ts +232 -18
- package/src/components/Field/FieldLabel.web.tsx +1 -1
- package/src/components/Field/index.tsx +10 -3
- package/src/components/Field/styles.ts +5 -4
- package/src/components/Heading/styles.ts +1 -1
- package/src/components/Icon/index.tsx +6 -7
- package/src/components/IconButton/index.tsx +7 -6
- package/src/components/IconButton/styles.ts +136 -10
- package/src/components/Input/styles.ts +15 -9
- package/src/components/Link/index.tsx +22 -9
- package/src/components/Link/styles.ts +49 -9
- package/src/components/ListItem/styles.ts +12 -19
- package/src/components/ProgressSegmented/index.tsx +50 -14
- package/src/components/Radio/index.tsx +192 -0
- package/src/components/Radio/styles.ts +59 -0
- package/src/components/ScopedTheme/index.tsx +17 -0
- package/src/components/Select/SelectTriggerHost.web.tsx +8 -1
- package/src/components/Select/index.tsx +9 -4
- package/src/components/Select/styles.ts +49 -51
- package/src/components/Text/styles.ts +2 -2
- package/src/components/Tile/index.tsx +296 -0
- package/src/components/Tile/styles.ts +82 -0
- package/src/components/index.ts +3 -0
- package/src/hooks/index.ts +5 -0
- package/src/hooks/useForgeBottomTabScreenOptions.ts +245 -0
- package/src/index.ts +2 -0
- package/src/metro/withCdxMetroConfig.ts +4 -29
- package/src/metro/withForgeMetroConfig.ts +29 -0
- package/src/navigation/forgeTabIcon.native.ts +36 -0
- package/src/navigation/forgeTabIcon.ts +33 -0
- package/src/navigation/index.ts +3 -0
- package/src/navigation/types.ts +55 -0
- package/src/styles/primitives.ts +43 -6
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
import type { MetroConfig } from 'metro-config';
|
|
2
|
+
export interface ForgeMetroConfigOptions {
|
|
3
|
+
/** Path to the CSS entry file (e.g., `'./global.css'`). */
|
|
4
|
+
cssEntryFile: string;
|
|
5
|
+
/** Path where generated Tailwind class type definitions are written. */
|
|
6
|
+
generatedTypesFile?: string;
|
|
7
|
+
}
|
|
8
|
+
/**
|
|
9
|
+
* Wraps a Metro config with Forge UI's styling-layer configuration.
|
|
10
|
+
*
|
|
11
|
+
* Today this delegates to Uniwind. If the styling layer is swapped (see
|
|
12
|
+
* `docs/research/uniwind-to-nativewind-contingency.md`), only the internals
|
|
13
|
+
* of this function change — consuming Metro configs stay the same.
|
|
14
|
+
*
|
|
15
|
+
* Must be the **outermost** Metro config wrapper (after any other wrappers
|
|
16
|
+
* like `withStorybook`).
|
|
17
|
+
*/
|
|
18
|
+
export declare function withForgeMetroConfig<T extends MetroConfig>(config: T, options: ForgeMetroConfigOptions): T;
|
|
19
|
+
//# sourceMappingURL=withForgeMetroConfig.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"withForgeMetroConfig.d.ts","sourceRoot":"","sources":["../../../src/metro/withForgeMetroConfig.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,cAAc,CAAC;AAGhD,MAAM,WAAW,uBAAuB;IACtC,2DAA2D;IAC3D,YAAY,EAAE,MAAM,CAAC;IACrB,wEAAwE;IACxE,kBAAkB,CAAC,EAAE,MAAM,CAAC;CAC7B;AAED;;;;;;;;;GASG;AACH,wBAAgB,oBAAoB,CAAC,CAAC,SAAS,WAAW,EACxD,MAAM,EAAE,CAAC,EACT,OAAO,EAAE,uBAAuB,GAC/B,CAAC,CAKH"}
|
|
@@ -0,0 +1,27 @@
|
|
|
1
|
+
import type { ForgeTabIcon } from '@cdx-ui/icons/tab-icons';
|
|
2
|
+
import type { ForgeTabBarIcon } from './types';
|
|
3
|
+
/**
|
|
4
|
+
* forgeTabIcon — web/JS-navigator implementation.
|
|
5
|
+
*
|
|
6
|
+
* Maps a {@link ForgeTabIcon} descriptor to a React Navigation `tabBarIcon`
|
|
7
|
+
* value that renders the same Forge UI icon on every platform:
|
|
8
|
+
*
|
|
9
|
+
* - **Web** (`createBottomTabNavigator`): renders the SVG icon component with
|
|
10
|
+
* `filled={focused}` and the navigator-supplied `color`/`size` — pair with
|
|
11
|
+
* `useForgeBottomTabScreenOptions` so tints come from design tokens.
|
|
12
|
+
* - **iOS/Android** (`createNativeBottomTabNavigator`): the `.native` module
|
|
13
|
+
* of this file returns a tinted template-image descriptor instead.
|
|
14
|
+
*
|
|
15
|
+
* ```tsx
|
|
16
|
+
* import { useForgeBottomTabScreenOptions, forgeTabIcon } from '@cdx-ui/components';
|
|
17
|
+
* import { HomeTabIcon } from '@cdx-ui/icons/tab-icons';
|
|
18
|
+
*
|
|
19
|
+
* <Tab.Screen
|
|
20
|
+
* name="Home"
|
|
21
|
+
* component={HomeScreen}
|
|
22
|
+
* options={{ title: 'Home', tabBarIcon: forgeTabIcon(HomeTabIcon) }}
|
|
23
|
+
* />
|
|
24
|
+
* ```
|
|
25
|
+
*/
|
|
26
|
+
export declare function forgeTabIcon(icon: ForgeTabIcon): ForgeTabBarIcon;
|
|
27
|
+
//# sourceMappingURL=forgeTabIcon.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"forgeTabIcon.d.ts","sourceRoot":"","sources":["../../../src/navigation/forgeTabIcon.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,yBAAyB,CAAC;AAC5D,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,SAAS,CAAC;AAE/C;;;;;;;;;;;;;;;;;;;;;;GAsBG;AACH,wBAAgB,YAAY,CAAC,IAAI,EAAE,YAAY,GAAG,eAAe,CAKhE"}
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
import type { ForgeTabIcon } from '@cdx-ui/icons/tab-icons';
|
|
2
|
+
import type { ForgeTabBarIcon } from './types';
|
|
3
|
+
/**
|
|
4
|
+
* forgeTabIcon — iOS/Android implementation (see `forgeTabIcon.ts` for the
|
|
5
|
+
* full contract and usage example).
|
|
6
|
+
*
|
|
7
|
+
* Returns a `tabBarIcon` function for `createNativeBottomTabNavigator` that
|
|
8
|
+
* resolves the descriptor's pre-rasterized template PNGs: outlined at rest,
|
|
9
|
+
* filled when focused (iOS only — Android tabs use one static icon and
|
|
10
|
+
* express selection via tint). `tinted: true` makes the native tab bar apply
|
|
11
|
+
* `tabBarActiveTintColor` / `tabBarInactiveTintColor` at runtime, so theming
|
|
12
|
+
* and dark mode flow through `useForgeBottomTabScreenOptions` unchanged.
|
|
13
|
+
*/
|
|
14
|
+
export declare function forgeTabIcon(icon: ForgeTabIcon): ForgeTabBarIcon;
|
|
15
|
+
//# sourceMappingURL=forgeTabIcon.native.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"forgeTabIcon.native.d.ts","sourceRoot":"","sources":["../../../src/navigation/forgeTabIcon.native.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,yBAAyB,CAAC;AAC5D,OAAO,KAAK,EAA4B,eAAe,EAAE,MAAM,SAAS,CAAC;AAEzE;;;;;;;;;;GAUG;AACH,wBAAgB,YAAY,CAAC,IAAI,EAAE,YAAY,GAAG,eAAe,CAqBhE"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/navigation/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,gBAAgB,CAAC;AAC9C,YAAY,EAAE,wBAAwB,EAAE,eAAe,EAAE,MAAM,SAAS,CAAC;AACzE,YAAY,EAAE,YAAY,EAAE,yBAAyB,EAAE,MAAM,yBAAyB,CAAC"}
|
|
@@ -0,0 +1,37 @@
|
|
|
1
|
+
import type { ReactElement } from 'react';
|
|
2
|
+
import type { ImageSourcePropType } from 'react-native';
|
|
3
|
+
/**
|
|
4
|
+
* Structural mirror of the `image` arm of `NativeBottomTabIcon` from
|
|
5
|
+
* `@react-navigation/bottom-tabs/unstable`. Declared locally so
|
|
6
|
+
* `@cdx-ui/components` carries no runtime React Navigation dependency —
|
|
7
|
+
* the drift guards below fail the build if the upstream shape changes.
|
|
8
|
+
*/
|
|
9
|
+
export interface ForgeNativeBottomTabIcon {
|
|
10
|
+
type: 'image';
|
|
11
|
+
/** Metro-resolved asset (e.g. a static `require('./icon.png')`). */
|
|
12
|
+
source: ImageSourcePropType;
|
|
13
|
+
/**
|
|
14
|
+
* Render as a template image tinted with the tab bar's active/inactive
|
|
15
|
+
* tint color. iOS-only flag — Android always tints tab icons.
|
|
16
|
+
*/
|
|
17
|
+
tinted?: boolean;
|
|
18
|
+
}
|
|
19
|
+
/**
|
|
20
|
+
* The value `forgeTabIcon()` returns — callable as `tabBarIcon` on **both**
|
|
21
|
+
* React Navigation bottom tab navigators. The intersection carries both call
|
|
22
|
+
* signatures; the platform-split implementation guarantees the matching one
|
|
23
|
+
* at runtime:
|
|
24
|
+
*
|
|
25
|
+
* - `createBottomTabNavigator` (web/JS) invokes it with
|
|
26
|
+
* `{ focused, color, size }` and renders the returned element.
|
|
27
|
+
* - `createNativeBottomTabNavigator` (iOS/Android) invokes it with
|
|
28
|
+
* `{ focused }` and receives a native icon descriptor.
|
|
29
|
+
*/
|
|
30
|
+
export type ForgeTabBarIcon = ((props: {
|
|
31
|
+
focused: boolean;
|
|
32
|
+
color: string;
|
|
33
|
+
size: number;
|
|
34
|
+
}) => ReactElement) & ((props: {
|
|
35
|
+
focused: boolean;
|
|
36
|
+
}) => ForgeNativeBottomTabIcon);
|
|
37
|
+
//# sourceMappingURL=types.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../src/navigation/types.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,OAAO,CAAC;AAC1C,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,cAAc,CAAC;AAIxD;;;;;GAKG;AACH,MAAM,WAAW,wBAAwB;IACvC,IAAI,EAAE,OAAO,CAAC;IACd,oEAAoE;IACpE,MAAM,EAAE,mBAAmB,CAAC;IAC5B;;;OAGG;IACH,MAAM,CAAC,EAAE,OAAO,CAAC;CAClB;AAED;;;;;;;;;;GAUG;AACH,MAAM,MAAM,eAAe,GAAG,CAAC,CAAC,KAAK,EAAE;IACrC,OAAO,EAAE,OAAO,CAAC;IACjB,KAAK,EAAE,MAAM,CAAC;IACd,IAAI,EAAE,MAAM,CAAC;CACd,KAAK,YAAY,CAAC,GACjB,CAAC,CAAC,KAAK,EAAE;IAAE,OAAO,EAAE,OAAO,CAAA;CAAE,KAAK,wBAAwB,CAAC,CAAC"}
|
|
@@ -1,22 +1,53 @@
|
|
|
1
|
+
/** @deprecated Use `bg-surface-primary` (--color-surface-primary) instead. */
|
|
1
2
|
export declare const COLOR_BG_PRIMARY = "bg-white";
|
|
3
|
+
/** @deprecated Use `bg-surface-secondary` (--color-surface-secondary) instead. */
|
|
2
4
|
export declare const COLOR_BG_SUBTLE = "bg-slate-50";
|
|
5
|
+
/** @deprecated Use `bg-surface-neutral-subtle` (--color-surface-neutral-subtle) instead. */
|
|
3
6
|
export declare const COLOR_BG_MUTED = "bg-slate-100";
|
|
7
|
+
/** @deprecated Use `bg-base-950` (--color-base-950) instead. */
|
|
4
8
|
export declare const COLOR_BG_INVERSE = "bg-slate-900";
|
|
9
|
+
/** @deprecated Use `border-stroke-secondary` (--color-stroke-secondary) instead. */
|
|
5
10
|
export declare const COLOR_BORDER_DEFAULT = "border-slate-200";
|
|
11
|
+
/** @deprecated Use `border-stroke-hover` (--color-stroke-hover) instead. */
|
|
6
12
|
export declare const COLOR_BORDER_STRONG = "border-slate-300";
|
|
13
|
+
/** @deprecated Use `border-stroke-focus` (--color-stroke-focus) instead. */
|
|
7
14
|
export declare const COLOR_BORDER_FOCUS = "border-slate-900";
|
|
15
|
+
/** @deprecated Use `border-stroke-danger` (--color-stroke-danger) instead. */
|
|
8
16
|
export declare const COLOR_BORDER_INVALID = "border-red-500";
|
|
17
|
+
/** @deprecated Use `text-content-primary` (--color-content-primary) instead. */
|
|
9
18
|
export declare const COLOR_TEXT_PRIMARY = "text-slate-900";
|
|
19
|
+
/** @deprecated Use `text-content-secondary` (--color-content-secondary) instead. */
|
|
10
20
|
export declare const COLOR_TEXT_SECONDARY = "text-slate-500";
|
|
21
|
+
/** @deprecated Use `text-content-tertiary` (--color-content-tertiary) instead. */
|
|
11
22
|
export declare const COLOR_TEXT_MUTED = "text-slate-400";
|
|
23
|
+
/** @deprecated Use the appropriate `text-content-*-on-strong` token for the surface color, e.g. `text-content-action-on-strong` (--color-content-action-on-strong). */
|
|
12
24
|
export declare const COLOR_TEXT_INVERSE = "text-white";
|
|
25
|
+
/** @deprecated Use `text-content-tertiary` (--color-content-tertiary) instead. */
|
|
13
26
|
export declare const COLOR_TEXT_PLACEHOLDER = "text-slate-400";
|
|
27
|
+
/** @deprecated Use `text-content-danger` (--color-content-danger) instead. */
|
|
14
28
|
export declare const COLOR_TEXT_INVALID = "text-red-600";
|
|
29
|
+
/** @deprecated Use `bg-surface-action-strong` (--color-surface-action-strong) instead. */
|
|
15
30
|
export declare const COLOR_BRAND_DEFAULT = "bg-slate-900";
|
|
31
|
+
/** @deprecated Use `bg-surface-action-strong-hover` (--color-surface-action-strong-hover) instead. */
|
|
16
32
|
export declare const COLOR_BRAND_HOVER = "bg-slate-800";
|
|
33
|
+
/** @deprecated Use `bg-surface-action-strong-active` (--color-surface-action-strong-active) instead. */
|
|
17
34
|
export declare const COLOR_BRAND_ACTIVE = "bg-slate-700";
|
|
35
|
+
/** @deprecated Use `bg-surface-action-strong` (--color-surface-action-strong) instead. */
|
|
18
36
|
export declare const COLOR_ACCENT_DEFAULT = "bg-slate-900";
|
|
37
|
+
/** @deprecated Use `border-stroke-action` (--color-stroke-action) instead. */
|
|
19
38
|
export declare const COLOR_ACCENT_BORDER = "border-slate-900";
|
|
39
|
+
/**
|
|
40
|
+
* @deprecated Use semantic token classes directly instead. Map each color key to its
|
|
41
|
+
* corresponding `--color-surface-*`, `--color-stroke-*`, and `--color-content-*` tokens:
|
|
42
|
+
* - `bg` → `bg-surface-{color}-strong` (--color-surface-{color}-strong)
|
|
43
|
+
* - `bgHover` → `bg-surface-{color}-strong-hover` (--color-surface-{color}-strong-hover)
|
|
44
|
+
* - `bgActive` → `bg-surface-{color}-strong-active` (--color-surface-{color}-strong-active)
|
|
45
|
+
* - `border` → `border-stroke-{color}` (--color-stroke-{color})
|
|
46
|
+
* - `text` → `text-content-{color}` (--color-content-{color})
|
|
47
|
+
* - `ring` → `ring-[--color-stroke-focus]` (--color-stroke-focus)
|
|
48
|
+
*
|
|
49
|
+
* See Button/styles.ts for a complete migration example.
|
|
50
|
+
*/
|
|
20
51
|
export declare const SEMANTIC_COLORS: {
|
|
21
52
|
readonly action: {
|
|
22
53
|
readonly bg: "bg-slate-900";
|
|
@@ -59,12 +90,19 @@ export declare const SEMANTIC_COLORS: {
|
|
|
59
90
|
readonly ring: "ring-sky-400/50";
|
|
60
91
|
};
|
|
61
92
|
};
|
|
93
|
+
/** @deprecated Use `ring-2 ring-[--color-stroke-focus] ring-offset-2` (--color-stroke-focus) instead. */
|
|
62
94
|
export declare const FOCUS_RING = "ring-2 ring-slate-400/50 ring-offset-2";
|
|
95
|
+
/** @deprecated Use `rounded-[var(--border-radius-button)]` for buttons/inputs or `rounded-[var(--border-radius-default)]` for containers. */
|
|
63
96
|
export declare const RADIUS_SM = "rounded-lg";
|
|
97
|
+
/** @deprecated Use `rounded-[var(--border-radius-default)]` for cards/containers. */
|
|
64
98
|
export declare const RADIUS_MD = "rounded-xl";
|
|
99
|
+
/** @deprecated Use `rounded-[var(--border-radius-round)]` for circular elements (icon buttons, radio, pills). */
|
|
65
100
|
export declare const RADIUS_FULL = "rounded-full";
|
|
101
|
+
/** @deprecated Use `shadow-sm` directly instead */
|
|
66
102
|
export declare const SHADOW_SM = "shadow-sm";
|
|
103
|
+
/** @deprecated Use `shadow-md` directly instead */
|
|
67
104
|
export declare const SHADOW_MD = "shadow-md";
|
|
105
|
+
/** @deprecated */
|
|
68
106
|
export declare const SIZE_SCALE: {
|
|
69
107
|
readonly default: {
|
|
70
108
|
readonly height: "h-10";
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"primitives.d.ts","sourceRoot":"","sources":["../../../src/styles/primitives.ts"],"names":[],"mappings":"AAKA,eAAO,MAAM,gBAAgB,aAAa,CAAC;AAC3C,eAAO,MAAM,eAAe,gBAAgB,CAAC;AAC7C,eAAO,MAAM,cAAc,iBAAiB,CAAC;AAC7C,eAAO,MAAM,gBAAgB,iBAAiB,CAAC;AAG/C,eAAO,MAAM,oBAAoB,qBAAqB,CAAC;AACvD,eAAO,MAAM,mBAAmB,qBAAqB,CAAC;AACtD,eAAO,MAAM,kBAAkB,qBAAqB,CAAC;AACrD,eAAO,MAAM,oBAAoB,mBAAmB,CAAC;AAGrD,eAAO,MAAM,kBAAkB,mBAAmB,CAAC;AACnD,eAAO,MAAM,oBAAoB,mBAAmB,CAAC;AACrD,eAAO,MAAM,gBAAgB,mBAAmB,CAAC;AACjD,eAAO,MAAM,kBAAkB,eAAe,CAAC;AAC/C,eAAO,MAAM,sBAAsB,mBAAmB,CAAC;AACvD,eAAO,MAAM,kBAAkB,iBAAiB,CAAC;AAGjD,eAAO,MAAM,mBAAmB,iBAAiB,CAAC;AAClD,eAAO,MAAM,iBAAiB,iBAAiB,CAAC;AAChD,eAAO,MAAM,kBAAkB,iBAAiB,CAAC;AAGjD,eAAO,MAAM,oBAAoB,iBAAiB,CAAC;AACnD,eAAO,MAAM,mBAAmB,qBAAqB,CAAC;
|
|
1
|
+
{"version":3,"file":"primitives.d.ts","sourceRoot":"","sources":["../../../src/styles/primitives.ts"],"names":[],"mappings":"AAKA,8EAA8E;AAC9E,eAAO,MAAM,gBAAgB,aAAa,CAAC;AAC3C,kFAAkF;AAClF,eAAO,MAAM,eAAe,gBAAgB,CAAC;AAC7C,4FAA4F;AAC5F,eAAO,MAAM,cAAc,iBAAiB,CAAC;AAC7C,gEAAgE;AAChE,eAAO,MAAM,gBAAgB,iBAAiB,CAAC;AAG/C,oFAAoF;AACpF,eAAO,MAAM,oBAAoB,qBAAqB,CAAC;AACvD,4EAA4E;AAC5E,eAAO,MAAM,mBAAmB,qBAAqB,CAAC;AACtD,4EAA4E;AAC5E,eAAO,MAAM,kBAAkB,qBAAqB,CAAC;AACrD,8EAA8E;AAC9E,eAAO,MAAM,oBAAoB,mBAAmB,CAAC;AAGrD,gFAAgF;AAChF,eAAO,MAAM,kBAAkB,mBAAmB,CAAC;AACnD,oFAAoF;AACpF,eAAO,MAAM,oBAAoB,mBAAmB,CAAC;AACrD,kFAAkF;AAClF,eAAO,MAAM,gBAAgB,mBAAmB,CAAC;AACjD,uKAAuK;AACvK,eAAO,MAAM,kBAAkB,eAAe,CAAC;AAC/C,kFAAkF;AAClF,eAAO,MAAM,sBAAsB,mBAAmB,CAAC;AACvD,8EAA8E;AAC9E,eAAO,MAAM,kBAAkB,iBAAiB,CAAC;AAGjD,0FAA0F;AAC1F,eAAO,MAAM,mBAAmB,iBAAiB,CAAC;AAClD,sGAAsG;AACtG,eAAO,MAAM,iBAAiB,iBAAiB,CAAC;AAChD,wGAAwG;AACxG,eAAO,MAAM,kBAAkB,iBAAiB,CAAC;AAGjD,0FAA0F;AAC1F,eAAO,MAAM,oBAAoB,iBAAiB,CAAC;AACnD,8EAA8E;AAC9E,eAAO,MAAM,mBAAmB,qBAAqB,CAAC;AAEtD;;;;;;;;;;;GAWG;AACH,eAAO,MAAM,eAAe;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAyClB,CAAC;AAGX,yGAAyG;AACzG,eAAO,MAAM,UAAU,2CAA2C,CAAC;AAGnE,6IAA6I;AAC7I,eAAO,MAAM,SAAS,eAAe,CAAC;AACtC,qFAAqF;AACrF,eAAO,MAAM,SAAS,eAAe,CAAC;AACtC,iHAAiH;AACjH,eAAO,MAAM,WAAW,iBAAiB,CAAC;AAI1C,mDAAmD;AACnD,eAAO,MAAM,SAAS,cAAc,CAAC;AACrC,mDAAmD;AACnD,eAAO,MAAM,SAAS,cAAc,CAAC;AAMrC,kBAAkB;AAClB,eAAO,MAAM,UAAU;;;;;;;;;;;;;CAGb,CAAC;AAGX,eAAO,MAAM,iBAAiB,mCAAmC,CAAC;AAGlE,eAAO,MAAM,gBAAgB,oCAAoC,CAAC;AAClE,eAAO,MAAM,eAAe,qFACwD,CAAC"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@cdx-ui/components",
|
|
3
|
-
"version": "0.0.1-beta.
|
|
3
|
+
"version": "0.0.1-beta.51",
|
|
4
4
|
"main": "lib/commonjs/index.js",
|
|
5
5
|
"module": "lib/module/index.js",
|
|
6
6
|
"react-native": "src/index.ts",
|
|
@@ -16,10 +16,10 @@
|
|
|
16
16
|
},
|
|
17
17
|
"./styles.css": "./src/styles.css",
|
|
18
18
|
"./metro": {
|
|
19
|
-
"types": "./lib/typescript/metro/
|
|
20
|
-
"require": "./lib/commonjs/metro/
|
|
21
|
-
"import": "./lib/module/metro/
|
|
22
|
-
"default": "./lib/commonjs/metro/
|
|
19
|
+
"types": "./lib/typescript/metro/withForgeMetroConfig.d.ts",
|
|
20
|
+
"require": "./lib/commonjs/metro/withForgeMetroConfig.js",
|
|
21
|
+
"import": "./lib/module/metro/withForgeMetroConfig.js",
|
|
22
|
+
"default": "./lib/commonjs/metro/withForgeMetroConfig.js"
|
|
23
23
|
}
|
|
24
24
|
},
|
|
25
25
|
"files": [
|
|
@@ -67,11 +67,13 @@
|
|
|
67
67
|
"@gorhom/bottom-sheet": "^5.2.6",
|
|
68
68
|
"class-variance-authority": "^0.7.1",
|
|
69
69
|
"uniwind": "1.6.1",
|
|
70
|
-
"@cdx-ui/primitives": "0.0.1-beta.
|
|
71
|
-
"@cdx-ui/
|
|
72
|
-
"@cdx-ui/
|
|
70
|
+
"@cdx-ui/primitives": "0.0.1-beta.51",
|
|
71
|
+
"@cdx-ui/utils": "0.0.1-beta.51",
|
|
72
|
+
"@cdx-ui/icons": "0.0.1-beta.51"
|
|
73
73
|
},
|
|
74
74
|
"devDependencies": {
|
|
75
|
+
"@react-navigation/bottom-tabs": "*",
|
|
76
|
+
"react-native-screens": "*",
|
|
75
77
|
"@types/react": "*",
|
|
76
78
|
"@types/react-dom": "*",
|
|
77
79
|
"react": "*",
|
|
@@ -54,7 +54,7 @@ const AlertDialogAction = forwardRef<View, AlertDialogActionProps>(
|
|
|
54
54
|
}
|
|
55
55
|
|
|
56
56
|
return (
|
|
57
|
-
<Button ref={ref} variant="
|
|
57
|
+
<Button ref={ref} variant="solid" color={color} className={className} {...props}>
|
|
58
58
|
<Button.Label>{children}</Button.Label>
|
|
59
59
|
</Button>
|
|
60
60
|
);
|
|
@@ -36,7 +36,7 @@ export interface AvatarProps extends ViewProps, IAvatarProps, AvatarVariantProps
|
|
|
36
36
|
}
|
|
37
37
|
|
|
38
38
|
const AvatarRoot = forwardRef<View, AvatarProps>(
|
|
39
|
-
({ size = '
|
|
39
|
+
({ size = 'md', className, children, style, ...props }, ref) => {
|
|
40
40
|
const computedClassName = cn(avatarRootVariants({ size }), className);
|
|
41
41
|
|
|
42
42
|
return (
|
|
@@ -1,22 +1,27 @@
|
|
|
1
1
|
import { cva, type VariantProps } from 'class-variance-authority';
|
|
2
|
-
import { COLOR_BG_MUTED, COLOR_TEXT_SECONDARY, RADIUS_FULL } from '../../styles/primitives';
|
|
3
2
|
|
|
4
3
|
// ── Root ─────────────────────────────────────────────────
|
|
5
4
|
|
|
6
5
|
export const avatarRootVariants = cva(
|
|
7
|
-
[
|
|
6
|
+
[
|
|
7
|
+
'rounded-[var(--border-radius-round)]',
|
|
8
|
+
'relative items-center justify-center',
|
|
9
|
+
'bg-surface-tertiary',
|
|
10
|
+
],
|
|
8
11
|
{
|
|
9
12
|
variants: {
|
|
10
13
|
size: {
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
14
|
+
'2xs': 'w-3 h-3',
|
|
15
|
+
xs: 'w-[18px] h-[18px]',
|
|
16
|
+
sm: 'w-6 h-6',
|
|
17
|
+
md: 'w-8 h-8',
|
|
18
|
+
lg: 'w-10 h-10',
|
|
19
|
+
xl: 'w-12 h-12',
|
|
20
|
+
'2xl': 'w-14 h-14',
|
|
16
21
|
},
|
|
17
22
|
},
|
|
18
23
|
defaultVariants: {
|
|
19
|
-
size: '
|
|
24
|
+
size: 'md',
|
|
20
25
|
},
|
|
21
26
|
},
|
|
22
27
|
);
|
|
@@ -25,59 +30,69 @@ export const avatarRootVariants = cva(
|
|
|
25
30
|
|
|
26
31
|
export const avatarImageVariants = cva([
|
|
27
32
|
'absolute top-0 left-0 w-full h-full',
|
|
28
|
-
|
|
33
|
+
'rounded-[var(--border-radius-round)]',
|
|
29
34
|
'overflow-hidden',
|
|
35
|
+
'border border-stroke-secondary',
|
|
30
36
|
]);
|
|
31
37
|
|
|
32
38
|
// ── Text ─────────────────────────────────────────────────
|
|
33
39
|
|
|
34
|
-
export const avatarTextVariants = cva([
|
|
40
|
+
export const avatarTextVariants = cva(['text-content-primary', 'font-medium'], {
|
|
35
41
|
variants: {
|
|
36
42
|
size: {
|
|
43
|
+
'2xs': 'text-[6px]',
|
|
44
|
+
xs: 'text-[9px]',
|
|
37
45
|
sm: 'text-xs',
|
|
38
|
-
md: 'text-
|
|
39
|
-
lg: 'text-
|
|
40
|
-
xl: 'text-
|
|
41
|
-
'2xl': 'text-
|
|
46
|
+
md: 'text-base',
|
|
47
|
+
lg: 'text-xl',
|
|
48
|
+
xl: 'text-2xl',
|
|
49
|
+
'2xl': 'text-[28px]',
|
|
42
50
|
},
|
|
43
51
|
},
|
|
44
52
|
defaultVariants: {
|
|
45
|
-
size: '
|
|
53
|
+
size: 'md',
|
|
46
54
|
},
|
|
47
55
|
});
|
|
48
56
|
|
|
49
57
|
// ── Icon ─────────────────────────────────────────────────
|
|
50
58
|
|
|
51
|
-
export const avatarIconVariants = cva([
|
|
59
|
+
export const avatarIconVariants = cva(['text-content-primary'], {
|
|
52
60
|
variants: {
|
|
53
61
|
size: {
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
62
|
+
'2xs': 'size-1.5',
|
|
63
|
+
xs: 'size-[9px]',
|
|
64
|
+
sm: 'size-3',
|
|
65
|
+
md: 'size-4',
|
|
66
|
+
lg: 'size-5',
|
|
67
|
+
xl: 'size-6',
|
|
68
|
+
'2xl': 'size-7',
|
|
59
69
|
},
|
|
60
70
|
},
|
|
61
71
|
defaultVariants: {
|
|
62
|
-
size: '
|
|
72
|
+
size: 'md',
|
|
63
73
|
},
|
|
64
74
|
});
|
|
65
75
|
|
|
66
76
|
// ── Badge ────────────────────────────────────────────────
|
|
67
77
|
|
|
68
|
-
export const avatarBadgeVariants = cva(
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
|
|
78
|
+
export const avatarBadgeVariants = cva(
|
|
79
|
+
['absolute border-white', 'rounded-[var(--border-radius-round)]', 'bottom-0 right-0'],
|
|
80
|
+
{
|
|
81
|
+
variants: {
|
|
82
|
+
size: {
|
|
83
|
+
'2xs': 'w-1.5 h-1.5 border translate-x-[21%] translate-y-[21%]',
|
|
84
|
+
xs: 'w-2 h-2 border translate-x-[17%] translate-y-[17%]',
|
|
85
|
+
sm: 'w-2.5 h-2.5 border-2 translate-x-[15%] translate-y-[15%]',
|
|
86
|
+
md: 'w-3 h-3 border-2 translate-x-[11%] translate-y-[11%]',
|
|
87
|
+
lg: 'w-3.5 h-3.5 border-2 translate-x-[8%] translate-y-[8%]',
|
|
88
|
+
xl: 'w-4 h-4 border-2 translate-x-[6%] translate-y-[6%]',
|
|
89
|
+
'2xl': 'w-5 h-5 border-2 translate-x-[9%] translate-y-[9%]',
|
|
90
|
+
},
|
|
91
|
+
},
|
|
92
|
+
defaultVariants: {
|
|
93
|
+
size: 'md',
|
|
76
94
|
},
|
|
77
95
|
},
|
|
78
|
-
|
|
79
|
-
size: 'lg',
|
|
80
|
-
},
|
|
81
|
-
});
|
|
96
|
+
);
|
|
82
97
|
|
|
83
98
|
export type AvatarVariantProps = VariantProps<typeof avatarRootVariants>;
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { forwardRef, type ReactElement, type ReactNode } from 'react';
|
|
1
|
+
import { forwardRef, useEffect, type ReactElement, type ReactNode } from 'react';
|
|
2
2
|
import {
|
|
3
3
|
ActivityIndicator,
|
|
4
4
|
Pressable,
|
|
@@ -40,7 +40,25 @@ const ButtonPrimitive = createButton({
|
|
|
40
40
|
// STYLED ROOT COMPONENT
|
|
41
41
|
// =============================================================================
|
|
42
42
|
|
|
43
|
-
export
|
|
43
|
+
export type ButtonVariant = 'solid' | 'outline' | 'ghost';
|
|
44
|
+
|
|
45
|
+
/** @deprecated Use {@link ButtonVariant} (`'solid'`) instead. */
|
|
46
|
+
export type ButtonVariantStrong = 'strong';
|
|
47
|
+
|
|
48
|
+
let hasWarnedStrongButtonVariant = false;
|
|
49
|
+
|
|
50
|
+
export interface ButtonProps
|
|
51
|
+
extends PressableProps, IButtonProps, Omit<ButtonVariantProps, 'variant'> {
|
|
52
|
+
/**
|
|
53
|
+
* Visual style variant.
|
|
54
|
+
* @default 'solid'
|
|
55
|
+
*/
|
|
56
|
+
variant?:
|
|
57
|
+
| ButtonVariant
|
|
58
|
+
/**
|
|
59
|
+
* @deprecated Use `'solid'` instead.
|
|
60
|
+
*/
|
|
61
|
+
| 'strong';
|
|
44
62
|
className?: string;
|
|
45
63
|
children?: ReactNode;
|
|
46
64
|
}
|
|
@@ -48,7 +66,7 @@ export interface ButtonProps extends PressableProps, IButtonProps, ButtonVariant
|
|
|
48
66
|
const ButtonRoot = forwardRef<View, ButtonProps>(
|
|
49
67
|
(
|
|
50
68
|
{
|
|
51
|
-
variant = '
|
|
69
|
+
variant: variantProp = 'solid',
|
|
52
70
|
color = 'action',
|
|
53
71
|
size = 'default',
|
|
54
72
|
fullWidth = false,
|
|
@@ -59,6 +77,22 @@ const ButtonRoot = forwardRef<View, ButtonProps>(
|
|
|
59
77
|
},
|
|
60
78
|
ref,
|
|
61
79
|
) => {
|
|
80
|
+
// TODO: Remove this once the `strong` variant is removed.
|
|
81
|
+
useEffect(() => {
|
|
82
|
+
if (
|
|
83
|
+
typeof process !== 'undefined' &&
|
|
84
|
+
process.env.NODE_ENV !== 'production' &&
|
|
85
|
+
variantProp === 'strong' &&
|
|
86
|
+
!hasWarnedStrongButtonVariant
|
|
87
|
+
) {
|
|
88
|
+
hasWarnedStrongButtonVariant = true;
|
|
89
|
+
console.warn(
|
|
90
|
+
'[Button] The `strong` variant is deprecated and will be removed in a future major release. Use `solid` instead.',
|
|
91
|
+
);
|
|
92
|
+
}
|
|
93
|
+
}, [variantProp]);
|
|
94
|
+
|
|
95
|
+
const variant = variantProp === 'strong' ? 'solid' : variantProp;
|
|
62
96
|
const computedClassName = cn(
|
|
63
97
|
buttonRootVariants({ variant, color, size, fullWidth }),
|
|
64
98
|
className,
|
|
@@ -141,9 +175,9 @@ ButtonGroup.displayName = 'Button.Group';
|
|
|
141
175
|
export interface ButtonIconProps extends Omit<IconProps, 'children'> {}
|
|
142
176
|
|
|
143
177
|
const ButtonIcon = ({ className, style, as, ...props }: ButtonIconProps) => {
|
|
144
|
-
const { size } = useButtonStyleContext();
|
|
178
|
+
const { variant, color, size } = useButtonStyleContext();
|
|
145
179
|
|
|
146
|
-
const computedClassName = cn(buttonIconVariants({ size }), className);
|
|
180
|
+
const computedClassName = cn(buttonIconVariants({ variant, color, size }), className);
|
|
147
181
|
|
|
148
182
|
return <Icon as={as} className={computedClassName} style={style} {...props} />;
|
|
149
183
|
};
|