@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
package/Switch/Switch.js CHANGED
@@ -1,544 +1,700 @@
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 Keyframes_1 = __importDefault(require("../Keyframes"));
22
- const IconButton_1 = __importDefault(require("../IconButton"));
23
- const utils_2 = require("../utils");
24
- const useStyle = (0, style_react_1.style)(theme => ({
25
- root: {
26
- position: 'relative',
27
- display: 'inline-flex',
28
- cursor: 'pointer',
29
- transition: theme.methods.transitions.make('box-shadow'),
30
- '&:focus-visible': {
31
- boxShadow: `0px 0px 0px 1px ${theme.palette.text.default.primary}`
32
- }
33
- },
34
- input: {
35
- position: 'absolute',
36
- inset: '0',
37
- width: '100%',
38
- height: '100%',
39
- opacity: '0',
40
- cursor: 'inherit',
41
- zIndex: '1'
42
- },
43
- // Color
44
- color_default: { color: theme.palette.text.default.primary },
45
- color_themed: { color: theme.palette.text.default.primary },
46
- color_inverted: { color: theme.palette.background.default.primary },
47
- color_neutral: { color: theme.palette.color.neutral.main },
48
- color_primary: { color: theme.palette.color.primary.main },
49
- color_secondary: { color: theme.palette.color.secondary.main },
50
- color_tertiary: { color: theme.palette.color.tertiary.main },
51
- color_quaternary: { color: theme.palette.color.quaternary.main },
52
- color_info: { color: theme.palette.color.info.main },
53
- color_success: { color: theme.palette.color.success.main },
54
- color_warning: { color: theme.palette.color.warning.main },
55
- color_error: { color: theme.palette.color.error.main },
56
- // Tonal
57
- tonal_color_neutral: { color: theme.methods.palette.color.value('neutral', 60) },
58
- tonal_color_primary: { color: theme.methods.palette.color.value('primary', 60) },
59
- tonal_color_secondary: { color: theme.methods.palette.color.value('secondary', 60) },
60
- tonal_color_tertiary: { color: theme.methods.palette.color.value('tertiary', 60) },
61
- tonal_color_quaternary: { color: theme.methods.palette.color.value('quaternary', 60) },
62
- tonal_color_info: { color: theme.methods.palette.color.value('info', 60) },
63
- tonal_color_success: { color: theme.methods.palette.color.value('success', 60) },
64
- tonal_color_warning: { color: theme.methods.palette.color.value('warning', 60) },
65
- tonal_color_error: { color: theme.methods.palette.color.value('error', 60) },
66
- size_small: {
67
- height: '24px',
68
- width: '44px',
69
- borderRadius: `${theme.shape.radius.unit * 1.5}px`
70
- },
71
- size_regular: {
72
- height: '32px',
73
- width: '52px',
74
- borderRadius: `${theme.shape.radius.unit * 2}px`
75
- },
76
- size_large: {
77
- height: '40px',
78
- width: '60px',
79
- borderRadius: `${theme.shape.radius.unit * 2.5}px`
80
- },
81
- background: {
82
- display: 'inline-flex',
83
- position: 'absolute',
84
- inset: '0',
85
- width: '100%',
86
- height: '100%',
87
- borderRadius: 'inherit',
88
- transition: theme.methods.transitions.make(['opacity', 'background'], { duration: 'sm' })
89
- },
90
- border: {
91
- display: 'inline-flex',
92
- position: 'absolute',
93
- inset: '0',
94
- width: '100%',
95
- height: '100%',
96
- border: `2px solid`,
97
- borderColor: theme.palette.text.default.secondary,
98
- boxSizing: 'border-box',
99
- borderRadius: 'inherit',
100
- transition: theme.methods.transitions.make(['opacity'], { duration: 'sm' })
101
- },
102
- // Tonal
103
- border_tonal_color_neutral: { borderColor: theme.palette.color['neutral'][theme.palette.light ? 40 : 20] },
104
- border_tonal_color_primary: { borderColor: theme.palette.color['primary'][theme.palette.light ? 40 : 20] },
105
- border_tonal_color_secondary: { borderColor: theme.palette.color['secondary'][theme.palette.light ? 40 : 20] },
106
- border_tonal_color_tertiary: { borderColor: theme.palette.color['tertiary'][theme.palette.light ? 40 : 20] },
107
- border_tonal_color_quaternary: { borderColor: theme.palette.color['quaternary'][theme.palette.light ? 40 : 20] },
108
- border_tonal_color_info: { borderColor: theme.palette.color['info'][theme.palette.light ? 40 : 20] },
109
- border_tonal_color_success: { borderColor: theme.palette.color['success'][theme.palette.light ? 40 : 20] },
110
- border_tonal_color_warning: { borderColor: theme.palette.color['warning'][theme.palette.light ? 40 : 20] },
111
- border_tonal_color_error: { borderColor: theme.palette.color['error'][theme.palette.light ? 40 : 20] },
112
- iconButton: {
113
- position: 'absolute',
114
- top: '50%'
115
- },
116
- icon: {
117
- display: 'inline-flex',
118
- alignItems: 'center',
119
- justifyContent: 'center',
120
- width: '1em',
121
- height: '1em',
122
- background: 'currentColor',
123
- borderRadius: `calc(${theme.shape.radius.unit / 8} * 0.5em)`,
124
- transition: theme.methods.transitions.make('background')
125
- },
126
- disabled: {
127
- cursor: 'default',
128
- opacity: theme.palette.light ? theme.palette.visual_contrast.default.opacity.disabled : '1',
129
- pointerEvents: 'none'
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 _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));
10
+ var _objectWithoutProperties2 = _interopRequireDefault(require("@babel/runtime/helpers/objectWithoutProperties"));
11
+ var _react = _interopRequireDefault(require("react"));
12
+ var _utils = require("@onesy/utils");
13
+ var _styleReact = require("@onesy/style-react");
14
+ var _Keyframes = _interopRequireDefault(require("../Keyframes"));
15
+ var _IconButton = _interopRequireDefault(require("../IconButton"));
16
+ var _utils2 = require("../utils");
17
+ const _excluded = ["size", "style", "children"],
18
+ _excluded2 = ["tonal", "color", "size", "inputRef", "valueDefault", "checkedDefault", "value", "checked", "onChange", "OnIcon", "OffIcon", "disabled", "Component", "className", "style", "children", "version", "colorUnchecked"];
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
+ position: 'relative',
24
+ display: 'inline-flex',
25
+ cursor: 'pointer',
26
+ transition: theme.methods.transitions.make('box-shadow'),
27
+ '&:focus-visible': {
28
+ boxShadow: `0px 0px 0px 1px ${theme.palette.text.default.primary}`
130
29
  }
131
- }), { name: 'onesy-Switch' });
132
- const Icon = (props) => {
133
- const { size, style, children } = props, other = __rest(props, ["size", "style", "children"]);
134
- let fontSize = 24;
135
- if (size === 'very small')
136
- fontSize = 12;
137
- else if (size === 'small')
138
- fontSize = 18;
139
- else if (size === 'regular')
140
- fontSize = 24;
141
- else if (size === 'medium')
142
- fontSize = 30;
143
- else if (size === 'large')
144
- fontSize = 38;
145
- else if (size === 'very large')
146
- fontSize = 42;
147
- else if (size !== undefined)
148
- fontSize = size;
149
- return ((0, jsx_runtime_1.jsx)("span", Object.assign({ style: Object.assign(Object.assign({}, style), { fontSize }) }, other, { children: children && react_1.default.cloneElement(children, { size: fontSize / 1.5 }) })));
30
+ },
31
+ input: {
32
+ position: 'absolute',
33
+ inset: '0',
34
+ width: '100%',
35
+ height: '100%',
36
+ opacity: '0',
37
+ cursor: 'inherit',
38
+ zIndex: '1'
39
+ },
40
+ // Color
41
+ color_default: {
42
+ color: theme.palette.text.default.primary
43
+ },
44
+ color_themed: {
45
+ color: theme.palette.text.default.primary
46
+ },
47
+ color_inverted: {
48
+ color: theme.palette.background.default.primary
49
+ },
50
+ color_neutral: {
51
+ color: theme.palette.color.neutral.main
52
+ },
53
+ color_primary: {
54
+ color: theme.palette.color.primary.main
55
+ },
56
+ color_secondary: {
57
+ color: theme.palette.color.secondary.main
58
+ },
59
+ color_tertiary: {
60
+ color: theme.palette.color.tertiary.main
61
+ },
62
+ color_quaternary: {
63
+ color: theme.palette.color.quaternary.main
64
+ },
65
+ color_info: {
66
+ color: theme.palette.color.info.main
67
+ },
68
+ color_success: {
69
+ color: theme.palette.color.success.main
70
+ },
71
+ color_warning: {
72
+ color: theme.palette.color.warning.main
73
+ },
74
+ color_error: {
75
+ color: theme.palette.color.error.main
76
+ },
77
+ // Tonal
78
+ tonal_color_neutral: {
79
+ color: theme.methods.palette.color.value('neutral', 60)
80
+ },
81
+ tonal_color_primary: {
82
+ color: theme.methods.palette.color.value('primary', 60)
83
+ },
84
+ tonal_color_secondary: {
85
+ color: theme.methods.palette.color.value('secondary', 60)
86
+ },
87
+ tonal_color_tertiary: {
88
+ color: theme.methods.palette.color.value('tertiary', 60)
89
+ },
90
+ tonal_color_quaternary: {
91
+ color: theme.methods.palette.color.value('quaternary', 60)
92
+ },
93
+ tonal_color_info: {
94
+ color: theme.methods.palette.color.value('info', 60)
95
+ },
96
+ tonal_color_success: {
97
+ color: theme.methods.palette.color.value('success', 60)
98
+ },
99
+ tonal_color_warning: {
100
+ color: theme.methods.palette.color.value('warning', 60)
101
+ },
102
+ tonal_color_error: {
103
+ color: theme.methods.palette.color.value('error', 60)
104
+ },
105
+ size_small: {
106
+ height: '24px',
107
+ width: '44px',
108
+ borderRadius: `${theme.shape.radius.unit * 1.5}px`
109
+ },
110
+ size_regular: {
111
+ height: '32px',
112
+ width: '52px',
113
+ borderRadius: `${theme.shape.radius.unit * 2}px`
114
+ },
115
+ size_large: {
116
+ height: '40px',
117
+ width: '60px',
118
+ borderRadius: `${theme.shape.radius.unit * 2.5}px`
119
+ },
120
+ background: {
121
+ display: 'inline-flex',
122
+ position: 'absolute',
123
+ inset: '0',
124
+ width: '100%',
125
+ height: '100%',
126
+ borderRadius: 'inherit',
127
+ transition: theme.methods.transitions.make(['opacity', 'background'], {
128
+ duration: 'sm'
129
+ })
130
+ },
131
+ border: {
132
+ display: 'inline-flex',
133
+ position: 'absolute',
134
+ inset: '0',
135
+ width: '100%',
136
+ height: '100%',
137
+ border: `2px solid`,
138
+ borderColor: theme.palette.text.default.secondary,
139
+ boxSizing: 'border-box',
140
+ borderRadius: 'inherit',
141
+ transition: theme.methods.transitions.make(['opacity'], {
142
+ duration: 'sm'
143
+ })
144
+ },
145
+ // Tonal
146
+ border_tonal_color_neutral: {
147
+ borderColor: theme.palette.color['neutral'][theme.palette.light ? 40 : 20]
148
+ },
149
+ border_tonal_color_primary: {
150
+ borderColor: theme.palette.color['primary'][theme.palette.light ? 40 : 20]
151
+ },
152
+ border_tonal_color_secondary: {
153
+ borderColor: theme.palette.color['secondary'][theme.palette.light ? 40 : 20]
154
+ },
155
+ border_tonal_color_tertiary: {
156
+ borderColor: theme.palette.color['tertiary'][theme.palette.light ? 40 : 20]
157
+ },
158
+ border_tonal_color_quaternary: {
159
+ borderColor: theme.palette.color['quaternary'][theme.palette.light ? 40 : 20]
160
+ },
161
+ border_tonal_color_info: {
162
+ borderColor: theme.palette.color['info'][theme.palette.light ? 40 : 20]
163
+ },
164
+ border_tonal_color_success: {
165
+ borderColor: theme.palette.color['success'][theme.palette.light ? 40 : 20]
166
+ },
167
+ border_tonal_color_warning: {
168
+ borderColor: theme.palette.color['warning'][theme.palette.light ? 40 : 20]
169
+ },
170
+ border_tonal_color_error: {
171
+ borderColor: theme.palette.color['error'][theme.palette.light ? 40 : 20]
172
+ },
173
+ iconButton: {
174
+ position: 'absolute',
175
+ top: '50%'
176
+ },
177
+ icon: {
178
+ display: 'inline-flex',
179
+ alignItems: 'center',
180
+ justifyContent: 'center',
181
+ width: '1em',
182
+ height: '1em',
183
+ background: 'currentColor',
184
+ borderRadius: `calc(${theme.shape.radius.unit / 8} * 0.5em)`,
185
+ transition: theme.methods.transitions.make('background')
186
+ },
187
+ disabled: {
188
+ cursor: 'default',
189
+ opacity: theme.palette.light ? theme.palette.visual_contrast.default.opacity.disabled : '1',
190
+ pointerEvents: 'none'
191
+ }
192
+ }), {
193
+ name: 'onesy-Switch'
194
+ });
195
+ const Icon = props => {
196
+ const {
197
+ size,
198
+ style,
199
+ children
200
+ } = props,
201
+ other = (0, _objectWithoutProperties2.default)(props, _excluded);
202
+ let fontSize = 24;
203
+ if (size === 'very small') fontSize = 12;else if (size === 'small') fontSize = 18;else if (size === 'regular') fontSize = 24;else if (size === 'medium') fontSize = 30;else if (size === 'large') fontSize = 38;else if (size === 'very large') fontSize = 42;else if (size !== undefined) fontSize = size;
204
+ return /*#__PURE__*/_react.default.createElement("span", (0, _extends2.default)({
205
+ style: _objectSpread(_objectSpread({}, style), {}, {
206
+ fontSize
207
+ })
208
+ }, other), children && /*#__PURE__*/_react.default.cloneElement(children, {
209
+ size: fontSize / 1.5
210
+ }));
150
211
  };
151
- const Switch = react_1.default.forwardRef((props_, ref) => {
152
- const theme = (0, style_react_1.useOnesyTheme)();
153
- 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.onesySwitch) === null || _g === void 0 ? void 0 : _g.props) === null || _h === void 0 ? void 0 : _h.default), props_)); }, [props_]);
154
- const Keyframes = react_1.default.useMemo(() => { var _a; return ((_a = theme === null || theme === void 0 ? void 0 : theme.elements) === null || _a === void 0 ? void 0 : _a.Keyframes) || Keyframes_1.default; }, [theme]);
155
- 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]);
156
- const { tonal: tonal_ = true, color: color_ = 'primary', size = 'regular', inputRef, valueDefault: valueDefault_, checkedDefault: checkedDefault_, value: value_, checked: checked_, onChange, OnIcon, OffIcon, disabled, Component = 'span', className, style, children,
157
- // Other
158
- version: version_, colorUnchecked } = props, other = __rest(props, ["tonal", "color", "size", "inputRef", "valueDefault", "checkedDefault", "value", "checked", "onChange", "OnIcon", "OffIcon", "disabled", "Component", "className", "style", "children", "version", "colorUnchecked"]);
159
- const { classes } = useStyle();
160
- const checkedDefault = valueDefault_ !== undefined ? valueDefault_ : checkedDefault_;
161
- const checked = value_ !== undefined ? value_ : checked_;
162
- const [value, setValue] = react_1.default.useState((checkedDefault !== undefined ? checkedDefault : checked) || false);
163
- const refs = {
164
- value: react_1.default.useRef(undefined),
165
- input: react_1.default.useRef(undefined),
166
- animation: react_1.default.useRef(undefined)
167
- };
168
- refs.value.current = value;
169
- let color = color_;
170
- let tonal = tonal_;
171
- if (disabled) {
172
- color = 'neutral';
173
- tonal = true;
212
+ const Switch = /*#__PURE__*/_react.default.forwardRef((props_, ref) => {
213
+ const theme = (0, _styleReact.useOnesyTheme)();
214
+ const props = _react.default.useMemo(() => {
215
+ var _theme$ui, _theme$ui2;
216
+ 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.onesySwitch) === null || _theme$ui2 === void 0 || (_theme$ui2 = _theme$ui2.props) === null || _theme$ui2 === void 0 ? void 0 : _theme$ui2.default), props_);
217
+ }, [props_]);
218
+ const Keyframes = _react.default.useMemo(() => {
219
+ var _theme$elements;
220
+ return (theme === null || theme === void 0 || (_theme$elements = theme.elements) === null || _theme$elements === void 0 ? void 0 : _theme$elements.Keyframes) || _Keyframes.default;
221
+ }, [theme]);
222
+ const IconButton = _react.default.useMemo(() => {
223
+ var _theme$elements2;
224
+ return (theme === null || theme === void 0 || (_theme$elements2 = theme.elements) === null || _theme$elements2 === void 0 ? void 0 : _theme$elements2.IconButton) || _IconButton.default;
225
+ }, [theme]);
226
+ const {
227
+ tonal: tonal_ = true,
228
+ color: color_ = 'primary',
229
+ size = 'regular',
230
+ inputRef,
231
+ valueDefault: valueDefault_,
232
+ checkedDefault: checkedDefault_,
233
+ value: value_,
234
+ checked: checked_,
235
+ onChange,
236
+ OnIcon,
237
+ OffIcon,
238
+ disabled,
239
+ Component = 'span',
240
+ className,
241
+ style,
242
+ children,
243
+ // Other
244
+ version: version_,
245
+ colorUnchecked
246
+ } = props,
247
+ other = (0, _objectWithoutProperties2.default)(props, _excluded2);
248
+ const {
249
+ classes
250
+ } = useStyle();
251
+ const checkedDefault = valueDefault_ !== undefined ? valueDefault_ : checkedDefault_;
252
+ const checked = value_ !== undefined ? value_ : checked_;
253
+ const [value, setValue] = _react.default.useState((checkedDefault !== undefined ? checkedDefault : checked) || false);
254
+ const refs = {
255
+ value: _react.default.useRef(undefined),
256
+ input: _react.default.useRef(undefined),
257
+ animation: _react.default.useRef(undefined)
258
+ };
259
+ refs.value.current = value;
260
+ let color = color_;
261
+ let tonal = tonal_;
262
+ if (disabled) {
263
+ color = 'neutral';
264
+ tonal = true;
265
+ }
266
+ const styles = {
267
+ root: {},
268
+ border: {},
269
+ background: {},
270
+ iconButton: {}
271
+ };
272
+ _react.default.useEffect(() => {
273
+ if (checked !== undefined && checked !== refs.value.current) {
274
+ setValue(checked);
275
+ refs.animation.current = true;
174
276
  }
175
- const styles = {
176
- root: {},
177
- border: {},
178
- background: {},
179
- iconButton: {}
180
- };
181
- react_1.default.useEffect(() => {
182
- if (checked !== undefined && checked !== refs.value.current) {
183
- setValue(checked);
184
- refs.animation.current = true;
277
+ }, [checked]);
278
+ const onUpdate = event => {
279
+ if (!disabled && !refs.animation.current) {
280
+ // Inner controlled value
281
+ if (!props.hasOwnProperty('checked')) {
282
+ setValue(event.target.checked);
283
+ refs.animation.current = true;
284
+ }
285
+ if ((0, _utils.is)('function', onChange)) onChange(event.target.checked, event);
286
+ }
287
+ };
288
+ let palette;
289
+ if (!theme.palette.color[color] && !['themed', 'inverted', 'default', 'inherit'].includes(color)) {
290
+ palette = theme.methods.color(color);
291
+ styles.root.color = color;
292
+ }
293
+ const keyframes = {
294
+ checked: [{
295
+ name: 'growStart',
296
+ timeout: 240
297
+ }, {
298
+ name: 'waitStart',
299
+ timeout: 0
300
+ }, {
301
+ name: 'moveEnd',
302
+ timeout: 70
303
+ }, {
304
+ name: 'doneEnd',
305
+ timeout: 100
306
+ }],
307
+ unchecked: [{
308
+ name: 'growEnd',
309
+ timeout: 240
310
+ }, {
311
+ name: 'waitEnd',
312
+ timeout: 0
313
+ }, {
314
+ name: 'moveStart',
315
+ timeout: 70
316
+ }, {
317
+ name: 'doneStart',
318
+ timeout: 100
319
+ }]
320
+ };
321
+ const ltrSign = (item = '') => {
322
+ if (theme.direction === 'ltr') return item;
323
+ return !item ? '-' : '';
324
+ };
325
+ const sizes = (version, element) => {
326
+ if (element === 'iconButton') {
327
+ switch (version) {
328
+ case 'unchecked':
329
+ if (size === 'small') return `translate(${ltrSign('-')}3px, -50%)`;
330
+ if (size === 'large') return `translate(${ltrSign('-')}5px, -50%)`;
331
+ return `translate(${ltrSign('-')}4px, -50%)`;
332
+ case 'grow-start':
333
+ if (size === 'small') return `translate(${ltrSign('-')}3px, -50%)`;
334
+ if (size === 'large') return `translate(${ltrSign('-')}5px, -50%)`;
335
+ return `translate(${ltrSign('-')}4px, -50%)`;
336
+ case 'move-end':
337
+ if (size === 'small') return `translate(${ltrSign()}11px, -50%)`;
338
+ if (size === 'large') return `translate(${ltrSign()}11px, -50%)`;
339
+ return `translate(${ltrSign()}11px, -50%)`;
340
+ case 'grow-end':
341
+ if (size === 'small') return `translate(${ltrSign()}17px, -50%)`;
342
+ if (size === 'large') return `translate(${ltrSign()}16px, -50%)`;
343
+ return `translate(${ltrSign()}16px, -50%)`;
344
+ case 'move-start':
345
+ if (size === 'small') return `translate(${ltrSign()}1px, -50%)`;
346
+ if (size === 'large') return `translate(${ltrSign()}1px, -50%)`;
347
+ return `translate(${ltrSign()}1px, -50%)`;
348
+ case 'checked':
349
+ if (size === 'small') return `translate(${ltrSign()}16px, -50%)`;
350
+ if (size === 'large') return `translate(${ltrSign()}16px, -50%)`;
351
+ return `translate(${ltrSign()}16px, -50%)`;
352
+ default:
353
+ break;
354
+ }
355
+ } else {
356
+ switch (version) {
357
+ case 'unchecked':
358
+ if (OffIcon) {
359
+ if (size === 'small') return 'scale(1)';
360
+ if (size === 'large') return 'scale(1)';
361
+ return 'scale(1)';
362
+ }
363
+ if (size === 'small') return 'scale(0.6665)';
364
+ if (size === 'large') return 'scale(0.6665)';
365
+ return 'scale(0.6665)';
366
+ case 'grow-start':
367
+ if (size === 'small') return 'scale(1.116)';
368
+ if (size === 'large') return 'scale(1.2)';
369
+ return 'scale(1.1665)';
370
+ case 'move-end':
371
+ if (size === 'small') return {
372
+ transform: 'scale(1)',
373
+ width: 24
374
+ };
375
+ if (size === 'large') return {
376
+ transform: 'scale(1)',
377
+ width: 41
378
+ };
379
+ return {
380
+ transform: 'scale(1)',
381
+ width: 33
382
+ };
383
+ case 'grow-end':
384
+ if (size === 'small') return 'scale(1.116)';
385
+ if (size === 'large') return 'scale(1.2)';
386
+ return 'scale(1.1665)';
387
+ case 'move-start':
388
+ if (OffIcon) {
389
+ if (size === 'small') return {
390
+ transform: 'scale(1)',
391
+ width: 24
392
+ };
393
+ if (size === 'large') return {
394
+ transform: 'scale(1)',
395
+ width: 41
396
+ };
397
+ return {
398
+ transform: 'scale(1)',
399
+ width: 33
400
+ };
401
+ }
402
+ if (size === 'small') return {
403
+ transform: 'scale(0.6665)',
404
+ width: 24
405
+ };
406
+ if (size === 'large') return {
407
+ transform: 'scale(0.6665)',
408
+ width: 41
409
+ };
410
+ return {
411
+ transform: 'scale(0.6665)',
412
+ width: 33
413
+ };
414
+ case 'checked':
415
+ if (size === 'small') return 'scale(1)';
416
+ if (size === 'large') return 'scale(1)';
417
+ return 'scale(1)';
418
+ default:
419
+ break;
420
+ }
421
+ }
422
+ };
423
+ const initial = () => {
424
+ const paletteColor = theme.palette.color[color] || palette || theme.palette.color.neutral;
425
+ const dynamicBackgroundColor = tonal ? paletteColor[theme.palette.light ? 95 : 10] : theme.methods.palette.color.text(color === 'default' ? theme.palette.color.neutral.main : (palette || theme.palette.color[color]).main, true, 'light');
426
+ return {
427
+ background: {
428
+ checked: {
429
+ opacity: 1,
430
+ background: 'currentColor'
431
+ },
432
+ unchecked: {
433
+ background: theme.methods.palette.color.value(color, 95, true, paletteColor)
185
434
  }
186
- }, [checked]);
187
- const onUpdate = (event) => {
188
- if (!disabled && !refs.animation.current) {
189
- // Inner controlled value
190
- if (!props.hasOwnProperty('checked')) {
191
- setValue(event.target.checked);
192
- refs.animation.current = true;
193
- }
194
- if ((0, utils_1.is)('function', onChange))
195
- onChange(event.target.checked, event);
435
+ },
436
+ border: {
437
+ checked: {
438
+ opacity: 0
439
+ },
440
+ unchecked: {
441
+ opacity: 1
196
442
  }
197
- };
198
- let palette;
199
- if (!theme.palette.color[color] && !['themed', 'inverted', 'default', 'inherit'].includes(color)) {
200
- palette = theme.methods.color(color);
201
- styles.root.color = color;
202
- }
203
- const keyframes = {
204
- checked: [
205
- { name: 'growStart', timeout: 240 },
206
- { name: 'waitStart', timeout: 0 },
207
- { name: 'moveEnd', timeout: 70 },
208
- { name: 'doneEnd', timeout: 100 }
209
- ],
210
- unchecked: [
211
- { name: 'growEnd', timeout: 240 },
212
- { name: 'waitEnd', timeout: 0 },
213
- { name: 'moveStart', timeout: 70 },
214
- { name: 'doneStart', timeout: 100 }
215
- ]
216
- };
217
- const ltrSign = (item = '') => {
218
- if (theme.direction === 'ltr')
219
- return item;
220
- return !item ? '-' : '';
221
- };
222
- const sizes = (version, element) => {
223
- if (element === 'iconButton') {
224
- switch (version) {
225
- case 'unchecked':
226
- if (size === 'small')
227
- return `translate(${ltrSign('-')}3px, -50%)`;
228
- if (size === 'large')
229
- return `translate(${ltrSign('-')}5px, -50%)`;
230
- return `translate(${ltrSign('-')}4px, -50%)`;
231
- case 'grow-start':
232
- if (size === 'small')
233
- return `translate(${ltrSign('-')}3px, -50%)`;
234
- if (size === 'large')
235
- return `translate(${ltrSign('-')}5px, -50%)`;
236
- return `translate(${ltrSign('-')}4px, -50%)`;
237
- case 'move-end':
238
- if (size === 'small')
239
- return `translate(${ltrSign()}11px, -50%)`;
240
- if (size === 'large')
241
- return `translate(${ltrSign()}11px, -50%)`;
242
- return `translate(${ltrSign()}11px, -50%)`;
243
- case 'grow-end':
244
- if (size === 'small')
245
- return `translate(${ltrSign()}17px, -50%)`;
246
- if (size === 'large')
247
- return `translate(${ltrSign()}16px, -50%)`;
248
- return `translate(${ltrSign()}16px, -50%)`;
249
- case 'move-start':
250
- if (size === 'small')
251
- return `translate(${ltrSign()}1px, -50%)`;
252
- if (size === 'large')
253
- return `translate(${ltrSign()}1px, -50%)`;
254
- return `translate(${ltrSign()}1px, -50%)`;
255
- case 'checked':
256
- if (size === 'small')
257
- return `translate(${ltrSign()}16px, -50%)`;
258
- if (size === 'large')
259
- return `translate(${ltrSign()}16px, -50%)`;
260
- return `translate(${ltrSign()}16px, -50%)`;
261
- default:
262
- break;
263
- }
443
+ },
444
+ iconButton: {
445
+ checked: {
446
+ transform: sizes('checked', 'iconButton'),
447
+ color: color === 'default' ? theme.palette.color.neutral.main : !tonal ? paletteColor.main : 'currentColor'
448
+ },
449
+ unchecked: {
450
+ transform: sizes('unchecked', 'iconButton'),
451
+ color: color === 'default' ? theme.palette.color.neutral.main : !tonal ? theme.palette.text.default.secondary : paletteColor[theme.palette.light ? 40 : 20]
264
452
  }
265
- else {
266
- switch (version) {
267
- case 'unchecked':
268
- if (OffIcon) {
269
- if (size === 'small')
270
- return 'scale(1)';
271
- if (size === 'large')
272
- return 'scale(1)';
273
- return 'scale(1)';
274
- }
275
- if (size === 'small')
276
- return 'scale(0.6665)';
277
- if (size === 'large')
278
- return 'scale(0.6665)';
279
- return 'scale(0.6665)';
280
- case 'grow-start':
281
- if (size === 'small')
282
- return 'scale(1.116)';
283
- if (size === 'large')
284
- return 'scale(1.2)';
285
- return 'scale(1.1665)';
286
- case 'move-end':
287
- if (size === 'small')
288
- return {
289
- transform: 'scale(1)',
290
- width: 24
291
- };
292
- if (size === 'large')
293
- return {
294
- transform: 'scale(1)',
295
- width: 41
296
- };
297
- return {
298
- transform: 'scale(1)',
299
- width: 33
300
- };
301
- case 'grow-end':
302
- if (size === 'small')
303
- return 'scale(1.116)';
304
- if (size === 'large')
305
- return 'scale(1.2)';
306
- return 'scale(1.1665)';
307
- case 'move-start':
308
- if (OffIcon) {
309
- if (size === 'small')
310
- return {
311
- transform: 'scale(1)',
312
- width: 24
313
- };
314
- if (size === 'large')
315
- return {
316
- transform: 'scale(1)',
317
- width: 41
318
- };
319
- return {
320
- transform: 'scale(1)',
321
- width: 33
322
- };
323
- }
324
- if (size === 'small')
325
- return {
326
- transform: 'scale(0.6665)',
327
- width: 24
328
- };
329
- if (size === 'large')
330
- return {
331
- transform: 'scale(0.6665)',
332
- width: 41
333
- };
334
- return {
335
- transform: 'scale(0.6665)',
336
- width: 33
337
- };
338
- case 'checked':
339
- if (size === 'small')
340
- return 'scale(1)';
341
- if (size === 'large')
342
- return 'scale(1)';
343
- return 'scale(1)';
344
- default:
345
- break;
346
- }
453
+ },
454
+ icon: {
455
+ checked: {
456
+ transform: sizes('checked', 'icon'),
457
+ background: dynamicBackgroundColor,
458
+ color: tonal ? paletteColor[theme.palette.light ? 30 : 80] : theme.methods.palette.color.text(dynamicBackgroundColor, true, 'light')
459
+ },
460
+ unchecked: {
461
+ transform: sizes('unchecked', 'icon'),
462
+ background: ['default', 'themed', 'inherit'].includes(color) && !theme.palette.light ? theme.palette.text.default.secondary : tonal ? paletteColor[theme.palette.light ? 40 : 20] : theme.palette.text.default.secondary,
463
+ color: tonal ? paletteColor[theme.palette.light ? 90 : 0] : theme.palette.background.default.quaternary
347
464
  }
465
+ }
348
466
  };
349
- const initial = () => {
350
- const paletteColor = theme.palette.color[color] || palette || theme.palette.color.neutral;
351
- const dynamicBackgroundColor = tonal ? paletteColor[theme.palette.light ? 95 : 10] : theme.methods.palette.color.text(color === 'default' ? theme.palette.color.neutral.main : (palette || theme.palette.color[color]).main, true, 'light');
352
- return ({
353
- background: {
354
- checked: {
355
- opacity: 1,
356
- background: 'currentColor'
357
- },
358
- unchecked: {
359
- background: theme.methods.palette.color.value(color, 95, true, paletteColor)
360
- }
361
- },
362
- border: {
363
- checked: {
364
- opacity: 0
365
- },
366
- unchecked: {
367
- opacity: 1
368
- }
369
- },
370
- iconButton: {
371
- checked: {
372
- transform: sizes('checked', 'iconButton'),
373
- color: color === 'default' ? theme.palette.color.neutral.main : !tonal ? paletteColor.main : 'currentColor'
374
- },
375
- unchecked: {
376
- transform: sizes('unchecked', 'iconButton'),
377
- color: color === 'default' ? theme.palette.color.neutral.main : !tonal ? theme.palette.text.default.secondary : paletteColor[theme.palette.light ? 40 : 20]
378
- }
379
- },
380
- icon: {
381
- checked: {
382
- transform: sizes('checked', 'icon'),
383
- background: dynamicBackgroundColor,
384
- color: tonal ? paletteColor[theme.palette.light ? 30 : 80] : theme.methods.palette.color.text(dynamicBackgroundColor, true, 'light')
385
- },
386
- unchecked: {
387
- transform: sizes('unchecked', 'icon'),
388
- background: (['default', 'themed', 'inherit'].includes(color) && !theme.palette.light) ? theme.palette.text.default.secondary : (tonal ? paletteColor[theme.palette.light ? 40 : 20] : theme.palette.text.default.secondary),
389
- color: tonal ? paletteColor[theme.palette.light ? 90 : 0] : theme.palette.background.default.quaternary
390
- }
391
- }
392
- });
467
+ };
468
+ const styleKeyframes = () => {
469
+ const paletteColor = theme.palette.color[color] || palette || theme.palette.color.neutral;
470
+ const dynamicBackgroundColor = tonal ? paletteColor[theme.palette.light ? 95 : 10] : theme.methods.palette.color.text(color === 'default' ? theme.palette.color.neutral.main : (palette || theme.palette.color[color]).main, true, 'light');
471
+ return {
472
+ background: {
473
+ growEnd: _objectSpread({}, initial().background.checked),
474
+ waitEnd: _objectSpread({}, initial().background.checked),
475
+ moveStart: _objectSpread(_objectSpread({}, initial().background.unchecked), {}, {
476
+ transition: theme.methods.transitions.make(['opacity', 'background'], {
477
+ duration: 35,
478
+ delay: 35
479
+ })
480
+ }),
481
+ doneStart: _objectSpread({}, initial().background.unchecked),
482
+ growStart: _objectSpread({}, initial().background.unchecked),
483
+ waitStart: _objectSpread({}, initial().background.checked),
484
+ moveEnd: _objectSpread(_objectSpread({}, initial().background.checked), {}, {
485
+ transition: theme.methods.transitions.make(['opacity', 'background'], {
486
+ duration: 35,
487
+ delay: 35
488
+ })
489
+ }),
490
+ doneEnd: _objectSpread({}, initial().background.checked)
491
+ },
492
+ border: {
493
+ growEnd: _objectSpread({}, initial().border.checked),
494
+ waitEnd: _objectSpread({}, initial().border.checked),
495
+ moveStart: _objectSpread(_objectSpread({}, initial().border.unchecked), {}, {
496
+ transition: theme.methods.transitions.make(['opacity'], {
497
+ duration: 35,
498
+ delay: 35
499
+ })
500
+ }),
501
+ doneStart: _objectSpread({}, initial().border.unchecked),
502
+ growStart: _objectSpread({}, initial().border.unchecked),
503
+ waitStart: _objectSpread({}, initial().border.checked),
504
+ moveEnd: _objectSpread(_objectSpread({}, initial().border.checked), {}, {
505
+ transition: theme.methods.transitions.make(['opacity'], {
506
+ duration: 35,
507
+ delay: 35
508
+ })
509
+ }),
510
+ doneEnd: _objectSpread({}, initial().border.checked)
511
+ },
512
+ iconButton: {
513
+ growStart: {
514
+ transform: sizes('grow-start', 'iconButton'),
515
+ color: color === 'default' ? theme.palette.color.neutral.main : !tonal ? theme.palette.text.default.secondary : paletteColor[theme.palette.light ? 40 : 20],
516
+ transition: theme.methods.transitions.make('transform', {
517
+ duration: 240,
518
+ timing_function: 'decelerated'
519
+ })
520
+ },
521
+ waitStart: {
522
+ transform: sizes('grow-start', 'iconButton'),
523
+ color: color === 'default' ? theme.palette.color.neutral.main : !tonal ? theme.palette.text.default.secondary : paletteColor[theme.palette.light ? 40 : 20]
524
+ },
525
+ moveEnd: {
526
+ transform: sizes('move-end', 'iconButton'),
527
+ color: color === 'default' ? theme.palette.color.neutral.main : !tonal ? paletteColor.main : 'currentColor',
528
+ transition: `${theme.methods.transitions.make('width', {
529
+ duration: 70
530
+ })}, ${theme.methods.transitions.make('transform', {
531
+ duration: 70
532
+ })}, ${theme.methods.transitions.make('background', {
533
+ duration: 35,
534
+ delay: 35
535
+ })}`
536
+ },
537
+ doneEnd: _objectSpread(_objectSpread({}, initial().iconButton.checked), {}, {
538
+ transition: `${theme.methods.transitions.make('width', {
539
+ duration: 100
540
+ })}, , ${theme.methods.transitions.make('transform', {
541
+ duration: 100
542
+ })}`
543
+ }),
544
+ growEnd: {
545
+ transform: sizes('grow-end', 'iconButton'),
546
+ color: color === 'default' ? theme.palette.color.neutral.main : !tonal ? paletteColor.main : 'currentColor',
547
+ transition: theme.methods.transitions.make('transform', {
548
+ duration: 240,
549
+ timing_function: 'decelerated'
550
+ })
551
+ },
552
+ waitEnd: {
553
+ transform: sizes('grow-end', 'iconButton'),
554
+ color: color === 'default' ? theme.palette.color.neutral.main : !tonal ? paletteColor.main : 'currentColor'
555
+ },
556
+ moveStart: {
557
+ transform: sizes('move-start', 'iconButton'),
558
+ color: color === 'default' ? theme.palette.color.neutral.main : !tonal ? theme.palette.text.default.secondary : paletteColor[theme.palette.light ? 40 : 20],
559
+ transition: `${theme.methods.transitions.make('width', {
560
+ duration: 70
561
+ })}, ${theme.methods.transitions.make('transform', {
562
+ duration: 70
563
+ })}, ${theme.methods.transitions.make('background', {
564
+ duration: 35,
565
+ delay: 35
566
+ })}`
567
+ },
568
+ doneStart: _objectSpread(_objectSpread({}, initial().iconButton.unchecked), {}, {
569
+ transition: `${theme.methods.transitions.make('width', {
570
+ duration: 100
571
+ })}, , ${theme.methods.transitions.make('transform', {
572
+ duration: 100
573
+ })}`
574
+ })
575
+ },
576
+ icon: {
577
+ growStart: {
578
+ transform: sizes('grow-start', 'icon'),
579
+ background: ['default', 'themed', 'inherit'].includes(color) && !theme.palette.light ? theme.palette.text.default.secondary : tonal ? paletteColor[theme.palette.light ? 40 : 20] : theme.palette.text.default.secondary,
580
+ color: tonal ? paletteColor[theme.palette.light ? 90 : 10] : theme.palette.background.default.quaternary,
581
+ transition: theme.methods.transitions.make('transform', {
582
+ duration: 240,
583
+ timing_function: 'decelerated'
584
+ })
585
+ },
586
+ waitStart: {
587
+ transform: sizes('grow-start', 'icon'),
588
+ background: ['default', 'themed', 'inherit'].includes(color) && !theme.palette.light ? theme.palette.text.default.secondary : tonal ? paletteColor[theme.palette.light ? 40 : 20] : theme.palette.text.default.secondary,
589
+ color: tonal ? paletteColor[theme.palette.light ? 90 : 10] : theme.palette.background.default.quaternary
590
+ },
591
+ moveEnd: _objectSpread(_objectSpread({}, sizes('move-end', 'icon')), {}, {
592
+ background: dynamicBackgroundColor,
593
+ color: tonal ? paletteColor[theme.palette.light ? 30 : 80] : theme.methods.palette.color.text(dynamicBackgroundColor, true, 'light'),
594
+ transition: `${theme.methods.transitions.make('width', {
595
+ duration: 70
596
+ })}, ${theme.methods.transitions.make('transform', {
597
+ duration: 70
598
+ })}, ${theme.methods.transitions.make('background', {
599
+ duration: 35,
600
+ delay: 35
601
+ })}`
602
+ }),
603
+ doneEnd: _objectSpread(_objectSpread({}, initial().icon.checked), {}, {
604
+ transition: `${theme.methods.transitions.make('width', {
605
+ duration: 100
606
+ })}, , ${theme.methods.transitions.make('transform', {
607
+ duration: 100
608
+ })}`
609
+ }),
610
+ growEnd: {
611
+ transform: sizes('grow-end', 'icon'),
612
+ background: dynamicBackgroundColor,
613
+ color: tonal ? paletteColor[theme.palette.light ? 30 : 80] : theme.methods.palette.color.text(dynamicBackgroundColor, true, 'light'),
614
+ transition: theme.methods.transitions.make('transform', {
615
+ duration: 240,
616
+ timing_function: 'decelerated'
617
+ })
618
+ },
619
+ waitEnd: {
620
+ transform: sizes('grow-end', 'icon'),
621
+ background: dynamicBackgroundColor,
622
+ color: tonal ? paletteColor[theme.palette.light ? 30 : 80] : theme.methods.palette.color.text(dynamicBackgroundColor, true, 'light')
623
+ },
624
+ moveStart: _objectSpread(_objectSpread({}, sizes('move-start', 'icon')), {}, {
625
+ background: tonal ? paletteColor[theme.palette.light ? 40 : 20] : theme.palette.text.default.secondary,
626
+ color: tonal ? paletteColor[theme.palette.light ? 90 : 0] : theme.palette.background.default.quaternary,
627
+ transition: `${theme.methods.transitions.make('width', {
628
+ duration: 70
629
+ })}, ${theme.methods.transitions.make('transform', {
630
+ duration: 70
631
+ })}, ${theme.methods.transitions.make('background', {
632
+ duration: 35,
633
+ delay: 35
634
+ })}`
635
+ }),
636
+ doneStart: _objectSpread(_objectSpread({}, initial().icon.unchecked), {}, {
637
+ transition: `${theme.methods.transitions.make('width', {
638
+ duration: 100
639
+ })}, , ${theme.methods.transitions.make('transform', {
640
+ duration: 100
641
+ })}`
642
+ })
643
+ }
393
644
  };
394
- const styleKeyframes = () => {
395
- const paletteColor = theme.palette.color[color] || palette || theme.palette.color.neutral;
396
- const dynamicBackgroundColor = tonal ? paletteColor[theme.palette.light ? 95 : 10] : theme.methods.palette.color.text(color === 'default' ? theme.palette.color.neutral.main : (palette || theme.palette.color[color]).main, true, 'light');
397
- return {
398
- background: {
399
- growEnd: Object.assign({}, initial().background.checked),
400
- waitEnd: Object.assign({}, initial().background.checked),
401
- moveStart: Object.assign(Object.assign({}, initial().background.unchecked), { transition: theme.methods.transitions.make(['opacity', 'background'], { duration: 35, delay: 35 }) }),
402
- doneStart: Object.assign({}, initial().background.unchecked),
403
- growStart: Object.assign({}, initial().background.unchecked),
404
- waitStart: Object.assign({}, initial().background.checked),
405
- moveEnd: Object.assign(Object.assign({}, initial().background.checked), { transition: theme.methods.transitions.make(['opacity', 'background'], { duration: 35, delay: 35 }) }),
406
- doneEnd: Object.assign({}, initial().background.checked)
407
- },
408
- border: {
409
- growEnd: Object.assign({}, initial().border.checked),
410
- waitEnd: Object.assign({}, initial().border.checked),
411
- moveStart: Object.assign(Object.assign({}, initial().border.unchecked), { transition: theme.methods.transitions.make(['opacity'], { duration: 35, delay: 35 }) }),
412
- doneStart: Object.assign({}, initial().border.unchecked),
413
- growStart: Object.assign({}, initial().border.unchecked),
414
- waitStart: Object.assign({}, initial().border.checked),
415
- moveEnd: Object.assign(Object.assign({}, initial().border.checked), { transition: theme.methods.transitions.make(['opacity'], { duration: 35, delay: 35 }) }),
416
- doneEnd: Object.assign({}, initial().border.checked)
417
- },
418
- iconButton: {
419
- growStart: {
420
- transform: sizes('grow-start', 'iconButton'),
421
- color: color === 'default' ? theme.palette.color.neutral.main : !tonal ? theme.palette.text.default.secondary : paletteColor[theme.palette.light ? 40 : 20],
422
- transition: theme.methods.transitions.make('transform', { duration: 240, timing_function: 'decelerated' })
423
- },
424
- waitStart: {
425
- transform: sizes('grow-start', 'iconButton'),
426
- color: color === 'default' ? theme.palette.color.neutral.main : !tonal ? theme.palette.text.default.secondary : paletteColor[theme.palette.light ? 40 : 20]
427
- },
428
- moveEnd: {
429
- transform: sizes('move-end', 'iconButton'),
430
- color: color === 'default' ? theme.palette.color.neutral.main : !tonal ? paletteColor.main : 'currentColor',
431
- transition: `${theme.methods.transitions.make('width', { duration: 70 })}, ${theme.methods.transitions.make('transform', { duration: 70 })}, ${theme.methods.transitions.make('background', { duration: 35, delay: 35 })}`
432
- },
433
- doneEnd: Object.assign(Object.assign({}, initial().iconButton.checked), { transition: `${theme.methods.transitions.make('width', { duration: 100 })}, , ${theme.methods.transitions.make('transform', { duration: 100 })}` }),
434
- growEnd: {
435
- transform: sizes('grow-end', 'iconButton'),
436
- color: color === 'default' ? theme.palette.color.neutral.main : !tonal ? paletteColor.main : 'currentColor',
437
- transition: theme.methods.transitions.make('transform', { duration: 240, timing_function: 'decelerated' })
438
- },
439
- waitEnd: {
440
- transform: sizes('grow-end', 'iconButton'),
441
- color: color === 'default' ? theme.palette.color.neutral.main : !tonal ? paletteColor.main : 'currentColor'
442
- },
443
- moveStart: {
444
- transform: sizes('move-start', 'iconButton'),
445
- color: color === 'default' ? theme.palette.color.neutral.main : !tonal ? theme.palette.text.default.secondary : paletteColor[theme.palette.light ? 40 : 20],
446
- transition: `${theme.methods.transitions.make('width', { duration: 70 })}, ${theme.methods.transitions.make('transform', { duration: 70 })}, ${theme.methods.transitions.make('background', { duration: 35, delay: 35 })}`
447
- },
448
- doneStart: Object.assign(Object.assign({}, initial().iconButton.unchecked), { transition: `${theme.methods.transitions.make('width', { duration: 100 })}, , ${theme.methods.transitions.make('transform', { duration: 100 })}` })
449
- },
450
- icon: {
451
- growStart: {
452
- transform: sizes('grow-start', 'icon'),
453
- background: (['default', 'themed', 'inherit'].includes(color) && !theme.palette.light) ? theme.palette.text.default.secondary : tonal ? paletteColor[theme.palette.light ? 40 : 20] : theme.palette.text.default.secondary,
454
- color: tonal ? paletteColor[theme.palette.light ? 90 : 10] : theme.palette.background.default.quaternary,
455
- transition: theme.methods.transitions.make('transform', { duration: 240, timing_function: 'decelerated' })
456
- },
457
- waitStart: {
458
- transform: sizes('grow-start', 'icon'),
459
- background: (['default', 'themed', 'inherit'].includes(color) && !theme.palette.light) ? theme.palette.text.default.secondary : tonal ? paletteColor[theme.palette.light ? 40 : 20] : theme.palette.text.default.secondary,
460
- color: tonal ? paletteColor[theme.palette.light ? 90 : 10] : theme.palette.background.default.quaternary
461
- },
462
- moveEnd: Object.assign(Object.assign({}, sizes('move-end', 'icon')), { background: dynamicBackgroundColor, color: tonal ? paletteColor[theme.palette.light ? 30 : 80] : theme.methods.palette.color.text(dynamicBackgroundColor, true, 'light'), transition: `${theme.methods.transitions.make('width', { duration: 70 })}, ${theme.methods.transitions.make('transform', { duration: 70 })}, ${theme.methods.transitions.make('background', { duration: 35, delay: 35 })}` }),
463
- doneEnd: Object.assign(Object.assign({}, initial().icon.checked), { transition: `${theme.methods.transitions.make('width', { duration: 100 })}, , ${theme.methods.transitions.make('transform', { duration: 100 })}` }),
464
- growEnd: {
465
- transform: sizes('grow-end', 'icon'),
466
- background: dynamicBackgroundColor,
467
- color: tonal ? paletteColor[theme.palette.light ? 30 : 80] : theme.methods.palette.color.text(dynamicBackgroundColor, true, 'light'),
468
- transition: theme.methods.transitions.make('transform', { duration: 240, timing_function: 'decelerated' })
469
- },
470
- waitEnd: {
471
- transform: sizes('grow-end', 'icon'),
472
- background: dynamicBackgroundColor,
473
- color: tonal ? paletteColor[theme.palette.light ? 30 : 80] : theme.methods.palette.color.text(dynamicBackgroundColor, true, 'light'),
474
- },
475
- moveStart: Object.assign(Object.assign({}, sizes('move-start', 'icon')), { background: tonal ? paletteColor[theme.palette.light ? 40 : 20] : theme.palette.text.default.secondary, color: tonal ? paletteColor[theme.palette.light ? 90 : 0] : theme.palette.background.default.quaternary, transition: `${theme.methods.transitions.make('width', { duration: 70 })}, ${theme.methods.transitions.make('transform', { duration: 70 })}, ${theme.methods.transitions.make('background', { duration: 35, delay: 35 })}` }),
476
- doneStart: Object.assign(Object.assign({}, initial().icon.unchecked), { transition: `${theme.methods.transitions.make('width', { duration: 100 })}, , ${theme.methods.transitions.make('transform', { duration: 100 })}` })
477
- }
478
- };
479
- };
480
- const onKeyDown = (event) => {
481
- switch (event.key) {
482
- case 'Enter':
483
- if (refs.input.current)
484
- refs.input.current.click();
485
- break;
486
- default:
487
- break;
488
- }
489
- };
490
- return ((0, jsx_runtime_1.jsxs)(Component, Object.assign({ ref: ref, tabIndex: disabled ? -1 : 0, role: 'switch', "aria-checked": value, "aria-disabled": disabled, onKeyDown: onKeyDown, className: (0, style_react_1.classNames)([
491
- (0, utils_2.staticClassName)('Switch', theme) && [
492
- 'onesy-Switch-root',
493
- `onesy-Switch-size-${size}`,
494
- value && `onesy-Switch-checked`,
495
- disabled && `onesy-Switch-disabled`
496
- ],
497
- className,
498
- classes.root,
499
- classes[`color_${color}`],
500
- classes[`size_${size}`],
501
- tonal && classes[`tonal_color_${color}`],
502
- disabled && classes.disabled
503
- ]), style: Object.assign(Object.assign({}, style), styles.root) }, other, { children: [(0, jsx_runtime_1.jsx)("input", { ref: item => {
504
- if (inputRef)
505
- inputRef.current = item;
506
- refs.input.current = item;
507
- }, tabIndex: -1, type: 'checkbox', checked: value, onChange: onUpdate, className: (0, style_react_1.classNames)([
508
- (0, utils_2.staticClassName)('Switch', theme) && [
509
- 'onesy-Switch-input'
510
- ],
511
- classes.input
512
- ]), disabled: disabled }), (0, jsx_runtime_1.jsx)(Keyframes, Object.assign({ keyframes: keyframes[refs.value.current ? 'checked' : 'unchecked'], update: refs.value.current, appendStatusPost: !refs.value.current ? 'doneStart' : 'doneEnd', append: true }, { children: (status) => {
513
- if ((refs.value.current && status === 'doneEnd') ||
514
- (!refs.value.current && status === 'doneStart'))
515
- refs.animation.current = false;
516
- return (0, jsx_runtime_1.jsxs)(jsx_runtime_1.Fragment, { children: [(0, jsx_runtime_1.jsx)("span", { className: (0, style_react_1.classNames)([
517
- (0, utils_2.staticClassName)('Switch', theme) && [
518
- 'onesy-Switch-background'
519
- ],
520
- classes.background,
521
- disabled && classes.background_disabled
522
- ]), style: Object.assign(Object.assign(Object.assign({}, styles.background), (status === 'appended' && initial().background[refs.value.current ? 'checked' : 'unchecked'])), styleKeyframes().background[status]) }), (0, jsx_runtime_1.jsx)("span", { className: (0, style_react_1.classNames)([
523
- (0, utils_2.staticClassName)('Switch', theme) && [
524
- 'onesy-Switch-border'
525
- ],
526
- classes.border,
527
- classes[`color_${color}`],
528
- tonal && classes[`border_tonal_color_${color}`]
529
- ]), style: Object.assign(Object.assign(Object.assign({}, styles.border), (status === 'appended' && initial().border[refs.value.current ? 'checked' : 'unchecked'])), styleKeyframes().border[status]) }), (0, jsx_runtime_1.jsx)(IconButton, Object.assign({ tabIndex: '-1', size: size, className: (0, style_react_1.classNames)([
530
- (0, utils_2.staticClassName)('Switch', theme) && [
531
- 'onesy-Switch-icon-button'
532
- ],
533
- classes.iconButton
534
- ]), style: Object.assign(Object.assign(Object.assign({}, styles.iconButton), (status === 'appended' && initial().iconButton[refs.value.current ? 'checked' : 'unchecked'])), styleKeyframes().iconButton[status]) }, { children: (0, jsx_runtime_1.jsx)(Icon, Object.assign({ className: (0, style_react_1.classNames)([
535
- (0, utils_2.staticClassName)('Switch', theme) && [
536
- 'onesy-Switch-icon'
537
- ],
538
- classes.icon
539
- ]), style: Object.assign(Object.assign({}, (status === 'appended' && initial().icon[refs.value.current ? 'checked' : 'unchecked'])), styleKeyframes().icon[status]) }, { children: (((status === 'appended' && refs.value.current) || ['growEnd', 'doneEnd'].includes(status)) && OnIcon) ||
540
- (((status === 'appended' && !refs.value.current) || ['growStart', 'doneStart'].includes(status)) && OffIcon) })) }))] });
541
- } }))] })));
645
+ };
646
+ const onKeyDown = event => {
647
+ switch (event.key) {
648
+ case 'Enter':
649
+ if (refs.input.current) refs.input.current.click();
650
+ break;
651
+ default:
652
+ break;
653
+ }
654
+ };
655
+ return /*#__PURE__*/_react.default.createElement(Component, (0, _extends2.default)({
656
+ ref: ref,
657
+ tabIndex: disabled ? -1 : 0,
658
+ role: "switch",
659
+ "aria-checked": value,
660
+ "aria-disabled": disabled,
661
+ onKeyDown: onKeyDown,
662
+ className: (0, _styleReact.classNames)([(0, _utils2.staticClassName)('Switch', theme) && ['onesy-Switch-root', `onesy-Switch-size-${size}`, value && `onesy-Switch-checked`, disabled && `onesy-Switch-disabled`], className, classes.root, classes[`color_${color}`], classes[`size_${size}`], tonal && classes[`tonal_color_${color}`], disabled && classes.disabled]),
663
+ style: _objectSpread(_objectSpread({}, style), styles.root)
664
+ }, other), /*#__PURE__*/_react.default.createElement("input", {
665
+ ref: item => {
666
+ if (inputRef) inputRef.current = item;
667
+ refs.input.current = item;
668
+ },
669
+ tabIndex: -1,
670
+ type: "checkbox",
671
+ checked: value,
672
+ onChange: onUpdate,
673
+ className: (0, _styleReact.classNames)([(0, _utils2.staticClassName)('Switch', theme) && ['onesy-Switch-input'], classes.input]),
674
+ disabled: disabled
675
+ }), /*#__PURE__*/_react.default.createElement(Keyframes, {
676
+ keyframes: keyframes[refs.value.current ? 'checked' : 'unchecked'],
677
+ update: refs.value.current,
678
+ appendStatusPost: !refs.value.current ? 'doneStart' : 'doneEnd',
679
+ append: true
680
+ }, status => {
681
+ if (refs.value.current && status === 'doneEnd' || !refs.value.current && status === 'doneStart') refs.animation.current = false;
682
+ return /*#__PURE__*/_react.default.createElement(_react.default.Fragment, null, /*#__PURE__*/_react.default.createElement("span", {
683
+ className: (0, _styleReact.classNames)([(0, _utils2.staticClassName)('Switch', theme) && ['onesy-Switch-background'], classes.background, disabled && classes.background_disabled]),
684
+ style: _objectSpread(_objectSpread(_objectSpread({}, styles.background), status === 'appended' && initial().background[refs.value.current ? 'checked' : 'unchecked']), styleKeyframes().background[status])
685
+ }), /*#__PURE__*/_react.default.createElement("span", {
686
+ className: (0, _styleReact.classNames)([(0, _utils2.staticClassName)('Switch', theme) && ['onesy-Switch-border'], classes.border, classes[`color_${color}`], tonal && classes[`border_tonal_color_${color}`]]),
687
+ style: _objectSpread(_objectSpread(_objectSpread({}, styles.border), status === 'appended' && initial().border[refs.value.current ? 'checked' : 'unchecked']), styleKeyframes().border[status])
688
+ }), /*#__PURE__*/_react.default.createElement(IconButton, {
689
+ tabIndex: "-1",
690
+ size: size,
691
+ className: (0, _styleReact.classNames)([(0, _utils2.staticClassName)('Switch', theme) && ['onesy-Switch-icon-button'], classes.iconButton]),
692
+ style: _objectSpread(_objectSpread(_objectSpread({}, styles.iconButton), status === 'appended' && initial().iconButton[refs.value.current ? 'checked' : 'unchecked']), styleKeyframes().iconButton[status])
693
+ }, /*#__PURE__*/_react.default.createElement(Icon, {
694
+ className: (0, _styleReact.classNames)([(0, _utils2.staticClassName)('Switch', theme) && ['onesy-Switch-icon'], classes.icon]),
695
+ style: _objectSpread(_objectSpread({}, status === 'appended' && initial().icon[refs.value.current ? 'checked' : 'unchecked']), styleKeyframes().icon[status])
696
+ }, (status === 'appended' && refs.value.current || ['growEnd', 'doneEnd'].includes(status)) && OnIcon || (status === 'appended' && !refs.value.current || ['growStart', 'doneStart'].includes(status)) && OffIcon)));
697
+ }));
542
698
  });
543
699
  Switch.displayName = 'onesy-Switch';
544
- exports.default = Switch;
700
+ var _default = exports.default = Switch;