@chem-po/react-native 0.0.48 → 0.0.49
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.map +1 -1
- package/lib/commonjs/components/box/CollapseHorizontal.js.map +1 -1
- package/lib/commonjs/components/box/ContentBox.js.map +1 -1
- package/lib/commonjs/components/box/DropShadow.js.map +1 -1
- package/lib/commonjs/components/box/ExpandOnMount.js.map +1 -1
- package/lib/commonjs/components/box/Expandable.js.map +1 -1
- package/lib/commonjs/components/box/FullSizeContainer.js.map +1 -1
- package/lib/commonjs/components/box/index.js.map +1 -1
- package/lib/commonjs/components/button/ActionButton.js +5 -3
- package/lib/commonjs/components/button/ActionButton.js.map +1 -1
- package/lib/commonjs/components/button/ButtonText.js.map +1 -1
- package/lib/commonjs/components/button/DeleteButton.js +7 -2
- package/lib/commonjs/components/button/DeleteButton.js.map +1 -1
- package/lib/commonjs/components/button/LoadingButton.js.map +1 -1
- package/lib/commonjs/components/button/Toggle.js.map +1 -1
- package/lib/commonjs/components/button/hooks.js.map +1 -1
- package/lib/commonjs/components/button/index.js.map +1 -1
- package/lib/commonjs/components/feed/FeedContentPane.js.map +1 -1
- package/lib/commonjs/components/feed/MediaFeed.js.map +1 -1
- package/lib/commonjs/components/feed/MediaFeedBackground.js.map +1 -1
- package/lib/commonjs/components/feed/MediaFeedRefresh.js.map +1 -1
- package/lib/commonjs/components/feed/constants.js.map +1 -1
- package/lib/commonjs/components/feed/context.js.map +1 -1
- package/lib/commonjs/components/feed/hooks.js.map +1 -1
- package/lib/commonjs/components/feed/index.js.map +1 -1
- package/lib/commonjs/components/form/Condition.js.map +1 -1
- package/lib/commonjs/components/form/Field.js.map +1 -1
- package/lib/commonjs/components/form/Form.js +9 -4
- package/lib/commonjs/components/form/Form.js.map +1 -1
- package/lib/commonjs/components/form/FormFooter.js.map +1 -1
- package/lib/commonjs/components/form/UploadProgress/index.js.map +1 -1
- package/lib/commonjs/components/form/index.js.map +1 -1
- package/lib/commonjs/components/form/input/Editable.js +15 -6
- package/lib/commonjs/components/form/input/Editable.js.map +1 -1
- package/lib/commonjs/components/form/input/InputSlider.js.map +1 -1
- package/lib/commonjs/components/form/input/OptionalTag.js.map +1 -1
- package/lib/commonjs/components/form/input/StandaloneInput.js.map +1 -1
- package/lib/commonjs/components/form/input/boolean/index.js +3 -2
- package/lib/commonjs/components/form/input/boolean/index.js.map +1 -1
- package/lib/commonjs/components/form/input/color/index.js.map +1 -1
- package/lib/commonjs/components/form/input/common/InputClearButton.js.map +1 -1
- package/lib/commonjs/components/form/input/date/index.js.map +1 -1
- package/lib/commonjs/components/form/input/datetime/index.js.map +1 -1
- package/lib/commonjs/components/form/input/file/index.js +3 -1
- package/lib/commonjs/components/form/input/file/index.js.map +1 -1
- package/lib/commonjs/components/form/input/hooks/index.js.map +1 -1
- package/lib/commonjs/components/form/input/hooks/useInputColor.js.map +1 -1
- package/lib/commonjs/components/form/input/hooks/useInputImperativeHandle.js.map +1 -1
- package/lib/commonjs/components/form/input/hooks/useInputStyles.js.map +1 -1
- package/lib/commonjs/components/form/input/index.js.map +1 -1
- package/lib/commonjs/components/form/input/input.js.map +1 -1
- package/lib/commonjs/components/form/input/multipleSelect/index.js.map +1 -1
- package/lib/commonjs/components/form/input/number/index.js.map +1 -1
- package/lib/commonjs/components/form/input/select/index.js.map +1 -1
- package/lib/commonjs/components/form/input/socialMedia/index.js.map +1 -1
- package/lib/commonjs/components/form/input/text/AutoResizeTextarea.js.map +1 -1
- package/lib/commonjs/components/form/input/text/index.js.map +1 -1
- package/lib/commonjs/components/form/input/text/textarea.js.map +1 -1
- package/lib/commonjs/components/form/input/text/useWebAutoResize.js.map +1 -1
- package/lib/commonjs/components/form/input/time/index.js.map +1 -1
- package/lib/commonjs/components/form/types.js.map +1 -1
- package/lib/commonjs/components/form/view/file.js.map +1 -1
- package/lib/commonjs/components/form/view/index.js.map +1 -1
- package/lib/commonjs/components/form/view/multipleSelect.js.map +1 -1
- package/lib/commonjs/components/form/view/select.js.map +1 -1
- package/lib/commonjs/components/form/view/styles.js.map +1 -1
- package/lib/commonjs/components/icons/index.js.map +1 -1
- package/lib/commonjs/components/image/ImageViewModal.js.map +1 -1
- package/lib/commonjs/components/image/index.js.map +1 -1
- package/lib/commonjs/components/index.js.map +1 -1
- package/lib/commonjs/components/layout/CollapseHorizontal.js.map +1 -1
- package/lib/commonjs/components/loading/CircularProgress.js.map +1 -1
- package/lib/commonjs/components/loading/Loading.js.map +1 -1
- package/lib/commonjs/components/loading/LoadingImage.js.map +1 -1
- package/lib/commonjs/components/loading/LoadingOverlay.js +6 -1
- package/lib/commonjs/components/loading/LoadingOverlay.js.map +1 -1
- package/lib/commonjs/components/loading/LoadingSwitch.js.map +1 -1
- package/lib/commonjs/components/loading/ProgressBar.js.map +1 -1
- package/lib/commonjs/components/loading/index.js.map +1 -1
- package/lib/commonjs/components/text/AnimatedText.js +5 -3
- package/lib/commonjs/components/text/AnimatedText.js.map +1 -1
- package/lib/commonjs/components/text/Txt.js.map +1 -1
- package/lib/commonjs/components/text/index.js.map +1 -1
- package/lib/commonjs/components/theme/colorMode/DarkModeToggle.js.map +1 -1
- package/lib/commonjs/components/theme/colorMode/index.js.map +1 -1
- package/lib/commonjs/components/theme/index.js.map +1 -1
- package/lib/commonjs/constants/index.js.map +1 -1
- package/lib/commonjs/constants/toast.js.map +1 -1
- package/lib/commonjs/contexts/fonts.js.map +1 -1
- package/lib/commonjs/contexts/index.js.map +1 -1
- package/lib/commonjs/contexts/root.js +3 -0
- package/lib/commonjs/contexts/root.js.map +1 -1
- package/lib/commonjs/hooks/index.js.map +1 -1
- package/lib/commonjs/hooks/useFadeIn.js.map +1 -1
- package/lib/commonjs/hooks/useFont.js.map +1 -1
- package/lib/commonjs/hooks/useRefreshFontScale.js +33 -0
- package/lib/commonjs/hooks/useRefreshFontScale.js.map +1 -0
- package/lib/commonjs/hooks/useThemeState.js.map +1 -1
- package/lib/commonjs/index.js.map +1 -1
- package/lib/commonjs/store/index.js +11 -0
- package/lib/commonjs/store/index.js.map +1 -1
- package/lib/commonjs/store/useFontScale.js +14 -0
- package/lib/commonjs/store/useFontScale.js.map +1 -0
- package/lib/commonjs/store/useScreen.js.map +1 -1
- package/lib/commonjs/styles/fill.js.map +1 -1
- package/lib/commonjs/types/forms.js.map +1 -1
- package/lib/commonjs/types/index.js.map +1 -1
- package/lib/commonjs/utils/downloadFile.js.map +1 -1
- package/lib/commonjs/utils/downloadFileLegacy.js.map +1 -1
- package/lib/module/components/box/Center.js.map +1 -1
- package/lib/module/components/box/CollapseHorizontal.js.map +1 -1
- package/lib/module/components/box/ContentBox.js.map +1 -1
- package/lib/module/components/box/DropShadow.js.map +1 -1
- package/lib/module/components/box/ExpandOnMount.js.map +1 -1
- package/lib/module/components/box/Expandable.js.map +1 -1
- package/lib/module/components/box/FullSizeContainer.js.map +1 -1
- package/lib/module/components/box/index.js.map +1 -1
- package/lib/module/components/button/ActionButton.js +5 -3
- package/lib/module/components/button/ActionButton.js.map +1 -1
- package/lib/module/components/button/ButtonText.js.map +1 -1
- package/lib/module/components/button/DeleteButton.js +7 -2
- package/lib/module/components/button/DeleteButton.js.map +1 -1
- package/lib/module/components/button/LoadingButton.js.map +1 -1
- package/lib/module/components/button/Toggle.js.map +1 -1
- package/lib/module/components/button/hooks.js.map +1 -1
- package/lib/module/components/button/index.js.map +1 -1
- package/lib/module/components/feed/FeedContentPane.js.map +1 -1
- package/lib/module/components/feed/MediaFeed.js.map +1 -1
- package/lib/module/components/feed/MediaFeedBackground.js.map +1 -1
- package/lib/module/components/feed/MediaFeedRefresh.js.map +1 -1
- package/lib/module/components/feed/constants.js.map +1 -1
- package/lib/module/components/feed/context.js.map +1 -1
- package/lib/module/components/feed/hooks.js.map +1 -1
- package/lib/module/components/feed/index.js.map +1 -1
- package/lib/module/components/form/Condition.js.map +1 -1
- package/lib/module/components/form/Field.js.map +1 -1
- package/lib/module/components/form/Form.js +9 -4
- package/lib/module/components/form/Form.js.map +1 -1
- package/lib/module/components/form/FormFooter.js.map +1 -1
- package/lib/module/components/form/UploadProgress/index.js.map +1 -1
- package/lib/module/components/form/index.js.map +1 -1
- package/lib/module/components/form/input/Editable.js +15 -6
- package/lib/module/components/form/input/Editable.js.map +1 -1
- package/lib/module/components/form/input/InputSlider.js.map +1 -1
- package/lib/module/components/form/input/OptionalTag.js.map +1 -1
- package/lib/module/components/form/input/StandaloneInput.js.map +1 -1
- package/lib/module/components/form/input/boolean/index.js +4 -3
- package/lib/module/components/form/input/boolean/index.js.map +1 -1
- package/lib/module/components/form/input/color/index.js.map +1 -1
- package/lib/module/components/form/input/common/InputClearButton.js.map +1 -1
- package/lib/module/components/form/input/date/index.js.map +1 -1
- package/lib/module/components/form/input/datetime/index.js.map +1 -1
- package/lib/module/components/form/input/file/index.js +3 -1
- package/lib/module/components/form/input/file/index.js.map +1 -1
- package/lib/module/components/form/input/hooks/index.js.map +1 -1
- package/lib/module/components/form/input/hooks/useInputColor.js.map +1 -1
- package/lib/module/components/form/input/hooks/useInputImperativeHandle.js.map +1 -1
- package/lib/module/components/form/input/hooks/useInputStyles.js.map +1 -1
- package/lib/module/components/form/input/index.js.map +1 -1
- package/lib/module/components/form/input/input.js.map +1 -1
- package/lib/module/components/form/input/multipleSelect/index.js.map +1 -1
- package/lib/module/components/form/input/number/index.js.map +1 -1
- package/lib/module/components/form/input/select/index.js.map +1 -1
- package/lib/module/components/form/input/socialMedia/index.js.map +1 -1
- package/lib/module/components/form/input/text/AutoResizeTextarea.js.map +1 -1
- package/lib/module/components/form/input/text/index.js.map +1 -1
- package/lib/module/components/form/input/text/textarea.js.map +1 -1
- package/lib/module/components/form/input/text/useWebAutoResize.js.map +1 -1
- package/lib/module/components/form/input/time/index.js.map +1 -1
- package/lib/module/components/form/types.js.map +1 -1
- package/lib/module/components/form/view/file.js.map +1 -1
- package/lib/module/components/form/view/index.js.map +1 -1
- package/lib/module/components/form/view/multipleSelect.js.map +1 -1
- package/lib/module/components/form/view/select.js.map +1 -1
- package/lib/module/components/form/view/styles.js.map +1 -1
- package/lib/module/components/icons/index.js.map +1 -1
- package/lib/module/components/image/ImageViewModal.js.map +1 -1
- package/lib/module/components/image/index.js.map +1 -1
- package/lib/module/components/index.js.map +1 -1
- package/lib/module/components/layout/CollapseHorizontal.js.map +1 -1
- package/lib/module/components/loading/CircularProgress.js.map +1 -1
- package/lib/module/components/loading/Loading.js.map +1 -1
- package/lib/module/components/loading/LoadingImage.js.map +1 -1
- package/lib/module/components/loading/LoadingOverlay.js +6 -1
- package/lib/module/components/loading/LoadingOverlay.js.map +1 -1
- package/lib/module/components/loading/LoadingSwitch.js.map +1 -1
- package/lib/module/components/loading/ProgressBar.js.map +1 -1
- package/lib/module/components/loading/index.js.map +1 -1
- package/lib/module/components/text/AnimatedText.js +5 -3
- package/lib/module/components/text/AnimatedText.js.map +1 -1
- package/lib/module/components/text/Txt.js.map +1 -1
- package/lib/module/components/text/index.js.map +1 -1
- package/lib/module/components/theme/colorMode/DarkModeToggle.js.map +1 -1
- package/lib/module/components/theme/colorMode/index.js.map +1 -1
- package/lib/module/components/theme/index.js.map +1 -1
- package/lib/module/constants/index.js.map +1 -1
- package/lib/module/constants/toast.js.map +1 -1
- package/lib/module/contexts/fonts.js.map +1 -1
- package/lib/module/contexts/index.js.map +1 -1
- package/lib/module/contexts/root.js +3 -0
- package/lib/module/contexts/root.js.map +1 -1
- package/lib/module/hooks/index.js.map +1 -1
- package/lib/module/hooks/useFadeIn.js.map +1 -1
- package/lib/module/hooks/useFont.js.map +1 -1
- package/lib/module/hooks/useRefreshFontScale.js +28 -0
- package/lib/module/hooks/useRefreshFontScale.js.map +1 -0
- package/lib/module/hooks/useThemeState.js.map +1 -1
- package/lib/module/index.js.map +1 -1
- package/lib/module/store/index.js +1 -0
- package/lib/module/store/index.js.map +1 -1
- package/lib/module/store/useFontScale.js +9 -0
- package/lib/module/store/useFontScale.js.map +1 -0
- package/lib/module/store/useScreen.js.map +1 -1
- package/lib/module/styles/fill.js.map +1 -1
- package/lib/module/types/forms.js.map +1 -1
- package/lib/module/types/index.js.map +1 -1
- package/lib/module/utils/downloadFile.js.map +1 -1
- package/lib/module/utils/downloadFileLegacy.js.map +1 -1
- package/lib/typescript/components/button/ActionButton.d.ts.map +1 -1
- package/lib/typescript/components/button/DeleteButton.d.ts.map +1 -1
- package/lib/typescript/components/form/Form.d.ts.map +1 -1
- package/lib/typescript/components/form/input/Editable.d.ts.map +1 -1
- package/lib/typescript/components/form/input/boolean/index.d.ts.map +1 -1
- package/lib/typescript/components/form/input/file/index.d.ts.map +1 -1
- package/lib/typescript/components/loading/LoadingOverlay.d.ts.map +1 -1
- package/lib/typescript/components/text/AnimatedText.d.ts.map +1 -1
- package/lib/typescript/contexts/root.d.ts +2 -1
- package/lib/typescript/contexts/root.d.ts.map +1 -1
- package/lib/typescript/hooks/useRefreshFontScale.d.ts +7 -0
- package/lib/typescript/hooks/useRefreshFontScale.d.ts.map +1 -0
- package/lib/typescript/store/index.d.ts +1 -0
- package/lib/typescript/store/index.d.ts.map +1 -1
- package/lib/typescript/store/useFontScale.d.ts +4 -0
- package/lib/typescript/store/useFontScale.d.ts.map +1 -0
- package/package.json +3 -3
- package/src/components/button/ActionButton.tsx +5 -3
- package/src/components/button/DeleteButton.tsx +6 -4
- package/src/components/form/Form.tsx +6 -3
- package/src/components/form/input/Editable.tsx +23 -6
- package/src/components/form/input/boolean/index.tsx +4 -3
- package/src/components/form/input/file/index.tsx +3 -1
- package/src/components/loading/LoadingOverlay.tsx +3 -2
- package/src/components/text/AnimatedText.tsx +5 -3
- package/src/contexts/root.tsx +4 -0
- package/src/hooks/useRefreshFontScale.ts +26 -0
- package/src/store/index.ts +1 -0
- package/src/store/useFontScale.ts +8 -0
|
@@ -0,0 +1,28 @@
|
|
|
1
|
+
import { useEffect } from 'react';
|
|
2
|
+
import { AppState, PixelRatio } from 'react-native';
|
|
3
|
+
import { useFontScale } from '../store/useFontScale';
|
|
4
|
+
|
|
5
|
+
/**
|
|
6
|
+
* Subscribes to app state and refreshes the global font scale when the app
|
|
7
|
+
* becomes active (cold start or returning from background). Call once near the
|
|
8
|
+
* root of the app (e.g. in _layout).
|
|
9
|
+
*/
|
|
10
|
+
export function useRefreshFontScale(disableFontScaling = false) {
|
|
11
|
+
useEffect(() => {
|
|
12
|
+
if (disableFontScaling) {
|
|
13
|
+
useFontScale.setState({
|
|
14
|
+
fontScale: 1
|
|
15
|
+
});
|
|
16
|
+
return () => {};
|
|
17
|
+
}
|
|
18
|
+
const refresh = () => useFontScale.setState({
|
|
19
|
+
fontScale: PixelRatio.getFontScale() ?? 1
|
|
20
|
+
});
|
|
21
|
+
refresh();
|
|
22
|
+
const sub = AppState.addEventListener('change', nextState => {
|
|
23
|
+
if (nextState === 'active') refresh();
|
|
24
|
+
});
|
|
25
|
+
return () => sub.remove();
|
|
26
|
+
}, [disableFontScaling]);
|
|
27
|
+
}
|
|
28
|
+
//# sourceMappingURL=useRefreshFontScale.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["useEffect","AppState","PixelRatio","useFontScale","useRefreshFontScale","disableFontScaling","setState","fontScale","refresh","getFontScale","sub","addEventListener","nextState","remove"],"sourceRoot":"../../../src","sources":["hooks/useRefreshFontScale.ts"],"mappings":"AAAA,SAASA,SAAS,QAAQ,OAAO;AACjC,SAASC,QAAQ,EAAEC,UAAU,QAAQ,cAAc;AACnD,SAASC,YAAY,QAAQ,uBAAuB;;AAEpD;AACA;AACA;AACA;AACA;AACA,OAAO,SAASC,mBAAmBA,CAACC,kBAAkB,GAAG,KAAK,EAAE;EAC9DL,SAAS,CAAC,MAAM;IACd,IAAIK,kBAAkB,EAAE;MACtBF,YAAY,CAACG,QAAQ,CAAC;QAAEC,SAAS,EAAE;MAAE,CAAC,CAAC;MACvC,OAAO,MAAM,CAAC,CAAC;IACjB;IACA,MAAMC,OAAO,GAAGA,CAAA,KAAML,YAAY,CAACG,QAAQ,CAAC;MAAEC,SAAS,EAAEL,UAAU,CAACO,YAAY,CAAC,CAAC,IAAI;IAAE,CAAC,CAAC;IAE1FD,OAAO,CAAC,CAAC;IAET,MAAME,GAAG,GAAGT,QAAQ,CAACU,gBAAgB,CAAC,QAAQ,EAAEC,SAAS,IAAI;MAC3D,IAAIA,SAAS,KAAK,QAAQ,EAAEJ,OAAO,CAAC,CAAC;IACvC,CAAC,CAAC;IAEF,OAAO,MAAME,GAAG,CAACG,MAAM,CAAC,CAAC;EAC3B,CAAC,EAAE,CAACR,kBAAkB,CAAC,CAAC;AAC1B","ignoreList":[]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["AsyncStorage","useCallback","useEffect","useMemo","useState","useThemeState","props","initialColorMode","theme","colorModeProp","initialized","setInitialized","colorMode","setColorModeState","initialize","storedColorMode","getItem","setItem","setColorMode"],"sourceRoot":"
|
|
1
|
+
{"version":3,"names":["AsyncStorage","useCallback","useEffect","useMemo","useState","useThemeState","props","initialColorMode","theme","colorModeProp","initialized","setInitialized","colorMode","setColorModeState","initialize","storedColorMode","getItem","setItem","setColorMode"],"sourceRoot":"../../../src","sources":["hooks/useThemeState.ts"],"mappings":"AAEA,OAAOA,YAAY,MAAM,2CAA2C;AACpE,SAASC,WAAW,EAAEC,SAAS,EAAEC,OAAO,EAAEC,QAAQ,QAAQ,OAAO;AASjE,OAAO,MAAMC,aAAa,GAAIC,KAAqB,IAAK;EACtD,MAAM;IAAEC,gBAAgB;IAAEC,KAAK;IAAEC,aAAa,GAAG;EAAkB,CAAC,GAAGH,KAAK,IAAI,CAAC,CAAC;EAClF,MAAM,CAACI,WAAW,EAAEC,cAAc,CAAC,GAAGP,QAAQ,CAAC,KAAK,CAAC;EAErD,MAAM,CAACQ,SAAS,EAAEC,iBAAiB,CAAC,GAAGT,QAAQ,CAAYG,gBAAgB,IAAI,OAAO,CAAC;EAEvFL,SAAS,CAAC,MAAM;IACd,IAAIQ,WAAW,EAAE;IAEjB,MAAMI,UAAU,GAAG,MAAAA,CAAA,KAAY;MAC7B,MAAMC,eAAe,GAAG,MAAMf,YAAY,CAACgB,OAAO,CAACP,aAAa,CAAC;MACjE,IAAIM,eAAe,EAAEF,iBAAiB,CAACE,eAA4B,CAAC,MAC/Df,YAAY,CAACiB,OAAO,CAACR,aAAa,EAAEF,gBAAgB,IAAI,OAAO,CAAC;MACrEI,cAAc,CAAC,IAAI,CAAC;IACtB,CAAC;IACDG,UAAU,CAAC,CAAC;EACd,CAAC,EAAE,CAACJ,WAAW,EAAED,aAAa,EAAEF,gBAAgB,CAAC,CAAC;EAElD,MAAMW,YAAY,GAAGjB,WAAW,CAC7BW,SAAoB,IAAK;IACxBC,iBAAiB,CAACD,SAAS,CAAC;IAC5BZ,YAAY,CAACiB,OAAO,CAACR,aAAa,EAAEG,SAAS,CAAC;EAChD,CAAC,EACD,CAACH,aAAa,CAChB,CAAC;EAED,OAAON,OAAO,CACZ,OAAO;IAAES,SAAS;IAAEM,YAAY;IAAEV,KAAK;IAAEC,aAAa;IAAEC;EAAY,CAAC,CAAC,EACtE,CAACE,SAAS,EAAEM,YAAY,EAAEV,KAAK,EAAEC,aAAa,EAAEC,WAAW,CAC7D,CAAC;AACH,CAAC","ignoreList":[]}
|
package/lib/module/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":[],"sourceRoot":"
|
|
1
|
+
{"version":3,"names":[],"sourceRoot":"../../src","sources":["index.ts"],"mappings":"AAAA,cAAc,cAAc;AAC5B,cAAc,aAAa;AAC3B,cAAc,YAAY;AAC1B,cAAc,SAAS;AACvB,cAAc,SAAS;AACvB,cAAc,SAAS","ignoreList":[]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":[],"sourceRoot":"
|
|
1
|
+
{"version":3,"names":[],"sourceRoot":"../../../src","sources":["store/index.ts"],"mappings":"AAAA,cAAc,gBAAgB;AAC9B,cAAc,aAAa","ignoreList":[]}
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
import { PixelRatio } from 'react-native';
|
|
2
|
+
import { create } from 'zustand';
|
|
3
|
+
|
|
4
|
+
// export const normalizeFontScale = (fontScale: number) =>
|
|
5
|
+
// fontScale > 1 ? (fontScale - 1) * 0.5 + 1 : fontScale
|
|
6
|
+
export const useFontScale = create(() => ({
|
|
7
|
+
fontScale: PixelRatio.getFontScale() ?? 1
|
|
8
|
+
}));
|
|
9
|
+
//# sourceMappingURL=useFontScale.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["PixelRatio","create","useFontScale","fontScale","getFontScale"],"sourceRoot":"../../../src","sources":["store/useFontScale.ts"],"mappings":"AAAA,SAASA,UAAU,QAAQ,cAAc;AACzC,SAASC,MAAM,QAAQ,SAAS;;AAEhC;AACA;AACA,OAAO,MAAMC,YAAY,GAAGD,MAAM,CAAwB,OAAO;EAC/DE,SAAS,EAAEH,UAAU,CAACI,YAAY,CAAC,CAAC,IAAI;AAC1C,CAAC,CAAC,CAAC","ignoreList":[]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["useScreen","Dimensions","initializeScreen","onDimensionsChange","width","height","get","setState","isMobile","isPortrait","subscription","addEventListener","remove"],"sourceRoot":"
|
|
1
|
+
{"version":3,"names":["useScreen","Dimensions","initializeScreen","onDimensionsChange","width","height","get","setState","isMobile","isPortrait","subscription","addEventListener","remove"],"sourceRoot":"../../../src","sources":["store/useScreen.ts"],"mappings":"AAAA,SAASA,SAAS,QAAQ,gBAAgB;AAC1C,SAASC,UAAU,QAAQ,cAAc;AAEzC,OAAO,MAAMC,gBAAgB,GAAGA,CAAA,KAAM;EACpC,MAAMC,kBAAkB,GAAGA,CAAA,KAAM;IAC/B,MAAM;MAAEC,KAAK;MAAEC;IAAO,CAAC,GAAGJ,UAAU,CAACK,GAAG,CAAC,QAAQ,CAAC;IAClDN,SAAS,CAACO,QAAQ,CAAC;MACjBH,KAAK;MACLC,MAAM;MACNG,QAAQ,EAAE,IAAI;MAAE;MAChBC,UAAU,EAAEL,KAAK,GAAGC;IACtB,CAAC,CAAC;EACJ,CAAC;;EAED;EACAF,kBAAkB,CAAC,CAAC;;EAEpB;EACA,MAAMO,YAAY,GAAGT,UAAU,CAACU,gBAAgB,CAAC,QAAQ,EAAER,kBAAkB,CAAC;;EAE9E;EACA,OAAO,MAAM;IACXO,YAAY,CAACE,MAAM,CAAC,CAAC;EACvB,CAAC;AACH,CAAC","ignoreList":[]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["StyleSheet","sharedProps","top","left","right","bottom","display","fill","create","absolute","position","relative"],"sourceRoot":"
|
|
1
|
+
{"version":3,"names":["StyleSheet","sharedProps","top","left","right","bottom","display","fill","create","absolute","position","relative"],"sourceRoot":"../../../src","sources":["styles/fill.ts"],"mappings":"AAAA,SAAoBA,UAAU,QAAmB,cAAc;AAE/D,MAAMC,WAAiC,GAAG;EACxCC,GAAG,EAAE,CAAC;EACNC,IAAI,EAAE,CAAC;EACPC,KAAK,EAAE,CAAC;EACRC,MAAM,EAAE,CAAC;EACTC,OAAO,EAAE;AACX,CAAC;AACD,OAAO,MAAMC,IAAI,GAAGP,UAAU,CAACQ,MAAM,CAAC;EACpCC,QAAQ,EAAE;IACR,GAAGR,WAAW;IACdS,QAAQ,EAAE;EACZ,CAAC;EACDC,QAAQ,EAAE;IACR,GAAGV,WAAW;IACdS,QAAQ,EAAE;EACZ;AACF,CAAC,CAAC","ignoreList":[]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":[],"sourceRoot":"
|
|
1
|
+
{"version":3,"names":[],"sourceRoot":"../../../src","sources":["types/forms.ts"],"mappings":"","ignoreList":[]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":[],"sourceRoot":"
|
|
1
|
+
{"version":3,"names":[],"sourceRoot":"../../../src","sources":["types/index.ts"],"mappings":"AAAA,cAAc,SAAS","ignoreList":[]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["Directory","File","Paths","StorageAccessFramework","shareAsync","Platform","downloadFile","uri","filename","fileType","OS","permissions","requestDirectoryPermissionsAsync","granted","Error","cacheDir","cache","exists","create","downloadedFile","downloadFileAsync","fileBytes","bytes","base64Content","Array","from","byte","String","fromCharCode","join","encodedContent","btoa","fileUri","createFileAsync","directoryUri","writeAsStringAsync","encoding","delete","documentsDir","document"],"sourceRoot":"
|
|
1
|
+
{"version":3,"names":["Directory","File","Paths","StorageAccessFramework","shareAsync","Platform","downloadFile","uri","filename","fileType","OS","permissions","requestDirectoryPermissionsAsync","granted","Error","cacheDir","cache","exists","create","downloadedFile","downloadFileAsync","fileBytes","bytes","base64Content","Array","from","byte","String","fromCharCode","join","encodedContent","btoa","fileUri","createFileAsync","directoryUri","writeAsStringAsync","encoding","delete","documentsDir","document"],"sourceRoot":"../../../src","sources":["utils/downloadFile.ts"],"mappings":"AAAA,SAASA,SAAS,EAAEC,IAAI,EAAEC,KAAK,QAAQ,kBAAkB;AACzD,SAASC,sBAAsB,QAAQ,yBAAyB;AAChE,SAASC,UAAU,QAAQ,cAAc;AACzC,SAASC,QAAQ,QAAQ,cAAc;AAEvC,OAAO,MAAMC,YAAY,GAAG,MAAAA,CAAOC,GAAW,EAAEC,QAAgB,EAAEC,QAAgB,KAAK;EACrF,IAAIJ,QAAQ,CAACK,EAAE,KAAK,SAAS,EAAE;IAC7B,MAAMC,WAAW,GAAG,MAAMR,sBAAsB,CAACS,gCAAgC,CAAC,CAAC;IACnF,IAAI,CAACD,WAAW,CAACE,OAAO,EAAE;MACxB,MAAM,IAAIC,KAAK,CAAC,wBAAwB,CAAC;IAC3C;;IAEA;IACA,MAAMC,QAAQ,GAAG,IAAIf,SAAS,CAACE,KAAK,CAACc,KAAK,CAAC;;IAE3C;IACA,IAAI,CAACD,QAAQ,CAACE,MAAM,EAAE;MACpBF,QAAQ,CAACG,MAAM,CAAC,CAAC;IACnB;;IAEA;IACA,MAAMC,cAAc,GAAG,MAAMlB,IAAI,CAACmB,iBAAiB,CAACb,GAAG,EAAEQ,QAAQ,CAAC;;IAElE;IACA,MAAMM,SAAS,GAAG,MAAMF,cAAc,CAACG,KAAK,CAAC,CAAC;;IAE9C;IACA,MAAMC,aAAa,GAAGC,KAAK,CAACC,IAAI,CAACJ,SAAS,EAAEK,IAAI,IAAIC,MAAM,CAACC,YAAY,CAACF,IAAI,CAAC,CAAC,CAACG,IAAI,CAAC,EAAE,CAAC;IACvF,MAAMC,cAAc,GAAGC,IAAI,CAACR,aAAa,CAAC;;IAE1C;IACA,MAAMS,OAAO,GAAG,MAAM7B,sBAAsB,CAAC8B,eAAe,CAC1DtB,WAAW,CAACuB,YAAY,EACxB1B,QAAQ,EACRC,QACF,CAAC;;IAED;IACA,MAAMN,sBAAsB,CAACgC,kBAAkB,CAACH,OAAO,EAAEF,cAAc,EAAE;MACvEM,QAAQ,EAAE;IACZ,CAAC,CAAC;;IAEF;IACAjB,cAAc,CAACkB,MAAM,CAAC,CAAC;IAEvB,OAAO;MAAE9B,GAAG,EAAEyB;IAAQ,CAAC;EACzB;;EAEA;EACA,MAAMM,YAAY,GAAG,IAAItC,SAAS,CAACE,KAAK,CAACqC,QAAQ,CAAC;;EAElD;EACA,IAAI,CAACD,YAAY,CAACrB,MAAM,EAAE;IACxBqB,YAAY,CAACpB,MAAM,CAAC,CAAC;EACvB;;EAEA;EACA,MAAMC,cAAc,GAAG,MAAMlB,IAAI,CAACmB,iBAAiB,CAACb,GAAG,EAAE+B,YAAY,CAAC;EAEtE,OAAOlC,UAAU,CAACe,cAAc,CAACZ,GAAG,CAAC;AACvC,CAAC","ignoreList":[]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["cacheDirectory","deleteAsync","documentDirectory","downloadAsync","EncodingType","readAsStringAsync","StorageAccessFramework","shareAsync","Platform","downloadFileLegacy","uri","filename","fileType","OS","permissions","requestDirectoryPermissionsAsync","granted","Error","tempFileUri","base64Content","encoding","Base64","fileUri","createFileAsync","directoryUri","writeAsStringAsync","idempotent","error","result"],"sourceRoot":"
|
|
1
|
+
{"version":3,"names":["cacheDirectory","deleteAsync","documentDirectory","downloadAsync","EncodingType","readAsStringAsync","StorageAccessFramework","shareAsync","Platform","downloadFileLegacy","uri","filename","fileType","OS","permissions","requestDirectoryPermissionsAsync","granted","Error","tempFileUri","base64Content","encoding","Base64","fileUri","createFileAsync","directoryUri","writeAsStringAsync","idempotent","error","result"],"sourceRoot":"../../../src","sources":["utils/downloadFileLegacy.ts"],"mappings":"AAAA,SACEA,cAAc,EACdC,WAAW,EACXC,iBAAiB,EACjBC,aAAa,EACbC,YAAY,EACZC,iBAAiB,EACjBC,sBAAsB,QACjB,yBAAyB;AAChC,SAASC,UAAU,QAAQ,cAAc;AACzC,SAASC,QAAQ,QAAQ,cAAc;AAEvC,OAAO,MAAMC,kBAAkB,GAAG,MAAAA,CAAOC,GAAW,EAAEC,QAAgB,EAAEC,QAAgB,KAAK;EAC3F,IAAIJ,QAAQ,CAACK,EAAE,KAAK,SAAS,EAAE;IAC7B,MAAMC,WAAW,GAAG,MAAMR,sBAAsB,CAACS,gCAAgC,CAAC,CAAC;IACnF,IAAI,CAACD,WAAW,CAACE,OAAO,EAAE;MACxB,MAAM,IAAIC,KAAK,CAAC,wBAAwB,CAAC;IAC3C;;IAEA;IACA,MAAMC,WAAW,GAAG,GAAGlB,cAAc,GAAGW,QAAQ,EAAE;IAElD,IAAI;MACF;MACA,MAAMR,aAAa,CAACO,GAAG,EAAEQ,WAAW,CAAC;;MAErC;MACA,MAAMC,aAAa,GAAG,MAAMd,iBAAiB,CAACa,WAAW,EAAE;QACzDE,QAAQ,EAAEhB,YAAY,CAACiB;MACzB,CAAC,CAAC;;MAEF;MACA,MAAMC,OAAO,GAAG,MAAMhB,sBAAsB,CAACiB,eAAe,CAC1DT,WAAW,CAACU,YAAY,EACxBb,QAAQ,EACRC,QACF,CAAC;;MAED;MACA,MAAMN,sBAAsB,CAACmB,kBAAkB,CAACH,OAAO,EAAEH,aAAa,EAAE;QACtEC,QAAQ,EAAEhB,YAAY,CAACiB;MACzB,CAAC,CAAC;;MAEF;MACA,MAAMpB,WAAW,CAACiB,WAAW,EAAE;QAAEQ,UAAU,EAAE;MAAK,CAAC,CAAC;MAEpD,OAAO;QAAEhB,GAAG,EAAEY;MAAQ,CAAC;IACzB,CAAC,CAAC,OAAOK,KAAK,EAAE;MACd;MACA,IAAI;QACF,MAAM1B,WAAW,CAACiB,WAAW,EAAE;UAAEQ,UAAU,EAAE;QAAK,CAAC,CAAC;MACtD,CAAC,CAAC,MAAM;QACN;MAAA;MAEF,MAAMC,KAAK;IACb;EACF;;EAEA;EACA,IAAI,CAACzB,iBAAiB,EAAE;IACtB,MAAM,IAAIe,KAAK,CAAC,8BAA8B,CAAC;EACjD;EAEA,MAAMW,MAAM,GAAG,MAAMzB,aAAa,CAACO,GAAG,EAAER,iBAAiB,GAAGS,QAAQ,CAAC;EACrE,OAAOJ,UAAU,CAACqB,MAAM,CAAClB,GAAG,CAAC;AAC/B,CAAC","ignoreList":[]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ActionButton.d.ts","sourceRoot":"","sources":["../../../../src/components/button/ActionButton.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,MAAM,eAAe,CAAA;AAC3C,OAAO,EAAE,QAAQ,EAAE,MAAM,oBAAoB,CAAA;AAC7C,OAAO,KAAK,EAAE,EAAE,iBAAiB,EAAW,MAAM,OAAO,CAAA;AACzD,OAAO,EAAE,SAAS,EAAc,SAAS,EAAQ,SAAS,EAAE,MAAM,cAAc,CAAA;
|
|
1
|
+
{"version":3,"file":"ActionButton.d.ts","sourceRoot":"","sources":["../../../../src/components/button/ActionButton.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,MAAM,eAAe,CAAA;AAC3C,OAAO,EAAE,QAAQ,EAAE,MAAM,oBAAoB,CAAA;AAC7C,OAAO,KAAK,EAAE,EAAE,iBAAiB,EAAW,MAAM,OAAO,CAAA;AACzD,OAAO,EAAE,SAAS,EAAc,SAAS,EAAQ,SAAS,EAAE,MAAM,cAAc,CAAA;AAahF,MAAM,WAAW,iBAAkB,SAAQ,iBAAiB;IAC1D,IAAI,CAAC,EAAE;QACL,IAAI,EAAE,KAAK,CAAC,cAAc,CAAC,OAAO,QAAQ,CAAC,CAAC,MAAM,CAAC,CAAA;QACnD,IAAI,CAAC,EAAE,MAAM,CAAA;KACd,CAAA;IACD,SAAS,CAAC,EAAE,KAAK,CAAC,cAAc,CAAC,OAAO,QAAQ,CAAC,CAAA;IACjD,KAAK,CAAC,EAAE,SAAS,CAAC,SAAS,CAAC,CAAA;IAC5B,OAAO,EAAE,MAAM,IAAI,CAAA;IACnB,QAAQ,CAAC,EAAE,OAAO,CAAA;IAClB,SAAS,CAAC,EAAE,SAAS,CAAC,SAAS,CAAC,CAAA;IAChC,IAAI,CAAC,EAAE,WAAW,CAAA;IAClB,KAAK,CAAC,EAAE,MAAM,CAAA;IACd,WAAW,CAAC,EAAE,MAAM,CAAA;IACpB,OAAO,CAAC,EAAE,SAAS,GAAG,OAAO,CAAA;IAC7B,aAAa,CAAC,EAAE,MAAM,CAAA;IACtB,OAAO,CAAC,EAAE,OAAO,CAAA;CAClB;AAwBD,eAAO,MAAM,YAAY,GAAI,4JAc1B,iBAAiB,sBAuEnB,CAAA;AAED,eAAO,MAAM,aAAa,GAAI,qBAAqB,iBAAiB,sBAEnE,CAAA"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"DeleteButton.d.ts","sourceRoot":"","sources":["../../../../src/components/button/DeleteButton.tsx"],"names":[],"mappings":"AACA,OAAO,EAAE,QAAQ,EAAE,MAAM,oBAAoB,CAAA;AAC7C,OAAO,KAAK,EAAE,EAAE,SAAS,EAA4C,MAAM,OAAO,CAAA;
|
|
1
|
+
{"version":3,"file":"DeleteButton.d.ts","sourceRoot":"","sources":["../../../../src/components/button/DeleteButton.tsx"],"names":[],"mappings":"AACA,OAAO,EAAE,QAAQ,EAAE,MAAM,oBAAoB,CAAA;AAC7C,OAAO,KAAK,EAAE,EAAE,SAAS,EAA4C,MAAM,OAAO,CAAA;AAMlF,OAAO,EAAgB,iBAAiB,EAAE,MAAM,gBAAgB,CAAA;AAKhE,eAAO,MAAM,kBAAkB,GAAI,uGAUhC;IACD,aAAa,EAAE,OAAO,CAAA;IACtB,QAAQ,EAAE,MAAM,IAAI,CAAA;IACpB,SAAS,EAAE,MAAM,IAAI,CAAA;IACrB,IAAI,CAAC,EAAE,MAAM,GAAG,SAAS,CAAA;IACzB,aAAa,CAAC,EAAE,OAAO,CAAA;IACvB,KAAK,EAAE,MAAM,CAAA;IACb,UAAU,CAAC,EAAE,MAAM,CAAA;IACnB,UAAU,CAAC,EAAE,MAAM,CAAA;IACnB,QAAQ,EAAE,MAAM,CAAA;CACjB,sBAgCA,CAAA;AAED,MAAM,WAAW,iBAAkB,SAAQ,IAAI,CAAC,iBAAiB,EAAE,SAAS,GAAG,SAAS,CAAC;IACvF,QAAQ,EAAE,CAAC,MAAM,OAAO,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,MAAM,IAAI,CAAC,CAAA;IAC7C,QAAQ,EAAE,MAAM,CAAA;IAChB,UAAU,CAAC,EAAE,MAAM,CAAA;IACnB,SAAS,CAAC,EAAE,OAAO,CAAA;IACnB,IAAI,CAAC,EAAE,MAAM,CAAA;IACb,SAAS,CAAC,EAAE,MAAM,GAAG,SAAS,CAAA;IAC9B,QAAQ,CAAC,EAAE,MAAM,CAAA;IACjB,SAAS,CAAC,EAAE,KAAK,CAAC,cAAc,CAAC,OAAO,QAAQ,CAAC,CAAA;CAClD;AACD,eAAO,MAAM,YAAY,EAAE,KAAK,CAAC,EAAE,CAAC,iBAAiB,CAyGpD,CAAA"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Form.d.ts","sourceRoot":"","sources":["../../../../src/components/form/Form.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAwB,MAAM,eAAe,CAAA;AAC/D,OAAO,EAEL,aAAa,EAEb,KAAK,EACL,cAAc,EACd,QAAQ,EACR,iBAAiB,EAGjB,SAAS,EACT,YAAY,EACZ,SAAS,EAMV,MAAM,gBAAgB,CAAA;AACvB,OAAO,KAAK,EAAE,EAAE,EAAE,EAAqB,MAAM,OAAO,CAAA;
|
|
1
|
+
{"version":3,"file":"Form.d.ts","sourceRoot":"","sources":["../../../../src/components/form/Form.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAwB,MAAM,eAAe,CAAA;AAC/D,OAAO,EAEL,aAAa,EAEb,KAAK,EACL,cAAc,EACd,QAAQ,EACR,iBAAiB,EAGjB,SAAS,EACT,YAAY,EACZ,SAAS,EAMV,MAAM,gBAAgB,CAAA;AACvB,OAAO,KAAK,EAAE,EAAE,EAAE,EAAqB,MAAM,OAAO,CAAA;AAmHpD,eAAO,MAAM,cAAc,EAAE,EAAE,CAAC;IAC9B,KAAK,EAAE,SAAS,CAAA;IAChB,IAAI,EAAE,MAAM,CAAA;IACZ,IAAI,EAAE,SAAS,CAAA;CAChB,CA2CA,CAAA;AAED,eAAO,MAAM,WAAW,GAAI,wBAIzB;IACD,KAAK,EAAE,YAAY,CAAA;IACnB,IAAI,EAAE,MAAM,CAAA;IACZ,IAAI,EAAE,SAAS,CAAA;CAChB,sBA+CA,CAAA;AAwED,eAAO,MAAM,QAAQ,GAAI,6EAStB,aAAa,GAAG;IAAE,IAAI,CAAC,EAAE,MAAM,CAAA;CAAE,sBAgDnC,CAAA;AAED,eAAO,MAAM,YAAY,GAAI,CAAC,SAAS,QAAQ,EAAE,gGAS9C,iBAAiB,CAAC,CAAC,CAAC,sBAwBtB,CAAA;AAED,eAAO,MAAM,SAAS,GAAI,CAAC,SAAS,KAAK,GAAG,SAAS,EAAE,4CAMpD,cAAc,CAAC,CAAC,CAAC,sBAYnB,CAAA;AAED,eAAO,MAAM,IAAI,GAAI,CAAC,SAAS,YAAY,EAAE,qCAK1C,SAAS,CAAC,CAAC,CAAC,sBAmBd,CAAA;AAED,eAAe,IAAI,CAAA"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Editable.d.ts","sourceRoot":"","sources":["../../../../../src/components/form/input/Editable.tsx"],"names":[],"mappings":"AACA,OAAO,EAEL,aAAa,EACb,KAAK,EAKN,MAAM,gBAAgB,CAAA;AAEvB,OAAO,KAA+C,MAAM,OAAO,CAAA;AACnE,OAAO,EAAc,SAAS,EAAQ,SAAS,EAAE,MAAM,cAAc,CAAA;
|
|
1
|
+
{"version":3,"file":"Editable.d.ts","sourceRoot":"","sources":["../../../../../src/components/form/input/Editable.tsx"],"names":[],"mappings":"AACA,OAAO,EAEL,aAAa,EACb,KAAK,EAKN,MAAM,gBAAgB,CAAA;AAEvB,OAAO,KAA+C,MAAM,OAAO,CAAA;AACnE,OAAO,EAAc,SAAS,EAAQ,SAAS,EAAE,MAAM,cAAc,CAAA;AASrE,eAAO,MAAM,QAAQ,GAAI,CAAC,SAAS,KAAK,EAAE,qJAcvC,aAAa,CAAC,SAAS,EAAE,SAAS,EAAE,CAAC,CAAC,sBAyIxC,CAAA"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../../src/components/form/input/boolean/index.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,eAAe,CAAA;AACxC,OAAO,EAAE,YAAY,EAAuB,MAAM,gBAAgB,CAAA;AAClE,OAAO,KAAwD,MAAM,OAAO,CAAA;
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../../src/components/form/input/boolean/index.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,eAAe,CAAA;AACxC,OAAO,EAAE,YAAY,EAAuB,MAAM,gBAAgB,CAAA;AAClE,OAAO,KAAwD,MAAM,OAAO,CAAA;AAG5E,OAAO,EAAE,UAAU,EAAE,MAAM,aAAa,CAAA;AA+CxC,eAAO,MAAM,gBAAgB,2FAAuE,CAAA"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../../src/components/form/input/file/index.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,gBAAgB,EAAE,QAAQ,EAAkB,MAAM,eAAe,CAAA;AACrF,OAAO,EACL,SAAS,EAQV,MAAM,gBAAgB,CAAA;AAIvB,OAAO,KAAgE,MAAM,OAAO,CAAA;AACpF,OAAO,EAAY,SAAS,EAAoB,SAAS,EAAQ,SAAS,EAAE,MAAM,cAAc,CAAA;
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../../src/components/form/input/file/index.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,gBAAgB,EAAE,QAAQ,EAAkB,MAAM,eAAe,CAAA;AACrF,OAAO,EACL,SAAS,EAQV,MAAM,gBAAgB,CAAA;AAIvB,OAAO,KAAgE,MAAM,OAAO,CAAA;AACpF,OAAO,EAAY,SAAS,EAAoB,SAAS,EAAQ,SAAS,EAAE,MAAM,cAAc,CAAA;AAKhG,OAAO,EAAE,UAAU,EAAE,MAAM,aAAa,CAAA;AAgCxC,eAAO,MAAM,QAAQ,GAAI,mHAStB;IACD,KAAK,CAAC,EAAE,SAAS,GAAG,IAAI,CAAA;IACxB,SAAS,CAAC,EAAE,OAAO,CAAA;IACnB,YAAY,CAAC,EAAE,gBAAgB,CAAA;IAC/B,YAAY,CAAC,EAAE,OAAO,CAAA;IACtB,sBAAsB,CAAC,EAAE,SAAS,CAAC,SAAS,CAAC,CAAA;IAC7C,YAAY,CAAC,EAAE,OAAO,CAAA;IACtB,aAAa,CAAC,EAAE,MAAM,IAAI,CAAA;IAC1B,SAAS,CAAC,EAAE,SAAS,CAAC,SAAS,CAAC,CAAA;CACjC,sBAmFA,CAAA;AAED,eAAO,MAAM,aAAa,wFAyFzB,CAAA"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"LoadingOverlay.d.ts","sourceRoot":"","sources":["../../../../src/components/loading/LoadingOverlay.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAkB,MAAM,OAAO,CAAA;AACtC,OAAO,EAAY,SAAS,EAAc,SAAS,EAAE,MAAM,cAAc,CAAA;AACzE,OAAO,EAAE,aAAa,EAAa,MAAM,uBAAuB,CAAA;
|
|
1
|
+
{"version":3,"file":"LoadingOverlay.d.ts","sourceRoot":"","sources":["../../../../src/components/loading/LoadingOverlay.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAkB,MAAM,OAAO,CAAA;AACtC,OAAO,EAAY,SAAS,EAAc,SAAS,EAAE,MAAM,cAAc,CAAA;AACzE,OAAO,EAAE,aAAa,EAAa,MAAM,uBAAuB,CAAA;AAEhE,OAAO,EAAoB,qBAAqB,EAAE,MAAM,oBAAoB,CAAA;AAK5E,UAAU,mBAAmB;IAC3B,OAAO,EAAE,OAAO,CAAA;IAChB,WAAW,CAAC,EAAE,aAAa,CAAA;IAC3B,KAAK,CAAC,EAAE,SAAS,CAAC,SAAS,CAAC,CAAA;IAC5B,cAAc,CAAC,EAAE,qBAAqB,CAAA;CACvC;AACD,eAAO,MAAM,cAAc,GAAI,kDAK5B,mBAAmB,sBAWrB,CAAA;AAKD,eAAO,MAAM,kBAAkB,GAAI,6DAMhC;IACD,OAAO,EAAE,OAAO,CAAA;IAChB,QAAQ,EAAE,KAAK,CAAC,SAAS,CAAA;IACzB,KAAK,CAAC,EAAE,SAAS,CAAC,SAAS,CAAC,CAAA;IAC5B,YAAY,CAAC,EAAE,SAAS,CAAC,SAAS,CAAC,CAAA;IACnC,cAAc,CAAC,EAAE,qBAAqB,CAAA;CACvC,sBAaA,CAAA"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"AnimatedText.d.ts","sourceRoot":"","sources":["../../../../src/components/text/AnimatedText.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,EAAE,iBAAiB,EAA8B,MAAM,OAAO,CAAA;AAC5E,OAAO,EAAY,SAAS,EAAE,SAAS,EAAE,MAAM,cAAc,CAAA;
|
|
1
|
+
{"version":3,"file":"AnimatedText.d.ts","sourceRoot":"","sources":["../../../../src/components/text/AnimatedText.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,EAAE,iBAAiB,EAA8B,MAAM,OAAO,CAAA;AAC5E,OAAO,EAAY,SAAS,EAAE,SAAS,EAAE,MAAM,cAAc,CAAA;AAG7D,MAAM,WAAW,iBAAiB;IAChC,IAAI,EAAE,OAAO,CAAA;IACb,KAAK,EAAE,MAAM,CAAA;IACb,MAAM,EAAE,MAAM,CAAA;IACd,YAAY,EAAE,MAAM,CAAA;IACpB,KAAK,CAAC,EAAE,SAAS,CAAC,SAAS,CAAC,CAAA;CAC7B;AAsCD,eAAO,MAAM,YAAY,GAAI,kGAO1B,iBAAiB,CAAC,iBAAiB,CAAC,sBAYtC,CAAA"}
|
|
@@ -12,6 +12,7 @@ export interface ChempoNativeProviderProps<BackendAdapter extends BackendAdapter
|
|
|
12
12
|
colorModeProp?: string;
|
|
13
13
|
middlewareProvider?: MiddlewareProvider;
|
|
14
14
|
insetNotifier?: boolean;
|
|
15
|
+
disableFontScaling?: boolean;
|
|
15
16
|
}
|
|
16
|
-
export declare const ChempoNativeProvider: <BackendAdapter extends BackendAdapterInterface>({ theme: themeProp, initialColorMode, children, fonts: fontConfig, colorModeProp, middlewareProvider: Middleware, insetNotifier, ...props }: ChempoNativeProviderProps<BackendAdapter>) => React.JSX.Element;
|
|
17
|
+
export declare const ChempoNativeProvider: <BackendAdapter extends BackendAdapterInterface>({ theme: themeProp, initialColorMode, children, fonts: fontConfig, colorModeProp, middlewareProvider: Middleware, insetNotifier, disableFontScaling, ...props }: ChempoNativeProviderProps<BackendAdapter>) => React.JSX.Element;
|
|
17
18
|
//# sourceMappingURL=root.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"root.d.ts","sourceRoot":"","sources":["../../../src/contexts/root.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAE,uBAAuB,EAAE,SAAS,EAAE,KAAK,EAAE,MAAM,eAAe,CAAA;AACzE,OAAO,EAAE,WAAW,EAAgC,MAAM,gBAAgB,CAAA;AAC1E,OAAO,KAAK,EAAE,EAAE,EAAE,EAAE,iBAAiB,EAAW,MAAM,OAAO,CAAA;AAG7D,OAAO,EAEL,eAAe,EAGhB,MAAM,oBAAoB,CAAA;AAE3B,OAAO,EAAE,OAAO,EAA2B,MAAM,yCAAyC,CAAA;
|
|
1
|
+
{"version":3,"file":"root.d.ts","sourceRoot":"","sources":["../../../src/contexts/root.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAE,uBAAuB,EAAE,SAAS,EAAE,KAAK,EAAE,MAAM,eAAe,CAAA;AACzE,OAAO,EAAE,WAAW,EAAgC,MAAM,gBAAgB,CAAA;AAC1E,OAAO,KAAK,EAAE,EAAE,EAAE,EAAE,iBAAiB,EAAW,MAAM,OAAO,CAAA;AAG7D,OAAO,EAEL,eAAe,EAGhB,MAAM,oBAAoB,CAAA;AAE3B,OAAO,EAAE,OAAO,EAA2B,MAAM,yCAAyC,CAAA;AAU1F,MAAM,MAAM,UAAU,GAAG,OAAO,CAAC,MAAM,CAAC,eAAe,EAAE,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC,CAAA;AAC3E,MAAM,MAAM,kBAAkB,GAAG,EAAE,CAAC,iBAAiB,CAAC,CAAA;AACtD,MAAM,WAAW,yBAAyB,CACxC,cAAc,SAAS,uBAAuB,CAC9C,SAAQ,iBAAiB,CAAC,IAAI,CAAC,WAAW,CAAC,cAAc,CAAC,EAAE,gBAAgB,GAAG,QAAQ,CAAC,CAAC;IACzF,KAAK,CAAC,EAAE,KAAK,CAAA;IACb,KAAK,CAAC,EAAE,UAAU,CAAA;IAClB,gBAAgB,CAAC,EAAE,SAAS,CAAA;IAC5B,aAAa,CAAC,EAAE,MAAM,CAAA;IACtB,kBAAkB,CAAC,EAAE,kBAAkB,CAAA;IACvC,aAAa,CAAC,EAAE,OAAO,CAAA;IACvB,kBAAkB,CAAC,EAAE,OAAO,CAAA;CAC7B;AA+GD,eAAO,MAAM,oBAAoB,GAAI,cAAc,SAAS,uBAAuB,EAAE,iKAUlF,yBAAyB,CAAC,cAAc,CAAC,sBAkC3C,CAAA"}
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Subscribes to app state and refreshes the global font scale when the app
|
|
3
|
+
* becomes active (cold start or returning from background). Call once near the
|
|
4
|
+
* root of the app (e.g. in _layout).
|
|
5
|
+
*/
|
|
6
|
+
export declare function useRefreshFontScale(disableFontScaling?: boolean): void;
|
|
7
|
+
//# sourceMappingURL=useRefreshFontScale.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"useRefreshFontScale.d.ts","sourceRoot":"","sources":["../../../src/hooks/useRefreshFontScale.ts"],"names":[],"mappings":"AAIA;;;;GAIG;AACH,wBAAgB,mBAAmB,CAAC,kBAAkB,UAAQ,QAgB7D"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/store/index.ts"],"names":[],"mappings":"AAAA,cAAc,aAAa,CAAA"}
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/store/index.ts"],"names":[],"mappings":"AAAA,cAAc,gBAAgB,CAAA;AAC9B,cAAc,aAAa,CAAA"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"useFontScale.d.ts","sourceRoot":"","sources":["../../../src/store/useFontScale.ts"],"names":[],"mappings":"AAKA,eAAO,MAAM,YAAY;eAAuB,MAAM;GAEnD,CAAA"}
|
package/package.json
CHANGED
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
"name": "@chem-po/react-native",
|
|
3
3
|
"author": "Elan Canfield",
|
|
4
4
|
"license": "MIT",
|
|
5
|
-
"version": "0.0.
|
|
5
|
+
"version": "0.0.49",
|
|
6
6
|
"main": "lib/commonjs/index.js",
|
|
7
7
|
"types": "lib/typescript/index.d.ts",
|
|
8
8
|
"source": "src/index.ts",
|
|
@@ -46,8 +46,8 @@
|
|
|
46
46
|
"react-native-svg": "15.12.1",
|
|
47
47
|
"react-native-worklets": "0.5.1",
|
|
48
48
|
"zustand": "^4.3.3",
|
|
49
|
-
"@chem-po/core": "0.0.
|
|
50
|
-
"@chem-po/react": "0.0.
|
|
49
|
+
"@chem-po/core": "0.0.49",
|
|
50
|
+
"@chem-po/react": "0.0.49"
|
|
51
51
|
},
|
|
52
52
|
"devDependencies": {
|
|
53
53
|
"@babel/core": "^7.26.0",
|
|
@@ -3,6 +3,7 @@ import { Ionicons } from '@expo/vector-icons'
|
|
|
3
3
|
import React, { PropsWithChildren, useMemo } from 'react'
|
|
4
4
|
import { StyleProp, StyleSheet, TextStyle, View, ViewStyle } from 'react-native'
|
|
5
5
|
import { Pressable } from 'react-native-gesture-handler'
|
|
6
|
+
import { useFontScale } from '../../store/useFontScale'
|
|
6
7
|
import { CircularProgressProps } from '../loading'
|
|
7
8
|
import { WithLoadingOverlay } from '../loading/LoadingOverlay'
|
|
8
9
|
import { ButtonText } from './ButtonText'
|
|
@@ -73,6 +74,7 @@ export const ActionButton = ({
|
|
|
73
74
|
() => rippleColorProp ?? colors.ripple,
|
|
74
75
|
[rippleColorProp, colors.ripple],
|
|
75
76
|
)
|
|
77
|
+
const fontScale = useFontScale(s => s.fontScale)
|
|
76
78
|
const textColor = useButtonTextColor(colors, variant, colorProp, disabled, disabledColor)
|
|
77
79
|
const backgroundColor = useButtonBackgroundColor(
|
|
78
80
|
colors,
|
|
@@ -83,8 +85,8 @@ export const ActionButton = ({
|
|
|
83
85
|
)
|
|
84
86
|
const borderColor = useButtonBorderColor(colors, variant, colorProp, disabled, disabledColor)
|
|
85
87
|
const indicatorProps = useMemo<CircularProgressProps>(() => {
|
|
86
|
-
return { color: textColor, size: getIndicatorSize(size) }
|
|
87
|
-
}, [textColor, size])
|
|
88
|
+
return { color: textColor, size: getIndicatorSize(size) * fontScale }
|
|
89
|
+
}, [textColor, size, fontScale])
|
|
88
90
|
|
|
89
91
|
const body =
|
|
90
92
|
typeof children === 'string' ? (
|
|
@@ -106,7 +108,7 @@ export const ActionButton = ({
|
|
|
106
108
|
{icon ? (
|
|
107
109
|
<Ionicons
|
|
108
110
|
name={icon.name}
|
|
109
|
-
size={icon.size ?? 20}
|
|
111
|
+
size={(icon.size ?? 20) * fontScale}
|
|
110
112
|
color={textColor}
|
|
111
113
|
{...iconProps}
|
|
112
114
|
style={[variant === 'solid' ? styles.iconShadow : {}, iconProps?.style]}
|
|
@@ -4,6 +4,7 @@ import React, { ReactNode, useCallback, useEffect, useRef, useState } from 'reac
|
|
|
4
4
|
import { ActivityIndicator, StyleSheet, View } from 'react-native'
|
|
5
5
|
import { Pressable } from 'react-native-gesture-handler'
|
|
6
6
|
import { Modal, Portal } from 'react-native-paper'
|
|
7
|
+
import { useFontScale } from '../../store/useFontScale'
|
|
7
8
|
import { Txt } from '../text/Txt'
|
|
8
9
|
import { ActionButton, ActionButtonProps } from './ActionButton'
|
|
9
10
|
import { ButtonText } from './ButtonText'
|
|
@@ -32,10 +33,11 @@ export const DeleteConfirmAlert = ({
|
|
|
32
33
|
itemName: string
|
|
33
34
|
}) => {
|
|
34
35
|
const backgroundColor = useBackgroundColor(100)
|
|
36
|
+
const fontScale = useFontScale(s => s.fontScale)
|
|
35
37
|
return (
|
|
36
38
|
<Portal>
|
|
37
39
|
<Modal style={styles.modal} visible={confirmActive} onDismiss={onCancel}>
|
|
38
|
-
<View style={[styles.alertContainer, { backgroundColor }]}>
|
|
40
|
+
<View style={[styles.alertContainer, { backgroundColor, maxWidth: 300 * fontScale }]}>
|
|
39
41
|
<Txt style={styles.alertTitle}>
|
|
40
42
|
{actionName} {itemName}?
|
|
41
43
|
</Txt>
|
|
@@ -49,7 +51,7 @@ export const DeleteConfirmAlert = ({
|
|
|
49
51
|
onPress={onConfirm}
|
|
50
52
|
disabled={actionLoading}>
|
|
51
53
|
{actionLoading ? (
|
|
52
|
-
<ActivityIndicator color="#fff" />
|
|
54
|
+
<ActivityIndicator size={20 * fontScale} color="#fff" />
|
|
53
55
|
) : (
|
|
54
56
|
<Txt style={[styles.buttonText, styles.confirmButtonText]}>
|
|
55
57
|
{actionName.toUpperCase()}
|
|
@@ -95,7 +97,7 @@ export const DeleteButton: React.FC<DeleteButtonProps> = ({
|
|
|
95
97
|
const isMounted = useRef(true)
|
|
96
98
|
const defaultColor = useColorModeValue('#dd4444', '#ff4444')
|
|
97
99
|
const color = colorProp ?? defaultColor
|
|
98
|
-
|
|
100
|
+
const fontScale = useFontScale(s => s.fontScale)
|
|
99
101
|
useEffect(() => {
|
|
100
102
|
isMounted.current = true
|
|
101
103
|
|
|
@@ -145,7 +147,7 @@ export const DeleteButton: React.FC<DeleteButtonProps> = ({
|
|
|
145
147
|
<View style={styles.contentContainer}>
|
|
146
148
|
<Ionicons
|
|
147
149
|
name="trash"
|
|
148
|
-
size={iconSize}
|
|
150
|
+
size={iconSize * fontScale}
|
|
149
151
|
color={variant === 'solid' ? 'white' : color}
|
|
150
152
|
{...iconProps}
|
|
151
153
|
style={[variant === 'solid' ? styles.shadow : {}, iconProps?.style]}
|
|
@@ -22,6 +22,7 @@ import React, { FC, useMemo, useState } from 'react'
|
|
|
22
22
|
import { useFieldArray, useFormContext } from 'react-hook-form'
|
|
23
23
|
import { StyleSheet, Text, View } from 'react-native'
|
|
24
24
|
import { Pressable } from 'react-native-gesture-handler'
|
|
25
|
+
import { useFontScale } from '../../store/useFontScale'
|
|
25
26
|
import { Expandable } from '../box/Expandable'
|
|
26
27
|
import { DeleteButton } from '../button/DeleteButton'
|
|
27
28
|
import { Condition } from './Condition'
|
|
@@ -85,8 +86,8 @@ const styles = StyleSheet.create({
|
|
|
85
86
|
},
|
|
86
87
|
formElementContainer: {
|
|
87
88
|
width: '100%',
|
|
88
|
-
paddingVertical: 5,
|
|
89
|
-
gap: 5,
|
|
89
|
+
// paddingVertical: 5,
|
|
90
|
+
// gap: 5,
|
|
90
91
|
},
|
|
91
92
|
dataViewHeader: {
|
|
92
93
|
flexDirection: 'row',
|
|
@@ -190,6 +191,7 @@ export const FormElement = ({
|
|
|
190
191
|
name: string
|
|
191
192
|
size: InputSize
|
|
192
193
|
}) => {
|
|
194
|
+
const fontScale = useFontScale(s => s.fontScale)
|
|
193
195
|
const fields = useMemo<Array<{ name: string; field: IFormElement }>>(() => {
|
|
194
196
|
if (isField(field) || isListField(field)) return [{ name: 'value', field }]
|
|
195
197
|
|
|
@@ -200,7 +202,8 @@ export const FormElement = ({
|
|
|
200
202
|
}, [field, name])
|
|
201
203
|
|
|
202
204
|
return (
|
|
203
|
-
<View
|
|
205
|
+
<View
|
|
206
|
+
style={[styles.formElementContainer, { gap: fontScale * 5, paddingVertical: fontScale * 5 }]}>
|
|
204
207
|
{fields.map(f => {
|
|
205
208
|
if (isListField(f.field)) {
|
|
206
209
|
const b = <ListFieldInput key={f.name} name={f.name} field={f.field} size={size} />
|
|
@@ -12,6 +12,7 @@ import { Ionicons } from '@expo/vector-icons'
|
|
|
12
12
|
import React, { ForwardedRef, useCallback, useEffect } from 'react'
|
|
13
13
|
import { StyleSheet, TextStyle, View, ViewStyle } from 'react-native'
|
|
14
14
|
import { Pressable } from 'react-native-gesture-handler'
|
|
15
|
+
import { useFontScale } from '../../../store/useFontScale'
|
|
15
16
|
import { CustomInputProps } from '../../../types/forms'
|
|
16
17
|
import { LoadingOverlay } from '../../loading/LoadingOverlay'
|
|
17
18
|
import { UploadProgress } from '../UploadProgress'
|
|
@@ -55,6 +56,7 @@ export const Editable = <T extends Field>({
|
|
|
55
56
|
onEditClose,
|
|
56
57
|
ref,
|
|
57
58
|
})
|
|
59
|
+
const fontScale = useFontScale(s => s.fontScale)
|
|
58
60
|
|
|
59
61
|
useEffect(() => {
|
|
60
62
|
if (isEditing) {
|
|
@@ -120,19 +122,34 @@ export const Editable = <T extends Field>({
|
|
|
120
122
|
onPress={() => {
|
|
121
123
|
handleEditClose()
|
|
122
124
|
}}
|
|
123
|
-
style={[
|
|
125
|
+
style={[
|
|
126
|
+
styles.submitButton,
|
|
127
|
+
{
|
|
128
|
+
borderColor: iconColor,
|
|
129
|
+
borderWidth: 1,
|
|
130
|
+
width: 28 * fontScale,
|
|
131
|
+
height: 28 * fontScale,
|
|
132
|
+
},
|
|
133
|
+
]}
|
|
124
134
|
onPressIn={() => setEditHovered(true)}
|
|
125
135
|
onPressOut={() => setEditHovered(false)}>
|
|
126
|
-
<Ionicons name="close-outline" size={20} color={iconColor} />
|
|
136
|
+
<Ionicons name="close-outline" size={20 * fontScale} color={iconColor} />
|
|
127
137
|
</Pressable>
|
|
128
138
|
<Pressable
|
|
129
139
|
onPress={() => {
|
|
130
140
|
submit()
|
|
131
141
|
}}
|
|
132
|
-
style={[
|
|
142
|
+
style={[
|
|
143
|
+
styles.submitButton,
|
|
144
|
+
{
|
|
145
|
+
backgroundColor: submitBackgroundColor,
|
|
146
|
+
width: 28 * fontScale,
|
|
147
|
+
height: 28 * fontScale,
|
|
148
|
+
},
|
|
149
|
+
]}
|
|
133
150
|
onPressIn={() => setEditHovered(true)}
|
|
134
151
|
onPressOut={() => setEditHovered(false)}>
|
|
135
|
-
<Ionicons color="white" name="checkmark-outline" size={20} />
|
|
152
|
+
<Ionicons color="white" name="checkmark-outline" size={20 * fontScale} />
|
|
136
153
|
</Pressable>
|
|
137
154
|
</>
|
|
138
155
|
) : (
|
|
@@ -140,10 +157,10 @@ export const Editable = <T extends Field>({
|
|
|
140
157
|
onPress={() => {
|
|
141
158
|
handleEditOpen()
|
|
142
159
|
}}
|
|
143
|
-
style={styles.submitButton}
|
|
160
|
+
style={[styles.submitButton, { width: 28 * fontScale, height: 28 * fontScale }]}
|
|
144
161
|
onPressIn={() => setEditHovered(true)}
|
|
145
162
|
onPressOut={() => setEditHovered(false)}>
|
|
146
|
-
<Ionicons name="create-outline" size={20} color={iconColor} />
|
|
163
|
+
<Ionicons name="create-outline" size={20 * fontScale} color={iconColor} />
|
|
147
164
|
</Pressable>
|
|
148
165
|
)}
|
|
149
166
|
</View>
|
|
@@ -1,7 +1,8 @@
|
|
|
1
1
|
import { InputRef } from '@chem-po/core'
|
|
2
2
|
import { BooleanField, useBooleanFieldText } from '@chem-po/react'
|
|
3
3
|
import React, { ForwardedRef, forwardRef, useImperativeHandle } from 'react'
|
|
4
|
-
import { Switch,
|
|
4
|
+
import { Switch, View } from 'react-native'
|
|
5
|
+
import { Txt } from '../../../text/Txt'
|
|
5
6
|
import { FieldProps } from '../../types'
|
|
6
7
|
|
|
7
8
|
const BaseCheckboxComponent = (
|
|
@@ -16,7 +17,7 @@ const BaseCheckboxComponent = (
|
|
|
16
17
|
return (
|
|
17
18
|
<View style={{ flexDirection: 'row', alignItems: 'center' }}>
|
|
18
19
|
<Switch value={value} onValueChange={onChange} {...input} />
|
|
19
|
-
<
|
|
20
|
+
<Txt style={{ marginLeft: 8, fontWeight: '600', opacity: value ? 0.9 : 0.6 }}>{text}</Txt>
|
|
20
21
|
</View>
|
|
21
22
|
)
|
|
22
23
|
}
|
|
@@ -37,7 +38,7 @@ const BaseSwitchComponent = (
|
|
|
37
38
|
return (
|
|
38
39
|
<View style={{ flexDirection: 'row', alignItems: 'center' }}>
|
|
39
40
|
<Switch value={value} onValueChange={onChange} {...input} />
|
|
40
|
-
<
|
|
41
|
+
<Txt style={{ marginLeft: 8, fontWeight: '600', opacity: value ? 0.9 : 0.6 }}>{text}</Txt>
|
|
41
42
|
</View>
|
|
42
43
|
)
|
|
43
44
|
}
|
|
@@ -15,6 +15,7 @@ import * as ImagePicker from 'expo-image-picker'
|
|
|
15
15
|
import React, { forwardRef, useCallback, useImperativeHandle, useMemo } from 'react'
|
|
16
16
|
import { Platform, StyleProp, StyleSheet, Text, TextStyle, View, ViewStyle } from 'react-native'
|
|
17
17
|
import { Pressable } from 'react-native-gesture-handler'
|
|
18
|
+
import { useFontScale } from '../../../../store/useFontScale'
|
|
18
19
|
import { downloadFile } from '../../../../utils/downloadFile'
|
|
19
20
|
import { LoadingImage } from '../../../loading/LoadingImage'
|
|
20
21
|
import { FieldProps } from '../../types'
|
|
@@ -38,12 +39,13 @@ const NoFileView = ({ hasUpload, onPress }: { hasUpload?: boolean; onPress?: ()
|
|
|
38
39
|
const textColor = useTextColor()
|
|
39
40
|
const iconColor = useIconColor()
|
|
40
41
|
const borderColor = useBorderColor()
|
|
42
|
+
const fontScale = useFontScale(s => s.fontScale)
|
|
41
43
|
return (
|
|
42
44
|
<Pressable style={[styles.noFileContainer, { borderColor }]} onPress={onPress}>
|
|
43
45
|
<Text style={[styles.noFileText, { color: textColor }]}>
|
|
44
46
|
{hasUpload ? 'Tap to upload file' : 'No file uploaded'}
|
|
45
47
|
</Text>
|
|
46
|
-
<Ionicons name="cloud-upload" size={24} color={iconColor} />
|
|
48
|
+
<Ionicons name="cloud-upload" size={24 * fontScale} color={iconColor} />
|
|
47
49
|
</Pressable>
|
|
48
50
|
)
|
|
49
51
|
}
|
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
import React, { useMemo } from 'react'
|
|
2
2
|
import { Animated, StyleProp, StyleSheet, ViewStyle } from 'react-native'
|
|
3
3
|
import { FadeInOptions, useFadeIn } from '../../hooks/useFadeIn'
|
|
4
|
+
import { useFontScale } from '../../store/useFontScale'
|
|
4
5
|
import { CircularProgress, CircularProgressProps } from './CircularProgress'
|
|
5
|
-
|
|
6
6
|
const loadingFadeInProps: FadeInOptions = {
|
|
7
7
|
activeOpacity: 0.8,
|
|
8
8
|
duration: 100,
|
|
@@ -22,10 +22,11 @@ export const LoadingOverlay = ({
|
|
|
22
22
|
const opts = useMemo(() => ({ ...loadingFadeInProps, ...fadeOptions }), [fadeOptions])
|
|
23
23
|
const opacity = useFadeIn(loading, opts)
|
|
24
24
|
|
|
25
|
+
const fontScale = useFontScale(s => s.fontScale)
|
|
25
26
|
return (
|
|
26
27
|
<Animated.View
|
|
27
28
|
style={[styles.overlay, style, { opacity, pointerEvents: loading ? 'auto' : 'none' }]}>
|
|
28
|
-
<CircularProgress {...indicatorProps} />
|
|
29
|
+
<CircularProgress size={indicatorProps?.size ?? 20 * fontScale} {...indicatorProps} />
|
|
29
30
|
</Animated.View>
|
|
30
31
|
)
|
|
31
32
|
}
|
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
import React, { PropsWithChildren, useEffect, useMemo, useRef } from 'react'
|
|
2
2
|
import { Animated, StyleProp, TextStyle } from 'react-native'
|
|
3
|
+
import { useFontScale } from '../../store/useFontScale'
|
|
3
4
|
|
|
4
5
|
export interface AnimatedTextProps {
|
|
5
6
|
show: boolean
|
|
@@ -10,6 +11,7 @@ export interface AnimatedTextProps {
|
|
|
10
11
|
}
|
|
11
12
|
const useAnimatedText = (show: boolean, color: string, height: number, marginBottom: number) => {
|
|
12
13
|
const placeholderAnim = useRef(new Animated.Value(0)).current
|
|
14
|
+
const fontScale = useFontScale(s => s.fontScale)
|
|
13
15
|
|
|
14
16
|
useEffect(() => {
|
|
15
17
|
Animated.timing(placeholderAnim, {
|
|
@@ -33,14 +35,14 @@ const useAnimatedText = (show: boolean, color: string, height: number, marginBot
|
|
|
33
35
|
],
|
|
34
36
|
height: placeholderAnim.interpolate({
|
|
35
37
|
inputRange: [0, 1],
|
|
36
|
-
outputRange: [0, height],
|
|
38
|
+
outputRange: [0, height * fontScale],
|
|
37
39
|
}),
|
|
38
40
|
marginBottom: placeholderAnim.interpolate({
|
|
39
41
|
inputRange: [0, 1],
|
|
40
|
-
outputRange: [0, marginBottom],
|
|
42
|
+
outputRange: [0, marginBottom * fontScale],
|
|
41
43
|
}),
|
|
42
44
|
}),
|
|
43
|
-
[color, height, marginBottom, placeholderAnim],
|
|
45
|
+
[color, height, marginBottom, placeholderAnim, fontScale],
|
|
44
46
|
)
|
|
45
47
|
}
|
|
46
48
|
|
package/src/contexts/root.tsx
CHANGED
|
@@ -13,6 +13,7 @@ import { en, registerTranslation } from 'react-native-paper-dates'
|
|
|
13
13
|
import { MD3Type, MD3Typescale, ThemeProp } from 'react-native-paper/lib/typescript/types'
|
|
14
14
|
import { SafeAreaProvider, useSafeAreaInsets } from 'react-native-safe-area-context'
|
|
15
15
|
import { nativeToast } from '../constants/toast'
|
|
16
|
+
import { useRefreshFontScale } from '../hooks/useRefreshFontScale'
|
|
16
17
|
import { UseThemeProps, useThemeState } from '../hooks/useThemeState'
|
|
17
18
|
import { initializeScreen } from '../store/useScreen'
|
|
18
19
|
import { ChempoFontsProvider } from './fonts'
|
|
@@ -30,6 +31,7 @@ export interface ChempoNativeProviderProps<
|
|
|
30
31
|
colorModeProp?: string
|
|
31
32
|
middlewareProvider?: MiddlewareProvider
|
|
32
33
|
insetNotifier?: boolean
|
|
34
|
+
disableFontScaling?: boolean
|
|
33
35
|
}
|
|
34
36
|
const createPaperTheme = (
|
|
35
37
|
themeConfig: Theme,
|
|
@@ -149,6 +151,7 @@ export const ChempoNativeProvider = <BackendAdapter extends BackendAdapterInterf
|
|
|
149
151
|
colorModeProp,
|
|
150
152
|
middlewareProvider: Middleware,
|
|
151
153
|
insetNotifier,
|
|
154
|
+
disableFontScaling,
|
|
152
155
|
...props
|
|
153
156
|
}: ChempoNativeProviderProps<BackendAdapter>) => {
|
|
154
157
|
const useThemeProps = useMemo<UseThemeProps>(
|
|
@@ -156,6 +159,7 @@ export const ChempoNativeProvider = <BackendAdapter extends BackendAdapterInterf
|
|
|
156
159
|
[themeProp, initialColorMode, colorModeProp],
|
|
157
160
|
)
|
|
158
161
|
const theme = useThemeState(useThemeProps)
|
|
162
|
+
useRefreshFontScale(disableFontScaling)
|
|
159
163
|
|
|
160
164
|
const { theme: paperTheme, fonts } = useMemo(
|
|
161
165
|
() => createPaperTheme(theme.theme ?? defaultTheme, fontConfig, theme.colorMode),
|
|
@@ -0,0 +1,26 @@
|
|
|
1
|
+
import { useEffect } from 'react'
|
|
2
|
+
import { AppState, PixelRatio } from 'react-native'
|
|
3
|
+
import { useFontScale } from '../store/useFontScale'
|
|
4
|
+
|
|
5
|
+
/**
|
|
6
|
+
* Subscribes to app state and refreshes the global font scale when the app
|
|
7
|
+
* becomes active (cold start or returning from background). Call once near the
|
|
8
|
+
* root of the app (e.g. in _layout).
|
|
9
|
+
*/
|
|
10
|
+
export function useRefreshFontScale(disableFontScaling = false) {
|
|
11
|
+
useEffect(() => {
|
|
12
|
+
if (disableFontScaling) {
|
|
13
|
+
useFontScale.setState({ fontScale: 1 })
|
|
14
|
+
return () => {}
|
|
15
|
+
}
|
|
16
|
+
const refresh = () => useFontScale.setState({ fontScale: PixelRatio.getFontScale() ?? 1 })
|
|
17
|
+
|
|
18
|
+
refresh()
|
|
19
|
+
|
|
20
|
+
const sub = AppState.addEventListener('change', nextState => {
|
|
21
|
+
if (nextState === 'active') refresh()
|
|
22
|
+
})
|
|
23
|
+
|
|
24
|
+
return () => sub.remove()
|
|
25
|
+
}, [disableFontScaling])
|
|
26
|
+
}
|