@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,583 +1,708 @@
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 IconMaterialCloseW100_1 = __importDefault(require("@onesy/icons-material-rounded-react/IconMaterialCloseW100"));
22
- const IconMaterialArrowDropDownW100_1 = __importDefault(require("@onesy/icons-material-rounded-react/IconMaterialArrowDropDownW100"));
23
- const Menu_1 = __importDefault(require("../Menu"));
24
- const Chip_1 = __importDefault(require("../Chip"));
25
- const Type_1 = __importDefault(require("../Type"));
26
- const List_1 = __importDefault(require("../List"));
27
- const ListItem_1 = __importDefault(require("../ListItem"));
28
- const TextField_1 = __importDefault(require("../TextField"));
29
- const IconButton_1 = __importDefault(require("../IconButton"));
30
- const RoundProgress_1 = __importDefault(require("../RoundProgress"));
31
- const ListSubheader_1 = __importDefault(require("../ListSubheader"));
32
- const Line_1 = __importDefault(require("../Line"));
33
- const utils_2 = require("../utils");
34
- const useStyle = (0, style_react_1.style)(theme => ({
35
- root: {
36
- width: '100%',
37
- flex: 'unset'
38
- },
39
- wrapper: {
40
- position: 'relative'
41
- },
42
- input_: {
43
- alignSelf: 'center'
44
- },
45
- input: Object.assign({ display: 'inline-flex', margin: '0px', border: '0px', color: theme.palette.text.default.primary, background: 'transparent', '-webkit-tap-highlight-color': 'transparent', textAlign: 'start', borderRadius: `${theme.shape.radius.unit / 2}px ${theme.shape.radius.unit / 2}px 0 0`, minHeight: 20 }, theme.typography.values.b2),
46
- inputWrapper_multiple_size_small: {
47
- minHeight: '48px',
48
- columnGap: '6px',
49
- rowGap: '12px'
50
- },
51
- inputWrapper_multiple_size_regular: {
52
- minHeight: '56px',
53
- columnGap: '8px',
54
- rowGap: '16px'
55
- },
56
- inputWrapper_multiple_size_large: {
57
- minHeight: '64px',
58
- columnGap: '10px',
59
- rowGap: '20px'
60
- },
61
- multiple: {
62
- '&.onesy-TextField-input-wrapper': {
63
- height: 'unset'
64
- }
65
- },
66
- chipGroup_padding: {
67
- paddingTop: theme.methods.space.value(0.5, 'px')
68
- },
69
- arrow: {
70
- transition: theme.methods.transitions.make('transform')
71
- },
72
- arrow_open: {
73
- transform: 'rotate(-180deg)'
74
- },
75
- open: {},
76
- readOnly: {
77
- '&.onesy-TextField-input-wrapper': {
78
- cursor: 'default'
79
- }
80
- },
81
- list: {
82
- maxHeight: '250px',
83
- overflow: 'auto'
84
- },
85
- limitText: {
86
- alignSelf: 'center'
87
- },
88
- roundProgress: {
89
- padding: `0 ${theme.methods.space.value(1, 'px')}`
90
- },
91
- disabled: {
92
- '&.onesy-TextField-input-wrapper': {
93
- cursor: 'default'
94
- }
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 _IconMaterialCloseW = _interopRequireDefault(require("@onesy/icons-material-rounded-react/IconMaterialCloseW100"));
15
+ var _IconMaterialArrowDropDownW = _interopRequireDefault(require("@onesy/icons-material-rounded-react/IconMaterialArrowDropDownW100"));
16
+ var _Menu = _interopRequireDefault(require("../Menu"));
17
+ var _Chip = _interopRequireDefault(require("../Chip"));
18
+ var _Type = _interopRequireDefault(require("../Type"));
19
+ var _List = _interopRequireDefault(require("../List"));
20
+ var _ListItem = _interopRequireDefault(require("../ListItem"));
21
+ var _TextField = _interopRequireDefault(require("../TextField"));
22
+ var _IconButton = _interopRequireDefault(require("../IconButton"));
23
+ var _RoundProgress = _interopRequireDefault(require("../RoundProgress"));
24
+ var _ListSubheader = _interopRequireDefault(require("../ListSubheader"));
25
+ var _Line = _interopRequireDefault(require("../Line"));
26
+ var _utils2 = require("../utils");
27
+ const _excluded = ["tonal", "color", "size", "version", "valueInput", "valueInputDefault", "onChangeInput", "value", "valueDefault", "onChange", "options", "label", "multiple", "prefix", "sufix", "start", "end", "autoWidth", "readOnly", "getLabel", "renderValues", "renderChip", "renderOption", "equal", "equalInput", "filter", "clear", "loading", "autoSelectOnBlur", "blurOnSelect", "noOptions", "noOptionsObject", "startOptionsObject", "noOptionsElement", "startOptionsElement", "endOptionsElement", "endOptionsObject", "openOnFocus", "closeOnSelect", "clearOnEscape", "groupBy", "limit", "openOnInputUpdate", "filterOutSelectedOptions", "selectOnFocus", "clearOnBlur", "clearInputOnSelect", "chip", "fullWidth", "noInputValue", "disabled", "IconClear", "IconDropdown", "WrapperProps", "ChipProps", "ListProps", "MenuProps", "IconButtonProps", "InputProps", "IconProps", "className", "style", "children"];
28
+ 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; }
29
+ 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; }
30
+ const useStyle = (0, _styleReact.style)(theme => ({
31
+ root: {
32
+ width: '100%',
33
+ flex: 'unset'
34
+ },
35
+ wrapper: {
36
+ position: 'relative'
37
+ },
38
+ input_: {
39
+ alignSelf: 'center'
40
+ },
41
+ input: _objectSpread({
42
+ display: 'inline-flex',
43
+ margin: '0px',
44
+ border: '0px',
45
+ color: theme.palette.text.default.primary,
46
+ background: 'transparent',
47
+ '-webkit-tap-highlight-color': 'transparent',
48
+ textAlign: 'start',
49
+ borderRadius: `${theme.shape.radius.unit / 2}px ${theme.shape.radius.unit / 2}px 0 0`,
50
+ minHeight: 20
51
+ }, theme.typography.values.b2),
52
+ inputWrapper_multiple_size_small: {
53
+ minHeight: '48px',
54
+ columnGap: '6px',
55
+ rowGap: '12px'
56
+ },
57
+ inputWrapper_multiple_size_regular: {
58
+ minHeight: '56px',
59
+ columnGap: '8px',
60
+ rowGap: '16px'
61
+ },
62
+ inputWrapper_multiple_size_large: {
63
+ minHeight: '64px',
64
+ columnGap: '10px',
65
+ rowGap: '20px'
66
+ },
67
+ multiple: {
68
+ '&.onesy-TextField-input-wrapper': {
69
+ height: 'unset'
95
70
  }
96
- }), { name: 'onesy-AutoComplete' });
97
- const getText = (value) => {
98
- const value_ = (value === null || value === void 0 ? void 0 : value.name) || (value === null || value === void 0 ? void 0 : value.label) || (value === null || value === void 0 ? void 0 : value.primary) || (value === null || value === void 0 ? void 0 : value.secondary) || (value === null || value === void 0 ? void 0 : value.tertiary) || (value === null || value === void 0 ? void 0 : value.children) || (value === null || value === void 0 ? void 0 : value.value) || value;
99
- return (0, utils_1.is)('simple', value_) ? String(value_) : '';
71
+ },
72
+ chipGroup_padding: {
73
+ paddingTop: theme.methods.space.value(0.5, 'px')
74
+ },
75
+ arrow: {
76
+ transition: theme.methods.transitions.make('transform')
77
+ },
78
+ arrow_open: {
79
+ transform: 'rotate(-180deg)'
80
+ },
81
+ open: {},
82
+ readOnly: {
83
+ '&.onesy-TextField-input-wrapper': {
84
+ cursor: 'default'
85
+ }
86
+ },
87
+ list: {
88
+ maxHeight: '250px',
89
+ overflow: 'auto'
90
+ },
91
+ limitText: {
92
+ alignSelf: 'center'
93
+ },
94
+ roundProgress: {
95
+ padding: `0 ${theme.methods.space.value(1, 'px')}`
96
+ },
97
+ disabled: {
98
+ '&.onesy-TextField-input-wrapper': {
99
+ cursor: 'default'
100
+ }
101
+ }
102
+ }), {
103
+ name: 'onesy-AutoComplete'
104
+ });
105
+ const getText = value => {
106
+ const value_ = (value === null || value === void 0 ? void 0 : value.name) || (value === null || value === void 0 ? void 0 : value.label) || (value === null || value === void 0 ? void 0 : value.primary) || (value === null || value === void 0 ? void 0 : value.secondary) || (value === null || value === void 0 ? void 0 : value.tertiary) || (value === null || value === void 0 ? void 0 : value.children) || (value === null || value === void 0 ? void 0 : value.value) || value;
107
+ return (0, _utils.is)('simple', value_) ? String(value_) : '';
100
108
  };
101
- const getValue = (value) => (value === null || value === void 0 ? void 0 : value.value) !== undefined ? value.value : value;
102
- const AutoComplete = react_1.default.forwardRef((props_, ref) => {
103
- var _a;
104
- const theme = (0, style_react_1.useOnesyTheme)();
105
- const l = theme.l;
106
- 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.onesyAutoComplete) === null || _g === void 0 ? void 0 : _g.props) === null || _h === void 0 ? void 0 : _h.default), props_)); }, [props_]);
107
- const Line = react_1.default.useMemo(() => { var _a; return ((_a = theme === null || theme === void 0 ? void 0 : theme.elements) === null || _a === void 0 ? void 0 : _a.Line) || Line_1.default; }, [theme]);
108
- const Menu = react_1.default.useMemo(() => { var _a; return ((_a = theme === null || theme === void 0 ? void 0 : theme.elements) === null || _a === void 0 ? void 0 : _a.Menu) || Menu_1.default; }, [theme]);
109
- const Chip = react_1.default.useMemo(() => { var _a; return ((_a = theme === null || theme === void 0 ? void 0 : theme.elements) === null || _a === void 0 ? void 0 : _a.Chip) || Chip_1.default; }, [theme]);
110
- const Type = react_1.default.useMemo(() => { var _a; return ((_a = theme === null || theme === void 0 ? void 0 : theme.elements) === null || _a === void 0 ? void 0 : _a.Type) || Type_1.default; }, [theme]);
111
- 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]);
112
- const ListItem = react_1.default.useMemo(() => { var _a; return ((_a = theme === null || theme === void 0 ? void 0 : theme.elements) === null || _a === void 0 ? void 0 : _a.ListItem) || ListItem_1.default; }, [theme]);
113
- const TextField = react_1.default.useMemo(() => { var _a; return ((_a = theme === null || theme === void 0 ? void 0 : theme.elements) === null || _a === void 0 ? void 0 : _a.TextField) || TextField_1.default; }, [theme]);
114
- const IconButton = react_1.default.useMemo(() => { var _a; return ((_a = theme === null || theme === void 0 ? void 0 : theme.elements) === null || _a === void 0 ? void 0 : _a.IconButton) || IconButton_1.default; }, [theme]);
115
- const RoundProgress = react_1.default.useMemo(() => { var _a; return ((_a = theme === null || theme === void 0 ? void 0 : theme.elements) === null || _a === void 0 ? void 0 : _a.RoundProgress) || RoundProgress_1.default; }, [theme]);
116
- const ListSubheader = react_1.default.useMemo(() => { var _a; return ((_a = theme === null || theme === void 0 ? void 0 : theme.elements) === null || _a === void 0 ? void 0 : _a.ListSubheader) || ListSubheader_1.default; }, [theme]);
117
- const { tonal = true, color = 'primary', size = 'regular', version = 'filled', valueInput: valueInput_, valueInputDefault, onChangeInput: onChangeInput_, value: value_, valueDefault, onChange: onChange_, options: options_ = [], label, multiple, prefix, sufix, start, end, autoWidth = true, readOnly, getLabel: getLabel_, renderValues: renderValues_, renderChip, renderOption, equal, equalInput, filter, clear = true, loading, autoSelectOnBlur, blurOnSelect = false, noOptions, noOptionsObject, startOptionsObject, noOptionsElement, startOptionsElement, endOptionsElement, endOptionsObject, openOnFocus = true, closeOnSelect, clearOnEscape, groupBy, limit, openOnInputUpdate, filterOutSelectedOptions, selectOnFocus, clearOnBlur, clearInputOnSelect, chip, fullWidth, noInputValue, disabled, IconClear = IconMaterialCloseW100_1.default, IconDropdown = IconMaterialArrowDropDownW100_1.default, WrapperProps, ChipProps, ListProps, MenuProps, IconButtonProps, InputProps, IconProps, className, style, children: children_ } = props, other = __rest(props, ["tonal", "color", "size", "version", "valueInput", "valueInputDefault", "onChangeInput", "value", "valueDefault", "onChange", "options", "label", "multiple", "prefix", "sufix", "start", "end", "autoWidth", "readOnly", "getLabel", "renderValues", "renderChip", "renderOption", "equal", "equalInput", "filter", "clear", "loading", "autoSelectOnBlur", "blurOnSelect", "noOptions", "noOptionsObject", "startOptionsObject", "noOptionsElement", "startOptionsElement", "endOptionsElement", "endOptionsObject", "openOnFocus", "closeOnSelect", "clearOnEscape", "groupBy", "limit", "openOnInputUpdate", "filterOutSelectedOptions", "selectOnFocus", "clearOnBlur", "clearInputOnSelect", "chip", "fullWidth", "noInputValue", "disabled", "IconClear", "IconDropdown", "WrapperProps", "ChipProps", "ListProps", "MenuProps", "IconButtonProps", "InputProps", "IconProps", "className", "style", "children"]);
118
- const children = react_1.default.Children.toArray(children_);
119
- const [init, setInit] = react_1.default.useState(false);
120
- const [valueInput, setValueInput] = react_1.default.useState(valueInputDefault !== undefined ? valueInputDefault : valueInput_);
121
- const [value, setValue] = react_1.default.useState((valueDefault !== undefined ? valueDefault : value_) || []);
122
- const [focus, setFocus] = react_1.default.useState(false);
123
- const [open, setOpen] = react_1.default.useState(false);
124
- const [mouseDown, setMouseDown] = react_1.default.useState(false);
125
- const [options, setOptions] = react_1.default.useState(options_);
126
- const [free, setFree] = react_1.default.useState(false);
127
- const { classes } = useStyle();
128
- const refs = {
129
- root: react_1.default.useRef(undefined),
130
- wrapper: react_1.default.useRef(undefined),
131
- value: react_1.default.useRef(undefined),
132
- valueInput: react_1.default.useRef(undefined),
133
- menu: react_1.default.useRef(undefined),
134
- input: react_1.default.useRef(undefined),
135
- optionsProps: react_1.default.useRef(options_),
136
- ids: {
137
- list: react_1.default.useId()
138
- }
109
+ const getValue = value => (value === null || value === void 0 ? void 0 : value.value) !== undefined ? value.value : value;
110
+ const AutoComplete = /*#__PURE__*/_react.default.forwardRef((props_, ref) => {
111
+ const theme = (0, _styleReact.useOnesyTheme)();
112
+ const l = theme.l;
113
+ const props = _react.default.useMemo(() => {
114
+ var _theme$ui, _theme$ui2;
115
+ 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.onesyAutoComplete) === null || _theme$ui2 === void 0 || (_theme$ui2 = _theme$ui2.props) === null || _theme$ui2 === void 0 ? void 0 : _theme$ui2.default), props_);
116
+ }, [props_]);
117
+ const Line = _react.default.useMemo(() => {
118
+ var _theme$elements;
119
+ return (theme === null || theme === void 0 || (_theme$elements = theme.elements) === null || _theme$elements === void 0 ? void 0 : _theme$elements.Line) || _Line.default;
120
+ }, [theme]);
121
+ const Menu = _react.default.useMemo(() => {
122
+ var _theme$elements2;
123
+ return (theme === null || theme === void 0 || (_theme$elements2 = theme.elements) === null || _theme$elements2 === void 0 ? void 0 : _theme$elements2.Menu) || _Menu.default;
124
+ }, [theme]);
125
+ const Chip = _react.default.useMemo(() => {
126
+ var _theme$elements3;
127
+ return (theme === null || theme === void 0 || (_theme$elements3 = theme.elements) === null || _theme$elements3 === void 0 ? void 0 : _theme$elements3.Chip) || _Chip.default;
128
+ }, [theme]);
129
+ const Type = _react.default.useMemo(() => {
130
+ var _theme$elements4;
131
+ return (theme === null || theme === void 0 || (_theme$elements4 = theme.elements) === null || _theme$elements4 === void 0 ? void 0 : _theme$elements4.Type) || _Type.default;
132
+ }, [theme]);
133
+ const List = _react.default.useMemo(() => {
134
+ var _theme$elements5;
135
+ return (theme === null || theme === void 0 || (_theme$elements5 = theme.elements) === null || _theme$elements5 === void 0 ? void 0 : _theme$elements5.List) || _List.default;
136
+ }, [theme]);
137
+ const ListItem = _react.default.useMemo(() => {
138
+ var _theme$elements6;
139
+ return (theme === null || theme === void 0 || (_theme$elements6 = theme.elements) === null || _theme$elements6 === void 0 ? void 0 : _theme$elements6.ListItem) || _ListItem.default;
140
+ }, [theme]);
141
+ const TextField = _react.default.useMemo(() => {
142
+ var _theme$elements7;
143
+ return (theme === null || theme === void 0 || (_theme$elements7 = theme.elements) === null || _theme$elements7 === void 0 ? void 0 : _theme$elements7.TextField) || _TextField.default;
144
+ }, [theme]);
145
+ const IconButton = _react.default.useMemo(() => {
146
+ var _theme$elements8;
147
+ return (theme === null || theme === void 0 || (_theme$elements8 = theme.elements) === null || _theme$elements8 === void 0 ? void 0 : _theme$elements8.IconButton) || _IconButton.default;
148
+ }, [theme]);
149
+ const RoundProgress = _react.default.useMemo(() => {
150
+ var _theme$elements9;
151
+ return (theme === null || theme === void 0 || (_theme$elements9 = theme.elements) === null || _theme$elements9 === void 0 ? void 0 : _theme$elements9.RoundProgress) || _RoundProgress.default;
152
+ }, [theme]);
153
+ const ListSubheader = _react.default.useMemo(() => {
154
+ var _theme$elements10;
155
+ return (theme === null || theme === void 0 || (_theme$elements10 = theme.elements) === null || _theme$elements10 === void 0 ? void 0 : _theme$elements10.ListSubheader) || _ListSubheader.default;
156
+ }, [theme]);
157
+ const {
158
+ tonal = true,
159
+ color = 'primary',
160
+ size = 'regular',
161
+ version = 'filled',
162
+ valueInput: valueInput_,
163
+ valueInputDefault,
164
+ onChangeInput: onChangeInput_,
165
+ value: value_,
166
+ valueDefault,
167
+ onChange: onChange_,
168
+ options: options_ = [],
169
+ label,
170
+ multiple,
171
+ prefix,
172
+ sufix,
173
+ start,
174
+ end,
175
+ autoWidth = true,
176
+ readOnly,
177
+ getLabel: getLabel_,
178
+ renderValues: renderValues_,
179
+ renderChip,
180
+ renderOption,
181
+ equal,
182
+ equalInput,
183
+ filter,
184
+ clear = true,
185
+ loading,
186
+ autoSelectOnBlur,
187
+ blurOnSelect = false,
188
+ noOptions,
189
+ noOptionsObject,
190
+ startOptionsObject,
191
+ noOptionsElement,
192
+ startOptionsElement,
193
+ endOptionsElement,
194
+ endOptionsObject,
195
+ openOnFocus = true,
196
+ closeOnSelect,
197
+ clearOnEscape,
198
+ groupBy,
199
+ limit,
200
+ openOnInputUpdate,
201
+ filterOutSelectedOptions,
202
+ selectOnFocus,
203
+ clearOnBlur,
204
+ clearInputOnSelect,
205
+ chip,
206
+ fullWidth,
207
+ noInputValue,
208
+ disabled,
209
+ IconClear = _IconMaterialCloseW.default,
210
+ IconDropdown = _IconMaterialArrowDropDownW.default,
211
+ WrapperProps,
212
+ ChipProps,
213
+ ListProps,
214
+ MenuProps,
215
+ IconButtonProps,
216
+ InputProps,
217
+ IconProps,
218
+ className,
219
+ style,
220
+ children: children_
221
+ } = props,
222
+ other = (0, _objectWithoutProperties2.default)(props, _excluded);
223
+ const children = _react.default.Children.toArray(children_);
224
+ const [init, setInit] = _react.default.useState(false);
225
+ const [valueInput, setValueInput] = _react.default.useState(valueInputDefault !== undefined ? valueInputDefault : valueInput_);
226
+ const [value, setValue] = _react.default.useState((valueDefault !== undefined ? valueDefault : value_) || []);
227
+ const [focus, setFocus] = _react.default.useState(false);
228
+ const [open, setOpen] = _react.default.useState(false);
229
+ const [mouseDown, setMouseDown] = _react.default.useState(false);
230
+ const [options, setOptions] = _react.default.useState(options_);
231
+ const [free, setFree] = _react.default.useState(false);
232
+ const {
233
+ classes
234
+ } = useStyle();
235
+ const refs = {
236
+ root: _react.default.useRef(undefined),
237
+ wrapper: _react.default.useRef(undefined),
238
+ value: _react.default.useRef(undefined),
239
+ valueInput: _react.default.useRef(undefined),
240
+ menu: _react.default.useRef(undefined),
241
+ input: _react.default.useRef(undefined),
242
+ optionsProps: _react.default.useRef(options_),
243
+ ids: {
244
+ list: _react.default.useId()
245
+ }
246
+ };
247
+ refs.value.current = value;
248
+ refs.valueInput.current = valueInput;
249
+ refs.optionsProps.current = options_;
250
+ const styles = {
251
+ root: {},
252
+ menu: {}
253
+ };
254
+ if (MenuProps !== null && MenuProps !== void 0 && MenuProps.portal && autoWidth) {
255
+ var _refs$wrapper$current;
256
+ styles.menu.width = (_refs$wrapper$current = refs.wrapper.current) === null || _refs$wrapper$current === void 0 ? void 0 : _refs$wrapper$current.clientWidth;
257
+ }
258
+ _react.default.useEffect(() => {
259
+ var _refs$root$current;
260
+ 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;
261
+ const method = event => {
262
+ if (event.key === 'Escape') {
263
+ if (clearOnEscape) onClear();
264
+ onClose(true);
265
+ }
139
266
  };
140
- refs.value.current = value;
141
- refs.valueInput.current = valueInput;
142
- refs.optionsProps.current = options_;
143
- const styles = {
144
- root: {},
145
- menu: {}
267
+ rootDocument.addEventListener('keydown', method);
268
+ rootDocument.addEventListener('mouseup', onMouseUp);
269
+ setInit(true);
270
+ return () => {
271
+ // Clean up
272
+ rootDocument.removeEventListener('mouseup', onMouseUp);
273
+ rootDocument.removeEventListener('keydown', method);
146
274
  };
147
- if ((MenuProps === null || MenuProps === void 0 ? void 0 : MenuProps.portal) && autoWidth) {
148
- styles.menu.width = (_a = refs.wrapper.current) === null || _a === void 0 ? void 0 : _a.clientWidth;
275
+ }, []);
276
+ _react.default.useEffect(() => {
277
+ const option = (refs.optionsProps.current || []).find(item_ => isEqualToInput(refs.valueInput.current, item_));
278
+ if (!!(valueInput !== null && valueInput !== void 0 && valueInput.length) && openOnInputUpdate && !open && !option && !disabled && !readOnly) setOpen(!free);
279
+ }, [valueInput, openOnInputUpdate, free]);
280
+ _react.default.useEffect(() => {
281
+ if (value_ !== undefined && value_ !== value) setValue(value_);
282
+ }, [value_]);
283
+ _react.default.useEffect(() => {
284
+ if (valueInput_ !== undefined && valueInput_ !== valueInput) setValueInput(valueInput_);
285
+ }, [valueInput_]);
286
+ _react.default.useEffect(() => {
287
+ if (init && loading) {
288
+ setOpen(true);
289
+ updateOptions();
149
290
  }
150
- react_1.default.useEffect(() => {
151
- var _a;
152
- const rootDocument = (0, utils_1.isEnvironment)('browser') ? (((_a = refs.root.current) === null || _a === void 0 ? void 0 : _a.ownerDocument) || window.document) : undefined;
153
- const method = (event) => {
154
- if (event.key === 'Escape') {
155
- if (clearOnEscape)
156
- onClear();
157
- onClose(true);
158
- }
159
- };
160
- rootDocument.addEventListener('keydown', method);
161
- rootDocument.addEventListener('mouseup', onMouseUp);
162
- setInit(true);
163
- return () => {
164
- // Clean up
165
- rootDocument.removeEventListener('mouseup', onMouseUp);
166
- rootDocument.removeEventListener('keydown', method);
167
- };
168
- }, []);
169
- react_1.default.useEffect(() => {
170
- const option = (refs.optionsProps.current || []).find(item_ => isEqualToInput(refs.valueInput.current, item_));
171
- if (!!(valueInput === null || valueInput === void 0 ? void 0 : valueInput.length) && openOnInputUpdate && !open && !option && !disabled && !readOnly)
172
- setOpen(!free);
173
- }, [valueInput, openOnInputUpdate, free]);
174
- react_1.default.useEffect(() => {
175
- if (value_ !== undefined && value_ !== value)
176
- setValue(value_);
177
- }, [value_]);
178
- react_1.default.useEffect(() => {
179
- if (valueInput_ !== undefined && valueInput_ !== valueInput)
180
- setValueInput(valueInput_);
181
- }, [valueInput_]);
182
- react_1.default.useEffect(() => {
183
- if (init && loading) {
184
- setOpen(true);
185
- updateOptions();
186
- }
187
- }, [loading]);
188
- react_1.default.useEffect(() => {
189
- updateOptions(undefined, options_);
190
- }, [options_]);
191
- const updateOptions = (valueInputNew = refs.valueInput.current, newOptions = undefined) => {
192
- let optionsValue = refs.optionsProps.current;
193
- // reset
194
- setFree(false);
195
- if (loading)
196
- optionsValue = [{ label: l('Loading...'), version: 'text' }];
197
- else if (newOptions)
198
- optionsValue = newOptions;
199
- else
200
- optionsValue = (0, utils_1.is)('function', filter) ? filter(valueInputNew, refs.optionsProps.current) : refs.optionsProps.current.filter(option => isEqualToInput(valueInputNew, option));
201
- if (!optionsValue.length) {
202
- if (noOptions)
203
- optionsValue.push(noOptionsObject !== undefined ? noOptionsObject : { primary: l('No options'), version: 'text', noOptions: true });
204
- else {
205
- setOpen(false);
206
- setFree(true);
207
- setOptions(optionsValue);
208
- return;
209
- }
210
- }
211
- if (!loading) {
212
- if (startOptionsObject)
213
- optionsValue.unshift(startOptionsObject);
214
- if (endOptionsObject)
215
- optionsValue.push(endOptionsObject);
216
- }
291
+ }, [loading]);
292
+ _react.default.useEffect(() => {
293
+ updateOptions(undefined, options_);
294
+ }, [options_]);
295
+ const updateOptions = (valueInputNew = refs.valueInput.current, newOptions = undefined) => {
296
+ let optionsValue = refs.optionsProps.current;
297
+
298
+ // reset
299
+ setFree(false);
300
+ if (loading) optionsValue = [{
301
+ label: l('Loading...'),
302
+ version: 'text'
303
+ }];else if (newOptions) optionsValue = newOptions;else optionsValue = (0, _utils.is)('function', filter) ? filter(valueInputNew, refs.optionsProps.current) : refs.optionsProps.current.filter(option => isEqualToInput(valueInputNew, option));
304
+ if (!optionsValue.length) {
305
+ if (noOptions) optionsValue.push(noOptionsObject !== undefined ? noOptionsObject : {
306
+ primary: l('No options'),
307
+ version: 'text',
308
+ noOptions: true
309
+ });else {
310
+ setOpen(false);
311
+ setFree(true);
217
312
  setOptions(optionsValue);
218
- };
219
- const onMouseDown = react_1.default.useCallback((event) => {
220
- if (!disabled && !readOnly)
221
- setMouseDown(true);
222
- }, [readOnly, disabled]);
223
- const onMouseUp = react_1.default.useCallback((event) => {
224
- if (!disabled && !readOnly)
225
- setMouseDown(false);
226
- }, [readOnly, disabled]);
227
- const onFocus = react_1.default.useCallback((event) => {
228
- if (!disabled && !readOnly) {
229
- setFocus(true);
230
- if (selectOnFocus)
231
- setTimeout(() => refs.input.current.select());
232
- }
233
- }, [readOnly, disabled]);
234
- const onBlur = (event) => {
235
- if (!disabled && !readOnly)
236
- setFocus(false);
237
- };
238
- const onClick = react_1.default.useCallback((event) => {
239
- if (!disabled && !readOnly)
240
- setOpen(open_ => {
241
- if (!open_) {
242
- if (!openOnFocus)
243
- return open_;
244
- refs.input.current.focus();
245
- // if input wrapper overflows
246
- event.target.scrollTo(0, 0);
247
- }
248
- return !open_;
249
- });
250
- }, [readOnly, disabled]);
251
- const onClickArrowDown = react_1.default.useCallback((event) => {
252
- if (!disabled && !readOnly)
253
- setOpen(open_ => {
254
- if (!open_)
255
- refs.input.current.focus();
256
- return !open_;
257
- });
258
- }, [readOnly, disabled]);
259
- const onEnterKeyDown = react_1.default.useCallback((event) => {
260
- if (event.key === 'Enter' && !disabled && !readOnly)
261
- setOpen(open_ => {
262
- if (!open_) {
263
- if (!openOnFocus)
264
- return open_;
265
- refs.input.current.focus();
266
- }
267
- return !open_;
268
- });
269
- }, [readOnly, disabled]);
270
- const onClose = (refocus = true) => {
271
- if (!disabled && !readOnly) {
272
- setOpen(open_ => {
273
- if (open_) {
274
- if (refocus)
275
- refs.input.current.focus();
276
- if (clearOnBlur) {
277
- const option = options.find(item_ => isEqualToInput(refs.valueInput.current, item_));
278
- if (!option)
279
- onClear();
280
- }
281
- }
282
- return false;
283
- });
284
- }
285
- };
286
- const onExited = () => {
287
- var _a;
288
- if (!disabled && !readOnly) {
289
- if (!open) {
290
- const option = (refs.optionsProps.current || []).find(item_ => isEqualToInput(refs.valueInput.current, item_));
291
- // Update options to all values
292
- // if value is one of the option values
293
- if (option || !refs.valueInput.current || ((_a = options[0]) === null || _a === void 0 ? void 0 : _a.noOptions))
294
- updateOptions(undefined, refs.optionsProps.current);
295
- }
296
- }
297
- };
298
- const onChange = (valueNew) => {
299
- // Inner controlled value
300
- if (!props.hasOwnProperty('value'))
301
- setValue(valueNew);
302
- if ((0, utils_1.is)('function', onChange_))
303
- onChange_(valueNew);
304
- };
305
- const onChangeInput = (valueNew) => {
306
- if (!disabled && !readOnly) {
307
- updateOptions(valueNew);
308
- if (!open)
309
- setOpen(true);
310
- // Inner controlled value
311
- if (!props.hasOwnProperty('valueInput'))
312
- setValueInput(valueNew);
313
- if ((0, utils_1.is)('function', onChangeInput_))
314
- onChangeInput_(valueNew);
315
- }
316
- };
317
- const onClear = react_1.default.useCallback((refocus = true) => {
318
- if (!disabled && !readOnly) {
319
- onChangeInput('');
320
- onChange(multiple ? [] : null);
321
- if (refocus)
322
- refs.input.current.focus();
323
- }
324
- }, [multiple, readOnly, disabled]);
325
- const onClearInput = react_1.default.useCallback((refocus = true) => {
326
- if (!disabled && !readOnly) {
327
- onChangeInput('');
328
- if (refocus)
329
- refs.input.current.focus();
330
- }
331
- }, []);
332
- const isEqual = (value1, value2) => (0, utils_1.is)('function', equal) ? equal(value1, value2) : getValue(value1) === getValue(value2);
333
- const isEqualToInput = (inputValue = refs.valueInput.current, item) => { var _a; return (0, utils_1.is)('function', equalInput) ? equalInput(inputValue, item) : (_a = getText(item)) === null || _a === void 0 ? void 0 : _a.toLowerCase().includes(inputValue === null || inputValue === void 0 ? void 0 : inputValue.toLowerCase()); };
334
- const onSelect = (valueNew) => {
335
- const values = multiple ? (0, utils_1.is)('array', value) ? value : [value] : value;
336
- const selected = multiple ? !!values.find((item) => isEqual(valueNew, item)) : isEqual(valueNew, value);
337
- if (!selected) {
338
- onChange(!multiple ? valueNew : [...values, valueNew]);
339
- if (!multiple)
340
- clearInputOnSelect ? onClearInput() : onChangeInput(getText(valueNew));
341
- else if (clearInputOnSelect)
342
- onClearInput();
343
- }
344
- };
345
- const onUnselect = (valueNew) => {
346
- if (multiple) {
347
- let values = [...((0, utils_1.is)('array', value) ? value : [value])];
348
- values = values.filter((item) => !isEqual(valueNew, item));
349
- onChange(values);
350
- }
351
- };
352
- const items = react_1.default.useMemo(() => {
353
- return (options_ || []).map((item) => (Object.assign(Object.assign({}, item), { name: String((item === null || item === void 0 ? void 0 : item.name) !== undefined ? item === null || item === void 0 ? void 0 : item.name : (item === null || item === void 0 ? void 0 : item.value) !== undefined ? item.value : item), value: (item === null || item === void 0 ? void 0 : item.value) !== undefined ? item === null || item === void 0 ? void 0 : item.value : item })));
354
- }, [options_]);
355
- const getLabel = (item, propsOther) => {
356
- if ((0, utils_1.is)('function', getLabel_))
357
- return getLabel_(item, propsOther);
358
- const properties = ['name', 'label', 'primary', 'secondary', 'tertiary', 'value', 'children'];
359
- const objects = [item, item === null || item === void 0 ? void 0 : item.props].filter(Boolean);
360
- for (const itemObject of objects) {
361
- if ((0, utils_1.is)('simple', itemObject))
362
- return itemObject;
363
- const valueItem = (0, utils_1.getObjectValue)(itemObject, ...properties);
364
- if (valueItem !== undefined)
365
- return valueItem;
366
- }
367
- return 'No name';
368
- };
369
- const renderValue = (itemValue = value) => {
370
- const item = !!(items === null || items === void 0 ? void 0 : items.length) ? items.find((item_) => getValue(item_) === getValue(itemValue)) : children.find((item_) => { var _a; return getValue((_a = item_.props) === null || _a === void 0 ? void 0 : _a.value) === getValue(itemValue); });
371
- return item ? getLabel(item, props) : getLabel(itemValue, props) || '';
372
- };
373
- const renderValues = renderValues_ || ((value__ = refs.value.current, onUnselectMethod = onUnselect) => {
374
- if (multiple) {
375
- if (chip) {
376
- let values = value__;
377
- if ((0, utils_1.is)('number', limit) && !open)
378
- values = values.slice(0, limit);
379
- values = values.map((item, index) => {
380
- const other_ = {
381
- key: index,
382
- onClick: (event) => {
383
- event.preventDefault();
384
- event.stopPropagation();
385
- },
386
- onRemove: (event) => {
387
- event.preventDefault();
388
- event.stopPropagation();
389
- onUnselectMethod(item);
390
- },
391
- input: true
392
- };
393
- if ((0, utils_1.is)('function', renderChip))
394
- return renderChip(item, renderValue(item), other_);
395
- return ((0, jsx_runtime_1.jsx)(Chip, Object.assign({ size: 'small' }, ChipProps, other_, { children: renderValue(item) }), index));
396
- });
397
- if ((0, utils_1.is)('number', limit) && !open && value.length - limit > 0)
398
- values.push((0, jsx_runtime_1.jsxs)(Type, Object.assign({ color: 'default', className: classes.limitText }, { children: ["+", value.length - limit] })));
399
- return values;
400
- }
401
- return value__.map(item => renderValue(item)).join(', ');
402
- }
403
- return renderValue(value);
313
+ return;
314
+ }
315
+ }
316
+ if (!loading) {
317
+ if (startOptionsObject) optionsValue.unshift(startOptionsObject);
318
+ if (endOptionsObject) optionsValue.push(endOptionsObject);
319
+ }
320
+ setOptions(optionsValue);
321
+ };
322
+ const onMouseDown = _react.default.useCallback(event => {
323
+ if (!disabled && !readOnly) setMouseDown(true);
324
+ }, [readOnly, disabled]);
325
+ const onMouseUp = _react.default.useCallback(event => {
326
+ if (!disabled && !readOnly) setMouseDown(false);
327
+ }, [readOnly, disabled]);
328
+ const onFocus = _react.default.useCallback(event => {
329
+ if (!disabled && !readOnly) {
330
+ setFocus(true);
331
+ if (selectOnFocus) setTimeout(() => refs.input.current.select());
332
+ }
333
+ }, [readOnly, disabled]);
334
+ const onBlur = event => {
335
+ if (!disabled && !readOnly) setFocus(false);
336
+ };
337
+ const onClick = _react.default.useCallback(event => {
338
+ if (!disabled && !readOnly) setOpen(open_ => {
339
+ if (!open_) {
340
+ if (!openOnFocus) return open_;
341
+ refs.input.current.focus();
342
+
343
+ // if input wrapper overflows
344
+ event.target.scrollTo(0, 0);
345
+ }
346
+ return !open_;
404
347
  });
405
- let optionsToUse = options;
406
- if (filterOutSelectedOptions) {
407
- optionsToUse = optionsToUse.filter(option => {
408
- var _a;
409
- const selected = !!((_a = ((0, utils_1.is)('array', value) ? value : [value])) === null || _a === void 0 ? void 0 : _a.find((item) => isEqual(item, option)));
410
- return !selected;
411
- });
348
+ }, [readOnly, disabled]);
349
+ const onClickArrowDown = _react.default.useCallback(event => {
350
+ if (!disabled && !readOnly) setOpen(open_ => {
351
+ if (!open_) refs.input.current.focus();
352
+ return !open_;
353
+ });
354
+ }, [readOnly, disabled]);
355
+ const onEnterKeyDown = _react.default.useCallback(event => {
356
+ if (event.key === 'Enter' && !disabled && !readOnly) setOpen(open_ => {
357
+ if (!open_) {
358
+ if (!openOnFocus) return open_;
359
+ refs.input.current.focus();
360
+ }
361
+ return !open_;
362
+ });
363
+ }, [readOnly, disabled]);
364
+ const onClose = (refocus = true) => {
365
+ if (!disabled && !readOnly) {
366
+ setOpen(open_ => {
367
+ if (open_) {
368
+ if (refocus) refs.input.current.focus();
369
+ if (clearOnBlur) {
370
+ const option = options.find(item_ => isEqualToInput(refs.valueInput.current, item_));
371
+ if (!option) onClear();
372
+ }
373
+ }
374
+ return false;
375
+ });
376
+ }
377
+ };
378
+ const onExited = () => {
379
+ if (!disabled && !readOnly) {
380
+ if (!open) {
381
+ var _options$;
382
+ const option = (refs.optionsProps.current || []).find(item_ => isEqualToInput(refs.valueInput.current, item_));
383
+
384
+ // Update options to all values
385
+ // if value is one of the option values
386
+ if (option || !refs.valueInput.current || (_options$ = options[0]) !== null && _options$ !== void 0 && _options$.noOptions) updateOptions(undefined, refs.optionsProps.current);
387
+ }
412
388
  }
413
- const groups = {};
414
- if ((0, utils_1.is)('function', groupBy)) {
415
- optionsToUse.forEach(option => {
416
- const valueForGroupBy = groupBy(option) || l('Other');
417
- if (!groups[valueForGroupBy])
418
- groups[valueForGroupBy] = [];
419
- groups[valueForGroupBy].push(option);
389
+ };
390
+ const onChange = valueNew => {
391
+ // Inner controlled value
392
+ if (!props.hasOwnProperty('value')) setValue(valueNew);
393
+ if ((0, _utils.is)('function', onChange_)) onChange_(valueNew);
394
+ };
395
+ const onChangeInput = valueNew => {
396
+ if (!disabled && !readOnly) {
397
+ updateOptions(valueNew);
398
+ if (!open) setOpen(true);
399
+
400
+ // Inner controlled value
401
+ if (!props.hasOwnProperty('valueInput')) setValueInput(valueNew);
402
+ if ((0, _utils.is)('function', onChangeInput_)) onChangeInput_(valueNew);
403
+ }
404
+ };
405
+ const onClear = _react.default.useCallback((refocus = true) => {
406
+ if (!disabled && !readOnly) {
407
+ onChangeInput('');
408
+ onChange(multiple ? [] : null);
409
+ if (refocus) refs.input.current.focus();
410
+ }
411
+ }, [multiple, readOnly, disabled]);
412
+ const onClearInput = _react.default.useCallback((refocus = true) => {
413
+ if (!disabled && !readOnly) {
414
+ onChangeInput('');
415
+ if (refocus) refs.input.current.focus();
416
+ }
417
+ }, []);
418
+ const isEqual = (value1, value2) => (0, _utils.is)('function', equal) ? equal(value1, value2) : getValue(value1) === getValue(value2);
419
+ const isEqualToInput = (inputValue = refs.valueInput.current, item) => {
420
+ var _getText;
421
+ return (0, _utils.is)('function', equalInput) ? equalInput(inputValue, item) : (_getText = getText(item)) === null || _getText === void 0 ? void 0 : _getText.toLowerCase().includes(inputValue === null || inputValue === void 0 ? void 0 : inputValue.toLowerCase());
422
+ };
423
+ const onSelect = valueNew => {
424
+ const values = multiple ? (0, _utils.is)('array', value) ? value : [value] : value;
425
+ const selected = multiple ? !!values.find(item => isEqual(valueNew, item)) : isEqual(valueNew, value);
426
+ if (!selected) {
427
+ onChange(!multiple ? valueNew : [...values, valueNew]);
428
+ if (!multiple) clearInputOnSelect ? onClearInput() : onChangeInput(getText(valueNew));else if (clearInputOnSelect) onClearInput();
429
+ }
430
+ };
431
+ const onUnselect = valueNew => {
432
+ if (multiple) {
433
+ let values = [...((0, _utils.is)('array', value) ? value : [value])];
434
+ values = values.filter(item => !isEqual(valueNew, item));
435
+ onChange(values);
436
+ }
437
+ };
438
+ const items = _react.default.useMemo(() => {
439
+ return (options_ || []).map(item => _objectSpread(_objectSpread({}, item), {}, {
440
+ name: String((item === null || item === void 0 ? void 0 : item.name) !== undefined ? item === null || item === void 0 ? void 0 : item.name : (item === null || item === void 0 ? void 0 : item.value) !== undefined ? item.value : item),
441
+ value: (item === null || item === void 0 ? void 0 : item.value) !== undefined ? item === null || item === void 0 ? void 0 : item.value : item
442
+ }));
443
+ }, [options_]);
444
+ const getLabel = (item, propsOther) => {
445
+ if ((0, _utils.is)('function', getLabel_)) return getLabel_(item, propsOther);
446
+ const properties = ['name', 'label', 'primary', 'secondary', 'tertiary', 'value', 'children'];
447
+ const objects = [item, item === null || item === void 0 ? void 0 : item.props].filter(Boolean);
448
+ for (const itemObject of objects) {
449
+ if ((0, _utils.is)('simple', itemObject)) return itemObject;
450
+ const valueItem = (0, _utils.getObjectValue)(itemObject, ...properties);
451
+ if (valueItem !== undefined) return valueItem;
452
+ }
453
+ return 'No name';
454
+ };
455
+ const renderValue = (itemValue = value) => {
456
+ const item = !!(items !== null && items !== void 0 && items.length) ? items.find(item_ => getValue(item_) === getValue(itemValue)) : children.find(item_ => {
457
+ var _item_$props;
458
+ return getValue((_item_$props = item_.props) === null || _item_$props === void 0 ? void 0 : _item_$props.value) === getValue(itemValue);
459
+ });
460
+ return item ? getLabel(item, props) : getLabel(itemValue, props) || '';
461
+ };
462
+ const renderValues = renderValues_ || ((value__ = refs.value.current, onUnselectMethod = onUnselect) => {
463
+ if (multiple) {
464
+ if (chip) {
465
+ let values = value__;
466
+ if ((0, _utils.is)('number', limit) && !open) values = values.slice(0, limit);
467
+ values = values.map((item, index) => {
468
+ const other_ = {
469
+ key: index,
470
+ onClick: event => {
471
+ event.preventDefault();
472
+ event.stopPropagation();
473
+ },
474
+ onRemove: event => {
475
+ event.preventDefault();
476
+ event.stopPropagation();
477
+ onUnselectMethod(item);
478
+ },
479
+ input: true
480
+ };
481
+ if ((0, _utils.is)('function', renderChip)) return renderChip(item, renderValue(item), other_);
482
+ return /*#__PURE__*/_react.default.createElement(Chip, (0, _extends2.default)({
483
+ key: index,
484
+ size: "small"
485
+ }, ChipProps, other_), renderValue(item));
420
486
  });
421
- optionsToUse = [];
422
- if (Object.keys(groups).length)
423
- Object.keys(groups).forEach(item => {
424
- const array = groups[item];
425
- optionsToUse.push({ label: item, version: 'subheader' }, ...array);
426
- });
487
+ if ((0, _utils.is)('number', limit) && !open && value.length - limit > 0) values.push(/*#__PURE__*/_react.default.createElement(Type, {
488
+ color: "default",
489
+ className: classes.limitText
490
+ }, "+", value.length - limit));
491
+ return values;
492
+ }
493
+ return value__.map(item => renderValue(item)).join(', ');
427
494
  }
428
- const renderOptionValue = (values) => {
429
- const result = values.map((item, index) => {
430
- var _a;
431
- let other_ = {};
432
- const button = item.version === undefined || item.version === 'button';
433
- const selected = !!((_a = ((0, utils_1.is)('array', value) ? value : [value])) === null || _a === void 0 ? void 0 : _a.find((item_) => isEqual(item, item_)));
434
- if (button) {
435
- other_ = {
436
- primary: getLabel(item),
437
- value: item,
438
- button,
439
- selected,
440
- onClick: (event) => {
441
- var _a, _b;
442
- if (multiple && selected)
443
- onUnselect(item);
444
- else
445
- onSelect(item);
446
- if ((0, utils_1.is)('function', (_a = item.props) === null || _a === void 0 ? void 0 : _a.onClick))
447
- (_b = item.props) === null || _b === void 0 ? void 0 : _b.onClick(event);
448
- if (blurOnSelect) {
449
- if (closeOnSelect)
450
- setOpen(false);
451
- refs.input.current.blur();
452
- }
453
- else if (closeOnSelect)
454
- onClose();
455
- }
456
- };
457
- }
458
- else {
459
- other_.secondary = getLabel(item);
460
- }
461
- other_.onMouseUp = onMouseUp;
462
- other_.onMouseDown = onMouseDown;
463
- if (item.noOptions) {
464
- if (noOptionsElement)
465
- return react_1.default.cloneElement(noOptionsElement, {
466
- key: 'noOptions'
467
- });
468
- }
469
- return ((0, utils_1.is)('function', renderOption) ?
470
- renderOption(item, index, Object.assign(Object.assign({}, other_), item.props)) :
471
- (0, jsx_runtime_1.jsx)(ListItem, Object.assign({ role: 'option', preselected: !open ? false : undefined }, other_, item.props), item.value !== undefined ? item.value : index));
495
+ return renderValue(value);
496
+ });
497
+ let optionsToUse = options;
498
+ if (filterOutSelectedOptions) {
499
+ optionsToUse = optionsToUse.filter(option => {
500
+ var _ref;
501
+ const selected = !!((_ref = (0, _utils.is)('array', value) ? value : [value]) !== null && _ref !== void 0 && _ref.find(item => isEqual(item, option)));
502
+ return !selected;
503
+ });
504
+ }
505
+ const groups = {};
506
+ if ((0, _utils.is)('function', groupBy)) {
507
+ optionsToUse.forEach(option => {
508
+ const valueForGroupBy = groupBy(option) || l('Other');
509
+ if (!groups[valueForGroupBy]) groups[valueForGroupBy] = [];
510
+ groups[valueForGroupBy].push(option);
511
+ });
512
+ optionsToUse = [];
513
+ if (Object.keys(groups).length) Object.keys(groups).forEach(item => {
514
+ const array = groups[item];
515
+ optionsToUse.push({
516
+ label: item,
517
+ version: 'subheader'
518
+ }, ...array);
519
+ });
520
+ }
521
+ const renderOptionValue = values => {
522
+ const result = values.map((item, index) => {
523
+ var _ref2;
524
+ let other_ = {};
525
+ const button = item.version === undefined || item.version === 'button';
526
+ const selected = !!((_ref2 = (0, _utils.is)('array', value) ? value : [value]) !== null && _ref2 !== void 0 && _ref2.find(item_ => isEqual(item, item_)));
527
+ if (button) {
528
+ other_ = {
529
+ primary: getLabel(item),
530
+ value: item,
531
+ button,
532
+ selected,
533
+ onClick: event => {
534
+ var _item$props, _item$props2;
535
+ if (multiple && selected) onUnselect(item);else onSelect(item);
536
+ if ((0, _utils.is)('function', (_item$props = item.props) === null || _item$props === void 0 ? void 0 : _item$props.onClick)) (_item$props2 = item.props) === null || _item$props2 === void 0 || _item$props2.onClick(event);
537
+ if (blurOnSelect) {
538
+ if (closeOnSelect) setOpen(false);
539
+ refs.input.current.blur();
540
+ } else if (closeOnSelect) onClose();
541
+ }
542
+ };
543
+ } else {
544
+ other_.secondary = getLabel(item);
545
+ }
546
+ other_.onMouseUp = onMouseUp;
547
+ other_.onMouseDown = onMouseDown;
548
+ if (item.noOptions) {
549
+ if (noOptionsElement) return /*#__PURE__*/_react.default.cloneElement(noOptionsElement, {
550
+ key: 'noOptions'
472
551
  });
473
- if (startOptionsElement)
474
- result.unshift(react_1.default.cloneElement(startOptionsElement, { key: 'startOptionsElement' }));
475
- if (endOptionsElement)
476
- result.push(react_1.default.cloneElement(endOptionsElement, { key: 'endOptionsElement' }));
477
- return result;
478
- };
479
- const renderList = () => {
480
- if (Object.keys(groups).length) {
481
- return (Object.keys(groups).map((item, index) => ((0, jsx_runtime_1.jsxs)("li", Object.assign({ style: { width: '100%' } }, { children: [(0, jsx_runtime_1.jsx)(ListSubheader, Object.assign({ Component: 'div' }, { children: item })), (0, jsx_runtime_1.jsx)(List, Object.assign({ size: size, paddingVertical: 'none', menu: true }, { children: renderOptionValue(groups[item]) }))] }), index))));
552
+ }
553
+ return (0, _utils.is)('function', renderOption) ? renderOption(item, index, _objectSpread(_objectSpread({}, other_), item.props)) : /*#__PURE__*/_react.default.createElement(ListItem, (0, _extends2.default)({
554
+ key: item.value !== undefined ? item.value : index,
555
+ role: "option",
556
+ preselected: !open ? false : undefined
557
+ }, other_, item.props));
558
+ });
559
+ if (startOptionsElement) result.unshift(/*#__PURE__*/_react.default.cloneElement(startOptionsElement, {
560
+ key: 'startOptionsElement'
561
+ }));
562
+ if (endOptionsElement) result.push(/*#__PURE__*/_react.default.cloneElement(endOptionsElement, {
563
+ key: 'endOptionsElement'
564
+ }));
565
+ return result;
566
+ };
567
+ const renderList = () => {
568
+ if (Object.keys(groups).length) {
569
+ return Object.keys(groups).map((item, index) => /*#__PURE__*/_react.default.createElement("li", {
570
+ key: index,
571
+ style: {
572
+ width: '100%'
482
573
  }
483
- else
484
- return renderOptionValue(optionsToUse);
485
- };
486
- const endIcons = [
487
- end,
488
- ...(!readOnly ? [
489
- ...(loading ? [
490
- (0, jsx_runtime_1.jsx)(RoundProgress, { className: classes.roundProgress, size: 'small' }, 1)
491
- ] : []),
492
- ...(clear ? [!!(multiple ? value.length : valueInput) && ((0, jsx_runtime_1.jsx)(IconButton, Object.assign({ onClick: onClear, size: 'small', fontSize: utils_2.iconFontSize, "aria-label": l('Input clear') }, IconButtonProps, { children: (0, jsx_runtime_1.jsx)(IconClear, Object.assign({}, IconProps)) })))] : []),
493
- (0, jsx_runtime_1.jsx)(IconButton, Object.assign({ onClick: onClickArrowDown, size: 'small', fontSize: utils_2.iconFontSize, "aria-expanded": open, "aria-controls": refs.ids.list, InteractionProps: {
494
- clear: !!(multiple ? value.length : valueInput)
495
- } }, IconButtonProps, { children: (0, jsx_runtime_1.jsx)(IconDropdown, Object.assign({}, IconProps, { className: (0, style_react_1.classNames)([
496
- IconProps === null || IconProps === void 0 ? void 0 : IconProps.className,
497
- classes.arrow,
498
- open && classes.arrow_open
499
- ]) })) }), 3)
500
- ] : [])
501
- ].filter(Boolean);
502
- if (mouseDown)
503
- refs.input.current.focus();
504
- const menuItems = renderList();
505
- return ((0, jsx_runtime_1.jsxs)(Line, Object.assign({ ref: refs.wrapper, gap: 0, direction: 'column', fullWidth: fullWidth }, WrapperProps, { className: (0, style_react_1.classNames)([
506
- (0, utils_2.staticClassName)('AutoComplete', theme) && [
507
- 'onesy-AutoComplete-wrapper',
508
- fullWidth && 'onesy-full-width'
509
- ],
510
- WrapperProps === null || WrapperProps === void 0 ? void 0 : WrapperProps.className,
511
- classes.wrapper
512
- ]) }, { children: [(0, jsx_runtime_1.jsxs)(TextField, Object.assign({ ref: refs.input, rootRef: (item => {
513
- if (ref) {
514
- if ((0, utils_1.is)('function', ref))
515
- ref(item);
516
- else
517
- ref.current = item;
518
- }
519
- refs.root.current = item;
520
- }), onBlur: onBlur, onFocus: onFocus, value: valueInput, onChange: onChangeInput, enabled: open || focus || mouseDown || !!(multiple ? (!!value.length || valueInput) : valueInput), focus: open || focus || mouseDown, className: (0, style_react_1.classNames)([
521
- (0, utils_2.staticClassName)('AutoComplete', theme) && [
522
- 'onesy-AutoComplete-root',
523
- `onesy-AutoComplete-version-${version}`,
524
- `onesy-AutoComplete-size-${size}`,
525
- open && `onesy-AutoComplete-open`,
526
- mouseDown && `onesy-AutoComplete-mouse-down`,
527
- focus && `onesy-AutoComplete-focus`,
528
- loading && `onesy-AutoComplete-loading`
529
- ],
530
- className,
531
- classes.root,
532
- open && classes.open,
533
- disabled && classes.disabled
534
- ]), tonal: tonal, color: color, size: size, version: version, label: label, prefix: prefix, sufix: sufix, start: start, end: endIcons, readOnly: readOnly, endVerticalAlign: 'center', role: 'combobox', "aria-autocomplete": 'list', "aria-multiselectable": multiple, "aria-controls": refs.ids.list, "aria-expanded": open, "aria-haspopup": 'listbox', "aria-labelledby": label, "aria-disabled": disabled, fullWidth: fullWidth, disabled: disabled, InputWrapperProps: {
535
- className: (0, style_react_1.classNames)([
536
- (0, utils_2.staticClassName)('AutoComplete', theme) && [
537
- 'onesy-AutoComplete-input-wrapper'
538
- ],
539
- classes.inputWrapper,
540
- multiple && [
541
- classes.multiple,
542
- classes[`inputWrapper_multiple_size_${size}`]
543
- ],
544
- chip && classes.chip,
545
- open && classes.open,
546
- readOnly && classes.readOnly
547
- ]),
548
- onMouseDown,
549
- onMouseUp,
550
- onClick,
551
- onKeyDown: onEnterKeyDown
552
- }, inputProps: Object.assign(Object.assign({ disabled: multiple, readOnly: multiple }, InputProps), { className: (0, style_react_1.classNames)([
553
- InputProps === null || InputProps === void 0 ? void 0 : InputProps.className,
554
- multiple && classes.input_
555
- ]) }), style: Object.assign(Object.assign({}, styles.root), style) }, other, { children: [!noInputValue && multiple && !chip && !!value.length && ((0, jsx_runtime_1.jsx)("div", Object.assign({ ref: refs.value, tabIndex: 0, onFocus: onFocus, onBlur: onBlur, onMouseDown: onMouseDown, onKeyDown: onEnterKeyDown, className: (0, style_react_1.classNames)([
556
- (0, utils_2.staticClassName)('AutoComplete', theme) && [
557
- 'onesy-AutoComplete-input',
558
- multiple && [
559
- chip && `onesy-AutoComplete-chip`,
560
- open && `onesy-AutoComplete-open`,
561
- readOnly && `onesy-Select-readOnly`
562
- ],
563
- ],
564
- multiple && [
565
- classes.input,
566
- chip && classes.chip,
567
- open && classes.open,
568
- readOnly && classes.readOnly
569
- ]
570
- ]) }, { children: renderValues(value, onUnselect) }))), !noInputValue && multiple && chip && !!value.length && renderValues(value, onUnselect)] })), (0, jsx_runtime_1.jsx)(Menu, Object.assign({ ref: refs.menu, open: open && !!(menuItems === null || menuItems === void 0 ? void 0 : menuItems.length), autoSelectOnBlur: autoSelectOnBlur, portal: true, onClose: () => onClose(false), anchorElement: refs.root.current, onExited: onExited, menuItems: menuItems, transformOrigin: 'center top', transformOriginSwitch: 'center bottom', maxWidth: 'unset', AppendProps: {
571
- alignment: 'start'
572
- }, ModalProps: {
573
- // focus: !MenuProps.portal
574
- freezeScroll: false
575
- }, ListProps: Object.assign(Object.assign({ menu: true, paddingVertical: ((0, utils_1.is)('function', groupBy) && !!options.length) ? 'none' : undefined, size, role: 'listbox', id: refs.ids.list, 'aria-label': label }, ListProps), { className: (0, style_react_1.classNames)([
576
- ListProps === null || ListProps === void 0 ? void 0 : ListProps.className,
577
- classes.list
578
- ]) }) }, MenuProps, { style: Object.assign(Object.assign({}, styles.menu), MenuProps === null || MenuProps === void 0 ? void 0 : MenuProps.menu), className: (0, style_react_1.classNames)([
579
- MenuProps === null || MenuProps === void 0 ? void 0 : MenuProps.className
580
- ]) }))] })));
574
+ }, /*#__PURE__*/_react.default.createElement(ListSubheader, {
575
+ Component: "div"
576
+ }, item), /*#__PURE__*/_react.default.createElement(List, {
577
+ size: size,
578
+ paddingVertical: "none",
579
+ menu: true
580
+ }, renderOptionValue(groups[item]))));
581
+ } else return renderOptionValue(optionsToUse);
582
+ };
583
+ const endIcons = [end, ...(!readOnly ? [...(loading ? [/*#__PURE__*/_react.default.createElement(RoundProgress, {
584
+ key: 1,
585
+ className: classes.roundProgress,
586
+ size: "small"
587
+ })] : []), ...(clear ? [!!(multiple ? value.length : valueInput) && /*#__PURE__*/_react.default.createElement(IconButton, (0, _extends2.default)({
588
+ onClick: onClear,
589
+ size: "small",
590
+ fontSize: _utils2.iconFontSize,
591
+ "aria-label": l('Input clear')
592
+ }, IconButtonProps), /*#__PURE__*/_react.default.createElement(IconClear, IconProps))] : []), /*#__PURE__*/_react.default.createElement(IconButton, (0, _extends2.default)({
593
+ key: 3,
594
+ onClick: onClickArrowDown,
595
+ size: "small",
596
+ fontSize: _utils2.iconFontSize,
597
+ "aria-expanded": open,
598
+ "aria-controls": refs.ids.list,
599
+ InteractionProps: {
600
+ clear: !!(multiple ? value.length : valueInput)
601
+ }
602
+ }, IconButtonProps), /*#__PURE__*/_react.default.createElement(IconDropdown, (0, _extends2.default)({}, IconProps, {
603
+ className: (0, _styleReact.classNames)([IconProps === null || IconProps === void 0 ? void 0 : IconProps.className, classes.arrow, open && classes.arrow_open])
604
+ })))] : [])].filter(Boolean);
605
+ if (mouseDown) refs.input.current.focus();
606
+ const menuItems = renderList();
607
+ return /*#__PURE__*/_react.default.createElement(Line, (0, _extends2.default)({
608
+ ref: refs.wrapper,
609
+ gap: 0,
610
+ direction: "column",
611
+ fullWidth: fullWidth
612
+ }, WrapperProps, {
613
+ className: (0, _styleReact.classNames)([(0, _utils2.staticClassName)('AutoComplete', theme) && ['onesy-AutoComplete-wrapper', fullWidth && 'onesy-full-width'], WrapperProps === null || WrapperProps === void 0 ? void 0 : WrapperProps.className, classes.wrapper])
614
+ }), /*#__PURE__*/_react.default.createElement(TextField, (0, _extends2.default)({
615
+ ref: refs.input,
616
+ rootRef: item => {
617
+ if (ref) {
618
+ if ((0, _utils.is)('function', ref)) ref(item);else ref.current = item;
619
+ }
620
+ refs.root.current = item;
621
+ },
622
+ onBlur: onBlur,
623
+ onFocus: onFocus,
624
+ value: valueInput,
625
+ onChange: onChangeInput,
626
+ enabled: open || focus || mouseDown || !!(multiple ? !!value.length || valueInput : valueInput),
627
+ focus: open || focus || mouseDown,
628
+ className: (0, _styleReact.classNames)([(0, _utils2.staticClassName)('AutoComplete', theme) && ['onesy-AutoComplete-root', `onesy-AutoComplete-version-${version}`, `onesy-AutoComplete-size-${size}`, open && `onesy-AutoComplete-open`, mouseDown && `onesy-AutoComplete-mouse-down`, focus && `onesy-AutoComplete-focus`, loading && `onesy-AutoComplete-loading`], className, classes.root, open && classes.open, disabled && classes.disabled]),
629
+ tonal: tonal,
630
+ color: color,
631
+ size: size,
632
+ version: version,
633
+ label: label,
634
+ prefix: prefix,
635
+ sufix: sufix,
636
+ start: start,
637
+ end: endIcons,
638
+ readOnly: readOnly,
639
+ endVerticalAlign: "center",
640
+ role: "combobox",
641
+ "aria-autocomplete": "list",
642
+ "aria-multiselectable": multiple,
643
+ "aria-controls": refs.ids.list,
644
+ "aria-expanded": open,
645
+ "aria-haspopup": "listbox",
646
+ "aria-labelledby": label,
647
+ "aria-disabled": disabled,
648
+ fullWidth: fullWidth,
649
+ disabled: disabled,
650
+ InputWrapperProps: {
651
+ className: (0, _styleReact.classNames)([(0, _utils2.staticClassName)('AutoComplete', theme) && ['onesy-AutoComplete-input-wrapper'], classes.inputWrapper, multiple && [classes.multiple, classes[`inputWrapper_multiple_size_${size}`]], chip && classes.chip, open && classes.open, readOnly && classes.readOnly]),
652
+ onMouseDown,
653
+ onMouseUp,
654
+ onClick,
655
+ onKeyDown: onEnterKeyDown
656
+ },
657
+ inputProps: _objectSpread(_objectSpread({
658
+ disabled: multiple,
659
+ readOnly: multiple
660
+ }, InputProps), {}, {
661
+ className: (0, _styleReact.classNames)([InputProps === null || InputProps === void 0 ? void 0 : InputProps.className, multiple && classes.input_])
662
+ }),
663
+ style: _objectSpread(_objectSpread({}, styles.root), style)
664
+ }, other), !noInputValue && multiple && !chip && !!value.length && /*#__PURE__*/_react.default.createElement("div", {
665
+ ref: refs.value,
666
+ tabIndex: 0,
667
+ onFocus: onFocus,
668
+ onBlur: onBlur,
669
+ onMouseDown: onMouseDown,
670
+ onKeyDown: onEnterKeyDown,
671
+ className: (0, _styleReact.classNames)([(0, _utils2.staticClassName)('AutoComplete', theme) && ['onesy-AutoComplete-input', multiple && [chip && `onesy-AutoComplete-chip`, open && `onesy-AutoComplete-open`, readOnly && `onesy-Select-readOnly`]], multiple && [classes.input, chip && classes.chip, open && classes.open, readOnly && classes.readOnly]])
672
+ }, renderValues(value, onUnselect)), !noInputValue && multiple && chip && !!value.length && renderValues(value, onUnselect)), /*#__PURE__*/_react.default.createElement(Menu, (0, _extends2.default)({
673
+ ref: refs.menu,
674
+ open: open && !!(menuItems !== null && menuItems !== void 0 && menuItems.length),
675
+ autoSelectOnBlur: autoSelectOnBlur,
676
+ portal: true,
677
+ onClose: () => onClose(false),
678
+ anchorElement: refs.root.current,
679
+ onExited: onExited,
680
+ menuItems: menuItems,
681
+ transformOrigin: "center top",
682
+ transformOriginSwitch: "center bottom",
683
+ maxWidth: "unset",
684
+ AppendProps: {
685
+ alignment: 'start'
686
+ },
687
+ ModalProps: {
688
+ // focus: !MenuProps.portal
689
+
690
+ freezeScroll: false
691
+ },
692
+ ListProps: _objectSpread(_objectSpread({
693
+ menu: true,
694
+ paddingVertical: (0, _utils.is)('function', groupBy) && !!options.length ? 'none' : undefined,
695
+ size,
696
+ role: 'listbox',
697
+ id: refs.ids.list,
698
+ 'aria-label': label
699
+ }, ListProps), {}, {
700
+ className: (0, _styleReact.classNames)([ListProps === null || ListProps === void 0 ? void 0 : ListProps.className, classes.list])
701
+ })
702
+ }, MenuProps, {
703
+ style: _objectSpread(_objectSpread({}, styles.menu), MenuProps === null || MenuProps === void 0 ? void 0 : MenuProps.menu),
704
+ className: (0, _styleReact.classNames)([MenuProps === null || MenuProps === void 0 ? void 0 : MenuProps.className])
705
+ })));
581
706
  });
582
707
  AutoComplete.displayName = 'onesy-AutoComplete';
583
- exports.default = AutoComplete;
708
+ var _default = exports.default = AutoComplete;