@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,90 +1,64 @@
1
1
  "use strict";
2
2
 
3
3
  function _typeof(obj) { "@babel/helpers - typeof"; return _typeof = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function (obj) { return typeof obj; } : function (obj) { return obj && "function" == typeof Symbol && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; }, _typeof(obj); }
4
-
5
4
  Object.defineProperty(exports, "__esModule", {
6
5
  value: true
7
6
  });
8
7
  exports["default"] = void 0;
9
-
10
8
  var _react = _interopRequireWildcard(require("react"));
11
-
12
9
  var _styles = require("@os-design/styles");
13
-
14
10
  var _utils = require("@os-design/utils");
15
-
16
11
  var _theming = require("@os-design/theming");
17
-
18
12
  var _icons = require("@os-design/icons");
19
-
20
13
  var _styled = _interopRequireDefault(require("@emotion/styled"));
21
-
22
14
  var _react2 = require("@emotion/react");
23
-
24
15
  var _excluded = ["type", "size", "children"];
25
-
26
16
  var _templateObject, _templateObject2, _templateObject3, _templateObject4, _templateObject5, _templateObject6, _templateObject7, _templateObject8;
27
-
28
17
  function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; }
29
-
30
18
  function _getRequireWildcardCache(nodeInterop) { if (typeof WeakMap !== "function") return null; var cacheBabelInterop = new WeakMap(); var cacheNodeInterop = new WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(nodeInterop) { return nodeInterop ? cacheNodeInterop : cacheBabelInterop; })(nodeInterop); }
31
-
32
19
  function _interopRequireWildcard(obj, nodeInterop) { if (!nodeInterop && obj && obj.__esModule) { return obj; } if (obj === null || _typeof(obj) !== "object" && typeof obj !== "function") { return { "default": obj }; } var cache = _getRequireWildcardCache(nodeInterop); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (key !== "default" && Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } newObj["default"] = obj; if (cache) { cache.set(obj, newObj); } return newObj; }
33
-
34
20
  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); }
35
-
36
21
  function _objectWithoutProperties(source, excluded) { if (source == null) return {}; var target = _objectWithoutPropertiesLoose(source, excluded); var key, i; if (Object.getOwnPropertySymbols) { var sourceSymbolKeys = Object.getOwnPropertySymbols(source); for (i = 0; i < sourceSymbolKeys.length; i++) { key = sourceSymbolKeys[i]; if (excluded.indexOf(key) >= 0) continue; if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue; target[key] = source[key]; } } return target; }
37
-
38
22
  function _objectWithoutPropertiesLoose(source, excluded) { if (source == null) return {}; var target = {}; var sourceKeys = Object.keys(source); var key, i; for (i = 0; i < sourceKeys.length; i++) { key = sourceKeys[i]; if (excluded.indexOf(key) >= 0) continue; target[key] = source[key]; } return target; }
39
-
40
23
  function _taggedTemplateLiteral(strings, raw) { if (!raw) { raw = strings.slice(0); } return Object.freeze(Object.defineProperties(strings, { raw: { value: Object.freeze(raw) } })); }
41
-
42
24
  var infoContainerStyles = function infoContainerStyles(p) {
43
25
  return p.type === 'info' && (0, _react2.css)(_templateObject || (_templateObject = _taggedTemplateLiteral(["\n background-color: ", ";\n "])), (0, _theming.clr)(p.theme.alertInfoColorBg));
44
26
  };
45
-
46
27
  var successContainerStyles = function successContainerStyles(p) {
47
28
  return p.type === 'success' && (0, _react2.css)(_templateObject2 || (_templateObject2 = _taggedTemplateLiteral(["\n background-color: ", ";\n "])), (0, _theming.clr)(p.theme.alertSuccessColorBg));
48
29
  };
49
-
50
30
  var errorContainerStyles = function errorContainerStyles(p) {
51
31
  return p.type === 'error' && (0, _react2.css)(_templateObject3 || (_templateObject3 = _taggedTemplateLiteral(["\n background-color: ", ";\n "])), (0, _theming.clr)(p.theme.alertErrorColorBg));
52
32
  };
53
-
54
33
  var Container = (0, _styled["default"])('div', (0, _utils.omitEmotionProps)('type', 'size'))(_templateObject4 || (_templateObject4 = _taggedTemplateLiteral(["\n display: flex;\n flex-direction: row;\n align-items: center;\n\n padding: 1em;\n border-radius: ", "em;\n color: ", ";\n\n ", ";\n ", ";\n ", ";\n ", ";\n"])), function (p) {
55
34
  return p.theme.borderRadius;
56
35
  }, function (p) {
57
36
  return (0, _theming.clr)(p.theme.colorText);
58
37
  }, infoContainerStyles, successContainerStyles, errorContainerStyles, _styles.sizeStyles);
59
-
60
38
  var infoIconContainerStyles = function infoIconContainerStyles(p) {
61
39
  return p.type === 'info' && (0, _react2.css)(_templateObject5 || (_templateObject5 = _taggedTemplateLiteral(["\n color: ", ";\n "])), (0, _theming.clr)(p.theme.alertInfoColorIcon));
62
40
  };
63
-
64
41
  var successIconContainerStyles = function successIconContainerStyles(p) {
65
42
  return p.type === 'success' && (0, _react2.css)(_templateObject6 || (_templateObject6 = _taggedTemplateLiteral(["\n color: ", ";\n "])), (0, _theming.clr)(p.theme.alertSuccessColorIcon));
66
43
  };
67
-
68
44
  var errorIconContainerStyles = function errorIconContainerStyles(p) {
69
45
  return p.type === 'error' && (0, _react2.css)(_templateObject7 || (_templateObject7 = _taggedTemplateLiteral(["\n color: ", ";\n "])), (0, _theming.clr)(p.theme.alertErrorColorIcon));
70
46
  };
71
-
72
47
  var IconContainer = (0, _styled["default"])('i', (0, _utils.omitEmotionProps)('type'))(_templateObject8 || (_templateObject8 = _taggedTemplateLiteral(["\n display: flex;\n align-items: center;\n\n margin-right: 0.3em;\n font-size: 1.4em;\n\n ", ";\n ", ";\n ", ";\n"])), infoIconContainerStyles, successIconContainerStyles, errorIconContainerStyles);
73
48
  var typeIconMap = {
74
49
  info: _icons.InfoCircle,
75
50
  success: _icons.CheckCircle,
76
51
  error: _icons.CloseCircle
77
52
  };
53
+
78
54
  /**
79
55
  * The component for feedback.
80
56
  */
81
-
82
57
  var Alert = /*#__PURE__*/(0, _react.forwardRef)(function (_ref, ref) {
83
58
  var type = _ref.type,
84
- size = _ref.size,
85
- children = _ref.children,
86
- rest = _objectWithoutProperties(_ref, _excluded);
87
-
59
+ size = _ref.size,
60
+ children = _ref.children,
61
+ rest = _objectWithoutProperties(_ref, _excluded);
88
62
  var Icon = (0, _react.useMemo)(function () {
89
63
  return typeIconMap[type];
90
64
  }, [type]);
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","names":["infoContainerStyles","p","type","css","clr","theme","alertInfoColorBg","successContainerStyles","alertSuccessColorBg","errorContainerStyles","alertErrorColorBg","Container","styled","omitEmotionProps","borderRadius","colorText","sizeStyles","infoIconContainerStyles","alertInfoColorIcon","successIconContainerStyles","alertSuccessColorIcon","errorIconContainerStyles","alertErrorColorIcon","IconContainer","typeIconMap","info","InfoCircle","success","CheckCircle","error","CloseCircle","Alert","forwardRef","ref","size","children","rest","Icon","useMemo","displayName"],"sources":["../../../src/Alert/index.tsx"],"sourcesContent":["import React, { forwardRef, useMemo } from 'react';\nimport { sizeStyles, WithSize } from '@os-design/styles';\nimport { omitEmotionProps } from '@os-design/utils';\nimport { clr } from '@os-design/theming';\nimport { CheckCircle, CloseCircle, InfoCircle } from '@os-design/icons';\nimport styled from '@emotion/styled';\nimport { css } from '@emotion/react';\n\ntype JsxDivProps = Omit<JSX.IntrinsicElements['div'], 'ref'>;\nexport interface AlertProps extends JsxDivProps, WithSize {\n /**\n * Type of styles.\n */\n type: 'info' | 'success' | 'error';\n}\n\nconst infoContainerStyles = (p) =>\n p.type === 'info' &&\n css`\n background-color: ${clr(p.theme.alertInfoColorBg)};\n `;\n\nconst successContainerStyles = (p) =>\n p.type === 'success' &&\n css`\n background-color: ${clr(p.theme.alertSuccessColorBg)};\n `;\n\nconst errorContainerStyles = (p) =>\n p.type === 'error' &&\n css`\n background-color: ${clr(p.theme.alertErrorColorBg)};\n `;\n\ntype ContainerProps = Pick<AlertProps, 'type' | 'size'>;\nconst Container = styled(\n 'div',\n omitEmotionProps('type', 'size')\n)<ContainerProps>`\n display: flex;\n flex-direction: row;\n align-items: center;\n\n padding: 1em;\n border-radius: ${(p) => p.theme.borderRadius}em;\n color: ${(p) => clr(p.theme.colorText)};\n\n ${infoContainerStyles};\n ${successContainerStyles};\n ${errorContainerStyles};\n ${sizeStyles};\n`;\n\nconst infoIconContainerStyles = (p) =>\n p.type === 'info' &&\n css`\n color: ${clr(p.theme.alertInfoColorIcon)};\n `;\n\nconst successIconContainerStyles = (p) =>\n p.type === 'success' &&\n css`\n color: ${clr(p.theme.alertSuccessColorIcon)};\n `;\n\nconst errorIconContainerStyles = (p) =>\n p.type === 'error' &&\n css`\n color: ${clr(p.theme.alertErrorColorIcon)};\n `;\n\ntype IconContainerProps = Pick<AlertProps, 'type'>;\nconst IconContainer = styled('i', omitEmotionProps('type'))<IconContainerProps>`\n display: flex;\n align-items: center;\n\n margin-right: 0.3em;\n font-size: 1.4em;\n\n ${infoIconContainerStyles};\n ${successIconContainerStyles};\n ${errorIconContainerStyles};\n`;\n\nconst typeIconMap = {\n info: InfoCircle,\n success: CheckCircle,\n error: CloseCircle,\n};\n\n/**\n * The component for feedback.\n */\nconst Alert = forwardRef<HTMLDivElement, AlertProps>(\n ({ type, size, children, ...rest }, ref) => {\n const Icon = useMemo(() => typeIconMap[type], [type]);\n\n return (\n <Container size={size} type={type} role='alert' {...rest} ref={ref}>\n <IconContainer type={type}>\n <Icon />\n </IconContainer>\n <span>{children}</span>\n </Container>\n );\n }\n);\n\nAlert.displayName = 'Alert';\n\nexport default Alert;\n"],"mappings":"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"}
1
+ {"version":3,"file":"index.js","names":["infoContainerStyles","p","type","css","clr","theme","alertInfoColorBg","successContainerStyles","alertSuccessColorBg","errorContainerStyles","alertErrorColorBg","Container","styled","omitEmotionProps","borderRadius","colorText","sizeStyles","infoIconContainerStyles","alertInfoColorIcon","successIconContainerStyles","alertSuccessColorIcon","errorIconContainerStyles","alertErrorColorIcon","IconContainer","typeIconMap","info","InfoCircle","success","CheckCircle","error","CloseCircle","Alert","forwardRef","ref","size","children","rest","Icon","useMemo","displayName"],"sources":["../../../src/Alert/index.tsx"],"sourcesContent":["import React, { forwardRef, useMemo } from 'react';\nimport { sizeStyles, WithSize } from '@os-design/styles';\nimport { omitEmotionProps } from '@os-design/utils';\nimport { clr } from '@os-design/theming';\nimport { CheckCircle, CloseCircle, InfoCircle } from '@os-design/icons';\nimport styled from '@emotion/styled';\nimport { css } from '@emotion/react';\n\ntype JsxDivProps = Omit<JSX.IntrinsicElements['div'], 'ref'>;\nexport interface AlertProps extends JsxDivProps, WithSize {\n /**\n * Type of styles.\n */\n type: 'info' | 'success' | 'error';\n}\n\nconst infoContainerStyles = (p) =>\n p.type === 'info' &&\n css`\n background-color: ${clr(p.theme.alertInfoColorBg)};\n `;\n\nconst successContainerStyles = (p) =>\n p.type === 'success' &&\n css`\n background-color: ${clr(p.theme.alertSuccessColorBg)};\n `;\n\nconst errorContainerStyles = (p) =>\n p.type === 'error' &&\n css`\n background-color: ${clr(p.theme.alertErrorColorBg)};\n `;\n\ntype ContainerProps = Pick<AlertProps, 'type' | 'size'>;\nconst Container = styled(\n 'div',\n omitEmotionProps('type', 'size')\n)<ContainerProps>`\n display: flex;\n flex-direction: row;\n align-items: center;\n\n padding: 1em;\n border-radius: ${(p) => p.theme.borderRadius}em;\n color: ${(p) => clr(p.theme.colorText)};\n\n ${infoContainerStyles};\n ${successContainerStyles};\n ${errorContainerStyles};\n ${sizeStyles};\n`;\n\nconst infoIconContainerStyles = (p) =>\n p.type === 'info' &&\n css`\n color: ${clr(p.theme.alertInfoColorIcon)};\n `;\n\nconst successIconContainerStyles = (p) =>\n p.type === 'success' &&\n css`\n color: ${clr(p.theme.alertSuccessColorIcon)};\n `;\n\nconst errorIconContainerStyles = (p) =>\n p.type === 'error' &&\n css`\n color: ${clr(p.theme.alertErrorColorIcon)};\n `;\n\ntype IconContainerProps = Pick<AlertProps, 'type'>;\nconst IconContainer = styled('i', omitEmotionProps('type'))<IconContainerProps>`\n display: flex;\n align-items: center;\n\n margin-right: 0.3em;\n font-size: 1.4em;\n\n ${infoIconContainerStyles};\n ${successIconContainerStyles};\n ${errorIconContainerStyles};\n`;\n\nconst typeIconMap = {\n info: InfoCircle,\n success: CheckCircle,\n error: CloseCircle,\n};\n\n/**\n * The component for feedback.\n */\nconst Alert = forwardRef<HTMLDivElement, AlertProps>(\n ({ type, size, children, ...rest }, ref) => {\n const Icon = useMemo(() => typeIconMap[type], [type]);\n\n return (\n <Container size={size} type={type} role='alert' {...rest} ref={ref}>\n <IconContainer type={type}>\n <Icon />\n </IconContainer>\n <span>{children}</span>\n </Container>\n );\n }\n);\n\nAlert.displayName = 'Alert';\n\nexport default Alert;\n"],"mappings":"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"}
@@ -1,48 +1,28 @@
1
1
  "use strict";
2
2
 
3
3
  function _typeof(obj) { "@babel/helpers - typeof"; return _typeof = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function (obj) { return typeof obj; } : function (obj) { return obj && "function" == typeof Symbol && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; }, _typeof(obj); }
4
-
5
4
  Object.defineProperty(exports, "__esModule", {
6
5
  value: true
7
6
  });
8
7
  exports["default"] = void 0;
9
-
10
8
  var _react = _interopRequireWildcard(require("react"));
11
-
12
9
  var _styled = _interopRequireDefault(require("@emotion/styled"));
13
-
14
10
  var _icons = require("@os-design/icons");
15
-
16
11
  var _styles = require("@os-design/styles");
17
-
18
12
  var _utils = require("@os-design/utils");
19
-
20
13
  var _theming = require("@os-design/theming");
21
-
22
14
  var _nameToInitials = _interopRequireDefault(require("./utils/nameToInitials"));
23
-
24
15
  var _strToHue = _interopRequireDefault(require("./utils/strToHue"));
25
-
26
16
  var _Image = _interopRequireDefault(require("../Image"));
27
-
28
17
  var _excluded = ["firstName", "lastName", "image", "imageProps", "online", "size"];
29
-
30
18
  var _templateObject, _templateObject2, _templateObject3, _templateObject4, _templateObject5;
31
-
32
19
  function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; }
33
-
34
20
  function _getRequireWildcardCache(nodeInterop) { if (typeof WeakMap !== "function") return null; var cacheBabelInterop = new WeakMap(); var cacheNodeInterop = new WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(nodeInterop) { return nodeInterop ? cacheNodeInterop : cacheBabelInterop; })(nodeInterop); }
35
-
36
21
  function _interopRequireWildcard(obj, nodeInterop) { if (!nodeInterop && obj && obj.__esModule) { return obj; } if (obj === null || _typeof(obj) !== "object" && typeof obj !== "function") { return { "default": obj }; } var cache = _getRequireWildcardCache(nodeInterop); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (key !== "default" && Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } newObj["default"] = obj; if (cache) { cache.set(obj, newObj); } return newObj; }
37
-
38
22
  function _extends() { _extends = Object.assign ? Object.assign.bind() : function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }
39
-
40
23
  function _objectWithoutProperties(source, excluded) { if (source == null) return {}; var target = _objectWithoutPropertiesLoose(source, excluded); var key, i; if (Object.getOwnPropertySymbols) { var sourceSymbolKeys = Object.getOwnPropertySymbols(source); for (i = 0; i < sourceSymbolKeys.length; i++) { key = sourceSymbolKeys[i]; if (excluded.indexOf(key) >= 0) continue; if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue; target[key] = source[key]; } } return target; }
41
-
42
24
  function _objectWithoutPropertiesLoose(source, excluded) { if (source == null) return {}; var target = {}; var sourceKeys = Object.keys(source); var key, i; for (i = 0; i < sourceKeys.length; i++) { key = sourceKeys[i]; if (excluded.indexOf(key) >= 0) continue; target[key] = source[key]; } return target; }
43
-
44
25
  function _taggedTemplateLiteral(strings, raw) { if (!raw) { raw = strings.slice(0); } return Object.freeze(Object.defineProperties(strings, { raw: { value: Object.freeze(raw) } })); }
45
-
46
26
  var Container = (0, _styled["default"])('div', (0, _utils.omitEmotionProps)('size'))(_templateObject || (_templateObject = _taggedTemplateLiteral(["\n position: relative;\n width: 1em;\n height: 1em;\n min-width: 1em;\n min-height: 1em;\n ", ";\n"])), _styles.sizeStyles);
47
27
  var AvatarContainer = (0, _styled["default"])('div', (0, _utils.omitEmotionProps)('bgColor'))(_templateObject2 || (_templateObject2 = _taggedTemplateLiteral(["\n width: 100%;\n height: 100%;\n border-radius: ", "em;\n\n font-weight: 500;\n line-height: 1;\n\n color: hsl(0, 0%, 100%);\n background-color: ", ";\n\n display: flex;\n justify-content: center;\n align-items: center;\n\n white-space: nowrap; // To disable multiline text\n overflow: hidden; // To trim the image corners\n\n ", ";\n"])), function (p) {
48
28
  return p.theme.borderRadius;
@@ -50,37 +30,31 @@ var AvatarContainer = (0, _styled["default"])('div', (0, _utils.omitEmotionProps
50
30
  return (0, _theming.clr)(p.bgColor);
51
31
  }, _styles.sizeStyles);
52
32
  var UserIcon = (0, _styled["default"])(_icons.User)(_templateObject3 || (_templateObject3 = _taggedTemplateLiteral(["\n font-size: 0.6em;\n"])));
53
-
54
33
  var Initials = _styled["default"].div(_templateObject4 || (_templateObject4 = _taggedTemplateLiteral(["\n font-size: 0.35em;\n"])));
55
-
56
34
  var INNER_SIZE = 0.25;
57
35
  var OUTER_SIZE = INNER_SIZE * 1.2;
58
-
59
36
  var Online = _styled["default"].span(_templateObject5 || (_templateObject5 = _taggedTemplateLiteral(["\n position: absolute;\n right: -0.05em;\n bottom: -0.05em;\n width: ", "em;\n height: ", "em;\n border-radius: 50%;\n background-color: ", ";\n\n &::before {\n content: '';\n position: absolute;\n left: ", "em;\n bottom: ", "em;\n width: ", "em;\n height: ", "em;\n border-radius: 50%;\n background-color: ", ";\n }\n"])), OUTER_SIZE, OUTER_SIZE, function (p) {
60
37
  return (0, _theming.clr)(p.theme.avatarOnlineColorScoop);
61
38
  }, (OUTER_SIZE - INNER_SIZE) / 2, (OUTER_SIZE - INNER_SIZE) / 2, INNER_SIZE, INNER_SIZE, function (p) {
62
39
  return (0, _theming.clr)(p.theme.avatarOnlineColorBg);
63
40
  });
41
+
64
42
  /**
65
43
  * Avatar can be used to represent people.
66
44
  */
67
-
68
-
69
45
  var Avatar = /*#__PURE__*/(0, _react.forwardRef)(function (_ref, ref) {
70
46
  var firstName = _ref.firstName,
71
- lastName = _ref.lastName,
72
- image = _ref.image,
73
- _ref$imageProps = _ref.imageProps,
74
- imageProps = _ref$imageProps === void 0 ? {} : _ref$imageProps,
75
- _ref$online = _ref.online,
76
- online = _ref$online === void 0 ? false : _ref$online,
77
- _ref$size = _ref.size,
78
- size = _ref$size === void 0 ? '2em' : _ref$size,
79
- rest = _objectWithoutProperties(_ref, _excluded);
80
-
47
+ lastName = _ref.lastName,
48
+ image = _ref.image,
49
+ _ref$imageProps = _ref.imageProps,
50
+ imageProps = _ref$imageProps === void 0 ? {} : _ref$imageProps,
51
+ _ref$online = _ref.online,
52
+ online = _ref$online === void 0 ? false : _ref$online,
53
+ _ref$size = _ref.size,
54
+ size = _ref$size === void 0 ? '2em' : _ref$size,
55
+ rest = _objectWithoutProperties(_ref, _excluded);
81
56
  var _useTheme = (0, _theming.useTheme)(),
82
- theme = _useTheme.theme;
83
-
57
+ theme = _useTheme.theme;
84
58
  var bgColor = (0, _react.useMemo)(function () {
85
59
  var parts = [];
86
60
  if (firstName) parts.push(firstName);
@@ -98,14 +72,16 @@ var Avatar = /*#__PURE__*/(0, _react.forwardRef)(function (_ref, ref) {
98
72
  if (image) return /*#__PURE__*/_react["default"].createElement(_Image["default"], _extends({
99
73
  url: image,
100
74
  cropped: true
101
- }, imageProps)); // Render the initials of the name if either firstName or lastName was specified
75
+ }, imageProps));
102
76
 
77
+ // Render the initials of the name if either firstName or lastName was specified
103
78
  var initials = (0, _nameToInitials["default"])({
104
79
  firstName: firstName,
105
80
  lastName: lastName
106
81
  });
107
- if (initials) return /*#__PURE__*/_react["default"].createElement(Initials, null, initials); // Otherwise render the user icon
82
+ if (initials) return /*#__PURE__*/_react["default"].createElement(Initials, null, initials);
108
83
 
84
+ // Otherwise render the user icon
109
85
  return /*#__PURE__*/_react["default"].createElement(UserIcon, null);
110
86
  }, [image, imageProps, firstName, lastName]);
111
87
  return /*#__PURE__*/_react["default"].createElement(Container, {
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","names":["Container","styled","omitEmotionProps","sizeStyles","AvatarContainer","p","theme","borderRadius","clr","bgColor","UserIcon","User","Initials","div","INNER_SIZE","OUTER_SIZE","Online","span","avatarOnlineColorScoop","avatarOnlineColorBg","Avatar","forwardRef","ref","firstName","lastName","image","imageProps","online","size","rest","useTheme","useMemo","parts","push","length","strToHue","join","avatarDefaultColorBg","fullName","filter","i","undefined","renderChildren","useCallback","initials","nameToInitials","displayName"],"sources":["../../../src/Avatar/index.tsx"],"sourcesContent":["import React, { forwardRef, useCallback, useMemo } from 'react';\nimport styled from '@emotion/styled';\nimport { User } from '@os-design/icons';\nimport { WithSize, sizeStyles } from '@os-design/styles';\nimport { omitEmotionProps } from '@os-design/utils';\nimport { clr, Color, useTheme } from '@os-design/theming';\nimport nameToInitials from './utils/nameToInitials';\nimport strToHue from './utils/strToHue';\nimport Image, { ImageProps } from '../Image';\n\ntype JsxDivProps = Omit<JSX.IntrinsicElements['div'], 'ref'>;\nexport interface AvatarProps extends JsxDivProps, WithSize {\n /**\n * Used to render the first letter if the image URL is not specified.\n * @default undefined\n */\n firstName?: string;\n /**\n * Used to render the second letter if the image URL is not specified.\n * @default undefined\n */\n lastName?: string;\n /**\n * The URL of the image.\n * @default undefined\n */\n image?: string;\n /**\n * The props of the image.\n * @default undefined\n */\n imageProps?: Omit<ImageProps, 'url'>;\n /**\n * Whether the user is online.\n * @default false\n */\n online?: boolean;\n}\n\nconst Container = styled('div', omitEmotionProps('size'))<WithSize>`\n position: relative;\n width: 1em;\n height: 1em;\n min-width: 1em;\n min-height: 1em;\n ${sizeStyles};\n`;\n\ninterface AvatarContainerProps {\n bgColor: Color;\n}\n\nconst AvatarContainer = styled(\n 'div',\n omitEmotionProps('bgColor')\n)<AvatarContainerProps>`\n width: 100%;\n height: 100%;\n border-radius: ${(p) => p.theme.borderRadius}em;\n\n font-weight: 500;\n line-height: 1;\n\n color: hsl(0, 0%, 100%);\n background-color: ${(p) => clr(p.bgColor)};\n\n display: flex;\n justify-content: center;\n align-items: center;\n\n white-space: nowrap; // To disable multiline text\n overflow: hidden; // To trim the image corners\n\n ${sizeStyles};\n`;\n\nconst UserIcon = styled(User)`\n font-size: 0.6em;\n`;\n\nconst Initials = styled.div`\n font-size: 0.35em;\n`;\n\nconst INNER_SIZE = 0.25;\nconst OUTER_SIZE = INNER_SIZE * 1.2;\n\nconst Online = styled.span`\n position: absolute;\n right: -0.05em;\n bottom: -0.05em;\n width: ${OUTER_SIZE}em;\n height: ${OUTER_SIZE}em;\n border-radius: 50%;\n background-color: ${(p) => clr(p.theme.avatarOnlineColorScoop)};\n\n &::before {\n content: '';\n position: absolute;\n left: ${(OUTER_SIZE - INNER_SIZE) / 2}em;\n bottom: ${(OUTER_SIZE - INNER_SIZE) / 2}em;\n width: ${INNER_SIZE}em;\n height: ${INNER_SIZE}em;\n border-radius: 50%;\n background-color: ${(p) => clr(p.theme.avatarOnlineColorBg)};\n }\n`;\n\n/**\n * Avatar can be used to represent people.\n */\nconst Avatar = forwardRef<HTMLDivElement, AvatarProps>(\n (\n {\n firstName,\n lastName,\n image,\n imageProps = {},\n online = false,\n size = '2em',\n ...rest\n },\n ref\n ) => {\n const { theme } = useTheme();\n\n const bgColor = useMemo<Color>(() => {\n const parts: string[] = [];\n if (firstName) parts.push(firstName);\n if (lastName) parts.push(lastName);\n if (parts.length > 0) return [strToHue(parts.join(' ')), 30, 60];\n return theme.avatarDefaultColorBg;\n }, [firstName, lastName, theme.avatarDefaultColorBg]);\n\n const fullName = useMemo(\n () => [firstName, lastName].filter((i) => i).join(' ') || undefined,\n [firstName, lastName]\n );\n\n const renderChildren = useCallback(() => {\n // Render the image if the image property was specified\n if (image) return <Image url={image} cropped {...imageProps} />;\n\n // Render the initials of the name if either firstName or lastName was specified\n const initials = nameToInitials({ firstName, lastName });\n if (initials) return <Initials>{initials}</Initials>;\n\n // Otherwise render the user icon\n return <UserIcon />;\n }, [image, imageProps, firstName, lastName]);\n\n return (\n <Container size={size}>\n <AvatarContainer\n bgColor={bgColor}\n role='img'\n aria-label={fullName || 'User'}\n {...rest}\n ref={ref}\n >\n {renderChildren()}\n </AvatarContainer>\n {online && <Online />}\n </Container>\n );\n }\n);\n\nAvatar.displayName = 'Avatar';\n\nexport default Avatar;\n"],"mappings":";;;;;;;;;AAAA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;;;;;;;;;;;;;;;;;;;AA+BA,IAAMA,SAAS,GAAG,IAAAC,kBAAA,EAAO,KAAP,EAAc,IAAAC,uBAAA,EAAiB,MAAjB,CAAd,CAAH,8KAMXC,kBANW,CAAf;AAaA,IAAMC,eAAe,GAAG,IAAAH,kBAAA,EACtB,KADsB,EAEtB,IAAAC,uBAAA,EAAiB,SAAjB,CAFsB,CAAH,oaAMF,UAACG,CAAD;EAAA,OAAOA,CAAC,CAACC,KAAF,CAAQC,YAAf;AAAA,CANE,EAYC,UAACF,CAAD;EAAA,OAAO,IAAAG,YAAA,EAAIH,CAAC,CAACI,OAAN,CAAP;AAAA,CAZD,EAqBjBN,kBArBiB,CAArB;AAwBA,IAAMO,QAAQ,GAAG,IAAAT,kBAAA,EAAOU,WAAP,CAAH,8FAAd;;AAIA,IAAMC,QAAQ,GAAGX,kBAAA,CAAOY,GAAV,+FAAd;;AAIA,IAAMC,UAAU,GAAG,IAAnB;AACA,IAAMC,UAAU,GAAGD,UAAU,GAAG,GAAhC;;AAEA,IAAME,MAAM,GAAGf,kBAAA,CAAOgB,IAAV,uaAIDF,UAJC,EAKAA,UALA,EAOU,UAACV,CAAD;EAAA,OAAO,IAAAG,YAAA,EAAIH,CAAC,CAACC,KAAF,CAAQY,sBAAZ,CAAP;AAAA,CAPV,EAYA,CAACH,UAAU,GAAGD,UAAd,IAA4B,CAZ5B,EAaE,CAACC,UAAU,GAAGD,UAAd,IAA4B,CAb9B,EAcCA,UAdD,EAeEA,UAfF,EAiBY,UAACT,CAAD;EAAA,OAAO,IAAAG,YAAA,EAAIH,CAAC,CAACC,KAAF,CAAQa,mBAAZ,CAAP;AAAA,CAjBZ,CAAZ;AAqBA;AACA;AACA;;;AACA,IAAMC,MAAM,gBAAG,IAAAC,iBAAA,EACb,gBAUEC,GAVF,EAWK;EAAA,IATDC,SASC,QATDA,SASC;EAAA,IARDC,QAQC,QARDA,QAQC;EAAA,IAPDC,KAOC,QAPDA,KAOC;EAAA,2BANDC,UAMC;EAAA,IANDA,UAMC,gCANY,EAMZ;EAAA,uBALDC,MAKC;EAAA,IALDA,MAKC,4BALQ,KAKR;EAAA,qBAJDC,IAIC;EAAA,IAJDA,IAIC,0BAJM,KAIN;EAAA,IAHEC,IAGF;;EACH,gBAAkB,IAAAC,iBAAA,GAAlB;EAAA,IAAQxB,KAAR,aAAQA,KAAR;;EAEA,IAAMG,OAAO,GAAG,IAAAsB,cAAA,EAAe,YAAM;IACnC,IAAMC,KAAe,GAAG,EAAxB;IACA,IAAIT,SAAJ,EAAeS,KAAK,CAACC,IAAN,CAAWV,SAAX;IACf,IAAIC,QAAJ,EAAcQ,KAAK,CAACC,IAAN,CAAWT,QAAX;IACd,IAAIQ,KAAK,CAACE,MAAN,GAAe,CAAnB,EAAsB,OAAO,CAAC,IAAAC,oBAAA,EAASH,KAAK,CAACI,IAAN,CAAW,GAAX,CAAT,CAAD,EAA4B,EAA5B,EAAgC,EAAhC,CAAP;IACtB,OAAO9B,KAAK,CAAC+B,oBAAb;EACD,CANe,EAMb,CAACd,SAAD,EAAYC,QAAZ,EAAsBlB,KAAK,CAAC+B,oBAA5B,CANa,CAAhB;EAQA,IAAMC,QAAQ,GAAG,IAAAP,cAAA,EACf;IAAA,OAAM,CAACR,SAAD,EAAYC,QAAZ,EAAsBe,MAAtB,CAA6B,UAACC,CAAD;MAAA,OAAOA,CAAP;IAAA,CAA7B,EAAuCJ,IAAvC,CAA4C,GAA5C,KAAoDK,SAA1D;EAAA,CADe,EAEf,CAAClB,SAAD,EAAYC,QAAZ,CAFe,CAAjB;EAKA,IAAMkB,cAAc,GAAG,IAAAC,kBAAA,EAAY,YAAM;IACvC;IACA,IAAIlB,KAAJ,EAAW,oBAAO,gCAAC,iBAAD;MAAO,GAAG,EAAEA,KAAZ;MAAmB,OAAO;IAA1B,GAA+BC,UAA/B,EAAP,CAF4B,CAIvC;;IACA,IAAMkB,QAAQ,GAAG,IAAAC,0BAAA,EAAe;MAAEtB,SAAS,EAATA,SAAF;MAAaC,QAAQ,EAARA;IAAb,CAAf,CAAjB;IACA,IAAIoB,QAAJ,EAAc,oBAAO,gCAAC,QAAD,QAAWA,QAAX,CAAP,CANyB,CAQvC;;IACA,oBAAO,gCAAC,QAAD,OAAP;EACD,CAVsB,EAUpB,CAACnB,KAAD,EAAQC,UAAR,EAAoBH,SAApB,EAA+BC,QAA/B,CAVoB,CAAvB;EAYA,oBACE,gCAAC,SAAD;IAAW,IAAI,EAAEI;EAAjB,gBACE,gCAAC,eAAD;IACE,OAAO,EAAEnB,OADX;IAEE,IAAI,EAAC,KAFP;IAGE,cAAY6B,QAAQ,IAAI;EAH1B,GAIMT,IAJN;IAKE,GAAG,EAAEP;EALP,IAOGoB,cAAc,EAPjB,CADF,EAUGf,MAAM,iBAAI,gCAAC,MAAD,OAVb,CADF;AAcD,CAtDY,CAAf;AAyDAP,MAAM,CAAC0B,WAAP,GAAqB,QAArB;eAEe1B,M"}
1
+ {"version":3,"file":"index.js","names":["Container","styled","omitEmotionProps","sizeStyles","AvatarContainer","p","theme","borderRadius","clr","bgColor","UserIcon","User","Initials","div","INNER_SIZE","OUTER_SIZE","Online","span","avatarOnlineColorScoop","avatarOnlineColorBg","Avatar","forwardRef","ref","firstName","lastName","image","imageProps","online","size","rest","useTheme","useMemo","parts","push","length","strToHue","join","avatarDefaultColorBg","fullName","filter","i","undefined","renderChildren","useCallback","initials","nameToInitials","displayName"],"sources":["../../../src/Avatar/index.tsx"],"sourcesContent":["import React, { forwardRef, useCallback, useMemo } from 'react';\nimport styled from '@emotion/styled';\nimport { User } from '@os-design/icons';\nimport { WithSize, sizeStyles } from '@os-design/styles';\nimport { omitEmotionProps } from '@os-design/utils';\nimport { clr, Color, useTheme } from '@os-design/theming';\nimport nameToInitials from './utils/nameToInitials';\nimport strToHue from './utils/strToHue';\nimport Image, { ImageProps } from '../Image';\n\ntype JsxDivProps = Omit<JSX.IntrinsicElements['div'], 'ref'>;\nexport interface AvatarProps extends JsxDivProps, WithSize {\n /**\n * Used to render the first letter if the image URL is not specified.\n * @default undefined\n */\n firstName?: string;\n /**\n * Used to render the second letter if the image URL is not specified.\n * @default undefined\n */\n lastName?: string;\n /**\n * The URL of the image.\n * @default undefined\n */\n image?: string;\n /**\n * The props of the image.\n * @default undefined\n */\n imageProps?: Omit<ImageProps, 'url'>;\n /**\n * Whether the user is online.\n * @default false\n */\n online?: boolean;\n}\n\nconst Container = styled('div', omitEmotionProps('size'))<WithSize>`\n position: relative;\n width: 1em;\n height: 1em;\n min-width: 1em;\n min-height: 1em;\n ${sizeStyles};\n`;\n\ninterface AvatarContainerProps {\n bgColor: Color;\n}\n\nconst AvatarContainer = styled(\n 'div',\n omitEmotionProps('bgColor')\n)<AvatarContainerProps>`\n width: 100%;\n height: 100%;\n border-radius: ${(p) => p.theme.borderRadius}em;\n\n font-weight: 500;\n line-height: 1;\n\n color: hsl(0, 0%, 100%);\n background-color: ${(p) => clr(p.bgColor)};\n\n display: flex;\n justify-content: center;\n align-items: center;\n\n white-space: nowrap; // To disable multiline text\n overflow: hidden; // To trim the image corners\n\n ${sizeStyles};\n`;\n\nconst UserIcon = styled(User)`\n font-size: 0.6em;\n`;\n\nconst Initials = styled.div`\n font-size: 0.35em;\n`;\n\nconst INNER_SIZE = 0.25;\nconst OUTER_SIZE = INNER_SIZE * 1.2;\n\nconst Online = styled.span`\n position: absolute;\n right: -0.05em;\n bottom: -0.05em;\n width: ${OUTER_SIZE}em;\n height: ${OUTER_SIZE}em;\n border-radius: 50%;\n background-color: ${(p) => clr(p.theme.avatarOnlineColorScoop)};\n\n &::before {\n content: '';\n position: absolute;\n left: ${(OUTER_SIZE - INNER_SIZE) / 2}em;\n bottom: ${(OUTER_SIZE - INNER_SIZE) / 2}em;\n width: ${INNER_SIZE}em;\n height: ${INNER_SIZE}em;\n border-radius: 50%;\n background-color: ${(p) => clr(p.theme.avatarOnlineColorBg)};\n }\n`;\n\n/**\n * Avatar can be used to represent people.\n */\nconst Avatar = forwardRef<HTMLDivElement, AvatarProps>(\n (\n {\n firstName,\n lastName,\n image,\n imageProps = {},\n online = false,\n size = '2em',\n ...rest\n },\n ref\n ) => {\n const { theme } = useTheme();\n\n const bgColor = useMemo<Color>(() => {\n const parts: string[] = [];\n if (firstName) parts.push(firstName);\n if (lastName) parts.push(lastName);\n if (parts.length > 0) return [strToHue(parts.join(' ')), 30, 60];\n return theme.avatarDefaultColorBg;\n }, [firstName, lastName, theme.avatarDefaultColorBg]);\n\n const fullName = useMemo(\n () => [firstName, lastName].filter((i) => i).join(' ') || undefined,\n [firstName, lastName]\n );\n\n const renderChildren = useCallback(() => {\n // Render the image if the image property was specified\n if (image) return <Image url={image} cropped {...imageProps} />;\n\n // Render the initials of the name if either firstName or lastName was specified\n const initials = nameToInitials({ firstName, lastName });\n if (initials) return <Initials>{initials}</Initials>;\n\n // Otherwise render the user icon\n return <UserIcon />;\n }, [image, imageProps, firstName, lastName]);\n\n return (\n <Container size={size}>\n <AvatarContainer\n bgColor={bgColor}\n role='img'\n aria-label={fullName || 'User'}\n {...rest}\n ref={ref}\n >\n {renderChildren()}\n </AvatarContainer>\n {online && <Online />}\n </Container>\n );\n }\n);\n\nAvatar.displayName = 'Avatar';\n\nexport default Avatar;\n"],"mappings":"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"}
@@ -4,15 +4,13 @@ Object.defineProperty(exports, "__esModule", {
4
4
  value: true
5
5
  });
6
6
  exports["default"] = void 0;
7
-
8
7
  var nameToInitials = function nameToInitials(_ref) {
9
8
  var firstName = _ref.firstName,
10
- lastName = _ref.lastName;
9
+ lastName = _ref.lastName;
11
10
  var first = firstName ? firstName.charAt(0) : '';
12
11
  var second = lastName ? lastName.charAt(0) : '';
13
12
  return "".concat(first).concat(second).toUpperCase();
14
13
  };
15
-
16
14
  var _default = nameToInitials;
17
15
  exports["default"] = _default;
18
16
  //# sourceMappingURL=nameToInitials.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"nameToInitials.js","names":["nameToInitials","firstName","lastName","first","charAt","second","toUpperCase"],"sources":["../../../../src/Avatar/utils/nameToInitials.ts"],"sourcesContent":["interface Name {\n firstName?: string;\n lastName?: string;\n}\n\nconst nameToInitials = ({ firstName, lastName }: Name): string => {\n const first = firstName ? firstName.charAt(0) : '';\n const second = lastName ? lastName.charAt(0) : '';\n return `${first}${second}`.toUpperCase();\n};\n\nexport default nameToInitials;\n"],"mappings":";;;;;;;AAKA,IAAMA,cAAc,GAAG,SAAjBA,cAAiB,OAA2C;EAAA,IAAxCC,SAAwC,QAAxCA,SAAwC;EAAA,IAA7BC,QAA6B,QAA7BA,QAA6B;EAChE,IAAMC,KAAK,GAAGF,SAAS,GAAGA,SAAS,CAACG,MAAV,CAAiB,CAAjB,CAAH,GAAyB,EAAhD;EACA,IAAMC,MAAM,GAAGH,QAAQ,GAAGA,QAAQ,CAACE,MAAT,CAAgB,CAAhB,CAAH,GAAwB,EAA/C;EACA,OAAO,UAAGD,KAAH,SAAWE,MAAX,EAAoBC,WAApB,EAAP;AACD,CAJD;;eAMeN,c"}
1
+ {"version":3,"file":"nameToInitials.js","names":["nameToInitials","firstName","lastName","first","charAt","second","toUpperCase"],"sources":["../../../../src/Avatar/utils/nameToInitials.ts"],"sourcesContent":["interface Name {\n firstName?: string;\n lastName?: string;\n}\n\nconst nameToInitials = ({ firstName, lastName }: Name): string => {\n const first = firstName ? firstName.charAt(0) : '';\n const second = lastName ? lastName.charAt(0) : '';\n return `${first}${second}`.toUpperCase();\n};\n\nexport default nameToInitials;\n"],"mappings":";;;;;;AAKA,IAAMA,cAAc,GAAG,SAAjBA,cAAc,OAA8C;EAAA,IAAxCC,SAAS,QAATA,SAAS;IAAEC,QAAQ,QAARA,QAAQ;EAC3C,IAAMC,KAAK,GAAGF,SAAS,GAAGA,SAAS,CAACG,MAAM,CAAC,CAAC,CAAC,GAAG,EAAE;EAClD,IAAMC,MAAM,GAAGH,QAAQ,GAAGA,QAAQ,CAACE,MAAM,CAAC,CAAC,CAAC,GAAG,EAAE;EACjD,OAAO,UAAGD,KAAK,SAAGE,MAAM,EAAGC,WAAW,EAAE;AAC1C,CAAC;AAAC,eAEaN,cAAc;AAAA"}
@@ -4,21 +4,17 @@ Object.defineProperty(exports, "__esModule", {
4
4
  value: true
5
5
  });
6
6
  exports["default"] = void 0;
7
-
8
7
  /**
9
8
  * Return the hue of the color by string.
10
9
  */
11
10
  var strToHue = function strToHue(str) {
12
11
  var hash = 0;
13
-
14
12
  for (var i = 0; i < str.length; i += 1) {
15
13
  // eslint-disable-next-line no-bitwise
16
14
  hash = str.charCodeAt(i) + ((hash << 5) - hash);
17
15
  }
18
-
19
16
  return hash % 360;
20
17
  };
21
-
22
18
  var _default = strToHue;
23
19
  exports["default"] = _default;
24
20
  //# sourceMappingURL=strToHue.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"strToHue.js","names":["strToHue","str","hash","i","length","charCodeAt"],"sources":["../../../../src/Avatar/utils/strToHue.ts"],"sourcesContent":["/**\n * Return the hue of the color by string.\n */\nconst strToHue = (str: string): number => {\n let hash = 0;\n for (let i = 0; i < str.length; i += 1) {\n // eslint-disable-next-line no-bitwise\n hash = str.charCodeAt(i) + ((hash << 5) - hash);\n }\n return hash % 360;\n};\n\nexport default strToHue;\n"],"mappings":";;;;;;;AAAA;AACA;AACA;AACA,IAAMA,QAAQ,GAAG,SAAXA,QAAW,CAACC,GAAD,EAAyB;EACxC,IAAIC,IAAI,GAAG,CAAX;;EACA,KAAK,IAAIC,CAAC,GAAG,CAAb,EAAgBA,CAAC,GAAGF,GAAG,CAACG,MAAxB,EAAgCD,CAAC,IAAI,CAArC,EAAwC;IACtC;IACAD,IAAI,GAAGD,GAAG,CAACI,UAAJ,CAAeF,CAAf,KAAqB,CAACD,IAAI,IAAI,CAAT,IAAcA,IAAnC,CAAP;EACD;;EACD,OAAOA,IAAI,GAAG,GAAd;AACD,CAPD;;eASeF,Q"}
1
+ {"version":3,"file":"strToHue.js","names":["strToHue","str","hash","i","length","charCodeAt"],"sources":["../../../../src/Avatar/utils/strToHue.ts"],"sourcesContent":["/**\n * Return the hue of the color by string.\n */\nconst strToHue = (str: string): number => {\n let hash = 0;\n for (let i = 0; i < str.length; i += 1) {\n // eslint-disable-next-line no-bitwise\n hash = str.charCodeAt(i) + ((hash << 5) - hash);\n }\n return hash % 360;\n};\n\nexport default strToHue;\n"],"mappings":";;;;;;AAAA;AACA;AACA;AACA,IAAMA,QAAQ,GAAG,SAAXA,QAAQ,CAAIC,GAAW,EAAa;EACxC,IAAIC,IAAI,GAAG,CAAC;EACZ,KAAK,IAAIC,CAAC,GAAG,CAAC,EAAEA,CAAC,GAAGF,GAAG,CAACG,MAAM,EAAED,CAAC,IAAI,CAAC,EAAE;IACtC;IACAD,IAAI,GAAGD,GAAG,CAACI,UAAU,CAACF,CAAC,CAAC,IAAI,CAACD,IAAI,IAAI,CAAC,IAAIA,IAAI,CAAC;EACjD;EACA,OAAOA,IAAI,GAAG,GAAG;AACnB,CAAC;AAAC,eAEaF,QAAQ;AAAA"}
@@ -1,50 +1,33 @@
1
1
  "use strict";
2
2
 
3
3
  function _typeof(obj) { "@babel/helpers - typeof"; return _typeof = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function (obj) { return typeof obj; } : function (obj) { return obj && "function" == typeof Symbol && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; }, _typeof(obj); }
4
-
5
4
  Object.defineProperty(exports, "__esModule", {
6
5
  value: true
7
6
  });
8
7
  exports["default"] = void 0;
9
-
10
8
  var _styled = _interopRequireDefault(require("@emotion/styled"));
11
-
12
9
  var _react = _interopRequireWildcard(require("react"));
13
-
14
10
  var _styles = require("@os-design/styles");
15
-
16
11
  var _utils = require("@os-design/utils");
17
-
18
12
  var _Skeleton = _interopRequireDefault(require("../Skeleton"));
19
-
20
13
  var _excluded = ["size"];
21
-
22
14
  var _templateObject;
23
-
24
15
  function _getRequireWildcardCache(nodeInterop) { if (typeof WeakMap !== "function") return null; var cacheBabelInterop = new WeakMap(); var cacheNodeInterop = new WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(nodeInterop) { return nodeInterop ? cacheNodeInterop : cacheBabelInterop; })(nodeInterop); }
25
-
26
16
  function _interopRequireWildcard(obj, nodeInterop) { if (!nodeInterop && obj && obj.__esModule) { return obj; } if (obj === null || _typeof(obj) !== "object" && typeof obj !== "function") { return { "default": obj }; } var cache = _getRequireWildcardCache(nodeInterop); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (key !== "default" && Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } newObj["default"] = obj; if (cache) { cache.set(obj, newObj); } return newObj; }
27
-
28
17
  function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; }
29
-
30
18
  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); }
31
-
32
19
  function _objectWithoutProperties(source, excluded) { if (source == null) return {}; var target = _objectWithoutPropertiesLoose(source, excluded); var key, i; if (Object.getOwnPropertySymbols) { var sourceSymbolKeys = Object.getOwnPropertySymbols(source); for (i = 0; i < sourceSymbolKeys.length; i++) { key = sourceSymbolKeys[i]; if (excluded.indexOf(key) >= 0) continue; if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue; target[key] = source[key]; } } return target; }
33
-
34
20
  function _objectWithoutPropertiesLoose(source, excluded) { if (source == null) return {}; var target = {}; var sourceKeys = Object.keys(source); var key, i; for (i = 0; i < sourceKeys.length; i++) { key = sourceKeys[i]; if (excluded.indexOf(key) >= 0) continue; target[key] = source[key]; } return target; }
35
-
36
21
  function _taggedTemplateLiteral(strings, raw) { if (!raw) { raw = strings.slice(0); } return Object.freeze(Object.defineProperties(strings, { raw: { value: Object.freeze(raw) } })); }
37
-
38
22
  var Container = (0, _styled["default"])('div', (0, _utils.omitEmotionProps)('size'))(_templateObject || (_templateObject = _taggedTemplateLiteral(["\n ", ";\n"])), _styles.sizeStyles);
23
+
39
24
  /**
40
25
  * Provides an avatar placeholder while a user waits for the content to load.
41
26
  */
42
-
43
27
  var AvatarSkeleton = /*#__PURE__*/(0, _react.forwardRef)(function (_ref, ref) {
44
28
  var _ref$size = _ref.size,
45
- size = _ref$size === void 0 ? '2em' : _ref$size,
46
- rest = _objectWithoutProperties(_ref, _excluded);
47
-
29
+ size = _ref$size === void 0 ? '2em' : _ref$size,
30
+ rest = _objectWithoutProperties(_ref, _excluded);
48
31
  return /*#__PURE__*/_react["default"].createElement(Container, _extends({
49
32
  size: size
50
33
  }, rest, {
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","names":["Container","styled","omitEmotionProps","sizeStyles","AvatarSkeleton","forwardRef","ref","size","rest","displayName"],"sources":["../../../src/AvatarSkeleton/index.tsx"],"sourcesContent":["import styled from '@emotion/styled';\nimport React, { forwardRef } from 'react';\nimport { sizeStyles, WithSize } from '@os-design/styles';\nimport { omitEmotionProps } from '@os-design/utils';\nimport Skeleton from '../Skeleton';\n\ntype JsxDivProps = Omit<JSX.IntrinsicElements['div'], 'ref'>;\nexport type AvatarSkeletonProps = JsxDivProps & WithSize;\n\nconst Container = styled('div', omitEmotionProps('size'))<WithSize>`\n ${sizeStyles};\n`;\n\n/**\n * Provides an avatar placeholder while a user waits for the content to load.\n */\nconst AvatarSkeleton = forwardRef<HTMLDivElement, AvatarSkeletonProps>(\n ({ size = '2em', ...rest }, ref) => (\n <Container size={size} {...rest} ref={ref}>\n <Skeleton width='1em' />\n </Container>\n )\n);\n\nAvatarSkeleton.displayName = 'AvatarSkeleton';\n\nexport default AvatarSkeleton;\n"],"mappings":";;;;;;;;;AAAA;;AACA;;AACA;;AACA;;AACA;;;;;;;;;;;;;;;;;;;;AAKA,IAAMA,SAAS,GAAG,IAAAC,kBAAA,EAAO,KAAP,EAAc,IAAAC,uBAAA,EAAiB,MAAjB,CAAd,CAAH,iFACXC,kBADW,CAAf;AAIA;AACA;AACA;;AACA,IAAMC,cAAc,gBAAG,IAAAC,iBAAA,EACrB,gBAA4BC,GAA5B;EAAA,qBAAGC,IAAH;EAAA,IAAGA,IAAH,0BAAU,KAAV;EAAA,IAAoBC,IAApB;;EAAA,oBACE,gCAAC,SAAD;IAAW,IAAI,EAAED;EAAjB,GAA2BC,IAA3B;IAAiC,GAAG,EAAEF;EAAtC,iBACE,gCAAC,oBAAD;IAAU,KAAK,EAAC;EAAhB,EADF,CADF;AAAA,CADqB,CAAvB;AAQAF,cAAc,CAACK,WAAf,GAA6B,gBAA7B;eAEeL,c"}
1
+ {"version":3,"file":"index.js","names":["Container","styled","omitEmotionProps","sizeStyles","AvatarSkeleton","forwardRef","ref","size","rest","displayName"],"sources":["../../../src/AvatarSkeleton/index.tsx"],"sourcesContent":["import styled from '@emotion/styled';\nimport React, { forwardRef } from 'react';\nimport { sizeStyles, WithSize } from '@os-design/styles';\nimport { omitEmotionProps } from '@os-design/utils';\nimport Skeleton from '../Skeleton';\n\ntype JsxDivProps = Omit<JSX.IntrinsicElements['div'], 'ref'>;\nexport type AvatarSkeletonProps = JsxDivProps & WithSize;\n\nconst Container = styled('div', omitEmotionProps('size'))<WithSize>`\n ${sizeStyles};\n`;\n\n/**\n * Provides an avatar placeholder while a user waits for the content to load.\n */\nconst AvatarSkeleton = forwardRef<HTMLDivElement, AvatarSkeletonProps>(\n ({ size = '2em', ...rest }, ref) => (\n <Container size={size} {...rest} ref={ref}>\n <Skeleton width='1em' />\n </Container>\n )\n);\n\nAvatarSkeleton.displayName = 'AvatarSkeleton';\n\nexport default AvatarSkeleton;\n"],"mappings":";;;;;;;AAAA;AACA;AACA;AACA;AACA;AAAmC;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAKnC,IAAMA,SAAS,GAAG,IAAAC,kBAAM,EAAC,KAAK,EAAE,IAAAC,uBAAgB,EAAC,MAAM,CAAC,CAAC,iFACrDC,kBAAU,CACb;;AAED;AACA;AACA;AACA,IAAMC,cAAc,gBAAG,IAAAC,iBAAU,EAC/B,gBAA4BC,GAAG;EAAA,qBAA5BC,IAAI;IAAJA,IAAI,0BAAG,KAAK;IAAKC,IAAI;EAAA,oBACtB,gCAAC,SAAS;IAAC,IAAI,EAAED;EAAK,GAAKC,IAAI;IAAE,GAAG,EAAEF;EAAI,iBACxC,gCAAC,oBAAQ;IAAC,KAAK,EAAC;EAAK,EAAG,CACd;AAAA,CACb,CACF;AAEDF,cAAc,CAACK,WAAW,GAAG,gBAAgB;AAAC,eAE/BL,cAAc;AAAA"}
@@ -1,69 +1,46 @@
1
1
  "use strict";
2
2
 
3
3
  function _typeof(obj) { "@babel/helpers - typeof"; return _typeof = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function (obj) { return typeof obj; } : function (obj) { return obj && "function" == typeof Symbol && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; }, _typeof(obj); }
4
-
5
4
  Object.defineProperty(exports, "__esModule", {
6
5
  value: true
7
6
  });
8
7
  exports["default"] = void 0;
9
-
10
8
  var _react = _interopRequireWildcard(require("react"));
11
-
12
9
  var _styled = _interopRequireDefault(require("@emotion/styled"));
13
-
14
10
  var _styles = require("@os-design/styles");
15
-
16
11
  var _utils = require("@os-design/utils");
17
-
18
12
  var _theming = require("@os-design/theming");
19
-
20
13
  var _BreadcrumbItem = _interopRequireDefault(require("../BreadcrumbItem"));
21
-
22
14
  var _excluded = ["aria-label", "children"];
23
-
24
15
  var _templateObject;
25
-
26
16
  function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; }
27
-
28
17
  function _getRequireWildcardCache(nodeInterop) { if (typeof WeakMap !== "function") return null; var cacheBabelInterop = new WeakMap(); var cacheNodeInterop = new WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(nodeInterop) { return nodeInterop ? cacheNodeInterop : cacheBabelInterop; })(nodeInterop); }
29
-
30
18
  function _interopRequireWildcard(obj, nodeInterop) { if (!nodeInterop && obj && obj.__esModule) { return obj; } if (obj === null || _typeof(obj) !== "object" && typeof obj !== "function") { return { "default": obj }; } var cache = _getRequireWildcardCache(nodeInterop); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (key !== "default" && Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } newObj["default"] = obj; if (cache) { cache.set(obj, newObj); } return newObj; }
31
-
32
19
  function _extends() { _extends = Object.assign ? Object.assign.bind() : function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }
33
-
34
20
  function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); enumerableOnly && (symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; }
35
-
36
21
  function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys(Object(source), !0).forEach(function (key) { _defineProperty(target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; }
37
-
38
22
  function _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }
39
-
40
23
  function _objectWithoutProperties(source, excluded) { if (source == null) return {}; var target = _objectWithoutPropertiesLoose(source, excluded); var key, i; if (Object.getOwnPropertySymbols) { var sourceSymbolKeys = Object.getOwnPropertySymbols(source); for (i = 0; i < sourceSymbolKeys.length; i++) { key = sourceSymbolKeys[i]; if (excluded.indexOf(key) >= 0) continue; if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue; target[key] = source[key]; } } return target; }
41
-
42
24
  function _objectWithoutPropertiesLoose(source, excluded) { if (source == null) return {}; var target = {}; var sourceKeys = Object.keys(source); var key, i; for (i = 0; i < sourceKeys.length; i++) { key = sourceKeys[i]; if (excluded.indexOf(key) >= 0) continue; target[key] = source[key]; } return target; }
43
-
44
25
  function _taggedTemplateLiteral(strings, raw) { if (!raw) { raw = strings.slice(0); } return Object.freeze(Object.defineProperties(strings, { raw: { value: Object.freeze(raw) } })); }
45
-
46
26
  var Container = (0, _styled["default"])('ol', (0, _utils.omitEmotionProps)('size'))(_templateObject || (_templateObject = _taggedTemplateLiteral(["\n list-style: none;\n margin: 0;\n padding: 0;\n display: flex;\n align-items: center;\n color: ", ";\n\n ", ";\n ", ";\n"])), function (p) {
47
27
  return (0, _theming.clr)(p.theme.colorText);
48
28
  }, (0, _styles.enableScrollingStyles)('x', false), _styles.sizeStyles);
49
29
  var childIndex = 0;
30
+
50
31
  /**
51
32
  * Displays the current location within the hierarchical structure.
52
33
  * Implements the Schema.org markup for breadcrumbs.
53
34
  * See https://schema.org/BreadcrumbList
54
35
  */
55
-
56
36
  var Breadcrumb = /*#__PURE__*/(0, _react.forwardRef)(function (_ref, ref) {
57
37
  var _ref$ariaLabel = _ref['aria-label'],
58
- ariaLabel = _ref$ariaLabel === void 0 ? 'Breadcrumb' : _ref$ariaLabel,
59
- children = _ref.children,
60
- rest = _objectWithoutProperties(_ref, _excluded);
61
-
38
+ ariaLabel = _ref$ariaLabel === void 0 ? 'Breadcrumb' : _ref$ariaLabel,
39
+ children = _ref.children,
40
+ rest = _objectWithoutProperties(_ref, _excluded);
62
41
  var breadcrumbItems = (0, _react.useMemo)(function () {
63
42
  var items = [];
64
-
65
43
  var childrenArray = _react["default"].Children.toArray(children);
66
-
67
44
  childrenArray.forEach(function (child, index) {
68
45
  if (! /*#__PURE__*/_react["default"].isValidElement(child)) return;
69
46
  var element;
@@ -72,17 +49,14 @@ var Breadcrumb = /*#__PURE__*/(0, _react.forwardRef)(function (_ref, ref) {
72
49
  position: index + 1,
73
50
  hasRightArrow: index < childrenArray.length - 1
74
51
  };
75
-
76
52
  if (child.type === _BreadcrumbItem["default"]) {
77
53
  element = /*#__PURE__*/_react["default"].cloneElement(child, breadcrumbItemProps);
78
54
  } else if ( /*#__PURE__*/_react["default"].isValidElement(child.props.children) && child.props.children.type === _BreadcrumbItem["default"]) {
79
55
  var breadcrumbItem = /*#__PURE__*/_react["default"].cloneElement(child.props.children, breadcrumbItemProps);
80
-
81
56
  element = /*#__PURE__*/_react["default"].cloneElement(child, _objectSpread(_objectSpread({}, child.props || {}), {}, {
82
57
  key: childIndex
83
58
  }), breadcrumbItem);
84
59
  }
85
-
86
60
  if (!element) return;
87
61
  items.push(element);
88
62
  childIndex += 1;
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","names":["Container","styled","omitEmotionProps","p","clr","theme","colorText","enableScrollingStyles","sizeStyles","childIndex","Breadcrumb","forwardRef","ref","ariaLabel","children","rest","breadcrumbItems","useMemo","items","childrenArray","React","Children","toArray","forEach","child","index","isValidElement","element","breadcrumbItemProps","key","position","hasRightArrow","length","type","BreadcrumbItem","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;;AACA;;AACA;;AACA;;AACA;;AACA;;;;;;;;;;;;;;;;;;;;;;;;;;AAOA,IAAMA,SAAS,GAAG,IAAAC,kBAAA,EAAO,IAAP,EAAa,IAAAC,uBAAA,EAAiB,MAAjB,CAAb,CAAH,wMAMJ,UAACC,CAAD;EAAA,OAAO,IAAAC,YAAA,EAAID,CAAC,CAACE,KAAF,CAAQC,SAAZ,CAAP;AAAA,CANI,EAQX,IAAAC,6BAAA,EAAsB,GAAtB,EAA2B,KAA3B,CARW,EASXC,kBATW,CAAf;AAYA,IAAIC,UAAU,GAAG,CAAjB;AAEA;AACA;AACA;AACA;AACA;;AACA,IAAMC,UAAU,gBAAG,IAAAC,iBAAA,EACjB,gBAAgEC,GAAhE,EAAwE;EAAA,0BAArE,YAAqE;EAAA,IAAvDC,SAAuD,+BAA3C,YAA2C;EAAA,IAA7BC,QAA6B,QAA7BA,QAA6B;EAAA,IAAhBC,IAAgB;;EACtE,IAAMC,eAAe,GAAG,IAAAC,cAAA,EAAQ,YAAM;IACpC,IAAMC,KAAqB,GAAG,EAA9B;;IACA,IAAMC,aAAa,GAAGC,iBAAA,CAAMC,QAAN,CAAeC,OAAf,CAAuBR,QAAvB,CAAtB;;IACAK,aAAa,CAACI,OAAd,CAAsB,UAACC,KAAD,EAAQC,KAAR,EAAkB;MACtC,IAAI,eAACL,iBAAA,CAAMM,cAAN,CAAqBF,KAArB,CAAL,EAAkC;MAElC,IAAIG,OAAJ;MACA,IAAMC,mBAAmB,GAAG;QAC1BC,GAAG,EAAEpB,UADqB;QAE1BqB,QAAQ,EAAEL,KAAK,GAAG,CAFQ;QAG1BM,aAAa,EAAEN,KAAK,GAAGN,aAAa,CAACa,MAAd,GAAuB;MAHpB,CAA5B;;MAMA,IAAIR,KAAK,CAACS,IAAN,KAAeC,0BAAnB,EAAmC;QACjCP,OAAO,gBAAGP,iBAAA,CAAMe,YAAN,CAAmBX,KAAnB,EAA0BI,mBAA1B,CAAV;MACD,CAFD,MAEO,IACL,cAAAR,iBAAA,CAAMM,cAAN,CAAqBF,KAAK,CAACY,KAAN,CAAYtB,QAAjC,KACAU,KAAK,CAACY,KAAN,CAAYtB,QAAZ,CAAqBmB,IAArB,KAA8BC,0BAFzB,EAGL;QACA,IAAMG,cAAc,gBAAGjB,iBAAA,CAAMe,YAAN,CACrBX,KAAK,CAACY,KAAN,CAAYtB,QADS,EAErBc,mBAFqB,CAAvB;;QAIAD,OAAO,gBAAGP,iBAAA,CAAMe,YAAN,CACRX,KADQ,kCAGFA,KAAK,CAACY,KAAN,IAAe,EAHb;UAINP,GAAG,EAAEpB;QAJC,IAMR4B,cANQ,CAAV;MAQD;;MACD,IAAI,CAACV,OAAL,EAAc;MAEdT,KAAK,CAACoB,IAAN,CAAWX,OAAX;MACAlB,UAAU,IAAI,CAAd;IACD,CAjCD;IAkCA,OAAOS,KAAP;EACD,CAtCuB,EAsCrB,CAACJ,QAAD,CAtCqB,CAAxB;EAwCA,IAAIE,eAAe,CAACgB,MAAhB,KAA2B,CAA/B,EAAkC,OAAO,IAAP;EAElC,oBACE;IAAK,cAAYnB;EAAjB,gBACE,gCAAC,SAAD;IACE,SAAS,MADX;IAEE,QAAQ,EAAC;EAFX,GAGME,IAHN;IAIE,GAAG,EAAEH;EAJP,IAMGI,eANH,CADF,CADF;AAYD,CAxDgB,CAAnB;AA2DAN,UAAU,CAAC6B,WAAX,GAAyB,YAAzB;eAEe7B,U"}
1
+ {"version":3,"file":"index.js","names":["Container","styled","omitEmotionProps","p","clr","theme","colorText","enableScrollingStyles","sizeStyles","childIndex","Breadcrumb","forwardRef","ref","ariaLabel","children","rest","breadcrumbItems","useMemo","items","childrenArray","React","Children","toArray","forEach","child","index","isValidElement","element","breadcrumbItemProps","key","position","hasRightArrow","length","type","BreadcrumbItem","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;AACA;AACA;AACA;AACA;AACA;AAA+C;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAO/C,IAAMA,SAAS,GAAG,IAAAC,kBAAM,EAAC,IAAI,EAAE,IAAAC,uBAAgB,EAAC,MAAM,CAAC,CAAC,wMAM7C,UAACC,CAAC;EAAA,OAAK,IAAAC,YAAG,EAACD,CAAC,CAACE,KAAK,CAACC,SAAS,CAAC;AAAA,GAEpC,IAAAC,6BAAqB,EAAC,GAAG,EAAE,KAAK,CAAC,EACjCC,kBAAU,CACb;AAED,IAAIC,UAAU,GAAG,CAAC;;AAElB;AACA;AACA;AACA;AACA;AACA,IAAMC,UAAU,gBAAG,IAAAC,iBAAU,EAC3B,gBAAgEC,GAAG,EAAK;EAAA,0BAArE,YAAY;IAAEC,SAAS,+BAAG,YAAY;IAAEC,QAAQ,QAARA,QAAQ;IAAKC,IAAI;EAC1D,IAAMC,eAAe,GAAG,IAAAC,cAAO,EAAC,YAAM;IACpC,IAAMC,KAAqB,GAAG,EAAE;IAChC,IAAMC,aAAa,GAAGC,iBAAK,CAACC,QAAQ,CAACC,OAAO,CAACR,QAAQ,CAAC;IACtDK,aAAa,CAACI,OAAO,CAAC,UAACC,KAAK,EAAEC,KAAK,EAAK;MACtC,IAAI,eAACL,iBAAK,CAACM,cAAc,CAACF,KAAK,CAAC,EAAE;MAElC,IAAIG,OAAO;MACX,IAAMC,mBAAmB,GAAG;QAC1BC,GAAG,EAAEpB,UAAU;QACfqB,QAAQ,EAAEL,KAAK,GAAG,CAAC;QACnBM,aAAa,EAAEN,KAAK,GAAGN,aAAa,CAACa,MAAM,GAAG;MAChD,CAAC;MAED,IAAIR,KAAK,CAACS,IAAI,KAAKC,0BAAc,EAAE;QACjCP,OAAO,gBAAGP,iBAAK,CAACe,YAAY,CAACX,KAAK,EAAEI,mBAAmB,CAAC;MAC1D,CAAC,MAAM,IACL,cAAAR,iBAAK,CAACM,cAAc,CAACF,KAAK,CAACY,KAAK,CAACtB,QAAQ,CAAC,IAC1CU,KAAK,CAACY,KAAK,CAACtB,QAAQ,CAACmB,IAAI,KAAKC,0BAAc,EAC5C;QACA,IAAMG,cAAc,gBAAGjB,iBAAK,CAACe,YAAY,CACvCX,KAAK,CAACY,KAAK,CAACtB,QAAQ,EACpBc,mBAAmB,CACpB;QACDD,OAAO,gBAAGP,iBAAK,CAACe,YAAY,CAC1BX,KAAK,kCAECA,KAAK,CAACY,KAAK,IAAI,CAAC,CAAC;UACrBP,GAAG,EAAEpB;QAAU,IAEjB4B,cAAc,CACf;MACH;MACA,IAAI,CAACV,OAAO,EAAE;MAEdT,KAAK,CAACoB,IAAI,CAACX,OAAO,CAAC;MACnBlB,UAAU,IAAI,CAAC;IACjB,CAAC,CAAC;IACF,OAAOS,KAAK;EACd,CAAC,EAAE,CAACJ,QAAQ,CAAC,CAAC;EAEd,IAAIE,eAAe,CAACgB,MAAM,KAAK,CAAC,EAAE,OAAO,IAAI;EAE7C,oBACE;IAAK,cAAYnB;EAAU,gBACzB,gCAAC,SAAS;IACR,SAAS;IACT,QAAQ,EAAC;EAAmC,GACxCE,IAAI;IACR,GAAG,EAAEH;EAAI,IAERI,eAAe,CACN,CACR;AAEV,CAAC,CACF;AAEDN,UAAU,CAAC6B,WAAW,GAAG,YAAY;AAAC,eAEvB7B,UAAU;AAAA"}