@ozen-ui/kit 0.53.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 (241) 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/Select/Select.js +6 -6
  83. package/__inner__/cjs/components/Select/components/SelectInput/types.d.ts +2 -0
  84. package/__inner__/cjs/components/Select/types.d.ts +1 -1
  85. package/__inner__/cjs/components/Tag/Tag.css +5 -0
  86. package/__inner__/cjs/components/Tag/Tag.js +4 -0
  87. package/__inner__/cjs/components/TagNext/Tag.css +244 -0
  88. package/__inner__/cjs/components/TagNext/Tag.d.ts +33 -0
  89. package/__inner__/cjs/components/TagNext/Tag.js +39 -0
  90. package/__inner__/cjs/components/TagNext/constants.d.ts +4 -0
  91. package/__inner__/cjs/components/TagNext/constants.js +7 -0
  92. package/__inner__/cjs/components/TagNext/index.d.ts +1 -0
  93. package/__inner__/cjs/components/TagNext/index.js +4 -0
  94. package/__inner__/cjs/components/Textarea/types.d.ts +2 -0
  95. package/__inner__/cjs/components/ThemeProvider/_color/Theme_color_vipDark.css +172 -0
  96. package/__inner__/cjs/components/ThemeProvider/_color/Theme_color_vipDefault.css +172 -0
  97. package/__inner__/cjs/components/ThemeProvider/types.d.ts +2 -0
  98. package/__inner__/cjs/locale/locale.js +24 -30
  99. package/__inner__/cjs/utils/date/index.d.ts +1 -0
  100. package/__inner__/cjs/utils/date/index.js +4 -0
  101. package/__inner__/cjs/utils/date/monthDiff/index.d.ts +1 -0
  102. package/__inner__/cjs/utils/date/monthDiff/index.js +4 -0
  103. package/__inner__/cjs/utils/date/monthDiff/monthDiff.d.ts +1 -0
  104. package/__inner__/cjs/utils/date/monthDiff/monthDiff.js +11 -0
  105. package/__inner__/cjs/utils/getByMap/getByMap.d.ts +1 -0
  106. package/__inner__/cjs/utils/getByMap/getByMap.js +7 -0
  107. package/__inner__/cjs/utils/getByMap/index.d.ts +1 -0
  108. package/__inner__/cjs/utils/getByMap/index.js +4 -0
  109. package/__inner__/cjs/utils/getIconSizeToFormElement.js +7 -4
  110. package/__inner__/cjs/utils/getPaperSizeToFormElement.d.ts +1 -2
  111. package/__inner__/cjs/utils/getPaperSizeToFormElement.js +7 -4
  112. package/__inner__/esm/components/Autocomplete/helper.d.ts +2 -0
  113. package/__inner__/esm/components/Autocomplete/types.d.ts +1 -1
  114. package/__inner__/esm/components/Calendar/Calendar.css +3 -0
  115. package/__inner__/esm/components/Calendar/Calendar.d.ts +2 -3
  116. package/__inner__/esm/components/Calendar/Calendar.js +16 -80
  117. package/__inner__/esm/components/Calendar/CalendarContext.d.ts +7 -7
  118. package/__inner__/esm/components/Calendar/CalendarContext.js +3 -4
  119. package/__inner__/esm/components/Calendar/components/CalendarGrid/CalendarGrid.d.ts +5 -1
  120. package/__inner__/esm/components/Calendar/components/CalendarGrid/CalendarGrid.js +15 -12
  121. package/__inner__/esm/components/Calendar/components/{CalendarItem/CalendatItem.css → CalendarGridItem/CalendarGridItem.css} +17 -13
  122. package/__inner__/esm/components/Calendar/components/CalendarGridItem/CalendarGridItem.d.ts +15 -0
  123. package/__inner__/esm/components/Calendar/components/CalendarGridItem/CalendarGridItem.js +17 -0
  124. package/__inner__/esm/components/Calendar/components/CalendarGridItem/index.d.ts +1 -0
  125. package/__inner__/esm/components/Calendar/components/CalendarGridItem/index.js +1 -0
  126. package/__inner__/esm/components/Calendar/components/CalendarItem/CalendarItem.d.ts +10 -12
  127. package/__inner__/esm/components/Calendar/components/CalendarItem/CalendarItem.js +43 -13
  128. package/__inner__/esm/components/Calendar/components/CalendarItem/CalendarItemContext.d.ts +10 -0
  129. package/__inner__/esm/components/Calendar/components/CalendarItem/CalendarItemContext.js +5 -0
  130. package/__inner__/esm/components/Calendar/components/CalendarItem/components/CalendarItemNextMonth/CalendarItemNextMonth.d.ts +2 -0
  131. package/__inner__/esm/components/Calendar/components/CalendarItem/components/CalendarItemNextMonth/CalendarItemNextMonth.js +12 -0
  132. package/__inner__/esm/components/Calendar/components/CalendarItem/components/CalendarItemNextMonth/index.d.ts +1 -0
  133. package/__inner__/esm/components/Calendar/components/CalendarItem/components/CalendarItemNextMonth/index.js +1 -0
  134. package/__inner__/esm/components/Calendar/components/CalendarItem/components/CalendarItemPreviousMonth/CalendarItemPreviousMonth.d.ts +2 -0
  135. package/__inner__/esm/components/Calendar/components/CalendarItem/components/CalendarItemPreviousMonth/CalendarItemPreviousMonth.js +12 -0
  136. package/__inner__/esm/components/Calendar/components/CalendarItem/components/CalendarItemPreviousMonth/index.d.ts +1 -0
  137. package/__inner__/esm/components/Calendar/components/CalendarItem/components/CalendarItemPreviousMonth/index.js +1 -0
  138. package/__inner__/esm/components/Calendar/components/CalendarItem/components/index.d.ts +2 -0
  139. package/__inner__/esm/components/Calendar/components/CalendarItem/components/index.js +2 -0
  140. package/__inner__/esm/components/Calendar/components/CalendarModeRange/CalendarModeRange.d.ts +2 -0
  141. package/__inner__/esm/components/Calendar/components/CalendarModeRange/CalendarModeRange.js +76 -0
  142. package/__inner__/esm/components/Calendar/components/CalendarModeRange/components/CalendarAdditionalControls/CalendarAdditionalControls.css +3 -0
  143. package/__inner__/{cjs/components/Calendar → esm/components/Calendar/components/CalendarModeRange}/components/CalendarAdditionalControls/CalendarAdditionalControls.d.ts +2 -2
  144. package/__inner__/esm/components/Calendar/components/CalendarModeRange/components/CalendarAdditionalControls/CalendarAdditionalControls.js +20 -0
  145. package/__inner__/esm/components/Calendar/components/CalendarModeRange/components/CalendarAdditionalControls/index.js +1 -0
  146. package/__inner__/esm/components/Calendar/components/CalendarModeRange/components/CalendarConsumer/CalendarConsumer.d.ts +2 -0
  147. package/__inner__/esm/components/Calendar/components/CalendarModeRange/components/CalendarConsumer/CalendarConsumer.js +41 -0
  148. package/__inner__/esm/components/Calendar/components/CalendarModeRange/components/CalendarConsumer/index.d.ts +1 -0
  149. package/__inner__/esm/components/Calendar/components/CalendarModeRange/components/CalendarConsumer/index.js +1 -0
  150. package/__inner__/esm/components/Calendar/components/CalendarModeRange/components/index.d.ts +2 -0
  151. package/__inner__/esm/components/Calendar/components/CalendarModeRange/components/index.js +2 -0
  152. package/__inner__/esm/components/Calendar/components/CalendarModeRange/index.d.ts +1 -0
  153. package/__inner__/esm/components/Calendar/components/CalendarModeRange/index.js +1 -0
  154. package/__inner__/esm/components/Calendar/components/CalendarModeSingle/CalendarModeSingle.d.ts +2 -0
  155. package/__inner__/esm/components/Calendar/components/CalendarModeSingle/CalendarModeSingle.js +71 -0
  156. package/__inner__/esm/components/Calendar/components/CalendarModeSingle/components/CalendarAdditionalControls/CalendarAdditionalControls.css +3 -0
  157. package/__inner__/esm/components/Calendar/components/CalendarModeSingle/components/CalendarAdditionalControls/CalendarAdditionalControls.d.ts +9 -0
  158. package/__inner__/esm/components/Calendar/components/{CalendarAdditionalControls → CalendarModeSingle/components/CalendarAdditionalControls}/CalendarAdditionalControls.js +3 -3
  159. package/__inner__/esm/components/Calendar/components/CalendarModeSingle/components/CalendarAdditionalControls/index.d.ts +1 -0
  160. package/__inner__/esm/components/Calendar/components/CalendarModeSingle/components/CalendarAdditionalControls/index.js +1 -0
  161. package/__inner__/esm/components/Calendar/components/CalendarModeSingle/components/CalendarConsumer/CalendarConsumer.d.ts +2 -0
  162. package/__inner__/esm/components/Calendar/components/CalendarModeSingle/components/CalendarConsumer/CalendarConsumer.js +35 -0
  163. package/__inner__/esm/components/Calendar/components/CalendarModeSingle/components/CalendarConsumer/index.d.ts +1 -0
  164. package/__inner__/esm/components/Calendar/components/CalendarModeSingle/components/CalendarConsumer/index.js +1 -0
  165. package/__inner__/esm/components/Calendar/components/CalendarModeSingle/components/index.d.ts +2 -0
  166. package/__inner__/esm/components/Calendar/components/CalendarModeSingle/components/index.js +2 -0
  167. package/__inner__/esm/components/Calendar/components/CalendarModeSingle/index.d.ts +1 -0
  168. package/__inner__/esm/components/Calendar/components/CalendarModeSingle/index.js +1 -0
  169. package/__inner__/esm/components/Calendar/components/CalendarSwitcher/CalendarSwitcher.css +5 -7
  170. package/__inner__/esm/components/Calendar/components/CalendarSwitcher/CalendarSwitcher.d.ts +3 -3
  171. package/__inner__/esm/components/Calendar/components/CalendarSwitcher/CalendarSwitcher.js +12 -12
  172. package/__inner__/esm/components/Calendar/components/index.d.ts +4 -2
  173. package/__inner__/esm/components/Calendar/components/index.js +4 -2
  174. package/__inner__/esm/components/Calendar/constants.d.ts +1 -1
  175. package/__inner__/esm/components/Calendar/constants.js +1 -1
  176. package/__inner__/esm/components/Calendar/types.d.ts +19 -16
  177. package/__inner__/esm/components/Calendar/types.js +1 -0
  178. package/__inner__/esm/components/Calendar/utils.d.ts +3 -0
  179. package/__inner__/esm/components/Calendar/{components/CalendarSwitcher/utils.js → utils.js} +2 -0
  180. package/__inner__/esm/components/DatePicker/DatePicker.d.ts +7 -7
  181. package/__inner__/esm/components/DatePicker/DatePicker.js +2 -2
  182. package/__inner__/esm/components/DatePicker/types.d.ts +4 -4
  183. package/__inner__/esm/components/DatePicker/utils/getCalendarSizeToFormElement/getCalendarSizeToFormElement.d.ts +2 -0
  184. package/__inner__/esm/components/DatePicker/utils/getCalendarSizeToFormElement/getCalendarSizeToFormElement.js +11 -0
  185. package/__inner__/esm/components/DatePicker/utils/getCalendarSizeToFormElement/index.d.ts +1 -0
  186. package/__inner__/esm/components/DatePicker/utils/getCalendarSizeToFormElement/index.js +1 -0
  187. package/__inner__/esm/components/DatePicker/utils/index.d.ts +1 -1
  188. package/__inner__/esm/components/DatePicker/utils/index.js +1 -1
  189. package/__inner__/esm/components/FieldControl/FieldControl.css +7 -1
  190. package/__inner__/esm/components/FieldControl/FieldControl.js +7 -1
  191. package/__inner__/esm/components/FieldControl/FieldControlContext.d.ts +1 -0
  192. package/__inner__/esm/components/FilePicker/FilePicker.d.ts +2 -1
  193. package/__inner__/esm/components/FilePicker/types.d.ts +2 -0
  194. package/__inner__/esm/components/Input/types.d.ts +2 -0
  195. package/__inner__/esm/components/InputNumber/types.d.ts +2 -0
  196. package/__inner__/esm/components/Select/Select.js +6 -6
  197. package/__inner__/esm/components/Select/components/SelectInput/types.d.ts +2 -0
  198. package/__inner__/esm/components/Select/types.d.ts +1 -1
  199. package/__inner__/esm/components/Tag/Tag.css +5 -0
  200. package/__inner__/esm/components/Tag/Tag.js +4 -0
  201. package/__inner__/esm/components/TagNext/Tag.css +244 -0
  202. package/__inner__/esm/components/TagNext/Tag.d.ts +33 -0
  203. package/__inner__/esm/components/TagNext/Tag.js +36 -0
  204. package/__inner__/esm/components/TagNext/constants.d.ts +4 -0
  205. package/__inner__/esm/components/TagNext/constants.js +4 -0
  206. package/__inner__/esm/components/TagNext/index.d.ts +1 -0
  207. package/__inner__/esm/components/TagNext/index.js +1 -0
  208. package/__inner__/esm/components/Textarea/types.d.ts +2 -0
  209. package/__inner__/esm/components/ThemeProvider/_color/Theme_color_vipDark.css +172 -0
  210. package/__inner__/esm/components/ThemeProvider/_color/Theme_color_vipDefault.css +172 -0
  211. package/__inner__/esm/components/ThemeProvider/types.d.ts +2 -0
  212. package/__inner__/esm/locale/locale.js +24 -30
  213. package/__inner__/esm/utils/date/index.d.ts +1 -0
  214. package/__inner__/esm/utils/date/index.js +1 -0
  215. package/__inner__/esm/utils/date/monthDiff/index.d.ts +1 -0
  216. package/__inner__/esm/utils/date/monthDiff/index.js +1 -0
  217. package/__inner__/esm/utils/date/monthDiff/monthDiff.d.ts +1 -0
  218. package/__inner__/esm/utils/date/monthDiff/monthDiff.js +7 -0
  219. package/__inner__/esm/utils/getByMap/getByMap.d.ts +1 -0
  220. package/__inner__/esm/utils/getByMap/getByMap.js +3 -0
  221. package/__inner__/esm/utils/getByMap/index.d.ts +1 -0
  222. package/__inner__/esm/utils/getByMap/index.js +1 -0
  223. package/__inner__/esm/utils/getIconSizeToFormElement.js +7 -4
  224. package/__inner__/esm/utils/getPaperSizeToFormElement.d.ts +1 -2
  225. package/__inner__/esm/utils/getPaperSizeToFormElement.js +7 -4
  226. package/package.json +4 -5
  227. package/__inner__/cjs/components/Calendar/components/CalendarSwitcher/utils.d.ts +0 -2
  228. package/__inner__/cjs/components/DatePicker/utils/matchCalendarSizeToFormElement/index.d.ts +0 -1
  229. package/__inner__/cjs/components/DatePicker/utils/matchCalendarSizeToFormElement/matchCalendarSizeToFormElement.d.ts +0 -5
  230. package/__inner__/cjs/components/DatePicker/utils/matchCalendarSizeToFormElement/matchCalendarSizeToFormElement.js +0 -10
  231. package/__inner__/esm/components/Calendar/components/CalendarSwitcher/utils.d.ts +0 -2
  232. package/__inner__/esm/components/DatePicker/utils/matchCalendarSizeToFormElement/index.d.ts +0 -1
  233. package/__inner__/esm/components/DatePicker/utils/matchCalendarSizeToFormElement/index.js +0 -1
  234. package/__inner__/esm/components/DatePicker/utils/matchCalendarSizeToFormElement/matchCalendarSizeToFormElement.d.ts +0 -5
  235. package/__inner__/esm/components/DatePicker/utils/matchCalendarSizeToFormElement/matchCalendarSizeToFormElement.js +0 -7
  236. /package/__inner__/cjs/components/Calendar/components/{CalendarAdditionalControls → CalendarModeRange/components/CalendarAdditionalControls}/CalendarAdditionalControls.css +0 -0
  237. /package/__inner__/cjs/components/Calendar/components/{CalendarAdditionalControls → CalendarModeRange/components/CalendarAdditionalControls}/index.d.ts +0 -0
  238. /package/__inner__/cjs/components/Calendar/components/{CalendarAdditionalControls → CalendarModeRange/components/CalendarAdditionalControls}/index.js +0 -0
  239. /package/__inner__/{esm/components/Calendar → cjs/components/Calendar/components/CalendarModeSingle}/components/CalendarAdditionalControls/CalendarAdditionalControls.css +0 -0
  240. /package/__inner__/{esm/components/Calendar → cjs/components/Calendar/components/CalendarModeSingle}/components/CalendarAdditionalControls/index.d.ts +0 -0
  241. /package/__inner__/esm/components/Calendar/components/{CalendarAdditionalControls/index.js → CalendarModeRange/components/CalendarAdditionalControls/index.d.ts} +0 -0
@@ -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'>;
@@ -0,0 +1,71 @@
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 CalendarModeSingle = 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
+ var value = data[0];
31
+ if (value) {
32
+ setValue(value);
33
+ onChangeProp === null || onChangeProp === void 0 ? void 0 : onChangeProp(value);
34
+ }
35
+ };
36
+ var onOffsetChange = function (date) {
37
+ setOffsetDateState(date);
38
+ onOffsetDateChangeProp === null || onOffsetDateChangeProp === void 0 ? void 0 : onOffsetDateChangeProp(date);
39
+ };
40
+ var config = {
41
+ calendar: {
42
+ startDay: startDay,
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: { minDate: minDate, maxDate: maxDate },
54
+ years: { numberOfYears: 15 },
55
+ selectedDates: value ? [value] : [],
56
+ };
57
+ return (React.createElement(DatePickerProvider, { config: config },
58
+ React.createElement(CalendarContext.Provider, { value: {
59
+ size: size,
60
+ minDate: minDate,
61
+ maxDate: maxDate,
62
+ onDayClick: onDayClick,
63
+ onYearClick: onYearClick,
64
+ onMonthClick: onMonthClick,
65
+ getPeriodSwitchAriaLabel: getPeriodSwitchAriaLabel,
66
+ onOffsetChange: onOffsetChange,
67
+ } },
68
+ React.createElement("div", __assign({ className: cnCalendar({ size: size }, [className]) }, other, { ref: ref }),
69
+ React.createElement(CalendarConsumer, null),
70
+ React.createElement(CalendarAdditionalControls, { renderAdditionalControls: renderAdditionalControls })))));
71
+ });
@@ -0,0 +1,3 @@
1
+ .CalendarAdditionalControls {
2
+ margin: var(--calendar-grid-margin);
3
+ }
@@ -0,0 +1,9 @@
1
+ import './CalendarAdditionalControls.css';
2
+ import type { FC } from 'react';
3
+ import type { CalendarProps } from '../../../../index';
4
+ export declare const cnCalendarAdditionalControls: import("@bem-react/classname").ClassNameFormatter;
5
+ type CalendarAdditionalControlsProps = {
6
+ renderAdditionalControls?: CalendarProps<'single'>['renderAdditionalControls'];
7
+ };
8
+ export declare const CalendarAdditionalControls: FC<CalendarAdditionalControlsProps>;
9
+ export {};
@@ -1,9 +1,9 @@
1
1
  import './CalendarAdditionalControls.css';
2
2
  import React from 'react';
3
3
  import { useDatePickerContext } from '@rehookify/datepicker';
4
- import { cn } from '../../../../utils/classname';
5
- import { renderContent } from '../../../../utils/renderContent';
6
- import { Divider } from '../../../Divider';
4
+ import { cn } from '../../../../../../utils/classname';
5
+ import { renderContent } from '../../../../../../utils/renderContent';
6
+ import { Divider } from '../../../../../Divider';
7
7
  export var cnCalendarAdditionalControls = cn('CalendarAdditionalControls');
8
8
  export var CalendarAdditionalControls = function (_a) {
9
9
  var renderAdditionalControls = _a.renderAdditionalControls;
@@ -0,0 +1,2 @@
1
+ import React from 'react';
2
+ export declare const CalendarConsumer: () => React.JSX.Element | null;
@@ -0,0 +1,35 @@
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 { useCalendar } from '../../../../../Calendar/CalendarContext';
6
+ import { isOutOfRange } from '../../../../../DatePicker/utils';
7
+ import { CalendarItem } from '../../../CalendarItem';
8
+ export var CalendarConsumer = function () {
9
+ var _a = useDatePickerContext().data, calendars = _a.calendars, selectedDates = _a.selectedDates;
10
+ var onOffsetChange = useCalendar().onOffsetChange;
11
+ var calendar = calendars[0];
12
+ var savedCalendar = useMutableRef(calendar);
13
+ var _b = __read(selectedDates, 1), value = _b[0];
14
+ useEffect(function () {
15
+ var _a, _b;
16
+ if (!savedCalendar.current)
17
+ return;
18
+ var daysInCurrentMonth = savedCalendar.current.days.filter(function (_a) {
19
+ var inCurrentMonth = _a.inCurrentMonth;
20
+ return inCurrentMonth;
21
+ });
22
+ var valueIsOutOfRange = isOutOfRange({
23
+ minDate: (_a = daysInCurrentMonth[0]) === null || _a === void 0 ? void 0 : _a.$date,
24
+ maxDate: (_b = daysInCurrentMonth[daysInCurrentMonth.length - 1]) === null || _b === void 0 ? void 0 : _b.$date,
25
+ value: value,
26
+ });
27
+ if (valueIsOutOfRange && value) {
28
+ onOffsetChange === null || onOffsetChange === void 0 ? void 0 : onOffsetChange(value);
29
+ }
30
+ }, [value]);
31
+ if (!calendars[0]) {
32
+ return null;
33
+ }
34
+ return React.createElement(CalendarItem, { calendar: calendars[0], type: "single" });
35
+ };
@@ -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 './CalendarModeSingle';
@@ -0,0 +1 @@
1
+ export * from './CalendarModeSingle';
@@ -10,16 +10,14 @@
10
10
  box-sizing: border-box;
11
11
  }
12
12
 
13
- .CalendarSwitcher-StartActions,
14
- .CalendarSwitcher-EndActions {
13
+ .CalendarSwitcher > * {
15
14
  display: flex;
16
15
  align-items: center;
16
+ gap: var(--spacing-m);
17
17
  }
18
18
 
19
- .CalendarSwitcher-StartActions {
19
+ .CalendarSwitcher-Actions {
20
+ display: flex;
21
+ align-items: center;
20
22
  gap: var(--spacing-2xs);
21
23
  }
22
-
23
- .CalendarSwitcher-EndActions {
24
- gap: var(--spacing-m);
25
- }
@@ -1,10 +1,10 @@
1
1
  import './CalendarSwitcher.css';
2
- import type { ComponentPropsWithRef, ComponentRef } from 'react';
2
+ import type { ComponentPropsWithRef, ComponentRef, ReactNode } from 'react';
3
3
  import React from 'react';
4
- import type { CalendarStepVariant } from '../../index';
5
4
  export declare const cnCalendarSwitcher: import("@bem-react/classname").ClassNameFormatter;
6
5
  export type CalendarSwitcherProps = {
7
- getPeriodSwitchAriaLabel?: (step: CalendarStepVariant) => [string, string];
6
+ prevButton?: ReactNode;
7
+ nextButton?: ReactNode;
8
8
  } & ComponentPropsWithRef<'div'>;
9
9
  export type CalendarSwitcherRef = ComponentRef<'div'>;
10
10
  export declare const CalendarSwitcher: React.ForwardRefExoticComponent<Omit<CalendarSwitcherProps, "ref"> & React.RefAttributes<HTMLDivElement>>;
@@ -1,6 +1,6 @@
1
1
  import { __assign, __read, __rest } from "tslib";
2
2
  import './CalendarSwitcher.css';
3
- import React, { forwardRef, useContext } from 'react';
3
+ import React, { forwardRef } from 'react';
4
4
  import { ChevronLeftIcon, ChevronRightIcon } from '@ozen-ui/icons';
5
5
  import { useDatePickerContext } from '@rehookify/datepicker';
6
6
  import { capitalizeFirstLetter as capitalize } from '../../../../utils/capitalizeFirstLetter';
@@ -8,30 +8,30 @@ import { cn } from '../../../../utils/classname';
8
8
  import { Button } from '../../../ButtonNext';
9
9
  import { IconButton } from '../../../IconButtonNext';
10
10
  import { Typography } from '../../../Typography';
11
- import { CalendarContext } from '../../CalendarContext';
12
- import { getPeriodSwitchAriaLabel as createPeriodSwitchAriaLabel } from './utils';
11
+ import { useCalendar } from '../../CalendarContext';
12
+ import { useCalendarItem } from '../CalendarItem/CalendarItemContext';
13
13
  export var cnCalendarSwitcher = cn('CalendarSwitcher');
14
14
  export var CalendarSwitcher = forwardRef(function (_a, ref) {
15
15
  var _b, _c;
16
- var className = _a.className, _d = _a.getPeriodSwitchAriaLabel, getPeriodSwitchAriaLabel = _d === void 0 ? createPeriodSwitchAriaLabel : _d, other = __rest(_a, ["className", "getPeriodSwitchAriaLabel"]);
17
- var _e = useContext(CalendarContext), step = _e.step, goStep = _e.goStep, size = _e.size;
18
- var _f = useDatePickerContext(), _g = _f.data, calendars = _g.calendars, years = _g.years, _h = _f.propGetters, subtractOffset = _h.subtractOffset, addOffset = _h.addOffset, nextYearsButton = _h.nextYearsButton, previousYearsButton = _h.previousYearsButton;
19
- var _j = calendars[0] || {}, year = _j.year, month = _j.month;
16
+ var className = _a.className, prevButton = _a.prevButton, nextButton = _a.nextButton, other = __rest(_a, ["className", "prevButton", "nextButton"]);
17
+ var _d = useCalendar(), size = _d.size, getPeriodSwitchAriaLabel = _d.getPeriodSwitchAriaLabel;
18
+ var _e = useCalendarItem(), step = _e.step, goStep = _e.goStep, calendar = _e.calendar;
19
+ var _f = useDatePickerContext(), years = _f.data.years, _g = _f.propGetters, addOffset = _g.addOffset, subtractOffset = _g.subtractOffset, nextYearsButton = _g.nextYearsButton, previousYearsButton = _g.previousYearsButton;
20
+ var _h = calendar || {}, year = _h.year, month = _h.month;
20
21
  var handleClickOnMonths = function () {
21
22
  goStep === null || goStep === void 0 ? void 0 : goStep('months');
22
23
  };
23
24
  var handleClickOnYears = function () {
24
25
  goStep === null || goStep === void 0 ? void 0 : goStep('years');
25
26
  };
26
- var _k = __read(getPeriodSwitchAriaLabel(step), 2), PREVIOUS = _k[0], NEXT = _k[1];
27
+ var _j = __read((getPeriodSwitchAriaLabel === null || getPeriodSwitchAriaLabel === void 0 ? void 0 : getPeriodSwitchAriaLabel(step)) || [], 2), PREVIOUS = _j[0], NEXT = _j[1];
27
28
  return (React.createElement("div", __assign({ className: cnCalendarSwitcher({ size: size }, [className]) }, other, { ref: ref }),
28
29
  step === 'days' && (React.createElement(React.Fragment, null,
29
- React.createElement("div", { className: cnCalendarSwitcher('StartActions') },
30
+ prevButton,
31
+ React.createElement("div", { className: cnCalendarSwitcher('Actions') },
30
32
  React.createElement(Button, { variant: "function", type: "button", color: "primary", onClick: handleClickOnMonths, size: size }, month && capitalize(month)),
31
33
  React.createElement(Button, { variant: "function", type: "button", color: "primary", onClick: handleClickOnYears, size: size }, year)),
32
- React.createElement("div", { className: cnCalendarSwitcher('EndActions') },
33
- React.createElement(IconButton, __assign({ variant: "function", type: "button", color: "primary", icon: ChevronLeftIcon, size: size, "aria-label": PREVIOUS, title: PREVIOUS }, subtractOffset({ months: 1 }))),
34
- React.createElement(IconButton, __assign({ variant: "function", color: "primary", icon: ChevronRightIcon, size: size, "aria-label": NEXT, title: NEXT }, addOffset({ months: 1 })))))),
34
+ nextButton)),
35
35
  step === 'months' && (React.createElement(React.Fragment, null,
36
36
  React.createElement("div", { className: cnCalendarSwitcher('StartActions') },
37
37
  React.createElement(Button, { variant: "function", type: "button", color: "primary", onClick: handleClickOnYears, size: size }, year)),
@@ -1,4 +1,6 @@
1
- export * from './CalendarItem';
1
+ export * from './CalendarGridItem';
2
2
  export * from './CalendarSwitcher';
3
3
  export * from './CalendarGrid';
4
- export * from './CalendarAdditionalControls';
4
+ export * from './CalendarModeSingle';
5
+ export * from './CalendarModeRange';
6
+ export * from './CalendarItem';
@@ -1,4 +1,6 @@
1
- export * from './CalendarItem';
1
+ export * from './CalendarGridItem';
2
2
  export * from './CalendarSwitcher';
3
3
  export * from './CalendarGrid';
4
- export * from './CalendarAdditionalControls';
4
+ export * from './CalendarModeSingle';
5
+ export * from './CalendarModeRange';
6
+ export * from './CalendarItem';
@@ -1,4 +1,4 @@
1
- export declare const CALENDAR_DEFAULT_AS = "div";
2
1
  export declare const CALENDAR_DEFAULT_START_DAY = 1;
3
2
  export declare const CALENDAR_ITEM_DEFAULT_TAG = "button";
4
3
  export declare const CALENDAR_DEFAULT_SIZE = "m";
4
+ export declare const CALENDAR_DEFAULT_MODE = "single";
@@ -1,4 +1,4 @@
1
- export var CALENDAR_DEFAULT_AS = 'div';
2
1
  export var CALENDAR_DEFAULT_START_DAY = 1;
3
2
  export var CALENDAR_ITEM_DEFAULT_TAG = 'button';
4
3
  export var CALENDAR_DEFAULT_SIZE = 'm';
4
+ export var CALENDAR_DEFAULT_MODE = 'single';
@@ -1,30 +1,32 @@
1
- import type { ElementType, MouseEvent, ReactElement } from 'react';
1
+ import type { ComponentPropsWithRef, MouseEvent, ReactElement, ReactNode } from 'react';
2
2
  import type { DPExcludeConfig, DPDayInteger } from '@rehookify/datepicker';
3
- import type { PolymorphicComponentPropsWithoutRef } from '../../utils/polymorphicComponentWithRef';
4
- import type { CalendarSwitcherProps } from './components';
5
- import type { CALENDAR_DEFAULT_AS } from './constants';
3
+ import type { CALENDAR_DEFAULT_MODE } from './constants';
6
4
  export declare const calendarStepVariant: readonly ["days", "months", "years"];
7
5
  export declare const calendarSizeVariant: readonly ["s", "m", "l"];
6
+ export declare const calendarModeVariant: readonly ["single", "range"];
8
7
  export type CalendarStepVariant = (typeof calendarStepVariant)[number];
9
- export type CalendarOnChange = (date: Date | null) => void;
8
+ export type CalendarModeVariant = (typeof calendarModeVariant)[number];
9
+ export type CalendarValue<MODE extends CalendarModeVariant> = (MODE extends 'range' ? Date[] : Date) | null;
10
+ export type CalendarOnChange<MODE extends CalendarModeVariant> = (date: CalendarValue<MODE>) => void;
10
11
  export type CalendarOnOffsetDateChange = (date: Date) => void;
11
12
  export type CalendarSizeVariant = (typeof calendarSizeVariant)[number];
12
13
  export type CalendarExclude = DPExcludeConfig;
13
14
  export type CalendarStartDay = DPDayInteger;
14
- export type CalendarRenderAdditionalControls = (props: {
15
- date?: Date;
15
+ export type CalendarRenderAdditionalControls<MODE extends CalendarModeVariant> = (props: {
16
+ date?: MODE extends 'range' ? Date[] : Date;
16
17
  }) => ReactElement;
17
- export type CalendarBaseProps = {
18
+ export type CalendarProps<MODE extends CalendarModeVariant = typeof CALENDAR_DEFAULT_MODE> = {
19
+ mode?: MODE;
18
20
  /** Выбранная дата */
19
- value?: Date | null;
21
+ value?: CalendarValue<MODE>;
20
22
  /** Выбранная дата по умолчанию (неконтролируемое состояние) */
21
- defaultValue?: Date;
23
+ defaultValue?: CalendarValue<MODE>;
22
24
  /** Смещение календаря – на какой странице показать календарь */
23
25
  offsetDate?: Date;
24
26
  /** Смещение календаря по умолчанию */
25
27
  defaultOffsetDate?: Date;
26
28
  /** Обработчик событий выбора даты */
27
- onChange?: CalendarOnChange;
29
+ onChange?: CalendarOnChange<MODE>;
28
30
  /** Обработчик событий на смещение календаря */
29
31
  onOffsetDateChange?: CalendarOnOffsetDateChange;
30
32
  /** Локализация */
@@ -46,9 +48,10 @@ export type CalendarBaseProps = {
46
48
  /** Обработчик нажатия на кнопку года */
47
49
  onYearClick?: (e: MouseEvent<HTMLElement>, date: Date) => void;
48
50
  /** Дополнительные контролы – рендер функция */
49
- renderAdditionalControls?: CalendarRenderAdditionalControls;
50
- /** Cвойства компонента CalendarSwitcher */
51
- calendarSwitcherProps?: CalendarSwitcherProps;
51
+ renderAdditionalControls?: CalendarRenderAdditionalControls<MODE>;
52
+ /** Функция форматирования атрибута aria-label для кнопок переключения периодов */
53
+ getPeriodSwitchAriaLabel?: (step: CalendarStepVariant) => [string, string];
52
54
  children?: never;
53
- };
54
- export type CalendarProps<As extends ElementType = typeof CALENDAR_DEFAULT_AS> = PolymorphicComponentPropsWithoutRef<CalendarBaseProps, As>;
55
+ } & Omit<ComponentPropsWithRef<'div'>, 'onChange' | 'defaultValue'>;
56
+ export type CalendarComponent = <MODE extends CalendarModeVariant = typeof CALENDAR_DEFAULT_MODE>(props: CalendarProps<MODE>) => ReactNode;
57
+ export type CalendarTypeComponent<MODE extends CalendarModeVariant> = (props: Omit<CalendarProps<MODE>, 'mode'>) => ReactNode;
@@ -1,2 +1,3 @@
1
1
  export var calendarStepVariant = ['days', 'months', 'years'];
2
2
  export var calendarSizeVariant = ['s', 'm', 'l'];
3
+ export var calendarModeVariant = ['single', 'range'];
@@ -0,0 +1,3 @@
1
+ import type { CalendarProps } from './index';
2
+ export declare const cnCalendar: import("@bem-react/classname").ClassNameFormatter;
3
+ export declare const getPeriodSwitchAriaLabel: CalendarProps['getPeriodSwitchAriaLabel'];
@@ -1,3 +1,5 @@
1
+ import { cn } from '../../utils/classname';
2
+ export var cnCalendar = cn('Calendar');
1
3
  export var getPeriodSwitchAriaLabel = function (step) {
2
4
  if (step === 'days') {
3
5
  return ['Previous month', 'Next month'];
@@ -1,39 +1,39 @@
1
1
  import './DatePicker.css';
2
2
  import React from 'react';
3
- import type { CalendarOnChange } from '../Calendar';
3
+ import type { DatePickerOnChange } from './types';
4
4
  export declare const cnDatePicker: import("@bem-react/classname").ClassNameFormatter;
5
5
  export declare const DatePicker: React.ForwardRefExoticComponent<(Omit<{
6
6
  value?: Date | null | undefined;
7
7
  defaultValue?: Date | null | undefined;
8
- onChange?: CalendarOnChange | undefined;
8
+ onChange?: DatePickerOnChange | undefined;
9
9
  onInputChange?: import("./types").DatePickerOnInputChange | undefined;
10
10
  onClose?: (() => void) | undefined;
11
11
  onOpen?: (() => void) | undefined;
12
- calendarProps?: import("../Calendar").CalendarBaseProps | undefined;
12
+ calendarProps?: import("../Calendar").CalendarProps | undefined;
13
13
  popoverProps?: import("../Popover").PopoverBaseProps | undefined;
14
14
  clearText?: string | undefined;
15
15
  disableClearButton?: boolean | undefined;
16
16
  onError?: import("./types").DatePickerPropOnError | undefined;
17
17
  } & Omit<Omit<React.DetailedHTMLProps<React.HTMLAttributes<HTMLDivElement>, HTMLDivElement>, "ref"> & {
18
18
  ref?: ((instance: HTMLDivElement | null) => void) | React.RefObject<HTMLDivElement> | null | undefined;
19
- }, "defaultValue" | "onChange" | "onError"> & Pick<import("../Calendar").CalendarBaseProps, "exclude" | "offsetDate" | "minDate" | "maxDate"> & Pick<import("../Input").InputProps, "error" | "label" | "onKeyDown" | "disabled" | "placeholder" | "required" | "size" | "fullWidth" | "hint" | "renderLeft" | "renderRight" | "inputProps"> & {
19
+ }, "defaultValue" | "onChange" | "onError"> & Pick<import("../Calendar").CalendarProps, "exclude" | "offsetDate" | "minDate" | "maxDate"> & Pick<import("../Input").InputProps, "error" | "label" | "onKeyDown" | "disabled" | "placeholder" | "required" | "size" | "fullWidth" | "disableStroke" | "hint" | "renderLeft" | "renderRight" | "inputProps" | "hintProps"> & {
20
20
  open?: boolean | undefined;
21
21
  defaultOpen?: undefined;
22
22
  }, "ref"> | Omit<{
23
23
  value?: Date | null | undefined;
24
24
  defaultValue?: Date | null | undefined;
25
- onChange?: CalendarOnChange | undefined;
25
+ onChange?: DatePickerOnChange | undefined;
26
26
  onInputChange?: import("./types").DatePickerOnInputChange | undefined;
27
27
  onClose?: (() => void) | undefined;
28
28
  onOpen?: (() => void) | undefined;
29
- calendarProps?: import("../Calendar").CalendarBaseProps | undefined;
29
+ calendarProps?: import("../Calendar").CalendarProps | undefined;
30
30
  popoverProps?: import("../Popover").PopoverBaseProps | undefined;
31
31
  clearText?: string | undefined;
32
32
  disableClearButton?: boolean | undefined;
33
33
  onError?: import("./types").DatePickerPropOnError | undefined;
34
34
  } & Omit<Omit<React.DetailedHTMLProps<React.HTMLAttributes<HTMLDivElement>, HTMLDivElement>, "ref"> & {
35
35
  ref?: ((instance: HTMLDivElement | null) => void) | React.RefObject<HTMLDivElement> | null | undefined;
36
- }, "defaultValue" | "onChange" | "onError"> & Pick<import("../Calendar").CalendarBaseProps, "exclude" | "offsetDate" | "minDate" | "maxDate"> & Pick<import("../Input").InputProps, "error" | "label" | "onKeyDown" | "disabled" | "placeholder" | "required" | "size" | "fullWidth" | "hint" | "renderLeft" | "renderRight" | "inputProps"> & {
36
+ }, "defaultValue" | "onChange" | "onError"> & Pick<import("../Calendar").CalendarProps, "exclude" | "offsetDate" | "minDate" | "maxDate"> & Pick<import("../Input").InputProps, "error" | "label" | "onKeyDown" | "disabled" | "placeholder" | "required" | "size" | "fullWidth" | "disableStroke" | "hint" | "renderLeft" | "renderRight" | "inputProps" | "hintProps"> & {
37
37
  open?: undefined;
38
38
  defaultOpen?: boolean | undefined;
39
39
  }, "ref">) & React.RefAttributes<HTMLDivElement>>;
@@ -12,7 +12,7 @@ import { Popover } from '../Popover';
12
12
  import { DateInput, DatePickerRenderRight } from './components';
13
13
  import { isCompleted } from './components/DateInput/utils';
14
14
  import { DATE_PICKER_DEFAULT_SIZE } from './constants';
15
- import { formatDateToString, formatStringToDate, isInExclude, isOutOfRange, matchCalendarSizeToFormElement, } from './utils';
15
+ import { formatDateToString, formatStringToDate, isInExclude, isOutOfRange, getCalendarSizeToFormElement, } from './utils';
16
16
  export var cnDatePicker = cn('DatePicker');
17
17
  export var DatePicker = forwardRef(function (inProps, ref) {
18
18
  var props = useThemeProps({
@@ -41,7 +41,7 @@ export var DatePicker = forwardRef(function (inProps, ref) {
41
41
  state: 'value',
42
42
  }), 2), value = _d[0], setValue = _d[1];
43
43
  /** Соотношение размера календаря к размеру элемента контроля */
44
- var calendarSize = matchCalendarSizeToFormElement[size];
44
+ var calendarSize = getCalendarSizeToFormElement(size);
45
45
  /** Вычисление border-radius по размеру компонента */
46
46
  var radius = getPaperSizeToFormElement(size);
47
47
  var callOnChange = function (value) {
@@ -1,8 +1,8 @@
1
1
  import type { ComponentPropsWithRef, ChangeEvent } from 'react';
2
- import type { CalendarBaseProps, CalendarOnChange } from '../Calendar';
2
+ import type { CalendarProps, CalendarOnChange } from '../Calendar';
3
3
  import type { InputProps } from '../Input';
4
4
  import type { PopoverBaseProps } from '../Popover';
5
- export type DatePickerOnChange = CalendarOnChange;
5
+ export type DatePickerOnChange = CalendarOnChange<'single'>;
6
6
  export type DatePickerOnInputChange = (e: ChangeEvent<HTMLInputElement> | null, value: string) => void;
7
7
  export type DatePickerPropOnError = (props: {
8
8
  type: 'outOfRange';
@@ -39,7 +39,7 @@ export type DatePickerProps = {
39
39
  /** Функция обратного вызова, которая будет вызвана когда компонент запрашивает открытие */
40
40
  onOpen?: () => void;
41
41
  /** Свойства компонента Calendar */
42
- calendarProps?: CalendarBaseProps;
42
+ calendarProps?: CalendarProps;
43
43
  /** Свойства компонента Popover */
44
44
  popoverProps?: PopoverBaseProps;
45
45
  /** Текст для кнопки очистки поля */
@@ -48,5 +48,5 @@ export type DatePickerProps = {
48
48
  disableClearButton?: boolean;
49
49
  /** Функция обратно вызова, которая сработает если пользователь ввёл дату с ошибкой */
50
50
  onError?: DatePickerPropOnError;
51
- } & Omit<ComponentPropsWithRef<'div'>, 'onChange' | 'defaultValue' | 'onError'> & Pick<CalendarBaseProps, 'minDate' | 'maxDate' | 'exclude' | 'offsetDate'> & Pick<InputProps, 'label' | 'hint' | 'onKeyDown' | 'size' | 'error' | 'required' | 'fullWidth' | 'disabled' | 'renderLeft' | 'renderRight' | 'placeholder' | 'inputProps'> & (DatePickerOpenControlledProps | DatePickerOpenUncontrolledProps);
51
+ } & Omit<ComponentPropsWithRef<'div'>, 'onChange' | 'defaultValue' | 'onError'> & Pick<CalendarProps, 'minDate' | 'maxDate' | 'exclude' | 'offsetDate'> & Pick<InputProps, 'label' | 'hint' | 'onKeyDown' | 'size' | 'error' | 'required' | 'fullWidth' | 'disableStroke' | 'disabled' | 'renderLeft' | 'renderRight' | 'placeholder' | 'inputProps' | 'hintProps'> & (DatePickerOpenControlledProps | DatePickerOpenUncontrolledProps);
52
52
  export {};
@@ -0,0 +1,2 @@
1
+ import type { FormElementSizeVariant } from '../../../../types/FormElementSizeVariant';
2
+ export declare const getCalendarSizeToFormElement: (size: FormElementSizeVariant) => "s" | "m" | "l";
@@ -0,0 +1,11 @@
1
+ import { getByMap } from '../../../../utils/getByMap';
2
+ var typeMap = {
3
+ '2xs': 's',
4
+ xs: 's',
5
+ s: 's',
6
+ m: 'm',
7
+ l: 'l',
8
+ };
9
+ export var getCalendarSizeToFormElement = function (size) {
10
+ return getByMap(typeMap, size);
11
+ };
@@ -0,0 +1 @@
1
+ export * from './getCalendarSizeToFormElement';