@onesy/ui-react 1.0.130 → 1.0.131

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (444) hide show
  1. package/Accordion/Accordion.js +342 -242
  2. package/Accordion/index.js +12 -7
  3. package/AdvancedTextField/AdvancedTextField.js +165 -157
  4. package/AdvancedTextField/index.js +12 -7
  5. package/Append/Append.js +502 -519
  6. package/Append/index.js +12 -7
  7. package/AreaChart/AreaChart.js +53 -40
  8. package/AreaChart/index.js +12 -7
  9. package/AreaChartItem/AreaChartItem.js +325 -237
  10. package/AreaChartItem/index.js +12 -7
  11. package/AudioPlayer/AudioPlayer.js +683 -466
  12. package/AudioPlayer/index.js +12 -7
  13. package/AudioRecorder/AudioRecorder.js +359 -259
  14. package/AudioRecorder/index.js +12 -7
  15. package/AutoComplete/AutoComplete.js +693 -568
  16. package/AutoComplete/index.js +12 -7
  17. package/AutoCompleteCountry/AutoCompleteCountry.js +99 -62
  18. package/AutoCompleteCountry/index.js +12 -7
  19. package/AutoCompleteCurrency/AutoCompleteCurrency.js +73 -61
  20. package/AutoCompleteCurrency/index.js +12 -7
  21. package/Avatar/Avatar.js +113 -86
  22. package/Avatar/index.js +12 -7
  23. package/AvatarGroup/AvatarGroup.js +104 -87
  24. package/AvatarGroup/index.js +12 -7
  25. package/Backdrop/Backdrop.js +160 -139
  26. package/Backdrop/index.js +12 -7
  27. package/Badge/Badge.js +116 -96
  28. package/Badge/index.js +12 -7
  29. package/Banner/Banner.js +126 -85
  30. package/Banner/index.js +12 -7
  31. package/BottomAppBar/BottomAppBar.js +89 -60
  32. package/BottomAppBar/index.js +12 -7
  33. package/BottomSheet/BottomSheet.js +66 -59
  34. package/BottomSheet/index.js +12 -7
  35. package/Box/Box.js +43 -35
  36. package/Box/index.js +12 -7
  37. package/Breadcrumbs/Breadcrumbs.js +168 -144
  38. package/Breadcrumbs/index.js +12 -7
  39. package/BubbleChart/BubbleChart.js +261 -132
  40. package/BubbleChart/index.js +12 -7
  41. package/BubbleChartItem/BubbleChartItem.js +228 -161
  42. package/BubbleChartItem/index.js +12 -7
  43. package/Button/Button.js +488 -467
  44. package/Button/index.js +12 -7
  45. package/Buttons/Buttons.js +366 -293
  46. package/Buttons/index.js +12 -7
  47. package/Calendar/Calendar.js +715 -452
  48. package/Calendar/index.js +12 -7
  49. package/CalendarAvailability/CalendarAvailability.js +709 -388
  50. package/CalendarAvailability/index.js +12 -7
  51. package/CalendarMenu/CalendarMenu.js +430 -303
  52. package/CalendarMenu/index.js +12 -7
  53. package/CalendarMonth/CalendarMonth.js +537 -498
  54. package/CalendarMonth/index.js +12 -7
  55. package/CalendarViews/CalendarViews.js +403 -254
  56. package/CalendarViews/index.js +12 -7
  57. package/CalendarWeek/CalendarWeek.js +536 -395
  58. package/CalendarWeek/index.js +12 -7
  59. package/Card/Card.js +133 -101
  60. package/Card/index.js +12 -7
  61. package/CardButton/CardButton.js +78 -58
  62. package/CardButton/index.js +12 -7
  63. package/CardFooter/CardFooter.js +58 -39
  64. package/CardFooter/index.js +12 -7
  65. package/CardHeader/CardHeader.js +61 -44
  66. package/CardHeader/index.js +12 -7
  67. package/CardImage/CardImage.js +80 -67
  68. package/CardImage/index.js +12 -7
  69. package/CardMain/CardMain.js +53 -39
  70. package/CardMain/index.js +12 -7
  71. package/Carousel/Carousel.js +1025 -913
  72. package/Carousel/index.js +12 -7
  73. package/Chart/Chart.js +1325 -1174
  74. package/Chart/index.js +12 -7
  75. package/Checkbox/Checkbox.js +339 -325
  76. package/Checkbox/index.js +12 -7
  77. package/Chip/Chip.js +131 -102
  78. package/Chip/index.js +12 -7
  79. package/Chips/Chips.js +121 -94
  80. package/Chips/index.js +12 -7
  81. package/ClickListener/ClickListener.js +86 -89
  82. package/ClickListener/index.js +12 -7
  83. package/Clock/Clock.js +470 -417
  84. package/Clock/index.js +12 -7
  85. package/ColorTextField/ColorTextField.js +234 -171
  86. package/ColorTextField/index.js +12 -7
  87. package/ColumnChart/ColumnChart.js +63 -46
  88. package/ColumnChart/index.js +12 -7
  89. package/ColumnChartItem/ColumnChartItem.js +208 -149
  90. package/ColumnChartItem/index.js +12 -7
  91. package/Confirm/Confirm.js +184 -129
  92. package/Confirm/Context.js +9 -7
  93. package/Confirm/index.js +32 -13
  94. package/Confirm/useConfirm.js +11 -10
  95. package/Container/Container.js +154 -133
  96. package/Container/index.js +12 -7
  97. package/CookieBanner/CookieBanner.js +142 -76
  98. package/CookieBanner/index.js +12 -7
  99. package/Countdown/Countdown.js +403 -255
  100. package/Countdown/index.js +12 -7
  101. package/DatePicker/DatePicker.js +802 -547
  102. package/DatePicker/index.js +12 -7
  103. package/DateRangePicker/DateRangePicker.js +44 -37
  104. package/DateRangePicker/index.js +12 -7
  105. package/DateTimePicker/DateTimePicker.js +672 -459
  106. package/DateTimePicker/index.js +12 -7
  107. package/DateTimeRangePicker/DateTimeRangePicker.js +44 -37
  108. package/DateTimeRangePicker/index.js +12 -7
  109. package/Divider/Divider.js +198 -185
  110. package/Divider/index.js +12 -7
  111. package/DonutChart/DonutChart.js +49 -42
  112. package/DonutChart/index.js +12 -7
  113. package/DragAndDropList/DragAndDropList.js +160 -156
  114. package/DragAndDropList/index.js +12 -7
  115. package/Drawing/Drawing.js +850 -523
  116. package/Drawing/index.js +12 -7
  117. package/DropZone/DropZone.js +239 -201
  118. package/DropZone/index.js +12 -7
  119. package/Emojis/Emojis.js +409 -317
  120. package/Emojis/emojis_list.js +7279 -9250
  121. package/Emojis/index.js +19 -9
  122. package/Expand/Expand.js +201 -149
  123. package/Expand/index.js +12 -7
  124. package/Fab/Fab.js +46 -26
  125. package/Fab/index.js +12 -7
  126. package/Fade/Fade.js +131 -101
  127. package/Fade/index.js +12 -7
  128. package/FileChoose/FileChoose.js +218 -150
  129. package/FileChoose/index.js +12 -7
  130. package/Focus/Focus.js +87 -88
  131. package/Focus/index.js +12 -7
  132. package/Form/Form.js +194 -120
  133. package/Form/index.js +12 -7
  134. package/FormRow/FormRow.js +123 -78
  135. package/FormRow/index.js +12 -7
  136. package/Forms/Forms.js +55 -41
  137. package/Forms/index.js +12 -7
  138. package/Frame/Frame.js +212 -150
  139. package/Frame/index.js +12 -7
  140. package/Grid/Grid.js +231 -166
  141. package/Grid/index.js +12 -7
  142. package/Grow/Grow.js +137 -109
  143. package/Grow/index.js +12 -7
  144. package/HTMLCanvas/HTMLCanvas.js +752 -542
  145. package/HTMLCanvas/index.js +24 -21
  146. package/IFrame/IFrame.js +122 -104
  147. package/IFrame/index.js +12 -7
  148. package/Icon/Icon.js +112 -95
  149. package/Icon/index.js +24 -21
  150. package/IconButton/IconButton.js +49 -37
  151. package/IconButton/index.js +12 -7
  152. package/Image/Image.js +285 -252
  153. package/Image/index.js +12 -7
  154. package/ImageCrop/ImageCrop.js +1073 -1048
  155. package/ImageCrop/index.js +12 -7
  156. package/ImageEdit/ImageEdit.js +1088 -783
  157. package/ImageEdit/index.js +12 -7
  158. package/ImageGallery/ImageGallery.js +518 -473
  159. package/ImageGallery/index.js +12 -7
  160. package/ImageList/ImageList.js +136 -129
  161. package/ImageList/index.js +12 -7
  162. package/ImageListItem/ImageListItem.js +101 -87
  163. package/ImageListItem/index.js +12 -7
  164. package/ImageListItemBox/ImageListItemBox.js +61 -50
  165. package/ImageListItemBox/index.js +12 -7
  166. package/Info/Info.js +99 -63
  167. package/Info/index.js +12 -7
  168. package/Interaction/Interaction.js +405 -345
  169. package/Interaction/index.js +12 -7
  170. package/Keyframes/Context.js +9 -7
  171. package/Keyframes/Keyframes.js +189 -174
  172. package/Keyframes/index.js +42 -25
  173. package/Keyframes/useKeyframes.js +11 -10
  174. package/Label/Label.js +177 -151
  175. package/Label/index.js +12 -7
  176. package/Labels/Labels.js +126 -98
  177. package/Labels/index.js +12 -7
  178. package/Line/Line.js +296 -174
  179. package/Line/index.js +12 -7
  180. package/LineChart/LineChart.js +57 -40
  181. package/LineChart/index.js +12 -7
  182. package/LineChartItem/LineChartItem.js +239 -177
  183. package/LineChartItem/index.js +12 -7
  184. package/LinearMeter/LinearMeter.js +453 -377
  185. package/LinearMeter/index.js +12 -7
  186. package/LinearProgress/LinearProgress.js +324 -255
  187. package/LinearProgress/index.js +12 -7
  188. package/Link/Link.js +182 -127
  189. package/Link/index.js +12 -7
  190. package/Links/Links.js +277 -156
  191. package/Links/index.js +12 -7
  192. package/List/List.js +148 -113
  193. package/List/index.js +12 -7
  194. package/ListItem/ListItem.js +388 -362
  195. package/ListItem/index.js +12 -7
  196. package/ListSubheader/ListSubheader.js +52 -44
  197. package/ListSubheader/index.js +12 -7
  198. package/MainProgress/Context.js +9 -7
  199. package/MainProgress/MainProgress.js +193 -161
  200. package/MainProgress/index.js +32 -13
  201. package/MainProgress/useMainProgress.js +11 -10
  202. package/Markdown/Markdown.js +676 -704
  203. package/Markdown/index.js +12 -7
  204. package/Masonry/Masonry.js +207 -181
  205. package/Masonry/index.js +12 -7
  206. package/Medias/Medias.js +436 -398
  207. package/Medias/index.js +12 -7
  208. package/Menu/Menu.js +278 -243
  209. package/Menu/index.js +12 -7
  210. package/MenuDesktop/MenuDesktop.js +496 -419
  211. package/MenuDesktop/index.js +12 -7
  212. package/MenuItem/MenuItem.js +286 -231
  213. package/MenuItem/index.js +12 -7
  214. package/Meta/Meta.js +78 -54
  215. package/Meta/index.js +12 -7
  216. package/Modal/Modal.js +333 -272
  217. package/Modal/index.js +12 -7
  218. package/ModalFooter/ModalFooter.js +50 -39
  219. package/ModalFooter/index.js +12 -7
  220. package/ModalHeader/ModalHeader.js +51 -39
  221. package/ModalHeader/index.js +12 -7
  222. package/ModalIcon/ModalIcon.js +29 -23
  223. package/ModalIcon/index.js +12 -7
  224. package/ModalMain/ModalMain.js +50 -41
  225. package/ModalMain/index.js +12 -7
  226. package/ModalText/ModalText.js +47 -37
  227. package/ModalText/index.js +12 -7
  228. package/ModalTitle/ModalTitle.js +47 -37
  229. package/ModalTitle/index.js +12 -7
  230. package/MoreOptions/MoreOptions.js +72 -52
  231. package/MoreOptions/index.js +12 -7
  232. package/Move/Move.js +166 -141
  233. package/Move/index.js +12 -7
  234. package/NavigationBar/NavigationBar.js +133 -109
  235. package/NavigationBar/index.js +12 -7
  236. package/NavigationDrawer/NavigationDrawer.js +241 -211
  237. package/NavigationDrawer/index.js +12 -7
  238. package/NavigationItem/NavigationItem.js +293 -262
  239. package/NavigationItem/index.js +12 -7
  240. package/NavigationRail/NavigationRail.js +187 -150
  241. package/NavigationRail/index.js +12 -7
  242. package/NotFound/NotFound.js +89 -66
  243. package/NotFound/index.js +12 -7
  244. package/NumericTextField/NumericTextField.js +217 -212
  245. package/NumericTextField/index.js +12 -7
  246. package/Page/Page.js +131 -67
  247. package/Page/index.js +12 -7
  248. package/PageTransition/PageTransition.js +112 -102
  249. package/PageTransition/index.js +12 -7
  250. package/Pagination/Pagination.js +153 -98
  251. package/Pagination/index.js +12 -7
  252. package/PaginationItem/PaginationItem.js +85 -65
  253. package/PaginationItem/index.js +12 -7
  254. package/Parallax/Parallax.js +138 -145
  255. package/Parallax/index.js +12 -7
  256. package/Path/Path.js +40 -35
  257. package/Path/index.js +12 -7
  258. package/PieChart/PieChart.js +382 -267
  259. package/PieChart/index.js +12 -7
  260. package/Placeholder/Placeholder.js +125 -117
  261. package/Placeholder/index.js +12 -7
  262. package/Portal/Portal.js +37 -38
  263. package/Portal/index.js +12 -7
  264. package/Properties/Properties.js +85 -64
  265. package/Properties/index.js +12 -7
  266. package/Property/Property.js +120 -108
  267. package/Property/index.js +12 -7
  268. package/Radio/Radio.js +211 -181
  269. package/Radio/index.js +12 -7
  270. package/Radios/Radios.js +124 -92
  271. package/Radios/index.js +12 -7
  272. package/Rating/Rating.js +353 -360
  273. package/Rating/index.js +12 -7
  274. package/Reset/Reset.js +19 -24
  275. package/Reset/index.js +12 -7
  276. package/Reveal/Reveal.js +98 -89
  277. package/Reveal/index.js +12 -7
  278. package/RichTextEditor/RichTextEditor.js +1764 -972
  279. package/RichTextEditor/index.js +12 -7
  280. package/RoundMeter/RoundMeter.js +629 -537
  281. package/RoundMeter/index.js +12 -7
  282. package/RoundProgress/RoundProgress.js +233 -174
  283. package/RoundProgress/index.js +12 -7
  284. package/ScatterChart/ScatterChart.js +53 -40
  285. package/ScatterChart/index.js +12 -7
  286. package/ScatterChartItem/ScatterChartItem.js +214 -153
  287. package/ScatterChartItem/index.js +12 -7
  288. package/ScreenCapture/ScreenCapture.js +427 -335
  289. package/ScreenCapture/index.js +12 -7
  290. package/Section/Section.js +380 -319
  291. package/Section/index.js +12 -7
  292. package/SectionAction/SectionAction.js +72 -61
  293. package/SectionAction/index.js +12 -7
  294. package/SectionBoxes/SectionBoxes.js +240 -208
  295. package/SectionBoxes/index.js +12 -7
  296. package/SectionCards/SectionCards.js +256 -217
  297. package/SectionCards/index.js +12 -7
  298. package/SectionCarousel/SectionCarousel.js +284 -242
  299. package/SectionCarousel/index.js +12 -7
  300. package/SectionContact/SectionContact.js +174 -116
  301. package/SectionContact/index.js +12 -7
  302. package/SectionImageGallery/SectionImageGallery.js +64 -51
  303. package/SectionImageGallery/index.js +12 -7
  304. package/SectionLogos/SectionLogos.js +123 -109
  305. package/SectionLogos/index.js +12 -7
  306. package/SectionMedia/SectionMedia.js +170 -152
  307. package/SectionMedia/index.js +12 -7
  308. package/SectionReviews/SectionReviews.js +170 -129
  309. package/SectionReviews/index.js +12 -7
  310. package/SectionTextMedia/SectionTextMedia.js +187 -142
  311. package/SectionTextMedia/index.js +12 -7
  312. package/SectionTimeline/SectionTimeline.js +126 -95
  313. package/SectionTimeline/index.js +12 -7
  314. package/SectionWatch/SectionWatch.js +65 -53
  315. package/SectionWatch/index.js +12 -7
  316. package/Select/Select.js +517 -406
  317. package/Select/index.js +12 -7
  318. package/Share/Share.js +458 -319
  319. package/Share/index.js +12 -7
  320. package/Slide/Slide.js +184 -140
  321. package/Slide/index.js +12 -7
  322. package/Slider/Slider.js +927 -837
  323. package/Slider/index.js +12 -7
  324. package/SmartTextField/SmartTextField.js +1406 -1014
  325. package/SmartTextField/index.js +12 -7
  326. package/Snackbar/Snackbar.js +227 -185
  327. package/Snackbar/index.js +12 -7
  328. package/Snackbars/Context.js +9 -7
  329. package/Snackbars/Snackbars.js +234 -210
  330. package/Snackbars/index.js +32 -13
  331. package/Snackbars/useSnackbars.js +11 -10
  332. package/Space/Space.js +1683 -968
  333. package/Space/index.js +24 -21
  334. package/SpeechToText/SpeechToText.js +207 -172
  335. package/SpeechToText/index.js +12 -7
  336. package/SpeedDial/SpeedDial.js +434 -398
  337. package/SpeedDial/index.js +12 -7
  338. package/SpeedDialItem/SpeedDialItem.js +89 -63
  339. package/SpeedDialItem/index.js +12 -7
  340. package/SpyScroll/SpyScroll.js +154 -142
  341. package/SpyScroll/index.js +12 -7
  342. package/Step/Step.js +181 -127
  343. package/Step/index.js +12 -7
  344. package/Stepper/Stepper.js +159 -139
  345. package/Stepper/index.js +12 -7
  346. package/Surface/Surface.js +760 -798
  347. package/Surface/index.js +12 -7
  348. package/Switch/Switch.js +688 -532
  349. package/Switch/index.js +12 -7
  350. package/Tab/Tab.js +185 -150
  351. package/Tab/index.js +12 -7
  352. package/Table/Table.js +100 -77
  353. package/Table/index.js +12 -7
  354. package/TableBody/TableBody.js +76 -63
  355. package/TableBody/index.js +12 -7
  356. package/TableCell/TableCell.js +258 -220
  357. package/TableCell/index.js +12 -7
  358. package/TableFooter/TableFooter.js +60 -48
  359. package/TableFooter/index.js +12 -7
  360. package/TableHead/TableHead.js +139 -120
  361. package/TableHead/index.js +12 -7
  362. package/TableHeader/TableHeader.js +65 -50
  363. package/TableHeader/index.js +12 -7
  364. package/TablePagination/TablePagination.js +171 -98
  365. package/TablePagination/index.js +12 -7
  366. package/TableRow/TableRow.js +77 -64
  367. package/TableRow/index.js +12 -7
  368. package/Tabs/Tabs.js +425 -377
  369. package/Tabs/index.js +12 -7
  370. package/Text/Text.js +131 -113
  371. package/Text/index.js +12 -7
  372. package/TextField/TextField.js +940 -879
  373. package/TextField/index.js +12 -7
  374. package/TextToSpeech/TextToSpeech.js +176 -153
  375. package/TextToSpeech/index.js +12 -7
  376. package/TimePicker/TimePicker.js +985 -718
  377. package/TimePicker/index.js +12 -7
  378. package/TimeRangePicker/TimeRangePicker.js +44 -37
  379. package/TimeRangePicker/index.js +12 -7
  380. package/Timeline/Timeline.js +54 -42
  381. package/Timeline/index.js +12 -7
  382. package/TimelineItem/TimelineItem.js +144 -147
  383. package/TimelineItem/index.js +12 -7
  384. package/Timer/Timer.js +321 -204
  385. package/Timer/index.js +12 -7
  386. package/ToggleButton/ToggleButton.js +67 -58
  387. package/ToggleButton/index.js +12 -7
  388. package/ToggleButtons/ToggleButtons.js +46 -37
  389. package/ToggleButtons/index.js +12 -7
  390. package/Tooltip/Tooltip.js +489 -454
  391. package/Tooltip/index.js +12 -7
  392. package/TopAppBar/TopAppBar.js +237 -197
  393. package/TopAppBar/index.js +12 -7
  394. package/Transition/Context.js +9 -7
  395. package/Transition/Transition.js +321 -339
  396. package/Transition/index.js +42 -25
  397. package/Transition/useTransition.js +11 -10
  398. package/Transitions/Transitions.js +215 -179
  399. package/Transitions/index.js +12 -7
  400. package/Tree/Tree.js +375 -312
  401. package/Tree/index.js +12 -7
  402. package/Type/Type.js +251 -152
  403. package/Type/index.js +12 -7
  404. package/VideoPlayer/VideoPlayer.js +866 -656
  405. package/VideoPlayer/index.js +12 -7
  406. package/ViewSplit/ViewSplit.js +413 -387
  407. package/ViewSplit/index.js +12 -7
  408. package/Watch/Watch.js +436 -290
  409. package/Watch/index.js +12 -7
  410. package/Weather/Weather.js +294 -247
  411. package/Weather/index.js +12 -7
  412. package/Whiteboard/Whiteboard.js +1392 -1292
  413. package/Whiteboard/index.js +12 -7
  414. package/Widgets/Context.js +9 -7
  415. package/Widgets/Widgets.js +220 -168
  416. package/Widgets/index.js +32 -13
  417. package/Widgets/useWidgets.js +11 -10
  418. package/WindowSplit/WindowSplit.js +381 -336
  419. package/WindowSplit/index.js +12 -7
  420. package/Zoom/Zoom.js +126 -99
  421. package/Zoom/index.js +12 -7
  422. package/esm/Buttons/Buttons.js +1 -1
  423. package/esm/index.js +1 -1
  424. package/index.js +4053 -660
  425. package/package.json +1 -1
  426. package/types.js +4 -1
  427. package/useForm/index.js +25 -11
  428. package/useForm/useForm.js +203 -174
  429. package/useForm/validate.js +215 -203
  430. package/useLocation/index.js +12 -7
  431. package/useLocation/useLocation.js +54 -49
  432. package/useMediaQuery/index.js +12 -7
  433. package/useMediaQuery/useMediaQuery.js +44 -43
  434. package/useQuery/index.js +12 -7
  435. package/useQuery/useQuery.js +14 -10
  436. package/useScroll/index.js +12 -7
  437. package/useScroll/useScroll.js +61 -56
  438. package/useSubscription/index.js +12 -7
  439. package/useSubscription/useSubscription.js +35 -35
  440. package/useSwipe/index.js +12 -7
  441. package/useSwipe/useSwipe.js +157 -131
  442. package/useVisible/index.js +12 -7
  443. package/useVisible/useVisible.js +86 -76
  444. package/utils.js +1224 -1362
@@ -1,277 +1,392 @@
1
1
  "use strict";
2
- var __rest = (this && this.__rest) || function (s, e) {
3
- var t = {};
4
- for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0)
5
- t[p] = s[p];
6
- if (s != null && typeof Object.getOwnPropertySymbols === "function")
7
- for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {
8
- if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i]))
9
- t[p[i]] = s[p[i]];
10
- }
11
- return t;
12
- };
13
- var __importDefault = (this && this.__importDefault) || function (mod) {
14
- return (mod && mod.__esModule) ? mod : { "default": mod };
15
- };
16
- Object.defineProperty(exports, "__esModule", { value: true });
17
- const jsx_runtime_1 = require("react/jsx-runtime");
18
- const react_1 = __importDefault(require("react"));
19
- const utils_1 = require("@onesy/utils");
20
- const style_react_1 = require("@onesy/style-react");
21
- const Line_1 = __importDefault(require("../Line"));
22
- const Type_1 = __importDefault(require("../Type"));
23
- const Surface_1 = __importDefault(require("../Surface"));
24
- const Chart_1 = __importDefault(require("../Chart"));
25
- const Path_1 = __importDefault(require("../Path"));
26
- const useMediaQuery_1 = __importDefault(require("../useMediaQuery"));
27
- const utils_2 = require("../utils");
28
- const useStyle = (0, style_react_1.style)(theme => ({
29
- root: {
30
- '& .onesy-Chart-wrapper': {
31
- aspectRatio: '1',
32
- maxWidth: '240px',
33
- height: 'unset',
34
- overflow: 'hidden'
35
- }
36
- },
37
- legend_item: {
38
- userSelect: 'none'
39
- },
40
- legend_icon: {
41
- width: '10px',
42
- height: '2px'
43
- },
44
- text: Object.assign(Object.assign({}, theme.typography.values.b3), { textAnchor: 'middle', alignmentBaseline: 'middle', userSelect: 'none' }),
45
- append_wrapper: {
46
- userSelect: 'none',
47
- pointerEvents: 'none'
48
- },
49
- append: {
50
- padding: `${theme.methods.space.value(1.5, 'px')} ${theme.methods.space.value(2.5, 'px')}`,
51
- borderRadius: theme.methods.shape.radius.value(1.5, 'px')
52
- },
53
- append_icon: {
54
- width: '8px',
55
- height: '8px',
56
- borderRadius: theme.methods.shape.radius.value(40, 'px')
2
+
3
+ var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
4
+ Object.defineProperty(exports, "__esModule", {
5
+ value: true
6
+ });
7
+ exports.default = void 0;
8
+ var _extends2 = _interopRequireDefault(require("@babel/runtime/helpers/extends"));
9
+ var _objectWithoutProperties2 = _interopRequireDefault(require("@babel/runtime/helpers/objectWithoutProperties"));
10
+ var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));
11
+ var _react = _interopRequireDefault(require("react"));
12
+ var _utils = require("@onesy/utils");
13
+ var _styleReact = require("@onesy/style-react");
14
+ var _Line = _interopRequireDefault(require("../Line"));
15
+ var _Type = _interopRequireDefault(require("../Type"));
16
+ var _Surface = _interopRequireDefault(require("../Surface"));
17
+ var _Chart = _interopRequireDefault(require("../Chart"));
18
+ var _Path = _interopRequireDefault(require("../Path"));
19
+ var _useMediaQuery = _interopRequireDefault(require("../useMediaQuery"));
20
+ var _utils2 = require("../utils");
21
+ const _excluded = ["tonal", "color", "values", "animate", "animateTimeout", "names", "gap", "innerOffset", "tooltipRender", "PathProps", "LegendItemProps", "className"],
22
+ _excluded2 = ["item", "className"];
23
+ function ownKeys(e, r) { var t = Object.keys(e); if (Object.getOwnPropertySymbols) { var o = Object.getOwnPropertySymbols(e); r && (o = o.filter(function (r) { return Object.getOwnPropertyDescriptor(e, r).enumerable; })), t.push.apply(t, o); } return t; }
24
+ function _objectSpread(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys(Object(t), !0).forEach(function (r) { (0, _defineProperty2.default)(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }
25
+ const useStyle = (0, _styleReact.style)(theme => ({
26
+ root: {
27
+ '& .onesy-Chart-wrapper': {
28
+ aspectRatio: '1',
29
+ maxWidth: '240px',
30
+ height: 'unset',
31
+ overflow: 'hidden'
57
32
  }
58
- }), { name: 'onesy-PieChart' });
59
- const PieChart = react_1.default.forwardRef((props_, ref) => {
60
- const theme = (0, style_react_1.useOnesyTheme)();
61
- const l = theme.l;
62
- const props = react_1.default.useMemo(() => { var _a, _b, _c, _d, _e, _f, _g, _h; return (Object.assign(Object.assign(Object.assign({}, (_d = (_c = (_b = (_a = theme === null || theme === void 0 ? void 0 : theme.ui) === null || _a === void 0 ? void 0 : _a.elements) === null || _b === void 0 ? void 0 : _b.all) === null || _c === void 0 ? void 0 : _c.props) === null || _d === void 0 ? void 0 : _d.default), (_h = (_g = (_f = (_e = theme === null || theme === void 0 ? void 0 : theme.ui) === null || _e === void 0 ? void 0 : _e.elements) === null || _f === void 0 ? void 0 : _f.onesyPieChart) === null || _g === void 0 ? void 0 : _g.props) === null || _h === void 0 ? void 0 : _h.default), props_)); }, [props_]);
63
- const Line = react_1.default.useMemo(() => { var _a; return ((_a = theme === null || theme === void 0 ? void 0 : theme.elements) === null || _a === void 0 ? void 0 : _a.Line) || Line_1.default; }, [theme]);
64
- const Type = react_1.default.useMemo(() => { var _a; return ((_a = theme === null || theme === void 0 ? void 0 : theme.elements) === null || _a === void 0 ? void 0 : _a.Type) || Type_1.default; }, [theme]);
65
- const Surface = react_1.default.useMemo(() => { var _a; return ((_a = theme === null || theme === void 0 ? void 0 : theme.elements) === null || _a === void 0 ? void 0 : _a.Surface) || Surface_1.default; }, [theme]);
66
- const Chart = react_1.default.useMemo(() => { var _a; return ((_a = theme === null || theme === void 0 ? void 0 : theme.elements) === null || _a === void 0 ? void 0 : _a.Chart) || Chart_1.default; }, [theme]);
67
- const Path = react_1.default.useMemo(() => { var _a; return ((_a = theme === null || theme === void 0 ? void 0 : theme.elements) === null || _a === void 0 ? void 0 : _a.Path) || Path_1.default; }, [theme]);
68
- const { tonal = true, color = 'primary', values, animate: animate_, animateTimeout: animateTimeout_, names, gap = 4, innerOffset = 0, tooltipRender: tooltipRender_, PathProps, LegendItemProps, className } = props, other = __rest(props, ["tonal", "color", "values", "animate", "animateTimeout", "names", "gap", "innerOffset", "tooltipRender", "PathProps", "LegendItemProps", "className"]);
69
- const { classes } = useStyle();
70
- const refs = {
71
- root: react_1.default.useRef(undefined),
72
- rects: react_1.default.useRef(undefined),
73
- pathStyle: react_1.default.useRef(undefined),
74
- animate: react_1.default.useRef(undefined),
75
- animateTimeout: react_1.default.useRef(undefined),
76
- init: react_1.default.useRef(undefined),
77
- theme: react_1.default.useRef(undefined)
78
- };
79
- const keys = react_1.default.useMemo(() => {
80
- const result = [];
81
- const items = [animate_, animateTimeout_];
82
- items.forEach(item => {
83
- if ((0, utils_1.is)('object', item))
84
- Object.keys(item).filter(key => theme.breakpoints.media[key]).forEach(key => result.push(key));
85
- });
86
- return (0, utils_1.unique)(result);
87
- }, [animate_, animateTimeout_]);
88
- const breakpoints = {};
89
- keys.forEach(key => {
90
- breakpoints[key] = (0, useMediaQuery_1.default)(theme.breakpoints.media[key], { element: refs.root.current });
33
+ },
34
+ legend_item: {
35
+ userSelect: 'none'
36
+ },
37
+ legend_icon: {
38
+ width: '10px',
39
+ height: '2px'
40
+ },
41
+ text: _objectSpread(_objectSpread({}, theme.typography.values.b3), {}, {
42
+ textAnchor: 'middle',
43
+ alignmentBaseline: 'middle',
44
+ userSelect: 'none'
45
+ }),
46
+ append_wrapper: {
47
+ userSelect: 'none',
48
+ pointerEvents: 'none'
49
+ },
50
+ append: {
51
+ padding: `${theme.methods.space.value(1.5, 'px')} ${theme.methods.space.value(2.5, 'px')}`,
52
+ borderRadius: theme.methods.shape.radius.value(1.5, 'px')
53
+ },
54
+ append_icon: {
55
+ width: '8px',
56
+ height: '8px',
57
+ borderRadius: theme.methods.shape.radius.value(40, 'px')
58
+ }
59
+ }), {
60
+ name: 'onesy-PieChart'
61
+ });
62
+ const PieChart = /*#__PURE__*/_react.default.forwardRef((props_, ref) => {
63
+ const theme = (0, _styleReact.useOnesyTheme)();
64
+ const l = theme.l;
65
+ const props = _react.default.useMemo(() => {
66
+ var _theme$ui, _theme$ui2;
67
+ 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.onesyPieChart) === null || _theme$ui2 === void 0 || (_theme$ui2 = _theme$ui2.props) === null || _theme$ui2 === void 0 ? void 0 : _theme$ui2.default), props_);
68
+ }, [props_]);
69
+ const Line = _react.default.useMemo(() => {
70
+ var _theme$elements;
71
+ return (theme === null || theme === void 0 || (_theme$elements = theme.elements) === null || _theme$elements === void 0 ? void 0 : _theme$elements.Line) || _Line.default;
72
+ }, [theme]);
73
+ const Type = _react.default.useMemo(() => {
74
+ var _theme$elements2;
75
+ return (theme === null || theme === void 0 || (_theme$elements2 = theme.elements) === null || _theme$elements2 === void 0 ? void 0 : _theme$elements2.Type) || _Type.default;
76
+ }, [theme]);
77
+ const Surface = _react.default.useMemo(() => {
78
+ var _theme$elements3;
79
+ return (theme === null || theme === void 0 || (_theme$elements3 = theme.elements) === null || _theme$elements3 === void 0 ? void 0 : _theme$elements3.Surface) || _Surface.default;
80
+ }, [theme]);
81
+ const Chart = _react.default.useMemo(() => {
82
+ var _theme$elements4;
83
+ return (theme === null || theme === void 0 || (_theme$elements4 = theme.elements) === null || _theme$elements4 === void 0 ? void 0 : _theme$elements4.Chart) || _Chart.default;
84
+ }, [theme]);
85
+ const Path = _react.default.useMemo(() => {
86
+ var _theme$elements5;
87
+ return (theme === null || theme === void 0 || (_theme$elements5 = theme.elements) === null || _theme$elements5 === void 0 ? void 0 : _theme$elements5.Path) || _Path.default;
88
+ }, [theme]);
89
+ const {
90
+ tonal = true,
91
+ color = 'primary',
92
+ values,
93
+ animate: animate_,
94
+ animateTimeout: animateTimeout_,
95
+ names,
96
+ gap = 4,
97
+ innerOffset = 0,
98
+ tooltipRender: tooltipRender_,
99
+ PathProps,
100
+ LegendItemProps,
101
+ className
102
+ } = props,
103
+ other = (0, _objectWithoutProperties2.default)(props, _excluded);
104
+ const {
105
+ classes
106
+ } = useStyle();
107
+ const refs = {
108
+ root: _react.default.useRef(undefined),
109
+ rects: _react.default.useRef(undefined),
110
+ pathStyle: _react.default.useRef(undefined),
111
+ animate: _react.default.useRef(undefined),
112
+ animateTimeout: _react.default.useRef(undefined),
113
+ init: _react.default.useRef(undefined),
114
+ theme: _react.default.useRef(undefined)
115
+ };
116
+ const keys = _react.default.useMemo(() => {
117
+ const result = [];
118
+ const items = [animate_, animateTimeout_];
119
+ items.forEach(item => {
120
+ if ((0, _utils.is)('object', item)) Object.keys(item).filter(key => theme.breakpoints.media[key]).forEach(key => result.push(key));
121
+ });
122
+ return (0, _utils.unique)(result);
123
+ }, [animate_, animateTimeout_]);
124
+ const breakpoints = {};
125
+ keys.forEach(key => {
126
+ breakpoints[key] = (0, _useMediaQuery.default)(theme.breakpoints.media[key], {
127
+ element: refs.root.current
91
128
  });
92
- const animate = (0, utils_2.valueBreakpoints)(animate_, true, breakpoints, theme);
93
- const animateTimeout = (0, utils_2.valueBreakpoints)(animateTimeout_, 140, breakpoints, theme);
94
- const [value, setValue] = react_1.default.useState();
95
- const [init, setInit] = react_1.default.useState();
96
- refs.theme.current = theme;
97
- refs.animate.current = animate;
98
- refs.animateTimeout.current = animateTimeout;
99
- refs.init.current = init;
100
- const LegendItem = react_1.default.useCallback((props__) => {
101
- const { item = {}, className: className_ } = props__, other_ = __rest(props__, ["item", "className"]);
102
- const { color: color_, tone = 'main', name = 'No name' } = item;
103
- return ((0, jsx_runtime_1.jsxs)(Line, Object.assign({ gap: 1, direction: 'row', align: 'center' }, LegendItemProps, { className: (0, style_react_1.classNames)([
104
- (0, utils_2.staticClassName)('PieChart', theme) && [
105
- 'onesy-PieChart-legend-item'
106
- ],
107
- className_,
108
- LegendItemProps === null || LegendItemProps === void 0 ? void 0 : LegendItemProps.className,
109
- classes.legend_item
110
- ]) }, other_, { children: [(0, jsx_runtime_1.jsx)("span", { className: (0, style_react_1.classNames)([
111
- (0, utils_2.staticClassName)('PieChart', theme) && [
112
- 'onesy-PieChart-legend-icon'
113
- ],
114
- classes.legend_icon
115
- ]), style: {
116
- background: !refs.theme.current.palette.color[color_] ? color_ : refs.theme.current.palette.color[color_][tone]
117
- } }), (0, jsx_runtime_1.jsx)(Type, Object.assign({ version: 'b3' }, { children: name }))] })));
118
- }, [theme]);
119
- const make = () => {
120
- // Make values into x, y, coordinates
121
- // normalized in rect width, height values
122
- // invert y so 0, 0 is at bottom left
123
- if (refs.rects.current && values) {
124
- const { width } = refs.rects.current.wrapper;
125
- // Legend
126
- const legend_ = values.map((item) => {
127
- return {
128
- item,
129
- element: ((0, jsx_runtime_1.jsx)(LegendItem, { item: item }))
130
- };
131
- });
132
- const center = width / 2;
133
- const radius = (width / 2) - (gap / 2);
134
- const total = 360;
135
- const valueTotal = values.reduce((result, itemValue) => result += itemValue.values[0], 0);
136
- const angles = {
137
- start: (0, utils_2.angleToCoordinates)(0, center, center, radius)
138
- };
139
- let anglePrevious = 0;
140
- let anglePreviousInner = 0;
141
- let value_ = [];
142
- let d = '';
143
- // Elements
144
- const elements_ = (0, utils_1.copy)(values).map((item, index) => {
145
- const { color: color_, tone = 'main' } = item;
146
- const partPercentage = (0, utils_1.percentageFromValueWithinRange)(item.values[0], 0, valueTotal);
147
- let part = total * (partPercentage / 100);
148
- if (partPercentage === 100)
149
- part -= 0.0001;
150
- const startInner = (0, utils_2.angleToCoordinates)(anglePreviousInner, center, center, radius * innerOffset);
151
- // Move from inner value
152
- if (index === 0)
153
- value_.push('M', startInner.x, startInner.y,
154
- // Move to 0 deg
155
- 'L', angles.start.x, angles.start.y);
156
- const angleEnd = anglePrevious + part;
157
- const angleEndInner = anglePreviousInner + part;
158
- const angleText = anglePrevious + (part / 2);
159
- const angleTextCoordinates = (0, utils_2.angleToCoordinates)(angleText, center, center, (radius - (radius - (radius * innerOffset)) / 2));
160
- angles.end = (0, utils_2.angleToCoordinates)(angleEnd, center, center, radius);
161
- angles.endInner = (0, utils_2.angleToCoordinates)(angleEndInner, center, center, radius * innerOffset);
162
- angles.move = (0, utils_2.angleToCoordinates)(angleEnd, center, center, radius);
163
- angles.moveInner = (0, utils_2.angleToCoordinates)(angleEnd, center, center, radius * innerOffset);
164
- // Arc
165
- let invert = 0;
166
- if (part > 180)
167
- invert = 1;
168
- value_.push('A', radius, radius, 0, invert, 1, angles.end.x, angles.end.y);
169
- // To donut value or center
170
- if (innerOffset) {
171
- const endInner = (0, utils_2.angleToCoordinates)(angleEndInner, center, center, radius * innerOffset);
172
- value_.push('L', endInner.x, endInner.y);
173
- value_.push('A', radius * innerOffset, radius * innerOffset, 0, invert, 0, startInner.x, startInner.y);
174
- }
175
- value_.push('Z');
176
- // path
177
- d = value_.join(' ');
178
- anglePrevious = angleEnd;
179
- anglePreviousInner = angleEndInner;
180
- // Move for the next value
181
- if (index < values.length - 1) {
182
- value_ = [
183
- 'M', angles.moveInner.x, angles.moveInner.y,
184
- 'L', angles.move.x, angles.move.y
185
- ];
186
- }
187
- return {
188
- item,
189
- element: ((0, jsx_runtime_1.jsxs)("g", { children: [(0, jsx_runtime_1.jsx)(Path, Object.assign({ d: d, fill: !refs.theme.current.palette.color[color_] ? color_ : refs.theme.current.palette.color[color_][tone], stroke: gap > 0 ? refs.theme.current.palette.background.default.primary : 'none', strokeWidth: gap }, PathProps, { style: Object.assign(Object.assign(Object.assign(Object.assign({}, PathProps === null || PathProps === void 0 ? void 0 : PathProps.style), ((refs.animate.current && refs.init.current !== 'animated') && {
190
- opacity: 0,
191
- transform: 'scale(0)'
192
- })), { transformBox: 'fill-box', transformOrigin: 'center' }), refs.pathStyle.current) })), partPercentage >= 7 && ((0, jsx_runtime_1.jsx)("text", Object.assign({ x: angleTextCoordinates.x, y: angleTextCoordinates.y, className: (0, style_react_1.classNames)([
193
- (0, utils_2.staticClassName)('PieChart', theme) && [
194
- 'onesy-PieChart-text'
195
- ],
196
- classes.text
197
- ]), fill: refs.theme.current.methods.palette.color.text(!refs.theme.current.palette.color[color_] ? color_ : refs.theme.current.palette.color[color_][tone], true, 'light'), style: Object.assign(Object.assign(Object.assign(Object.assign({}, PathProps === null || PathProps === void 0 ? void 0 : PathProps.style), ((refs.animate.current && refs.init.current !== 'animated') && {
198
- opacity: 0
199
- })), ((refs.animate.current && refs.init.current === 'animated') && {
200
- opacity: 1
201
- })), refs.pathStyle.current) }, { children: `${partPercentage.toFixed(1)}%`.replace('.0%', '%') })))] }))
202
- };
203
- });
204
- // Sort
205
- elements_.sort((a, b) => { var _a, _b, _c, _d; return ((_b = (_a = a === null || a === void 0 ? void 0 : a.item) === null || _a === void 0 ? void 0 : _a.values) === null || _b === void 0 ? void 0 : _b[0]) - ((_d = (_c = b === null || b === void 0 ? void 0 : b.item) === null || _c === void 0 ? void 0 : _c.values) === null || _d === void 0 ? void 0 : _d[0]); });
206
- // Update children value
207
- setValue({
208
- legend: legend_,
209
- elements: elements_
210
- });
129
+ });
130
+ const animate = (0, _utils2.valueBreakpoints)(animate_, true, breakpoints, theme);
131
+ const animateTimeout = (0, _utils2.valueBreakpoints)(animateTimeout_, 140, breakpoints, theme);
132
+ const [value, setValue] = _react.default.useState();
133
+ const [init, setInit] = _react.default.useState();
134
+ refs.theme.current = theme;
135
+ refs.animate.current = animate;
136
+ refs.animateTimeout.current = animateTimeout;
137
+ refs.init.current = init;
138
+ const LegendItem = _react.default.useCallback(props__ => {
139
+ const {
140
+ item = {},
141
+ className: className_
142
+ } = props__,
143
+ other_ = (0, _objectWithoutProperties2.default)(props__, _excluded2);
144
+ const {
145
+ color: color_,
146
+ tone = 'main',
147
+ name = 'No name'
148
+ } = item;
149
+ return /*#__PURE__*/_react.default.createElement(Line, (0, _extends2.default)({
150
+ gap: 1,
151
+ direction: "row",
152
+ align: "center"
153
+ }, LegendItemProps, {
154
+ className: (0, _styleReact.classNames)([(0, _utils2.staticClassName)('PieChart', theme) && ['onesy-PieChart-legend-item'], className_, LegendItemProps === null || LegendItemProps === void 0 ? void 0 : LegendItemProps.className, classes.legend_item])
155
+ }, other_), /*#__PURE__*/_react.default.createElement("span", {
156
+ className: (0, _styleReact.classNames)([(0, _utils2.staticClassName)('PieChart', theme) && ['onesy-PieChart-legend-icon'], classes.legend_icon]),
157
+ style: {
158
+ background: !refs.theme.current.palette.color[color_] ? color_ : refs.theme.current.palette.color[color_][tone]
159
+ }
160
+ }), /*#__PURE__*/_react.default.createElement(Type, {
161
+ version: "b3"
162
+ }, name));
163
+ }, [theme]);
164
+ const make = () => {
165
+ // Make values into x, y, coordinates
166
+ // normalized in rect width, height values
167
+
168
+ // invert y so 0, 0 is at bottom left
169
+ if (refs.rects.current && values) {
170
+ const {
171
+ width
172
+ } = refs.rects.current.wrapper;
173
+
174
+ // Legend
175
+ const legend_ = values.map(item => {
176
+ return {
177
+ item,
178
+ element: /*#__PURE__*/_react.default.createElement(LegendItem, {
179
+ item: item
180
+ })
181
+ };
182
+ });
183
+ const center = width / 2;
184
+ const radius = width / 2 - gap / 2;
185
+ const total = 360;
186
+ const valueTotal = values.reduce((result, itemValue) => result += itemValue.values[0], 0);
187
+ const angles = {
188
+ start: (0, _utils2.angleToCoordinates)(0, center, center, radius)
189
+ };
190
+ let anglePrevious = 0;
191
+ let anglePreviousInner = 0;
192
+ let value_ = [];
193
+ let d = '';
194
+
195
+ // Elements
196
+ const elements_ = (0, _utils.copy)(values).map((item, index) => {
197
+ const {
198
+ color: color_,
199
+ tone = 'main'
200
+ } = item;
201
+ const partPercentage = (0, _utils.percentageFromValueWithinRange)(item.values[0], 0, valueTotal);
202
+ let part = total * (partPercentage / 100);
203
+ if (partPercentage === 100) part -= 0.0001;
204
+ const startInner = (0, _utils2.angleToCoordinates)(anglePreviousInner, center, center, radius * innerOffset);
205
+
206
+ // Move from inner value
207
+ if (index === 0) value_.push('M', startInner.x, startInner.y,
208
+ // Move to 0 deg
209
+ 'L', angles.start.x, angles.start.y);
210
+ const angleEnd = anglePrevious + part;
211
+ const angleEndInner = anglePreviousInner + part;
212
+ const angleText = anglePrevious + part / 2;
213
+ const angleTextCoordinates = (0, _utils2.angleToCoordinates)(angleText, center, center, radius - (radius - radius * innerOffset) / 2);
214
+ angles.end = (0, _utils2.angleToCoordinates)(angleEnd, center, center, radius);
215
+ angles.endInner = (0, _utils2.angleToCoordinates)(angleEndInner, center, center, radius * innerOffset);
216
+ angles.move = (0, _utils2.angleToCoordinates)(angleEnd, center, center, radius);
217
+ angles.moveInner = (0, _utils2.angleToCoordinates)(angleEnd, center, center, radius * innerOffset);
218
+
219
+ // Arc
220
+ let invert = 0;
221
+ if (part > 180) invert = 1;
222
+ value_.push('A', radius, radius, 0, invert, 1, angles.end.x, angles.end.y);
223
+
224
+ // To donut value or center
225
+ if (innerOffset) {
226
+ const endInner = (0, _utils2.angleToCoordinates)(angleEndInner, center, center, radius * innerOffset);
227
+ value_.push('L', endInner.x, endInner.y);
228
+ value_.push('A', radius * innerOffset, radius * innerOffset, 0, invert, 0, startInner.x, startInner.y);
211
229
  }
212
- };
213
- const initMethod = react_1.default.useCallback(() => {
214
- if (animate) {
215
- if (!init) {
216
- refs.pathStyle.current = {
217
- transition: theme.methods.transitions.make(['transform', 'opacity'], { timing_function: 'decelerated' })
218
- };
219
- setInit(true);
220
- setTimeout(() => {
221
- refs.pathStyle.current = Object.assign(Object.assign({}, refs.pathStyle.current), { opacity: 1, transform: 'scale(1)' });
222
- setInit('animated');
223
- }, refs.animateTimeout.current);
224
- }
230
+ value_.push('Z');
231
+
232
+ // path
233
+ d = value_.join(' ');
234
+ anglePrevious = angleEnd;
235
+ anglePreviousInner = angleEndInner;
236
+
237
+ // Move for the next value
238
+ if (index < values.length - 1) {
239
+ value_ = ['M', angles.moveInner.x, angles.moveInner.y, 'L', angles.move.x, angles.move.y];
225
240
  }
226
- }, [init, animate]);
227
- react_1.default.useEffect(() => {
228
- make();
229
- initMethod();
230
- }, [values, theme, animate, init]);
231
- const onUpdateRects = (valueNew) => {
232
- refs.rects.current = valueNew;
233
- make();
234
- };
235
- const tooltipRender = (0, utils_1.is)('function', tooltipRender_) ? tooltipRender_ : (values_) => {
236
- const { name, color: color_, tone = 'main', values: values__ } = values_;
237
- const valueTotal = values.reduce((result, itemValue) => result += itemValue.values[0], 0);
238
- const valueValue = values__[0];
239
- const valuePercentage = (((valueValue / valueTotal) * 100).toFixed(1)).replace('.0', '');
240
241
  return {
241
- element: ((0, jsx_runtime_1.jsxs)(Line, Object.assign({ tonal: tonal, color: color, elevation: 1, gap: 0.5, direction: 'column', Component: Surface, className: (0, style_react_1.classNames)([
242
- (0, utils_2.staticClassName)('PieChart', theme) && [
243
- 'onesy-PieChart-append'
244
- ],
245
- classes.append
246
- ]) }, { children: [(0, jsx_runtime_1.jsxs)(Line, Object.assign({ gap: 1, direction: 'row', align: 'center' }, { children: [(0, jsx_runtime_1.jsx)("span", { className: (0, style_react_1.classNames)([
247
- (0, utils_2.staticClassName)('PieChart', theme) && [
248
- 'onesy-LineChart-append-icon'
249
- ],
250
- classes.append_icon
251
- ]), style: {
252
- background: !refs.theme.current.palette.color[color_] ? color_ : refs.theme.current.palette.color[color_][tone]
253
- } }), (0, jsx_runtime_1.jsx)(Type, Object.assign({ version: 'b3' }, { children: name }))] })), (0, jsx_runtime_1.jsxs)(Line, Object.assign({ gap: 0.4, direction: 'column' }, { children: [(0, jsx_runtime_1.jsxs)(Line, Object.assign({ gap: 1, direction: 'row', align: 'center' }, { children: [(0, jsx_runtime_1.jsx)(Type, Object.assign({ version: 'b3', style: {
254
- fontWeight: 600
255
- } }, { children: (names === null || names === void 0 ? void 0 : names.value) || l('Value') })), (0, jsx_runtime_1.jsx)(Type, Object.assign({ version: 'b3' }, { children: valueValue }))] })), (0, jsx_runtime_1.jsxs)(Line, Object.assign({ gap: 1, direction: 'row', align: 'center' }, { children: [(0, jsx_runtime_1.jsx)(Type, Object.assign({ version: 'b3', style: {
256
- fontWeight: 600
257
- } }, { children: (names === null || names === void 0 ? void 0 : names.percentage) || l('Percentage') })), (0, jsx_runtime_1.jsxs)(Type, Object.assign({ version: 'b3' }, { children: [valuePercentage, "%"] }))] }))] }))] })))
242
+ item,
243
+ element: /*#__PURE__*/_react.default.createElement("g", null, /*#__PURE__*/_react.default.createElement(Path, (0, _extends2.default)({
244
+ d: d,
245
+ fill: !refs.theme.current.palette.color[color_] ? color_ : refs.theme.current.palette.color[color_][tone],
246
+ stroke: gap > 0 ? refs.theme.current.palette.background.default.primary : 'none',
247
+ strokeWidth: gap
248
+ }, PathProps, {
249
+ style: _objectSpread(_objectSpread(_objectSpread({}, PathProps === null || PathProps === void 0 ? void 0 : PathProps.style), refs.animate.current && refs.init.current !== 'animated' && {
250
+ opacity: 0,
251
+ transform: 'scale(0)'
252
+ }), {}, {
253
+ transformBox: 'fill-box',
254
+ transformOrigin: 'center'
255
+ }, refs.pathStyle.current)
256
+ })), partPercentage >= 7 && /*#__PURE__*/_react.default.createElement("text", {
257
+ x: angleTextCoordinates.x,
258
+ y: angleTextCoordinates.y,
259
+ className: (0, _styleReact.classNames)([(0, _utils2.staticClassName)('PieChart', theme) && ['onesy-PieChart-text'], classes.text]),
260
+ fill: refs.theme.current.methods.palette.color.text(!refs.theme.current.palette.color[color_] ? color_ : refs.theme.current.palette.color[color_][tone], true, 'light'),
261
+ style: _objectSpread(_objectSpread(_objectSpread(_objectSpread({}, PathProps === null || PathProps === void 0 ? void 0 : PathProps.style), refs.animate.current && refs.init.current !== 'animated' && {
262
+ opacity: 0
263
+ }), refs.animate.current && refs.init.current === 'animated' && {
264
+ opacity: 1
265
+ }), refs.pathStyle.current)
266
+ }, `${partPercentage.toFixed(1)}%`.replace('.0%', '%')))
267
+ };
268
+ });
269
+
270
+ // Sort
271
+ elements_.sort((a, b) => {
272
+ var _a$item, _b$item;
273
+ return (a === null || a === void 0 || (_a$item = a.item) === null || _a$item === void 0 || (_a$item = _a$item.values) === null || _a$item === void 0 ? void 0 : _a$item[0]) - (b === null || b === void 0 || (_b$item = b.item) === null || _b$item === void 0 || (_b$item = _b$item.values) === null || _b$item === void 0 ? void 0 : _b$item[0]);
274
+ });
275
+
276
+ // Update children value
277
+ setValue({
278
+ legend: legend_,
279
+ elements: elements_
280
+ });
281
+ }
282
+ };
283
+ const initMethod = _react.default.useCallback(() => {
284
+ if (animate) {
285
+ if (!init) {
286
+ refs.pathStyle.current = {
287
+ transition: theme.methods.transitions.make(['transform', 'opacity'], {
288
+ timing_function: 'decelerated'
289
+ })
258
290
  };
291
+ setInit(true);
292
+ setTimeout(() => {
293
+ refs.pathStyle.current = _objectSpread(_objectSpread({}, refs.pathStyle.current), {}, {
294
+ opacity: 1,
295
+ transform: 'scale(1)'
296
+ });
297
+ setInit('animated');
298
+ }, refs.animateTimeout.current);
299
+ }
300
+ }
301
+ }, [init, animate]);
302
+ _react.default.useEffect(() => {
303
+ make();
304
+ initMethod();
305
+ }, [values, theme, animate, init]);
306
+ const onUpdateRects = valueNew => {
307
+ refs.rects.current = valueNew;
308
+ make();
309
+ };
310
+ const tooltipRender = (0, _utils.is)('function', tooltipRender_) ? tooltipRender_ : values_ => {
311
+ const {
312
+ name,
313
+ color: color_,
314
+ tone = 'main',
315
+ values: values__
316
+ } = values_;
317
+ const valueTotal = values.reduce((result, itemValue) => result += itemValue.values[0], 0);
318
+ const valueValue = values__[0];
319
+ const valuePercentage = (valueValue / valueTotal * 100).toFixed(1).replace('.0', '');
320
+ return {
321
+ element: /*#__PURE__*/_react.default.createElement(Line, {
322
+ tonal: tonal,
323
+ color: color,
324
+ elevation: 1,
325
+ gap: 0.5,
326
+ direction: "column",
327
+ Component: Surface,
328
+ className: (0, _styleReact.classNames)([(0, _utils2.staticClassName)('PieChart', theme) && ['onesy-PieChart-append'], classes.append])
329
+ }, /*#__PURE__*/_react.default.createElement(Line, {
330
+ gap: 1,
331
+ direction: "row",
332
+ align: "center"
333
+ }, /*#__PURE__*/_react.default.createElement("span", {
334
+ className: (0, _styleReact.classNames)([(0, _utils2.staticClassName)('PieChart', theme) && ['onesy-LineChart-append-icon'], classes.append_icon]),
335
+ style: {
336
+ background: !refs.theme.current.palette.color[color_] ? color_ : refs.theme.current.palette.color[color_][tone]
337
+ }
338
+ }), /*#__PURE__*/_react.default.createElement(Type, {
339
+ version: "b3"
340
+ }, name)), /*#__PURE__*/_react.default.createElement(Line, {
341
+ gap: 0.4,
342
+ direction: "column"
343
+ }, /*#__PURE__*/_react.default.createElement(Line, {
344
+ gap: 1,
345
+ direction: "row",
346
+ align: "center"
347
+ }, /*#__PURE__*/_react.default.createElement(Type, {
348
+ version: "b3",
349
+ style: {
350
+ fontWeight: 600
351
+ }
352
+ }, (names === null || names === void 0 ? void 0 : names.value) || l('Value')), /*#__PURE__*/_react.default.createElement(Type, {
353
+ version: "b3"
354
+ }, valueValue)), /*#__PURE__*/_react.default.createElement(Line, {
355
+ gap: 1,
356
+ direction: "row",
357
+ align: "center"
358
+ }, /*#__PURE__*/_react.default.createElement(Type, {
359
+ version: "b3",
360
+ style: {
361
+ fontWeight: 600
362
+ }
363
+ }, (names === null || names === void 0 ? void 0 : names.percentage) || l('Percentage')), /*#__PURE__*/_react.default.createElement(Type, {
364
+ version: "b3"
365
+ }, valuePercentage, "%"))))
259
366
  };
260
- return ((0, jsx_runtime_1.jsx)(Chart, Object.assign({ ref: item => {
261
- if (ref) {
262
- if ((0, utils_1.is)('function', ref))
263
- ref(item);
264
- else
265
- ref.current = item;
266
- }
267
- refs.root.current = item;
268
- }, tonal: tonal, color: color, values: values, names: names, elements: value === null || value === void 0 ? void 0 : value.elements, legend: value === null || value === void 0 ? void 0 : value.legend, labels: false, marks: false, borders: false, tooltipRender: tooltipRender, onUpdateRects: onUpdateRects, elementTooltip: true, noMain: true, className: (0, style_react_1.classNames)([
269
- (0, utils_2.staticClassName)('PieChart', theme) && [
270
- 'onesy-PieChart-root'
271
- ],
272
- className,
273
- classes.root
274
- ]) }, other)));
367
+ };
368
+ return /*#__PURE__*/_react.default.createElement(Chart, (0, _extends2.default)({
369
+ ref: item => {
370
+ if (ref) {
371
+ if ((0, _utils.is)('function', ref)) ref(item);else ref.current = item;
372
+ }
373
+ refs.root.current = item;
374
+ },
375
+ tonal: tonal,
376
+ color: color,
377
+ values: values,
378
+ names: names,
379
+ elements: value === null || value === void 0 ? void 0 : value.elements,
380
+ legend: value === null || value === void 0 ? void 0 : value.legend,
381
+ labels: false,
382
+ marks: false,
383
+ borders: false,
384
+ tooltipRender: tooltipRender,
385
+ onUpdateRects: onUpdateRects,
386
+ elementTooltip: true,
387
+ noMain: true,
388
+ className: (0, _styleReact.classNames)([(0, _utils2.staticClassName)('PieChart', theme) && ['onesy-PieChart-root'], className, classes.root])
389
+ }, other));
275
390
  });
276
391
  PieChart.displayName = 'onesy-PieChart';
277
- exports.default = PieChart;
392
+ var _default = exports.default = PieChart;