summaryrefslogtreecommitdiff
path: root/app/components/icon
diff options
context:
space:
mode:
authorThomas F. K. Jorna <[email protected]>2021-07-14 15:10:31 +0200
committerThomas F. K. Jorna <[email protected]>2021-07-14 15:10:31 +0200
commite5021187e96b78b53203bd95d08d6818aea47d17 (patch)
tree37ec45d00eb963db53cd4bb4f04a770414b351cc /app/components/icon
New Ignite 7.0.6 app
Diffstat (limited to 'app/components/icon')
-rw-r--r--app/components/icon/icon.props.ts21
-rw-r--r--app/components/icon/icon.story.tsx19
-rw-r--r--app/components/icon/icon.tsx19
-rw-r--r--app/components/icon/icons/arrow-left.pngbin0 -> 329 bytes
-rw-r--r--app/components/icon/icons/[email protected]bin0 -> 329 bytes
-rw-r--r--app/components/icon/icons/bullet.pngbin0 -> 204 bytes
-rw-r--r--app/components/icon/icons/[email protected]bin0 -> 204 bytes
-rw-r--r--app/components/icon/icons/index.ts6
8 files changed, 65 insertions, 0 deletions
diff --git a/app/components/icon/icon.props.ts b/app/components/icon/icon.props.ts
new file mode 100644
index 0000000..71ce0b7
--- /dev/null
+++ b/app/components/icon/icon.props.ts
@@ -0,0 +1,21 @@
+import { ImageStyle, StyleProp, ViewStyle } from "react-native"
+import { IconTypes } from "./icons"
+
+export interface IconProps {
+ /**
+ * Style overrides for the icon image
+ */
+ style?: StyleProp<ImageStyle>
+
+ /**
+ * Style overrides for the icon container
+ */
+
+ containerStyle?: StyleProp<ViewStyle>
+
+ /**
+ * The name of the icon
+ */
+
+ icon?: IconTypes
+}
diff --git a/app/components/icon/icon.story.tsx b/app/components/icon/icon.story.tsx
new file mode 100644
index 0000000..d119ed4
--- /dev/null
+++ b/app/components/icon/icon.story.tsx
@@ -0,0 +1,19 @@
+import * as React from "react"
+import { storiesOf } from "@storybook/react-native"
+import { StoryScreen, Story, UseCase } from "../../../storybook/views"
+import { Icon } from "./icon"
+
+declare let module
+
+storiesOf("Icon", module)
+ .addDecorator((fn) => <StoryScreen>{fn()}</StoryScreen>)
+ .add("Names", () => (
+ <Story>
+ <UseCase text="back" usage="The icon for going back">
+ <Icon icon="back" />
+ </UseCase>
+ <UseCase text="bullet" usage="The icon for a bullet point">
+ <Icon icon="bullet" />
+ </UseCase>
+ </Story>
+ ))
diff --git a/app/components/icon/icon.tsx b/app/components/icon/icon.tsx
new file mode 100644
index 0000000..4735e13
--- /dev/null
+++ b/app/components/icon/icon.tsx
@@ -0,0 +1,19 @@
+import * as React from "react"
+import { View, ImageStyle } from "react-native"
+import { AutoImage as Image } from "../auto-image/auto-image"
+import { IconProps } from "./icon.props"
+import { icons } from "./icons"
+
+const ROOT: ImageStyle = {
+ resizeMode: "contain",
+}
+
+export function Icon(props: IconProps) {
+ const { style: styleOverride, icon, containerStyle } = props
+
+ return (
+ <View style={containerStyle}>
+ <Image style={[ROOT, styleOverride]} source={icons[icon]} />
+ </View>
+ )
+}
diff --git a/app/components/icon/icons/arrow-left.png b/app/components/icon/icons/arrow-left.png
new file mode 100644
index 0000000..9d607d7
--- /dev/null
+++ b/app/components/icon/icons/arrow-left.png
Binary files differ
diff --git a/app/components/icon/icons/[email protected] b/app/components/icon/icons/[email protected]
new file mode 100644
index 0000000..9d607d7
--- /dev/null
+++ b/app/components/icon/icons/[email protected]
Binary files differ
diff --git a/app/components/icon/icons/bullet.png b/app/components/icon/icons/bullet.png
new file mode 100644
index 0000000..8fc256f
--- /dev/null
+++ b/app/components/icon/icons/bullet.png
Binary files differ
diff --git a/app/components/icon/icons/[email protected] b/app/components/icon/icons/[email protected]
new file mode 100644
index 0000000..8fc256f
--- /dev/null
+++ b/app/components/icon/icons/[email protected]
Binary files differ
diff --git a/app/components/icon/icons/index.ts b/app/components/icon/icons/index.ts
new file mode 100644
index 0000000..00e8a59
--- /dev/null
+++ b/app/components/icon/icons/index.ts
@@ -0,0 +1,6 @@
+export const icons = {
+ back: require("./arrow-left.png"),
+ bullet: require("./bullet.png"),
+}
+
+export type IconTypes = keyof typeof icons