@skbkontur/react-ui 4.23.0 → 4.24.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 (210) hide show
  1. package/CHANGELOG.md +14 -0
  2. package/cjs/components/Calendar/Calendar.d.ts +40 -5
  3. package/cjs/components/Calendar/Calendar.js +92 -36
  4. package/cjs/components/Calendar/Calendar.js.map +1 -1
  5. package/cjs/components/Calendar/Calendar.md +42 -1
  6. package/cjs/components/Calendar/Calendar.styles.js +1 -1
  7. package/cjs/components/Calendar/Calendar.styles.js.map +1 -1
  8. package/cjs/components/Calendar/CalendarContext.d.ts +12 -0
  9. package/cjs/components/Calendar/CalendarContext.js +16 -0
  10. package/cjs/components/Calendar/CalendarContext.js.map +1 -0
  11. package/cjs/components/Calendar/CalendarDateShape.d.ts +4 -2
  12. package/cjs/components/Calendar/CalendarDateShape.js +13 -3
  13. package/cjs/components/Calendar/CalendarDateShape.js.map +1 -1
  14. package/cjs/components/Calendar/CalendarDay.d.ts +12 -0
  15. package/cjs/components/Calendar/CalendarDay.js +77 -0
  16. package/cjs/components/Calendar/CalendarDay.js.map +1 -0
  17. package/cjs/components/Calendar/CalendarDay.md +70 -0
  18. package/cjs/components/Calendar/CalendarUtils.d.ts +2 -1
  19. package/cjs/components/Calendar/CalendarUtils.js +4 -6
  20. package/cjs/components/Calendar/CalendarUtils.js.map +1 -1
  21. package/cjs/components/Calendar/DayCellView.d.ts +4 -12
  22. package/cjs/components/Calendar/DayCellView.js +20 -43
  23. package/cjs/components/Calendar/DayCellView.js.map +1 -1
  24. package/cjs/components/Calendar/DayCellView.styles.d.ts +2 -5
  25. package/cjs/components/Calendar/DayCellView.styles.js +17 -24
  26. package/cjs/components/Calendar/DayCellView.styles.js.map +1 -1
  27. package/cjs/components/Calendar/Month.d.ts +0 -10
  28. package/cjs/components/Calendar/Month.js +33 -86
  29. package/cjs/components/Calendar/Month.js.map +1 -1
  30. package/cjs/components/Calendar/MonthView.d.ts +3 -2
  31. package/cjs/components/Calendar/MonthView.js +47 -37
  32. package/cjs/components/Calendar/MonthView.js.map +1 -1
  33. package/cjs/components/Calendar/MonthView.styles.d.ts +3 -0
  34. package/cjs/components/Calendar/MonthView.styles.js +45 -7
  35. package/cjs/components/Calendar/MonthView.styles.js.map +1 -1
  36. package/cjs/components/Calendar/MonthViewModel.js +24 -6
  37. package/cjs/components/Calendar/MonthViewModel.js.map +1 -1
  38. package/cjs/components/Calendar/config.js +12 -6
  39. package/cjs/components/Calendar/config.js.map +1 -1
  40. package/cjs/components/Calendar/index.d.ts +1 -0
  41. package/cjs/components/Calendar/index.js +2 -1
  42. package/cjs/components/Calendar/index.js.map +1 -1
  43. package/cjs/components/DatePicker/DatePicker.d.ts +4 -1
  44. package/cjs/components/DatePicker/DatePicker.js +71 -44
  45. package/cjs/components/DatePicker/DatePicker.js.map +1 -1
  46. package/cjs/components/DatePicker/DatePicker.md +36 -1
  47. package/cjs/components/DatePicker/DatePickerHelpers.js +2 -1
  48. package/cjs/components/DatePicker/DatePickerHelpers.js.map +1 -1
  49. package/cjs/components/DatePicker/MobilePicker.d.ts +10 -0
  50. package/cjs/components/DatePicker/MobilePicker.js +118 -0
  51. package/cjs/components/DatePicker/MobilePicker.js.map +1 -0
  52. package/cjs/components/DatePicker/MobilePicker.styles.d.ts +3 -0
  53. package/cjs/components/DatePicker/MobilePicker.styles.js +8 -0
  54. package/cjs/components/DatePicker/MobilePicker.styles.js.map +1 -0
  55. package/cjs/components/DatePicker/getMobilePickerTheme.d.ts +2 -0
  56. package/cjs/components/DatePicker/getMobilePickerTheme.js +19 -0
  57. package/cjs/components/DatePicker/getMobilePickerTheme.js.map +1 -0
  58. package/cjs/internal/DateSelect/DateSelect.d.ts +2 -0
  59. package/cjs/internal/DateSelect/DateSelect.js +50 -4
  60. package/cjs/internal/DateSelect/DateSelect.js.map +1 -1
  61. package/cjs/internal/DateSelect/DateSelect.styles.d.ts +1 -0
  62. package/cjs/internal/DateSelect/DateSelect.styles.js +15 -1
  63. package/cjs/internal/DateSelect/DateSelect.styles.js.map +1 -1
  64. package/cjs/internal/DateSelect/locale/locales/en.js +2 -1
  65. package/cjs/internal/DateSelect/locale/locales/en.js.map +1 -1
  66. package/cjs/internal/DateSelect/locale/locales/ru.js +2 -1
  67. package/cjs/internal/DateSelect/locale/locales/ru.js.map +1 -1
  68. package/cjs/internal/DateSelect/locale/types.d.ts +1 -0
  69. package/cjs/internal/MobilePopup/MobilePopup.d.ts +4 -0
  70. package/cjs/internal/MobilePopup/MobilePopup.js +8 -2
  71. package/cjs/internal/MobilePopup/MobilePopup.js.map +1 -1
  72. package/cjs/internal/MobilePopup/MobilePopupFooter/MobilePopupFooter.d.ts +7 -0
  73. package/cjs/internal/MobilePopup/MobilePopupFooter/MobilePopupFooter.js +32 -0
  74. package/cjs/internal/MobilePopup/MobilePopupFooter/MobilePopupFooter.js.map +1 -0
  75. package/cjs/internal/MobilePopup/MobilePopupFooter/MobilePopupFooter.styles.d.ts +4 -0
  76. package/cjs/internal/MobilePopup/MobilePopupFooter/MobilePopupFooter.styles.js +15 -0
  77. package/cjs/internal/MobilePopup/MobilePopupFooter/MobilePopupFooter.styles.js.map +1 -0
  78. package/cjs/internal/MobilePopup/MobilePopupFooter/index.d.ts +1 -0
  79. package/cjs/internal/MobilePopup/MobilePopupFooter/index.js +1 -0
  80. package/cjs/internal/MobilePopup/MobilePopupFooter/index.js.map +1 -0
  81. package/cjs/internal/NativeDateInput/utils.js +3 -2
  82. package/cjs/internal/NativeDateInput/utils.js.map +1 -1
  83. package/cjs/internal/ThemeShowcase/VariablesCollector.d.ts +1 -1
  84. package/cjs/internal/themes/DefaultTheme.d.ts +15 -0
  85. package/cjs/internal/themes/DefaultTheme.js +23 -3
  86. package/cjs/internal/themes/DefaultTheme.js.map +1 -1
  87. package/cjs/lib/date/InternalDate.d.ts +2 -0
  88. package/cjs/lib/date/InternalDate.js +8 -1
  89. package/cjs/lib/date/InternalDate.js.map +1 -1
  90. package/cjs/lib/date/InternalDateTransformer.d.ts +3 -0
  91. package/cjs/lib/date/InternalDateTransformer.js +23 -0
  92. package/cjs/lib/date/InternalDateTransformer.js.map +1 -1
  93. package/cjs/lib/date/InternalDateValidator.js +2 -1
  94. package/cjs/lib/date/InternalDateValidator.js.map +1 -1
  95. package/cjs/lib/date/comparison.d.ts +6 -0
  96. package/cjs/lib/date/comparison.js +44 -0
  97. package/cjs/lib/date/comparison.js.map +1 -0
  98. package/cjs/lib/locale/constants.d.ts +3 -0
  99. package/cjs/lib/locale/constants.js +6 -2
  100. package/cjs/lib/locale/constants.js.map +1 -1
  101. package/components/Calendar/Calendar/Calendar.js +81 -64
  102. package/components/Calendar/Calendar/Calendar.js.map +1 -1
  103. package/components/Calendar/Calendar.d.ts +40 -5
  104. package/components/Calendar/Calendar.md +42 -1
  105. package/components/Calendar/Calendar.styles/Calendar.styles.js +1 -1
  106. package/components/Calendar/Calendar.styles/Calendar.styles.js.map +1 -1
  107. package/components/Calendar/CalendarContext/CalendarContext.js +2 -0
  108. package/components/Calendar/CalendarContext/CalendarContext.js.map +1 -0
  109. package/components/Calendar/CalendarContext/package.json +6 -0
  110. package/components/Calendar/CalendarContext.d.ts +12 -0
  111. package/components/Calendar/CalendarDateShape/CalendarDateShape.js +23 -1
  112. package/components/Calendar/CalendarDateShape/CalendarDateShape.js.map +1 -1
  113. package/components/Calendar/CalendarDateShape.d.ts +4 -2
  114. package/components/Calendar/CalendarDay/CalendarDay.js +62 -0
  115. package/components/Calendar/CalendarDay/CalendarDay.js.map +1 -0
  116. package/components/Calendar/CalendarDay/package.json +6 -0
  117. package/components/Calendar/CalendarDay.d.ts +12 -0
  118. package/components/Calendar/CalendarDay.md +70 -0
  119. package/components/Calendar/CalendarUtils/CalendarUtils.js +5 -4
  120. package/components/Calendar/CalendarUtils/CalendarUtils.js.map +1 -1
  121. package/components/Calendar/CalendarUtils.d.ts +2 -1
  122. package/components/Calendar/DayCellView/DayCellView.js +32 -46
  123. package/components/Calendar/DayCellView/DayCellView.js.map +1 -1
  124. package/components/Calendar/DayCellView.d.ts +4 -12
  125. package/components/Calendar/DayCellView.styles/DayCellView.styles.js +10 -13
  126. package/components/Calendar/DayCellView.styles/DayCellView.styles.js.map +1 -1
  127. package/components/Calendar/DayCellView.styles.d.ts +2 -5
  128. package/components/Calendar/Month/Month.js +45 -80
  129. package/components/Calendar/Month/Month.js.map +1 -1
  130. package/components/Calendar/Month.d.ts +0 -10
  131. package/components/Calendar/MonthView/MonthView.js +49 -44
  132. package/components/Calendar/MonthView/MonthView.js.map +1 -1
  133. package/components/Calendar/MonthView.d.ts +3 -2
  134. package/components/Calendar/MonthView.styles/MonthView.styles.js +20 -6
  135. package/components/Calendar/MonthView.styles/MonthView.styles.js.map +1 -1
  136. package/components/Calendar/MonthView.styles.d.ts +3 -0
  137. package/components/Calendar/MonthViewModel/MonthViewModel.js +9 -6
  138. package/components/Calendar/MonthViewModel/MonthViewModel.js.map +1 -1
  139. package/components/Calendar/config/config.js +6 -4
  140. package/components/Calendar/config/config.js.map +1 -1
  141. package/components/Calendar/index/index.js +2 -1
  142. package/components/Calendar/index/index.js.map +1 -1
  143. package/components/Calendar/index.d.ts +1 -0
  144. package/components/DatePicker/DatePicker/DatePicker.js +60 -38
  145. package/components/DatePicker/DatePicker/DatePicker.js.map +1 -1
  146. package/components/DatePicker/DatePicker.d.ts +4 -1
  147. package/components/DatePicker/DatePicker.md +36 -1
  148. package/components/DatePicker/DatePickerHelpers/DatePickerHelpers.js +2 -1
  149. package/components/DatePicker/DatePickerHelpers/DatePickerHelpers.js.map +1 -1
  150. package/components/DatePicker/MobilePicker/MobilePicker.js +91 -0
  151. package/components/DatePicker/MobilePicker/MobilePicker.js.map +1 -0
  152. package/components/DatePicker/MobilePicker/package.json +6 -0
  153. package/components/DatePicker/MobilePicker.d.ts +10 -0
  154. package/components/DatePicker/MobilePicker.styles/MobilePicker.styles.js +10 -0
  155. package/components/DatePicker/MobilePicker.styles/MobilePicker.styles.js.map +1 -0
  156. package/components/DatePicker/MobilePicker.styles/package.json +6 -0
  157. package/components/DatePicker/MobilePicker.styles.d.ts +3 -0
  158. package/components/DatePicker/getMobilePickerTheme/getMobilePickerTheme.js +14 -0
  159. package/components/DatePicker/getMobilePickerTheme/getMobilePickerTheme.js.map +1 -0
  160. package/components/DatePicker/getMobilePickerTheme/package.json +6 -0
  161. package/components/DatePicker/getMobilePickerTheme.d.ts +2 -0
  162. package/internal/DateSelect/DateSelect/DateSelect.js +56 -4
  163. package/internal/DateSelect/DateSelect/DateSelect.js.map +1 -1
  164. package/internal/DateSelect/DateSelect.d.ts +2 -0
  165. package/internal/DateSelect/DateSelect.styles/DateSelect.styles.js +4 -1
  166. package/internal/DateSelect/DateSelect.styles/DateSelect.styles.js.map +1 -1
  167. package/internal/DateSelect/DateSelect.styles.d.ts +1 -0
  168. package/internal/DateSelect/locale/locales/en/en.js +2 -1
  169. package/internal/DateSelect/locale/locales/en/en.js.map +1 -1
  170. package/internal/DateSelect/locale/locales/ru/ru.js +2 -1
  171. package/internal/DateSelect/locale/locales/ru/ru.js.map +1 -1
  172. package/internal/DateSelect/locale/types.d.ts +1 -0
  173. package/internal/MobilePopup/MobilePopup/MobilePopup.js +2 -1
  174. package/internal/MobilePopup/MobilePopup/MobilePopup.js.map +1 -1
  175. package/internal/MobilePopup/MobilePopup.d.ts +4 -0
  176. package/internal/MobilePopup/MobilePopupFooter/MobilePopupFooter/MobilePopupFooter.js +37 -0
  177. package/internal/MobilePopup/MobilePopupFooter/MobilePopupFooter/MobilePopupFooter.js.map +1 -0
  178. package/internal/MobilePopup/MobilePopupFooter/MobilePopupFooter/package.json +6 -0
  179. package/internal/MobilePopup/MobilePopupFooter/MobilePopupFooter.d.ts +7 -0
  180. package/internal/MobilePopup/MobilePopupFooter/MobilePopupFooter.styles/MobilePopupFooter.styles.js +11 -0
  181. package/internal/MobilePopup/MobilePopupFooter/MobilePopupFooter.styles/MobilePopupFooter.styles.js.map +1 -0
  182. package/internal/MobilePopup/MobilePopupFooter/MobilePopupFooter.styles/package.json +6 -0
  183. package/internal/MobilePopup/MobilePopupFooter/MobilePopupFooter.styles.d.ts +4 -0
  184. package/internal/MobilePopup/MobilePopupFooter/index/index.js +1 -0
  185. package/internal/MobilePopup/MobilePopupFooter/index/index.js.map +1 -0
  186. package/internal/MobilePopup/MobilePopupFooter/index/package.json +6 -0
  187. package/internal/MobilePopup/MobilePopupFooter/index.d.ts +1 -0
  188. package/internal/MobilePopup/MobilePopupFooter/package.json +6 -0
  189. package/internal/NativeDateInput/utils/utils.js +2 -1
  190. package/internal/NativeDateInput/utils/utils.js.map +1 -1
  191. package/internal/ThemeShowcase/VariablesCollector.d.ts +1 -1
  192. package/internal/themes/DefaultTheme/DefaultTheme.js +25 -1
  193. package/internal/themes/DefaultTheme/DefaultTheme.js.map +1 -1
  194. package/internal/themes/DefaultTheme.d.ts +15 -0
  195. package/lib/date/InternalDate/InternalDate.js +7 -1
  196. package/lib/date/InternalDate/InternalDate.js.map +1 -1
  197. package/lib/date/InternalDate.d.ts +2 -0
  198. package/lib/date/InternalDateTransformer/InternalDateTransformer.js +30 -0
  199. package/lib/date/InternalDateTransformer/InternalDateTransformer.js.map +1 -1
  200. package/lib/date/InternalDateTransformer.d.ts +3 -0
  201. package/lib/date/InternalDateValidator/InternalDateValidator.js +6 -1
  202. package/lib/date/InternalDateValidator/InternalDateValidator.js.map +1 -1
  203. package/lib/date/comparison/comparison.js +45 -0
  204. package/lib/date/comparison/comparison.js.map +1 -0
  205. package/lib/date/comparison/package.json +6 -0
  206. package/lib/date/comparison.d.ts +6 -0
  207. package/lib/locale/constants/constants.js +4 -1
  208. package/lib/locale/constants/constants.js.map +1 -1
  209. package/lib/locale/constants.d.ts +3 -0
  210. package/package.json +2 -2
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["CalendarContext.ts"],"names":["CalendarContext"],"mappings":"wEAAA;;;;;;;;;;;;;;;AAeO,IAAMA,eAAe,gBAAG,0BAAoC,EAApC,CAAxB,C","sourcesContent":["import { createContext } from 'react';\n\nimport { CalendarDateShape } from './CalendarDateShape';\nimport { CalendarProps } from './Calendar';\n\nexport interface CalendarContextProps {\n renderDay?: CalendarProps['renderDay'];\n value?: CalendarDateShape;\n minDate?: CalendarDateShape;\n maxDate?: CalendarDateShape;\n isHoliday?: CalendarProps['isHoliday'];\n today?: CalendarDateShape;\n onDateClick?: (date: CalendarDateShape) => void;\n}\n\nexport const CalendarContext = createContext<CalendarContextProps>({});\n"]}
@@ -4,11 +4,13 @@ export interface CalendarDateShape {
4
4
  month: number;
5
5
  date: number;
6
6
  }
7
- export declare const isEqual: (a: Nullable<CalendarDateShape>, b: Nullable<CalendarDateShape>) => boolean | null | undefined;
7
+ export declare const isEqual: (a: Nullable<CalendarDateShape>, b: Nullable<CalendarDateShape>) => boolean;
8
8
  export declare const comparator: (a: CalendarDateShape, b: CalendarDateShape) => 0 | 1 | -1;
9
9
  export declare const create: (date: number, month: number, year: number) => CalendarDateShape;
10
10
  export declare const isLess: (left: CalendarDateShape, right: CalendarDateShape) => boolean;
11
- export declare const isLessOrEqual: (left: CalendarDateShape, right: CalendarDateShape) => boolean | null | undefined;
11
+ export declare const isLessOrEqual: (left: CalendarDateShape, right: CalendarDateShape) => boolean;
12
12
  export declare const isGreater: (left: CalendarDateShape, right: CalendarDateShape) => boolean;
13
13
  export declare const isGreaterOrEqual: (left: CalendarDateShape, right: CalendarDateShape) => boolean;
14
14
  export declare const isBetween: (date: CalendarDateShape, left?: Nullable<CalendarDateShape>, right?: Nullable<CalendarDateShape>) => boolean;
15
+ export declare const fromString: (dateString: string) => CalendarDateShape;
16
+ export declare const toString: ({ date, month, year }: CalendarDateShape) => string;
@@ -1,4 +1,4 @@
1
- "use strict";exports.__esModule = true;exports.isLessOrEqual = exports.isLess = exports.isGreaterOrEqual = exports.isGreater = exports.isEqual = exports.isBetween = exports.create = exports.comparator = void 0;
1
+ "use strict";exports.__esModule = true;exports.toString = exports.isLessOrEqual = exports.isLess = exports.isGreaterOrEqual = exports.isGreater = exports.isEqual = exports.isBetween = exports.fromString = exports.create = exports.comparator = void 0;
2
2
 
3
3
 
4
4
 
@@ -7,7 +7,7 @@
7
7
 
8
8
 
9
9
  var isEqual = function isEqual(a, b) {return (
10
- !a && !b || a && b && a.year === b.year && a.month === b.month && a.date === b.date);};exports.isEqual = isEqual;
10
+ Boolean(!a && !b || a && b && a.year === b.year && a.month === b.month && a.date === b.date));};exports.isEqual = isEqual;
11
11
 
12
12
  var comparator = function comparator(a, b) {
13
13
  if (a.year < b.year) {
@@ -49,4 +49,14 @@ right)
49
49
  return false;
50
50
  }
51
51
  return true;
52
- };exports.isBetween = isBetween;
52
+ };exports.isBetween = isBetween;
53
+
54
+ var fromString = function fromString(dateString) {
55
+ var _dateString$split$map = dateString.split('.').map(Number),date = _dateString$split$map[0],month = _dateString$split$map[1],year = _dateString$split$map[2];
56
+ return create(date, month, year);
57
+ };exports.fromString = fromString;
58
+
59
+ var toString = function toString(_ref) {var date = _ref.date,month = _ref.month,year = _ref.year;
60
+ var _map = [date, month, year].map(function (x) {return x.toString();}),d = _map[0],m = _map[1],y = _map[2];
61
+ return d.padStart(2, '0') + "." + m.padStart(2, '0') + "." + y.padStart(4, '0');
62
+ };exports.toString = toString;
@@ -1 +1 @@
1
- {"version":3,"sources":["CalendarDateShape.ts"],"names":["isEqual","a","b","year","month","date","comparator","create","isLess","left","right","isLessOrEqual","isGreater","isGreaterOrEqual","isBetween"],"mappings":";;;;;;;;AAQO,IAAMA,OAAO,GAAG,SAAVA,OAAU,CAACC,CAAD,EAAiCC,CAAjC;AACpB,KAACD,CAAD,IAAM,CAACC,CAAR,IAAeD,CAAC,IAAIC,CAAL,IAAUD,CAAC,CAACE,IAAF,KAAWD,CAAC,CAACC,IAAvB,IAA+BF,CAAC,CAACG,KAAF,KAAYF,CAAC,CAACE,KAA7C,IAAsDH,CAAC,CAACI,IAAF,KAAWH,CAAC,CAACG,IAD7D,GAAhB,C;;AAGA,IAAMC,UAAU,GAAG,SAAbA,UAAa,CAACL,CAAD,EAAuBC,CAAvB,EAAgD;AACxE,MAAID,CAAC,CAACE,IAAF,GAASD,CAAC,CAACC,IAAf,EAAqB;AACnB,WAAO,CAAC,CAAR;AACD,GAFD,MAEO,IAAIF,CAAC,CAACE,IAAF,GAASD,CAAC,CAACC,IAAf,EAAqB;AAC1B,WAAO,CAAP;AACD,GAFM,MAEA,IAAIF,CAAC,CAACG,KAAF,GAAUF,CAAC,CAACE,KAAhB,EAAuB;AAC5B,WAAO,CAAC,CAAR;AACD,GAFM,MAEA,IAAIH,CAAC,CAACG,KAAF,GAAUF,CAAC,CAACE,KAAhB,EAAuB;AAC5B,WAAO,CAAP;AACD,GAFM,MAEA,IAAIH,CAAC,CAACI,IAAF,GAASH,CAAC,CAACG,IAAf,EAAqB;AAC1B,WAAO,CAAC,CAAR;AACD,GAFM,MAEA,IAAIJ,CAAC,CAACI,IAAF,GAASH,CAAC,CAACG,IAAf,EAAqB;AAC1B,WAAO,CAAP;AACD;AACD,SAAO,CAAP;AACD,CAfM,C;;AAiBA,IAAME,MAAM,GAAG,SAATA,MAAS,CAACF,IAAD,EAAeD,KAAf,EAA8BD,IAA9B,UAAmE,EAAEE,IAAI,EAAJA,IAAF,EAAQD,KAAK,EAALA,KAAR,EAAeD,IAAI,EAAJA,IAAf,EAAnE,EAAf,C;;AAEA,IAAMK,MAAM,GAAG,SAATA,MAAS,CAACC,IAAD,EAA0BC,KAA1B,UAAuDJ,UAAU,CAACG,IAAD,EAAOC,KAAP,CAAV,KAA4B,CAAC,CAApF,EAAf,C;;AAEA,IAAMC,aAAa,GAAG,SAAhBA,aAAgB,CAACF,IAAD,EAA0BC,KAA1B;AAC3BF,IAAAA,MAAM,CAACC,IAAD,EAAOC,KAAP,CAAN,IAAuBV,OAAO,CAACS,IAAD,EAAOC,KAAP,CADH,GAAtB,C;;AAGA,IAAME,SAAS,GAAG,SAAZA,SAAY,CAACH,IAAD,EAA0BC,KAA1B,UAAuD,CAACC,aAAa,CAACF,IAAD,EAAOC,KAAP,CAArE,EAAlB,C;;AAEA,IAAMG,gBAAgB,GAAG,SAAnBA,gBAAmB,CAACJ,IAAD,EAA0BC,KAA1B,UAAuD,CAACF,MAAM,CAACC,IAAD,EAAOC,KAAP,CAA9D,EAAzB,C;;AAEA,IAAMI,SAAS,GAAG,SAAZA,SAAY;AACvBT,IADuB;AAEvBI,IAFuB;AAGvBC,KAHuB;AAIpB;AACH,MAAID,IAAI,IAAID,MAAM,CAACH,IAAD,EAAOI,IAAP,CAAlB,EAAgC;AAC9B,WAAO,KAAP;AACD;AACD,MAAIC,KAAK,IAAIE,SAAS,CAACP,IAAD,EAAOK,KAAP,CAAtB,EAAqC;AACnC,WAAO,KAAP;AACD;AACD,SAAO,IAAP;AACD,CAZM,C","sourcesContent":["import { Nullable } from '../../typings/utility-types';\n\nexport interface CalendarDateShape {\n year: number;\n month: number;\n date: number;\n}\n\nexport const isEqual = (a: Nullable<CalendarDateShape>, b: Nullable<CalendarDateShape>) =>\n (!a && !b) || (a && b && a.year === b.year && a.month === b.month && a.date === b.date);\n\nexport const comparator = (a: CalendarDateShape, b: CalendarDateShape) => {\n if (a.year < b.year) {\n return -1;\n } else if (a.year > b.year) {\n return 1;\n } else if (a.month < b.month) {\n return -1;\n } else if (a.month > b.month) {\n return 1;\n } else if (a.date < b.date) {\n return -1;\n } else if (a.date > b.date) {\n return 1;\n }\n return 0;\n};\n\nexport const create = (date: number, month: number, year: number): CalendarDateShape => ({ date, month, year });\n\nexport const isLess = (left: CalendarDateShape, right: CalendarDateShape) => comparator(left, right) === -1;\n\nexport const isLessOrEqual = (left: CalendarDateShape, right: CalendarDateShape) =>\n isLess(left, right) || isEqual(left, right);\n\nexport const isGreater = (left: CalendarDateShape, right: CalendarDateShape) => !isLessOrEqual(left, right);\n\nexport const isGreaterOrEqual = (left: CalendarDateShape, right: CalendarDateShape) => !isLess(left, right);\n\nexport const isBetween = (\n date: CalendarDateShape,\n left?: Nullable<CalendarDateShape>,\n right?: Nullable<CalendarDateShape>,\n) => {\n if (left && isLess(date, left)) {\n return false;\n }\n if (right && isGreater(date, right)) {\n return false;\n }\n return true;\n};\n"]}
1
+ {"version":3,"sources":["CalendarDateShape.ts"],"names":["isEqual","a","b","Boolean","year","month","date","comparator","create","isLess","left","right","isLessOrEqual","isGreater","isGreaterOrEqual","isBetween","fromString","dateString","split","map","Number","toString","x","d","m","y","padStart"],"mappings":"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","sourcesContent":["import { Nullable } from '../../typings/utility-types';\n\nexport interface CalendarDateShape {\n year: number;\n month: number;\n date: number;\n}\n\nexport const isEqual = (a: Nullable<CalendarDateShape>, b: Nullable<CalendarDateShape>) =>\n Boolean((!a && !b) || (a && b && a.year === b.year && a.month === b.month && a.date === b.date));\n\nexport const comparator = (a: CalendarDateShape, b: CalendarDateShape) => {\n if (a.year < b.year) {\n return -1;\n } else if (a.year > b.year) {\n return 1;\n } else if (a.month < b.month) {\n return -1;\n } else if (a.month > b.month) {\n return 1;\n } else if (a.date < b.date) {\n return -1;\n } else if (a.date > b.date) {\n return 1;\n }\n return 0;\n};\n\nexport const create = (date: number, month: number, year: number): CalendarDateShape => ({ date, month, year });\n\nexport const isLess = (left: CalendarDateShape, right: CalendarDateShape) => comparator(left, right) === -1;\n\nexport const isLessOrEqual = (left: CalendarDateShape, right: CalendarDateShape) =>\n isLess(left, right) || isEqual(left, right);\n\nexport const isGreater = (left: CalendarDateShape, right: CalendarDateShape) => !isLessOrEqual(left, right);\n\nexport const isGreaterOrEqual = (left: CalendarDateShape, right: CalendarDateShape) => !isLess(left, right);\n\nexport const isBetween = (\n date: CalendarDateShape,\n left?: Nullable<CalendarDateShape>,\n right?: Nullable<CalendarDateShape>,\n) => {\n if (left && isLess(date, left)) {\n return false;\n }\n if (right && isGreater(date, right)) {\n return false;\n }\n return true;\n};\n\nexport const fromString = (dateString: string): CalendarDateShape => {\n const [date, month, year] = dateString.split('.').map(Number);\n return create(date, month, year);\n};\n\nexport const toString = ({ date, month, year }: CalendarDateShape): string => {\n const [d, m, y] = [date, month, year].map((x) => x.toString());\n return `${d.padStart(2, '0')}.${m.padStart(2, '0')}.${y.padStart(4, '0')}`;\n};\n"]}
@@ -0,0 +1,12 @@
1
+ import React from 'react';
2
+ export interface CalendarDayProps extends React.HTMLAttributes<HTMLButtonElement> {
3
+ isToday?: boolean;
4
+ isSelected?: boolean;
5
+ isDisabled?: boolean;
6
+ isWeekend?: boolean;
7
+ date: string;
8
+ }
9
+ /**
10
+ * @visibleName Calendar.Day
11
+ */
12
+ export declare const CalendarDay: React.MemoExoticComponent<import("../../lib/forwardRefAndName").ReactUIComponentWithRef<HTMLButtonElement, CalendarDayProps> & Record<string, unknown>>;
@@ -0,0 +1,77 @@
1
+ "use strict";var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault").default;var _interopRequireWildcard = require("@babel/runtime/helpers/interopRequireWildcard").default;exports.__esModule = true;exports.CalendarDay = void 0;var _extends2 = _interopRequireDefault(require("@babel/runtime/helpers/extends"));var _objectWithoutPropertiesLoose2 = _interopRequireDefault(require("@babel/runtime/helpers/objectWithoutPropertiesLoose"));var _react = _interopRequireWildcard(require("react"));
2
+
3
+ var _useLocaleForControl = require("../../lib/locale/useLocaleForControl");
4
+ var _ThemeContext = require("../../lib/theming/ThemeContext");
5
+ var _Emotion = require("../../lib/theming/Emotion");
6
+ var _ThemeHelpers = require("../../lib/theming/ThemeHelpers");
7
+ var _locale = require("../DatePicker/locale");
8
+ var _InternalDate = require("../../lib/date/InternalDate");
9
+ var _locale2 = require("../../lib/locale");
10
+ var _getVisualStateDataAttributes = require("../../internal/CommonWrapper/utils/getVisualStateDataAttributes");
11
+ var _forwardRefAndName = require("../../lib/forwardRefAndName");
12
+
13
+ var _DayCellView = require("./DayCellView.styles");
14
+ var _Calendar = require("./Calendar");var _excluded = ["isToday", "isSelected", "isDisabled", "isWeekend", "date", "children", "className"];
15
+
16
+
17
+
18
+
19
+
20
+
21
+
22
+
23
+
24
+ /**
25
+ * @visibleName Calendar.Day
26
+ */
27
+ var CalendarDay = /*#__PURE__*/(0, _react.memo)(
28
+ (0, _forwardRefAndName.forwardRefAndName)(
29
+ 'CalendarDay',
30
+ function CalendarDay(_ref,
31
+
32
+
33
+
34
+
35
+
36
+
37
+
38
+
39
+
40
+
41
+ ref)
42
+ {var _cx, _cx2;var isToday = _ref.isToday,isSelected = _ref.isSelected,isDisabled = _ref.isDisabled,isWeekend = _ref.isWeekend,date = _ref.date,children = _ref.children,className = _ref.className,rest = (0, _objectWithoutPropertiesLoose2.default)(_ref, _excluded);
43
+ var theme = (0, _react.useContext)(_ThemeContext.ThemeContext);
44
+ var _isTheme2022 = (0, _ThemeHelpers.isTheme2022)(theme);
45
+
46
+ var _useContext = (0, _react.useContext)(_locale2.LocaleContext),langCode = _useContext.langCode;
47
+ var internalDate = new _InternalDate.InternalDate({ langCode: langCode, value: date });
48
+
49
+ var locale = (0, _useLocaleForControl.useLocaleForControl)('Calendar', _locale.DatePickerLocaleHelper);
50
+ var ariaLabel = locale.dayCellChooseDateAriaLabel + ": " + internalDate.toA11YFormat();
51
+
52
+ var _internalDate$getComp = internalDate.getComponentsLikeNumber(),day = _internalDate$getComp.date;
53
+ var caption = children != null ? children : day;
54
+
55
+ return /*#__PURE__*/(
56
+ _react.default.createElement("button", (0, _extends2.default)({
57
+ ref: ref,
58
+ "data-tid": _Calendar.CalendarDataTids.dayCell,
59
+ "aria-label": ariaLabel,
60
+ tabIndex: -1,
61
+ disabled: isDisabled,
62
+ className: (0, _Emotion.cx)((_cx = {}, _cx[
63
+
64
+ _DayCellView.styles.day(theme)] = true, _cx[
65
+ _DayCellView.styles.today(theme)] = isToday && !_isTheme2022, _cx[
66
+ _DayCellView.styles.selected(theme)] = isSelected, _cx[
67
+ _DayCellView.styles.weekend(theme)] = isWeekend, _cx),
68
+
69
+ className) },
70
+
71
+ (0, _getVisualStateDataAttributes.getVisualStateDataAttributes)({ selected: isSelected }),
72
+ rest), /*#__PURE__*/
73
+
74
+ _react.default.createElement("span", { className: (0, _Emotion.cx)((_cx2 = {}, _cx2[_DayCellView.styles.todayCaption2022(theme)] = isToday && _isTheme2022, _cx2)) }, caption)));
75
+
76
+
77
+ }));exports.CalendarDay = CalendarDay;
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["CalendarDay.tsx"],"names":["CalendarDay","ref","isToday","isSelected","isDisabled","isWeekend","date","children","className","rest","theme","ThemeContext","_isTheme2022","LocaleContext","langCode","internalDate","InternalDate","value","locale","DatePickerLocaleHelper","ariaLabel","dayCellChooseDateAriaLabel","toA11YFormat","getComponentsLikeNumber","day","caption","CalendarDataTids","dayCell","styles","today","selected","weekend","todayCaption2022"],"mappings":"8cAAA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA,sC;;;;;;;;;;AAUA;AACA;AACA;AACO,IAAMA,WAAW,gBAAG;AACzB;AACE,aADF;AAEE,SAASA,WAAT;;;;;;;;;;;AAWEC,GAXF;AAYE,mBAVEC,OAUF,QAVEA,OAUF,CATEC,UASF,QATEA,UASF,CAREC,UAQF,QAREA,UAQF,CAPEC,SAOF,QAPEA,SAOF,CANEC,IAMF,QANEA,IAMF,CALEC,QAKF,QALEA,QAKF,CAJEC,SAIF,QAJEA,SAIF,CAHKC,IAGL;AACA,MAAMC,KAAK,GAAG,uBAAWC,0BAAX,CAAd;AACA,MAAMC,YAAY,GAAG,+BAAYF,KAAZ,CAArB;;AAEA,oBAAqB,uBAAWG,sBAAX,CAArB,CAAQC,QAAR,eAAQA,QAAR;AACA,MAAMC,YAAY,GAAG,IAAIC,0BAAJ,CAAiB,EAAEF,QAAQ,EAARA,QAAF,EAAYG,KAAK,EAAEX,IAAnB,EAAjB,CAArB;;AAEA,MAAMY,MAAM,GAAG,8CAAoB,UAApB,EAAgCC,8BAAhC,CAAf;AACA,MAAMC,SAAS,GAAMF,MAAM,CAACG,0BAAb,UAA4CN,YAAY,CAACO,YAAb,EAA3D;;AAEA,8BAAsBP,YAAY,CAACQ,uBAAb,EAAtB,CAAcC,GAAd,yBAAQlB,IAAR;AACA,MAAMmB,OAAO,GAAGlB,QAAH,WAAGA,QAAH,GAAeiB,GAA5B;;AAEA;AACE;AACE,MAAA,GAAG,EAAEvB,GADP;AAEE,kBAAUyB,2BAAiBC,OAF7B;AAGE,oBAAYP,SAHd;AAIE,MAAA,QAAQ,EAAE,CAAC,CAJb;AAKE,MAAA,QAAQ,EAAEhB,UALZ;AAME,MAAA,SAAS,EAAE;;AAENwB,0BAAOJ,GAAP,CAAWd,KAAX,CAFM,IAEc,IAFd;AAGNkB,0BAAOC,KAAP,CAAanB,KAAb,CAHM,IAGgBR,OAAO,IAAI,CAACU,YAH5B;AAINgB,0BAAOE,QAAP,CAAgBpB,KAAhB,CAJM,IAImBP,UAJnB;AAKNyB,0BAAOG,OAAP,CAAerB,KAAf,CALM,IAKkBL,SALlB;;AAOTG,MAAAA,SAPS,CANb;;AAeM,oEAA6B,EAAEsB,QAAQ,EAAE3B,UAAZ,EAA7B,CAfN;AAgBMM,IAAAA,IAhBN;;AAkBE,2CAAM,SAAS,EAAE,kCAAMmB,oBAAOI,gBAAP,CAAwBtB,KAAxB,CAAN,IAAuCR,OAAO,IAAIU,YAAlD,QAAjB,IAAqFa,OAArF,CAlBF,CADF;;;AAsBD,CAjDH,CADyB,CAApB,C","sourcesContent":["import React, { PropsWithChildren, useContext, memo } from 'react';\n\nimport { useLocaleForControl } from '../../lib/locale/useLocaleForControl';\nimport { ThemeContext } from '../../lib/theming/ThemeContext';\nimport { cx } from '../../lib/theming/Emotion';\nimport { isTheme2022 } from '../../lib/theming/ThemeHelpers';\nimport { DatePickerLocaleHelper } from '../DatePicker/locale';\nimport { InternalDate } from '../../lib/date/InternalDate';\nimport { LocaleContext } from '../../lib/locale';\nimport { getVisualStateDataAttributes } from '../../internal/CommonWrapper/utils/getVisualStateDataAttributes';\nimport { forwardRefAndName } from '../../lib/forwardRefAndName';\n\nimport { styles } from './DayCellView.styles';\nimport { CalendarDataTids } from './Calendar';\n\nexport interface CalendarDayProps extends React.HTMLAttributes<HTMLButtonElement> {\n isToday?: boolean;\n isSelected?: boolean;\n isDisabled?: boolean;\n isWeekend?: boolean;\n date: string;\n}\n\n/**\n * @visibleName Calendar.Day\n */\nexport const CalendarDay = memo(\n forwardRefAndName(\n 'CalendarDay',\n function CalendarDay(\n {\n isToday,\n isSelected,\n isDisabled,\n isWeekend,\n date,\n children,\n className,\n ...rest\n }: PropsWithChildren<CalendarDayProps>,\n ref: React.Ref<HTMLButtonElement>,\n ) {\n const theme = useContext(ThemeContext);\n const _isTheme2022 = isTheme2022(theme);\n\n const { langCode } = useContext(LocaleContext);\n const internalDate = new InternalDate({ langCode, value: date });\n\n const locale = useLocaleForControl('Calendar', DatePickerLocaleHelper);\n const ariaLabel = `${locale.dayCellChooseDateAriaLabel}: ${internalDate.toA11YFormat()}`;\n\n const { date: day } = internalDate.getComponentsLikeNumber();\n const caption = children ?? day;\n\n return (\n <button\n ref={ref}\n data-tid={CalendarDataTids.dayCell}\n aria-label={ariaLabel}\n tabIndex={-1}\n disabled={isDisabled}\n className={cx(\n {\n [styles.day(theme)]: true,\n [styles.today(theme)]: isToday && !_isTheme2022,\n [styles.selected(theme)]: isSelected,\n [styles.weekend(theme)]: isWeekend,\n },\n className,\n )}\n {...getVisualStateDataAttributes({ selected: isSelected })}\n {...rest}\n >\n <span className={cx({ [styles.todayCaption2022(theme)]: isToday && _isTheme2022 })}>{caption}</span>\n </button>\n );\n },\n ),\n);\n"]}
@@ -0,0 +1,70 @@
1
+ Компонент для отрисовки дня в Calendar. Полезен при использовании вместе с его пропом `renderDay`.
2
+
3
+ ```jsx harmony
4
+ import { Calendar, Gapped } from '@skbkontur/react-ui';
5
+
6
+ const date = '20.05.2024';
7
+ const style = { width: 32, height: 32 };
8
+
9
+ <Gapped>
10
+ <Calendar.Day style={style} date={date} />
11
+ <Calendar.Day style={style} date={date} isToday={true} />
12
+ <Calendar.Day style={style} date={date} isSelected={true} />
13
+ <Calendar.Day style={style} date={date} isDisabled={true} />
14
+ <Calendar.Day style={style} date={date} isWeekend={true} />
15
+ <Calendar.Day style={style}><b>20</b></Calendar.Day>
16
+ </Gapped>
17
+ ```
18
+
19
+ Набор функций для сравнения строковых дат.
20
+
21
+ ```jsx harmony
22
+ import { isBetween, isEqual, isGreater, isGreaterOrEqual, isLess, isLessOrEqual } from '@skbkontur/react-ui/lib/date/comparison';
23
+
24
+ const date_a = '10.03.2017';
25
+ const date_b = '11.03.2017';
26
+ const date_c = '12.03.2017';
27
+
28
+ const Table = ({ children }) => (
29
+ <table>
30
+ <thead>
31
+ <tr>
32
+ <td>Функция</td>
33
+ <td>Результат</td>
34
+ </tr>
35
+ </thead>
36
+ <tbody>
37
+ { children }
38
+ </tbody>
39
+ </table>
40
+ )
41
+
42
+ const Row = ({ code }) => (
43
+ <tr>
44
+ <td><code>{code}</code></td>
45
+ <td><code>{JSON.stringify(eval(code), null, 2)}</code></td>
46
+ </tr>
47
+ );
48
+
49
+ <Table>
50
+ <Row code={`isEqual("${date_a}", "${date_a}")`} />
51
+ <Row code={`isLess("${date_a}", "${date_b}")`} />
52
+ <Row code={`isLessOrEqual("${date_a}", "${date_b}")`} />
53
+ <Row code={`isGreater("${date_b}", "${date_a}")`} />
54
+ <Row code={`isGreaterOrEqual("${date_b}", "${date_a}")`} />
55
+ <Row code={`isBetween("${date_b}", "${date_a}", "${date_b}")`} />
56
+ </Table>
57
+
58
+ ```
59
+
60
+ ```typescript static
61
+ export function isEqual(left: string, right: string): boolean;
62
+ export function isLess(left: string, right: string): boolean;
63
+ export function isLessOrEqual(left: string, right: string): boolean;
64
+ export function isGreater(left: string, right: string): boolean;
65
+ export function isGreaterOrEqual(left: string, right: string): boolean;
66
+ export function isBetween(
67
+ date: string,
68
+ left?: string,
69
+ right?: string,
70
+ ): boolean;
@@ -22,7 +22,8 @@ export declare const applyDelta: (deltaY: number, theme: Theme) => ({ scrollPosi
22
22
  export declare const isMonthVisible: (top: number, month: MonthViewModel, theme: Theme) => boolean;
23
23
  export declare const getMonthsHeight: (months: MonthViewModel[], theme: Theme) => number;
24
24
  export declare const getMonths: (month: number, year: number) => MonthViewModel[];
25
- export declare const getMonthInNativeFormat: (initialMonth: number | undefined) => number | undefined;
25
+ export declare const getMonthInNativeFormat: (month: number) => number;
26
+ export declare const getMonthInHumanFormat: (month: number) => number;
26
27
  export declare const getInitialDate: ({ today, date, minDate, maxDate, }: {
27
28
  today: CalendarDateShape;
28
29
  date?: Nullable<CalendarDateShape>;
@@ -1,4 +1,4 @@
1
- "use strict";exports.__esModule = true;exports.isMonthVisible = exports.getTodayDate = exports.getMonthsHeight = exports.getMonths = exports.getMonthInNativeFormat = exports.getInitialDate = exports.calculateScrollPosition = exports.applyDelta = void 0;
1
+ "use strict";exports.__esModule = true;exports.isMonthVisible = exports.getTodayDate = exports.getMonthsHeight = exports.getMonths = exports.getMonthInNativeFormat = exports.getMonthInHumanFormat = exports.getInitialDate = exports.calculateScrollPosition = exports.applyDelta = void 0;
2
2
 
3
3
 
4
4
  var _config = require("./config");
@@ -75,11 +75,9 @@ var getMonths = function getMonths(month, year) {
75
75
  return [-1, 0, 1].map(function (x) {return _MonthViewModel.MonthViewModel.create(month + x, year);});
76
76
  };exports.getMonths = getMonths;
77
77
 
78
- var getMonthInNativeFormat = function getMonthInNativeFormat(initialMonth) {
79
- if (initialMonth) {
80
- return initialMonth - 1;
81
- }
82
- };exports.getMonthInNativeFormat = getMonthInNativeFormat;
78
+ var getMonthInNativeFormat = function getMonthInNativeFormat(month) {return month - 1;};exports.getMonthInNativeFormat = getMonthInNativeFormat;
79
+
80
+ var getMonthInHumanFormat = function getMonthInHumanFormat(month) {return month + 1;};exports.getMonthInHumanFormat = getMonthInHumanFormat;
83
81
 
84
82
  var getInitialDate = function getInitialDate(_ref3)
85
83
 
@@ -1 +1 @@
1
- {"version":3,"sources":["CalendarUtils.ts"],"names":["calculateScrollPosition","months","scrollPosition","deltaY","theme","scrollDirection","nextScrollPosition","nextMonths","firstMonth","getHeight","getMonths","month","year","lastMonth","length","applyDelta","minDate","maxDate","isMinDateExceeded","isMaxDateExceeded","isMonthVisible","top","WRAPPER_HEIGHT","getMonthsHeight","reduce","a","b","map","x","MonthViewModel","create","getMonthInNativeFormat","initialMonth","getInitialDate","today","date","getTodayDate","Date","getDate","getMonth","getFullYear"],"mappings":"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","sourcesContent":["import { Nullable } from '../../typings/utility-types';\nimport { Theme } from '../../lib/theming/Theme';\n\nimport { themeConfig } from './config';\nimport { MonthViewModel } from './MonthViewModel';\nimport { CalendarState } from './Calendar';\nimport { CalendarDateShape, isGreater, isLess } from './CalendarDateShape';\n\nexport const calculateScrollPosition = (\n months: MonthViewModel[],\n scrollPosition: number,\n deltaY: number,\n theme: Theme,\n) => {\n const scrollDirection = deltaY > 0 ? 1 : -1;\n\n let nextScrollPosition = scrollPosition - deltaY;\n let nextMonths = months;\n\n const firstMonth = months[0];\n if (scrollDirection < 0 && nextScrollPosition >= firstMonth.getHeight(theme)) {\n do {\n nextScrollPosition -= nextMonths[0].getHeight(theme);\n nextMonths = getMonths(firstMonth.month, firstMonth.year);\n } while (nextScrollPosition >= nextMonths[0].getHeight(theme));\n }\n\n const lastMonth = months[months.length - 1];\n if (scrollDirection > 0 && nextScrollPosition < 0) {\n do {\n nextScrollPosition += nextMonths[1].getHeight(theme);\n nextMonths = getMonths(lastMonth.month, lastMonth.year);\n } while (nextScrollPosition < 0);\n }\n\n return {\n scrollPosition: nextScrollPosition,\n months: nextMonths,\n scrollDirection,\n };\n};\n\nexport const applyDelta = (deltaY: number, theme: Theme) => {\n return (\n { scrollPosition, months }: Readonly<CalendarState>,\n { minDate, maxDate }: { minDate: CalendarDateShape; maxDate: CalendarDateShape },\n ) => {\n const scrollDirection = deltaY > 0 ? 1 : -1;\n const isMinDateExceeded =\n minDate && scrollDirection < 0 && minDate.year * 12 + minDate.month > months[0].year * 12 + months[0].month;\n\n const isMaxDateExceeded =\n maxDate && scrollDirection > 0 && maxDate.year * 12 + maxDate.month < months[1].year * 12 + months[1].month;\n\n if (isMinDateExceeded) {\n return { scrollPosition: 0, scrollDirection };\n }\n\n if (isMaxDateExceeded) {\n return { scrollPosition: months[2].getHeight(theme), scrollDirection };\n }\n\n return calculateScrollPosition(months, scrollPosition, deltaY, theme);\n };\n};\n\nexport const isMonthVisible = (top: number, month: MonthViewModel, theme: Theme) => {\n return top < themeConfig(theme).WRAPPER_HEIGHT && top > -month.getHeight(theme);\n};\n\nexport const getMonthsHeight = (months: MonthViewModel[], theme: Theme) =>\n months.reduce((a, b) => a + b.getHeight(theme), 0);\n\nexport const getMonths = (month: number, year: number): MonthViewModel[] => {\n return [-1, 0, 1].map((x) => MonthViewModel.create(month + x, year));\n};\n\nexport const getMonthInNativeFormat = (initialMonth: number | undefined) => {\n if (initialMonth) {\n return initialMonth - 1;\n }\n};\n\nexport const getInitialDate = ({\n today,\n date,\n minDate,\n maxDate,\n}: {\n today: CalendarDateShape;\n date?: Nullable<CalendarDateShape>;\n minDate?: Nullable<CalendarDateShape>;\n maxDate?: Nullable<CalendarDateShape>;\n}) => {\n if (date) {\n return date;\n }\n\n if (minDate && isLess(today, minDate)) {\n return minDate;\n }\n\n if (maxDate && isGreater(today, maxDate)) {\n return maxDate;\n }\n\n return today;\n};\n\nexport const getTodayDate = () => {\n const date = new Date();\n return {\n date: date.getDate(),\n month: date.getMonth(),\n year: date.getFullYear(),\n };\n};\n"]}
1
+ {"version":3,"sources":["CalendarUtils.ts"],"names":["calculateScrollPosition","months","scrollPosition","deltaY","theme","scrollDirection","nextScrollPosition","nextMonths","firstMonth","getHeight","getMonths","month","year","lastMonth","length","applyDelta","minDate","maxDate","isMinDateExceeded","isMaxDateExceeded","isMonthVisible","top","WRAPPER_HEIGHT","getMonthsHeight","reduce","a","b","map","x","MonthViewModel","create","getMonthInNativeFormat","getMonthInHumanFormat","getInitialDate","today","date","getTodayDate","Date","getDate","getMonth","getFullYear"],"mappings":"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","sourcesContent":["import { Nullable } from '../../typings/utility-types';\nimport { Theme } from '../../lib/theming/Theme';\n\nimport { themeConfig } from './config';\nimport { MonthViewModel } from './MonthViewModel';\nimport { CalendarState } from './Calendar';\nimport { CalendarDateShape, isGreater, isLess } from './CalendarDateShape';\n\nexport const calculateScrollPosition = (\n months: MonthViewModel[],\n scrollPosition: number,\n deltaY: number,\n theme: Theme,\n) => {\n const scrollDirection = deltaY > 0 ? 1 : -1;\n\n let nextScrollPosition = scrollPosition - deltaY;\n let nextMonths = months;\n\n const firstMonth = months[0];\n if (scrollDirection < 0 && nextScrollPosition >= firstMonth.getHeight(theme)) {\n do {\n nextScrollPosition -= nextMonths[0].getHeight(theme);\n nextMonths = getMonths(firstMonth.month, firstMonth.year);\n } while (nextScrollPosition >= nextMonths[0].getHeight(theme));\n }\n\n const lastMonth = months[months.length - 1];\n if (scrollDirection > 0 && nextScrollPosition < 0) {\n do {\n nextScrollPosition += nextMonths[1].getHeight(theme);\n nextMonths = getMonths(lastMonth.month, lastMonth.year);\n } while (nextScrollPosition < 0);\n }\n\n return {\n scrollPosition: nextScrollPosition,\n months: nextMonths,\n scrollDirection,\n };\n};\n\nexport const applyDelta = (deltaY: number, theme: Theme) => {\n return (\n { scrollPosition, months }: Readonly<CalendarState>,\n { minDate, maxDate }: { minDate: CalendarDateShape; maxDate: CalendarDateShape },\n ) => {\n const scrollDirection = deltaY > 0 ? 1 : -1;\n const isMinDateExceeded =\n minDate && scrollDirection < 0 && minDate.year * 12 + minDate.month > months[0].year * 12 + months[0].month;\n\n const isMaxDateExceeded =\n maxDate && scrollDirection > 0 && maxDate.year * 12 + maxDate.month < months[1].year * 12 + months[1].month;\n\n if (isMinDateExceeded) {\n return { scrollPosition: 0, scrollDirection };\n }\n\n if (isMaxDateExceeded) {\n return { scrollPosition: months[2].getHeight(theme), scrollDirection };\n }\n\n return calculateScrollPosition(months, scrollPosition, deltaY, theme);\n };\n};\n\nexport const isMonthVisible = (top: number, month: MonthViewModel, theme: Theme) => {\n return top < themeConfig(theme).WRAPPER_HEIGHT && top > -month.getHeight(theme);\n};\n\nexport const getMonthsHeight = (months: MonthViewModel[], theme: Theme) =>\n months.reduce((a, b) => a + b.getHeight(theme), 0);\n\nexport const getMonths = (month: number, year: number): MonthViewModel[] => {\n return [-1, 0, 1].map((x) => MonthViewModel.create(month + x, year));\n};\n\nexport const getMonthInNativeFormat = (month: number) => month - 1;\n\nexport const getMonthInHumanFormat = (month: number) => month + 1;\n\nexport const getInitialDate = ({\n today,\n date,\n minDate,\n maxDate,\n}: {\n today: CalendarDateShape;\n date?: Nullable<CalendarDateShape>;\n minDate?: Nullable<CalendarDateShape>;\n maxDate?: Nullable<CalendarDateShape>;\n}) => {\n if (date) {\n return date;\n }\n\n if (minDate && isLess(today, minDate)) {\n return minDate;\n }\n\n if (maxDate && isGreater(today, maxDate)) {\n return maxDate;\n }\n\n return today;\n};\n\nexport const getTodayDate = () => {\n const date = new Date();\n return {\n date: date.getDate(),\n month: date.getMonth(),\n year: date.getFullYear(),\n };\n};\n"]}
@@ -1,13 +1,5 @@
1
- import { Nullable } from '../../typings/utility-types';
2
- import * as CDS from './CalendarDateShape';
3
- interface DayCellViewProps {
4
- date: CDS.CalendarDateShape;
5
- today?: CDS.CalendarDateShape;
6
- value?: Nullable<CDS.CalendarDateShape>;
7
- minDate?: CDS.CalendarDateShape;
8
- maxDate?: CDS.CalendarDateShape;
9
- onDateClick?: (day: CDS.CalendarDateShape) => void;
10
- isWeekend?: boolean;
1
+ import { DayCellViewModel } from './DayCellViewModel';
2
+ export interface DayCellViewProps {
3
+ date: DayCellViewModel;
11
4
  }
12
- export declare function DayCellView(props: DayCellViewProps): JSX.Element;
13
- export {};
5
+ export declare const DayCellView: (props: DayCellViewProps) => JSX.Element;
@@ -1,65 +1,42 @@
1
- "use strict";var _interopRequireWildcard = require("@babel/runtime/helpers/interopRequireWildcard").default;var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault").default;exports.__esModule = true;exports.DayCellView = DayCellView;var _extends2 = _interopRequireDefault(require("@babel/runtime/helpers/extends"));var _react = _interopRequireWildcard(require("react"));
2
-
3
- var _useLocaleForControl = require("../../lib/locale/useLocaleForControl");
1
+ "use strict";var _interopRequireWildcard = require("@babel/runtime/helpers/interopRequireWildcard").default;exports.__esModule = true;exports.DayCellView = void 0;var _react = _interopRequireWildcard(require("react"));
4
2
 
5
3
  var _ThemeContext = require("../../lib/theming/ThemeContext");
6
- var _Emotion = require("../../lib/theming/Emotion");
7
- var _ThemeHelpers = require("../../lib/theming/ThemeHelpers");
8
- var _locale = require("../DatePicker/locale");
9
- var _getVisualStateDataAttributes = require("../../internal/CommonWrapper/utils/getVisualStateDataAttributes");
4
+ var _InternalDateTransformer = require("../../lib/date/InternalDateTransformer");
10
5
 
11
- var CDS = _interopRequireWildcard(require("./CalendarDateShape"));
12
6
  var _DayCellView = require("./DayCellView.styles");
13
- var _Calendar = require("./Calendar");
14
-
15
-
16
-
17
-
18
-
7
+ var _CalendarContext = require("./CalendarContext");
19
8
 
9
+ var CDS = _interopRequireWildcard(require("./CalendarDateShape"));
10
+ var _CalendarDay = require("./CalendarDay");
20
11
 
21
12
 
22
13
 
23
14
 
24
15
 
25
- function DayCellView(props) {var _cx;
26
- var date = props.date,minDate = props.minDate,maxDate = props.maxDate,today = props.today,value = props.value,isWeekend = props.isWeekend,onDateClick = props.onDateClick;
16
+ var DayCellView = function DayCellView(props) {var _isHoliday, _renderDay;
17
+ var date = props.date;
18
+ var _useContext = (0, _react.useContext)(_CalendarContext.CalendarContext),value = _useContext.value,minDate = _useContext.minDate,maxDate = _useContext.maxDate,isHoliday = _useContext.isHoliday,renderDay = _useContext.renderDay,today = _useContext.today,onDateClick = _useContext.onDateClick;
27
19
  var theme = (0, _react.useContext)(_ThemeContext.ThemeContext);
28
- var _isTheme2022 = (0, _ThemeHelpers.isTheme2022)(theme);
29
20
 
30
21
  var handleClick = function handleClick() {
31
- var _props$date = props.date,date = _props$date.date,month = _props$date.month,year = _props$date.year;
32
- onDateClick == null ? void 0 : onDateClick({ date: date, month: month, year: year });
22
+ onDateClick == null ? void 0 : onDateClick(date);
33
23
  };
34
24
 
35
- var child = _isTheme2022 ? /*#__PURE__*/
36
- _react.default.createElement("span", { className: (0, _Emotion.cx)(_DayCellView.globalClasses.todayCaption, _DayCellView.styles.todayCaption()) }, date.date) :
37
-
38
- date.date;
25
+ var humanDateString = _InternalDateTransformer.InternalDateTransformer.dateToHumanString(date);
39
26
 
27
+ var dayProps = {
28
+ isToday: Boolean(today && CDS.isEqual(date, today)),
29
+ isSelected: Boolean(value && CDS.isEqual(date, value)),
30
+ isDisabled: !CDS.isBetween(date, minDate, maxDate),
31
+ isWeekend: (_isHoliday = isHoliday == null ? void 0 : isHoliday(humanDateString, date.isWeekend)) != null ? _isHoliday : date.isWeekend,
32
+ date: humanDateString };
40
33
 
41
- var isToday = Boolean(today && CDS.isEqual(date, today));
42
- var isSelected = Boolean(value && CDS.isEqual(date, value));
43
34
 
44
- var locale = (0, _useLocaleForControl.useLocaleForControl)('Calendar', _locale.DatePickerLocaleHelper);
35
+ var dayElement = (_renderDay = renderDay == null ? void 0 : renderDay(dayProps)) != null ? _renderDay : /*#__PURE__*/_react.default.createElement(_CalendarDay.CalendarDay, dayProps);
45
36
 
46
37
  return /*#__PURE__*/(
47
- _react.default.createElement("button", (0, _extends2.default)({
48
- "data-tid": _Calendar.CalendarDataTids.dayCell,
49
- tabIndex: -1,
50
- "aria-label": locale.dayCellChooseDateAriaLabel + " " + (value == null ? void 0 : value.date) + "." + (value && value.month + 1) + "." + (value == null ? void 0 : value.year),
51
- disabled: !CDS.isBetween(date, minDate, maxDate),
52
- className: (0, _Emotion.cx)((_cx = {}, _cx[
53
- _DayCellView.styles.cell(theme)] = true, _cx[
54
- _DayCellView.styles.today(theme)] = isToday && !_isTheme2022, _cx[
55
- _DayCellView.styles.today2022(theme)] = isToday && _isTheme2022, _cx[
56
- _DayCellView.styles.selected(theme)] = isSelected, _cx[
57
- _DayCellView.styles.weekend(theme)] = Boolean(isWeekend), _cx)) },
58
-
59
- (0, _getVisualStateDataAttributes.getVisualStateDataAttributes)({ selected: isSelected }), {
60
- onClick: handleClick }),
61
-
62
- child));
38
+ _react.default.createElement("div", { onClick: handleClick, className: _DayCellView.styles.cell(theme) },
39
+ dayElement));
63
40
 
64
41
 
65
- }
42
+ };exports.DayCellView = DayCellView;
@@ -1 +1 @@
1
- {"version":3,"sources":["DayCellView.tsx"],"names":["DayCellView","props","date","minDate","maxDate","today","value","isWeekend","onDateClick","theme","ThemeContext","_isTheme2022","handleClick","month","year","child","globalClasses","todayCaption","styles","isToday","Boolean","CDS","isEqual","isSelected","locale","DatePickerLocaleHelper","CalendarDataTids","dayCell","dayCellChooseDateAriaLabel","isBetween","cell","today2022","selected","weekend"],"mappings":"uVAAA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;;;;;;;;;;;AAYO,SAASA,WAAT,CAAqBC,KAArB,EAA8C;AACnD,MAAQC,IAAR,GAAyED,KAAzE,CAAQC,IAAR,CAAcC,OAAd,GAAyEF,KAAzE,CAAcE,OAAd,CAAuBC,OAAvB,GAAyEH,KAAzE,CAAuBG,OAAvB,CAAgCC,KAAhC,GAAyEJ,KAAzE,CAAgCI,KAAhC,CAAuCC,KAAvC,GAAyEL,KAAzE,CAAuCK,KAAvC,CAA8CC,SAA9C,GAAyEN,KAAzE,CAA8CM,SAA9C,CAAyDC,WAAzD,GAAyEP,KAAzE,CAAyDO,WAAzD;AACA,MAAMC,KAAK,GAAG,uBAAWC,0BAAX,CAAd;AACA,MAAMC,YAAY,GAAG,+BAAYF,KAAZ,CAArB;;AAEA,MAAMG,WAAW,GAAG,SAAdA,WAAc,GAAM;AACxB,sBAA8BX,KAAK,CAACC,IAApC,CAAQA,IAAR,eAAQA,IAAR,CAAcW,KAAd,eAAcA,KAAd,CAAqBC,IAArB,eAAqBA,IAArB;AACAN,IAAAA,WAAW,QAAX,YAAAA,WAAW,CAAG,EAAEN,IAAI,EAAJA,IAAF,EAAQW,KAAK,EAALA,KAAR,EAAeC,IAAI,EAAJA,IAAf,EAAH,CAAX;AACD,GAHD;;AAKA,MAAMC,KAAK,GAAGJ,YAAY;AACxB,yCAAM,SAAS,EAAE,iBAAGK,2BAAcC,YAAjB,EAA+BC,oBAAOD,YAAP,EAA/B,CAAjB,IAAyEf,IAAI,CAACA,IAA9E,CADwB;;AAGxBA,EAAAA,IAAI,CAACA,IAHP;;;AAMA,MAAMiB,OAAO,GAAGC,OAAO,CAACf,KAAK,IAAIgB,GAAG,CAACC,OAAJ,CAAYpB,IAAZ,EAAkBG,KAAlB,CAAV,CAAvB;AACA,MAAMkB,UAAU,GAAGH,OAAO,CAACd,KAAK,IAAIe,GAAG,CAACC,OAAJ,CAAYpB,IAAZ,EAAkBI,KAAlB,CAAV,CAA1B;;AAEA,MAAMkB,MAAM,GAAG,8CAAoB,UAApB,EAAgCC,8BAAhC,CAAf;;AAEA;AACE;AACE,kBAAUC,2BAAiBC,OAD7B;AAEE,MAAA,QAAQ,EAAE,CAAC,CAFb;AAGE,oBAAeH,MAAM,CAACI,0BAAtB,UAAoDtB,KAApD,oBAAoDA,KAAK,CAAEJ,IAA3D,WAAmEI,KAAK,IAAIA,KAAK,CAACO,KAAN,GAAc,CAA1F,WAA+FP,KAA/F,oBAA+FA,KAAK,CAAEQ,IAAtG,CAHF;AAIE,MAAA,QAAQ,EAAE,CAACO,GAAG,CAACQ,SAAJ,CAAc3B,IAAd,EAAoBC,OAApB,EAA6BC,OAA7B,CAJb;AAKE,MAAA,SAAS,EAAE;AACRc,0BAAOY,IAAP,CAAYrB,KAAZ,CADQ,IACa,IADb;AAERS,0BAAOb,KAAP,CAAaI,KAAb,CAFQ,IAEcU,OAAO,IAAI,CAACR,YAF1B;AAGRO,0BAAOa,SAAP,CAAiBtB,KAAjB,CAHQ,IAGkBU,OAAO,IAAIR,YAH7B;AAIRO,0BAAOc,QAAP,CAAgBvB,KAAhB,CAJQ,IAIiBc,UAJjB;AAKRL,0BAAOe,OAAP,CAAexB,KAAf,CALQ,IAKgBW,OAAO,CAACb,SAAD,CALvB,OALb;;AAYM,oEAA6B,EAAEyB,QAAQ,EAAET,UAAZ,EAA7B,CAZN;AAaE,MAAA,OAAO,EAAEX,WAbX;;AAeGG,IAAAA,KAfH,CADF;;;AAmBD","sourcesContent":["import React, { useContext } from 'react';\n\nimport { useLocaleForControl } from '../../lib/locale/useLocaleForControl';\nimport { Nullable } from '../../typings/utility-types';\nimport { ThemeContext } from '../../lib/theming/ThemeContext';\nimport { cx } from '../../lib/theming/Emotion';\nimport { isTheme2022 } from '../../lib/theming/ThemeHelpers';\nimport { DatePickerLocaleHelper } from '../DatePicker/locale';\nimport { getVisualStateDataAttributes } from '../../internal/CommonWrapper/utils/getVisualStateDataAttributes';\n\nimport * as CDS from './CalendarDateShape';\nimport { globalClasses, styles } from './DayCellView.styles';\nimport { CalendarDataTids } from './Calendar';\n\ninterface DayCellViewProps {\n date: CDS.CalendarDateShape;\n today?: CDS.CalendarDateShape;\n value?: Nullable<CDS.CalendarDateShape>;\n minDate?: CDS.CalendarDateShape;\n maxDate?: CDS.CalendarDateShape;\n onDateClick?: (day: CDS.CalendarDateShape) => void;\n isWeekend?: boolean;\n}\n\nexport function DayCellView(props: DayCellViewProps) {\n const { date, minDate, maxDate, today, value, isWeekend, onDateClick } = props;\n const theme = useContext(ThemeContext);\n const _isTheme2022 = isTheme2022(theme);\n\n const handleClick = () => {\n const { date, month, year } = props.date;\n onDateClick?.({ date, month, year });\n };\n\n const child = _isTheme2022 ? (\n <span className={cx(globalClasses.todayCaption, styles.todayCaption())}>{date.date}</span>\n ) : (\n date.date\n );\n\n const isToday = Boolean(today && CDS.isEqual(date, today));\n const isSelected = Boolean(value && CDS.isEqual(date, value));\n\n const locale = useLocaleForControl('Calendar', DatePickerLocaleHelper);\n\n return (\n <button\n data-tid={CalendarDataTids.dayCell}\n tabIndex={-1}\n aria-label={`${locale.dayCellChooseDateAriaLabel} ${value?.date}.${value && value.month + 1}.${value?.year}`}\n disabled={!CDS.isBetween(date, minDate, maxDate)}\n className={cx({\n [styles.cell(theme)]: true,\n [styles.today(theme)]: isToday && !_isTheme2022,\n [styles.today2022(theme)]: isToday && _isTheme2022,\n [styles.selected(theme)]: isSelected,\n [styles.weekend(theme)]: Boolean(isWeekend),\n })}\n {...getVisualStateDataAttributes({ selected: isSelected })}\n onClick={handleClick}\n >\n {child}\n </button>\n );\n}\n"]}
1
+ {"version":3,"sources":["DayCellView.tsx"],"names":["DayCellView","props","date","CalendarContext","value","minDate","maxDate","isHoliday","renderDay","today","onDateClick","theme","ThemeContext","handleClick","humanDateString","InternalDateTransformer","dateToHumanString","dayProps","isToday","Boolean","CDS","isEqual","isSelected","isDisabled","isBetween","isWeekend","dayElement","styles","cell"],"mappings":"mKAAA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;;;;;;AAMO,IAAMA,WAAW,GAAG,SAAdA,WAAc,CAACC,KAAD,EAA6B;AACtD,MAAQC,IAAR,GAAiBD,KAAjB,CAAQC,IAAR;AACA,oBAA8E,uBAAWC,gCAAX,CAA9E,CAAQC,KAAR,eAAQA,KAAR,CAAeC,OAAf,eAAeA,OAAf,CAAwBC,OAAxB,eAAwBA,OAAxB,CAAiCC,SAAjC,eAAiCA,SAAjC,CAA4CC,SAA5C,eAA4CA,SAA5C,CAAuDC,KAAvD,eAAuDA,KAAvD,CAA8DC,WAA9D,eAA8DA,WAA9D;AACA,MAAMC,KAAK,GAAG,uBAAWC,0BAAX,CAAd;;AAEA,MAAMC,WAAW,GAAG,SAAdA,WAAc,GAAM;AACxBH,IAAAA,WAAW,QAAX,YAAAA,WAAW,CAAGR,IAAH,CAAX;AACD,GAFD;;AAIA,MAAMY,eAAe,GAAGC,iDAAwBC,iBAAxB,CAA0Cd,IAA1C,CAAxB;;AAEA,MAAMe,QAA0B,GAAG;AACjCC,IAAAA,OAAO,EAAEC,OAAO,CAACV,KAAK,IAAIW,GAAG,CAACC,OAAJ,CAAYnB,IAAZ,EAAkBO,KAAlB,CAAV,CADiB;AAEjCa,IAAAA,UAAU,EAAEH,OAAO,CAACf,KAAK,IAAIgB,GAAG,CAACC,OAAJ,CAAYnB,IAAZ,EAAkBE,KAAlB,CAAV,CAFc;AAGjCmB,IAAAA,UAAU,EAAE,CAACH,GAAG,CAACI,SAAJ,CAActB,IAAd,EAAoBG,OAApB,EAA6BC,OAA7B,CAHoB;AAIjCmB,IAAAA,SAAS,gBAAElB,SAAF,oBAAEA,SAAS,CAAGO,eAAH,EAAoBZ,IAAI,CAACuB,SAAzB,CAAX,yBAAkDvB,IAAI,CAACuB,SAJ/B;AAKjCvB,IAAAA,IAAI,EAAEY,eAL2B,EAAnC;;;AAQA,MAAMY,UAAU,iBAAGlB,SAAH,oBAAGA,SAAS,CAAGS,QAAH,CAAZ,sCAA4B,6BAAC,wBAAD,EAAiBA,QAAjB,CAA5C;;AAEA;AACE,0CAAK,OAAO,EAAEJ,WAAd,EAA2B,SAAS,EAAEc,oBAAOC,IAAP,CAAYjB,KAAZ,CAAtC;AACGe,IAAAA,UADH,CADF;;;AAKD,CA1BM,C","sourcesContent":["import React, { useContext } from 'react';\n\nimport { ThemeContext } from '../../lib/theming/ThemeContext';\nimport { InternalDateTransformer } from '../../lib/date/InternalDateTransformer';\n\nimport { styles } from './DayCellView.styles';\nimport { CalendarContext } from './CalendarContext';\nimport { DayCellViewModel } from './DayCellViewModel';\nimport * as CDS from './CalendarDateShape';\nimport { CalendarDay, CalendarDayProps } from './CalendarDay';\n\nexport interface DayCellViewProps {\n date: DayCellViewModel;\n}\n\nexport const DayCellView = (props: DayCellViewProps) => {\n const { date } = props;\n const { value, minDate, maxDate, isHoliday, renderDay, today, onDateClick } = useContext(CalendarContext);\n const theme = useContext(ThemeContext);\n\n const handleClick = () => {\n onDateClick?.(date);\n };\n\n const humanDateString = InternalDateTransformer.dateToHumanString(date);\n\n const dayProps: CalendarDayProps = {\n isToday: Boolean(today && CDS.isEqual(date, today)),\n isSelected: Boolean(value && CDS.isEqual(date, value)),\n isDisabled: !CDS.isBetween(date, minDate, maxDate),\n isWeekend: isHoliday?.(humanDateString, date.isWeekend) ?? date.isWeekend,\n date: humanDateString,\n };\n\n const dayElement = renderDay?.(dayProps) ?? <CalendarDay {...dayProps} />;\n\n return (\n <div onClick={handleClick} className={styles.cell(theme)}>\n {dayElement}\n </div>\n );\n};\n"]}
@@ -1,12 +1,9 @@
1
1
  import { Theme } from '../../lib/theming/Theme';
2
- export declare const globalClasses: {
3
- todayCaption: string;
4
- };
5
2
  export declare const styles: {
6
3
  cell(t: Theme): string;
4
+ day(t: Theme): string;
7
5
  selected(t: Theme): string;
8
6
  weekend(t: Theme): string;
9
7
  today(t: Theme): string;
10
- today2022(t: Theme): string;
11
- todayCaption(): string;
8
+ todayCaption2022(t: Theme): string;
12
9
  };
@@ -1,29 +1,29 @@
1
- "use strict";var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault").default;exports.__esModule = true;exports.styles = exports.globalClasses = void 0;var _taggedTemplateLiteralLoose2 = _interopRequireDefault(require("@babel/runtime/helpers/taggedTemplateLiteralLoose"));var _Emotion = require("../../lib/theming/Emotion");
1
+ "use strict";var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault").default;exports.__esModule = true;exports.styles = void 0;var _taggedTemplateLiteralLoose2 = _interopRequireDefault(require("@babel/runtime/helpers/taggedTemplateLiteralLoose"));var _Emotion = require("../../lib/theming/Emotion");
2
2
 
3
3
  var _Mixins = require("../../lib/styles/Mixins");var _templateObject, _templateObject2, _templateObject3, _templateObject4, _templateObject5, _templateObject6;
4
4
 
5
- var globalClasses = (0, _Emotion.prefix)('day-cell-view')({
6
- todayCaption: 'today-caption' });exports.globalClasses = globalClasses;
7
-
8
-
9
5
  var styles = (0, _Emotion.memoizeStyle)({
10
6
  cell: function cell(t) {
11
- return (0, _Emotion.css)(_templateObject || (_templateObject = (0, _taggedTemplateLiteralLoose2.default)(["\n ", ";\n\n background: ", ";\n border: 1px solid transparent;\n display: inline-block;\n font-size: 14px;\n padding: 0;\n text-align: center;\n user-select: none;\n position: relative;\n\n width: ", ";\n height: ", ";\n line-height: ", ";\n border-radius: 50%;\n\n &:hover {\n background-color: ", ";\n color: ", ";\n cursor: pointer;\n }\n &:disabled {\n opacity: 0.5;\n pointer-events: none;\n }\n &:active:hover:enabled {\n color: ", ";\n }\n "])),
12
- (0, _Mixins.resetButton)(),
7
+ return (0, _Emotion.css)(_templateObject || (_templateObject = (0, _taggedTemplateLiteralLoose2.default)(["\n flex: 1 1 ", ";\n height: ", ";\n "])),
8
+ t.calendarCellWidth,
9
+ t.calendarCellHeight);
13
10
 
14
- t.calendarCellBg,
11
+ },
12
+ day: function day(t) {
13
+ return (0, _Emotion.css)(_templateObject2 || (_templateObject2 = (0, _taggedTemplateLiteralLoose2.default)(["\n ", ";\n width: 100%;\n height: 100%;\n\n background: ", ";\n border: 1px solid transparent;\n font-size: ", ";\n padding: 0;\n text-align: center;\n user-select: none;\n position: relative;\n line-height: ", ";\n border-radius: ", ";\n\n &:hover {\n background-color: ", ";\n color: ", ";\n cursor: pointer;\n }\n &:disabled {\n opacity: 0.5;\n pointer-events: none;\n }\n &:active:hover:enabled {\n color: ", ";\n }\n "])),
14
+ (0, _Mixins.resetButton)(),
15
15
 
16
16
 
17
17
 
18
+ t.calendarCellBg,
18
19
 
20
+ t.calendarCellFontSize,
19
21
 
20
22
 
21
23
 
22
24
 
23
- t.calendarCellSize,
24
- t.calendarCellSize,
25
25
  t.calendarCellLineHeight,
26
-
26
+ t.calendarCellBorderRadius,
27
27
 
28
28
 
29
29
  t.calendarCellHoverBgColor,
@@ -41,34 +41,27 @@ var styles = (0, _Emotion.memoizeStyle)({
41
41
  },
42
42
 
43
43
  selected: function selected(t) {
44
- return (0, _Emotion.css)(_templateObject2 || (_templateObject2 = (0, _taggedTemplateLiteralLoose2.default)(["\n background-color: ", ";\n color: ", ";\n "])),
44
+ return (0, _Emotion.css)(_templateObject3 || (_templateObject3 = (0, _taggedTemplateLiteralLoose2.default)(["\n background-color: ", ";\n color: ", ";\n "])),
45
45
  t.calendarCellSelectedBgColor,
46
46
  t.calendarCellSelectedFontColor);
47
47
 
48
48
  },
49
49
 
50
50
  weekend: function weekend(t) {
51
- return (0, _Emotion.css)(_templateObject3 || (_templateObject3 = (0, _taggedTemplateLiteralLoose2.default)(["\n color: ", ";\n "])),
51
+ return (0, _Emotion.css)(_templateObject4 || (_templateObject4 = (0, _taggedTemplateLiteralLoose2.default)(["\n color: ", ";\n "])),
52
52
  t.calendarCellWeekendColor);
53
53
 
54
54
  },
55
55
 
56
56
  today: function today(t) {
57
- return (0, _Emotion.css)(_templateObject4 || (_templateObject4 = (0, _taggedTemplateLiteralLoose2.default)(["\n border: ", ";\n "])),
57
+ return (0, _Emotion.css)(_templateObject5 || (_templateObject5 = (0, _taggedTemplateLiteralLoose2.default)(["\n border: ", ";\n "])),
58
58
  t.calendarCellTodayBorder);
59
59
 
60
60
  },
61
61
 
62
- today2022: function today2022(t) {
63
- return (0, _Emotion.css)(_templateObject5 || (_templateObject5 = (0, _taggedTemplateLiteralLoose2.default)(["\n .", " {\n border-bottom: ", ";\n }\n "])),
64
- globalClasses.todayCaption,
65
- t.calendarCellTodayBorder);
66
-
67
-
68
- },
69
-
70
- todayCaption: function todayCaption() {
71
- return (0, _Emotion.css)(_templateObject6 || (_templateObject6 = (0, _taggedTemplateLiteralLoose2.default)(["\n padding-bottom: 2px;\n "])));
62
+ todayCaption2022: function todayCaption2022(t) {
63
+ return (0, _Emotion.css)(_templateObject6 || (_templateObject6 = (0, _taggedTemplateLiteralLoose2.default)(["\n padding-bottom: 2px;\n border-bottom: ", ";\n "])),
72
64
 
65
+ t.calendarCellTodayBorder);
73
66
 
74
67
  } });exports.styles = styles;
@@ -1 +1 @@
1
- {"version":3,"sources":["DayCellView.styles.ts"],"names":["globalClasses","todayCaption","styles","cell","t","css","calendarCellBg","calendarCellSize","calendarCellLineHeight","calendarCellHoverBgColor","calendarCellHoverColor","calendarCellActiveHoverColor","selected","calendarCellSelectedBgColor","calendarCellSelectedFontColor","weekend","calendarCellWeekendColor","today","calendarCellTodayBorder","today2022"],"mappings":"4SAAA;;AAEA,iD;;AAEO,IAAMA,aAAa,GAAG,qBAAO,eAAP,EAAwB;AACnDC,EAAAA,YAAY,EAAE,eADqC,EAAxB,CAAtB,C;;;AAIA,IAAMC,MAAM,GAAG,2BAAa;AACjCC,EAAAA,IADiC,gBAC5BC,CAD4B,EAClB;AACb,eAAOC,YAAP;AACI,8BADJ;;AAGgBD,IAAAA,CAAC,CAACE,cAHlB;;;;;;;;;AAYWF,IAAAA,CAAC,CAACG,gBAZb;AAaYH,IAAAA,CAAC,CAACG,gBAbd;AAciBH,IAAAA,CAAC,CAACI,sBAdnB;;;;AAkBwBJ,IAAAA,CAAC,CAACK,wBAlB1B;AAmBaL,IAAAA,CAAC,CAACM,sBAnBf;;;;;;;;AA2BaN,IAAAA,CAAC,CAACO,4BA3Bf;;;AA8BD,GAhCgC;;AAkCjCC,EAAAA,QAlCiC,oBAkCxBR,CAlCwB,EAkCd;AACjB,eAAOC,YAAP;AACsBD,IAAAA,CAAC,CAACS,2BADxB;AAEWT,IAAAA,CAAC,CAACU,6BAFb;;AAID,GAvCgC;;AAyCjCC,EAAAA,OAzCiC,mBAyCzBX,CAzCyB,EAyCf;AAChB,eAAOC,YAAP;AACWD,IAAAA,CAAC,CAACY,wBADb;;AAGD,GA7CgC;;AA+CjCC,EAAAA,KA/CiC,iBA+C3Bb,CA/C2B,EA+CjB;AACd,eAAOC,YAAP;AACYD,IAAAA,CAAC,CAACc,uBADd;;AAGD,GAnDgC;;AAqDjCC,EAAAA,SArDiC,qBAqDvBf,CArDuB,EAqDb;AAClB,eAAOC,YAAP;AACKL,IAAAA,aAAa,CAACC,YADnB;AAEqBG,IAAAA,CAAC,CAACc,uBAFvB;;;AAKD,GA3DgC;;AA6DjCjB,EAAAA,YA7DiC,0BA6DlB;AACb,eAAOI,YAAP;;;AAGD,GAjEgC,EAAb,CAAf,C","sourcesContent":["import { css, memoizeStyle, prefix } from '../../lib/theming/Emotion';\nimport { Theme } from '../../lib/theming/Theme';\nimport { resetButton } from '../../lib/styles/Mixins';\n\nexport const globalClasses = prefix('day-cell-view')({\n todayCaption: 'today-caption',\n});\n\nexport const styles = memoizeStyle({\n cell(t: Theme) {\n return css`\n ${resetButton()};\n\n background: ${t.calendarCellBg};\n border: 1px solid transparent;\n display: inline-block;\n font-size: 14px;\n padding: 0;\n text-align: center;\n user-select: none;\n position: relative;\n\n width: ${t.calendarCellSize};\n height: ${t.calendarCellSize};\n line-height: ${t.calendarCellLineHeight};\n border-radius: 50%;\n\n &:hover {\n background-color: ${t.calendarCellHoverBgColor};\n color: ${t.calendarCellHoverColor};\n cursor: pointer;\n }\n &:disabled {\n opacity: 0.5;\n pointer-events: none;\n }\n &:active:hover:enabled {\n color: ${t.calendarCellActiveHoverColor};\n }\n `;\n },\n\n selected(t: Theme) {\n return css`\n background-color: ${t.calendarCellSelectedBgColor};\n color: ${t.calendarCellSelectedFontColor};\n `;\n },\n\n weekend(t: Theme) {\n return css`\n color: ${t.calendarCellWeekendColor};\n `;\n },\n\n today(t: Theme) {\n return css`\n border: ${t.calendarCellTodayBorder};\n `;\n },\n\n today2022(t: Theme) {\n return css`\n .${globalClasses.todayCaption} {\n border-bottom: ${t.calendarCellTodayBorder};\n }\n `;\n },\n\n todayCaption() {\n return css`\n padding-bottom: 2px;\n `;\n },\n});\n"]}
1
+ {"version":3,"sources":["DayCellView.styles.ts"],"names":["styles","cell","t","css","calendarCellWidth","calendarCellHeight","day","calendarCellBg","calendarCellFontSize","calendarCellLineHeight","calendarCellBorderRadius","calendarCellHoverBgColor","calendarCellHoverColor","calendarCellActiveHoverColor","selected","calendarCellSelectedBgColor","calendarCellSelectedFontColor","weekend","calendarCellWeekendColor","today","calendarCellTodayBorder","todayCaption2022"],"mappings":"oRAAA;;AAEA,iD;;AAEO,IAAMA,MAAM,GAAG,2BAAa;AACjCC,EAAAA,IADiC,gBAC5BC,CAD4B,EAClB;AACb,eAAOC,YAAP;AACcD,IAAAA,CAAC,CAACE,iBADhB;AAEYF,IAAAA,CAAC,CAACG,kBAFd;;AAID,GANgC;AAOjCC,EAAAA,GAPiC,eAO7BJ,CAP6B,EAOnB;AACZ,eAAOC,YAAP;AACI,8BADJ;;;;AAKgBD,IAAAA,CAAC,CAACK,cALlB;;AAOeL,IAAAA,CAAC,CAACM,oBAPjB;;;;;AAYiBN,IAAAA,CAAC,CAACO,sBAZnB;AAamBP,IAAAA,CAAC,CAACQ,wBAbrB;;;AAgBwBR,IAAAA,CAAC,CAACS,wBAhB1B;AAiBaT,IAAAA,CAAC,CAACU,sBAjBf;;;;;;;;AAyBaV,IAAAA,CAAC,CAACW,4BAzBf;;;AA4BD,GApCgC;;AAsCjCC,EAAAA,QAtCiC,oBAsCxBZ,CAtCwB,EAsCd;AACjB,eAAOC,YAAP;AACsBD,IAAAA,CAAC,CAACa,2BADxB;AAEWb,IAAAA,CAAC,CAACc,6BAFb;;AAID,GA3CgC;;AA6CjCC,EAAAA,OA7CiC,mBA6CzBf,CA7CyB,EA6Cf;AAChB,eAAOC,YAAP;AACWD,IAAAA,CAAC,CAACgB,wBADb;;AAGD,GAjDgC;;AAmDjCC,EAAAA,KAnDiC,iBAmD3BjB,CAnD2B,EAmDjB;AACd,eAAOC,YAAP;AACYD,IAAAA,CAAC,CAACkB,uBADd;;AAGD,GAvDgC;;AAyDjCC,EAAAA,gBAzDiC,4BAyDhBnB,CAzDgB,EAyDN;AACzB,eAAOC,YAAP;;AAEmBD,IAAAA,CAAC,CAACkB,uBAFrB;;AAID,GA9DgC,EAAb,CAAf,C","sourcesContent":["import { css, memoizeStyle } from '../../lib/theming/Emotion';\nimport { Theme } from '../../lib/theming/Theme';\nimport { resetButton } from '../../lib/styles/Mixins';\n\nexport const styles = memoizeStyle({\n cell(t: Theme) {\n return css`\n flex: 1 1 ${t.calendarCellWidth};\n height: ${t.calendarCellHeight};\n `;\n },\n day(t: Theme) {\n return css`\n ${resetButton()};\n width: 100%;\n height: 100%;\n\n background: ${t.calendarCellBg};\n border: 1px solid transparent;\n font-size: ${t.calendarCellFontSize};\n padding: 0;\n text-align: center;\n user-select: none;\n position: relative;\n line-height: ${t.calendarCellLineHeight};\n border-radius: ${t.calendarCellBorderRadius};\n\n &:hover {\n background-color: ${t.calendarCellHoverBgColor};\n color: ${t.calendarCellHoverColor};\n cursor: pointer;\n }\n &:disabled {\n opacity: 0.5;\n pointer-events: none;\n }\n &:active:hover:enabled {\n color: ${t.calendarCellActiveHoverColor};\n }\n `;\n },\n\n selected(t: Theme) {\n return css`\n background-color: ${t.calendarCellSelectedBgColor};\n color: ${t.calendarCellSelectedFontColor};\n `;\n },\n\n weekend(t: Theme) {\n return css`\n color: ${t.calendarCellWeekendColor};\n `;\n },\n\n today(t: Theme) {\n return css`\n border: ${t.calendarCellTodayBorder};\n `;\n },\n\n todayCaption2022(t: Theme) {\n return css`\n padding-bottom: 2px;\n border-bottom: ${t.calendarCellTodayBorder};\n `;\n },\n});\n"]}
@@ -1,19 +1,9 @@
1
1
  import React from 'react';
2
- import { Nullable } from '../../typings/utility-types';
3
- import * as CDS from './CalendarDateShape';
4
2
  import { MonthViewModel } from './MonthViewModel';
5
3
  interface MonthProps {
6
4
  top: number;
7
5
  month: MonthViewModel;
8
- maxDate?: CDS.CalendarDateShape;
9
- minDate?: CDS.CalendarDateShape;
10
- today?: CDS.CalendarDateShape;
11
- value?: Nullable<CDS.CalendarDateShape>;
12
- onDateClick?: (date: CDS.CalendarDateShape) => void;
13
6
  onMonthYearChange: (month: number, year: number) => void;
14
- isHoliday?: (day: CDS.CalendarDateShape & {
15
- isWeekend: boolean;
16
- }) => boolean;
17
7
  }
18
8
  export declare class Month extends React.Component<MonthProps> {
19
9
  private theme;