@onesy/ui-react 1.0.129 → 1.0.131

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 (445) hide show
  1. package/Accordion/Accordion.js +342 -242
  2. package/Accordion/index.js +12 -7
  3. package/AdvancedTextField/AdvancedTextField.js +165 -157
  4. package/AdvancedTextField/index.js +12 -7
  5. package/Append/Append.js +502 -519
  6. package/Append/index.js +12 -7
  7. package/AreaChart/AreaChart.js +53 -40
  8. package/AreaChart/index.js +12 -7
  9. package/AreaChartItem/AreaChartItem.js +325 -237
  10. package/AreaChartItem/index.js +12 -7
  11. package/AudioPlayer/AudioPlayer.js +683 -466
  12. package/AudioPlayer/index.js +12 -7
  13. package/AudioRecorder/AudioRecorder.js +359 -259
  14. package/AudioRecorder/index.js +12 -7
  15. package/AutoComplete/AutoComplete.js +693 -568
  16. package/AutoComplete/index.js +12 -7
  17. package/AutoCompleteCountry/AutoCompleteCountry.js +99 -62
  18. package/AutoCompleteCountry/index.js +12 -7
  19. package/AutoCompleteCurrency/AutoCompleteCurrency.js +73 -61
  20. package/AutoCompleteCurrency/index.js +12 -7
  21. package/Avatar/Avatar.js +113 -86
  22. package/Avatar/index.js +12 -7
  23. package/AvatarGroup/AvatarGroup.js +104 -87
  24. package/AvatarGroup/index.js +12 -7
  25. package/Backdrop/Backdrop.js +160 -139
  26. package/Backdrop/index.js +12 -7
  27. package/Badge/Badge.js +116 -96
  28. package/Badge/index.js +12 -7
  29. package/Banner/Banner.js +126 -85
  30. package/Banner/index.js +12 -7
  31. package/BottomAppBar/BottomAppBar.js +89 -60
  32. package/BottomAppBar/index.js +12 -7
  33. package/BottomSheet/BottomSheet.js +66 -59
  34. package/BottomSheet/index.js +12 -7
  35. package/Box/Box.js +43 -35
  36. package/Box/index.js +12 -7
  37. package/Breadcrumbs/Breadcrumbs.js +168 -144
  38. package/Breadcrumbs/index.js +12 -7
  39. package/BubbleChart/BubbleChart.js +261 -132
  40. package/BubbleChart/index.js +12 -7
  41. package/BubbleChartItem/BubbleChartItem.js +228 -161
  42. package/BubbleChartItem/index.js +12 -7
  43. package/Button/Button.js +488 -467
  44. package/Button/index.js +12 -7
  45. package/Buttons/Buttons.js +366 -293
  46. package/Buttons/index.js +12 -7
  47. package/Calendar/Calendar.js +715 -452
  48. package/Calendar/index.js +12 -7
  49. package/CalendarAvailability/CalendarAvailability.js +709 -388
  50. package/CalendarAvailability/index.js +12 -7
  51. package/CalendarMenu/CalendarMenu.js +430 -303
  52. package/CalendarMenu/index.js +12 -7
  53. package/CalendarMonth/CalendarMonth.js +537 -498
  54. package/CalendarMonth/index.js +12 -7
  55. package/CalendarViews/CalendarViews.js +403 -254
  56. package/CalendarViews/index.js +12 -7
  57. package/CalendarWeek/CalendarWeek.js +536 -395
  58. package/CalendarWeek/index.js +12 -7
  59. package/Card/Card.js +133 -101
  60. package/Card/index.js +12 -7
  61. package/CardButton/CardButton.js +78 -58
  62. package/CardButton/index.js +12 -7
  63. package/CardFooter/CardFooter.js +58 -39
  64. package/CardFooter/index.js +12 -7
  65. package/CardHeader/CardHeader.js +61 -44
  66. package/CardHeader/index.js +12 -7
  67. package/CardImage/CardImage.js +80 -67
  68. package/CardImage/index.js +12 -7
  69. package/CardMain/CardMain.js +53 -39
  70. package/CardMain/index.js +12 -7
  71. package/Carousel/Carousel.js +1025 -913
  72. package/Carousel/index.js +12 -7
  73. package/Chart/Chart.js +1325 -1174
  74. package/Chart/index.js +12 -7
  75. package/Checkbox/Checkbox.js +339 -325
  76. package/Checkbox/index.js +12 -7
  77. package/Chip/Chip.js +131 -102
  78. package/Chip/index.js +12 -7
  79. package/Chips/Chips.js +121 -94
  80. package/Chips/index.js +12 -7
  81. package/ClickListener/ClickListener.js +86 -89
  82. package/ClickListener/index.js +12 -7
  83. package/Clock/Clock.js +470 -417
  84. package/Clock/index.js +12 -7
  85. package/ColorTextField/ColorTextField.js +234 -171
  86. package/ColorTextField/index.js +12 -7
  87. package/ColumnChart/ColumnChart.js +63 -46
  88. package/ColumnChart/index.js +12 -7
  89. package/ColumnChartItem/ColumnChartItem.js +208 -149
  90. package/ColumnChartItem/index.js +12 -7
  91. package/Confirm/Confirm.js +184 -129
  92. package/Confirm/Context.js +9 -7
  93. package/Confirm/index.js +32 -13
  94. package/Confirm/useConfirm.js +11 -10
  95. package/Container/Container.js +154 -133
  96. package/Container/index.js +12 -7
  97. package/CookieBanner/CookieBanner.js +142 -76
  98. package/CookieBanner/index.js +12 -7
  99. package/Countdown/Countdown.js +403 -255
  100. package/Countdown/index.js +12 -7
  101. package/DatePicker/DatePicker.js +802 -547
  102. package/DatePicker/index.js +12 -7
  103. package/DateRangePicker/DateRangePicker.js +44 -37
  104. package/DateRangePicker/index.js +12 -7
  105. package/DateTimePicker/DateTimePicker.js +672 -459
  106. package/DateTimePicker/index.js +12 -7
  107. package/DateTimeRangePicker/DateTimeRangePicker.js +44 -37
  108. package/DateTimeRangePicker/index.js +12 -7
  109. package/Divider/Divider.js +198 -185
  110. package/Divider/index.js +12 -7
  111. package/DonutChart/DonutChart.js +49 -42
  112. package/DonutChart/index.js +12 -7
  113. package/DragAndDropList/DragAndDropList.js +160 -156
  114. package/DragAndDropList/index.js +12 -7
  115. package/Drawing/Drawing.js +850 -523
  116. package/Drawing/index.js +12 -7
  117. package/DropZone/DropZone.js +239 -201
  118. package/DropZone/index.js +12 -7
  119. package/Emojis/Emojis.js +409 -317
  120. package/Emojis/emojis_list.js +7279 -9250
  121. package/Emojis/index.js +19 -9
  122. package/Expand/Expand.js +201 -149
  123. package/Expand/index.js +12 -7
  124. package/Fab/Fab.js +46 -26
  125. package/Fab/index.js +12 -7
  126. package/Fade/Fade.js +131 -101
  127. package/Fade/index.js +12 -7
  128. package/FileChoose/FileChoose.js +218 -150
  129. package/FileChoose/index.js +12 -7
  130. package/Focus/Focus.js +87 -88
  131. package/Focus/index.js +12 -7
  132. package/Form/Form.js +194 -120
  133. package/Form/index.js +12 -7
  134. package/FormRow/FormRow.js +123 -78
  135. package/FormRow/index.js +12 -7
  136. package/Forms/Forms.js +55 -41
  137. package/Forms/index.js +12 -7
  138. package/Frame/Frame.js +212 -150
  139. package/Frame/index.js +12 -7
  140. package/Grid/Grid.js +231 -166
  141. package/Grid/index.js +12 -7
  142. package/Grow/Grow.js +137 -109
  143. package/Grow/index.js +12 -7
  144. package/HTMLCanvas/HTMLCanvas.js +752 -542
  145. package/HTMLCanvas/index.js +24 -21
  146. package/IFrame/IFrame.js +122 -104
  147. package/IFrame/index.js +12 -7
  148. package/Icon/Icon.js +112 -95
  149. package/Icon/index.js +24 -21
  150. package/IconButton/IconButton.js +49 -37
  151. package/IconButton/index.js +12 -7
  152. package/Image/Image.js +285 -252
  153. package/Image/index.js +12 -7
  154. package/ImageCrop/ImageCrop.js +1073 -1048
  155. package/ImageCrop/index.js +12 -7
  156. package/ImageEdit/ImageEdit.js +1088 -783
  157. package/ImageEdit/index.js +12 -7
  158. package/ImageGallery/ImageGallery.js +518 -473
  159. package/ImageGallery/index.js +12 -7
  160. package/ImageList/ImageList.js +136 -129
  161. package/ImageList/index.js +12 -7
  162. package/ImageListItem/ImageListItem.js +101 -87
  163. package/ImageListItem/index.js +12 -7
  164. package/ImageListItemBox/ImageListItemBox.js +61 -50
  165. package/ImageListItemBox/index.js +12 -7
  166. package/Info/Info.js +99 -63
  167. package/Info/index.js +12 -7
  168. package/Interaction/Interaction.js +405 -345
  169. package/Interaction/index.js +12 -7
  170. package/Keyframes/Context.js +9 -7
  171. package/Keyframes/Keyframes.js +189 -174
  172. package/Keyframes/index.js +42 -25
  173. package/Keyframes/useKeyframes.js +11 -10
  174. package/Label/Label.js +177 -151
  175. package/Label/index.js +12 -7
  176. package/Labels/Labels.js +126 -98
  177. package/Labels/index.js +12 -7
  178. package/Line/Line.js +296 -174
  179. package/Line/index.js +12 -7
  180. package/LineChart/LineChart.js +57 -40
  181. package/LineChart/index.js +12 -7
  182. package/LineChartItem/LineChartItem.js +239 -177
  183. package/LineChartItem/index.js +12 -7
  184. package/LinearMeter/LinearMeter.js +453 -377
  185. package/LinearMeter/index.js +12 -7
  186. package/LinearProgress/LinearProgress.js +324 -255
  187. package/LinearProgress/index.js +12 -7
  188. package/Link/Link.js +182 -127
  189. package/Link/index.js +12 -7
  190. package/Links/Links.js +277 -156
  191. package/Links/index.js +12 -7
  192. package/List/List.js +148 -113
  193. package/List/index.js +12 -7
  194. package/ListItem/ListItem.js +388 -362
  195. package/ListItem/index.js +12 -7
  196. package/ListSubheader/ListSubheader.js +52 -44
  197. package/ListSubheader/index.js +12 -7
  198. package/MainProgress/Context.js +9 -7
  199. package/MainProgress/MainProgress.js +193 -161
  200. package/MainProgress/index.js +32 -13
  201. package/MainProgress/useMainProgress.js +11 -10
  202. package/Markdown/Markdown.js +676 -704
  203. package/Markdown/index.js +12 -7
  204. package/Masonry/Masonry.js +207 -181
  205. package/Masonry/index.js +12 -7
  206. package/Medias/Medias.js +436 -398
  207. package/Medias/index.js +12 -7
  208. package/Menu/Menu.js +278 -243
  209. package/Menu/index.js +12 -7
  210. package/MenuDesktop/MenuDesktop.js +496 -419
  211. package/MenuDesktop/index.js +12 -7
  212. package/MenuItem/MenuItem.js +286 -231
  213. package/MenuItem/index.js +12 -7
  214. package/Meta/Meta.js +78 -54
  215. package/Meta/index.js +12 -7
  216. package/Modal/Modal.js +333 -272
  217. package/Modal/index.js +12 -7
  218. package/ModalFooter/ModalFooter.js +50 -39
  219. package/ModalFooter/index.js +12 -7
  220. package/ModalHeader/ModalHeader.js +51 -39
  221. package/ModalHeader/index.js +12 -7
  222. package/ModalIcon/ModalIcon.js +29 -23
  223. package/ModalIcon/index.js +12 -7
  224. package/ModalMain/ModalMain.js +50 -41
  225. package/ModalMain/index.js +12 -7
  226. package/ModalText/ModalText.js +47 -37
  227. package/ModalText/index.js +12 -7
  228. package/ModalTitle/ModalTitle.js +47 -37
  229. package/ModalTitle/index.js +12 -7
  230. package/MoreOptions/MoreOptions.js +72 -52
  231. package/MoreOptions/index.js +12 -7
  232. package/Move/Move.js +166 -141
  233. package/Move/index.js +12 -7
  234. package/NavigationBar/NavigationBar.js +133 -109
  235. package/NavigationBar/index.js +12 -7
  236. package/NavigationDrawer/NavigationDrawer.js +241 -211
  237. package/NavigationDrawer/index.js +12 -7
  238. package/NavigationItem/NavigationItem.js +293 -262
  239. package/NavigationItem/index.js +12 -7
  240. package/NavigationRail/NavigationRail.js +187 -150
  241. package/NavigationRail/index.js +12 -7
  242. package/NotFound/NotFound.js +89 -66
  243. package/NotFound/index.js +12 -7
  244. package/NumericTextField/NumericTextField.js +217 -212
  245. package/NumericTextField/index.js +12 -7
  246. package/Page/Page.js +131 -67
  247. package/Page/index.js +12 -7
  248. package/PageTransition/PageTransition.js +112 -102
  249. package/PageTransition/index.js +12 -7
  250. package/Pagination/Pagination.js +153 -98
  251. package/Pagination/index.js +12 -7
  252. package/PaginationItem/PaginationItem.js +85 -65
  253. package/PaginationItem/index.js +12 -7
  254. package/Parallax/Parallax.js +138 -145
  255. package/Parallax/index.js +12 -7
  256. package/Path/Path.js +40 -35
  257. package/Path/index.js +12 -7
  258. package/PieChart/PieChart.js +382 -267
  259. package/PieChart/index.js +12 -7
  260. package/Placeholder/Placeholder.js +125 -117
  261. package/Placeholder/index.js +12 -7
  262. package/Portal/Portal.js +37 -38
  263. package/Portal/index.js +12 -7
  264. package/Properties/Properties.js +85 -64
  265. package/Properties/index.js +12 -7
  266. package/Property/Property.js +120 -108
  267. package/Property/index.js +12 -7
  268. package/Radio/Radio.js +211 -181
  269. package/Radio/index.js +12 -7
  270. package/Radios/Radios.js +124 -92
  271. package/Radios/index.js +12 -7
  272. package/Rating/Rating.js +353 -360
  273. package/Rating/index.js +12 -7
  274. package/Reset/Reset.js +19 -24
  275. package/Reset/index.js +12 -7
  276. package/Reveal/Reveal.js +98 -89
  277. package/Reveal/index.js +12 -7
  278. package/RichTextEditor/RichTextEditor.js +1764 -972
  279. package/RichTextEditor/index.js +12 -7
  280. package/RoundMeter/RoundMeter.js +629 -537
  281. package/RoundMeter/index.js +12 -7
  282. package/RoundProgress/RoundProgress.js +233 -174
  283. package/RoundProgress/index.js +12 -7
  284. package/ScatterChart/ScatterChart.js +53 -40
  285. package/ScatterChart/index.js +12 -7
  286. package/ScatterChartItem/ScatterChartItem.js +214 -153
  287. package/ScatterChartItem/index.js +12 -7
  288. package/ScreenCapture/ScreenCapture.js +427 -335
  289. package/ScreenCapture/index.js +12 -7
  290. package/Section/Section.js +380 -319
  291. package/Section/index.js +12 -7
  292. package/SectionAction/SectionAction.js +72 -61
  293. package/SectionAction/index.js +12 -7
  294. package/SectionBoxes/SectionBoxes.js +240 -208
  295. package/SectionBoxes/index.js +12 -7
  296. package/SectionCards/SectionCards.js +256 -217
  297. package/SectionCards/index.js +12 -7
  298. package/SectionCarousel/SectionCarousel.js +284 -242
  299. package/SectionCarousel/index.js +12 -7
  300. package/SectionContact/SectionContact.js +174 -116
  301. package/SectionContact/index.js +12 -7
  302. package/SectionImageGallery/SectionImageGallery.js +64 -51
  303. package/SectionImageGallery/index.js +12 -7
  304. package/SectionLogos/SectionLogos.js +123 -109
  305. package/SectionLogos/index.js +12 -7
  306. package/SectionMedia/SectionMedia.js +170 -152
  307. package/SectionMedia/index.js +12 -7
  308. package/SectionReviews/SectionReviews.js +170 -129
  309. package/SectionReviews/index.js +12 -7
  310. package/SectionTextMedia/SectionTextMedia.js +187 -142
  311. package/SectionTextMedia/index.js +12 -7
  312. package/SectionTimeline/SectionTimeline.js +126 -95
  313. package/SectionTimeline/index.js +12 -7
  314. package/SectionWatch/SectionWatch.js +65 -53
  315. package/SectionWatch/index.js +12 -7
  316. package/Select/Select.js +517 -406
  317. package/Select/index.js +12 -7
  318. package/Share/Share.js +458 -319
  319. package/Share/index.js +12 -7
  320. package/Slide/Slide.js +184 -140
  321. package/Slide/index.js +12 -7
  322. package/Slider/Slider.js +927 -837
  323. package/Slider/index.js +12 -7
  324. package/SmartTextField/SmartTextField.js +1406 -1014
  325. package/SmartTextField/index.js +12 -7
  326. package/Snackbar/Snackbar.js +227 -185
  327. package/Snackbar/index.js +12 -7
  328. package/Snackbars/Context.js +9 -7
  329. package/Snackbars/Snackbars.js +234 -210
  330. package/Snackbars/index.js +32 -13
  331. package/Snackbars/useSnackbars.js +11 -10
  332. package/Space/Space.js +1683 -968
  333. package/Space/index.js +24 -21
  334. package/SpeechToText/SpeechToText.js +207 -172
  335. package/SpeechToText/index.js +12 -7
  336. package/SpeedDial/SpeedDial.js +434 -398
  337. package/SpeedDial/index.js +12 -7
  338. package/SpeedDialItem/SpeedDialItem.js +89 -63
  339. package/SpeedDialItem/index.js +12 -7
  340. package/SpyScroll/SpyScroll.js +154 -142
  341. package/SpyScroll/index.js +12 -7
  342. package/Step/Step.js +181 -127
  343. package/Step/index.js +12 -7
  344. package/Stepper/Stepper.js +159 -139
  345. package/Stepper/index.js +12 -7
  346. package/Surface/Surface.js +760 -798
  347. package/Surface/index.js +12 -7
  348. package/Switch/Switch.js +688 -532
  349. package/Switch/index.js +12 -7
  350. package/Tab/Tab.js +185 -150
  351. package/Tab/index.js +12 -7
  352. package/Table/Table.js +100 -77
  353. package/Table/index.js +12 -7
  354. package/TableBody/TableBody.js +76 -63
  355. package/TableBody/index.js +12 -7
  356. package/TableCell/TableCell.js +258 -220
  357. package/TableCell/index.js +12 -7
  358. package/TableFooter/TableFooter.js +60 -48
  359. package/TableFooter/index.js +12 -7
  360. package/TableHead/TableHead.js +139 -120
  361. package/TableHead/index.js +12 -7
  362. package/TableHeader/TableHeader.js +65 -50
  363. package/TableHeader/index.js +12 -7
  364. package/TablePagination/TablePagination.js +171 -98
  365. package/TablePagination/index.js +12 -7
  366. package/TableRow/TableRow.js +77 -64
  367. package/TableRow/index.js +12 -7
  368. package/Tabs/Tabs.js +425 -377
  369. package/Tabs/index.js +12 -7
  370. package/Text/Text.js +131 -113
  371. package/Text/index.js +12 -7
  372. package/TextField/TextField.js +940 -879
  373. package/TextField/index.js +12 -7
  374. package/TextToSpeech/TextToSpeech.js +176 -153
  375. package/TextToSpeech/index.js +12 -7
  376. package/TimePicker/TimePicker.js +985 -718
  377. package/TimePicker/index.js +12 -7
  378. package/TimeRangePicker/TimeRangePicker.js +44 -37
  379. package/TimeRangePicker/index.js +12 -7
  380. package/Timeline/Timeline.js +54 -42
  381. package/Timeline/index.js +12 -7
  382. package/TimelineItem/TimelineItem.js +144 -147
  383. package/TimelineItem/index.js +12 -7
  384. package/Timer/Timer.js +321 -204
  385. package/Timer/index.js +12 -7
  386. package/ToggleButton/ToggleButton.js +67 -58
  387. package/ToggleButton/index.js +12 -7
  388. package/ToggleButtons/ToggleButtons.js +46 -37
  389. package/ToggleButtons/index.js +12 -7
  390. package/Tooltip/Tooltip.js +489 -454
  391. package/Tooltip/index.js +12 -7
  392. package/TopAppBar/TopAppBar.js +237 -197
  393. package/TopAppBar/index.js +12 -7
  394. package/Transition/Context.js +9 -7
  395. package/Transition/Transition.js +321 -339
  396. package/Transition/index.js +42 -25
  397. package/Transition/useTransition.js +11 -10
  398. package/Transitions/Transitions.js +215 -179
  399. package/Transitions/index.js +12 -7
  400. package/Tree/Tree.js +375 -312
  401. package/Tree/index.js +12 -7
  402. package/Type/Type.js +251 -152
  403. package/Type/index.js +12 -7
  404. package/VideoPlayer/VideoPlayer.js +866 -656
  405. package/VideoPlayer/index.js +12 -7
  406. package/ViewSplit/ViewSplit.js +413 -387
  407. package/ViewSplit/index.js +12 -7
  408. package/Watch/Watch.js +436 -290
  409. package/Watch/index.js +12 -7
  410. package/Weather/Weather.js +294 -247
  411. package/Weather/index.js +12 -7
  412. package/Whiteboard/Whiteboard.js +1392 -1292
  413. package/Whiteboard/index.js +12 -7
  414. package/Widgets/Context.js +9 -7
  415. package/Widgets/Widgets.js +220 -168
  416. package/Widgets/index.js +32 -13
  417. package/Widgets/useWidgets.js +11 -10
  418. package/WindowSplit/WindowSplit.js +381 -336
  419. package/WindowSplit/index.js +12 -7
  420. package/Zoom/Zoom.js +126 -99
  421. package/Zoom/index.js +12 -7
  422. package/esm/BottomAppBar/BottomAppBar.js +5 -4
  423. package/esm/Buttons/Buttons.js +1 -1
  424. package/esm/index.js +1 -1
  425. package/index.js +4053 -660
  426. package/package.json +1 -1
  427. package/types.js +4 -1
  428. package/useForm/index.js +25 -11
  429. package/useForm/useForm.js +203 -174
  430. package/useForm/validate.js +215 -203
  431. package/useLocation/index.js +12 -7
  432. package/useLocation/useLocation.js +54 -49
  433. package/useMediaQuery/index.js +12 -7
  434. package/useMediaQuery/useMediaQuery.js +44 -43
  435. package/useQuery/index.js +12 -7
  436. package/useQuery/useQuery.js +14 -10
  437. package/useScroll/index.js +12 -7
  438. package/useScroll/useScroll.js +61 -56
  439. package/useSubscription/index.js +12 -7
  440. package/useSubscription/useSubscription.js +35 -35
  441. package/useSwipe/index.js +12 -7
  442. package/useSwipe/useSwipe.js +157 -131
  443. package/useVisible/index.js +12 -7
  444. package/useVisible/useVisible.js +86 -76
  445. package/utils.js +1224 -1362
@@ -1,514 +1,553 @@
1
1
  "use strict";
2
- var __rest = (this && this.__rest) || function (s, e) {
3
- var t = {};
4
- for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0)
5
- t[p] = s[p];
6
- if (s != null && typeof Object.getOwnPropertySymbols === "function")
7
- for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {
8
- if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i]))
9
- t[p[i]] = s[p[i]];
10
- }
11
- return t;
12
- };
13
- var __importDefault = (this && this.__importDefault) || function (mod) {
14
- return (mod && mod.__esModule) ? mod : { "default": mod };
15
- };
16
- Object.defineProperty(exports, "__esModule", { value: true });
17
- const jsx_runtime_1 = require("react/jsx-runtime");
18
- const react_1 = __importDefault(require("react"));
19
- const style_react_1 = require("@onesy/style-react");
20
- const utils_1 = require("@onesy/utils");
21
- const date_1 = require("@onesy/date");
22
- const Line_1 = __importDefault(require("../Line"));
23
- const Surface_1 = __importDefault(require("../Surface"));
24
- const Type_1 = __importDefault(require("../Type"));
25
- const PaginationItem_1 = __importDefault(require("../PaginationItem"));
26
- const Transitions_1 = __importDefault(require("../Transitions"));
27
- const Transition_1 = __importDefault(require("../Transition"));
28
- const utils_2 = require("../utils");
29
- const useStyle = (0, style_react_1.style)(theme => ({
30
- root: {
31
- // for transition
32
- overflow: 'hidden',
33
- position: 'relative'
34
- },
35
- size_small: {
36
- height: '250px'
37
- },
38
- size_regular: {
39
- height: '300px'
40
- },
41
- size_large: {
42
- height: '370px'
43
- },
44
- root_no_labels: {
45
- height: '260px'
46
- },
47
- dayNames: {
48
- width: '100%'
49
- },
50
- dayName: {
51
- flex: '1 1 auto',
52
- userSelect: 'none'
53
- },
54
- dayName_size_small: {
55
- width: '30px',
56
- height: '30px'
57
- },
58
- dayName_size_regular: {
59
- width: '40px',
60
- height: '40px'
61
- },
62
- dayName_size_large: {
63
- width: '50px',
64
- height: '50px'
65
- },
66
- day: {
67
- flex: '1 1 auto',
68
- position: 'relative'
69
- },
70
- day_size_small: {
71
- width: '30px',
72
- height: '30px'
73
- },
74
- day_size_regular: {
75
- width: '40px',
76
- height: '40px'
77
- },
78
- day_size_large: {
79
- width: '50px',
80
- height: '50px'
81
- },
82
- day_out: {
83
- opacity: '0.4'
84
- },
85
- day_out_no: {
86
- visibility: 'hidden',
87
- opacity: '0'
88
- },
89
- dayStart: {
90
- borderRadius: `${theme.methods.shape.radius.value(40, 'px')} 0 0 ${theme.methods.shape.radius.value(40, 'px')}`
91
- },
92
- dayEnd: {
93
- borderRadius: `0 ${theme.methods.shape.radius.value(40, 'px')} ${theme.methods.shape.radius.value(40, 'px')} 0`
94
- },
95
- dayStartEnd: {
96
- borderRadius: theme.methods.shape.radius.value(40, 'px')
97
- },
98
- dayStartSelected: {
99
- '&::before': {
100
- content: '""',
101
- position: 'absolute',
102
- left: '50%',
103
- top: '0',
104
- height: '100%',
105
- width: '50%',
106
- background: 'currentColor'
107
- }
108
- },
109
- dayEndSelected: {
110
- '&::before': {
111
- content: '""',
112
- position: 'absolute',
113
- left: '0',
114
- right: '50%',
115
- top: '0',
116
- height: '100%',
117
- width: '50%',
118
- background: 'currentColor'
119
- }
120
- },
121
- weeks: {
122
- width: '100%',
123
- position: 'absolute',
124
- left: '0px',
125
- transition: theme.methods.transitions.make(['opacity', 'transform'])
126
- },
127
- weeks_size_small: {
128
- top: '30px'
129
- },
130
- weeks_size_regular: {
131
- top: '40px'
132
- },
133
- weeks_size_large: {
134
- top: '50px'
2
+
3
+ var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
4
+ Object.defineProperty(exports, "__esModule", {
5
+ value: true
6
+ });
7
+ exports.default = void 0;
8
+ var _extends2 = _interopRequireDefault(require("@babel/runtime/helpers/extends"));
9
+ var _objectWithoutProperties2 = _interopRequireDefault(require("@babel/runtime/helpers/objectWithoutProperties"));
10
+ var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));
11
+ var _react = _interopRequireDefault(require("react"));
12
+ var _styleReact = require("@onesy/style-react");
13
+ var _utils = require("@onesy/utils");
14
+ var _date = require("@onesy/date");
15
+ var _Line = _interopRequireDefault(require("../Line"));
16
+ var _Surface = _interopRequireDefault(require("../Surface"));
17
+ var _Type = _interopRequireDefault(require("../Type"));
18
+ var _PaginationItem = _interopRequireDefault(require("../PaginationItem"));
19
+ var _Transitions = _interopRequireDefault(require("../Transitions"));
20
+ var _Transition = _interopRequireDefault(require("../Transition"));
21
+ var _utils2 = require("../utils");
22
+ const _excluded = ["tonal", "color", "size", "value", "valueDefault", "onChange", "calendar", "calendarDefault", "onChangeCalendar", "onTimeClick", "range", "offset", "outside", "weekStartDay", "now", "min", "max", "validate", "labels", "dayNamesFull", "noTransition", "valid", "renderDay", "renderDayName", "disabled", "DayNameProps", "PaginationItemProps", "TransitionProps", "TransitionsProps", "className"];
23
+ function ownKeys(e, r) { var t = Object.keys(e); if (Object.getOwnPropertySymbols) { var o = Object.getOwnPropertySymbols(e); r && (o = o.filter(function (r) { return Object.getOwnPropertyDescriptor(e, r).enumerable; })), t.push.apply(t, o); } return t; }
24
+ function _objectSpread(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys(Object(t), !0).forEach(function (r) { (0, _defineProperty2.default)(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }
25
+ const useStyle = (0, _styleReact.style)(theme => ({
26
+ root: {
27
+ // for transition
28
+ overflow: 'hidden',
29
+ position: 'relative'
30
+ },
31
+ size_small: {
32
+ height: '250px'
33
+ },
34
+ size_regular: {
35
+ height: '300px'
36
+ },
37
+ size_large: {
38
+ height: '370px'
39
+ },
40
+ root_no_labels: {
41
+ height: '260px'
42
+ },
43
+ dayNames: {
44
+ width: '100%'
45
+ },
46
+ dayName: {
47
+ flex: '1 1 auto',
48
+ userSelect: 'none'
49
+ },
50
+ dayName_size_small: {
51
+ width: '30px',
52
+ height: '30px'
53
+ },
54
+ dayName_size_regular: {
55
+ width: '40px',
56
+ height: '40px'
57
+ },
58
+ dayName_size_large: {
59
+ width: '50px',
60
+ height: '50px'
61
+ },
62
+ day: {
63
+ flex: '1 1 auto',
64
+ position: 'relative'
65
+ },
66
+ day_size_small: {
67
+ width: '30px',
68
+ height: '30px'
69
+ },
70
+ day_size_regular: {
71
+ width: '40px',
72
+ height: '40px'
73
+ },
74
+ day_size_large: {
75
+ width: '50px',
76
+ height: '50px'
77
+ },
78
+ day_out: {
79
+ opacity: '0.4'
80
+ },
81
+ day_out_no: {
82
+ visibility: 'hidden',
83
+ opacity: '0'
84
+ },
85
+ dayStart: {
86
+ borderRadius: `${theme.methods.shape.radius.value(40, 'px')} 0 0 ${theme.methods.shape.radius.value(40, 'px')}`
87
+ },
88
+ dayEnd: {
89
+ borderRadius: `0 ${theme.methods.shape.radius.value(40, 'px')} ${theme.methods.shape.radius.value(40, 'px')} 0`
90
+ },
91
+ dayStartEnd: {
92
+ borderRadius: theme.methods.shape.radius.value(40, 'px')
93
+ },
94
+ dayStartSelected: {
95
+ '&::before': {
96
+ content: '""',
97
+ position: 'absolute',
98
+ left: '50%',
99
+ top: '0',
100
+ height: '100%',
101
+ width: '50%',
102
+ background: 'currentColor'
103
+ }
104
+ },
105
+ dayEndSelected: {
106
+ '&::before': {
107
+ content: '""',
108
+ position: 'absolute',
109
+ left: '0',
110
+ right: '50%',
111
+ top: '0',
112
+ height: '100%',
113
+ width: '50%',
114
+ background: 'currentColor'
115
+ }
116
+ },
117
+ weeks: {
118
+ width: '100%',
119
+ position: 'absolute',
120
+ left: '0px',
121
+ transition: theme.methods.transitions.make(['opacity', 'transform'])
122
+ },
123
+ weeks_size_small: {
124
+ top: '30px'
125
+ },
126
+ weeks_size_regular: {
127
+ top: '40px'
128
+ },
129
+ weeks_size_large: {
130
+ top: '50px'
131
+ },
132
+ weeks_no_labels: {
133
+ top: '0px'
134
+ },
135
+ week: {
136
+ width: '100%'
137
+ },
138
+ move_previous: {
139
+ '& .weeks_enter': {
140
+ opacity: '0',
141
+ transform: 'translateX(100%)'
135
142
  },
136
- weeks_no_labels: {
137
- top: '0px'
143
+ '& .weeks_entering': {
144
+ opacity: '1',
145
+ transform: 'translateX(0%)'
138
146
  },
139
- week: {
140
- width: '100%'
147
+ '& .weeks_exit': {
148
+ opacity: '1',
149
+ transform: 'translateX(0%)'
141
150
  },
142
- move_previous: {
143
- '& .weeks_enter': {
144
- opacity: '0',
145
- transform: 'translateX(100%)',
146
- },
147
- '& .weeks_entering': {
148
- opacity: '1',
149
- transform: 'translateX(0%)'
150
- },
151
- '& .weeks_exit': {
152
- opacity: '1',
153
- transform: 'translateX(0%)',
154
- },
155
- '& .weeks_exiting': {
156
- opacity: '0',
157
- transform: 'translateX(-100%)'
158
- }
151
+ '& .weeks_exiting': {
152
+ opacity: '0',
153
+ transform: 'translateX(-100%)'
154
+ }
155
+ },
156
+ move_next: {
157
+ '& .weeks_enter': {
158
+ opacity: '0',
159
+ transform: 'translateX(-100%)'
159
160
  },
160
- move_next: {
161
- '& .weeks_enter': {
162
- opacity: '0',
163
- transform: 'translateX(-100%)',
164
- },
165
- '& .weeks_entering': {
166
- opacity: '1',
167
- transform: 'translateX(0%)'
168
- },
169
- '& .weeks_exit': {
170
- opacity: '1',
171
- transform: 'translateX(0%)',
172
- },
173
- '& .weeks_exiting': {
174
- opacity: '0',
175
- transform: 'translateX(100%)'
176
- }
161
+ '& .weeks_entering': {
162
+ opacity: '1',
163
+ transform: 'translateX(0%)'
177
164
  },
178
- dayValue: {
179
- '&:hover': {
180
- boxShadow: 'inset 0px 0px 0px 1px currentColor'
181
- }
165
+ '& .weeks_exit': {
166
+ opacity: '1',
167
+ transform: 'translateX(0%)'
182
168
  },
183
- disabled: {
184
- opacity: '0.54',
185
- pointerEvents: 'none'
169
+ '& .weeks_exiting': {
170
+ opacity: '0',
171
+ transform: 'translateX(100%)'
186
172
  }
187
- }), { name: 'onesy-CalendarMonth' });
188
- const CalendarMonth = react_1.default.forwardRef((props__, ref) => {
189
- var _a, _b, _c;
190
- const theme = (0, style_react_1.useOnesyTheme)();
191
- const l = theme.l;
192
- const props = react_1.default.useMemo(() => { var _a, _b, _c, _d, _e, _f, _g, _h; return (Object.assign(Object.assign(Object.assign({}, (_d = (_c = (_b = (_a = theme === null || theme === void 0 ? void 0 : theme.ui) === null || _a === void 0 ? void 0 : _a.elements) === null || _b === void 0 ? void 0 : _b.all) === null || _c === void 0 ? void 0 : _c.props) === null || _d === void 0 ? void 0 : _d.default), (_h = (_g = (_f = (_e = theme === null || theme === void 0 ? void 0 : theme.ui) === null || _e === void 0 ? void 0 : _e.elements) === null || _f === void 0 ? void 0 : _f.onesyCalendarMonth) === null || _g === void 0 ? void 0 : _g.props) === null || _h === void 0 ? void 0 : _h.default), props__)); }, [props__]);
193
- const Line = react_1.default.useMemo(() => { var _a; return ((_a = theme === null || theme === void 0 ? void 0 : theme.elements) === null || _a === void 0 ? void 0 : _a.Line) || Line_1.default; }, [theme]);
194
- const Surface = react_1.default.useMemo(() => { var _a; return ((_a = theme === null || theme === void 0 ? void 0 : theme.elements) === null || _a === void 0 ? void 0 : _a.Surface) || Surface_1.default; }, [theme]);
195
- const Type = react_1.default.useMemo(() => { var _a; return ((_a = theme === null || theme === void 0 ? void 0 : theme.elements) === null || _a === void 0 ? void 0 : _a.Type) || Type_1.default; }, [theme]);
196
- const PaginationItem = react_1.default.useMemo(() => { var _a; return ((_a = theme === null || theme === void 0 ? void 0 : theme.elements) === null || _a === void 0 ? void 0 : _a.PaginationItem) || PaginationItem_1.default; }, [theme]);
197
- const Transitions = react_1.default.useMemo(() => { var _a; return ((_a = theme === null || theme === void 0 ? void 0 : theme.elements) === null || _a === void 0 ? void 0 : _a.Transitions) || Transitions_1.default; }, [theme]);
198
- const Transition = react_1.default.useMemo(() => { var _a; return ((_a = theme === null || theme === void 0 ? void 0 : theme.elements) === null || _a === void 0 ? void 0 : _a.Transition) || Transition_1.default; }, [theme]);
199
- const { tonal = true, color = 'primary', size = 'regular', value: value_, valueDefault, onChange, calendar: calendar_, calendarDefault, onChangeCalendar, onTimeClick, range, offset = 0, outside = true, weekStartDay: weekStartDay_ = 'Monday', now = true, min, max, validate, labels = true, dayNamesFull, noTransition = true, valid: valid_, renderDay, renderDayName, disabled, DayNameProps, PaginationItemProps, TransitionProps, TransitionsProps, className } = props, other = __rest(props, ["tonal", "color", "size", "value", "valueDefault", "onChange", "calendar", "calendarDefault", "onChangeCalendar", "onTimeClick", "range", "offset", "outside", "weekStartDay", "now", "min", "max", "validate", "labels", "dayNamesFull", "noTransition", "valid", "renderDay", "renderDayName", "disabled", "DayNameProps", "PaginationItemProps", "TransitionProps", "TransitionsProps", "className"]);
200
- const { classes } = useStyle();
201
- const [value, setValue] = react_1.default.useState(() => {
202
- const valueResult = (valueDefault !== undefined ? valueDefault : value_) || (now && (range ? [new date_1.OnesyDate(), new date_1.OnesyDate()] : [new date_1.OnesyDate()]));
203
- return ((0, utils_1.is)('array', valueResult) ? valueResult : [valueResult]).filter(Boolean);
204
- });
205
- const [calendar, setCalendar] = react_1.default.useState((calendarDefault !== undefined ? calendarDefault : calendar_) || new date_1.OnesyDate());
206
- let month = calendar || value[0] || new date_1.OnesyDate();
207
- if (!(month === null || month === void 0 ? void 0 : month.valid))
208
- month = new date_1.OnesyDate();
209
- const refs = {
210
- id: react_1.default.useRef(`${(month).year} ${(month).month}`),
211
- previous: react_1.default.useRef(month),
212
- previousTheme: react_1.default.useRef(theme.palette.light),
213
- move: react_1.default.useRef(null),
214
- noTransition: react_1.default.useRef(null)
215
- };
216
- const weekStartDay = !['Monday', 'Sunday'].includes(weekStartDay_) ? 'Monday' : weekStartDay_;
217
- // Value
218
- react_1.default.useEffect(() => {
219
- if (value_ !== undefined && value_ !== value)
220
- setValue((((0, utils_1.is)('array', value_) ? value_ : [value_]).filter(Boolean)));
221
- }, [value_]);
222
- // Calendar
223
- react_1.default.useEffect(() => {
224
- if (calendar_ !== undefined && calendar_ !== calendar)
225
- setCalendar(calendar_);
226
- }, [calendar_]);
227
- const valid = react_1.default.useCallback((...args) => {
228
- if ((0, utils_1.is)('function', valid_))
229
- return valid_(...args);
230
- const onesyDate = args[0];
231
- if (min || max || validate) {
232
- let response = true;
233
- if ((0, utils_1.is)('function', validate))
234
- response = validate(onesyDate);
235
- if (min !== undefined)
236
- response = response && (0, date_1.is)(onesyDate, 'after or same', min);
237
- if (max !== undefined)
238
- response = response && (0, date_1.is)(onesyDate, 'before or same', max);
239
- return response;
240
- }
241
- return true;
242
- }, [valid_, min, max, validate]);
243
- const onUpdateCalendar = react_1.default.useCallback((valueNew) => {
244
- // Inner update
245
- if (!props.hasOwnProperty('calendar'))
246
- setCalendar(valueNew);
247
- if ((0, utils_1.is)('function', onChangeCalendar))
248
- onChangeCalendar(valueNew);
249
- }, [onChangeCalendar]);
250
- const onUpdate = react_1.default.useCallback((valueUpdated, offsetMultiplier) => {
251
- let valueNew = [valueUpdated, value[1]].filter(Boolean);
252
- // Previous
253
- // Range reset
254
- // If value is range, and is the same (in terms of day, month, year as from and/or to)
255
- // make a reset, ie. make both values that same date
256
- if (range) {
257
- if (value.filter(Boolean)
258
- .some(item => valueUpdated.year === item.year && valueUpdated.month === item.month && valueUpdated.day === item.day))
259
- valueNew = [valueUpdated, valueUpdated];
260
- else {
261
- // Update the value closest to from, to value
262
- let index;
263
- // Update from or to
264
- // based on if value is closer to the middle from, or middle to
265
- if (!value[0])
266
- index = 0;
267
- else if (!value[1])
268
- index = 1;
269
- else if (valueUpdated.milliseconds < value[0].milliseconds)
270
- index = 0;
271
- else if (valueUpdated.milliseconds > value[1].milliseconds)
272
- index = 1;
273
- else {
274
- const middle = Math.abs(value[1].milliseconds - value[0].milliseconds) / 2;
275
- index = valueUpdated.milliseconds <= (value[0].milliseconds + middle) ? 0 : 1;
276
- }
277
- valueNew = [...value];
278
- valueNew[index] = valueUpdated;
279
- }
280
- // start of the day
281
- if (valueNew[0]) {
282
- valueNew[0] = (0, date_1.startOf)(valueNew[0], 'day');
283
- }
284
- // end of the day
285
- if (valueNew[1]) {
286
- valueNew[1] = (0, date_1.endOf)(valueNew[1], 'day');
287
- }
288
- }
289
- // If value isnt's same as the calendar
290
- // update calendar to the value
291
- if (!(valueUpdated.year === calendar.year && valueUpdated.month === calendar.month)) {
292
- onUpdateCalendar((0, date_1.add)(offsetMultiplier !== undefined ? (offsetMultiplier * offset) : 0, 'month', valueUpdated));
293
- }
294
- // Inner value update
295
- if (!props.hasOwnProperty('value'))
296
- setValue(valueNew);
297
- if ((0, utils_1.is)('function', onChange))
298
- onChange((!range ? valueNew[0] : valueNew));
299
- }, [value, range, offset, calendar, onChange]);
300
- const dayNames = [1, 2, 3, 4, 5, 6];
301
- if (weekStartDay === 'Monday')
302
- dayNames.push(7);
303
- else
304
- dayNames.unshift(7);
305
- const renderDayNameMethod = (0, utils_1.is)('function', renderDayName) ? renderDayName : (order_) => {
306
- const values = {
307
- 1: dayNamesFull ? l('Monday') : l('Mo'),
308
- 2: dayNamesFull ? l('Tuesday') : l('Tu'),
309
- 3: dayNamesFull ? l('Wednesday') : l('We'),
310
- 4: dayNamesFull ? l('Thursday') : l('Th'),
311
- 5: dayNamesFull ? l('Friday') : l('Fr'),
312
- 6: dayNamesFull ? l('Saturday') : l('Sa'),
313
- 7: dayNamesFull ? l('Sunday') : l('Su')
314
- };
315
- return values[order_];
316
- };
317
- const days = [];
318
- const monthNow = new date_1.OnesyDate();
319
- // value or value range selected value
320
- let id = `${month.year} ${month.month} ${month.day} ${theme.palette.light}`;
321
- value.forEach(item => id += ` ${item.year} ${item.month} ${item.day}`);
322
- const monthStart = (0, date_1.startOf)(month, 'month');
323
- const previousMonth = (0, date_1.remove)(1, 'month', month);
324
- const previousMonthEnd = (0, date_1.endOf)(previousMonth, 'month');
325
- const nextMonth = (0, date_1.add)(1, 'month', month);
326
- const monthSame = ((_a = refs.previous.current) === null || _a === void 0 ? void 0 : _a.year) === (calendar === null || calendar === void 0 ? void 0 : calendar.year) && ((_b = refs.previous.current) === null || _b === void 0 ? void 0 : _b.month) === (calendar === null || calendar === void 0 ? void 0 : calendar.month);
327
- const isBetween = (day) => { var _a, _b; return day.milliseconds >= ((_a = value[0]) === null || _a === void 0 ? void 0 : _a.milliseconds) && day.milliseconds <= (((_b = value[1]) === null || _b === void 0 ? void 0 : _b.milliseconds) + 4000); };
328
- const isSelected = (day) => value.some((item) => item.year === day.year && item.month === day.month && item.day === day.day);
329
- const selectedIndex = (day) => value.findIndex((item) => item.year === day.year && item.month === day.month && item.day === day.day);
330
- const selectedSame = (day) => value.filter((item) => item.year === day.year && item.month === day.month && item.day === day.day).length === 2;
331
- let isMonthFrom = false;
332
- let isMonthTo = false;
333
- // Add all month days
334
- for (let i = 0; i < month.daysInMonth; i++) {
335
- let day = (0, date_1.set)(i + 1, 'day', month);
336
- day = (0, date_1.set)(14, 'hour', day);
337
- const selectedIndex_ = selectedIndex(day);
338
- if (selectedIndex_ === 0)
339
- isMonthFrom = true;
340
- else if (selectedIndex_ === 1)
341
- isMonthTo = true;
342
- days.push({
343
- value: i + 1,
344
- in: true,
345
- dayWeek: day.dayWeek,
346
- weekend: [0, 6].includes(day.dayWeek),
347
- today: day.year === monthNow.year && day.dayYear === monthNow.dayYear,
348
- between: isBetween(day),
349
- selected: isSelected(day),
350
- selectedIndex: selectedIndex_,
351
- selectedSame: selectedSame(day),
352
- onesyDate: day
353
- });
173
+ },
174
+ dayValue: {
175
+ '&:hover': {
176
+ boxShadow: 'inset 0px 0px 0px 1px currentColor'
354
177
  }
355
- days[0].start = true;
356
- days[days.length - 1].end = true;
357
- // Add to start
358
- if ((weekStartDay === 'Sunday' && monthStart.dayWeek !== 0) ||
359
- (weekStartDay === 'Monday' && monthStart.dayWeek !== 1)) {
360
- let toAdd = monthStart.dayWeek === 0 ? 6 : monthStart.dayWeek - 1;
361
- if (weekStartDay === 'Sunday')
362
- toAdd++;
363
- for (let i = 0; i < toAdd; i++) {
364
- const day = (0, date_1.set)(previousMonthEnd.day - i, 'day', previousMonth);
365
- days.unshift({
366
- value: day.day,
367
- in: false,
368
- dayWeek: day.dayWeek,
369
- weekend: [0, 6].includes(day.dayWeek),
370
- today: day.year === monthNow.year && day.dayYear === monthNow.dayYear,
371
- between: isBetween(day),
372
- selected: isSelected(day),
373
- selectedIndex: selectedIndex(day),
374
- selectedSame: selectedSame(day),
375
- start: true,
376
- onesyDate: day
377
- });
378
- }
178
+ },
179
+ disabled: {
180
+ opacity: '0.54',
181
+ pointerEvents: 'none'
182
+ }
183
+ }), {
184
+ name: 'onesy-CalendarMonth'
185
+ });
186
+ const CalendarMonth = /*#__PURE__*/_react.default.forwardRef((props__, ref) => {
187
+ var _month, _refs$previous$curren, _refs$previous$curren2;
188
+ const theme = (0, _styleReact.useOnesyTheme)();
189
+ const l = theme.l;
190
+ const props = _react.default.useMemo(() => {
191
+ var _theme$ui, _theme$ui2;
192
+ return _objectSpread(_objectSpread(_objectSpread({}, theme === null || theme === void 0 || (_theme$ui = theme.ui) === null || _theme$ui === void 0 || (_theme$ui = _theme$ui.elements) === null || _theme$ui === void 0 || (_theme$ui = _theme$ui.all) === null || _theme$ui === void 0 || (_theme$ui = _theme$ui.props) === null || _theme$ui === void 0 ? void 0 : _theme$ui.default), theme === null || theme === void 0 || (_theme$ui2 = theme.ui) === null || _theme$ui2 === void 0 || (_theme$ui2 = _theme$ui2.elements) === null || _theme$ui2 === void 0 || (_theme$ui2 = _theme$ui2.onesyCalendarMonth) === null || _theme$ui2 === void 0 || (_theme$ui2 = _theme$ui2.props) === null || _theme$ui2 === void 0 ? void 0 : _theme$ui2.default), props__);
193
+ }, [props__]);
194
+ const Line = _react.default.useMemo(() => {
195
+ var _theme$elements;
196
+ return (theme === null || theme === void 0 || (_theme$elements = theme.elements) === null || _theme$elements === void 0 ? void 0 : _theme$elements.Line) || _Line.default;
197
+ }, [theme]);
198
+ const Surface = _react.default.useMemo(() => {
199
+ var _theme$elements2;
200
+ return (theme === null || theme === void 0 || (_theme$elements2 = theme.elements) === null || _theme$elements2 === void 0 ? void 0 : _theme$elements2.Surface) || _Surface.default;
201
+ }, [theme]);
202
+ const Type = _react.default.useMemo(() => {
203
+ var _theme$elements3;
204
+ return (theme === null || theme === void 0 || (_theme$elements3 = theme.elements) === null || _theme$elements3 === void 0 ? void 0 : _theme$elements3.Type) || _Type.default;
205
+ }, [theme]);
206
+ const PaginationItem = _react.default.useMemo(() => {
207
+ var _theme$elements4;
208
+ return (theme === null || theme === void 0 || (_theme$elements4 = theme.elements) === null || _theme$elements4 === void 0 ? void 0 : _theme$elements4.PaginationItem) || _PaginationItem.default;
209
+ }, [theme]);
210
+ const Transitions = _react.default.useMemo(() => {
211
+ var _theme$elements5;
212
+ return (theme === null || theme === void 0 || (_theme$elements5 = theme.elements) === null || _theme$elements5 === void 0 ? void 0 : _theme$elements5.Transitions) || _Transitions.default;
213
+ }, [theme]);
214
+ const Transition = _react.default.useMemo(() => {
215
+ var _theme$elements6;
216
+ return (theme === null || theme === void 0 || (_theme$elements6 = theme.elements) === null || _theme$elements6 === void 0 ? void 0 : _theme$elements6.Transition) || _Transition.default;
217
+ }, [theme]);
218
+ const {
219
+ tonal = true,
220
+ color = 'primary',
221
+ size = 'regular',
222
+ value: value_,
223
+ valueDefault,
224
+ onChange,
225
+ calendar: calendar_,
226
+ calendarDefault,
227
+ onChangeCalendar,
228
+ onTimeClick,
229
+ range,
230
+ offset = 0,
231
+ outside = true,
232
+ weekStartDay: weekStartDay_ = 'Monday',
233
+ now = true,
234
+ min,
235
+ max,
236
+ validate,
237
+ labels = true,
238
+ dayNamesFull,
239
+ noTransition = true,
240
+ valid: valid_,
241
+ renderDay,
242
+ renderDayName,
243
+ disabled,
244
+ DayNameProps,
245
+ PaginationItemProps,
246
+ TransitionProps,
247
+ TransitionsProps,
248
+ className
249
+ } = props,
250
+ other = (0, _objectWithoutProperties2.default)(props, _excluded);
251
+ const {
252
+ classes
253
+ } = useStyle();
254
+ const [value, setValue] = _react.default.useState(() => {
255
+ const valueResult = (valueDefault !== undefined ? valueDefault : value_) || now && (range ? [new _date.OnesyDate(), new _date.OnesyDate()] : [new _date.OnesyDate()]);
256
+ return ((0, _utils.is)('array', valueResult) ? valueResult : [valueResult]).filter(Boolean);
257
+ });
258
+ const [calendar, setCalendar] = _react.default.useState((calendarDefault !== undefined ? calendarDefault : calendar_) || new _date.OnesyDate());
259
+ let month = calendar || value[0] || new _date.OnesyDate();
260
+ if (!((_month = month) !== null && _month !== void 0 && _month.valid)) month = new _date.OnesyDate();
261
+ const refs = {
262
+ id: _react.default.useRef(`${month.year} ${month.month}`),
263
+ previous: _react.default.useRef(month),
264
+ previousTheme: _react.default.useRef(theme.palette.light),
265
+ move: _react.default.useRef(null),
266
+ noTransition: _react.default.useRef(null)
267
+ };
268
+ const weekStartDay = !['Monday', 'Sunday'].includes(weekStartDay_) ? 'Monday' : weekStartDay_;
269
+
270
+ // Value
271
+ _react.default.useEffect(() => {
272
+ if (value_ !== undefined && value_ !== value) setValue(((0, _utils.is)('array', value_) ? value_ : [value_]).filter(Boolean));
273
+ }, [value_]);
274
+
275
+ // Calendar
276
+ _react.default.useEffect(() => {
277
+ if (calendar_ !== undefined && calendar_ !== calendar) setCalendar(calendar_);
278
+ }, [calendar_]);
279
+ const valid = _react.default.useCallback((...args) => {
280
+ if ((0, _utils.is)('function', valid_)) return valid_(...args);
281
+ const onesyDate = args[0];
282
+ if (min || max || validate) {
283
+ let response = true;
284
+ if ((0, _utils.is)('function', validate)) response = validate(onesyDate);
285
+ if (min !== undefined) response = response && (0, _date.is)(onesyDate, 'after or same', min);
286
+ if (max !== undefined) response = response && (0, _date.is)(onesyDate, 'before or same', max);
287
+ return response;
379
288
  }
380
- // Add to end
381
- const dayLast = days[days.length - 1];
382
- if (dayLast.dayWeek < 7) {
383
- let toAdd = 7 - dayLast.dayWeek;
384
- if (days.length + toAdd - 1 < 42)
385
- toAdd += 41 - (days.length + toAdd - 1);
386
- for (let i = 0; i < toAdd; i++) {
387
- const day = (0, date_1.set)(i + 1, 'day', nextMonth);
388
- days.push({
389
- value: i + 1,
390
- in: false,
391
- dayWeek: day.dayWeek,
392
- weekend: [0, 6].includes(day.dayWeek),
393
- today: day.year === monthNow.year && day.dayYear === monthNow.dayYear,
394
- between: isBetween(day),
395
- selected: isSelected(day),
396
- selectedIndex: selectedIndex(day),
397
- selectedSame: selectedSame(day),
398
- end: true,
399
- onesyDate: day
400
- });
289
+ return true;
290
+ }, [valid_, min, max, validate]);
291
+ const onUpdateCalendar = _react.default.useCallback(valueNew => {
292
+ // Inner update
293
+ if (!props.hasOwnProperty('calendar')) setCalendar(valueNew);
294
+ if ((0, _utils.is)('function', onChangeCalendar)) onChangeCalendar(valueNew);
295
+ }, [onChangeCalendar]);
296
+ const onUpdate = _react.default.useCallback((valueUpdated, offsetMultiplier) => {
297
+ let valueNew = [valueUpdated, value[1]].filter(Boolean);
298
+
299
+ // Previous
300
+ // Range reset
301
+ // If value is range, and is the same (in terms of day, month, year as from and/or to)
302
+ // make a reset, ie. make both values that same date
303
+ if (range) {
304
+ if (value.filter(Boolean).some(item => valueUpdated.year === item.year && valueUpdated.month === item.month && valueUpdated.day === item.day)) valueNew = [valueUpdated, valueUpdated];else {
305
+ // Update the value closest to from, to value
306
+ let index;
307
+
308
+ // Update from or to
309
+ // based on if value is closer to the middle from, or middle to
310
+ if (!value[0]) index = 0;else if (!value[1]) index = 1;else if (valueUpdated.milliseconds < value[0].milliseconds) index = 0;else if (valueUpdated.milliseconds > value[1].milliseconds) index = 1;else {
311
+ const middle = Math.abs(value[1].milliseconds - value[0].milliseconds) / 2;
312
+ index = valueUpdated.milliseconds <= value[0].milliseconds + middle ? 0 : 1;
401
313
  }
314
+ valueNew = [...value];
315
+ valueNew[index] = valueUpdated;
316
+ }
317
+
318
+ // start of the day
319
+ if (valueNew[0]) {
320
+ valueNew[0] = (0, _date.startOf)(valueNew[0], 'day');
321
+ }
322
+
323
+ // end of the day
324
+ if (valueNew[1]) {
325
+ valueNew[1] = (0, _date.endOf)(valueNew[1], 'day');
326
+ }
402
327
  }
403
- // noTransition
404
- refs.noTransition.current = monthSame;
405
- // Update previous
406
- if (refs.id.current !== `${month.year} ${month.month}`) {
407
- refs.move.current = ((_c = refs.previous.current) === null || _c === void 0 ? void 0 : _c.milliseconds) > month.milliseconds ? 'next' : 'previous';
408
- refs.id.current = `${month.year} ${month.month}`;
409
- refs.previous.current = month;
410
- refs.noTransition.current = false;
328
+
329
+ // If value isnt's same as the calendar
330
+ // update calendar to the value
331
+ if (!(valueUpdated.year === calendar.year && valueUpdated.month === calendar.month)) {
332
+ onUpdateCalendar((0, _date.add)(offsetMultiplier !== undefined ? offsetMultiplier * offset : 0, 'month', valueUpdated));
411
333
  }
412
- const weeks = (0, utils_1.arrayToParts)(days, 7);
413
- const getCalendar = (status) => {
414
- return ((0, jsx_runtime_1.jsx)(Surface, { children: ({ palette }) => ((0, jsx_runtime_1.jsx)(Line, Object.assign({ gap: 0.5, direction: 'column', align: 'unset', justify: 'unset', className: (0, style_react_1.classNames)([
415
- (0, utils_2.staticClassName)('CalendarMonth', theme) && [
416
- 'onesy-CalendarMonth-weeks'
417
- ],
418
- classes.weeks,
419
- classes[`weeks_size_${size}`],
420
- status && [`weeks_${status}`],
421
- !labels && classes.weeks_no_labels
422
- ]) }, { children: weeks.map((week, index) => (
423
- // Week
424
- (0, jsx_runtime_1.jsx)(Line, Object.assign({ gap: 0, direction: 'row', align: 'unset', justify: 'space-between', className: (0, style_react_1.classNames)([
425
- (0, utils_2.staticClassName)('CalendarMonth', theme) && [
426
- 'onesy-CalendarMonth-week'
427
- ],
428
- classes.week
429
- ]) }, { children: week.map((day, index_) => {
430
- const propsDay = {
431
- onClick: () => onUpdate(day.onesyDate, day.start || day.end ? -1 : undefined),
432
- disabled: ((!day.in && !outside) ||
433
- !valid(day.onesyDate, 'day') ||
434
- // not prior to 1970, we may potentially update this in the future
435
- day.onesyDate.year < 1970)
436
- };
437
- return ((0, jsx_runtime_1.jsx)(Line, Object.assign({ direction: 'row', align: 'center', justify: 'center', onClick: (event) => {
438
- const timeDate = (0, date_1.startOf)(day.onesyDate, 'hour');
439
- onTimeClick === null || onTimeClick === void 0 ? void 0 : onTimeClick(timeDate, 'month', event);
440
- }, className: (0, style_react_1.classNames)([
441
- (0, utils_2.staticClassName)('CalendarMonth', theme) && [
442
- 'onesy-CalendarMonth-day',
443
- `onesy-CalendarMonth-day-${day.in ? 'in' : 'out'}`
444
- ],
445
- classes.day,
446
- classes[`day_size_${size}`],
447
- classes[`day_${day.in ? 'in' : 'out'}`],
448
- (!day.in && !outside) && classes.day_out_no,
449
- !day.selectedSame && range && [
450
- (day.dayWeek === 1 || (day.selected && day.selectedIndex === 0) || (day.start && !outside)) && classes.dayStart,
451
- (day.dayWeek === 0 || (day.selected && day.selectedIndex === 1) || (day.end && !outside)) && classes.dayEnd,
452
- ((day.dayWeek === 1 || (day.selected && day.selectedIndex === 0) || (day.start && !outside)) && (day.dayWeek === 0 || (day.selected && day.selectedIndex === 1) || (day.end && !outside))) && classes.dayStartEnd,
453
- (day.selected && day.selectedIndex === 0 && !day.selectedSame) && classes.dayStartSelected,
454
- (day.selected && day.selectedIndex === 1 && !day.selectedSame) && classes.dayEndSelected
455
- ]
456
- ]), style: Object.assign(Object.assign({}, (range && !day.selected && !day.selectedSame && day.between ? {
457
- background: theme.methods.palette.color.value(undefined, 60, true, palette)
458
- } : undefined)), (range && day.selected && !day.selectedSame ? {
459
- color: theme.methods.palette.color.value(undefined, 60, true, palette)
460
- } : undefined)) }, { children: (0, utils_1.is)('function', renderDay) ?
461
- renderDay(day.onesyDate, propsDay, day, outside) :
462
- ((0, jsx_runtime_1.jsx)(PaginationItem, Object.assign({ tonal: tonal, color: 'inherit', size: size, InteractionProps: {
463
- background: false
464
- }, TypeProps: {
465
- version: size === 'large' ? 'b1' : size === 'regular' ? 'b2' : 'b3',
466
- priority: !day.selected ? !day.weekend ? 'primary' : 'secondary' : undefined
467
- }, "aria-label": (0, date_1.format)(day.onesyDate, 'DD-MM-YYYY', { l }) }, PaginationItemProps, { className: (0, style_react_1.classNames)([
468
- (0, utils_2.staticClassName)('CalendarMonth', theme) && [
469
- 'onesy-CalendarMonth-day-value',
470
- day.in && 'onesy-CalendarMonth-day-in',
471
- day.dayWeek && 'onesy-CalendarMonth-day-day-week',
472
- day.weekend && 'onesy-CalendarMonth-day-weekend',
473
- day.today && 'onesy-CalendarMonth-day-today',
474
- day.between && 'onesy-CalendarMonth-day-between',
475
- day.selected && 'onesy-CalendarMonth-day-selected',
476
- day.start && 'onesy-CalendarMonth-day-start',
477
- day.end && 'onesy-CalendarMonth-day-end'
478
- ],
479
- PaginationItemProps === null || PaginationItemProps === void 0 ? void 0 : PaginationItemProps.className,
480
- classes.dayValue
481
- ]), style: Object.assign(Object.assign(Object.assign({}, (day.today ? {
482
- boxShadow: `inset 0px 0px 0px 1px ${palette[40]}`
483
- } : undefined)), (day.selected ? {
484
- color: theme.methods.palette.color.value(undefined, 90, true, palette),
485
- backgroundColor: theme.methods.palette.color.value(undefined, 40, true, palette)
486
- } : undefined)), PaginationItemProps === null || PaginationItemProps === void 0 ? void 0 : PaginationItemProps.style) }, propsDay, { children: day.value }))) }), index_));
487
- }) }), index))) }))) }));
334
+
335
+ // Inner value update
336
+ if (!props.hasOwnProperty('value')) setValue(valueNew);
337
+ if ((0, _utils.is)('function', onChange)) onChange(!range ? valueNew[0] : valueNew);
338
+ }, [value, range, offset, calendar, onChange]);
339
+ const dayNames = [1, 2, 3, 4, 5, 6];
340
+ if (weekStartDay === 'Monday') dayNames.push(7);else dayNames.unshift(7);
341
+ const renderDayNameMethod = (0, _utils.is)('function', renderDayName) ? renderDayName : order_ => {
342
+ const values = {
343
+ 1: dayNamesFull ? l('Monday') : l('Mo'),
344
+ 2: dayNamesFull ? l('Tuesday') : l('Tu'),
345
+ 3: dayNamesFull ? l('Wednesday') : l('We'),
346
+ 4: dayNamesFull ? l('Thursday') : l('Th'),
347
+ 5: dayNamesFull ? l('Friday') : l('Fr'),
348
+ 6: dayNamesFull ? l('Saturday') : l('Sa'),
349
+ 7: dayNamesFull ? l('Sunday') : l('Su')
488
350
  };
489
- return ((0, jsx_runtime_1.jsxs)(Line, Object.assign({ ref: ref, gap: 0, direction: 'column', className: (0, style_react_1.classNames)([
490
- (0, utils_2.staticClassName)('CalendarMonth', theme) && [
491
- 'onesy-CalendarMonth-root',
492
- `onesy-CalendarMonth-size-${size}`
493
- ],
494
- className,
495
- classes.root,
496
- classes[`size_${size}`],
497
- classes[`move_${refs.move.current}`],
498
- !labels && classes.root_no_labels,
499
- disabled && classes.disabled
500
- ]) }, (isMonthFrom && { 'data-month-from': true }), (isMonthTo && { 'data-month-to': true }), other, { children: [labels && ((0, jsx_runtime_1.jsx)(Line, Object.assign({ gap: 0, direction: 'row', align: 'center', justify: 'space-between', className: (0, style_react_1.classNames)([
501
- (0, utils_2.staticClassName)('CalendarMonth', theme) && [
502
- 'onesy-CalendarMonth-day-names'
503
- ],
504
- classes.dayNames
505
- ]) }, { children: dayNames.map((day, index) => ((0, jsx_runtime_1.jsx)(Line, Object.assign({ direction: 'column', align: 'center', justify: 'center', className: (0, style_react_1.classNames)([
506
- (0, utils_2.staticClassName)('CalendarMonth', theme) && [
507
- 'onesy-CalendarMonth-day-name'
508
- ],
509
- classes.dayName,
510
- classes[`dayName_size_${size}`]
511
- ]) }, { children: (0, jsx_runtime_1.jsx)(Type, Object.assign({ version: size === 'large' ? 'b1' : size === 'regular' ? 'b2' : 'b3', align: 'center' }, DayNameProps, { children: renderDayNameMethod(day) })) }), index))) }))), noTransition && (getCalendar()), !noTransition && ((0, jsx_runtime_1.jsx)(Transitions, Object.assign({ id: refs.id.current, mode: 'in-out-follow', switch: true }, TransitionsProps, { children: (0, jsx_runtime_1.jsx)(Transition, Object.assign({ in: true }, TransitionProps, { children: getCalendar }), id) })))] })));
351
+ return values[order_];
352
+ };
353
+ const days = [];
354
+ const monthNow = new _date.OnesyDate();
355
+
356
+ // value or value range selected value
357
+ let id = `${month.year} ${month.month} ${month.day} ${theme.palette.light}`;
358
+ value.forEach(item => id += ` ${item.year} ${item.month} ${item.day}`);
359
+ const monthStart = (0, _date.startOf)(month, 'month');
360
+ const previousMonth = (0, _date.remove)(1, 'month', month);
361
+ const previousMonthEnd = (0, _date.endOf)(previousMonth, 'month');
362
+ const nextMonth = (0, _date.add)(1, 'month', month);
363
+ const monthSame = ((_refs$previous$curren = refs.previous.current) === null || _refs$previous$curren === void 0 ? void 0 : _refs$previous$curren.year) === (calendar === null || calendar === void 0 ? void 0 : calendar.year) && ((_refs$previous$curren2 = refs.previous.current) === null || _refs$previous$curren2 === void 0 ? void 0 : _refs$previous$curren2.month) === (calendar === null || calendar === void 0 ? void 0 : calendar.month);
364
+ const isBetween = day => {
365
+ var _value$, _value$2;
366
+ return day.milliseconds >= ((_value$ = value[0]) === null || _value$ === void 0 ? void 0 : _value$.milliseconds) && day.milliseconds <= ((_value$2 = value[1]) === null || _value$2 === void 0 ? void 0 : _value$2.milliseconds) + 4000;
367
+ };
368
+ const isSelected = day => value.some(item => item.year === day.year && item.month === day.month && item.day === day.day);
369
+ const selectedIndex = day => value.findIndex(item => item.year === day.year && item.month === day.month && item.day === day.day);
370
+ const selectedSame = day => value.filter(item => item.year === day.year && item.month === day.month && item.day === day.day).length === 2;
371
+ let isMonthFrom = false;
372
+ let isMonthTo = false;
373
+
374
+ // Add all month days
375
+ for (let i = 0; i < month.daysInMonth; i++) {
376
+ let day = (0, _date.set)(i + 1, 'day', month);
377
+ day = (0, _date.set)(14, 'hour', day);
378
+ const selectedIndex_ = selectedIndex(day);
379
+ if (selectedIndex_ === 0) isMonthFrom = true;else if (selectedIndex_ === 1) isMonthTo = true;
380
+ days.push({
381
+ value: i + 1,
382
+ in: true,
383
+ dayWeek: day.dayWeek,
384
+ weekend: [0, 6].includes(day.dayWeek),
385
+ today: day.year === monthNow.year && day.dayYear === monthNow.dayYear,
386
+ between: isBetween(day),
387
+ selected: isSelected(day),
388
+ selectedIndex: selectedIndex_,
389
+ selectedSame: selectedSame(day),
390
+ onesyDate: day
391
+ });
392
+ }
393
+ days[0].start = true;
394
+ days[days.length - 1].end = true;
395
+
396
+ // Add to start
397
+ if (weekStartDay === 'Sunday' && monthStart.dayWeek !== 0 || weekStartDay === 'Monday' && monthStart.dayWeek !== 1) {
398
+ let toAdd = monthStart.dayWeek === 0 ? 6 : monthStart.dayWeek - 1;
399
+ if (weekStartDay === 'Sunday') toAdd++;
400
+ for (let i = 0; i < toAdd; i++) {
401
+ const day = (0, _date.set)(previousMonthEnd.day - i, 'day', previousMonth);
402
+ days.unshift({
403
+ value: day.day,
404
+ in: false,
405
+ dayWeek: day.dayWeek,
406
+ weekend: [0, 6].includes(day.dayWeek),
407
+ today: day.year === monthNow.year && day.dayYear === monthNow.dayYear,
408
+ between: isBetween(day),
409
+ selected: isSelected(day),
410
+ selectedIndex: selectedIndex(day),
411
+ selectedSame: selectedSame(day),
412
+ start: true,
413
+ onesyDate: day
414
+ });
415
+ }
416
+ }
417
+
418
+ // Add to end
419
+ const dayLast = days[days.length - 1];
420
+ if (dayLast.dayWeek < 7) {
421
+ let toAdd = 7 - dayLast.dayWeek;
422
+ if (days.length + toAdd - 1 < 42) toAdd += 41 - (days.length + toAdd - 1);
423
+ for (let i = 0; i < toAdd; i++) {
424
+ const day = (0, _date.set)(i + 1, 'day', nextMonth);
425
+ days.push({
426
+ value: i + 1,
427
+ in: false,
428
+ dayWeek: day.dayWeek,
429
+ weekend: [0, 6].includes(day.dayWeek),
430
+ today: day.year === monthNow.year && day.dayYear === monthNow.dayYear,
431
+ between: isBetween(day),
432
+ selected: isSelected(day),
433
+ selectedIndex: selectedIndex(day),
434
+ selectedSame: selectedSame(day),
435
+ end: true,
436
+ onesyDate: day
437
+ });
438
+ }
439
+ }
440
+
441
+ // noTransition
442
+ refs.noTransition.current = monthSame;
443
+
444
+ // Update previous
445
+ if (refs.id.current !== `${month.year} ${month.month}`) {
446
+ var _refs$previous$curren3;
447
+ refs.move.current = ((_refs$previous$curren3 = refs.previous.current) === null || _refs$previous$curren3 === void 0 ? void 0 : _refs$previous$curren3.milliseconds) > month.milliseconds ? 'next' : 'previous';
448
+ refs.id.current = `${month.year} ${month.month}`;
449
+ refs.previous.current = month;
450
+ refs.noTransition.current = false;
451
+ }
452
+ const weeks = (0, _utils.arrayToParts)(days, 7);
453
+ const getCalendar = status => {
454
+ return /*#__PURE__*/_react.default.createElement(Surface, null, ({
455
+ palette
456
+ }) => /*#__PURE__*/_react.default.createElement(Line, {
457
+ gap: 0.5,
458
+ direction: "column",
459
+ align: "unset",
460
+ justify: "unset",
461
+ className: (0, _styleReact.classNames)([(0, _utils2.staticClassName)('CalendarMonth', theme) && ['onesy-CalendarMonth-weeks'], classes.weeks, classes[`weeks_size_${size}`], status && [`weeks_${status}`], !labels && classes.weeks_no_labels])
462
+ }, weeks.map((week, index) =>
463
+ /*#__PURE__*/
464
+ // Week
465
+ _react.default.createElement(Line, {
466
+ key: index,
467
+ gap: 0,
468
+ direction: "row",
469
+ align: "unset",
470
+ justify: "space-between",
471
+ className: (0, _styleReact.classNames)([(0, _utils2.staticClassName)('CalendarMonth', theme) && ['onesy-CalendarMonth-week'], classes.week])
472
+ }, week.map((day, index_) => {
473
+ const propsDay = {
474
+ onClick: () => onUpdate(day.onesyDate, day.start || day.end ? -1 : undefined),
475
+ disabled: !day.in && !outside || !valid(day.onesyDate, 'day') ||
476
+ // not prior to 1970, we may potentially update this in the future
477
+ day.onesyDate.year < 1970
478
+ };
479
+ return /*#__PURE__*/_react.default.createElement(Line, {
480
+ key: index_,
481
+ direction: "row",
482
+ align: "center",
483
+ justify: "center",
484
+ onClick: event => {
485
+ const timeDate = (0, _date.startOf)(day.onesyDate, 'hour');
486
+ onTimeClick === null || onTimeClick === void 0 || onTimeClick(timeDate, 'month', event);
487
+ },
488
+ className: (0, _styleReact.classNames)([(0, _utils2.staticClassName)('CalendarMonth', theme) && ['onesy-CalendarMonth-day', `onesy-CalendarMonth-day-${day.in ? 'in' : 'out'}`], classes.day, classes[`day_size_${size}`], classes[`day_${day.in ? 'in' : 'out'}`], !day.in && !outside && classes.day_out_no, !day.selectedSame && range && [(day.dayWeek === 1 || day.selected && day.selectedIndex === 0 || day.start && !outside) && classes.dayStart, (day.dayWeek === 0 || day.selected && day.selectedIndex === 1 || day.end && !outside) && classes.dayEnd, (day.dayWeek === 1 || day.selected && day.selectedIndex === 0 || day.start && !outside) && (day.dayWeek === 0 || day.selected && day.selectedIndex === 1 || day.end && !outside) && classes.dayStartEnd, day.selected && day.selectedIndex === 0 && !day.selectedSame && classes.dayStartSelected, day.selected && day.selectedIndex === 1 && !day.selectedSame && classes.dayEndSelected]]),
489
+ style: _objectSpread(_objectSpread({}, range && !day.selected && !day.selectedSame && day.between ? {
490
+ background: theme.methods.palette.color.value(undefined, 60, true, palette)
491
+ } : undefined), range && day.selected && !day.selectedSame ? {
492
+ color: theme.methods.palette.color.value(undefined, 60, true, palette)
493
+ } : undefined)
494
+ }, (0, _utils.is)('function', renderDay) ? renderDay(day.onesyDate, propsDay, day, outside) : /*#__PURE__*/_react.default.createElement(PaginationItem, (0, _extends2.default)({
495
+ tonal: tonal,
496
+ color: "inherit",
497
+ size: size,
498
+ InteractionProps: {
499
+ background: false
500
+ },
501
+ TypeProps: {
502
+ version: size === 'large' ? 'b1' : size === 'regular' ? 'b2' : 'b3',
503
+ priority: !day.selected ? !day.weekend ? 'primary' : 'secondary' : undefined
504
+ },
505
+ "aria-label": (0, _date.format)(day.onesyDate, 'DD-MM-YYYY', {
506
+ l
507
+ })
508
+ }, PaginationItemProps, {
509
+ className: (0, _styleReact.classNames)([(0, _utils2.staticClassName)('CalendarMonth', theme) && ['onesy-CalendarMonth-day-value', day.in && 'onesy-CalendarMonth-day-in', day.dayWeek && 'onesy-CalendarMonth-day-day-week', day.weekend && 'onesy-CalendarMonth-day-weekend', day.today && 'onesy-CalendarMonth-day-today', day.between && 'onesy-CalendarMonth-day-between', day.selected && 'onesy-CalendarMonth-day-selected', day.start && 'onesy-CalendarMonth-day-start', day.end && 'onesy-CalendarMonth-day-end'], PaginationItemProps === null || PaginationItemProps === void 0 ? void 0 : PaginationItemProps.className, classes.dayValue]),
510
+ style: _objectSpread(_objectSpread(_objectSpread({}, day.today ? {
511
+ boxShadow: `inset 0px 0px 0px 1px ${palette[40]}`
512
+ } : undefined), day.selected ? {
513
+ color: theme.methods.palette.color.value(undefined, 90, true, palette),
514
+ backgroundColor: theme.methods.palette.color.value(undefined, 40, true, palette)
515
+ } : undefined), PaginationItemProps === null || PaginationItemProps === void 0 ? void 0 : PaginationItemProps.style)
516
+ }, propsDay), day.value));
517
+ })))));
518
+ };
519
+ return /*#__PURE__*/_react.default.createElement(Line, (0, _extends2.default)({
520
+ ref: ref,
521
+ gap: 0,
522
+ direction: "column",
523
+ className: (0, _styleReact.classNames)([(0, _utils2.staticClassName)('CalendarMonth', theme) && ['onesy-CalendarMonth-root', `onesy-CalendarMonth-size-${size}`], className, classes.root, classes[`size_${size}`], classes[`move_${refs.move.current}`], !labels && classes.root_no_labels, disabled && classes.disabled])
524
+ }, isMonthFrom && {
525
+ 'data-month-from': true
526
+ }, isMonthTo && {
527
+ 'data-month-to': true
528
+ }, other), labels && /*#__PURE__*/_react.default.createElement(Line, {
529
+ gap: 0,
530
+ direction: "row",
531
+ align: "center",
532
+ justify: "space-between",
533
+ className: (0, _styleReact.classNames)([(0, _utils2.staticClassName)('CalendarMonth', theme) && ['onesy-CalendarMonth-day-names'], classes.dayNames])
534
+ }, dayNames.map((day, index) => /*#__PURE__*/_react.default.createElement(Line, {
535
+ key: index,
536
+ direction: "column",
537
+ align: "center",
538
+ justify: "center",
539
+ className: (0, _styleReact.classNames)([(0, _utils2.staticClassName)('CalendarMonth', theme) && ['onesy-CalendarMonth-day-name'], classes.dayName, classes[`dayName_size_${size}`]])
540
+ }, /*#__PURE__*/_react.default.createElement(Type, (0, _extends2.default)({
541
+ version: size === 'large' ? 'b1' : size === 'regular' ? 'b2' : 'b3',
542
+ align: "center"
543
+ }, DayNameProps), renderDayNameMethod(day))))), noTransition && getCalendar(), !noTransition && /*#__PURE__*/_react.default.createElement(Transitions, (0, _extends2.default)({
544
+ id: refs.id.current,
545
+ mode: "in-out-follow",
546
+ switch: true
547
+ }, TransitionsProps), /*#__PURE__*/_react.default.createElement(Transition, (0, _extends2.default)({
548
+ key: id,
549
+ in: true
550
+ }, TransitionProps), getCalendar)));
512
551
  });
513
552
  CalendarMonth.displayName = 'onesy-CalendarMonth';
514
- exports.default = CalendarMonth;
553
+ var _default = exports.default = CalendarMonth;