From 9f21284f73aa1b7e2dddc773d9374cc7b3b1b117 Mon Sep 17 00:00:00 2001 From: joseph4sure Date: Thu, 16 Jul 2026 01:47:23 -0700 Subject: [PATCH 1/2] =?UTF-8?q?Add=20kivex-react-native=20package=20with?= =?UTF-8?q?=20auto=E2=80=91generated=20icons?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../generator/IconTemplate.ts | 32 +++++ .../kivex-react-native/generator/build.ts | 128 ++++++++++++++++++ .../kivex-react-native/generator/watch.ts | 70 ++++++++++ packages/kivex-react-native/package.json | 36 +++++ .../src/components/IconBase.tsx | 38 ++++++ .../kivex-react-native/src/icons/alert.tsx | 30 ++++ .../kivex-react-native/src/icons/angry.tsx | 30 ++++ .../kivex-react-native/src/icons/annoyed.tsx | 30 ++++ .../src/icons/arrow-left-from-line.tsx | 30 ++++ .../src/icons/arrow-left-to-line.tsx | 30 ++++ .../src/icons/arrow-left.tsx | 30 ++++ .../src/icons/arrow-right-from-line.tsx | 30 ++++ .../src/icons/arrow-right-to-line.tsx | 30 ++++ .../src/icons/arrow-up-left.tsx | 30 ++++ .../src/icons/arrow-up-right.tsx | 30 ++++ .../src/icons/bar-chart.tsx | 30 ++++ .../src/icons/bell-ring.tsx | 30 ++++ .../kivex-react-native/src/icons/bookmark.tsx | 30 ++++ .../src/icons/calendar-check.tsx | 30 ++++ .../src/icons/calendar-days.tsx | 30 ++++ .../src/icons/calendar-x.tsx | 30 ++++ .../kivex-react-native/src/icons/calendar.tsx | 30 ++++ .../kivex-react-native/src/icons/chat.tsx | 30 ++++ .../kivex-react-native/src/icons/check.tsx | 30 ++++ .../src/icons/chevron-down.tsx | 30 ++++ .../src/icons/chevron-up.tsx | 30 ++++ .../src/icons/chevrons-down-up.tsx | 30 ++++ .../src/icons/chevrons-down.tsx | 30 ++++ .../src/icons/chevrons-up-down.tsx | 30 ++++ .../src/icons/chevrons-up.tsx | 30 ++++ .../src/icons/circle-arrow-left.tsx | 30 ++++ .../src/icons/circle-arrow-out-up-left.tsx | 30 ++++ .../src/icons/circle-arrow-out-up-right.tsx | 30 ++++ .../src/icons/circle-chevron-down.tsx | 30 ++++ .../src/icons/circle-chevron-up.tsx | 30 ++++ .../src/icons/clock-arrow-left.tsx | 30 ++++ .../icons/column-chart-plain-increasing.tsx | 30 ++++ .../src/icons/column-chart.tsx | 30 ++++ .../src/icons/credit-card.tsx | 30 ++++ .../kivex-react-native/src/icons/download.tsx | 30 ++++ .../src/icons/draft-book.tsx | 30 ++++ .../src/icons/external-link.tsx | 30 ++++ .../src/icons/eye-closed.tsx | 30 ++++ packages/kivex-react-native/src/icons/eye.tsx | 30 ++++ .../kivex-react-native/src/icons/file.tsx | 30 ++++ .../kivex-react-native/src/icons/folder.tsx | 30 ++++ .../kivex-react-native/src/icons/frown.tsx | 30 ++++ .../src/icons/grid-2x2-plus.tsx | 30 ++++ .../src/icons/grid-2x2-x.tsx | 30 ++++ .../kivex-react-native/src/icons/grid-2x2.tsx | 30 ++++ .../kivex-react-native/src/icons/grid-3x3.tsx | 30 ++++ .../kivex-react-native/src/icons/heart.tsx | 30 ++++ .../kivex-react-native/src/icons/home.tsx | 30 ++++ .../src/icons/house-antenna.tsx | 30 ++++ .../kivex-react-native/src/icons/laugh.tsx | 30 ++++ .../src/icons/layout-dashboard.tsx | 30 ++++ .../src/icons/layout-grid.tsx | 30 ++++ .../src/icons/list-chevrons-down-up.tsx | 30 ++++ .../src/icons/list-chevrons-up-down.tsx | 30 ++++ packages/kivex-react-native/src/icons/meh.tsx | 30 ++++ .../src/icons/menu-vertical.tsx | 30 ++++ .../kivex-react-native/src/icons/menu.tsx | 30 ++++ .../kivex-react-native/src/icons/mic-off.tsx | 30 ++++ .../src/icons/mic-vintage.tsx | 30 ++++ packages/kivex-react-native/src/icons/mic.tsx | 30 ++++ .../kivex-react-native/src/icons/moon.tsx | 30 ++++ .../src/icons/notification.tsx | 30 ++++ .../src/icons/paperclip.tsx | 30 ++++ .../kivex-react-native/src/icons/pen-line.tsx | 30 ++++ .../src/icons/phone-forward.tsx | 30 ++++ .../src/icons/phone-incoming.tsx | 30 ++++ .../src/icons/phone-outgoing.tsx | 30 ++++ .../kivex-react-native/src/icons/phone-x.tsx | 30 ++++ .../kivex-react-native/src/icons/phone.tsx | 30 ++++ .../src/icons/pie-chart.tsx | 30 ++++ .../kivex-react-native/src/icons/play.tsx | 30 ++++ .../kivex-react-native/src/icons/plus.tsx | 30 ++++ .../kivex-react-native/src/icons/profile.tsx | 30 ++++ .../kivex-react-native/src/icons/search.tsx | 30 ++++ .../kivex-react-native/src/icons/send.tsx | 30 ++++ .../src/icons/settings-control.tsx | 30 ++++ .../kivex-react-native/src/icons/settings.tsx | 30 ++++ .../src/icons/shield-check.tsx | 30 ++++ .../src/icons/shopping-bag.tsx | 30 ++++ .../src/icons/sliders-horizontal.tsx | 30 ++++ .../src/icons/sliders-vertical.tsx | 30 ++++ .../src/icons/smile-plus.tsx | 30 ++++ .../kivex-react-native/src/icons/smile.tsx | 30 ++++ .../src/icons/square-arrow-out-up-left.tsx | 30 ++++ .../src/icons/square-arrow-out-up-right.tsx | 30 ++++ .../src/icons/square-arrow-up-left.tsx | 30 ++++ .../src/icons/square-arrow-up-right.tsx | 30 ++++ .../src/icons/square-chevron-down.tsx | 30 ++++ .../src/icons/square-chevron-up.tsx | 30 ++++ .../kivex-react-native/src/icons/star.tsx | 30 ++++ .../src/icons/swap-horizontal.tsx | 30 ++++ .../src/icons/swap-vertical.tsx | 30 ++++ .../src/icons/thumbs-down.tsx | 30 ++++ .../src/icons/thumbs-up.tsx | 30 ++++ .../kivex-react-native/src/icons/trash-2.tsx | 30 ++++ .../kivex-react-native/src/icons/trash.tsx | 30 ++++ .../src/icons/user-check.tsx | 30 ++++ .../kivex-react-native/src/icons/user.tsx | 30 ++++ .../kivex-react-native/src/icons/users.tsx | 30 ++++ .../src/icons/video-camera.tsx | 30 ++++ .../kivex-react-native/src/icons/video.tsx | 30 ++++ packages/kivex-react-native/src/icons/x.tsx | 30 ++++ packages/kivex-react-native/src/index.ts | 103 ++++++++++++++ .../kivex-react-native/src/types/IconProps.ts | 7 + 109 files changed, 3474 insertions(+) create mode 100644 packages/kivex-react-native/generator/IconTemplate.ts create mode 100644 packages/kivex-react-native/generator/build.ts create mode 100644 packages/kivex-react-native/generator/watch.ts create mode 100644 packages/kivex-react-native/package.json create mode 100644 packages/kivex-react-native/src/components/IconBase.tsx create mode 100644 packages/kivex-react-native/src/icons/alert.tsx create mode 100644 packages/kivex-react-native/src/icons/angry.tsx create mode 100644 packages/kivex-react-native/src/icons/annoyed.tsx create mode 100644 packages/kivex-react-native/src/icons/arrow-left-from-line.tsx create mode 100644 packages/kivex-react-native/src/icons/arrow-left-to-line.tsx create mode 100644 packages/kivex-react-native/src/icons/arrow-left.tsx create mode 100644 packages/kivex-react-native/src/icons/arrow-right-from-line.tsx create mode 100644 packages/kivex-react-native/src/icons/arrow-right-to-line.tsx create mode 100644 packages/kivex-react-native/src/icons/arrow-up-left.tsx create mode 100644 packages/kivex-react-native/src/icons/arrow-up-right.tsx create mode 100644 packages/kivex-react-native/src/icons/bar-chart.tsx create mode 100644 packages/kivex-react-native/src/icons/bell-ring.tsx create mode 100644 packages/kivex-react-native/src/icons/bookmark.tsx create mode 100644 packages/kivex-react-native/src/icons/calendar-check.tsx create mode 100644 packages/kivex-react-native/src/icons/calendar-days.tsx create mode 100644 packages/kivex-react-native/src/icons/calendar-x.tsx create mode 100644 packages/kivex-react-native/src/icons/calendar.tsx create mode 100644 packages/kivex-react-native/src/icons/chat.tsx create mode 100644 packages/kivex-react-native/src/icons/check.tsx create mode 100644 packages/kivex-react-native/src/icons/chevron-down.tsx create mode 100644 packages/kivex-react-native/src/icons/chevron-up.tsx create mode 100644 packages/kivex-react-native/src/icons/chevrons-down-up.tsx create mode 100644 packages/kivex-react-native/src/icons/chevrons-down.tsx create mode 100644 packages/kivex-react-native/src/icons/chevrons-up-down.tsx create mode 100644 packages/kivex-react-native/src/icons/chevrons-up.tsx create mode 100644 packages/kivex-react-native/src/icons/circle-arrow-left.tsx create mode 100644 packages/kivex-react-native/src/icons/circle-arrow-out-up-left.tsx create mode 100644 packages/kivex-react-native/src/icons/circle-arrow-out-up-right.tsx create mode 100644 packages/kivex-react-native/src/icons/circle-chevron-down.tsx create mode 100644 packages/kivex-react-native/src/icons/circle-chevron-up.tsx create mode 100644 packages/kivex-react-native/src/icons/clock-arrow-left.tsx create mode 100644 packages/kivex-react-native/src/icons/column-chart-plain-increasing.tsx create mode 100644 packages/kivex-react-native/src/icons/column-chart.tsx create mode 100644 packages/kivex-react-native/src/icons/credit-card.tsx create mode 100644 packages/kivex-react-native/src/icons/download.tsx create mode 100644 packages/kivex-react-native/src/icons/draft-book.tsx create mode 100644 packages/kivex-react-native/src/icons/external-link.tsx create mode 100644 packages/kivex-react-native/src/icons/eye-closed.tsx create mode 100644 packages/kivex-react-native/src/icons/eye.tsx create mode 100644 packages/kivex-react-native/src/icons/file.tsx create mode 100644 packages/kivex-react-native/src/icons/folder.tsx create mode 100644 packages/kivex-react-native/src/icons/frown.tsx create mode 100644 packages/kivex-react-native/src/icons/grid-2x2-plus.tsx create mode 100644 packages/kivex-react-native/src/icons/grid-2x2-x.tsx create mode 100644 packages/kivex-react-native/src/icons/grid-2x2.tsx create mode 100644 packages/kivex-react-native/src/icons/grid-3x3.tsx create mode 100644 packages/kivex-react-native/src/icons/heart.tsx create mode 100644 packages/kivex-react-native/src/icons/home.tsx create mode 100644 packages/kivex-react-native/src/icons/house-antenna.tsx create mode 100644 packages/kivex-react-native/src/icons/laugh.tsx create mode 100644 packages/kivex-react-native/src/icons/layout-dashboard.tsx create mode 100644 packages/kivex-react-native/src/icons/layout-grid.tsx create mode 100644 packages/kivex-react-native/src/icons/list-chevrons-down-up.tsx create mode 100644 packages/kivex-react-native/src/icons/list-chevrons-up-down.tsx create mode 100644 packages/kivex-react-native/src/icons/meh.tsx create mode 100644 packages/kivex-react-native/src/icons/menu-vertical.tsx create mode 100644 packages/kivex-react-native/src/icons/menu.tsx create mode 100644 packages/kivex-react-native/src/icons/mic-off.tsx create mode 100644 packages/kivex-react-native/src/icons/mic-vintage.tsx create mode 100644 packages/kivex-react-native/src/icons/mic.tsx create mode 100644 packages/kivex-react-native/src/icons/moon.tsx create mode 100644 packages/kivex-react-native/src/icons/notification.tsx create mode 100644 packages/kivex-react-native/src/icons/paperclip.tsx create mode 100644 packages/kivex-react-native/src/icons/pen-line.tsx create mode 100644 packages/kivex-react-native/src/icons/phone-forward.tsx create mode 100644 packages/kivex-react-native/src/icons/phone-incoming.tsx create mode 100644 packages/kivex-react-native/src/icons/phone-outgoing.tsx create mode 100644 packages/kivex-react-native/src/icons/phone-x.tsx create mode 100644 packages/kivex-react-native/src/icons/phone.tsx create mode 100644 packages/kivex-react-native/src/icons/pie-chart.tsx create mode 100644 packages/kivex-react-native/src/icons/play.tsx create mode 100644 packages/kivex-react-native/src/icons/plus.tsx create mode 100644 packages/kivex-react-native/src/icons/profile.tsx create mode 100644 packages/kivex-react-native/src/icons/search.tsx create mode 100644 packages/kivex-react-native/src/icons/send.tsx create mode 100644 packages/kivex-react-native/src/icons/settings-control.tsx create mode 100644 packages/kivex-react-native/src/icons/settings.tsx create mode 100644 packages/kivex-react-native/src/icons/shield-check.tsx create mode 100644 packages/kivex-react-native/src/icons/shopping-bag.tsx create mode 100644 packages/kivex-react-native/src/icons/sliders-horizontal.tsx create mode 100644 packages/kivex-react-native/src/icons/sliders-vertical.tsx create mode 100644 packages/kivex-react-native/src/icons/smile-plus.tsx create mode 100644 packages/kivex-react-native/src/icons/smile.tsx create mode 100644 packages/kivex-react-native/src/icons/square-arrow-out-up-left.tsx create mode 100644 packages/kivex-react-native/src/icons/square-arrow-out-up-right.tsx create mode 100644 packages/kivex-react-native/src/icons/square-arrow-up-left.tsx create mode 100644 packages/kivex-react-native/src/icons/square-arrow-up-right.tsx create mode 100644 packages/kivex-react-native/src/icons/square-chevron-down.tsx create mode 100644 packages/kivex-react-native/src/icons/square-chevron-up.tsx create mode 100644 packages/kivex-react-native/src/icons/star.tsx create mode 100644 packages/kivex-react-native/src/icons/swap-horizontal.tsx create mode 100644 packages/kivex-react-native/src/icons/swap-vertical.tsx create mode 100644 packages/kivex-react-native/src/icons/thumbs-down.tsx create mode 100644 packages/kivex-react-native/src/icons/thumbs-up.tsx create mode 100644 packages/kivex-react-native/src/icons/trash-2.tsx create mode 100644 packages/kivex-react-native/src/icons/trash.tsx create mode 100644 packages/kivex-react-native/src/icons/user-check.tsx create mode 100644 packages/kivex-react-native/src/icons/user.tsx create mode 100644 packages/kivex-react-native/src/icons/users.tsx create mode 100644 packages/kivex-react-native/src/icons/video-camera.tsx create mode 100644 packages/kivex-react-native/src/icons/video.tsx create mode 100644 packages/kivex-react-native/src/icons/x.tsx create mode 100644 packages/kivex-react-native/src/index.ts create mode 100644 packages/kivex-react-native/src/types/IconProps.ts diff --git a/packages/kivex-react-native/generator/IconTemplate.ts b/packages/kivex-react-native/generator/IconTemplate.ts new file mode 100644 index 0000000..24344fe --- /dev/null +++ b/packages/kivex-react-native/generator/IconTemplate.ts @@ -0,0 +1,32 @@ +export function generateIconCode(svgChildren: string, componentName: string): string { + return `import { forwardRef } from 'react'; +import { IconBase } from '../components/IconBase'; +import type { IconProps } from '../types/IconProps'; + +export const ${componentName} = forwardRef( + ( + { + + size = 24, + color = 'currentColor', + strokeWidth = 2, + ...props + }, + ref + ) => { + return ( + + ${svgChildren} + + ); + } +); + +${componentName}.displayName = '${componentName}';`; +} \ No newline at end of file diff --git a/packages/kivex-react-native/generator/build.ts b/packages/kivex-react-native/generator/build.ts new file mode 100644 index 0000000..7c8cde8 --- /dev/null +++ b/packages/kivex-react-native/generator/build.ts @@ -0,0 +1,128 @@ +import path from 'path'; +import { fileURLToPath } from 'url'; +import fg from 'fast-glob'; +import fs from 'fs-extra'; +import { transform } from '@svgr/core'; +import { generateIconCode } from './IconTemplate'; + +const __filename = fileURLToPath(import.meta.url); +const __dirname = path.dirname(__filename); + +export async function writeFileIfChanged( + filePath: string, + newContent: string, + force: boolean +): Promise { + const exists = await fs.pathExists(filePath); + if (!exists) { + await fs.writeFile(filePath, newContent, 'utf8'); + return true; + } + const currentContent = await fs.readFile(filePath, 'utf8'); + if (force || currentContent !== newContent) { + await fs.writeFile(filePath, newContent, 'utf8'); + return true; + } + return false; +} + +function extractSvgChildren(componentCode: string): string { + const match = componentCode.match(/]*>([\s\S]*?)<\/svg>/); + if (!match) { + throw new Error('Could not find SVG element in generated code.'); + } + return match[1].trim(); +} + +export async function generateIcons(options?: { force?: boolean }): Promise { + const force = options?.force ?? process.argv.includes('--force'); + + const ROOT_DIRECTORY = path.resolve(__dirname, '..'); + const ICONS_DIRECTORY = path.join(ROOT_DIRECTORY, '../../icons'); + const OUTPUT_DIRECTORY = path.join(ROOT_DIRECTORY, 'src', 'icons'); + + await fs.ensureDir(OUTPUT_DIRECTORY); + + const svgFiles = await fg('**/*.svg', { + cwd: ICONS_DIRECTORY, + absolute: true, + }); + + if (svgFiles.length === 0) { + console.warn('āš ļø No SVG files found in', ICONS_DIRECTORY); + return; + } + + const generatedComponents: string[] = []; + const exportStatements: string[] = []; + + for (const filePath of svgFiles) { + const svgContent = await fs.readFile(filePath, 'utf8'); + const fileName = path.basename(filePath, '.svg'); + const componentName = fileName + .replace(/[-_](.)/g, (_, char) => char.toUpperCase()) + .replace(/^./, (char) => char.toUpperCase()); + + const svgrResult = await transform( + svgContent, + { + typescript: true, + jsxRuntime: 'automatic', + exportType: 'default', + plugins: ['@svgr/plugin-jsx'], + expandProps: false, + dimensions: false, + svgProps: {}, + }, + { componentName } + ); + + const childrenJsx = extractSvgChildren(svgrResult); + const finalCode = generateIconCode(childrenJsx, componentName); + + const outputFile = path.join(OUTPUT_DIRECTORY, `${fileName}.tsx`); + const written = await writeFileIfChanged(outputFile, finalCode, force); + if (written) { + console.log(`āœ… Generated/updated ${fileName}.tsx`); + } else { + console.log(`ā© Skipped ${fileName}.tsx (unchanged)`); + } + + generatedComponents.push(fileName); + exportStatements.push(`export { ${componentName} } from './icons/${fileName}';`); + } + + // Remove orphaned component files + const existingFiles = await fs.readdir(OUTPUT_DIRECTORY); + for (const file of existingFiles) { + if (file === 'index.ts') continue; + if (!file.endsWith('.tsx')) continue; + const baseName = path.basename(file, '.tsx'); + if (!generatedComponents.includes(baseName)) { + const filePath = path.join(OUTPUT_DIRECTORY, file); + await fs.remove(filePath); + console.log(`šŸ—‘ļø Removed orphaned ${file}`); + } + } + + const mainIndexContent = + `export type { IconProps } from './types/IconProps';\n` + + exportStatements.join('\n') + + '\n'; + + const mainIndexPath = path.join(ROOT_DIRECTORY, 'src', 'index.ts'); + const written = await writeFileIfChanged(mainIndexPath, mainIndexContent, force); + if (written) { + console.log(`šŸ“¦ Main entry updated at ${mainIndexPath}`); + } else { + console.log(`ā© Skipped ${mainIndexPath} (unchanged)`); + } +} + +// Reliable: compare actual file paths +if (process.argv[1] === __filename) { + generateIcons().catch((err) => { + console.error('āŒ Error:', err); + process.exit(1); + }); +} \ No newline at end of file diff --git a/packages/kivex-react-native/generator/watch.ts b/packages/kivex-react-native/generator/watch.ts new file mode 100644 index 0000000..2c021f0 --- /dev/null +++ b/packages/kivex-react-native/generator/watch.ts @@ -0,0 +1,70 @@ +import path from 'path'; +import { fileURLToPath } from 'url'; +import { generateIcons } from './build'; + +const __filename = fileURLToPath(import.meta.url); +const __dirname = path.dirname(__filename); + +// Correct path: root icons folder (three levels up from generator) +const ICONS_DIRECTORY = path.join(__dirname, '../../../icons'); + +async function watch() { + let chokidar; + try { + chokidar = await import('chokidar'); + console.log('āœ… chokidar loaded successfully'); + } catch (err) { + console.error('āŒ Failed to load chokidar. Please install it:', err); + process.exit(1); + } + + // Initial generation + await generateIcons(); + + console.log(`šŸ‘€ Watching ${ICONS_DIRECTORY} for changes...`); + console.log(' Press Ctrl+C to stop.'); + + let timeout: NodeJS.Timeout | null = null; + let isRunning = false; + + const watcher = chokidar.watch(ICONS_DIRECTORY, { + persistent: true, + ignoreInitial: true, + depth: 10, + }); + + watcher.on('all', (event, filePath) => { + if (!filePath.endsWith('.svg')) return; + + if (timeout) clearTimeout(timeout); + timeout = setTimeout(() => { + if (isRunning) return; + isRunning = true; + console.log(`\nšŸ”„ Change detected (${event}), regenerating...`); + generateIcons() + .catch((err) => console.error('āŒ Error during regeneration:', err)) + .finally(() => { + isRunning = false; + timeout = null; + }); + }, 200); + }); + + process.on('SIGINT', () => { + console.log('\nšŸ‘‹ Stopping watch...'); + watcher.close(); + process.exit(0); + }); + + watcher.on('ready', () => { + console.log('āœ… Watcher is ready and monitoring for changes.'); + }); +} + +// Only run when executed directly +if (process.argv[1] === __filename) { + watch().catch((err) => { + console.error('āŒ Error in watch:', err); + process.exit(1); + }); +} \ No newline at end of file diff --git a/packages/kivex-react-native/package.json b/packages/kivex-react-native/package.json new file mode 100644 index 0000000..ae994dc --- /dev/null +++ b/packages/kivex-react-native/package.json @@ -0,0 +1,36 @@ +{ + "name": "kivex-react-native", + "version": "0.0.1", + "description": "Kivex icon library for React Native", + "main": "src/index.ts", + "types": "src/index.ts", + "scripts": { + "generate": "tsx generator/build.ts", + "watch": "tsx generator/watch.ts" + }, + "peerDependencies": { + "react": ">=17.0.0", + "react-native": ">=0.64.0" + }, + "devDependencies": { + "@types/fs-extra": "^11.0.4", + "@types/node": "^20.11.0", + "chokidar": "^3.6.0", + "fast-glob": "^3.3.2", + "fs-extra": "^11.2.0", + "ts-node": "^10.9.2", + "tsx": "^4.23.1", + "typescript": "^5.3.3" + }, + "files": [ + "src" + ], + "keywords": [ + "react-native", + "icons", + "svg", + "kivex" + ], + "license": "MIT", + "type": "module" +} diff --git a/packages/kivex-react-native/src/components/IconBase.tsx b/packages/kivex-react-native/src/components/IconBase.tsx new file mode 100644 index 0000000..35ecb25 --- /dev/null +++ b/packages/kivex-react-native/src/components/IconBase.tsx @@ -0,0 +1,38 @@ +import { ReactNode } from 'react'; +import { forwardRef } from 'react'; +import type { IconProps } from '../types/IconProps'; + +interface IconBaseProps extends IconProps { + children: ReactNode; +} + +export const IconBase = forwardRef( + ( + { + size = 24, + color = 'currentColor', + strokeWidth = 2, + children, + ...props + }, + ref + ) => { + return ( + + {children} + + )}); + +IconBase.displayName = 'IconBase'; \ No newline at end of file diff --git a/packages/kivex-react-native/src/icons/alert.tsx b/packages/kivex-react-native/src/icons/alert.tsx new file mode 100644 index 0000000..4e9c08f --- /dev/null +++ b/packages/kivex-react-native/src/icons/alert.tsx @@ -0,0 +1,30 @@ +import { forwardRef } from 'react'; +import { IconBase } from '../components/IconBase'; +import type { IconProps } from '../types/IconProps'; + +export const Alert = forwardRef( + ( + { + + size = 24, + color = 'currentColor', + strokeWidth = 2, + ...props + }, + ref + ) => { + return ( + + + + ); + } +); + +Alert.displayName = 'Alert'; \ No newline at end of file diff --git a/packages/kivex-react-native/src/icons/angry.tsx b/packages/kivex-react-native/src/icons/angry.tsx new file mode 100644 index 0000000..83e8394 --- /dev/null +++ b/packages/kivex-react-native/src/icons/angry.tsx @@ -0,0 +1,30 @@ +import { forwardRef } from 'react'; +import { IconBase } from '../components/IconBase'; +import type { IconProps } from '../types/IconProps'; + +export const Angry = forwardRef( + ( + { + + size = 24, + color = 'currentColor', + strokeWidth = 2, + ...props + }, + ref + ) => { + return ( + + + + ); + } +); + +Angry.displayName = 'Angry'; \ No newline at end of file diff --git a/packages/kivex-react-native/src/icons/annoyed.tsx b/packages/kivex-react-native/src/icons/annoyed.tsx new file mode 100644 index 0000000..7fe48c4 --- /dev/null +++ b/packages/kivex-react-native/src/icons/annoyed.tsx @@ -0,0 +1,30 @@ +import { forwardRef } from 'react'; +import { IconBase } from '../components/IconBase'; +import type { IconProps } from '../types/IconProps'; + +export const Annoyed = forwardRef( + ( + { + + size = 24, + color = 'currentColor', + strokeWidth = 2, + ...props + }, + ref + ) => { + return ( + + + + ); + } +); + +Annoyed.displayName = 'Annoyed'; \ No newline at end of file diff --git a/packages/kivex-react-native/src/icons/arrow-left-from-line.tsx b/packages/kivex-react-native/src/icons/arrow-left-from-line.tsx new file mode 100644 index 0000000..ed7f507 --- /dev/null +++ b/packages/kivex-react-native/src/icons/arrow-left-from-line.tsx @@ -0,0 +1,30 @@ +import { forwardRef } from 'react'; +import { IconBase } from '../components/IconBase'; +import type { IconProps } from '../types/IconProps'; + +export const ArrowLeftFromLine = forwardRef( + ( + { + + size = 24, + color = 'currentColor', + strokeWidth = 2, + ...props + }, + ref + ) => { + return ( + + + + ); + } +); + +ArrowLeftFromLine.displayName = 'ArrowLeftFromLine'; \ No newline at end of file diff --git a/packages/kivex-react-native/src/icons/arrow-left-to-line.tsx b/packages/kivex-react-native/src/icons/arrow-left-to-line.tsx new file mode 100644 index 0000000..623e1e0 --- /dev/null +++ b/packages/kivex-react-native/src/icons/arrow-left-to-line.tsx @@ -0,0 +1,30 @@ +import { forwardRef } from 'react'; +import { IconBase } from '../components/IconBase'; +import type { IconProps } from '../types/IconProps'; + +export const ArrowLeftToLine = forwardRef( + ( + { + + size = 24, + color = 'currentColor', + strokeWidth = 2, + ...props + }, + ref + ) => { + return ( + + + + ); + } +); + +ArrowLeftToLine.displayName = 'ArrowLeftToLine'; \ No newline at end of file diff --git a/packages/kivex-react-native/src/icons/arrow-left.tsx b/packages/kivex-react-native/src/icons/arrow-left.tsx new file mode 100644 index 0000000..9eec82e --- /dev/null +++ b/packages/kivex-react-native/src/icons/arrow-left.tsx @@ -0,0 +1,30 @@ +import { forwardRef } from 'react'; +import { IconBase } from '../components/IconBase'; +import type { IconProps } from '../types/IconProps'; + +export const ArrowLeft = forwardRef( + ( + { + + size = 24, + color = 'currentColor', + strokeWidth = 2, + ...props + }, + ref + ) => { + return ( + + + + ); + } +); + +ArrowLeft.displayName = 'ArrowLeft'; \ No newline at end of file diff --git a/packages/kivex-react-native/src/icons/arrow-right-from-line.tsx b/packages/kivex-react-native/src/icons/arrow-right-from-line.tsx new file mode 100644 index 0000000..9770ebc --- /dev/null +++ b/packages/kivex-react-native/src/icons/arrow-right-from-line.tsx @@ -0,0 +1,30 @@ +import { forwardRef } from 'react'; +import { IconBase } from '../components/IconBase'; +import type { IconProps } from '../types/IconProps'; + +export const ArrowRightFromLine = forwardRef( + ( + { + + size = 24, + color = 'currentColor', + strokeWidth = 2, + ...props + }, + ref + ) => { + return ( + + + + ); + } +); + +ArrowRightFromLine.displayName = 'ArrowRightFromLine'; \ No newline at end of file diff --git a/packages/kivex-react-native/src/icons/arrow-right-to-line.tsx b/packages/kivex-react-native/src/icons/arrow-right-to-line.tsx new file mode 100644 index 0000000..8e16723 --- /dev/null +++ b/packages/kivex-react-native/src/icons/arrow-right-to-line.tsx @@ -0,0 +1,30 @@ +import { forwardRef } from 'react'; +import { IconBase } from '../components/IconBase'; +import type { IconProps } from '../types/IconProps'; + +export const ArrowRightToLine = forwardRef( + ( + { + + size = 24, + color = 'currentColor', + strokeWidth = 2, + ...props + }, + ref + ) => { + return ( + + + + ); + } +); + +ArrowRightToLine.displayName = 'ArrowRightToLine'; \ No newline at end of file diff --git a/packages/kivex-react-native/src/icons/arrow-up-left.tsx b/packages/kivex-react-native/src/icons/arrow-up-left.tsx new file mode 100644 index 0000000..789bb64 --- /dev/null +++ b/packages/kivex-react-native/src/icons/arrow-up-left.tsx @@ -0,0 +1,30 @@ +import { forwardRef } from 'react'; +import { IconBase } from '../components/IconBase'; +import type { IconProps } from '../types/IconProps'; + +export const ArrowUpLeft = forwardRef( + ( + { + + size = 24, + color = 'currentColor', + strokeWidth = 2, + ...props + }, + ref + ) => { + return ( + + + + ); + } +); + +ArrowUpLeft.displayName = 'ArrowUpLeft'; \ No newline at end of file diff --git a/packages/kivex-react-native/src/icons/arrow-up-right.tsx b/packages/kivex-react-native/src/icons/arrow-up-right.tsx new file mode 100644 index 0000000..305f4d2 --- /dev/null +++ b/packages/kivex-react-native/src/icons/arrow-up-right.tsx @@ -0,0 +1,30 @@ +import { forwardRef } from 'react'; +import { IconBase } from '../components/IconBase'; +import type { IconProps } from '../types/IconProps'; + +export const ArrowUpRight = forwardRef( + ( + { + + size = 24, + color = 'currentColor', + strokeWidth = 2, + ...props + }, + ref + ) => { + return ( + + + + ); + } +); + +ArrowUpRight.displayName = 'ArrowUpRight'; \ No newline at end of file diff --git a/packages/kivex-react-native/src/icons/bar-chart.tsx b/packages/kivex-react-native/src/icons/bar-chart.tsx new file mode 100644 index 0000000..02f3cba --- /dev/null +++ b/packages/kivex-react-native/src/icons/bar-chart.tsx @@ -0,0 +1,30 @@ +import { forwardRef } from 'react'; +import { IconBase } from '../components/IconBase'; +import type { IconProps } from '../types/IconProps'; + +export const BarChart = forwardRef( + ( + { + + size = 24, + color = 'currentColor', + strokeWidth = 2, + ...props + }, + ref + ) => { + return ( + + + + ); + } +); + +BarChart.displayName = 'BarChart'; \ No newline at end of file diff --git a/packages/kivex-react-native/src/icons/bell-ring.tsx b/packages/kivex-react-native/src/icons/bell-ring.tsx new file mode 100644 index 0000000..623d65e --- /dev/null +++ b/packages/kivex-react-native/src/icons/bell-ring.tsx @@ -0,0 +1,30 @@ +import { forwardRef } from 'react'; +import { IconBase } from '../components/IconBase'; +import type { IconProps } from '../types/IconProps'; + +export const BellRing = forwardRef( + ( + { + + size = 24, + color = 'currentColor', + strokeWidth = 2, + ...props + }, + ref + ) => { + return ( + + + + ); + } +); + +BellRing.displayName = 'BellRing'; \ No newline at end of file diff --git a/packages/kivex-react-native/src/icons/bookmark.tsx b/packages/kivex-react-native/src/icons/bookmark.tsx new file mode 100644 index 0000000..5a35e87 --- /dev/null +++ b/packages/kivex-react-native/src/icons/bookmark.tsx @@ -0,0 +1,30 @@ +import { forwardRef } from 'react'; +import { IconBase } from '../components/IconBase'; +import type { IconProps } from '../types/IconProps'; + +export const Bookmark = forwardRef( + ( + { + + size = 24, + color = 'currentColor', + strokeWidth = 2, + ...props + }, + ref + ) => { + return ( + + + + ); + } +); + +Bookmark.displayName = 'Bookmark'; \ No newline at end of file diff --git a/packages/kivex-react-native/src/icons/calendar-check.tsx b/packages/kivex-react-native/src/icons/calendar-check.tsx new file mode 100644 index 0000000..ef8da07 --- /dev/null +++ b/packages/kivex-react-native/src/icons/calendar-check.tsx @@ -0,0 +1,30 @@ +import { forwardRef } from 'react'; +import { IconBase } from '../components/IconBase'; +import type { IconProps } from '../types/IconProps'; + +export const CalendarCheck = forwardRef( + ( + { + + size = 24, + color = 'currentColor', + strokeWidth = 2, + ...props + }, + ref + ) => { + return ( + + + + ); + } +); + +CalendarCheck.displayName = 'CalendarCheck'; \ No newline at end of file diff --git a/packages/kivex-react-native/src/icons/calendar-days.tsx b/packages/kivex-react-native/src/icons/calendar-days.tsx new file mode 100644 index 0000000..9f38682 --- /dev/null +++ b/packages/kivex-react-native/src/icons/calendar-days.tsx @@ -0,0 +1,30 @@ +import { forwardRef } from 'react'; +import { IconBase } from '../components/IconBase'; +import type { IconProps } from '../types/IconProps'; + +export const CalendarDays = forwardRef( + ( + { + + size = 24, + color = 'currentColor', + strokeWidth = 2, + ...props + }, + ref + ) => { + return ( + + + + ); + } +); + +CalendarDays.displayName = 'CalendarDays'; \ No newline at end of file diff --git a/packages/kivex-react-native/src/icons/calendar-x.tsx b/packages/kivex-react-native/src/icons/calendar-x.tsx new file mode 100644 index 0000000..03943b4 --- /dev/null +++ b/packages/kivex-react-native/src/icons/calendar-x.tsx @@ -0,0 +1,30 @@ +import { forwardRef } from 'react'; +import { IconBase } from '../components/IconBase'; +import type { IconProps } from '../types/IconProps'; + +export const CalendarX = forwardRef( + ( + { + + size = 24, + color = 'currentColor', + strokeWidth = 2, + ...props + }, + ref + ) => { + return ( + + + + ); + } +); + +CalendarX.displayName = 'CalendarX'; \ No newline at end of file diff --git a/packages/kivex-react-native/src/icons/calendar.tsx b/packages/kivex-react-native/src/icons/calendar.tsx new file mode 100644 index 0000000..4d67f64 --- /dev/null +++ b/packages/kivex-react-native/src/icons/calendar.tsx @@ -0,0 +1,30 @@ +import { forwardRef } from 'react'; +import { IconBase } from '../components/IconBase'; +import type { IconProps } from '../types/IconProps'; + +export const Calendar = forwardRef( + ( + { + + size = 24, + color = 'currentColor', + strokeWidth = 2, + ...props + }, + ref + ) => { + return ( + + + + ); + } +); + +Calendar.displayName = 'Calendar'; \ No newline at end of file diff --git a/packages/kivex-react-native/src/icons/chat.tsx b/packages/kivex-react-native/src/icons/chat.tsx new file mode 100644 index 0000000..05bb32f --- /dev/null +++ b/packages/kivex-react-native/src/icons/chat.tsx @@ -0,0 +1,30 @@ +import { forwardRef } from 'react'; +import { IconBase } from '../components/IconBase'; +import type { IconProps } from '../types/IconProps'; + +export const Chat = forwardRef( + ( + { + + size = 24, + color = 'currentColor', + strokeWidth = 2, + ...props + }, + ref + ) => { + return ( + + + + ); + } +); + +Chat.displayName = 'Chat'; \ No newline at end of file diff --git a/packages/kivex-react-native/src/icons/check.tsx b/packages/kivex-react-native/src/icons/check.tsx new file mode 100644 index 0000000..3b8b10c --- /dev/null +++ b/packages/kivex-react-native/src/icons/check.tsx @@ -0,0 +1,30 @@ +import { forwardRef } from 'react'; +import { IconBase } from '../components/IconBase'; +import type { IconProps } from '../types/IconProps'; + +export const Check = forwardRef( + ( + { + + size = 24, + color = 'currentColor', + strokeWidth = 2, + ...props + }, + ref + ) => { + return ( + + + + ); + } +); + +Check.displayName = 'Check'; \ No newline at end of file diff --git a/packages/kivex-react-native/src/icons/chevron-down.tsx b/packages/kivex-react-native/src/icons/chevron-down.tsx new file mode 100644 index 0000000..70d62b3 --- /dev/null +++ b/packages/kivex-react-native/src/icons/chevron-down.tsx @@ -0,0 +1,30 @@ +import { forwardRef } from 'react'; +import { IconBase } from '../components/IconBase'; +import type { IconProps } from '../types/IconProps'; + +export const ChevronDown = forwardRef( + ( + { + + size = 24, + color = 'currentColor', + strokeWidth = 2, + ...props + }, + ref + ) => { + return ( + + + + ); + } +); + +ChevronDown.displayName = 'ChevronDown'; \ No newline at end of file diff --git a/packages/kivex-react-native/src/icons/chevron-up.tsx b/packages/kivex-react-native/src/icons/chevron-up.tsx new file mode 100644 index 0000000..0e605de --- /dev/null +++ b/packages/kivex-react-native/src/icons/chevron-up.tsx @@ -0,0 +1,30 @@ +import { forwardRef } from 'react'; +import { IconBase } from '../components/IconBase'; +import type { IconProps } from '../types/IconProps'; + +export const ChevronUp = forwardRef( + ( + { + + size = 24, + color = 'currentColor', + strokeWidth = 2, + ...props + }, + ref + ) => { + return ( + + + + ); + } +); + +ChevronUp.displayName = 'ChevronUp'; \ No newline at end of file diff --git a/packages/kivex-react-native/src/icons/chevrons-down-up.tsx b/packages/kivex-react-native/src/icons/chevrons-down-up.tsx new file mode 100644 index 0000000..99a3408 --- /dev/null +++ b/packages/kivex-react-native/src/icons/chevrons-down-up.tsx @@ -0,0 +1,30 @@ +import { forwardRef } from 'react'; +import { IconBase } from '../components/IconBase'; +import type { IconProps } from '../types/IconProps'; + +export const ChevronsDownUp = forwardRef( + ( + { + + size = 24, + color = 'currentColor', + strokeWidth = 2, + ...props + }, + ref + ) => { + return ( + + + + ); + } +); + +ChevronsDownUp.displayName = 'ChevronsDownUp'; \ No newline at end of file diff --git a/packages/kivex-react-native/src/icons/chevrons-down.tsx b/packages/kivex-react-native/src/icons/chevrons-down.tsx new file mode 100644 index 0000000..b68aaa6 --- /dev/null +++ b/packages/kivex-react-native/src/icons/chevrons-down.tsx @@ -0,0 +1,30 @@ +import { forwardRef } from 'react'; +import { IconBase } from '../components/IconBase'; +import type { IconProps } from '../types/IconProps'; + +export const ChevronsDown = forwardRef( + ( + { + + size = 24, + color = 'currentColor', + strokeWidth = 2, + ...props + }, + ref + ) => { + return ( + + + + ); + } +); + +ChevronsDown.displayName = 'ChevronsDown'; \ No newline at end of file diff --git a/packages/kivex-react-native/src/icons/chevrons-up-down.tsx b/packages/kivex-react-native/src/icons/chevrons-up-down.tsx new file mode 100644 index 0000000..9bcceaa --- /dev/null +++ b/packages/kivex-react-native/src/icons/chevrons-up-down.tsx @@ -0,0 +1,30 @@ +import { forwardRef } from 'react'; +import { IconBase } from '../components/IconBase'; +import type { IconProps } from '../types/IconProps'; + +export const ChevronsUpDown = forwardRef( + ( + { + + size = 24, + color = 'currentColor', + strokeWidth = 2, + ...props + }, + ref + ) => { + return ( + + + + ); + } +); + +ChevronsUpDown.displayName = 'ChevronsUpDown'; \ No newline at end of file diff --git a/packages/kivex-react-native/src/icons/chevrons-up.tsx b/packages/kivex-react-native/src/icons/chevrons-up.tsx new file mode 100644 index 0000000..93334fc --- /dev/null +++ b/packages/kivex-react-native/src/icons/chevrons-up.tsx @@ -0,0 +1,30 @@ +import { forwardRef } from 'react'; +import { IconBase } from '../components/IconBase'; +import type { IconProps } from '../types/IconProps'; + +export const ChevronsUp = forwardRef( + ( + { + + size = 24, + color = 'currentColor', + strokeWidth = 2, + ...props + }, + ref + ) => { + return ( + + + + ); + } +); + +ChevronsUp.displayName = 'ChevronsUp'; \ No newline at end of file diff --git a/packages/kivex-react-native/src/icons/circle-arrow-left.tsx b/packages/kivex-react-native/src/icons/circle-arrow-left.tsx new file mode 100644 index 0000000..ebf9da9 --- /dev/null +++ b/packages/kivex-react-native/src/icons/circle-arrow-left.tsx @@ -0,0 +1,30 @@ +import { forwardRef } from 'react'; +import { IconBase } from '../components/IconBase'; +import type { IconProps } from '../types/IconProps'; + +export const CircleArrowLeft = forwardRef( + ( + { + + size = 24, + color = 'currentColor', + strokeWidth = 2, + ...props + }, + ref + ) => { + return ( + + + + ); + } +); + +CircleArrowLeft.displayName = 'CircleArrowLeft'; \ No newline at end of file diff --git a/packages/kivex-react-native/src/icons/circle-arrow-out-up-left.tsx b/packages/kivex-react-native/src/icons/circle-arrow-out-up-left.tsx new file mode 100644 index 0000000..e3b6207 --- /dev/null +++ b/packages/kivex-react-native/src/icons/circle-arrow-out-up-left.tsx @@ -0,0 +1,30 @@ +import { forwardRef } from 'react'; +import { IconBase } from '../components/IconBase'; +import type { IconProps } from '../types/IconProps'; + +export const CircleArrowOutUpLeft = forwardRef( + ( + { + + size = 24, + color = 'currentColor', + strokeWidth = 2, + ...props + }, + ref + ) => { + return ( + + + + ); + } +); + +CircleArrowOutUpLeft.displayName = 'CircleArrowOutUpLeft'; \ No newline at end of file diff --git a/packages/kivex-react-native/src/icons/circle-arrow-out-up-right.tsx b/packages/kivex-react-native/src/icons/circle-arrow-out-up-right.tsx new file mode 100644 index 0000000..c11b03f --- /dev/null +++ b/packages/kivex-react-native/src/icons/circle-arrow-out-up-right.tsx @@ -0,0 +1,30 @@ +import { forwardRef } from 'react'; +import { IconBase } from '../components/IconBase'; +import type { IconProps } from '../types/IconProps'; + +export const CircleArrowOutUpRight = forwardRef( + ( + { + + size = 24, + color = 'currentColor', + strokeWidth = 2, + ...props + }, + ref + ) => { + return ( + + + + ); + } +); + +CircleArrowOutUpRight.displayName = 'CircleArrowOutUpRight'; \ No newline at end of file diff --git a/packages/kivex-react-native/src/icons/circle-chevron-down.tsx b/packages/kivex-react-native/src/icons/circle-chevron-down.tsx new file mode 100644 index 0000000..ca286f8 --- /dev/null +++ b/packages/kivex-react-native/src/icons/circle-chevron-down.tsx @@ -0,0 +1,30 @@ +import { forwardRef } from 'react'; +import { IconBase } from '../components/IconBase'; +import type { IconProps } from '../types/IconProps'; + +export const CircleChevronDown = forwardRef( + ( + { + + size = 24, + color = 'currentColor', + strokeWidth = 2, + ...props + }, + ref + ) => { + return ( + + + + ); + } +); + +CircleChevronDown.displayName = 'CircleChevronDown'; \ No newline at end of file diff --git a/packages/kivex-react-native/src/icons/circle-chevron-up.tsx b/packages/kivex-react-native/src/icons/circle-chevron-up.tsx new file mode 100644 index 0000000..f4163de --- /dev/null +++ b/packages/kivex-react-native/src/icons/circle-chevron-up.tsx @@ -0,0 +1,30 @@ +import { forwardRef } from 'react'; +import { IconBase } from '../components/IconBase'; +import type { IconProps } from '../types/IconProps'; + +export const CircleChevronUp = forwardRef( + ( + { + + size = 24, + color = 'currentColor', + strokeWidth = 2, + ...props + }, + ref + ) => { + return ( + + + + ); + } +); + +CircleChevronUp.displayName = 'CircleChevronUp'; \ No newline at end of file diff --git a/packages/kivex-react-native/src/icons/clock-arrow-left.tsx b/packages/kivex-react-native/src/icons/clock-arrow-left.tsx new file mode 100644 index 0000000..bc3fa52 --- /dev/null +++ b/packages/kivex-react-native/src/icons/clock-arrow-left.tsx @@ -0,0 +1,30 @@ +import { forwardRef } from 'react'; +import { IconBase } from '../components/IconBase'; +import type { IconProps } from '../types/IconProps'; + +export const ClockArrowLeft = forwardRef( + ( + { + + size = 24, + color = 'currentColor', + strokeWidth = 2, + ...props + }, + ref + ) => { + return ( + + + + ); + } +); + +ClockArrowLeft.displayName = 'ClockArrowLeft'; \ No newline at end of file diff --git a/packages/kivex-react-native/src/icons/column-chart-plain-increasing.tsx b/packages/kivex-react-native/src/icons/column-chart-plain-increasing.tsx new file mode 100644 index 0000000..35179ac --- /dev/null +++ b/packages/kivex-react-native/src/icons/column-chart-plain-increasing.tsx @@ -0,0 +1,30 @@ +import { forwardRef } from 'react'; +import { IconBase } from '../components/IconBase'; +import type { IconProps } from '../types/IconProps'; + +export const ColumnChartPlainIncreasing = forwardRef( + ( + { + + size = 24, + color = 'currentColor', + strokeWidth = 2, + ...props + }, + ref + ) => { + return ( + + + + ); + } +); + +ColumnChartPlainIncreasing.displayName = 'ColumnChartPlainIncreasing'; \ No newline at end of file diff --git a/packages/kivex-react-native/src/icons/column-chart.tsx b/packages/kivex-react-native/src/icons/column-chart.tsx new file mode 100644 index 0000000..cf16ddf --- /dev/null +++ b/packages/kivex-react-native/src/icons/column-chart.tsx @@ -0,0 +1,30 @@ +import { forwardRef } from 'react'; +import { IconBase } from '../components/IconBase'; +import type { IconProps } from '../types/IconProps'; + +export const ColumnChart = forwardRef( + ( + { + + size = 24, + color = 'currentColor', + strokeWidth = 2, + ...props + }, + ref + ) => { + return ( + + + + ); + } +); + +ColumnChart.displayName = 'ColumnChart'; \ No newline at end of file diff --git a/packages/kivex-react-native/src/icons/credit-card.tsx b/packages/kivex-react-native/src/icons/credit-card.tsx new file mode 100644 index 0000000..d69869f --- /dev/null +++ b/packages/kivex-react-native/src/icons/credit-card.tsx @@ -0,0 +1,30 @@ +import { forwardRef } from 'react'; +import { IconBase } from '../components/IconBase'; +import type { IconProps } from '../types/IconProps'; + +export const CreditCard = forwardRef( + ( + { + + size = 24, + color = 'currentColor', + strokeWidth = 2, + ...props + }, + ref + ) => { + return ( + + + + ); + } +); + +CreditCard.displayName = 'CreditCard'; \ No newline at end of file diff --git a/packages/kivex-react-native/src/icons/download.tsx b/packages/kivex-react-native/src/icons/download.tsx new file mode 100644 index 0000000..f22e4d0 --- /dev/null +++ b/packages/kivex-react-native/src/icons/download.tsx @@ -0,0 +1,30 @@ +import { forwardRef } from 'react'; +import { IconBase } from '../components/IconBase'; +import type { IconProps } from '../types/IconProps'; + +export const Download = forwardRef( + ( + { + + size = 24, + color = 'currentColor', + strokeWidth = 2, + ...props + }, + ref + ) => { + return ( + + + + ); + } +); + +Download.displayName = 'Download'; \ No newline at end of file diff --git a/packages/kivex-react-native/src/icons/draft-book.tsx b/packages/kivex-react-native/src/icons/draft-book.tsx new file mode 100644 index 0000000..1e71817 --- /dev/null +++ b/packages/kivex-react-native/src/icons/draft-book.tsx @@ -0,0 +1,30 @@ +import { forwardRef } from 'react'; +import { IconBase } from '../components/IconBase'; +import type { IconProps } from '../types/IconProps'; + +export const DraftBook = forwardRef( + ( + { + + size = 24, + color = 'currentColor', + strokeWidth = 2, + ...props + }, + ref + ) => { + return ( + + + + ); + } +); + +DraftBook.displayName = 'DraftBook'; \ No newline at end of file diff --git a/packages/kivex-react-native/src/icons/external-link.tsx b/packages/kivex-react-native/src/icons/external-link.tsx new file mode 100644 index 0000000..9518501 --- /dev/null +++ b/packages/kivex-react-native/src/icons/external-link.tsx @@ -0,0 +1,30 @@ +import { forwardRef } from 'react'; +import { IconBase } from '../components/IconBase'; +import type { IconProps } from '../types/IconProps'; + +export const ExternalLink = forwardRef( + ( + { + + size = 24, + color = 'currentColor', + strokeWidth = 2, + ...props + }, + ref + ) => { + return ( + + + + ); + } +); + +ExternalLink.displayName = 'ExternalLink'; \ No newline at end of file diff --git a/packages/kivex-react-native/src/icons/eye-closed.tsx b/packages/kivex-react-native/src/icons/eye-closed.tsx new file mode 100644 index 0000000..d6531d5 --- /dev/null +++ b/packages/kivex-react-native/src/icons/eye-closed.tsx @@ -0,0 +1,30 @@ +import { forwardRef } from 'react'; +import { IconBase } from '../components/IconBase'; +import type { IconProps } from '../types/IconProps'; + +export const EyeClosed = forwardRef( + ( + { + + size = 24, + color = 'currentColor', + strokeWidth = 2, + ...props + }, + ref + ) => { + return ( + + + + ); + } +); + +EyeClosed.displayName = 'EyeClosed'; \ No newline at end of file diff --git a/packages/kivex-react-native/src/icons/eye.tsx b/packages/kivex-react-native/src/icons/eye.tsx new file mode 100644 index 0000000..9f88c5b --- /dev/null +++ b/packages/kivex-react-native/src/icons/eye.tsx @@ -0,0 +1,30 @@ +import { forwardRef } from 'react'; +import { IconBase } from '../components/IconBase'; +import type { IconProps } from '../types/IconProps'; + +export const Eye = forwardRef( + ( + { + + size = 24, + color = 'currentColor', + strokeWidth = 2, + ...props + }, + ref + ) => { + return ( + + + + ); + } +); + +Eye.displayName = 'Eye'; \ No newline at end of file diff --git a/packages/kivex-react-native/src/icons/file.tsx b/packages/kivex-react-native/src/icons/file.tsx new file mode 100644 index 0000000..a484592 --- /dev/null +++ b/packages/kivex-react-native/src/icons/file.tsx @@ -0,0 +1,30 @@ +import { forwardRef } from 'react'; +import { IconBase } from '../components/IconBase'; +import type { IconProps } from '../types/IconProps'; + +export const File = forwardRef( + ( + { + + size = 24, + color = 'currentColor', + strokeWidth = 2, + ...props + }, + ref + ) => { + return ( + + + + ); + } +); + +File.displayName = 'File'; \ No newline at end of file diff --git a/packages/kivex-react-native/src/icons/folder.tsx b/packages/kivex-react-native/src/icons/folder.tsx new file mode 100644 index 0000000..fb8723d --- /dev/null +++ b/packages/kivex-react-native/src/icons/folder.tsx @@ -0,0 +1,30 @@ +import { forwardRef } from 'react'; +import { IconBase } from '../components/IconBase'; +import type { IconProps } from '../types/IconProps'; + +export const Folder = forwardRef( + ( + { + + size = 24, + color = 'currentColor', + strokeWidth = 2, + ...props + }, + ref + ) => { + return ( + + + + ); + } +); + +Folder.displayName = 'Folder'; \ No newline at end of file diff --git a/packages/kivex-react-native/src/icons/frown.tsx b/packages/kivex-react-native/src/icons/frown.tsx new file mode 100644 index 0000000..639684b --- /dev/null +++ b/packages/kivex-react-native/src/icons/frown.tsx @@ -0,0 +1,30 @@ +import { forwardRef } from 'react'; +import { IconBase } from '../components/IconBase'; +import type { IconProps } from '../types/IconProps'; + +export const Frown = forwardRef( + ( + { + + size = 24, + color = 'currentColor', + strokeWidth = 2, + ...props + }, + ref + ) => { + return ( + + + + ); + } +); + +Frown.displayName = 'Frown'; \ No newline at end of file diff --git a/packages/kivex-react-native/src/icons/grid-2x2-plus.tsx b/packages/kivex-react-native/src/icons/grid-2x2-plus.tsx new file mode 100644 index 0000000..81eb3e7 --- /dev/null +++ b/packages/kivex-react-native/src/icons/grid-2x2-plus.tsx @@ -0,0 +1,30 @@ +import { forwardRef } from 'react'; +import { IconBase } from '../components/IconBase'; +import type { IconProps } from '../types/IconProps'; + +export const Grid2x2Plus = forwardRef( + ( + { + + size = 24, + color = 'currentColor', + strokeWidth = 2, + ...props + }, + ref + ) => { + return ( + + + + ); + } +); + +Grid2x2Plus.displayName = 'Grid2x2Plus'; \ No newline at end of file diff --git a/packages/kivex-react-native/src/icons/grid-2x2-x.tsx b/packages/kivex-react-native/src/icons/grid-2x2-x.tsx new file mode 100644 index 0000000..9c7e2e4 --- /dev/null +++ b/packages/kivex-react-native/src/icons/grid-2x2-x.tsx @@ -0,0 +1,30 @@ +import { forwardRef } from 'react'; +import { IconBase } from '../components/IconBase'; +import type { IconProps } from '../types/IconProps'; + +export const Grid2x2X = forwardRef( + ( + { + + size = 24, + color = 'currentColor', + strokeWidth = 2, + ...props + }, + ref + ) => { + return ( + + + + ); + } +); + +Grid2x2X.displayName = 'Grid2x2X'; \ No newline at end of file diff --git a/packages/kivex-react-native/src/icons/grid-2x2.tsx b/packages/kivex-react-native/src/icons/grid-2x2.tsx new file mode 100644 index 0000000..d81b8d4 --- /dev/null +++ b/packages/kivex-react-native/src/icons/grid-2x2.tsx @@ -0,0 +1,30 @@ +import { forwardRef } from 'react'; +import { IconBase } from '../components/IconBase'; +import type { IconProps } from '../types/IconProps'; + +export const Grid2x2 = forwardRef( + ( + { + + size = 24, + color = 'currentColor', + strokeWidth = 2, + ...props + }, + ref + ) => { + return ( + + + + ); + } +); + +Grid2x2.displayName = 'Grid2x2'; \ No newline at end of file diff --git a/packages/kivex-react-native/src/icons/grid-3x3.tsx b/packages/kivex-react-native/src/icons/grid-3x3.tsx new file mode 100644 index 0000000..eca4a15 --- /dev/null +++ b/packages/kivex-react-native/src/icons/grid-3x3.tsx @@ -0,0 +1,30 @@ +import { forwardRef } from 'react'; +import { IconBase } from '../components/IconBase'; +import type { IconProps } from '../types/IconProps'; + +export const Grid3x3 = forwardRef( + ( + { + + size = 24, + color = 'currentColor', + strokeWidth = 2, + ...props + }, + ref + ) => { + return ( + + + + ); + } +); + +Grid3x3.displayName = 'Grid3x3'; \ No newline at end of file diff --git a/packages/kivex-react-native/src/icons/heart.tsx b/packages/kivex-react-native/src/icons/heart.tsx new file mode 100644 index 0000000..7ae796c --- /dev/null +++ b/packages/kivex-react-native/src/icons/heart.tsx @@ -0,0 +1,30 @@ +import { forwardRef } from 'react'; +import { IconBase } from '../components/IconBase'; +import type { IconProps } from '../types/IconProps'; + +export const Heart = forwardRef( + ( + { + + size = 24, + color = 'currentColor', + strokeWidth = 2, + ...props + }, + ref + ) => { + return ( + + + + ); + } +); + +Heart.displayName = 'Heart'; \ No newline at end of file diff --git a/packages/kivex-react-native/src/icons/home.tsx b/packages/kivex-react-native/src/icons/home.tsx new file mode 100644 index 0000000..e4e3490 --- /dev/null +++ b/packages/kivex-react-native/src/icons/home.tsx @@ -0,0 +1,30 @@ +import { forwardRef } from 'react'; +import { IconBase } from '../components/IconBase'; +import type { IconProps } from '../types/IconProps'; + +export const Home = forwardRef( + ( + { + + size = 24, + color = 'currentColor', + strokeWidth = 2, + ...props + }, + ref + ) => { + return ( + + + + ); + } +); + +Home.displayName = 'Home'; \ No newline at end of file diff --git a/packages/kivex-react-native/src/icons/house-antenna.tsx b/packages/kivex-react-native/src/icons/house-antenna.tsx new file mode 100644 index 0000000..8b7d263 --- /dev/null +++ b/packages/kivex-react-native/src/icons/house-antenna.tsx @@ -0,0 +1,30 @@ +import { forwardRef } from 'react'; +import { IconBase } from '../components/IconBase'; +import type { IconProps } from '../types/IconProps'; + +export const HouseAntenna = forwardRef( + ( + { + + size = 24, + color = 'currentColor', + strokeWidth = 2, + ...props + }, + ref + ) => { + return ( + + + + ); + } +); + +HouseAntenna.displayName = 'HouseAntenna'; \ No newline at end of file diff --git a/packages/kivex-react-native/src/icons/laugh.tsx b/packages/kivex-react-native/src/icons/laugh.tsx new file mode 100644 index 0000000..b065bdc --- /dev/null +++ b/packages/kivex-react-native/src/icons/laugh.tsx @@ -0,0 +1,30 @@ +import { forwardRef } from 'react'; +import { IconBase } from '../components/IconBase'; +import type { IconProps } from '../types/IconProps'; + +export const Laugh = forwardRef( + ( + { + + size = 24, + color = 'currentColor', + strokeWidth = 2, + ...props + }, + ref + ) => { + return ( + + + + ); + } +); + +Laugh.displayName = 'Laugh'; \ No newline at end of file diff --git a/packages/kivex-react-native/src/icons/layout-dashboard.tsx b/packages/kivex-react-native/src/icons/layout-dashboard.tsx new file mode 100644 index 0000000..7489c18 --- /dev/null +++ b/packages/kivex-react-native/src/icons/layout-dashboard.tsx @@ -0,0 +1,30 @@ +import { forwardRef } from 'react'; +import { IconBase } from '../components/IconBase'; +import type { IconProps } from '../types/IconProps'; + +export const LayoutDashboard = forwardRef( + ( + { + + size = 24, + color = 'currentColor', + strokeWidth = 2, + ...props + }, + ref + ) => { + return ( + + + + ); + } +); + +LayoutDashboard.displayName = 'LayoutDashboard'; \ No newline at end of file diff --git a/packages/kivex-react-native/src/icons/layout-grid.tsx b/packages/kivex-react-native/src/icons/layout-grid.tsx new file mode 100644 index 0000000..104d6cf --- /dev/null +++ b/packages/kivex-react-native/src/icons/layout-grid.tsx @@ -0,0 +1,30 @@ +import { forwardRef } from 'react'; +import { IconBase } from '../components/IconBase'; +import type { IconProps } from '../types/IconProps'; + +export const LayoutGrid = forwardRef( + ( + { + + size = 24, + color = 'currentColor', + strokeWidth = 2, + ...props + }, + ref + ) => { + return ( + + + + ); + } +); + +LayoutGrid.displayName = 'LayoutGrid'; \ No newline at end of file diff --git a/packages/kivex-react-native/src/icons/list-chevrons-down-up.tsx b/packages/kivex-react-native/src/icons/list-chevrons-down-up.tsx new file mode 100644 index 0000000..0912510 --- /dev/null +++ b/packages/kivex-react-native/src/icons/list-chevrons-down-up.tsx @@ -0,0 +1,30 @@ +import { forwardRef } from 'react'; +import { IconBase } from '../components/IconBase'; +import type { IconProps } from '../types/IconProps'; + +export const ListChevronsDownUp = forwardRef( + ( + { + + size = 24, + color = 'currentColor', + strokeWidth = 2, + ...props + }, + ref + ) => { + return ( + + + + ); + } +); + +ListChevronsDownUp.displayName = 'ListChevronsDownUp'; \ No newline at end of file diff --git a/packages/kivex-react-native/src/icons/list-chevrons-up-down.tsx b/packages/kivex-react-native/src/icons/list-chevrons-up-down.tsx new file mode 100644 index 0000000..2f781f6 --- /dev/null +++ b/packages/kivex-react-native/src/icons/list-chevrons-up-down.tsx @@ -0,0 +1,30 @@ +import { forwardRef } from 'react'; +import { IconBase } from '../components/IconBase'; +import type { IconProps } from '../types/IconProps'; + +export const ListChevronsUpDown = forwardRef( + ( + { + + size = 24, + color = 'currentColor', + strokeWidth = 2, + ...props + }, + ref + ) => { + return ( + + + + ); + } +); + +ListChevronsUpDown.displayName = 'ListChevronsUpDown'; \ No newline at end of file diff --git a/packages/kivex-react-native/src/icons/meh.tsx b/packages/kivex-react-native/src/icons/meh.tsx new file mode 100644 index 0000000..373939d --- /dev/null +++ b/packages/kivex-react-native/src/icons/meh.tsx @@ -0,0 +1,30 @@ +import { forwardRef } from 'react'; +import { IconBase } from '../components/IconBase'; +import type { IconProps } from '../types/IconProps'; + +export const Meh = forwardRef( + ( + { + + size = 24, + color = 'currentColor', + strokeWidth = 2, + ...props + }, + ref + ) => { + return ( + + + + ); + } +); + +Meh.displayName = 'Meh'; \ No newline at end of file diff --git a/packages/kivex-react-native/src/icons/menu-vertical.tsx b/packages/kivex-react-native/src/icons/menu-vertical.tsx new file mode 100644 index 0000000..9567807 --- /dev/null +++ b/packages/kivex-react-native/src/icons/menu-vertical.tsx @@ -0,0 +1,30 @@ +import { forwardRef } from 'react'; +import { IconBase } from '../components/IconBase'; +import type { IconProps } from '../types/IconProps'; + +export const MenuVertical = forwardRef( + ( + { + + size = 24, + color = 'currentColor', + strokeWidth = 2, + ...props + }, + ref + ) => { + return ( + + + + ); + } +); + +MenuVertical.displayName = 'MenuVertical'; \ No newline at end of file diff --git a/packages/kivex-react-native/src/icons/menu.tsx b/packages/kivex-react-native/src/icons/menu.tsx new file mode 100644 index 0000000..82da3a7 --- /dev/null +++ b/packages/kivex-react-native/src/icons/menu.tsx @@ -0,0 +1,30 @@ +import { forwardRef } from 'react'; +import { IconBase } from '../components/IconBase'; +import type { IconProps } from '../types/IconProps'; + +export const Menu = forwardRef( + ( + { + + size = 24, + color = 'currentColor', + strokeWidth = 2, + ...props + }, + ref + ) => { + return ( + + + + ); + } +); + +Menu.displayName = 'Menu'; \ No newline at end of file diff --git a/packages/kivex-react-native/src/icons/mic-off.tsx b/packages/kivex-react-native/src/icons/mic-off.tsx new file mode 100644 index 0000000..5ea598e --- /dev/null +++ b/packages/kivex-react-native/src/icons/mic-off.tsx @@ -0,0 +1,30 @@ +import { forwardRef } from 'react'; +import { IconBase } from '../components/IconBase'; +import type { IconProps } from '../types/IconProps'; + +export const MicOff = forwardRef( + ( + { + + size = 24, + color = 'currentColor', + strokeWidth = 2, + ...props + }, + ref + ) => { + return ( + + + + ); + } +); + +MicOff.displayName = 'MicOff'; \ No newline at end of file diff --git a/packages/kivex-react-native/src/icons/mic-vintage.tsx b/packages/kivex-react-native/src/icons/mic-vintage.tsx new file mode 100644 index 0000000..fe00d37 --- /dev/null +++ b/packages/kivex-react-native/src/icons/mic-vintage.tsx @@ -0,0 +1,30 @@ +import { forwardRef } from 'react'; +import { IconBase } from '../components/IconBase'; +import type { IconProps } from '../types/IconProps'; + +export const MicVintage = forwardRef( + ( + { + + size = 24, + color = 'currentColor', + strokeWidth = 2, + ...props + }, + ref + ) => { + return ( + + + + ); + } +); + +MicVintage.displayName = 'MicVintage'; \ No newline at end of file diff --git a/packages/kivex-react-native/src/icons/mic.tsx b/packages/kivex-react-native/src/icons/mic.tsx new file mode 100644 index 0000000..3c7002d --- /dev/null +++ b/packages/kivex-react-native/src/icons/mic.tsx @@ -0,0 +1,30 @@ +import { forwardRef } from 'react'; +import { IconBase } from '../components/IconBase'; +import type { IconProps } from '../types/IconProps'; + +export const Mic = forwardRef( + ( + { + + size = 24, + color = 'currentColor', + strokeWidth = 2, + ...props + }, + ref + ) => { + return ( + + + + ); + } +); + +Mic.displayName = 'Mic'; \ No newline at end of file diff --git a/packages/kivex-react-native/src/icons/moon.tsx b/packages/kivex-react-native/src/icons/moon.tsx new file mode 100644 index 0000000..93bb177 --- /dev/null +++ b/packages/kivex-react-native/src/icons/moon.tsx @@ -0,0 +1,30 @@ +import { forwardRef } from 'react'; +import { IconBase } from '../components/IconBase'; +import type { IconProps } from '../types/IconProps'; + +export const Moon = forwardRef( + ( + { + + size = 24, + color = 'currentColor', + strokeWidth = 2, + ...props + }, + ref + ) => { + return ( + + + + ); + } +); + +Moon.displayName = 'Moon'; \ No newline at end of file diff --git a/packages/kivex-react-native/src/icons/notification.tsx b/packages/kivex-react-native/src/icons/notification.tsx new file mode 100644 index 0000000..a8dcf1f --- /dev/null +++ b/packages/kivex-react-native/src/icons/notification.tsx @@ -0,0 +1,30 @@ +import { forwardRef } from 'react'; +import { IconBase } from '../components/IconBase'; +import type { IconProps } from '../types/IconProps'; + +export const Notification = forwardRef( + ( + { + + size = 24, + color = 'currentColor', + strokeWidth = 2, + ...props + }, + ref + ) => { + return ( + + + + ); + } +); + +Notification.displayName = 'Notification'; \ No newline at end of file diff --git a/packages/kivex-react-native/src/icons/paperclip.tsx b/packages/kivex-react-native/src/icons/paperclip.tsx new file mode 100644 index 0000000..592b45c --- /dev/null +++ b/packages/kivex-react-native/src/icons/paperclip.tsx @@ -0,0 +1,30 @@ +import { forwardRef } from 'react'; +import { IconBase } from '../components/IconBase'; +import type { IconProps } from '../types/IconProps'; + +export const Paperclip = forwardRef( + ( + { + + size = 24, + color = 'currentColor', + strokeWidth = 2, + ...props + }, + ref + ) => { + return ( + + + + ); + } +); + +Paperclip.displayName = 'Paperclip'; \ No newline at end of file diff --git a/packages/kivex-react-native/src/icons/pen-line.tsx b/packages/kivex-react-native/src/icons/pen-line.tsx new file mode 100644 index 0000000..eac21d5 --- /dev/null +++ b/packages/kivex-react-native/src/icons/pen-line.tsx @@ -0,0 +1,30 @@ +import { forwardRef } from 'react'; +import { IconBase } from '../components/IconBase'; +import type { IconProps } from '../types/IconProps'; + +export const PenLine = forwardRef( + ( + { + + size = 24, + color = 'currentColor', + strokeWidth = 2, + ...props + }, + ref + ) => { + return ( + + + + ); + } +); + +PenLine.displayName = 'PenLine'; \ No newline at end of file diff --git a/packages/kivex-react-native/src/icons/phone-forward.tsx b/packages/kivex-react-native/src/icons/phone-forward.tsx new file mode 100644 index 0000000..40920e8 --- /dev/null +++ b/packages/kivex-react-native/src/icons/phone-forward.tsx @@ -0,0 +1,30 @@ +import { forwardRef } from 'react'; +import { IconBase } from '../components/IconBase'; +import type { IconProps } from '../types/IconProps'; + +export const PhoneForward = forwardRef( + ( + { + + size = 24, + color = 'currentColor', + strokeWidth = 2, + ...props + }, + ref + ) => { + return ( + + + + ); + } +); + +PhoneForward.displayName = 'PhoneForward'; \ No newline at end of file diff --git a/packages/kivex-react-native/src/icons/phone-incoming.tsx b/packages/kivex-react-native/src/icons/phone-incoming.tsx new file mode 100644 index 0000000..98f1ed5 --- /dev/null +++ b/packages/kivex-react-native/src/icons/phone-incoming.tsx @@ -0,0 +1,30 @@ +import { forwardRef } from 'react'; +import { IconBase } from '../components/IconBase'; +import type { IconProps } from '../types/IconProps'; + +export const PhoneIncoming = forwardRef( + ( + { + + size = 24, + color = 'currentColor', + strokeWidth = 2, + ...props + }, + ref + ) => { + return ( + + + + ); + } +); + +PhoneIncoming.displayName = 'PhoneIncoming'; \ No newline at end of file diff --git a/packages/kivex-react-native/src/icons/phone-outgoing.tsx b/packages/kivex-react-native/src/icons/phone-outgoing.tsx new file mode 100644 index 0000000..5305583 --- /dev/null +++ b/packages/kivex-react-native/src/icons/phone-outgoing.tsx @@ -0,0 +1,30 @@ +import { forwardRef } from 'react'; +import { IconBase } from '../components/IconBase'; +import type { IconProps } from '../types/IconProps'; + +export const PhoneOutgoing = forwardRef( + ( + { + + size = 24, + color = 'currentColor', + strokeWidth = 2, + ...props + }, + ref + ) => { + return ( + + + + ); + } +); + +PhoneOutgoing.displayName = 'PhoneOutgoing'; \ No newline at end of file diff --git a/packages/kivex-react-native/src/icons/phone-x.tsx b/packages/kivex-react-native/src/icons/phone-x.tsx new file mode 100644 index 0000000..df92584 --- /dev/null +++ b/packages/kivex-react-native/src/icons/phone-x.tsx @@ -0,0 +1,30 @@ +import { forwardRef } from 'react'; +import { IconBase } from '../components/IconBase'; +import type { IconProps } from '../types/IconProps'; + +export const PhoneX = forwardRef( + ( + { + + size = 24, + color = 'currentColor', + strokeWidth = 2, + ...props + }, + ref + ) => { + return ( + + + + ); + } +); + +PhoneX.displayName = 'PhoneX'; \ No newline at end of file diff --git a/packages/kivex-react-native/src/icons/phone.tsx b/packages/kivex-react-native/src/icons/phone.tsx new file mode 100644 index 0000000..67fff34 --- /dev/null +++ b/packages/kivex-react-native/src/icons/phone.tsx @@ -0,0 +1,30 @@ +import { forwardRef } from 'react'; +import { IconBase } from '../components/IconBase'; +import type { IconProps } from '../types/IconProps'; + +export const Phone = forwardRef( + ( + { + + size = 24, + color = 'currentColor', + strokeWidth = 2, + ...props + }, + ref + ) => { + return ( + + + + ); + } +); + +Phone.displayName = 'Phone'; \ No newline at end of file diff --git a/packages/kivex-react-native/src/icons/pie-chart.tsx b/packages/kivex-react-native/src/icons/pie-chart.tsx new file mode 100644 index 0000000..43671aa --- /dev/null +++ b/packages/kivex-react-native/src/icons/pie-chart.tsx @@ -0,0 +1,30 @@ +import { forwardRef } from 'react'; +import { IconBase } from '../components/IconBase'; +import type { IconProps } from '../types/IconProps'; + +export const PieChart = forwardRef( + ( + { + + size = 24, + color = 'currentColor', + strokeWidth = 2, + ...props + }, + ref + ) => { + return ( + + + + ); + } +); + +PieChart.displayName = 'PieChart'; \ No newline at end of file diff --git a/packages/kivex-react-native/src/icons/play.tsx b/packages/kivex-react-native/src/icons/play.tsx new file mode 100644 index 0000000..44b395d --- /dev/null +++ b/packages/kivex-react-native/src/icons/play.tsx @@ -0,0 +1,30 @@ +import { forwardRef } from 'react'; +import { IconBase } from '../components/IconBase'; +import type { IconProps } from '../types/IconProps'; + +export const Play = forwardRef( + ( + { + + size = 24, + color = 'currentColor', + strokeWidth = 2, + ...props + }, + ref + ) => { + return ( + + + + ); + } +); + +Play.displayName = 'Play'; \ No newline at end of file diff --git a/packages/kivex-react-native/src/icons/plus.tsx b/packages/kivex-react-native/src/icons/plus.tsx new file mode 100644 index 0000000..0df4b03 --- /dev/null +++ b/packages/kivex-react-native/src/icons/plus.tsx @@ -0,0 +1,30 @@ +import { forwardRef } from 'react'; +import { IconBase } from '../components/IconBase'; +import type { IconProps } from '../types/IconProps'; + +export const Plus = forwardRef( + ( + { + + size = 24, + color = 'currentColor', + strokeWidth = 2, + ...props + }, + ref + ) => { + return ( + + + + ); + } +); + +Plus.displayName = 'Plus'; \ No newline at end of file diff --git a/packages/kivex-react-native/src/icons/profile.tsx b/packages/kivex-react-native/src/icons/profile.tsx new file mode 100644 index 0000000..4bfde02 --- /dev/null +++ b/packages/kivex-react-native/src/icons/profile.tsx @@ -0,0 +1,30 @@ +import { forwardRef } from 'react'; +import { IconBase } from '../components/IconBase'; +import type { IconProps } from '../types/IconProps'; + +export const Profile = forwardRef( + ( + { + + size = 24, + color = 'currentColor', + strokeWidth = 2, + ...props + }, + ref + ) => { + return ( + + + + ); + } +); + +Profile.displayName = 'Profile'; \ No newline at end of file diff --git a/packages/kivex-react-native/src/icons/search.tsx b/packages/kivex-react-native/src/icons/search.tsx new file mode 100644 index 0000000..4b0bcb1 --- /dev/null +++ b/packages/kivex-react-native/src/icons/search.tsx @@ -0,0 +1,30 @@ +import { forwardRef } from 'react'; +import { IconBase } from '../components/IconBase'; +import type { IconProps } from '../types/IconProps'; + +export const Search = forwardRef( + ( + { + + size = 24, + color = 'currentColor', + strokeWidth = 2, + ...props + }, + ref + ) => { + return ( + + + + ); + } +); + +Search.displayName = 'Search'; \ No newline at end of file diff --git a/packages/kivex-react-native/src/icons/send.tsx b/packages/kivex-react-native/src/icons/send.tsx new file mode 100644 index 0000000..f38942f --- /dev/null +++ b/packages/kivex-react-native/src/icons/send.tsx @@ -0,0 +1,30 @@ +import { forwardRef } from 'react'; +import { IconBase } from '../components/IconBase'; +import type { IconProps } from '../types/IconProps'; + +export const Send = forwardRef( + ( + { + + size = 24, + color = 'currentColor', + strokeWidth = 2, + ...props + }, + ref + ) => { + return ( + + + + ); + } +); + +Send.displayName = 'Send'; \ No newline at end of file diff --git a/packages/kivex-react-native/src/icons/settings-control.tsx b/packages/kivex-react-native/src/icons/settings-control.tsx new file mode 100644 index 0000000..939a357 --- /dev/null +++ b/packages/kivex-react-native/src/icons/settings-control.tsx @@ -0,0 +1,30 @@ +import { forwardRef } from 'react'; +import { IconBase } from '../components/IconBase'; +import type { IconProps } from '../types/IconProps'; + +export const SettingsControl = forwardRef( + ( + { + + size = 24, + color = 'currentColor', + strokeWidth = 2, + ...props + }, + ref + ) => { + return ( + + + + ); + } +); + +SettingsControl.displayName = 'SettingsControl'; \ No newline at end of file diff --git a/packages/kivex-react-native/src/icons/settings.tsx b/packages/kivex-react-native/src/icons/settings.tsx new file mode 100644 index 0000000..80abcfa --- /dev/null +++ b/packages/kivex-react-native/src/icons/settings.tsx @@ -0,0 +1,30 @@ +import { forwardRef } from 'react'; +import { IconBase } from '../components/IconBase'; +import type { IconProps } from '../types/IconProps'; + +export const Settings = forwardRef( + ( + { + + size = 24, + color = 'currentColor', + strokeWidth = 2, + ...props + }, + ref + ) => { + return ( + + + + ); + } +); + +Settings.displayName = 'Settings'; \ No newline at end of file diff --git a/packages/kivex-react-native/src/icons/shield-check.tsx b/packages/kivex-react-native/src/icons/shield-check.tsx new file mode 100644 index 0000000..a604e26 --- /dev/null +++ b/packages/kivex-react-native/src/icons/shield-check.tsx @@ -0,0 +1,30 @@ +import { forwardRef } from 'react'; +import { IconBase } from '../components/IconBase'; +import type { IconProps } from '../types/IconProps'; + +export const ShieldCheck = forwardRef( + ( + { + + size = 24, + color = 'currentColor', + strokeWidth = 2, + ...props + }, + ref + ) => { + return ( + + + + ); + } +); + +ShieldCheck.displayName = 'ShieldCheck'; \ No newline at end of file diff --git a/packages/kivex-react-native/src/icons/shopping-bag.tsx b/packages/kivex-react-native/src/icons/shopping-bag.tsx new file mode 100644 index 0000000..6a81117 --- /dev/null +++ b/packages/kivex-react-native/src/icons/shopping-bag.tsx @@ -0,0 +1,30 @@ +import { forwardRef } from 'react'; +import { IconBase } from '../components/IconBase'; +import type { IconProps } from '../types/IconProps'; + +export const ShoppingBag = forwardRef( + ( + { + + size = 24, + color = 'currentColor', + strokeWidth = 2, + ...props + }, + ref + ) => { + return ( + + + + ); + } +); + +ShoppingBag.displayName = 'ShoppingBag'; \ No newline at end of file diff --git a/packages/kivex-react-native/src/icons/sliders-horizontal.tsx b/packages/kivex-react-native/src/icons/sliders-horizontal.tsx new file mode 100644 index 0000000..c24133c --- /dev/null +++ b/packages/kivex-react-native/src/icons/sliders-horizontal.tsx @@ -0,0 +1,30 @@ +import { forwardRef } from 'react'; +import { IconBase } from '../components/IconBase'; +import type { IconProps } from '../types/IconProps'; + +export const SlidersHorizontal = forwardRef( + ( + { + + size = 24, + color = 'currentColor', + strokeWidth = 2, + ...props + }, + ref + ) => { + return ( + + + + ); + } +); + +SlidersHorizontal.displayName = 'SlidersHorizontal'; \ No newline at end of file diff --git a/packages/kivex-react-native/src/icons/sliders-vertical.tsx b/packages/kivex-react-native/src/icons/sliders-vertical.tsx new file mode 100644 index 0000000..77942eb --- /dev/null +++ b/packages/kivex-react-native/src/icons/sliders-vertical.tsx @@ -0,0 +1,30 @@ +import { forwardRef } from 'react'; +import { IconBase } from '../components/IconBase'; +import type { IconProps } from '../types/IconProps'; + +export const SlidersVertical = forwardRef( + ( + { + + size = 24, + color = 'currentColor', + strokeWidth = 2, + ...props + }, + ref + ) => { + return ( + + + + ); + } +); + +SlidersVertical.displayName = 'SlidersVertical'; \ No newline at end of file diff --git a/packages/kivex-react-native/src/icons/smile-plus.tsx b/packages/kivex-react-native/src/icons/smile-plus.tsx new file mode 100644 index 0000000..f7bc60c --- /dev/null +++ b/packages/kivex-react-native/src/icons/smile-plus.tsx @@ -0,0 +1,30 @@ +import { forwardRef } from 'react'; +import { IconBase } from '../components/IconBase'; +import type { IconProps } from '../types/IconProps'; + +export const SmilePlus = forwardRef( + ( + { + + size = 24, + color = 'currentColor', + strokeWidth = 2, + ...props + }, + ref + ) => { + return ( + + + + ); + } +); + +SmilePlus.displayName = 'SmilePlus'; \ No newline at end of file diff --git a/packages/kivex-react-native/src/icons/smile.tsx b/packages/kivex-react-native/src/icons/smile.tsx new file mode 100644 index 0000000..39f2124 --- /dev/null +++ b/packages/kivex-react-native/src/icons/smile.tsx @@ -0,0 +1,30 @@ +import { forwardRef } from 'react'; +import { IconBase } from '../components/IconBase'; +import type { IconProps } from '../types/IconProps'; + +export const Smile = forwardRef( + ( + { + + size = 24, + color = 'currentColor', + strokeWidth = 2, + ...props + }, + ref + ) => { + return ( + + + + ); + } +); + +Smile.displayName = 'Smile'; \ No newline at end of file diff --git a/packages/kivex-react-native/src/icons/square-arrow-out-up-left.tsx b/packages/kivex-react-native/src/icons/square-arrow-out-up-left.tsx new file mode 100644 index 0000000..fcd0018 --- /dev/null +++ b/packages/kivex-react-native/src/icons/square-arrow-out-up-left.tsx @@ -0,0 +1,30 @@ +import { forwardRef } from 'react'; +import { IconBase } from '../components/IconBase'; +import type { IconProps } from '../types/IconProps'; + +export const SquareArrowOutUpLeft = forwardRef( + ( + { + + size = 24, + color = 'currentColor', + strokeWidth = 2, + ...props + }, + ref + ) => { + return ( + + + + ); + } +); + +SquareArrowOutUpLeft.displayName = 'SquareArrowOutUpLeft'; \ No newline at end of file diff --git a/packages/kivex-react-native/src/icons/square-arrow-out-up-right.tsx b/packages/kivex-react-native/src/icons/square-arrow-out-up-right.tsx new file mode 100644 index 0000000..9acb43f --- /dev/null +++ b/packages/kivex-react-native/src/icons/square-arrow-out-up-right.tsx @@ -0,0 +1,30 @@ +import { forwardRef } from 'react'; +import { IconBase } from '../components/IconBase'; +import type { IconProps } from '../types/IconProps'; + +export const SquareArrowOutUpRight = forwardRef( + ( + { + + size = 24, + color = 'currentColor', + strokeWidth = 2, + ...props + }, + ref + ) => { + return ( + + + + ); + } +); + +SquareArrowOutUpRight.displayName = 'SquareArrowOutUpRight'; \ No newline at end of file diff --git a/packages/kivex-react-native/src/icons/square-arrow-up-left.tsx b/packages/kivex-react-native/src/icons/square-arrow-up-left.tsx new file mode 100644 index 0000000..5470eb9 --- /dev/null +++ b/packages/kivex-react-native/src/icons/square-arrow-up-left.tsx @@ -0,0 +1,30 @@ +import { forwardRef } from 'react'; +import { IconBase } from '../components/IconBase'; +import type { IconProps } from '../types/IconProps'; + +export const SquareArrowUpLeft = forwardRef( + ( + { + + size = 24, + color = 'currentColor', + strokeWidth = 2, + ...props + }, + ref + ) => { + return ( + + + + ); + } +); + +SquareArrowUpLeft.displayName = 'SquareArrowUpLeft'; \ No newline at end of file diff --git a/packages/kivex-react-native/src/icons/square-arrow-up-right.tsx b/packages/kivex-react-native/src/icons/square-arrow-up-right.tsx new file mode 100644 index 0000000..8c105f4 --- /dev/null +++ b/packages/kivex-react-native/src/icons/square-arrow-up-right.tsx @@ -0,0 +1,30 @@ +import { forwardRef } from 'react'; +import { IconBase } from '../components/IconBase'; +import type { IconProps } from '../types/IconProps'; + +export const SquareArrowUpRight = forwardRef( + ( + { + + size = 24, + color = 'currentColor', + strokeWidth = 2, + ...props + }, + ref + ) => { + return ( + + + + ); + } +); + +SquareArrowUpRight.displayName = 'SquareArrowUpRight'; \ No newline at end of file diff --git a/packages/kivex-react-native/src/icons/square-chevron-down.tsx b/packages/kivex-react-native/src/icons/square-chevron-down.tsx new file mode 100644 index 0000000..52ba770 --- /dev/null +++ b/packages/kivex-react-native/src/icons/square-chevron-down.tsx @@ -0,0 +1,30 @@ +import { forwardRef } from 'react'; +import { IconBase } from '../components/IconBase'; +import type { IconProps } from '../types/IconProps'; + +export const SquareChevronDown = forwardRef( + ( + { + + size = 24, + color = 'currentColor', + strokeWidth = 2, + ...props + }, + ref + ) => { + return ( + + + + ); + } +); + +SquareChevronDown.displayName = 'SquareChevronDown'; \ No newline at end of file diff --git a/packages/kivex-react-native/src/icons/square-chevron-up.tsx b/packages/kivex-react-native/src/icons/square-chevron-up.tsx new file mode 100644 index 0000000..77e0ff3 --- /dev/null +++ b/packages/kivex-react-native/src/icons/square-chevron-up.tsx @@ -0,0 +1,30 @@ +import { forwardRef } from 'react'; +import { IconBase } from '../components/IconBase'; +import type { IconProps } from '../types/IconProps'; + +export const SquareChevronUp = forwardRef( + ( + { + + size = 24, + color = 'currentColor', + strokeWidth = 2, + ...props + }, + ref + ) => { + return ( + + + + ); + } +); + +SquareChevronUp.displayName = 'SquareChevronUp'; \ No newline at end of file diff --git a/packages/kivex-react-native/src/icons/star.tsx b/packages/kivex-react-native/src/icons/star.tsx new file mode 100644 index 0000000..03a9c5b --- /dev/null +++ b/packages/kivex-react-native/src/icons/star.tsx @@ -0,0 +1,30 @@ +import { forwardRef } from 'react'; +import { IconBase } from '../components/IconBase'; +import type { IconProps } from '../types/IconProps'; + +export const Star = forwardRef( + ( + { + + size = 24, + color = 'currentColor', + strokeWidth = 2, + ...props + }, + ref + ) => { + return ( + + + + ); + } +); + +Star.displayName = 'Star'; \ No newline at end of file diff --git a/packages/kivex-react-native/src/icons/swap-horizontal.tsx b/packages/kivex-react-native/src/icons/swap-horizontal.tsx new file mode 100644 index 0000000..1497f96 --- /dev/null +++ b/packages/kivex-react-native/src/icons/swap-horizontal.tsx @@ -0,0 +1,30 @@ +import { forwardRef } from 'react'; +import { IconBase } from '../components/IconBase'; +import type { IconProps } from '../types/IconProps'; + +export const SwapHorizontal = forwardRef( + ( + { + + size = 24, + color = 'currentColor', + strokeWidth = 2, + ...props + }, + ref + ) => { + return ( + + + + ); + } +); + +SwapHorizontal.displayName = 'SwapHorizontal'; \ No newline at end of file diff --git a/packages/kivex-react-native/src/icons/swap-vertical.tsx b/packages/kivex-react-native/src/icons/swap-vertical.tsx new file mode 100644 index 0000000..fcd051f --- /dev/null +++ b/packages/kivex-react-native/src/icons/swap-vertical.tsx @@ -0,0 +1,30 @@ +import { forwardRef } from 'react'; +import { IconBase } from '../components/IconBase'; +import type { IconProps } from '../types/IconProps'; + +export const SwapVertical = forwardRef( + ( + { + + size = 24, + color = 'currentColor', + strokeWidth = 2, + ...props + }, + ref + ) => { + return ( + + + + ); + } +); + +SwapVertical.displayName = 'SwapVertical'; \ No newline at end of file diff --git a/packages/kivex-react-native/src/icons/thumbs-down.tsx b/packages/kivex-react-native/src/icons/thumbs-down.tsx new file mode 100644 index 0000000..b9155e6 --- /dev/null +++ b/packages/kivex-react-native/src/icons/thumbs-down.tsx @@ -0,0 +1,30 @@ +import { forwardRef } from 'react'; +import { IconBase } from '../components/IconBase'; +import type { IconProps } from '../types/IconProps'; + +export const ThumbsDown = forwardRef( + ( + { + + size = 24, + color = 'currentColor', + strokeWidth = 2, + ...props + }, + ref + ) => { + return ( + + + + ); + } +); + +ThumbsDown.displayName = 'ThumbsDown'; \ No newline at end of file diff --git a/packages/kivex-react-native/src/icons/thumbs-up.tsx b/packages/kivex-react-native/src/icons/thumbs-up.tsx new file mode 100644 index 0000000..fb9b3e5 --- /dev/null +++ b/packages/kivex-react-native/src/icons/thumbs-up.tsx @@ -0,0 +1,30 @@ +import { forwardRef } from 'react'; +import { IconBase } from '../components/IconBase'; +import type { IconProps } from '../types/IconProps'; + +export const ThumbsUp = forwardRef( + ( + { + + size = 24, + color = 'currentColor', + strokeWidth = 2, + ...props + }, + ref + ) => { + return ( + + + + ); + } +); + +ThumbsUp.displayName = 'ThumbsUp'; \ No newline at end of file diff --git a/packages/kivex-react-native/src/icons/trash-2.tsx b/packages/kivex-react-native/src/icons/trash-2.tsx new file mode 100644 index 0000000..6f73122 --- /dev/null +++ b/packages/kivex-react-native/src/icons/trash-2.tsx @@ -0,0 +1,30 @@ +import { forwardRef } from 'react'; +import { IconBase } from '../components/IconBase'; +import type { IconProps } from '../types/IconProps'; + +export const Trash2 = forwardRef( + ( + { + + size = 24, + color = 'currentColor', + strokeWidth = 2, + ...props + }, + ref + ) => { + return ( + + + + ); + } +); + +Trash2.displayName = 'Trash2'; \ No newline at end of file diff --git a/packages/kivex-react-native/src/icons/trash.tsx b/packages/kivex-react-native/src/icons/trash.tsx new file mode 100644 index 0000000..d9438e3 --- /dev/null +++ b/packages/kivex-react-native/src/icons/trash.tsx @@ -0,0 +1,30 @@ +import { forwardRef } from 'react'; +import { IconBase } from '../components/IconBase'; +import type { IconProps } from '../types/IconProps'; + +export const Trash = forwardRef( + ( + { + + size = 24, + color = 'currentColor', + strokeWidth = 2, + ...props + }, + ref + ) => { + return ( + + + + ); + } +); + +Trash.displayName = 'Trash'; \ No newline at end of file diff --git a/packages/kivex-react-native/src/icons/user-check.tsx b/packages/kivex-react-native/src/icons/user-check.tsx new file mode 100644 index 0000000..3db93d2 --- /dev/null +++ b/packages/kivex-react-native/src/icons/user-check.tsx @@ -0,0 +1,30 @@ +import { forwardRef } from 'react'; +import { IconBase } from '../components/IconBase'; +import type { IconProps } from '../types/IconProps'; + +export const UserCheck = forwardRef( + ( + { + + size = 24, + color = 'currentColor', + strokeWidth = 2, + ...props + }, + ref + ) => { + return ( + + + + ); + } +); + +UserCheck.displayName = 'UserCheck'; \ No newline at end of file diff --git a/packages/kivex-react-native/src/icons/user.tsx b/packages/kivex-react-native/src/icons/user.tsx new file mode 100644 index 0000000..de4466c --- /dev/null +++ b/packages/kivex-react-native/src/icons/user.tsx @@ -0,0 +1,30 @@ +import { forwardRef } from 'react'; +import { IconBase } from '../components/IconBase'; +import type { IconProps } from '../types/IconProps'; + +export const User = forwardRef( + ( + { + + size = 24, + color = 'currentColor', + strokeWidth = 2, + ...props + }, + ref + ) => { + return ( + + + + ); + } +); + +User.displayName = 'User'; \ No newline at end of file diff --git a/packages/kivex-react-native/src/icons/users.tsx b/packages/kivex-react-native/src/icons/users.tsx new file mode 100644 index 0000000..1d1e65a --- /dev/null +++ b/packages/kivex-react-native/src/icons/users.tsx @@ -0,0 +1,30 @@ +import { forwardRef } from 'react'; +import { IconBase } from '../components/IconBase'; +import type { IconProps } from '../types/IconProps'; + +export const Users = forwardRef( + ( + { + + size = 24, + color = 'currentColor', + strokeWidth = 2, + ...props + }, + ref + ) => { + return ( + + + + ); + } +); + +Users.displayName = 'Users'; \ No newline at end of file diff --git a/packages/kivex-react-native/src/icons/video-camera.tsx b/packages/kivex-react-native/src/icons/video-camera.tsx new file mode 100644 index 0000000..e2cac77 --- /dev/null +++ b/packages/kivex-react-native/src/icons/video-camera.tsx @@ -0,0 +1,30 @@ +import { forwardRef } from 'react'; +import { IconBase } from '../components/IconBase'; +import type { IconProps } from '../types/IconProps'; + +export const VideoCamera = forwardRef( + ( + { + + size = 24, + color = 'currentColor', + strokeWidth = 2, + ...props + }, + ref + ) => { + return ( + + + + ); + } +); + +VideoCamera.displayName = 'VideoCamera'; \ No newline at end of file diff --git a/packages/kivex-react-native/src/icons/video.tsx b/packages/kivex-react-native/src/icons/video.tsx new file mode 100644 index 0000000..587cc4b --- /dev/null +++ b/packages/kivex-react-native/src/icons/video.tsx @@ -0,0 +1,30 @@ +import { forwardRef } from 'react'; +import { IconBase } from '../components/IconBase'; +import type { IconProps } from '../types/IconProps'; + +export const Video = forwardRef( + ( + { + + size = 24, + color = 'currentColor', + strokeWidth = 2, + ...props + }, + ref + ) => { + return ( + + + + ); + } +); + +Video.displayName = 'Video'; \ No newline at end of file diff --git a/packages/kivex-react-native/src/icons/x.tsx b/packages/kivex-react-native/src/icons/x.tsx new file mode 100644 index 0000000..628b995 --- /dev/null +++ b/packages/kivex-react-native/src/icons/x.tsx @@ -0,0 +1,30 @@ +import { forwardRef } from 'react'; +import { IconBase } from '../components/IconBase'; +import type { IconProps } from '../types/IconProps'; + +export const X = forwardRef( + ( + { + + size = 24, + color = 'currentColor', + strokeWidth = 2, + ...props + }, + ref + ) => { + return ( + + + + ); + } +); + +X.displayName = 'X'; \ No newline at end of file diff --git a/packages/kivex-react-native/src/index.ts b/packages/kivex-react-native/src/index.ts new file mode 100644 index 0000000..72d155d --- /dev/null +++ b/packages/kivex-react-native/src/index.ts @@ -0,0 +1,103 @@ +export type { IconProps } from './types/IconProps'; +export { Alert } from './icons/alert'; +export { Angry } from './icons/angry'; +export { Annoyed } from './icons/annoyed'; +export { ArrowLeftFromLine } from './icons/arrow-left-from-line'; +export { ArrowLeftToLine } from './icons/arrow-left-to-line'; +export { ArrowLeft } from './icons/arrow-left'; +export { ArrowRightFromLine } from './icons/arrow-right-from-line'; +export { ArrowRightToLine } from './icons/arrow-right-to-line'; +export { ArrowUpLeft } from './icons/arrow-up-left'; +export { ArrowUpRight } from './icons/arrow-up-right'; +export { BarChart } from './icons/bar-chart'; +export { BellRing } from './icons/bell-ring'; +export { Bookmark } from './icons/bookmark'; +export { CalendarCheck } from './icons/calendar-check'; +export { CalendarDays } from './icons/calendar-days'; +export { CalendarX } from './icons/calendar-x'; +export { Calendar } from './icons/calendar'; +export { Chat } from './icons/chat'; +export { Check } from './icons/check'; +export { ChevronDown } from './icons/chevron-down'; +export { ChevronUp } from './icons/chevron-up'; +export { ChevronsDownUp } from './icons/chevrons-down-up'; +export { ChevronsDown } from './icons/chevrons-down'; +export { ChevronsUpDown } from './icons/chevrons-up-down'; +export { ChevronsUp } from './icons/chevrons-up'; +export { CircleArrowLeft } from './icons/circle-arrow-left'; +export { CircleArrowOutUpLeft } from './icons/circle-arrow-out-up-left'; +export { CircleArrowOutUpRight } from './icons/circle-arrow-out-up-right'; +export { CircleChevronDown } from './icons/circle-chevron-down'; +export { CircleChevronUp } from './icons/circle-chevron-up'; +export { ClockArrowLeft } from './icons/clock-arrow-left'; +export { ColumnChartPlainIncreasing } from './icons/column-chart-plain-increasing'; +export { ColumnChart } from './icons/column-chart'; +export { CreditCard } from './icons/credit-card'; +export { Download } from './icons/download'; +export { DraftBook } from './icons/draft-book'; +export { ExternalLink } from './icons/external-link'; +export { EyeClosed } from './icons/eye-closed'; +export { Eye } from './icons/eye'; +export { File } from './icons/file'; +export { Folder } from './icons/folder'; +export { Frown } from './icons/frown'; +export { Grid2x2Plus } from './icons/grid-2x2-plus'; +export { Grid2x2X } from './icons/grid-2x2-x'; +export { Grid2x2 } from './icons/grid-2x2'; +export { Grid3x3 } from './icons/grid-3x3'; +export { Heart } from './icons/heart'; +export { Home } from './icons/home'; +export { HouseAntenna } from './icons/house-antenna'; +export { Laugh } from './icons/laugh'; +export { LayoutDashboard } from './icons/layout-dashboard'; +export { LayoutGrid } from './icons/layout-grid'; +export { ListChevronsDownUp } from './icons/list-chevrons-down-up'; +export { ListChevronsUpDown } from './icons/list-chevrons-up-down'; +export { Meh } from './icons/meh'; +export { MenuVertical } from './icons/menu-vertical'; +export { Menu } from './icons/menu'; +export { MicOff } from './icons/mic-off'; +export { MicVintage } from './icons/mic-vintage'; +export { Mic } from './icons/mic'; +export { Moon } from './icons/moon'; +export { Notification } from './icons/notification'; +export { Paperclip } from './icons/paperclip'; +export { PenLine } from './icons/pen-line'; +export { PhoneForward } from './icons/phone-forward'; +export { PhoneIncoming } from './icons/phone-incoming'; +export { PhoneOutgoing } from './icons/phone-outgoing'; +export { PhoneX } from './icons/phone-x'; +export { Phone } from './icons/phone'; +export { PieChart } from './icons/pie-chart'; +export { Play } from './icons/play'; +export { Plus } from './icons/plus'; +export { Profile } from './icons/profile'; +export { Search } from './icons/search'; +export { Send } from './icons/send'; +export { SettingsControl } from './icons/settings-control'; +export { Settings } from './icons/settings'; +export { ShieldCheck } from './icons/shield-check'; +export { ShoppingBag } from './icons/shopping-bag'; +export { SlidersHorizontal } from './icons/sliders-horizontal'; +export { SlidersVertical } from './icons/sliders-vertical'; +export { SmilePlus } from './icons/smile-plus'; +export { Smile } from './icons/smile'; +export { SquareArrowOutUpLeft } from './icons/square-arrow-out-up-left'; +export { SquareArrowOutUpRight } from './icons/square-arrow-out-up-right'; +export { SquareArrowUpLeft } from './icons/square-arrow-up-left'; +export { SquareArrowUpRight } from './icons/square-arrow-up-right'; +export { SquareChevronDown } from './icons/square-chevron-down'; +export { SquareChevronUp } from './icons/square-chevron-up'; +export { Star } from './icons/star'; +export { SwapHorizontal } from './icons/swap-horizontal'; +export { SwapVertical } from './icons/swap-vertical'; +export { ThumbsDown } from './icons/thumbs-down'; +export { ThumbsUp } from './icons/thumbs-up'; +export { Trash2 } from './icons/trash-2'; +export { Trash } from './icons/trash'; +export { UserCheck } from './icons/user-check'; +export { User } from './icons/user'; +export { Users } from './icons/users'; +export { VideoCamera } from './icons/video-camera'; +export { Video } from './icons/video'; +export { X } from './icons/x'; diff --git a/packages/kivex-react-native/src/types/IconProps.ts b/packages/kivex-react-native/src/types/IconProps.ts new file mode 100644 index 0000000..85ac790 --- /dev/null +++ b/packages/kivex-react-native/src/types/IconProps.ts @@ -0,0 +1,7 @@ +import { SVGProps } from 'react'; + +export interface IconProps extends SVGProps { + size?: number | string; + color?: string; + strokeWidth?: number; +} From 7b85b1d62e92f578a48e5dfa7c64d5fcccf1a76f Mon Sep 17 00:00:00 2001 From: joseph4sure Date: Thu, 16 Jul 2026 01:47:42 -0700 Subject: [PATCH 2/2] Update React Native playground --- .../react-native-playground/.expo/README.md | 14 + .../.expo/dev/logs/start.log | 248 ++++++++++++++++++ .../.expo/devices.json | 3 + .../favicon-48.png | Bin 0 -> 1448 bytes 4 files changed, 265 insertions(+) create mode 100644 playground/react-native-playground/.expo/README.md create mode 100644 playground/react-native-playground/.expo/dev/logs/start.log create mode 100644 playground/react-native-playground/.expo/devices.json create mode 100644 playground/react-native-playground/.expo/web/cache/production/images/favicon/favicon-a4e030697a7571b3e95d31860e4da55d2f98e5e861e2b55e414f45a8556828ba-contain-transparent/favicon-48.png diff --git a/playground/react-native-playground/.expo/README.md b/playground/react-native-playground/.expo/README.md new file mode 100644 index 0000000..563b815 --- /dev/null +++ b/playground/react-native-playground/.expo/README.md @@ -0,0 +1,14 @@ +> Why do I have a folder named ".expo" in my project? + +The ".expo" folder is created when an Expo project is started using "expo start" command. + +> What do the files contain? + +- "devices.json": contains information about devices that have recently opened this project. This is used to populate the "Development sessions" list in your development builds. +- "settings.json": contains the server configuration that is used to serve the application manifest. +- "dev/logs/": contains structured JSONL event logs from CLI commands (e.g. start.log, export.log). These are truncated on each run. + +> Should I commit the ".expo" folder? + +No, you should not share the ".expo" folder. It does not contain any information that is relevant for other developers working on the project, it is specific to your machine. +Upon project creation, the ".expo" folder is already added to your ".gitignore" file. diff --git a/playground/react-native-playground/.expo/dev/logs/start.log b/playground/react-native-playground/.expo/dev/logs/start.log new file mode 100644 index 0000000..feccc64 --- /dev/null +++ b/playground/react-native-playground/.expo/dev/logs/start.log @@ -0,0 +1,248 @@ +{"_e":"root:init","_t":1784123164613,"format":"v0-jsonl","version":"57.0.8"} +{"_e":"env:mode","_t":1784123164618,"nodeEnv":"development","babelEnv":"development","mode":"development"} +{"_e":"env:load","_t":1784123164629,"mode":"development","files":[],"env":{}} +{"_e":"devserver:start","_t":1784123165899,"mode":"development","web":true,"baseUrl":"","asyncRoutes":false,"routerRoot":"../..\\..\\app","serverComponents":false,"serverActions":false,"serverRendering":false,"apiRoutes":false,"exporting":false} +{"_e":"metro:config","_t":1784123170482,"serverRoot":"../..\\..\\..\\..","projectRoot":"../..\\..","exporting":false,"flags":{"autolinkingModuleResolution":true,"serverActions":false,"serverComponents":false,"reactCompiler":false,"optimizeGraph":false,"treeshaking":false,"logbox":false}} +{"_e":"expo:dev-tools-plugin:load","_t":1784123173186,"plugins":[]} +{"_e":"metro:instantiate","_t":1784123237327,"atlas":false,"workers":3,"host":"::","port":8081} +{"_e":"root:init","_t":1784123488237,"format":"v0-jsonl","version":"57.0.8"} +{"_e":"env:mode","_t":1784123488245,"nodeEnv":"development","babelEnv":"development","mode":"development"} +{"_e":"env:load","_t":1784123488259,"mode":"development","files":[],"env":{}} +{"_e":"devserver:start","_t":1784123489775,"mode":"development","web":true,"baseUrl":"","asyncRoutes":false,"routerRoot":"../..\\..\\app","serverComponents":false,"serverActions":false,"serverRendering":false,"apiRoutes":false,"exporting":false} +{"_e":"metro:config","_t":1784123495299,"serverRoot":"../..\\..\\..\\..","projectRoot":"../..\\..","exporting":false,"flags":{"autolinkingModuleResolution":true,"serverActions":false,"serverComponents":false,"reactCompiler":false,"optimizeGraph":false,"treeshaking":false,"logbox":false}} +{"_e":"expo:dev-tools-plugin:load","_t":1784123496509,"plugins":[]} +{"_e":"metro:instantiate","_t":1784123564536,"atlas":false,"workers":3,"host":"::","port":8081} +{"_e":"root:init","_t":1784123836058,"format":"v0-jsonl","version":"57.0.8"} +{"_e":"env:mode","_t":1784123836062,"nodeEnv":"development","babelEnv":"development","mode":"development"} +{"_e":"env:load","_t":1784123836080,"mode":"development","files":[],"env":{}} +{"_e":"devserver:start","_t":1784123837196,"mode":"development","web":true,"baseUrl":"","asyncRoutes":false,"routerRoot":"../..\\..\\app","serverComponents":false,"serverActions":false,"serverRendering":false,"apiRoutes":false,"exporting":false} +{"_e":"metro:config","_t":1784123842064,"serverRoot":"../..\\..\\..\\..","projectRoot":"../..\\..","exporting":false,"flags":{"autolinkingModuleResolution":true,"serverActions":false,"serverComponents":false,"reactCompiler":false,"optimizeGraph":false,"treeshaking":false,"logbox":false}} +{"_e":"expo:dev-tools-plugin:load","_t":1784123842961,"plugins":[]} +{"_e":"root:init","_t":1784124005086,"format":"v0-jsonl","version":"57.0.8"} +{"_e":"env:mode","_t":1784124005090,"nodeEnv":"development","babelEnv":"development","mode":"development"} +{"_e":"env:load","_t":1784124005103,"mode":"development","files":[],"env":{}} +{"_e":"devserver:start","_t":1784124006388,"mode":"development","web":true,"baseUrl":"","asyncRoutes":false,"routerRoot":"../..\\..\\app","serverComponents":false,"serverActions":false,"serverRendering":false,"apiRoutes":false,"exporting":false} +{"_e":"metro:config","_t":1784124010203,"serverRoot":"../..\\..\\..\\..","projectRoot":"../..\\..","exporting":false,"flags":{"autolinkingModuleResolution":true,"serverActions":false,"serverComponents":false,"reactCompiler":false,"optimizeGraph":false,"treeshaking":false,"logbox":false}} +{"_e":"expo:dev-tools-plugin:load","_t":1784124010870,"plugins":[]} +{"_e":"metro:instantiate","_t":1784124084936,"atlas":false,"workers":3,"host":"::","port":8081} +{"_e":"metro:bundling:started","_t":1784124181894,"id":"1","platform":"web","environment":null,"entry":"playground\\react-native-playground\\index.ts"} +{"_e":"metro:bundling:progress","_t":1784124181895,"id":"1","progress":0,"total":1,"current":0} +{"_e":"metro:bundling:progress","_t":1784124181955,"id":"1","progress":0,"total":1,"current":0} +{"_e":"metro:bundling:progress","_t":1784124187575,"id":"1","progress":0.010000000000000002,"total":1,"current":1} +{"_e":"metro:bundling:progress","_t":1784124187686,"id":"1","progress":0.010000000000000002,"total":3,"current":1} +{"_e":"metro:bundling:progress","_t":1784124188115,"id":"1","progress":0.04000000000000001,"total":3,"current":2} +{"_e":"metro:bundling:progress","_t":1784124188216,"id":"1","progress":0.04000000000000001,"total":9,"current":2} +{"_e":"metro:bundling:progress","_t":1784124188230,"id":"1","progress":0.09,"total":9,"current":3} +{"_e":"metro:bundling:progress","_t":1784124188339,"id":"1","progress":0.09,"total":12,"current":3} +{"_e":"metro:bundling:progress","_t":1784124188424,"id":"1","progress":0.1111111111111111,"total":12,"current":4} +{"_e":"metro:bundling:progress","_t":1784124188538,"id":"1","progress":0.12755102040816327,"total":14,"current":5} +{"_e":"metro:bundling:progress","_t":1784124188872,"id":"1","progress":0.18367346938775508,"total":14,"current":6} +{"_e":"metro:bundling:progress","_t":1784124189154,"id":"1","progress":0.18367346938775508,"total":15,"current":6} +{"_e":"metro:bundling:progress","_t":1784124189316,"id":"1","progress":0.2177777777777778,"total":15,"current":7} +{"_e":"metro:bundling:progress","_t":1784124189417,"id":"1","progress":0.2177777777777778,"total":38,"current":8} +{"_e":"metro:bundling:progress","_t":1784124189557,"id":"1","progress":0.2177777777777778,"total":39,"current":10} +{"_e":"metro:bundling:progress","_t":1784124189664,"id":"1","progress":0.2177777777777778,"total":40,"current":11} +{"_e":"metro:bundling:progress","_t":1784124189819,"id":"1","progress":0.2177777777777778,"total":41,"current":12} +{"_e":"metro:bundling:progress","_t":1784124189930,"id":"1","progress":0.2177777777777778,"total":43,"current":13} +{"_e":"metro:bundling:progress","_t":1784124190030,"id":"1","progress":0.2177777777777778,"total":45,"current":14} +{"_e":"metro:bundling:progress","_t":1784124190154,"id":"1","progress":0.2177777777777778,"total":47,"current":16} +{"_e":"metro:bundling:progress","_t":1784124190269,"id":"1","progress":0.2177777777777778,"total":47,"current":18} +{"_e":"metro:bundling:progress","_t":1784124190388,"id":"1","progress":0.2177777777777778,"total":47,"current":19} +{"_e":"metro:bundling:progress","_t":1784124190501,"id":"1","progress":0.2177777777777778,"total":51,"current":20} +{"_e":"metro:bundling:progress","_t":1784124190619,"id":"1","progress":0.2177777777777778,"total":51,"current":21} +{"_e":"metro:bundling:progress","_t":1784124190722,"id":"1","progress":0.2177777777777778,"total":56,"current":24} +{"_e":"metro:bundling:progress","_t":1784124190840,"id":"1","progress":0.2177777777777778,"total":56,"current":25} +{"_e":"metro:bundling:progress","_t":1784124190945,"id":"1","progress":0.25,"total":56,"current":28} +{"_e":"metro:bundling:progress","_t":1784124191040,"id":"1","progress":0.2681760204081633,"total":56,"current":29} +{"_e":"metro:bundling:progress","_t":1784124191155,"id":"1","progress":0.2869897959183673,"total":56,"current":30} +{"_e":"metro:bundling:progress","_t":1784124191255,"id":"1","progress":0.32653061224489793,"total":56,"current":32} +{"_e":"metro:bundling:progress","_t":1784124191357,"id":"1","progress":0.3472576530612245,"total":56,"current":33} +{"_e":"metro:bundling:progress","_t":1784124191494,"id":"1","progress":0.3686224489795918,"total":56,"current":34} +{"_e":"metro:bundling:progress","_t":1784124191619,"id":"1","progress":0.390625,"total":56,"current":35} +{"_e":"metro:bundling:progress","_t":1784124191786,"id":"1","progress":0.390625,"total":58,"current":36} +{"_e":"metro:bundling:progress","_t":1784124191895,"id":"1","progress":0.390625,"total":60,"current":37} +{"_e":"metro:bundling:progress","_t":1784124192012,"id":"1","progress":0.390625,"total":61,"current":38} +{"_e":"metro:bundling:progress","_t":1784124192053,"id":"1","progress":0.40876108572964265,"total":61,"current":39} +{"_e":"metro:bundling:progress","_t":1784124192153,"id":"1","progress":0.40876108572964265,"total":65,"current":39} +{"_e":"metro:bundling:progress","_t":1784124192285,"id":"1","progress":0.40876108572964265,"total":65,"current":40} +{"_e":"metro:bundling:progress","_t":1784124192386,"id":"1","progress":0.40876108572964265,"total":66,"current":41} +{"_e":"metro:bundling:progress","_t":1784124193257,"id":"1","progress":0.40876108572964265,"total":66,"current":42} +{"_e":"metro:bundling:progress","_t":1784124193362,"id":"1","progress":0.4312764535531299,"total":67,"current":44} +{"_e":"metro:bundling:progress","_t":1784124193501,"id":"1","progress":0.4576124567474049,"total":68,"current":46} +{"_e":"metro:bundling:progress","_t":1784124193640,"id":"1","progress":0.5406574394463669,"total":68,"current":50} +{"_e":"metro:bundling:progress","_t":1784124193688,"id":"1","progress":0.5625,"total":68,"current":51} +{"_e":"metro:bundling:progress","_t":1784124193804,"id":"1","progress":0.5847750865051903,"total":68,"current":52} +{"_e":"metro:bundling:progress","_t":1784124194050,"id":"1","progress":0.6074826989619377,"total":68,"current":53} +{"_e":"metro:bundling:progress","_t":1784124194160,"id":"1","progress":0.6074826989619377,"total":69,"current":53} +{"_e":"metro:bundling:progress","_t":1784124194260,"id":"1","progress":0.6074826989619377,"total":80,"current":59} +{"_e":"metro:bundling:progress","_t":1784124194381,"id":"1","progress":0.6074826989619377,"total":80,"current":60} +{"_e":"metro:bundling:progress","_t":1784124194483,"id":"1","progress":0.6074826989619377,"total":85,"current":64} +{"_e":"metro:bundling:progress","_t":1784124194598,"id":"1","progress":0.6074826989619377,"total":85,"current":66} +{"_e":"metro:bundling:progress","_t":1784124194698,"id":"1","progress":0.6074826989619377,"total":89,"current":68} +{"_e":"metro:bundling:progress","_t":1784124194909,"id":"1","progress":0.6074826989619377,"total":89,"current":69} +{"_e":"metro:bundling:progress","_t":1784124195033,"id":"1","progress":0.6074826989619377,"total":90,"current":70} +{"_e":"metro:bundling:progress","_t":1784124195138,"id":"1","progress":0.6087429054462021,"total":91,"current":71} +{"_e":"metro:bundling:progress","_t":1784124195271,"id":"1","progress":0.6087429054462021,"total":105,"current":73} +{"_e":"metro:bundling:progress","_t":1784124195481,"id":"1","progress":0.6087429054462021,"total":205,"current":74} +{"_e":"metro:bundling:progress","_t":1784124195584,"id":"1","progress":0.6087429054462021,"total":212,"current":77} +{"_e":"metro:bundling:progress","_t":1784124195718,"id":"1","progress":0.6087429054462021,"total":212,"current":79} +{"_e":"metro:bundling:progress","_t":1784124195851,"id":"1","progress":0.6087429054462021,"total":213,"current":82} +{"_e":"metro:bundling:progress","_t":1784124196022,"id":"1","progress":0.6087429054462021,"total":215,"current":84} +{"_e":"metro:bundling:progress","_t":1784124196122,"id":"1","progress":0.6087429054462021,"total":216,"current":85} +{"_e":"metro:bundling:progress","_t":1784124196225,"id":"1","progress":0.6087429054462021,"total":216,"current":87} +{"_e":"metro:bundling:progress","_t":1784124196325,"id":"1","progress":0.6087429054462021,"total":220,"current":89} +{"_e":"metro:bundling:progress","_t":1784124196427,"id":"1","progress":0.6087429054462021,"total":226,"current":93} +{"_e":"metro:bundling:progress","_t":1784124196529,"id":"1","progress":0.6087429054462021,"total":229,"current":96} +{"_e":"metro:bundling:progress","_t":1784124196686,"id":"1","progress":0.6087429054462021,"total":229,"current":97} +{"_e":"metro:bundling:progress","_t":1784124196804,"id":"1","progress":0.6087429054462021,"total":231,"current":99} +{"_e":"metro:bundling:progress","_t":1784124196902,"id":"1","progress":0.6087429054462021,"total":231,"current":100} +{"_e":"metro:bundling:progress","_t":1784124197004,"id":"1","progress":0.6087429054462021,"total":232,"current":101} +{"_e":"metro:bundling:progress","_t":1784124197106,"id":"1","progress":0.6087429054462021,"total":234,"current":105} +{"_e":"metro:bundling:progress","_t":1784124197221,"id":"1","progress":0.6087429054462021,"total":234,"current":111} +{"_e":"metro:bundling:progress","_t":1784124197365,"id":"1","progress":0.6087429054462021,"total":234,"current":113} +{"_e":"metro:bundling:progress","_t":1784124197469,"id":"1","progress":0.6087429054462021,"total":234,"current":116} +{"_e":"metro:bundling:progress","_t":1784124197567,"id":"1","progress":0.6087429054462021,"total":234,"current":117} +{"_e":"metro:bundling:progress","_t":1784124197668,"id":"1","progress":0.6087429054462021,"total":234,"current":121} +{"_e":"metro:bundling:progress","_t":1784124197790,"id":"1","progress":0.6087429054462021,"total":234,"current":125} +{"_e":"metro:bundling:progress","_t":1784124197900,"id":"1","progress":0.6087429054462021,"total":234,"current":128} +{"_e":"metro:bundling:progress","_t":1784124198048,"id":"1","progress":0.6087429054462021,"total":234,"current":132} +{"_e":"metro:bundling:progress","_t":1784124198151,"id":"1","progress":0.6087429054462021,"total":234,"current":133} +{"_e":"metro:bundling:progress","_t":1784124198262,"id":"1","progress":0.6087429054462021,"total":234,"current":140} +{"_e":"metro:bundling:progress","_t":1784124198387,"id":"1","progress":0.6087429054462021,"total":234,"current":144} +{"_e":"metro:bundling:progress","_t":1784124198615,"id":"1","progress":0.6087429054462021,"total":234,"current":145} +{"_e":"metro:bundling:progress","_t":1784124198717,"id":"1","progress":0.6087429054462021,"total":234,"current":149} +{"_e":"metro:bundling:progress","_t":1784124198823,"id":"1","progress":0.6087429054462021,"total":234,"current":152} +{"_e":"metro:bundling:progress","_t":1784124198929,"id":"1","progress":0.6087429054462021,"total":234,"current":157} +{"_e":"metro:bundling:progress","_t":1784124199029,"id":"1","progress":0.6087429054462021,"total":234,"current":164} +{"_e":"metro:bundling:progress","_t":1784124199134,"id":"1","progress":0.6087429054462021,"total":234,"current":171} +{"_e":"metro:bundling:progress","_t":1784124199253,"id":"1","progress":0.6087429054462021,"total":234,"current":176} +{"_e":"metro:bundling:progress","_t":1784124199353,"id":"1","progress":0.6087429054462021,"total":234,"current":180} +{"_e":"metro:bundling:progress","_t":1784124199464,"id":"1","progress":0.6183066695887208,"total":234,"current":184} +{"_e":"metro:bundling:progress","_t":1784124199564,"id":"1","progress":0.6523668639053255,"total":234,"current":189} +{"_e":"metro:bundling:progress","_t":1784124199670,"id":"1","progress":0.7015852144057273,"total":234,"current":196} +{"_e":"metro:bundling:progress","_t":1784124199772,"id":"1","progress":0.7525933231061437,"total":234,"current":203} +{"_e":"metro:bundling:progress","_t":1784124199912,"id":"1","progress":0.7674957995470816,"total":234,"current":205} +{"_e":"metro:bundling:progress","_t":1784124199963,"id":"1","progress":0.7750018262838775,"total":234,"current":206} +{"_e":"metro:bundling:progress","_t":1784124200064,"id":"1","progress":0.7750018262838775,"total":237,"current":208} +{"_e":"metro:bundling:progress","_t":1784124200204,"id":"1","progress":0.7750018262838775,"total":238,"current":208} +{"_e":"metro:bundling:progress","_t":1784124200349,"id":"1","progress":0.7750018262838775,"total":238,"current":209} +{"_e":"metro:bundling:progress","_t":1784124200516,"id":"1","progress":0.7750018262838775,"total":245,"current":212} +{"_e":"metro:bundling:progress","_t":1784124200619,"id":"1","progress":0.7750018262838775,"total":252,"current":217} +{"_e":"metro:bundling:progress","_t":1784124200720,"id":"1","progress":0.7750018262838775,"total":255,"current":219} +{"_e":"metro:bundling:progress","_t":1784124200830,"id":"1","progress":0.7750018262838775,"total":255,"current":220} +{"_e":"metro:bundling:progress","_t":1784124200946,"id":"1","progress":0.7750018262838775,"total":258,"current":222} +{"_e":"metro:bundling:progress","_t":1784124201065,"id":"1","progress":0.7750018262838775,"total":266,"current":224} +{"_e":"metro:bundling:progress","_t":1784124201181,"id":"1","progress":0.7750018262838775,"total":266,"current":226} +{"_e":"metro:bundling:progress","_t":1784124201296,"id":"1","progress":0.7750018262838775,"total":266,"current":227} +{"_e":"metro:bundling:progress","_t":1784124201414,"id":"1","progress":0.7750018262838775,"total":268,"current":229} +{"_e":"metro:bundling:progress","_t":1784124201558,"id":"1","progress":0.7750018262838775,"total":268,"current":230} +{"_e":"metro:bundling:progress","_t":1784124201672,"id":"1","progress":0.7750018262838775,"total":268,"current":232} +{"_e":"metro:bundling:progress","_t":1784124201778,"id":"1","progress":0.7750018262838775,"total":276,"current":233} +{"_e":"metro:bundling:progress","_t":1784124201915,"id":"1","progress":0.7750018262838775,"total":276,"current":234} +{"_e":"metro:bundling:progress","_t":1784124202028,"id":"1","progress":0.7750018262838775,"total":277,"current":236} +{"_e":"metro:bundling:progress","_t":1784124202131,"id":"1","progress":0.7750018262838775,"total":293,"current":244} +{"_e":"metro:bundling:progress","_t":1784124202232,"id":"1","progress":0.7750018262838775,"total":295,"current":246} +{"_e":"metro:bundling:progress","_t":1784124202340,"id":"1","progress":0.7750018262838775,"total":295,"current":250} +{"_e":"metro:bundling:progress","_t":1784124202440,"id":"1","progress":0.7750018262838775,"total":297,"current":256} +{"_e":"metro:bundling:progress","_t":1784124202599,"id":"1","progress":0.7750018262838775,"total":297,"current":257} +{"_e":"metro:bundling:progress","_t":1784124202743,"id":"1","progress":0.7750018262838775,"total":297,"current":258} +{"_e":"metro:bundling:progress","_t":1784124202856,"id":"1","progress":0.7750018262838775,"total":297,"current":259} +{"_e":"metro:bundling:progress","_t":1784124202983,"id":"1","progress":0.7750018262838775,"total":298,"current":261} +{"_e":"metro:bundling:progress","_t":1784124203248,"id":"1","progress":0.7750018262838775,"total":298,"current":262} +{"_e":"metro:bundling:progress","_t":1784124203348,"id":"1","progress":0.7795885952058701,"total":299,"current":264} +{"_e":"metro:bundling:progress","_t":1784124203466,"id":"1","progress":0.7914452858469144,"total":299,"current":266} +{"_e":"metro:bundling:progress","_t":1784124203565,"id":"1","progress":0.7974071878390622,"total":299,"current":267} +{"_e":"metro:bundling:progress","_t":1784124203667,"id":"1","progress":0.804011111111111,"total":300,"current":269} +{"_e":"metro:bundling:progress","_t":1784124203771,"id":"1","progress":0.810598117018576,"total":301,"current":271} +{"_e":"metro:bundling:progress","_t":1784124203880,"id":"1","progress":0.8165914283506805,"total":301,"current":272} +{"_e":"metro:bundling:progress","_t":1784124203981,"id":"1","progress":0.8286442754494983,"total":301,"current":274} +{"_e":"metro:bundling:progress","_t":1784124204067,"id":"1","progress":0.8347038112162117,"total":301,"current":275} +{"_e":"metro:bundling:progress","_t":1784124204175,"id":"1","progress":0.8534823034077453,"total":302,"current":279} +{"_e":"metro:bundling:progress","_t":1784124204292,"id":"1","progress":0.8661895892559554,"total":303,"current":282} +{"_e":"metro:bundling:progress","_t":1784124204557,"id":"1","progress":0.8723436700105653,"total":303,"current":283} +{"_e":"metro:bundling:progress","_t":1784124204657,"id":"1","progress":0.8723436700105653,"total":307,"current":284} +{"_e":"metro:bundling:progress","_t":1784124204813,"id":"1","progress":0.8723436700105653,"total":307,"current":286} +{"_e":"metro:bundling:progress","_t":1784124204907,"id":"1","progress":0.8739509172511114,"total":307,"current":287} +{"_e":"metro:bundling:progress","_t":1784124205125,"id":"1","progress":0.8800517777376948,"total":307,"current":288} +{"_e":"metro:bundling:progress","_t":1784124205312,"id":"1","progress":0.8861738586085793,"total":307,"current":289} +{"_e":"metro:bundling:progress","_t":1784124205425,"id":"1","progress":0.8861738586085793,"total":313,"current":290} +{"_e":"metro:bundling:progress","_t":1784124205521,"id":"1","progress":0.8861738586085793,"total":317,"current":293} +{"_e":"metro:bundling:progress","_t":1784124205690,"id":"1","progress":0.8861738586085793,"total":317,"current":294} +{"_e":"metro:bundling:progress","_t":1784124205792,"id":"1","progress":0.8861738586085793,"total":319,"current":296} +{"_e":"metro:bundling:progress","_t":1784124205893,"id":"1","progress":0.8861738586085793,"total":321,"current":298} +{"_e":"metro:bundling:progress","_t":1784124205993,"id":"1","progress":0.8861738586085793,"total":323,"current":302} +{"_e":"metro:bundling:progress","_t":1784124206097,"id":"1","progress":0.8861738586085793,"total":327,"current":307} +{"_e":"metro:bundling:progress","_t":1784124206197,"id":"1","progress":0.9051006550198168,"total":329,"current":313} +{"_e":"metro:bundling:progress","_t":1784124206354,"id":"1","progress":0.9174408477282625,"total":332,"current":318} +{"_e":"metro:bundling:progress","_t":1784124206639,"id":"1","progress":0.923219988387284,"total":332,"current":319} +{"_e":"metro:bundling:progress","_t":1784124206757,"id":"1","progress":0.9582758745826679,"total":332,"current":325} +{"_e":"metro:bundling:progress","_t":1784124206885,"id":"1","progress":0.9582758745826679,"total":346,"current":332} +{"_e":"metro:bundling:progress","_t":1784124207059,"id":"1","progress":0.9582758745826679,"total":346,"current":333} +{"_e":"metro:bundling:progress","_t":1784124207159,"id":"1","progress":0.9582758745826679,"total":346,"current":335} +{"_e":"metro:bundling:progress","_t":1784124207259,"id":"1","progress":0.965618630759464,"total":346,"current":340} +{"_e":"metro:bundling:progress","_t":1784124207371,"id":"1","progress":0.994228006281533,"total":346,"current":345} +{"_e":"metro:bundling:progress","_t":1784124210745,"id":"1","progress":0.999,"total":346,"current":346} +{"_e":"metro:bundling:progress","_t":1784124210849,"id":"1","progress":0.999,"total":348,"current":347} +{"_e":"metro:bundling:progress","_t":1784124210969,"id":"1","progress":0.999,"total":350,"current":348} +{"_e":"metro:bundling:progress","_t":1784124211018,"id":"1","progress":0.999,"total":350,"current":349} +{"_e":"metro:bundling:progress","_t":1784124211119,"id":"1","progress":0.999,"total":350,"current":350} +{"_e":"metro:bundling:done","_t":1784124212041,"id":"1","total":350,"ms":30147.6553} +{"_e":"metro:client_log","_t":1784124212714,"level":"info","data":["%cDownload the React DevTools for a better development experience: https://react.dev/link/react-devtools","font-weight:bold"]} +{"_e":"metro:client_log","_t":1784124212716,"level":"log","data":["Running application \"main\" with appParams:\n","{\"hydrate\": undefined, \"rootTag\": \"#root\"}","\nDevelopment-level warnings: ON.\nPerformance optimizations: OFF."]} +{"_e":"root:init","_t":1784127581620,"format":"v0-jsonl","version":"57.0.8"} +{"_e":"env:mode","_t":1784127581635,"nodeEnv":"development","babelEnv":"development","mode":"development"} +{"_e":"env:load","_t":1784127581655,"mode":"development","files":[],"env":{}} +{"_e":"devserver:start","_t":1784127583114,"mode":"development","web":true,"baseUrl":"","asyncRoutes":false,"routerRoot":"../..\\..\\app","serverComponents":false,"serverActions":false,"serverRendering":false,"apiRoutes":false,"exporting":false} +{"_e":"metro:config","_t":1784127587817,"serverRoot":"../..\\..\\..\\..","projectRoot":"../..\\..","exporting":false,"flags":{"autolinkingModuleResolution":true,"serverActions":false,"serverComponents":false,"reactCompiler":false,"optimizeGraph":false,"treeshaking":false,"logbox":false}} +{"_e":"expo:dev-tools-plugin:load","_t":1784127588644,"plugins":[]} +{"_e":"metro:instantiate","_t":1784127677611,"atlas":false,"workers":3,"host":"::","port":8081} +{"_e":"metro:bundling:started","_t":1784127700591,"id":"1","platform":"web","environment":null,"entry":"playground\\react-native-playground\\index.ts"} +{"_e":"metro:bundling:progress","_t":1784127700592,"id":"1","progress":0,"total":1,"current":0} +{"_e":"metro:bundling:progress","_t":1784127700608,"id":"1","progress":0,"total":1,"current":0} +{"_e":"metro:bundling:progress","_t":1784127700714,"id":"1","progress":0.09,"total":10,"current":3} +{"_e":"metro:bundling:progress","_t":1784127700814,"id":"1","progress":0.09,"total":46,"current":9} +{"_e":"metro:bundling:progress","_t":1784127700915,"id":"1","progress":0.09,"total":58,"current":12} +{"_e":"metro:bundling:progress","_t":1784127701015,"id":"1","progress":0.10053539559785842,"total":82,"current":26} +{"_e":"metro:bundling:progress","_t":1784127701116,"id":"1","progress":0.31640625,"total":96,"current":54} +{"_e":"metro:bundling:progress","_t":1784127701226,"id":"1","progress":0.38525564803804996,"total":116,"current":72} +{"_e":"metro:bundling:progress","_t":1784127701358,"id":"1","progress":0.5735834775086505,"total":136,"current":103} +{"_e":"metro:bundling:progress","_t":1784127701465,"id":"1","progress":0.5735834775086505,"total":168,"current":124} +{"_e":"metro:bundling:progress","_t":1784127701574,"id":"1","progress":0.6010604721626057,"total":178,"current":138} +{"_e":"metro:bundling:progress","_t":1784127701681,"id":"1","progress":0.6725735561714398,"total":189,"current":155} +{"_e":"metro:bundling:progress","_t":1784127701807,"id":"1","progress":0.8287869348522605,"total":212,"current":193} +{"_e":"metro:bundling:progress","_t":1784127701924,"id":"1","progress":0.8287869348522605,"total":221,"current":196} +{"_e":"metro:bundling:progress","_t":1784127702226,"id":"1","progress":0.8287869348522605,"total":221,"current":201} +{"_e":"metro:bundling:progress","_t":1784127702227,"id":"1","progress":0.8354456296963616,"total":221,"current":202} +{"_e":"metro:bundling:progress","_t":1784127702444,"id":"1","progress":0.9670804566037086,"total":241,"current":237} +{"_e":"metro:bundling:progress","_t":1784127702728,"id":"1","progress":0.9670804566037086,"total":243,"current":237} +{"_e":"metro:bundling:progress","_t":1784127702744,"id":"1","progress":0.9670804566037086,"total":243,"current":238} +{"_e":"metro:bundling:progress","_t":1784127702859,"id":"1","progress":0.9919517429760666,"total":248,"current":247} +{"_e":"metro:bundling:progress","_t":1784127705066,"id":"1","progress":0.999,"total":248,"current":248} +{"_e":"metro:bundling:progress","_t":1784127705299,"id":"1","progress":0.999,"total":350,"current":248} +{"_e":"metro:bundling:progress","_t":1784127705395,"id":"1","progress":0.999,"total":350,"current":249} +{"_e":"metro:bundling:progress","_t":1784127705509,"id":"1","progress":0.999,"total":351,"current":350} +{"_e":"metro:bundling:progress","_t":1784127705646,"id":"1","progress":0.999,"total":351,"current":351} +{"_e":"metro:bundling:done","_t":1784127705814,"id":"1","total":351,"ms":5222.7938} +{"_e":"metro:client_log","_t":1784127706416,"level":"info","data":["%cDownload the React DevTools for a better development experience: https://react.dev/link/react-devtools","font-weight:bold"]} +{"_e":"metro:client_log","_t":1784127706418,"level":"log","data":["Running application \"main\" with appParams:\n","{\"hydrate\": undefined, \"rootTag\": \"#root\"}","\nDevelopment-level warnings: ON.\nPerformance optimizations: OFF."]} +{"_e":"metro:bundling:failed","_t":1784127868897,"id":null,"message":"SyntaxError: C:\\Users\\Nick Jody\\Projects\\kivex\\playground\\react-native-playground\\App.tsx: Unexpected token, expected \",\" (21:2)\n\n 19 | { name: 'ArrowLeft', Icon: ArrowLeft },\n 20 | { name: 'ArrowUpRight', Icon: ArrowUpRight}\n> 21 | { name: 'ArrowLeftFromLine', Icon: ArrowLeftFromLine}\n | ^\n 22 | ];\n 23 |\n 24 | export default function App() {","importStack":null,"filename":"App.tsx","targetModuleName":null,"originModulePath":null} +{"_e":"metro:client_log","_t":1784127868911,"level":"error","data":["[TransformError: SyntaxError: C:\\Users\\Nick Jody\\Projects\\kivex\\playground\\react-native-playground\\App.tsx: Unexpected token, expected \",\" (21:2)\n\n 19 | { name: 'ArrowLeft', Icon: ArrowLeft },\n 20 | { name: 'ArrowUpRight', Icon: ArrowUpRight}\n> 21 | { name: 'ArrowLeftFromLine', Icon: ArrowLeftFromLine}\n | ^\n 22 | ];\n 23 |\n 24 | export default function App() {]"]} +{"_e":"metro:bundling:failed","_t":1784127869035,"id":null,"message":"SyntaxError: C:\\Users\\Nick Jody\\Projects\\kivex\\playground\\react-native-playground\\App.tsx: Unexpected token, expected \",\" (21:2)\n\n 19 | { name: 'ArrowLeft', Icon: ArrowLeft },\n 20 | { name: 'ArrowUpRight', Icon: ArrowUpRight}\n> 21 | { name: 'ArrowLeftFromLine', Icon: ArrowLeftFromLine}\n | ^\n 22 | ];\n 23 |\n 24 | export default function App() {","importStack":null,"filename":"App.tsx","targetModuleName":null,"originModulePath":null} +{"_e":"metro:client_log","_t":1784127869043,"level":"error","data":["[TransformError: SyntaxError: C:\\Users\\Nick Jody\\Projects\\kivex\\playground\\react-native-playground\\App.tsx: Unexpected token, expected \",\" (21:2)\n\n 19 | { name: 'ArrowLeft', Icon: ArrowLeft },\n 20 | { name: 'ArrowUpRight', Icon: ArrowUpRight}\n> 21 | { name: 'ArrowLeftFromLine', Icon: ArrowLeftFromLine}\n | ^\n 22 | ];\n 23 |\n 24 | export default function App() {]"]} +{"_e":"metro:bundling:failed","_t":1784127869118,"id":null,"message":"SyntaxError: C:\\Users\\Nick Jody\\Projects\\kivex\\playground\\react-native-playground\\App.tsx: Unexpected token, expected \",\" (21:2)\n\n 19 | { name: 'ArrowLeft', Icon: ArrowLeft },\n 20 | { name: 'ArrowUpRight', Icon: ArrowUpRight}\n> 21 | { name: 'ArrowLeftFromLine', Icon: ArrowLeftFromLine}\n | ^\n 22 | ];\n 23 |\n 24 | export default function App() {","importStack":null,"filename":"App.tsx","targetModuleName":null,"originModulePath":null} +{"_e":"metro:client_log","_t":1784127869122,"level":"error","data":["[TransformError: SyntaxError: C:\\Users\\Nick Jody\\Projects\\kivex\\playground\\react-native-playground\\App.tsx: Unexpected token, expected \",\" (21:2)\n\n 19 | { name: 'ArrowLeft', Icon: ArrowLeft },\n 20 | { name: 'ArrowUpRight', Icon: ArrowUpRight}\n> 21 | { name: 'ArrowLeftFromLine', Icon: ArrowLeftFromLine}\n | ^\n 22 | ];\n 23 |\n 24 | export default function App() {]"]} +{"_e":"metro:bundling:failed","_t":1784127871974,"id":null,"message":"SyntaxError: C:\\Users\\Nick Jody\\Projects\\kivex\\playground\\react-native-playground\\App.tsx: Unexpected token, expected \",\" (21:2)\n\n 19 | { name: 'ArrowLeft', Icon: ArrowLeft },\n 20 | { name: 'ArrowUpRight', Icon: ArrowUpRight}\n> 21 | { name: 'ArrowLeftFromLine', Icon: ArrowLeftFromLine}\n | ^\n 22 | ];\n 23 |\n 24 | export default function App() {","importStack":null,"filename":"App.tsx","targetModuleName":null,"originModulePath":null} +{"_e":"metro:client_log","_t":1784127871977,"level":"error","data":["[TransformError: SyntaxError: C:\\Users\\Nick Jody\\Projects\\kivex\\playground\\react-native-playground\\App.tsx: Unexpected token, expected \",\" (21:2)\n\n 19 | { name: 'ArrowLeft', Icon: ArrowLeft },\n 20 | { name: 'ArrowUpRight', Icon: ArrowUpRight}\n> 21 | { name: 'ArrowLeftFromLine', Icon: ArrowLeftFromLine}\n | ^\n 22 | ];\n 23 |\n 24 | export default function App() {]"]} +{"_e":"metro:bundling:failed","_t":1784127874150,"id":null,"message":"SyntaxError: C:\\Users\\Nick Jody\\Projects\\kivex\\playground\\react-native-playground\\App.tsx: Unexpected token, expected \",\" (21:2)\n\n 19 | { name: 'ArrowLeft', Icon: ArrowLeft },\n 20 | { name: 'ArrowUpRight', Icon: ArrowUpRight}\n> 21 | { name: 'ArrowLeftFromLine', Icon: ArrowLeftFromLine}\n | ^\n 22 | ];\n 23 |\n 24 | export default function App() {","importStack":null,"filename":"App.tsx","targetModuleName":null,"originModulePath":null} +{"_e":"metro:client_log","_t":1784127874156,"level":"error","data":["[TransformError: SyntaxError: C:\\Users\\Nick Jody\\Projects\\kivex\\playground\\react-native-playground\\App.tsx: Unexpected token, expected \",\" (21:2)\n\n 19 | { name: 'ArrowLeft', Icon: ArrowLeft },\n 20 | { name: 'ArrowUpRight', Icon: ArrowUpRight}\n> 21 | { name: 'ArrowLeftFromLine', Icon: ArrowLeftFromLine}\n | ^\n 22 | ];\n 23 |\n 24 | export default function App() {]"]} +{"_e":"metro:bundling:failed","_t":1784127875211,"id":null,"message":"SyntaxError: C:\\Users\\Nick Jody\\Projects\\kivex\\playground\\react-native-playground\\App.tsx: Unexpected token, expected \",\" (21:2)\n\n 19 | { name: 'ArrowLeft', Icon: ArrowLeft },\n 20 | { name: 'ArrowUpRight', Icon: ArrowUpRight}\n> 21 | { name: 'ArrowLeftFromLine', Icon: ArrowLeftFromLine}\n | ^\n 22 | ];\n 23 |\n 24 | export default function App() {","importStack":null,"filename":"App.tsx","targetModuleName":null,"originModulePath":null} +{"_e":"metro:client_log","_t":1784127875216,"level":"error","data":["[TransformError: SyntaxError: C:\\Users\\Nick Jody\\Projects\\kivex\\playground\\react-native-playground\\App.tsx: Unexpected token, expected \",\" (21:2)\n\n 19 | { name: 'ArrowLeft', Icon: ArrowLeft },\n 20 | { name: 'ArrowUpRight', Icon: ArrowUpRight}\n> 21 | { name: 'ArrowLeftFromLine', Icon: ArrowLeftFromLine}\n | ^\n 22 | ];\n 23 |\n 24 | export default function App() {]"]} +{"_e":"metro:bundling:failed","_t":1784127876307,"id":null,"message":"SyntaxError: C:\\Users\\Nick Jody\\Projects\\kivex\\playground\\react-native-playground\\App.tsx: Unexpected token, expected \",\" (21:2)\n\n 19 | { name: 'ArrowLeft', Icon: ArrowLeft },\n 20 | { name: 'ArrowUpRight', Icon: ArrowUpRight}\n> 21 | { name: 'ArrowLeftFromLine', Icon: ArrowLeftFromLine}\n | ^\n 22 | ];\n 23 |\n 24 | export default function App() {","importStack":null,"filename":"App.tsx","targetModuleName":null,"originModulePath":null} +{"_e":"metro:client_log","_t":1784127876310,"level":"error","data":["[TransformError: SyntaxError: C:\\Users\\Nick Jody\\Projects\\kivex\\playground\\react-native-playground\\App.tsx: Unexpected token, expected \",\" (21:2)\n\n 19 | { name: 'ArrowLeft', Icon: ArrowLeft },\n 20 | { name: 'ArrowUpRight', Icon: ArrowUpRight}\n> 21 | { name: 'ArrowLeftFromLine', Icon: ArrowLeftFromLine}\n | ^\n 22 | ];\n 23 |\n 24 | export default function App() {]"]} +{"_e":"metro:bundling:failed","_t":1784127877492,"id":null,"message":"SyntaxError: C:\\Users\\Nick Jody\\Projects\\kivex\\playground\\react-native-playground\\App.tsx: Unexpected token, expected \",\" (21:2)\n\n 19 | { name: 'ArrowLeft', Icon: ArrowLeft },\n 20 | { name: 'ArrowUpRight', Icon: ArrowUpRight}\n> 21 | { name: 'ArrowLeftFromLine', Icon: ArrowLeftFromLine}\n | ^\n 22 | ];\n 23 |\n 24 | export default function App() {","importStack":null,"filename":"App.tsx","targetModuleName":null,"originModulePath":null} +{"_e":"metro:client_log","_t":1784127877494,"level":"error","data":["[TransformError: SyntaxError: C:\\Users\\Nick Jody\\Projects\\kivex\\playground\\react-native-playground\\App.tsx: Unexpected token, expected \",\" (21:2)\n\n 19 | { name: 'ArrowLeft', Icon: ArrowLeft },\n 20 | { name: 'ArrowUpRight', Icon: ArrowUpRight}\n> 21 | { name: 'ArrowLeftFromLine', Icon: ArrowLeftFromLine}\n | ^\n 22 | ];\n 23 |\n 24 | export default function App() {]"]} +{"_e":"metro:bundling:started","_t":1784127951158,"id":"3","platform":"web","environment":null,"entry":"playground\\react-native-playground\\index.ts"} +{"_e":"metro:bundling:progress","_t":1784127951159,"id":"3","progress":0,"total":1,"current":0} +{"_e":"metro:bundling:done","_t":1784127951245,"id":"3","total":1,"ms":86.6559} +{"_e":"metro:client_log","_t":1784127951759,"level":"info","data":["%cDownload the React DevTools for a better development experience: https://react.dev/link/react-devtools","font-weight:bold"]} +{"_e":"metro:client_log","_t":1784127951759,"level":"log","data":["Running application \"main\" with appParams:\n","{\"hydrate\": undefined, \"rootTag\": \"#root\"}","\nDevelopment-level warnings: ON.\nPerformance optimizations: OFF."]} diff --git a/playground/react-native-playground/.expo/devices.json b/playground/react-native-playground/.expo/devices.json new file mode 100644 index 0000000..5efff6c --- /dev/null +++ b/playground/react-native-playground/.expo/devices.json @@ -0,0 +1,3 @@ +{ + "devices": [] +} diff --git a/playground/react-native-playground/.expo/web/cache/production/images/favicon/favicon-a4e030697a7571b3e95d31860e4da55d2f98e5e861e2b55e414f45a8556828ba-contain-transparent/favicon-48.png b/playground/react-native-playground/.expo/web/cache/production/images/favicon/favicon-a4e030697a7571b3e95d31860e4da55d2f98e5e861e2b55e414f45a8556828ba-contain-transparent/favicon-48.png new file mode 100644 index 0000000000000000000000000000000000000000..c612d281543724872be5c6f6390effcab33c23c1 GIT binary patch literal 1448 zcmV;Z1y}lsP)vP)>g5}eqTsdH7XziWP3e%dAU1)D7a)fWByuS(&gFgtQbAMKJMC@ugR9FJ=AZ2y&GW7D1sLiM=E@ZJ(zK7Dz627qer|61-qaKf5VM@PktqKMDTNkqP`?rzCRG<$z$1||-eT>ky~^&|bqPhgE{+wJjeud7#P z?%lnM6&zS$?9%x7k^bW+utqgCyWNtLX!ich4Bm6#z25Kpj-LPd!bPlcZM!`lJLA~}hW$B@@^xUWyHR}`!hP9hpOJ$MFr40%0=`;KCr z=|43%C^?A)U)OFxm%2JdVNN1~O`^#RG@eBC%Pzi<# z4BdH+LSz!)_YywvdkHcLC?pu;s02fqCX*RxJc~lc_HV{YlE^TAa0?2Fs|MmP4U~(a zOu-mOA-%0N@a?RISx18i-;Qb&5{z+_i=hmY$qY1}g_%qOhC2zxT>fqgB$2@^t{R9Y zGbjf`8G=ICnBr^EDghB!_j&d-RXfm0B#8~zmtdyx zEW!yLrC=yQFvejflYrq)LaF>-f+RASg%dh-BL}M(ESgMapz$os{9c0W5>P5hWbk_l zX1b9>IHAKT28)6*4l|hq^t9HXTm$VAnzn9$Sva9XH*&Co!Gh@*Z=mrk%&r}(MWsgf zZ-$v}4Xj{k&N)^gi411Ftu<)ewgHvuXb|DsQ4O>0Bw#gZ&N+MaN>#Cnjs_7j z3HU%J0mGdHyNrFi8Is8GflLBA8bqvS;aMuh9?Z|p!Gb>y)j}o#@AS7zkX-`oB9j2W zm++1xGTc746;>=fee%Tdc6r(8`M&QcR#Cgjf!@{{{P5K#c)#2TyS2$*VBd~v{PZ=U zc9R2EOpO0}i9LUsN~JmHus{+SWS4;dOVhRukVFP6v_(~&{%dNA>1ocdUI~S;&O~oT zBFJON3r~bDr#a_XC$vRXjoymfK%N76%gcuGcG+0=e&h3D9T+(~G?bX1n?;@j?>&C> z@PXtcSKDrn2Wwb(A{3ekUb=|)99UuY{>-#or!+J+yWLoWqBkRvvu948zzPnSOy9dZ zB{|8}w%g;u8WNreh0dNic>*R56fk>#X8NC3>SE(Ax7$fX_>9s^oL?9{cP{YD*eD99 z!biyUiqdnq?`Y5AzCO8LQSb?+mpH%rTPPI161uE&&QU}aEb?`Acen4^+u7LM($d)E zb~{}}uu*!6^H-XxKA4}Io4I#)>iM%&O6Qzo75@QXqVoAPl66f00000