@os-design/core 1.0.156 → 1.0.158

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (383) hide show
  1. package/dist/cjs/Alert/index.js +4 -30
  2. package/dist/cjs/Alert/index.js.map +1 -1
  3. package/dist/cjs/Avatar/index.js +15 -39
  4. package/dist/cjs/Avatar/index.js.map +1 -1
  5. package/dist/cjs/Avatar/utils/nameToInitials.js +1 -3
  6. package/dist/cjs/Avatar/utils/nameToInitials.js.map +1 -1
  7. package/dist/cjs/Avatar/utils/strToHue.js +0 -4
  8. package/dist/cjs/Avatar/utils/strToHue.js.map +1 -1
  9. package/dist/cjs/AvatarSkeleton/index.js +3 -20
  10. package/dist/cjs/AvatarSkeleton/index.js.map +1 -1
  11. package/dist/cjs/Breadcrumb/index.js +4 -30
  12. package/dist/cjs/Breadcrumb/index.js.map +1 -1
  13. package/dist/cjs/BreadcrumbItem/index.js +8 -28
  14. package/dist/cjs/BreadcrumbItem/index.js.map +1 -1
  15. package/dist/cjs/Button/ButtonContent.js +7 -20
  16. package/dist/cjs/Button/ButtonContent.js.map +1 -1
  17. package/dist/cjs/Button/index.js +23 -53
  18. package/dist/cjs/Button/index.js.map +1 -1
  19. package/dist/cjs/Button/utils/useButtonColors.js +3 -12
  20. package/dist/cjs/Button/utils/useButtonColors.js.map +1 -1
  21. package/dist/cjs/Checkbox/index.js +20 -59
  22. package/dist/cjs/Checkbox/index.js.map +1 -1
  23. package/dist/cjs/CheckboxSkeleton/index.js +2 -22
  24. package/dist/cjs/CheckboxSkeleton/index.js.map +1 -1
  25. package/dist/cjs/DatePicker/DatePickerCalendar.js +11 -48
  26. package/dist/cjs/DatePicker/DatePickerCalendar.js.map +1 -1
  27. package/dist/cjs/DatePicker/index.js +32 -68
  28. package/dist/cjs/DatePicker/index.js.map +1 -1
  29. package/dist/cjs/Drawer/index.js +14 -44
  30. package/dist/cjs/Drawer/index.js.map +1 -1
  31. package/dist/cjs/Form/FormConfigContext.js +0 -4
  32. package/dist/cjs/Form/FormConfigContext.js.map +1 -1
  33. package/dist/cjs/Form/index.js +3 -20
  34. package/dist/cjs/Form/index.js.map +1 -1
  35. package/dist/cjs/FormDivider/index.js +3 -24
  36. package/dist/cjs/FormDivider/index.js.map +1 -1
  37. package/dist/cjs/FormItem/index.js +12 -42
  38. package/dist/cjs/FormItem/index.js.map +1 -1
  39. package/dist/cjs/FormItem/utils/firstChildHasType.js +0 -5
  40. package/dist/cjs/FormItem/utils/firstChildHasType.js.map +1 -1
  41. package/dist/cjs/Gallery/Status.js +2 -12
  42. package/dist/cjs/Gallery/Status.js.map +1 -1
  43. package/dist/cjs/Gallery/index.js +27 -61
  44. package/dist/cjs/Gallery/index.js.map +1 -1
  45. package/dist/cjs/GlobalStyles/index.js +0 -8
  46. package/dist/cjs/GlobalStyles/index.js.map +1 -1
  47. package/dist/cjs/GlobalStyles/resetStyles.js +0 -5
  48. package/dist/cjs/GlobalStyles/resetStyles.js.map +1 -1
  49. package/dist/cjs/GlobalStyles/typographyStyles.js +0 -11
  50. package/dist/cjs/GlobalStyles/typographyStyles.js.map +1 -1
  51. package/dist/cjs/HeaderSkeleton/index.js +7 -26
  52. package/dist/cjs/HeaderSkeleton/index.js.map +1 -1
  53. package/dist/cjs/Image/index.js +11 -31
  54. package/dist/cjs/Image/index.js.map +1 -1
  55. package/dist/cjs/ImageSkeleton/index.js +1 -12
  56. package/dist/cjs/ImageSkeleton/index.js.map +1 -1
  57. package/dist/cjs/Input/index.js +23 -57
  58. package/dist/cjs/Input/index.js.map +1 -1
  59. package/dist/cjs/Input/utils/getFocusableElements.js +0 -8
  60. package/dist/cjs/Input/utils/getFocusableElements.js.map +1 -1
  61. package/dist/cjs/InputNumber/index.js +49 -72
  62. package/dist/cjs/InputNumber/index.js.map +1 -1
  63. package/dist/cjs/InputNumber/utils/defaultLocale.js.map +1 -1
  64. package/dist/cjs/InputPassword/index.js +39 -77
  65. package/dist/cjs/InputPassword/index.js.map +1 -1
  66. package/dist/cjs/InputPassword/utils/defaultLocale.js.map +1 -1
  67. package/dist/cjs/InputSearch/index.js +22 -51
  68. package/dist/cjs/InputSearch/index.js.map +1 -1
  69. package/dist/cjs/InputSearch/utils/defaultLocale.js.map +1 -1
  70. package/dist/cjs/InputSkeleton/index.js +1 -14
  71. package/dist/cjs/InputSkeleton/index.js.map +1 -1
  72. package/dist/cjs/Layout/LayoutContext.js +0 -4
  73. package/dist/cjs/Layout/LayoutContext.js.map +1 -1
  74. package/dist/cjs/Layout/index.js +4 -12
  75. package/dist/cjs/Layout/index.js.map +1 -1
  76. package/dist/cjs/Link/index.js +8 -30
  77. package/dist/cjs/Link/index.js.map +1 -1
  78. package/dist/cjs/LinkButton/index.js +26 -49
  79. package/dist/cjs/LinkButton/index.js.map +1 -1
  80. package/dist/cjs/List/WindowScroller.js +4 -12
  81. package/dist/cjs/List/WindowScroller.js.map +1 -1
  82. package/dist/cjs/List/index.js +35 -68
  83. package/dist/cjs/List/index.js.map +1 -1
  84. package/dist/cjs/List/utils/bodyPointerEvents.js +0 -9
  85. package/dist/cjs/List/utils/bodyPointerEvents.js.map +1 -1
  86. package/dist/cjs/List/utils/frameTimeout.js +1 -8
  87. package/dist/cjs/List/utils/frameTimeout.js.map +1 -1
  88. package/dist/cjs/List/utils/useRWLoadNext.js +6 -9
  89. package/dist/cjs/List/utils/useRWLoadNext.js.map +1 -1
  90. package/dist/cjs/ListItem/ListItemContent.js +12 -44
  91. package/dist/cjs/ListItem/ListItemContent.js.map +1 -1
  92. package/dist/cjs/ListItem/index.js +15 -39
  93. package/dist/cjs/ListItem/index.js.map +1 -1
  94. package/dist/cjs/ListItemLink/index.js +18 -51
  95. package/dist/cjs/ListItemLink/index.js.map +1 -1
  96. package/dist/cjs/ListSkeleton/index.js +11 -32
  97. package/dist/cjs/ListSkeleton/index.js.map +1 -1
  98. package/dist/cjs/LogoLink/index.js +6 -27
  99. package/dist/cjs/LogoLink/index.js.map +1 -1
  100. package/dist/cjs/Menu/index.js +20 -47
  101. package/dist/cjs/Menu/index.js.map +1 -1
  102. package/dist/cjs/Menu/utils/useFocusWithArrows.js +1 -13
  103. package/dist/cjs/Menu/utils/useFocusWithArrows.js.map +1 -1
  104. package/dist/cjs/MenuDivider/index.js +1 -13
  105. package/dist/cjs/MenuDivider/index.js.map +1 -1
  106. package/dist/cjs/MenuGroup/index.js +19 -52
  107. package/dist/cjs/MenuGroup/index.js.map +1 -1
  108. package/dist/cjs/MenuItem/index.js +9 -32
  109. package/dist/cjs/MenuItem/index.js.map +1 -1
  110. package/dist/cjs/Modal/index.js +25 -65
  111. package/dist/cjs/Modal/index.js.map +1 -1
  112. package/dist/cjs/Modal/utils/defaultLocale.js.map +1 -1
  113. package/dist/cjs/Navigation/index.js +6 -35
  114. package/dist/cjs/Navigation/index.js.map +1 -1
  115. package/dist/cjs/Navigation/utils/useScrollFlags.js +6 -19
  116. package/dist/cjs/Navigation/utils/useScrollFlags.js.map +1 -1
  117. package/dist/cjs/NavigationItem/index.js +8 -32
  118. package/dist/cjs/NavigationItem/index.js.map +1 -1
  119. package/dist/cjs/PageContent/index.js +6 -30
  120. package/dist/cjs/PageContent/index.js.map +1 -1
  121. package/dist/cjs/PageHeader/index.js +13 -46
  122. package/dist/cjs/PageHeader/index.js.map +1 -1
  123. package/dist/cjs/PageHeader/utils/defaultLocale.js.map +1 -1
  124. package/dist/cjs/PageHeaderInputSearch/index.js +10 -46
  125. package/dist/cjs/PageHeaderInputSearch/index.js.map +1 -1
  126. package/dist/cjs/PageHeaderInputSearch/utils/defaultLocale.js +0 -7
  127. package/dist/cjs/PageHeaderInputSearch/utils/defaultLocale.js.map +1 -1
  128. package/dist/cjs/PageHeaderSkeleton/index.js +3 -18
  129. package/dist/cjs/PageHeaderSkeleton/index.js.map +1 -1
  130. package/dist/cjs/ParagraphSkeleton/index.js +7 -25
  131. package/dist/cjs/ParagraphSkeleton/index.js.map +1 -1
  132. package/dist/cjs/Popover/index.js +46 -77
  133. package/dist/cjs/Popover/index.js.map +1 -1
  134. package/dist/cjs/Popover/utils/usePopoverPosition.js +21 -43
  135. package/dist/cjs/Popover/utils/usePopoverPosition.js.map +1 -1
  136. package/dist/cjs/Progress/index.js +6 -25
  137. package/dist/cjs/Progress/index.js.map +1 -1
  138. package/dist/cjs/RadioGroup/index.js +25 -55
  139. package/dist/cjs/RadioGroup/index.js.map +1 -1
  140. package/dist/cjs/RadioGroupSkeleton/index.js +3 -20
  141. package/dist/cjs/RadioGroupSkeleton/index.js.map +1 -1
  142. package/dist/cjs/Result/index.js +6 -30
  143. package/dist/cjs/Result/index.js.map +1 -1
  144. package/dist/cjs/ScrollButton/index.js +15 -40
  145. package/dist/cjs/ScrollButton/index.js.map +1 -1
  146. package/dist/cjs/ScrollButton/utils/useContainerPosition.js +10 -23
  147. package/dist/cjs/ScrollButton/utils/useContainerPosition.js.map +1 -1
  148. package/dist/cjs/ScrollButton/utils/useVisibility.js +6 -19
  149. package/dist/cjs/ScrollButton/utils/useVisibility.js.map +1 -1
  150. package/dist/cjs/Select/SelectList.js +27 -53
  151. package/dist/cjs/Select/SelectList.js.map +1 -1
  152. package/dist/cjs/Select/SelectToggle.js +17 -52
  153. package/dist/cjs/Select/SelectToggle.js.map +1 -1
  154. package/dist/cjs/Select/index.js +60 -103
  155. package/dist/cjs/Select/index.js.map +1 -1
  156. package/dist/cjs/Select/utils/defaultLocale.js.map +1 -1
  157. package/dist/cjs/Skeleton/index.js +3 -20
  158. package/dist/cjs/Skeleton/index.js.map +1 -1
  159. package/dist/cjs/Switch/index.js +17 -52
  160. package/dist/cjs/Switch/index.js.map +1 -1
  161. package/dist/cjs/SwitchSkeleton/index.js +1 -14
  162. package/dist/cjs/SwitchSkeleton/index.js.map +1 -1
  163. package/dist/cjs/Tag/index.js +4 -26
  164. package/dist/cjs/Tag/index.js.map +1 -1
  165. package/dist/cjs/TagLink/index.js +7 -25
  166. package/dist/cjs/TagLink/index.js.map +1 -1
  167. package/dist/cjs/TagList/index.js +8 -38
  168. package/dist/cjs/TagList/index.js.map +1 -1
  169. package/dist/cjs/TagListSkeleton/index.js +4 -17
  170. package/dist/cjs/TagListSkeleton/index.js.map +1 -1
  171. package/dist/cjs/TagSkeleton/index.js +3 -20
  172. package/dist/cjs/TagSkeleton/index.js.map +1 -1
  173. package/dist/cjs/TextArea/index.js +6 -21
  174. package/dist/cjs/TextArea/index.js.map +1 -1
  175. package/dist/cjs/TextAreaSkeleton/index.js +1 -12
  176. package/dist/cjs/TextAreaSkeleton/index.js.map +1 -1
  177. package/dist/cjs/ThemeSwitcher/index.js +4 -20
  178. package/dist/cjs/ThemeSwitcher/index.js.map +1 -1
  179. package/dist/cjs/TimePicker/index.js +140 -0
  180. package/dist/cjs/TimePicker/index.js.map +1 -0
  181. package/dist/cjs/Video/index.js +2 -18
  182. package/dist/cjs/Video/index.js.map +1 -1
  183. package/dist/cjs/index.js +0 -126
  184. package/dist/cjs/index.js.map +1 -1
  185. package/dist/cjs/message/AlertIcon.js +15 -26
  186. package/dist/cjs/message/AlertIcon.js.map +1 -1
  187. package/dist/cjs/message/Message.js +1 -17
  188. package/dist/cjs/message/Message.js.map +1 -1
  189. package/dist/cjs/message/index.js +7 -21
  190. package/dist/cjs/message/index.js.map +1 -1
  191. package/dist/cjs/message/styles.js +2 -12
  192. package/dist/cjs/message/styles.js.map +1 -1
  193. package/dist/esm/Alert/index.js +1 -10
  194. package/dist/esm/Alert/index.js.map +1 -1
  195. package/dist/esm/Avatar/index.js +5 -4
  196. package/dist/esm/Avatar/index.js.map +1 -1
  197. package/dist/esm/Avatar/utils/nameToInitials.js +0 -1
  198. package/dist/esm/Avatar/utils/nameToInitials.js.map +1 -1
  199. package/dist/esm/Avatar/utils/strToHue.js +0 -3
  200. package/dist/esm/Avatar/utils/strToHue.js.map +1 -1
  201. package/dist/esm/AvatarSkeleton/index.js +1 -2
  202. package/dist/esm/AvatarSkeleton/index.js.map +1 -1
  203. package/dist/esm/Breadcrumb/index.js +3 -5
  204. package/dist/esm/Breadcrumb/index.js.map +1 -1
  205. package/dist/esm/BreadcrumbItem/index.js +1 -2
  206. package/dist/esm/BreadcrumbItem/index.js.map +1 -1
  207. package/dist/esm/Button/ButtonContent.js +2 -2
  208. package/dist/esm/Button/ButtonContent.js.map +1 -1
  209. package/dist/esm/Button/index.js +1 -10
  210. package/dist/esm/Button/index.js.map +1 -1
  211. package/dist/esm/Button/utils/useButtonColors.js +0 -5
  212. package/dist/esm/Button/utils/useButtonColors.js.map +1 -1
  213. package/dist/esm/Checkbox/index.js +1 -15
  214. package/dist/esm/Checkbox/index.js.map +1 -1
  215. package/dist/esm/CheckboxSkeleton/index.js +1 -2
  216. package/dist/esm/CheckboxSkeleton/index.js.map +1 -1
  217. package/dist/esm/DatePicker/DatePickerCalendar.js +0 -7
  218. package/dist/esm/DatePicker/DatePickerCalendar.js.map +1 -1
  219. package/dist/esm/DatePicker/index.js +0 -5
  220. package/dist/esm/DatePicker/index.js.map +1 -1
  221. package/dist/esm/Drawer/index.js +1 -7
  222. package/dist/esm/Drawer/index.js.map +1 -1
  223. package/dist/esm/Form/FormConfigContext.js.map +1 -1
  224. package/dist/esm/Form/index.js +1 -2
  225. package/dist/esm/Form/index.js.map +1 -1
  226. package/dist/esm/FormDivider/index.js +1 -2
  227. package/dist/esm/FormDivider/index.js.map +1 -1
  228. package/dist/esm/FormItem/index.js +1 -4
  229. package/dist/esm/FormItem/index.js.map +1 -1
  230. package/dist/esm/FormItem/utils/firstChildHasType.js +0 -2
  231. package/dist/esm/FormItem/utils/firstChildHasType.js.map +1 -1
  232. package/dist/esm/Gallery/Status.js +0 -2
  233. package/dist/esm/Gallery/Status.js.map +1 -1
  234. package/dist/esm/Gallery/index.js +3 -7
  235. package/dist/esm/Gallery/index.js.map +1 -1
  236. package/dist/esm/GlobalStyles/index.js +0 -2
  237. package/dist/esm/GlobalStyles/index.js.map +1 -1
  238. package/dist/esm/GlobalStyles/resetStyles.js +0 -2
  239. package/dist/esm/GlobalStyles/resetStyles.js.map +1 -1
  240. package/dist/esm/GlobalStyles/typographyStyles.js +0 -4
  241. package/dist/esm/GlobalStyles/typographyStyles.js.map +1 -1
  242. package/dist/esm/HeaderSkeleton/index.js +1 -4
  243. package/dist/esm/HeaderSkeleton/index.js.map +1 -1
  244. package/dist/esm/Image/index.js +1 -6
  245. package/dist/esm/Image/index.js.map +1 -1
  246. package/dist/esm/ImageSkeleton/index.js +1 -2
  247. package/dist/esm/ImageSkeleton/index.js.map +1 -1
  248. package/dist/esm/Input/index.js +1 -10
  249. package/dist/esm/Input/index.js.map +1 -1
  250. package/dist/esm/Input/utils/getFocusableElements.js +0 -1
  251. package/dist/esm/Input/utils/getFocusableElements.js.map +1 -1
  252. package/dist/esm/InputNumber/index.js +10 -7
  253. package/dist/esm/InputNumber/index.js.map +1 -1
  254. package/dist/esm/InputNumber/utils/defaultLocale.js.map +1 -1
  255. package/dist/esm/InputPassword/index.js +3 -8
  256. package/dist/esm/InputPassword/index.js.map +1 -1
  257. package/dist/esm/InputPassword/utils/defaultLocale.js.map +1 -1
  258. package/dist/esm/InputSearch/index.js +1 -2
  259. package/dist/esm/InputSearch/index.js.map +1 -1
  260. package/dist/esm/InputSearch/utils/defaultLocale.js.map +1 -1
  261. package/dist/esm/InputSkeleton/index.js +1 -2
  262. package/dist/esm/InputSkeleton/index.js.map +1 -1
  263. package/dist/esm/Layout/LayoutContext.js.map +1 -1
  264. package/dist/esm/Layout/index.js +0 -2
  265. package/dist/esm/Layout/index.js.map +1 -1
  266. package/dist/esm/Link/index.js +3 -8
  267. package/dist/esm/Link/index.js.map +1 -1
  268. package/dist/esm/LinkButton/index.js +1 -4
  269. package/dist/esm/LinkButton/index.js.map +1 -1
  270. package/dist/esm/List/WindowScroller.js +2 -4
  271. package/dist/esm/List/WindowScroller.js.map +1 -1
  272. package/dist/esm/List/index.js +10 -9
  273. package/dist/esm/List/index.js.map +1 -1
  274. package/dist/esm/List/utils/bodyPointerEvents.js +0 -1
  275. package/dist/esm/List/utils/bodyPointerEvents.js.map +1 -1
  276. package/dist/esm/List/utils/frameTimeout.js +1 -4
  277. package/dist/esm/List/utils/frameTimeout.js.map +1 -1
  278. package/dist/esm/List/utils/useRWLoadNext.js +0 -2
  279. package/dist/esm/List/utils/useRWLoadNext.js.map +1 -1
  280. package/dist/esm/ListItem/ListItemContent.js +2 -6
  281. package/dist/esm/ListItem/ListItemContent.js.map +1 -1
  282. package/dist/esm/ListItem/index.js +1 -2
  283. package/dist/esm/ListItem/index.js.map +1 -1
  284. package/dist/esm/ListItemLink/index.js +1 -4
  285. package/dist/esm/ListItemLink/index.js.map +1 -1
  286. package/dist/esm/ListSkeleton/index.js +1 -2
  287. package/dist/esm/ListSkeleton/index.js.map +1 -1
  288. package/dist/esm/LogoLink/index.js +1 -4
  289. package/dist/esm/LogoLink/index.js.map +1 -1
  290. package/dist/esm/Menu/index.js +3 -3
  291. package/dist/esm/Menu/index.js.map +1 -1
  292. package/dist/esm/Menu/utils/useFocusWithArrows.js +0 -4
  293. package/dist/esm/Menu/utils/useFocusWithArrows.js.map +1 -1
  294. package/dist/esm/MenuDivider/index.js +1 -2
  295. package/dist/esm/MenuDivider/index.js.map +1 -1
  296. package/dist/esm/MenuGroup/index.js +1 -2
  297. package/dist/esm/MenuGroup/index.js.map +1 -1
  298. package/dist/esm/MenuItem/index.js +1 -4
  299. package/dist/esm/MenuItem/index.js.map +1 -1
  300. package/dist/esm/Modal/index.js +1 -8
  301. package/dist/esm/Modal/index.js.map +1 -1
  302. package/dist/esm/Modal/utils/defaultLocale.js.map +1 -1
  303. package/dist/esm/Navigation/index.js +1 -7
  304. package/dist/esm/Navigation/index.js.map +1 -1
  305. package/dist/esm/Navigation/utils/useScrollFlags.js +0 -2
  306. package/dist/esm/Navigation/utils/useScrollFlags.js.map +1 -1
  307. package/dist/esm/NavigationItem/index.js +1 -4
  308. package/dist/esm/NavigationItem/index.js.map +1 -1
  309. package/dist/esm/PageContent/index.js +1 -7
  310. package/dist/esm/PageContent/index.js.map +1 -1
  311. package/dist/esm/PageHeader/index.js +1 -8
  312. package/dist/esm/PageHeader/index.js.map +1 -1
  313. package/dist/esm/PageHeader/utils/defaultLocale.js.map +1 -1
  314. package/dist/esm/PageHeaderInputSearch/index.js +1 -5
  315. package/dist/esm/PageHeaderInputSearch/index.js.map +1 -1
  316. package/dist/esm/PageHeaderInputSearch/utils/defaultLocale.js +2 -1
  317. package/dist/esm/PageHeaderInputSearch/utils/defaultLocale.js.map +1 -1
  318. package/dist/esm/PageHeaderSkeleton/index.js +0 -2
  319. package/dist/esm/PageHeaderSkeleton/index.js.map +1 -1
  320. package/dist/esm/ParagraphSkeleton/index.js +1 -4
  321. package/dist/esm/ParagraphSkeleton/index.js.map +1 -1
  322. package/dist/esm/Popover/index.js +12 -13
  323. package/dist/esm/Popover/index.js.map +1 -1
  324. package/dist/esm/Popover/utils/usePopoverPosition.js +8 -19
  325. package/dist/esm/Popover/utils/usePopoverPosition.js.map +1 -1
  326. package/dist/esm/Progress/index.js +1 -2
  327. package/dist/esm/Progress/index.js.map +1 -1
  328. package/dist/esm/RadioGroup/index.js +1 -5
  329. package/dist/esm/RadioGroup/index.js.map +1 -1
  330. package/dist/esm/RadioGroupSkeleton/index.js +1 -2
  331. package/dist/esm/RadioGroupSkeleton/index.js.map +1 -1
  332. package/dist/esm/Result/index.js +1 -2
  333. package/dist/esm/Result/index.js.map +1 -1
  334. package/dist/esm/ScrollButton/index.js +7 -9
  335. package/dist/esm/ScrollButton/index.js.map +1 -1
  336. package/dist/esm/ScrollButton/utils/useContainerPosition.js +0 -2
  337. package/dist/esm/ScrollButton/utils/useContainerPosition.js.map +1 -1
  338. package/dist/esm/ScrollButton/utils/useVisibility.js +2 -5
  339. package/dist/esm/ScrollButton/utils/useVisibility.js.map +1 -1
  340. package/dist/esm/Select/SelectList.js +11 -12
  341. package/dist/esm/Select/SelectList.js.map +1 -1
  342. package/dist/esm/Select/SelectToggle.js +0 -14
  343. package/dist/esm/Select/SelectToggle.js.map +1 -1
  344. package/dist/esm/Select/index.js +4 -10
  345. package/dist/esm/Select/index.js.map +1 -1
  346. package/dist/esm/Select/utils/defaultLocale.js.map +1 -1
  347. package/dist/esm/Skeleton/index.js +1 -2
  348. package/dist/esm/Skeleton/index.js.map +1 -1
  349. package/dist/esm/Switch/index.js +1 -11
  350. package/dist/esm/Switch/index.js.map +1 -1
  351. package/dist/esm/SwitchSkeleton/index.js +1 -2
  352. package/dist/esm/SwitchSkeleton/index.js.map +1 -1
  353. package/dist/esm/Tag/index.js +1 -2
  354. package/dist/esm/Tag/index.js.map +1 -1
  355. package/dist/esm/TagLink/index.js +1 -2
  356. package/dist/esm/TagLink/index.js.map +1 -1
  357. package/dist/esm/TagList/index.js +1 -4
  358. package/dist/esm/TagList/index.js.map +1 -1
  359. package/dist/esm/TagListSkeleton/index.js +1 -2
  360. package/dist/esm/TagListSkeleton/index.js.map +1 -1
  361. package/dist/esm/TagSkeleton/index.js +1 -2
  362. package/dist/esm/TagSkeleton/index.js.map +1 -1
  363. package/dist/esm/TextArea/index.js +1 -2
  364. package/dist/esm/TextArea/index.js.map +1 -1
  365. package/dist/esm/TextAreaSkeleton/index.js +1 -2
  366. package/dist/esm/TextAreaSkeleton/index.js.map +1 -1
  367. package/dist/esm/ThemeSwitcher/index.js +0 -2
  368. package/dist/esm/ThemeSwitcher/index.js.map +1 -1
  369. package/dist/esm/TimePicker/index.js +105 -0
  370. package/dist/esm/TimePicker/index.js.map +1 -0
  371. package/dist/esm/Video/index.js +1 -2
  372. package/dist/esm/Video/index.js.map +1 -1
  373. package/dist/esm/emotion.d.js.map +1 -1
  374. package/dist/esm/index.js.map +1 -1
  375. package/dist/esm/message/AlertIcon.js +0 -2
  376. package/dist/esm/message/AlertIcon.js.map +1 -1
  377. package/dist/esm/message/Message.js.map +1 -1
  378. package/dist/esm/message/index.js +7 -9
  379. package/dist/esm/message/index.js.map +1 -1
  380. package/dist/esm/message/styles.js.map +1 -1
  381. package/dist/types/TimePicker/index.d.ts +11 -0
  382. package/dist/types/TimePicker/index.d.ts.map +1 -0
  383. package/package.json +3 -2
@@ -1,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, useCallback, useContext, useMemo } from 'react';
4
3
  import { FixedSizeList } from 'react-window';
5
4
  import { useFontSize, useForwardedRef, useSafeAreaInset, useSize } from '@os-design/utils';
@@ -8,7 +7,6 @@ import { useIsMinWidth } from '@os-design/media';
8
7
  import WindowScroller from './WindowScroller';
9
8
  import useRWLoadNext from './utils/useRWLoadNext';
10
9
  import LayoutContext from '../Layout/LayoutContext';
11
-
12
10
  /**
13
11
  * Virtualized list.
14
12
  * Used the react-window library.
@@ -57,13 +55,15 @@ const List = /*#__PURE__*/forwardRef(({
57
55
  // Set the scroll position to the list
58
56
  if (listRef.current) listRef.current.scrollTo(top);
59
57
  loadNextHandler(top);
60
- }, [listRef, loadNextHandler]); // eslint-disable-next-line @typescript-eslint/no-explicit-any
58
+ }, [listRef, loadNextHandler]);
61
59
 
60
+ // eslint-disable-next-line @typescript-eslint/no-explicit-any
62
61
  const InnerElement = useCallback(({
63
62
  style: innerStyle,
64
63
  ...innerRest
65
64
  }) => /*#__PURE__*/React.createElement("div", _extends({
66
- style: { ...innerStyle,
65
+ style: {
66
+ ...innerStyle,
67
67
  height: `${parseFloat(innerStyle.height) + paddingTopSize + paddingBottomSize}px`
68
68
  }
69
69
  }, innerRest)), [paddingBottomSize, paddingTopSize]);
@@ -71,12 +71,14 @@ const List = /*#__PURE__*/forwardRef(({
71
71
  style: childrenStyle,
72
72
  ...childrenRest
73
73
  }) => itemRenderer({
74
- style: { ...childrenStyle,
74
+ style: {
75
+ ...childrenStyle,
75
76
  top: `${parseFloat(childrenStyle.top ? childrenStyle.top.toString() : '0') + paddingTopSize}px`
76
77
  },
77
78
  ...childrenRest
78
- }), [itemRenderer, paddingTopSize]); // eslint-disable-next-line react/jsx-no-useless-fragment
79
+ }), [itemRenderer, paddingTopSize]);
79
80
 
81
+ // eslint-disable-next-line react/jsx-no-useless-fragment
80
82
  const EmptyComponent = useCallback(() => /*#__PURE__*/React.createElement(React.Fragment, null, empty), [empty]);
81
83
  const renderList = useCallback(() => /*#__PURE__*/React.createElement(FixedSizeList, _extends({
82
84
  ref: mergedListRef,
@@ -84,7 +86,8 @@ const List = /*#__PURE__*/forwardRef(({
84
86
  width: "100%",
85
87
  height: height,
86
88
  itemSize: itemSize,
87
- style: heightProp ? style : { ...style,
89
+ style: heightProp ? style : {
90
+ ...style,
88
91
  height: '100% important!'
89
92
  },
90
93
  overscanCount: overscanCount,
@@ -93,11 +96,9 @@ const List = /*#__PURE__*/forwardRef(({
93
96
  }) => loadNextHandler(scrollOffset) : undefined,
94
97
  innerElementType: itemCount > 0 ? InnerElement : EmptyComponent
95
98
  }, rest), listChildren), [EmptyComponent, InnerElement, height, heightProp, itemCount, itemSize, listChildren, loadNextHandler, mergedListRef, overscanCount, rest, style]);
96
-
97
99
  if (heightProp) {
98
100
  return renderList();
99
101
  }
100
-
101
102
  return /*#__PURE__*/React.createElement(WindowScroller, {
102
103
  onScroll: windowScrollHandler
103
104
  }, renderList());
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","names":["React","forwardRef","useCallback","useContext","useMemo","FixedSizeList","useFontSize","useForwardedRef","useSafeAreaInset","useSize","useTheme","useIsMinWidth","WindowScroller","useRWLoadNext","LayoutContext","List","itemCount","itemHeight","threshold","overscanCount","height","heightProp","paddingTop","paddingBottom","style","empty","onLoadNext","itemRenderer","rest","ref","listRef","mergedListRef","size","fontSize","document","body","hasNavigation","hasPageHeader","theme","isMinMd","safeAreaInset","itemSize","paddingTopSize","pageHeaderHeight","paddingBottomSize","navigationTabHeight","bottom","loadNextHandler","windowScrollHandler","top","current","scrollTo","InnerElement","innerStyle","innerRest","parseFloat","listChildren","childrenStyle","childrenRest","toString","EmptyComponent","renderList","scrollOffset","undefined","displayName","default"],"sources":["../../../src/List/index.tsx"],"sourcesContent":["import React, {\n CSSProperties,\n forwardRef,\n useCallback,\n useContext,\n useMemo,\n} from 'react';\nimport {\n FixedSizeList,\n ListChildComponentProps,\n ListProps as RWListProps,\n} from 'react-window';\nimport {\n useFontSize,\n useForwardedRef,\n useSafeAreaInset,\n useSize,\n} from '@os-design/utils';\nimport { useTheme } from '@os-design/theming';\nimport { useIsMinWidth } from '@os-design/media';\nimport WindowScroller, { ScrollPosition } from './WindowScroller';\nimport useRWLoadNext from './utils/useRWLoadNext';\nimport LayoutContext from '../Layout/LayoutContext';\n\nexport interface ListProps extends Partial<RWListProps> {\n /**\n * Total number of items in the list.\n */\n itemCount: number;\n /**\n * The item height in em.\n * @default 4\n */\n itemHeight?: number;\n /**\n * A threshold N means that the onLoadNext function calls when a user scrolls all items except N.\n * @default 10\n */\n threshold?: number;\n /**\n * Defines how many items outside of the visible \"window\" to render at all times.\n * @default 10\n */\n overscanCount?: number;\n /**\n * The height of the list in px.\n * @default undefined\n */\n height?: number;\n /**\n * The top padding in em.\n * @default 0\n */\n paddingTop?: number;\n /**\n * The bottom padding in em.\n * @default 0\n */\n paddingBottom?: number;\n /**\n * The inline css style.\n * @default undefined\n */\n style?: CSSProperties;\n /**\n * The component that renders if the list is empty.\n * @default undefined\n */\n empty?: React.ReactNode;\n /**\n * The callback to load more items.\n * @default undefined\n */\n onLoadNext?: () => void;\n /**\n * The callback to render items.\n * @default () => null\n */\n itemRenderer?: React.FC<ListChildComponentProps>;\n}\n\n/**\n * Virtualized list.\n * Used the react-window library.\n */\nconst List = forwardRef<FixedSizeList, ListProps>(\n (\n {\n itemCount,\n itemHeight = 4,\n threshold = 10,\n overscanCount = 10,\n height: heightProp,\n paddingTop = 0,\n paddingBottom = 0,\n style = {},\n empty,\n onLoadNext = () => {},\n itemRenderer = () => null,\n ...rest\n },\n ref\n ) => {\n const [listRef, mergedListRef] = useForwardedRef(ref);\n const size = useSize();\n const fontSize = useFontSize(document.body);\n const { hasNavigation, hasPageHeader } = useContext(LayoutContext);\n const { theme } = useTheme();\n const isMinMd = useIsMinWidth('md');\n const safeAreaInset = useSafeAreaInset();\n\n const itemSize = useMemo(\n () => itemHeight * fontSize,\n [itemHeight, fontSize]\n );\n\n const paddingTopSize = useMemo(\n () =>\n ((hasPageHeader ? theme.pageHeaderHeight[isMinMd ? 1 : 0] : 0) +\n paddingTop) *\n fontSize,\n [hasPageHeader, theme.pageHeaderHeight, isMinMd, paddingTop, fontSize]\n );\n\n const paddingBottomSize = useMemo(\n () =>\n ((hasNavigation && !isMinMd ? theme.navigationTabHeight : 0) +\n paddingBottom) *\n fontSize +\n safeAreaInset.bottom,\n [\n hasNavigation,\n theme.navigationTabHeight,\n isMinMd,\n paddingBottom,\n fontSize,\n safeAreaInset.bottom,\n ]\n );\n\n const height = useMemo(\n () => heightProp || size.height,\n [heightProp, size.height]\n );\n\n const loadNextHandler = useRWLoadNext({\n itemCount,\n threshold,\n itemSize,\n paddingTop: paddingTopSize,\n height,\n onLoadNext,\n });\n\n const windowScrollHandler = useCallback(\n ({ top }: ScrollPosition) => {\n // Set the scroll position to the list\n if (listRef.current) listRef.current.scrollTo(top);\n loadNextHandler(top);\n },\n [listRef, loadNextHandler]\n );\n\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n const InnerElement = useCallback(\n ({ style: innerStyle, ...innerRest }) => (\n <div\n style={{\n ...innerStyle,\n height: `${\n parseFloat(innerStyle.height) + paddingTopSize + paddingBottomSize\n }px`,\n }}\n {...innerRest}\n />\n ),\n [paddingBottomSize, paddingTopSize]\n );\n\n const listChildren = useCallback<RWListProps['children']>(\n ({ style: childrenStyle, ...childrenRest }) =>\n itemRenderer({\n style: {\n ...childrenStyle,\n top: `${\n parseFloat(\n childrenStyle.top ? childrenStyle.top.toString() : '0'\n ) + paddingTopSize\n }px`,\n },\n ...childrenRest,\n }),\n [itemRenderer, paddingTopSize]\n );\n\n // eslint-disable-next-line react/jsx-no-useless-fragment\n const EmptyComponent = useCallback(() => <>{empty}</>, [empty]);\n\n const renderList = useCallback(\n () => (\n <FixedSizeList\n ref={mergedListRef}\n itemCount={itemCount}\n width='100%'\n height={height}\n itemSize={itemSize}\n style={heightProp ? style : { ...style, height: '100% important!' }}\n overscanCount={overscanCount}\n onScroll={\n heightProp\n ? ({ scrollOffset }) => loadNextHandler(scrollOffset)\n : undefined\n }\n innerElementType={itemCount > 0 ? InnerElement : EmptyComponent}\n {...rest}\n >\n {listChildren}\n </FixedSizeList>\n ),\n [\n EmptyComponent,\n InnerElement,\n height,\n heightProp,\n itemCount,\n itemSize,\n listChildren,\n loadNextHandler,\n mergedListRef,\n overscanCount,\n rest,\n style,\n ]\n );\n\n if (heightProp) {\n return renderList();\n }\n\n return (\n <WindowScroller onScroll={windowScrollHandler}>\n {renderList()}\n </WindowScroller>\n );\n }\n);\n\nList.displayName = 'List';\n\nexport { default as WindowScroller } from './WindowScroller';\nexport { default as useRWLoadNext } from './utils/useRWLoadNext';\n\nexport default List;\n"],"mappings":"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"}
1
+ {"version":3,"file":"index.js","names":["React","forwardRef","useCallback","useContext","useMemo","FixedSizeList","useFontSize","useForwardedRef","useSafeAreaInset","useSize","useTheme","useIsMinWidth","WindowScroller","useRWLoadNext","LayoutContext","List","itemCount","itemHeight","threshold","overscanCount","height","heightProp","paddingTop","paddingBottom","style","empty","onLoadNext","itemRenderer","rest","ref","listRef","mergedListRef","size","fontSize","document","body","hasNavigation","hasPageHeader","theme","isMinMd","safeAreaInset","itemSize","paddingTopSize","pageHeaderHeight","paddingBottomSize","navigationTabHeight","bottom","loadNextHandler","windowScrollHandler","top","current","scrollTo","InnerElement","innerStyle","innerRest","parseFloat","listChildren","childrenStyle","childrenRest","toString","EmptyComponent","renderList","scrollOffset","undefined","displayName","default"],"sources":["../../../src/List/index.tsx"],"sourcesContent":["import React, {\n CSSProperties,\n forwardRef,\n useCallback,\n useContext,\n useMemo,\n} from 'react';\nimport {\n FixedSizeList,\n ListChildComponentProps,\n ListProps as RWListProps,\n} from 'react-window';\nimport {\n useFontSize,\n useForwardedRef,\n useSafeAreaInset,\n useSize,\n} from '@os-design/utils';\nimport { useTheme } from '@os-design/theming';\nimport { useIsMinWidth } from '@os-design/media';\nimport WindowScroller, { ScrollPosition } from './WindowScroller';\nimport useRWLoadNext from './utils/useRWLoadNext';\nimport LayoutContext from '../Layout/LayoutContext';\n\nexport interface ListProps extends Partial<RWListProps> {\n /**\n * Total number of items in the list.\n */\n itemCount: number;\n /**\n * The item height in em.\n * @default 4\n */\n itemHeight?: number;\n /**\n * A threshold N means that the onLoadNext function calls when a user scrolls all items except N.\n * @default 10\n */\n threshold?: number;\n /**\n * Defines how many items outside of the visible \"window\" to render at all times.\n * @default 10\n */\n overscanCount?: number;\n /**\n * The height of the list in px.\n * @default undefined\n */\n height?: number;\n /**\n * The top padding in em.\n * @default 0\n */\n paddingTop?: number;\n /**\n * The bottom padding in em.\n * @default 0\n */\n paddingBottom?: number;\n /**\n * The inline css style.\n * @default undefined\n */\n style?: CSSProperties;\n /**\n * The component that renders if the list is empty.\n * @default undefined\n */\n empty?: React.ReactNode;\n /**\n * The callback to load more items.\n * @default undefined\n */\n onLoadNext?: () => void;\n /**\n * The callback to render items.\n * @default () => null\n */\n itemRenderer?: React.FC<ListChildComponentProps>;\n}\n\n/**\n * Virtualized list.\n * Used the react-window library.\n */\nconst List = forwardRef<FixedSizeList, ListProps>(\n (\n {\n itemCount,\n itemHeight = 4,\n threshold = 10,\n overscanCount = 10,\n height: heightProp,\n paddingTop = 0,\n paddingBottom = 0,\n style = {},\n empty,\n onLoadNext = () => {},\n itemRenderer = () => null,\n ...rest\n },\n ref\n ) => {\n const [listRef, mergedListRef] = useForwardedRef(ref);\n const size = useSize();\n const fontSize = useFontSize(document.body);\n const { hasNavigation, hasPageHeader } = useContext(LayoutContext);\n const { theme } = useTheme();\n const isMinMd = useIsMinWidth('md');\n const safeAreaInset = useSafeAreaInset();\n\n const itemSize = useMemo(\n () => itemHeight * fontSize,\n [itemHeight, fontSize]\n );\n\n const paddingTopSize = useMemo(\n () =>\n ((hasPageHeader ? theme.pageHeaderHeight[isMinMd ? 1 : 0] : 0) +\n paddingTop) *\n fontSize,\n [hasPageHeader, theme.pageHeaderHeight, isMinMd, paddingTop, fontSize]\n );\n\n const paddingBottomSize = useMemo(\n () =>\n ((hasNavigation && !isMinMd ? theme.navigationTabHeight : 0) +\n paddingBottom) *\n fontSize +\n safeAreaInset.bottom,\n [\n hasNavigation,\n theme.navigationTabHeight,\n isMinMd,\n paddingBottom,\n fontSize,\n safeAreaInset.bottom,\n ]\n );\n\n const height = useMemo(\n () => heightProp || size.height,\n [heightProp, size.height]\n );\n\n const loadNextHandler = useRWLoadNext({\n itemCount,\n threshold,\n itemSize,\n paddingTop: paddingTopSize,\n height,\n onLoadNext,\n });\n\n const windowScrollHandler = useCallback(\n ({ top }: ScrollPosition) => {\n // Set the scroll position to the list\n if (listRef.current) listRef.current.scrollTo(top);\n loadNextHandler(top);\n },\n [listRef, loadNextHandler]\n );\n\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n const InnerElement = useCallback(\n ({ style: innerStyle, ...innerRest }) => (\n <div\n style={{\n ...innerStyle,\n height: `${\n parseFloat(innerStyle.height) + paddingTopSize + paddingBottomSize\n }px`,\n }}\n {...innerRest}\n />\n ),\n [paddingBottomSize, paddingTopSize]\n );\n\n const listChildren = useCallback<RWListProps['children']>(\n ({ style: childrenStyle, ...childrenRest }) =>\n itemRenderer({\n style: {\n ...childrenStyle,\n top: `${\n parseFloat(\n childrenStyle.top ? childrenStyle.top.toString() : '0'\n ) + paddingTopSize\n }px`,\n },\n ...childrenRest,\n }),\n [itemRenderer, paddingTopSize]\n );\n\n // eslint-disable-next-line react/jsx-no-useless-fragment\n const EmptyComponent = useCallback(() => <>{empty}</>, [empty]);\n\n const renderList = useCallback(\n () => (\n <FixedSizeList\n ref={mergedListRef}\n itemCount={itemCount}\n width='100%'\n height={height}\n itemSize={itemSize}\n style={heightProp ? style : { ...style, height: '100% important!' }}\n overscanCount={overscanCount}\n onScroll={\n heightProp\n ? ({ scrollOffset }) => loadNextHandler(scrollOffset)\n : undefined\n }\n innerElementType={itemCount > 0 ? InnerElement : EmptyComponent}\n {...rest}\n >\n {listChildren}\n </FixedSizeList>\n ),\n [\n EmptyComponent,\n InnerElement,\n height,\n heightProp,\n itemCount,\n itemSize,\n listChildren,\n loadNextHandler,\n mergedListRef,\n overscanCount,\n rest,\n style,\n ]\n );\n\n if (heightProp) {\n return renderList();\n }\n\n return (\n <WindowScroller onScroll={windowScrollHandler}>\n {renderList()}\n </WindowScroller>\n );\n }\n);\n\nList.displayName = 'List';\n\nexport { default as WindowScroller } from './WindowScroller';\nexport { default as useRWLoadNext } from './utils/useRWLoadNext';\n\nexport default List;\n"],"mappings":"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"}
@@ -9,7 +9,6 @@ export const disableBodyPointerEvents = () => {
9
9
  };
10
10
  export const enableBodyPointerEvents = () => {
11
11
  timeoutId = null;
12
-
13
12
  if (originalBodyPointerEvents !== null) {
14
13
  document.body.style.pointerEvents = originalBodyPointerEvents;
15
14
  originalBodyPointerEvents = null;
@@ -1 +1 @@
1
- {"version":3,"file":"bodyPointerEvents.js","names":["clearFrameTimeout","setFrameTimeout","originalBodyPointerEvents","timeoutId","disableBodyPointerEvents","document","body","style","pointerEvents","enableBodyPointerEvents","enableBodyPointerEventsAfterDelay","delay"],"sources":["../../../../src/List/utils/bodyPointerEvents.ts"],"sourcesContent":["import { clearFrameTimeout, Frame, setFrameTimeout } from './frameTimeout';\n\nlet originalBodyPointerEvents: string | null = null;\nlet timeoutId: Frame | null = null;\n\nexport const disableBodyPointerEvents = (): void => {\n if (originalBodyPointerEvents === null) {\n originalBodyPointerEvents = document.body.style.pointerEvents;\n document.body.style.pointerEvents = 'none';\n }\n};\n\nexport const enableBodyPointerEvents = (): void => {\n timeoutId = null;\n if (originalBodyPointerEvents !== null) {\n document.body.style.pointerEvents = originalBodyPointerEvents;\n originalBodyPointerEvents = null;\n }\n};\n\nexport const enableBodyPointerEventsAfterDelay = (delay: number): void => {\n if (timeoutId) clearFrameTimeout(timeoutId);\n timeoutId = setFrameTimeout(enableBodyPointerEvents, delay);\n};\n"],"mappings":"AAAA,SAASA,iBAAT,EAAmCC,eAAnC,QAA0D,gBAA1D;AAEA,IAAIC,yBAAwC,GAAG,IAA/C;AACA,IAAIC,SAAuB,GAAG,IAA9B;AAEA,OAAO,MAAMC,wBAAwB,GAAG,MAAY;EAClD,IAAIF,yBAAyB,KAAK,IAAlC,EAAwC;IACtCA,yBAAyB,GAAGG,QAAQ,CAACC,IAAT,CAAcC,KAAd,CAAoBC,aAAhD;IACAH,QAAQ,CAACC,IAAT,CAAcC,KAAd,CAAoBC,aAApB,GAAoC,MAApC;EACD;AACF,CALM;AAOP,OAAO,MAAMC,uBAAuB,GAAG,MAAY;EACjDN,SAAS,GAAG,IAAZ;;EACA,IAAID,yBAAyB,KAAK,IAAlC,EAAwC;IACtCG,QAAQ,CAACC,IAAT,CAAcC,KAAd,CAAoBC,aAApB,GAAoCN,yBAApC;IACAA,yBAAyB,GAAG,IAA5B;EACD;AACF,CANM;AAQP,OAAO,MAAMQ,iCAAiC,GAAIC,KAAD,IAAyB;EACxE,IAAIR,SAAJ,EAAeH,iBAAiB,CAACG,SAAD,CAAjB;EACfA,SAAS,GAAGF,eAAe,CAACQ,uBAAD,EAA0BE,KAA1B,CAA3B;AACD,CAHM"}
1
+ {"version":3,"file":"bodyPointerEvents.js","names":["clearFrameTimeout","setFrameTimeout","originalBodyPointerEvents","timeoutId","disableBodyPointerEvents","document","body","style","pointerEvents","enableBodyPointerEvents","enableBodyPointerEventsAfterDelay","delay"],"sources":["../../../../src/List/utils/bodyPointerEvents.ts"],"sourcesContent":["import { clearFrameTimeout, Frame, setFrameTimeout } from './frameTimeout';\n\nlet originalBodyPointerEvents: string | null = null;\nlet timeoutId: Frame | null = null;\n\nexport const disableBodyPointerEvents = (): void => {\n if (originalBodyPointerEvents === null) {\n originalBodyPointerEvents = document.body.style.pointerEvents;\n document.body.style.pointerEvents = 'none';\n }\n};\n\nexport const enableBodyPointerEvents = (): void => {\n timeoutId = null;\n if (originalBodyPointerEvents !== null) {\n document.body.style.pointerEvents = originalBodyPointerEvents;\n originalBodyPointerEvents = null;\n }\n};\n\nexport const enableBodyPointerEventsAfterDelay = (delay: number): void => {\n if (timeoutId) clearFrameTimeout(timeoutId);\n timeoutId = setFrameTimeout(enableBodyPointerEvents, delay);\n};\n"],"mappings":"AAAA,SAASA,iBAAiB,EAASC,eAAe,QAAQ,gBAAgB;AAE1E,IAAIC,yBAAwC,GAAG,IAAI;AACnD,IAAIC,SAAuB,GAAG,IAAI;AAElC,OAAO,MAAMC,wBAAwB,GAAG,MAAY;EAClD,IAAIF,yBAAyB,KAAK,IAAI,EAAE;IACtCA,yBAAyB,GAAGG,QAAQ,CAACC,IAAI,CAACC,KAAK,CAACC,aAAa;IAC7DH,QAAQ,CAACC,IAAI,CAACC,KAAK,CAACC,aAAa,GAAG,MAAM;EAC5C;AACF,CAAC;AAED,OAAO,MAAMC,uBAAuB,GAAG,MAAY;EACjDN,SAAS,GAAG,IAAI;EAChB,IAAID,yBAAyB,KAAK,IAAI,EAAE;IACtCG,QAAQ,CAACC,IAAI,CAACC,KAAK,CAACC,aAAa,GAAGN,yBAAyB;IAC7DA,yBAAyB,GAAG,IAAI;EAClC;AACF,CAAC;AAED,OAAO,MAAMQ,iCAAiC,GAAIC,KAAa,IAAW;EACxE,IAAIR,SAAS,EAAEH,iBAAiB,CAACG,SAAS,CAAC;EAC3CA,SAAS,GAAGF,eAAe,CAACQ,uBAAuB,EAAEE,KAAK,CAAC;AAC7D,CAAC"}
@@ -4,20 +4,18 @@
4
4
  export const clearFrameTimeout = frame => {
5
5
  window.cancelAnimationFrame(frame.id);
6
6
  };
7
+
7
8
  /**
8
9
  * Sets a timeout using requestAnimationFrame.
9
10
  */
10
-
11
11
  export const setFrameTimeout = (handler, timeout) => {
12
12
  let start = 0;
13
13
  const frame = {
14
14
  id: 0
15
15
  };
16
-
17
16
  const frameRequestCallback = timestamp => {
18
17
  if (!start) start = timestamp;
19
18
  const timePassed = timestamp - start;
20
-
21
19
  if (timePassed >= timeout) {
22
20
  clearFrameTimeout(frame);
23
21
  handler();
@@ -25,7 +23,6 @@ export const setFrameTimeout = (handler, timeout) => {
25
23
  frame.id = window.requestAnimationFrame(frameRequestCallback);
26
24
  }
27
25
  };
28
-
29
26
  frame.id = window.requestAnimationFrame(frameRequestCallback);
30
27
  return frame;
31
28
  };
@@ -1 +1 @@
1
- {"version":3,"file":"frameTimeout.js","names":["clearFrameTimeout","frame","window","cancelAnimationFrame","id","setFrameTimeout","handler","timeout","start","frameRequestCallback","timestamp","timePassed","requestAnimationFrame"],"sources":["../../../../src/List/utils/frameTimeout.ts"],"sourcesContent":["export interface Frame {\n id: number;\n}\n\n/**\n * Cancels a timeout previously created by setFrameTimeout.\n */\nexport const clearFrameTimeout = (frame: Frame): void => {\n window.cancelAnimationFrame(frame.id);\n};\n\n/**\n * Sets a timeout using requestAnimationFrame.\n */\nexport const setFrameTimeout = (\n handler: () => void,\n timeout: number\n): Frame => {\n let start = 0;\n const frame = { id: 0 };\n\n const frameRequestCallback = (timestamp: number) => {\n if (!start) start = timestamp;\n const timePassed = timestamp - start;\n\n if (timePassed >= timeout) {\n clearFrameTimeout(frame);\n handler();\n } else {\n frame.id = window.requestAnimationFrame(frameRequestCallback);\n }\n };\n\n frame.id = window.requestAnimationFrame(frameRequestCallback);\n return frame;\n};\n"],"mappings":"AAIA;AACA;AACA;AACA,OAAO,MAAMA,iBAAiB,GAAIC,KAAD,IAAwB;EACvDC,MAAM,CAACC,oBAAP,CAA4BF,KAAK,CAACG,EAAlC;AACD,CAFM;AAIP;AACA;AACA;;AACA,OAAO,MAAMC,eAAe,GAAG,CAC7BC,OAD6B,EAE7BC,OAF6B,KAGnB;EACV,IAAIC,KAAK,GAAG,CAAZ;EACA,MAAMP,KAAK,GAAG;IAAEG,EAAE,EAAE;EAAN,CAAd;;EAEA,MAAMK,oBAAoB,GAAIC,SAAD,IAAuB;IAClD,IAAI,CAACF,KAAL,EAAYA,KAAK,GAAGE,SAAR;IACZ,MAAMC,UAAU,GAAGD,SAAS,GAAGF,KAA/B;;IAEA,IAAIG,UAAU,IAAIJ,OAAlB,EAA2B;MACzBP,iBAAiB,CAACC,KAAD,CAAjB;MACAK,OAAO;IACR,CAHD,MAGO;MACLL,KAAK,CAACG,EAAN,GAAWF,MAAM,CAACU,qBAAP,CAA6BH,oBAA7B,CAAX;IACD;EACF,CAVD;;EAYAR,KAAK,CAACG,EAAN,GAAWF,MAAM,CAACU,qBAAP,CAA6BH,oBAA7B,CAAX;EACA,OAAOR,KAAP;AACD,CArBM"}
1
+ {"version":3,"file":"frameTimeout.js","names":["clearFrameTimeout","frame","window","cancelAnimationFrame","id","setFrameTimeout","handler","timeout","start","frameRequestCallback","timestamp","timePassed","requestAnimationFrame"],"sources":["../../../../src/List/utils/frameTimeout.ts"],"sourcesContent":["export interface Frame {\n id: number;\n}\n\n/**\n * Cancels a timeout previously created by setFrameTimeout.\n */\nexport const clearFrameTimeout = (frame: Frame): void => {\n window.cancelAnimationFrame(frame.id);\n};\n\n/**\n * Sets a timeout using requestAnimationFrame.\n */\nexport const setFrameTimeout = (\n handler: () => void,\n timeout: number\n): Frame => {\n let start = 0;\n const frame = { id: 0 };\n\n const frameRequestCallback = (timestamp: number) => {\n if (!start) start = timestamp;\n const timePassed = timestamp - start;\n\n if (timePassed >= timeout) {\n clearFrameTimeout(frame);\n handler();\n } else {\n frame.id = window.requestAnimationFrame(frameRequestCallback);\n }\n };\n\n frame.id = window.requestAnimationFrame(frameRequestCallback);\n return frame;\n};\n"],"mappings":"AAIA;AACA;AACA;AACA,OAAO,MAAMA,iBAAiB,GAAIC,KAAY,IAAW;EACvDC,MAAM,CAACC,oBAAoB,CAACF,KAAK,CAACG,EAAE,CAAC;AACvC,CAAC;;AAED;AACA;AACA;AACA,OAAO,MAAMC,eAAe,GAAG,CAC7BC,OAAmB,EACnBC,OAAe,KACL;EACV,IAAIC,KAAK,GAAG,CAAC;EACb,MAAMP,KAAK,GAAG;IAAEG,EAAE,EAAE;EAAE,CAAC;EAEvB,MAAMK,oBAAoB,GAAIC,SAAiB,IAAK;IAClD,IAAI,CAACF,KAAK,EAAEA,KAAK,GAAGE,SAAS;IAC7B,MAAMC,UAAU,GAAGD,SAAS,GAAGF,KAAK;IAEpC,IAAIG,UAAU,IAAIJ,OAAO,EAAE;MACzBP,iBAAiB,CAACC,KAAK,CAAC;MACxBK,OAAO,EAAE;IACX,CAAC,MAAM;MACLL,KAAK,CAACG,EAAE,GAAGF,MAAM,CAACU,qBAAqB,CAACH,oBAAoB,CAAC;IAC/D;EACF,CAAC;EAEDR,KAAK,CAACG,EAAE,GAAGF,MAAM,CAACU,qBAAqB,CAACH,oBAAoB,CAAC;EAC7D,OAAOR,KAAK;AACd,CAAC"}
@@ -1,5 +1,4 @@
1
1
  import { useCallback, useEffect, useRef } from 'react';
2
-
3
2
  /**
4
3
  * Creates the onScroll callback for react-window to implement
5
4
  * the onLoadNext function.
@@ -24,6 +23,5 @@ const useRWLoadNext = props => {
24
23
  onLoadNext();
25
24
  }, []);
26
25
  };
27
-
28
26
  export default useRWLoadNext;
29
27
  //# sourceMappingURL=useRWLoadNext.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"useRWLoadNext.js","names":["useCallback","useEffect","useRef","useRWLoadNext","props","propsRef","current","scrollOffset","itemCount","threshold","itemSize","paddingTop","height","onLoadNext","maxItemBeforeLoad","maxScrollOffsetBeforeLoad"],"sources":["../../../../src/List/utils/useRWLoadNext.ts"],"sourcesContent":["import { useCallback, useEffect, useRef } from 'react';\n\ninterface UseRWLoadNextProps {\n itemCount: number;\n threshold: number;\n itemSize: number;\n paddingTop: number;\n height: number;\n onLoadNext: () => void;\n}\n\ntype OnScroll = (scrollOffset: number) => void;\n\n/**\n * Creates the onScroll callback for react-window to implement\n * the onLoadNext function.\n */\nconst useRWLoadNext = (props: UseRWLoadNextProps): OnScroll => {\n const propsRef = useRef(props);\n\n useEffect(() => {\n propsRef.current = props;\n }, [props]);\n\n return useCallback<OnScroll>((scrollOffset) => {\n const { itemCount, threshold, itemSize, paddingTop, height, onLoadNext } =\n propsRef.current;\n\n const maxItemBeforeLoad = itemCount - threshold;\n const maxScrollOffsetBeforeLoad =\n maxItemBeforeLoad * itemSize + paddingTop - height;\n\n if (scrollOffset < maxScrollOffsetBeforeLoad) return;\n onLoadNext();\n }, []);\n};\n\nexport default useRWLoadNext;\n"],"mappings":"AAAA,SAASA,WAAT,EAAsBC,SAAtB,EAAiCC,MAAjC,QAA+C,OAA/C;;AAaA;AACA;AACA;AACA;AACA,MAAMC,aAAa,GAAIC,KAAD,IAAyC;EAC7D,MAAMC,QAAQ,GAAGH,MAAM,CAACE,KAAD,CAAvB;EAEAH,SAAS,CAAC,MAAM;IACdI,QAAQ,CAACC,OAAT,GAAmBF,KAAnB;EACD,CAFQ,EAEN,CAACA,KAAD,CAFM,CAAT;EAIA,OAAOJ,WAAW,CAAYO,YAAD,IAAkB;IAC7C,MAAM;MAAEC,SAAF;MAAaC,SAAb;MAAwBC,QAAxB;MAAkCC,UAAlC;MAA8CC,MAA9C;MAAsDC;IAAtD,IACJR,QAAQ,CAACC,OADX;IAGA,MAAMQ,iBAAiB,GAAGN,SAAS,GAAGC,SAAtC;IACA,MAAMM,yBAAyB,GAC7BD,iBAAiB,GAAGJ,QAApB,GAA+BC,UAA/B,GAA4CC,MAD9C;IAGA,IAAIL,YAAY,GAAGQ,yBAAnB,EAA8C;IAC9CF,UAAU;EACX,CAViB,EAUf,EAVe,CAAlB;AAWD,CAlBD;;AAoBA,eAAeV,aAAf"}
1
+ {"version":3,"file":"useRWLoadNext.js","names":["useCallback","useEffect","useRef","useRWLoadNext","props","propsRef","current","scrollOffset","itemCount","threshold","itemSize","paddingTop","height","onLoadNext","maxItemBeforeLoad","maxScrollOffsetBeforeLoad"],"sources":["../../../../src/List/utils/useRWLoadNext.ts"],"sourcesContent":["import { useCallback, useEffect, useRef } from 'react';\n\ninterface UseRWLoadNextProps {\n itemCount: number;\n threshold: number;\n itemSize: number;\n paddingTop: number;\n height: number;\n onLoadNext: () => void;\n}\n\ntype OnScroll = (scrollOffset: number) => void;\n\n/**\n * Creates the onScroll callback for react-window to implement\n * the onLoadNext function.\n */\nconst useRWLoadNext = (props: UseRWLoadNextProps): OnScroll => {\n const propsRef = useRef(props);\n\n useEffect(() => {\n propsRef.current = props;\n }, [props]);\n\n return useCallback<OnScroll>((scrollOffset) => {\n const { itemCount, threshold, itemSize, paddingTop, height, onLoadNext } =\n propsRef.current;\n\n const maxItemBeforeLoad = itemCount - threshold;\n const maxScrollOffsetBeforeLoad =\n maxItemBeforeLoad * itemSize + paddingTop - height;\n\n if (scrollOffset < maxScrollOffsetBeforeLoad) return;\n onLoadNext();\n }, []);\n};\n\nexport default useRWLoadNext;\n"],"mappings":"AAAA,SAASA,WAAW,EAAEC,SAAS,EAAEC,MAAM,QAAQ,OAAO;AAatD;AACA;AACA;AACA;AACA,MAAMC,aAAa,GAAIC,KAAyB,IAAe;EAC7D,MAAMC,QAAQ,GAAGH,MAAM,CAACE,KAAK,CAAC;EAE9BH,SAAS,CAAC,MAAM;IACdI,QAAQ,CAACC,OAAO,GAAGF,KAAK;EAC1B,CAAC,EAAE,CAACA,KAAK,CAAC,CAAC;EAEX,OAAOJ,WAAW,CAAYO,YAAY,IAAK;IAC7C,MAAM;MAAEC,SAAS;MAAEC,SAAS;MAAEC,QAAQ;MAAEC,UAAU;MAAEC,MAAM;MAAEC;IAAW,CAAC,GACtER,QAAQ,CAACC,OAAO;IAElB,MAAMQ,iBAAiB,GAAGN,SAAS,GAAGC,SAAS;IAC/C,MAAMM,yBAAyB,GAC7BD,iBAAiB,GAAGJ,QAAQ,GAAGC,UAAU,GAAGC,MAAM;IAEpD,IAAIL,YAAY,GAAGQ,yBAAyB,EAAE;IAC9CF,UAAU,EAAE;EACd,CAAC,EAAE,EAAE,CAAC;AACR,CAAC;AAED,eAAeV,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 from 'react';
4
3
  import styled from '@emotion/styled';
5
4
  import { clr } from '@os-design/theming';
@@ -29,16 +28,13 @@ export const RightAddon = styled.div`
29
28
  margin-left: auto;
30
29
  padding-left: ${p => p.theme.listItemAddonPaddingHorizontal}em;
31
30
  `;
32
-
33
31
  const hasSwipeStyles = p => p.hasSwipe && css`
34
32
  transform: translateX(100%);
35
33
  ${transitionStyles('transform')(p)};
36
34
  `;
37
-
38
35
  const openedStyles = p => p.opened && css`
39
36
  transform: translateX(0);
40
37
  `;
41
-
42
38
  const Actions = styled('nav', omitEmotionProps('hasSwipe', 'opened'))`
43
39
  position: absolute;
44
40
  top: 0;
@@ -60,8 +56,9 @@ const Actions = styled('nav', omitEmotionProps('hasSwipe', 'opened'))`
60
56
  ${openedStyles};
61
57
  ${horizontalPaddingStyles('right')};
62
58
  `;
63
- let actionIndex = 0; // Used by ListItem, ListItemLink
59
+ let actionIndex = 0;
64
60
 
61
+ // Used by ListItem, ListItemLink
65
62
  const ListItemContent = ({
66
63
  title,
67
64
  description,
@@ -90,7 +87,6 @@ const ListItemContent = ({
90
87
  }
91
88
  }, actionRest), icon);
92
89
  })));
93
-
94
90
  ListItemContent.displayName = 'ListItemContent';
95
91
  export default ListItemContent;
96
92
  //# sourceMappingURL=ListItemContent.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"ListItemContent.js","names":["React","styled","clr","ellipsisStyles","horizontalPaddingStyles","transitionStyles","omitEmotionProps","css","Button","Content","div","Title","p","theme","colorText","Description","listItemColorDescription","sizes","small","LeftAddon","listItemAddonPaddingHorizontal","RightAddon","hasSwipeStyles","hasSwipe","openedStyles","opened","Actions","listItemActionsPaddingLeft","colorBg","slice","actionIndex","ListItemContent","title","description","left","right","actions","length","map","icon","onClick","actionRest","e","preventDefault","displayName"],"sources":["../../../src/ListItem/ListItemContent.tsx"],"sourcesContent":["import React from 'react';\nimport styled from '@emotion/styled';\nimport { clr, Color } from '@os-design/theming';\nimport {\n ellipsisStyles,\n horizontalPaddingStyles,\n transitionStyles,\n} from '@os-design/styles';\nimport { omitEmotionProps } from '@os-design/utils';\nimport { css } from '@emotion/react';\nimport Button, { ButtonProps } from '../Button';\n\nexport interface ListItemAction\n extends Omit<ButtonProps, 'leftIcon' | 'rightIcon' | 'wide'> {\n icon: React.ReactElement;\n}\n\nexport interface ListItemContentProps {\n /**\n * The title of the item.\n */\n title: string;\n /**\n * The description of the item.\n * @default undefined\n */\n description?: string;\n /**\n * The component located on the left side.\n * For example, avatar, button, checkbox.\n * @default undefined\n */\n left?: React.ReactNode;\n /**\n * The component located on the right side.\n * For example, date.\n */\n right?: React.ReactNode;\n /**\n * Buttons to control the item.\n * For example, edit, delete.\n * @default undefined\n */\n actions?: ListItemAction[];\n\n hasSwipe: boolean;\n opened: boolean;\n}\n\nconst Content = styled.div`\n overflow: hidden;\n`;\n\nconst Title = styled.div`\n color: ${(p) => clr(p.theme.colorText)};\n font-weight: 500;\n ${ellipsisStyles};\n`;\n\nconst Description = styled.div`\n color: ${(p) => clr(p.theme.listItemColorDescription)};\n font-size: ${(p) => p.theme.sizes.small}em;\n ${ellipsisStyles};\n`;\n\nexport const LeftAddon = styled.div`\n color: ${(p) => clr(p.theme.colorText)};\n padding-right: ${(p) => p.theme.listItemAddonPaddingHorizontal}em;\n`;\n\nexport const RightAddon = styled.div`\n color: ${(p) => clr(p.theme.colorText)};\n margin-left: auto;\n padding-left: ${(p) => p.theme.listItemAddonPaddingHorizontal}em;\n`;\n\nconst hasSwipeStyles = (p) =>\n p.hasSwipe &&\n css`\n transform: translateX(100%);\n ${transitionStyles('transform')(p)};\n `;\n\nconst openedStyles = (p) =>\n p.opened &&\n css`\n transform: translateX(0);\n `;\n\ninterface ActionsProps {\n hasSwipe: boolean;\n opened: boolean;\n}\nconst Actions = styled(\n 'nav',\n omitEmotionProps('hasSwipe', 'opened')\n)<ActionsProps>`\n position: absolute;\n top: 0;\n right: 0;\n bottom: 0;\n\n display: flex;\n align-items: center;\n\n padding-left: ${(p) => p.theme.listItemActionsPaddingLeft}em;\n background: linear-gradient(\n to right,\n ${(p) => clr([...p.theme.colorBg.slice(0, 3), 0] as Color)},\n ${(p) => clr(p.theme.colorBg)}\n ${(p) => p.theme.listItemActionsPaddingLeft}em\n );\n\n ${hasSwipeStyles};\n ${openedStyles};\n ${horizontalPaddingStyles('right')};\n`;\n\nlet actionIndex = 0;\n\n// Used by ListItem, ListItemLink\nconst ListItemContent: React.FC<ListItemContentProps> = ({\n title,\n description,\n left,\n right,\n actions = [],\n hasSwipe,\n opened,\n}) => (\n <>\n {left && <LeftAddon>{left}</LeftAddon>}\n\n <Content>\n <Title>{title}</Title>\n {description && <Description>{description}</Description>}\n </Content>\n\n {right && <RightAddon>{right}</RightAddon>}\n\n {actions.length > 0 && (\n <Actions hasSwipe={hasSwipe} opened={opened}>\n {actions.map(({ icon, onClick = () => {}, ...actionRest }) => {\n actionIndex += 1;\n return (\n <Button\n type='ghost'\n wide='never'\n size='small'\n key={actionIndex}\n onClick={(e) => {\n e.preventDefault();\n onClick(e);\n }}\n {...actionRest}\n >\n {icon}\n </Button>\n );\n })}\n </Actions>\n )}\n </>\n);\n\nListItemContent.displayName = 'ListItemContent';\n\nexport default ListItemContent;\n"],"mappings":";;AAAA,OAAOA,KAAP,MAAkB,OAAlB;AACA,OAAOC,MAAP,MAAmB,iBAAnB;AACA,SAASC,GAAT,QAA2B,oBAA3B;AACA,SACEC,cADF,EAEEC,uBAFF,EAGEC,gBAHF,QAIO,mBAJP;AAKA,SAASC,gBAAT,QAAiC,kBAAjC;AACA,SAASC,GAAT,QAAoB,gBAApB;AACA,OAAOC,MAAP,MAAoC,WAApC;AAuCA,MAAMC,OAAO,GAAGR,MAAM,CAACS,GAAI;AAC3B;AACA,CAFA;AAIA,MAAMC,KAAK,GAAGV,MAAM,CAACS,GAAI;AACzB,WAAYE,CAAD,IAAOV,GAAG,CAACU,CAAC,CAACC,KAAF,CAAQC,SAAT,CAAoB;AACzC;AACA,IAAIX,cAAe;AACnB,CAJA;AAMA,MAAMY,WAAW,GAAGd,MAAM,CAACS,GAAI;AAC/B,WAAYE,CAAD,IAAOV,GAAG,CAACU,CAAC,CAACC,KAAF,CAAQG,wBAAT,CAAmC;AACxD,eAAgBJ,CAAD,IAAOA,CAAC,CAACC,KAAF,CAAQI,KAAR,CAAcC,KAAM;AAC1C,IAAIf,cAAe;AACnB,CAJA;AAMA,OAAO,MAAMgB,SAAS,GAAGlB,MAAM,CAACS,GAAI;AACpC,WAAYE,CAAD,IAAOV,GAAG,CAACU,CAAC,CAACC,KAAF,CAAQC,SAAT,CAAoB;AACzC,mBAAoBF,CAAD,IAAOA,CAAC,CAACC,KAAF,CAAQO,8BAA+B;AACjE,CAHO;AAKP,OAAO,MAAMC,UAAU,GAAGpB,MAAM,CAACS,GAAI;AACrC,WAAYE,CAAD,IAAOV,GAAG,CAACU,CAAC,CAACC,KAAF,CAAQC,SAAT,CAAoB;AACzC;AACA,kBAAmBF,CAAD,IAAOA,CAAC,CAACC,KAAF,CAAQO,8BAA+B;AAChE,CAJO;;AAMP,MAAME,cAAc,GAAIV,CAAD,IACrBA,CAAC,CAACW,QAAF,IACAhB,GAAI;AACN;AACA,MAAMF,gBAAgB,CAAC,WAAD,CAAhB,CAA8BO,CAA9B,CAAiC;AACvC,GALA;;AAOA,MAAMY,YAAY,GAAIZ,CAAD,IACnBA,CAAC,CAACa,MAAF,IACAlB,GAAI;AACN;AACA,GAJA;;AAUA,MAAMmB,OAAO,GAAGzB,MAAM,CACpB,KADoB,EAEpBK,gBAAgB,CAAC,UAAD,EAAa,QAAb,CAFI,CAGN;AAChB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,kBAAmBM,CAAD,IAAOA,CAAC,CAACC,KAAF,CAAQc,0BAA2B;AAC5D;AACA;AACA,MAAOf,CAAD,IAAOV,GAAG,CAAC,CAAC,GAAGU,CAAC,CAACC,KAAF,CAAQe,OAAR,CAAgBC,KAAhB,CAAsB,CAAtB,EAAyB,CAAzB,CAAJ,EAAiC,CAAjC,CAAD,CAA+C;AAC/D,MAAOjB,CAAD,IAAOV,GAAG,CAACU,CAAC,CAACC,KAAF,CAAQe,OAAT,CAAkB;AAClC,QAAShB,CAAD,IAAOA,CAAC,CAACC,KAAF,CAAQc,0BAA2B;AAClD;AACA;AACA,IAAIL,cAAe;AACnB,IAAIE,YAAa;AACjB,IAAIpB,uBAAuB,CAAC,OAAD,CAAU;AACrC,CAvBA;AAyBA,IAAI0B,WAAW,GAAG,CAAlB,C,CAEA;;AACA,MAAMC,eAA+C,GAAG,CAAC;EACvDC,KADuD;EAEvDC,WAFuD;EAGvDC,IAHuD;EAIvDC,KAJuD;EAKvDC,OAAO,GAAG,EAL6C;EAMvDb,QANuD;EAOvDE;AAPuD,CAAD,kBAStD,0CACGS,IAAI,iBAAI,oBAAC,SAAD,QAAYA,IAAZ,CADX,eAGE,oBAAC,OAAD,qBACE,oBAAC,KAAD,QAAQF,KAAR,CADF,EAEGC,WAAW,iBAAI,oBAAC,WAAD,QAAcA,WAAd,CAFlB,CAHF,EAQGE,KAAK,iBAAI,oBAAC,UAAD,QAAaA,KAAb,CARZ,EAUGC,OAAO,CAACC,MAAR,GAAiB,CAAjB,iBACC,oBAAC,OAAD;EAAS,QAAQ,EAAEd,QAAnB;EAA6B,MAAM,EAAEE;AAArC,GACGW,OAAO,CAACE,GAAR,CAAY,CAAC;EAAEC,IAAF;EAAQC,OAAO,GAAG,MAAM,CAAE,CAA1B;EAA4B,GAAGC;AAA/B,CAAD,KAAiD;EAC5DX,WAAW,IAAI,CAAf;EACA,oBACE,oBAAC,MAAD;IACE,IAAI,EAAC,OADP;IAEE,IAAI,EAAC,OAFP;IAGE,IAAI,EAAC,OAHP;IAIE,GAAG,EAAEA,WAJP;IAKE,OAAO,EAAGY,CAAD,IAAO;MACdA,CAAC,CAACC,cAAF;MACAH,OAAO,CAACE,CAAD,CAAP;IACD;EARH,GASMD,UATN,GAWGF,IAXH,CADF;AAeD,CAjBA,CADH,CAXJ,CATF;;AA4CAR,eAAe,CAACa,WAAhB,GAA8B,iBAA9B;AAEA,eAAeb,eAAf"}
1
+ {"version":3,"file":"ListItemContent.js","names":["React","styled","clr","ellipsisStyles","horizontalPaddingStyles","transitionStyles","omitEmotionProps","css","Button","Content","div","Title","p","theme","colorText","Description","listItemColorDescription","sizes","small","LeftAddon","listItemAddonPaddingHorizontal","RightAddon","hasSwipeStyles","hasSwipe","openedStyles","opened","Actions","listItemActionsPaddingLeft","colorBg","slice","actionIndex","ListItemContent","title","description","left","right","actions","length","map","icon","onClick","actionRest","e","preventDefault","displayName"],"sources":["../../../src/ListItem/ListItemContent.tsx"],"sourcesContent":["import React from 'react';\nimport styled from '@emotion/styled';\nimport { clr, Color } from '@os-design/theming';\nimport {\n ellipsisStyles,\n horizontalPaddingStyles,\n transitionStyles,\n} from '@os-design/styles';\nimport { omitEmotionProps } from '@os-design/utils';\nimport { css } from '@emotion/react';\nimport Button, { ButtonProps } from '../Button';\n\nexport interface ListItemAction\n extends Omit<ButtonProps, 'leftIcon' | 'rightIcon' | 'wide'> {\n icon: React.ReactElement;\n}\n\nexport interface ListItemContentProps {\n /**\n * The title of the item.\n */\n title: string;\n /**\n * The description of the item.\n * @default undefined\n */\n description?: string;\n /**\n * The component located on the left side.\n * For example, avatar, button, checkbox.\n * @default undefined\n */\n left?: React.ReactNode;\n /**\n * The component located on the right side.\n * For example, date.\n */\n right?: React.ReactNode;\n /**\n * Buttons to control the item.\n * For example, edit, delete.\n * @default undefined\n */\n actions?: ListItemAction[];\n\n hasSwipe: boolean;\n opened: boolean;\n}\n\nconst Content = styled.div`\n overflow: hidden;\n`;\n\nconst Title = styled.div`\n color: ${(p) => clr(p.theme.colorText)};\n font-weight: 500;\n ${ellipsisStyles};\n`;\n\nconst Description = styled.div`\n color: ${(p) => clr(p.theme.listItemColorDescription)};\n font-size: ${(p) => p.theme.sizes.small}em;\n ${ellipsisStyles};\n`;\n\nexport const LeftAddon = styled.div`\n color: ${(p) => clr(p.theme.colorText)};\n padding-right: ${(p) => p.theme.listItemAddonPaddingHorizontal}em;\n`;\n\nexport const RightAddon = styled.div`\n color: ${(p) => clr(p.theme.colorText)};\n margin-left: auto;\n padding-left: ${(p) => p.theme.listItemAddonPaddingHorizontal}em;\n`;\n\nconst hasSwipeStyles = (p) =>\n p.hasSwipe &&\n css`\n transform: translateX(100%);\n ${transitionStyles('transform')(p)};\n `;\n\nconst openedStyles = (p) =>\n p.opened &&\n css`\n transform: translateX(0);\n `;\n\ninterface ActionsProps {\n hasSwipe: boolean;\n opened: boolean;\n}\nconst Actions = styled(\n 'nav',\n omitEmotionProps('hasSwipe', 'opened')\n)<ActionsProps>`\n position: absolute;\n top: 0;\n right: 0;\n bottom: 0;\n\n display: flex;\n align-items: center;\n\n padding-left: ${(p) => p.theme.listItemActionsPaddingLeft}em;\n background: linear-gradient(\n to right,\n ${(p) => clr([...p.theme.colorBg.slice(0, 3), 0] as Color)},\n ${(p) => clr(p.theme.colorBg)}\n ${(p) => p.theme.listItemActionsPaddingLeft}em\n );\n\n ${hasSwipeStyles};\n ${openedStyles};\n ${horizontalPaddingStyles('right')};\n`;\n\nlet actionIndex = 0;\n\n// Used by ListItem, ListItemLink\nconst ListItemContent: React.FC<ListItemContentProps> = ({\n title,\n description,\n left,\n right,\n actions = [],\n hasSwipe,\n opened,\n}) => (\n <>\n {left && <LeftAddon>{left}</LeftAddon>}\n\n <Content>\n <Title>{title}</Title>\n {description && <Description>{description}</Description>}\n </Content>\n\n {right && <RightAddon>{right}</RightAddon>}\n\n {actions.length > 0 && (\n <Actions hasSwipe={hasSwipe} opened={opened}>\n {actions.map(({ icon, onClick = () => {}, ...actionRest }) => {\n actionIndex += 1;\n return (\n <Button\n type='ghost'\n wide='never'\n size='small'\n key={actionIndex}\n onClick={(e) => {\n e.preventDefault();\n onClick(e);\n }}\n {...actionRest}\n >\n {icon}\n </Button>\n );\n })}\n </Actions>\n )}\n </>\n);\n\nListItemContent.displayName = 'ListItemContent';\n\nexport default ListItemContent;\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 React, { forwardRef, useMemo } from 'react';
4
3
  import styled from '@emotion/styled';
5
4
  import { horizontalPaddingStyles } from '@os-design/styles';
@@ -36,10 +35,10 @@ export const ListItemContainer = styled.div`
36
35
 
37
36
  ${horizontalPaddingStyles()};
38
37
  `;
38
+
39
39
  /**
40
40
  * The base list item.
41
41
  */
42
-
43
42
  const ListItem = /*#__PURE__*/forwardRef(({
44
43
  title,
45
44
  description,
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","names":["React","forwardRef","useMemo","styled","horizontalPaddingStyles","isTouchDevice","useSwipe","clr","ListItemContent","ListItemContainer","div","p","theme","listItemColorBorder","ListItem","title","description","left","right","actions","onTouchStart","onTouchMove","onTouchEnd","rest","ref","touchDevice","opened","handlers","e","displayName"],"sources":["../../../src/ListItem/index.tsx"],"sourcesContent":["import React, { forwardRef, useMemo } from 'react';\nimport styled from '@emotion/styled';\nimport { horizontalPaddingStyles } from '@os-design/styles';\nimport { isTouchDevice, useSwipe } from '@os-design/utils';\nimport { clr } from '@os-design/theming';\nimport ListItemContent, { ListItemContentProps } from './ListItemContent';\n\ntype JsxDivProps = Omit<JSX.IntrinsicElements['div'], 'ref'>;\n\nexport type ListItemProps = JsxDivProps &\n Omit<ListItemContentProps, 'hasSwipe' | 'opened'>;\n\nexport const ListItemContainer = styled.div`\n position: relative;\n box-sizing: border-box;\n min-height: 4em;\n overflow: hidden;\n\n display: flex;\n align-items: center;\n\n &:not(:last-of-type) {\n border-bottom: 1px solid ${(p) => clr(p.theme.listItemColorBorder)};\n }\n\n @media (hover: hover) {\n // Hide actions by default\n & > nav {\n opacity: 0;\n }\n\n // Display actions either on focus, or on hover\n &:hover,\n &:focus-within {\n & > nav {\n opacity: 1;\n }\n }\n }\n\n ${horizontalPaddingStyles()};\n`;\n\n/**\n * The base list item.\n */\nconst ListItem = forwardRef<HTMLDivElement, ListItemProps>(\n (\n {\n title,\n description,\n left,\n right,\n actions = [],\n onTouchStart = () => {},\n onTouchMove = () => {},\n onTouchEnd = () => {},\n ...rest\n },\n ref\n ) => {\n const touchDevice = useMemo(() => isTouchDevice(), []);\n const { opened, handlers } = useSwipe();\n\n return (\n <ListItemContainer\n {...rest}\n onTouchStart={(e) => {\n handlers.onTouchStart(e);\n onTouchStart(e);\n }}\n onTouchMove={(e) => {\n handlers.onTouchMove(e);\n onTouchMove(e);\n }}\n onTouchEnd={(e) => {\n handlers.onTouchEnd(e);\n onTouchEnd(e);\n }}\n ref={ref}\n >\n <ListItemContent\n title={title}\n description={description}\n left={left}\n right={right}\n actions={actions}\n hasSwipe={touchDevice}\n opened={opened}\n />\n </ListItemContainer>\n );\n }\n);\n\nListItem.displayName = 'ListItem';\n\nexport default ListItem;\n"],"mappings":";;AAAA,OAAOA,KAAP,IAAgBC,UAAhB,EAA4BC,OAA5B,QAA2C,OAA3C;AACA,OAAOC,MAAP,MAAmB,iBAAnB;AACA,SAASC,uBAAT,QAAwC,mBAAxC;AACA,SAASC,aAAT,EAAwBC,QAAxB,QAAwC,kBAAxC;AACA,SAASC,GAAT,QAAoB,oBAApB;AACA,OAAOC,eAAP,MAAsD,mBAAtD;AAOA,OAAO,MAAMC,iBAAiB,GAAGN,MAAM,CAACO,GAAI;AAC5C;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,+BAAgCC,CAAD,IAAOJ,GAAG,CAACI,CAAC,CAACC,KAAF,CAAQC,mBAAT,CAA8B;AACvE;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,IAAIT,uBAAuB,EAAG;AAC9B,CA7BO;AA+BP;AACA;AACA;;AACA,MAAMU,QAAQ,gBAAGb,UAAU,CACzB,CACE;EACEc,KADF;EAEEC,WAFF;EAGEC,IAHF;EAIEC,KAJF;EAKEC,OAAO,GAAG,EALZ;EAMEC,YAAY,GAAG,MAAM,CAAE,CANzB;EAOEC,WAAW,GAAG,MAAM,CAAE,CAPxB;EAQEC,UAAU,GAAG,MAAM,CAAE,CARvB;EASE,GAAGC;AATL,CADF,EAYEC,GAZF,KAaK;EACH,MAAMC,WAAW,GAAGvB,OAAO,CAAC,MAAMG,aAAa,EAApB,EAAwB,EAAxB,CAA3B;EACA,MAAM;IAAEqB,MAAF;IAAUC;EAAV,IAAuBrB,QAAQ,EAArC;EAEA,oBACE,oBAAC,iBAAD,eACMiB,IADN;IAEE,YAAY,EAAGK,CAAD,IAAO;MACnBD,QAAQ,CAACP,YAAT,CAAsBQ,CAAtB;MACAR,YAAY,CAACQ,CAAD,CAAZ;IACD,CALH;IAME,WAAW,EAAGA,CAAD,IAAO;MAClBD,QAAQ,CAACN,WAAT,CAAqBO,CAArB;MACAP,WAAW,CAACO,CAAD,CAAX;IACD,CATH;IAUE,UAAU,EAAGA,CAAD,IAAO;MACjBD,QAAQ,CAACL,UAAT,CAAoBM,CAApB;MACAN,UAAU,CAACM,CAAD,CAAV;IACD,CAbH;IAcE,GAAG,EAAEJ;EAdP,iBAgBE,oBAAC,eAAD;IACE,KAAK,EAAET,KADT;IAEE,WAAW,EAAEC,WAFf;IAGE,IAAI,EAAEC,IAHR;IAIE,KAAK,EAAEC,KAJT;IAKE,OAAO,EAAEC,OALX;IAME,QAAQ,EAAEM,WANZ;IAOE,MAAM,EAAEC;EAPV,EAhBF,CADF;AA4BD,CA9CwB,CAA3B;AAiDAZ,QAAQ,CAACe,WAAT,GAAuB,UAAvB;AAEA,eAAef,QAAf"}
1
+ {"version":3,"file":"index.js","names":["React","forwardRef","useMemo","styled","horizontalPaddingStyles","isTouchDevice","useSwipe","clr","ListItemContent","ListItemContainer","div","p","theme","listItemColorBorder","ListItem","title","description","left","right","actions","onTouchStart","onTouchMove","onTouchEnd","rest","ref","touchDevice","opened","handlers","e","displayName"],"sources":["../../../src/ListItem/index.tsx"],"sourcesContent":["import React, { forwardRef, useMemo } from 'react';\nimport styled from '@emotion/styled';\nimport { horizontalPaddingStyles } from '@os-design/styles';\nimport { isTouchDevice, useSwipe } from '@os-design/utils';\nimport { clr } from '@os-design/theming';\nimport ListItemContent, { ListItemContentProps } from './ListItemContent';\n\ntype JsxDivProps = Omit<JSX.IntrinsicElements['div'], 'ref'>;\n\nexport type ListItemProps = JsxDivProps &\n Omit<ListItemContentProps, 'hasSwipe' | 'opened'>;\n\nexport const ListItemContainer = styled.div`\n position: relative;\n box-sizing: border-box;\n min-height: 4em;\n overflow: hidden;\n\n display: flex;\n align-items: center;\n\n &:not(:last-of-type) {\n border-bottom: 1px solid ${(p) => clr(p.theme.listItemColorBorder)};\n }\n\n @media (hover: hover) {\n // Hide actions by default\n & > nav {\n opacity: 0;\n }\n\n // Display actions either on focus, or on hover\n &:hover,\n &:focus-within {\n & > nav {\n opacity: 1;\n }\n }\n }\n\n ${horizontalPaddingStyles()};\n`;\n\n/**\n * The base list item.\n */\nconst ListItem = forwardRef<HTMLDivElement, ListItemProps>(\n (\n {\n title,\n description,\n left,\n right,\n actions = [],\n onTouchStart = () => {},\n onTouchMove = () => {},\n onTouchEnd = () => {},\n ...rest\n },\n ref\n ) => {\n const touchDevice = useMemo(() => isTouchDevice(), []);\n const { opened, handlers } = useSwipe();\n\n return (\n <ListItemContainer\n {...rest}\n onTouchStart={(e) => {\n handlers.onTouchStart(e);\n onTouchStart(e);\n }}\n onTouchMove={(e) => {\n handlers.onTouchMove(e);\n onTouchMove(e);\n }}\n onTouchEnd={(e) => {\n handlers.onTouchEnd(e);\n onTouchEnd(e);\n }}\n ref={ref}\n >\n <ListItemContent\n title={title}\n description={description}\n left={left}\n right={right}\n actions={actions}\n hasSwipe={touchDevice}\n opened={opened}\n />\n </ListItemContainer>\n );\n }\n);\n\nListItem.displayName = 'ListItem';\n\nexport default ListItem;\n"],"mappings":";AAAA,OAAOA,KAAK,IAAIC,UAAU,EAAEC,OAAO,QAAQ,OAAO;AAClD,OAAOC,MAAM,MAAM,iBAAiB;AACpC,SAASC,uBAAuB,QAAQ,mBAAmB;AAC3D,SAASC,aAAa,EAAEC,QAAQ,QAAQ,kBAAkB;AAC1D,SAASC,GAAG,QAAQ,oBAAoB;AACxC,OAAOC,eAAe,MAAgC,mBAAmB;AAOzE,OAAO,MAAMC,iBAAiB,GAAGN,MAAM,CAACO,GAAI;AAC5C;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,+BAAgCC,CAAC,IAAKJ,GAAG,CAACI,CAAC,CAACC,KAAK,CAACC,mBAAmB,CAAE;AACvE;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,IAAIT,uBAAuB,EAAG;AAC9B,CAAC;;AAED;AACA;AACA;AACA,MAAMU,QAAQ,gBAAGb,UAAU,CACzB,CACE;EACEc,KAAK;EACLC,WAAW;EACXC,IAAI;EACJC,KAAK;EACLC,OAAO,GAAG,EAAE;EACZC,YAAY,GAAG,MAAM,CAAC,CAAC;EACvBC,WAAW,GAAG,MAAM,CAAC,CAAC;EACtBC,UAAU,GAAG,MAAM,CAAC,CAAC;EACrB,GAAGC;AACL,CAAC,EACDC,GAAG,KACA;EACH,MAAMC,WAAW,GAAGvB,OAAO,CAAC,MAAMG,aAAa,EAAE,EAAE,EAAE,CAAC;EACtD,MAAM;IAAEqB,MAAM;IAAEC;EAAS,CAAC,GAAGrB,QAAQ,EAAE;EAEvC,oBACE,oBAAC,iBAAiB,eACZiB,IAAI;IACR,YAAY,EAAGK,CAAC,IAAK;MACnBD,QAAQ,CAACP,YAAY,CAACQ,CAAC,CAAC;MACxBR,YAAY,CAACQ,CAAC,CAAC;IACjB,CAAE;IACF,WAAW,EAAGA,CAAC,IAAK;MAClBD,QAAQ,CAACN,WAAW,CAACO,CAAC,CAAC;MACvBP,WAAW,CAACO,CAAC,CAAC;IAChB,CAAE;IACF,UAAU,EAAGA,CAAC,IAAK;MACjBD,QAAQ,CAACL,UAAU,CAACM,CAAC,CAAC;MACtBN,UAAU,CAACM,CAAC,CAAC;IACf,CAAE;IACF,GAAG,EAAEJ;EAAI,iBAET,oBAAC,eAAe;IACd,KAAK,EAAET,KAAM;IACb,WAAW,EAAEC,WAAY;IACzB,IAAI,EAAEC,IAAK;IACX,KAAK,EAAEC,KAAM;IACb,OAAO,EAAEC,OAAQ;IACjB,QAAQ,EAAEM,WAAY;IACtB,MAAM,EAAEC;EAAO,EACf,CACgB;AAExB,CAAC,CACF;AAEDZ,QAAQ,CAACe,WAAW,GAAG,UAAU;AAEjC,eAAef,QAAQ"}
@@ -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 { isTouchDevice, omitEmotionProps, useSwipe } from '@os-design/utils';
@@ -8,7 +7,6 @@ import { resetFocusStyles } from '@os-design/styles';
8
7
  import { css } from '@emotion/react';
9
8
  import { ListItemContainer } from '../ListItem';
10
9
  import ListItemContent from '../ListItem/ListItemContent';
11
-
12
10
  const actionsBgStyles = p => !p.touchDevice && css`
13
11
  & > nav {
14
12
  background: linear-gradient(
@@ -19,7 +17,6 @@ const actionsBgStyles = p => !p.touchDevice && css`
19
17
  );
20
18
  }
21
19
  `;
22
-
23
20
  const StyledLink = styled(ListItemContainer.withComponent('a'), omitEmotionProps('touchDevice', 'as'))`
24
21
  ${resetFocusStyles};
25
22
  cursor: pointer;
@@ -34,10 +31,10 @@ const StyledLink = styled(ListItemContainer.withComponent('a'), omitEmotionProps
34
31
 
35
32
  ${actionsBgStyles};
36
33
  `;
34
+
37
35
  /**
38
36
  * The list item with a link.
39
37
  */
40
-
41
38
  const ListItemLink = /*#__PURE__*/forwardRef(({
42
39
  title,
43
40
  description,
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","names":["React","forwardRef","useMemo","styled","isTouchDevice","omitEmotionProps","useSwipe","clr","resetFocusStyles","css","ListItemContainer","ListItemContent","actionsBgStyles","p","touchDevice","theme","listItemColorBgHover","slice","listItemActionsPaddingLeft","StyledLink","withComponent","ListItemLink","title","description","left","right","actions","as","onMouseDown","onTouchStart","onTouchMove","onTouchEnd","rest","ref","opened","handlers","e","preventDefault","displayName"],"sources":["../../../src/ListItemLink/index.tsx"],"sourcesContent":["import React, { forwardRef, useMemo } from 'react';\nimport styled from '@emotion/styled';\nimport { isTouchDevice, omitEmotionProps, useSwipe } from '@os-design/utils';\nimport { clr, Color } from '@os-design/theming';\nimport { resetFocusStyles } from '@os-design/styles';\nimport { css } from '@emotion/react';\nimport { ListItemContainer } from '../ListItem';\nimport ListItemContent, {\n ListItemContentProps,\n} from '../ListItem/ListItemContent';\nimport { LinkProps, ReactRouterLinkProps } from '../Link';\n\ntype JsxAProps = Omit<JSX.IntrinsicElements['a'], 'ref'>;\nexport type ListItemLinkProps = JsxAProps &\n ReactRouterLinkProps &\n Pick<LinkProps, 'as'> &\n Omit<ListItemContentProps, 'hasSwipe' | 'opened'>;\n\nconst actionsBgStyles = (p) =>\n !p.touchDevice &&\n css`\n & > nav {\n background: linear-gradient(\n to right,\n ${clr([...p.theme.listItemColorBgHover.slice(0, 3), 0] as Color)},\n ${clr(p.theme.listItemColorBgHover)}\n ${p.theme.listItemActionsPaddingLeft}em\n );\n }\n `;\n\ninterface StyledLinkProps {\n touchDevice: boolean;\n}\nconst StyledLink = styled(\n ListItemContainer.withComponent('a'),\n omitEmotionProps('touchDevice', 'as')\n)<StyledLinkProps>`\n ${resetFocusStyles};\n cursor: pointer;\n text-decoration: none;\n\n @media (hover: hover) {\n &:hover,\n &:focus-within {\n background-color: ${(p) => clr(p.theme.listItemColorBgHover)};\n }\n }\n\n ${actionsBgStyles};\n`;\n\n/**\n * The list item with a link.\n */\nconst ListItemLink = forwardRef<HTMLAnchorElement, ListItemLinkProps>(\n (\n {\n title,\n description,\n left,\n right,\n actions = [],\n as,\n onMouseDown = () => {},\n onTouchStart = () => {},\n onTouchMove = () => {},\n onTouchEnd = () => {},\n ...rest\n },\n ref\n ) => {\n const touchDevice = useMemo(() => isTouchDevice(), []);\n const { opened, handlers } = useSwipe();\n\n return (\n <StyledLink\n touchDevice={touchDevice}\n as={as}\n {...rest}\n onMouseDown={(e) => {\n onMouseDown(e);\n e.preventDefault();\n }}\n onTouchStart={(e) => {\n handlers.onTouchStart(e);\n onTouchStart(e);\n }}\n onTouchMove={(e) => {\n handlers.onTouchMove(e);\n onTouchMove(e);\n }}\n onTouchEnd={(e) => {\n handlers.onTouchEnd(e);\n onTouchEnd(e);\n }}\n ref={ref}\n >\n <ListItemContent\n title={title}\n description={description}\n left={left}\n right={right}\n actions={actions}\n hasSwipe={touchDevice}\n opened={opened}\n />\n </StyledLink>\n );\n }\n);\n\nListItemLink.displayName = 'ListItemLink';\n\nexport default ListItemLink;\n"],"mappings":"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"}
1
+ {"version":3,"file":"index.js","names":["React","forwardRef","useMemo","styled","isTouchDevice","omitEmotionProps","useSwipe","clr","resetFocusStyles","css","ListItemContainer","ListItemContent","actionsBgStyles","p","touchDevice","theme","listItemColorBgHover","slice","listItemActionsPaddingLeft","StyledLink","withComponent","ListItemLink","title","description","left","right","actions","as","onMouseDown","onTouchStart","onTouchMove","onTouchEnd","rest","ref","opened","handlers","e","preventDefault","displayName"],"sources":["../../../src/ListItemLink/index.tsx"],"sourcesContent":["import React, { forwardRef, useMemo } from 'react';\nimport styled from '@emotion/styled';\nimport { isTouchDevice, omitEmotionProps, useSwipe } from '@os-design/utils';\nimport { clr, Color } from '@os-design/theming';\nimport { resetFocusStyles } from '@os-design/styles';\nimport { css } from '@emotion/react';\nimport { ListItemContainer } from '../ListItem';\nimport ListItemContent, {\n ListItemContentProps,\n} from '../ListItem/ListItemContent';\nimport { LinkProps, ReactRouterLinkProps } from '../Link';\n\ntype JsxAProps = Omit<JSX.IntrinsicElements['a'], 'ref'>;\nexport type ListItemLinkProps = JsxAProps &\n ReactRouterLinkProps &\n Pick<LinkProps, 'as'> &\n Omit<ListItemContentProps, 'hasSwipe' | 'opened'>;\n\nconst actionsBgStyles = (p) =>\n !p.touchDevice &&\n css`\n & > nav {\n background: linear-gradient(\n to right,\n ${clr([...p.theme.listItemColorBgHover.slice(0, 3), 0] as Color)},\n ${clr(p.theme.listItemColorBgHover)}\n ${p.theme.listItemActionsPaddingLeft}em\n );\n }\n `;\n\ninterface StyledLinkProps {\n touchDevice: boolean;\n}\nconst StyledLink = styled(\n ListItemContainer.withComponent('a'),\n omitEmotionProps('touchDevice', 'as')\n)<StyledLinkProps>`\n ${resetFocusStyles};\n cursor: pointer;\n text-decoration: none;\n\n @media (hover: hover) {\n &:hover,\n &:focus-within {\n background-color: ${(p) => clr(p.theme.listItemColorBgHover)};\n }\n }\n\n ${actionsBgStyles};\n`;\n\n/**\n * The list item with a link.\n */\nconst ListItemLink = forwardRef<HTMLAnchorElement, ListItemLinkProps>(\n (\n {\n title,\n description,\n left,\n right,\n actions = [],\n as,\n onMouseDown = () => {},\n onTouchStart = () => {},\n onTouchMove = () => {},\n onTouchEnd = () => {},\n ...rest\n },\n ref\n ) => {\n const touchDevice = useMemo(() => isTouchDevice(), []);\n const { opened, handlers } = useSwipe();\n\n return (\n <StyledLink\n touchDevice={touchDevice}\n as={as}\n {...rest}\n onMouseDown={(e) => {\n onMouseDown(e);\n e.preventDefault();\n }}\n onTouchStart={(e) => {\n handlers.onTouchStart(e);\n onTouchStart(e);\n }}\n onTouchMove={(e) => {\n handlers.onTouchMove(e);\n onTouchMove(e);\n }}\n onTouchEnd={(e) => {\n handlers.onTouchEnd(e);\n onTouchEnd(e);\n }}\n ref={ref}\n >\n <ListItemContent\n title={title}\n description={description}\n left={left}\n right={right}\n actions={actions}\n hasSwipe={touchDevice}\n opened={opened}\n />\n </StyledLink>\n );\n }\n);\n\nListItemLink.displayName = 'ListItemLink';\n\nexport default ListItemLink;\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 React, { forwardRef, useCallback } from 'react';
4
3
  import styled from '@emotion/styled';
5
4
  import { horizontalPaddingStyles } from '@os-design/styles';
@@ -28,10 +27,10 @@ const DescriptionSkeleton = styled(Skeleton)`
28
27
  height: ${p => p.theme.sizes.small}em;
29
28
  margin-top: 0.3em;
30
29
  `;
30
+
31
31
  /**
32
32
  * Provides a list placeholder while a user waits for the content to load.
33
33
  */
34
-
35
34
  const ListSkeleton = /*#__PURE__*/forwardRef(({
36
35
  hasDescription = false,
37
36
  titleWidth = '30%',
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","names":["React","forwardRef","useCallback","styled","horizontalPaddingStyles","clr","Skeleton","List","LeftAddon","RightAddon","ListItem","div","p","theme","listItemColorBorder","Content","DescriptionSkeleton","sizes","small","ListSkeleton","hasDescription","titleWidth","descriptionWidth","itemCount","left","right","rest","ref","itemRenderer","style","displayName"],"sources":["../../../src/ListSkeleton/index.tsx"],"sourcesContent":["import React, { forwardRef, useCallback } from 'react';\nimport styled from '@emotion/styled';\nimport { horizontalPaddingStyles } from '@os-design/styles';\nimport { FixedSizeList } from 'react-window';\nimport { clr } from '@os-design/theming';\nimport Skeleton from '../Skeleton';\nimport List, { ListProps } from '../List';\nimport { ListItemProps } from '../ListItem';\nimport { LeftAddon, RightAddon } from '../ListItem/ListItemContent';\n\nexport interface ListSkeletonProps\n extends Omit<ListProps, 'itemCount' | 'itemRenderer'>,\n Pick<ListItemProps, 'left' | 'right'> {\n /**\n * The description placeholder.\n * @default false\n */\n hasDescription?: boolean;\n /**\n * The width of the title.\n * @default 30%\n */\n titleWidth?: string;\n /**\n * The width of the description.\n * @default 40%\n */\n descriptionWidth?: string;\n /**\n * Total count of items.\n * @default 10\n */\n itemCount?: number;\n}\n\nconst ListItem = styled.div`\n width: 100%;\n height: 100%;\n\n display: flex;\n align-items: center;\n box-sizing: border-box;\n\n &:not(:last-of-type) {\n border-bottom: 1px solid ${(p) => clr(p.theme.listItemColorBorder)};\n }\n\n ${horizontalPaddingStyles()};\n`;\n\nconst Content = styled.div`\n width: 100%;\n`;\n\nconst DescriptionSkeleton = styled(Skeleton)`\n height: ${(p) => p.theme.sizes.small}em;\n margin-top: 0.3em;\n`;\n\n/**\n * Provides a list placeholder while a user waits for the content to load.\n */\nconst ListSkeleton = forwardRef<FixedSizeList, ListSkeletonProps>(\n (\n {\n hasDescription = false,\n titleWidth = '30%',\n descriptionWidth = '40%',\n itemCount = 10,\n left,\n right,\n ...rest\n },\n ref\n ) => {\n const itemRenderer = useCallback(\n ({ style }) => (\n <ListItem style={style}>\n {left && <LeftAddon>{left}</LeftAddon>}\n\n <Content>\n <Skeleton width={titleWidth} />\n {hasDescription && <DescriptionSkeleton width={descriptionWidth} />}\n </Content>\n\n {right && <RightAddon>{right}</RightAddon>}\n </ListItem>\n ),\n [descriptionWidth, hasDescription, left, right, titleWidth]\n );\n\n return (\n <List\n itemCount={itemCount}\n itemRenderer={itemRenderer}\n {...rest}\n ref={ref}\n />\n );\n }\n);\n\nListSkeleton.displayName = 'ListSkeleton';\n\nexport default ListSkeleton;\n"],"mappings":";;AAAA,OAAOA,KAAP,IAAgBC,UAAhB,EAA4BC,WAA5B,QAA+C,OAA/C;AACA,OAAOC,MAAP,MAAmB,iBAAnB;AACA,SAASC,uBAAT,QAAwC,mBAAxC;AAEA,SAASC,GAAT,QAAoB,oBAApB;AACA,OAAOC,QAAP,MAAqB,aAArB;AACA,OAAOC,IAAP,MAAgC,SAAhC;AAEA,SAASC,SAAT,EAAoBC,UAApB,QAAsC,6BAAtC;AA2BA,MAAMC,QAAQ,GAAGP,MAAM,CAACQ,GAAI;AAC5B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,+BAAgCC,CAAD,IAAOP,GAAG,CAACO,CAAC,CAACC,KAAF,CAAQC,mBAAT,CAA8B;AACvE;AACA;AACA,IAAIV,uBAAuB,EAAG;AAC9B,CAbA;AAeA,MAAMW,OAAO,GAAGZ,MAAM,CAACQ,GAAI;AAC3B;AACA,CAFA;AAIA,MAAMK,mBAAmB,GAAGb,MAAM,CAACG,QAAD,CAAW;AAC7C,YAAaM,CAAD,IAAOA,CAAC,CAACC,KAAF,CAAQI,KAAR,CAAcC,KAAM;AACvC;AACA,CAHA;AAKA;AACA;AACA;;AACA,MAAMC,YAAY,gBAAGlB,UAAU,CAC7B,CACE;EACEmB,cAAc,GAAG,KADnB;EAEEC,UAAU,GAAG,KAFf;EAGEC,gBAAgB,GAAG,KAHrB;EAIEC,SAAS,GAAG,EAJd;EAKEC,IALF;EAMEC,KANF;EAOE,GAAGC;AAPL,CADF,EAUEC,GAVF,KAWK;EACH,MAAMC,YAAY,GAAG1B,WAAW,CAC9B,CAAC;IAAE2B;EAAF,CAAD,kBACE,oBAAC,QAAD;IAAU,KAAK,EAAEA;EAAjB,GACGL,IAAI,iBAAI,oBAAC,SAAD,QAAYA,IAAZ,CADX,eAGE,oBAAC,OAAD,qBACE,oBAAC,QAAD;IAAU,KAAK,EAAEH;EAAjB,EADF,EAEGD,cAAc,iBAAI,oBAAC,mBAAD;IAAqB,KAAK,EAAEE;EAA5B,EAFrB,CAHF,EAQGG,KAAK,iBAAI,oBAAC,UAAD,QAAaA,KAAb,CARZ,CAF4B,EAa9B,CAACH,gBAAD,EAAmBF,cAAnB,EAAmCI,IAAnC,EAAyCC,KAAzC,EAAgDJ,UAAhD,CAb8B,CAAhC;EAgBA,oBACE,oBAAC,IAAD;IACE,SAAS,EAAEE,SADb;IAEE,YAAY,EAAEK;EAFhB,GAGMF,IAHN;IAIE,GAAG,EAAEC;EAJP,GADF;AAQD,CArC4B,CAA/B;AAwCAR,YAAY,CAACW,WAAb,GAA2B,cAA3B;AAEA,eAAeX,YAAf"}
1
+ {"version":3,"file":"index.js","names":["React","forwardRef","useCallback","styled","horizontalPaddingStyles","clr","Skeleton","List","LeftAddon","RightAddon","ListItem","div","p","theme","listItemColorBorder","Content","DescriptionSkeleton","sizes","small","ListSkeleton","hasDescription","titleWidth","descriptionWidth","itemCount","left","right","rest","ref","itemRenderer","style","displayName"],"sources":["../../../src/ListSkeleton/index.tsx"],"sourcesContent":["import React, { forwardRef, useCallback } from 'react';\nimport styled from '@emotion/styled';\nimport { horizontalPaddingStyles } from '@os-design/styles';\nimport { FixedSizeList } from 'react-window';\nimport { clr } from '@os-design/theming';\nimport Skeleton from '../Skeleton';\nimport List, { ListProps } from '../List';\nimport { ListItemProps } from '../ListItem';\nimport { LeftAddon, RightAddon } from '../ListItem/ListItemContent';\n\nexport interface ListSkeletonProps\n extends Omit<ListProps, 'itemCount' | 'itemRenderer'>,\n Pick<ListItemProps, 'left' | 'right'> {\n /**\n * The description placeholder.\n * @default false\n */\n hasDescription?: boolean;\n /**\n * The width of the title.\n * @default 30%\n */\n titleWidth?: string;\n /**\n * The width of the description.\n * @default 40%\n */\n descriptionWidth?: string;\n /**\n * Total count of items.\n * @default 10\n */\n itemCount?: number;\n}\n\nconst ListItem = styled.div`\n width: 100%;\n height: 100%;\n\n display: flex;\n align-items: center;\n box-sizing: border-box;\n\n &:not(:last-of-type) {\n border-bottom: 1px solid ${(p) => clr(p.theme.listItemColorBorder)};\n }\n\n ${horizontalPaddingStyles()};\n`;\n\nconst Content = styled.div`\n width: 100%;\n`;\n\nconst DescriptionSkeleton = styled(Skeleton)`\n height: ${(p) => p.theme.sizes.small}em;\n margin-top: 0.3em;\n`;\n\n/**\n * Provides a list placeholder while a user waits for the content to load.\n */\nconst ListSkeleton = forwardRef<FixedSizeList, ListSkeletonProps>(\n (\n {\n hasDescription = false,\n titleWidth = '30%',\n descriptionWidth = '40%',\n itemCount = 10,\n left,\n right,\n ...rest\n },\n ref\n ) => {\n const itemRenderer = useCallback(\n ({ style }) => (\n <ListItem style={style}>\n {left && <LeftAddon>{left}</LeftAddon>}\n\n <Content>\n <Skeleton width={titleWidth} />\n {hasDescription && <DescriptionSkeleton width={descriptionWidth} />}\n </Content>\n\n {right && <RightAddon>{right}</RightAddon>}\n </ListItem>\n ),\n [descriptionWidth, hasDescription, left, right, titleWidth]\n );\n\n return (\n <List\n itemCount={itemCount}\n itemRenderer={itemRenderer}\n {...rest}\n ref={ref}\n />\n );\n }\n);\n\nListSkeleton.displayName = 'ListSkeleton';\n\nexport default ListSkeleton;\n"],"mappings":";AAAA,OAAOA,KAAK,IAAIC,UAAU,EAAEC,WAAW,QAAQ,OAAO;AACtD,OAAOC,MAAM,MAAM,iBAAiB;AACpC,SAASC,uBAAuB,QAAQ,mBAAmB;AAE3D,SAASC,GAAG,QAAQ,oBAAoB;AACxC,OAAOC,QAAQ,MAAM,aAAa;AAClC,OAAOC,IAAI,MAAqB,SAAS;AAEzC,SAASC,SAAS,EAAEC,UAAU,QAAQ,6BAA6B;AA2BnE,MAAMC,QAAQ,GAAGP,MAAM,CAACQ,GAAI;AAC5B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,+BAAgCC,CAAC,IAAKP,GAAG,CAACO,CAAC,CAACC,KAAK,CAACC,mBAAmB,CAAE;AACvE;AACA;AACA,IAAIV,uBAAuB,EAAG;AAC9B,CAAC;AAED,MAAMW,OAAO,GAAGZ,MAAM,CAACQ,GAAI;AAC3B;AACA,CAAC;AAED,MAAMK,mBAAmB,GAAGb,MAAM,CAACG,QAAQ,CAAE;AAC7C,YAAaM,CAAC,IAAKA,CAAC,CAACC,KAAK,CAACI,KAAK,CAACC,KAAM;AACvC;AACA,CAAC;;AAED;AACA;AACA;AACA,MAAMC,YAAY,gBAAGlB,UAAU,CAC7B,CACE;EACEmB,cAAc,GAAG,KAAK;EACtBC,UAAU,GAAG,KAAK;EAClBC,gBAAgB,GAAG,KAAK;EACxBC,SAAS,GAAG,EAAE;EACdC,IAAI;EACJC,KAAK;EACL,GAAGC;AACL,CAAC,EACDC,GAAG,KACA;EACH,MAAMC,YAAY,GAAG1B,WAAW,CAC9B,CAAC;IAAE2B;EAAM,CAAC,kBACR,oBAAC,QAAQ;IAAC,KAAK,EAAEA;EAAM,GACpBL,IAAI,iBAAI,oBAAC,SAAS,QAAEA,IAAI,CAAa,eAEtC,oBAAC,OAAO,qBACN,oBAAC,QAAQ;IAAC,KAAK,EAAEH;EAAW,EAAG,EAC9BD,cAAc,iBAAI,oBAAC,mBAAmB;IAAC,KAAK,EAAEE;EAAiB,EAAG,CAC3D,EAETG,KAAK,iBAAI,oBAAC,UAAU,QAAEA,KAAK,CAAc,CAE7C,EACD,CAACH,gBAAgB,EAAEF,cAAc,EAAEI,IAAI,EAAEC,KAAK,EAAEJ,UAAU,CAAC,CAC5D;EAED,oBACE,oBAAC,IAAI;IACH,SAAS,EAAEE,SAAU;IACrB,YAAY,EAAEK;EAAa,GACvBF,IAAI;IACR,GAAG,EAAEC;EAAI,GACT;AAEN,CAAC,CACF;AAEDR,YAAY,CAACW,WAAW,GAAG,cAAc;AAEzC,eAAeX,YAAY"}
@@ -1,18 +1,15 @@
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 { css } from '@emotion/react';
6
5
  import { resetFocusStyles, sizeStyles, transitionStyles } from '@os-design/styles';
7
6
  import { omitEmotionProps } from '@os-design/utils';
8
7
  import { useTheme } from '@os-design/theming';
9
-
10
8
  const darkStyles = p => p.dark && css`
11
9
  img {
12
10
  filter: brightness(0) invert(1); // Make the logo white
13
11
  }
14
12
  `;
15
-
16
13
  const StyledLogoLink = styled('a', omitEmotionProps('dark', 'size', 'as'))`
17
14
  ${resetFocusStyles};
18
15
  cursor: pointer;
@@ -37,10 +34,10 @@ const StyledLogoLink = styled('a', omitEmotionProps('dark', 'size', 'as'))`
37
34
  ${sizeStyles};
38
35
  ${transitionStyles('opacity')};
39
36
  `;
37
+
40
38
  /**
41
39
  * Logo with a link.
42
40
  */
43
-
44
41
  const LogoLink = /*#__PURE__*/forwardRef(({
45
42
  src,
46
43
  as,
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","names":["styled","React","forwardRef","css","resetFocusStyles","sizeStyles","transitionStyles","omitEmotionProps","useTheme","darkStyles","p","dark","StyledLogoLink","LogoLink","src","as","onMouseDown","rest","ref","activeTheme","ariaLabel","e","preventDefault","displayName"],"sources":["../../../src/LogoLink/index.tsx"],"sourcesContent":["import styled from '@emotion/styled';\nimport React, { forwardRef } from 'react';\nimport { css } from '@emotion/react';\nimport {\n resetFocusStyles,\n sizeStyles,\n transitionStyles,\n WithSize,\n} from '@os-design/styles';\nimport { omitEmotionProps } from '@os-design/utils';\nimport { useTheme } from '@os-design/theming';\nimport { LinkProps, ReactRouterLinkProps } from '../Link';\n\ntype JsxAProps = Omit<JSX.IntrinsicElements['a'], 'ref'>;\nexport interface LogoLinkProps\n extends JsxAProps,\n ReactRouterLinkProps,\n Pick<LinkProps, 'as'>,\n WithSize {\n /**\n * The source of the logo image.\n */\n src?: string;\n}\n\nconst darkStyles = (p) =>\n p.dark &&\n css`\n img {\n filter: brightness(0) invert(1); // Make the logo white\n }\n `;\n\ninterface StyledLogoLinkProps extends WithSize {\n dark: boolean;\n}\nconst StyledLogoLink = styled(\n 'a',\n omitEmotionProps('dark', 'size', 'as')\n)<StyledLogoLinkProps>`\n ${resetFocusStyles};\n cursor: pointer;\n text-decoration: none;\n display: block;\n height: 1.5em;\n\n img {\n display: block;\n height: 100%;\n transform: rotate(0); // Fixes moves on hover\n }\n\n @media (hover: hover) {\n &:hover,\n &:focus {\n opacity: 0.7;\n }\n }\n\n ${darkStyles};\n ${sizeStyles};\n ${transitionStyles('opacity')};\n`;\n\n/**\n * Logo with a link.\n */\nconst LogoLink = forwardRef<HTMLAnchorElement, LogoLinkProps>(\n ({ src, as, onMouseDown = () => {}, ...rest }, ref) => {\n const { activeTheme } = useTheme();\n const ariaLabel = rest['aria-label'] || 'Logo';\n\n return (\n <StyledLogoLink\n dark={activeTheme === 'dark'}\n aria-label={ariaLabel}\n as={as}\n onMouseDown={(e) => {\n onMouseDown(e);\n e.preventDefault();\n }}\n {...rest}\n ref={ref}\n >\n <img src={src} alt={ariaLabel} />\n </StyledLogoLink>\n );\n }\n);\n\nLogoLink.displayName = 'LogoLink';\n\nexport default LogoLink;\n"],"mappings":";;AAAA,OAAOA,MAAP,MAAmB,iBAAnB;AACA,OAAOC,KAAP,IAAgBC,UAAhB,QAAkC,OAAlC;AACA,SAASC,GAAT,QAAoB,gBAApB;AACA,SACEC,gBADF,EAEEC,UAFF,EAGEC,gBAHF,QAKO,mBALP;AAMA,SAASC,gBAAT,QAAiC,kBAAjC;AACA,SAASC,QAAT,QAAyB,oBAAzB;;AAeA,MAAMC,UAAU,GAAIC,CAAD,IACjBA,CAAC,CAACC,IAAF,IACAR,GAAI;AACN;AACA;AACA;AACA,GANA;;AAWA,MAAMS,cAAc,GAAGZ,MAAM,CAC3B,GAD2B,EAE3BO,gBAAgB,CAAC,MAAD,EAAS,MAAT,EAAiB,IAAjB,CAFW,CAGN;AACvB,IAAIH,gBAAiB;AACrB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,IAAIK,UAAW;AACf,IAAIJ,UAAW;AACf,IAAIC,gBAAgB,CAAC,SAAD,CAAY;AAChC,CA1BA;AA4BA;AACA;AACA;;AACA,MAAMO,QAAQ,gBAAGX,UAAU,CACzB,CAAC;EAAEY,GAAF;EAAOC,EAAP;EAAWC,WAAW,GAAG,MAAM,CAAE,CAAjC;EAAmC,GAAGC;AAAtC,CAAD,EAA+CC,GAA/C,KAAuD;EACrD,MAAM;IAAEC;EAAF,IAAkBX,QAAQ,EAAhC;EACA,MAAMY,SAAS,GAAGH,IAAI,CAAC,YAAD,CAAJ,IAAsB,MAAxC;EAEA,oBACE,oBAAC,cAAD;IACE,IAAI,EAAEE,WAAW,KAAK,MADxB;IAEE,cAAYC,SAFd;IAGE,EAAE,EAAEL,EAHN;IAIE,WAAW,EAAGM,CAAD,IAAO;MAClBL,WAAW,CAACK,CAAD,CAAX;MACAA,CAAC,CAACC,cAAF;IACD;EAPH,GAQML,IARN;IASE,GAAG,EAAEC;EATP,iBAWE;IAAK,GAAG,EAAEJ,GAAV;IAAe,GAAG,EAAEM;EAApB,EAXF,CADF;AAeD,CApBwB,CAA3B;AAuBAP,QAAQ,CAACU,WAAT,GAAuB,UAAvB;AAEA,eAAeV,QAAf"}
1
+ {"version":3,"file":"index.js","names":["styled","React","forwardRef","css","resetFocusStyles","sizeStyles","transitionStyles","omitEmotionProps","useTheme","darkStyles","p","dark","StyledLogoLink","LogoLink","src","as","onMouseDown","rest","ref","activeTheme","ariaLabel","e","preventDefault","displayName"],"sources":["../../../src/LogoLink/index.tsx"],"sourcesContent":["import styled from '@emotion/styled';\nimport React, { forwardRef } from 'react';\nimport { css } from '@emotion/react';\nimport {\n resetFocusStyles,\n sizeStyles,\n transitionStyles,\n WithSize,\n} from '@os-design/styles';\nimport { omitEmotionProps } from '@os-design/utils';\nimport { useTheme } from '@os-design/theming';\nimport { LinkProps, ReactRouterLinkProps } from '../Link';\n\ntype JsxAProps = Omit<JSX.IntrinsicElements['a'], 'ref'>;\nexport interface LogoLinkProps\n extends JsxAProps,\n ReactRouterLinkProps,\n Pick<LinkProps, 'as'>,\n WithSize {\n /**\n * The source of the logo image.\n */\n src?: string;\n}\n\nconst darkStyles = (p) =>\n p.dark &&\n css`\n img {\n filter: brightness(0) invert(1); // Make the logo white\n }\n `;\n\ninterface StyledLogoLinkProps extends WithSize {\n dark: boolean;\n}\nconst StyledLogoLink = styled(\n 'a',\n omitEmotionProps('dark', 'size', 'as')\n)<StyledLogoLinkProps>`\n ${resetFocusStyles};\n cursor: pointer;\n text-decoration: none;\n display: block;\n height: 1.5em;\n\n img {\n display: block;\n height: 100%;\n transform: rotate(0); // Fixes moves on hover\n }\n\n @media (hover: hover) {\n &:hover,\n &:focus {\n opacity: 0.7;\n }\n }\n\n ${darkStyles};\n ${sizeStyles};\n ${transitionStyles('opacity')};\n`;\n\n/**\n * Logo with a link.\n */\nconst LogoLink = forwardRef<HTMLAnchorElement, LogoLinkProps>(\n ({ src, as, onMouseDown = () => {}, ...rest }, ref) => {\n const { activeTheme } = useTheme();\n const ariaLabel = rest['aria-label'] || 'Logo';\n\n return (\n <StyledLogoLink\n dark={activeTheme === 'dark'}\n aria-label={ariaLabel}\n as={as}\n onMouseDown={(e) => {\n onMouseDown(e);\n e.preventDefault();\n }}\n {...rest}\n ref={ref}\n >\n <img src={src} alt={ariaLabel} />\n </StyledLogoLink>\n );\n }\n);\n\nLogoLink.displayName = 'LogoLink';\n\nexport default LogoLink;\n"],"mappings":";AAAA,OAAOA,MAAM,MAAM,iBAAiB;AACpC,OAAOC,KAAK,IAAIC,UAAU,QAAQ,OAAO;AACzC,SAASC,GAAG,QAAQ,gBAAgB;AACpC,SACEC,gBAAgB,EAChBC,UAAU,EACVC,gBAAgB,QAEX,mBAAmB;AAC1B,SAASC,gBAAgB,QAAQ,kBAAkB;AACnD,SAASC,QAAQ,QAAQ,oBAAoB;AAe7C,MAAMC,UAAU,GAAIC,CAAC,IACnBA,CAAC,CAACC,IAAI,IACNR,GAAI;AACN;AACA;AACA;AACA,GAAG;AAKH,MAAMS,cAAc,GAAGZ,MAAM,CAC3B,GAAG,EACHO,gBAAgB,CAAC,MAAM,EAAE,MAAM,EAAE,IAAI,CAAC,CACjB;AACvB,IAAIH,gBAAiB;AACrB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,IAAIK,UAAW;AACf,IAAIJ,UAAW;AACf,IAAIC,gBAAgB,CAAC,SAAS,CAAE;AAChC,CAAC;;AAED;AACA;AACA;AACA,MAAMO,QAAQ,gBAAGX,UAAU,CACzB,CAAC;EAAEY,GAAG;EAAEC,EAAE;EAAEC,WAAW,GAAG,MAAM,CAAC,CAAC;EAAE,GAAGC;AAAK,CAAC,EAAEC,GAAG,KAAK;EACrD,MAAM;IAAEC;EAAY,CAAC,GAAGX,QAAQ,EAAE;EAClC,MAAMY,SAAS,GAAGH,IAAI,CAAC,YAAY,CAAC,IAAI,MAAM;EAE9C,oBACE,oBAAC,cAAc;IACb,IAAI,EAAEE,WAAW,KAAK,MAAO;IAC7B,cAAYC,SAAU;IACtB,EAAE,EAAEL,EAAG;IACP,WAAW,EAAGM,CAAC,IAAK;MAClBL,WAAW,CAACK,CAAC,CAAC;MACdA,CAAC,CAACC,cAAc,EAAE;IACpB;EAAE,GACEL,IAAI;IACR,GAAG,EAAEC;EAAI,iBAET;IAAK,GAAG,EAAEJ,GAAI;IAAC,GAAG,EAAEM;EAAU,EAAG,CAClB;AAErB,CAAC,CACF;AAEDP,QAAQ,CAACU,WAAW,GAAG,UAAU;AAEjC,eAAeV,QAAQ"}
@@ -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 { useBrowserLayoutEffect, useForwardedRef, useKeyPress } from '@os-design/utils';
@@ -20,10 +19,10 @@ const StyledModal = styled(Modal)`
20
19
  padding-left: 0;
21
20
  padding-right: 0;
22
21
  `;
22
+
23
23
  /**
24
24
  * The dropdown menu.
25
25
  */
26
-
27
26
  const Menu = /*#__PURE__*/forwardRef(({
28
27
  closeOnSelect = true,
29
28
  modalTitle,
@@ -41,8 +40,9 @@ const Menu = /*#__PURE__*/forwardRef(({
41
40
  useFocusWithArrows(containerRef);
42
41
  useKeyPress(typeof window !== 'undefined' ? window : undefined, 'Escape', onClose);
43
42
  const isMinXs = useIsMinWidth('xs');
44
- const menuId = useMemo(() => id || `menu-${Math.random().toString(36).slice(2, 11)}`, [id]); // Replace the aria-haspopup attribute from true to menu
43
+ const menuId = useMemo(() => id || `menu-${Math.random().toString(36).slice(2, 11)}`, [id]);
45
44
 
45
+ // Replace the aria-haspopup attribute from true to menu
46
46
  useBrowserLayoutEffect(() => {
47
47
  if (!trigger) return;
48
48
  const {