@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,401 +1,477 @@
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 Surface_1 = __importDefault(require("../Surface"));
22
- const utils_2 = require("../utils");
23
- const useStyle = (0, style_react_1.style)(theme => ({
24
- root: {
25
- width: '100%'
26
- },
27
- size_small: {
28
- maxWidth: '180px'
29
- },
30
- size_regular: {
31
- maxWidth: '240px'
32
- },
33
- size_large: {
34
- maxWidth: '300px'
35
- },
36
- label: Object.assign(Object.assign({}, theme.typography.values.b2), { textAnchor: 'middle', alignmentBaseline: 'central', dominantBaseline: 'central' }),
37
- svg: {
38
- position: 'relative',
39
- width: '100%',
40
- height: 'auto'
41
- }
42
- }), { name: 'onesy-LinearMeter' });
43
- const LinearMeter = react_1.default.forwardRef((props_, ref) => {
44
- const theme = (0, style_react_1.useOnesyTheme)();
45
- 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.onesyLinearMeter) === null || _g === void 0 ? void 0 : _g.props) === null || _h === void 0 ? void 0 : _h.default), props_)); }, [props_]);
46
- 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]);
47
- const { tonal = true, color = 'primary', size = 'regular', parts: parts_ = 1, lineCap,
48
- // vertical, horizontal
49
- orientation = 'horizontal',
50
- // start, center, end
51
- linePosition = 'end', width: width_, height: height_, padding: outsidePadding = 0, paddingVertical, paddingHorizontal, gap = 0, border = false, background = false, boundaryWidth = 1, lineProgress = false, linesVisible = true, marksVisible = true, labelsVisible = true, marks: marks_ = [], markSize = 4, markWidth = 1, labels: labels_ = [], additional, textProps, pathProps, SvgProps, MarkProps, LabelProps, BackgroundProps, BorderProps, LineProps, LineMainProps, LinesProgressProps, LineProgressProps, Component = 'div', className, style, children } = props, other = __rest(props, ["tonal", "color", "size", "parts", "lineCap", "orientation", "linePosition", "width", "height", "padding", "paddingVertical", "paddingHorizontal", "gap", "border", "background", "boundaryWidth", "lineProgress", "linesVisible", "marksVisible", "labelsVisible", "marks", "markSize", "markWidth", "labels", "additional", "textProps", "pathProps", "SvgProps", "MarkProps", "LabelProps", "BackgroundProps", "BorderProps", "LineProps", "LineMainProps", "LinesProgressProps", "LineProgressProps", "Component", "className", "style", "children"]);
52
- const { classes } = useStyle();
53
- const refs = {
54
- root: react_1.default.useRef(undefined)
55
- };
56
- const styles = {
57
- root: {}
58
- };
59
- let width = width_ !== undefined ? width_ : size === 'regular' ? 240 : size === 'large' ? 300 : 180;
60
- let height = height_ !== undefined ? height_ : 100;
61
- if (orientation === 'vertical') {
62
- height = height_ !== undefined ? height_ : size === 'regular' ? 240 : size === 'large' ? 300 : 180;
63
- width = width_ !== undefined ? width_ : 100;
64
- styles.root.maxWidth = width;
65
- }
66
- else {
67
- styles.root.height = height;
68
- }
69
- const parts = (0, utils_1.clamp)((0, utils_1.parse)(parts_), 1, 1000);
70
- const paddings = {
71
- x: paddingHorizontal !== undefined ? paddingHorizontal : outsidePadding || 0,
72
- y: paddingVertical !== undefined ? paddingVertical : outsidePadding || 0
73
- };
74
- if (!['small', 'regular', 'large'].includes(size))
75
- styles.root.maxWidth = size;
76
- const marks = react_1.default.useMemo(() => {
77
- const values = [];
78
- if (marks_.length) {
79
- let marksValues = marks_;
80
- if (!(0, utils_1.is)('array', marksValues[0]))
81
- marksValues = [marksValues];
82
- marksValues.forEach((marksValue, index) => {
83
- values[index] = [];
84
- marksValue.forEach((mark) => {
85
- const { size: size_, padding: markPadding = 0, position } = mark, other_ = __rest(mark, ["size", "padding", "position"]);
86
- if (orientation === 'horizontal') {
87
- const total = width - (paddings.x * 2);
88
- const x = total * (position / 100);
89
- let y = height - paddings.y - boundaryWidth - markPadding;
90
- let yl = y - size_;
91
- if (linePosition === 'start') {
92
- y = paddings.y + boundaryWidth + markPadding;
93
- yl = y + size_;
94
- }
95
- if (linePosition === 'center') {
96
- y = (height / 2) - (boundaryWidth / 2) - markPadding;
97
- yl = y - size_;
98
- }
99
- if (linePosition === 'end') {
100
- y = height - paddings.y - boundaryWidth - markPadding;
101
- yl = y - size_;
102
- }
103
- values[index].push(Object.assign({ d: [
104
- 'M', x + paddings.x, y,
105
- 'L', x + paddings.x, yl
106
- ].join(' ') }, other_));
107
- }
108
- if (orientation === 'vertical') {
109
- const total = height - (paddings.y * 2);
110
- const y = total * (position / 100);
111
- let x = width - paddings.x - boundaryWidth - markPadding;
112
- let xl = x - size_;
113
- if (linePosition === 'start') {
114
- x = paddings.x + boundaryWidth + markPadding;
115
- xl = x + size_;
116
- }
117
- if (linePosition === 'center') {
118
- x = (width / 2) + (boundaryWidth / 2) + markPadding;
119
- xl = x + size_;
120
- }
121
- if (linePosition === 'end') {
122
- x = width - paddings.y - boundaryWidth - markPadding;
123
- xl = x - size_;
124
- }
125
- values[index].push(Object.assign({ d: [
126
- 'M', x, y + paddings.y,
127
- 'L', xl, y + paddings.y
128
- ].join(' ') }, other_));
129
- }
130
- });
131
- });
132
- }
133
- return values;
134
- }, [orientation, linePosition, width, height, parts, marks_, markWidth, markSize, boundaryWidth, lineCap, paddingVertical, paddingHorizontal, outsidePadding, gap]);
135
- const labels = react_1.default.useMemo(() => {
136
- var _a;
137
- const values = [];
138
- if (labels_.length) {
139
- const marksPadding = (marks_ === null || marks_ === void 0 ? void 0 : marks_.length) ? ((_a = (marks_ || []).sort((a, b) => b.size - a.size)[0]) === null || _a === void 0 ? void 0 : _a.size) || markSize : 0;
140
- let labelsValues = labels_;
141
- if (!(0, utils_1.is)('array', labelsValues[0]))
142
- labelsValues = [labelsValues];
143
- labelsValues.forEach((labelsValue, index) => {
144
- values[index] = [];
145
- labelsValue.forEach((label) => {
146
- var _a;
147
- const { value, padding: labelPadding = 0, position } = label, other_ = __rest(label, ["value", "padding", "position"]);
148
- const fontSize = ((_a = label.style) === null || _a === void 0 ? void 0 : _a.fontSize) !== undefined ? label.style.fontSize : 14;
149
- if (orientation === 'horizontal') {
150
- const total = width - (paddings.x * 2);
151
- const x = total * (position / 100);
152
- let y = height - paddings.y - boundaryWidth - labelPadding;
153
- if (linePosition === 'start') {
154
- y = paddings.y + boundaryWidth + labelPadding + (fontSize / 2) + marksPadding;
155
- }
156
- if (linePosition === 'center') {
157
- y = (height / 2) - (boundaryWidth / 2) - labelPadding - (fontSize / 2) - marksPadding;
158
- }
159
- if (linePosition === 'end') {
160
- y = height - paddings.y - boundaryWidth - labelPadding - (fontSize / 2) - marksPadding;
161
- }
162
- values[index].push(Object.assign({ x: x + paddings.x, y,
163
- value }, other_));
164
- }
165
- if (orientation === 'vertical') {
166
- const total = height - (paddings.y * 2);
167
- const y = total * (position / 100);
168
- let x = width - paddings.x - boundaryWidth - labelPadding;
169
- if (linePosition === 'start') {
170
- x = paddings.x + boundaryWidth + labelPadding + (fontSize / 2) + marksPadding;
171
- }
172
- if (linePosition === 'center') {
173
- x = (width / 2) + (boundaryWidth / 2) + labelPadding + (fontSize / 2) + marksPadding;
174
- }
175
- if (linePosition === 'end') {
176
- x = width - paddings.y - boundaryWidth - labelPadding - (fontSize / 2) - marksPadding;
177
- }
178
- values[index].push(Object.assign({ x, y: y + paddings.y, value }, other));
179
- }
180
- });
181
- });
182
- }
183
- return values;
184
- }, [orientation, linePosition, width, height, parts, marks_, markWidth, markSize, boundaryWidth, lineCap, outsidePadding, gap]);
185
- const lines = react_1.default.useMemo(() => {
186
- const values = [];
187
- let value = [];
188
- if (orientation === 'horizontal') {
189
- const lineCapOffset = ['round', 'square'].includes(lineCap) ? boundaryWidth / 2 : 0;
190
- const offset = (paddings.x * 2) + (lineCapOffset ? boundaryWidth * parts : 0);
191
- const total = width;
192
- const part = (total - ((parts - 1) * gap) - offset) / parts;
193
- let previousValue = 0;
194
- const x = 0 + lineCapOffset + paddings.x;
195
- let y = height - (boundaryWidth / 2);
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 _Surface = _interopRequireDefault(require("../Surface"));
15
+ var _utils2 = require("../utils");
16
+ const _excluded = ["tonal", "color", "size", "parts", "lineCap", "orientation", "linePosition", "width", "height", "padding", "paddingVertical", "paddingHorizontal", "gap", "border", "background", "boundaryWidth", "lineProgress", "linesVisible", "marksVisible", "labelsVisible", "marks", "markSize", "markWidth", "labels", "additional", "textProps", "pathProps", "SvgProps", "MarkProps", "LabelProps", "BackgroundProps", "BorderProps", "LineProps", "LineMainProps", "LinesProgressProps", "LineProgressProps", "Component", "className", "style", "children"],
17
+ _excluded2 = ["size", "padding", "position"],
18
+ _excluded3 = ["value", "padding", "position"],
19
+ _excluded4 = ["x", "y", "value"];
20
+ 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; }
21
+ 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; }
22
+ const useStyle = (0, _styleReact.style)(theme => ({
23
+ root: {
24
+ width: '100%'
25
+ },
26
+ size_small: {
27
+ maxWidth: '180px'
28
+ },
29
+ size_regular: {
30
+ maxWidth: '240px'
31
+ },
32
+ size_large: {
33
+ maxWidth: '300px'
34
+ },
35
+ label: _objectSpread(_objectSpread({}, theme.typography.values.b2), {}, {
36
+ textAnchor: 'middle',
37
+ alignmentBaseline: 'central',
38
+ dominantBaseline: 'central'
39
+ }),
40
+ svg: {
41
+ position: 'relative',
42
+ width: '100%',
43
+ height: 'auto'
44
+ }
45
+ }), {
46
+ name: 'onesy-LinearMeter'
47
+ });
48
+ const LinearMeter = /*#__PURE__*/_react.default.forwardRef((props_, ref) => {
49
+ const theme = (0, _styleReact.useOnesyTheme)();
50
+ const props = _react.default.useMemo(() => {
51
+ var _theme$ui, _theme$ui2;
52
+ 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.onesyLinearMeter) === null || _theme$ui2 === void 0 || (_theme$ui2 = _theme$ui2.props) === null || _theme$ui2 === void 0 ? void 0 : _theme$ui2.default), props_);
53
+ }, [props_]);
54
+ const Surface = _react.default.useMemo(() => {
55
+ var _theme$elements;
56
+ return (theme === null || theme === void 0 || (_theme$elements = theme.elements) === null || _theme$elements === void 0 ? void 0 : _theme$elements.Surface) || _Surface.default;
57
+ }, [theme]);
58
+ const {
59
+ tonal = true,
60
+ color = 'primary',
61
+ size = 'regular',
62
+ parts: parts_ = 1,
63
+ lineCap,
64
+ // vertical, horizontal
65
+ orientation = 'horizontal',
66
+ // start, center, end
67
+ linePosition = 'end',
68
+ width: width_,
69
+ height: height_,
70
+ padding: outsidePadding = 0,
71
+ paddingVertical,
72
+ paddingHorizontal,
73
+ gap = 0,
74
+ border = false,
75
+ background = false,
76
+ boundaryWidth = 1,
77
+ lineProgress = false,
78
+ linesVisible = true,
79
+ marksVisible = true,
80
+ labelsVisible = true,
81
+ marks: marks_ = [],
82
+ markSize = 4,
83
+ markWidth = 1,
84
+ labels: labels_ = [],
85
+ additional,
86
+ textProps,
87
+ pathProps,
88
+ SvgProps,
89
+ MarkProps,
90
+ LabelProps,
91
+ BackgroundProps,
92
+ BorderProps,
93
+ LineProps,
94
+ LineMainProps,
95
+ LinesProgressProps,
96
+ LineProgressProps,
97
+ Component = 'div',
98
+ className,
99
+ style,
100
+ children
101
+ } = props,
102
+ other = (0, _objectWithoutProperties2.default)(props, _excluded);
103
+ const {
104
+ classes
105
+ } = useStyle();
106
+ const refs = {
107
+ root: _react.default.useRef(undefined)
108
+ };
109
+ const styles = {
110
+ root: {}
111
+ };
112
+ let width = width_ !== undefined ? width_ : size === 'regular' ? 240 : size === 'large' ? 300 : 180;
113
+ let height = height_ !== undefined ? height_ : 100;
114
+ if (orientation === 'vertical') {
115
+ height = height_ !== undefined ? height_ : size === 'regular' ? 240 : size === 'large' ? 300 : 180;
116
+ width = width_ !== undefined ? width_ : 100;
117
+ styles.root.maxWidth = width;
118
+ } else {
119
+ styles.root.height = height;
120
+ }
121
+ const parts = (0, _utils.clamp)((0, _utils.parse)(parts_), 1, 1000);
122
+ const paddings = {
123
+ x: paddingHorizontal !== undefined ? paddingHorizontal : outsidePadding || 0,
124
+ y: paddingVertical !== undefined ? paddingVertical : outsidePadding || 0
125
+ };
126
+ if (!['small', 'regular', 'large'].includes(size)) styles.root.maxWidth = size;
127
+ const marks = _react.default.useMemo(() => {
128
+ const values = [];
129
+ if (marks_.length) {
130
+ let marksValues = marks_;
131
+ if (!(0, _utils.is)('array', marksValues[0])) marksValues = [marksValues];
132
+ marksValues.forEach((marksValue, index) => {
133
+ values[index] = [];
134
+ marksValue.forEach(mark => {
135
+ const {
136
+ size: size_,
137
+ padding: markPadding = 0,
138
+ position
139
+ } = mark,
140
+ other_ = (0, _objectWithoutProperties2.default)(mark, _excluded2);
141
+ if (orientation === 'horizontal') {
142
+ const total = width - paddings.x * 2;
143
+ const x = total * (position / 100);
144
+ let y = height - paddings.y - boundaryWidth - markPadding;
145
+ let yl = y - size_;
196
146
  if (linePosition === 'start') {
197
- y = boundaryWidth / 2;
198
- y += paddings.y;
147
+ y = paddings.y + boundaryWidth + markPadding;
148
+ yl = y + size_;
199
149
  }
200
- if (linePosition === 'center')
201
- y = height / 2;
202
- if (linePosition === 'end') {
203
- y = height - (boundaryWidth / 2);
204
- y -= paddings.y;
150
+ if (linePosition === 'center') {
151
+ y = height / 2 - boundaryWidth / 2 - markPadding;
152
+ yl = y - size_;
205
153
  }
206
- for (let i = 0; i < parts; i++) {
207
- // move to bottom left
208
- if (i === 0)
209
- value.push(
210
- // Move to bottom left
211
- 'm', x, y);
212
- // line
213
- value.push('l', part, 0);
214
- // Previous value with/out the gap value
215
- if (gap > 0 && i < parts - 1)
216
- previousValue += part + gap + (lineCapOffset ? boundaryWidth : 0);
217
- else
218
- previousValue += part + (lineCapOffset ? boundaryWidth : 0);
219
- values.push({ d: value.join(' ') });
220
- if (i === 0)
221
- previousValue += lineCapOffset + paddings.x;
222
- // move for the next value
223
- if (i < parts - 1) {
224
- value = [
225
- 'm', previousValue, y
226
- ];
227
- }
154
+ if (linePosition === 'end') {
155
+ y = height - paddings.y - boundaryWidth - markPadding;
156
+ yl = y - size_;
228
157
  }
229
- }
230
- if (orientation === 'vertical') {
231
- const lineCapOffset = ['round', 'square'].includes(lineCap) ? boundaryWidth / 2 : 0;
232
- const offset = (paddings.y * 2) + (lineCapOffset ? boundaryWidth * parts : 0);
233
- const total = height;
234
- const part = (total - ((parts - 1) * gap) - offset) / parts;
235
- let previousValue = 0;
236
- let x = width - (boundaryWidth / 2);
237
- const y = 0 + lineCapOffset + paddings.y;
158
+ values[index].push(_objectSpread({
159
+ d: ['M', x + paddings.x, y, 'L', x + paddings.x, yl].join(' ')
160
+ }, other_));
161
+ }
162
+ if (orientation === 'vertical') {
163
+ const total = height - paddings.y * 2;
164
+ const y = total * (position / 100);
165
+ let x = width - paddings.x - boundaryWidth - markPadding;
166
+ let xl = x - size_;
238
167
  if (linePosition === 'start') {
239
- x = boundaryWidth / 2;
240
- x += paddings.x;
168
+ x = paddings.x + boundaryWidth + markPadding;
169
+ xl = x + size_;
241
170
  }
242
- if (linePosition === 'center')
243
- x = width / 2;
244
- if (linePosition === 'end') {
245
- x = width - (boundaryWidth / 2);
246
- x -= paddings.x;
171
+ if (linePosition === 'center') {
172
+ x = width / 2 + boundaryWidth / 2 + markPadding;
173
+ xl = x + size_;
247
174
  }
248
- for (let i = 0; i < parts; i++) {
249
- // move to bottom left
250
- if (i === 0)
251
- value.push(
252
- // Move to bottom left
253
- 'm', x, y);
254
- // line
255
- value.push('l', 0, part);
256
- // Previous value with/out the gap value
257
- if (gap > 0 && i < parts - 1)
258
- previousValue += part + gap + (lineCapOffset ? boundaryWidth : 0);
259
- else
260
- previousValue += part + (lineCapOffset ? boundaryWidth : 0);
261
- values.push({ d: value.join(' ') });
262
- if (i === 0)
263
- previousValue += lineCapOffset + paddings.y;
264
- // move for the next value
265
- if (i < parts - 1) {
266
- value = [
267
- 'm', x, previousValue
268
- ];
269
- }
175
+ if (linePosition === 'end') {
176
+ x = width - paddings.y - boundaryWidth - markPadding;
177
+ xl = x - size_;
270
178
  }
271
- }
272
- return values;
273
- }, [width, height, parts, boundaryWidth, lineCap, orientation, linePosition, paddingVertical, paddingHorizontal, outsidePadding, gap]);
274
- const pathBackground = react_1.default.useMemo(() => {
275
- const values = [];
276
- if (orientation === 'horizontal') {
277
- values.push(
278
- // Move
279
- 'M', paddings.x, height - paddings.y, 'L', paddings.x, paddings.y, 'L', width - paddings.x, paddings.y, 'L', width - paddings.x, height - paddings.y, 'Z');
280
- }
281
- if (orientation === 'vertical') {
282
- values.push(
283
- // Move
284
- 'M', width - paddings.x, paddings.y, 'L', paddings.x, paddings.y, 'L', paddings.x, height - paddings.y, 'L', width - paddings.x, height - paddings.y, 'Z');
285
- }
286
- return values.join(' ');
287
- }, [orientation, linePosition, width, height, boundaryWidth, outsidePadding, paddingVertical, paddingHorizontal]);
288
- const pathBorder = react_1.default.useMemo(() => {
289
- const values = [];
290
- if (orientation === 'horizontal') {
179
+ values[index].push(_objectSpread({
180
+ d: ['M', x, y + paddings.y, 'L', xl, y + paddings.y].join(' ')
181
+ }, other_));
182
+ }
183
+ });
184
+ });
185
+ }
186
+ return values;
187
+ }, [orientation, linePosition, width, height, parts, marks_, markWidth, markSize, boundaryWidth, lineCap, paddingVertical, paddingHorizontal, outsidePadding, gap]);
188
+ const labels = _react.default.useMemo(() => {
189
+ const values = [];
190
+ if (labels_.length) {
191
+ var _sort$;
192
+ const marksPadding = marks_ !== null && marks_ !== void 0 && marks_.length ? ((_sort$ = (marks_ || []).sort((a, b) => b.size - a.size)[0]) === null || _sort$ === void 0 ? void 0 : _sort$.size) || markSize : 0;
193
+ let labelsValues = labels_;
194
+ if (!(0, _utils.is)('array', labelsValues[0])) labelsValues = [labelsValues];
195
+ labelsValues.forEach((labelsValue, index) => {
196
+ values[index] = [];
197
+ labelsValue.forEach(label => {
198
+ var _label$style;
199
+ const {
200
+ value,
201
+ padding: labelPadding = 0,
202
+ position
203
+ } = label,
204
+ other_ = (0, _objectWithoutProperties2.default)(label, _excluded3);
205
+ const fontSize = ((_label$style = label.style) === null || _label$style === void 0 ? void 0 : _label$style.fontSize) !== undefined ? label.style.fontSize : 14;
206
+ if (orientation === 'horizontal') {
207
+ const total = width - paddings.x * 2;
208
+ const x = total * (position / 100);
209
+ let y = height - paddings.y - boundaryWidth - labelPadding;
291
210
  if (linePosition === 'start') {
292
- values.push(
293
- // Move
294
- 'M', paddings.x, paddings.y, 'L', paddings.x, height - paddings.y, 'L', width - paddings.x, height - paddings.y, 'L', width - paddings.x, paddings.y);
211
+ y = paddings.y + boundaryWidth + labelPadding + fontSize / 2 + marksPadding;
295
212
  }
296
213
  if (linePosition === 'center') {
297
- values.push(
298
- // Move
299
- 'M', paddings.x, height - paddings.y, 'L', paddings.x, paddings.y, 'L', width - paddings.x, paddings.y, 'L', width - paddings.x, height - paddings.y, 'Z');
214
+ y = height / 2 - boundaryWidth / 2 - labelPadding - fontSize / 2 - marksPadding;
300
215
  }
301
216
  if (linePosition === 'end') {
302
- values.push(
303
- // Move
304
- 'M', paddings.x, height - paddings.y, 'L', paddings.x, paddings.y, 'L', width - paddings.x, paddings.y, 'L', width - paddings.x, height - paddings.y);
217
+ y = height - paddings.y - boundaryWidth - labelPadding - fontSize / 2 - marksPadding;
305
218
  }
306
- }
307
- if (orientation === 'vertical') {
219
+ values[index].push(_objectSpread({
220
+ x: x + paddings.x,
221
+ y,
222
+ value
223
+ }, other_));
224
+ }
225
+ if (orientation === 'vertical') {
226
+ const total = height - paddings.y * 2;
227
+ const y = total * (position / 100);
228
+ let x = width - paddings.x - boundaryWidth - labelPadding;
308
229
  if (linePosition === 'start') {
309
- values.push(
310
- // Move
311
- 'M', paddings.x, height - paddings.y, 'L', width - paddings.x, height - paddings.y, 'L', width - paddings.x, paddings.y, 'L', paddings.x, paddings.y);
230
+ x = paddings.x + boundaryWidth + labelPadding + fontSize / 2 + marksPadding;
312
231
  }
313
232
  if (linePosition === 'center') {
314
- values.push(
315
- // Move
316
- 'M', width - paddings.x, paddings.y, 'L', paddings.x, paddings.y, 'L', paddings.x, height - paddings.y, 'L', width - paddings.x, height - paddings.y, 'Z');
233
+ x = width / 2 + boundaryWidth / 2 + labelPadding + fontSize / 2 + marksPadding;
317
234
  }
318
235
  if (linePosition === 'end') {
319
- values.push(
320
- // Move
321
- 'M', width - paddings.x, paddings.y, 'L', paddings.x, paddings.y, 'L', paddings.x, height - paddings.y, 'L', width - paddings.x, height - paddings.y);
236
+ x = width - paddings.y - boundaryWidth - labelPadding - fontSize / 2 - marksPadding;
322
237
  }
238
+ values[index].push(_objectSpread({
239
+ x,
240
+ y: y + paddings.y,
241
+ value
242
+ }, other));
243
+ }
244
+ });
245
+ });
246
+ }
247
+ return values;
248
+ }, [orientation, linePosition, width, height, parts, marks_, markWidth, markSize, boundaryWidth, lineCap, outsidePadding, gap]);
249
+ const lines = _react.default.useMemo(() => {
250
+ const values = [];
251
+ let value = [];
252
+ if (orientation === 'horizontal') {
253
+ const lineCapOffset = ['round', 'square'].includes(lineCap) ? boundaryWidth / 2 : 0;
254
+ const offset = paddings.x * 2 + (lineCapOffset ? boundaryWidth * parts : 0);
255
+ const total = width;
256
+ const part = (total - (parts - 1) * gap - offset) / parts;
257
+ let previousValue = 0;
258
+ const x = 0 + lineCapOffset + paddings.x;
259
+ let y = height - boundaryWidth / 2;
260
+ if (linePosition === 'start') {
261
+ y = boundaryWidth / 2;
262
+ y += paddings.y;
263
+ }
264
+ if (linePosition === 'center') y = height / 2;
265
+ if (linePosition === 'end') {
266
+ y = height - boundaryWidth / 2;
267
+ y -= paddings.y;
268
+ }
269
+ for (let i = 0; i < parts; i++) {
270
+ // move to bottom left
271
+ if (i === 0) value.push(
272
+ // Move to bottom left
273
+ 'm', x, y);
274
+
275
+ // line
276
+ value.push('l', part, 0);
277
+
278
+ // Previous value with/out the gap value
279
+ if (gap > 0 && i < parts - 1) previousValue += part + gap + (lineCapOffset ? boundaryWidth : 0);else previousValue += part + (lineCapOffset ? boundaryWidth : 0);
280
+ values.push({
281
+ d: value.join(' ')
282
+ });
283
+ if (i === 0) previousValue += lineCapOffset + paddings.x;
284
+
285
+ // move for the next value
286
+ if (i < parts - 1) {
287
+ value = ['m', previousValue, y];
323
288
  }
324
- return values.join(' ');
325
- }, [orientation, linePosition, width, height, boundaryWidth, outsidePadding, paddingVertical, paddingHorizontal]);
326
- return ((0, jsx_runtime_1.jsxs)(Component, Object.assign({ ref: item => {
327
- if (ref) {
328
- if ((0, utils_1.is)('function', ref))
329
- ref(item);
330
- else
331
- ref.current = item;
332
- }
333
- refs.root.current = item;
334
- }, className: (0, style_react_1.classNames)([
335
- (0, utils_2.staticClassName)('LinearMeter', theme) && [
336
- 'onesy-LinearMeter-root',
337
- `onesy-LinearMeter-size-${size}`
338
- ],
339
- className,
340
- classes.root,
341
- classes[`size_${size}`]
342
- ]), style: Object.assign(Object.assign({}, styles.root), style) }, other, { children: [additional, (0, jsx_runtime_1.jsx)(Surface, Object.assign({ tonal: tonal, color: color }, { children: ({ color: color_, backgroundColor }) => ((0, jsx_runtime_1.jsxs)("svg", Object.assign({ xmlns: 'http://www.w3.org/2000/svg', viewBox: `0 0 ${width || 0} ${height || 0}` }, SvgProps, { className: (0, style_react_1.classNames)([
343
- (0, utils_2.staticClassName)('LinearMeter', theme) && [
344
- 'onesy-LinearMeter-svg'
345
- ],
346
- SvgProps === null || SvgProps === void 0 ? void 0 : SvgProps.className,
347
- classes.svg
348
- ]) }, { children: [background && ((0, jsx_runtime_1.jsx)("path", Object.assign({ d: pathBackground, fill: backgroundColor, stroke: 'none' }, pathProps, BackgroundProps))), border && ((0, jsx_runtime_1.jsx)("path", Object.assign({ d: pathBorder, fill: 'none', stroke: color_, strokeWidth: boundaryWidth }, pathProps, BorderProps))), linesVisible && ((0, jsx_runtime_1.jsx)("g", Object.assign({ className: (0, style_react_1.classNames)([
349
- (0, utils_2.staticClassName)('LinearMeter', theme) && [
350
- 'onesy-LinearMeter-arcs'
351
- ],
352
- classes.arcs
353
- ]) }, { children: (lines.map((item, index) => ((0, jsx_runtime_1.jsx)("path", Object.assign({ d: item.d, fill: 'none', stroke: color_, strokeWidth: boundaryWidth, strokeLinecap: lineCap }, pathProps, LineProps, LineMainProps), index)))) }))), linesVisible && lineProgress && ((0, jsx_runtime_1.jsx)("g", Object.assign({}, LinesProgressProps, { className: (0, style_react_1.classNames)([
354
- (0, utils_2.staticClassName)('LinearMeter', theme) && [
355
- 'onesy-LinearMeter-lines-progress'
356
- ],
357
- LinesProgressProps === null || LinesProgressProps === void 0 ? void 0 : LinesProgressProps.className,
358
- classes.lines_progress
359
- ]) }, { children: (lines.map((item, index) => ((0, jsx_runtime_1.jsx)("path", Object.assign({ d: item.d, fill: 'none', stroke: color_, strokeWidth: boundaryWidth, strokeLinecap: lineCap }, pathProps, LineProps, LineProgressProps), index)))) }))), children && ((0, jsx_runtime_1.jsx)("g", Object.assign({ className: (0, style_react_1.classNames)([
360
- (0, utils_2.staticClassName)('LinearMeter', theme) && [
361
- 'onesy-LinearMeter-children'
362
- ],
363
- classes.children
364
- ]) }, { children: react_1.default.Children.toArray(children).map((item, index) => {
365
- return (react_1.default.cloneElement(item, {
366
- key: index,
367
- fill: item.props.fill !== undefined ? item.props.fill : color_,
368
- stroke: item.props.stroke !== undefined ? item.props.stroke : color_,
369
- // clean up
370
- value: undefined,
371
- style: Object.assign(Object.assign({}, (item.props.value !== undefined ? {
372
- transform: orientation === 'horizontal' ?
373
- `translate3d(${paddings.x + (((item.props.value / 100) || 0) * (width - (paddings.x * 2)))}px, 0, 0)` :
374
- `translate3d(0, ${paddings.y + (((item.props.value / 100) || 0) * (height - (paddings.y * 2)))}px, 0)`
375
- } : undefined)), item.props.style)
376
- }));
377
- }) }))), marksVisible && !!marks_.length && (marks.map((marksValue, index) => ((0, jsx_runtime_1.jsx)("g", Object.assign({ className: (0, style_react_1.classNames)([
378
- (0, utils_2.staticClassName)('LinearMeter', theme) && [
379
- 'onesy-LinearMeter-marks'
380
- ],
381
- classes.marks
382
- ]) }, { children: (marksValue.map((item, index_) => ((0, jsx_runtime_1.jsx)("path", Object.assign({ d: item.d, fill: 'none', stroke: color_, strokeWidth: item.width !== undefined ? item.width : markWidth, strokeLinecap: lineCap }, pathProps, MarkProps), index_)))) }), index)))), labelsVisible && !!labels_.length && (labels.map((labelsValue, index) => ((0, jsx_runtime_1.jsx)("g", Object.assign({ className: (0, style_react_1.classNames)([
383
- (0, utils_2.staticClassName)('LinearMeter', theme) && [
384
- 'onesy-LinearMeter-labels'
385
- ],
386
- classes.labels
387
- ]) }, { children: (labelsValue.map((item, index_) => {
388
- const { x, y, value } = item, other_ = __rest(item, ["x", "y", "value"]);
389
- return ((0, jsx_runtime_1.jsx)("text", Object.assign({ x: x, y: y }, other_, textProps, LabelProps, { className: (0, style_react_1.classNames)([
390
- (0, utils_2.staticClassName)('LinearMeter', theme) && [
391
- 'onesy-LinearMeter-label'
392
- ],
393
- other_ === null || other_ === void 0 ? void 0 : other_.className,
394
- textProps === null || textProps === void 0 ? void 0 : textProps.className,
395
- LabelProps === null || LabelProps === void 0 ? void 0 : LabelProps.className,
396
- classes.label
397
- ]), style: Object.assign(Object.assign(Object.assign({ fill: color_ }, other_.style), textProps === null || textProps === void 0 ? void 0 : textProps.style), LabelProps === null || LabelProps === void 0 ? void 0 : LabelProps.style) }, { children: value }), index_));
398
- })) }), index))))] }))) }))] })));
289
+ }
290
+ }
291
+ if (orientation === 'vertical') {
292
+ const lineCapOffset = ['round', 'square'].includes(lineCap) ? boundaryWidth / 2 : 0;
293
+ const offset = paddings.y * 2 + (lineCapOffset ? boundaryWidth * parts : 0);
294
+ const total = height;
295
+ const part = (total - (parts - 1) * gap - offset) / parts;
296
+ let previousValue = 0;
297
+ let x = width - boundaryWidth / 2;
298
+ const y = 0 + lineCapOffset + paddings.y;
299
+ if (linePosition === 'start') {
300
+ x = boundaryWidth / 2;
301
+ x += paddings.x;
302
+ }
303
+ if (linePosition === 'center') x = width / 2;
304
+ if (linePosition === 'end') {
305
+ x = width - boundaryWidth / 2;
306
+ x -= paddings.x;
307
+ }
308
+ for (let i = 0; i < parts; i++) {
309
+ // move to bottom left
310
+ if (i === 0) value.push(
311
+ // Move to bottom left
312
+ 'm', x, y);
313
+
314
+ // line
315
+ value.push('l', 0, part);
316
+
317
+ // Previous value with/out the gap value
318
+ if (gap > 0 && i < parts - 1) previousValue += part + gap + (lineCapOffset ? boundaryWidth : 0);else previousValue += part + (lineCapOffset ? boundaryWidth : 0);
319
+ values.push({
320
+ d: value.join(' ')
321
+ });
322
+ if (i === 0) previousValue += lineCapOffset + paddings.y;
323
+
324
+ // move for the next value
325
+ if (i < parts - 1) {
326
+ value = ['m', x, previousValue];
327
+ }
328
+ }
329
+ }
330
+ return values;
331
+ }, [width, height, parts, boundaryWidth, lineCap, orientation, linePosition, paddingVertical, paddingHorizontal, outsidePadding, gap]);
332
+ const pathBackground = _react.default.useMemo(() => {
333
+ const values = [];
334
+ if (orientation === 'horizontal') {
335
+ values.push(
336
+ // Move
337
+ 'M', paddings.x, height - paddings.y, 'L', paddings.x, paddings.y, 'L', width - paddings.x, paddings.y, 'L', width - paddings.x, height - paddings.y, 'Z');
338
+ }
339
+ if (orientation === 'vertical') {
340
+ values.push(
341
+ // Move
342
+ 'M', width - paddings.x, paddings.y, 'L', paddings.x, paddings.y, 'L', paddings.x, height - paddings.y, 'L', width - paddings.x, height - paddings.y, 'Z');
343
+ }
344
+ return values.join(' ');
345
+ }, [orientation, linePosition, width, height, boundaryWidth, outsidePadding, paddingVertical, paddingHorizontal]);
346
+ const pathBorder = _react.default.useMemo(() => {
347
+ const values = [];
348
+ if (orientation === 'horizontal') {
349
+ if (linePosition === 'start') {
350
+ values.push(
351
+ // Move
352
+ 'M', paddings.x, paddings.y, 'L', paddings.x, height - paddings.y, 'L', width - paddings.x, height - paddings.y, 'L', width - paddings.x, paddings.y);
353
+ }
354
+ if (linePosition === 'center') {
355
+ values.push(
356
+ // Move
357
+ 'M', paddings.x, height - paddings.y, 'L', paddings.x, paddings.y, 'L', width - paddings.x, paddings.y, 'L', width - paddings.x, height - paddings.y, 'Z');
358
+ }
359
+ if (linePosition === 'end') {
360
+ values.push(
361
+ // Move
362
+ 'M', paddings.x, height - paddings.y, 'L', paddings.x, paddings.y, 'L', width - paddings.x, paddings.y, 'L', width - paddings.x, height - paddings.y);
363
+ }
364
+ }
365
+ if (orientation === 'vertical') {
366
+ if (linePosition === 'start') {
367
+ values.push(
368
+ // Move
369
+ 'M', paddings.x, height - paddings.y, 'L', width - paddings.x, height - paddings.y, 'L', width - paddings.x, paddings.y, 'L', paddings.x, paddings.y);
370
+ }
371
+ if (linePosition === 'center') {
372
+ values.push(
373
+ // Move
374
+ 'M', width - paddings.x, paddings.y, 'L', paddings.x, paddings.y, 'L', paddings.x, height - paddings.y, 'L', width - paddings.x, height - paddings.y, 'Z');
375
+ }
376
+ if (linePosition === 'end') {
377
+ values.push(
378
+ // Move
379
+ 'M', width - paddings.x, paddings.y, 'L', paddings.x, paddings.y, 'L', paddings.x, height - paddings.y, 'L', width - paddings.x, height - paddings.y);
380
+ }
381
+ }
382
+ return values.join(' ');
383
+ }, [orientation, linePosition, width, height, boundaryWidth, outsidePadding, paddingVertical, paddingHorizontal]);
384
+ return /*#__PURE__*/_react.default.createElement(Component, (0, _extends2.default)({
385
+ ref: item => {
386
+ if (ref) {
387
+ if ((0, _utils.is)('function', ref)) ref(item);else ref.current = item;
388
+ }
389
+ refs.root.current = item;
390
+ },
391
+ className: (0, _styleReact.classNames)([(0, _utils2.staticClassName)('LinearMeter', theme) && ['onesy-LinearMeter-root', `onesy-LinearMeter-size-${size}`], className, classes.root, classes[`size_${size}`]]),
392
+ style: _objectSpread(_objectSpread({}, styles.root), style)
393
+ }, other), additional, /*#__PURE__*/_react.default.createElement(Surface, {
394
+ tonal: tonal,
395
+ color: color
396
+ }, ({
397
+ color: color_,
398
+ backgroundColor
399
+ }) => /*#__PURE__*/_react.default.createElement("svg", (0, _extends2.default)({
400
+ xmlns: "http://www.w3.org/2000/svg",
401
+ viewBox: `0 0 ${width || 0} ${height || 0}`
402
+ }, SvgProps, {
403
+ className: (0, _styleReact.classNames)([(0, _utils2.staticClassName)('LinearMeter', theme) && ['onesy-LinearMeter-svg'], SvgProps === null || SvgProps === void 0 ? void 0 : SvgProps.className, classes.svg])
404
+ }), background && /*#__PURE__*/_react.default.createElement("path", (0, _extends2.default)({
405
+ d: pathBackground,
406
+ fill: backgroundColor,
407
+ stroke: "none"
408
+ }, pathProps, BackgroundProps)), border && /*#__PURE__*/_react.default.createElement("path", (0, _extends2.default)({
409
+ d: pathBorder,
410
+ fill: "none",
411
+ stroke: color_,
412
+ strokeWidth: boundaryWidth
413
+ }, pathProps, BorderProps)), linesVisible && /*#__PURE__*/_react.default.createElement("g", {
414
+ className: (0, _styleReact.classNames)([(0, _utils2.staticClassName)('LinearMeter', theme) && ['onesy-LinearMeter-arcs'], classes.arcs])
415
+ }, lines.map((item, index) => /*#__PURE__*/_react.default.createElement("path", (0, _extends2.default)({
416
+ key: index,
417
+ d: item.d,
418
+ fill: "none",
419
+ stroke: color_,
420
+ strokeWidth: boundaryWidth,
421
+ strokeLinecap: lineCap
422
+ }, pathProps, LineProps, LineMainProps)))), linesVisible && lineProgress && /*#__PURE__*/_react.default.createElement("g", (0, _extends2.default)({}, LinesProgressProps, {
423
+ className: (0, _styleReact.classNames)([(0, _utils2.staticClassName)('LinearMeter', theme) && ['onesy-LinearMeter-lines-progress'], LinesProgressProps === null || LinesProgressProps === void 0 ? void 0 : LinesProgressProps.className, classes.lines_progress])
424
+ }), lines.map((item, index) => /*#__PURE__*/_react.default.createElement("path", (0, _extends2.default)({
425
+ key: index,
426
+ d: item.d,
427
+ fill: "none",
428
+ stroke: color_,
429
+ strokeWidth: boundaryWidth,
430
+ strokeLinecap: lineCap
431
+ }, pathProps, LineProps, LineProgressProps)))), children && /*#__PURE__*/_react.default.createElement("g", {
432
+ className: (0, _styleReact.classNames)([(0, _utils2.staticClassName)('LinearMeter', theme) && ['onesy-LinearMeter-children'], classes.children])
433
+ }, _react.default.Children.toArray(children).map((item, index) => {
434
+ return /*#__PURE__*/_react.default.cloneElement(item, {
435
+ key: index,
436
+ fill: item.props.fill !== undefined ? item.props.fill : color_,
437
+ stroke: item.props.stroke !== undefined ? item.props.stroke : color_,
438
+ // clean up
439
+ value: undefined,
440
+ style: _objectSpread(_objectSpread({}, item.props.value !== undefined ? {
441
+ transform: orientation === 'horizontal' ? `translate3d(${paddings.x + (item.props.value / 100 || 0) * (width - paddings.x * 2)}px, 0, 0)` : `translate3d(0, ${paddings.y + (item.props.value / 100 || 0) * (height - paddings.y * 2)}px, 0)`
442
+ } : undefined), item.props.style)
443
+ });
444
+ })), marksVisible && !!marks_.length && marks.map((marksValue, index) => /*#__PURE__*/_react.default.createElement("g", {
445
+ key: index,
446
+ className: (0, _styleReact.classNames)([(0, _utils2.staticClassName)('LinearMeter', theme) && ['onesy-LinearMeter-marks'], classes.marks])
447
+ }, marksValue.map((item, index_) => /*#__PURE__*/_react.default.createElement("path", (0, _extends2.default)({
448
+ key: index_,
449
+ d: item.d,
450
+ fill: "none",
451
+ stroke: color_,
452
+ strokeWidth: item.width !== undefined ? item.width : markWidth,
453
+ strokeLinecap: lineCap
454
+ }, pathProps, MarkProps))))), labelsVisible && !!labels_.length && labels.map((labelsValue, index) => /*#__PURE__*/_react.default.createElement("g", {
455
+ key: index,
456
+ className: (0, _styleReact.classNames)([(0, _utils2.staticClassName)('LinearMeter', theme) && ['onesy-LinearMeter-labels'], classes.labels])
457
+ }, labelsValue.map((item, index_) => {
458
+ const {
459
+ x,
460
+ y,
461
+ value
462
+ } = item,
463
+ other_ = (0, _objectWithoutProperties2.default)(item, _excluded4);
464
+ return /*#__PURE__*/_react.default.createElement("text", (0, _extends2.default)({
465
+ key: index_,
466
+ x: x,
467
+ y: y
468
+ }, other_, textProps, LabelProps, {
469
+ className: (0, _styleReact.classNames)([(0, _utils2.staticClassName)('LinearMeter', theme) && ['onesy-LinearMeter-label'], other_ === null || other_ === void 0 ? void 0 : other_.className, textProps === null || textProps === void 0 ? void 0 : textProps.className, LabelProps === null || LabelProps === void 0 ? void 0 : LabelProps.className, classes.label]),
470
+ style: _objectSpread(_objectSpread(_objectSpread({
471
+ fill: color_
472
+ }, other_.style), textProps === null || textProps === void 0 ? void 0 : textProps.style), LabelProps === null || LabelProps === void 0 ? void 0 : LabelProps.style)
473
+ }), value);
474
+ }))))));
399
475
  });
400
476
  LinearMeter.displayName = 'onesy-LinearMeter';
401
- exports.default = LinearMeter;
477
+ var _default = exports.default = LinearMeter;