@os-design/core 1.0.196 → 1.0.198

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 (396) hide show
  1. package/dist/cjs/@types/emotion.d.js.map +1 -1
  2. package/dist/cjs/Alert/index.js +17 -17
  3. package/dist/cjs/Alert/index.js.map +1 -1
  4. package/dist/cjs/Avatar/index.js +4 -4
  5. package/dist/cjs/Avatar/index.js.map +1 -1
  6. package/dist/cjs/Avatar/utils/nameToInitials.js.map +1 -1
  7. package/dist/cjs/Avatar/utils/strToHue.js.map +1 -1
  8. package/dist/cjs/AvatarSkeleton/index.js +1 -1
  9. package/dist/cjs/AvatarSkeleton/index.js.map +1 -1
  10. package/dist/cjs/Breadcrumb/index.js +3 -3
  11. package/dist/cjs/Breadcrumb/index.js.map +1 -1
  12. package/dist/cjs/BreadcrumbItem/index.js +3 -3
  13. package/dist/cjs/BreadcrumbItem/index.js.map +1 -1
  14. package/dist/cjs/Button/ButtonContent.js +7 -7
  15. package/dist/cjs/Button/ButtonContent.js.map +1 -1
  16. package/dist/cjs/Button/index.js +18 -16
  17. package/dist/cjs/Button/index.js.map +1 -1
  18. package/dist/cjs/Button/utils/useButtonColors.js +1 -1
  19. package/dist/cjs/Button/utils/useButtonColors.js.map +1 -1
  20. package/dist/cjs/Checkbox/index.js +16 -16
  21. package/dist/cjs/Checkbox/index.js.map +1 -1
  22. package/dist/cjs/CheckboxSkeleton/index.js +2 -2
  23. package/dist/cjs/CheckboxSkeleton/index.js.map +1 -1
  24. package/dist/cjs/DatePicker/DatePickerCalendar.js.map +1 -1
  25. package/dist/cjs/DatePicker/index.js.map +1 -1
  26. package/dist/cjs/Drawer/index.js.map +1 -1
  27. package/dist/cjs/Form/FormConfigContext.js.map +1 -1
  28. package/dist/cjs/Form/index.js +2 -2
  29. package/dist/cjs/Form/index.js.map +1 -1
  30. package/dist/cjs/FormDivider/index.js +3 -3
  31. package/dist/cjs/FormDivider/index.js.map +1 -1
  32. package/dist/cjs/FormItem/index.js.map +1 -1
  33. package/dist/cjs/Gallery/Status.js +1 -1
  34. package/dist/cjs/Gallery/Status.js.map +1 -1
  35. package/dist/cjs/Gallery/index.js.map +1 -1
  36. package/dist/cjs/GlobalStyles/index.js +3 -3
  37. package/dist/cjs/GlobalStyles/index.js.map +1 -1
  38. package/dist/cjs/GlobalStyles/resetStyles.js.map +1 -1
  39. package/dist/cjs/GlobalStyles/typographyStyles.js +1 -1
  40. package/dist/cjs/GlobalStyles/typographyStyles.js.map +1 -1
  41. package/dist/cjs/HeaderSkeleton/index.js +6 -6
  42. package/dist/cjs/HeaderSkeleton/index.js.map +1 -1
  43. package/dist/cjs/Image/index.js +8 -8
  44. package/dist/cjs/Image/index.js.map +1 -1
  45. package/dist/cjs/ImageSkeleton/index.js +2 -2
  46. package/dist/cjs/ImageSkeleton/index.js.map +1 -1
  47. package/dist/cjs/Input/index.js +25 -25
  48. package/dist/cjs/Input/index.js.map +1 -1
  49. package/dist/cjs/Input/utils/getFocusableElements.js.map +1 -1
  50. package/dist/cjs/InputNumber/index.js +2 -2
  51. package/dist/cjs/InputNumber/index.js.map +1 -1
  52. package/dist/cjs/InputNumber/utils/defaultLocale.js.map +1 -1
  53. package/dist/cjs/InputPassword/index.js +4 -4
  54. package/dist/cjs/InputPassword/index.js.map +1 -1
  55. package/dist/cjs/InputPassword/utils/defaultLocale.js.map +1 -1
  56. package/dist/cjs/InputSearch/index.js +13 -13
  57. package/dist/cjs/InputSearch/index.js.map +1 -1
  58. package/dist/cjs/InputSearch/utils/defaultLocale.js.map +1 -1
  59. package/dist/cjs/InputSkeleton/index.js +1 -1
  60. package/dist/cjs/InputSkeleton/index.js.map +1 -1
  61. package/dist/cjs/Layout/LayoutContext.js.map +1 -1
  62. package/dist/cjs/Layout/index.js.map +1 -1
  63. package/dist/cjs/Link/index.js +8 -8
  64. package/dist/cjs/Link/index.js.map +1 -1
  65. package/dist/cjs/LinkButton/index.js +8 -8
  66. package/dist/cjs/LinkButton/index.js.map +1 -1
  67. package/dist/cjs/List/WindowScroller.js +1 -1
  68. package/dist/cjs/List/WindowScroller.js.map +1 -1
  69. package/dist/cjs/List/index.js +4 -4
  70. package/dist/cjs/List/index.js.map +1 -1
  71. package/dist/cjs/List/utils/bodyPointerEvents.js.map +1 -1
  72. package/dist/cjs/List/utils/frameTimeout.js.map +1 -1
  73. package/dist/cjs/List/utils/useRWLoadNext.js.map +1 -1
  74. package/dist/cjs/ListItem/index.js.map +1 -1
  75. package/dist/cjs/ListItemActions/index.js.map +1 -1
  76. package/dist/cjs/ListItemLink/index.js.map +1 -1
  77. package/dist/cjs/ListSkeleton/index.js.map +1 -1
  78. package/dist/cjs/LogoLink/index.js +7 -7
  79. package/dist/cjs/LogoLink/index.js.map +1 -1
  80. package/dist/cjs/Menu/index.js +5 -5
  81. package/dist/cjs/Menu/index.js.map +1 -1
  82. package/dist/cjs/Menu/utils/useFocusWithArrows.js +1 -1
  83. package/dist/cjs/Menu/utils/useFocusWithArrows.js.map +1 -1
  84. package/dist/cjs/MenuDivider/index.js +2 -2
  85. package/dist/cjs/MenuDivider/index.js.map +1 -1
  86. package/dist/cjs/MenuGroup/index.js +1 -0
  87. package/dist/cjs/MenuGroup/index.js.map +1 -1
  88. package/dist/cjs/MenuItem/index.js +14 -14
  89. package/dist/cjs/MenuItem/index.js.map +1 -1
  90. package/dist/cjs/Modal/index.js.map +1 -1
  91. package/dist/cjs/Modal/utils/defaultLocale.js.map +1 -1
  92. package/dist/cjs/Navigation/index.js +15 -15
  93. package/dist/cjs/Navigation/index.js.map +1 -1
  94. package/dist/cjs/Navigation/utils/useScrollFlags.js +2 -2
  95. package/dist/cjs/Navigation/utils/useScrollFlags.js.map +1 -1
  96. package/dist/cjs/NavigationItem/index.js +10 -10
  97. package/dist/cjs/NavigationItem/index.js.map +1 -1
  98. package/dist/cjs/PageContent/index.js +10 -10
  99. package/dist/cjs/PageContent/index.js.map +1 -1
  100. package/dist/cjs/PageHeader/index.js +17 -17
  101. package/dist/cjs/PageHeader/index.js.map +1 -1
  102. package/dist/cjs/PageHeader/utils/defaultLocale.js.map +1 -1
  103. package/dist/cjs/PageHeaderInputSearch/index.js.map +1 -1
  104. package/dist/cjs/PageHeaderInputSearch/utils/defaultLocale.js.map +1 -1
  105. package/dist/cjs/PageHeaderSkeleton/index.js +2 -2
  106. package/dist/cjs/PageHeaderSkeleton/index.js.map +1 -1
  107. package/dist/cjs/ParagraphSkeleton/index.js +6 -6
  108. package/dist/cjs/ParagraphSkeleton/index.js.map +1 -1
  109. package/dist/cjs/Popover/index.js +19 -19
  110. package/dist/cjs/Popover/index.js.map +1 -1
  111. package/dist/cjs/Popover/utils/usePopoverPosition.js +1 -1
  112. package/dist/cjs/Popover/utils/usePopoverPosition.js.map +1 -1
  113. package/dist/cjs/Progress/index.js +2 -2
  114. package/dist/cjs/Progress/index.js.map +1 -1
  115. package/dist/cjs/RadioGroup/index.js +9 -9
  116. package/dist/cjs/RadioGroup/index.js.map +1 -1
  117. package/dist/cjs/RadioGroupSkeleton/index.js +1 -1
  118. package/dist/cjs/RadioGroupSkeleton/index.js.map +1 -1
  119. package/dist/cjs/Result/index.js +4 -4
  120. package/dist/cjs/Result/index.js.map +1 -1
  121. package/dist/cjs/ScrollButton/index.js +16 -16
  122. package/dist/cjs/ScrollButton/index.js.map +1 -1
  123. package/dist/cjs/ScrollButton/utils/useContainerPosition.js +1 -1
  124. package/dist/cjs/ScrollButton/utils/useContainerPosition.js.map +1 -1
  125. package/dist/cjs/ScrollButton/utils/useVisibility.js +1 -1
  126. package/dist/cjs/ScrollButton/utils/useVisibility.js.map +1 -1
  127. package/dist/cjs/Select/index.js.map +1 -1
  128. package/dist/cjs/Select/utils/defaultLocale.js.map +1 -1
  129. package/dist/cjs/Skeleton/index.js +3 -3
  130. package/dist/cjs/Skeleton/index.js.map +1 -1
  131. package/dist/cjs/Switch/index.js.map +1 -1
  132. package/dist/cjs/SwitchSkeleton/index.js +1 -1
  133. package/dist/cjs/SwitchSkeleton/index.js.map +1 -1
  134. package/dist/cjs/Tag/index.js +3 -3
  135. package/dist/cjs/Tag/index.js.map +1 -1
  136. package/dist/cjs/TagLink/index.js +2 -2
  137. package/dist/cjs/TagLink/index.js.map +1 -1
  138. package/dist/cjs/TagList/index.js +9 -9
  139. package/dist/cjs/TagList/index.js.map +1 -1
  140. package/dist/cjs/TagListSkeleton/index.js.map +1 -1
  141. package/dist/cjs/TagSkeleton/index.js +1 -1
  142. package/dist/cjs/TagSkeleton/index.js.map +1 -1
  143. package/dist/cjs/TextArea/index.js.map +1 -1
  144. package/dist/cjs/TextAreaSkeleton/index.js.map +1 -1
  145. package/dist/cjs/ThemeSwitcher/index.js +2 -2
  146. package/dist/cjs/ThemeSwitcher/index.js.map +1 -1
  147. package/dist/cjs/TimePicker/index.js.map +1 -1
  148. package/dist/cjs/Video/index.js +2 -2
  149. package/dist/cjs/Video/index.js.map +1 -1
  150. package/dist/cjs/index.js.map +1 -1
  151. package/dist/cjs/message/AlertIcon.js +2 -2
  152. package/dist/cjs/message/AlertIcon.js.map +1 -1
  153. package/dist/cjs/message/Message.js +10 -10
  154. package/dist/cjs/message/Message.js.map +1 -1
  155. package/dist/cjs/message/index.js.map +1 -1
  156. package/dist/cjs/message/styles.js.map +1 -1
  157. package/dist/esm/Alert/index.js +5 -5
  158. package/dist/esm/Alert/index.js.map +1 -1
  159. package/dist/esm/Avatar/index.js +3 -3
  160. package/dist/esm/Avatar/index.js.map +1 -1
  161. package/dist/esm/Avatar/utils/nameToInitials.js.map +1 -1
  162. package/dist/esm/AvatarSkeleton/index.js +1 -1
  163. package/dist/esm/AvatarSkeleton/index.js.map +1 -1
  164. package/dist/esm/Breadcrumb/index.js +2 -2
  165. package/dist/esm/Breadcrumb/index.js.map +1 -1
  166. package/dist/esm/BreadcrumbItem/index.js +2 -2
  167. package/dist/esm/BreadcrumbItem/index.js.map +1 -1
  168. package/dist/esm/Button/ButtonContent.js +4 -4
  169. package/dist/esm/Button/ButtonContent.js.map +1 -1
  170. package/dist/esm/Button/index.js +8 -5
  171. package/dist/esm/Button/index.js.map +1 -1
  172. package/dist/esm/Button/utils/useButtonColors.js +1 -1
  173. package/dist/esm/Button/utils/useButtonColors.js.map +1 -1
  174. package/dist/esm/Checkbox/index.js +3 -3
  175. package/dist/esm/Checkbox/index.js.map +1 -1
  176. package/dist/esm/CheckboxSkeleton/index.js +2 -2
  177. package/dist/esm/CheckboxSkeleton/index.js.map +1 -1
  178. package/dist/esm/DatePicker/DatePickerCalendar.js.map +1 -1
  179. package/dist/esm/DatePicker/index.js +1 -1
  180. package/dist/esm/DatePicker/index.js.map +1 -1
  181. package/dist/esm/Drawer/index.js.map +1 -1
  182. package/dist/esm/Form/index.js +1 -1
  183. package/dist/esm/Form/index.js.map +1 -1
  184. package/dist/esm/FormDivider/index.js +2 -2
  185. package/dist/esm/FormDivider/index.js.map +1 -1
  186. package/dist/esm/FormItem/index.js.map +1 -1
  187. package/dist/esm/Gallery/Status.js +1 -1
  188. package/dist/esm/Gallery/Status.js.map +1 -1
  189. package/dist/esm/Gallery/index.js +1 -1
  190. package/dist/esm/Gallery/index.js.map +1 -1
  191. package/dist/esm/GlobalStyles/index.js +1 -1
  192. package/dist/esm/GlobalStyles/index.js.map +1 -1
  193. package/dist/esm/GlobalStyles/resetStyles.js.map +1 -1
  194. package/dist/esm/GlobalStyles/typographyStyles.js +1 -1
  195. package/dist/esm/GlobalStyles/typographyStyles.js.map +1 -1
  196. package/dist/esm/HeaderSkeleton/index.js +3 -3
  197. package/dist/esm/HeaderSkeleton/index.js.map +1 -1
  198. package/dist/esm/Image/index.js +2 -2
  199. package/dist/esm/Image/index.js.map +1 -1
  200. package/dist/esm/ImageSkeleton/index.js +1 -1
  201. package/dist/esm/ImageSkeleton/index.js.map +1 -1
  202. package/dist/esm/Input/index.js +5 -5
  203. package/dist/esm/Input/index.js.map +1 -1
  204. package/dist/esm/Input/utils/getFocusableElements.js.map +1 -1
  205. package/dist/esm/InputNumber/index.js +2 -2
  206. package/dist/esm/InputNumber/index.js.map +1 -1
  207. package/dist/esm/InputPassword/index.js +3 -3
  208. package/dist/esm/InputPassword/index.js.map +1 -1
  209. package/dist/esm/InputSearch/index.js +5 -5
  210. package/dist/esm/InputSearch/index.js.map +1 -1
  211. package/dist/esm/InputSkeleton/index.js +1 -1
  212. package/dist/esm/InputSkeleton/index.js.map +1 -1
  213. package/dist/esm/Layout/index.js.map +1 -1
  214. package/dist/esm/Link/index.js +3 -3
  215. package/dist/esm/Link/index.js.map +1 -1
  216. package/dist/esm/LinkButton/index.js +3 -3
  217. package/dist/esm/LinkButton/index.js.map +1 -1
  218. package/dist/esm/List/WindowScroller.js +1 -1
  219. package/dist/esm/List/WindowScroller.js.map +1 -1
  220. package/dist/esm/List/index.js +4 -4
  221. package/dist/esm/List/index.js.map +1 -1
  222. package/dist/esm/List/utils/bodyPointerEvents.js.map +1 -1
  223. package/dist/esm/List/utils/frameTimeout.js.map +1 -1
  224. package/dist/esm/List/utils/useRWLoadNext.js.map +1 -1
  225. package/dist/esm/ListItem/index.js.map +1 -1
  226. package/dist/esm/ListItemActions/index.js.map +1 -1
  227. package/dist/esm/ListItemLink/index.js.map +1 -1
  228. package/dist/esm/ListSkeleton/index.js.map +1 -1
  229. package/dist/esm/LogoLink/index.js +3 -3
  230. package/dist/esm/LogoLink/index.js.map +1 -1
  231. package/dist/esm/Menu/index.js +4 -4
  232. package/dist/esm/Menu/index.js.map +1 -1
  233. package/dist/esm/Menu/utils/useFocusWithArrows.js +1 -1
  234. package/dist/esm/Menu/utils/useFocusWithArrows.js.map +1 -1
  235. package/dist/esm/MenuDivider/index.js +1 -1
  236. package/dist/esm/MenuDivider/index.js.map +1 -1
  237. package/dist/esm/MenuGroup/index.js +1 -0
  238. package/dist/esm/MenuGroup/index.js.map +1 -1
  239. package/dist/esm/MenuItem/index.js +5 -5
  240. package/dist/esm/MenuItem/index.js.map +1 -1
  241. package/dist/esm/Modal/index.js +1 -1
  242. package/dist/esm/Modal/index.js.map +1 -1
  243. package/dist/esm/Navigation/index.js +5 -5
  244. package/dist/esm/Navigation/index.js.map +1 -1
  245. package/dist/esm/Navigation/utils/useScrollFlags.js +2 -2
  246. package/dist/esm/Navigation/utils/useScrollFlags.js.map +1 -1
  247. package/dist/esm/NavigationItem/index.js +4 -4
  248. package/dist/esm/NavigationItem/index.js.map +1 -1
  249. package/dist/esm/PageContent/index.js +3 -3
  250. package/dist/esm/PageContent/index.js.map +1 -1
  251. package/dist/esm/PageHeader/index.js +6 -6
  252. package/dist/esm/PageHeader/index.js.map +1 -1
  253. package/dist/esm/PageHeaderInputSearch/index.js.map +1 -1
  254. package/dist/esm/PageHeaderSkeleton/index.js +2 -2
  255. package/dist/esm/PageHeaderSkeleton/index.js.map +1 -1
  256. package/dist/esm/ParagraphSkeleton/index.js +2 -2
  257. package/dist/esm/ParagraphSkeleton/index.js.map +1 -1
  258. package/dist/esm/Popover/index.js +5 -5
  259. package/dist/esm/Popover/index.js.map +1 -1
  260. package/dist/esm/Popover/utils/usePopoverPosition.js +1 -1
  261. package/dist/esm/Popover/utils/usePopoverPosition.js.map +1 -1
  262. package/dist/esm/Progress/index.js +2 -2
  263. package/dist/esm/Progress/index.js.map +1 -1
  264. package/dist/esm/RadioGroup/index.js +3 -3
  265. package/dist/esm/RadioGroup/index.js.map +1 -1
  266. package/dist/esm/RadioGroupSkeleton/index.js +1 -1
  267. package/dist/esm/RadioGroupSkeleton/index.js.map +1 -1
  268. package/dist/esm/Result/index.js +3 -3
  269. package/dist/esm/Result/index.js.map +1 -1
  270. package/dist/esm/ScrollButton/index.js +5 -5
  271. package/dist/esm/ScrollButton/index.js.map +1 -1
  272. package/dist/esm/ScrollButton/utils/useContainerPosition.js +1 -1
  273. package/dist/esm/ScrollButton/utils/useContainerPosition.js.map +1 -1
  274. package/dist/esm/ScrollButton/utils/useVisibility.js +1 -1
  275. package/dist/esm/ScrollButton/utils/useVisibility.js.map +1 -1
  276. package/dist/esm/Select/index.js +1 -1
  277. package/dist/esm/Select/index.js.map +1 -1
  278. package/dist/esm/Skeleton/index.js +3 -3
  279. package/dist/esm/Skeleton/index.js.map +1 -1
  280. package/dist/esm/Switch/index.js.map +1 -1
  281. package/dist/esm/SwitchSkeleton/index.js +1 -1
  282. package/dist/esm/SwitchSkeleton/index.js.map +1 -1
  283. package/dist/esm/Tag/index.js +2 -2
  284. package/dist/esm/Tag/index.js.map +1 -1
  285. package/dist/esm/TagLink/index.js +2 -2
  286. package/dist/esm/TagLink/index.js.map +1 -1
  287. package/dist/esm/TagList/index.js +2 -2
  288. package/dist/esm/TagList/index.js.map +1 -1
  289. package/dist/esm/TagListSkeleton/index.js.map +1 -1
  290. package/dist/esm/TagSkeleton/index.js +1 -1
  291. package/dist/esm/TagSkeleton/index.js.map +1 -1
  292. package/dist/esm/TextArea/index.js.map +1 -1
  293. package/dist/esm/TextAreaSkeleton/index.js.map +1 -1
  294. package/dist/esm/ThemeSwitcher/index.js +2 -2
  295. package/dist/esm/ThemeSwitcher/index.js.map +1 -1
  296. package/dist/esm/TimePicker/index.js.map +1 -1
  297. package/dist/esm/Video/index.js +1 -1
  298. package/dist/esm/Video/index.js.map +1 -1
  299. package/dist/esm/message/AlertIcon.js +2 -2
  300. package/dist/esm/message/AlertIcon.js.map +1 -1
  301. package/dist/esm/message/Message.js +3 -3
  302. package/dist/esm/message/Message.js.map +1 -1
  303. package/dist/esm/message/index.js.map +1 -1
  304. package/dist/esm/message/styles.js.map +1 -1
  305. package/dist/types/Alert/index.d.ts +1 -1
  306. package/dist/types/Alert/index.d.ts.map +1 -1
  307. package/dist/types/Avatar/index.d.ts +1 -1
  308. package/dist/types/Avatar/index.d.ts.map +1 -1
  309. package/dist/types/AvatarSkeleton/index.d.ts +1 -1
  310. package/dist/types/AvatarSkeleton/index.d.ts.map +1 -1
  311. package/dist/types/Breadcrumb/index.d.ts +1 -1
  312. package/dist/types/Breadcrumb/index.d.ts.map +1 -1
  313. package/dist/types/BreadcrumbItem/index.d.ts.map +1 -1
  314. package/dist/types/Button/ButtonContent.d.ts.map +1 -1
  315. package/dist/types/Button/index.d.ts +1 -1
  316. package/dist/types/Button/index.d.ts.map +1 -1
  317. package/dist/types/Button/utils/useButtonColors.d.ts.map +1 -1
  318. package/dist/types/Checkbox/index.d.ts +1 -1
  319. package/dist/types/Checkbox/index.d.ts.map +1 -1
  320. package/dist/types/CheckboxSkeleton/index.d.ts +1 -1
  321. package/dist/types/CheckboxSkeleton/index.d.ts.map +1 -1
  322. package/dist/types/DatePicker/DatePickerCalendar.d.ts.map +1 -1
  323. package/dist/types/Drawer/index.d.ts.map +1 -1
  324. package/dist/types/Form/index.d.ts +1 -1
  325. package/dist/types/Form/index.d.ts.map +1 -1
  326. package/dist/types/FormDivider/index.d.ts +1 -1
  327. package/dist/types/FormDivider/index.d.ts.map +1 -1
  328. package/dist/types/Gallery/Status.d.ts.map +1 -1
  329. package/dist/types/GlobalStyles/index.d.ts.map +1 -1
  330. package/dist/types/GlobalStyles/resetStyles.d.ts +1 -1
  331. package/dist/types/GlobalStyles/resetStyles.d.ts.map +1 -1
  332. package/dist/types/GlobalStyles/typographyStyles.d.ts.map +1 -1
  333. package/dist/types/HeaderSkeleton/index.d.ts.map +1 -1
  334. package/dist/types/Image/index.d.ts.map +1 -1
  335. package/dist/types/ImageSkeleton/index.d.ts.map +1 -1
  336. package/dist/types/Input/index.d.ts +1 -1
  337. package/dist/types/Input/index.d.ts.map +1 -1
  338. package/dist/types/InputNumber/index.d.ts.map +1 -1
  339. package/dist/types/InputPassword/index.d.ts.map +1 -1
  340. package/dist/types/InputSearch/index.d.ts.map +1 -1
  341. package/dist/types/InputSkeleton/index.d.ts +1 -1
  342. package/dist/types/InputSkeleton/index.d.ts.map +1 -1
  343. package/dist/types/Link/index.d.ts +1 -1
  344. package/dist/types/Link/index.d.ts.map +1 -1
  345. package/dist/types/LinkButton/index.d.ts +6 -3
  346. package/dist/types/LinkButton/index.d.ts.map +1 -1
  347. package/dist/types/List/WindowScroller.d.ts.map +1 -1
  348. package/dist/types/List/index.d.ts.map +1 -1
  349. package/dist/types/LogoLink/index.d.ts +1 -1
  350. package/dist/types/LogoLink/index.d.ts.map +1 -1
  351. package/dist/types/Menu/index.d.ts.map +1 -1
  352. package/dist/types/Menu/utils/useFocusWithArrows.d.ts.map +1 -1
  353. package/dist/types/MenuDivider/index.d.ts.map +1 -1
  354. package/dist/types/MenuGroup/index.d.ts.map +1 -1
  355. package/dist/types/MenuItem/index.d.ts.map +1 -1
  356. package/dist/types/Modal/index.d.ts.map +1 -1
  357. package/dist/types/Navigation/index.d.ts.map +1 -1
  358. package/dist/types/Navigation/utils/useScrollFlags.d.ts.map +1 -1
  359. package/dist/types/NavigationItem/index.d.ts.map +1 -1
  360. package/dist/types/PageContent/index.d.ts.map +1 -1
  361. package/dist/types/PageHeader/index.d.ts.map +1 -1
  362. package/dist/types/PageHeaderSkeleton/index.d.ts +1 -1
  363. package/dist/types/PageHeaderSkeleton/index.d.ts.map +1 -1
  364. package/dist/types/ParagraphSkeleton/index.d.ts.map +1 -1
  365. package/dist/types/Popover/index.d.ts +1 -1
  366. package/dist/types/Popover/index.d.ts.map +1 -1
  367. package/dist/types/Progress/index.d.ts +1 -1
  368. package/dist/types/Progress/index.d.ts.map +1 -1
  369. package/dist/types/RadioGroup/index.d.ts +1 -1
  370. package/dist/types/RadioGroup/index.d.ts.map +1 -1
  371. package/dist/types/RadioGroupSkeleton/index.d.ts +1 -1
  372. package/dist/types/RadioGroupSkeleton/index.d.ts.map +1 -1
  373. package/dist/types/Result/index.d.ts +1 -1
  374. package/dist/types/Result/index.d.ts.map +1 -1
  375. package/dist/types/ScrollButton/index.d.ts.map +1 -1
  376. package/dist/types/ScrollButton/utils/useContainerPosition.d.ts.map +1 -1
  377. package/dist/types/ScrollButton/utils/useVisibility.d.ts.map +1 -1
  378. package/dist/types/Select/index.d.ts.map +1 -1
  379. package/dist/types/Skeleton/index.d.ts.map +1 -1
  380. package/dist/types/SwitchSkeleton/index.d.ts +1 -1
  381. package/dist/types/SwitchSkeleton/index.d.ts.map +1 -1
  382. package/dist/types/Tag/index.d.ts +1 -1
  383. package/dist/types/Tag/index.d.ts.map +1 -1
  384. package/dist/types/TagLink/index.d.ts +1 -1
  385. package/dist/types/TagLink/index.d.ts.map +1 -1
  386. package/dist/types/TagList/index.d.ts +1 -1
  387. package/dist/types/TagList/index.d.ts.map +1 -1
  388. package/dist/types/TagSkeleton/index.d.ts +1 -1
  389. package/dist/types/TagSkeleton/index.d.ts.map +1 -1
  390. package/dist/types/ThemeSwitcher/index.d.ts +6 -3
  391. package/dist/types/ThemeSwitcher/index.d.ts.map +1 -1
  392. package/dist/types/Video/index.d.ts.map +1 -1
  393. package/dist/types/message/AlertIcon.d.ts.map +1 -1
  394. package/dist/types/message/Message.d.ts.map +1 -1
  395. package/dist/types/message/index.d.ts.map +1 -1
  396. package/package.json +10 -10
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","names":["fadeIn","keyframes","fadeOut","visibleStyles","p","visible","css","theme","transitionDelay","invisibleStyles","Container","styled","omitEmotionProps","top","left","borderRadius","clr","popoverColorBg","popoverColorText","popoverColorBorder","popoverColorBoxShadow","sizeStyles","emptyRect","width","height","Popover","forwardRef","ref","trigger","placement","gap","flip","onClose","id","children","rest","useForwardedRef","popoverRef","mergedPopoverRef","useState","popoverRect","setPopoverRect","triggerRect","setTriggerRect","useTheme","mounted","useClosable","popoverResizeListener","useCallback","current","getBoundingClientRect","useResizeObserver","measuredPopoverRef","node","triggerResizeListener","window","requestAnimationFrame","useBrowserLayoutEffect","useEvent","document","useEffect","undefined","popoverId","useMemo","Math","random","toString","slice","getAttribute","setAttribute","usePopoverPosition","elementRect","useClickOutside","displayName"],"sources":["../../../src/Popover/index.tsx"],"sourcesContent":["import React, {\n forwardRef,\n RefCallback,\n RefObject,\n useCallback,\n useEffect,\n useMemo,\n useState,\n} from 'react';\nimport { sizeStyles, WithSize } from '@os-design/styles';\nimport {\n omitEmotionProps,\n useClickOutside,\n useClosable,\n useEvent,\n useForwardedRef,\n useResizeObserver,\n useBrowserLayoutEffect,\n} from '@os-design/utils';\nimport styled from '@emotion/styled';\nimport { clr, useTheme } from '@os-design/theming';\nimport { css, keyframes } from '@emotion/react';\nimport Portal from '@os-design/portal';\nimport usePopoverPosition, {\n Placement,\n Rect,\n} from './utils/usePopoverPosition';\n\ntype JsxDivProps = Omit<JSX.IntrinsicElements['div'], 'ref'>;\nexport interface PopoverProps extends JsxDivProps, WithSize {\n /**\n * The element next to which the popover appears.\n * @default undefined\n */\n trigger?: RefObject<Element> | Rect;\n /**\n * On which side of the element the popover will appear.\n * @default top\n */\n placement?: Placement;\n /**\n * The gap between the element and the popover in em.\n * @default 0.2\n */\n gap?: number;\n /**\n * Whether the popover to flip if it does not fit in the window.\n * @default true\n */\n flip?: boolean;\n /**\n * Whether the popover is visible.\n * @default false\n */\n visible?: boolean;\n /**\n * The close event handler.\n * @default undefined\n */\n onClose?: () => void;\n}\n\nconst fadeIn = keyframes`\n from { opacity: 0; }\n to { opacity: 1; }\n`;\n\nconst fadeOut = keyframes`\n from { opacity: 1; }\n to { opacity: 0; }\n`;\n\nconst visibleStyles = (p) =>\n p.visible &&\n css`\n animation: ${fadeIn} ${p.theme.transitionDelay}ms forwards;\n `;\n\nconst invisibleStyles = (p) =>\n !p.visible &&\n css`\n animation: ${fadeOut} ${p.theme.transitionDelay}ms forwards;\n `;\n\ninterface ContainerProps extends Pick<PopoverProps, 'visible' | 'size'> {\n top: number;\n left: number;\n}\nconst Container = styled(\n 'div',\n omitEmotionProps('top', 'left', 'visible', 'size')\n)<ContainerProps>`\n position: absolute;\n top: ${(p) => p.top}px;\n left: ${(p) => p.left}px;\n\n border-radius: ${(p) => p.theme.borderRadius}em;\n background-color: ${(p) => clr(p.theme.popoverColorBg)};\n color: ${(p) => clr(p.theme.popoverColorText)};\n border: 1px solid ${(p) => clr(p.theme.popoverColorBorder)};\n box-shadow: 0 0.15em 0.8em ${(p) => clr(p.theme.popoverColorBoxShadow)};\n z-index: 1000; // Greater than the z-index of the Drawer\n\n ${visibleStyles};\n ${invisibleStyles};\n ${sizeStyles};\n`;\n\nconst emptyRect: Rect = {\n top: 0,\n left: 0,\n width: 0,\n height: 0,\n};\n\n/**\n * The pop-up window located next to the element.\n */\nconst Popover = forwardRef<HTMLDivElement, PopoverProps>(\n (\n {\n trigger,\n placement = 'top',\n gap = 0.2,\n flip = true,\n visible = false,\n onClose = () => {},\n id,\n children,\n ...rest\n },\n ref\n ) => {\n const [popoverRef, mergedPopoverRef] = useForwardedRef(ref);\n const [popoverRect, setPopoverRect] = useState(emptyRect);\n const [triggerRect, setTriggerRect] = useState(emptyRect);\n const { theme } = useTheme();\n const mounted = useClosable(visible, theme.transitionDelay);\n\n // Init the rect of the popover and update it when the popover size changes\n const popoverResizeListener = useCallback(() => {\n if (!popoverRef.current) return;\n setPopoverRect(popoverRef.current.getBoundingClientRect());\n }, [popoverRef]);\n useResizeObserver(\n popoverRef.current as HTMLDivElement,\n popoverResizeListener\n );\n\n const measuredPopoverRef = useCallback<RefCallback<HTMLDivElement>>(\n (node) => {\n if (node === null) return;\n setPopoverRect(node.getBoundingClientRect());\n mergedPopoverRef(node);\n },\n [mergedPopoverRef]\n );\n\n // Init the rect of the trigger and update it when the window was resized\n // or scrolled\n const triggerResizeListener = useCallback(() => {\n window.requestAnimationFrame(() => {\n if (!trigger) return;\n const { current } = trigger as RefObject<Element>;\n if (!current) return;\n setTriggerRect(current.getBoundingClientRect());\n });\n }, [trigger]);\n useBrowserLayoutEffect(() => {\n if (!visible) return;\n triggerResizeListener();\n }, [triggerResizeListener, visible]);\n useResizeObserver(trigger as never, triggerResizeListener);\n useEvent(\n (typeof window === 'undefined' ? null : window) as never,\n 'resize',\n triggerResizeListener\n );\n useEvent(document, 'scroll', triggerResizeListener);\n\n useEffect(() => {\n if (!trigger || (trigger as RefObject<Element>).current !== undefined)\n return;\n setTriggerRect(trigger as Rect);\n }, [trigger]);\n\n const popoverId = useMemo(\n () => id || `popover-${Math.random().toString(36).slice(2, 11)}`,\n [id]\n );\n\n // Set the aria tags to support accessibility features\n useBrowserLayoutEffect(() => {\n if (!trigger) return;\n const { current } = trigger as RefObject<Element>;\n if (!current) return;\n if (current.getAttribute('aria-haspopup') === null) {\n current.setAttribute('aria-haspopup', 'dialog');\n }\n current.setAttribute('aria-controls', popoverId);\n }, []);\n useBrowserLayoutEffect(() => {\n if (!trigger) return;\n const { current } = trigger as RefObject<Element>;\n if (!current) return;\n current.setAttribute('aria-expanded', visible.toString());\n }, [visible]);\n\n // Get the popover coordinates\n const { top, left } = usePopoverPosition({\n elementRect: triggerRect,\n popoverRect,\n placement,\n gap,\n flip,\n });\n\n // Close the popover when the user clicks outside of it\n useClickOutside(popoverRef, onClose);\n\n if (!mounted) return null;\n\n return (\n <Portal>\n <Container\n top={top}\n left={left}\n visible={visible}\n id={popoverId}\n role='dialog'\n {...rest}\n ref={measuredPopoverRef}\n >\n {children}\n </Container>\n </Portal>\n );\n }\n);\n\nPopover.displayName = 'Popover';\n\nexport default Popover;\n"],"mappings":"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"}
1
+ {"version":3,"file":"index.js","names":["_react","require","_styled","_interopRequireDefault","_portal","_styles","_theming","_utils","_react2","_interopRequireWildcard","_usePopoverPosition2","_excluded","_templateObject","_templateObject2","_templateObject3","_templateObject4","_templateObject5","_getRequireWildcardCache","nodeInterop","WeakMap","cacheBabelInterop","cacheNodeInterop","obj","__esModule","_typeof","cache","has","get","newObj","hasPropertyDescriptor","Object","defineProperty","getOwnPropertyDescriptor","key","prototype","hasOwnProperty","call","desc","set","_extends","assign","bind","target","i","arguments","length","source","apply","_slicedToArray","arr","_arrayWithHoles","_iterableToArrayLimit","_unsupportedIterableToArray","_nonIterableRest","TypeError","o","minLen","_arrayLikeToArray","n","toString","slice","constructor","name","Array","from","test","len","arr2","_i","Symbol","iterator","_s","_e","_x","_r","_arr","_n","_d","next","done","push","value","err","isArray","_objectWithoutProperties","excluded","_objectWithoutPropertiesLoose","getOwnPropertySymbols","sourceSymbolKeys","indexOf","propertyIsEnumerable","sourceKeys","keys","_taggedTemplateLiteral","strings","raw","freeze","defineProperties","fadeIn","keyframes","fadeOut","visibleStyles","p","visible","css","theme","transitionDelay","invisibleStyles","Container","styled","omitEmotionProps","top","left","borderRadius","clr","popoverColorBg","popoverColorText","popoverColorBorder","popoverColorBoxShadow","sizeStyles","emptyRect","width","height","Popover","forwardRef","_ref","ref","trigger","_ref$placement","placement","_ref$gap","gap","_ref$flip","flip","_ref$visible","_ref$onClose","onClose","id","children","rest","_useForwardedRef","useForwardedRef","_useForwardedRef2","popoverRef","mergedPopoverRef","_useState","useState","_useState2","popoverRect","setPopoverRect","_useState3","_useState4","triggerRect","setTriggerRect","_useTheme","useTheme","mounted","useClosable","popoverResizeListener","useCallback","current","getBoundingClientRect","useResizeObserver","measuredPopoverRef","node","triggerResizeListener","window","requestAnimationFrame","_ref2","useBrowserLayoutEffect","useEvent","document","useEffect","undefined","popoverId","useMemo","concat","Math","random","_ref3","getAttribute","setAttribute","_ref4","_usePopoverPosition","usePopoverPosition","elementRect","useClickOutside","createElement","role","displayName","_default","exports"],"sources":["../../../src/Popover/index.tsx"],"sourcesContent":["import { css, keyframes } from '@emotion/react';\nimport styled from '@emotion/styled';\nimport Portal from '@os-design/portal';\nimport { sizeStyles, WithSize } from '@os-design/styles';\nimport { clr, useTheme } from '@os-design/theming';\nimport {\n omitEmotionProps,\n useBrowserLayoutEffect,\n useClickOutside,\n useClosable,\n useEvent,\n useForwardedRef,\n useResizeObserver,\n} from '@os-design/utils';\nimport React, {\n forwardRef,\n RefCallback,\n RefObject,\n useCallback,\n useEffect,\n useMemo,\n useState,\n} from 'react';\nimport usePopoverPosition, {\n Placement,\n Rect,\n} from './utils/usePopoverPosition';\n\ntype JsxDivProps = Omit<JSX.IntrinsicElements['div'], 'ref'>;\nexport interface PopoverProps extends JsxDivProps, WithSize {\n /**\n * The element next to which the popover appears.\n * @default undefined\n */\n trigger?: RefObject<Element> | Rect;\n /**\n * On which side of the element the popover will appear.\n * @default top\n */\n placement?: Placement;\n /**\n * The gap between the element and the popover in em.\n * @default 0.2\n */\n gap?: number;\n /**\n * Whether the popover to flip if it does not fit in the window.\n * @default true\n */\n flip?: boolean;\n /**\n * Whether the popover is visible.\n * @default false\n */\n visible?: boolean;\n /**\n * The close event handler.\n * @default undefined\n */\n onClose?: () => void;\n}\n\nconst fadeIn = keyframes`\n from { opacity: 0; }\n to { opacity: 1; }\n`;\n\nconst fadeOut = keyframes`\n from { opacity: 1; }\n to { opacity: 0; }\n`;\n\nconst visibleStyles = (p) =>\n p.visible &&\n css`\n animation: ${fadeIn} ${p.theme.transitionDelay}ms forwards;\n `;\n\nconst invisibleStyles = (p) =>\n !p.visible &&\n css`\n animation: ${fadeOut} ${p.theme.transitionDelay}ms forwards;\n `;\n\ninterface ContainerProps extends Pick<PopoverProps, 'visible' | 'size'> {\n top: number;\n left: number;\n}\nconst Container = styled(\n 'div',\n omitEmotionProps('top', 'left', 'visible', 'size')\n)<ContainerProps>`\n position: absolute;\n top: ${(p) => p.top}px;\n left: ${(p) => p.left}px;\n\n border-radius: ${(p) => p.theme.borderRadius}em;\n background-color: ${(p) => clr(p.theme.popoverColorBg)};\n color: ${(p) => clr(p.theme.popoverColorText)};\n border: 1px solid ${(p) => clr(p.theme.popoverColorBorder)};\n box-shadow: 0 0.15em 0.8em ${(p) => clr(p.theme.popoverColorBoxShadow)};\n z-index: 1000; // Greater than the z-index of the Drawer\n\n ${visibleStyles};\n ${invisibleStyles};\n ${sizeStyles};\n`;\n\nconst emptyRect: Rect = {\n top: 0,\n left: 0,\n width: 0,\n height: 0,\n};\n\n/**\n * The pop-up window located next to the element.\n */\nconst Popover = forwardRef<HTMLDivElement, PopoverProps>(\n (\n {\n trigger,\n placement = 'top',\n gap = 0.2,\n flip = true,\n visible = false,\n onClose = () => {},\n id,\n children,\n ...rest\n },\n ref\n ) => {\n const [popoverRef, mergedPopoverRef] = useForwardedRef(ref);\n const [popoverRect, setPopoverRect] = useState(emptyRect);\n const [triggerRect, setTriggerRect] = useState(emptyRect);\n const { theme } = useTheme();\n const mounted = useClosable(visible, theme.transitionDelay);\n\n // Init the rect of the popover and update it when the popover size changes\n const popoverResizeListener = useCallback(() => {\n if (!popoverRef.current) return;\n setPopoverRect(popoverRef.current.getBoundingClientRect());\n }, [popoverRef]);\n useResizeObserver(\n popoverRef.current as HTMLDivElement,\n popoverResizeListener\n );\n\n const measuredPopoverRef = useCallback<RefCallback<HTMLDivElement>>(\n (node) => {\n if (node === null) return;\n setPopoverRect(node.getBoundingClientRect());\n mergedPopoverRef(node);\n },\n [mergedPopoverRef]\n );\n\n // Init the rect of the trigger and update it when the window was resized\n // or scrolled\n const triggerResizeListener = useCallback(() => {\n window.requestAnimationFrame(() => {\n if (!trigger) return;\n const { current } = trigger as RefObject<Element>;\n if (!current) return;\n setTriggerRect(current.getBoundingClientRect());\n });\n }, [trigger]);\n useBrowserLayoutEffect(() => {\n if (!visible) return;\n triggerResizeListener();\n }, [triggerResizeListener, visible]);\n useResizeObserver(trigger as never, triggerResizeListener);\n useEvent(\n (typeof window === 'undefined' ? null : window) as never,\n 'resize',\n triggerResizeListener\n );\n useEvent(document, 'scroll', triggerResizeListener);\n\n useEffect(() => {\n if (!trigger || (trigger as RefObject<Element>).current !== undefined)\n return;\n setTriggerRect(trigger as Rect);\n }, [trigger]);\n\n const popoverId = useMemo(\n () => id || `popover-${Math.random().toString(36).slice(2, 11)}`,\n [id]\n );\n\n // Set the aria tags to support accessibility features\n useBrowserLayoutEffect(() => {\n if (!trigger) return;\n const { current } = trigger as RefObject<Element>;\n if (!current) return;\n if (current.getAttribute('aria-haspopup') === null) {\n current.setAttribute('aria-haspopup', 'dialog');\n }\n current.setAttribute('aria-controls', popoverId);\n }, []);\n useBrowserLayoutEffect(() => {\n if (!trigger) return;\n const { current } = trigger as RefObject<Element>;\n if (!current) return;\n current.setAttribute('aria-expanded', visible.toString());\n }, [visible]);\n\n // Get the popover coordinates\n const { top, left } = usePopoverPosition({\n elementRect: triggerRect,\n popoverRect,\n placement,\n gap,\n flip,\n });\n\n // Close the popover when the user clicks outside of it\n useClickOutside(popoverRef, onClose);\n\n if (!mounted) return null;\n\n return (\n <Portal>\n <Container\n top={top}\n left={left}\n visible={visible}\n id={popoverId}\n role='dialog'\n {...rest}\n ref={measuredPopoverRef}\n >\n {children}\n </Container>\n </Portal>\n );\n }\n);\n\nPopover.displayName = 'Popover';\n\nexport default Popover;\n"],"mappings":"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"}
@@ -4,8 +4,8 @@ Object.defineProperty(exports, "__esModule", {
4
4
  value: true
5
5
  });
6
6
  exports["default"] = void 0;
7
- var _react = require("react");
8
7
  var _utils = require("@os-design/utils");
8
+ var _react = require("react");
9
9
  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); }
10
10
  function _toConsumableArray(arr) { return _arrayWithoutHoles(arr) || _iterableToArray(arr) || _unsupportedIterableToArray(arr) || _nonIterableSpread(); }
11
11
  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."); }
@@ -1 +1 @@
1
- {"version":3,"file":"usePopoverPosition.js","names":["popoverPositionGetters","rectKey","sizeKey","windowSizeKey","windowOffsetKey","fitToWindow","start","elementRect","popoverRect","popoverStart","windowStart","window","windowEnd","elementStart","elementEnd","popoverEnd","before","options","gap","flip","afterPopoverStart","after","afterPopoverEnd","diffStart","diffEnd","beforePopoverStart","end","center","getPopoverPosition","top","left","placementPositionKeysMap","bottom","right","usePopoverPosition","placement","bodyFontSize","useFontSize","document","body","gapPx","useMemo","positionKeys"],"sources":["../../../../src/Popover/utils/usePopoverPosition.ts"],"sourcesContent":["import { useMemo } from 'react';\nimport { useFontSize } from '@os-design/utils';\n\ntype Side = 'top' | 'left' | 'right' | 'bottom';\ntype Alignment = 'start' | 'end';\ntype AlignedPlacement = `${Side}-${Alignment}`;\n\nexport type Placement = Side | AlignedPlacement;\n\nexport interface Rect {\n top: number;\n left: number;\n width: number;\n height: number;\n}\n\ninterface UsePopoverPositionProps {\n /**\n * The rect of the element.\n */\n elementRect: Rect;\n /**\n * The rect of the popover.\n */\n popoverRect: Rect;\n /**\n * On which side of the element the popover will appear.\n * @default top\n */\n placement?: Placement;\n /**\n * The gap between the element and the popover in em.\n * @default 0.5\n */\n gap?: number;\n /**\n * Whether to flip the popover if it does not fit in the window.\n * @default true\n */\n flip?: boolean;\n}\n\ninterface PopoverPositionGetterOptions {\n elementRect: Rect;\n popoverRect: Rect;\n gap: number;\n flip: boolean;\n}\ntype PositionKeys = 'before' | 'after' | 'start' | 'end' | 'center';\ntype PopoverPositionGetterFn = (\n options: PopoverPositionGetterOptions\n) => number;\ntype PopoverPositionGetters = Record<PositionKeys, PopoverPositionGetterFn>;\ntype FitToWindow = Pick<\n PopoverPositionGetterOptions,\n 'elementRect' | 'popoverRect'\n>;\n\nconst popoverPositionGetters = (\n rectKey: 'top' | 'left'\n): PopoverPositionGetters => {\n const sizeKey = rectKey === 'top' ? 'height' : 'width';\n const windowSizeKey = rectKey === 'top' ? 'innerHeight' : 'innerWidth';\n const windowOffsetKey = rectKey === 'top' ? 'pageYOffset' : 'pageXOffset';\n\n const fitToWindow = (\n start: number,\n { elementRect, popoverRect }: FitToWindow\n ): number => {\n let popoverStart = start;\n const windowStart = window[windowOffsetKey];\n const windowEnd = windowStart + window[windowSizeKey];\n const elementStart = windowStart + elementRect[rectKey];\n const elementEnd = elementStart + elementRect[sizeKey];\n const popoverEnd = popoverStart + popoverRect[sizeKey];\n\n // Fit the popover to the end of the window\n if (popoverEnd > windowEnd) {\n if (elementEnd < windowEnd)\n popoverStart = windowEnd - popoverRect[sizeKey];\n else if (popoverRect[sizeKey] > elementRect[sizeKey])\n popoverStart = elementEnd - popoverRect[sizeKey];\n else if (windowEnd - elementStart > popoverRect[sizeKey])\n popoverStart = windowEnd - popoverRect[sizeKey];\n else popoverStart = elementStart;\n }\n\n // Fit the popover to the beginning of the window\n if (popoverStart < windowStart) {\n if (elementStart > windowStart) popoverStart = windowStart;\n else if (popoverRect[sizeKey] > elementRect[sizeKey])\n popoverStart = elementStart;\n else if (elementEnd - windowStart > popoverRect[sizeKey])\n popoverStart = windowStart;\n else popoverStart = elementEnd - popoverRect[sizeKey];\n }\n\n return popoverStart;\n };\n\n return {\n before(options) {\n const { elementRect, popoverRect, gap, flip } = options;\n const windowStart = window[windowOffsetKey];\n const windowEnd = windowStart + window[windowSizeKey];\n const elementStart = windowStart + elementRect[rectKey];\n const popoverStart = elementStart - popoverRect[sizeKey] - gap;\n if (flip && popoverStart < windowStart) {\n const afterPopoverStart = this.after({ ...options, flip: false });\n const afterPopoverEnd = afterPopoverStart + popoverRect[sizeKey];\n const diffStart = windowStart - popoverStart;\n const diffEnd = afterPopoverEnd - windowEnd;\n if (afterPopoverEnd <= windowEnd || diffStart > diffEnd)\n return afterPopoverStart;\n }\n return popoverStart;\n },\n after(options) {\n const { elementRect, popoverRect, gap, flip } = options;\n const windowStart = window[windowOffsetKey];\n const windowEnd = windowStart + window[windowSizeKey];\n const elementStart = windowStart + elementRect[rectKey];\n const elementEnd = elementStart + elementRect[sizeKey];\n const popoverStart = elementEnd + gap;\n const popoverEnd = popoverStart + popoverRect[sizeKey];\n if (flip && popoverEnd > windowEnd) {\n const beforePopoverStart = this.before({ ...options, flip: false });\n const diffStart = windowStart - beforePopoverStart;\n const diffEnd = popoverEnd - windowEnd;\n if (beforePopoverStart >= windowStart || diffEnd > diffStart)\n return beforePopoverStart;\n }\n return popoverStart;\n },\n start: ({ elementRect, popoverRect }) => {\n const windowStart = window[windowOffsetKey];\n const elementStart = windowStart + elementRect[rectKey];\n return fitToWindow(elementStart, { elementRect, popoverRect });\n },\n end: ({ elementRect, popoverRect }) => {\n const windowStart = window[windowOffsetKey];\n const elementStart = windowStart + elementRect[rectKey];\n const elementEnd = elementStart + elementRect[sizeKey];\n const popoverStart = elementEnd - popoverRect[sizeKey];\n return fitToWindow(popoverStart, { elementRect, popoverRect });\n },\n center: ({ elementRect, popoverRect }) => {\n const windowStart = window[windowOffsetKey];\n const elementStart = windowStart + elementRect[rectKey];\n const popoverStart =\n elementStart + (elementRect[sizeKey] - popoverRect[sizeKey]) / 2;\n return fitToWindow(popoverStart, { elementRect, popoverRect });\n },\n };\n};\n\nconst getPopoverPosition = (\n top: PositionKeys,\n left: PositionKeys,\n options: PopoverPositionGetterOptions\n) => ({\n top: popoverPositionGetters('top')[top](options),\n left: popoverPositionGetters('left')[left](options),\n});\n\ntype PlacementPositionKeysMap = Record<Placement, [PositionKeys, PositionKeys]>;\nconst placementPositionKeysMap: PlacementPositionKeysMap = {\n top: ['before', 'center'],\n bottom: ['after', 'center'],\n left: ['center', 'before'],\n right: ['center', 'after'],\n 'top-start': ['before', 'start'],\n 'top-end': ['before', 'end'],\n 'bottom-start': ['after', 'start'],\n 'bottom-end': ['after', 'end'],\n 'left-start': ['start', 'before'],\n 'left-end': ['end', 'before'],\n 'right-start': ['start', 'after'],\n 'right-end': ['end', 'after'],\n};\n\ninterface PopoverPosition {\n top: number;\n left: number;\n}\n\n/**\n * Computes the position of the popover.\n * Note that you must change the elementRect when the scroll and resize events of the parent scrollable container occur.\n * In most cases, it will be the window.\n */\nconst usePopoverPosition = ({\n elementRect,\n popoverRect,\n placement = 'top',\n gap = 0.5,\n flip = true,\n}: UsePopoverPositionProps): PopoverPosition => {\n const bodyFontSize = useFontSize(document.body);\n const gapPx = useMemo(() => gap * bodyFontSize, [gap, bodyFontSize]);\n\n const positionKeys = useMemo(() => {\n if (typeof placement === 'string' && !!placementPositionKeysMap[placement])\n return placementPositionKeysMap[placement];\n return placementPositionKeysMap.top;\n }, [placement]);\n\n return getPopoverPosition(...positionKeys, {\n elementRect,\n popoverRect,\n gap: gapPx,\n flip,\n });\n};\n\nexport default usePopoverPosition;\n"],"mappings":"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"}
1
+ {"version":3,"file":"usePopoverPosition.js","names":["_utils","require","_react","_typeof","obj","Symbol","iterator","constructor","prototype","_toConsumableArray","arr","_arrayWithoutHoles","_iterableToArray","_unsupportedIterableToArray","_nonIterableSpread","TypeError","o","minLen","_arrayLikeToArray","n","Object","toString","call","slice","name","Array","from","test","iter","isArray","len","length","i","arr2","ownKeys","object","enumerableOnly","keys","getOwnPropertySymbols","symbols","filter","sym","getOwnPropertyDescriptor","enumerable","push","apply","_objectSpread","target","arguments","source","forEach","key","_defineProperty","getOwnPropertyDescriptors","defineProperties","defineProperty","value","_toPropertyKey","configurable","writable","arg","_toPrimitive","String","input","hint","prim","toPrimitive","undefined","res","Number","popoverPositionGetters","rectKey","sizeKey","windowSizeKey","windowOffsetKey","fitToWindow","start","_ref","elementRect","popoverRect","popoverStart","windowStart","window","windowEnd","elementStart","elementEnd","popoverEnd","before","options","gap","flip","afterPopoverStart","after","afterPopoverEnd","diffStart","diffEnd","beforePopoverStart","_ref2","end","_ref3","center","_ref4","getPopoverPosition","top","left","placementPositionKeysMap","bottom","right","usePopoverPosition","_ref5","_ref5$placement","placement","_ref5$gap","_ref5$flip","bodyFontSize","useFontSize","document","body","gapPx","useMemo","positionKeys","concat","_default","exports"],"sources":["../../../../src/Popover/utils/usePopoverPosition.ts"],"sourcesContent":["import { useFontSize } from '@os-design/utils';\nimport { useMemo } from 'react';\n\ntype Side = 'top' | 'left' | 'right' | 'bottom';\ntype Alignment = 'start' | 'end';\ntype AlignedPlacement = `${Side}-${Alignment}`;\n\nexport type Placement = Side | AlignedPlacement;\n\nexport interface Rect {\n top: number;\n left: number;\n width: number;\n height: number;\n}\n\ninterface UsePopoverPositionProps {\n /**\n * The rect of the element.\n */\n elementRect: Rect;\n /**\n * The rect of the popover.\n */\n popoverRect: Rect;\n /**\n * On which side of the element the popover will appear.\n * @default top\n */\n placement?: Placement;\n /**\n * The gap between the element and the popover in em.\n * @default 0.5\n */\n gap?: number;\n /**\n * Whether to flip the popover if it does not fit in the window.\n * @default true\n */\n flip?: boolean;\n}\n\ninterface PopoverPositionGetterOptions {\n elementRect: Rect;\n popoverRect: Rect;\n gap: number;\n flip: boolean;\n}\ntype PositionKeys = 'before' | 'after' | 'start' | 'end' | 'center';\ntype PopoverPositionGetterFn = (\n options: PopoverPositionGetterOptions\n) => number;\ntype PopoverPositionGetters = Record<PositionKeys, PopoverPositionGetterFn>;\ntype FitToWindow = Pick<\n PopoverPositionGetterOptions,\n 'elementRect' | 'popoverRect'\n>;\n\nconst popoverPositionGetters = (\n rectKey: 'top' | 'left'\n): PopoverPositionGetters => {\n const sizeKey = rectKey === 'top' ? 'height' : 'width';\n const windowSizeKey = rectKey === 'top' ? 'innerHeight' : 'innerWidth';\n const windowOffsetKey = rectKey === 'top' ? 'pageYOffset' : 'pageXOffset';\n\n const fitToWindow = (\n start: number,\n { elementRect, popoverRect }: FitToWindow\n ): number => {\n let popoverStart = start;\n const windowStart = window[windowOffsetKey];\n const windowEnd = windowStart + window[windowSizeKey];\n const elementStart = windowStart + elementRect[rectKey];\n const elementEnd = elementStart + elementRect[sizeKey];\n const popoverEnd = popoverStart + popoverRect[sizeKey];\n\n // Fit the popover to the end of the window\n if (popoverEnd > windowEnd) {\n if (elementEnd < windowEnd)\n popoverStart = windowEnd - popoverRect[sizeKey];\n else if (popoverRect[sizeKey] > elementRect[sizeKey])\n popoverStart = elementEnd - popoverRect[sizeKey];\n else if (windowEnd - elementStart > popoverRect[sizeKey])\n popoverStart = windowEnd - popoverRect[sizeKey];\n else popoverStart = elementStart;\n }\n\n // Fit the popover to the beginning of the window\n if (popoverStart < windowStart) {\n if (elementStart > windowStart) popoverStart = windowStart;\n else if (popoverRect[sizeKey] > elementRect[sizeKey])\n popoverStart = elementStart;\n else if (elementEnd - windowStart > popoverRect[sizeKey])\n popoverStart = windowStart;\n else popoverStart = elementEnd - popoverRect[sizeKey];\n }\n\n return popoverStart;\n };\n\n return {\n before(options) {\n const { elementRect, popoverRect, gap, flip } = options;\n const windowStart = window[windowOffsetKey];\n const windowEnd = windowStart + window[windowSizeKey];\n const elementStart = windowStart + elementRect[rectKey];\n const popoverStart = elementStart - popoverRect[sizeKey] - gap;\n if (flip && popoverStart < windowStart) {\n const afterPopoverStart = this.after({ ...options, flip: false });\n const afterPopoverEnd = afterPopoverStart + popoverRect[sizeKey];\n const diffStart = windowStart - popoverStart;\n const diffEnd = afterPopoverEnd - windowEnd;\n if (afterPopoverEnd <= windowEnd || diffStart > diffEnd)\n return afterPopoverStart;\n }\n return popoverStart;\n },\n after(options) {\n const { elementRect, popoverRect, gap, flip } = options;\n const windowStart = window[windowOffsetKey];\n const windowEnd = windowStart + window[windowSizeKey];\n const elementStart = windowStart + elementRect[rectKey];\n const elementEnd = elementStart + elementRect[sizeKey];\n const popoverStart = elementEnd + gap;\n const popoverEnd = popoverStart + popoverRect[sizeKey];\n if (flip && popoverEnd > windowEnd) {\n const beforePopoverStart = this.before({ ...options, flip: false });\n const diffStart = windowStart - beforePopoverStart;\n const diffEnd = popoverEnd - windowEnd;\n if (beforePopoverStart >= windowStart || diffEnd > diffStart)\n return beforePopoverStart;\n }\n return popoverStart;\n },\n start: ({ elementRect, popoverRect }) => {\n const windowStart = window[windowOffsetKey];\n const elementStart = windowStart + elementRect[rectKey];\n return fitToWindow(elementStart, { elementRect, popoverRect });\n },\n end: ({ elementRect, popoverRect }) => {\n const windowStart = window[windowOffsetKey];\n const elementStart = windowStart + elementRect[rectKey];\n const elementEnd = elementStart + elementRect[sizeKey];\n const popoverStart = elementEnd - popoverRect[sizeKey];\n return fitToWindow(popoverStart, { elementRect, popoverRect });\n },\n center: ({ elementRect, popoverRect }) => {\n const windowStart = window[windowOffsetKey];\n const elementStart = windowStart + elementRect[rectKey];\n const popoverStart =\n elementStart + (elementRect[sizeKey] - popoverRect[sizeKey]) / 2;\n return fitToWindow(popoverStart, { elementRect, popoverRect });\n },\n };\n};\n\nconst getPopoverPosition = (\n top: PositionKeys,\n left: PositionKeys,\n options: PopoverPositionGetterOptions\n) => ({\n top: popoverPositionGetters('top')[top](options),\n left: popoverPositionGetters('left')[left](options),\n});\n\ntype PlacementPositionKeysMap = Record<Placement, [PositionKeys, PositionKeys]>;\nconst placementPositionKeysMap: PlacementPositionKeysMap = {\n top: ['before', 'center'],\n bottom: ['after', 'center'],\n left: ['center', 'before'],\n right: ['center', 'after'],\n 'top-start': ['before', 'start'],\n 'top-end': ['before', 'end'],\n 'bottom-start': ['after', 'start'],\n 'bottom-end': ['after', 'end'],\n 'left-start': ['start', 'before'],\n 'left-end': ['end', 'before'],\n 'right-start': ['start', 'after'],\n 'right-end': ['end', 'after'],\n};\n\ninterface PopoverPosition {\n top: number;\n left: number;\n}\n\n/**\n * Computes the position of the popover.\n * Note that you must change the elementRect when the scroll and resize events of the parent scrollable container occur.\n * In most cases, it will be the window.\n */\nconst usePopoverPosition = ({\n elementRect,\n popoverRect,\n placement = 'top',\n gap = 0.5,\n flip = true,\n}: UsePopoverPositionProps): PopoverPosition => {\n const bodyFontSize = useFontSize(document.body);\n const gapPx = useMemo(() => gap * bodyFontSize, [gap, bodyFontSize]);\n\n const positionKeys = useMemo(() => {\n if (typeof placement === 'string' && !!placementPositionKeysMap[placement])\n return placementPositionKeysMap[placement];\n return placementPositionKeysMap.top;\n }, [placement]);\n\n return getPopoverPosition(...positionKeys, {\n elementRect,\n popoverRect,\n gap: gapPx,\n flip,\n });\n};\n\nexport default usePopoverPosition;\n"],"mappings":"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"}
@@ -6,10 +6,10 @@ Object.defineProperty(exports, "__esModule", {
6
6
  });
7
7
  exports["default"] = void 0;
8
8
  var _styled = _interopRequireDefault(require("@emotion/styled"));
9
- var _react = _interopRequireWildcard(require("react"));
10
9
  var _styles = require("@os-design/styles");
11
- var _utils = require("@os-design/utils");
12
10
  var _theming = require("@os-design/theming");
11
+ var _utils = require("@os-design/utils");
12
+ var _react = _interopRequireWildcard(require("react"));
13
13
  var _excluded = ["percent", "text", "height"];
14
14
  var _templateObject, _templateObject2, _templateObject3, _templateObject4;
15
15
  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); }
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","names":["Container","styled","omitEmotionProps","sizeStyles","Trail","p","clr","theme","progressColorTrail","height","Stroke","percent","progressColorStroke","progressColorStrokeSuccess","transitionStyles","Text","div","progressColorPercentage","Progress","forwardRef","ref","text","rest","validPercent","useMemo","textId","Math","random","toString","slice","displayName"],"sources":["../../../src/Progress/index.tsx"],"sourcesContent":["import styled from '@emotion/styled';\nimport React, { forwardRef, useMemo } from 'react';\nimport { sizeStyles, transitionStyles, WithSize } from '@os-design/styles';\nimport { omitEmotionProps } from '@os-design/utils';\nimport { clr } from '@os-design/theming';\n\ntype JsxDivProps = Omit<JSX.IntrinsicElements['div'], 'ref'>;\nexport interface ProgressProps extends JsxDivProps, WithSize {\n /**\n * The percentage of completion.\n * @default 0\n */\n percent?: number;\n /**\n * The text that is displayed to the right of the progress bar.\n * @default undefined\n */\n text?: string;\n /**\n * The height of the progress bar.\n * @default 0.5em\n */\n height?: string;\n}\n\nconst Container = styled('div', omitEmotionProps('size'))<WithSize>`\n display: flex;\n align-items: center;\n ${sizeStyles};\n`;\n\ntype TrailProps = Required<Pick<ProgressProps, 'height'>>;\nconst Trail = styled('div', omitEmotionProps('height'))<TrailProps>`\n width: 100%;\n background-color: ${(p) => clr(p.theme.progressColorTrail)};\n border-radius: ${(p) => `calc(${p.height} / 2)`};\n overflow: hidden; // To hide the border of the progress bar\n`;\n\ntype StrokeProps = Required<Pick<ProgressProps, 'percent' | 'height'>>;\nconst Stroke = styled(\n 'div',\n omitEmotionProps('percent', 'height')\n)<StrokeProps>`\n width: ${(p) => p.percent}%;\n height: ${(p) => p.height};\n border-radius: 0 ${(p) => `calc(${p.height} / 2)`}\n ${(p) => `calc(${p.height} / 2)`} 0;\n background-color: ${(p) =>\n p.percent < 100\n ? clr(p.theme.progressColorStroke)\n : clr(p.theme.progressColorStrokeSuccess)};\n ${transitionStyles('width', 'background-color')};\n`;\n\nconst Text = styled.div`\n margin-left: 0.5em;\n color: ${(p) => clr(p.theme.progressColorPercentage)};\n line-height: 1;\n`;\n\n/**\n * The progress bar.\n */\nconst Progress = forwardRef<HTMLDivElement, ProgressProps>(\n ({ percent = 0, text, height = '0.5em', ...rest }, ref) => {\n const validPercent = useMemo(() => {\n if (percent < 0) return 0;\n if (percent > 100) return 100;\n return percent;\n }, [percent]);\n\n const textId = useMemo(\n () => `progress-bar-text-${Math.random().toString(36).slice(2, 11)}`,\n []\n );\n\n return (\n <Container\n role='progressbar'\n aria-valuenow={validPercent}\n aria-valuemin={0}\n aria-valuemax={100}\n aria-describedby={textId}\n {...rest}\n ref={ref}\n >\n <Trail height={height}>\n <Stroke percent={validPercent} height={height} />\n </Trail>\n {text && <Text id={textId}>{text}</Text>}\n </Container>\n );\n }\n);\n\nProgress.displayName = 'Progress';\n\nexport default Progress;\n"],"mappings":";;;;;;;AAAA;AACA;AACA;AACA;AACA;AAAyC;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAqBzC,IAAMA,SAAS,GAAG,IAAAC,kBAAM,EAAC,KAAK,EAAE,IAAAC,uBAAgB,EAAC,MAAM,CAAC,CAAC,2HAGrDC,kBAAU,CACb;AAGD,IAAMC,KAAK,GAAG,IAAAH,kBAAM,EAAC,KAAK,EAAE,IAAAC,uBAAgB,EAAC,QAAQ,CAAC,CAAC,4MAEjC,UAACG,CAAC;EAAA,OAAK,IAAAC,YAAG,EAACD,CAAC,CAACE,KAAK,CAACC,kBAAkB,CAAC;AAAA,GACzC,UAACH,CAAC;EAAA,sBAAaA,CAAC,CAACI,MAAM;AAAA,CAAO,CAEhD;AAGD,IAAMC,MAAM,GAAG,IAAAT,kBAAM,EACnB,KAAK,EACL,IAAAC,uBAAgB,EAAC,SAAS,EAAE,QAAQ,CAAC,CACtC,sLACU,UAACG,CAAC;EAAA,OAAKA,CAAC,CAACM,OAAO;AAAA,GACf,UAACN,CAAC;EAAA,OAAKA,CAAC,CAACI,MAAM;AAAA,GACN,UAACJ,CAAC;EAAA,sBAAaA,CAAC,CAACI,MAAM;AAAA,CAAO,EAC7C,UAACJ,CAAC;EAAA,sBAAaA,CAAC,CAACI,MAAM;AAAA,CAAO,EACd,UAACJ,CAAC;EAAA,OACpBA,CAAC,CAACM,OAAO,GAAG,GAAG,GACX,IAAAL,YAAG,EAACD,CAAC,CAACE,KAAK,CAACK,mBAAmB,CAAC,GAChC,IAAAN,YAAG,EAACD,CAAC,CAACE,KAAK,CAACM,0BAA0B,CAAC;AAAA,GAC3C,IAAAC,wBAAgB,EAAC,OAAO,EAAE,kBAAkB,CAAC,CAChD;AAED,IAAMC,IAAI,GAAGd,kBAAM,CAACe,GAAG,oIAEZ,UAACX,CAAC;EAAA,OAAK,IAAAC,YAAG,EAACD,CAAC,CAACE,KAAK,CAACU,uBAAuB,CAAC;AAAA,EAErD;;AAED;AACA;AACA;AACA,IAAMC,QAAQ,gBAAG,IAAAC,iBAAU,EACzB,gBAAmDC,GAAG,EAAK;EAAA,wBAAxDT,OAAO;IAAPA,OAAO,6BAAG,CAAC;IAAEU,IAAI,QAAJA,IAAI;IAAA,mBAAEZ,MAAM;IAANA,MAAM,4BAAG,OAAO;IAAKa,IAAI;EAC7C,IAAMC,YAAY,GAAG,IAAAC,cAAO,EAAC,YAAM;IACjC,IAAIb,OAAO,GAAG,CAAC,EAAE,OAAO,CAAC;IACzB,IAAIA,OAAO,GAAG,GAAG,EAAE,OAAO,GAAG;IAC7B,OAAOA,OAAO;EAChB,CAAC,EAAE,CAACA,OAAO,CAAC,CAAC;EAEb,IAAMc,MAAM,GAAG,IAAAD,cAAO,EACpB;IAAA,mCAA2BE,IAAI,CAACC,MAAM,EAAE,CAACC,QAAQ,CAAC,EAAE,CAAC,CAACC,KAAK,CAAC,CAAC,EAAE,EAAE,CAAC;EAAA,CAAE,EACpE,EAAE,CACH;EAED,oBACE,gCAAC,SAAS;IACR,IAAI,EAAC,aAAa;IAClB,iBAAeN,YAAa;IAC5B,iBAAe,CAAE;IACjB,iBAAe,GAAI;IACnB,oBAAkBE;EAAO,GACrBH,IAAI;IACR,GAAG,EAAEF;EAAI,iBAET,gCAAC,KAAK;IAAC,MAAM,EAAEX;EAAO,gBACpB,gCAAC,MAAM;IAAC,OAAO,EAAEc,YAAa;IAAC,MAAM,EAAEd;EAAO,EAAG,CAC3C,EACPY,IAAI,iBAAI,gCAAC,IAAI;IAAC,EAAE,EAAEI;EAAO,GAAEJ,IAAI,CAAQ,CAC9B;AAEhB,CAAC,CACF;AAEDH,QAAQ,CAACY,WAAW,GAAG,UAAU;AAAC,eAEnBZ,QAAQ;AAAA"}
1
+ {"version":3,"file":"index.js","names":["_styled","_interopRequireDefault","require","_styles","_theming","_utils","_react","_interopRequireWildcard","_excluded","_templateObject","_templateObject2","_templateObject3","_templateObject4","_getRequireWildcardCache","nodeInterop","WeakMap","cacheBabelInterop","cacheNodeInterop","obj","__esModule","_typeof","cache","has","get","newObj","hasPropertyDescriptor","Object","defineProperty","getOwnPropertyDescriptor","key","prototype","hasOwnProperty","call","desc","set","_extends","assign","bind","target","i","arguments","length","source","apply","_objectWithoutProperties","excluded","_objectWithoutPropertiesLoose","getOwnPropertySymbols","sourceSymbolKeys","indexOf","propertyIsEnumerable","sourceKeys","keys","_taggedTemplateLiteral","strings","raw","slice","freeze","defineProperties","value","Container","styled","omitEmotionProps","sizeStyles","Trail","p","clr","theme","progressColorTrail","concat","height","Stroke","percent","progressColorStroke","progressColorStrokeSuccess","transitionStyles","Text","div","progressColorPercentage","Progress","forwardRef","_ref","ref","_ref$percent","text","_ref$height","rest","validPercent","useMemo","textId","Math","random","toString","createElement","role","id","displayName","_default","exports"],"sources":["../../../src/Progress/index.tsx"],"sourcesContent":["import styled from '@emotion/styled';\nimport { WithSize, sizeStyles, transitionStyles } from '@os-design/styles';\nimport { clr } from '@os-design/theming';\n\nimport { omitEmotionProps } from '@os-design/utils';\nimport React, { forwardRef, useMemo } from 'react';\n\ntype JsxDivProps = Omit<JSX.IntrinsicElements['div'], 'ref'>;\nexport interface ProgressProps extends JsxDivProps, WithSize {\n /**\n * The percentage of completion.\n * @default 0\n */\n percent?: number;\n /**\n * The text that is displayed to the right of the progress bar.\n * @default undefined\n */\n text?: string;\n /**\n * The height of the progress bar.\n * @default 0.5em\n */\n height?: string;\n}\n\nconst Container = styled('div', omitEmotionProps('size'))<WithSize>`\n display: flex;\n align-items: center;\n ${sizeStyles};\n`;\n\ntype TrailProps = Required<Pick<ProgressProps, 'height'>>;\nconst Trail = styled('div', omitEmotionProps('height'))<TrailProps>`\n width: 100%;\n background-color: ${(p) => clr(p.theme.progressColorTrail)};\n border-radius: ${(p) => `calc(${p.height} / 2)`};\n overflow: hidden; // To hide the border of the progress bar\n`;\n\ntype StrokeProps = Required<Pick<ProgressProps, 'percent' | 'height'>>;\nconst Stroke = styled(\n 'div',\n omitEmotionProps('percent', 'height')\n)<StrokeProps>`\n width: ${(p) => p.percent}%;\n height: ${(p) => p.height};\n border-radius: 0 ${(p) => `calc(${p.height} / 2)`}\n ${(p) => `calc(${p.height} / 2)`} 0;\n background-color: ${(p) =>\n p.percent < 100\n ? clr(p.theme.progressColorStroke)\n : clr(p.theme.progressColorStrokeSuccess)};\n ${transitionStyles('width', 'background-color')};\n`;\n\nconst Text = styled.div`\n margin-left: 0.5em;\n color: ${(p) => clr(p.theme.progressColorPercentage)};\n line-height: 1;\n`;\n\n/**\n * The progress bar.\n */\nconst Progress = forwardRef<HTMLDivElement, ProgressProps>(\n ({ percent = 0, text, height = '0.5em', ...rest }, ref) => {\n const validPercent = useMemo(() => {\n if (percent < 0) return 0;\n if (percent > 100) return 100;\n return percent;\n }, [percent]);\n\n const textId = useMemo(\n () => `progress-bar-text-${Math.random().toString(36).slice(2, 11)}`,\n []\n );\n\n return (\n <Container\n role='progressbar'\n aria-valuenow={validPercent}\n aria-valuemin={0}\n aria-valuemax={100}\n aria-describedby={textId}\n {...rest}\n ref={ref}\n >\n <Trail height={height}>\n <Stroke percent={validPercent} height={height} />\n </Trail>\n {text && <Text id={textId}>{text}</Text>}\n </Container>\n );\n }\n);\n\nProgress.displayName = 'Progress';\n\nexport default Progress;\n"],"mappings":"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"}
@@ -5,19 +5,19 @@ Object.defineProperty(exports, "__esModule", {
5
5
  value: true
6
6
  });
7
7
  exports["default"] = void 0;
8
- var _react = _interopRequireWildcard(require("react"));
9
- var _utils = require("@os-design/utils");
8
+ var _react = require("@emotion/react");
10
9
  var _styled = _interopRequireDefault(require("@emotion/styled"));
11
10
  var _media = require("@os-design/media");
12
11
  var _theming = require("@os-design/theming");
13
- var _react2 = require("@emotion/react");
12
+ var _utils = require("@os-design/utils");
13
+ var _react2 = _interopRequireWildcard(require("react"));
14
14
  var _Button = _interopRequireDefault(require("../Button"));
15
15
  var _excluded = ["options", "wide", "disabled", "value", "defaultValue", "onChange", "size"],
16
16
  _excluded2 = ["title", "value", "disabled", "onClick"];
17
17
  var _templateObject, _templateObject2, _templateObject3, _templateObject4;
18
- function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; }
19
18
  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); }
20
19
  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; }
20
+ function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; }
21
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); }
22
22
  function _slicedToArray(arr, i) { return _arrayWithHoles(arr) || _iterableToArrayLimit(arr, i) || _unsupportedIterableToArray(arr, i) || _nonIterableRest(); }
23
23
  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."); }
@@ -29,10 +29,10 @@ function _objectWithoutProperties(source, excluded) { if (source == null) return
29
29
  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; }
30
30
  function _taggedTemplateLiteral(strings, raw) { if (!raw) { raw = strings.slice(0); } return Object.freeze(Object.defineProperties(strings, { raw: { value: Object.freeze(raw) } })); }
31
31
  var wideDefaultStyles = function wideDefaultStyles(p) {
32
- return p.wide === 'default' && (0, _react2.css)(_templateObject || (_templateObject = _taggedTemplateLiteral(["\n ", " {\n width: 100%;\n & > button {\n flex: 1;\n }\n }\n "])), _media.m.max.xxs);
32
+ return p.wide === 'default' && (0, _react.css)(_templateObject || (_templateObject = _taggedTemplateLiteral(["\n ", " {\n width: 100%;\n & > button {\n flex: 1;\n }\n }\n "])), _media.m.max.xxs);
33
33
  };
34
34
  var wideAlwaysStyles = function wideAlwaysStyles(p) {
35
- return p.wide === 'always' && (0, _react2.css)(_templateObject2 || (_templateObject2 = _taggedTemplateLiteral(["\n width: 100%;\n & > button {\n flex: 1;\n }\n "])));
35
+ return p.wide === 'always' && (0, _react.css)(_templateObject2 || (_templateObject2 = _taggedTemplateLiteral(["\n width: 100%;\n & > button {\n flex: 1;\n }\n "])));
36
36
  };
37
37
  var Container = (0, _styled["default"])('div', (0, _utils.omitEmotionProps)('wide', 'disabled'))(_templateObject3 || (_templateObject3 = _taggedTemplateLiteral(["\n display: inline-flex;\n flex-wrap: wrap;\n\n border-radius: ", "em;\n overflow: hidden;\n border: 1px solid\n ", ";\n\n ", ";\n ", ";\n"])), function (p) {
38
38
  return p.theme.borderRadius;
@@ -44,7 +44,7 @@ var StyledButton = (0, _styled["default"])(_Button["default"])(_templateObject4
44
44
  /**
45
45
  * The radio buttons that allow a user to select only one of a limited number of options.
46
46
  */
47
- var RadioGroup = /*#__PURE__*/(0, _react.forwardRef)(function (_ref, ref) {
47
+ var RadioGroup = /*#__PURE__*/(0, _react2.forwardRef)(function (_ref, ref) {
48
48
  var _ref$options = _ref.options,
49
49
  options = _ref$options === void 0 ? [] : _ref$options,
50
50
  _ref$wide = _ref.wide,
@@ -65,7 +65,7 @@ var RadioGroup = /*#__PURE__*/(0, _react.forwardRef)(function (_ref, ref) {
65
65
  _useForwardedState2 = _slicedToArray(_useForwardedState, 2),
66
66
  forwardedValue = _useForwardedState2[0],
67
67
  setForwardedValue = _useForwardedState2[1];
68
- return /*#__PURE__*/_react["default"].createElement("div", null, /*#__PURE__*/_react["default"].createElement(Container, _extends({
68
+ return /*#__PURE__*/_react2["default"].createElement("div", null, /*#__PURE__*/_react2["default"].createElement(Container, _extends({
69
69
  wide: wide,
70
70
  disabled: disabled
71
71
  }, rest, {
@@ -77,7 +77,7 @@ var RadioGroup = /*#__PURE__*/(0, _react.forwardRef)(function (_ref, ref) {
77
77
  _ref2$onClick = _ref2.onClick,
78
78
  _onClick = _ref2$onClick === void 0 ? function () {} : _ref2$onClick,
79
79
  buttonRest = _objectWithoutProperties(_ref2, _excluded2);
80
- return /*#__PURE__*/_react["default"].createElement(StyledButton, _extends({
80
+ return /*#__PURE__*/_react2["default"].createElement(StyledButton, _extends({
81
81
  key: valueOption,
82
82
  type: forwardedValue === valueOption ? 'primary' : 'ghost',
83
83
  wide: "never",
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","names":["wideDefaultStyles","p","wide","css","m","max","xxs","wideAlwaysStyles","Container","styled","omitEmotionProps","theme","borderRadius","disabled","clr","buttonDisabledGhostColorText","colorPrimary","StyledButton","Button","RadioGroup","forwardRef","ref","options","value","defaultValue","onChange","size","rest","useForwardedState","forwardedValue","setForwardedValue","map","title","valueOption","disabledOption","onClick","buttonRest","e","displayName"],"sources":["../../../src/RadioGroup/index.tsx"],"sourcesContent":["import React, { forwardRef } from 'react';\nimport { WithSize } from '@os-design/styles';\nimport { omitEmotionProps, useForwardedState } from '@os-design/utils';\nimport styled from '@emotion/styled';\nimport { m } from '@os-design/media';\nimport { clr } from '@os-design/theming';\nimport { css } from '@emotion/react';\nimport Button, { ButtonProps } from '../Button';\n\nexport interface RadioGroupOption\n extends Omit<ButtonProps, 'type' | 'wide' | 'size'> {\n /**\n * The title of the option.\n */\n title: string;\n /**\n * The value of the option.\n */\n value: string;\n}\n\ntype JsxDivProps = Omit<\n JSX.IntrinsicElements['div'],\n 'value' | 'defaultValue' | 'onChange' | 'ref'\n>;\nexport interface RadioGroupProps extends JsxDivProps, WithSize {\n /**\n * Options of the radio group.\n * @default undefined\n */\n options?: RadioGroupOption[];\n /**\n * Whether the radio group has full width.\n * Possible values:\n * `default` – the radio group has full width if the screen width is less than xs;\n * `always` – the radio group always has full width;\n * `never` – the radio group never has full width.\n * @default default\n */\n wide?: 'default' | 'always' | 'never';\n /**\n * Whether the radio group is disabled.\n * @default false\n */\n disabled?: boolean;\n /**\n * Selected option.\n * @default false\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 wideDefaultStyles = (p) =>\n p.wide === 'default' &&\n css`\n ${m.max.xxs} {\n width: 100%;\n & > button {\n flex: 1;\n }\n }\n `;\n\nconst wideAlwaysStyles = (p) =>\n p.wide === 'always' &&\n css`\n width: 100%;\n & > button {\n flex: 1;\n }\n `;\n\ntype ContainerProps = Required<Pick<RadioGroupProps, 'wide' | 'disabled'>>;\nconst Container = styled(\n 'div',\n omitEmotionProps('wide', 'disabled')\n)<ContainerProps>`\n display: inline-flex;\n flex-wrap: wrap;\n\n border-radius: ${(p) => p.theme.borderRadius}em;\n overflow: hidden;\n border: 1px solid\n ${(p) =>\n p.disabled\n ? clr(p.theme.buttonDisabledGhostColorText)\n : clr(p.theme.colorPrimary)};\n\n ${wideDefaultStyles};\n ${wideAlwaysStyles};\n`;\n\nconst StyledButton = styled(Button)`\n border-radius: 0;\n`;\n\n/**\n * The radio buttons that allow a user to select only one of a limited number of options.\n */\nconst RadioGroup = forwardRef<HTMLDivElement, RadioGroupProps>(\n (\n {\n options = [],\n wide = 'default',\n disabled = false,\n value,\n defaultValue,\n onChange = () => {},\n size,\n ...rest\n },\n ref\n ) => {\n const [forwardedValue, setForwardedValue] = useForwardedState({\n value,\n defaultValue,\n onChange,\n });\n\n return (\n <div>\n <Container wide={wide} disabled={disabled} {...rest} ref={ref}>\n {options?.map(\n ({\n title,\n value: valueOption,\n disabled: disabledOption,\n onClick = () => {},\n ...buttonRest\n }) => (\n <StyledButton\n key={valueOption}\n type={forwardedValue === valueOption ? 'primary' : 'ghost'}\n wide='never'\n disabled={disabled || disabledOption}\n size={size}\n onClick={(e) => {\n setForwardedValue(valueOption);\n onClick(e);\n }}\n {...buttonRest}\n >\n {title}\n </StyledButton>\n )\n )}\n </Container>\n </div>\n );\n }\n);\n\nRadioGroup.displayName = 'RadioGroup';\n\nexport default RadioGroup;\n"],"mappings":";;;;;;;AAAA;AAEA;AACA;AACA;AACA;AACA;AACA;AAAgD;EAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAuDhD,IAAMA,iBAAiB,GAAG,SAApBA,iBAAiB,CAAIC,CAAC;EAAA,OAC1BA,CAAC,CAACC,IAAI,KAAK,SAAS,QACpBC,WAAG,iKACCC,QAAC,CAACC,GAAG,CAACC,GAAG,CAMZ;AAAA;AAEH,IAAMC,gBAAgB,GAAG,SAAnBA,gBAAgB,CAAIN,CAAC;EAAA,OACzBA,CAAC,CAACC,IAAI,KAAK,QAAQ,QACnBC,WAAG,uIAKF;AAAA;AAGH,IAAMK,SAAS,GAAG,IAAAC,kBAAM,EACtB,KAAK,EACL,IAAAC,uBAAgB,EAAC,MAAM,EAAE,UAAU,CAAC,CACrC,4NAIkB,UAACT,CAAC;EAAA,OAAKA,CAAC,CAACU,KAAK,CAACC,YAAY;AAAA,GAGxC,UAACX,CAAC;EAAA,OACFA,CAAC,CAACY,QAAQ,GACN,IAAAC,YAAG,EAACb,CAAC,CAACU,KAAK,CAACI,4BAA4B,CAAC,GACzC,IAAAD,YAAG,EAACb,CAAC,CAACU,KAAK,CAACK,YAAY,CAAC;AAAA,GAE/BhB,iBAAiB,EACjBO,gBAAgB,CACnB;AAED,IAAMU,YAAY,GAAG,IAAAR,kBAAM,EAACS,kBAAM,CAAC,8FAElC;;AAED;AACA;AACA;AACA,IAAMC,UAAU,gBAAG,IAAAC,iBAAU,EAC3B,gBAWEC,GAAG,EACA;EAAA,wBAVDC,OAAO;IAAPA,OAAO,6BAAG,EAAE;IAAA,iBACZpB,IAAI;IAAJA,IAAI,0BAAG,SAAS;IAAA,qBAChBW,QAAQ;IAARA,QAAQ,8BAAG,KAAK;IAChBU,KAAK,QAALA,KAAK;IACLC,YAAY,QAAZA,YAAY;IAAA,qBACZC,QAAQ;IAARA,QAAQ,8BAAG,YAAM,CAAC,CAAC;IACnBC,IAAI,QAAJA,IAAI;IACDC,IAAI;EAIT,yBAA4C,IAAAC,wBAAiB,EAAC;MAC5DL,KAAK,EAALA,KAAK;MACLC,YAAY,EAAZA,YAAY;MACZC,QAAQ,EAARA;IACF,CAAC,CAAC;IAAA;IAJKI,cAAc;IAAEC,iBAAiB;EAMxC,oBACE,0DACE,gCAAC,SAAS;IAAC,IAAI,EAAE5B,IAAK;IAAC,QAAQ,EAAEW;EAAS,GAAKc,IAAI;IAAE,GAAG,EAAEN;EAAI,IAC3DC,OAAO,aAAPA,OAAO,uBAAPA,OAAO,CAAES,GAAG,CACX;IAAA,IACEC,KAAK,SAALA,KAAK;MACEC,WAAW,SAAlBV,KAAK;MACKW,cAAc,SAAxBrB,QAAQ;MAAA,sBACRsB,OAAO;MAAPA,QAAO,8BAAG,YAAM,CAAC,CAAC;MACfC,UAAU;IAAA,oBAEb,gCAAC,YAAY;MACX,GAAG,EAAEH,WAAY;MACjB,IAAI,EAAEJ,cAAc,KAAKI,WAAW,GAAG,SAAS,GAAG,OAAQ;MAC3D,IAAI,EAAC,OAAO;MACZ,QAAQ,EAAEpB,QAAQ,IAAIqB,cAAe;MACrC,IAAI,EAAER,IAAK;MACX,OAAO,EAAE,iBAACW,CAAC,EAAK;QACdP,iBAAiB,CAACG,WAAW,CAAC;QAC9BE,QAAO,CAACE,CAAC,CAAC;MACZ;IAAE,GACED,UAAU,GAEbJ,KAAK,CACO;EAAA,CAChB,CACF,CACS,CACR;AAEV,CAAC,CACF;AAEDb,UAAU,CAACmB,WAAW,GAAG,YAAY;AAAC,eAEvBnB,UAAU;AAAA"}
1
+ {"version":3,"file":"index.js","names":["_react","require","_styled","_interopRequireDefault","_media","_theming","_utils","_react2","_interopRequireWildcard","_Button","_excluded","_excluded2","_templateObject","_templateObject2","_templateObject3","_templateObject4","_getRequireWildcardCache","nodeInterop","WeakMap","cacheBabelInterop","cacheNodeInterop","obj","__esModule","_typeof","cache","has","get","newObj","hasPropertyDescriptor","Object","defineProperty","getOwnPropertyDescriptor","key","prototype","hasOwnProperty","call","desc","set","_extends","assign","bind","target","i","arguments","length","source","apply","_slicedToArray","arr","_arrayWithHoles","_iterableToArrayLimit","_unsupportedIterableToArray","_nonIterableRest","TypeError","o","minLen","_arrayLikeToArray","n","toString","slice","constructor","name","Array","from","test","len","arr2","_i","Symbol","iterator","_s","_e","_x","_r","_arr","_n","_d","next","done","push","value","err","isArray","_objectWithoutProperties","excluded","_objectWithoutPropertiesLoose","getOwnPropertySymbols","sourceSymbolKeys","indexOf","propertyIsEnumerable","sourceKeys","keys","_taggedTemplateLiteral","strings","raw","freeze","defineProperties","wideDefaultStyles","p","wide","css","m","max","xxs","wideAlwaysStyles","Container","styled","omitEmotionProps","theme","borderRadius","disabled","clr","buttonDisabledGhostColorText","colorPrimary","StyledButton","Button","RadioGroup","forwardRef","_ref","ref","_ref$options","options","_ref$wide","_ref$disabled","defaultValue","_ref$onChange","onChange","size","rest","_useForwardedState","useForwardedState","_useForwardedState2","forwardedValue","setForwardedValue","createElement","map","_ref2","title","valueOption","disabledOption","_ref2$onClick","onClick","buttonRest","type","e","displayName","_default","exports"],"sources":["../../../src/RadioGroup/index.tsx"],"sourcesContent":["import { css } from '@emotion/react';\nimport styled from '@emotion/styled';\nimport { m } from '@os-design/media';\nimport { WithSize } from '@os-design/styles';\nimport { clr } from '@os-design/theming';\nimport { omitEmotionProps, useForwardedState } from '@os-design/utils';\nimport React, { forwardRef } from 'react';\nimport Button, { ButtonProps } from '../Button';\n\nexport interface RadioGroupOption\n extends Omit<ButtonProps, 'type' | 'wide' | 'size'> {\n /**\n * The title of the option.\n */\n title: string;\n /**\n * The value of the option.\n */\n value: string;\n}\n\ntype JsxDivProps = Omit<\n JSX.IntrinsicElements['div'],\n 'value' | 'defaultValue' | 'onChange' | 'ref'\n>;\nexport interface RadioGroupProps extends JsxDivProps, WithSize {\n /**\n * Options of the radio group.\n * @default undefined\n */\n options?: RadioGroupOption[];\n /**\n * Whether the radio group has full width.\n * Possible values:\n * `default` – the radio group has full width if the screen width is less than xs;\n * `always` – the radio group always has full width;\n * `never` – the radio group never has full width.\n * @default default\n */\n wide?: 'default' | 'always' | 'never';\n /**\n * Whether the radio group is disabled.\n * @default false\n */\n disabled?: boolean;\n /**\n * Selected option.\n * @default false\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 wideDefaultStyles = (p) =>\n p.wide === 'default' &&\n css`\n ${m.max.xxs} {\n width: 100%;\n & > button {\n flex: 1;\n }\n }\n `;\n\nconst wideAlwaysStyles = (p) =>\n p.wide === 'always' &&\n css`\n width: 100%;\n & > button {\n flex: 1;\n }\n `;\n\ntype ContainerProps = Required<Pick<RadioGroupProps, 'wide' | 'disabled'>>;\nconst Container = styled(\n 'div',\n omitEmotionProps('wide', 'disabled')\n)<ContainerProps>`\n display: inline-flex;\n flex-wrap: wrap;\n\n border-radius: ${(p) => p.theme.borderRadius}em;\n overflow: hidden;\n border: 1px solid\n ${(p) =>\n p.disabled\n ? clr(p.theme.buttonDisabledGhostColorText)\n : clr(p.theme.colorPrimary)};\n\n ${wideDefaultStyles};\n ${wideAlwaysStyles};\n`;\n\nconst StyledButton = styled(Button)`\n border-radius: 0;\n`;\n\n/**\n * The radio buttons that allow a user to select only one of a limited number of options.\n */\nconst RadioGroup = forwardRef<HTMLDivElement, RadioGroupProps>(\n (\n {\n options = [],\n wide = 'default',\n disabled = false,\n value,\n defaultValue,\n onChange = () => {},\n size,\n ...rest\n },\n ref\n ) => {\n const [forwardedValue, setForwardedValue] = useForwardedState({\n value,\n defaultValue,\n onChange,\n });\n\n return (\n <div>\n <Container wide={wide} disabled={disabled} {...rest} ref={ref}>\n {options?.map(\n ({\n title,\n value: valueOption,\n disabled: disabledOption,\n onClick = () => {},\n ...buttonRest\n }) => (\n <StyledButton\n key={valueOption}\n type={forwardedValue === valueOption ? 'primary' : 'ghost'}\n wide='never'\n disabled={disabled || disabledOption}\n size={size}\n onClick={(e) => {\n setForwardedValue(valueOption);\n onClick(e);\n }}\n {...buttonRest}\n >\n {title}\n </StyledButton>\n )\n )}\n </Container>\n </div>\n );\n }\n);\n\nRadioGroup.displayName = 'RadioGroup';\n\nexport default RadioGroup;\n"],"mappings":"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"}
@@ -6,9 +6,9 @@ Object.defineProperty(exports, "__esModule", {
6
6
  });
7
7
  exports["default"] = void 0;
8
8
  var _styled = _interopRequireDefault(require("@emotion/styled"));
9
- var _react = _interopRequireWildcard(require("react"));
10
9
  var _styles = require("@os-design/styles");
11
10
  var _utils = require("@os-design/utils");
11
+ var _react = _interopRequireWildcard(require("react"));
12
12
  var _Skeleton = _interopRequireDefault(require("../Skeleton"));
13
13
  var _excluded = ["width"];
14
14
  var _templateObject;
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","names":["StyledRadioGroupSkeleton","styled","Skeleton","omitEmotionProps","p","theme","baseHeight","sizeStyles","RadioGroupSkeleton","forwardRef","ref","width","rest","displayName"],"sources":["../../../src/RadioGroupSkeleton/index.tsx"],"sourcesContent":["import styled from '@emotion/styled';\nimport React, { forwardRef } from 'react';\nimport { sizeStyles, WithSize } from '@os-design/styles';\nimport { omitEmotionProps } from '@os-design/utils';\nimport Skeleton, { SkeletonProps } from '../Skeleton';\n\nexport interface RadioGroupSkeletonProps extends SkeletonProps, WithSize {\n /**\n * The width of the skeleton.\n * @default 10em\n */\n width?: string;\n}\n\nconst StyledRadioGroupSkeleton = styled(\n Skeleton,\n omitEmotionProps('size')\n)<WithSize>`\n height: calc(${(p) => p.theme.baseHeight}em + 2px);\n ${sizeStyles};\n`;\n\n/**\n * Provides a radio group placeholder while a user waits for the content to load.\n */\nconst RadioGroupSkeleton = forwardRef<HTMLDivElement, RadioGroupSkeletonProps>(\n ({ width = '10em', ...rest }, ref) => (\n <StyledRadioGroupSkeleton width={width} {...rest} ref={ref} />\n )\n);\n\nRadioGroupSkeleton.displayName = 'RadioGroupSkeleton';\n\nexport default RadioGroupSkeleton;\n"],"mappings":";;;;;;;AAAA;AACA;AACA;AACA;AACA;AAAsD;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAUtD,IAAMA,wBAAwB,GAAG,IAAAC,kBAAM,EACrCC,oBAAQ,EACR,IAAAC,uBAAgB,EAAC,MAAM,CAAC,CACzB,gHACgB,UAACC,CAAC;EAAA,OAAKA,CAAC,CAACC,KAAK,CAACC,UAAU;AAAA,GACtCC,kBAAU,CACb;;AAED;AACA;AACA;AACA,IAAMC,kBAAkB,gBAAG,IAAAC,iBAAU,EACnC,gBAA8BC,GAAG;EAAA,sBAA9BC,KAAK;IAALA,KAAK,2BAAG,MAAM;IAAKC,IAAI;EAAA,oBACxB,gCAAC,wBAAwB;IAAC,KAAK,EAAED;EAAM,GAAKC,IAAI;IAAE,GAAG,EAAEF;EAAI,GAAG;AAAA,CAC/D,CACF;AAEDF,kBAAkB,CAACK,WAAW,GAAG,oBAAoB;AAAC,eAEvCL,kBAAkB;AAAA"}
1
+ {"version":3,"file":"index.js","names":["_styled","_interopRequireDefault","require","_styles","_utils","_react","_interopRequireWildcard","_Skeleton","_excluded","_templateObject","_getRequireWildcardCache","nodeInterop","WeakMap","cacheBabelInterop","cacheNodeInterop","obj","__esModule","_typeof","cache","has","get","newObj","hasPropertyDescriptor","Object","defineProperty","getOwnPropertyDescriptor","key","prototype","hasOwnProperty","call","desc","set","_extends","assign","bind","target","i","arguments","length","source","apply","_objectWithoutProperties","excluded","_objectWithoutPropertiesLoose","getOwnPropertySymbols","sourceSymbolKeys","indexOf","propertyIsEnumerable","sourceKeys","keys","_taggedTemplateLiteral","strings","raw","slice","freeze","defineProperties","value","StyledRadioGroupSkeleton","styled","Skeleton","omitEmotionProps","p","theme","baseHeight","sizeStyles","RadioGroupSkeleton","forwardRef","_ref","ref","_ref$width","width","rest","createElement","displayName","_default","exports"],"sources":["../../../src/RadioGroupSkeleton/index.tsx"],"sourcesContent":["import styled from '@emotion/styled';\n\nimport { sizeStyles, WithSize } from '@os-design/styles';\nimport { omitEmotionProps } from '@os-design/utils';\nimport React, { forwardRef } from 'react';\n\nimport Skeleton, { SkeletonProps } from '../Skeleton';\n\nexport interface RadioGroupSkeletonProps extends SkeletonProps, WithSize {\n /**\n * The width of the skeleton.\n * @default 10em\n */\n width?: string;\n}\n\nconst StyledRadioGroupSkeleton = styled(\n Skeleton,\n omitEmotionProps('size')\n)<WithSize>`\n height: calc(${(p) => p.theme.baseHeight}em + 2px);\n ${sizeStyles};\n`;\n\n/**\n * Provides a radio group placeholder while a user waits for the content to load.\n */\nconst RadioGroupSkeleton = forwardRef<HTMLDivElement, RadioGroupSkeletonProps>(\n ({ width = '10em', ...rest }, ref) => (\n <StyledRadioGroupSkeleton width={width} {...rest} ref={ref} />\n )\n);\n\nRadioGroupSkeleton.displayName = 'RadioGroupSkeleton';\n\nexport default RadioGroupSkeleton;\n"],"mappings":";;;;;;;AAAA,IAAAA,OAAA,GAAAC,sBAAA,CAAAC,OAAA;AAEA,IAAAC,OAAA,GAAAD,OAAA;AACA,IAAAE,MAAA,GAAAF,OAAA;AACA,IAAAG,MAAA,GAAAC,uBAAA,CAAAJ,OAAA;AAEA,IAAAK,SAAA,GAAAN,sBAAA,CAAAC,OAAA;AAAsD,IAAAM,SAAA;AAAA,IAAAC,eAAA;AAAA,SAAAC,yBAAAC,WAAA,eAAAC,OAAA,kCAAAC,iBAAA,OAAAD,OAAA,QAAAE,gBAAA,OAAAF,OAAA,YAAAF,wBAAA,YAAAA,yBAAAC,WAAA,WAAAA,WAAA,GAAAG,gBAAA,GAAAD,iBAAA,KAAAF,WAAA;AAAA,SAAAL,wBAAAS,GAAA,EAAAJ,WAAA,SAAAA,WAAA,IAAAI,GAAA,IAAAA,GAAA,CAAAC,UAAA,WAAAD,GAAA,QAAAA,GAAA,aAAAE,OAAA,CAAAF,GAAA,yBAAAA,GAAA,uCAAAA,GAAA,UAAAG,KAAA,GAAAR,wBAAA,CAAAC,WAAA,OAAAO,KAAA,IAAAA,KAAA,CAAAC,GAAA,CAAAJ,GAAA,YAAAG,KAAA,CAAAE,GAAA,CAAAL,GAAA,SAAAM,MAAA,WAAAC,qBAAA,GAAAC,MAAA,CAAAC,cAAA,IAAAD,MAAA,CAAAE,wBAAA,WAAAC,GAAA,IAAAX,GAAA,QAAAW,GAAA,kBAAAH,MAAA,CAAAI,SAAA,CAAAC,cAAA,CAAAC,IAAA,CAAAd,GAAA,EAAAW,GAAA,SAAAI,IAAA,GAAAR,qBAAA,GAAAC,MAAA,CAAAE,wBAAA,CAAAV,GAAA,EAAAW,GAAA,cAAAI,IAAA,KAAAA,IAAA,CAAAV,GAAA,IAAAU,IAAA,CAAAC,GAAA,KAAAR,MAAA,CAAAC,cAAA,CAAAH,MAAA,EAAAK,GAAA,EAAAI,IAAA,YAAAT,MAAA,CAAAK,GAAA,IAAAX,GAAA,CAAAW,GAAA,SAAAL,MAAA,cAAAN,GAAA,MAAAG,KAAA,IAAAA,KAAA,CAAAa,GAAA,CAAAhB,GAAA,EAAAM,MAAA,YAAAA,MAAA;AAAA,SAAApB,uBAAAc,GAAA,WAAAA,GAAA,IAAAA,GAAA,CAAAC,UAAA,GAAAD,GAAA,gBAAAA,GAAA;AAAA,SAAAiB,SAAA,IAAAA,QAAA,GAAAT,MAAA,CAAAU,MAAA,GAAAV,MAAA,CAAAU,MAAA,CAAAC,IAAA,eAAAC,MAAA,aAAAC,CAAA,MAAAA,CAAA,GAAAC,SAAA,CAAAC,MAAA,EAAAF,CAAA,UAAAG,MAAA,GAAAF,SAAA,CAAAD,CAAA,YAAAV,GAAA,IAAAa,MAAA,QAAAhB,MAAA,CAAAI,SAAA,CAAAC,cAAA,CAAAC,IAAA,CAAAU,MAAA,EAAAb,GAAA,KAAAS,MAAA,CAAAT,GAAA,IAAAa,MAAA,CAAAb,GAAA,gBAAAS,MAAA,YAAAH,QAAA,CAAAQ,KAAA,OAAAH,SAAA;AAAA,SAAAI,yBAAAF,MAAA,EAAAG,QAAA,QAAAH,MAAA,yBAAAJ,MAAA,GAAAQ,6BAAA,CAAAJ,MAAA,EAAAG,QAAA,OAAAhB,GAAA,EAAAU,CAAA,MAAAb,MAAA,CAAAqB,qBAAA,QAAAC,gBAAA,GAAAtB,MAAA,CAAAqB,qBAAA,CAAAL,MAAA,QAAAH,CAAA,MAAAA,CAAA,GAAAS,gBAAA,CAAAP,MAAA,EAAAF,CAAA,MAAAV,GAAA,GAAAmB,gBAAA,CAAAT,CAAA,OAAAM,QAAA,CAAAI,OAAA,CAAApB,GAAA,uBAAAH,MAAA,CAAAI,SAAA,CAAAoB,oBAAA,CAAAlB,IAAA,CAAAU,MAAA,EAAAb,GAAA,aAAAS,MAAA,CAAAT,GAAA,IAAAa,MAAA,CAAAb,GAAA,cAAAS,MAAA;AAAA,SAAAQ,8BAAAJ,MAAA,EAAAG,QAAA,QAAAH,MAAA,yBAAAJ,MAAA,WAAAa,UAAA,GAAAzB,MAAA,CAAA0B,IAAA,CAAAV,MAAA,OAAAb,GAAA,EAAAU,CAAA,OAAAA,CAAA,MAAAA,CAAA,GAAAY,UAAA,CAAAV,MAAA,EAAAF,CAAA,MAAAV,GAAA,GAAAsB,UAAA,CAAAZ,CAAA,OAAAM,QAAA,CAAAI,OAAA,CAAApB,GAAA,kBAAAS,MAAA,CAAAT,GAAA,IAAAa,MAAA,CAAAb,GAAA,YAAAS,MAAA;AAAA,SAAAe,uBAAAC,OAAA,EAAAC,GAAA,SAAAA,GAAA,IAAAA,GAAA,GAAAD,OAAA,CAAAE,KAAA,cAAA9B,MAAA,CAAA+B,MAAA,CAAA/B,MAAA,CAAAgC,gBAAA,CAAAJ,OAAA,IAAAC,GAAA,IAAAI,KAAA,EAAAjC,MAAA,CAAA+B,MAAA,CAAAF,GAAA;AAUtD,IAAMK,wBAAwB,GAAG,IAAAC,kBAAM,EACrCC,oBAAQ,EACR,IAAAC,uBAAgB,EAAC,MAAM,CACzB,CAAC,CAAAnD,eAAA,KAAAA,eAAA,GAAAyC,sBAAA,mDACgB,UAACW,CAAC;EAAA,OAAKA,CAAC,CAACC,KAAK,CAACC,UAAU;AAAA,GACtCC,kBAAU,CACb;;AAED;AACA;AACA;AACA,IAAMC,kBAAkB,gBAAG,IAAAC,iBAAU,EACnC,UAAAC,IAAA,EAA8BC,GAAG;EAAA,IAAAC,UAAA,GAAAF,IAAA,CAA9BG,KAAK;IAALA,KAAK,GAAAD,UAAA,cAAG,MAAM,GAAAA,UAAA;IAAKE,IAAI,GAAA9B,wBAAA,CAAA0B,IAAA,EAAA3D,SAAA;EAAA,oBACxBH,MAAA,YAAAmE,aAAA,CAACf,wBAAwB,EAAAzB,QAAA;IAACsC,KAAK,EAAEA;EAAM,GAAKC,IAAI;IAAEH,GAAG,EAAEA;EAAI,EAAE,CAAC;AAAA,CAElE,CAAC;AAEDH,kBAAkB,CAACQ,WAAW,GAAG,oBAAoB;AAAC,IAAAC,QAAA,GAEvCT,kBAAkB;AAAAU,OAAA,cAAAD,QAAA"}
@@ -5,17 +5,17 @@ Object.defineProperty(exports, "__esModule", {
5
5
  value: true
6
6
  });
7
7
  exports["default"] = void 0;
8
- var _react = _interopRequireWildcard(require("react"));
9
8
  var _styled = _interopRequireDefault(require("@emotion/styled"));
9
+ var _media = require("@os-design/media");
10
10
  var _styles = require("@os-design/styles");
11
- var _utils = require("@os-design/utils");
12
11
  var _theming = require("@os-design/theming");
13
- var _media = require("@os-design/media");
12
+ var _utils = require("@os-design/utils");
13
+ var _react = _interopRequireWildcard(require("react"));
14
14
  var _excluded = ["title", "description", "icon", "actions", "children"];
15
15
  var _templateObject, _templateObject2, _templateObject3, _templateObject4, _templateObject5, _templateObject6, _templateObject7;
16
- function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; }
17
16
  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); }
18
17
  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; }
18
+ function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; }
19
19
  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); }
20
20
  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; }
21
21
  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; }
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","names":["Container","styled","omitEmotionProps","p","clr","theme","colorText","sizeStyles","IconContainer","div","resultColorIcon","Text","Title","sizes","large","Description","small","resultColorDescription","ActiveElements","m","min","sm","ChildrenContainer","Result","forwardRef","ref","title","description","icon","actions","children","rest","displayName"],"sources":["../../../src/Result/index.tsx"],"sourcesContent":["import React, { forwardRef } from 'react';\nimport styled from '@emotion/styled';\nimport { sizeStyles, WithSize } from '@os-design/styles';\nimport { omitEmotionProps } from '@os-design/utils';\nimport { clr } from '@os-design/theming';\nimport { m } from '@os-design/media';\n\ntype JsxDivProps = Omit<JSX.IntrinsicElements['div'], 'ref'>;\nexport interface ResultProps extends JsxDivProps, WithSize {\n /**\n * The title of the result.\n */\n title: string;\n /**\n * The description that is under the title.\n * @default undefined\n */\n description?: string;\n /**\n * The icon that is located above the title.\n * @default undefined\n */\n icon?: React.ReactElement;\n /**\n * Active elements.\n * @default undefined\n */\n actions?: React.ReactNode;\n}\n\nconst Container = styled('div', omitEmotionProps('size'))<WithSize>`\n display: flex;\n flex-direction: column;\n align-items: center;\n\n color: ${(p) => clr(p.theme.colorText)};\n padding: 2.6em 0;\n\n ${sizeStyles};\n`;\n\nconst IconContainer = styled.div`\n font-size: 6em;\n line-height: 1;\n color: ${(p) => clr(p.theme.resultColorIcon)};\n margin-bottom: 0.1em;\n`;\n\nconst Text = styled.div`\n text-align: center;\n max-width: 28em;\n`;\n\nconst Title = styled(Text)`\n font-size: ${(p) => p.theme.sizes.large}em;\n font-weight: 500;\n`;\n\nconst Description = styled(Text)`\n font-size: ${(p) => p.theme.sizes.small}em;\n color: ${(p) => clr(p.theme.resultColorDescription)};\n margin-top: 0.5em;\n`;\n\nconst ActiveElements = styled.div`\n margin-top: 2em;\n\n display: flex;\n flex-direction: column;\n justify-content: center;\n align-items: center;\n\n & > *:not(:first-of-type) {\n margin-top: 0.5em;\n }\n\n ${m.min.sm} {\n flex-direction: row;\n\n & > *:not(:first-of-type) {\n margin-top: 0;\n margin-left: 0.5em;\n }\n }\n`;\n\nconst ChildrenContainer = styled.div`\n margin-top: 2em;\n`;\n\n/**\n * Used to give the user feedback instead of results.\n * For example, error happened, results not found, no results yet.\n */\nconst Result = forwardRef<HTMLDivElement, ResultProps>(\n ({ title, description, icon, actions, children, ...rest }, ref) => (\n <Container {...rest} ref={ref}>\n {icon && <IconContainer>{icon}</IconContainer>}\n <Title>{title}</Title>\n {description && <Description>{description}</Description>}\n {actions && <ActiveElements>{actions}</ActiveElements>}\n {children && <ChildrenContainer>{children}</ChildrenContainer>}\n </Container>\n )\n);\n\nResult.displayName = 'Result';\n\nexport default Result;\n"],"mappings":";;;;;;;AAAA;AACA;AACA;AACA;AACA;AACA;AAAqC;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAyBrC,IAAMA,SAAS,GAAG,IAAAC,kBAAM,EAAC,KAAK,EAAE,IAAAC,uBAAgB,EAAC,MAAM,CAAC,CAAC,+LAK9C,UAACC,CAAC;EAAA,OAAK,IAAAC,YAAG,EAACD,CAAC,CAACE,KAAK,CAACC,SAAS,CAAC;AAAA,GAGpCC,kBAAU,CACb;AAED,IAAMC,aAAa,GAAGP,kBAAM,CAACQ,GAAG,yJAGrB,UAACN,CAAC;EAAA,OAAK,IAAAC,YAAG,EAACD,CAAC,CAACE,KAAK,CAACK,eAAe,CAAC;AAAA,EAE7C;AAED,IAAMC,IAAI,GAAGV,kBAAM,CAACQ,GAAG,oHAGtB;AAED,IAAMG,KAAK,GAAG,IAAAX,kBAAM,EAACU,IAAI,CAAC,qHACX,UAACR,CAAC;EAAA,OAAKA,CAAC,CAACE,KAAK,CAACQ,KAAK,CAACC,KAAK;AAAA,EAExC;AAED,IAAMC,WAAW,GAAG,IAAAd,kBAAM,EAACU,IAAI,CAAC,sIACjB,UAACR,CAAC;EAAA,OAAKA,CAAC,CAACE,KAAK,CAACQ,KAAK,CAACG,KAAK;AAAA,GAC9B,UAACb,CAAC;EAAA,OAAK,IAAAC,YAAG,EAACD,CAAC,CAACE,KAAK,CAACY,sBAAsB,CAAC;AAAA,EAEpD;AAED,IAAMC,cAAc,GAAGjB,kBAAM,CAACQ,GAAG,qYAY7BU,QAAC,CAACC,GAAG,CAACC,EAAE,CAQX;AAED,IAAMC,iBAAiB,GAAGrB,kBAAM,CAACQ,GAAG,6FAEnC;;AAED;AACA;AACA;AACA;AACA,IAAMc,MAAM,gBAAG,IAAAC,iBAAU,EACvB,gBAA2DC,GAAG;EAAA,IAA3DC,KAAK,QAALA,KAAK;IAAEC,WAAW,QAAXA,WAAW;IAAEC,IAAI,QAAJA,IAAI;IAAEC,OAAO,QAAPA,OAAO;IAAEC,QAAQ,QAARA,QAAQ;IAAKC,IAAI;EAAA,oBACrD,gCAAC,SAAS,eAAKA,IAAI;IAAE,GAAG,EAAEN;EAAI,IAC3BG,IAAI,iBAAI,gCAAC,aAAa,QAAEA,IAAI,CAAiB,eAC9C,gCAAC,KAAK,QAAEF,KAAK,CAAS,EACrBC,WAAW,iBAAI,gCAAC,WAAW,QAAEA,WAAW,CAAe,EACvDE,OAAO,iBAAI,gCAAC,cAAc,QAAEA,OAAO,CAAkB,EACrDC,QAAQ,iBAAI,gCAAC,iBAAiB,QAAEA,QAAQ,CAAqB,CACpD;AAAA,CACb,CACF;AAEDP,MAAM,CAACS,WAAW,GAAG,QAAQ;AAAC,eAEfT,MAAM;AAAA"}
1
+ {"version":3,"file":"index.js","names":["_styled","_interopRequireDefault","require","_media","_styles","_theming","_utils","_react","_interopRequireWildcard","_excluded","_templateObject","_templateObject2","_templateObject3","_templateObject4","_templateObject5","_templateObject6","_templateObject7","_getRequireWildcardCache","nodeInterop","WeakMap","cacheBabelInterop","cacheNodeInterop","obj","__esModule","_typeof","cache","has","get","newObj","hasPropertyDescriptor","Object","defineProperty","getOwnPropertyDescriptor","key","prototype","hasOwnProperty","call","desc","set","_extends","assign","bind","target","i","arguments","length","source","apply","_objectWithoutProperties","excluded","_objectWithoutPropertiesLoose","getOwnPropertySymbols","sourceSymbolKeys","indexOf","propertyIsEnumerable","sourceKeys","keys","_taggedTemplateLiteral","strings","raw","slice","freeze","defineProperties","value","Container","styled","omitEmotionProps","p","clr","theme","colorText","sizeStyles","IconContainer","div","resultColorIcon","Text","Title","sizes","large","Description","small","resultColorDescription","ActiveElements","m","min","sm","ChildrenContainer","Result","forwardRef","_ref","ref","title","description","icon","actions","children","rest","createElement","displayName","_default","exports"],"sources":["../../../src/Result/index.tsx"],"sourcesContent":["import styled from '@emotion/styled';\nimport { m } from '@os-design/media';\nimport { sizeStyles, WithSize } from '@os-design/styles';\nimport { clr } from '@os-design/theming';\nimport { omitEmotionProps } from '@os-design/utils';\nimport React, { forwardRef } from 'react';\n\ntype JsxDivProps = Omit<JSX.IntrinsicElements['div'], 'ref'>;\nexport interface ResultProps extends JsxDivProps, WithSize {\n /**\n * The title of the result.\n */\n title: string;\n /**\n * The description that is under the title.\n * @default undefined\n */\n description?: string;\n /**\n * The icon that is located above the title.\n * @default undefined\n */\n icon?: React.ReactElement;\n /**\n * Active elements.\n * @default undefined\n */\n actions?: React.ReactNode;\n}\n\nconst Container = styled('div', omitEmotionProps('size'))<WithSize>`\n display: flex;\n flex-direction: column;\n align-items: center;\n\n color: ${(p) => clr(p.theme.colorText)};\n padding: 2.6em 0;\n\n ${sizeStyles};\n`;\n\nconst IconContainer = styled.div`\n font-size: 6em;\n line-height: 1;\n color: ${(p) => clr(p.theme.resultColorIcon)};\n margin-bottom: 0.1em;\n`;\n\nconst Text = styled.div`\n text-align: center;\n max-width: 28em;\n`;\n\nconst Title = styled(Text)`\n font-size: ${(p) => p.theme.sizes.large}em;\n font-weight: 500;\n`;\n\nconst Description = styled(Text)`\n font-size: ${(p) => p.theme.sizes.small}em;\n color: ${(p) => clr(p.theme.resultColorDescription)};\n margin-top: 0.5em;\n`;\n\nconst ActiveElements = styled.div`\n margin-top: 2em;\n\n display: flex;\n flex-direction: column;\n justify-content: center;\n align-items: center;\n\n & > *:not(:first-of-type) {\n margin-top: 0.5em;\n }\n\n ${m.min.sm} {\n flex-direction: row;\n\n & > *:not(:first-of-type) {\n margin-top: 0;\n margin-left: 0.5em;\n }\n }\n`;\n\nconst ChildrenContainer = styled.div`\n margin-top: 2em;\n`;\n\n/**\n * Used to give the user feedback instead of results.\n * For example, error happened, results not found, no results yet.\n */\nconst Result = forwardRef<HTMLDivElement, ResultProps>(\n ({ title, description, icon, actions, children, ...rest }, ref) => (\n <Container {...rest} ref={ref}>\n {icon && <IconContainer>{icon}</IconContainer>}\n <Title>{title}</Title>\n {description && <Description>{description}</Description>}\n {actions && <ActiveElements>{actions}</ActiveElements>}\n {children && <ChildrenContainer>{children}</ChildrenContainer>}\n </Container>\n )\n);\n\nResult.displayName = 'Result';\n\nexport default Result;\n"],"mappings":"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"}
@@ -5,32 +5,32 @@ Object.defineProperty(exports, "__esModule", {
5
5
  value: true
6
6
  });
7
7
  exports["default"] = void 0;
8
- var _react = _interopRequireWildcard(require("react"));
9
- var _icons = require("@os-design/icons");
8
+ var _react = require("@emotion/react");
10
9
  var _styled = _interopRequireDefault(require("@emotion/styled"));
11
- var _utils = require("@os-design/utils");
12
- var _theming = require("@os-design/theming");
13
- var _react2 = require("@emotion/react");
10
+ var _icons = require("@os-design/icons");
14
11
  var _portal = _interopRequireDefault(require("@os-design/portal"));
12
+ var _theming = require("@os-design/theming");
13
+ var _utils = require("@os-design/utils");
14
+ var _react2 = _interopRequireWildcard(require("react"));
15
15
  var _Button = _interopRequireDefault(require("../Button"));
16
16
  var _useContainerPosition = _interopRequireDefault(require("./utils/useContainerPosition"));
17
17
  var _useVisibility = _interopRequireDefault(require("./utils/useVisibility"));
18
18
  var _excluded = ["container", "scrollTo", "minOffset", "onClick"];
19
19
  var _templateObject, _templateObject2, _templateObject3, _templateObject4, _templateObject5;
20
- function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; }
21
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); }
22
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; }
22
+ function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; }
23
23
  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); }
24
24
  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; }
25
25
  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; }
26
26
  function _taggedTemplateLiteral(strings, raw) { if (!raw) { raw = strings.slice(0); } return Object.freeze(Object.defineProperties(strings, { raw: { value: Object.freeze(raw) } })); }
27
- var fadeIn = (0, _react2.keyframes)(_templateObject || (_templateObject = _taggedTemplateLiteral(["\n from { opacity: 0; }\n to { opacity: 1; }\n"])));
28
- var fadeOut = (0, _react2.keyframes)(_templateObject2 || (_templateObject2 = _taggedTemplateLiteral(["\n from { opacity: 1; }\n to { opacity: 0; }\n"])));
27
+ var fadeIn = (0, _react.keyframes)(_templateObject || (_templateObject = _taggedTemplateLiteral(["\n from { opacity: 0; }\n to { opacity: 1; }\n"])));
28
+ var fadeOut = (0, _react.keyframes)(_templateObject2 || (_templateObject2 = _taggedTemplateLiteral(["\n from { opacity: 1; }\n to { opacity: 0; }\n"])));
29
29
  var visibleStyles = function visibleStyles(p) {
30
- return p.visible && (0, _react2.css)(_templateObject3 || (_templateObject3 = _taggedTemplateLiteral(["\n animation: ", " ", "ms forwards;\n "])), fadeIn, p.theme.transitionDelay);
30
+ return p.visible && (0, _react.css)(_templateObject3 || (_templateObject3 = _taggedTemplateLiteral(["\n animation: ", " ", "ms forwards;\n "])), fadeIn, p.theme.transitionDelay);
31
31
  };
32
32
  var invisibleStyles = function invisibleStyles(p) {
33
- return !p.visible && (0, _react2.css)(_templateObject4 || (_templateObject4 = _taggedTemplateLiteral(["\n animation: ", " ", "ms forwards;\n "])), fadeOut, p.theme.transitionDelay);
33
+ return !p.visible && (0, _react.css)(_templateObject4 || (_templateObject4 = _taggedTemplateLiteral(["\n animation: ", " ", "ms forwards;\n "])), fadeOut, p.theme.transitionDelay);
34
34
  };
35
35
  var StyledButton = (0, _styled["default"])(_Button["default"], (0, _utils.omitEmotionProps)('visible', 'containerPosition'))(_templateObject5 || (_templateObject5 = _taggedTemplateLiteral(["\n position: fixed;\n right: ", ";\n bottom: ", ";\n box-shadow: 0 0.15em 0.8em ", ";\n\n ", ";\n ", ";\n"])), function (p) {
36
36
  return p.containerPosition.right > 0 ? "calc(".concat(p.containerPosition.right, "px + ").concat(p.theme.scrollButtonMargin, "em)") : "".concat(p.theme.scrollButtonMargin, "em");
@@ -43,7 +43,7 @@ var StyledButton = (0, _styled["default"])(_Button["default"], (0, _utils.omitEm
43
43
  /**
44
44
  * The button to scroll to either the top or bottom of the container.
45
45
  */
46
- var ScrollButton = /*#__PURE__*/(0, _react.forwardRef)(function (_ref, ref) {
46
+ var ScrollButton = /*#__PURE__*/(0, _react2.forwardRef)(function (_ref, ref) {
47
47
  var container = _ref.container,
48
48
  _ref$scrollTo = _ref.scrollTo,
49
49
  scrollTo = _ref$scrollTo === void 0 ? 'top' : _ref$scrollTo,
@@ -63,7 +63,7 @@ var ScrollButton = /*#__PURE__*/(0, _react.forwardRef)(function (_ref, ref) {
63
63
  var mounted = (0, _utils.useClosable)(visible, theme.transitionDelay);
64
64
 
65
65
  // Scroll through the container when the user clicks the button
66
- var clickHandler = (0, _react.useCallback)(function (e) {
66
+ var clickHandler = (0, _react2.useCallback)(function (e) {
67
67
  // Scroll the window if the container is not defined
68
68
  if (!container) {
69
69
  window.scrollTo({
@@ -83,9 +83,9 @@ var ScrollButton = /*#__PURE__*/(0, _react.forwardRef)(function (_ref, ref) {
83
83
  onClick(e);
84
84
  }, [container, scrollTo, onClick]);
85
85
  if (!mounted) return null;
86
- return /*#__PURE__*/_react["default"].createElement(_portal["default"], {
86
+ return /*#__PURE__*/_react2["default"].createElement(_portal["default"], {
87
87
  container: container
88
- }, /*#__PURE__*/_react["default"].createElement(_theming.ThemeOverrider, {
88
+ }, /*#__PURE__*/_react2["default"].createElement(_theming.ThemeOverrider, {
89
89
  overrides: function overrides(t) {
90
90
  return {
91
91
  buttonPrimaryColorBg: t.scrollButtonColorBg,
@@ -93,7 +93,7 @@ var ScrollButton = /*#__PURE__*/(0, _react.forwardRef)(function (_ref, ref) {
93
93
  buttonPrimaryColorBgHover: t.scrollButtonColorBgHover
94
94
  };
95
95
  }
96
- }, /*#__PURE__*/_react["default"].createElement(StyledButton, _extends({
96
+ }, /*#__PURE__*/_react2["default"].createElement(StyledButton, _extends({
97
97
  visible: visible,
98
98
  containerPosition: containerPosition,
99
99
  wide: "never",
@@ -102,7 +102,7 @@ var ScrollButton = /*#__PURE__*/(0, _react.forwardRef)(function (_ref, ref) {
102
102
  "aria-label": "Scroll to ".concat(scrollTo)
103
103
  }, rest, {
104
104
  ref: ref
105
- }), scrollTo === 'top' ? /*#__PURE__*/_react["default"].createElement(_icons.Up, null) : /*#__PURE__*/_react["default"].createElement(_icons.Down, null))));
105
+ }), scrollTo === 'top' ? /*#__PURE__*/_react2["default"].createElement(_icons.Up, null) : /*#__PURE__*/_react2["default"].createElement(_icons.Down, null))));
106
106
  });
107
107
  ScrollButton.displayName = 'ScrollButton';
108
108
  var _default = ScrollButton;