feat(smart-app): implement complete mobile app MVP

- App.tsx: full navigation (Auth stack + Main tabs with 5 screens)
- Auth: LoginScreen, RegisterScreen, ForgotPasswordScreen
- HomeScreen: dashboard with IoT metrics, weather widget, alerts, quick actions, sensors
- MapScreen: interactive map with layer toggles (6 layers)
- MarketplaceScreen: categories (6), products (5), search
- ChatScreen: AI chat with quick prompts (4), bot responses
- ProfileScreen: user info, stats, menu (9 items), logout
- AlertsScreen: alert list with severity, acknowledge
- SensorsScreen: sensor list with type filters (6 types), search
- ZonesScreen: zone cards with stats
- SettingsScreen: language picker (FR/EN/ES/DE), privacy, about
- Stores: iotStore (sensors, zones, alerts), notificationStore, uiStore + i18n
- Hooks: useSensors, useAlerts, useNotifications, useLocation
- Components: Card, Button, LoadingSpinner, ErrorBoundary, Header
- Services: iotService, notificationService (with axios API client)
- Utils: formatters (temp, AQI, noise, dates), validators (email, password, IBAN)
- Theme: colors.ts with full design system (Blue Ocean palette)
- Ditto: fixed MongoDB connection, new JWT secrets, official gateway image
This commit is contained in:
Eric FELIXINE
2026-06-01 18:00:35 -04:00
parent 08ca495bde
commit e30ae8ed09
35578 changed files with 3703534 additions and 43 deletions

View File

@@ -0,0 +1,53 @@
"use strict";
Object.defineProperty(exports, "__esModule", {
value: true
});
exports.default = exports.Checkbox = void 0;
var React = _interopRequireWildcard(require("react"));
var _reactNative = require("react-native");
var _CheckboxAndroid = _interopRequireDefault(require("./CheckboxAndroid"));
var _CheckboxIOS = _interopRequireDefault(require("./CheckboxIOS"));
var _theming = require("../../core/theming");
function _interopRequireDefault(e) { return e && e.__esModule ? e : { default: e }; }
function _interopRequireWildcard(e, t) { if ("function" == typeof WeakMap) var r = new WeakMap(), n = new WeakMap(); return (_interopRequireWildcard = function (e, t) { if (!t && e && e.__esModule) return e; var o, i, f = { __proto__: null, default: e }; if (null === e || "object" != typeof e && "function" != typeof e) return f; if (o = t ? n : r) { if (o.has(e)) return o.get(e); o.set(e, f); } for (const t in e) "default" !== t && {}.hasOwnProperty.call(e, t) && ((i = (o = Object.defineProperty) && Object.getOwnPropertyDescriptor(e, t)) && (i.get || i.set) ? o(f, t, i) : f[t] = e[t]); return f; })(e, t); }
function _extends() { return _extends = Object.assign ? Object.assign.bind() : function (n) { for (var e = 1; e < arguments.length; e++) { var t = arguments[e]; for (var r in t) ({}).hasOwnProperty.call(t, r) && (n[r] = t[r]); } return n; }, _extends.apply(null, arguments); }
/**
* Checkboxes allow the selection of multiple options from a set.
*
* ## Usage
* ```js
* import * as React from 'react';
* import { Checkbox } from 'react-native-paper';
*
* const MyComponent = () => {
* const [checked, setChecked] = React.useState(false);
*
* return (
* <Checkbox
* status={checked ? 'checked' : 'unchecked'}
* onPress={() => {
* setChecked(!checked);
* }}
* />
* );
* };
*
* export default MyComponent;
* ```
*/
const Checkbox = ({
theme: themeOverrides,
...props
}) => {
const theme = (0, _theming.useInternalTheme)(themeOverrides);
return _reactNative.Platform.OS === 'ios' ? /*#__PURE__*/React.createElement(_CheckboxIOS.default, _extends({}, props, {
theme: theme
})) : /*#__PURE__*/React.createElement(_CheckboxAndroid.default, _extends({}, props, {
theme: theme
}));
};
var _default = exports.default = Checkbox; // @component-docs ignore-next-line
const CheckboxWithTheme = exports.Checkbox = Checkbox;
// @component-docs ignore-next-line
//# sourceMappingURL=Checkbox.js.map

View File

@@ -0,0 +1 @@
{"version":3,"names":["React","_interopRequireWildcard","require","_reactNative","_CheckboxAndroid","_interopRequireDefault","_CheckboxIOS","_theming","e","__esModule","default","t","WeakMap","r","n","o","i","f","__proto__","has","get","set","hasOwnProperty","call","Object","defineProperty","getOwnPropertyDescriptor","_extends","assign","bind","arguments","length","apply","Checkbox","theme","themeOverrides","props","useInternalTheme","Platform","OS","createElement","_default","exports","CheckboxWithTheme"],"sourceRoot":"../../../../src","sources":["components/Checkbox/Checkbox.tsx"],"mappings":"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","ignoreList":[]}

View File

@@ -0,0 +1,133 @@
"use strict";
Object.defineProperty(exports, "__esModule", {
value: true
});
exports.default = exports.CheckboxAndroid = void 0;
var React = _interopRequireWildcard(require("react"));
var _reactNative = require("react-native");
var _utils = require("./utils");
var _theming = require("../../core/theming");
var _MaterialCommunityIcon = _interopRequireDefault(require("../MaterialCommunityIcon"));
var _TouchableRipple = _interopRequireDefault(require("../TouchableRipple/TouchableRipple"));
function _interopRequireDefault(e) { return e && e.__esModule ? e : { default: e }; }
function _interopRequireWildcard(e, t) { if ("function" == typeof WeakMap) var r = new WeakMap(), n = new WeakMap(); return (_interopRequireWildcard = function (e, t) { if (!t && e && e.__esModule) return e; var o, i, f = { __proto__: null, default: e }; if (null === e || "object" != typeof e && "function" != typeof e) return f; if (o = t ? n : r) { if (o.has(e)) return o.get(e); o.set(e, f); } for (const t in e) "default" !== t && {}.hasOwnProperty.call(e, t) && ((i = (o = Object.defineProperty) && Object.getOwnPropertyDescriptor(e, t)) && (i.get || i.set) ? o(f, t, i) : f[t] = e[t]); return f; })(e, t); }
function _extends() { return _extends = Object.assign ? Object.assign.bind() : function (n) { for (var e = 1; e < arguments.length; e++) { var t = arguments[e]; for (var r in t) ({}).hasOwnProperty.call(t, r) && (n[r] = t[r]); } return n; }, _extends.apply(null, arguments); }
// From https://material.io/design/motion/speed.html#duration
const ANIMATION_DURATION = 100;
/**
* Checkboxes allow the selection of multiple options from a set.
* This component follows platform guidelines for Android, but can be used
* on any platform.
*
* @extends TouchableRipple props https://callstack.github.io/react-native-paper/docs/components/TouchableRipple
*/
const CheckboxAndroid = ({
status,
theme: themeOverrides,
disabled,
onPress,
testID,
...rest
}) => {
const theme = (0, _theming.useInternalTheme)(themeOverrides);
const {
current: scaleAnim
} = React.useRef(new _reactNative.Animated.Value(1));
const isFirstRendering = React.useRef(true);
const {
animation: {
scale
}
} = theme;
React.useEffect(() => {
// Do not run animation on very first rendering
if (isFirstRendering.current) {
isFirstRendering.current = false;
return;
}
const checked = status === 'checked';
_reactNative.Animated.sequence([_reactNative.Animated.timing(scaleAnim, {
toValue: 0.85,
duration: checked ? ANIMATION_DURATION * scale : 0,
useNativeDriver: false
}), _reactNative.Animated.timing(scaleAnim, {
toValue: 1,
duration: checked ? ANIMATION_DURATION * scale : ANIMATION_DURATION * scale * 1.75,
useNativeDriver: false
})]).start();
}, [status, scaleAnim, scale]);
const checked = status === 'checked';
const indeterminate = status === 'indeterminate';
const {
rippleColor,
selectionControlColor
} = (0, _utils.getAndroidSelectionControlColor)({
theme,
disabled,
checked,
customColor: rest.color,
customUncheckedColor: rest.uncheckedColor
});
const borderWidth = scaleAnim.interpolate({
inputRange: [0.8, 1],
outputRange: [7, 0]
});
const icon = indeterminate ? 'minus-box' : checked ? 'checkbox-marked' : 'checkbox-blank-outline';
return /*#__PURE__*/React.createElement(_TouchableRipple.default, _extends({}, rest, {
borderless: true,
rippleColor: rippleColor,
onPress: onPress,
disabled: disabled,
accessibilityRole: "checkbox",
accessibilityState: {
disabled,
checked
},
accessibilityLiveRegion: "polite",
style: styles.container,
testID: testID,
theme: theme
}), /*#__PURE__*/React.createElement(_reactNative.Animated.View, {
style: {
transform: [{
scale: scaleAnim
}]
}
}, /*#__PURE__*/React.createElement(_MaterialCommunityIcon.default, {
allowFontScaling: false,
name: icon,
size: 24,
color: selectionControlColor,
direction: "ltr"
}), /*#__PURE__*/React.createElement(_reactNative.View, {
style: [_reactNative.StyleSheet.absoluteFill, styles.fillContainer]
}, /*#__PURE__*/React.createElement(_reactNative.Animated.View, {
style: [styles.fill, {
borderColor: selectionControlColor
}, {
borderWidth
}]
}))));
};
exports.CheckboxAndroid = CheckboxAndroid;
CheckboxAndroid.displayName = 'Checkbox.Android';
const styles = _reactNative.StyleSheet.create({
container: {
borderRadius: 18,
width: 36,
height: 36,
padding: 6
},
fillContainer: {
alignItems: 'center',
justifyContent: 'center'
},
fill: {
height: 14,
width: 14
}
});
var _default = exports.default = CheckboxAndroid; // @component-docs ignore-next-line
//# sourceMappingURL=CheckboxAndroid.js.map

File diff suppressed because one or more lines are too long

View File

@@ -0,0 +1,79 @@
"use strict";
Object.defineProperty(exports, "__esModule", {
value: true
});
exports.default = exports.CheckboxIOS = void 0;
var React = _interopRequireWildcard(require("react"));
var _reactNative = require("react-native");
var _utils = require("./utils");
var _theming = require("../../core/theming");
var _MaterialCommunityIcon = _interopRequireDefault(require("../MaterialCommunityIcon"));
var _TouchableRipple = _interopRequireDefault(require("../TouchableRipple/TouchableRipple"));
function _interopRequireDefault(e) { return e && e.__esModule ? e : { default: e }; }
function _interopRequireWildcard(e, t) { if ("function" == typeof WeakMap) var r = new WeakMap(), n = new WeakMap(); return (_interopRequireWildcard = function (e, t) { if (!t && e && e.__esModule) return e; var o, i, f = { __proto__: null, default: e }; if (null === e || "object" != typeof e && "function" != typeof e) return f; if (o = t ? n : r) { if (o.has(e)) return o.get(e); o.set(e, f); } for (const t in e) "default" !== t && {}.hasOwnProperty.call(e, t) && ((i = (o = Object.defineProperty) && Object.getOwnPropertyDescriptor(e, t)) && (i.get || i.set) ? o(f, t, i) : f[t] = e[t]); return f; })(e, t); }
function _extends() { return _extends = Object.assign ? Object.assign.bind() : function (n) { for (var e = 1; e < arguments.length; e++) { var t = arguments[e]; for (var r in t) ({}).hasOwnProperty.call(t, r) && (n[r] = t[r]); } return n; }, _extends.apply(null, arguments); }
/**
* Checkboxes allow the selection of multiple options from a set.
* This component follows platform guidelines for iOS, but can be used
* on any platform.
*
* @extends TouchableRipple props https://callstack.github.io/react-native-paper/docs/components/TouchableRipple
*/
const CheckboxIOS = ({
status,
disabled,
onPress,
theme: themeOverrides,
testID,
...rest
}) => {
const theme = (0, _theming.useInternalTheme)(themeOverrides);
const checked = status === 'checked';
const indeterminate = status === 'indeterminate';
const {
checkedColor,
rippleColor
} = (0, _utils.getSelectionControlIOSColor)({
theme,
disabled,
customColor: rest.color
});
const icon = indeterminate ? 'minus' : 'check';
const opacity = indeterminate || checked ? 1 : 0;
return /*#__PURE__*/React.createElement(_TouchableRipple.default, _extends({}, rest, {
borderless: true,
rippleColor: rippleColor,
onPress: onPress,
disabled: disabled,
accessibilityRole: "checkbox",
accessibilityState: {
disabled,
checked
},
accessibilityLiveRegion: "polite",
style: styles.container,
testID: testID,
theme: theme
}), /*#__PURE__*/React.createElement(_reactNative.View, {
style: {
opacity
}
}, /*#__PURE__*/React.createElement(_MaterialCommunityIcon.default, {
allowFontScaling: false,
name: icon,
size: 24,
color: checkedColor,
direction: "ltr"
})));
};
exports.CheckboxIOS = CheckboxIOS;
CheckboxIOS.displayName = 'Checkbox.IOS';
const styles = _reactNative.StyleSheet.create({
container: {
borderRadius: 18,
padding: 6
}
});
var _default = exports.default = CheckboxIOS; // @component-docs ignore-next-line
//# sourceMappingURL=CheckboxIOS.js.map

View File

@@ -0,0 +1 @@
{"version":3,"names":["React","_interopRequireWildcard","require","_reactNative","_utils","_theming","_MaterialCommunityIcon","_interopRequireDefault","_TouchableRipple","e","__esModule","default","t","WeakMap","r","n","o","i","f","__proto__","has","get","set","hasOwnProperty","call","Object","defineProperty","getOwnPropertyDescriptor","_extends","assign","bind","arguments","length","apply","CheckboxIOS","status","disabled","onPress","theme","themeOverrides","testID","rest","useInternalTheme","checked","indeterminate","checkedColor","rippleColor","getSelectionControlIOSColor","customColor","color","icon","opacity","createElement","borderless","accessibilityRole","accessibilityState","accessibilityLiveRegion","style","styles","container","View","allowFontScaling","name","size","direction","exports","displayName","StyleSheet","create","borderRadius","padding","_default"],"sourceRoot":"../../../../src","sources":["components/Checkbox/CheckboxIOS.tsx"],"mappings":"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","ignoreList":[]}

View File

@@ -0,0 +1,124 @@
"use strict";
Object.defineProperty(exports, "__esModule", {
value: true
});
exports.default = exports.CheckboxItem = void 0;
var React = _interopRequireWildcard(require("react"));
var _reactNative = require("react-native");
var _Checkbox = _interopRequireDefault(require("./Checkbox"));
var _CheckboxAndroid = _interopRequireDefault(require("./CheckboxAndroid"));
var _CheckboxIOS = _interopRequireDefault(require("./CheckboxIOS"));
var _theming = require("../../core/theming");
var _TouchableRipple = _interopRequireDefault(require("../TouchableRipple/TouchableRipple"));
var _Text = _interopRequireDefault(require("../Typography/Text"));
function _interopRequireDefault(e) { return e && e.__esModule ? e : { default: e }; }
function _interopRequireWildcard(e, t) { if ("function" == typeof WeakMap) var r = new WeakMap(), n = new WeakMap(); return (_interopRequireWildcard = function (e, t) { if (!t && e && e.__esModule) return e; var o, i, f = { __proto__: null, default: e }; if (null === e || "object" != typeof e && "function" != typeof e) return f; if (o = t ? n : r) { if (o.has(e)) return o.get(e); o.set(e, f); } for (const t in e) "default" !== t && {}.hasOwnProperty.call(e, t) && ((i = (o = Object.defineProperty) && Object.getOwnPropertyDescriptor(e, t)) && (i.get || i.set) ? o(f, t, i) : f[t] = e[t]); return f; })(e, t); }
/**
* Checkbox.Item allows you to press the whole row (item) instead of only the Checkbox.
*
* ## Usage
* ```js
* import * as React from 'react';
* import { View } from 'react-native';
* import { Checkbox } from 'react-native-paper';
*
* const MyComponent = () => (
* <View>
* <Checkbox.Item label="Item" status="checked" />
* </View>
* );
*
* export default MyComponent;
*```
*/
const CheckboxItem = ({
style,
status,
label,
onPress,
onLongPress,
labelStyle,
theme: themeOverrides,
testID,
mode,
position = 'trailing',
accessibilityLabel = label,
disabled,
labelVariant = 'bodyLarge',
labelMaxFontSizeMultiplier = 1.5,
rippleColor,
background,
hitSlop,
...props
}) => {
const theme = (0, _theming.useInternalTheme)(themeOverrides);
const checkboxProps = {
...props,
status,
theme,
disabled
};
const isLeading = position === 'leading';
let checkbox;
if (mode === 'android') {
checkbox = /*#__PURE__*/React.createElement(_CheckboxAndroid.default, checkboxProps);
} else if (mode === 'ios') {
checkbox = /*#__PURE__*/React.createElement(_CheckboxIOS.default, checkboxProps);
} else {
checkbox = /*#__PURE__*/React.createElement(_Checkbox.default, checkboxProps);
}
const textColor = theme.isV3 ? theme.colors.onSurface : theme.colors.text;
const disabledTextColor = theme.isV3 ? theme.colors.onSurfaceDisabled : theme.colors.disabled;
const textAlign = isLeading ? 'right' : 'left';
const computedStyle = {
color: disabled ? disabledTextColor : textColor,
textAlign
};
return /*#__PURE__*/React.createElement(_TouchableRipple.default, {
accessibilityLabel: accessibilityLabel,
accessibilityRole: "checkbox",
accessibilityState: {
checked: status === 'checked',
disabled
},
onPress: onPress,
onLongPress: onLongPress,
testID: testID,
disabled: disabled,
rippleColor: rippleColor,
theme: theme,
background: background,
hitSlop: hitSlop
}, /*#__PURE__*/React.createElement(_reactNative.View, {
style: [styles.container, style],
pointerEvents: "none",
importantForAccessibility: "no-hide-descendants"
}, isLeading && checkbox, /*#__PURE__*/React.createElement(_Text.default, {
variant: labelVariant,
testID: `${testID}-text`,
maxFontSizeMultiplier: labelMaxFontSizeMultiplier,
style: [styles.label, !theme.isV3 && styles.font, computedStyle, labelStyle]
}, label), !isLeading && checkbox));
};
exports.CheckboxItem = CheckboxItem;
CheckboxItem.displayName = 'Checkbox.Item';
var _default = exports.default = CheckboxItem; // @component-docs ignore-next-line
const styles = _reactNative.StyleSheet.create({
container: {
flexDirection: 'row',
alignItems: 'center',
justifyContent: 'space-between',
paddingVertical: 8,
paddingHorizontal: 16
},
label: {
flexShrink: 1,
flexGrow: 1
},
font: {
fontSize: 16
}
});
//# sourceMappingURL=CheckboxItem.js.map

View File

@@ -0,0 +1 @@
{"version":3,"names":["React","_interopRequireWildcard","require","_reactNative","_Checkbox","_interopRequireDefault","_CheckboxAndroid","_CheckboxIOS","_theming","_TouchableRipple","_Text","e","__esModule","default","t","WeakMap","r","n","o","i","f","__proto__","has","get","set","hasOwnProperty","call","Object","defineProperty","getOwnPropertyDescriptor","CheckboxItem","style","status","label","onPress","onLongPress","labelStyle","theme","themeOverrides","testID","mode","position","accessibilityLabel","disabled","labelVariant","labelMaxFontSizeMultiplier","rippleColor","background","hitSlop","props","useInternalTheme","checkboxProps","isLeading","checkbox","createElement","textColor","isV3","colors","onSurface","text","disabledTextColor","onSurfaceDisabled","textAlign","computedStyle","color","accessibilityRole","accessibilityState","checked","View","styles","container","pointerEvents","importantForAccessibility","variant","maxFontSizeMultiplier","font","exports","displayName","_default","StyleSheet","create","flexDirection","alignItems","justifyContent","paddingVertical","paddingHorizontal","flexShrink","flexGrow","fontSize"],"sourceRoot":"../../../../src","sources":["components/Checkbox/CheckboxItem.tsx"],"mappings":"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","ignoreList":[]}

View File

@@ -0,0 +1,23 @@
"use strict";
Object.defineProperty(exports, "__esModule", {
value: true
});
exports.default = void 0;
var _Checkbox = _interopRequireDefault(require("./Checkbox"));
var _CheckboxAndroid = _interopRequireDefault(require("./CheckboxAndroid"));
var _CheckboxIOS = _interopRequireDefault(require("./CheckboxIOS"));
var _CheckboxItem = _interopRequireDefault(require("./CheckboxItem"));
function _interopRequireDefault(e) { return e && e.__esModule ? e : { default: e }; }
const Checkbox = Object.assign(
// @component ./Checkbox.tsx
_Checkbox.default, {
// @component ./CheckboxItem.tsx
Item: _CheckboxItem.default,
// @component ./CheckboxAndroid.tsx
Android: _CheckboxAndroid.default,
// @component ./CheckboxIOS.tsx
IOS: _CheckboxIOS.default
});
var _default = exports.default = Checkbox;
//# sourceMappingURL=index.js.map

View File

@@ -0,0 +1 @@
{"version":3,"names":["_Checkbox","_interopRequireDefault","require","_CheckboxAndroid","_CheckboxIOS","_CheckboxItem","e","__esModule","default","Checkbox","Object","assign","CheckboxComponent","Item","CheckboxItem","Android","CheckboxAndroid","IOS","CheckboxIOS","_default","exports"],"sourceRoot":"../../../../src","sources":["components/Checkbox/index.ts"],"mappings":";;;;;;AAAA,IAAAA,SAAA,GAAAC,sBAAA,CAAAC,OAAA;AACA,IAAAC,gBAAA,GAAAF,sBAAA,CAAAC,OAAA;AACA,IAAAE,YAAA,GAAAH,sBAAA,CAAAC,OAAA;AACA,IAAAG,aAAA,GAAAJ,sBAAA,CAAAC,OAAA;AAA0C,SAAAD,uBAAAK,CAAA,WAAAA,CAAA,IAAAA,CAAA,CAAAC,UAAA,GAAAD,CAAA,KAAAE,OAAA,EAAAF,CAAA;AAE1C,MAAMG,QAAQ,GAAGC,MAAM,CAACC,MAAM;AAC5B;AACAC,iBAAiB,EACjB;EACE;EACAC,IAAI,EAAEC,qBAAY;EAClB;EACAC,OAAO,EAAEC,wBAAe;EACxB;EACAC,GAAG,EAAEC;AACP,CACF,CAAC;AAAC,IAAAC,QAAA,GAAAC,OAAA,CAAAZ,OAAA,GAEaC,QAAQ","ignoreList":[]}

View File

@@ -0,0 +1,150 @@
"use strict";
Object.defineProperty(exports, "__esModule", {
value: true
});
exports.getSelectionControlIOSColor = exports.getAndroidSelectionControlColor = void 0;
var _color = _interopRequireDefault(require("color"));
function _interopRequireDefault(e) { return e && e.__esModule ? e : { default: e }; }
const getAndroidCheckedColor = ({
theme,
customColor
}) => {
if (customColor) {
return customColor;
}
if (theme.isV3) {
return theme.colors.primary;
}
return theme.colors.accent;
};
const getAndroidUncheckedColor = ({
theme,
customUncheckedColor
}) => {
if (customUncheckedColor) {
return customUncheckedColor;
}
if (theme.isV3) {
return theme.colors.onSurfaceVariant;
}
if (theme.dark) {
return (0, _color.default)(theme.colors.text).alpha(0.7).rgb().string();
}
return (0, _color.default)(theme.colors.text).alpha(0.54).rgb().string();
};
const getAndroidRippleColor = ({
theme,
checkedColor,
disabled
}) => {
if (disabled) {
if (theme.isV3) {
return (0, _color.default)(theme.colors.onSurface).alpha(0.16).rgb().string();
}
return (0, _color.default)(theme.colors.text).alpha(0.16).rgb().string();
}
return (0, _color.default)(checkedColor).fade(0.32).rgb().string();
};
const getAndroidControlColor = ({
theme,
checked,
disabled,
checkedColor,
uncheckedColor
}) => {
if (disabled) {
if (theme.isV3) {
return theme.colors.onSurfaceDisabled;
}
return theme.colors.disabled;
}
if (checked) {
return checkedColor;
}
return uncheckedColor;
};
const getAndroidSelectionControlColor = ({
theme,
disabled,
checked,
customColor,
customUncheckedColor
}) => {
const checkedColor = getAndroidCheckedColor({
theme,
customColor
});
const uncheckedColor = getAndroidUncheckedColor({
theme,
customUncheckedColor
});
return {
rippleColor: getAndroidRippleColor({
theme,
checkedColor,
disabled
}),
selectionControlColor: getAndroidControlColor({
theme,
disabled,
checked,
checkedColor,
uncheckedColor
})
};
};
exports.getAndroidSelectionControlColor = getAndroidSelectionControlColor;
const getIOSCheckedColor = ({
theme,
disabled,
customColor
}) => {
if (disabled) {
if (theme.isV3) {
return theme.colors.onSurfaceDisabled;
}
return theme.colors.disabled;
}
if (customColor) {
return customColor;
}
if (theme.isV3) {
return theme.colors.primary;
}
return theme.colors.accent;
};
const getIOSRippleColor = ({
theme,
checkedColor,
disabled
}) => {
if (disabled) {
if (theme.isV3) {
return (0, _color.default)(theme.colors.onSurface).alpha(0.16).rgb().string();
}
return (0, _color.default)(theme.colors.text).alpha(0.16).rgb().string();
}
return (0, _color.default)(checkedColor).fade(0.32).rgb().string();
};
const getSelectionControlIOSColor = ({
theme,
disabled,
customColor
}) => {
const checkedColor = getIOSCheckedColor({
theme,
disabled,
customColor
});
return {
checkedColor,
rippleColor: getIOSRippleColor({
theme,
checkedColor,
disabled
})
};
};
exports.getSelectionControlIOSColor = getSelectionControlIOSColor;
//# sourceMappingURL=utils.js.map

View File

@@ -0,0 +1 @@
{"version":3,"names":["_color","_interopRequireDefault","require","e","__esModule","default","getAndroidCheckedColor","theme","customColor","isV3","colors","primary","accent","getAndroidUncheckedColor","customUncheckedColor","onSurfaceVariant","dark","color","text","alpha","rgb","string","getAndroidRippleColor","checkedColor","disabled","onSurface","fade","getAndroidControlColor","checked","uncheckedColor","onSurfaceDisabled","getAndroidSelectionControlColor","rippleColor","selectionControlColor","exports","getIOSCheckedColor","getIOSRippleColor","getSelectionControlIOSColor"],"sourceRoot":"../../../../src","sources":["components/Checkbox/utils.ts"],"mappings":"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","ignoreList":[]}