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,283 @@
1
+ "use strict";
2
+
3
+ import React, { useState, useMemo, useCallback, useRef, useEffect } from 'react';
4
+ import { View, StyleSheet } from 'react-native';
5
+ import { getBSMonthLength, todayBS, compareBS, isBSDateInSupportedRange, getSafeCalendarMonth, getDefaultSupportedBSDate } from '../../core';
6
+ import { getCalendarMonthGrid } from '../../calendar';
7
+ import { EN_LOCALE, NE_LOCALE } from '../../core/locale';
8
+ import { useCalendarTheme } from '../../theme';
9
+ import { warnOutOfRangeInDev, warnMinMaxInDev, createDateAccessibilityLabel } from '../../utils';
10
+ import { CalendarHeader } from './CalendarHeader';
11
+ import { CalendarWeekdays } from './CalendarWeekdays';
12
+ import { CalendarGrid } from './CalendarGrid';
13
+ import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
14
+ function getPreviousBSMonth(year, month) {
15
+ if (month === 1) return {
16
+ year: year - 1,
17
+ month: 12
18
+ };
19
+ return {
20
+ year,
21
+ month: month - 1
22
+ };
23
+ }
24
+ function getNextBSMonth(year, month) {
25
+ if (month === 12) return {
26
+ year: year + 1,
27
+ month: 1
28
+ };
29
+ return {
30
+ year,
31
+ month: month + 1
32
+ };
33
+ }
34
+ function resolveLocale(locale) {
35
+ if (!locale) return EN_LOCALE;
36
+ if (typeof locale === 'string') {
37
+ return locale === 'ne' ? NE_LOCALE : EN_LOCALE;
38
+ }
39
+ return locale;
40
+ }
41
+ export function NepaliCalendar({
42
+ value,
43
+ defaultValue,
44
+ onChange,
45
+ year,
46
+ month,
47
+ defaultYear,
48
+ defaultMonth,
49
+ minDate,
50
+ maxDate,
51
+ locale,
52
+ numerals = 'latin',
53
+ weekStartsOn = 0,
54
+ markedDates,
55
+ theme,
56
+ colorScheme = 'system',
57
+ disabledDates,
58
+ onMonthChange,
59
+ renderDay,
60
+ rangeValue,
61
+ testID
62
+ }) {
63
+ const resolvedLocale = useMemo(() => resolveLocale(locale), [locale]);
64
+ const calendarTheme = useCalendarTheme({
65
+ colorScheme,
66
+ theme
67
+ });
68
+ useEffect(() => {
69
+ if (value && !isBSDateInSupportedRange(value)) {
70
+ warnOutOfRangeInDev(value, {
71
+ min: 2000,
72
+ max: 2090
73
+ });
74
+ }
75
+ if (defaultValue && !isBSDateInSupportedRange(defaultValue)) {
76
+ warnOutOfRangeInDev(defaultValue, {
77
+ min: 2000,
78
+ max: 2090
79
+ });
80
+ }
81
+ }, [value, defaultValue]);
82
+ useEffect(() => {
83
+ warnMinMaxInDev(minDate, maxDate);
84
+ }, [minDate, maxDate]);
85
+ const safeDisplay = useMemo(() => {
86
+ const fallback = getDefaultSupportedBSDate();
87
+ if (value && isBSDateInSupportedRange(value)) {
88
+ return {
89
+ year: value.year,
90
+ month: value.month
91
+ };
92
+ }
93
+ if (defaultValue && isBSDateInSupportedRange(defaultValue)) {
94
+ return {
95
+ year: defaultValue.year,
96
+ month: defaultValue.month
97
+ };
98
+ }
99
+ if (year != null && month != null) {
100
+ const safe = getSafeCalendarMonth({
101
+ year,
102
+ month
103
+ });
104
+ return safe;
105
+ }
106
+ if (defaultYear != null && defaultMonth != null) {
107
+ return getSafeCalendarMonth({
108
+ year: defaultYear,
109
+ month: defaultMonth
110
+ });
111
+ }
112
+ try {
113
+ const today = todayBS();
114
+ if (isBSDateInSupportedRange(today)) {
115
+ return {
116
+ year: today.year,
117
+ month: today.month
118
+ };
119
+ }
120
+ } catch {
121
+ // fall through
122
+ }
123
+ return {
124
+ year: fallback.year,
125
+ month: fallback.month
126
+ };
127
+ }, [value, defaultValue, year, month, defaultYear, defaultMonth]);
128
+ const [internalYear, setInternalYear] = useState(safeDisplay.year);
129
+ const [internalMonth, setInternalMonth] = useState(safeDisplay.month);
130
+ const wasControlledRef = useRef(year !== undefined && month !== undefined);
131
+ useEffect(() => {
132
+ const isControlled = year !== undefined && month !== undefined;
133
+ if (isControlled) {
134
+ wasControlledRef.current = true;
135
+ const safe = getSafeCalendarMonth({
136
+ year,
137
+ month
138
+ });
139
+ setInternalYear(safe.year);
140
+ setInternalMonth(safe.month);
141
+ } else if (wasControlledRef.current) {
142
+ wasControlledRef.current = false;
143
+ const safe = getSafeCalendarMonth({
144
+ year: defaultYear,
145
+ month: defaultMonth,
146
+ value,
147
+ defaultValue
148
+ });
149
+ setInternalYear(safe.year);
150
+ setInternalMonth(safe.month);
151
+ }
152
+ }, [year, month, defaultYear, defaultMonth, value, defaultValue]);
153
+ const controlledYear = year !== undefined ? getSafeCalendarMonth({
154
+ year,
155
+ month: month ?? 1
156
+ }).year : internalYear;
157
+ const controlledMonth = year !== undefined ? getSafeCalendarMonth({
158
+ year,
159
+ month: month ?? 1
160
+ }).month : internalMonth;
161
+ const handlePrevMonth = useCallback(() => {
162
+ const prev = getPreviousBSMonth(controlledYear, controlledMonth);
163
+ if (year === undefined) {
164
+ const safe = getSafeCalendarMonth({
165
+ year: prev.year,
166
+ month: prev.month
167
+ });
168
+ setInternalYear(safe.year);
169
+ setInternalMonth(safe.month);
170
+ }
171
+ onMonthChange?.(prev);
172
+ }, [controlledYear, controlledMonth, year, onMonthChange]);
173
+ const handleNextMonth = useCallback(() => {
174
+ const next = getNextBSMonth(controlledYear, controlledMonth);
175
+ if (year === undefined) {
176
+ const safe = getSafeCalendarMonth({
177
+ year: next.year,
178
+ month: next.month
179
+ });
180
+ setInternalYear(safe.year);
181
+ setInternalMonth(safe.month);
182
+ }
183
+ onMonthChange?.(next);
184
+ }, [controlledYear, controlledMonth, year, onMonthChange]);
185
+ const today = useMemo(() => {
186
+ try {
187
+ const t = todayBS();
188
+ return isBSDateInSupportedRange(t) ? t : null;
189
+ } catch {
190
+ return null;
191
+ }
192
+ }, []);
193
+ const grid = useMemo(() => {
194
+ try {
195
+ return getCalendarMonthGrid({
196
+ year: controlledYear,
197
+ month: controlledMonth,
198
+ weekStartsOn,
199
+ minDate,
200
+ maxDate,
201
+ today: today ?? undefined
202
+ });
203
+ } catch {
204
+ return {
205
+ year: controlledYear,
206
+ month: controlledMonth,
207
+ weeks: []
208
+ };
209
+ }
210
+ }, [controlledYear, controlledMonth, weekStartsOn, minDate, maxDate, today]);
211
+ const canGoPrev = useMemo(() => {
212
+ const prev = getPreviousBSMonth(controlledYear, controlledMonth);
213
+ try {
214
+ getBSMonthLength(prev.year, prev.month);
215
+ return true;
216
+ } catch {
217
+ return false;
218
+ }
219
+ }, [controlledYear, controlledMonth]);
220
+ const canGoNext = useMemo(() => {
221
+ const next = getNextBSMonth(controlledYear, controlledMonth);
222
+ try {
223
+ getBSMonthLength(next.year, next.month);
224
+ return true;
225
+ } catch {
226
+ return false;
227
+ }
228
+ }, [controlledYear, controlledMonth]);
229
+ const resolvedValue = value && isBSDateInSupportedRange(value) ? value : null;
230
+ const handleDayPress = useCallback(date => {
231
+ onChange?.(date);
232
+ }, [onChange]);
233
+ const accessibilityLabel = useMemo(() => {
234
+ if (!resolvedValue) return undefined;
235
+ return createDateAccessibilityLabel(resolvedValue, resolvedLocale, {
236
+ selected: true,
237
+ today: today !== null && compareBS(resolvedValue, today) === 0
238
+ });
239
+ }, [resolvedValue, resolvedLocale, today]);
240
+ return /*#__PURE__*/_jsxs(View, {
241
+ style: [styles.container, {
242
+ backgroundColor: calendarTheme.colors.background
243
+ }],
244
+ testID: testID,
245
+ accessibilityLabel: accessibilityLabel,
246
+ children: [/*#__PURE__*/_jsx(CalendarHeader, {
247
+ year: controlledYear,
248
+ month: controlledMonth,
249
+ locale: resolvedLocale,
250
+ numerals: numerals,
251
+ theme: calendarTheme,
252
+ onPrevMonth: handlePrevMonth,
253
+ onNextMonth: handleNextMonth,
254
+ canGoPrev: canGoPrev,
255
+ canGoNext: canGoNext
256
+ }), /*#__PURE__*/_jsx(CalendarWeekdays, {
257
+ locale: resolvedLocale,
258
+ weekStartsOn: weekStartsOn,
259
+ theme: calendarTheme
260
+ }), /*#__PURE__*/_jsx(CalendarGrid, {
261
+ grid: grid,
262
+ value: resolvedValue,
263
+ today: today,
264
+ minDate: minDate,
265
+ maxDate: maxDate,
266
+ numerals: numerals,
267
+ theme: calendarTheme,
268
+ markedDates: markedDates,
269
+ disabledDates: disabledDates,
270
+ onChange: handleDayPress,
271
+ renderDay: renderDay,
272
+ rangeValue: rangeValue,
273
+ locale: resolvedLocale
274
+ })]
275
+ });
276
+ }
277
+ const styles = StyleSheet.create({
278
+ container: {
279
+ borderRadius: 12,
280
+ overflow: 'hidden'
281
+ }
282
+ });
283
+ //# sourceMappingURL=NepaliCalendar.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["React","useState","useMemo","useCallback","useRef","useEffect","View","StyleSheet","getBSMonthLength","todayBS","compareBS","isBSDateInSupportedRange","getSafeCalendarMonth","getDefaultSupportedBSDate","getCalendarMonthGrid","EN_LOCALE","NE_LOCALE","useCalendarTheme","warnOutOfRangeInDev","warnMinMaxInDev","createDateAccessibilityLabel","CalendarHeader","CalendarWeekdays","CalendarGrid","jsx","_jsx","jsxs","_jsxs","getPreviousBSMonth","year","month","getNextBSMonth","resolveLocale","locale","NepaliCalendar","value","defaultValue","onChange","defaultYear","defaultMonth","minDate","maxDate","numerals","weekStartsOn","markedDates","theme","colorScheme","disabledDates","onMonthChange","renderDay","rangeValue","testID","resolvedLocale","calendarTheme","min","max","safeDisplay","fallback","safe","today","internalYear","setInternalYear","internalMonth","setInternalMonth","wasControlledRef","undefined","isControlled","current","controlledYear","controlledMonth","handlePrevMonth","prev","handleNextMonth","next","t","grid","weeks","canGoPrev","canGoNext","resolvedValue","handleDayPress","date","accessibilityLabel","selected","style","styles","container","backgroundColor","colors","background","children","onPrevMonth","onNextMonth","create","borderRadius","overflow"],"sourceRoot":"../../../../src","sources":["components/NepaliCalendar/NepaliCalendar.tsx"],"mappings":"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","ignoreList":[]}
@@ -0,0 +1,4 @@
1
+ "use strict";
2
+
3
+ export { NepaliCalendar } from './NepaliCalendar';
4
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["NepaliCalendar"],"sourceRoot":"../../../../src","sources":["components/NepaliCalendar/index.ts"],"mappings":";;AAAA,SAASA,cAAc,QAAQ,kBAAkB","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/NepaliCalendar/types.ts"],"mappings":"","ignoreList":[]}
@@ -0,0 +1,180 @@
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 { getSafeInitialBSDate } from '../../utils';
7
+ import { NepaliCalendar } from '../NepaliCalendar';
8
+ import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
9
+ export function DatePickerModal({
10
+ visible,
11
+ value,
12
+ defaultValue,
13
+ onChange,
14
+ onConfirm,
15
+ onCancel,
16
+ onClose,
17
+ locale,
18
+ numerals,
19
+ minDate,
20
+ maxDate,
21
+ markedDates,
22
+ disabledDates,
23
+ weekStartsOn,
24
+ theme,
25
+ colorScheme,
26
+ title = 'Select Date',
27
+ confirmText = 'Confirm',
28
+ cancelText = 'Cancel',
29
+ testID
30
+ }) {
31
+ const calendarTheme = useCalendarTheme({
32
+ colorScheme,
33
+ theme
34
+ });
35
+ const [tempDate, setTempDate] = useState(() => getSafeInitialBSDate(value, defaultValue));
36
+ useEffect(() => {
37
+ if (visible) {
38
+ setTempDate(getSafeInitialBSDate(value, defaultValue));
39
+ }
40
+ }, [visible, value, defaultValue]);
41
+ const handleConfirm = useCallback(() => {
42
+ onConfirm?.(tempDate);
43
+ onChange?.(tempDate);
44
+ onClose?.();
45
+ }, [tempDate, onConfirm, onChange, onClose]);
46
+ const handleCancel = useCallback(() => {
47
+ onCancel?.();
48
+ onClose?.();
49
+ }, [onCancel, onClose]);
50
+ const handleBackdropPress = useCallback(() => {
51
+ onCancel?.();
52
+ onClose?.();
53
+ }, [onCancel, onClose]);
54
+ const modalContent = useMemo(() => /*#__PURE__*/_jsxs(View, {
55
+ style: [styles.modalContent, {
56
+ backgroundColor: calendarTheme.colors.modalBackground
57
+ }],
58
+ testID: testID,
59
+ children: [/*#__PURE__*/_jsx(Text, {
60
+ style: [styles.title, {
61
+ color: calendarTheme.colors.text,
62
+ borderBottomColor: calendarTheme.colors.border
63
+ }],
64
+ children: title
65
+ }), /*#__PURE__*/_jsx(View, {
66
+ style: styles.calendarWrapper,
67
+ children: /*#__PURE__*/_jsx(NepaliCalendar, {
68
+ value: tempDate,
69
+ onChange: setTempDate,
70
+ locale: locale,
71
+ numerals: numerals,
72
+ minDate: minDate,
73
+ maxDate: maxDate,
74
+ markedDates: markedDates,
75
+ disabledDates: disabledDates,
76
+ weekStartsOn: weekStartsOn,
77
+ theme: theme,
78
+ colorScheme: colorScheme
79
+ })
80
+ }), /*#__PURE__*/_jsxs(View, {
81
+ style: [styles.buttonRow, {
82
+ borderTopColor: calendarTheme.colors.border
83
+ }],
84
+ children: [/*#__PURE__*/_jsx(Pressable, {
85
+ style: [styles.button, styles.cancelButton],
86
+ onPress: handleCancel,
87
+ accessibilityRole: "button",
88
+ accessibilityLabel: cancelText,
89
+ children: /*#__PURE__*/_jsx(Text, {
90
+ style: [styles.cancelText, {
91
+ color: calendarTheme.colors.mutedText
92
+ }],
93
+ children: cancelText
94
+ })
95
+ }), /*#__PURE__*/_jsx(Pressable, {
96
+ style: [styles.button, {
97
+ backgroundColor: calendarTheme.colors.primary
98
+ }],
99
+ onPress: handleConfirm,
100
+ accessibilityRole: "button",
101
+ accessibilityLabel: "Confirm selected date",
102
+ children: /*#__PURE__*/_jsx(Text, {
103
+ style: [styles.confirmText, {
104
+ color: calendarTheme.colors.primaryText
105
+ }],
106
+ children: confirmText
107
+ })
108
+ })]
109
+ })]
110
+ }), [tempDate, title, locale, numerals, minDate, maxDate, markedDates, disabledDates, weekStartsOn, theme, colorScheme, testID, cancelText, confirmText, calendarTheme, handleCancel, handleConfirm]);
111
+ return /*#__PURE__*/_jsx(Modal, {
112
+ visible: visible,
113
+ transparent: true,
114
+ animationType: "fade",
115
+ onRequestClose: handleCancel,
116
+ children: /*#__PURE__*/_jsx(TouchableWithoutFeedback, {
117
+ onPress: handleBackdropPress,
118
+ children: /*#__PURE__*/_jsx(View, {
119
+ style: [styles.backdrop, {
120
+ backgroundColor: calendarTheme.colors.overlay
121
+ }],
122
+ children: /*#__PURE__*/_jsx(TouchableWithoutFeedback, {
123
+ children: modalContent
124
+ })
125
+ })
126
+ })
127
+ });
128
+ }
129
+ const styles = StyleSheet.create({
130
+ backdrop: {
131
+ flex: 1,
132
+ justifyContent: 'center',
133
+ alignItems: 'center',
134
+ paddingHorizontal: 20
135
+ },
136
+ modalContent: {
137
+ borderRadius: 16,
138
+ overflow: 'hidden',
139
+ width: '100%',
140
+ maxWidth: 400
141
+ },
142
+ title: {
143
+ fontSize: 18,
144
+ fontWeight: '600',
145
+ textAlign: 'center',
146
+ paddingVertical: 16,
147
+ paddingHorizontal: 16,
148
+ borderBottomWidth: StyleSheet.hairlineWidth
149
+ },
150
+ calendarWrapper: {
151
+ padding: 8
152
+ },
153
+ buttonRow: {
154
+ flexDirection: 'row',
155
+ justifyContent: 'flex-end',
156
+ paddingHorizontal: 16,
157
+ paddingVertical: 12,
158
+ gap: 12,
159
+ borderTopWidth: StyleSheet.hairlineWidth
160
+ },
161
+ button: {
162
+ paddingVertical: 10,
163
+ paddingHorizontal: 20,
164
+ borderRadius: 8,
165
+ minWidth: 80,
166
+ alignItems: 'center'
167
+ },
168
+ cancelButton: {
169
+ backgroundColor: 'transparent'
170
+ },
171
+ cancelText: {
172
+ fontSize: 16,
173
+ fontWeight: '600'
174
+ },
175
+ confirmText: {
176
+ fontSize: 16,
177
+ fontWeight: '600'
178
+ }
179
+ });
180
+ //# sourceMappingURL=DatePickerModal.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["React","useState","useEffect","useMemo","useCallback","View","Text","Pressable","Modal","StyleSheet","TouchableWithoutFeedback","useCalendarTheme","getSafeInitialBSDate","NepaliCalendar","jsx","_jsx","jsxs","_jsxs","DatePickerModal","visible","value","defaultValue","onChange","onConfirm","onCancel","onClose","locale","numerals","minDate","maxDate","markedDates","disabledDates","weekStartsOn","theme","colorScheme","title","confirmText","cancelText","testID","calendarTheme","tempDate","setTempDate","handleConfirm","handleCancel","handleBackdropPress","modalContent","style","styles","backgroundColor","colors","modalBackground","children","color","text","borderBottomColor","border","calendarWrapper","buttonRow","borderTopColor","button","cancelButton","onPress","accessibilityRole","accessibilityLabel","mutedText","primary","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/NepaliDatePicker/DatePickerModal.tsx"],"mappings":"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","ignoreList":[]}
@@ -0,0 +1,143 @@
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 { DatePickerModal } from './DatePickerModal';
9
+ import { jsx as _jsx, Fragment as _Fragment, jsxs as _jsxs } from "react/jsx-runtime";
10
+ export function NepaliDatePicker({
11
+ value,
12
+ defaultValue,
13
+ onChange,
14
+ placeholder = 'Select date',
15
+ disabled = false,
16
+ locale,
17
+ numerals,
18
+ displayFormat = 'yyyy-MM-dd',
19
+ minDate,
20
+ maxDate,
21
+ markedDates,
22
+ disabledDates,
23
+ weekStartsOn,
24
+ theme,
25
+ colorScheme,
26
+ modalTitle,
27
+ confirmText,
28
+ cancelText,
29
+ onOpen,
30
+ onClose,
31
+ testID
32
+ }) {
33
+ const [modalVisible, setModalVisible] = useState(false);
34
+ const calendarTheme = useCalendarTheme({
35
+ colorScheme,
36
+ theme
37
+ });
38
+ const isControlled = value !== undefined;
39
+ const [internalValue, setInternalValue] = useState(defaultValue ?? null);
40
+ useEffect(() => {
41
+ if (value) {
42
+ if (!isValidBSDate(value)) {
43
+ if (__DEV__) {
44
+ console.warn('react-native-bikram-sambat: Invalid date value provided to NepaliDatePicker.', value);
45
+ }
46
+ } else if (!isBSDateInSupportedRange(value)) {
47
+ warnOutOfRangeInDev(value, {
48
+ min: 2000,
49
+ max: 2090
50
+ });
51
+ }
52
+ }
53
+ }, [value]);
54
+ useEffect(() => {
55
+ warnMinMaxInDev(minDate, maxDate);
56
+ }, [minDate, maxDate]);
57
+ const currentValue = isControlled ? value && isValidBSDate(value) && isBSDateInSupportedRange(value) ? value : null : internalValue;
58
+ const displayText = useMemo(() => {
59
+ if (!currentValue) return placeholder;
60
+ const formatted = safeFormatBSDate(currentValue, displayFormat, locale, numerals);
61
+ return formatted ?? placeholder;
62
+ }, [currentValue, placeholder, displayFormat, locale, numerals]);
63
+ const handleOpen = useCallback(() => {
64
+ if (disabled) return;
65
+ setModalVisible(true);
66
+ onOpen?.();
67
+ }, [disabled, onOpen]);
68
+ const handleClose = useCallback(() => {
69
+ setModalVisible(false);
70
+ onClose?.();
71
+ }, [onClose]);
72
+ const handleChange = useCallback(date => {
73
+ if (!isControlled) {
74
+ setInternalValue(date);
75
+ }
76
+ onChange?.(date);
77
+ }, [isControlled, onChange]);
78
+ const accessibilityLabel = useMemo(() => {
79
+ if (disabled) return `${placeholder}, disabled`;
80
+ if (currentValue) {
81
+ const formatted = safeFormatBSDate(currentValue, displayFormat, locale, numerals);
82
+ return formatted ?? placeholder;
83
+ }
84
+ return placeholder;
85
+ }, [currentValue, placeholder, displayFormat, locale, numerals, disabled]);
86
+ return /*#__PURE__*/_jsxs(_Fragment, {
87
+ children: [/*#__PURE__*/_jsx(Pressable, {
88
+ style: [styles.field, {
89
+ borderColor: calendarTheme.colors.fieldBorder,
90
+ backgroundColor: calendarTheme.colors.fieldBackground
91
+ }, disabled && styles.fieldDisabled],
92
+ onPress: handleOpen,
93
+ disabled: disabled,
94
+ accessibilityRole: "button",
95
+ accessibilityLabel: accessibilityLabel,
96
+ accessibilityState: {
97
+ disabled
98
+ },
99
+ testID: testID,
100
+ children: /*#__PURE__*/_jsx(Text, {
101
+ style: [styles.fieldText, {
102
+ color: currentValue ? calendarTheme.colors.text : calendarTheme.colors.placeholderText
103
+ }],
104
+ children: displayText
105
+ })
106
+ }), /*#__PURE__*/_jsx(DatePickerModal, {
107
+ visible: modalVisible,
108
+ value: currentValue,
109
+ defaultValue: defaultValue,
110
+ onChange: handleChange,
111
+ onClose: handleClose,
112
+ locale: locale,
113
+ numerals: numerals,
114
+ minDate: minDate,
115
+ maxDate: maxDate,
116
+ markedDates: markedDates,
117
+ disabledDates: disabledDates,
118
+ weekStartsOn: weekStartsOn,
119
+ theme: theme,
120
+ colorScheme: colorScheme,
121
+ title: modalTitle,
122
+ confirmText: confirmText,
123
+ cancelText: cancelText
124
+ })]
125
+ });
126
+ }
127
+ const styles = StyleSheet.create({
128
+ field: {
129
+ borderWidth: 1,
130
+ borderRadius: 10,
131
+ paddingHorizontal: 16,
132
+ paddingVertical: 14,
133
+ alignItems: 'center'
134
+ },
135
+ fieldDisabled: {
136
+ opacity: 0.5
137
+ },
138
+ fieldText: {
139
+ fontSize: 16,
140
+ fontWeight: '500'
141
+ }
142
+ });
143
+ //# sourceMappingURL=NepaliDatePicker.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["React","useState","useMemo","useCallback","useEffect","Pressable","Text","StyleSheet","isValidBSDate","isBSDateInSupportedRange","useCalendarTheme","safeFormatBSDate","warnOutOfRangeInDev","warnMinMaxInDev","DatePickerModal","jsx","_jsx","Fragment","_Fragment","jsxs","_jsxs","NepaliDatePicker","value","defaultValue","onChange","placeholder","disabled","locale","numerals","displayFormat","minDate","maxDate","markedDates","disabledDates","weekStartsOn","theme","colorScheme","modalTitle","confirmText","cancelText","onOpen","onClose","testID","modalVisible","setModalVisible","calendarTheme","isControlled","undefined","internalValue","setInternalValue","__DEV__","console","warn","min","max","currentValue","displayText","formatted","handleOpen","handleClose","handleChange","date","accessibilityLabel","children","style","styles","field","borderColor","colors","fieldBorder","backgroundColor","fieldBackground","fieldDisabled","onPress","accessibilityRole","accessibilityState","fieldText","color","text","placeholderText","visible","title","create","borderWidth","borderRadius","paddingHorizontal","paddingVertical","alignItems","opacity","fontSize","fontWeight"],"sourceRoot":"../../../../src","sources":["components/NepaliDatePicker/NepaliDatePicker.tsx"],"mappings":"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","ignoreList":[]}
@@ -0,0 +1,5 @@
1
+ "use strict";
2
+
3
+ export { NepaliDatePicker } from './NepaliDatePicker';
4
+ export { DatePickerModal } from './DatePickerModal';
5
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["NepaliDatePicker","DatePickerModal"],"sourceRoot":"../../../../src","sources":["components/NepaliDatePicker/index.ts"],"mappings":";;AAAA,SAASA,gBAAgB,QAAQ,oBAAoB;AACrD,SAASC,eAAe,QAAQ,mBAAmB","ignoreList":[]}