@os-design/core 1.0.156 → 1.0.158

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 (383) hide show
  1. package/dist/cjs/Alert/index.js +4 -30
  2. package/dist/cjs/Alert/index.js.map +1 -1
  3. package/dist/cjs/Avatar/index.js +15 -39
  4. package/dist/cjs/Avatar/index.js.map +1 -1
  5. package/dist/cjs/Avatar/utils/nameToInitials.js +1 -3
  6. package/dist/cjs/Avatar/utils/nameToInitials.js.map +1 -1
  7. package/dist/cjs/Avatar/utils/strToHue.js +0 -4
  8. package/dist/cjs/Avatar/utils/strToHue.js.map +1 -1
  9. package/dist/cjs/AvatarSkeleton/index.js +3 -20
  10. package/dist/cjs/AvatarSkeleton/index.js.map +1 -1
  11. package/dist/cjs/Breadcrumb/index.js +4 -30
  12. package/dist/cjs/Breadcrumb/index.js.map +1 -1
  13. package/dist/cjs/BreadcrumbItem/index.js +8 -28
  14. package/dist/cjs/BreadcrumbItem/index.js.map +1 -1
  15. package/dist/cjs/Button/ButtonContent.js +7 -20
  16. package/dist/cjs/Button/ButtonContent.js.map +1 -1
  17. package/dist/cjs/Button/index.js +23 -53
  18. package/dist/cjs/Button/index.js.map +1 -1
  19. package/dist/cjs/Button/utils/useButtonColors.js +3 -12
  20. package/dist/cjs/Button/utils/useButtonColors.js.map +1 -1
  21. package/dist/cjs/Checkbox/index.js +20 -59
  22. package/dist/cjs/Checkbox/index.js.map +1 -1
  23. package/dist/cjs/CheckboxSkeleton/index.js +2 -22
  24. package/dist/cjs/CheckboxSkeleton/index.js.map +1 -1
  25. package/dist/cjs/DatePicker/DatePickerCalendar.js +11 -48
  26. package/dist/cjs/DatePicker/DatePickerCalendar.js.map +1 -1
  27. package/dist/cjs/DatePicker/index.js +32 -68
  28. package/dist/cjs/DatePicker/index.js.map +1 -1
  29. package/dist/cjs/Drawer/index.js +14 -44
  30. package/dist/cjs/Drawer/index.js.map +1 -1
  31. package/dist/cjs/Form/FormConfigContext.js +0 -4
  32. package/dist/cjs/Form/FormConfigContext.js.map +1 -1
  33. package/dist/cjs/Form/index.js +3 -20
  34. package/dist/cjs/Form/index.js.map +1 -1
  35. package/dist/cjs/FormDivider/index.js +3 -24
  36. package/dist/cjs/FormDivider/index.js.map +1 -1
  37. package/dist/cjs/FormItem/index.js +12 -42
  38. package/dist/cjs/FormItem/index.js.map +1 -1
  39. package/dist/cjs/FormItem/utils/firstChildHasType.js +0 -5
  40. package/dist/cjs/FormItem/utils/firstChildHasType.js.map +1 -1
  41. package/dist/cjs/Gallery/Status.js +2 -12
  42. package/dist/cjs/Gallery/Status.js.map +1 -1
  43. package/dist/cjs/Gallery/index.js +27 -61
  44. package/dist/cjs/Gallery/index.js.map +1 -1
  45. package/dist/cjs/GlobalStyles/index.js +0 -8
  46. package/dist/cjs/GlobalStyles/index.js.map +1 -1
  47. package/dist/cjs/GlobalStyles/resetStyles.js +0 -5
  48. package/dist/cjs/GlobalStyles/resetStyles.js.map +1 -1
  49. package/dist/cjs/GlobalStyles/typographyStyles.js +0 -11
  50. package/dist/cjs/GlobalStyles/typographyStyles.js.map +1 -1
  51. package/dist/cjs/HeaderSkeleton/index.js +7 -26
  52. package/dist/cjs/HeaderSkeleton/index.js.map +1 -1
  53. package/dist/cjs/Image/index.js +11 -31
  54. package/dist/cjs/Image/index.js.map +1 -1
  55. package/dist/cjs/ImageSkeleton/index.js +1 -12
  56. package/dist/cjs/ImageSkeleton/index.js.map +1 -1
  57. package/dist/cjs/Input/index.js +23 -57
  58. package/dist/cjs/Input/index.js.map +1 -1
  59. package/dist/cjs/Input/utils/getFocusableElements.js +0 -8
  60. package/dist/cjs/Input/utils/getFocusableElements.js.map +1 -1
  61. package/dist/cjs/InputNumber/index.js +49 -72
  62. package/dist/cjs/InputNumber/index.js.map +1 -1
  63. package/dist/cjs/InputNumber/utils/defaultLocale.js.map +1 -1
  64. package/dist/cjs/InputPassword/index.js +39 -77
  65. package/dist/cjs/InputPassword/index.js.map +1 -1
  66. package/dist/cjs/InputPassword/utils/defaultLocale.js.map +1 -1
  67. package/dist/cjs/InputSearch/index.js +22 -51
  68. package/dist/cjs/InputSearch/index.js.map +1 -1
  69. package/dist/cjs/InputSearch/utils/defaultLocale.js.map +1 -1
  70. package/dist/cjs/InputSkeleton/index.js +1 -14
  71. package/dist/cjs/InputSkeleton/index.js.map +1 -1
  72. package/dist/cjs/Layout/LayoutContext.js +0 -4
  73. package/dist/cjs/Layout/LayoutContext.js.map +1 -1
  74. package/dist/cjs/Layout/index.js +4 -12
  75. package/dist/cjs/Layout/index.js.map +1 -1
  76. package/dist/cjs/Link/index.js +8 -30
  77. package/dist/cjs/Link/index.js.map +1 -1
  78. package/dist/cjs/LinkButton/index.js +26 -49
  79. package/dist/cjs/LinkButton/index.js.map +1 -1
  80. package/dist/cjs/List/WindowScroller.js +4 -12
  81. package/dist/cjs/List/WindowScroller.js.map +1 -1
  82. package/dist/cjs/List/index.js +35 -68
  83. package/dist/cjs/List/index.js.map +1 -1
  84. package/dist/cjs/List/utils/bodyPointerEvents.js +0 -9
  85. package/dist/cjs/List/utils/bodyPointerEvents.js.map +1 -1
  86. package/dist/cjs/List/utils/frameTimeout.js +1 -8
  87. package/dist/cjs/List/utils/frameTimeout.js.map +1 -1
  88. package/dist/cjs/List/utils/useRWLoadNext.js +6 -9
  89. package/dist/cjs/List/utils/useRWLoadNext.js.map +1 -1
  90. package/dist/cjs/ListItem/ListItemContent.js +12 -44
  91. package/dist/cjs/ListItem/ListItemContent.js.map +1 -1
  92. package/dist/cjs/ListItem/index.js +15 -39
  93. package/dist/cjs/ListItem/index.js.map +1 -1
  94. package/dist/cjs/ListItemLink/index.js +18 -51
  95. package/dist/cjs/ListItemLink/index.js.map +1 -1
  96. package/dist/cjs/ListSkeleton/index.js +11 -32
  97. package/dist/cjs/ListSkeleton/index.js.map +1 -1
  98. package/dist/cjs/LogoLink/index.js +6 -27
  99. package/dist/cjs/LogoLink/index.js.map +1 -1
  100. package/dist/cjs/Menu/index.js +20 -47
  101. package/dist/cjs/Menu/index.js.map +1 -1
  102. package/dist/cjs/Menu/utils/useFocusWithArrows.js +1 -13
  103. package/dist/cjs/Menu/utils/useFocusWithArrows.js.map +1 -1
  104. package/dist/cjs/MenuDivider/index.js +1 -13
  105. package/dist/cjs/MenuDivider/index.js.map +1 -1
  106. package/dist/cjs/MenuGroup/index.js +19 -52
  107. package/dist/cjs/MenuGroup/index.js.map +1 -1
  108. package/dist/cjs/MenuItem/index.js +9 -32
  109. package/dist/cjs/MenuItem/index.js.map +1 -1
  110. package/dist/cjs/Modal/index.js +25 -65
  111. package/dist/cjs/Modal/index.js.map +1 -1
  112. package/dist/cjs/Modal/utils/defaultLocale.js.map +1 -1
  113. package/dist/cjs/Navigation/index.js +6 -35
  114. package/dist/cjs/Navigation/index.js.map +1 -1
  115. package/dist/cjs/Navigation/utils/useScrollFlags.js +6 -19
  116. package/dist/cjs/Navigation/utils/useScrollFlags.js.map +1 -1
  117. package/dist/cjs/NavigationItem/index.js +8 -32
  118. package/dist/cjs/NavigationItem/index.js.map +1 -1
  119. package/dist/cjs/PageContent/index.js +6 -30
  120. package/dist/cjs/PageContent/index.js.map +1 -1
  121. package/dist/cjs/PageHeader/index.js +13 -46
  122. package/dist/cjs/PageHeader/index.js.map +1 -1
  123. package/dist/cjs/PageHeader/utils/defaultLocale.js.map +1 -1
  124. package/dist/cjs/PageHeaderInputSearch/index.js +10 -46
  125. package/dist/cjs/PageHeaderInputSearch/index.js.map +1 -1
  126. package/dist/cjs/PageHeaderInputSearch/utils/defaultLocale.js +0 -7
  127. package/dist/cjs/PageHeaderInputSearch/utils/defaultLocale.js.map +1 -1
  128. package/dist/cjs/PageHeaderSkeleton/index.js +3 -18
  129. package/dist/cjs/PageHeaderSkeleton/index.js.map +1 -1
  130. package/dist/cjs/ParagraphSkeleton/index.js +7 -25
  131. package/dist/cjs/ParagraphSkeleton/index.js.map +1 -1
  132. package/dist/cjs/Popover/index.js +46 -77
  133. package/dist/cjs/Popover/index.js.map +1 -1
  134. package/dist/cjs/Popover/utils/usePopoverPosition.js +21 -43
  135. package/dist/cjs/Popover/utils/usePopoverPosition.js.map +1 -1
  136. package/dist/cjs/Progress/index.js +6 -25
  137. package/dist/cjs/Progress/index.js.map +1 -1
  138. package/dist/cjs/RadioGroup/index.js +25 -55
  139. package/dist/cjs/RadioGroup/index.js.map +1 -1
  140. package/dist/cjs/RadioGroupSkeleton/index.js +3 -20
  141. package/dist/cjs/RadioGroupSkeleton/index.js.map +1 -1
  142. package/dist/cjs/Result/index.js +6 -30
  143. package/dist/cjs/Result/index.js.map +1 -1
  144. package/dist/cjs/ScrollButton/index.js +15 -40
  145. package/dist/cjs/ScrollButton/index.js.map +1 -1
  146. package/dist/cjs/ScrollButton/utils/useContainerPosition.js +10 -23
  147. package/dist/cjs/ScrollButton/utils/useContainerPosition.js.map +1 -1
  148. package/dist/cjs/ScrollButton/utils/useVisibility.js +6 -19
  149. package/dist/cjs/ScrollButton/utils/useVisibility.js.map +1 -1
  150. package/dist/cjs/Select/SelectList.js +27 -53
  151. package/dist/cjs/Select/SelectList.js.map +1 -1
  152. package/dist/cjs/Select/SelectToggle.js +17 -52
  153. package/dist/cjs/Select/SelectToggle.js.map +1 -1
  154. package/dist/cjs/Select/index.js +60 -103
  155. package/dist/cjs/Select/index.js.map +1 -1
  156. package/dist/cjs/Select/utils/defaultLocale.js.map +1 -1
  157. package/dist/cjs/Skeleton/index.js +3 -20
  158. package/dist/cjs/Skeleton/index.js.map +1 -1
  159. package/dist/cjs/Switch/index.js +17 -52
  160. package/dist/cjs/Switch/index.js.map +1 -1
  161. package/dist/cjs/SwitchSkeleton/index.js +1 -14
  162. package/dist/cjs/SwitchSkeleton/index.js.map +1 -1
  163. package/dist/cjs/Tag/index.js +4 -26
  164. package/dist/cjs/Tag/index.js.map +1 -1
  165. package/dist/cjs/TagLink/index.js +7 -25
  166. package/dist/cjs/TagLink/index.js.map +1 -1
  167. package/dist/cjs/TagList/index.js +8 -38
  168. package/dist/cjs/TagList/index.js.map +1 -1
  169. package/dist/cjs/TagListSkeleton/index.js +4 -17
  170. package/dist/cjs/TagListSkeleton/index.js.map +1 -1
  171. package/dist/cjs/TagSkeleton/index.js +3 -20
  172. package/dist/cjs/TagSkeleton/index.js.map +1 -1
  173. package/dist/cjs/TextArea/index.js +6 -21
  174. package/dist/cjs/TextArea/index.js.map +1 -1
  175. package/dist/cjs/TextAreaSkeleton/index.js +1 -12
  176. package/dist/cjs/TextAreaSkeleton/index.js.map +1 -1
  177. package/dist/cjs/ThemeSwitcher/index.js +4 -20
  178. package/dist/cjs/ThemeSwitcher/index.js.map +1 -1
  179. package/dist/cjs/TimePicker/index.js +140 -0
  180. package/dist/cjs/TimePicker/index.js.map +1 -0
  181. package/dist/cjs/Video/index.js +2 -18
  182. package/dist/cjs/Video/index.js.map +1 -1
  183. package/dist/cjs/index.js +0 -126
  184. package/dist/cjs/index.js.map +1 -1
  185. package/dist/cjs/message/AlertIcon.js +15 -26
  186. package/dist/cjs/message/AlertIcon.js.map +1 -1
  187. package/dist/cjs/message/Message.js +1 -17
  188. package/dist/cjs/message/Message.js.map +1 -1
  189. package/dist/cjs/message/index.js +7 -21
  190. package/dist/cjs/message/index.js.map +1 -1
  191. package/dist/cjs/message/styles.js +2 -12
  192. package/dist/cjs/message/styles.js.map +1 -1
  193. package/dist/esm/Alert/index.js +1 -10
  194. package/dist/esm/Alert/index.js.map +1 -1
  195. package/dist/esm/Avatar/index.js +5 -4
  196. package/dist/esm/Avatar/index.js.map +1 -1
  197. package/dist/esm/Avatar/utils/nameToInitials.js +0 -1
  198. package/dist/esm/Avatar/utils/nameToInitials.js.map +1 -1
  199. package/dist/esm/Avatar/utils/strToHue.js +0 -3
  200. package/dist/esm/Avatar/utils/strToHue.js.map +1 -1
  201. package/dist/esm/AvatarSkeleton/index.js +1 -2
  202. package/dist/esm/AvatarSkeleton/index.js.map +1 -1
  203. package/dist/esm/Breadcrumb/index.js +3 -5
  204. package/dist/esm/Breadcrumb/index.js.map +1 -1
  205. package/dist/esm/BreadcrumbItem/index.js +1 -2
  206. package/dist/esm/BreadcrumbItem/index.js.map +1 -1
  207. package/dist/esm/Button/ButtonContent.js +2 -2
  208. package/dist/esm/Button/ButtonContent.js.map +1 -1
  209. package/dist/esm/Button/index.js +1 -10
  210. package/dist/esm/Button/index.js.map +1 -1
  211. package/dist/esm/Button/utils/useButtonColors.js +0 -5
  212. package/dist/esm/Button/utils/useButtonColors.js.map +1 -1
  213. package/dist/esm/Checkbox/index.js +1 -15
  214. package/dist/esm/Checkbox/index.js.map +1 -1
  215. package/dist/esm/CheckboxSkeleton/index.js +1 -2
  216. package/dist/esm/CheckboxSkeleton/index.js.map +1 -1
  217. package/dist/esm/DatePicker/DatePickerCalendar.js +0 -7
  218. package/dist/esm/DatePicker/DatePickerCalendar.js.map +1 -1
  219. package/dist/esm/DatePicker/index.js +0 -5
  220. package/dist/esm/DatePicker/index.js.map +1 -1
  221. package/dist/esm/Drawer/index.js +1 -7
  222. package/dist/esm/Drawer/index.js.map +1 -1
  223. package/dist/esm/Form/FormConfigContext.js.map +1 -1
  224. package/dist/esm/Form/index.js +1 -2
  225. package/dist/esm/Form/index.js.map +1 -1
  226. package/dist/esm/FormDivider/index.js +1 -2
  227. package/dist/esm/FormDivider/index.js.map +1 -1
  228. package/dist/esm/FormItem/index.js +1 -4
  229. package/dist/esm/FormItem/index.js.map +1 -1
  230. package/dist/esm/FormItem/utils/firstChildHasType.js +0 -2
  231. package/dist/esm/FormItem/utils/firstChildHasType.js.map +1 -1
  232. package/dist/esm/Gallery/Status.js +0 -2
  233. package/dist/esm/Gallery/Status.js.map +1 -1
  234. package/dist/esm/Gallery/index.js +3 -7
  235. package/dist/esm/Gallery/index.js.map +1 -1
  236. package/dist/esm/GlobalStyles/index.js +0 -2
  237. package/dist/esm/GlobalStyles/index.js.map +1 -1
  238. package/dist/esm/GlobalStyles/resetStyles.js +0 -2
  239. package/dist/esm/GlobalStyles/resetStyles.js.map +1 -1
  240. package/dist/esm/GlobalStyles/typographyStyles.js +0 -4
  241. package/dist/esm/GlobalStyles/typographyStyles.js.map +1 -1
  242. package/dist/esm/HeaderSkeleton/index.js +1 -4
  243. package/dist/esm/HeaderSkeleton/index.js.map +1 -1
  244. package/dist/esm/Image/index.js +1 -6
  245. package/dist/esm/Image/index.js.map +1 -1
  246. package/dist/esm/ImageSkeleton/index.js +1 -2
  247. package/dist/esm/ImageSkeleton/index.js.map +1 -1
  248. package/dist/esm/Input/index.js +1 -10
  249. package/dist/esm/Input/index.js.map +1 -1
  250. package/dist/esm/Input/utils/getFocusableElements.js +0 -1
  251. package/dist/esm/Input/utils/getFocusableElements.js.map +1 -1
  252. package/dist/esm/InputNumber/index.js +10 -7
  253. package/dist/esm/InputNumber/index.js.map +1 -1
  254. package/dist/esm/InputNumber/utils/defaultLocale.js.map +1 -1
  255. package/dist/esm/InputPassword/index.js +3 -8
  256. package/dist/esm/InputPassword/index.js.map +1 -1
  257. package/dist/esm/InputPassword/utils/defaultLocale.js.map +1 -1
  258. package/dist/esm/InputSearch/index.js +1 -2
  259. package/dist/esm/InputSearch/index.js.map +1 -1
  260. package/dist/esm/InputSearch/utils/defaultLocale.js.map +1 -1
  261. package/dist/esm/InputSkeleton/index.js +1 -2
  262. package/dist/esm/InputSkeleton/index.js.map +1 -1
  263. package/dist/esm/Layout/LayoutContext.js.map +1 -1
  264. package/dist/esm/Layout/index.js +0 -2
  265. package/dist/esm/Layout/index.js.map +1 -1
  266. package/dist/esm/Link/index.js +3 -8
  267. package/dist/esm/Link/index.js.map +1 -1
  268. package/dist/esm/LinkButton/index.js +1 -4
  269. package/dist/esm/LinkButton/index.js.map +1 -1
  270. package/dist/esm/List/WindowScroller.js +2 -4
  271. package/dist/esm/List/WindowScroller.js.map +1 -1
  272. package/dist/esm/List/index.js +10 -9
  273. package/dist/esm/List/index.js.map +1 -1
  274. package/dist/esm/List/utils/bodyPointerEvents.js +0 -1
  275. package/dist/esm/List/utils/bodyPointerEvents.js.map +1 -1
  276. package/dist/esm/List/utils/frameTimeout.js +1 -4
  277. package/dist/esm/List/utils/frameTimeout.js.map +1 -1
  278. package/dist/esm/List/utils/useRWLoadNext.js +0 -2
  279. package/dist/esm/List/utils/useRWLoadNext.js.map +1 -1
  280. package/dist/esm/ListItem/ListItemContent.js +2 -6
  281. package/dist/esm/ListItem/ListItemContent.js.map +1 -1
  282. package/dist/esm/ListItem/index.js +1 -2
  283. package/dist/esm/ListItem/index.js.map +1 -1
  284. package/dist/esm/ListItemLink/index.js +1 -4
  285. package/dist/esm/ListItemLink/index.js.map +1 -1
  286. package/dist/esm/ListSkeleton/index.js +1 -2
  287. package/dist/esm/ListSkeleton/index.js.map +1 -1
  288. package/dist/esm/LogoLink/index.js +1 -4
  289. package/dist/esm/LogoLink/index.js.map +1 -1
  290. package/dist/esm/Menu/index.js +3 -3
  291. package/dist/esm/Menu/index.js.map +1 -1
  292. package/dist/esm/Menu/utils/useFocusWithArrows.js +0 -4
  293. package/dist/esm/Menu/utils/useFocusWithArrows.js.map +1 -1
  294. package/dist/esm/MenuDivider/index.js +1 -2
  295. package/dist/esm/MenuDivider/index.js.map +1 -1
  296. package/dist/esm/MenuGroup/index.js +1 -2
  297. package/dist/esm/MenuGroup/index.js.map +1 -1
  298. package/dist/esm/MenuItem/index.js +1 -4
  299. package/dist/esm/MenuItem/index.js.map +1 -1
  300. package/dist/esm/Modal/index.js +1 -8
  301. package/dist/esm/Modal/index.js.map +1 -1
  302. package/dist/esm/Modal/utils/defaultLocale.js.map +1 -1
  303. package/dist/esm/Navigation/index.js +1 -7
  304. package/dist/esm/Navigation/index.js.map +1 -1
  305. package/dist/esm/Navigation/utils/useScrollFlags.js +0 -2
  306. package/dist/esm/Navigation/utils/useScrollFlags.js.map +1 -1
  307. package/dist/esm/NavigationItem/index.js +1 -4
  308. package/dist/esm/NavigationItem/index.js.map +1 -1
  309. package/dist/esm/PageContent/index.js +1 -7
  310. package/dist/esm/PageContent/index.js.map +1 -1
  311. package/dist/esm/PageHeader/index.js +1 -8
  312. package/dist/esm/PageHeader/index.js.map +1 -1
  313. package/dist/esm/PageHeader/utils/defaultLocale.js.map +1 -1
  314. package/dist/esm/PageHeaderInputSearch/index.js +1 -5
  315. package/dist/esm/PageHeaderInputSearch/index.js.map +1 -1
  316. package/dist/esm/PageHeaderInputSearch/utils/defaultLocale.js +2 -1
  317. package/dist/esm/PageHeaderInputSearch/utils/defaultLocale.js.map +1 -1
  318. package/dist/esm/PageHeaderSkeleton/index.js +0 -2
  319. package/dist/esm/PageHeaderSkeleton/index.js.map +1 -1
  320. package/dist/esm/ParagraphSkeleton/index.js +1 -4
  321. package/dist/esm/ParagraphSkeleton/index.js.map +1 -1
  322. package/dist/esm/Popover/index.js +12 -13
  323. package/dist/esm/Popover/index.js.map +1 -1
  324. package/dist/esm/Popover/utils/usePopoverPosition.js +8 -19
  325. package/dist/esm/Popover/utils/usePopoverPosition.js.map +1 -1
  326. package/dist/esm/Progress/index.js +1 -2
  327. package/dist/esm/Progress/index.js.map +1 -1
  328. package/dist/esm/RadioGroup/index.js +1 -5
  329. package/dist/esm/RadioGroup/index.js.map +1 -1
  330. package/dist/esm/RadioGroupSkeleton/index.js +1 -2
  331. package/dist/esm/RadioGroupSkeleton/index.js.map +1 -1
  332. package/dist/esm/Result/index.js +1 -2
  333. package/dist/esm/Result/index.js.map +1 -1
  334. package/dist/esm/ScrollButton/index.js +7 -9
  335. package/dist/esm/ScrollButton/index.js.map +1 -1
  336. package/dist/esm/ScrollButton/utils/useContainerPosition.js +0 -2
  337. package/dist/esm/ScrollButton/utils/useContainerPosition.js.map +1 -1
  338. package/dist/esm/ScrollButton/utils/useVisibility.js +2 -5
  339. package/dist/esm/ScrollButton/utils/useVisibility.js.map +1 -1
  340. package/dist/esm/Select/SelectList.js +11 -12
  341. package/dist/esm/Select/SelectList.js.map +1 -1
  342. package/dist/esm/Select/SelectToggle.js +0 -14
  343. package/dist/esm/Select/SelectToggle.js.map +1 -1
  344. package/dist/esm/Select/index.js +4 -10
  345. package/dist/esm/Select/index.js.map +1 -1
  346. package/dist/esm/Select/utils/defaultLocale.js.map +1 -1
  347. package/dist/esm/Skeleton/index.js +1 -2
  348. package/dist/esm/Skeleton/index.js.map +1 -1
  349. package/dist/esm/Switch/index.js +1 -11
  350. package/dist/esm/Switch/index.js.map +1 -1
  351. package/dist/esm/SwitchSkeleton/index.js +1 -2
  352. package/dist/esm/SwitchSkeleton/index.js.map +1 -1
  353. package/dist/esm/Tag/index.js +1 -2
  354. package/dist/esm/Tag/index.js.map +1 -1
  355. package/dist/esm/TagLink/index.js +1 -2
  356. package/dist/esm/TagLink/index.js.map +1 -1
  357. package/dist/esm/TagList/index.js +1 -4
  358. package/dist/esm/TagList/index.js.map +1 -1
  359. package/dist/esm/TagListSkeleton/index.js +1 -2
  360. package/dist/esm/TagListSkeleton/index.js.map +1 -1
  361. package/dist/esm/TagSkeleton/index.js +1 -2
  362. package/dist/esm/TagSkeleton/index.js.map +1 -1
  363. package/dist/esm/TextArea/index.js +1 -2
  364. package/dist/esm/TextArea/index.js.map +1 -1
  365. package/dist/esm/TextAreaSkeleton/index.js +1 -2
  366. package/dist/esm/TextAreaSkeleton/index.js.map +1 -1
  367. package/dist/esm/ThemeSwitcher/index.js +0 -2
  368. package/dist/esm/ThemeSwitcher/index.js.map +1 -1
  369. package/dist/esm/TimePicker/index.js +105 -0
  370. package/dist/esm/TimePicker/index.js.map +1 -0
  371. package/dist/esm/Video/index.js +1 -2
  372. package/dist/esm/Video/index.js.map +1 -1
  373. package/dist/esm/emotion.d.js.map +1 -1
  374. package/dist/esm/index.js.map +1 -1
  375. package/dist/esm/message/AlertIcon.js +0 -2
  376. package/dist/esm/message/AlertIcon.js.map +1 -1
  377. package/dist/esm/message/Message.js.map +1 -1
  378. package/dist/esm/message/index.js +7 -9
  379. package/dist/esm/message/index.js.map +1 -1
  380. package/dist/esm/message/styles.js.map +1 -1
  381. package/dist/types/TimePicker/index.d.ts +11 -0
  382. package/dist/types/TimePicker/index.d.ts.map +1 -0
  383. package/package.json +3 -2
@@ -1,60 +1,34 @@
1
1
  "use strict";
2
2
 
3
3
  function _typeof(obj) { "@babel/helpers - typeof"; return _typeof = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function (obj) { return typeof obj; } : function (obj) { return obj && "function" == typeof Symbol && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; }, _typeof(obj); }
4
-
5
4
  Object.defineProperty(exports, "__esModule", {
6
5
  value: true
7
6
  });
8
7
  exports["default"] = void 0;
9
-
10
8
  var _react = _interopRequireWildcard(require("react"));
11
-
12
9
  var _styled = _interopRequireDefault(require("@emotion/styled"));
13
-
14
10
  var _utils = require("@os-design/utils");
15
-
16
11
  var _media = require("@os-design/media");
17
-
18
12
  var _styles = require("@os-design/styles");
19
-
20
13
  var _menuUtils = require("@os-design/menu-utils");
21
-
22
14
  var _Popover = _interopRequireDefault(require("../Popover"));
23
-
24
15
  var _Modal = _interopRequireDefault(require("../Modal"));
25
-
26
16
  var _useFocusWithArrows = _interopRequireDefault(require("./utils/useFocusWithArrows"));
27
-
28
17
  var _excluded = ["closeOnSelect", "modalTitle", "trigger", "placement", "visible", "onClose", "size", "className", "id", "children"];
29
-
30
18
  var _templateObject, _templateObject2;
31
-
32
19
  function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; }
33
-
34
20
  function _getRequireWildcardCache(nodeInterop) { if (typeof WeakMap !== "function") return null; var cacheBabelInterop = new WeakMap(); var cacheNodeInterop = new WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(nodeInterop) { return nodeInterop ? cacheNodeInterop : cacheBabelInterop; })(nodeInterop); }
35
-
36
21
  function _interopRequireWildcard(obj, nodeInterop) { if (!nodeInterop && obj && obj.__esModule) { return obj; } if (obj === null || _typeof(obj) !== "object" && typeof obj !== "function") { return { "default": obj }; } var cache = _getRequireWildcardCache(nodeInterop); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (key !== "default" && Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } newObj["default"] = obj; if (cache) { cache.set(obj, newObj); } return newObj; }
37
-
38
22
  function _extends() { _extends = Object.assign ? Object.assign.bind() : function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }
39
-
40
23
  function _slicedToArray(arr, i) { return _arrayWithHoles(arr) || _iterableToArrayLimit(arr, i) || _unsupportedIterableToArray(arr, i) || _nonIterableRest(); }
41
-
42
24
  function _nonIterableRest() { throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); }
43
-
44
25
  function _unsupportedIterableToArray(o, minLen) { if (!o) return; if (typeof o === "string") return _arrayLikeToArray(o, minLen); var n = Object.prototype.toString.call(o).slice(8, -1); if (n === "Object" && o.constructor) n = o.constructor.name; if (n === "Map" || n === "Set") return Array.from(o); if (n === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen); }
45
-
46
26
  function _arrayLikeToArray(arr, len) { if (len == null || len > arr.length) len = arr.length; for (var i = 0, arr2 = new Array(len); i < len; i++) { arr2[i] = arr[i]; } return arr2; }
47
-
48
27
  function _iterableToArrayLimit(arr, i) { var _i = arr == null ? null : typeof Symbol !== "undefined" && arr[Symbol.iterator] || arr["@@iterator"]; if (_i == null) return; var _arr = []; var _n = true; var _d = false; var _s, _e; try { for (_i = _i.call(arr); !(_n = (_s = _i.next()).done); _n = true) { _arr.push(_s.value); if (i && _arr.length === i) break; } } catch (err) { _d = true; _e = err; } finally { try { if (!_n && _i["return"] != null) _i["return"](); } finally { if (_d) throw _e; } } return _arr; }
49
-
50
28
  function _arrayWithHoles(arr) { if (Array.isArray(arr)) return arr; }
51
-
52
29
  function _objectWithoutProperties(source, excluded) { if (source == null) return {}; var target = _objectWithoutPropertiesLoose(source, excluded); var key, i; if (Object.getOwnPropertySymbols) { var sourceSymbolKeys = Object.getOwnPropertySymbols(source); for (i = 0; i < sourceSymbolKeys.length; i++) { key = sourceSymbolKeys[i]; if (excluded.indexOf(key) >= 0) continue; if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue; target[key] = source[key]; } } return target; }
53
-
54
30
  function _objectWithoutPropertiesLoose(source, excluded) { if (source == null) return {}; var target = {}; var sourceKeys = Object.keys(source); var key, i; for (i = 0; i < sourceKeys.length; i++) { key = sourceKeys[i]; if (excluded.indexOf(key) >= 0) continue; target[key] = source[key]; } return target; }
55
-
56
31
  function _taggedTemplateLiteral(strings, raw) { if (!raw) { raw = strings.slice(0); } return Object.freeze(Object.defineProperties(strings, { raw: { value: Object.freeze(raw) } })); }
57
-
58
32
  var StyledPopover = (0, _styled["default"])(_Popover["default"])(_templateObject || (_templateObject = _taggedTemplateLiteral(["\n padding: ", "em 0;\n min-width: ", "em;\n max-height: ", "em;\n overflow: hidden;\n ", ";\n"])), function (p) {
59
33
  return p.theme.menuPaddingVertical;
60
34
  }, function (p) {
@@ -63,42 +37,41 @@ var StyledPopover = (0, _styled["default"])(_Popover["default"])(_templateObject
63
37
  return p.theme.menuMaxHeight;
64
38
  }, (0, _styles.enableScrollingStyles)('y'));
65
39
  var StyledModal = (0, _styled["default"])(_Modal["default"])(_templateObject2 || (_templateObject2 = _taggedTemplateLiteral(["\n padding-left: 0;\n padding-right: 0;\n"])));
40
+
66
41
  /**
67
42
  * The dropdown menu.
68
43
  */
69
-
70
44
  var Menu = /*#__PURE__*/(0, _react.forwardRef)(function (_ref, ref) {
71
45
  var _ref$closeOnSelect = _ref.closeOnSelect,
72
- closeOnSelect = _ref$closeOnSelect === void 0 ? true : _ref$closeOnSelect,
73
- modalTitle = _ref.modalTitle,
74
- trigger = _ref.trigger,
75
- _ref$placement = _ref.placement,
76
- placement = _ref$placement === void 0 ? 'bottom-start' : _ref$placement,
77
- visible = _ref.visible,
78
- _ref$onClose = _ref.onClose,
79
- onClose = _ref$onClose === void 0 ? function () {} : _ref$onClose,
80
- size = _ref.size,
81
- className = _ref.className,
82
- id = _ref.id,
83
- children = _ref.children,
84
- rest = _objectWithoutProperties(_ref, _excluded);
85
-
46
+ closeOnSelect = _ref$closeOnSelect === void 0 ? true : _ref$closeOnSelect,
47
+ modalTitle = _ref.modalTitle,
48
+ trigger = _ref.trigger,
49
+ _ref$placement = _ref.placement,
50
+ placement = _ref$placement === void 0 ? 'bottom-start' : _ref$placement,
51
+ visible = _ref.visible,
52
+ _ref$onClose = _ref.onClose,
53
+ onClose = _ref$onClose === void 0 ? function () {} : _ref$onClose,
54
+ size = _ref.size,
55
+ className = _ref.className,
56
+ id = _ref.id,
57
+ children = _ref.children,
58
+ rest = _objectWithoutProperties(_ref, _excluded);
86
59
  var _useForwardedRef = (0, _utils.useForwardedRef)(ref),
87
- _useForwardedRef2 = _slicedToArray(_useForwardedRef, 2),
88
- containerRef = _useForwardedRef2[0],
89
- mergedContainerRef = _useForwardedRef2[1];
90
-
60
+ _useForwardedRef2 = _slicedToArray(_useForwardedRef, 2),
61
+ containerRef = _useForwardedRef2[0],
62
+ mergedContainerRef = _useForwardedRef2[1];
91
63
  (0, _useFocusWithArrows["default"])(containerRef);
92
64
  (0, _utils.useKeyPress)(typeof window !== 'undefined' ? window : undefined, 'Escape', onClose);
93
65
  var isMinXs = (0, _media.useIsMinWidth)('xs');
94
66
  var menuId = (0, _react.useMemo)(function () {
95
67
  return id || "menu-".concat(Math.random().toString(36).slice(2, 11));
96
- }, [id]); // Replace the aria-haspopup attribute from true to menu
68
+ }, [id]);
97
69
 
70
+ // Replace the aria-haspopup attribute from true to menu
98
71
  (0, _utils.useBrowserLayoutEffect)(function () {
99
72
  if (!trigger) return;
100
73
  var _ref2 = trigger,
101
- current = _ref2.current;
74
+ current = _ref2.current;
102
75
  if (!current) return;
103
76
  current.setAttribute('aria-haspopup', 'menu');
104
77
  current.setAttribute('aria-controls', menuId);
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","names":["StyledPopover","styled","Popover","p","theme","menuPaddingVertical","menuMinWidth","menuMaxHeight","enableScrollingStyles","StyledModal","Modal","Menu","forwardRef","ref","closeOnSelect","modalTitle","trigger","placement","visible","onClose","size","className","id","children","rest","useForwardedRef","containerRef","mergedContainerRef","useFocusWithArrows","useKeyPress","window","undefined","isMinXs","useIsMinWidth","menuId","useMemo","Math","random","toString","slice","useBrowserLayoutEffect","current","setAttribute","contextValue","displayName"],"sources":["../../../src/Menu/index.tsx"],"sourcesContent":["import React, { forwardRef, RefObject, useMemo } from 'react';\nimport styled from '@emotion/styled';\nimport {\n useBrowserLayoutEffect,\n useForwardedRef,\n useKeyPress,\n} from '@os-design/utils';\nimport { useIsMinWidth } from '@os-design/media';\nimport { enableScrollingStyles } from '@os-design/styles';\nimport { MenuContext } from '@os-design/menu-utils';\nimport Popover, { PopoverProps } from '../Popover';\nimport Modal from '../Modal';\nimport useFocusWithArrows from './utils/useFocusWithArrows';\n\nexport interface MenuProps extends PopoverProps {\n /**\n * Whether the menu closes when the user selects a menu item.\n * @default true\n */\n closeOnSelect?: boolean;\n /**\n * The title of the modal.\n * @default undefined\n */\n modalTitle?: string;\n}\n\nconst StyledPopover = styled(Popover)`\n padding: ${(p) => p.theme.menuPaddingVertical}em 0;\n min-width: ${(p) => p.theme.menuMinWidth}em;\n max-height: ${(p) => p.theme.menuMaxHeight}em;\n overflow: hidden;\n ${enableScrollingStyles('y')};\n`;\n\nconst StyledModal = styled(Modal)`\n padding-left: 0;\n padding-right: 0;\n`;\n\n/**\n * The dropdown menu.\n */\nconst Menu = forwardRef<HTMLDivElement, MenuProps>(\n (\n {\n closeOnSelect = true,\n modalTitle,\n trigger,\n placement = 'bottom-start',\n visible,\n onClose = () => {},\n size,\n className,\n id,\n children,\n ...rest\n },\n ref\n ) => {\n const [containerRef, mergedContainerRef] = useForwardedRef(ref);\n useFocusWithArrows(containerRef);\n useKeyPress(\n (typeof window !== 'undefined' ? window : undefined) as EventTarget,\n 'Escape',\n onClose\n );\n const isMinXs = useIsMinWidth('xs');\n\n const menuId = useMemo(\n () => id || `menu-${Math.random().toString(36).slice(2, 11)}`,\n [id]\n );\n\n // Replace the aria-haspopup attribute from true to menu\n useBrowserLayoutEffect(() => {\n if (!trigger) return;\n const { current } = trigger as RefObject<Element>;\n if (!current) return;\n current.setAttribute('aria-haspopup', 'menu');\n current.setAttribute('aria-controls', menuId);\n }, [menuId]);\n\n const contextValue = useMemo(\n () => ({ closeOnSelect, onClose }),\n [closeOnSelect, onClose]\n );\n\n return (\n <MenuContext.Provider value={contextValue}>\n {isMinXs ? (\n <StyledPopover\n trigger={trigger}\n placement={placement}\n visible={visible}\n onClose={onClose}\n size={size}\n className={className}\n id={menuId}\n role='menu'\n {...rest}\n ref={mergedContainerRef}\n >\n {children}\n </StyledPopover>\n ) : (\n <StyledModal\n title={modalTitle}\n footer={null}\n visible={visible}\n onClose={onClose}\n size={size}\n className={className}\n id={menuId}\n role='menu'\n ref={mergedContainerRef}\n >\n {children}\n </StyledModal>\n )}\n </MenuContext.Provider>\n );\n }\n);\n\nMenu.displayName = 'Menu';\n\nexport default Menu;\n"],"mappings":"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"}
1
+ {"version":3,"file":"index.js","names":["StyledPopover","styled","Popover","p","theme","menuPaddingVertical","menuMinWidth","menuMaxHeight","enableScrollingStyles","StyledModal","Modal","Menu","forwardRef","ref","closeOnSelect","modalTitle","trigger","placement","visible","onClose","size","className","id","children","rest","useForwardedRef","containerRef","mergedContainerRef","useFocusWithArrows","useKeyPress","window","undefined","isMinXs","useIsMinWidth","menuId","useMemo","Math","random","toString","slice","useBrowserLayoutEffect","current","setAttribute","contextValue","displayName"],"sources":["../../../src/Menu/index.tsx"],"sourcesContent":["import React, { forwardRef, RefObject, useMemo } from 'react';\nimport styled from '@emotion/styled';\nimport {\n useBrowserLayoutEffect,\n useForwardedRef,\n useKeyPress,\n} from '@os-design/utils';\nimport { useIsMinWidth } from '@os-design/media';\nimport { enableScrollingStyles } from '@os-design/styles';\nimport { MenuContext } from '@os-design/menu-utils';\nimport Popover, { PopoverProps } from '../Popover';\nimport Modal from '../Modal';\nimport useFocusWithArrows from './utils/useFocusWithArrows';\n\nexport interface MenuProps extends PopoverProps {\n /**\n * Whether the menu closes when the user selects a menu item.\n * @default true\n */\n closeOnSelect?: boolean;\n /**\n * The title of the modal.\n * @default undefined\n */\n modalTitle?: string;\n}\n\nconst StyledPopover = styled(Popover)`\n padding: ${(p) => p.theme.menuPaddingVertical}em 0;\n min-width: ${(p) => p.theme.menuMinWidth}em;\n max-height: ${(p) => p.theme.menuMaxHeight}em;\n overflow: hidden;\n ${enableScrollingStyles('y')};\n`;\n\nconst StyledModal = styled(Modal)`\n padding-left: 0;\n padding-right: 0;\n`;\n\n/**\n * The dropdown menu.\n */\nconst Menu = forwardRef<HTMLDivElement, MenuProps>(\n (\n {\n closeOnSelect = true,\n modalTitle,\n trigger,\n placement = 'bottom-start',\n visible,\n onClose = () => {},\n size,\n className,\n id,\n children,\n ...rest\n },\n ref\n ) => {\n const [containerRef, mergedContainerRef] = useForwardedRef(ref);\n useFocusWithArrows(containerRef);\n useKeyPress(\n (typeof window !== 'undefined' ? window : undefined) as EventTarget,\n 'Escape',\n onClose\n );\n const isMinXs = useIsMinWidth('xs');\n\n const menuId = useMemo(\n () => id || `menu-${Math.random().toString(36).slice(2, 11)}`,\n [id]\n );\n\n // Replace the aria-haspopup attribute from true to menu\n useBrowserLayoutEffect(() => {\n if (!trigger) return;\n const { current } = trigger as RefObject<Element>;\n if (!current) return;\n current.setAttribute('aria-haspopup', 'menu');\n current.setAttribute('aria-controls', menuId);\n }, [menuId]);\n\n const contextValue = useMemo(\n () => ({ closeOnSelect, onClose }),\n [closeOnSelect, onClose]\n );\n\n return (\n <MenuContext.Provider value={contextValue}>\n {isMinXs ? (\n <StyledPopover\n trigger={trigger}\n placement={placement}\n visible={visible}\n onClose={onClose}\n size={size}\n className={className}\n id={menuId}\n role='menu'\n {...rest}\n ref={mergedContainerRef}\n >\n {children}\n </StyledPopover>\n ) : (\n <StyledModal\n title={modalTitle}\n footer={null}\n visible={visible}\n onClose={onClose}\n size={size}\n className={className}\n id={menuId}\n role='menu'\n ref={mergedContainerRef}\n >\n {children}\n </StyledModal>\n )}\n </MenuContext.Provider>\n );\n }\n);\n\nMenu.displayName = 'Menu';\n\nexport default Menu;\n"],"mappings":"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"}
@@ -4,32 +4,22 @@ Object.defineProperty(exports, "__esModule", {
4
4
  value: true
5
5
  });
6
6
  exports["default"] = void 0;
7
-
8
7
  var _react = require("react");
9
-
10
8
  var _utils = require("@os-design/utils");
11
-
12
9
  function _toConsumableArray(arr) { return _arrayWithoutHoles(arr) || _iterableToArray(arr) || _unsupportedIterableToArray(arr) || _nonIterableSpread(); }
13
-
14
10
  function _nonIterableSpread() { throw new TypeError("Invalid attempt to spread non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); }
15
-
16
11
  function _unsupportedIterableToArray(o, minLen) { if (!o) return; if (typeof o === "string") return _arrayLikeToArray(o, minLen); var n = Object.prototype.toString.call(o).slice(8, -1); if (n === "Object" && o.constructor) n = o.constructor.name; if (n === "Map" || n === "Set") return Array.from(o); if (n === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen); }
17
-
18
12
  function _iterableToArray(iter) { if (typeof Symbol !== "undefined" && iter[Symbol.iterator] != null || iter["@@iterator"] != null) return Array.from(iter); }
19
-
20
13
  function _arrayWithoutHoles(arr) { if (Array.isArray(arr)) return _arrayLikeToArray(arr); }
21
-
22
14
  function _arrayLikeToArray(arr, len) { if (len == null || len > arr.length) len = arr.length; for (var i = 0, arr2 = new Array(len); i < len; i++) { arr2[i] = arr[i]; } return arr2; }
23
-
24
15
  var useFocusWithArrows = function useFocusWithArrows(ref) {
25
16
  var arrowKeyPressListener = (0, _react.useCallback)(function (e) {
26
17
  if (!ref.current) return;
27
18
  var focusableListItems = ref.current.querySelectorAll('button:not([disabled])');
28
19
  var _document = document,
29
- activeElement = _document.activeElement;
20
+ activeElement = _document.activeElement;
30
21
  var curFocusedIndex = activeElement ? _toConsumableArray(focusableListItems).indexOf(activeElement) : -1;
31
22
  var nextFocusedIndex;
32
-
33
23
  if (curFocusedIndex === -1 && e.key === 'ArrowUp') {
34
24
  nextFocusedIndex = focusableListItems.length - 1;
35
25
  } else if (curFocusedIndex === -1 && e.key === 'ArrowDown') {
@@ -39,7 +29,6 @@ var useFocusWithArrows = function useFocusWithArrows(ref) {
39
29
  } else if (curFocusedIndex > -1 && e.key === 'ArrowDown') {
40
30
  nextFocusedIndex = curFocusedIndex < focusableListItems.length - 1 ? curFocusedIndex + 1 : 0;
41
31
  }
42
-
43
32
  if (nextFocusedIndex === undefined) return;
44
33
  var nextFocusedListItem = focusableListItems.item(nextFocusedIndex);
45
34
  if (!nextFocusedListItem) return;
@@ -48,7 +37,6 @@ var useFocusWithArrows = function useFocusWithArrows(ref) {
48
37
  }, [ref]);
49
38
  (0, _utils.useKeyPress)(typeof window !== 'undefined' ? window : undefined, ['ArrowUp', 'ArrowDown'], arrowKeyPressListener);
50
39
  };
51
-
52
40
  var _default = useFocusWithArrows;
53
41
  exports["default"] = _default;
54
42
  //# sourceMappingURL=useFocusWithArrows.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"useFocusWithArrows.js","names":["useFocusWithArrows","ref","arrowKeyPressListener","useCallback","e","current","focusableListItems","querySelectorAll","document","activeElement","curFocusedIndex","indexOf","nextFocusedIndex","key","length","undefined","nextFocusedListItem","item","focus","preventDefault","useKeyPress","window"],"sources":["../../../../src/Menu/utils/useFocusWithArrows.ts"],"sourcesContent":["import { RefObject, useCallback } from 'react';\nimport { KeyPressListener, useKeyPress } from '@os-design/utils';\n\nconst useFocusWithArrows = (ref: RefObject<Element>): void => {\n const arrowKeyPressListener = useCallback<KeyPressListener>(\n (e) => {\n if (!ref.current) return;\n const focusableListItems = ref.current.querySelectorAll<HTMLElement>(\n 'button:not([disabled])'\n );\n const { activeElement } = document;\n const curFocusedIndex = activeElement\n ? ([...focusableListItems] as Element[]).indexOf(activeElement)\n : -1;\n\n let nextFocusedIndex;\n if (curFocusedIndex === -1 && e.key === 'ArrowUp') {\n nextFocusedIndex = focusableListItems.length - 1;\n } else if (curFocusedIndex === -1 && e.key === 'ArrowDown') {\n nextFocusedIndex = 0;\n } else if (curFocusedIndex > -1 && e.key === 'ArrowUp') {\n nextFocusedIndex =\n curFocusedIndex > 0\n ? curFocusedIndex - 1\n : focusableListItems.length - 1;\n } else if (curFocusedIndex > -1 && e.key === 'ArrowDown') {\n nextFocusedIndex =\n curFocusedIndex < focusableListItems.length - 1\n ? curFocusedIndex + 1\n : 0;\n }\n\n if (nextFocusedIndex === undefined) return;\n const nextFocusedListItem = focusableListItems.item(nextFocusedIndex);\n if (!nextFocusedListItem) return;\n\n nextFocusedListItem.focus();\n e.preventDefault();\n },\n [ref]\n );\n\n useKeyPress(\n (typeof window !== 'undefined' ? window : undefined) as EventTarget,\n ['ArrowUp', 'ArrowDown'],\n arrowKeyPressListener\n );\n};\n\nexport default useFocusWithArrows;\n"],"mappings":";;;;;;;AAAA;;AACA;;;;;;;;;;;;;;AAEA,IAAMA,kBAAkB,GAAG,SAArBA,kBAAqB,CAACC,GAAD,EAAmC;EAC5D,IAAMC,qBAAqB,GAAG,IAAAC,kBAAA,EAC5B,UAACC,CAAD,EAAO;IACL,IAAI,CAACH,GAAG,CAACI,OAAT,EAAkB;IAClB,IAAMC,kBAAkB,GAAGL,GAAG,CAACI,OAAJ,CAAYE,gBAAZ,CACzB,wBADyB,CAA3B;IAGA,gBAA0BC,QAA1B;IAAA,IAAQC,aAAR,aAAQA,aAAR;IACA,IAAMC,eAAe,GAAGD,aAAa,GACjC,mBAAKH,kBAAL,EAAuCK,OAAvC,CAA+CF,aAA/C,CADiC,GAEjC,CAAC,CAFL;IAIA,IAAIG,gBAAJ;;IACA,IAAIF,eAAe,KAAK,CAAC,CAArB,IAA0BN,CAAC,CAACS,GAAF,KAAU,SAAxC,EAAmD;MACjDD,gBAAgB,GAAGN,kBAAkB,CAACQ,MAAnB,GAA4B,CAA/C;IACD,CAFD,MAEO,IAAIJ,eAAe,KAAK,CAAC,CAArB,IAA0BN,CAAC,CAACS,GAAF,KAAU,WAAxC,EAAqD;MAC1DD,gBAAgB,GAAG,CAAnB;IACD,CAFM,MAEA,IAAIF,eAAe,GAAG,CAAC,CAAnB,IAAwBN,CAAC,CAACS,GAAF,KAAU,SAAtC,EAAiD;MACtDD,gBAAgB,GACdF,eAAe,GAAG,CAAlB,GACIA,eAAe,GAAG,CADtB,GAEIJ,kBAAkB,CAACQ,MAAnB,GAA4B,CAHlC;IAID,CALM,MAKA,IAAIJ,eAAe,GAAG,CAAC,CAAnB,IAAwBN,CAAC,CAACS,GAAF,KAAU,WAAtC,EAAmD;MACxDD,gBAAgB,GACdF,eAAe,GAAGJ,kBAAkB,CAACQ,MAAnB,GAA4B,CAA9C,GACIJ,eAAe,GAAG,CADtB,GAEI,CAHN;IAID;;IAED,IAAIE,gBAAgB,KAAKG,SAAzB,EAAoC;IACpC,IAAMC,mBAAmB,GAAGV,kBAAkB,CAACW,IAAnB,CAAwBL,gBAAxB,CAA5B;IACA,IAAI,CAACI,mBAAL,EAA0B;IAE1BA,mBAAmB,CAACE,KAApB;IACAd,CAAC,CAACe,cAAF;EACD,CAlC2B,EAmC5B,CAAClB,GAAD,CAnC4B,CAA9B;EAsCA,IAAAmB,kBAAA,EACG,OAAOC,MAAP,KAAkB,WAAlB,GAAgCA,MAAhC,GAAyCN,SAD5C,EAEE,CAAC,SAAD,EAAY,WAAZ,CAFF,EAGEb,qBAHF;AAKD,CA5CD;;eA8CeF,kB"}
1
+ {"version":3,"file":"useFocusWithArrows.js","names":["useFocusWithArrows","ref","arrowKeyPressListener","useCallback","e","current","focusableListItems","querySelectorAll","document","activeElement","curFocusedIndex","indexOf","nextFocusedIndex","key","length","undefined","nextFocusedListItem","item","focus","preventDefault","useKeyPress","window"],"sources":["../../../../src/Menu/utils/useFocusWithArrows.ts"],"sourcesContent":["import { RefObject, useCallback } from 'react';\nimport { KeyPressListener, useKeyPress } from '@os-design/utils';\n\nconst useFocusWithArrows = (ref: RefObject<Element>): void => {\n const arrowKeyPressListener = useCallback<KeyPressListener>(\n (e) => {\n if (!ref.current) return;\n const focusableListItems = ref.current.querySelectorAll<HTMLElement>(\n 'button:not([disabled])'\n );\n const { activeElement } = document;\n const curFocusedIndex = activeElement\n ? ([...focusableListItems] as Element[]).indexOf(activeElement)\n : -1;\n\n let nextFocusedIndex;\n if (curFocusedIndex === -1 && e.key === 'ArrowUp') {\n nextFocusedIndex = focusableListItems.length - 1;\n } else if (curFocusedIndex === -1 && e.key === 'ArrowDown') {\n nextFocusedIndex = 0;\n } else if (curFocusedIndex > -1 && e.key === 'ArrowUp') {\n nextFocusedIndex =\n curFocusedIndex > 0\n ? curFocusedIndex - 1\n : focusableListItems.length - 1;\n } else if (curFocusedIndex > -1 && e.key === 'ArrowDown') {\n nextFocusedIndex =\n curFocusedIndex < focusableListItems.length - 1\n ? curFocusedIndex + 1\n : 0;\n }\n\n if (nextFocusedIndex === undefined) return;\n const nextFocusedListItem = focusableListItems.item(nextFocusedIndex);\n if (!nextFocusedListItem) return;\n\n nextFocusedListItem.focus();\n e.preventDefault();\n },\n [ref]\n );\n\n useKeyPress(\n (typeof window !== 'undefined' ? window : undefined) as EventTarget,\n ['ArrowUp', 'ArrowDown'],\n arrowKeyPressListener\n );\n};\n\nexport default useFocusWithArrows;\n"],"mappings":";;;;;;AAAA;AACA;AAAiE;AAAA;AAAA;AAAA;AAAA;AAAA;AAEjE,IAAMA,kBAAkB,GAAG,SAArBA,kBAAkB,CAAIC,GAAuB,EAAW;EAC5D,IAAMC,qBAAqB,GAAG,IAAAC,kBAAW,EACvC,UAACC,CAAC,EAAK;IACL,IAAI,CAACH,GAAG,CAACI,OAAO,EAAE;IAClB,IAAMC,kBAAkB,GAAGL,GAAG,CAACI,OAAO,CAACE,gBAAgB,CACrD,wBAAwB,CACzB;IACD,gBAA0BC,QAAQ;MAA1BC,aAAa,aAAbA,aAAa;IACrB,IAAMC,eAAe,GAAGD,aAAa,GACjC,mBAAKH,kBAAkB,EAAgBK,OAAO,CAACF,aAAa,CAAC,GAC7D,CAAC,CAAC;IAEN,IAAIG,gBAAgB;IACpB,IAAIF,eAAe,KAAK,CAAC,CAAC,IAAIN,CAAC,CAACS,GAAG,KAAK,SAAS,EAAE;MACjDD,gBAAgB,GAAGN,kBAAkB,CAACQ,MAAM,GAAG,CAAC;IAClD,CAAC,MAAM,IAAIJ,eAAe,KAAK,CAAC,CAAC,IAAIN,CAAC,CAACS,GAAG,KAAK,WAAW,EAAE;MAC1DD,gBAAgB,GAAG,CAAC;IACtB,CAAC,MAAM,IAAIF,eAAe,GAAG,CAAC,CAAC,IAAIN,CAAC,CAACS,GAAG,KAAK,SAAS,EAAE;MACtDD,gBAAgB,GACdF,eAAe,GAAG,CAAC,GACfA,eAAe,GAAG,CAAC,GACnBJ,kBAAkB,CAACQ,MAAM,GAAG,CAAC;IACrC,CAAC,MAAM,IAAIJ,eAAe,GAAG,CAAC,CAAC,IAAIN,CAAC,CAACS,GAAG,KAAK,WAAW,EAAE;MACxDD,gBAAgB,GACdF,eAAe,GAAGJ,kBAAkB,CAACQ,MAAM,GAAG,CAAC,GAC3CJ,eAAe,GAAG,CAAC,GACnB,CAAC;IACT;IAEA,IAAIE,gBAAgB,KAAKG,SAAS,EAAE;IACpC,IAAMC,mBAAmB,GAAGV,kBAAkB,CAACW,IAAI,CAACL,gBAAgB,CAAC;IACrE,IAAI,CAACI,mBAAmB,EAAE;IAE1BA,mBAAmB,CAACE,KAAK,EAAE;IAC3Bd,CAAC,CAACe,cAAc,EAAE;EACpB,CAAC,EACD,CAAClB,GAAG,CAAC,CACN;EAED,IAAAmB,kBAAW,EACR,OAAOC,MAAM,KAAK,WAAW,GAAGA,MAAM,GAAGN,SAAS,EACnD,CAAC,SAAS,EAAE,WAAW,CAAC,EACxBb,qBAAqB,CACtB;AACH,CAAC;AAAC,eAEaF,kBAAkB;AAAA"}
@@ -1,38 +1,26 @@
1
1
  "use strict";
2
2
 
3
3
  function _typeof(obj) { "@babel/helpers - typeof"; return _typeof = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function (obj) { return typeof obj; } : function (obj) { return obj && "function" == typeof Symbol && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; }, _typeof(obj); }
4
-
5
4
  Object.defineProperty(exports, "__esModule", {
6
5
  value: true
7
6
  });
8
7
  exports["default"] = void 0;
9
-
10
8
  var _react = _interopRequireWildcard(require("react"));
11
-
12
9
  var _styled = _interopRequireDefault(require("@emotion/styled"));
13
-
14
10
  var _theming = require("@os-design/theming");
15
-
16
11
  var _templateObject;
17
-
18
12
  function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; }
19
-
20
13
  function _getRequireWildcardCache(nodeInterop) { if (typeof WeakMap !== "function") return null; var cacheBabelInterop = new WeakMap(); var cacheNodeInterop = new WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(nodeInterop) { return nodeInterop ? cacheNodeInterop : cacheBabelInterop; })(nodeInterop); }
21
-
22
14
  function _interopRequireWildcard(obj, nodeInterop) { if (!nodeInterop && obj && obj.__esModule) { return obj; } if (obj === null || _typeof(obj) !== "object" && typeof obj !== "function") { return { "default": obj }; } var cache = _getRequireWildcardCache(nodeInterop); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (key !== "default" && Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } newObj["default"] = obj; if (cache) { cache.set(obj, newObj); } return newObj; }
23
-
24
15
  function _extends() { _extends = Object.assign ? Object.assign.bind() : function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }
25
-
26
16
  function _taggedTemplateLiteral(strings, raw) { if (!raw) { raw = strings.slice(0); } return Object.freeze(Object.defineProperties(strings, { raw: { value: Object.freeze(raw) } })); }
27
-
28
17
  var Container = _styled["default"].div(_templateObject || (_templateObject = _taggedTemplateLiteral(["\n padding-top: 0.4em;\n border-bottom: 1px solid ", ";\n margin-bottom: 0.4em;\n"])), function (p) {
29
18
  return (0, _theming.clr)(p.theme.menuDividerColor);
30
19
  });
20
+
31
21
  /**
32
22
  * The divider of menu items.
33
23
  */
34
-
35
-
36
24
  var MenuDivider = /*#__PURE__*/(0, _react.forwardRef)(function (props, ref) {
37
25
  return /*#__PURE__*/_react["default"].createElement(Container, _extends({
38
26
  role: "separator"
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","names":["Container","styled","div","p","clr","theme","menuDividerColor","MenuDivider","forwardRef","props","ref","displayName"],"sources":["../../../src/MenuDivider/index.tsx"],"sourcesContent":["import React, { forwardRef } from 'react';\nimport styled from '@emotion/styled';\nimport { clr } from '@os-design/theming';\n\nexport type MenuDividerProps = Omit<JSX.IntrinsicElements['div'], 'ref'>;\n\nconst Container = styled.div`\n padding-top: 0.4em;\n border-bottom: 1px solid ${(p) => clr(p.theme.menuDividerColor)};\n margin-bottom: 0.4em;\n`;\n\n/**\n * The divider of menu items.\n */\nconst MenuDivider = forwardRef<HTMLDivElement, MenuDividerProps>(\n (props, ref) => <Container role='separator' {...props} ref={ref} />\n);\n\nMenuDivider.displayName = 'MenuDivider';\n\nexport default MenuDivider;\n"],"mappings":";;;;;;;;;AAAA;;AACA;;AACA;;;;;;;;;;;;;;AAIA,IAAMA,SAAS,GAAGC,kBAAA,CAAOC,GAAV,0JAEc,UAACC,CAAD;EAAA,OAAO,IAAAC,YAAA,EAAID,CAAC,CAACE,KAAF,CAAQC,gBAAZ,CAAP;AAAA,CAFd,CAAf;AAMA;AACA;AACA;;;AACA,IAAMC,WAAW,gBAAG,IAAAC,iBAAA,EAClB,UAACC,KAAD,EAAQC,GAAR;EAAA,oBAAgB,gCAAC,SAAD;IAAW,IAAI,EAAC;EAAhB,GAAgCD,KAAhC;IAAuC,GAAG,EAAEC;EAA5C,GAAhB;AAAA,CADkB,CAApB;AAIAH,WAAW,CAACI,WAAZ,GAA0B,aAA1B;eAEeJ,W"}
1
+ {"version":3,"file":"index.js","names":["Container","styled","div","p","clr","theme","menuDividerColor","MenuDivider","forwardRef","props","ref","displayName"],"sources":["../../../src/MenuDivider/index.tsx"],"sourcesContent":["import React, { forwardRef } from 'react';\nimport styled from '@emotion/styled';\nimport { clr } from '@os-design/theming';\n\nexport type MenuDividerProps = Omit<JSX.IntrinsicElements['div'], 'ref'>;\n\nconst Container = styled.div`\n padding-top: 0.4em;\n border-bottom: 1px solid ${(p) => clr(p.theme.menuDividerColor)};\n margin-bottom: 0.4em;\n`;\n\n/**\n * The divider of menu items.\n */\nconst MenuDivider = forwardRef<HTMLDivElement, MenuDividerProps>(\n (props, ref) => <Container role='separator' {...props} ref={ref} />\n);\n\nMenuDivider.displayName = 'MenuDivider';\n\nexport default MenuDivider;\n"],"mappings":";;;;;;;AAAA;AACA;AACA;AAAyC;AAAA;AAAA;AAAA;AAAA;AAAA;AAIzC,IAAMA,SAAS,GAAGC,kBAAM,CAACC,GAAG,0JAEC,UAACC,CAAC;EAAA,OAAK,IAAAC,YAAG,EAACD,CAAC,CAACE,KAAK,CAACC,gBAAgB,CAAC;AAAA,EAEhE;;AAED;AACA;AACA;AACA,IAAMC,WAAW,gBAAG,IAAAC,iBAAU,EAC5B,UAACC,KAAK,EAAEC,GAAG;EAAA,oBAAK,gCAAC,SAAS;IAAC,IAAI,EAAC;EAAW,GAAKD,KAAK;IAAE,GAAG,EAAEC;EAAI,GAAG;AAAA,EACpE;AAEDH,WAAW,CAACI,WAAW,GAAG,aAAa;AAAC,eAEzBJ,WAAW;AAAA"}
@@ -1,64 +1,36 @@
1
1
  "use strict";
2
2
 
3
3
  function _typeof(obj) { "@babel/helpers - typeof"; return _typeof = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function (obj) { return typeof obj; } : function (obj) { return obj && "function" == typeof Symbol && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; }, _typeof(obj); }
4
-
5
4
  Object.defineProperty(exports, "__esModule", {
6
5
  value: true
7
6
  });
8
7
  exports["default"] = void 0;
9
-
10
8
  var _react = _interopRequireWildcard(require("react"));
11
-
12
9
  var _styled = _interopRequireDefault(require("@emotion/styled"));
13
-
14
10
  var _theming = require("@os-design/theming");
15
-
16
11
  var _styles = require("@os-design/styles");
17
-
18
12
  var _utils = require("@os-design/utils");
19
-
20
13
  var _media = require("@os-design/media");
21
-
22
14
  var _menuUtils = require("@os-design/menu-utils");
23
-
24
15
  var _MenuItem = _interopRequireDefault(require("../MenuItem"));
25
-
26
16
  var _excluded = ["title", "maxSelectedItems", "value", "defaultValue", "onChange", "children"];
27
-
28
17
  var _templateObject, _templateObject2;
29
-
30
18
  function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; }
31
-
32
19
  function _getRequireWildcardCache(nodeInterop) { if (typeof WeakMap !== "function") return null; var cacheBabelInterop = new WeakMap(); var cacheNodeInterop = new WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(nodeInterop) { return nodeInterop ? cacheNodeInterop : cacheBabelInterop; })(nodeInterop); }
33
-
34
20
  function _interopRequireWildcard(obj, nodeInterop) { if (!nodeInterop && obj && obj.__esModule) { return obj; } if (obj === null || _typeof(obj) !== "object" && typeof obj !== "function") { return { "default": obj }; } var cache = _getRequireWildcardCache(nodeInterop); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (key !== "default" && Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } newObj["default"] = obj; if (cache) { cache.set(obj, newObj); } return newObj; }
35
-
36
21
  function _extends() { _extends = Object.assign ? Object.assign.bind() : function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }
37
-
38
22
  function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); enumerableOnly && (symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; }
39
-
40
23
  function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys(Object(source), !0).forEach(function (key) { _defineProperty(target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; }
41
-
42
24
  function _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }
43
-
44
25
  function _slicedToArray(arr, i) { return _arrayWithHoles(arr) || _iterableToArrayLimit(arr, i) || _unsupportedIterableToArray(arr, i) || _nonIterableRest(); }
45
-
46
26
  function _nonIterableRest() { throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); }
47
-
48
27
  function _unsupportedIterableToArray(o, minLen) { if (!o) return; if (typeof o === "string") return _arrayLikeToArray(o, minLen); var n = Object.prototype.toString.call(o).slice(8, -1); if (n === "Object" && o.constructor) n = o.constructor.name; if (n === "Map" || n === "Set") return Array.from(o); if (n === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen); }
49
-
50
28
  function _arrayLikeToArray(arr, len) { if (len == null || len > arr.length) len = arr.length; for (var i = 0, arr2 = new Array(len); i < len; i++) { arr2[i] = arr[i]; } return arr2; }
51
-
52
29
  function _iterableToArrayLimit(arr, i) { var _i = arr == null ? null : typeof Symbol !== "undefined" && arr[Symbol.iterator] || arr["@@iterator"]; if (_i == null) return; var _arr = []; var _n = true; var _d = false; var _s, _e; try { for (_i = _i.call(arr); !(_n = (_s = _i.next()).done); _n = true) { _arr.push(_s.value); if (i && _arr.length === i) break; } } catch (err) { _d = true; _e = err; } finally { try { if (!_n && _i["return"] != null) _i["return"](); } finally { if (_d) throw _e; } } return _arr; }
53
-
54
30
  function _arrayWithHoles(arr) { if (Array.isArray(arr)) return arr; }
55
-
56
31
  function _objectWithoutProperties(source, excluded) { if (source == null) return {}; var target = _objectWithoutPropertiesLoose(source, excluded); var key, i; if (Object.getOwnPropertySymbols) { var sourceSymbolKeys = Object.getOwnPropertySymbols(source); for (i = 0; i < sourceSymbolKeys.length; i++) { key = sourceSymbolKeys[i]; if (excluded.indexOf(key) >= 0) continue; if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue; target[key] = source[key]; } } return target; }
57
-
58
32
  function _objectWithoutPropertiesLoose(source, excluded) { if (source == null) return {}; var target = {}; var sourceKeys = Object.keys(source); var key, i; for (i = 0; i < sourceKeys.length; i++) { key = sourceKeys[i]; if (excluded.indexOf(key) >= 0) continue; target[key] = source[key]; } return target; }
59
-
60
33
  function _taggedTemplateLiteral(strings, raw) { if (!raw) { raw = strings.slice(0); } return Object.freeze(Object.defineProperties(strings, { raw: { value: Object.freeze(raw) } })); }
61
-
62
34
  var Title = _styled["default"].div(_templateObject || (_templateObject = _taggedTemplateLiteral(["\n font-weight: 500;\n font-size: ", "em;\n color: ", ";\n margin-bottom: 0.4em;\n\n padding: 0 ", "em;\n ", " {\n padding: 0 0.8em;\n }\n\n ", ";\n"])), function (p) {
63
35
  return p.theme.sizes.small;
64
36
  }, function (p) {
@@ -66,40 +38,35 @@ var Title = _styled["default"].div(_templateObject || (_templateObject = _tagged
66
38
  }, function (p) {
67
39
  return p.theme.modalBodyPaddingHorizontal[0];
68
40
  }, _media.m.min.xs, _styles.ellipsisStyles);
69
-
70
41
  var Container = _styled["default"].div(_templateObject2 || (_templateObject2 = _taggedTemplateLiteral(["\n &:not(:last-of-type) {\n padding-bottom: 0.4em;\n border-bottom: 1px solid ", ";\n }\n &:not(:first-of-type) {\n margin-top: ", "em;\n ", " {\n margin-top: 0.4em;\n }\n }\n"])), function (p) {
71
42
  return (0, _theming.clr)(p.theme.menuGroupColorDivider);
72
43
  }, function (p) {
73
44
  return p.theme.modalBodyPaddingVertical[0];
74
45
  }, _media.m.min.xs);
46
+
75
47
  /**
76
48
  * The group of menu items.
77
49
  */
78
-
79
-
80
50
  var MenuGroup = /*#__PURE__*/(0, _react.forwardRef)(function (_ref, ref) {
81
51
  var title = _ref.title,
82
- _ref$maxSelectedItems = _ref.maxSelectedItems,
83
- maxSelectedItems = _ref$maxSelectedItems === void 0 ? 1 : _ref$maxSelectedItems,
84
- value = _ref.value,
85
- defaultValue = _ref.defaultValue,
86
- _ref$onChange = _ref.onChange,
87
- onChange = _ref$onChange === void 0 ? function () {} : _ref$onChange,
88
- children = _ref.children,
89
- rest = _objectWithoutProperties(_ref, _excluded);
90
-
52
+ _ref$maxSelectedItems = _ref.maxSelectedItems,
53
+ maxSelectedItems = _ref$maxSelectedItems === void 0 ? 1 : _ref$maxSelectedItems,
54
+ value = _ref.value,
55
+ defaultValue = _ref.defaultValue,
56
+ _ref$onChange = _ref.onChange,
57
+ onChange = _ref$onChange === void 0 ? function () {} : _ref$onChange,
58
+ children = _ref.children,
59
+ rest = _objectWithoutProperties(_ref, _excluded);
91
60
  var _useContext = (0, _react.useContext)(_menuUtils.MenuContext),
92
- closeOnSelect = _useContext.closeOnSelect;
93
-
61
+ closeOnSelect = _useContext.closeOnSelect;
94
62
  var _useForwardedState = (0, _utils.useForwardedState)({
95
- value: value,
96
- defaultValue: defaultValue,
97
- onChange: onChange
98
- }),
99
- _useForwardedState2 = _slicedToArray(_useForwardedState, 2),
100
- forwardedValue = _useForwardedState2[0],
101
- setForwardedValue = _useForwardedState2[1];
102
-
63
+ value: value,
64
+ defaultValue: defaultValue,
65
+ onChange: onChange
66
+ }),
67
+ _useForwardedState2 = _slicedToArray(_useForwardedState, 2),
68
+ forwardedValue = _useForwardedState2[0],
69
+ setForwardedValue = _useForwardedState2[1];
103
70
  var onSelect = (0, _menuUtils.useSelectHandler)({
104
71
  value: forwardedValue || [],
105
72
  onChange: setForwardedValue,
@@ -110,8 +77,8 @@ var MenuGroup = /*#__PURE__*/(0, _react.forwardRef)(function (_ref, ref) {
110
77
  return _react["default"].Children.map(children, function (child) {
111
78
  if (! /*#__PURE__*/_react["default"].isValidElement(child) || child.type !== _MenuItem["default"]) return child;
112
79
  var _child$props = child.props,
113
- childValue = _child$props.value,
114
- childOnClick = _child$props.onClick;
80
+ childValue = _child$props.value,
81
+ childOnClick = _child$props.onClick;
115
82
  return /*#__PURE__*/_react["default"].cloneElement(child, _objectSpread({
116
83
  key: childValue,
117
84
  selected: selectedItems.includes(childValue),
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","names":["Title","styled","div","p","theme","sizes","small","clr","menuGroupColorTitle","modalBodyPaddingHorizontal","m","min","xs","ellipsisStyles","Container","menuGroupColorDivider","modalBodyPaddingVertical","MenuGroup","forwardRef","ref","title","maxSelectedItems","value","defaultValue","onChange","children","rest","useContext","MenuContext","closeOnSelect","useForwardedState","forwardedValue","setForwardedValue","onSelect","useSelectHandler","menuItems","useMemo","selectedItems","React","Children","map","child","isValidElement","type","MenuItem","props","childValue","childOnClick","onClick","cloneElement","key","selected","includes","e","role","displayName"],"sources":["../../../src/MenuGroup/index.tsx"],"sourcesContent":["import React, { forwardRef, useContext, useMemo } from 'react';\nimport styled from '@emotion/styled';\nimport { clr } from '@os-design/theming';\nimport { ellipsisStyles } from '@os-design/styles';\nimport { useForwardedState } from '@os-design/utils';\nimport { m } from '@os-design/media';\nimport { useSelectHandler, MenuContext } from '@os-design/menu-utils';\nimport MenuItem from '../MenuItem';\n\ntype JsxDivProps = Omit<\n JSX.IntrinsicElements['div'],\n 'value' | 'onChange' | 'ref'\n>;\nexport interface MenuGroupProps extends JsxDivProps {\n /**\n * The title of the menu group.\n * @default undefined\n */\n title?: string;\n /**\n * The max number of menu items that the user can select.\n * @default 1\n */\n maxSelectedItems?: number | 'all';\n /**\n * Selected menu items.\n * @default undefined\n */\n value?: string[];\n /**\n * The default value.\n * @default undefined\n */\n defaultValue?: string[];\n /**\n * The change event handler.\n * @default undefined\n */\n onChange?: (value: string[]) => void;\n}\n\nconst Title = styled.div`\n font-weight: 500;\n font-size: ${(p) => p.theme.sizes.small}em;\n color: ${(p) => clr(p.theme.menuGroupColorTitle)};\n margin-bottom: 0.4em;\n\n padding: 0 ${(p) => p.theme.modalBodyPaddingHorizontal[0]}em;\n ${m.min.xs} {\n padding: 0 0.8em;\n }\n\n ${ellipsisStyles};\n`;\n\nconst Container = styled.div`\n &:not(:last-of-type) {\n padding-bottom: 0.4em;\n border-bottom: 1px solid ${(p) => clr(p.theme.menuGroupColorDivider)};\n }\n &:not(:first-of-type) {\n margin-top: ${(p) => p.theme.modalBodyPaddingVertical[0]}em;\n ${m.min.xs} {\n margin-top: 0.4em;\n }\n }\n`;\n\n/**\n * The group of menu items.\n */\nconst MenuGroup = forwardRef<HTMLDivElement, MenuGroupProps>(\n (\n {\n title,\n maxSelectedItems = 1,\n value,\n defaultValue,\n onChange = () => {},\n children,\n ...rest\n },\n ref\n ) => {\n const { closeOnSelect } = useContext(MenuContext);\n const [forwardedValue, setForwardedValue] = useForwardedState({\n value,\n defaultValue,\n onChange,\n });\n\n const onSelect = useSelectHandler({\n value: forwardedValue || [],\n onChange: setForwardedValue,\n maxSelectedItems,\n });\n\n const menuItems = useMemo(() => {\n const selectedItems = forwardedValue || [];\n return React.Children.map(children, (child) => {\n if (!React.isValidElement(child) || child.type !== MenuItem)\n return child;\n const { value: childValue, onClick: childOnClick } = child.props;\n return React.cloneElement<any>(child, {\n key: childValue,\n selected: selectedItems.includes(childValue),\n onClick: (e) => {\n if (!childValue) return;\n onSelect(childValue);\n if (childOnClick) childOnClick(e);\n },\n ...(!closeOnSelect\n ? {\n role:\n maxSelectedItems === 1 ? 'menuitemradio' : 'menuitemcheckbox',\n 'aria-checked': selectedItems.includes(childValue),\n }\n : {}),\n });\n });\n }, [children, closeOnSelect, forwardedValue, maxSelectedItems, onSelect]);\n\n return (\n <Container\n role={maxSelectedItems === 1 ? 'radiogroup' : 'group'}\n {...rest}\n ref={ref}\n >\n {title && <Title>{title}</Title>}\n {menuItems}\n </Container>\n );\n }\n);\n\nMenuGroup.displayName = 'MenuGroup';\n\nexport default MenuGroup;\n"],"mappings":"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"}
1
+ {"version":3,"file":"index.js","names":["Title","styled","div","p","theme","sizes","small","clr","menuGroupColorTitle","modalBodyPaddingHorizontal","m","min","xs","ellipsisStyles","Container","menuGroupColorDivider","modalBodyPaddingVertical","MenuGroup","forwardRef","ref","title","maxSelectedItems","value","defaultValue","onChange","children","rest","useContext","MenuContext","closeOnSelect","useForwardedState","forwardedValue","setForwardedValue","onSelect","useSelectHandler","menuItems","useMemo","selectedItems","React","Children","map","child","isValidElement","type","MenuItem","props","childValue","childOnClick","onClick","cloneElement","key","selected","includes","e","role","displayName"],"sources":["../../../src/MenuGroup/index.tsx"],"sourcesContent":["import React, { forwardRef, useContext, useMemo } from 'react';\nimport styled from '@emotion/styled';\nimport { clr } from '@os-design/theming';\nimport { ellipsisStyles } from '@os-design/styles';\nimport { useForwardedState } from '@os-design/utils';\nimport { m } from '@os-design/media';\nimport { useSelectHandler, MenuContext } from '@os-design/menu-utils';\nimport MenuItem from '../MenuItem';\n\ntype JsxDivProps = Omit<\n JSX.IntrinsicElements['div'],\n 'value' | 'onChange' | 'ref'\n>;\nexport interface MenuGroupProps extends JsxDivProps {\n /**\n * The title of the menu group.\n * @default undefined\n */\n title?: string;\n /**\n * The max number of menu items that the user can select.\n * @default 1\n */\n maxSelectedItems?: number | 'all';\n /**\n * Selected menu items.\n * @default undefined\n */\n value?: string[];\n /**\n * The default value.\n * @default undefined\n */\n defaultValue?: string[];\n /**\n * The change event handler.\n * @default undefined\n */\n onChange?: (value: string[]) => void;\n}\n\nconst Title = styled.div`\n font-weight: 500;\n font-size: ${(p) => p.theme.sizes.small}em;\n color: ${(p) => clr(p.theme.menuGroupColorTitle)};\n margin-bottom: 0.4em;\n\n padding: 0 ${(p) => p.theme.modalBodyPaddingHorizontal[0]}em;\n ${m.min.xs} {\n padding: 0 0.8em;\n }\n\n ${ellipsisStyles};\n`;\n\nconst Container = styled.div`\n &:not(:last-of-type) {\n padding-bottom: 0.4em;\n border-bottom: 1px solid ${(p) => clr(p.theme.menuGroupColorDivider)};\n }\n &:not(:first-of-type) {\n margin-top: ${(p) => p.theme.modalBodyPaddingVertical[0]}em;\n ${m.min.xs} {\n margin-top: 0.4em;\n }\n }\n`;\n\n/**\n * The group of menu items.\n */\nconst MenuGroup = forwardRef<HTMLDivElement, MenuGroupProps>(\n (\n {\n title,\n maxSelectedItems = 1,\n value,\n defaultValue,\n onChange = () => {},\n children,\n ...rest\n },\n ref\n ) => {\n const { closeOnSelect } = useContext(MenuContext);\n const [forwardedValue, setForwardedValue] = useForwardedState({\n value,\n defaultValue,\n onChange,\n });\n\n const onSelect = useSelectHandler({\n value: forwardedValue || [],\n onChange: setForwardedValue,\n maxSelectedItems,\n });\n\n const menuItems = useMemo(() => {\n const selectedItems = forwardedValue || [];\n return React.Children.map(children, (child) => {\n if (!React.isValidElement(child) || child.type !== MenuItem)\n return child;\n const { value: childValue, onClick: childOnClick } = child.props;\n return React.cloneElement<any>(child, {\n key: childValue,\n selected: selectedItems.includes(childValue),\n onClick: (e) => {\n if (!childValue) return;\n onSelect(childValue);\n if (childOnClick) childOnClick(e);\n },\n ...(!closeOnSelect\n ? {\n role:\n maxSelectedItems === 1 ? 'menuitemradio' : 'menuitemcheckbox',\n 'aria-checked': selectedItems.includes(childValue),\n }\n : {}),\n });\n });\n }, [children, closeOnSelect, forwardedValue, maxSelectedItems, onSelect]);\n\n return (\n <Container\n role={maxSelectedItems === 1 ? 'radiogroup' : 'group'}\n {...rest}\n ref={ref}\n >\n {title && <Title>{title}</Title>}\n {menuItems}\n </Container>\n );\n }\n);\n\nMenuGroup.displayName = 'MenuGroup';\n\nexport default MenuGroup;\n"],"mappings":"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"}
@@ -1,52 +1,31 @@
1
1
  "use strict";
2
2
 
3
3
  function _typeof(obj) { "@babel/helpers - typeof"; return _typeof = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function (obj) { return typeof obj; } : function (obj) { return obj && "function" == typeof Symbol && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; }, _typeof(obj); }
4
-
5
4
  Object.defineProperty(exports, "__esModule", {
6
5
  value: true
7
6
  });
8
7
  exports["default"] = void 0;
9
-
10
8
  var _react = _interopRequireWildcard(require("react"));
11
-
12
9
  var _styled = _interopRequireDefault(require("@emotion/styled"));
13
-
14
10
  var _media = require("@os-design/media");
15
-
16
11
  var _theming = require("@os-design/theming");
17
-
18
12
  var _icons = require("@os-design/icons");
19
-
20
13
  var _utils = require("@os-design/utils");
21
-
22
14
  var _react2 = require("@emotion/react");
23
-
24
15
  var _menuUtils = require("@os-design/menu-utils");
25
-
26
16
  var _Button = _interopRequireDefault(require("../Button"));
27
-
28
17
  var _excluded = ["selected", "value", "right", "onClick"];
29
-
30
18
  var _templateObject, _templateObject2, _templateObject3;
31
-
32
19
  function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; }
33
-
34
20
  function _getRequireWildcardCache(nodeInterop) { if (typeof WeakMap !== "function") return null; var cacheBabelInterop = new WeakMap(); var cacheNodeInterop = new WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(nodeInterop) { return nodeInterop ? cacheNodeInterop : cacheBabelInterop; })(nodeInterop); }
35
-
36
21
  function _interopRequireWildcard(obj, nodeInterop) { if (!nodeInterop && obj && obj.__esModule) { return obj; } if (obj === null || _typeof(obj) !== "object" && typeof obj !== "function") { return { "default": obj }; } var cache = _getRequireWildcardCache(nodeInterop); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (key !== "default" && Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } newObj["default"] = obj; if (cache) { cache.set(obj, newObj); } return newObj; }
37
-
38
22
  function _extends() { _extends = Object.assign ? Object.assign.bind() : function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }
39
-
40
23
  function _objectWithoutProperties(source, excluded) { if (source == null) return {}; var target = _objectWithoutPropertiesLoose(source, excluded); var key, i; if (Object.getOwnPropertySymbols) { var sourceSymbolKeys = Object.getOwnPropertySymbols(source); for (i = 0; i < sourceSymbolKeys.length; i++) { key = sourceSymbolKeys[i]; if (excluded.indexOf(key) >= 0) continue; if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue; target[key] = source[key]; } } return target; }
41
-
42
24
  function _objectWithoutPropertiesLoose(source, excluded) { if (source == null) return {}; var target = {}; var sourceKeys = Object.keys(source); var key, i; for (i = 0; i < sourceKeys.length; i++) { key = sourceKeys[i]; if (excluded.indexOf(key) >= 0) continue; target[key] = source[key]; } return target; }
43
-
44
25
  function _taggedTemplateLiteral(strings, raw) { if (!raw) { raw = strings.slice(0); } return Object.freeze(Object.defineProperties(strings, { raw: { value: Object.freeze(raw) } })); }
45
-
46
26
  var selectedStyles = function selectedStyles(p) {
47
27
  return p.selected && (0, _react2.css)(_templateObject || (_templateObject = _taggedTemplateLiteral(["\n background-color: ", ";\n "])), (0, _theming.clr)(p.theme.menuItemSelectedColorBg));
48
28
  };
49
-
50
29
  var StyledButton = (0, _styled["default"])(_Button["default"], (0, _utils.omitEmotionProps)('selected'))(_templateObject2 || (_templateObject2 = _taggedTemplateLiteral(["\n display: flex;\n font-weight: normal;\n border-radius: 0;\n height: ", "em;\n\n & > span {\n flex: 1;\n text-align: left;\n overflow: hidden;\n line-height: 1.5;\n }\n\n padding: 0 ", "em;\n ", " {\n padding: 0 ", "em;\n }\n\n ", ";\n"])), function (p) {
51
30
  return p.theme.menuItemHeight;
52
31
  }, function (p) {
@@ -57,23 +36,21 @@ var StyledButton = (0, _styled["default"])(_Button["default"], (0, _utils.omitEm
57
36
  var SelectedIcon = (0, _styled["default"])(_icons.Check)(_templateObject3 || (_templateObject3 = _taggedTemplateLiteral(["\n color: ", ";\n"])), function (p) {
58
37
  return (0, _theming.clr)(p.theme.menuItemSelectedColorIcon);
59
38
  });
39
+
60
40
  /**
61
41
  * The base menu item.
62
42
  */
63
-
64
43
  var MenuItem = /*#__PURE__*/(0, _react.forwardRef)(function (_ref, ref) {
65
44
  var _ref$selected = _ref.selected,
66
- selected = _ref$selected === void 0 ? false : _ref$selected,
67
- value = _ref.value,
68
- right = _ref.right,
69
- _ref$onClick = _ref.onClick,
70
- onClick = _ref$onClick === void 0 ? function () {} : _ref$onClick,
71
- rest = _objectWithoutProperties(_ref, _excluded);
72
-
45
+ selected = _ref$selected === void 0 ? false : _ref$selected,
46
+ value = _ref.value,
47
+ right = _ref.right,
48
+ _ref$onClick = _ref.onClick,
49
+ onClick = _ref$onClick === void 0 ? function () {} : _ref$onClick,
50
+ rest = _objectWithoutProperties(_ref, _excluded);
73
51
  var _useContext = (0, _react.useContext)(_menuUtils.MenuContext),
74
- closeOnSelect = _useContext.closeOnSelect,
75
- onClose = _useContext.onClose;
76
-
52
+ closeOnSelect = _useContext.closeOnSelect,
53
+ onClose = _useContext.onClose;
77
54
  var onClickRef = (0, _react.useRef)();
78
55
  (0, _react.useEffect)(function () {
79
56
  onClickRef.current = onClick;