@onesy/ui-react 1.0.164 → 1.0.167

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 (665) hide show
  1. package/Accordion/Accordion.d.ts +2 -2
  2. package/Accordion/Accordion.js +18 -41
  3. package/AdvancedTextField/AdvancedTextField.d.ts +1 -1
  4. package/AdvancedTextField/AdvancedTextField.js +17 -22
  5. package/Append/Append.d.ts +3 -3
  6. package/Append/Append.js +98 -110
  7. package/AreaChart/AreaChart.d.ts +1 -1
  8. package/AreaChart/AreaChart.js +27 -18
  9. package/AreaChartItem/AreaChartItem.d.ts +1 -1
  10. package/AreaChartItem/AreaChartItem.js +38 -49
  11. package/AudioPlayer/AudioPlayer.d.ts +1 -1
  12. package/AudioPlayer/AudioPlayer.js +89 -116
  13. package/AudioRecorder/AudioRecorder.d.ts +1 -1
  14. package/AudioRecorder/AudioRecorder.js +24 -42
  15. package/AutoComplete/AutoComplete.d.ts +3 -3
  16. package/AutoComplete/AutoComplete.js +119 -151
  17. package/AutoCompleteCountry/AutoCompleteCountry.d.ts +1 -1
  18. package/AutoCompleteCountry/AutoCompleteCountry.js +11 -22
  19. package/AutoCompleteCurrency/AutoCompleteCurrency.d.ts +1 -1
  20. package/AutoCompleteCurrency/AutoCompleteCurrency.js +4 -9
  21. package/Avatar/Avatar.d.ts +1 -1
  22. package/Avatar/Avatar.js +58 -31
  23. package/AvatarGroup/AvatarGroup.d.ts +1 -1
  24. package/AvatarGroup/AvatarGroup.js +40 -23
  25. package/Backdrop/Backdrop.d.ts +1 -1
  26. package/Backdrop/Backdrop.js +7 -18
  27. package/Badge/Badge.d.ts +1 -1
  28. package/Badge/Badge.js +53 -26
  29. package/Banner/Banner.d.ts +1 -1
  30. package/Banner/Banner.js +86 -39
  31. package/BottomAppBar/BottomAppBar.d.ts +1 -1
  32. package/BottomAppBar/BottomAppBar.js +61 -31
  33. package/BottomSheet/BottomSheet.d.ts +1 -1
  34. package/BottomSheet/BottomSheet.js +23 -13
  35. package/Box/Box.d.ts +1 -1
  36. package/Box/Box.js +25 -11
  37. package/Breadcrumbs/Breadcrumbs.d.ts +1 -1
  38. package/Breadcrumbs/Breadcrumbs.js +27 -38
  39. package/BubbleChart/BubbleChart.d.ts +1 -1
  40. package/BubbleChart/BubbleChart.js +126 -120
  41. package/BubbleChartItem/BubbleChartItem.d.ts +1 -1
  42. package/BubbleChartItem/BubbleChartItem.js +12 -23
  43. package/Button/Button.d.ts +1 -1
  44. package/Button/Button.js +27 -42
  45. package/Buttons/Buttons.d.ts +1 -1
  46. package/Buttons/Buttons.js +208 -97
  47. package/Calendar/Calendar.d.ts +3 -3
  48. package/Calendar/Calendar.js +95 -133
  49. package/CalendarAvailability/CalendarAvailability.d.ts +2 -2
  50. package/CalendarAvailability/CalendarAvailability.js +107 -148
  51. package/CalendarMenu/CalendarMenu.d.ts +1 -1
  52. package/CalendarMenu/CalendarMenu.js +47 -80
  53. package/CalendarMonth/CalendarMonth.d.ts +5 -5
  54. package/CalendarMonth/CalendarMonth.js +103 -124
  55. package/CalendarViews/CalendarViews.d.ts +2 -2
  56. package/CalendarViews/CalendarViews.js +34 -60
  57. package/CalendarWeek/CalendarWeek.d.ts +1 -1
  58. package/CalendarWeek/CalendarWeek.js +84 -95
  59. package/Card/Card.d.ts +1 -1
  60. package/Card/Card.js +10 -21
  61. package/CardButton/CardButton.d.ts +1 -1
  62. package/CardButton/CardButton.js +8 -13
  63. package/CardFooter/CardFooter.d.ts +1 -1
  64. package/CardFooter/CardFooter.js +40 -21
  65. package/CardHeader/CardHeader.d.ts +1 -1
  66. package/CardHeader/CardHeader.js +68 -24
  67. package/CardImage/CardImage.d.ts +1 -1
  68. package/CardImage/CardImage.js +31 -13
  69. package/CardMain/CardMain.d.ts +1 -1
  70. package/CardMain/CardMain.js +30 -16
  71. package/Carousel/Carousel.d.ts +4 -4
  72. package/Carousel/Carousel.js +163 -181
  73. package/Chart/Chart.d.ts +4 -4
  74. package/Chart/Chart.js +250 -271
  75. package/Checkbox/Checkbox.d.ts +1 -1
  76. package/Checkbox/Checkbox.js +133 -33
  77. package/Chip/Chip.d.ts +1 -1
  78. package/Chip/Chip.js +5 -10
  79. package/Chips/Chips.d.ts +1 -1
  80. package/Chips/Chips.js +73 -38
  81. package/ClickListener/ClickListener.d.ts +1 -1
  82. package/ClickListener/ClickListener.js +10 -12
  83. package/Clock/Clock.d.ts +5 -5
  84. package/Clock/Clock.js +81 -89
  85. package/ColorTextField/ColorTextField.d.ts +1 -1
  86. package/ColorTextField/ColorTextField.js +190 -75
  87. package/ColumnChart/ColumnChart.d.ts +1 -1
  88. package/ColumnChart/ColumnChart.js +43 -24
  89. package/ColumnChartItem/ColumnChartItem.d.ts +1 -1
  90. package/ColumnChartItem/ColumnChartItem.js +12 -23
  91. package/Confirm/Confirm.d.ts +4 -4
  92. package/Confirm/Confirm.js +13 -37
  93. package/Confirm/useConfirm.js +1 -1
  94. package/Container/Container.d.ts +1 -1
  95. package/Container/Container.js +9 -14
  96. package/CookieBanner/CookieBanner.d.ts +1 -1
  97. package/CookieBanner/CookieBanner.js +65 -39
  98. package/Countdown/Countdown.d.ts +1 -1
  99. package/Countdown/Countdown.js +25 -54
  100. package/DatePicker/DatePicker.d.ts +1 -1
  101. package/DatePicker/DatePicker.js +138 -176
  102. package/DateRangePicker/DateRangePicker.d.ts +1 -1
  103. package/DateRangePicker/DateRangePicker.js +23 -13
  104. package/DateTimePicker/DateTimePicker.d.ts +2 -2
  105. package/DateTimePicker/DateTimePicker.js +118 -156
  106. package/DateTimeRangePicker/DateTimeRangePicker.d.ts +1 -1
  107. package/DateTimeRangePicker/DateTimeRangePicker.js +23 -13
  108. package/Divider/Divider.d.ts +1 -1
  109. package/Divider/Divider.js +4 -12
  110. package/DonutChart/DonutChart.d.ts +1 -1
  111. package/DonutChart/DonutChart.js +23 -13
  112. package/DragAndDropList/DragAndDropList.d.ts +1 -1
  113. package/DragAndDropList/DragAndDropList.js +31 -33
  114. package/Drawing/Drawing.d.ts +2 -2
  115. package/Drawing/Drawing.js +107 -153
  116. package/DropZone/DropZone.d.ts +1 -1
  117. package/DropZone/DropZone.js +36 -54
  118. package/Emojis/Emojis.d.ts +3 -3
  119. package/Emojis/Emojis.js +52 -84
  120. package/Expand/Expand.d.ts +1 -1
  121. package/Expand/Expand.js +70 -37
  122. package/Fab/Fab.d.ts +1 -1
  123. package/Fab/Fab.js +8 -11
  124. package/Fade/Fade.d.ts +1 -1
  125. package/Fade/Fade.js +221 -111
  126. package/FileChoose/FileChoose.d.ts +2 -2
  127. package/FileChoose/FileChoose.js +26 -43
  128. package/Focus/Focus.d.ts +1 -1
  129. package/Focus/Focus.js +8 -10
  130. package/Form/Form.d.ts +1 -1
  131. package/Form/Form.js +95 -54
  132. package/FormRow/FormRow.d.ts +1 -1
  133. package/FormRow/FormRow.js +89 -42
  134. package/Forms/Forms.d.ts +1 -1
  135. package/Forms/Forms.js +36 -19
  136. package/Frame/Frame.d.ts +1 -1
  137. package/Frame/Frame.js +8 -22
  138. package/Grid/Grid.d.ts +2 -2
  139. package/Grid/Grid.js +13 -18
  140. package/Grow/Grow.d.ts +1 -1
  141. package/Grow/Grow.js +233 -118
  142. package/HTMLCanvas/HTMLCanvas.d.ts +2 -2
  143. package/HTMLCanvas/HTMLCanvas.js +225 -254
  144. package/IFrame/IFrame.d.ts +1 -1
  145. package/IFrame/IFrame.js +5 -11
  146. package/Icon/Icon.d.ts +1 -1
  147. package/Icon/Icon.js +82 -42
  148. package/IconButton/IconButton.d.ts +1 -1
  149. package/IconButton/IconButton.js +31 -18
  150. package/Image/Image.d.ts +1 -1
  151. package/Image/Image.js +13 -24
  152. package/ImageCrop/ImageCrop.d.ts +2 -2
  153. package/ImageCrop/ImageCrop.js +238 -244
  154. package/ImageEdit/ImageEdit.d.ts +2 -2
  155. package/ImageEdit/ImageEdit.js +189 -225
  156. package/ImageGallery/ImageGallery.d.ts +1 -1
  157. package/ImageGallery/ImageGallery.js +55 -73
  158. package/ImageList/ImageList.d.ts +1 -1
  159. package/ImageList/ImageList.js +13 -15
  160. package/ImageListItem/ImageListItem.d.ts +1 -1
  161. package/ImageListItem/ImageListItem.js +9 -14
  162. package/ImageListItemBox/ImageListItemBox.d.ts +1 -1
  163. package/ImageListItemBox/ImageListItemBox.js +30 -16
  164. package/Info/Info.d.ts +1 -1
  165. package/Info/Info.js +83 -42
  166. package/Interaction/Interaction.d.ts +2 -2
  167. package/Interaction/Interaction.js +39 -41
  168. package/Keyframes/Keyframes.d.ts +3 -3
  169. package/Keyframes/Keyframes.js +16 -18
  170. package/Keyframes/useKeyframes.js +1 -1
  171. package/Label/Label.d.ts +1 -1
  172. package/Label/Label.js +6 -15
  173. package/Labels/Labels.d.ts +1 -1
  174. package/Labels/Labels.js +16 -24
  175. package/Line/Line.d.ts +6 -6
  176. package/Line/Line.js +10 -15
  177. package/LineChart/LineChart.d.ts +1 -1
  178. package/LineChart/LineChart.js +27 -18
  179. package/LineChartItem/LineChartItem.d.ts +1 -1
  180. package/LineChartItem/LineChartItem.js +22 -33
  181. package/LinearMeter/LinearMeter.d.ts +1 -1
  182. package/LinearMeter/LinearMeter.js +125 -130
  183. package/LinearProgress/LinearProgress.d.ts +1 -1
  184. package/LinearProgress/LinearProgress.js +51 -31
  185. package/Link/Link.d.ts +1 -1
  186. package/Link/Link.js +59 -27
  187. package/Links/Links.d.ts +2 -2
  188. package/Links/Links.js +110 -81
  189. package/List/List.d.ts +1 -1
  190. package/List/List.js +12 -20
  191. package/ListItem/ListItem.d.ts +1 -1
  192. package/ListItem/ListItem.js +5 -17
  193. package/ListSubheader/ListSubheader.d.ts +1 -1
  194. package/ListSubheader/ListSubheader.js +23 -13
  195. package/MainProgress/MainProgress.d.ts +1 -1
  196. package/MainProgress/MainProgress.js +7 -12
  197. package/MainProgress/useMainProgress.js +1 -1
  198. package/MainProgressMaterial/MainProgressMaterial.d.ts +3 -3
  199. package/MainProgressMaterial/MainProgressMaterial.js +15 -23
  200. package/MainProgressMaterial/useMainProgressMaterial.js +1 -1
  201. package/Markdown/Markdown.d.ts +1 -1
  202. package/Markdown/Markdown.js +192 -194
  203. package/Masonry/Masonry.d.ts +1 -1
  204. package/Masonry/Masonry.js +25 -30
  205. package/Medias/Medias.d.ts +3 -3
  206. package/Medias/Medias.js +86 -113
  207. package/Menu/Menu.d.ts +1 -1
  208. package/Menu/Menu.js +55 -66
  209. package/MenuDesktop/MenuDesktop.d.ts +3 -3
  210. package/MenuDesktop/MenuDesktop.js +118 -121
  211. package/MenuItem/MenuItem.d.ts +1 -1
  212. package/MenuItem/MenuItem.js +40 -60
  213. package/Meta/Meta.d.ts +1 -1
  214. package/Meta/Meta.js +57 -35
  215. package/Modal/Modal.d.ts +1 -1
  216. package/Modal/Modal.js +11 -25
  217. package/ModalFooter/ModalFooter.d.ts +1 -1
  218. package/ModalFooter/ModalFooter.js +30 -16
  219. package/ModalHeader/ModalHeader.d.ts +1 -1
  220. package/ModalHeader/ModalHeader.js +32 -17
  221. package/ModalIcon/ModalIcon.d.ts +1 -1
  222. package/ModalIcon/ModalIcon.js +2 -4
  223. package/ModalMain/ModalMain.d.ts +1 -1
  224. package/ModalMain/ModalMain.js +31 -17
  225. package/ModalText/ModalText.d.ts +1 -1
  226. package/ModalText/ModalText.js +28 -15
  227. package/ModalTitle/ModalTitle.d.ts +1 -1
  228. package/ModalTitle/ModalTitle.js +28 -15
  229. package/MoreOptions/MoreOptions.d.ts +1 -1
  230. package/MoreOptions/MoreOptions.js +43 -28
  231. package/Move/Move.d.ts +1 -1
  232. package/Move/Move.js +24 -26
  233. package/NavigationBar/NavigationBar.d.ts +2 -2
  234. package/NavigationBar/NavigationBar.js +64 -39
  235. package/NavigationDrawer/NavigationDrawer.d.ts +1 -1
  236. package/NavigationDrawer/NavigationDrawer.js +12 -21
  237. package/NavigationItem/NavigationItem.d.ts +2 -2
  238. package/NavigationItem/NavigationItem.js +26 -41
  239. package/NavigationRail/NavigationRail.d.ts +1 -1
  240. package/NavigationRail/NavigationRail.js +69 -54
  241. package/NotFound/NotFound.d.ts +1 -1
  242. package/NotFound/NotFound.js +7 -18
  243. package/NumericTextField/NumericTextField.d.ts +1 -1
  244. package/NumericTextField/NumericTextField.js +51 -59
  245. package/Page/Page.d.ts +2 -2
  246. package/Page/Page.js +6 -20
  247. package/PageTransition/PageTransition.d.ts +1 -1
  248. package/PageTransition/PageTransition.js +7 -12
  249. package/Pagination/Pagination.d.ts +1 -1
  250. package/Pagination/Pagination.js +121 -68
  251. package/PaginationItem/PaginationItem.d.ts +1 -1
  252. package/PaginationItem/PaginationItem.js +50 -30
  253. package/Parallax/Parallax.d.ts +2 -2
  254. package/Parallax/Parallax.js +9 -11
  255. package/Path/Path.d.ts +1 -1
  256. package/Path/Path.js +22 -9
  257. package/PieChart/PieChart.d.ts +1 -1
  258. package/PieChart/PieChart.js +38 -55
  259. package/Placeholder/Placeholder.d.ts +1 -1
  260. package/Placeholder/Placeholder.js +59 -23
  261. package/Portal/Portal.d.ts +1 -1
  262. package/Portal/Portal.js +2 -4
  263. package/Properties/Properties.d.ts +2 -2
  264. package/Properties/Properties.js +51 -30
  265. package/Property/Property.d.ts +1 -1
  266. package/Property/Property.js +4 -12
  267. package/Radio/Radio.d.ts +1 -1
  268. package/Radio/Radio.js +83 -24
  269. package/Radios/Radios.d.ts +1 -1
  270. package/Radios/Radios.js +6 -14
  271. package/Rating/Rating.d.ts +1 -1
  272. package/Rating/Rating.js +68 -71
  273. package/Reset/Reset.d.ts +1 -1
  274. package/Reset/Reset.js +26 -4
  275. package/Reveal/Reveal.d.ts +1 -1
  276. package/Reveal/Reveal.js +8 -14
  277. package/RichTextEditor/RichTextEditor.d.ts +1 -1
  278. package/RichTextEditor/RichTextEditor.js +194 -254
  279. package/RoundMeter/RoundMeter.d.ts +1 -1
  280. package/RoundMeter/RoundMeter.js +207 -212
  281. package/RoundProgress/RoundProgress.d.ts +1 -1
  282. package/RoundProgress/RoundProgress.js +46 -27
  283. package/ScatterChart/ScatterChart.d.ts +1 -1
  284. package/ScatterChart/ScatterChart.js +27 -18
  285. package/ScatterChartItem/ScatterChartItem.d.ts +1 -1
  286. package/ScatterChartItem/ScatterChartItem.js +15 -26
  287. package/ScreenCapture/ScreenCapture.d.ts +2 -2
  288. package/ScreenCapture/ScreenCapture.js +57 -81
  289. package/Section/Section.d.ts +2 -2
  290. package/Section/Section.js +13 -24
  291. package/SectionAction/SectionAction.d.ts +1 -1
  292. package/SectionAction/SectionAction.js +4 -12
  293. package/SectionBoxes/SectionBoxes.d.ts +2 -2
  294. package/SectionBoxes/SectionBoxes.js +14 -28
  295. package/SectionCards/SectionCards.d.ts +2 -2
  296. package/SectionCards/SectionCards.js +14 -28
  297. package/SectionCarousel/SectionCarousel.d.ts +2 -2
  298. package/SectionCarousel/SectionCarousel.js +15 -32
  299. package/SectionContact/SectionContact.d.ts +1 -1
  300. package/SectionContact/SectionContact.js +6 -20
  301. package/SectionImageGallery/SectionImageGallery.d.ts +1 -1
  302. package/SectionImageGallery/SectionImageGallery.js +4 -12
  303. package/SectionLogos/SectionLogos.d.ts +1 -1
  304. package/SectionLogos/SectionLogos.js +8 -19
  305. package/SectionMedia/SectionMedia.d.ts +1 -1
  306. package/SectionMedia/SectionMedia.js +11 -34
  307. package/SectionReviews/SectionReviews.d.ts +2 -2
  308. package/SectionReviews/SectionReviews.js +16 -33
  309. package/SectionTextMedia/SectionTextMedia.d.ts +1 -1
  310. package/SectionTextMedia/SectionTextMedia.js +10 -37
  311. package/SectionTimeline/SectionTimeline.d.ts +2 -2
  312. package/SectionTimeline/SectionTimeline.js +17 -34
  313. package/SectionWatch/SectionWatch.d.ts +1 -1
  314. package/SectionWatch/SectionWatch.js +4 -12
  315. package/Select/Select.d.ts +1 -1
  316. package/Select/Select.js +95 -121
  317. package/Share/Share.d.ts +1 -1
  318. package/Share/Share.js +217 -119
  319. package/Slide/Slide.d.ts +1 -1
  320. package/Slide/Slide.js +16 -18
  321. package/Slider/Slider.d.ts +2 -2
  322. package/Slider/Slider.js +150 -165
  323. package/SmartTextField/SmartTextField.d.ts +1 -1
  324. package/SmartTextField/SmartTextField.js +203 -256
  325. package/Snackbar/Snackbar.d.ts +1 -1
  326. package/Snackbar/Snackbar.js +18 -35
  327. package/Snackbars/Context.d.ts +1 -1
  328. package/Snackbars/Snackbars.d.ts +2 -2
  329. package/Snackbars/Snackbars.js +43 -57
  330. package/Snackbars/useSnackbars.js +1 -1
  331. package/Space/Space.d.ts +1 -1
  332. package/Space/Space.js +762 -556
  333. package/SpeechToText/SpeechToText.d.ts +1 -1
  334. package/SpeechToText/SpeechToText.js +26 -37
  335. package/SpeedDial/SpeedDial.d.ts +1 -1
  336. package/SpeedDial/SpeedDial.js +69 -58
  337. package/SpeedDialItem/SpeedDialItem.d.ts +1 -1
  338. package/SpeedDialItem/SpeedDialItem.js +34 -23
  339. package/SpyScroll/SpyScroll.d.ts +1 -1
  340. package/SpyScroll/SpyScroll.js +17 -19
  341. package/Step/Step.d.ts +1 -1
  342. package/Step/Step.js +41 -52
  343. package/Stepper/Stepper.d.ts +1 -1
  344. package/Stepper/Stepper.js +12 -20
  345. package/Surface/Surface.d.ts +1 -1
  346. package/Surface/Surface.js +208 -133
  347. package/Switch/Switch.d.ts +1 -1
  348. package/Switch/Switch.js +107 -48
  349. package/Tab/Tab.d.ts +1 -1
  350. package/Tab/Tab.js +137 -68
  351. package/Table/Table.d.ts +1 -1
  352. package/Table/Table.js +70 -33
  353. package/TableBody/TableBody.d.ts +1 -1
  354. package/TableBody/TableBody.js +44 -23
  355. package/TableCell/TableCell.d.ts +2 -2
  356. package/TableCell/TableCell.js +26 -40
  357. package/TableFooter/TableFooter.d.ts +1 -1
  358. package/TableFooter/TableFooter.js +36 -19
  359. package/TableHead/TableHead.d.ts +1 -1
  360. package/TableHead/TableHead.js +15 -26
  361. package/TableHeader/TableHeader.d.ts +1 -1
  362. package/TableHeader/TableHeader.js +38 -23
  363. package/TablePagination/TablePagination.d.ts +1 -1
  364. package/TablePagination/TablePagination.js +10 -27
  365. package/TableRow/TableRow.d.ts +1 -1
  366. package/TableRow/TableRow.js +47 -26
  367. package/Tabs/Tabs.d.ts +1 -1
  368. package/Tabs/Tabs.js +41 -56
  369. package/Text/Text.d.ts +1 -1
  370. package/Text/Text.js +10 -18
  371. package/TextField/TextField.d.ts +1 -1
  372. package/TextField/TextField.js +68 -83
  373. package/TextToSpeech/TextToSpeech.d.ts +1 -1
  374. package/TextToSpeech/TextToSpeech.js +21 -32
  375. package/TimePicker/TimePicker.d.ts +3 -3
  376. package/TimePicker/TimePicker.js +183 -230
  377. package/TimeRangePicker/TimeRangePicker.d.ts +1 -1
  378. package/TimeRangePicker/TimeRangePicker.js +23 -13
  379. package/Timeline/Timeline.d.ts +1 -1
  380. package/Timeline/Timeline.js +35 -19
  381. package/TimelineItem/TimelineItem.d.ts +1 -1
  382. package/TimelineItem/TimelineItem.js +5 -16
  383. package/Timer/Timer.d.ts +1 -1
  384. package/Timer/Timer.js +29 -55
  385. package/ToggleButton/ToggleButton.d.ts +1 -1
  386. package/ToggleButton/ToggleButton.js +29 -16
  387. package/ToggleButtons/ToggleButtons.d.ts +1 -1
  388. package/ToggleButtons/ToggleButtons.js +24 -15
  389. package/Tooltip/Tooltip.d.ts +1 -1
  390. package/Tooltip/Tooltip.js +46 -60
  391. package/TopAppBar/TopAppBar.d.ts +1 -1
  392. package/TopAppBar/TopAppBar.js +118 -61
  393. package/Transition/Transition.d.ts +3 -3
  394. package/Transition/Transition.js +54 -56
  395. package/Transition/useTransition.js +1 -1
  396. package/Transitions/Transitions.d.ts +2 -2
  397. package/Transitions/Transitions.js +10 -12
  398. package/Tree/Tree.d.ts +1 -1
  399. package/Tree/Tree.js +37 -60
  400. package/Type/Type.d.ts +1 -1
  401. package/Type/Type.js +24 -17
  402. package/VideoPlayer/VideoPlayer.d.ts +1 -1
  403. package/VideoPlayer/VideoPlayer.js +123 -150
  404. package/ViewSplit/ViewSplit.d.ts +1 -1
  405. package/ViewSplit/ViewSplit.js +66 -77
  406. package/Watch/Watch.d.ts +1 -1
  407. package/Watch/Watch.js +14 -31
  408. package/Weather/Weather.d.ts +4 -4
  409. package/Weather/Weather.js +75 -47
  410. package/Whiteboard/Whiteboard.d.ts +5 -5
  411. package/Whiteboard/Whiteboard.js +565 -570
  412. package/Widgets/Widgets.d.ts +2 -2
  413. package/Widgets/Widgets.js +31 -48
  414. package/Widgets/useWidgets.js +1 -1
  415. package/WindowSplit/WindowSplit.d.ts +1 -1
  416. package/WindowSplit/WindowSplit.js +52 -63
  417. package/Zoom/Zoom.d.ts +1 -1
  418. package/Zoom/Zoom.js +221 -107
  419. package/esm/Accordion/Accordion.js +17 -17
  420. package/esm/AdvancedTextField/AdvancedTextField.js +16 -16
  421. package/esm/Append/Append.js +97 -103
  422. package/esm/AreaChart/AreaChart.js +26 -9
  423. package/esm/AreaChartItem/AreaChartItem.js +37 -37
  424. package/esm/AudioPlayer/AudioPlayer.js +88 -88
  425. package/esm/AudioRecorder/AudioRecorder.js +23 -23
  426. package/esm/AutoComplete/AutoComplete.js +115 -115
  427. package/esm/AutoCompleteCountry/AutoCompleteCountry.js +10 -10
  428. package/esm/AutoCompleteCurrency/AutoCompleteCurrency.js +3 -3
  429. package/esm/Avatar/Avatar.js +57 -22
  430. package/esm/AvatarGroup/AvatarGroup.js +39 -14
  431. package/esm/Backdrop/Backdrop.js +6 -6
  432. package/esm/Badge/Badge.js +52 -19
  433. package/esm/Banner/Banner.js +85 -27
  434. package/esm/BottomAppBar/BottomAppBar.js +60 -22
  435. package/esm/BottomSheet/BottomSheet.js +22 -7
  436. package/esm/Box/Box.js +24 -8
  437. package/esm/Breadcrumbs/Breadcrumbs.js +25 -25
  438. package/esm/BubbleChart/BubbleChart.js +130 -104
  439. package/esm/BubbleChartItem/BubbleChartItem.js +11 -11
  440. package/esm/Button/Button.js +25 -25
  441. package/esm/Buttons/Buttons.js +203 -86
  442. package/esm/Calendar/Calendar.js +93 -93
  443. package/esm/CalendarAvailability/CalendarAvailability.js +103 -103
  444. package/esm/CalendarMenu/CalendarMenu.js +46 -46
  445. package/esm/CalendarMonth/CalendarMonth.js +102 -102
  446. package/esm/CalendarViews/CalendarViews.js +33 -33
  447. package/esm/CalendarWeek/CalendarWeek.js +81 -81
  448. package/esm/Card/Card.js +9 -9
  449. package/esm/CardButton/CardButton.js +7 -7
  450. package/esm/CardFooter/CardFooter.js +39 -15
  451. package/esm/CardHeader/CardHeader.js +67 -18
  452. package/esm/CardImage/CardImage.js +30 -10
  453. package/esm/CardMain/CardMain.js +29 -10
  454. package/esm/Carousel/Carousel.js +162 -162
  455. package/esm/Chart/Chart.js +236 -236
  456. package/esm/Checkbox/Checkbox.js +132 -27
  457. package/esm/Chip/Chip.js +4 -4
  458. package/esm/Chips/Chips.js +72 -29
  459. package/esm/ClickListener/ClickListener.js +6 -6
  460. package/esm/Clock/Clock.js +80 -80
  461. package/esm/ColorTextField/ColorTextField.js +188 -57
  462. package/esm/ColumnChart/ColumnChart.js +42 -15
  463. package/esm/ColumnChartItem/ColumnChartItem.js +11 -11
  464. package/esm/Confirm/Confirm.js +12 -12
  465. package/esm/Confirm/useConfirm.js +1 -1
  466. package/esm/Container/Container.js +8 -8
  467. package/esm/CookieBanner/CookieBanner.js +64 -21
  468. package/esm/Countdown/Countdown.js +24 -24
  469. package/esm/DatePicker/DatePicker.js +136 -136
  470. package/esm/DateRangePicker/DateRangePicker.js +22 -7
  471. package/esm/DateTimePicker/DateTimePicker.js +116 -116
  472. package/esm/DateTimeRangePicker/DateTimeRangePicker.js +22 -7
  473. package/esm/Divider/Divider.js +3 -3
  474. package/esm/DonutChart/DonutChart.js +22 -7
  475. package/esm/DragAndDropList/DragAndDropList.js +30 -30
  476. package/esm/Drawing/Drawing.js +106 -105
  477. package/esm/DropZone/DropZone.js +35 -35
  478. package/esm/Emojis/Emojis.js +51 -51
  479. package/esm/Expand/Expand.js +69 -33
  480. package/esm/Fab/Fab.js +7 -5
  481. package/esm/Fade/Fade.js +204 -94
  482. package/esm/FileChoose/FileChoose.js +25 -25
  483. package/esm/Focus/Focus.js +7 -7
  484. package/esm/Form/Form.js +94 -42
  485. package/esm/FormRow/FormRow.js +88 -33
  486. package/esm/Forms/Forms.js +35 -13
  487. package/esm/Frame/Frame.js +7 -7
  488. package/esm/Grid/Grid.js +10 -10
  489. package/esm/Grow/Grow.js +216 -101
  490. package/esm/HTMLCanvas/HTMLCanvas.js +224 -224
  491. package/esm/IFrame/IFrame.js +4 -4
  492. package/esm/Icon/Icon.js +80 -38
  493. package/esm/IconButton/IconButton.js +30 -12
  494. package/esm/Image/Image.js +12 -12
  495. package/esm/ImageCrop/ImageCrop.js +237 -237
  496. package/esm/ImageEdit/ImageEdit.js +188 -188
  497. package/esm/ImageGallery/ImageGallery.js +54 -54
  498. package/esm/ImageList/ImageList.js +12 -12
  499. package/esm/ImageListItem/ImageListItem.js +8 -8
  500. package/esm/ImageListItemBox/ImageListItemBox.js +29 -10
  501. package/esm/Info/Info.js +82 -24
  502. package/esm/Interaction/Interaction.js +37 -37
  503. package/esm/Keyframes/Keyframes.js +15 -15
  504. package/esm/Keyframes/useKeyframes.js +1 -1
  505. package/esm/Label/Label.js +5 -5
  506. package/esm/Labels/Labels.js +15 -15
  507. package/esm/Line/Line.js +9 -9
  508. package/esm/LineChart/LineChart.js +26 -9
  509. package/esm/LineChartItem/LineChartItem.js +21 -21
  510. package/esm/LinearMeter/LinearMeter.js +124 -124
  511. package/esm/LinearProgress/LinearProgress.js +50 -28
  512. package/esm/Link/Link.js +58 -21
  513. package/esm/Links/Links.js +108 -53
  514. package/esm/List/List.js +11 -11
  515. package/esm/ListItem/ListItem.js +4 -4
  516. package/esm/ListSubheader/ListSubheader.js +22 -7
  517. package/esm/MainProgress/MainProgress.js +6 -6
  518. package/esm/MainProgress/useMainProgress.js +1 -1
  519. package/esm/MainProgressMaterial/MainProgressMaterial.js +14 -14
  520. package/esm/MainProgressMaterial/useMainProgressMaterial.js +1 -1
  521. package/esm/Markdown/Markdown.js +191 -191
  522. package/esm/Masonry/Masonry.js +24 -24
  523. package/esm/Medias/Medias.js +77 -77
  524. package/esm/Menu/Menu.js +44 -44
  525. package/esm/MenuDesktop/MenuDesktop.js +116 -93
  526. package/esm/MenuItem/MenuItem.js +39 -39
  527. package/esm/Meta/Meta.js +56 -25
  528. package/esm/Modal/Modal.js +10 -10
  529. package/esm/ModalFooter/ModalFooter.js +29 -10
  530. package/esm/ModalHeader/ModalHeader.js +31 -11
  531. package/esm/ModalIcon/ModalIcon.js +1 -1
  532. package/esm/ModalMain/ModalMain.js +30 -11
  533. package/esm/ModalText/ModalText.js +27 -9
  534. package/esm/ModalTitle/ModalTitle.js +27 -9
  535. package/esm/MoreOptions/MoreOptions.js +42 -19
  536. package/esm/Move/Move.js +23 -23
  537. package/esm/NavigationBar/NavigationBar.js +63 -30
  538. package/esm/NavigationDrawer/NavigationDrawer.js +11 -11
  539. package/esm/NavigationItem/NavigationItem.js +25 -25
  540. package/esm/NavigationRail/NavigationRail.js +66 -37
  541. package/esm/NotFound/NotFound.js +6 -6
  542. package/esm/NumericTextField/NumericTextField.js +50 -50
  543. package/esm/Page/Page.js +5 -5
  544. package/esm/PageTransition/PageTransition.js +6 -6
  545. package/esm/Pagination/Pagination.js +120 -53
  546. package/esm/PaginationItem/PaginationItem.js +49 -21
  547. package/esm/Parallax/Parallax.js +8 -8
  548. package/esm/Path/Path.js +21 -6
  549. package/esm/PieChart/PieChart.js +37 -37
  550. package/esm/Placeholder/Placeholder.js +58 -17
  551. package/esm/Portal/Portal.js +1 -1
  552. package/esm/Properties/Properties.js +50 -20
  553. package/esm/Property/Property.js +3 -3
  554. package/esm/Radio/Radio.js +82 -18
  555. package/esm/Radios/Radios.js +5 -5
  556. package/esm/Rating/Rating.js +66 -66
  557. package/esm/Reset/Reset.js +26 -4
  558. package/esm/Reveal/Reveal.js +7 -7
  559. package/esm/RichTextEditor/RichTextEditor.js +192 -192
  560. package/esm/RoundMeter/RoundMeter.js +206 -206
  561. package/esm/RoundProgress/RoundProgress.js +45 -24
  562. package/esm/ScatterChart/ScatterChart.js +26 -9
  563. package/esm/ScatterChartItem/ScatterChartItem.js +14 -14
  564. package/esm/ScreenCapture/ScreenCapture.js +56 -56
  565. package/esm/Section/Section.js +12 -12
  566. package/esm/SectionAction/SectionAction.js +3 -3
  567. package/esm/SectionBoxes/SectionBoxes.js +13 -13
  568. package/esm/SectionCards/SectionCards.js +13 -13
  569. package/esm/SectionCarousel/SectionCarousel.js +14 -14
  570. package/esm/SectionContact/SectionContact.js +5 -5
  571. package/esm/SectionImageGallery/SectionImageGallery.js +3 -3
  572. package/esm/SectionLogos/SectionLogos.js +7 -7
  573. package/esm/SectionMedia/SectionMedia.js +10 -10
  574. package/esm/SectionReviews/SectionReviews.js +14 -14
  575. package/esm/SectionTextMedia/SectionTextMedia.js +9 -9
  576. package/esm/SectionTimeline/SectionTimeline.js +16 -16
  577. package/esm/SectionWatch/SectionWatch.js +3 -3
  578. package/esm/Select/Select.js +88 -88
  579. package/esm/Share/Share.js +216 -92
  580. package/esm/Slide/Slide.js +15 -15
  581. package/esm/Slider/Slider.js +149 -149
  582. package/esm/SmartTextField/SmartTextField.js +199 -198
  583. package/esm/Snackbar/Snackbar.js +17 -17
  584. package/esm/Snackbars/Snackbars.js +40 -40
  585. package/esm/Snackbars/useSnackbars.js +1 -1
  586. package/esm/Space/Space.js +755 -480
  587. package/esm/SpeechToText/SpeechToText.js +25 -25
  588. package/esm/SpeedDial/SpeedDial.js +68 -40
  589. package/esm/SpeedDialItem/SpeedDialItem.js +33 -14
  590. package/esm/SpyScroll/SpyScroll.js +16 -16
  591. package/esm/Step/Step.js +40 -31
  592. package/esm/Stepper/Stepper.js +11 -11
  593. package/esm/Surface/Surface.js +207 -130
  594. package/esm/Switch/Switch.js +106 -39
  595. package/esm/Tab/Tab.js +136 -50
  596. package/esm/Table/Table.js +69 -24
  597. package/esm/TableBody/TableBody.js +43 -17
  598. package/esm/TableCell/TableCell.js +25 -25
  599. package/esm/TableFooter/TableFooter.js +35 -13
  600. package/esm/TableHead/TableHead.js +14 -14
  601. package/esm/TableHeader/TableHeader.js +37 -14
  602. package/esm/TablePagination/TablePagination.js +9 -9
  603. package/esm/TableRow/TableRow.js +46 -20
  604. package/esm/Tabs/Tabs.js +38 -38
  605. package/esm/Text/Text.js +9 -9
  606. package/esm/TextField/TextField.js +63 -63
  607. package/esm/TextToSpeech/TextToSpeech.js +20 -20
  608. package/esm/TimePicker/TimePicker.js +182 -182
  609. package/esm/TimeRangePicker/TimeRangePicker.js +22 -7
  610. package/esm/Timeline/Timeline.js +34 -13
  611. package/esm/TimelineItem/TimelineItem.js +4 -4
  612. package/esm/Timer/Timer.js +28 -28
  613. package/esm/ToggleButton/ToggleButton.js +28 -10
  614. package/esm/ToggleButtons/ToggleButtons.js +23 -9
  615. package/esm/Tooltip/Tooltip.js +45 -45
  616. package/esm/TopAppBar/TopAppBar.js +117 -49
  617. package/esm/Transition/Transition.js +53 -53
  618. package/esm/Transition/useTransition.js +1 -1
  619. package/esm/Transitions/Transitions.js +9 -9
  620. package/esm/Tree/Tree.js +36 -36
  621. package/esm/Type/Type.js +23 -14
  622. package/esm/VideoPlayer/VideoPlayer.js +121 -121
  623. package/esm/ViewSplit/ViewSplit.js +65 -65
  624. package/esm/Watch/Watch.js +13 -13
  625. package/esm/Weather/Weather.js +73 -29
  626. package/esm/Whiteboard/Whiteboard.js +557 -557
  627. package/esm/Widgets/Widgets.js +29 -29
  628. package/esm/Widgets/useWidgets.js +1 -1
  629. package/esm/WindowSplit/WindowSplit.js +51 -51
  630. package/esm/Zoom/Zoom.js +204 -90
  631. package/esm/index.js +1 -1
  632. package/esm/useForm/useForm.js +58 -58
  633. package/esm/useLocation/useLocation.js +4 -4
  634. package/esm/useMediaQuery/useMediaQuery.js +2 -2
  635. package/esm/useOnline/useOnline.js +23 -10
  636. package/esm/useOpen/useOpen.js +79 -27
  637. package/esm/useQuery/useQuery.js +11 -1
  638. package/esm/useResize/useResize.js +30 -14
  639. package/esm/useScroll/useScroll.js +2 -2
  640. package/esm/useSubscription/useSubscription.js +73 -21
  641. package/esm/useSwipe/useSwipe.js +30 -30
  642. package/esm/useTabs/useTabs.js +22 -7
  643. package/esm/useVisible/useVisible.js +3 -3
  644. package/index.js +1 -1
  645. package/package.json +8 -12
  646. package/types.d.ts +27 -27
  647. package/useForm/useForm.d.ts +2 -2
  648. package/useForm/useForm.js +58 -58
  649. package/useForm/validate.d.ts +12 -12
  650. package/useLocation/useLocation.d.ts +1 -1
  651. package/useLocation/useLocation.js +4 -4
  652. package/useMediaQuery/useMediaQuery.d.ts +1 -1
  653. package/useMediaQuery/useMediaQuery.js +2 -2
  654. package/useOnline/useOnline.js +23 -10
  655. package/useOpen/useOpen.js +79 -27
  656. package/useQuery/useQuery.js +11 -1
  657. package/useResize/useResize.js +30 -14
  658. package/useScroll/useScroll.d.ts +2 -2
  659. package/useScroll/useScroll.js +2 -2
  660. package/useSubscription/useSubscription.js +73 -21
  661. package/useSwipe/useSwipe.d.ts +2 -2
  662. package/useSwipe/useSwipe.js +30 -30
  663. package/useTabs/useTabs.js +22 -7
  664. package/useVisible/useVisible.d.ts +2 -2
  665. package/useVisible/useVisible.js +3 -3
@@ -64,8 +64,8 @@ const colorSelect = 'hsl(244deg 64% 64%)';
64
64
  const colorSelectBackground = 'hsla(244deg 64% 64% / 4%)';
65
65
  const Whiteboard = /*#__PURE__*/React.forwardRef((props_, ref) => {
66
66
  const theme = useOnesyTheme();
67
- const props = React.useMemo(() => _objectSpread(_objectSpread(_objectSpread({}, theme?.ui?.elements?.all?.props?.default), theme?.ui?.elements?.onesyWhiteboard?.props?.default), props_), [props_]);
68
- const Line = React.useMemo(() => theme?.elements?.Line || LineElement, [theme]);
67
+ const props = _objectSpread(_objectSpread(_objectSpread({}, theme?.ui?.elements?.all?.props?.default), theme?.ui?.elements?.onesyWhiteboard?.props?.default), props_);
68
+ const Line = theme?.elements?.Line || LineElement;
69
69
  const {
70
70
  valueDefault,
71
71
  onChange: onChangeProps,
@@ -158,7 +158,7 @@ const Whiteboard = /*#__PURE__*/React.forwardRef((props_, ref) => {
158
158
  refs.mouseDown.current = mouseDown;
159
159
  refs.tool.current = tool;
160
160
  refs.grid.current = grid;
161
- const init = React.useCallback(() => {
161
+ const init = () => {
162
162
  // Todo
163
163
  // items
164
164
  // load all of the images in memory and attach theme to items as image elements
@@ -168,24 +168,24 @@ const Whiteboard = /*#__PURE__*/React.forwardRef((props_, ref) => {
168
168
  render();
169
169
  setLoaded(true);
170
170
  }, 40);
171
- }, []);
171
+ };
172
172
  React.useEffect(() => {
173
173
  if (!['zoom'].includes(tool)) refs.previousTool.current = tool;
174
174
  }, [tool]);
175
- const onChange = React.useCallback(() => {
175
+ const onChange = () => {
176
176
  if (is('function', onChangeProps)) onChangeProps(refs.items.current);
177
- }, [onChangeProps]);
178
- const getItems = React.useCallback((selected = undefined) => refs.items.current.filter(item => selected === undefined || item.se === selected), []);
179
- const getItem = React.useCallback(() => refs.items.current[refs.items.current.length - 1], []);
180
- const filterItems = React.useCallback(() => {
181
- const toRemove = refs.items.current.filter(item => {
182
- if (refs.tool.current === 'text' && item !== refs.textActive.current) item.se = false;
183
- const lines = item.s?.lines || [];
184
- return !(item.v !== 't' || item === refs.textActive.current || lines.length > 1 || lines[0].length);
177
+ };
178
+ const getItems = (selected = undefined) => refs.items.current.filter(item => selected === undefined || item.se === selected);
179
+ const getItem = () => refs.items.current[refs.items.current.length - 1];
180
+ const filterItems = () => {
181
+ const toRemove = refs.items.current.filter(item_0 => {
182
+ if (refs.tool.current === 'text' && item_0 !== refs.textActive.current) item_0.se = false;
183
+ const lines = item_0.s?.lines || [];
184
+ return !(item_0.v !== 't' || item_0 === refs.textActive.current || lines.length > 1 || lines[0].length);
185
185
  });
186
186
  if (toRemove.length) remove(toRemove);
187
- }, []);
188
- const add = React.useCallback(toAdd => {
187
+ };
188
+ const add = toAdd => {
189
189
  const itemsAdd = (Array.isArray(toAdd) ? toAdd : [toAdd]).filter(Boolean);
190
190
  const items = getItems();
191
191
 
@@ -195,22 +195,22 @@ const Whiteboard = /*#__PURE__*/React.forwardRef((props_, ref) => {
195
195
  // clear redo stack
196
196
  refs.redo.current = [];
197
197
  refs.items.current.push(...itemsAdd);
198
- }, []);
199
- const remove = React.useCallback(toRemove => {
200
- const itemsRemove = (Array.isArray(toRemove) ? toRemove : [toRemove]).filter(Boolean);
201
- const items = getItems();
202
- const IDs = itemsRemove?.map(item => item.i);
203
- const toRemoveIDs = items.filter(item => IDs.includes(item.i)).map(item => item.i);
198
+ };
199
+ const remove = toRemove_0 => {
200
+ const itemsRemove = (Array.isArray(toRemove_0) ? toRemove_0 : [toRemove_0]).filter(Boolean);
201
+ const items_0 = getItems();
202
+ const IDs = itemsRemove?.map(item_1 => item_1.i);
203
+ const toRemoveIDs = items_0.filter(item_2 => IDs.includes(item_2.i)).map(item_3 => item_3.i);
204
204
  if (!toRemoveIDs) return;
205
205
 
206
206
  // add to undo stack snapshot of current state
207
- refs.undo.current.push([...items]);
207
+ refs.undo.current.push([...items_0]);
208
208
 
209
209
  // clear redo stack
210
210
  refs.redo.current = [];
211
- refs.items.current = refs.items.current.filter(item => !toRemoveIDs.includes(item.i));
212
- }, []);
213
- const reset = React.useCallback(() => {
211
+ refs.items.current = refs.items.current.filter(item_4 => !toRemoveIDs.includes(item_4.i));
212
+ };
213
+ const reset = () => {
214
214
  refs.on.current = false;
215
215
  refs.moveStarted.current = false;
216
216
  refs.image.current = null;
@@ -218,25 +218,25 @@ const Whiteboard = /*#__PURE__*/React.forwardRef((props_, ref) => {
218
218
  // new move start
219
219
  refs.offset.current.x = refs.move.current.x;
220
220
  refs.offset.current.y = refs.move.current.y;
221
- }, []);
222
- const transform = React.useCallback(coordinate => coordinate / refs.scale.current, []);
223
- const selectAll = React.useCallback(() => {
224
- return [...refs.items.current].filter(Boolean).map(item => {
225
- item.se = true;
226
- return item;
221
+ };
222
+ const transform = coordinate => coordinate / refs.scale.current;
223
+ const selectAll = () => {
224
+ return [...refs.items.current].filter(Boolean).map(item_5 => {
225
+ item_5.se = true;
226
+ return item_5;
227
227
  });
228
- }, []);
229
- const unselectAll = React.useCallback(eventReact => {
228
+ };
229
+ const unselectAll = eventReact => {
230
230
  const event = eventReact?.nativeEvent || eventReact;
231
231
  const shift = event?.shiftKey;
232
- return [...refs.items.current].filter(Boolean).map(item => {
233
- if (shift) return item;
234
- item.se = false;
235
- return item;
232
+ return [...refs.items.current].filter(Boolean).map(item_6 => {
233
+ if (shift) return item_6;
234
+ item_6.se = false;
235
+ return item_6;
236
236
  });
237
- }, []);
238
- const onInteractionDown = React.useCallback((body, eventReact) => {
239
- const event = eventReact?.nativeEvent || eventReact;
237
+ };
238
+ const onInteractionDown = (body, eventReact_0) => {
239
+ const event_0 = eventReact_0?.nativeEvent || eventReact_0;
240
240
  const {
241
241
  offsetX: x,
242
242
  offsetY: y,
@@ -259,7 +259,7 @@ const Whiteboard = /*#__PURE__*/React.forwardRef((props_, ref) => {
259
259
  y: 0
260
260
  }
261
261
  };
262
- const shift = event?.shiftKey;
262
+ const shift_0 = event_0?.shiftKey;
263
263
  const ui = refs.ui.current.getContext('2d');
264
264
  const rect = refs.ui.current.getBoundingClientRect();
265
265
  refs.start.current.x = clientX - rect.left;
@@ -271,15 +271,15 @@ const Whiteboard = /*#__PURE__*/React.forwardRef((props_, ref) => {
271
271
  y: transform(start.y - refs.move.current.y)
272
272
  };
273
273
  Object.keys(settings).forEach(item_ => ui[item_] = settings[item_]);
274
- let item;
275
- const items = getItems();
274
+ let item_7;
275
+ const items_1 = getItems();
276
276
  const t = refs.tool.current;
277
277
  refs.select.current = null;
278
278
  if (t === 'select') {
279
279
  // z-index top to bottom order
280
- const itemsReversed = [...items].reverse();
281
- const itemsClicked = itemsReversed.filter(item_ => {
282
- return item_.c && startTransformed.x >= item_.c[0] && startTransformed.x <= item_.c[0] + item_.c[2] && startTransformed.y >= item_.c[1] && startTransformed.y <= item_.c[1] + item_.c[3];
280
+ const itemsReversed = [...items_1].reverse();
281
+ const itemsClicked = itemsReversed.filter(item__0 => {
282
+ return item__0.c && startTransformed.x >= item__0.c[0] && startTransformed.x <= item__0.c[0] + item__0.c[2] && startTransformed.y >= item__0.c[1] && startTransformed.y <= item__0.c[1] + item__0.c[3];
283
283
  });
284
284
  const itemsSelected = getItems(true);
285
285
  const clicked = itemsClicked[0];
@@ -290,16 +290,16 @@ const Whiteboard = /*#__PURE__*/React.forwardRef((props_, ref) => {
290
290
  ar: []
291
291
  };
292
292
  }
293
- if (!shift && !(clicked?.se && itemsSelected.length > 1)) unselectAll();
293
+ if (!shift_0 && !(clicked?.se && itemsSelected.length > 1)) unselectAll();
294
294
  if (clicked) {
295
- clicked.se = shift ? !clicked.se : true;
295
+ clicked.se = shift_0 ? !clicked.se : true;
296
296
  }
297
297
  } else if (t === 'text') {
298
298
  const {
299
299
  lineHeight,
300
300
  padding
301
301
  } = refs.textSettings.current;
302
- const selectedText = items.find(item_ => item_.c && startTransformed.x >= item_.c[0] && startTransformed.x <= item_.c[0] + item_.c[2] && startTransformed.y >= item_.c[1] && startTransformed.y <= item_.c[1] + item_.c[3]);
302
+ const selectedText = items_1.find(item__1 => item__1.c && startTransformed.x >= item__1.c[0] && startTransformed.x <= item__1.c[0] + item__1.c[2] && startTransformed.y >= item__1.c[1] && startTransformed.y <= item__1.c[1] + item__1.c[3]);
303
303
  if (selectedText) {
304
304
  refs.textActive.current = selectedText;
305
305
  selectedText.se = true;
@@ -319,7 +319,7 @@ const Whiteboard = /*#__PURE__*/React.forwardRef((props_, ref) => {
319
319
  char: charIndex
320
320
  };
321
321
  } else {
322
- item = {
322
+ item_7 = {
323
323
  i: getID(),
324
324
  v: 't',
325
325
  p: [startTransformed.x, startTransformed.y],
@@ -334,13 +334,13 @@ const Whiteboard = /*#__PURE__*/React.forwardRef((props_, ref) => {
334
334
  se: true,
335
335
  a: OnesyDate.milliseconds
336
336
  };
337
- refs.textActive.current = item;
337
+ refs.textActive.current = item_7;
338
338
  }
339
339
  } else {
340
340
  // pen
341
341
  if (t === 'pen') {
342
342
  // point
343
- item = {
343
+ item_7 = {
344
344
  i: getID(),
345
345
  v: 'dp',
346
346
  p: [transform(x - refs.move.current.x), transform(y - refs.move.current.y)],
@@ -351,7 +351,7 @@ const Whiteboard = /*#__PURE__*/React.forwardRef((props_, ref) => {
351
351
  }
352
352
  // circle, rectangle, line, line-arrow
353
353
  if (['circle', 'rectangle', 'triangle', 'line', 'line-arrow'].includes(t)) {
354
- item = {
354
+ item_7 = {
355
355
  i: getID(),
356
356
  p: [],
357
357
  ar: [],
@@ -372,7 +372,7 @@ const Whiteboard = /*#__PURE__*/React.forwardRef((props_, ref) => {
372
372
  // Todo
373
373
  // add url of the image
374
374
  // instead of embeding the image
375
- item = {
375
+ item_7 = {
376
376
  i: getID(),
377
377
  v: 'i',
378
378
  p: [],
@@ -387,116 +387,116 @@ const Whiteboard = /*#__PURE__*/React.forwardRef((props_, ref) => {
387
387
  };
388
388
  }
389
389
  }
390
- if (item) add(item);
390
+ if (item_7) add(item_7);
391
391
  filterItems();
392
392
 
393
393
  // render
394
394
  render();
395
395
  setMouseDown(true);
396
- }, []);
397
- const onMouseDown = React.useCallback(event => {
396
+ };
397
+ const onMouseDown = event_1 => {
398
398
  const {
399
399
  offsetX,
400
400
  offsetY,
401
- clientX,
402
- clientY
403
- } = event.nativeEvent;
401
+ clientX: clientX_0,
402
+ clientY: clientY_0
403
+ } = event_1.nativeEvent;
404
404
  onInteractionDown({
405
405
  offsetX,
406
406
  offsetY,
407
- clientX,
408
- clientY
409
- }, event);
410
- }, [onInteractionDown]);
411
- const onTouchStart = React.useCallback(event => {
407
+ clientX: clientX_0,
408
+ clientY: clientY_0
409
+ }, event_1);
410
+ };
411
+ const onTouchStart = event_2 => {
412
412
  // Get the first touch point
413
- const touch = event.touches[0];
413
+ const touch = event_2.touches[0];
414
414
  const {
415
- clientX,
416
- clientY
415
+ clientX: clientX_1,
416
+ clientY: clientY_1
417
417
  } = touch;
418
418
  let {
419
- offsetX,
420
- offsetY
419
+ offsetX: offsetX_0,
420
+ offsetY: offsetY_0
421
421
  } = touch;
422
422
  const targetElement = touch.target;
423
423
  if (targetElement instanceof HTMLElement) {
424
424
  // Get the bounding rectangle of the target element
425
- const rect = targetElement.getBoundingClientRect();
425
+ const rect_0 = targetElement.getBoundingClientRect();
426
426
 
427
427
  // Calculate the offsetX and offsetY
428
- offsetX = touch.clientX - rect.left;
429
- offsetY = touch.clientY - rect.top;
428
+ offsetX_0 = touch.clientX - rect_0.left;
429
+ offsetY_0 = touch.clientY - rect_0.top;
430
430
  }
431
431
  onInteractionDown({
432
- offsetX,
433
- offsetY,
434
- clientX,
435
- clientY
436
- }, event);
437
- }, [onInteractionDown]);
438
- const removeItems = React.useCallback(() => {
432
+ offsetX: offsetX_0,
433
+ offsetY: offsetY_0,
434
+ clientX: clientX_1,
435
+ clientY: clientY_1
436
+ }, event_2);
437
+ };
438
+ const removeItems = () => {
439
439
  // remove
440
440
  if (refs.remove.current.length) {
441
- const toRemove = [];
442
- for (const item of refs.remove.current) {
443
- const index = refs.items.current.findIndex(itemItems => itemItems === item);
444
- if (index > -1) toRemove.push(item);
441
+ const toRemove_1 = [];
442
+ for (const item_8 of refs.remove.current) {
443
+ const index = refs.items.current.findIndex(itemItems => itemItems === item_8);
444
+ if (index > -1) toRemove_1.push(item_8);
445
445
  }
446
- if (toRemove.length) remove(toRemove);
446
+ if (toRemove_1.length) remove(toRemove_1);
447
447
  refs.remove.current = [];
448
448
  }
449
- }, []);
450
- const onUpdateCoordinates = React.useCallback(() => {
451
- const items = getItems();
452
- items.forEach(item => {
453
- const p = item?.p || [];
454
- const ar = item?.ar || [];
455
- const s = item?.s || {};
449
+ };
450
+ const onUpdateCoordinates = () => {
451
+ const items_2 = getItems();
452
+ items_2.forEach(item_9 => {
453
+ const p = item_9?.p || [];
454
+ const ar = item_9?.ar || [];
455
+ const s = item_9?.s || {};
456
456
  if (p.length) {
457
457
  // cache
458
458
  // x1, y1, width. height for position on the screen
459
- const v = item.v;
459
+ const v = item_9.v;
460
460
 
461
461
  // draw point
462
462
  if (v === 'dp') {
463
463
  const lineWidth = s.lineWidth || 10;
464
- item.c = [p[0] - lineWidth / 2, p[1] - lineWidth / 2, lineWidth, lineWidth];
464
+ item_9.c = [p[0] - lineWidth / 2, p[1] - lineWidth / 2, lineWidth, lineWidth];
465
465
  }
466
466
  // draw line
467
467
  else if (v === 'dl') {
468
- const x = [];
469
- const y = [];
470
- for (let i = 0; i < p.length; i += 2) {
471
- x.push(p[i]);
472
- y.push(p[i + 1]);
468
+ const x_0 = [];
469
+ const y_0 = [];
470
+ for (let i_0 = 0; i_0 < p.length; i_0 += 2) {
471
+ x_0.push(p[i_0]);
472
+ y_0.push(p[i_0 + 1]);
473
473
  }
474
- const xMin = Math.min(...x);
475
- const yMin = Math.min(...y);
476
- const xMax = Math.max(...x);
477
- const yMax = Math.max(...y);
478
- item.c = [xMin, yMin, xMax - xMin, yMax - yMin];
474
+ const xMin = Math.min(...x_0);
475
+ const yMin = Math.min(...y_0);
476
+ const xMax = Math.max(...x_0);
477
+ const yMax = Math.max(...y_0);
478
+ item_9.c = [xMin, yMin, xMax - xMin, yMax - yMin];
479
479
  }
480
480
  // object line, object arrow
481
481
  else if (['ol', 'oa'].includes(v)) {
482
- const x = [p[0], ar[0]];
483
- const y = [p[1], ar[1]];
484
- const xMin = Math.min(...x);
485
- const yMin = Math.min(...y);
486
- const xMax = Math.max(...x);
487
- const yMax = Math.max(...y);
488
- item.c = [xMin, yMin, xMax - xMin, yMax - yMin];
482
+ const x_1 = [p[0], ar[0]];
483
+ const y_1 = [p[1], ar[1]];
484
+ const xMin_0 = Math.min(...x_1);
485
+ const yMin_0 = Math.min(...y_1);
486
+ const xMax_0 = Math.max(...x_1);
487
+ const yMax_0 = Math.max(...y_1);
488
+ item_9.c = [xMin_0, yMin_0, xMax_0 - xMin_0, yMax_0 - yMin_0];
489
489
  }
490
490
  // object rectangle, object square
491
491
  else if (['or', 'os'].includes(v)) {
492
- item.c = [...p, ...ar];
492
+ item_9.c = [...p, ...ar];
493
493
  }
494
494
  // object circle, object ellipse
495
495
  else if (['oc', 'oe'].includes(v)) {
496
496
  if (v === 'oc') {
497
- item.c = [p[0] - ar[0], p[1] - ar[0], ar[0] * 2, ar[0] * 2];
497
+ item_9.c = [p[0] - ar[0], p[1] - ar[0], ar[0] * 2, ar[0] * 2];
498
498
  } else {
499
- item.c = [p[0] - ar[0], p[1] - ar[1], ar[0] * 2, ar[1] * 2];
499
+ item_9.c = [p[0] - ar[0], p[1] - ar[1], ar[0] * 2, ar[1] * 2];
500
500
  }
501
501
  }
502
502
  // object triangle, object triangle equilateral
@@ -505,16 +505,16 @@ const Whiteboard = /*#__PURE__*/React.forwardRef((props_, ref) => {
505
505
  const {
506
506
  height
507
507
  } = s;
508
- item.c = [x1, y1 - height, x2 - x1, height];
508
+ item_9.c = [x1, y1 - height, x2 - x1, height];
509
509
  }
510
510
  // image
511
511
  else if (['i', 't'].includes(v)) {
512
- item.c = [...p, ...ar];
512
+ item_9.c = [...p, ...ar];
513
513
  }
514
514
  }
515
515
  });
516
- }, []);
517
- const onSelect = React.useCallback(() => {
516
+ };
517
+ const onSelect = () => {
518
518
  const select = refs.select.current;
519
519
  if (!select) return;
520
520
  const px1 = select.p[0];
@@ -529,28 +529,28 @@ const Whiteboard = /*#__PURE__*/React.forwardRef((props_, ref) => {
529
529
  x: Math.max(px1, px2),
530
530
  y: Math.max(py1, py2)
531
531
  };
532
- const items = getItems();
533
- items.forEach(item => {
532
+ const items_3 = getItems();
533
+ items_3.forEach(item_10 => {
534
534
  const {
535
535
  c
536
- } = item;
537
- const [x1, y1] = c;
538
- let [x2, y2] = c;
539
- x2 = x1 + x2;
540
- y2 = y1 + y2;
536
+ } = item_10;
537
+ const [x1_0, y1_0] = c;
538
+ let [x2_0, y2] = c;
539
+ x2_0 = x1_0 + x2_0;
540
+ y2 = y1_0 + y2;
541
541
  const minItem = {
542
- x: Math.min(x1, x2),
543
- y: Math.min(y1, y2)
542
+ x: Math.min(x1_0, x2_0),
543
+ y: Math.min(y1_0, y2)
544
544
  };
545
545
  const maxItem = {
546
- x: Math.max(x1, x2),
547
- y: Math.max(y1, y2)
546
+ x: Math.max(x1_0, x2_0),
547
+ y: Math.max(y1_0, y2)
548
548
  };
549
- const selected = minItem.x >= min.x && maxItem.x <= max.x && minItem.y >= min.y && maxItem.y <= max.y;
550
- if (selected) item.se = true;
549
+ const selected_0 = minItem.x >= min.x && maxItem.x <= max.x && minItem.y >= min.y && maxItem.y <= max.y;
550
+ if (selected_0) item_10.se = true;
551
551
  });
552
- }, []);
553
- const onMouseUp = React.useCallback(event => {
552
+ };
553
+ const onMouseUp = event_3 => {
554
554
  if (refs.mouseDown.current) {
555
555
  refs.select.current = null;
556
556
 
@@ -572,37 +572,37 @@ const Whiteboard = /*#__PURE__*/React.forwardRef((props_, ref) => {
572
572
  }
573
573
  render();
574
574
  }
575
- }, [onChange]);
576
- const updateTextBoxDimensions = React.useCallback(item => {
577
- const ui = refs.ui.current.getContext('2d');
575
+ };
576
+ const updateTextBoxDimensions = item_11 => {
577
+ const ui_0 = refs.ui.current.getContext('2d');
578
578
  const {
579
- lineHeight,
580
- padding
579
+ lineHeight: lineHeight_0,
580
+ padding: padding_0
581
581
  } = refs.textSettings.current;
582
- ui.font = '16px Arial';
583
- const maxWidth = Math.max(...item.s.lines.map(line => ui.measureText(line).width));
584
- item.ar[0] = maxWidth + padding * 2.5;
585
- item.ar[1] = item.s.lines.length * lineHeight + padding * 2;
586
- }, []);
587
- const getPath = React.useCallback(item => {
582
+ ui_0.font = '16px Arial';
583
+ const maxWidth = Math.max(...item_11.s.lines.map(line => ui_0.measureText(line).width));
584
+ item_11.ar[0] = maxWidth + padding_0 * 2.5;
585
+ item_11.ar[1] = item_11.s.lines.length * lineHeight_0 + padding_0 * 2;
586
+ };
587
+ const getPath = item_12 => {
588
588
  const path = new Path2D();
589
589
  const {
590
- v,
591
- p,
592
- ar
593
- } = item;
590
+ v: v_0,
591
+ p: p_0,
592
+ ar: ar_0
593
+ } = item_12;
594
594
 
595
595
  // draw line
596
- if (v === 'dl') {
597
- const points = arrayToParts(p, 2);
598
- for (let i = 0; i < points.length - 1; i++) {
599
- const current = points[i];
600
- const next = points[i + 1];
596
+ if (v_0 === 'dl') {
597
+ const points = arrayToParts(p_0, 2);
598
+ for (let i_1 = 0; i_1 < points.length - 1; i_1++) {
599
+ const current = points[i_1];
600
+ const next = points[i_1 + 1];
601
601
 
602
602
  // calculate the control point for the curve
603
603
  const midX = (current[0] + next[0]) / 2;
604
604
  const midY = (current[1] + next[1]) / 2;
605
- if (i === 0) {
605
+ if (i_1 === 0) {
606
606
  // start from the first point
607
607
  path.moveTo(current[0], current[1]);
608
608
  }
@@ -610,304 +610,304 @@ const Whiteboard = /*#__PURE__*/React.forwardRef((props_, ref) => {
610
610
  }
611
611
  }
612
612
  // draw point, object circle
613
- else if (['dp', 'oc'].includes(v) && ar.length === 3) {
614
- path.arc(p[0], p[1], ...ar);
613
+ else if (['dp', 'oc'].includes(v_0) && ar_0.length === 3) {
614
+ path.arc(p_0[0], p_0[1], ...ar_0);
615
615
  }
616
616
  // object ellipse
617
- else if (v === 'oe' && ar.length === 5) {
618
- path.ellipse(p[0], p[1], ...ar);
617
+ else if (v_0 === 'oe' && ar_0.length === 5) {
618
+ path.ellipse(p_0[0], p_0[1], ...ar_0);
619
619
  }
620
620
  // object rectangle
621
- else if (['or', 'os'].includes(v)) {
622
- path.roundRect(p[0], p[1], ...ar);
621
+ else if (['or', 'os'].includes(v_0)) {
622
+ path.roundRect(p_0[0], p_0[1], ...ar_0);
623
623
  }
624
624
  // object line
625
- else if (['ol', 'oa'].includes(v) && ar.length === 2) {
626
- path.moveTo(p[0], p[1]);
627
- path.lineTo(...ar);
625
+ else if (['ol', 'oa'].includes(v_0) && ar_0.length === 2) {
626
+ path.moveTo(p_0[0], p_0[1]);
627
+ path.lineTo(...ar_0);
628
628
 
629
629
  // draw an arrow
630
- if (v === 'oa') {
630
+ if (v_0 === 'oa') {
631
631
  // Length of the arrowhead
632
632
  const headLength = 40;
633
- const angle = Math.atan2(ar[1] - p[1], ar[0] - p[0]);
634
- path.moveTo(ar[0], ar[1]);
635
- path.lineTo(ar[0] - headLength * Math.cos(angle - Math.PI / 6), ar[1] - headLength * Math.sin(angle - Math.PI / 6));
636
- path.moveTo(ar[0], ar[1]);
637
- path.lineTo(ar[0] - headLength * Math.cos(angle + Math.PI / 6), ar[1] - headLength * Math.sin(angle + Math.PI / 6));
633
+ const angle = Math.atan2(ar_0[1] - p_0[1], ar_0[0] - p_0[0]);
634
+ path.moveTo(ar_0[0], ar_0[1]);
635
+ path.lineTo(ar_0[0] - headLength * Math.cos(angle - Math.PI / 6), ar_0[1] - headLength * Math.sin(angle - Math.PI / 6));
636
+ path.moveTo(ar_0[0], ar_0[1]);
637
+ path.lineTo(ar_0[0] - headLength * Math.cos(angle + Math.PI / 6), ar_0[1] - headLength * Math.sin(angle + Math.PI / 6));
638
638
  }
639
639
  }
640
640
  // object triangle
641
- else if (['ot', 'ote'].includes(v)) {
642
- path.moveTo(p[0], p[1]);
643
- path.lineTo(p[2], p[3]);
644
- path.lineTo(p[4], p[5]);
641
+ else if (['ot', 'ote'].includes(v_0)) {
642
+ path.moveTo(p_0[0], p_0[1]);
643
+ path.lineTo(p_0[2], p_0[3]);
644
+ path.lineTo(p_0[4], p_0[5]);
645
645
  path.closePath();
646
646
  }
647
647
  return path;
648
- }, []);
649
- const draw = React.useCallback(item => {
650
- const ui = refs.ui.current.getContext('2d');
648
+ };
649
+ const draw = item_13 => {
650
+ const ui_1 = refs.ui.current.getContext('2d');
651
651
 
652
652
  // settings
653
- Object.keys(item.s || {}).forEach(key => ui[key] = item.s?.[key]);
654
- ui.globalAlpha = refs.remove.current.includes(item) ? 0.25 : item.s?.globalAlpha !== undefined ? item.s?.globalAlpha : 1;
655
- ui.beginPath();
656
- const path = getPath(item);
657
- const v = item.v;
658
- if (['dp'].includes(v)) ui.fill(path);else if (['dl', 'oc', 'oe', 'or', 'os', 'ol', 'oa', 'ot', 'ote'].includes(v)) ui.stroke(path);
659
- }, []);
660
- const drawGrid = React.useCallback(() => {
653
+ Object.keys(item_13.s || {}).forEach(key => ui_1[key] = item_13.s?.[key]);
654
+ ui_1.globalAlpha = refs.remove.current.includes(item_13) ? 0.25 : item_13.s?.globalAlpha !== undefined ? item_13.s?.globalAlpha : 1;
655
+ ui_1.beginPath();
656
+ const path_0 = getPath(item_13);
657
+ const v_1 = item_13.v;
658
+ if (['dp'].includes(v_1)) ui_1.fill(path_0);else if (['dl', 'oc', 'oe', 'or', 'os', 'ol', 'oa', 'ot', 'ote'].includes(v_1)) ui_1.stroke(path_0);
659
+ };
660
+ const drawGrid = () => {
661
661
  const uiCanvas = refs.ui.current;
662
- const ui = refs.ui.current.getContext('2d');
662
+ const ui_2 = refs.ui.current.getContext('2d');
663
663
  const zoom = refs.scale.current;
664
664
  const gridSize = 70;
665
- const offsetX = refs.move.current.x / zoom;
666
- const offsetY = refs.move.current.y / zoom;
665
+ const offsetX_1 = refs.move.current.x / zoom;
666
+ const offsetY_1 = refs.move.current.y / zoom;
667
667
 
668
668
  // Calculate start positions based on offsets
669
- const startX = Math.floor(-offsetX / gridSize) * gridSize;
670
- const startY = Math.floor(-offsetY / gridSize) * gridSize;
669
+ const startX = Math.floor(-offsetX_1 / gridSize) * gridSize;
670
+ const startY = Math.floor(-offsetY_1 / gridSize) * gridSize;
671
671
  const width = uiCanvas.clientWidth * 1.5 / (zoom < 1 ? zoom : 1);
672
- const height = uiCanvas.clientHeight * 1.5 / (zoom < 1 ? zoom : 1);
672
+ const height_0 = uiCanvas.clientHeight * 1.5 / (zoom < 1 ? zoom : 1);
673
673
  if (gridSize < 30) return;
674
674
 
675
675
  // Draw main grid lines
676
- ui.globalAlpha = 1;
677
- ui.lineWidth = (zoom < 0.5 ? 0.3 : zoom <= 1 ? 0.5 : 0.7) / zoom;
678
- ui.strokeStyle = '#ccc';
676
+ ui_2.globalAlpha = 1;
677
+ ui_2.lineWidth = (zoom < 0.5 ? 0.3 : zoom <= 1 ? 0.5 : 0.7) / zoom;
678
+ ui_2.strokeStyle = '#ccc';
679
679
 
680
680
  // grid
681
- for (let x = startX; x < width + Math.abs(startX); x += gridSize) {
682
- ui.beginPath();
683
- ui.moveTo(x, startY);
684
- ui.lineTo(x, height + startY);
685
- ui.stroke();
681
+ for (let x_2 = startX; x_2 < width + Math.abs(startX); x_2 += gridSize) {
682
+ ui_2.beginPath();
683
+ ui_2.moveTo(x_2, startY);
684
+ ui_2.lineTo(x_2, height_0 + startY);
685
+ ui_2.stroke();
686
686
  }
687
- for (let y = startY; y < height + Math.abs(startY); y += gridSize) {
688
- ui.beginPath();
689
- ui.moveTo(startX, y);
690
- ui.lineTo(width + startX, y);
691
- ui.stroke();
687
+ for (let y_2 = startY; y_2 < height_0 + Math.abs(startY); y_2 += gridSize) {
688
+ ui_2.beginPath();
689
+ ui_2.moveTo(startX, y_2);
690
+ ui_2.lineTo(width + startX, y_2);
691
+ ui_2.stroke();
692
692
  }
693
693
 
694
694
  // subgrid
695
695
  if (gridSize * zoom > 100) {
696
696
  // Draw subgrid lines if zoomed in
697
697
  const subGridSize = gridSize / 5;
698
- ui.lineWidth = (zoom <= 5 ? 0.6 : zoom <= 10 ? 0.8 : 1) / zoom;
699
- ui.strokeStyle = '#ddd';
698
+ ui_2.lineWidth = (zoom <= 5 ? 0.6 : zoom <= 10 ? 0.8 : 1) / zoom;
699
+ ui_2.strokeStyle = '#ddd';
700
700
  const dash = zoom < 1 ? 3 * zoom : 3 / zoom;
701
- ui.setLineDash([dash, dash]);
702
- for (let x = startX; x < width + Math.abs(startX); x += subGridSize) {
701
+ ui_2.setLineDash([dash, dash]);
702
+ for (let x_3 = startX; x_3 < width + Math.abs(startX); x_3 += subGridSize) {
703
703
  // without overlap
704
- if (!(x % gridSize)) continue;
705
- ui.beginPath();
706
- ui.moveTo(x, startY);
707
- ui.lineTo(x, height + startY);
708
- ui.stroke();
704
+ if (!(x_3 % gridSize)) continue;
705
+ ui_2.beginPath();
706
+ ui_2.moveTo(x_3, startY);
707
+ ui_2.lineTo(x_3, height_0 + startY);
708
+ ui_2.stroke();
709
709
  }
710
- for (let y = startY; y < height + Math.abs(startY); y += subGridSize) {
710
+ for (let y_3 = startY; y_3 < height_0 + Math.abs(startY); y_3 += subGridSize) {
711
711
  // without overlap
712
- if (!(y % gridSize)) continue;
713
- ui.beginPath();
714
- ui.moveTo(startX, y);
715
- ui.lineTo(width + startX, y);
716
- ui.stroke();
712
+ if (!(y_3 % gridSize)) continue;
713
+ ui_2.beginPath();
714
+ ui_2.moveTo(startX, y_3);
715
+ ui_2.lineTo(width + startX, y_3);
716
+ ui_2.stroke();
717
717
  }
718
- ui.setLineDash([]); // Reset line dash
718
+ ui_2.setLineDash([]); // Reset line dash
719
719
  }
720
- }, []);
721
- const drawImage = React.useCallback(item => {
722
- const ui = refs.ui.current.getContext('2d');
723
- ui.globalAlpha = 1;
724
- ui.drawImage(item.s.image || refs.image.current, ...item.p, ...item.ar);
725
- }, []);
726
- const drawCursor = React.useCallback(item => {
727
- if (!item || !item.s.cursor) return;
728
- const ui = refs.ui.current.getContext('2d');
720
+ };
721
+ const drawImage = item_14 => {
722
+ const ui_3 = refs.ui.current.getContext('2d');
723
+ ui_3.globalAlpha = 1;
724
+ ui_3.drawImage(item_14.s.image || refs.image.current, ...item_14.p, ...item_14.ar);
725
+ };
726
+ const drawCursor = item_15 => {
727
+ if (!item_15 || !item_15.s.cursor) return;
728
+ const ui_4 = refs.ui.current.getContext('2d');
729
729
  const {
730
- line,
730
+ line: line_0,
731
731
  char
732
- } = item.s.cursor;
733
- const currentLine = item.s.lines[line] || '';
734
- const textWidth = ui.measureText(currentLine.slice(0, char)).width;
732
+ } = item_15.s.cursor;
733
+ const currentLine = item_15.s.lines[line_0] || '';
734
+ const textWidth = ui_4.measureText(currentLine.slice(0, char)).width;
735
735
  const {
736
- padding,
737
- lineHeight
736
+ padding: padding_1,
737
+ lineHeight: lineHeight_1
738
738
  } = refs.textSettings.current;
739
- const cursorX = item.p[0] + padding + textWidth;
740
- const cursorY = item.p[1] + padding + (line + 1) * lineHeight;
741
- ui.fillStyle = 'black';
742
- ui.fillRect(cursorX, cursorY - lineHeight + 3, 2, lineHeight - 5);
743
- }, []);
744
- const drawText = React.useCallback(item => {
745
- const ui = refs.ui.current.getContext('2d');
746
- const zoom = refs.scale.current;
747
- const [x, y] = item.p;
748
- const [width, height] = item.ar;
739
+ const cursorX = item_15.p[0] + padding_1 + textWidth;
740
+ const cursorY = item_15.p[1] + padding_1 + (line_0 + 1) * lineHeight_1;
741
+ ui_4.fillStyle = 'black';
742
+ ui_4.fillRect(cursorX, cursorY - lineHeight_1 + 3, 2, lineHeight_1 - 5);
743
+ };
744
+ const drawText = item_16 => {
745
+ const ui_5 = refs.ui.current.getContext('2d');
746
+ const zoom_0 = refs.scale.current;
747
+ const [x_4, y_4] = item_16.p;
748
+ const [width_0, height_1] = item_16.ar;
749
749
  const {
750
- lineHeight,
751
- padding,
750
+ lineHeight: lineHeight_2,
751
+ padding: padding_2,
752
752
  fillStyle
753
753
  } = refs.textSettings.current;
754
- const selected = refs.tool.current === 'text' && item.se;
754
+ const selected_1 = refs.tool.current === 'text' && item_16.se;
755
755
 
756
756
  // Draw the box
757
- ui.globalAlpha = 1;
758
- ui.fillStyle = 'transparent';
759
- ui.fillRect(x, y, width, height);
760
- ui.lineWidth = 1 / zoom;
761
- ui.strokeStyle = selected ? colorSelect : 'transparent';
762
- ui.strokeRect(x, y, width, height);
757
+ ui_5.globalAlpha = 1;
758
+ ui_5.fillStyle = 'transparent';
759
+ ui_5.fillRect(x_4, y_4, width_0, height_1);
760
+ ui_5.lineWidth = 1 / zoom_0;
761
+ ui_5.strokeStyle = selected_1 ? colorSelect : 'transparent';
762
+ ui_5.strokeRect(x_4, y_4, width_0, height_1);
763
763
 
764
764
  // Draw the text
765
- ui.fillStyle = fillStyle || 'black';
766
- ui.font = '16px Arial';
767
- item.s.lines.forEach((line, index) => {
768
- ui.fillText(line, x + padding, y + padding + (index + 1) * lineHeight - 5);
765
+ ui_5.fillStyle = fillStyle || 'black';
766
+ ui_5.font = '16px Arial';
767
+ item_16.s.lines.forEach((line_1, index_0) => {
768
+ ui_5.fillText(line_1, x_4 + padding_2, y_4 + padding_2 + (index_0 + 1) * lineHeight_2 - 5);
769
769
  });
770
- if (selected) drawCursor(item);
771
- }, []);
772
- const drawSelect = React.useCallback(item => {
773
- const ui = refs.ui.current.getContext('2d');
774
- const [x, y, width, height] = item.c || [];
775
- const path = new Path2D();
776
- path.rect(x, y, width, height);
777
- ui.globalAlpha = 1;
778
- ui.strokeStyle = colorSelect;
779
- ui.lineCap = 'square';
780
- ui.lineJoin = 'bevel';
781
- ui.lineWidth = 1 / refs.scale.current;
782
- ui.stroke(path);
783
- }, []);
784
- const drawSelection = React.useCallback(() => {
785
- const ui = refs.ui.current.getContext('2d');
786
- const zoom = refs.scale.current;
770
+ if (selected_1) drawCursor(item_16);
771
+ };
772
+ const drawSelect = item_17 => {
773
+ const ui_6 = refs.ui.current.getContext('2d');
774
+ const [x_5, y_5, width_1, height_2] = item_17.c || [];
775
+ const path_1 = new Path2D();
776
+ path_1.rect(x_5, y_5, width_1, height_2);
777
+ ui_6.globalAlpha = 1;
778
+ ui_6.strokeStyle = colorSelect;
779
+ ui_6.lineCap = 'square';
780
+ ui_6.lineJoin = 'bevel';
781
+ ui_6.lineWidth = 1 / refs.scale.current;
782
+ ui_6.stroke(path_1);
783
+ };
784
+ const drawSelection = () => {
785
+ const ui_7 = refs.ui.current.getContext('2d');
786
+ const zoom_1 = refs.scale.current;
787
787
 
788
788
  // canvas selection
789
- const select = refs.select.current;
790
- if (select) {
791
- ui.globalAlpha = 1;
792
- ui.globalCompositeOperation = 'source-over';
793
- ui.lineWidth = 1 / zoom;
794
- ui.lineCap = 'square';
795
- ui.lineJoin = 'bevel';
796
- ui.strokeStyle = colorSelect;
797
- ui.fillStyle = colorSelectBackground;
798
- const path = getPath(select);
799
- ui.fill(path);
800
- ui.stroke(path);
789
+ const select_0 = refs.select.current;
790
+ if (select_0) {
791
+ ui_7.globalAlpha = 1;
792
+ ui_7.globalCompositeOperation = 'source-over';
793
+ ui_7.lineWidth = 1 / zoom_1;
794
+ ui_7.lineCap = 'square';
795
+ ui_7.lineJoin = 'bevel';
796
+ ui_7.strokeStyle = colorSelect;
797
+ ui_7.fillStyle = colorSelectBackground;
798
+ const path_2 = getPath(select_0);
799
+ ui_7.fill(path_2);
800
+ ui_7.stroke(path_2);
801
801
  }
802
- }, []);
803
- const render = React.useCallback(() => {
804
- const ui = refs.ui.current.getContext('2d');
805
- const items = refs.items.current.filter(Boolean);
802
+ };
803
+ const render = () => {
804
+ const ui_8 = refs.ui.current.getContext('2d');
805
+ const items_4 = refs.items.current.filter(Boolean);
806
806
 
807
807
  // methods
808
- ui.clearRect(0, 0, refs.ui.current.width, refs.ui.current.height);
809
- ui.save();
808
+ ui_8.clearRect(0, 0, refs.ui.current.width, refs.ui.current.height);
809
+ ui_8.save();
810
810
 
811
811
  // pan
812
- ui.translate(refs.move.current.x, refs.move.current.y);
812
+ ui_8.translate(refs.move.current.x, refs.move.current.y);
813
813
  // zoom
814
- ui.scale(refs.scale.current, refs.scale.current);
814
+ ui_8.scale(refs.scale.current, refs.scale.current);
815
815
 
816
816
  // grid
817
817
  if (refs.grid.current) drawGrid();
818
818
 
819
819
  // draw
820
- items.forEach(item => {
820
+ items_4.forEach(item_18 => {
821
821
  // image
822
- if (item.v === 'i' && item.ar.length === 2) drawImage(item);
822
+ if (item_18.v === 'i' && item_18.ar.length === 2) drawImage(item_18);
823
823
  // text
824
- else if (item.v === 't') drawText(item);
824
+ else if (item_18.v === 't') drawText(item_18);
825
825
  // other
826
- else draw(item);
826
+ else draw(item_18);
827
827
 
828
828
  // select
829
- if (item.se) drawSelect(item);
829
+ if (item_18.se) drawSelect(item_18);
830
830
  });
831
831
 
832
832
  // canvas selection
833
833
  drawSelection();
834
- ui.restore();
835
- }, []);
834
+ ui_8.restore();
835
+ };
836
836
 
837
837
  // Snap angle to nearest multiple of 15 degrees
838
- const snapToAngle = React.useCallback((dx, dy) => {
838
+ const snapToAngle = (dx, dy) => {
839
839
  // Current angle in radians
840
- const angle = Math.atan2(dy, dx);
840
+ const angle_0 = Math.atan2(dy, dx);
841
841
  // Snap to nearest 15 degrees
842
- const snappedAngle = Math.round(angle / (Math.PI / 12)) * (Math.PI / 12);
842
+ const snappedAngle = Math.round(angle_0 / (Math.PI / 12)) * (Math.PI / 12);
843
843
  // Length of the vector
844
844
  const length = Math.sqrt(dx * dx + dy * dy);
845
845
  return {
846
846
  x: Math.cos(snappedAngle) * length,
847
847
  y: Math.sin(snappedAngle) * length
848
848
  };
849
- }, []);
850
- const onMoveItems = React.useCallback((x, y) => {
851
- const itemsSelected = getItems(true);
852
- itemsSelected.forEach(item => {
853
- const v = item.v;
849
+ };
850
+ const onMoveItems = (x_6, y_6) => {
851
+ const itemsSelected_0 = getItems(true);
852
+ itemsSelected_0.forEach(item_19 => {
853
+ const v_2 = item_19.v;
854
854
 
855
855
  // draw line
856
- if (v === 'dl') {
857
- item.p = item.p.map((value, index) => {
858
- return index % 2 ? value + y : value + x;
856
+ if (v_2 === 'dl') {
857
+ item_19.p = item_19.p.map((value, index_1) => {
858
+ return index_1 % 2 ? value + y_6 : value + x_6;
859
859
  });
860
860
  }
861
861
 
862
862
  // rectangle, draw point, object circle, ellipse, object line, object arrow, object triangle, image, text
863
- if (['or', 'os', 'dp', 'oc', 'oe', 'ol', 'oa', 'ot', 'ote', 'i', 't'].includes(v)) {
864
- item.p[0] += x;
865
- item.p[1] += y;
863
+ if (['or', 'os', 'dp', 'oc', 'oe', 'ol', 'oa', 'ot', 'ote', 'i', 't'].includes(v_2)) {
864
+ item_19.p[0] += x_6;
865
+ item_19.p[1] += y_6;
866
866
  }
867
867
 
868
868
  // object line
869
- if (['ol', 'oa'].includes(v)) {
870
- item.ar[0] += x;
871
- item.ar[1] += y;
869
+ if (['ol', 'oa'].includes(v_2)) {
870
+ item_19.ar[0] += x_6;
871
+ item_19.ar[1] += y_6;
872
872
  }
873
873
 
874
874
  // object triangle
875
- if (['ot', 'ote'].includes(v)) {
876
- item.p[2] += x;
877
- item.p[4] += x;
878
- item.p[3] += y;
879
- item.p[5] += y;
875
+ if (['ot', 'ote'].includes(v_2)) {
876
+ item_19.p[2] += x_6;
877
+ item_19.p[4] += x_6;
878
+ item_19.p[3] += y_6;
879
+ item_19.p[5] += y_6;
880
880
  }
881
881
  });
882
882
  onUpdateCoordinates();
883
- }, []);
884
- const onMove = React.useCallback((body, event) => {
883
+ };
884
+ const onMove = (body_0, event_4) => {
885
885
  if (!refs.on.current) return;
886
886
  const {
887
- offsetX: x,
888
- offsetY: y,
889
- clientX,
890
- clientY
891
- } = body;
892
- const xo = transform(x - refs.move.current.x);
893
- const yo = transform(y - refs.move.current.y);
894
- const ui = refs.ui.current.getContext('2d');
895
- const rect = refs.ui.current.getBoundingClientRect();
896
- const currentX = clientX - rect.left;
897
- const currentY = clientY - rect.top;
898
- const start = refs.start.current;
899
- const startTransformed = {
900
- x: transform(start.x - refs.move.current.x),
901
- y: transform(start.y - refs.move.current.y)
887
+ offsetX: x_7,
888
+ offsetY: y_7,
889
+ clientX: clientX_2,
890
+ clientY: clientY_2
891
+ } = body_0;
892
+ const xo = transform(x_7 - refs.move.current.x);
893
+ const yo = transform(y_7 - refs.move.current.y);
894
+ const ui_9 = refs.ui.current.getContext('2d');
895
+ const rect_1 = refs.ui.current.getBoundingClientRect();
896
+ const currentX = clientX_2 - rect_1.left;
897
+ const currentY = clientY_2 - rect_1.top;
898
+ const start_0 = refs.start.current;
899
+ const startTransformed_0 = {
900
+ x: transform(start_0.x - refs.move.current.x),
901
+ y: transform(start_0.y - refs.move.current.y)
902
902
  };
903
- const item = getItem();
904
- const items = getItems();
905
- const t = refs.tool.current;
906
- const shiftKey = event.shiftKey;
907
- const zoom = refs.scale.current;
903
+ const item_20 = getItem();
904
+ const items_5 = getItems();
905
+ const t_0 = refs.tool.current;
906
+ const shiftKey = event_4.shiftKey;
907
+ const zoom_2 = refs.scale.current;
908
908
  refs.mouseMove.current.current = {
909
- x: clientX / zoom,
910
- y: clientY / zoom
909
+ x: clientX_2 / zoom_2,
910
+ y: clientY_2 / zoom_2
911
911
  };
912
912
  refs.mouseMove.current.delta = {
913
913
  x: refs.mouseMove.current.previous ? refs.mouseMove.current.current.x - refs.mouseMove.current.previous.x : 0,
@@ -917,137 +917,137 @@ const Whiteboard = /*#__PURE__*/React.forwardRef((props_, ref) => {
917
917
  const delta = refs.mouseMove.current.delta;
918
918
 
919
919
  // select
920
- if (t === 'select') {
920
+ if (t_0 === 'select') {
921
921
  if (!refs.moveStarted.current) refs.moveStarted.current = true;
922
922
  if (refs.select.current) {
923
923
  unselectAll();
924
- const width = currentX - start.x;
925
- const height = currentY - start.y;
924
+ const width_2 = currentX - start_0.x;
925
+ const height_3 = currentY - start_0.y;
926
926
  const isSquare = shiftKey;
927
927
  const radius = 0;
928
928
  if (isSquare) {
929
- const side = Math.min(Math.abs(width), Math.abs(height));
929
+ const side = Math.min(Math.abs(width_2), Math.abs(height_3));
930
930
  refs.select.current.v = 'os';
931
- refs.select.current.p = [startTransformed.x, startTransformed.y];
932
- refs.select.current.ar = [transform(Math.sign(width) * side), transform(Math.sign(height) * side), radius];
931
+ refs.select.current.p = [startTransformed_0.x, startTransformed_0.y];
932
+ refs.select.current.ar = [transform(Math.sign(width_2) * side), transform(Math.sign(height_3) * side), radius];
933
933
  } else {
934
934
  refs.select.current.v = 'or';
935
- refs.select.current.p = [startTransformed.x, startTransformed.y];
936
- refs.select.current.ar = [transform(width), transform(height), radius];
935
+ refs.select.current.p = [startTransformed_0.x, startTransformed_0.y];
936
+ refs.select.current.ar = [transform(width_2), transform(height_3), radius];
937
937
  }
938
938
  } else onMoveItems(delta.x, delta.y);
939
939
  }
940
940
  // pen
941
- else if (t === 'pen' && item) {
941
+ else if (t_0 === 'pen' && item_20) {
942
942
  // same path from draw point, to move
943
943
  if (!refs.moveStarted.current) {
944
- item.v = 'dl';
944
+ item_20.v = 'dl';
945
945
  refs.moveStarted.current = true;
946
946
  }
947
947
 
948
948
  // Add the current point to the path
949
- item.p.push(xo, yo);
949
+ item_20.p.push(xo, yo);
950
950
  }
951
951
  // pan
952
- else if (t === 'pan') {
953
- refs.move.current.x = x - refs.previous.current.x + refs.offset.current.x;
954
- refs.move.current.y = y - refs.previous.current.y + refs.offset.current.y;
952
+ else if (t_0 === 'pan') {
953
+ refs.move.current.x = x_7 - refs.previous.current.x + refs.offset.current.x;
954
+ refs.move.current.y = y_7 - refs.previous.current.y + refs.offset.current.y;
955
955
  }
956
956
  // eraser
957
- else if (t === 'eraser') {
957
+ else if (t_0 === 'eraser') {
958
958
  // find all items that x, y collides with, with certain radius
959
- for (const i of items) {
960
- const isPointInStroke = ui.isPointInStroke(getPath(i), xo, yo);
961
- if (isPointInStroke) refs.remove.current.push(i);
959
+ for (const i_2 of items_5) {
960
+ const isPointInStroke = ui_9.isPointInStroke(getPath(i_2), xo, yo);
961
+ if (isPointInStroke) refs.remove.current.push(i_2);
962
962
  }
963
963
  }
964
964
  // object line, object arrow
965
- else if (['line', 'line-arrow'].includes(t)) {
965
+ else if (['line', 'line-arrow'].includes(t_0)) {
966
966
  const snapAt15Degrees = shiftKey;
967
967
  let endX = currentX;
968
968
  let endY = currentY;
969
969
  if (snapAt15Degrees) {
970
- const snapped = snapToAngle(currentX - start.x, currentY - start.y);
971
- endX = start.x + snapped.x;
972
- endY = start.y + snapped.y;
970
+ const snapped = snapToAngle(currentX - start_0.x, currentY - start_0.y);
971
+ endX = start_0.x + snapped.x;
972
+ endY = start_0.y + snapped.y;
973
973
  }
974
- item.v = t === 'line' ? 'ol' : 'oa';
975
- item.p = [startTransformed.x, startTransformed.y];
976
- item.ar = [transform(endX - refs.move.current.x), transform(endY - refs.move.current.y)];
974
+ item_20.v = t_0 === 'line' ? 'ol' : 'oa';
975
+ item_20.p = [startTransformed_0.x, startTransformed_0.y];
976
+ item_20.ar = [transform(endX - refs.move.current.x), transform(endY - refs.move.current.y)];
977
977
  }
978
978
  // object circle
979
- else if (t === 'circle') {
980
- const width = currentX - start.x;
981
- const height = currentY - start.y;
979
+ else if (t_0 === 'circle') {
980
+ const width_3 = currentX - start_0.x;
981
+ const height_4 = currentY - start_0.y;
982
982
  const isCircle = shiftKey;
983
983
  if (isCircle) {
984
- const radius = Math.min(Math.abs(width), Math.abs(height)) / 2;
985
- const centerX = start.x + Math.sign(width) * radius;
986
- const centerY = start.y + Math.sign(height) * radius;
987
- item.v = 'oc';
988
- item.p = [transform(centerX - refs.move.current.x), transform(centerY - refs.move.current.y)];
989
- item.ar = [transform(radius), 0, Math.PI * 2];
984
+ const radius_0 = Math.min(Math.abs(width_3), Math.abs(height_4)) / 2;
985
+ const centerX = start_0.x + Math.sign(width_3) * radius_0;
986
+ const centerY = start_0.y + Math.sign(height_4) * radius_0;
987
+ item_20.v = 'oc';
988
+ item_20.p = [transform(centerX - refs.move.current.x), transform(centerY - refs.move.current.y)];
989
+ item_20.ar = [transform(radius_0), 0, Math.PI * 2];
990
990
  } else {
991
- item.v = 'oe';
992
- item.p = [transform(start.x + width / 2 - refs.move.current.x), transform(start.y + height / 2 - refs.move.current.y)];
993
- item.ar = [transform(Math.abs(width) / 2), transform(Math.abs(height) / 2), 0, 0, Math.PI * 2];
991
+ item_20.v = 'oe';
992
+ item_20.p = [transform(start_0.x + width_3 / 2 - refs.move.current.x), transform(start_0.y + height_4 / 2 - refs.move.current.y)];
993
+ item_20.ar = [transform(Math.abs(width_3) / 2), transform(Math.abs(height_4) / 2), 0, 0, Math.PI * 2];
994
994
  }
995
995
  }
996
996
  // object rectangle
997
- else if (t === 'rectangle') {
998
- const width = currentX - start.x;
999
- const height = currentY - start.y;
1000
- const isSquare = shiftKey;
1001
- const radius = 0;
1002
- if (isSquare) {
1003
- const side = Math.min(Math.abs(width), Math.abs(height));
1004
- item.v = 'os';
1005
- item.p = [startTransformed.x, startTransformed.y];
1006
- item.ar = [transform(Math.sign(width) * side), transform(Math.sign(height) * side), radius];
997
+ else if (t_0 === 'rectangle') {
998
+ const width_4 = currentX - start_0.x;
999
+ const height_5 = currentY - start_0.y;
1000
+ const isSquare_0 = shiftKey;
1001
+ const radius_1 = 0;
1002
+ if (isSquare_0) {
1003
+ const side_0 = Math.min(Math.abs(width_4), Math.abs(height_5));
1004
+ item_20.v = 'os';
1005
+ item_20.p = [startTransformed_0.x, startTransformed_0.y];
1006
+ item_20.ar = [transform(Math.sign(width_4) * side_0), transform(Math.sign(height_5) * side_0), radius_1];
1007
1007
  } else {
1008
- item.v = 'or';
1009
- item.p = [startTransformed.x, startTransformed.y];
1010
- item.ar = [transform(width), transform(height), radius];
1008
+ item_20.v = 'or';
1009
+ item_20.p = [startTransformed_0.x, startTransformed_0.y];
1010
+ item_20.ar = [transform(width_4), transform(height_5), radius_1];
1011
1011
  }
1012
1012
  }
1013
1013
  // object triangle
1014
- else if (['triangle'].includes(t)) {
1015
- const endX = xo;
1016
- const endY = yo;
1017
- const base = Math.abs(endX - startTransformed.x);
1018
- const height = shiftKey ? base * Math.sqrt(3) / 2 : Math.abs(endY - startTransformed.y);
1019
- const points = [startTransformed.x, startTransformed.y, endX, startTransformed.y, startTransformed.x + (endX - startTransformed.x) / 2, startTransformed.y - height];
1020
- item.v = shiftKey ? 'ote' : 'ot';
1021
- item.p = points;
1022
- item.s = _objectSpread(_objectSpread({}, item.s), {}, {
1023
- height
1014
+ else if (['triangle'].includes(t_0)) {
1015
+ const endX_0 = xo;
1016
+ const endY_0 = yo;
1017
+ const base = Math.abs(endX_0 - startTransformed_0.x);
1018
+ const height_6 = shiftKey ? base * Math.sqrt(3) / 2 : Math.abs(endY_0 - startTransformed_0.y);
1019
+ const points_0 = [startTransformed_0.x, startTransformed_0.y, endX_0, startTransformed_0.y, startTransformed_0.x + (endX_0 - startTransformed_0.x) / 2, startTransformed_0.y - height_6];
1020
+ item_20.v = shiftKey ? 'ote' : 'ot';
1021
+ item_20.p = points_0;
1022
+ item_20.s = _objectSpread(_objectSpread({}, item_20.s), {}, {
1023
+ height: height_6
1024
1024
  });
1025
1025
  }
1026
1026
  // image
1027
- else if (t === 'image' && refs.image.current.complete && refs.image.current.src) {
1028
- const width = transform(currentX - start.x);
1029
- const height = transform(currentY - start.y);
1027
+ else if (t_0 === 'image' && refs.image.current.complete && refs.image.current.src) {
1028
+ const width_5 = transform(currentX - start_0.x);
1029
+ const height_7 = transform(currentY - start_0.y);
1030
1030
  const keepAspectRatio = !shiftKey;
1031
1031
  let currentWidth;
1032
1032
  let currentHeight;
1033
1033
  if (keepAspectRatio) {
1034
- if (Math.abs(width / refs.aspectRatio.current) <= Math.abs(height)) {
1035
- currentWidth = width;
1036
- currentHeight = width / refs.aspectRatio.current;
1034
+ if (Math.abs(width_5 / refs.aspectRatio.current) <= Math.abs(height_7)) {
1035
+ currentWidth = width_5;
1036
+ currentHeight = width_5 / refs.aspectRatio.current;
1037
1037
  } else {
1038
- currentWidth = height * refs.aspectRatio.current;
1039
- currentHeight = height;
1038
+ currentWidth = height_7 * refs.aspectRatio.current;
1039
+ currentHeight = height_7;
1040
1040
  }
1041
1041
  } else {
1042
- currentWidth = width;
1043
- currentHeight = height;
1042
+ currentWidth = width_5;
1043
+ currentHeight = height_7;
1044
1044
  }
1045
1045
  if (keepAspectRatio) {
1046
- if (width < 0 && currentWidth > 0 || width > 0 && currentWidth < 0) currentWidth *= -1;
1047
- if (height < 0 && currentHeight > 0 || height > 0 && currentHeight < 0) currentHeight *= -1;
1046
+ if (width_5 < 0 && currentWidth > 0 || width_5 > 0 && currentWidth < 0) currentWidth *= -1;
1047
+ if (height_7 < 0 && currentHeight > 0 || height_7 > 0 && currentHeight < 0) currentHeight *= -1;
1048
1048
  }
1049
- item.p = [startTransformed.x, startTransformed.y];
1050
- item.ar = [currentWidth, currentHeight];
1049
+ item_20.p = [startTransformed_0.x, startTransformed_0.y];
1050
+ item_20.ar = [currentWidth, currentHeight];
1051
1051
  }
1052
1052
 
1053
1053
  // select box
@@ -1055,49 +1055,49 @@ const Whiteboard = /*#__PURE__*/React.forwardRef((props_, ref) => {
1055
1055
 
1056
1056
  // render
1057
1057
  render();
1058
- }, []);
1059
- const onMouseMove = React.useCallback(event => {
1058
+ };
1059
+ const onMouseMove = event_5 => {
1060
1060
  const {
1061
- offsetX,
1062
- offsetY,
1063
- clientX,
1064
- clientY
1065
- } = event;
1061
+ offsetX: offsetX_2,
1062
+ offsetY: offsetY_2,
1063
+ clientX: clientX_3,
1064
+ clientY: clientY_3
1065
+ } = event_5;
1066
1066
  onMove({
1067
- offsetX,
1068
- offsetY,
1069
- clientX,
1070
- clientY
1071
- }, event);
1072
- }, [onMove]);
1073
- const onTouchMove = React.useCallback(event => {
1067
+ offsetX: offsetX_2,
1068
+ offsetY: offsetY_2,
1069
+ clientX: clientX_3,
1070
+ clientY: clientY_3
1071
+ }, event_5);
1072
+ };
1073
+ const onTouchMove = event_6 => {
1074
1074
  // Get the first touch point
1075
- const touch = event.touches[0];
1075
+ const touch_0 = event_6.touches[0];
1076
1076
  const {
1077
- clientX,
1078
- clientY
1079
- } = touch;
1077
+ clientX: clientX_4,
1078
+ clientY: clientY_4
1079
+ } = touch_0;
1080
1080
  let {
1081
- offsetX,
1082
- offsetY
1083
- } = touch;
1084
- const targetElement = touch.target;
1085
- if (targetElement instanceof HTMLElement) {
1081
+ offsetX: offsetX_3,
1082
+ offsetY: offsetY_3
1083
+ } = touch_0;
1084
+ const targetElement_0 = touch_0.target;
1085
+ if (targetElement_0 instanceof HTMLElement) {
1086
1086
  // Get the bounding rectangle of the target element
1087
- const rect = targetElement.getBoundingClientRect();
1087
+ const rect_2 = targetElement_0.getBoundingClientRect();
1088
1088
 
1089
1089
  // Calculate the offsetX and offsetY
1090
- offsetX = touch.clientX - rect.left;
1091
- offsetY = touch.clientY - rect.top;
1090
+ offsetX_3 = touch_0.clientX - rect_2.left;
1091
+ offsetY_3 = touch_0.clientY - rect_2.top;
1092
1092
  }
1093
1093
  onMove({
1094
- offsetX,
1095
- offsetY,
1096
- clientX,
1097
- clientY
1098
- }, event);
1099
- }, [onInteractionDown]);
1100
- const undo = React.useCallback(() => {
1094
+ offsetX: offsetX_3,
1095
+ offsetY: offsetY_3,
1096
+ clientX: clientX_4,
1097
+ clientY: clientY_4
1098
+ }, event_6);
1099
+ };
1100
+ const undo = () => {
1101
1101
  if (!refs.undo.current.length) return;
1102
1102
 
1103
1103
  // add current state to redo
@@ -1108,8 +1108,8 @@ const Whiteboard = /*#__PURE__*/React.forwardRef((props_, ref) => {
1108
1108
 
1109
1109
  // render
1110
1110
  render();
1111
- }, []);
1112
- const redo = React.useCallback(() => {
1111
+ };
1112
+ const redo = () => {
1113
1113
  if (!refs.redo.current.length) return;
1114
1114
 
1115
1115
  // add current state to undo
@@ -1120,17 +1120,17 @@ const Whiteboard = /*#__PURE__*/React.forwardRef((props_, ref) => {
1120
1120
 
1121
1121
  // render
1122
1122
  render();
1123
- }, []);
1124
- const onWheel = React.useCallback(eventReact => {
1125
- const event = eventReact.nativeEvent;
1123
+ };
1124
+ const onWheel = eventReact_1 => {
1125
+ const event_7 = eventReact_1.nativeEvent;
1126
1126
 
1127
1127
  // zoom
1128
- if (event.metaKey || event.ctrlKey) {
1128
+ if (event_7.metaKey || event_7.ctrlKey) {
1129
1129
  setTool('zoom');
1130
1130
  refs.toolUpdateAuto.current = true;
1131
1131
  const zoomFactor = 1.054;
1132
- const mouseX = event.offsetX;
1133
- const mouseY = event.offsetY;
1132
+ const mouseX = event_7.offsetX;
1133
+ const mouseY = event_7.offsetY;
1134
1134
  const scale = refs.scale.current;
1135
1135
 
1136
1136
  // Convert mouse position to canvas coordinates
@@ -1138,7 +1138,7 @@ const Whiteboard = /*#__PURE__*/React.forwardRef((props_, ref) => {
1138
1138
  const canvasY = (mouseY - refs.move.current.y) / scale;
1139
1139
 
1140
1140
  // Adjust scale
1141
- const zoomIn = event.deltaY < 0;
1141
+ const zoomIn = event_7.deltaY < 0;
1142
1142
  const newScale = zoomIn ? scale * zoomFactor : scale / zoomFactor;
1143
1143
  if (newScale <= maxZoom / 100 && newScale >= minZoom / 100) {
1144
1144
  // Update origin to focus on mouse position
@@ -1150,22 +1150,22 @@ const Whiteboard = /*#__PURE__*/React.forwardRef((props_, ref) => {
1150
1150
  }
1151
1151
  // pan
1152
1152
  else if (!refs.mouseDown.current) {
1153
- refs.move.current.x -= event.deltaX;
1154
- refs.move.current.y -= event.deltaY;
1153
+ refs.move.current.x -= event_7.deltaX;
1154
+ refs.move.current.y -= event_7.deltaY;
1155
1155
  render();
1156
1156
  }
1157
- }, [minZoom, maxZoom]);
1158
- const onPaste = React.useCallback(event => {
1159
- event.preventDefault();
1157
+ };
1158
+ const onPaste = event_8 => {
1159
+ event_8.preventDefault();
1160
1160
 
1161
1161
  // Get clipboard data
1162
- const items = Array.from(event.clipboardData.items);
1162
+ const items_6 = Array.from(event_8.clipboardData.items);
1163
1163
 
1164
1164
  // Loop through clipboard items to find an image
1165
- for (const item of items) {
1166
- if (item.type.startsWith('image/')) {
1165
+ for (const item_21 of items_6) {
1166
+ if (item_21.type.startsWith('image/')) {
1167
1167
  // Get the image file
1168
- const blob = item.getAsFile();
1168
+ const blob = item_21.getAsFile();
1169
1169
  refs.image.current = new Image();
1170
1170
 
1171
1171
  // Load the image and draw it on the canvas
@@ -1176,7 +1176,7 @@ const Whiteboard = /*#__PURE__*/React.forwardRef((props_, ref) => {
1176
1176
  // 1) Upload the image first, than read it in image src
1177
1177
  // 2) Add url of the image
1178
1178
  // instead of embeding the image
1179
- const item_ = {
1179
+ const item__2 = {
1180
1180
  i: getID(),
1181
1181
  v: 'i',
1182
1182
  p: [],
@@ -1189,7 +1189,7 @@ const Whiteboard = /*#__PURE__*/React.forwardRef((props_, ref) => {
1189
1189
  },
1190
1190
  a: OnesyDate.milliseconds
1191
1191
  };
1192
- add(item_);
1192
+ add(item__2);
1193
1193
  setTool('image');
1194
1194
  };
1195
1195
 
@@ -1198,136 +1198,136 @@ const Whiteboard = /*#__PURE__*/React.forwardRef((props_, ref) => {
1198
1198
  break;
1199
1199
  }
1200
1200
  }
1201
- }, []);
1201
+ };
1202
1202
  React.useEffect(() => {
1203
1203
  const method = () => {
1204
- const width = refs.root.current.offsetWidth;
1205
- const height = refs.root.current.offsetHeight;
1204
+ const width_6 = refs.root.current.offsetWidth;
1205
+ const height_8 = refs.root.current.offsetHeight;
1206
1206
  setSize({
1207
- width,
1208
- height
1207
+ width: width_6,
1208
+ height: height_8
1209
1209
  });
1210
1210
  };
1211
- const onKeyUp = event => {
1211
+ const onKeyUp = event_9 => {
1212
1212
  if (refs.toolUpdateAuto.current) setTool(refs.previousTool.current || 'pen');
1213
1213
  };
1214
- const onKeyDown = async event => {
1214
+ const onKeyDown = async event_10 => {
1215
1215
  refs.toolUpdateAuto.current = false;
1216
1216
  const {
1217
- key
1218
- } = event;
1217
+ key: key_0
1218
+ } = event_10;
1219
1219
  const itemsAll = [...refs.items.current].filter(Boolean);
1220
- const t = refs.tool.current;
1221
- const zoom = refs.scale.current;
1222
- if (['a', 'A'].includes(key) && (event.metaKey || event.ctrlKey)) {
1223
- event.preventDefault();
1220
+ const t_1 = refs.tool.current;
1221
+ const zoom_3 = refs.scale.current;
1222
+ if (['a', 'A'].includes(key_0) && (event_10.metaKey || event_10.ctrlKey)) {
1223
+ event_10.preventDefault();
1224
1224
  selectAll();
1225
1225
  render();
1226
- } else if (t === 'select' && ['ArrowUp', 'ArrowDown', 'ArrowLeft', 'ArrowRight', 'Backspace'].includes(key)) {
1227
- const value = event.shiftKey ? 10 : 1;
1228
- if (key === 'ArrowUp') onMoveItems(0, -value / zoom);
1229
- if (key === 'ArrowDown') onMoveItems(0, value / zoom);
1230
- if (key === 'ArrowLeft') onMoveItems(-value / zoom, 0);
1231
- if (key === 'ArrowRight') onMoveItems(value / zoom, 0);
1232
- if (key === 'Backspace') {
1233
- const toRemove = [];
1234
- refs.items.current.forEach(item => {
1235
- if (item.se) toRemove.push(item);
1226
+ } else if (t_1 === 'select' && ['ArrowUp', 'ArrowDown', 'ArrowLeft', 'ArrowRight', 'Backspace'].includes(key_0)) {
1227
+ const value_0 = event_10.shiftKey ? 10 : 1;
1228
+ if (key_0 === 'ArrowUp') onMoveItems(0, -value_0 / zoom_3);
1229
+ if (key_0 === 'ArrowDown') onMoveItems(0, value_0 / zoom_3);
1230
+ if (key_0 === 'ArrowLeft') onMoveItems(-value_0 / zoom_3, 0);
1231
+ if (key_0 === 'ArrowRight') onMoveItems(value_0 / zoom_3, 0);
1232
+ if (key_0 === 'Backspace') {
1233
+ const toRemove_2 = [];
1234
+ refs.items.current.forEach(item_22 => {
1235
+ if (item_22.se) toRemove_2.push(item_22);
1236
1236
  });
1237
- if (toRemove.length) remove(toRemove);
1237
+ if (toRemove_2.length) remove(toRemove_2);
1238
1238
  }
1239
1239
  render();
1240
- } else if (key === 'Escape') {
1240
+ } else if (key_0 === 'Escape') {
1241
1241
  setTool('select');
1242
1242
  refs.textActive.current = null;
1243
1243
  unselectAll();
1244
1244
  filterItems();
1245
1245
  render();
1246
1246
  } else if (tool === 'text') {
1247
- const selectedTextBox = itemsAll.find(item => item.v === 't' && item.se);
1247
+ const selectedTextBox = itemsAll.find(item_23 => item_23.v === 't' && item_23.se);
1248
1248
  if (!selectedTextBox) return;
1249
1249
  const {
1250
- line,
1251
- char
1250
+ line: line_2,
1251
+ char: char_0
1252
1252
  } = selectedTextBox.s.cursor;
1253
- const lines = selectedTextBox.s.lines;
1254
- const currentLine = lines[line];
1255
- if (['ArrowLeft', 'ArrowRight'].includes(key)) {
1256
- event.preventDefault();
1257
- selectedTextBox.s.cursor.char += key === 'ArrowLeft' ? -1 : 1;
1253
+ const lines_0 = selectedTextBox.s.lines;
1254
+ const currentLine_0 = lines_0[line_2];
1255
+ if (['ArrowLeft', 'ArrowRight'].includes(key_0)) {
1256
+ event_10.preventDefault();
1257
+ selectedTextBox.s.cursor.char += key_0 === 'ArrowLeft' ? -1 : 1;
1258
1258
  if (selectedTextBox.s.cursor.char < 0) {
1259
1259
  selectedTextBox.s.cursor.line--;
1260
- selectedTextBox.s.cursor.char = lines[selectedTextBox.s.cursor.line]?.length;
1261
- } else if (selectedTextBox.s.cursor.char > lines[line]?.length && line !== lines.length - 1) {
1260
+ selectedTextBox.s.cursor.char = lines_0[selectedTextBox.s.cursor.line]?.length;
1261
+ } else if (selectedTextBox.s.cursor.char > lines_0[line_2]?.length && line_2 !== lines_0.length - 1) {
1262
1262
  selectedTextBox.s.cursor.line++;
1263
1263
  selectedTextBox.s.cursor.char = 0;
1264
1264
  }
1265
- selectedTextBox.s.cursor.line = clamp(selectedTextBox.s.cursor.line, 0, lines.length - 1);
1266
- selectedTextBox.s.cursor.char = clamp(selectedTextBox.s.cursor.char, 0, lines[selectedTextBox.s.cursor.line]?.length);
1265
+ selectedTextBox.s.cursor.line = clamp(selectedTextBox.s.cursor.line, 0, lines_0.length - 1);
1266
+ selectedTextBox.s.cursor.char = clamp(selectedTextBox.s.cursor.char, 0, lines_0[selectedTextBox.s.cursor.line]?.length);
1267
1267
  }
1268
- if (['ArrowUp', 'ArrowDown'].includes(key)) {
1269
- event.preventDefault();
1270
- selectedTextBox.s.cursor.line += key === 'ArrowUp' ? -1 : 1;
1271
- selectedTextBox.s.cursor.line = clamp(selectedTextBox.s.cursor.line, 0, lines.length - 1);
1272
- selectedTextBox.s.cursor.char = clamp(selectedTextBox.s.cursor.char, 0, lines[selectedTextBox.s.cursor.line]?.length);
1273
- } else if (key === 'Enter') {
1274
- event.preventDefault();
1275
- const newLine = currentLine.slice(char);
1276
- lines[line] = currentLine.slice(0, char);
1277
- lines.splice(line + 1, 0, newLine);
1268
+ if (['ArrowUp', 'ArrowDown'].includes(key_0)) {
1269
+ event_10.preventDefault();
1270
+ selectedTextBox.s.cursor.line += key_0 === 'ArrowUp' ? -1 : 1;
1271
+ selectedTextBox.s.cursor.line = clamp(selectedTextBox.s.cursor.line, 0, lines_0.length - 1);
1272
+ selectedTextBox.s.cursor.char = clamp(selectedTextBox.s.cursor.char, 0, lines_0[selectedTextBox.s.cursor.line]?.length);
1273
+ } else if (key_0 === 'Enter') {
1274
+ event_10.preventDefault();
1275
+ const newLine = currentLine_0.slice(char_0);
1276
+ lines_0[line_2] = currentLine_0.slice(0, char_0);
1277
+ lines_0.splice(line_2 + 1, 0, newLine);
1278
1278
  selectedTextBox.s.cursor.line++;
1279
1279
  selectedTextBox.s.cursor.char = 0;
1280
- } else if (key === 'Backspace') {
1281
- event.preventDefault();
1282
- if (char > 0) {
1283
- lines[line] = currentLine.slice(0, char - 1) + currentLine.slice(char);
1280
+ } else if (key_0 === 'Backspace') {
1281
+ event_10.preventDefault();
1282
+ if (char_0 > 0) {
1283
+ lines_0[line_2] = currentLine_0.slice(0, char_0 - 1) + currentLine_0.slice(char_0);
1284
1284
  selectedTextBox.s.cursor.char--;
1285
- } else if (line > 0) {
1286
- const prevLine = lines[line - 1];
1285
+ } else if (line_2 > 0) {
1286
+ const prevLine = lines_0[line_2 - 1];
1287
1287
  selectedTextBox.s.cursor.char = prevLine.length;
1288
- lines[line - 1] += lines[line];
1289
- lines.splice(line, 1);
1288
+ lines_0[line_2 - 1] += lines_0[line_2];
1289
+ lines_0.splice(line_2, 1);
1290
1290
  selectedTextBox.s.cursor.line--;
1291
1291
  }
1292
- } else if (key.length === 1) {
1293
- if ([' '].includes(key)) event.preventDefault();
1292
+ } else if (key_0.length === 1) {
1293
+ if ([' '].includes(key_0)) event_10.preventDefault();
1294
1294
  let textClipboard = '';
1295
- const isPaste = (event.ctrlKey || event.metaKey) && ['v', 'V'].includes(key);
1295
+ const isPaste = (event_10.ctrlKey || event_10.metaKey) && ['v', 'V'].includes(key_0);
1296
1296
  if (isPaste) {
1297
1297
  try {
1298
1298
  textClipboard = await window.navigator.clipboard.readText();
1299
1299
  } catch (error) {}
1300
1300
  }
1301
- const text = isPaste ? textClipboard : key;
1302
- selectedTextBox.s.lines[line] = currentLine.slice(0, char) + text + currentLine.slice(char);
1301
+ const text = isPaste ? textClipboard : key_0;
1302
+ selectedTextBox.s.lines[line_2] = currentLine_0.slice(0, char_0) + text + currentLine_0.slice(char_0);
1303
1303
  selectedTextBox.s.cursor.char += text.length;
1304
1304
  }
1305
1305
  updateTextBoxDimensions(selectedTextBox);
1306
1306
  selectedTextBox.c = [...selectedTextBox.p, ...selectedTextBox.ar];
1307
1307
  render();
1308
1308
  } else {
1309
- if (event.metaKey && key === 'z') {
1310
- if (event.shiftKey) redo();else undo();
1309
+ if (event_10.metaKey && key_0 === 'z') {
1310
+ if (event_10.shiftKey) redo();else undo();
1311
1311
  }
1312
- if (key === ' ') {
1312
+ if (key_0 === ' ') {
1313
1313
  refs.toolUpdateAuto.current = true;
1314
1314
  setTool('pan');
1315
1315
  }
1316
1316
 
1317
1317
  // tools
1318
- if (event.shiftKey) {
1319
- if (['E', 'D', 'P', 'S', 'C', 'R', 'I', 'L', 'A', 'T', 'G'].includes(key)) refs.toolUpdateAuto.current = false;
1320
- if (key === 'E') setTool('eraser');
1321
- if (key === 'D') setTool('pen');
1322
- if (key === 'P') setTool('pan');
1323
- if (key === 'S') setTool('select');
1324
- if (key === 'C') setTool('circle');
1325
- if (key === 'R') setTool('rectangle');
1326
- if (key === 'I') setTool('triangle');
1327
- if (key === 'L') setTool('line');
1328
- if (key === 'A') setTool('line-arrow');
1329
- if (key === 'T') setTool('text');
1330
- if (key === 'G') {
1318
+ if (event_10.shiftKey) {
1319
+ if (['E', 'D', 'P', 'S', 'C', 'R', 'I', 'L', 'A', 'T', 'G'].includes(key_0)) refs.toolUpdateAuto.current = false;
1320
+ if (key_0 === 'E') setTool('eraser');
1321
+ if (key_0 === 'D') setTool('pen');
1322
+ if (key_0 === 'P') setTool('pan');
1323
+ if (key_0 === 'S') setTool('select');
1324
+ if (key_0 === 'C') setTool('circle');
1325
+ if (key_0 === 'R') setTool('rectangle');
1326
+ if (key_0 === 'I') setTool('triangle');
1327
+ if (key_0 === 'L') setTool('line');
1328
+ if (key_0 === 'A') setTool('line-arrow');
1329
+ if (key_0 === 'T') setTool('text');
1330
+ if (key_0 === 'G') {
1331
1331
  setGrid(previous => !previous);
1332
1332
  render();
1333
1333
  }
@@ -1355,20 +1355,20 @@ const Whiteboard = /*#__PURE__*/React.forwardRef((props_, ref) => {
1355
1355
  window.document.removeEventListener('paste', onPaste);
1356
1356
  };
1357
1357
  }, []);
1358
- const onChangeInputFile = React.useCallback(event => {
1359
- const file = event.target.files[0];
1358
+ const onChangeInputFile = event_11 => {
1359
+ const file = event_11.target.files[0];
1360
1360
  if (file) {
1361
1361
  const reader = new FileReader();
1362
1362
  reader.onload = eventReader => {
1363
1363
  refs.image.current = new Image();
1364
1364
  refs.image.current.src = eventReader.target.result;
1365
1365
  refs.toolUpdateAuto.current = true;
1366
- event.target.value = '';
1366
+ event_11.target.value = '';
1367
1367
  setTool('image');
1368
1368
  };
1369
1369
  reader.readAsDataURL(file);
1370
1370
  }
1371
- }, []);
1371
+ };
1372
1372
  const propsCanvas = {
1373
1373
  width: size.width,
1374
1374
  height: size.height,
@@ -1379,11 +1379,11 @@ const Whiteboard = /*#__PURE__*/React.forwardRef((props_, ref) => {
1379
1379
  }
1380
1380
  };
1381
1381
  return /*#__PURE__*/React.createElement(Line, _extends({
1382
- ref: item => {
1382
+ ref: item_24 => {
1383
1383
  if (ref) {
1384
- if (is('function', ref)) ref(item);else ref.current = item;
1384
+ if (is('function', ref)) ref(item_24);else ref.current = item_24;
1385
1385
  }
1386
- refs.root.current = item;
1386
+ refs.root.current = item_24;
1387
1387
  },
1388
1388
  flex: true,
1389
1389
  fullWidth: true,