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,148 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
Object.defineProperty(exports, "__esModule", {
|
|
4
|
+
value: true
|
|
5
|
+
});
|
|
6
|
+
exports.NepaliDatePicker = NepaliDatePicker;
|
|
7
|
+
var _react = _interopRequireWildcard(require("react"));
|
|
8
|
+
var _reactNative = require("react-native");
|
|
9
|
+
var _validation = require("../../core/validation");
|
|
10
|
+
var _theme = require("../../theme");
|
|
11
|
+
var _utils = require("../../utils");
|
|
12
|
+
var _DatePickerModal = require("./DatePickerModal");
|
|
13
|
+
var _jsxRuntime = require("react/jsx-runtime");
|
|
14
|
+
function _interopRequireWildcard(e, t) { if ("function" == typeof WeakMap) var r = new WeakMap(), n = new WeakMap(); return (_interopRequireWildcard = function (e, t) { if (!t && e && e.__esModule) return e; var o, i, f = { __proto__: null, default: e }; if (null === e || "object" != typeof e && "function" != typeof e) return f; if (o = t ? n : r) { if (o.has(e)) return o.get(e); o.set(e, f); } for (const t in e) "default" !== t && {}.hasOwnProperty.call(e, t) && ((i = (o = Object.defineProperty) && Object.getOwnPropertyDescriptor(e, t)) && (i.get || i.set) ? o(f, t, i) : f[t] = e[t]); return f; })(e, t); }
|
|
15
|
+
function NepaliDatePicker({
|
|
16
|
+
value,
|
|
17
|
+
defaultValue,
|
|
18
|
+
onChange,
|
|
19
|
+
placeholder = 'Select date',
|
|
20
|
+
disabled = false,
|
|
21
|
+
locale,
|
|
22
|
+
numerals,
|
|
23
|
+
displayFormat = 'yyyy-MM-dd',
|
|
24
|
+
minDate,
|
|
25
|
+
maxDate,
|
|
26
|
+
markedDates,
|
|
27
|
+
disabledDates,
|
|
28
|
+
weekStartsOn,
|
|
29
|
+
theme,
|
|
30
|
+
colorScheme,
|
|
31
|
+
modalTitle,
|
|
32
|
+
confirmText,
|
|
33
|
+
cancelText,
|
|
34
|
+
onOpen,
|
|
35
|
+
onClose,
|
|
36
|
+
testID
|
|
37
|
+
}) {
|
|
38
|
+
const [modalVisible, setModalVisible] = (0, _react.useState)(false);
|
|
39
|
+
const calendarTheme = (0, _theme.useCalendarTheme)({
|
|
40
|
+
colorScheme,
|
|
41
|
+
theme
|
|
42
|
+
});
|
|
43
|
+
const isControlled = value !== undefined;
|
|
44
|
+
const [internalValue, setInternalValue] = (0, _react.useState)(defaultValue ?? null);
|
|
45
|
+
(0, _react.useEffect)(() => {
|
|
46
|
+
if (value) {
|
|
47
|
+
if (!(0, _validation.isValidBSDate)(value)) {
|
|
48
|
+
if (__DEV__) {
|
|
49
|
+
console.warn('react-native-bikram-sambat: Invalid date value provided to NepaliDatePicker.', value);
|
|
50
|
+
}
|
|
51
|
+
} else if (!(0, _validation.isBSDateInSupportedRange)(value)) {
|
|
52
|
+
(0, _utils.warnOutOfRangeInDev)(value, {
|
|
53
|
+
min: 2000,
|
|
54
|
+
max: 2090
|
|
55
|
+
});
|
|
56
|
+
}
|
|
57
|
+
}
|
|
58
|
+
}, [value]);
|
|
59
|
+
(0, _react.useEffect)(() => {
|
|
60
|
+
(0, _utils.warnMinMaxInDev)(minDate, maxDate);
|
|
61
|
+
}, [minDate, maxDate]);
|
|
62
|
+
const currentValue = isControlled ? value && (0, _validation.isValidBSDate)(value) && (0, _validation.isBSDateInSupportedRange)(value) ? value : null : internalValue;
|
|
63
|
+
const displayText = (0, _react.useMemo)(() => {
|
|
64
|
+
if (!currentValue) return placeholder;
|
|
65
|
+
const formatted = (0, _utils.safeFormatBSDate)(currentValue, displayFormat, locale, numerals);
|
|
66
|
+
return formatted ?? placeholder;
|
|
67
|
+
}, [currentValue, placeholder, displayFormat, locale, numerals]);
|
|
68
|
+
const handleOpen = (0, _react.useCallback)(() => {
|
|
69
|
+
if (disabled) return;
|
|
70
|
+
setModalVisible(true);
|
|
71
|
+
onOpen?.();
|
|
72
|
+
}, [disabled, onOpen]);
|
|
73
|
+
const handleClose = (0, _react.useCallback)(() => {
|
|
74
|
+
setModalVisible(false);
|
|
75
|
+
onClose?.();
|
|
76
|
+
}, [onClose]);
|
|
77
|
+
const handleChange = (0, _react.useCallback)(date => {
|
|
78
|
+
if (!isControlled) {
|
|
79
|
+
setInternalValue(date);
|
|
80
|
+
}
|
|
81
|
+
onChange?.(date);
|
|
82
|
+
}, [isControlled, onChange]);
|
|
83
|
+
const accessibilityLabel = (0, _react.useMemo)(() => {
|
|
84
|
+
if (disabled) return `${placeholder}, disabled`;
|
|
85
|
+
if (currentValue) {
|
|
86
|
+
const formatted = (0, _utils.safeFormatBSDate)(currentValue, displayFormat, locale, numerals);
|
|
87
|
+
return formatted ?? placeholder;
|
|
88
|
+
}
|
|
89
|
+
return placeholder;
|
|
90
|
+
}, [currentValue, placeholder, displayFormat, locale, numerals, disabled]);
|
|
91
|
+
return /*#__PURE__*/(0, _jsxRuntime.jsxs)(_jsxRuntime.Fragment, {
|
|
92
|
+
children: [/*#__PURE__*/(0, _jsxRuntime.jsx)(_reactNative.Pressable, {
|
|
93
|
+
style: [styles.field, {
|
|
94
|
+
borderColor: calendarTheme.colors.fieldBorder,
|
|
95
|
+
backgroundColor: calendarTheme.colors.fieldBackground
|
|
96
|
+
}, disabled && styles.fieldDisabled],
|
|
97
|
+
onPress: handleOpen,
|
|
98
|
+
disabled: disabled,
|
|
99
|
+
accessibilityRole: "button",
|
|
100
|
+
accessibilityLabel: accessibilityLabel,
|
|
101
|
+
accessibilityState: {
|
|
102
|
+
disabled
|
|
103
|
+
},
|
|
104
|
+
testID: testID,
|
|
105
|
+
children: /*#__PURE__*/(0, _jsxRuntime.jsx)(_reactNative.Text, {
|
|
106
|
+
style: [styles.fieldText, {
|
|
107
|
+
color: currentValue ? calendarTheme.colors.text : calendarTheme.colors.placeholderText
|
|
108
|
+
}],
|
|
109
|
+
children: displayText
|
|
110
|
+
})
|
|
111
|
+
}), /*#__PURE__*/(0, _jsxRuntime.jsx)(_DatePickerModal.DatePickerModal, {
|
|
112
|
+
visible: modalVisible,
|
|
113
|
+
value: currentValue,
|
|
114
|
+
defaultValue: defaultValue,
|
|
115
|
+
onChange: handleChange,
|
|
116
|
+
onClose: handleClose,
|
|
117
|
+
locale: locale,
|
|
118
|
+
numerals: numerals,
|
|
119
|
+
minDate: minDate,
|
|
120
|
+
maxDate: maxDate,
|
|
121
|
+
markedDates: markedDates,
|
|
122
|
+
disabledDates: disabledDates,
|
|
123
|
+
weekStartsOn: weekStartsOn,
|
|
124
|
+
theme: theme,
|
|
125
|
+
colorScheme: colorScheme,
|
|
126
|
+
title: modalTitle,
|
|
127
|
+
confirmText: confirmText,
|
|
128
|
+
cancelText: cancelText
|
|
129
|
+
})]
|
|
130
|
+
});
|
|
131
|
+
}
|
|
132
|
+
const styles = _reactNative.StyleSheet.create({
|
|
133
|
+
field: {
|
|
134
|
+
borderWidth: 1,
|
|
135
|
+
borderRadius: 10,
|
|
136
|
+
paddingHorizontal: 16,
|
|
137
|
+
paddingVertical: 14,
|
|
138
|
+
alignItems: 'center'
|
|
139
|
+
},
|
|
140
|
+
fieldDisabled: {
|
|
141
|
+
opacity: 0.5
|
|
142
|
+
},
|
|
143
|
+
fieldText: {
|
|
144
|
+
fontSize: 16,
|
|
145
|
+
fontWeight: '500'
|
|
146
|
+
}
|
|
147
|
+
});
|
|
148
|
+
//# sourceMappingURL=NepaliDatePicker.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["_react","_interopRequireWildcard","require","_reactNative","_validation","_theme","_utils","_DatePickerModal","_jsxRuntime","e","t","WeakMap","r","n","__esModule","o","i","f","__proto__","default","has","get","set","hasOwnProperty","call","Object","defineProperty","getOwnPropertyDescriptor","NepaliDatePicker","value","defaultValue","onChange","placeholder","disabled","locale","numerals","displayFormat","minDate","maxDate","markedDates","disabledDates","weekStartsOn","theme","colorScheme","modalTitle","confirmText","cancelText","onOpen","onClose","testID","modalVisible","setModalVisible","useState","calendarTheme","useCalendarTheme","isControlled","undefined","internalValue","setInternalValue","useEffect","isValidBSDate","__DEV__","console","warn","isBSDateInSupportedRange","warnOutOfRangeInDev","min","max","warnMinMaxInDev","currentValue","displayText","useMemo","formatted","safeFormatBSDate","handleOpen","useCallback","handleClose","handleChange","date","accessibilityLabel","jsxs","Fragment","children","jsx","Pressable","style","styles","field","borderColor","colors","fieldBorder","backgroundColor","fieldBackground","fieldDisabled","onPress","accessibilityRole","accessibilityState","Text","fieldText","color","text","placeholderText","DatePickerModal","visible","title","StyleSheet","create","borderWidth","borderRadius","paddingHorizontal","paddingVertical","alignItems","opacity","fontSize","fontWeight"],"sourceRoot":"../../../../src","sources":["components/NepaliDatePicker/NepaliDatePicker.tsx"],"mappings":"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","ignoreList":[]}
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
Object.defineProperty(exports, "__esModule", {
|
|
4
|
+
value: true
|
|
5
|
+
});
|
|
6
|
+
Object.defineProperty(exports, "DatePickerModal", {
|
|
7
|
+
enumerable: true,
|
|
8
|
+
get: function () {
|
|
9
|
+
return _DatePickerModal.DatePickerModal;
|
|
10
|
+
}
|
|
11
|
+
});
|
|
12
|
+
Object.defineProperty(exports, "NepaliDatePicker", {
|
|
13
|
+
enumerable: true,
|
|
14
|
+
get: function () {
|
|
15
|
+
return _NepaliDatePicker.NepaliDatePicker;
|
|
16
|
+
}
|
|
17
|
+
});
|
|
18
|
+
var _NepaliDatePicker = require("./NepaliDatePicker");
|
|
19
|
+
var _DatePickerModal = require("./DatePickerModal");
|
|
20
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["_NepaliDatePicker","require","_DatePickerModal"],"sourceRoot":"../../../../src","sources":["components/NepaliDatePicker/index.ts"],"mappings":";;;;;;;;;;;;;;;;;AAAA,IAAAA,iBAAA,GAAAC,OAAA;AACA,IAAAC,gBAAA,GAAAD,OAAA","ignoreList":[]}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":[],"sourceRoot":"../../../../src","sources":["components/NepaliDatePicker/types.ts"],"mappings":"","ignoreList":[]}
|
|
@@ -0,0 +1,187 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
Object.defineProperty(exports, "__esModule", {
|
|
4
|
+
value: true
|
|
5
|
+
});
|
|
6
|
+
exports.NepaliRangePicker = NepaliRangePicker;
|
|
7
|
+
var _react = _interopRequireWildcard(require("react"));
|
|
8
|
+
var _reactNative = require("react-native");
|
|
9
|
+
var _validation = require("../../core/validation");
|
|
10
|
+
var _theme = require("../../theme");
|
|
11
|
+
var _utils = require("../../utils");
|
|
12
|
+
var _RangePickerModal = require("./RangePickerModal");
|
|
13
|
+
var _jsxRuntime = require("react/jsx-runtime");
|
|
14
|
+
function _interopRequireWildcard(e, t) { if ("function" == typeof WeakMap) var r = new WeakMap(), n = new WeakMap(); return (_interopRequireWildcard = function (e, t) { if (!t && e && e.__esModule) return e; var o, i, f = { __proto__: null, default: e }; if (null === e || "object" != typeof e && "function" != typeof e) return f; if (o = t ? n : r) { if (o.has(e)) return o.get(e); o.set(e, f); } for (const t in e) "default" !== t && {}.hasOwnProperty.call(e, t) && ((i = (o = Object.defineProperty) && Object.getOwnPropertyDescriptor(e, t)) && (i.get || i.set) ? o(f, t, i) : f[t] = e[t]); return f; })(e, t); }
|
|
15
|
+
function NepaliRangePicker({
|
|
16
|
+
value,
|
|
17
|
+
defaultValue,
|
|
18
|
+
onChange,
|
|
19
|
+
placeholder = 'Select date range',
|
|
20
|
+
disabled = false,
|
|
21
|
+
locale,
|
|
22
|
+
numerals,
|
|
23
|
+
displayFormat = 'yyyy-MM-dd',
|
|
24
|
+
minDate,
|
|
25
|
+
maxDate,
|
|
26
|
+
markedDates,
|
|
27
|
+
disabledDates,
|
|
28
|
+
weekStartsOn,
|
|
29
|
+
allowSameDay = true,
|
|
30
|
+
theme,
|
|
31
|
+
colorScheme,
|
|
32
|
+
modalTitle,
|
|
33
|
+
confirmText,
|
|
34
|
+
cancelText,
|
|
35
|
+
clearText,
|
|
36
|
+
onOpen,
|
|
37
|
+
onClose,
|
|
38
|
+
testID
|
|
39
|
+
}) {
|
|
40
|
+
const [modalVisible, setModalVisible] = (0, _react.useState)(false);
|
|
41
|
+
const calendarTheme = (0, _theme.useCalendarTheme)({
|
|
42
|
+
colorScheme,
|
|
43
|
+
theme
|
|
44
|
+
});
|
|
45
|
+
const isControlled = value !== undefined;
|
|
46
|
+
const [internalValue, setInternalValue] = (0, _react.useState)(defaultValue ?? {
|
|
47
|
+
start: null,
|
|
48
|
+
end: null
|
|
49
|
+
});
|
|
50
|
+
(0, _react.useEffect)(() => {
|
|
51
|
+
if (value?.start) {
|
|
52
|
+
if (!(0, _validation.isValidBSDate)(value.start)) {
|
|
53
|
+
if (__DEV__) {
|
|
54
|
+
console.warn('react-native-bikram-sambat: Invalid start date provided to NepaliRangePicker.', value.start);
|
|
55
|
+
}
|
|
56
|
+
} else if (!(0, _validation.isBSDateInSupportedRange)(value.start)) {
|
|
57
|
+
(0, _utils.warnOutOfRangeInDev)(value.start, {
|
|
58
|
+
min: 2000,
|
|
59
|
+
max: 2090
|
|
60
|
+
});
|
|
61
|
+
}
|
|
62
|
+
}
|
|
63
|
+
if (value?.end) {
|
|
64
|
+
if (!(0, _validation.isValidBSDate)(value.end)) {
|
|
65
|
+
if (__DEV__) {
|
|
66
|
+
console.warn('react-native-bikram-sambat: Invalid end date provided to NepaliRangePicker.', value.end);
|
|
67
|
+
}
|
|
68
|
+
} else if (!(0, _validation.isBSDateInSupportedRange)(value.end)) {
|
|
69
|
+
(0, _utils.warnOutOfRangeInDev)(value.end, {
|
|
70
|
+
min: 2000,
|
|
71
|
+
max: 2090
|
|
72
|
+
});
|
|
73
|
+
}
|
|
74
|
+
}
|
|
75
|
+
}, [value]);
|
|
76
|
+
(0, _react.useEffect)(() => {
|
|
77
|
+
(0, _utils.warnMinMaxInDev)(minDate, maxDate);
|
|
78
|
+
}, [minDate, maxDate]);
|
|
79
|
+
const currentValue = isControlled ? value : internalValue;
|
|
80
|
+
const displayText = (0, _react.useMemo)(() => {
|
|
81
|
+
if (!currentValue || !currentValue.start && !currentValue.end) {
|
|
82
|
+
return placeholder;
|
|
83
|
+
}
|
|
84
|
+
const startStr = currentValue.start ? (0, _utils.safeFormatBSDate)(currentValue.start, displayFormat, locale, numerals) : null;
|
|
85
|
+
const endStr = currentValue.end ? (0, _utils.safeFormatBSDate)(currentValue.end, displayFormat, locale, numerals) : null;
|
|
86
|
+
if (startStr && endStr) return `${startStr} → ${endStr}`;
|
|
87
|
+
if (startStr) return `${startStr} → ...`;
|
|
88
|
+
return placeholder;
|
|
89
|
+
}, [currentValue, placeholder, displayFormat, locale, numerals]);
|
|
90
|
+
const handleOpen = (0, _react.useCallback)(() => {
|
|
91
|
+
if (disabled) return;
|
|
92
|
+
setModalVisible(true);
|
|
93
|
+
onOpen?.();
|
|
94
|
+
}, [disabled, onOpen]);
|
|
95
|
+
const handleClose = (0, _react.useCallback)(() => {
|
|
96
|
+
setModalVisible(false);
|
|
97
|
+
onClose?.();
|
|
98
|
+
}, [onClose]);
|
|
99
|
+
const handleChange = (0, _react.useCallback)(range => {
|
|
100
|
+
if (!isControlled) {
|
|
101
|
+
setInternalValue(range);
|
|
102
|
+
}
|
|
103
|
+
onChange?.(range);
|
|
104
|
+
}, [isControlled, onChange]);
|
|
105
|
+
const handleClear = (0, _react.useCallback)(() => {
|
|
106
|
+
if (!isControlled) {
|
|
107
|
+
setInternalValue({
|
|
108
|
+
start: null,
|
|
109
|
+
end: null
|
|
110
|
+
});
|
|
111
|
+
}
|
|
112
|
+
onChange?.({
|
|
113
|
+
start: null,
|
|
114
|
+
end: null
|
|
115
|
+
});
|
|
116
|
+
}, [isControlled, onChange]);
|
|
117
|
+
const accessibilityLabel = (0, _react.useMemo)(() => {
|
|
118
|
+
if (disabled) return `${placeholder}, disabled`;
|
|
119
|
+
if (currentValue?.start) {
|
|
120
|
+
const startStr = (0, _utils.safeFormatBSDate)(currentValue.start, displayFormat, locale, numerals);
|
|
121
|
+
const endStr = currentValue.end ? (0, _utils.safeFormatBSDate)(currentValue.end, displayFormat, locale, numerals) : null;
|
|
122
|
+
if (startStr && endStr) return `${startStr} to ${endStr}`;
|
|
123
|
+
if (startStr) return `${startStr}, start date selected`;
|
|
124
|
+
}
|
|
125
|
+
return placeholder;
|
|
126
|
+
}, [currentValue, placeholder, displayFormat, locale, numerals, disabled]);
|
|
127
|
+
return /*#__PURE__*/(0, _jsxRuntime.jsxs)(_jsxRuntime.Fragment, {
|
|
128
|
+
children: [/*#__PURE__*/(0, _jsxRuntime.jsx)(_reactNative.Pressable, {
|
|
129
|
+
style: [styles.field, {
|
|
130
|
+
borderColor: calendarTheme.colors.fieldBorder,
|
|
131
|
+
backgroundColor: calendarTheme.colors.fieldBackground
|
|
132
|
+
}, disabled && styles.fieldDisabled],
|
|
133
|
+
onPress: handleOpen,
|
|
134
|
+
disabled: disabled,
|
|
135
|
+
accessibilityRole: "button",
|
|
136
|
+
accessibilityLabel: accessibilityLabel,
|
|
137
|
+
accessibilityState: {
|
|
138
|
+
disabled
|
|
139
|
+
},
|
|
140
|
+
testID: testID,
|
|
141
|
+
children: /*#__PURE__*/(0, _jsxRuntime.jsx)(_reactNative.Text, {
|
|
142
|
+
style: [styles.fieldText, {
|
|
143
|
+
color: currentValue?.start ? calendarTheme.colors.text : calendarTheme.colors.placeholderText
|
|
144
|
+
}],
|
|
145
|
+
children: displayText
|
|
146
|
+
})
|
|
147
|
+
}), /*#__PURE__*/(0, _jsxRuntime.jsx)(_RangePickerModal.RangePickerModal, {
|
|
148
|
+
visible: modalVisible,
|
|
149
|
+
value: currentValue,
|
|
150
|
+
defaultValue: defaultValue,
|
|
151
|
+
onChange: handleChange,
|
|
152
|
+
onClose: handleClose,
|
|
153
|
+
onClear: handleClear,
|
|
154
|
+
locale: locale,
|
|
155
|
+
numerals: numerals,
|
|
156
|
+
minDate: minDate,
|
|
157
|
+
maxDate: maxDate,
|
|
158
|
+
markedDates: markedDates,
|
|
159
|
+
disabledDates: disabledDates,
|
|
160
|
+
weekStartsOn: weekStartsOn,
|
|
161
|
+
allowSameDay: allowSameDay,
|
|
162
|
+
theme: theme,
|
|
163
|
+
colorScheme: colorScheme,
|
|
164
|
+
title: modalTitle,
|
|
165
|
+
confirmText: confirmText,
|
|
166
|
+
cancelText: cancelText,
|
|
167
|
+
clearText: clearText
|
|
168
|
+
})]
|
|
169
|
+
});
|
|
170
|
+
}
|
|
171
|
+
const styles = _reactNative.StyleSheet.create({
|
|
172
|
+
field: {
|
|
173
|
+
borderWidth: 1,
|
|
174
|
+
borderRadius: 10,
|
|
175
|
+
paddingHorizontal: 16,
|
|
176
|
+
paddingVertical: 14,
|
|
177
|
+
alignItems: 'center'
|
|
178
|
+
},
|
|
179
|
+
fieldDisabled: {
|
|
180
|
+
opacity: 0.5
|
|
181
|
+
},
|
|
182
|
+
fieldText: {
|
|
183
|
+
fontSize: 16,
|
|
184
|
+
fontWeight: '500'
|
|
185
|
+
}
|
|
186
|
+
});
|
|
187
|
+
//# sourceMappingURL=NepaliRangePicker.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["_react","_interopRequireWildcard","require","_reactNative","_validation","_theme","_utils","_RangePickerModal","_jsxRuntime","e","t","WeakMap","r","n","__esModule","o","i","f","__proto__","default","has","get","set","hasOwnProperty","call","Object","defineProperty","getOwnPropertyDescriptor","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","useState","calendarTheme","useCalendarTheme","isControlled","undefined","internalValue","setInternalValue","start","end","useEffect","isValidBSDate","__DEV__","console","warn","isBSDateInSupportedRange","warnOutOfRangeInDev","min","max","warnMinMaxInDev","currentValue","displayText","useMemo","startStr","safeFormatBSDate","endStr","handleOpen","useCallback","handleClose","handleChange","range","handleClear","accessibilityLabel","jsxs","Fragment","children","jsx","Pressable","style","styles","field","borderColor","colors","fieldBorder","backgroundColor","fieldBackground","fieldDisabled","onPress","accessibilityRole","accessibilityState","Text","fieldText","color","text","placeholderText","RangePickerModal","visible","onClear","title","StyleSheet","create","borderWidth","borderRadius","paddingHorizontal","paddingVertical","alignItems","opacity","fontSize","fontWeight"],"sourceRoot":"../../../../src","sources":["components/NepaliRangePicker/NepaliRangePicker.tsx"],"mappings":"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","ignoreList":[]}
|
|
@@ -0,0 +1,275 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
Object.defineProperty(exports, "__esModule", {
|
|
4
|
+
value: true
|
|
5
|
+
});
|
|
6
|
+
exports.RangePickerModal = RangePickerModal;
|
|
7
|
+
var _react = _interopRequireWildcard(require("react"));
|
|
8
|
+
var _reactNative = require("react-native");
|
|
9
|
+
var _theme = require("../../theme");
|
|
10
|
+
var _utils = require("../../utils");
|
|
11
|
+
var _NepaliCalendar = require("../NepaliCalendar");
|
|
12
|
+
var _rangeUtils = require("./range-utils");
|
|
13
|
+
var _jsxRuntime = require("react/jsx-runtime");
|
|
14
|
+
function _interopRequireWildcard(e, t) { if ("function" == typeof WeakMap) var r = new WeakMap(), n = new WeakMap(); return (_interopRequireWildcard = function (e, t) { if (!t && e && e.__esModule) return e; var o, i, f = { __proto__: null, default: e }; if (null === e || "object" != typeof e && "function" != typeof e) return f; if (o = t ? n : r) { if (o.has(e)) return o.get(e); o.set(e, f); } for (const t in e) "default" !== t && {}.hasOwnProperty.call(e, t) && ((i = (o = Object.defineProperty) && Object.getOwnPropertyDescriptor(e, t)) && (i.get || i.set) ? o(f, t, i) : f[t] = e[t]); return f; })(e, t); }
|
|
15
|
+
function getInitialTempRange(value, defaultValue) {
|
|
16
|
+
const start = value?.start ? (0, _utils.getSafeInitialBSDate)(value.start, undefined) : null;
|
|
17
|
+
const end = value?.end ? (0, _utils.getSafeInitialBSDate)(value.end, undefined) : null;
|
|
18
|
+
if (start) {
|
|
19
|
+
return {
|
|
20
|
+
start,
|
|
21
|
+
end
|
|
22
|
+
};
|
|
23
|
+
}
|
|
24
|
+
const defStart = defaultValue?.start ? (0, _utils.getSafeInitialBSDate)(defaultValue.start, undefined) : null;
|
|
25
|
+
const defEnd = defaultValue?.end ? (0, _utils.getSafeInitialBSDate)(defaultValue.end, undefined) : null;
|
|
26
|
+
if (defStart) {
|
|
27
|
+
return {
|
|
28
|
+
start: defStart,
|
|
29
|
+
end: defEnd
|
|
30
|
+
};
|
|
31
|
+
}
|
|
32
|
+
return {
|
|
33
|
+
start: null,
|
|
34
|
+
end: null
|
|
35
|
+
};
|
|
36
|
+
}
|
|
37
|
+
function RangePickerModal({
|
|
38
|
+
visible,
|
|
39
|
+
value,
|
|
40
|
+
defaultValue,
|
|
41
|
+
onChange,
|
|
42
|
+
onConfirm,
|
|
43
|
+
onCancel,
|
|
44
|
+
onClose,
|
|
45
|
+
onClear,
|
|
46
|
+
locale,
|
|
47
|
+
numerals,
|
|
48
|
+
minDate,
|
|
49
|
+
maxDate,
|
|
50
|
+
markedDates,
|
|
51
|
+
disabledDates,
|
|
52
|
+
weekStartsOn,
|
|
53
|
+
theme,
|
|
54
|
+
colorScheme,
|
|
55
|
+
title = 'Select Date Range',
|
|
56
|
+
confirmText = 'Confirm',
|
|
57
|
+
cancelText = 'Cancel',
|
|
58
|
+
clearText = 'Clear',
|
|
59
|
+
allowSameDay = true,
|
|
60
|
+
testID
|
|
61
|
+
}) {
|
|
62
|
+
const calendarTheme = (0, _theme.useCalendarTheme)({
|
|
63
|
+
colorScheme,
|
|
64
|
+
theme
|
|
65
|
+
});
|
|
66
|
+
const [tempRange, setTempRange] = (0, _react.useState)(() => getInitialTempRange(value, defaultValue));
|
|
67
|
+
(0, _react.useEffect)(() => {
|
|
68
|
+
if (visible) {
|
|
69
|
+
setTempRange(getInitialTempRange(value, defaultValue));
|
|
70
|
+
}
|
|
71
|
+
}, [visible, value, defaultValue]);
|
|
72
|
+
const handleDateSelect = (0, _react.useCallback)(date => {
|
|
73
|
+
setTempRange(prev => (0, _rangeUtils.selectRangeDate)(prev, date, {
|
|
74
|
+
allowSameDay
|
|
75
|
+
}));
|
|
76
|
+
}, [allowSameDay]);
|
|
77
|
+
const handleConfirm = (0, _react.useCallback)(() => {
|
|
78
|
+
if (!tempRange.start) return;
|
|
79
|
+
onConfirm?.(tempRange);
|
|
80
|
+
onChange?.(tempRange);
|
|
81
|
+
onClose?.();
|
|
82
|
+
}, [tempRange, onConfirm, onChange, onClose]);
|
|
83
|
+
const handleCancel = (0, _react.useCallback)(() => {
|
|
84
|
+
onCancel?.();
|
|
85
|
+
onClose?.();
|
|
86
|
+
}, [onCancel, onClose]);
|
|
87
|
+
const handleClear = (0, _react.useCallback)(() => {
|
|
88
|
+
setTempRange({
|
|
89
|
+
start: null,
|
|
90
|
+
end: null
|
|
91
|
+
});
|
|
92
|
+
onClear?.();
|
|
93
|
+
}, [onClear]);
|
|
94
|
+
const handleBackdropPress = (0, _react.useCallback)(() => {
|
|
95
|
+
onCancel?.();
|
|
96
|
+
onClose?.();
|
|
97
|
+
}, [onCancel, onClose]);
|
|
98
|
+
const rangeSummary = (0, _react.useMemo)(() => {
|
|
99
|
+
const startStr = tempRange.start ? (0, _utils.safeFormatBSDate)(tempRange.start, 'yyyy-MM-dd', locale, numerals) : null;
|
|
100
|
+
const endStr = tempRange.end ? (0, _utils.safeFormatBSDate)(tempRange.end, 'yyyy-MM-dd', locale, numerals) : null;
|
|
101
|
+
if (startStr && endStr) return `${startStr} → ${endStr}`;
|
|
102
|
+
if (startStr) return `${startStr} → ...`;
|
|
103
|
+
return `... → ...`;
|
|
104
|
+
}, [tempRange, locale, numerals]);
|
|
105
|
+
const isConfirmDisabled = tempRange.start == null || tempRange.end == null;
|
|
106
|
+
const modalContent = (0, _react.useMemo)(() => /*#__PURE__*/(0, _jsxRuntime.jsxs)(_reactNative.View, {
|
|
107
|
+
style: [styles.modalContent, {
|
|
108
|
+
backgroundColor: calendarTheme.colors.modalBackground
|
|
109
|
+
}],
|
|
110
|
+
testID: testID,
|
|
111
|
+
children: [/*#__PURE__*/(0, _jsxRuntime.jsx)(_reactNative.Text, {
|
|
112
|
+
style: [styles.title, {
|
|
113
|
+
color: calendarTheme.colors.text,
|
|
114
|
+
borderBottomColor: calendarTheme.colors.border
|
|
115
|
+
}],
|
|
116
|
+
children: title
|
|
117
|
+
}), /*#__PURE__*/(0, _jsxRuntime.jsx)(_reactNative.View, {
|
|
118
|
+
style: [styles.rangeSummary, {
|
|
119
|
+
borderBottomColor: calendarTheme.colors.border
|
|
120
|
+
}],
|
|
121
|
+
children: /*#__PURE__*/(0, _jsxRuntime.jsx)(_reactNative.Text, {
|
|
122
|
+
style: [styles.rangeText, {
|
|
123
|
+
color: calendarTheme.colors.primary
|
|
124
|
+
}],
|
|
125
|
+
children: rangeSummary
|
|
126
|
+
})
|
|
127
|
+
}), /*#__PURE__*/(0, _jsxRuntime.jsx)(_reactNative.View, {
|
|
128
|
+
style: styles.calendarWrapper,
|
|
129
|
+
children: /*#__PURE__*/(0, _jsxRuntime.jsx)(_NepaliCalendar.NepaliCalendar, {
|
|
130
|
+
value: tempRange.start,
|
|
131
|
+
onChange: handleDateSelect,
|
|
132
|
+
locale: locale,
|
|
133
|
+
numerals: numerals,
|
|
134
|
+
minDate: minDate,
|
|
135
|
+
maxDate: maxDate,
|
|
136
|
+
markedDates: markedDates,
|
|
137
|
+
disabledDates: disabledDates,
|
|
138
|
+
weekStartsOn: weekStartsOn,
|
|
139
|
+
theme: theme,
|
|
140
|
+
colorScheme: colorScheme,
|
|
141
|
+
rangeValue: tempRange
|
|
142
|
+
})
|
|
143
|
+
}), /*#__PURE__*/(0, _jsxRuntime.jsxs)(_reactNative.View, {
|
|
144
|
+
style: [styles.buttonRow, {
|
|
145
|
+
borderTopColor: calendarTheme.colors.border
|
|
146
|
+
}],
|
|
147
|
+
children: [/*#__PURE__*/(0, _jsxRuntime.jsx)(_reactNative.Pressable, {
|
|
148
|
+
style: [styles.button, styles.clearButton],
|
|
149
|
+
onPress: handleClear,
|
|
150
|
+
accessibilityRole: "button",
|
|
151
|
+
accessibilityLabel: "Clear selected date range",
|
|
152
|
+
children: /*#__PURE__*/(0, _jsxRuntime.jsx)(_reactNative.Text, {
|
|
153
|
+
style: [styles.clearText, {
|
|
154
|
+
color: calendarTheme.colors.danger
|
|
155
|
+
}],
|
|
156
|
+
children: clearText
|
|
157
|
+
})
|
|
158
|
+
}), /*#__PURE__*/(0, _jsxRuntime.jsx)(_reactNative.Pressable, {
|
|
159
|
+
style: [styles.button, styles.cancelButton],
|
|
160
|
+
onPress: handleCancel,
|
|
161
|
+
accessibilityRole: "button",
|
|
162
|
+
accessibilityLabel: "Cancel date range selection",
|
|
163
|
+
children: /*#__PURE__*/(0, _jsxRuntime.jsx)(_reactNative.Text, {
|
|
164
|
+
style: [styles.cancelText, {
|
|
165
|
+
color: calendarTheme.colors.mutedText
|
|
166
|
+
}],
|
|
167
|
+
children: cancelText
|
|
168
|
+
})
|
|
169
|
+
}), /*#__PURE__*/(0, _jsxRuntime.jsx)(_reactNative.Pressable, {
|
|
170
|
+
style: [styles.button, {
|
|
171
|
+
backgroundColor: isConfirmDisabled ? calendarTheme.colors.disabledText : calendarTheme.colors.primary
|
|
172
|
+
}],
|
|
173
|
+
onPress: handleConfirm,
|
|
174
|
+
disabled: isConfirmDisabled,
|
|
175
|
+
accessibilityRole: "button",
|
|
176
|
+
accessibilityLabel: "Confirm selected date range",
|
|
177
|
+
accessibilityState: {
|
|
178
|
+
disabled: isConfirmDisabled
|
|
179
|
+
},
|
|
180
|
+
children: /*#__PURE__*/(0, _jsxRuntime.jsx)(_reactNative.Text, {
|
|
181
|
+
style: [styles.confirmText, {
|
|
182
|
+
color: calendarTheme.colors.primaryText
|
|
183
|
+
}],
|
|
184
|
+
children: confirmText
|
|
185
|
+
})
|
|
186
|
+
})]
|
|
187
|
+
})]
|
|
188
|
+
}), [tempRange, title, rangeSummary, locale, numerals, minDate, maxDate, markedDates, disabledDates, weekStartsOn, theme, colorScheme, testID, clearText, cancelText, confirmText, isConfirmDisabled, calendarTheme, handleClear, handleCancel, handleConfirm, handleDateSelect]);
|
|
189
|
+
return /*#__PURE__*/(0, _jsxRuntime.jsx)(_reactNative.Modal, {
|
|
190
|
+
visible: visible,
|
|
191
|
+
transparent: true,
|
|
192
|
+
animationType: "fade",
|
|
193
|
+
onRequestClose: handleCancel,
|
|
194
|
+
children: /*#__PURE__*/(0, _jsxRuntime.jsx)(_reactNative.TouchableWithoutFeedback, {
|
|
195
|
+
onPress: handleBackdropPress,
|
|
196
|
+
children: /*#__PURE__*/(0, _jsxRuntime.jsx)(_reactNative.View, {
|
|
197
|
+
style: [styles.backdrop, {
|
|
198
|
+
backgroundColor: calendarTheme.colors.overlay
|
|
199
|
+
}],
|
|
200
|
+
children: /*#__PURE__*/(0, _jsxRuntime.jsx)(_reactNative.TouchableWithoutFeedback, {
|
|
201
|
+
children: modalContent
|
|
202
|
+
})
|
|
203
|
+
})
|
|
204
|
+
})
|
|
205
|
+
});
|
|
206
|
+
}
|
|
207
|
+
const styles = _reactNative.StyleSheet.create({
|
|
208
|
+
backdrop: {
|
|
209
|
+
flex: 1,
|
|
210
|
+
justifyContent: 'center',
|
|
211
|
+
alignItems: 'center',
|
|
212
|
+
paddingHorizontal: 20
|
|
213
|
+
},
|
|
214
|
+
modalContent: {
|
|
215
|
+
borderRadius: 16,
|
|
216
|
+
overflow: 'hidden',
|
|
217
|
+
width: '100%',
|
|
218
|
+
maxWidth: 400
|
|
219
|
+
},
|
|
220
|
+
title: {
|
|
221
|
+
fontSize: 18,
|
|
222
|
+
fontWeight: '600',
|
|
223
|
+
textAlign: 'center',
|
|
224
|
+
paddingVertical: 16,
|
|
225
|
+
paddingHorizontal: 16,
|
|
226
|
+
borderBottomWidth: _reactNative.StyleSheet.hairlineWidth
|
|
227
|
+
},
|
|
228
|
+
rangeSummary: {
|
|
229
|
+
paddingVertical: 12,
|
|
230
|
+
paddingHorizontal: 16,
|
|
231
|
+
borderBottomWidth: _reactNative.StyleSheet.hairlineWidth,
|
|
232
|
+
alignItems: 'center'
|
|
233
|
+
},
|
|
234
|
+
rangeText: {
|
|
235
|
+
fontSize: 16,
|
|
236
|
+
fontWeight: '500'
|
|
237
|
+
},
|
|
238
|
+
calendarWrapper: {
|
|
239
|
+
padding: 8
|
|
240
|
+
},
|
|
241
|
+
buttonRow: {
|
|
242
|
+
flexDirection: 'row',
|
|
243
|
+
justifyContent: 'flex-end',
|
|
244
|
+
paddingHorizontal: 16,
|
|
245
|
+
paddingVertical: 12,
|
|
246
|
+
gap: 10,
|
|
247
|
+
borderTopWidth: _reactNative.StyleSheet.hairlineWidth
|
|
248
|
+
},
|
|
249
|
+
button: {
|
|
250
|
+
paddingVertical: 10,
|
|
251
|
+
paddingHorizontal: 16,
|
|
252
|
+
borderRadius: 8,
|
|
253
|
+
minWidth: 70,
|
|
254
|
+
alignItems: 'center'
|
|
255
|
+
},
|
|
256
|
+
clearButton: {
|
|
257
|
+
backgroundColor: 'transparent'
|
|
258
|
+
},
|
|
259
|
+
cancelButton: {
|
|
260
|
+
backgroundColor: 'transparent'
|
|
261
|
+
},
|
|
262
|
+
clearText: {
|
|
263
|
+
fontSize: 15,
|
|
264
|
+
fontWeight: '600'
|
|
265
|
+
},
|
|
266
|
+
cancelText: {
|
|
267
|
+
fontSize: 15,
|
|
268
|
+
fontWeight: '600'
|
|
269
|
+
},
|
|
270
|
+
confirmText: {
|
|
271
|
+
fontSize: 15,
|
|
272
|
+
fontWeight: '600'
|
|
273
|
+
}
|
|
274
|
+
});
|
|
275
|
+
//# sourceMappingURL=RangePickerModal.js.map
|