{"_id":"@canakyuz/calendar","_rev":"4-2f83b5f2f24712295856fbea7388621f","name":"@canakyuz/calendar","dist-tags":{"latest":"2.0.0"},"versions":{"1.0.5":{"name":"@canakyuz/calendar","version":"1.0.5","keywords":["expo","calendar","react-native","takvim"],"author":{"name":"Can Akyuz","email":"canakyuz23@outlook.com"},"license":"MIT","_id":"@canakyuz/calendar@1.0.5","maintainers":[{"name":"canakyuz","email":"canakyuz23@outlook.com"}],"homepage":"https://github.com/canakyuz/calendar#readme","bugs":{"url":"https://github.com/canakyuz/calendar/issues"},"dist":{"shasum":"884db33547c55efc88da8e28bff940ce948078c9","tarball":"https://registry.npmjs.org/@canakyuz/calendar/-/calendar-1.0.5.tgz","fileCount":36,"integrity":"sha512-6nExnAgFAzPjJBA0+YpJcvph4Ct7AWzgR66W9fgP7ySj6wMJPZzhqguwnBzxyZgOfmGaUAFkI0lF3DHr0ryqvQ==","signatures":[{"sig":"MEUCIDI+6fNHeVeSNiOVg/WnLDu3/+7AE/sDm2RfClp6u3KwAiEAr+YMuQNrlNxh5+bx7G0g9nhpj6ixTs/7jw9izVf/lWg=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":292304},"jest":{"preset":"jest-expo"},"main":"expo-router/entry","gitHead":"ca8ee94e8fa96be1ec90d91a39b3c9bf10dcfe0b","scripts":{"ios":"expo start --ios","web":"expo start --web","test":"jest --watchAll","start":"expo start","android":"expo start --android","publish-pkg":"npm publish","prepare-publish":"npm version patch"},"_npmUser":{"name":"canakyuz","email":"canakyuz23@outlook.com"},"repository":{"url":"git+https://github.com/canakyuz/calendar.git","type":"git"},"_npmVersion":"10.9.2","description":"Expo ile oluşturulmuş özelleştirilebilir takvim uygulaması","directories":{},"_nodeVersion":"22.13.1","dependencies":{"expo":"~52.0.37","react":"18.3.1","expo-font":"~13.0.4","react-dom":"18.3.1","expo-router":"~4.0.17","expo-linking":"~7.0.5","react-native":"0.76.7","expo-system-ui":"~4.0.8","expo-status-bar":"~2.0.1","expo-web-browser":"~14.0.2","react-native-web":"~0.19.13","@expo/vector-icons":"^14.0.2","expo-splash-screen":"~0.29.22","react-native-screens":"~4.4.0","react-native-reanimated":"~3.16.1","@react-navigation/native":"^7.0.14","react-native-safe-area-context":"4.12.0"},"publishConfig":{"access":"public","registry":"https://registry.npmjs.org/"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^29.2.1","jest-expo":"~52.0.4","typescript":"~5.3.3","@babel/core":"^7.25.2","@types/react":"~18.3.12","react-test-renderer":"18.3.1"},"_npmOperationalInternal":{"tmp":"tmp/calendar_1.0.5_1741466678562_0.2160476677416472","host":"s3://npm-registry-packages-npm-production"}},"1.0.6":{"name":"@canakyuz/calendar","version":"1.0.6","keywords":["expo","calendar","react-native","takvim"],"author":{"name":"Can Akyuz","email":"canakyuz23@outlook.com"},"license":"MIT","_id":"@canakyuz/calendar@1.0.6","maintainers":[{"name":"canakyuz","email":"canakyuz23@outlook.com"}],"homepage":"https://github.com/canakyuz/calendar#readme","bugs":{"url":"https://github.com/canakyuz/calendar/issues"},"dist":{"shasum":"38fc8a74e786376a7e8acf998459858554546770","tarball":"https://registry.npmjs.org/@canakyuz/calendar/-/calendar-1.0.6.tgz","fileCount":37,"integrity":"sha512-1XQ+HcgloK5I84DlK/DC2BrIxaOcqnD5gwvwrlJb+tWddXVPwv8Fwd6jO6hEjLU6Tr90ksckTfU7x17xBnAciA==","signatures":[{"sig":"MEUCIQDxGNG7Ropp8PzR1g1xjmgPCRMHSLeEidulB5fgakM/8QIgBjIw9Y9fK4NsV5bM0eS2J9P3Cb/TaZtr4yOL9vQtAb8=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":293543},"jest":{"preset":"jest-expo"},"main":"components/Calendar/index.tsx","types":"components/Calendar/index.d.ts","gitHead":"8b2d5c2e9f492406f5011b661cde3648777552a7","scripts":{"ios":"expo start --ios","web":"expo start --web","test":"jest --watchAll","start":"expo start","android":"expo start --android","publish-pkg":"npm publish","prepare-publish":"npm version patch"},"_npmUser":{"name":"canakyuz","email":"canakyuz23@outlook.com"},"repository":{"url":"git+https://github.com/canakyuz/calendar.git","type":"git"},"_npmVersion":"10.9.2","description":"Expo ile oluşturulmuş özelleştirilebilir takvim uygulaması","directories":{},"_nodeVersion":"22.13.1","dependencies":{"expo":"~52.0.37","react":"18.3.1","expo-font":"~13.0.4","react-dom":"18.3.1","expo-router":"~4.0.17","expo-linking":"~7.0.5","react-native":"0.76.7","expo-system-ui":"~4.0.8","expo-status-bar":"~2.0.1","expo-web-browser":"~14.0.2","react-native-web":"~0.19.13","@expo/vector-icons":"^14.0.2","expo-splash-screen":"~0.29.22","react-native-screens":"~4.4.0","react-native-reanimated":"~3.16.1","@react-navigation/native":"^7.0.14","react-native-safe-area-context":"4.12.0"},"publishConfig":{"access":"public","registry":"https://registry.npmjs.org/"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^29.2.1","jest-expo":"~52.0.4","typescript":"~5.3.3","@babel/core":"^7.25.2","@types/react":"~18.3.12","react-test-renderer":"18.3.1"},"_npmOperationalInternal":{"tmp":"tmp/calendar_1.0.6_1741467741038_0.4660126666853506","host":"s3://npm-registry-packages-npm-production"}},"1.0.7":{"name":"@canakyuz/calendar","version":"1.0.7","keywords":["expo","calendar","react-native","takvim"],"author":{"name":"Can Akyuz","email":"canakyuz23@outlook.com"},"license":"MIT","_id":"@canakyuz/calendar@1.0.7","maintainers":[{"name":"canakyuz","email":"canakyuz23@outlook.com"}],"homepage":"https://github.com/canakyuz/calendar#readme","bugs":{"url":"https://github.com/canakyuz/calendar/issues"},"dist":{"shasum":"e7afe9ef2263ba8cbca7e12843fd041bbd3edcaa","tarball":"https://registry.npmjs.org/@canakyuz/calendar/-/calendar-1.0.7.tgz","fileCount":37,"integrity":"sha512-KGIM+s6Myfn+6r+oMC0FncmB7n6mao8Z8SOo60QzXH/CN68M8zJ5x6rPlm/AblwL6wnFkbpNZVQoGGNpHmS9Cw==","signatures":[{"sig":"MEQCIChO7D8IGCoqgtaUuIsIPIhFO+5XZF4AjnwZWOkkz1C8AiA/NrUXz57t3SBA6nk9bMczq6Q3SmgF5jjHF2I/ol+BZQ==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":306067},"jest":{"preset":"jest-expo"},"main":"components/Calendar/index.tsx","types":"components/Calendar/index.d.ts","gitHead":"8b2d5c2e9f492406f5011b661cde3648777552a7","scripts":{"ios":"expo start --ios","web":"expo start --web","test":"jest --watchAll","start":"expo start","android":"expo start --android","publish-pkg":"npm publish","prepare-publish":"npm version patch"},"_npmUser":{"name":"canakyuz","email":"canakyuz23@outlook.com"},"repository":{"url":"git+https://github.com/canakyuz/calendar.git","type":"git"},"_npmVersion":"10.9.2","description":"Expo ile oluşturulmuş özelleştirilebilir takvim uygulaması","directories":{},"_nodeVersion":"22.13.1","dependencies":{"expo":"~52.0.37","react":"18.3.1","expo-font":"~13.0.4","react-dom":"18.3.1","expo-router":"~4.0.17","expo-linking":"~7.0.5","react-native":"0.76.7","expo-system-ui":"~4.0.8","expo-status-bar":"~2.0.1","expo-web-browser":"~14.0.2","react-native-web":"~0.19.13","@expo/vector-icons":"^14.0.2","expo-splash-screen":"~0.29.22","react-native-screens":"~4.4.0","react-native-reanimated":"~3.16.1","@react-navigation/native":"^7.0.14","react-native-safe-area-context":"4.12.0"},"publishConfig":{"access":"public","registry":"https://registry.npmjs.org/"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^29.2.1","jest-expo":"~52.0.4","typescript":"~5.3.3","@babel/core":"^7.25.2","@types/react":"~18.3.12","react-test-renderer":"18.3.1"},"_npmOperationalInternal":{"tmp":"tmp/calendar_1.0.7_1741468652797_0.9778931041489556","host":"s3://npm-registry-packages-npm-production"}},"2.0.0":{"name":"@canakyuz/calendar","main":"components/Calendar/index.tsx","types":"components/Calendar/index.d.ts","license":"MIT","version":"2.0.0","description":"Expo ile oluşturulmuş özelleştirilebilir takvim uygulaması","author":{"name":"Can Akyuz","email":"canakyuz23@outlook.com"},"repository":{"type":"git","url":"git+https://github.com/canakyuz/calendar.git"},"keywords":["expo","calendar","react-native","takvim"],"scripts":{"start":"expo start","android":"expo start --android","ios":"expo start --ios","web":"expo start --web","test":"jest --watchAll","prepare-publish":"npm version patch","publish-pkg":"npm publish"},"jest":{"preset":"jest-expo"},"dependencies":{"@expo/vector-icons":"^14.0.4","@react-navigation/native":"^7.0.14","expo":"~52.0.37","expo-constants":"^17.0.7","expo-font":"~13.0.4","expo-linking":"~7.0.5","expo-router":"~4.0.17","expo-splash-screen":"~0.29.22","expo-status-bar":"~2.0.1","expo-system-ui":"~4.0.8","expo-web-browser":"~14.0.2","react":"18.3.1","react-dom":"18.3.1","react-native":"0.76.7","react-native-reanimated":"~3.16.1","react-native-safe-area-context":"^4.12.0","react-native-screens":"~4.4.0","react-native-web":"~0.19.13"},"devDependencies":{"@babel/core":"^7.25.2","@types/react":"~18.3.12","jest":"^29.2.1","jest-expo":"~52.0.4","react-test-renderer":"18.3.1","typescript":"~5.3.3"},"publishConfig":{"registry":"https://registry.npmjs.org/","access":"public"},"_id":"@canakyuz/calendar@2.0.0","gitHead":"759635f9d38b43004e8258c234603aa5aff48898","bugs":{"url":"https://github.com/canakyuz/calendar/issues"},"homepage":"https://github.com/canakyuz/calendar#readme","_nodeVersion":"22.13.1","_npmVersion":"10.9.2","dist":{"integrity":"sha512-j1RS65SearHae4TCshZQLrm/RCJiB6q5hxGzJYsUV4tcska+B9+z95cY7PvGrOnBe47Uno4O2SkIIGeMHoyOlA==","shasum":"c8155c948978d6692d1406e6a30dc9686e8790ad","tarball":"https://registry.npmjs.org/@canakyuz/calendar/-/calendar-2.0.0.tgz","fileCount":38,"unpackedSize":313976,"signatures":[{"keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U","sig":"MEUCIQClxhHOV6stTZFBD8LWdyzbWp7KI4nQL7cHfuj8Ap+o7QIga5wiDZ67YtzNhbwL+4nuzSa+gs5WBrBiySaqF3Cq2+o="}]},"_npmUser":{"name":"canakyuz","email":"canakyuz23@outlook.com"},"directories":{},"maintainers":[{"name":"canakyuz","email":"canakyuz23@outlook.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages-npm-production","tmp":"tmp/calendar_2.0.0_1741471854654_0.8168631796109203"},"_hasShrinkwrap":false}},"time":{"created":"2025-03-08T20:44:38.439Z","modified":"2025-03-08T22:10:55.007Z","1.0.5":"2025-03-08T20:44:38.784Z","1.0.6":"2025-03-08T21:02:21.220Z","1.0.7":"2025-03-08T21:17:33.039Z","2.0.0":"2025-03-08T22:10:54.838Z"},"bugs":{"url":"https://github.com/canakyuz/calendar/issues"},"author":{"name":"Can Akyuz","email":"canakyuz23@outlook.com"},"license":"MIT","homepage":"https://github.com/canakyuz/calendar#readme","keywords":["expo","calendar","react-native","takvim"],"repository":{"type":"git","url":"git+https://github.com/canakyuz/calendar.git"},"description":"Expo ile oluşturulmuş özelleştirilebilir takvim uygulaması","maintainers":[{"name":"canakyuz","email":"canakyuz23@outlook.com"}],"readme":"# Expo Calendar\n\nExpo ile oluşturulmuş, özelleştirilebilir ve kullanımı kolay bir takvim uygulaması.\n\n![Banner Görseli](./assets/docs/index.png)\n\n## Kurulum\n\nPaketi kurmak için aşağıdaki komutu kullanabilirsiniz:\n\n```bash\nnpm install @canakyuz/calendar\n```\n\nveya\n\n```bash\nyarn add @canakyuz/calendar\n```\n\n## İçindekiler\n\n- [Genel Bakış](#genel-bakış)\n- [Bileşenler](#bileşenler)\n  - [Calendar](#calendar-ana-bileşen)\n  - [DailyView](#dailyview-günlük-görünüm)\n  - [WeeklyView](#weeklyview-haftalık-görünüm)\n  - [MonthlyView](#monthlyview-aylık-görünüm)\n  - [CalendarHeader](#calendarheader-takvim-başlığı)\n  - [DateSelector](#dateselector-tarih-seçici)\n- [Temalar](#temalar)\n- [Minimal Mod](#minimal-mod)\n- [Örnekler](#örnekler)\n- [Geliştirme](#geliştirme)\n- [Sürüm Notları](#sürüm-notları)\n- [Lisans](#lisans)\n\n## Genel Bakış\n\n@canakyuz/calendar paketi, React Native ve Expo projeleri için tam özelleştirilebilir bir takvim çözümüdür. Ana bileşen olan Calendar'ı kullanarak başlayabilir veya alt bileşenleri ihtiyaçlarınıza göre ayrı ayrı kullanabilirsiniz.\n\nPaket, aşağıdaki görünüm modlarını destekler:\n\n- **Günlük Görünüm**: Tek bir günün detaylı incelemesi\n- **Haftalık Görünüm**: Bir haftanın genel görünümü\n- **Aylık Görünüm**: Tam ay takvimi\n- **Minimal Mod**: Sadece temel takvim işlevselliği için optimize edilmiş hafif versiyon\n\n## Bileşenler\n\n### Calendar (Ana Bileşen)\n\nCalendar, paketin ana bileşenidir ve tüm görünüm modlarını ve özellikleri içerir.\n\n```jsx\nimport React from 'react';\nimport { View } from 'react-native';\nimport { Calendar } from '@canakyuz/calendar';\n\nexport default function CalendarExample() {\n  const handleDateSelect = (date) => {\n    console.log('Seçilen tarih:', date);\n  };\n\n  return (\n    <View style={{ flex: 1 }}>\n      <Calendar \n        date={new Date()} \n        onDatePress={handleDateSelect}\n        view=\"weekly\" // 'daily', 'weekly', 'monthly' veya 'agenda'\n        theme={{\n          primaryColor: '#3498db',\n          textColor: '#333',\n          todayColor: '#e74c3c',\n          selectedDayColor: '#2980b9'\n        }}\n        tasks={[\n          {\n            id: '1',\n            title: 'Toplantı',\n            startTime: new Date(2023, 9, 15, 10, 0),\n            endTime: new Date(2023, 9, 15, 11, 30),\n            color: '#e74c3c'\n          },\n          {\n            id: '2',\n            title: 'Öğle Yemeği',\n            startTime: new Date(2023, 9, 15, 12, 0),\n            endTime: new Date(2023, 9, 15, 13, 0),\n            color: '#2ecc71'\n          }\n        ]}\n      />\n    </View>\n  );\n}\n```\n\n#### Calendar Props\n\n| Prop | Tip | Varsayılan | Açıklama |\n|------|-----|------------|----------|\n| date | Date | Bugün | Takvimin göstereceği tarih |\n| view | 'daily' \\| 'weekly' \\| 'monthly' \\| 'agenda' | 'weekly' | Takvimin görünüm modu |\n| tasks | Task[] | [] | Gösterilecek etkinlikler dizisi |\n| onDatePress | (date: Date) => void | - | Bir tarih seçildiğinde çalışacak fonksiyon |\n| onTaskPress | (task: Task) => void | - | Bir etkinliğe tıklandığında çalışacak fonksiyon |\n| theme | ThemeProps | {} | Takvimin teması |\n| minimalMode | boolean | false | Minimal modu aktifleştirir |\n| compact | boolean | false | Kompakt görünüm modunu aktifleştirir |\n| showHeader | boolean | true | Takvim başlığını gösterir/gizler |\n| showNavigation | boolean | true | Navigasyon düğmelerini gösterir/gizler |\n| renderDayContent | (date: Date, events: Task[]) => React.ReactNode | - | Özel gün içeriği renderlamak için fonksiyon |\n| logoSource | any | - | Sol üstteki logo için kaynak |\n| notificationIcon | React.ReactNode | - | Sağ üstteki bildirim ikonu |\n| renderLogo | () => React.ReactNode | - | Özel logo render fonksiyonu |\n| renderNotification | () => React.ReactNode | - | Özel bildirim ikonu render fonksiyonu |\n| renderHeader | () => React.ReactNode | - | Özel başlık render fonksiyonu |\n| hideNotification | boolean | false | Bildirim ikonunu gizler |\n| hideLogo | boolean | false | Logoyu gizler |\n\n### DailyView (Günlük Görünüm)\n\nDailyView, tek bir günün detaylı görünümünü sağlar.\n\n```jsx\nimport React from 'react';\nimport { View } from 'react-native';\nimport { DailyView } from '@canakyuz/calendar';\n\nexport default function DailyViewExample() {\n  return (\n    <View style={{ flex: 1 }}>\n      <DailyView\n        date={new Date(2023, 9, 15)}\n        tasks={[\n          {\n            id: '1',\n            title: 'Sabah Toplantısı',\n            startTime: new Date(2023, 9, 15, 9, 0),\n            endTime: new Date(2023, 9, 15, 10, 0),\n            color: '#9b59b6'\n          }\n        ]}\n        onTaskPress={(task) => console.log('Seçilen etkinlik:', task)}\n        onDatePress={(date) => console.log('Seçilen tarih:', date)}\n        theme={{\n          backgroundColor: '#fff',\n          textColor: '#333'\n        }}\n        hourRange={{ start: 8, end: 20 }} // 08:00 - 20:00 arası görünüm\n      />\n    </View>\n  );\n}\n```\n\n#### DailyView Props\n\n| Prop | Tip | Varsayılan | Açıklama |\n|------|-----|------------|----------|\n| date | Date | Bugün | Gösterilecek gün |\n| tasks | Task[] | [] | Gösterilecek etkinlikler |\n| onTaskPress | (task: Task) => void | - | Etkinliğe tıklandığında çalışacak fonksiyon |\n| onDatePress | (date: Date) => void | - | Tarihe tıklandığında çalışacak fonksiyon |\n| theme | ThemeProps | {} | Görünüm teması |\n| hourRange | { start: number; end: number } | { start: 0, end: 24 } | Görüntülenecek saat aralığı |\n\n### WeeklyView (Haftalık Görünüm)\n\nWeeklyView, bir haftanın genel görünümünü sağlar.\n\n```jsx\nimport React from 'react';\nimport { View } from 'react-native';\nimport { WeeklyView } from '@canakyuz/calendar';\n\nexport default function WeeklyViewExample() {\n  return (\n    <View style={{ flex: 1 }}>\n      <WeeklyView\n        date={new Date(2023, 9, 10)}\n        tasks={[\n          {\n            id: '1',\n            title: 'Haftalık Toplantı',\n            startTime: new Date(2023, 9, 12, 14, 0),\n            endTime: new Date(2023, 9, 12, 15, 30),\n            color: '#3498db'\n          }\n        ]}\n        onTaskPress={(task) => console.log('Seçilen etkinlik:', task)}\n        onDatePress={(date) => console.log('Seçilen tarih:', date)}\n        theme={{\n          backgroundColor: '#f9f9f9',\n          textColor: '#333'\n        }}\n        hourRange={{ start: 9, end: 18 }} // 09:00 - 18:00 arası görünüm\n      />\n    </View>\n  );\n}\n```\n\n#### WeeklyView Props\n\n| Prop | Tip | Varsayılan | Açıklama |\n|------|-----|------------|----------|\n| date | Date | Bugün | Gösterilecek haftanın başlangıç tarihi |\n| tasks | Task[] | [] | Gösterilecek etkinlikler |\n| onTaskPress | (task: Task) => void | - | Etkinliğe tıklandığında çalışacak fonksiyon |\n| onDatePress | (date: Date) => void | - | Tarihe tıklandığında çalışacak fonksiyon |\n| theme | ThemeProps | {} | Görünüm teması |\n| hourRange | { start: number; end: number } | { start: 0, end: 24 } | Görüntülenecek saat aralığı |\n\n### MonthlyView (Aylık Görünüm)\n\nMonthlyView, tam bir ay takvimi görünümü sağlar.\n\n```jsx\nimport React from 'react';\nimport { View } from 'react-native';\nimport { MonthlyView } from '@canakyuz/calendar';\n\nexport default function MonthlyViewExample() {\n  return (\n    <View style={{ flex: 1 }}>\n      <MonthlyView\n        date={new Date(2023, 9, 1)}\n        tasks={[\n          {\n            id: '1',\n            title: 'Aylık Rapor',\n            startTime: new Date(2023, 9, 25, 10, 0),\n            endTime: new Date(2023, 9, 25, 11, 0),\n            color: '#2ecc71'\n          }\n        ]}\n        onTaskPress={(task) => console.log('Seçilen etkinlik:', task)}\n        onDatePress={(date) => console.log('Seçilen tarih:', date)}\n        theme={{\n          backgroundColor: '#fff',\n          textColor: '#333'\n        }}\n      />\n    </View>\n  );\n}\n```\n\n#### MonthlyView Props\n\n| Prop | Tip | Varsayılan | Açıklama |\n|------|-----|------------|----------|\n| date | Date | Bugün | Gösterilecek ay |\n| tasks | Task[] | [] | Gösterilecek etkinlikler |\n| onTaskPress | (task: Task) => void | - | Etkinliğe tıklandığında çalışacak fonksiyon |\n| onDatePress | (date: Date) => void | - | Tarihe tıklandığında çalışacak fonksiyon |\n| theme | ThemeProps | {} | Görünüm teması |\n\n### CalendarHeader (Takvim Başlığı)\n\nCalendarHeader, takvim başlığını ve navigasyon düğmelerini içerir.\n\n```jsx\nimport React from 'react';\nimport { View } from 'react-native';\nimport { CalendarHeader } from '@canakyuz/calendar';\n\nexport default function CalendarHeaderExample() {\n  return (\n    <View>\n      <CalendarHeader\n        date={new Date()}\n        onPrevious={() => console.log('Önceki')}\n        onNext={() => console.log('Sonraki')}\n        title=\"Ekim 2023\"\n        onTitlePress={() => console.log('Başlığa tıklandı')}\n        theme={{\n          headerBackgroundColor: '#f8f8f8',\n          headerTextColor: '#333'\n        }}\n        leftContent={<CustomLeftComponent />} // Özel sol içerik\n        rightContent={<CustomRightComponent />} // Özel sağ içerik\n        onLeftPress={() => console.log('Sol düğmeye tıklandı')}\n        onRightPress={() => console.log('Sağ düğmeye tıklandı')}\n      />\n    </View>\n  );\n}\n```\n\n#### CalendarHeader Props\n\n| Prop | Tip | Varsayılan | Açıklama |\n|------|-----|------------|----------|\n| date | Date | Bugün | Başlıkta gösterilecek tarih |\n| onPrevious | (newDate?: Date) => void | - | Önceki düğmesine tıklandığında çalışacak fonksiyon |\n| onNext | (newDate?: Date) => void | - | Sonraki düğmesine tıklandığında çalışacak fonksiyon |\n| title | string | - | Özel başlık metni |\n| onTitlePress | () => void | - | Başlığa tıklandığında çalışacak fonksiyon |\n| theme | ThemeProps | {} | Başlık teması |\n| leftContent | React.ReactNode | - | Sol tarafta gösterilecek özel içerik |\n| rightContent | React.ReactNode | - | Sağ tarafta gösterilecek özel içerik |\n| onLeftPress | () => void | - | Sol içeriğe tıklandığında çalışacak fonksiyon |\n| onRightPress | () => void | - | Sağ içeriğe tıklandığında çalışacak fonksiyon |\n\n### DateSelector (Tarih Seçici)\n\nDateSelector, tarih seçimi için bir arayüz sağlar.\n\n```jsx\nimport React, { useState } from 'react';\nimport { View } from 'react-native';\nimport { DateSelector } from '@canakyuz/calendar';\n\nexport default function DateSelectorExample() {\n  const [selectedDate, setSelectedDate] = useState(new Date());\n  \n  return (\n    <View>\n      <DateSelector\n        date={selectedDate}\n        onDateChange={setSelectedDate}\n        minimumDate={new Date(2023, 0, 1)} // 1 Ocak 2023\n        maximumDate={new Date(2023, 11, 31)} // 31 Aralık 2023\n        theme={{\n          backgroundColor: '#fff',\n          textColor: '#333'\n        }}\n      />\n    </View>\n  );\n}\n```\n\n#### DateSelector Props\n\n| Prop | Tip | Varsayılan | Açıklama |\n|------|-----|------------|----------|\n| date | Date | Bugün | Seçili tarih |\n| onDateChange | (date: Date) => void | - | Tarih değiştiğinde çalışacak fonksiyon |\n| minimumDate | Date | - | Seçilebilecek minimum tarih |\n| maximumDate | Date | - | Seçilebilecek maksimum tarih |\n| theme | ThemeProps | {} | Seçici teması |\n\n## Temalar\n\nCalendar bileşenlerinin görünümünü özelleştirmek için `theme` prop'unu kullanabilirsiniz. Tema nesnesi aşağıdaki özellikleri destekler:\n\n```jsx\nconst theme = {\n  // Genel renkler\n  backgroundColor: '#ffffff', // Arka plan rengi\n  textColor: '#333333', // Metin rengi\n  \n  // Başlık renkleri\n  headerBackgroundColor: '#f5f5f5', // Başlık arka plan rengi\n  headerTextColor: '#333333', // Başlık metin rengi\n  \n  // Gün renkleri\n  selectedDayColor: '#3498db', // Seçili gün arka plan rengi\n  selectedDayTextColor: '#ffffff', // Seçili gün metin rengi\n  todayColor: '#e74c3c', // Bugünün rengi\n  dayTextColor: '#333333', // Gün metni rengi\n  dayBackgroundColor: '#ffffff', // Gün arka plan rengi\n  \n  // Etkinlik renkleri\n  taskDefaultColor: '#3498db' // Varsayılan etkinlik rengi\n};\n```\n\n## Minimal Mod\n\nMinimal mod, takvim bileşeninin sadece temel işlevselliğini sağlayarak daha hafif ve daha az yer kaplayan bir görünüm sunar. Bu mod, kendi UI tasarımınıza entegre etmek istediğinizde idealdir.\n\n```jsx\nimport React from 'react';\nimport { View } from 'react-native';\nimport { Calendar } from '@canakyuz/calendar';\n\nexport default function MinimalCalendarExample() {\n  return (\n    <View style={{ flex: 1 }}>\n      <Calendar \n        date={new Date()}\n        view=\"weekly\"\n        minimalMode={true} // Minimal modu aktifleştirir\n        compact={true} // Kompakt görünüm\n        showHeader={false} // Başlığı gizler\n        theme={{\n          backgroundColor: 'transparent',\n          textColor: '#333',\n          selectedDayColor: '#3498db',\n          selectedDayTextColor: '#ffffff',\n          todayColor: '#e74c3c',\n          dayTextColor: '#333333'\n        }}\n        renderDayContent={(date, events) => (\n          <View style={{ alignItems: 'center', padding: 5 }}>\n            <Text style={{ fontWeight: 'bold' }}>{date.getDate()}</Text>\n            {events.length > 0 && (\n              <View style={{ width: 6, height: 6, borderRadius: 3, backgroundColor: events[0].color || '#3498db', marginTop: 2 }} />\n            )}\n          </View>\n        )}\n      />\n    </View>\n  );\n}\n```\n\n## Örnekler\n\n### Özelleştirilmiş Logo ve Bildirim İkonu\n\n```jsx\nimport React from 'react';\nimport { View, Image } from 'react-native';\nimport { Calendar } from '@canakyuz/calendar';\nimport { Ionicons } from '@expo/vector-icons';\n\nexport default function CustomizedCalendarExample() {\n  return (\n    <View style={{ flex: 1 }}>\n      <Calendar \n        date={new Date()}\n        logoSource={require('./assets/my-logo.png')} // Özel logo\n        notificationIcon={<Ionicons name=\"notifications\" size={24} color=\"#333\" />} // Özel bildirim ikonu\n        // veya\n        renderLogo={() => (\n          <Image \n            source={require('./assets/my-logo.png')} \n            style={{ width: 30, height: 30 }}\n            resizeMode=\"contain\"\n          />\n        )}\n        renderNotification={() => (\n          <View style={{ flexDirection: 'row', alignItems: 'center' }}>\n            <Ionicons name=\"notifications\" size={24} color=\"#333\" />\n            <View style={{ width: 8, height: 8, borderRadius: 4, backgroundColor: 'red', position: 'absolute', top: -2, right: -2 }} />\n          </View>\n        )}\n      />\n    </View>\n  );\n}\n```\n\n### Özel Gün İçeriği Renderlamak\n\n```jsx\nimport React from 'react';\nimport { View, Text } from 'react-native';\nimport { Calendar } from '@canakyuz/calendar';\n\nexport default function CustomDayContentExample() {\n  return (\n    <View style={{ flex: 1 }}>\n      <Calendar \n        date={new Date()}\n        view=\"monthly\"\n        minimalMode={true}\n        renderDayContent={(date, events) => (\n          <View style={{ \n            padding: 5, \n            alignItems: 'center',\n            backgroundColor: date.getDay() === 0 || date.getDay() === 6 ? '#f8f8f8' : '#fff', // Hafta sonları için farklı arka plan\n            borderRadius: 5\n          }}>\n            <Text style={{ \n              fontWeight: 'bold',\n              color: date.getDay() === 0 ? 'red' : date.getDay() === 6 ? 'blue' : '#333' // Pazar için kırmızı, Cumartesi için mavi\n            }}>\n              {date.getDate()}\n            </Text>\n            \n            {events.length > 0 && (\n              <View style={{ marginTop: 2 }}>\n                {events.slice(0, 2).map((event, index) => (\n                  <View \n                    key={index} \n                    style={{ \n                      width: 8, \n                      height: 2, \n                      backgroundColor: event.color || '#3498db',\n                      marginTop: 1\n                    }} \n                  />\n                ))}\n                {events.length > 2 && (\n                  <Text style={{ fontSize: 8, color: '#666' }}>+{events.length - 2}</Text>\n                )}\n              </View>\n            )}\n          </View>\n        )}\n      />\n    </View>\n  );\n}\n```\n\n## Geliştirme\n\nYerel geliştirme için:\n\n```bash\n# Bağımlılıkları yükleyin\nnpm install\n\n# Geliştirme sunucusunu başlatın\nnpm start\n```\n\n### Katkı Sağlama\n\nProjeye katkı sağlamak istiyorsanız:\n\n```bash\n# Repoyu klonlayın\ngit clone https://github.com/canakyuz/calendar.git\n\n# Proje dizinine gidin\ncd calendar\n\n# Bağımlılıkları yükleyin\nnpm install\n\n# Geliştirme sunucusunu başlatın\nnpm start\n\n# Değişikliklerinizi bir branch'te yapın\ngit checkout -b yeni-ozellik\n\n# Değişikliklerinizi commit edin\ngit commit -m \"Yeni özellik: ...\"\n\n# Branch'inizi push edin\ngit push origin yeni-ozellik\n```\n\n## Paket Yayınlama\n\nBu paket npm'de yayınlanmaktadır. Yayınlama için aşağıdaki adımları izleyin:\n\n### Paketi Yayınlama\n\n```bash\n# Versiyonu arttırın\nnpm version patch  # Küçük güncellemeler için\nnpm version minor  # Yeni özellikler için \nnpm version major  # Büyük değişiklikler için\n\n# Paketi yayınlayın\nnpm publish\n```\n\n## Sürüm Notları\n\n### 1.0.7 (Güncel)\n- Minimal mod eklendi\n- Özelleştirilebilir logo ve bildirim ikonları\n- Özel gün içeriği renderlama özelliği\n- Tema seçenekleri genişletildi\n- Kompakt görünüm desteği\n\n### 1.0.6\n- TypeScript tanımlamaları iyileştirildi\n- Paket ana giriş noktası düzeltildi\n\n### 1.0.5\n- İlk public sürüm\n\n## Topluluk & Destek\n\nSorularınız için GitHub Issues veya aşağıdaki iletişim kanallarını kullanabilirsiniz:\n\n- [GitHub Issues](https://github.com/canakyuz/calendar/issues)\n- Twitter: [@canakyuz](https://twitter.com/canakyuz)\n- E-posta: canakyuz23@outlook.com\n\n## Güncel Versiyon\n\nŞu anki versiyon: **1.0.7**\n\nSon güncelleme: Mart 2024\n\n## Lisans\n\nBu proje [MIT License](./LICENSE) altında lisanslanmıştır.\n\nMIT lisansı, kullanıcıların yazılımı herhangi bir kısıtlama olmaksızın kullanma, kopyalama, değiştirme, birleştirme, yayınlama, dağıtma, alt lisanslama ve/veya satma hakkı tanıyan permisif bir lisanstır. Tek şartı, lisans ve telif hakkı bildiriminin yazılımın tüm kopyalarında veya önemli bölümlerinde bulundurulmasıdır.\n\nLisansın tam metnini [LICENSE](./LICENSE) dosyasında bulabilirsiniz. ","readmeFilename":"README.md"}