@quadrats/react 0.7.8 → 1.0.0
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.
- package/accordion/accordion.css +1 -0
- package/accordion/accordion.scss +81 -0
- package/accordion/components/Accordion.d.ts +9 -0
- package/accordion/components/Accordion.js +22 -0
- package/accordion/components/AccordionContent.d.ts +8 -0
- package/accordion/components/AccordionContent.js +24 -0
- package/accordion/components/AccordionTitle.d.ts +8 -0
- package/accordion/components/AccordionTitle.js +20 -0
- package/accordion/contexts/AccordionContext.d.ts +2 -0
- package/accordion/contexts/AccordionContext.js +5 -0
- package/accordion/createReactAccordion.d.ts +4 -0
- package/accordion/createReactAccordion.js +144 -0
- package/accordion/defaultRenderAccordionElements.d.ts +2 -0
- package/accordion/defaultRenderAccordionElements.js +12 -0
- package/accordion/hooks/useAccordion.d.ts +1 -0
- package/accordion/hooks/useAccordion.js +8 -0
- package/accordion/index.cjs.js +212 -0
- package/accordion/index.d.ts +8 -0
- package/accordion/index.js +10 -0
- package/accordion/jsx-serializer/createJsxSerializeAccordion.d.ts +5 -0
- package/accordion/jsx-serializer/createJsxSerializeAccordion.js +48 -0
- package/accordion/jsx-serializer/defaultRenderAccordionElements.d.ts +2 -0
- package/accordion/jsx-serializer/defaultRenderAccordionElements.js +16 -0
- package/accordion/jsx-serializer/index.cjs.js +64 -0
- package/accordion/jsx-serializer/index.d.ts +3 -0
- package/accordion/jsx-serializer/index.js +2 -0
- package/accordion/jsx-serializer/package.json +7 -0
- package/accordion/jsx-serializer/typings.d.ts +4 -0
- package/accordion/package.json +10 -0
- package/accordion/toolbar/AccordionToolbarIcon.d.ts +8 -0
- package/accordion/toolbar/AccordionToolbarIcon.js +12 -0
- package/accordion/toolbar/index.cjs.js +22 -0
- package/accordion/toolbar/index.d.ts +2 -0
- package/accordion/toolbar/index.js +2 -0
- package/accordion/toolbar/package.json +7 -0
- package/accordion/toolbar/useAccordionTool.d.ts +4 -0
- package/accordion/toolbar/useAccordionTool.js +10 -0
- package/accordion/typings.d.ts +25 -0
- package/align/constants.d.ts +8 -0
- package/align/constants.js +10 -0
- package/align/createReactAlign.d.ts +2 -0
- package/align/createReactAlign.js +26 -0
- package/align/index.cjs.js +39 -0
- package/align/index.d.ts +3 -0
- package/align/index.js +2 -0
- package/align/package.json +7 -0
- package/align/toolbar/AlignToolbarIcon.d.ts +10 -0
- package/align/toolbar/AlignToolbarIcon.js +12 -0
- package/align/toolbar/index.cjs.js +30 -0
- package/align/toolbar/index.d.ts +2 -0
- package/align/toolbar/index.js +2 -0
- package/align/toolbar/package.json +7 -0
- package/align/toolbar/useAlignTool.d.ts +6 -0
- package/align/toolbar/useAlignTool.js +18 -0
- package/align/typings.d.ts +17 -0
- package/blockquote/blockquote.css +1 -0
- package/blockquote/blockquote.scss +23 -0
- package/blockquote/defaultRenderBlockquoteElement.js +3 -1
- package/blockquote/index.cjs.js +3 -1
- package/blockquote/package.json +4 -1
- package/card/card.css +1 -0
- package/card/card.scss +243 -0
- package/card/components/Card.d.ts +15 -0
- package/card/components/Card.js +101 -0
- package/card/components/CardContents.d.ts +9 -0
- package/card/components/CardContents.js +18 -0
- package/card/components/CardImage.d.ts +9 -0
- package/card/components/CardImage.js +13 -0
- package/card/components/CardPlaceholder.d.ts +4 -0
- package/card/components/CardPlaceholder.js +21 -0
- package/card/createReactCard.d.ts +4 -0
- package/card/createReactCard.js +82 -0
- package/card/defaultRenderCardElements.d.ts +3 -0
- package/card/defaultRenderCardElements.js +14 -0
- package/card/index.cjs.js +234 -0
- package/card/index.d.ts +7 -0
- package/card/index.js +6 -0
- package/card/jsx-serializer/createJsxSerializeCard.d.ts +5 -0
- package/card/jsx-serializer/createJsxSerializeCard.js +48 -0
- package/card/jsx-serializer/defaultRenderCardElements.d.ts +2 -0
- package/card/jsx-serializer/defaultRenderCardElements.js +10 -0
- package/card/jsx-serializer/index.cjs.js +58 -0
- package/card/jsx-serializer/index.d.ts +3 -0
- package/card/jsx-serializer/index.js +2 -0
- package/card/jsx-serializer/package.json +7 -0
- package/card/jsx-serializer/typings.d.ts +9 -0
- package/card/package.json +10 -0
- package/card/toolbar/CardToolbarIcon.d.ts +8 -0
- package/card/toolbar/CardToolbarIcon.js +12 -0
- package/card/toolbar/index.cjs.js +66 -0
- package/card/toolbar/index.d.ts +2 -0
- package/card/toolbar/index.js +2 -0
- package/card/toolbar/package.json +7 -0
- package/card/toolbar/useCardTool.d.ts +4 -0
- package/card/toolbar/useCardTool.js +55 -0
- package/card/typings.d.ts +24 -0
- package/carousel/carousel.css +1 -0
- package/carousel/carousel.scss +356 -0
- package/carousel/components/Carousel.d.ts +15 -0
- package/carousel/components/Carousel.js +62 -0
- package/carousel/components/CarouselCaption.d.ts +9 -0
- package/carousel/components/CarouselCaption.js +12 -0
- package/carousel/components/CarouselImages.d.ts +9 -0
- package/carousel/components/CarouselImages.js +52 -0
- package/carousel/components/CarouselPlaceholder.d.ts +4 -0
- package/carousel/components/CarouselPlaceholder.js +17 -0
- package/carousel/contexts/CarouselContext.d.ts +2 -0
- package/carousel/contexts/CarouselContext.js +5 -0
- package/carousel/createReactCarousel.d.ts +4 -0
- package/carousel/createReactCarousel.js +82 -0
- package/carousel/defaultRenderCarouselElements.d.ts +3 -0
- package/carousel/defaultRenderCarouselElements.js +14 -0
- package/carousel/hooks/useCarousel.d.ts +1 -0
- package/carousel/hooks/useCarousel.js +8 -0
- package/carousel/index.cjs.js +232 -0
- package/carousel/index.d.ts +9 -0
- package/carousel/index.js +8 -0
- package/carousel/jsx-serializer/createJsxSerializeCarousel.d.ts +5 -0
- package/carousel/jsx-serializer/createJsxSerializeCarousel.js +48 -0
- package/carousel/jsx-serializer/defaultRenderCarouselElements.d.ts +2 -0
- package/carousel/jsx-serializer/defaultRenderCarouselElements.js +10 -0
- package/carousel/jsx-serializer/index.cjs.js +58 -0
- package/carousel/jsx-serializer/index.d.ts +3 -0
- package/carousel/jsx-serializer/index.js +2 -0
- package/carousel/jsx-serializer/package.json +7 -0
- package/carousel/jsx-serializer/typings.d.ts +9 -0
- package/carousel/package.json +10 -0
- package/carousel/toolbar/CarouselToolbarIcon.d.ts +8 -0
- package/carousel/toolbar/CarouselToolbarIcon.js +12 -0
- package/carousel/toolbar/index.cjs.js +57 -0
- package/carousel/toolbar/index.d.ts +2 -0
- package/carousel/toolbar/index.js +2 -0
- package/carousel/toolbar/package.json +7 -0
- package/carousel/toolbar/useCarouselTool.d.ts +4 -0
- package/carousel/toolbar/useCarouselTool.js +46 -0
- package/carousel/typings.d.ts +27 -0
- package/components/BaseField/index.d.ts +11 -0
- package/components/BaseField/index.js +17 -0
- package/components/Button/index.d.ts +14 -0
- package/components/Button/index.js +12 -0
- package/components/Hint/index.d.ts +15 -0
- package/components/Hint/index.js +30 -0
- package/components/ImageUploader/index.d.ts +25 -0
- package/components/ImageUploader/index.js +174 -0
- package/components/Input/index.d.ts +14 -0
- package/components/Input/index.js +24 -0
- package/components/Message/index.d.ts +18 -0
- package/components/Message/index.js +72 -0
- package/components/Modal/index.d.ts +28 -0
- package/components/Modal/index.js +61 -0
- package/components/Notifier/NotifierManager.d.ts +17 -0
- package/components/Notifier/NotifierManager.js +24 -0
- package/components/Notifier/createNotifier.d.ts +21 -0
- package/components/Notifier/createNotifier.js +60 -0
- package/components/Notifier/typings.d.ts +28 -0
- package/components/Progress/index.d.ts +1 -1
- package/components/Progress/index.js +12 -8
- package/components/SegmentedControl/index.d.ts +13 -0
- package/components/SegmentedControl/index.js +14 -0
- package/components/Textarea/index.d.ts +15 -0
- package/components/Textarea/index.js +24 -0
- package/components/Toggle/index.d.ts +8 -0
- package/components/Toggle/index.js +15 -0
- package/components/Transition/SlideFade.d.ts +20 -0
- package/components/Transition/SlideFade.js +91 -0
- package/components/Transition/Transition.d.ts +98 -0
- package/components/Transition/Transition.js +27 -0
- package/components/Transition/getTransitionStyleProps.d.ts +16 -0
- package/components/Transition/getTransitionStyleProps.js +25 -0
- package/components/Transition/useSetNodeTransition.d.ts +7 -0
- package/components/Transition/useSetNodeTransition.js +35 -0
- package/components/baseField.css +1 -0
- package/components/baseField.scss +34 -0
- package/components/button.css +1 -0
- package/components/button.scss +254 -0
- package/components/components.css +1 -0
- package/components/components.scss +12 -0
- package/components/hint.css +1 -0
- package/components/hint.scss +59 -0
- package/components/index.cjs.js +647 -11
- package/components/index.d.ts +12 -0
- package/components/index.js +11 -0
- package/components/input.css +1 -0
- package/components/input.scss +102 -0
- package/components/message.css +1 -0
- package/components/message.scss +57 -0
- package/components/modal.css +1 -0
- package/components/modal.scss +200 -0
- package/components/progress.css +1 -1
- package/components/progress.scss +32 -20
- package/components/segmentedControl.css +1 -0
- package/components/segmentedControl.scss +63 -0
- package/components/textarea.css +1 -0
- package/components/textarea.scss +104 -0
- package/components/toggle.css +1 -0
- package/components/toggle.scss +55 -0
- package/components/tooltip.css +1 -1
- package/components/tooltip.scss +1 -1
- package/core/components/Editable.js +22 -3
- package/core/components/Quadrats.d.ts +4 -1
- package/core/components/Quadrats.js +6 -2
- package/core/constants.d.ts +1 -0
- package/core/constants.js +3 -0
- package/core/contexts/composition/CompositionProvider.d.ts +8 -0
- package/core/contexts/composition/CompositionProvider.js +8 -0
- package/core/contexts/composition/composition.d.ts +7 -0
- package/core/contexts/composition/composition.js +11 -0
- package/core/contexts/message/MessageProvider.d.ts +5 -0
- package/core/contexts/message/MessageProvider.js +35 -0
- package/core/contexts/message/message.d.ts +10 -0
- package/core/contexts/message/message.js +10 -0
- package/core/contexts/modal/CardModal/CardModal.d.ts +28 -0
- package/core/contexts/modal/CardModal/CardModal.js +103 -0
- package/core/contexts/modal/CarouselModal/CarouselItem.d.ts +15 -0
- package/core/contexts/modal/CarouselModal/CarouselItem.js +56 -0
- package/core/contexts/modal/CarouselModal/CarouselModal.d.ts +11 -0
- package/core/contexts/modal/CarouselModal/CarouselModal.js +174 -0
- package/core/contexts/modal/CarouselModal/FilesDropZone.d.ts +13 -0
- package/core/contexts/modal/CarouselModal/FilesDropZone.js +64 -0
- package/core/contexts/modal/ConfirmModal/ConfirmModal.d.ts +14 -0
- package/core/contexts/modal/ConfirmModal/ConfirmModal.js +21 -0
- package/core/contexts/modal/EmbedModal/EmbedModal.d.ts +11 -0
- package/core/contexts/modal/EmbedModal/EmbedModal.js +25 -0
- package/core/contexts/modal/ModalProvider.d.ts +8 -0
- package/core/contexts/modal/ModalProvider.js +66 -0
- package/core/contexts/modal/modal.d.ts +24 -0
- package/core/contexts/modal/modal.js +15 -0
- package/core/index.d.ts +8 -1
- package/divider/defaultRenderDividerElement.d.ts +1 -1
- package/divider/defaultRenderDividerElement.js +2 -3
- package/divider/divider.css +1 -0
- package/divider/divider.scss +9 -0
- package/divider/index.cjs.js +2 -3
- package/divider/jsx-serializer/defaultRenderDividerElement.js +2 -1
- package/divider/jsx-serializer/index.cjs.js +2 -1
- package/divider/package.json +4 -1
- package/editable.css +1 -1
- package/editable.scss +5 -6
- package/embed/components/VideoIframe.d.ts +3 -2
- package/embed/components/VideoIframe.js +2 -1
- package/embed/createReactEmbed.js +4 -1
- package/embed/createRenderEmbedElementBase.js +3 -1
- package/embed/embed.css +1 -0
- package/embed/embed.scss +234 -0
- package/embed/index.cjs.js +8 -2
- package/embed/jsx-serializer/youtube/index.cjs.js +1 -10
- package/embed/jsx-serializer/youtube/index.d.ts +1 -1
- package/embed/jsx-serializer/youtube/index.js +1 -1
- package/embed/package.json +4 -1
- package/embed/renderers/base/components/BaseEmbedElement.d.ts +21 -0
- package/embed/renderers/base/components/BaseEmbedElement.js +62 -0
- package/embed/renderers/base/index.cjs.js +65 -0
- package/embed/renderers/base/index.d.ts +1 -0
- package/embed/renderers/base/index.js +1 -0
- package/embed/renderers/base/package.json +7 -0
- package/embed/renderers/facebook/components/Facebook.d.ts +3 -2
- package/embed/renderers/facebook/components/Facebook.js +18 -11
- package/embed/renderers/facebook/defaultRenderFacebookEmbedElement.d.ts +2 -0
- package/embed/renderers/facebook/defaultRenderFacebookEmbedElement.js +42 -2
- package/embed/renderers/facebook/index.cjs.js +61 -12
- package/embed/renderers/facebook/index.d.ts +1 -1
- package/embed/renderers/facebook/index.js +1 -1
- package/embed/renderers/instagram/components/Instagram.d.ts +3 -2
- package/embed/renderers/instagram/components/Instagram.js +22 -11
- package/embed/renderers/instagram/defaultRenderInstagramEmbedElement.d.ts +2 -0
- package/embed/renderers/instagram/defaultRenderInstagramEmbedElement.js +42 -2
- package/embed/renderers/instagram/index.cjs.js +65 -12
- package/embed/renderers/instagram/index.d.ts +1 -1
- package/embed/renderers/instagram/index.js +1 -1
- package/embed/renderers/podcast-apple/components/PodcastApple.d.ts +3 -2
- package/embed/renderers/podcast-apple/components/PodcastApple.js +2 -1
- package/embed/renderers/podcast-apple/defaultRenderPodcastAppleEmbedElement.d.ts +2 -0
- package/embed/renderers/podcast-apple/defaultRenderPodcastAppleEmbedElement.js +35 -2
- package/embed/renderers/podcast-apple/index.cjs.js +38 -2
- package/embed/renderers/podcast-apple/index.d.ts +1 -1
- package/embed/renderers/podcast-apple/index.js +1 -1
- package/embed/renderers/spotify/components/Spotify.d.ts +3 -2
- package/embed/renderers/spotify/components/Spotify.js +3 -1
- package/embed/renderers/spotify/defaultRenderSpotifyEmbedElement.d.ts +2 -0
- package/embed/renderers/spotify/defaultRenderSpotifyEmbedElement.js +32 -2
- package/embed/renderers/spotify/index.cjs.js +36 -2
- package/embed/renderers/spotify/index.d.ts +1 -1
- package/embed/renderers/spotify/index.js +1 -1
- package/embed/renderers/twitter/components/Twitter.d.ts +3 -2
- package/embed/renderers/twitter/components/Twitter.js +14 -2
- package/embed/renderers/twitter/defaultRenderTwitterEmbedElement.d.ts +2 -0
- package/embed/renderers/twitter/defaultRenderTwitterEmbedElement.js +42 -2
- package/embed/renderers/twitter/index.cjs.js +57 -3
- package/embed/renderers/twitter/index.d.ts +1 -1
- package/embed/renderers/twitter/index.js +1 -1
- package/embed/renderers/vimeo/defaultRenderVimeoEmbedElement.d.ts +2 -0
- package/embed/renderers/vimeo/defaultRenderVimeoEmbedElement.js +26 -2
- package/embed/renderers/vimeo/index.cjs.js +27 -1
- package/embed/renderers/vimeo/index.d.ts +1 -1
- package/embed/renderers/vimeo/index.js +1 -1
- package/embed/renderers/youtube/defaultRenderYoutubeEmbedElement.d.ts +2 -0
- package/embed/renderers/youtube/defaultRenderYoutubeEmbedElement.js +26 -2
- package/embed/renderers/youtube/index.cjs.js +27 -1
- package/embed/renderers/youtube/index.d.ts +1 -1
- package/embed/renderers/youtube/index.js +1 -1
- package/embed/toolbar/EmbedToolbarIcon.d.ts +3 -6
- package/embed/toolbar/EmbedToolbarIcon.js +2 -2
- package/embed/toolbar/index.cjs.js +98 -13
- package/embed/toolbar/useEmbedTool.d.ts +1 -3
- package/embed/toolbar/useEmbedTool.js +96 -11
- package/embed/typings.d.ts +1 -0
- package/file-uploader/components/FileUploader.js +1 -2
- package/file-uploader/createReactFileUploader.js +4 -1
- package/file-uploader/defaultRenderFileUploaderElement.js +1 -1
- package/file-uploader/file-uploader.css +1 -1
- package/file-uploader/file-uploader.scss +0 -20
- package/file-uploader/index.cjs.js +5 -3
- package/file-uploader/toolbar/index.cjs.js +4 -1
- package/file-uploader/toolbar/useFileUploaderTool.d.ts +1 -1
- package/file-uploader/toolbar/useFileUploaderTool.js +4 -1
- package/file-uploader/typings.d.ts +6 -1
- package/footnote/defaultRenderFootnoteElement.js +1 -1
- package/footnote/index.cjs.js +1 -1
- package/footnote/jsx-serializer/defaultRenderFootnoteElement.js +1 -1
- package/footnote/jsx-serializer/index.cjs.js +1 -1
- package/footnote/toolbar/index.cjs.js +1 -1
- package/footnote/toolbar/useFootnoteTool.js +1 -1
- package/heading/defaultRenderHeadingElement.js +2 -1
- package/heading/heading.css +1 -0
- package/heading/heading.scss +53 -0
- package/heading/index.cjs.js +2 -1
- package/heading/package.json +4 -1
- package/image/components/Image.js +51 -10
- package/image/components/ImageCaption.js +6 -4
- package/image/components/ImagePlaceholder.d.ts +4 -0
- package/image/components/ImagePlaceholder.js +11 -0
- package/image/image.css +1 -1
- package/image/image.scss +61 -6
- package/image/index.cjs.js +84 -32
- package/image/index.d.ts +1 -0
- package/image/index.js +1 -0
- package/image/jsx-serializer/defaultRenderImageElements.js +2 -1
- package/image/jsx-serializer/index.cjs.js +2 -1
- package/image/jsx-serializer/typings.d.ts +2 -0
- package/image/typings.d.ts +2 -0
- package/index.cjs.js +555 -6
- package/index.js +9 -3
- package/input-block/components/InputBlock.js +19 -9
- package/input-block/defaultRenderInputBlockElement.js +1 -1
- package/input-block/hooks/useInputBlock.d.ts +2 -0
- package/input-block/hooks/useInputBlock.js +16 -8
- package/input-block/index.cjs.js +35 -17
- package/input-block/input-block.css +1 -0
- package/input-block/input-block.scss +38 -0
- package/input-block/package.json +4 -1
- package/line-break/line-break.scss +0 -2
- package/list/createReactList.js +11 -1
- package/list/index.cjs.js +15 -5
- package/list/list.css +1 -0
- package/list/list.scss +43 -0
- package/list/package.json +4 -1
- package/package.json +11 -8
- package/paragraph/createReactParagraph.d.ts +2 -0
- package/paragraph/createReactParagraph.js +8 -0
- package/paragraph/createRenderParagraphElement.d.ts +1 -1
- package/paragraph/defaultRenderParagraphElement.d.ts +3 -1
- package/paragraph/defaultRenderParagraphElement.js +4 -1
- package/paragraph/index.cjs.js +15 -2
- package/paragraph/index.d.ts +1 -0
- package/paragraph/index.js +1 -0
- package/paragraph/paragraph.css +1 -1
- package/paragraph/paragraph.scss +7 -2
- package/paragraph/renderParagraphElementWithSymbol.d.ts +3 -1
- package/paragraph/renderParagraphElementWithSymbol.js +4 -1
- package/paragraph/toolbar/ParagraphToolbarIcon.d.ts +8 -0
- package/paragraph/toolbar/ParagraphToolbarIcon.js +12 -0
- package/paragraph/toolbar/index.cjs.js +23 -0
- package/paragraph/toolbar/index.d.ts +2 -0
- package/paragraph/toolbar/index.js +2 -0
- package/paragraph/toolbar/package.json +7 -0
- package/paragraph/toolbar/useToggleParagraphTool.d.ts +5 -0
- package/paragraph/toolbar/useToggleParagraphTool.js +11 -0
- package/read-more/components/ReadMore.js +5 -3
- package/read-more/index.cjs.js +5 -3
- package/read-more/read-more.css +1 -1
- package/read-more/read-more.scss +27 -20
- package/toolbar/components/InlineToolbar.d.ts +18 -0
- package/toolbar/components/InlineToolbar.js +27 -0
- package/toolbar/components/Toolbar.js +23 -6
- package/toolbar/components/ToolbarGroupIcon.d.ts +7 -0
- package/toolbar/components/ToolbarGroupIcon.js +80 -0
- package/toolbar/components/ToolbarIcon.d.ts +3 -1
- package/toolbar/components/ToolbarIcon.js +24 -6
- package/toolbar/components/toolbarIconName.d.ts +2 -0
- package/toolbar/components/toolbarIconName.js +86 -0
- package/toolbar/contexts/toolbar.d.ts +7 -0
- package/toolbar/contexts/toolbar.js +10 -0
- package/toolbar/contexts/toolbarMenu.d.ts +6 -0
- package/toolbar/contexts/toolbarMenu.js +11 -0
- package/toolbar/hooks/useAutoGroupIcons.d.ts +12 -0
- package/toolbar/hooks/useAutoGroupIcons.js +68 -0
- package/toolbar/index.cjs.js +300 -12
- package/toolbar/index.d.ts +2 -0
- package/toolbar/index.js +2 -0
- package/toolbar/toolbar.css +1 -1
- package/toolbar/toolbar.scss +191 -43
- package/utils/index.cjs.js +153 -0
- package/utils/index.d.ts +6 -0
- package/utils/index.js +6 -0
- package/utils/removePreviousElement.d.ts +9 -0
- package/utils/removePreviousElement.js +38 -0
- package/utils/upload.d.ts +11 -0
- package/utils/upload.js +57 -0
- package/utils/useClickAway.d.ts +5 -0
- package/utils/useClickAway.js +23 -0
- package/utils/useDocumentEvents.d.ts +5 -0
- package/utils/useDocumentEvents.js +21 -0
- package/utils/useIsomorphicLayoutEffect.d.ts +2 -0
- package/utils/useIsomorphicLayoutEffect.js +9 -0
- package/utils/usePreviousValue.d.ts +1 -0
- package/utils/usePreviousValue.js +11 -0
- package/core/index.js +0 -11
|
@@ -1,21 +1,70 @@
|
|
|
1
1
|
'use strict';
|
|
2
2
|
|
|
3
3
|
var React = require('react');
|
|
4
|
+
var clsx = require('clsx');
|
|
5
|
+
var core = require('@quadrats/core');
|
|
6
|
+
var react = require('@quadrats/react');
|
|
7
|
+
var components = require('@quadrats/react/components');
|
|
8
|
+
var icons = require('@quadrats/icons');
|
|
9
|
+
var facebook = require('@quadrats/common/embed/strategies/facebook');
|
|
10
|
+
var base = require('@quadrats/react/embed/renderers/base');
|
|
4
11
|
|
|
5
|
-
function Facebook({ attributes, children, data: { url, width, height } }) {
|
|
6
|
-
return (React.createElement("div", Object.assign({}, attributes, { className:
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
12
|
+
function Facebook({ attributes, children, data: { url, width, height }, element: { align }, toolbarElement, }) {
|
|
13
|
+
return (React.createElement("div", Object.assign({}, attributes, { className: clsx('qdr-embed-facebook', {
|
|
14
|
+
'qdr-embed-facebook--left': align === 'left' || !align,
|
|
15
|
+
'qdr-embed-facebook--center': align === 'center',
|
|
16
|
+
'qdr-embed-facebook--right': align === 'right',
|
|
17
|
+
}), contentEditable: false }),
|
|
18
|
+
React.createElement("div", { className: "qdr-embed__inline-toolbar-wrapper", style: { width, height } },
|
|
19
|
+
toolbarElement,
|
|
20
|
+
React.createElement("iframe", { title: url, src: url, width: width, height: height, style: {
|
|
21
|
+
border: 0,
|
|
22
|
+
overflow: 'hidden',
|
|
23
|
+
}, scrolling: "no", frameBorder: "0",
|
|
24
|
+
// eslint-disable-next-line @typescript-eslint/ban-ts-comment
|
|
25
|
+
// @ts-ignore
|
|
26
|
+
// eslint-disable-next-line react/no-unknown-property
|
|
27
|
+
allowtransparency: "true", allow: "encrypted-media" }),
|
|
28
|
+
attributes ? children : undefined)));
|
|
16
29
|
}
|
|
17
30
|
|
|
18
|
-
const defaultRenderFacebookEmbedElement = (props) =>
|
|
31
|
+
const defaultRenderFacebookEmbedElement = (props) => {
|
|
32
|
+
const { element } = props;
|
|
33
|
+
const locale = react.useLocale();
|
|
34
|
+
return (React.createElement(base.BaseEmbedElement, { element: element, placeholder: locale.editor.facebook.inputPlaceholder, hint: locale.editor.facebook.hint, confirmText: locale.editor.facebook.confirmText, type: "textarea", onConfirm: (editor, path, value) => {
|
|
35
|
+
var _a, _b, _c, _d;
|
|
36
|
+
core.Transforms.setNodes(editor, Object.assign(Object.assign({}, props.element), { url: (_a = facebook.FacebookEmbedStrategy.serialize(value)) === null || _a === void 0 ? void 0 : _a.url, width: (_b = facebook.FacebookEmbedStrategy.serialize(value)) === null || _b === void 0 ? void 0 : _b.width, height: (_c = facebook.FacebookEmbedStrategy.serialize(value)) === null || _c === void 0 ? void 0 : _c.height, embedType: (_d = facebook.FacebookEmbedStrategy.serialize(value)) === null || _d === void 0 ? void 0 : _d.embedType }), { at: path });
|
|
37
|
+
} }, toolbarElement => React.createElement(Facebook, Object.assign({}, props, { toolbarElement: toolbarElement }))));
|
|
38
|
+
};
|
|
39
|
+
const defaultRenderFacebookEmbedPlaceholderElement = () => {
|
|
40
|
+
const locale = react.useLocale();
|
|
41
|
+
return (React.createElement("div", { className: "qdr-embed-facebook__placeholder" },
|
|
42
|
+
React.createElement("div", { className: "qdr-embed-facebook__placeholder__title-wrapper" },
|
|
43
|
+
React.createElement(components.Icon, { className: "qdr-embed__placeholder__icon", icon: icons.Facebook, width: 48, height: 48 }),
|
|
44
|
+
React.createElement("p", { className: "qdr-embed__placeholder__title" }, locale.editor.facebook.blockPlaceholder)),
|
|
45
|
+
React.createElement("div", { className: "qdr-embed-facebook__placeholder__line-wrapper" },
|
|
46
|
+
React.createElement("div", { className: "qdr-embed__placeholder__line", style: { marginRight: 'var(--qdr-spacing-28)' } }),
|
|
47
|
+
React.createElement("div", { className: "qdr-embed__placeholder__line" }),
|
|
48
|
+
React.createElement("div", { className: "qdr-embed__placeholder__line", style: { marginRight: 'var(--qdr-spacing-21)' } })),
|
|
49
|
+
React.createElement("div", { className: "qdr-embed__placeholder__body" }),
|
|
50
|
+
React.createElement("div", { className: "qdr-embed-facebook__placeholder__set-wrapper" },
|
|
51
|
+
React.createElement("div", { className: "qdr-embed-facebook__placeholder__tools-set" },
|
|
52
|
+
React.createElement("div", { className: "qdr-embed__placeholder__dot" }),
|
|
53
|
+
React.createElement("div", { className: "qdr-embed__placeholder__line qdr-embed__placeholder__line--shortest" })),
|
|
54
|
+
React.createElement("div", { className: "qdr-embed-facebook__placeholder__tools-set" },
|
|
55
|
+
React.createElement("div", { className: "qdr-embed__placeholder__dot" }),
|
|
56
|
+
React.createElement("div", { className: "qdr-embed__placeholder__line qdr-embed__placeholder__line--shortest" })),
|
|
57
|
+
React.createElement("div", { className: "qdr-embed-facebook__placeholder__tools-set" },
|
|
58
|
+
React.createElement("div", { className: "qdr-embed__placeholder__dot" }),
|
|
59
|
+
React.createElement("div", { className: "qdr-embed__placeholder__line qdr-embed__placeholder__line--shortest" })))));
|
|
60
|
+
};
|
|
61
|
+
const defaultRenderFacebookEmbedJsxSerializer = (props) => {
|
|
62
|
+
const { element } = props;
|
|
63
|
+
return (React.createElement(base.BaseEmbedElementWithoutToolbar, { element: element },
|
|
64
|
+
React.createElement(Facebook, Object.assign({}, props))));
|
|
65
|
+
};
|
|
19
66
|
|
|
20
67
|
exports.Facebook = Facebook;
|
|
21
68
|
exports.defaultRenderFacebookEmbedElement = defaultRenderFacebookEmbedElement;
|
|
69
|
+
exports.defaultRenderFacebookEmbedJsxSerializer = defaultRenderFacebookEmbedJsxSerializer;
|
|
70
|
+
exports.defaultRenderFacebookEmbedPlaceholderElement = defaultRenderFacebookEmbedPlaceholderElement;
|
|
@@ -1,2 +1,2 @@
|
|
|
1
1
|
export { FacebookProps, default as Facebook } from './components/Facebook';
|
|
2
|
-
export
|
|
2
|
+
export * from './defaultRenderFacebookEmbedElement';
|
|
@@ -1,2 +1,2 @@
|
|
|
1
1
|
export { default as Facebook } from './components/Facebook.js';
|
|
2
|
-
export { defaultRenderFacebookEmbedElement } from './defaultRenderFacebookEmbedElement.js';
|
|
2
|
+
export { defaultRenderFacebookEmbedElement, defaultRenderFacebookEmbedJsxSerializer, defaultRenderFacebookEmbedPlaceholderElement } from './defaultRenderFacebookEmbedElement.js';
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import React from 'react';
|
|
1
|
+
import React, { ReactNode } from 'react';
|
|
2
2
|
import { InstagramEmbedElement } from '@quadrats/common/embed/strategies/instagram';
|
|
3
3
|
import { RenderElementProps } from '@quadrats/react';
|
|
4
4
|
export interface InstagramProps {
|
|
@@ -6,6 +6,7 @@ export interface InstagramProps {
|
|
|
6
6
|
children?: any;
|
|
7
7
|
data: string;
|
|
8
8
|
element: InstagramEmbedElement;
|
|
9
|
+
toolbarElement: ReactNode;
|
|
9
10
|
}
|
|
10
|
-
declare function Instagram({ attributes, children, data: permalink }: InstagramProps): React.JSX.Element;
|
|
11
|
+
declare function Instagram({ attributes, children, data: permalink, element: { align }, toolbarElement }: InstagramProps): React.JSX.Element;
|
|
11
12
|
export default Instagram;
|
|
@@ -1,7 +1,8 @@
|
|
|
1
1
|
import React, { useEffect } from 'react';
|
|
2
|
+
import clsx from 'clsx';
|
|
2
3
|
import { useLoadInstagramEmbedApi } from '../hooks/useLoadInstagramEmbedApi.js';
|
|
3
4
|
|
|
4
|
-
function Instagram({ attributes, children, data: permalink }) {
|
|
5
|
+
function Instagram({ attributes, children, data: permalink, element: { align }, toolbarElement }) {
|
|
5
6
|
useLoadInstagramEmbedApi(permalink);
|
|
6
7
|
useEffect(() => {
|
|
7
8
|
const observer = new MutationObserver((mutations) => {
|
|
@@ -21,22 +22,32 @@ function Instagram({ attributes, children, data: permalink }) {
|
|
|
21
22
|
observer.disconnect();
|
|
22
23
|
};
|
|
23
24
|
}, []);
|
|
24
|
-
return (React.createElement("div", Object.assign({}, attributes, { className:
|
|
25
|
+
return (React.createElement("div", Object.assign({}, attributes, { className: clsx('qdr-embed-instagram', {
|
|
26
|
+
'qdr-embed-instagram--left': align === 'left' || !align,
|
|
27
|
+
'qdr-embed-instagram--center': align === 'center',
|
|
28
|
+
'qdr-embed-instagram--right': align === 'right',
|
|
29
|
+
}), contentEditable: false, style: {
|
|
25
30
|
display: 'flex',
|
|
26
31
|
marginBottom: -12,
|
|
27
32
|
} }),
|
|
28
|
-
React.createElement("
|
|
29
|
-
background: '#FFF',
|
|
30
|
-
border: 0,
|
|
31
|
-
borderRadius: 3,
|
|
32
|
-
boxShadow: '0 0 1px 0 rgba(0,0,0,0.5), 0 1px 10px 0 rgba(0,0,0,0.15)',
|
|
33
|
-
margin: 1,
|
|
33
|
+
React.createElement("div", { className: "qdr-embed__inline-toolbar-wrapper", style: {
|
|
34
34
|
maxWidth: 540,
|
|
35
35
|
minWidth: 326,
|
|
36
|
-
padding: 0,
|
|
37
36
|
width: 'calc(100% - 2px)',
|
|
38
|
-
} }
|
|
39
|
-
|
|
37
|
+
} },
|
|
38
|
+
toolbarElement,
|
|
39
|
+
React.createElement("blockquote", { className: "instagram-media", "data-instgrm-captioned": true, "data-instgrm-permalink": permalink, "data-instgrm-version": "13", style: {
|
|
40
|
+
background: '#FFF',
|
|
41
|
+
border: 0,
|
|
42
|
+
borderRadius: 3,
|
|
43
|
+
boxShadow: '0 0 1px 0 rgba(0,0,0,0.5), 0 1px 10px 0 rgba(0,0,0,0.15)',
|
|
44
|
+
margin: 1,
|
|
45
|
+
maxWidth: 540,
|
|
46
|
+
minWidth: 326,
|
|
47
|
+
padding: 0,
|
|
48
|
+
width: 'calc(100% - 2px)',
|
|
49
|
+
} }),
|
|
50
|
+
attributes ? children : undefined)));
|
|
40
51
|
}
|
|
41
52
|
|
|
42
53
|
export { Instagram as default };
|
|
@@ -1,3 +1,5 @@
|
|
|
1
1
|
import React from 'react';
|
|
2
2
|
import { InstagramProps } from './components/Instagram';
|
|
3
3
|
export declare const defaultRenderInstagramEmbedElement: (props: InstagramProps) => React.JSX.Element;
|
|
4
|
+
export declare const defaultRenderInstagramEmbedPlaceholderElement: () => React.JSX.Element;
|
|
5
|
+
export declare const defaultRenderInstagramEmbedJsxSerializer: (props: InstagramProps) => React.JSX.Element;
|
|
@@ -1,6 +1,46 @@
|
|
|
1
1
|
import React from 'react';
|
|
2
|
+
import { Transforms } from '@quadrats/core';
|
|
3
|
+
import { useLocale } from '@quadrats/react';
|
|
4
|
+
import { Icon } from '@quadrats/react/components';
|
|
5
|
+
import { Instagram as Instagram$1 } from '@quadrats/icons';
|
|
6
|
+
import { InstagramEmbedStrategy } from '@quadrats/common/embed/strategies/instagram';
|
|
2
7
|
import Instagram from './components/Instagram.js';
|
|
8
|
+
import { BaseEmbedElement, BaseEmbedElementWithoutToolbar } from '@quadrats/react/embed/renderers/base';
|
|
3
9
|
|
|
4
|
-
const defaultRenderInstagramEmbedElement = (props) =>
|
|
10
|
+
const defaultRenderInstagramEmbedElement = (props) => {
|
|
11
|
+
const { element } = props;
|
|
12
|
+
const locale = useLocale();
|
|
13
|
+
return (React.createElement(BaseEmbedElement, { element: element, placeholder: locale.editor.instagram.inputPlaceholder, hint: locale.editor.instagram.hint, confirmText: locale.editor.instagram.confirmText, onConfirm: (editor, path, value) => {
|
|
14
|
+
var _a;
|
|
15
|
+
Transforms.setNodes(editor, Object.assign(Object.assign({}, props.element), { url: (_a = InstagramEmbedStrategy.serialize(value)) === null || _a === void 0 ? void 0 : _a.url }), { at: path });
|
|
16
|
+
} }, toolbarElement => React.createElement(Instagram, Object.assign({}, props, { toolbarElement: toolbarElement }))));
|
|
17
|
+
};
|
|
18
|
+
const defaultRenderInstagramEmbedPlaceholderElement = () => {
|
|
19
|
+
const locale = useLocale();
|
|
20
|
+
return (React.createElement("div", { className: "qdr-embed-instagram__placeholder" },
|
|
21
|
+
React.createElement("div", { className: "qdr-embed-instagram__placeholder__title-wrapper" },
|
|
22
|
+
React.createElement(Icon, { className: "qdr-embed__placeholder__icon", icon: Instagram$1, width: 48, height: 48 }),
|
|
23
|
+
React.createElement("p", { className: "qdr-embed__placeholder__title" }, locale.editor.instagram.blockPlaceholder)),
|
|
24
|
+
React.createElement("div", { className: "qdr-embed__placeholder__body qdr-embed__placeholder__body--square" }),
|
|
25
|
+
React.createElement("div", { className: "qdr-embed-instagram__placeholder__set-wrapper" },
|
|
26
|
+
React.createElement("div", { className: "qdr-embed-instagram__placeholder__tools-set" },
|
|
27
|
+
React.createElement("div", { className: "qdr-embed__placeholder__dot" }),
|
|
28
|
+
React.createElement("div", { className: "qdr-embed__placeholder__line qdr-embed__placeholder__line--shortest" })),
|
|
29
|
+
React.createElement("div", { className: "qdr-embed-instagram__placeholder__tools-set" },
|
|
30
|
+
React.createElement("div", { className: "qdr-embed__placeholder__dot" }),
|
|
31
|
+
React.createElement("div", { className: "qdr-embed__placeholder__line qdr-embed__placeholder__line--shortest" })),
|
|
32
|
+
React.createElement("div", { className: "qdr-embed-instagram__placeholder__tools-set" },
|
|
33
|
+
React.createElement("div", { className: "qdr-embed__placeholder__dot" }),
|
|
34
|
+
React.createElement("div", { className: "qdr-embed__placeholder__line qdr-embed__placeholder__line--shortest" }))),
|
|
35
|
+
React.createElement("div", { className: "qdr-embed-instagram__placeholder__line-wrapper" },
|
|
36
|
+
React.createElement("div", { className: "qdr-embed__placeholder__line", style: { marginRight: 'var(--qdr-spacing-28)' } }),
|
|
37
|
+
React.createElement("div", { className: "qdr-embed__placeholder__line" }),
|
|
38
|
+
React.createElement("div", { className: "qdr-embed__placeholder__line", style: { marginRight: 'var(--qdr-spacing-21)' } }))));
|
|
39
|
+
};
|
|
40
|
+
const defaultRenderInstagramEmbedJsxSerializer = (props) => {
|
|
41
|
+
const { element } = props;
|
|
42
|
+
return (React.createElement(BaseEmbedElementWithoutToolbar, { element: element },
|
|
43
|
+
React.createElement(Instagram, Object.assign({}, props))));
|
|
44
|
+
};
|
|
5
45
|
|
|
6
|
-
export { defaultRenderInstagramEmbedElement };
|
|
46
|
+
export { defaultRenderInstagramEmbedElement, defaultRenderInstagramEmbedJsxSerializer, defaultRenderInstagramEmbedPlaceholderElement };
|
|
@@ -1,6 +1,13 @@
|
|
|
1
1
|
'use strict';
|
|
2
2
|
|
|
3
3
|
var React = require('react');
|
|
4
|
+
var clsx = require('clsx');
|
|
5
|
+
var core = require('@quadrats/core');
|
|
6
|
+
var react = require('@quadrats/react');
|
|
7
|
+
var components = require('@quadrats/react/components');
|
|
8
|
+
var icons = require('@quadrats/icons');
|
|
9
|
+
var instagram = require('@quadrats/common/embed/strategies/instagram');
|
|
10
|
+
var base = require('@quadrats/react/embed/renderers/base');
|
|
4
11
|
|
|
5
12
|
function getInstagramEmbedApi() {
|
|
6
13
|
return window.instgrm;
|
|
@@ -26,7 +33,7 @@ function useLoadInstagramEmbedApi(permalink) {
|
|
|
26
33
|
}, [permalink]);
|
|
27
34
|
}
|
|
28
35
|
|
|
29
|
-
function Instagram({ attributes, children, data: permalink }) {
|
|
36
|
+
function Instagram({ attributes, children, data: permalink, element: { align }, toolbarElement }) {
|
|
30
37
|
useLoadInstagramEmbedApi(permalink);
|
|
31
38
|
React.useEffect(() => {
|
|
32
39
|
const observer = new MutationObserver((mutations) => {
|
|
@@ -46,26 +53,72 @@ function Instagram({ attributes, children, data: permalink }) {
|
|
|
46
53
|
observer.disconnect();
|
|
47
54
|
};
|
|
48
55
|
}, []);
|
|
49
|
-
return (React.createElement("div", Object.assign({}, attributes, { className:
|
|
56
|
+
return (React.createElement("div", Object.assign({}, attributes, { className: clsx('qdr-embed-instagram', {
|
|
57
|
+
'qdr-embed-instagram--left': align === 'left' || !align,
|
|
58
|
+
'qdr-embed-instagram--center': align === 'center',
|
|
59
|
+
'qdr-embed-instagram--right': align === 'right',
|
|
60
|
+
}), contentEditable: false, style: {
|
|
50
61
|
display: 'flex',
|
|
51
62
|
marginBottom: -12,
|
|
52
63
|
} }),
|
|
53
|
-
React.createElement("
|
|
54
|
-
background: '#FFF',
|
|
55
|
-
border: 0,
|
|
56
|
-
borderRadius: 3,
|
|
57
|
-
boxShadow: '0 0 1px 0 rgba(0,0,0,0.5), 0 1px 10px 0 rgba(0,0,0,0.15)',
|
|
58
|
-
margin: 1,
|
|
64
|
+
React.createElement("div", { className: "qdr-embed__inline-toolbar-wrapper", style: {
|
|
59
65
|
maxWidth: 540,
|
|
60
66
|
minWidth: 326,
|
|
61
|
-
padding: 0,
|
|
62
67
|
width: 'calc(100% - 2px)',
|
|
63
|
-
} }
|
|
64
|
-
|
|
68
|
+
} },
|
|
69
|
+
toolbarElement,
|
|
70
|
+
React.createElement("blockquote", { className: "instagram-media", "data-instgrm-captioned": true, "data-instgrm-permalink": permalink, "data-instgrm-version": "13", style: {
|
|
71
|
+
background: '#FFF',
|
|
72
|
+
border: 0,
|
|
73
|
+
borderRadius: 3,
|
|
74
|
+
boxShadow: '0 0 1px 0 rgba(0,0,0,0.5), 0 1px 10px 0 rgba(0,0,0,0.15)',
|
|
75
|
+
margin: 1,
|
|
76
|
+
maxWidth: 540,
|
|
77
|
+
minWidth: 326,
|
|
78
|
+
padding: 0,
|
|
79
|
+
width: 'calc(100% - 2px)',
|
|
80
|
+
} }),
|
|
81
|
+
attributes ? children : undefined)));
|
|
65
82
|
}
|
|
66
83
|
|
|
67
|
-
const defaultRenderInstagramEmbedElement = (props) =>
|
|
84
|
+
const defaultRenderInstagramEmbedElement = (props) => {
|
|
85
|
+
const { element } = props;
|
|
86
|
+
const locale = react.useLocale();
|
|
87
|
+
return (React.createElement(base.BaseEmbedElement, { element: element, placeholder: locale.editor.instagram.inputPlaceholder, hint: locale.editor.instagram.hint, confirmText: locale.editor.instagram.confirmText, onConfirm: (editor, path, value) => {
|
|
88
|
+
var _a;
|
|
89
|
+
core.Transforms.setNodes(editor, Object.assign(Object.assign({}, props.element), { url: (_a = instagram.InstagramEmbedStrategy.serialize(value)) === null || _a === void 0 ? void 0 : _a.url }), { at: path });
|
|
90
|
+
} }, toolbarElement => React.createElement(Instagram, Object.assign({}, props, { toolbarElement: toolbarElement }))));
|
|
91
|
+
};
|
|
92
|
+
const defaultRenderInstagramEmbedPlaceholderElement = () => {
|
|
93
|
+
const locale = react.useLocale();
|
|
94
|
+
return (React.createElement("div", { className: "qdr-embed-instagram__placeholder" },
|
|
95
|
+
React.createElement("div", { className: "qdr-embed-instagram__placeholder__title-wrapper" },
|
|
96
|
+
React.createElement(components.Icon, { className: "qdr-embed__placeholder__icon", icon: icons.Instagram, width: 48, height: 48 }),
|
|
97
|
+
React.createElement("p", { className: "qdr-embed__placeholder__title" }, locale.editor.instagram.blockPlaceholder)),
|
|
98
|
+
React.createElement("div", { className: "qdr-embed__placeholder__body qdr-embed__placeholder__body--square" }),
|
|
99
|
+
React.createElement("div", { className: "qdr-embed-instagram__placeholder__set-wrapper" },
|
|
100
|
+
React.createElement("div", { className: "qdr-embed-instagram__placeholder__tools-set" },
|
|
101
|
+
React.createElement("div", { className: "qdr-embed__placeholder__dot" }),
|
|
102
|
+
React.createElement("div", { className: "qdr-embed__placeholder__line qdr-embed__placeholder__line--shortest" })),
|
|
103
|
+
React.createElement("div", { className: "qdr-embed-instagram__placeholder__tools-set" },
|
|
104
|
+
React.createElement("div", { className: "qdr-embed__placeholder__dot" }),
|
|
105
|
+
React.createElement("div", { className: "qdr-embed__placeholder__line qdr-embed__placeholder__line--shortest" })),
|
|
106
|
+
React.createElement("div", { className: "qdr-embed-instagram__placeholder__tools-set" },
|
|
107
|
+
React.createElement("div", { className: "qdr-embed__placeholder__dot" }),
|
|
108
|
+
React.createElement("div", { className: "qdr-embed__placeholder__line qdr-embed__placeholder__line--shortest" }))),
|
|
109
|
+
React.createElement("div", { className: "qdr-embed-instagram__placeholder__line-wrapper" },
|
|
110
|
+
React.createElement("div", { className: "qdr-embed__placeholder__line", style: { marginRight: 'var(--qdr-spacing-28)' } }),
|
|
111
|
+
React.createElement("div", { className: "qdr-embed__placeholder__line" }),
|
|
112
|
+
React.createElement("div", { className: "qdr-embed__placeholder__line", style: { marginRight: 'var(--qdr-spacing-21)' } }))));
|
|
113
|
+
};
|
|
114
|
+
const defaultRenderInstagramEmbedJsxSerializer = (props) => {
|
|
115
|
+
const { element } = props;
|
|
116
|
+
return (React.createElement(base.BaseEmbedElementWithoutToolbar, { element: element },
|
|
117
|
+
React.createElement(Instagram, Object.assign({}, props))));
|
|
118
|
+
};
|
|
68
119
|
|
|
69
120
|
exports.Instagram = Instagram;
|
|
70
121
|
exports.defaultRenderInstagramEmbedElement = defaultRenderInstagramEmbedElement;
|
|
122
|
+
exports.defaultRenderInstagramEmbedJsxSerializer = defaultRenderInstagramEmbedJsxSerializer;
|
|
123
|
+
exports.defaultRenderInstagramEmbedPlaceholderElement = defaultRenderInstagramEmbedPlaceholderElement;
|
|
71
124
|
exports.useLoadInstagramEmbedApi = useLoadInstagramEmbedApi;
|
|
@@ -1,3 +1,3 @@
|
|
|
1
1
|
export { useLoadInstagramEmbedApi } from './hooks/useLoadInstagramEmbedApi';
|
|
2
2
|
export { InstagramProps, default as Instagram } from './components/Instagram';
|
|
3
|
-
export
|
|
3
|
+
export * from './defaultRenderInstagramEmbedElement';
|
|
@@ -1,3 +1,3 @@
|
|
|
1
1
|
export { useLoadInstagramEmbedApi } from './hooks/useLoadInstagramEmbedApi.js';
|
|
2
2
|
export { default as Instagram } from './components/Instagram.js';
|
|
3
|
-
export { defaultRenderInstagramEmbedElement } from './defaultRenderInstagramEmbedElement.js';
|
|
3
|
+
export { defaultRenderInstagramEmbedElement, defaultRenderInstagramEmbedJsxSerializer, defaultRenderInstagramEmbedPlaceholderElement } from './defaultRenderInstagramEmbedElement.js';
|
|
@@ -1,10 +1,11 @@
|
|
|
1
|
-
import React, { PropsWithChildren } from 'react';
|
|
1
|
+
import React, { PropsWithChildren, ReactNode } from 'react';
|
|
2
2
|
import { PodcastAppleEmbedElement } from '@quadrats/common/embed/strategies/podcast-apple';
|
|
3
3
|
import { RenderElementProps } from '@quadrats/react';
|
|
4
4
|
export interface PodcastAppleProps {
|
|
5
5
|
attributes?: RenderElementProps['attributes'];
|
|
6
6
|
data: string;
|
|
7
7
|
element: PodcastAppleEmbedElement;
|
|
8
|
+
toolbarElement: ReactNode;
|
|
8
9
|
}
|
|
9
|
-
declare function PodcastApple({ attributes, children, data: src }: PropsWithChildren<PodcastAppleProps>): React.JSX.Element;
|
|
10
|
+
declare function PodcastApple({ attributes, children, data: src, toolbarElement }: PropsWithChildren<PodcastAppleProps>): React.JSX.Element;
|
|
10
11
|
export default PodcastApple;
|
|
@@ -1,10 +1,11 @@
|
|
|
1
1
|
import React, { useRef } from 'react';
|
|
2
2
|
import { composeRefs } from '@quadrats/react/utils';
|
|
3
3
|
|
|
4
|
-
function PodcastApple({ attributes, children, data: src }) {
|
|
4
|
+
function PodcastApple({ attributes, children, data: src, toolbarElement }) {
|
|
5
5
|
const containerRef = useRef(null);
|
|
6
6
|
const composedRef = composeRefs([attributes === null || attributes === void 0 ? void 0 : attributes.ref, containerRef]);
|
|
7
7
|
return (React.createElement("div", Object.assign({}, attributes, { className: "qdr-embed-podcast-apple", ref: composedRef, contentEditable: false }),
|
|
8
|
+
toolbarElement,
|
|
8
9
|
React.createElement("iframe", { title: src, src: src, frameBorder: "0", width: "100%", height: "450px" }),
|
|
9
10
|
attributes ? children : undefined));
|
|
10
11
|
}
|
|
@@ -1,3 +1,5 @@
|
|
|
1
1
|
import React from 'react';
|
|
2
2
|
import { PodcastAppleProps } from './components/PodcastApple';
|
|
3
3
|
export declare const defaultRenderPodcastAppleEmbedElement: (props: PodcastAppleProps) => React.JSX.Element;
|
|
4
|
+
export declare const defaultRenderPodcastAppleEmbedPlaceholderElement: () => React.JSX.Element;
|
|
5
|
+
export declare const defaultRenderPodcastAppleEmbedJsxSerializer: (props: PodcastAppleProps) => React.JSX.Element;
|
|
@@ -1,6 +1,39 @@
|
|
|
1
1
|
import React from 'react';
|
|
2
|
+
import { Transforms } from '@quadrats/core';
|
|
3
|
+
import { useLocale } from '@quadrats/react';
|
|
4
|
+
import { Icon } from '@quadrats/react/components';
|
|
5
|
+
import { PodcastApple as PodcastApple$1 } from '@quadrats/icons';
|
|
6
|
+
import { PodcastAppleEmbedStrategy } from '@quadrats/common/embed/strategies/podcast-apple';
|
|
2
7
|
import PodcastApple from './components/PodcastApple.js';
|
|
8
|
+
import { BaseEmbedElement, BaseEmbedElementWithoutToolbar } from '@quadrats/react/embed/renderers/base';
|
|
3
9
|
|
|
4
|
-
const defaultRenderPodcastAppleEmbedElement = (props) =>
|
|
10
|
+
const defaultRenderPodcastAppleEmbedElement = (props) => {
|
|
11
|
+
const { element } = props;
|
|
12
|
+
const locale = useLocale();
|
|
13
|
+
return (React.createElement(BaseEmbedElement, { element: element, placeholder: locale.editor.podcastApple.inputPlaceholder, hint: locale.editor.podcastApple.hint, confirmText: locale.editor.podcastApple.confirmText, onConfirm: (editor, path, value) => {
|
|
14
|
+
var _a, _b, _c;
|
|
15
|
+
Transforms.setNodes(editor, Object.assign(Object.assign({}, props.element), { embedType: (_a = PodcastAppleEmbedStrategy.serialize(value)) === null || _a === void 0 ? void 0 : _a.embedType, language: (_b = PodcastAppleEmbedStrategy.serialize(value)) === null || _b === void 0 ? void 0 : _b.language, contextId: (_c = PodcastAppleEmbedStrategy.serialize(value)) === null || _c === void 0 ? void 0 : _c.contextId }), { at: path });
|
|
16
|
+
} }, toolbarElement => React.createElement(PodcastApple, Object.assign({}, props, { toolbarElement: toolbarElement }))));
|
|
17
|
+
};
|
|
18
|
+
const defaultRenderPodcastAppleEmbedPlaceholderElement = () => {
|
|
19
|
+
const locale = useLocale();
|
|
20
|
+
return (React.createElement("div", { className: "qdr-embed-podcast-apple__placeholder" },
|
|
21
|
+
React.createElement(Icon, { className: "qdr-embed__placeholder__icon", icon: PodcastApple$1, width: 24, height: 24 }),
|
|
22
|
+
React.createElement("div", { className: "qdr-embed-podcast-apple__placeholder__wrapper" },
|
|
23
|
+
React.createElement("div", { style: { width: 120 }, className: "qdr-embed__placeholder__body qdr-embed__placeholder__body--square" }),
|
|
24
|
+
React.createElement("div", { className: "qdr-embed-podcast-apple__placeholder__content-wrapper" },
|
|
25
|
+
React.createElement("div", { className: "qdr-embed-podcast-apple__placeholder__title-wrapper" },
|
|
26
|
+
React.createElement("p", { className: "qdr-embed__placeholder__title" }, locale.editor.podcastApple.blockPlaceholder),
|
|
27
|
+
React.createElement("div", { className: "qdr-embed__placeholder__line", style: { marginRight: 'var(--qdr-spacing-18)' } }),
|
|
28
|
+
React.createElement("div", { className: "qdr-embed__placeholder__line", style: { marginRight: 'var(--qdr-spacing-24)' } })),
|
|
29
|
+
React.createElement("div", { className: "qdr-embed-podcast-apple__placeholder__blocks-wrapper" },
|
|
30
|
+
React.createElement("div", { className: "qdr-embed__placeholder__block" }),
|
|
31
|
+
React.createElement("div", { className: "qdr-embed__placeholder__block" }))))));
|
|
32
|
+
};
|
|
33
|
+
const defaultRenderPodcastAppleEmbedJsxSerializer = (props) => {
|
|
34
|
+
const { element } = props;
|
|
35
|
+
return (React.createElement(BaseEmbedElementWithoutToolbar, { element: element },
|
|
36
|
+
React.createElement(PodcastApple, Object.assign({}, props))));
|
|
37
|
+
};
|
|
5
38
|
|
|
6
|
-
export { defaultRenderPodcastAppleEmbedElement };
|
|
39
|
+
export { defaultRenderPodcastAppleEmbedElement, defaultRenderPodcastAppleEmbedJsxSerializer, defaultRenderPodcastAppleEmbedPlaceholderElement };
|
|
@@ -2,16 +2,52 @@
|
|
|
2
2
|
|
|
3
3
|
var React = require('react');
|
|
4
4
|
var utils = require('@quadrats/react/utils');
|
|
5
|
+
var core = require('@quadrats/core');
|
|
6
|
+
var react = require('@quadrats/react');
|
|
7
|
+
var components = require('@quadrats/react/components');
|
|
8
|
+
var icons = require('@quadrats/icons');
|
|
9
|
+
var podcastApple = require('@quadrats/common/embed/strategies/podcast-apple');
|
|
10
|
+
var base = require('@quadrats/react/embed/renderers/base');
|
|
5
11
|
|
|
6
|
-
function PodcastApple({ attributes, children, data: src }) {
|
|
12
|
+
function PodcastApple({ attributes, children, data: src, toolbarElement }) {
|
|
7
13
|
const containerRef = React.useRef(null);
|
|
8
14
|
const composedRef = utils.composeRefs([attributes === null || attributes === void 0 ? void 0 : attributes.ref, containerRef]);
|
|
9
15
|
return (React.createElement("div", Object.assign({}, attributes, { className: "qdr-embed-podcast-apple", ref: composedRef, contentEditable: false }),
|
|
16
|
+
toolbarElement,
|
|
10
17
|
React.createElement("iframe", { title: src, src: src, frameBorder: "0", width: "100%", height: "450px" }),
|
|
11
18
|
attributes ? children : undefined));
|
|
12
19
|
}
|
|
13
20
|
|
|
14
|
-
const defaultRenderPodcastAppleEmbedElement = (props) =>
|
|
21
|
+
const defaultRenderPodcastAppleEmbedElement = (props) => {
|
|
22
|
+
const { element } = props;
|
|
23
|
+
const locale = react.useLocale();
|
|
24
|
+
return (React.createElement(base.BaseEmbedElement, { element: element, placeholder: locale.editor.podcastApple.inputPlaceholder, hint: locale.editor.podcastApple.hint, confirmText: locale.editor.podcastApple.confirmText, onConfirm: (editor, path, value) => {
|
|
25
|
+
var _a, _b, _c;
|
|
26
|
+
core.Transforms.setNodes(editor, Object.assign(Object.assign({}, props.element), { embedType: (_a = podcastApple.PodcastAppleEmbedStrategy.serialize(value)) === null || _a === void 0 ? void 0 : _a.embedType, language: (_b = podcastApple.PodcastAppleEmbedStrategy.serialize(value)) === null || _b === void 0 ? void 0 : _b.language, contextId: (_c = podcastApple.PodcastAppleEmbedStrategy.serialize(value)) === null || _c === void 0 ? void 0 : _c.contextId }), { at: path });
|
|
27
|
+
} }, toolbarElement => React.createElement(PodcastApple, Object.assign({}, props, { toolbarElement: toolbarElement }))));
|
|
28
|
+
};
|
|
29
|
+
const defaultRenderPodcastAppleEmbedPlaceholderElement = () => {
|
|
30
|
+
const locale = react.useLocale();
|
|
31
|
+
return (React.createElement("div", { className: "qdr-embed-podcast-apple__placeholder" },
|
|
32
|
+
React.createElement(components.Icon, { className: "qdr-embed__placeholder__icon", icon: icons.PodcastApple, width: 24, height: 24 }),
|
|
33
|
+
React.createElement("div", { className: "qdr-embed-podcast-apple__placeholder__wrapper" },
|
|
34
|
+
React.createElement("div", { style: { width: 120 }, className: "qdr-embed__placeholder__body qdr-embed__placeholder__body--square" }),
|
|
35
|
+
React.createElement("div", { className: "qdr-embed-podcast-apple__placeholder__content-wrapper" },
|
|
36
|
+
React.createElement("div", { className: "qdr-embed-podcast-apple__placeholder__title-wrapper" },
|
|
37
|
+
React.createElement("p", { className: "qdr-embed__placeholder__title" }, locale.editor.podcastApple.blockPlaceholder),
|
|
38
|
+
React.createElement("div", { className: "qdr-embed__placeholder__line", style: { marginRight: 'var(--qdr-spacing-18)' } }),
|
|
39
|
+
React.createElement("div", { className: "qdr-embed__placeholder__line", style: { marginRight: 'var(--qdr-spacing-24)' } })),
|
|
40
|
+
React.createElement("div", { className: "qdr-embed-podcast-apple__placeholder__blocks-wrapper" },
|
|
41
|
+
React.createElement("div", { className: "qdr-embed__placeholder__block" }),
|
|
42
|
+
React.createElement("div", { className: "qdr-embed__placeholder__block" }))))));
|
|
43
|
+
};
|
|
44
|
+
const defaultRenderPodcastAppleEmbedJsxSerializer = (props) => {
|
|
45
|
+
const { element } = props;
|
|
46
|
+
return (React.createElement(base.BaseEmbedElementWithoutToolbar, { element: element },
|
|
47
|
+
React.createElement(PodcastApple, Object.assign({}, props))));
|
|
48
|
+
};
|
|
15
49
|
|
|
16
50
|
exports.PodcastApple = PodcastApple;
|
|
17
51
|
exports.defaultRenderPodcastAppleEmbedElement = defaultRenderPodcastAppleEmbedElement;
|
|
52
|
+
exports.defaultRenderPodcastAppleEmbedJsxSerializer = defaultRenderPodcastAppleEmbedJsxSerializer;
|
|
53
|
+
exports.defaultRenderPodcastAppleEmbedPlaceholderElement = defaultRenderPodcastAppleEmbedPlaceholderElement;
|
|
@@ -1,2 +1,2 @@
|
|
|
1
1
|
export { PodcastAppleProps, default as PodcastApple } from './components/PodcastApple';
|
|
2
|
-
export
|
|
2
|
+
export * from './defaultRenderPodcastAppleEmbedElement';
|
|
@@ -1,2 +1,2 @@
|
|
|
1
1
|
export { default as PodcastApple } from './components/PodcastApple.js';
|
|
2
|
-
export { defaultRenderPodcastAppleEmbedElement } from './defaultRenderPodcastAppleEmbedElement.js';
|
|
2
|
+
export { defaultRenderPodcastAppleEmbedElement, defaultRenderPodcastAppleEmbedJsxSerializer, defaultRenderPodcastAppleEmbedPlaceholderElement } from './defaultRenderPodcastAppleEmbedElement.js';
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import React from 'react';
|
|
1
|
+
import React, { ReactNode } from 'react';
|
|
2
2
|
import { SpotifyEmbedElement } from '@quadrats/common/embed/strategies/spotify';
|
|
3
3
|
import { RenderElementProps } from '@quadrats/react';
|
|
4
4
|
export interface SpotifyProps {
|
|
@@ -6,6 +6,7 @@ export interface SpotifyProps {
|
|
|
6
6
|
children?: any;
|
|
7
7
|
data: string;
|
|
8
8
|
element: SpotifyEmbedElement;
|
|
9
|
+
toolbarElement: ReactNode;
|
|
9
10
|
}
|
|
10
|
-
declare function Spotify({ attributes, children, data: src }: SpotifyProps): React.JSX.Element;
|
|
11
|
+
declare function Spotify({ attributes, children, data: src, toolbarElement }: SpotifyProps): React.JSX.Element;
|
|
11
12
|
export default Spotify;
|
|
@@ -1,11 +1,13 @@
|
|
|
1
1
|
import React, { useRef, useMemo } from 'react';
|
|
2
2
|
import { composeRefs } from '@quadrats/react/utils';
|
|
3
3
|
|
|
4
|
-
|
|
4
|
+
/* eslint-disable react/no-unknown-property */
|
|
5
|
+
function Spotify({ attributes, children, data: src, toolbarElement }) {
|
|
5
6
|
const containerRef = useRef(null);
|
|
6
7
|
const composedRef = composeRefs([attributes === null || attributes === void 0 ? void 0 : attributes.ref, containerRef]);
|
|
7
8
|
const higher = useMemo(() => (!!src.match(/\/playlist/)), [src]);
|
|
8
9
|
return (React.createElement("div", Object.assign({}, attributes, { ref: composedRef, className: "qdr-embed-spotify", contentEditable: false }),
|
|
10
|
+
toolbarElement,
|
|
9
11
|
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
12
|
maxHeight: '100%',
|
|
11
13
|
height: higher ? '400px' : '152px',
|
|
@@ -1,3 +1,5 @@
|
|
|
1
1
|
import React from 'react';
|
|
2
2
|
import { SpotifyProps } from './components/Spotify';
|
|
3
3
|
export declare const defaultRenderSpotifyEmbedElement: (props: SpotifyProps) => React.JSX.Element;
|
|
4
|
+
export declare const defaultRenderSpotifyEmbedPlaceholderElement: () => React.JSX.Element;
|
|
5
|
+
export declare const defaultRenderSpotifyEmbedJsxSerializer: (props: SpotifyProps) => React.JSX.Element;
|
|
@@ -1,6 +1,36 @@
|
|
|
1
1
|
import React from 'react';
|
|
2
|
+
import { Transforms } from '@quadrats/core';
|
|
3
|
+
import { useLocale } from '@quadrats/react';
|
|
4
|
+
import { Icon } from '@quadrats/react/components';
|
|
5
|
+
import { Spotify as Spotify$1 } from '@quadrats/icons';
|
|
6
|
+
import { SpotifyEmbedStrategy } from '@quadrats/common/embed/strategies/spotify';
|
|
2
7
|
import Spotify from './components/Spotify.js';
|
|
8
|
+
import { BaseEmbedElement, BaseEmbedElementWithoutToolbar } from '@quadrats/react/embed/renderers/base';
|
|
3
9
|
|
|
4
|
-
const defaultRenderSpotifyEmbedElement = (props) =>
|
|
10
|
+
const defaultRenderSpotifyEmbedElement = (props) => {
|
|
11
|
+
const { element } = props;
|
|
12
|
+
const locale = useLocale();
|
|
13
|
+
return (React.createElement(BaseEmbedElement, { element: element, placeholder: locale.editor.spotify.inputPlaceholder, hint: locale.editor.spotify.hint, confirmText: locale.editor.spotify.confirmText, onConfirm: (editor, path, value) => {
|
|
14
|
+
var _a, _b;
|
|
15
|
+
Transforms.setNodes(editor, Object.assign(Object.assign({}, props.element), { embedType: (_a = SpotifyEmbedStrategy.serialize(value)) === null || _a === void 0 ? void 0 : _a.embedType, contextId: (_b = SpotifyEmbedStrategy.serialize(value)) === null || _b === void 0 ? void 0 : _b.contextId }), { at: path });
|
|
16
|
+
} }, toolbarElement => React.createElement(Spotify, Object.assign({}, props, { toolbarElement: toolbarElement }))));
|
|
17
|
+
};
|
|
18
|
+
const defaultRenderSpotifyEmbedPlaceholderElement = () => {
|
|
19
|
+
const locale = useLocale();
|
|
20
|
+
return (React.createElement("div", { className: "qdr-embed-spotify__placeholder" },
|
|
21
|
+
React.createElement("div", { style: { width: 120 }, className: "qdr-embed__placeholder__body qdr-embed__placeholder__body--square" }),
|
|
22
|
+
React.createElement("div", { className: "qdr-embed-spotify__placeholder__title-wrapper" },
|
|
23
|
+
React.createElement("p", { className: "qdr-embed__placeholder__title" }, locale.editor.spotify.blockPlaceholder),
|
|
24
|
+
React.createElement("div", { className: "qdr-embed__placeholder__line" }),
|
|
25
|
+
React.createElement("div", { className: "qdr-embed__placeholder__line", style: { marginRight: 'var(--qdr-spacing-21)' } })),
|
|
26
|
+
React.createElement("div", { className: "qdr-embed-spotify__placeholder__icon-wrapper" },
|
|
27
|
+
React.createElement(Icon, { className: "qdr-embed__placeholder__icon", icon: Spotify$1, width: 36, height: 36 }),
|
|
28
|
+
React.createElement("div", { className: "qdr-embed__placeholder__dot", style: { width: 30, height: 30 } }))));
|
|
29
|
+
};
|
|
30
|
+
const defaultRenderSpotifyEmbedJsxSerializer = (props) => {
|
|
31
|
+
const { element } = props;
|
|
32
|
+
return (React.createElement(BaseEmbedElementWithoutToolbar, { element: element },
|
|
33
|
+
React.createElement(Spotify, Object.assign({}, props))));
|
|
34
|
+
};
|
|
5
35
|
|
|
6
|
-
export { defaultRenderSpotifyEmbedElement };
|
|
36
|
+
export { defaultRenderSpotifyEmbedElement, defaultRenderSpotifyEmbedJsxSerializer, defaultRenderSpotifyEmbedPlaceholderElement };
|