@ozen-ui/kit 0.52.0 → 0.54.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 (265) hide show
  1. package/TagNext/package.json +5 -0
  2. package/__inner__/cjs/components/Autocomplete/helper.d.ts +2 -0
  3. package/__inner__/cjs/components/Autocomplete/types.d.ts +1 -1
  4. package/__inner__/cjs/components/Calendar/Calendar.css +3 -0
  5. package/__inner__/cjs/components/Calendar/Calendar.d.ts +2 -3
  6. package/__inner__/cjs/components/Calendar/Calendar.js +13 -77
  7. package/__inner__/cjs/components/Calendar/CalendarContext.d.ts +7 -7
  8. package/__inner__/cjs/components/Calendar/CalendarContext.js +5 -5
  9. package/__inner__/cjs/components/Calendar/components/CalendarGrid/CalendarGrid.d.ts +5 -1
  10. package/__inner__/cjs/components/Calendar/components/CalendarGrid/CalendarGrid.js +13 -11
  11. package/__inner__/cjs/components/Calendar/components/{CalendarItem/CalendatItem.css → CalendarGridItem/CalendarGridItem.css} +17 -13
  12. package/__inner__/cjs/components/Calendar/components/CalendarGridItem/CalendarGridItem.d.ts +15 -0
  13. package/__inner__/cjs/components/Calendar/components/CalendarGridItem/CalendarGridItem.js +20 -0
  14. package/__inner__/cjs/components/Calendar/components/CalendarGridItem/index.d.ts +1 -0
  15. package/__inner__/cjs/components/{DatePicker/utils/matchCalendarSizeToFormElement → Calendar/components/CalendarGridItem}/index.js +1 -1
  16. package/__inner__/cjs/components/Calendar/components/CalendarItem/CalendarItem.d.ts +10 -12
  17. package/__inner__/cjs/components/Calendar/components/CalendarItem/CalendarItem.js +42 -12
  18. package/__inner__/cjs/components/Calendar/components/CalendarItem/CalendarItemContext.d.ts +10 -0
  19. package/__inner__/cjs/components/Calendar/components/CalendarItem/CalendarItemContext.js +10 -0
  20. package/__inner__/cjs/components/Calendar/components/CalendarItem/components/CalendarItemNextMonth/CalendarItemNextMonth.d.ts +2 -0
  21. package/__inner__/cjs/components/Calendar/components/CalendarItem/components/CalendarItemNextMonth/CalendarItemNextMonth.js +16 -0
  22. package/__inner__/cjs/components/Calendar/components/CalendarItem/components/CalendarItemNextMonth/index.d.ts +1 -0
  23. package/__inner__/cjs/components/Calendar/components/CalendarItem/components/CalendarItemNextMonth/index.js +4 -0
  24. package/__inner__/cjs/components/Calendar/components/CalendarItem/components/CalendarItemPreviousMonth/CalendarItemPreviousMonth.d.ts +2 -0
  25. package/__inner__/cjs/components/Calendar/components/CalendarItem/components/CalendarItemPreviousMonth/CalendarItemPreviousMonth.js +16 -0
  26. package/__inner__/cjs/components/Calendar/components/CalendarItem/components/CalendarItemPreviousMonth/index.d.ts +1 -0
  27. package/__inner__/cjs/components/Calendar/components/CalendarItem/components/CalendarItemPreviousMonth/index.js +4 -0
  28. package/__inner__/cjs/components/Calendar/components/CalendarItem/components/index.d.ts +2 -0
  29. package/__inner__/cjs/components/Calendar/components/CalendarItem/components/index.js +5 -0
  30. package/__inner__/cjs/components/Calendar/components/CalendarModeRange/CalendarModeRange.d.ts +2 -0
  31. package/__inner__/cjs/components/Calendar/components/CalendarModeRange/CalendarModeRange.js +79 -0
  32. package/__inner__/{esm/components/Calendar → cjs/components/Calendar/components/CalendarModeRange}/components/CalendarAdditionalControls/CalendarAdditionalControls.d.ts +2 -2
  33. package/__inner__/cjs/components/Calendar/components/CalendarModeRange/components/CalendarAdditionalControls/CalendarAdditionalControls.js +25 -0
  34. package/__inner__/cjs/components/Calendar/components/CalendarModeRange/components/CalendarConsumer/CalendarConsumer.d.ts +2 -0
  35. package/__inner__/cjs/components/Calendar/components/CalendarModeRange/components/CalendarConsumer/CalendarConsumer.js +45 -0
  36. package/__inner__/cjs/components/Calendar/components/CalendarModeRange/components/CalendarConsumer/index.d.ts +1 -0
  37. package/__inner__/cjs/components/Calendar/components/CalendarModeRange/components/CalendarConsumer/index.js +4 -0
  38. package/__inner__/cjs/components/Calendar/components/CalendarModeRange/components/index.d.ts +2 -0
  39. package/__inner__/cjs/components/Calendar/components/CalendarModeRange/components/index.js +5 -0
  40. package/__inner__/cjs/components/Calendar/components/CalendarModeRange/index.d.ts +1 -0
  41. package/__inner__/cjs/components/Calendar/components/CalendarModeRange/index.js +4 -0
  42. package/__inner__/cjs/components/Calendar/components/CalendarModeSingle/CalendarModeSingle.d.ts +2 -0
  43. package/__inner__/cjs/components/Calendar/components/CalendarModeSingle/CalendarModeSingle.js +74 -0
  44. package/__inner__/cjs/components/Calendar/components/CalendarModeSingle/components/CalendarAdditionalControls/CalendarAdditionalControls.d.ts +9 -0
  45. package/__inner__/cjs/components/Calendar/components/{CalendarAdditionalControls → CalendarModeSingle/components/CalendarAdditionalControls}/CalendarAdditionalControls.js +3 -3
  46. package/__inner__/cjs/components/Calendar/components/CalendarModeSingle/components/CalendarAdditionalControls/index.js +4 -0
  47. package/__inner__/cjs/components/Calendar/components/CalendarModeSingle/components/CalendarConsumer/CalendarConsumer.d.ts +2 -0
  48. package/__inner__/cjs/components/Calendar/components/CalendarModeSingle/components/CalendarConsumer/CalendarConsumer.js +39 -0
  49. package/__inner__/cjs/components/Calendar/components/CalendarModeSingle/components/CalendarConsumer/index.d.ts +1 -0
  50. package/__inner__/cjs/components/Calendar/components/CalendarModeSingle/components/CalendarConsumer/index.js +4 -0
  51. package/__inner__/cjs/components/Calendar/components/CalendarModeSingle/components/index.d.ts +2 -0
  52. package/__inner__/cjs/components/Calendar/components/CalendarModeSingle/components/index.js +5 -0
  53. package/__inner__/cjs/components/Calendar/components/CalendarModeSingle/index.d.ts +1 -0
  54. package/__inner__/cjs/components/Calendar/components/CalendarModeSingle/index.js +4 -0
  55. package/__inner__/cjs/components/Calendar/components/CalendarSwitcher/CalendarSwitcher.css +5 -7
  56. package/__inner__/cjs/components/Calendar/components/CalendarSwitcher/CalendarSwitcher.d.ts +3 -3
  57. package/__inner__/cjs/components/Calendar/components/CalendarSwitcher/CalendarSwitcher.js +10 -10
  58. package/__inner__/cjs/components/Calendar/components/index.d.ts +4 -2
  59. package/__inner__/cjs/components/Calendar/components/index.js +4 -2
  60. package/__inner__/cjs/components/Calendar/constants.d.ts +1 -1
  61. package/__inner__/cjs/components/Calendar/constants.js +2 -2
  62. package/__inner__/cjs/components/Calendar/types.d.ts +19 -16
  63. package/__inner__/cjs/components/Calendar/types.js +2 -1
  64. package/__inner__/cjs/components/Calendar/utils.d.ts +3 -0
  65. package/__inner__/cjs/components/Calendar/{components/CalendarSwitcher/utils.js → utils.js} +3 -1
  66. package/__inner__/cjs/components/DatePicker/DatePicker.d.ts +7 -7
  67. package/__inner__/cjs/components/DatePicker/DatePicker.js +1 -1
  68. package/__inner__/cjs/components/DatePicker/types.d.ts +4 -4
  69. package/__inner__/cjs/components/DatePicker/utils/getCalendarSizeToFormElement/getCalendarSizeToFormElement.d.ts +2 -0
  70. package/__inner__/cjs/components/DatePicker/utils/getCalendarSizeToFormElement/getCalendarSizeToFormElement.js +15 -0
  71. package/__inner__/cjs/components/DatePicker/utils/getCalendarSizeToFormElement/index.d.ts +1 -0
  72. package/__inner__/cjs/components/DatePicker/utils/getCalendarSizeToFormElement/index.js +4 -0
  73. package/__inner__/cjs/components/DatePicker/utils/index.d.ts +1 -1
  74. package/__inner__/cjs/components/DatePicker/utils/index.js +1 -1
  75. package/__inner__/cjs/components/FieldControl/FieldControl.css +7 -1
  76. package/__inner__/cjs/components/FieldControl/FieldControl.js +7 -1
  77. package/__inner__/cjs/components/FieldControl/FieldControlContext.d.ts +1 -0
  78. package/__inner__/cjs/components/FilePicker/FilePicker.d.ts +2 -1
  79. package/__inner__/cjs/components/FilePicker/types.d.ts +2 -0
  80. package/__inner__/cjs/components/Input/types.d.ts +2 -0
  81. package/__inner__/cjs/components/InputNumber/types.d.ts +2 -0
  82. package/__inner__/cjs/components/Loader/Loader.css +12 -12
  83. package/__inner__/cjs/components/Loader/Loader.d.ts +11 -11
  84. package/__inner__/cjs/components/Loader/Loader.js +3 -2
  85. package/__inner__/cjs/components/Select/Select.css +0 -1
  86. package/__inner__/cjs/components/Select/Select.js +6 -6
  87. package/__inner__/cjs/components/Select/components/SelectInput/types.d.ts +2 -0
  88. package/__inner__/cjs/components/Select/types.d.ts +1 -1
  89. package/__inner__/cjs/components/Snackbar/components/Snackbar/Snackbar.css +6 -5
  90. package/__inner__/cjs/components/Tag/Tag.css +5 -0
  91. package/__inner__/cjs/components/Tag/Tag.js +4 -0
  92. package/__inner__/cjs/components/TagNext/Tag.css +244 -0
  93. package/__inner__/cjs/components/TagNext/Tag.d.ts +33 -0
  94. package/__inner__/cjs/components/TagNext/Tag.js +39 -0
  95. package/__inner__/cjs/components/TagNext/constants.d.ts +4 -0
  96. package/__inner__/cjs/components/TagNext/constants.js +7 -0
  97. package/__inner__/cjs/components/TagNext/index.d.ts +1 -0
  98. package/__inner__/cjs/components/TagNext/index.js +4 -0
  99. package/__inner__/cjs/components/Textarea/types.d.ts +2 -0
  100. package/__inner__/cjs/components/ThemeProvider/_color/Theme_color_vipDark.css +172 -0
  101. package/__inner__/cjs/components/ThemeProvider/_color/Theme_color_vipDefault.css +172 -0
  102. package/__inner__/cjs/components/ThemeProvider/_typography/Theme_typography_ozenDefault.css +1 -0
  103. package/__inner__/cjs/components/ThemeProvider/themes/helper.d.ts +1 -1
  104. package/__inner__/cjs/components/ThemeProvider/themes/helper.js +1 -0
  105. package/__inner__/cjs/components/ThemeProvider/types.d.ts +2 -0
  106. package/__inner__/cjs/components/Typography/Typography.css +8 -0
  107. package/__inner__/cjs/components/Typography/Typography.d.ts +1 -1
  108. package/__inner__/cjs/components/Typography/Typography.js +1 -0
  109. package/__inner__/cjs/components/Typography/utils.js +1 -0
  110. package/__inner__/cjs/locale/locale.js +24 -30
  111. package/__inner__/cjs/utils/date/index.d.ts +1 -0
  112. package/__inner__/cjs/utils/date/index.js +4 -0
  113. package/__inner__/cjs/utils/date/monthDiff/index.d.ts +1 -0
  114. package/__inner__/cjs/utils/date/monthDiff/index.js +4 -0
  115. package/__inner__/cjs/utils/date/monthDiff/monthDiff.d.ts +1 -0
  116. package/__inner__/cjs/utils/date/monthDiff/monthDiff.js +11 -0
  117. package/__inner__/cjs/utils/getByMap/getByMap.d.ts +1 -0
  118. package/__inner__/cjs/utils/getByMap/getByMap.js +7 -0
  119. package/__inner__/cjs/utils/getByMap/index.d.ts +1 -0
  120. package/__inner__/cjs/utils/getByMap/index.js +4 -0
  121. package/__inner__/cjs/utils/getIconSizeToFormElement.js +7 -4
  122. package/__inner__/cjs/utils/getPaperSizeToFormElement.d.ts +1 -2
  123. package/__inner__/cjs/utils/getPaperSizeToFormElement.js +7 -4
  124. package/__inner__/esm/components/Autocomplete/helper.d.ts +2 -0
  125. package/__inner__/esm/components/Autocomplete/types.d.ts +1 -1
  126. package/__inner__/esm/components/Calendar/Calendar.css +3 -0
  127. package/__inner__/esm/components/Calendar/Calendar.d.ts +2 -3
  128. package/__inner__/esm/components/Calendar/Calendar.js +16 -80
  129. package/__inner__/esm/components/Calendar/CalendarContext.d.ts +7 -7
  130. package/__inner__/esm/components/Calendar/CalendarContext.js +3 -4
  131. package/__inner__/esm/components/Calendar/components/CalendarGrid/CalendarGrid.d.ts +5 -1
  132. package/__inner__/esm/components/Calendar/components/CalendarGrid/CalendarGrid.js +15 -12
  133. package/__inner__/esm/components/Calendar/components/{CalendarItem/CalendatItem.css → CalendarGridItem/CalendarGridItem.css} +17 -13
  134. package/__inner__/esm/components/Calendar/components/CalendarGridItem/CalendarGridItem.d.ts +15 -0
  135. package/__inner__/esm/components/Calendar/components/CalendarGridItem/CalendarGridItem.js +17 -0
  136. package/__inner__/esm/components/Calendar/components/CalendarGridItem/index.d.ts +1 -0
  137. package/__inner__/esm/components/Calendar/components/CalendarGridItem/index.js +1 -0
  138. package/__inner__/esm/components/Calendar/components/CalendarItem/CalendarItem.d.ts +10 -12
  139. package/__inner__/esm/components/Calendar/components/CalendarItem/CalendarItem.js +43 -13
  140. package/__inner__/esm/components/Calendar/components/CalendarItem/CalendarItemContext.d.ts +10 -0
  141. package/__inner__/esm/components/Calendar/components/CalendarItem/CalendarItemContext.js +5 -0
  142. package/__inner__/esm/components/Calendar/components/CalendarItem/components/CalendarItemNextMonth/CalendarItemNextMonth.d.ts +2 -0
  143. package/__inner__/esm/components/Calendar/components/CalendarItem/components/CalendarItemNextMonth/CalendarItemNextMonth.js +12 -0
  144. package/__inner__/esm/components/Calendar/components/CalendarItem/components/CalendarItemNextMonth/index.d.ts +1 -0
  145. package/__inner__/esm/components/Calendar/components/CalendarItem/components/CalendarItemNextMonth/index.js +1 -0
  146. package/__inner__/esm/components/Calendar/components/CalendarItem/components/CalendarItemPreviousMonth/CalendarItemPreviousMonth.d.ts +2 -0
  147. package/__inner__/esm/components/Calendar/components/CalendarItem/components/CalendarItemPreviousMonth/CalendarItemPreviousMonth.js +12 -0
  148. package/__inner__/esm/components/Calendar/components/CalendarItem/components/CalendarItemPreviousMonth/index.d.ts +1 -0
  149. package/__inner__/esm/components/Calendar/components/CalendarItem/components/CalendarItemPreviousMonth/index.js +1 -0
  150. package/__inner__/esm/components/Calendar/components/CalendarItem/components/index.d.ts +2 -0
  151. package/__inner__/esm/components/Calendar/components/CalendarItem/components/index.js +2 -0
  152. package/__inner__/esm/components/Calendar/components/CalendarModeRange/CalendarModeRange.d.ts +2 -0
  153. package/__inner__/esm/components/Calendar/components/CalendarModeRange/CalendarModeRange.js +76 -0
  154. package/__inner__/esm/components/Calendar/components/CalendarModeRange/components/CalendarAdditionalControls/CalendarAdditionalControls.css +3 -0
  155. package/__inner__/{cjs/components/Calendar → esm/components/Calendar/components/CalendarModeRange}/components/CalendarAdditionalControls/CalendarAdditionalControls.d.ts +2 -2
  156. package/__inner__/esm/components/Calendar/components/CalendarModeRange/components/CalendarAdditionalControls/CalendarAdditionalControls.js +20 -0
  157. package/__inner__/esm/components/Calendar/components/CalendarModeRange/components/CalendarAdditionalControls/index.js +1 -0
  158. package/__inner__/esm/components/Calendar/components/CalendarModeRange/components/CalendarConsumer/CalendarConsumer.d.ts +2 -0
  159. package/__inner__/esm/components/Calendar/components/CalendarModeRange/components/CalendarConsumer/CalendarConsumer.js +41 -0
  160. package/__inner__/esm/components/Calendar/components/CalendarModeRange/components/CalendarConsumer/index.d.ts +1 -0
  161. package/__inner__/esm/components/Calendar/components/CalendarModeRange/components/CalendarConsumer/index.js +1 -0
  162. package/__inner__/esm/components/Calendar/components/CalendarModeRange/components/index.d.ts +2 -0
  163. package/__inner__/esm/components/Calendar/components/CalendarModeRange/components/index.js +2 -0
  164. package/__inner__/esm/components/Calendar/components/CalendarModeRange/index.d.ts +1 -0
  165. package/__inner__/esm/components/Calendar/components/CalendarModeRange/index.js +1 -0
  166. package/__inner__/esm/components/Calendar/components/CalendarModeSingle/CalendarModeSingle.d.ts +2 -0
  167. package/__inner__/esm/components/Calendar/components/CalendarModeSingle/CalendarModeSingle.js +71 -0
  168. package/__inner__/esm/components/Calendar/components/CalendarModeSingle/components/CalendarAdditionalControls/CalendarAdditionalControls.css +3 -0
  169. package/__inner__/esm/components/Calendar/components/CalendarModeSingle/components/CalendarAdditionalControls/CalendarAdditionalControls.d.ts +9 -0
  170. package/__inner__/esm/components/Calendar/components/{CalendarAdditionalControls → CalendarModeSingle/components/CalendarAdditionalControls}/CalendarAdditionalControls.js +3 -3
  171. package/__inner__/esm/components/Calendar/components/CalendarModeSingle/components/CalendarAdditionalControls/index.d.ts +1 -0
  172. package/__inner__/esm/components/Calendar/components/CalendarModeSingle/components/CalendarAdditionalControls/index.js +1 -0
  173. package/__inner__/esm/components/Calendar/components/CalendarModeSingle/components/CalendarConsumer/CalendarConsumer.d.ts +2 -0
  174. package/__inner__/esm/components/Calendar/components/CalendarModeSingle/components/CalendarConsumer/CalendarConsumer.js +35 -0
  175. package/__inner__/esm/components/Calendar/components/CalendarModeSingle/components/CalendarConsumer/index.d.ts +1 -0
  176. package/__inner__/esm/components/Calendar/components/CalendarModeSingle/components/CalendarConsumer/index.js +1 -0
  177. package/__inner__/esm/components/Calendar/components/CalendarModeSingle/components/index.d.ts +2 -0
  178. package/__inner__/esm/components/Calendar/components/CalendarModeSingle/components/index.js +2 -0
  179. package/__inner__/esm/components/Calendar/components/CalendarModeSingle/index.d.ts +1 -0
  180. package/__inner__/esm/components/Calendar/components/CalendarModeSingle/index.js +1 -0
  181. package/__inner__/esm/components/Calendar/components/CalendarSwitcher/CalendarSwitcher.css +5 -7
  182. package/__inner__/esm/components/Calendar/components/CalendarSwitcher/CalendarSwitcher.d.ts +3 -3
  183. package/__inner__/esm/components/Calendar/components/CalendarSwitcher/CalendarSwitcher.js +12 -12
  184. package/__inner__/esm/components/Calendar/components/index.d.ts +4 -2
  185. package/__inner__/esm/components/Calendar/components/index.js +4 -2
  186. package/__inner__/esm/components/Calendar/constants.d.ts +1 -1
  187. package/__inner__/esm/components/Calendar/constants.js +1 -1
  188. package/__inner__/esm/components/Calendar/types.d.ts +19 -16
  189. package/__inner__/esm/components/Calendar/types.js +1 -0
  190. package/__inner__/esm/components/Calendar/utils.d.ts +3 -0
  191. package/__inner__/esm/components/Calendar/{components/CalendarSwitcher/utils.js → utils.js} +2 -0
  192. package/__inner__/esm/components/DatePicker/DatePicker.d.ts +7 -7
  193. package/__inner__/esm/components/DatePicker/DatePicker.js +2 -2
  194. package/__inner__/esm/components/DatePicker/types.d.ts +4 -4
  195. package/__inner__/esm/components/DatePicker/utils/getCalendarSizeToFormElement/getCalendarSizeToFormElement.d.ts +2 -0
  196. package/__inner__/esm/components/DatePicker/utils/getCalendarSizeToFormElement/getCalendarSizeToFormElement.js +11 -0
  197. package/__inner__/esm/components/DatePicker/utils/getCalendarSizeToFormElement/index.d.ts +1 -0
  198. package/__inner__/esm/components/DatePicker/utils/getCalendarSizeToFormElement/index.js +1 -0
  199. package/__inner__/esm/components/DatePicker/utils/index.d.ts +1 -1
  200. package/__inner__/esm/components/DatePicker/utils/index.js +1 -1
  201. package/__inner__/esm/components/FieldControl/FieldControl.css +7 -1
  202. package/__inner__/esm/components/FieldControl/FieldControl.js +7 -1
  203. package/__inner__/esm/components/FieldControl/FieldControlContext.d.ts +1 -0
  204. package/__inner__/esm/components/FilePicker/FilePicker.d.ts +2 -1
  205. package/__inner__/esm/components/FilePicker/types.d.ts +2 -0
  206. package/__inner__/esm/components/Input/types.d.ts +2 -0
  207. package/__inner__/esm/components/InputNumber/types.d.ts +2 -0
  208. package/__inner__/esm/components/Loader/Loader.css +12 -12
  209. package/__inner__/esm/components/Loader/Loader.d.ts +11 -11
  210. package/__inner__/esm/components/Loader/Loader.js +3 -2
  211. package/__inner__/esm/components/Select/Select.css +0 -1
  212. package/__inner__/esm/components/Select/Select.js +6 -6
  213. package/__inner__/esm/components/Select/components/SelectInput/types.d.ts +2 -0
  214. package/__inner__/esm/components/Select/types.d.ts +1 -1
  215. package/__inner__/esm/components/Snackbar/components/Snackbar/Snackbar.css +6 -5
  216. package/__inner__/esm/components/Tag/Tag.css +5 -0
  217. package/__inner__/esm/components/Tag/Tag.js +4 -0
  218. package/__inner__/esm/components/TagNext/Tag.css +244 -0
  219. package/__inner__/esm/components/TagNext/Tag.d.ts +33 -0
  220. package/__inner__/esm/components/TagNext/Tag.js +36 -0
  221. package/__inner__/esm/components/TagNext/constants.d.ts +4 -0
  222. package/__inner__/esm/components/TagNext/constants.js +4 -0
  223. package/__inner__/esm/components/TagNext/index.d.ts +1 -0
  224. package/__inner__/esm/components/TagNext/index.js +1 -0
  225. package/__inner__/esm/components/Textarea/types.d.ts +2 -0
  226. package/__inner__/esm/components/ThemeProvider/_color/Theme_color_vipDark.css +172 -0
  227. package/__inner__/esm/components/ThemeProvider/_color/Theme_color_vipDefault.css +172 -0
  228. package/__inner__/esm/components/ThemeProvider/_typography/Theme_typography_ozenDefault.css +1 -0
  229. package/__inner__/esm/components/ThemeProvider/themes/helper.d.ts +1 -1
  230. package/__inner__/esm/components/ThemeProvider/themes/helper.js +1 -0
  231. package/__inner__/esm/components/ThemeProvider/types.d.ts +2 -0
  232. package/__inner__/esm/components/Typography/Typography.css +8 -0
  233. package/__inner__/esm/components/Typography/Typography.d.ts +1 -1
  234. package/__inner__/esm/components/Typography/Typography.js +1 -0
  235. package/__inner__/esm/components/Typography/utils.js +1 -0
  236. package/__inner__/esm/locale/locale.js +24 -30
  237. package/__inner__/esm/utils/date/index.d.ts +1 -0
  238. package/__inner__/esm/utils/date/index.js +1 -0
  239. package/__inner__/esm/utils/date/monthDiff/index.d.ts +1 -0
  240. package/__inner__/esm/utils/date/monthDiff/index.js +1 -0
  241. package/__inner__/esm/utils/date/monthDiff/monthDiff.d.ts +1 -0
  242. package/__inner__/esm/utils/date/monthDiff/monthDiff.js +7 -0
  243. package/__inner__/esm/utils/getByMap/getByMap.d.ts +1 -0
  244. package/__inner__/esm/utils/getByMap/getByMap.js +3 -0
  245. package/__inner__/esm/utils/getByMap/index.d.ts +1 -0
  246. package/__inner__/esm/utils/getByMap/index.js +1 -0
  247. package/__inner__/esm/utils/getIconSizeToFormElement.js +7 -4
  248. package/__inner__/esm/utils/getPaperSizeToFormElement.d.ts +1 -2
  249. package/__inner__/esm/utils/getPaperSizeToFormElement.js +7 -4
  250. package/package.json +4 -5
  251. package/__inner__/cjs/components/Calendar/components/CalendarSwitcher/utils.d.ts +0 -2
  252. package/__inner__/cjs/components/DatePicker/utils/matchCalendarSizeToFormElement/index.d.ts +0 -1
  253. package/__inner__/cjs/components/DatePicker/utils/matchCalendarSizeToFormElement/matchCalendarSizeToFormElement.d.ts +0 -5
  254. package/__inner__/cjs/components/DatePicker/utils/matchCalendarSizeToFormElement/matchCalendarSizeToFormElement.js +0 -10
  255. package/__inner__/esm/components/Calendar/components/CalendarSwitcher/utils.d.ts +0 -2
  256. package/__inner__/esm/components/DatePicker/utils/matchCalendarSizeToFormElement/index.d.ts +0 -1
  257. package/__inner__/esm/components/DatePicker/utils/matchCalendarSizeToFormElement/index.js +0 -1
  258. package/__inner__/esm/components/DatePicker/utils/matchCalendarSizeToFormElement/matchCalendarSizeToFormElement.d.ts +0 -5
  259. package/__inner__/esm/components/DatePicker/utils/matchCalendarSizeToFormElement/matchCalendarSizeToFormElement.js +0 -7
  260. /package/__inner__/cjs/components/Calendar/components/{CalendarAdditionalControls → CalendarModeRange/components/CalendarAdditionalControls}/CalendarAdditionalControls.css +0 -0
  261. /package/__inner__/cjs/components/Calendar/components/{CalendarAdditionalControls → CalendarModeRange/components/CalendarAdditionalControls}/index.d.ts +0 -0
  262. /package/__inner__/cjs/components/Calendar/components/{CalendarAdditionalControls → CalendarModeRange/components/CalendarAdditionalControls}/index.js +0 -0
  263. /package/__inner__/{esm/components/Calendar → cjs/components/Calendar/components/CalendarModeSingle}/components/CalendarAdditionalControls/CalendarAdditionalControls.css +0 -0
  264. /package/__inner__/{esm/components/Calendar → cjs/components/Calendar/components/CalendarModeSingle}/components/CalendarAdditionalControls/index.d.ts +0 -0
  265. /package/__inner__/esm/components/Calendar/components/{CalendarAdditionalControls/index.js → CalendarModeRange/components/CalendarAdditionalControls/index.d.ts} +0 -0
@@ -1,4 +1,3 @@
1
- import React from 'react';
2
- export var CalendarContext = React.createContext({
3
- step: 'days',
4
- });
1
+ import React, { useContext } from 'react';
2
+ export var CalendarContext = React.createContext({});
3
+ export var useCalendar = function () { return useContext(CalendarContext); };
@@ -1,7 +1,11 @@
1
1
  import './CalendarGrid.css';
2
+ import type { ComponentPropsWithRef } from 'react';
2
3
  import React from 'react';
3
4
  export declare const cnCalendarGrid: import("@bem-react/classname").ClassNameFormatter;
4
5
  export declare const cnCalendarDays: import("@bem-react/classname").ClassNameFormatter;
5
6
  export declare const cnCalendarMoths: import("@bem-react/classname").ClassNameFormatter;
6
7
  export declare const cnCalendarYears: import("@bem-react/classname").ClassNameFormatter;
7
- export declare const CalendarGrid: () => React.JSX.Element;
8
+ export type CalendarGridProps = ComponentPropsWithRef<'div'>;
9
+ export declare const CalendarGrid: React.ForwardRefExoticComponent<Omit<Omit<React.DetailedHTMLProps<React.HTMLAttributes<HTMLDivElement>, HTMLDivElement>, "ref"> & {
10
+ ref?: ((instance: HTMLDivElement | null) => void) | React.RefObject<HTMLDivElement> | null | undefined;
11
+ }, "ref"> & React.RefAttributes<HTMLElement>>;
@@ -1,21 +1,23 @@
1
1
  import { __assign } from "tslib";
2
2
  import './CalendarGrid.css';
3
- import React, { useContext } from 'react';
3
+ import React, { forwardRef } from 'react';
4
4
  import { classnames } from '@bem-react/classnames';
5
5
  import { useDatePickerContext } from '@rehookify/datepicker';
6
6
  import { capitalizeFirstLetter as capitalize } from '../../../../utils/capitalizeFirstLetter';
7
7
  import { cn } from '../../../../utils/classname';
8
8
  import { Typography } from '../../../Typography';
9
- import { CalendarContext } from '../../CalendarContext';
10
- import { CalendarItem } from '../CalendarItem';
9
+ import { useCalendar } from '../../CalendarContext';
10
+ import { CalendarGridItem } from '../CalendarGridItem';
11
+ import { useCalendarItem } from '../CalendarItem/CalendarItemContext';
11
12
  export var cnCalendarGrid = cn('CalendarGrid');
12
13
  export var cnCalendarDays = cn('CalendarDays');
13
14
  export var cnCalendarMoths = cn('CalendarMonths');
14
15
  export var cnCalendarYears = cn('CalendarYears');
15
- export var CalendarGrid = function () {
16
- var _a = useContext(CalendarContext), step = _a.step, goStep = _a.goStep, size = _a.size, onYearClick = _a.onYearClick, onDayClick = _a.onDayClick, onMonthClick = _a.onMonthClick;
17
- var _b = useDatePickerContext(), _c = _b.data, weekDays = _c.weekDays, calendars = _c.calendars, years = _c.years, months = _c.months, _d = _b.propGetters, dayButton = _d.dayButton, monthButton = _d.monthButton, yearButton = _d.yearButton;
18
- var _e = calendars[0] || {}, days = _e.days, month = _e.month;
16
+ export var CalendarGrid = forwardRef(function () {
17
+ var _a = useCalendar(), size = _a.size, onYearClick = _a.onYearClick, onDayClick = _a.onDayClick, onMonthClick = _a.onMonthClick;
18
+ var _b = useCalendarItem(), step = _b.step, goStep = _b.goStep, calendar = _b.calendar;
19
+ var _c = useDatePickerContext(), _d = _c.data, weekDays = _d.weekDays, years = _d.years, months = _d.months, _e = _c.propGetters, dayButton = _e.dayButton, monthButton = _e.monthButton, yearButton = _e.yearButton;
20
+ var _f = calendar || {}, days = _f.days, month = _f.month;
19
21
  var handleClickOnDay = function (e, date) {
20
22
  onDayClick === null || onDayClick === void 0 ? void 0 : onDayClick(e, date);
21
23
  };
@@ -29,15 +31,16 @@ export var CalendarGrid = function () {
29
31
  };
30
32
  return (React.createElement(React.Fragment, null,
31
33
  step === 'days' && (React.createElement("div", { className: classnames(cnCalendarGrid(), cnCalendarDays()) },
32
- weekDays.map(function (day) { return (React.createElement(Typography, __assign({ key: "".concat(month, "-").concat(day), color: "tertiary" }, (size && { variant: "text-".concat(size) })), day && capitalize(day))); }), days === null || days === void 0 ? void 0 :
33
- days.map(function (dpDay) { return (React.createElement(CalendarItem, __assign({ size: size, current: dpDay.now, selected: dpDay.selected, key: dpDay.$date.toDateString() }, dayButton(dpDay, {
34
+ weekDays.map(function (day) { return (React.createElement(Typography, __assign({ role: "row", key: "".concat(month, "-").concat(day), color: "tertiary" }, (size && { variant: "text-".concat(size) })), day && capitalize(day))); }), days === null || days === void 0 ? void 0 :
35
+ days.map(function (dpDay) { return (React.createElement(CalendarGridItem, __assign({ size: size, current: dpDay.now, range: dpDay.range, selected: dpDay.selected, key: "".concat(month, " ").concat(dpDay.$date.toDateString()) }, dayButton(dpDay, {
34
36
  onClick: handleClickOnDay,
35
37
  disabled: dpDay.disabled || !dpDay.inCurrentMonth,
36
38
  }), { tabIndex: dpDay.disabled || !dpDay.inCurrentMonth ? -1 : 0 }), dpDay.day)); }))),
37
- step === 'months' && (React.createElement("div", { className: classnames(cnCalendarGrid(), cnCalendarMoths()) }, months === null || months === void 0 ? void 0 : months.map(function (dpMonth) { return (React.createElement(CalendarItem, __assign({ size: size, current: dpMonth.now, key: dpMonth.$date.toDateString(), selected: dpMonth.selected }, monthButton(dpMonth, {
39
+ step === 'months' && (React.createElement("div", { className: classnames(cnCalendarGrid(), cnCalendarMoths()) }, months === null || months === void 0 ? void 0 : months.map(function (dpMonth) { return (React.createElement(CalendarGridItem, __assign({ size: size, current: dpMonth.now, key: dpMonth.$date.toDateString(), selected: dpMonth.selected }, monthButton(dpMonth, {
38
40
  onClick: handleClickOnMonth,
39
41
  }), { tabIndex: dpMonth.disabled ? -1 : 0 }), dpMonth.month && capitalize(dpMonth.month))); }))),
40
- step === 'years' && (React.createElement("div", { className: classnames(cnCalendarGrid(), cnCalendarYears()) }, years === null || years === void 0 ? void 0 : years.map(function (dpYear) { return (React.createElement(CalendarItem, __assign({ key: dpYear.$date.toDateString(), current: dpYear.now, selected: dpYear.selected, size: size }, yearButton(dpYear, {
42
+ step === 'years' && (React.createElement("div", { className: classnames(cnCalendarGrid(), cnCalendarYears()) }, years === null || years === void 0 ? void 0 : years.map(function (dpYear) { return (React.createElement(CalendarGridItem, __assign({ key: dpYear.$date.toDateString(), current: dpYear.now, selected: dpYear.selected, size: size }, yearButton(dpYear, {
41
43
  onClick: handleClickOnYear,
42
44
  }), { tabIndex: dpYear.disabled ? -1 : 0 }), dpYear.year)); })))));
43
- };
45
+ });
46
+ CalendarGrid.displayName = 'CalendarGrid';
@@ -1,5 +1,5 @@
1
1
  /* stylelint-disable */
2
- .CalendarItem {
2
+ .CalendarGridItem {
3
3
  border: none;
4
4
  color: var(--color-content-primary);
5
5
  background-color: inherit;
@@ -10,46 +10,50 @@
10
10
  box-shadow var(--transition-default),
11
11
  opacity var(--transition-default);
12
12
  }
13
- .CalendarItem_current {
14
- color: var(--color-content-action);
15
- }
16
- .CalendarItem_size_s {
13
+ .CalendarGridItem_size_s {
17
14
  font: var(--typography-text-s-font);
18
15
  letter-spacing: var(--typography-text-s-letter_spacing, 0);
19
16
  text-transform: var(--typography-text-s-text_transform, none);
20
17
  border-radius: var(--border-radius-m);
21
18
  }
22
- .CalendarItem_size_m {
19
+ .CalendarGridItem_size_m {
23
20
  font: var(--typography-text-m-font);
24
21
  letter-spacing: var(--typography-text-m-letter_spacing, 0);
25
22
  text-transform: var(--typography-text-m-text_transform, none);
26
23
  border-radius: var(--border-radius-m);
27
24
  }
28
- .CalendarItem_size_l {
25
+ .CalendarGridItem_size_l {
29
26
  font: var(--typography-text-l-font);
30
27
  letter-spacing: var(--typography-text-l-letter_spacing, 0);
31
28
  text-transform: var(--typography-text-l-text_transform, none);
32
29
  border-radius: var(--border-radius-m);
33
30
  }
34
- .CalendarItem:hover:not(.CalendarItem_selected) {
31
+ .CalendarGridItem_range_in-range,
32
+ .CalendarGridItem_range_will-be-in-range {
33
+ background-color: var(--color-background-action-light);
34
+ }
35
+ .CalendarGridItem:hover:not(.CalendarGridItem_selected) {
35
36
  background-color: var(--color-background-main-hover);
36
37
  }
37
- .CalendarItem:active:not(.CalendarItem_selected) {
38
+ .CalendarGridItem:active:not(.CalendarGridItem_selected) {
38
39
  background-color: var(--color-background-main-pressed);
39
40
  }
40
- .CalendarItem_selected {
41
+ .CalendarGridItem_selected {
41
42
  color: var(--color-content-action-on);
42
43
  background-color: var(--color-background-action);
43
44
  }
44
- .CalendarItem_disabled {
45
+ .CalendarGridItem_disabled {
45
46
  pointer-events: none;
46
47
  background-color: inherit;
47
48
  color: var(--color-content-tertiary);
48
49
  }
49
- .CalendarItem:focus:not(:focus-visible) {
50
+ .CalendarGridItem_current:not(.CalendarGridItem_selected) {
51
+ color: var(--color-content-action);
52
+ }
53
+ .CalendarGridItem:focus:not(:focus-visible) {
50
54
  box-shadow: none;
51
55
  }
52
- .CalendarItem:focus {
56
+ .CalendarGridItem:focus {
53
57
  outline: 0;
54
58
  box-shadow: var(--shadow-outline-focused);
55
59
  }
@@ -0,0 +1,15 @@
1
+ import './CalendarGridItem.css';
2
+ import type { ComponentPropsWithRef } from 'react';
3
+ import React from 'react';
4
+ import type { DPDayRange } from '@rehookify/datepicker/dist/types/day';
5
+ import type { CALENDAR_ITEM_DEFAULT_TAG } from '../../constants';
6
+ import type { CalendarSizeVariant } from '../../index';
7
+ export declare const cnCalendarGridItem: import("@bem-react/classname").ClassNameFormatter;
8
+ export type CalendarItemProps = Omit<ComponentPropsWithRef<typeof CALENDAR_ITEM_DEFAULT_TAG>, 'size'> & {
9
+ current?: boolean;
10
+ selected?: boolean;
11
+ disabled?: boolean;
12
+ range?: DPDayRange;
13
+ size?: CalendarSizeVariant;
14
+ };
15
+ export declare const CalendarGridItem: React.ForwardRefExoticComponent<Omit<CalendarItemProps, "ref"> & React.RefAttributes<HTMLButtonElement>>;
@@ -0,0 +1,17 @@
1
+ import { __assign, __rest } from "tslib";
2
+ import './CalendarGridItem.css';
3
+ import React, { forwardRef } from 'react';
4
+ import { cn } from '../../../../utils/classname';
5
+ import { ButtonBase } from '../../../ButtonBase';
6
+ export var cnCalendarGridItem = cn('CalendarGridItem');
7
+ export var CalendarGridItem = forwardRef(function (_a, ref) {
8
+ var current = _a.current, selected = _a.selected, range = _a.range, disabled = _a.disabled, className = _a.className, size = _a.size, children = _a.children, other = __rest(_a, ["current", "selected", "range", "disabled", "className", "size", "children"]);
9
+ return (React.createElement(ButtonBase, __assign({ className: cnCalendarGridItem({
10
+ size: size,
11
+ current: current,
12
+ selected: selected,
13
+ disabled: disabled,
14
+ range: range,
15
+ }, [className]), disabled: disabled }, other, { ref: ref }), children));
16
+ });
17
+ CalendarGridItem.displayName = 'CalendarGridItem';
@@ -0,0 +1 @@
1
+ export * from './CalendarGridItem';
@@ -0,0 +1 @@
1
+ export * from './CalendarGridItem';
@@ -1,13 +1,11 @@
1
- import './CalendatItem.css';
2
- import type { ComponentPropsWithRef } from 'react';
3
1
  import React from 'react';
4
- import type { CALENDAR_ITEM_DEFAULT_TAG } from '../../constants';
5
- import type { CalendarSizeVariant } from '../../index';
6
- export declare const cnCalendarItem: import("@bem-react/classname").ClassNameFormatter;
7
- export type CalendarItemProps = Omit<ComponentPropsWithRef<typeof CALENDAR_ITEM_DEFAULT_TAG>, 'size'> & {
8
- current?: boolean;
9
- selected?: boolean;
10
- disabled?: boolean;
11
- size?: CalendarSizeVariant;
12
- };
13
- export declare const CalendarItem: React.ForwardRefExoticComponent<Omit<CalendarItemProps, "ref"> & React.RefAttributes<HTMLButtonElement>>;
2
+ import type { DPCalendar } from '@rehookify/datepicker';
3
+ import type { CalendarSwitcherProps } from '../index';
4
+ export type CalendarItemProp = {
5
+ calendar: DPCalendar;
6
+ type?: 'first' | 'last' | 'single';
7
+ } & Pick<CalendarSwitcherProps, 'nextButton' | 'prevButton'>;
8
+ export declare const CalendarItem: React.ForwardRefExoticComponent<{
9
+ calendar: DPCalendar;
10
+ type?: "first" | "last" | "single" | undefined;
11
+ } & Pick<CalendarSwitcherProps, "prevButton" | "nextButton"> & React.RefAttributes<HTMLDivElement>>;
@@ -1,16 +1,46 @@
1
- import { __assign, __rest } from "tslib";
2
- import './CalendatItem.css';
3
- import React, { forwardRef } from 'react';
4
- import { cn } from '../../../../utils/classname';
5
- import { ButtonBase } from '../../../ButtonBase';
6
- export var cnCalendarItem = cn('CalendarItem');
1
+ import { __assign, __read } from "tslib";
2
+ import React, { forwardRef, useState } from 'react';
3
+ import { Divider } from '../../../Divider';
4
+ import { cnCalendar } from '../../utils';
5
+ import { CalendarGrid, CalendarSwitcher } from '../index';
6
+ import { CalendarItemContext } from './CalendarItemContext';
7
+ import { CalendarItemNextMonth, CalendarItemPreviousMonth } from './components';
7
8
  export var CalendarItem = forwardRef(function (_a, ref) {
8
- var current = _a.current, selected = _a.selected, disabled = _a.disabled, className = _a.className, size = _a.size, children = _a.children, other = __rest(_a, ["current", "selected", "disabled", "className", "size", "children"]);
9
- return (React.createElement(ButtonBase, __assign({ className: cnCalendarItem({
10
- size: size,
11
- current: current,
12
- selected: selected,
13
- disabled: disabled,
14
- }, [className]), disabled: disabled }, other, { ref: ref }), children));
9
+ var calendar = _a.calendar, type = _a.type;
10
+ var _b = __read(useState('days'), 2), step = _b[0], setStep = _b[1];
11
+ // Управление представлениями календаря
12
+ var goStep = function (step) {
13
+ setStep(step);
14
+ };
15
+ var getActions = function (type) {
16
+ if (type === 'single') {
17
+ return {
18
+ nextButton: (React.createElement("div", null,
19
+ React.createElement(CalendarItemPreviousMonth, null),
20
+ React.createElement(CalendarItemNextMonth, null))),
21
+ };
22
+ }
23
+ if (type === 'first') {
24
+ return {
25
+ prevButton: React.createElement(CalendarItemPreviousMonth, null),
26
+ nextButton: React.createElement("div", null),
27
+ };
28
+ }
29
+ if (type === 'last') {
30
+ return {
31
+ prevButton: React.createElement("div", null),
32
+ nextButton: React.createElement(CalendarItemNextMonth, null),
33
+ };
34
+ }
35
+ return {
36
+ prevButton: React.createElement("div", null),
37
+ nextButton: React.createElement("div", null),
38
+ };
39
+ };
40
+ return (React.createElement(CalendarItemContext.Provider, { value: { step: step, goStep: goStep, calendar: calendar } },
41
+ React.createElement("div", { ref: ref, className: cnCalendar('MonthContainer') },
42
+ React.createElement(CalendarSwitcher, __assign({}, getActions(type))),
43
+ React.createElement(Divider, { color: "secondary" }),
44
+ React.createElement(CalendarGrid, null))));
15
45
  });
16
46
  CalendarItem.displayName = 'CalendarItem';
@@ -0,0 +1,10 @@
1
+ import React from 'react';
2
+ import type { DPCalendar } from '@rehookify/datepicker';
3
+ import type { CalendarStepVariant } from '../../index';
4
+ export interface CalendarItemContextValue {
5
+ step: CalendarStepVariant;
6
+ goStep?: (step: CalendarStepVariant) => void;
7
+ calendar?: DPCalendar;
8
+ }
9
+ export declare const CalendarItemContext: React.Context<CalendarItemContextValue>;
10
+ export declare const useCalendarItem: () => CalendarItemContextValue;
@@ -0,0 +1,5 @@
1
+ import React, { useContext } from 'react';
2
+ export var CalendarItemContext = React.createContext({
3
+ step: 'days',
4
+ });
5
+ export var useCalendarItem = function () { return useContext(CalendarItemContext); };
@@ -0,0 +1,2 @@
1
+ import React from 'react';
2
+ export declare const CalendarItemNextMonth: () => React.JSX.Element;
@@ -0,0 +1,12 @@
1
+ import { __assign, __read } from "tslib";
2
+ import React from 'react';
3
+ import { ChevronRightIcon } from '@ozen-ui/icons';
4
+ import { useDatePickerContext } from '@rehookify/datepicker';
5
+ import { IconButton } from '../../../../../IconButtonNext';
6
+ import { useCalendar } from '../../../../CalendarContext';
7
+ export var CalendarItemNextMonth = function () {
8
+ var _a = useCalendar(), getPeriodSwitchAriaLabel = _a.getPeriodSwitchAriaLabel, size = _a.size;
9
+ var _b = __read((getPeriodSwitchAriaLabel === null || getPeriodSwitchAriaLabel === void 0 ? void 0 : getPeriodSwitchAriaLabel('days')) || [], 2), NEXT = _b[1];
10
+ var addOffset = useDatePickerContext().propGetters.addOffset;
11
+ return (React.createElement(IconButton, __assign({ variant: "function", color: "primary", icon: ChevronRightIcon, size: size, "aria-label": NEXT, title: NEXT }, addOffset({ months: 1 }))));
12
+ };
@@ -0,0 +1,2 @@
1
+ import React from 'react';
2
+ export declare const CalendarItemPreviousMonth: () => React.JSX.Element;
@@ -0,0 +1,12 @@
1
+ import { __assign, __read } from "tslib";
2
+ import React from 'react';
3
+ import { ChevronLeftIcon } from '@ozen-ui/icons';
4
+ import { useDatePickerContext } from '@rehookify/datepicker';
5
+ import { IconButton } from '../../../../../IconButtonNext';
6
+ import { useCalendar } from '../../../../CalendarContext';
7
+ export var CalendarItemPreviousMonth = function () {
8
+ var _a = useCalendar(), getPeriodSwitchAriaLabel = _a.getPeriodSwitchAriaLabel, size = _a.size;
9
+ var _b = __read((getPeriodSwitchAriaLabel === null || getPeriodSwitchAriaLabel === void 0 ? void 0 : getPeriodSwitchAriaLabel('days')) || [], 1), PREVIOUS = _b[0];
10
+ var subtractOffset = useDatePickerContext().propGetters.subtractOffset;
11
+ return (React.createElement(IconButton, __assign({ variant: "function", type: "button", color: "primary", icon: ChevronLeftIcon, size: size, "aria-label": PREVIOUS, title: PREVIOUS }, subtractOffset({ months: 1 }))));
12
+ };
@@ -0,0 +1,2 @@
1
+ export * from './CalendarItemNextMonth';
2
+ export * from './CalendarItemPreviousMonth';
@@ -0,0 +1,2 @@
1
+ export * from './CalendarItemNextMonth';
2
+ export * from './CalendarItemPreviousMonth';
@@ -0,0 +1,2 @@
1
+ import type { CalendarTypeComponent } from '../../types';
2
+ export declare const CalendarModeRange: CalendarTypeComponent<'range'>;
@@ -0,0 +1,76 @@
1
+ import { __assign, __read, __rest } from "tslib";
2
+ import React, { forwardRef } from 'react';
3
+ import { DatePickerProvider } from '@rehookify/datepicker';
4
+ import { useControlled } from '../../../../hooks/useControlled';
5
+ import { useThemeProps } from '../../../../hooks/useThemeProps';
6
+ import { CalendarContext } from '../../CalendarContext';
7
+ import { CALENDAR_DEFAULT_SIZE, CALENDAR_DEFAULT_START_DAY, } from '../../constants';
8
+ import { cnCalendar } from '../../utils';
9
+ import { CalendarAdditionalControls, CalendarConsumer } from './components';
10
+ // eslint-disable-next-line react/display-name
11
+ export var CalendarModeRange = forwardRef(function (inProps, ref) {
12
+ var props = useThemeProps({
13
+ props: inProps,
14
+ name: 'Calendar',
15
+ });
16
+ var _a = props.size, size = _a === void 0 ? CALENDAR_DEFAULT_SIZE : _a, _b = props.startDay, startDay = _b === void 0 ? CALENDAR_DEFAULT_START_DAY : _b, renderAdditionalControls = props.renderAdditionalControls, locale = props.locale, onChangeProp = props.onChange, onOffsetDateChangeProp = props.onOffsetDateChange, onMonthClick = props.onMonthClick, onDayClick = props.onDayClick, onYearClick = props.onYearClick, valueProp = props.value, defaultValue = props.defaultValue, offsetDateProp = props.offsetDate, defaultOffsetDate = props.defaultOffsetDate, exclude = props.exclude, minDate = props.minDate, maxDate = props.maxDate, className = props.className, getPeriodSwitchAriaLabel = props.getPeriodSwitchAriaLabel, other = __rest(props, ["size", "startDay", "renderAdditionalControls", "locale", "onChange", "onOffsetDateChange", "onMonthClick", "onDayClick", "onYearClick", "value", "defaultValue", "offsetDate", "defaultOffsetDate", "exclude", "minDate", "maxDate", "className", "getPeriodSwitchAriaLabel"]);
17
+ var _c = __read(useControlled({
18
+ value: valueProp,
19
+ defaultValue: defaultValue,
20
+ name: 'Calendar',
21
+ state: 'value',
22
+ }), 2), value = _c[0], setValue = _c[1];
23
+ var _d = __read(useControlled({
24
+ value: offsetDateProp,
25
+ defaultValue: defaultOffsetDate,
26
+ name: 'Calendar',
27
+ state: 'offsetDate',
28
+ }), 2), offsetDate = _d[0], setOffsetDateState = _d[1];
29
+ var onDatesChange = function (data) {
30
+ if (data) {
31
+ setValue(data);
32
+ onChangeProp === null || onChangeProp === void 0 ? void 0 : onChangeProp(data);
33
+ }
34
+ };
35
+ var onOffsetChange = function (date) {
36
+ setOffsetDateState(date);
37
+ onOffsetDateChangeProp === null || onOffsetDateChangeProp === void 0 ? void 0 : onOffsetDateChangeProp(date);
38
+ };
39
+ var config = {
40
+ calendar: {
41
+ startDay: startDay,
42
+ offsets: [1],
43
+ },
44
+ locale: {
45
+ locale: locale,
46
+ day: 'numeric',
47
+ weekday: 'short',
48
+ },
49
+ exclude: exclude,
50
+ offsetDate: offsetDate,
51
+ onDatesChange: onDatesChange,
52
+ onOffsetChange: onOffsetChange,
53
+ dates: {
54
+ minDate: minDate,
55
+ maxDate: maxDate,
56
+ mode: 'range',
57
+ selectSameDate: true,
58
+ },
59
+ years: { numberOfYears: 15 },
60
+ selectedDates: value || [],
61
+ };
62
+ return (React.createElement(DatePickerProvider, { config: config },
63
+ React.createElement(CalendarContext.Provider, { value: {
64
+ size: size,
65
+ minDate: minDate,
66
+ maxDate: maxDate,
67
+ onDayClick: onDayClick,
68
+ onYearClick: onYearClick,
69
+ onMonthClick: onMonthClick,
70
+ getPeriodSwitchAriaLabel: getPeriodSwitchAriaLabel,
71
+ onOffsetChange: onOffsetChange,
72
+ } },
73
+ React.createElement("div", __assign({ className: cnCalendar({ size: size }, [className]) }, other, { ref: ref }),
74
+ React.createElement(CalendarConsumer, null),
75
+ React.createElement(CalendarAdditionalControls, { renderAdditionalControls: renderAdditionalControls })))));
76
+ });
@@ -0,0 +1,3 @@
1
+ .CalendarAdditionalControls {
2
+ margin: var(--calendar-grid-margin);
3
+ }
@@ -1,9 +1,9 @@
1
1
  import './CalendarAdditionalControls.css';
2
2
  import type { FC } from 'react';
3
- import type { CalendarBaseProps } from '../../index';
3
+ import type { CalendarProps } from '../../../../index';
4
4
  export declare const cnCalendarAdditionalControls: import("@bem-react/classname").ClassNameFormatter;
5
5
  type CalendarAdditionalControlsProps = {
6
- renderAdditionalControls?: CalendarBaseProps['renderAdditionalControls'];
6
+ renderAdditionalControls?: CalendarProps<'range'>['renderAdditionalControls'];
7
7
  };
8
8
  export declare const CalendarAdditionalControls: FC<CalendarAdditionalControlsProps>;
9
9
  export {};
@@ -0,0 +1,20 @@
1
+ import './CalendarAdditionalControls.css';
2
+ import React from 'react';
3
+ import { useDatePickerContext } from '@rehookify/datepicker';
4
+ import { cn } from '../../../../../../utils/classname';
5
+ import { renderContent } from '../../../../../../utils/renderContent';
6
+ import { Divider } from '../../../../../Divider';
7
+ export var cnCalendarAdditionalControls = cn('CalendarAdditionalControls');
8
+ export var CalendarAdditionalControls = function (_a) {
9
+ var renderAdditionalControls = _a.renderAdditionalControls;
10
+ var selectedDates = useDatePickerContext().data.selectedDates;
11
+ if (!renderAdditionalControls) {
12
+ return null;
13
+ }
14
+ return (React.createElement(React.Fragment, null,
15
+ React.createElement(Divider, { color: "secondary" }),
16
+ React.createElement("div", { className: cnCalendarAdditionalControls() }, renderContent({
17
+ content: renderAdditionalControls,
18
+ props: { date: selectedDates },
19
+ }))));
20
+ };
@@ -0,0 +1,2 @@
1
+ import React from 'react';
2
+ export declare const CalendarConsumer: () => React.JSX.Element | null;
@@ -0,0 +1,41 @@
1
+ import { __read } from "tslib";
2
+ import React, { useEffect } from 'react';
3
+ import { useDatePickerContext } from '@rehookify/datepicker';
4
+ import { useMutableRef } from '../../../../../../hooks/useMutableRef';
5
+ import { monthDiff } from '../../../../../../utils/date/monthDiff';
6
+ import { useCalendar } from '../../../../../Calendar/CalendarContext';
7
+ import { Stack } from '../../../../../Stack';
8
+ import { CalendarItem } from '../../../CalendarItem';
9
+ export var CalendarConsumer = function () {
10
+ var _a = useDatePickerContext().data, calendars = _a.calendars, selectedDates = _a.selectedDates;
11
+ var onOffsetChange = useCalendar().onOffsetChange;
12
+ var savedFirstCalendar = useMutableRef(calendars[0]);
13
+ var savedSecondCalendar = useMutableRef(calendars[1]);
14
+ useEffect(function () {
15
+ if (!savedFirstCalendar.current || !savedSecondCalendar.current)
16
+ return;
17
+ var res;
18
+ var _a = __read(selectedDates, 2), start = _a[0], end = _a[1];
19
+ if (start && end) {
20
+ if (monthDiff(start, end) === 0) {
21
+ res = start;
22
+ }
23
+ if (monthDiff(start, end) === 1) {
24
+ res = start;
25
+ }
26
+ if (monthDiff(start, end) > 1) {
27
+ var d = new Date(end);
28
+ d.setDate(1);
29
+ d.setMonth(d.getMonth() - 1);
30
+ res = d;
31
+ }
32
+ }
33
+ if (res)
34
+ onOffsetChange === null || onOffsetChange === void 0 ? void 0 : onOffsetChange(res);
35
+ }, [selectedDates]);
36
+ if (!calendars[0] || !calendars[1])
37
+ return null;
38
+ return (React.createElement(Stack, null,
39
+ React.createElement(CalendarItem, { calendar: calendars[0], type: "first" }),
40
+ React.createElement(CalendarItem, { calendar: calendars[1], type: "last" })));
41
+ };
@@ -0,0 +1,2 @@
1
+ export * from './CalendarAdditionalControls';
2
+ export * from './CalendarConsumer';
@@ -0,0 +1,2 @@
1
+ export * from './CalendarAdditionalControls';
2
+ export * from './CalendarConsumer';
@@ -0,0 +1 @@
1
+ export * from './CalendarModeRange';
@@ -0,0 +1 @@
1
+ export * from './CalendarModeRange';
@@ -0,0 +1,2 @@
1
+ import type { CalendarTypeComponent } from '../../types';
2
+ export declare const CalendarModeSingle: CalendarTypeComponent<'single'>;