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,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":";;;;;;AAAA,IAAAA,MAAA,GAAAC,uBAAA,CAAAC,OAAA;AACA,IAAAC,YAAA,GAAAD,OAAA;AAEA,IAAAE,WAAA,GAAAF,OAAA;AACA,IAAAG,MAAA,GAAAH,OAAA;AACA,IAAAI,MAAA,GAAAJ,OAAA;AACA,IAAAK,gBAAA,GAAAL,OAAA;AAAoD,IAAAM,WAAA,GAAAN,OAAA;AAAA,SAAAD,wBAAAQ,CAAA,EAAAC,CAAA,6BAAAC,OAAA,MAAAC,CAAA,OAAAD,OAAA,IAAAE,CAAA,OAAAF,OAAA,YAAAV,uBAAA,YAAAA,CAAAQ,CAAA,EAAAC,CAAA,SAAAA,CAAA,IAAAD,CAAA,IAAAA,CAAA,CAAAK,UAAA,SAAAL,CAAA,MAAAM,CAAA,EAAAC,CAAA,EAAAC,CAAA,KAAAC,SAAA,QAAAC,OAAA,EAAAV,CAAA,iBAAAA,CAAA,uBAAAA,CAAA,yBAAAA,CAAA,SAAAQ,CAAA,MAAAF,CAAA,GAAAL,CAAA,GAAAG,CAAA,GAAAD,CAAA,QAAAG,CAAA,CAAAK,GAAA,CAAAX,CAAA,UAAAM,CAAA,CAAAM,GAAA,CAAAZ,CAAA,GAAAM,CAAA,CAAAO,GAAA,CAAAb,CAAA,EAAAQ,CAAA,gBAAAP,CAAA,IAAAD,CAAA,gBAAAC,CAAA,OAAAa,cAAA,CAAAC,IAAA,CAAAf,CAAA,EAAAC,CAAA,OAAAM,CAAA,IAAAD,CAAA,GAAAU,MAAA,CAAAC,cAAA,KAAAD,MAAA,CAAAE,wBAAA,CAAAlB,CAAA,EAAAC,CAAA,OAAAM,CAAA,CAAAK,GAAA,IAAAL,CAAA,CAAAM,GAAA,IAAAP,CAAA,CAAAE,CAAA,EAAAP,CAAA,EAAAM,CAAA,IAAAC,CAAA,CAAAP,CAAA,IAAAD,CAAA,CAAAC,CAAA,WAAAO,CAAA,KAAAR,CAAA,EAAAC,CAAA;AAG7C,SAASkB,gBAAgBA,CAAC;EAC/BC,KAAK;EACLC,YAAY;EACZC,QAAQ;EACRC,WAAW,GAAG,aAAa;EAC3BC,QAAQ,GAAG,KAAK;EAChBC,MAAM;EACNC,QAAQ;EACRC,aAAa,GAAG,YAAY;EAC5BC,OAAO;EACPC,OAAO;EACPC,WAAW;EACXC,aAAa;EACbC,YAAY;EACZC,KAAK;EACLC,WAAW;EACXC,UAAU;EACVC,WAAW;EACXC,UAAU;EACVC,MAAM;EACNC,OAAO;EACPC;AACqB,CAAC,EAAE;EACxB,MAAM,CAACC,YAAY,EAAEC,eAAe,CAAC,GAAG,IAAAC,eAAQ,EAAC,KAAK,CAAC;EACvD,MAAMC,aAAa,GAAG,IAAAC,uBAAgB,EAAC;IAAEX,WAAW;IAAED;EAAM,CAAC,CAAC;EAE9D,MAAMa,YAAY,GAAG1B,KAAK,KAAK2B,SAAS;EACxC,MAAM,CAACC,aAAa,EAAEC,gBAAgB,CAAC,GAAG,IAAAN,eAAQ,EAChDtB,YAAY,IAAI,IAClB,CAAC;EAED,IAAA6B,gBAAS,EAAC,MAAM;IACd,IAAI9B,KAAK,EAAE;MACT,IAAI,CAAC,IAAA+B,yBAAa,EAAC/B,KAAK,CAAC,EAAE;QACzB,IAAIgC,OAAO,EAAE;UACXC,OAAO,CAACC,IAAI,CACV,8EAA8E,EAC9ElC,KACF,CAAC;QACH;MACF,CAAC,MAAM,IAAI,CAAC,IAAAmC,oCAAwB,EAACnC,KAAK,CAAC,EAAE;QAC3C,IAAAoC,0BAAmB,EAACpC,KAAK,EAAE;UAAEqC,GAAG,EAAE,IAAI;UAAEC,GAAG,EAAE;QAAK,CAAC,CAAC;MACtD;IACF;EACF,CAAC,EAAE,CAACtC,KAAK,CAAC,CAAC;EAEX,IAAA8B,gBAAS,EAAC,MAAM;IACd,IAAAS,sBAAe,EAAC/B,OAAO,EAAEC,OAAO,CAAC;EACnC,CAAC,EAAE,CAACD,OAAO,EAAEC,OAAO,CAAC,CAAC;EAEtB,MAAM+B,YAAY,GAAGd,YAAY,GAC5B1B,KAAK,IAAI,IAAA+B,yBAAa,EAAC/B,KAAK,CAAC,IAAI,IAAAmC,oCAAwB,EAACnC,KAAK,CAAC,GAAGA,KAAK,GAAG,IAAI,GAChF4B,aAAa;EAEjB,MAAMa,WAAW,GAAG,IAAAC,cAAO,EAAC,MAAM;IAChC,IAAI,CAACF,YAAY,EAAE,OAAOrC,WAAW;IAErC,MAAMwC,SAAS,GAAG,IAAAC,uBAAgB,EAACJ,YAAY,EAAEjC,aAAa,EAAEF,MAAM,EAAEC,QAAQ,CAAC;IACjF,OAAOqC,SAAS,IAAIxC,WAAW;EACjC,CAAC,EAAE,CAACqC,YAAY,EAAErC,WAAW,EAAEI,aAAa,EAAEF,MAAM,EAAEC,QAAQ,CAAC,CAAC;EAEhE,MAAMuC,UAAU,GAAG,IAAAC,kBAAW,EAAC,MAAM;IACnC,IAAI1C,QAAQ,EAAE;IACdkB,eAAe,CAAC,IAAI,CAAC;IACrBJ,MAAM,GAAG,CAAC;EACZ,CAAC,EAAE,CAACd,QAAQ,EAAEc,MAAM,CAAC,CAAC;EAEtB,MAAM6B,WAAW,GAAG,IAAAD,kBAAW,EAAC,MAAM;IACpCxB,eAAe,CAAC,KAAK,CAAC;IACtBH,OAAO,GAAG,CAAC;EACb,CAAC,EAAE,CAACA,OAAO,CAAC,CAAC;EAEb,MAAM6B,YAAY,GAAG,IAAAF,kBAAW,EAC7BG,IAAiB,IAAK;IACrB,IAAI,CAACvB,YAAY,EAAE;MACjBG,gBAAgB,CAACoB,IAAI,CAAC;IACxB;IACA/C,QAAQ,GAAG+C,IAAI,CAAC;EAClB,CAAC,EACD,CAACvB,YAAY,EAAExB,QAAQ,CACzB,CAAC;EAED,MAAMgD,kBAAkB,GAAG,IAAAR,cAAO,EAAC,MAAM;IACvC,IAAItC,QAAQ,EAAE,OAAO,GAAGD,WAAW,YAAY;IAC/C,IAAIqC,YAAY,EAAE;MAChB,MAAMG,SAAS,GAAG,IAAAC,uBAAgB,EAACJ,YAAY,EAAEjC,aAAa,EAAEF,MAAM,EAAEC,QAAQ,CAAC;MACjF,OAAOqC,SAAS,IAAIxC,WAAW;IACjC;IACA,OAAOA,WAAW;EACpB,CAAC,EAAE,CAACqC,YAAY,EAAErC,WAAW,EAAEI,aAAa,EAAEF,MAAM,EAAEC,QAAQ,EAAEF,QAAQ,CAAC,CAAC;EAE1E,oBACE,IAAAzB,WAAA,CAAAwE,IAAA,EAAAxE,WAAA,CAAAyE,QAAA;IAAAC,QAAA,gBACE,IAAA1E,WAAA,CAAA2E,GAAA,EAAChF,YAAA,CAAAiF,SAAS;MACRC,KAAK,EAAE,CACLC,MAAM,CAACC,KAAK,EACZ;QACEC,WAAW,EAAEnC,aAAa,CAACoC,MAAM,CAACC,WAAW;QAC7CC,eAAe,EAAEtC,aAAa,CAACoC,MAAM,CAACG;MACxC,CAAC,EACD3D,QAAQ,IAAIqD,MAAM,CAACO,aAAa,CAChC;MACFC,OAAO,EAAEpB,UAAW;MACpBzC,QAAQ,EAAEA,QAAS;MACnB8D,iBAAiB,EAAC,QAAQ;MAC1BhB,kBAAkB,EAAEA,kBAAmB;MACvCiB,kBAAkB,EAAE;QAAE/D;MAAS,CAAE;MACjCgB,MAAM,EAAEA,MAAO;MAAAiC,QAAA,eAEf,IAAA1E,WAAA,CAAA2E,GAAA,EAAChF,YAAA,CAAA8F,IAAI;QACHZ,KAAK,EAAE,CACLC,MAAM,CAACY,SAAS,EAChB;UACEC,KAAK,EAAE9B,YAAY,GACfhB,aAAa,CAACoC,MAAM,CAACW,IAAI,GACzB/C,aAAa,CAACoC,MAAM,CAACY;QAC3B,CAAC,CACD;QAAAnB,QAAA,EAEDZ;MAAW,CACR;IAAC,CACE,CAAC,eAEZ,IAAA9D,WAAA,CAAA2E,GAAA,EAAC5E,gBAAA,CAAA+F,eAAe;MACdC,OAAO,EAAErD,YAAa;MACtBrB,KAAK,EAAEwC,YAAa;MACpBvC,YAAY,EAAEA,YAAa;MAC3BC,QAAQ,EAAE8C,YAAa;MACvB7B,OAAO,EAAE4B,WAAY;MACrB1C,MAAM,EAAEA,MAAO;MACfC,QAAQ,EAAEA,QAAS;MACnBE,OAAO,EAAEA,OAAQ;MACjBC,OAAO,EAAEA,OAAQ;MACjBC,WAAW,EAAEA,WAAY;MACzBC,aAAa,EAAEA,aAAc;MAC7BC,YAAY,EAAEA,YAAa;MAC3BC,KAAK,EAAEA,KAAM;MACbC,WAAW,EAAEA,WAAY;MACzB6D,KAAK,EAAE5D,UAAW;MAClBC,WAAW,EAAEA,WAAY;MACzBC,UAAU,EAAEA;IAAW,CACxB,CAAC;EAAA,CACF,CAAC;AAEP;AAEA,MAAMwC,MAAM,GAAGmB,uBAAU,CAACC,MAAM,CAAC;EAC/BnB,KAAK,EAAE;IACLoB,WAAW,EAAE,CAAC;IACdC,YAAY,EAAE,EAAE;IAChBC,iBAAiB,EAAE,EAAE;IACrBC,eAAe,EAAE,EAAE;IACnBC,UAAU,EAAE;EACd,CAAC;EACDlB,aAAa,EAAE;IACbmB,OAAO,EAAE;EACX,CAAC;EACDd,SAAS,EAAE;IACTe,QAAQ,EAAE,EAAE;IACZC,UAAU,EAAE;EACd;AACF,CAAC,CAAC","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,6 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ //# sourceMappingURL=types.js.map
@@ -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