@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
package/dist/index.d.mts
DELETED
|
@@ -1,228 +0,0 @@
|
|
|
1
|
-
import * as react from 'react';
|
|
2
|
-
import react__default, { PropsWithChildren, FC, ReactNode, JSX } from 'react';
|
|
3
|
-
import { ViewProps, View, StyleProp, ViewStyle, TextStyle, ActivityIndicatorProps, DimensionValue, TextProps } from 'react-native';
|
|
4
|
-
import * as react_jsx_runtime from 'react/jsx-runtime';
|
|
5
|
-
import { Ionicons } from '@expo/vector-icons';
|
|
6
|
-
import { AnyObject, WithId, InputRef, FileValue, BackendAdapterInterface, Theme, ColorMode } from '@chem-po/core';
|
|
7
|
-
import { MediaFeedProps, ListField, IFormElement, DataViewProps, FieldMap, FieldMapFormProps, Field, FieldFormProps, FormProps, EditableProps, ThemedAsset, ToastProviderProps, ChempoProps, ThemeProps } from '@chem-po/react';
|
|
8
|
-
|
|
9
|
-
type CenterProps = ViewProps;
|
|
10
|
-
declare const Center: react.ForwardRefExoticComponent<ViewProps & react.RefAttributes<View>>;
|
|
11
|
-
declare const AnimatedCenter: react.ForwardRefExoticComponent<ViewProps & react.RefAttributes<View>>;
|
|
12
|
-
|
|
13
|
-
declare const CollapseHorizontal: ({ width, children, active, duration, style: styleProp, ...props }: CenterProps & {
|
|
14
|
-
width: number;
|
|
15
|
-
active: boolean;
|
|
16
|
-
duration?: number;
|
|
17
|
-
}) => react_jsx_runtime.JSX.Element;
|
|
18
|
-
|
|
19
|
-
declare const ContentBox: react.ForwardRefExoticComponent<ViewProps & react.RefAttributes<View>>;
|
|
20
|
-
|
|
21
|
-
declare const DropShadow: ({ children, style, }: PropsWithChildren<{
|
|
22
|
-
style: StyleProp<ViewStyle>;
|
|
23
|
-
}>) => react_jsx_runtime.JSX.Element;
|
|
24
|
-
|
|
25
|
-
type ExpandableProps = PropsWithChildren<{
|
|
26
|
-
header: string | FC<{
|
|
27
|
-
isOpen: boolean;
|
|
28
|
-
onClose: () => void;
|
|
29
|
-
}>;
|
|
30
|
-
footer?: FC<{
|
|
31
|
-
isOpen: boolean;
|
|
32
|
-
onClose: () => void;
|
|
33
|
-
}>;
|
|
34
|
-
nested?: boolean;
|
|
35
|
-
alwaysExpanded?: boolean;
|
|
36
|
-
initExpanded?: boolean;
|
|
37
|
-
isOpen?: boolean;
|
|
38
|
-
onClose?: () => void;
|
|
39
|
-
iconColor?: string;
|
|
40
|
-
onOpen?: () => void;
|
|
41
|
-
style?: ViewStyle;
|
|
42
|
-
}>;
|
|
43
|
-
declare const Expandable: ({ header, children, initExpanded, nested, alwaysExpanded, iconColor, footer, isOpen: isOpenProp, onClose: onCloseProp, onOpen: onOpenProp, style, }: ExpandableProps) => react_jsx_runtime.JSX.Element;
|
|
44
|
-
|
|
45
|
-
declare const ExpandOnMount: FC<ViewProps & {
|
|
46
|
-
in?: boolean;
|
|
47
|
-
animateOpacity?: boolean;
|
|
48
|
-
duration?: number;
|
|
49
|
-
onExited?: () => void;
|
|
50
|
-
}>;
|
|
51
|
-
|
|
52
|
-
declare const FullSizeContainer: ({ children, ...props }: Omit<ViewProps, "children"> & {
|
|
53
|
-
children: FC<{
|
|
54
|
-
width: number;
|
|
55
|
-
height: number;
|
|
56
|
-
}>;
|
|
57
|
-
}) => react_jsx_runtime.JSX.Element;
|
|
58
|
-
interface FullSizeContextType {
|
|
59
|
-
width: number;
|
|
60
|
-
height: number;
|
|
61
|
-
}
|
|
62
|
-
declare const FullSizeProvider: ({ children, ...props }: ViewProps) => react_jsx_runtime.JSX.Element;
|
|
63
|
-
declare const useFullSize: () => FullSizeContextType;
|
|
64
|
-
|
|
65
|
-
declare const DeleteConfirmAlert: ({ confirmActive, onCancel, onConfirm, body, actionName, actionLoading, itemName, }: {
|
|
66
|
-
confirmActive: boolean;
|
|
67
|
-
onCancel: () => void;
|
|
68
|
-
onConfirm: () => void;
|
|
69
|
-
body?: string | ReactNode;
|
|
70
|
-
actionLoading?: boolean;
|
|
71
|
-
actionName?: string;
|
|
72
|
-
itemName: string;
|
|
73
|
-
}) => react_jsx_runtime.JSX.Element;
|
|
74
|
-
declare const DeleteButton: react__default.FC<{
|
|
75
|
-
onDelete: (() => Promise<any>) | (() => void);
|
|
76
|
-
itemName: string;
|
|
77
|
-
actionName?: string;
|
|
78
|
-
noConfirm?: boolean;
|
|
79
|
-
text?: string;
|
|
80
|
-
alertBody?: string | ReactNode;
|
|
81
|
-
style?: ViewStyle;
|
|
82
|
-
}>;
|
|
83
|
-
|
|
84
|
-
interface LoadingButtonProps {
|
|
85
|
-
onPress: (() => Promise<any>) | (() => void);
|
|
86
|
-
children: ReactNode;
|
|
87
|
-
style?: ViewStyle;
|
|
88
|
-
textStyle?: TextStyle;
|
|
89
|
-
color?: string;
|
|
90
|
-
icon?: {
|
|
91
|
-
name: react__default.ComponentProps<typeof Ionicons>['name'];
|
|
92
|
-
size?: number;
|
|
93
|
-
};
|
|
94
|
-
disabled?: boolean;
|
|
95
|
-
}
|
|
96
|
-
declare const LoadingButton: react__default.FC<LoadingButtonProps>;
|
|
97
|
-
|
|
98
|
-
interface ToggleOption<Option extends string = string> {
|
|
99
|
-
id: Option;
|
|
100
|
-
disabledMessage?: string;
|
|
101
|
-
Render: (selected: boolean) => JSX.Element;
|
|
102
|
-
}
|
|
103
|
-
interface ToggleProps<Option extends string> {
|
|
104
|
-
options: ToggleOption<Option>[];
|
|
105
|
-
value: Option;
|
|
106
|
-
size?: number;
|
|
107
|
-
onChange: (value: Option) => Promise<void> | void;
|
|
108
|
-
}
|
|
109
|
-
declare const Toggle: <Option extends string>({ value, onChange, size, options, }: ToggleProps<Option>) => react_jsx_runtime.JSX.Element;
|
|
110
|
-
|
|
111
|
-
interface MediaFeedContextValue<T extends AnyObject = AnyObject> {
|
|
112
|
-
curr: WithId<T> | null;
|
|
113
|
-
}
|
|
114
|
-
declare const useMediaFeed: <T extends AnyObject = AnyObject>() => MediaFeedContextValue<T>;
|
|
115
|
-
|
|
116
|
-
declare const MediaFeed: <T extends AnyObject = AnyObject>({ fetch, collection: collectionPath, RenderItem, authRequired, getBackgroundUrl, getBackgroundValue, limit, defaultBackground, swipeDisabled, children, }: PropsWithChildren<MediaFeedProps<T>>) => react_jsx_runtime.JSX.Element;
|
|
117
|
-
|
|
118
|
-
declare const ListFieldInput: FC<{
|
|
119
|
-
field: ListField;
|
|
120
|
-
name: string;
|
|
121
|
-
}>;
|
|
122
|
-
declare const FormElement: ({ field, name }: {
|
|
123
|
-
field: IFormElement;
|
|
124
|
-
name: string;
|
|
125
|
-
}) => react_jsx_runtime.JSX.Element;
|
|
126
|
-
declare const DataView: ({ field, value, onClose, onDelete, onSubmit, itemName, storagePath, path, }: DataViewProps & {
|
|
127
|
-
path?: string;
|
|
128
|
-
}) => react_jsx_runtime.JSX.Element;
|
|
129
|
-
declare const FieldMapForm: <F extends FieldMap>({ onSubmit: onSubmitProp, onBack, field, value, buttonText, renderFooter, storagePath, }: FieldMapFormProps<F>) => react_jsx_runtime.JSX.Element;
|
|
130
|
-
declare const FieldForm: <F extends Field | ListField>({ onSubmit, field, value, ...props }: FieldFormProps<F>) => react_jsx_runtime.JSX.Element;
|
|
131
|
-
declare const Form: <F extends IFormElement>({ field, ...props }: FormProps<F>) => react_jsx_runtime.JSX.Element;
|
|
132
|
-
|
|
133
|
-
declare const Editable: <T extends Field>({ value: initValue, field, onSubmit, storagePath, style, onEditClose, onEditOpen, }: EditableProps<ViewStyle, T>) => react_jsx_runtime.JSX.Element;
|
|
134
|
-
|
|
135
|
-
interface StandaloneInputProps {
|
|
136
|
-
onChange: (v?: any) => void;
|
|
137
|
-
value?: any;
|
|
138
|
-
field: Field;
|
|
139
|
-
onBlur?: () => void;
|
|
140
|
-
onFocus?: () => void;
|
|
141
|
-
theme?: 'basic' | 'detailed';
|
|
142
|
-
inEditable?: boolean;
|
|
143
|
-
style?: StyleProp<ViewStyle>;
|
|
144
|
-
}
|
|
145
|
-
declare const StandaloneInput: react.ForwardRefExoticComponent<StandaloneInputProps & react.RefAttributes<InputRef>>;
|
|
146
|
-
|
|
147
|
-
declare const FileView: ({ value, hasUpload, imageOptions, }: {
|
|
148
|
-
value?: FileValue | null;
|
|
149
|
-
hasUpload?: boolean;
|
|
150
|
-
imageOptions?: any;
|
|
151
|
-
}) => react_jsx_runtime.JSX.Element;
|
|
152
|
-
|
|
153
|
-
declare const CircularProgress: ({ color, trackColor, animating, visible, viewStyle, ...props }: ActivityIndicatorProps & {
|
|
154
|
-
trackColor?: string;
|
|
155
|
-
viewStyle?: StyleProp<ViewStyle>;
|
|
156
|
-
visible?: boolean;
|
|
157
|
-
}) => react_jsx_runtime.JSX.Element;
|
|
158
|
-
|
|
159
|
-
declare const LottieLoadingLogo: ({ size, isLoading, speed, inFeed, asset, }: {
|
|
160
|
-
size?: number;
|
|
161
|
-
color?: string;
|
|
162
|
-
isLoading: boolean;
|
|
163
|
-
asset: ThemedAsset;
|
|
164
|
-
inFeed?: boolean;
|
|
165
|
-
speed?: number;
|
|
166
|
-
}) => react_jsx_runtime.JSX.Element;
|
|
167
|
-
declare const LoadingLogo: ({ isLoading, size, inFeed, }: {
|
|
168
|
-
isLoading: boolean;
|
|
169
|
-
size?: number;
|
|
170
|
-
inFeed?: boolean;
|
|
171
|
-
}) => react_jsx_runtime.JSX.Element;
|
|
172
|
-
declare const Loading: ({ text, inBox, containerStyle, }: {
|
|
173
|
-
text?: string;
|
|
174
|
-
inBox?: boolean;
|
|
175
|
-
containerStyle?: ViewStyle;
|
|
176
|
-
}) => react_jsx_runtime.JSX.Element;
|
|
177
|
-
declare const LoadingOverlay: ({ isLoading, text, inFeed, style, }: {
|
|
178
|
-
isLoading: boolean;
|
|
179
|
-
text?: string;
|
|
180
|
-
inFeed?: boolean;
|
|
181
|
-
style?: ViewStyle;
|
|
182
|
-
}) => react_jsx_runtime.JSX.Element;
|
|
183
|
-
|
|
184
|
-
interface LoadingImageProps {
|
|
185
|
-
src?: string | null;
|
|
186
|
-
loadingOverride?: boolean;
|
|
187
|
-
onLoad?: (e: any) => void;
|
|
188
|
-
noFullView?: boolean;
|
|
189
|
-
buttonFullView?: boolean;
|
|
190
|
-
style?: ViewStyle;
|
|
191
|
-
width?: DimensionValue;
|
|
192
|
-
height?: DimensionValue;
|
|
193
|
-
}
|
|
194
|
-
declare const LoadingImage: ({ src, loadingOverride, onLoad, width, height, noFullView, buttonFullView, style, }: LoadingImageProps) => react_jsx_runtime.JSX.Element;
|
|
195
|
-
|
|
196
|
-
declare const LoadingSwitch: ({ value, label, onChange, }: {
|
|
197
|
-
value: boolean;
|
|
198
|
-
label: string;
|
|
199
|
-
onChange: (updated: boolean) => Promise<void>;
|
|
200
|
-
}) => react_jsx_runtime.JSX.Element;
|
|
201
|
-
|
|
202
|
-
declare const ImageViewOverlay: ({ src, onClose }: {
|
|
203
|
-
src: string;
|
|
204
|
-
onClose: () => void;
|
|
205
|
-
}) => react_jsx_runtime.JSX.Element;
|
|
206
|
-
|
|
207
|
-
declare const Txt: ({ children, ...props }: TextProps) => react_jsx_runtime.JSX.Element;
|
|
208
|
-
|
|
209
|
-
declare const DarkModeToggle: () => react_jsx_runtime.JSX.Element;
|
|
210
|
-
declare const AbsoluteDarkModeToggle: () => react_jsx_runtime.JSX.Element;
|
|
211
|
-
|
|
212
|
-
declare const nativeToast: ToastProviderProps;
|
|
213
|
-
|
|
214
|
-
interface ChempoNativeProviderProps extends PropsWithChildren<Pick<ChempoProps<BackendAdapterInterface>, 'backendAdapter' | 'assets'>> {
|
|
215
|
-
theme?: Theme;
|
|
216
|
-
initialColorMode?: ColorMode;
|
|
217
|
-
}
|
|
218
|
-
declare const ChempoNativeProvider: ({ theme: themeProp, initialColorMode, ...props }: ChempoNativeProviderProps) => react_jsx_runtime.JSX.Element;
|
|
219
|
-
|
|
220
|
-
interface UseThemeProps {
|
|
221
|
-
initialColorMode?: ColorMode;
|
|
222
|
-
theme?: Theme;
|
|
223
|
-
}
|
|
224
|
-
declare const useThemeState: (props?: UseThemeProps) => ThemeProps;
|
|
225
|
-
|
|
226
|
-
declare const initializeScreen: () => () => void;
|
|
227
|
-
|
|
228
|
-
export { AbsoluteDarkModeToggle, AnimatedCenter, Center, type CenterProps, ChempoNativeProvider, type ChempoNativeProviderProps, CircularProgress, CollapseHorizontal, ContentBox, DarkModeToggle, DataView, DeleteButton, DeleteConfirmAlert, DropShadow, Editable, ExpandOnMount, Expandable, FieldForm, FieldMapForm, FileView, Form, FormElement, FullSizeContainer, FullSizeProvider, ImageViewOverlay, ListFieldInput, Loading, LoadingButton, type LoadingButtonProps, LoadingImage, type LoadingImageProps, LoadingLogo, LoadingOverlay, LoadingSwitch, LottieLoadingLogo, MediaFeed, StandaloneInput, Toggle, type ToggleOption, type ToggleProps, Txt, type UseThemeProps, initializeScreen, nativeToast, useFullSize, useMediaFeed, useThemeState };
|
package/dist/index.d.ts
DELETED
|
@@ -1,228 +0,0 @@
|
|
|
1
|
-
import * as react from 'react';
|
|
2
|
-
import react__default, { PropsWithChildren, FC, ReactNode, JSX } from 'react';
|
|
3
|
-
import { ViewProps, View, StyleProp, ViewStyle, TextStyle, ActivityIndicatorProps, DimensionValue, TextProps } from 'react-native';
|
|
4
|
-
import * as react_jsx_runtime from 'react/jsx-runtime';
|
|
5
|
-
import { Ionicons } from '@expo/vector-icons';
|
|
6
|
-
import { AnyObject, WithId, InputRef, FileValue, BackendAdapterInterface, Theme, ColorMode } from '@chem-po/core';
|
|
7
|
-
import { MediaFeedProps, ListField, IFormElement, DataViewProps, FieldMap, FieldMapFormProps, Field, FieldFormProps, FormProps, EditableProps, ThemedAsset, ToastProviderProps, ChempoProps, ThemeProps } from '@chem-po/react';
|
|
8
|
-
|
|
9
|
-
type CenterProps = ViewProps;
|
|
10
|
-
declare const Center: react.ForwardRefExoticComponent<ViewProps & react.RefAttributes<View>>;
|
|
11
|
-
declare const AnimatedCenter: react.ForwardRefExoticComponent<ViewProps & react.RefAttributes<View>>;
|
|
12
|
-
|
|
13
|
-
declare const CollapseHorizontal: ({ width, children, active, duration, style: styleProp, ...props }: CenterProps & {
|
|
14
|
-
width: number;
|
|
15
|
-
active: boolean;
|
|
16
|
-
duration?: number;
|
|
17
|
-
}) => react_jsx_runtime.JSX.Element;
|
|
18
|
-
|
|
19
|
-
declare const ContentBox: react.ForwardRefExoticComponent<ViewProps & react.RefAttributes<View>>;
|
|
20
|
-
|
|
21
|
-
declare const DropShadow: ({ children, style, }: PropsWithChildren<{
|
|
22
|
-
style: StyleProp<ViewStyle>;
|
|
23
|
-
}>) => react_jsx_runtime.JSX.Element;
|
|
24
|
-
|
|
25
|
-
type ExpandableProps = PropsWithChildren<{
|
|
26
|
-
header: string | FC<{
|
|
27
|
-
isOpen: boolean;
|
|
28
|
-
onClose: () => void;
|
|
29
|
-
}>;
|
|
30
|
-
footer?: FC<{
|
|
31
|
-
isOpen: boolean;
|
|
32
|
-
onClose: () => void;
|
|
33
|
-
}>;
|
|
34
|
-
nested?: boolean;
|
|
35
|
-
alwaysExpanded?: boolean;
|
|
36
|
-
initExpanded?: boolean;
|
|
37
|
-
isOpen?: boolean;
|
|
38
|
-
onClose?: () => void;
|
|
39
|
-
iconColor?: string;
|
|
40
|
-
onOpen?: () => void;
|
|
41
|
-
style?: ViewStyle;
|
|
42
|
-
}>;
|
|
43
|
-
declare const Expandable: ({ header, children, initExpanded, nested, alwaysExpanded, iconColor, footer, isOpen: isOpenProp, onClose: onCloseProp, onOpen: onOpenProp, style, }: ExpandableProps) => react_jsx_runtime.JSX.Element;
|
|
44
|
-
|
|
45
|
-
declare const ExpandOnMount: FC<ViewProps & {
|
|
46
|
-
in?: boolean;
|
|
47
|
-
animateOpacity?: boolean;
|
|
48
|
-
duration?: number;
|
|
49
|
-
onExited?: () => void;
|
|
50
|
-
}>;
|
|
51
|
-
|
|
52
|
-
declare const FullSizeContainer: ({ children, ...props }: Omit<ViewProps, "children"> & {
|
|
53
|
-
children: FC<{
|
|
54
|
-
width: number;
|
|
55
|
-
height: number;
|
|
56
|
-
}>;
|
|
57
|
-
}) => react_jsx_runtime.JSX.Element;
|
|
58
|
-
interface FullSizeContextType {
|
|
59
|
-
width: number;
|
|
60
|
-
height: number;
|
|
61
|
-
}
|
|
62
|
-
declare const FullSizeProvider: ({ children, ...props }: ViewProps) => react_jsx_runtime.JSX.Element;
|
|
63
|
-
declare const useFullSize: () => FullSizeContextType;
|
|
64
|
-
|
|
65
|
-
declare const DeleteConfirmAlert: ({ confirmActive, onCancel, onConfirm, body, actionName, actionLoading, itemName, }: {
|
|
66
|
-
confirmActive: boolean;
|
|
67
|
-
onCancel: () => void;
|
|
68
|
-
onConfirm: () => void;
|
|
69
|
-
body?: string | ReactNode;
|
|
70
|
-
actionLoading?: boolean;
|
|
71
|
-
actionName?: string;
|
|
72
|
-
itemName: string;
|
|
73
|
-
}) => react_jsx_runtime.JSX.Element;
|
|
74
|
-
declare const DeleteButton: react__default.FC<{
|
|
75
|
-
onDelete: (() => Promise<any>) | (() => void);
|
|
76
|
-
itemName: string;
|
|
77
|
-
actionName?: string;
|
|
78
|
-
noConfirm?: boolean;
|
|
79
|
-
text?: string;
|
|
80
|
-
alertBody?: string | ReactNode;
|
|
81
|
-
style?: ViewStyle;
|
|
82
|
-
}>;
|
|
83
|
-
|
|
84
|
-
interface LoadingButtonProps {
|
|
85
|
-
onPress: (() => Promise<any>) | (() => void);
|
|
86
|
-
children: ReactNode;
|
|
87
|
-
style?: ViewStyle;
|
|
88
|
-
textStyle?: TextStyle;
|
|
89
|
-
color?: string;
|
|
90
|
-
icon?: {
|
|
91
|
-
name: react__default.ComponentProps<typeof Ionicons>['name'];
|
|
92
|
-
size?: number;
|
|
93
|
-
};
|
|
94
|
-
disabled?: boolean;
|
|
95
|
-
}
|
|
96
|
-
declare const LoadingButton: react__default.FC<LoadingButtonProps>;
|
|
97
|
-
|
|
98
|
-
interface ToggleOption<Option extends string = string> {
|
|
99
|
-
id: Option;
|
|
100
|
-
disabledMessage?: string;
|
|
101
|
-
Render: (selected: boolean) => JSX.Element;
|
|
102
|
-
}
|
|
103
|
-
interface ToggleProps<Option extends string> {
|
|
104
|
-
options: ToggleOption<Option>[];
|
|
105
|
-
value: Option;
|
|
106
|
-
size?: number;
|
|
107
|
-
onChange: (value: Option) => Promise<void> | void;
|
|
108
|
-
}
|
|
109
|
-
declare const Toggle: <Option extends string>({ value, onChange, size, options, }: ToggleProps<Option>) => react_jsx_runtime.JSX.Element;
|
|
110
|
-
|
|
111
|
-
interface MediaFeedContextValue<T extends AnyObject = AnyObject> {
|
|
112
|
-
curr: WithId<T> | null;
|
|
113
|
-
}
|
|
114
|
-
declare const useMediaFeed: <T extends AnyObject = AnyObject>() => MediaFeedContextValue<T>;
|
|
115
|
-
|
|
116
|
-
declare const MediaFeed: <T extends AnyObject = AnyObject>({ fetch, collection: collectionPath, RenderItem, authRequired, getBackgroundUrl, getBackgroundValue, limit, defaultBackground, swipeDisabled, children, }: PropsWithChildren<MediaFeedProps<T>>) => react_jsx_runtime.JSX.Element;
|
|
117
|
-
|
|
118
|
-
declare const ListFieldInput: FC<{
|
|
119
|
-
field: ListField;
|
|
120
|
-
name: string;
|
|
121
|
-
}>;
|
|
122
|
-
declare const FormElement: ({ field, name }: {
|
|
123
|
-
field: IFormElement;
|
|
124
|
-
name: string;
|
|
125
|
-
}) => react_jsx_runtime.JSX.Element;
|
|
126
|
-
declare const DataView: ({ field, value, onClose, onDelete, onSubmit, itemName, storagePath, path, }: DataViewProps & {
|
|
127
|
-
path?: string;
|
|
128
|
-
}) => react_jsx_runtime.JSX.Element;
|
|
129
|
-
declare const FieldMapForm: <F extends FieldMap>({ onSubmit: onSubmitProp, onBack, field, value, buttonText, renderFooter, storagePath, }: FieldMapFormProps<F>) => react_jsx_runtime.JSX.Element;
|
|
130
|
-
declare const FieldForm: <F extends Field | ListField>({ onSubmit, field, value, ...props }: FieldFormProps<F>) => react_jsx_runtime.JSX.Element;
|
|
131
|
-
declare const Form: <F extends IFormElement>({ field, ...props }: FormProps<F>) => react_jsx_runtime.JSX.Element;
|
|
132
|
-
|
|
133
|
-
declare const Editable: <T extends Field>({ value: initValue, field, onSubmit, storagePath, style, onEditClose, onEditOpen, }: EditableProps<ViewStyle, T>) => react_jsx_runtime.JSX.Element;
|
|
134
|
-
|
|
135
|
-
interface StandaloneInputProps {
|
|
136
|
-
onChange: (v?: any) => void;
|
|
137
|
-
value?: any;
|
|
138
|
-
field: Field;
|
|
139
|
-
onBlur?: () => void;
|
|
140
|
-
onFocus?: () => void;
|
|
141
|
-
theme?: 'basic' | 'detailed';
|
|
142
|
-
inEditable?: boolean;
|
|
143
|
-
style?: StyleProp<ViewStyle>;
|
|
144
|
-
}
|
|
145
|
-
declare const StandaloneInput: react.ForwardRefExoticComponent<StandaloneInputProps & react.RefAttributes<InputRef>>;
|
|
146
|
-
|
|
147
|
-
declare const FileView: ({ value, hasUpload, imageOptions, }: {
|
|
148
|
-
value?: FileValue | null;
|
|
149
|
-
hasUpload?: boolean;
|
|
150
|
-
imageOptions?: any;
|
|
151
|
-
}) => react_jsx_runtime.JSX.Element;
|
|
152
|
-
|
|
153
|
-
declare const CircularProgress: ({ color, trackColor, animating, visible, viewStyle, ...props }: ActivityIndicatorProps & {
|
|
154
|
-
trackColor?: string;
|
|
155
|
-
viewStyle?: StyleProp<ViewStyle>;
|
|
156
|
-
visible?: boolean;
|
|
157
|
-
}) => react_jsx_runtime.JSX.Element;
|
|
158
|
-
|
|
159
|
-
declare const LottieLoadingLogo: ({ size, isLoading, speed, inFeed, asset, }: {
|
|
160
|
-
size?: number;
|
|
161
|
-
color?: string;
|
|
162
|
-
isLoading: boolean;
|
|
163
|
-
asset: ThemedAsset;
|
|
164
|
-
inFeed?: boolean;
|
|
165
|
-
speed?: number;
|
|
166
|
-
}) => react_jsx_runtime.JSX.Element;
|
|
167
|
-
declare const LoadingLogo: ({ isLoading, size, inFeed, }: {
|
|
168
|
-
isLoading: boolean;
|
|
169
|
-
size?: number;
|
|
170
|
-
inFeed?: boolean;
|
|
171
|
-
}) => react_jsx_runtime.JSX.Element;
|
|
172
|
-
declare const Loading: ({ text, inBox, containerStyle, }: {
|
|
173
|
-
text?: string;
|
|
174
|
-
inBox?: boolean;
|
|
175
|
-
containerStyle?: ViewStyle;
|
|
176
|
-
}) => react_jsx_runtime.JSX.Element;
|
|
177
|
-
declare const LoadingOverlay: ({ isLoading, text, inFeed, style, }: {
|
|
178
|
-
isLoading: boolean;
|
|
179
|
-
text?: string;
|
|
180
|
-
inFeed?: boolean;
|
|
181
|
-
style?: ViewStyle;
|
|
182
|
-
}) => react_jsx_runtime.JSX.Element;
|
|
183
|
-
|
|
184
|
-
interface LoadingImageProps {
|
|
185
|
-
src?: string | null;
|
|
186
|
-
loadingOverride?: boolean;
|
|
187
|
-
onLoad?: (e: any) => void;
|
|
188
|
-
noFullView?: boolean;
|
|
189
|
-
buttonFullView?: boolean;
|
|
190
|
-
style?: ViewStyle;
|
|
191
|
-
width?: DimensionValue;
|
|
192
|
-
height?: DimensionValue;
|
|
193
|
-
}
|
|
194
|
-
declare const LoadingImage: ({ src, loadingOverride, onLoad, width, height, noFullView, buttonFullView, style, }: LoadingImageProps) => react_jsx_runtime.JSX.Element;
|
|
195
|
-
|
|
196
|
-
declare const LoadingSwitch: ({ value, label, onChange, }: {
|
|
197
|
-
value: boolean;
|
|
198
|
-
label: string;
|
|
199
|
-
onChange: (updated: boolean) => Promise<void>;
|
|
200
|
-
}) => react_jsx_runtime.JSX.Element;
|
|
201
|
-
|
|
202
|
-
declare const ImageViewOverlay: ({ src, onClose }: {
|
|
203
|
-
src: string;
|
|
204
|
-
onClose: () => void;
|
|
205
|
-
}) => react_jsx_runtime.JSX.Element;
|
|
206
|
-
|
|
207
|
-
declare const Txt: ({ children, ...props }: TextProps) => react_jsx_runtime.JSX.Element;
|
|
208
|
-
|
|
209
|
-
declare const DarkModeToggle: () => react_jsx_runtime.JSX.Element;
|
|
210
|
-
declare const AbsoluteDarkModeToggle: () => react_jsx_runtime.JSX.Element;
|
|
211
|
-
|
|
212
|
-
declare const nativeToast: ToastProviderProps;
|
|
213
|
-
|
|
214
|
-
interface ChempoNativeProviderProps extends PropsWithChildren<Pick<ChempoProps<BackendAdapterInterface>, 'backendAdapter' | 'assets'>> {
|
|
215
|
-
theme?: Theme;
|
|
216
|
-
initialColorMode?: ColorMode;
|
|
217
|
-
}
|
|
218
|
-
declare const ChempoNativeProvider: ({ theme: themeProp, initialColorMode, ...props }: ChempoNativeProviderProps) => react_jsx_runtime.JSX.Element;
|
|
219
|
-
|
|
220
|
-
interface UseThemeProps {
|
|
221
|
-
initialColorMode?: ColorMode;
|
|
222
|
-
theme?: Theme;
|
|
223
|
-
}
|
|
224
|
-
declare const useThemeState: (props?: UseThemeProps) => ThemeProps;
|
|
225
|
-
|
|
226
|
-
declare const initializeScreen: () => () => void;
|
|
227
|
-
|
|
228
|
-
export { AbsoluteDarkModeToggle, AnimatedCenter, Center, type CenterProps, ChempoNativeProvider, type ChempoNativeProviderProps, CircularProgress, CollapseHorizontal, ContentBox, DarkModeToggle, DataView, DeleteButton, DeleteConfirmAlert, DropShadow, Editable, ExpandOnMount, Expandable, FieldForm, FieldMapForm, FileView, Form, FormElement, FullSizeContainer, FullSizeProvider, ImageViewOverlay, ListFieldInput, Loading, LoadingButton, type LoadingButtonProps, LoadingImage, type LoadingImageProps, LoadingLogo, LoadingOverlay, LoadingSwitch, LottieLoadingLogo, MediaFeed, StandaloneInput, Toggle, type ToggleOption, type ToggleProps, Txt, type UseThemeProps, initializeScreen, nativeToast, useFullSize, useMediaFeed, useThemeState };
|
package/dist/index.js
DELETED
|
@@ -1,2 +0,0 @@
|
|
|
1
|
-
'use strict';var Pi=require('react'),reactNative=require('react-native'),jsxRuntime=require('react/jsx-runtime'),react=require('@chem-po/react'),vectorIcons=require('@expo/vector-icons'),reactNativeGestureHandler=require('react-native-gesture-handler'),da=require('lottie-react-native'),tl=require('@expo/vector-icons/MaterialCommunityIcons'),core=require('@chem-po/core'),reactHookForm=require('react-hook-form'),Ol=require('@react-native-community/slider'),reactNativePaper=require('react-native-paper'),reactNativePaperDates=require('react-native-paper-dates'),fr=require('expo-document-picker'),gr=require('expo-image-picker'),reactNativeNotifier=require('react-native-notifier');function _interopDefault(e){return e&&e.__esModule?e:{default:e}}function _interopNamespace(e){if(e&&e.__esModule)return e;var n=Object.create(null);if(e){Object.keys(e).forEach(function(k){if(k!=='default'){var d=Object.getOwnPropertyDescriptor(e,k);Object.defineProperty(n,k,d.get?d:{enumerable:true,get:function(){return e[k]}});}})}n.default=e;return Object.freeze(n)}var Pi__default=/*#__PURE__*/_interopDefault(Pi);var da__default=/*#__PURE__*/_interopDefault(da);var tl__default=/*#__PURE__*/_interopDefault(tl);var Ol__default=/*#__PURE__*/_interopDefault(Ol);var fr__namespace=/*#__PURE__*/_interopNamespace(fr);var gr__namespace=/*#__PURE__*/_interopNamespace(gr);var de=Pi.forwardRef(({style:e,...t},o)=>jsxRuntime.jsx(reactNative.View,{ref:o,style:[$o.center,e],...t})),lt=Pi.forwardRef(({style:e,...t},o)=>jsxRuntime.jsx(reactNative.Animated.View,{ref:o,style:[$o.center,e],...t})),$o=reactNative.StyleSheet.create({center:{flex:1,justifyContent:"center",alignItems:"center"}});var _u=({width:e,children:t,active:o,duration:n=400,style:r,...i})=>{let a=Pi.useRef(new reactNative.Animated.Value(o?e:0)).current,s=Pi.useRef(new reactNative.Animated.Value(o?1:0)).current;Pi.useEffect(()=>{reactNative.Animated.parallel([reactNative.Animated.timing(a,{toValue:o?e:0,duration:n,useNativeDriver:false}),reactNative.Animated.timing(s,{toValue:o?1:0,duration:n,useNativeDriver:true})]).start();},[o,a,s,e,n]);let l=Pi.useMemo(()=>({width:a,opacity:s,overflow:"hidden"}),[a,s]);return jsxRuntime.jsx(lt,{style:[l,r],...i,children:t})};var wi=(e,t)=>jsxRuntime.jsx(reactNative.View,{ref:t,style:[bi.container,e.style],...e}),bi=reactNative.StyleSheet.create({container:{backgroundColor:"#FFFFFF",padding:12,borderRadius:6,shadowColor:"#000000",shadowOffset:{width:1,height:1},shadowOpacity:.4,shadowRadius:4,elevation:4}}),Zu=Pi.forwardRef(wi);var Gt=({children:e,style:t})=>jsxRuntime.jsx(reactNative.View,{style:[{...reactNative.Platform.select({ios:{shadowColor:"#000",shadowOffset:{width:0,height:2},shadowOpacity:.25,shadowRadius:3.84},android:{elevation:5}})},t],children:e});var Y=({children:e,...t})=>{let o=react.useTextColor();return jsxRuntime.jsx(reactNative.Text,{...t,style:[{color:o},t.style],children:e})};var _t=({header:e,children:t,initExpanded:o=false,nested:n,alwaysExpanded:r,iconColor:i="#000",footer:a,isOpen:s,onClose:l,onOpen:u,style:p})=>{let[d,c]=Pi__default.default.useState(r??o),f=Pi.useRef(new reactNative.Animated.Value(0)).current,h=Pi.useRef(new reactNative.Animated.Value(0)).current;Pi.useEffect(()=>{typeof s<"u"&&c(s);},[s]);let m=Pi.useCallback(()=>{c(false),l?.();},[l]),g=Pi.useCallback(()=>{c(true),u?.();},[u]),y=Pi.useCallback(()=>{r||(d?m():g());},[r,g,m,d]);Pi.useEffect(()=>{reactNative.Animated.parallel([reactNative.Animated.timing(f,{toValue:d?1:0,duration:300,useNativeDriver:false}),reactNative.Animated.timing(h,{toValue:d?1:0,duration:300,useNativeDriver:true})]).start();},[d,f,h]);let b=h.interpolate({inputRange:[0,1],outputRange:["0deg","180deg"]});return jsxRuntime.jsxs(reactNative.View,{style:[ue.container,p],children:[jsxRuntime.jsxs(reactNative.Pressable,{onPress:y,style:ue.header,children:[jsxRuntime.jsx(reactNative.View,{style:ue.headerContent,children:typeof e=="string"?jsxRuntime.jsx(Y,{style:ue.headerText,children:e}):e({isOpen:d,onClose:m})}),!r&&jsxRuntime.jsx(reactNative.Animated.Text,{style:[ue.arrow,{transform:[{rotate:b}],color:i}],children:"\u25BC"})]}),jsxRuntime.jsx(lt,{style:[ue.content,n&&ue.nested,{maxHeight:f.interpolate({inputRange:[0,1],outputRange:[0,1e3]})}],children:t}),a?.({isOpen:d,onClose:m})]})},ue=reactNative.StyleSheet.create({container:{width:"100%"},header:{flexDirection:"row",padding:8,alignItems:"center"},headerContent:{flex:1},headerText:{fontWeight:"600",color:"#666"},arrow:{fontSize:12,marginLeft:8},content:{width:"100%",overflow:"hidden"},nested:{borderLeftWidth:4,borderLeftColor:"rgba(0,0,0,0.2)"}});var Fp=({animateOpacity:e,duration:t=300,children:o,in:n=true,onExited:r,style:i,...a})=>{let[s,l]=Pi.useState(false);Pi.useEffect(()=>{l(true);},[]);let[u,p]=Pi.useState(0),d=Pi.useRef(null),c=Pi.useMemo(()=>s&&n,[n,s]),f=Pi.useRef(new reactNative.Animated.Value(0)).current,h=Pi.useRef(new reactNative.Animated.Value(0)).current;return Pi.useEffect(()=>{d.current&&d.current.measure((m,g,y,b)=>{p(b);});},[o]),Pi.useEffect(()=>{let m=[reactNative.Animated.timing(f,{toValue:c?u:0,duration:t,useNativeDriver:false})];e&&m.push(reactNative.Animated.timing(h,{toValue:c?1:0,duration:t,delay:c?t:0,useNativeDriver:true})),reactNative.Animated.parallel(m).start(()=>{!c&&r&&r();});},[c,u,t,f,h,e,r]),jsxRuntime.jsx(reactNative.Animated.View,{style:[{overflow:"hidden",width:"100%",height:f},i],...a,children:jsxRuntime.jsx(reactNative.View,{ref:d,style:[{width:"100%"},e&&{opacity:h},i],...a,children:o})})};var kp=({children:e,...t})=>{let[o,n]=Pi.useState(0),[r,i]=Pi.useState(0),a=Pi.useRef(null),s=Pi.useCallback(l=>{let{width:u,height:p}=l.nativeEvent.layout;n(u),i(p);},[]);return jsxRuntime.jsx(reactNative.View,{ref:a,...t,style:[{width:"100%",height:"100%"},t.style],onLayout:s,children:e({width:o,height:r})})},tn=Pi.createContext({width:0,height:0}),Dp=({children:e,...t})=>{let[o,n]=Pi.useState(0),[r,i]=Pi.useState(0),a=Pi.useRef(null),s=Pi.useCallback(u=>{let{width:p,height:d}=u.nativeEvent.layout;n(p),i(d);},[]),l=Pi.useMemo(()=>({width:o,height:r}),[o,r]);return jsxRuntime.jsx(reactNative.View,{ref:a,...t,style:[{width:"100%",height:"100%"},t.style],onLayout:s,children:jsxRuntime.jsx(tn.Provider,{value:l,children:e})})},Bp=()=>Pi.useContext(tn);var Hi="Are you sure? You can't undo this action afterwards.",Ni=({confirmActive:e,onCancel:t,onConfirm:o,body:n=Hi,actionName:r="Delete",actionLoading:i,itemName:a})=>jsxRuntime.jsx(reactNative.Modal,{transparent:true,visible:e,onRequestClose:t,animationType:"fade",children:jsxRuntime.jsx(reactNative.View,{style:O.overlay,children:jsxRuntime.jsxs(reactNative.View,{style:O.alertContainer,children:[jsxRuntime.jsxs(Y,{style:O.alertTitle,children:[r," ",a,"?"]}),typeof n=="string"?jsxRuntime.jsx(Y,{style:O.alertBody,children:n}):n,jsxRuntime.jsxs(reactNative.View,{style:O.buttonContainer,children:[jsxRuntime.jsx(reactNative.TouchableOpacity,{style:O.cancelButton,onPress:t,children:jsxRuntime.jsx(Y,{style:O.cancelText,children:"Cancel"})}),jsxRuntime.jsx(reactNative.TouchableOpacity,{style:O.confirmButton,onPress:o,disabled:i,children:i?jsxRuntime.jsx(reactNative.ActivityIndicator,{color:"#fff"}):jsxRuntime.jsx(Y,{style:[O.buttonText,O.confirmButtonText],children:r})})]})]})})}),Qt=({onDelete:e,itemName:t,noConfirm:o,alertBody:n,text:r,actionName:i="Delete",style:a})=>{let{showError:s}=react.useToast(),[l,u]=Pi.useState(false),[p,d]=Pi.useState(false),c=Pi.useRef(),f=Pi.useRef(true),h=Pi.useRef(new reactNative.Animated.Value(1)).current,m=Pi.useRef(new reactNative.Animated.Value(0)).current;Pi.useEffect(()=>(f.current=true,()=>{f.current=false;}),[]);let g=Pi.useCallback(b=>{reactNative.Animated.parallel([reactNative.Animated.timing(h,{toValue:b?0:1,duration:200,useNativeDriver:true}),reactNative.Animated.timing(m,{toValue:b?1:0,duration:200,useNativeDriver:true})]).start();},[h,m]),y=Pi.useCallback(async()=>{if(c.current&&clearTimeout(c.current),d(false),e){u(true),g(true);try{await e();}catch(b){console.error(b),s(b.message??"An error occurred");}f.current&&(u(false),g(false));}else console.error("No delete function");},[e,g]);return jsxRuntime.jsxs(jsxRuntime.Fragment,{children:[r?jsxRuntime.jsx(reactNative.TouchableOpacity,{style:[O.button,a],onPress:b=>{b.stopPropagation(),o?y():d(true);},disabled:l,children:jsxRuntime.jsxs(reactNative.View,{style:O.buttonContent,children:[jsxRuntime.jsxs(reactNative.Animated.View,{style:[O.contentContainer,{opacity:h}],children:[jsxRuntime.jsx(vectorIcons.Ionicons,{name:"trash",size:20,color:"red"}),jsxRuntime.jsx(reactNative.Text,{style:O.buttonText,children:r})]}),jsxRuntime.jsx(reactNative.Animated.View,{style:[O.loaderContainer,{opacity:m}],children:jsxRuntime.jsx(reactNative.ActivityIndicator,{color:"#ff0000",size:"small"})})]})}):jsxRuntime.jsx(reactNative.TouchableOpacity,{style:[O.iconButton,a],onPress:b=>{b.stopPropagation(),o?y():d(true);},disabled:l,children:jsxRuntime.jsxs(reactNative.View,{style:O.buttonContent,children:[jsxRuntime.jsx(reactNative.Animated.View,{style:[O.contentContainer,{opacity:h}],children:jsxRuntime.jsx(vectorIcons.Ionicons,{name:"trash",size:24,color:"#ee0000"})}),jsxRuntime.jsx(reactNative.Animated.View,{style:[O.loaderContainer,{opacity:m}],children:jsxRuntime.jsx(reactNative.ActivityIndicator,{color:"#ff0000",size:"small"})})]})}),o?null:jsxRuntime.jsx(Ni,{confirmActive:p,onCancel:()=>d(false),actionLoading:l,onConfirm:()=>{y();},actionName:i,body:n,itemName:t})]})},O=reactNative.StyleSheet.create({overlay:{flex:1,justifyContent:"center",alignItems:"center",backgroundColor:"rgba(0, 0, 0, 0.5)"},alertContainer:{width:"80%",maxWidth:400,backgroundColor:"white",borderRadius:10,padding:20,alignItems:"center"},alertTitle:{fontSize:18,fontWeight:"bold",marginBottom:10},alertBody:{fontSize:16,marginBottom:20},buttonContainer:{flexDirection:"row",justifyContent:"space-between",width:"100%"},cancelButton:{padding:10,borderColor:"gray",borderWidth:1,borderRadius:5,flex:1,marginRight:5,alignItems:"center"},cancelText:{color:"gray",fontWeight:"bold"},confirmButton:{padding:10,backgroundColor:"red",borderRadius:5,flex:1,marginLeft:5,alignItems:"center"},buttonText:{color:"red",fontWeight:"bold"},confirmButtonText:{color:"white",textShadowColor:"rgba(0, 0, 0, 0.5)",textShadowOffset:{width:1,height:1},textShadowRadius:3},button:{flexDirection:"row",alignItems:"center",padding:10,backgroundColor:"transparent"},buttonContent:{flexDirection:"row",gap:3,borderWidth:1,borderColor:"red",paddingHorizontal:13,paddingVertical:5,borderRadius:4,alignItems:"center",justifyContent:"center",minHeight:34,position:"relative"},contentContainer:{flexDirection:"row",alignItems:"center",justifyContent:"center",gap:3},loaderContainer:{...reactNative.StyleSheet.absoluteFillObject,alignItems:"center",justifyContent:"center"},iconButton:{padding:10,backgroundColor:"transparent"},loading:{position:"absolute",top:0,left:0,justifyContent:"center",alignItems:"center",height:24,width:24}});var tm=({onPress:e,children:t,style:o,textStyle:n,color:r,icon:i,disabled:a=false})=>{let[s,l]=Pi.useState(false),u=Pi.useRef(true),p=Pi.useRef(new reactNative.Animated.Value(1)).current,d=Pi.useRef(new reactNative.Animated.Value(0)).current,{showError:c}=react.useToast();Pi.useEffect(()=>(u.current=true,()=>{u.current=false;}),[]);let f=Pi.useCallback(y=>{reactNative.Animated.parallel([reactNative.Animated.timing(p,{toValue:y?0:1,duration:200,useNativeDriver:true}),reactNative.Animated.timing(d,{toValue:y?1:0,duration:200,useNativeDriver:true})]).start();},[p,d]),h=Pi.useCallback(async()=>{if(e){l(true),f(true);try{await e();}catch(y){console.error(y),c(y.message??"An error occurred");}u.current&&(l(false),f(false));}},[e,f,c]),m=react.useTextColor(),g=Pi.useMemo(()=>r??m,[r,m]);return jsxRuntime.jsx(reactNative.TouchableOpacity,{style:[Le.button,{borderColor:g,backgroundColor:a?"#f0f0f0":"transparent"},o],onPress:y=>{y.stopPropagation(),h();},disabled:s||a,children:jsxRuntime.jsxs(reactNative.View,{style:[Le.buttonContent,{borderColor:a?"#ccc":g}],children:[jsxRuntime.jsxs(reactNative.Animated.View,{style:[Le.contentContainer,{opacity:p}],children:[i&&jsxRuntime.jsx(vectorIcons.Ionicons,{name:i.name,size:i.size??20,color:a?"#ccc":g}),typeof t=="string"?jsxRuntime.jsx(reactNative.Text,{style:[Le.buttonText,{color:a?"#ccc":g},n],children:t}):t]}),jsxRuntime.jsx(reactNative.Animated.View,{style:[Le.loaderContainer,{opacity:d}],children:jsxRuntime.jsx(reactNative.ActivityIndicator,{color:g,size:"small"})})]})})},Le=reactNative.StyleSheet.create({button:{flexDirection:"row",alignItems:"center",backgroundColor:"transparent"},buttonContent:{flexDirection:"row",gap:8,borderWidth:1,paddingHorizontal:16,paddingVertical:8,borderRadius:4,alignItems:"center",justifyContent:"center",minHeight:40,position:"relative"},contentContainer:{flexDirection:"row",alignItems:"center",justifyContent:"center",gap:8},loaderContainer:{...reactNative.StyleSheet.absoluteFillObject,alignItems:"center",justifyContent:"center"},buttonText:{fontWeight:"bold"}});var na=({selected:e,option:{Render:t,disabledMessage:o},size:n,onPress:r})=>{let{showError:i}=react.useToast(),a=Pi.useCallback(()=>{o?i(o):r();},[r,o,i]);return jsxRuntime.jsx(reactNative.View,{style:[eo.buttonContainer,{width:n,height:n,opacity:o?.6:1}],children:jsxRuntime.jsx(reactNative.TouchableOpacity,{style:[eo.button,{backgroundColor:e?"rgba(255, 255, 255, 0.5)":"rgba(0, 0, 0, 0.1)",pointerEvents:e?"none":"auto"}],onPress:a,disabled:!!o,children:t(e)})})},sm=({value:e,onChange:t,size:o=28,options:n})=>{let{theme:{colors:{background:r}}}=react.useTheme();return jsxRuntime.jsx(reactNative.View,{style:[eo.container,{borderColor:r[300]}],children:n.map(i=>jsxRuntime.jsx(na,{onPress:()=>{t(i.id);},option:i,size:o,selected:i.id===e},i.id))})},eo=reactNative.StyleSheet.create({container:{flexDirection:"row",borderWidth:1,borderRadius:3},buttonContainer:{justifyContent:"center",alignItems:"center"},button:{justifyContent:"center",alignItems:"center",borderRadius:3}});var un=Pi.createContext({}),pn=({curr:e,children:t})=>{let o=Pi.useMemo(()=>({curr:e}),[e]);return jsxRuntime.jsx(un.Provider,{value:o,children:t})},la=()=>Pi.useContext(un);var mn={top:0,left:0,right:0,bottom:0,display:"flex"},ie=reactNative.StyleSheet.create({absolute:{...mn,position:"absolute"},relative:{...mn,position:"relative"}});var hn=({size:e=30,isLoading:t,speed:o=2,inFeed:n,asset:r})=>{let{colorMode:i}=react.useTheme(),a=Pi.useMemo(()=>n||i==="dark"?r.dark??r.default:r.default,[r,n,i]),s=Pi.useMemo(()=>({width:e,height:e,opacity:t?.85:0}),[e,t]);return jsxRuntime.jsx(da__default.default,{source:a,autoPlay:t,loop:true,speed:o,style:s})},yn=({size:e=30,isLoading:t,asset:o,inFeed:n})=>{let{colorMode:r}=react.useTheme(),i=Pi.useMemo(()=>n||r==="dark"?o.dark??o.default:o.default,[o,n,r]),a=Pi.useMemo(()=>({width:e,height:e,opacity:t?.85:0}),[e,t]);return jsxRuntime.jsx(reactNative.Image,{source:{uri:i},style:a})},ma=({isLoading:e,size:t})=>{let{loading:o}=react.useAppAssets();return o.lottieJson?jsxRuntime.jsx(hn,{isLoading:e,size:t,asset:o.lottieJson}):o.svg?jsxRuntime.jsx(yn,{isLoading:e,size:t,asset:o.svg}):null},fe=({isLoading:e,size:t,inFeed:o})=>{let{loading:n}=react.useAppAssets();return n.lottieJson?jsxRuntime.jsx(hn,{inFeed:o,isLoading:e,size:t,asset:n.lottieJson}):n.svg?jsxRuntime.jsx(yn,{inFeed:o,isLoading:e,size:t,asset:n.svg}):jsxRuntime.jsx(reactNative.Text,{style:Ne.errorText,children:"ERROR: No loading animation found"})},no=({text:e="Loading...",inBox:t,containerStyle:o})=>{let n=jsxRuntime.jsxs(reactNative.View,{style:[Ne.loadingContainer,o],children:[jsxRuntime.jsx(ma,{isLoading:true}),jsxRuntime.jsx(reactNative.Text,{style:Ne.loadingText,children:e})]});return t?jsxRuntime.jsx(reactNative.View,{style:Ne.boxContainer,children:n}):n},ft=({isLoading:e,text:t,inFeed:o,style:n})=>{let{colorMode:r}=react.useTheme(),i=r==="dark"?"rgba(0, 0, 0, 0.53)":"rgba(255, 255, 255, 0.67)";return jsxRuntime.jsx(reactNative.View,{style:[Ne.overlay,{backgroundColor:i},{opacity:e?1:0},n],children:t?jsxRuntime.jsx(no,{text:t}):jsxRuntime.jsx(fe,{inFeed:o,size:100,isLoading:e})})},Ne=reactNative.StyleSheet.create({loadingContainer:{flexDirection:"row",alignItems:"center",padding:8},loadingText:{opacity:.8,fontSize:14,marginLeft:8},boxContainer:{padding:16,borderRadius:8,backgroundColor:"rgba(0, 0, 0, 0.05)"},overlay:{position:"absolute",top:0,left:0,right:0,bottom:0,justifyContent:"center",alignItems:"center"},errorText:{color:"red"}});var wa=e=>e==="current"?1:0,Cn=(e,t)=>{let{height:o}=t;return e==="current"?0:e==="next"?o*1.1:e==="prev"?-o*1.1:0},xn=({id:e,collectionPath:t,onItemLoad:o,RenderItem:n,status:r,offsetY:i,enterStatus:a})=>{let{height:s,width:l}=react.useScreen(),u=Pi.useMemo(()=>({height:s,width:l}),[s,l]),p=Pi.useRef(new reactNative.Animated.Value(0)).current,d=Pi.useRef(new reactNative.Animated.Value(Cn(a??"next",u))).current,c=reactNative.Animated.add(d,i),f=Pi.useMemo(()=>`${t}/${e}`,[t,e]),{data:h}=react.useDocument(f,o);return Pi.useEffect(()=>{let m=wa(r),g=Cn(r,u);d.setValue(g),p.setValue(m);},[r,d,p,u]),jsxRuntime.jsx(reactNative.Animated.View,{style:{position:"absolute",top:0,left:0,transform:[{translateY:c},{scale:p}],display:"flex",alignItems:"center",justifyContent:"center",height:"100%",opacity:p,width:"100%"},children:h?n(h):null})};var Va=10,Vn=(e,t,o=Va,n=false)=>{let[r,i]=Pi.useState([null,null,null]),[a,s]=Pi.useState(0),l=react.useAuth(V=>V.user),[u,p]=Pi.useState(false),[d,c]=Pi.useState(false),[f,h]=Pi.useState(null),[m,g]=Pi.useState(false),[y,b]=Pi.useState(null),T=Pi.useRef(null),C=Pi.useRef({prev:null,curr:null,next:null}),{showInfo:D,showError:B}=react.useToast(),I=Pi.useCallback(V=>{V&&(C.current.prev===V&&(C.current.prev=null),C.current.next===V&&(C.current.next=null)),C.current.curr=V,t({...C.current});},[t]),M=Pi.useCallback(V=>{V&&(C.current.prev===V&&(C.current.prev=null),C.current.curr===V&&(C.current.curr=null)),C.current.next=V,t({...C.current});},[t]),E=Pi.useCallback(V=>{V&&(C.current.curr===V&&(C.current.curr=null),C.current.next===V&&(C.current.next=null)),C.current.prev=V,t({...C.current});},[t]),P=Pi.useCallback(async(V,v,k)=>{if(!l&&n)return [];k||p(true);try{let S=await e({limit:o,startAfter:v,startBefore:V});if(k)v?i(x=>[x[0],x[1],S.ids]):V&&i(x=>[S.ids,x[1],x[2]]);else {let x=S.ids[0],_=S.ids[1]||null;I(x),M(_),E(v),i(v?W=>[W[1],S.ids,null]:V?W=>[null,S.ids,W[1]]:[null,S.ids,null]);let N=S.ids[S.ids.length-1];N&&P(null,N,!0);}return p(!1),S.ids||[]}catch(S){h(S.message),B("Error fetching feed");}return p(false),[]},[e,l,n,I,M,E,o,B]),F=Pi.useCallback(async(V,v)=>{let k=r[1]??[],S=r[2]??[],x=V+1;if(x<k.length)return {id:k[x],idx:x};if(S[0]){let W=S[S.length-1];return v||(i(Me=>[Me[1],Me[2],null]),P(null,W,true)),{id:S[0],idx:0}}let N=(await P(null,k[k.length-1],v))[0];return N?{id:N,idx:0}:null},[r,P]),z=Pi.useCallback(async(V,v)=>{let k=r[1]??[],S=r[0]??[],x=V-1;if(x>=0)return {id:k[x],idx:x};if(S[S.length-1]){let W=S[0];return v||(i([null,r[0],r[1]]),P(W,null,true)),{id:S[S.length-1],idx:S.length-1}}let _=await P(k[0],null,v),N=_[_.length-1];return N?{id:N,idx:_.length-1}:null},[r,P]),H=Pi.useCallback(async()=>{if(m)return;let V=C.current.curr;g(true);let v=await F(a,false);if(b("next"),v){let{id:k,idx:S}=v;T.current=k,s(S),I(k),M(null),E(V),F(S,true).then(x=>M(x?.id??null));}else D("No more items");g(false);},[a,F,I,M,E,m,D]),Q=Pi.useCallback(async()=>{if(m)return;let V=C.current.curr;b("prev"),g(true);let v=await z(a,false);if(v){let{id:k,idx:S}=v;T.current=k,s(S),I(k),E(null),M(V),z(S,true).then(x=>E(x?.id??null));}else D("No more items");g(false);},[a,z,I,M,E,m,D]),Ce=Pi.useCallback(async()=>{p(true),c(true),i([null,null,null]),I(null),M(null),E(null),b(null),s(0),await P(null,null,false),c(false);},[P,I,M,E]),[xe]=Pi.useState(()=>P);Pi.useEffect(()=>{xe(null,null,false);},[xe]);let it=Pi.useMemo(()=>a>0&&!!r[1]?.length||!!r[0]?.length,[r,a]),at=Pi.useMemo(()=>(r[1]&&a<r[1].length)??!!r[2]?.length,[r,a]);return Pi.useMemo(()=>({ids:r,goNext:H,goPrev:Q,error:f,refresh:Ce,refreshing:d,loading:u,canGoNext:at,direction:y,canGoPrev:it,itemLoading:m}),[r,H,Q,u,f,m,at,it,Ce,d,y])};var Pn=({color:e,trackColor:t,animating:o,visible:n=true,viewStyle:r,...i})=>{let a=react.useColorModeValue("#959595","#575757"),s=Pi.useRef(new reactNative.Animated.Value(n?1:0)).current;return Pi.useEffect(()=>{reactNative.Animated.timing(s,{toValue:n?1:0,duration:300,useNativeDriver:true}).start();},[n,s]),jsxRuntime.jsxs(reactNative.Animated.View,{style:[Pa.container,{opacity:s},r],children:[jsxRuntime.jsx(reactNative.ActivityIndicator,{color:t??a,style:reactNative.StyleSheet.absoluteFill,animating:false,...i}),jsxRuntime.jsx(reactNative.ActivityIndicator,{animating:o,color:e??"#575757",...i})]})},Pa=reactNative.StyleSheet.create({container:{alignItems:"center",justifyContent:"center"}});var kn=({src:e,onClose:t})=>{let[o,n]=Pi.useState(true),r=react.useScreen(c=>c.width),i=react.useScreen(c=>c.height),[a,s]=Pi.useState({width:r/2,height:i/2}),{height:l,width:u}=Pi.useMemo(()=>{if(o)return a;let c=a.width/a.height,f=Math.min(a.height,i*.9),h=f*c;return h>r*.9&&(h=Math.min(a.width,r*.9),f=h/c),{height:f,width:h}},[i,r,a,o]),p=Pi.useCallback(()=>n(true),[]),d=Pi.useCallback(c=>{let{width:f,height:h}=c.nativeEvent.source;s({width:f,height:h}),n(false);},[]);return jsxRuntime.jsx(reactNative.Modal,{visible:true,transparent:true,animationType:"fade",onRequestClose:t,children:jsxRuntime.jsx(reactNative.View,{style:Te.modalOverlay,children:jsxRuntime.jsxs(reactNative.View,{style:Te.contentContainer,children:[jsxRuntime.jsx(reactNative.View,{style:[Te.imageContainer,{width:u,height:l,opacity:o?0:1}],children:jsxRuntime.jsx(reactNative.Image,{source:{uri:e},style:Te.image,onLoadStart:p,onLoad:d,resizeMode:"contain"})}),jsxRuntime.jsx(reactNative.TouchableOpacity,{style:Te.closeButton,onPress:t,children:jsxRuntime.jsx(vectorIcons.Ionicons,{name:"close",size:24,color:"white"})}),o&&jsxRuntime.jsx(reactNative.View,{style:Te.loadingContainer,children:jsxRuntime.jsx(fe,{isLoading:o,size:70})})]})})})},Te=reactNative.StyleSheet.create({modalOverlay:{flex:1,backgroundColor:"rgba(0, 0, 0, 0.7)"},contentContainer:{flex:1,justifyContent:"center",alignItems:"center",padding:16},imageContainer:{overflow:"hidden",borderRadius:4},image:{width:"100%",height:"100%"},closeButton:{position:"absolute",top:16,right:16,width:40,height:40,borderRadius:20,backgroundColor:"rgba(0, 0, 0, 0.5)",justifyContent:"center",alignItems:"center"},loadingContainer:{...reactNative.StyleSheet.absoluteFillObject,justifyContent:"center",alignItems:"center"}});var En="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAEAAAABCAQAAAC1HAwCAAAAC0lEQVR42mNkAAIAAAoAAv/lxKUAAAAASUVORK5CYII=",zn=({src:e,loadingOverride:t,onLoad:o,width:n,height:r,noFullView:i,buttonFullView:a,style:s})=>{let[l,u]=Pi.useState(!!e),p=Pi.useRef(null),[d,c]=Pi.useState(false),f=react.useMounted(100),h=Pi.useCallback(T=>{o&&o(T);},[o]),[m,g]=Pi.useState(e);Pi.useEffect(()=>{e&&g(e);},[e,m]);let y=Pi.useMemo(()=>l||!!t,[l,t]),b=jsxRuntime.jsx(reactNative.Image,{ref:p,source:{uri:e??En},style:[Fe.image,{opacity:e&&!y?1:0}],onLoadEnd:()=>u(false),onLoad:h,resizeMode:e?"cover":"contain"});return jsxRuntime.jsxs(reactNative.View,{style:[Fe.container,{width:n??"100%",height:r??"100%",opacity:f?1:0},s],children:[i||a?b:jsxRuntime.jsx(reactNative.TouchableOpacity,{activeOpacity:.9,onPress:()=>c(true),style:Fe.imageContainer,children:b}),a&&jsxRuntime.jsx(reactNative.TouchableOpacity,{style:Fe.fullViewButton,onPress:()=>c(true),activeOpacity:.7,children:jsxRuntime.jsx(vectorIcons.Ionicons,{name:"expand",size:20,color:"white",style:Fe.fullViewIcon})}),jsxRuntime.jsx(reactNative.View,{style:[Fe.loadingContainer,{opacity:y?1:0}],children:jsxRuntime.jsx(fe,{isLoading:y,size:10})}),d&&jsxRuntime.jsx(kn,{src:e??En,onClose:()=>c(false)})]})},Fe=reactNative.StyleSheet.create({container:{overflow:"hidden",position:"relative"},imageContainer:{width:"100%",height:"100%"},image:{width:"100%",height:"100%"},loadingContainer:{...reactNative.StyleSheet.absoluteFillObject,justifyContent:"center",alignItems:"center"},fullViewButton:{position:"absolute",top:8,right:8,width:28,height:28,borderRadius:14,backgroundColor:"rgba(0, 0, 0, 0.5)",justifyContent:"center",alignItems:"center"},fullViewIcon:{opacity:.8}});var mf=({value:e,label:t,onChange:o})=>{let[n,r]=Pi.useState(false),i=Pi.useState(new reactNative.Animated.Value(1))[0],a=Pi.useCallback(l=>{let u=Math.max(0,1e3-(Date.now()-l));setTimeout(()=>{r(false),reactNative.Animated.timing(i,{toValue:1,duration:300,useNativeDriver:true}).start();},u);},[i]),s=l=>{r(true),reactNative.Animated.timing(i,{toValue:0,duration:300,useNativeDriver:true}).start();let u=Date.now();o(l).catch(p=>{console.error(p);}),a(u);};return jsxRuntime.jsxs(reactNative.View,{style:wt.container,children:[jsxRuntime.jsxs(reactNative.Animated.View,{style:[wt.content,{opacity:i}],children:[jsxRuntime.jsx(reactNative.Text,{style:wt.label,children:t}),jsxRuntime.jsx(reactNative.Switch,{value:e,onValueChange:s})]}),n&&jsxRuntime.jsx(reactNative.View,{style:wt.loadingContainer,children:jsxRuntime.jsx(no,{})})]})},wt=reactNative.StyleSheet.create({container:{paddingVertical:4,paddingHorizontal:12,backgroundColor:"#2D3748",borderRadius:12,shadowColor:"#000",shadowOffset:{width:0,height:0},shadowOpacity:.25,shadowRadius:4,elevation:5,position:"relative",flexDirection:"row",alignItems:"center"},content:{flexDirection:"row",alignItems:"center",gap:8},label:{fontSize:20,height:24,color:"#FFFFFF"},loadingContainer:{position:"absolute",top:"-10%",left:"-10%",width:"120%",height:"120%",borderRadius:8,padding:4,justifyContent:"center",alignItems:"center"}});var Xa="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAEAAAABCAQAAAC1HAwCAAAAC0lEQVR42mNkAAIAAAoAAv/lxKUAAAAASUVORK5CYII=",Qa=reactNative.StyleSheet.create({imageBackground:{flex:1,transform:[{scale:1.075}]}}),Ct=({background:e,opacity:t=.7,style:o,...n})=>jsxRuntime.jsx(reactNative.View,{style:[ie.absolute,o],...n,children:jsxRuntime.jsx(reactNative.ImageBackground,{source:{uri:e??Xa},style:[Qa.imageBackground,{opacity:t}],resizeMode:"cover"})}),Za=({getBackgroundValue:e,item:t})=>{let o=Pi.useMemo(()=>t?e(t):null,[e,t]),{loading:n,url:r}=react.useObjectUrl(o),i=Pi.useRef(0),[a,s]=Pi.useState(0),[l,u]=Pi.useState(null),[p,d]=Pi.useState(null);return Pi.useEffect(()=>{i.current===0?(u(r),i.current=1,s(0)):(d(r),i.current=0,s(1));},[r]),jsxRuntime.jsxs(de,{style:ie.absolute,children:[jsxRuntime.jsx(Ct,{opacity:a===0?1:0,background:l}),jsxRuntime.jsx(Ct,{opacity:a===1?1:0,background:p}),jsxRuntime.jsx(fe,{isLoading:n})]})},el=({getBackgroundUrl:e,item:t})=>{let o=Pi.useMemo(()=>t?e(t):null,[e,t]),n=Pi.useRef(0),[r,i]=Pi.useState(0),[a,s]=Pi.useState(null),[l,u]=Pi.useState(null);return Pi.useEffect(()=>{o&&(n.current===0?(s(o),n.current=1,i(0)):(u(o),n.current=0,i(1)));},[o]),jsxRuntime.jsxs(de,{style:ie.absolute,children:[jsxRuntime.jsx(Ct,{opacity:r===0?1:0,background:a}),jsxRuntime.jsx(Ct,{opacity:r===1?1:0,background:l})]})},jn=({getBackgroundValue:e,getBackgroundUrl:t,...o})=>e?jsxRuntime.jsx(Za,{getBackgroundValue:e,...o}):t?jsxRuntime.jsx(el,{getBackgroundUrl:t,...o}):null;var rl=25,Kn=({offsetY:e,refreshing:t,canRefresh:o})=>{let n=Pi.useRef(new reactNative.Animated.Value(0)).current,r=Pi.useRef(new reactNative.Animated.Value(0)).current,i=reactNative.Animated.subtract(e,75),a=reactNative.Animated.divide(i,rl),s=reactNative.Animated.diffClamp(a,0,1);Pi.useEffect(()=>{reactNative.Animated.spring(n,{toValue:t?50:0,useNativeDriver:true}).start();},[t,n]),Pi.useEffect(()=>{reactNative.Animated.spring(r,{toValue:o?1:0,useNativeDriver:true}).start();},[o,r]);let l=s.interpolate({inputRange:[0,1],outputRange:[0,Math.sqrt(1)*20]}),p=reactNative.Animated.add(n,l).interpolate({inputRange:[0,20],outputRange:[0,20],extrapolate:"clamp"}),d=reactNative.Animated.multiply(r,p),c=d.interpolate({inputRange:[0,30],outputRange:[0,1],extrapolate:"clamp"}),f=reactNative.Animated.multiply(r,c),h=s.interpolate({inputRange:[0,1],outputRange:["0deg","180deg"]});return jsxRuntime.jsx(reactNative.Animated.View,{style:[Jn.container,{opacity:f,transform:[{translateY:d},{scale:f},{rotate:h}]}],children:jsxRuntime.jsxs(reactNative.View,{style:Jn.centerContainer,children:[jsxRuntime.jsx(Gt,{style:[{opacity:t?0:1}],children:jsxRuntime.jsx(tl__default.default,{name:"refresh",size:32,color:"white"})}),jsxRuntime.jsx(Gt,{style:{opacity:t?1:0},children:jsxRuntime.jsx(Pn,{animating:true,size:"large",color:"white"})})]})})},Jn=reactNative.StyleSheet.create({container:{position:"absolute",top:0,left:0,right:0,pointerEvents:"none"},centerContainer:{alignItems:"center",justifyContent:"center",width:"100%"}});var fl=e=>Pi.useCallback(t=>{let o=[];t.prev&&o.push({status:"prev",id:t.prev}),t.curr&&o.push({status:"current",id:t.curr}),t.next&&o.push({status:"next",id:t.next}),e(o);},[e]),rg=({fetch:e,collection:t,RenderItem:o,authRequired:n,getBackgroundUrl:r,getBackgroundValue:i,limit:a,defaultBackground:s,swipeDisabled:l,children:u})=>{let{width:p,height:d}=react.useScreen(),{theme:c}=react.useTheme(),f=Pi.useRef(null),h=Pi.useRef(null),[m,g]=Pi.useState(null),[y,b]=Pi.useState([]),T=Pi.useRef(new reactNative.Animated.Value(0)).current,C=fl(b),D=Pi.useRef(null),{goNext:B,goPrev:I,loading:M,canGoNext:E,canGoPrev:P,refresh:F,refreshing:z}=Vn(e,C,a,n),H=Pi.useRef(false),Q=Pi.useRef({x:0,y:0}),Ce=Pi.useCallback(x=>{l||(H.current=true,Q.current={x:x.x,y:x.y});},[l]),xe=Pi.useCallback(x=>{if(!H.current)return;let _=P?75:100,N=E?-75:-100,W=Math.max(N,Math.min(_,x.y-Q.current.y));E&&W<-65?(g("next"),B()):P&&W>65?(g("prev"),I()):(W>90||W<-90)&&(F(),D.current&&D.current.onNewData(null)),T.setValue(0),H.current=false;},[T,B,I,E,P,F]),it=Pi.useCallback(x=>{if(!H.current)return;let _=Math.max(-10,Math.min(10,x.x-Q.current.x)),N=P?75:100,W=E?-75:-100,Me=Math.max(W,Math.min(N,x.y-Q.current.y));Math.sqrt(_**2+Me**2)>10&&f.current,T.setValue(Me);},[T,E,P]),at=reactNativeGestureHandler.Gesture.Pan().onStart(Ce).onUpdate(it).onEnd(xe),V=Pi.useMemo(()=>({height:d,width:p,overflow:"hidden",pointerEvents:l?"none":"auto"}),[p,d,l]),[v,k]=Pi.useState(null),S=Pi.useCallback(x=>{y.find(N=>N.status==="current")?.id===x?._id&&k(x);},[y]);return jsxRuntime.jsx(pn,{curr:v,children:jsxRuntime.jsx(reactNativeGestureHandler.GestureDetector,{gesture:at,children:jsxRuntime.jsxs(de,{style:[gl.container,{backgroundColor:s??c.colors.background[100]}],children:[jsxRuntime.jsx(jn,{item:v,getBackgroundValue:i,getBackgroundUrl:r}),jsxRuntime.jsx(reactNative.View,{style:V,ref:h,children:jsxRuntime.jsx(de,{style:ie.relative,ref:f,children:y.map(x=>jsxRuntime.jsx(xn,{id:x.id,collectionPath:t,RenderItem:o,onItemLoad:S,status:x.status,enterStatus:m,offsetY:T},x.id))})}),jsxRuntime.jsx(Kn,{canRefresh:!P,refreshing:z,offsetY:T}),jsxRuntime.jsx(ft,{inFeed:true,isLoading:M}),u?jsxRuntime.jsx(de,{style:[ie.absolute,{zIndex:3}],children:u}):null]})})})},gl=reactNative.StyleSheet.create({container:{...ie.relative,overflow:"hidden"}});var xt=({path:e,condition:t,children:o})=>{let n=reactHookForm.useWatch({exact:true,name:e});return Pi.useMemo(()=>t(n),[n,t])?jsxRuntime.jsx(reactNative.Animated.View,{style:{paddingVertical:3,opacity:1},children:o}):null};var Tl=(e,t,o,n)=>{let r=Pi.useRef(new reactNative.Animated.Value(0)).current;return Pi.useEffect(()=>{reactNative.Animated.timing(r,{toValue:e?1:0,duration:200,useNativeDriver:false}).start();},[e,r]),Pi.useMemo(()=>({opacity:r,color:t,transform:[{scale:r.interpolate({inputRange:[0,1],outputRange:[.8,1]})}],height:r.interpolate({inputRange:[0,1],outputRange:[0,o]}),marginBottom:r.interpolate({inputRange:[0,1],outputRange:[0,n]})}),[t,o,n,r])},co=({show:e,color:t,height:o,marginBottom:n,style:r,children:i})=>{let{opacity:a,color:s,transform:l,height:u,marginBottom:p}=Tl(e,t,o,n);return jsxRuntime.jsx(reactNative.Animated.Text,{style:[r,{opacity:a,color:s,transform:l,height:u,marginBottom:p}],children:i})};var Il=({field:e,input:{onChange:t,value:o,...n}},r)=>{let{placeholder:i}=e;return Pi.useImperativeHandle(r,()=>({focus:()=>{},blur:()=>{}})),jsxRuntime.jsxs(reactNative.View,{style:{flexDirection:"row",alignItems:"center"},children:[jsxRuntime.jsx(reactNative.Switch,{value:o,onValueChange:t,...n}),jsxRuntime.jsx(reactNative.Text,{style:{marginLeft:8,fontWeight:"600",opacity:o?.9:.6},children:i})]})},Pl=Pi.forwardRef(Il),Rl=({field:e,input:{onChange:t,value:o,...n}},r)=>{let{placeholder:i}=e;return Pi.useImperativeHandle(r,()=>({focus:()=>{},blur:()=>{}})),jsxRuntime.jsxs(reactNative.View,{style:{flexDirection:"row",alignItems:"center"},children:[jsxRuntime.jsx(reactNative.Switch,{value:o,onValueChange:t,...n}),jsxRuntime.jsx(reactNative.Text,{style:{marginLeft:8,fontWeight:"600",opacity:o?.9:.6},children:i})]})},vl=Pi.forwardRef(Rl),Al=(e,t)=>e.field.type==="switch"?jsxRuntime.jsx(vl,{ref:t,...e}):jsxRuntime.jsx(Pl,{ref:t,...e}),er=Pi.forwardRef(Al);var Vt=({gradient:e,value:t,minimumValue:o,maximumValue:n,...r})=>jsxRuntime.jsx(reactNative.View,{style:[ye.container,{opacity:t!==void 0?1:.5}],children:jsxRuntime.jsxs(reactNative.View,{style:ye.sliderContainer,children:[o!==void 0?jsxRuntime.jsx(reactNative.Text,{style:[ye.label,e?ye.gradientText:null],children:typeof o=="number"?o.toFixed((r?.step??1)<1?2:0):""}):null,jsxRuntime.jsx(Ol__default.default,{style:ye.slider,minimumValue:o,maximumValue:n,step:1,...r}),n!==void 0?jsxRuntime.jsx(reactNative.Text,{style:[ye.label,e?ye.gradientText:null],children:typeof n=="number"?n.toFixed((r?.step??1)<1?2:0):""}):null]})}),ye=reactNative.StyleSheet.create({container:{width:"100%",paddingVertical:8},sliderContainer:{flexDirection:"row",alignItems:"center",width:"100%"},slider:{flex:1,height:40},label:{fontSize:14,marginHorizontal:8},gradientText:{color:"#007AFF"}});var Tt=e=>{let t=Pi.useRef(null);return Pi.useImperativeHandle(e,()=>({focus:()=>{t.current?.focus();},blur:()=>{t.current?.blur();}}),[]),t};var It=({label:e,gradient:t,value:o,...n})=>jsxRuntime.jsx(Vt,{label:e,value:o,minimumValue:0,maximumValue:255,step:1,gradient:t,...n}),ar=Pi.forwardRef(({input:{onChange:e,value:t},field:o,meta:n},r)=>{let{withAlpha:i,defaultValue:a}=o,{active:s}=n||{};Tt(r);let l=Pi.useCallback((d,c)=>{e(i?{r:0,g:0,b:0,a:1,...t,[d]:c}:{r:0,g:0,b:0,...t,[d]:c});},[t,e,i]),u=Pi.useMemo(()=>({...a,...t}),[a,t]),p=Pi.useMemo(()=>core.colorValueToHex(!!i,u),[u,i]);return jsxRuntime.jsxs(reactNative.View,{style:$e.container,children:[jsxRuntime.jsx(reactNative.View,{style:[$e.colorPreview,{backgroundColor:p}],children:jsxRuntime.jsx(reactNative.Text,{style:$e.hexText,children:p})}),jsxRuntime.jsxs(reactNative.View,{style:[$e.slidersContainer,s&&$e.activeContainer],children:[jsxRuntime.jsx(It,{label:"R",gradient:core.gradients.red,value:t?.r,onValueChange:d=>l("r",d)}),jsxRuntime.jsx(It,{label:"G",gradient:core.gradients.green,value:t?.g,onValueChange:d=>l("g",d)}),jsxRuntime.jsx(It,{label:"B",gradient:core.gradients.blue,value:t?.b,onValueChange:d=>l("b",d)}),i?jsxRuntime.jsx(It,{label:"A",gradient:core.gradients.midnight,value:t?.a,onValueChange:d=>l("a",d)}):null]})]})}),$e=reactNative.StyleSheet.create({container:{width:"100%",flexDirection:"row",alignItems:"center",gap:8},colorPreview:{width:80,height:80,borderRadius:40,justifyContent:"center",alignItems:"center",shadowColor:"#000",shadowOffset:{width:0,height:2},shadowOpacity:.25,shadowRadius:3.84,elevation:5},hexText:{fontSize:16,color:"#fff",textShadowColor:"rgba(0, 0, 0, 0.75)",textShadowOffset:{width:0,height:1},textShadowRadius:2},slidersContainer:{flex:1,padding:8,borderRadius:6},activeContainer:{shadowColor:"#fff",shadowOffset:{width:0,height:0},shadowOpacity:.5,shadowRadius:5,elevation:5}});var fo=({onPress:e,isActive:t,marginRight:o})=>{let n=react.useIconColor(),r=react.useBorderColor();return jsxRuntime.jsx(reactNative.TouchableOpacity,{onPress:e,style:[Yl.closeButton,{opacity:t?1:0,marginRight:o,borderColor:r}],hitSlop:{top:10,bottom:10,left:10,right:10},disabled:!t,children:jsxRuntime.jsx(vectorIcons.Ionicons,{name:"close",size:14,color:n,style:{alignSelf:"center"}})})},Ae=({onPress:e,isActive:t})=>jsxRuntime.jsx(fo,{marginRight:0,onPress:e,isActive:t}),Yl=reactNative.StyleSheet.create({closeButton:{padding:3,borderRadius:100,display:"flex",alignItems:"center",justifyContent:"center",borderWidth:1}});var Oe=e=>{let t=react.useTextColor(),o=react.usePlaceholderColor();return e!=null&&e!==""?t:o};var go=Pi.forwardRef(({input:{onChange:e,value:t,onFocus:o,onBlur:n},field:{placeholder:r,minDate:i,maxDate:a,optional:s},meta:{active:l}},u)=>{let p=Pi.useMemo(()=>t?new Date(`${t}T00:00:00.000`):void 0,[t]);Pi.useImperativeHandle(u,()=>({focus:()=>{o();},blur:()=>{n();}}));let d=()=>{o();},c=react.useIconColor(),f=Oe(t),h=i==="now"?new Date:i?new Date(i):void 0,m=a==="now"?new Date:a?new Date(a):void 0;return jsxRuntime.jsxs(reactNative.View,{style:Pt.container,children:[jsxRuntime.jsxs(reactNative.TouchableOpacity,{style:Pt.button,onPress:d,children:[jsxRuntime.jsx(reactNative.Text,{style:[Pt.text,{color:f}],children:t?core.getDateString(t,"short"):r}),jsxRuntime.jsx(vectorIcons.Ionicons,{name:"calendar",size:20,color:c,style:Pt.icon}),s&&t?jsxRuntime.jsx(Ae,{onPress:()=>e(null),isActive:true}):null]}),jsxRuntime.jsx(reactNativePaper.Portal,{children:jsxRuntime.jsx(reactNativePaperDates.DatePickerModal,{locale:"en",label:"Date",date:p,startYear:h?.getFullYear(),endYear:m?.getFullYear(),mode:"single",onConfirm:g=>{e(g?.date?.toISOString()?.split("T")[0]??null),n();},onDismiss:n,visible:l})})]})});go.displayName="DateInput";var Pt=reactNative.StyleSheet.create({container:{width:"100%"},button:{flexDirection:"row",alignItems:"center",justifyContent:"space-between",width:"100%",height:40,paddingHorizontal:12,paddingVertical:8},text:{fontSize:16,flex:1},icon:{marginRight:10}});var wo=Pi.forwardRef(({input:{value:e,onBlur:t,onChange:o,onFocus:n},field:r,meta:{active:i}},a)=>{let{placeholder:s,optional:l}=r,[u,p]=Pi.useState(true),[d,c]=Pi.useState(false),f=Pi.useMemo(()=>e?new Date(e):new Date,[e]);Pi.useImperativeHandle(a,()=>({focus:()=>{n();},blur:()=>{t();}}));let h=Pi.useCallback(B=>{if(B){let I=new Date(B);o(I.toISOString()),c(true);}else t();p(false);},[o,t]),m=Pi.useCallback(({hours:B,minutes:I})=>{let M=f?new Date(f):new Date;M.setHours(B),M.setMinutes(I),o(M.toISOString()),c(false),t();},[o,t,f]),g=Pi.useCallback(()=>{p(true),c(false),t();},[t]),y=Pi.useMemo(()=>e?new Date(e):void 0,[e]),b=Pi.useMemo(()=>e?core.getDateTimeString(e):null,[e]),T=Pi.useMemo(()=>y?{hours:y.getHours(),minutes:y.getMinutes()}:{hours:0,minutes:0},[y]),C=react.useIconColor(),D=Oe(e);return jsxRuntime.jsxs(reactNative.View,{style:Ge.container,children:[jsxRuntime.jsxs(reactNative.TouchableOpacity,{style:Ge.button,onPress:()=>{p(true),n();},children:[jsxRuntime.jsx(reactNative.Text,{style:[Ge.text,{color:D}],children:b??s}),jsxRuntime.jsx(vectorIcons.Ionicons,{name:"calendar",size:20,color:C,style:Ge.icon}),jsxRuntime.jsx(vectorIcons.Ionicons,{name:"time",size:20,color:C,style:Ge.icon}),l&&e?jsxRuntime.jsx(Ae,{onPress:()=>o(null),isActive:!!e}):null]}),jsxRuntime.jsxs(reactNativePaper.Portal,{children:[u&&jsxRuntime.jsx(reactNativePaperDates.DatePickerModal,{locale:"en",label:"Date",date:y,mode:"single",onConfirm:B=>{h(B?.date?.toISOString()?.split("T")[0]??null);},onDismiss:g,visible:i&&u}),d&&jsxRuntime.jsx(reactNativePaperDates.TimePickerModal,{visible:i&&d,onDismiss:g,locale:"en-US",onConfirm:m,hours:T.hours,minutes:T.minutes})]})]})});wo.displayName="DateTimeInput";var Ge=reactNative.StyleSheet.create({container:{width:"100%"},button:{flexDirection:"row",alignItems:"center",justifyContent:"space-between",width:"100%",height:40,paddingHorizontal:12,paddingVertical:8},text:{fontSize:16,flex:1},icon:{marginRight:10}});var Fs=e=>{if(!e.accept)return;let t=[];return e.accept.includes("image")&&t.push("image/jpg","image/jpeg","image/png","image/svg","image/gif"),e.accept.includes("pdf")&&t.push("application/pdf"),e.accept.includes("audio")&&t.push("audio/mp3","audio/wav","audio/x-wav","audio/webm","audio/ogg"),t.join(",")},Is=({hasUpload:e})=>{let t=react.useTextColor(),o=react.useIconColor(),n=react.useBorderColor();return jsxRuntime.jsxs(reactNative.View,{style:[se.noFileContainer,{borderColor:n}],children:[jsxRuntime.jsx(reactNative.Text,{style:[se.noFileText,{color:t}],children:e?"Tap to upload file":"No file uploaded"}),jsxRuntime.jsx(vectorIcons.Ionicons,{name:"cloud-upload",size:24,color:o})]})},vt=({value:e,hasUpload:t,imageOptions:o})=>{let{storagePath:n,dataUrl:r}=e??{},i=!r&&!n,a=react.useIconColor(),s=react.useTextColor(),l=react.useBorderColor();return !e||i?jsxRuntime.jsx(Is,{hasUpload:t}):e.type?.startsWith("image/")?jsxRuntime.jsx(zn,{src:r,width:o?.width??120,height:o?.height??120,style:se.image}):jsxRuntime.jsxs(reactNative.View,{style:[se.fileContainer,{borderColor:l}],children:[jsxRuntime.jsx(vectorIcons.Ionicons,{name:"document",size:24,color:a}),jsxRuntime.jsx(reactNative.Text,{style:[se.filename,{color:s}],children:e.filename})]})},So=Pi.forwardRef(({input:{value:e,onChange:t},field:o},n)=>{let[r,i]=Pi.useState(false),{imageOptions:a}=o||{},s=Pi.useCallback(async()=>{try{i(!0);let c;if(o.accept?.includes("image")){if(c=await gr__namespace.launchImageLibraryAsync({mediaTypes:["images"],allowsEditing:!0,quality:1,base64:!0}),!c.canceled&&c.assets[0]){let f=c.assets[0],h=f.uri.split(".").pop()??"jpeg",m=f.uri.split("/").pop()??"image";t({...e,dataUrl:f.uri,type:`image/${h}`,filename:m});}}else c=await fr__namespace.getDocumentAsync({type:Fs(o)}),c.canceled||t({...e,dataUrl:c.assets[0].uri,type:c.assets[0].mimeType,filename:c.assets[0].name});}catch(c){c instanceof Error&&console.error("Error picking file:",c.message);}finally{i(false);}},[o,t,e]);Pi.useImperativeHandle(n,()=>({focus:()=>{s();},blur:()=>{}}));let l=Pi.useMemo(()=>o.accept&&o.accept.length===1&&o.accept[0]==="image",[o]),u=Pi.useMemo(()=>l||e?.type?.startsWith("image/")?{height:120,...a}:void 0,[a,l,e]),p=react.usePlaceholderColor(),d=react.useBorderColor();return jsxRuntime.jsxs(reactNative.View,{style:[se.container,{borderColor:d}],children:[jsxRuntime.jsx(reactNative.Text,{style:[se.placeholder,{color:p}],children:o.placeholder}),jsxRuntime.jsx(reactNative.TouchableOpacity,{style:se.contentContainer,onPress:()=>void s(),disabled:r,children:jsxRuntime.jsx(vt,{hasUpload:true,imageOptions:u,value:e})})]})});So.displayName="FileComponent";var se=reactNative.StyleSheet.create({container:{width:"100%",alignItems:"center",justifyContent:"center"},placeholder:{fontSize:14,opacity:.8,marginBottom:4},contentContainer:{width:"100%",position:"relative",alignItems:"center",justifyContent:"center",padding:8,overflow:"hidden"},noFileContainer:{flexDirection:"row",alignItems:"center",justifyContent:"center",padding:16,borderWidth:1,borderRadius:4,borderStyle:"dashed"},noFileText:{fontSize:14,textAlign:"center",opacity:.8,marginRight:10},fileContainer:{flexDirection:"row",alignItems:"center",padding:8,borderWidth:1,borderRadius:4},filename:{fontSize:14,marginLeft:8},image:{borderRadius:4,overflow:"hidden"}});var yr=Pi.forwardRef(({field:e,input:t,inEditable:o},n)=>{let{options:r,renderOption:i,getOptionKey:a}=e,{onChange:s,value:l,onFocus:u,onBlur:p}=t,d=react.useColorMode(),c=react.usePlaceholderColor();Pi.useImperativeHandle(n,()=>({focus:()=>{u();},blur:()=>{p();}}));let f=m=>{s(l?.includes(m)?l.filter(g=>g!==m):[...l??[],m]);},h=jsxRuntime.jsx(reactNative.View,{style:Ye.container,children:r.map(m=>jsxRuntime.jsx(reactNative.TouchableOpacity,{style:[Ye.option,l?.includes(m)&&Ye.selectedOption],onPress:()=>f(m),children:i(m,d,!!l?.includes(m))},a?a(m):m))});return o?jsxRuntime.jsxs(reactNative.View,{style:Ye.editableContainer,children:[jsxRuntime.jsx(reactNative.Text,{style:[Ye.placeholder,{color:c}],children:e.placeholder}),h]}):h}),Ye=reactNative.StyleSheet.create({container:{width:"100%",flexDirection:"row",flexWrap:"wrap",gap:4},editableContainer:{width:"100%",paddingVertical:2},placeholder:{fontSize:14,fontWeight:"600",opacity:.8,paddingHorizontal:8,marginBottom:4},option:{padding:4,opacity:.7},selectedOption:{opacity:1}});var zs={xs:4,sm:6,md:8,lg:8,xl:8},Ls={xs:8,sm:12,md:12,lg:12,xl:12},Hs={xs:12,sm:14,md:16,lg:18,xl:20},wr=e=>Pi.useMemo(()=>reactNative.StyleSheet.create({style:{paddingVertical:zs[e??"md"],paddingHorizontal:Ls[e??"md"],fontSize:Hs[e??"md"]}}),[e]);var Io=Pi.forwardRef(({input:{onChange:e,value:t,...o},field:n,size:r,prefix:i,inEditable:a,...s},l)=>{let{type:u,defaultValue:p,placeholder:d}=n,c=react.useTextColor(),{style:f}=wr(r),h=Tt(l),[m,g]=Pi.useState(""),y=typeof t=="number"&&!Number.isNaN(t)?`${t}${m}`:"",b=react.usePlaceholderColor();return u==="slider"?jsxRuntime.jsx(Vt,{label:d,onValueChange:e,value:t,minimumValue:p}):jsxRuntime.jsxs(reactNative.View,{style:Fo.container,children:[i&&jsxRuntime.jsx(reactNative.Text,{style:Fo.prefix,children:i}),jsxRuntime.jsx(reactNative.TextInput,{ref:h,style:[Fo.input,f,{color:c}],placeholder:n.placeholder,placeholderTextColor:b,keyboardType:"numeric",value:y,onChangeText:T=>{T.endsWith(".")?g("."):T.includes(".")&&T.endsWith("0")?g("0"):g("");let C=parseFloat(T);e(isNaN(C)?void 0:C);},...o})]})}),Ks=({field:e,...t},o)=>{let n=Pi.useRef(null);return Pi.useImperativeHandle(o,()=>({focus:()=>{n.current?.focus();},blur:()=>{n.current?.blur();}})),jsxRuntime.jsx(Io,{prefix:"$",field:{...e,_type:"number"},...t})},Cr=Pi.forwardRef(Ks),Fo=reactNative.StyleSheet.create({container:{flexDirection:"row",alignItems:"center",width:"100%"},input:{flex:1,height:40,paddingHorizontal:12,paddingVertical:8,backgroundColor:"transparent"},prefix:{marginRight:4,fontSize:16}});var dc=({field:e,input:t,meta:o},n)=>{let{placeholder:r,options:i,renderOption:a,getOptionKey:s,optional:l}=e,{onChange:u,value:p,onFocus:d,onBlur:c}=t,{active:f}=o,[h,m]=Pi.useState({x:0,y:0,width:0,height:0}),g=Pi.useRef(null),y=Pi.useMemo(()=>{if(p)return i.find(F=>{if(s){let z=s(F),H=s(p);return z===H}return F===p})},[p,i,s]);Pi.useImperativeHandle(n,()=>({focus:()=>{d();},blur:()=>{c();}}));let b=()=>{g.current?.measure((F,z,H,Q,Ce,xe)=>{m({x:Ce,y:xe,width:H,height:Q});});},T=(F,z)=>typeof a=="function"?a(F,"light",z):typeof F=="object"?jsxRuntime.jsx(Y,{children:JSON.stringify(F)}):jsxRuntime.jsx(Y,{children:String(F)}),C=F=>{if(s){let z=s(F);return typeof z=="object"?JSON.stringify(z):String(z)}return typeof F=="object"?JSON.stringify(F):String(F)},D=F=>{u(F),c();},B=react.useIconColor(),I=react.usePlaceholderColor(),M=react.useBackgroundColor(100),E=react.useBackgroundColor(50),P=react.useBorderColor();return jsxRuntime.jsxs(reactNative.View,{style:q.wrapper,children:[jsxRuntime.jsx(reactNative.View,{ref:g,onLayout:b,style:q.container,children:jsxRuntime.jsxs(reactNative.TouchableOpacity,{style:[q.button],onPress:()=>{f?c():d();},children:[jsxRuntime.jsx(reactNative.View,{style:q.buttonTextContainer,children:y?T(y,true):jsxRuntime.jsx(reactNative.Text,{style:[q.placeholder,{color:I}],children:r})}),jsxRuntime.jsx(vectorIcons.Ionicons,{name:f?"chevron-up":"chevron-down",size:20,color:B,style:q.icon}),l&&p?jsxRuntime.jsx(fo,{onPress:()=>u(null),isActive:!!p}):null]})}),jsxRuntime.jsx(reactNative.Modal,{visible:f,transparent:true,animationType:"fade",onRequestClose:()=>c(),children:jsxRuntime.jsx(reactNative.TouchableOpacity,{style:q.modalOverlay,activeOpacity:1,onPress:()=>c(),children:jsxRuntime.jsx(reactNative.View,{style:[q.dropdownContainer,{position:"absolute",top:h.y+h.height+4,left:h.x,width:h.width,backgroundColor:M,borderColor:P}],children:jsxRuntime.jsx(reactNative.ScrollView,{style:q.dropdown,children:i.map(F=>{let z=C(F),H=F===y;return jsxRuntime.jsx(reactNative.TouchableOpacity,{style:[q.option,{borderColor:P},H&&{backgroundColor:E}],onPress:()=>D(F),children:jsxRuntime.jsx(reactNative.View,{children:T(F,H)})},z)})})})})})]})},Vr=Pi.forwardRef(dc),q=reactNative.StyleSheet.create({wrapper:{width:"100%"},container:{width:"100%"},button:{flexDirection:"row",alignItems:"center",justifyContent:"space-between",width:"100%",height:40,paddingHorizontal:12,paddingVertical:8,backgroundColor:"transparent",borderRadius:4},buttonTextContainer:{flex:1},buttonText:{fontSize:16},modalOverlay:{flex:1,backgroundColor:"rgba(0, 0, 0, 0.5)"},dropdownContainer:{backgroundColor:"white",borderWidth:1,borderColor:"#ddd",borderRadius:4,maxHeight:200,elevation:3,shadowColor:"#000",shadowOffset:{width:0,height:2},shadowOpacity:.1,shadowRadius:2,padding:0},dropdown:{maxHeight:200},option:{paddingVertical:12,paddingHorizontal:16,borderBottomWidth:1},optionText:{fontSize:16},placeholder:{color:"#666"},icon:{marginRight:10}});var bc={facebook:"facebook",instagram:"instagram",twitter:"twitter",youtube:"youtube",soundcloud:"soundcloud"},Je=({site:e,value:t,onChange:o,isModalVisible:n,onModalClose:r})=>{let{handle:i,error:a}=Pi.useMemo(()=>{try{return {handle:core.getHandle(e,t)}}catch(l){return {error:l?.message??"Error parsing handle"}}},[t,e]),s=Pi.useMemo(()=>i?`${e.toUpperCase()}: ${i}`:e.toUpperCase(),[e,i]);return jsxRuntime.jsxs(jsxRuntime.Fragment,{children:[jsxRuntime.jsx(reactNative.TouchableOpacity,{style:[j.iconButton,!i&&j.iconButtonInactive],onPress:()=>r(),children:jsxRuntime.jsx(reactNative.Text,{style:j.iconText,children:bc[e]})}),jsxRuntime.jsx(reactNative.Modal,{visible:n,transparent:true,animationType:"slide",onRequestClose:r,children:jsxRuntime.jsx(reactNative.View,{style:j.modalContainer,children:jsxRuntime.jsxs(reactNative.View,{style:j.modalContent,children:[jsxRuntime.jsx(reactNative.Text,{style:j.modalTitle,children:s}),a&&jsxRuntime.jsx(reactNative.Text,{style:j.errorText,children:a}),jsxRuntime.jsx(reactNative.TextInput,{style:j.modalInput,onChangeText:o,placeholder:"Handle or URL",value:t,autoCapitalize:"none",autoCorrect:false}),jsxRuntime.jsx(reactNative.TouchableOpacity,{style:j.closeButton,onPress:r,children:jsxRuntime.jsx(reactNative.Text,{style:j.closeButtonText,children:"Close"})})]})})})]})},Ir=Pi.forwardRef((e,t)=>{let{input:{value:o,onChange:n},field:{sites:r}}=e,[i,a]=Pi.useState(null),s=Pi.useCallback((l,u)=>{let{[l]:p,...d}=o??{};!u&&Object.keys(d).length===0&&n({target:{value:void 0}}),u||n(d),n({...d,[l]:u});},[n,o]);return Pi.useImperativeHandle(t,()=>({blur:()=>{},focus:()=>{}})),jsxRuntime.jsxs(reactNative.View,{style:j.container,children:[jsxRuntime.jsx(reactNative.Text,{style:j.title,children:"Links"}),jsxRuntime.jsxs(reactNative.View,{style:j.iconsContainer,children:[(!r||r.facebook)&&jsxRuntime.jsx(Je,{onChange:l=>s("facebook",l),site:"facebook",value:o?.facebook,isModalVisible:i==="facebook",onModalClose:()=>a(null)}),(!r||r.instagram)&&jsxRuntime.jsx(Je,{onChange:l=>s("instagram",l),site:"instagram",value:o?.instagram,isModalVisible:i==="instagram",onModalClose:()=>a(null)}),(!r||r.twitter)&&jsxRuntime.jsx(Je,{onChange:l=>s("twitter",l),site:"twitter",value:o?.twitter,isModalVisible:i==="twitter",onModalClose:()=>a(null)}),(!r||r.youtube)&&jsxRuntime.jsx(Je,{onChange:l=>s("youtube",l),site:"youtube",value:o?.youtube,isModalVisible:i==="youtube",onModalClose:()=>a(null)}),(!r||r.soundcloud)&&jsxRuntime.jsx(Je,{onChange:l=>s("soundcloud",l),site:"soundcloud",value:o?.soundcloud,isModalVisible:i==="soundcloud",onModalClose:()=>a(null)})]})]})}),j=reactNative.StyleSheet.create({container:{flex:1,padding:8},title:{fontSize:16,fontWeight:"bold",marginBottom:8,color:"#1A202C"},iconsContainer:{flexDirection:"row",flexWrap:"wrap",gap:8},iconButton:{width:34,height:34,borderRadius:17,backgroundColor:"#EDF2F7",justifyContent:"center",alignItems:"center"},iconButtonInactive:{opacity:.6},iconText:{fontSize:12,color:"#1A202C"},modalContainer:{flex:1,justifyContent:"center",alignItems:"center",backgroundColor:"rgba(0, 0, 0, 0.5)"},modalContent:{backgroundColor:"white",borderRadius:8,padding:16,width:"80%",maxWidth:300},modalTitle:{fontSize:16,fontWeight:"bold",marginBottom:8,color:"#1A202C"},errorText:{color:"#E53E3E",fontSize:14,marginBottom:8,padding:4,backgroundColor:"#FFF5F5"},modalInput:{borderWidth:1,borderColor:"#E2E8F0",borderRadius:4,padding:8,marginBottom:16,fontSize:16},closeButton:{backgroundColor:"#EDF2F7",padding:8,borderRadius:4,alignItems:"center"},closeButtonText:{color:"#1A202C",fontSize:16}});var Ro=Pi.forwardRef(({input:e,field:t,inEditable:o},n)=>{let r=Pi.useRef(null),{value:i,onChange:a,...s}=e;Pi.useImperativeHandle(n,()=>({focus:()=>{r.current?.focus();},blur:()=>{r.current?.blur();}}));let l=react.usePlaceholderColor(),u=react.useTextColor();return jsxRuntime.jsx(reactNative.TextInput,{ref:r,style:[Pr.textarea,o&&Pr.inEditable,{color:u}],placeholder:t.placeholder,placeholderTextColor:l,multiline:true,maxLength:200,textAlignVertical:"top",value:i??"",onChangeText:a,...s})});Ro.displayName="TextAreaComponent";var Pr=reactNative.StyleSheet.create({textarea:{width:"100%",minHeight:80,paddingHorizontal:12,paddingVertical:8,backgroundColor:"transparent",textAlignVertical:"top"},inEditable:{paddingHorizontal:0,paddingVertical:0}});var vo=Pi.forwardRef(({input:e,inEditable:t,meta:o,field:n},r)=>{let{placeholder:i,type:a}=n,[s,l]=Pi.useState(a==="password"),{value:u,onChange:p,...d}=e,c=Pi.useRef(null);Pi.useImperativeHandle(r,()=>({focus:()=>{c.current?.focus();},blur:()=>{c.current?.blur();}}));let f=react.usePlaceholderColor(),h=react.useTextColor(),m=a==="textarea"?jsxRuntime.jsx(Ro,{inEditable:t,field:n,input:e,meta:o}):jsxRuntime.jsx(reactNative.TextInput,{ref:c,style:[qe.input,t&&qe.inEditable,a==="password"&&qe.passwordInput,{color:h}],secureTextEntry:s,placeholderTextColor:f,placeholder:i,value:u??"",onChangeText:p,...d});return a==="password"?jsxRuntime.jsxs(reactNative.View,{style:qe.passwordContainer,children:[m,jsxRuntime.jsx(reactNative.TouchableOpacity,{style:qe.eyeIcon,onPress:()=>l(!s),children:jsxRuntime.jsx(vectorIcons.Ionicons,{name:s?"eye":"eye-off",size:20,color:"#666"})})]}):m});vo.displayName="TextComponent";var qe=reactNative.StyleSheet.create({input:{width:"100%",height:40,paddingHorizontal:12,paddingVertical:8},inEditable:{paddingHorizontal:0,paddingVertical:0,height:"auto"},passwordInput:{paddingRight:40},passwordContainer:{width:"100%",flexDirection:"row",alignItems:"center",position:"relative"},eyeIcon:{position:"absolute",right:12,padding:4}});var Oo=Pi.forwardRef(({input:{onChange:e,value:t,onFocus:o,onBlur:n},field:{placeholder:r,optional:i}},a)=>{let[s,l]=Pi.useState(false);Pi.useImperativeHandle(a,()=>({focus:()=>{l(true),o();},blur:()=>{l(false),n();}}));let u=({hours:g,minutes:y})=>{l(false);let b=`${core.padZeros(g)}:${core.padZeros(y)}`;e(b),n();},p=()=>{l(false),n();},d=Pi.useMemo(()=>{if(!t)return null;let[g,y]=t.split(":").map(Number),b=g>=12?"PM":"AM";return `${g%12===0?12:g%12}:${core.padZeros(y)} ${b}`},[t]),{hours:c,minutes:f}=Pi.useMemo(()=>{if(!t)return {hours:0,minutes:0};let[g,y]=t.split(":").map(Number);return {hours:g,minutes:y}},[t]),h=react.useIconColor(),m=Oe(t);return jsxRuntime.jsxs(reactNative.View,{style:Bt.container,children:[jsxRuntime.jsxs(reactNative.TouchableOpacity,{style:Bt.button,onPress:()=>{l(true),o();},children:[jsxRuntime.jsx(reactNative.Text,{style:[Bt.text,{color:m}],children:d??r}),jsxRuntime.jsx(vectorIcons.Ionicons,{name:"time",size:20,color:h,style:Bt.icon}),i&&t?jsxRuntime.jsx(Ae,{onPress:()=>e(null),isActive:!!t}):null]}),jsxRuntime.jsx(reactNativePaper.Portal,{children:jsxRuntime.jsx(reactNativePaperDates.TimePickerModal,{visible:s,onDismiss:p,onConfirm:u,hours:c,minutes:f})})]})});Oo.displayName="TimeInput";var Bt=reactNative.StyleSheet.create({container:{width:"100%"},button:{flexDirection:"row",alignItems:"center",justifyContent:"space-between",width:"100%",height:40,paddingHorizontal:12,paddingVertical:8},text:{fontSize:16,flex:1},icon:{marginRight:10}});var id={text:vo,file:So,boolean:er,select:Vr,multipleSelect:yr,currency:Cr,number:Io,date:go,datetime:wo,time:Oo,socialMedia:Ir,color:ar},ad=(e,t)=>{let{field:o,meta:{error:n,active:r,touched:i},input:a,inEditable:s}=e,{value:l}=a,u=react.usePlaceholderColor(),p=react.useThemeValue("colors.accent.400"),d=react.useThemeValue("colors.error.400"),c=Pi.useMemo(()=>new reactNative.Animated.Value(0),[]),f=Pi.useMemo(()=>n&&i?n:null,[n,i]),h=Pi.useMemo(()=>f?d:p,[f,p,d]);Pi.useEffect(()=>{reactNative.Animated.timing(c,{toValue:r||f?1:0,duration:300,useNativeDriver:false}).start();},[r,f,c]);let m=c.interpolate({inputRange:[0,1],outputRange:[u,h]}),{_type:g,label:y}=o,b=Pi.useMemo(()=>g==="multipleSelect"||!!l&&g!=="file"&&g!=="boolean",[l,g]),T=react.useBackgroundColor(150),C=Pi.useMemo(()=>{if(s)return {};switch(g){case "text":case "number":case "currency":case "select":case "datetime":case "date":case "time":return {shadowColor:m,shadowOffset:{width:0,height:0},shadowOpacity:1,shadowRadius:4,elevation:5,backgroundColor:T};default:return {}}},[g,m,s,T]),D=Pi.useMemo(()=>id[g],[g]);return jsxRuntime.jsxs(reactNative.View,{style:[Qe.container],children:[y&&!s?jsxRuntime.jsx(reactNative.Text,{style:Qe.label,children:y}):null,jsxRuntime.jsx(co,{style:Qe.placeholder,show:b,color:u,height:16,marginBottom:6,children:o.placeholder??""}),jsxRuntime.jsx(reactNative.Animated.View,{style:[Qe.inputContainer,C],children:jsxRuntime.jsx(D,{ref:t,...e})}),!s&&jsxRuntime.jsx(co,{style:Qe.errorText,show:!!f,color:d,height:18,marginBottom:0,children:f})]})},Qe=reactNative.StyleSheet.create({container:{position:"relative",width:"100%",paddingHorizontal:4},label:{color:"#1A202C",fontSize:14,paddingHorizontal:8},inputContainer:{width:"100%",borderRadius:4,paddingVertical:1,overflow:"hidden"},errorText:{fontSize:14,paddingHorizontal:4,fontWeight:500},placeholder:{fontSize:14,paddingHorizontal:4,overflow:"hidden"}}),Mt=Pi.forwardRef(ad);var md=({field:e,name:t},o)=>{let{control:n,getOnChange:r,meta:i,onFocus:a,onBlur:s}=react.useField(t,e),l=Pi.useMemo(()=>e.validate??core.getFieldValidate(e),[e]);return jsxRuntime.jsx(reactHookForm.Controller,{control:n,rules:{validate:l},name:t,render:({field:{name:u,ref:p,onBlur:d,...c}})=>jsxRuntime.jsx(Mt,{ref:o,field:e,input:{...c,onFocus:a,onBlur:()=>{s(),d();},onChange:r(c.onChange)},meta:i})})},kr=Pi.forwardRef(md);var et=reactNative.StyleSheet.create({container:{width:"100%",flexDirection:"column"},progressContainer:{paddingHorizontal:8,height:26,width:"100%",justifyContent:"center",alignItems:"center"},progressBar:{height:"100%",width:"100%",borderRadius:13,backgroundColor:"rgba(0, 0, 0, 0.1)",overflow:"hidden"},progressFill:{height:"100%",backgroundColor:"#3182CE"},label:{position:"absolute",color:"white",fontSize:12,fontWeight:"500",textTransform:"uppercase",textShadowColor:"rgba(0, 0, 0, 0.67)",textShadowOffset:{width:1,height:1},textShadowRadius:3}}),zt=({uploads:e})=>{let t=Pi.useMemo(()=>Object.values(e),[e]);return jsxRuntime.jsx(reactNative.View,{style:et.container,children:t.map(o=>jsxRuntime.jsxs(reactNative.Animated.View,{style:et.progressContainer,children:[jsxRuntime.jsx(reactNative.View,{style:et.progressBar,children:jsxRuntime.jsx(reactNative.Animated.View,{style:[et.progressFill,{width:`${o.percent*100}%`}]})}),jsxRuntime.jsx(reactNative.Text,{style:et.label,children:o.label})]},o.label))})};var Eo="#ffffff",re=reactNative.StyleSheet.create({container:{width:"100%"},progressContainer:{height:5,width:"100%"},footerContainer:{flexDirection:"column",paddingVertical:8,gap:5,borderTopWidth:1,paddingHorizontal:12,width:"100%"},buttonsContainer:{flexDirection:"row",justifyContent:"space-between",gap:10},cancelButton:{flex:1,paddingVertical:6,borderRadius:4,borderWidth:1},cancelButtonText:{color:Eo,fontSize:16,fontWeight:"500",textAlign:"center"},submitButtonContainer:{flex:1,borderRadius:4},submitButton:{paddingVertical:6},submitButtonText:{color:Eo,fontSize:16,fontWeight:"500",textShadowOffset:{width:.5,height:.5},textShadowRadius:5,textAlign:"center"},errorText:{color:"red",fontSize:16,paddingVertical:4}}),Pd=({onBack:e,children:t,submitting:o})=>{let n=react.usePlaceholderColor(),r=react.useBorderColor();return jsxRuntime.jsx(reactNative.TouchableOpacity,{disabled:o,style:[re.cancelButton,{borderColor:r}],onPress:e,children:jsxRuntime.jsx(reactNative.Text,{style:[re.cancelButtonText,{color:n}],children:t})})},Rd=({onSubmitClick:e,submitting:t,children:o,valid:n})=>{let r=Pi.useRef(new reactNative.Animated.Value(1)).current,i=Pi.useMemo(()=>t||!n?"rgba(0, 0, 0, 0.0)":"rgba(0, 0, 0, 0.5)",[t,n]);Pi.useEffect(()=>{reactNative.Animated.timing(r,{toValue:t||!n?.5:1,duration:200,useNativeDriver:true}).start();},[t,n,r]);let a=react.useButtonColor();return jsxRuntime.jsx(reactNative.Animated.View,{style:[re.submitButtonContainer,{opacity:r,backgroundColor:a}],children:jsxRuntime.jsx(reactNative.TouchableOpacity,{style:re.submitButton,onPress:()=>{e();},disabled:t,children:t?jsxRuntime.jsx(reactNative.ActivityIndicator,{color:Eo}):jsxRuntime.jsx(reactNative.Text,{style:[re.submitButtonText,{textShadowColor:i}],children:o})})})},vd=()=>{let{formState:e}=reactHookForm.useFormContext();return e.errors.root?jsxRuntime.jsx(reactNative.Text,{style:re.errorText,children:e.errors.root.message}):null},zr=({renderFooter:e,...t})=>{let{uploads:o,onSubmit:n,onBack:r,buttonText:i}=t,a=react.useBorderColor(),{isSubmitting:s,isValid:l}=reactHookForm.useFormState();return jsxRuntime.jsxs(reactNative.View,{style:re.container,children:[jsxRuntime.jsx(zt,{uploads:o}),e?e(t):jsxRuntime.jsxs(reactNative.View,{style:[re.footerContainer,{borderColor:a}],children:[jsxRuntime.jsx(vd,{}),jsxRuntime.jsxs(reactNative.View,{style:re.buttonsContainer,children:[r&&jsxRuntime.jsx(Pd,{submitting:s,onBack:r,children:"Cancel"}),jsxRuntime.jsx(Rd,{onSubmitClick:n,submitting:s,valid:l,children:i})]})]})]})};var tt=reactNative.StyleSheet.create({container:{flexDirection:"column"},rowContainer:{flexDirection:"row"},label:{paddingRight:8,opacity:.7,fontWeight:"600"},emptyText:{opacity:.7},fileContainer:{padding:4}}),Nr=({field:e,value:t,noLabel:o,style:n})=>{let{imageOptions:r,placeholder:i}=e,a=Pi.useMemo(()=>({height:150,...r}),[r]);return jsxRuntime.jsxs(reactNative.View,{style:[t?tt.container:tt.rowContainer,n],children:[!o&&jsxRuntime.jsx(reactNative.Text,{style:tt.label,children:i}),t?jsxRuntime.jsx(reactNative.View,{style:tt.fileContainer,children:jsxRuntime.jsx(vt,{imageOptions:a,value:t})}):jsxRuntime.jsx(reactNative.Text,{style:tt.emptyText,children:"None"})]})};var Ht=reactNative.StyleSheet.create({container:{flexDirection:"row",flexWrap:"wrap",alignItems:"center",maxWidth:"100%"},label:{paddingRight:8,opacity:.7,fontWeight:"600"},optionContainer:{padding:2},emptyText:{opacity:.6}}),$r=({field:e,value:t,noLabel:o,style:n})=>{let{placeholder:r,renderOption:i,getOptionKey:a}=e,s=reactNative.useColorScheme()??"light";return jsxRuntime.jsxs(reactNative.View,{style:[Ht.container,n],children:[!o&&jsxRuntime.jsx(reactNative.Text,{style:Ht.label,children:r}),t?t.map(l=>jsxRuntime.jsx(reactNative.View,{style:Ht.optionContainer,children:i(l,s,true)},a?a(l):l)):jsxRuntime.jsx(reactNative.Text,{style:Ht.emptyText,children:"None"})]})};var jr=reactNative.StyleSheet.create({container:{flexDirection:"row",alignItems:"center"},label:{paddingRight:10,fontWeight:"600"}}),Wd=e=>jsxRuntime.jsx(Y,{children:typeof e=="string"?e:JSON.stringify(e)}),Gr=({field:e,value:t,noLabel:o,style:n})=>{let{placeholder:r,renderOption:i}=e,a=reactNative.useColorScheme()??"light",s=react.usePlaceholderColor(),l=i??Wd;return jsxRuntime.jsxs(reactNative.View,{style:[jr.container,n],children:[!o&&jsxRuntime.jsx(reactNative.Text,{style:[jr.label,{color:s}],children:r}),t?l(t,a,true):"None"]})};var Nt=reactNative.StyleSheet.create({container:{flexDirection:"row",alignItems:"center"},label:{paddingRight:8,opacity:.7,fontWeight:"600"},value:{opacity:1},valueEmpty:{opacity:.6}}),_d=({field:e,value:t,noLabel:o,style:n})=>{let{placeholder:r}=e,i=Pi.useMemo(()=>{let a=core.formatField[e._type];return a?a(e,t):t},[t,e]);return jsxRuntime.jsxs(reactNative.View,{style:[Nt.container,n],children:[!o&&jsxRuntime.jsx(reactNative.Text,{style:Nt.label,children:r}),jsxRuntime.jsx(reactNative.Text,{style:t!=null?Nt.value:Nt.valueEmpty,children:i??"None"})]})},Wt=({field:e,value:t,noLabel:o,style:n})=>{switch(e._type){case "select":return jsxRuntime.jsx(Gr,{style:n,field:e,value:t,noLabel:o});case "multipleSelect":return jsxRuntime.jsx($r,{style:n,field:e,value:t,noLabel:o});case "file":return jsxRuntime.jsx(Nr,{style:n,field:e,value:t,noLabel:o});default:return jsxRuntime.jsx(_d,{style:n,field:e,value:t,noLabel:o})}};var Xd=({onChange:e,value:t,field:o,onBlur:n,inEditable:r,onFocus:i,style:a},s)=>{let{inputProps:l,meta:u}=react.useStandaloneInput(o,t,e,i,n);return jsxRuntime.jsx(Mt,{ref:s,field:o,inEditable:r,style:a,input:l,meta:u})},Jr=Pi.forwardRef(Xd);var Qr=({value:e,field:t,onSubmit:o,storagePath:n,style:r,onEditClose:i,onEditOpen:a})=>{let{formattedValue:s,inputRef:l,setValue:u,isLoading:p,uploads:d,editHovered:c,handleEditOpen:f,handleEditClose:h,isEditing:m,value:g,setEditHovered:y,submitValue:b,submit:T,parse:C}=react.useEditable({value:e,field:t,onSubmit:o,storagePath:n,onEditOpen:a,onEditClose:i}),D=Pi.useMemo(()=>t._type==="file"||t._type==="boolean",[t]);Pi.useEffect(()=>{m&&l.current?.focus();},[m,l]);let B=react.useColorModeValue("#00000055","#ffffff55");return jsxRuntime.jsxs(reactNative.View,{style:[be.container,{borderColor:c&&!m?B:"transparent"},r],children:[jsxRuntime.jsxs(reactNative.View,{style:be.contentContainer,children:[jsxRuntime.jsx(reactNative.View,{style:[be.inputContainer,{opacity:p?0:1,borderColor:m?B:"transparent"}],children:m||D?jsxRuntime.jsx(Jr,{ref:l,value:s,inEditable:true,field:t,style:[be.input,r],onChange:D?I=>b(C(I)):I=>u(C(I))}):jsxRuntime.jsx(Wt,{style:r,field:t,value:g})}),!D&&jsxRuntime.jsxs(jsxRuntime.Fragment,{children:[jsxRuntime.jsx(reactNative.TouchableOpacity,{style:be.editButton,onPress:()=>{m?(u(g),h()):f();},onPressIn:()=>y(true),onPressOut:()=>y(false),children:jsxRuntime.jsx(vectorIcons.Ionicons,{name:m?"close":"create-outline",size:20,color:core.palette.gray.medium})}),jsxRuntime.jsx(reactNative.View,{style:[be.submitButtonContainer,{width:m?30:0,opacity:m?1:0}],children:jsxRuntime.jsx(reactNative.TouchableOpacity,{style:[be.submitButton,{backgroundColor:core.palette.cyan.light}],onPress:()=>{T();},children:jsxRuntime.jsx(vectorIcons.Ionicons,{name:"checkmark",size:20,color:"#fff"})})})]}),jsxRuntime.jsx(ft,{isLoading:p})]}),jsxRuntime.jsx(zt,{uploads:d})]})},be=reactNative.StyleSheet.create({container:{borderRadius:4,borderWidth:1,borderStyle:"dashed",width:"100%"},contentContainer:{flexDirection:"row",alignItems:"center",paddingHorizontal:4,position:"relative",width:"100%"},inputContainer:{flex:1,minWidth:0,borderWidth:1,borderStyle:"dashed"},input:{padding:0},editButton:{padding:4,marginLeft:4},submitButtonContainer:{justifyContent:"flex-end",overflow:"hidden"},submitButton:{padding:4,borderRadius:4}});var R=reactNative.StyleSheet.create({container:{width:"100%"},listContainer:{width:"100%",paddingHorizontal:8,paddingVertical:4,gap:8},listHeader:{fontSize:14,opacity:.7,lineHeight:1},listContent:{gap:8,paddingVertical:4,minHeight:30},listItem:{paddingTop:8,paddingHorizontal:8,borderWidth:1,borderColor:"#e2e8f0",borderRadius:4},listItemContent:{flexDirection:"row",alignItems:"center",gap:4,width:"100%"},listItemInput:{flex:1,minWidth:0},emptyListText:{fontSize:14,opacity:.7,paddingVertical:4,paddingHorizontal:8},newButton:{alignSelf:"flex-start",paddingVertical:4,paddingHorizontal:8,borderRadius:4},newButtonText:{fontSize:14,color:"#4a5568"},formElementContainer:{width:"100%",gap:5},dataViewHeader:{flexDirection:"row",alignItems:"center",paddingHorizontal:8,width:"100%"},dataViewTitle:{fontSize:18,fontFamily:"System",paddingVertical:8},dataViewActions:{flexDirection:"row",alignItems:"center",gap:8,marginLeft:"auto"},dataViewContent:{paddingHorizontal:16,paddingVertical:8}}),fu=({field:e,name:t})=>{let o=Pi.useMemo(()=>core.isField(e.itemField)?"":core.isListField(e.itemField)?[]:{},[e]),n=react.useButtonColor(),{control:r}=reactHookForm.useFormContext(),{fields:i,append:a,remove:s}=reactHookForm.useFieldArray({control:r,name:t});return jsxRuntime.jsxs(reactNative.View,{style:R.listContainer,children:[jsxRuntime.jsx(reactNative.Text,{style:R.listHeader,children:e.placeholder}),jsxRuntime.jsx(reactNative.View,{style:R.listContent,children:i.length?i.map((l,u)=>jsxRuntime.jsx(reactNative.View,{style:R.listItem,children:jsxRuntime.jsxs(reactNative.View,{style:R.listItemContent,children:[jsxRuntime.jsx(reactNative.View,{style:R.listItemInput,children:jsxRuntime.jsx(Wo,{name:l.id,field:e.itemField})}),jsxRuntime.jsx(Qt,{onDelete:()=>s(u),itemName:`${e.placeholder} ${u+1}`})]})},l.id)):jsxRuntime.jsx(reactNative.Text,{style:R.emptyListText,children:"No items"})}),jsxRuntime.jsx(reactNative.TouchableOpacity,{style:[R.newButton,{backgroundColor:n}],onPress:()=>a(o),children:jsxRuntime.jsx(reactNative.Text,{style:R.newButtonText,children:"+ NEW"})})]})},Wo=({field:e,name:t})=>{let o=Pi.useMemo(()=>core.isField(e)||core.isListField(e)?[{name:"value",field:e}]:Object.entries(e.children).map(([n,r])=>({name:`${t?`${t}.`:""}${n}`,field:r})),[e,t]);return jsxRuntime.jsx(reactNative.View,{style:R.formElementContainer,children:o.map(n=>{if(core.isListField(n.field)){let i=jsxRuntime.jsx(fu,{name:n.name,field:n.field},n.name);return n.field.condition?jsxRuntime.jsx(xt,{path:t,condition:n.field.condition,children:i},n.name):i}if(core.isField(n.field)){let i=jsxRuntime.jsx(kr,{name:n.name,field:n.field},n.name);return n.field.condition?jsxRuntime.jsx(xt,{path:t,condition:n.field.condition,children:i},n.name):i}let r=jsxRuntime.jsx(Wo,{name:n.name,field:n.field},n.name);return n.field.condition?jsxRuntime.jsx(xt,{path:t,condition:n.field.condition,children:r},n.name):r})})},gu=({field:e,value:t,path:o})=>{let{itemField:n,placeholder:r}=e;return jsxRuntime.jsx(reactNative.View,{style:R.listContainer,children:jsxRuntime.jsx(_t,{header:()=>jsxRuntime.jsx(reactNative.Text,{style:R.listHeader,children:r}),initExpanded:true,children:jsxRuntime.jsx(reactNative.View,{style:R.listContent,children:t?.length?t.map((i,a)=>jsxRuntime.jsx(reactNative.View,{style:R.listItem,children:jsxRuntime.jsx(Zr,{path:`${o}.${a}`,field:{...n,placeholder:`${r} ${a+1}`},value:i})},`${o}.${a}`)):jsxRuntime.jsx(reactNative.Text,{style:R.emptyListText,children:"No items"})})})})},Zr=({field:e,value:t,path:o,storagePath:n})=>{let{updateField:r}=react.useDataView();return core.isField(e)?r?jsxRuntime.jsx(Qr,{storagePath:n,field:e,value:t,onSubmit:i=>r(o,i)}):jsxRuntime.jsx(Wt,{field:e,value:t}):core.isListField(e)?jsxRuntime.jsx(gu,{path:o,field:e,value:t}):jsxRuntime.jsx(hu,{storagePath:n?`${n}.${o}`:void 0,path:o,field:e})},hu=({field:e,value:t,onClose:o,onDelete:n,onSubmit:r,itemName:i,storagePath:a,path:s=""})=>{let{name:l,children:u}=e,[p,d]=Pi.useState(false);return jsxRuntime.jsx(react.DataViewProvider,{value:t,onSubmit:r,children:jsxRuntime.jsx(_t,{alwaysExpanded:true,header:()=>jsxRuntime.jsxs(reactNative.View,{style:R.dataViewHeader,children:[jsxRuntime.jsx(reactNative.Text,{style:R.dataViewTitle,children:l}),jsxRuntime.jsxs(reactNative.View,{style:R.dataViewActions,children:[n&&jsxRuntime.jsx(Qt,{onDelete:n,itemName:i??"item"}),r&&jsxRuntime.jsx(reactNative.TouchableOpacity,{onPress:()=>d(true),children:jsxRuntime.jsx(reactNative.Text,{children:"Edit"})}),o&&jsxRuntime.jsx(reactNative.TouchableOpacity,{onPress:o,children:jsxRuntime.jsx(reactNative.Text,{children:"Close"})})]})]}),children:p&&r?jsxRuntime.jsx(wu,{storagePath:a,field:e,value:t,onSubmit:r,onBack:()=>d(false)}):jsxRuntime.jsx(reactNative.View,{style:R.dataViewContent,children:Object.entries(u).map(([c,f])=>jsxRuntime.jsx(Zr,{storagePath:a?`${a}/${c}`:void 0,path:s?`${s}.${c}`:c,field:f,value:t?.[c]},c))})})})},ei=({onSubmit:e,onBack:t,field:o,value:n,buttonText:r="SUBMIT",renderFooter:i,storagePath:a})=>{let s=Pi.useMemo(()=>({field:o,value:n,submit:e,storagePath:a}),[o,n,e,a]),{onSubmit:l,uploads:u}=react.useFormSubmit(s);return jsxRuntime.jsxs(reactNative.View,{style:R.container,children:[jsxRuntime.jsx(Wo,{name:"",field:o}),jsxRuntime.jsx(zr,{uploads:u,onSubmit:l,renderFooter:i,onBack:t,buttonText:r})]})},yu=({onSubmit:e,field:t,value:o,...n})=>{let r=Pi.useMemo(()=>({children:{value:t}}),[t]);return jsxRuntime.jsx(ei,{field:r,value:{value:o},onSubmit:i=>e(i?.value),...n})},wu=({field:e,...t})=>{let o=core.isField(e)||core.isListField(e)?jsxRuntime.jsx(yu,{field:e,...t}):jsxRuntime.jsx(ei,{field:e,...t});return jsxRuntime.jsx(react.ChempoFormProvider,{children:o})};var Iu=()=>{let{colorMode:e,toggleColorMode:t}=react.useTheme(),o=e==="dark",n=react.useIconColor(),r=o?"moon":"sunny",i=react.useBackgroundColor(100);return jsxRuntime.jsx(reactNative.TouchableOpacity,{onPress:t,style:[ti.button,{backgroundColor:i}],children:jsxRuntime.jsx(vectorIcons.Ionicons,{name:r,size:16,color:n})})},lb=()=>jsxRuntime.jsx(reactNative.View,{style:ti.container,children:jsxRuntime.jsx(Iu,{})}),ti=reactNative.StyleSheet.create({container:{position:"absolute",bottom:12,right:12},button:{width:25,height:25,borderRadius:16,justifyContent:"center",alignItems:"center"}});var ri={closeMessage:()=>reactNativeNotifier.Notifier.hideNotification(),showMessage:({title:e,type:t,duration:o,message:n})=>{let r=t==="info"?reactNativeNotifier.NotifierComponents.Notification:reactNativeNotifier.NotifierComponents.Alert,i={alertType:t==="error"?"error":"success"};return reactNativeNotifier.Notifier.showNotification({title:e,description:n,duration:o,Component:r,componentProps:i}),"root"}};var ii=e=>{let{initialColorMode:t,theme:o}=e??{},[n,r]=Pi.useState(t??"light");return Pi.useMemo(()=>({colorMode:n,setColorMode:r,theme:o}),[n,r,o])};var li=()=>{let e=()=>{let{width:o,height:n}=reactNative.Dimensions.get("window");react.useScreen.setState({width:o,height:n,isMobile:true,isPortrait:o<n});};e();let t=reactNative.Dimensions.addEventListener("change",e);return ()=>{t.remove();}};reactNativePaperDates.registerTranslation("en",reactNativePaperDates.en);var Ib=({theme:e,initialColorMode:t,...o})=>{let n=Pi.useMemo(()=>({theme:e,initialColorMode:t}),[e,t]),r=ii(n);return jsxRuntime.jsx(reactNativeNotifier.NotifierWrapper,{children:jsxRuntime.jsx(react.ChempoProvider,{toast:ri,theme:r,initializeScreen:li,...o})})};exports.AbsoluteDarkModeToggle=lb;exports.AnimatedCenter=lt;exports.Center=de;exports.ChempoNativeProvider=Ib;exports.CircularProgress=Pn;exports.CollapseHorizontal=_u;exports.ContentBox=Zu;exports.DarkModeToggle=Iu;exports.DataView=hu;exports.DeleteButton=Qt;exports.DeleteConfirmAlert=Ni;exports.DropShadow=Gt;exports.Editable=Qr;exports.ExpandOnMount=Fp;exports.Expandable=_t;exports.FieldForm=yu;exports.FieldMapForm=ei;exports.FileView=vt;exports.Form=wu;exports.FormElement=Wo;exports.FullSizeContainer=kp;exports.FullSizeProvider=Dp;exports.ImageViewOverlay=kn;exports.ListFieldInput=fu;exports.Loading=no;exports.LoadingButton=tm;exports.LoadingImage=zn;exports.LoadingLogo=fe;exports.LoadingOverlay=ft;exports.LoadingSwitch=mf;exports.LottieLoadingLogo=hn;exports.MediaFeed=rg;exports.StandaloneInput=Jr;exports.Toggle=sm;exports.Txt=Y;exports.initializeScreen=li;exports.nativeToast=ri;exports.useFullSize=Bp;exports.useMediaFeed=la;exports.useThemeState=ii;//# sourceMappingURL=index.js.map
|
|
2
|
-
//# sourceMappingURL=index.js.map
|