@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,398 +1,719 @@
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 utils_1 = require("@onesy/utils");
20
- const style_react_1 = require("@onesy/style-react");
21
- const date_1 = require("@onesy/date");
22
- const IconMaterialEditW100_1 = __importDefault(require("@onesy/icons-material-rounded-react/IconMaterialEditW100"));
23
- const IconMaterialKeyboardArrowDownW100_1 = __importDefault(require("@onesy/icons-material-rounded-react/IconMaterialKeyboardArrowDownW100"));
24
- const IconMaterialArrowForwardIosW100_1 = __importDefault(require("@onesy/icons-material-rounded-react/IconMaterialArrowForwardIosW100"));
25
- const IconMaterialArrowBackIosNewW100_1 = __importDefault(require("@onesy/icons-material-rounded-react/IconMaterialArrowBackIosNewW100"));
26
- const IconMaterialDeleteW100_1 = __importDefault(require("@onesy/icons-material-rounded-react/IconMaterialDeleteW100"));
27
- const CalendarWeek_1 = __importDefault(require("../CalendarWeek"));
28
- const Select_1 = __importDefault(require("../Select"));
29
- const Button_1 = __importDefault(require("../Button"));
30
- const Line_1 = __importDefault(require("../Line"));
31
- const Modal_1 = __importDefault(require("../Modal"));
32
- const ModalHeader_1 = __importDefault(require("../ModalHeader"));
33
- const ModalMain_1 = __importDefault(require("../ModalMain"));
34
- const Type_1 = __importDefault(require("../Type"));
35
- const Tooltip_1 = __importDefault(require("../Tooltip"));
36
- const IconButton_1 = __importDefault(require("../IconButton"));
37
- const Label_1 = __importDefault(require("../Label"));
38
- const Slide_1 = __importDefault(require("../Slide"));
39
- const Switch_1 = __importDefault(require("../Switch"));
40
- const utils_2 = require("../utils");
41
- const useStyle = (0, style_react_1.style)(theme => ({
42
- root: {
43
- padding: '16px',
44
- paddingBottom: '24px',
45
- color: theme.methods.palette.color.value('primary', 10),
46
- background: theme.palette.background.default.primary,
47
- '& .onesy-Label-text': {
48
- whiteSpace: 'nowrap'
49
- }
50
- },
51
- calendar: {
52
- padding: '12px 8px',
53
- background: theme.palette.background.default.primary
54
- },
55
- aside: {
56
- width: 'auto',
57
- maxWidth: '100%'
58
- },
59
- weekDay: {
60
- width: '47px',
61
- height: '47px',
62
- borderRadius: '50%'
63
- },
64
- today: {
65
- background: theme.palette.color.primary[40],
66
- color: '#fff'
67
- },
68
- palettePreview: {
69
- width: '17px',
70
- height: '17px',
71
- boxShadow: theme.palette.light ? '0px 1px 1px 0px rgba(0, 0, 0, 0.07), 0px 2px 1px -1px rgba(0, 0, 0, 0.04), 0px 1px 3px 0px rgba(0, 0, 0, 0.11)' : '0px 1px 1px 0px rgba(255, 255, 255, 0.21), 0px 2px 1px -1px rgba(255, 255, 255, 0.12), 0px 1px 3px 0px rgba(255, 255, 255, 0.40)',
72
- borderRadius: '50%',
73
- cursor: 'default',
74
- flex: '0 0 auto',
75
- transition: theme.methods.transitions.make('transform'),
76
- '& > *': {
77
- width: '100% !important',
78
- height: 'calc(100% + 12px) !important'
79
- },
80
- '&:active': {
81
- transform: 'scale(0.94)'
82
- }
83
- },
84
- dayWeekSimple: {
85
- maxWidth: 184
86
- },
87
- simpleTimes: {
88
- '&.onesy-Line-direction-row': {
89
- '& > *': {
90
- flex: '1 1 auto'
91
- }
92
- },
93
- '&.onesy-Line-direction-column': {
94
- '& > *': {
95
- width: '100%'
96
- }
97
- }
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 _utils = require("@onesy/utils");
13
+ var _styleReact = require("@onesy/style-react");
14
+ var _date = require("@onesy/date");
15
+ var _IconMaterialEditW = _interopRequireDefault(require("@onesy/icons-material-rounded-react/IconMaterialEditW100"));
16
+ var _IconMaterialKeyboardArrowDownW = _interopRequireDefault(require("@onesy/icons-material-rounded-react/IconMaterialKeyboardArrowDownW100"));
17
+ var _IconMaterialArrowForwardIosW = _interopRequireDefault(require("@onesy/icons-material-rounded-react/IconMaterialArrowForwardIosW100"));
18
+ var _IconMaterialArrowBackIosNewW = _interopRequireDefault(require("@onesy/icons-material-rounded-react/IconMaterialArrowBackIosNewW100"));
19
+ var _IconMaterialDeleteW = _interopRequireDefault(require("@onesy/icons-material-rounded-react/IconMaterialDeleteW100"));
20
+ var _CalendarWeek = _interopRequireDefault(require("../CalendarWeek"));
21
+ var _Select = _interopRequireDefault(require("../Select"));
22
+ var _Button = _interopRequireDefault(require("../Button"));
23
+ var _Line = _interopRequireDefault(require("../Line"));
24
+ var _Modal = _interopRequireDefault(require("../Modal"));
25
+ var _ModalHeader = _interopRequireDefault(require("../ModalHeader"));
26
+ var _ModalMain = _interopRequireDefault(require("../ModalMain"));
27
+ var _Type = _interopRequireDefault(require("../Type"));
28
+ var _Tooltip = _interopRequireDefault(require("../Tooltip"));
29
+ var _IconButton = _interopRequireDefault(require("../IconButton"));
30
+ var _Label = _interopRequireDefault(require("../Label"));
31
+ var _Slide = _interopRequireDefault(require("../Slide"));
32
+ var _Switch = _interopRequireDefault(require("../Switch"));
33
+ var _utils2 = require("../utils");
34
+ const _excluded = ["name", "date", "dateDefault", "times", "events", "meta", "views", "onUpdate", "onRemove", "onChangeDate", "startHeader", "endHeader", "startLeft", "endLeft", "startRight", "endRight", "startLeftModal", "endLeftModal", "startRightModal", "endRightModal", "Component", "IconEdit", "IconPrevious", "IconNext", "IconRemove", "IconClose", "WeekProps", "DayProps", "IconProps", "IconButtonProps", "className", "children"];
35
+ 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; }
36
+ 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; }
37
+ const useStyle = (0, _styleReact.style)(theme => ({
38
+ root: {
39
+ padding: '16px',
40
+ paddingBottom: '24px',
41
+ color: theme.methods.palette.color.value('primary', 10),
42
+ background: theme.palette.background.default.primary,
43
+ '& .onesy-Label-text': {
44
+ whiteSpace: 'nowrap'
45
+ }
46
+ },
47
+ calendar: {
48
+ padding: '12px 8px',
49
+ background: theme.palette.background.default.primary
50
+ },
51
+ aside: {
52
+ width: 'auto',
53
+ maxWidth: '100%'
54
+ },
55
+ weekDay: {
56
+ width: '47px',
57
+ height: '47px',
58
+ borderRadius: '50%'
59
+ },
60
+ today: {
61
+ background: theme.palette.color.primary[40],
62
+ color: '#fff'
63
+ },
64
+ palettePreview: {
65
+ width: '17px',
66
+ height: '17px',
67
+ boxShadow: theme.palette.light ? '0px 1px 1px 0px rgba(0, 0, 0, 0.07), 0px 2px 1px -1px rgba(0, 0, 0, 0.04), 0px 1px 3px 0px rgba(0, 0, 0, 0.11)' : '0px 1px 1px 0px rgba(255, 255, 255, 0.21), 0px 2px 1px -1px rgba(255, 255, 255, 0.12), 0px 1px 3px 0px rgba(255, 255, 255, 0.40)',
68
+ borderRadius: '50%',
69
+ cursor: 'default',
70
+ flex: '0 0 auto',
71
+ transition: theme.methods.transitions.make('transform'),
72
+ '& > *': {
73
+ width: '100% !important',
74
+ height: 'calc(100% + 12px) !important'
98
75
  },
99
- legend: {
100
- padding: '2px',
101
- alignSelf: 'center',
102
- maxWidth: '100%',
103
- overflow: 'auto hidden'
76
+ '&:active': {
77
+ transform: 'scale(0.94)'
78
+ }
79
+ },
80
+ dayWeekSimple: {
81
+ maxWidth: 184
82
+ },
83
+ simpleTimes: {
84
+ '&.onesy-Line-direction-row': {
85
+ '& > *': {
86
+ flex: '1 1 auto'
87
+ }
104
88
  },
105
- itemLegend: {
106
- cursor: 'pointer',
107
- userSelect: 'none',
108
- opacity: 0.5,
109
- transition: theme.methods.transitions.make(['opacity', 'transform']),
110
- '&:active': {
111
- transform: 'scale(0.94)'
89
+ '&.onesy-Line-direction-column': {
90
+ '& > *': {
91
+ width: '100%'
92
+ }
93
+ }
94
+ },
95
+ legend: {
96
+ padding: '2px',
97
+ alignSelf: 'center',
98
+ maxWidth: '100%',
99
+ overflow: 'auto hidden'
100
+ },
101
+ itemLegend: {
102
+ cursor: 'pointer',
103
+ userSelect: 'none',
104
+ opacity: 0.5,
105
+ transition: theme.methods.transitions.make(['opacity', 'transform']),
106
+ '&:active': {
107
+ transform: 'scale(0.94)'
108
+ }
109
+ },
110
+ itemLegendActive: {
111
+ opacity: 1
112
+ },
113
+ overflowX: {
114
+ padding: '2px 0',
115
+ overflow: 'auto hidden'
116
+ }
117
+ }), {
118
+ name: 'onesy-CalendarAvailability'
119
+ });
120
+ const CalendarAvailability = /*#__PURE__*/_react.default.forwardRef((props_, ref) => {
121
+ const theme = (0, _styleReact.useOnesyTheme)();
122
+ const l = theme.l;
123
+ const props = _react.default.useMemo(() => {
124
+ var _theme$ui, _theme$ui2;
125
+ 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.onesyCalendarAvailability) === null || _theme$ui2 === void 0 || (_theme$ui2 = _theme$ui2.props) === null || _theme$ui2 === void 0 ? void 0 : _theme$ui2.default), props_);
126
+ }, [props_]);
127
+ const Line = _react.default.useMemo(() => {
128
+ var _theme$elements;
129
+ return (theme === null || theme === void 0 || (_theme$elements = theme.elements) === null || _theme$elements === void 0 ? void 0 : _theme$elements.Line) || _Line.default;
130
+ }, [theme]);
131
+ const Type = _react.default.useMemo(() => {
132
+ var _theme$elements2;
133
+ return (theme === null || theme === void 0 || (_theme$elements2 = theme.elements) === null || _theme$elements2 === void 0 ? void 0 : _theme$elements2.Type) || _Type.default;
134
+ }, [theme]);
135
+ const Tooltip = _react.default.useMemo(() => {
136
+ var _theme$elements3;
137
+ return (theme === null || theme === void 0 || (_theme$elements3 = theme.elements) === null || _theme$elements3 === void 0 ? void 0 : _theme$elements3.Tooltip) || _Tooltip.default;
138
+ }, [theme]);
139
+ const IconButton = _react.default.useMemo(() => {
140
+ var _theme$elements4;
141
+ return (theme === null || theme === void 0 || (_theme$elements4 = theme.elements) === null || _theme$elements4 === void 0 ? void 0 : _theme$elements4.IconButton) || _IconButton.default;
142
+ }, [theme]);
143
+ const Label = _react.default.useMemo(() => {
144
+ var _theme$elements5;
145
+ return (theme === null || theme === void 0 || (_theme$elements5 = theme.elements) === null || _theme$elements5 === void 0 ? void 0 : _theme$elements5.Label) || _Label.default;
146
+ }, [theme]);
147
+ const Switch = _react.default.useMemo(() => {
148
+ var _theme$elements6;
149
+ return (theme === null || theme === void 0 || (_theme$elements6 = theme.elements) === null || _theme$elements6 === void 0 ? void 0 : _theme$elements6.Switch) || _Switch.default;
150
+ }, [theme]);
151
+ const Modal = _react.default.useMemo(() => {
152
+ var _theme$elements7;
153
+ return (theme === null || theme === void 0 || (_theme$elements7 = theme.elements) === null || _theme$elements7 === void 0 ? void 0 : _theme$elements7.Modal) || _Modal.default;
154
+ }, [theme]);
155
+ const ModalHeader = _react.default.useMemo(() => {
156
+ var _theme$elements8;
157
+ return (theme === null || theme === void 0 || (_theme$elements8 = theme.elements) === null || _theme$elements8 === void 0 ? void 0 : _theme$elements8.ModalHeader) || _ModalHeader.default;
158
+ }, [theme]);
159
+ const ModalMain = _react.default.useMemo(() => {
160
+ var _theme$elements9;
161
+ return (theme === null || theme === void 0 || (_theme$elements9 = theme.elements) === null || _theme$elements9 === void 0 ? void 0 : _theme$elements9.ModalMain) || _ModalMain.default;
162
+ }, [theme]);
163
+ const Slide = _react.default.useMemo(() => {
164
+ var _theme$elements10;
165
+ return (theme === null || theme === void 0 || (_theme$elements10 = theme.elements) === null || _theme$elements10 === void 0 ? void 0 : _theme$elements10.Slide) || _Slide.default;
166
+ }, [theme]);
167
+ const Button = _react.default.useMemo(() => {
168
+ var _theme$elements11;
169
+ return (theme === null || theme === void 0 || (_theme$elements11 = theme.elements) === null || _theme$elements11 === void 0 ? void 0 : _theme$elements11.Button) || _Button.default;
170
+ }, [theme]);
171
+ const Select = _react.default.useMemo(() => {
172
+ var _theme$elements12;
173
+ return (theme === null || theme === void 0 || (_theme$elements12 = theme.elements) === null || _theme$elements12 === void 0 ? void 0 : _theme$elements12.Select) || _Select.default;
174
+ }, [theme]);
175
+ const CalendarWeek = _react.default.useMemo(() => {
176
+ var _theme$elements13;
177
+ return (theme === null || theme === void 0 || (_theme$elements13 = theme.elements) === null || _theme$elements13 === void 0 ? void 0 : _theme$elements13.CalendarWeek) || _CalendarWeek.default;
178
+ }, [theme]);
179
+ const {
180
+ name,
181
+ date: date_,
182
+ dateDefault,
183
+ times: timesProps,
184
+ events,
185
+ meta,
186
+ views: viewsProps = [{
187
+ name: l('Week'),
188
+ value: 'week'
189
+ }, {
190
+ name: l('Day'),
191
+ value: 'day'
192
+ }, {
193
+ name: l('Simple'),
194
+ value: 'simple'
195
+ }],
196
+ onUpdate,
197
+ onRemove,
198
+ onChangeDate: onChangeDateProps,
199
+ startHeader,
200
+ endHeader,
201
+ startLeft,
202
+ endLeft,
203
+ startRight,
204
+ endRight,
205
+ startLeftModal,
206
+ endLeftModal,
207
+ startRightModal,
208
+ endRightModal,
209
+ Component = Line,
210
+ IconEdit = _IconMaterialEditW.default,
211
+ IconPrevious = _IconMaterialArrowBackIosNewW.default,
212
+ IconNext = _IconMaterialArrowForwardIosW.default,
213
+ IconRemove = _IconMaterialDeleteW.default,
214
+ IconClose = _IconMaterialKeyboardArrowDownW.default,
215
+ WeekProps,
216
+ DayProps,
217
+ IconProps,
218
+ IconButtonProps,
219
+ className,
220
+ children
221
+ } = props,
222
+ other = (0, _objectWithoutProperties2.default)(props, _excluded);
223
+ const {
224
+ classes
225
+ } = useStyle();
226
+ const [now, setNow] = _react.default.useState(new _date.OnesyDate());
227
+ const [date, setDate] = _react.default.useState(dateDefault || date_ || new _date.OnesyDate());
228
+ const [view, setView] = _react.default.useState('week');
229
+ const [displayTime, setDisplayTime] = _react.default.useState(true);
230
+ const [modal, setModal] = _react.default.useState();
231
+ const [statuses, setStatuses] = _react.default.useState({});
232
+ const refs = {
233
+ date: _react.default.useRef(date),
234
+ displayTime: _react.default.useRef(displayTime),
235
+ interval: _react.default.useRef(undefined),
236
+ calendar: _react.default.useRef(undefined),
237
+ days: _react.default.useRef({}),
238
+ overlaping: _react.default.useRef({}),
239
+ statuses: _react.default.useRef(statuses)
240
+ };
241
+ refs.date.current = date;
242
+ refs.displayTime.current = displayTime;
243
+ refs.statuses.current = statuses;
244
+ const times = _react.default.useMemo(() => {
245
+ if (events) {
246
+ return [{
247
+ dates: {
248
+ active: true,
249
+ values: ((0, _utils.is)('array', events) ? events : [events]).filter(Boolean)
112
250
  }
113
- },
114
- itemLegendActive: {
115
- opacity: 1
116
- },
117
- overflowX: {
118
- padding: '2px 0',
119
- overflow: 'auto hidden'
251
+ }];
120
252
  }
121
- }), { name: 'onesy-CalendarAvailability' });
122
- const CalendarAvailability = react_1.default.forwardRef((props_, ref) => {
123
- const theme = (0, style_react_1.useOnesyTheme)();
124
- const l = theme.l;
125
- 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.onesyCalendarAvailability) === null || _g === void 0 ? void 0 : _g.props) === null || _h === void 0 ? void 0 : _h.default), props_)); }, [props_]);
126
- 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]);
127
- 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]);
128
- const Tooltip = react_1.default.useMemo(() => { var _a; return ((_a = theme === null || theme === void 0 ? void 0 : theme.elements) === null || _a === void 0 ? void 0 : _a.Tooltip) || Tooltip_1.default; }, [theme]);
129
- const IconButton = react_1.default.useMemo(() => { var _a; return ((_a = theme === null || theme === void 0 ? void 0 : theme.elements) === null || _a === void 0 ? void 0 : _a.IconButton) || IconButton_1.default; }, [theme]);
130
- const Label = react_1.default.useMemo(() => { var _a; return ((_a = theme === null || theme === void 0 ? void 0 : theme.elements) === null || _a === void 0 ? void 0 : _a.Label) || Label_1.default; }, [theme]);
131
- const Switch = react_1.default.useMemo(() => { var _a; return ((_a = theme === null || theme === void 0 ? void 0 : theme.elements) === null || _a === void 0 ? void 0 : _a.Switch) || Switch_1.default; }, [theme]);
132
- const Modal = react_1.default.useMemo(() => { var _a; return ((_a = theme === null || theme === void 0 ? void 0 : theme.elements) === null || _a === void 0 ? void 0 : _a.Modal) || Modal_1.default; }, [theme]);
133
- const ModalHeader = react_1.default.useMemo(() => { var _a; return ((_a = theme === null || theme === void 0 ? void 0 : theme.elements) === null || _a === void 0 ? void 0 : _a.ModalHeader) || ModalHeader_1.default; }, [theme]);
134
- const ModalMain = react_1.default.useMemo(() => { var _a; return ((_a = theme === null || theme === void 0 ? void 0 : theme.elements) === null || _a === void 0 ? void 0 : _a.ModalMain) || ModalMain_1.default; }, [theme]);
135
- const Slide = react_1.default.useMemo(() => { var _a; return ((_a = theme === null || theme === void 0 ? void 0 : theme.elements) === null || _a === void 0 ? void 0 : _a.Slide) || Slide_1.default; }, [theme]);
136
- const Button = react_1.default.useMemo(() => { var _a; return ((_a = theme === null || theme === void 0 ? void 0 : theme.elements) === null || _a === void 0 ? void 0 : _a.Button) || Button_1.default; }, [theme]);
137
- const Select = react_1.default.useMemo(() => { var _a; return ((_a = theme === null || theme === void 0 ? void 0 : theme.elements) === null || _a === void 0 ? void 0 : _a.Select) || Select_1.default; }, [theme]);
138
- const CalendarWeek = react_1.default.useMemo(() => { var _a; return ((_a = theme === null || theme === void 0 ? void 0 : theme.elements) === null || _a === void 0 ? void 0 : _a.CalendarWeek) || CalendarWeek_1.default; }, [theme]);
139
- const { name, date: date_, dateDefault, times: timesProps, events, meta, views: viewsProps = [
140
- { name: l('Week'), value: 'week' },
141
- { name: l('Day'), value: 'day' },
142
- { name: l('Simple'), value: 'simple' }
143
- ], onUpdate, onRemove, onChangeDate: onChangeDateProps, startHeader, endHeader, startLeft, endLeft, startRight, endRight, startLeftModal, endLeftModal, startRightModal, endRightModal, Component = Line, IconEdit = IconMaterialEditW100_1.default, IconPrevious = IconMaterialArrowBackIosNewW100_1.default, IconNext = IconMaterialArrowForwardIosW100_1.default, IconRemove = IconMaterialDeleteW100_1.default, IconClose = IconMaterialKeyboardArrowDownW100_1.default, WeekProps, DayProps, IconProps, IconButtonProps, className, children } = props, other = __rest(props, ["name", "date", "dateDefault", "times", "events", "meta", "views", "onUpdate", "onRemove", "onChangeDate", "startHeader", "endHeader", "startLeft", "endLeft", "startRight", "endRight", "startLeftModal", "endLeftModal", "startRightModal", "endRightModal", "Component", "IconEdit", "IconPrevious", "IconNext", "IconRemove", "IconClose", "WeekProps", "DayProps", "IconProps", "IconButtonProps", "className", "children"]);
144
- const { classes } = useStyle();
145
- const [now, setNow] = react_1.default.useState(new date_1.OnesyDate());
146
- const [date, setDate] = react_1.default.useState(dateDefault || date_ || new date_1.OnesyDate());
147
- const [view, setView] = react_1.default.useState('week');
148
- const [displayTime, setDisplayTime] = react_1.default.useState(true);
149
- const [modal, setModal] = react_1.default.useState();
150
- const [statuses, setStatuses] = react_1.default.useState({});
151
- const refs = {
152
- date: react_1.default.useRef(date),
153
- displayTime: react_1.default.useRef(displayTime),
154
- interval: react_1.default.useRef(undefined),
155
- calendar: react_1.default.useRef(undefined),
156
- days: react_1.default.useRef({}),
157
- overlaping: react_1.default.useRef({}),
158
- statuses: react_1.default.useRef(statuses)
253
+ return ((0, _utils.is)('array', timesProps) ? timesProps : [timesProps]).filter(Boolean);
254
+ }, [events, timesProps]);
255
+ const onStatusToggle = _react.default.useCallback((value = 'working') => {
256
+ setStatuses(previous => _objectSpread(_objectSpread({}, previous), {}, {
257
+ [value]: previous[value] === undefined ? false : !previous[value]
258
+ }));
259
+ }, []);
260
+ const rangeShade = theme.palette.light ? 70 : 40;
261
+ _react.default.useEffect(() => {
262
+ // 1 minute
263
+ refs.interval.current = setInterval(() => {
264
+ setNow(new _date.OnesyDate());
265
+ }, 60 * 1e3);
266
+ return () => {
267
+ clearInterval(refs.interval.current);
159
268
  };
160
- refs.date.current = date;
161
- refs.displayTime.current = displayTime;
162
- refs.statuses.current = statuses;
163
- const times = react_1.default.useMemo(() => {
164
- if (events) {
165
- return [
166
- {
167
- dates: {
168
- active: true,
169
- values: ((0, utils_1.is)('array', events) ? events : [events]).filter(Boolean)
170
- }
171
- }
172
- ];
269
+ }, []);
270
+
271
+ // Date
272
+ _react.default.useEffect(() => {
273
+ if (date_ !== undefined && date_ !== date) setDate(date_);
274
+ }, [date_]);
275
+ const onOpen = _react.default.useCallback(item => {
276
+ setModal(_objectSpread(_objectSpread({}, item), {}, {
277
+ open: true
278
+ }));
279
+ }, []);
280
+ const onClose = _react.default.useCallback(() => {
281
+ setModal(item => _objectSpread(_objectSpread({}, item), {}, {
282
+ open: false
283
+ }));
284
+ }, []);
285
+ const onChangeDisplayTime = _react.default.useCallback(valueNew => {
286
+ setDisplayTime(valueNew);
287
+ }, []);
288
+ const onChangeView = _react.default.useCallback(valueNew => {
289
+ setView(valueNew);
290
+ }, []);
291
+ const optionsStatus = _react.default.useMemo(() => {
292
+ return [{
293
+ name: l('Working'),
294
+ value: 'working'
295
+ }, {
296
+ name: l('Not working'),
297
+ value: 'not-working'
298
+ }, {
299
+ name: l('On a break'),
300
+ value: 'break'
301
+ }, {
302
+ name: l('Scheduled'),
303
+ value: 'pending'
304
+ }, {
305
+ name: l('Rescheduled'),
306
+ value: 'rescheduled'
307
+ }, {
308
+ name: l('Cancelled'),
309
+ value: 'canceled'
310
+ }, {
311
+ name: l('Other'),
312
+ value: 'other'
313
+ }];
314
+ }, []);
315
+ const onToday = _react.default.useCallback(() => {
316
+ const valueNew = new _date.OnesyDate();
317
+ setDate(valueNew);
318
+ if ((0, _utils.is)('function', onChangeDateProps)) onChangeDateProps(valueNew);
319
+ }, [onChangeDateProps]);
320
+ const onPrevious = _react.default.useCallback(() => {
321
+ let valueNew = new _date.OnesyDate();
322
+ setDate(previous => {
323
+ valueNew = (0, _date.remove)(1, ['week', 'simple'].includes(view) ? 'week' : view, previous);
324
+ return valueNew;
325
+ });
326
+ if ((0, _utils.is)('function', onChangeDateProps)) onChangeDateProps(valueNew);
327
+ }, [view, onChangeDateProps]);
328
+ const onNext = _react.default.useCallback(() => {
329
+ let valueNew = new _date.OnesyDate();
330
+ setDate(previous => {
331
+ valueNew = (0, _date.add)(1, ['week', 'simple'].includes(view) ? 'week' : view, previous);
332
+ return valueNew;
333
+ });
334
+ if ((0, _utils.is)('function', onChangeDateProps)) onChangeDateProps(valueNew);
335
+ }, [view, onChangeDateProps]);
336
+ const getDates = _react.default.useCallback(available => {
337
+ var _available$dates;
338
+ const values = ((_available$dates = available.dates) === null || _available$dates === void 0 ? void 0 : _available$dates.values) || [];
339
+ return values.map(item => {
340
+ if (item.entire) {
341
+ if (item.from) {
342
+ let from = new _date.OnesyDate(item.from);
343
+ let to;
344
+ if (['day', 'week', 'month', 'year'].includes(item.entire)) from = (0, _date.startOf)(from, 'day');
345
+ if (item.entire === 'minute') from = (0, _date.startOf)(from, 'minute');
346
+ if (item.entire === 'hour') from = (0, _date.startOf)(from, 'hour');
347
+ to = (0, _date.endOf)(from, item.entire);
348
+ item.from = from.milliseconds;
349
+ item.to = to.milliseconds;
173
350
  }
174
- return ((0, utils_1.is)('array', timesProps) ? timesProps : [timesProps]).filter(Boolean);
175
- }, [events, timesProps]);
176
- const onStatusToggle = react_1.default.useCallback((value = 'working') => {
177
- setStatuses(previous => (Object.assign(Object.assign({}, previous), { [value]: previous[value] === undefined ? false : !previous[value] })));
178
- }, []);
179
- const rangeShade = theme.palette.light ? 70 : 40;
180
- react_1.default.useEffect(() => {
181
- // 1 minute
182
- refs.interval.current = setInterval(() => {
183
- setNow(new date_1.OnesyDate());
184
- }, 60 * 1e3);
185
- return () => {
186
- clearInterval(refs.interval.current);
187
- };
188
- }, []);
189
- // Date
190
- react_1.default.useEffect(() => {
191
- if (date_ !== undefined && date_ !== date)
192
- setDate(date_);
193
- }, [date_]);
194
- const onOpen = react_1.default.useCallback((item) => {
195
- setModal(Object.assign(Object.assign({}, item), { open: true }));
196
- }, []);
197
- const onClose = react_1.default.useCallback(() => {
198
- setModal((item) => (Object.assign(Object.assign({}, item), { open: false })));
199
- }, []);
200
- const onChangeDisplayTime = react_1.default.useCallback((valueNew) => {
201
- setDisplayTime(valueNew);
202
- }, []);
203
- const onChangeView = react_1.default.useCallback((valueNew) => {
204
- setView(valueNew);
205
- }, []);
206
- const optionsStatus = react_1.default.useMemo(() => {
207
- return [
208
- { name: l('Working'), value: 'working' },
209
- { name: l('Not working'), value: 'not-working' },
210
- { name: l('On a break'), value: 'break' },
211
- { name: l('Scheduled'), value: 'pending' },
212
- { name: l('Rescheduled'), value: 'rescheduled' },
213
- { name: l('Cancelled'), value: 'canceled' },
214
- { name: l('Other'), value: 'other' }
215
- ];
216
- }, []);
217
- const onToday = react_1.default.useCallback(() => {
218
- const valueNew = new date_1.OnesyDate();
219
- setDate(valueNew);
220
- if ((0, utils_1.is)('function', onChangeDateProps))
221
- onChangeDateProps(valueNew);
222
- }, [onChangeDateProps]);
223
- const onPrevious = react_1.default.useCallback(() => {
224
- let valueNew = new date_1.OnesyDate();
225
- setDate(previous => {
226
- valueNew = (0, date_1.remove)(1, ['week', 'simple'].includes(view) ? 'week' : view, previous);
227
- return valueNew;
228
- });
229
- if ((0, utils_1.is)('function', onChangeDateProps))
230
- onChangeDateProps(valueNew);
231
- }, [view, onChangeDateProps]);
232
- const onNext = react_1.default.useCallback(() => {
233
- let valueNew = new date_1.OnesyDate();
234
- setDate(previous => {
235
- valueNew = (0, date_1.add)(1, ['week', 'simple'].includes(view) ? 'week' : view, previous);
236
- return valueNew;
237
- });
238
- if ((0, utils_1.is)('function', onChangeDateProps))
239
- onChangeDateProps(valueNew);
240
- }, [view, onChangeDateProps]);
241
- const getDates = react_1.default.useCallback((available) => {
242
- var _a;
243
- const values = ((_a = available.dates) === null || _a === void 0 ? void 0 : _a.values) || [];
244
- return values.map((item) => {
245
- if (item.entire) {
246
- if (item.from) {
247
- let from = new date_1.OnesyDate(item.from);
248
- let to;
249
- if (['day', 'week', 'month', 'year'].includes(item.entire))
250
- from = (0, date_1.startOf)(from, 'day');
251
- if (item.entire === 'minute')
252
- from = (0, date_1.startOf)(from, 'minute');
253
- if (item.entire === 'hour')
254
- from = (0, date_1.startOf)(from, 'hour');
255
- to = (0, date_1.endOf)(from, item.entire);
256
- item.from = from.milliseconds;
257
- item.to = to.milliseconds;
258
- }
259
- }
260
- return item;
261
- });
262
- }, [times]);
263
- const getDatesWeek = react_1.default.useCallback((available) => {
264
- const weekFrom = (0, date_1.startOf)(date, 'week');
265
- const weekTo = (0, date_1.endOf)(date, 'week');
266
- return getDates(available).filter((item) => {
267
- const from = new date_1.OnesyDate(item.from);
268
- const to = new date_1.OnesyDate(item.to);
269
- return !(from.milliseconds >= weekTo.milliseconds || to.milliseconds <= weekFrom.milliseconds);
270
- });
271
- }, [date, getDates]);
272
- const getColor = react_1.default.useCallback((item) => {
273
- let palette = theme.palette.color.neutral;
274
- if ((item === null || item === void 0 ? void 0 : item.status) === 'working')
275
- palette = theme.palette.color.success;
276
- if ((item === null || item === void 0 ? void 0 : item.status) === 'not-working')
277
- palette = theme.palette.color.info;
278
- if ((item === null || item === void 0 ? void 0 : item.status) === 'break')
279
- palette = theme.palette.color.warning;
280
- if ((item === null || item === void 0 ? void 0 : item.status) === 'pending')
281
- palette = theme.methods.color(style_react_1.colors.yellow[50]);
282
- if ((item === null || item === void 0 ? void 0 : item.status) === 'rescheduled')
283
- palette = theme.methods.color(style_react_1.colors.purple[50]);
284
- if ((item === null || item === void 0 ? void 0 : item.status) === 'canceled')
285
- palette = theme.palette.color.error;
286
- if ((item === null || item === void 0 ? void 0 : item.status) === 'other')
287
- palette = theme.palette.color.neutral;
288
- return palette[rangeShade];
289
- }, [rangeShade, style_react_1.colors, theme]);
290
- const itemToText = react_1.default.useCallback((item) => {
291
- var _a, _b;
292
- if (item === 'pending')
293
- return l('Scheduled');
294
- if (item === 'not-count-workout-session')
295
- return l(`Don't count workout session`);
296
- return (_b = (_a = optionsStatus === null || optionsStatus === void 0 ? void 0 : optionsStatus.find(itemStatus => itemStatus.value === item)) === null || _a === void 0 ? void 0 : _a.name) !== null && _b !== void 0 ? _b : l(item);
297
- }, []);
298
- const viewOptions = react_1.default.useMemo(() => {
299
- return viewsProps === null || viewsProps === void 0 ? void 0 : viewsProps.map(item => ({
300
- name: (0, utils_1.capitalize)(item === null || item === void 0 ? void 0 : item.name),
301
- value: item === null || item === void 0 ? void 0 : item.value
351
+ }
352
+ return item;
353
+ });
354
+ }, [times]);
355
+ const getDatesWeek = _react.default.useCallback(available => {
356
+ const weekFrom = (0, _date.startOf)(date, 'week');
357
+ const weekTo = (0, _date.endOf)(date, 'week');
358
+ return getDates(available).filter(item => {
359
+ const from = new _date.OnesyDate(item.from);
360
+ const to = new _date.OnesyDate(item.to);
361
+ return !(from.milliseconds >= weekTo.milliseconds || to.milliseconds <= weekFrom.milliseconds);
362
+ });
363
+ }, [date, getDates]);
364
+ const getColor = _react.default.useCallback(item => {
365
+ let palette = theme.palette.color.neutral;
366
+ if ((item === null || item === void 0 ? void 0 : item.status) === 'working') palette = theme.palette.color.success;
367
+ if ((item === null || item === void 0 ? void 0 : item.status) === 'not-working') palette = theme.palette.color.info;
368
+ if ((item === null || item === void 0 ? void 0 : item.status) === 'break') palette = theme.palette.color.warning;
369
+ if ((item === null || item === void 0 ? void 0 : item.status) === 'pending') palette = theme.methods.color(_styleReact.colors.yellow[50]);
370
+ if ((item === null || item === void 0 ? void 0 : item.status) === 'rescheduled') palette = theme.methods.color(_styleReact.colors.purple[50]);
371
+ if ((item === null || item === void 0 ? void 0 : item.status) === 'canceled') palette = theme.palette.color.error;
372
+ if ((item === null || item === void 0 ? void 0 : item.status) === 'other') palette = theme.palette.color.neutral;
373
+ return palette[rangeShade];
374
+ }, [rangeShade, _styleReact.colors, theme]);
375
+ const itemToText = _react.default.useCallback(item => {
376
+ var _optionsStatus$find$n, _optionsStatus$find;
377
+ if (item === 'pending') return l('Scheduled');
378
+ if (item === 'not-count-workout-session') return l(`Don't count workout session`);
379
+ return (_optionsStatus$find$n = optionsStatus === null || optionsStatus === void 0 || (_optionsStatus$find = optionsStatus.find(itemStatus => itemStatus.value === item)) === null || _optionsStatus$find === void 0 ? void 0 : _optionsStatus$find.name) !== null && _optionsStatus$find$n !== void 0 ? _optionsStatus$find$n : l(item);
380
+ }, []);
381
+ const viewOptions = _react.default.useMemo(() => {
382
+ return viewsProps === null || viewsProps === void 0 ? void 0 : viewsProps.map(item => ({
383
+ name: (0, _utils.capitalize)(item === null || item === void 0 ? void 0 : item.name),
384
+ value: item === null || item === void 0 ? void 0 : item.value
385
+ }));
386
+ }, [viewsProps]);
387
+ const days = _react.default.useMemo(() => {
388
+ const weekStartDate = (0, _date.set)(4, 'hour', (0, _date.startOf)(date, 'week'));
389
+ return Array.from({
390
+ length: 7
391
+ }).map((_, index) => (0, _date.add)(index, 'day', weekStartDate));
392
+ }, [date]);
393
+ const simpleTimesUI = () => {
394
+ return /*#__PURE__*/_react.default.createElement(Line, {
395
+ gap: 3,
396
+ direction: {
397
+ default: 'row',
398
+ 1400: 'column'
399
+ },
400
+ className: classes.simpleTimes,
401
+ fullWidth: true
402
+ }, days.map((itemDay, index) => {
403
+ const values = times.filter(item => {
404
+ var _item$weekly$days;
405
+ return (_item$weekly$days = item.weekly.days[index + 1]) === null || _item$weekly$days === void 0 ? void 0 : _item$weekly$days.active;
406
+ }).flatMap(item => item.weekly.days[index + 1].values).filter(item => item && [undefined, true].includes(refs.statuses.current[item.status || 'working']));
407
+ values.sort((a, b) => b.from > a.from ? -1 : 1);
408
+ return /*#__PURE__*/_react.default.createElement(Line, {
409
+ key: index,
410
+ gap: 1.5,
411
+ direction: "column"
412
+ }, /*#__PURE__*/_react.default.createElement(Line, {
413
+ gap: 0,
414
+ align: "center",
415
+ fullWidth: true
416
+ }, /*#__PURE__*/_react.default.createElement(Type, {
417
+ version: "h3",
418
+ weight: 400
419
+ }, (0, _date.format)(itemDay, 'dd', {
420
+ l
421
+ })), /*#__PURE__*/_react.default.createElement(Line, {
422
+ align: "center",
423
+ justify: "center",
424
+ className: (0, _styleReact.classNames)([classes.weekDay, itemDay.year === now.year && itemDay.dayYear === now.dayYear && classes.today])
425
+ }, /*#__PURE__*/_react.default.createElement(Type, {
426
+ version: "b2",
427
+ weight: 200
428
+ }, (0, _date.format)(itemDay, 'DD.MM.', {
429
+ l
430
+ })))), /*#__PURE__*/_react.default.createElement(Line, {
431
+ gap: 2,
432
+ fullWidth: true
433
+ }, !!values.length ? values.map((itemValue, indexItem) => {
434
+ const itemValueFrom = new _date.OnesyDate(itemValue.from);
435
+ const itemValueTo = new _date.OnesyDate(itemValue.to);
436
+ return /*#__PURE__*/_react.default.createElement(Line, {
437
+ key: indexItem,
438
+ gap: 0.5,
439
+ className: classes.dayWeekSimple
440
+ }, /*#__PURE__*/_react.default.createElement(Line, {
441
+ gap: 1,
442
+ direction: "row",
443
+ align: "center"
444
+ }, /*#__PURE__*/_react.default.createElement(Line, {
445
+ className: classes.palettePreview,
446
+ style: {
447
+ background: getColor(itemValue)
448
+ }
449
+ }), /*#__PURE__*/_react.default.createElement(Type, {
450
+ version: "b2",
451
+ weight: 300
452
+ }, (0, _date.format)(itemValueFrom, 'hh:mm a', {
453
+ l
454
+ }), " \u2014 ", (0, _date.format)(itemValueTo, 'hh:mm a', {
455
+ l
456
+ }))), itemValue.description && /*#__PURE__*/_react.default.createElement(Type, {
457
+ version: "b2",
458
+ weight: 200,
459
+ whiteSpace: "pre-wrap",
460
+ className: (0, _styleReact.classNames)([classes.timeDescription, !refs.displayTime.current && 'onesy-work-day-time']),
461
+ dangerouslySetInnerHTML: {
462
+ __html: (0, _utils.textToInnerHTML)(itemValue.description)
463
+ }
302
464
  }));
303
- }, [viewsProps]);
304
- const days = react_1.default.useMemo(() => {
305
- const weekStartDate = (0, date_1.set)(4, 'hour', (0, date_1.startOf)(date, 'week'));
306
- return Array.from({ length: 7 }).map((_, index) => (0, date_1.add)(index, 'day', weekStartDate));
307
- }, [date]);
308
- const simpleTimesUI = () => {
309
- return ((0, jsx_runtime_1.jsx)(Line, Object.assign({ gap: 3, direction: {
310
- default: 'row',
311
- 1400: 'column'
312
- }, className: classes.simpleTimes, fullWidth: true }, { children: days.map((itemDay, index) => {
313
- const values = times.filter(item => { var _a; return (_a = item.weekly.days[index + 1]) === null || _a === void 0 ? void 0 : _a.active; }).flatMap(item => item.weekly.days[index + 1].values).filter(item => item && [undefined, true].includes(refs.statuses.current[item.status || 'working']));
314
- values.sort((a, b) => b.from > a.from ? -1 : 1);
315
- return ((0, jsx_runtime_1.jsxs)(Line, Object.assign({ gap: 1.5, direction: 'column' }, { children: [(0, jsx_runtime_1.jsxs)(Line, Object.assign({ gap: 0, align: 'center', fullWidth: true }, { children: [(0, jsx_runtime_1.jsx)(Type, Object.assign({ version: 'h3', weight: 400 }, { children: (0, date_1.format)(itemDay, 'dd', { l }) })), (0, jsx_runtime_1.jsx)(Line, Object.assign({ align: 'center', justify: 'center', className: (0, style_react_1.classNames)([
316
- classes.weekDay,
317
- itemDay.year === now.year && itemDay.dayYear === now.dayYear && classes.today
318
- ]) }, { children: (0, jsx_runtime_1.jsx)(Type, Object.assign({ version: 'b2', weight: 200 }, { children: (0, date_1.format)(itemDay, 'DD.MM.', { l }) })) }))] })), (0, jsx_runtime_1.jsx)(Line, Object.assign({ gap: 2, fullWidth: true }, { children: !!values.length ? values.map((itemValue, indexItem) => {
319
- const itemValueFrom = new date_1.OnesyDate(itemValue.from);
320
- const itemValueTo = new date_1.OnesyDate(itemValue.to);
321
- return ((0, jsx_runtime_1.jsxs)(Line, Object.assign({ gap: 0.5, className: classes.dayWeekSimple }, { children: [(0, jsx_runtime_1.jsxs)(Line, Object.assign({ gap: 1, direction: 'row', align: 'center' }, { children: [(0, jsx_runtime_1.jsx)(Line, { className: classes.palettePreview, style: {
322
- background: getColor(itemValue)
323
- } }), (0, jsx_runtime_1.jsxs)(Type, Object.assign({ version: 'b2', weight: 300 }, { children: [(0, date_1.format)(itemValueFrom, 'hh:mm a', { l }), " \u2014 ", (0, date_1.format)(itemValueTo, 'hh:mm a', { l })] }))] })), itemValue.description && ((0, jsx_runtime_1.jsx)(Type, { version: 'b2', weight: 200, whiteSpace: 'pre-wrap', className: (0, style_react_1.classNames)([
324
- classes.timeDescription,
325
- !refs.displayTime.current && 'onesy-work-day-time'
326
- ]), dangerouslySetInnerHTML: {
327
- __html: (0, utils_1.textToInnerHTML)(itemValue.description)
328
- } }))] }), indexItem));
329
- }) : ((0, jsx_runtime_1.jsx)(Type, Object.assign({ version: 'b2' }, { children: l('No information for this day') }))) }))] }), index));
330
- }) })));
331
- };
332
- const simpleExceptionsUI = () => {
333
- const items = times.flatMap(item => getDatesWeek(item));
334
- if (!items.length)
335
- return ((0, jsx_runtime_1.jsx)(Type, Object.assign({ version: 'b1' }, { children: l('No exceptions this week') })));
336
- return (0, jsx_runtime_1.jsx)(jsx_runtime_1.Fragment, { children: items.map((itemValue, index) => {
337
- const day = (0, date_1.set)(index + 1, 'dayWeek');
338
- const itemValueFrom = new date_1.OnesyDate(itemValue.from);
339
- const itemValueTo = new date_1.OnesyDate(itemValue.to);
340
- return ((0, jsx_runtime_1.jsxs)(Line, Object.assign({ gap: 1, direction: 'column' }, { children: [(0, jsx_runtime_1.jsxs)(Line, Object.assign({ gap: 1, direction: 'row', align: 'center', fullWidth: true }, { children: [(0, jsx_runtime_1.jsx)(Line, { className: classes.palettePreview, style: {
341
- background: getColor(itemValue)
342
- } }), (0, jsx_runtime_1.jsxs)(Line, Object.assign({ gap: 1, direction: 'row', align: 'center' }, { children: [(0, jsx_runtime_1.jsx)(Type, Object.assign({ version: 'b2', weight: 400 }, { children: (0, date_1.format)(day, 'dd', { l }) })), (0, jsx_runtime_1.jsxs)(Type, Object.assign({ version: 'b2' }, { children: [(0, date_1.format)(itemValueFrom, utils_2.formats.entire, { l }), " \u2014 ", (0, date_1.format)(itemValueTo, utils_2.formats.entire, { l })] }))] }))] })), itemValue.description && ((0, jsx_runtime_1.jsx)(Type, { version: 'b2', weight: 200, whiteSpace: 'pre-wrap', className: (0, style_react_1.classNames)([
343
- classes.timeDescription,
344
- !refs.displayTime.current && 'onesy-work-day-time'
345
- ]), dangerouslySetInnerHTML: {
346
- __html: (0, utils_1.textToInnerHTML)(itemValue.description)
347
- } }))] }), index));
348
- }) });
349
- };
350
- const formattedDate = react_1.default.useMemo(() => {
351
- if (view === 'day')
352
- return (0, date_1.format)(date, `MMMM DD, YYYY`, { l });
353
- if (['week', 'simple'].includes(view))
354
- return `${(0, date_1.format)((0, date_1.startOf)(date, 'week'), `MMM DD, YYYY`, { l })} – ${(0, date_1.format)((0, date_1.endOf)(date, 'week'), `MMM DD, YYYY`, { l })}`;
355
- }, [view, date]);
356
- const legend = react_1.default.useMemo(() => {
357
- return ((0, jsx_runtime_1.jsx)(Line, Object.assign({ rowGap: 1.5, direction: 'row', align: 'center', className: classes.legend }, { children: optionsStatus.map((item, index) => ((0, jsx_runtime_1.jsxs)(Line, Object.assign({ gap: 1, direction: 'row', align: 'center', onClick: () => onStatusToggle(item.value), flexNo: true, className: (0, style_react_1.classNames)([
358
- classes.itemLegend,
359
- [undefined, true].includes(refs.statuses.current[item.value || 'working']) && classes.itemLegendActive
360
- ]) }, { children: [(0, jsx_runtime_1.jsx)(Line, { className: classes.palettePreview, style: {
361
- background: getColor({ status: item.value })
362
- } }), (0, jsx_runtime_1.jsx)(Type, Object.assign({ version: 'b2' }, { children: item.name }))] }), index))) })));
363
- }, [theme, statuses, optionsStatus]);
364
- return ((0, jsx_runtime_1.jsxs)(Component, Object.assign({ ref: ref, flex: true, fullWidth: true, className: (0, style_react_1.classNames)([
365
- (0, utils_2.staticClassName)('CalendarAvailability', theme) && [
366
- 'onesy-CalendarAvailability-root'
367
- ],
368
- className,
369
- classes.root
370
- ]) }, other, { children: [(0, jsx_runtime_1.jsxs)(Line, Object.assign({ gap: 1, fullWidth: true, className: (0, style_react_1.classNames)([
371
- (0, utils_2.staticClassName)('CalendarAvailability', theme) && [
372
- 'onesy-CalendarAvailability-header'
373
- ]
374
- ]) }, { children: [startHeader, (0, jsx_runtime_1.jsxs)(Line, Object.assign({ gap: 2, direction: 'row', wrap: 'wrap', justify: 'space-between', align: 'center', fullWidth: true }, { children: [(0, jsx_runtime_1.jsxs)(Line, Object.assign({ gap: 1.5, direction: 'row', wrap: 'wrap', align: 'center', className: classes.aside }, { children: [startLeft, (0, jsx_runtime_1.jsx)(Button, Object.assign({ color: 'inherit', version: 'outlined', size: 'small', onClick: onToday, selected: now.days === date.days }, { children: l('Today') })), (0, jsx_runtime_1.jsxs)(Line, Object.assign({ gap: 0, direction: 'row', align: 'center' }, { children: [(0, jsx_runtime_1.jsx)(Tooltip, Object.assign({ name: `${l('Previous')} ${l(view)}` }, { children: (0, jsx_runtime_1.jsx)(IconButton, Object.assign({ onClick: onPrevious }, IconButtonProps, { children: (0, jsx_runtime_1.jsx)(IconPrevious, { size: 'regular' }) })) })), (0, jsx_runtime_1.jsx)(Tooltip, Object.assign({ name: `${l('Next')} ${l(view)}` }, { children: (0, jsx_runtime_1.jsx)(IconButton, Object.assign({ onClick: onNext }, IconButtonProps, { children: (0, jsx_runtime_1.jsx)(IconNext, { size: 'regular' }) })) }))] })), (0, jsx_runtime_1.jsx)(Type, Object.assign({ version: 'h2', weight: 500, whiteSpace: 'nowrap' }, { children: formattedDate })), endLeft] })), (0, jsx_runtime_1.jsxs)(Line, Object.assign({ gap: 1.5, direction: 'row', align: 'center', flexNo: true, className: (0, style_react_1.classNames)([
375
- classes.aside,
376
- classes.overflowX
377
- ]) }, { children: [startRight, ['week', 'day'].includes(view) && ((0, jsx_runtime_1.jsxs)(Label, Object.assign({ checked: displayTime, onChange: onChangeDisplayTime }, { children: [(0, jsx_runtime_1.jsx)(Switch, {}), l('Display time')] }))), (0, jsx_runtime_1.jsx)(Select, { name: l('View'), value: view, onChange: onChangeView, options: viewOptions, size: 'small', MenuProps: {
378
- portal: true,
379
- size: 'regular'
380
- } }), endRight] }))] })), endHeader] })), (0, jsx_runtime_1.jsxs)(Line, Object.assign({ ref: refs.calendar, gap: 2, flex: true, fullWidth: true }, { children: [view === 'simple' && ((0, jsx_runtime_1.jsx)(Line, Object.assign({ gap: 1, flex: true, fullWidth: true }, { children: (0, jsx_runtime_1.jsxs)(Line, Object.assign({ gap: 4, fullWidth: true, className: (0, style_react_1.classNames)([
381
- (0, utils_2.staticClassName)('CalendarAvailability', theme) && [
382
- 'onesy-CalendarAvailability-simple'
383
- ],
384
- classes.calendar
385
- ]) }, { children: [simpleTimesUI(), (0, jsx_runtime_1.jsxs)(Line, Object.assign({ gap: 1.5 }, { children: [(0, jsx_runtime_1.jsx)(Type, Object.assign({ version: 't2' }, { children: l('Exceptions this week') })), (0, jsx_runtime_1.jsx)(Line, Object.assign({ gap: 1 }, { children: simpleExceptionsUI() }))] }))] })) }))), ['week', 'day'].includes(view) && ((0, jsx_runtime_1.jsx)(CalendarWeek, Object.assign({ onOpen: onOpen, date: date, displayTime: displayTime, statuses: statuses, times: times, events: events, day: view === 'day' }, WeekProps))), legend] })), times && ((0, jsx_runtime_1.jsxs)(Modal, Object.assign({ open: !!(modal === null || modal === void 0 ? void 0 : modal.open), onClose: onClose, minWidth: 'lg', TransitionComponent: Slide, size: 'small' }, { children: [(0, jsx_runtime_1.jsxs)(ModalHeader, Object.assign({ gap: 1, direction: 'row', align: 'center', justify: 'space-between', fullWidth: true }, { children: [(0, jsx_runtime_1.jsxs)(Line, Object.assign({ gap: 1, direction: 'row', align: 'center' }, { children: [startLeftModal, (0, jsx_runtime_1.jsx)(Line, { className: classes.palettePreview, style: {
386
- background: getColor(modal)
387
- } }), (0, jsx_runtime_1.jsx)(Type, Object.assign({ version: 'b2', weight: 100 }, { children: (0, utils_1.cleanValue)(itemToText(modal === null || modal === void 0 ? void 0 : modal.status), { capitalize: true }) })), endLeftModal] })), (0, jsx_runtime_1.jsxs)(Line, Object.assign({ gap: 1, direction: 'row', align: 'center' }, { children: [startRightModal, onUpdate && ((0, jsx_runtime_1.jsx)(Tooltip, Object.assign({ name: l('Update') }, { children: (0, jsx_runtime_1.jsx)(IconButton, Object.assign({ onClick: () => {
388
- onUpdate(modal === null || modal === void 0 ? void 0 : modal.object);
389
- onClose();
390
- } }, { children: (0, jsx_runtime_1.jsx)(IconEdit, Object.assign({}, IconProps)) })) }))), onRemove && ((0, jsx_runtime_1.jsx)(Tooltip, Object.assign({ name: l('Remove') }, { children: (0, jsx_runtime_1.jsx)(IconButton, Object.assign({ onClick: () => {
391
- onRemove(modal === null || modal === void 0 ? void 0 : modal.object);
392
- onClose();
393
- } }, { children: (0, jsx_runtime_1.jsx)(IconRemove, Object.assign({}, IconProps)) })) }))), (0, jsx_runtime_1.jsx)(Tooltip, Object.assign({ name: l('Close') }, { children: (0, jsx_runtime_1.jsx)(IconButton, Object.assign({ onClick: onClose }, { children: (0, jsx_runtime_1.jsx)(IconClose, Object.assign({}, IconProps)) })) })), endRightModal] }))] })), (0, jsx_runtime_1.jsx)(ModalMain, Object.assign({ align: 'flex-start', className: classes.modalMain }, { children: (0, jsx_runtime_1.jsxs)(Line, Object.assign({ gap: 1.5, fullWidth: true }, { children: [(0, jsx_runtime_1.jsxs)(Type, Object.assign({ version: 'l1', weight: 200 }, { children: [(0, date_1.format)(modal === null || modal === void 0 ? void 0 : modal.day, 'dd', { l }), " ", (0, date_1.format)(new date_1.OnesyDate(modal === null || modal === void 0 ? void 0 : modal.from), (modal === null || modal === void 0 ? void 0 : modal.weekly) ? `hh:mm a` : utils_2.formats.entire, { l }), " \u2014 ", (0, date_1.format)(new date_1.OnesyDate(modal === null || modal === void 0 ? void 0 : modal.to), (modal === null || modal === void 0 ? void 0 : modal.weekly) ? `hh:mm a` : utils_2.formats.entire, { l })] })), (modal === null || modal === void 0 ? void 0 : modal.description) && ((0, jsx_runtime_1.jsx)(Type, { version: 'b2', dangerouslySetInnerHTML: {
394
- __html: (0, utils_1.textToInnerHTML)(modal.description)
395
- } }))] })) }))] })))] })));
465
+ }) : /*#__PURE__*/_react.default.createElement(Type, {
466
+ version: "b2"
467
+ }, l('No information for this day'))));
468
+ }));
469
+ };
470
+ const simpleExceptionsUI = () => {
471
+ const items = times.flatMap(item => getDatesWeek(item));
472
+ if (!items.length) return /*#__PURE__*/_react.default.createElement(Type, {
473
+ version: "b1"
474
+ }, l('No exceptions this week'));
475
+ return /*#__PURE__*/_react.default.createElement(_react.default.Fragment, null, items.map((itemValue, index) => {
476
+ const day = (0, _date.set)(index + 1, 'dayWeek');
477
+ const itemValueFrom = new _date.OnesyDate(itemValue.from);
478
+ const itemValueTo = new _date.OnesyDate(itemValue.to);
479
+ return /*#__PURE__*/_react.default.createElement(Line, {
480
+ key: index,
481
+ gap: 1,
482
+ direction: "column"
483
+ }, /*#__PURE__*/_react.default.createElement(Line, {
484
+ gap: 1,
485
+ direction: "row",
486
+ align: "center",
487
+ fullWidth: true
488
+ }, /*#__PURE__*/_react.default.createElement(Line, {
489
+ className: classes.palettePreview,
490
+ style: {
491
+ background: getColor(itemValue)
492
+ }
493
+ }), /*#__PURE__*/_react.default.createElement(Line, {
494
+ gap: 1,
495
+ direction: "row",
496
+ align: "center"
497
+ }, /*#__PURE__*/_react.default.createElement(Type, {
498
+ version: "b2",
499
+ weight: 400
500
+ }, (0, _date.format)(day, 'dd', {
501
+ l
502
+ })), /*#__PURE__*/_react.default.createElement(Type, {
503
+ version: "b2"
504
+ }, (0, _date.format)(itemValueFrom, _utils2.formats.entire, {
505
+ l
506
+ }), " \u2014 ", (0, _date.format)(itemValueTo, _utils2.formats.entire, {
507
+ l
508
+ })))), itemValue.description && /*#__PURE__*/_react.default.createElement(Type, {
509
+ version: "b2",
510
+ weight: 200,
511
+ whiteSpace: "pre-wrap",
512
+ className: (0, _styleReact.classNames)([classes.timeDescription, !refs.displayTime.current && 'onesy-work-day-time']),
513
+ dangerouslySetInnerHTML: {
514
+ __html: (0, _utils.textToInnerHTML)(itemValue.description)
515
+ }
516
+ }));
517
+ }));
518
+ };
519
+ const formattedDate = _react.default.useMemo(() => {
520
+ if (view === 'day') return (0, _date.format)(date, `MMMM DD, YYYY`, {
521
+ l
522
+ });
523
+ if (['week', 'simple'].includes(view)) return `${(0, _date.format)((0, _date.startOf)(date, 'week'), `MMM DD, YYYY`, {
524
+ l
525
+ })} – ${(0, _date.format)((0, _date.endOf)(date, 'week'), `MMM DD, YYYY`, {
526
+ l
527
+ })}`;
528
+ }, [view, date]);
529
+ const legend = _react.default.useMemo(() => {
530
+ return /*#__PURE__*/_react.default.createElement(Line, {
531
+ rowGap: 1.5,
532
+ direction: "row",
533
+ align: "center",
534
+ className: classes.legend
535
+ }, optionsStatus.map((item, index) => /*#__PURE__*/_react.default.createElement(Line, {
536
+ key: index,
537
+ gap: 1,
538
+ direction: "row",
539
+ align: "center",
540
+ onClick: () => onStatusToggle(item.value),
541
+ flexNo: true,
542
+ className: (0, _styleReact.classNames)([classes.itemLegend, [undefined, true].includes(refs.statuses.current[item.value || 'working']) && classes.itemLegendActive])
543
+ }, /*#__PURE__*/_react.default.createElement(Line, {
544
+ className: classes.palettePreview,
545
+ style: {
546
+ background: getColor({
547
+ status: item.value
548
+ })
549
+ }
550
+ }), /*#__PURE__*/_react.default.createElement(Type, {
551
+ version: "b2"
552
+ }, item.name))));
553
+ }, [theme, statuses, optionsStatus]);
554
+ return /*#__PURE__*/_react.default.createElement(Component, (0, _extends2.default)({
555
+ ref: ref,
556
+ flex: true,
557
+ fullWidth: true,
558
+ className: (0, _styleReact.classNames)([(0, _utils2.staticClassName)('CalendarAvailability', theme) && ['onesy-CalendarAvailability-root'], className, classes.root])
559
+ }, other), /*#__PURE__*/_react.default.createElement(Line, {
560
+ gap: 1,
561
+ fullWidth: true,
562
+ className: (0, _styleReact.classNames)([(0, _utils2.staticClassName)('CalendarAvailability', theme) && ['onesy-CalendarAvailability-header']])
563
+ }, startHeader, /*#__PURE__*/_react.default.createElement(Line, {
564
+ gap: 2,
565
+ direction: "row",
566
+ wrap: "wrap",
567
+ justify: "space-between",
568
+ align: "center",
569
+ fullWidth: true
570
+ }, /*#__PURE__*/_react.default.createElement(Line, {
571
+ gap: 1.5,
572
+ direction: "row",
573
+ wrap: "wrap",
574
+ align: "center",
575
+ className: classes.aside
576
+ }, startLeft, /*#__PURE__*/_react.default.createElement(Button, {
577
+ color: "inherit",
578
+ version: "outlined",
579
+ size: "small",
580
+ onClick: onToday,
581
+ selected: now.days === date.days
582
+ }, l('Today')), /*#__PURE__*/_react.default.createElement(Line, {
583
+ gap: 0,
584
+ direction: "row",
585
+ align: "center"
586
+ }, /*#__PURE__*/_react.default.createElement(Tooltip, {
587
+ name: `${l('Previous')} ${l(view)}`
588
+ }, /*#__PURE__*/_react.default.createElement(IconButton, (0, _extends2.default)({
589
+ onClick: onPrevious
590
+ }, IconButtonProps), /*#__PURE__*/_react.default.createElement(IconPrevious, {
591
+ size: "regular"
592
+ }))), /*#__PURE__*/_react.default.createElement(Tooltip, {
593
+ name: `${l('Next')} ${l(view)}`
594
+ }, /*#__PURE__*/_react.default.createElement(IconButton, (0, _extends2.default)({
595
+ onClick: onNext
596
+ }, IconButtonProps), /*#__PURE__*/_react.default.createElement(IconNext, {
597
+ size: "regular"
598
+ })))), /*#__PURE__*/_react.default.createElement(Type, {
599
+ version: "h2",
600
+ weight: 500,
601
+ whiteSpace: "nowrap"
602
+ }, formattedDate), endLeft), /*#__PURE__*/_react.default.createElement(Line, {
603
+ gap: 1.5,
604
+ direction: "row",
605
+ align: "center",
606
+ flexNo: true,
607
+ className: (0, _styleReact.classNames)([classes.aside, classes.overflowX])
608
+ }, startRight, ['week', 'day'].includes(view) && /*#__PURE__*/_react.default.createElement(Label, {
609
+ checked: displayTime,
610
+ onChange: onChangeDisplayTime
611
+ }, /*#__PURE__*/_react.default.createElement(Switch, null), l('Display time')), /*#__PURE__*/_react.default.createElement(Select, {
612
+ name: l('View'),
613
+ value: view,
614
+ onChange: onChangeView,
615
+ options: viewOptions,
616
+ size: "small",
617
+ MenuProps: {
618
+ portal: true,
619
+ size: 'regular'
620
+ }
621
+ }), endRight)), endHeader), /*#__PURE__*/_react.default.createElement(Line, {
622
+ ref: refs.calendar,
623
+ gap: 2,
624
+ flex: true,
625
+ fullWidth: true
626
+ }, view === 'simple' && /*#__PURE__*/_react.default.createElement(Line, {
627
+ gap: 1,
628
+ flex: true,
629
+ fullWidth: true
630
+ }, /*#__PURE__*/_react.default.createElement(Line, {
631
+ gap: 4,
632
+ fullWidth: true,
633
+ className: (0, _styleReact.classNames)([(0, _utils2.staticClassName)('CalendarAvailability', theme) && ['onesy-CalendarAvailability-simple'], classes.calendar])
634
+ }, simpleTimesUI(), /*#__PURE__*/_react.default.createElement(Line, {
635
+ gap: 1.5
636
+ }, /*#__PURE__*/_react.default.createElement(Type, {
637
+ version: "t2"
638
+ }, l('Exceptions this week')), /*#__PURE__*/_react.default.createElement(Line, {
639
+ gap: 1
640
+ }, simpleExceptionsUI())))), ['week', 'day'].includes(view) && /*#__PURE__*/_react.default.createElement(CalendarWeek, (0, _extends2.default)({
641
+ onOpen: onOpen,
642
+ date: date,
643
+ displayTime: displayTime,
644
+ statuses: statuses,
645
+ times: times,
646
+ events: events,
647
+ day: view === 'day'
648
+ }, WeekProps)), legend), times && /*#__PURE__*/_react.default.createElement(Modal, {
649
+ open: !!(modal !== null && modal !== void 0 && modal.open),
650
+ onClose: onClose,
651
+ minWidth: "lg",
652
+ TransitionComponent: Slide,
653
+ size: "small"
654
+ }, /*#__PURE__*/_react.default.createElement(ModalHeader, {
655
+ gap: 1,
656
+ direction: "row",
657
+ align: "center",
658
+ justify: "space-between",
659
+ fullWidth: true
660
+ }, /*#__PURE__*/_react.default.createElement(Line, {
661
+ gap: 1,
662
+ direction: "row",
663
+ align: "center"
664
+ }, startLeftModal, /*#__PURE__*/_react.default.createElement(Line, {
665
+ className: classes.palettePreview,
666
+ style: {
667
+ background: getColor(modal)
668
+ }
669
+ }), /*#__PURE__*/_react.default.createElement(Type, {
670
+ version: "b2",
671
+ weight: 100
672
+ }, (0, _utils.cleanValue)(itemToText(modal === null || modal === void 0 ? void 0 : modal.status), {
673
+ capitalize: true
674
+ })), endLeftModal), /*#__PURE__*/_react.default.createElement(Line, {
675
+ gap: 1,
676
+ direction: "row",
677
+ align: "center"
678
+ }, startRightModal, onUpdate && /*#__PURE__*/_react.default.createElement(Tooltip, {
679
+ name: l('Update')
680
+ }, /*#__PURE__*/_react.default.createElement(IconButton, {
681
+ onClick: () => {
682
+ onUpdate(modal === null || modal === void 0 ? void 0 : modal.object);
683
+ onClose();
684
+ }
685
+ }, /*#__PURE__*/_react.default.createElement(IconEdit, IconProps))), onRemove && /*#__PURE__*/_react.default.createElement(Tooltip, {
686
+ name: l('Remove')
687
+ }, /*#__PURE__*/_react.default.createElement(IconButton, {
688
+ onClick: () => {
689
+ onRemove(modal === null || modal === void 0 ? void 0 : modal.object);
690
+ onClose();
691
+ }
692
+ }, /*#__PURE__*/_react.default.createElement(IconRemove, IconProps))), /*#__PURE__*/_react.default.createElement(Tooltip, {
693
+ name: l('Close')
694
+ }, /*#__PURE__*/_react.default.createElement(IconButton, {
695
+ onClick: onClose
696
+ }, /*#__PURE__*/_react.default.createElement(IconClose, IconProps))), endRightModal)), /*#__PURE__*/_react.default.createElement(ModalMain, {
697
+ align: "flex-start",
698
+ className: classes.modalMain
699
+ }, /*#__PURE__*/_react.default.createElement(Line, {
700
+ gap: 1.5,
701
+ fullWidth: true
702
+ }, /*#__PURE__*/_react.default.createElement(Type, {
703
+ version: "l1",
704
+ weight: 200
705
+ }, (0, _date.format)(modal === null || modal === void 0 ? void 0 : modal.day, 'dd', {
706
+ l
707
+ }), " ", (0, _date.format)(new _date.OnesyDate(modal === null || modal === void 0 ? void 0 : modal.from), modal !== null && modal !== void 0 && modal.weekly ? `hh:mm a` : _utils2.formats.entire, {
708
+ l
709
+ }), " \u2014 ", (0, _date.format)(new _date.OnesyDate(modal === null || modal === void 0 ? void 0 : modal.to), modal !== null && modal !== void 0 && modal.weekly ? `hh:mm a` : _utils2.formats.entire, {
710
+ l
711
+ })), (modal === null || modal === void 0 ? void 0 : modal.description) && /*#__PURE__*/_react.default.createElement(Type, {
712
+ version: "b2",
713
+ dangerouslySetInnerHTML: {
714
+ __html: (0, _utils.textToInnerHTML)(modal.description)
715
+ }
716
+ })))));
396
717
  });
397
718
  CalendarAvailability.displayName = 'onesy-CalendarAvailability';
398
- exports.default = CalendarAvailability;
719
+ var _default = exports.default = CalendarAvailability;