@onesy/ui-react 1.0.129 → 1.0.131

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (445) hide show
  1. package/Accordion/Accordion.js +342 -242
  2. package/Accordion/index.js +12 -7
  3. package/AdvancedTextField/AdvancedTextField.js +165 -157
  4. package/AdvancedTextField/index.js +12 -7
  5. package/Append/Append.js +502 -519
  6. package/Append/index.js +12 -7
  7. package/AreaChart/AreaChart.js +53 -40
  8. package/AreaChart/index.js +12 -7
  9. package/AreaChartItem/AreaChartItem.js +325 -237
  10. package/AreaChartItem/index.js +12 -7
  11. package/AudioPlayer/AudioPlayer.js +683 -466
  12. package/AudioPlayer/index.js +12 -7
  13. package/AudioRecorder/AudioRecorder.js +359 -259
  14. package/AudioRecorder/index.js +12 -7
  15. package/AutoComplete/AutoComplete.js +693 -568
  16. package/AutoComplete/index.js +12 -7
  17. package/AutoCompleteCountry/AutoCompleteCountry.js +99 -62
  18. package/AutoCompleteCountry/index.js +12 -7
  19. package/AutoCompleteCurrency/AutoCompleteCurrency.js +73 -61
  20. package/AutoCompleteCurrency/index.js +12 -7
  21. package/Avatar/Avatar.js +113 -86
  22. package/Avatar/index.js +12 -7
  23. package/AvatarGroup/AvatarGroup.js +104 -87
  24. package/AvatarGroup/index.js +12 -7
  25. package/Backdrop/Backdrop.js +160 -139
  26. package/Backdrop/index.js +12 -7
  27. package/Badge/Badge.js +116 -96
  28. package/Badge/index.js +12 -7
  29. package/Banner/Banner.js +126 -85
  30. package/Banner/index.js +12 -7
  31. package/BottomAppBar/BottomAppBar.js +89 -60
  32. package/BottomAppBar/index.js +12 -7
  33. package/BottomSheet/BottomSheet.js +66 -59
  34. package/BottomSheet/index.js +12 -7
  35. package/Box/Box.js +43 -35
  36. package/Box/index.js +12 -7
  37. package/Breadcrumbs/Breadcrumbs.js +168 -144
  38. package/Breadcrumbs/index.js +12 -7
  39. package/BubbleChart/BubbleChart.js +261 -132
  40. package/BubbleChart/index.js +12 -7
  41. package/BubbleChartItem/BubbleChartItem.js +228 -161
  42. package/BubbleChartItem/index.js +12 -7
  43. package/Button/Button.js +488 -467
  44. package/Button/index.js +12 -7
  45. package/Buttons/Buttons.js +366 -293
  46. package/Buttons/index.js +12 -7
  47. package/Calendar/Calendar.js +715 -452
  48. package/Calendar/index.js +12 -7
  49. package/CalendarAvailability/CalendarAvailability.js +709 -388
  50. package/CalendarAvailability/index.js +12 -7
  51. package/CalendarMenu/CalendarMenu.js +430 -303
  52. package/CalendarMenu/index.js +12 -7
  53. package/CalendarMonth/CalendarMonth.js +537 -498
  54. package/CalendarMonth/index.js +12 -7
  55. package/CalendarViews/CalendarViews.js +403 -254
  56. package/CalendarViews/index.js +12 -7
  57. package/CalendarWeek/CalendarWeek.js +536 -395
  58. package/CalendarWeek/index.js +12 -7
  59. package/Card/Card.js +133 -101
  60. package/Card/index.js +12 -7
  61. package/CardButton/CardButton.js +78 -58
  62. package/CardButton/index.js +12 -7
  63. package/CardFooter/CardFooter.js +58 -39
  64. package/CardFooter/index.js +12 -7
  65. package/CardHeader/CardHeader.js +61 -44
  66. package/CardHeader/index.js +12 -7
  67. package/CardImage/CardImage.js +80 -67
  68. package/CardImage/index.js +12 -7
  69. package/CardMain/CardMain.js +53 -39
  70. package/CardMain/index.js +12 -7
  71. package/Carousel/Carousel.js +1025 -913
  72. package/Carousel/index.js +12 -7
  73. package/Chart/Chart.js +1325 -1174
  74. package/Chart/index.js +12 -7
  75. package/Checkbox/Checkbox.js +339 -325
  76. package/Checkbox/index.js +12 -7
  77. package/Chip/Chip.js +131 -102
  78. package/Chip/index.js +12 -7
  79. package/Chips/Chips.js +121 -94
  80. package/Chips/index.js +12 -7
  81. package/ClickListener/ClickListener.js +86 -89
  82. package/ClickListener/index.js +12 -7
  83. package/Clock/Clock.js +470 -417
  84. package/Clock/index.js +12 -7
  85. package/ColorTextField/ColorTextField.js +234 -171
  86. package/ColorTextField/index.js +12 -7
  87. package/ColumnChart/ColumnChart.js +63 -46
  88. package/ColumnChart/index.js +12 -7
  89. package/ColumnChartItem/ColumnChartItem.js +208 -149
  90. package/ColumnChartItem/index.js +12 -7
  91. package/Confirm/Confirm.js +184 -129
  92. package/Confirm/Context.js +9 -7
  93. package/Confirm/index.js +32 -13
  94. package/Confirm/useConfirm.js +11 -10
  95. package/Container/Container.js +154 -133
  96. package/Container/index.js +12 -7
  97. package/CookieBanner/CookieBanner.js +142 -76
  98. package/CookieBanner/index.js +12 -7
  99. package/Countdown/Countdown.js +403 -255
  100. package/Countdown/index.js +12 -7
  101. package/DatePicker/DatePicker.js +802 -547
  102. package/DatePicker/index.js +12 -7
  103. package/DateRangePicker/DateRangePicker.js +44 -37
  104. package/DateRangePicker/index.js +12 -7
  105. package/DateTimePicker/DateTimePicker.js +672 -459
  106. package/DateTimePicker/index.js +12 -7
  107. package/DateTimeRangePicker/DateTimeRangePicker.js +44 -37
  108. package/DateTimeRangePicker/index.js +12 -7
  109. package/Divider/Divider.js +198 -185
  110. package/Divider/index.js +12 -7
  111. package/DonutChart/DonutChart.js +49 -42
  112. package/DonutChart/index.js +12 -7
  113. package/DragAndDropList/DragAndDropList.js +160 -156
  114. package/DragAndDropList/index.js +12 -7
  115. package/Drawing/Drawing.js +850 -523
  116. package/Drawing/index.js +12 -7
  117. package/DropZone/DropZone.js +239 -201
  118. package/DropZone/index.js +12 -7
  119. package/Emojis/Emojis.js +409 -317
  120. package/Emojis/emojis_list.js +7279 -9250
  121. package/Emojis/index.js +19 -9
  122. package/Expand/Expand.js +201 -149
  123. package/Expand/index.js +12 -7
  124. package/Fab/Fab.js +46 -26
  125. package/Fab/index.js +12 -7
  126. package/Fade/Fade.js +131 -101
  127. package/Fade/index.js +12 -7
  128. package/FileChoose/FileChoose.js +218 -150
  129. package/FileChoose/index.js +12 -7
  130. package/Focus/Focus.js +87 -88
  131. package/Focus/index.js +12 -7
  132. package/Form/Form.js +194 -120
  133. package/Form/index.js +12 -7
  134. package/FormRow/FormRow.js +123 -78
  135. package/FormRow/index.js +12 -7
  136. package/Forms/Forms.js +55 -41
  137. package/Forms/index.js +12 -7
  138. package/Frame/Frame.js +212 -150
  139. package/Frame/index.js +12 -7
  140. package/Grid/Grid.js +231 -166
  141. package/Grid/index.js +12 -7
  142. package/Grow/Grow.js +137 -109
  143. package/Grow/index.js +12 -7
  144. package/HTMLCanvas/HTMLCanvas.js +752 -542
  145. package/HTMLCanvas/index.js +24 -21
  146. package/IFrame/IFrame.js +122 -104
  147. package/IFrame/index.js +12 -7
  148. package/Icon/Icon.js +112 -95
  149. package/Icon/index.js +24 -21
  150. package/IconButton/IconButton.js +49 -37
  151. package/IconButton/index.js +12 -7
  152. package/Image/Image.js +285 -252
  153. package/Image/index.js +12 -7
  154. package/ImageCrop/ImageCrop.js +1073 -1048
  155. package/ImageCrop/index.js +12 -7
  156. package/ImageEdit/ImageEdit.js +1088 -783
  157. package/ImageEdit/index.js +12 -7
  158. package/ImageGallery/ImageGallery.js +518 -473
  159. package/ImageGallery/index.js +12 -7
  160. package/ImageList/ImageList.js +136 -129
  161. package/ImageList/index.js +12 -7
  162. package/ImageListItem/ImageListItem.js +101 -87
  163. package/ImageListItem/index.js +12 -7
  164. package/ImageListItemBox/ImageListItemBox.js +61 -50
  165. package/ImageListItemBox/index.js +12 -7
  166. package/Info/Info.js +99 -63
  167. package/Info/index.js +12 -7
  168. package/Interaction/Interaction.js +405 -345
  169. package/Interaction/index.js +12 -7
  170. package/Keyframes/Context.js +9 -7
  171. package/Keyframes/Keyframes.js +189 -174
  172. package/Keyframes/index.js +42 -25
  173. package/Keyframes/useKeyframes.js +11 -10
  174. package/Label/Label.js +177 -151
  175. package/Label/index.js +12 -7
  176. package/Labels/Labels.js +126 -98
  177. package/Labels/index.js +12 -7
  178. package/Line/Line.js +296 -174
  179. package/Line/index.js +12 -7
  180. package/LineChart/LineChart.js +57 -40
  181. package/LineChart/index.js +12 -7
  182. package/LineChartItem/LineChartItem.js +239 -177
  183. package/LineChartItem/index.js +12 -7
  184. package/LinearMeter/LinearMeter.js +453 -377
  185. package/LinearMeter/index.js +12 -7
  186. package/LinearProgress/LinearProgress.js +324 -255
  187. package/LinearProgress/index.js +12 -7
  188. package/Link/Link.js +182 -127
  189. package/Link/index.js +12 -7
  190. package/Links/Links.js +277 -156
  191. package/Links/index.js +12 -7
  192. package/List/List.js +148 -113
  193. package/List/index.js +12 -7
  194. package/ListItem/ListItem.js +388 -362
  195. package/ListItem/index.js +12 -7
  196. package/ListSubheader/ListSubheader.js +52 -44
  197. package/ListSubheader/index.js +12 -7
  198. package/MainProgress/Context.js +9 -7
  199. package/MainProgress/MainProgress.js +193 -161
  200. package/MainProgress/index.js +32 -13
  201. package/MainProgress/useMainProgress.js +11 -10
  202. package/Markdown/Markdown.js +676 -704
  203. package/Markdown/index.js +12 -7
  204. package/Masonry/Masonry.js +207 -181
  205. package/Masonry/index.js +12 -7
  206. package/Medias/Medias.js +436 -398
  207. package/Medias/index.js +12 -7
  208. package/Menu/Menu.js +278 -243
  209. package/Menu/index.js +12 -7
  210. package/MenuDesktop/MenuDesktop.js +496 -419
  211. package/MenuDesktop/index.js +12 -7
  212. package/MenuItem/MenuItem.js +286 -231
  213. package/MenuItem/index.js +12 -7
  214. package/Meta/Meta.js +78 -54
  215. package/Meta/index.js +12 -7
  216. package/Modal/Modal.js +333 -272
  217. package/Modal/index.js +12 -7
  218. package/ModalFooter/ModalFooter.js +50 -39
  219. package/ModalFooter/index.js +12 -7
  220. package/ModalHeader/ModalHeader.js +51 -39
  221. package/ModalHeader/index.js +12 -7
  222. package/ModalIcon/ModalIcon.js +29 -23
  223. package/ModalIcon/index.js +12 -7
  224. package/ModalMain/ModalMain.js +50 -41
  225. package/ModalMain/index.js +12 -7
  226. package/ModalText/ModalText.js +47 -37
  227. package/ModalText/index.js +12 -7
  228. package/ModalTitle/ModalTitle.js +47 -37
  229. package/ModalTitle/index.js +12 -7
  230. package/MoreOptions/MoreOptions.js +72 -52
  231. package/MoreOptions/index.js +12 -7
  232. package/Move/Move.js +166 -141
  233. package/Move/index.js +12 -7
  234. package/NavigationBar/NavigationBar.js +133 -109
  235. package/NavigationBar/index.js +12 -7
  236. package/NavigationDrawer/NavigationDrawer.js +241 -211
  237. package/NavigationDrawer/index.js +12 -7
  238. package/NavigationItem/NavigationItem.js +293 -262
  239. package/NavigationItem/index.js +12 -7
  240. package/NavigationRail/NavigationRail.js +187 -150
  241. package/NavigationRail/index.js +12 -7
  242. package/NotFound/NotFound.js +89 -66
  243. package/NotFound/index.js +12 -7
  244. package/NumericTextField/NumericTextField.js +217 -212
  245. package/NumericTextField/index.js +12 -7
  246. package/Page/Page.js +131 -67
  247. package/Page/index.js +12 -7
  248. package/PageTransition/PageTransition.js +112 -102
  249. package/PageTransition/index.js +12 -7
  250. package/Pagination/Pagination.js +153 -98
  251. package/Pagination/index.js +12 -7
  252. package/PaginationItem/PaginationItem.js +85 -65
  253. package/PaginationItem/index.js +12 -7
  254. package/Parallax/Parallax.js +138 -145
  255. package/Parallax/index.js +12 -7
  256. package/Path/Path.js +40 -35
  257. package/Path/index.js +12 -7
  258. package/PieChart/PieChart.js +382 -267
  259. package/PieChart/index.js +12 -7
  260. package/Placeholder/Placeholder.js +125 -117
  261. package/Placeholder/index.js +12 -7
  262. package/Portal/Portal.js +37 -38
  263. package/Portal/index.js +12 -7
  264. package/Properties/Properties.js +85 -64
  265. package/Properties/index.js +12 -7
  266. package/Property/Property.js +120 -108
  267. package/Property/index.js +12 -7
  268. package/Radio/Radio.js +211 -181
  269. package/Radio/index.js +12 -7
  270. package/Radios/Radios.js +124 -92
  271. package/Radios/index.js +12 -7
  272. package/Rating/Rating.js +353 -360
  273. package/Rating/index.js +12 -7
  274. package/Reset/Reset.js +19 -24
  275. package/Reset/index.js +12 -7
  276. package/Reveal/Reveal.js +98 -89
  277. package/Reveal/index.js +12 -7
  278. package/RichTextEditor/RichTextEditor.js +1764 -972
  279. package/RichTextEditor/index.js +12 -7
  280. package/RoundMeter/RoundMeter.js +629 -537
  281. package/RoundMeter/index.js +12 -7
  282. package/RoundProgress/RoundProgress.js +233 -174
  283. package/RoundProgress/index.js +12 -7
  284. package/ScatterChart/ScatterChart.js +53 -40
  285. package/ScatterChart/index.js +12 -7
  286. package/ScatterChartItem/ScatterChartItem.js +214 -153
  287. package/ScatterChartItem/index.js +12 -7
  288. package/ScreenCapture/ScreenCapture.js +427 -335
  289. package/ScreenCapture/index.js +12 -7
  290. package/Section/Section.js +380 -319
  291. package/Section/index.js +12 -7
  292. package/SectionAction/SectionAction.js +72 -61
  293. package/SectionAction/index.js +12 -7
  294. package/SectionBoxes/SectionBoxes.js +240 -208
  295. package/SectionBoxes/index.js +12 -7
  296. package/SectionCards/SectionCards.js +256 -217
  297. package/SectionCards/index.js +12 -7
  298. package/SectionCarousel/SectionCarousel.js +284 -242
  299. package/SectionCarousel/index.js +12 -7
  300. package/SectionContact/SectionContact.js +174 -116
  301. package/SectionContact/index.js +12 -7
  302. package/SectionImageGallery/SectionImageGallery.js +64 -51
  303. package/SectionImageGallery/index.js +12 -7
  304. package/SectionLogos/SectionLogos.js +123 -109
  305. package/SectionLogos/index.js +12 -7
  306. package/SectionMedia/SectionMedia.js +170 -152
  307. package/SectionMedia/index.js +12 -7
  308. package/SectionReviews/SectionReviews.js +170 -129
  309. package/SectionReviews/index.js +12 -7
  310. package/SectionTextMedia/SectionTextMedia.js +187 -142
  311. package/SectionTextMedia/index.js +12 -7
  312. package/SectionTimeline/SectionTimeline.js +126 -95
  313. package/SectionTimeline/index.js +12 -7
  314. package/SectionWatch/SectionWatch.js +65 -53
  315. package/SectionWatch/index.js +12 -7
  316. package/Select/Select.js +517 -406
  317. package/Select/index.js +12 -7
  318. package/Share/Share.js +458 -319
  319. package/Share/index.js +12 -7
  320. package/Slide/Slide.js +184 -140
  321. package/Slide/index.js +12 -7
  322. package/Slider/Slider.js +927 -837
  323. package/Slider/index.js +12 -7
  324. package/SmartTextField/SmartTextField.js +1406 -1014
  325. package/SmartTextField/index.js +12 -7
  326. package/Snackbar/Snackbar.js +227 -185
  327. package/Snackbar/index.js +12 -7
  328. package/Snackbars/Context.js +9 -7
  329. package/Snackbars/Snackbars.js +234 -210
  330. package/Snackbars/index.js +32 -13
  331. package/Snackbars/useSnackbars.js +11 -10
  332. package/Space/Space.js +1683 -968
  333. package/Space/index.js +24 -21
  334. package/SpeechToText/SpeechToText.js +207 -172
  335. package/SpeechToText/index.js +12 -7
  336. package/SpeedDial/SpeedDial.js +434 -398
  337. package/SpeedDial/index.js +12 -7
  338. package/SpeedDialItem/SpeedDialItem.js +89 -63
  339. package/SpeedDialItem/index.js +12 -7
  340. package/SpyScroll/SpyScroll.js +154 -142
  341. package/SpyScroll/index.js +12 -7
  342. package/Step/Step.js +181 -127
  343. package/Step/index.js +12 -7
  344. package/Stepper/Stepper.js +159 -139
  345. package/Stepper/index.js +12 -7
  346. package/Surface/Surface.js +760 -798
  347. package/Surface/index.js +12 -7
  348. package/Switch/Switch.js +688 -532
  349. package/Switch/index.js +12 -7
  350. package/Tab/Tab.js +185 -150
  351. package/Tab/index.js +12 -7
  352. package/Table/Table.js +100 -77
  353. package/Table/index.js +12 -7
  354. package/TableBody/TableBody.js +76 -63
  355. package/TableBody/index.js +12 -7
  356. package/TableCell/TableCell.js +258 -220
  357. package/TableCell/index.js +12 -7
  358. package/TableFooter/TableFooter.js +60 -48
  359. package/TableFooter/index.js +12 -7
  360. package/TableHead/TableHead.js +139 -120
  361. package/TableHead/index.js +12 -7
  362. package/TableHeader/TableHeader.js +65 -50
  363. package/TableHeader/index.js +12 -7
  364. package/TablePagination/TablePagination.js +171 -98
  365. package/TablePagination/index.js +12 -7
  366. package/TableRow/TableRow.js +77 -64
  367. package/TableRow/index.js +12 -7
  368. package/Tabs/Tabs.js +425 -377
  369. package/Tabs/index.js +12 -7
  370. package/Text/Text.js +131 -113
  371. package/Text/index.js +12 -7
  372. package/TextField/TextField.js +940 -879
  373. package/TextField/index.js +12 -7
  374. package/TextToSpeech/TextToSpeech.js +176 -153
  375. package/TextToSpeech/index.js +12 -7
  376. package/TimePicker/TimePicker.js +985 -718
  377. package/TimePicker/index.js +12 -7
  378. package/TimeRangePicker/TimeRangePicker.js +44 -37
  379. package/TimeRangePicker/index.js +12 -7
  380. package/Timeline/Timeline.js +54 -42
  381. package/Timeline/index.js +12 -7
  382. package/TimelineItem/TimelineItem.js +144 -147
  383. package/TimelineItem/index.js +12 -7
  384. package/Timer/Timer.js +321 -204
  385. package/Timer/index.js +12 -7
  386. package/ToggleButton/ToggleButton.js +67 -58
  387. package/ToggleButton/index.js +12 -7
  388. package/ToggleButtons/ToggleButtons.js +46 -37
  389. package/ToggleButtons/index.js +12 -7
  390. package/Tooltip/Tooltip.js +489 -454
  391. package/Tooltip/index.js +12 -7
  392. package/TopAppBar/TopAppBar.js +237 -197
  393. package/TopAppBar/index.js +12 -7
  394. package/Transition/Context.js +9 -7
  395. package/Transition/Transition.js +321 -339
  396. package/Transition/index.js +42 -25
  397. package/Transition/useTransition.js +11 -10
  398. package/Transitions/Transitions.js +215 -179
  399. package/Transitions/index.js +12 -7
  400. package/Tree/Tree.js +375 -312
  401. package/Tree/index.js +12 -7
  402. package/Type/Type.js +251 -152
  403. package/Type/index.js +12 -7
  404. package/VideoPlayer/VideoPlayer.js +866 -656
  405. package/VideoPlayer/index.js +12 -7
  406. package/ViewSplit/ViewSplit.js +413 -387
  407. package/ViewSplit/index.js +12 -7
  408. package/Watch/Watch.js +436 -290
  409. package/Watch/index.js +12 -7
  410. package/Weather/Weather.js +294 -247
  411. package/Weather/index.js +12 -7
  412. package/Whiteboard/Whiteboard.js +1392 -1292
  413. package/Whiteboard/index.js +12 -7
  414. package/Widgets/Context.js +9 -7
  415. package/Widgets/Widgets.js +220 -168
  416. package/Widgets/index.js +32 -13
  417. package/Widgets/useWidgets.js +11 -10
  418. package/WindowSplit/WindowSplit.js +381 -336
  419. package/WindowSplit/index.js +12 -7
  420. package/Zoom/Zoom.js +126 -99
  421. package/Zoom/index.js +12 -7
  422. package/esm/BottomAppBar/BottomAppBar.js +5 -4
  423. package/esm/Buttons/Buttons.js +1 -1
  424. package/esm/index.js +1 -1
  425. package/index.js +4053 -660
  426. package/package.json +1 -1
  427. package/types.js +4 -1
  428. package/useForm/index.js +25 -11
  429. package/useForm/useForm.js +203 -174
  430. package/useForm/validate.js +215 -203
  431. package/useLocation/index.js +12 -7
  432. package/useLocation/useLocation.js +54 -49
  433. package/useMediaQuery/index.js +12 -7
  434. package/useMediaQuery/useMediaQuery.js +44 -43
  435. package/useQuery/index.js +12 -7
  436. package/useQuery/useQuery.js +14 -10
  437. package/useScroll/index.js +12 -7
  438. package/useScroll/useScroll.js +61 -56
  439. package/useSubscription/index.js +12 -7
  440. package/useSubscription/useSubscription.js +35 -35
  441. package/useSwipe/index.js +12 -7
  442. package/useSwipe/useSwipe.js +157 -131
  443. package/useVisible/index.js +12 -7
  444. package/useVisible/useVisible.js +86 -76
  445. package/utils.js +1224 -1362
package/Medias/index.js CHANGED
@@ -1,8 +1,13 @@
1
1
  "use strict";
2
- var __importDefault = (this && this.__importDefault) || function (mod) {
3
- return (mod && mod.__esModule) ? mod : { "default": mod };
4
- };
5
- Object.defineProperty(exports, "__esModule", { value: true });
6
- exports.default = void 0;
7
- var Medias_1 = require("./Medias");
8
- Object.defineProperty(exports, "default", { enumerable: true, get: function () { return __importDefault(Medias_1).default; } });
2
+
3
+ var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
4
+ Object.defineProperty(exports, "__esModule", {
5
+ value: true
6
+ });
7
+ Object.defineProperty(exports, "default", {
8
+ enumerable: true,
9
+ get: function () {
10
+ return _Medias.default;
11
+ }
12
+ });
13
+ var _Medias = _interopRequireDefault(require("./Medias"));
package/Menu/Menu.js CHANGED
@@ -1,253 +1,288 @@
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 };
2
+
3
+ var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
4
+ Object.defineProperty(exports, "__esModule", {
5
+ value: true
6
+ });
7
+ exports.default = exports.MENUS = 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 _List = _interopRequireDefault(require("../List"));
15
+ var _Tooltip = _interopRequireDefault(require("../Tooltip"));
16
+ var _ClickListener = _interopRequireDefault(require("../ClickListener"));
17
+ var _utils2 = require("../utils");
18
+ const _excluded = ["open", "openDefault", "name", "label", "menuItems", "arrow", "anchor", "anchorElement", "autoSelect", "autoSelectOnBlur", "resetKeyboardNavigation", "closeOnClickAway", "include", "includeParentQueries", "includeQueries", "ignoreNonExisting", "onSelect", "onOpen", "onClose", "ListProps", "ModalProps", "WrapperProps", "ClickListenerProps", "className", "children"];
19
+ 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; }
20
+ 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; }
21
+ const useStyle = (0, _styleReact.style)(theme => ({
22
+ root: {}
23
+ }), {
24
+ name: 'onesy-Menu'
25
+ });
26
+ const MENUS = exports.MENUS = {
27
+ open: [],
28
+ priority: value => MENUS.open[MENUS.open.length - 1] === value,
29
+ add: value => {
30
+ const index = MENUS.open.findIndex(item => item === value);
31
+ if (index === -1) MENUS.open.push(value);
32
+ MENUS.open = MENUS.open.filter(Boolean);
33
+ },
34
+ remove: value => {
35
+ const index = MENUS.open.findIndex(item => item === value);
36
+ if (index > -1) MENUS.open.splice(index, 1);
37
+ MENUS.open = MENUS.open.filter(Boolean);
38
+ }
15
39
  };
16
- Object.defineProperty(exports, "__esModule", { value: true });
17
- exports.MENUS = void 0;
18
- const jsx_runtime_1 = require("react/jsx-runtime");
19
- const react_1 = __importDefault(require("react"));
20
- const utils_1 = require("@onesy/utils");
21
- const style_react_1 = require("@onesy/style-react");
22
- const List_1 = __importDefault(require("../List"));
23
- const Tooltip_1 = __importDefault(require("../Tooltip"));
24
- const ClickListener_1 = __importDefault(require("../ClickListener"));
25
- const utils_2 = require("../utils");
26
- const useStyle = (0, style_react_1.style)(theme => ({
27
- root: {}
28
- }), { name: 'onesy-Menu' });
29
- exports.MENUS = {
30
- open: [],
31
- priority: (value) => exports.MENUS.open[exports.MENUS.open.length - 1] === value,
32
- add: (value) => {
33
- const index = exports.MENUS.open.findIndex(item => item === value);
34
- if (index === -1)
35
- exports.MENUS.open.push(value);
36
- exports.MENUS.open = exports.MENUS.open.filter(Boolean);
37
- },
38
- remove: (value) => {
39
- const index = exports.MENUS.open.findIndex(item => item === value);
40
- if (index > -1)
41
- exports.MENUS.open.splice(index, 1);
42
- exports.MENUS.open = exports.MENUS.open.filter(Boolean);
40
+ const Menu = /*#__PURE__*/_react.default.forwardRef((props_, ref) => {
41
+ const theme = (0, _styleReact.useOnesyTheme)();
42
+ const props = _react.default.useMemo(() => {
43
+ var _theme$ui, _theme$ui2;
44
+ 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.onesyMenu) === null || _theme$ui2 === void 0 || (_theme$ui2 = _theme$ui2.props) === null || _theme$ui2 === void 0 ? void 0 : _theme$ui2.default), props_);
45
+ }, [props_]);
46
+ const List = _react.default.useMemo(() => {
47
+ var _theme$elements;
48
+ return (theme === null || theme === void 0 || (_theme$elements = theme.elements) === null || _theme$elements === void 0 ? void 0 : _theme$elements.List) || _List.default;
49
+ }, [theme]);
50
+ const Tooltip = _react.default.useMemo(() => {
51
+ var _theme$elements2;
52
+ return (theme === null || theme === void 0 || (_theme$elements2 = theme.elements) === null || _theme$elements2 === void 0 ? void 0 : _theme$elements2.Tooltip) || _Tooltip.default;
53
+ }, [theme]);
54
+ const ClickListener = _react.default.useMemo(() => {
55
+ var _theme$elements3;
56
+ return (theme === null || theme === void 0 || (_theme$elements3 = theme.elements) === null || _theme$elements3 === void 0 ? void 0 : _theme$elements3.ClickListener) || _ClickListener.default;
57
+ }, [theme]);
58
+ const {
59
+ open: open_,
60
+ openDefault,
61
+ name,
62
+ label,
63
+ menuItems,
64
+ arrow,
65
+ anchor,
66
+ anchorElement,
67
+ autoSelect,
68
+ autoSelectOnBlur,
69
+ resetKeyboardNavigation = false,
70
+ closeOnClickAway = true,
71
+ include = [],
72
+ includeParentQueries = [],
73
+ includeQueries = [],
74
+ ignoreNonExisting,
75
+ onSelect,
76
+ onOpen: onOpen_,
77
+ onClose: onClose_,
78
+ ListProps,
79
+ ModalProps,
80
+ WrapperProps: WrapperProps_,
81
+ ClickListenerProps,
82
+ className,
83
+ children
84
+ } = props,
85
+ other = (0, _objectWithoutProperties2.default)(props, _excluded);
86
+ const {
87
+ classes
88
+ } = useStyle();
89
+ const id = _react.default.useId();
90
+ const [open, setOpen] = _react.default.useState(openDefault !== undefined ? openDefault : open_);
91
+ const [preselected, setPreselected] = _react.default.useState();
92
+ const refs = {
93
+ root: _react.default.useRef(undefined),
94
+ id: _react.default.useRef(undefined),
95
+ main: _react.default.useRef(undefined),
96
+ props: _react.default.useRef(undefined),
97
+ preselected: _react.default.useRef(undefined),
98
+ include: _react.default.useRef([]),
99
+ menuClassName: _react.default.useRef(`a-${new Date().getTime()}`)
100
+ };
101
+ refs.id.current = id;
102
+ refs.preselected.current = preselected;
103
+ refs.props.current = props;
104
+ _react.default.useEffect(() => {
105
+ var _refs$root$current;
106
+ if (open) {
107
+ MENUS.add(refs.id.current);
108
+ if (autoSelect) {
109
+ const values = _react.default.Children.toArray(refs.props.current.children).map((item, index) => {
110
+ var _item$props, _item$props2, _item$props3;
111
+ return ((_item$props = item.props) !== null && _item$props !== void 0 && _item$props.button || (_item$props2 = item.props) !== null && _item$props2 !== void 0 && _item$props2.href) && !((_item$props3 = item.props) !== null && _item$props3 !== void 0 && _item$props3.disabled) ? index : undefined;
112
+ }).filter(item => (0, _utils.is)('number', item));
113
+ setPreselected(values[0]);
114
+ }
43
115
  }
44
- };
45
- const Menu = react_1.default.forwardRef((props_, ref) => {
46
- const theme = (0, style_react_1.useOnesyTheme)();
47
- 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.onesyMenu) === null || _g === void 0 ? void 0 : _g.props) === null || _h === void 0 ? void 0 : _h.default), props_)); }, [props_]);
48
- const List = react_1.default.useMemo(() => { var _a; return ((_a = theme === null || theme === void 0 ? void 0 : theme.elements) === null || _a === void 0 ? void 0 : _a.List) || List_1.default; }, [theme]);
49
- const Tooltip = react_1.default.useMemo(() => { var _a; return ((_a = theme === null || theme === void 0 ? void 0 : theme.elements) === null || _a === void 0 ? void 0 : _a.Tooltip) || Tooltip_1.default; }, [theme]);
50
- const ClickListener = react_1.default.useMemo(() => { var _a; return ((_a = theme === null || theme === void 0 ? void 0 : theme.elements) === null || _a === void 0 ? void 0 : _a.ClickListener) || ClickListener_1.default; }, [theme]);
51
- const { open: open_, openDefault, name, label, menuItems, arrow, anchor, anchorElement, autoSelect, autoSelectOnBlur, resetKeyboardNavigation = false, closeOnClickAway = true, include = [], includeParentQueries = [], includeQueries = [], ignoreNonExisting, onSelect, onOpen: onOpen_, onClose: onClose_, ListProps, ModalProps, WrapperProps: WrapperProps_, ClickListenerProps, className, children } = props, other = __rest(props, ["open", "openDefault", "name", "label", "menuItems", "arrow", "anchor", "anchorElement", "autoSelect", "autoSelectOnBlur", "resetKeyboardNavigation", "closeOnClickAway", "include", "includeParentQueries", "includeQueries", "ignoreNonExisting", "onSelect", "onOpen", "onClose", "ListProps", "ModalProps", "WrapperProps", "ClickListenerProps", "className", "children"]);
52
- const { classes } = useStyle();
53
- const id = react_1.default.useId();
54
- const [open, setOpen] = react_1.default.useState(openDefault !== undefined ? openDefault : open_);
55
- const [preselected, setPreselected] = react_1.default.useState();
56
- const refs = {
57
- root: react_1.default.useRef(undefined),
58
- id: react_1.default.useRef(undefined),
59
- main: react_1.default.useRef(undefined),
60
- props: react_1.default.useRef(undefined),
61
- preselected: react_1.default.useRef(undefined),
62
- include: react_1.default.useRef([]),
63
- menuClassName: react_1.default.useRef(`a-${new Date().getTime()}`)
64
- };
65
- refs.id.current = id;
66
- refs.preselected.current = preselected;
67
- refs.props.current = props;
68
- react_1.default.useEffect(() => {
69
- var _a;
70
- if (open) {
71
- exports.MENUS.add(refs.id.current);
72
- if (autoSelect) {
73
- const values = react_1.default.Children.toArray(refs.props.current.children).map((item, index) => { var _a, _b, _c; return ((((_a = item.props) === null || _a === void 0 ? void 0 : _a.button) || ((_b = item.props) === null || _b === void 0 ? void 0 : _b.href)) && !((_c = item.props) === null || _c === void 0 ? void 0 : _c.disabled)) ? index : undefined; }).filter(item => (0, utils_1.is)('number', item));
74
- setPreselected(values[0]);
75
- }
76
- }
77
- const onKeyDown = (event) => {
78
- if (refs.props.current.open && exports.MENUS.priority(refs.id.current)) {
79
- const values = react_1.default.Children.toArray(refs.props.current.children).map((item, index) => { var _a, _b, _c; return ((((_a = item.props) === null || _a === void 0 ? void 0 : _a.button) || ((_b = item.props) === null || _b === void 0 ? void 0 : _b.href)) && !((_c = item.props) === null || _c === void 0 ? void 0 : _c.disabled)) ? index : undefined; }).filter(item => (0, utils_1.is)('number', item));
80
- switch (event.key) {
81
- case 'ArrowUp':
82
- event.preventDefault();
83
- return setPreselected(() => {
84
- let value = refs.preselected.current;
85
- const index = values.findIndex(item_ => item_ === value);
86
- if (index === -1)
87
- value = values[values.length - 1];
88
- else if (index > 0)
89
- value = values[index - 1];
90
- else if (refs.props.current.resetKeyboardNavigation)
91
- value = values[values.length - 1];
92
- return value;
93
- });
94
- case 'ArrowDown':
95
- event.preventDefault();
96
- return setPreselected(() => {
97
- let value = refs.preselected.current;
98
- const index = values.findIndex(item_ => item_ === value);
99
- if (index === -1)
100
- value = values[0];
101
- else if (index < values.length - 1)
102
- value = values[index + 1];
103
- else if (refs.props.current.resetKeyboardNavigation)
104
- value = values[0];
105
- return value;
106
- });
107
- case 'Escape':
108
- event.preventDefault();
109
- return onClose();
110
- case 'Home':
111
- event.preventDefault();
112
- return setPreselected(values[0]);
113
- case 'End':
114
- event.preventDefault();
115
- return setPreselected(values[values.length - 1]);
116
- default:
117
- break;
118
- }
119
- }
120
- };
121
- const rootDocument = (0, utils_1.isEnvironment)('browser') ? (((_a = refs.root.current) === null || _a === void 0 ? void 0 : _a.ownerDocument) || window.document) : undefined;
122
- rootDocument.addEventListener('keydown', onKeyDown);
123
- return () => {
124
- exports.MENUS.remove(refs.id.current);
125
- rootDocument.removeEventListener('keydown', onKeyDown);
126
- };
127
- }, []);
128
- react_1.default.useEffect(() => {
129
- if (open) {
130
- if (autoSelect) {
131
- const values = react_1.default.Children.toArray(refs.props.current.children).map((item, index) => { var _a, _b, _c; return ((((_a = item.props) === null || _a === void 0 ? void 0 : _a.button) || ((_b = item.props) === null || _b === void 0 ? void 0 : _b.href)) && !((_c = item.props) === null || _c === void 0 ? void 0 : _c.disabled)) ? index : undefined; }).filter(item => (0, utils_1.is)('number', item));
132
- setPreselected(values[0]);
133
- }
116
+ const onKeyDown = event => {
117
+ if (refs.props.current.open && MENUS.priority(refs.id.current)) {
118
+ const values = _react.default.Children.toArray(refs.props.current.children).map((item, index) => {
119
+ var _item$props4, _item$props5, _item$props6;
120
+ return ((_item$props4 = item.props) !== null && _item$props4 !== void 0 && _item$props4.button || (_item$props5 = item.props) !== null && _item$props5 !== void 0 && _item$props5.href) && !((_item$props6 = item.props) !== null && _item$props6 !== void 0 && _item$props6.disabled) ? index : undefined;
121
+ }).filter(item => (0, _utils.is)('number', item));
122
+ switch (event.key) {
123
+ case 'ArrowUp':
124
+ event.preventDefault();
125
+ return setPreselected(() => {
126
+ let value = refs.preselected.current;
127
+ const index = values.findIndex(item_ => item_ === value);
128
+ if (index === -1) value = values[values.length - 1];else if (index > 0) value = values[index - 1];else if (refs.props.current.resetKeyboardNavigation) value = values[values.length - 1];
129
+ return value;
130
+ });
131
+ case 'ArrowDown':
132
+ event.preventDefault();
133
+ return setPreselected(() => {
134
+ let value = refs.preselected.current;
135
+ const index = values.findIndex(item_ => item_ === value);
136
+ if (index === -1) value = values[0];else if (index < values.length - 1) value = values[index + 1];else if (refs.props.current.resetKeyboardNavigation) value = values[0];
137
+ return value;
138
+ });
139
+ case 'Escape':
140
+ event.preventDefault();
141
+ return onClose();
142
+ case 'Home':
143
+ event.preventDefault();
144
+ return setPreselected(values[0]);
145
+ case 'End':
146
+ event.preventDefault();
147
+ return setPreselected(values[values.length - 1]);
148
+ default:
149
+ break;
134
150
  }
135
- setTimeout(() => {
136
- if (include && refs.root.current)
137
- include.push(refs.root.current);
138
- });
139
- return () => {
140
- if (include) {
141
- const index = include.findIndex(item => item === refs.root.current);
142
- if (index > -1)
143
- include.splice(index, 1);
144
- }
145
- };
146
- }, [open]);
147
- react_1.default.useEffect(() => {
148
- if (open !== open_)
149
- setOpen(open_);
150
- }, [open_]);
151
- const onMouseLeave = react_1.default.useCallback(() => {
152
- setPreselected('');
153
- }, []);
154
- const onOpen = () => {
155
- if (open_ === undefined)
156
- setOpen(true);
157
- if ((0, utils_1.is)('function', onOpen_))
158
- onOpen_();
151
+ }
159
152
  };
160
- const onClose = () => {
161
- var _a, _b, _c;
162
- if (open_ === undefined)
163
- setOpen(false);
164
- if (refs.props.current.autoSelectOnBlur) {
165
- const item = react_1.default.Children.toArray(refs.props.current.children)[refs.preselected.current];
166
- if (item && (0, utils_1.is)('function', refs.props.current.onSelect))
167
- refs.props.current.onSelect(((_a = item.props) === null || _a === void 0 ? void 0 : _a.value) !== undefined ? (_b = item.props) === null || _b === void 0 ? void 0 : _b.value : (_c = item.props) === null || _c === void 0 ? void 0 : _c.primary);
168
- }
169
- setPreselected('');
170
- if ((0, utils_1.is)('function', onClose_))
171
- onClose_();
153
+ const rootDocument = (0, _utils.isEnvironment)('browser') ? ((_refs$root$current = refs.root.current) === null || _refs$root$current === void 0 ? void 0 : _refs$root$current.ownerDocument) || window.document : undefined;
154
+ rootDocument.addEventListener('keydown', onKeyDown);
155
+ return () => {
156
+ MENUS.remove(refs.id.current);
157
+ rootDocument.removeEventListener('keydown', onKeyDown);
172
158
  };
173
- const Wrapper = closeOnClickAway ? ClickListener : react_1.default.Fragment;
174
- let WrapperProps = Object.assign({}, WrapperProps_);
175
- if (closeOnClickAway) {
176
- WrapperProps.onClickOutside = onClose;
177
- WrapperProps.include = [refs.main.current, ...(refs.include.current || []), ...include].filter(Boolean);
178
- WrapperProps.includeParentQueries = [...includeParentQueries, `.${refs.menuClassName.current}`];
179
- WrapperProps.includeQueries = [...includeQueries, `.${refs.menuClassName.current}`];
180
- WrapperProps.ignoreNonExisting = ignoreNonExisting;
181
- WrapperProps = Object.assign(Object.assign({}, WrapperProps), ClickListenerProps);
159
+ }, []);
160
+ _react.default.useEffect(() => {
161
+ if (open) {
162
+ if (autoSelect) {
163
+ const values = _react.default.Children.toArray(refs.props.current.children).map((item, index) => {
164
+ var _item$props7, _item$props8, _item$props9;
165
+ return ((_item$props7 = item.props) !== null && _item$props7 !== void 0 && _item$props7.button || (_item$props8 = item.props) !== null && _item$props8 !== void 0 && _item$props8.href) && !((_item$props9 = item.props) !== null && _item$props9 !== void 0 && _item$props9.disabled) ? index : undefined;
166
+ }).filter(item => (0, _utils.is)('number', item));
167
+ setPreselected(values[0]);
168
+ }
182
169
  }
183
- if (open)
184
- exports.MENUS.add(id);
185
- else
186
- exports.MENUS.remove(id);
187
- const methodItem = (item, index) => {
188
- var _a, _b, _c, _d, _e;
189
- return (Object.assign({ key: item.key || index, role: 'menuitem', menuId: id, MenuProps: Object.assign(Object.assign({}, (_a = item.props) === null || _a === void 0 ? void 0 : _a.MenuProps), { className: (0, style_react_1.classNames)([
190
- (_c = (_b = item.props) === null || _b === void 0 ? void 0 : _b.MenuProps) === null || _c === void 0 ? void 0 : _c.className,
191
- refs.menuClassName.current
192
- ]) }), onClose }, (((((_d = item.props) === null || _d === void 0 ? void 0 : _d.button) || ((_e = item.props) === null || _e === void 0 ? void 0 : _e.href)) && !item.props.disabled) ? {
193
- onMouseEnter: () => {
194
- setPreselected(index);
195
- },
196
- onMouseLeave: () => {
197
- setPreselected('');
198
- },
199
- preselected: index === preselected,
200
- onClick: (event) => {
201
- var _a, _b, _c;
202
- if ((0, utils_1.is)('function', (_a = item.props) === null || _a === void 0 ? void 0 : _a.onClick))
203
- (_b = item.props) === null || _b === void 0 ? void 0 : _b.onClick(event);
204
- if ((_c = item.props) === null || _c === void 0 ? void 0 : _c.menuCloseOnClick)
205
- onClose();
206
- },
207
- onKeyDown: (event) => {
208
- var _a, _b, _c, _d, _e;
209
- if (event.target === event.currentTarget && event.key === 'Enter') {
210
- if ((0, utils_1.is)('function', (_a = item.props) === null || _a === void 0 ? void 0 : _a.onClick))
211
- (_b = item.props) === null || _b === void 0 ? void 0 : _b.onClick();
212
- if ((0, utils_1.is)('function', (_c = item.props) === null || _c === void 0 ? void 0 : _c.onKeyDown))
213
- (_d = item.props) === null || _d === void 0 ? void 0 : _d.onKeyDown(event);
214
- if ((_e = item.props) === null || _e === void 0 ? void 0 : _e.menuCloseOnClick)
215
- onClose();
216
- }
217
- }
218
- } : {})));
170
+ setTimeout(() => {
171
+ if (include && refs.root.current) include.push(refs.root.current);
172
+ });
173
+ return () => {
174
+ if (include) {
175
+ const index = include.findIndex(item => item === refs.root.current);
176
+ if (index > -1) include.splice(index, 1);
177
+ }
219
178
  };
220
- const nameValue = name || label;
221
- return ((0, jsx_runtime_1.jsx)(Wrapper, Object.assign({}, WrapperProps, { children: (0, jsx_runtime_1.jsx)(Tooltip, Object.assign({ ref: item => {
222
- if (ref) {
223
- if ((0, utils_1.is)('function', ref))
224
- ref(item);
225
- else
226
- ref.current = item;
227
- }
228
- refs.root.current = item;
229
- }, open: open, className: (0, style_react_1.classNames)([
230
- (0, utils_2.staticClassName)('Menu', theme) && [
231
- 'onesy-Menu-root',
232
- open && `onesy-Menu-open`
233
- ],
234
- className,
235
- classes.root
236
- ]), onMouseLeave: onMouseLeave, anchor: anchor, anchorElement: anchorElement, label: nameValue ? (0, utils_1.is)('function', nameValue) ? nameValue(methodItem) : nameValue : (menuItems && ((0, jsx_runtime_1.jsx)(List, Object.assign({ menu: true, menuOpen: open, include: refs.include.current, role: 'menu' }, ListProps, { className: (0, style_react_1.classNames)([
237
- 'onesy-Menu-list',
238
- ListProps === null || ListProps === void 0 ? void 0 : ListProps.className,
239
- classes.list
240
- ]) }, { children: (ListProps === null || ListProps === void 0 ? void 0 : ListProps.noChildrenTransform) ? menuItems : react_1.default.Children.toArray(menuItems).map((item, index) => (react_1.default.cloneElement(item, methodItem(item, index)))) })))), click: true, arrow: arrow, hover: false, focus: false, longPress: false, noMargin: !arrow, onOpen: onOpen, onClose: onClose, ModalProps: Object.assign({ background: true, backgroundInvisible: true, freezeScroll: false }, ModalProps) }, other, { children: children && react_1.default.cloneElement(children, {
241
- ref: item => {
242
- if (children.ref) {
243
- if ((0, utils_1.is)('function', children.ref))
244
- children.ref(item);
245
- else
246
- children.ref.current = item;
247
- }
248
- refs.main.current = item;
249
- }
250
- }) })) })));
179
+ }, [open]);
180
+ _react.default.useEffect(() => {
181
+ if (open !== open_) setOpen(open_);
182
+ }, [open_]);
183
+ const onMouseLeave = _react.default.useCallback(() => {
184
+ setPreselected('');
185
+ }, []);
186
+ const onOpen = () => {
187
+ if (open_ === undefined) setOpen(true);
188
+ if ((0, _utils.is)('function', onOpen_)) onOpen_();
189
+ };
190
+ const onClose = () => {
191
+ if (open_ === undefined) setOpen(false);
192
+ if (refs.props.current.autoSelectOnBlur) {
193
+ var _item$props10, _item$props11, _item$props12;
194
+ const item = _react.default.Children.toArray(refs.props.current.children)[refs.preselected.current];
195
+ if (item && (0, _utils.is)('function', refs.props.current.onSelect)) refs.props.current.onSelect(((_item$props10 = item.props) === null || _item$props10 === void 0 ? void 0 : _item$props10.value) !== undefined ? (_item$props11 = item.props) === null || _item$props11 === void 0 ? void 0 : _item$props11.value : (_item$props12 = item.props) === null || _item$props12 === void 0 ? void 0 : _item$props12.primary);
196
+ }
197
+ setPreselected('');
198
+ if ((0, _utils.is)('function', onClose_)) onClose_();
199
+ };
200
+ const Wrapper = closeOnClickAway ? ClickListener : _react.default.Fragment;
201
+ let WrapperProps = _objectSpread({}, WrapperProps_);
202
+ if (closeOnClickAway) {
203
+ WrapperProps.onClickOutside = onClose;
204
+ WrapperProps.include = [refs.main.current, ...(refs.include.current || []), ...include].filter(Boolean);
205
+ WrapperProps.includeParentQueries = [...includeParentQueries, `.${refs.menuClassName.current}`];
206
+ WrapperProps.includeQueries = [...includeQueries, `.${refs.menuClassName.current}`];
207
+ WrapperProps.ignoreNonExisting = ignoreNonExisting;
208
+ WrapperProps = _objectSpread(_objectSpread({}, WrapperProps), ClickListenerProps);
209
+ }
210
+ if (open) MENUS.add(id);else MENUS.remove(id);
211
+ const methodItem = (item, index) => {
212
+ var _item$props13, _item$props14, _item$props15, _item$props16;
213
+ return _objectSpread({
214
+ key: item.key || index,
215
+ role: 'menuitem',
216
+ menuId: id,
217
+ MenuProps: _objectSpread(_objectSpread({}, (_item$props13 = item.props) === null || _item$props13 === void 0 ? void 0 : _item$props13.MenuProps), {}, {
218
+ className: (0, _styleReact.classNames)([(_item$props14 = item.props) === null || _item$props14 === void 0 || (_item$props14 = _item$props14.MenuProps) === null || _item$props14 === void 0 ? void 0 : _item$props14.className, refs.menuClassName.current])
219
+ }),
220
+ onClose
221
+ }, ((_item$props15 = item.props) !== null && _item$props15 !== void 0 && _item$props15.button || (_item$props16 = item.props) !== null && _item$props16 !== void 0 && _item$props16.href) && !item.props.disabled ? {
222
+ onMouseEnter: () => {
223
+ setPreselected(index);
224
+ },
225
+ onMouseLeave: () => {
226
+ setPreselected('');
227
+ },
228
+ preselected: index === preselected,
229
+ onClick: event => {
230
+ var _item$props17, _item$props18, _item$props19;
231
+ if ((0, _utils.is)('function', (_item$props17 = item.props) === null || _item$props17 === void 0 ? void 0 : _item$props17.onClick)) (_item$props18 = item.props) === null || _item$props18 === void 0 || _item$props18.onClick(event);
232
+ if ((_item$props19 = item.props) !== null && _item$props19 !== void 0 && _item$props19.menuCloseOnClick) onClose();
233
+ },
234
+ onKeyDown: event => {
235
+ if (event.target === event.currentTarget && event.key === 'Enter') {
236
+ var _item$props20, _item$props21, _item$props22, _item$props23, _item$props24;
237
+ if ((0, _utils.is)('function', (_item$props20 = item.props) === null || _item$props20 === void 0 ? void 0 : _item$props20.onClick)) (_item$props21 = item.props) === null || _item$props21 === void 0 || _item$props21.onClick();
238
+ if ((0, _utils.is)('function', (_item$props22 = item.props) === null || _item$props22 === void 0 ? void 0 : _item$props22.onKeyDown)) (_item$props23 = item.props) === null || _item$props23 === void 0 || _item$props23.onKeyDown(event);
239
+ if ((_item$props24 = item.props) !== null && _item$props24 !== void 0 && _item$props24.menuCloseOnClick) onClose();
240
+ }
241
+ }
242
+ } : {});
243
+ };
244
+ const nameValue = name || label;
245
+ return /*#__PURE__*/_react.default.createElement(Wrapper, WrapperProps, /*#__PURE__*/_react.default.createElement(Tooltip, (0, _extends2.default)({
246
+ ref: item => {
247
+ if (ref) {
248
+ if ((0, _utils.is)('function', ref)) ref(item);else ref.current = item;
249
+ }
250
+ refs.root.current = item;
251
+ },
252
+ open: open,
253
+ className: (0, _styleReact.classNames)([(0, _utils2.staticClassName)('Menu', theme) && ['onesy-Menu-root', open && `onesy-Menu-open`], className, classes.root]),
254
+ onMouseLeave: onMouseLeave,
255
+ anchor: anchor,
256
+ anchorElement: anchorElement,
257
+ label: nameValue ? (0, _utils.is)('function', nameValue) ? nameValue(methodItem) : nameValue : menuItems && /*#__PURE__*/_react.default.createElement(List, (0, _extends2.default)({
258
+ menu: true,
259
+ menuOpen: open,
260
+ include: refs.include.current,
261
+ role: "menu"
262
+ }, ListProps, {
263
+ className: (0, _styleReact.classNames)(['onesy-Menu-list', ListProps === null || ListProps === void 0 ? void 0 : ListProps.className, classes.list])
264
+ }), ListProps !== null && ListProps !== void 0 && ListProps.noChildrenTransform ? menuItems : _react.default.Children.toArray(menuItems).map((item, index) => (/*#__PURE__*/_react.default.cloneElement(item, methodItem(item, index))))),
265
+ click: true,
266
+ arrow: arrow,
267
+ hover: false,
268
+ focus: false,
269
+ longPress: false,
270
+ noMargin: !arrow,
271
+ onOpen: onOpen,
272
+ onClose: onClose,
273
+ ModalProps: _objectSpread({
274
+ background: true,
275
+ backgroundInvisible: true,
276
+ freezeScroll: false
277
+ }, ModalProps)
278
+ }, other), children && /*#__PURE__*/_react.default.cloneElement(children, {
279
+ ref: item => {
280
+ if (children.ref) {
281
+ if ((0, _utils.is)('function', children.ref)) children.ref(item);else children.ref.current = item;
282
+ }
283
+ refs.main.current = item;
284
+ }
285
+ })));
251
286
  });
252
287
  Menu.displayName = 'onesy-Menu';
253
- exports.default = Menu;
288
+ var _default = exports.default = Menu;
package/Menu/index.js CHANGED
@@ -1,8 +1,13 @@
1
1
  "use strict";
2
- var __importDefault = (this && this.__importDefault) || function (mod) {
3
- return (mod && mod.__esModule) ? mod : { "default": mod };
4
- };
5
- Object.defineProperty(exports, "__esModule", { value: true });
6
- exports.default = void 0;
7
- var Menu_1 = require("./Menu");
8
- Object.defineProperty(exports, "default", { enumerable: true, get: function () { return __importDefault(Menu_1).default; } });
2
+
3
+ var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
4
+ Object.defineProperty(exports, "__esModule", {
5
+ value: true
6
+ });
7
+ Object.defineProperty(exports, "default", {
8
+ enumerable: true,
9
+ get: function () {
10
+ return _Menu.default;
11
+ }
12
+ });
13
+ var _Menu = _interopRequireDefault(require("./Menu"));