@chem-po/react-native 0.0.5 → 0.0.7
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/lib/commonjs/components/box/Center.js +35 -0
- package/lib/commonjs/components/box/Center.js.map +1 -0
- package/lib/commonjs/components/box/CollapseHorizontal.js +44 -0
- package/lib/commonjs/components/box/CollapseHorizontal.js.map +1 -0
- package/lib/commonjs/components/box/ContentBox.js +32 -0
- package/lib/commonjs/components/box/ContentBox.js.map +1 -0
- package/lib/commonjs/components/box/DropShadow.js +31 -0
- package/lib/commonjs/components/box/DropShadow.js.map +1 -0
- package/lib/commonjs/components/box/ExpandOnMount.js +71 -0
- package/lib/commonjs/components/box/ExpandOnMount.js.map +1 -0
- package/lib/commonjs/components/box/Expandable.js +125 -0
- package/lib/commonjs/components/box/Expandable.js.map +1 -0
- package/lib/commonjs/components/box/FullSizeContainer.js +79 -0
- package/lib/commonjs/components/box/FullSizeContainer.js.map +1 -0
- package/lib/commonjs/components/box/index.js +83 -0
- package/lib/commonjs/components/box/index.js.map +1 -0
- package/lib/commonjs/components/button/DeleteButton.js +279 -0
- package/lib/commonjs/components/button/DeleteButton.js.map +1 -0
- package/lib/commonjs/components/button/LoadingButton.js +132 -0
- package/lib/commonjs/components/button/LoadingButton.js.map +1 -0
- package/lib/commonjs/components/button/Toggle.js +89 -0
- package/lib/commonjs/components/button/Toggle.js.map +1 -0
- package/lib/commonjs/components/button/index.js +39 -0
- package/lib/commonjs/components/button/index.js.map +1 -0
- package/lib/commonjs/components/feed/FeedContentPane.js +105 -0
- package/lib/commonjs/components/feed/FeedContentPane.js.map +1 -0
- package/lib/commonjs/components/feed/MediaFeed.js +178 -0
- package/lib/commonjs/components/feed/MediaFeed.js.map +1 -0
- package/lib/commonjs/components/feed/MediaFeedBackground.js +126 -0
- package/lib/commonjs/components/feed/MediaFeedBackground.js.map +1 -0
- package/lib/commonjs/components/feed/MediaFeedRefresh.js +113 -0
- package/lib/commonjs/components/feed/MediaFeedRefresh.js.map +1 -0
- package/lib/commonjs/components/feed/constants.js +9 -0
- package/lib/commonjs/components/feed/constants.js.map +1 -0
- package/lib/commonjs/components/feed/context.js +23 -0
- package/lib/commonjs/components/feed/context.js.map +1 -0
- package/lib/commonjs/components/feed/hooks.js +262 -0
- package/lib/commonjs/components/feed/hooks.js.map +1 -0
- package/lib/commonjs/components/feed/index.js +28 -0
- package/lib/commonjs/components/feed/index.js.map +1 -0
- package/lib/commonjs/components/form/Condition.js +29 -0
- package/lib/commonjs/components/form/Condition.js.map +1 -0
- package/lib/commonjs/components/form/Field.js +57 -0
- package/lib/commonjs/components/form/Field.js.map +1 -0
- package/lib/commonjs/components/form/Form.js +387 -0
- package/lib/commonjs/components/form/Form.js.map +1 -0
- package/lib/commonjs/components/form/FormFooter.js +173 -0
- package/lib/commonjs/components/form/FormFooter.js.map +1 -0
- package/lib/commonjs/components/form/UploadProgress/index.js +66 -0
- package/lib/commonjs/components/form/UploadProgress/index.js.map +1 -0
- package/lib/commonjs/components/form/index.js +40 -0
- package/lib/commonjs/components/form/index.js.map +1 -0
- package/lib/commonjs/components/form/input/Editable.js +153 -0
- package/lib/commonjs/components/form/input/Editable.js.map +1 -0
- package/lib/commonjs/components/form/input/InputSlider.js +59 -0
- package/lib/commonjs/components/form/input/InputSlider.js.map +1 -0
- package/lib/commonjs/components/form/input/OptionalTag.js +46 -0
- package/lib/commonjs/components/form/input/OptionalTag.js.map +1 -0
- package/lib/commonjs/components/form/input/StandaloneInput.js +33 -0
- package/lib/commonjs/components/form/input/StandaloneInput.js.map +1 -0
- package/lib/commonjs/components/form/input/boolean/index.js +83 -0
- package/lib/commonjs/components/form/input/boolean/index.js.map +1 -0
- package/lib/commonjs/components/form/input/color/index.js +147 -0
- package/lib/commonjs/components/form/input/color/index.js.map +1 -0
- package/lib/commonjs/components/form/input/common/InputClearButton.js +63 -0
- package/lib/commonjs/components/form/input/common/InputClearButton.js.map +1 -0
- package/lib/commonjs/components/form/input/date/index.js +111 -0
- package/lib/commonjs/components/form/input/date/index.js.map +1 -0
- package/lib/commonjs/components/form/input/datetime/index.js +155 -0
- package/lib/commonjs/components/form/input/datetime/index.js.map +1 -0
- package/lib/commonjs/components/form/input/file/index.js +229 -0
- package/lib/commonjs/components/form/input/file/index.js.map +1 -0
- package/lib/commonjs/components/form/input/hooks/index.js +28 -0
- package/lib/commonjs/components/form/input/hooks/index.js.map +1 -0
- package/lib/commonjs/components/form/input/hooks/useInputColor.js +14 -0
- package/lib/commonjs/components/form/input/hooks/useInputColor.js.map +1 -0
- package/lib/commonjs/components/form/input/hooks/useInputImperativeHandle.js +23 -0
- package/lib/commonjs/components/form/input/hooks/useInputImperativeHandle.js.map +1 -0
- package/lib/commonjs/components/form/input/hooks/useInputStyle.js +50 -0
- package/lib/commonjs/components/form/input/hooks/useInputStyle.js.map +1 -0
- package/lib/commonjs/components/form/input/index.js +28 -0
- package/lib/commonjs/components/form/input/index.js.map +1 -0
- package/lib/commonjs/components/form/input/input.js +159 -0
- package/lib/commonjs/components/form/input/input.js.map +1 -0
- package/lib/commonjs/components/form/input/multipleSelect/index.js +80 -0
- package/lib/commonjs/components/form/input/multipleSelect/index.js.map +1 -0
- package/lib/commonjs/components/form/input/number/index.js +117 -0
- package/lib/commonjs/components/form/input/number/index.js.map +1 -0
- package/lib/commonjs/components/form/input/select/index.js +225 -0
- package/lib/commonjs/components/form/input/select/index.js.map +1 -0
- package/lib/commonjs/components/form/input/socialMedia/index.js +219 -0
- package/lib/commonjs/components/form/input/socialMedia/index.js.map +1 -0
- package/lib/commonjs/components/form/input/text/index.js +97 -0
- package/lib/commonjs/components/form/input/text/index.js.map +1 -0
- package/lib/commonjs/components/form/input/text/textarea.js +63 -0
- package/lib/commonjs/components/form/input/text/textarea.js.map +1 -0
- package/lib/commonjs/components/form/input/time/index.js +125 -0
- package/lib/commonjs/components/form/input/time/index.js.map +1 -0
- package/lib/commonjs/components/form/types.js +6 -0
- package/lib/commonjs/components/form/types.js.map +1 -0
- package/lib/commonjs/components/form/view/file.js +57 -0
- package/lib/commonjs/components/form/view/file.js.map +1 -0
- package/lib/commonjs/components/form/view/index.js +90 -0
- package/lib/commonjs/components/form/view/index.js.map +1 -0
- package/lib/commonjs/components/form/view/multipleSelect.js +51 -0
- package/lib/commonjs/components/form/view/multipleSelect.js.map +1 -0
- package/lib/commonjs/components/form/view/select.js +45 -0
- package/lib/commonjs/components/form/view/select.js.map +1 -0
- package/lib/commonjs/components/icons/index.js +47 -0
- package/lib/commonjs/components/icons/index.js.map +1 -0
- package/lib/commonjs/components/index.js +94 -0
- package/lib/commonjs/components/index.js.map +1 -0
- package/lib/commonjs/components/loading/CircularProgress.js +49 -0
- package/lib/commonjs/components/loading/CircularProgress.js.map +1 -0
- package/lib/commonjs/components/loading/Loading.js +174 -0
- package/lib/commonjs/components/loading/Loading.js.map +1 -0
- package/lib/commonjs/components/loading/LoadingImage.js +115 -0
- package/lib/commonjs/components/loading/LoadingImage.js.map +1 -0
- package/lib/commonjs/components/loading/LoadingSwitch.js +100 -0
- package/lib/commonjs/components/loading/LoadingSwitch.js.map +1 -0
- package/lib/commonjs/components/loading/index.js +50 -0
- package/lib/commonjs/components/loading/index.js.map +1 -0
- package/lib/commonjs/components/overlay/ImageViewOverlay.js +126 -0
- package/lib/commonjs/components/overlay/ImageViewOverlay.js.map +1 -0
- package/lib/commonjs/components/overlay/index.js +17 -0
- package/lib/commonjs/components/overlay/index.js.map +1 -0
- package/lib/commonjs/components/text/AnimatedText.js +63 -0
- package/lib/commonjs/components/text/AnimatedText.js.map +1 -0
- package/lib/commonjs/components/text/Txt.js +22 -0
- package/lib/commonjs/components/text/Txt.js.map +1 -0
- package/lib/commonjs/components/text/index.js +17 -0
- package/lib/commonjs/components/text/index.js.map +1 -0
- package/lib/commonjs/components/theme/colorMode/DarkModeToggle.js +49 -0
- package/lib/commonjs/components/theme/colorMode/DarkModeToggle.js.map +1 -0
- package/lib/commonjs/components/theme/colorMode/index.js +17 -0
- package/lib/commonjs/components/theme/colorMode/index.js.map +1 -0
- package/lib/commonjs/components/theme/index.js +17 -0
- package/lib/commonjs/components/theme/index.js.map +1 -0
- package/lib/commonjs/constants/index.js +17 -0
- package/lib/commonjs/constants/index.js.map +1 -0
- package/lib/commonjs/constants/toast.js +31 -0
- package/lib/commonjs/constants/toast.js.map +1 -0
- package/lib/commonjs/contexts/index.js +17 -0
- package/lib/commonjs/contexts/index.js.map +1 -0
- package/lib/commonjs/contexts/root.js +33 -0
- package/lib/commonjs/contexts/root.js.map +1 -0
- package/lib/commonjs/hooks/index.js +17 -0
- package/lib/commonjs/hooks/index.js.map +1 -0
- package/lib/commonjs/hooks/useThemeState.js +21 -0
- package/lib/commonjs/hooks/useThemeState.js.map +1 -0
- package/lib/commonjs/index.js +61 -0
- package/lib/commonjs/index.js.map +1 -0
- package/lib/commonjs/store/index.js +17 -0
- package/lib/commonjs/store/index.js.map +1 -0
- package/lib/commonjs/store/useScreen.js +36 -0
- package/lib/commonjs/store/useScreen.js.map +1 -0
- package/lib/commonjs/styles/fill.js +25 -0
- package/lib/commonjs/styles/fill.js.map +1 -0
- package/lib/module/components/box/Center.js +29 -0
- package/lib/module/components/box/Center.js.map +1 -0
- package/lib/module/components/box/CollapseHorizontal.js +37 -0
- package/lib/module/components/box/CollapseHorizontal.js.map +1 -0
- package/lib/module/components/box/ContentBox.js +26 -0
- package/lib/module/components/box/ContentBox.js.map +1 -0
- package/lib/module/components/box/DropShadow.js +25 -0
- package/lib/module/components/box/DropShadow.js.map +1 -0
- package/lib/module/components/box/ExpandOnMount.js +64 -0
- package/lib/module/components/box/ExpandOnMount.js.map +1 -0
- package/lib/module/components/box/Expandable.js +117 -0
- package/lib/module/components/box/Expandable.js.map +1 -0
- package/lib/module/components/box/FullSizeContainer.js +70 -0
- package/lib/module/components/box/FullSizeContainer.js.map +1 -0
- package/lib/module/components/box/index.js +8 -0
- package/lib/module/components/box/index.js.map +1 -0
- package/lib/module/components/button/DeleteButton.js +270 -0
- package/lib/module/components/button/DeleteButton.js.map +1 -0
- package/lib/module/components/button/LoadingButton.js +124 -0
- package/lib/module/components/button/LoadingButton.js.map +1 -0
- package/lib/module/components/button/Toggle.js +82 -0
- package/lib/module/components/button/Toggle.js.map +1 -0
- package/lib/module/components/button/index.js +4 -0
- package/lib/module/components/button/index.js.map +1 -0
- package/lib/module/components/feed/FeedContentPane.js +97 -0
- package/lib/module/components/feed/FeedContentPane.js.map +1 -0
- package/lib/module/components/feed/MediaFeed.js +170 -0
- package/lib/module/components/feed/MediaFeed.js.map +1 -0
- package/lib/module/components/feed/MediaFeedBackground.js +118 -0
- package/lib/module/components/feed/MediaFeedBackground.js.map +1 -0
- package/lib/module/components/feed/MediaFeedRefresh.js +103 -0
- package/lib/module/components/feed/MediaFeedRefresh.js.map +1 -0
- package/lib/module/components/feed/constants.js +3 -0
- package/lib/module/components/feed/constants.js.map +1 -0
- package/lib/module/components/feed/context.js +15 -0
- package/lib/module/components/feed/context.js.map +1 -0
- package/lib/module/components/feed/hooks.js +255 -0
- package/lib/module/components/feed/hooks.js.map +1 -0
- package/lib/module/components/feed/index.js +3 -0
- package/lib/module/components/feed/index.js.map +1 -0
- package/lib/module/components/form/Condition.js +22 -0
- package/lib/module/components/form/Condition.js.map +1 -0
- package/lib/module/components/form/Field.js +51 -0
- package/lib/module/components/form/Field.js.map +1 -0
- package/lib/module/components/form/Form.js +375 -0
- package/lib/module/components/form/Form.js.map +1 -0
- package/lib/module/components/form/FormFooter.js +165 -0
- package/lib/module/components/form/FormFooter.js.map +1 -0
- package/lib/module/components/form/UploadProgress/index.js +59 -0
- package/lib/module/components/form/UploadProgress/index.js.map +1 -0
- package/lib/module/components/form/index.js +4 -0
- package/lib/module/components/form/index.js.map +1 -0
- package/lib/module/components/form/input/Editable.js +146 -0
- package/lib/module/components/form/input/Editable.js.map +1 -0
- package/lib/module/components/form/input/InputSlider.js +51 -0
- package/lib/module/components/form/input/InputSlider.js.map +1 -0
- package/lib/module/components/form/input/OptionalTag.js +39 -0
- package/lib/module/components/form/input/OptionalTag.js.map +1 -0
- package/lib/module/components/form/input/StandaloneInput.js +27 -0
- package/lib/module/components/form/input/StandaloneInput.js.map +1 -0
- package/lib/module/components/form/input/boolean/index.js +77 -0
- package/lib/module/components/form/input/boolean/index.js.map +1 -0
- package/lib/module/components/form/input/color/index.js +141 -0
- package/lib/module/components/form/input/color/index.js.map +1 -0
- package/lib/module/components/form/input/common/InputClearButton.js +55 -0
- package/lib/module/components/form/input/common/InputClearButton.js.map +1 -0
- package/lib/module/components/form/input/date/index.js +106 -0
- package/lib/module/components/form/input/date/index.js.map +1 -0
- package/lib/module/components/form/input/datetime/index.js +149 -0
- package/lib/module/components/form/input/datetime/index.js.map +1 -0
- package/lib/module/components/form/input/file/index.js +221 -0
- package/lib/module/components/form/input/file/index.js.map +1 -0
- package/lib/module/components/form/input/hooks/index.js +3 -0
- package/lib/module/components/form/input/hooks/index.js.map +1 -0
- package/lib/module/components/form/input/hooks/useInputColor.js +7 -0
- package/lib/module/components/form/input/hooks/useInputColor.js.map +1 -0
- package/lib/module/components/form/input/hooks/useInputImperativeHandle.js +16 -0
- package/lib/module/components/form/input/hooks/useInputImperativeHandle.js.map +1 -0
- package/lib/module/components/form/input/hooks/useInputStyle.js +43 -0
- package/lib/module/components/form/input/hooks/useInputStyle.js.map +1 -0
- package/lib/module/components/form/input/index.js +3 -0
- package/lib/module/components/form/input/index.js.map +1 -0
- package/lib/module/components/form/input/input.js +153 -0
- package/lib/module/components/form/input/input.js.map +1 -0
- package/lib/module/components/form/input/multipleSelect/index.js +74 -0
- package/lib/module/components/form/input/multipleSelect/index.js.map +1 -0
- package/lib/module/components/form/input/number/index.js +111 -0
- package/lib/module/components/form/input/number/index.js.map +1 -0
- package/lib/module/components/form/input/select/index.js +219 -0
- package/lib/module/components/form/input/select/index.js.map +1 -0
- package/lib/module/components/form/input/socialMedia/index.js +213 -0
- package/lib/module/components/form/input/socialMedia/index.js.map +1 -0
- package/lib/module/components/form/input/text/index.js +91 -0
- package/lib/module/components/form/input/text/index.js.map +1 -0
- package/lib/module/components/form/input/text/textarea.js +57 -0
- package/lib/module/components/form/input/text/textarea.js.map +1 -0
- package/lib/module/components/form/input/time/index.js +119 -0
- package/lib/module/components/form/input/time/index.js.map +1 -0
- package/lib/module/components/form/types.js +2 -0
- package/lib/module/components/form/types.js.map +1 -0
- package/lib/module/components/form/view/file.js +50 -0
- package/lib/module/components/form/view/file.js.map +1 -0
- package/lib/module/components/form/view/index.js +83 -0
- package/lib/module/components/form/view/index.js.map +1 -0
- package/lib/module/components/form/view/multipleSelect.js +44 -0
- package/lib/module/components/form/view/multipleSelect.js.map +1 -0
- package/lib/module/components/form/view/select.js +38 -0
- package/lib/module/components/form/view/select.js.map +1 -0
- package/lib/module/components/icons/index.js +38 -0
- package/lib/module/components/icons/index.js.map +1 -0
- package/lib/module/components/index.js +9 -0
- package/lib/module/components/index.js.map +1 -0
- package/lib/module/components/loading/CircularProgress.js +42 -0
- package/lib/module/components/loading/CircularProgress.js.map +1 -0
- package/lib/module/components/loading/Loading.js +163 -0
- package/lib/module/components/loading/Loading.js.map +1 -0
- package/lib/module/components/loading/LoadingImage.js +108 -0
- package/lib/module/components/loading/LoadingImage.js.map +1 -0
- package/lib/module/components/loading/LoadingSwitch.js +93 -0
- package/lib/module/components/loading/LoadingSwitch.js.map +1 -0
- package/lib/module/components/loading/index.js +5 -0
- package/lib/module/components/loading/index.js.map +1 -0
- package/lib/module/components/overlay/ImageViewOverlay.js +119 -0
- package/lib/module/components/overlay/ImageViewOverlay.js.map +1 -0
- package/lib/module/components/overlay/index.js +2 -0
- package/lib/module/components/overlay/index.js.map +1 -0
- package/lib/module/components/text/AnimatedText.js +56 -0
- package/lib/module/components/text/AnimatedText.js.map +1 -0
- package/lib/module/components/text/Txt.js +15 -0
- package/lib/module/components/text/Txt.js.map +1 -0
- package/lib/module/components/text/index.js +2 -0
- package/lib/module/components/text/index.js.map +1 -0
- package/lib/module/components/theme/colorMode/DarkModeToggle.js +41 -0
- package/lib/module/components/theme/colorMode/DarkModeToggle.js.map +1 -0
- package/lib/module/components/theme/colorMode/index.js +2 -0
- package/lib/module/components/theme/colorMode/index.js.map +1 -0
- package/lib/module/components/theme/index.js +2 -0
- package/lib/module/components/theme/index.js.map +1 -0
- package/lib/module/constants/index.js +2 -0
- package/lib/module/constants/index.js.map +1 -0
- package/lib/module/constants/toast.js +25 -0
- package/lib/module/constants/toast.js.map +1 -0
- package/lib/module/contexts/index.js +2 -0
- package/lib/module/contexts/index.js.map +1 -0
- package/lib/module/contexts/root.js +26 -0
- package/lib/module/contexts/root.js.map +1 -0
- package/lib/module/hooks/index.js +2 -0
- package/lib/module/hooks/index.js.map +1 -0
- package/lib/module/hooks/useThemeState.js +14 -0
- package/lib/module/hooks/useThemeState.js.map +1 -0
- package/lib/module/index.js +6 -0
- package/lib/module/index.js.map +1 -0
- package/lib/module/store/index.js +2 -0
- package/lib/module/store/index.js.map +1 -0
- package/lib/module/store/useScreen.js +29 -0
- package/lib/module/store/useScreen.js.map +1 -0
- package/lib/module/styles/fill.js +19 -0
- package/lib/module/styles/fill.js.map +1 -0
- package/lib/typescript/src/components/box/Center.d.ts +5 -0
- package/lib/typescript/src/components/box/Center.d.ts.map +1 -0
- package/lib/typescript/src/components/box/CollapseHorizontal.d.ts +7 -0
- package/lib/typescript/src/components/box/CollapseHorizontal.d.ts.map +1 -0
- package/lib/typescript/src/components/box/ContentBox.d.ts +3 -0
- package/lib/typescript/src/components/box/ContentBox.d.ts.map +1 -0
- package/lib/typescript/src/components/box/DropShadow.d.ts +6 -0
- package/lib/typescript/src/components/box/DropShadow.d.ts.map +1 -0
- package/lib/typescript/src/components/box/ExpandOnMount.d.ts +9 -0
- package/lib/typescript/src/components/box/ExpandOnMount.d.ts.map +1 -0
- package/lib/typescript/src/components/box/Expandable.d.ts +23 -0
- package/lib/typescript/src/components/box/Expandable.d.ts.map +1 -0
- package/lib/typescript/src/components/box/FullSizeContainer.d.ts +16 -0
- package/lib/typescript/src/components/box/FullSizeContainer.d.ts.map +1 -0
- package/lib/typescript/src/components/box/index.d.ts +8 -0
- package/lib/typescript/src/components/box/index.d.ts.map +1 -0
- package/lib/typescript/src/components/button/DeleteButton.d.ts +21 -0
- package/lib/typescript/src/components/button/DeleteButton.d.ts.map +1 -0
- package/lib/typescript/src/components/button/LoadingButton.d.ts +17 -0
- package/lib/typescript/src/components/button/LoadingButton.d.ts.map +1 -0
- package/lib/typescript/src/components/button/Toggle.d.ts +14 -0
- package/lib/typescript/src/components/button/Toggle.d.ts.map +1 -0
- package/lib/typescript/src/components/button/index.d.ts +4 -0
- package/lib/typescript/src/components/button/index.d.ts.map +1 -0
- package/lib/typescript/src/components/feed/FeedContentPane.d.ts +16 -0
- package/lib/typescript/src/components/feed/FeedContentPane.d.ts.map +1 -0
- package/lib/typescript/src/components/feed/MediaFeed.d.ts +5 -0
- package/lib/typescript/src/components/feed/MediaFeed.d.ts.map +1 -0
- package/lib/typescript/src/components/feed/MediaFeedBackground.d.ts +19 -0
- package/lib/typescript/src/components/feed/MediaFeedBackground.d.ts.map +1 -0
- package/lib/typescript/src/components/feed/MediaFeedRefresh.d.ts +7 -0
- package/lib/typescript/src/components/feed/MediaFeedRefresh.d.ts.map +1 -0
- package/lib/typescript/src/components/feed/constants.d.ts +3 -0
- package/lib/typescript/src/components/feed/constants.d.ts.map +1 -0
- package/lib/typescript/src/components/feed/context.d.ts +12 -0
- package/lib/typescript/src/components/feed/context.d.ts.map +1 -0
- package/lib/typescript/src/components/feed/hooks.d.ts +16 -0
- package/lib/typescript/src/components/feed/hooks.d.ts.map +1 -0
- package/lib/typescript/src/components/feed/index.d.ts +3 -0
- package/lib/typescript/src/components/feed/index.d.ts.map +1 -0
- package/lib/typescript/src/components/form/Condition.d.ts +6 -0
- package/lib/typescript/src/components/form/Condition.d.ts.map +1 -0
- package/lib/typescript/src/components/form/Field.d.ts +8 -0
- package/lib/typescript/src/components/form/Field.d.ts.map +1 -0
- package/lib/typescript/src/components/form/Form.d.ts +18 -0
- package/lib/typescript/src/components/form/Form.d.ts.map +1 -0
- package/lib/typescript/src/components/form/FormFooter.d.ts +9 -0
- package/lib/typescript/src/components/form/FormFooter.d.ts.map +1 -0
- package/lib/typescript/src/components/form/UploadProgress/index.d.ts +5 -0
- package/lib/typescript/src/components/form/UploadProgress/index.d.ts.map +1 -0
- package/lib/typescript/src/components/form/index.d.ts +4 -0
- package/lib/typescript/src/components/form/index.d.ts.map +1 -0
- package/lib/typescript/src/components/form/input/Editable.d.ts +4 -0
- package/lib/typescript/src/components/form/input/Editable.d.ts.map +1 -0
- package/lib/typescript/src/components/form/input/InputSlider.d.ts +9 -0
- package/lib/typescript/src/components/form/input/InputSlider.d.ts.map +1 -0
- package/lib/typescript/src/components/form/input/OptionalTag.d.ts +6 -0
- package/lib/typescript/src/components/form/input/OptionalTag.d.ts.map +1 -0
- package/lib/typescript/src/components/form/input/StandaloneInput.d.ts +16 -0
- package/lib/typescript/src/components/form/input/StandaloneInput.d.ts.map +1 -0
- package/lib/typescript/src/components/form/input/boolean/index.d.ts +5 -0
- package/lib/typescript/src/components/form/input/boolean/index.d.ts.map +1 -0
- package/lib/typescript/src/components/form/input/color/index.d.ts +5 -0
- package/lib/typescript/src/components/form/input/color/index.d.ts.map +1 -0
- package/lib/typescript/src/components/form/input/common/InputClearButton.d.ts +10 -0
- package/lib/typescript/src/components/form/input/common/InputClearButton.d.ts.map +1 -0
- package/lib/typescript/src/components/form/input/date/index.d.ts +5 -0
- package/lib/typescript/src/components/form/input/date/index.d.ts.map +1 -0
- package/lib/typescript/src/components/form/input/datetime/index.d.ts +5 -0
- package/lib/typescript/src/components/form/input/datetime/index.d.ts.map +1 -0
- package/lib/typescript/src/components/form/input/file/index.d.ts +10 -0
- package/lib/typescript/src/components/form/input/file/index.d.ts.map +1 -0
- package/lib/typescript/src/components/form/input/hooks/index.d.ts +3 -0
- package/lib/typescript/src/components/form/input/hooks/index.d.ts.map +1 -0
- package/lib/typescript/src/components/form/input/hooks/useInputColor.d.ts +2 -0
- package/lib/typescript/src/components/form/input/hooks/useInputColor.d.ts.map +1 -0
- package/lib/typescript/src/components/form/input/hooks/useInputImperativeHandle.d.ts +5 -0
- package/lib/typescript/src/components/form/input/hooks/useInputImperativeHandle.d.ts.map +1 -0
- package/lib/typescript/src/components/form/input/hooks/useInputStyle.d.ts +9 -0
- package/lib/typescript/src/components/form/input/hooks/useInputStyle.d.ts.map +1 -0
- package/lib/typescript/src/components/form/input/index.d.ts +3 -0
- package/lib/typescript/src/components/form/input/index.d.ts.map +1 -0
- package/lib/typescript/src/components/form/input/input.d.ts +6 -0
- package/lib/typescript/src/components/form/input/input.d.ts.map +1 -0
- package/lib/typescript/src/components/form/input/multipleSelect/index.d.ts +5 -0
- package/lib/typescript/src/components/form/input/multipleSelect/index.d.ts.map +1 -0
- package/lib/typescript/src/components/form/input/number/index.d.ts +8 -0
- package/lib/typescript/src/components/form/input/number/index.d.ts.map +1 -0
- package/lib/typescript/src/components/form/input/select/index.d.ts +5 -0
- package/lib/typescript/src/components/form/input/select/index.d.ts.map +1 -0
- package/lib/typescript/src/components/form/input/socialMedia/index.d.ts +5 -0
- package/lib/typescript/src/components/form/input/socialMedia/index.d.ts.map +1 -0
- package/lib/typescript/src/components/form/input/text/index.d.ts +5 -0
- package/lib/typescript/src/components/form/input/text/index.d.ts.map +1 -0
- package/lib/typescript/src/components/form/input/text/textarea.d.ts +5 -0
- package/lib/typescript/src/components/form/input/text/textarea.d.ts.map +1 -0
- package/lib/typescript/src/components/form/input/time/index.d.ts +5 -0
- package/lib/typescript/src/components/form/input/time/index.d.ts.map +1 -0
- package/lib/typescript/src/components/form/types.d.ts +4 -0
- package/lib/typescript/src/components/form/types.d.ts.map +1 -0
- package/lib/typescript/src/components/form/view/file.d.ts +9 -0
- package/lib/typescript/src/components/form/view/file.d.ts.map +1 -0
- package/lib/typescript/src/components/form/view/index.d.ts +9 -0
- package/lib/typescript/src/components/form/view/index.d.ts.map +1 -0
- package/lib/typescript/src/components/form/view/multipleSelect.d.ts +9 -0
- package/lib/typescript/src/components/form/view/multipleSelect.d.ts.map +1 -0
- package/lib/typescript/src/components/form/view/select.d.ts +9 -0
- package/lib/typescript/src/components/form/view/select.d.ts.map +1 -0
- package/lib/typescript/src/components/icons/index.d.ts +10 -0
- package/lib/typescript/src/components/icons/index.d.ts.map +1 -0
- package/lib/typescript/src/components/index.d.ts +9 -0
- package/lib/typescript/src/components/index.d.ts.map +1 -0
- package/lib/typescript/src/components/loading/CircularProgress.d.ts +7 -0
- package/lib/typescript/src/components/loading/CircularProgress.d.ts.map +1 -0
- package/lib/typescript/src/components/loading/Loading.d.ts +27 -0
- package/lib/typescript/src/components/loading/Loading.d.ts.map +1 -0
- package/lib/typescript/src/components/loading/LoadingImage.d.ts +13 -0
- package/lib/typescript/src/components/loading/LoadingImage.d.ts.map +1 -0
- package/lib/typescript/src/components/loading/LoadingSwitch.d.ts +6 -0
- package/lib/typescript/src/components/loading/LoadingSwitch.d.ts.map +1 -0
- package/lib/typescript/src/components/loading/index.d.ts +5 -0
- package/lib/typescript/src/components/loading/index.d.ts.map +1 -0
- package/lib/typescript/src/components/overlay/ImageViewOverlay.d.ts +5 -0
- package/lib/typescript/src/components/overlay/ImageViewOverlay.d.ts.map +1 -0
- package/lib/typescript/src/components/overlay/index.d.ts +2 -0
- package/lib/typescript/src/components/overlay/index.d.ts.map +1 -0
- package/lib/typescript/src/components/text/AnimatedText.d.ts +11 -0
- package/lib/typescript/src/components/text/AnimatedText.d.ts.map +1 -0
- package/lib/typescript/src/components/text/Txt.d.ts +3 -0
- package/lib/typescript/src/components/text/Txt.d.ts.map +1 -0
- package/lib/typescript/src/components/text/index.d.ts +2 -0
- package/lib/typescript/src/components/text/index.d.ts.map +1 -0
- package/lib/typescript/src/components/theme/colorMode/DarkModeToggle.d.ts +3 -0
- package/lib/typescript/src/components/theme/colorMode/DarkModeToggle.d.ts.map +1 -0
- package/lib/typescript/src/components/theme/colorMode/index.d.ts +2 -0
- package/lib/typescript/src/components/theme/colorMode/index.d.ts.map +1 -0
- package/lib/typescript/src/components/theme/index.d.ts +2 -0
- package/lib/typescript/src/components/theme/index.d.ts.map +1 -0
- package/lib/typescript/src/constants/index.d.ts +2 -0
- package/lib/typescript/src/constants/index.d.ts.map +1 -0
- package/lib/typescript/src/constants/toast.d.ts +3 -0
- package/lib/typescript/src/constants/toast.d.ts.map +1 -0
- package/lib/typescript/src/contexts/index.d.ts +2 -0
- package/lib/typescript/src/contexts/index.d.ts.map +1 -0
- package/lib/typescript/src/contexts/root.d.ts +9 -0
- package/lib/typescript/src/contexts/root.d.ts.map +1 -0
- package/lib/typescript/src/hooks/index.d.ts +2 -0
- package/lib/typescript/src/hooks/index.d.ts.map +1 -0
- package/lib/typescript/src/hooks/useThemeState.d.ts +8 -0
- package/lib/typescript/src/hooks/useThemeState.d.ts.map +1 -0
- package/lib/typescript/src/index.d.ts +6 -0
- package/lib/typescript/src/index.d.ts.map +1 -0
- package/lib/typescript/src/store/index.d.ts +2 -0
- package/lib/typescript/src/store/index.d.ts.map +1 -0
- package/lib/typescript/src/store/useScreen.d.ts +2 -0
- package/lib/typescript/src/store/useScreen.d.ts.map +1 -0
- package/lib/typescript/src/styles/fill.d.ts +269 -0
- package/lib/typescript/src/styles/fill.d.ts.map +1 -0
- package/lib/typescript/tsup.config.d.ts +3 -0
- package/lib/typescript/tsup.config.d.ts.map +1 -0
- package/package.json +47 -11
- package/src/components/box/Center.tsx +19 -0
- package/src/components/box/CollapseHorizontal.tsx +44 -0
- package/src/components/box/ContentBox.tsx +24 -0
- package/src/components/box/DropShadow.tsx +28 -0
- package/src/components/box/ExpandOnMount.tsx +74 -0
- package/src/components/box/Expandable.tsx +143 -0
- package/src/components/box/FullSizeContainer.tsx +64 -0
- package/src/components/box/index.ts +7 -0
- package/src/components/button/DeleteButton.tsx +294 -0
- package/src/components/button/LoadingButton.tsx +155 -0
- package/src/components/button/Toggle.tsx +104 -0
- package/src/components/button/index.ts +3 -0
- package/src/components/feed/FeedContentPane.tsx +97 -0
- package/src/components/feed/MediaFeed.tsx +199 -0
- package/src/components/feed/MediaFeedBackground.tsx +136 -0
- package/src/components/feed/MediaFeedRefresh.tsx +113 -0
- package/src/components/feed/constants.ts +2 -0
- package/src/components/feed/context.tsx +19 -0
- package/src/components/feed/hooks.ts +279 -0
- package/src/components/feed/index.ts +2 -0
- package/src/components/form/Condition.tsx +27 -0
- package/src/components/form/Field.tsx +43 -0
- package/src/components/form/Form.tsx +393 -0
- package/src/components/form/FormFooter.tsx +163 -0
- package/src/components/form/UploadProgress/index.tsx +62 -0
- package/src/components/form/index.ts +3 -0
- package/src/components/form/input/Editable.tsx +167 -0
- package/src/components/form/input/InputSlider.tsx +70 -0
- package/src/components/form/input/OptionalTag.tsx +43 -0
- package/src/components/form/input/StandaloneInput.tsx +36 -0
- package/src/components/form/input/boolean/index.tsx +56 -0
- package/src/components/form/input/color/index.tsx +145 -0
- package/src/components/form/input/common/InputClearButton.tsx +47 -0
- package/src/components/form/input/date/index.tsx +103 -0
- package/src/components/form/input/datetime/index.tsx +143 -0
- package/src/components/form/input/file/index.tsx +226 -0
- package/src/components/form/input/hooks/index.ts +2 -0
- package/src/components/form/input/hooks/useInputColor.ts +7 -0
- package/src/components/form/input/hooks/useInputImperativeHandle.ts +22 -0
- package/src/components/form/input/hooks/useInputStyle.ts +40 -0
- package/src/components/form/input/index.ts +2 -0
- package/src/components/form/input/input.tsx +174 -0
- package/src/components/form/input/multipleSelect/index.tsx +79 -0
- package/src/components/form/input/number/index.tsx +100 -0
- package/src/components/form/input/select/index.tsx +215 -0
- package/src/components/form/input/socialMedia/index.tsx +234 -0
- package/src/components/form/input/text/index.tsx +89 -0
- package/src/components/form/input/text/textarea.tsx +56 -0
- package/src/components/form/input/time/index.tsx +106 -0
- package/src/components/form/types.ts +4 -0
- package/src/components/form/view/file.tsx +59 -0
- package/src/components/form/view/index.tsx +77 -0
- package/src/components/form/view/multipleSelect.tsx +52 -0
- package/src/components/form/view/select.tsx +41 -0
- package/src/components/icons/index.tsx +28 -0
- package/src/components/index.ts +8 -0
- package/src/components/loading/CircularProgress.tsx +53 -0
- package/src/components/loading/Loading.tsx +181 -0
- package/src/components/loading/LoadingImage.tsx +144 -0
- package/src/components/loading/LoadingSwitch.tsx +110 -0
- package/src/components/loading/index.ts +4 -0
- package/src/components/overlay/ImageViewOverlay.tsx +104 -0
- package/src/components/overlay/index.ts +1 -0
- package/src/components/text/AnimatedText.tsx +66 -0
- package/src/components/text/Txt.tsx +11 -0
- package/src/components/text/index.ts +1 -0
- package/src/components/theme/colorMode/DarkModeToggle.tsx +45 -0
- package/src/components/theme/colorMode/index.ts +1 -0
- package/src/components/theme/index.ts +1 -0
- package/src/constants/index.ts +1 -0
- package/src/constants/toast.ts +23 -0
- package/src/contexts/index.ts +1 -0
- package/src/contexts/root.tsx +39 -0
- package/src/hooks/index.ts +1 -0
- package/src/hooks/useThemeState.ts +18 -0
- package/src/store/index.ts +1 -0
- package/src/store/useScreen.ts +25 -0
- package/src/styles/fill.ts +19 -0
- package/dist/index.d.mts +0 -228
- package/dist/index.d.ts +0 -228
- package/dist/index.js +0 -2
- package/dist/index.js.map +0 -1
- package/dist/index.mjs +0 -2
- package/dist/index.mjs.map +0 -1
|
@@ -0,0 +1,124 @@
|
|
|
1
|
+
import { useTextColor, useToast } from '@chem-po/react';
|
|
2
|
+
import { Ionicons } from '@expo/vector-icons';
|
|
3
|
+
import React, { useCallback, useEffect, useMemo, useRef, useState } from 'react';
|
|
4
|
+
import { ActivityIndicator, Animated, StyleSheet, Text, TouchableOpacity, View } from 'react-native';
|
|
5
|
+
export const LoadingButton = ({
|
|
6
|
+
onPress,
|
|
7
|
+
children,
|
|
8
|
+
style,
|
|
9
|
+
textStyle,
|
|
10
|
+
color: colorProp,
|
|
11
|
+
icon,
|
|
12
|
+
disabled = false
|
|
13
|
+
}) => {
|
|
14
|
+
const [loading, setLoading] = useState(false);
|
|
15
|
+
const isMounted = useRef(true);
|
|
16
|
+
const contentOpacity = useRef(new Animated.Value(1)).current;
|
|
17
|
+
const loaderOpacity = useRef(new Animated.Value(0)).current;
|
|
18
|
+
const {
|
|
19
|
+
showError
|
|
20
|
+
} = useToast();
|
|
21
|
+
useEffect(() => {
|
|
22
|
+
isMounted.current = true;
|
|
23
|
+
return () => {
|
|
24
|
+
isMounted.current = false;
|
|
25
|
+
};
|
|
26
|
+
}, []);
|
|
27
|
+
const animateLoading = useCallback(isLoading => {
|
|
28
|
+
Animated.parallel([Animated.timing(contentOpacity, {
|
|
29
|
+
toValue: isLoading ? 0 : 1,
|
|
30
|
+
duration: 200,
|
|
31
|
+
useNativeDriver: true
|
|
32
|
+
}), Animated.timing(loaderOpacity, {
|
|
33
|
+
toValue: isLoading ? 1 : 0,
|
|
34
|
+
duration: 200,
|
|
35
|
+
useNativeDriver: true
|
|
36
|
+
})]).start();
|
|
37
|
+
}, [contentOpacity, loaderOpacity]);
|
|
38
|
+
const handlePress = useCallback(async () => {
|
|
39
|
+
if (onPress) {
|
|
40
|
+
setLoading(true);
|
|
41
|
+
animateLoading(true);
|
|
42
|
+
try {
|
|
43
|
+
await onPress();
|
|
44
|
+
} catch (err) {
|
|
45
|
+
console.error(err);
|
|
46
|
+
showError(err.message ?? 'An error occurred');
|
|
47
|
+
}
|
|
48
|
+
if (isMounted.current) {
|
|
49
|
+
setLoading(false);
|
|
50
|
+
animateLoading(false);
|
|
51
|
+
}
|
|
52
|
+
}
|
|
53
|
+
}, [onPress, animateLoading, showError]);
|
|
54
|
+
const fallbackColor = useTextColor();
|
|
55
|
+
const color = useMemo(() => colorProp ?? fallbackColor, [colorProp, fallbackColor]);
|
|
56
|
+
return /*#__PURE__*/React.createElement(TouchableOpacity, {
|
|
57
|
+
style: [styles.button, {
|
|
58
|
+
borderColor: color,
|
|
59
|
+
backgroundColor: disabled ? '#f0f0f0' : 'transparent'
|
|
60
|
+
}, style],
|
|
61
|
+
onPress: e => {
|
|
62
|
+
e.stopPropagation();
|
|
63
|
+
handlePress();
|
|
64
|
+
},
|
|
65
|
+
disabled: loading || disabled
|
|
66
|
+
}, /*#__PURE__*/React.createElement(View, {
|
|
67
|
+
style: [styles.buttonContent, {
|
|
68
|
+
borderColor: disabled ? '#ccc' : color
|
|
69
|
+
}]
|
|
70
|
+
}, /*#__PURE__*/React.createElement(Animated.View, {
|
|
71
|
+
style: [styles.contentContainer, {
|
|
72
|
+
opacity: contentOpacity
|
|
73
|
+
}]
|
|
74
|
+
}, icon && /*#__PURE__*/React.createElement(Ionicons, {
|
|
75
|
+
name: icon.name,
|
|
76
|
+
size: icon.size ?? 20,
|
|
77
|
+
color: disabled ? '#ccc' : color
|
|
78
|
+
}), typeof children === 'string' ? /*#__PURE__*/React.createElement(Text, {
|
|
79
|
+
style: [styles.buttonText, {
|
|
80
|
+
color: disabled ? '#ccc' : color
|
|
81
|
+
}, textStyle]
|
|
82
|
+
}, children) : children), /*#__PURE__*/React.createElement(Animated.View, {
|
|
83
|
+
style: [styles.loaderContainer, {
|
|
84
|
+
opacity: loaderOpacity
|
|
85
|
+
}]
|
|
86
|
+
}, /*#__PURE__*/React.createElement(ActivityIndicator, {
|
|
87
|
+
color: color,
|
|
88
|
+
size: "small"
|
|
89
|
+
}))));
|
|
90
|
+
};
|
|
91
|
+
const styles = StyleSheet.create({
|
|
92
|
+
button: {
|
|
93
|
+
flexDirection: 'row',
|
|
94
|
+
alignItems: 'center',
|
|
95
|
+
backgroundColor: 'transparent'
|
|
96
|
+
},
|
|
97
|
+
buttonContent: {
|
|
98
|
+
flexDirection: 'row',
|
|
99
|
+
gap: 8,
|
|
100
|
+
borderWidth: 1,
|
|
101
|
+
paddingHorizontal: 16,
|
|
102
|
+
paddingVertical: 8,
|
|
103
|
+
borderRadius: 4,
|
|
104
|
+
alignItems: 'center',
|
|
105
|
+
justifyContent: 'center',
|
|
106
|
+
minHeight: 40,
|
|
107
|
+
position: 'relative'
|
|
108
|
+
},
|
|
109
|
+
contentContainer: {
|
|
110
|
+
flexDirection: 'row',
|
|
111
|
+
alignItems: 'center',
|
|
112
|
+
justifyContent: 'center',
|
|
113
|
+
gap: 8
|
|
114
|
+
},
|
|
115
|
+
loaderContainer: {
|
|
116
|
+
...StyleSheet.absoluteFillObject,
|
|
117
|
+
alignItems: 'center',
|
|
118
|
+
justifyContent: 'center'
|
|
119
|
+
},
|
|
120
|
+
buttonText: {
|
|
121
|
+
fontWeight: 'bold'
|
|
122
|
+
}
|
|
123
|
+
});
|
|
124
|
+
//# sourceMappingURL=LoadingButton.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["useTextColor","useToast","Ionicons","React","useCallback","useEffect","useMemo","useRef","useState","ActivityIndicator","Animated","StyleSheet","Text","TouchableOpacity","View","LoadingButton","onPress","children","style","textStyle","color","colorProp","icon","disabled","loading","setLoading","isMounted","contentOpacity","Value","current","loaderOpacity","showError","animateLoading","isLoading","parallel","timing","toValue","duration","useNativeDriver","start","handlePress","err","console","error","message","fallbackColor","createElement","styles","button","borderColor","backgroundColor","e","stopPropagation","buttonContent","contentContainer","opacity","name","size","buttonText","loaderContainer","create","flexDirection","alignItems","gap","borderWidth","paddingHorizontal","paddingVertical","borderRadius","justifyContent","minHeight","position","absoluteFillObject","fontWeight"],"sourceRoot":"..\\..\\..\\..\\src","sources":["components/button/LoadingButton.tsx"],"mappings":"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","ignoreList":[]}
|
|
@@ -0,0 +1,82 @@
|
|
|
1
|
+
import { useTheme, useToast } from '@chem-po/react';
|
|
2
|
+
import { useCallback } from 'react';
|
|
3
|
+
import { StyleSheet, TouchableOpacity, View } from 'react-native';
|
|
4
|
+
const ToggleButton = ({
|
|
5
|
+
selected,
|
|
6
|
+
option: {
|
|
7
|
+
Render,
|
|
8
|
+
disabledMessage
|
|
9
|
+
},
|
|
10
|
+
size,
|
|
11
|
+
onPress
|
|
12
|
+
}) => {
|
|
13
|
+
const {
|
|
14
|
+
showError
|
|
15
|
+
} = useToast();
|
|
16
|
+
const handlePress = useCallback(() => {
|
|
17
|
+
if (!disabledMessage) {
|
|
18
|
+
onPress();
|
|
19
|
+
} else {
|
|
20
|
+
showError(disabledMessage);
|
|
21
|
+
}
|
|
22
|
+
}, [onPress, disabledMessage, showError]);
|
|
23
|
+
const body = /*#__PURE__*/React.createElement(View, {
|
|
24
|
+
style: [styles.buttonContainer, {
|
|
25
|
+
width: size,
|
|
26
|
+
height: size,
|
|
27
|
+
opacity: !disabledMessage ? 1 : 0.6
|
|
28
|
+
}]
|
|
29
|
+
}, /*#__PURE__*/React.createElement(TouchableOpacity, {
|
|
30
|
+
style: [styles.button, {
|
|
31
|
+
backgroundColor: selected ? 'rgba(255, 255, 255, 0.5)' : 'rgba(0, 0, 0, 0.1)',
|
|
32
|
+
pointerEvents: selected ? 'none' : 'auto'
|
|
33
|
+
}],
|
|
34
|
+
onPress: handlePress,
|
|
35
|
+
disabled: !!disabledMessage
|
|
36
|
+
}, Render(selected)));
|
|
37
|
+
return body;
|
|
38
|
+
};
|
|
39
|
+
export const Toggle = ({
|
|
40
|
+
value,
|
|
41
|
+
onChange,
|
|
42
|
+
size = 28,
|
|
43
|
+
options
|
|
44
|
+
}) => {
|
|
45
|
+
const {
|
|
46
|
+
theme: {
|
|
47
|
+
colors: {
|
|
48
|
+
background
|
|
49
|
+
}
|
|
50
|
+
}
|
|
51
|
+
} = useTheme();
|
|
52
|
+
return /*#__PURE__*/React.createElement(View, {
|
|
53
|
+
style: [styles.container, {
|
|
54
|
+
borderColor: background[300]
|
|
55
|
+
}]
|
|
56
|
+
}, options.map(option => /*#__PURE__*/React.createElement(ToggleButton, {
|
|
57
|
+
key: option.id,
|
|
58
|
+
onPress: () => {
|
|
59
|
+
onChange(option.id);
|
|
60
|
+
},
|
|
61
|
+
option: option,
|
|
62
|
+
size: size,
|
|
63
|
+
selected: option.id === value
|
|
64
|
+
})));
|
|
65
|
+
};
|
|
66
|
+
const styles = StyleSheet.create({
|
|
67
|
+
container: {
|
|
68
|
+
flexDirection: 'row',
|
|
69
|
+
borderWidth: 1,
|
|
70
|
+
borderRadius: 3
|
|
71
|
+
},
|
|
72
|
+
buttonContainer: {
|
|
73
|
+
justifyContent: 'center',
|
|
74
|
+
alignItems: 'center'
|
|
75
|
+
},
|
|
76
|
+
button: {
|
|
77
|
+
justifyContent: 'center',
|
|
78
|
+
alignItems: 'center',
|
|
79
|
+
borderRadius: 3
|
|
80
|
+
}
|
|
81
|
+
});
|
|
82
|
+
//# sourceMappingURL=Toggle.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["useTheme","useToast","useCallback","StyleSheet","TouchableOpacity","View","ToggleButton","selected","option","Render","disabledMessage","size","onPress","showError","handlePress","body","React","createElement","style","styles","buttonContainer","width","height","opacity","button","backgroundColor","pointerEvents","disabled","Toggle","value","onChange","options","theme","colors","background","container","borderColor","map","key","id","create","flexDirection","borderWidth","borderRadius","justifyContent","alignItems"],"sourceRoot":"..\\..\\..\\..\\src","sources":["components/button/Toggle.tsx"],"mappings":"AAAA,SAASA,QAAQ,EAAEC,QAAQ,QAAQ,gBAAgB;AACnD,SAAcC,WAAW,QAAQ,OAAO;AACxC,SAASC,UAAU,EAAEC,gBAAgB,EAAEC,IAAI,QAAQ,cAAc;AAejE,MAAMC,YAAY,GAAGA,CAAwB;EAC3CC,QAAQ;EACRC,MAAM,EAAE;IAAEC,MAAM;IAAEC;EAAgB,CAAC;EACnCC,IAAI;EACJC;AAMF,CAAC,KAAK;EACJ,MAAM;IAAEC;EAAU,CAAC,GAAGZ,QAAQ,CAAC,CAAC;EAChC,MAAMa,WAAW,GAAGZ,WAAW,CAAC,MAAM;IACpC,IAAI,CAACQ,eAAe,EAAE;MACpBE,OAAO,CAAC,CAAC;IACX,CAAC,MAAM;MACLC,SAAS,CAACH,eAAe,CAAC;IAC5B;EACF,CAAC,EAAE,CAACE,OAAO,EAAEF,eAAe,EAAEG,SAAS,CAAC,CAAC;EACzC,MAAME,IAAI,gBACRC,KAAA,CAAAC,aAAA,CAACZ,IAAI;IACHa,KAAK,EAAE,CACLC,MAAM,CAACC,eAAe,EACtB;MAAEC,KAAK,EAAEV,IAAI;MAAEW,MAAM,EAAEX,IAAI;MAAEY,OAAO,EAAE,CAACb,eAAe,GAAG,CAAC,GAAG;IAAI,CAAC;EAClE,gBACFM,KAAA,CAAAC,aAAA,CAACb,gBAAgB;IACfc,KAAK,EAAE,CACLC,MAAM,CAACK,MAAM,EACb;MACEC,eAAe,EAAElB,QAAQ,GAAG,0BAA0B,GAAG,oBAAoB;MAC7EmB,aAAa,EAAEnB,QAAQ,GAAG,MAAM,GAAG;IACrC,CAAC,CACD;IACFK,OAAO,EAAEE,WAAY;IACrBa,QAAQ,EAAE,CAAC,CAACjB;EAAgB,GAC3BD,MAAM,CAACF,QAAQ,CACA,CACd,CACP;EAED,OAAOQ,IAAI;AACb,CAAC;AAED,OAAO,MAAMa,MAAM,GAAGA,CAAwB;EAC5CC,KAAK;EACLC,QAAQ;EACRnB,IAAI,GAAG,EAAE;EACToB;AACmB,CAAC,KAAK;EACzB,MAAM;IACJC,KAAK,EAAE;MACLC,MAAM,EAAE;QAAEC;MAAW;IACvB;EACF,CAAC,GAAGlC,QAAQ,CAAC,CAAC;EACd,oBACEgB,KAAA,CAAAC,aAAA,CAACZ,IAAI;IAACa,KAAK,EAAE,CAACC,MAAM,CAACgB,SAAS,EAAE;MAAEC,WAAW,EAAEF,UAAU,CAAC,GAAG;IAAE,CAAC;EAAE,GAC/DH,OAAO,CAACM,GAAG,CAAC7B,MAAM,iBACjBQ,KAAA,CAAAC,aAAA,CAACX,YAAY;IACXgC,GAAG,EAAE9B,MAAM,CAAC+B,EAAG;IACf3B,OAAO,EAAEA,CAAA,KAAM;MACbkB,QAAQ,CAACtB,MAAM,CAAC+B,EAAE,CAAC;IACrB,CAAE;IACF/B,MAAM,EAAEA,MAAO;IACfG,IAAI,EAAEA,IAAK;IACXJ,QAAQ,EAAEC,MAAM,CAAC+B,EAAE,KAAKV;EAAM,CAC/B,CACF,CACG,CAAC;AAEX,CAAC;AAED,MAAMV,MAAM,GAAGhB,UAAU,CAACqC,MAAM,CAAC;EAC/BL,SAAS,EAAE;IACTM,aAAa,EAAE,KAAK;IACpBC,WAAW,EAAE,CAAC;IACdC,YAAY,EAAE;EAChB,CAAC;EACDvB,eAAe,EAAE;IACfwB,cAAc,EAAE,QAAQ;IACxBC,UAAU,EAAE;EACd,CAAC;EACDrB,MAAM,EAAE;IACNoB,cAAc,EAAE,QAAQ;IACxBC,UAAU,EAAE,QAAQ;IACpBF,YAAY,EAAE;EAChB;AACF,CAAC,CAAC","ignoreList":[]}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":[],"sourceRoot":"..\\..\\..\\..\\src","sources":["components/button/index.ts"],"mappings":"AAAA,cAAc,gBAAgB;AAC9B,cAAc,iBAAiB;AAC/B,cAAc,UAAU","ignoreList":[]}
|
|
@@ -0,0 +1,97 @@
|
|
|
1
|
+
import { useDocument, useScreen } from '@chem-po/react';
|
|
2
|
+
import { useEffect, useMemo, useRef } from 'react';
|
|
3
|
+
// import { motion, MotionValue, useMotionValue, useSpring, useTransform } from 'framer-motion'
|
|
4
|
+
import { Animated } from 'react-native';
|
|
5
|
+
const getContentScale = status => {
|
|
6
|
+
// if (status === 'current') return 1
|
|
7
|
+
if (status === 'current') return 1;
|
|
8
|
+
return 0;
|
|
9
|
+
};
|
|
10
|
+
// const getContentX = (status: PanelStatus, contentSize: { width: number; height: number }) => {
|
|
11
|
+
// const { width: cWidth } = contentSize
|
|
12
|
+
// if (status === 'current') return 0
|
|
13
|
+
// if (status === 'next') return cWidth
|
|
14
|
+
// if (status === 'prev') return -cWidth
|
|
15
|
+
// return 0
|
|
16
|
+
// }
|
|
17
|
+
|
|
18
|
+
const getContentY = (status, contentSize) => {
|
|
19
|
+
const {
|
|
20
|
+
height: cHeight
|
|
21
|
+
} = contentSize;
|
|
22
|
+
if (status === 'current') return 0;
|
|
23
|
+
if (status === 'next') return cHeight * 1.1;
|
|
24
|
+
if (status === 'prev') return -cHeight * 1.1;
|
|
25
|
+
return 0;
|
|
26
|
+
};
|
|
27
|
+
export const FeedContentPane = ({
|
|
28
|
+
id,
|
|
29
|
+
collectionPath,
|
|
30
|
+
onItemLoad,
|
|
31
|
+
RenderItem,
|
|
32
|
+
status,
|
|
33
|
+
offsetY,
|
|
34
|
+
enterStatus
|
|
35
|
+
}) => {
|
|
36
|
+
const {
|
|
37
|
+
height,
|
|
38
|
+
width
|
|
39
|
+
} = useScreen();
|
|
40
|
+
const contentSize = useMemo(() => ({
|
|
41
|
+
height,
|
|
42
|
+
width
|
|
43
|
+
}), [height, width]);
|
|
44
|
+
const scale = useRef(new Animated.Value(0)).current;
|
|
45
|
+
const baseY = useRef(new Animated.Value(getContentY(enterStatus ?? 'next', contentSize))).current;
|
|
46
|
+
const y = Animated.add(baseY, offsetY);
|
|
47
|
+
const docPath = useMemo(() => `${collectionPath}/${id}`, [collectionPath, id]);
|
|
48
|
+
const {
|
|
49
|
+
data: item
|
|
50
|
+
} = useDocument(docPath, onItemLoad);
|
|
51
|
+
|
|
52
|
+
// const init = useRef<{
|
|
53
|
+
// status: PanelStatus
|
|
54
|
+
// contentSize: Size
|
|
55
|
+
// y: number
|
|
56
|
+
// scale: number
|
|
57
|
+
// }>({
|
|
58
|
+
// contentSize,
|
|
59
|
+
// status: enterStatus ?? status,
|
|
60
|
+
// // x: getContentX(fromStatus || status, contentSize),
|
|
61
|
+
// y: getContentY(enterStatus ?? status, contentSize),
|
|
62
|
+
// scale: getContentScale(enterStatus ?? status),
|
|
63
|
+
// })
|
|
64
|
+
|
|
65
|
+
useEffect(() => {
|
|
66
|
+
const newScale = getContentScale(status);
|
|
67
|
+
const updatedY = getContentY(status, contentSize);
|
|
68
|
+
baseY.setValue(updatedY);
|
|
69
|
+
scale.setValue(newScale);
|
|
70
|
+
// baseY.set(updatedY)
|
|
71
|
+
// scale.set(newScale)
|
|
72
|
+
}, [status, baseY, scale, contentSize]);
|
|
73
|
+
return (
|
|
74
|
+
/*#__PURE__*/
|
|
75
|
+
// <AnimatePresence>
|
|
76
|
+
React.createElement(Animated.View, {
|
|
77
|
+
style: {
|
|
78
|
+
position: 'absolute',
|
|
79
|
+
top: 0,
|
|
80
|
+
left: 0,
|
|
81
|
+
transform: [{
|
|
82
|
+
translateY: y
|
|
83
|
+
}, {
|
|
84
|
+
scale
|
|
85
|
+
}],
|
|
86
|
+
display: 'flex',
|
|
87
|
+
alignItems: 'center',
|
|
88
|
+
justifyContent: 'center',
|
|
89
|
+
height: '100%',
|
|
90
|
+
opacity: scale,
|
|
91
|
+
width: '100%'
|
|
92
|
+
}
|
|
93
|
+
}, item ? RenderItem(item) : null)
|
|
94
|
+
// </AnimatePresence>
|
|
95
|
+
);
|
|
96
|
+
};
|
|
97
|
+
//# sourceMappingURL=FeedContentPane.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["useDocument","useScreen","useEffect","useMemo","useRef","Animated","getContentScale","status","getContentY","contentSize","height","cHeight","FeedContentPane","id","collectionPath","onItemLoad","RenderItem","offsetY","enterStatus","width","scale","Value","current","baseY","y","add","docPath","data","item","newScale","updatedY","setValue","React","createElement","View","style","position","top","left","transform","translateY","display","alignItems","justifyContent","opacity"],"sourceRoot":"..\\..\\..\\..\\src","sources":["components/feed/FeedContentPane.tsx"],"mappings":"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","ignoreList":[]}
|
|
@@ -0,0 +1,170 @@
|
|
|
1
|
+
import { useScreen, useTheme } from '@chem-po/react';
|
|
2
|
+
import React, { useCallback, useMemo, useRef, useState } from 'react';
|
|
3
|
+
import { Animated, StyleSheet, View } from 'react-native';
|
|
4
|
+
import { Gesture, GestureDetector } from 'react-native-gesture-handler';
|
|
5
|
+
import { fill } from '../../styles/fill';
|
|
6
|
+
import { Center } from '../box/Center';
|
|
7
|
+
import { LoadingOverlay } from '../loading/Loading';
|
|
8
|
+
import { REFRESH_THRESHOLD, SWIPE_THRESHOLD } from './constants';
|
|
9
|
+
import { MediaFeedProvider } from './context';
|
|
10
|
+
import { FeedContentPane } from './FeedContentPane';
|
|
11
|
+
import { useMediaFeed } from './hooks';
|
|
12
|
+
import { MediaFeedBackground } from './MediaFeedBackground';
|
|
13
|
+
import { MediaFeedRefresh } from './MediaFeedRefresh';
|
|
14
|
+
const useUpdatePanels = setItems => useCallback(data => {
|
|
15
|
+
const updated = [];
|
|
16
|
+
if (data.prev) updated.push({
|
|
17
|
+
status: 'prev',
|
|
18
|
+
id: data.prev
|
|
19
|
+
});
|
|
20
|
+
if (data.curr) {
|
|
21
|
+
updated.push({
|
|
22
|
+
status: 'current',
|
|
23
|
+
id: data.curr
|
|
24
|
+
});
|
|
25
|
+
}
|
|
26
|
+
if (data.next) updated.push({
|
|
27
|
+
status: 'next',
|
|
28
|
+
id: data.next
|
|
29
|
+
});
|
|
30
|
+
setItems(updated);
|
|
31
|
+
}, [setItems]);
|
|
32
|
+
export const MediaFeed = ({
|
|
33
|
+
fetch,
|
|
34
|
+
collection: collectionPath,
|
|
35
|
+
RenderItem,
|
|
36
|
+
authRequired,
|
|
37
|
+
getBackgroundUrl,
|
|
38
|
+
getBackgroundValue,
|
|
39
|
+
limit,
|
|
40
|
+
defaultBackground,
|
|
41
|
+
swipeDisabled,
|
|
42
|
+
children
|
|
43
|
+
}) => {
|
|
44
|
+
const {
|
|
45
|
+
width,
|
|
46
|
+
height
|
|
47
|
+
} = useScreen();
|
|
48
|
+
const {
|
|
49
|
+
theme
|
|
50
|
+
} = useTheme();
|
|
51
|
+
const contentRef = useRef(null);
|
|
52
|
+
const containerRef = useRef(null);
|
|
53
|
+
// const panels = useRef<Array<FeedContentPaneRef>>([])
|
|
54
|
+
const [direction, setDirection] = useState(null);
|
|
55
|
+
const [panels, setPanels] = useState([]);
|
|
56
|
+
const offsetY = useRef(new Animated.Value(0)).current;
|
|
57
|
+
const onNewData = useUpdatePanels(setPanels);
|
|
58
|
+
const backgroundRef = useRef(null);
|
|
59
|
+
const {
|
|
60
|
+
goNext,
|
|
61
|
+
goPrev,
|
|
62
|
+
loading,
|
|
63
|
+
canGoNext,
|
|
64
|
+
canGoPrev,
|
|
65
|
+
refresh,
|
|
66
|
+
refreshing
|
|
67
|
+
} = useMediaFeed(fetch, onNewData, limit, authRequired);
|
|
68
|
+
const pointerDown = useRef(false);
|
|
69
|
+
const dragStart = useRef({
|
|
70
|
+
x: 0,
|
|
71
|
+
y: 0
|
|
72
|
+
});
|
|
73
|
+
const onDragStart = useCallback(e => {
|
|
74
|
+
if (swipeDisabled) return;
|
|
75
|
+
pointerDown.current = true;
|
|
76
|
+
dragStart.current = {
|
|
77
|
+
x: e.x,
|
|
78
|
+
y: e.y
|
|
79
|
+
};
|
|
80
|
+
}, [swipeDisabled]);
|
|
81
|
+
const onDragEnd = useCallback(e => {
|
|
82
|
+
if (!pointerDown.current) return;
|
|
83
|
+
const maxY = canGoPrev ? SWIPE_THRESHOLD : REFRESH_THRESHOLD;
|
|
84
|
+
const minY = canGoNext ? -SWIPE_THRESHOLD : -REFRESH_THRESHOLD;
|
|
85
|
+
const oY = Math.max(minY, Math.min(maxY, e.y - dragStart.current.y));
|
|
86
|
+
if (canGoNext && oY < -(SWIPE_THRESHOLD - 10)) {
|
|
87
|
+
setDirection('next');
|
|
88
|
+
goNext();
|
|
89
|
+
} else if (canGoPrev && oY > SWIPE_THRESHOLD - 10) {
|
|
90
|
+
setDirection('prev');
|
|
91
|
+
goPrev();
|
|
92
|
+
} else if (oY > REFRESH_THRESHOLD - 10 || oY < -(REFRESH_THRESHOLD - 10)) {
|
|
93
|
+
refresh();
|
|
94
|
+
if (backgroundRef.current) backgroundRef.current.onNewData(null);
|
|
95
|
+
}
|
|
96
|
+
offsetY.setValue(0);
|
|
97
|
+
pointerDown.current = false;
|
|
98
|
+
}, [offsetY, goNext, goPrev, canGoNext, canGoPrev, refresh]);
|
|
99
|
+
const onDragMove = useCallback(e => {
|
|
100
|
+
if (!pointerDown.current) return;
|
|
101
|
+
const oX = Math.max(-10, Math.min(10, e.x - dragStart.current.x));
|
|
102
|
+
const maxY = canGoPrev ? SWIPE_THRESHOLD : REFRESH_THRESHOLD;
|
|
103
|
+
const minY = canGoNext ? -SWIPE_THRESHOLD : -REFRESH_THRESHOLD;
|
|
104
|
+
const oY = Math.max(minY, Math.min(maxY, e.y - dragStart.current.y));
|
|
105
|
+
const dist = Math.sqrt(oX ** 2 + oY ** 2);
|
|
106
|
+
if (dist > 10 && contentRef.current) {
|
|
107
|
+
// contentRef.current.style.setProperty('pointer-events', 'none')
|
|
108
|
+
}
|
|
109
|
+
offsetY.setValue(oY);
|
|
110
|
+
}, [offsetY, canGoNext, canGoPrev]);
|
|
111
|
+
const panGesture = Gesture.Pan().onStart(onDragStart).onUpdate(onDragMove).onEnd(onDragEnd);
|
|
112
|
+
const containerStyle = useMemo(() => ({
|
|
113
|
+
height,
|
|
114
|
+
width,
|
|
115
|
+
overflow: 'hidden',
|
|
116
|
+
pointerEvents: swipeDisabled ? 'none' : 'auto'
|
|
117
|
+
}), [width, height, swipeDisabled]);
|
|
118
|
+
const [curr, setCurr] = useState(null);
|
|
119
|
+
const handleItemLoad = useCallback(data => {
|
|
120
|
+
var _panels$find;
|
|
121
|
+
const isCurr = ((_panels$find = panels.find(p => p.status === 'current')) === null || _panels$find === void 0 ? void 0 : _panels$find.id) === (data === null || data === void 0 ? void 0 : data._id);
|
|
122
|
+
if (isCurr) setCurr(data);
|
|
123
|
+
}, [panels]);
|
|
124
|
+
return /*#__PURE__*/React.createElement(MediaFeedProvider, {
|
|
125
|
+
curr: curr
|
|
126
|
+
}, /*#__PURE__*/React.createElement(GestureDetector, {
|
|
127
|
+
gesture: panGesture
|
|
128
|
+
}, /*#__PURE__*/React.createElement(Center, {
|
|
129
|
+
style: [styles.container, {
|
|
130
|
+
backgroundColor: defaultBackground ?? theme.colors.background[100]
|
|
131
|
+
}]
|
|
132
|
+
}, /*#__PURE__*/React.createElement(MediaFeedBackground, {
|
|
133
|
+
item: curr,
|
|
134
|
+
getBackgroundValue: getBackgroundValue,
|
|
135
|
+
getBackgroundUrl: getBackgroundUrl
|
|
136
|
+
}), /*#__PURE__*/React.createElement(View, {
|
|
137
|
+
style: containerStyle,
|
|
138
|
+
ref: containerRef
|
|
139
|
+
}, /*#__PURE__*/React.createElement(Center, {
|
|
140
|
+
style: fill.relative,
|
|
141
|
+
ref: contentRef
|
|
142
|
+
}, panels.map(panel => /*#__PURE__*/React.createElement(FeedContentPane, {
|
|
143
|
+
key: panel.id,
|
|
144
|
+
id: panel.id,
|
|
145
|
+
collectionPath: collectionPath,
|
|
146
|
+
RenderItem: RenderItem,
|
|
147
|
+
onItemLoad: handleItemLoad,
|
|
148
|
+
status: panel.status,
|
|
149
|
+
enterStatus: direction,
|
|
150
|
+
offsetY: offsetY
|
|
151
|
+
})))), /*#__PURE__*/React.createElement(MediaFeedRefresh, {
|
|
152
|
+
canRefresh: !canGoPrev,
|
|
153
|
+
refreshing: refreshing,
|
|
154
|
+
offsetY: offsetY
|
|
155
|
+
}), /*#__PURE__*/React.createElement(LoadingOverlay, {
|
|
156
|
+
inFeed: true,
|
|
157
|
+
isLoading: loading
|
|
158
|
+
}), children ? /*#__PURE__*/React.createElement(Center, {
|
|
159
|
+
style: [fill.absolute, {
|
|
160
|
+
zIndex: 3
|
|
161
|
+
}]
|
|
162
|
+
}, children) : null)));
|
|
163
|
+
};
|
|
164
|
+
const styles = StyleSheet.create({
|
|
165
|
+
container: {
|
|
166
|
+
...fill.relative,
|
|
167
|
+
overflow: 'hidden'
|
|
168
|
+
}
|
|
169
|
+
});
|
|
170
|
+
//# sourceMappingURL=MediaFeed.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["useScreen","useTheme","React","useCallback","useMemo","useRef","useState","Animated","StyleSheet","View","Gesture","GestureDetector","fill","Center","LoadingOverlay","REFRESH_THRESHOLD","SWIPE_THRESHOLD","MediaFeedProvider","FeedContentPane","useMediaFeed","MediaFeedBackground","MediaFeedRefresh","useUpdatePanels","setItems","data","updated","prev","push","status","id","curr","next","MediaFeed","fetch","collection","collectionPath","RenderItem","authRequired","getBackgroundUrl","getBackgroundValue","limit","defaultBackground","swipeDisabled","children","width","height","theme","contentRef","containerRef","direction","setDirection","panels","setPanels","offsetY","Value","current","onNewData","backgroundRef","goNext","goPrev","loading","canGoNext","canGoPrev","refresh","refreshing","pointerDown","dragStart","x","y","onDragStart","e","onDragEnd","maxY","minY","oY","Math","max","min","setValue","onDragMove","oX","dist","sqrt","panGesture","Pan","onStart","onUpdate","onEnd","containerStyle","overflow","pointerEvents","setCurr","handleItemLoad","_panels$find","isCurr","find","p","_id","createElement","gesture","style","styles","container","backgroundColor","colors","background","item","ref","relative","map","panel","key","onItemLoad","enterStatus","canRefresh","inFeed","isLoading","absolute","zIndex","create"],"sourceRoot":"..\\..\\..\\..\\src","sources":["components/feed/MediaFeed.tsx"],"mappings":"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","ignoreList":[]}
|
|
@@ -0,0 +1,118 @@
|
|
|
1
|
+
function _extends() { return _extends = Object.assign ? Object.assign.bind() : function (n) { for (var e = 1; e < arguments.length; e++) { var t = arguments[e]; for (var r in t) ({}).hasOwnProperty.call(t, r) && (n[r] = t[r]); } return n; }, _extends.apply(null, arguments); }
|
|
2
|
+
import { useObjectUrl } from '@chem-po/react';
|
|
3
|
+
import React, { useEffect, useMemo, useRef, useState } from 'react';
|
|
4
|
+
import { ImageBackground, StyleSheet, View } from 'react-native';
|
|
5
|
+
import { fill } from '../../styles/fill';
|
|
6
|
+
import { Center } from '../box/Center';
|
|
7
|
+
import { LoadingLogo } from '../loading';
|
|
8
|
+
const emptyPng = 'data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAEAAAABCAQAAAC1HAwCAAAAC0lEQVR42mNkAAIAAAoAAv/lxKUAAAAASUVORK5CYII=';
|
|
9
|
+
export const backgroundStyle = StyleSheet.create({
|
|
10
|
+
imageBackground: {
|
|
11
|
+
flex: 1,
|
|
12
|
+
transform: [{
|
|
13
|
+
scale: 1.075
|
|
14
|
+
}]
|
|
15
|
+
}
|
|
16
|
+
});
|
|
17
|
+
const FillBackground = ({
|
|
18
|
+
background,
|
|
19
|
+
opacity = 0.7,
|
|
20
|
+
style,
|
|
21
|
+
...props
|
|
22
|
+
}) => /*#__PURE__*/React.createElement(View, _extends({
|
|
23
|
+
style: [fill.absolute, style]
|
|
24
|
+
}, props), /*#__PURE__*/React.createElement(ImageBackground, {
|
|
25
|
+
source: {
|
|
26
|
+
uri: background ?? emptyPng
|
|
27
|
+
},
|
|
28
|
+
style: [backgroundStyle.imageBackground, {
|
|
29
|
+
opacity
|
|
30
|
+
}],
|
|
31
|
+
resizeMode: "cover"
|
|
32
|
+
}));
|
|
33
|
+
const FileValueBackground = ({
|
|
34
|
+
getBackgroundValue,
|
|
35
|
+
item
|
|
36
|
+
}) => {
|
|
37
|
+
const background = useMemo(() => item ? getBackgroundValue(item) : null, [getBackgroundValue, item]);
|
|
38
|
+
const {
|
|
39
|
+
loading,
|
|
40
|
+
url
|
|
41
|
+
} = useObjectUrl(background);
|
|
42
|
+
const usedIndex = useRef(0);
|
|
43
|
+
const [index, setIndex] = useState(0);
|
|
44
|
+
const [url1, setUrl1] = useState(null);
|
|
45
|
+
const [url2, setUrl2] = useState(null);
|
|
46
|
+
useEffect(() => {
|
|
47
|
+
const usedIdx = usedIndex.current;
|
|
48
|
+
if (usedIdx === 0) {
|
|
49
|
+
setUrl1(url);
|
|
50
|
+
usedIndex.current = 1;
|
|
51
|
+
setIndex(0);
|
|
52
|
+
} else {
|
|
53
|
+
setUrl2(url);
|
|
54
|
+
usedIndex.current = 0;
|
|
55
|
+
setIndex(1);
|
|
56
|
+
}
|
|
57
|
+
}, [url]);
|
|
58
|
+
return /*#__PURE__*/React.createElement(Center, {
|
|
59
|
+
style: fill.absolute
|
|
60
|
+
}, /*#__PURE__*/React.createElement(FillBackground, {
|
|
61
|
+
opacity: index === 0 ? 1 : 0,
|
|
62
|
+
background: url1
|
|
63
|
+
}), /*#__PURE__*/React.createElement(FillBackground, {
|
|
64
|
+
opacity: index === 1 ? 1 : 0,
|
|
65
|
+
background: url2
|
|
66
|
+
}), /*#__PURE__*/React.createElement(LoadingLogo, {
|
|
67
|
+
isLoading: loading
|
|
68
|
+
}));
|
|
69
|
+
};
|
|
70
|
+
const UrlBackground = ({
|
|
71
|
+
getBackgroundUrl,
|
|
72
|
+
item
|
|
73
|
+
}) => {
|
|
74
|
+
const background = useMemo(() => item ? getBackgroundUrl(item) : null, [getBackgroundUrl, item]);
|
|
75
|
+
const usedIndex = useRef(0);
|
|
76
|
+
const [index, setIndex] = useState(0);
|
|
77
|
+
const [url1, setUrl1] = useState(null);
|
|
78
|
+
const [url2, setUrl2] = useState(null);
|
|
79
|
+
useEffect(() => {
|
|
80
|
+
if (!background) return;
|
|
81
|
+
if (usedIndex.current === 0) {
|
|
82
|
+
setUrl1(background);
|
|
83
|
+
usedIndex.current = 1;
|
|
84
|
+
setIndex(0);
|
|
85
|
+
} else {
|
|
86
|
+
setUrl2(background);
|
|
87
|
+
usedIndex.current = 0;
|
|
88
|
+
setIndex(1);
|
|
89
|
+
}
|
|
90
|
+
}, [background]);
|
|
91
|
+
return /*#__PURE__*/React.createElement(Center, {
|
|
92
|
+
style: fill.absolute
|
|
93
|
+
}, /*#__PURE__*/React.createElement(FillBackground
|
|
94
|
+
//filter={filter}
|
|
95
|
+
, {
|
|
96
|
+
opacity: index === 0 ? 1 : 0,
|
|
97
|
+
background: url1
|
|
98
|
+
}), /*#__PURE__*/React.createElement(FillBackground
|
|
99
|
+
//filter={filter}
|
|
100
|
+
, {
|
|
101
|
+
opacity: index === 1 ? 1 : 0,
|
|
102
|
+
background: url2
|
|
103
|
+
}));
|
|
104
|
+
};
|
|
105
|
+
export const MediaFeedBackground = ({
|
|
106
|
+
getBackgroundValue,
|
|
107
|
+
getBackgroundUrl,
|
|
108
|
+
...props
|
|
109
|
+
}) => {
|
|
110
|
+
if (getBackgroundValue) return /*#__PURE__*/React.createElement(FileValueBackground, _extends({
|
|
111
|
+
getBackgroundValue: getBackgroundValue
|
|
112
|
+
}, props));
|
|
113
|
+
if (getBackgroundUrl) return /*#__PURE__*/React.createElement(UrlBackground, _extends({
|
|
114
|
+
getBackgroundUrl: getBackgroundUrl
|
|
115
|
+
}, props));
|
|
116
|
+
return null;
|
|
117
|
+
};
|
|
118
|
+
//# sourceMappingURL=MediaFeedBackground.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["useObjectUrl","React","useEffect","useMemo","useRef","useState","ImageBackground","StyleSheet","View","fill","Center","LoadingLogo","emptyPng","backgroundStyle","create","imageBackground","flex","transform","scale","FillBackground","background","opacity","style","props","createElement","_extends","absolute","source","uri","resizeMode","FileValueBackground","getBackgroundValue","item","loading","url","usedIndex","index","setIndex","url1","setUrl1","url2","setUrl2","usedIdx","current","isLoading","UrlBackground","getBackgroundUrl","MediaFeedBackground"],"sourceRoot":"..\\..\\..\\..\\src","sources":["components/feed/MediaFeedBackground.tsx"],"mappings":"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","ignoreList":[]}
|