@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,266 +1,414 @@
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 date_1 = require("@onesy/date");
21
- const style_react_1 = require("@onesy/style-react");
22
- const IconMaterialAvTimerW100_1 = __importDefault(require("@onesy/icons-material-rounded-react/IconMaterialAvTimerW100"));
23
- const IconMaterialPlayArrowW100_1 = __importDefault(require("@onesy/icons-material-rounded-react/IconMaterialPlayArrowW100"));
24
- const IconMaterialPauseW100_1 = __importDefault(require("@onesy/icons-material-rounded-react/IconMaterialPauseW100"));
25
- const IconMaterialStopW100_1 = __importDefault(require("@onesy/icons-material-rounded-react/IconMaterialStopW100"));
26
- const Fade_1 = __importDefault(require("../Fade"));
27
- const Type_1 = __importDefault(require("../Type"));
28
- const Tooltip_1 = __importDefault(require("../Tooltip"));
29
- const Surface_1 = __importDefault(require("../Surface"));
30
- const NumericTextField_1 = __importDefault(require("../NumericTextField"));
31
- const RoundProgress_1 = __importDefault(require("../RoundProgress"));
32
- const LinearProgress_1 = __importDefault(require("../LinearProgress"));
33
- const Line_1 = __importDefault(require("../Line"));
34
- const IconButton_1 = __importDefault(require("../IconButton"));
35
- const utils_2 = require("../utils");
36
- const useStyle = (0, style_react_1.style)(theme => ({
37
- root: {
38
- minWidth: '314px',
39
- padding: `${theme.methods.space.value(3, 'px')} ${theme.methods.space.value(5, 'px')}`,
40
- borderRadius: theme.methods.shape.radius.value('rg', 'px')
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 _date = require("@onesy/date");
14
+ var _styleReact = require("@onesy/style-react");
15
+ var _IconMaterialAvTimerW = _interopRequireDefault(require("@onesy/icons-material-rounded-react/IconMaterialAvTimerW100"));
16
+ var _IconMaterialPlayArrowW = _interopRequireDefault(require("@onesy/icons-material-rounded-react/IconMaterialPlayArrowW100"));
17
+ var _IconMaterialPauseW = _interopRequireDefault(require("@onesy/icons-material-rounded-react/IconMaterialPauseW100"));
18
+ var _IconMaterialStopW = _interopRequireDefault(require("@onesy/icons-material-rounded-react/IconMaterialStopW100"));
19
+ var _Fade = _interopRequireDefault(require("../Fade"));
20
+ var _Type = _interopRequireDefault(require("../Type"));
21
+ var _Tooltip = _interopRequireDefault(require("../Tooltip"));
22
+ var _Surface = _interopRequireDefault(require("../Surface"));
23
+ var _NumericTextField = _interopRequireDefault(require("../NumericTextField"));
24
+ var _RoundProgress = _interopRequireDefault(require("../RoundProgress"));
25
+ var _LinearProgress = _interopRequireDefault(require("../LinearProgress"));
26
+ var _Line = _interopRequireDefault(require("../Line"));
27
+ var _IconButton = _interopRequireDefault(require("../IconButton"));
28
+ var _utils2 = require("../utils");
29
+ const _excluded = ["tonal", "color", "version", "renderValue", "icon", "onStart", "onPause", "onStop", "onResume", "Icon", "IconStart", "IconPause", "IconStop", "TreeProps", "TooltipProps", "RoundProgressProps", "NumericTextFieldProps", "IconButtonProps", "LinearProgressProps", "IconProps", "Component", "className"];
30
+ 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; }
31
+ 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; }
32
+ const useStyle = (0, _styleReact.style)(theme => ({
33
+ root: {
34
+ minWidth: '314px',
35
+ padding: `${theme.methods.space.value(3, 'px')} ${theme.methods.space.value(5, 'px')}`,
36
+ borderRadius: theme.methods.shape.radius.value('rg', 'px')
37
+ },
38
+ roundWrapper: {
39
+ position: 'relative',
40
+ width: '240px',
41
+ height: '240px'
42
+ },
43
+ linearProgress: {
44
+ borderRadius: theme.methods.shape.radius.value(40, 'px'),
45
+ '&.onesy-LinearProgress-root': {
46
+ height: '6px'
47
+ },
48
+ '& .onesy-LinearProgress-line, & .onesy-LinearProgress-buffer': {
49
+ borderRadius: theme.methods.shape.radius.value(40, 'px')
50
+ }
51
+ },
52
+ roundProgress: {
53
+ '&.onesy-RoundedProgress-root': {
54
+ position: 'absolute',
55
+ inset: '0'
41
56
  },
42
- roundWrapper: {
43
- position: 'relative',
44
- width: '240px',
45
- height: '240px'
57
+ '& .onesy-RoundedProgress-svg': {
58
+ width: '100%',
59
+ height: '100%',
60
+ margin: '0'
46
61
  },
47
- linearProgress: {
48
- borderRadius: theme.methods.shape.radius.value(40, 'px'),
49
- '&.onesy-LinearProgress-root': {
50
- height: '6px'
51
- },
52
- '& .onesy-LinearProgress-line, & .onesy-LinearProgress-buffer': {
53
- borderRadius: theme.methods.shape.radius.value(40, 'px')
54
- }
62
+ '& .onesy-RoundedProgress-path-background': {
63
+ stroke: 'currentColor',
64
+ opacity: '0.24'
55
65
  },
56
- roundProgress: {
57
- '&.onesy-RoundedProgress-root': {
58
- position: 'absolute',
59
- inset: '0'
60
- },
61
- '& .onesy-RoundedProgress-svg': {
62
- width: '100%',
63
- height: '100%',
64
- margin: '0'
65
- },
66
- '& .onesy-RoundedProgress-path-background': {
67
- stroke: 'currentColor',
68
- opacity: '0.24'
69
- },
70
- '& .onesy-RoundedProgress-path, & .onesy-RoundedProgress-path-background': {
71
- strokeLinecap: 'round'
72
- }
66
+ '& .onesy-RoundedProgress-path, & .onesy-RoundedProgress-path-background': {
67
+ strokeLinecap: 'round'
68
+ }
69
+ },
70
+ meta: {
71
+ maxWidth: '114px',
72
+ textAlign: 'center'
73
+ },
74
+ numericTextField: {
75
+ width: '70px',
76
+ '& .onesy-TextField-input-wrapper': {
77
+ paddingInline: '0px',
78
+ paddingBlock: theme.methods.space.value(1, 'px'),
79
+ height: 'auto'
73
80
  },
74
- meta: {
75
- maxWidth: '114px',
76
- textAlign: 'center'
81
+ '&.onesy-TextField-value .onesy-TextField-label, &.onesy-TextField-focus .onesy-TextField-label': {
82
+ insetInlineStart: '60%',
83
+ transform: `translate(${theme.direction === 'ltr' ? '-' : ''}50%, -16px) scale(0.667)`
77
84
  },
78
- numericTextField: {
79
- width: '70px',
80
- '& .onesy-TextField-input-wrapper': {
81
- paddingInline: '0px',
82
- paddingBlock: theme.methods.space.value(1, 'px'),
83
- height: 'auto'
84
- },
85
- '&.onesy-TextField-value .onesy-TextField-label, &.onesy-TextField-focus .onesy-TextField-label': {
86
- insetInlineStart: '60%',
87
- transform: `translate(${theme.direction === 'ltr' ? '-' : ''}50%, -16px) scale(0.667)`
88
- },
89
- '& .onesy-TextField-input': Object.assign(Object.assign({}, theme.typography.values.h2), { textAlign: 'center' }),
90
- '& .onesy-TextField-border': {
91
- boxShadow: 'none'
92
- }
85
+ '& .onesy-TextField-input': _objectSpread(_objectSpread({}, theme.typography.values.h2), {}, {
86
+ textAlign: 'center'
87
+ }),
88
+ '& .onesy-TextField-border': {
89
+ boxShadow: 'none'
93
90
  }
94
- }), { name: 'onesy-Countdown' });
95
- const Countdown = react_1.default.forwardRef((props_, ref) => {
96
- const theme = (0, style_react_1.useOnesyTheme)();
97
- const l = theme.l;
98
- 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.onesyCountdown) === null || _g === void 0 ? void 0 : _g.props) === null || _h === void 0 ? void 0 : _h.default), props_)); }, [props_]);
99
- 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]);
100
- const Fade = react_1.default.useMemo(() => { var _a; return ((_a = theme === null || theme === void 0 ? void 0 : theme.elements) === null || _a === void 0 ? void 0 : _a.Fade) || Fade_1.default; }, [theme]);
101
- 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]);
102
- 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]);
103
- 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]);
104
- const NumericTextField = react_1.default.useMemo(() => { var _a; return ((_a = theme === null || theme === void 0 ? void 0 : theme.elements) === null || _a === void 0 ? void 0 : _a.NumericTextField) || NumericTextField_1.default; }, [theme]);
105
- const RoundProgress = react_1.default.useMemo(() => { var _a; return ((_a = theme === null || theme === void 0 ? void 0 : theme.elements) === null || _a === void 0 ? void 0 : _a.RoundProgress) || RoundProgress_1.default; }, [theme]);
106
- const LinearProgress = react_1.default.useMemo(() => { var _a; return ((_a = theme === null || theme === void 0 ? void 0 : theme.elements) === null || _a === void 0 ? void 0 : _a.LinearProgress) || LinearProgress_1.default; }, [theme]);
107
- 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]);
108
- const { tonal = true, color = 'primary', version = 'linear', renderValue, icon = true, onStart: onStart_, onPause: onPause_, onStop: onStop_, onResume: onResume_, Icon: Icon_ = IconMaterialAvTimerW100_1.default, IconStart = IconMaterialPlayArrowW100_1.default, IconPause = IconMaterialPauseW100_1.default, IconStop = IconMaterialStopW100_1.default, TreeProps: TreeProps_, TooltipProps: TooltipProps_, RoundProgressProps: RoundProgressProps_, NumericTextFieldProps: NumericTextFieldProps_, IconButtonProps: IconButtonProps_, LinearProgressProps: LinearProgressProps_, IconProps: IconProps_, Component = 'div', className } = props, other = __rest(props, ["tonal", "color", "version", "renderValue", "icon", "onStart", "onPause", "onStop", "onResume", "Icon", "IconStart", "IconPause", "IconStop", "TreeProps", "TooltipProps", "RoundProgressProps", "NumericTextFieldProps", "IconButtonProps", "LinearProgressProps", "IconProps", "Component", "className"]);
109
- const { classes } = useStyle();
110
- const [status, setStatus] = react_1.default.useState('initial');
111
- const [value, setValue] = react_1.default.useState(0);
112
- const [values, setValues] = react_1.default.useState({
113
- hours: 0,
114
- minutes: 0,
115
- seconds: 0
116
- });
117
- const refs = {
118
- start: react_1.default.useRef(0),
119
- valuePaused: react_1.default.useRef(0),
120
- value: react_1.default.useRef(undefined),
121
- total: react_1.default.useRef(undefined),
122
- values: react_1.default.useRef(undefined),
123
- animationFrame: react_1.default.useRef(undefined)
124
- };
125
- refs.value.current = value;
126
- refs.values.current = values;
127
- const updateValues = (property, valueItem) => {
128
- setValues(values_ => (Object.assign(Object.assign({}, values_), { [property]: valueItem })));
129
- };
130
- const clear = () => {
131
- cancelAnimationFrame(refs.animationFrame.current);
132
- };
133
- react_1.default.useEffect(() => {
134
- return () => {
135
- // Clean up
136
- clear();
137
- };
138
- }, []);
139
- const update = () => {
140
- if (refs.value.current <= 0) {
141
- // Wait for linear, round progress
142
- // transitions to end
143
- setTimeout(() => {
144
- setStatus('initial');
145
- }, 1400);
146
- return clear();
147
- }
148
- setValue(refs.valuePaused.current - (date_1.OnesyDate.milliseconds - refs.start.current));
149
- refs.animationFrame.current = requestAnimationFrame(update);
91
+ }
92
+ }), {
93
+ name: 'onesy-Countdown'
94
+ });
95
+ const Countdown = /*#__PURE__*/_react.default.forwardRef((props_, ref) => {
96
+ const theme = (0, _styleReact.useOnesyTheme)();
97
+ const l = theme.l;
98
+ const props = _react.default.useMemo(() => {
99
+ var _theme$ui, _theme$ui2;
100
+ 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.onesyCountdown) === null || _theme$ui2 === void 0 || (_theme$ui2 = _theme$ui2.props) === null || _theme$ui2 === void 0 ? void 0 : _theme$ui2.default), props_);
101
+ }, [props_]);
102
+ const Line = _react.default.useMemo(() => {
103
+ var _theme$elements;
104
+ return (theme === null || theme === void 0 || (_theme$elements = theme.elements) === null || _theme$elements === void 0 ? void 0 : _theme$elements.Line) || _Line.default;
105
+ }, [theme]);
106
+ const Fade = _react.default.useMemo(() => {
107
+ var _theme$elements2;
108
+ return (theme === null || theme === void 0 || (_theme$elements2 = theme.elements) === null || _theme$elements2 === void 0 ? void 0 : _theme$elements2.Fade) || _Fade.default;
109
+ }, [theme]);
110
+ const Type = _react.default.useMemo(() => {
111
+ var _theme$elements3;
112
+ return (theme === null || theme === void 0 || (_theme$elements3 = theme.elements) === null || _theme$elements3 === void 0 ? void 0 : _theme$elements3.Type) || _Type.default;
113
+ }, [theme]);
114
+ const Tooltip = _react.default.useMemo(() => {
115
+ var _theme$elements4;
116
+ return (theme === null || theme === void 0 || (_theme$elements4 = theme.elements) === null || _theme$elements4 === void 0 ? void 0 : _theme$elements4.Tooltip) || _Tooltip.default;
117
+ }, [theme]);
118
+ const Surface = _react.default.useMemo(() => {
119
+ var _theme$elements5;
120
+ return (theme === null || theme === void 0 || (_theme$elements5 = theme.elements) === null || _theme$elements5 === void 0 ? void 0 : _theme$elements5.Surface) || _Surface.default;
121
+ }, [theme]);
122
+ const NumericTextField = _react.default.useMemo(() => {
123
+ var _theme$elements6;
124
+ return (theme === null || theme === void 0 || (_theme$elements6 = theme.elements) === null || _theme$elements6 === void 0 ? void 0 : _theme$elements6.NumericTextField) || _NumericTextField.default;
125
+ }, [theme]);
126
+ const RoundProgress = _react.default.useMemo(() => {
127
+ var _theme$elements7;
128
+ return (theme === null || theme === void 0 || (_theme$elements7 = theme.elements) === null || _theme$elements7 === void 0 ? void 0 : _theme$elements7.RoundProgress) || _RoundProgress.default;
129
+ }, [theme]);
130
+ const LinearProgress = _react.default.useMemo(() => {
131
+ var _theme$elements8;
132
+ return (theme === null || theme === void 0 || (_theme$elements8 = theme.elements) === null || _theme$elements8 === void 0 ? void 0 : _theme$elements8.LinearProgress) || _LinearProgress.default;
133
+ }, [theme]);
134
+ const IconButton = _react.default.useMemo(() => {
135
+ var _theme$elements9;
136
+ return (theme === null || theme === void 0 || (_theme$elements9 = theme.elements) === null || _theme$elements9 === void 0 ? void 0 : _theme$elements9.IconButton) || _IconButton.default;
137
+ }, [theme]);
138
+ const {
139
+ tonal = true,
140
+ color = 'primary',
141
+ version = 'linear',
142
+ renderValue,
143
+ icon = true,
144
+ onStart: onStart_,
145
+ onPause: onPause_,
146
+ onStop: onStop_,
147
+ onResume: onResume_,
148
+ Icon: Icon_ = _IconMaterialAvTimerW.default,
149
+ IconStart = _IconMaterialPlayArrowW.default,
150
+ IconPause = _IconMaterialPauseW.default,
151
+ IconStop = _IconMaterialStopW.default,
152
+ TreeProps: TreeProps_,
153
+ TooltipProps: TooltipProps_,
154
+ RoundProgressProps: RoundProgressProps_,
155
+ NumericTextFieldProps: NumericTextFieldProps_,
156
+ IconButtonProps: IconButtonProps_,
157
+ LinearProgressProps: LinearProgressProps_,
158
+ IconProps: IconProps_,
159
+ Component = 'div',
160
+ className
161
+ } = props,
162
+ other = (0, _objectWithoutProperties2.default)(props, _excluded);
163
+ const {
164
+ classes
165
+ } = useStyle();
166
+ const [status, setStatus] = _react.default.useState('initial');
167
+ const [value, setValue] = _react.default.useState(0);
168
+ const [values, setValues] = _react.default.useState({
169
+ hours: 0,
170
+ minutes: 0,
171
+ seconds: 0
172
+ });
173
+ const refs = {
174
+ start: _react.default.useRef(0),
175
+ valuePaused: _react.default.useRef(0),
176
+ value: _react.default.useRef(undefined),
177
+ total: _react.default.useRef(undefined),
178
+ values: _react.default.useRef(undefined),
179
+ animationFrame: _react.default.useRef(undefined)
180
+ };
181
+ refs.value.current = value;
182
+ refs.values.current = values;
183
+ const updateValues = (property, valueItem) => {
184
+ setValues(values_ => _objectSpread(_objectSpread({}, values_), {}, {
185
+ [property]: valueItem
186
+ }));
187
+ };
188
+ const clear = () => {
189
+ cancelAnimationFrame(refs.animationFrame.current);
190
+ };
191
+ _react.default.useEffect(() => {
192
+ return () => {
193
+ // Clean up
194
+ clear();
150
195
  };
151
- const onStart = react_1.default.useCallback((event) => {
152
- refs.total.current = refs.valuePaused.current = (((refs.values.current.hours || 0) * (60 ** 2) * 1e3) +
153
- ((refs.values.current.minutes || 0) * (60 ** 1) * 1e3) +
154
- ((refs.values.current.seconds || 0) * 1e3));
155
- setValue(refs.valuePaused.current);
156
- setStatus('running');
157
- setTimeout(() => {
158
- refs.start.current = date_1.OnesyDate.milliseconds;
159
- refs.animationFrame.current = requestAnimationFrame(update);
160
- }, 14);
161
- if ((0, utils_1.is)('function', onStart_))
162
- onStart_(event);
163
- }, []);
164
- const onPause = react_1.default.useCallback((event) => {
165
- clear();
166
- // Remember previous value
167
- refs.valuePaused.current = refs.value.current;
168
- setStatus('paused');
169
- if ((0, utils_1.is)('function', onPause_))
170
- onPause_(event);
171
- }, []);
172
- const onStop = react_1.default.useCallback((event) => {
173
- clear();
174
- refs.start.current = 0;
175
- refs.valuePaused.current = 0;
176
- refs.value.current = 0;
196
+ }, []);
197
+ const update = () => {
198
+ if (refs.value.current <= 0) {
199
+ // Wait for linear, round progress
200
+ // transitions to end
201
+ setTimeout(() => {
177
202
  setStatus('initial');
178
- setValue(0);
179
- if ((0, utils_1.is)('function', onStop_))
180
- onStop_(event);
181
- }, []);
182
- const onResume = react_1.default.useCallback((event) => {
183
- // Update start, valuePaused value
184
- refs.start.current = date_1.OnesyDate.milliseconds;
185
- // ~60+ fps
186
- refs.animationFrame.current = requestAnimationFrame(update);
187
- setStatus('running');
188
- if ((0, utils_1.is)('function', onResume_))
189
- onResume_(event);
190
- }, []);
191
- const IconProps = Object.assign({}, IconProps_);
192
- const TooltipProps = Object.assign({ portal: true, interactive: false }, TooltipProps_);
193
- const NumericTextFieldProps = Object.assign({ tonal, color: 'inherit', size: 'small', version: 'text', increment: false, decrement: false }, NumericTextFieldProps_);
194
- const RoundProgressProps = Object.assign({ tonal,
195
- color, rounded: true, thickness: 1 }, RoundProgressProps_);
196
- const LinearProgressProps = Object.assign({ tonal,
197
- color }, LinearProgressProps_);
198
- const IconButtonProps = Object.assign({ tonal, color: 'inherit', version: 'text' }, IconButtonProps_);
199
- const valueFormat = (valueNew_) => {
200
- let valueNew = '';
201
- const valueDuration = (0, date_1.duration)(valueNew_, undefined, true, undefined, ['hour', 'minute', 'second']);
202
- valueNew += `${(0, utils_1.getLeadingZerosNumber)(valueDuration.hour || 0)}:`;
203
- valueNew += `${(0, utils_1.getLeadingZerosNumber)(valueDuration.minute || 0)}:`;
204
- valueNew += `${(0, utils_1.getLeadingZerosNumber)(valueDuration.second || 0)}`;
205
- return valueNew;
206
- };
207
- const value_ = status === 'initial' ? '00:00:00' : valueFormat(value);
208
- return ((0, jsx_runtime_1.jsxs)(Surface, Object.assign({ ref: ref, tonal: tonal, color: color, gap: 1, direction: 'column', align: 'center', Component: Line, AdditionalProps: {
209
- Component
210
- }, className: (0, style_react_1.classNames)([
211
- (0, utils_2.staticClassName)('Countdown', theme) && [
212
- 'onesy-Countdown-root'
213
- ],
214
- className,
215
- classes.root
216
- ]) }, other, { children: [icon && ((0, jsx_runtime_1.jsx)(Icon_, Object.assign({ size: 'medium' }, IconProps, { style: Object.assign({ marginBottom: 4 }, IconProps === null || IconProps === void 0 ? void 0 : IconProps.style) }))), status === 'initial' && ((0, jsx_runtime_1.jsx)(Fade, Object.assign({ in: true, add: true }, { children: (0, jsx_runtime_1.jsxs)(Line, Object.assign({ gap: 1, direction: 'row', align: 'flex-end', style: {
217
- marginTop: 12,
218
- marginBottom: -8
219
- } }, { children: [(0, jsx_runtime_1.jsx)(NumericTextField, Object.assign({ name: l('Hours'), min: 0, max: 23, value: values.hours, onChange: valueNew => updateValues('hours', !valueNew ? 0 : valueNew) }, NumericTextFieldProps, { className: (0, style_react_1.classNames)([
220
- (0, utils_2.staticClassName)('Countdown', theme) && [
221
- 'onesy-Countdown-numeric-text-field'
222
- ],
223
- NumericTextFieldProps === null || NumericTextFieldProps === void 0 ? void 0 : NumericTextFieldProps.className,
224
- classes.numericTextField
225
- ]) })), (0, jsx_runtime_1.jsx)(NumericTextField, Object.assign({ name: l('Minutes'), min: 0, max: 59, value: values.minutes, onChange: valueNew => updateValues('minutes', !valueNew ? 0 : valueNew) }, NumericTextFieldProps, { className: (0, style_react_1.classNames)([
226
- (0, utils_2.staticClassName)('Countdown', theme) && [
227
- 'onesy-Countdown-numeric-text-field'
228
- ],
229
- NumericTextFieldProps === null || NumericTextFieldProps === void 0 ? void 0 : NumericTextFieldProps.className,
230
- classes.numericTextField
231
- ]) })), (0, jsx_runtime_1.jsx)(NumericTextField, Object.assign({ name: l('Seconds'), min: 0, max: 59, value: values.seconds, onChange: valueNew => updateValues('seconds', !valueNew ? 0 : valueNew) }, NumericTextFieldProps, { className: (0, style_react_1.classNames)([
232
- (0, utils_2.staticClassName)('Countdown', theme) && [
233
- 'onesy-Countdown-numeric-text-field'
234
- ],
235
- NumericTextFieldProps === null || NumericTextFieldProps === void 0 ? void 0 : NumericTextFieldProps.className,
236
- classes.numericTextField
237
- ]) }))] })) }))), status !== 'initial' && ['regular', 'linear'].includes(version) && ((0, jsx_runtime_1.jsx)(Fade, Object.assign({ in: true, add: true }, { children: (0, jsx_runtime_1.jsxs)(Line, Object.assign({ gap: 1, direction: 'column', align: 'center', justify: 'center', style: {
238
- width: '100%'
239
- } }, { children: [(0, utils_1.is)('function', renderValue) ? renderValue(value_) : ((0, jsx_runtime_1.jsx)(Type, Object.assign({ version: 'h1' }, { children: value_ }))), version === 'linear' && ((0, jsx_runtime_1.jsx)(LinearProgress, Object.assign({ version: 'determinate', value: (0, utils_1.clamp)(Math.round(((value / 1000) / (refs.total.current / 1000)) * 100), 0, 100), reverse: true, style: {
240
- margin: '4px 0 8px'
241
- } }, LinearProgressProps, { className: (0, style_react_1.classNames)([
242
- (0, utils_2.staticClassName)('Countdown', theme) && [
243
- 'onesy-Countdown-linear-progress'
244
- ],
245
- LinearProgressProps === null || LinearProgressProps === void 0 ? void 0 : LinearProgressProps.className,
246
- classes.linearProgress
247
- ]) })))] })) }))), status !== 'initial' && ['round'].includes(version) && ((0, jsx_runtime_1.jsx)(Fade, Object.assign({ in: true, add: true }, { children: (0, jsx_runtime_1.jsxs)(Line, Object.assign({ gap: 0.5, direction: 'column', align: 'center', justify: 'center', className: (0, style_react_1.classNames)([
248
- (0, utils_2.staticClassName)('Countdown', theme) && [
249
- 'onesy-Countdown-round-wrapper'
250
- ],
251
- classes.roundWrapper
252
- ]) }, { children: [(0, jsx_runtime_1.jsx)(RoundProgress, Object.assign({ version: 'determinate', value: (0, utils_1.clamp)(Math.round(((value / 1000) / (refs.total.current / 1000)) * 100), 0, 100) }, RoundProgressProps, { className: (0, style_react_1.classNames)([
253
- (0, utils_2.staticClassName)('Countdown', theme) && [
254
- 'onesy-Countdown-round-progress'
255
- ],
256
- RoundProgressProps === null || RoundProgressProps === void 0 ? void 0 : RoundProgressProps.className,
257
- classes.roundProgress
258
- ]) })), (0, utils_1.is)('function', renderValue) ? renderValue(value_) : ((0, jsx_runtime_1.jsx)(Type, Object.assign({ version: 'h1' }, { children: value_ }))), (0, jsx_runtime_1.jsxs)(Type, Object.assign({ version: 'b3', className: (0, style_react_1.classNames)([
259
- (0, utils_2.staticClassName)('Countdown', theme) && [
260
- 'onesy-Countdown-meta'
261
- ],
262
- classes.meta
263
- ]) }, { children: [l('Total'), " ", (0, date_1.duration)(refs.total.current, false)] }))] })) }))), (0, jsx_runtime_1.jsxs)(Line, Object.assign({ gap: 1, direction: 'row', align: 'center', justify: 'center' }, { children: [status === 'initial' && ((0, jsx_runtime_1.jsx)(Fade, Object.assign({ in: true, add: true }, { children: (0, jsx_runtime_1.jsx)("span", { children: (0, jsx_runtime_1.jsx)(Tooltip, Object.assign({ name: l('Start') }, TooltipProps, { children: (0, jsx_runtime_1.jsx)(IconButton, Object.assign({ onClick: onStart, disabled: !((values.hours || 0) + (values.minutes || 0) + (values.seconds || 0)) }, IconButtonProps, { children: (0, jsx_runtime_1.jsx)(IconStart, {}) })) })) }) }))), status === 'running' && ((0, jsx_runtime_1.jsx)(Fade, Object.assign({ in: true, add: true }, { children: (0, jsx_runtime_1.jsxs)("span", { children: [(0, jsx_runtime_1.jsx)(Tooltip, Object.assign({ name: l('Stop') }, TooltipProps, { children: (0, jsx_runtime_1.jsx)(IconButton, Object.assign({ onClick: onStop }, IconButtonProps, { children: (0, jsx_runtime_1.jsx)(IconStop, {}) })) })), (0, jsx_runtime_1.jsx)(Tooltip, Object.assign({ name: l('Pause') }, TooltipProps, { children: (0, jsx_runtime_1.jsx)(IconButton, Object.assign({ onClick: onPause }, IconButtonProps, { children: (0, jsx_runtime_1.jsx)(IconPause, {}) })) }))] }) }))), status === 'paused' && ((0, jsx_runtime_1.jsx)(Fade, Object.assign({ in: true, add: true }, { children: (0, jsx_runtime_1.jsxs)("span", { children: [(0, jsx_runtime_1.jsx)(Tooltip, Object.assign({ name: l('Stop') }, TooltipProps, { children: (0, jsx_runtime_1.jsx)(IconButton, Object.assign({ onClick: onStop }, IconButtonProps, { children: (0, jsx_runtime_1.jsx)(IconStop, {}) })) })), (0, jsx_runtime_1.jsx)(Tooltip, Object.assign({ name: l('Resume') }, TooltipProps, { children: (0, jsx_runtime_1.jsx)(IconButton, Object.assign({ onClick: onResume }, IconButtonProps, { children: (0, jsx_runtime_1.jsx)(IconStart, {}) })) }))] }) })))] }))] })));
203
+ }, 1400);
204
+ return clear();
205
+ }
206
+ setValue(refs.valuePaused.current - (_date.OnesyDate.milliseconds - refs.start.current));
207
+ refs.animationFrame.current = requestAnimationFrame(update);
208
+ };
209
+ const onStart = _react.default.useCallback(event => {
210
+ refs.total.current = refs.valuePaused.current = (refs.values.current.hours || 0) * 60 ** 2 * 1e3 + (refs.values.current.minutes || 0) * 60 ** 1 * 1e3 + (refs.values.current.seconds || 0) * 1e3;
211
+ setValue(refs.valuePaused.current);
212
+ setStatus('running');
213
+ setTimeout(() => {
214
+ refs.start.current = _date.OnesyDate.milliseconds;
215
+ refs.animationFrame.current = requestAnimationFrame(update);
216
+ }, 14);
217
+ if ((0, _utils.is)('function', onStart_)) onStart_(event);
218
+ }, []);
219
+ const onPause = _react.default.useCallback(event => {
220
+ clear();
221
+
222
+ // Remember previous value
223
+ refs.valuePaused.current = refs.value.current;
224
+ setStatus('paused');
225
+ if ((0, _utils.is)('function', onPause_)) onPause_(event);
226
+ }, []);
227
+ const onStop = _react.default.useCallback(event => {
228
+ clear();
229
+ refs.start.current = 0;
230
+ refs.valuePaused.current = 0;
231
+ refs.value.current = 0;
232
+ setStatus('initial');
233
+ setValue(0);
234
+ if ((0, _utils.is)('function', onStop_)) onStop_(event);
235
+ }, []);
236
+ const onResume = _react.default.useCallback(event => {
237
+ // Update start, valuePaused value
238
+ refs.start.current = _date.OnesyDate.milliseconds;
239
+
240
+ // ~60+ fps
241
+ refs.animationFrame.current = requestAnimationFrame(update);
242
+ setStatus('running');
243
+ if ((0, _utils.is)('function', onResume_)) onResume_(event);
244
+ }, []);
245
+ const IconProps = _objectSpread({}, IconProps_);
246
+ const TooltipProps = _objectSpread({
247
+ portal: true,
248
+ interactive: false
249
+ }, TooltipProps_);
250
+ const NumericTextFieldProps = _objectSpread({
251
+ tonal,
252
+ color: 'inherit',
253
+ size: 'small',
254
+ version: 'text',
255
+ increment: false,
256
+ decrement: false
257
+ }, NumericTextFieldProps_);
258
+ const RoundProgressProps = _objectSpread({
259
+ tonal,
260
+ color,
261
+ rounded: true,
262
+ thickness: 1
263
+ }, RoundProgressProps_);
264
+ const LinearProgressProps = _objectSpread({
265
+ tonal,
266
+ color
267
+ }, LinearProgressProps_);
268
+ const IconButtonProps = _objectSpread({
269
+ tonal,
270
+ color: 'inherit',
271
+ version: 'text'
272
+ }, IconButtonProps_);
273
+ const valueFormat = valueNew_ => {
274
+ let valueNew = '';
275
+ const valueDuration = (0, _date.duration)(valueNew_, undefined, true, undefined, ['hour', 'minute', 'second']);
276
+ valueNew += `${(0, _utils.getLeadingZerosNumber)(valueDuration.hour || 0)}:`;
277
+ valueNew += `${(0, _utils.getLeadingZerosNumber)(valueDuration.minute || 0)}:`;
278
+ valueNew += `${(0, _utils.getLeadingZerosNumber)(valueDuration.second || 0)}`;
279
+ return valueNew;
280
+ };
281
+ const value_ = status === 'initial' ? '00:00:00' : valueFormat(value);
282
+ return /*#__PURE__*/_react.default.createElement(Surface, (0, _extends2.default)({
283
+ ref: ref,
284
+ tonal: tonal,
285
+ color: color,
286
+ gap: 1,
287
+ direction: "column",
288
+ align: "center",
289
+ Component: Line,
290
+ AdditionalProps: {
291
+ Component
292
+ },
293
+ className: (0, _styleReact.classNames)([(0, _utils2.staticClassName)('Countdown', theme) && ['onesy-Countdown-root'], className, classes.root])
294
+ }, other), icon && /*#__PURE__*/_react.default.createElement(Icon_, (0, _extends2.default)({
295
+ size: "medium"
296
+ }, IconProps, {
297
+ style: _objectSpread({
298
+ marginBottom: 4
299
+ }, IconProps === null || IconProps === void 0 ? void 0 : IconProps.style)
300
+ })), status === 'initial' && /*#__PURE__*/_react.default.createElement(Fade, {
301
+ in: true,
302
+ add: true
303
+ }, /*#__PURE__*/_react.default.createElement(Line, {
304
+ gap: 1,
305
+ direction: "row",
306
+ align: "flex-end",
307
+ style: {
308
+ marginTop: 12,
309
+ marginBottom: -8
310
+ }
311
+ }, /*#__PURE__*/_react.default.createElement(NumericTextField, (0, _extends2.default)({
312
+ name: l('Hours'),
313
+ min: 0,
314
+ max: 23,
315
+ value: values.hours,
316
+ onChange: valueNew => updateValues('hours', !valueNew ? 0 : valueNew)
317
+ }, NumericTextFieldProps, {
318
+ className: (0, _styleReact.classNames)([(0, _utils2.staticClassName)('Countdown', theme) && ['onesy-Countdown-numeric-text-field'], NumericTextFieldProps === null || NumericTextFieldProps === void 0 ? void 0 : NumericTextFieldProps.className, classes.numericTextField])
319
+ })), /*#__PURE__*/_react.default.createElement(NumericTextField, (0, _extends2.default)({
320
+ name: l('Minutes'),
321
+ min: 0,
322
+ max: 59,
323
+ value: values.minutes,
324
+ onChange: valueNew => updateValues('minutes', !valueNew ? 0 : valueNew)
325
+ }, NumericTextFieldProps, {
326
+ className: (0, _styleReact.classNames)([(0, _utils2.staticClassName)('Countdown', theme) && ['onesy-Countdown-numeric-text-field'], NumericTextFieldProps === null || NumericTextFieldProps === void 0 ? void 0 : NumericTextFieldProps.className, classes.numericTextField])
327
+ })), /*#__PURE__*/_react.default.createElement(NumericTextField, (0, _extends2.default)({
328
+ name: l('Seconds'),
329
+ min: 0,
330
+ max: 59,
331
+ value: values.seconds,
332
+ onChange: valueNew => updateValues('seconds', !valueNew ? 0 : valueNew)
333
+ }, NumericTextFieldProps, {
334
+ className: (0, _styleReact.classNames)([(0, _utils2.staticClassName)('Countdown', theme) && ['onesy-Countdown-numeric-text-field'], NumericTextFieldProps === null || NumericTextFieldProps === void 0 ? void 0 : NumericTextFieldProps.className, classes.numericTextField])
335
+ })))), status !== 'initial' && ['regular', 'linear'].includes(version) && /*#__PURE__*/_react.default.createElement(Fade, {
336
+ in: true,
337
+ add: true
338
+ }, /*#__PURE__*/_react.default.createElement(Line, {
339
+ gap: 1,
340
+ direction: "column",
341
+ align: "center",
342
+ justify: "center",
343
+ style: {
344
+ width: '100%'
345
+ }
346
+ }, (0, _utils.is)('function', renderValue) ? renderValue(value_) : /*#__PURE__*/_react.default.createElement(Type, {
347
+ version: "h1"
348
+ }, value_), version === 'linear' && /*#__PURE__*/_react.default.createElement(LinearProgress, (0, _extends2.default)({
349
+ version: "determinate",
350
+ value: (0, _utils.clamp)(Math.round(value / 1000 / (refs.total.current / 1000) * 100), 0, 100),
351
+ reverse: true,
352
+ style: {
353
+ margin: '4px 0 8px'
354
+ }
355
+ }, LinearProgressProps, {
356
+ className: (0, _styleReact.classNames)([(0, _utils2.staticClassName)('Countdown', theme) && ['onesy-Countdown-linear-progress'], LinearProgressProps === null || LinearProgressProps === void 0 ? void 0 : LinearProgressProps.className, classes.linearProgress])
357
+ })))), status !== 'initial' && ['round'].includes(version) && /*#__PURE__*/_react.default.createElement(Fade, {
358
+ in: true,
359
+ add: true
360
+ }, /*#__PURE__*/_react.default.createElement(Line, {
361
+ gap: 0.5,
362
+ direction: "column",
363
+ align: "center",
364
+ justify: "center",
365
+ className: (0, _styleReact.classNames)([(0, _utils2.staticClassName)('Countdown', theme) && ['onesy-Countdown-round-wrapper'], classes.roundWrapper])
366
+ }, /*#__PURE__*/_react.default.createElement(RoundProgress, (0, _extends2.default)({
367
+ version: "determinate",
368
+ value: (0, _utils.clamp)(Math.round(value / 1000 / (refs.total.current / 1000) * 100), 0, 100)
369
+ }, RoundProgressProps, {
370
+ className: (0, _styleReact.classNames)([(0, _utils2.staticClassName)('Countdown', theme) && ['onesy-Countdown-round-progress'], RoundProgressProps === null || RoundProgressProps === void 0 ? void 0 : RoundProgressProps.className, classes.roundProgress])
371
+ })), (0, _utils.is)('function', renderValue) ? renderValue(value_) : /*#__PURE__*/_react.default.createElement(Type, {
372
+ version: "h1"
373
+ }, value_), /*#__PURE__*/_react.default.createElement(Type, {
374
+ version: "b3",
375
+ className: (0, _styleReact.classNames)([(0, _utils2.staticClassName)('Countdown', theme) && ['onesy-Countdown-meta'], classes.meta])
376
+ }, l('Total'), " ", (0, _date.duration)(refs.total.current, false)))), /*#__PURE__*/_react.default.createElement(Line, {
377
+ gap: 1,
378
+ direction: "row",
379
+ align: "center",
380
+ justify: "center"
381
+ }, status === 'initial' && /*#__PURE__*/_react.default.createElement(Fade, {
382
+ in: true,
383
+ add: true
384
+ }, /*#__PURE__*/_react.default.createElement("span", null, /*#__PURE__*/_react.default.createElement(Tooltip, (0, _extends2.default)({
385
+ name: l('Start')
386
+ }, TooltipProps), /*#__PURE__*/_react.default.createElement(IconButton, (0, _extends2.default)({
387
+ onClick: onStart,
388
+ disabled: !((values.hours || 0) + (values.minutes || 0) + (values.seconds || 0))
389
+ }, IconButtonProps), /*#__PURE__*/_react.default.createElement(IconStart, null))))), status === 'running' && /*#__PURE__*/_react.default.createElement(Fade, {
390
+ in: true,
391
+ add: true
392
+ }, /*#__PURE__*/_react.default.createElement("span", null, /*#__PURE__*/_react.default.createElement(Tooltip, (0, _extends2.default)({
393
+ name: l('Stop')
394
+ }, TooltipProps), /*#__PURE__*/_react.default.createElement(IconButton, (0, _extends2.default)({
395
+ onClick: onStop
396
+ }, IconButtonProps), /*#__PURE__*/_react.default.createElement(IconStop, null))), /*#__PURE__*/_react.default.createElement(Tooltip, (0, _extends2.default)({
397
+ name: l('Pause')
398
+ }, TooltipProps), /*#__PURE__*/_react.default.createElement(IconButton, (0, _extends2.default)({
399
+ onClick: onPause
400
+ }, IconButtonProps), /*#__PURE__*/_react.default.createElement(IconPause, null))))), status === 'paused' && /*#__PURE__*/_react.default.createElement(Fade, {
401
+ in: true,
402
+ add: true
403
+ }, /*#__PURE__*/_react.default.createElement("span", null, /*#__PURE__*/_react.default.createElement(Tooltip, (0, _extends2.default)({
404
+ name: l('Stop')
405
+ }, TooltipProps), /*#__PURE__*/_react.default.createElement(IconButton, (0, _extends2.default)({
406
+ onClick: onStop
407
+ }, IconButtonProps), /*#__PURE__*/_react.default.createElement(IconStop, null))), /*#__PURE__*/_react.default.createElement(Tooltip, (0, _extends2.default)({
408
+ name: l('Resume')
409
+ }, TooltipProps), /*#__PURE__*/_react.default.createElement(IconButton, (0, _extends2.default)({
410
+ onClick: onResume
411
+ }, IconButtonProps), /*#__PURE__*/_react.default.createElement(IconStart, null)))))));
264
412
  });
265
413
  Countdown.displayName = 'onesy-Countdown';
266
- exports.default = Countdown;
414
+ var _default = exports.default = Countdown;