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 @@
|
|
|
1
|
+
{"version":3,"names":[],"sourceRoot":"../../../../src","sources":["components/NepaliDatePicker/types.ts"],"mappings":"","ignoreList":[]}
|
|
@@ -0,0 +1,182 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
import React, { useState, useMemo, useCallback, useEffect } from 'react';
|
|
4
|
+
import { Pressable, Text, StyleSheet } from 'react-native';
|
|
5
|
+
import { isValidBSDate, isBSDateInSupportedRange } from '../../core/validation';
|
|
6
|
+
import { useCalendarTheme } from '../../theme';
|
|
7
|
+
import { safeFormatBSDate, warnOutOfRangeInDev, warnMinMaxInDev } from '../../utils';
|
|
8
|
+
import { RangePickerModal } from './RangePickerModal';
|
|
9
|
+
import { jsx as _jsx, Fragment as _Fragment, jsxs as _jsxs } from "react/jsx-runtime";
|
|
10
|
+
export function NepaliRangePicker({
|
|
11
|
+
value,
|
|
12
|
+
defaultValue,
|
|
13
|
+
onChange,
|
|
14
|
+
placeholder = 'Select date range',
|
|
15
|
+
disabled = false,
|
|
16
|
+
locale,
|
|
17
|
+
numerals,
|
|
18
|
+
displayFormat = 'yyyy-MM-dd',
|
|
19
|
+
minDate,
|
|
20
|
+
maxDate,
|
|
21
|
+
markedDates,
|
|
22
|
+
disabledDates,
|
|
23
|
+
weekStartsOn,
|
|
24
|
+
allowSameDay = true,
|
|
25
|
+
theme,
|
|
26
|
+
colorScheme,
|
|
27
|
+
modalTitle,
|
|
28
|
+
confirmText,
|
|
29
|
+
cancelText,
|
|
30
|
+
clearText,
|
|
31
|
+
onOpen,
|
|
32
|
+
onClose,
|
|
33
|
+
testID
|
|
34
|
+
}) {
|
|
35
|
+
const [modalVisible, setModalVisible] = useState(false);
|
|
36
|
+
const calendarTheme = useCalendarTheme({
|
|
37
|
+
colorScheme,
|
|
38
|
+
theme
|
|
39
|
+
});
|
|
40
|
+
const isControlled = value !== undefined;
|
|
41
|
+
const [internalValue, setInternalValue] = useState(defaultValue ?? {
|
|
42
|
+
start: null,
|
|
43
|
+
end: null
|
|
44
|
+
});
|
|
45
|
+
useEffect(() => {
|
|
46
|
+
if (value?.start) {
|
|
47
|
+
if (!isValidBSDate(value.start)) {
|
|
48
|
+
if (__DEV__) {
|
|
49
|
+
console.warn('react-native-bikram-sambat: Invalid start date provided to NepaliRangePicker.', value.start);
|
|
50
|
+
}
|
|
51
|
+
} else if (!isBSDateInSupportedRange(value.start)) {
|
|
52
|
+
warnOutOfRangeInDev(value.start, {
|
|
53
|
+
min: 2000,
|
|
54
|
+
max: 2090
|
|
55
|
+
});
|
|
56
|
+
}
|
|
57
|
+
}
|
|
58
|
+
if (value?.end) {
|
|
59
|
+
if (!isValidBSDate(value.end)) {
|
|
60
|
+
if (__DEV__) {
|
|
61
|
+
console.warn('react-native-bikram-sambat: Invalid end date provided to NepaliRangePicker.', value.end);
|
|
62
|
+
}
|
|
63
|
+
} else if (!isBSDateInSupportedRange(value.end)) {
|
|
64
|
+
warnOutOfRangeInDev(value.end, {
|
|
65
|
+
min: 2000,
|
|
66
|
+
max: 2090
|
|
67
|
+
});
|
|
68
|
+
}
|
|
69
|
+
}
|
|
70
|
+
}, [value]);
|
|
71
|
+
useEffect(() => {
|
|
72
|
+
warnMinMaxInDev(minDate, maxDate);
|
|
73
|
+
}, [minDate, maxDate]);
|
|
74
|
+
const currentValue = isControlled ? value : internalValue;
|
|
75
|
+
const displayText = useMemo(() => {
|
|
76
|
+
if (!currentValue || !currentValue.start && !currentValue.end) {
|
|
77
|
+
return placeholder;
|
|
78
|
+
}
|
|
79
|
+
const startStr = currentValue.start ? safeFormatBSDate(currentValue.start, displayFormat, locale, numerals) : null;
|
|
80
|
+
const endStr = currentValue.end ? safeFormatBSDate(currentValue.end, displayFormat, locale, numerals) : null;
|
|
81
|
+
if (startStr && endStr) return `${startStr} → ${endStr}`;
|
|
82
|
+
if (startStr) return `${startStr} → ...`;
|
|
83
|
+
return placeholder;
|
|
84
|
+
}, [currentValue, placeholder, displayFormat, locale, numerals]);
|
|
85
|
+
const handleOpen = useCallback(() => {
|
|
86
|
+
if (disabled) return;
|
|
87
|
+
setModalVisible(true);
|
|
88
|
+
onOpen?.();
|
|
89
|
+
}, [disabled, onOpen]);
|
|
90
|
+
const handleClose = useCallback(() => {
|
|
91
|
+
setModalVisible(false);
|
|
92
|
+
onClose?.();
|
|
93
|
+
}, [onClose]);
|
|
94
|
+
const handleChange = useCallback(range => {
|
|
95
|
+
if (!isControlled) {
|
|
96
|
+
setInternalValue(range);
|
|
97
|
+
}
|
|
98
|
+
onChange?.(range);
|
|
99
|
+
}, [isControlled, onChange]);
|
|
100
|
+
const handleClear = useCallback(() => {
|
|
101
|
+
if (!isControlled) {
|
|
102
|
+
setInternalValue({
|
|
103
|
+
start: null,
|
|
104
|
+
end: null
|
|
105
|
+
});
|
|
106
|
+
}
|
|
107
|
+
onChange?.({
|
|
108
|
+
start: null,
|
|
109
|
+
end: null
|
|
110
|
+
});
|
|
111
|
+
}, [isControlled, onChange]);
|
|
112
|
+
const accessibilityLabel = useMemo(() => {
|
|
113
|
+
if (disabled) return `${placeholder}, disabled`;
|
|
114
|
+
if (currentValue?.start) {
|
|
115
|
+
const startStr = safeFormatBSDate(currentValue.start, displayFormat, locale, numerals);
|
|
116
|
+
const endStr = currentValue.end ? safeFormatBSDate(currentValue.end, displayFormat, locale, numerals) : null;
|
|
117
|
+
if (startStr && endStr) return `${startStr} to ${endStr}`;
|
|
118
|
+
if (startStr) return `${startStr}, start date selected`;
|
|
119
|
+
}
|
|
120
|
+
return placeholder;
|
|
121
|
+
}, [currentValue, placeholder, displayFormat, locale, numerals, disabled]);
|
|
122
|
+
return /*#__PURE__*/_jsxs(_Fragment, {
|
|
123
|
+
children: [/*#__PURE__*/_jsx(Pressable, {
|
|
124
|
+
style: [styles.field, {
|
|
125
|
+
borderColor: calendarTheme.colors.fieldBorder,
|
|
126
|
+
backgroundColor: calendarTheme.colors.fieldBackground
|
|
127
|
+
}, disabled && styles.fieldDisabled],
|
|
128
|
+
onPress: handleOpen,
|
|
129
|
+
disabled: disabled,
|
|
130
|
+
accessibilityRole: "button",
|
|
131
|
+
accessibilityLabel: accessibilityLabel,
|
|
132
|
+
accessibilityState: {
|
|
133
|
+
disabled
|
|
134
|
+
},
|
|
135
|
+
testID: testID,
|
|
136
|
+
children: /*#__PURE__*/_jsx(Text, {
|
|
137
|
+
style: [styles.fieldText, {
|
|
138
|
+
color: currentValue?.start ? calendarTheme.colors.text : calendarTheme.colors.placeholderText
|
|
139
|
+
}],
|
|
140
|
+
children: displayText
|
|
141
|
+
})
|
|
142
|
+
}), /*#__PURE__*/_jsx(RangePickerModal, {
|
|
143
|
+
visible: modalVisible,
|
|
144
|
+
value: currentValue,
|
|
145
|
+
defaultValue: defaultValue,
|
|
146
|
+
onChange: handleChange,
|
|
147
|
+
onClose: handleClose,
|
|
148
|
+
onClear: handleClear,
|
|
149
|
+
locale: locale,
|
|
150
|
+
numerals: numerals,
|
|
151
|
+
minDate: minDate,
|
|
152
|
+
maxDate: maxDate,
|
|
153
|
+
markedDates: markedDates,
|
|
154
|
+
disabledDates: disabledDates,
|
|
155
|
+
weekStartsOn: weekStartsOn,
|
|
156
|
+
allowSameDay: allowSameDay,
|
|
157
|
+
theme: theme,
|
|
158
|
+
colorScheme: colorScheme,
|
|
159
|
+
title: modalTitle,
|
|
160
|
+
confirmText: confirmText,
|
|
161
|
+
cancelText: cancelText,
|
|
162
|
+
clearText: clearText
|
|
163
|
+
})]
|
|
164
|
+
});
|
|
165
|
+
}
|
|
166
|
+
const styles = StyleSheet.create({
|
|
167
|
+
field: {
|
|
168
|
+
borderWidth: 1,
|
|
169
|
+
borderRadius: 10,
|
|
170
|
+
paddingHorizontal: 16,
|
|
171
|
+
paddingVertical: 14,
|
|
172
|
+
alignItems: 'center'
|
|
173
|
+
},
|
|
174
|
+
fieldDisabled: {
|
|
175
|
+
opacity: 0.5
|
|
176
|
+
},
|
|
177
|
+
fieldText: {
|
|
178
|
+
fontSize: 16,
|
|
179
|
+
fontWeight: '500'
|
|
180
|
+
}
|
|
181
|
+
});
|
|
182
|
+
//# sourceMappingURL=NepaliRangePicker.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["React","useState","useMemo","useCallback","useEffect","Pressable","Text","StyleSheet","isValidBSDate","isBSDateInSupportedRange","useCalendarTheme","safeFormatBSDate","warnOutOfRangeInDev","warnMinMaxInDev","RangePickerModal","jsx","_jsx","Fragment","_Fragment","jsxs","_jsxs","NepaliRangePicker","value","defaultValue","onChange","placeholder","disabled","locale","numerals","displayFormat","minDate","maxDate","markedDates","disabledDates","weekStartsOn","allowSameDay","theme","colorScheme","modalTitle","confirmText","cancelText","clearText","onOpen","onClose","testID","modalVisible","setModalVisible","calendarTheme","isControlled","undefined","internalValue","setInternalValue","start","end","__DEV__","console","warn","min","max","currentValue","displayText","startStr","endStr","handleOpen","handleClose","handleChange","range","handleClear","accessibilityLabel","children","style","styles","field","borderColor","colors","fieldBorder","backgroundColor","fieldBackground","fieldDisabled","onPress","accessibilityRole","accessibilityState","fieldText","color","text","placeholderText","visible","onClear","title","create","borderWidth","borderRadius","paddingHorizontal","paddingVertical","alignItems","opacity","fontSize","fontWeight"],"sourceRoot":"../../../../src","sources":["components/NepaliRangePicker/NepaliRangePicker.tsx"],"mappings":";;AAAA,OAAOA,KAAK,IAAIC,QAAQ,EAAEC,OAAO,EAAEC,WAAW,EAAEC,SAAS,QAAQ,OAAO;AACxE,SAASC,SAAS,EAAEC,IAAI,EAAEC,UAAU,QAAQ,cAAc;AAC1D,SAASC,aAAa,EAAEC,wBAAwB,QAAQ,uBAAuB;AAC/E,SAASC,gBAAgB,QAAQ,aAAa;AAC9C,SAASC,gBAAgB,EAAEC,mBAAmB,EAAEC,eAAe,QAAQ,aAAa;AACpF,SAASC,gBAAgB,QAAQ,oBAAoB;AAAC,SAAAC,GAAA,IAAAC,IAAA,EAAAC,QAAA,IAAAC,SAAA,EAAAC,IAAA,IAAAC,KAAA;AAGtD,OAAO,SAASC,iBAAiBA,CAAC;EAChCC,KAAK;EACLC,YAAY;EACZC,QAAQ;EACRC,WAAW,GAAG,mBAAmB;EACjCC,QAAQ,GAAG,KAAK;EAChBC,MAAM;EACNC,QAAQ;EACRC,aAAa,GAAG,YAAY;EAC5BC,OAAO;EACPC,OAAO;EACPC,WAAW;EACXC,aAAa;EACbC,YAAY;EACZC,YAAY,GAAG,IAAI;EACnBC,KAAK;EACLC,WAAW;EACXC,UAAU;EACVC,WAAW;EACXC,UAAU;EACVC,SAAS;EACTC,MAAM;EACNC,OAAO;EACPC;AACsB,CAAC,EAAE;EACzB,MAAM,CAACC,YAAY,EAAEC,eAAe,CAAC,GAAG7C,QAAQ,CAAC,KAAK,CAAC;EACvD,MAAM8C,aAAa,GAAGrC,gBAAgB,CAAC;IAAE2B,WAAW;IAAED;EAAM,CAAC,CAAC;EAE9D,MAAMY,YAAY,GAAG1B,KAAK,KAAK2B,SAAS;EACxC,MAAM,CAACC,aAAa,EAAEC,gBAAgB,CAAC,GAAGlD,QAAQ,CAChDsB,YAAY,IAAI;IAAE6B,KAAK,EAAE,IAAI;IAAEC,GAAG,EAAE;EAAK,CAC3C,CAAC;EAEDjD,SAAS,CAAC,MAAM;IACd,IAAIkB,KAAK,EAAE8B,KAAK,EAAE;MAChB,IAAI,CAAC5C,aAAa,CAACc,KAAK,CAAC8B,KAAK,CAAC,EAAE;QAC/B,IAAIE,OAAO,EAAE;UACXC,OAAO,CAACC,IAAI,CACV,+EAA+E,EAC/ElC,KAAK,CAAC8B,KACR,CAAC;QACH;MACF,CAAC,MAAM,IAAI,CAAC3C,wBAAwB,CAACa,KAAK,CAAC8B,KAAK,CAAC,EAAE;QACjDxC,mBAAmB,CAACU,KAAK,CAAC8B,KAAK,EAAE;UAAEK,GAAG,EAAE,IAAI;UAAEC,GAAG,EAAE;QAAK,CAAC,CAAC;MAC5D;IACF;IACA,IAAIpC,KAAK,EAAE+B,GAAG,EAAE;MACd,IAAI,CAAC7C,aAAa,CAACc,KAAK,CAAC+B,GAAG,CAAC,EAAE;QAC7B,IAAIC,OAAO,EAAE;UACXC,OAAO,CAACC,IAAI,CACV,6EAA6E,EAC7ElC,KAAK,CAAC+B,GACR,CAAC;QACH;MACF,CAAC,MAAM,IAAI,CAAC5C,wBAAwB,CAACa,KAAK,CAAC+B,GAAG,CAAC,EAAE;QAC/CzC,mBAAmB,CAACU,KAAK,CAAC+B,GAAG,EAAE;UAAEI,GAAG,EAAE,IAAI;UAAEC,GAAG,EAAE;QAAK,CAAC,CAAC;MAC1D;IACF;EACF,CAAC,EAAE,CAACpC,KAAK,CAAC,CAAC;EAEXlB,SAAS,CAAC,MAAM;IACdS,eAAe,CAACiB,OAAO,EAAEC,OAAO,CAAC;EACnC,CAAC,EAAE,CAACD,OAAO,EAAEC,OAAO,CAAC,CAAC;EAEtB,MAAM4B,YAAY,GAAGX,YAAY,GAAG1B,KAAK,GAAG4B,aAAa;EAEzD,MAAMU,WAAW,GAAG1D,OAAO,CAAC,MAAM;IAChC,IAAI,CAACyD,YAAY,IAAK,CAACA,YAAY,CAACP,KAAK,IAAI,CAACO,YAAY,CAACN,GAAI,EAAE;MAC/D,OAAO5B,WAAW;IACpB;IAEA,MAAMoC,QAAQ,GAAGF,YAAY,CAACP,KAAK,GAC/BzC,gBAAgB,CAACgD,YAAY,CAACP,KAAK,EAAEvB,aAAa,EAAEF,MAAM,EAAEC,QAAQ,CAAC,GACrE,IAAI;IACR,MAAMkC,MAAM,GAAGH,YAAY,CAACN,GAAG,GAC3B1C,gBAAgB,CAACgD,YAAY,CAACN,GAAG,EAAExB,aAAa,EAAEF,MAAM,EAAEC,QAAQ,CAAC,GACnE,IAAI;IAER,IAAIiC,QAAQ,IAAIC,MAAM,EAAE,OAAO,GAAGD,QAAQ,MAAMC,MAAM,EAAE;IACxD,IAAID,QAAQ,EAAE,OAAO,GAAGA,QAAQ,QAAQ;IACxC,OAAOpC,WAAW;EACpB,CAAC,EAAE,CAACkC,YAAY,EAAElC,WAAW,EAAEI,aAAa,EAAEF,MAAM,EAAEC,QAAQ,CAAC,CAAC;EAEhE,MAAMmC,UAAU,GAAG5D,WAAW,CAAC,MAAM;IACnC,IAAIuB,QAAQ,EAAE;IACdoB,eAAe,CAAC,IAAI,CAAC;IACrBJ,MAAM,GAAG,CAAC;EACZ,CAAC,EAAE,CAAChB,QAAQ,EAAEgB,MAAM,CAAC,CAAC;EAEtB,MAAMsB,WAAW,GAAG7D,WAAW,CAAC,MAAM;IACpC2C,eAAe,CAAC,KAAK,CAAC;IACtBH,OAAO,GAAG,CAAC;EACb,CAAC,EAAE,CAACA,OAAO,CAAC,CAAC;EAEb,MAAMsB,YAAY,GAAG9D,WAAW,CAC7B+D,KAAqB,IAAK;IACzB,IAAI,CAAClB,YAAY,EAAE;MACjBG,gBAAgB,CAACe,KAAK,CAAC;IACzB;IACA1C,QAAQ,GAAG0C,KAAK,CAAC;EACnB,CAAC,EACD,CAAClB,YAAY,EAAExB,QAAQ,CACzB,CAAC;EAED,MAAM2C,WAAW,GAAGhE,WAAW,CAAC,MAAM;IACpC,IAAI,CAAC6C,YAAY,EAAE;MACjBG,gBAAgB,CAAC;QAAEC,KAAK,EAAE,IAAI;QAAEC,GAAG,EAAE;MAAK,CAAC,CAAC;IAC9C;IACA7B,QAAQ,GAAG;MAAE4B,KAAK,EAAE,IAAI;MAAEC,GAAG,EAAE;IAAK,CAAC,CAAC;EACxC,CAAC,EAAE,CAACL,YAAY,EAAExB,QAAQ,CAAC,CAAC;EAE5B,MAAM4C,kBAAkB,GAAGlE,OAAO,CAAC,MAAM;IACvC,IAAIwB,QAAQ,EAAE,OAAO,GAAGD,WAAW,YAAY;IAC/C,IAAIkC,YAAY,EAAEP,KAAK,EAAE;MACvB,MAAMS,QAAQ,GAAGlD,gBAAgB,CAACgD,YAAY,CAACP,KAAK,EAAEvB,aAAa,EAAEF,MAAM,EAAEC,QAAQ,CAAC;MACtF,MAAMkC,MAAM,GAAGH,YAAY,CAACN,GAAG,GAC3B1C,gBAAgB,CAACgD,YAAY,CAACN,GAAG,EAAExB,aAAa,EAAEF,MAAM,EAAEC,QAAQ,CAAC,GACnE,IAAI;MACR,IAAIiC,QAAQ,IAAIC,MAAM,EAAE,OAAO,GAAGD,QAAQ,OAAOC,MAAM,EAAE;MACzD,IAAID,QAAQ,EAAE,OAAO,GAAGA,QAAQ,uBAAuB;IACzD;IACA,OAAOpC,WAAW;EACpB,CAAC,EAAE,CAACkC,YAAY,EAAElC,WAAW,EAAEI,aAAa,EAAEF,MAAM,EAAEC,QAAQ,EAAEF,QAAQ,CAAC,CAAC;EAE1E,oBACEN,KAAA,CAAAF,SAAA;IAAAmD,QAAA,gBACErD,IAAA,CAACX,SAAS;MACRiE,KAAK,EAAE,CACLC,MAAM,CAACC,KAAK,EACZ;QACEC,WAAW,EAAE1B,aAAa,CAAC2B,MAAM,CAACC,WAAW;QAC7CC,eAAe,EAAE7B,aAAa,CAAC2B,MAAM,CAACG;MACxC,CAAC,EACDnD,QAAQ,IAAI6C,MAAM,CAACO,aAAa,CAChC;MACFC,OAAO,EAAEhB,UAAW;MACpBrC,QAAQ,EAAEA,QAAS;MACnBsD,iBAAiB,EAAC,QAAQ;MAC1BZ,kBAAkB,EAAEA,kBAAmB;MACvCa,kBAAkB,EAAE;QAAEvD;MAAS,CAAE;MACjCkB,MAAM,EAAEA,MAAO;MAAAyB,QAAA,eAEfrD,IAAA,CAACV,IAAI;QACHgE,KAAK,EAAE,CACLC,MAAM,CAACW,SAAS,EAChB;UACEC,KAAK,EAAExB,YAAY,EAAEP,KAAK,GACtBL,aAAa,CAAC2B,MAAM,CAACU,IAAI,GACzBrC,aAAa,CAAC2B,MAAM,CAACW;QAC3B,CAAC,CACD;QAAAhB,QAAA,EAEDT;MAAW,CACR;IAAC,CACE,CAAC,eAEZ5C,IAAA,CAACF,gBAAgB;MACfwE,OAAO,EAAEzC,YAAa;MACtBvB,KAAK,EAAEqC,YAAa;MACpBpC,YAAY,EAAEA,YAAa;MAC3BC,QAAQ,EAAEyC,YAAa;MACvBtB,OAAO,EAAEqB,WAAY;MACrBuB,OAAO,EAAEpB,WAAY;MACrBxC,MAAM,EAAEA,MAAO;MACfC,QAAQ,EAAEA,QAAS;MACnBE,OAAO,EAAEA,OAAQ;MACjBC,OAAO,EAAEA,OAAQ;MACjBC,WAAW,EAAEA,WAAY;MACzBC,aAAa,EAAEA,aAAc;MAC7BC,YAAY,EAAEA,YAAa;MAC3BC,YAAY,EAAEA,YAAa;MAC3BC,KAAK,EAAEA,KAAM;MACbC,WAAW,EAAEA,WAAY;MACzBmD,KAAK,EAAElD,UAAW;MAClBC,WAAW,EAAEA,WAAY;MACzBC,UAAU,EAAEA,UAAW;MACvBC,SAAS,EAAEA;IAAU,CACtB,CAAC;EAAA,CACF,CAAC;AAEP;AAEA,MAAM8B,MAAM,GAAGhE,UAAU,CAACkF,MAAM,CAAC;EAC/BjB,KAAK,EAAE;IACLkB,WAAW,EAAE,CAAC;IACdC,YAAY,EAAE,EAAE;IAChBC,iBAAiB,EAAE,EAAE;IACrBC,eAAe,EAAE,EAAE;IACnBC,UAAU,EAAE;EACd,CAAC;EACDhB,aAAa,EAAE;IACbiB,OAAO,EAAE;EACX,CAAC;EACDb,SAAS,EAAE;IACTc,QAAQ,EAAE,EAAE;IACZC,UAAU,EAAE;EACd;AACF,CAAC,CAAC","ignoreList":[]}
|
|
@@ -0,0 +1,270 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
import React, { useState, useEffect, useMemo, useCallback } from 'react';
|
|
4
|
+
import { View, Text, Pressable, Modal, StyleSheet, TouchableWithoutFeedback } from 'react-native';
|
|
5
|
+
import { useCalendarTheme } from '../../theme';
|
|
6
|
+
import { safeFormatBSDate, getSafeInitialBSDate } from '../../utils';
|
|
7
|
+
import { NepaliCalendar } from '../NepaliCalendar';
|
|
8
|
+
import { selectRangeDate } from './range-utils';
|
|
9
|
+
import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
|
10
|
+
function getInitialTempRange(value, defaultValue) {
|
|
11
|
+
const start = value?.start ? getSafeInitialBSDate(value.start, undefined) : null;
|
|
12
|
+
const end = value?.end ? getSafeInitialBSDate(value.end, undefined) : null;
|
|
13
|
+
if (start) {
|
|
14
|
+
return {
|
|
15
|
+
start,
|
|
16
|
+
end
|
|
17
|
+
};
|
|
18
|
+
}
|
|
19
|
+
const defStart = defaultValue?.start ? getSafeInitialBSDate(defaultValue.start, undefined) : null;
|
|
20
|
+
const defEnd = defaultValue?.end ? getSafeInitialBSDate(defaultValue.end, undefined) : null;
|
|
21
|
+
if (defStart) {
|
|
22
|
+
return {
|
|
23
|
+
start: defStart,
|
|
24
|
+
end: defEnd
|
|
25
|
+
};
|
|
26
|
+
}
|
|
27
|
+
return {
|
|
28
|
+
start: null,
|
|
29
|
+
end: null
|
|
30
|
+
};
|
|
31
|
+
}
|
|
32
|
+
export function RangePickerModal({
|
|
33
|
+
visible,
|
|
34
|
+
value,
|
|
35
|
+
defaultValue,
|
|
36
|
+
onChange,
|
|
37
|
+
onConfirm,
|
|
38
|
+
onCancel,
|
|
39
|
+
onClose,
|
|
40
|
+
onClear,
|
|
41
|
+
locale,
|
|
42
|
+
numerals,
|
|
43
|
+
minDate,
|
|
44
|
+
maxDate,
|
|
45
|
+
markedDates,
|
|
46
|
+
disabledDates,
|
|
47
|
+
weekStartsOn,
|
|
48
|
+
theme,
|
|
49
|
+
colorScheme,
|
|
50
|
+
title = 'Select Date Range',
|
|
51
|
+
confirmText = 'Confirm',
|
|
52
|
+
cancelText = 'Cancel',
|
|
53
|
+
clearText = 'Clear',
|
|
54
|
+
allowSameDay = true,
|
|
55
|
+
testID
|
|
56
|
+
}) {
|
|
57
|
+
const calendarTheme = useCalendarTheme({
|
|
58
|
+
colorScheme,
|
|
59
|
+
theme
|
|
60
|
+
});
|
|
61
|
+
const [tempRange, setTempRange] = useState(() => getInitialTempRange(value, defaultValue));
|
|
62
|
+
useEffect(() => {
|
|
63
|
+
if (visible) {
|
|
64
|
+
setTempRange(getInitialTempRange(value, defaultValue));
|
|
65
|
+
}
|
|
66
|
+
}, [visible, value, defaultValue]);
|
|
67
|
+
const handleDateSelect = useCallback(date => {
|
|
68
|
+
setTempRange(prev => selectRangeDate(prev, date, {
|
|
69
|
+
allowSameDay
|
|
70
|
+
}));
|
|
71
|
+
}, [allowSameDay]);
|
|
72
|
+
const handleConfirm = useCallback(() => {
|
|
73
|
+
if (!tempRange.start) return;
|
|
74
|
+
onConfirm?.(tempRange);
|
|
75
|
+
onChange?.(tempRange);
|
|
76
|
+
onClose?.();
|
|
77
|
+
}, [tempRange, onConfirm, onChange, onClose]);
|
|
78
|
+
const handleCancel = useCallback(() => {
|
|
79
|
+
onCancel?.();
|
|
80
|
+
onClose?.();
|
|
81
|
+
}, [onCancel, onClose]);
|
|
82
|
+
const handleClear = useCallback(() => {
|
|
83
|
+
setTempRange({
|
|
84
|
+
start: null,
|
|
85
|
+
end: null
|
|
86
|
+
});
|
|
87
|
+
onClear?.();
|
|
88
|
+
}, [onClear]);
|
|
89
|
+
const handleBackdropPress = useCallback(() => {
|
|
90
|
+
onCancel?.();
|
|
91
|
+
onClose?.();
|
|
92
|
+
}, [onCancel, onClose]);
|
|
93
|
+
const rangeSummary = useMemo(() => {
|
|
94
|
+
const startStr = tempRange.start ? safeFormatBSDate(tempRange.start, 'yyyy-MM-dd', locale, numerals) : null;
|
|
95
|
+
const endStr = tempRange.end ? safeFormatBSDate(tempRange.end, 'yyyy-MM-dd', locale, numerals) : null;
|
|
96
|
+
if (startStr && endStr) return `${startStr} → ${endStr}`;
|
|
97
|
+
if (startStr) return `${startStr} → ...`;
|
|
98
|
+
return `... → ...`;
|
|
99
|
+
}, [tempRange, locale, numerals]);
|
|
100
|
+
const isConfirmDisabled = tempRange.start == null || tempRange.end == null;
|
|
101
|
+
const modalContent = useMemo(() => /*#__PURE__*/_jsxs(View, {
|
|
102
|
+
style: [styles.modalContent, {
|
|
103
|
+
backgroundColor: calendarTheme.colors.modalBackground
|
|
104
|
+
}],
|
|
105
|
+
testID: testID,
|
|
106
|
+
children: [/*#__PURE__*/_jsx(Text, {
|
|
107
|
+
style: [styles.title, {
|
|
108
|
+
color: calendarTheme.colors.text,
|
|
109
|
+
borderBottomColor: calendarTheme.colors.border
|
|
110
|
+
}],
|
|
111
|
+
children: title
|
|
112
|
+
}), /*#__PURE__*/_jsx(View, {
|
|
113
|
+
style: [styles.rangeSummary, {
|
|
114
|
+
borderBottomColor: calendarTheme.colors.border
|
|
115
|
+
}],
|
|
116
|
+
children: /*#__PURE__*/_jsx(Text, {
|
|
117
|
+
style: [styles.rangeText, {
|
|
118
|
+
color: calendarTheme.colors.primary
|
|
119
|
+
}],
|
|
120
|
+
children: rangeSummary
|
|
121
|
+
})
|
|
122
|
+
}), /*#__PURE__*/_jsx(View, {
|
|
123
|
+
style: styles.calendarWrapper,
|
|
124
|
+
children: /*#__PURE__*/_jsx(NepaliCalendar, {
|
|
125
|
+
value: tempRange.start,
|
|
126
|
+
onChange: handleDateSelect,
|
|
127
|
+
locale: locale,
|
|
128
|
+
numerals: numerals,
|
|
129
|
+
minDate: minDate,
|
|
130
|
+
maxDate: maxDate,
|
|
131
|
+
markedDates: markedDates,
|
|
132
|
+
disabledDates: disabledDates,
|
|
133
|
+
weekStartsOn: weekStartsOn,
|
|
134
|
+
theme: theme,
|
|
135
|
+
colorScheme: colorScheme,
|
|
136
|
+
rangeValue: tempRange
|
|
137
|
+
})
|
|
138
|
+
}), /*#__PURE__*/_jsxs(View, {
|
|
139
|
+
style: [styles.buttonRow, {
|
|
140
|
+
borderTopColor: calendarTheme.colors.border
|
|
141
|
+
}],
|
|
142
|
+
children: [/*#__PURE__*/_jsx(Pressable, {
|
|
143
|
+
style: [styles.button, styles.clearButton],
|
|
144
|
+
onPress: handleClear,
|
|
145
|
+
accessibilityRole: "button",
|
|
146
|
+
accessibilityLabel: "Clear selected date range",
|
|
147
|
+
children: /*#__PURE__*/_jsx(Text, {
|
|
148
|
+
style: [styles.clearText, {
|
|
149
|
+
color: calendarTheme.colors.danger
|
|
150
|
+
}],
|
|
151
|
+
children: clearText
|
|
152
|
+
})
|
|
153
|
+
}), /*#__PURE__*/_jsx(Pressable, {
|
|
154
|
+
style: [styles.button, styles.cancelButton],
|
|
155
|
+
onPress: handleCancel,
|
|
156
|
+
accessibilityRole: "button",
|
|
157
|
+
accessibilityLabel: "Cancel date range selection",
|
|
158
|
+
children: /*#__PURE__*/_jsx(Text, {
|
|
159
|
+
style: [styles.cancelText, {
|
|
160
|
+
color: calendarTheme.colors.mutedText
|
|
161
|
+
}],
|
|
162
|
+
children: cancelText
|
|
163
|
+
})
|
|
164
|
+
}), /*#__PURE__*/_jsx(Pressable, {
|
|
165
|
+
style: [styles.button, {
|
|
166
|
+
backgroundColor: isConfirmDisabled ? calendarTheme.colors.disabledText : calendarTheme.colors.primary
|
|
167
|
+
}],
|
|
168
|
+
onPress: handleConfirm,
|
|
169
|
+
disabled: isConfirmDisabled,
|
|
170
|
+
accessibilityRole: "button",
|
|
171
|
+
accessibilityLabel: "Confirm selected date range",
|
|
172
|
+
accessibilityState: {
|
|
173
|
+
disabled: isConfirmDisabled
|
|
174
|
+
},
|
|
175
|
+
children: /*#__PURE__*/_jsx(Text, {
|
|
176
|
+
style: [styles.confirmText, {
|
|
177
|
+
color: calendarTheme.colors.primaryText
|
|
178
|
+
}],
|
|
179
|
+
children: confirmText
|
|
180
|
+
})
|
|
181
|
+
})]
|
|
182
|
+
})]
|
|
183
|
+
}), [tempRange, title, rangeSummary, locale, numerals, minDate, maxDate, markedDates, disabledDates, weekStartsOn, theme, colorScheme, testID, clearText, cancelText, confirmText, isConfirmDisabled, calendarTheme, handleClear, handleCancel, handleConfirm, handleDateSelect]);
|
|
184
|
+
return /*#__PURE__*/_jsx(Modal, {
|
|
185
|
+
visible: visible,
|
|
186
|
+
transparent: true,
|
|
187
|
+
animationType: "fade",
|
|
188
|
+
onRequestClose: handleCancel,
|
|
189
|
+
children: /*#__PURE__*/_jsx(TouchableWithoutFeedback, {
|
|
190
|
+
onPress: handleBackdropPress,
|
|
191
|
+
children: /*#__PURE__*/_jsx(View, {
|
|
192
|
+
style: [styles.backdrop, {
|
|
193
|
+
backgroundColor: calendarTheme.colors.overlay
|
|
194
|
+
}],
|
|
195
|
+
children: /*#__PURE__*/_jsx(TouchableWithoutFeedback, {
|
|
196
|
+
children: modalContent
|
|
197
|
+
})
|
|
198
|
+
})
|
|
199
|
+
})
|
|
200
|
+
});
|
|
201
|
+
}
|
|
202
|
+
const styles = StyleSheet.create({
|
|
203
|
+
backdrop: {
|
|
204
|
+
flex: 1,
|
|
205
|
+
justifyContent: 'center',
|
|
206
|
+
alignItems: 'center',
|
|
207
|
+
paddingHorizontal: 20
|
|
208
|
+
},
|
|
209
|
+
modalContent: {
|
|
210
|
+
borderRadius: 16,
|
|
211
|
+
overflow: 'hidden',
|
|
212
|
+
width: '100%',
|
|
213
|
+
maxWidth: 400
|
|
214
|
+
},
|
|
215
|
+
title: {
|
|
216
|
+
fontSize: 18,
|
|
217
|
+
fontWeight: '600',
|
|
218
|
+
textAlign: 'center',
|
|
219
|
+
paddingVertical: 16,
|
|
220
|
+
paddingHorizontal: 16,
|
|
221
|
+
borderBottomWidth: StyleSheet.hairlineWidth
|
|
222
|
+
},
|
|
223
|
+
rangeSummary: {
|
|
224
|
+
paddingVertical: 12,
|
|
225
|
+
paddingHorizontal: 16,
|
|
226
|
+
borderBottomWidth: StyleSheet.hairlineWidth,
|
|
227
|
+
alignItems: 'center'
|
|
228
|
+
},
|
|
229
|
+
rangeText: {
|
|
230
|
+
fontSize: 16,
|
|
231
|
+
fontWeight: '500'
|
|
232
|
+
},
|
|
233
|
+
calendarWrapper: {
|
|
234
|
+
padding: 8
|
|
235
|
+
},
|
|
236
|
+
buttonRow: {
|
|
237
|
+
flexDirection: 'row',
|
|
238
|
+
justifyContent: 'flex-end',
|
|
239
|
+
paddingHorizontal: 16,
|
|
240
|
+
paddingVertical: 12,
|
|
241
|
+
gap: 10,
|
|
242
|
+
borderTopWidth: StyleSheet.hairlineWidth
|
|
243
|
+
},
|
|
244
|
+
button: {
|
|
245
|
+
paddingVertical: 10,
|
|
246
|
+
paddingHorizontal: 16,
|
|
247
|
+
borderRadius: 8,
|
|
248
|
+
minWidth: 70,
|
|
249
|
+
alignItems: 'center'
|
|
250
|
+
},
|
|
251
|
+
clearButton: {
|
|
252
|
+
backgroundColor: 'transparent'
|
|
253
|
+
},
|
|
254
|
+
cancelButton: {
|
|
255
|
+
backgroundColor: 'transparent'
|
|
256
|
+
},
|
|
257
|
+
clearText: {
|
|
258
|
+
fontSize: 15,
|
|
259
|
+
fontWeight: '600'
|
|
260
|
+
},
|
|
261
|
+
cancelText: {
|
|
262
|
+
fontSize: 15,
|
|
263
|
+
fontWeight: '600'
|
|
264
|
+
},
|
|
265
|
+
confirmText: {
|
|
266
|
+
fontSize: 15,
|
|
267
|
+
fontWeight: '600'
|
|
268
|
+
}
|
|
269
|
+
});
|
|
270
|
+
//# sourceMappingURL=RangePickerModal.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["React","useState","useEffect","useMemo","useCallback","View","Text","Pressable","Modal","StyleSheet","TouchableWithoutFeedback","useCalendarTheme","safeFormatBSDate","getSafeInitialBSDate","NepaliCalendar","selectRangeDate","jsx","_jsx","jsxs","_jsxs","getInitialTempRange","value","defaultValue","start","undefined","end","defStart","defEnd","RangePickerModal","visible","onChange","onConfirm","onCancel","onClose","onClear","locale","numerals","minDate","maxDate","markedDates","disabledDates","weekStartsOn","theme","colorScheme","title","confirmText","cancelText","clearText","allowSameDay","testID","calendarTheme","tempRange","setTempRange","handleDateSelect","date","prev","handleConfirm","handleCancel","handleClear","handleBackdropPress","rangeSummary","startStr","endStr","isConfirmDisabled","modalContent","style","styles","backgroundColor","colors","modalBackground","children","color","text","borderBottomColor","border","rangeText","primary","calendarWrapper","rangeValue","buttonRow","borderTopColor","button","clearButton","onPress","accessibilityRole","accessibilityLabel","danger","cancelButton","mutedText","disabledText","disabled","accessibilityState","primaryText","transparent","animationType","onRequestClose","backdrop","overlay","create","flex","justifyContent","alignItems","paddingHorizontal","borderRadius","overflow","width","maxWidth","fontSize","fontWeight","textAlign","paddingVertical","borderBottomWidth","hairlineWidth","padding","flexDirection","gap","borderTopWidth","minWidth"],"sourceRoot":"../../../../src","sources":["components/NepaliRangePicker/RangePickerModal.tsx"],"mappings":"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","ignoreList":[]}
|
|
@@ -0,0 +1,6 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
export { NepaliRangePicker } from './NepaliRangePicker';
|
|
4
|
+
export { RangePickerModal } from './RangePickerModal';
|
|
5
|
+
export { isDateInRange, isRangeStart, isRangeEnd, normalizeRange, selectRangeDate, getRangeDateKey } from './range-utils';
|
|
6
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["NepaliRangePicker","RangePickerModal","isDateInRange","isRangeStart","isRangeEnd","normalizeRange","selectRangeDate","getRangeDateKey"],"sourceRoot":"../../../../src","sources":["components/NepaliRangePicker/index.ts"],"mappings":";;AAAA,SAASA,iBAAiB,QAAQ,qBAAqB;AACvD,SAASC,gBAAgB,QAAQ,oBAAoB;AAErD,SACEC,aAAa,EACbC,YAAY,EACZC,UAAU,EACVC,cAAc,EACdC,eAAe,EACfC,eAAe,QACV,eAAe","ignoreList":[]}
|
|
@@ -0,0 +1,61 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
import { compareBS } from '../../core';
|
|
4
|
+
export function isDateInRange(date, range) {
|
|
5
|
+
if (!range.start || !range.end) return false;
|
|
6
|
+
const cmpStart = compareBS(date, range.start);
|
|
7
|
+
const cmpEnd = compareBS(date, range.end);
|
|
8
|
+
return cmpStart >= 0 && cmpEnd <= 0;
|
|
9
|
+
}
|
|
10
|
+
export function isRangeStart(date, range) {
|
|
11
|
+
if (!range.start) return false;
|
|
12
|
+
return compareBS(date, range.start) === 0;
|
|
13
|
+
}
|
|
14
|
+
export function isRangeEnd(date, range) {
|
|
15
|
+
if (!range.end) return false;
|
|
16
|
+
return compareBS(date, range.end) === 0;
|
|
17
|
+
}
|
|
18
|
+
export function normalizeRange(start, end, options) {
|
|
19
|
+
const allowSameDay = options?.allowSameDay ?? true;
|
|
20
|
+
if (!allowSameDay && compareBS(start, end) === 0) {
|
|
21
|
+
return {
|
|
22
|
+
start,
|
|
23
|
+
end: null
|
|
24
|
+
};
|
|
25
|
+
}
|
|
26
|
+
if (compareBS(start, end) <= 0) {
|
|
27
|
+
return {
|
|
28
|
+
start,
|
|
29
|
+
end
|
|
30
|
+
};
|
|
31
|
+
}
|
|
32
|
+
return {
|
|
33
|
+
start: end,
|
|
34
|
+
end: start
|
|
35
|
+
};
|
|
36
|
+
}
|
|
37
|
+
export function selectRangeDate(currentRange, date, options) {
|
|
38
|
+
const allowSameDay = options?.allowSameDay ?? true;
|
|
39
|
+
if (!currentRange.start) {
|
|
40
|
+
return {
|
|
41
|
+
start: date,
|
|
42
|
+
end: null
|
|
43
|
+
};
|
|
44
|
+
}
|
|
45
|
+
if (!currentRange.end) {
|
|
46
|
+
return normalizeRange(currentRange.start, date, {
|
|
47
|
+
allowSameDay
|
|
48
|
+
});
|
|
49
|
+
}
|
|
50
|
+
return {
|
|
51
|
+
start: date,
|
|
52
|
+
end: null
|
|
53
|
+
};
|
|
54
|
+
}
|
|
55
|
+
export function getRangeDateKey(range, date) {
|
|
56
|
+
if (isRangeStart(date, range)) return 'start';
|
|
57
|
+
if (isRangeEnd(date, range)) return 'end';
|
|
58
|
+
if (isDateInRange(date, range)) return 'in-range';
|
|
59
|
+
return 'none';
|
|
60
|
+
}
|
|
61
|
+
//# sourceMappingURL=range-utils.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["compareBS","isDateInRange","date","range","start","end","cmpStart","cmpEnd","isRangeStart","isRangeEnd","normalizeRange","options","allowSameDay","selectRangeDate","currentRange","getRangeDateKey"],"sourceRoot":"../../../../src","sources":["components/NepaliRangePicker/range-utils.ts"],"mappings":";;AACA,SAASA,SAAS,QAAQ,YAAY;AAGtC,OAAO,SAASC,aAAaA,CAC3BC,IAAiB,EACjBC,KAAqB,EACZ;EACT,IAAI,CAACA,KAAK,CAACC,KAAK,IAAI,CAACD,KAAK,CAACE,GAAG,EAAE,OAAO,KAAK;EAC5C,MAAMC,QAAQ,GAAGN,SAAS,CAACE,IAAI,EAAEC,KAAK,CAACC,KAAK,CAAC;EAC7C,MAAMG,MAAM,GAAGP,SAAS,CAACE,IAAI,EAAEC,KAAK,CAACE,GAAG,CAAC;EACzC,OAAOC,QAAQ,IAAI,CAAC,IAAIC,MAAM,IAAI,CAAC;AACrC;AAEA,OAAO,SAASC,YAAYA,CAC1BN,IAAiB,EACjBC,KAAqB,EACZ;EACT,IAAI,CAACA,KAAK,CAACC,KAAK,EAAE,OAAO,KAAK;EAC9B,OAAOJ,SAAS,CAACE,IAAI,EAAEC,KAAK,CAACC,KAAK,CAAC,KAAK,CAAC;AAC3C;AAEA,OAAO,SAASK,UAAUA,CACxBP,IAAiB,EACjBC,KAAqB,EACZ;EACT,IAAI,CAACA,KAAK,CAACE,GAAG,EAAE,OAAO,KAAK;EAC5B,OAAOL,SAAS,CAACE,IAAI,EAAEC,KAAK,CAACE,GAAG,CAAC,KAAK,CAAC;AACzC;AAEA,OAAO,SAASK,cAAcA,CAC5BN,KAAkB,EAClBC,GAAgB,EAChBM,OAAoC,EACpB;EAChB,MAAMC,YAAY,GAAGD,OAAO,EAAEC,YAAY,IAAI,IAAI;EAElD,IAAI,CAACA,YAAY,IAAIZ,SAAS,CAACI,KAAK,EAAEC,GAAG,CAAC,KAAK,CAAC,EAAE;IAChD,OAAO;MAAED,KAAK;MAAEC,GAAG,EAAE;IAAK,CAAC;EAC7B;EAEA,IAAIL,SAAS,CAACI,KAAK,EAAEC,GAAG,CAAC,IAAI,CAAC,EAAE;IAC9B,OAAO;MAAED,KAAK;MAAEC;IAAI,CAAC;EACvB;EAEA,OAAO;IAAED,KAAK,EAAEC,GAAG;IAAEA,GAAG,EAAED;EAAM,CAAC;AACnC;AAEA,OAAO,SAASS,eAAeA,CAC7BC,YAA4B,EAC5BZ,IAAiB,EACjBS,OAAoC,EACpB;EAChB,MAAMC,YAAY,GAAGD,OAAO,EAAEC,YAAY,IAAI,IAAI;EAElD,IAAI,CAACE,YAAY,CAACV,KAAK,EAAE;IACvB,OAAO;MAAEA,KAAK,EAAEF,IAAI;MAAEG,GAAG,EAAE;IAAK,CAAC;EACnC;EAEA,IAAI,CAACS,YAAY,CAACT,GAAG,EAAE;IACrB,OAAOK,cAAc,CAACI,YAAY,CAACV,KAAK,EAAEF,IAAI,EAAE;MAAEU;IAAa,CAAC,CAAC;EACnE;EAEA,OAAO;IAAER,KAAK,EAAEF,IAAI;IAAEG,GAAG,EAAE;EAAK,CAAC;AACnC;AAEA,OAAO,SAASU,eAAeA,CAC7BZ,KAAqB,EACrBD,IAAiB,EACsB;EACvC,IAAIM,YAAY,CAACN,IAAI,EAAEC,KAAK,CAAC,EAAE,OAAO,OAAO;EAC7C,IAAIM,UAAU,CAACP,IAAI,EAAEC,KAAK,CAAC,EAAE,OAAO,KAAK;EACzC,IAAIF,aAAa,CAACC,IAAI,EAAEC,KAAK,CAAC,EAAE,OAAO,UAAU;EACjD,OAAO,MAAM;AACf","ignoreList":[]}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":[],"sourceRoot":"../../../../src","sources":["components/NepaliRangePicker/types.ts"],"mappings":"","ignoreList":[]}
|
|
@@ -0,0 +1,29 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
import { toAD, toBS } from './conversion';
|
|
4
|
+
import { adDateToEpochDay, epochDayToADDate, jsDateToEpochDay } from './epochDay';
|
|
5
|
+
import { isValidBSDate } from './validation';
|
|
6
|
+
export function compareBS(a, b) {
|
|
7
|
+
if (a.year !== b.year) return a.year - b.year;
|
|
8
|
+
if (a.month !== b.month) return a.month - b.month;
|
|
9
|
+
return a.day - b.day;
|
|
10
|
+
}
|
|
11
|
+
export function addBSDays(date, days) {
|
|
12
|
+
if (!isValidBSDate(date)) {
|
|
13
|
+
throw new RangeError(`Invalid BS date.`);
|
|
14
|
+
}
|
|
15
|
+
const ad = toAD(date);
|
|
16
|
+
const epochDay = adDateToEpochDay(ad) + days;
|
|
17
|
+
const newAD = epochDayToADDate(epochDay);
|
|
18
|
+
return toBS(newAD);
|
|
19
|
+
}
|
|
20
|
+
export function subBSDays(date, days) {
|
|
21
|
+
return addBSDays(date, -days);
|
|
22
|
+
}
|
|
23
|
+
export function todayBS() {
|
|
24
|
+
const now = new Date();
|
|
25
|
+
const epochDay = jsDateToEpochDay(now);
|
|
26
|
+
const ad = epochDayToADDate(epochDay);
|
|
27
|
+
return toBS(ad);
|
|
28
|
+
}
|
|
29
|
+
//# sourceMappingURL=arithmetic.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["toAD","toBS","adDateToEpochDay","epochDayToADDate","jsDateToEpochDay","isValidBSDate","compareBS","a","b","year","month","day","addBSDays","date","days","RangeError","ad","epochDay","newAD","subBSDays","todayBS","now","Date"],"sourceRoot":"../../../src","sources":["core/arithmetic.ts"],"mappings":";;AACA,SAASA,IAAI,EAAEC,IAAI,QAAQ,cAAc;AACzC,SAASC,gBAAgB,EAAEC,gBAAgB,EAAEC,gBAAgB,QAAQ,YAAY;AACjF,SAASC,aAAa,QAAQ,cAAc;AAE5C,OAAO,SAASC,SAASA,CAACC,CAAc,EAAEC,CAAc,EAAU;EAChE,IAAID,CAAC,CAACE,IAAI,KAAKD,CAAC,CAACC,IAAI,EAAE,OAAOF,CAAC,CAACE,IAAI,GAAGD,CAAC,CAACC,IAAI;EAC7C,IAAIF,CAAC,CAACG,KAAK,KAAKF,CAAC,CAACE,KAAK,EAAE,OAAOH,CAAC,CAACG,KAAK,GAAGF,CAAC,CAACE,KAAK;EACjD,OAAOH,CAAC,CAACI,GAAG,GAAGH,CAAC,CAACG,GAAG;AACtB;AAEA,OAAO,SAASC,SAASA,CAACC,IAAiB,EAAEC,IAAY,EAAe;EACtE,IAAI,CAACT,aAAa,CAACQ,IAAI,CAAC,EAAE;IACxB,MAAM,IAAIE,UAAU,CAAC,kBAAkB,CAAC;EAC1C;EAEA,MAAMC,EAAE,GAAGhB,IAAI,CAACa,IAAI,CAAC;EACrB,MAAMI,QAAQ,GAAGf,gBAAgB,CAACc,EAAE,CAAC,GAAGF,IAAI;EAC5C,MAAMI,KAAK,GAAGf,gBAAgB,CAACc,QAAQ,CAAC;EAExC,OAAOhB,IAAI,CAACiB,KAAK,CAAC;AACpB;AAEA,OAAO,SAASC,SAASA,CAACN,IAAiB,EAAEC,IAAY,EAAe;EACtE,OAAOF,SAAS,CAACC,IAAI,EAAE,CAACC,IAAI,CAAC;AAC/B;AAEA,OAAO,SAASM,OAAOA,CAAA,EAAgB;EACrC,MAAMC,GAAG,GAAG,IAAIC,IAAI,CAAC,CAAC;EACtB,MAAML,QAAQ,GAAGb,gBAAgB,CAACiB,GAAG,CAAC;EACtC,MAAML,EAAE,GAAGb,gBAAgB,CAACc,QAAQ,CAAC;EAErC,OAAOhB,IAAI,CAACe,EAAE,CAAC;AACjB","ignoreList":[]}
|