@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
|
@@ -3,14 +3,18 @@ import clsx from 'clsx';
|
|
|
3
3
|
|
|
4
4
|
const Progress = forwardRef(function Progress(props, ref) {
|
|
5
5
|
const { className, percentage = 0 } = props;
|
|
6
|
-
const
|
|
7
|
-
const
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
return (React.createElement("
|
|
12
|
-
React.createElement("
|
|
13
|
-
|
|
6
|
+
const size = 16;
|
|
7
|
+
const strokeWidth = 2;
|
|
8
|
+
const radius = (size - strokeWidth) / 2;
|
|
9
|
+
const circumference = 2 * Math.PI * radius;
|
|
10
|
+
const offset = circumference * (1 - percentage / 100);
|
|
11
|
+
return (React.createElement("div", { ref: ref, className: clsx('qdr-progress', className) },
|
|
12
|
+
React.createElement("div", { className: "qdr-progress__wrapper" },
|
|
13
|
+
React.createElement("div", { className: "qdr-progress__spinner-wrapper" },
|
|
14
|
+
React.createElement("svg", { width: size, height: size },
|
|
15
|
+
React.createElement("circle", { className: "qdr-progress__backdrop", cx: size / 2, cy: size / 2, r: radius, strokeWidth: strokeWidth, fill: "none" }),
|
|
16
|
+
React.createElement("circle", { className: "qdr-progress__track", cx: size / 2, cy: size / 2, r: radius, strokeWidth: strokeWidth, fill: "none", strokeDasharray: circumference, strokeDashoffset: offset }))),
|
|
17
|
+
React.createElement("p", { className: "qdr-progress__percentage" }, `${percentage}%`))));
|
|
14
18
|
});
|
|
15
19
|
|
|
16
20
|
export { Progress as default };
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
import React from 'react';
|
|
2
|
+
export interface SegmentedControlProps {
|
|
3
|
+
options: {
|
|
4
|
+
value: string;
|
|
5
|
+
label: string;
|
|
6
|
+
disabled?: boolean;
|
|
7
|
+
}[];
|
|
8
|
+
value: string;
|
|
9
|
+
onChange: (value: string) => void;
|
|
10
|
+
disabled?: boolean;
|
|
11
|
+
}
|
|
12
|
+
declare const SegmentedControl: ({ options, value, onChange, disabled }: SegmentedControlProps) => React.JSX.Element;
|
|
13
|
+
export default SegmentedControl;
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
import React from 'react';
|
|
2
|
+
import clsx from 'clsx';
|
|
3
|
+
|
|
4
|
+
const SegmentedControl = ({ options, value, onChange, disabled }) => {
|
|
5
|
+
return (React.createElement("div", { className: clsx('qdr-segmented-control', {
|
|
6
|
+
'qdr-segmented-control--disabled': disabled || options.filter((o) => o.disabled).length === options.length,
|
|
7
|
+
}) }, options.map((option) => (React.createElement("button", { key: option.value, type: "button", disabled: disabled || option.disabled, className: clsx('qdr-segmented-control__button', {
|
|
8
|
+
'qdr-segmented-control__button--active': value === option.value,
|
|
9
|
+
}), onClick: () => {
|
|
10
|
+
onChange(option.value);
|
|
11
|
+
} }, option.label)))));
|
|
12
|
+
};
|
|
13
|
+
|
|
14
|
+
export { SegmentedControl as default };
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
import React, { Ref } from 'react';
|
|
2
|
+
import { BaseFieldProps } from '../BaseField';
|
|
3
|
+
export interface TextareaProps extends Omit<BaseFieldProps, 'children'> {
|
|
4
|
+
value?: string;
|
|
5
|
+
onChange?: (value: string) => void;
|
|
6
|
+
textareaRef?: Ref<HTMLTextAreaElement>;
|
|
7
|
+
placeholder?: string;
|
|
8
|
+
height?: number;
|
|
9
|
+
disabled?: boolean;
|
|
10
|
+
isError?: boolean;
|
|
11
|
+
hint?: string;
|
|
12
|
+
maxLength?: number;
|
|
13
|
+
}
|
|
14
|
+
declare const Textarea: ({ label, className, width, value, onChange, textareaRef, placeholder, height, disabled, isError, hint, maxLength, errorMessage, required, }: TextareaProps) => React.JSX.Element;
|
|
15
|
+
export default Textarea;
|
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
import React, { useMemo } from 'react';
|
|
2
|
+
import clsx from 'clsx';
|
|
3
|
+
import BaseField from '../BaseField/index.js';
|
|
4
|
+
|
|
5
|
+
const Textarea = ({ label, className, width, value = '', onChange, textareaRef, placeholder, height, disabled, isError, hint, maxLength, errorMessage, required = false, }) => {
|
|
6
|
+
const isLimited = useMemo(() => maxLength && value && value.length >= maxLength, [maxLength, value]);
|
|
7
|
+
return (React.createElement(BaseField, { className: className, label: label, required: required, width: width, errorMessage: errorMessage },
|
|
8
|
+
React.createElement("div", { className: "qdr-textarea" },
|
|
9
|
+
React.createElement("textarea", { ref: textareaRef, style: { height }, className: clsx('qdr-textarea__textarea', {
|
|
10
|
+
'qdr-textarea__textarea--error': isError,
|
|
11
|
+
}), value: value, onChange: (e) => {
|
|
12
|
+
onChange === null || onChange === void 0 ? void 0 : onChange(e.target.value);
|
|
13
|
+
}, maxLength: maxLength, placeholder: placeholder, disabled: disabled }),
|
|
14
|
+
hint && (React.createElement("div", { className: "qdr-textarea__hint-wrapper" },
|
|
15
|
+
React.createElement("span", { className: "qdr-textarea__hint" }, hint))),
|
|
16
|
+
maxLength && (React.createElement("span", { className: clsx('qdr-textarea__counter', {
|
|
17
|
+
'qdr-textarea__counter--have-hint': hint,
|
|
18
|
+
'qdr-textarea__counter--limited': isLimited,
|
|
19
|
+
'qdr-textarea__counter--error': isError,
|
|
20
|
+
'qdr-textarea__counter--disabled': disabled,
|
|
21
|
+
}) }, `${value ? value.length : 0}/${maxLength}`)))));
|
|
22
|
+
};
|
|
23
|
+
|
|
24
|
+
export { Textarea as default };
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
import React from 'react';
|
|
2
|
+
import clsx from 'clsx';
|
|
3
|
+
|
|
4
|
+
const Toggle = ({ onChange, checked, disabled }) => {
|
|
5
|
+
return (React.createElement("div", { className: clsx('qdr-toggle', {
|
|
6
|
+
'qdr-toggle--checked': checked,
|
|
7
|
+
'qdr-toggle--disabled': disabled,
|
|
8
|
+
}) },
|
|
9
|
+
React.createElement("div", { className: "qdr-toggle__control" }),
|
|
10
|
+
React.createElement("input", { "aria-checked": checked, "aria-disabled": disabled, checked: checked, className: "qdr-toggle__input", disabled: disabled, onChange: (e) => {
|
|
11
|
+
onChange(e.target.checked);
|
|
12
|
+
}, type: "checkbox" })));
|
|
13
|
+
};
|
|
14
|
+
|
|
15
|
+
export { Toggle as default };
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
import React from 'react';
|
|
2
|
+
import { TransitionImplementationProps } from './Transition';
|
|
3
|
+
export type MotionDurationType = 'shortest' | 'shorter' | 'short' | 'standard' | 'long';
|
|
4
|
+
export declare const MOTION_DURATION: Readonly<Record<MotionDurationType, number>>;
|
|
5
|
+
export type MotionEasingType = 'standard' | 'emphasized' | 'decelerated' | 'accelerated';
|
|
6
|
+
export declare const MOTION_EASING: Readonly<Record<MotionEasingType, string>>;
|
|
7
|
+
export declare function reflow(node: HTMLElement): void;
|
|
8
|
+
export type SlideFadeDirection = 'left' | 'right' | 'up' | 'down';
|
|
9
|
+
export interface SlideFadeProps extends TransitionImplementationProps {
|
|
10
|
+
/**
|
|
11
|
+
* The direction of child element will enter to.
|
|
12
|
+
* @default 'down'
|
|
13
|
+
*/
|
|
14
|
+
direction?: SlideFadeDirection;
|
|
15
|
+
}
|
|
16
|
+
/**
|
|
17
|
+
* The react component for `mezzanine` transition slide fade.
|
|
18
|
+
*/
|
|
19
|
+
declare const SlideFade: React.ForwardRefExoticComponent<SlideFadeProps & React.RefAttributes<HTMLElement>>;
|
|
20
|
+
export default SlideFade;
|
|
@@ -0,0 +1,91 @@
|
|
|
1
|
+
import { __rest } from 'tslib';
|
|
2
|
+
import React, { forwardRef, useRef, cloneElement } from 'react';
|
|
3
|
+
import { composeRefs } from '@quadrats/react/utils';
|
|
4
|
+
import Transition from './Transition.js';
|
|
5
|
+
import { useSetNodeTransition } from './useSetNodeTransition.js';
|
|
6
|
+
|
|
7
|
+
const MOTION_DURATION = {
|
|
8
|
+
shorter: 200,
|
|
9
|
+
short: 250};
|
|
10
|
+
const MOTION_EASING = {
|
|
11
|
+
decelerated: 'cubic-bezier(0, 0, 0.3, 1)',
|
|
12
|
+
accelerated: 'cubic-bezier(0.32, 0, 0.67, 0)',
|
|
13
|
+
};
|
|
14
|
+
function reflow(node) {
|
|
15
|
+
// eslint-disable-next-line @typescript-eslint/no-unused-expressions
|
|
16
|
+
node.scrollTop;
|
|
17
|
+
}
|
|
18
|
+
function getStyle(state, inProp, direction) {
|
|
19
|
+
if (state === 'entering' || state === 'entered') {
|
|
20
|
+
return {
|
|
21
|
+
opacity: 1,
|
|
22
|
+
transform: 'translate3d(0, 0, 0)',
|
|
23
|
+
};
|
|
24
|
+
}
|
|
25
|
+
const style = {
|
|
26
|
+
opacity: 0,
|
|
27
|
+
transform: {
|
|
28
|
+
up: 'translate3d(0, 100%, 0)',
|
|
29
|
+
right: 'translate3d(-100%, 0, 0)',
|
|
30
|
+
down: 'translate3d(0, -100%, 0)',
|
|
31
|
+
left: 'translate3d(100%, 0, 0)',
|
|
32
|
+
}[direction],
|
|
33
|
+
};
|
|
34
|
+
if (state === 'exited' && !inProp) {
|
|
35
|
+
style.visibility = 'hidden';
|
|
36
|
+
}
|
|
37
|
+
return style;
|
|
38
|
+
}
|
|
39
|
+
const defaultDuration = {
|
|
40
|
+
enter: MOTION_DURATION.short,
|
|
41
|
+
exit: MOTION_DURATION.shorter,
|
|
42
|
+
};
|
|
43
|
+
const defaultEasing = {
|
|
44
|
+
enter: MOTION_EASING.decelerated,
|
|
45
|
+
exit: MOTION_EASING.accelerated,
|
|
46
|
+
};
|
|
47
|
+
/**
|
|
48
|
+
* The react component for `mezzanine` transition slide fade.
|
|
49
|
+
*/
|
|
50
|
+
const SlideFade = forwardRef(function SlideFade(props, ref) {
|
|
51
|
+
const { children, direction = 'down', delay = 0, duration: durationProp = defaultDuration, easing = defaultEasing, in: inProp = false, onEnter, onEntered, onExit, onExited } = props, rest = __rest(props, ["children", "direction", "delay", "duration", "easing", "in", "onEnter", "onEntered", "onExit", "onExited"]);
|
|
52
|
+
const duration = durationProp === 'auto' ? defaultDuration : durationProp;
|
|
53
|
+
const nodeRef = useRef(null);
|
|
54
|
+
const composedNodeRef = composeRefs([ref, nodeRef]);
|
|
55
|
+
const [setNodeTransition, resetNodeTransition] = useSetNodeTransition({
|
|
56
|
+
delay,
|
|
57
|
+
duration,
|
|
58
|
+
easing,
|
|
59
|
+
properties: ['opacity', 'transform'],
|
|
60
|
+
}, children === null || children === void 0 ? void 0 : children.props.style);
|
|
61
|
+
const transitionProps = Object.assign(Object.assign({}, rest), { duration, in: inProp, nodeRef,
|
|
62
|
+
onEnter(node, isAppearing) {
|
|
63
|
+
setNodeTransition(node, 'enter');
|
|
64
|
+
reflow(node);
|
|
65
|
+
if (onEnter) {
|
|
66
|
+
onEnter(node, isAppearing);
|
|
67
|
+
}
|
|
68
|
+
},
|
|
69
|
+
onEntered(node, isAppearing) {
|
|
70
|
+
resetNodeTransition(node);
|
|
71
|
+
if (onEntered) {
|
|
72
|
+
onEntered(node, isAppearing);
|
|
73
|
+
}
|
|
74
|
+
},
|
|
75
|
+
onExit(node) {
|
|
76
|
+
setNodeTransition(node, 'exit');
|
|
77
|
+
if (onExit) {
|
|
78
|
+
onExit(node);
|
|
79
|
+
}
|
|
80
|
+
},
|
|
81
|
+
onExited(node) {
|
|
82
|
+
resetNodeTransition(node);
|
|
83
|
+
if (onExited) {
|
|
84
|
+
onExited(node);
|
|
85
|
+
}
|
|
86
|
+
} });
|
|
87
|
+
return (React.createElement(Transition, Object.assign({}, transitionProps), children &&
|
|
88
|
+
((state) => cloneElement(children, Object.assign(Object.assign({}, children.props), { ref: composedNodeRef, style: Object.assign(Object.assign({}, getStyle(state, inProp, direction)), children.props.style) })))));
|
|
89
|
+
});
|
|
90
|
+
|
|
91
|
+
export { MOTION_DURATION, MOTION_EASING, SlideFade as default, reflow };
|
|
@@ -0,0 +1,98 @@
|
|
|
1
|
+
import { JSX, RefObject, CSSProperties, ReactElement, JSXElementConstructor, Ref } from 'react';
|
|
2
|
+
import { TransitionStatus as TransitionState, TransitionChildren } from 'react-transition-group/Transition';
|
|
3
|
+
export type NativeElementTag = keyof JSX.IntrinsicElements;
|
|
4
|
+
export { TransitionState };
|
|
5
|
+
export type TransitionMode = 'enter' | 'exit';
|
|
6
|
+
export type TransitionDuration = 'auto' | number | {
|
|
7
|
+
[mode in TransitionMode]?: number;
|
|
8
|
+
};
|
|
9
|
+
export type TransitionEasing = string | {
|
|
10
|
+
[mode in TransitionMode]?: string;
|
|
11
|
+
};
|
|
12
|
+
export type TransitionDelay = number | {
|
|
13
|
+
[mode in TransitionMode]?: number;
|
|
14
|
+
};
|
|
15
|
+
export type TransitionEnterHandler = (node: HTMLElement, isAppearing: boolean) => void;
|
|
16
|
+
export type TransitionExitHandler = (node: HTMLElement) => void;
|
|
17
|
+
export interface TransitionImplementationChildProps {
|
|
18
|
+
ref?: Ref<HTMLElement>;
|
|
19
|
+
style?: CSSProperties;
|
|
20
|
+
}
|
|
21
|
+
export interface TransitionProps {
|
|
22
|
+
/**
|
|
23
|
+
* A custom callback for adding custom transition end handler
|
|
24
|
+
*/
|
|
25
|
+
addEndListener?: (node: HTMLElement, next: VoidFunction) => void;
|
|
26
|
+
/**
|
|
27
|
+
* Whether to perform the enter transition if `in` is true while it first mount
|
|
28
|
+
* @true
|
|
29
|
+
*/
|
|
30
|
+
appear?: boolean;
|
|
31
|
+
/**
|
|
32
|
+
* A react node or a render props called with transition state
|
|
33
|
+
*/
|
|
34
|
+
children?: TransitionChildren;
|
|
35
|
+
/**
|
|
36
|
+
* The duration of the transition, in milliseconds
|
|
37
|
+
*/
|
|
38
|
+
duration?: TransitionDuration;
|
|
39
|
+
/**
|
|
40
|
+
* The flag to trigger toggling transition between `enter` and `exit` state
|
|
41
|
+
* @default false
|
|
42
|
+
*/
|
|
43
|
+
in?: boolean;
|
|
44
|
+
/**
|
|
45
|
+
* Whether to keeping mounting the child if exited.
|
|
46
|
+
* @default false
|
|
47
|
+
*/
|
|
48
|
+
keepMount?: boolean;
|
|
49
|
+
/**
|
|
50
|
+
* Whether to mount the child at the first time entering.
|
|
51
|
+
* @default true
|
|
52
|
+
*/
|
|
53
|
+
lazyMount?: boolean;
|
|
54
|
+
/**
|
|
55
|
+
* A ref of DOM element need to transition
|
|
56
|
+
*/
|
|
57
|
+
nodeRef: RefObject<HTMLElement | null>;
|
|
58
|
+
/**
|
|
59
|
+
* Callback fired before the `entering` state applied
|
|
60
|
+
*/
|
|
61
|
+
onEnter?: TransitionEnterHandler;
|
|
62
|
+
/**
|
|
63
|
+
* Callback fired after the `entering` state applied
|
|
64
|
+
*/
|
|
65
|
+
onEntering?: TransitionEnterHandler;
|
|
66
|
+
/**
|
|
67
|
+
* Callback fired after the `entered` state applied
|
|
68
|
+
*/
|
|
69
|
+
onEntered?: TransitionEnterHandler;
|
|
70
|
+
/**
|
|
71
|
+
* Callback fired before the `exiting` state applied.
|
|
72
|
+
*/
|
|
73
|
+
onExit?: TransitionExitHandler;
|
|
74
|
+
/**
|
|
75
|
+
* Callback fired after the `exiting` state applied.
|
|
76
|
+
*/
|
|
77
|
+
onExiting?: TransitionExitHandler;
|
|
78
|
+
/**
|
|
79
|
+
* Callback fired after the `exited` state applied.
|
|
80
|
+
*/
|
|
81
|
+
onExited?: TransitionExitHandler;
|
|
82
|
+
}
|
|
83
|
+
export interface TransitionImplementationProps extends Omit<TransitionProps, 'addEndListener' | 'children' | 'nodeRef'> {
|
|
84
|
+
children: ReactElement<TransitionImplementationChildProps, NativeElementTag | JSXElementConstructor<TransitionImplementationChildProps>>;
|
|
85
|
+
/**
|
|
86
|
+
* The delay of the transition, in milliseconds
|
|
87
|
+
*/
|
|
88
|
+
delay?: TransitionDelay;
|
|
89
|
+
/**
|
|
90
|
+
* The timing function of the transition
|
|
91
|
+
*/
|
|
92
|
+
easing?: TransitionEasing;
|
|
93
|
+
}
|
|
94
|
+
/**
|
|
95
|
+
* The react component for `mezzanine` transition.
|
|
96
|
+
*/
|
|
97
|
+
declare function Transition(props: TransitionProps): JSX.Element;
|
|
98
|
+
export default Transition;
|
|
@@ -0,0 +1,27 @@
|
|
|
1
|
+
import React from 'react';
|
|
2
|
+
import ReactTransition from 'react-transition-group/Transition';
|
|
3
|
+
|
|
4
|
+
/**
|
|
5
|
+
* The react component for `mezzanine` transition.
|
|
6
|
+
*/
|
|
7
|
+
function Transition(props) {
|
|
8
|
+
const { addEndListener, appear = true, children, duration, in: inProp = false, keepMount = false, lazyMount = true, nodeRef, onEnter, onEntering, onEntered, onExit, onExiting, onExited, } = props;
|
|
9
|
+
const addNodeToCallback = (callback) => {
|
|
10
|
+
if (!callback) {
|
|
11
|
+
return;
|
|
12
|
+
}
|
|
13
|
+
return (...args) => {
|
|
14
|
+
const node = nodeRef.current;
|
|
15
|
+
if (node) {
|
|
16
|
+
callback(node, ...args);
|
|
17
|
+
}
|
|
18
|
+
};
|
|
19
|
+
};
|
|
20
|
+
return (React.createElement(ReactTransition
|
|
21
|
+
// eslint-disable-next-line @typescript-eslint/no-non-null-assertion
|
|
22
|
+
, {
|
|
23
|
+
// eslint-disable-next-line @typescript-eslint/no-non-null-assertion
|
|
24
|
+
addEndListener: addNodeToCallback(addEndListener), appear: appear, in: inProp, mountOnEnter: lazyMount, nodeRef: nodeRef, onEnter: addNodeToCallback(onEnter), onEntering: addNodeToCallback(onEntering), onEntered: addNodeToCallback(onEntered), onExit: addNodeToCallback(onExit), onExiting: addNodeToCallback(onExiting), onExited: addNodeToCallback(onExited), timeout: duration === 'auto' ? undefined : duration, unmountOnExit: !keepMount }, children));
|
|
25
|
+
}
|
|
26
|
+
|
|
27
|
+
export { Transition as default };
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
import { TransitionDelay, TransitionDuration, TransitionEasing, TransitionMode } from './Transition';
|
|
2
|
+
export declare function getTransitionDuration(mode: TransitionMode, duration: TransitionDuration, resolveAuto?: number | ((mode: TransitionMode) => number)): number;
|
|
3
|
+
export declare function getTransitionTimingFunction(mode: TransitionMode, easing: TransitionEasing): string;
|
|
4
|
+
export declare function getTransitionDelay(mode: TransitionMode, delay: TransitionDelay): number;
|
|
5
|
+
export interface GetTransitionStyleProps {
|
|
6
|
+
delay: TransitionDelay;
|
|
7
|
+
duration: TransitionDuration;
|
|
8
|
+
easing: TransitionEasing;
|
|
9
|
+
resolveAutoDuration?: Parameters<typeof getTransitionDuration>[2];
|
|
10
|
+
}
|
|
11
|
+
export interface TransitionStyleProps {
|
|
12
|
+
delay: number;
|
|
13
|
+
duration: number;
|
|
14
|
+
timingFunction: string;
|
|
15
|
+
}
|
|
16
|
+
export declare function getTransitionStyleProps(mode: TransitionMode, props: GetTransitionStyleProps): TransitionStyleProps;
|
|
@@ -0,0 +1,25 @@
|
|
|
1
|
+
function getTransitionDuration(mode, duration, resolveAuto) {
|
|
2
|
+
if (duration !== 'auto') {
|
|
3
|
+
return typeof duration === 'number' ? duration : duration[mode] || 0;
|
|
4
|
+
}
|
|
5
|
+
if (typeof resolveAuto === 'function') {
|
|
6
|
+
return resolveAuto(mode);
|
|
7
|
+
}
|
|
8
|
+
return resolveAuto !== null && resolveAuto !== void 0 ? resolveAuto : 0;
|
|
9
|
+
}
|
|
10
|
+
function getTransitionTimingFunction(mode, easing) {
|
|
11
|
+
return typeof easing === 'string' ? easing : easing[mode] || 'ease';
|
|
12
|
+
}
|
|
13
|
+
function getTransitionDelay(mode, delay) {
|
|
14
|
+
return typeof delay === 'number' ? delay : delay[mode] || 0;
|
|
15
|
+
}
|
|
16
|
+
function getTransitionStyleProps(mode, props) {
|
|
17
|
+
const { delay, duration, easing, resolveAutoDuration } = props;
|
|
18
|
+
return {
|
|
19
|
+
delay: getTransitionDelay(mode, delay),
|
|
20
|
+
duration: getTransitionDuration(mode, duration, resolveAutoDuration),
|
|
21
|
+
timingFunction: getTransitionTimingFunction(mode, easing),
|
|
22
|
+
};
|
|
23
|
+
}
|
|
24
|
+
|
|
25
|
+
export { getTransitionDelay, getTransitionDuration, getTransitionStyleProps, getTransitionTimingFunction };
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
import { CSSProperties } from 'react';
|
|
2
|
+
import { TransitionMode } from './Transition';
|
|
3
|
+
import { GetTransitionStyleProps, TransitionStyleProps } from './getTransitionStyleProps';
|
|
4
|
+
export interface UseSetNodeTransitionProps extends GetTransitionStyleProps {
|
|
5
|
+
properties: (string | [string, (props: TransitionStyleProps, mode: TransitionMode) => TransitionStyleProps])[];
|
|
6
|
+
}
|
|
7
|
+
export declare function useSetNodeTransition(props: UseSetNodeTransitionProps, style?: CSSProperties): readonly [(node: HTMLElement, mode: TransitionMode) => void, (node: HTMLElement) => void];
|
|
@@ -0,0 +1,35 @@
|
|
|
1
|
+
import { getTransitionStyleProps } from './getTransitionStyleProps.js';
|
|
2
|
+
|
|
3
|
+
function useSetNodeTransition(props, style) {
|
|
4
|
+
/* eslint-disable no-param-reassign */
|
|
5
|
+
const setNodeTransition = (node, mode) => {
|
|
6
|
+
const transitionProps = getTransitionStyleProps(mode, props);
|
|
7
|
+
const { properties } = props;
|
|
8
|
+
node.style.transition = properties
|
|
9
|
+
.map((propertyOrConfig) => {
|
|
10
|
+
let property;
|
|
11
|
+
let resolvedTransitionProps = transitionProps;
|
|
12
|
+
if (typeof propertyOrConfig === 'string') {
|
|
13
|
+
property = propertyOrConfig;
|
|
14
|
+
}
|
|
15
|
+
else {
|
|
16
|
+
const [, overrideTransitionProps] = propertyOrConfig;
|
|
17
|
+
[property] = propertyOrConfig;
|
|
18
|
+
resolvedTransitionProps = overrideTransitionProps(resolvedTransitionProps, mode);
|
|
19
|
+
}
|
|
20
|
+
const { delay, duration, timingFunction } = resolvedTransitionProps;
|
|
21
|
+
return `${property} ${duration}ms ${timingFunction} ${delay}ms`;
|
|
22
|
+
})
|
|
23
|
+
.join(',');
|
|
24
|
+
};
|
|
25
|
+
const resetNodeTransition = (node) => {
|
|
26
|
+
const { transition } = style || {};
|
|
27
|
+
if (transition) {
|
|
28
|
+
node.style.transition = transition;
|
|
29
|
+
}
|
|
30
|
+
};
|
|
31
|
+
/* eslint-enable no-param-reassign */
|
|
32
|
+
return [setNodeTransition, resetNodeTransition];
|
|
33
|
+
}
|
|
34
|
+
|
|
35
|
+
export { useSetNodeTransition };
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
.qdr-base-field{display:flex;flex-direction:column;align-items:flex-start;justify-content:flex-start;gap:var(--qdr-spacing-2)}.qdr-base-field__label{color:var(--qdr-text-secondary);font-size:var(--qdr-typography-basic-h6-font-size);line-height:var(--qdr-typography-basic-h6-line-height);letter-spacing:var(--qdr-typography-basic-h6-letter-spacing);font-weight:var(--qdr-typography-basic-h6-font-weight);margin:0}.qdr-base-field__required-mark{display:inline-block;margin-left:var(--qdr-spacing-2);color:var(--qdr-error)}.qdr-base-field__error-message{display:flex;align-items:center;justify-content:flex-start;gap:var(--qdr-spacing-2);color:var(--qdr-error);font-size:var(--qdr-typography-basic-caption-font-size);line-height:var(--qdr-typography-basic-caption-line-height);letter-spacing:var(--qdr-typography-basic-caption-letter-spacing);font-weight:var(--qdr-typography-basic-caption-font-weight)}
|
|
@@ -0,0 +1,34 @@
|
|
|
1
|
+
.qdr-base-field {
|
|
2
|
+
display: flex;
|
|
3
|
+
flex-direction: column;
|
|
4
|
+
align-items: flex-start;
|
|
5
|
+
justify-content: flex-start;
|
|
6
|
+
gap: var(--qdr-spacing-2);
|
|
7
|
+
|
|
8
|
+
&__label {
|
|
9
|
+
color: var(--qdr-text-secondary);
|
|
10
|
+
font-size: var(--qdr-typography-basic-h6-font-size);
|
|
11
|
+
line-height: var(--qdr-typography-basic-h6-line-height);
|
|
12
|
+
letter-spacing: var(--qdr-typography-basic-h6-letter-spacing);
|
|
13
|
+
font-weight: var(--qdr-typography-basic-h6-font-weight);
|
|
14
|
+
margin: 0;
|
|
15
|
+
}
|
|
16
|
+
|
|
17
|
+
&__required-mark {
|
|
18
|
+
display: inline-block;
|
|
19
|
+
margin-left: var(--qdr-spacing-2);
|
|
20
|
+
color: var(--qdr-error);
|
|
21
|
+
}
|
|
22
|
+
|
|
23
|
+
&__error-message {
|
|
24
|
+
display: flex;
|
|
25
|
+
align-items: center;
|
|
26
|
+
justify-content: flex-start;
|
|
27
|
+
gap: var(--qdr-spacing-2);
|
|
28
|
+
color: var(--qdr-error);
|
|
29
|
+
font-size: var(--qdr-typography-basic-caption-font-size);
|
|
30
|
+
line-height: var(--qdr-typography-basic-caption-line-height);
|
|
31
|
+
letter-spacing: var(--qdr-typography-basic-caption-letter-spacing);
|
|
32
|
+
font-weight: var(--qdr-typography-basic-caption-font-weight);
|
|
33
|
+
}
|
|
34
|
+
}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
.qdr-button{display:flex;align-items:center;justify-content:center;gap:var(--qdr-spacing-2);border:none;background-color:rgba(0,0,0,0);cursor:pointer;transition:all var(--qdr-duration-short) var(--qdr-easing-standard)}.qdr-button--small{padding:0 var(--qdr-spacing-7);font-size:var(--qdr-typography-basic-button2-font-size);line-height:var(--qdr-typography-basic-button2-line-height);letter-spacing:var(--qdr-typography-basic-button2-letter-spacing);font-weight:var(--qdr-typography-basic-button2-font-weight)}.qdr-button--medium{padding:var(--qdr-spacing-1) var(--qdr-spacing-7);font-size:var(--qdr-typography-basic-button2-font-size);line-height:var(--qdr-typography-basic-button2-line-height);letter-spacing:var(--qdr-typography-basic-button2-letter-spacing);font-weight:var(--qdr-typography-basic-button2-font-weight)}.qdr-button--large{padding:0 var(--qdr-spacing-7);font-size:var(--qdr-typography-basic-button1-font-size);line-height:var(--qdr-typography-basic-button1-line-height);letter-spacing:var(--qdr-typography-basic-button1-letter-spacing);font-weight:var(--qdr-typography-basic-button1-font-weight)}.qdr-button--primary{background-color:var(--qdr-primary);color:var(--qdr-on-primary);border:1px solid var(--qdr-primary)}.qdr-button--primary:hover{background-color:var(--qdr-primary-light);border-color:var(--qdr-primary-light)}.qdr-button--primary:active{background-color:var(--qdr-primary-dark);border-color:var(--qdr-primary-dark)}.qdr-button--primary:disabled{color:var(--qdr-action-disabled);background-color:var(--qdr-action-disabled-bg);border-color:var(--qdr-action-disabled-bg);cursor:not-allowed}.qdr-button--primary.qdr-button--danger{background-color:var(--qdr-error);color:var(--qdr-on-error);border:1px solid var(--qdr-error)}.qdr-button--primary.qdr-button--danger:hover{background-color:var(--qdr-error-light);border-color:var(--qdr-error-light)}.qdr-button--primary.qdr-button--danger:active{background-color:var(--qdr-error-dark);border-color:var(--qdr-error-dark)}.qdr-button--primary.qdr-button--danger:disabled{color:var(--qdr-action-disabled);background-color:var(--qdr-action-disabled-bg);border-color:var(--qdr-action-disabled-bg);cursor:not-allowed}.qdr-button--secondary{background-color:rgba(0,0,0,0);color:var(--qdr-action-active);border:1px solid var(--qdr-border)}.qdr-button--secondary:hover{color:var(--qdr-primary);border-color:var(--qdr-primary-light)}.qdr-button--secondary:active{color:var(--qdr-primary-dark);border-color:var(--qdr-primary-dark)}.qdr-button--secondary:disabled{color:var(--qdr-action-disabled);border-color:var(--qdr-action-disabled);background-color:var(--qdr-action-disabled-bg);cursor:not-allowed}.qdr-button--secondary.qdr-button--danger{background-color:rgba(0,0,0,0);color:var(--qdr-error);border:1px solid var(--qdr-border)}.qdr-button--secondary.qdr-button--danger:hover{color:var(--qdr-error-light);border-color:var(--qdr-error-light)}.qdr-button--secondary.qdr-button--danger:active{color:var(--qdr-error-dark);border-color:var(--qdr-error-dark)}.qdr-button--secondary.qdr-button--danger:disabled{color:var(--qdr-action-disabled);border-color:var(--qdr-action-disabled);background-color:var(--qdr-action-disabled-bg);cursor:not-allowed}.qdr-button--outlined{background-color:rgba(0,0,0,0);color:var(--qdr-primary);border:1px solid var(--qdr-primary)}.qdr-button--outlined:hover{background-color:var(--qdr-primary-hover-bg);border-color:var(--qdr-primary-light)}.qdr-button--outlined:active{background-color:var(--qdr-primary-active-bg);border-color:var(--qdr-primary)}.qdr-button--outlined:disabled{color:var(--qdr-action-disabled);border-color:var(--qdr-action-disabled);background-color:rgba(0,0,0,0);cursor:not-allowed}.qdr-button--outlined.qdr-button--danger{background-color:rgba(0,0,0,0);color:var(--qdr-error);border:1px solid var(--qdr-error)}.qdr-button--outlined.qdr-button--danger:hover{background-color:var(--qdr-error-hover-bg);border-color:var(--qdr-error-light)}.qdr-button--outlined.qdr-button--danger:active{background-color:var(--qdr-error-active-bg);border-color:var(--qdr-error)}.qdr-button--outlined.qdr-button--danger:disabled{color:var(--qdr-action-disabled);border-color:var(--qdr-action-disabled);background-color:rgba(0,0,0,0);cursor:not-allowed}.qdr-button--dashed{background-color:rgba(0,0,0,0);color:var(--qdr-primary);border:1px dashed var(--qdr-border)}.qdr-button--dashed:hover{background-color:var(--qdr-primary-hover-bg);border-color:var(--qdr-primary-light)}.qdr-button--dashed:active{background-color:var(--qdr-primary-active-bg);border-color:var(--qdr-primary-dark)}.qdr-button--dashed:disabled{color:var(--qdr-action-disabled);border-color:var(--qdr-action-disabled);background-color:rgba(0,0,0,0);cursor:not-allowed}.qdr-button--dashed.qdr-button--danger{background-color:rgba(0,0,0,0);color:var(--qdr-error);border:1px dashed var(--qdr-error)}.qdr-button--dashed.qdr-button--danger:hover{background-color:var(--qdr-error-hover-bg);border-color:var(--qdr-error-light)}.qdr-button--dashed.qdr-button--danger:active{background-color:var(--qdr-error-active-bg);border-color:var(--qdr-error-dark)}.qdr-button--dashed.qdr-button--danger:disabled{color:var(--qdr-action-disabled);border-color:var(--qdr-action-disabled);background-color:rgba(0,0,0,0);cursor:not-allowed}.qdr-button--tertiary{color:var(--qdr-primary)}.qdr-button--tertiary:hover{background-color:var(--qdr-primary-hover-bg)}.qdr-button--tertiary:active{background-color:var(--qdr-primary-active-bg)}.qdr-button--tertiary:disabled{color:var(--qdr-action-disabled);background-color:rgba(0,0,0,0);cursor:not-allowed}.qdr-button--tertiary.qdr-button--danger{color:var(--qdr-error)}.qdr-button--tertiary.qdr-button--danger:hover{background-color:var(--qdr-error-hover-bg)}.qdr-button--tertiary.qdr-button--danger:active{background-color:var(--qdr-error-active-bg)}.qdr-button--tertiary.qdr-button--danger:disabled{color:var(--qdr-action-disabled);background-color:rgba(0,0,0,0);cursor:not-allowed}
|