@cdx-ui/components 0.0.1-beta.7 → 0.0.1-beta.71
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 +37 -19
- package/lib/commonjs/components/AlertDialog/index.js +17 -14
- package/lib/commonjs/components/AlertDialog/index.js.map +1 -1
- package/lib/commonjs/components/Avatar/index.js +126 -26
- package/lib/commonjs/components/Avatar/index.js.map +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 +143 -29
- package/lib/commonjs/components/Button/index.js.map +1 -1
- package/lib/commonjs/components/Button/styles.js +94 -29
- package/lib/commonjs/components/Button/styles.js.map +1 -1
- package/lib/commonjs/components/CLAUDE.md +194 -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 +71 -48
- package/lib/commonjs/components/Checkbox/index.js.map +1 -1
- package/lib/commonjs/components/Checkbox/styles.js +41 -47
- package/lib/commonjs/components/Checkbox/styles.js.map +1 -1
- package/lib/commonjs/components/Chip/index.js +94 -17
- package/lib/commonjs/components/Chip/index.js.map +1 -1
- package/lib/commonjs/components/Chip/styles.js +178 -21
- package/lib/commonjs/components/Chip/styles.js.map +1 -1
- package/lib/commonjs/components/Dialog/index.js +140 -65
- package/lib/commonjs/components/Dialog/index.js.map +1 -1
- package/lib/commonjs/components/Dialog/styles.js +60 -14
- package/lib/commonjs/components/Dialog/styles.js.map +1 -1
- package/lib/commonjs/components/Field/index.js +77 -27
- 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/Form/index.js +5 -12
- package/lib/commonjs/components/Form/index.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 +11 -34
- 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/index.js +50 -20
- package/lib/commonjs/components/Input/index.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 +35 -9
- 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/index.js +132 -79
- package/lib/commonjs/components/ListItem/index.js.map +1 -1
- package/lib/commonjs/components/ListItem/styles.js +29 -57
- package/lib/commonjs/components/ListItem/styles.js.map +1 -1
- package/lib/commonjs/components/OtpInput/index.js +94 -28
- package/lib/commonjs/components/OtpInput/index.js.map +1 -1
- package/lib/commonjs/components/ProgressBar/index.js +8 -13
- package/lib/commonjs/components/ProgressBar/index.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/QuickActionButton/index.js +133 -0
- package/lib/commonjs/components/QuickActionButton/index.js.map +1 -0
- package/lib/commonjs/components/QuickActionButton/styles.js +17 -0
- package/lib/commonjs/components/QuickActionButton/styles.js.map +1 -0
- package/lib/commonjs/components/Radio/index.js +165 -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/index.js +111 -39
- 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/Skeleton/index.js +37 -0
- package/lib/commonjs/components/Skeleton/index.js.map +1 -0
- package/lib/commonjs/components/Skeleton/styles.js +9 -0
- package/lib/commonjs/components/Skeleton/styles.js.map +1 -0
- package/lib/commonjs/components/Switch/BaseSwitch.js +23 -13
- package/lib/commonjs/components/Switch/BaseSwitch.js.map +1 -1
- package/lib/commonjs/components/Switch/BaseSwitch.web.js +25 -21
- package/lib/commonjs/components/Switch/BaseSwitch.web.js.map +1 -1
- package/lib/commonjs/components/Switch/index.js +34 -3
- package/lib/commonjs/components/Switch/index.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 +324 -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/VirtualizedList/index.js.map +1 -1
- package/lib/commonjs/components/index.js +60 -0
- package/lib/commonjs/components/index.js.map +1 -1
- package/lib/commonjs/figma/AlertDialog.Description.figma.js +20 -0
- package/lib/commonjs/figma/AlertDialog.Description.figma.js.map +1 -0
- package/lib/commonjs/figma/AlertDialog.Footer.figma.js +41 -0
- package/lib/commonjs/figma/AlertDialog.Footer.figma.js.map +1 -0
- package/lib/commonjs/figma/AlertDialog.Header.figma.js +28 -0
- package/lib/commonjs/figma/AlertDialog.Header.figma.js.map +1 -0
- package/lib/commonjs/figma/AlertDialog.Text.figma.js +20 -0
- package/lib/commonjs/figma/AlertDialog.Text.figma.js.map +1 -0
- package/lib/commonjs/figma/AlertDialog.Title.figma.js +27 -0
- package/lib/commonjs/figma/AlertDialog.Title.figma.js.map +1 -0
- package/lib/commonjs/figma/AlertDialog.figma.js +43 -0
- package/lib/commonjs/figma/AlertDialog.figma.js.map +1 -0
- package/lib/commonjs/figma/Avatar.figma.js +57 -0
- package/lib/commonjs/figma/Avatar.figma.js.map +1 -0
- package/lib/commonjs/figma/Button.figma.js +4 -7
- 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/Dialog.Description.figma.js +20 -0
- package/lib/commonjs/figma/Dialog.Description.figma.js.map +1 -0
- package/lib/commonjs/figma/Dialog.Footer.figma.js +30 -0
- package/lib/commonjs/figma/Dialog.Footer.figma.js.map +1 -0
- package/lib/commonjs/figma/Dialog.Header.figma.js +29 -0
- package/lib/commonjs/figma/Dialog.Header.figma.js.map +1 -0
- package/lib/commonjs/figma/Dialog.Text.figma.js +20 -0
- package/lib/commonjs/figma/Dialog.Text.figma.js.map +1 -0
- package/lib/commonjs/figma/Dialog.Title.figma.js +27 -0
- package/lib/commonjs/figma/Dialog.Title.figma.js.map +1 -0
- package/lib/commonjs/figma/Dialog.figma.js +51 -0
- package/lib/commonjs/figma/Dialog.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/ListItem.Description.figma.js +23 -0
- package/lib/commonjs/figma/ListItem.Description.figma.js.map +1 -0
- package/lib/commonjs/figma/ListItem.LeadingSlot.figma.js +24 -0
- package/lib/commonjs/figma/ListItem.LeadingSlot.figma.js.map +1 -0
- package/lib/commonjs/figma/ListItem.Meta.figma.js +23 -0
- package/lib/commonjs/figma/ListItem.Meta.figma.js.map +1 -0
- package/lib/commonjs/figma/ListItem.SectionHeader.figma.js +24 -0
- package/lib/commonjs/figma/ListItem.SectionHeader.figma.js.map +1 -0
- package/lib/commonjs/figma/ListItem.Title.figma.js +23 -0
- package/lib/commonjs/figma/ListItem.Title.figma.js.map +1 -0
- package/lib/commonjs/figma/ListItem.TrailingSlot.figma.js +24 -0
- package/lib/commonjs/figma/ListItem.TrailingSlot.figma.js.map +1 -0
- package/lib/commonjs/figma/ListItem.figma.js +50 -0
- package/lib/commonjs/figma/ListItem.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/QuickActionButton.figma.js +38 -0
- package/lib/commonjs/figma/QuickActionButton.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 +32 -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 +38 -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/commonjs/utils/positionToDataIcon.js +41 -0
- package/lib/commonjs/utils/positionToDataIcon.js.map +1 -0
- package/lib/module/components/AlertDialog/index.js +18 -15
- package/lib/module/components/AlertDialog/index.js.map +1 -1
- package/lib/module/components/Avatar/index.js +129 -29
- package/lib/module/components/Avatar/index.js.map +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 +146 -33
- package/lib/module/components/Button/index.js.map +1 -1
- package/lib/module/components/Button/styles.js +93 -28
- package/lib/module/components/Button/styles.js.map +1 -1
- package/lib/module/components/CLAUDE.md +194 -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 +75 -52
- package/lib/module/components/Checkbox/index.js.map +1 -1
- package/lib/module/components/Checkbox/styles.js +43 -48
- package/lib/module/components/Checkbox/styles.js.map +1 -1
- package/lib/module/components/Chip/index.js +98 -21
- package/lib/module/components/Chip/index.js.map +1 -1
- package/lib/module/components/Chip/styles.js +177 -20
- package/lib/module/components/Chip/styles.js.map +1 -1
- package/lib/module/components/Dialog/index.js +147 -72
- package/lib/module/components/Dialog/index.js.map +1 -1
- package/lib/module/components/Dialog/styles.js +60 -14
- package/lib/module/components/Dialog/styles.js.map +1 -1
- package/lib/module/components/Field/index.js +81 -32
- 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/Form/index.js +7 -14
- package/lib/module/components/Form/index.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 +12 -35
- 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/index.js +53 -23
- package/lib/module/components/Input/index.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 +38 -11
- 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/index.js +137 -84
- package/lib/module/components/ListItem/index.js.map +1 -1
- package/lib/module/components/ListItem/styles.js +30 -58
- package/lib/module/components/ListItem/styles.js.map +1 -1
- package/lib/module/components/OtpInput/index.js +94 -28
- package/lib/module/components/OtpInput/index.js.map +1 -1
- package/lib/module/components/ProgressBar/index.js +9 -14
- package/lib/module/components/ProgressBar/index.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/QuickActionButton/index.js +129 -0
- package/lib/module/components/QuickActionButton/index.js.map +1 -0
- package/lib/module/components/QuickActionButton/styles.js +13 -0
- package/lib/module/components/QuickActionButton/styles.js.map +1 -0
- package/lib/module/components/Radio/index.js +161 -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/index.js +117 -45
- 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/Skeleton/index.js +32 -0
- package/lib/module/components/Skeleton/index.js.map +1 -0
- package/lib/module/components/Skeleton/styles.js +5 -0
- package/lib/module/components/Skeleton/styles.js.map +1 -0
- package/lib/module/components/Switch/BaseSwitch.js +24 -14
- package/lib/module/components/Switch/BaseSwitch.js.map +1 -1
- package/lib/module/components/Switch/BaseSwitch.web.js +26 -22
- package/lib/module/components/Switch/BaseSwitch.web.js.map +1 -1
- package/lib/module/components/Switch/index.js +35 -4
- package/lib/module/components/Switch/index.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 +315 -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/VirtualizedList/index.js.map +1 -1
- package/lib/module/components/index.js +5 -0
- package/lib/module/components/index.js.map +1 -1
- package/lib/module/figma/AlertDialog.Description.figma.js +14 -0
- package/lib/module/figma/AlertDialog.Description.figma.js.map +1 -0
- package/lib/module/figma/AlertDialog.Footer.figma.js +35 -0
- package/lib/module/figma/AlertDialog.Footer.figma.js.map +1 -0
- package/lib/module/figma/AlertDialog.Header.figma.js +22 -0
- package/lib/module/figma/AlertDialog.Header.figma.js.map +1 -0
- package/lib/module/figma/AlertDialog.Text.figma.js +14 -0
- package/lib/module/figma/AlertDialog.Text.figma.js.map +1 -0
- package/lib/module/figma/AlertDialog.Title.figma.js +21 -0
- package/lib/module/figma/AlertDialog.Title.figma.js.map +1 -0
- package/lib/module/figma/AlertDialog.figma.js +37 -0
- package/lib/module/figma/AlertDialog.figma.js.map +1 -0
- package/lib/module/figma/Avatar.figma.js +51 -0
- package/lib/module/figma/Avatar.figma.js.map +1 -0
- package/lib/module/figma/Button.figma.js +4 -7
- 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/Dialog.Description.figma.js +14 -0
- package/lib/module/figma/Dialog.Description.figma.js.map +1 -0
- package/lib/module/figma/Dialog.Footer.figma.js +24 -0
- package/lib/module/figma/Dialog.Footer.figma.js.map +1 -0
- package/lib/module/figma/Dialog.Header.figma.js +23 -0
- package/lib/module/figma/Dialog.Header.figma.js.map +1 -0
- package/lib/module/figma/Dialog.Text.figma.js +14 -0
- package/lib/module/figma/Dialog.Text.figma.js.map +1 -0
- package/lib/module/figma/Dialog.Title.figma.js +21 -0
- package/lib/module/figma/Dialog.Title.figma.js.map +1 -0
- package/lib/module/figma/Dialog.figma.js +45 -0
- package/lib/module/figma/Dialog.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/ListItem.Description.figma.js +17 -0
- package/lib/module/figma/ListItem.Description.figma.js.map +1 -0
- package/lib/module/figma/ListItem.LeadingSlot.figma.js +18 -0
- package/lib/module/figma/ListItem.LeadingSlot.figma.js.map +1 -0
- package/lib/module/figma/ListItem.Meta.figma.js +17 -0
- package/lib/module/figma/ListItem.Meta.figma.js.map +1 -0
- package/lib/module/figma/ListItem.SectionHeader.figma.js +18 -0
- package/lib/module/figma/ListItem.SectionHeader.figma.js.map +1 -0
- package/lib/module/figma/ListItem.Title.figma.js +17 -0
- package/lib/module/figma/ListItem.Title.figma.js.map +1 -0
- package/lib/module/figma/ListItem.TrailingSlot.figma.js +18 -0
- package/lib/module/figma/ListItem.TrailingSlot.figma.js.map +1 -0
- package/lib/module/figma/ListItem.figma.js +44 -0
- package/lib/module/figma/ListItem.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/QuickActionButton.figma.js +32 -0
- package/lib/module/figma/QuickActionButton.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 +26 -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 +36 -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/module/utils/positionToDataIcon.js +38 -0
- package/lib/module/utils/positionToDataIcon.js.map +1 -0
- package/lib/typescript/components/AlertDialog/index.d.ts +3 -2
- package/lib/typescript/components/AlertDialog/index.d.ts.map +1 -1
- package/lib/typescript/components/Avatar/index.d.ts +6 -2
- package/lib/typescript/components/Avatar/index.d.ts.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 +44 -9
- package/lib/typescript/components/Button/index.d.ts.map +1 -1
- package/lib/typescript/components/Button/styles.d.ts +7 -4
- 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 +4 -3
- 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 +31 -8
- package/lib/typescript/components/Chip/index.d.ts.map +1 -1
- package/lib/typescript/components/Chip/styles.d.ts +12 -4
- package/lib/typescript/components/Chip/styles.d.ts.map +1 -1
- package/lib/typescript/components/Dialog/index.d.ts +25 -13
- package/lib/typescript/components/Dialog/index.d.ts.map +1 -1
- package/lib/typescript/components/Dialog/styles.d.ts +16 -5
- package/lib/typescript/components/Dialog/styles.d.ts.map +1 -1
- package/lib/typescript/components/Field/index.d.ts +14 -7
- 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/Form/index.d.ts +4 -4
- package/lib/typescript/components/Form/index.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/index.d.ts +11 -3
- package/lib/typescript/components/Input/index.d.ts.map +1 -1
- package/lib/typescript/components/Input/styles.d.ts.map +1 -1
- package/lib/typescript/components/Link/index.d.ts +4 -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/index.d.ts +28 -6
- package/lib/typescript/components/ListItem/index.d.ts.map +1 -1
- package/lib/typescript/components/ListItem/styles.d.ts +3 -10
- package/lib/typescript/components/ListItem/styles.d.ts.map +1 -1
- package/lib/typescript/components/OtpInput/index.d.ts +1 -1
- package/lib/typescript/components/OtpInput/index.d.ts.map +1 -1
- package/lib/typescript/components/ProgressBar/index.d.ts +4 -4
- package/lib/typescript/components/ProgressBar/index.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/QuickActionButton/index.d.ts +41 -0
- package/lib/typescript/components/QuickActionButton/index.d.ts.map +1 -0
- package/lib/typescript/components/QuickActionButton/styles.d.ts +7 -0
- package/lib/typescript/components/QuickActionButton/styles.d.ts.map +1 -0
- package/lib/typescript/components/Radio/index.d.ts +44 -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/index.d.ts +35 -2
- 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/Skeleton/index.d.ts +9 -0
- package/lib/typescript/components/Skeleton/index.d.ts.map +1 -0
- package/lib/typescript/components/Skeleton/styles.d.ts +4 -0
- package/lib/typescript/components/Skeleton/styles.d.ts.map +1 -0
- package/lib/typescript/components/Stack/styles.d.ts +2 -2
- package/lib/typescript/components/Switch/BaseSwitch.d.ts +12 -5
- package/lib/typescript/components/Switch/BaseSwitch.d.ts.map +1 -1
- package/lib/typescript/components/Switch/BaseSwitch.web.d.ts +11 -5
- package/lib/typescript/components/Switch/BaseSwitch.web.d.ts.map +1 -1
- package/lib/typescript/components/Switch/index.d.ts +5 -1
- package/lib/typescript/components/Switch/index.d.ts.map +1 -1
- package/lib/typescript/components/Text/styles.d.ts +1 -1
- package/lib/typescript/components/Tile/index.d.ts +76 -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/VirtualizedList/index.d.ts +2 -1
- package/lib/typescript/components/VirtualizedList/index.d.ts.map +1 -1
- package/lib/typescript/components/index.d.ts +5 -0
- package/lib/typescript/components/index.d.ts.map +1 -1
- package/lib/typescript/figma/AlertDialog.Description.figma.d.ts +8 -0
- package/lib/typescript/figma/AlertDialog.Description.figma.d.ts.map +1 -0
- package/lib/typescript/figma/AlertDialog.Footer.figma.d.ts +8 -0
- package/lib/typescript/figma/AlertDialog.Footer.figma.d.ts.map +1 -0
- package/lib/typescript/figma/AlertDialog.Header.figma.d.ts +8 -0
- package/lib/typescript/figma/AlertDialog.Header.figma.d.ts.map +1 -0
- package/lib/typescript/figma/AlertDialog.Text.figma.d.ts +8 -0
- package/lib/typescript/figma/AlertDialog.Text.figma.d.ts.map +1 -0
- package/lib/typescript/figma/AlertDialog.Title.figma.d.ts +8 -0
- package/lib/typescript/figma/AlertDialog.Title.figma.d.ts.map +1 -0
- package/lib/typescript/figma/AlertDialog.figma.d.ts +8 -0
- package/lib/typescript/figma/AlertDialog.figma.d.ts.map +1 -0
- package/lib/typescript/figma/Avatar.figma.d.ts +11 -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/Dialog.Description.figma.d.ts +8 -0
- package/lib/typescript/figma/Dialog.Description.figma.d.ts.map +1 -0
- package/lib/typescript/figma/Dialog.Footer.figma.d.ts +8 -0
- package/lib/typescript/figma/Dialog.Footer.figma.d.ts.map +1 -0
- package/lib/typescript/figma/Dialog.Header.figma.d.ts +8 -0
- package/lib/typescript/figma/Dialog.Header.figma.d.ts.map +1 -0
- package/lib/typescript/figma/Dialog.Text.figma.d.ts +8 -0
- package/lib/typescript/figma/Dialog.Text.figma.d.ts.map +1 -0
- package/lib/typescript/figma/Dialog.Title.figma.d.ts +8 -0
- package/lib/typescript/figma/Dialog.Title.figma.d.ts.map +1 -0
- package/lib/typescript/figma/Dialog.figma.d.ts +8 -0
- package/lib/typescript/figma/Dialog.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/ListItem.Description.figma.d.ts +11 -0
- package/lib/typescript/figma/ListItem.Description.figma.d.ts.map +1 -0
- package/lib/typescript/figma/ListItem.LeadingSlot.figma.d.ts +8 -0
- package/lib/typescript/figma/ListItem.LeadingSlot.figma.d.ts.map +1 -0
- package/lib/typescript/figma/ListItem.Meta.figma.d.ts +11 -0
- package/lib/typescript/figma/ListItem.Meta.figma.d.ts.map +1 -0
- package/lib/typescript/figma/ListItem.SectionHeader.figma.d.ts +8 -0
- package/lib/typescript/figma/ListItem.SectionHeader.figma.d.ts.map +1 -0
- package/lib/typescript/figma/ListItem.Title.figma.d.ts +11 -0
- package/lib/typescript/figma/ListItem.Title.figma.d.ts.map +1 -0
- package/lib/typescript/figma/ListItem.TrailingSlot.figma.d.ts +8 -0
- package/lib/typescript/figma/ListItem.TrailingSlot.figma.d.ts.map +1 -0
- package/lib/typescript/figma/ListItem.figma.d.ts +8 -0
- package/lib/typescript/figma/ListItem.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/QuickActionButton.figma.d.ts +8 -0
- package/lib/typescript/figma/QuickActionButton.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 +11 -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/lib/typescript/utils/positionToDataIcon.d.ts +29 -0
- package/lib/typescript/utils/positionToDataIcon.d.ts.map +1 -0
- package/package.json +11 -9
- package/src/components/AlertDialog/index.tsx +21 -20
- package/src/components/Avatar/index.tsx +135 -45
- package/src/components/Avatar/styles.ts +49 -34
- package/src/components/Button/index.tsx +253 -47
- package/src/components/Button/styles.ts +78 -37
- package/src/components/CLAUDE.md +194 -0
- package/src/components/Card/index.tsx +41 -16
- package/src/components/Card/styles.ts +42 -15
- package/src/components/Checkbox/index.tsx +101 -51
- package/src/components/Checkbox/styles.ts +84 -86
- package/src/components/Chip/index.tsx +136 -32
- package/src/components/Chip/styles.ts +220 -18
- package/src/components/Dialog/index.tsx +199 -93
- package/src/components/Dialog/styles.ts +72 -30
- package/src/components/Field/index.tsx +121 -50
- package/src/components/Field/styles.ts +5 -4
- package/src/components/Form/index.tsx +18 -14
- package/src/components/Heading/styles.ts +1 -1
- package/src/components/Icon/index.tsx +6 -7
- package/src/components/IconButton/index.tsx +13 -36
- package/src/components/IconButton/styles.ts +136 -10
- package/src/components/Input/index.tsx +75 -32
- package/src/components/Input/styles.ts +15 -9
- package/src/components/Link/index.tsx +57 -18
- package/src/components/Link/styles.ts +49 -9
- package/src/components/ListItem/index.tsx +157 -87
- package/src/components/ListItem/styles.ts +50 -81
- package/src/components/OtpInput/index.tsx +126 -43
- package/src/components/ProgressBar/index.tsx +11 -16
- package/src/components/ProgressSegmented/index.tsx +50 -14
- package/src/components/QuickActionButton/index.tsx +161 -0
- package/src/components/QuickActionButton/styles.ts +42 -0
- package/src/components/Radio/index.tsx +214 -0
- package/src/components/Radio/styles.ts +59 -0
- package/src/components/ScopedTheme/index.tsx +17 -0
- package/src/components/Select/index.tsx +175 -55
- package/src/components/Select/styles.ts +48 -51
- package/src/components/Skeleton/index.tsx +42 -0
- package/src/components/Skeleton/styles.ts +5 -0
- package/src/components/Switch/BaseSwitch.tsx +38 -16
- package/src/components/Switch/BaseSwitch.web.tsx +28 -35
- package/src/components/Switch/index.tsx +51 -4
- package/src/components/Text/styles.ts +2 -2
- package/src/components/Tile/index.tsx +347 -0
- package/src/components/Tile/styles.ts +82 -0
- package/src/components/VirtualizedList/index.tsx +11 -1
- package/src/components/index.ts +5 -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 +54 -0
- package/src/styles/primitives.ts +43 -6
- package/src/utils/positionToDataIcon.ts +34 -0
- package/lib/commonjs/components/Field/FieldLabel.js +0 -33
- package/lib/commonjs/components/Field/FieldLabel.js.map +0 -1
- package/lib/commonjs/components/Field/FieldLabel.web.js +0 -22
- package/lib/commonjs/components/Field/FieldLabel.web.js.map +0 -1
- package/lib/commonjs/components/Form/FormRoot.js +0 -25
- package/lib/commonjs/components/Form/FormRoot.js.map +0 -1
- package/lib/commonjs/components/Form/FormRoot.web.js +0 -17
- package/lib/commonjs/components/Form/FormRoot.web.js.map +0 -1
- package/lib/commonjs/components/Input/BaseInput.android.js +0 -20
- package/lib/commonjs/components/Input/BaseInput.android.js.map +0 -1
- package/lib/commonjs/components/Input/BaseInput.js +0 -13
- package/lib/commonjs/components/Input/BaseInput.js.map +0 -1
- package/lib/commonjs/components/Input/BaseInput.web.js +0 -50
- package/lib/commonjs/components/Input/BaseInput.web.js.map +0 -1
- package/lib/commonjs/components/Select/SelectTriggerHost.js +0 -10
- package/lib/commonjs/components/Select/SelectTriggerHost.js.map +0 -1
- package/lib/commonjs/components/Select/SelectTriggerHost.web.js +0 -98
- package/lib/commonjs/components/Select/SelectTriggerHost.web.js.map +0 -1
- package/lib/module/components/Field/FieldLabel.js +0 -29
- package/lib/module/components/Field/FieldLabel.js.map +0 -1
- package/lib/module/components/Field/FieldLabel.web.js +0 -17
- package/lib/module/components/Field/FieldLabel.web.js.map +0 -1
- package/lib/module/components/Form/FormRoot.js +0 -21
- package/lib/module/components/Form/FormRoot.js.map +0 -1
- package/lib/module/components/Form/FormRoot.web.js +0 -12
- package/lib/module/components/Form/FormRoot.web.js.map +0 -1
- package/lib/module/components/Input/BaseInput.android.js +0 -16
- package/lib/module/components/Input/BaseInput.android.js.map +0 -1
- package/lib/module/components/Input/BaseInput.js +0 -4
- package/lib/module/components/Input/BaseInput.js.map +0 -1
- package/lib/module/components/Input/BaseInput.web.js +0 -45
- package/lib/module/components/Input/BaseInput.web.js.map +0 -1
- package/lib/module/components/Select/SelectTriggerHost.js +0 -7
- package/lib/module/components/Select/SelectTriggerHost.js.map +0 -1
- package/lib/module/components/Select/SelectTriggerHost.web.js +0 -93
- package/lib/module/components/Select/SelectTriggerHost.web.js.map +0 -1
- package/lib/typescript/components/Field/FieldLabel.d.ts +0 -18
- package/lib/typescript/components/Field/FieldLabel.d.ts.map +0 -1
- package/lib/typescript/components/Field/FieldLabel.web.d.ts +0 -16
- package/lib/typescript/components/Field/FieldLabel.web.d.ts.map +0 -1
- package/lib/typescript/components/Form/FormRoot.d.ts +0 -14
- package/lib/typescript/components/Form/FormRoot.d.ts.map +0 -1
- package/lib/typescript/components/Form/FormRoot.web.d.ts +0 -10
- package/lib/typescript/components/Form/FormRoot.web.d.ts.map +0 -1
- package/lib/typescript/components/Input/BaseInput.android.d.ts +0 -3
- package/lib/typescript/components/Input/BaseInput.android.d.ts.map +0 -1
- package/lib/typescript/components/Input/BaseInput.d.ts +0 -2
- package/lib/typescript/components/Input/BaseInput.d.ts.map +0 -1
- package/lib/typescript/components/Input/BaseInput.web.d.ts +0 -3
- package/lib/typescript/components/Input/BaseInput.web.d.ts.map +0 -1
- package/lib/typescript/components/Select/SelectTriggerHost.d.ts +0 -3
- package/lib/typescript/components/Select/SelectTriggerHost.d.ts.map +0 -1
- package/lib/typescript/components/Select/SelectTriggerHost.web.d.ts +0 -13
- package/lib/typescript/components/Select/SelectTriggerHost.web.d.ts.map +0 -1
- package/src/components/Field/FieldLabel.tsx +0 -33
- package/src/components/Field/FieldLabel.web.tsx +0 -25
- package/src/components/Form/FormRoot.tsx +0 -20
- package/src/components/Form/FormRoot.web.tsx +0 -12
- package/src/components/Input/BaseInput.android.tsx +0 -13
- package/src/components/Input/BaseInput.tsx +0 -1
- package/src/components/Input/BaseInput.web.tsx +0 -41
- package/src/components/Select/SelectTriggerHost.tsx +0 -4
- package/src/components/Select/SelectTriggerHost.web.tsx +0 -136
|
@@ -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"}
|
|
@@ -0,0 +1,29 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Position hint accepted by icon/spinner-bearing styled slots
|
|
3
|
+
* (`Button.Icon`, `Button.Spinner`, `Chip.Icon`, etc.). Maps to a logical
|
|
4
|
+
* `data-icon` attribute that CVA targets for leading/trailing padding.
|
|
5
|
+
*
|
|
6
|
+
* `'leading'` → `data-icon="inline-start"`
|
|
7
|
+
* `'trailing'` → `data-icon="inline-end"`
|
|
8
|
+
*/
|
|
9
|
+
export type IconSlotPosition = 'leading' | 'trailing';
|
|
10
|
+
/**
|
|
11
|
+
* Returns the data-attribute spread props for the requested position, or
|
|
12
|
+
* `undefined` when no position is set (so the attribute is omitted entirely
|
|
13
|
+
* and baseline spacing applies).
|
|
14
|
+
*
|
|
15
|
+
* Spread the result onto the rendered element:
|
|
16
|
+
*
|
|
17
|
+
* ```tsx
|
|
18
|
+
* <Icon {...positionToDataIcon(position)} />
|
|
19
|
+
* ```
|
|
20
|
+
*
|
|
21
|
+
* Spacing rules live in CVA variant strings, targeting the attribute via
|
|
22
|
+
* logical-property utilities so RTL flips automatically:
|
|
23
|
+
*
|
|
24
|
+
* ```ts
|
|
25
|
+
* cva(['data-[icon=inline-start]:me-1.5 data-[icon=inline-end]:ms-1.5'], { ... });
|
|
26
|
+
* ```
|
|
27
|
+
*/
|
|
28
|
+
export declare function positionToDataIcon(position?: IconSlotPosition): Record<string, string> | undefined;
|
|
29
|
+
//# sourceMappingURL=positionToDataIcon.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"positionToDataIcon.d.ts","sourceRoot":"","sources":["../../../src/utils/positionToDataIcon.ts"],"names":[],"mappings":"AAEA;;;;;;;GAOG;AACH,MAAM,MAAM,gBAAgB,GAAG,SAAS,GAAG,UAAU,CAAC;AAEtD;;;;;;;;;;;;;;;;;GAiBG;AACH,wBAAgB,kBAAkB,CAAC,QAAQ,CAAC,EAAE,gBAAgB,sCAG7D"}
|
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.71",
|
|
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.71",
|
|
71
|
+
"@cdx-ui/utils": "0.0.1-beta.71",
|
|
72
|
+
"@cdx-ui/icons": "0.0.1-beta.71"
|
|
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": "*",
|
|
@@ -96,6 +98,6 @@
|
|
|
96
98
|
"scripts": {
|
|
97
99
|
"build": "bob build",
|
|
98
100
|
"lint": "eslint src/",
|
|
99
|
-
"test": "jest --config ../../jest.config.js"
|
|
101
|
+
"test": "jest --config ../../jest.config.js --selectProjects rntl axe"
|
|
100
102
|
}
|
|
101
103
|
}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import React, { forwardRef } from 'react';
|
|
2
2
|
import { View } from 'react-native';
|
|
3
|
-
import { useDialog } from '@cdx-ui/primitives';
|
|
3
|
+
import { Slot, useDialog } from '@cdx-ui/primitives';
|
|
4
4
|
import { composeEventHandlers } from '@cdx-ui/utils';
|
|
5
5
|
import { Button, type ButtonProps } from '../Button';
|
|
6
6
|
import { Dialog, type DialogRootProps } from '../Dialog';
|
|
@@ -45,16 +45,16 @@ export interface AlertDialogActionProps extends Omit<ButtonProps, 'variant'> {
|
|
|
45
45
|
|
|
46
46
|
const AlertDialogAction = forwardRef<View, AlertDialogActionProps>(
|
|
47
47
|
({ asChild = false, children, color = 'action', className, ...props }, ref) => {
|
|
48
|
-
if (asChild
|
|
49
|
-
return
|
|
50
|
-
ref
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
48
|
+
if (asChild) {
|
|
49
|
+
return (
|
|
50
|
+
<Slot ref={ref} className={className} {...props}>
|
|
51
|
+
{children}
|
|
52
|
+
</Slot>
|
|
53
|
+
);
|
|
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
|
);
|
|
@@ -75,17 +75,16 @@ const AlertDialogCancel = forwardRef<View, AlertDialogCancelProps>(
|
|
|
75
75
|
const { onOpenChange } = useDialog();
|
|
76
76
|
const handlePress = composeEventHandlers(onPress, () => onOpenChange(false));
|
|
77
77
|
|
|
78
|
-
if (asChild
|
|
79
|
-
return
|
|
80
|
-
ref
|
|
81
|
-
|
|
82
|
-
|
|
83
|
-
|
|
84
|
-
});
|
|
78
|
+
if (asChild) {
|
|
79
|
+
return (
|
|
80
|
+
<Slot ref={ref} onPress={handlePress} className={className} {...props}>
|
|
81
|
+
{children}
|
|
82
|
+
</Slot>
|
|
83
|
+
);
|
|
85
84
|
}
|
|
86
85
|
|
|
87
86
|
return (
|
|
88
|
-
<Button ref={ref} variant="
|
|
87
|
+
<Button ref={ref} variant="ghost" onPress={handlePress} className={className} {...props}>
|
|
89
88
|
<Button.Label>{children}</Button.Label>
|
|
90
89
|
</Button>
|
|
91
90
|
);
|
|
@@ -99,11 +98,12 @@ AlertDialogCancel.displayName = 'AlertDialog.Cancel';
|
|
|
99
98
|
|
|
100
99
|
type AlertDialogCompoundComponent = typeof AlertDialogRoot & {
|
|
101
100
|
Trigger: typeof Dialog.Trigger;
|
|
102
|
-
|
|
101
|
+
Popup: typeof Dialog.Popup;
|
|
103
102
|
Header: typeof Dialog.Header;
|
|
104
103
|
Title: typeof Dialog.Title;
|
|
105
104
|
Description: typeof Dialog.Description;
|
|
106
|
-
|
|
105
|
+
Content: typeof Dialog.Content;
|
|
106
|
+
Text: typeof Dialog.Text;
|
|
107
107
|
Footer: typeof Dialog.Footer;
|
|
108
108
|
Close: typeof Dialog.Close;
|
|
109
109
|
Action: typeof AlertDialogAction;
|
|
@@ -112,11 +112,12 @@ type AlertDialogCompoundComponent = typeof AlertDialogRoot & {
|
|
|
112
112
|
|
|
113
113
|
export const AlertDialog = Object.assign(AlertDialogRoot, {
|
|
114
114
|
Trigger: Dialog.Trigger,
|
|
115
|
-
|
|
115
|
+
Popup: Dialog.Popup,
|
|
116
116
|
Header: Dialog.Header,
|
|
117
117
|
Title: Dialog.Title,
|
|
118
118
|
Description: Dialog.Description,
|
|
119
|
-
|
|
119
|
+
Content: Dialog.Content,
|
|
120
|
+
Text: Dialog.Text,
|
|
120
121
|
Footer: Dialog.Footer,
|
|
121
122
|
Close: Dialog.Close,
|
|
122
123
|
Action: AlertDialogAction,
|
|
@@ -1,7 +1,15 @@
|
|
|
1
|
-
import { forwardRef, type ReactNode } from 'react';
|
|
1
|
+
import { forwardRef, useEffect, useMemo, type ReactNode } from 'react';
|
|
2
2
|
import { Image, Text, View, type ImageProps, type TextProps, type ViewProps } from 'react-native';
|
|
3
|
-
import {
|
|
4
|
-
|
|
3
|
+
import {
|
|
4
|
+
AvatarRoot as AvatarRootPrimitive,
|
|
5
|
+
Slot,
|
|
6
|
+
dataAttributes,
|
|
7
|
+
mergeDataAttributes,
|
|
8
|
+
useAvatarContext,
|
|
9
|
+
type IAvatarImageProps,
|
|
10
|
+
type IAvatarProps,
|
|
11
|
+
} from '@cdx-ui/primitives';
|
|
12
|
+
import { cn, ParentContext, useParentContext, useStyleContext } from '@cdx-ui/utils';
|
|
5
13
|
import { Icon as IconComponent, type IconProps } from '../Icon';
|
|
6
14
|
import {
|
|
7
15
|
type AvatarVariantProps,
|
|
@@ -14,17 +22,29 @@ import {
|
|
|
14
22
|
|
|
15
23
|
const SCOPE = 'AVATAR';
|
|
16
24
|
|
|
17
|
-
const Root = withStyleContext(View, SCOPE);
|
|
18
|
-
|
|
19
25
|
const useAvatarStyleContext = () => useStyleContext(SCOPE) as AvatarVariantProps;
|
|
20
26
|
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
27
|
+
// =============================================================================
|
|
28
|
+
// UTILITIES
|
|
29
|
+
// =============================================================================
|
|
30
|
+
|
|
31
|
+
function getInitials(name: string): string {
|
|
32
|
+
const trimmed = name.trim();
|
|
33
|
+
const words = trimmed.split(/\s+/);
|
|
34
|
+
|
|
35
|
+
if (words.length === 1 && trimmed.length <= 2) {
|
|
36
|
+
return trimmed.toUpperCase();
|
|
37
|
+
}
|
|
38
|
+
|
|
39
|
+
let result = '';
|
|
40
|
+
for (const word of words) {
|
|
41
|
+
if (word.length > 0) {
|
|
42
|
+
result += word.charAt(0);
|
|
43
|
+
}
|
|
44
|
+
if (result.length >= 2) break;
|
|
45
|
+
}
|
|
46
|
+
return result.toUpperCase();
|
|
47
|
+
}
|
|
28
48
|
|
|
29
49
|
// =============================================================================
|
|
30
50
|
// AVATAR ROOT
|
|
@@ -36,19 +56,24 @@ export interface AvatarProps extends ViewProps, IAvatarProps, AvatarVariantProps
|
|
|
36
56
|
}
|
|
37
57
|
|
|
38
58
|
const AvatarRoot = forwardRef<View, AvatarProps>(
|
|
39
|
-
({ size = '
|
|
59
|
+
({ size = 'md', className, children, style, ...props }, ref) => {
|
|
40
60
|
const computedClassName = cn(avatarRootVariants({ size }), className);
|
|
41
61
|
|
|
62
|
+
const parent = useParentContext();
|
|
63
|
+
const ctx = useMemo(() => ({ ...parent, [SCOPE]: { size } }), [parent, size]);
|
|
64
|
+
|
|
42
65
|
return (
|
|
43
|
-
<
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
66
|
+
<ParentContext.Provider value={ctx}>
|
|
67
|
+
<AvatarRootPrimitive
|
|
68
|
+
ref={ref}
|
|
69
|
+
className={computedClassName}
|
|
70
|
+
style={style}
|
|
71
|
+
{...props}
|
|
72
|
+
{...mergeDataAttributes(props, dataAttributes({ slot: 'avatar' }))}
|
|
73
|
+
>
|
|
74
|
+
{children}
|
|
75
|
+
</AvatarRootPrimitive>
|
|
76
|
+
</ParentContext.Provider>
|
|
52
77
|
);
|
|
53
78
|
},
|
|
54
79
|
);
|
|
@@ -60,21 +85,52 @@ AvatarRoot.displayName = 'Avatar';
|
|
|
60
85
|
// =============================================================================
|
|
61
86
|
|
|
62
87
|
export interface AvatarImageProps extends Omit<ImageProps, 'source'>, IAvatarImageProps {
|
|
88
|
+
asChild?: boolean;
|
|
63
89
|
className?: string;
|
|
64
90
|
}
|
|
65
91
|
|
|
66
|
-
const AvatarImage = forwardRef<Image, AvatarImageProps>(
|
|
67
|
-
|
|
92
|
+
const AvatarImage = forwardRef<Image, AvatarImageProps>(
|
|
93
|
+
({ asChild, className, style, src, source, onLoad, onError, ...props }, ref) => {
|
|
94
|
+
const { imageError, setImageLoaded, setImageError } = useAvatarContext();
|
|
95
|
+
const computedClassName = cn(avatarImageVariants(), className);
|
|
68
96
|
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
{
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
}
|
|
97
|
+
const resolvedSource = useMemo(() => (src ? { uri: src } : source), [src, source]);
|
|
98
|
+
|
|
99
|
+
useEffect(() => {
|
|
100
|
+
if (!resolvedSource) {
|
|
101
|
+
setImageError(true);
|
|
102
|
+
} else {
|
|
103
|
+
setImageError(false);
|
|
104
|
+
setImageLoaded(false);
|
|
105
|
+
}
|
|
106
|
+
}, [resolvedSource, setImageError, setImageLoaded]);
|
|
107
|
+
|
|
108
|
+
if (!resolvedSource || imageError) {
|
|
109
|
+
return null;
|
|
110
|
+
}
|
|
111
|
+
|
|
112
|
+
const Comp = asChild ? Slot : Image;
|
|
113
|
+
|
|
114
|
+
return (
|
|
115
|
+
<Comp
|
|
116
|
+
ref={ref}
|
|
117
|
+
source={resolvedSource}
|
|
118
|
+
className={computedClassName}
|
|
119
|
+
style={style}
|
|
120
|
+
onLoad={(e: unknown) => {
|
|
121
|
+
setImageLoaded(true);
|
|
122
|
+
if (onLoad) (onLoad as (e: unknown) => void)(e);
|
|
123
|
+
}}
|
|
124
|
+
onError={(e: unknown) => {
|
|
125
|
+
setImageError(true);
|
|
126
|
+
if (onError) (onError as (e: unknown) => void)(e);
|
|
127
|
+
}}
|
|
128
|
+
{...props}
|
|
129
|
+
{...mergeDataAttributes(props, dataAttributes({ slot: 'avatar-image' }))}
|
|
130
|
+
/>
|
|
131
|
+
);
|
|
132
|
+
},
|
|
133
|
+
);
|
|
78
134
|
|
|
79
135
|
AvatarImage.displayName = 'Avatar.Image';
|
|
80
136
|
|
|
@@ -83,24 +139,32 @@ AvatarImage.displayName = 'Avatar.Image';
|
|
|
83
139
|
// =============================================================================
|
|
84
140
|
|
|
85
141
|
export interface AvatarTextProps extends TextProps {
|
|
142
|
+
asChild?: boolean;
|
|
86
143
|
className?: string;
|
|
87
144
|
children?: ReactNode;
|
|
88
145
|
}
|
|
89
146
|
|
|
90
147
|
const AvatarText = forwardRef<Text, AvatarTextProps>(
|
|
91
|
-
({ className, children, style, ...props }, ref) => {
|
|
148
|
+
({ asChild, className, children, style, ...props }, ref) => {
|
|
92
149
|
const { size } = useAvatarStyleContext();
|
|
150
|
+
const { imageLoaded, imageError } = useAvatarContext();
|
|
151
|
+
const visible = !imageLoaded || imageError;
|
|
93
152
|
const computedClassName = cn(avatarTextVariants({ size }), className);
|
|
94
153
|
|
|
154
|
+
const text = typeof children === 'string' ? getInitials(children) : children;
|
|
155
|
+
|
|
156
|
+
const Comp = asChild ? Slot : Text;
|
|
157
|
+
|
|
95
158
|
return (
|
|
96
|
-
<
|
|
97
|
-
ref={ref
|
|
159
|
+
<Comp
|
|
160
|
+
ref={ref}
|
|
98
161
|
className={computedClassName}
|
|
99
|
-
style={style}
|
|
162
|
+
style={[style, !visible && { opacity: 0 }]}
|
|
100
163
|
{...props}
|
|
164
|
+
{...mergeDataAttributes(props, dataAttributes({ slot: 'avatar-text' }))}
|
|
101
165
|
>
|
|
102
|
-
{
|
|
103
|
-
</
|
|
166
|
+
{text}
|
|
167
|
+
</Comp>
|
|
104
168
|
);
|
|
105
169
|
},
|
|
106
170
|
);
|
|
@@ -112,14 +176,35 @@ AvatarText.displayName = 'Avatar.Text';
|
|
|
112
176
|
// =============================================================================
|
|
113
177
|
|
|
114
178
|
export interface AvatarIconProps extends Omit<IconProps, 'children'> {
|
|
179
|
+
asChild?: boolean;
|
|
115
180
|
className?: string;
|
|
116
181
|
}
|
|
117
182
|
|
|
118
|
-
const AvatarIcon = ({ className, style, ...props }: AvatarIconProps) => {
|
|
183
|
+
const AvatarIcon = ({ asChild, className, style, ...props }: AvatarIconProps) => {
|
|
119
184
|
const { size } = useAvatarStyleContext();
|
|
185
|
+
const { imageLoaded, imageError } = useAvatarContext();
|
|
186
|
+
const visible = !imageLoaded || imageError;
|
|
120
187
|
const computedClassName = cn(avatarIconVariants({ size }), className);
|
|
121
188
|
|
|
122
|
-
|
|
189
|
+
if (asChild) {
|
|
190
|
+
return (
|
|
191
|
+
<Slot
|
|
192
|
+
className={computedClassName}
|
|
193
|
+
style={[style, !visible && { opacity: 0 }]}
|
|
194
|
+
{...props}
|
|
195
|
+
{...mergeDataAttributes(props, dataAttributes({ slot: 'avatar-icon' }))}
|
|
196
|
+
/>
|
|
197
|
+
);
|
|
198
|
+
}
|
|
199
|
+
|
|
200
|
+
return (
|
|
201
|
+
<IconComponent
|
|
202
|
+
className={computedClassName}
|
|
203
|
+
style={[style, !visible && { opacity: 0 }]}
|
|
204
|
+
{...props}
|
|
205
|
+
{...mergeDataAttributes(props, dataAttributes({ slot: 'avatar-icon' }))}
|
|
206
|
+
/>
|
|
207
|
+
);
|
|
123
208
|
};
|
|
124
209
|
|
|
125
210
|
AvatarIcon.displayName = 'Avatar.Icon';
|
|
@@ -129,24 +214,27 @@ AvatarIcon.displayName = 'Avatar.Icon';
|
|
|
129
214
|
// =============================================================================
|
|
130
215
|
|
|
131
216
|
export interface AvatarBadgeProps extends ViewProps {
|
|
217
|
+
asChild?: boolean;
|
|
132
218
|
className?: string;
|
|
133
219
|
children?: ReactNode;
|
|
134
220
|
}
|
|
135
221
|
|
|
136
222
|
const AvatarBadge = forwardRef<View, AvatarBadgeProps>(
|
|
137
|
-
({ className, children, style, ...props }, ref) => {
|
|
223
|
+
({ asChild, className, children, style, ...props }, ref) => {
|
|
138
224
|
const { size } = useAvatarStyleContext();
|
|
139
225
|
const computedClassName = cn(avatarBadgeVariants({ size }), className);
|
|
226
|
+
const Comp = asChild ? Slot : View;
|
|
140
227
|
|
|
141
228
|
return (
|
|
142
|
-
<
|
|
143
|
-
ref={ref
|
|
229
|
+
<Comp
|
|
230
|
+
ref={ref}
|
|
144
231
|
className={computedClassName}
|
|
145
232
|
style={style}
|
|
146
233
|
{...props}
|
|
234
|
+
{...mergeDataAttributes(props, dataAttributes({ slot: 'avatar-badge' }))}
|
|
147
235
|
>
|
|
148
236
|
{children}
|
|
149
|
-
</
|
|
237
|
+
</Comp>
|
|
150
238
|
);
|
|
151
239
|
},
|
|
152
240
|
);
|
|
@@ -170,3 +258,5 @@ export const Avatar = Object.assign(AvatarRoot, {
|
|
|
170
258
|
Icon: AvatarIcon,
|
|
171
259
|
Badge: AvatarBadge,
|
|
172
260
|
}) as AvatarCompoundComponent;
|
|
261
|
+
|
|
262
|
+
export type { AvatarVariantProps };
|