@onesy/ui-react 1.0.163 → 1.0.165

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