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.
Files changed (367) hide show
  1. package/LICENSE +21 -0
  2. package/README.md +340 -0
  3. package/lib/commonjs/accessibility/index.js +25 -0
  4. package/lib/commonjs/accessibility/index.js.map +1 -0
  5. package/lib/commonjs/accessibility/labels.js +20 -0
  6. package/lib/commonjs/accessibility/labels.js.map +1 -0
  7. package/lib/commonjs/calendar/calendar-types.js +6 -0
  8. package/lib/commonjs/calendar/calendar-types.js.map +1 -0
  9. package/lib/commonjs/calendar/get-calendar-month-grid.js +114 -0
  10. package/lib/commonjs/calendar/get-calendar-month-grid.js.map +1 -0
  11. package/lib/commonjs/calendar/index.js +13 -0
  12. package/lib/commonjs/calendar/index.js.map +1 -0
  13. package/lib/commonjs/components/NepaliCalendar/CalendarDay.js +137 -0
  14. package/lib/commonjs/components/NepaliCalendar/CalendarDay.js.map +1 -0
  15. package/lib/commonjs/components/NepaliCalendar/CalendarGrid.js +116 -0
  16. package/lib/commonjs/components/NepaliCalendar/CalendarGrid.js.map +1 -0
  17. package/lib/commonjs/components/NepaliCalendar/CalendarHeader.js +114 -0
  18. package/lib/commonjs/components/NepaliCalendar/CalendarHeader.js.map +1 -0
  19. package/lib/commonjs/components/NepaliCalendar/CalendarWeekdays.js +44 -0
  20. package/lib/commonjs/components/NepaliCalendar/CalendarWeekdays.js.map +1 -0
  21. package/lib/commonjs/components/NepaliCalendar/NepaliCalendar.js +288 -0
  22. package/lib/commonjs/components/NepaliCalendar/NepaliCalendar.js.map +1 -0
  23. package/lib/commonjs/components/NepaliCalendar/index.js +13 -0
  24. package/lib/commonjs/components/NepaliCalendar/index.js.map +1 -0
  25. package/lib/commonjs/components/NepaliCalendar/types.js +6 -0
  26. package/lib/commonjs/components/NepaliCalendar/types.js.map +1 -0
  27. package/lib/commonjs/components/NepaliDatePicker/DatePickerModal.js +185 -0
  28. package/lib/commonjs/components/NepaliDatePicker/DatePickerModal.js.map +1 -0
  29. package/lib/commonjs/components/NepaliDatePicker/NepaliDatePicker.js +148 -0
  30. package/lib/commonjs/components/NepaliDatePicker/NepaliDatePicker.js.map +1 -0
  31. package/lib/commonjs/components/NepaliDatePicker/index.js +20 -0
  32. package/lib/commonjs/components/NepaliDatePicker/index.js.map +1 -0
  33. package/lib/commonjs/components/NepaliDatePicker/types.js +6 -0
  34. package/lib/commonjs/components/NepaliDatePicker/types.js.map +1 -0
  35. package/lib/commonjs/components/NepaliRangePicker/NepaliRangePicker.js +187 -0
  36. package/lib/commonjs/components/NepaliRangePicker/NepaliRangePicker.js.map +1 -0
  37. package/lib/commonjs/components/NepaliRangePicker/RangePickerModal.js +275 -0
  38. package/lib/commonjs/components/NepaliRangePicker/RangePickerModal.js.map +1 -0
  39. package/lib/commonjs/components/NepaliRangePicker/index.js +57 -0
  40. package/lib/commonjs/components/NepaliRangePicker/index.js.map +1 -0
  41. package/lib/commonjs/components/NepaliRangePicker/range-utils.js +70 -0
  42. package/lib/commonjs/components/NepaliRangePicker/range-utils.js.map +1 -0
  43. package/lib/commonjs/components/NepaliRangePicker/types.js +6 -0
  44. package/lib/commonjs/components/NepaliRangePicker/types.js.map +1 -0
  45. package/lib/commonjs/core/arithmetic.js +36 -0
  46. package/lib/commonjs/core/arithmetic.js.map +1 -0
  47. package/lib/commonjs/core/bsData.js +89 -0
  48. package/lib/commonjs/core/bsData.js.map +1 -0
  49. package/lib/commonjs/core/conversion.js +53 -0
  50. package/lib/commonjs/core/conversion.js.map +1 -0
  51. package/lib/commonjs/core/dateKey.js +31 -0
  52. package/lib/commonjs/core/dateKey.js.map +1 -0
  53. package/lib/commonjs/core/epochDay.js +47 -0
  54. package/lib/commonjs/core/epochDay.js.map +1 -0
  55. package/lib/commonjs/core/format/format.js +86 -0
  56. package/lib/commonjs/core/format/format.js.map +1 -0
  57. package/lib/commonjs/core/format/index.js +20 -0
  58. package/lib/commonjs/core/format/index.js.map +1 -0
  59. package/lib/commonjs/core/format/parse.js +41 -0
  60. package/lib/commonjs/core/format/parse.js.map +1 -0
  61. package/lib/commonjs/core/format/tokens.js +9 -0
  62. package/lib/commonjs/core/format/tokens.js.map +1 -0
  63. package/lib/commonjs/core/index.js +116 -0
  64. package/lib/commonjs/core/index.js.map +1 -0
  65. package/lib/commonjs/core/locale/en.js +15 -0
  66. package/lib/commonjs/core/locale/en.js.map +1 -0
  67. package/lib/commonjs/core/locale/index.js +20 -0
  68. package/lib/commonjs/core/locale/index.js.map +1 -0
  69. package/lib/commonjs/core/locale/ne.js +15 -0
  70. package/lib/commonjs/core/locale/ne.js.map +1 -0
  71. package/lib/commonjs/core/locale/types.js +2 -0
  72. package/lib/commonjs/core/locale/types.js.map +1 -0
  73. package/lib/commonjs/core/numerals/index.js +19 -0
  74. package/lib/commonjs/core/numerals/index.js.map +1 -0
  75. package/lib/commonjs/core/numerals/nepali-numerals.js +28 -0
  76. package/lib/commonjs/core/numerals/nepali-numerals.js.map +1 -0
  77. package/lib/commonjs/core/types.js +2 -0
  78. package/lib/commonjs/core/types.js.map +1 -0
  79. package/lib/commonjs/core/validation.js +125 -0
  80. package/lib/commonjs/core/validation.js.map +1 -0
  81. package/lib/commonjs/core/validation.test.js +248 -0
  82. package/lib/commonjs/core/validation.test.js.map +1 -0
  83. package/lib/commonjs/exports.test.js +133 -0
  84. package/lib/commonjs/exports.test.js.map +1 -0
  85. package/lib/commonjs/index.js +94 -0
  86. package/lib/commonjs/index.js.map +1 -0
  87. package/lib/commonjs/package.json +1 -0
  88. package/lib/commonjs/phase2.test.js +446 -0
  89. package/lib/commonjs/phase2.test.js.map +1 -0
  90. package/lib/commonjs/phase3.test.js +91 -0
  91. package/lib/commonjs/phase3.test.js.map +1 -0
  92. package/lib/commonjs/phase4.test.js +89 -0
  93. package/lib/commonjs/phase4.test.js.map +1 -0
  94. package/lib/commonjs/phase5.test.js +246 -0
  95. package/lib/commonjs/phase5.test.js.map +1 -0
  96. package/lib/commonjs/phase7.test.js +284 -0
  97. package/lib/commonjs/phase7.test.js.map +1 -0
  98. package/lib/commonjs/range-helpers.test.js +182 -0
  99. package/lib/commonjs/range-helpers.test.js.map +1 -0
  100. package/lib/commonjs/theme/create-theme.js +37 -0
  101. package/lib/commonjs/theme/create-theme.js.map +1 -0
  102. package/lib/commonjs/theme/default-theme.js +99 -0
  103. package/lib/commonjs/theme/default-theme.js.map +1 -0
  104. package/lib/commonjs/theme/index.js +26 -0
  105. package/lib/commonjs/theme/index.js.map +1 -0
  106. package/lib/commonjs/theme/types.js +6 -0
  107. package/lib/commonjs/theme/types.js.map +1 -0
  108. package/lib/commonjs/utils/date-helpers.js +106 -0
  109. package/lib/commonjs/utils/date-helpers.js.map +1 -0
  110. package/lib/commonjs/utils/index.js +49 -0
  111. package/lib/commonjs/utils/index.js.map +1 -0
  112. package/lib/module/accessibility/index.js +4 -0
  113. package/lib/module/accessibility/index.js.map +1 -0
  114. package/lib/module/accessibility/labels.js +15 -0
  115. package/lib/module/accessibility/labels.js.map +1 -0
  116. package/lib/module/calendar/calendar-types.js +4 -0
  117. package/lib/module/calendar/calendar-types.js.map +1 -0
  118. package/lib/module/calendar/get-calendar-month-grid.js +111 -0
  119. package/lib/module/calendar/get-calendar-month-grid.js.map +1 -0
  120. package/lib/module/calendar/index.js +4 -0
  121. package/lib/module/calendar/index.js.map +1 -0
  122. package/lib/module/components/NepaliCalendar/CalendarDay.js +132 -0
  123. package/lib/module/components/NepaliCalendar/CalendarDay.js.map +1 -0
  124. package/lib/module/components/NepaliCalendar/CalendarGrid.js +111 -0
  125. package/lib/module/components/NepaliCalendar/CalendarGrid.js.map +1 -0
  126. package/lib/module/components/NepaliCalendar/CalendarHeader.js +109 -0
  127. package/lib/module/components/NepaliCalendar/CalendarHeader.js.map +1 -0
  128. package/lib/module/components/NepaliCalendar/CalendarWeekdays.js +39 -0
  129. package/lib/module/components/NepaliCalendar/CalendarWeekdays.js.map +1 -0
  130. package/lib/module/components/NepaliCalendar/NepaliCalendar.js +283 -0
  131. package/lib/module/components/NepaliCalendar/NepaliCalendar.js.map +1 -0
  132. package/lib/module/components/NepaliCalendar/index.js +4 -0
  133. package/lib/module/components/NepaliCalendar/index.js.map +1 -0
  134. package/lib/module/components/NepaliCalendar/types.js +4 -0
  135. package/lib/module/components/NepaliCalendar/types.js.map +1 -0
  136. package/lib/module/components/NepaliDatePicker/DatePickerModal.js +180 -0
  137. package/lib/module/components/NepaliDatePicker/DatePickerModal.js.map +1 -0
  138. package/lib/module/components/NepaliDatePicker/NepaliDatePicker.js +143 -0
  139. package/lib/module/components/NepaliDatePicker/NepaliDatePicker.js.map +1 -0
  140. package/lib/module/components/NepaliDatePicker/index.js +5 -0
  141. package/lib/module/components/NepaliDatePicker/index.js.map +1 -0
  142. package/lib/module/components/NepaliDatePicker/types.js +4 -0
  143. package/lib/module/components/NepaliDatePicker/types.js.map +1 -0
  144. package/lib/module/components/NepaliRangePicker/NepaliRangePicker.js +182 -0
  145. package/lib/module/components/NepaliRangePicker/NepaliRangePicker.js.map +1 -0
  146. package/lib/module/components/NepaliRangePicker/RangePickerModal.js +270 -0
  147. package/lib/module/components/NepaliRangePicker/RangePickerModal.js.map +1 -0
  148. package/lib/module/components/NepaliRangePicker/index.js +6 -0
  149. package/lib/module/components/NepaliRangePicker/index.js.map +1 -0
  150. package/lib/module/components/NepaliRangePicker/range-utils.js +61 -0
  151. package/lib/module/components/NepaliRangePicker/range-utils.js.map +1 -0
  152. package/lib/module/components/NepaliRangePicker/types.js +4 -0
  153. package/lib/module/components/NepaliRangePicker/types.js.map +1 -0
  154. package/lib/module/core/arithmetic.js +29 -0
  155. package/lib/module/core/arithmetic.js.map +1 -0
  156. package/lib/module/core/bsData.js +82 -0
  157. package/lib/module/core/bsData.js.map +1 -0
  158. package/lib/module/core/conversion.js +48 -0
  159. package/lib/module/core/conversion.js.map +1 -0
  160. package/lib/module/core/dateKey.js +26 -0
  161. package/lib/module/core/dateKey.js.map +1 -0
  162. package/lib/module/core/epochDay.js +39 -0
  163. package/lib/module/core/epochDay.js.map +1 -0
  164. package/lib/module/core/format/format.js +82 -0
  165. package/lib/module/core/format/format.js.map +1 -0
  166. package/lib/module/core/format/index.js +5 -0
  167. package/lib/module/core/format/index.js.map +1 -0
  168. package/lib/module/core/format/parse.js +37 -0
  169. package/lib/module/core/format/parse.js.map +1 -0
  170. package/lib/module/core/format/tokens.js +5 -0
  171. package/lib/module/core/format/tokens.js.map +1 -0
  172. package/lib/module/core/index.js +13 -0
  173. package/lib/module/core/index.js.map +1 -0
  174. package/lib/module/core/locale/en.js +11 -0
  175. package/lib/module/core/locale/en.js.map +1 -0
  176. package/lib/module/core/locale/index.js +5 -0
  177. package/lib/module/core/locale/index.js.map +1 -0
  178. package/lib/module/core/locale/ne.js +11 -0
  179. package/lib/module/core/locale/ne.js.map +1 -0
  180. package/lib/module/core/locale/types.js +2 -0
  181. package/lib/module/core/locale/types.js.map +1 -0
  182. package/lib/module/core/numerals/index.js +4 -0
  183. package/lib/module/core/numerals/index.js.map +1 -0
  184. package/lib/module/core/numerals/nepali-numerals.js +23 -0
  185. package/lib/module/core/numerals/nepali-numerals.js.map +1 -0
  186. package/lib/module/core/types.js +2 -0
  187. package/lib/module/core/types.js.map +1 -0
  188. package/lib/module/core/validation.js +115 -0
  189. package/lib/module/core/validation.js.map +1 -0
  190. package/lib/module/core/validation.test.js +248 -0
  191. package/lib/module/core/validation.test.js.map +1 -0
  192. package/lib/module/exports.test.js +133 -0
  193. package/lib/module/exports.test.js.map +1 -0
  194. package/lib/module/index.js +11 -0
  195. package/lib/module/index.js.map +1 -0
  196. package/lib/module/package.json +1 -0
  197. package/lib/module/phase2.test.js +446 -0
  198. package/lib/module/phase2.test.js.map +1 -0
  199. package/lib/module/phase3.test.js +91 -0
  200. package/lib/module/phase3.test.js.map +1 -0
  201. package/lib/module/phase4.test.js +89 -0
  202. package/lib/module/phase4.test.js.map +1 -0
  203. package/lib/module/phase5.test.js +246 -0
  204. package/lib/module/phase5.test.js.map +1 -0
  205. package/lib/module/phase7.test.js +284 -0
  206. package/lib/module/phase7.test.js.map +1 -0
  207. package/lib/module/range-helpers.test.js +182 -0
  208. package/lib/module/range-helpers.test.js.map +1 -0
  209. package/lib/module/theme/create-theme.js +33 -0
  210. package/lib/module/theme/create-theme.js.map +1 -0
  211. package/lib/module/theme/default-theme.js +95 -0
  212. package/lib/module/theme/default-theme.js.map +1 -0
  213. package/lib/module/theme/index.js +5 -0
  214. package/lib/module/theme/index.js.map +1 -0
  215. package/lib/module/theme/types.js +4 -0
  216. package/lib/module/theme/types.js.map +1 -0
  217. package/lib/module/utils/date-helpers.js +96 -0
  218. package/lib/module/utils/date-helpers.js.map +1 -0
  219. package/lib/module/utils/index.js +4 -0
  220. package/lib/module/utils/index.js.map +1 -0
  221. package/lib/typescript/src/accessibility/index.d.ts +2 -0
  222. package/lib/typescript/src/accessibility/index.d.ts.map +1 -0
  223. package/lib/typescript/src/accessibility/labels.d.ts +6 -0
  224. package/lib/typescript/src/accessibility/labels.d.ts.map +1 -0
  225. package/lib/typescript/src/calendar/calendar-types.d.ts +23 -0
  226. package/lib/typescript/src/calendar/calendar-types.d.ts.map +1 -0
  227. package/lib/typescript/src/calendar/get-calendar-month-grid.d.ts +3 -0
  228. package/lib/typescript/src/calendar/get-calendar-month-grid.d.ts.map +1 -0
  229. package/lib/typescript/src/calendar/index.d.ts +3 -0
  230. package/lib/typescript/src/calendar/index.d.ts.map +1 -0
  231. package/lib/typescript/src/components/NepaliCalendar/CalendarDay.d.ts +23 -0
  232. package/lib/typescript/src/components/NepaliCalendar/CalendarDay.d.ts.map +1 -0
  233. package/lib/typescript/src/components/NepaliCalendar/CalendarGrid.d.ts +25 -0
  234. package/lib/typescript/src/components/NepaliCalendar/CalendarGrid.d.ts.map +1 -0
  235. package/lib/typescript/src/components/NepaliCalendar/CalendarHeader.d.ts +17 -0
  236. package/lib/typescript/src/components/NepaliCalendar/CalendarHeader.d.ts.map +1 -0
  237. package/lib/typescript/src/components/NepaliCalendar/CalendarWeekdays.d.ts +11 -0
  238. package/lib/typescript/src/components/NepaliCalendar/CalendarWeekdays.d.ts.map +1 -0
  239. package/lib/typescript/src/components/NepaliCalendar/NepaliCalendar.d.ts +4 -0
  240. package/lib/typescript/src/components/NepaliCalendar/NepaliCalendar.d.ts.map +1 -0
  241. package/lib/typescript/src/components/NepaliCalendar/index.d.ts +3 -0
  242. package/lib/typescript/src/components/NepaliCalendar/index.d.ts.map +1 -0
  243. package/lib/typescript/src/components/NepaliCalendar/types.d.ts +52 -0
  244. package/lib/typescript/src/components/NepaliCalendar/types.d.ts.map +1 -0
  245. package/lib/typescript/src/components/NepaliDatePicker/DatePickerModal.d.ts +4 -0
  246. package/lib/typescript/src/components/NepaliDatePicker/DatePickerModal.d.ts.map +1 -0
  247. package/lib/typescript/src/components/NepaliDatePicker/NepaliDatePicker.d.ts +4 -0
  248. package/lib/typescript/src/components/NepaliDatePicker/NepaliDatePicker.d.ts.map +1 -0
  249. package/lib/typescript/src/components/NepaliDatePicker/index.d.ts +4 -0
  250. package/lib/typescript/src/components/NepaliDatePicker/index.d.ts.map +1 -0
  251. package/lib/typescript/src/components/NepaliDatePicker/types.d.ts +50 -0
  252. package/lib/typescript/src/components/NepaliDatePicker/types.d.ts.map +1 -0
  253. package/lib/typescript/src/components/NepaliRangePicker/NepaliRangePicker.d.ts +4 -0
  254. package/lib/typescript/src/components/NepaliRangePicker/NepaliRangePicker.d.ts.map +1 -0
  255. package/lib/typescript/src/components/NepaliRangePicker/RangePickerModal.d.ts +4 -0
  256. package/lib/typescript/src/components/NepaliRangePicker/RangePickerModal.d.ts.map +1 -0
  257. package/lib/typescript/src/components/NepaliRangePicker/index.d.ts +5 -0
  258. package/lib/typescript/src/components/NepaliRangePicker/index.d.ts.map +1 -0
  259. package/lib/typescript/src/components/NepaliRangePicker/range-utils.d.ts +13 -0
  260. package/lib/typescript/src/components/NepaliRangePicker/range-utils.d.ts.map +1 -0
  261. package/lib/typescript/src/components/NepaliRangePicker/types.d.ts +61 -0
  262. package/lib/typescript/src/components/NepaliRangePicker/types.d.ts.map +1 -0
  263. package/lib/typescript/src/core/arithmetic.d.ts +6 -0
  264. package/lib/typescript/src/core/arithmetic.d.ts.map +1 -0
  265. package/lib/typescript/src/core/bsData.d.ts +39 -0
  266. package/lib/typescript/src/core/bsData.d.ts.map +1 -0
  267. package/lib/typescript/src/core/conversion.d.ts +4 -0
  268. package/lib/typescript/src/core/conversion.d.ts.map +1 -0
  269. package/lib/typescript/src/core/dateKey.d.ts +4 -0
  270. package/lib/typescript/src/core/dateKey.d.ts.map +1 -0
  271. package/lib/typescript/src/core/epochDay.d.ts +7 -0
  272. package/lib/typescript/src/core/epochDay.d.ts.map +1 -0
  273. package/lib/typescript/src/core/format/format.d.ts +8 -0
  274. package/lib/typescript/src/core/format/format.d.ts.map +1 -0
  275. package/lib/typescript/src/core/format/index.d.ts +5 -0
  276. package/lib/typescript/src/core/format/index.d.ts.map +1 -0
  277. package/lib/typescript/src/core/format/parse.d.ts +7 -0
  278. package/lib/typescript/src/core/format/parse.d.ts.map +1 -0
  279. package/lib/typescript/src/core/format/tokens.d.ts +4 -0
  280. package/lib/typescript/src/core/format/tokens.d.ts.map +1 -0
  281. package/lib/typescript/src/core/index.d.ts +11 -0
  282. package/lib/typescript/src/core/index.d.ts.map +1 -0
  283. package/lib/typescript/src/core/locale/en.d.ts +3 -0
  284. package/lib/typescript/src/core/locale/en.d.ts.map +1 -0
  285. package/lib/typescript/src/core/locale/index.d.ts +4 -0
  286. package/lib/typescript/src/core/locale/index.d.ts.map +1 -0
  287. package/lib/typescript/src/core/locale/ne.d.ts +3 -0
  288. package/lib/typescript/src/core/locale/ne.d.ts.map +1 -0
  289. package/lib/typescript/src/core/locale/types.d.ts +11 -0
  290. package/lib/typescript/src/core/locale/types.d.ts.map +1 -0
  291. package/lib/typescript/src/core/numerals/index.d.ts +2 -0
  292. package/lib/typescript/src/core/numerals/index.d.ts.map +1 -0
  293. package/lib/typescript/src/core/numerals/nepali-numerals.d.ts +3 -0
  294. package/lib/typescript/src/core/numerals/nepali-numerals.d.ts.map +1 -0
  295. package/lib/typescript/src/core/types.d.ts +14 -0
  296. package/lib/typescript/src/core/types.d.ts.map +1 -0
  297. package/lib/typescript/src/core/validation.d.ts +17 -0
  298. package/lib/typescript/src/core/validation.d.ts.map +1 -0
  299. package/lib/typescript/src/index.d.ts +9 -0
  300. package/lib/typescript/src/index.d.ts.map +1 -0
  301. package/lib/typescript/src/theme/create-theme.d.ts +6 -0
  302. package/lib/typescript/src/theme/create-theme.d.ts.map +1 -0
  303. package/lib/typescript/src/theme/default-theme.d.ts +4 -0
  304. package/lib/typescript/src/theme/default-theme.d.ts.map +1 -0
  305. package/lib/typescript/src/theme/index.d.ts +4 -0
  306. package/lib/typescript/src/theme/index.d.ts.map +1 -0
  307. package/lib/typescript/src/theme/types.d.ts +43 -0
  308. package/lib/typescript/src/theme/types.d.ts.map +1 -0
  309. package/lib/typescript/src/utils/date-helpers.d.ts +27 -0
  310. package/lib/typescript/src/utils/date-helpers.d.ts.map +1 -0
  311. package/lib/typescript/src/utils/index.d.ts +2 -0
  312. package/lib/typescript/src/utils/index.d.ts.map +1 -0
  313. package/package.json +85 -0
  314. package/src/accessibility/index.ts +5 -0
  315. package/src/accessibility/labels.ts +22 -0
  316. package/src/calendar/calendar-types.ts +25 -0
  317. package/src/calendar/get-calendar-month-grid.ts +125 -0
  318. package/src/calendar/index.ts +2 -0
  319. package/src/components/NepaliCalendar/CalendarDay.tsx +198 -0
  320. package/src/components/NepaliCalendar/CalendarGrid.tsx +159 -0
  321. package/src/components/NepaliCalendar/CalendarHeader.tsx +126 -0
  322. package/src/components/NepaliCalendar/CalendarWeekdays.tsx +49 -0
  323. package/src/components/NepaliCalendar/NepaliCalendar.tsx +279 -0
  324. package/src/components/NepaliCalendar/index.ts +6 -0
  325. package/src/components/NepaliCalendar/types.ts +62 -0
  326. package/src/components/NepaliDatePicker/DatePickerModal.tsx +220 -0
  327. package/src/components/NepaliDatePicker/NepaliDatePicker.tsx +171 -0
  328. package/src/components/NepaliDatePicker/index.ts +3 -0
  329. package/src/components/NepaliDatePicker/types.ts +70 -0
  330. package/src/components/NepaliRangePicker/NepaliRangePicker.tsx +206 -0
  331. package/src/components/NepaliRangePicker/RangePickerModal.tsx +336 -0
  332. package/src/components/NepaliRangePicker/index.ts +11 -0
  333. package/src/components/NepaliRangePicker/range-utils.ts +75 -0
  334. package/src/components/NepaliRangePicker/types.ts +84 -0
  335. package/src/core/arithmetic.ts +34 -0
  336. package/src/core/bsData.ts +115 -0
  337. package/src/core/conversion.ts +73 -0
  338. package/src/core/dateKey.ts +31 -0
  339. package/src/core/epochDay.ts +49 -0
  340. package/src/core/format/format.ts +108 -0
  341. package/src/core/format/index.ts +4 -0
  342. package/src/core/format/parse.ts +68 -0
  343. package/src/core/format/tokens.ts +35 -0
  344. package/src/core/index.ts +10 -0
  345. package/src/core/locale/en.ts +23 -0
  346. package/src/core/locale/index.ts +3 -0
  347. package/src/core/locale/ne.ts +31 -0
  348. package/src/core/locale/types.ts +12 -0
  349. package/src/core/numerals/index.ts +1 -0
  350. package/src/core/numerals/nepali-numerals.ts +27 -0
  351. package/src/core/types.ts +15 -0
  352. package/src/core/validation.test.ts +207 -0
  353. package/src/core/validation.ts +141 -0
  354. package/src/exports.test.ts +135 -0
  355. package/src/index.ts +8 -0
  356. package/src/phase2.test.ts +424 -0
  357. package/src/phase3.test.ts +83 -0
  358. package/src/phase4.test.ts +86 -0
  359. package/src/phase5.test.ts +257 -0
  360. package/src/phase7.test.ts +307 -0
  361. package/src/range-helpers.test.ts +153 -0
  362. package/src/theme/create-theme.ts +29 -0
  363. package/src/theme/default-theme.ts +99 -0
  364. package/src/theme/index.ts +3 -0
  365. package/src/theme/types.ts +44 -0
  366. package/src/utils/date-helpers.ts +146 -0
  367. package/src/utils/index.ts +9 -0
@@ -0,0 +1,4 @@
1
+ "use strict";
2
+
3
+ export {};
4
+ //# sourceMappingURL=types.js.map
@@ -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":"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","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,4 @@
1
+ "use strict";
2
+
3
+ export {};
4
+ //# sourceMappingURL=types.js.map
@@ -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":[]}