diff --git a/icons/ic-accessibility.svg b/icons/ic-accessibility.svg new file mode 100644 index 00000000..7d913389 --- /dev/null +++ b/icons/ic-accessibility.svg @@ -0,0 +1,4 @@ + + + \ No newline at end of file diff --git a/icons/ic-account-circle.svg b/icons/ic-account-circle.svg new file mode 100644 index 00000000..53abd5a9 --- /dev/null +++ b/icons/ic-account-circle.svg @@ -0,0 +1,3 @@ + + + diff --git a/icons/ic-add.svg b/icons/ic-add.svg new file mode 100644 index 00000000..d92c119a --- /dev/null +++ b/icons/ic-add.svg @@ -0,0 +1,3 @@ + + + diff --git a/icons/ic-archive.svg b/icons/ic-archive.svg new file mode 100644 index 00000000..bc703480 --- /dev/null +++ b/icons/ic-archive.svg @@ -0,0 +1,4 @@ + + + + diff --git a/icons/ic-arrow-left.svg b/icons/ic-arrow-left.svg new file mode 100644 index 00000000..f80337cf --- /dev/null +++ b/icons/ic-arrow-left.svg @@ -0,0 +1,4 @@ + + + + \ No newline at end of file diff --git a/icons/ic-arrows-sort-down.svg b/icons/ic-arrows-sort-down.svg new file mode 100644 index 00000000..b7793bb2 --- /dev/null +++ b/icons/ic-arrows-sort-down.svg @@ -0,0 +1,5 @@ + + + + + \ No newline at end of file diff --git a/icons/ic-arrows-sort-up.svg b/icons/ic-arrows-sort-up.svg new file mode 100644 index 00000000..ddb85688 --- /dev/null +++ b/icons/ic-arrows-sort-up.svg @@ -0,0 +1,5 @@ + + + + + \ No newline at end of file diff --git a/icons/ic-authenticator.svg b/icons/ic-authenticator.svg new file mode 100644 index 00000000..e8dd720c --- /dev/null +++ b/icons/ic-authenticator.svg @@ -0,0 +1,4 @@ + + + \ No newline at end of file diff --git a/icons/ic-check-bold.svg b/icons/ic-check-bold.svg new file mode 100644 index 00000000..01df89c3 --- /dev/null +++ b/icons/ic-check-bold.svg @@ -0,0 +1,3 @@ + + + diff --git a/icons/ic-check-circle.svg b/icons/ic-check-circle.svg new file mode 100644 index 00000000..ddb5737f --- /dev/null +++ b/icons/ic-check-circle.svg @@ -0,0 +1,4 @@ + + + + \ No newline at end of file diff --git a/icons/ic-check.svg b/icons/ic-check.svg new file mode 100644 index 00000000..ff64da1b --- /dev/null +++ b/icons/ic-check.svg @@ -0,0 +1,3 @@ + + + diff --git a/icons/ic-chevron-down.svg b/icons/ic-chevron-down.svg new file mode 100644 index 00000000..190774ef --- /dev/null +++ b/icons/ic-chevron-down.svg @@ -0,0 +1,4 @@ + + + \ No newline at end of file diff --git a/icons/ic-chevron-right.svg b/icons/ic-chevron-right.svg new file mode 100644 index 00000000..6d39ca8a --- /dev/null +++ b/icons/ic-chevron-right.svg @@ -0,0 +1,3 @@ + + + diff --git a/icons/ic-close.svg b/icons/ic-close.svg new file mode 100644 index 00000000..cd22c9a5 --- /dev/null +++ b/icons/ic-close.svg @@ -0,0 +1,3 @@ + + + diff --git a/icons/ic-cloud-off.svg b/icons/ic-cloud-off.svg new file mode 100644 index 00000000..49015714 --- /dev/null +++ b/icons/ic-cloud-off.svg @@ -0,0 +1,4 @@ + + + + \ No newline at end of file diff --git a/icons/ic-code.svg b/icons/ic-code.svg new file mode 100644 index 00000000..79df4be8 --- /dev/null +++ b/icons/ic-code.svg @@ -0,0 +1,4 @@ + + + \ No newline at end of file diff --git a/icons/ic-copy.svg b/icons/ic-copy.svg new file mode 100644 index 00000000..98e2c93e --- /dev/null +++ b/icons/ic-copy.svg @@ -0,0 +1,3 @@ + + + diff --git a/icons/ic-download.svg b/icons/ic-download.svg new file mode 100644 index 00000000..e87e6516 --- /dev/null +++ b/icons/ic-download.svg @@ -0,0 +1,3 @@ + + + diff --git a/icons/ic-email.svg b/icons/ic-email.svg new file mode 100644 index 00000000..378c18e0 --- /dev/null +++ b/icons/ic-email.svg @@ -0,0 +1,4 @@ + + + + \ No newline at end of file diff --git a/icons/ic-eye-off.svg b/icons/ic-eye-off.svg new file mode 100644 index 00000000..76cf0901 --- /dev/null +++ b/icons/ic-eye-off.svg @@ -0,0 +1,4 @@ + + + + \ No newline at end of file diff --git a/icons/ic-eye.svg b/icons/ic-eye.svg new file mode 100644 index 00000000..9248599f --- /dev/null +++ b/icons/ic-eye.svg @@ -0,0 +1,4 @@ + + + + \ No newline at end of file diff --git a/icons/ic-folder.svg b/icons/ic-folder.svg new file mode 100644 index 00000000..db3aea31 --- /dev/null +++ b/icons/ic-folder.svg @@ -0,0 +1,3 @@ + + + diff --git a/icons/ic-hashtag.svg b/icons/ic-hashtag.svg new file mode 100644 index 00000000..4fbec792 --- /dev/null +++ b/icons/ic-hashtag.svg @@ -0,0 +1,3 @@ + + + diff --git a/icons/ic-help.svg b/icons/ic-help.svg new file mode 100644 index 00000000..dfec7f52 --- /dev/null +++ b/icons/ic-help.svg @@ -0,0 +1,4 @@ + + + \ No newline at end of file diff --git a/icons/ic-info.svg b/icons/ic-info.svg new file mode 100644 index 00000000..57567768 --- /dev/null +++ b/icons/ic-info.svg @@ -0,0 +1,4 @@ + + + \ No newline at end of file diff --git a/icons/ic-keyboard.svg b/icons/ic-keyboard.svg new file mode 100644 index 00000000..3d37ab60 --- /dev/null +++ b/icons/ic-keyboard.svg @@ -0,0 +1,4 @@ + + + \ No newline at end of file diff --git a/icons/ic-link-off.svg b/icons/ic-link-off.svg new file mode 100644 index 00000000..3b701266 --- /dev/null +++ b/icons/ic-link-off.svg @@ -0,0 +1,3 @@ + + + diff --git a/icons/ic-list-bulleted.svg b/icons/ic-list-bulleted.svg new file mode 100644 index 00000000..98c5a433 --- /dev/null +++ b/icons/ic-list-bulleted.svg @@ -0,0 +1,3 @@ + + + diff --git a/icons/ic-listed.svg b/icons/ic-listed.svg new file mode 100644 index 00000000..7179c323 --- /dev/null +++ b/icons/ic-listed.svg @@ -0,0 +1,5 @@ + + + \ No newline at end of file diff --git a/icons/ic-lock-filled.svg b/icons/ic-lock-filled.svg new file mode 100644 index 00000000..a71db279 --- /dev/null +++ b/icons/ic-lock-filled.svg @@ -0,0 +1,4 @@ + + + \ No newline at end of file diff --git a/icons/ic-lock.svg b/icons/ic-lock.svg new file mode 100644 index 00000000..946b674f --- /dev/null +++ b/icons/ic-lock.svg @@ -0,0 +1,4 @@ + + + + \ No newline at end of file diff --git a/icons/ic-markdown.svg b/icons/ic-markdown.svg new file mode 100644 index 00000000..1efac587 --- /dev/null +++ b/icons/ic-markdown.svg @@ -0,0 +1,4 @@ + + + \ No newline at end of file diff --git a/icons/ic-menu-arrow-down-alt.svg b/icons/ic-menu-arrow-down-alt.svg new file mode 100644 index 00000000..8e150eb1 --- /dev/null +++ b/icons/ic-menu-arrow-down-alt.svg @@ -0,0 +1,3 @@ + + + diff --git a/icons/ic-menu-arrow-down.svg b/icons/ic-menu-arrow-down.svg new file mode 100644 index 00000000..be1d6a48 --- /dev/null +++ b/icons/ic-menu-arrow-down.svg @@ -0,0 +1,4 @@ + + + + \ No newline at end of file diff --git a/icons/ic-menu-arrow-right.svg b/icons/ic-menu-arrow-right.svg new file mode 100644 index 00000000..ba5890ea --- /dev/null +++ b/icons/ic-menu-arrow-right.svg @@ -0,0 +1,3 @@ + + + diff --git a/icons/ic-menu-close.svg b/icons/ic-menu-close.svg new file mode 100644 index 00000000..74aedeeb --- /dev/null +++ b/icons/ic-menu-close.svg @@ -0,0 +1,4 @@ + + + \ No newline at end of file diff --git a/icons/ic-more.svg b/icons/ic-more.svg new file mode 100644 index 00000000..ec8fe110 --- /dev/null +++ b/icons/ic-more.svg @@ -0,0 +1,3 @@ + + + diff --git a/icons/ic-pencil-off.svg b/icons/ic-pencil-off.svg new file mode 100644 index 00000000..060d7c87 --- /dev/null +++ b/icons/ic-pencil-off.svg @@ -0,0 +1,3 @@ + + + diff --git a/icons/ic-pin-filled.svg b/icons/ic-pin-filled.svg new file mode 100644 index 00000000..4e5ae92a --- /dev/null +++ b/icons/ic-pin-filled.svg @@ -0,0 +1,3 @@ + + + \ No newline at end of file diff --git a/icons/ic-pin-off.svg b/icons/ic-pin-off.svg new file mode 100644 index 00000000..813118cc --- /dev/null +++ b/icons/ic-pin-off.svg @@ -0,0 +1,3 @@ + + + diff --git a/icons/ic-pin.svg b/icons/ic-pin.svg new file mode 100644 index 00000000..cf2de7c7 --- /dev/null +++ b/icons/ic-pin.svg @@ -0,0 +1,3 @@ + + + diff --git a/icons/ic-premium-feature.svg b/icons/ic-premium-feature.svg new file mode 100644 index 00000000..7b02bc1f --- /dev/null +++ b/icons/ic-premium-feature.svg @@ -0,0 +1,6 @@ + + + + \ No newline at end of file diff --git a/icons/ic-restore.svg b/icons/ic-restore.svg new file mode 100644 index 00000000..ab1c4420 --- /dev/null +++ b/icons/ic-restore.svg @@ -0,0 +1,3 @@ + + + diff --git a/icons/ic-security.svg b/icons/ic-security.svg new file mode 100644 index 00000000..06ab6033 --- /dev/null +++ b/icons/ic-security.svg @@ -0,0 +1,4 @@ + + + \ No newline at end of file diff --git a/icons/ic-server.svg b/icons/ic-server.svg new file mode 100644 index 00000000..faa3ea19 --- /dev/null +++ b/icons/ic-server.svg @@ -0,0 +1,4 @@ + + + + \ No newline at end of file diff --git a/icons/ic-settings.svg b/icons/ic-settings.svg new file mode 100644 index 00000000..2d2a2652 --- /dev/null +++ b/icons/ic-settings.svg @@ -0,0 +1,4 @@ + + + \ No newline at end of file diff --git a/icons/ic-signin.svg b/icons/ic-signin.svg new file mode 100644 index 00000000..f211b7c4 --- /dev/null +++ b/icons/ic-signin.svg @@ -0,0 +1,4 @@ + + + + \ No newline at end of file diff --git a/icons/ic-signout.svg b/icons/ic-signout.svg new file mode 100644 index 00000000..3b66c862 --- /dev/null +++ b/icons/ic-signout.svg @@ -0,0 +1,4 @@ + + + + \ No newline at end of file diff --git a/icons/ic-spreadsheets.svg b/icons/ic-spreadsheets.svg new file mode 100644 index 00000000..2566d69b --- /dev/null +++ b/icons/ic-spreadsheets.svg @@ -0,0 +1,4 @@ + + + \ No newline at end of file diff --git a/icons/ic-star.svg b/icons/ic-star.svg new file mode 100644 index 00000000..19072b96 --- /dev/null +++ b/icons/ic-star.svg @@ -0,0 +1,4 @@ + + + \ No newline at end of file diff --git a/icons/ic-sync.svg b/icons/ic-sync.svg new file mode 100644 index 00000000..b93f0ba9 --- /dev/null +++ b/icons/ic-sync.svg @@ -0,0 +1,4 @@ + + + + \ No newline at end of file diff --git a/icons/ic-tasks.svg b/icons/ic-tasks.svg new file mode 100644 index 00000000..c6b89554 --- /dev/null +++ b/icons/ic-tasks.svg @@ -0,0 +1,4 @@ + + + \ No newline at end of file diff --git a/icons/ic-text-paragraph.svg b/icons/ic-text-paragraph.svg new file mode 100644 index 00000000..376e8ad4 --- /dev/null +++ b/icons/ic-text-paragraph.svg @@ -0,0 +1,3 @@ + + + \ No newline at end of file diff --git a/icons/ic-text-rich.svg b/icons/ic-text-rich.svg new file mode 100644 index 00000000..d895ca8c --- /dev/null +++ b/icons/ic-text-rich.svg @@ -0,0 +1,4 @@ + + + \ No newline at end of file diff --git a/icons/ic-textbox-password.svg b/icons/ic-textbox-password.svg new file mode 100644 index 00000000..46c18912 --- /dev/null +++ b/icons/ic-textbox-password.svg @@ -0,0 +1,3 @@ + + + diff --git a/icons/ic-themes.svg b/icons/ic-themes.svg new file mode 100644 index 00000000..62ac3133 --- /dev/null +++ b/icons/ic-themes.svg @@ -0,0 +1,3 @@ + + + diff --git a/icons/ic-trash-filled.svg b/icons/ic-trash-filled.svg new file mode 100644 index 00000000..63f9575b --- /dev/null +++ b/icons/ic-trash-filled.svg @@ -0,0 +1,4 @@ + + + \ No newline at end of file diff --git a/icons/ic-trash-sweep.svg b/icons/ic-trash-sweep.svg new file mode 100644 index 00000000..dab4177a --- /dev/null +++ b/icons/ic-trash-sweep.svg @@ -0,0 +1,3 @@ + + + diff --git a/icons/ic-trash.svg b/icons/ic-trash.svg new file mode 100644 index 00000000..0890f396 --- /dev/null +++ b/icons/ic-trash.svg @@ -0,0 +1,3 @@ + + + diff --git a/icons/ic-tune.svg b/icons/ic-tune.svg new file mode 100644 index 00000000..7fa38a00 --- /dev/null +++ b/icons/ic-tune.svg @@ -0,0 +1,3 @@ + + + diff --git a/icons/ic-unarchive.svg b/icons/ic-unarchive.svg new file mode 100644 index 00000000..74f0a8d9 --- /dev/null +++ b/icons/ic-unarchive.svg @@ -0,0 +1,3 @@ + + + diff --git a/icons/ic-user.svg b/icons/ic-user.svg new file mode 100644 index 00000000..ee303b0e --- /dev/null +++ b/icons/ic-user.svg @@ -0,0 +1,4 @@ + + + \ No newline at end of file diff --git a/icons/ic-window.svg b/icons/ic-window.svg new file mode 100644 index 00000000..c94c68f8 --- /dev/null +++ b/icons/ic-window.svg @@ -0,0 +1,3 @@ + + + diff --git a/icons/il-notes.svg b/icons/il-notes.svg new file mode 100644 index 00000000..2d9cfc0b --- /dev/null +++ b/icons/il-notes.svg @@ -0,0 +1,35 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/src/components/Icon.tsx b/src/components/Icon.tsx new file mode 100644 index 00000000..b06afbc5 --- /dev/null +++ b/src/components/Icon.tsx @@ -0,0 +1,146 @@ +import React from 'react-native'; +import AccessibilityIcon from '../../icons/ic-accessibility.svg'; +import AccountCircleIcon from '../../icons/ic-account-circle.svg'; +import AddIcon from '../../icons/ic-add.svg'; +import ArchiveIcon from '../../icons/ic-archive.svg'; +import ArrowLeftIcon from '../../icons/ic-arrow-left.svg'; +import ArrowsSortDownIcon from '../../icons/ic-arrows-sort-down.svg'; +import ArrowsSortUpIcon from '../../icons/ic-arrows-sort-up.svg'; +import AuthenticatorIcon from '../../icons/ic-authenticator.svg'; +import CheckBoldIcon from '../../icons/ic-check-bold.svg'; +import CheckCircleIcon from '../../icons/ic-check-circle.svg'; +import CheckIcon from '../../icons/ic-check.svg'; +import ChevronDownIcon from '../../icons/ic-chevron-down.svg'; +import ChevronRightIcon from '../../icons/ic-chevron-right.svg'; +import CloseIcon from '../../icons/ic-close.svg'; +import CloudOffIcon from '../../icons/ic-cloud-off.svg'; +import CodeIcon from '../../icons/ic-code.svg'; +import CopyIcon from '../../icons/ic-copy.svg'; +import DownloadIcon from '../../icons/ic-download.svg'; +import EmailIcon from '../../icons/ic-email.svg'; +import EyeOffIcon from '../../icons/ic-eye-off.svg'; +import EyeIcon from '../../icons/ic-eye.svg'; +import HashtagIcon from '../../icons/ic-hashtag.svg'; +import HelpIcon from '../../icons/ic-help.svg'; +import InfoIcon from '../../icons/ic-info.svg'; +import KeyboardIcon from '../../icons/ic-keyboard.svg'; +import LinkOffIcon from '../../icons/ic-link-off.svg'; +import ListBulleted from '../../icons/ic-list-bulleted.svg'; +import ListedIcon from '../../icons/ic-listed.svg'; +import LockFilledIcon from '../../icons/ic-lock-filled.svg'; +import LockIcon from '../../icons/ic-lock.svg'; +import MarkdownIcon from '../../icons/ic-markdown.svg'; +import MenuArrowDownAlt from '../../icons/ic-menu-arrow-down-alt.svg'; +import MenuArrowDownIcon from '../../icons/ic-menu-arrow-down.svg'; +import MenuArrowRight from '../../icons/ic-menu-arrow-right.svg'; +import MenuCloseIcon from '../../icons/ic-menu-close.svg'; +import MoreIcon from '../../icons/ic-more.svg'; +import PencilOffIcon from '../../icons/ic-pencil-off.svg'; +import PinFilledIcon from '../../icons/ic-pin-filled.svg'; +import UnpinIcon from '../../icons/ic-pin-off.svg'; +import PinIcon from '../../icons/ic-pin.svg'; +import PremiumFeatureIcon from '../../icons/ic-premium-feature.svg'; +import RestoreIcon from '../../icons/ic-restore.svg'; +import SecurityIcon from '../../icons/ic-security.svg'; +import ServerIcon from '../../icons/ic-server.svg'; +import SettingsIcon from '../../icons/ic-settings.svg'; +import SignInIcon from '../../icons/ic-signin.svg'; +import SignOutIcon from '../../icons/ic-signout.svg'; +import SpreadsheetsIcon from '../../icons/ic-spreadsheets.svg'; +import StarIcon from '../../icons/ic-star.svg'; +import SyncIcon from '../../icons/ic-sync.svg'; +import TasksIcon from '../../icons/ic-tasks.svg'; +import PlainTextIcon from '../../icons/ic-text-paragraph.svg'; +import RichTextIcon from '../../icons/ic-text-rich.svg'; +import PasswordIcon from '../../icons/ic-textbox-password.svg'; +import ThemesIcon from '../../icons/ic-themes.svg'; +import TrashFilledIcon from '../../icons/ic-trash-filled.svg'; +import TrashSweepIcon from '../../icons/ic-trash-sweep.svg'; +import TrashIcon from '../../icons/ic-trash.svg'; +import TuneIcon from '../../icons/ic-tune.svg'; +import UnarchiveIcon from '../../icons/ic-unarchive.svg'; +import UserIcon from '../../icons/ic-user.svg'; +import WindowIcon from '../../icons/ic-window.svg'; + +const ICONS = { + 'menu-arrow-down-alt': MenuArrowDownAlt, + 'menu-arrow-right': MenuArrowRight, + 'arrows-sort-up': ArrowsSortUpIcon, + 'arrows-sort-down': ArrowsSortDownIcon, + lock: LockIcon, + 'lock-filled': LockFilledIcon, + eye: EyeIcon, + 'eye-off': EyeOffIcon, + server: ServerIcon, + email: EmailIcon, + 'chevron-down': ChevronDownIcon, + 'arrow-left': ArrowLeftIcon, + sync: SyncIcon, + 'check-circle': CheckCircleIcon, + signIn: SignInIcon, + signOut: SignOutIcon, + 'cloud-off': CloudOffIcon, + 'pencil-off': PencilOffIcon, + 'plain-text': PlainTextIcon, + 'rich-text': RichTextIcon, + code: CodeIcon, + markdown: MarkdownIcon, + authenticator: AuthenticatorIcon, + spreadsheets: SpreadsheetsIcon, + tasks: TasksIcon, + trash: TrashIcon, + 'trash-filled': TrashFilledIcon, + pin: PinIcon, + 'pin-filled': PinFilledIcon, + unpin: UnpinIcon, + archive: ArchiveIcon, + unarchive: UnarchiveIcon, + hashtag: HashtagIcon, + 'chevron-right': ChevronRightIcon, + restore: RestoreIcon, + close: CloseIcon, + password: PasswordIcon, + 'trash-sweep': TrashSweepIcon, + more: MoreIcon, + tune: TuneIcon, + accessibility: AccessibilityIcon, + add: AddIcon, + help: HelpIcon, + keyboard: KeyboardIcon, + 'list-bulleted': ListBulleted, + 'link-off': LinkOffIcon, + listed: ListedIcon, + security: SecurityIcon, + settings: SettingsIcon, + star: StarIcon, + themes: ThemesIcon, + user: UserIcon, + copy: CopyIcon, + download: DownloadIcon, + info: InfoIcon, + check: CheckIcon, + 'check-bold': CheckBoldIcon, + 'account-circle': AccountCircleIcon, + 'menu-arrow-down': MenuArrowDownIcon, + 'menu-close': MenuCloseIcon, + window: WindowIcon, + 'premium-feature': PremiumFeatureIcon, +}; + +export type IconType = keyof typeof ICONS; + +type Props = { + type: IconType; + className?: string; + ariaHidden?: boolean; +}; + +export const Icon = ({ type, className = '', ariaHidden = false }: Props) => { + const IconComponent = ICONS[type]; + return ( + + ); +};