diff --git a/playground/app.tsx b/playground/app.tsx
index a518bbb..77c036a 100644
--- a/playground/app.tsx
+++ b/playground/app.tsx
@@ -1,12 +1,12 @@
 import React from 'react'
-import { SingleDatePicker, SingleWeekPicker } from "../dist/index.es"
+import { SingleDatePicker, SingleWeekPicker } from "../src"
 import './app.scss'
 
 export default () => {
 
 	return (
 		
-			
+			 console.log(date)} />
 		
 	 )
 }
\ No newline at end of file
diff --git a/src/components/SingleWeekPicker.tsx b/src/components/SingleWeekPicker.tsx
index 0cfa11f..95fc141 100644
--- a/src/components/SingleWeekPicker.tsx
+++ b/src/components/SingleWeekPicker.tsx
@@ -60,6 +60,17 @@ export interface SingleWeekPickerProps {
 	 * @default undefined
 	 */
 	onClose?: () => void
+
+	/**
+		* Control the selected
+		* date programmatically, including situations like provide a default value or control the selected 
+		* date by parent component. When using the Date object, the week number related to the date will be
+		* applied to the panel.
+		* @example { weekYear: 2025, weekNum: 1 }
+		* @example new Date(2025, 0, 1)
+		* @default new Date()
+		*/
+		value?: { weekYear: number, weekNum: number } | Date
 }
 
 /**
@@ -70,7 +81,7 @@ export interface SingleWeekPickerProps {
  * 
  * @param 
  */
-export default ({ localization, mainColor = '#000000', accentColor = '#000000', reversedColor = '#ffffff', hoverColor = '#00000017', borderColor = '#e0e0e0', onClose, onSelect }: SingleWeekPickerProps) => {
+export default ({ localization, mainColor = '#000000', accentColor = '#000000', reversedColor = '#ffffff', hoverColor = '#00000017', borderColor = '#e0e0e0', onClose, onSelect, value }: SingleWeekPickerProps) => {
 	const [currentMonth, setCurrentMonth] = useState(new Date().getMonth())
 	const [currentYear, setCurrentYear] = useState(new Date().getFullYear())
 	const [selectedWeek, setSelectedWeek] = useState<{ weekYear: number, weekNum: number }>(calculateWeekNum(new Date()))
@@ -119,10 +130,19 @@ export default ({ localization, mainColor = '#000000', accentColor = '#000000',
 	}, [currentMonth, currentYear])
 
 	useEffect(() => {
-		const date = new Date(2033, 0, 1)
-		console.log(date)
-		console.log(calculateWeekNum(date))
-	}, [])
+		if (!value) return
+		if (!(value instanceof Date)) {
+			if (value.weekYear < 100) value.weekYear = Number(`20${value.weekYear}`)
+			if (value.weekNum < 1 || value.weekNum > 53)
+				return console.warn('Invalid value: Week number should be between 1 and 53.')
+		}
+		const date = value instanceof Date ? value : new Date(value.weekYear, 0, 1)
+		if ('weekNum' in value)
+			date.setDate(date.getDate() + (value.weekNum - 1) * 7)
+		setSelectedWeek(calculateWeekNum(date))
+		setCurrentMonth(date.getMonth())
+		setCurrentYear(date.getFullYear())
+	}, [value])
 
 	function selectWeek(date: Date) {
 		setSelectedWeek(calculateWeekNum(date))