@os-design/core 1.0.156 → 1.0.157

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 +119 -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 +90 -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 +10 -0
  382. package/dist/types/TimePicker/index.d.ts.map +1 -0
  383. package/package.json +3 -2
@@ -1,5 +1,4 @@
1
1
  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); }
2
-
3
2
  import React, { forwardRef, useMemo } from 'react';
4
3
  import styled from '@emotion/styled';
5
4
  import { enableScrollingStyles, sizeStyles } from '@os-design/styles';
@@ -18,12 +17,12 @@ const Container = styled('ol', omitEmotionProps('size'))`
18
17
  ${sizeStyles};
19
18
  `;
20
19
  let childIndex = 0;
20
+
21
21
  /**
22
22
  * Displays the current location within the hierarchical structure.
23
23
  * Implements the Schema.org markup for breadcrumbs.
24
24
  * See https://schema.org/BreadcrumbList
25
25
  */
26
-
27
26
  const Breadcrumb = /*#__PURE__*/forwardRef(({
28
27
  'aria-label': ariaLabel = 'Breadcrumb',
29
28
  children,
@@ -40,16 +39,15 @@ const Breadcrumb = /*#__PURE__*/forwardRef(({
40
39
  position: index + 1,
41
40
  hasRightArrow: index < childrenArray.length - 1
42
41
  };
43
-
44
42
  if (child.type === BreadcrumbItem) {
45
43
  element = /*#__PURE__*/React.cloneElement(child, breadcrumbItemProps);
46
44
  } else if ( /*#__PURE__*/React.isValidElement(child.props.children) && child.props.children.type === BreadcrumbItem) {
47
45
  const breadcrumbItem = /*#__PURE__*/React.cloneElement(child.props.children, breadcrumbItemProps);
48
- element = /*#__PURE__*/React.cloneElement(child, { ...(child.props || {}),
46
+ element = /*#__PURE__*/React.cloneElement(child, {
47
+ ...(child.props || {}),
49
48
  key: childIndex
50
49
  }, breadcrumbItem);
51
50
  }
52
-
53
51
  if (!element) return;
54
52
  items.push(element);
55
53
  childIndex += 1;
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","names":["React","forwardRef","useMemo","styled","enableScrollingStyles","sizeStyles","omitEmotionProps","clr","BreadcrumbItem","Container","p","theme","colorText","childIndex","Breadcrumb","ariaLabel","children","rest","ref","breadcrumbItems","items","childrenArray","Children","toArray","forEach","child","index","isValidElement","element","breadcrumbItemProps","key","position","hasRightArrow","length","type","cloneElement","props","breadcrumbItem","push","displayName"],"sources":["../../../src/Breadcrumb/index.tsx"],"sourcesContent":["import React, { forwardRef, ReactElement, useMemo } from 'react';\nimport styled from '@emotion/styled';\nimport { enableScrollingStyles, sizeStyles, WithSize } from '@os-design/styles';\nimport { omitEmotionProps } from '@os-design/utils';\nimport { clr } from '@os-design/theming';\nimport BreadcrumbItem from '../BreadcrumbItem';\n\ntype JsxOlProps = Omit<JSX.IntrinsicElements['ol'], 'ref'>;\nexport interface BreadcrumbProps extends JsxOlProps, WithSize {\n 'aria-label'?: string;\n}\n\nconst Container = styled('ol', omitEmotionProps('size'))<WithSize>`\n list-style: none;\n margin: 0;\n padding: 0;\n display: flex;\n align-items: center;\n color: ${(p) => clr(p.theme.colorText)};\n\n ${enableScrollingStyles('x', false)};\n ${sizeStyles};\n`;\n\nlet childIndex = 0;\n\n/**\n * Displays the current location within the hierarchical structure.\n * Implements the Schema.org markup for breadcrumbs.\n * See https://schema.org/BreadcrumbList\n */\nconst Breadcrumb = forwardRef<HTMLOListElement, BreadcrumbProps>(\n ({ 'aria-label': ariaLabel = 'Breadcrumb', children, ...rest }, ref) => {\n const breadcrumbItems = useMemo(() => {\n const items: ReactElement[] = [];\n const childrenArray = React.Children.toArray(children);\n childrenArray.forEach((child, index) => {\n if (!React.isValidElement(child)) return;\n\n let element;\n const breadcrumbItemProps = {\n key: childIndex,\n position: index + 1,\n hasRightArrow: index < childrenArray.length - 1,\n };\n\n if (child.type === BreadcrumbItem) {\n element = React.cloneElement(child, breadcrumbItemProps);\n } else if (\n React.isValidElement(child.props.children) &&\n child.props.children.type === BreadcrumbItem\n ) {\n const breadcrumbItem = React.cloneElement(\n child.props.children,\n breadcrumbItemProps\n );\n element = React.cloneElement(\n child,\n {\n ...(child.props || {}),\n key: childIndex,\n },\n breadcrumbItem\n );\n }\n if (!element) return;\n\n items.push(element);\n childIndex += 1;\n });\n return items;\n }, [children]);\n\n if (breadcrumbItems.length === 0) return null;\n\n return (\n <nav aria-label={ariaLabel}>\n <Container\n itemScope\n itemType='https://schema.org/BreadcrumbList'\n {...rest}\n ref={ref}\n >\n {breadcrumbItems}\n </Container>\n </nav>\n );\n }\n);\n\nBreadcrumb.displayName = 'Breadcrumb';\n\nexport default Breadcrumb;\n"],"mappings":";;AAAA,OAAOA,KAAP,IAAgBC,UAAhB,EAA0CC,OAA1C,QAAyD,OAAzD;AACA,OAAOC,MAAP,MAAmB,iBAAnB;AACA,SAASC,qBAAT,EAAgCC,UAAhC,QAA4D,mBAA5D;AACA,SAASC,gBAAT,QAAiC,kBAAjC;AACA,SAASC,GAAT,QAAoB,oBAApB;AACA,OAAOC,cAAP,MAA2B,mBAA3B;AAOA,MAAMC,SAAS,GAAGN,MAAM,CAAC,IAAD,EAAOG,gBAAgB,CAAC,MAAD,CAAvB,CAA2C;AACnE;AACA;AACA;AACA;AACA;AACA,WAAYI,CAAD,IAAOH,GAAG,CAACG,CAAC,CAACC,KAAF,CAAQC,SAAT,CAAoB;AACzC;AACA,IAAIR,qBAAqB,CAAC,GAAD,EAAM,KAAN,CAAa;AACtC,IAAIC,UAAW;AACf,CAVA;AAYA,IAAIQ,UAAU,GAAG,CAAjB;AAEA;AACA;AACA;AACA;AACA;;AACA,MAAMC,UAAU,gBAAGb,UAAU,CAC3B,CAAC;EAAE,cAAcc,SAAS,GAAG,YAA5B;EAA0CC,QAA1C;EAAoD,GAAGC;AAAvD,CAAD,EAAgEC,GAAhE,KAAwE;EACtE,MAAMC,eAAe,GAAGjB,OAAO,CAAC,MAAM;IACpC,MAAMkB,KAAqB,GAAG,EAA9B;IACA,MAAMC,aAAa,GAAGrB,KAAK,CAACsB,QAAN,CAAeC,OAAf,CAAuBP,QAAvB,CAAtB;IACAK,aAAa,CAACG,OAAd,CAAsB,CAACC,KAAD,EAAQC,KAAR,KAAkB;MACtC,IAAI,eAAC1B,KAAK,CAAC2B,cAAN,CAAqBF,KAArB,CAAL,EAAkC;MAElC,IAAIG,OAAJ;MACA,MAAMC,mBAAmB,GAAG;QAC1BC,GAAG,EAAEjB,UADqB;QAE1BkB,QAAQ,EAAEL,KAAK,GAAG,CAFQ;QAG1BM,aAAa,EAAEN,KAAK,GAAGL,aAAa,CAACY,MAAd,GAAuB;MAHpB,CAA5B;;MAMA,IAAIR,KAAK,CAACS,IAAN,KAAe1B,cAAnB,EAAmC;QACjCoB,OAAO,gBAAG5B,KAAK,CAACmC,YAAN,CAAmBV,KAAnB,EAA0BI,mBAA1B,CAAV;MACD,CAFD,MAEO,IACL,cAAA7B,KAAK,CAAC2B,cAAN,CAAqBF,KAAK,CAACW,KAAN,CAAYpB,QAAjC,KACAS,KAAK,CAACW,KAAN,CAAYpB,QAAZ,CAAqBkB,IAArB,KAA8B1B,cAFzB,EAGL;QACA,MAAM6B,cAAc,gBAAGrC,KAAK,CAACmC,YAAN,CACrBV,KAAK,CAACW,KAAN,CAAYpB,QADS,EAErBa,mBAFqB,CAAvB;QAIAD,OAAO,gBAAG5B,KAAK,CAACmC,YAAN,CACRV,KADQ,EAER,EACE,IAAIA,KAAK,CAACW,KAAN,IAAe,EAAnB,CADF;UAEEN,GAAG,EAAEjB;QAFP,CAFQ,EAMRwB,cANQ,CAAV;MAQD;;MACD,IAAI,CAACT,OAAL,EAAc;MAEdR,KAAK,CAACkB,IAAN,CAAWV,OAAX;MACAf,UAAU,IAAI,CAAd;IACD,CAjCD;IAkCA,OAAOO,KAAP;EACD,CAtC8B,EAsC5B,CAACJ,QAAD,CAtC4B,CAA/B;EAwCA,IAAIG,eAAe,CAACc,MAAhB,KAA2B,CAA/B,EAAkC,OAAO,IAAP;EAElC,oBACE;IAAK,cAAYlB;EAAjB,gBACE,oBAAC,SAAD;IACE,SAAS,MADX;IAEE,QAAQ,EAAC;EAFX,GAGME,IAHN;IAIE,GAAG,EAAEC;EAJP,IAMGC,eANH,CADF,CADF;AAYD,CAxD0B,CAA7B;AA2DAL,UAAU,CAACyB,WAAX,GAAyB,YAAzB;AAEA,eAAezB,UAAf"}
1
+ {"version":3,"file":"index.js","names":["React","forwardRef","useMemo","styled","enableScrollingStyles","sizeStyles","omitEmotionProps","clr","BreadcrumbItem","Container","p","theme","colorText","childIndex","Breadcrumb","ariaLabel","children","rest","ref","breadcrumbItems","items","childrenArray","Children","toArray","forEach","child","index","isValidElement","element","breadcrumbItemProps","key","position","hasRightArrow","length","type","cloneElement","props","breadcrumbItem","push","displayName"],"sources":["../../../src/Breadcrumb/index.tsx"],"sourcesContent":["import React, { forwardRef, ReactElement, useMemo } from 'react';\nimport styled from '@emotion/styled';\nimport { enableScrollingStyles, sizeStyles, WithSize } from '@os-design/styles';\nimport { omitEmotionProps } from '@os-design/utils';\nimport { clr } from '@os-design/theming';\nimport BreadcrumbItem from '../BreadcrumbItem';\n\ntype JsxOlProps = Omit<JSX.IntrinsicElements['ol'], 'ref'>;\nexport interface BreadcrumbProps extends JsxOlProps, WithSize {\n 'aria-label'?: string;\n}\n\nconst Container = styled('ol', omitEmotionProps('size'))<WithSize>`\n list-style: none;\n margin: 0;\n padding: 0;\n display: flex;\n align-items: center;\n color: ${(p) => clr(p.theme.colorText)};\n\n ${enableScrollingStyles('x', false)};\n ${sizeStyles};\n`;\n\nlet childIndex = 0;\n\n/**\n * Displays the current location within the hierarchical structure.\n * Implements the Schema.org markup for breadcrumbs.\n * See https://schema.org/BreadcrumbList\n */\nconst Breadcrumb = forwardRef<HTMLOListElement, BreadcrumbProps>(\n ({ 'aria-label': ariaLabel = 'Breadcrumb', children, ...rest }, ref) => {\n const breadcrumbItems = useMemo(() => {\n const items: ReactElement[] = [];\n const childrenArray = React.Children.toArray(children);\n childrenArray.forEach((child, index) => {\n if (!React.isValidElement(child)) return;\n\n let element;\n const breadcrumbItemProps = {\n key: childIndex,\n position: index + 1,\n hasRightArrow: index < childrenArray.length - 1,\n };\n\n if (child.type === BreadcrumbItem) {\n element = React.cloneElement(child, breadcrumbItemProps);\n } else if (\n React.isValidElement(child.props.children) &&\n child.props.children.type === BreadcrumbItem\n ) {\n const breadcrumbItem = React.cloneElement(\n child.props.children,\n breadcrumbItemProps\n );\n element = React.cloneElement(\n child,\n {\n ...(child.props || {}),\n key: childIndex,\n },\n breadcrumbItem\n );\n }\n if (!element) return;\n\n items.push(element);\n childIndex += 1;\n });\n return items;\n }, [children]);\n\n if (breadcrumbItems.length === 0) return null;\n\n return (\n <nav aria-label={ariaLabel}>\n <Container\n itemScope\n itemType='https://schema.org/BreadcrumbList'\n {...rest}\n ref={ref}\n >\n {breadcrumbItems}\n </Container>\n </nav>\n );\n }\n);\n\nBreadcrumb.displayName = 'Breadcrumb';\n\nexport default Breadcrumb;\n"],"mappings":";AAAA,OAAOA,KAAK,IAAIC,UAAU,EAAgBC,OAAO,QAAQ,OAAO;AAChE,OAAOC,MAAM,MAAM,iBAAiB;AACpC,SAASC,qBAAqB,EAAEC,UAAU,QAAkB,mBAAmB;AAC/E,SAASC,gBAAgB,QAAQ,kBAAkB;AACnD,SAASC,GAAG,QAAQ,oBAAoB;AACxC,OAAOC,cAAc,MAAM,mBAAmB;AAO9C,MAAMC,SAAS,GAAGN,MAAM,CAAC,IAAI,EAAEG,gBAAgB,CAAC,MAAM,CAAC,CAAY;AACnE;AACA;AACA;AACA;AACA;AACA,WAAYI,CAAC,IAAKH,GAAG,CAACG,CAAC,CAACC,KAAK,CAACC,SAAS,CAAE;AACzC;AACA,IAAIR,qBAAqB,CAAC,GAAG,EAAE,KAAK,CAAE;AACtC,IAAIC,UAAW;AACf,CAAC;AAED,IAAIQ,UAAU,GAAG,CAAC;;AAElB;AACA;AACA;AACA;AACA;AACA,MAAMC,UAAU,gBAAGb,UAAU,CAC3B,CAAC;EAAE,YAAY,EAAEc,SAAS,GAAG,YAAY;EAAEC,QAAQ;EAAE,GAAGC;AAAK,CAAC,EAAEC,GAAG,KAAK;EACtE,MAAMC,eAAe,GAAGjB,OAAO,CAAC,MAAM;IACpC,MAAMkB,KAAqB,GAAG,EAAE;IAChC,MAAMC,aAAa,GAAGrB,KAAK,CAACsB,QAAQ,CAACC,OAAO,CAACP,QAAQ,CAAC;IACtDK,aAAa,CAACG,OAAO,CAAC,CAACC,KAAK,EAAEC,KAAK,KAAK;MACtC,IAAI,eAAC1B,KAAK,CAAC2B,cAAc,CAACF,KAAK,CAAC,EAAE;MAElC,IAAIG,OAAO;MACX,MAAMC,mBAAmB,GAAG;QAC1BC,GAAG,EAAEjB,UAAU;QACfkB,QAAQ,EAAEL,KAAK,GAAG,CAAC;QACnBM,aAAa,EAAEN,KAAK,GAAGL,aAAa,CAACY,MAAM,GAAG;MAChD,CAAC;MAED,IAAIR,KAAK,CAACS,IAAI,KAAK1B,cAAc,EAAE;QACjCoB,OAAO,gBAAG5B,KAAK,CAACmC,YAAY,CAACV,KAAK,EAAEI,mBAAmB,CAAC;MAC1D,CAAC,MAAM,IACL,cAAA7B,KAAK,CAAC2B,cAAc,CAACF,KAAK,CAACW,KAAK,CAACpB,QAAQ,CAAC,IAC1CS,KAAK,CAACW,KAAK,CAACpB,QAAQ,CAACkB,IAAI,KAAK1B,cAAc,EAC5C;QACA,MAAM6B,cAAc,gBAAGrC,KAAK,CAACmC,YAAY,CACvCV,KAAK,CAACW,KAAK,CAACpB,QAAQ,EACpBa,mBAAmB,CACpB;QACDD,OAAO,gBAAG5B,KAAK,CAACmC,YAAY,CAC1BV,KAAK,EACL;UACE,IAAIA,KAAK,CAACW,KAAK,IAAI,CAAC,CAAC,CAAC;UACtBN,GAAG,EAAEjB;QACP,CAAC,EACDwB,cAAc,CACf;MACH;MACA,IAAI,CAACT,OAAO,EAAE;MAEdR,KAAK,CAACkB,IAAI,CAACV,OAAO,CAAC;MACnBf,UAAU,IAAI,CAAC;IACjB,CAAC,CAAC;IACF,OAAOO,KAAK;EACd,CAAC,EAAE,CAACJ,QAAQ,CAAC,CAAC;EAEd,IAAIG,eAAe,CAACc,MAAM,KAAK,CAAC,EAAE,OAAO,IAAI;EAE7C,oBACE;IAAK,cAAYlB;EAAU,gBACzB,oBAAC,SAAS;IACR,SAAS;IACT,QAAQ,EAAC;EAAmC,GACxCE,IAAI;IACR,GAAG,EAAEC;EAAI,IAERC,eAAe,CACN,CACR;AAEV,CAAC,CACF;AAEDL,UAAU,CAACyB,WAAW,GAAG,YAAY;AAErC,eAAezB,UAAU"}
@@ -1,5 +1,4 @@
1
1
  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); }
2
-
3
2
  import React, { forwardRef } from 'react';
4
3
  import styled from '@emotion/styled';
5
4
  import { ellipsisStyles } from '@os-design/styles';
@@ -19,10 +18,10 @@ const RightIcon = styled(Right)`
19
18
  font-size: 0.6em;
20
19
  opacity: 0.8;
21
20
  `;
21
+
22
22
  /**
23
23
  * The item of the breadcrumb.
24
24
  */
25
-
26
25
  const BreadcrumbItem = /*#__PURE__*/forwardRef(({
27
26
  currentPage = false,
28
27
  hasRightArrow = false,
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","names":["React","forwardRef","styled","ellipsisStyles","Right","clr","Link","Container","li","Name","span","RightIcon","p","theme","colorText","BreadcrumbItem","currentPage","hasRightArrow","position","href","children","rest","ref","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,OAAOA,KAAP,IAAgBC,UAAhB,QAAkC,OAAlC;AACA,OAAOC,MAAP,MAAmB,iBAAnB;AACA,SAASC,cAAT,QAA+B,mBAA/B;AACA,SAASC,KAAT,QAAsB,kBAAtB;AACA,SAASC,GAAT,QAAoB,oBAApB;AACA,OAAOC,IAAP,MAAgC,SAAhC;AAoBA,MAAMC,SAAS,GAAGL,MAAM,CAACM,EAAG;AAC5B;AACA,CAFA;AAIA,MAAMC,IAAI,GAAGP,MAAM,CAACQ,IAAK;AACzB;AACA,IAAIP,cAAe;AACnB,CAHA;AAKA,MAAMQ,SAAS,GAAGT,MAAM,CAACE,KAAD,CAAQ;AAChC,WAAYQ,CAAD,IAAOP,GAAG,CAACO,CAAC,CAACC,KAAF,CAAQC,SAAT,CAAoB;AACzC;AACA;AACA;AACA,CALA;AAOA;AACA;AACA;;AACA,MAAMC,cAAc,gBAAGd,UAAU,CAC/B,CACE;EACEe,WAAW,GAAG,KADhB;EAEEC,aAAa,GAAG,KAFlB;EAGEC,QAHF;EAIEC,IAJF;EAKEC,QALF;EAME,GAAGC;AANL,CADF,EASEC,GATF,kBAWE,oBAAC,SAAD,qBACE,oBAAC,IAAD;EACE,QAAQ,EAAC,iBADX;EAEE,SAAS,MAFX;EAGE,QAAQ,EAAC,6BAHX;EAIE,IAAI,EAAEH;AAJR,GAKOH,WAAW,GACZ;EACEO,SAAS,EAAE,QADb;EAEE,gBAAgB;AAFlB,CADY,GAKZ,EAVN,EAWMF,IAXN;EAYE,GAAG,EAAEC;AAZP,iBAcE;EAAM,QAAQ,EAAC,MAAf;EAAsB,IAAI,EAAEH;AAA5B,EAdF,EAeGD,QAAQ,iBAAI;EAAM,QAAQ,EAAC,UAAf;EAA0B,OAAO,EAAEA,QAAQ,CAACM,QAAT;AAAnC,EAff,eAgBE,oBAAC,IAAD;EAAM,QAAQ,EAAC;AAAf,GAAuBJ,QAAvB,CAhBF,CADF,EAmBGH,aAAa,iBAAI,oBAAC,SAAD;EAAW,IAAI,EAAC;AAAhB,EAnBpB,CAZ6B,CAAjC;AAoCAF,cAAc,CAACU,WAAf,GAA6B,gBAA7B;AAEA,eAAeV,cAAf"}
1
+ {"version":3,"file":"index.js","names":["React","forwardRef","styled","ellipsisStyles","Right","clr","Link","Container","li","Name","span","RightIcon","p","theme","colorText","BreadcrumbItem","currentPage","hasRightArrow","position","href","children","rest","ref","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,OAAOA,KAAK,IAAIC,UAAU,QAAQ,OAAO;AACzC,OAAOC,MAAM,MAAM,iBAAiB;AACpC,SAASC,cAAc,QAAQ,mBAAmB;AAClD,SAASC,KAAK,QAAQ,kBAAkB;AACxC,SAASC,GAAG,QAAQ,oBAAoB;AACxC,OAAOC,IAAI,MAAqB,SAAS;AAoBzC,MAAMC,SAAS,GAAGL,MAAM,CAACM,EAAG;AAC5B;AACA,CAAC;AAED,MAAMC,IAAI,GAAGP,MAAM,CAACQ,IAAK;AACzB;AACA,IAAIP,cAAe;AACnB,CAAC;AAED,MAAMQ,SAAS,GAAGT,MAAM,CAACE,KAAK,CAAE;AAChC,WAAYQ,CAAC,IAAKP,GAAG,CAACO,CAAC,CAACC,KAAK,CAACC,SAAS,CAAE;AACzC;AACA;AACA;AACA,CAAC;;AAED;AACA;AACA;AACA,MAAMC,cAAc,gBAAGd,UAAU,CAC/B,CACE;EACEe,WAAW,GAAG,KAAK;EACnBC,aAAa,GAAG,KAAK;EACrBC,QAAQ;EACRC,IAAI;EACJC,QAAQ;EACR,GAAGC;AACL,CAAC,EACDC,GAAG,kBAEH,oBAAC,SAAS,qBACR,oBAAC,IAAI;EACH,QAAQ,EAAC,iBAAiB;EAC1B,SAAS;EACT,QAAQ,EAAC,6BAA6B;EACtC,IAAI,EAAEH;AAAK,GACNH,WAAW,GACZ;EACEO,SAAS,EAAE,QAAQ;EACnB,cAAc,EAAE;AAClB,CAAC,GACD,CAAC,CAAC,EACFF,IAAI;EACR,GAAG,EAAEC;AAAI,iBAET;EAAM,QAAQ,EAAC,MAAM;EAAC,IAAI,EAAEH;AAAK,EAAG,EACnCD,QAAQ,iBAAI;EAAM,QAAQ,EAAC,UAAU;EAAC,OAAO,EAAEA,QAAQ,CAACM,QAAQ;AAAG,EAAG,eACvE,oBAAC,IAAI;EAAC,QAAQ,EAAC;AAAM,GAAEJ,QAAQ,CAAQ,CAClC,EACNH,aAAa,iBAAI,oBAAC,SAAS;EAAC,IAAI,EAAC;AAAc,EAAG,CAEtD,CACF;AAEDF,cAAc,CAACU,WAAW,GAAG,gBAAgB;AAE7C,eAAeV,cAAc"}
@@ -42,8 +42,9 @@ const LoadingContainer = styled('div', omitEmotionProps('colors'))`
42
42
  color: ${p => clr(p.colors.text)};
43
43
  background-color: ${p => clr(p.colors.bg)};
44
44
  animation: ${loadingFadeIn} ${p => p.theme.transitionDelay}ms;
45
- `; // Used by Button, LinkButton
45
+ `;
46
46
 
47
+ // Used by Button, LinkButton
47
48
  const ButtonContent = ({
48
49
  left,
49
50
  right,
@@ -53,6 +54,5 @@ const ButtonContent = ({
53
54
  }) => /*#__PURE__*/React.createElement(React.Fragment, null, left && /*#__PURE__*/React.createElement(LeftAddon, null, left), /*#__PURE__*/React.createElement(Content, null, children), right && /*#__PURE__*/React.createElement(RightAddon, null, right), loading && /*#__PURE__*/React.createElement(LoadingContainer, {
54
55
  colors: loadingColors
55
56
  }, /*#__PURE__*/React.createElement(LoadingIcon, null)));
56
-
57
57
  export default ButtonContent;
58
58
  //# sourceMappingURL=ButtonContent.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"ButtonContent.js","names":["React","Loading","styled","keyframes","omitEmotionProps","clr","LeftAddon","div","p","theme","buttonAddonPaddingHorizontal","RightAddon","Content","span","buttonIconScaleFactor","LoadingIcon","loadingFadeIn","LoadingContainer","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,OAAOA,KAAP,MAAkB,OAAlB;AACA,SAASC,OAAT,QAAwB,kBAAxB;AACA,OAAOC,MAAP,MAAmB,iBAAnB;AACA,SAASC,SAAT,QAA0B,gBAA1B;AACA,SAASC,gBAAT,QAAiC,kBAAjC;AACA,SAASC,GAAT,QAAoB,oBAApB;AAWA,MAAMC,SAAS,GAAGJ,MAAM,CAACK,GAAI;AAC7B;AACA,mBAAoBC,CAAD,IAAOA,CAAC,CAACC,KAAF,CAAQC,4BAA6B;AAC/D,CAHA;AAKA,MAAMC,UAAU,GAAGT,MAAM,CAACK,GAAI;AAC9B;AACA,kBAAmBC,CAAD,IAAOA,CAAC,CAACC,KAAF,CAAQC,4BAA6B;AAC9D,CAHA;AAKA,MAAME,OAAO,GAAGV,MAAM,CAACW,IAAK;AAC5B;AACA;AACA;AACA,uBAAwBL,CAAD,IAAOA,CAAC,CAACC,KAAF,CAAQK,qBAAsB;AAC5D;AACA;AACA,CAPA;AASA,MAAMC,WAAW,GAAGb,MAAM,CAACD,OAAD,CAAU;AACpC;AACA,CAFA;AAIA,MAAMe,aAAa,GAAGb,SAAU;AAChC;AACA;AACA,CAHA;AAQA,MAAMc,gBAAgB,GAAGf,MAAM,CAC7B,KAD6B,EAE7BE,gBAAgB,CAAC,QAAD,CAFa,CAGN;AACzB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAYI,CAAD,IAAOH,GAAG,CAACG,CAAC,CAACU,MAAF,CAASC,IAAV,CAAgB;AACrC,sBAAuBX,CAAD,IAAOH,GAAG,CAACG,CAAC,CAACU,MAAF,CAASE,EAAV,CAAc;AAC9C,eAAeJ,aAAc,IAAIR,CAAD,IAAOA,CAAC,CAACC,KAAF,CAAQY,eAAgB;AAC/D,CAlBA,C,CAoBA;;AACA,MAAMC,aAA2C,GAAG,CAAC;EACnDC,IADmD;EAEnDC,KAFmD;EAGnDC,OAAO,GAAG,KAHyC;EAInDC,aAJmD;EAKnDC;AALmD,CAAD,kBAOlD,0CACGJ,IAAI,iBAAI,oBAAC,SAAD,QAAYA,IAAZ,CADX,eAEE,oBAAC,OAAD,QAAUI,QAAV,CAFF,EAGGH,KAAK,iBAAI,oBAAC,UAAD,QAAaA,KAAb,CAHZ,EAIGC,OAAO,iBACN,oBAAC,gBAAD;EAAkB,MAAM,EAAEC;AAA1B,gBACE,oBAAC,WAAD,OADF,CALJ,CAPF;;AAmBA,eAAeJ,aAAf"}
1
+ {"version":3,"file":"ButtonContent.js","names":["React","Loading","styled","keyframes","omitEmotionProps","clr","LeftAddon","div","p","theme","buttonAddonPaddingHorizontal","RightAddon","Content","span","buttonIconScaleFactor","LoadingIcon","loadingFadeIn","LoadingContainer","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,OAAOA,KAAK,MAAM,OAAO;AACzB,SAASC,OAAO,QAAQ,kBAAkB;AAC1C,OAAOC,MAAM,MAAM,iBAAiB;AACpC,SAASC,SAAS,QAAQ,gBAAgB;AAC1C,SAASC,gBAAgB,QAAQ,kBAAkB;AACnD,SAASC,GAAG,QAAQ,oBAAoB;AAWxC,MAAMC,SAAS,GAAGJ,MAAM,CAACK,GAAI;AAC7B;AACA,mBAAoBC,CAAC,IAAKA,CAAC,CAACC,KAAK,CAACC,4BAA6B;AAC/D,CAAC;AAED,MAAMC,UAAU,GAAGT,MAAM,CAACK,GAAI;AAC9B;AACA,kBAAmBC,CAAC,IAAKA,CAAC,CAACC,KAAK,CAACC,4BAA6B;AAC9D,CAAC;AAED,MAAME,OAAO,GAAGV,MAAM,CAACW,IAAK;AAC5B;AACA;AACA;AACA,uBAAwBL,CAAC,IAAKA,CAAC,CAACC,KAAK,CAACK,qBAAsB;AAC5D;AACA;AACA,CAAC;AAED,MAAMC,WAAW,GAAGb,MAAM,CAACD,OAAO,CAAE;AACpC;AACA,CAAC;AAED,MAAMe,aAAa,GAAGb,SAAU;AAChC;AACA;AACA,CAAC;AAKD,MAAMc,gBAAgB,GAAGf,MAAM,CAC7B,KAAK,EACLE,gBAAgB,CAAC,QAAQ,CAAC,CACH;AACzB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAYI,CAAC,IAAKH,GAAG,CAACG,CAAC,CAACU,MAAM,CAACC,IAAI,CAAE;AACrC,sBAAuBX,CAAC,IAAKH,GAAG,CAACG,CAAC,CAACU,MAAM,CAACE,EAAE,CAAE;AAC9C,eAAeJ,aAAc,IAAIR,CAAC,IAAKA,CAAC,CAACC,KAAK,CAACY,eAAgB;AAC/D,CAAC;;AAED;AACA,MAAMC,aAA2C,GAAG,CAAC;EACnDC,IAAI;EACJC,KAAK;EACLC,OAAO,GAAG,KAAK;EACfC,aAAa;EACbC;AACF,CAAC,kBACC,0CACGJ,IAAI,iBAAI,oBAAC,SAAS,QAAEA,IAAI,CAAa,eACtC,oBAAC,OAAO,QAAEI,QAAQ,CAAW,EAC5BH,KAAK,iBAAI,oBAAC,UAAU,QAAEA,KAAK,CAAc,EACzCC,OAAO,iBACN,oBAAC,gBAAgB;EAAC,MAAM,EAAEC;AAAc,gBACtC,oBAAC,WAAW,OAAG,CAElB,CAEJ;AAED,eAAeJ,aAAa"}
@@ -1,5 +1,4 @@
1
1
  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); }
2
-
3
2
  import React, { forwardRef } from 'react';
4
3
  import styled from '@emotion/styled';
5
4
  import { resetButtonStyles, sizeStyles, transitionStyles } from '@os-design/styles';
@@ -9,7 +8,6 @@ import { css } from '@emotion/react';
9
8
  import { m } from '@os-design/media';
10
9
  import useButtonColors from './utils/useButtonColors';
11
10
  import ButtonContent from './ButtonContent';
12
-
13
11
  const hoverStyles = p => !p.disabled && css`
14
12
  @media (hover: hover) {
15
13
  &:hover,
@@ -18,40 +16,33 @@ const hoverStyles = p => !p.disabled && css`
18
16
  }
19
17
  }
20
18
  `;
21
-
22
19
  const primaryStyles = p => p.btnType === 'primary' && css`
23
20
  color: ${clr(p.colors.text)};
24
21
  background-color: ${clr(p.colors.bg)};
25
22
  ${hoverStyles(p)};
26
23
  `;
27
-
28
24
  const ghostStyles = p => p.btnType === 'ghost' && css`
29
25
  color: ${clr(p.colors.text)};
30
26
  background-color: transparent;
31
27
  ${hoverStyles(p)};
32
28
  `;
33
-
34
29
  const outlineStyles = p => p.btnType === 'outline' && css`
35
30
  color: ${clr(p.colors.text)};
36
31
  background-color: transparent;
37
32
  border: 1px solid currentColor;
38
33
  ${hoverStyles(p)};
39
34
  `;
40
-
41
35
  const wideDefaultStyles = p => p.wide === 'default' && css`
42
36
  ${m.max.xxs} {
43
37
  width: 100%;
44
38
  }
45
39
  `;
46
-
47
40
  const wideAlwaysStyles = p => p.wide === 'always' && css`
48
41
  width: 100%;
49
42
  `;
50
-
51
43
  const disabledStyles = p => p.disabled && css`
52
44
  cursor: not-allowed;
53
45
  `;
54
-
55
46
  export const StyledButton = styled('button', omitEmotionProps('btnType', 'colors', 'wide', 'loading', 'size'))`
56
47
  ${resetButtonStyles};
57
48
  position: relative; // Because LoadingContainer has an absolute position
@@ -88,10 +79,10 @@ export const StyledButton = styled('button', omitEmotionProps('btnType', 'colors
88
79
  ${sizeStyles};
89
80
  ${transitionStyles('background-color', 'color')};
90
81
  `;
82
+
91
83
  /**
92
84
  * Used to trigger the corresponding business logic.
93
85
  */
94
-
95
86
  const Button = /*#__PURE__*/forwardRef(({
96
87
  type = 'primary',
97
88
  danger = false,
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","names":["React","forwardRef","styled","resetButtonStyles","sizeStyles","transitionStyles","omitEmotionProps","clr","css","m","useButtonColors","ButtonContent","hoverStyles","p","disabled","colors","bgHover","primaryStyles","btnType","text","bg","ghostStyles","outlineStyles","wideDefaultStyles","wide","max","xxs","wideAlwaysStyles","disabledStyles","StyledButton","theme","borderRadius","buttonHeight","buttonPaddingHorizontal","Button","type","danger","left","right","loading","size","children","onMouseDown","rest","ref","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":["React","forwardRef","styled","resetButtonStyles","sizeStyles","transitionStyles","omitEmotionProps","clr","css","m","useButtonColors","ButtonContent","hoverStyles","p","disabled","colors","bgHover","primaryStyles","btnType","text","bg","ghostStyles","outlineStyles","wideDefaultStyles","wide","max","xxs","wideAlwaysStyles","disabledStyles","StyledButton","theme","borderRadius","buttonHeight","buttonPaddingHorizontal","Button","type","danger","left","right","loading","size","children","onMouseDown","rest","ref","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,6 +1,5 @@
1
1
  import { useMemo } from 'react';
2
2
  import { useTheme } from '@os-design/theming';
3
-
4
3
  // Used by Button, LinkButton
5
4
  const useButtonColors = ({
6
5
  type,
@@ -25,7 +24,6 @@ const useButtonColors = ({
25
24
  bg: theme.buttonDisabledPrimaryColorBg
26
25
  };
27
26
  }
28
-
29
27
  return !disabled ? {
30
28
  text: theme[`button${prefix}GhostColorText`],
31
29
  bgHover: theme[`button${prefix}GhostColorBgHover`]
@@ -40,14 +38,12 @@ const useButtonColors = ({
40
38
  bg: theme.buttonDisabledPrimaryColorBg
41
39
  };
42
40
  }
43
-
44
41
  if (type === 'primary') {
45
42
  return {
46
43
  text: theme[`button${prefix}PrimaryColorLoadingText`],
47
44
  bg: theme[`button${prefix}PrimaryColorLoadingBg`]
48
45
  };
49
46
  }
50
-
51
47
  return {
52
48
  text: theme[`button${prefix}GhostColorLoadingText`],
53
49
  bg: theme[`button${prefix}GhostColorLoadingBg`]
@@ -58,6 +54,5 @@ const useButtonColors = ({
58
54
  loadingColors
59
55
  };
60
56
  };
61
-
62
57
  export default useButtonColors;
63
58
  //# sourceMappingURL=useButtonColors.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"useButtonColors.js","names":["useMemo","useTheme","useButtonColors","type","danger","disabled","theme","prefix","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,SAASA,OAAT,QAAwB,OAAxB;AACA,SAAgBC,QAAhB,QAAgC,oBAAhC;;AAwBA;AACA,MAAMC,eAAe,GAAG,CAAC;EACvBC,IADuB;EAEvBC,MAFuB;EAGvBC;AAHuB,CAAD,KAIS;EAC/B,MAAM;IAAEC;EAAF,IAAYL,QAAQ,EAA1B;EAEA,MAAMM,MAAM,GAAGP,OAAO,CAAS,MAAM;IACnC,IAAII,MAAJ,EAAY,OAAO,QAAP;IACZ,OAAO,EAAP;EACD,CAHqB,EAGnB,CAACA,MAAD,CAHmB,CAAtB;EAKA,MAAMI,YAAY,GAAGR,OAAO,CAAe,MAAM;IAC/C,IAAIG,IAAI,KAAK,SAAb,EAAwB;MACtB,OAAO,CAACE,QAAD,GACH;QACEI,IAAI,EAAEH,KAAK,CAAE,SAAQC,MAAO,kBAAjB,CADb;QAEEG,EAAE,EAAEJ,KAAK,CAAE,SAAQC,MAAO,gBAAjB,CAFX;QAGEI,OAAO,EAAEL,KAAK,CAAE,SAAQC,MAAO,qBAAjB;MAHhB,CADG,GAMH;QACEE,IAAI,EAAEH,KAAK,CAACM,8BADd;QAEEF,EAAE,EAAEJ,KAAK,CAACO;MAFZ,CANJ;IAUD;;IACD,OAAO,CAACR,QAAD,GACH;MACEI,IAAI,EAAEH,KAAK,CAAE,SAAQC,MAAO,gBAAjB,CADb;MAEEI,OAAO,EAAEL,KAAK,CAAE,SAAQC,MAAO,mBAAjB;IAFhB,CADG,GAKH;MACEE,IAAI,EAAEH,KAAK,CAACQ;IADd,CALJ;EAQD,CArB2B,EAqBzB,CAACX,IAAD,EAAOE,QAAP,EAAiBC,KAAjB,EAAwBC,MAAxB,CArByB,CAA5B;EAuBA,MAAMQ,aAAa,GAAGf,OAAO,CAAgB,MAAM;IACjD,IAAIK,QAAJ,EAAc;MACZ,OAAO;QACLI,IAAI,EAAEH,KAAK,CAACM,8BADP;QAELF,EAAE,EAAEJ,KAAK,CAACO;MAFL,CAAP;IAID;;IACD,IAAIV,IAAI,KAAK,SAAb,EAAwB;MACtB,OAAO;QACLM,IAAI,EAAEH,KAAK,CAAE,SAAQC,MAAO,yBAAjB,CADN;QAELG,EAAE,EAAEJ,KAAK,CAAE,SAAQC,MAAO,uBAAjB;MAFJ,CAAP;IAID;;IACD,OAAO;MACLE,IAAI,EAAEH,KAAK,CAAE,SAAQC,MAAO,uBAAjB,CADN;MAELG,EAAE,EAAEJ,KAAK,CAAE,SAAQC,MAAO,qBAAjB;IAFJ,CAAP;EAID,CAjB4B,EAiB1B,CAACF,QAAD,EAAWF,IAAX,EAAiBG,KAAjB,EAAwBC,MAAxB,CAjB0B,CAA7B;EAmBA,OAAO;IAAEC,YAAF;IAAgBO;EAAhB,CAAP;AACD,CAvDD;;AAyDA,eAAeb,eAAf"}
1
+ {"version":3,"file":"useButtonColors.js","names":["useMemo","useTheme","useButtonColors","type","danger","disabled","theme","prefix","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,SAASA,OAAO,QAAQ,OAAO;AAC/B,SAAgBC,QAAQ,QAAQ,oBAAoB;AAwBpD;AACA,MAAMC,eAAe,GAAG,CAAC;EACvBC,IAAI;EACJC,MAAM;EACNC;AACK,CAAC,KAAyB;EAC/B,MAAM;IAAEC;EAAM,CAAC,GAAGL,QAAQ,EAAE;EAE5B,MAAMM,MAAM,GAAGP,OAAO,CAAS,MAAM;IACnC,IAAII,MAAM,EAAE,OAAO,QAAQ;IAC3B,OAAO,EAAE;EACX,CAAC,EAAE,CAACA,MAAM,CAAC,CAAC;EAEZ,MAAMI,YAAY,GAAGR,OAAO,CAAe,MAAM;IAC/C,IAAIG,IAAI,KAAK,SAAS,EAAE;MACtB,OAAO,CAACE,QAAQ,GACZ;QACEI,IAAI,EAAEH,KAAK,CAAE,SAAQC,MAAO,kBAAiB,CAAC;QAC9CG,EAAE,EAAEJ,KAAK,CAAE,SAAQC,MAAO,gBAAe,CAAC;QAC1CI,OAAO,EAAEL,KAAK,CAAE,SAAQC,MAAO,qBAAoB;MACrD,CAAC,GACD;QACEE,IAAI,EAAEH,KAAK,CAACM,8BAA8B;QAC1CF,EAAE,EAAEJ,KAAK,CAACO;MACZ,CAAC;IACP;IACA,OAAO,CAACR,QAAQ,GACZ;MACEI,IAAI,EAAEH,KAAK,CAAE,SAAQC,MAAO,gBAAe,CAAC;MAC5CI,OAAO,EAAEL,KAAK,CAAE,SAAQC,MAAO,mBAAkB;IACnD,CAAC,GACD;MACEE,IAAI,EAAEH,KAAK,CAACQ;IACd,CAAC;EACP,CAAC,EAAE,CAACX,IAAI,EAAEE,QAAQ,EAAEC,KAAK,EAAEC,MAAM,CAAC,CAAC;EAEnC,MAAMQ,aAAa,GAAGf,OAAO,CAAgB,MAAM;IACjD,IAAIK,QAAQ,EAAE;MACZ,OAAO;QACLI,IAAI,EAAEH,KAAK,CAACM,8BAA8B;QAC1CF,EAAE,EAAEJ,KAAK,CAACO;MACZ,CAAC;IACH;IACA,IAAIV,IAAI,KAAK,SAAS,EAAE;MACtB,OAAO;QACLM,IAAI,EAAEH,KAAK,CAAE,SAAQC,MAAO,yBAAwB,CAAC;QACrDG,EAAE,EAAEJ,KAAK,CAAE,SAAQC,MAAO,uBAAsB;MAClD,CAAC;IACH;IACA,OAAO;MACLE,IAAI,EAAEH,KAAK,CAAE,SAAQC,MAAO,uBAAsB,CAAC;MACnDG,EAAE,EAAEJ,KAAK,CAAE,SAAQC,MAAO,qBAAoB;IAChD,CAAC;EACH,CAAC,EAAE,CAACF,QAAQ,EAAEF,IAAI,EAAEG,KAAK,EAAEC,MAAM,CAAC,CAAC;EAEnC,OAAO;IAAEC,YAAY;IAAEO;EAAc,CAAC;AACxC,CAAC;AAED,eAAeb,eAAe"}
@@ -1,5 +1,4 @@
1
1
  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); }
2
-
3
2
  import React, { forwardRef } from 'react';
4
3
  import styled from '@emotion/styled';
5
4
  import { css } from '@emotion/react';
@@ -7,23 +6,19 @@ import { Check } from '@os-design/icons';
7
6
  import { resetFocusStyles, sizeStyles, transitionStyles } from '@os-design/styles';
8
7
  import { omitEmotionProps, useForwardedState } from '@os-design/utils';
9
8
  import { clr } from '@os-design/theming';
10
-
11
9
  const uncheckedIconStyles = p => !p.checked && css`
12
10
  background-color: ${clr(p.theme.checkboxUncheckedColorBg)};
13
11
  border-color: ${clr(p.theme.checkboxUncheckedColorBorder)};
14
12
  `;
15
-
16
13
  const checkedIconStyles = p => p.checked && css`
17
14
  background-color: ${clr(p.theme.checkboxCheckedColorBg)};
18
15
  border-color: ${clr(p.theme.checkboxCheckedColorBg)};
19
16
  `;
20
-
21
17
  const disabledIconStyles = p => p.disabled && css`
22
18
  background-color: ${clr(p.theme.checkboxDisabledColorBg)};
23
19
  color: ${clr(p.theme.checkboxDisabledColorIcon)};
24
20
  border-color: ${clr(p.theme.checkboxDisabledColorBorder)};
25
21
  `;
26
-
27
22
  const IconContainer = styled('span', omitEmotionProps('disabled', 'checked'))`
28
23
  width: ${p => p.theme.checkboxSize}em;
29
24
  height: ${p => p.theme.checkboxSize}em;
@@ -47,16 +42,13 @@ const IconContainer = styled('span', omitEmotionProps('disabled', 'checked'))`
47
42
  ${disabledIconStyles};
48
43
  ${transitionStyles('background-color', 'color', 'border-color')};
49
44
  `;
50
-
51
45
  const hoverUncheckedIconStyles = p => !p.checked && css`
52
46
  background-color: ${clr(p.theme.checkboxUncheckedColorBgHover)};
53
47
  `;
54
-
55
48
  const hoverCheckedIconStyles = p => p.checked && css`
56
49
  background-color: ${clr(p.theme.checkboxCheckedColorBgHover)};
57
50
  border-color: ${clr(p.theme.checkboxCheckedColorBgHover)};
58
51
  `;
59
-
60
52
  const hoverStyles = p => !p.disabled && css`
61
53
  @media (hover: hover) {
62
54
  &:hover,
@@ -68,11 +60,9 @@ const hoverStyles = p => !p.disabled && css`
68
60
  }
69
61
  }
70
62
  `;
71
-
72
63
  const disabledContainerStyles = p => p.disabled && css`
73
64
  cursor: not-allowed;
74
65
  `;
75
-
76
66
  const Container = styled('label', omitEmotionProps('disabled', 'size', 'checked'))`
77
67
  ${resetFocusStyles};
78
68
  cursor: pointer;
@@ -86,20 +76,18 @@ const Container = styled('label', omitEmotionProps('disabled', 'size', 'checked'
86
76
  ${sizeStyles};
87
77
  ${transitionStyles('color')};
88
78
  `;
89
-
90
79
  const disabledTextStyles = p => p.disabled && css`
91
80
  color: ${clr(p.theme.checkboxDisabledColorText)};
92
81
  `;
93
-
94
82
  const Text = styled('div', omitEmotionProps('disabled'))`
95
83
  margin-left: 0.4em;
96
84
  color: ${p => clr(p.theme.colorText)};
97
85
  ${disabledTextStyles};
98
86
  `;
87
+
99
88
  /**
100
89
  * The checkbox that can be enabled or disabled.
101
90
  */
102
-
103
91
  const Checkbox = /*#__PURE__*/forwardRef(({
104
92
  disabled = false,
105
93
  value,
@@ -127,12 +115,10 @@ const Checkbox = /*#__PURE__*/forwardRef(({
127
115
  },
128
116
  onKeyDown: e => {
129
117
  if (disabled) return;
130
-
131
118
  if (['Enter', ' '].includes(e.key)) {
132
119
  setForwardedValue(!forwardedValue);
133
120
  e.preventDefault();
134
121
  }
135
-
136
122
  onKeyDown(e);
137
123
  },
138
124
  onMouseDown: e => {
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","names":["React","forwardRef","styled","css","Check","resetFocusStyles","sizeStyles","transitionStyles","omitEmotionProps","useForwardedState","clr","uncheckedIconStyles","p","checked","theme","checkboxUncheckedColorBg","checkboxUncheckedColorBorder","checkedIconStyles","checkboxCheckedColorBg","disabledIconStyles","disabled","checkboxDisabledColorBg","checkboxDisabledColorIcon","checkboxDisabledColorBorder","IconContainer","checkboxSize","borderRadius","checkboxCheckedColorIcon","lineHeight","hoverUncheckedIconStyles","checkboxUncheckedColorBgHover","hoverCheckedIconStyles","checkboxCheckedColorBgHover","hoverStyles","disabledContainerStyles","Container","checkboxVerticalIndent","disabledTextStyles","checkboxDisabledColorText","Text","colorText","Checkbox","value","defaultValue","onChange","size","onKeyDown","onMouseDown","children","rest","ref","forwardedValue","setForwardedValue","e","includes","key","preventDefault","displayName"],"sources":["../../../src/Checkbox/index.tsx"],"sourcesContent":["import React, { forwardRef } from 'react';\nimport styled from '@emotion/styled';\nimport { css } from '@emotion/react';\nimport { Check } from '@os-design/icons';\nimport {\n resetFocusStyles,\n sizeStyles,\n transitionStyles,\n WithSize,\n} from '@os-design/styles';\nimport { omitEmotionProps, useForwardedState } from '@os-design/utils';\nimport { clr } from '@os-design/theming';\n\ntype JsxLabelProps = Omit<\n JSX.IntrinsicElements['label'],\n 'defaultValue' | 'onChange' | 'onClick' | 'ref'\n>;\nexport interface CheckboxProps extends JsxLabelProps, WithSize {\n /**\n * Whether the checkbox is disabled.\n * @default false\n */\n disabled?: boolean;\n /**\n * Whether the checkbox is checked.\n * @default false\n */\n value?: boolean;\n /**\n * The default value.\n * @default undefined\n */\n defaultValue?: boolean;\n /**\n * The change event handler.\n * @default undefined\n */\n onChange?: (value: boolean) => void;\n}\n\nconst uncheckedIconStyles = (p) =>\n !p.checked &&\n css`\n background-color: ${clr(p.theme.checkboxUncheckedColorBg)};\n border-color: ${clr(p.theme.checkboxUncheckedColorBorder)};\n `;\n\nconst checkedIconStyles = (p) =>\n p.checked &&\n css`\n background-color: ${clr(p.theme.checkboxCheckedColorBg)};\n border-color: ${clr(p.theme.checkboxCheckedColorBg)};\n `;\n\nconst disabledIconStyles = (p) =>\n p.disabled &&\n css`\n background-color: ${clr(p.theme.checkboxDisabledColorBg)};\n color: ${clr(p.theme.checkboxDisabledColorIcon)};\n border-color: ${clr(p.theme.checkboxDisabledColorBorder)};\n `;\n\ninterface IconContainerProps extends Required<Pick<CheckboxProps, 'disabled'>> {\n checked: Required<CheckboxProps['value']>;\n}\nconst IconContainer = styled(\n 'span',\n omitEmotionProps('disabled', 'checked')\n)<IconContainerProps>`\n width: ${(p) => p.theme.checkboxSize}em;\n height: ${(p) => p.theme.checkboxSize}em;\n min-width: ${(p) => p.theme.checkboxSize}em;\n min-height: ${(p) => p.theme.checkboxSize}em;\n\n display: flex;\n justify-content: center;\n align-items: center;\n\n box-sizing: border-box;\n line-height: 1;\n\n border: 1px solid transparent;\n border-radius: ${(p) => p.theme.borderRadius}em;\n color: ${(p) => clr(p.theme.checkboxCheckedColorIcon)};\n margin-top: ${(p) => (p.theme.lineHeight - p.theme.checkboxSize) / 2}em;\n\n ${uncheckedIconStyles};\n ${checkedIconStyles};\n ${disabledIconStyles};\n ${transitionStyles('background-color', 'color', 'border-color')};\n`;\n\nconst hoverUncheckedIconStyles = (p) =>\n !p.checked &&\n css`\n background-color: ${clr(p.theme.checkboxUncheckedColorBgHover)};\n `;\n\nconst hoverCheckedIconStyles = (p) =>\n p.checked &&\n css`\n background-color: ${clr(p.theme.checkboxCheckedColorBgHover)};\n border-color: ${clr(p.theme.checkboxCheckedColorBgHover)};\n `;\n\nconst hoverStyles = (p) =>\n !p.disabled &&\n css`\n @media (hover: hover) {\n &:hover,\n &:focus {\n & > span {\n ${hoverUncheckedIconStyles(p)};\n ${hoverCheckedIconStyles(p)};\n }\n }\n }\n `;\n\nconst disabledContainerStyles = (p) =>\n p.disabled &&\n css`\n cursor: not-allowed;\n `;\n\ninterface ContainerProps\n extends Required<Pick<CheckboxProps, 'disabled'>>,\n Pick<CheckboxProps, 'size'> {\n checked: Required<CheckboxProps['value']>;\n}\nconst Container = styled(\n 'label',\n omitEmotionProps('disabled', 'size', 'checked')\n)<ContainerProps>`\n ${resetFocusStyles};\n cursor: pointer;\n user-select: none;\n\n display: flex;\n margin: ${(p) => p.theme.checkboxVerticalIndent}em 0;\n\n ${hoverStyles};\n ${disabledContainerStyles};\n ${sizeStyles};\n ${transitionStyles('color')};\n`;\n\nconst disabledTextStyles = (p) =>\n p.disabled &&\n css`\n color: ${clr(p.theme.checkboxDisabledColorText)};\n `;\n\ntype TextProps = Required<Pick<CheckboxProps, 'disabled'>>;\nconst Text = styled('div', omitEmotionProps('disabled'))<TextProps>`\n margin-left: 0.4em;\n color: ${(p) => clr(p.theme.colorText)};\n ${disabledTextStyles};\n`;\n\n/**\n * The checkbox that can be enabled or disabled.\n */\nconst Checkbox = forwardRef<HTMLLabelElement, CheckboxProps>(\n (\n {\n disabled = false,\n value,\n defaultValue,\n onChange = () => {},\n size,\n onKeyDown = () => {},\n onMouseDown = () => {},\n children,\n ...rest\n },\n ref\n ) => {\n const [forwardedValue, setForwardedValue] = useForwardedState({\n value,\n defaultValue,\n onChange,\n });\n\n return (\n <Container\n disabled={disabled}\n checked={forwardedValue}\n size={size}\n tabIndex={!disabled ? 0 : -1}\n onClick={() => {\n if (disabled) return;\n setForwardedValue(!forwardedValue);\n }}\n onKeyDown={(e) => {\n if (disabled) return;\n if (['Enter', ' '].includes(e.key)) {\n setForwardedValue(!forwardedValue);\n e.preventDefault();\n }\n onKeyDown(e);\n }}\n onMouseDown={(e) => {\n onMouseDown(e);\n e.preventDefault();\n }}\n role='checkbox'\n aria-checked={forwardedValue}\n aria-disabled={disabled}\n {...rest}\n ref={ref}\n >\n <IconContainer disabled={disabled} checked={forwardedValue}>\n {forwardedValue && <Check />}\n </IconContainer>\n\n {children && <Text disabled={disabled}>{children}</Text>}\n </Container>\n );\n }\n);\n\nCheckbox.displayName = 'Checkbox';\n\nexport default Checkbox;\n"],"mappings":"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"}
1
+ {"version":3,"file":"index.js","names":["React","forwardRef","styled","css","Check","resetFocusStyles","sizeStyles","transitionStyles","omitEmotionProps","useForwardedState","clr","uncheckedIconStyles","p","checked","theme","checkboxUncheckedColorBg","checkboxUncheckedColorBorder","checkedIconStyles","checkboxCheckedColorBg","disabledIconStyles","disabled","checkboxDisabledColorBg","checkboxDisabledColorIcon","checkboxDisabledColorBorder","IconContainer","checkboxSize","borderRadius","checkboxCheckedColorIcon","lineHeight","hoverUncheckedIconStyles","checkboxUncheckedColorBgHover","hoverCheckedIconStyles","checkboxCheckedColorBgHover","hoverStyles","disabledContainerStyles","Container","checkboxVerticalIndent","disabledTextStyles","checkboxDisabledColorText","Text","colorText","Checkbox","value","defaultValue","onChange","size","onKeyDown","onMouseDown","children","rest","ref","forwardedValue","setForwardedValue","e","includes","key","preventDefault","displayName"],"sources":["../../../src/Checkbox/index.tsx"],"sourcesContent":["import React, { forwardRef } from 'react';\nimport styled from '@emotion/styled';\nimport { css } from '@emotion/react';\nimport { Check } from '@os-design/icons';\nimport {\n resetFocusStyles,\n sizeStyles,\n transitionStyles,\n WithSize,\n} from '@os-design/styles';\nimport { omitEmotionProps, useForwardedState } from '@os-design/utils';\nimport { clr } from '@os-design/theming';\n\ntype JsxLabelProps = Omit<\n JSX.IntrinsicElements['label'],\n 'defaultValue' | 'onChange' | 'onClick' | 'ref'\n>;\nexport interface CheckboxProps extends JsxLabelProps, WithSize {\n /**\n * Whether the checkbox is disabled.\n * @default false\n */\n disabled?: boolean;\n /**\n * Whether the checkbox is checked.\n * @default false\n */\n value?: boolean;\n /**\n * The default value.\n * @default undefined\n */\n defaultValue?: boolean;\n /**\n * The change event handler.\n * @default undefined\n */\n onChange?: (value: boolean) => void;\n}\n\nconst uncheckedIconStyles = (p) =>\n !p.checked &&\n css`\n background-color: ${clr(p.theme.checkboxUncheckedColorBg)};\n border-color: ${clr(p.theme.checkboxUncheckedColorBorder)};\n `;\n\nconst checkedIconStyles = (p) =>\n p.checked &&\n css`\n background-color: ${clr(p.theme.checkboxCheckedColorBg)};\n border-color: ${clr(p.theme.checkboxCheckedColorBg)};\n `;\n\nconst disabledIconStyles = (p) =>\n p.disabled &&\n css`\n background-color: ${clr(p.theme.checkboxDisabledColorBg)};\n color: ${clr(p.theme.checkboxDisabledColorIcon)};\n border-color: ${clr(p.theme.checkboxDisabledColorBorder)};\n `;\n\ninterface IconContainerProps extends Required<Pick<CheckboxProps, 'disabled'>> {\n checked: Required<CheckboxProps['value']>;\n}\nconst IconContainer = styled(\n 'span',\n omitEmotionProps('disabled', 'checked')\n)<IconContainerProps>`\n width: ${(p) => p.theme.checkboxSize}em;\n height: ${(p) => p.theme.checkboxSize}em;\n min-width: ${(p) => p.theme.checkboxSize}em;\n min-height: ${(p) => p.theme.checkboxSize}em;\n\n display: flex;\n justify-content: center;\n align-items: center;\n\n box-sizing: border-box;\n line-height: 1;\n\n border: 1px solid transparent;\n border-radius: ${(p) => p.theme.borderRadius}em;\n color: ${(p) => clr(p.theme.checkboxCheckedColorIcon)};\n margin-top: ${(p) => (p.theme.lineHeight - p.theme.checkboxSize) / 2}em;\n\n ${uncheckedIconStyles};\n ${checkedIconStyles};\n ${disabledIconStyles};\n ${transitionStyles('background-color', 'color', 'border-color')};\n`;\n\nconst hoverUncheckedIconStyles = (p) =>\n !p.checked &&\n css`\n background-color: ${clr(p.theme.checkboxUncheckedColorBgHover)};\n `;\n\nconst hoverCheckedIconStyles = (p) =>\n p.checked &&\n css`\n background-color: ${clr(p.theme.checkboxCheckedColorBgHover)};\n border-color: ${clr(p.theme.checkboxCheckedColorBgHover)};\n `;\n\nconst hoverStyles = (p) =>\n !p.disabled &&\n css`\n @media (hover: hover) {\n &:hover,\n &:focus {\n & > span {\n ${hoverUncheckedIconStyles(p)};\n ${hoverCheckedIconStyles(p)};\n }\n }\n }\n `;\n\nconst disabledContainerStyles = (p) =>\n p.disabled &&\n css`\n cursor: not-allowed;\n `;\n\ninterface ContainerProps\n extends Required<Pick<CheckboxProps, 'disabled'>>,\n Pick<CheckboxProps, 'size'> {\n checked: Required<CheckboxProps['value']>;\n}\nconst Container = styled(\n 'label',\n omitEmotionProps('disabled', 'size', 'checked')\n)<ContainerProps>`\n ${resetFocusStyles};\n cursor: pointer;\n user-select: none;\n\n display: flex;\n margin: ${(p) => p.theme.checkboxVerticalIndent}em 0;\n\n ${hoverStyles};\n ${disabledContainerStyles};\n ${sizeStyles};\n ${transitionStyles('color')};\n`;\n\nconst disabledTextStyles = (p) =>\n p.disabled &&\n css`\n color: ${clr(p.theme.checkboxDisabledColorText)};\n `;\n\ntype TextProps = Required<Pick<CheckboxProps, 'disabled'>>;\nconst Text = styled('div', omitEmotionProps('disabled'))<TextProps>`\n margin-left: 0.4em;\n color: ${(p) => clr(p.theme.colorText)};\n ${disabledTextStyles};\n`;\n\n/**\n * The checkbox that can be enabled or disabled.\n */\nconst Checkbox = forwardRef<HTMLLabelElement, CheckboxProps>(\n (\n {\n disabled = false,\n value,\n defaultValue,\n onChange = () => {},\n size,\n onKeyDown = () => {},\n onMouseDown = () => {},\n children,\n ...rest\n },\n ref\n ) => {\n const [forwardedValue, setForwardedValue] = useForwardedState({\n value,\n defaultValue,\n onChange,\n });\n\n return (\n <Container\n disabled={disabled}\n checked={forwardedValue}\n size={size}\n tabIndex={!disabled ? 0 : -1}\n onClick={() => {\n if (disabled) return;\n setForwardedValue(!forwardedValue);\n }}\n onKeyDown={(e) => {\n if (disabled) return;\n if (['Enter', ' '].includes(e.key)) {\n setForwardedValue(!forwardedValue);\n e.preventDefault();\n }\n onKeyDown(e);\n }}\n onMouseDown={(e) => {\n onMouseDown(e);\n e.preventDefault();\n }}\n role='checkbox'\n aria-checked={forwardedValue}\n aria-disabled={disabled}\n {...rest}\n ref={ref}\n >\n <IconContainer disabled={disabled} checked={forwardedValue}>\n {forwardedValue && <Check />}\n </IconContainer>\n\n {children && <Text disabled={disabled}>{children}</Text>}\n </Container>\n );\n }\n);\n\nCheckbox.displayName = 'Checkbox';\n\nexport default Checkbox;\n"],"mappings":"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"}
@@ -1,5 +1,4 @@
1
1
  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); }
2
-
3
2
  import styled from '@emotion/styled';
4
3
  import React, { forwardRef } from 'react';
5
4
  import { sizeStyles } from '@os-design/styles';
@@ -25,10 +24,10 @@ const Text = styled.div`
25
24
  margin-left: 0.4em;
26
25
  color: ${p => clr(p.theme.colorText)};
27
26
  `;
27
+
28
28
  /**
29
29
  * Provides a checkbox placeholder while a user waits for the content to load.
30
30
  */
31
-
32
31
  const CheckboxSkeleton = /*#__PURE__*/forwardRef(({
33
32
  children,
34
33
  ...rest
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","names":["styled","React","forwardRef","sizeStyles","omitEmotionProps","clr","Skeleton","Container","p","theme","checkboxVerticalIndent","ImageSkeleton","checkboxSize","borderRadius","lineHeight","Text","div","colorText","CheckboxSkeleton","children","rest","ref","displayName"],"sources":["../../../src/CheckboxSkeleton/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 { clr } from '@os-design/theming';\nimport Skeleton from '../Skeleton';\n\ntype JsxDivProps = Omit<JSX.IntrinsicElements['div'], 'ref'>;\nexport type CheckboxSkeletonProps = JsxDivProps & WithSize;\n\nconst Container = styled('div', omitEmotionProps('size'))<WithSize>`\n user-select: none;\n display: flex;\n margin: ${(p) => p.theme.checkboxVerticalIndent}em 0;\n ${sizeStyles};\n`;\n\nconst ImageSkeleton = styled(Skeleton)`\n width: ${(p) => p.theme.checkboxSize}em;\n height: ${(p) => p.theme.checkboxSize}em;\n min-width: ${(p) => p.theme.checkboxSize}em;\n min-height: ${(p) => p.theme.checkboxSize}em;\n\n border-radius: ${(p) => p.theme.borderRadius}em;\n margin-top: ${(p) => (p.theme.lineHeight - p.theme.checkboxSize) / 2}em;\n`;\n\nconst Text = styled.div`\n margin-left: 0.4em;\n color: ${(p) => clr(p.theme.colorText)};\n`;\n\n/**\n * Provides a checkbox placeholder while a user waits for the content to load.\n */\nconst CheckboxSkeleton = forwardRef<HTMLDivElement, CheckboxSkeletonProps>(\n ({ children, ...rest }, ref) => (\n <Container role='checkbox' aria-busy {...rest} ref={ref}>\n <ImageSkeleton />\n {children && <Text>{children}</Text>}\n </Container>\n )\n);\n\nCheckboxSkeleton.displayName = 'CheckboxSkeleton';\n\nexport default CheckboxSkeleton;\n"],"mappings":";;AAAA,OAAOA,MAAP,MAAmB,iBAAnB;AACA,OAAOC,KAAP,IAAgBC,UAAhB,QAAkC,OAAlC;AACA,SAASC,UAAT,QAAqC,mBAArC;AACA,SAASC,gBAAT,QAAiC,kBAAjC;AACA,SAASC,GAAT,QAAoB,oBAApB;AACA,OAAOC,QAAP,MAAqB,aAArB;AAKA,MAAMC,SAAS,GAAGP,MAAM,CAAC,KAAD,EAAQI,gBAAgB,CAAC,MAAD,CAAxB,CAA4C;AACpE;AACA;AACA,YAAaI,CAAD,IAAOA,CAAC,CAACC,KAAF,CAAQC,sBAAuB;AAClD,IAAIP,UAAW;AACf,CALA;AAOA,MAAMQ,aAAa,GAAGX,MAAM,CAACM,QAAD,CAAW;AACvC,WAAYE,CAAD,IAAOA,CAAC,CAACC,KAAF,CAAQG,YAAa;AACvC,YAAaJ,CAAD,IAAOA,CAAC,CAACC,KAAF,CAAQG,YAAa;AACxC,eAAgBJ,CAAD,IAAOA,CAAC,CAACC,KAAF,CAAQG,YAAa;AAC3C,gBAAiBJ,CAAD,IAAOA,CAAC,CAACC,KAAF,CAAQG,YAAa;AAC5C;AACA,mBAAoBJ,CAAD,IAAOA,CAAC,CAACC,KAAF,CAAQI,YAAa;AAC/C,gBAAiBL,CAAD,IAAO,CAACA,CAAC,CAACC,KAAF,CAAQK,UAAR,GAAqBN,CAAC,CAACC,KAAF,CAAQG,YAA9B,IAA8C,CAAE;AACvE,CARA;AAUA,MAAMG,IAAI,GAAGf,MAAM,CAACgB,GAAI;AACxB;AACA,WAAYR,CAAD,IAAOH,GAAG,CAACG,CAAC,CAACC,KAAF,CAAQQ,SAAT,CAAoB;AACzC,CAHA;AAKA;AACA;AACA;;AACA,MAAMC,gBAAgB,gBAAGhB,UAAU,CACjC,CAAC;EAAEiB,QAAF;EAAY,GAAGC;AAAf,CAAD,EAAwBC,GAAxB,kBACE,oBAAC,SAAD;EAAW,IAAI,EAAC,UAAhB;EAA2B;AAA3B,GAAyCD,IAAzC;EAA+C,GAAG,EAAEC;AAApD,iBACE,oBAAC,aAAD,OADF,EAEGF,QAAQ,iBAAI,oBAAC,IAAD,QAAOA,QAAP,CAFf,CAF+B,CAAnC;AASAD,gBAAgB,CAACI,WAAjB,GAA+B,kBAA/B;AAEA,eAAeJ,gBAAf"}
1
+ {"version":3,"file":"index.js","names":["styled","React","forwardRef","sizeStyles","omitEmotionProps","clr","Skeleton","Container","p","theme","checkboxVerticalIndent","ImageSkeleton","checkboxSize","borderRadius","lineHeight","Text","div","colorText","CheckboxSkeleton","children","rest","ref","displayName"],"sources":["../../../src/CheckboxSkeleton/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 { clr } from '@os-design/theming';\nimport Skeleton from '../Skeleton';\n\ntype JsxDivProps = Omit<JSX.IntrinsicElements['div'], 'ref'>;\nexport type CheckboxSkeletonProps = JsxDivProps & WithSize;\n\nconst Container = styled('div', omitEmotionProps('size'))<WithSize>`\n user-select: none;\n display: flex;\n margin: ${(p) => p.theme.checkboxVerticalIndent}em 0;\n ${sizeStyles};\n`;\n\nconst ImageSkeleton = styled(Skeleton)`\n width: ${(p) => p.theme.checkboxSize}em;\n height: ${(p) => p.theme.checkboxSize}em;\n min-width: ${(p) => p.theme.checkboxSize}em;\n min-height: ${(p) => p.theme.checkboxSize}em;\n\n border-radius: ${(p) => p.theme.borderRadius}em;\n margin-top: ${(p) => (p.theme.lineHeight - p.theme.checkboxSize) / 2}em;\n`;\n\nconst Text = styled.div`\n margin-left: 0.4em;\n color: ${(p) => clr(p.theme.colorText)};\n`;\n\n/**\n * Provides a checkbox placeholder while a user waits for the content to load.\n */\nconst CheckboxSkeleton = forwardRef<HTMLDivElement, CheckboxSkeletonProps>(\n ({ children, ...rest }, ref) => (\n <Container role='checkbox' aria-busy {...rest} ref={ref}>\n <ImageSkeleton />\n {children && <Text>{children}</Text>}\n </Container>\n )\n);\n\nCheckboxSkeleton.displayName = 'CheckboxSkeleton';\n\nexport default CheckboxSkeleton;\n"],"mappings":";AAAA,OAAOA,MAAM,MAAM,iBAAiB;AACpC,OAAOC,KAAK,IAAIC,UAAU,QAAQ,OAAO;AACzC,SAASC,UAAU,QAAkB,mBAAmB;AACxD,SAASC,gBAAgB,QAAQ,kBAAkB;AACnD,SAASC,GAAG,QAAQ,oBAAoB;AACxC,OAAOC,QAAQ,MAAM,aAAa;AAKlC,MAAMC,SAAS,GAAGP,MAAM,CAAC,KAAK,EAAEI,gBAAgB,CAAC,MAAM,CAAC,CAAY;AACpE;AACA;AACA,YAAaI,CAAC,IAAKA,CAAC,CAACC,KAAK,CAACC,sBAAuB;AAClD,IAAIP,UAAW;AACf,CAAC;AAED,MAAMQ,aAAa,GAAGX,MAAM,CAACM,QAAQ,CAAE;AACvC,WAAYE,CAAC,IAAKA,CAAC,CAACC,KAAK,CAACG,YAAa;AACvC,YAAaJ,CAAC,IAAKA,CAAC,CAACC,KAAK,CAACG,YAAa;AACxC,eAAgBJ,CAAC,IAAKA,CAAC,CAACC,KAAK,CAACG,YAAa;AAC3C,gBAAiBJ,CAAC,IAAKA,CAAC,CAACC,KAAK,CAACG,YAAa;AAC5C;AACA,mBAAoBJ,CAAC,IAAKA,CAAC,CAACC,KAAK,CAACI,YAAa;AAC/C,gBAAiBL,CAAC,IAAK,CAACA,CAAC,CAACC,KAAK,CAACK,UAAU,GAAGN,CAAC,CAACC,KAAK,CAACG,YAAY,IAAI,CAAE;AACvE,CAAC;AAED,MAAMG,IAAI,GAAGf,MAAM,CAACgB,GAAI;AACxB;AACA,WAAYR,CAAC,IAAKH,GAAG,CAACG,CAAC,CAACC,KAAK,CAACQ,SAAS,CAAE;AACzC,CAAC;;AAED;AACA;AACA;AACA,MAAMC,gBAAgB,gBAAGhB,UAAU,CACjC,CAAC;EAAEiB,QAAQ;EAAE,GAAGC;AAAK,CAAC,EAAEC,GAAG,kBACzB,oBAAC,SAAS;EAAC,IAAI,EAAC,UAAU;EAAC;AAAS,GAAKD,IAAI;EAAE,GAAG,EAAEC;AAAI,iBACtD,oBAAC,aAAa,OAAG,EAChBF,QAAQ,iBAAI,oBAAC,IAAI,QAAEA,QAAQ,CAAQ,CAEvC,CACF;AAEDD,gBAAgB,CAACI,WAAW,GAAG,kBAAkB;AAEjD,eAAeJ,gBAAgB"}
@@ -1,5 +1,4 @@
1
1
  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); }
2
-
3
2
  import React, { useCallback, useRef } from 'react';
4
3
  import styled from '@emotion/styled';
5
4
  import { ellipsisStyles, resetFocusStyles, transitionStyles } from '@os-design/styles';
@@ -77,7 +76,6 @@ const SelectedDay = styled(Day)`
77
76
  background-color: ${p => clr(p.theme.datePickerSelectedDayColorBg)};
78
77
  color: ${p => clr(p.theme.datePickerSelectedDayColorText)};
79
78
  `;
80
-
81
79
  const DatePickerCalendar = ({
82
80
  firstDayOfWeek,
83
81
  locale,
@@ -106,7 +104,6 @@ const DatePickerCalendar = ({
106
104
  },
107
105
  onKeyDown: e => {
108
106
  if (!onChangeRef.current) return;
109
-
110
107
  if (['Enter', ' '].includes(e.key)) {
111
108
  onChangeRef.current(date.getTime() / 1000);
112
109
  e.preventDefault();
@@ -137,24 +134,20 @@ const DatePickerCalendar = ({
137
134
  key: date.toISOString()
138
135
  }, getDayProps(date)), date.getDate());
139
136
  }
140
-
141
137
  if (type === 'selectedDay') {
142
138
  return /*#__PURE__*/React.createElement(SelectedDay, _extends({
143
139
  key: date.toISOString()
144
140
  }, getDayProps(date)), date.getDate());
145
141
  }
146
-
147
142
  if (type === 'today') {
148
143
  return /*#__PURE__*/React.createElement(Today, _extends({
149
144
  key: date.toISOString()
150
145
  }, getDayProps(date)), date.getDate());
151
146
  }
152
-
153
147
  return /*#__PURE__*/React.createElement(Day, _extends({
154
148
  key: date.toISOString()
155
149
  }, getDayProps(date)), date.getDate());
156
150
  })));
157
151
  };
158
-
159
152
  export default DatePickerCalendar;
160
153
  //# sourceMappingURL=DatePickerCalendar.js.map