@os-design/core 1.0.156 → 1.0.158

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (383) hide show
  1. package/dist/cjs/Alert/index.js +4 -30
  2. package/dist/cjs/Alert/index.js.map +1 -1
  3. package/dist/cjs/Avatar/index.js +15 -39
  4. package/dist/cjs/Avatar/index.js.map +1 -1
  5. package/dist/cjs/Avatar/utils/nameToInitials.js +1 -3
  6. package/dist/cjs/Avatar/utils/nameToInitials.js.map +1 -1
  7. package/dist/cjs/Avatar/utils/strToHue.js +0 -4
  8. package/dist/cjs/Avatar/utils/strToHue.js.map +1 -1
  9. package/dist/cjs/AvatarSkeleton/index.js +3 -20
  10. package/dist/cjs/AvatarSkeleton/index.js.map +1 -1
  11. package/dist/cjs/Breadcrumb/index.js +4 -30
  12. package/dist/cjs/Breadcrumb/index.js.map +1 -1
  13. package/dist/cjs/BreadcrumbItem/index.js +8 -28
  14. package/dist/cjs/BreadcrumbItem/index.js.map +1 -1
  15. package/dist/cjs/Button/ButtonContent.js +7 -20
  16. package/dist/cjs/Button/ButtonContent.js.map +1 -1
  17. package/dist/cjs/Button/index.js +23 -53
  18. package/dist/cjs/Button/index.js.map +1 -1
  19. package/dist/cjs/Button/utils/useButtonColors.js +3 -12
  20. package/dist/cjs/Button/utils/useButtonColors.js.map +1 -1
  21. package/dist/cjs/Checkbox/index.js +20 -59
  22. package/dist/cjs/Checkbox/index.js.map +1 -1
  23. package/dist/cjs/CheckboxSkeleton/index.js +2 -22
  24. package/dist/cjs/CheckboxSkeleton/index.js.map +1 -1
  25. package/dist/cjs/DatePicker/DatePickerCalendar.js +11 -48
  26. package/dist/cjs/DatePicker/DatePickerCalendar.js.map +1 -1
  27. package/dist/cjs/DatePicker/index.js +32 -68
  28. package/dist/cjs/DatePicker/index.js.map +1 -1
  29. package/dist/cjs/Drawer/index.js +14 -44
  30. package/dist/cjs/Drawer/index.js.map +1 -1
  31. package/dist/cjs/Form/FormConfigContext.js +0 -4
  32. package/dist/cjs/Form/FormConfigContext.js.map +1 -1
  33. package/dist/cjs/Form/index.js +3 -20
  34. package/dist/cjs/Form/index.js.map +1 -1
  35. package/dist/cjs/FormDivider/index.js +3 -24
  36. package/dist/cjs/FormDivider/index.js.map +1 -1
  37. package/dist/cjs/FormItem/index.js +12 -42
  38. package/dist/cjs/FormItem/index.js.map +1 -1
  39. package/dist/cjs/FormItem/utils/firstChildHasType.js +0 -5
  40. package/dist/cjs/FormItem/utils/firstChildHasType.js.map +1 -1
  41. package/dist/cjs/Gallery/Status.js +2 -12
  42. package/dist/cjs/Gallery/Status.js.map +1 -1
  43. package/dist/cjs/Gallery/index.js +27 -61
  44. package/dist/cjs/Gallery/index.js.map +1 -1
  45. package/dist/cjs/GlobalStyles/index.js +0 -8
  46. package/dist/cjs/GlobalStyles/index.js.map +1 -1
  47. package/dist/cjs/GlobalStyles/resetStyles.js +0 -5
  48. package/dist/cjs/GlobalStyles/resetStyles.js.map +1 -1
  49. package/dist/cjs/GlobalStyles/typographyStyles.js +0 -11
  50. package/dist/cjs/GlobalStyles/typographyStyles.js.map +1 -1
  51. package/dist/cjs/HeaderSkeleton/index.js +7 -26
  52. package/dist/cjs/HeaderSkeleton/index.js.map +1 -1
  53. package/dist/cjs/Image/index.js +11 -31
  54. package/dist/cjs/Image/index.js.map +1 -1
  55. package/dist/cjs/ImageSkeleton/index.js +1 -12
  56. package/dist/cjs/ImageSkeleton/index.js.map +1 -1
  57. package/dist/cjs/Input/index.js +23 -57
  58. package/dist/cjs/Input/index.js.map +1 -1
  59. package/dist/cjs/Input/utils/getFocusableElements.js +0 -8
  60. package/dist/cjs/Input/utils/getFocusableElements.js.map +1 -1
  61. package/dist/cjs/InputNumber/index.js +49 -72
  62. package/dist/cjs/InputNumber/index.js.map +1 -1
  63. package/dist/cjs/InputNumber/utils/defaultLocale.js.map +1 -1
  64. package/dist/cjs/InputPassword/index.js +39 -77
  65. package/dist/cjs/InputPassword/index.js.map +1 -1
  66. package/dist/cjs/InputPassword/utils/defaultLocale.js.map +1 -1
  67. package/dist/cjs/InputSearch/index.js +22 -51
  68. package/dist/cjs/InputSearch/index.js.map +1 -1
  69. package/dist/cjs/InputSearch/utils/defaultLocale.js.map +1 -1
  70. package/dist/cjs/InputSkeleton/index.js +1 -14
  71. package/dist/cjs/InputSkeleton/index.js.map +1 -1
  72. package/dist/cjs/Layout/LayoutContext.js +0 -4
  73. package/dist/cjs/Layout/LayoutContext.js.map +1 -1
  74. package/dist/cjs/Layout/index.js +4 -12
  75. package/dist/cjs/Layout/index.js.map +1 -1
  76. package/dist/cjs/Link/index.js +8 -30
  77. package/dist/cjs/Link/index.js.map +1 -1
  78. package/dist/cjs/LinkButton/index.js +26 -49
  79. package/dist/cjs/LinkButton/index.js.map +1 -1
  80. package/dist/cjs/List/WindowScroller.js +4 -12
  81. package/dist/cjs/List/WindowScroller.js.map +1 -1
  82. package/dist/cjs/List/index.js +35 -68
  83. package/dist/cjs/List/index.js.map +1 -1
  84. package/dist/cjs/List/utils/bodyPointerEvents.js +0 -9
  85. package/dist/cjs/List/utils/bodyPointerEvents.js.map +1 -1
  86. package/dist/cjs/List/utils/frameTimeout.js +1 -8
  87. package/dist/cjs/List/utils/frameTimeout.js.map +1 -1
  88. package/dist/cjs/List/utils/useRWLoadNext.js +6 -9
  89. package/dist/cjs/List/utils/useRWLoadNext.js.map +1 -1
  90. package/dist/cjs/ListItem/ListItemContent.js +12 -44
  91. package/dist/cjs/ListItem/ListItemContent.js.map +1 -1
  92. package/dist/cjs/ListItem/index.js +15 -39
  93. package/dist/cjs/ListItem/index.js.map +1 -1
  94. package/dist/cjs/ListItemLink/index.js +18 -51
  95. package/dist/cjs/ListItemLink/index.js.map +1 -1
  96. package/dist/cjs/ListSkeleton/index.js +11 -32
  97. package/dist/cjs/ListSkeleton/index.js.map +1 -1
  98. package/dist/cjs/LogoLink/index.js +6 -27
  99. package/dist/cjs/LogoLink/index.js.map +1 -1
  100. package/dist/cjs/Menu/index.js +20 -47
  101. package/dist/cjs/Menu/index.js.map +1 -1
  102. package/dist/cjs/Menu/utils/useFocusWithArrows.js +1 -13
  103. package/dist/cjs/Menu/utils/useFocusWithArrows.js.map +1 -1
  104. package/dist/cjs/MenuDivider/index.js +1 -13
  105. package/dist/cjs/MenuDivider/index.js.map +1 -1
  106. package/dist/cjs/MenuGroup/index.js +19 -52
  107. package/dist/cjs/MenuGroup/index.js.map +1 -1
  108. package/dist/cjs/MenuItem/index.js +9 -32
  109. package/dist/cjs/MenuItem/index.js.map +1 -1
  110. package/dist/cjs/Modal/index.js +25 -65
  111. package/dist/cjs/Modal/index.js.map +1 -1
  112. package/dist/cjs/Modal/utils/defaultLocale.js.map +1 -1
  113. package/dist/cjs/Navigation/index.js +6 -35
  114. package/dist/cjs/Navigation/index.js.map +1 -1
  115. package/dist/cjs/Navigation/utils/useScrollFlags.js +6 -19
  116. package/dist/cjs/Navigation/utils/useScrollFlags.js.map +1 -1
  117. package/dist/cjs/NavigationItem/index.js +8 -32
  118. package/dist/cjs/NavigationItem/index.js.map +1 -1
  119. package/dist/cjs/PageContent/index.js +6 -30
  120. package/dist/cjs/PageContent/index.js.map +1 -1
  121. package/dist/cjs/PageHeader/index.js +13 -46
  122. package/dist/cjs/PageHeader/index.js.map +1 -1
  123. package/dist/cjs/PageHeader/utils/defaultLocale.js.map +1 -1
  124. package/dist/cjs/PageHeaderInputSearch/index.js +10 -46
  125. package/dist/cjs/PageHeaderInputSearch/index.js.map +1 -1
  126. package/dist/cjs/PageHeaderInputSearch/utils/defaultLocale.js +0 -7
  127. package/dist/cjs/PageHeaderInputSearch/utils/defaultLocale.js.map +1 -1
  128. package/dist/cjs/PageHeaderSkeleton/index.js +3 -18
  129. package/dist/cjs/PageHeaderSkeleton/index.js.map +1 -1
  130. package/dist/cjs/ParagraphSkeleton/index.js +7 -25
  131. package/dist/cjs/ParagraphSkeleton/index.js.map +1 -1
  132. package/dist/cjs/Popover/index.js +46 -77
  133. package/dist/cjs/Popover/index.js.map +1 -1
  134. package/dist/cjs/Popover/utils/usePopoverPosition.js +21 -43
  135. package/dist/cjs/Popover/utils/usePopoverPosition.js.map +1 -1
  136. package/dist/cjs/Progress/index.js +6 -25
  137. package/dist/cjs/Progress/index.js.map +1 -1
  138. package/dist/cjs/RadioGroup/index.js +25 -55
  139. package/dist/cjs/RadioGroup/index.js.map +1 -1
  140. package/dist/cjs/RadioGroupSkeleton/index.js +3 -20
  141. package/dist/cjs/RadioGroupSkeleton/index.js.map +1 -1
  142. package/dist/cjs/Result/index.js +6 -30
  143. package/dist/cjs/Result/index.js.map +1 -1
  144. package/dist/cjs/ScrollButton/index.js +15 -40
  145. package/dist/cjs/ScrollButton/index.js.map +1 -1
  146. package/dist/cjs/ScrollButton/utils/useContainerPosition.js +10 -23
  147. package/dist/cjs/ScrollButton/utils/useContainerPosition.js.map +1 -1
  148. package/dist/cjs/ScrollButton/utils/useVisibility.js +6 -19
  149. package/dist/cjs/ScrollButton/utils/useVisibility.js.map +1 -1
  150. package/dist/cjs/Select/SelectList.js +27 -53
  151. package/dist/cjs/Select/SelectList.js.map +1 -1
  152. package/dist/cjs/Select/SelectToggle.js +17 -52
  153. package/dist/cjs/Select/SelectToggle.js.map +1 -1
  154. package/dist/cjs/Select/index.js +60 -103
  155. package/dist/cjs/Select/index.js.map +1 -1
  156. package/dist/cjs/Select/utils/defaultLocale.js.map +1 -1
  157. package/dist/cjs/Skeleton/index.js +3 -20
  158. package/dist/cjs/Skeleton/index.js.map +1 -1
  159. package/dist/cjs/Switch/index.js +17 -52
  160. package/dist/cjs/Switch/index.js.map +1 -1
  161. package/dist/cjs/SwitchSkeleton/index.js +1 -14
  162. package/dist/cjs/SwitchSkeleton/index.js.map +1 -1
  163. package/dist/cjs/Tag/index.js +4 -26
  164. package/dist/cjs/Tag/index.js.map +1 -1
  165. package/dist/cjs/TagLink/index.js +7 -25
  166. package/dist/cjs/TagLink/index.js.map +1 -1
  167. package/dist/cjs/TagList/index.js +8 -38
  168. package/dist/cjs/TagList/index.js.map +1 -1
  169. package/dist/cjs/TagListSkeleton/index.js +4 -17
  170. package/dist/cjs/TagListSkeleton/index.js.map +1 -1
  171. package/dist/cjs/TagSkeleton/index.js +3 -20
  172. package/dist/cjs/TagSkeleton/index.js.map +1 -1
  173. package/dist/cjs/TextArea/index.js +6 -21
  174. package/dist/cjs/TextArea/index.js.map +1 -1
  175. package/dist/cjs/TextAreaSkeleton/index.js +1 -12
  176. package/dist/cjs/TextAreaSkeleton/index.js.map +1 -1
  177. package/dist/cjs/ThemeSwitcher/index.js +4 -20
  178. package/dist/cjs/ThemeSwitcher/index.js.map +1 -1
  179. package/dist/cjs/TimePicker/index.js +140 -0
  180. package/dist/cjs/TimePicker/index.js.map +1 -0
  181. package/dist/cjs/Video/index.js +2 -18
  182. package/dist/cjs/Video/index.js.map +1 -1
  183. package/dist/cjs/index.js +0 -126
  184. package/dist/cjs/index.js.map +1 -1
  185. package/dist/cjs/message/AlertIcon.js +15 -26
  186. package/dist/cjs/message/AlertIcon.js.map +1 -1
  187. package/dist/cjs/message/Message.js +1 -17
  188. package/dist/cjs/message/Message.js.map +1 -1
  189. package/dist/cjs/message/index.js +7 -21
  190. package/dist/cjs/message/index.js.map +1 -1
  191. package/dist/cjs/message/styles.js +2 -12
  192. package/dist/cjs/message/styles.js.map +1 -1
  193. package/dist/esm/Alert/index.js +1 -10
  194. package/dist/esm/Alert/index.js.map +1 -1
  195. package/dist/esm/Avatar/index.js +5 -4
  196. package/dist/esm/Avatar/index.js.map +1 -1
  197. package/dist/esm/Avatar/utils/nameToInitials.js +0 -1
  198. package/dist/esm/Avatar/utils/nameToInitials.js.map +1 -1
  199. package/dist/esm/Avatar/utils/strToHue.js +0 -3
  200. package/dist/esm/Avatar/utils/strToHue.js.map +1 -1
  201. package/dist/esm/AvatarSkeleton/index.js +1 -2
  202. package/dist/esm/AvatarSkeleton/index.js.map +1 -1
  203. package/dist/esm/Breadcrumb/index.js +3 -5
  204. package/dist/esm/Breadcrumb/index.js.map +1 -1
  205. package/dist/esm/BreadcrumbItem/index.js +1 -2
  206. package/dist/esm/BreadcrumbItem/index.js.map +1 -1
  207. package/dist/esm/Button/ButtonContent.js +2 -2
  208. package/dist/esm/Button/ButtonContent.js.map +1 -1
  209. package/dist/esm/Button/index.js +1 -10
  210. package/dist/esm/Button/index.js.map +1 -1
  211. package/dist/esm/Button/utils/useButtonColors.js +0 -5
  212. package/dist/esm/Button/utils/useButtonColors.js.map +1 -1
  213. package/dist/esm/Checkbox/index.js +1 -15
  214. package/dist/esm/Checkbox/index.js.map +1 -1
  215. package/dist/esm/CheckboxSkeleton/index.js +1 -2
  216. package/dist/esm/CheckboxSkeleton/index.js.map +1 -1
  217. package/dist/esm/DatePicker/DatePickerCalendar.js +0 -7
  218. package/dist/esm/DatePicker/DatePickerCalendar.js.map +1 -1
  219. package/dist/esm/DatePicker/index.js +0 -5
  220. package/dist/esm/DatePicker/index.js.map +1 -1
  221. package/dist/esm/Drawer/index.js +1 -7
  222. package/dist/esm/Drawer/index.js.map +1 -1
  223. package/dist/esm/Form/FormConfigContext.js.map +1 -1
  224. package/dist/esm/Form/index.js +1 -2
  225. package/dist/esm/Form/index.js.map +1 -1
  226. package/dist/esm/FormDivider/index.js +1 -2
  227. package/dist/esm/FormDivider/index.js.map +1 -1
  228. package/dist/esm/FormItem/index.js +1 -4
  229. package/dist/esm/FormItem/index.js.map +1 -1
  230. package/dist/esm/FormItem/utils/firstChildHasType.js +0 -2
  231. package/dist/esm/FormItem/utils/firstChildHasType.js.map +1 -1
  232. package/dist/esm/Gallery/Status.js +0 -2
  233. package/dist/esm/Gallery/Status.js.map +1 -1
  234. package/dist/esm/Gallery/index.js +3 -7
  235. package/dist/esm/Gallery/index.js.map +1 -1
  236. package/dist/esm/GlobalStyles/index.js +0 -2
  237. package/dist/esm/GlobalStyles/index.js.map +1 -1
  238. package/dist/esm/GlobalStyles/resetStyles.js +0 -2
  239. package/dist/esm/GlobalStyles/resetStyles.js.map +1 -1
  240. package/dist/esm/GlobalStyles/typographyStyles.js +0 -4
  241. package/dist/esm/GlobalStyles/typographyStyles.js.map +1 -1
  242. package/dist/esm/HeaderSkeleton/index.js +1 -4
  243. package/dist/esm/HeaderSkeleton/index.js.map +1 -1
  244. package/dist/esm/Image/index.js +1 -6
  245. package/dist/esm/Image/index.js.map +1 -1
  246. package/dist/esm/ImageSkeleton/index.js +1 -2
  247. package/dist/esm/ImageSkeleton/index.js.map +1 -1
  248. package/dist/esm/Input/index.js +1 -10
  249. package/dist/esm/Input/index.js.map +1 -1
  250. package/dist/esm/Input/utils/getFocusableElements.js +0 -1
  251. package/dist/esm/Input/utils/getFocusableElements.js.map +1 -1
  252. package/dist/esm/InputNumber/index.js +10 -7
  253. package/dist/esm/InputNumber/index.js.map +1 -1
  254. package/dist/esm/InputNumber/utils/defaultLocale.js.map +1 -1
  255. package/dist/esm/InputPassword/index.js +3 -8
  256. package/dist/esm/InputPassword/index.js.map +1 -1
  257. package/dist/esm/InputPassword/utils/defaultLocale.js.map +1 -1
  258. package/dist/esm/InputSearch/index.js +1 -2
  259. package/dist/esm/InputSearch/index.js.map +1 -1
  260. package/dist/esm/InputSearch/utils/defaultLocale.js.map +1 -1
  261. package/dist/esm/InputSkeleton/index.js +1 -2
  262. package/dist/esm/InputSkeleton/index.js.map +1 -1
  263. package/dist/esm/Layout/LayoutContext.js.map +1 -1
  264. package/dist/esm/Layout/index.js +0 -2
  265. package/dist/esm/Layout/index.js.map +1 -1
  266. package/dist/esm/Link/index.js +3 -8
  267. package/dist/esm/Link/index.js.map +1 -1
  268. package/dist/esm/LinkButton/index.js +1 -4
  269. package/dist/esm/LinkButton/index.js.map +1 -1
  270. package/dist/esm/List/WindowScroller.js +2 -4
  271. package/dist/esm/List/WindowScroller.js.map +1 -1
  272. package/dist/esm/List/index.js +10 -9
  273. package/dist/esm/List/index.js.map +1 -1
  274. package/dist/esm/List/utils/bodyPointerEvents.js +0 -1
  275. package/dist/esm/List/utils/bodyPointerEvents.js.map +1 -1
  276. package/dist/esm/List/utils/frameTimeout.js +1 -4
  277. package/dist/esm/List/utils/frameTimeout.js.map +1 -1
  278. package/dist/esm/List/utils/useRWLoadNext.js +0 -2
  279. package/dist/esm/List/utils/useRWLoadNext.js.map +1 -1
  280. package/dist/esm/ListItem/ListItemContent.js +2 -6
  281. package/dist/esm/ListItem/ListItemContent.js.map +1 -1
  282. package/dist/esm/ListItem/index.js +1 -2
  283. package/dist/esm/ListItem/index.js.map +1 -1
  284. package/dist/esm/ListItemLink/index.js +1 -4
  285. package/dist/esm/ListItemLink/index.js.map +1 -1
  286. package/dist/esm/ListSkeleton/index.js +1 -2
  287. package/dist/esm/ListSkeleton/index.js.map +1 -1
  288. package/dist/esm/LogoLink/index.js +1 -4
  289. package/dist/esm/LogoLink/index.js.map +1 -1
  290. package/dist/esm/Menu/index.js +3 -3
  291. package/dist/esm/Menu/index.js.map +1 -1
  292. package/dist/esm/Menu/utils/useFocusWithArrows.js +0 -4
  293. package/dist/esm/Menu/utils/useFocusWithArrows.js.map +1 -1
  294. package/dist/esm/MenuDivider/index.js +1 -2
  295. package/dist/esm/MenuDivider/index.js.map +1 -1
  296. package/dist/esm/MenuGroup/index.js +1 -2
  297. package/dist/esm/MenuGroup/index.js.map +1 -1
  298. package/dist/esm/MenuItem/index.js +1 -4
  299. package/dist/esm/MenuItem/index.js.map +1 -1
  300. package/dist/esm/Modal/index.js +1 -8
  301. package/dist/esm/Modal/index.js.map +1 -1
  302. package/dist/esm/Modal/utils/defaultLocale.js.map +1 -1
  303. package/dist/esm/Navigation/index.js +1 -7
  304. package/dist/esm/Navigation/index.js.map +1 -1
  305. package/dist/esm/Navigation/utils/useScrollFlags.js +0 -2
  306. package/dist/esm/Navigation/utils/useScrollFlags.js.map +1 -1
  307. package/dist/esm/NavigationItem/index.js +1 -4
  308. package/dist/esm/NavigationItem/index.js.map +1 -1
  309. package/dist/esm/PageContent/index.js +1 -7
  310. package/dist/esm/PageContent/index.js.map +1 -1
  311. package/dist/esm/PageHeader/index.js +1 -8
  312. package/dist/esm/PageHeader/index.js.map +1 -1
  313. package/dist/esm/PageHeader/utils/defaultLocale.js.map +1 -1
  314. package/dist/esm/PageHeaderInputSearch/index.js +1 -5
  315. package/dist/esm/PageHeaderInputSearch/index.js.map +1 -1
  316. package/dist/esm/PageHeaderInputSearch/utils/defaultLocale.js +2 -1
  317. package/dist/esm/PageHeaderInputSearch/utils/defaultLocale.js.map +1 -1
  318. package/dist/esm/PageHeaderSkeleton/index.js +0 -2
  319. package/dist/esm/PageHeaderSkeleton/index.js.map +1 -1
  320. package/dist/esm/ParagraphSkeleton/index.js +1 -4
  321. package/dist/esm/ParagraphSkeleton/index.js.map +1 -1
  322. package/dist/esm/Popover/index.js +12 -13
  323. package/dist/esm/Popover/index.js.map +1 -1
  324. package/dist/esm/Popover/utils/usePopoverPosition.js +8 -19
  325. package/dist/esm/Popover/utils/usePopoverPosition.js.map +1 -1
  326. package/dist/esm/Progress/index.js +1 -2
  327. package/dist/esm/Progress/index.js.map +1 -1
  328. package/dist/esm/RadioGroup/index.js +1 -5
  329. package/dist/esm/RadioGroup/index.js.map +1 -1
  330. package/dist/esm/RadioGroupSkeleton/index.js +1 -2
  331. package/dist/esm/RadioGroupSkeleton/index.js.map +1 -1
  332. package/dist/esm/Result/index.js +1 -2
  333. package/dist/esm/Result/index.js.map +1 -1
  334. package/dist/esm/ScrollButton/index.js +7 -9
  335. package/dist/esm/ScrollButton/index.js.map +1 -1
  336. package/dist/esm/ScrollButton/utils/useContainerPosition.js +0 -2
  337. package/dist/esm/ScrollButton/utils/useContainerPosition.js.map +1 -1
  338. package/dist/esm/ScrollButton/utils/useVisibility.js +2 -5
  339. package/dist/esm/ScrollButton/utils/useVisibility.js.map +1 -1
  340. package/dist/esm/Select/SelectList.js +11 -12
  341. package/dist/esm/Select/SelectList.js.map +1 -1
  342. package/dist/esm/Select/SelectToggle.js +0 -14
  343. package/dist/esm/Select/SelectToggle.js.map +1 -1
  344. package/dist/esm/Select/index.js +4 -10
  345. package/dist/esm/Select/index.js.map +1 -1
  346. package/dist/esm/Select/utils/defaultLocale.js.map +1 -1
  347. package/dist/esm/Skeleton/index.js +1 -2
  348. package/dist/esm/Skeleton/index.js.map +1 -1
  349. package/dist/esm/Switch/index.js +1 -11
  350. package/dist/esm/Switch/index.js.map +1 -1
  351. package/dist/esm/SwitchSkeleton/index.js +1 -2
  352. package/dist/esm/SwitchSkeleton/index.js.map +1 -1
  353. package/dist/esm/Tag/index.js +1 -2
  354. package/dist/esm/Tag/index.js.map +1 -1
  355. package/dist/esm/TagLink/index.js +1 -2
  356. package/dist/esm/TagLink/index.js.map +1 -1
  357. package/dist/esm/TagList/index.js +1 -4
  358. package/dist/esm/TagList/index.js.map +1 -1
  359. package/dist/esm/TagListSkeleton/index.js +1 -2
  360. package/dist/esm/TagListSkeleton/index.js.map +1 -1
  361. package/dist/esm/TagSkeleton/index.js +1 -2
  362. package/dist/esm/TagSkeleton/index.js.map +1 -1
  363. package/dist/esm/TextArea/index.js +1 -2
  364. package/dist/esm/TextArea/index.js.map +1 -1
  365. package/dist/esm/TextAreaSkeleton/index.js +1 -2
  366. package/dist/esm/TextAreaSkeleton/index.js.map +1 -1
  367. package/dist/esm/ThemeSwitcher/index.js +0 -2
  368. package/dist/esm/ThemeSwitcher/index.js.map +1 -1
  369. package/dist/esm/TimePicker/index.js +105 -0
  370. package/dist/esm/TimePicker/index.js.map +1 -0
  371. package/dist/esm/Video/index.js +1 -2
  372. package/dist/esm/Video/index.js.map +1 -1
  373. package/dist/esm/emotion.d.js.map +1 -1
  374. package/dist/esm/index.js.map +1 -1
  375. package/dist/esm/message/AlertIcon.js +0 -2
  376. package/dist/esm/message/AlertIcon.js.map +1 -1
  377. package/dist/esm/message/Message.js.map +1 -1
  378. package/dist/esm/message/index.js +7 -9
  379. package/dist/esm/message/index.js.map +1 -1
  380. package/dist/esm/message/styles.js.map +1 -1
  381. package/dist/types/TimePicker/index.d.ts +11 -0
  382. package/dist/types/TimePicker/index.d.ts.map +1 -0
  383. package/package.json +3 -2
@@ -1,63 +1,43 @@
1
1
  "use strict";
2
2
 
3
3
  function _typeof(obj) { "@babel/helpers - typeof"; return _typeof = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function (obj) { return typeof obj; } : function (obj) { return obj && "function" == typeof Symbol && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; }, _typeof(obj); }
4
-
5
4
  Object.defineProperty(exports, "__esModule", {
6
5
  value: true
7
6
  });
8
7
  exports["default"] = void 0;
9
-
10
8
  var _react = _interopRequireWildcard(require("react"));
11
-
12
9
  var _styled = _interopRequireDefault(require("@emotion/styled"));
13
-
14
10
  var _styles = require("@os-design/styles");
15
-
16
11
  var _icons = require("@os-design/icons");
17
-
18
12
  var _theming = require("@os-design/theming");
19
-
20
13
  var _Link = _interopRequireDefault(require("../Link"));
21
-
22
14
  var _excluded = ["currentPage", "hasRightArrow", "position", "href", "children"];
23
-
24
15
  var _templateObject, _templateObject2, _templateObject3;
25
-
26
16
  function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; }
27
-
28
17
  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); }
29
-
30
18
  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; }
31
-
32
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); }
33
-
34
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; }
35
-
36
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; }
37
-
38
22
  function _taggedTemplateLiteral(strings, raw) { if (!raw) { raw = strings.slice(0); } return Object.freeze(Object.defineProperties(strings, { raw: { value: Object.freeze(raw) } })); }
39
-
40
23
  var Container = _styled["default"].li(_templateObject || (_templateObject = _taggedTemplateLiteral(["\n list-style: none;\n"])));
41
-
42
24
  var Name = _styled["default"].span(_templateObject2 || (_templateObject2 = _taggedTemplateLiteral(["\n max-width: 20em;\n ", ";\n"])), _styles.ellipsisStyles);
43
-
44
25
  var RightIcon = (0, _styled["default"])(_icons.Right)(_templateObject3 || (_templateObject3 = _taggedTemplateLiteral(["\n color: ", ";\n margin: 0 0.6em;\n font-size: 0.6em;\n opacity: 0.8;\n"])), function (p) {
45
26
  return (0, _theming.clr)(p.theme.colorText);
46
27
  });
28
+
47
29
  /**
48
30
  * The item of the breadcrumb.
49
31
  */
50
-
51
32
  var BreadcrumbItem = /*#__PURE__*/(0, _react.forwardRef)(function (_ref, ref) {
52
33
  var _ref$currentPage = _ref.currentPage,
53
- currentPage = _ref$currentPage === void 0 ? false : _ref$currentPage,
54
- _ref$hasRightArrow = _ref.hasRightArrow,
55
- hasRightArrow = _ref$hasRightArrow === void 0 ? false : _ref$hasRightArrow,
56
- position = _ref.position,
57
- href = _ref.href,
58
- children = _ref.children,
59
- rest = _objectWithoutProperties(_ref, _excluded);
60
-
34
+ currentPage = _ref$currentPage === void 0 ? false : _ref$currentPage,
35
+ _ref$hasRightArrow = _ref.hasRightArrow,
36
+ hasRightArrow = _ref$hasRightArrow === void 0 ? false : _ref$hasRightArrow,
37
+ position = _ref.position,
38
+ href = _ref.href,
39
+ children = _ref.children,
40
+ rest = _objectWithoutProperties(_ref, _excluded);
61
41
  return /*#__PURE__*/_react["default"].createElement(Container, null, /*#__PURE__*/_react["default"].createElement(_Link["default"], _extends({
62
42
  itemProp: "itemListElement",
63
43
  itemScope: true,
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","names":["Container","styled","li","Name","span","ellipsisStyles","RightIcon","Right","p","clr","theme","colorText","BreadcrumbItem","forwardRef","ref","currentPage","hasRightArrow","position","href","children","rest","underline","toString","displayName"],"sources":["../../../src/BreadcrumbItem/index.tsx"],"sourcesContent":["import React, { forwardRef } from 'react';\nimport styled from '@emotion/styled';\nimport { ellipsisStyles } from '@os-design/styles';\nimport { Right } from '@os-design/icons';\nimport { clr } from '@os-design/theming';\nimport Link, { LinkProps } from '../Link';\n\nexport interface BreadcrumbItemProps extends LinkProps {\n /**\n * Whether the item is the current page.\n * @default false\n */\n currentPage?: boolean;\n /**\n * Whether the right arrow located to the right of the text is visible.\n * @default false\n */\n hasRightArrow?: boolean;\n /**\n * The position of the breadcrumb item.\n * @default undefined\n */\n position?: number;\n}\n\nconst Container = styled.li`\n list-style: none;\n`;\n\nconst Name = styled.span`\n max-width: 20em;\n ${ellipsisStyles};\n`;\n\nconst RightIcon = styled(Right)`\n color: ${(p) => clr(p.theme.colorText)};\n margin: 0 0.6em;\n font-size: 0.6em;\n opacity: 0.8;\n`;\n\n/**\n * The item of the breadcrumb.\n */\nconst BreadcrumbItem = forwardRef<HTMLAnchorElement, BreadcrumbItemProps>(\n (\n {\n currentPage = false,\n hasRightArrow = false,\n position,\n href,\n children,\n ...rest\n },\n ref\n ) => (\n <Container>\n <Link\n itemProp='itemListElement'\n itemScope\n itemType='https://schema.org/ListItem'\n href={href}\n {...(currentPage\n ? {\n underline: 'always',\n 'aria-current': 'page',\n }\n : {})}\n {...rest}\n ref={ref}\n >\n <link itemProp='item' href={href} />\n {position && <meta itemProp='position' content={position.toString()} />}\n <Name itemProp='name'>{children}</Name>\n </Link>\n {hasRightArrow && <RightIcon role='presentation' />}\n </Container>\n )\n);\n\nBreadcrumbItem.displayName = 'BreadcrumbItem';\n\nexport default BreadcrumbItem;\n"],"mappings":";;;;;;;;;AAAA;;AACA;;AACA;;AACA;;AACA;;AACA;;;;;;;;;;;;;;;;;;;;AAoBA,IAAMA,SAAS,GAAGC,kBAAA,CAAOC,EAAV,4FAAf;;AAIA,IAAMC,IAAI,GAAGF,kBAAA,CAAOG,IAAV,uGAENC,sBAFM,CAAV;;AAKA,IAAMC,SAAS,GAAG,IAAAL,kBAAA,EAAOM,YAAP,CAAH,oJACJ,UAACC,CAAD;EAAA,OAAO,IAAAC,YAAA,EAAID,CAAC,CAACE,KAAF,CAAQC,SAAZ,CAAP;AAAA,CADI,CAAf;AAOA;AACA;AACA;;AACA,IAAMC,cAAc,gBAAG,IAAAC,iBAAA,EACrB,gBASEC,GATF;EAAA,4BAEIC,WAFJ;EAAA,IAEIA,WAFJ,iCAEkB,KAFlB;EAAA,8BAGIC,aAHJ;EAAA,IAGIA,aAHJ,mCAGoB,KAHpB;EAAA,IAIIC,QAJJ,QAIIA,QAJJ;EAAA,IAKIC,IALJ,QAKIA,IALJ;EAAA,IAMIC,QANJ,QAMIA,QANJ;EAAA,IAOOC,IAPP;;EAAA,oBAWE,gCAAC,SAAD,qBACE,gCAAC,gBAAD;IACE,QAAQ,EAAC,iBADX;IAEE,SAAS,MAFX;IAGE,QAAQ,EAAC,6BAHX;IAIE,IAAI,EAAEF;EAJR,GAKOH,WAAW,GACZ;IACEM,SAAS,EAAE,QADb;IAEE,gBAAgB;EAFlB,CADY,GAKZ,EAVN,EAWMD,IAXN;IAYE,GAAG,EAAEN;EAZP,iBAcE;IAAM,QAAQ,EAAC,MAAf;IAAsB,IAAI,EAAEI;EAA5B,EAdF,EAeGD,QAAQ,iBAAI;IAAM,QAAQ,EAAC,UAAf;IAA0B,OAAO,EAAEA,QAAQ,CAACK,QAAT;EAAnC,EAff,eAgBE,gCAAC,IAAD;IAAM,QAAQ,EAAC;EAAf,GAAuBH,QAAvB,CAhBF,CADF,EAmBGH,aAAa,iBAAI,gCAAC,SAAD;IAAW,IAAI,EAAC;EAAhB,EAnBpB,CAXF;AAAA,CADqB,CAAvB;AAoCAJ,cAAc,CAACW,WAAf,GAA6B,gBAA7B;eAEeX,c"}
1
+ {"version":3,"file":"index.js","names":["Container","styled","li","Name","span","ellipsisStyles","RightIcon","Right","p","clr","theme","colorText","BreadcrumbItem","forwardRef","ref","currentPage","hasRightArrow","position","href","children","rest","underline","toString","displayName"],"sources":["../../../src/BreadcrumbItem/index.tsx"],"sourcesContent":["import React, { forwardRef } from 'react';\nimport styled from '@emotion/styled';\nimport { ellipsisStyles } from '@os-design/styles';\nimport { Right } from '@os-design/icons';\nimport { clr } from '@os-design/theming';\nimport Link, { LinkProps } from '../Link';\n\nexport interface BreadcrumbItemProps extends LinkProps {\n /**\n * Whether the item is the current page.\n * @default false\n */\n currentPage?: boolean;\n /**\n * Whether the right arrow located to the right of the text is visible.\n * @default false\n */\n hasRightArrow?: boolean;\n /**\n * The position of the breadcrumb item.\n * @default undefined\n */\n position?: number;\n}\n\nconst Container = styled.li`\n list-style: none;\n`;\n\nconst Name = styled.span`\n max-width: 20em;\n ${ellipsisStyles};\n`;\n\nconst RightIcon = styled(Right)`\n color: ${(p) => clr(p.theme.colorText)};\n margin: 0 0.6em;\n font-size: 0.6em;\n opacity: 0.8;\n`;\n\n/**\n * The item of the breadcrumb.\n */\nconst BreadcrumbItem = forwardRef<HTMLAnchorElement, BreadcrumbItemProps>(\n (\n {\n currentPage = false,\n hasRightArrow = false,\n position,\n href,\n children,\n ...rest\n },\n ref\n ) => (\n <Container>\n <Link\n itemProp='itemListElement'\n itemScope\n itemType='https://schema.org/ListItem'\n href={href}\n {...(currentPage\n ? {\n underline: 'always',\n 'aria-current': 'page',\n }\n : {})}\n {...rest}\n ref={ref}\n >\n <link itemProp='item' href={href} />\n {position && <meta itemProp='position' content={position.toString()} />}\n <Name itemProp='name'>{children}</Name>\n </Link>\n {hasRightArrow && <RightIcon role='presentation' />}\n </Container>\n )\n);\n\nBreadcrumbItem.displayName = 'BreadcrumbItem';\n\nexport default BreadcrumbItem;\n"],"mappings":";;;;;;;AAAA;AACA;AACA;AACA;AACA;AACA;AAA0C;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAoB1C,IAAMA,SAAS,GAAGC,kBAAM,CAACC,EAAE,4FAE1B;AAED,IAAMC,IAAI,GAAGF,kBAAM,CAACG,IAAI,uGAEpBC,sBAAc,CACjB;AAED,IAAMC,SAAS,GAAG,IAAAL,kBAAM,EAACM,YAAK,CAAC,oJACpB,UAACC,CAAC;EAAA,OAAK,IAAAC,YAAG,EAACD,CAAC,CAACE,KAAK,CAACC,SAAS,CAAC;AAAA,EAIvC;;AAED;AACA;AACA;AACA,IAAMC,cAAc,gBAAG,IAAAC,iBAAU,EAC/B,gBASEC,GAAG;EAAA,4BAPDC,WAAW;IAAXA,WAAW,iCAAG,KAAK;IAAA,0BACnBC,aAAa;IAAbA,aAAa,mCAAG,KAAK;IACrBC,QAAQ,QAARA,QAAQ;IACRC,IAAI,QAAJA,IAAI;IACJC,QAAQ,QAARA,QAAQ;IACLC,IAAI;EAAA,oBAIT,gCAAC,SAAS,qBACR,gCAAC,gBAAI;IACH,QAAQ,EAAC,iBAAiB;IAC1B,SAAS;IACT,QAAQ,EAAC,6BAA6B;IACtC,IAAI,EAAEF;EAAK,GACNH,WAAW,GACZ;IACEM,SAAS,EAAE,QAAQ;IACnB,cAAc,EAAE;EAClB,CAAC,GACD,CAAC,CAAC,EACFD,IAAI;IACR,GAAG,EAAEN;EAAI,iBAET;IAAM,QAAQ,EAAC,MAAM;IAAC,IAAI,EAAEI;EAAK,EAAG,EACnCD,QAAQ,iBAAI;IAAM,QAAQ,EAAC,UAAU;IAAC,OAAO,EAAEA,QAAQ,CAACK,QAAQ;EAAG,EAAG,eACvE,gCAAC,IAAI;IAAC,QAAQ,EAAC;EAAM,GAAEH,QAAQ,CAAQ,CAClC,EACNH,aAAa,iBAAI,gCAAC,SAAS;IAAC,IAAI,EAAC;EAAc,EAAG,CACzC;AAAA,CACb,CACF;AAEDJ,cAAc,CAACW,WAAW,GAAG,gBAAgB;AAAC,eAE/BX,cAAc;AAAA"}
@@ -4,37 +4,24 @@ Object.defineProperty(exports, "__esModule", {
4
4
  value: true
5
5
  });
6
6
  exports["default"] = void 0;
7
-
8
7
  var _react = _interopRequireDefault(require("react"));
9
-
10
8
  var _icons = require("@os-design/icons");
11
-
12
9
  var _styled = _interopRequireDefault(require("@emotion/styled"));
13
-
14
10
  var _react2 = require("@emotion/react");
15
-
16
11
  var _utils = require("@os-design/utils");
17
-
18
12
  var _theming = require("@os-design/theming");
19
-
20
13
  var _templateObject, _templateObject2, _templateObject3, _templateObject4, _templateObject5, _templateObject6;
21
-
22
14
  function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; }
23
-
24
15
  function _taggedTemplateLiteral(strings, raw) { if (!raw) { raw = strings.slice(0); } return Object.freeze(Object.defineProperties(strings, { raw: { value: Object.freeze(raw) } })); }
25
-
26
16
  var LeftAddon = _styled["default"].div(_templateObject || (_templateObject = _taggedTemplateLiteral(["\n display: inherit;\n padding-right: ", "em;\n"])), function (p) {
27
17
  return p.theme.buttonAddonPaddingHorizontal;
28
18
  });
29
-
30
19
  var RightAddon = _styled["default"].div(_templateObject2 || (_templateObject2 = _taggedTemplateLiteral(["\n display: inherit;\n padding-left: ", "em;\n"])), function (p) {
31
20
  return p.theme.buttonAddonPaddingHorizontal;
32
21
  });
33
-
34
22
  var Content = _styled["default"].span(_templateObject3 || (_templateObject3 = _taggedTemplateLiteral(["\n display: inherit;\n\n & > svg {\n transform: scale(", ");\n vertical-align: middle;\n }\n"])), function (p) {
35
23
  return p.theme.buttonIconScaleFactor;
36
24
  });
37
-
38
25
  var LoadingIcon = (0, _styled["default"])(_icons.Loading)(_templateObject4 || (_templateObject4 = _taggedTemplateLiteral(["\n font-size: 1.2em;\n"])));
39
26
  var loadingFadeIn = (0, _react2.keyframes)(_templateObject5 || (_templateObject5 = _taggedTemplateLiteral(["\n from { opacity: 0; }\n to { opacity: 1; }\n"])));
40
27
  var LoadingContainer = (0, _styled["default"])('div', (0, _utils.omitEmotionProps)('colors'))(_templateObject6 || (_templateObject6 = _taggedTemplateLiteral(["\n position: absolute;\n top: 0;\n left: 0;\n right: 0;\n bottom: 0;\n border-radius: inherit;\n\n display: flex;\n justify-content: center;\n align-items: center;\n\n color: ", ";\n background-color: ", ";\n animation: ", " ", "ms;\n"])), function (p) {
@@ -43,20 +30,20 @@ var LoadingContainer = (0, _styled["default"])('div', (0, _utils.omitEmotionProp
43
30
  return (0, _theming.clr)(p.colors.bg);
44
31
  }, loadingFadeIn, function (p) {
45
32
  return p.theme.transitionDelay;
46
- }); // Used by Button, LinkButton
33
+ });
47
34
 
35
+ // Used by Button, LinkButton
48
36
  var ButtonContent = function ButtonContent(_ref) {
49
37
  var left = _ref.left,
50
- right = _ref.right,
51
- _ref$loading = _ref.loading,
52
- loading = _ref$loading === void 0 ? false : _ref$loading,
53
- loadingColors = _ref.loadingColors,
54
- children = _ref.children;
38
+ right = _ref.right,
39
+ _ref$loading = _ref.loading,
40
+ loading = _ref$loading === void 0 ? false : _ref$loading,
41
+ loadingColors = _ref.loadingColors,
42
+ children = _ref.children;
55
43
  return /*#__PURE__*/_react["default"].createElement(_react["default"].Fragment, null, left && /*#__PURE__*/_react["default"].createElement(LeftAddon, null, left), /*#__PURE__*/_react["default"].createElement(Content, null, children), right && /*#__PURE__*/_react["default"].createElement(RightAddon, null, right), loading && /*#__PURE__*/_react["default"].createElement(LoadingContainer, {
56
44
  colors: loadingColors
57
45
  }, /*#__PURE__*/_react["default"].createElement(LoadingIcon, null)));
58
46
  };
59
-
60
47
  var _default = ButtonContent;
61
48
  exports["default"] = _default;
62
49
  //# sourceMappingURL=ButtonContent.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"ButtonContent.js","names":["LeftAddon","styled","div","p","theme","buttonAddonPaddingHorizontal","RightAddon","Content","span","buttonIconScaleFactor","LoadingIcon","Loading","loadingFadeIn","keyframes","LoadingContainer","omitEmotionProps","clr","colors","text","bg","transitionDelay","ButtonContent","left","right","loading","loadingColors","children"],"sources":["../../../src/Button/ButtonContent.tsx"],"sourcesContent":["import React from 'react';\nimport { Loading } from '@os-design/icons';\nimport styled from '@emotion/styled';\nimport { keyframes } from '@emotion/react';\nimport { omitEmotionProps } from '@os-design/utils';\nimport { clr } from '@os-design/theming';\nimport { LoadingColors } from './utils/useButtonColors';\n\ninterface ButtonContentProps {\n left?: React.ReactNode;\n right?: React.ReactNode;\n loading?: boolean;\n loadingColors: LoadingColors;\n children?: React.ReactNode;\n}\n\nconst LeftAddon = styled.div`\n display: inherit;\n padding-right: ${(p) => p.theme.buttonAddonPaddingHorizontal}em;\n`;\n\nconst RightAddon = styled.div`\n display: inherit;\n padding-left: ${(p) => p.theme.buttonAddonPaddingHorizontal}em;\n`;\n\nconst Content = styled.span`\n display: inherit;\n\n & > svg {\n transform: scale(${(p) => p.theme.buttonIconScaleFactor});\n vertical-align: middle;\n }\n`;\n\nconst LoadingIcon = styled(Loading)`\n font-size: 1.2em;\n`;\n\nconst loadingFadeIn = keyframes`\n from { opacity: 0; }\n to { opacity: 1; }\n`;\n\ninterface LoadingContainerProps {\n colors: LoadingColors;\n}\nconst LoadingContainer = styled(\n 'div',\n omitEmotionProps('colors')\n)<LoadingContainerProps>`\n position: absolute;\n top: 0;\n left: 0;\n right: 0;\n bottom: 0;\n border-radius: inherit;\n\n display: flex;\n justify-content: center;\n align-items: center;\n\n color: ${(p) => clr(p.colors.text)};\n background-color: ${(p) => clr(p.colors.bg)};\n animation: ${loadingFadeIn} ${(p) => p.theme.transitionDelay}ms;\n`;\n\n// Used by Button, LinkButton\nconst ButtonContent: React.FC<ButtonContentProps> = ({\n left,\n right,\n loading = false,\n loadingColors,\n children,\n}) => (\n <>\n {left && <LeftAddon>{left}</LeftAddon>}\n <Content>{children}</Content>\n {right && <RightAddon>{right}</RightAddon>}\n {loading && (\n <LoadingContainer colors={loadingColors}>\n <LoadingIcon />\n </LoadingContainer>\n )}\n </>\n);\n\nexport default ButtonContent;\n"],"mappings":";;;;;;;AAAA;;AACA;;AACA;;AACA;;AACA;;AACA;;;;;;;;AAWA,IAAMA,SAAS,GAAGC,kBAAA,CAAOC,GAAV,uHAEI,UAACC,CAAD;EAAA,OAAOA,CAAC,CAACC,KAAF,CAAQC,4BAAf;AAAA,CAFJ,CAAf;;AAKA,IAAMC,UAAU,GAAGL,kBAAA,CAAOC,GAAV,wHAEE,UAACC,CAAD;EAAA,OAAOA,CAAC,CAACC,KAAF,CAAQC,4BAAf;AAAA,CAFF,CAAhB;;AAKA,IAAME,OAAO,GAAGN,kBAAA,CAAOO,IAAV,6KAIU,UAACL,CAAD;EAAA,OAAOA,CAAC,CAACC,KAAF,CAAQK,qBAAf;AAAA,CAJV,CAAb;;AASA,IAAMC,WAAW,GAAG,IAAAT,kBAAA,EAAOU,cAAP,CAAH,8FAAjB;AAIA,IAAMC,aAAa,OAAGC,iBAAH,wHAAnB;AAQA,IAAMC,gBAAgB,GAAG,IAAAb,kBAAA,EACvB,KADuB,EAEvB,IAAAc,uBAAA,EAAiB,QAAjB,CAFuB,CAAH,8TAeX,UAACZ,CAAD;EAAA,OAAO,IAAAa,YAAA,EAAIb,CAAC,CAACc,MAAF,CAASC,IAAb,CAAP;AAAA,CAfW,EAgBA,UAACf,CAAD;EAAA,OAAO,IAAAa,YAAA,EAAIb,CAAC,CAACc,MAAF,CAASE,EAAb,CAAP;AAAA,CAhBA,EAiBPP,aAjBO,EAiBU,UAACT,CAAD;EAAA,OAAOA,CAAC,CAACC,KAAF,CAAQgB,eAAf;AAAA,CAjBV,CAAtB,C,CAoBA;;AACA,IAAMC,aAA2C,GAAG,SAA9CA,aAA8C;EAAA,IAClDC,IADkD,QAClDA,IADkD;EAAA,IAElDC,KAFkD,QAElDA,KAFkD;EAAA,wBAGlDC,OAHkD;EAAA,IAGlDA,OAHkD,6BAGxC,KAHwC;EAAA,IAIlDC,aAJkD,QAIlDA,aAJkD;EAAA,IAKlDC,QALkD,QAKlDA,QALkD;EAAA,oBAOlD,kEACGJ,IAAI,iBAAI,gCAAC,SAAD,QAAYA,IAAZ,CADX,eAEE,gCAAC,OAAD,QAAUI,QAAV,CAFF,EAGGH,KAAK,iBAAI,gCAAC,UAAD,QAAaA,KAAb,CAHZ,EAIGC,OAAO,iBACN,gCAAC,gBAAD;IAAkB,MAAM,EAAEC;EAA1B,gBACE,gCAAC,WAAD,OADF,CALJ,CAPkD;AAAA,CAApD;;eAmBeJ,a"}
1
+ {"version":3,"file":"ButtonContent.js","names":["LeftAddon","styled","div","p","theme","buttonAddonPaddingHorizontal","RightAddon","Content","span","buttonIconScaleFactor","LoadingIcon","Loading","loadingFadeIn","keyframes","LoadingContainer","omitEmotionProps","clr","colors","text","bg","transitionDelay","ButtonContent","left","right","loading","loadingColors","children"],"sources":["../../../src/Button/ButtonContent.tsx"],"sourcesContent":["import React from 'react';\nimport { Loading } from '@os-design/icons';\nimport styled from '@emotion/styled';\nimport { keyframes } from '@emotion/react';\nimport { omitEmotionProps } from '@os-design/utils';\nimport { clr } from '@os-design/theming';\nimport { LoadingColors } from './utils/useButtonColors';\n\ninterface ButtonContentProps {\n left?: React.ReactNode;\n right?: React.ReactNode;\n loading?: boolean;\n loadingColors: LoadingColors;\n children?: React.ReactNode;\n}\n\nconst LeftAddon = styled.div`\n display: inherit;\n padding-right: ${(p) => p.theme.buttonAddonPaddingHorizontal}em;\n`;\n\nconst RightAddon = styled.div`\n display: inherit;\n padding-left: ${(p) => p.theme.buttonAddonPaddingHorizontal}em;\n`;\n\nconst Content = styled.span`\n display: inherit;\n\n & > svg {\n transform: scale(${(p) => p.theme.buttonIconScaleFactor});\n vertical-align: middle;\n }\n`;\n\nconst LoadingIcon = styled(Loading)`\n font-size: 1.2em;\n`;\n\nconst loadingFadeIn = keyframes`\n from { opacity: 0; }\n to { opacity: 1; }\n`;\n\ninterface LoadingContainerProps {\n colors: LoadingColors;\n}\nconst LoadingContainer = styled(\n 'div',\n omitEmotionProps('colors')\n)<LoadingContainerProps>`\n position: absolute;\n top: 0;\n left: 0;\n right: 0;\n bottom: 0;\n border-radius: inherit;\n\n display: flex;\n justify-content: center;\n align-items: center;\n\n color: ${(p) => clr(p.colors.text)};\n background-color: ${(p) => clr(p.colors.bg)};\n animation: ${loadingFadeIn} ${(p) => p.theme.transitionDelay}ms;\n`;\n\n// Used by Button, LinkButton\nconst ButtonContent: React.FC<ButtonContentProps> = ({\n left,\n right,\n loading = false,\n loadingColors,\n children,\n}) => (\n <>\n {left && <LeftAddon>{left}</LeftAddon>}\n <Content>{children}</Content>\n {right && <RightAddon>{right}</RightAddon>}\n {loading && (\n <LoadingContainer colors={loadingColors}>\n <LoadingIcon />\n </LoadingContainer>\n )}\n </>\n);\n\nexport default ButtonContent;\n"],"mappings":";;;;;;AAAA;AACA;AACA;AACA;AACA;AACA;AAAyC;AAAA;AAAA;AAWzC,IAAMA,SAAS,GAAGC,kBAAM,CAACC,GAAG,uHAET,UAACC,CAAC;EAAA,OAAKA,CAAC,CAACC,KAAK,CAACC,4BAA4B;AAAA,EAC7D;AAED,IAAMC,UAAU,GAAGL,kBAAM,CAACC,GAAG,wHAEX,UAACC,CAAC;EAAA,OAAKA,CAAC,CAACC,KAAK,CAACC,4BAA4B;AAAA,EAC5D;AAED,IAAME,OAAO,GAAGN,kBAAM,CAACO,IAAI,6KAIJ,UAACL,CAAC;EAAA,OAAKA,CAAC,CAACC,KAAK,CAACK,qBAAqB;AAAA,EAG1D;AAED,IAAMC,WAAW,GAAG,IAAAT,kBAAM,EAACU,cAAO,CAAC,8FAElC;AAED,IAAMC,aAAa,OAAGC,iBAAS,wHAG9B;AAKD,IAAMC,gBAAgB,GAAG,IAAAb,kBAAM,EAC7B,KAAK,EACL,IAAAc,uBAAgB,EAAC,QAAQ,CAAC,CAC3B,8TAYU,UAACZ,CAAC;EAAA,OAAK,IAAAa,YAAG,EAACb,CAAC,CAACc,MAAM,CAACC,IAAI,CAAC;AAAA,GACd,UAACf,CAAC;EAAA,OAAK,IAAAa,YAAG,EAACb,CAAC,CAACc,MAAM,CAACE,EAAE,CAAC;AAAA,GAC9BP,aAAa,EAAI,UAACT,CAAC;EAAA,OAAKA,CAAC,CAACC,KAAK,CAACgB,eAAe;AAAA,EAC7D;;AAED;AACA,IAAMC,aAA2C,GAAG,SAA9CA,aAA2C;EAAA,IAC/CC,IAAI,QAAJA,IAAI;IACJC,KAAK,QAALA,KAAK;IAAA,oBACLC,OAAO;IAAPA,OAAO,6BAAG,KAAK;IACfC,aAAa,QAAbA,aAAa;IACbC,QAAQ,QAARA,QAAQ;EAAA,oBAER,kEACGJ,IAAI,iBAAI,gCAAC,SAAS,QAAEA,IAAI,CAAa,eACtC,gCAAC,OAAO,QAAEI,QAAQ,CAAW,EAC5BH,KAAK,iBAAI,gCAAC,UAAU,QAAEA,KAAK,CAAc,EACzCC,OAAO,iBACN,gCAAC,gBAAgB;IAAC,MAAM,EAAEC;EAAc,gBACtC,gCAAC,WAAW,OAAG,CAElB,CACA;AAAA,CACJ;AAAC,eAEaJ,aAAa;AAAA"}
@@ -1,76 +1,49 @@
1
1
  "use strict";
2
2
 
3
3
  function _typeof(obj) { "@babel/helpers - typeof"; return _typeof = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function (obj) { return typeof obj; } : function (obj) { return obj && "function" == typeof Symbol && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; }, _typeof(obj); }
4
-
5
4
  Object.defineProperty(exports, "__esModule", {
6
5
  value: true
7
6
  });
8
7
  exports["default"] = exports.StyledButton = void 0;
9
-
10
8
  var _react = _interopRequireWildcard(require("react"));
11
-
12
9
  var _styled = _interopRequireDefault(require("@emotion/styled"));
13
-
14
10
  var _styles = require("@os-design/styles");
15
-
16
11
  var _utils = require("@os-design/utils");
17
-
18
12
  var _theming = require("@os-design/theming");
19
-
20
13
  var _react2 = require("@emotion/react");
21
-
22
14
  var _media = require("@os-design/media");
23
-
24
15
  var _useButtonColors2 = _interopRequireDefault(require("./utils/useButtonColors"));
25
-
26
16
  var _ButtonContent = _interopRequireDefault(require("./ButtonContent"));
27
-
28
17
  var _excluded = ["type", "danger", "left", "right", "wide", "loading", "disabled", "size", "children", "onMouseDown"];
29
-
30
18
  var _templateObject, _templateObject2, _templateObject3, _templateObject4, _templateObject5, _templateObject6, _templateObject7, _templateObject8;
31
-
32
19
  function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; }
33
-
34
20
  function _getRequireWildcardCache(nodeInterop) { if (typeof WeakMap !== "function") return null; var cacheBabelInterop = new WeakMap(); var cacheNodeInterop = new WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(nodeInterop) { return nodeInterop ? cacheNodeInterop : cacheBabelInterop; })(nodeInterop); }
35
-
36
21
  function _interopRequireWildcard(obj, nodeInterop) { if (!nodeInterop && obj && obj.__esModule) { return obj; } if (obj === null || _typeof(obj) !== "object" && typeof obj !== "function") { return { "default": obj }; } var cache = _getRequireWildcardCache(nodeInterop); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (key !== "default" && Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } newObj["default"] = obj; if (cache) { cache.set(obj, newObj); } return newObj; }
37
-
38
22
  function _extends() { _extends = Object.assign ? Object.assign.bind() : function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }
39
-
40
23
  function _objectWithoutProperties(source, excluded) { if (source == null) return {}; var target = _objectWithoutPropertiesLoose(source, excluded); var key, i; if (Object.getOwnPropertySymbols) { var sourceSymbolKeys = Object.getOwnPropertySymbols(source); for (i = 0; i < sourceSymbolKeys.length; i++) { key = sourceSymbolKeys[i]; if (excluded.indexOf(key) >= 0) continue; if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue; target[key] = source[key]; } } return target; }
41
-
42
24
  function _objectWithoutPropertiesLoose(source, excluded) { if (source == null) return {}; var target = {}; var sourceKeys = Object.keys(source); var key, i; for (i = 0; i < sourceKeys.length; i++) { key = sourceKeys[i]; if (excluded.indexOf(key) >= 0) continue; target[key] = source[key]; } return target; }
43
-
44
25
  function _taggedTemplateLiteral(strings, raw) { if (!raw) { raw = strings.slice(0); } return Object.freeze(Object.defineProperties(strings, { raw: { value: Object.freeze(raw) } })); }
45
-
46
26
  var hoverStyles = function hoverStyles(p) {
47
27
  return !p.disabled && (0, _react2.css)(_templateObject || (_templateObject = _taggedTemplateLiteral(["\n @media (hover: hover) {\n &:hover,\n &:focus {\n background-color: ", ";\n }\n }\n "])), (0, _theming.clr)(p.colors.bgHover));
48
28
  };
49
-
50
29
  var primaryStyles = function primaryStyles(p) {
51
30
  return p.btnType === 'primary' && (0, _react2.css)(_templateObject2 || (_templateObject2 = _taggedTemplateLiteral(["\n color: ", ";\n background-color: ", ";\n ", ";\n "])), (0, _theming.clr)(p.colors.text), (0, _theming.clr)(p.colors.bg), hoverStyles(p));
52
31
  };
53
-
54
32
  var ghostStyles = function ghostStyles(p) {
55
33
  return p.btnType === 'ghost' && (0, _react2.css)(_templateObject3 || (_templateObject3 = _taggedTemplateLiteral(["\n color: ", ";\n background-color: transparent;\n ", ";\n "])), (0, _theming.clr)(p.colors.text), hoverStyles(p));
56
34
  };
57
-
58
35
  var outlineStyles = function outlineStyles(p) {
59
36
  return p.btnType === 'outline' && (0, _react2.css)(_templateObject4 || (_templateObject4 = _taggedTemplateLiteral(["\n color: ", ";\n background-color: transparent;\n border: 1px solid currentColor;\n ", ";\n "])), (0, _theming.clr)(p.colors.text), hoverStyles(p));
60
37
  };
61
-
62
38
  var wideDefaultStyles = function wideDefaultStyles(p) {
63
39
  return p.wide === 'default' && (0, _react2.css)(_templateObject5 || (_templateObject5 = _taggedTemplateLiteral(["\n ", " {\n width: 100%;\n }\n "])), _media.m.max.xxs);
64
40
  };
65
-
66
41
  var wideAlwaysStyles = function wideAlwaysStyles(p) {
67
42
  return p.wide === 'always' && (0, _react2.css)(_templateObject6 || (_templateObject6 = _taggedTemplateLiteral(["\n width: 100%;\n "])));
68
43
  };
69
-
70
44
  var disabledStyles = function disabledStyles(p) {
71
45
  return p.disabled && (0, _react2.css)(_templateObject7 || (_templateObject7 = _taggedTemplateLiteral(["\n cursor: not-allowed;\n "])));
72
46
  };
73
-
74
47
  var StyledButton = (0, _styled["default"])('button', (0, _utils.omitEmotionProps)('btnType', 'colors', 'wide', 'loading', 'size'))(_templateObject8 || (_templateObject8 = _taggedTemplateLiteral(["\n ", ";\n position: relative; // Because LoadingContainer has an absolute position\n cursor: pointer;\n user-select: none;\n box-sizing: border-box; // Important for LinkButton\n\n // Disable multiline\n white-space: nowrap;\n overflow: hidden;\n\n border-radius: ", "em;\n height: ", "em;\n padding: 0 ", "em;\n\n // Do not set inline-flex, otherwise the mobile safari cuts off\n // the bottom border of the button (tested in iPhone 6)\n display: flex;\n justify-content: center;\n align-items: center;\n\n font-weight: 500;\n line-height: 1;\n\n ", ";\n ", ";\n ", ";\n\n ", ";\n ", ";\n\n ", ";\n\n ", ";\n ", ";\n"])), _styles.resetButtonStyles, function (p) {
75
48
  return p.theme.borderRadius;
76
49
  }, function (p) {
@@ -78,38 +51,36 @@ var StyledButton = (0, _styled["default"])('button', (0, _utils.omitEmotionProps
78
51
  }, function (p) {
79
52
  return p.theme.buttonPaddingHorizontal;
80
53
  }, primaryStyles, outlineStyles, ghostStyles, wideDefaultStyles, wideAlwaysStyles, disabledStyles, _styles.sizeStyles, (0, _styles.transitionStyles)('background-color', 'color'));
54
+
81
55
  /**
82
56
  * Used to trigger the corresponding business logic.
83
57
  */
84
-
85
58
  exports.StyledButton = StyledButton;
86
59
  var Button = /*#__PURE__*/(0, _react.forwardRef)(function (_ref, ref) {
87
60
  var _ref$type = _ref.type,
88
- type = _ref$type === void 0 ? 'primary' : _ref$type,
89
- _ref$danger = _ref.danger,
90
- danger = _ref$danger === void 0 ? false : _ref$danger,
91
- left = _ref.left,
92
- right = _ref.right,
93
- _ref$wide = _ref.wide,
94
- wide = _ref$wide === void 0 ? 'default' : _ref$wide,
95
- _ref$loading = _ref.loading,
96
- loading = _ref$loading === void 0 ? false : _ref$loading,
97
- _ref$disabled = _ref.disabled,
98
- disabled = _ref$disabled === void 0 ? false : _ref$disabled,
99
- size = _ref.size,
100
- children = _ref.children,
101
- _ref$onMouseDown = _ref.onMouseDown,
102
- _onMouseDown = _ref$onMouseDown === void 0 ? function () {} : _ref$onMouseDown,
103
- rest = _objectWithoutProperties(_ref, _excluded);
104
-
61
+ type = _ref$type === void 0 ? 'primary' : _ref$type,
62
+ _ref$danger = _ref.danger,
63
+ danger = _ref$danger === void 0 ? false : _ref$danger,
64
+ left = _ref.left,
65
+ right = _ref.right,
66
+ _ref$wide = _ref.wide,
67
+ wide = _ref$wide === void 0 ? 'default' : _ref$wide,
68
+ _ref$loading = _ref.loading,
69
+ loading = _ref$loading === void 0 ? false : _ref$loading,
70
+ _ref$disabled = _ref.disabled,
71
+ disabled = _ref$disabled === void 0 ? false : _ref$disabled,
72
+ size = _ref.size,
73
+ children = _ref.children,
74
+ _ref$onMouseDown = _ref.onMouseDown,
75
+ _onMouseDown = _ref$onMouseDown === void 0 ? function () {} : _ref$onMouseDown,
76
+ rest = _objectWithoutProperties(_ref, _excluded);
105
77
  var _useButtonColors = (0, _useButtonColors2["default"])({
106
- type: type,
107
- danger: danger,
108
- disabled: disabled
109
- }),
110
- buttonColors = _useButtonColors.buttonColors,
111
- loadingColors = _useButtonColors.loadingColors;
112
-
78
+ type: type,
79
+ danger: danger,
80
+ disabled: disabled
81
+ }),
82
+ buttonColors = _useButtonColors.buttonColors,
83
+ loadingColors = _useButtonColors.loadingColors;
113
84
  return /*#__PURE__*/_react["default"].createElement(StyledButton, _extends({
114
85
  btnType: type,
115
86
  colors: buttonColors,
@@ -119,7 +90,6 @@ var Button = /*#__PURE__*/(0, _react.forwardRef)(function (_ref, ref) {
119
90
  size: size,
120
91
  onMouseDown: function onMouseDown(e) {
121
92
  _onMouseDown(e);
122
-
123
93
  e.preventDefault();
124
94
  },
125
95
  "aria-busy": loading
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","names":["hoverStyles","p","disabled","css","clr","colors","bgHover","primaryStyles","btnType","text","bg","ghostStyles","outlineStyles","wideDefaultStyles","wide","m","max","xxs","wideAlwaysStyles","disabledStyles","StyledButton","styled","omitEmotionProps","resetButtonStyles","theme","borderRadius","buttonHeight","buttonPaddingHorizontal","sizeStyles","transitionStyles","Button","forwardRef","ref","type","danger","left","right","loading","size","children","onMouseDown","rest","useButtonColors","buttonColors","loadingColors","e","preventDefault","displayName"],"sources":["../../../src/Button/index.tsx"],"sourcesContent":["import React, { forwardRef } from 'react';\nimport styled from '@emotion/styled';\nimport {\n resetButtonStyles,\n sizeStyles,\n transitionStyles,\n WithSize,\n} from '@os-design/styles';\nimport { omitEmotionProps } from '@os-design/utils';\nimport { clr } from '@os-design/theming';\nimport { css } from '@emotion/react';\nimport { m } from '@os-design/media';\nimport useButtonColors, { ButtonColors } from './utils/useButtonColors';\nimport ButtonContent from './ButtonContent';\n\ntype JsxButtonProps = Omit<\n JSX.IntrinsicElements['button'],\n 'type' | 'color' | 'ref'\n>;\n\n// Used by Button, LinkButton\nexport interface BaseButtonProps extends WithSize {\n /**\n * Type of button styles.\n * @default primary\n */\n type?: 'primary' | 'outline' | 'ghost';\n /**\n * Sets the danger styles.\n * @default false\n */\n danger?: boolean;\n /**\n * The component located on the left side.\n * @default undefined\n */\n left?: React.ReactNode;\n /**\n * The component located on the right side.\n * @default undefined\n */\n right?: React.ReactNode;\n /**\n * Whether the button has full width.\n * Possible values:\n * `default` – the button has full width if the screen width is less than xs;\n * `always` – the button always has full width;\n * `never` – the button never has full width.\n * @default default\n */\n wide?: 'default' | 'always' | 'never';\n /**\n * Shows the loading status and disables the button.\n * @default false\n */\n loading?: boolean;\n /**\n * Whether the button is disabled.\n * @default false\n */\n disabled?: boolean;\n}\n\nexport type ButtonProps = JsxButtonProps & BaseButtonProps;\n\ninterface StyledButtonProps\n extends Pick<ButtonProps, 'wide' | 'loading' | 'disabled' | 'size'> {\n btnType: ButtonProps['type'];\n colors: ButtonColors;\n}\n\nconst hoverStyles = (p) =>\n !p.disabled &&\n css`\n @media (hover: hover) {\n &:hover,\n &:focus {\n background-color: ${clr(p.colors.bgHover)};\n }\n }\n `;\n\nconst primaryStyles = (p) =>\n p.btnType === 'primary' &&\n css`\n color: ${clr(p.colors.text)};\n background-color: ${clr(p.colors.bg)};\n ${hoverStyles(p)};\n `;\n\nconst ghostStyles = (p) =>\n p.btnType === 'ghost' &&\n css`\n color: ${clr(p.colors.text)};\n background-color: transparent;\n ${hoverStyles(p)};\n `;\n\nconst outlineStyles = (p) =>\n p.btnType === 'outline' &&\n css`\n color: ${clr(p.colors.text)};\n background-color: transparent;\n border: 1px solid currentColor;\n ${hoverStyles(p)};\n `;\n\nconst wideDefaultStyles = (p) =>\n p.wide === 'default' &&\n css`\n ${m.max.xxs} {\n width: 100%;\n }\n `;\n\nconst wideAlwaysStyles = (p) =>\n p.wide === 'always' &&\n css`\n width: 100%;\n `;\n\nconst disabledStyles = (p) =>\n p.disabled &&\n css`\n cursor: not-allowed;\n `;\n\nexport const StyledButton = styled(\n 'button',\n omitEmotionProps('btnType', 'colors', 'wide', 'loading', 'size')\n)<StyledButtonProps>`\n ${resetButtonStyles};\n position: relative; // Because LoadingContainer has an absolute position\n cursor: pointer;\n user-select: none;\n box-sizing: border-box; // Important for LinkButton\n\n // Disable multiline\n white-space: nowrap;\n overflow: hidden;\n\n border-radius: ${(p) => p.theme.borderRadius}em;\n height: ${(p) => p.theme.buttonHeight}em;\n padding: 0 ${(p) => p.theme.buttonPaddingHorizontal}em;\n\n // Do not set inline-flex, otherwise the mobile safari cuts off\n // the bottom border of the button (tested in iPhone 6)\n display: flex;\n justify-content: center;\n align-items: center;\n\n font-weight: 500;\n line-height: 1;\n\n ${primaryStyles};\n ${outlineStyles};\n ${ghostStyles};\n\n ${wideDefaultStyles};\n ${wideAlwaysStyles};\n\n ${disabledStyles};\n\n ${sizeStyles};\n ${transitionStyles('background-color', 'color')};\n`;\n\n/**\n * Used to trigger the corresponding business logic.\n */\nconst Button = forwardRef<HTMLButtonElement, ButtonProps>(\n (\n {\n type = 'primary',\n danger = false,\n left,\n right,\n wide = 'default',\n loading = false,\n disabled = false,\n size,\n children,\n onMouseDown = () => {},\n ...rest\n },\n ref\n ) => {\n const { buttonColors, loadingColors } = useButtonColors({\n type,\n danger,\n disabled,\n });\n\n return (\n <StyledButton\n btnType={type}\n colors={buttonColors}\n wide={wide}\n loading={loading}\n disabled={disabled || loading}\n size={size}\n onMouseDown={(e) => {\n onMouseDown(e);\n e.preventDefault();\n }}\n aria-busy={loading}\n {...rest}\n ref={ref}\n >\n <ButtonContent\n left={left}\n right={right}\n loading={loading}\n loadingColors={loadingColors}\n >\n {children}\n </ButtonContent>\n </StyledButton>\n );\n }\n);\n\nButton.displayName = 'Button';\n\nexport default Button;\n"],"mappings":"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"}
1
+ {"version":3,"file":"index.js","names":["hoverStyles","p","disabled","css","clr","colors","bgHover","primaryStyles","btnType","text","bg","ghostStyles","outlineStyles","wideDefaultStyles","wide","m","max","xxs","wideAlwaysStyles","disabledStyles","StyledButton","styled","omitEmotionProps","resetButtonStyles","theme","borderRadius","buttonHeight","buttonPaddingHorizontal","sizeStyles","transitionStyles","Button","forwardRef","ref","type","danger","left","right","loading","size","children","onMouseDown","rest","useButtonColors","buttonColors","loadingColors","e","preventDefault","displayName"],"sources":["../../../src/Button/index.tsx"],"sourcesContent":["import React, { forwardRef } from 'react';\nimport styled from '@emotion/styled';\nimport {\n resetButtonStyles,\n sizeStyles,\n transitionStyles,\n WithSize,\n} from '@os-design/styles';\nimport { omitEmotionProps } from '@os-design/utils';\nimport { clr } from '@os-design/theming';\nimport { css } from '@emotion/react';\nimport { m } from '@os-design/media';\nimport useButtonColors, { ButtonColors } from './utils/useButtonColors';\nimport ButtonContent from './ButtonContent';\n\ntype JsxButtonProps = Omit<\n JSX.IntrinsicElements['button'],\n 'type' | 'color' | 'ref'\n>;\n\n// Used by Button, LinkButton\nexport interface BaseButtonProps extends WithSize {\n /**\n * Type of button styles.\n * @default primary\n */\n type?: 'primary' | 'outline' | 'ghost';\n /**\n * Sets the danger styles.\n * @default false\n */\n danger?: boolean;\n /**\n * The component located on the left side.\n * @default undefined\n */\n left?: React.ReactNode;\n /**\n * The component located on the right side.\n * @default undefined\n */\n right?: React.ReactNode;\n /**\n * Whether the button has full width.\n * Possible values:\n * `default` – the button has full width if the screen width is less than xs;\n * `always` – the button always has full width;\n * `never` – the button never has full width.\n * @default default\n */\n wide?: 'default' | 'always' | 'never';\n /**\n * Shows the loading status and disables the button.\n * @default false\n */\n loading?: boolean;\n /**\n * Whether the button is disabled.\n * @default false\n */\n disabled?: boolean;\n}\n\nexport type ButtonProps = JsxButtonProps & BaseButtonProps;\n\ninterface StyledButtonProps\n extends Pick<ButtonProps, 'wide' | 'loading' | 'disabled' | 'size'> {\n btnType: ButtonProps['type'];\n colors: ButtonColors;\n}\n\nconst hoverStyles = (p) =>\n !p.disabled &&\n css`\n @media (hover: hover) {\n &:hover,\n &:focus {\n background-color: ${clr(p.colors.bgHover)};\n }\n }\n `;\n\nconst primaryStyles = (p) =>\n p.btnType === 'primary' &&\n css`\n color: ${clr(p.colors.text)};\n background-color: ${clr(p.colors.bg)};\n ${hoverStyles(p)};\n `;\n\nconst ghostStyles = (p) =>\n p.btnType === 'ghost' &&\n css`\n color: ${clr(p.colors.text)};\n background-color: transparent;\n ${hoverStyles(p)};\n `;\n\nconst outlineStyles = (p) =>\n p.btnType === 'outline' &&\n css`\n color: ${clr(p.colors.text)};\n background-color: transparent;\n border: 1px solid currentColor;\n ${hoverStyles(p)};\n `;\n\nconst wideDefaultStyles = (p) =>\n p.wide === 'default' &&\n css`\n ${m.max.xxs} {\n width: 100%;\n }\n `;\n\nconst wideAlwaysStyles = (p) =>\n p.wide === 'always' &&\n css`\n width: 100%;\n `;\n\nconst disabledStyles = (p) =>\n p.disabled &&\n css`\n cursor: not-allowed;\n `;\n\nexport const StyledButton = styled(\n 'button',\n omitEmotionProps('btnType', 'colors', 'wide', 'loading', 'size')\n)<StyledButtonProps>`\n ${resetButtonStyles};\n position: relative; // Because LoadingContainer has an absolute position\n cursor: pointer;\n user-select: none;\n box-sizing: border-box; // Important for LinkButton\n\n // Disable multiline\n white-space: nowrap;\n overflow: hidden;\n\n border-radius: ${(p) => p.theme.borderRadius}em;\n height: ${(p) => p.theme.buttonHeight}em;\n padding: 0 ${(p) => p.theme.buttonPaddingHorizontal}em;\n\n // Do not set inline-flex, otherwise the mobile safari cuts off\n // the bottom border of the button (tested in iPhone 6)\n display: flex;\n justify-content: center;\n align-items: center;\n\n font-weight: 500;\n line-height: 1;\n\n ${primaryStyles};\n ${outlineStyles};\n ${ghostStyles};\n\n ${wideDefaultStyles};\n ${wideAlwaysStyles};\n\n ${disabledStyles};\n\n ${sizeStyles};\n ${transitionStyles('background-color', 'color')};\n`;\n\n/**\n * Used to trigger the corresponding business logic.\n */\nconst Button = forwardRef<HTMLButtonElement, ButtonProps>(\n (\n {\n type = 'primary',\n danger = false,\n left,\n right,\n wide = 'default',\n loading = false,\n disabled = false,\n size,\n children,\n onMouseDown = () => {},\n ...rest\n },\n ref\n ) => {\n const { buttonColors, loadingColors } = useButtonColors({\n type,\n danger,\n disabled,\n });\n\n return (\n <StyledButton\n btnType={type}\n colors={buttonColors}\n wide={wide}\n loading={loading}\n disabled={disabled || loading}\n size={size}\n onMouseDown={(e) => {\n onMouseDown(e);\n e.preventDefault();\n }}\n aria-busy={loading}\n {...rest}\n ref={ref}\n >\n <ButtonContent\n left={left}\n right={right}\n loading={loading}\n loadingColors={loadingColors}\n >\n {children}\n </ButtonContent>\n </StyledButton>\n );\n }\n);\n\nButton.displayName = 'Button';\n\nexport default Button;\n"],"mappings":"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"}
@@ -4,20 +4,15 @@ Object.defineProperty(exports, "__esModule", {
4
4
  value: true
5
5
  });
6
6
  exports["default"] = void 0;
7
-
8
7
  var _react = require("react");
9
-
10
8
  var _theming = require("@os-design/theming");
11
-
12
9
  // Used by Button, LinkButton
13
10
  var useButtonColors = function useButtonColors(_ref) {
14
11
  var type = _ref.type,
15
- danger = _ref.danger,
16
- disabled = _ref.disabled;
17
-
12
+ danger = _ref.danger,
13
+ disabled = _ref.disabled;
18
14
  var _useTheme = (0, _theming.useTheme)(),
19
- theme = _useTheme.theme;
20
-
15
+ theme = _useTheme.theme;
21
16
  var prefix = (0, _react.useMemo)(function () {
22
17
  if (danger) return 'Danger';
23
18
  return '';
@@ -33,7 +28,6 @@ var useButtonColors = function useButtonColors(_ref) {
33
28
  bg: theme.buttonDisabledPrimaryColorBg
34
29
  };
35
30
  }
36
-
37
31
  return !disabled ? {
38
32
  text: theme["button".concat(prefix, "GhostColorText")],
39
33
  bgHover: theme["button".concat(prefix, "GhostColorBgHover")]
@@ -48,14 +42,12 @@ var useButtonColors = function useButtonColors(_ref) {
48
42
  bg: theme.buttonDisabledPrimaryColorBg
49
43
  };
50
44
  }
51
-
52
45
  if (type === 'primary') {
53
46
  return {
54
47
  text: theme["button".concat(prefix, "PrimaryColorLoadingText")],
55
48
  bg: theme["button".concat(prefix, "PrimaryColorLoadingBg")]
56
49
  };
57
50
  }
58
-
59
51
  return {
60
52
  text: theme["button".concat(prefix, "GhostColorLoadingText")],
61
53
  bg: theme["button".concat(prefix, "GhostColorLoadingBg")]
@@ -66,7 +58,6 @@ var useButtonColors = function useButtonColors(_ref) {
66
58
  loadingColors: loadingColors
67
59
  };
68
60
  };
69
-
70
61
  var _default = useButtonColors;
71
62
  exports["default"] = _default;
72
63
  //# sourceMappingURL=useButtonColors.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"useButtonColors.js","names":["useButtonColors","type","danger","disabled","useTheme","theme","prefix","useMemo","buttonColors","text","bg","bgHover","buttonDisabledPrimaryColorText","buttonDisabledPrimaryColorBg","buttonDisabledGhostColorText","loadingColors"],"sources":["../../../../src/Button/utils/useButtonColors.ts"],"sourcesContent":["import { useMemo } from 'react';\nimport { Color, useTheme } from '@os-design/theming';\n\ninterface Props {\n type: 'primary' | 'outline' | 'ghost';\n danger: boolean;\n disabled: boolean;\n}\n\nexport interface ButtonColors {\n text: Color;\n bg?: Color;\n bgHover?: Color;\n}\n\nexport interface LoadingColors {\n text: Color;\n bg: Color;\n}\n\ninterface UseButtonColorsRes {\n buttonColors: ButtonColors;\n loadingColors: LoadingColors;\n}\n\n// Used by Button, LinkButton\nconst useButtonColors = ({\n type,\n danger,\n disabled,\n}: Props): UseButtonColorsRes => {\n const { theme } = useTheme();\n\n const prefix = useMemo<string>(() => {\n if (danger) return 'Danger';\n return '';\n }, [danger]);\n\n const buttonColors = useMemo<ButtonColors>(() => {\n if (type === 'primary') {\n return !disabled\n ? {\n text: theme[`button${prefix}PrimaryColorText`],\n bg: theme[`button${prefix}PrimaryColorBg`],\n bgHover: theme[`button${prefix}PrimaryColorBgHover`],\n }\n : {\n text: theme.buttonDisabledPrimaryColorText,\n bg: theme.buttonDisabledPrimaryColorBg,\n };\n }\n return !disabled\n ? {\n text: theme[`button${prefix}GhostColorText`],\n bgHover: theme[`button${prefix}GhostColorBgHover`],\n }\n : {\n text: theme.buttonDisabledGhostColorText,\n };\n }, [type, disabled, theme, prefix]);\n\n const loadingColors = useMemo<LoadingColors>(() => {\n if (disabled) {\n return {\n text: theme.buttonDisabledPrimaryColorText,\n bg: theme.buttonDisabledPrimaryColorBg,\n };\n }\n if (type === 'primary') {\n return {\n text: theme[`button${prefix}PrimaryColorLoadingText`],\n bg: theme[`button${prefix}PrimaryColorLoadingBg`],\n };\n }\n return {\n text: theme[`button${prefix}GhostColorLoadingText`],\n bg: theme[`button${prefix}GhostColorLoadingBg`],\n };\n }, [disabled, type, theme, prefix]);\n\n return { buttonColors, loadingColors };\n};\n\nexport default useButtonColors;\n"],"mappings":";;;;;;;AAAA;;AACA;;AAwBA;AACA,IAAMA,eAAe,GAAG,SAAlBA,eAAkB,OAIS;EAAA,IAH/BC,IAG+B,QAH/BA,IAG+B;EAAA,IAF/BC,MAE+B,QAF/BA,MAE+B;EAAA,IAD/BC,QAC+B,QAD/BA,QAC+B;;EAC/B,gBAAkB,IAAAC,iBAAA,GAAlB;EAAA,IAAQC,KAAR,aAAQA,KAAR;;EAEA,IAAMC,MAAM,GAAG,IAAAC,cAAA,EAAgB,YAAM;IACnC,IAAIL,MAAJ,EAAY,OAAO,QAAP;IACZ,OAAO,EAAP;EACD,CAHc,EAGZ,CAACA,MAAD,CAHY,CAAf;EAKA,IAAMM,YAAY,GAAG,IAAAD,cAAA,EAAsB,YAAM;IAC/C,IAAIN,IAAI,KAAK,SAAb,EAAwB;MACtB,OAAO,CAACE,QAAD,GACH;QACEM,IAAI,EAAEJ,KAAK,iBAAUC,MAAV,sBADb;QAEEI,EAAE,EAAEL,KAAK,iBAAUC,MAAV,oBAFX;QAGEK,OAAO,EAAEN,KAAK,iBAAUC,MAAV;MAHhB,CADG,GAMH;QACEG,IAAI,EAAEJ,KAAK,CAACO,8BADd;QAEEF,EAAE,EAAEL,KAAK,CAACQ;MAFZ,CANJ;IAUD;;IACD,OAAO,CAACV,QAAD,GACH;MACEM,IAAI,EAAEJ,KAAK,iBAAUC,MAAV,oBADb;MAEEK,OAAO,EAAEN,KAAK,iBAAUC,MAAV;IAFhB,CADG,GAKH;MACEG,IAAI,EAAEJ,KAAK,CAACS;IADd,CALJ;EAQD,CArBoB,EAqBlB,CAACb,IAAD,EAAOE,QAAP,EAAiBE,KAAjB,EAAwBC,MAAxB,CArBkB,CAArB;EAuBA,IAAMS,aAAa,GAAG,IAAAR,cAAA,EAAuB,YAAM;IACjD,IAAIJ,QAAJ,EAAc;MACZ,OAAO;QACLM,IAAI,EAAEJ,KAAK,CAACO,8BADP;QAELF,EAAE,EAAEL,KAAK,CAACQ;MAFL,CAAP;IAID;;IACD,IAAIZ,IAAI,KAAK,SAAb,EAAwB;MACtB,OAAO;QACLQ,IAAI,EAAEJ,KAAK,iBAAUC,MAAV,6BADN;QAELI,EAAE,EAAEL,KAAK,iBAAUC,MAAV;MAFJ,CAAP;IAID;;IACD,OAAO;MACLG,IAAI,EAAEJ,KAAK,iBAAUC,MAAV,2BADN;MAELI,EAAE,EAAEL,KAAK,iBAAUC,MAAV;IAFJ,CAAP;EAID,CAjBqB,EAiBnB,CAACH,QAAD,EAAWF,IAAX,EAAiBI,KAAjB,EAAwBC,MAAxB,CAjBmB,CAAtB;EAmBA,OAAO;IAAEE,YAAY,EAAZA,YAAF;IAAgBO,aAAa,EAAbA;EAAhB,CAAP;AACD,CAvDD;;eAyDef,e"}
1
+ {"version":3,"file":"useButtonColors.js","names":["useButtonColors","type","danger","disabled","useTheme","theme","prefix","useMemo","buttonColors","text","bg","bgHover","buttonDisabledPrimaryColorText","buttonDisabledPrimaryColorBg","buttonDisabledGhostColorText","loadingColors"],"sources":["../../../../src/Button/utils/useButtonColors.ts"],"sourcesContent":["import { useMemo } from 'react';\nimport { Color, useTheme } from '@os-design/theming';\n\ninterface Props {\n type: 'primary' | 'outline' | 'ghost';\n danger: boolean;\n disabled: boolean;\n}\n\nexport interface ButtonColors {\n text: Color;\n bg?: Color;\n bgHover?: Color;\n}\n\nexport interface LoadingColors {\n text: Color;\n bg: Color;\n}\n\ninterface UseButtonColorsRes {\n buttonColors: ButtonColors;\n loadingColors: LoadingColors;\n}\n\n// Used by Button, LinkButton\nconst useButtonColors = ({\n type,\n danger,\n disabled,\n}: Props): UseButtonColorsRes => {\n const { theme } = useTheme();\n\n const prefix = useMemo<string>(() => {\n if (danger) return 'Danger';\n return '';\n }, [danger]);\n\n const buttonColors = useMemo<ButtonColors>(() => {\n if (type === 'primary') {\n return !disabled\n ? {\n text: theme[`button${prefix}PrimaryColorText`],\n bg: theme[`button${prefix}PrimaryColorBg`],\n bgHover: theme[`button${prefix}PrimaryColorBgHover`],\n }\n : {\n text: theme.buttonDisabledPrimaryColorText,\n bg: theme.buttonDisabledPrimaryColorBg,\n };\n }\n return !disabled\n ? {\n text: theme[`button${prefix}GhostColorText`],\n bgHover: theme[`button${prefix}GhostColorBgHover`],\n }\n : {\n text: theme.buttonDisabledGhostColorText,\n };\n }, [type, disabled, theme, prefix]);\n\n const loadingColors = useMemo<LoadingColors>(() => {\n if (disabled) {\n return {\n text: theme.buttonDisabledPrimaryColorText,\n bg: theme.buttonDisabledPrimaryColorBg,\n };\n }\n if (type === 'primary') {\n return {\n text: theme[`button${prefix}PrimaryColorLoadingText`],\n bg: theme[`button${prefix}PrimaryColorLoadingBg`],\n };\n }\n return {\n text: theme[`button${prefix}GhostColorLoadingText`],\n bg: theme[`button${prefix}GhostColorLoadingBg`],\n };\n }, [disabled, type, theme, prefix]);\n\n return { buttonColors, loadingColors };\n};\n\nexport default useButtonColors;\n"],"mappings":";;;;;;AAAA;AACA;AAwBA;AACA,IAAMA,eAAe,GAAG,SAAlBA,eAAe,OAIY;EAAA,IAH/BC,IAAI,QAAJA,IAAI;IACJC,MAAM,QAANA,MAAM;IACNC,QAAQ,QAARA,QAAQ;EAER,gBAAkB,IAAAC,iBAAQ,GAAE;IAApBC,KAAK,aAALA,KAAK;EAEb,IAAMC,MAAM,GAAG,IAAAC,cAAO,EAAS,YAAM;IACnC,IAAIL,MAAM,EAAE,OAAO,QAAQ;IAC3B,OAAO,EAAE;EACX,CAAC,EAAE,CAACA,MAAM,CAAC,CAAC;EAEZ,IAAMM,YAAY,GAAG,IAAAD,cAAO,EAAe,YAAM;IAC/C,IAAIN,IAAI,KAAK,SAAS,EAAE;MACtB,OAAO,CAACE,QAAQ,GACZ;QACEM,IAAI,EAAEJ,KAAK,iBAAUC,MAAM,sBAAmB;QAC9CI,EAAE,EAAEL,KAAK,iBAAUC,MAAM,oBAAiB;QAC1CK,OAAO,EAAEN,KAAK,iBAAUC,MAAM;MAChC,CAAC,GACD;QACEG,IAAI,EAAEJ,KAAK,CAACO,8BAA8B;QAC1CF,EAAE,EAAEL,KAAK,CAACQ;MACZ,CAAC;IACP;IACA,OAAO,CAACV,QAAQ,GACZ;MACEM,IAAI,EAAEJ,KAAK,iBAAUC,MAAM,oBAAiB;MAC5CK,OAAO,EAAEN,KAAK,iBAAUC,MAAM;IAChC,CAAC,GACD;MACEG,IAAI,EAAEJ,KAAK,CAACS;IACd,CAAC;EACP,CAAC,EAAE,CAACb,IAAI,EAAEE,QAAQ,EAAEE,KAAK,EAAEC,MAAM,CAAC,CAAC;EAEnC,IAAMS,aAAa,GAAG,IAAAR,cAAO,EAAgB,YAAM;IACjD,IAAIJ,QAAQ,EAAE;MACZ,OAAO;QACLM,IAAI,EAAEJ,KAAK,CAACO,8BAA8B;QAC1CF,EAAE,EAAEL,KAAK,CAACQ;MACZ,CAAC;IACH;IACA,IAAIZ,IAAI,KAAK,SAAS,EAAE;MACtB,OAAO;QACLQ,IAAI,EAAEJ,KAAK,iBAAUC,MAAM,6BAA0B;QACrDI,EAAE,EAAEL,KAAK,iBAAUC,MAAM;MAC3B,CAAC;IACH;IACA,OAAO;MACLG,IAAI,EAAEJ,KAAK,iBAAUC,MAAM,2BAAwB;MACnDI,EAAE,EAAEL,KAAK,iBAAUC,MAAM;IAC3B,CAAC;EACH,CAAC,EAAE,CAACH,QAAQ,EAAEF,IAAI,EAAEI,KAAK,EAAEC,MAAM,CAAC,CAAC;EAEnC,OAAO;IAAEE,YAAY,EAAZA,YAAY;IAAEO,aAAa,EAAbA;EAAc,CAAC;AACxC,CAAC;AAAC,eAEaf,eAAe;AAAA"}