@quadrats/react 0.0.1 → 0.4.3

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 (260) hide show
  1. package/blockquote/createReactBlockquote.js +3 -3
  2. package/blockquote/index.cjs.js +3 -3
  3. package/blockquote/jsx-serializer/createJsxSerializeBlockquote.js +1 -1
  4. package/blockquote/toolbar/BlockquoteToolbarIcon.js +2 -2
  5. package/blockquote/toolbar/index.cjs.js +1 -1
  6. package/bold/createReactBold.d.ts +1 -1
  7. package/bold/createReactBold.js +5 -5
  8. package/bold/defaultRenderBold.d.ts +1 -1
  9. package/bold/defaultRenderBold.js +1 -1
  10. package/bold/index.cjs.js +5 -5
  11. package/bold/jsx-serializer/createJsxSerializeBold.d.ts +1 -1
  12. package/bold/jsx-serializer/createJsxSerializeBold.js +2 -2
  13. package/bold/jsx-serializer/index.cjs.js +1 -1
  14. package/components/Icon/index.d.ts +1 -1
  15. package/components/Icon/index.js +1 -1
  16. package/components/Portal/index.js +1 -1
  17. package/components/Progress/index.d.ts +0 -1
  18. package/components/Progress/index.js +1 -2
  19. package/components/Tooltip/index.d.ts +0 -1
  20. package/components/Tooltip/index.js +3 -4
  21. package/components/index.cjs.js +1 -34
  22. package/components/package.json +4 -1
  23. package/components/progress.css +1 -0
  24. package/components/progress.scss +30 -0
  25. package/components/tooltip.css +1 -0
  26. package/components/tooltip.scss +110 -0
  27. package/configs/ConfigsProvider.js +1 -1
  28. package/configs/index.cjs.js +1 -1
  29. package/core/components/DefaultElement.js +1 -1
  30. package/core/components/DefaultLeaf.js +1 -1
  31. package/core/components/Editable.d.ts +0 -1
  32. package/core/components/Editable.js +3 -4
  33. package/core/components/Quadrats.js +3 -3
  34. package/core/composeRenderElements.js +1 -1
  35. package/core/composeRenderLeafs.js +1 -1
  36. package/core/createRenderMark.d.ts +1 -1
  37. package/divider/createReactDivider.js +1 -1
  38. package/divider/index.cjs.js +1 -1
  39. package/divider/jsx-serializer/createJsxSerializeDivider.js +1 -1
  40. package/divider/jsx-serializer/index.cjs.js +1 -1
  41. package/divider/toolbar/DividerToolbarIcon.js +2 -2
  42. package/divider/toolbar/index.cjs.js +1 -1
  43. package/editable.css +1 -0
  44. package/editable.scss +28 -0
  45. package/embed/components/VideoIframe.js +1 -1
  46. package/embed/createReactEmbed.js +1 -1
  47. package/embed/index.cjs.js +1 -1
  48. package/embed/index.js +1 -1
  49. package/embed/jsx-serializer/facebook/index.cjs.js +3 -3
  50. package/embed/jsx-serializer/instagram/index.cjs.js +3 -3
  51. package/embed/jsx-serializer/twitter/index.cjs.js +3 -3
  52. package/embed/jsx-serializer/vimeo/index.cjs.js +3 -3
  53. package/embed/jsx-serializer/youtube/index.cjs.js +3 -3
  54. package/embed/renderers/facebook/components/Facebook.js +1 -1
  55. package/embed/renderers/facebook/index.cjs.js +1 -1
  56. package/embed/renderers/instagram/components/Instagram.js +1 -1
  57. package/embed/renderers/instagram/index.cjs.js +1 -1
  58. package/embed/renderers/podcast-apple/components/PodcastApple.d.ts +11 -0
  59. package/embed/renderers/podcast-apple/components/PodcastApple.js +12 -0
  60. package/embed/renderers/podcast-apple/defaultRenderPodcastAppleEmbedElement.d.ts +3 -0
  61. package/embed/renderers/podcast-apple/defaultRenderPodcastAppleEmbedElement.js +6 -0
  62. package/embed/renderers/podcast-apple/index.cjs.js +23 -0
  63. package/embed/renderers/podcast-apple/index.d.ts +2 -0
  64. package/embed/renderers/podcast-apple/index.js +2 -0
  65. package/embed/renderers/podcast-apple/package.json +7 -0
  66. package/embed/renderers/spotify/components/Spotify.d.ts +11 -0
  67. package/embed/renderers/spotify/components/Spotify.js +16 -0
  68. package/embed/renderers/spotify/defaultRenderSpotifyEmbedElement.d.ts +3 -0
  69. package/embed/renderers/spotify/defaultRenderSpotifyEmbedElement.js +6 -0
  70. package/embed/renderers/spotify/index.cjs.js +27 -0
  71. package/embed/renderers/spotify/index.d.ts +2 -0
  72. package/embed/renderers/spotify/index.js +2 -0
  73. package/embed/renderers/spotify/package.json +7 -0
  74. package/embed/renderers/twitter/components/Twitter.d.ts +1 -1
  75. package/embed/renderers/twitter/components/Twitter.js +8 -17
  76. package/embed/renderers/twitter/hooks/useLoadTwitterEmbedApi.d.ts +2 -1
  77. package/embed/renderers/twitter/hooks/useLoadTwitterEmbedApi.js +22 -16
  78. package/embed/renderers/twitter/index.cjs.js +29 -52
  79. package/embed/renderers/twitter/index.d.ts +0 -1
  80. package/embed/renderers/twitter/index.js +0 -1
  81. package/embed/renderers/vimeo/index.cjs.js +1 -1
  82. package/embed/renderers/youtube/index.cjs.js +1 -1
  83. package/embed/toolbar/EmbedToolbarIcon.js +3 -3
  84. package/embed/toolbar/index.cjs.js +1 -1
  85. package/file-uploader/components/FileUploader.d.ts +0 -1
  86. package/file-uploader/components/FileUploader.js +2 -3
  87. package/file-uploader/createReactFileUploader.js +1 -1
  88. package/file-uploader/file-uploader.css +1 -0
  89. package/file-uploader/file-uploader.scss +23 -0
  90. package/file-uploader/index.cjs.js +1 -31
  91. package/file-uploader/package.json +4 -1
  92. package/file-uploader/toolbar/FileUploaderToolbarIcon.js +2 -2
  93. package/file-uploader/toolbar/index.cjs.js +1 -1
  94. package/footnote/createReactFootnote.d.ts +4 -0
  95. package/footnote/createReactFootnote.js +24 -0
  96. package/footnote/defaultRenderFootnoteElement.d.ts +9 -0
  97. package/footnote/defaultRenderFootnoteElement.js +15 -0
  98. package/footnote/index.cjs.js +45 -0
  99. package/footnote/index.d.ts +3 -0
  100. package/footnote/index.js +2 -0
  101. package/footnote/jsx-serializer/createJsxSerializeFootnote.d.ts +5 -0
  102. package/footnote/jsx-serializer/createJsxSerializeFootnote.js +11 -0
  103. package/footnote/jsx-serializer/defaultRenderFootnoteElement.d.ts +3 -0
  104. package/footnote/jsx-serializer/defaultRenderFootnoteElement.js +10 -0
  105. package/footnote/jsx-serializer/index.cjs.js +27 -0
  106. package/footnote/jsx-serializer/index.d.ts +3 -0
  107. package/footnote/jsx-serializer/index.js +2 -0
  108. package/footnote/jsx-serializer/package.json +7 -0
  109. package/footnote/jsx-serializer/typings.d.ts +3 -0
  110. package/{break → footnote}/package.json +1 -1
  111. package/footnote/toolbar/FootnoteToolbarIcon.d.ts +10 -0
  112. package/footnote/toolbar/FootnoteToolbarIcon.js +12 -0
  113. package/footnote/toolbar/index.cjs.js +36 -0
  114. package/footnote/toolbar/index.d.ts +2 -0
  115. package/footnote/toolbar/index.js +2 -0
  116. package/footnote/toolbar/package.json +7 -0
  117. package/footnote/toolbar/useFootnoteTool.d.ts +7 -0
  118. package/footnote/toolbar/useFootnoteTool.js +19 -0
  119. package/footnote/typings.d.ts +9 -0
  120. package/heading/createReactHeading.js +3 -3
  121. package/heading/index.cjs.js +3 -3
  122. package/heading/jsx-serializer/createJsxSerializeHeading.js +1 -1
  123. package/heading/toolbar/HeadingToolbarIcon.js +2 -2
  124. package/heading/toolbar/index.cjs.js +1 -1
  125. package/highlight/createReactHighlight.d.ts +1 -1
  126. package/highlight/createReactHighlight.js +5 -5
  127. package/highlight/defaultRenderHighlight.d.ts +1 -1
  128. package/highlight/defaultRenderHighlight.js +1 -1
  129. package/highlight/index.cjs.js +5 -5
  130. package/highlight/jsx-serializer/createJsxSerializeHighlight.d.ts +1 -1
  131. package/highlight/jsx-serializer/createJsxSerializeHighlight.js +2 -2
  132. package/highlight/jsx-serializer/index.cjs.js +1 -1
  133. package/image/components/Image.d.ts +0 -1
  134. package/image/components/Image.js +2 -3
  135. package/image/components/ImageCaption.d.ts +0 -1
  136. package/image/components/ImageCaption.js +2 -3
  137. package/image/components/ImageFigure.d.ts +0 -1
  138. package/image/components/ImageFigure.js +1 -2
  139. package/image/createReactImage.js +3 -3
  140. package/image/image.css +1 -0
  141. package/image/image.scss +66 -0
  142. package/image/index.cjs.js +1 -31
  143. package/image/index.js +2 -2
  144. package/image/jsx-serializer/createJsxSerializeImage.js +1 -1
  145. package/image/jsx-serializer/index.cjs.js +1 -1
  146. package/image/package.json +4 -1
  147. package/index.cjs.js +4 -34
  148. package/index.js +1 -1
  149. package/input-block/components/InputBlock.js +1 -1
  150. package/input-block/createReactInputBlock.js +1 -1
  151. package/input-block/index.cjs.js +1 -1
  152. package/italic/createReactItalic.d.ts +1 -1
  153. package/italic/createReactItalic.js +5 -5
  154. package/italic/defaultRenderItalic.d.ts +1 -1
  155. package/italic/defaultRenderItalic.js +1 -1
  156. package/italic/index.cjs.js +5 -5
  157. package/italic/jsx-serializer/createJsxSerializeItalic.d.ts +1 -1
  158. package/italic/jsx-serializer/createJsxSerializeItalic.js +2 -2
  159. package/italic/jsx-serializer/index.cjs.js +1 -1
  160. package/jsx-serializer/createJsxSerializeMark.d.ts +1 -1
  161. package/jsx-serializer/createJsxSerializer.js +1 -1
  162. package/jsx-serializer/index.cjs.js +1 -1
  163. package/{break → line-break}/commonBreak.d.ts +0 -0
  164. package/{break → line-break}/commonBreak.js +0 -0
  165. package/{break → line-break}/createOnKeyDownBreak.d.ts +0 -0
  166. package/{break → line-break}/createOnKeyDownBreak.js +0 -0
  167. package/line-break/createReactLineBreak.d.ts +4 -0
  168. package/line-break/createReactLineBreak.js +14 -0
  169. package/line-break/defaultRenderLineBreakElement.d.ts +3 -0
  170. package/line-break/defaultRenderLineBreakElement.js +6 -0
  171. package/{break → line-break}/index.cjs.js +20 -1
  172. package/line-break/index.d.ts +5 -0
  173. package/{break → line-break}/index.js +2 -0
  174. package/line-break/line-break.css +1 -0
  175. package/line-break/line-break.scss +22 -0
  176. package/line-break/package.json +10 -0
  177. package/line-break/renderLineBreakElementWithSymbol.d.ts +3 -0
  178. package/line-break/renderLineBreakElementWithSymbol.js +6 -0
  179. package/line-break/typings.d.ts +32 -0
  180. package/link/createReactLink.js +1 -1
  181. package/link/defaultRenderLinkElement.d.ts +1 -1
  182. package/link/index.cjs.js +1 -1
  183. package/link/jsx-serializer/createJsxSerializeLink.js +1 -1
  184. package/link/jsx-serializer/index.cjs.js +1 -1
  185. package/link/toolbar/LinkToolbarIcon.js +3 -3
  186. package/link/toolbar/UnlinkToolbarIcon.js +3 -3
  187. package/link/toolbar/index.cjs.js +1 -1
  188. package/list/createReactList.js +1 -1
  189. package/list/index.cjs.js +1 -1
  190. package/list/jsx-serializer/createJsxSerializeList.js +1 -1
  191. package/list/toolbar/ListToolbarIcon.js +2 -2
  192. package/list/toolbar/index.cjs.js +1 -1
  193. package/package.json +11 -8
  194. package/paragraph/createRenderParagraphElement.js +1 -1
  195. package/paragraph/defaultRenderParagraphElement.js +1 -1
  196. package/paragraph/index.cjs.js +5 -2
  197. package/paragraph/index.d.ts +1 -0
  198. package/paragraph/index.js +1 -0
  199. package/paragraph/jsx-serializer/createJsxSerializeParagraph.js +1 -1
  200. package/paragraph/package.json +4 -1
  201. package/paragraph/paragraph.css +1 -0
  202. package/paragraph/paragraph.scss +24 -0
  203. package/paragraph/renderParagraphElementWithSymbol.d.ts +12 -0
  204. package/paragraph/renderParagraphElementWithSymbol.js +5 -0
  205. package/read-more/components/ReadMore.d.ts +0 -1
  206. package/read-more/components/ReadMore.js +1 -2
  207. package/read-more/createReactReadMore.js +1 -1
  208. package/read-more/index.cjs.js +1 -31
  209. package/read-more/jsx-serializer/createJsxSerializeReadMore.js +1 -1
  210. package/read-more/package.json +4 -1
  211. package/read-more/read-more.css +1 -0
  212. package/read-more/read-more.scss +29 -0
  213. package/read-more/toolbar/ReadMoreToolbarIcon.js +2 -2
  214. package/read-more/toolbar/index.cjs.js +1 -1
  215. package/strikethrough/createReactStrikethrough.d.ts +1 -1
  216. package/strikethrough/createReactStrikethrough.js +5 -5
  217. package/strikethrough/defaultRenderStrikethrough.d.ts +1 -1
  218. package/strikethrough/defaultRenderStrikethrough.js +1 -1
  219. package/strikethrough/index.cjs.js +5 -5
  220. package/strikethrough/jsx-serializer/createJsxSerializeStrikethrough.d.ts +1 -1
  221. package/strikethrough/jsx-serializer/createJsxSerializeStrikethrough.js +2 -2
  222. package/strikethrough/jsx-serializer/index.cjs.js +1 -1
  223. package/toggle-mark/index.cjs.js +1 -1
  224. package/toggle-mark/jsx-serializer/createJsxSerializeToggleMarkCreator.d.ts +1 -1
  225. package/toggle-mark/toolbar/ToggleMarkToolbarIcon.js +2 -2
  226. package/toggle-mark/toolbar/index.cjs.js +1 -1
  227. package/toolbar/components/Toolbar.d.ts +0 -1
  228. package/toolbar/components/Toolbar.js +1 -2
  229. package/toolbar/components/ToolbarIcon.d.ts +0 -1
  230. package/toolbar/components/ToolbarIcon.js +2 -3
  231. package/toolbar/components/ToolbarInput.d.ts +0 -1
  232. package/toolbar/components/ToolbarInput.js +2 -3
  233. package/toolbar/index.cjs.js +2 -32
  234. package/toolbar/package.json +4 -1
  235. package/toolbar/toolbar.css +1 -0
  236. package/toolbar/toolbar.scss +106 -0
  237. package/underline/createReactUnderline.d.ts +1 -1
  238. package/underline/createReactUnderline.js +5 -5
  239. package/underline/defaultRenderUnderline.d.ts +1 -1
  240. package/underline/defaultRenderUnderline.js +1 -1
  241. package/underline/index.cjs.js +5 -5
  242. package/underline/jsx-serializer/createJsxSerializeUnderline.d.ts +1 -1
  243. package/underline/jsx-serializer/createJsxSerializeUnderline.js +2 -2
  244. package/underline/jsx-serializer/index.cjs.js +1 -1
  245. package/break/index.d.ts +0 -3
  246. package/break/typings.d.ts +0 -24
  247. package/components/Progress/progress.scss.js +0 -6
  248. package/components/Tooltip/tooltip.scss.js +0 -6
  249. package/components/node_modules/style-inject/dist/style-inject.es.js +0 -28
  250. package/core/components/editable.scss.js +0 -6
  251. package/embed/renderers/twitter/hooks/useLoadTwitterEmbedHtml.d.ts +0 -1
  252. package/embed/renderers/twitter/hooks/useLoadTwitterEmbedHtml.js +0 -23
  253. package/file-uploader/components/file-uploader.scss.js +0 -6
  254. package/file-uploader/node_modules/style-inject/dist/style-inject.es.js +0 -28
  255. package/image/components/image.scss.js +0 -6
  256. package/image/node_modules/style-inject/dist/style-inject.es.js +0 -28
  257. package/read-more/components/read-more.scss.js +0 -6
  258. package/read-more/node_modules/style-inject/dist/style-inject.es.js +0 -28
  259. package/toolbar/components/toolbar.scss.js +0 -6
  260. package/toolbar/node_modules/style-inject/dist/style-inject.es.js +0 -28
@@ -6,7 +6,7 @@ var React = require('react');
6
6
  var divider = require('@quadrats/common/divider');
7
7
  var react = require('@quadrats/react');
8
8
 
9
- function _interopDefaultLegacy (e) { return e && typeof e === 'object' && 'default' in e ? e['default'] : e; }
9
+ function _interopDefaultLegacy (e) { return e && typeof e === 'object' && 'default' in e ? e["default"] : e; }
10
10
 
11
11
  var React__default = /*#__PURE__*/_interopDefaultLegacy(React);
12
12
 
@@ -1,6 +1,6 @@
1
- import { defaultRenderDividerElement } from './defaultRenderDividerElement.js';
2
1
  import { DIVIDER_TYPE } from '@quadrats/common/divider';
3
2
  import { createJsxSerializeElement } from '@quadrats/react/jsx-serializer';
3
+ import { defaultRenderDividerElement } from './defaultRenderDividerElement.js';
4
4
 
5
5
  function createJsxSerializeDivider(options = {}) {
6
6
  const { type = DIVIDER_TYPE, render = defaultRenderDividerElement } = options;
@@ -6,7 +6,7 @@ var React = require('react');
6
6
  var divider = require('@quadrats/common/divider');
7
7
  var jsxSerializer = require('@quadrats/react/jsx-serializer');
8
8
 
9
- function _interopDefaultLegacy (e) { return e && typeof e === 'object' && 'default' in e ? e['default'] : e; }
9
+ function _interopDefaultLegacy (e) { return e && typeof e === 'object' && 'default' in e ? e["default"] : e; }
10
10
 
11
11
  var React__default = /*#__PURE__*/_interopDefaultLegacy(React);
12
12
 
@@ -1,7 +1,7 @@
1
- import { useDividerTool } from './useDividerTool.js';
2
1
  import { __rest } from 'tslib';
3
2
  import React from 'react';
4
3
  import { ToolbarIcon } from '@quadrats/react/toolbar';
4
+ import { useDividerTool } from './useDividerTool.js';
5
5
 
6
6
  function DividerToolbarIcon(props) {
7
7
  const { controller } = props, rest = __rest(props, ["controller"]);
@@ -9,4 +9,4 @@ function DividerToolbarIcon(props) {
9
9
  return React.createElement(ToolbarIcon, Object.assign({}, rest, { onClick: onClick }));
10
10
  }
11
11
 
12
- export default DividerToolbarIcon;
12
+ export { DividerToolbarIcon as default };
@@ -7,7 +7,7 @@ var tslib = require('tslib');
7
7
  var React = require('react');
8
8
  var toolbar = require('@quadrats/react/toolbar');
9
9
 
10
- function _interopDefaultLegacy (e) { return e && typeof e === 'object' && 'default' in e ? e['default'] : e; }
10
+ function _interopDefaultLegacy (e) { return e && typeof e === 'object' && 'default' in e ? e["default"] : e; }
11
11
 
12
12
  var React__default = /*#__PURE__*/_interopDefaultLegacy(React);
13
13
 
package/editable.css ADDED
@@ -0,0 +1 @@
1
+ .qdr-editable{background-color:var(--qdr-background);border:solid 1px var(--qdr-border);color:var(--qdr-text);caret-color:var(--qdr-primary);transition:background-color 300ms ease-in-out,border-color 300ms ease-in-out,color 300ms ease-in-out;will-change:background-color,border-color,color}.qdr-editable ::selection{background-color:var(--qdr-primary-light)}.qdr-editable__placeholder{display:inline-block;top:0;left:0;color:var(--qdr-placeholder);font:inherit;padding:inherit;width:0;max-width:100%;opacity:.333;white-space:nowrap;text-decoration:none;pointer-events:none;user-select:none}
package/editable.scss ADDED
@@ -0,0 +1,28 @@
1
+ .qdr-editable {
2
+ background-color: var(--qdr-background);
3
+ border: solid 1px var(--qdr-border);
4
+ color: var(--qdr-text);
5
+ caret-color: var(--qdr-primary);
6
+ transition: background-color 300ms ease-in-out, border-color 300ms ease-in-out, color 300ms ease-in-out;
7
+ will-change: background-color, border-color, color;
8
+
9
+ ::selection {
10
+ background-color: var(--qdr-primary-light);
11
+ }
12
+
13
+ &__placeholder {
14
+ display: inline-block;
15
+ top: 0;
16
+ left: 0;
17
+ color: var(--qdr-placeholder);
18
+ font: inherit;
19
+ padding: inherit;
20
+ width: 0;
21
+ max-width: 100%;
22
+ opacity: 0.333;
23
+ white-space: nowrap;
24
+ text-decoration: none;
25
+ pointer-events: none;
26
+ user-select: none;
27
+ }
28
+ }
@@ -12,4 +12,4 @@ function VideoIframe({ attributes, children, data: src }) {
12
12
  attributes ? children : undefined));
13
13
  }
14
14
 
15
- export default VideoIframe;
15
+ export { VideoIframe as default };
@@ -1,6 +1,6 @@
1
1
  import { createEmbed } from '@quadrats/common/embed';
2
- import { createRenderEmbedElementBase } from './createRenderEmbedElementBase.js';
3
2
  import { createRenderElement } from '@quadrats/react';
3
+ import { createRenderEmbedElementBase } from './createRenderEmbedElementBase.js';
4
4
 
5
5
  function createReactEmbed(options) {
6
6
  const core = createEmbed(options);
@@ -7,7 +7,7 @@ var utils = require('@quadrats/react/utils');
7
7
  var embed = require('@quadrats/common/embed');
8
8
  var react = require('@quadrats/react');
9
9
 
10
- function _interopDefaultLegacy (e) { return e && typeof e === 'object' && 'default' in e ? e['default'] : e; }
10
+ function _interopDefaultLegacy (e) { return e && typeof e === 'object' && 'default' in e ? e["default"] : e; }
11
11
 
12
12
  var React__default = /*#__PURE__*/_interopDefaultLegacy(React);
13
13
 
package/embed/index.js CHANGED
@@ -1,4 +1,4 @@
1
- export { useVideoIframeSize } from './hooks/useVideoIframeSize.js';
2
1
  export { default as VideoIframe } from './components/VideoIframe.js';
2
+ export { useVideoIframeSize } from './hooks/useVideoIframeSize.js';
3
3
  export { createRenderEmbedElementBase } from './createRenderEmbedElementBase.js';
4
4
  export { createReactEmbed } from './createReactEmbed.js';
@@ -6,6 +6,6 @@ var facebook = require('@quadrats/react/embed/renderers/facebook');
6
6
 
7
7
 
8
8
 
9
- Object.keys(facebook).forEach(function (k) {
10
- if (k !== 'default') exports[k] = facebook[k];
11
- });
9
+ for (var k in facebook) {
10
+ if (k !== 'default' && !exports.hasOwnProperty(k)) exports[k] = facebook[k];
11
+ }
@@ -6,6 +6,6 @@ var instagram = require('@quadrats/react/embed/renderers/instagram');
6
6
 
7
7
 
8
8
 
9
- Object.keys(instagram).forEach(function (k) {
10
- if (k !== 'default') exports[k] = instagram[k];
11
- });
9
+ for (var k in instagram) {
10
+ if (k !== 'default' && !exports.hasOwnProperty(k)) exports[k] = instagram[k];
11
+ }
@@ -6,6 +6,6 @@ var twitter = require('@quadrats/react/embed/renderers/twitter');
6
6
 
7
7
 
8
8
 
9
- Object.keys(twitter).forEach(function (k) {
10
- if (k !== 'default') exports[k] = twitter[k];
11
- });
9
+ for (var k in twitter) {
10
+ if (k !== 'default' && !exports.hasOwnProperty(k)) exports[k] = twitter[k];
11
+ }
@@ -6,6 +6,6 @@ var vimeo = require('@quadrats/react/embed/renderers/vimeo');
6
6
 
7
7
 
8
8
 
9
- Object.keys(vimeo).forEach(function (k) {
10
- if (k !== 'default') exports[k] = vimeo[k];
11
- });
9
+ for (var k in vimeo) {
10
+ if (k !== 'default' && !exports.hasOwnProperty(k)) exports[k] = vimeo[k];
11
+ }
@@ -6,6 +6,6 @@ var youtube = require('@quadrats/react/embed/renderers/youtube');
6
6
 
7
7
 
8
8
 
9
- Object.keys(youtube).forEach(function (k) {
10
- if (k !== 'default') exports[k] = youtube[k];
11
- });
9
+ for (var k in youtube) {
10
+ if (k !== 'default' && !exports.hasOwnProperty(k)) exports[k] = youtube[k];
11
+ }
@@ -13,4 +13,4 @@ function Facebook({ attributes, children, data: { url, width, height } }) {
13
13
  attributes ? children : undefined));
14
14
  }
15
15
 
16
- export default Facebook;
16
+ export { Facebook as default };
@@ -4,7 +4,7 @@ Object.defineProperty(exports, '__esModule', { value: true });
4
4
 
5
5
  var React = require('react');
6
6
 
7
- function _interopDefaultLegacy (e) { return e && typeof e === 'object' && 'default' in e ? e['default'] : e; }
7
+ function _interopDefaultLegacy (e) { return e && typeof e === 'object' && 'default' in e ? e["default"] : e; }
8
8
 
9
9
  var React__default = /*#__PURE__*/_interopDefaultLegacy(React);
10
10
 
@@ -21,4 +21,4 @@ function Instagram({ attributes, children, data: permalink }) {
21
21
  attributes ? children : undefined));
22
22
  }
23
23
 
24
- export default Instagram;
24
+ export { Instagram as default };
@@ -4,7 +4,7 @@ Object.defineProperty(exports, '__esModule', { value: true });
4
4
 
5
5
  var React = require('react');
6
6
 
7
- function _interopDefaultLegacy (e) { return e && typeof e === 'object' && 'default' in e ? e['default'] : e; }
7
+ function _interopDefaultLegacy (e) { return e && typeof e === 'object' && 'default' in e ? e["default"] : e; }
8
8
 
9
9
  var React__default = /*#__PURE__*/_interopDefaultLegacy(React);
10
10
 
@@ -0,0 +1,11 @@
1
+ /// <reference types="react" />
2
+ import { PodcastAppleEmbedElement } from '@quadrats/common/embed/strategies/podcast-apple';
3
+ import { RenderElementProps } from '@quadrats/react';
4
+ export interface PodcastAppleProps {
5
+ attributes?: RenderElementProps['attributes'];
6
+ children?: any;
7
+ data: string;
8
+ element: PodcastAppleEmbedElement;
9
+ }
10
+ declare function PodcastApple({ attributes, children, data: src }: PodcastAppleProps): JSX.Element;
11
+ export default PodcastApple;
@@ -0,0 +1,12 @@
1
+ import React, { useRef } from 'react';
2
+ import { composeRefs } from '@quadrats/react/utils';
3
+
4
+ function PodcastApple({ attributes, children, data: src }) {
5
+ const containerRef = useRef(null);
6
+ const composedRef = composeRefs([attributes === null || attributes === void 0 ? void 0 : attributes.ref, containerRef]);
7
+ return (React.createElement("div", Object.assign({}, attributes, { ref: composedRef, contentEditable: false }),
8
+ React.createElement("iframe", { title: src, src: src, frameBorder: "0", width: "100%", height: "450px" }),
9
+ attributes ? children : undefined));
10
+ }
11
+
12
+ export { PodcastApple as default };
@@ -0,0 +1,3 @@
1
+ /// <reference types="react" />
2
+ import { PodcastAppleProps } from './components/PodcastApple';
3
+ export declare const defaultRenderPodcastAppleEmbedElement: (props: PodcastAppleProps) => JSX.Element;
@@ -0,0 +1,6 @@
1
+ import React from 'react';
2
+ import PodcastApple from './components/PodcastApple.js';
3
+
4
+ const defaultRenderPodcastAppleEmbedElement = (props) => React.createElement(PodcastApple, Object.assign({}, props));
5
+
6
+ export { defaultRenderPodcastAppleEmbedElement };
@@ -0,0 +1,23 @@
1
+ 'use strict';
2
+
3
+ Object.defineProperty(exports, '__esModule', { value: true });
4
+
5
+ var React = require('react');
6
+ var utils = require('@quadrats/react/utils');
7
+
8
+ function _interopDefaultLegacy (e) { return e && typeof e === 'object' && 'default' in e ? e["default"] : e; }
9
+
10
+ var React__default = /*#__PURE__*/_interopDefaultLegacy(React);
11
+
12
+ function PodcastApple({ attributes, children, data: src }) {
13
+ const containerRef = React.useRef(null);
14
+ const composedRef = utils.composeRefs([attributes === null || attributes === void 0 ? void 0 : attributes.ref, containerRef]);
15
+ return (React__default.createElement("div", Object.assign({}, attributes, { ref: composedRef, contentEditable: false }),
16
+ React__default.createElement("iframe", { title: src, src: src, frameBorder: "0", width: "100%", height: "450px" }),
17
+ attributes ? children : undefined));
18
+ }
19
+
20
+ const defaultRenderPodcastAppleEmbedElement = (props) => React__default.createElement(PodcastApple, Object.assign({}, props));
21
+
22
+ exports.PodcastApple = PodcastApple;
23
+ exports.defaultRenderPodcastAppleEmbedElement = defaultRenderPodcastAppleEmbedElement;
@@ -0,0 +1,2 @@
1
+ export { PodcastAppleProps, default as PodcastApple } from './components/PodcastApple';
2
+ export { defaultRenderPodcastAppleEmbedElement } from './defaultRenderPodcastAppleEmbedElement';
@@ -0,0 +1,2 @@
1
+ export { default as PodcastApple } from './components/PodcastApple.js';
2
+ export { defaultRenderPodcastAppleEmbedElement } from './defaultRenderPodcastAppleEmbedElement.js';
@@ -0,0 +1,7 @@
1
+ {
2
+ "name": "@quadrats/react/embed/renderers/podcast-apple",
3
+ "sideEffects": false,
4
+ "main": "./index.cjs.js",
5
+ "module": "./index.js",
6
+ "typings": "./index.d.ts"
7
+ }
@@ -0,0 +1,11 @@
1
+ /// <reference types="react" />
2
+ import { SpotifyEmbedElement } from '@quadrats/common/embed/strategies/spotify';
3
+ import { RenderElementProps } from '@quadrats/react';
4
+ export interface SpotifyProps {
5
+ attributes?: RenderElementProps['attributes'];
6
+ children?: any;
7
+ data: string;
8
+ element: SpotifyEmbedElement;
9
+ }
10
+ declare function Spotify({ attributes, children, data: src }: SpotifyProps): JSX.Element;
11
+ export default Spotify;
@@ -0,0 +1,16 @@
1
+ import React, { useRef, useMemo } from 'react';
2
+ import { composeRefs } from '@quadrats/react/utils';
3
+
4
+ function Spotify({ attributes, children, data: src }) {
5
+ const containerRef = useRef(null);
6
+ const composedRef = composeRefs([attributes === null || attributes === void 0 ? void 0 : attributes.ref, containerRef]);
7
+ const higher = useMemo(() => (!!src.match(/\/playlist/)), [src]);
8
+ return (React.createElement("div", Object.assign({}, attributes, { ref: composedRef, contentEditable: false }),
9
+ React.createElement("iframe", { title: src, src: src, frameBorder: "0", width: "100%", allow: "autoplay", "clipboard-write": "true", "encrypted-media": "true", "picture-in-picture": "true", height: higher ? '400px' : '152px', style: {
10
+ maxHeight: '100%',
11
+ height: higher ? '400px' : '152px',
12
+ } }),
13
+ attributes ? children : undefined));
14
+ }
15
+
16
+ export { Spotify as default };
@@ -0,0 +1,3 @@
1
+ /// <reference types="react" />
2
+ import { SpotifyProps } from './components/Spotify';
3
+ export declare const defaultRenderSpotifyEmbedElement: (props: SpotifyProps) => JSX.Element;
@@ -0,0 +1,6 @@
1
+ import React from 'react';
2
+ import Spotify from './components/Spotify.js';
3
+
4
+ const defaultRenderSpotifyEmbedElement = (props) => React.createElement(Spotify, Object.assign({}, props));
5
+
6
+ export { defaultRenderSpotifyEmbedElement };
@@ -0,0 +1,27 @@
1
+ 'use strict';
2
+
3
+ Object.defineProperty(exports, '__esModule', { value: true });
4
+
5
+ var React = require('react');
6
+ var utils = require('@quadrats/react/utils');
7
+
8
+ function _interopDefaultLegacy (e) { return e && typeof e === 'object' && 'default' in e ? e["default"] : e; }
9
+
10
+ var React__default = /*#__PURE__*/_interopDefaultLegacy(React);
11
+
12
+ function Spotify({ attributes, children, data: src }) {
13
+ const containerRef = React.useRef(null);
14
+ const composedRef = utils.composeRefs([attributes === null || attributes === void 0 ? void 0 : attributes.ref, containerRef]);
15
+ const higher = React.useMemo(() => (!!src.match(/\/playlist/)), [src]);
16
+ return (React__default.createElement("div", Object.assign({}, attributes, { ref: composedRef, contentEditable: false }),
17
+ React__default.createElement("iframe", { title: src, src: src, frameBorder: "0", width: "100%", allow: "autoplay", "clipboard-write": "true", "encrypted-media": "true", "picture-in-picture": "true", height: higher ? '400px' : '152px', style: {
18
+ maxHeight: '100%',
19
+ height: higher ? '400px' : '152px',
20
+ } }),
21
+ attributes ? children : undefined));
22
+ }
23
+
24
+ const defaultRenderSpotifyEmbedElement = (props) => React__default.createElement(Spotify, Object.assign({}, props));
25
+
26
+ exports.Spotify = Spotify;
27
+ exports.defaultRenderSpotifyEmbedElement = defaultRenderSpotifyEmbedElement;
@@ -0,0 +1,2 @@
1
+ export { SpotifyProps, default as Spotify } from './components/Spotify';
2
+ export { defaultRenderSpotifyEmbedElement } from './defaultRenderSpotifyEmbedElement';
@@ -0,0 +1,2 @@
1
+ export { default as Spotify } from './components/Spotify.js';
2
+ export { defaultRenderSpotifyEmbedElement } from './defaultRenderSpotifyEmbedElement.js';
@@ -0,0 +1,7 @@
1
+ {
2
+ "name": "@quadrats/react/embed/renderers/spotify",
3
+ "sideEffects": false,
4
+ "main": "./index.cjs.js",
5
+ "module": "./index.js",
6
+ "typings": "./index.d.ts"
7
+ }
@@ -7,5 +7,5 @@ export interface TwitterProps {
7
7
  data: string;
8
8
  element: TwitterEmbedElement;
9
9
  }
10
- declare function Twitter({ attributes, children, data: url }: TwitterProps): JSX.Element;
10
+ declare function Twitter({ attributes, children, data: tweetId }: TwitterProps): JSX.Element;
11
11
  export default Twitter;
@@ -1,21 +1,12 @@
1
- import React from 'react';
1
+ import React, { useRef } from 'react';
2
+ import { composeRefs } from '@quadrats/react/utils';
2
3
  import { useLoadTwitterEmbedApi } from '../hooks/useLoadTwitterEmbedApi.js';
3
- import { useLoadTwitterEmbedHtml } from '../hooks/useLoadTwitterEmbedHtml.js';
4
4
 
5
- function Twitter({ attributes, children, data: url }) {
6
- const html = useLoadTwitterEmbedHtml(url);
7
- useLoadTwitterEmbedApi(html);
8
- return (React.createElement("div", Object.assign({}, attributes, { contentEditable: false }),
9
- html && (React.createElement("div", { style: {
10
- display: 'flex',
11
- marginTop: -10,
12
- marginBottom: -10,
13
- },
14
- // eslint-disable-next-line react/no-danger
15
- dangerouslySetInnerHTML: {
16
- __html: html,
17
- } })),
18
- attributes ? children : undefined));
5
+ function Twitter({ attributes, children, data: tweetId }) {
6
+ const tweetContainerRef = useRef(null);
7
+ const composedRef = composeRefs([attributes === null || attributes === void 0 ? void 0 : attributes.ref, tweetContainerRef]);
8
+ useLoadTwitterEmbedApi(tweetId, tweetContainerRef);
9
+ return (React.createElement("div", Object.assign({}, attributes, { ref: composedRef, contentEditable: false }), attributes ? children : undefined));
19
10
  }
20
11
 
21
- export default Twitter;
12
+ export { Twitter as default };
@@ -1 +1,2 @@
1
- export declare function useLoadTwitterEmbedApi(html: string | undefined): void;
1
+ import { RefObject } from 'react';
2
+ export declare function useLoadTwitterEmbedApi(tweetId: string, tweetContainerRef: RefObject<HTMLElement | null>): void;
@@ -3,25 +3,31 @@ import { useEffect } from 'react';
3
3
  function getTwitterEmbedApi() {
4
4
  return window.twttr;
5
5
  }
6
- function useLoadTwitterEmbedApi(html) {
6
+ function createTweet(tweetId, containerEl) {
7
+ const twttr = getTwitterEmbedApi();
8
+ if (twttr) {
9
+ twttr.widgets.createTweet(tweetId, containerEl);
10
+ return true;
11
+ }
12
+ return false;
13
+ }
14
+ function useLoadTwitterEmbedApi(tweetId, tweetContainerRef) {
7
15
  useEffect(() => {
8
- if (html) {
9
- let twttr = getTwitterEmbedApi();
10
- if (twttr) {
11
- twttr.widgets.load();
12
- return;
16
+ const { current: containerEl } = tweetContainerRef;
17
+ if (tweetId && containerEl) {
18
+ const created = createTweet(tweetId, containerEl);
19
+ if (!created) {
20
+ const script = document.createElement('script');
21
+ script.src = 'https://platform.twitter.com/widgets.js';
22
+ script.async = true;
23
+ script.onload = () => {
24
+ createTweet(tweetId, containerEl);
25
+ script.remove();
26
+ };
27
+ document.body.appendChild(script);
13
28
  }
14
- const script = document.createElement('script');
15
- script.src = 'https://platform.twitter.com/widgets.js';
16
- script.onload = () => {
17
- twttr = getTwitterEmbedApi();
18
- twttr === null || twttr === void 0 ? void 0 : twttr.widgets.load();
19
- script.remove();
20
- };
21
- script.async = true;
22
- document.body.appendChild(script);
23
29
  }
24
- }, [html]);
30
+ }, [tweetId, tweetContainerRef]);
25
31
  }
26
32
 
27
33
  export { useLoadTwitterEmbedApi };
@@ -3,69 +3,47 @@
3
3
  Object.defineProperty(exports, '__esModule', { value: true });
4
4
 
5
5
  var React = require('react');
6
+ var utils = require('@quadrats/react/utils');
6
7
 
7
- function _interopDefaultLegacy (e) { return e && typeof e === 'object' && 'default' in e ? e['default'] : e; }
8
+ function _interopDefaultLegacy (e) { return e && typeof e === 'object' && 'default' in e ? e["default"] : e; }
8
9
 
9
10
  var React__default = /*#__PURE__*/_interopDefaultLegacy(React);
10
11
 
11
12
  function getTwitterEmbedApi() {
12
13
  return window.twttr;
13
14
  }
14
- function useLoadTwitterEmbedApi(html) {
15
+ function createTweet(tweetId, containerEl) {
16
+ const twttr = getTwitterEmbedApi();
17
+ if (twttr) {
18
+ twttr.widgets.createTweet(tweetId, containerEl);
19
+ return true;
20
+ }
21
+ return false;
22
+ }
23
+ function useLoadTwitterEmbedApi(tweetId, tweetContainerRef) {
15
24
  React.useEffect(() => {
16
- if (html) {
17
- let twttr = getTwitterEmbedApi();
18
- if (twttr) {
19
- twttr.widgets.load();
20
- return;
25
+ const { current: containerEl } = tweetContainerRef;
26
+ if (tweetId && containerEl) {
27
+ const created = createTweet(tweetId, containerEl);
28
+ if (!created) {
29
+ const script = document.createElement('script');
30
+ script.src = 'https://platform.twitter.com/widgets.js';
31
+ script.async = true;
32
+ script.onload = () => {
33
+ createTweet(tweetId, containerEl);
34
+ script.remove();
35
+ };
36
+ document.body.appendChild(script);
21
37
  }
22
- const script = document.createElement('script');
23
- script.src = 'https://platform.twitter.com/widgets.js';
24
- script.onload = () => {
25
- twttr = getTwitterEmbedApi();
26
- twttr === null || twttr === void 0 ? void 0 : twttr.widgets.load();
27
- script.remove();
28
- };
29
- script.async = true;
30
- document.body.appendChild(script);
31
- }
32
- }, [html]);
33
- }
34
-
35
- function useLoadTwitterEmbedHtml(url) {
36
- const [html, setHtml] = React.useState();
37
- React.useEffect(() => {
38
- if (url) {
39
- let mounted = true;
40
- fetch(`https://publish.twitter.com/oembed?url=${url}&omit_script=true`)
41
- .then((res) => res.json())
42
- .then(({ html }) => {
43
- if (mounted) {
44
- setHtml(html);
45
- }
46
- });
47
- return () => {
48
- mounted = false;
49
- };
50
38
  }
51
- }, [url]);
52
- return html;
39
+ }, [tweetId, tweetContainerRef]);
53
40
  }
54
41
 
55
- function Twitter({ attributes, children, data: url }) {
56
- const html = useLoadTwitterEmbedHtml(url);
57
- useLoadTwitterEmbedApi(html);
58
- return (React__default.createElement("div", Object.assign({}, attributes, { contentEditable: false }),
59
- html && (React__default.createElement("div", { style: {
60
- display: 'flex',
61
- marginTop: -10,
62
- marginBottom: -10,
63
- },
64
- // eslint-disable-next-line react/no-danger
65
- dangerouslySetInnerHTML: {
66
- __html: html,
67
- } })),
68
- attributes ? children : undefined));
42
+ function Twitter({ attributes, children, data: tweetId }) {
43
+ const tweetContainerRef = React.useRef(null);
44
+ const composedRef = utils.composeRefs([attributes === null || attributes === void 0 ? void 0 : attributes.ref, tweetContainerRef]);
45
+ useLoadTwitterEmbedApi(tweetId, tweetContainerRef);
46
+ return (React__default.createElement("div", Object.assign({}, attributes, { ref: composedRef, contentEditable: false }), attributes ? children : undefined));
69
47
  }
70
48
 
71
49
  const defaultRenderTwitterEmbedElement = (props) => React__default.createElement(Twitter, Object.assign({}, props));
@@ -73,4 +51,3 @@ const defaultRenderTwitterEmbedElement = (props) => React__default.createElement
73
51
  exports.Twitter = Twitter;
74
52
  exports.defaultRenderTwitterEmbedElement = defaultRenderTwitterEmbedElement;
75
53
  exports.useLoadTwitterEmbedApi = useLoadTwitterEmbedApi;
76
- exports.useLoadTwitterEmbedHtml = useLoadTwitterEmbedHtml;
@@ -1,4 +1,3 @@
1
1
  export { useLoadTwitterEmbedApi } from './hooks/useLoadTwitterEmbedApi';
2
- export { useLoadTwitterEmbedHtml } from './hooks/useLoadTwitterEmbedHtml';
3
2
  export { TwitterProps, default as Twitter } from './components/Twitter';
4
3
  export { defaultRenderTwitterEmbedElement } from './defaultRenderTwitterEmbedElement';
@@ -1,4 +1,3 @@
1
1
  export { useLoadTwitterEmbedApi } from './hooks/useLoadTwitterEmbedApi.js';
2
- export { useLoadTwitterEmbedHtml } from './hooks/useLoadTwitterEmbedHtml.js';
3
2
  export { default as Twitter } from './components/Twitter.js';
4
3
  export { defaultRenderTwitterEmbedElement } from './defaultRenderTwitterEmbedElement.js';
@@ -5,7 +5,7 @@ Object.defineProperty(exports, '__esModule', { value: true });
5
5
  var React = require('react');
6
6
  var embed = require('@quadrats/react/embed');
7
7
 
8
- function _interopDefaultLegacy (e) { return e && typeof e === 'object' && 'default' in e ? e['default'] : e; }
8
+ function _interopDefaultLegacy (e) { return e && typeof e === 'object' && 'default' in e ? e["default"] : e; }
9
9
 
10
10
  var React__default = /*#__PURE__*/_interopDefaultLegacy(React);
11
11
 
@@ -5,7 +5,7 @@ Object.defineProperty(exports, '__esModule', { value: true });
5
5
  var React = require('react');
6
6
  var embed = require('@quadrats/react/embed');
7
7
 
8
- function _interopDefaultLegacy (e) { return e && typeof e === 'object' && 'default' in e ? e['default'] : e; }
8
+ function _interopDefaultLegacy (e) { return e && typeof e === 'object' && 'default' in e ? e["default"] : e; }
9
9
 
10
10
  var React__default = /*#__PURE__*/_interopDefaultLegacy(React);
11
11