@transferwise/components 46.144.1 → 46.145.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 (186) hide show
  1. package/build/calendar/Calendar.js +159 -0
  2. package/build/calendar/Calendar.js.map +1 -0
  3. package/build/{dateLookup/DateLookup.messages.js → calendar/Calendar.messages.js} +1 -1
  4. package/build/calendar/Calendar.messages.js.map +1 -0
  5. package/build/{dateLookup/DateLookup.messages.mjs → calendar/Calendar.messages.mjs} +1 -1
  6. package/build/calendar/Calendar.messages.mjs.map +1 -0
  7. package/build/calendar/Calendar.mjs +155 -0
  8. package/build/calendar/Calendar.mjs.map +1 -0
  9. package/build/{dateLookup → calendar}/dateHeader/DateHeader.js +4 -4
  10. package/build/calendar/dateHeader/DateHeader.js.map +1 -0
  11. package/build/{dateLookup → calendar}/dateHeader/DateHeader.mjs +1 -1
  12. package/build/calendar/dateHeader/DateHeader.mjs.map +1 -0
  13. package/build/{dateLookup → calendar}/dayCalendar/DayCalendar.js +2 -2
  14. package/build/calendar/dayCalendar/DayCalendar.js.map +1 -0
  15. package/build/{dateLookup → calendar}/dayCalendar/DayCalendar.mjs +1 -1
  16. package/build/calendar/dayCalendar/DayCalendar.mjs.map +1 -0
  17. package/build/calendar/dayCalendar/table/DayCalendarTable.js.map +1 -0
  18. package/build/calendar/dayCalendar/table/DayCalendarTable.mjs.map +1 -0
  19. package/build/calendar/getFocusableTime/getFocusableTime.js.map +1 -0
  20. package/build/calendar/getFocusableTime/getFocusableTime.mjs.map +1 -0
  21. package/build/calendar/getStartOfDay/getStartOfDay.js.map +1 -0
  22. package/build/calendar/getStartOfDay/getStartOfDay.mjs.map +1 -0
  23. package/build/{dateLookup → calendar}/monthCalendar/MonthCalendar.js +2 -2
  24. package/build/calendar/monthCalendar/MonthCalendar.js.map +1 -0
  25. package/build/{dateLookup → calendar}/monthCalendar/MonthCalendar.mjs +1 -1
  26. package/build/calendar/monthCalendar/MonthCalendar.mjs.map +1 -0
  27. package/build/calendar/monthCalendar/table/MonthCalendarTable.js.map +1 -0
  28. package/build/calendar/monthCalendar/table/MonthCalendarTable.mjs.map +1 -0
  29. package/build/{dateLookup → calendar}/tableLink/TableLink.js +2 -2
  30. package/build/calendar/tableLink/TableLink.js.map +1 -0
  31. package/build/{dateLookup → calendar}/tableLink/TableLink.mjs +1 -1
  32. package/build/calendar/tableLink/TableLink.mjs.map +1 -0
  33. package/build/{dateLookup → calendar}/yearCalendar/YearCalendar.js +2 -2
  34. package/build/calendar/yearCalendar/YearCalendar.js.map +1 -0
  35. package/build/{dateLookup → calendar}/yearCalendar/YearCalendar.mjs +1 -1
  36. package/build/calendar/yearCalendar/YearCalendar.mjs.map +1 -0
  37. package/build/calendar/yearCalendar/table/YearCalendarTable.js.map +1 -0
  38. package/build/calendar/yearCalendar/table/YearCalendarTable.mjs.map +1 -0
  39. package/build/dateLookup/DateLookup.js +28 -168
  40. package/build/dateLookup/DateLookup.js.map +1 -1
  41. package/build/dateLookup/DateLookup.mjs +29 -169
  42. package/build/dateLookup/DateLookup.mjs.map +1 -1
  43. package/build/index.js +2 -0
  44. package/build/index.js.map +1 -1
  45. package/build/index.mjs +1 -0
  46. package/build/index.mjs.map +1 -1
  47. package/build/main.css +97 -106
  48. package/build/styles/calendar/Calendar.css +83 -0
  49. package/build/styles/dateLookup/DateLookup.css +0 -90
  50. package/build/styles/main.css +97 -106
  51. package/build/types/calendar/Calendar.d.ts +13 -0
  52. package/build/types/calendar/Calendar.d.ts.map +1 -0
  53. package/build/types/{dateLookup/DateLookup.messages.d.ts → calendar/Calendar.messages.d.ts} +1 -1
  54. package/build/types/calendar/Calendar.messages.d.ts.map +1 -0
  55. package/build/types/calendar/dateHeader/DateHeader.d.ts.map +1 -0
  56. package/build/types/calendar/dateHeader/index.d.ts.map +1 -0
  57. package/build/types/calendar/dayCalendar/DayCalendar.d.ts.map +1 -0
  58. package/build/types/calendar/dayCalendar/index.d.ts.map +1 -0
  59. package/build/types/calendar/dayCalendar/table/DayCalendarTable.d.ts.map +1 -0
  60. package/build/types/calendar/dayCalendar/table/index.d.ts.map +1 -0
  61. package/build/types/calendar/getFocusableTime/getFocusableTime.d.ts.map +1 -0
  62. package/build/types/calendar/getStartOfDay/getStartOfDay.d.ts.map +1 -0
  63. package/build/types/calendar/getStartOfDay/index.d.ts.map +1 -0
  64. package/build/types/calendar/index.d.ts +3 -0
  65. package/build/types/calendar/index.d.ts.map +1 -0
  66. package/build/types/{dateLookup → calendar}/monthCalendar/MonthCalendar.d.ts +1 -1
  67. package/build/types/calendar/monthCalendar/MonthCalendar.d.ts.map +1 -0
  68. package/build/types/calendar/monthCalendar/index.d.ts.map +1 -0
  69. package/build/types/{dateLookup → calendar}/monthCalendar/table/MonthCalendarTable.d.ts +1 -1
  70. package/build/types/calendar/monthCalendar/table/MonthCalendarTable.d.ts.map +1 -0
  71. package/build/types/calendar/monthCalendar/table/index.d.ts.map +1 -0
  72. package/build/types/calendar/tableLink/TableLink.d.ts.map +1 -0
  73. package/build/types/calendar/tableLink/index.d.ts.map +1 -0
  74. package/build/types/{dateLookup → calendar}/yearCalendar/YearCalendar.d.ts +1 -1
  75. package/build/types/calendar/yearCalendar/YearCalendar.d.ts.map +1 -0
  76. package/build/types/calendar/yearCalendar/index.d.ts.map +1 -0
  77. package/build/types/{dateLookup → calendar}/yearCalendar/table/YearCalendarTable.d.ts +1 -1
  78. package/build/types/calendar/yearCalendar/table/YearCalendarTable.d.ts.map +1 -0
  79. package/build/types/calendar/yearCalendar/table/index.d.ts.map +1 -0
  80. package/build/types/dateLookup/DateLookup.d.ts +2 -26
  81. package/build/types/dateLookup/DateLookup.d.ts.map +1 -1
  82. package/build/types/index.d.ts +2 -0
  83. package/build/types/index.d.ts.map +1 -1
  84. package/package.json +3 -3
  85. package/src/calendar/Calendar.css +83 -0
  86. package/src/calendar/Calendar.less +79 -0
  87. package/src/calendar/Calendar.story.tsx +92 -0
  88. package/src/calendar/Calendar.test.tsx +138 -0
  89. package/src/calendar/Calendar.tsx +165 -0
  90. package/src/{dateLookup → calendar}/dateHeader/DateHeader.tsx +1 -1
  91. package/src/{dateLookup → calendar}/dayCalendar/DayCalendar.tsx +1 -1
  92. package/src/calendar/index.ts +2 -0
  93. package/src/{dateLookup → calendar}/monthCalendar/MonthCalendar.tsx +2 -2
  94. package/src/{dateLookup → calendar}/monthCalendar/table/MonthCalendarTable.tsx +1 -1
  95. package/src/{dateLookup → calendar}/tableLink/TableLink.tsx +1 -1
  96. package/src/{dateLookup → calendar}/yearCalendar/YearCalendar.tsx +2 -2
  97. package/src/{dateLookup → calendar}/yearCalendar/table/YearCalendarTable.tsx +1 -1
  98. package/src/dateLookup/DateLookup.css +0 -90
  99. package/src/dateLookup/DateLookup.less +0 -91
  100. package/src/dateLookup/DateLookup.test.tsx +0 -124
  101. package/src/dateLookup/DateLookup.tsx +31 -161
  102. package/src/index.ts +2 -0
  103. package/src/main.css +97 -106
  104. package/src/main.less +1 -0
  105. package/build/dateLookup/DateLookup.messages.js.map +0 -1
  106. package/build/dateLookup/DateLookup.messages.mjs.map +0 -1
  107. package/build/dateLookup/dateHeader/DateHeader.js.map +0 -1
  108. package/build/dateLookup/dateHeader/DateHeader.mjs.map +0 -1
  109. package/build/dateLookup/dayCalendar/DayCalendar.js.map +0 -1
  110. package/build/dateLookup/dayCalendar/DayCalendar.mjs.map +0 -1
  111. package/build/dateLookup/dayCalendar/table/DayCalendarTable.js.map +0 -1
  112. package/build/dateLookup/dayCalendar/table/DayCalendarTable.mjs.map +0 -1
  113. package/build/dateLookup/getFocusableTime/getFocusableTime.js.map +0 -1
  114. package/build/dateLookup/getFocusableTime/getFocusableTime.mjs.map +0 -1
  115. package/build/dateLookup/getStartOfDay/getStartOfDay.js.map +0 -1
  116. package/build/dateLookup/getStartOfDay/getStartOfDay.mjs.map +0 -1
  117. package/build/dateLookup/monthCalendar/MonthCalendar.js.map +0 -1
  118. package/build/dateLookup/monthCalendar/MonthCalendar.mjs.map +0 -1
  119. package/build/dateLookup/monthCalendar/table/MonthCalendarTable.js.map +0 -1
  120. package/build/dateLookup/monthCalendar/table/MonthCalendarTable.mjs.map +0 -1
  121. package/build/dateLookup/tableLink/TableLink.js.map +0 -1
  122. package/build/dateLookup/tableLink/TableLink.mjs.map +0 -1
  123. package/build/dateLookup/yearCalendar/YearCalendar.js.map +0 -1
  124. package/build/dateLookup/yearCalendar/YearCalendar.mjs.map +0 -1
  125. package/build/dateLookup/yearCalendar/table/YearCalendarTable.js.map +0 -1
  126. package/build/dateLookup/yearCalendar/table/YearCalendarTable.mjs.map +0 -1
  127. package/build/types/dateLookup/DateLookup.messages.d.ts.map +0 -1
  128. package/build/types/dateLookup/dateHeader/DateHeader.d.ts.map +0 -1
  129. package/build/types/dateLookup/dateHeader/index.d.ts.map +0 -1
  130. package/build/types/dateLookup/dayCalendar/DayCalendar.d.ts.map +0 -1
  131. package/build/types/dateLookup/dayCalendar/index.d.ts.map +0 -1
  132. package/build/types/dateLookup/dayCalendar/table/DayCalendarTable.d.ts.map +0 -1
  133. package/build/types/dateLookup/dayCalendar/table/index.d.ts.map +0 -1
  134. package/build/types/dateLookup/getFocusableTime/getFocusableTime.d.ts.map +0 -1
  135. package/build/types/dateLookup/getStartOfDay/getStartOfDay.d.ts.map +0 -1
  136. package/build/types/dateLookup/getStartOfDay/index.d.ts.map +0 -1
  137. package/build/types/dateLookup/monthCalendar/MonthCalendar.d.ts.map +0 -1
  138. package/build/types/dateLookup/monthCalendar/index.d.ts.map +0 -1
  139. package/build/types/dateLookup/monthCalendar/table/MonthCalendarTable.d.ts.map +0 -1
  140. package/build/types/dateLookup/monthCalendar/table/index.d.ts.map +0 -1
  141. package/build/types/dateLookup/tableLink/TableLink.d.ts.map +0 -1
  142. package/build/types/dateLookup/tableLink/index.d.ts.map +0 -1
  143. package/build/types/dateLookup/yearCalendar/YearCalendar.d.ts.map +0 -1
  144. package/build/types/dateLookup/yearCalendar/index.d.ts.map +0 -1
  145. package/build/types/dateLookup/yearCalendar/table/YearCalendarTable.d.ts.map +0 -1
  146. package/build/types/dateLookup/yearCalendar/table/index.d.ts.map +0 -1
  147. /package/build/{dateLookup → calendar}/dayCalendar/table/DayCalendarTable.js +0 -0
  148. /package/build/{dateLookup → calendar}/dayCalendar/table/DayCalendarTable.mjs +0 -0
  149. /package/build/{dateLookup → calendar}/getFocusableTime/getFocusableTime.js +0 -0
  150. /package/build/{dateLookup → calendar}/getFocusableTime/getFocusableTime.mjs +0 -0
  151. /package/build/{dateLookup → calendar}/getStartOfDay/getStartOfDay.js +0 -0
  152. /package/build/{dateLookup → calendar}/getStartOfDay/getStartOfDay.mjs +0 -0
  153. /package/build/{dateLookup → calendar}/monthCalendar/table/MonthCalendarTable.js +0 -0
  154. /package/build/{dateLookup → calendar}/monthCalendar/table/MonthCalendarTable.mjs +0 -0
  155. /package/build/{dateLookup → calendar}/yearCalendar/table/YearCalendarTable.js +0 -0
  156. /package/build/{dateLookup → calendar}/yearCalendar/table/YearCalendarTable.mjs +0 -0
  157. /package/build/types/{dateLookup → calendar}/dateHeader/DateHeader.d.ts +0 -0
  158. /package/build/types/{dateLookup → calendar}/dateHeader/index.d.ts +0 -0
  159. /package/build/types/{dateLookup → calendar}/dayCalendar/DayCalendar.d.ts +0 -0
  160. /package/build/types/{dateLookup → calendar}/dayCalendar/index.d.ts +0 -0
  161. /package/build/types/{dateLookup → calendar}/dayCalendar/table/DayCalendarTable.d.ts +0 -0
  162. /package/build/types/{dateLookup → calendar}/dayCalendar/table/index.d.ts +0 -0
  163. /package/build/types/{dateLookup → calendar}/getFocusableTime/getFocusableTime.d.ts +0 -0
  164. /package/build/types/{dateLookup → calendar}/getStartOfDay/getStartOfDay.d.ts +0 -0
  165. /package/build/types/{dateLookup → calendar}/getStartOfDay/index.d.ts +0 -0
  166. /package/build/types/{dateLookup → calendar}/monthCalendar/index.d.ts +0 -0
  167. /package/build/types/{dateLookup → calendar}/monthCalendar/table/index.d.ts +0 -0
  168. /package/build/types/{dateLookup → calendar}/tableLink/TableLink.d.ts +0 -0
  169. /package/build/types/{dateLookup → calendar}/tableLink/index.d.ts +0 -0
  170. /package/build/types/{dateLookup → calendar}/yearCalendar/index.d.ts +0 -0
  171. /package/build/types/{dateLookup → calendar}/yearCalendar/table/index.d.ts +0 -0
  172. /package/src/{dateLookup/DateLookup.messages.ts → calendar/Calendar.messages.ts} +0 -0
  173. /package/src/{dateLookup → calendar}/dateHeader/index.ts +0 -0
  174. /package/src/{dateLookup → calendar}/dayCalendar/index.ts +0 -0
  175. /package/src/{dateLookup → calendar}/dayCalendar/table/DayCalendarTable.tsx +0 -0
  176. /package/src/{dateLookup → calendar}/dayCalendar/table/index.ts +0 -0
  177. /package/src/{dateLookup → calendar}/getFocusableTime/getFocusable.test.ts +0 -0
  178. /package/src/{dateLookup → calendar}/getFocusableTime/getFocusableTime.tsx +0 -0
  179. /package/src/{dateLookup → calendar}/getStartOfDay/getStartOfDay.test.js +0 -0
  180. /package/src/{dateLookup → calendar}/getStartOfDay/getStartOfDay.tsx +0 -0
  181. /package/src/{dateLookup → calendar}/getStartOfDay/index.ts +0 -0
  182. /package/src/{dateLookup → calendar}/monthCalendar/index.ts +0 -0
  183. /package/src/{dateLookup → calendar}/monthCalendar/table/index.ts +0 -0
  184. /package/src/{dateLookup → calendar}/tableLink/index.ts +0 -0
  185. /package/src/{dateLookup → calendar}/yearCalendar/index.ts +0 -0
  186. /package/src/{dateLookup → calendar}/yearCalendar/table/index.ts +0 -0
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"AAEA;;GAEG;AACH,YAAY,EAAE,cAAc,EAAE,MAAM,aAAa,CAAC;AAClD,YAAY,EAAE,SAAS,EAAE,MAAM,QAAQ,CAAC;AACxC,YAAY,EAAE,mBAAmB,EAAE,MAAM,kBAAkB,CAAC;AAC5D,YAAY,EAAE,aAAa,EAAE,cAAc,EAAE,MAAM,aAAa,CAAC;AACjE,YAAY,EAAE,iBAAiB,EAAE,MAAM,gBAAgB,CAAC;AACxD,YAAY,EAAE,WAAW,EAAE,UAAU,EAAE,SAAS,EAAE,MAAM,SAAS,CAAC;AAClE,YAAY,EAAE,WAAW,EAAE,MAAM,UAAU,CAAC;AAC5C,YAAY,EAAE,eAAe,EAAE,MAAM,cAAc,CAAC;AACpD,YAAY,EAAE,iBAAiB,EAAE,MAAM,gBAAgB,CAAC;AACxD,YAAY,EAAE,UAAU,EAAE,MAAM,SAAS,CAAC;AAC1C,YAAY,EAAE,cAAc,IAAI,WAAW,EAAE,MAAM,UAAU,CAAC;AAC9D,YAAY,EAAE,SAAS,EAAE,MAAM,QAAQ,CAAC;AACxC,YAAY,EAAE,aAAa,EAAE,MAAM,YAAY,CAAC;AAChD,YAAY,EAAE,aAAa,EAAE,MAAM,YAAY,CAAC;AAChD,YAAY,EAAE,mBAAmB,EAAE,MAAM,kBAAkB,CAAC;AAC5D,YAAY,EACV,SAAS,EACT,YAAY,EACZ,eAAe,EACf,SAAS,EACT,UAAU,EACV,eAAe,GAChB,MAAM,UAAU,CAAC;AAClB,YAAY,EAAE,gBAAgB,EAAE,MAAM,sBAAsB,CAAC;AAC7D,YAAY,EAAE,cAAc,EAAE,MAAM,aAAa,CAAC;AAClD,YAAY,EAAE,eAAe,EAAE,MAAM,cAAc,CAAC;AACpD,YAAY,EAAE,aAAa,EAAE,MAAM,qBAAqB,CAAC;AACzD,YAAY,EAAE,mBAAmB,EAAE,wBAAwB,EAAE,MAAM,kBAAkB,CAAC;AACtF,YAAY,EAAE,WAAW,EAAE,MAAM,UAAU,CAAC;AAC5C,YAAY,EAAE,WAAW,EAAE,MAAM,UAAU,CAAC;AAC5C,YAAY,EAAE,YAAY,EAAE,MAAM,WAAW,CAAC;AAC9C,YAAY,EAAE,WAAW,EAAE,MAAM,UAAU,CAAC;AAC5C,YAAY,EAAE,aAAa,EAAE,MAAM,YAAY,CAAC;AAChD,YAAY,EAAE,UAAU,EAAE,MAAM,eAAe,CAAC;AAChD,YAAY,EAAE,SAAS,EAAE,MAAM,QAAQ,CAAC;AACxC,YAAY,EAAE,iBAAiB,EAAE,iBAAiB,EAAE,mBAAmB,EAAE,MAAM,UAAU,CAAC;AAC1F,YAAY,EAAE,eAAe,EAAE,gBAAgB,EAAE,eAAe,EAAE,MAAM,UAAU,CAAC;AACnF,YAAY,EAAE,2BAA2B,EAAE,MAAM,0BAA0B,CAAC;AAC5E,YAAY,EAAE,UAAU,EAAE,MAAM,gBAAgB,CAAC;AACjD,YAAY,EAAE,eAAe,EAAE,MAAM,qBAAqB,CAAC;AAC3D,YAAY,EAAE,gBAAgB,EAAE,MAAM,sBAAsB,CAAC;AAC7D,YAAY,EACV,oBAAoB,EACpB,eAAe,EACf,6BAA6B,EAC7B,qBAAqB,EACrB,gBAAgB,EAChB,wBAAwB,EACxB,6BAA6B,GAC9B,MAAM,sBAAsB,CAAC;AAC9B,YAAY,EAAE,aAAa,EAAE,MAAM,mBAAmB,CAAC;AACvD,YAAY,EAAE,qBAAqB,EAAE,MAAM,oBAAoB,CAAC;AAChE,YAAY,EAAE,UAAU,EAAE,kBAAkB,EAAE,qBAAqB,EAAE,MAAM,eAAe,CAAC;AAC3F,YAAY,EAAE,mBAAmB,EAAE,MAAM,kBAAkB,CAAC;AAC5D,YAAY,EAAE,WAAW,EAAE,MAAM,UAAU,CAAC;AAC5C,YAAY,EAAE,aAAa,EAAE,MAAM,YAAY,CAAC;AAChD,YAAY,EAAE,UAAU,EAAE,MAAM,SAAS,CAAC;AAC1C,YAAY,EAAE,UAAU,EAAE,MAAM,SAAS,CAAC;AAC1C,YAAY,EACV,kBAAkB,EAClB,YAAY,EACZ,kBAAkB,EAClB,eAAe,GAChB,MAAM,cAAc,CAAC;AACtB,YAAY,EAAE,yBAAyB,EAAE,MAAM,wBAAwB,CAAC;AACxE,YAAY,EAAE,yBAAyB,EAAE,MAAM,yBAAyB,CAAC;AACzE,YAAY,EAAE,qBAAqB,EAAE,MAAM,qCAAqC,CAAC;AACjF,YAAY,EAAE,kBAAkB,EAAE,MAAM,iBAAiB,CAAC;AAC1D,YAAY,EAAE,UAAU,EAAE,MAAM,gBAAgB,CAAC;AACjD,YAAY,EAAE,qBAAqB,EAAE,MAAM,qCAAqC,CAAC;AACjF,YAAY,EAAE,YAAY,EAAE,MAAM,WAAW,CAAC;AAC9C,YAAY,EAAE,qBAAqB,EAAE,sBAAsB,EAAE,MAAM,oBAAoB,CAAC;AACxF,YAAY,EAAE,aAAa,EAAE,MAAM,YAAY,CAAC;AAChD,YAAY,EAAE,gBAAgB,EAAE,MAAM,eAAe,CAAC;AACtD,YAAY,EAAE,sBAAsB,EAAE,qBAAqB,EAAE,aAAa,EAAE,MAAM,YAAY,CAAC;AAC/F,YAAY,EAAE,UAAU,EAAE,MAAM,SAAS,CAAC;AAC1C,YAAY,EAAE,eAAe,EAAE,eAAe,EAAE,MAAM,cAAc,CAAC;AACrE,YAAY,EAAE,gBAAgB,EAAE,MAAM,eAAe,CAAC;AACtD,YAAY,EAAE,qBAAqB,EAAE,MAAM,oBAAoB,CAAC;AAChE,YAAY,EACV,UAAU,EACV,yBAAyB,EACzB,gBAAgB,EAChB,WAAW,GACZ,MAAM,UAAU,CAAC;AAClB,YAAY,EAAE,iBAAiB,EAAE,MAAM,gBAAgB,CAAC;AACxD,YAAY,EAAE,aAAa,EAAE,MAAM,qBAAqB,CAAC;AACzD,YAAY,EAAE,mBAAmB,EAAE,MAAM,4BAA4B,CAAC;AACtE,YAAY,EAAE,eAAe,EAAE,MAAM,cAAc,CAAC;AACpD,YAAY,EAAE,WAAW,EAAE,MAAM,UAAU,CAAC;AAC5C,YAAY,EAAE,YAAY,EAAE,MAAM,WAAW,CAAC;AAC9C,YAAY,EAAE,qBAAqB,EAAE,MAAM,oBAAoB,CAAC;AAChE,YAAY,EAAE,WAAW,EAAE,MAAM,UAAU,CAAC;AAC5C,YAAY,EAAE,iBAAiB,EAAE,MAAM,gBAAgB,CAAC;AACxD,YAAY,EAAE,OAAO,EAAE,SAAS,EAAE,MAAM,QAAQ,CAAC;AACjD,YAAY,EAAE,8BAA8B,EAAE,MAAM,6BAA6B,CAAC;AAClF,YAAY,EAAE,YAAY,EAAE,MAAM,WAAW,CAAC;AAC9C,YAAY,EAAE,eAAe,EAAE,cAAc,EAAE,MAAM,aAAa,CAAC;AACnE,YAAY,EAAE,WAAW,EAAE,MAAM,UAAU,CAAC;AAC5C,YAAY,EAAE,WAAW,EAAE,cAAc,EAAE,YAAY,EAAE,MAAM,qBAAqB,CAAC;AACrF,YAAY,EAAE,WAAW,EAAE,MAAM,UAAU,CAAC;AAC5C,YAAY,EAAE,eAAe,EAAE,MAAM,cAAc,CAAC;AACpD,YAAY,EACV,UAAU,EACV,YAAY,EACZ,qBAAqB,EACrB,eAAe,EACf,gBAAgB,EAChB,aAAa,EACb,iBAAiB,EACjB,eAAe,EACf,aAAa,GACd,MAAM,SAAS,CAAC;AACjB,YAAY,EACV,aAAa,EACb,mBAAmB,EACnB,kBAAkB,EAClB,mBAAmB,EACnB,uBAAuB,EACvB,kBAAkB,EAClB,uBAAuB,EACvB,2BAA2B,EAC3B,mBAAmB,EACnB,qBAAqB,EACrB,yBAAyB,EACzB,uBAAuB,GACxB,MAAM,YAAY,CAAC;AACpB,YAAY,EAAE,SAAS,EAAE,MAAM,QAAQ,CAAC;AAExC;;GAEG;AACH,OAAO,EAAE,OAAO,IAAI,SAAS,EAAE,MAAM,aAAa,CAAC;AACnD,OAAO,EAAE,OAAO,IAAI,YAAY,EAAE,MAAM,gBAAgB,CAAC;AACzD,OAAO,EAAE,OAAO,IAAI,YAAY,EAAE,MAAM,gBAAgB,CAAC;AACzD,OAAO,EAAE,OAAO,IAAI,KAAK,EAAE,MAAM,SAAS,CAAC;AAC3C,OAAO,EAAE,OAAO,IAAI,MAAM,EAAE,MAAM,UAAU,CAAC;AAC7C,OAAO,EAAE,OAAO,IAAI,UAAU,EAAE,MAAM,cAAc,CAAC;AACrD,OAAO,EAAE,OAAO,IAAI,YAAY,EAAE,MAAM,gBAAgB,CAAC;AACzD,OAAO,EAAE,OAAO,IAAI,aAAa,EAAE,MAAM,iBAAiB,CAAC;AAC3D,OAAO,EAAE,OAAO,IAAI,KAAK,EAAE,MAAM,SAAS,CAAC;AAC3C,OAAO,EAAE,OAAO,IAAI,IAAI,EAAE,MAAM,QAAQ,CAAC;AACzC,OAAO,EAAE,OAAO,IAAI,MAAM,EAAE,MAAM,UAAU,CAAC;AAC7C,OAAO,EAAE,OAAO,IAAI,UAAU,EAAE,MAAM,cAAc,CAAC;AACrD,OAAO,EAAE,OAAO,IAAI,QAAQ,EAAE,MAAM,YAAY,CAAC;AACjD,OAAO,EAAE,OAAO,IAAI,IAAI,EAAE,MAAM,QAAQ,CAAC;AACzC,OAAO,EAAE,OAAO,IAAI,QAAQ,EAAE,MAAM,YAAY,CAAC;AACjD,OAAO,EAAE,OAAO,IAAI,cAAc,EAAE,MAAM,kBAAkB,CAAC;AAC7D,OAAO,EAAE,OAAO,IAAI,cAAc,EAAE,MAAM,kBAAkB,CAAC;AAC7D,OAAO,EAAE,OAAO,IAAI,OAAO,EAAE,MAAM,WAAW,CAAC;AAC/C,OAAO,EAAE,IAAI,EAAE,OAAO,IAAI,KAAK,EAAE,MAAM,SAAS,CAAC;AACjD,OAAO,EAAE,OAAO,IAAI,cAAc,EAAE,MAAM,kBAAkB,CAAC;AAC7D,OAAO,EAAE,OAAO,IAAI,SAAS,EAAE,MAAM,aAAa,CAAC;AACnD,OAAO,EAAE,OAAO,IAAI,MAAM,EAAE,MAAM,iBAAiB,CAAC;AACpD,OAAO,EAAE,OAAO,IAAI,WAAW,EAAE,MAAM,sBAAsB,CAAC;AAC9D,OAAO,EAAE,OAAO,IAAI,QAAQ,EAAE,MAAM,mBAAmB,CAAC;AACxD,OAAO,EAAE,OAAO,IAAI,mBAAmB,EAAE,MAAM,kBAAkB,CAAC;AAClE,YAAY,EAAE,wBAAwB,EAAE,MAAM,kBAAkB,CAAC;AACjE,OAAO,EAAE,OAAO,IAAI,SAAS,EAAE,MAAM,aAAa,CAAC;AACnD,OAAO,EAAE,OAAO,IAAI,UAAU,EAAE,MAAM,cAAc,CAAC;AACrD,OAAO,EAAE,OAAO,IAAI,QAAQ,EAAE,MAAM,YAAY,CAAC;AACjD,OAAO,EAAE,OAAO,IAAI,cAAc,EAAE,MAAM,kBAAkB,CAAC;AAC7D,OAAO,EAAE,OAAO,IAAI,MAAM,EAAE,MAAM,UAAU,CAAC;AAC7C,OAAO,EAAE,OAAO,IAAI,OAAO,EAAE,MAAM,WAAW,CAAC;AAC/C,OAAO,EAAE,OAAO,IAAI,OAAO,EAAE,MAAM,WAAW,CAAC;AAC/C,OAAO,EAAE,OAAO,IAAI,MAAM,EAAE,MAAM,UAAU,CAAC;AAC7C,OAAO,EAAE,OAAO,IAAI,QAAQ,EAAE,MAAM,YAAY,CAAC;AACjD,OAAO,EAAE,OAAO,IAAI,QAAQ,EAAE,MAAM,YAAY,CAAC;AACjD,OAAO,EAAE,KAAK,EAAE,MAAM,eAAe,CAAC;AACtC,OAAO,EAAE,OAAO,IAAI,cAAc,EAAE,MAAM,kBAAkB,CAAC;AAC7D,OAAO,EAAE,OAAO,IAAI,MAAM,EAAE,MAAM,UAAU,CAAC;AAC7C,OAAO,EAAE,OAAO,IAAI,KAAK,EAAE,MAAM,SAAS,CAAC;AAC3C,OAAO,EAAE,OAAO,IAAI,IAAI,EAAE,MAAM,QAAQ,CAAC;AACzC,OAAO,EAAE,OAAO,IAAI,WAAW,EAAE,MAAM,eAAe,CAAC;AACvD,OAAO,EAAE,UAAU,EAAE,YAAY,EAAE,YAAY,EAAE,cAAc,EAAE,MAAM,UAAU,CAAC;AAClF,OAAO,EAAE,OAAO,IAAI,sBAAsB,EAAE,MAAM,0BAA0B,CAAC;AAC7E,OAAO,EAAE,KAAK,EAAE,MAAM,gBAAgB,CAAC;AACvC,OAAO,EAAE,UAAU,EAAE,MAAM,qBAAqB,CAAC;AACjD,OAAO,EAAE,WAAW,EAAE,MAAM,sBAAsB,CAAC;AACnD,OAAO,EACL,WAAW,EACX,wBAAwB,EACxB,wBAAwB,GACzB,MAAM,sBAAsB,CAAC;AAC9B,OAAO,EAAE,QAAQ,EAAE,MAAM,mBAAmB,CAAC;AAC7C,OAAO,EAAE,OAAO,IAAI,gBAAgB,EAAE,MAAM,oBAAoB,CAAC;AACjE,OAAO,EAAE,KAAK,EAAE,MAAM,eAAe,CAAC;AACtC,OAAO,EAAE,OAAO,IAAI,IAAI,EAAE,MAAM,QAAQ,CAAC;AACzC,OAAO,EAAE,OAAO,IAAI,cAAc,EAAE,MAAM,kBAAkB,CAAC;AAC7D,OAAO,EAAE,OAAO,IAAI,MAAM,EAAE,MAAM,UAAU,CAAC;AAC7C,OAAO,EAAE,OAAO,IAAI,IAAI,EAAE,MAAM,QAAQ,CAAC;AACzC,OAAO,EAAE,OAAO,IAAI,QAAQ,EAAE,MAAM,YAAY,CAAC;AACjD,OAAO,EAAE,OAAO,IAAI,KAAK,EAAE,MAAM,SAAS,CAAC;AAC3C,OAAO,EAAE,OAAO,IAAI,KAAK,EAAE,MAAM,SAAS,CAAC;AAC3C,OAAO,EAAE,OAAO,IAAI,UAAU,EAAE,MAAM,cAAc,CAAC;AACrD,OAAO,EAAE,OAAO,IAAI,oBAAoB,EAAE,MAAM,wBAAwB,CAAC;AACzE,OAAO,EAAE,OAAO,IAAI,gBAAgB,EAAE,MAAM,oBAAoB,CAAC;AACjE,OAAO,EAAE,OAAO,IAAI,qBAAqB,EAAE,MAAM,yBAAyB,CAAC;AAC3E,OAAO,EAAE,OAAO,IAAI,KAAK,EAAE,MAAM,SAAS,CAAC;AAC3C,OAAO,EAAE,OAAO,IAAI,aAAa,EAAE,MAAM,iBAAiB,CAAC;AAC3D,OAAO,EAAE,OAAO,IAAI,KAAK,EAAE,MAAM,gBAAgB,CAAC;AAClD,OAAO,EAAE,OAAO,IAAI,gBAAgB,EAAE,MAAM,oBAAoB,CAAC;AACjE,OAAO,EAAE,OAAO,IAAI,OAAO,EAAE,MAAM,WAAW,CAAC;AAC/C,OAAO,EAAE,OAAO,IAAI,gBAAgB,EAAE,MAAM,oBAAoB,CAAC;AACjE,OAAO,EAAE,OAAO,IAAI,QAAQ,EAAE,MAAM,YAAY,CAAC;AACjD,OAAO,EAAE,OAAO,IAAI,WAAW,EAAE,MAAM,eAAe,CAAC;AACvD,OAAO,EAAE,OAAO,IAAI,SAAS,EAAE,cAAc,EAAE,MAAM,aAAa,CAAC;AACnE,OAAO,EAAE,iBAAiB,EAAE,gBAAgB,EAAE,OAAO,IAAI,QAAQ,EAAE,MAAM,YAAY,CAAC;AACtF,OAAO,EAAE,OAAO,IAAI,KAAK,EAAE,MAAM,SAAS,CAAC;AAC3C,OAAO,EAAE,OAAO,IAAI,UAAU,EAAE,MAAM,cAAc,CAAC;AACrD,OAAO,EAAE,OAAO,IAAI,WAAW,EAAE,MAAM,eAAe,CAAC;AACvD,OAAO,EAAE,OAAO,IAAI,eAAe,EAAE,MAAM,0BAA0B,CAAC;AACtE,OAAO,EAAE,OAAO,IAAI,OAAO,EAAE,MAAM,WAAW,CAAC;AAC/C,OAAO,EAAE,OAAO,IAAI,gBAAgB,EAAE,MAAM,oBAAoB,CAAC;AACjE,OAAO,EAAE,OAAO,IAAI,MAAM,EAAE,MAAM,UAAU,CAAC;AAC7C,OAAO,EAAE,OAAO,IAAI,gBAAgB,EAAE,MAAM,oBAAoB,CAAC;AACjE,OAAO,EAAE,OAAO,IAAI,YAAY,EAAE,MAAM,gBAAgB,CAAC;AACzD,OAAO,EAAE,OAAO,IAAI,cAAc,EAAE,MAAM,qBAAqB,CAAC;AAChE,OAAO,EAAE,gBAAgB,EAAE,eAAe,EAAE,MAAM,4BAA4B,CAAC;AAC/E,OAAO,EAAE,OAAO,IAAI,gBAAgB,EAAE,MAAM,6BAA6B,CAAC;AAC1E,OAAO,EAAE,OAAO,IAAI,UAAU,EAAE,MAAM,yBAAyB,CAAC;AAChE,OAAO,EAAE,OAAO,IAAI,OAAO,EAAE,MAAM,mBAAmB,CAAC;AACvD,OAAO,EAAE,OAAO,IAAI,MAAM,EAAE,MAAM,UAAU,CAAC;AAC7C,OAAO,EAAE,OAAO,IAAI,OAAO,EAAE,MAAM,WAAW,CAAC;AAC/C,OAAO,EAAE,OAAO,IAAI,MAAM,EAAE,MAAM,UAAU,CAAC;AAC7C,OAAO,EAAE,OAAO,IAAI,YAAY,EAAE,MAAM,gBAAgB,CAAC;AACzD,OAAO,EAAE,OAAO,IAAI,IAAI,EAAE,MAAM,QAAQ,CAAC;AACzC,OAAO,EAAE,OAAO,IAAI,yBAAyB,EAAE,MAAM,6BAA6B,CAAC;AACnF,OAAO,EAAE,OAAO,IAAI,KAAK,EAAE,MAAM,SAAS,CAAC;AAC3C,OAAO,EAAE,OAAO,IAAI,OAAO,EAAE,MAAM,WAAW,CAAC;AAC/C,OAAO,EAAE,OAAO,IAAI,SAAS,EAAE,MAAM,aAAa,CAAC;AACnD,OAAO,EAAE,OAAO,IAAI,MAAM,EAAE,MAAM,UAAU,CAAC;AAC7C,OAAO,EAAE,OAAO,IAAI,WAAW,EAAE,MAAM,eAAe,CAAC;AACvD,OAAO,EAAE,OAAO,IAAI,KAAK,EAAE,MAAM,SAAS,CAAC;AAC3C,OAAO,EAAE,OAAO,IAAI,QAAQ,EAAE,MAAM,YAAY,CAAC;AACjD,OAAO,EAAE,OAAO,IAAI,IAAI,EAAE,MAAM,QAAQ,CAAC;AAEzC;;GAEG;AACH,OAAO,EAAE,YAAY,EAAE,SAAS,EAAE,MAAM,gBAAgB,CAAC;AACzD,OAAO,EAAE,aAAa,EAAE,MAAM,8BAA8B,CAAC;AAC7D,OAAO,EAAE,OAAO,IAAI,WAAW,EAAE,MAAM,wBAAwB,CAAC;AAEhE;;GAEG;AACH,OAAO,EAAE,UAAU,EAAE,MAAM,8BAA8B,CAAC;AAC1D,OAAO,EAAE,kBAAkB,EAAE,MAAM,eAAe,CAAC;AACnD,OAAO,EAAE,UAAU,EAAE,MAAM,UAAU,CAAC;AACtC,OAAO,EACL,WAAW,EACX,QAAQ,EACR,SAAS,EACT,QAAQ,EACR,MAAM,EACN,gBAAgB,EAChB,WAAW,EACX,QAAQ,EACR,QAAQ,EACR,WAAW,EACX,MAAM,EACN,SAAS,EACT,IAAI,EACJ,MAAM,EACN,KAAK,EACL,IAAI,EACJ,UAAU,EACV,OAAO,EACP,KAAK,GACN,MAAM,UAAU,CAAC;AAClB,OAAO,EAAE,oBAAoB,EAAE,YAAY,EAAE,MAAM,YAAY,CAAC;AAChE,OAAO,EAAE,gBAAgB,EAAE,MAAM,QAAQ,CAAC;AAC1C,OAAO,EAAE,QAAQ,EAAE,MAAM,QAAQ,CAAC;AAClC,OAAO,EAAE,UAAU,EAAE,MAAM,UAAU,CAAC;AAEtC;;GAEG;AACH,OAAO,EACL,YAAY,EACZ,cAAc,EACd,aAAa,EACb,mBAAmB,EACnB,YAAY,EACZ,oBAAoB,EACpB,sBAAsB,EACtB,qBAAqB,EACrB,iBAAiB,EACjB,SAAS,EACT,YAAY,EACZ,qBAAqB,GACtB,MAAM,UAAU,CAAC;AAElB;;GAEG;AACH,OAAO,EAAE,OAAO,IAAI,YAAY,EAAE,MAAM,QAAQ,CAAC;AAEjD;;GAEG;AACH,OAAO,EAAE,OAAO,IAAI,MAAM,EAAE,MAAM,UAAU,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@transferwise/components",
3
- "version": "46.144.1",
3
+ "version": "46.145.0",
4
4
  "description": "Neptune React components",
5
5
  "license": "Apache-2.0",
6
6
  "repository": {
@@ -92,8 +92,8 @@
92
92
  "storybook-addon-tag-badges": "^3.1.0",
93
93
  "storybook-addon-test-codegen": "^3.0.1",
94
94
  "@transferwise/less-config": "3.1.2",
95
- "@wise/components-theming": "1.10.2",
96
- "@wise/wds-configs": "0.0.0"
95
+ "@wise/wds-configs": "0.0.0",
96
+ "@wise/components-theming": "1.10.2"
97
97
  },
98
98
  "peerDependencies": {
99
99
  "@transferwise/icons": "^3 || ^4",
@@ -0,0 +1,83 @@
1
+ .tw-date-lookup-calendar {
2
+ min-width: 300px;
3
+ text-align: center;
4
+ table-layout: fixed;
5
+ border: none;
6
+ background-color: inherit;
7
+ }
8
+ .tw-date-lookup-calendar thead {
9
+ background-color: transparent;
10
+ background-color: initial;
11
+ }
12
+ .tw-date-lookup-calendar > tbody > tr > td.weekend button {
13
+ color: #5d7079;
14
+ color: var(--color-content-secondary);
15
+ }
16
+ .tw-date-lookup-calendar > tbody > tr > td {
17
+ border: none;
18
+ padding: 4px;
19
+ padding: var(--size-4);
20
+ }
21
+ @media (max-width: 320px) {
22
+ .tw-date-lookup-calendar > tbody > tr > td {
23
+ padding: 0;
24
+ }
25
+ }
26
+ .tw-date-lookup-calendar > tbody > tr > td:has(.tw-date-lookup-day-option) {
27
+ padding: 1px;
28
+ }
29
+ .tw-date-lookup-calendar > tbody > tr > td button {
30
+ width: 100%;
31
+ padding: 4px 0;
32
+ padding: var(--size-4) 0;
33
+ color: #0097c7;
34
+ color: var(--color-content-accent);
35
+ border: transparent;
36
+ border-radius: 10px;
37
+ border-radius: var(--radius-small);
38
+ background-color: transparent;
39
+ font-weight: 600;
40
+ font-weight: var(--font-weight-semi-bold);
41
+ color: #37517e;
42
+ color: var(--color-content-primary);
43
+ }
44
+ @media (max-width: 320px) {
45
+ .tw-date-lookup-calendar > tbody > tr > td button {
46
+ padding: 0;
47
+ }
48
+ }
49
+ .tw-date-lookup-calendar > tbody > tr > td button.tw-date-lookup-day-option {
50
+ height: 40px;
51
+ height: var(--size-40);
52
+ border-radius: 9999px;
53
+ border-radius: var(--radius-full);
54
+ line-height: 40px;
55
+ line-height: var(--size-40);
56
+ width: 40px;
57
+ width: var(--size-40);
58
+ padding: 0;
59
+ display: inline-flex;
60
+ align-items: center;
61
+ justify-content: center;
62
+ }
63
+ .tw-date-lookup-calendar > tbody > tr > td button.tw-date-lookup-day-option.today {
64
+ -webkit-text-decoration: underline;
65
+ text-decoration: underline;
66
+ text-decoration-thickness: 2px;
67
+ text-underline-offset: 4px;
68
+ }
69
+ .tw-date-lookup-calendar > tbody > tr > td:not(.disabled):not(:disabled) button.show-focus,
70
+ .tw-date-lookup-calendar > tbody > tr > td:hover button:not(.disabled):not(:disabled) {
71
+ background-color: var(--color-background-screen-hover);
72
+ }
73
+ .tw-date-lookup-calendar > tbody > tr > td:not(.disabled):not(:disabled) button.active {
74
+ background-color: var(--color-interactive-primary);
75
+ color: var(--color-interactive-contrast);
76
+ }
77
+ .tw-date-lookup-calendar abbr {
78
+ -webkit-text-decoration: none;
79
+ text-decoration: none;
80
+ }
81
+ .tw-date-lookup-header-current-container {
82
+ display: inline;
83
+ }
@@ -0,0 +1,79 @@
1
+ @import (reference) "./../styles/variables/neptune-tokens.less";
2
+
3
+ .tw-date-lookup-calendar {
4
+ min-width: 300px;
5
+ text-align: center;
6
+ table-layout: fixed;
7
+ border: none;
8
+
9
+ thead {
10
+ background-color: unset;
11
+ }
12
+
13
+ > tbody > tr > td.weekend button {
14
+ color: var(--color-content-secondary);
15
+ }
16
+
17
+ > tbody > tr > td {
18
+ border: none;
19
+ padding: var(--size-4);
20
+ @media (--screen-400-zoom) {
21
+ padding: 0;
22
+ }
23
+
24
+ &:has(.tw-date-lookup-day-option) {
25
+ padding: 1px;
26
+ }
27
+
28
+ button {
29
+ width: 100%;
30
+ padding: var(--size-4) 0;
31
+ @media (--screen-400-zoom) {
32
+ padding: 0;
33
+ }
34
+ color: var(--color-content-accent);
35
+ border: transparent;
36
+ border-radius: var(--radius-small);
37
+ background-color: transparent;
38
+ font-weight: var(--font-weight-semi-bold);
39
+ color: var(--color-content-primary);
40
+
41
+ &.tw-date-lookup-day-option {
42
+ height: var(--size-40);
43
+ border-radius: var(--radius-full);
44
+ line-height: var(--size-40);
45
+ width: var(--size-40);
46
+ padding: 0;
47
+ display: inline-flex;
48
+ align-items: center;
49
+ justify-content: center;
50
+
51
+ &.today {
52
+ text-decoration: underline;
53
+ text-decoration-thickness: 2px;
54
+ text-underline-offset: 4px;
55
+ }
56
+ }
57
+ }
58
+
59
+ &:not(.disabled, :disabled) button.show-focus,
60
+ &:hover button:not(.disabled, :disabled) {
61
+ background-color: var(--color-background-screen-hover);
62
+ }
63
+
64
+ &:not(.disabled, :disabled) button.active {
65
+ background-color: var(--color-interactive-primary);
66
+ color: var(--color-interactive-contrast);
67
+ }
68
+ }
69
+
70
+ abbr {
71
+ text-decoration: none;
72
+ }
73
+
74
+ background-color: inherit;
75
+ }
76
+
77
+ .tw-date-lookup-header-current-container {
78
+ display: inline;
79
+ }
@@ -0,0 +1,92 @@
1
+ import { useState } from 'react';
2
+ import { StoryObj } from '@storybook/react-webpack5';
3
+ import { userEvent, within } from 'storybook/test';
4
+ import Calendar, { type CalendarProps } from './Calendar';
5
+ import Modal from '../modal';
6
+ import Button from '../button';
7
+
8
+ /** Inline calendar for selecting a single date, with optional min/max bounds. */
9
+ export default {
10
+ component: Calendar,
11
+ title: 'Forms/Calendar',
12
+ decorators: [
13
+ (Story: React.ComponentType) => (
14
+ <div style={{ maxWidth: 500, margin: '0 auto' }}>
15
+ <Story />
16
+ </div>
17
+ ),
18
+ ],
19
+ argTypes: {
20
+ monthFormat: { control: 'select', options: ['long', 'short'] },
21
+ min: { control: 'date' },
22
+ max: { control: 'date' },
23
+ },
24
+ };
25
+
26
+ type Story = StoryObj<typeof Calendar>;
27
+
28
+ const epoch = new Date('2011-01-01');
29
+ const theFuture = new Date(epoch);
30
+ theFuture.setUTCDate(epoch.getUTCDate() + 10);
31
+ const thePast = new Date(epoch);
32
+ thePast.setUTCDate(epoch.getUTCDate() - 10);
33
+
34
+ export const Basic: Story = {
35
+ render: (args: CalendarProps) => {
36
+ const [value, setValue] = useState<Date | null>(epoch);
37
+ return (
38
+ <Calendar
39
+ {...args}
40
+ min={args.min ? new Date(args.min) : thePast}
41
+ max={args.max ? new Date(args.max) : theFuture}
42
+ value={value}
43
+ onChange={(v) => setValue(v)}
44
+ />
45
+ );
46
+ },
47
+ args: {
48
+ monthFormat: 'long',
49
+ min: thePast,
50
+ max: theFuture,
51
+ },
52
+ };
53
+
54
+ export const WithoutConstraints: Story = {
55
+ render: () => {
56
+ const [value, setValue] = useState<Date | null>(epoch);
57
+ return <Calendar value={value} onChange={(v) => setValue(v)} />;
58
+ },
59
+ };
60
+
61
+ export const NullValue: Story = {
62
+ render: () => {
63
+ const [value, setValue] = useState<Date | null>(null);
64
+ return <Calendar value={value} min={thePast} max={theFuture} onChange={(v) => setValue(v)} />;
65
+ },
66
+ };
67
+
68
+ export const InsideModal: Story = {
69
+ render: () => {
70
+ const [open, setOpen] = useState(false);
71
+ const [value, setValue] = useState<Date | null>(epoch);
72
+ return (
73
+ <>
74
+ <Button size="sm" v2 type="button" onClick={() => setOpen(true)}>
75
+ Open modal
76
+ </Button>
77
+ <Modal
78
+ open={open}
79
+ title="Select a date"
80
+ body={
81
+ <Calendar value={value} min={thePast} max={theFuture} onChange={(v) => setValue(v)} />
82
+ }
83
+ onClose={() => setOpen(false)}
84
+ />
85
+ </>
86
+ );
87
+ },
88
+ play: async ({ canvasElement }) => {
89
+ const canvas = within(canvasElement);
90
+ await userEvent.click(canvas.getByRole('button', { name: 'Open modal' }));
91
+ },
92
+ };
@@ -0,0 +1,138 @@
1
+ import { mockMatchMedia, render, screen, userEvent } from '../test-utils';
2
+ import Calendar from './Calendar';
3
+
4
+ mockMatchMedia();
5
+
6
+ const user = userEvent.setup();
7
+
8
+ const initialValue = new Date(2000, 0, 1);
9
+
10
+ describe('Calendar', () => {
11
+ describe('in day view', () => {
12
+ it.each([
13
+ ['{ArrowLeft}', -1],
14
+ ['{ArrowRight}', +1],
15
+ ['{ArrowUp}', -7],
16
+ ['{ArrowDown}', +7],
17
+ ])("handles '%s' to step %d day(s)", async (text: string, step: number) => {
18
+ const handleChange = jest.fn();
19
+ render(<Calendar value={initialValue} onChange={handleChange} />);
20
+
21
+ await user.click(screen.getByRole('button', { name: /selected day/iu }));
22
+ await user.keyboard(text);
23
+
24
+ const expected = new Date(initialValue);
25
+ expected.setDate(initialValue.getDate() + step);
26
+ expect(handleChange).toHaveBeenCalledWith(expected);
27
+ });
28
+
29
+ it('selects a day on click', async () => {
30
+ const handleChange = jest.fn();
31
+ render(<Calendar value={initialValue} onChange={handleChange} />);
32
+
33
+ await user.click(screen.getByText('15'));
34
+
35
+ expect(handleChange).toHaveBeenCalledWith(new Date(2000, 0, 15));
36
+ });
37
+
38
+ it('calls onSelect instead of onChange when clicking a day', async () => {
39
+ const handleChange = jest.fn();
40
+ const handleSelect = jest.fn();
41
+ render(<Calendar value={initialValue} onChange={handleChange} onSelect={handleSelect} />);
42
+
43
+ await user.click(screen.getByText('15'));
44
+
45
+ expect(handleSelect).toHaveBeenCalledWith(new Date(2000, 0, 15));
46
+ expect(handleChange).not.toHaveBeenCalled();
47
+ });
48
+ });
49
+
50
+ describe('in year view', () => {
51
+ it.each([
52
+ ['{ArrowLeft}', -1],
53
+ ['{ArrowRight}', +1],
54
+ ['{ArrowUp}', -4],
55
+ ['{ArrowDown}', +4],
56
+ ])("handles '%s' to step %d year(s)", async (text: string, step: number) => {
57
+ const handleChange = jest.fn();
58
+ render(<Calendar value={initialValue} onChange={handleChange} />);
59
+
60
+ await user.click(screen.getByRole('button', { name: /year view/iu }));
61
+ await user.keyboard(text);
62
+
63
+ const expected = new Date(initialValue);
64
+ expected.setFullYear(initialValue.getFullYear() + step);
65
+ expect(handleChange).toHaveBeenCalledWith(expected);
66
+ });
67
+ });
68
+
69
+ describe('in month view', () => {
70
+ it.each([
71
+ ['{ArrowLeft}', -1],
72
+ ['{ArrowRight}', +1],
73
+ ['{ArrowUp}', -4],
74
+ ['{ArrowDown}', +4],
75
+ ])("handles '%s' to step %d month(s)", async (text: string, step: number) => {
76
+ const handleChange = jest.fn();
77
+ render(<Calendar value={initialValue} onChange={handleChange} />);
78
+
79
+ await user.click(screen.getByRole('button', { name: /year view/iu }));
80
+ await user.keyboard(' ');
81
+ await user.keyboard(text);
82
+
83
+ const expected = new Date(initialValue);
84
+ expected.setMonth(initialValue.getMonth() + step);
85
+ expect(handleChange).toHaveBeenCalledWith(expected);
86
+ });
87
+ });
88
+
89
+ describe('min/max clamping', () => {
90
+ it('limits navigation to min value', async () => {
91
+ const min = new Date(initialValue);
92
+ min.setDate(min.getDate() - 1);
93
+ const handleChange = jest.fn();
94
+ render(<Calendar value={initialValue} min={min} onChange={handleChange} />);
95
+
96
+ await user.click(screen.getByRole('button', { name: /selected day/iu }));
97
+ await user.keyboard('{ArrowLeft}{ArrowLeft}');
98
+
99
+ expect(handleChange).toHaveBeenLastCalledWith(min);
100
+ });
101
+
102
+ it('limits navigation to max value', async () => {
103
+ const max = new Date(initialValue);
104
+ max.setDate(max.getDate() + 1);
105
+ const handleChange = jest.fn();
106
+ render(<Calendar value={initialValue} max={max} onChange={handleChange} />);
107
+
108
+ await user.click(screen.getByRole('button', { name: /selected day/iu }));
109
+ await user.keyboard('{ArrowRight}{ArrowRight}');
110
+
111
+ expect(handleChange).toHaveBeenLastCalledWith(max);
112
+ });
113
+
114
+ it('clamps value to range when value is outside min/max', () => {
115
+ const min = new Date(2000, 0, 5);
116
+ const max = new Date(2000, 0, 20);
117
+ const handleChange = jest.fn();
118
+ render(<Calendar value={initialValue} min={min} max={max} onChange={handleChange} />);
119
+
120
+ expect(handleChange).toHaveBeenCalledWith(min);
121
+ });
122
+ });
123
+
124
+ describe('view switching', () => {
125
+ it('switches to year view and back to day view', async () => {
126
+ render(<Calendar value={initialValue} onChange={jest.fn()} />);
127
+
128
+ await user.click(screen.getByRole('button', { name: /year view/iu }));
129
+ expect(screen.getByRole('button', { name: /selected year/iu })).toBeInTheDocument();
130
+
131
+ await user.click(screen.getByRole('button', { name: /selected year/iu }));
132
+ expect(screen.getByRole('button', { name: /selected month/iu })).toBeInTheDocument();
133
+
134
+ await user.click(screen.getByRole('button', { name: /selected month/iu }));
135
+ expect(screen.getByRole('button', { name: /next month/iu })).toBeInTheDocument();
136
+ });
137
+ });
138
+ });
@@ -0,0 +1,165 @@
1
+ import { useState, useCallback, useEffect, KeyboardEvent } from 'react';
2
+
3
+ import { MonthFormat } from '../common';
4
+ import { isWithinRange, moveToWithinRange, returnDateView } from '../common/dateUtils';
5
+ import DayCalendar from './dayCalendar';
6
+ import { getStartOfDay } from './getStartOfDay';
7
+ import MonthCalendar from './monthCalendar';
8
+ import YearCalendar from './yearCalendar';
9
+
10
+ export interface CalendarProps {
11
+ value: Date | null;
12
+ min?: Date | null;
13
+ max?: Date | null;
14
+ monthFormat?: `${MonthFormat}`;
15
+ placeholder?: string;
16
+ onChange: (date: Date | null) => void;
17
+ onSelect?: (date: Date) => void;
18
+ }
19
+
20
+ const Calendar = ({
21
+ value,
22
+ min: minProp = null,
23
+ max: maxProp = null,
24
+ monthFormat = MonthFormat.LONG,
25
+ placeholder,
26
+ onChange,
27
+ onSelect,
28
+ }: CalendarProps) => {
29
+ const selectedDate = getStartOfDay(value);
30
+ const min = getStartOfDay(minProp);
31
+ const max = getStartOfDay(maxProp);
32
+
33
+ useEffect(() => {
34
+ if (selectedDate && !isWithinRange(selectedDate, min, max)) {
35
+ onChange(moveToWithinRange(selectedDate, min, max));
36
+ }
37
+ }, [selectedDate?.getTime(), min?.getTime(), max?.getTime(), onChange]); // eslint-disable-line react-hooks/exhaustive-deps
38
+
39
+ const dateView = returnDateView(selectedDate, min, max);
40
+ const [viewMonth, setViewMonth] = useState(dateView.getMonth());
41
+ const [viewYear, setViewYear] = useState(dateView.getFullYear());
42
+ const [mode, setMode] = useState<'day' | 'month' | 'year'>('day');
43
+
44
+ useEffect(() => {
45
+ const view = returnDateView(selectedDate, min, max);
46
+ // eslint-disable-next-line react-hooks/set-state-in-effect
47
+ setViewMonth(view.getMonth());
48
+
49
+ setViewYear(view.getFullYear());
50
+ }, [selectedDate?.getTime(), min?.getTime(), max?.getTime()]); // eslint-disable-line react-hooks/exhaustive-deps
51
+
52
+ const handleViewDateUpdate = useCallback(
53
+ // eslint-disable-next-line react-hooks/preserve-manual-memoization
54
+ ({ month, year }: { month?: number; year?: number }) => {
55
+ if (month !== undefined) setViewMonth(month);
56
+ if (year !== undefined) setViewYear(year);
57
+ },
58
+ [],
59
+ );
60
+
61
+ const switchToDays = useCallback(() => setMode('day'), []);
62
+ const switchToMonths = useCallback(() => setMode('month'), []);
63
+ const switchToYears = useCallback(() => setMode('year'), []);
64
+
65
+ const handleSelectedDateUpdate = useCallback(
66
+ (date: Date) => {
67
+ if (onSelect) {
68
+ onSelect(date);
69
+ } else {
70
+ onChange(date);
71
+ }
72
+ },
73
+ [onChange, onSelect],
74
+ );
75
+
76
+ const adjustDate = useCallback(
77
+ (daysToAdd: number, monthsToAdd: number, yearsToAdd: number) => {
78
+ let date: Date | null;
79
+ if (selectedDate) {
80
+ date = new Date(
81
+ mode === 'year' ? selectedDate.getFullYear() + yearsToAdd : selectedDate.getFullYear(),
82
+ mode === 'month' ? selectedDate.getMonth() + monthsToAdd : selectedDate.getMonth(),
83
+ mode === 'day' ? selectedDate.getDate() + daysToAdd : selectedDate.getDate(),
84
+ );
85
+ } else {
86
+ date = getStartOfDay(new Date());
87
+ }
88
+ date &&= moveToWithinRange(date, min, max);
89
+ if (date?.getTime() !== selectedDate?.getTime()) {
90
+ onChange(date);
91
+ }
92
+ },
93
+ [selectedDate, min, max, mode, onChange],
94
+ );
95
+
96
+ const handleKeyDown = useCallback(
97
+ (event: KeyboardEvent<HTMLDivElement>) => {
98
+ switch (event.key) {
99
+ case 'ArrowLeft':
100
+ adjustDate(-1, -1, -1);
101
+ event.preventDefault();
102
+ break;
103
+ case 'ArrowUp':
104
+ adjustDate(-7, -4, -4);
105
+ event.preventDefault();
106
+ break;
107
+ case 'ArrowRight':
108
+ adjustDate(1, 1, 1);
109
+ event.preventDefault();
110
+ break;
111
+ case 'ArrowDown':
112
+ adjustDate(7, 4, 4);
113
+ event.preventDefault();
114
+ break;
115
+ default:
116
+ break;
117
+ }
118
+ },
119
+ [adjustDate],
120
+ );
121
+
122
+ return (
123
+ // eslint-disable-next-line jsx-a11y/no-static-element-interactions
124
+ <div onKeyDown={handleKeyDown}>
125
+ {mode === 'day' && (
126
+ <DayCalendar
127
+ selectedDate={selectedDate}
128
+ min={min}
129
+ max={max}
130
+ viewMonth={viewMonth}
131
+ viewYear={viewYear}
132
+ monthFormat={monthFormat}
133
+ onSelect={handleSelectedDateUpdate}
134
+ onLabelClick={switchToYears}
135
+ onViewDateUpdate={handleViewDateUpdate}
136
+ />
137
+ )}
138
+ {mode === 'month' && (
139
+ <MonthCalendar
140
+ selectedDate={selectedDate}
141
+ min={min}
142
+ max={max}
143
+ viewYear={viewYear}
144
+ {...(placeholder != null && { placeholder })}
145
+ onSelect={switchToDays}
146
+ onLabelClick={switchToYears}
147
+ onViewDateUpdate={handleViewDateUpdate}
148
+ />
149
+ )}
150
+ {mode === 'year' && (
151
+ <YearCalendar
152
+ selectedDate={selectedDate}
153
+ min={min}
154
+ max={max}
155
+ viewYear={viewYear}
156
+ {...(placeholder != null && { placeholder })}
157
+ onSelect={switchToMonths}
158
+ onViewDateUpdate={handleViewDateUpdate}
159
+ />
160
+ )}
161
+ </div>
162
+ );
163
+ };
164
+
165
+ export default Calendar;
@@ -4,7 +4,7 @@ import { useIntl } from 'react-intl';
4
4
  import { Typography } from '../../common';
5
5
  import { useLayout } from '../../common/hooks';
6
6
  import Title from '../../title';
7
- import messages from '../DateLookup.messages';
7
+ import messages from '../Calendar.messages';
8
8
  import Button from '../../button/Button';
9
9
  import { ChevronDown, ChevronLeft, ChevronRight } from '@transferwise/icons';
10
10
  import IconButton from '../../iconButton';
@@ -3,7 +3,7 @@ import { PureComponent } from 'react';
3
3
  import { injectIntl, WrappedComponentProps } from 'react-intl';
4
4
 
5
5
  import { MonthFormat } from '../../common';
6
- import messages from '../DateLookup.messages';
6
+ import messages from '../Calendar.messages';
7
7
  import DateHeader from '../dateHeader';
8
8
 
9
9
  import DayCalendarTable from './table';
@@ -0,0 +1,2 @@
1
+ export { default } from './Calendar';
2
+ export type { CalendarProps } from './Calendar';
@@ -2,7 +2,7 @@ import { formatDate } from '@transferwise/formatting';
2
2
  import { PureComponent } from 'react';
3
3
  import { injectIntl, WrappedComponentProps } from 'react-intl';
4
4
 
5
- import messages from '../DateLookup.messages';
5
+ import messages from '../Calendar.messages';
6
6
  import DateHeader from '../dateHeader';
7
7
 
8
8
  import MonthCalendarTable from './table';
@@ -12,7 +12,7 @@ interface MonthCalendarProps extends WrappedComponentProps {
12
12
  min: Date | null;
13
13
  max: Date | null;
14
14
  viewYear: number;
15
- placeholder: string;
15
+ placeholder?: string;
16
16
  onSelect: () => void;
17
17
  onLabelClick: () => void;
18
18
  onViewDateUpdate: (date: { year?: number; month?: number }) => void;
@@ -9,7 +9,7 @@ interface MonthCalendarTableProps {
9
9
  min: Date | null;
10
10
  max: Date | null;
11
11
  viewYear: number;
12
- placeholder: string;
12
+ placeholder?: string;
13
13
  onSelect: (date: number) => void;
14
14
  }
15
15