@mjhls/mjh-framework 1.0.99-0.next-12 → 1.0.99

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 (356) hide show
  1. package/README.md +172 -168
  2. package/dist/index.es.js +12800 -0
  3. package/dist/index.es.js.map +1 -0
  4. package/dist/index.js +12835 -0
  5. package/dist/index.js.map +1 -0
  6. package/package.json +84 -115
  7. package/dist/cjs/AD.js +0 -32
  8. package/dist/cjs/AD300x250.js +0 -95
  9. package/dist/cjs/AD300x250x600.js +0 -112
  10. package/dist/cjs/AD728x90.js +0 -109
  11. package/dist/cjs/ADFloatingFooter.js +0 -143
  12. package/dist/cjs/ADFooter.js +0 -53
  13. package/dist/cjs/ADGutter.js +0 -115
  14. package/dist/cjs/ADInfeed-cf54cb8a.js +0 -66
  15. package/dist/cjs/ADSkyscraper.js +0 -117
  16. package/dist/cjs/ADSponsoredResources.js +0 -114
  17. package/dist/cjs/ADWebcast.js +0 -119
  18. package/dist/cjs/ADWelcome.js +0 -166
  19. package/dist/cjs/ADlgInfeed-d06624d8.js +0 -60
  20. package/dist/cjs/AccordionPanel.js +0 -94
  21. package/dist/cjs/AdSlot.js +0 -251
  22. package/dist/cjs/AdSlotsProvider.js +0 -183
  23. package/dist/cjs/AlgoliaSearch.js +0 -195
  24. package/dist/cjs/AlphabeticList.js +0 -135
  25. package/dist/cjs/ArticleCarousel.js +0 -46
  26. package/dist/cjs/ArticleProgramLandingPage.js +0 -184
  27. package/dist/cjs/ArticleSeriesLandingPage.js +0 -162
  28. package/dist/cjs/ArticleSeriesListing.js +0 -315
  29. package/dist/cjs/AuthWrapper.js +0 -720
  30. package/dist/cjs/AuthorComponent-39b37d84.js +0 -96
  31. package/dist/cjs/Beam.js +0 -350
  32. package/dist/cjs/BlockContent-36e54d77.js +0 -916
  33. package/dist/cjs/Breadcrumbs.js +0 -107
  34. package/dist/cjs/CMEDeck.js +0 -443
  35. package/dist/cjs/Column1.js +0 -39
  36. package/dist/cjs/Column2.js +0 -75
  37. package/dist/cjs/Column3.js +0 -144
  38. package/dist/cjs/ConferenceArticleCard.js +0 -93
  39. package/dist/cjs/ConferenceBanner-6c9e718a.js +0 -24
  40. package/dist/cjs/ContentCardPaginated.js +0 -417
  41. package/dist/cjs/DeckContent.js +0 -507
  42. package/dist/cjs/DeckQueue.js +0 -403
  43. package/dist/cjs/DeckQueuePaginated.js +0 -348
  44. package/dist/cjs/Dfp-94f8ccdf.js +0 -103
  45. package/dist/cjs/EventsDeck.js +0 -857
  46. package/dist/cjs/ExternalResources.js +0 -217
  47. package/dist/cjs/Feature.js +0 -129
  48. package/dist/cjs/ForbesHero.js +0 -137
  49. package/dist/cjs/GridContent.js +0 -828
  50. package/dist/cjs/GridContentPaginated.js +0 -704
  51. package/dist/cjs/GridHero.js +0 -147
  52. package/dist/cjs/GroupDeck.js +0 -314
  53. package/dist/cjs/HamMagazine.js +0 -602
  54. package/dist/cjs/Header.js +0 -39
  55. package/dist/cjs/HealthCareProfessionalModal.js +0 -78
  56. package/dist/cjs/Hero.js +0 -48
  57. package/dist/cjs/HighlightenVideo.js +0 -69
  58. package/dist/cjs/HorizontalArticleListing.js +0 -165
  59. package/dist/cjs/HorizontalHero.js +0 -111
  60. package/dist/cjs/ImageSlider-a7fb6218.js +0 -182
  61. package/dist/cjs/IssueContentDeck.js +0 -241
  62. package/dist/cjs/IssueDeck.js +0 -268
  63. package/dist/cjs/IssueLanding.js +0 -172
  64. package/dist/cjs/KMTracker.js +0 -27
  65. package/dist/cjs/LeftNav.js +0 -145
  66. package/dist/cjs/MasterDeck.js +0 -555
  67. package/dist/cjs/MasterDeckPaginated.js +0 -469
  68. package/dist/cjs/MediaSeriesCard-36eab8b7.js +0 -9502
  69. package/dist/cjs/MediaSeriesLanding.js +0 -503
  70. package/dist/cjs/MediaSeriesLandingPaginated.js +0 -529
  71. package/dist/cjs/NavDvm.js +0 -245
  72. package/dist/cjs/NavFooter-3dcd99a8.js +0 -66
  73. package/dist/cjs/NavMagazine.js +0 -595
  74. package/dist/cjs/NavNative.js +0 -861
  75. package/dist/cjs/OncliveHero.js +0 -79
  76. package/dist/cjs/OncliveLargeHero.js +0 -241
  77. package/dist/cjs/PageFilter.js +0 -72
  78. package/dist/cjs/Pagination-1e0d5f1d.js +0 -90
  79. package/dist/cjs/PartnerDetailListing.js +0 -326
  80. package/dist/cjs/PartnerDetailListingPaginated.js +0 -318
  81. package/dist/cjs/PdfDownload.js +0 -28
  82. package/dist/cjs/PixelTracking.js +0 -165
  83. package/dist/cjs/PopUpModal.js +0 -58
  84. package/dist/cjs/PtceDeck.js +0 -149
  85. package/dist/cjs/PubSection.js +0 -120
  86. package/dist/cjs/PubToc.js +0 -87
  87. package/dist/cjs/PublicationDeck.js +0 -183
  88. package/dist/cjs/PublicationFeature-be5f3503.js +0 -130
  89. package/dist/cjs/PublicationLanding.js +0 -853
  90. package/dist/cjs/QueueDeckExpanded.js +0 -1540
  91. package/dist/cjs/QueueDeckExpandedPaginated.js +0 -1388
  92. package/dist/cjs/RecentNews.js +0 -91
  93. package/dist/cjs/RelatedContent.js +0 -114
  94. package/dist/cjs/RelatedTopicsDropdown.js +0 -90
  95. package/dist/cjs/RolesDeck.js +0 -94
  96. package/dist/cjs/Schema.js +0 -101
  97. package/dist/cjs/Search.js +0 -66
  98. package/dist/cjs/Segment.js +0 -403
  99. package/dist/cjs/SeriesListingDeck.js +0 -248
  100. package/dist/cjs/SeriesSlider-b94f1dd5.js +0 -332
  101. package/dist/cjs/SetCookie.js +0 -10
  102. package/dist/cjs/SideFooter.js +0 -151
  103. package/dist/cjs/SocialIcons.js +0 -103
  104. package/dist/cjs/SocialSearchComponent-b7faaedc.js +0 -213
  105. package/dist/cjs/SocialShare.js +0 -74
  106. package/dist/cjs/TaxonomyCard.js +0 -253
  107. package/dist/cjs/TaxonomyDescription.js +0 -205
  108. package/dist/cjs/TemplateNormal.js +0 -204
  109. package/dist/cjs/ThumbnailCard.js +0 -59
  110. package/dist/cjs/Ustream.js +0 -156
  111. package/dist/cjs/VerticalHero.js +0 -74
  112. package/dist/cjs/VideoProgramLandingPage.js +0 -260
  113. package/dist/cjs/VideoSeriesCard.js +0 -88
  114. package/dist/cjs/VideoSeriesFilter.js +0 -128
  115. package/dist/cjs/VideoSeriesLandingPage.js +0 -178
  116. package/dist/cjs/VideoSeriesListing.js +0 -422
  117. package/dist/cjs/View.js +0 -2601
  118. package/dist/cjs/YahooHero.js +0 -126
  119. package/dist/cjs/YoutubeGroup.js +0 -371
  120. package/dist/cjs/_commonjsHelpers-06173234.js +0 -25
  121. package/dist/cjs/_is-array-54228b29.js +0 -74
  122. package/dist/cjs/_iter-detect-b1df62f0.js +0 -52
  123. package/dist/cjs/_library-dd23b178.js +0 -5
  124. package/dist/cjs/_object-pie-083f2dd6.js +0 -16
  125. package/dist/cjs/_object-sap-d1978572.js +0 -16
  126. package/dist/cjs/_object-to-array-ce86cae7.js +0 -25
  127. package/dist/cjs/asyncToGenerator-77821af0.js +0 -1395
  128. package/dist/cjs/brightcove-react-player-loader.es-a195642e.js +0 -2232
  129. package/dist/cjs/core.get-iterator-method-5643aa10.js +0 -584
  130. package/dist/cjs/debounce-d4a2369b.js +0 -216
  131. package/dist/cjs/define-property-e8404b64.js +0 -20
  132. package/dist/cjs/defineProperty-9673846a.js +0 -34
  133. package/dist/cjs/entities-3f9d0f2f.js +0 -506
  134. package/dist/cjs/eq-5fc26c07.js +0 -79
  135. package/dist/cjs/extends-7c86182f.js +0 -87
  136. package/dist/cjs/faundadb.js +0 -644
  137. package/dist/cjs/get-5839e5b5.js +0 -920
  138. package/dist/cjs/getContentCategory-f38a4c00.js +0 -11
  139. package/dist/cjs/getKeywords.js +0 -46
  140. package/dist/cjs/getPtceActivities.js +0 -89
  141. package/dist/cjs/getQuery.js +0 -28
  142. package/dist/cjs/getRelatedArticle.js +0 -747
  143. package/dist/cjs/getRootDocGroup.js +0 -62
  144. package/dist/cjs/getSerializers.js +0 -64
  145. package/dist/cjs/getSeriesDetail.js +0 -40
  146. package/dist/cjs/getTargeting-4439c99d.js +0 -164
  147. package/dist/cjs/getTargeting.js +0 -13
  148. package/dist/cjs/iconBase-be4097c0.js +0 -106
  149. package/dist/cjs/index-0e4427c8.js +0 -1683
  150. package/dist/cjs/index-187c967e.js +0 -54
  151. package/dist/cjs/index-7361fa72.js +0 -11305
  152. package/dist/cjs/index-eadd5035.js +0 -613
  153. package/dist/cjs/index-efca863c.js +0 -556
  154. package/dist/cjs/index-f86bb269.js +0 -1571
  155. package/dist/cjs/index.es-f3e47207.js +0 -445
  156. package/dist/cjs/index.esm-2bb721c8.js +0 -96
  157. package/dist/cjs/index.esm-c1e16606.js +0 -13
  158. package/dist/cjs/index.esm-d51c9ac6.js +0 -25
  159. package/dist/cjs/index.esm-d81454e7.js +0 -19
  160. package/dist/cjs/index.js +0 -635
  161. package/dist/cjs/inherits-de66ea16.js +0 -188
  162. package/dist/cjs/isSymbol-03abbdf0.js +0 -209
  163. package/dist/cjs/js.cookie-a511c430.js +0 -160
  164. package/dist/cjs/keys-e982b3fa.js +0 -25
  165. package/dist/cjs/lodash-f0783643.js +0 -17195
  166. package/dist/cjs/main-f1c77adb.js +0 -973
  167. package/dist/cjs/moment-aca40de1.js +0 -5669
  168. package/dist/cjs/react-social-icons-af932527.js +0 -616
  169. package/dist/cjs/slicedToArray-067dd3bc.js +0 -95
  170. package/dist/cjs/smoothscroll-99df7f93.js +0 -438
  171. package/dist/cjs/stringify-f7a37a8d.js +0 -17
  172. package/dist/cjs/style-inject.es-dcee06b6.js +0 -30
  173. package/dist/cjs/timeDifferenceCalc.js +0 -39
  174. package/dist/cjs/toConsumableArray-d7797c2b.js +0 -74
  175. package/dist/cjs/toNumber-5e1fac58.js +0 -104
  176. package/dist/cjs/typeof-567e31ff.js +0 -382
  177. package/dist/cjs/urlFor.js +0 -65
  178. package/dist/cjs/urlForFile-29d3815a.js +0 -24
  179. package/dist/cjs/ustream-api-3819e4aa.js +0 -106
  180. package/dist/cjs/visibility-sensor-eb2c5b69.js +0 -597
  181. package/dist/cjs/web.dom.iterable-d98303e0.js +0 -50
  182. package/dist/esm/AD.js +0 -26
  183. package/dist/esm/AD300x250.js +0 -89
  184. package/dist/esm/AD300x250x600.js +0 -106
  185. package/dist/esm/AD728x90.js +0 -103
  186. package/dist/esm/ADFloatingFooter.js +0 -137
  187. package/dist/esm/ADFooter.js +0 -47
  188. package/dist/esm/ADGutter.js +0 -109
  189. package/dist/esm/ADInfeed-f684cac9.js +0 -59
  190. package/dist/esm/ADSkyscraper.js +0 -111
  191. package/dist/esm/ADSponsoredResources.js +0 -108
  192. package/dist/esm/ADWebcast.js +0 -113
  193. package/dist/esm/ADWelcome.js +0 -160
  194. package/dist/esm/ADlgInfeed-8c438cee.js +0 -54
  195. package/dist/esm/AccordionPanel.js +0 -87
  196. package/dist/esm/AdSlot.js +0 -244
  197. package/dist/esm/AdSlotsProvider.js +0 -176
  198. package/dist/esm/AlgoliaSearch.js +0 -188
  199. package/dist/esm/AlphabeticList.js +0 -129
  200. package/dist/esm/ArticleCarousel.js +0 -40
  201. package/dist/esm/ArticleProgramLandingPage.js +0 -178
  202. package/dist/esm/ArticleSeriesLandingPage.js +0 -156
  203. package/dist/esm/ArticleSeriesListing.js +0 -308
  204. package/dist/esm/AuthWrapper.js +0 -714
  205. package/dist/esm/AuthorComponent-defe68b6.js +0 -90
  206. package/dist/esm/Beam.js +0 -348
  207. package/dist/esm/BlockContent-c99c9a8d.js +0 -909
  208. package/dist/esm/Breadcrumbs.js +0 -100
  209. package/dist/esm/CMEDeck.js +0 -437
  210. package/dist/esm/Column1.js +0 -29
  211. package/dist/esm/Column2.js +0 -65
  212. package/dist/esm/Column3.js +0 -134
  213. package/dist/esm/ConferenceArticleCard.js +0 -87
  214. package/dist/esm/ConferenceBanner-8792ebd2.js +0 -18
  215. package/dist/esm/ContentCardPaginated.js +0 -406
  216. package/dist/esm/DeckContent.js +0 -497
  217. package/dist/esm/DeckQueue.js +0 -393
  218. package/dist/esm/DeckQueuePaginated.js +0 -337
  219. package/dist/esm/Dfp-4b99f79d.js +0 -96
  220. package/dist/esm/EventsDeck.js +0 -844
  221. package/dist/esm/ExternalResources.js +0 -210
  222. package/dist/esm/Feature.js +0 -122
  223. package/dist/esm/ForbesHero.js +0 -131
  224. package/dist/esm/GridContent.js +0 -818
  225. package/dist/esm/GridContentPaginated.js +0 -693
  226. package/dist/esm/GridHero.js +0 -141
  227. package/dist/esm/GroupDeck.js +0 -308
  228. package/dist/esm/HamMagazine.js +0 -590
  229. package/dist/esm/Header.js +0 -30
  230. package/dist/esm/HealthCareProfessionalModal.js +0 -70
  231. package/dist/esm/Hero.js +0 -42
  232. package/dist/esm/HighlightenVideo.js +0 -63
  233. package/dist/esm/HorizontalArticleListing.js +0 -159
  234. package/dist/esm/HorizontalHero.js +0 -105
  235. package/dist/esm/ImageSlider-eab2fe41.js +0 -176
  236. package/dist/esm/IssueContentDeck.js +0 -231
  237. package/dist/esm/IssueDeck.js +0 -258
  238. package/dist/esm/IssueLanding.js +0 -166
  239. package/dist/esm/KMTracker.js +0 -25
  240. package/dist/esm/LeftNav.js +0 -136
  241. package/dist/esm/MasterDeck.js +0 -548
  242. package/dist/esm/MasterDeckPaginated.js +0 -461
  243. package/dist/esm/MediaSeriesCard-99048e65.js +0 -9492
  244. package/dist/esm/MediaSeriesLanding.js +0 -496
  245. package/dist/esm/MediaSeriesLandingPaginated.js +0 -522
  246. package/dist/esm/NavDvm.js +0 -233
  247. package/dist/esm/NavFooter-e27bd93b.js +0 -60
  248. package/dist/esm/NavMagazine.js +0 -583
  249. package/dist/esm/NavNative.js +0 -846
  250. package/dist/esm/OncliveHero.js +0 -73
  251. package/dist/esm/OncliveLargeHero.js +0 -235
  252. package/dist/esm/PageFilter.js +0 -66
  253. package/dist/esm/Pagination-cd21f8c2.js +0 -82
  254. package/dist/esm/PartnerDetailListing.js +0 -320
  255. package/dist/esm/PartnerDetailListingPaginated.js +0 -312
  256. package/dist/esm/PdfDownload.js +0 -22
  257. package/dist/esm/PixelTracking.js +0 -156
  258. package/dist/esm/PopUpModal.js +0 -51
  259. package/dist/esm/PtceDeck.js +0 -143
  260. package/dist/esm/PubSection.js +0 -114
  261. package/dist/esm/PubToc.js +0 -81
  262. package/dist/esm/PublicationDeck.js +0 -173
  263. package/dist/esm/PublicationFeature-03500094.js +0 -121
  264. package/dist/esm/PublicationLanding.js +0 -843
  265. package/dist/esm/QueueDeckExpanded.js +0 -1534
  266. package/dist/esm/QueueDeckExpandedPaginated.js +0 -1382
  267. package/dist/esm/RecentNews.js +0 -85
  268. package/dist/esm/RelatedContent.js +0 -108
  269. package/dist/esm/RelatedTopicsDropdown.js +0 -82
  270. package/dist/esm/RolesDeck.js +0 -84
  271. package/dist/esm/Schema.js +0 -95
  272. package/dist/esm/Search.js +0 -57
  273. package/dist/esm/Segment.js +0 -401
  274. package/dist/esm/SeriesListingDeck.js +0 -242
  275. package/dist/esm/SeriesSlider-609f9d94.js +0 -326
  276. package/dist/esm/SetCookie.js +0 -8
  277. package/dist/esm/SideFooter.js +0 -145
  278. package/dist/esm/SocialIcons.js +0 -97
  279. package/dist/esm/SocialSearchComponent-1d8a9f59.js +0 -204
  280. package/dist/esm/SocialShare.js +0 -67
  281. package/dist/esm/TaxonomyCard.js +0 -243
  282. package/dist/esm/TaxonomyDescription.js +0 -198
  283. package/dist/esm/TemplateNormal.js +0 -197
  284. package/dist/esm/ThumbnailCard.js +0 -52
  285. package/dist/esm/Ustream.js +0 -150
  286. package/dist/esm/VerticalHero.js +0 -68
  287. package/dist/esm/VideoProgramLandingPage.js +0 -251
  288. package/dist/esm/VideoSeriesCard.js +0 -82
  289. package/dist/esm/VideoSeriesFilter.js +0 -122
  290. package/dist/esm/VideoSeriesLandingPage.js +0 -172
  291. package/dist/esm/VideoSeriesListing.js +0 -415
  292. package/dist/esm/View.js +0 -2590
  293. package/dist/esm/YahooHero.js +0 -120
  294. package/dist/esm/YoutubeGroup.js +0 -365
  295. package/dist/esm/_commonjsHelpers-0c4b6f40.js +0 -19
  296. package/dist/esm/_is-array-893ab020.js +0 -71
  297. package/dist/esm/_iter-detect-f089461c.js +0 -48
  298. package/dist/esm/_library-528f1934.js +0 -3
  299. package/dist/esm/_object-pie-133f504a.js +0 -13
  300. package/dist/esm/_object-sap-169d6272.js +0 -14
  301. package/dist/esm/_object-to-array-50a6b9a3.js +0 -23
  302. package/dist/esm/asyncToGenerator-9716ae8d.js +0 -1387
  303. package/dist/esm/brightcove-react-player-loader.es-57a70a56.js +0 -2226
  304. package/dist/esm/core.get-iterator-method-e903ff31.js +0 -547
  305. package/dist/esm/debounce-533d9748.js +0 -214
  306. package/dist/esm/define-property-99e66838.js +0 -18
  307. package/dist/esm/defineProperty-8fa0bc8d.js +0 -32
  308. package/dist/esm/entities-932b50cf.js +0 -503
  309. package/dist/esm/eq-bdcbf886.js +0 -76
  310. package/dist/esm/extends-dc6a71fd.js +0 -83
  311. package/dist/esm/faundadb.js +0 -636
  312. package/dist/esm/get-3c308da4.js +0 -918
  313. package/dist/esm/getContentCategory-15dcc413.js +0 -9
  314. package/dist/esm/getKeywords.js +0 -44
  315. package/dist/esm/getPtceActivities.js +0 -87
  316. package/dist/esm/getQuery.js +0 -26
  317. package/dist/esm/getRelatedArticle.js +0 -745
  318. package/dist/esm/getRootDocGroup.js +0 -60
  319. package/dist/esm/getSerializers.js +0 -58
  320. package/dist/esm/getSeriesDetail.js +0 -38
  321. package/dist/esm/getTargeting-db566006.js +0 -161
  322. package/dist/esm/getTargeting.js +0 -7
  323. package/dist/esm/iconBase-ccc56b97.js +0 -81
  324. package/dist/esm/index-0dbff1d1.js +0 -553
  325. package/dist/esm/index-5cc7b406.js +0 -1674
  326. package/dist/esm/index-755f2cc2.js +0 -605
  327. package/dist/esm/index-79cfd25c.js +0 -1569
  328. package/dist/esm/index-c60f3bb6.js +0 -11284
  329. package/dist/esm/index-c7e2ac95.js +0 -52
  330. package/dist/esm/index.es-a6137319.js +0 -439
  331. package/dist/esm/index.esm-1bd8a0a8.js +0 -18
  332. package/dist/esm/index.esm-37268dca.js +0 -89
  333. package/dist/esm/index.esm-9b042655.js +0 -10
  334. package/dist/esm/index.esm-eb1e8e80.js +0 -14
  335. package/dist/esm/index.js +0 -529
  336. package/dist/esm/inherits-8a801a18.js +0 -179
  337. package/dist/esm/isSymbol-a7e9aafe.js +0 -203
  338. package/dist/esm/js.cookie-6874175c.js +0 -158
  339. package/dist/esm/keys-425c8ab0.js +0 -23
  340. package/dist/esm/lodash-f97fd99a.js +0 -17193
  341. package/dist/esm/main-1894c974.js +0 -961
  342. package/dist/esm/moment-bc12cb97.js +0 -5667
  343. package/dist/esm/react-social-icons-9be47857.js +0 -609
  344. package/dist/esm/slicedToArray-ca2c8b8d.js +0 -92
  345. package/dist/esm/smoothscroll-fa4e3f8c.js +0 -436
  346. package/dist/esm/stringify-c21932b3.js +0 -15
  347. package/dist/esm/style-inject.es-1f59c1d0.js +0 -28
  348. package/dist/esm/timeDifferenceCalc.js +0 -37
  349. package/dist/esm/toConsumableArray-7b1c0e23.js +0 -71
  350. package/dist/esm/toNumber-5aeba6e7.js +0 -102
  351. package/dist/esm/typeof-83d9eb10.js +0 -378
  352. package/dist/esm/urlFor.js +0 -63
  353. package/dist/esm/urlForFile-413f5ddb.js +0 -22
  354. package/dist/esm/ustream-api-41166338.js +0 -104
  355. package/dist/esm/visibility-sensor-72fd8f8b.js +0 -590
  356. package/dist/esm/web.dom.iterable-fdf034f5.js +0 -48
@@ -1,909 +0,0 @@
1
- import React__default from 'react';
2
- import PropTypes from 'prop-types';
3
- import { n as node } from './index-0dbff1d1.js';
4
-
5
- /*
6
- object-assign
7
- (c) Sindre Sorhus
8
- @license MIT
9
- */
10
- /* eslint-disable no-unused-vars */
11
- var getOwnPropertySymbols = Object.getOwnPropertySymbols;
12
- var hasOwnProperty = Object.prototype.hasOwnProperty;
13
- var propIsEnumerable = Object.prototype.propertyIsEnumerable;
14
-
15
- function toObject(val) {
16
- if (val === null || val === undefined) {
17
- throw new TypeError('Object.assign cannot be called with null or undefined');
18
- }
19
-
20
- return Object(val);
21
- }
22
-
23
- function shouldUseNative() {
24
- try {
25
- if (!Object.assign) {
26
- return false;
27
- }
28
-
29
- // Detect buggy property enumeration order in older V8 versions.
30
-
31
- // https://bugs.chromium.org/p/v8/issues/detail?id=4118
32
- var test1 = new String('abc'); // eslint-disable-line no-new-wrappers
33
- test1[5] = 'de';
34
- if (Object.getOwnPropertyNames(test1)[0] === '5') {
35
- return false;
36
- }
37
-
38
- // https://bugs.chromium.org/p/v8/issues/detail?id=3056
39
- var test2 = {};
40
- for (var i = 0; i < 10; i++) {
41
- test2['_' + String.fromCharCode(i)] = i;
42
- }
43
- var order2 = Object.getOwnPropertyNames(test2).map(function (n) {
44
- return test2[n];
45
- });
46
- if (order2.join('') !== '0123456789') {
47
- return false;
48
- }
49
-
50
- // https://bugs.chromium.org/p/v8/issues/detail?id=3056
51
- var test3 = {};
52
- 'abcdefghijklmnopqrst'.split('').forEach(function (letter) {
53
- test3[letter] = letter;
54
- });
55
- if (Object.keys(Object.assign({}, test3)).join('') !==
56
- 'abcdefghijklmnopqrst') {
57
- return false;
58
- }
59
-
60
- return true;
61
- } catch (err) {
62
- // We don't expect any of the above to throw, but better to be safe.
63
- return false;
64
- }
65
- }
66
-
67
- var objectAssign = shouldUseNative() ? Object.assign : function (target, source) {
68
- var from;
69
- var to = toObject(target);
70
- var symbols;
71
-
72
- for (var s = 1; s < arguments.length; s++) {
73
- from = Object(arguments[s]);
74
-
75
- for (var key in from) {
76
- if (hasOwnProperty.call(from, key)) {
77
- to[key] = from[key];
78
- }
79
- }
80
-
81
- if (getOwnPropertySymbols) {
82
- symbols = getOwnPropertySymbols(from);
83
- for (var i = 0; i < symbols.length; i++) {
84
- if (propIsEnumerable.call(from, symbols[i])) {
85
- to[symbols[i]] = from[symbols[i]];
86
- }
87
- }
88
- }
89
- }
90
-
91
- return to;
92
- };
93
-
94
- var baseUrl = 'https://docs.sanity.io/help/';
95
-
96
- var generateHelpUrl = function generateHelpUrl(slug) {
97
- return baseUrl + slug
98
- };
99
-
100
- var enc = encodeURIComponent;
101
- var materializeError = "You must either:\n - Pass `projectId` and `dataset` to the block renderer\n - Materialize images to include the `url` field.\n\nFor more information, see ".concat(generateHelpUrl('block-content-image-materializing'));
102
-
103
- var getQueryString = function getQueryString(options) {
104
- var query = options.imageOptions;
105
- var keys = Object.keys(query);
106
-
107
- if (!keys.length) {
108
- return '';
109
- }
110
-
111
- var params = keys.map(function (key) {
112
- return "".concat(enc(key), "=").concat(enc(query[key]));
113
- });
114
- return "?".concat(params.join('&'));
115
- };
116
-
117
- var buildUrl = function buildUrl(props) {
118
- var node$1 = props.node,
119
- options = props.options;
120
- var projectId = options.projectId,
121
- dataset = options.dataset;
122
- var asset = node$1.asset;
123
-
124
- if (!asset) {
125
- throw new Error('Image does not have required `asset` property');
126
- }
127
-
128
- if (asset.url) {
129
- return asset.url + getQueryString(options);
130
- }
131
-
132
- if (!projectId || !dataset) {
133
- throw new Error(materializeError);
134
- }
135
-
136
- var ref = asset._ref;
137
-
138
- if (!ref) {
139
- throw new Error('Invalid image reference in block, no `_ref` found on `asset`');
140
- }
141
-
142
- return node(objectAssign({
143
- projectId: projectId,
144
- dataset: dataset
145
- }, options.imageOptions || {})).image(node$1).toString();
146
- };
147
-
148
- var getImageUrl$1 = buildUrl;
149
-
150
- var serializers$1 = function (h, serializerOpts) {
151
- var serializeOptions = serializerOpts || {
152
- useDashedStyles: false // Low-level block serializer
153
-
154
- };
155
-
156
- function BlockSerializer(props) {
157
- var node = props.node,
158
- serializers = props.serializers,
159
- options = props.options,
160
- isInline = props.isInline,
161
- children = props.children;
162
- var blockType = node._type;
163
- var serializer = serializers.types[blockType];
164
-
165
- if (!serializer) {
166
- throw new Error("Unknown block type \"".concat(blockType, "\", please specify a serializer for it in the `serializers.types` prop"));
167
- }
168
-
169
- return h(serializer, {
170
- node: node,
171
- options: options,
172
- isInline: isInline
173
- }, children);
174
- } // Low-level span serializer
175
-
176
-
177
- function SpanSerializer(props) {
178
- var _props$node = props.node,
179
- mark = _props$node.mark,
180
- children = _props$node.children;
181
- var isPlain = typeof mark === 'string';
182
- var markType = isPlain ? mark : mark._type;
183
- var serializer = props.serializers.marks[markType];
184
-
185
- if (!serializer) {
186
- // @todo Revert back to throwing errors?
187
- // eslint-disable-next-line no-console
188
- console.warn("Unknown mark type \"".concat(markType, "\", please specify a serializer for it in the `serializers.marks` prop"));
189
- return h(props.serializers.markFallback, null, children);
190
- }
191
-
192
- return h(serializer, props.node, children);
193
- } // Low-level list serializer
194
-
195
-
196
- function ListSerializer(props) {
197
- var tag = props.type === 'bullet' ? 'ul' : 'ol';
198
- return h(tag, null, props.children);
199
- } // Low-level list item serializer
200
-
201
-
202
- function ListItemSerializer(props) {
203
- var children = !props.node.style || props.node.style === 'normal' ? // Don't wrap plain text in paragraphs inside of a list item
204
- props.children : // But wrap any other style in whatever the block serializer says to use
205
- h(props.serializers.types.block, props, props.children);
206
- return h('li', null, children);
207
- } // Renderer of an actual block of type `block`. Confusing, we know.
208
-
209
-
210
- function BlockTypeSerializer(props) {
211
- var style = props.node.style || 'normal';
212
-
213
- if (/^h\d/.test(style)) {
214
- return h(style, null, props.children);
215
- }
216
-
217
- return style === 'blockquote' ? h('blockquote', null, props.children) : h('p', null, props.children);
218
- } // Serializers for things that can be directly attributed to a tag without any props
219
- // We use partial application to do this, passing the tag name as the first argument
220
-
221
-
222
- function RawMarkSerializer(tag, props) {
223
- return h(tag, null, props.children);
224
- }
225
-
226
- function UnderlineSerializer(props) {
227
- var style = serializeOptions.useDashedStyles ? {
228
- 'text-decoration': 'underline'
229
- } : {
230
- textDecoration: 'underline'
231
- };
232
- return h('span', {
233
- style: style
234
- }, props.children);
235
- }
236
-
237
- function StrikeThroughSerializer(props) {
238
- return h('del', null, props.children);
239
- }
240
-
241
- function LinkSerializer(props) {
242
- return h('a', {
243
- href: props.mark.href
244
- }, props.children);
245
- }
246
-
247
- function ImageSerializer(props) {
248
- if (!props.node.asset) {
249
- return null;
250
- }
251
-
252
- var img = h('img', {
253
- src: getImageUrl$1(props)
254
- });
255
- return props.isInline ? img : h('figure', null, img);
256
- } // Serializer that recursively calls itself, producing a hyperscript tree of spans
257
-
258
-
259
- function serializeSpan(span, serializers, index, options) {
260
- if (span === '\n' && serializers.hardBreak) {
261
- return h(serializers.hardBreak, {
262
- key: "hb-".concat(index)
263
- });
264
- }
265
-
266
- if (typeof span === 'string') {
267
- return serializers.text ? h(serializers.text, {
268
- key: "text-".concat(index)
269
- }, span) : span;
270
- }
271
-
272
- var children;
273
-
274
- if (span.children) {
275
- children = {
276
- children: span.children.map(function (child, i) {
277
- return options.serializeNode(child, i, span.children, true);
278
- })
279
- };
280
- }
281
-
282
- var serializedNode = objectAssign({}, span, children);
283
- return h(serializers.span, {
284
- key: span._key || "span-".concat(index),
285
- node: serializedNode,
286
- serializers: serializers
287
- });
288
- }
289
-
290
- var HardBreakSerializer = function HardBreakSerializer() {
291
- return h('br');
292
- };
293
-
294
- var defaultMarkSerializers = {
295
- strong: RawMarkSerializer.bind(null, 'strong'),
296
- em: RawMarkSerializer.bind(null, 'em'),
297
- code: RawMarkSerializer.bind(null, 'code'),
298
- underline: UnderlineSerializer,
299
- 'strike-through': StrikeThroughSerializer,
300
- link: LinkSerializer
301
- };
302
- var defaultSerializers = {
303
- // Common overrides
304
- types: {
305
- block: BlockTypeSerializer,
306
- image: ImageSerializer
307
- },
308
- marks: defaultMarkSerializers,
309
- // Less common overrides
310
- list: ListSerializer,
311
- listItem: ListItemSerializer,
312
- block: BlockSerializer,
313
- span: SpanSerializer,
314
- hardBreak: HardBreakSerializer,
315
- // Container element
316
- container: 'div',
317
- // When we can't resolve the mark properly, use this renderer as the container
318
- markFallback: 'span',
319
- // Allow overriding text renderer, but leave undefined to just use plain strings by default
320
- text: undefined,
321
- // Empty nodes (React uses null, hyperscript with empty strings)
322
- empty: ''
323
- };
324
- return {
325
- defaultSerializers: defaultSerializers,
326
- serializeSpan: serializeSpan
327
- };
328
- };
329
-
330
- var defaultMarks = ['strong', 'em', 'code', 'underline', 'strike-through'];
331
-
332
- var buildMarksTree = function buildMarksTree(block) {
333
- var children = block.children,
334
- markDefs = block.markDefs;
335
-
336
- if (!children || !children.length) {
337
- return [];
338
- }
339
-
340
- var sortedMarks = children.map(sortMarksByOccurences);
341
- var rootNode = {
342
- _type: 'span',
343
- children: []
344
- };
345
- var nodeStack = [rootNode];
346
- children.forEach(function (span, i) {
347
- var marksNeeded = sortedMarks[i];
348
-
349
- if (!marksNeeded) {
350
- var lastNode = nodeStack[nodeStack.length - 1];
351
- lastNode.children.push(span);
352
- return;
353
- }
354
-
355
- var pos = 1; // Start at position one. Root is always plain and should never be removed. (?)
356
-
357
- if (nodeStack.length > 1) {
358
- for (pos; pos < nodeStack.length; pos++) {
359
- var mark = nodeStack[pos].markKey;
360
- var index = marksNeeded.indexOf(mark); // eslint-disable-next-line max-depth
361
-
362
- if (index === -1) {
363
- break;
364
- }
365
-
366
- marksNeeded.splice(index, 1);
367
- }
368
- } // Keep from beginning to first miss
369
-
370
-
371
- nodeStack = nodeStack.slice(0, pos); // Add needed nodes
372
-
373
- var currentNode = findLastParentNode(nodeStack);
374
- marksNeeded.forEach(function (mark) {
375
- var node = {
376
- _type: 'span',
377
- _key: span._key,
378
- children: [],
379
- mark: markDefs.find(function (def) {
380
- return def._key === mark;
381
- }) || mark,
382
- markKey: mark
383
- };
384
- currentNode.children.push(node);
385
- nodeStack.push(node);
386
- currentNode = node;
387
- }); // Split at newlines to make individual line chunks, but keep newline
388
- // characters as individual elements in the array. We use these characters
389
- // in the span serializer to trigger hard-break rendering
390
-
391
- if (isTextSpan(span)) {
392
- var lines = span.text.split('\n');
393
-
394
- for (var line = lines.length; line-- > 1;) {
395
- lines.splice(line, 0, '\n');
396
- }
397
-
398
- currentNode.children = currentNode.children.concat(lines);
399
- } else {
400
- currentNode.children = currentNode.children.concat(span);
401
- }
402
- });
403
- return rootNode.children;
404
- }; // We want to sort all the marks of all the spans in the following order:
405
- // 1. Marks that are shared amongst the most adjacent siblings
406
- // 2. Non-default marks (links, custom metadata)
407
- // 3. Built-in, plain marks (bold, emphasis, code etc)
408
-
409
-
410
- function sortMarksByOccurences(span, i, spans) {
411
- if (!span.marks || span.marks.length === 0) {
412
- return span.marks || [];
413
- }
414
-
415
- var markOccurences = span.marks.reduce(function (occurences, mark) {
416
- occurences[mark] = occurences[mark] ? occurences[mark] + 1 : 1;
417
-
418
- for (var siblingIndex = i + 1; siblingIndex < spans.length; siblingIndex++) {
419
- var sibling = spans[siblingIndex];
420
-
421
- if (sibling.marks && Array.isArray(sibling.marks) && sibling.marks.indexOf(mark) !== -1) {
422
- occurences[mark]++;
423
- } else {
424
- break;
425
- }
426
- }
427
-
428
- return occurences;
429
- }, {});
430
- var sortByOccurence = sortMarks.bind(null, markOccurences); // Slicing because sort() mutates the input
431
-
432
- return span.marks.slice().sort(sortByOccurence);
433
- }
434
-
435
- function sortMarks(occurences, markA, markB) {
436
- var aOccurences = occurences[markA] || 0;
437
- var bOccurences = occurences[markB] || 0;
438
-
439
- if (aOccurences !== bOccurences) {
440
- return bOccurences - aOccurences;
441
- }
442
-
443
- var aDefaultPos = defaultMarks.indexOf(markA);
444
- var bDefaultPos = defaultMarks.indexOf(markB); // Sort default marks last
445
-
446
- if (aDefaultPos !== bDefaultPos) {
447
- return aDefaultPos - bDefaultPos;
448
- } // Sort other marks simply by key
449
-
450
-
451
- if (markA < markB) {
452
- return -1;
453
- } else if (markA > markB) {
454
- return 1;
455
- }
456
-
457
- return 0;
458
- }
459
-
460
- function isTextSpan(node) {
461
- return node._type === 'span' && typeof node.text === 'string' && (Array.isArray(node.marks) || typeof node.marks === 'undefined');
462
- }
463
-
464
- function findLastParentNode(nodes) {
465
- for (var i = nodes.length - 1; i >= 0; i--) {
466
- var node = nodes[i];
467
-
468
- if (node._type === 'span' && node.children) {
469
- return node;
470
- }
471
- }
472
-
473
- return undefined;
474
- }
475
-
476
- var buildMarksTree_1 = buildMarksTree;
477
-
478
- /* eslint-disable max-depth, complexity */
479
-
480
-
481
- function nestLists(blocks) {
482
- var mode = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : 'html';
483
- var tree = [];
484
- var currentList;
485
-
486
- for (var i = 0; i < blocks.length; i++) {
487
- var block = blocks[i];
488
-
489
- if (!isListBlock(block)) {
490
- tree.push(block);
491
- currentList = null;
492
- continue;
493
- } // Start of a new list?
494
-
495
-
496
- if (!currentList) {
497
- currentList = listFromBlock(block);
498
- tree.push(currentList);
499
- continue;
500
- } // New list item within same list?
501
-
502
-
503
- if (blockMatchesList(block, currentList)) {
504
- currentList.children.push(block);
505
- continue;
506
- } // Different list props, are we going deeper?
507
-
508
-
509
- if (block.level > currentList.level) {
510
- var newList = listFromBlock(block);
511
-
512
- if (mode === 'html') {
513
- // Because HTML is kinda weird, nested lists needs to be nested within list items
514
- // So while you would think that we could populate the parent list with a new sub-list,
515
- // We actually have to target the last list element (child) of the parent.
516
- // However, at this point we need to be very careful - simply pushing to the list of children
517
- // will mutate the input, and we don't want to blindly clone the entire tree.
518
- // Clone the last child while adding our new list as the last child of it
519
- var lastListItem = lastChild(currentList);
520
- var newLastChild = objectAssign({}, lastListItem, {
521
- children: lastListItem.children.concat(newList)
522
- }); // Swap the last child
523
-
524
- currentList.children[currentList.children.length - 1] = newLastChild;
525
- } else {
526
- currentList.children.push(newList);
527
- } // Set the newly created, deeper list as the current
528
-
529
-
530
- currentList = newList;
531
- continue;
532
- } // Different list props, are we going back up the tree?
533
-
534
-
535
- if (block.level < currentList.level) {
536
- // Current list has ended, and we need to hook up with a parent of the same level and type
537
- var match = findListMatching(tree[tree.length - 1], block);
538
-
539
- if (match) {
540
- currentList = match;
541
- currentList.children.push(block);
542
- continue;
543
- } // Similar parent can't be found, assume new list
544
-
545
-
546
- currentList = listFromBlock(block);
547
- tree.push(currentList);
548
- continue;
549
- } // Different list props, different list style?
550
-
551
-
552
- if (block.listItem !== currentList.listItem) {
553
- var _match = findListMatching(tree[tree.length - 1], {
554
- level: block.level
555
- });
556
-
557
- if (_match && _match.listItem === block.listItem) {
558
- currentList = _match;
559
- currentList.children.push(block);
560
- continue;
561
- } else {
562
- currentList = listFromBlock(block);
563
- tree.push(currentList);
564
- continue;
565
- }
566
- } // eslint-disable-next-line no-console
567
-
568
-
569
- console.warn('Unknown state encountered for block', block);
570
- tree.push(block);
571
- }
572
-
573
- return tree;
574
- }
575
-
576
- function isListBlock(block) {
577
- return Boolean(block.listItem);
578
- }
579
-
580
- function blockMatchesList(block, list) {
581
- return block.level === list.level && block.listItem === list.listItem;
582
- }
583
-
584
- function listFromBlock(block) {
585
- return {
586
- _type: 'list',
587
- _key: "".concat(block._key, "-parent"),
588
- level: block.level,
589
- listItem: block.listItem,
590
- children: [block]
591
- };
592
- }
593
-
594
- function lastChild(block) {
595
- return block.children && block.children[block.children.length - 1];
596
- }
597
-
598
- function findListMatching(rootNode, matching) {
599
- var filterOnType = typeof matching.listItem === 'string';
600
-
601
- if (rootNode._type === 'list' && rootNode.level === matching.level && filterOnType && rootNode.listItem === matching.listItem) {
602
- return rootNode;
603
- }
604
-
605
- var node = lastChild(rootNode);
606
-
607
- if (!node) {
608
- return false;
609
- }
610
-
611
- return findListMatching(node, matching);
612
- }
613
-
614
- var nestLists_1 = nestLists;
615
-
616
- var generateKeys = function (blocks) {
617
- return blocks.map(function (block) {
618
- if (block._key) {
619
- return block;
620
- }
621
-
622
- return objectAssign({
623
- _key: getStaticKey(block)
624
- }, block);
625
- });
626
- };
627
-
628
- function getStaticKey(item) {
629
- return checksum(JSON.stringify(item)).toString(36).replace(/[^A-Za-z0-9]/g, '');
630
- }
631
- /* eslint-disable no-bitwise */
632
-
633
-
634
- function checksum(str) {
635
- var hash = 0;
636
- var strlen = str.length;
637
-
638
- if (strlen === 0) {
639
- return hash;
640
- }
641
-
642
- for (var i = 0; i < strlen; i++) {
643
- hash = (hash << 5) - hash + str.charCodeAt(i);
644
- hash &= hash; // Convert to 32bit integer
645
- }
646
-
647
- return hash;
648
- }
649
-
650
- function _typeof(obj) { if (typeof Symbol === "function" && typeof Symbol.iterator === "symbol") { _typeof = function _typeof(obj) { return typeof obj; }; } else { _typeof = function _typeof(obj) { return obj && typeof Symbol === "function" && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; }; } return _typeof(obj); }
651
-
652
-
653
-
654
- var isDefined$1 = function isDefined(val) {
655
- return typeof val !== 'undefined';
656
- }; // Recursively merge/replace default serializers with user-specified serializers
657
-
658
-
659
- var mergeSerializers$1 = function mergeSerializers(defaultSerializers, userSerializers) {
660
- return Object.keys(defaultSerializers).reduce(function (acc, key) {
661
- var type = _typeof(defaultSerializers[key]);
662
-
663
- if (type === 'function') {
664
- acc[key] = isDefined$1(userSerializers[key]) ? userSerializers[key] : defaultSerializers[key];
665
- } else if (type === 'object') {
666
- acc[key] = objectAssign({}, defaultSerializers[key], userSerializers[key]);
667
- } else {
668
- acc[key] = typeof userSerializers[key] === 'undefined' ? defaultSerializers[key] : userSerializers[key];
669
- }
670
-
671
- return acc;
672
- }, {});
673
- };
674
-
675
- // Properties to extract from props and pass to serializers as options
676
-
677
-
678
- var optionProps = ['projectId', 'dataset', 'imageOptions'];
679
-
680
- var isDefined = function isDefined(val) {
681
- return typeof val !== 'undefined';
682
- };
683
-
684
- var defaults = {
685
- imageOptions: {}
686
- };
687
-
688
- function blocksToNodes$1(h, properties, defaultSerializers, serializeSpan) {
689
- var props = objectAssign({}, defaults, properties);
690
- var rawBlocks = Array.isArray(props.blocks) ? props.blocks : [props.blocks];
691
- var keyedBlocks = generateKeys(rawBlocks);
692
- var blocks = nestLists_1(keyedBlocks, props.listNestMode);
693
- var serializers = mergeSerializers$1(defaultSerializers, props.serializers || {});
694
- var options = optionProps.reduce(function (opts, key) {
695
- var value = props[key];
696
-
697
- if (isDefined(value)) {
698
- opts[key] = value;
699
- }
700
-
701
- return opts;
702
- }, {});
703
-
704
- function serializeNode(node, index, siblings, isInline) {
705
- if (isList(node)) {
706
- return serializeList(node);
707
- }
708
-
709
- if (isListItem(node)) {
710
- return serializeListItem(node, findListItemIndex(node, siblings));
711
- }
712
-
713
- if (isSpan(node)) {
714
- return serializeSpan(node, serializers, index, {
715
- serializeNode: serializeNode
716
- });
717
- }
718
-
719
- return serializeBlock(node, index, isInline);
720
- }
721
-
722
- function findListItemIndex(node, siblings) {
723
- var index = 0;
724
-
725
- for (var i = 0; i < siblings.length; i++) {
726
- if (siblings[i] === node) {
727
- return index;
728
- }
729
-
730
- if (!isListItem(siblings[i])) {
731
- continue;
732
- }
733
-
734
- index++;
735
- }
736
-
737
- return index;
738
- }
739
-
740
- function serializeBlock(block, index, isInline) {
741
- var tree = buildMarksTree_1(block);
742
- var children = tree.map(function (node, i, siblings) {
743
- return serializeNode(node, i, siblings, true);
744
- });
745
- var blockProps = {
746
- key: block._key || "block-".concat(index),
747
- node: block,
748
- isInline: isInline,
749
- serializers: serializers,
750
- options: options
751
- };
752
- return h(serializers.block, blockProps, children);
753
- }
754
-
755
- function serializeListItem(block, index) {
756
- var key = block._key;
757
- var tree = buildMarksTree_1(block);
758
- var children = tree.map(serializeNode);
759
- return h(serializers.listItem, {
760
- node: block,
761
- serializers: serializers,
762
- index: index,
763
- key: key,
764
- options: options
765
- }, children);
766
- }
767
-
768
- function serializeList(list) {
769
- var type = list.listItem;
770
- var level = list.level;
771
- var key = list._key;
772
- var children = list.children.map(serializeNode);
773
- return h(serializers.list, {
774
- key: key,
775
- level: level,
776
- type: type,
777
- options: options
778
- }, children);
779
- } // Default to false, so `undefined` will evaluate to the default here
780
-
781
-
782
- var renderContainerOnSingleChild = Boolean(props.renderContainerOnSingleChild);
783
- var nodes = blocks.map(serializeNode);
784
-
785
- if (renderContainerOnSingleChild || nodes.length > 1) {
786
- var containerProps = props.className ? {
787
- className: props.className
788
- } : {};
789
- return h(serializers.container, containerProps, nodes);
790
- }
791
-
792
- if (nodes[0]) {
793
- return nodes[0];
794
- }
795
-
796
- return typeof serializers.empty === 'function' ? h(serializers.empty) : serializers.empty;
797
- }
798
-
799
- function isList(block) {
800
- return block._type === 'list' && block.listItem;
801
- }
802
-
803
- function isListItem(block) {
804
- return block._type === 'block' && block.listItem;
805
- }
806
-
807
- function isSpan(block) {
808
- return typeof block === 'string' || block.marks || block._type === 'span';
809
- }
810
-
811
- var blocksToNodes_1 = blocksToNodes$1;
812
-
813
- var internals$1 = {
814
- blocksToNodes: function blocksToNodes(renderNode, props, defaultSerializers, serializeSpan) {
815
- if (defaultSerializers) {
816
- return blocksToNodes_1(renderNode, props, defaultSerializers, serializeSpan);
817
- } // Backwards-compatibility
818
-
819
-
820
- var serializers = serializers$1(renderNode);
821
- return blocksToNodes_1(renderNode, props, serializers.defaultSerializers, serializers.serializeSpan);
822
- },
823
- getSerializers: serializers$1,
824
- getImageUrl: getImageUrl$1,
825
- mergeSerializers: mergeSerializers$1
826
- };
827
-
828
- var internals = internals$1;
829
-
830
- var getSerializers = internals.getSerializers;
831
-
832
- var renderNode$1 = React__default.createElement;
833
-
834
- var _getSerializers = getSerializers(renderNode$1),
835
- defaultSerializers = _getSerializers.defaultSerializers,
836
- serializeSpan$1 = _getSerializers.serializeSpan;
837
-
838
- var dom = {
839
- serializeSpan: serializeSpan$1,
840
- serializers: defaultSerializers,
841
- renderProps: { nestMarks: true }
842
- };
843
-
844
- var serializers = dom.serializers,
845
- serializeSpan = dom.serializeSpan,
846
- renderProps = dom.renderProps;
847
-
848
- var getImageUrl = internals.getImageUrl,
849
- blocksToNodes = internals.blocksToNodes,
850
- mergeSerializers = internals.mergeSerializers;
851
-
852
- var renderNode = React__default.createElement;
853
-
854
- var SanityBlockContent = function SanityBlockContent(props) {
855
- var customSerializers = mergeSerializers(SanityBlockContent.defaultSerializers, props.serializers);
856
-
857
- var blockProps = Object.assign({}, renderProps, props, {
858
- serializers: customSerializers,
859
- blocks: props.blocks || []
860
- });
861
-
862
- return blocksToNodes(renderNode, blockProps, serializers, serializeSpan);
863
- };
864
-
865
- // Expose default serializers to the user
866
- SanityBlockContent.defaultSerializers = serializers;
867
-
868
- // Expose logic for building image URLs from an image reference/node
869
- SanityBlockContent.getImageUrl = getImageUrl;
870
-
871
- SanityBlockContent.propTypes = {
872
- className: PropTypes.string,
873
- renderContainerOnSingleChild: PropTypes.bool,
874
-
875
- // When rendering images, we need project id and dataset, unless images are materialized
876
- projectId: PropTypes.string,
877
- dataset: PropTypes.string,
878
- imageOptions: PropTypes.object,
879
-
880
- serializers: PropTypes.shape({
881
- // Common overrides
882
- types: PropTypes.object,
883
- marks: PropTypes.object,
884
-
885
- // Less common overrides
886
- list: PropTypes.func,
887
- listItem: PropTypes.func,
888
-
889
- // Low-level serializers
890
- block: PropTypes.func,
891
- span: PropTypes.func
892
- }),
893
-
894
- blocks: PropTypes.oneOfType([PropTypes.arrayOf(PropTypes.shape({
895
- _type: PropTypes.string.isRequired
896
- })), PropTypes.shape({
897
- _type: PropTypes.string.isRequired
898
- })]).isRequired
899
- };
900
-
901
- SanityBlockContent.defaultProps = {
902
- renderContainerOnSingleChild: false,
903
- serializers: {},
904
- imageOptions: {}
905
- };
906
-
907
- var BlockContent = SanityBlockContent;
908
-
909
- export { BlockContent as B };