@ledgerhq/lumen-ui-rnative 0.0.43 → 0.0.45
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/.storybook/Decorator.tsx +78 -13
- package/.storybook/docs/getting-started/ThemeProvider.mdx +1 -1
- package/.storybook/docs/style-system/lx.mdx +144 -0
- package/.storybook/docs/style-system/useCreate.mdx +95 -0
- package/.storybook/docs/style-system/useTheme.mdx +52 -0
- package/.storybook/preview-head.html +2 -2
- package/.storybook/{preview.ts → preview.tsx} +6 -1
- package/dist/package.json +2 -3
- package/dist/src/lib/Components/AddressInput/AddressInput.js +1 -1
- package/dist/src/lib/Components/AddressInput/AddressInput.stories.d.ts +7 -1
- package/dist/src/lib/Components/AddressInput/AddressInput.stories.d.ts.map +1 -1
- package/dist/src/lib/Components/AddressInput/AddressInput.stories.js +98 -9
- package/dist/src/lib/Components/AmountInput/AmountInput.d.ts.map +1 -1
- package/dist/src/lib/Components/AmountInput/AmountInput.js +3 -3
- package/dist/src/lib/Components/AmountInput/AmountInput.stories.d.ts +10 -1
- package/dist/src/lib/Components/AmountInput/AmountInput.stories.d.ts.map +1 -1
- package/dist/src/lib/Components/AmountInput/AmountInput.stories.js +162 -9
- package/dist/src/lib/Components/BaseInput/BaseInput.d.ts.map +1 -1
- package/dist/src/lib/Components/BaseInput/BaseInput.js +2 -19
- package/dist/src/lib/Components/BottomSheet/BottomSheet.js +1 -1
- package/dist/src/lib/Components/BottomSheet/BottomSheet.stories.js +8 -8
- package/dist/src/lib/Components/Button/BaseButton.d.ts +3 -3
- package/dist/src/lib/Components/Button/BaseButton.d.ts.map +1 -1
- package/dist/src/lib/Components/Button/BaseButton.js +99 -119
- package/dist/src/lib/Components/Button/Button.d.ts +4 -26
- package/dist/src/lib/Components/Button/Button.d.ts.map +1 -1
- package/dist/src/lib/Components/Button/Button.js +2 -2
- package/dist/src/lib/Components/Button/Button.stories.d.ts +1 -1
- package/dist/src/lib/Components/Button/Button.stories.d.ts.map +1 -1
- package/dist/src/lib/Components/Button/Button.stories.js +25 -48
- package/dist/src/lib/Components/Button/index.d.ts +1 -1
- package/dist/src/lib/Components/Button/index.d.ts.map +1 -1
- package/dist/src/lib/Components/Button/index.js +1 -1
- package/dist/src/lib/Components/Button/{BaseButton.types.d.ts → types.d.ts} +15 -10
- package/dist/src/lib/Components/Button/types.d.ts.map +1 -0
- package/dist/src/lib/Components/CardButton/CardButton.d.ts +4 -3
- package/dist/src/lib/Components/CardButton/CardButton.d.ts.map +1 -1
- package/dist/src/lib/Components/CardButton/CardButton.js +65 -71
- package/dist/src/lib/Components/CardButton/CardButton.stories.d.ts.map +1 -1
- package/dist/src/lib/Components/CardButton/CardButton.stories.js +28 -15
- package/dist/src/lib/Components/CardButton/index.d.ts +1 -1
- package/dist/src/lib/Components/CardButton/index.d.ts.map +1 -1
- package/dist/src/lib/Components/CardButton/index.js +1 -1
- package/dist/src/lib/Components/CardButton/{CardButton.types.d.ts → types.d.ts} +5 -4
- package/dist/src/lib/Components/CardButton/types.d.ts.map +1 -0
- package/dist/src/lib/Components/Icon/Icon.d.ts +6 -3
- package/dist/src/lib/Components/Icon/Icon.d.ts.map +1 -1
- package/dist/src/lib/Components/Icon/Icon.js +24 -25
- package/dist/src/lib/Components/Icon/Icon.stories.d.ts +2 -2
- package/dist/src/lib/Components/Icon/Icon.stories.d.ts.map +1 -1
- package/dist/src/lib/Components/Icon/Icon.stories.js +73 -19
- package/dist/src/lib/Components/Icon/createIcon.d.ts +1 -1
- package/dist/src/lib/Components/Icon/createIcon.d.ts.map +1 -1
- package/dist/src/lib/Components/Icon/createIcon.js +1 -2
- package/dist/src/lib/Components/Icon/index.d.ts +1 -1
- package/dist/src/lib/Components/Icon/index.d.ts.map +1 -1
- package/dist/src/lib/Components/Icon/index.js +1 -1
- package/dist/src/lib/Components/Icon/{Icon.types.d.ts → types.d.ts} +7 -4
- package/dist/src/lib/Components/Icon/types.d.ts.map +1 -0
- package/dist/src/lib/Components/IconButton/IconButton.d.ts +2 -19
- package/dist/src/lib/Components/IconButton/IconButton.d.ts.map +1 -1
- package/dist/src/lib/Components/IconButton/IconButton.stories.d.ts.map +1 -1
- package/dist/src/lib/Components/IconButton/IconButton.stories.js +9 -11
- package/dist/src/lib/Components/IconButton/index.d.ts +1 -0
- package/dist/src/lib/Components/IconButton/index.d.ts.map +1 -1
- package/dist/src/lib/Components/IconButton/index.js +1 -0
- package/dist/src/lib/Components/IconButton/types.d.ts +12 -0
- package/dist/src/lib/Components/IconButton/types.d.ts.map +1 -0
- package/dist/src/lib/Components/InteractiveIcon/InteractiveIcon.d.ts +2 -2
- package/dist/src/lib/Components/InteractiveIcon/InteractiveIcon.d.ts.map +1 -1
- package/dist/src/lib/Components/InteractiveIcon/InteractiveIcon.figma.js +1 -1
- package/dist/src/lib/Components/InteractiveIcon/InteractiveIcon.js +34 -34
- package/dist/src/lib/Components/InteractiveIcon/InteractiveIcon.stories.d.ts +1 -1
- package/dist/src/lib/Components/InteractiveIcon/InteractiveIcon.stories.d.ts.map +1 -1
- package/dist/src/lib/Components/InteractiveIcon/InteractiveIcon.stories.js +22 -9
- package/dist/src/lib/Components/InteractiveIcon/types.d.ts +3 -7
- package/dist/src/lib/Components/InteractiveIcon/types.d.ts.map +1 -1
- package/dist/src/lib/Components/Link/Link.d.ts +7 -77
- package/dist/src/lib/Components/Link/Link.d.ts.map +1 -1
- package/dist/src/lib/Components/Link/Link.js +59 -75
- package/dist/src/lib/Components/Link/Link.stories.d.ts.map +1 -1
- package/dist/src/lib/Components/Link/Link.stories.js +34 -11
- package/dist/src/lib/Components/Link/index.d.ts +1 -0
- package/dist/src/lib/Components/Link/index.d.ts.map +1 -1
- package/dist/src/lib/Components/Link/index.js +1 -0
- package/dist/src/lib/Components/Link/types.d.ts +43 -0
- package/dist/src/lib/Components/Link/types.d.ts.map +1 -0
- package/dist/src/lib/Components/Link/types.js +1 -0
- package/dist/src/lib/Components/Search/Search.stories.d.ts +6 -1
- package/dist/src/lib/Components/Search/Search.stories.d.ts.map +1 -1
- package/dist/src/lib/Components/Search/Search.stories.js +71 -9
- package/dist/src/lib/Components/Select/Select.d.ts.map +1 -1
- package/dist/src/lib/Components/Select/Select.js +1 -17
- package/dist/src/lib/Components/Spinner/Spinner.d.ts +13 -16
- package/dist/src/lib/Components/Spinner/Spinner.d.ts.map +1 -1
- package/dist/src/lib/Components/Spinner/Spinner.js +33 -5
- package/dist/src/lib/Components/Spinner/Spinner.stories.d.ts.map +1 -1
- package/dist/src/lib/Components/Spinner/Spinner.stories.js +1 -1
- package/dist/src/lib/Components/Spinner/index.d.ts +1 -0
- package/dist/src/lib/Components/Spinner/index.d.ts.map +1 -1
- package/dist/src/lib/Components/Spinner/index.js +1 -0
- package/dist/src/lib/Components/Spinner/types.d.ts +15 -0
- package/dist/src/lib/Components/Spinner/types.d.ts.map +1 -0
- package/dist/src/lib/Components/Spinner/types.js +1 -0
- package/dist/src/lib/Components/Tag/Tag.d.ts +2 -1
- package/dist/src/lib/Components/Tag/Tag.d.ts.map +1 -1
- package/dist/src/lib/Components/Tag/Tag.js +15 -4
- package/dist/src/lib/Components/Tag/Tag.stories.js +1 -1
- package/dist/src/lib/Components/Tag/Tag.types.d.ts +7 -1
- package/dist/src/lib/Components/Tag/Tag.types.d.ts.map +1 -1
- package/dist/src/lib/Components/TextInput/TextInput.stories.d.ts +8 -1
- package/dist/src/lib/Components/TextInput/TextInput.stories.d.ts.map +1 -1
- package/dist/src/lib/Components/TextInput/TextInput.stories.js +104 -9
- package/dist/src/lib/Components/Tile/Tile.d.ts.map +1 -1
- package/dist/src/lib/Components/Tile/Tile.js +54 -8
- package/dist/src/lib/Components/Tile/types.d.ts +14 -1
- package/dist/src/lib/Components/Tile/types.d.ts.map +1 -1
- package/dist/src/lib/Components/Tooltip/Tooltip.stories.js +2 -2
- package/dist/src/lib/Components/Utility/Box/Box.d.ts +39 -0
- package/dist/src/lib/Components/Utility/Box/Box.d.ts.map +1 -0
- package/dist/src/lib/Components/{Box → Utility/Box}/Box.js +10 -11
- package/dist/src/lib/Components/Utility/Box/Box.stories.d.ts.map +1 -0
- package/dist/src/lib/Components/{Box → Utility/Box}/Box.stories.js +13 -12
- package/dist/src/lib/Components/Utility/Box/index.d.ts +2 -0
- package/dist/src/lib/Components/Utility/Box/index.d.ts.map +1 -0
- package/dist/src/lib/Components/Utility/Pressable/Pressable.d.ts +34 -0
- package/dist/src/lib/Components/Utility/Pressable/Pressable.d.ts.map +1 -0
- package/dist/src/lib/Components/Utility/Pressable/Pressable.js +33 -0
- package/dist/src/lib/Components/Utility/Pressable/Pressable.stories.d.ts +7 -0
- package/dist/src/lib/Components/Utility/Pressable/Pressable.stories.d.ts.map +1 -0
- package/dist/src/lib/Components/Utility/Pressable/Pressable.stories.js +47 -0
- package/dist/src/lib/Components/Utility/Pressable/index.d.ts +3 -0
- package/dist/src/lib/Components/Utility/Pressable/index.d.ts.map +1 -0
- package/dist/src/lib/Components/Utility/Pressable/index.js +1 -0
- package/dist/src/lib/Components/Utility/Pressable/types.d.ts +3 -0
- package/dist/src/lib/Components/Utility/Pressable/types.d.ts.map +1 -0
- package/dist/src/lib/Components/Utility/Pressable/types.js +1 -0
- package/dist/src/lib/Components/Utility/Text/Text.d.ts +40 -0
- package/dist/src/lib/Components/Utility/Text/Text.d.ts.map +1 -0
- package/dist/src/lib/Components/{Text → Utility/Text}/Text.js +13 -9
- package/dist/src/lib/Components/Utility/Text/Text.stories.d.ts.map +1 -0
- package/dist/src/lib/Components/{Text → Utility/Text}/Text.stories.js +3 -3
- package/dist/src/lib/Components/Utility/Text/index.d.ts.map +1 -0
- package/dist/src/lib/Components/Utility/index.d.ts +4 -0
- package/dist/src/lib/Components/Utility/index.d.ts.map +1 -0
- package/dist/src/lib/Components/Utility/index.js +3 -0
- package/dist/src/lib/Components/index.d.ts +1 -3
- package/dist/src/lib/Components/index.d.ts.map +1 -1
- package/dist/src/lib/Components/index.js +1 -3
- package/dist/src/lib/utils/components/InjectStylesIntoChildren.d.ts +6 -5
- package/dist/src/lib/utils/components/InjectStylesIntoChildren.d.ts.map +1 -1
- package/dist/src/lib/utils/components/InjectStylesIntoChildren.js +6 -6
- package/dist/src/styles/LumenStyleSheet.d.ts +1 -1
- package/dist/src/styles/LumenStyleSheet.d.ts.map +1 -1
- package/dist/src/styles/Provider/createStylesheetTheme.d.ts +0 -1
- package/dist/src/styles/Provider/createStylesheetTheme.d.ts.map +1 -1
- package/dist/src/styles/Provider/createStylesheetTheme.js +0 -1
- package/dist/src/styles/create/useCreate.d.ts +2 -1
- package/dist/src/styles/create/useCreate.d.ts.map +1 -1
- package/dist/src/styles/create/useCreate.js +5 -5
- package/dist/src/styles/factories/areLxPropsEqual.d.ts +3 -0
- package/dist/src/styles/factories/areLxPropsEqual.d.ts.map +1 -0
- package/dist/src/styles/factories/areLxPropsEqual.js +15 -0
- package/dist/src/styles/factories/createStyledPressable.d.ts +26 -0
- package/dist/src/styles/factories/createStyledPressable.d.ts.map +1 -0
- package/dist/src/styles/factories/createStyledPressable.js +61 -0
- package/dist/src/styles/factories/createStyledText.d.ts +15 -26
- package/dist/src/styles/factories/createStyledText.d.ts.map +1 -1
- package/dist/src/styles/factories/createStyledText.js +13 -29
- package/dist/src/styles/factories/createStyledView.d.ts +7 -27
- package/dist/src/styles/factories/createStyledView.d.ts.map +1 -1
- package/dist/src/styles/factories/createStyledView.js +10 -30
- package/dist/src/styles/factories/index.d.ts +4 -0
- package/dist/src/styles/factories/index.d.ts.map +1 -0
- package/dist/src/styles/factories/index.js +3 -0
- package/dist/src/styles/index.d.ts +2 -3
- package/dist/src/styles/index.d.ts.map +1 -1
- package/dist/src/styles/index.js +2 -3
- package/dist/src/styles/resolveStyle/resolveConfig.d.ts +7 -7
- package/dist/src/styles/resolveStyle/resolveConfig.d.ts.map +1 -1
- package/dist/src/styles/resolveStyle/resolveConfig.js +9 -9
- package/dist/src/styles/resolveStyle/resolveStyle.d.ts +6 -20
- package/dist/src/styles/resolveStyle/resolveStyle.d.ts.map +1 -1
- package/dist/src/styles/resolveStyle/resolveStyle.js +4 -29
- package/dist/src/styles/types/create.types.d.ts +1 -1
- package/dist/src/styles/types/create.types.d.ts.map +1 -1
- package/dist/src/styles/types/styled.types.d.ts +72 -50
- package/dist/src/styles/types/styled.types.d.ts.map +1 -1
- package/dist/src/styles/types/utility.types.d.ts.map +1 -1
- package/dist/src/styles/utils/index.d.ts +2 -0
- package/dist/src/styles/utils/index.d.ts.map +1 -0
- package/dist/src/styles/utils/index.js +1 -0
- package/dist/src/styles/utils/mergeStyles.d.ts +16 -0
- package/dist/src/styles/utils/mergeStyles.d.ts.map +1 -0
- package/dist/src/styles/utils/mergeStyles.js +20 -0
- package/package.json +3 -4
- package/src/lib/Components/AddressInput/AddressInput.mdx +15 -4
- package/src/lib/Components/AddressInput/AddressInput.stories.tsx +133 -17
- package/src/lib/Components/AddressInput/AddressInput.tsx +1 -1
- package/src/lib/Components/AmountInput/AmountInput.mdx +20 -1
- package/src/lib/Components/AmountInput/AmountInput.stories.tsx +180 -17
- package/src/lib/Components/AmountInput/AmountInput.tsx +24 -15
- package/src/lib/Components/Banner/Banner.test.tsx +48 -15
- package/src/lib/Components/BaseInput/BaseInput.tsx +6 -35
- package/src/lib/Components/BottomSheet/BottomSheet.stories.tsx +8 -8
- package/src/lib/Components/BottomSheet/BottomSheet.tsx +1 -1
- package/src/lib/Components/Button/BaseButton.test.tsx +149 -0
- package/src/lib/Components/Button/BaseButton.tsx +193 -148
- package/src/lib/Components/Button/Button.mdx +34 -31
- package/src/lib/Components/Button/Button.stories.tsx +37 -58
- package/src/lib/Components/Button/Button.tsx +4 -11
- package/src/lib/Components/Button/index.ts +1 -1
- package/src/lib/Components/Button/{BaseButton.types.ts → types.ts} +14 -8
- package/src/lib/Components/CardButton/CardButton.mdx +15 -25
- package/src/lib/Components/CardButton/CardButton.stories.tsx +48 -22
- package/src/lib/Components/CardButton/CardButton.test.tsx +141 -0
- package/src/lib/Components/CardButton/CardButton.tsx +142 -108
- package/src/lib/Components/CardButton/index.ts +1 -1
- package/src/lib/Components/CardButton/{CardButton.types.ts → types.ts} +4 -3
- package/src/lib/Components/Checkbox/Checkbox.mdx +1 -1
- package/src/lib/Components/Checkbox/Checkbox.test.tsx +42 -17
- package/src/lib/Components/Icon/Icon.stories.tsx +143 -73
- package/src/lib/Components/Icon/Icon.test.tsx +84 -0
- package/src/lib/Components/Icon/Icon.tsx +32 -28
- package/src/lib/Components/Icon/createIcon.ts +2 -3
- package/src/lib/Components/Icon/index.ts +1 -1
- package/src/lib/Components/Icon/{Icon.types.ts → types.ts} +4 -3
- package/src/lib/Components/IconButton/IconButton.mdx +13 -10
- package/src/lib/Components/IconButton/IconButton.stories.tsx +12 -14
- package/src/lib/Components/IconButton/IconButton.test.tsx +141 -0
- package/src/lib/Components/IconButton/IconButton.tsx +3 -13
- package/src/lib/Components/IconButton/index.ts +1 -0
- package/src/lib/Components/IconButton/types.ts +12 -0
- package/src/lib/Components/InteractiveIcon/InteractiveIcon.figma.tsx +1 -1
- package/src/lib/Components/InteractiveIcon/InteractiveIcon.mdx +25 -27
- package/src/lib/Components/InteractiveIcon/InteractiveIcon.stories.tsx +82 -43
- package/src/lib/Components/InteractiveIcon/InteractiveIcon.test.tsx +30 -19
- package/src/lib/Components/InteractiveIcon/InteractiveIcon.tsx +78 -45
- package/src/lib/Components/InteractiveIcon/types.ts +4 -7
- package/src/lib/Components/Link/Link.mdx +8 -18
- package/src/lib/Components/Link/Link.stories.tsx +56 -25
- package/src/lib/Components/Link/Link.test.tsx +141 -51
- package/src/lib/Components/Link/Link.tsx +128 -150
- package/src/lib/Components/Link/index.ts +1 -0
- package/src/lib/Components/Link/types.ts +44 -0
- package/src/lib/Components/Search/Search.mdx +14 -1
- package/src/lib/Components/Search/Search.stories.tsx +94 -15
- package/src/lib/Components/Select/Select.test.tsx +8 -4
- package/src/lib/Components/Select/Select.tsx +4 -31
- package/src/lib/Components/Spinner/Spinner.stories.tsx +1 -5
- package/src/lib/Components/Spinner/Spinner.tsx +60 -34
- package/src/lib/Components/Spinner/index.ts +1 -0
- package/src/lib/Components/Spinner/types.ts +15 -0
- package/src/lib/Components/Switch/Switch.mdx +1 -1
- package/src/lib/Components/Tag/Tag.stories.tsx +2 -2
- package/src/lib/Components/Tag/Tag.tsx +22 -6
- package/src/lib/Components/Tag/Tag.types.ts +7 -8
- package/src/lib/Components/TextInput/TextInput.mdx +24 -4
- package/src/lib/Components/TextInput/TextInput.stories.tsx +131 -15
- package/src/lib/Components/Tile/Tile.test.tsx +100 -63
- package/src/lib/Components/Tile/Tile.tsx +64 -13
- package/src/lib/Components/Tile/types.ts +14 -1
- package/src/lib/Components/Tooltip/Tooltip.stories.tsx +2 -2
- package/src/lib/Components/Tooltip/Tooltip.test.tsx +8 -4
- package/src/lib/Components/{Box → Utility/Box}/Box.mdx +15 -13
- package/src/lib/Components/{Box → Utility/Box}/Box.stories.tsx +13 -11
- package/src/lib/Components/{Box → Utility/Box}/Box.tsx +11 -12
- package/src/lib/Components/Utility/Box/index.ts +1 -0
- package/src/lib/Components/Utility/Pressable/Pressable.mdx +103 -0
- package/src/lib/Components/Utility/Pressable/Pressable.stories.tsx +51 -0
- package/src/lib/Components/Utility/Pressable/Pressable.test.tsx +221 -0
- package/src/lib/Components/Utility/Pressable/Pressable.tsx +34 -0
- package/src/lib/Components/Utility/Pressable/index.ts +2 -0
- package/src/lib/Components/Utility/Pressable/types.ts +3 -0
- package/src/lib/Components/{Text → Utility/Text}/Text.mdx +15 -7
- package/src/lib/Components/{Text → Utility/Text}/Text.stories.tsx +3 -3
- package/src/lib/Components/Utility/Text/Text.tsx +39 -0
- package/src/lib/Components/Utility/index.ts +3 -0
- package/src/lib/Components/index.ts +1 -3
- package/src/lib/utils/components/InjectStylesIntoChildren.tsx +23 -14
- package/src/styles/Provider/createStylesheetTheme.ts +0 -1
- package/src/styles/create/useCreate.ts +8 -4
- package/src/styles/factories/areLxPropsEqual.ts +32 -0
- package/src/styles/factories/createStyledPressable.test.tsx +253 -0
- package/src/styles/factories/createStyledPressable.tsx +97 -0
- package/src/styles/factories/createStyledText.test.tsx +28 -20
- package/src/styles/factories/createStyledText.tsx +29 -49
- package/src/styles/factories/createStyledView.test.tsx +22 -16
- package/src/styles/factories/createStyledView.tsx +19 -53
- package/src/styles/factories/index.ts +3 -0
- package/src/styles/index.ts +2 -3
- package/src/styles/resolveStyle/resolveConfig.ts +16 -15
- package/src/styles/resolveStyle/resolveStyle.test.ts +13 -141
- package/src/styles/resolveStyle/resolveStyle.ts +10 -60
- package/src/styles/types/create.types.ts +1 -1
- package/src/styles/types/styled.types.ts +73 -105
- package/src/styles/types/utility.types.ts +1 -0
- package/src/styles/utils/index.ts +1 -0
- package/src/styles/utils/mergeStyles.test.ts +45 -0
- package/src/styles/utils/mergeStyles.ts +25 -0
- package/.storybook/docs/getting-started/StyleSystem.mdx +0 -133
- package/dist/src/lib/Components/Box/Box.d.ts +0 -592
- package/dist/src/lib/Components/Box/Box.d.ts.map +0 -1
- package/dist/src/lib/Components/Box/Box.stories.d.ts.map +0 -1
- package/dist/src/lib/Components/Box/Box.types.d.ts +0 -3
- package/dist/src/lib/Components/Box/Box.types.d.ts.map +0 -1
- package/dist/src/lib/Components/Box/index.d.ts +0 -3
- package/dist/src/lib/Components/Box/index.d.ts.map +0 -1
- package/dist/src/lib/Components/Button/BaseButton.types.d.ts.map +0 -1
- package/dist/src/lib/Components/CardButton/CardButton.types.d.ts.map +0 -1
- package/dist/src/lib/Components/Icon/Icon.types.d.ts.map +0 -1
- package/dist/src/lib/Components/Text/Text.d.ts +0 -602
- package/dist/src/lib/Components/Text/Text.d.ts.map +0 -1
- package/dist/src/lib/Components/Text/Text.stories.d.ts.map +0 -1
- package/dist/src/lib/Components/Text/index.d.ts.map +0 -1
- package/dist/src/lib/Components/_ToRemove/ToRemove.d.ts +0 -9
- package/dist/src/lib/Components/_ToRemove/ToRemove.d.ts.map +0 -1
- package/dist/src/lib/Components/_ToRemove/ToRemove.js +0 -43
- package/dist/src/styles/utils/styleVarianceAuthority.d.ts +0 -30
- package/dist/src/styles/utils/styleVarianceAuthority.d.ts.map +0 -1
- package/dist/src/styles/utils/styleVarianceAuthority.js +0 -97
- package/src/lib/Components/Box/Box.types.ts +0 -3
- package/src/lib/Components/Box/index.ts +0 -2
- package/src/lib/Components/Text/Text.tsx +0 -35
- package/src/lib/Components/_ToRemove/ToRemove.tsx +0 -65
- package/src/styles/utils/styleVarianceAuthority.test.ts +0 -302
- package/src/styles/utils/styleVarianceAuthority.ts +0 -154
- /package/dist/src/lib/Components/{Box/Box.types.js → Button/types.js} +0 -0
- /package/dist/src/lib/Components/{Button/BaseButton.types.js → CardButton/types.js} +0 -0
- /package/dist/src/lib/Components/{CardButton/CardButton.types.js → Icon/types.js} +0 -0
- /package/dist/src/lib/Components/{Icon/Icon.types.js → IconButton/types.js} +0 -0
- /package/dist/src/lib/Components/{Box → Utility/Box}/Box.stories.d.ts +0 -0
- /package/dist/src/lib/Components/{Box → Utility/Box}/index.js +0 -0
- /package/dist/src/lib/Components/{Text → Utility/Text}/Text.stories.d.ts +0 -0
- /package/dist/src/lib/Components/{Text → Utility/Text}/index.d.ts +0 -0
- /package/dist/src/lib/Components/{Text → Utility/Text}/index.js +0 -0
- /package/src/lib/Components/{Text → Utility/Text}/index.ts +0 -0
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
import { jsx as _jsx } from "react/jsx-runtime";
|
|
2
|
-
import {
|
|
2
|
+
import { useState } from 'react';
|
|
3
|
+
import { View } from 'react-native';
|
|
3
4
|
import { Search } from './Search';
|
|
4
5
|
const meta = {
|
|
5
6
|
component: Search,
|
|
@@ -13,15 +14,76 @@ const meta = {
|
|
|
13
14
|
},
|
|
14
15
|
},
|
|
15
16
|
},
|
|
17
|
+
argTypes: {
|
|
18
|
+
placeholder: {
|
|
19
|
+
control: 'text',
|
|
20
|
+
description: 'Placeholder text when input is empty',
|
|
21
|
+
},
|
|
22
|
+
errorMessage: {
|
|
23
|
+
control: 'text',
|
|
24
|
+
description: 'Error message to display below input',
|
|
25
|
+
},
|
|
26
|
+
editable: {
|
|
27
|
+
control: 'boolean',
|
|
28
|
+
description: 'Whether the input is editable',
|
|
29
|
+
},
|
|
30
|
+
hideClearButton: {
|
|
31
|
+
control: 'boolean',
|
|
32
|
+
description: 'Hide the clear button',
|
|
33
|
+
},
|
|
34
|
+
},
|
|
16
35
|
};
|
|
17
36
|
export default meta;
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
37
|
+
const SearchStory = (args) => {
|
|
38
|
+
const [query, setQuery] = useState(args.initialValue ?? '');
|
|
39
|
+
return (_jsx(View, { className: 'flex min-h-400 items-center justify-center p-24', children: _jsx(View, { className: 'w-full max-w-320', children: _jsx(Search, { ...args, value: query, onChangeText: setQuery, onClear: args.onClear }) }) }));
|
|
40
|
+
};
|
|
41
|
+
export const Base = {
|
|
42
|
+
render: (args) => _jsx(SearchStory, { ...args }),
|
|
43
|
+
args: {
|
|
44
|
+
placeholder: 'Search products',
|
|
45
|
+
editable: true,
|
|
46
|
+
hideClearButton: false,
|
|
47
|
+
},
|
|
48
|
+
};
|
|
49
|
+
export const WithContent = {
|
|
50
|
+
render: (args) => _jsx(SearchStory, { ...args, initialValue: 'Search text' }),
|
|
51
|
+
args: {
|
|
52
|
+
placeholder: 'Search products',
|
|
53
|
+
editable: true,
|
|
54
|
+
hideClearButton: false,
|
|
55
|
+
},
|
|
56
|
+
};
|
|
57
|
+
export const WithError = {
|
|
58
|
+
render: (args) => _jsx(SearchStory, { ...args, initialValue: 'Invalid search' }),
|
|
59
|
+
args: {
|
|
60
|
+
placeholder: 'Search products',
|
|
61
|
+
errorMessage: 'Search term is invalid',
|
|
62
|
+
editable: true,
|
|
63
|
+
hideClearButton: false,
|
|
64
|
+
},
|
|
65
|
+
};
|
|
66
|
+
export const DisabledSearch = {
|
|
67
|
+
render: (args) => _jsx(SearchStory, { ...args, initialValue: 'Disabled search' }),
|
|
68
|
+
args: {
|
|
69
|
+
placeholder: 'Search products',
|
|
70
|
+
editable: false,
|
|
71
|
+
hideClearButton: false,
|
|
72
|
+
},
|
|
73
|
+
};
|
|
74
|
+
export const WithHiddenClearButton = {
|
|
75
|
+
render: (args) => _jsx(SearchStory, { ...args, initialValue: 'Search text' }),
|
|
76
|
+
args: {
|
|
77
|
+
placeholder: 'Search products',
|
|
78
|
+
editable: true,
|
|
79
|
+
hideClearButton: true,
|
|
80
|
+
},
|
|
81
|
+
};
|
|
82
|
+
export const WithClearCallback = {
|
|
83
|
+
render: (args) => (_jsx(SearchStory, { ...args, initialValue: 'Click clear to see callback', onClear: () => alert('Search cleared!') })),
|
|
84
|
+
args: {
|
|
85
|
+
placeholder: 'Search products',
|
|
86
|
+
editable: true,
|
|
87
|
+
hideClearButton: false,
|
|
26
88
|
},
|
|
27
89
|
};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Select.d.ts","sourceRoot":"","sources":["../../../../../src/lib/Components/Select/Select.tsx"],"names":[],"mappings":"AACA,OAAO,KAAkD,MAAM,OAAO,CAAC;
|
|
1
|
+
{"version":3,"file":"Select.d.ts","sourceRoot":"","sources":["../../../../../src/lib/Components/Select/Select.tsx"],"names":[],"mappings":"AACA,OAAO,KAAkD,MAAM,OAAO,CAAC;AAOvE,OAAO,KAAK,EACV,WAAW,EACX,kBAAkB,EAClB,kBAAkB,EAClB,gBAAgB,EAChB,gBAAgB,EAChB,eAAe,EACf,mBAAmB,EACnB,oBAAoB,EAErB,MAAM,SAAS,CAAC;AAMjB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA6BG;AACH,eAAO,MAAM,MAAM,EAAE,KAAK,CAAC,EAAE,CAAC,WAAW,CA8DxC,CAAC;AAGF,eAAO,MAAM,aAAa,EAAE,KAAK,CAAC,EAAE,CAAC,kBAAkB,CAyFtD,CAAC;AAGF;;GAEG;AACH,eAAO,MAAM,WAAW,EAAE,KAAK,CAAC,EAAE,CAAC;IACjC,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB,CAsBA,CAAC;AAGF;;;GAGG;AACH,eAAO,MAAM,aAAa,EAAE,KAAK,CAAC,EAAE,CAAC,kBAAkB,CAkDtD,CAAC;AAGF,eAAO,MAAM,WAAW,EAAE,KAAK,CAAC,EAAE,CAAC,gBAAgB,CAUlD,CAAC;AAGF,eAAO,MAAM,WAAW,EAAE,KAAK,CAAC,EAAE,CAAC,gBAAgB,CAgBlD,CAAC;AAGF;;;GAGG;AACH,eAAO,MAAM,UAAU,EAAE,KAAK,CAAC,EAAE,CAAC,eAAe,CAIhD,CAAC;AAGF,eAAO,MAAM,cAAc,EAAE,KAAK,CAAC,EAAE,CAAC,mBAAmB,CAUxD,CAAC;AAGF,eAAO,MAAM,eAAe,EAAE,KAAK,CAAC,EAAE,CAAC,oBAAoB,CAU1D,CAAC"}
|
|
@@ -2,7 +2,6 @@ import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
|
|
2
2
|
import { cn } from '@ledgerhq/lumen-utils-shared';
|
|
3
3
|
import React, { useState, useEffect, useCallback, useId } from 'react';
|
|
4
4
|
import { View, Text, Pressable } from 'react-native';
|
|
5
|
-
import Animated, { useAnimatedStyle, useSharedValue, withTiming, } from 'react-native-reanimated';
|
|
6
5
|
import { ChevronDown } from '../../Symbols';
|
|
7
6
|
import { useControllableState, extractTextFromChildren } from '../../utils';
|
|
8
7
|
import { SlotPressable } from '../Slot';
|
|
@@ -67,7 +66,6 @@ export const Select = ({ children, open: controlledOpen, defaultOpen = false, on
|
|
|
67
66
|
return (_jsx(SelectContextProvider, { selectId: selectId, open: internalOpen ?? false, setOpen: setOpen, value: internalValue, onValueChange: handleValueChange, disabled: disabled, items: items, setItems: setItems, children: children }));
|
|
68
67
|
};
|
|
69
68
|
Select.displayName = 'Select';
|
|
70
|
-
const AnimatedLabel = Animated.createAnimatedComponent(Animated.Text);
|
|
71
69
|
export const SelectTrigger = ({ children, className, label, labelClassName, asChild = false, disabled: triggerDisabled, ...props }) => {
|
|
72
70
|
const { selectId, setOpen, items, value, disabled: contextDisabled, label: contextLabel, onValueChange, } = useSelectSafeContext({
|
|
73
71
|
consumerName: 'SelectTrigger',
|
|
@@ -100,22 +98,8 @@ export const SelectTrigger = ({ children, className, label, labelClassName, asCh
|
|
|
100
98
|
]);
|
|
101
99
|
const hasValue = value !== undefined && value !== '';
|
|
102
100
|
const isFloatingLabel = hasValue;
|
|
103
|
-
const labelFontSize = useSharedValue(hasValue ? 10 : 14);
|
|
104
|
-
const labelTop = useSharedValue(hasValue ? 10 : 16);
|
|
105
|
-
const animatedLabelStyle = useAnimatedStyle(() => ({
|
|
106
|
-
fontSize: labelFontSize.value,
|
|
107
|
-
top: labelTop.value,
|
|
108
|
-
}), []);
|
|
109
|
-
useEffect(() => {
|
|
110
|
-
labelFontSize.value = withTiming(isFloatingLabel ? 10 : 14, {
|
|
111
|
-
duration: 200,
|
|
112
|
-
});
|
|
113
|
-
labelTop.value = withTiming(isFloatingLabel ? 10 : 16, {
|
|
114
|
-
duration: 200,
|
|
115
|
-
});
|
|
116
|
-
}, [isFloatingLabel, labelFontSize, labelTop]);
|
|
117
101
|
const Comp = asChild ? SlotPressable : Pressable;
|
|
118
|
-
return (_jsxs(Comp, { disabled: disabled, onPress: handlePress, className: cn(triggerStyles, disabled && 'opacity-50', className), ...props, children: [finalLabel && (_jsx(
|
|
102
|
+
return (_jsxs(Comp, { disabled: disabled, onPress: handlePress, className: cn(triggerStyles, disabled && 'opacity-50', className), ...props, children: [finalLabel && (_jsx(Text, { className: cn('absolute left-16 text-muted w-full transition-all duration-200', isFloatingLabel ? 'top-6 body-4' : 'top-14 body-2', disabled && 'text-disabled', labelClassName), numberOfLines: 1, children: finalLabel })), _jsx(View, { className: cn('flex-1', finalLabel && hasValue && 'pt-16 pb-2', finalLabel && !hasValue && 'py-0'), children: children }), _jsx(ChevronDown, { size: 20, className: cn('text-muted ml-8', disabled && 'text-disabled') })] }));
|
|
119
103
|
};
|
|
120
104
|
SelectTrigger.displayName = 'SelectTrigger';
|
|
121
105
|
/**
|
|
@@ -1,23 +1,20 @@
|
|
|
1
|
-
import
|
|
2
|
-
import { IconSize } from '../../Components/Icon/Icon.types';
|
|
3
|
-
export type SpinnerProps = SvgProps & {
|
|
4
|
-
/**
|
|
5
|
-
* The size of the spinner icon in pixels.
|
|
6
|
-
* @default 16
|
|
7
|
-
*/
|
|
8
|
-
size?: IconSize;
|
|
9
|
-
};
|
|
1
|
+
import { View } from 'react-native';
|
|
10
2
|
/**
|
|
11
3
|
* A basic spinner component for loading states.
|
|
12
4
|
*
|
|
13
5
|
* @example
|
|
14
6
|
* <Spinner />
|
|
7
|
+
*
|
|
8
|
+
* @example
|
|
9
|
+
* // With custom color
|
|
10
|
+
* <Spinner color={theme.colors.text.base} />
|
|
11
|
+
*
|
|
12
|
+
* @example
|
|
13
|
+
* // With lx props for layout
|
|
14
|
+
* <Spinner lx={{ marginTop: 's8' }} />
|
|
15
15
|
*/
|
|
16
|
-
export declare const Spinner: import("react").ForwardRefExoticComponent<
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
*/
|
|
21
|
-
size?: IconSize;
|
|
22
|
-
} & import("react").RefAttributes<Svg>>;
|
|
16
|
+
export declare const Spinner: import("react").ForwardRefExoticComponent<{
|
|
17
|
+
size?: import("../Icon").IconSize;
|
|
18
|
+
color?: string;
|
|
19
|
+
} & Omit<import("../../../styles").StyledViewProps, "children"> & import("react").RefAttributes<View>>;
|
|
23
20
|
//# sourceMappingURL=Spinner.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Spinner.d.ts","sourceRoot":"","sources":["../../../../../src/lib/Components/Spinner/Spinner.tsx"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"Spinner.d.ts","sourceRoot":"","sources":["../../../../../src/lib/Components/Spinner/Spinner.tsx"],"names":[],"mappings":"AACA,OAAO,EAAoB,IAAI,EAAE,MAAM,cAAc,CAAC;AAQtD;;;;;;;;;;;;;GAaG;AACH,eAAO,MAAM,OAAO;;;sGA+CnB,CAAC"}
|
|
@@ -1,16 +1,44 @@
|
|
|
1
1
|
import { jsx as _jsx } from "react/jsx-runtime";
|
|
2
|
-
import {
|
|
3
|
-
import {
|
|
4
|
-
import { View } from 'react-native';
|
|
2
|
+
import { forwardRef, useEffect, useRef } from 'react';
|
|
3
|
+
import { Animated, Easing } from 'react-native';
|
|
5
4
|
import Svg, { Path } from 'react-native-svg';
|
|
6
5
|
import { useCommonTranslation } from '../../../i18n';
|
|
6
|
+
import { LumenStyleSheet } from '../../../styles';
|
|
7
|
+
import { RuntimeConstants } from '../../utils';
|
|
8
|
+
import { Box } from '../Utility';
|
|
7
9
|
/**
|
|
8
10
|
* A basic spinner component for loading states.
|
|
9
11
|
*
|
|
10
12
|
* @example
|
|
11
13
|
* <Spinner />
|
|
14
|
+
*
|
|
15
|
+
* @example
|
|
16
|
+
* // With custom color
|
|
17
|
+
* <Spinner color={theme.colors.text.base} />
|
|
18
|
+
*
|
|
19
|
+
* @example
|
|
20
|
+
* // With lx props for layout
|
|
21
|
+
* <Spinner lx={{ marginTop: 's8' }} />
|
|
12
22
|
*/
|
|
13
|
-
export const Spinner = forwardRef(({
|
|
23
|
+
export const Spinner = forwardRef(({ lx, style, size = 16, color, ...props }, ref) => {
|
|
14
24
|
const { t } = useCommonTranslation();
|
|
15
|
-
|
|
25
|
+
const { theme } = LumenStyleSheet.useTheme();
|
|
26
|
+
const spinValue = useRef(new Animated.Value(0)).current;
|
|
27
|
+
const strokeColor = color ?? theme.colors.text.base;
|
|
28
|
+
useEffect(() => {
|
|
29
|
+
const animation = Animated.loop(Animated.timing(spinValue, {
|
|
30
|
+
toValue: 1,
|
|
31
|
+
duration: 1000,
|
|
32
|
+
easing: Easing.linear,
|
|
33
|
+
useNativeDriver: RuntimeConstants.isNative,
|
|
34
|
+
}));
|
|
35
|
+
animation.start();
|
|
36
|
+
return () => animation.stop();
|
|
37
|
+
}, [spinValue]);
|
|
38
|
+
const spin = spinValue.interpolate({
|
|
39
|
+
inputRange: [0, 1],
|
|
40
|
+
outputRange: ['0deg', '360deg'],
|
|
41
|
+
});
|
|
42
|
+
return (_jsx(Box, { ref: ref, lx: { flexShrink: 0, ...lx }, style: style, ...props, children: _jsx(Animated.View, { style: { transform: [{ rotate: spin }] }, children: _jsx(Svg, { width: size, height: size, viewBox: '0 0 16 16', fill: 'none', accessibilityLabel: t('components.spinner.loadingAriaLabel'), children: _jsx(Path, { d: 'M8 1.5C11.5899 1.5 14.5 4.41015 14.5 8C14.5 11.5899 11.5899 14.5 8 14.5C4.41015 14.5 1.5 11.5899 1.5 8', stroke: strokeColor, strokeWidth: '1.5', strokeLinecap: 'round' }) }) }) }));
|
|
16
43
|
});
|
|
44
|
+
Spinner.displayName = 'Spinner';
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Spinner.stories.d.ts","sourceRoot":"","sources":["../../../../../src/lib/Components/Spinner/Spinner.stories.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAE,IAAI,EAAE,QAAQ,EAAE,MAAM,kCAAkC,CAAC;AAClE,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAEpC,QAAA,MAAM,IAAI,EAAE,IAAI,CAAC,OAAO,OAAO,CAY9B,CAAC;AAEF,eAAe,IAAI,CAAC;AACpB,KAAK,KAAK,GAAG,QAAQ,CAAC,OAAO,OAAO,CAAC,CAAC;AAEtC,eAAO,MAAM,IAAI,EAAE,
|
|
1
|
+
{"version":3,"file":"Spinner.stories.d.ts","sourceRoot":"","sources":["../../../../../src/lib/Components/Spinner/Spinner.stories.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAE,IAAI,EAAE,QAAQ,EAAE,MAAM,kCAAkC,CAAC;AAClE,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAEpC,QAAA,MAAM,IAAI,EAAE,IAAI,CAAC,OAAO,OAAO,CAY9B,CAAC;AAEF,eAAe,IAAI,CAAC;AACpB,KAAK,KAAK,GAAG,QAAQ,CAAC,OAAO,OAAO,CAAC,CAAC;AAEtC,eAAO,MAAM,IAAI,EAAE,KAKlB,CAAC;AAEF,eAAO,MAAM,KAAK,EAAE,KAsCnB,CAAC"}
|
|
@@ -18,7 +18,7 @@ export const Base = {
|
|
|
18
18
|
args: {
|
|
19
19
|
size: 40,
|
|
20
20
|
},
|
|
21
|
-
render: (
|
|
21
|
+
render: (args) => _jsx(Spinner, { ...args }),
|
|
22
22
|
};
|
|
23
23
|
export const Sizes = {
|
|
24
24
|
argTypes: {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../src/lib/Components/Spinner/index.ts"],"names":[],"mappings":"AAAA,cAAc,WAAW,CAAC"}
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../src/lib/Components/Spinner/index.ts"],"names":[],"mappings":"AAAA,cAAc,WAAW,CAAC;AAC1B,cAAc,SAAS,CAAC"}
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
import { StyledViewProps } from '../../../styles';
|
|
2
|
+
import { IconSize } from '../Icon';
|
|
3
|
+
export type SpinnerProps = {
|
|
4
|
+
/**
|
|
5
|
+
* The size of the spinner icon in pixels.
|
|
6
|
+
* @default 16
|
|
7
|
+
*/
|
|
8
|
+
size?: IconSize;
|
|
9
|
+
/**
|
|
10
|
+
* The color of the spinner stroke.
|
|
11
|
+
* @default text.base color.
|
|
12
|
+
*/
|
|
13
|
+
color?: string;
|
|
14
|
+
} & Omit<StyledViewProps, 'children'>;
|
|
15
|
+
//# sourceMappingURL=types.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../../../src/lib/Components/Spinner/types.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,eAAe,EAAE,MAAM,iBAAiB,CAAC;AAClD,OAAO,EAAE,QAAQ,EAAE,MAAM,SAAS,CAAC;AAEnC,MAAM,MAAM,YAAY,GAAG;IACzB;;;OAGG;IACH,IAAI,CAAC,EAAE,QAAQ,CAAC;IAChB;;;OAGG;IACH,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB,GAAG,IAAI,CAAC,eAAe,EAAE,UAAU,CAAC,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export {};
|
|
@@ -2,12 +2,13 @@ import React from 'react';
|
|
|
2
2
|
import { View } from 'react-native';
|
|
3
3
|
import { IconSize } from '../Icon';
|
|
4
4
|
export declare const Tag: React.ForwardRefExoticComponent<{
|
|
5
|
-
appearance?: "base" | "gray" | "accent" | "success" | "error" | "warning"
|
|
5
|
+
appearance?: "base" | "gray" | "accent" | "success" | "error" | "warning";
|
|
6
6
|
icon?: React.ComponentType<{
|
|
7
7
|
size?: IconSize;
|
|
8
8
|
className?: string;
|
|
9
9
|
}>;
|
|
10
10
|
label: string;
|
|
11
11
|
size?: "sm" | "lg";
|
|
12
|
+
disabled?: boolean;
|
|
12
13
|
} & import("react-native").ViewProps & React.RefAttributes<View>>;
|
|
13
14
|
//# sourceMappingURL=Tag.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Tag.d.ts","sourceRoot":"","sources":["../../../../../src/lib/Components/Tag/Tag.tsx"],"names":[],"mappings":"AAEA,OAAO,KAAK,MAAM,OAAO,CAAC;AAC1B,OAAO,EAAE,IAAI,EAAQ,MAAM,cAAc,CAAC;AAC1C,OAAO,EAAE,QAAQ,EAAE,MAAM,SAAS,CAAC;
|
|
1
|
+
{"version":3,"file":"Tag.d.ts","sourceRoot":"","sources":["../../../../../src/lib/Components/Tag/Tag.tsx"],"names":[],"mappings":"AAEA,OAAO,KAAK,MAAM,OAAO,CAAC;AAC1B,OAAO,EAAE,IAAI,EAAQ,MAAM,cAAc,CAAC;AAC1C,OAAO,EAAE,QAAQ,EAAE,MAAM,SAAS,CAAC;AAkDnC,eAAO,MAAM,GAAG;;;YA7CkC,CAAC;iBAAqB,CAAC;;;;;iEAgFxE,CAAC"}
|
|
@@ -13,16 +13,20 @@ const tagVariants = {
|
|
|
13
13
|
success: 'bg-success',
|
|
14
14
|
error: 'bg-error',
|
|
15
15
|
warning: 'bg-warning',
|
|
16
|
-
disabled: 'bg-disabled',
|
|
17
16
|
},
|
|
18
17
|
size: {
|
|
19
18
|
lg: 'h-24 px-8 py-4 body-3',
|
|
20
19
|
sm: 'h-20 px-4 py-2 body-4',
|
|
21
20
|
},
|
|
21
|
+
disabled: {
|
|
22
|
+
true: 'bg-disabled',
|
|
23
|
+
false: '',
|
|
24
|
+
},
|
|
22
25
|
},
|
|
23
26
|
defaultVariants: {
|
|
24
27
|
appearance: 'accent',
|
|
25
28
|
size: 'lg',
|
|
29
|
+
disabled: false,
|
|
26
30
|
},
|
|
27
31
|
}),
|
|
28
32
|
inner: cva('', {
|
|
@@ -34,18 +38,25 @@ const tagVariants = {
|
|
|
34
38
|
success: 'text-success',
|
|
35
39
|
error: 'text-error',
|
|
36
40
|
warning: 'text-warning',
|
|
37
|
-
|
|
41
|
+
},
|
|
42
|
+
disabled: {
|
|
43
|
+
true: 'text-disabled',
|
|
44
|
+
false: '',
|
|
38
45
|
},
|
|
39
46
|
},
|
|
40
47
|
}),
|
|
41
48
|
};
|
|
42
|
-
export const Tag = React.forwardRef(({ className, appearance, size, icon, label, ...props }, ref) => {
|
|
49
|
+
export const Tag = React.forwardRef(({ className, appearance, size, icon, label, disabled, ...props }, ref) => {
|
|
43
50
|
const iconSizeMap = {
|
|
44
51
|
lg: 16,
|
|
45
52
|
sm: 12,
|
|
46
53
|
};
|
|
47
54
|
const calculatedIconSize = size ? iconSizeMap[size] : 16;
|
|
48
55
|
const IconComponent = icon;
|
|
49
|
-
return (_jsxs(View, { className: cn(className, tagVariants.root({ appearance, size })), ref: ref, ...props, children: [IconComponent && (_jsx(IconComponent, { size: calculatedIconSize, className: tagVariants.inner({
|
|
56
|
+
return (_jsxs(View, { className: cn(className, tagVariants.root({ appearance, size, disabled })), ref: ref, ...props, children: [IconComponent && (_jsx(IconComponent, { size: calculatedIconSize, className: tagVariants.inner({
|
|
57
|
+
appearance,
|
|
58
|
+
disabled,
|
|
59
|
+
className: 'shrink-0',
|
|
60
|
+
}) })), _jsx(Text, { className: tagVariants.inner({ appearance, disabled }), children: label })] }));
|
|
50
61
|
});
|
|
51
62
|
Tag.displayName = 'Tag';
|
|
@@ -35,7 +35,7 @@ export const Default = {
|
|
|
35
35
|
render: (args) => _jsx(Tag, { ...args, icon: args.icon ? Check : undefined }),
|
|
36
36
|
};
|
|
37
37
|
export const Showcase = {
|
|
38
|
-
render: () => (_jsxs(View, { className: 'flex flex-col gap-16', children: [_jsxs(View, { className: 'flex flex-row gap-4', children: [_jsx(Tag, { appearance: 'base', label: 'Base' }), _jsx(Tag, { appearance: 'gray', label: 'Gray' }), _jsx(Tag, { appearance: 'accent', label: 'Accent' }), _jsx(Tag, { appearance: 'success', label: 'Success' }), _jsx(Tag, { appearance: 'error', label: 'Error' }), _jsx(Tag, { appearance: 'warning', label: 'Warning' }), _jsx(Tag, {
|
|
38
|
+
render: () => (_jsxs(View, { className: 'flex flex-col gap-16', children: [_jsxs(View, { className: 'flex flex-row gap-4', children: [_jsx(Tag, { appearance: 'base', label: 'Base' }), _jsx(Tag, { appearance: 'gray', label: 'Gray' }), _jsx(Tag, { appearance: 'accent', label: 'Accent' }), _jsx(Tag, { appearance: 'success', label: 'Success' }), _jsx(Tag, { appearance: 'error', label: 'Error' }), _jsx(Tag, { appearance: 'warning', label: 'Warning' }), _jsx(Tag, { label: 'Disabled', disabled: true })] }), _jsxs(View, { className: 'flex flex-row gap-4', children: [_jsx(Tag, { appearance: 'base', label: 'Base', icon: Check }), _jsx(Tag, { appearance: 'gray', label: 'Gray', icon: Check }), _jsx(Tag, { appearance: 'accent', label: 'Accent', icon: Check }), _jsx(Tag, { appearance: 'success', label: 'Success', icon: Check }), _jsx(Tag, { appearance: 'error', label: 'Error', icon: Check }), _jsx(Tag, { appearance: 'warning', label: 'Warning', icon: Check }), _jsx(Tag, { label: 'Disabled', icon: Check, disabled: true })] })] })),
|
|
39
39
|
};
|
|
40
40
|
export const SizesShowcase = {
|
|
41
41
|
render: () => (_jsxs(View, { className: 'flex flex-row items-center gap-4', children: [_jsx(Tag, { size: 'lg', label: 'Large Tag' }), _jsx(Tag, { size: 'sm', label: 'Small Tag' })] })),
|
|
@@ -5,7 +5,7 @@ export type TagProps = {
|
|
|
5
5
|
/**
|
|
6
6
|
* The appearance of the tag.
|
|
7
7
|
*/
|
|
8
|
-
appearance?: 'base' | 'gray' | 'accent' | 'success' | 'error' | 'warning'
|
|
8
|
+
appearance?: 'base' | 'gray' | 'accent' | 'success' | 'error' | 'warning';
|
|
9
9
|
/**
|
|
10
10
|
* The icon of the tag.
|
|
11
11
|
*/
|
|
@@ -21,5 +21,11 @@ export type TagProps = {
|
|
|
21
21
|
* The size of the tag.
|
|
22
22
|
*/
|
|
23
23
|
size?: 'sm' | 'lg';
|
|
24
|
+
/**
|
|
25
|
+
* When `true`, prevents the user from interacting with the tag.
|
|
26
|
+
*
|
|
27
|
+
* @default false
|
|
28
|
+
*/
|
|
29
|
+
disabled?: boolean;
|
|
24
30
|
} & ViewProps;
|
|
25
31
|
//# sourceMappingURL=Tag.types.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Tag.types.d.ts","sourceRoot":"","sources":["../../../../../src/lib/Components/Tag/Tag.types.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,OAAO,CAAC;AACtC,OAAO,EAAE,SAAS,EAAE,MAAM,cAAc,CAAC;AACzC,OAAO,EAAE,QAAQ,EAAE,MAAM,SAAS,CAAC;AAEnC,MAAM,MAAM,QAAQ,GAAG;IACrB;;OAEG;IACH,UAAU,CAAC,
|
|
1
|
+
{"version":3,"file":"Tag.types.d.ts","sourceRoot":"","sources":["../../../../../src/lib/Components/Tag/Tag.types.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,OAAO,CAAC;AACtC,OAAO,EAAE,SAAS,EAAE,MAAM,cAAc,CAAC;AACzC,OAAO,EAAE,QAAQ,EAAE,MAAM,SAAS,CAAC;AAEnC,MAAM,MAAM,QAAQ,GAAG;IACrB;;OAEG;IACH,UAAU,CAAC,EAAE,MAAM,GAAG,MAAM,GAAG,QAAQ,GAAG,SAAS,GAAG,OAAO,GAAG,SAAS,CAAC;IAC1E;;OAEG;IACH,IAAI,CAAC,EAAE,aAAa,CAAC;QAAE,IAAI,CAAC,EAAE,QAAQ,CAAC;QAAC,SAAS,CAAC,EAAE,MAAM,CAAA;KAAE,CAAC,CAAC;IAC9D;;OAEG;IACH,KAAK,EAAE,MAAM,CAAC;IACd;;OAEG;IACH,IAAI,CAAC,EAAE,IAAI,GAAG,IAAI,CAAC;IACnB;;;;OAIG;IACH,QAAQ,CAAC,EAAE,OAAO,CAAC;CACpB,GAAG,SAAS,CAAC"}
|
|
@@ -3,5 +3,12 @@ import { TextInput } from './TextInput';
|
|
|
3
3
|
declare const meta: Meta<typeof TextInput>;
|
|
4
4
|
export default meta;
|
|
5
5
|
type Story = StoryObj<typeof TextInput>;
|
|
6
|
-
export declare const
|
|
6
|
+
export declare const Base: Story;
|
|
7
|
+
export declare const WithContent: Story;
|
|
8
|
+
export declare const WithError: Story;
|
|
9
|
+
export declare const DisabledTextInput: Story;
|
|
10
|
+
export declare const WithHiddenClearButton: Story;
|
|
11
|
+
export declare const WithClearCallback: Story;
|
|
12
|
+
export declare const EmailKeyboard: Story;
|
|
13
|
+
export declare const PhoneKeyboard: Story;
|
|
7
14
|
//# sourceMappingURL=TextInput.stories.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"TextInput.stories.d.ts","sourceRoot":"","sources":["../../../../../src/lib/Components/TextInput/TextInput.stories.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,IAAI,EAAE,QAAQ,EAAE,MAAM,kCAAkC,CAAC;
|
|
1
|
+
{"version":3,"file":"TextInput.stories.d.ts","sourceRoot":"","sources":["../../../../../src/lib/Components/TextInput/TextInput.stories.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,IAAI,EAAE,QAAQ,EAAE,MAAM,kCAAkC,CAAC;AAGvE,OAAO,EAAE,SAAS,EAAuB,MAAM,aAAa,CAAC;AAE7D,QAAA,MAAM,IAAI,EAAE,IAAI,CAAC,OAAO,SAAS,CAuChC,CAAC;AAEF,eAAe,IAAI,CAAC;AACpB,KAAK,KAAK,GAAG,QAAQ,CAAC,OAAO,SAAS,CAAC,CAAC;AAmBxC,eAAO,MAAM,IAAI,EAAE,KAQlB,CAAC;AAEF,eAAO,MAAM,WAAW,EAAE,KAQzB,CAAC;AAEF,eAAO,MAAM,SAAS,EAAE,KASvB,CAAC;AAEF,eAAO,MAAM,iBAAiB,EAAE,KAQ/B,CAAC;AAEF,eAAO,MAAM,qBAAqB,EAAE,KAUnC,CAAC;AAEF,eAAO,MAAM,iBAAiB,EAAE,KAc/B,CAAC;AAEF,eAAO,MAAM,aAAa,EAAE,KAQ3B,CAAC;AAEF,eAAO,MAAM,aAAa,EAAE,KAQ3B,CAAC"}
|
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
import { jsx as _jsx } from "react/jsx-runtime";
|
|
2
|
-
import {
|
|
2
|
+
import { useState } from 'react';
|
|
3
|
+
import { View } from 'react-native';
|
|
3
4
|
import { TextInput } from './TextInput';
|
|
4
5
|
const meta = {
|
|
5
6
|
component: TextInput,
|
|
@@ -13,15 +14,109 @@ const meta = {
|
|
|
13
14
|
},
|
|
14
15
|
},
|
|
15
16
|
},
|
|
17
|
+
argTypes: {
|
|
18
|
+
label: {
|
|
19
|
+
control: 'text',
|
|
20
|
+
description: 'Floating label text',
|
|
21
|
+
},
|
|
22
|
+
placeholder: {
|
|
23
|
+
control: 'text',
|
|
24
|
+
description: 'Placeholder text when input is empty',
|
|
25
|
+
},
|
|
26
|
+
errorMessage: {
|
|
27
|
+
control: 'text',
|
|
28
|
+
description: 'Error message to display below input',
|
|
29
|
+
},
|
|
30
|
+
editable: {
|
|
31
|
+
control: 'boolean',
|
|
32
|
+
description: 'Whether the input is editable',
|
|
33
|
+
},
|
|
34
|
+
hideClearButton: {
|
|
35
|
+
control: 'boolean',
|
|
36
|
+
description: 'Hide the clear button',
|
|
37
|
+
},
|
|
38
|
+
keyboardType: {
|
|
39
|
+
control: 'select',
|
|
40
|
+
options: ['default', 'email-address', 'numeric', 'phone-pad', 'url'],
|
|
41
|
+
description: 'Keyboard type for input',
|
|
42
|
+
},
|
|
43
|
+
},
|
|
16
44
|
};
|
|
17
45
|
export default meta;
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
46
|
+
const TextInputStory = (args) => {
|
|
47
|
+
const [value, setValue] = useState(args.initialValue ?? '');
|
|
48
|
+
return (_jsx(View, { className: 'flex min-h-400 items-center justify-center p-24', children: _jsx(View, { className: 'w-full max-w-320', children: _jsx(TextInput, { ...args, value: value, onChangeText: setValue, onClear: args.onClear }) }) }));
|
|
49
|
+
};
|
|
50
|
+
export const Base = {
|
|
51
|
+
render: (args) => _jsx(TextInputStory, { ...args }),
|
|
52
|
+
args: {
|
|
53
|
+
label: 'Username',
|
|
54
|
+
editable: true,
|
|
55
|
+
hideClearButton: false,
|
|
56
|
+
keyboardType: 'default',
|
|
57
|
+
},
|
|
58
|
+
};
|
|
59
|
+
export const WithContent = {
|
|
60
|
+
render: (args) => _jsx(TextInputStory, { ...args, initialValue: 'johndoe' }),
|
|
61
|
+
args: {
|
|
62
|
+
label: 'Username',
|
|
63
|
+
editable: true,
|
|
64
|
+
hideClearButton: false,
|
|
65
|
+
keyboardType: 'default',
|
|
66
|
+
},
|
|
67
|
+
};
|
|
68
|
+
export const WithError = {
|
|
69
|
+
render: (args) => _jsx(TextInputStory, { ...args, initialValue: 'ab' }),
|
|
70
|
+
args: {
|
|
71
|
+
label: 'Username',
|
|
72
|
+
errorMessage: 'Username must be at least 3 characters',
|
|
73
|
+
editable: true,
|
|
74
|
+
hideClearButton: false,
|
|
75
|
+
keyboardType: 'default',
|
|
76
|
+
},
|
|
77
|
+
};
|
|
78
|
+
export const DisabledTextInput = {
|
|
79
|
+
render: (args) => _jsx(TextInputStory, { ...args, initialValue: 'johndoe' }),
|
|
80
|
+
args: {
|
|
81
|
+
label: 'Username',
|
|
82
|
+
editable: false,
|
|
83
|
+
hideClearButton: false,
|
|
84
|
+
keyboardType: 'default',
|
|
85
|
+
},
|
|
86
|
+
};
|
|
87
|
+
export const WithHiddenClearButton = {
|
|
88
|
+
render: (args) => (_jsx(TextInputStory, { ...args, initialValue: 'Content with hidden clear' })),
|
|
89
|
+
args: {
|
|
90
|
+
label: 'Label',
|
|
91
|
+
editable: true,
|
|
92
|
+
hideClearButton: true,
|
|
93
|
+
keyboardType: 'default',
|
|
94
|
+
},
|
|
95
|
+
};
|
|
96
|
+
export const WithClearCallback = {
|
|
97
|
+
render: (args) => (_jsx(TextInputStory, { ...args, initialValue: 'Click clear to see callback', onClear: () => alert('Input cleared!') })),
|
|
98
|
+
args: {
|
|
99
|
+
label: 'Label',
|
|
100
|
+
editable: true,
|
|
101
|
+
hideClearButton: false,
|
|
102
|
+
keyboardType: 'default',
|
|
103
|
+
},
|
|
104
|
+
};
|
|
105
|
+
export const EmailKeyboard = {
|
|
106
|
+
render: (args) => _jsx(TextInputStory, { ...args }),
|
|
107
|
+
args: {
|
|
108
|
+
label: 'Email',
|
|
109
|
+
editable: true,
|
|
110
|
+
hideClearButton: false,
|
|
111
|
+
keyboardType: 'email-address',
|
|
112
|
+
},
|
|
113
|
+
};
|
|
114
|
+
export const PhoneKeyboard = {
|
|
115
|
+
render: (args) => _jsx(TextInputStory, { ...args }),
|
|
116
|
+
args: {
|
|
117
|
+
label: 'Phone Number',
|
|
118
|
+
editable: true,
|
|
119
|
+
hideClearButton: false,
|
|
120
|
+
keyboardType: 'phone-pad',
|
|
26
121
|
},
|
|
27
122
|
};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Tile.d.ts","sourceRoot":"","sources":["../../../../../src/lib/Components/Tile/Tile.tsx"],"names":[],"mappings":"AACA,OAAO,EAAE,EAAE,EAAc,MAAM,OAAO,CAAC;AAGvC,OAAO,EAAE,SAAS,EAAE,MAAM,SAAS,CAAC;
|
|
1
|
+
{"version":3,"file":"Tile.d.ts","sourceRoot":"","sources":["../../../../../src/lib/Components/Tile/Tile.tsx"],"names":[],"mappings":"AACA,OAAO,EAAE,EAAE,EAAc,MAAM,OAAO,CAAC;AAGvC,OAAO,EAAE,SAAS,EAAE,MAAM,SAAS,CAAC;AAiEpC;;;;;;;;;;;;;;;;;;;;GAoBG;AACH,eAAO,MAAM,IAAI,EAAE,EAAE,CAAC,SAAS,CAwD9B,CAAC"}
|
|
@@ -3,15 +3,61 @@ import { cva } from 'class-variance-authority';
|
|
|
3
3
|
import { forwardRef } from 'react';
|
|
4
4
|
import { View, Pressable, Text } from 'react-native';
|
|
5
5
|
const tileVariants = {
|
|
6
|
-
root: cva([
|
|
7
|
-
'relative flex w-full items-center gap-8 p-8',
|
|
8
|
-
'rounded-sm bg-base-transparent text-base transition-colors',
|
|
9
|
-
], {
|
|
6
|
+
root: cva(['relative flex w-full items-center gap-8 p-8', 'rounded-sm text-base'], {
|
|
10
7
|
variants: {
|
|
8
|
+
appearance: {
|
|
9
|
+
'no-background': 'bg-base-transparent',
|
|
10
|
+
card: 'bg-surface',
|
|
11
|
+
},
|
|
11
12
|
pressed: {
|
|
12
|
-
true: '
|
|
13
|
-
false: '
|
|
13
|
+
true: '',
|
|
14
|
+
false: '',
|
|
15
|
+
},
|
|
16
|
+
disabled: {
|
|
17
|
+
true: '',
|
|
18
|
+
false: '',
|
|
19
|
+
},
|
|
20
|
+
},
|
|
21
|
+
compoundVariants: [
|
|
22
|
+
{
|
|
23
|
+
appearance: 'no-background',
|
|
24
|
+
pressed: true,
|
|
25
|
+
disabled: false,
|
|
26
|
+
className: 'bg-base-transparent-pressed',
|
|
14
27
|
},
|
|
28
|
+
{
|
|
29
|
+
appearance: 'card',
|
|
30
|
+
pressed: true,
|
|
31
|
+
disabled: false,
|
|
32
|
+
className: 'bg-surface-pressed',
|
|
33
|
+
},
|
|
34
|
+
],
|
|
35
|
+
defaultVariants: {
|
|
36
|
+
appearance: 'no-background',
|
|
37
|
+
pressed: false,
|
|
38
|
+
disabled: false,
|
|
39
|
+
},
|
|
40
|
+
}),
|
|
41
|
+
title: cva('w-full truncate text-center body-3-semi-bold', {
|
|
42
|
+
variants: {
|
|
43
|
+
disabled: {
|
|
44
|
+
true: 'text-disabled',
|
|
45
|
+
false: 'text-base',
|
|
46
|
+
},
|
|
47
|
+
},
|
|
48
|
+
defaultVariants: {
|
|
49
|
+
disabled: false,
|
|
50
|
+
},
|
|
51
|
+
}),
|
|
52
|
+
description: cva('w-full overflow-hidden truncate text-center body-3', {
|
|
53
|
+
variants: {
|
|
54
|
+
disabled: {
|
|
55
|
+
true: 'text-disabled',
|
|
56
|
+
false: 'text-muted',
|
|
57
|
+
},
|
|
58
|
+
},
|
|
59
|
+
defaultVariants: {
|
|
60
|
+
disabled: false,
|
|
15
61
|
},
|
|
16
62
|
}),
|
|
17
63
|
};
|
|
@@ -36,6 +82,6 @@ const tileVariants = {
|
|
|
36
82
|
* onLongPress={() => console.log('Long pressed!')}
|
|
37
83
|
* />
|
|
38
84
|
*/
|
|
39
|
-
export const Tile = forwardRef(({ title, description, leadingContent, trailingContent, onPress, onLongPress, ...props }, ref) => {
|
|
40
|
-
return (_jsx(Pressable, { ref: ref, onPress: onPress, onLongPress: onLongPress, ...props, children: ({ pressed }) => (_jsx(View, { className: tileVariants.root({ pressed }), children: _jsxs(View, { className: '
|
|
85
|
+
export const Tile = forwardRef(({ title, description, leadingContent, trailingContent, appearance = 'no-background', disabled = false, onPress, onLongPress, ...props }, ref) => {
|
|
86
|
+
return (_jsx(Pressable, { ref: ref, onPress: onPress, onLongPress: onLongPress, disabled: disabled, ...props, children: ({ pressed }) => (_jsx(View, { className: tileVariants.root({ appearance, pressed, disabled }), children: _jsxs(View, { className: 'w-full items-center gap-8', children: [_jsx(View, { className: 'items-center justify-center', children: leadingContent }), _jsxs(View, { className: 'w-full items-center gap-4', children: [_jsxs(View, { className: 'w-full items-center', children: [_jsx(Text, { numberOfLines: 1, className: tileVariants.title({ disabled }), children: title }), description && (_jsx(Text, { numberOfLines: 1, className: tileVariants.description({ disabled }), children: description }))] }), trailingContent] })] }) })) }));
|
|
41
87
|
});
|