@selfcommunity/react-ui 0.7.0-alpha.334 → 0.7.0-alpha.336

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 (320) hide show
  1. package/lib/cjs/components/BottomNavigation/BottomNavigation.js +8 -11
  2. package/lib/cjs/components/BroadcastMessages/Message.js +14 -5
  3. package/lib/cjs/components/CommentsObject/CommentsObject.js +1 -22
  4. package/lib/cjs/components/Composer/Attributes/Attributes.d.ts +22 -0
  5. package/lib/cjs/components/Composer/Attributes/Attributes.js +41 -0
  6. package/lib/cjs/components/Composer/Attributes/index.d.ts +3 -0
  7. package/lib/cjs/components/Composer/{Poll → Attributes}/index.js +2 -2
  8. package/lib/cjs/components/Composer/Composer.d.ts +53 -84
  9. package/lib/cjs/components/Composer/Composer.js +249 -443
  10. package/lib/cjs/components/Composer/Content/ContentDiscussion/ContentDiscussion.d.ts +32 -0
  11. package/lib/cjs/components/Composer/Content/ContentDiscussion/ContentDiscussion.js +53 -0
  12. package/lib/cjs/components/Composer/Content/ContentDiscussion/index.d.ts +3 -0
  13. package/lib/cjs/components/Composer/Content/ContentDiscussion/index.js +5 -0
  14. package/lib/cjs/components/Composer/Content/ContentPoll/ContentPoll.d.ts +26 -0
  15. package/lib/cjs/components/Composer/Content/ContentPoll/ContentPoll.js +129 -0
  16. package/lib/cjs/components/Composer/Content/ContentPoll/index.d.ts +3 -0
  17. package/lib/cjs/components/Composer/Content/ContentPoll/index.js +5 -0
  18. package/lib/cjs/components/Composer/Content/ContentPost/ContentPost.d.ts +32 -0
  19. package/lib/cjs/components/Composer/Content/ContentPost/ContentPost.js +51 -0
  20. package/lib/cjs/components/Composer/Content/ContentPost/index.d.ts +3 -0
  21. package/lib/cjs/components/Composer/Content/ContentPost/index.js +5 -0
  22. package/lib/cjs/components/Composer/Layer/AudienceLayer/AudienceLayer.d.ts +11 -0
  23. package/lib/cjs/components/Composer/Layer/AudienceLayer/AudienceLayer.js +74 -0
  24. package/lib/cjs/components/Composer/Layer/AudienceLayer/index.d.ts +3 -0
  25. package/lib/cjs/components/Composer/Layer/AudienceLayer/index.js +5 -0
  26. package/lib/cjs/components/Composer/Layer/CategoryLayer/CategoryLayer.d.ts +9 -0
  27. package/lib/cjs/components/Composer/Layer/CategoryLayer/CategoryLayer.js +41 -0
  28. package/lib/cjs/components/Composer/Layer/CategoryLayer/index.d.ts +3 -0
  29. package/lib/cjs/components/Composer/Layer/CategoryLayer/index.js +5 -0
  30. package/lib/cjs/components/Composer/Layer/CloseLayer/CloseLayer.d.ts +7 -0
  31. package/lib/cjs/components/Composer/Layer/CloseLayer/CloseLayer.js +41 -0
  32. package/lib/cjs/components/Composer/Layer/CloseLayer/index.d.ts +3 -0
  33. package/lib/cjs/components/Composer/{Audience → Layer/CloseLayer}/index.js +2 -2
  34. package/lib/cjs/components/Composer/Layer/LocationLayer/LocationLayer.d.ts +9 -0
  35. package/lib/cjs/components/Composer/Layer/LocationLayer/LocationLayer.js +41 -0
  36. package/lib/cjs/components/Composer/Layer/LocationLayer/index.d.ts +3 -0
  37. package/lib/cjs/components/Composer/Layer/LocationLayer/index.js +5 -0
  38. package/lib/cjs/components/Composer/Skeleton.d.ts +0 -4
  39. package/lib/cjs/components/Composer/Skeleton.js +10 -72
  40. package/lib/cjs/components/Composer/TypeSwitchButtonGroup/TypeSwitchButtonGroup.d.ts +6 -0
  41. package/lib/cjs/components/Composer/TypeSwitchButtonGroup/TypeSwitchButtonGroup.js +47 -0
  42. package/lib/cjs/components/Composer/TypeSwitchButtonGroup/index.d.ts +3 -0
  43. package/lib/cjs/components/Composer/TypeSwitchButtonGroup/index.js +5 -0
  44. package/lib/cjs/components/Composer/constants.d.ts +1 -0
  45. package/lib/cjs/components/Composer/constants.js +4 -0
  46. package/lib/cjs/components/Composer/index.d.ts +2 -3
  47. package/lib/cjs/components/Composer/index.js +1 -6
  48. package/lib/cjs/components/ComposerIconButton/ComposerIconButton.d.ts +2 -1
  49. package/lib/cjs/components/ComposerIconButton/ComposerIconButton.js +8 -8
  50. package/lib/cjs/components/Editor/Editor.js +14 -5
  51. package/lib/cjs/components/Feed/prefetchedData.d.ts +2 -368
  52. package/lib/cjs/components/Feed/prefetchedData.js +17 -16
  53. package/lib/cjs/components/FeedObject/Actions/Share/Share.js +2 -2
  54. package/lib/cjs/components/FeedObject/FeedObject.d.ts +2 -2
  55. package/lib/cjs/components/FeedObject/FeedObject.js +8 -7
  56. package/lib/cjs/components/FeedObjectMediaPreview/FeedObjectMediaPreview.d.ts +38 -0
  57. package/lib/cjs/components/FeedObjectMediaPreview/FeedObjectMediaPreview.js +66 -0
  58. package/lib/cjs/components/FeedObjectMediaPreview/index.d.ts +3 -0
  59. package/lib/cjs/components/FeedObjectMediaPreview/index.js +5 -0
  60. package/lib/cjs/components/InlineComposerWidget/InlineComposerWidget.d.ts +25 -33
  61. package/lib/cjs/components/InlineComposerWidget/InlineComposerWidget.js +34 -67
  62. package/lib/cjs/components/InlineComposerWidget/Skeleton.d.ts +4 -5
  63. package/lib/cjs/components/InlineComposerWidget/Skeleton.js +17 -37
  64. package/lib/cjs/components/InlineComposerWidget/constants.d.ts +1 -0
  65. package/lib/cjs/components/InlineComposerWidget/constants.js +4 -0
  66. package/lib/cjs/components/LocationAutocomplete/LocationAutocomplete.d.ts +2 -2
  67. package/lib/cjs/components/LocationAutocomplete/LocationAutocomplete.js +4 -2
  68. package/lib/cjs/components/NavigationMenuIconButton/NavigationMenuIconButton.d.ts +1 -1
  69. package/lib/cjs/components/NavigationToolbarMobile/NavigationToolbarMobile.d.ts +0 -5
  70. package/lib/cjs/components/NavigationToolbarMobile/NavigationToolbarMobile.js +19 -30
  71. package/lib/cjs/components/NavigationToolbarMobile/Skeleton.js +5 -6
  72. package/lib/cjs/components/NavigationToolbarMobile/constants.d.ts +1 -0
  73. package/lib/cjs/components/NavigationToolbarMobile/constants.js +4 -0
  74. package/lib/cjs/constants/Composer.d.ts +2 -0
  75. package/lib/cjs/constants/Composer.js +4 -2
  76. package/lib/cjs/index.d.ts +12 -12
  77. package/lib/cjs/index.js +14 -17
  78. package/lib/cjs/shared/Lightbox/Lightbox.js +2 -2
  79. package/lib/{esm/shared/Media/Image/PreviewComponent.d.ts → cjs/shared/Media/File/DisplayComponent.d.ts} +1 -11
  80. package/lib/cjs/shared/Media/{Image/PreviewComponent.js → File/DisplayComponent.js} +55 -145
  81. package/lib/{esm/shared/Media/Image/PreviewImage → cjs/shared/Media/File/Lightbox}/index.d.ts +4 -3
  82. package/lib/cjs/shared/Media/File/Lightbox/index.js +37 -0
  83. package/lib/cjs/shared/Media/File/PreviewComponent.d.ts +9 -0
  84. package/lib/cjs/shared/Media/File/PreviewComponent.js +51 -0
  85. package/lib/cjs/shared/Media/File/TriggerButton.d.ts +12 -0
  86. package/lib/cjs/shared/Media/File/TriggerButton.js +112 -0
  87. package/lib/cjs/shared/Media/File/asUploadButton.d.ts +7 -0
  88. package/lib/cjs/shared/Media/File/asUploadButton.js +30 -0
  89. package/lib/cjs/shared/Media/File/constants.d.ts +1 -0
  90. package/lib/cjs/shared/Media/File/constants.js +4 -0
  91. package/lib/cjs/shared/Media/File/filter.d.ts +3 -0
  92. package/lib/cjs/shared/Media/File/filter.js +4 -0
  93. package/lib/cjs/shared/Media/File/index.d.ts +3 -0
  94. package/lib/cjs/shared/Media/File/index.js +16 -0
  95. package/lib/cjs/shared/Media/Link/DisplayComponent.d.ts +20 -0
  96. package/lib/cjs/shared/Media/Link/DisplayComponent.js +69 -0
  97. package/lib/cjs/shared/Media/Link/LayerComponent.d.ts +9 -0
  98. package/lib/cjs/shared/Media/Link/LayerComponent.js +46 -0
  99. package/lib/cjs/shared/Media/Link/PreviewComponent.d.ts +7 -21
  100. package/lib/cjs/shared/Media/Link/PreviewComponent.js +28 -56
  101. package/lib/cjs/shared/Media/Link/TriggerButton.d.ts +4 -0
  102. package/lib/cjs/shared/Media/Link/TriggerButton.js +21 -0
  103. package/lib/cjs/shared/Media/Link/UrlTextField/index.js +1 -2
  104. package/lib/cjs/shared/Media/Link/constants.d.ts +1 -0
  105. package/lib/cjs/shared/Media/Link/constants.js +4 -0
  106. package/lib/cjs/shared/Media/Link/filter.d.ts +3 -0
  107. package/lib/cjs/shared/Media/Link/filter.js +4 -0
  108. package/lib/cjs/shared/Media/Link/index.js +9 -8
  109. package/lib/cjs/shared/Media/Share/DisplayComponent.d.ts +11 -0
  110. package/lib/cjs/shared/Media/Share/DisplayComponent.js +31 -0
  111. package/lib/cjs/shared/Media/Share/constants.d.ts +1 -0
  112. package/lib/cjs/shared/Media/Share/constants.js +4 -0
  113. package/lib/cjs/shared/Media/Share/filter.d.ts +3 -0
  114. package/lib/cjs/shared/Media/Share/filter.js +4 -0
  115. package/lib/cjs/shared/Media/Share/index.js +7 -7
  116. package/lib/cjs/shared/Media/index.d.ts +2 -4
  117. package/lib/cjs/shared/Media/index.js +3 -7
  118. package/lib/cjs/types/composer.d.ts +15 -0
  119. package/lib/cjs/types/composer.js +2 -0
  120. package/lib/cjs/types/media.d.ts +9 -5
  121. package/lib/esm/components/BottomNavigation/BottomNavigation.js +8 -11
  122. package/lib/esm/components/BroadcastMessages/Message.js +14 -5
  123. package/lib/esm/components/CommentsObject/CommentsObject.js +1 -22
  124. package/lib/esm/components/Composer/Attributes/Attributes.d.ts +22 -0
  125. package/lib/esm/components/Composer/Attributes/Attributes.js +38 -0
  126. package/lib/esm/components/Composer/Attributes/index.d.ts +3 -0
  127. package/lib/esm/components/Composer/Attributes/index.js +2 -0
  128. package/lib/esm/components/Composer/Composer.d.ts +53 -84
  129. package/lib/esm/components/Composer/Composer.js +246 -439
  130. package/lib/esm/components/Composer/Content/ContentDiscussion/ContentDiscussion.d.ts +32 -0
  131. package/lib/esm/components/Composer/Content/ContentDiscussion/ContentDiscussion.js +50 -0
  132. package/lib/esm/components/Composer/Content/ContentDiscussion/index.d.ts +3 -0
  133. package/lib/esm/components/Composer/Content/ContentDiscussion/index.js +2 -0
  134. package/lib/esm/components/Composer/Content/ContentPoll/ContentPoll.d.ts +26 -0
  135. package/lib/esm/components/Composer/Content/ContentPoll/ContentPoll.js +127 -0
  136. package/lib/esm/components/Composer/Content/ContentPoll/index.d.ts +3 -0
  137. package/lib/esm/components/Composer/Content/ContentPoll/index.js +2 -0
  138. package/lib/esm/components/Composer/Content/ContentPost/ContentPost.d.ts +32 -0
  139. package/lib/esm/components/Composer/Content/ContentPost/ContentPost.js +49 -0
  140. package/lib/esm/components/Composer/Content/ContentPost/index.d.ts +3 -0
  141. package/lib/esm/components/Composer/Content/ContentPost/index.js +2 -0
  142. package/lib/esm/components/Composer/Layer/AudienceLayer/AudienceLayer.d.ts +11 -0
  143. package/lib/esm/components/Composer/Layer/AudienceLayer/AudienceLayer.js +72 -0
  144. package/lib/esm/components/Composer/Layer/AudienceLayer/index.d.ts +3 -0
  145. package/lib/esm/components/Composer/Layer/AudienceLayer/index.js +2 -0
  146. package/lib/esm/components/Composer/Layer/CategoryLayer/CategoryLayer.d.ts +9 -0
  147. package/lib/esm/components/Composer/Layer/CategoryLayer/CategoryLayer.js +39 -0
  148. package/lib/esm/components/Composer/Layer/CategoryLayer/index.d.ts +3 -0
  149. package/lib/esm/components/Composer/Layer/CategoryLayer/index.js +2 -0
  150. package/lib/esm/components/Composer/Layer/CloseLayer/CloseLayer.d.ts +7 -0
  151. package/lib/esm/components/Composer/Layer/CloseLayer/CloseLayer.js +39 -0
  152. package/lib/esm/components/Composer/Layer/CloseLayer/index.d.ts +3 -0
  153. package/lib/esm/components/Composer/Layer/CloseLayer/index.js +2 -0
  154. package/lib/esm/components/Composer/Layer/LocationLayer/LocationLayer.d.ts +9 -0
  155. package/lib/esm/components/Composer/Layer/LocationLayer/LocationLayer.js +39 -0
  156. package/lib/esm/components/Composer/Layer/LocationLayer/index.d.ts +3 -0
  157. package/lib/esm/components/Composer/Layer/LocationLayer/index.js +2 -0
  158. package/lib/esm/components/Composer/Skeleton.d.ts +0 -4
  159. package/lib/esm/components/Composer/Skeleton.js +6 -68
  160. package/lib/esm/components/Composer/TypeSwitchButtonGroup/TypeSwitchButtonGroup.d.ts +6 -0
  161. package/lib/esm/components/Composer/TypeSwitchButtonGroup/TypeSwitchButtonGroup.js +44 -0
  162. package/lib/esm/components/Composer/TypeSwitchButtonGroup/index.d.ts +3 -0
  163. package/lib/esm/components/Composer/TypeSwitchButtonGroup/index.js +2 -0
  164. package/lib/esm/components/Composer/constants.d.ts +1 -0
  165. package/lib/esm/components/Composer/constants.js +1 -0
  166. package/lib/esm/components/Composer/index.d.ts +2 -3
  167. package/lib/esm/components/Composer/index.js +1 -3
  168. package/lib/esm/components/ComposerIconButton/ComposerIconButton.d.ts +2 -1
  169. package/lib/esm/components/ComposerIconButton/ComposerIconButton.js +8 -8
  170. package/lib/esm/components/Editor/Editor.js +16 -7
  171. package/lib/esm/components/Feed/Feed.js +4 -4
  172. package/lib/esm/components/Feed/prefetchedData.d.ts +2 -368
  173. package/lib/esm/components/Feed/prefetchedData.js +17 -16
  174. package/lib/esm/components/FeedObject/Actions/Share/Share.js +4 -4
  175. package/lib/esm/components/FeedObject/FeedObject.d.ts +2 -2
  176. package/lib/esm/components/FeedObject/FeedObject.js +11 -10
  177. package/lib/esm/components/FeedObjectMediaPreview/FeedObjectMediaPreview.d.ts +38 -0
  178. package/lib/esm/components/FeedObjectMediaPreview/FeedObjectMediaPreview.js +64 -0
  179. package/lib/esm/components/FeedObjectMediaPreview/index.d.ts +3 -0
  180. package/lib/esm/components/FeedObjectMediaPreview/index.js +2 -0
  181. package/lib/esm/components/InlineComposerWidget/InlineComposerWidget.d.ts +25 -33
  182. package/lib/esm/components/InlineComposerWidget/InlineComposerWidget.js +31 -64
  183. package/lib/esm/components/InlineComposerWidget/Skeleton.d.ts +4 -5
  184. package/lib/esm/components/InlineComposerWidget/Skeleton.js +15 -35
  185. package/lib/esm/components/InlineComposerWidget/constants.d.ts +1 -0
  186. package/lib/esm/components/InlineComposerWidget/constants.js +1 -0
  187. package/lib/esm/components/LocationAutocomplete/LocationAutocomplete.d.ts +2 -2
  188. package/lib/esm/components/LocationAutocomplete/LocationAutocomplete.js +4 -2
  189. package/lib/esm/components/NavigationMenuIconButton/NavigationMenuIconButton.d.ts +1 -1
  190. package/lib/esm/components/NavigationMenuIconButton/NavigationMenuIconButton.js +1 -1
  191. package/lib/esm/components/NavigationToolbarMobile/NavigationToolbarMobile.d.ts +0 -5
  192. package/lib/esm/components/NavigationToolbarMobile/NavigationToolbarMobile.js +12 -23
  193. package/lib/esm/components/NavigationToolbarMobile/Skeleton.js +3 -4
  194. package/lib/esm/components/NavigationToolbarMobile/constants.d.ts +1 -0
  195. package/lib/esm/components/NavigationToolbarMobile/constants.js +1 -0
  196. package/lib/esm/constants/Composer.d.ts +2 -0
  197. package/lib/esm/constants/Composer.js +3 -1
  198. package/lib/esm/index.d.ts +12 -12
  199. package/lib/esm/index.js +33 -33
  200. package/lib/esm/shared/Lightbox/Lightbox.js +2 -2
  201. package/lib/{cjs/shared/Media/Image/PreviewComponent.d.ts → esm/shared/Media/File/DisplayComponent.d.ts} +1 -11
  202. package/lib/esm/shared/Media/{Image/PreviewComponent.js → File/DisplayComponent.js} +50 -140
  203. package/lib/{cjs/shared/Media/Image/PreviewImage → esm/shared/Media/File/Lightbox}/index.d.ts +4 -3
  204. package/lib/esm/shared/Media/File/Lightbox/index.js +34 -0
  205. package/lib/esm/shared/Media/File/PreviewComponent.d.ts +9 -0
  206. package/lib/esm/shared/Media/File/PreviewComponent.js +49 -0
  207. package/lib/esm/shared/Media/File/TriggerButton.d.ts +12 -0
  208. package/lib/esm/shared/Media/File/TriggerButton.js +110 -0
  209. package/lib/esm/shared/Media/File/asUploadButton.d.ts +7 -0
  210. package/lib/esm/shared/Media/File/asUploadButton.js +28 -0
  211. package/lib/esm/shared/Media/File/constants.d.ts +1 -0
  212. package/lib/esm/shared/Media/File/constants.js +1 -0
  213. package/lib/esm/shared/Media/File/filter.d.ts +3 -0
  214. package/lib/esm/shared/Media/File/filter.js +2 -0
  215. package/lib/esm/shared/Media/File/index.d.ts +3 -0
  216. package/lib/esm/shared/Media/File/index.js +13 -0
  217. package/lib/esm/shared/Media/Link/DisplayComponent.d.ts +20 -0
  218. package/lib/esm/shared/Media/Link/DisplayComponent.js +67 -0
  219. package/lib/esm/shared/Media/Link/LayerComponent.d.ts +9 -0
  220. package/lib/esm/shared/Media/Link/LayerComponent.js +44 -0
  221. package/lib/esm/shared/Media/Link/PreviewComponent.d.ts +7 -21
  222. package/lib/esm/shared/Media/Link/PreviewComponent.js +27 -54
  223. package/lib/esm/shared/Media/Link/TriggerButton.d.ts +4 -0
  224. package/lib/esm/shared/Media/Link/TriggerButton.js +19 -0
  225. package/lib/esm/shared/Media/Link/UrlTextField/index.js +2 -3
  226. package/lib/esm/shared/Media/Link/constants.d.ts +1 -0
  227. package/lib/esm/shared/Media/Link/constants.js +1 -0
  228. package/lib/esm/shared/Media/Link/filter.d.ts +3 -0
  229. package/lib/esm/shared/Media/Link/filter.js +2 -0
  230. package/lib/esm/shared/Media/Link/index.js +9 -8
  231. package/lib/esm/shared/Media/Share/DisplayComponent.d.ts +11 -0
  232. package/lib/esm/shared/Media/Share/DisplayComponent.js +29 -0
  233. package/lib/esm/shared/Media/Share/constants.d.ts +1 -0
  234. package/lib/esm/shared/Media/Share/constants.js +1 -0
  235. package/lib/esm/shared/Media/Share/filter.d.ts +3 -0
  236. package/lib/esm/shared/Media/Share/filter.js +2 -0
  237. package/lib/esm/shared/Media/Share/index.js +7 -7
  238. package/lib/esm/shared/Media/index.d.ts +2 -4
  239. package/lib/esm/shared/Media/index.js +2 -4
  240. package/lib/esm/types/composer.d.ts +15 -0
  241. package/lib/esm/types/composer.js +1 -0
  242. package/lib/esm/types/media.d.ts +9 -5
  243. package/lib/umd/react-ui.js +1 -1
  244. package/package.json +7 -7
  245. package/lib/cjs/components/Composer/Audience/Audience.d.ts +0 -71
  246. package/lib/cjs/components/Composer/Audience/Audience.js +0 -69
  247. package/lib/cjs/components/Composer/Audience/index.d.ts +0 -3
  248. package/lib/cjs/components/Composer/Poll/Poll.d.ts +0 -31
  249. package/lib/cjs/components/Composer/Poll/Poll.js +0 -151
  250. package/lib/cjs/components/Composer/Poll/index.d.ts +0 -3
  251. package/lib/cjs/shared/Media/Document/EditButton.d.ts +0 -2
  252. package/lib/cjs/shared/Media/Document/EditButton.js +0 -10
  253. package/lib/cjs/shared/Media/Document/EditComponent.d.ts +0 -3
  254. package/lib/cjs/shared/Media/Document/EditComponent.js +0 -103
  255. package/lib/cjs/shared/Media/Document/PreviewComponent.d.ts +0 -3
  256. package/lib/cjs/shared/Media/Document/PreviewComponent.js +0 -43
  257. package/lib/cjs/shared/Media/Document/index.d.ts +0 -3
  258. package/lib/cjs/shared/Media/Document/index.js +0 -16
  259. package/lib/cjs/shared/Media/Image/EditButton.d.ts +0 -2
  260. package/lib/cjs/shared/Media/Image/EditButton.js +0 -10
  261. package/lib/cjs/shared/Media/Image/EditComponent.d.ts +0 -3
  262. package/lib/cjs/shared/Media/Image/EditComponent.js +0 -102
  263. package/lib/cjs/shared/Media/Image/PreviewImage/index.js +0 -41
  264. package/lib/cjs/shared/Media/Image/index.d.ts +0 -3
  265. package/lib/cjs/shared/Media/Image/index.js +0 -16
  266. package/lib/cjs/shared/Media/Link/EditButton.d.ts +0 -2
  267. package/lib/cjs/shared/Media/Link/EditButton.js +0 -10
  268. package/lib/cjs/shared/Media/Link/EditComponent.d.ts +0 -3
  269. package/lib/cjs/shared/Media/Link/EditComponent.js +0 -46
  270. package/lib/cjs/shared/Media/Share/PreviewComponent.d.ts +0 -7
  271. package/lib/cjs/shared/Media/Share/PreviewComponent.js +0 -32
  272. package/lib/cjs/shared/Media/Video/EditButton.d.ts +0 -2
  273. package/lib/cjs/shared/Media/Video/EditButton.js +0 -10
  274. package/lib/cjs/shared/Media/Video/EditComponent.d.ts +0 -3
  275. package/lib/cjs/shared/Media/Video/EditComponent.js +0 -89
  276. package/lib/cjs/shared/Media/Video/PreviewComponent.d.ts +0 -19
  277. package/lib/cjs/shared/Media/Video/PreviewComponent.js +0 -37
  278. package/lib/cjs/shared/Media/Video/index.d.ts +0 -3
  279. package/lib/cjs/shared/Media/Video/index.js +0 -16
  280. package/lib/cjs/shared/MediasPreview/index.d.ts +0 -18
  281. package/lib/cjs/shared/MediasPreview/index.js +0 -44
  282. package/lib/esm/components/Composer/Audience/Audience.d.ts +0 -71
  283. package/lib/esm/components/Composer/Audience/Audience.js +0 -66
  284. package/lib/esm/components/Composer/Audience/index.d.ts +0 -3
  285. package/lib/esm/components/Composer/Audience/index.js +0 -2
  286. package/lib/esm/components/Composer/Poll/Poll.d.ts +0 -31
  287. package/lib/esm/components/Composer/Poll/Poll.js +0 -149
  288. package/lib/esm/components/Composer/Poll/index.d.ts +0 -3
  289. package/lib/esm/components/Composer/Poll/index.js +0 -2
  290. package/lib/esm/shared/Media/Document/EditButton.d.ts +0 -2
  291. package/lib/esm/shared/Media/Document/EditButton.js +0 -7
  292. package/lib/esm/shared/Media/Document/EditComponent.d.ts +0 -3
  293. package/lib/esm/shared/Media/Document/EditComponent.js +0 -101
  294. package/lib/esm/shared/Media/Document/PreviewComponent.d.ts +0 -3
  295. package/lib/esm/shared/Media/Document/PreviewComponent.js +0 -41
  296. package/lib/esm/shared/Media/Document/index.d.ts +0 -3
  297. package/lib/esm/shared/Media/Document/index.js +0 -13
  298. package/lib/esm/shared/Media/Image/EditButton.d.ts +0 -2
  299. package/lib/esm/shared/Media/Image/EditButton.js +0 -7
  300. package/lib/esm/shared/Media/Image/EditComponent.d.ts +0 -3
  301. package/lib/esm/shared/Media/Image/EditComponent.js +0 -100
  302. package/lib/esm/shared/Media/Image/PreviewImage/index.js +0 -38
  303. package/lib/esm/shared/Media/Image/index.d.ts +0 -3
  304. package/lib/esm/shared/Media/Image/index.js +0 -13
  305. package/lib/esm/shared/Media/Link/EditButton.d.ts +0 -2
  306. package/lib/esm/shared/Media/Link/EditButton.js +0 -7
  307. package/lib/esm/shared/Media/Link/EditComponent.d.ts +0 -3
  308. package/lib/esm/shared/Media/Link/EditComponent.js +0 -43
  309. package/lib/esm/shared/Media/Share/PreviewComponent.d.ts +0 -7
  310. package/lib/esm/shared/Media/Share/PreviewComponent.js +0 -29
  311. package/lib/esm/shared/Media/Video/EditButton.d.ts +0 -2
  312. package/lib/esm/shared/Media/Video/EditButton.js +0 -7
  313. package/lib/esm/shared/Media/Video/EditComponent.d.ts +0 -3
  314. package/lib/esm/shared/Media/Video/EditComponent.js +0 -87
  315. package/lib/esm/shared/Media/Video/PreviewComponent.d.ts +0 -19
  316. package/lib/esm/shared/Media/Video/PreviewComponent.js +0 -34
  317. package/lib/esm/shared/Media/Video/index.d.ts +0 -3
  318. package/lib/esm/shared/Media/Video/index.js +0 -13
  319. package/lib/esm/shared/MediasPreview/index.d.ts +0 -18
  320. package/lib/esm/shared/MediasPreview/index.js +0 -42
@@ -1,65 +1,37 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  const tslib_1 = require("tslib");
4
- const react_1 = tslib_1.__importDefault(require("react"));
4
+ const react_1 = tslib_1.__importStar(require("react"));
5
+ const material_1 = require("@mui/material");
5
6
  const styles_1 = require("@mui/material/styles");
6
- const react_lazyload_1 = tslib_1.__importDefault(require("react-lazyload"));
7
- const Media_1 = require("../../../constants/Media");
8
- const AutoPlayer_1 = tslib_1.__importDefault(require("../../AutoPlayer"));
9
- const Box_1 = tslib_1.__importDefault(require("@mui/material/Box"));
10
- const LazyLoad_1 = require("../../../constants/LazyLoad");
11
- const Skeleton_1 = tslib_1.__importDefault(require("@mui/material/Skeleton"));
7
+ const Icon_1 = tslib_1.__importDefault(require("@mui/material/Icon"));
12
8
  const classnames_1 = tslib_1.__importDefault(require("classnames"));
13
- const PREFIX = 'SCPreviewMediaLink';
9
+ const react_sortablejs_1 = require("react-sortablejs");
10
+ const DisplayComponent_1 = tslib_1.__importDefault(require("./DisplayComponent"));
11
+ const constants_1 = require("./constants");
12
+ const filter_1 = tslib_1.__importDefault(require("./filter"));
14
13
  const classes = {
15
- previewLink: `${PREFIX}-preview-link`,
16
- previewVideo: `${PREFIX}-preview-video`,
17
- thumbnail: `${PREFIX}-thumbnail`,
18
- thumbnailFullWidth: `${PREFIX}-thumbnail`,
19
- image: `${PREFIX}-image`,
20
- snippet: `${PREFIX}-snippet`,
21
- snippetTitle: `${PREFIX}-snippet-title`,
22
- snippetDescription: `${PREFIX}-snippet-description`
14
+ previewRoot: `${constants_1.PREFIX}-preview-root`,
15
+ media: `${constants_1.PREFIX}-media`,
16
+ delete: `${constants_1.PREFIX}-delete`
23
17
  };
24
- const Root = (0, styles_1.styled)(Box_1.default, {
25
- name: PREFIX,
26
- slot: 'Root',
27
- overridesResolver: (props, styles) => styles.root
28
- })(({ theme }) => ({}));
29
- exports.default = (props) => {
18
+ const Root = (0, styles_1.styled)(material_1.Box, {
19
+ name: constants_1.PREFIX,
20
+ slot: 'PreviewRoot'
21
+ })(() => ({}));
22
+ const PreviewComponent = react_1.default.forwardRef((props, ref) => {
30
23
  // PROPS
31
- const { medias, fullWidth = false, adornment = null, onMediaClick = null } = props;
24
+ const { className, onChange, value = [] } = props, rest = tslib_1.__rest(props, ["className", "onChange", "value"]);
25
+ // MEMO
26
+ const medias = (0, react_1.useMemo)(() => value.filter(filter_1.default), [value]);
32
27
  // HANDLERS
33
- const handleLinkClick = (link) => {
34
- onMediaClick && onMediaClick(link);
35
- };
36
- // RENDER
37
- /**
38
- * Renders link preview
39
- * @param (link)
40
- * @param(key)
41
- */
42
- const renderPreview = (link, key) => {
43
- const domain = new URL(link.embed.metadata.url).hostname.replace('www.', '');
44
- return (react_1.default.createElement(Box_1.default, { className: classes.previewLink, key: key },
45
- link.embed.metadata.images && link.embed.metadata.images.length > 0 && (react_1.default.createElement(react_1.default.Fragment, null, fullWidth ? (react_1.default.createElement(Box_1.default, { className: (0, classnames_1.default)(classes.thumbnailFullWidth, classes.image), style: { background: `url(${link.image})`, paddingBottom: `${100 / link.image_width / link.image_height}%` } })) : (react_1.default.createElement(Box_1.default, { className: (0, classnames_1.default)(classes.thumbnail, classes.image), style: { background: `url(${link.image})` } })))),
46
- react_1.default.createElement(Box_1.default, { className: classes.snippet },
47
- react_1.default.createElement("b", { className: classes.snippetTitle }, link.embed.metadata.title),
48
- react_1.default.createElement("br", null),
49
- react_1.default.createElement("p", { className: classes.snippetDescription }, link.embed.metadata.description),
50
- react_1.default.createElement("a", { href: link.embed.metadata.url, target: '_blank', onClick: () => handleLinkClick(link) }, domain)),
51
- react_1.default.createElement("div", { style: { clear: 'both' } })));
52
- };
53
- /**
54
- * Renders component
55
- */
56
- return (react_1.default.createElement(react_1.default.Fragment, null, medias.length > 0 && (react_1.default.createElement(Root, null,
57
- adornment,
58
- medias.map((l, i) => {
59
- if (l.embed.metadata && l.embed.metadata.type === Media_1.MEDIA_TYPE_VIDEO) {
60
- return (react_1.default.createElement(react_lazyload_1.default, { className: classes.previewVideo, placeholder: react_1.default.createElement(Skeleton_1.default, { variant: "rectangular", height: 360, width: '100%' }), key: i, once: true, offset: LazyLoad_1.DEFAULT_PRELOAD_OFFSET_VIEWPORT },
61
- react_1.default.createElement(AutoPlayer_1.default, { url: l.url, width: '100%', key: i, onVideoWatch: () => handleLinkClick(l) })));
62
- }
63
- return react_1.default.createElement(react_1.default.Fragment, { key: i }, renderPreview(l, i));
64
- })))));
65
- };
28
+ const handleSort = (0, react_1.useCallback)((medias) => {
29
+ onChange && onChange([...value.filter((media) => medias.findIndex((m) => m.id === media.id) === -1), ...medias]);
30
+ }, [onChange]);
31
+ const handleDelete = (0, react_1.useCallback)((id) => () => onChange && onChange(value.filter((media) => media.id !== id)), [onChange, value]);
32
+ return react_1.default.createElement(Root, Object.assign({ ref: ref, className: (0, classnames_1.default)(className, classes.previewRoot) }, rest), medias.length > 0 && (react_1.default.createElement(react_sortablejs_1.ReactSortable, { list: medias, setList: handleSort }, medias.map((media) => (react_1.default.createElement(material_1.Box, { key: media.id, className: classes.media },
33
+ react_1.default.createElement(DisplayComponent_1.default, { medias: [media] }),
34
+ react_1.default.createElement(material_1.IconButton, { className: classes.delete, onClick: handleDelete(media.id), size: "small" },
35
+ react_1.default.createElement(Icon_1.default, null, "delete"))))))));
36
+ });
37
+ exports.default = PreviewComponent;
@@ -0,0 +1,4 @@
1
+ import { ReactElement } from 'react';
2
+ import { IconButtonProps } from '@mui/material';
3
+ declare const _default: ({ className, ...rest }: IconButtonProps) => ReactElement;
4
+ export default _default;
@@ -0,0 +1,21 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ const tslib_1 = require("tslib");
4
+ const react_1 = tslib_1.__importDefault(require("react"));
5
+ const material_1 = require("@mui/material");
6
+ const Icon_1 = tslib_1.__importDefault(require("@mui/material/Icon"));
7
+ const constants_1 = require("./constants");
8
+ const styles_1 = require("@mui/material/styles");
9
+ const classnames_1 = tslib_1.__importDefault(require("classnames"));
10
+ const classes = {
11
+ triggerRoot: `${constants_1.PREFIX}-trigger-root`
12
+ };
13
+ const Root = (0, styles_1.styled)(material_1.IconButton, {
14
+ name: constants_1.PREFIX,
15
+ slot: 'TriggerRoot'
16
+ })(() => ({}));
17
+ exports.default = (_a) => {
18
+ var { className } = _a, rest = tslib_1.__rest(_a, ["className"]);
19
+ return (react_1.default.createElement(Root, Object.assign({ className: (0, classnames_1.default)(className, classes.triggerRoot) }, rest, { "aria-label": "add link" }),
20
+ react_1.default.createElement(Icon_1.default, null, "link")));
21
+ };
@@ -3,7 +3,6 @@ Object.defineProperty(exports, "__esModule", { value: true });
3
3
  const tslib_1 = require("tslib");
4
4
  const react_1 = tslib_1.__importStar(require("react"));
5
5
  const InputAdornment_1 = tslib_1.__importDefault(require("@mui/material/InputAdornment"));
6
- const Icon_1 = tslib_1.__importDefault(require("@mui/material/Icon"));
7
6
  const IconButton_1 = tslib_1.__importDefault(require("@mui/material/IconButton"));
8
7
  const TextField_1 = tslib_1.__importDefault(require("@mui/material/TextField"));
9
8
  const api_services_1 = require("@selfcommunity/api-services");
@@ -79,6 +78,6 @@ exports.default = (props) => {
79
78
  (urlError && (react_1.default.createElement(react_intl_1.FormattedMessage, { id: `ui.composer.media.link.add.error.${urlError}`, defaultMessage: `ui.composer.media.link.add.error.${urlError}` }))) || react_1.default.createElement(react_intl_1.FormattedMessage, { id: "ui.composer.media.link.add.help", defaultMessage: "ui.composer.media.link.add.help" }), disabled: isCreating }, rest, { InputProps: {
80
79
  endAdornment: (react_1.default.createElement(InputAdornment_1.default, { position: "end" },
81
80
  react_1.default.createElement(material_1.Fade, { in: urlError === null && url !== '' },
82
- react_1.default.createElement(IconButton_1.default, { size: "small", disabled: isCreating, type: "submit" }, isCreating ? react_1.default.createElement(material_1.CircularProgress, { color: "primary", size: 20 }) : react_1.default.createElement(Icon_1.default, null, "play_arrow")))))
81
+ react_1.default.createElement(IconButton_1.default, { size: "small", disabled: isCreating, type: "submit" }, isCreating ? react_1.default.createElement(material_1.CircularProgress, { color: "primary", size: 20 }) : react_1.default.createElement(react_intl_1.FormattedMessage, { id: "ui.composer.media.link.add.submit", defaultMessage: "ui.composer.media.link.add.submit" })))))
83
82
  } }))));
84
83
  };
@@ -0,0 +1 @@
1
+ export declare const PREFIX = "SCMediaLink";
@@ -0,0 +1,4 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.PREFIX = void 0;
4
+ exports.PREFIX = 'SCMediaLink';
@@ -0,0 +1,3 @@
1
+ import { SCMediaType } from '@selfcommunity/types/src/types';
2
+ declare const _default: (media: SCMediaType) => boolean;
3
+ export default _default;
@@ -0,0 +1,4 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ const Media_1 = require("../../../constants/Media");
4
+ exports.default = (media) => media.type === Media_1.MEDIA_TYPE_URL && media.embed && media.embed.embed_type === Media_1.MEDIA_EMBED_SC_LINK_TYPE;
@@ -1,16 +1,17 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  const tslib_1 = require("tslib");
4
- const react_1 = tslib_1.__importDefault(require("react"));
4
+ const DisplayComponent_1 = tslib_1.__importDefault(require("./DisplayComponent"));
5
+ const TriggerButton_1 = tslib_1.__importDefault(require("./TriggerButton"));
6
+ const LayerComponent_1 = tslib_1.__importDefault(require("./LayerComponent"));
5
7
  const PreviewComponent_1 = tslib_1.__importDefault(require("./PreviewComponent"));
6
- const EditButton_1 = tslib_1.__importDefault(require("./EditButton"));
7
- const EditComponent_1 = tslib_1.__importDefault(require("./EditComponent"));
8
- const Media_1 = require("../../../constants/Media");
8
+ const filter_1 = tslib_1.__importDefault(require("./filter"));
9
9
  const Link = {
10
10
  name: 'link',
11
- previewComponent: (props) => react_1.default.createElement(PreviewComponent_1.default, Object.assign({}, props)),
12
- editButton: (props) => react_1.default.createElement(EditButton_1.default, Object.assign({}, props)),
13
- editComponent: (props) => react_1.default.createElement(EditComponent_1.default, Object.assign({}, props)),
14
- filter: (media) => media.type === Media_1.MEDIA_TYPE_URL && media.embed && media.embed.embed_type === Media_1.MEDIA_EMBED_SC_LINK_TYPE
11
+ displayComponent: DisplayComponent_1.default,
12
+ triggerButton: TriggerButton_1.default,
13
+ layerComponent: LayerComponent_1.default,
14
+ previewComponent: PreviewComponent_1.default,
15
+ filter: filter_1.default
15
16
  };
16
17
  exports.default = Link;
@@ -0,0 +1,11 @@
1
+ import { ReactElement } from 'react';
2
+ import { SCMediaType } from '@selfcommunity/types/src/types';
3
+ import { BoxProps } from '@mui/material';
4
+ export interface DisplayComponentProps extends BoxProps {
5
+ /**
6
+ * Medias
7
+ */
8
+ medias: SCMediaType[];
9
+ }
10
+ declare const _default: ({ className, medias, ...rest }: DisplayComponentProps) => ReactElement;
11
+ export default _default;
@@ -0,0 +1,31 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ const tslib_1 = require("tslib");
4
+ const react_1 = tslib_1.__importStar(require("react"));
5
+ const styles_1 = require("@mui/material/styles");
6
+ const Box_1 = tslib_1.__importDefault(require("@mui/material/Box"));
7
+ const FeedObject_1 = tslib_1.__importDefault(require("../../../components/FeedObject"));
8
+ const feedObject_1 = require("../../../types/feedObject");
9
+ const utils_1 = require("@selfcommunity/utils");
10
+ const classnames_1 = tslib_1.__importDefault(require("classnames"));
11
+ const filter_1 = tslib_1.__importDefault(require("./filter"));
12
+ const constants_1 = require("./constants");
13
+ const classes = {
14
+ displayRoot: `${constants_1.PREFIX}-display-root`,
15
+ sharePreview: `${constants_1.PREFIX}-share-preview`,
16
+ sharePlaceholder: `${constants_1.PREFIX}-share-placeholder`
17
+ };
18
+ const Root = (0, styles_1.styled)(Box_1.default, {
19
+ name: constants_1.PREFIX,
20
+ slot: 'DisplayRoot'
21
+ })(({ theme }) => ({}));
22
+ exports.default = (_a) => {
23
+ var { className, medias = [] } = _a, rest = tslib_1.__rest(_a, ["className", "medias"]);
24
+ // MEMO
25
+ const _medias = (0, react_1.useMemo)(() => medias.filter(filter_1.default), [medias]);
26
+ if (_medias.length === 0) {
27
+ return null;
28
+ }
29
+ return (react_1.default.createElement(Root, Object.assign({ className: (0, classnames_1.default)(className, classes.displayRoot) }, rest), _medias.map((media, i) => (react_1.default.createElement(Box_1.default, { className: classes.sharePreview, key: i },
30
+ react_1.default.createElement(FeedObject_1.default, { feedObjectId: media.embed.metadata.id, feedObjectType: media.embed.metadata.type, variant: 'outlined', template: feedObject_1.SCFeedObjectTemplateType.SHARE, cacheStrategy: utils_1.CacheStrategies.CACHE_FIRST }))))));
31
+ };
@@ -0,0 +1 @@
1
+ export declare const PREFIX = "SCMediaShare";
@@ -0,0 +1,4 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.PREFIX = void 0;
4
+ exports.PREFIX = 'SCMediaShare';
@@ -0,0 +1,3 @@
1
+ import { SCMediaType } from '@selfcommunity/types/src/types';
2
+ declare const _default: (media: SCMediaType) => boolean;
3
+ export default _default;
@@ -0,0 +1,4 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ const Media_1 = require("../../../constants/Media");
4
+ exports.default = (media) => media.type === Media_1.MEDIA_TYPE_SHARE;
@@ -1,14 +1,14 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  const tslib_1 = require("tslib");
4
- const react_1 = tslib_1.__importDefault(require("react"));
5
- const PreviewComponent_1 = tslib_1.__importDefault(require("./PreviewComponent"));
6
- const Media_1 = require("../../../constants/Media");
4
+ const DisplayComponent_1 = tslib_1.__importDefault(require("./DisplayComponent"));
5
+ const filter_1 = tslib_1.__importDefault(require("./filter"));
7
6
  const Share = {
8
7
  name: 'share',
9
- previewComponent: (props) => react_1.default.createElement(PreviewComponent_1.default, Object.assign({}, props)),
10
- editButton: null,
11
- editComponent: null,
12
- filter: (media) => media.type === Media_1.MEDIA_TYPE_SHARE
8
+ displayComponent: DisplayComponent_1.default,
9
+ triggerButton: null,
10
+ layerComponent: null,
11
+ previewComponent: null,
12
+ filter: filter_1.default
13
13
  };
14
14
  exports.default = Share;
@@ -1,7 +1,5 @@
1
- import Image from './Image';
2
- import Document from './Document';
1
+ import File from './File';
3
2
  import Link from './Link';
4
- import Video from './Video';
5
3
  import Share from './Share';
6
4
  import { EditMediaProps } from './types';
7
- export { Image, Document, Link, Video, Share, EditMediaProps };
5
+ export { File, Link, Share, EditMediaProps };
@@ -1,14 +1,10 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.Share = exports.Video = exports.Link = exports.Document = exports.Image = void 0;
3
+ exports.Share = exports.Link = exports.File = void 0;
4
4
  const tslib_1 = require("tslib");
5
- const Image_1 = tslib_1.__importDefault(require("./Image"));
6
- exports.Image = Image_1.default;
7
- const Document_1 = tslib_1.__importDefault(require("./Document"));
8
- exports.Document = Document_1.default;
5
+ const File_1 = tslib_1.__importDefault(require("./File"));
6
+ exports.File = File_1.default;
9
7
  const Link_1 = tslib_1.__importDefault(require("./Link"));
10
8
  exports.Link = Link_1.default;
11
- const Video_1 = tslib_1.__importDefault(require("./Video"));
12
- exports.Video = Video_1.default;
13
9
  const Share_1 = tslib_1.__importDefault(require("./Share"));
14
10
  exports.Share = Share_1.default;
@@ -0,0 +1,15 @@
1
+ import { ReactElement } from 'react';
2
+ import { SCFeedPostType } from '@selfcommunity/types/src/types';
3
+ export interface ComposerLayerType {
4
+ name: string;
5
+ Component: (props: any) => ReactElement;
6
+ ComponentProps: any;
7
+ }
8
+ export interface ComposerLayerProps {
9
+ onClose: () => void;
10
+ onSave: (value: any) => void;
11
+ defaultValue: any;
12
+ }
13
+ export declare type ComposerContentType = Omit<SCFeedPostType, 'id' | 'last_activity_at' | 'added_at' | 'slug' | 'summary' | 'deleted' | 'collapsed' | 'comment_count' | 'share_count' | 'view_count' | 'vote_count' | 'follower_count' | 'reaction' | 'reactions_count' | 'flag_count' | 'type'> & {
14
+ title?: string;
15
+ };
@@ -0,0 +1,2 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
@@ -1,4 +1,4 @@
1
- import React from 'react';
1
+ import { ReactElement } from 'react';
2
2
  /**
3
3
  * Interface MediaObject
4
4
  */
@@ -10,19 +10,23 @@ export interface SCMediaObjectType {
10
10
  /**
11
11
  * The component used to display media
12
12
  */
13
- previewComponent: React.ElementType;
13
+ displayComponent: (props: any) => ReactElement;
14
14
  /**
15
15
  * Hook for insert custom props to preview component
16
16
  */
17
- previewProps?: any;
17
+ displayProps?: any;
18
18
  /**
19
19
  * The button used to trigger the action
20
20
  */
21
- editButton: React.ElementType | null;
21
+ triggerButton: (props: any) => ReactElement;
22
+ /**
23
+ * The component used to preview the list of media of this type in the composer
24
+ */
25
+ previewComponent: (props: any) => ReactElement;
22
26
  /**
23
27
  * The component used to interact with the list of media of this type
24
28
  */
25
- editComponent: React.ElementType | null;
29
+ layerComponent: (props: any) => ReactElement;
26
30
  /**
27
31
  * The function used to filter media objects for rendering purpose
28
32
  */
@@ -6,18 +6,19 @@ import { useThemeProps } from '@mui/system';
6
6
  import classNames from 'classnames';
7
7
  import { SCFeatureName } from '@selfcommunity/types';
8
8
  import { iOS } from '@selfcommunity/utils';
9
+ import ComposerIconButton from '../ComposerIconButton';
9
10
  const PREFIX = 'SCBottomNavigation';
10
11
  const classes = {
11
12
  root: `${PREFIX}-root`,
12
13
  ios: `${PREFIX}-ios`,
13
- action: `${PREFIX}-action`
14
+ action: `${PREFIX}-action`,
15
+ composer: `${PREFIX}-composer`,
14
16
  };
15
17
  const Root = styled(MuiBottomNavigation, {
16
18
  name: PREFIX,
17
19
  slot: 'Root',
18
20
  overridesResolver: (props, styles) => styles.root
19
21
  })(() => ({}));
20
- const PREFERENCES = [SCPreferences.CONFIGURATIONS_EXPLORE_STREAM_ENABLED, SCPreferences.CONFIGURATIONS_CONTENT_AVAILABILITY];
21
22
  /**
22
23
  * > API documentation for the Community-JS Bottom Navigation component. Learn about the available props and the CSS API.
23
24
  *
@@ -56,22 +57,18 @@ export default function BottomNavigation(inProps) {
56
57
  const scUserContext = useSCUser();
57
58
  const scRoutingContext = useSCRouting();
58
59
  // PREFERENCES
59
- const scPreferences = useSCPreferences();
60
- const preferences = useMemo(() => {
61
- const _preferences = {};
62
- PREFERENCES.map((p) => (_preferences[p] = p in scPreferences.preferences ? scPreferences.preferences[p].value : null));
63
- return _preferences;
64
- }, [scPreferences.preferences]);
60
+ const { preferences, features } = useSCPreferences();
65
61
  // MEMO
66
- const privateMessagingEnabled = useMemo(() => scPreferences.features.includes(SCFeatureName.PRIVATE_MESSAGING), [scPreferences.features]);
62
+ const privateMessagingEnabled = useMemo(() => features.includes(SCFeatureName.PRIVATE_MESSAGING), [features]);
67
63
  const isIOS = useMemo(() => iOS(), []);
68
64
  // RENDER
69
65
  return (React.createElement(Root, Object.assign({ className: classNames(className, classes.root, { [classes.ios]: isIOS }) }, rest), children
70
66
  ? children
71
67
  : [
72
68
  React.createElement(BottomNavigationAction, { key: "home", className: classes.action, component: Link, to: scUserContext.user ? scRoutingContext.url(SCRoutes.HOME_ROUTE_NAME, {}) : '/', value: scUserContext.user ? scRoutingContext.url(SCRoutes.HOME_ROUTE_NAME, {}) : '/', icon: React.createElement(Icon, null, "home") }),
73
- (scUserContext.user || preferences[SCPreferences.CONFIGURATIONS_CONTENT_AVAILABILITY]) &&
74
- preferences[SCPreferences.CONFIGURATIONS_EXPLORE_STREAM_ENABLED] ? (React.createElement(BottomNavigationAction, { key: "explore", className: classes.action, component: Link, to: scRoutingContext.url(SCRoutes.EXPLORE_ROUTE_NAME, {}), value: scRoutingContext.url(SCRoutes.EXPLORE_ROUTE_NAME, {}), icon: React.createElement(Icon, null, "explore") })) : null,
69
+ (scUserContext.user || preferences[SCPreferences.CONFIGURATIONS_CONTENT_AVAILABILITY].value) &&
70
+ preferences[SCPreferences.CONFIGURATIONS_EXPLORE_STREAM_ENABLED].value ? (React.createElement(BottomNavigationAction, { key: "explore", className: classes.action, component: Link, to: scRoutingContext.url(SCRoutes.EXPLORE_ROUTE_NAME, {}), value: scRoutingContext.url(SCRoutes.EXPLORE_ROUTE_NAME, {}), icon: React.createElement(Icon, null, "explore") })) : null,
71
+ React.createElement(BottomNavigationAction, { key: "composer", className: classNames(classes.composer, classes.action), component: ComposerIconButton }),
75
72
  scUserContext.user ? (React.createElement(BottomNavigationAction, { key: "notifications", className: classes.action, component: Link, to: scRoutingContext.url(SCRoutes.USER_NOTIFICATIONS_ROUTE_NAME, {}), value: scRoutingContext.url(SCRoutes.USER_NOTIFICATIONS_ROUTE_NAME, {}), icon: React.createElement(Badge, { badgeContent: scUserContext.user.unseen_notification_banners_counter + scUserContext.user.unseen_interactions_counter, color: "secondary" },
76
73
  React.createElement(Icon, null, "notifications_active")) })) : null,
77
74
  privateMessagingEnabled && scUserContext.user ? (React.createElement(BottomNavigationAction, { key: "messages", className: classes.action, component: Link, to: scRoutingContext.url(SCRoutes.USER_PRIVATE_MESSAGES_ROUTE_NAME, {}), value: scRoutingContext.url(SCRoutes.USER_PRIVATE_MESSAGES_ROUTE_NAME, {}), icon: React.createElement(Badge, { badgeContent: 0, color: "secondary" },
@@ -35,7 +35,16 @@ const Root = styled(Widget, {
35
35
  objectFit: 'fill'
36
36
  },
37
37
  [`& .${classes.title}`]: {
38
- padding: '4px 16px'
38
+ padding: `${theme.spacing(2)}`,
39
+ paddingBottom: `${theme.spacing()}`,
40
+ paddingTop: 0
41
+ },
42
+ [`& .${classes.media}`]: {
43
+ paddingBottom: `${theme.spacing(2)}`
44
+ },
45
+ [`& .${classes.content}`]: {
46
+ padding: theme.spacing(2),
47
+ paddingTop: 0
39
48
  },
40
49
  [`& .${classes.listItemSnippet}`]: {
41
50
  padding: '0px 5px',
@@ -114,10 +123,10 @@ export default function Message(props) {
114
123
  React.createElement(CardContent, { className: classes.title },
115
124
  React.createElement(Typography, { variant: "h6" }, banner.title)),
116
125
  banner.image && React.createElement(CardMedia, { className: classes.media, component: "img", image: banner.image, alt: banner.title }),
117
- React.createElement(CardContent, { className: classes.content },
118
- React.createElement(Typography, { variant: "body2", color: "text.secondary" }, banner.body_text),
119
- React.createElement(Typography, { variant: "body2", color: "text.secondary" },
120
- React.createElement("a", { href: banner.link, target: banner.open_in_new_tab ? '_blank' : '_self' }, banner.link_text)))));
126
+ (banner.body_text || banner.link_text) && (React.createElement(CardContent, { className: classes.content },
127
+ banner.body_text && (React.createElement(Typography, { variant: "body1", color: "text.secondary" }, banner.body_text)),
128
+ banner.link_text && (React.createElement(Typography, { variant: "body1", color: "text.secondary" },
129
+ React.createElement("a", { href: banner.link, target: banner.open_in_new_tab ? '_blank' : '_self' }, banner.link_text)))))));
121
130
  };
122
131
  // Banner
123
132
  const { banner } = message;
@@ -30,28 +30,7 @@ const Root = styled(Box, {
30
30
  name: PREFIX,
31
31
  slot: 'Root',
32
32
  overridesResolver: (props, styles) => styles.root
33
- })(({ theme }) => ({
34
- boxShadow: 'none',
35
- position: 'relative',
36
- display: 'flex',
37
- flexWrap: 'wrap',
38
- width: '100%',
39
- [`& .${classes.loadNextCommentsButton}`]: {
40
- textTransform: 'initial'
41
- },
42
- [`& .${classes.loadPreviousCommentsButton}`]: {
43
- textTransform: 'initial'
44
- },
45
- [`& .${classes.commentsCounter}`]: {
46
- paddingRight: theme.spacing()
47
- },
48
- [`& .${classes.pagination}`]: {
49
- width: '100%'
50
- },
51
- [`& .${classes.paginationLink}`]: {
52
- display: 'none'
53
- }
54
- }));
33
+ })(({ theme }) => ({}));
55
34
  const PREFERENCES = [SCPreferences.ADVERTISING_CUSTOM_ADV_ENABLED, SCPreferences.ADVERTISING_CUSTOM_ADV_ONLY_FOR_ANONYMOUS_USERS_ENABLED];
56
35
  /**
57
36
  * > API documentation for the Community-JS Comments Object component. Learn about the available props and the CSS API.
@@ -0,0 +1,22 @@
1
+ import { BoxProps } from '@mui/material';
2
+ import { ComposerContentType } from '../../../types/composer';
3
+ export interface AttributesProps extends Omit<BoxProps, 'value' | 'onChange' | 'onClick'> {
4
+ /**
5
+ * Value of the component
6
+ */
7
+ value?: Omit<ComposerContentType, 'title' | 'html'> | null;
8
+ /**
9
+ * Callback for change event on attributes object
10
+ * @param value
11
+ * @default empty object
12
+ */
13
+ onChange?: (value: Omit<ComposerContentType, 'title' | 'html'>) => void;
14
+ /**
15
+ * Callback for click event on single attribute
16
+ * @param value
17
+ * @default empty object
18
+ */
19
+ onClick?: (attribute: 'categories' | 'addressing') => void;
20
+ }
21
+ declare const _default: (props: AttributesProps) => JSX.Element;
22
+ export default _default;
@@ -0,0 +1,38 @@
1
+ import React, { useCallback } from 'react';
2
+ import { Box, Chip } from '@mui/material';
3
+ import { styled } from '@mui/material/styles';
4
+ import Icon from '@mui/material/Icon';
5
+ import classNames from 'classnames';
6
+ import TagChip from '../../../shared/TagChip';
7
+ import { PREFIX } from '../constants';
8
+ const classes = {
9
+ root: `${PREFIX}-attributes-root`
10
+ };
11
+ const Root = styled(Box, {
12
+ name: PREFIX,
13
+ slot: 'AttributesRoot'
14
+ })(() => ({}));
15
+ export default (props) => {
16
+ var _a, _b;
17
+ // PROPS
18
+ const { className = null, value = null, onChange = null, onClick = null } = props;
19
+ // HANDLERS
20
+ const handleDeleteCategory = useCallback((id) => () => {
21
+ onChange && onChange(Object.assign(Object.assign({}, value), { categories: value.categories.filter((cat) => cat.id !== id) }));
22
+ }, [value, onChange]);
23
+ const handleClickCategory = useCallback(() => {
24
+ onClick && onClick('categories');
25
+ }, [onClick]);
26
+ const handleDeleteTag = useCallback((id) => () => {
27
+ onChange && onChange(Object.assign(Object.assign({}, value), { addressing: value.addressing.filter((tag) => tag.id !== id) }));
28
+ }, [value, onChange]);
29
+ const handleClickTag = useCallback(() => {
30
+ onClick && onClick('addressing');
31
+ }, [onClick]);
32
+ return (React.createElement(Root, { className: classNames(classes.root, className) },
33
+ ((_a = value === null || value === void 0 ? void 0 : value.categories) === null || _a === void 0 ? void 0 : _a.length) > 0 &&
34
+ (value === null || value === void 0 ? void 0 : value.categories.map((c) => (React.createElement(Chip, { key: c.id, label: c.name, onDelete: handleDeleteCategory(c.id), icon: React.createElement(Icon, null, "category"), onClick: handleClickCategory })))),
35
+ ((_b = value === null || value === void 0 ? void 0 : value.addressing) === null || _b === void 0 ? void 0 : _b.length) > 0 &&
36
+ (value === null || value === void 0 ? void 0 : value.addressing.map((t) => (React.createElement(TagChip, { key: t.id, tag: t, onDelete: handleDeleteTag(t.id), icon: React.createElement(Icon, null, "label"), onClick: handleClickTag })))),
37
+ (value === null || value === void 0 ? void 0 : value.location) && (React.createElement(Chip, { icon: React.createElement(Icon, null, "add_location_alt"), label: value === null || value === void 0 ? void 0 : value.location.location, onDelete: () => null, onClick: () => null }))));
38
+ };
@@ -0,0 +1,3 @@
1
+ import Attributes, { AttributesProps } from './Attributes';
2
+ export default Attributes;
3
+ export { AttributesProps };
@@ -0,0 +1,2 @@
1
+ import Attributes from './Attributes';
2
+ export default Attributes;