react-native-bikram-sambat 0.1.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/LICENSE +21 -0
- package/README.md +340 -0
- package/lib/commonjs/accessibility/index.js +25 -0
- package/lib/commonjs/accessibility/index.js.map +1 -0
- package/lib/commonjs/accessibility/labels.js +20 -0
- package/lib/commonjs/accessibility/labels.js.map +1 -0
- package/lib/commonjs/calendar/calendar-types.js +6 -0
- package/lib/commonjs/calendar/calendar-types.js.map +1 -0
- package/lib/commonjs/calendar/get-calendar-month-grid.js +114 -0
- package/lib/commonjs/calendar/get-calendar-month-grid.js.map +1 -0
- package/lib/commonjs/calendar/index.js +13 -0
- package/lib/commonjs/calendar/index.js.map +1 -0
- package/lib/commonjs/components/NepaliCalendar/CalendarDay.js +137 -0
- package/lib/commonjs/components/NepaliCalendar/CalendarDay.js.map +1 -0
- package/lib/commonjs/components/NepaliCalendar/CalendarGrid.js +116 -0
- package/lib/commonjs/components/NepaliCalendar/CalendarGrid.js.map +1 -0
- package/lib/commonjs/components/NepaliCalendar/CalendarHeader.js +114 -0
- package/lib/commonjs/components/NepaliCalendar/CalendarHeader.js.map +1 -0
- package/lib/commonjs/components/NepaliCalendar/CalendarWeekdays.js +44 -0
- package/lib/commonjs/components/NepaliCalendar/CalendarWeekdays.js.map +1 -0
- package/lib/commonjs/components/NepaliCalendar/NepaliCalendar.js +288 -0
- package/lib/commonjs/components/NepaliCalendar/NepaliCalendar.js.map +1 -0
- package/lib/commonjs/components/NepaliCalendar/index.js +13 -0
- package/lib/commonjs/components/NepaliCalendar/index.js.map +1 -0
- package/lib/commonjs/components/NepaliCalendar/types.js +6 -0
- package/lib/commonjs/components/NepaliCalendar/types.js.map +1 -0
- package/lib/commonjs/components/NepaliDatePicker/DatePickerModal.js +185 -0
- package/lib/commonjs/components/NepaliDatePicker/DatePickerModal.js.map +1 -0
- package/lib/commonjs/components/NepaliDatePicker/NepaliDatePicker.js +148 -0
- package/lib/commonjs/components/NepaliDatePicker/NepaliDatePicker.js.map +1 -0
- package/lib/commonjs/components/NepaliDatePicker/index.js +20 -0
- package/lib/commonjs/components/NepaliDatePicker/index.js.map +1 -0
- package/lib/commonjs/components/NepaliDatePicker/types.js +6 -0
- package/lib/commonjs/components/NepaliDatePicker/types.js.map +1 -0
- package/lib/commonjs/components/NepaliRangePicker/NepaliRangePicker.js +187 -0
- package/lib/commonjs/components/NepaliRangePicker/NepaliRangePicker.js.map +1 -0
- package/lib/commonjs/components/NepaliRangePicker/RangePickerModal.js +275 -0
- package/lib/commonjs/components/NepaliRangePicker/RangePickerModal.js.map +1 -0
- package/lib/commonjs/components/NepaliRangePicker/index.js +57 -0
- package/lib/commonjs/components/NepaliRangePicker/index.js.map +1 -0
- package/lib/commonjs/components/NepaliRangePicker/range-utils.js +70 -0
- package/lib/commonjs/components/NepaliRangePicker/range-utils.js.map +1 -0
- package/lib/commonjs/components/NepaliRangePicker/types.js +6 -0
- package/lib/commonjs/components/NepaliRangePicker/types.js.map +1 -0
- package/lib/commonjs/core/arithmetic.js +36 -0
- package/lib/commonjs/core/arithmetic.js.map +1 -0
- package/lib/commonjs/core/bsData.js +89 -0
- package/lib/commonjs/core/bsData.js.map +1 -0
- package/lib/commonjs/core/conversion.js +53 -0
- package/lib/commonjs/core/conversion.js.map +1 -0
- package/lib/commonjs/core/dateKey.js +31 -0
- package/lib/commonjs/core/dateKey.js.map +1 -0
- package/lib/commonjs/core/epochDay.js +47 -0
- package/lib/commonjs/core/epochDay.js.map +1 -0
- package/lib/commonjs/core/format/format.js +86 -0
- package/lib/commonjs/core/format/format.js.map +1 -0
- package/lib/commonjs/core/format/index.js +20 -0
- package/lib/commonjs/core/format/index.js.map +1 -0
- package/lib/commonjs/core/format/parse.js +41 -0
- package/lib/commonjs/core/format/parse.js.map +1 -0
- package/lib/commonjs/core/format/tokens.js +9 -0
- package/lib/commonjs/core/format/tokens.js.map +1 -0
- package/lib/commonjs/core/index.js +116 -0
- package/lib/commonjs/core/index.js.map +1 -0
- package/lib/commonjs/core/locale/en.js +15 -0
- package/lib/commonjs/core/locale/en.js.map +1 -0
- package/lib/commonjs/core/locale/index.js +20 -0
- package/lib/commonjs/core/locale/index.js.map +1 -0
- package/lib/commonjs/core/locale/ne.js +15 -0
- package/lib/commonjs/core/locale/ne.js.map +1 -0
- package/lib/commonjs/core/locale/types.js +2 -0
- package/lib/commonjs/core/locale/types.js.map +1 -0
- package/lib/commonjs/core/numerals/index.js +19 -0
- package/lib/commonjs/core/numerals/index.js.map +1 -0
- package/lib/commonjs/core/numerals/nepali-numerals.js +28 -0
- package/lib/commonjs/core/numerals/nepali-numerals.js.map +1 -0
- package/lib/commonjs/core/types.js +2 -0
- package/lib/commonjs/core/types.js.map +1 -0
- package/lib/commonjs/core/validation.js +125 -0
- package/lib/commonjs/core/validation.js.map +1 -0
- package/lib/commonjs/core/validation.test.js +248 -0
- package/lib/commonjs/core/validation.test.js.map +1 -0
- package/lib/commonjs/exports.test.js +133 -0
- package/lib/commonjs/exports.test.js.map +1 -0
- package/lib/commonjs/index.js +94 -0
- package/lib/commonjs/index.js.map +1 -0
- package/lib/commonjs/package.json +1 -0
- package/lib/commonjs/phase2.test.js +446 -0
- package/lib/commonjs/phase2.test.js.map +1 -0
- package/lib/commonjs/phase3.test.js +91 -0
- package/lib/commonjs/phase3.test.js.map +1 -0
- package/lib/commonjs/phase4.test.js +89 -0
- package/lib/commonjs/phase4.test.js.map +1 -0
- package/lib/commonjs/phase5.test.js +246 -0
- package/lib/commonjs/phase5.test.js.map +1 -0
- package/lib/commonjs/phase7.test.js +284 -0
- package/lib/commonjs/phase7.test.js.map +1 -0
- package/lib/commonjs/range-helpers.test.js +182 -0
- package/lib/commonjs/range-helpers.test.js.map +1 -0
- package/lib/commonjs/theme/create-theme.js +37 -0
- package/lib/commonjs/theme/create-theme.js.map +1 -0
- package/lib/commonjs/theme/default-theme.js +99 -0
- package/lib/commonjs/theme/default-theme.js.map +1 -0
- package/lib/commonjs/theme/index.js +26 -0
- package/lib/commonjs/theme/index.js.map +1 -0
- package/lib/commonjs/theme/types.js +6 -0
- package/lib/commonjs/theme/types.js.map +1 -0
- package/lib/commonjs/utils/date-helpers.js +106 -0
- package/lib/commonjs/utils/date-helpers.js.map +1 -0
- package/lib/commonjs/utils/index.js +49 -0
- package/lib/commonjs/utils/index.js.map +1 -0
- package/lib/module/accessibility/index.js +4 -0
- package/lib/module/accessibility/index.js.map +1 -0
- package/lib/module/accessibility/labels.js +15 -0
- package/lib/module/accessibility/labels.js.map +1 -0
- package/lib/module/calendar/calendar-types.js +4 -0
- package/lib/module/calendar/calendar-types.js.map +1 -0
- package/lib/module/calendar/get-calendar-month-grid.js +111 -0
- package/lib/module/calendar/get-calendar-month-grid.js.map +1 -0
- package/lib/module/calendar/index.js +4 -0
- package/lib/module/calendar/index.js.map +1 -0
- package/lib/module/components/NepaliCalendar/CalendarDay.js +132 -0
- package/lib/module/components/NepaliCalendar/CalendarDay.js.map +1 -0
- package/lib/module/components/NepaliCalendar/CalendarGrid.js +111 -0
- package/lib/module/components/NepaliCalendar/CalendarGrid.js.map +1 -0
- package/lib/module/components/NepaliCalendar/CalendarHeader.js +109 -0
- package/lib/module/components/NepaliCalendar/CalendarHeader.js.map +1 -0
- package/lib/module/components/NepaliCalendar/CalendarWeekdays.js +39 -0
- package/lib/module/components/NepaliCalendar/CalendarWeekdays.js.map +1 -0
- package/lib/module/components/NepaliCalendar/NepaliCalendar.js +283 -0
- package/lib/module/components/NepaliCalendar/NepaliCalendar.js.map +1 -0
- package/lib/module/components/NepaliCalendar/index.js +4 -0
- package/lib/module/components/NepaliCalendar/index.js.map +1 -0
- package/lib/module/components/NepaliCalendar/types.js +4 -0
- package/lib/module/components/NepaliCalendar/types.js.map +1 -0
- package/lib/module/components/NepaliDatePicker/DatePickerModal.js +180 -0
- package/lib/module/components/NepaliDatePicker/DatePickerModal.js.map +1 -0
- package/lib/module/components/NepaliDatePicker/NepaliDatePicker.js +143 -0
- package/lib/module/components/NepaliDatePicker/NepaliDatePicker.js.map +1 -0
- package/lib/module/components/NepaliDatePicker/index.js +5 -0
- package/lib/module/components/NepaliDatePicker/index.js.map +1 -0
- package/lib/module/components/NepaliDatePicker/types.js +4 -0
- package/lib/module/components/NepaliDatePicker/types.js.map +1 -0
- package/lib/module/components/NepaliRangePicker/NepaliRangePicker.js +182 -0
- package/lib/module/components/NepaliRangePicker/NepaliRangePicker.js.map +1 -0
- package/lib/module/components/NepaliRangePicker/RangePickerModal.js +270 -0
- package/lib/module/components/NepaliRangePicker/RangePickerModal.js.map +1 -0
- package/lib/module/components/NepaliRangePicker/index.js +6 -0
- package/lib/module/components/NepaliRangePicker/index.js.map +1 -0
- package/lib/module/components/NepaliRangePicker/range-utils.js +61 -0
- package/lib/module/components/NepaliRangePicker/range-utils.js.map +1 -0
- package/lib/module/components/NepaliRangePicker/types.js +4 -0
- package/lib/module/components/NepaliRangePicker/types.js.map +1 -0
- package/lib/module/core/arithmetic.js +29 -0
- package/lib/module/core/arithmetic.js.map +1 -0
- package/lib/module/core/bsData.js +82 -0
- package/lib/module/core/bsData.js.map +1 -0
- package/lib/module/core/conversion.js +48 -0
- package/lib/module/core/conversion.js.map +1 -0
- package/lib/module/core/dateKey.js +26 -0
- package/lib/module/core/dateKey.js.map +1 -0
- package/lib/module/core/epochDay.js +39 -0
- package/lib/module/core/epochDay.js.map +1 -0
- package/lib/module/core/format/format.js +82 -0
- package/lib/module/core/format/format.js.map +1 -0
- package/lib/module/core/format/index.js +5 -0
- package/lib/module/core/format/index.js.map +1 -0
- package/lib/module/core/format/parse.js +37 -0
- package/lib/module/core/format/parse.js.map +1 -0
- package/lib/module/core/format/tokens.js +5 -0
- package/lib/module/core/format/tokens.js.map +1 -0
- package/lib/module/core/index.js +13 -0
- package/lib/module/core/index.js.map +1 -0
- package/lib/module/core/locale/en.js +11 -0
- package/lib/module/core/locale/en.js.map +1 -0
- package/lib/module/core/locale/index.js +5 -0
- package/lib/module/core/locale/index.js.map +1 -0
- package/lib/module/core/locale/ne.js +11 -0
- package/lib/module/core/locale/ne.js.map +1 -0
- package/lib/module/core/locale/types.js +2 -0
- package/lib/module/core/locale/types.js.map +1 -0
- package/lib/module/core/numerals/index.js +4 -0
- package/lib/module/core/numerals/index.js.map +1 -0
- package/lib/module/core/numerals/nepali-numerals.js +23 -0
- package/lib/module/core/numerals/nepali-numerals.js.map +1 -0
- package/lib/module/core/types.js +2 -0
- package/lib/module/core/types.js.map +1 -0
- package/lib/module/core/validation.js +115 -0
- package/lib/module/core/validation.js.map +1 -0
- package/lib/module/core/validation.test.js +248 -0
- package/lib/module/core/validation.test.js.map +1 -0
- package/lib/module/exports.test.js +133 -0
- package/lib/module/exports.test.js.map +1 -0
- package/lib/module/index.js +11 -0
- package/lib/module/index.js.map +1 -0
- package/lib/module/package.json +1 -0
- package/lib/module/phase2.test.js +446 -0
- package/lib/module/phase2.test.js.map +1 -0
- package/lib/module/phase3.test.js +91 -0
- package/lib/module/phase3.test.js.map +1 -0
- package/lib/module/phase4.test.js +89 -0
- package/lib/module/phase4.test.js.map +1 -0
- package/lib/module/phase5.test.js +246 -0
- package/lib/module/phase5.test.js.map +1 -0
- package/lib/module/phase7.test.js +284 -0
- package/lib/module/phase7.test.js.map +1 -0
- package/lib/module/range-helpers.test.js +182 -0
- package/lib/module/range-helpers.test.js.map +1 -0
- package/lib/module/theme/create-theme.js +33 -0
- package/lib/module/theme/create-theme.js.map +1 -0
- package/lib/module/theme/default-theme.js +95 -0
- package/lib/module/theme/default-theme.js.map +1 -0
- package/lib/module/theme/index.js +5 -0
- package/lib/module/theme/index.js.map +1 -0
- package/lib/module/theme/types.js +4 -0
- package/lib/module/theme/types.js.map +1 -0
- package/lib/module/utils/date-helpers.js +96 -0
- package/lib/module/utils/date-helpers.js.map +1 -0
- package/lib/module/utils/index.js +4 -0
- package/lib/module/utils/index.js.map +1 -0
- package/lib/typescript/src/accessibility/index.d.ts +2 -0
- package/lib/typescript/src/accessibility/index.d.ts.map +1 -0
- package/lib/typescript/src/accessibility/labels.d.ts +6 -0
- package/lib/typescript/src/accessibility/labels.d.ts.map +1 -0
- package/lib/typescript/src/calendar/calendar-types.d.ts +23 -0
- package/lib/typescript/src/calendar/calendar-types.d.ts.map +1 -0
- package/lib/typescript/src/calendar/get-calendar-month-grid.d.ts +3 -0
- package/lib/typescript/src/calendar/get-calendar-month-grid.d.ts.map +1 -0
- package/lib/typescript/src/calendar/index.d.ts +3 -0
- package/lib/typescript/src/calendar/index.d.ts.map +1 -0
- package/lib/typescript/src/components/NepaliCalendar/CalendarDay.d.ts +23 -0
- package/lib/typescript/src/components/NepaliCalendar/CalendarDay.d.ts.map +1 -0
- package/lib/typescript/src/components/NepaliCalendar/CalendarGrid.d.ts +25 -0
- package/lib/typescript/src/components/NepaliCalendar/CalendarGrid.d.ts.map +1 -0
- package/lib/typescript/src/components/NepaliCalendar/CalendarHeader.d.ts +17 -0
- package/lib/typescript/src/components/NepaliCalendar/CalendarHeader.d.ts.map +1 -0
- package/lib/typescript/src/components/NepaliCalendar/CalendarWeekdays.d.ts +11 -0
- package/lib/typescript/src/components/NepaliCalendar/CalendarWeekdays.d.ts.map +1 -0
- package/lib/typescript/src/components/NepaliCalendar/NepaliCalendar.d.ts +4 -0
- package/lib/typescript/src/components/NepaliCalendar/NepaliCalendar.d.ts.map +1 -0
- package/lib/typescript/src/components/NepaliCalendar/index.d.ts +3 -0
- package/lib/typescript/src/components/NepaliCalendar/index.d.ts.map +1 -0
- package/lib/typescript/src/components/NepaliCalendar/types.d.ts +52 -0
- package/lib/typescript/src/components/NepaliCalendar/types.d.ts.map +1 -0
- package/lib/typescript/src/components/NepaliDatePicker/DatePickerModal.d.ts +4 -0
- package/lib/typescript/src/components/NepaliDatePicker/DatePickerModal.d.ts.map +1 -0
- package/lib/typescript/src/components/NepaliDatePicker/NepaliDatePicker.d.ts +4 -0
- package/lib/typescript/src/components/NepaliDatePicker/NepaliDatePicker.d.ts.map +1 -0
- package/lib/typescript/src/components/NepaliDatePicker/index.d.ts +4 -0
- package/lib/typescript/src/components/NepaliDatePicker/index.d.ts.map +1 -0
- package/lib/typescript/src/components/NepaliDatePicker/types.d.ts +50 -0
- package/lib/typescript/src/components/NepaliDatePicker/types.d.ts.map +1 -0
- package/lib/typescript/src/components/NepaliRangePicker/NepaliRangePicker.d.ts +4 -0
- package/lib/typescript/src/components/NepaliRangePicker/NepaliRangePicker.d.ts.map +1 -0
- package/lib/typescript/src/components/NepaliRangePicker/RangePickerModal.d.ts +4 -0
- package/lib/typescript/src/components/NepaliRangePicker/RangePickerModal.d.ts.map +1 -0
- package/lib/typescript/src/components/NepaliRangePicker/index.d.ts +5 -0
- package/lib/typescript/src/components/NepaliRangePicker/index.d.ts.map +1 -0
- package/lib/typescript/src/components/NepaliRangePicker/range-utils.d.ts +13 -0
- package/lib/typescript/src/components/NepaliRangePicker/range-utils.d.ts.map +1 -0
- package/lib/typescript/src/components/NepaliRangePicker/types.d.ts +61 -0
- package/lib/typescript/src/components/NepaliRangePicker/types.d.ts.map +1 -0
- package/lib/typescript/src/core/arithmetic.d.ts +6 -0
- package/lib/typescript/src/core/arithmetic.d.ts.map +1 -0
- package/lib/typescript/src/core/bsData.d.ts +39 -0
- package/lib/typescript/src/core/bsData.d.ts.map +1 -0
- package/lib/typescript/src/core/conversion.d.ts +4 -0
- package/lib/typescript/src/core/conversion.d.ts.map +1 -0
- package/lib/typescript/src/core/dateKey.d.ts +4 -0
- package/lib/typescript/src/core/dateKey.d.ts.map +1 -0
- package/lib/typescript/src/core/epochDay.d.ts +7 -0
- package/lib/typescript/src/core/epochDay.d.ts.map +1 -0
- package/lib/typescript/src/core/format/format.d.ts +8 -0
- package/lib/typescript/src/core/format/format.d.ts.map +1 -0
- package/lib/typescript/src/core/format/index.d.ts +5 -0
- package/lib/typescript/src/core/format/index.d.ts.map +1 -0
- package/lib/typescript/src/core/format/parse.d.ts +7 -0
- package/lib/typescript/src/core/format/parse.d.ts.map +1 -0
- package/lib/typescript/src/core/format/tokens.d.ts +4 -0
- package/lib/typescript/src/core/format/tokens.d.ts.map +1 -0
- package/lib/typescript/src/core/index.d.ts +11 -0
- package/lib/typescript/src/core/index.d.ts.map +1 -0
- package/lib/typescript/src/core/locale/en.d.ts +3 -0
- package/lib/typescript/src/core/locale/en.d.ts.map +1 -0
- package/lib/typescript/src/core/locale/index.d.ts +4 -0
- package/lib/typescript/src/core/locale/index.d.ts.map +1 -0
- package/lib/typescript/src/core/locale/ne.d.ts +3 -0
- package/lib/typescript/src/core/locale/ne.d.ts.map +1 -0
- package/lib/typescript/src/core/locale/types.d.ts +11 -0
- package/lib/typescript/src/core/locale/types.d.ts.map +1 -0
- package/lib/typescript/src/core/numerals/index.d.ts +2 -0
- package/lib/typescript/src/core/numerals/index.d.ts.map +1 -0
- package/lib/typescript/src/core/numerals/nepali-numerals.d.ts +3 -0
- package/lib/typescript/src/core/numerals/nepali-numerals.d.ts.map +1 -0
- package/lib/typescript/src/core/types.d.ts +14 -0
- package/lib/typescript/src/core/types.d.ts.map +1 -0
- package/lib/typescript/src/core/validation.d.ts +17 -0
- package/lib/typescript/src/core/validation.d.ts.map +1 -0
- package/lib/typescript/src/index.d.ts +9 -0
- package/lib/typescript/src/index.d.ts.map +1 -0
- package/lib/typescript/src/theme/create-theme.d.ts +6 -0
- package/lib/typescript/src/theme/create-theme.d.ts.map +1 -0
- package/lib/typescript/src/theme/default-theme.d.ts +4 -0
- package/lib/typescript/src/theme/default-theme.d.ts.map +1 -0
- package/lib/typescript/src/theme/index.d.ts +4 -0
- package/lib/typescript/src/theme/index.d.ts.map +1 -0
- package/lib/typescript/src/theme/types.d.ts +43 -0
- package/lib/typescript/src/theme/types.d.ts.map +1 -0
- package/lib/typescript/src/utils/date-helpers.d.ts +27 -0
- package/lib/typescript/src/utils/date-helpers.d.ts.map +1 -0
- package/lib/typescript/src/utils/index.d.ts +2 -0
- package/lib/typescript/src/utils/index.d.ts.map +1 -0
- package/package.json +85 -0
- package/src/accessibility/index.ts +5 -0
- package/src/accessibility/labels.ts +22 -0
- package/src/calendar/calendar-types.ts +25 -0
- package/src/calendar/get-calendar-month-grid.ts +125 -0
- package/src/calendar/index.ts +2 -0
- package/src/components/NepaliCalendar/CalendarDay.tsx +198 -0
- package/src/components/NepaliCalendar/CalendarGrid.tsx +159 -0
- package/src/components/NepaliCalendar/CalendarHeader.tsx +126 -0
- package/src/components/NepaliCalendar/CalendarWeekdays.tsx +49 -0
- package/src/components/NepaliCalendar/NepaliCalendar.tsx +279 -0
- package/src/components/NepaliCalendar/index.ts +6 -0
- package/src/components/NepaliCalendar/types.ts +62 -0
- package/src/components/NepaliDatePicker/DatePickerModal.tsx +220 -0
- package/src/components/NepaliDatePicker/NepaliDatePicker.tsx +171 -0
- package/src/components/NepaliDatePicker/index.ts +3 -0
- package/src/components/NepaliDatePicker/types.ts +70 -0
- package/src/components/NepaliRangePicker/NepaliRangePicker.tsx +206 -0
- package/src/components/NepaliRangePicker/RangePickerModal.tsx +336 -0
- package/src/components/NepaliRangePicker/index.ts +11 -0
- package/src/components/NepaliRangePicker/range-utils.ts +75 -0
- package/src/components/NepaliRangePicker/types.ts +84 -0
- package/src/core/arithmetic.ts +34 -0
- package/src/core/bsData.ts +115 -0
- package/src/core/conversion.ts +73 -0
- package/src/core/dateKey.ts +31 -0
- package/src/core/epochDay.ts +49 -0
- package/src/core/format/format.ts +108 -0
- package/src/core/format/index.ts +4 -0
- package/src/core/format/parse.ts +68 -0
- package/src/core/format/tokens.ts +35 -0
- package/src/core/index.ts +10 -0
- package/src/core/locale/en.ts +23 -0
- package/src/core/locale/index.ts +3 -0
- package/src/core/locale/ne.ts +31 -0
- package/src/core/locale/types.ts +12 -0
- package/src/core/numerals/index.ts +1 -0
- package/src/core/numerals/nepali-numerals.ts +27 -0
- package/src/core/types.ts +15 -0
- package/src/core/validation.test.ts +207 -0
- package/src/core/validation.ts +141 -0
- package/src/exports.test.ts +135 -0
- package/src/index.ts +8 -0
- package/src/phase2.test.ts +424 -0
- package/src/phase3.test.ts +83 -0
- package/src/phase4.test.ts +86 -0
- package/src/phase5.test.ts +257 -0
- package/src/phase7.test.ts +307 -0
- package/src/range-helpers.test.ts +153 -0
- package/src/theme/create-theme.ts +29 -0
- package/src/theme/default-theme.ts +99 -0
- package/src/theme/index.ts +3 -0
- package/src/theme/types.ts +44 -0
- package/src/utils/date-helpers.ts +146 -0
- package/src/utils/index.ts +9 -0
|
@@ -0,0 +1,111 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
import { createBSDateKey } from '../core/dateKey';
|
|
4
|
+
import { getBSMonthLength } from '../core/validation';
|
|
5
|
+
import { getSupportedBSYearRange } from '../core/bsData';
|
|
6
|
+
import { compareBS } from '../core/arithmetic';
|
|
7
|
+
import { toAD } from '../core/conversion';
|
|
8
|
+
import { todayBS } from '../core/arithmetic';
|
|
9
|
+
function getWeekday(bsDate) {
|
|
10
|
+
const ad = toAD(bsDate);
|
|
11
|
+
const utcDate = new Date(Date.UTC(ad.year, ad.month - 1, ad.day));
|
|
12
|
+
return utcDate.getUTCDay();
|
|
13
|
+
}
|
|
14
|
+
function safeGetBSMonthLength(year, month) {
|
|
15
|
+
try {
|
|
16
|
+
return getBSMonthLength(year, month);
|
|
17
|
+
} catch {
|
|
18
|
+
return null;
|
|
19
|
+
}
|
|
20
|
+
}
|
|
21
|
+
function safeCreateBSDateKey(date) {
|
|
22
|
+
try {
|
|
23
|
+
return createBSDateKey(date);
|
|
24
|
+
} catch {
|
|
25
|
+
return `${date.year}-${String(date.month).padStart(2, '0')}-${String(date.day).padStart(2, '0')}`;
|
|
26
|
+
}
|
|
27
|
+
}
|
|
28
|
+
function isDateInRange(year) {
|
|
29
|
+
const range = getSupportedBSYearRange();
|
|
30
|
+
return year >= range.min && year <= range.max;
|
|
31
|
+
}
|
|
32
|
+
function makeCell(year, month, day, inCurrentMonth, todayDate, minDate, maxDate) {
|
|
33
|
+
const date = {
|
|
34
|
+
calendar: 'BS',
|
|
35
|
+
year,
|
|
36
|
+
month,
|
|
37
|
+
day
|
|
38
|
+
};
|
|
39
|
+
const key = safeCreateBSDateKey(date);
|
|
40
|
+
const inRange = isDateInRange(year);
|
|
41
|
+
const isToday = inRange && todayDate !== null && compareBS(date, todayDate) === 0;
|
|
42
|
+
const isDisabled = !inRange || minDate !== undefined && compareBS(date, minDate) < 0 || maxDate !== undefined && compareBS(date, maxDate) > 0;
|
|
43
|
+
return {
|
|
44
|
+
key,
|
|
45
|
+
date,
|
|
46
|
+
day,
|
|
47
|
+
inCurrentMonth,
|
|
48
|
+
isToday,
|
|
49
|
+
isDisabled
|
|
50
|
+
};
|
|
51
|
+
}
|
|
52
|
+
export function getCalendarMonthGrid(options) {
|
|
53
|
+
const {
|
|
54
|
+
year,
|
|
55
|
+
month,
|
|
56
|
+
weekStartsOn = 0,
|
|
57
|
+
minDate,
|
|
58
|
+
maxDate
|
|
59
|
+
} = options;
|
|
60
|
+
const monthLength = getBSMonthLength(year, month);
|
|
61
|
+
const firstDay = {
|
|
62
|
+
calendar: 'BS',
|
|
63
|
+
year,
|
|
64
|
+
month,
|
|
65
|
+
day: 1
|
|
66
|
+
};
|
|
67
|
+
const firstWeekday = getWeekday(firstDay);
|
|
68
|
+
const leadingDays = (firstWeekday - weekStartsOn + 7) % 7;
|
|
69
|
+
let prevMonth = month - 1;
|
|
70
|
+
let prevYear = year;
|
|
71
|
+
if (prevMonth < 1) {
|
|
72
|
+
prevMonth = 12;
|
|
73
|
+
prevYear -= 1;
|
|
74
|
+
}
|
|
75
|
+
const prevMonthLength = safeGetBSMonthLength(prevYear, prevMonth) ?? 30;
|
|
76
|
+
let todayDate = null;
|
|
77
|
+
try {
|
|
78
|
+
todayDate = options.today ?? todayBS();
|
|
79
|
+
} catch {
|
|
80
|
+
todayDate = null;
|
|
81
|
+
}
|
|
82
|
+
const cells = [];
|
|
83
|
+
for (let i = 0; i < leadingDays; i++) {
|
|
84
|
+
const day = prevMonthLength - leadingDays + i + 1;
|
|
85
|
+
cells.push(makeCell(prevYear, prevMonth, day, false, todayDate, minDate, maxDate));
|
|
86
|
+
}
|
|
87
|
+
for (let day = 1; day <= monthLength; day++) {
|
|
88
|
+
cells.push(makeCell(year, month, day, true, todayDate, minDate, maxDate));
|
|
89
|
+
}
|
|
90
|
+
let nextMonth = month + 1;
|
|
91
|
+
let nextYear = year;
|
|
92
|
+
if (nextMonth > 12) {
|
|
93
|
+
nextMonth = 1;
|
|
94
|
+
nextYear += 1;
|
|
95
|
+
}
|
|
96
|
+
let trailingDay = 1;
|
|
97
|
+
while (cells.length % 7 !== 0) {
|
|
98
|
+
cells.push(makeCell(nextYear, nextMonth, trailingDay, false, todayDate, minDate, maxDate));
|
|
99
|
+
trailingDay += 1;
|
|
100
|
+
}
|
|
101
|
+
const weeks = [];
|
|
102
|
+
for (let i = 0; i < cells.length; i += 7) {
|
|
103
|
+
weeks.push(cells.slice(i, i + 7));
|
|
104
|
+
}
|
|
105
|
+
return {
|
|
106
|
+
year,
|
|
107
|
+
month,
|
|
108
|
+
weeks
|
|
109
|
+
};
|
|
110
|
+
}
|
|
111
|
+
//# sourceMappingURL=get-calendar-month-grid.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["createBSDateKey","getBSMonthLength","getSupportedBSYearRange","compareBS","toAD","todayBS","getWeekday","bsDate","ad","utcDate","Date","UTC","year","month","day","getUTCDay","safeGetBSMonthLength","safeCreateBSDateKey","date","String","padStart","isDateInRange","range","min","max","makeCell","inCurrentMonth","todayDate","minDate","maxDate","calendar","key","inRange","isToday","isDisabled","undefined","getCalendarMonthGrid","options","weekStartsOn","monthLength","firstDay","firstWeekday","leadingDays","prevMonth","prevYear","prevMonthLength","today","cells","i","push","nextMonth","nextYear","trailingDay","length","weeks","slice"],"sourceRoot":"../../../src","sources":["calendar/get-calendar-month-grid.ts"],"mappings":"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","ignoreList":[]}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["getCalendarMonthGrid"],"sourceRoot":"../../../src","sources":["calendar/index.ts"],"mappings":";;AACA,SAASA,oBAAoB,QAAQ,2BAA2B","ignoreList":[]}
|
|
@@ -0,0 +1,132 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
import React, { memo, useMemo } from 'react';
|
|
4
|
+
import { Pressable, Text, View, StyleSheet } from 'react-native';
|
|
5
|
+
import { toNepaliNumerals } from '../../core/numerals';
|
|
6
|
+
import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
|
7
|
+
export const CalendarDay = /*#__PURE__*/memo(function CalendarDay({
|
|
8
|
+
date,
|
|
9
|
+
day,
|
|
10
|
+
selected,
|
|
11
|
+
today,
|
|
12
|
+
disabled,
|
|
13
|
+
inCurrentMonth,
|
|
14
|
+
marked,
|
|
15
|
+
numerals,
|
|
16
|
+
theme,
|
|
17
|
+
onPress,
|
|
18
|
+
rangeStart,
|
|
19
|
+
rangeEnd,
|
|
20
|
+
inRange,
|
|
21
|
+
locale
|
|
22
|
+
}) {
|
|
23
|
+
const displayDay = useMemo(() => numerals === 'devanagari' ? toNepaliNumerals(day) : String(day), [day, numerals]);
|
|
24
|
+
const isRangeEndpoint = rangeStart || rangeEnd;
|
|
25
|
+
const textColor = useMemo(() => {
|
|
26
|
+
if (disabled) return theme.colors.disabledText;
|
|
27
|
+
if (isRangeEndpoint) return theme.colors.primaryText;
|
|
28
|
+
if (inRange) return theme.colors.rangeText;
|
|
29
|
+
if (selected) return theme.colors.primaryText;
|
|
30
|
+
if (!inCurrentMonth) return theme.colors.outsideMonthText;
|
|
31
|
+
if (marked?.textColor) return marked.textColor;
|
|
32
|
+
return theme.colors.text;
|
|
33
|
+
}, [disabled, isRangeEndpoint, inRange, selected, inCurrentMonth, marked?.textColor, theme.colors.disabledText, theme.colors.primaryText, theme.colors.rangeText, theme.colors.outsideMonthText, theme.colors.text]);
|
|
34
|
+
const backgroundColor = useMemo(() => {
|
|
35
|
+
if (isRangeEndpoint) {
|
|
36
|
+
return rangeStart ? theme.colors.rangeStartBackground : theme.colors.rangeEndBackground;
|
|
37
|
+
}
|
|
38
|
+
if (inRange) return theme.colors.rangeBackground;
|
|
39
|
+
if (selected) return theme.colors.primary;
|
|
40
|
+
return undefined;
|
|
41
|
+
}, [isRangeEndpoint, rangeStart, inRange, selected, theme.colors.rangeStartBackground, theme.colors.rangeEndBackground, theme.colors.rangeBackground, theme.colors.primary]);
|
|
42
|
+
const accessibilityLabel = useMemo(() => {
|
|
43
|
+
const parts = [];
|
|
44
|
+
if (locale) {
|
|
45
|
+
try {
|
|
46
|
+
const {
|
|
47
|
+
formatBS
|
|
48
|
+
} = require('../../core/format');
|
|
49
|
+
parts.push(formatBS(date, 'yyyy MMMM d', {
|
|
50
|
+
locale
|
|
51
|
+
}));
|
|
52
|
+
} catch {
|
|
53
|
+
parts.push(`${date.year}/${date.month}/${day}`);
|
|
54
|
+
}
|
|
55
|
+
} else {
|
|
56
|
+
parts.push(`${date.year}/${date.month}/${day}`);
|
|
57
|
+
}
|
|
58
|
+
if (rangeStart) parts.push('range start');
|
|
59
|
+
if (rangeEnd) parts.push('range end');
|
|
60
|
+
if (inRange && !rangeStart && !rangeEnd) parts.push('in selected range');
|
|
61
|
+
if (selected && !inRange) parts.push('selected');
|
|
62
|
+
if (today) parts.push('today');
|
|
63
|
+
if (disabled) parts.push('disabled');
|
|
64
|
+
if (!inCurrentMonth) parts.push('outside month');
|
|
65
|
+
if (marked?.label) parts.push(marked.label);
|
|
66
|
+
return parts.join(', ');
|
|
67
|
+
}, [date, day, locale, rangeStart, rangeEnd, inRange, selected, today, disabled, inCurrentMonth, marked?.label]);
|
|
68
|
+
const containerStyle = [styles.dayContainer, backgroundColor && {
|
|
69
|
+
backgroundColor
|
|
70
|
+
}, today && !isRangeEndpoint && !selected && !inRange && {
|
|
71
|
+
borderWidth: 1,
|
|
72
|
+
borderColor: theme.colors.todayBorder
|
|
73
|
+
}, disabled && styles.dayDisabled, inRange && !isRangeEndpoint && styles.dayInRange, rangeStart && styles.dayRangeStart, rangeEnd && styles.dayRangeEnd];
|
|
74
|
+
return /*#__PURE__*/_jsxs(Pressable, {
|
|
75
|
+
style: containerStyle,
|
|
76
|
+
onPress: onPress,
|
|
77
|
+
disabled: disabled,
|
|
78
|
+
accessibilityRole: "button",
|
|
79
|
+
accessibilityLabel: accessibilityLabel,
|
|
80
|
+
accessibilityState: {
|
|
81
|
+
disabled,
|
|
82
|
+
selected: selected || isRangeEndpoint
|
|
83
|
+
},
|
|
84
|
+
children: [/*#__PURE__*/_jsx(Text, {
|
|
85
|
+
style: [styles.dayText, {
|
|
86
|
+
color: textColor
|
|
87
|
+
}],
|
|
88
|
+
children: displayDay
|
|
89
|
+
}), marked && !disabled && /*#__PURE__*/_jsx(View, {
|
|
90
|
+
style: [styles.marker, {
|
|
91
|
+
backgroundColor: marked.color ?? theme.colors.marker
|
|
92
|
+
}]
|
|
93
|
+
})]
|
|
94
|
+
});
|
|
95
|
+
});
|
|
96
|
+
const styles = StyleSheet.create({
|
|
97
|
+
dayContainer: {
|
|
98
|
+
alignItems: 'center',
|
|
99
|
+
justifyContent: 'center',
|
|
100
|
+
height: 40,
|
|
101
|
+
width: 40,
|
|
102
|
+
borderRadius: 20,
|
|
103
|
+
position: 'relative'
|
|
104
|
+
},
|
|
105
|
+
dayInRange: {
|
|
106
|
+
borderRadius: 0
|
|
107
|
+
},
|
|
108
|
+
dayRangeStart: {
|
|
109
|
+
borderTopLeftRadius: 20,
|
|
110
|
+
borderBottomLeftRadius: 20
|
|
111
|
+
},
|
|
112
|
+
dayRangeEnd: {
|
|
113
|
+
borderTopRightRadius: 20,
|
|
114
|
+
borderBottomRightRadius: 20
|
|
115
|
+
},
|
|
116
|
+
dayText: {
|
|
117
|
+
fontSize: 15,
|
|
118
|
+
textAlign: 'center',
|
|
119
|
+
lineHeight: 20
|
|
120
|
+
},
|
|
121
|
+
dayDisabled: {
|
|
122
|
+
opacity: 0.5
|
|
123
|
+
},
|
|
124
|
+
marker: {
|
|
125
|
+
position: 'absolute',
|
|
126
|
+
bottom: 4,
|
|
127
|
+
width: 4,
|
|
128
|
+
height: 4,
|
|
129
|
+
borderRadius: 2
|
|
130
|
+
}
|
|
131
|
+
});
|
|
132
|
+
//# sourceMappingURL=CalendarDay.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["React","memo","useMemo","Pressable","Text","View","StyleSheet","toNepaliNumerals","jsx","_jsx","jsxs","_jsxs","CalendarDay","date","day","selected","today","disabled","inCurrentMonth","marked","numerals","theme","onPress","rangeStart","rangeEnd","inRange","locale","displayDay","String","isRangeEndpoint","textColor","colors","disabledText","primaryText","rangeText","outsideMonthText","text","backgroundColor","rangeStartBackground","rangeEndBackground","rangeBackground","primary","undefined","accessibilityLabel","parts","formatBS","require","push","year","month","label","join","containerStyle","styles","dayContainer","borderWidth","borderColor","todayBorder","dayDisabled","dayInRange","dayRangeStart","dayRangeEnd","style","accessibilityRole","accessibilityState","children","dayText","color","marker","create","alignItems","justifyContent","height","width","borderRadius","position","borderTopLeftRadius","borderBottomLeftRadius","borderTopRightRadius","borderBottomRightRadius","fontSize","textAlign","lineHeight","opacity","bottom"],"sourceRoot":"../../../../src","sources":["components/NepaliCalendar/CalendarDay.tsx"],"mappings":"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","ignoreList":[]}
|
|
@@ -0,0 +1,111 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
import React, { memo, useCallback, useMemo } from 'react';
|
|
4
|
+
import { View, StyleSheet } from 'react-native';
|
|
5
|
+
import { compareBS } from '../../core';
|
|
6
|
+
import { isRangeStart, isRangeEnd, isDateInRange } from '../NepaliRangePicker/range-utils';
|
|
7
|
+
import { CalendarDay } from './CalendarDay';
|
|
8
|
+
import { jsx as _jsx } from "react/jsx-runtime";
|
|
9
|
+
export const CalendarGrid = /*#__PURE__*/memo(function CalendarGrid({
|
|
10
|
+
grid,
|
|
11
|
+
value,
|
|
12
|
+
today,
|
|
13
|
+
numerals,
|
|
14
|
+
theme,
|
|
15
|
+
markedDates,
|
|
16
|
+
disabledDates,
|
|
17
|
+
onChange,
|
|
18
|
+
renderDay,
|
|
19
|
+
rangeValue,
|
|
20
|
+
locale
|
|
21
|
+
}) {
|
|
22
|
+
const isDateDisabledByList = useCallback((date, dateKey) => {
|
|
23
|
+
if (Array.isArray(disabledDates)) {
|
|
24
|
+
return disabledDates.includes(dateKey);
|
|
25
|
+
}
|
|
26
|
+
if (typeof disabledDates === 'function') {
|
|
27
|
+
return disabledDates(date);
|
|
28
|
+
}
|
|
29
|
+
return false;
|
|
30
|
+
}, [disabledDates]);
|
|
31
|
+
const rows = useMemo(() => {
|
|
32
|
+
const hasRange = rangeValue?.start != null;
|
|
33
|
+
return grid.weeks.map((week, weekIndex) => /*#__PURE__*/_jsx(View, {
|
|
34
|
+
style: styles.weekRow,
|
|
35
|
+
children: week.map(cell => {
|
|
36
|
+
const dateKey = cell.key;
|
|
37
|
+
const isSelected = value !== null && compareBS(cell.date, value) === 0;
|
|
38
|
+
const isTodayCell = today !== null && compareBS(cell.date, today) === 0;
|
|
39
|
+
const marked = markedDates?.[dateKey];
|
|
40
|
+
const explicitlyDisabled = marked?.disabled ?? false;
|
|
41
|
+
const disabled = explicitlyDisabled || cell.isDisabled || isDateDisabledByList(cell.date, dateKey);
|
|
42
|
+
const rangeStart = hasRange && isRangeStart(cell.date, rangeValue);
|
|
43
|
+
const rangeEnd = hasRange && isRangeEnd(cell.date, rangeValue);
|
|
44
|
+
const inRange = hasRange && isDateInRange(cell.date, rangeValue);
|
|
45
|
+
const handlePress = () => {
|
|
46
|
+
if (!disabled) {
|
|
47
|
+
onChange(cell.date);
|
|
48
|
+
}
|
|
49
|
+
};
|
|
50
|
+
const dayProps = {
|
|
51
|
+
date: cell.date,
|
|
52
|
+
dateKey,
|
|
53
|
+
day: cell.day,
|
|
54
|
+
selected: isSelected,
|
|
55
|
+
today: isTodayCell,
|
|
56
|
+
disabled,
|
|
57
|
+
inCurrentMonth: cell.inCurrentMonth,
|
|
58
|
+
marked,
|
|
59
|
+
onPress: handlePress,
|
|
60
|
+
rangeStart,
|
|
61
|
+
rangeEnd,
|
|
62
|
+
inRange
|
|
63
|
+
};
|
|
64
|
+
if (renderDay) {
|
|
65
|
+
return /*#__PURE__*/_jsx(View, {
|
|
66
|
+
style: styles.dayCell,
|
|
67
|
+
children: renderDay(dayProps)
|
|
68
|
+
}, dateKey);
|
|
69
|
+
}
|
|
70
|
+
return /*#__PURE__*/_jsx(View, {
|
|
71
|
+
style: styles.dayCell,
|
|
72
|
+
children: /*#__PURE__*/_jsx(CalendarDay, {
|
|
73
|
+
date: cell.date,
|
|
74
|
+
day: cell.day,
|
|
75
|
+
selected: isSelected,
|
|
76
|
+
today: isTodayCell,
|
|
77
|
+
disabled: disabled,
|
|
78
|
+
inCurrentMonth: cell.inCurrentMonth,
|
|
79
|
+
marked: marked,
|
|
80
|
+
numerals: numerals,
|
|
81
|
+
theme: theme,
|
|
82
|
+
onPress: handlePress,
|
|
83
|
+
rangeStart: rangeStart,
|
|
84
|
+
rangeEnd: rangeEnd,
|
|
85
|
+
inRange: inRange,
|
|
86
|
+
locale: locale
|
|
87
|
+
})
|
|
88
|
+
}, dateKey);
|
|
89
|
+
})
|
|
90
|
+
}, weekIndex));
|
|
91
|
+
}, [grid.weeks, value, today, numerals, theme, markedDates, isDateDisabledByList, onChange, renderDay, rangeValue, locale]);
|
|
92
|
+
return /*#__PURE__*/_jsx(View, {
|
|
93
|
+
style: styles.grid,
|
|
94
|
+
children: rows
|
|
95
|
+
});
|
|
96
|
+
});
|
|
97
|
+
const styles = StyleSheet.create({
|
|
98
|
+
grid: {
|
|
99
|
+
paddingHorizontal: 8,
|
|
100
|
+
paddingBottom: 8
|
|
101
|
+
},
|
|
102
|
+
weekRow: {
|
|
103
|
+
flexDirection: 'row',
|
|
104
|
+
justifyContent: 'space-around'
|
|
105
|
+
},
|
|
106
|
+
dayCell: {
|
|
107
|
+
flex: 1,
|
|
108
|
+
alignItems: 'center'
|
|
109
|
+
}
|
|
110
|
+
});
|
|
111
|
+
//# sourceMappingURL=CalendarGrid.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["React","memo","useCallback","useMemo","View","StyleSheet","compareBS","isRangeStart","isRangeEnd","isDateInRange","CalendarDay","jsx","_jsx","CalendarGrid","grid","value","today","numerals","theme","markedDates","disabledDates","onChange","renderDay","rangeValue","locale","isDateDisabledByList","date","dateKey","Array","isArray","includes","rows","hasRange","start","weeks","map","week","weekIndex","style","styles","weekRow","children","cell","key","isSelected","isTodayCell","marked","explicitlyDisabled","disabled","isDisabled","rangeStart","rangeEnd","inRange","handlePress","dayProps","day","selected","inCurrentMonth","onPress","dayCell","create","paddingHorizontal","paddingBottom","flexDirection","justifyContent","flex","alignItems"],"sourceRoot":"../../../../src","sources":["components/NepaliCalendar/CalendarGrid.tsx"],"mappings":"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","ignoreList":[]}
|
|
@@ -0,0 +1,109 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
import React, { memo, useCallback } from 'react';
|
|
4
|
+
import { View, Text, Pressable, StyleSheet } from 'react-native';
|
|
5
|
+
import { formatBS } from '../../core/format';
|
|
6
|
+
import { toNepaliNumerals } from '../../core/numerals';
|
|
7
|
+
import { clampBSDateToSupportedRange } from '../../core/validation';
|
|
8
|
+
import { HEADER_PREV_MONTH_LABEL, HEADER_NEXT_MONTH_LABEL } from '../../accessibility';
|
|
9
|
+
import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
|
10
|
+
function safeFormatHeader(year, month, locale, numerals) {
|
|
11
|
+
const safeDate = clampBSDateToSupportedRange({
|
|
12
|
+
calendar: 'BS',
|
|
13
|
+
year,
|
|
14
|
+
month: Math.max(1, Math.min(12, month)),
|
|
15
|
+
day: 1
|
|
16
|
+
});
|
|
17
|
+
try {
|
|
18
|
+
return formatBS(safeDate, 'MMMM yyyy', {
|
|
19
|
+
locale,
|
|
20
|
+
numerals
|
|
21
|
+
});
|
|
22
|
+
} catch {
|
|
23
|
+
const monthName = safeDate.month >= 1 && safeDate.month <= 12 ? locale.months[safeDate.month - 1] : `Month ${safeDate.month}`;
|
|
24
|
+
const yearStr = numerals === 'devanagari' ? toNepaliNumerals(safeDate.year) : String(safeDate.year);
|
|
25
|
+
return `${monthName} ${yearStr}`;
|
|
26
|
+
}
|
|
27
|
+
}
|
|
28
|
+
export const CalendarHeader = /*#__PURE__*/memo(function CalendarHeader({
|
|
29
|
+
year,
|
|
30
|
+
month,
|
|
31
|
+
locale,
|
|
32
|
+
numerals,
|
|
33
|
+
theme,
|
|
34
|
+
onPrevMonth,
|
|
35
|
+
onNextMonth,
|
|
36
|
+
canGoPrev,
|
|
37
|
+
canGoNext
|
|
38
|
+
}) {
|
|
39
|
+
const title = safeFormatHeader(year, month, locale, numerals);
|
|
40
|
+
const handlePrev = useCallback(() => {
|
|
41
|
+
if (canGoPrev) onPrevMonth();
|
|
42
|
+
}, [canGoPrev, onPrevMonth]);
|
|
43
|
+
const handleNext = useCallback(() => {
|
|
44
|
+
if (canGoNext) onNextMonth();
|
|
45
|
+
}, [canGoNext, onNextMonth]);
|
|
46
|
+
return /*#__PURE__*/_jsxs(View, {
|
|
47
|
+
style: styles.header,
|
|
48
|
+
children: [/*#__PURE__*/_jsx(Pressable, {
|
|
49
|
+
style: [styles.navButton, !canGoPrev && styles.navButtonDisabled],
|
|
50
|
+
onPress: handlePrev,
|
|
51
|
+
disabled: !canGoPrev,
|
|
52
|
+
accessibilityRole: "button",
|
|
53
|
+
accessibilityLabel: HEADER_PREV_MONTH_LABEL,
|
|
54
|
+
children: /*#__PURE__*/_jsx(Text, {
|
|
55
|
+
style: [styles.navText, {
|
|
56
|
+
color: theme.colors.text
|
|
57
|
+
}],
|
|
58
|
+
children: "\u2039"
|
|
59
|
+
})
|
|
60
|
+
}), /*#__PURE__*/_jsx(Text, {
|
|
61
|
+
style: [styles.title, {
|
|
62
|
+
color: theme.colors.text
|
|
63
|
+
}],
|
|
64
|
+
children: title
|
|
65
|
+
}), /*#__PURE__*/_jsx(Pressable, {
|
|
66
|
+
style: [styles.navButton, !canGoNext && styles.navButtonDisabled],
|
|
67
|
+
onPress: handleNext,
|
|
68
|
+
disabled: !canGoNext,
|
|
69
|
+
accessibilityRole: "button",
|
|
70
|
+
accessibilityLabel: HEADER_NEXT_MONTH_LABEL,
|
|
71
|
+
children: /*#__PURE__*/_jsx(Text, {
|
|
72
|
+
style: [styles.navText, {
|
|
73
|
+
color: theme.colors.text
|
|
74
|
+
}],
|
|
75
|
+
children: "\u203A"
|
|
76
|
+
})
|
|
77
|
+
})]
|
|
78
|
+
});
|
|
79
|
+
});
|
|
80
|
+
const styles = StyleSheet.create({
|
|
81
|
+
header: {
|
|
82
|
+
flexDirection: 'row',
|
|
83
|
+
alignItems: 'center',
|
|
84
|
+
justifyContent: 'space-between',
|
|
85
|
+
paddingHorizontal: 16,
|
|
86
|
+
paddingVertical: 12
|
|
87
|
+
},
|
|
88
|
+
title: {
|
|
89
|
+
fontSize: 18,
|
|
90
|
+
fontWeight: '600',
|
|
91
|
+
flex: 1,
|
|
92
|
+
textAlign: 'center'
|
|
93
|
+
},
|
|
94
|
+
navButton: {
|
|
95
|
+
width: 40,
|
|
96
|
+
height: 40,
|
|
97
|
+
alignItems: 'center',
|
|
98
|
+
justifyContent: 'center',
|
|
99
|
+
borderRadius: 20
|
|
100
|
+
},
|
|
101
|
+
navButtonDisabled: {
|
|
102
|
+
opacity: 0.3
|
|
103
|
+
},
|
|
104
|
+
navText: {
|
|
105
|
+
fontSize: 24,
|
|
106
|
+
fontWeight: '400'
|
|
107
|
+
}
|
|
108
|
+
});
|
|
109
|
+
//# sourceMappingURL=CalendarHeader.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["React","memo","useCallback","View","Text","Pressable","StyleSheet","formatBS","toNepaliNumerals","clampBSDateToSupportedRange","HEADER_PREV_MONTH_LABEL","HEADER_NEXT_MONTH_LABEL","jsx","_jsx","jsxs","_jsxs","safeFormatHeader","year","month","locale","numerals","safeDate","calendar","Math","max","min","day","monthName","months","yearStr","String","CalendarHeader","theme","onPrevMonth","onNextMonth","canGoPrev","canGoNext","title","handlePrev","handleNext","style","styles","header","children","navButton","navButtonDisabled","onPress","disabled","accessibilityRole","accessibilityLabel","navText","color","colors","text","create","flexDirection","alignItems","justifyContent","paddingHorizontal","paddingVertical","fontSize","fontWeight","flex","textAlign","width","height","borderRadius","opacity"],"sourceRoot":"../../../../src","sources":["components/NepaliCalendar/CalendarHeader.tsx"],"mappings":"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","ignoreList":[]}
|
|
@@ -0,0 +1,39 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
import React, { memo, useMemo } from 'react';
|
|
4
|
+
import { View, Text, StyleSheet } from 'react-native';
|
|
5
|
+
import { jsx as _jsx } from "react/jsx-runtime";
|
|
6
|
+
export const CalendarWeekdays = /*#__PURE__*/memo(function CalendarWeekdays({
|
|
7
|
+
locale,
|
|
8
|
+
weekStartsOn,
|
|
9
|
+
theme
|
|
10
|
+
}) {
|
|
11
|
+
const weekdays = useMemo(() => {
|
|
12
|
+
const ordered = [...locale.weekdaysShort];
|
|
13
|
+
return ordered.slice(weekStartsOn).concat(ordered.slice(0, weekStartsOn));
|
|
14
|
+
}, [locale.weekdaysShort, weekStartsOn]);
|
|
15
|
+
return /*#__PURE__*/_jsx(View, {
|
|
16
|
+
style: styles.weekdaysRow,
|
|
17
|
+
children: weekdays.map((day, index) => /*#__PURE__*/_jsx(Text, {
|
|
18
|
+
style: [styles.weekdayText, {
|
|
19
|
+
color: theme.colors.mutedText
|
|
20
|
+
}],
|
|
21
|
+
children: day
|
|
22
|
+
}, index))
|
|
23
|
+
});
|
|
24
|
+
});
|
|
25
|
+
const styles = StyleSheet.create({
|
|
26
|
+
weekdaysRow: {
|
|
27
|
+
flexDirection: 'row',
|
|
28
|
+
justifyContent: 'space-around',
|
|
29
|
+
paddingHorizontal: 8,
|
|
30
|
+
paddingBottom: 8
|
|
31
|
+
},
|
|
32
|
+
weekdayText: {
|
|
33
|
+
flex: 1,
|
|
34
|
+
textAlign: 'center',
|
|
35
|
+
fontSize: 12,
|
|
36
|
+
fontWeight: '500'
|
|
37
|
+
}
|
|
38
|
+
});
|
|
39
|
+
//# sourceMappingURL=CalendarWeekdays.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["React","memo","useMemo","View","Text","StyleSheet","jsx","_jsx","CalendarWeekdays","locale","weekStartsOn","theme","weekdays","ordered","weekdaysShort","slice","concat","style","styles","weekdaysRow","children","map","day","index","weekdayText","color","colors","mutedText","create","flexDirection","justifyContent","paddingHorizontal","paddingBottom","flex","textAlign","fontSize","fontWeight"],"sourceRoot":"../../../../src","sources":["components/NepaliCalendar/CalendarWeekdays.tsx"],"mappings":";;AAAA,OAAOA,KAAK,IAAIC,IAAI,EAAEC,OAAO,QAAQ,OAAO;AAC5C,SAASC,IAAI,EAAEC,IAAI,EAAEC,UAAU,QAAQ,cAAc;AAAC,SAAAC,GAAA,IAAAC,IAAA;AAUtD,OAAO,MAAMC,gBAAgB,gBAAGP,IAAI,CAAC,SAASO,gBAAgBA,CAAC;EAC7DC,MAAM;EACNC,YAAY;EACZC;AACqB,CAAC,EAAE;EACxB,MAAMC,QAAQ,GAAGV,OAAO,CAAC,MAAM;IAC7B,MAAMW,OAAO,GAAG,CAAC,GAAGJ,MAAM,CAACK,aAAa,CAAC;IACzC,OAAOD,OAAO,CAACE,KAAK,CAACL,YAAY,CAAC,CAACM,MAAM,CAACH,OAAO,CAACE,KAAK,CAAC,CAAC,EAAEL,YAAY,CAAC,CAAC;EAC3E,CAAC,EAAE,CAACD,MAAM,CAACK,aAAa,EAAEJ,YAAY,CAAC,CAAC;EAExC,oBACEH,IAAA,CAACJ,IAAI;IAACc,KAAK,EAAEC,MAAM,CAACC,WAAY;IAAAC,QAAA,EAC7BR,QAAQ,CAACS,GAAG,CAAC,CAACC,GAAG,EAAEC,KAAK,kBACvBhB,IAAA,CAACH,IAAI;MAEHa,KAAK,EAAE,CAACC,MAAM,CAACM,WAAW,EAAE;QAAEC,KAAK,EAAEd,KAAK,CAACe,MAAM,CAACC;MAAU,CAAC,CAAE;MAAAP,QAAA,EAE9DE;IAAG,GAHCC,KAID,CACP;EAAC,CACE,CAAC;AAEX,CAAC,CAAC;AAEF,MAAML,MAAM,GAAGb,UAAU,CAACuB,MAAM,CAAC;EAC/BT,WAAW,EAAE;IACXU,aAAa,EAAE,KAAK;IACpBC,cAAc,EAAE,cAAc;IAC9BC,iBAAiB,EAAE,CAAC;IACpBC,aAAa,EAAE;EACjB,CAAC;EACDR,WAAW,EAAE;IACXS,IAAI,EAAE,CAAC;IACPC,SAAS,EAAE,QAAQ;IACnBC,QAAQ,EAAE,EAAE;IACZC,UAAU,EAAE;EACd;AACF,CAAC,CAAC","ignoreList":[]}
|