@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,90 @@
|
|
|
1
|
+
# Components — authoring & styling conventions
|
|
2
|
+
|
|
3
|
+
Auto-loaded when working in `packages/components/src/components/**`. Covers both the
|
|
4
|
+
styled component files (`index.tsx`) and their co-located CVA variant files (`styles.ts`).
|
|
5
|
+
|
|
6
|
+
---
|
|
7
|
+
|
|
8
|
+
## Component Authoring (`index.tsx`)
|
|
9
|
+
|
|
10
|
+
Styled components in `@cdx-ui/components` follow a consistent pattern. Read the full guides before making changes:
|
|
11
|
+
|
|
12
|
+
- `docs/internal/practices/composition.md` — compound component pattern, naming conventions
|
|
13
|
+
- `docs/internal/practices/types.md` — prop types, `I*Props` vs `*Props`, exporting
|
|
14
|
+
- `docs/internal/practices/styling.md` — `cn()`, CVA, token classes, `Platform.select()`
|
|
15
|
+
- `docs/internal/practices/state.md` — `useControllableState`, `composeEventHandlers`
|
|
16
|
+
- `docs/internal/practices/data-attributes.md` — `data-[state]` and `data-slot`
|
|
17
|
+
|
|
18
|
+
### Pattern summary
|
|
19
|
+
|
|
20
|
+
Each component follows this structure (see `Button/index.tsx` as the canonical example):
|
|
21
|
+
|
|
22
|
+
1. **Imports** — RN base components, primitive from `@cdx-ui/primitives`, `cn` + style context from `@cdx-ui/utils`, variant functions from `./styles`
|
|
23
|
+
2. **Scope constant** — `const SCOPE = 'COMPONENT_NAME'` for `withStyleContext` / `useStyleContext`
|
|
24
|
+
3. **Root wrapping** — `const Root = withStyleContext(BaseRNComponent, SCOPE)`
|
|
25
|
+
4. **Primitive instantiation** — `const Primitive = createComponent({ Root, Text, ... })` using the primitive factory
|
|
26
|
+
5. **Styled sub-components** — each wraps a single element, uses `forwardRef`, destructures variant props with defaults, computes `cn(variantFn({ ...variants }), className)`, passes `context` to the primitive root
|
|
27
|
+
6. **Compound export** — `Object.assign(RootComponent, { Sub1, Sub2 }) as CompoundType`
|
|
28
|
+
|
|
29
|
+
### Key rules
|
|
30
|
+
|
|
31
|
+
- Props interface extends RN base props + primitive `I*Props` + CVA `VariantProps` + `{ className?: string }`
|
|
32
|
+
- Always accept and spread `style` alongside `className`
|
|
33
|
+
- Variant defaults in destructuring must match CVA `defaultVariants`
|
|
34
|
+
- `displayName` set on every exported sub-component
|
|
35
|
+
- `className` is merged last via `cn()` so consumer overrides always win
|
|
36
|
+
- Never hardcode colors — use semantic token classes (`bg-surface-*`, `text-content-*`, `border-stroke-*`)
|
|
37
|
+
- Event handlers composed via `composeEventHandlers` from `@cdx-ui/utils`
|
|
38
|
+
- Third-party libraries fully abstracted — no adopted library types leak to consumers
|
|
39
|
+
|
|
40
|
+
---
|
|
41
|
+
|
|
42
|
+
## Styling Conventions (`styles.ts`)
|
|
43
|
+
|
|
44
|
+
Variant definitions live in co-located `styles.ts` files using CVA. Read the full guides before making changes:
|
|
45
|
+
|
|
46
|
+
- `docs/internal/practices/styling.md` — `cn()`, CVA, token architecture, dark mode, `Platform.select()`
|
|
47
|
+
- `docs/internal/practices/data-attributes.md` — `data-[state]` selectors for interaction states
|
|
48
|
+
|
|
49
|
+
### Pattern summary
|
|
50
|
+
|
|
51
|
+
Each `styles.ts` exports CVA variant functions and their derived `VariantProps` types (see `Button/styles.ts` as the canonical example):
|
|
52
|
+
|
|
53
|
+
```ts
|
|
54
|
+
import { Platform } from 'react-native';
|
|
55
|
+
import { cva, type VariantProps } from 'class-variance-authority';
|
|
56
|
+
import { DISABLED_CURSOR, TRANSITION_COLORS } from '../../styles/primitives';
|
|
57
|
+
|
|
58
|
+
export const componentRootVariants = cva(
|
|
59
|
+
[
|
|
60
|
+
/* base classes */
|
|
61
|
+
],
|
|
62
|
+
{
|
|
63
|
+
variants: {
|
|
64
|
+
/* variant axes */
|
|
65
|
+
},
|
|
66
|
+
compoundVariants: [
|
|
67
|
+
/* variant × variant combinations */
|
|
68
|
+
],
|
|
69
|
+
defaultVariants: {
|
|
70
|
+
/* defaults matching the component's destructured defaults */
|
|
71
|
+
},
|
|
72
|
+
},
|
|
73
|
+
);
|
|
74
|
+
|
|
75
|
+
export type ComponentVariantProps = VariantProps<typeof componentRootVariants>;
|
|
76
|
+
```
|
|
77
|
+
|
|
78
|
+
### Key rules
|
|
79
|
+
|
|
80
|
+
- **Semantic token classes only** — use `bg-surface-action-strong`, `text-content-primary`, `border-stroke-primary`, etc. Never hardcode hex colors, `bg-white`, `text-black`, or raw Tailwind color scales for themed values.
|
|
81
|
+
- **`data-[state]` selectors** — use `data-[disabled=true]:`, `data-[hover=true]:`, `data-[active=true]:`, `data-[focus-visible=true]:` for interaction states. Primitives emit these data attributes.
|
|
82
|
+
- **`Platform.select()`** for platform-specific classes — web gets `data-[hover=true]` styles (hover exists on web); native responds only to `data-[active=true]` (press). Always set `default` (native) and `web` keys.
|
|
83
|
+
- **Shared style primitives** — import `DISABLED_CURSOR`, `TRANSITION_COLORS`, etc. from `../../styles/primitives` for cross-component consistency.
|
|
84
|
+
- **`web:` prefix** for web-only utilities — e.g., `web:outline-none`, `web:focus-visible:ring-2`.
|
|
85
|
+
- **`compoundVariants`** for variant × variant combinations where simple variant merging is insufficient.
|
|
86
|
+
- **`defaultVariants`** must match the destructured defaults in the component's `index.tsx`.
|
|
87
|
+
- **One `cva()` per sub-component** — root, text, icon, spinner, etc. each get their own variant function.
|
|
88
|
+
- **Export `VariantProps` types** — derived via `VariantProps<typeof variantFn>` for the component layer to consume.
|
|
89
|
+
- **No dynamic string construction** — all Tailwind class names must be statically detectable by the Tailwind scanner.
|
|
90
|
+
- **CSS variables for token values** — use `rounded-[var(--border-radius-button)]` syntax when referencing design tokens not mapped to Tailwind utilities.
|
|
@@ -12,18 +12,24 @@ var _jsxRuntime = require("react/jsx-runtime");
|
|
|
12
12
|
// =============================================================================
|
|
13
13
|
// STYLED ROOT COMPONENT
|
|
14
14
|
// =============================================================================
|
|
15
|
-
|
|
15
|
+
const SCOPE = 'CARD';
|
|
16
|
+
const Root = (0, _utils.withStyleContext)(_reactNative.View, SCOPE);
|
|
17
|
+
const useCardStyleContext = () => (0, _utils.useStyleContext)(SCOPE);
|
|
16
18
|
const CardRoot = /*#__PURE__*/(0, _react.forwardRef)(({
|
|
17
19
|
className,
|
|
18
20
|
children,
|
|
19
21
|
style,
|
|
22
|
+
fullBleed,
|
|
20
23
|
...props
|
|
21
24
|
}, ref) => {
|
|
22
25
|
const computedClassName = (0, _utils.cn)((0, _styles.cardRootVariants)(), className);
|
|
23
|
-
return /*#__PURE__*/(0, _jsxRuntime.jsx)(
|
|
26
|
+
return /*#__PURE__*/(0, _jsxRuntime.jsx)(Root, {
|
|
24
27
|
ref: ref,
|
|
25
28
|
className: computedClassName,
|
|
26
29
|
style: style,
|
|
30
|
+
context: {
|
|
31
|
+
fullBleed
|
|
32
|
+
},
|
|
27
33
|
...props,
|
|
28
34
|
children: children
|
|
29
35
|
});
|
|
@@ -59,9 +65,15 @@ const CardContent = /*#__PURE__*/(0, _react.forwardRef)(({
|
|
|
59
65
|
className,
|
|
60
66
|
children,
|
|
61
67
|
style,
|
|
68
|
+
fullBleed,
|
|
62
69
|
...props
|
|
63
70
|
}, ref) => {
|
|
64
|
-
const
|
|
71
|
+
const {
|
|
72
|
+
fullBleed: fullBleedFromContext
|
|
73
|
+
} = useCardStyleContext();
|
|
74
|
+
const computedClassName = (0, _utils.cn)((0, _styles.cardContentVariants)({
|
|
75
|
+
fullBleed: fullBleed ?? fullBleedFromContext
|
|
76
|
+
}), className);
|
|
65
77
|
return /*#__PURE__*/(0, _jsxRuntime.jsx)(_reactNative.View, {
|
|
66
78
|
ref: ref,
|
|
67
79
|
className: computedClassName,
|
|
@@ -80,9 +92,15 @@ const CardFooter = /*#__PURE__*/(0, _react.forwardRef)(({
|
|
|
80
92
|
className,
|
|
81
93
|
children,
|
|
82
94
|
style,
|
|
95
|
+
fullBleed,
|
|
83
96
|
...props
|
|
84
97
|
}, ref) => {
|
|
85
|
-
const
|
|
98
|
+
const {
|
|
99
|
+
fullBleed: fullBleedFromContext
|
|
100
|
+
} = useCardStyleContext();
|
|
101
|
+
const computedClassName = (0, _utils.cn)((0, _styles.cardFooterVariants)({
|
|
102
|
+
fullBleed: fullBleed ?? fullBleedFromContext
|
|
103
|
+
}), className);
|
|
86
104
|
return /*#__PURE__*/(0, _jsxRuntime.jsx)(_reactNative.View, {
|
|
87
105
|
ref: ref,
|
|
88
106
|
className: computedClassName,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["_react","require","_reactNative","_utils","_styles","_jsxRuntime","CardRoot","forwardRef","className","children","style","props","ref","computedClassName","cn","cardRootVariants","jsx","
|
|
1
|
+
{"version":3,"names":["_react","require","_reactNative","_utils","_styles","_jsxRuntime","SCOPE","Root","withStyleContext","View","useCardStyleContext","useStyleContext","CardRoot","forwardRef","className","children","style","fullBleed","props","ref","computedClassName","cn","cardRootVariants","jsx","context","displayName","CardHeader","cardHeaderVariants","CardContent","fullBleedFromContext","cardContentVariants","CardFooter","cardFooterVariants","Card","exports","Header","Content","Footer"],"sourceRoot":"../../../../src","sources":["components/Card/index.tsx"],"mappings":"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","ignoreList":[]}
|
|
@@ -7,11 +7,18 @@ exports.cardTitleVariants = exports.cardRootVariants = exports.cardHeaderVariant
|
|
|
7
7
|
var _classVarianceAuthority = require("class-variance-authority");
|
|
8
8
|
// ── Root ────────────────────────────────────────────────────
|
|
9
9
|
|
|
10
|
-
const cardRootVariants = exports.cardRootVariants = (0, _classVarianceAuthority.cva)(['bg-surface-primary', 'border border-stroke-secondary', 'rounded-[var(--border-radius-default)]', 'overflow-hidden']
|
|
10
|
+
const cardRootVariants = exports.cardRootVariants = (0, _classVarianceAuthority.cva)(['bg-surface-primary', 'border border-stroke-secondary', 'rounded-[var(--border-radius-default)]', 'overflow-hidden'], {
|
|
11
|
+
variants: {
|
|
12
|
+
fullBleed: {
|
|
13
|
+
true: '',
|
|
14
|
+
false: ''
|
|
15
|
+
}
|
|
16
|
+
}
|
|
17
|
+
});
|
|
11
18
|
|
|
12
19
|
// ── Header ──────────────────────────────────────────────────
|
|
13
20
|
|
|
14
|
-
const cardHeaderVariants = exports.cardHeaderVariants = (0, _classVarianceAuthority.cva)(['
|
|
21
|
+
const cardHeaderVariants = exports.cardHeaderVariants = (0, _classVarianceAuthority.cva)(['border-t-8 border-t-surface-brand-strong', 'border-b border-solid border-b-stroke-secondary', 'flex-row items-center justify-between gap-0.5', 'px-5 py-3']);
|
|
15
22
|
|
|
16
23
|
// ── Title ───────────────────────────────────────────────────
|
|
17
24
|
|
|
@@ -19,9 +26,25 @@ const cardTitleVariants = exports.cardTitleVariants = (0, _classVarianceAuthorit
|
|
|
19
26
|
|
|
20
27
|
// ── Content ─────────────────────────────────────────────────
|
|
21
28
|
|
|
22
|
-
const cardContentVariants = exports.cardContentVariants = (0, _classVarianceAuthority.cva)(['text-content-primary', 'p-
|
|
29
|
+
const cardContentVariants = exports.cardContentVariants = (0, _classVarianceAuthority.cva)(['text-content-primary', 'p-5'], {
|
|
30
|
+
variants: {
|
|
31
|
+
fullBleed: {
|
|
32
|
+
true: 'p-0'
|
|
33
|
+
}
|
|
34
|
+
}
|
|
35
|
+
});
|
|
23
36
|
|
|
24
37
|
// ── Footer ──────────────────────────────────────────────────
|
|
25
38
|
|
|
26
|
-
const cardFooterVariants = exports.cardFooterVariants = (0, _classVarianceAuthority.cva)(['
|
|
39
|
+
const cardFooterVariants = exports.cardFooterVariants = (0, _classVarianceAuthority.cva)(['flex-col items-stretch gap-2'], {
|
|
40
|
+
variants: {
|
|
41
|
+
fullBleed: {
|
|
42
|
+
true: 'p-5',
|
|
43
|
+
false: 'px-5 pb-5 pt-0'
|
|
44
|
+
}
|
|
45
|
+
},
|
|
46
|
+
defaultVariants: {
|
|
47
|
+
fullBleed: false
|
|
48
|
+
}
|
|
49
|
+
});
|
|
27
50
|
//# sourceMappingURL=styles.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["_classVarianceAuthority","require","cardRootVariants","exports","cva","cardHeaderVariants","cardTitleVariants","cardContentVariants","cardFooterVariants"],"sourceRoot":"../../../../src","sources":["components/Card/styles.ts"],"mappings":";;;;;;AAAA,IAAAA,uBAAA,GAAAC,OAAA;AAEA;;AAEO,MAAMC,gBAAgB,GAAAC,OAAA,CAAAD,gBAAA,GAAG,IAAAE,2BAAG,
|
|
1
|
+
{"version":3,"names":["_classVarianceAuthority","require","cardRootVariants","exports","cva","variants","fullBleed","true","false","cardHeaderVariants","cardTitleVariants","cardContentVariants","cardFooterVariants","defaultVariants"],"sourceRoot":"../../../../src","sources":["components/Card/styles.ts"],"mappings":";;;;;;AAAA,IAAAA,uBAAA,GAAAC,OAAA;AAEA;;AAEO,MAAMC,gBAAgB,GAAAC,OAAA,CAAAD,gBAAA,GAAG,IAAAE,2BAAG,EACjC,CACE,oBAAoB,EACpB,gCAAgC,EAChC,wCAAwC,EACxC,iBAAiB,CAClB,EACD;EACEC,QAAQ,EAAE;IACRC,SAAS,EAAE;MACTC,IAAI,EAAE,EAAE;MACRC,KAAK,EAAE;IACT;EACF;AACF,CACF,CAAC;;AAED;;AAEO,MAAMC,kBAAkB,GAAAN,OAAA,CAAAM,kBAAA,GAAG,IAAAL,2BAAG,EAAC,CACpC,0CAA0C,EAC1C,iDAAiD,EACjD,+CAA+C,EAC/C,WAAW,CACZ,CAAC;;AAEF;;AAEO,MAAMM,iBAAiB,GAAAP,OAAA,CAAAO,iBAAA,GAAG,IAAAN,2BAAG,EAAC,CAAC,QAAQ,CAAC,CAAC;;AAEhD;;AAEO,MAAMO,mBAAmB,GAAAR,OAAA,CAAAQ,mBAAA,GAAG,IAAAP,2BAAG,EAAC,CAAC,sBAAsB,EAAE,KAAK,CAAC,EAAE;EACtEC,QAAQ,EAAE;IACRC,SAAS,EAAE;MACTC,IAAI,EAAE;IACR;EACF;AACF,CAAC,CAAC;;AAEF;;AAEO,MAAMK,kBAAkB,GAAAT,OAAA,CAAAS,kBAAA,GAAG,IAAAR,2BAAG,EAAC,CAAC,8BAA8B,CAAC,EAAE;EACtEC,QAAQ,EAAE;IACRC,SAAS,EAAE;MACTC,IAAI,EAAE,KAAK;MACXC,KAAK,EAAE;IACT;EACF,CAAC;EACDK,eAAe,EAAE;IACfP,SAAS,EAAE;EACb;AACF,CAAC,CAAC","ignoreList":[]}
|
|
@@ -12,11 +12,8 @@ var _utils = require("@cdx-ui/utils");
|
|
|
12
12
|
var _Icon = require("../Icon");
|
|
13
13
|
var _styles = require("./styles");
|
|
14
14
|
var _jsxRuntime = require("react/jsx-runtime");
|
|
15
|
-
const SCOPE = 'CHECKBOX';
|
|
16
|
-
const Root = (0, _utils.withStyleContext)(_reactNative.Pressable, SCOPE);
|
|
17
|
-
const useCheckboxStyleContext = () => (0, _utils.useStyleContext)(SCOPE);
|
|
18
15
|
const CheckboxPrimitive = (0, _primitives.createCheckbox)({
|
|
19
|
-
Root,
|
|
16
|
+
Root: _reactNative.Pressable,
|
|
20
17
|
Indicator: _reactNative.View,
|
|
21
18
|
Icon: _reactNative.View,
|
|
22
19
|
Label: _reactNative.Text,
|
|
@@ -28,24 +25,18 @@ const CheckboxPrimitive = (0, _primitives.createCheckbox)({
|
|
|
28
25
|
// =============================================================================
|
|
29
26
|
|
|
30
27
|
const CheckboxRoot = /*#__PURE__*/(0, _react.forwardRef)(({
|
|
31
|
-
size = 'default',
|
|
32
28
|
className,
|
|
33
29
|
isIndeterminate,
|
|
34
30
|
children,
|
|
35
31
|
style,
|
|
36
32
|
...props
|
|
37
33
|
}, ref) => {
|
|
38
|
-
const computedClassName = (0, _utils.cn)((0, _styles.checkboxRootVariants)(
|
|
39
|
-
size
|
|
40
|
-
}), className);
|
|
34
|
+
const computedClassName = (0, _utils.cn)((0, _styles.checkboxRootVariants)(), className);
|
|
41
35
|
return /*#__PURE__*/(0, _jsxRuntime.jsxs)(CheckboxPrimitive, {
|
|
42
36
|
ref: ref,
|
|
43
37
|
className: computedClassName,
|
|
44
38
|
isIndeterminate: isIndeterminate,
|
|
45
39
|
style: style,
|
|
46
|
-
context: {
|
|
47
|
-
size
|
|
48
|
-
},
|
|
49
40
|
...props,
|
|
50
41
|
children: [/*#__PURE__*/(0, _jsxRuntime.jsx)(CheckboxIndicator, {
|
|
51
42
|
children: /*#__PURE__*/(0, _jsxRuntime.jsx)(CheckboxPrimitive.Icon, {
|
|
@@ -68,12 +59,7 @@ const CheckboxIndicator = /*#__PURE__*/(0, _react.forwardRef)(({
|
|
|
68
59
|
style,
|
|
69
60
|
...props
|
|
70
61
|
}, ref) => {
|
|
71
|
-
const
|
|
72
|
-
size
|
|
73
|
-
} = useCheckboxStyleContext();
|
|
74
|
-
const computedClassName = (0, _utils.cn)((0, _styles.checkboxIndicatorVariants)({
|
|
75
|
-
size
|
|
76
|
-
}), className);
|
|
62
|
+
const computedClassName = (0, _utils.cn)((0, _styles.checkboxIndicatorVariants)(), className);
|
|
77
63
|
return /*#__PURE__*/(0, _jsxRuntime.jsx)(CheckboxPrimitive.Indicator, {
|
|
78
64
|
ref: ref,
|
|
79
65
|
className: computedClassName,
|
|
@@ -93,12 +79,7 @@ const CheckboxIcon = ({
|
|
|
93
79
|
style,
|
|
94
80
|
...props
|
|
95
81
|
}) => {
|
|
96
|
-
const
|
|
97
|
-
size
|
|
98
|
-
} = useCheckboxStyleContext();
|
|
99
|
-
const computedClassName = (0, _utils.cn)((0, _styles.checkboxIconVariants)({
|
|
100
|
-
size
|
|
101
|
-
}), className);
|
|
82
|
+
const computedClassName = (0, _utils.cn)((0, _styles.checkboxIconVariants)(), className);
|
|
102
83
|
return /*#__PURE__*/(0, _jsxRuntime.jsx)(_Icon.Icon, {
|
|
103
84
|
className: computedClassName,
|
|
104
85
|
style: style,
|
|
@@ -117,12 +98,7 @@ const CheckboxLabel = /*#__PURE__*/(0, _react.forwardRef)(({
|
|
|
117
98
|
style,
|
|
118
99
|
...props
|
|
119
100
|
}, ref) => {
|
|
120
|
-
const
|
|
121
|
-
size
|
|
122
|
-
} = useCheckboxStyleContext();
|
|
123
|
-
const computedClassName = (0, _utils.cn)((0, _styles.checkboxLabelVariants)({
|
|
124
|
-
size
|
|
125
|
-
}), className);
|
|
101
|
+
const computedClassName = (0, _utils.cn)((0, _styles.checkboxLabelVariants)(), className);
|
|
126
102
|
return /*#__PURE__*/(0, _jsxRuntime.jsx)(CheckboxPrimitive.Label, {
|
|
127
103
|
ref: ref,
|
|
128
104
|
className: computedClassName,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["_react","require","_reactNative","_icons","_primitives","_utils","_Icon","_styles","_jsxRuntime","
|
|
1
|
+
{"version":3,"names":["_react","require","_reactNative","_icons","_primitives","_utils","_Icon","_styles","_jsxRuntime","CheckboxPrimitive","createCheckbox","Root","Pressable","Indicator","View","Icon","Label","Text","Group","CheckboxRoot","forwardRef","className","isIndeterminate","children","style","props","ref","computedClassName","cn","checkboxRootVariants","jsxs","jsx","CheckboxIndicator","CheckboxIcon","as","CheckIndeterminateSmall","Check","displayName","checkboxIndicatorVariants","checkboxIconVariants","CheckboxLabel","checkboxLabelVariants","CheckboxGroup","direction","value","onChange","isDisabled","isInvalid","isReadOnly","viewProps","checkboxGroupVariants","Checkbox","exports","Object","assign"],"sourceRoot":"../../../../src","sources":["components/Checkbox/index.tsx"],"mappings":"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","ignoreList":[]}
|
|
@@ -7,53 +7,45 @@ exports.checkboxRootVariants = exports.checkboxLabelVariants = exports.checkboxI
|
|
|
7
7
|
var _reactNative = require("react-native");
|
|
8
8
|
var _classVarianceAuthority = require("class-variance-authority");
|
|
9
9
|
var _primitives = require("../../styles/primitives");
|
|
10
|
-
const checkboxRootVariants = exports.checkboxRootVariants = (0, _classVarianceAuthority.cva)(['flex-row items-center', _primitives.DISABLED_OPACITY, _primitives.DISABLED_CURSOR
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
web: [
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
small: 'text-sm',
|
|
50
|
-
default: 'text-base'
|
|
51
|
-
}
|
|
52
|
-
},
|
|
53
|
-
defaultVariants: {
|
|
54
|
-
size: 'default'
|
|
55
|
-
}
|
|
56
|
-
});
|
|
10
|
+
const checkboxRootVariants = exports.checkboxRootVariants = (0, _classVarianceAuthority.cva)(['flex-row items-center gap-2.5', _primitives.DISABLED_OPACITY, _primitives.DISABLED_CURSOR,
|
|
11
|
+
// Suppress stray outline on the Pressable/label wrapper; focus ring is drawn on Checkbox.Indicator (Radio pattern).
|
|
12
|
+
'web:outline-none web:focus:outline-none web:focus-visible:outline-none']);
|
|
13
|
+
const checkboxIndicatorVariants = exports.checkboxIndicatorVariants = (0, _classVarianceAuthority.cva)(['items-center justify-center', 'h-5 w-5', 'rounded', 'border-2 border-solid', 'data-[disabled=true]:opacity-50',
|
|
14
|
+
// Background — layered by specificity. checked=false acts as an explicit reset so the base bg
|
|
15
|
+
// reasserts when transitioning from checked/indeterminate on native (where absent attributes
|
|
16
|
+
// break data-[attr=false] selectors).
|
|
17
|
+
// IMPORTANT: On native (Uniwind), only the LAST data-[] condition in a compound chain is
|
|
18
|
+
// effectively evaluated. Place the most discriminating condition last to avoid false matches.
|
|
19
|
+
'data-[checked=false]:bg-surface-primary', 'data-[checked=true]:bg-surface-action-strong', 'data-[indeterminate=true]:bg-surface-action-strong',
|
|
20
|
+
// Border — invalid (later) beats checked/indeterminate.
|
|
21
|
+
'data-[checked=false]:border-content-secondary', 'data-[checked=true]:border-stroke-action', 'data-[indeterminate=true]:border-stroke-action', 'data-[invalid=true]:border-stroke-danger', _reactNative.Platform.select({
|
|
22
|
+
web: [
|
|
23
|
+
// Invalid bg — compound selectors evaluate correctly on web.
|
|
24
|
+
'data-[invalid=true]:data-[checked=true]:bg-surface-danger-strong', 'data-[invalid=true]:data-[indeterminate=true]:bg-surface-danger-strong', _primitives.TRANSITION_COLORS,
|
|
25
|
+
// Hover — unchecked (Figma: border unchanged, bg overlay at opacity/hover)
|
|
26
|
+
'data-[hover=true]:data-[checked=false]:data-[indeterminate=false]:bg-content-secondary/[0.08]',
|
|
27
|
+
// Hover — unchecked + invalid (overlay uses danger token)
|
|
28
|
+
'data-[hover=true]:data-[invalid=true]:data-[checked=false]:data-[indeterminate=false]:bg-surface-danger-strong/[0.08]',
|
|
29
|
+
// Hover — checked / indeterminate (bg + border darken together)
|
|
30
|
+
'data-[hover=true]:data-[checked=true]:bg-surface-action-strong-hover', 'data-[hover=true]:data-[checked=true]:border-[--color-surface-action-strong-hover]', 'data-[hover=true]:data-[indeterminate=true]:bg-surface-action-strong-hover', 'data-[hover=true]:data-[indeterminate=true]:border-[--color-surface-action-strong-hover]', 'data-[hover=true]:data-[checked=true]:data-[invalid=true]:bg-surface-danger-strong-hover', 'data-[hover=true]:data-[checked=true]:data-[invalid=true]:border-[--color-surface-danger-strong-hover]', 'data-[hover=true]:data-[indeterminate=true]:data-[invalid=true]:bg-surface-danger-strong-hover', 'data-[hover=true]:data-[indeterminate=true]:data-[invalid=true]:border-[--color-surface-danger-strong-hover]',
|
|
31
|
+
// Active — CSS :active pseudo-class (web root does not track press via data-active).
|
|
32
|
+
// data-[hover=true] guard ensures active beats hover by specificity (0,3,0 > 0,2,0).
|
|
33
|
+
'web:active:data-[hover=true]:data-[checked=true]:bg-surface-action-strong-active', 'web:active:data-[hover=true]:data-[checked=true]:border-[--color-surface-action-strong-active]', 'web:active:data-[hover=true]:data-[indeterminate=true]:bg-surface-action-strong-active', 'web:active:data-[hover=true]:data-[indeterminate=true]:border-[--color-surface-action-strong-active]', 'web:active:data-[hover=true]:data-[checked=true]:data-[invalid=true]:bg-surface-danger-strong-active', 'web:active:data-[hover=true]:data-[checked=true]:data-[invalid=true]:border-[--color-surface-danger-strong-active]', 'web:active:data-[hover=true]:data-[indeterminate=true]:data-[invalid=true]:bg-surface-danger-strong-active', 'web:active:data-[hover=true]:data-[indeterminate=true]:data-[invalid=true]:border-[--color-surface-danger-strong-active]',
|
|
34
|
+
// Focus ring
|
|
35
|
+
'web:data-[focus-visible=true]:outline-none', 'web:data-[focus-visible=true]:ring-2 web:data-[focus-visible=true]:ring-[--color-stroke-ring] web:data-[focus-visible=true]:ring-offset-2'].join(' '),
|
|
36
|
+
default: [
|
|
37
|
+
// Invalid bg is NOT styled on native. Compound data-[] selectors cannot express
|
|
38
|
+
// "invalid AND checked" without false-matching other states (Uniwind only evaluates
|
|
39
|
+
// the last condition). Invalid state is communicated via border-stroke-danger (single
|
|
40
|
+
// condition, always correct). The fill stays action-strong for checked/indeterminate.
|
|
41
|
+
//
|
|
42
|
+
// Active — native tracks press via data-[active] from usePress.
|
|
43
|
+
// Place data-[active=true] last so the rule only fires during press.
|
|
44
|
+
// 'data-[checked=false]:data-[invalid=true]:bg-transparent',
|
|
45
|
+
'data-[checked=true]:data-[invalid=true]:bg-surface-danger-strong', 'data-[checked=true]:data-[active=true]:bg-surface-action-strong-active', 'data-[checked=true]:data-[active=true]:data-[invalid=true]:bg-surface-danger-strong-active', 'data-[indeterminate=true]:data-[active=true]:bg-surface-action-strong-active'].join(' ')
|
|
46
|
+
})]);
|
|
47
|
+
const checkboxIconVariants = exports.checkboxIconVariants = (0, _classVarianceAuthority.cva)(['text-white', 'h-5 w-5']);
|
|
48
|
+
const checkboxLabelVariants = exports.checkboxLabelVariants = (0, _classVarianceAuthority.cva)(['text-content-primary text-base', 'data-[disabled=true]:text-content-tertiary']);
|
|
57
49
|
const checkboxGroupVariants = exports.checkboxGroupVariants = (0, _classVarianceAuthority.cva)([], {
|
|
58
50
|
variants: {
|
|
59
51
|
direction: {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["_reactNative","require","_classVarianceAuthority","_primitives","checkboxRootVariants","exports","cva","DISABLED_OPACITY","DISABLED_CURSOR","
|
|
1
|
+
{"version":3,"names":["_reactNative","require","_classVarianceAuthority","_primitives","checkboxRootVariants","exports","cva","DISABLED_OPACITY","DISABLED_CURSOR","checkboxIndicatorVariants","Platform","select","web","TRANSITION_COLORS","join","default","checkboxIconVariants","checkboxLabelVariants","checkboxGroupVariants","variants","direction","column","row","defaultVariants"],"sourceRoot":"../../../../src","sources":["components/Checkbox/styles.ts"],"mappings":";;;;;;AAAA,IAAAA,YAAA,GAAAC,OAAA;AACA,IAAAC,uBAAA,GAAAD,OAAA;AACA,IAAAE,WAAA,GAAAF,OAAA;AAEO,MAAMG,oBAAoB,GAAAC,OAAA,CAAAD,oBAAA,GAAG,IAAAE,2BAAG,EAAC,CACtC,+BAA+B,EAC/BC,4BAAgB,EAChBC,2BAAe;AACf;AACA,wEAAwE,CACzE,CAAC;AAEK,MAAMC,yBAAyB,GAAAJ,OAAA,CAAAI,yBAAA,GAAG,IAAAH,2BAAG,EAAC,CAC3C,6BAA6B,EAC7B,SAAS,EACT,SAAS,EACT,uBAAuB,EACvB,iCAAiC;AACjC;AACA;AACA;AACA;AACA;AACA,yCAAyC,EACzC,8CAA8C,EAC9C,oDAAoD;AACpD;AACA,+CAA+C,EAC/C,0CAA0C,EAC1C,gDAAgD,EAChD,0CAA0C,EAC1CI,qBAAQ,CAACC,MAAM,CAAC;EACdC,GAAG,EAAE;EACH;EACA,kEAAkE,EAClE,wEAAwE,EACxEC,6BAAiB;EACjB;EACA,+FAA+F;EAC/F;EACA,uHAAuH;EACvH;EACA,sEAAsE,EACtE,oFAAoF,EACpF,4EAA4E,EAC5E,0FAA0F,EAC1F,0FAA0F,EAC1F,wGAAwG,EACxG,gGAAgG,EAChG,8GAA8G;EAC9G;EACA;EACA,kFAAkF,EAClF,gGAAgG,EAChG,wFAAwF,EACxF,sGAAsG,EACtG,sGAAsG,EACtG,oHAAoH,EACpH,4GAA4G,EAC5G,0HAA0H;EAC1H;EACA,4CAA4C,EAC5C,2IAA2I,CAC5I,CAACC,IAAI,CAAC,GAAG,CAAC;EACXC,OAAO,EAAE;EACP;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA,kEAAkE,EAClE,wEAAwE,EACxE,4FAA4F,EAC5F,8EAA8E,CAC/E,CAACD,IAAI,CAAC,GAAG;AACZ,CAAC,CAAC,CACH,CAAC;AAEK,MAAME,oBAAoB,GAAAX,OAAA,CAAAW,oBAAA,GAAG,IAAAV,2BAAG,EAAC,CAAC,YAAY,EAAE,SAAS,CAAC,CAAC;AAE3D,MAAMW,qBAAqB,GAAAZ,OAAA,CAAAY,qBAAA,GAAG,IAAAX,2BAAG,EAAC,CACvC,gCAAgC,EAChC,4CAA4C,CAC7C,CAAC;AAEK,MAAMY,qBAAqB,GAAAb,OAAA,CAAAa,qBAAA,GAAG,IAAAZ,2BAAG,EAAC,EAAE,EAAE;EAC3Ca,QAAQ,EAAE;IACRC,SAAS,EAAE;MACTC,MAAM,EAAE,OAAO;MACfC,GAAG,EAAE;IACP;EACF,CAAC;EACDC,eAAe,EAAE;IACfH,SAAS,EAAE;EACb;AACF,CAAC,CAAC","ignoreList":[]}
|
|
@@ -6,43 +6,74 @@ Object.defineProperty(exports, "__esModule", {
|
|
|
6
6
|
exports.Chip = void 0;
|
|
7
7
|
var _react = require("react");
|
|
8
8
|
var _reactNative = require("react-native");
|
|
9
|
+
var _primitives = require("@cdx-ui/primitives");
|
|
9
10
|
var _utils = require("@cdx-ui/utils");
|
|
11
|
+
var _Avatar = require("../Avatar");
|
|
10
12
|
var _Icon = require("../Icon");
|
|
11
13
|
var _styles = require("./styles");
|
|
12
14
|
var _jsxRuntime = require("react/jsx-runtime");
|
|
13
15
|
const SCOPE = 'CHIP';
|
|
14
|
-
const
|
|
16
|
+
const RootView = (0, _utils.withStyleContext)(_reactNative.View, SCOPE);
|
|
17
|
+
const RootPressable = (0, _utils.withStyleContext)(_reactNative.Pressable, SCOPE);
|
|
18
|
+
const ChipPrimitive = (0, _primitives.createChip)({
|
|
19
|
+
View: RootView,
|
|
20
|
+
Pressable: RootPressable
|
|
21
|
+
});
|
|
15
22
|
const useChipStyleContext = () => (0, _utils.useStyleContext)(SCOPE);
|
|
16
23
|
|
|
17
24
|
// =============================================================================
|
|
18
|
-
//
|
|
25
|
+
// ROOT
|
|
19
26
|
// =============================================================================
|
|
20
27
|
|
|
21
28
|
const ChipRoot = /*#__PURE__*/(0, _react.forwardRef)(({
|
|
22
29
|
children,
|
|
30
|
+
variant = 'tint',
|
|
31
|
+
size = 'default',
|
|
23
32
|
color = 'default',
|
|
24
33
|
className,
|
|
25
34
|
style,
|
|
35
|
+
asChild,
|
|
26
36
|
...props
|
|
27
37
|
}, ref) => {
|
|
38
|
+
const parentContextValues = (0, _utils.useParentContext)();
|
|
39
|
+
const styleContextValues = (0, _react.useMemo)(() => ({
|
|
40
|
+
...parentContextValues,
|
|
41
|
+
[SCOPE]: {
|
|
42
|
+
variant,
|
|
43
|
+
size,
|
|
44
|
+
color
|
|
45
|
+
}
|
|
46
|
+
}), [parentContextValues, variant, size, color]);
|
|
28
47
|
const computedClassName = (0, _utils.cn)((0, _styles.chipRootVariants)({
|
|
48
|
+
variant,
|
|
49
|
+
size,
|
|
29
50
|
color
|
|
30
51
|
}), className);
|
|
31
|
-
|
|
52
|
+
const root = /*#__PURE__*/(0, _jsxRuntime.jsx)(ChipPrimitive, {
|
|
32
53
|
ref: ref,
|
|
54
|
+
asChild: asChild,
|
|
33
55
|
className: computedClassName,
|
|
34
|
-
style: style,
|
|
35
56
|
context: {
|
|
57
|
+
variant,
|
|
58
|
+
size,
|
|
36
59
|
color
|
|
37
60
|
},
|
|
61
|
+
style: style,
|
|
38
62
|
...props,
|
|
39
63
|
children: children
|
|
40
64
|
});
|
|
65
|
+
if (asChild) {
|
|
66
|
+
return /*#__PURE__*/(0, _jsxRuntime.jsx)(_utils.ParentContext.Provider, {
|
|
67
|
+
value: styleContextValues,
|
|
68
|
+
children: root
|
|
69
|
+
});
|
|
70
|
+
}
|
|
71
|
+
return root;
|
|
41
72
|
});
|
|
42
73
|
ChipRoot.displayName = 'Chip';
|
|
43
74
|
|
|
44
75
|
// =============================================================================
|
|
45
|
-
//
|
|
76
|
+
// LABEL
|
|
46
77
|
// =============================================================================
|
|
47
78
|
|
|
48
79
|
const ChipLabel = /*#__PURE__*/(0, _react.forwardRef)(({
|
|
@@ -52,9 +83,13 @@ const ChipLabel = /*#__PURE__*/(0, _react.forwardRef)(({
|
|
|
52
83
|
...props
|
|
53
84
|
}, ref) => {
|
|
54
85
|
const {
|
|
86
|
+
size,
|
|
87
|
+
variant,
|
|
55
88
|
color
|
|
56
89
|
} = useChipStyleContext();
|
|
57
90
|
const computedClassName = (0, _utils.cn)((0, _styles.chipLabelVariants)({
|
|
91
|
+
size,
|
|
92
|
+
variant,
|
|
58
93
|
color
|
|
59
94
|
}), className);
|
|
60
95
|
return /*#__PURE__*/(0, _jsxRuntime.jsx)(_reactNative.Text, {
|
|
@@ -68,20 +103,24 @@ const ChipLabel = /*#__PURE__*/(0, _react.forwardRef)(({
|
|
|
68
103
|
ChipLabel.displayName = 'Chip.Label';
|
|
69
104
|
|
|
70
105
|
// =============================================================================
|
|
71
|
-
//
|
|
106
|
+
// ICON
|
|
72
107
|
// =============================================================================
|
|
73
108
|
|
|
74
109
|
const ChipIcon = ({
|
|
75
110
|
className,
|
|
76
111
|
style,
|
|
77
112
|
as,
|
|
113
|
+
slot,
|
|
78
114
|
...props
|
|
79
115
|
}) => {
|
|
80
116
|
const {
|
|
117
|
+
size,
|
|
81
118
|
color
|
|
82
119
|
} = useChipStyleContext();
|
|
83
120
|
const computedClassName = (0, _utils.cn)((0, _styles.chipIconVariants)({
|
|
84
|
-
|
|
121
|
+
size,
|
|
122
|
+
color,
|
|
123
|
+
slot
|
|
85
124
|
}), className);
|
|
86
125
|
return /*#__PURE__*/(0, _jsxRuntime.jsx)(_Icon.Icon, {
|
|
87
126
|
as: as,
|
|
@@ -93,11 +132,41 @@ const ChipIcon = ({
|
|
|
93
132
|
ChipIcon.displayName = 'Chip.Icon';
|
|
94
133
|
|
|
95
134
|
// =============================================================================
|
|
96
|
-
//
|
|
135
|
+
// AVATAR
|
|
136
|
+
// =============================================================================
|
|
137
|
+
|
|
138
|
+
const ChipAvatar = ({
|
|
139
|
+
className,
|
|
140
|
+
style,
|
|
141
|
+
children,
|
|
142
|
+
...props
|
|
143
|
+
}) => {
|
|
144
|
+
const {
|
|
145
|
+
size
|
|
146
|
+
} = useChipStyleContext();
|
|
147
|
+
// chipAvatarVariants sets w/h and the leading slot negative margin.
|
|
148
|
+
// Avatar renders with size="sm" (its smallest named size) but chipAvatarVariants
|
|
149
|
+
// overrides the w/h via tailwind-merge so the chip size wins.
|
|
150
|
+
const computedClassName = (0, _utils.cn)((0, _styles.chipAvatarVariants)({
|
|
151
|
+
size
|
|
152
|
+
}), className);
|
|
153
|
+
return /*#__PURE__*/(0, _jsxRuntime.jsx)(_Avatar.Avatar, {
|
|
154
|
+
size: "sm",
|
|
155
|
+
className: computedClassName,
|
|
156
|
+
style: style,
|
|
157
|
+
...props,
|
|
158
|
+
children: children
|
|
159
|
+
});
|
|
160
|
+
};
|
|
161
|
+
ChipAvatar.displayName = 'Chip.Avatar';
|
|
162
|
+
|
|
163
|
+
// =============================================================================
|
|
164
|
+
// COMPOUND EXPORT
|
|
97
165
|
// =============================================================================
|
|
98
166
|
|
|
99
167
|
const Chip = exports.Chip = Object.assign(ChipRoot, {
|
|
100
168
|
Label: ChipLabel,
|
|
101
|
-
Icon: ChipIcon
|
|
169
|
+
Icon: ChipIcon,
|
|
170
|
+
Avatar: ChipAvatar
|
|
102
171
|
});
|
|
103
172
|
//# sourceMappingURL=index.js.map
|