aport-tools 4.0.1 → 4.0.21

Sign up to get free protection for your applications and to get access to all the features.
@@ -0,0 +1,57 @@
1
+ import React from 'react';
2
+ import { StyleProp, ViewStyle, GestureResponderEvent } from 'react-native';
3
+ /**
4
+ * Interface for the props that the Card component accepts.
5
+ */
6
+ interface CardProps {
7
+ /**
8
+ * Content to be rendered inside the Card.
9
+ */
10
+ children: React.ReactNode;
11
+ /**
12
+ * Style to be applied to the Card container.
13
+ */
14
+ style?: StyleProp<ViewStyle>;
15
+ /**
16
+ * Function to call when the Card is pressed.
17
+ */
18
+ onPress?: (event: GestureResponderEvent) => void;
19
+ /**
20
+ * Whether the Card is pressable. Defaults to false.
21
+ */
22
+ pressable?: boolean;
23
+ /**
24
+ * Border radius of the Card. Defaults to 12.
25
+ */
26
+ borderRadius?: number;
27
+ /**
28
+ * Elevation of the Card (Android only).
29
+ */
30
+ elevation?: number;
31
+ /**
32
+ * Shadow properties for iOS.
33
+ */
34
+ shadowProps?: {
35
+ shadowColor?: string;
36
+ shadowOffset?: {
37
+ width: number;
38
+ height: number;
39
+ };
40
+ shadowOpacity?: number;
41
+ shadowRadius?: number;
42
+ };
43
+ }
44
+ /**
45
+ * Card component that adapts its styles based on the current theme.
46
+ * Supports dynamic styling, shadows, and press animations.
47
+ *
48
+ * @param children - The content to be displayed inside the Card.
49
+ * @param style - Additional styles to apply to the Card.
50
+ * @param onPress - Function to execute when the Card is pressed.
51
+ * @param pressable - Determines if the Card is pressable. Defaults to false.
52
+ * @param borderRadius - Border radius of the Card. Defaults to 12.
53
+ * @param elevation - Elevation for Android shadow. Overrides default.
54
+ * @param shadowProps - Custom shadow properties for iOS. Overrides defaults.
55
+ */
56
+ declare const Card: React.FC<CardProps>;
57
+ export default Card;
@@ -0,0 +1 @@
1
+ export { default as Card } from './Card';
@@ -1,12 +1,48 @@
1
1
  import React from 'react';
2
+ /**
3
+ * Interface for the props that the Button component accepts.
4
+ */
2
5
  interface ButtonProps {
6
+ /**
7
+ * If true, the button is disabled and not pressable.
8
+ */
3
9
  disabled?: boolean;
10
+ /**
11
+ * If true, the button expands to full width of its container.
12
+ */
4
13
  isFullWidth?: boolean;
14
+ /**
15
+ * Text content of the button.
16
+ */
5
17
  children?: string;
18
+ /**
19
+ * Function to call when the button is pressed.
20
+ */
6
21
  onPress?: () => void;
22
+ /**
23
+ * If true, the button has rounded corners.
24
+ */
7
25
  rounded?: boolean;
26
+ /**
27
+ * Custom border radius value. Overrides the `rounded` prop if provided.
28
+ */
8
29
  borderRadius?: number;
30
+ /**
31
+ * Specifies the button type for styling. Can be 'submit', 'button', or 'cancel'.
32
+ */
9
33
  type?: 'submit' | 'button' | 'cancel';
10
34
  }
35
+ /**
36
+ * Button component that adapts its styles based on the current theme.
37
+ * Supports dynamic styling, full-width option, rounded corners, and different types.
38
+ *
39
+ * @param disabled - If true, the button is disabled and not pressable.
40
+ * @param isFullWidth - If true, the button expands to full width of its container.
41
+ * @param children - Text content of the button.
42
+ * @param onPress - Function to call when the button is pressed.
43
+ * @param rounded - If true, the button has rounded corners.
44
+ * @param borderRadius - Custom border radius value. Overrides the `rounded` prop if provided.
45
+ * @param type - Specifies the button type for styling ('submit', 'button', 'cancel').
46
+ */
11
47
  declare const Button: React.FC<ButtonProps>;
12
48
  export default Button;
package/dist/index.d.ts CHANGED
@@ -1,2 +1,3 @@
1
1
  export * from './theme';
2
2
  export * from './buttons';
3
+ export * from './cards';
package/dist/index.esm.js CHANGED
@@ -1,7 +1,8 @@
1
- /*! aport-tools v4.0.1 | ISC */
1
+ /*! aport-tools v4.0.21 | ISC */
2
2
  import React, { createContext, useState, useEffect, useContext, useMemo } from 'react';
3
- import { Appearance, StyleSheet, View, Text, Switch, TouchableOpacity } from 'react-native';
3
+ import { Appearance, StyleSheet, View, Text, Switch, TouchableOpacity, Platform } from 'react-native';
4
4
  import { useAsyncStorage } from '@react-native-async-storage/async-storage';
5
+ import Animated, { useSharedValue, useAnimatedStyle, withSpring } from 'react-native-reanimated';
5
6
 
6
7
  /******************************************************************************
7
8
  Copyright (c) Microsoft Corporation.
@@ -20,6 +21,17 @@ PERFORMANCE OF THIS SOFTWARE.
20
21
  /* global Reflect, Promise, SuppressedError, Symbol, Iterator */
21
22
 
22
23
 
24
+ var __assign = function() {
25
+ __assign = Object.assign || function __assign(t) {
26
+ for (var s, i = 1, n = arguments.length; i < n; i++) {
27
+ s = arguments[i];
28
+ for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p)) t[p] = s[p];
29
+ }
30
+ return t;
31
+ };
32
+ return __assign.apply(this, arguments);
33
+ };
34
+
23
35
  function __awaiter(thisArg, _arguments, P, generator) {
24
36
  function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
25
37
  return new (P || (P = Promise))(function (resolve, reject) {
@@ -96,8 +108,15 @@ var lightTheme = {
96
108
  g: 0,
97
109
  b: 0
98
110
  }
111
+ },
112
+ textButton: {
113
+ hex: '#FFFFFF',
114
+ rgb: {
115
+ r: 255,
116
+ g: 255,
117
+ b: 255
118
+ }
99
119
  }
100
- // Add more categories as needed
101
120
  };
102
121
  var darkTheme = {
103
122
  primary: {
@@ -131,6 +150,14 @@ var darkTheme = {
131
150
  g: 255,
132
151
  b: 255
133
152
  }
153
+ },
154
+ textButton: {
155
+ hex: '#FFFFFF',
156
+ rgb: {
157
+ r: 255,
158
+ g: 255,
159
+ b: 255
160
+ }
134
161
  }
135
162
  // Add more categories as needed
136
163
  };
@@ -234,9 +261,9 @@ var ThemeToggle = function ThemeToggle() {
234
261
  toggleTheme = _a.toggleTheme;
235
262
  var isDarkMode = theme.colors === darkTheme;
236
263
  return /*#__PURE__*/React.createElement(View, {
237
- style: styles$1.container
264
+ style: styles$2.container
238
265
  }, /*#__PURE__*/React.createElement(Text, {
239
- style: [styles$1.text, {
266
+ style: [styles$2.text, {
240
267
  color: theme.colors.text.hex
241
268
  }]
242
269
  }, "Dark Mode"), /*#__PURE__*/React.createElement(Switch, {
@@ -249,7 +276,7 @@ var ThemeToggle = function ThemeToggle() {
249
276
  thumbColor: isDarkMode ? darkTheme.secondary.hex : lightTheme.primary.hex
250
277
  }));
251
278
  };
252
- var styles$1 = StyleSheet.create({
279
+ var styles$2 = StyleSheet.create({
253
280
  container: {
254
281
  marginTop: 20,
255
282
  flexDirection: 'row',
@@ -262,7 +289,14 @@ var styles$1 = StyleSheet.create({
262
289
  });
263
290
 
264
291
  // src/components/Button.tsx
265
- // Function to determine the styles based on the button type and whether it is disabled
292
+ /**
293
+ * Determines the styles based on the button type and whether it is disabled.
294
+ *
295
+ * @param type - The type of the button ('submit', 'button', 'cancel').
296
+ * @param disabled - Whether the button is disabled.
297
+ * @param themeColors - The theme colors.
298
+ * @returns The computed style for the button.
299
+ */
266
300
  function typeStyles(type, disabled, themeColors) {
267
301
  switch (type) {
268
302
  case 'submit':
@@ -287,7 +321,18 @@ function typeStyles(type, disabled, themeColors) {
287
321
  return {};
288
322
  }
289
323
  }
290
- // Button component definition
324
+ /**
325
+ * Button component that adapts its styles based on the current theme.
326
+ * Supports dynamic styling, full-width option, rounded corners, and different types.
327
+ *
328
+ * @param disabled - If true, the button is disabled and not pressable.
329
+ * @param isFullWidth - If true, the button expands to full width of its container.
330
+ * @param children - Text content of the button.
331
+ * @param onPress - Function to call when the button is pressed.
332
+ * @param rounded - If true, the button has rounded corners.
333
+ * @param borderRadius - Custom border radius value. Overrides the `rounded` prop if provided.
334
+ * @param type - Specifies the button type for styling ('submit', 'button', 'cancel').
335
+ */
291
336
  var Button = function Button(_a) {
292
337
  var children = _a.children,
293
338
  _b = _a.disabled,
@@ -301,24 +346,19 @@ var Button = function Button(_a) {
301
346
  _f = _a.isFullWidth,
302
347
  isFullWidth = _f === void 0 ? false : _f,
303
348
  onPress = _a.onPress;
304
- // Access the current theme from ThemeContext
305
349
  var theme = useContext(ThemeContext).theme;
306
- var colors = theme.colors; // Extract colors from the theme
307
- // Use useMemo to memoize the computed styles
350
+ var colors = theme.colors;
308
351
  var computedStyles = useMemo(function () {
309
- return StyleSheet.flatten([styles.button, typeStyles(type, disabled, colors),
310
- // Use colors directly
311
- rounded && {
352
+ return StyleSheet.flatten([styles$1.button, typeStyles(type, disabled, colors), rounded && {
312
353
  borderRadius: borderRadius
313
354
  }, isFullWidth && {
314
355
  width: '100%'
315
- }, disabled && styles.disabled]);
356
+ }, disabled && styles$1.disabled]);
316
357
  }, [type, disabled, rounded, borderRadius, isFullWidth, colors]);
317
- // Determine text color based on button type and theme
318
358
  var textColor = useMemo(function () {
319
359
  return {
320
- color: colors.text.hex
321
- }; // Access text color from the theme
360
+ color: colors.textButton.hex
361
+ };
322
362
  }, [type, colors]);
323
363
  return /*#__PURE__*/React.createElement(TouchableOpacity, {
324
364
  style: computedStyles,
@@ -329,8 +369,7 @@ var Button = function Button(_a) {
329
369
  style: textColor
330
370
  }, Array.isArray(children) ? children.join('').toUpperCase() : children === null || children === void 0 ? void 0 : children.toUpperCase()));
331
371
  };
332
- // Define basic styles for the button
333
- var styles = StyleSheet.create({
372
+ var styles$1 = StyleSheet.create({
334
373
  button: {
335
374
  justifyContent: 'center',
336
375
  alignItems: 'center',
@@ -342,5 +381,88 @@ var styles = StyleSheet.create({
342
381
  }
343
382
  });
344
383
 
345
- export { Button, ThemeContext, ThemeProvider, ThemeToggle };
384
+ // src/cards/Card.tsx
385
+ /**
386
+ * Card component that adapts its styles based on the current theme.
387
+ * Supports dynamic styling, shadows, and press animations.
388
+ *
389
+ * @param children - The content to be displayed inside the Card.
390
+ * @param style - Additional styles to apply to the Card.
391
+ * @param onPress - Function to execute when the Card is pressed.
392
+ * @param pressable - Determines if the Card is pressable. Defaults to false.
393
+ * @param borderRadius - Border radius of the Card. Defaults to 12.
394
+ * @param elevation - Elevation for Android shadow. Overrides default.
395
+ * @param shadowProps - Custom shadow properties for iOS. Overrides defaults.
396
+ */
397
+ var Card = function Card(_a) {
398
+ var children = _a.children,
399
+ style = _a.style,
400
+ onPress = _a.onPress,
401
+ _b = _a.pressable,
402
+ pressable = _b === void 0 ? false : _b,
403
+ _c = _a.borderRadius,
404
+ borderRadius = _c === void 0 ? 12 : _c,
405
+ _d = _a.elevation,
406
+ elevation = _d === void 0 ? 4 : _d,
407
+ _e = _a.shadowProps,
408
+ shadowProps = _e === void 0 ? {} : _e;
409
+ var theme = useContext(ThemeContext).theme;
410
+ var colors = theme.colors;
411
+ // Animation state
412
+ var scale = useSharedValue(1);
413
+ var animatedStyle = useAnimatedStyle(function () {
414
+ return {
415
+ transform: [{
416
+ scale: scale.value
417
+ }]
418
+ };
419
+ });
420
+ var handlePressIn = function handlePressIn() {
421
+ scale.value = withSpring(0.95);
422
+ };
423
+ var handlePressOut = function handlePressOut() {
424
+ scale.value = withSpring(1);
425
+ };
426
+ // Default shadow styles
427
+ var defaultShadow = Platform.select({
428
+ ios: __assign({
429
+ shadowColor: colors.text.hex,
430
+ shadowOffset: {
431
+ width: 0,
432
+ height: 2
433
+ },
434
+ shadowOpacity: 0.1,
435
+ shadowRadius: 4
436
+ }, shadowProps),
437
+ android: {
438
+ elevation: elevation
439
+ }
440
+ });
441
+ return pressable ? (/*#__PURE__*/React.createElement(TouchableOpacity, {
442
+ activeOpacity: 0.8,
443
+ onPress: onPress,
444
+ onPressIn: handlePressIn,
445
+ onPressOut: handlePressOut,
446
+ style: [styles.container, {
447
+ borderRadius: borderRadius,
448
+ backgroundColor: colors.background.hex
449
+ }, defaultShadow, style]
450
+ }, /*#__PURE__*/React.createElement(Animated.View, {
451
+ style: [animatedStyle]
452
+ }, children))) : (/*#__PURE__*/React.createElement(View, {
453
+ style: [styles.container, {
454
+ borderRadius: borderRadius,
455
+ backgroundColor: colors.background.hex
456
+ }, defaultShadow, style]
457
+ }, children));
458
+ };
459
+ var styles = StyleSheet.create({
460
+ container: {
461
+ padding: 16,
462
+ borderRadius: 12
463
+ // Shadows are handled dynamically based on platform
464
+ }
465
+ });
466
+
467
+ export { Button, Card, ThemeContext, ThemeProvider, ThemeToggle };
346
468
  //# sourceMappingURL=index.esm.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.esm.js","sources":["../node_modules/tslib/tslib.es6.js","../src/styles/colors.ts","../src/theme/ThemeContext.tsx","../src/theme/ThemeToggle.tsx","../src/components/Button.tsx"],"sourcesContent":["/******************************************************************************\r\nCopyright (c) Microsoft Corporation.\r\n\r\nPermission to use, copy, modify, and/or distribute this software for any\r\npurpose with or without fee is hereby granted.\r\n\r\nTHE SOFTWARE IS PROVIDED \"AS IS\" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH\r\nREGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY\r\nAND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT,\r\nINDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM\r\nLOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR\r\nOTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR\r\nPERFORMANCE OF THIS SOFTWARE.\r\n***************************************************************************** */\r\n/* global Reflect, Promise, SuppressedError, Symbol, Iterator */\r\n\r\nvar extendStatics = function(d, b) {\r\n extendStatics = Object.setPrototypeOf ||\r\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\r\n function (d, b) { for (var p in b) if (Object.prototype.hasOwnProperty.call(b, p)) d[p] = b[p]; };\r\n return extendStatics(d, b);\r\n};\r\n\r\nexport function __extends(d, b) {\r\n if (typeof b !== \"function\" && b !== null)\r\n throw new TypeError(\"Class extends value \" + String(b) + \" is not a constructor or null\");\r\n extendStatics(d, b);\r\n function __() { this.constructor = d; }\r\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\r\n}\r\n\r\nexport var __assign = function() {\r\n __assign = Object.assign || function __assign(t) {\r\n for (var s, i = 1, n = arguments.length; i < n; i++) {\r\n s = arguments[i];\r\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p)) t[p] = s[p];\r\n }\r\n return t;\r\n }\r\n return __assign.apply(this, arguments);\r\n}\r\n\r\nexport function __rest(s, e) {\r\n var t = {};\r\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0)\r\n t[p] = s[p];\r\n if (s != null && typeof Object.getOwnPropertySymbols === \"function\")\r\n for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {\r\n if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i]))\r\n t[p[i]] = s[p[i]];\r\n }\r\n return t;\r\n}\r\n\r\nexport function __decorate(decorators, target, key, desc) {\r\n var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;\r\n if (typeof Reflect === \"object\" && typeof Reflect.decorate === \"function\") r = Reflect.decorate(decorators, target, key, desc);\r\n else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;\r\n return c > 3 && r && Object.defineProperty(target, key, r), r;\r\n}\r\n\r\nexport function __param(paramIndex, decorator) {\r\n return function (target, key) { decorator(target, key, paramIndex); }\r\n}\r\n\r\nexport function __esDecorate(ctor, descriptorIn, decorators, contextIn, initializers, extraInitializers) {\r\n function accept(f) { if (f !== void 0 && typeof f !== \"function\") throw new TypeError(\"Function expected\"); return f; }\r\n var kind = contextIn.kind, key = kind === \"getter\" ? \"get\" : kind === \"setter\" ? \"set\" : \"value\";\r\n var target = !descriptorIn && ctor ? contextIn[\"static\"] ? ctor : ctor.prototype : null;\r\n var descriptor = descriptorIn || (target ? Object.getOwnPropertyDescriptor(target, contextIn.name) : {});\r\n var _, done = false;\r\n for (var i = decorators.length - 1; i >= 0; i--) {\r\n var context = {};\r\n for (var p in contextIn) context[p] = p === \"access\" ? {} : contextIn[p];\r\n for (var p in contextIn.access) context.access[p] = contextIn.access[p];\r\n context.addInitializer = function (f) { if (done) throw new TypeError(\"Cannot add initializers after decoration has completed\"); extraInitializers.push(accept(f || null)); };\r\n var result = (0, decorators[i])(kind === \"accessor\" ? { get: descriptor.get, set: descriptor.set } : descriptor[key], context);\r\n if (kind === \"accessor\") {\r\n if (result === void 0) continue;\r\n if (result === null || typeof result !== \"object\") throw new TypeError(\"Object expected\");\r\n if (_ = accept(result.get)) descriptor.get = _;\r\n if (_ = accept(result.set)) descriptor.set = _;\r\n if (_ = accept(result.init)) initializers.unshift(_);\r\n }\r\n else if (_ = accept(result)) {\r\n if (kind === \"field\") initializers.unshift(_);\r\n else descriptor[key] = _;\r\n }\r\n }\r\n if (target) Object.defineProperty(target, contextIn.name, descriptor);\r\n done = true;\r\n};\r\n\r\nexport function __runInitializers(thisArg, initializers, value) {\r\n var useValue = arguments.length > 2;\r\n for (var i = 0; i < initializers.length; i++) {\r\n value = useValue ? initializers[i].call(thisArg, value) : initializers[i].call(thisArg);\r\n }\r\n return useValue ? value : void 0;\r\n};\r\n\r\nexport function __propKey(x) {\r\n return typeof x === \"symbol\" ? x : \"\".concat(x);\r\n};\r\n\r\nexport function __setFunctionName(f, name, prefix) {\r\n if (typeof name === \"symbol\") name = name.description ? \"[\".concat(name.description, \"]\") : \"\";\r\n return Object.defineProperty(f, \"name\", { configurable: true, value: prefix ? \"\".concat(prefix, \" \", name) : name });\r\n};\r\n\r\nexport function __metadata(metadataKey, metadataValue) {\r\n if (typeof Reflect === \"object\" && typeof Reflect.metadata === \"function\") return Reflect.metadata(metadataKey, metadataValue);\r\n}\r\n\r\nexport function __awaiter(thisArg, _arguments, P, generator) {\r\n function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }\r\n return new (P || (P = Promise))(function (resolve, reject) {\r\n function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }\r\n function rejected(value) { try { step(generator[\"throw\"](value)); } catch (e) { reject(e); } }\r\n function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }\r\n step((generator = generator.apply(thisArg, _arguments || [])).next());\r\n });\r\n}\r\n\r\nexport function __generator(thisArg, body) {\r\n var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g = Object.create((typeof Iterator === \"function\" ? Iterator : Object).prototype);\r\n return g.next = verb(0), g[\"throw\"] = verb(1), g[\"return\"] = verb(2), typeof Symbol === \"function\" && (g[Symbol.iterator] = function() { return this; }), g;\r\n function verb(n) { return function (v) { return step([n, v]); }; }\r\n function step(op) {\r\n if (f) throw new TypeError(\"Generator is already executing.\");\r\n while (g && (g = 0, op[0] && (_ = 0)), _) try {\r\n if (f = 1, y && (t = op[0] & 2 ? y[\"return\"] : op[0] ? y[\"throw\"] || ((t = y[\"return\"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;\r\n if (y = 0, t) op = [op[0] & 2, t.value];\r\n switch (op[0]) {\r\n case 0: case 1: t = op; break;\r\n case 4: _.label++; return { value: op[1], done: false };\r\n case 5: _.label++; y = op[1]; op = [0]; continue;\r\n case 7: op = _.ops.pop(); _.trys.pop(); continue;\r\n default:\r\n if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }\r\n if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }\r\n if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }\r\n if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }\r\n if (t[2]) _.ops.pop();\r\n _.trys.pop(); continue;\r\n }\r\n op = body.call(thisArg, _);\r\n } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }\r\n if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };\r\n }\r\n}\r\n\r\nexport var __createBinding = Object.create ? (function(o, m, k, k2) {\r\n if (k2 === undefined) k2 = k;\r\n var desc = Object.getOwnPropertyDescriptor(m, k);\r\n if (!desc || (\"get\" in desc ? !m.__esModule : desc.writable || desc.configurable)) {\r\n desc = { enumerable: true, get: function() { return m[k]; } };\r\n }\r\n Object.defineProperty(o, k2, desc);\r\n}) : (function(o, m, k, k2) {\r\n if (k2 === undefined) k2 = k;\r\n o[k2] = m[k];\r\n});\r\n\r\nexport function __exportStar(m, o) {\r\n for (var p in m) if (p !== \"default\" && !Object.prototype.hasOwnProperty.call(o, p)) __createBinding(o, m, p);\r\n}\r\n\r\nexport function __values(o) {\r\n var s = typeof Symbol === \"function\" && Symbol.iterator, m = s && o[s], i = 0;\r\n if (m) return m.call(o);\r\n if (o && typeof o.length === \"number\") return {\r\n next: function () {\r\n if (o && i >= o.length) o = void 0;\r\n return { value: o && o[i++], done: !o };\r\n }\r\n };\r\n throw new TypeError(s ? \"Object is not iterable.\" : \"Symbol.iterator is not defined.\");\r\n}\r\n\r\nexport function __read(o, n) {\r\n var m = typeof Symbol === \"function\" && o[Symbol.iterator];\r\n if (!m) return o;\r\n var i = m.call(o), r, ar = [], e;\r\n try {\r\n while ((n === void 0 || n-- > 0) && !(r = i.next()).done) ar.push(r.value);\r\n }\r\n catch (error) { e = { error: error }; }\r\n finally {\r\n try {\r\n if (r && !r.done && (m = i[\"return\"])) m.call(i);\r\n }\r\n finally { if (e) throw e.error; }\r\n }\r\n return ar;\r\n}\r\n\r\n/** @deprecated */\r\nexport function __spread() {\r\n for (var ar = [], i = 0; i < arguments.length; i++)\r\n ar = ar.concat(__read(arguments[i]));\r\n return ar;\r\n}\r\n\r\n/** @deprecated */\r\nexport function __spreadArrays() {\r\n for (var s = 0, i = 0, il = arguments.length; i < il; i++) s += arguments[i].length;\r\n for (var r = Array(s), k = 0, i = 0; i < il; i++)\r\n for (var a = arguments[i], j = 0, jl = a.length; j < jl; j++, k++)\r\n r[k] = a[j];\r\n return r;\r\n}\r\n\r\nexport function __spreadArray(to, from, pack) {\r\n if (pack || arguments.length === 2) for (var i = 0, l = from.length, ar; i < l; i++) {\r\n if (ar || !(i in from)) {\r\n if (!ar) ar = Array.prototype.slice.call(from, 0, i);\r\n ar[i] = from[i];\r\n }\r\n }\r\n return to.concat(ar || Array.prototype.slice.call(from));\r\n}\r\n\r\nexport function __await(v) {\r\n return this instanceof __await ? (this.v = v, this) : new __await(v);\r\n}\r\n\r\nexport function __asyncGenerator(thisArg, _arguments, generator) {\r\n if (!Symbol.asyncIterator) throw new TypeError(\"Symbol.asyncIterator is not defined.\");\r\n var g = generator.apply(thisArg, _arguments || []), i, q = [];\r\n return i = Object.create((typeof AsyncIterator === \"function\" ? AsyncIterator : Object).prototype), verb(\"next\"), verb(\"throw\"), verb(\"return\", awaitReturn), i[Symbol.asyncIterator] = function () { return this; }, i;\r\n function awaitReturn(f) { return function (v) { return Promise.resolve(v).then(f, reject); }; }\r\n function verb(n, f) { if (g[n]) { i[n] = function (v) { return new Promise(function (a, b) { q.push([n, v, a, b]) > 1 || resume(n, v); }); }; if (f) i[n] = f(i[n]); } }\r\n function resume(n, v) { try { step(g[n](v)); } catch (e) { settle(q[0][3], e); } }\r\n function step(r) { r.value instanceof __await ? Promise.resolve(r.value.v).then(fulfill, reject) : settle(q[0][2], r); }\r\n function fulfill(value) { resume(\"next\", value); }\r\n function reject(value) { resume(\"throw\", value); }\r\n function settle(f, v) { if (f(v), q.shift(), q.length) resume(q[0][0], q[0][1]); }\r\n}\r\n\r\nexport function __asyncDelegator(o) {\r\n var i, p;\r\n return i = {}, verb(\"next\"), verb(\"throw\", function (e) { throw e; }), verb(\"return\"), i[Symbol.iterator] = function () { return this; }, i;\r\n function verb(n, f) { i[n] = o[n] ? function (v) { return (p = !p) ? { value: __await(o[n](v)), done: false } : f ? f(v) : v; } : f; }\r\n}\r\n\r\nexport function __asyncValues(o) {\r\n if (!Symbol.asyncIterator) throw new TypeError(\"Symbol.asyncIterator is not defined.\");\r\n var m = o[Symbol.asyncIterator], i;\r\n return m ? m.call(o) : (o = typeof __values === \"function\" ? __values(o) : o[Symbol.iterator](), i = {}, verb(\"next\"), verb(\"throw\"), verb(\"return\"), i[Symbol.asyncIterator] = function () { return this; }, i);\r\n function verb(n) { i[n] = o[n] && function (v) { return new Promise(function (resolve, reject) { v = o[n](v), settle(resolve, reject, v.done, v.value); }); }; }\r\n function settle(resolve, reject, d, v) { Promise.resolve(v).then(function(v) { resolve({ value: v, done: d }); }, reject); }\r\n}\r\n\r\nexport function __makeTemplateObject(cooked, raw) {\r\n if (Object.defineProperty) { Object.defineProperty(cooked, \"raw\", { value: raw }); } else { cooked.raw = raw; }\r\n return cooked;\r\n};\r\n\r\nvar __setModuleDefault = Object.create ? (function(o, v) {\r\n Object.defineProperty(o, \"default\", { enumerable: true, value: v });\r\n}) : function(o, v) {\r\n o[\"default\"] = v;\r\n};\r\n\r\nexport function __importStar(mod) {\r\n if (mod && mod.__esModule) return mod;\r\n var result = {};\r\n if (mod != null) for (var k in mod) if (k !== \"default\" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);\r\n __setModuleDefault(result, mod);\r\n return result;\r\n}\r\n\r\nexport function __importDefault(mod) {\r\n return (mod && mod.__esModule) ? mod : { default: mod };\r\n}\r\n\r\nexport function __classPrivateFieldGet(receiver, state, kind, f) {\r\n if (kind === \"a\" && !f) throw new TypeError(\"Private accessor was defined without a getter\");\r\n if (typeof state === \"function\" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError(\"Cannot read private member from an object whose class did not declare it\");\r\n return kind === \"m\" ? f : kind === \"a\" ? f.call(receiver) : f ? f.value : state.get(receiver);\r\n}\r\n\r\nexport function __classPrivateFieldSet(receiver, state, value, kind, f) {\r\n if (kind === \"m\") throw new TypeError(\"Private method is not writable\");\r\n if (kind === \"a\" && !f) throw new TypeError(\"Private accessor was defined without a setter\");\r\n if (typeof state === \"function\" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError(\"Cannot write private member to an object whose class did not declare it\");\r\n return (kind === \"a\" ? f.call(receiver, value) : f ? f.value = value : state.set(receiver, value)), value;\r\n}\r\n\r\nexport function __classPrivateFieldIn(state, receiver) {\r\n if (receiver === null || (typeof receiver !== \"object\" && typeof receiver !== \"function\")) throw new TypeError(\"Cannot use 'in' operator on non-object\");\r\n return typeof state === \"function\" ? receiver === state : state.has(receiver);\r\n}\r\n\r\nexport function __addDisposableResource(env, value, async) {\r\n if (value !== null && value !== void 0) {\r\n if (typeof value !== \"object\" && typeof value !== \"function\") throw new TypeError(\"Object expected.\");\r\n var dispose, inner;\r\n if (async) {\r\n if (!Symbol.asyncDispose) throw new TypeError(\"Symbol.asyncDispose is not defined.\");\r\n dispose = value[Symbol.asyncDispose];\r\n }\r\n if (dispose === void 0) {\r\n if (!Symbol.dispose) throw new TypeError(\"Symbol.dispose is not defined.\");\r\n dispose = value[Symbol.dispose];\r\n if (async) inner = dispose;\r\n }\r\n if (typeof dispose !== \"function\") throw new TypeError(\"Object not disposable.\");\r\n if (inner) dispose = function() { try { inner.call(this); } catch (e) { return Promise.reject(e); } };\r\n env.stack.push({ value: value, dispose: dispose, async: async });\r\n }\r\n else if (async) {\r\n env.stack.push({ async: true });\r\n }\r\n return value;\r\n\r\n}\r\n\r\nvar _SuppressedError = typeof SuppressedError === \"function\" ? SuppressedError : function (error, suppressed, message) {\r\n var e = new Error(message);\r\n return e.name = \"SuppressedError\", e.error = error, e.suppressed = suppressed, e;\r\n};\r\n\r\nexport function __disposeResources(env) {\r\n function fail(e) {\r\n env.error = env.hasError ? new _SuppressedError(e, env.error, \"An error was suppressed during disposal.\") : e;\r\n env.hasError = true;\r\n }\r\n var r, s = 0;\r\n function next() {\r\n while (r = env.stack.pop()) {\r\n try {\r\n if (!r.async && s === 1) return s = 0, env.stack.push(r), Promise.resolve().then(next);\r\n if (r.dispose) {\r\n var result = r.dispose.call(r.value);\r\n if (r.async) return s |= 2, Promise.resolve(result).then(next, function(e) { fail(e); return next(); });\r\n }\r\n else s |= 1;\r\n }\r\n catch (e) {\r\n fail(e);\r\n }\r\n }\r\n if (s === 1) return env.hasError ? Promise.reject(env.error) : Promise.resolve();\r\n if (env.hasError) throw env.error;\r\n }\r\n return next();\r\n}\r\n\r\nexport default {\r\n __extends: __extends,\r\n __assign: __assign,\r\n __rest: __rest,\r\n __decorate: __decorate,\r\n __param: __param,\r\n __metadata: __metadata,\r\n __awaiter: __awaiter,\r\n __generator: __generator,\r\n __createBinding: __createBinding,\r\n __exportStar: __exportStar,\r\n __values: __values,\r\n __read: __read,\r\n __spread: __spread,\r\n __spreadArrays: __spreadArrays,\r\n __spreadArray: __spreadArray,\r\n __await: __await,\r\n __asyncGenerator: __asyncGenerator,\r\n __asyncDelegator: __asyncDelegator,\r\n __asyncValues: __asyncValues,\r\n __makeTemplateObject: __makeTemplateObject,\r\n __importStar: __importStar,\r\n __importDefault: __importDefault,\r\n __classPrivateFieldGet: __classPrivateFieldGet,\r\n __classPrivateFieldSet: __classPrivateFieldSet,\r\n __classPrivateFieldIn: __classPrivateFieldIn,\r\n __addDisposableResource: __addDisposableResource,\r\n __disposeResources: __disposeResources,\r\n};\r\n","// src/styles/colors.ts\n\nexport interface RGB {\n r: number;\n g: number;\n b: number;\n}\n\nexport interface Color {\n hex: string;\n rgb: RGB;\n}\n\nexport interface ThemeColors {\n primary: Color;\n secondary: Color;\n background: Color;\n text: Color;\n // Add more categories as needed\n}\n\nexport const lightTheme: ThemeColors = {\n primary: {\n hex: '#1A73E8',\n rgb: { r: 26, g: 115, b: 232 },\n },\n secondary: {\n hex: '#F0F6FF',\n rgb: { r: 240, g: 246, b: 255 },\n },\n background: {\n hex: '#FFFFFF',\n rgb: { r: 255, g: 255, b: 255 },\n },\n text: {\n hex: '#000000',\n rgb: { r: 0, g: 0, b: 0 },\n },\n // Add more categories as needed\n};\n\nexport const darkTheme: ThemeColors = {\n primary: {\n hex: '#BB86FC',\n rgb: { r: 187, g: 134, b: 252 },\n },\n secondary: {\n hex: '#03DAC6',\n rgb: { r: 3, g: 218, b: 198 },\n },\n background: {\n hex: '#121212',\n rgb: { r: 18, g: 18, b: 18 },\n },\n text: {\n hex: '#FFFFFF',\n rgb: { r: 255, g: 255, b: 255 },\n },\n // Add more categories as needed\n};\n","import React, { createContext, useState, useEffect, ReactNode } from 'react';\nimport { Appearance, ColorSchemeName } from 'react-native';\nimport { useAsyncStorage } from '@react-native-async-storage/async-storage'; // Import useAsyncStorage\nimport { lightTheme, darkTheme } from '../styles/colors';\nimport { Theme } from '../styles/theme';\n\n/**\n * Interface for the properties provided by ThemeContext.\n */\ninterface ThemeContextProps {\n /**\n * The current theme, containing color definitions.\n */\n theme: Theme;\n\n /**\n * Function to toggle between light and dark themes.\n */\n toggleTheme: () => void;\n}\n\n/**\n * React context for managing theme-related data and functions.\n */\nexport const ThemeContext = createContext<ThemeContextProps>({\n theme: { colors: lightTheme },\n toggleTheme: () => {},\n});\n\n/**\n * Props for the ThemeProvider component.\n */\ninterface ThemeProviderProps {\n /**\n * Child components that will have access to the theme context.\n */\n children: ReactNode;\n\n /**\n * Optional initial theme. Defaults to system preference if not provided.\n */\n initialTheme?: 'light' | 'dark';\n}\n\n/**\n * ThemeProvider component that manages and provides theme data to its children.\n *\n * @param children - The child components that will consume the theme context.\n * @param initialTheme - Optional prop to set the initial theme.\n */\n\nexport const ThemeProvider: React.FC<ThemeProviderProps> = ({ children, initialTheme }) => {\n const [colorScheme, setColorScheme] = useState<ColorSchemeName | null>(null);\n \n // Use useAsyncStorage hook for managing the theme storage\n const { getItem, setItem } = useAsyncStorage('theme');\n\n useEffect(() => {\n const loadTheme = async () => {\n try {\n // const storedTheme = await getItem();\n // if (storedTheme === 'dark' || storedTheme === 'light') {\n // setColorScheme(storedTheme);\n //} \n if (initialTheme) {\n setColorScheme(initialTheme);\n } else {\n const systemTheme = Appearance.getColorScheme();\n setColorScheme(systemTheme);\n }\n } catch (error) {\n console.error('Failed to load theme.', error);\n setColorScheme(Appearance.getColorScheme());\n }\n };\n\n loadTheme();\n\n const subscription = Appearance.addChangeListener(({ colorScheme }) => {\n if (!colorScheme) return; // Prevent setting null\n setColorScheme(colorScheme);\n });\n\n return () => subscription.remove();\n }, [initialTheme, getItem]);\n\n const toggleTheme = async () => {\n try {\n const newTheme = colorScheme === 'dark' ? 'light' : 'dark';\n setColorScheme(newTheme);\n await setItem(newTheme); // Use setItem from useAsyncStorage\n } catch (error) {\n console.error('Failed to toggle theme.', error);\n }\n };\n\n const theme: Theme = {\n colors: colorScheme === 'dark' ? darkTheme : lightTheme,\n };\n\n return (\n <ThemeContext.Provider value={{ theme, toggleTheme }}>\n {children}\n </ThemeContext.Provider>\n );\n};\n","import React, { useContext } from 'react';\nimport { Switch, View, Text, StyleSheet } from 'react-native';\nimport { ThemeContext } from './ThemeContext';\nimport { darkTheme, lightTheme } from '../styles/colors';\n\nconst ThemeToggle: React.FC = () => {\n const { theme, toggleTheme } = useContext(ThemeContext);\n const isDarkMode = theme.colors === darkTheme;\n\n return (\n <View style={styles.container}>\n <Text style={[styles.text, { color: theme.colors.text.hex }]}>Dark Mode</Text>\n <Switch\n value={isDarkMode}\n onValueChange={toggleTheme}\n trackColor={{ false: lightTheme.secondary.hex, true: darkTheme.primary.hex }}\n thumbColor={isDarkMode ? darkTheme.secondary.hex : lightTheme.primary.hex}\n />\n </View>\n );\n};\n\nconst styles = StyleSheet.create({\n container: {\n marginTop: 20,\n flexDirection: 'row',\n alignItems: 'center',\n },\n text: {\n marginRight: 10,\n fontSize: 16,\n },\n});\n\nexport default ThemeToggle;\n","// src/components/Button.tsx\n\nimport React, { useMemo, useContext } from 'react';\nimport { Text, ViewStyle, StyleSheet, TouchableOpacity } from 'react-native';\nimport { ThemeContext } from '../theme/ThemeContext'; // Adjust path to your ThemeContext\nimport { ThemeColors } from '../styles/colors';\n\n// Define the interface for the props that the Button component will accept\ninterface ButtonProps {\n disabled?: boolean; // Optional: Disables the button if true\n isFullWidth?: boolean; // Optional: Expands the button to full width if true\n children?: string; // Optional: Text content of the button\n onPress?: () => void; // Optional: Function to call when the button is pressed\n rounded?: boolean; // Optional: Adds border radius if true\n borderRadius?: number; // Optional: Custom border radius value\n type?: 'submit' | 'button' | 'cancel'; // Optional: Specifies the button type for styling\n}\n\n// Function to determine the styles based on the button type and whether it is disabled\nfunction typeStyles(type?: string, disabled?: boolean, themeColors?: ThemeColors): ViewStyle {\n switch (type) {\n case 'submit':\n return {\n backgroundColor: `rgba(${themeColors?.primary.rgb.r}, ${themeColors?.primary.rgb.g}, ${themeColors?.primary.rgb.b}, ${\n disabled ? 0.5 : 1\n })`,\n borderWidth: 2,\n borderColor: themeColors?.primary.hex,\n };\n case 'button':\n return {\n backgroundColor: themeColors?.primary.hex,\n borderColor: themeColors?.secondary.hex,\n opacity: disabled ? 0.5 : 1,\n borderWidth: 2,\n };\n case 'cancel':\n return {\n backgroundColor: themeColors?.background.hex,\n borderWidth: 0,\n };\n default:\n return {};\n }\n}\n\n// Button component definition\nconst Button: React.FC<ButtonProps> = ({\n children,\n disabled = false,\n type = 'button',\n rounded = true,\n borderRadius = 30,\n isFullWidth = false,\n onPress,\n}) => {\n // Access the current theme from ThemeContext\n const { theme } = useContext(ThemeContext);\n const { colors } = theme; // Extract colors from the theme\n\n // Use useMemo to memoize the computed styles\n const computedStyles = useMemo(() => {\n return StyleSheet.flatten([\n styles.button,\n typeStyles(type, disabled, colors), // Use colors directly\n rounded && { borderRadius },\n isFullWidth && { width: '100%' },\n disabled && styles.disabled,\n ]);\n }, [type, disabled, rounded, borderRadius, isFullWidth, colors]);\n\n // Determine text color based on button type and theme\n const textColor = useMemo(() => {\n return { color: colors.text.hex }; // Access text color from the theme\n }, [type, colors]);\n\n return (\n <TouchableOpacity\n style={computedStyles as ViewStyle}\n disabled={disabled}\n onPress={onPress}\n activeOpacity={0.7}\n >\n <Text style={textColor}>\n {Array.isArray(children) ? children.join('').toUpperCase() : children?.toUpperCase()}\n </Text>\n </TouchableOpacity>\n );\n};\n\n// Define basic styles for the button\nconst styles = StyleSheet.create({\n button: {\n justifyContent: 'center',\n alignItems: 'center',\n paddingVertical: 10,\n paddingHorizontal: 20,\n },\n disabled: {\n opacity: 0.6,\n },\n});\n\nexport default Button;\n"],"names":["lightTheme","primary","hex","rgb","r","g","b","secondary","background","text","darkTheme","ThemeContext","createContext","theme","colors","toggleTheme","ThemeProvider","_a","children","initialTheme","_b","useState","colorScheme","setColorScheme","_c","useAsyncStorage","getItem","setItem","useEffect","loadTheme","__awaiter","systemTheme","Appearance","getColorScheme","error","console","subscription","addChangeListener","remove","newTheme","sent","error_1","React","createElement","Provider","value","ThemeToggle","useContext","isDarkMode","View","style","styles","container","Text","color","Switch","onValueChange","trackColor","thumbColor","StyleSheet","create","marginTop","flexDirection","alignItems","marginRight","fontSize","typeStyles","type","disabled","themeColors","backgroundColor","concat","borderWidth","borderColor","opacity","Button","_d","rounded","_e","borderRadius","_f","isFullWidth","onPress","computedStyles","useMemo","flatten","button","width","textColor","TouchableOpacity","activeOpacity","Array","isArray","join","toUpperCase","justifyContent","paddingVertical","paddingHorizontal"],"mappings":"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","x_google_ignoreList":[0]}
1
+ {"version":3,"file":"index.esm.js","sources":["../node_modules/tslib/tslib.es6.js","../src/styles/colors.ts","../src/theme/ThemeContext.tsx","../src/theme/ThemeToggle.tsx","../src/components/Button.tsx","../src/cards/Card.tsx"],"sourcesContent":["/******************************************************************************\r\nCopyright (c) Microsoft Corporation.\r\n\r\nPermission to use, copy, modify, and/or distribute this software for any\r\npurpose with or without fee is hereby granted.\r\n\r\nTHE SOFTWARE IS PROVIDED \"AS IS\" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH\r\nREGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY\r\nAND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT,\r\nINDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM\r\nLOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR\r\nOTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR\r\nPERFORMANCE OF THIS SOFTWARE.\r\n***************************************************************************** */\r\n/* global Reflect, Promise, SuppressedError, Symbol, Iterator */\r\n\r\nvar extendStatics = function(d, b) {\r\n extendStatics = Object.setPrototypeOf ||\r\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\r\n function (d, b) { for (var p in b) if (Object.prototype.hasOwnProperty.call(b, p)) d[p] = b[p]; };\r\n return extendStatics(d, b);\r\n};\r\n\r\nexport function __extends(d, b) {\r\n if (typeof b !== \"function\" && b !== null)\r\n throw new TypeError(\"Class extends value \" + String(b) + \" is not a constructor or null\");\r\n extendStatics(d, b);\r\n function __() { this.constructor = d; }\r\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\r\n}\r\n\r\nexport var __assign = function() {\r\n __assign = Object.assign || function __assign(t) {\r\n for (var s, i = 1, n = arguments.length; i < n; i++) {\r\n s = arguments[i];\r\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p)) t[p] = s[p];\r\n }\r\n return t;\r\n }\r\n return __assign.apply(this, arguments);\r\n}\r\n\r\nexport function __rest(s, e) {\r\n var t = {};\r\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0)\r\n t[p] = s[p];\r\n if (s != null && typeof Object.getOwnPropertySymbols === \"function\")\r\n for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {\r\n if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i]))\r\n t[p[i]] = s[p[i]];\r\n }\r\n return t;\r\n}\r\n\r\nexport function __decorate(decorators, target, key, desc) {\r\n var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;\r\n if (typeof Reflect === \"object\" && typeof Reflect.decorate === \"function\") r = Reflect.decorate(decorators, target, key, desc);\r\n else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;\r\n return c > 3 && r && Object.defineProperty(target, key, r), r;\r\n}\r\n\r\nexport function __param(paramIndex, decorator) {\r\n return function (target, key) { decorator(target, key, paramIndex); }\r\n}\r\n\r\nexport function __esDecorate(ctor, descriptorIn, decorators, contextIn, initializers, extraInitializers) {\r\n function accept(f) { if (f !== void 0 && typeof f !== \"function\") throw new TypeError(\"Function expected\"); return f; }\r\n var kind = contextIn.kind, key = kind === \"getter\" ? \"get\" : kind === \"setter\" ? \"set\" : \"value\";\r\n var target = !descriptorIn && ctor ? contextIn[\"static\"] ? ctor : ctor.prototype : null;\r\n var descriptor = descriptorIn || (target ? Object.getOwnPropertyDescriptor(target, contextIn.name) : {});\r\n var _, done = false;\r\n for (var i = decorators.length - 1; i >= 0; i--) {\r\n var context = {};\r\n for (var p in contextIn) context[p] = p === \"access\" ? {} : contextIn[p];\r\n for (var p in contextIn.access) context.access[p] = contextIn.access[p];\r\n context.addInitializer = function (f) { if (done) throw new TypeError(\"Cannot add initializers after decoration has completed\"); extraInitializers.push(accept(f || null)); };\r\n var result = (0, decorators[i])(kind === \"accessor\" ? { get: descriptor.get, set: descriptor.set } : descriptor[key], context);\r\n if (kind === \"accessor\") {\r\n if (result === void 0) continue;\r\n if (result === null || typeof result !== \"object\") throw new TypeError(\"Object expected\");\r\n if (_ = accept(result.get)) descriptor.get = _;\r\n if (_ = accept(result.set)) descriptor.set = _;\r\n if (_ = accept(result.init)) initializers.unshift(_);\r\n }\r\n else if (_ = accept(result)) {\r\n if (kind === \"field\") initializers.unshift(_);\r\n else descriptor[key] = _;\r\n }\r\n }\r\n if (target) Object.defineProperty(target, contextIn.name, descriptor);\r\n done = true;\r\n};\r\n\r\nexport function __runInitializers(thisArg, initializers, value) {\r\n var useValue = arguments.length > 2;\r\n for (var i = 0; i < initializers.length; i++) {\r\n value = useValue ? initializers[i].call(thisArg, value) : initializers[i].call(thisArg);\r\n }\r\n return useValue ? value : void 0;\r\n};\r\n\r\nexport function __propKey(x) {\r\n return typeof x === \"symbol\" ? x : \"\".concat(x);\r\n};\r\n\r\nexport function __setFunctionName(f, name, prefix) {\r\n if (typeof name === \"symbol\") name = name.description ? \"[\".concat(name.description, \"]\") : \"\";\r\n return Object.defineProperty(f, \"name\", { configurable: true, value: prefix ? \"\".concat(prefix, \" \", name) : name });\r\n};\r\n\r\nexport function __metadata(metadataKey, metadataValue) {\r\n if (typeof Reflect === \"object\" && typeof Reflect.metadata === \"function\") return Reflect.metadata(metadataKey, metadataValue);\r\n}\r\n\r\nexport function __awaiter(thisArg, _arguments, P, generator) {\r\n function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }\r\n return new (P || (P = Promise))(function (resolve, reject) {\r\n function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }\r\n function rejected(value) { try { step(generator[\"throw\"](value)); } catch (e) { reject(e); } }\r\n function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }\r\n step((generator = generator.apply(thisArg, _arguments || [])).next());\r\n });\r\n}\r\n\r\nexport function __generator(thisArg, body) {\r\n var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g = Object.create((typeof Iterator === \"function\" ? Iterator : Object).prototype);\r\n return g.next = verb(0), g[\"throw\"] = verb(1), g[\"return\"] = verb(2), typeof Symbol === \"function\" && (g[Symbol.iterator] = function() { return this; }), g;\r\n function verb(n) { return function (v) { return step([n, v]); }; }\r\n function step(op) {\r\n if (f) throw new TypeError(\"Generator is already executing.\");\r\n while (g && (g = 0, op[0] && (_ = 0)), _) try {\r\n if (f = 1, y && (t = op[0] & 2 ? y[\"return\"] : op[0] ? y[\"throw\"] || ((t = y[\"return\"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;\r\n if (y = 0, t) op = [op[0] & 2, t.value];\r\n switch (op[0]) {\r\n case 0: case 1: t = op; break;\r\n case 4: _.label++; return { value: op[1], done: false };\r\n case 5: _.label++; y = op[1]; op = [0]; continue;\r\n case 7: op = _.ops.pop(); _.trys.pop(); continue;\r\n default:\r\n if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }\r\n if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }\r\n if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }\r\n if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }\r\n if (t[2]) _.ops.pop();\r\n _.trys.pop(); continue;\r\n }\r\n op = body.call(thisArg, _);\r\n } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }\r\n if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };\r\n }\r\n}\r\n\r\nexport var __createBinding = Object.create ? (function(o, m, k, k2) {\r\n if (k2 === undefined) k2 = k;\r\n var desc = Object.getOwnPropertyDescriptor(m, k);\r\n if (!desc || (\"get\" in desc ? !m.__esModule : desc.writable || desc.configurable)) {\r\n desc = { enumerable: true, get: function() { return m[k]; } };\r\n }\r\n Object.defineProperty(o, k2, desc);\r\n}) : (function(o, m, k, k2) {\r\n if (k2 === undefined) k2 = k;\r\n o[k2] = m[k];\r\n});\r\n\r\nexport function __exportStar(m, o) {\r\n for (var p in m) if (p !== \"default\" && !Object.prototype.hasOwnProperty.call(o, p)) __createBinding(o, m, p);\r\n}\r\n\r\nexport function __values(o) {\r\n var s = typeof Symbol === \"function\" && Symbol.iterator, m = s && o[s], i = 0;\r\n if (m) return m.call(o);\r\n if (o && typeof o.length === \"number\") return {\r\n next: function () {\r\n if (o && i >= o.length) o = void 0;\r\n return { value: o && o[i++], done: !o };\r\n }\r\n };\r\n throw new TypeError(s ? \"Object is not iterable.\" : \"Symbol.iterator is not defined.\");\r\n}\r\n\r\nexport function __read(o, n) {\r\n var m = typeof Symbol === \"function\" && o[Symbol.iterator];\r\n if (!m) return o;\r\n var i = m.call(o), r, ar = [], e;\r\n try {\r\n while ((n === void 0 || n-- > 0) && !(r = i.next()).done) ar.push(r.value);\r\n }\r\n catch (error) { e = { error: error }; }\r\n finally {\r\n try {\r\n if (r && !r.done && (m = i[\"return\"])) m.call(i);\r\n }\r\n finally { if (e) throw e.error; }\r\n }\r\n return ar;\r\n}\r\n\r\n/** @deprecated */\r\nexport function __spread() {\r\n for (var ar = [], i = 0; i < arguments.length; i++)\r\n ar = ar.concat(__read(arguments[i]));\r\n return ar;\r\n}\r\n\r\n/** @deprecated */\r\nexport function __spreadArrays() {\r\n for (var s = 0, i = 0, il = arguments.length; i < il; i++) s += arguments[i].length;\r\n for (var r = Array(s), k = 0, i = 0; i < il; i++)\r\n for (var a = arguments[i], j = 0, jl = a.length; j < jl; j++, k++)\r\n r[k] = a[j];\r\n return r;\r\n}\r\n\r\nexport function __spreadArray(to, from, pack) {\r\n if (pack || arguments.length === 2) for (var i = 0, l = from.length, ar; i < l; i++) {\r\n if (ar || !(i in from)) {\r\n if (!ar) ar = Array.prototype.slice.call(from, 0, i);\r\n ar[i] = from[i];\r\n }\r\n }\r\n return to.concat(ar || Array.prototype.slice.call(from));\r\n}\r\n\r\nexport function __await(v) {\r\n return this instanceof __await ? (this.v = v, this) : new __await(v);\r\n}\r\n\r\nexport function __asyncGenerator(thisArg, _arguments, generator) {\r\n if (!Symbol.asyncIterator) throw new TypeError(\"Symbol.asyncIterator is not defined.\");\r\n var g = generator.apply(thisArg, _arguments || []), i, q = [];\r\n return i = Object.create((typeof AsyncIterator === \"function\" ? AsyncIterator : Object).prototype), verb(\"next\"), verb(\"throw\"), verb(\"return\", awaitReturn), i[Symbol.asyncIterator] = function () { return this; }, i;\r\n function awaitReturn(f) { return function (v) { return Promise.resolve(v).then(f, reject); }; }\r\n function verb(n, f) { if (g[n]) { i[n] = function (v) { return new Promise(function (a, b) { q.push([n, v, a, b]) > 1 || resume(n, v); }); }; if (f) i[n] = f(i[n]); } }\r\n function resume(n, v) { try { step(g[n](v)); } catch (e) { settle(q[0][3], e); } }\r\n function step(r) { r.value instanceof __await ? Promise.resolve(r.value.v).then(fulfill, reject) : settle(q[0][2], r); }\r\n function fulfill(value) { resume(\"next\", value); }\r\n function reject(value) { resume(\"throw\", value); }\r\n function settle(f, v) { if (f(v), q.shift(), q.length) resume(q[0][0], q[0][1]); }\r\n}\r\n\r\nexport function __asyncDelegator(o) {\r\n var i, p;\r\n return i = {}, verb(\"next\"), verb(\"throw\", function (e) { throw e; }), verb(\"return\"), i[Symbol.iterator] = function () { return this; }, i;\r\n function verb(n, f) { i[n] = o[n] ? function (v) { return (p = !p) ? { value: __await(o[n](v)), done: false } : f ? f(v) : v; } : f; }\r\n}\r\n\r\nexport function __asyncValues(o) {\r\n if (!Symbol.asyncIterator) throw new TypeError(\"Symbol.asyncIterator is not defined.\");\r\n var m = o[Symbol.asyncIterator], i;\r\n return m ? m.call(o) : (o = typeof __values === \"function\" ? __values(o) : o[Symbol.iterator](), i = {}, verb(\"next\"), verb(\"throw\"), verb(\"return\"), i[Symbol.asyncIterator] = function () { return this; }, i);\r\n function verb(n) { i[n] = o[n] && function (v) { return new Promise(function (resolve, reject) { v = o[n](v), settle(resolve, reject, v.done, v.value); }); }; }\r\n function settle(resolve, reject, d, v) { Promise.resolve(v).then(function(v) { resolve({ value: v, done: d }); }, reject); }\r\n}\r\n\r\nexport function __makeTemplateObject(cooked, raw) {\r\n if (Object.defineProperty) { Object.defineProperty(cooked, \"raw\", { value: raw }); } else { cooked.raw = raw; }\r\n return cooked;\r\n};\r\n\r\nvar __setModuleDefault = Object.create ? (function(o, v) {\r\n Object.defineProperty(o, \"default\", { enumerable: true, value: v });\r\n}) : function(o, v) {\r\n o[\"default\"] = v;\r\n};\r\n\r\nexport function __importStar(mod) {\r\n if (mod && mod.__esModule) return mod;\r\n var result = {};\r\n if (mod != null) for (var k in mod) if (k !== \"default\" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);\r\n __setModuleDefault(result, mod);\r\n return result;\r\n}\r\n\r\nexport function __importDefault(mod) {\r\n return (mod && mod.__esModule) ? mod : { default: mod };\r\n}\r\n\r\nexport function __classPrivateFieldGet(receiver, state, kind, f) {\r\n if (kind === \"a\" && !f) throw new TypeError(\"Private accessor was defined without a getter\");\r\n if (typeof state === \"function\" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError(\"Cannot read private member from an object whose class did not declare it\");\r\n return kind === \"m\" ? f : kind === \"a\" ? f.call(receiver) : f ? f.value : state.get(receiver);\r\n}\r\n\r\nexport function __classPrivateFieldSet(receiver, state, value, kind, f) {\r\n if (kind === \"m\") throw new TypeError(\"Private method is not writable\");\r\n if (kind === \"a\" && !f) throw new TypeError(\"Private accessor was defined without a setter\");\r\n if (typeof state === \"function\" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError(\"Cannot write private member to an object whose class did not declare it\");\r\n return (kind === \"a\" ? f.call(receiver, value) : f ? f.value = value : state.set(receiver, value)), value;\r\n}\r\n\r\nexport function __classPrivateFieldIn(state, receiver) {\r\n if (receiver === null || (typeof receiver !== \"object\" && typeof receiver !== \"function\")) throw new TypeError(\"Cannot use 'in' operator on non-object\");\r\n return typeof state === \"function\" ? receiver === state : state.has(receiver);\r\n}\r\n\r\nexport function __addDisposableResource(env, value, async) {\r\n if (value !== null && value !== void 0) {\r\n if (typeof value !== \"object\" && typeof value !== \"function\") throw new TypeError(\"Object expected.\");\r\n var dispose, inner;\r\n if (async) {\r\n if (!Symbol.asyncDispose) throw new TypeError(\"Symbol.asyncDispose is not defined.\");\r\n dispose = value[Symbol.asyncDispose];\r\n }\r\n if (dispose === void 0) {\r\n if (!Symbol.dispose) throw new TypeError(\"Symbol.dispose is not defined.\");\r\n dispose = value[Symbol.dispose];\r\n if (async) inner = dispose;\r\n }\r\n if (typeof dispose !== \"function\") throw new TypeError(\"Object not disposable.\");\r\n if (inner) dispose = function() { try { inner.call(this); } catch (e) { return Promise.reject(e); } };\r\n env.stack.push({ value: value, dispose: dispose, async: async });\r\n }\r\n else if (async) {\r\n env.stack.push({ async: true });\r\n }\r\n return value;\r\n\r\n}\r\n\r\nvar _SuppressedError = typeof SuppressedError === \"function\" ? SuppressedError : function (error, suppressed, message) {\r\n var e = new Error(message);\r\n return e.name = \"SuppressedError\", e.error = error, e.suppressed = suppressed, e;\r\n};\r\n\r\nexport function __disposeResources(env) {\r\n function fail(e) {\r\n env.error = env.hasError ? new _SuppressedError(e, env.error, \"An error was suppressed during disposal.\") : e;\r\n env.hasError = true;\r\n }\r\n var r, s = 0;\r\n function next() {\r\n while (r = env.stack.pop()) {\r\n try {\r\n if (!r.async && s === 1) return s = 0, env.stack.push(r), Promise.resolve().then(next);\r\n if (r.dispose) {\r\n var result = r.dispose.call(r.value);\r\n if (r.async) return s |= 2, Promise.resolve(result).then(next, function(e) { fail(e); return next(); });\r\n }\r\n else s |= 1;\r\n }\r\n catch (e) {\r\n fail(e);\r\n }\r\n }\r\n if (s === 1) return env.hasError ? Promise.reject(env.error) : Promise.resolve();\r\n if (env.hasError) throw env.error;\r\n }\r\n return next();\r\n}\r\n\r\nexport default {\r\n __extends: __extends,\r\n __assign: __assign,\r\n __rest: __rest,\r\n __decorate: __decorate,\r\n __param: __param,\r\n __metadata: __metadata,\r\n __awaiter: __awaiter,\r\n __generator: __generator,\r\n __createBinding: __createBinding,\r\n __exportStar: __exportStar,\r\n __values: __values,\r\n __read: __read,\r\n __spread: __spread,\r\n __spreadArrays: __spreadArrays,\r\n __spreadArray: __spreadArray,\r\n __await: __await,\r\n __asyncGenerator: __asyncGenerator,\r\n __asyncDelegator: __asyncDelegator,\r\n __asyncValues: __asyncValues,\r\n __makeTemplateObject: __makeTemplateObject,\r\n __importStar: __importStar,\r\n __importDefault: __importDefault,\r\n __classPrivateFieldGet: __classPrivateFieldGet,\r\n __classPrivateFieldSet: __classPrivateFieldSet,\r\n __classPrivateFieldIn: __classPrivateFieldIn,\r\n __addDisposableResource: __addDisposableResource,\r\n __disposeResources: __disposeResources,\r\n};\r\n","// src/styles/colors.ts\n\nexport interface RGB {\n r: number;\n g: number;\n b: number;\n}\n\nexport interface Color {\n hex: string;\n rgb: RGB;\n}\n\nexport interface ThemeColors {\n primary: Color;\n secondary: Color;\n background: Color;\n text: Color;\n textButton: Color;\n // Add more categories as needed\n}\n\nexport const lightTheme: ThemeColors = {\n primary: {\n hex: '#1A73E8',\n rgb: { r: 26, g: 115, b: 232 },\n },\n secondary: {\n hex: '#F0F6FF',\n rgb: { r: 240, g: 246, b: 255 },\n },\n background: {\n hex: '#FFFFFF',\n rgb: { r: 255, g: 255, b: 255 },\n },\n text: {\n hex: '#000000',\n rgb: { r: 0, g: 0, b: 0 },\n },\n textButton: {\n hex: '#FFFFFF',\n rgb: { r: 255, g: 255, b: 255 },\n },\n};\n\nexport const darkTheme: ThemeColors = {\n primary: {\n hex: '#BB86FC',\n rgb: { r: 187, g: 134, b: 252 },\n },\n secondary: {\n hex: '#03DAC6',\n rgb: { r: 3, g: 218, b: 198 },\n },\n background: {\n hex: '#121212',\n rgb: { r: 18, g: 18, b: 18 },\n },\n text: {\n hex: '#FFFFFF',\n rgb: { r: 255, g: 255, b: 255 },\n },\n textButton: {\n hex: '#FFFFFF',\n rgb: { r: 255, g: 255, b: 255 },\n },\n // Add more categories as needed\n};\n","import React, { createContext, useState, useEffect, ReactNode } from 'react';\nimport { Appearance, ColorSchemeName } from 'react-native';\nimport { useAsyncStorage } from '@react-native-async-storage/async-storage'; // Import useAsyncStorage\nimport { lightTheme, darkTheme } from '../styles/colors';\nimport { Theme } from '../styles/theme';\n\n/**\n * Interface for the properties provided by ThemeContext.\n */\ninterface ThemeContextProps {\n /**\n * The current theme, containing color definitions.\n */\n theme: Theme;\n\n /**\n * Function to toggle between light and dark themes.\n */\n toggleTheme: () => void;\n}\n\n/**\n * React context for managing theme-related data and functions.\n */\nexport const ThemeContext = createContext<ThemeContextProps>({\n theme: { colors: lightTheme },\n toggleTheme: () => {},\n});\n\n/**\n * Props for the ThemeProvider component.\n */\ninterface ThemeProviderProps {\n /**\n * Child components that will have access to the theme context.\n */\n children: ReactNode;\n\n /**\n * Optional initial theme. Defaults to system preference if not provided.\n */\n initialTheme?: 'light' | 'dark';\n}\n\n/**\n * ThemeProvider component that manages and provides theme data to its children.\n *\n * @param children - The child components that will consume the theme context.\n * @param initialTheme - Optional prop to set the initial theme.\n */\n\nexport const ThemeProvider: React.FC<ThemeProviderProps> = ({ children, initialTheme }) => {\n const [colorScheme, setColorScheme] = useState<ColorSchemeName | null>(null);\n \n // Use useAsyncStorage hook for managing the theme storage\n const { getItem, setItem } = useAsyncStorage('theme');\n\n useEffect(() => {\n const loadTheme = async () => {\n try {\n // const storedTheme = await getItem();\n // if (storedTheme === 'dark' || storedTheme === 'light') {\n // setColorScheme(storedTheme);\n //} \n if (initialTheme) {\n setColorScheme(initialTheme);\n } else {\n const systemTheme = Appearance.getColorScheme();\n setColorScheme(systemTheme);\n }\n } catch (error) {\n console.error('Failed to load theme.', error);\n setColorScheme(Appearance.getColorScheme());\n }\n };\n\n loadTheme();\n\n const subscription = Appearance.addChangeListener(({ colorScheme }) => {\n if (!colorScheme) return; // Prevent setting null\n setColorScheme(colorScheme);\n });\n\n return () => subscription.remove();\n }, [initialTheme, getItem]);\n\n const toggleTheme = async () => {\n try {\n const newTheme = colorScheme === 'dark' ? 'light' : 'dark';\n setColorScheme(newTheme);\n await setItem(newTheme); // Use setItem from useAsyncStorage\n } catch (error) {\n console.error('Failed to toggle theme.', error);\n }\n };\n\n const theme: Theme = {\n colors: colorScheme === 'dark' ? darkTheme : lightTheme,\n };\n\n return (\n <ThemeContext.Provider value={{ theme, toggleTheme }}>\n {children}\n </ThemeContext.Provider>\n );\n};\n","import React, { useContext } from 'react';\nimport { Switch, View, Text, StyleSheet } from 'react-native';\nimport { ThemeContext } from './ThemeContext';\nimport { darkTheme, lightTheme } from '../styles/colors';\n\nconst ThemeToggle: React.FC = () => {\n const { theme, toggleTheme } = useContext(ThemeContext);\n const isDarkMode = theme.colors === darkTheme;\n\n return (\n <View style={styles.container}>\n <Text style={[styles.text, { color: theme.colors.text.hex }]}>Dark Mode</Text>\n <Switch\n value={isDarkMode}\n onValueChange={toggleTheme}\n trackColor={{ false: lightTheme.secondary.hex, true: darkTheme.primary.hex }}\n thumbColor={isDarkMode ? darkTheme.secondary.hex : lightTheme.primary.hex}\n />\n </View>\n );\n};\n\nconst styles = StyleSheet.create({\n container: {\n marginTop: 20,\n flexDirection: 'row',\n alignItems: 'center',\n },\n text: {\n marginRight: 10,\n fontSize: 16,\n },\n});\n\nexport default ThemeToggle;\n","// src/components/Button.tsx\n\nimport React, { useMemo, useContext } from 'react';\nimport { Text, ViewStyle, StyleSheet, TouchableOpacity } from 'react-native';\nimport { ThemeContext } from '../theme/ThemeContext';\nimport { ThemeColors } from '../styles/colors';\n\n/**\n * Interface for the props that the Button component accepts.\n */\ninterface ButtonProps {\n /**\n * If true, the button is disabled and not pressable.\n */\n disabled?: boolean;\n\n /**\n * If true, the button expands to full width of its container.\n */\n isFullWidth?: boolean;\n\n /**\n * Text content of the button.\n */\n children?: string;\n\n /**\n * Function to call when the button is pressed.\n */\n onPress?: () => void;\n\n /**\n * If true, the button has rounded corners.\n */\n rounded?: boolean;\n\n /**\n * Custom border radius value. Overrides the `rounded` prop if provided.\n */\n borderRadius?: number;\n\n /**\n * Specifies the button type for styling. Can be 'submit', 'button', or 'cancel'.\n */\n type?: 'submit' | 'button' | 'cancel';\n}\n\n/**\n * Determines the styles based on the button type and whether it is disabled.\n *\n * @param type - The type of the button ('submit', 'button', 'cancel').\n * @param disabled - Whether the button is disabled.\n * @param themeColors - The theme colors.\n * @returns The computed style for the button.\n */\nfunction typeStyles(\n type?: string,\n disabled?: boolean,\n themeColors?: ThemeColors\n): ViewStyle {\n switch (type) {\n case 'submit':\n return {\n backgroundColor: `rgba(${themeColors?.primary.rgb.r}, ${themeColors?.primary.rgb.g}, ${themeColors?.primary.rgb.b}, ${\n disabled ? 0.5 : 1\n })`,\n borderWidth: 2,\n borderColor: themeColors?.primary.hex,\n };\n case 'button':\n return {\n backgroundColor: themeColors?.primary.hex,\n borderColor: themeColors?.secondary.hex,\n opacity: disabled ? 0.5 : 1,\n borderWidth: 2,\n };\n case 'cancel':\n return {\n backgroundColor: themeColors?.background.hex,\n borderWidth: 0,\n };\n default:\n return {};\n }\n}\n\n/**\n * Button component that adapts its styles based on the current theme.\n * Supports dynamic styling, full-width option, rounded corners, and different types.\n *\n * @param disabled - If true, the button is disabled and not pressable.\n * @param isFullWidth - If true, the button expands to full width of its container.\n * @param children - Text content of the button.\n * @param onPress - Function to call when the button is pressed.\n * @param rounded - If true, the button has rounded corners.\n * @param borderRadius - Custom border radius value. Overrides the `rounded` prop if provided.\n * @param type - Specifies the button type for styling ('submit', 'button', 'cancel').\n */\nconst Button: React.FC<ButtonProps> = ({\n children,\n disabled = false,\n type = 'button',\n rounded = true,\n borderRadius = 30,\n isFullWidth = false,\n onPress,\n}) => {\n const { theme } = useContext(ThemeContext);\n const { colors } = theme;\n\n const computedStyles = useMemo(() => {\n return StyleSheet.flatten([\n styles.button,\n typeStyles(type, disabled, colors),\n rounded && { borderRadius },\n isFullWidth && { width: '100%' },\n disabled && styles.disabled,\n ]);\n }, [type, disabled, rounded, borderRadius, isFullWidth, colors]);\n\n const textColor = useMemo(() => {\n return { color: colors.textButton.hex };\n }, [type, colors]);\n\n return (\n <TouchableOpacity\n style={computedStyles as ViewStyle}\n disabled={disabled}\n onPress={onPress}\n activeOpacity={0.7}\n >\n <Text style={textColor}>\n {Array.isArray(children) ? children.join('').toUpperCase() : children?.toUpperCase()}\n </Text>\n </TouchableOpacity>\n );\n};\n\nconst styles = StyleSheet.create({\n button: {\n justifyContent: 'center',\n alignItems: 'center',\n paddingVertical: 10,\n paddingHorizontal: 20,\n },\n disabled: {\n opacity: 0.6,\n },\n});\n\nexport default Button;\n","// src/cards/Card.tsx\n\nimport React, { useContext } from 'react';\nimport {\n View,\n StyleSheet,\n StyleProp,\n ViewStyle,\n Platform,\n TouchableOpacity,\n GestureResponderEvent,\n} from 'react-native';\nimport { ThemeContext } from '../theme/ThemeContext';\nimport { ThemeColors } from '../styles/colors';\nimport Animated, { useAnimatedStyle, useSharedValue, withSpring } from 'react-native-reanimated';\n\n/**\n * Interface for the props that the Card component accepts.\n */\ninterface CardProps {\n /**\n * Content to be rendered inside the Card.\n */\n children: React.ReactNode;\n\n /**\n * Style to be applied to the Card container.\n */\n style?: StyleProp<ViewStyle>;\n\n /**\n * Function to call when the Card is pressed.\n */\n onPress?: (event: GestureResponderEvent) => void;\n\n /**\n * Whether the Card is pressable. Defaults to false.\n */\n pressable?: boolean;\n\n /**\n * Border radius of the Card. Defaults to 12.\n */\n borderRadius?: number;\n\n /**\n * Elevation of the Card (Android only).\n */\n elevation?: number;\n\n /**\n * Shadow properties for iOS.\n */\n shadowProps?: {\n shadowColor?: string;\n shadowOffset?: { width: number; height: number };\n shadowOpacity?: number;\n shadowRadius?: number;\n };\n}\n\n/**\n * Card component that adapts its styles based on the current theme.\n * Supports dynamic styling, shadows, and press animations.\n *\n * @param children - The content to be displayed inside the Card.\n * @param style - Additional styles to apply to the Card.\n * @param onPress - Function to execute when the Card is pressed.\n * @param pressable - Determines if the Card is pressable. Defaults to false.\n * @param borderRadius - Border radius of the Card. Defaults to 12.\n * @param elevation - Elevation for Android shadow. Overrides default.\n * @param shadowProps - Custom shadow properties for iOS. Overrides defaults.\n */\nconst Card: React.FC<CardProps> = ({\n children,\n style,\n onPress,\n pressable = false,\n borderRadius = 12,\n elevation = 4,\n shadowProps = {},\n}) => {\n const { theme } = useContext(ThemeContext);\n const { colors } = theme;\n\n // Animation state\n const scale = useSharedValue(1);\n\n const animatedStyle = useAnimatedStyle(() => ({\n transform: [{ scale: scale.value }],\n }));\n\n const handlePressIn = () => {\n scale.value = withSpring(0.95);\n };\n\n const handlePressOut = () => {\n scale.value = withSpring(1);\n };\n\n // Default shadow styles\n const defaultShadow = Platform.select({\n ios: {\n shadowColor: colors.text.hex,\n shadowOffset: { width: 0, height: 2 },\n shadowOpacity: 0.1,\n shadowRadius: 4,\n ...shadowProps,\n },\n android: {\n elevation: elevation,\n },\n });\n\n return pressable ? (\n <TouchableOpacity\n activeOpacity={0.8}\n onPress={onPress}\n onPressIn={handlePressIn}\n onPressOut={handlePressOut}\n style={[styles.container, { borderRadius, backgroundColor: colors.background.hex }, defaultShadow, style]}\n >\n <Animated.View style={[animatedStyle]}>\n {children}\n </Animated.View>\n </TouchableOpacity>\n ) : (\n <View style={[styles.container, { borderRadius, backgroundColor: colors.background.hex }, defaultShadow, style]}>\n {children}\n </View>\n );\n};\n\nconst styles = StyleSheet.create({\n container: {\n padding: 16,\n borderRadius: 12,\n // Shadows are handled dynamically based on platform\n },\n});\n\nexport default Card;\n"],"names":["lightTheme","primary","hex","rgb","r","g","b","secondary","background","text","textButton","darkTheme","ThemeContext","createContext","theme","colors","toggleTheme","ThemeProvider","_a","children","initialTheme","_b","useState","colorScheme","setColorScheme","_c","useAsyncStorage","getItem","setItem","useEffect","loadTheme","__awaiter","systemTheme","Appearance","getColorScheme","error","console","subscription","addChangeListener","remove","newTheme","sent","error_1","React","createElement","Provider","value","ThemeToggle","useContext","isDarkMode","View","style","styles","container","Text","color","Switch","onValueChange","trackColor","thumbColor","StyleSheet","create","marginTop","flexDirection","alignItems","marginRight","fontSize","typeStyles","type","disabled","themeColors","backgroundColor","concat","borderWidth","borderColor","opacity","Button","_d","rounded","_e","borderRadius","_f","isFullWidth","onPress","computedStyles","useMemo","flatten","button","width","textColor","TouchableOpacity","activeOpacity","Array","isArray","join","toUpperCase","justifyContent","paddingVertical","paddingHorizontal","Card","pressable","elevation","shadowProps","scale","useSharedValue","animatedStyle","useAnimatedStyle","transform","handlePressIn","withSpring","handlePressOut","defaultShadow","Platform","select","ios","__assign","shadowColor","shadowOffset","height","shadowOpacity","shadowRadius","android","onPressIn","onPressOut","Animated","padding"],"mappings":"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","x_google_ignoreList":[0]}
package/dist/index.js CHANGED
@@ -1,9 +1,10 @@
1
- /*! aport-tools v4.0.1 | ISC */
1
+ /*! aport-tools v4.0.21 | ISC */
2
2
  'use strict';
3
3
 
4
4
  var React = require('react');
5
5
  var reactNative = require('react-native');
6
6
  var asyncStorage = require('@react-native-async-storage/async-storage');
7
+ var Animated = require('react-native-reanimated');
7
8
 
8
9
  /******************************************************************************
9
10
  Copyright (c) Microsoft Corporation.
@@ -22,6 +23,17 @@ PERFORMANCE OF THIS SOFTWARE.
22
23
  /* global Reflect, Promise, SuppressedError, Symbol, Iterator */
23
24
 
24
25
 
26
+ var __assign = function() {
27
+ __assign = Object.assign || function __assign(t) {
28
+ for (var s, i = 1, n = arguments.length; i < n; i++) {
29
+ s = arguments[i];
30
+ for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p)) t[p] = s[p];
31
+ }
32
+ return t;
33
+ };
34
+ return __assign.apply(this, arguments);
35
+ };
36
+
25
37
  function __awaiter(thisArg, _arguments, P, generator) {
26
38
  function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
27
39
  return new (P || (P = Promise))(function (resolve, reject) {
@@ -98,8 +110,15 @@ var lightTheme = {
98
110
  g: 0,
99
111
  b: 0
100
112
  }
113
+ },
114
+ textButton: {
115
+ hex: '#FFFFFF',
116
+ rgb: {
117
+ r: 255,
118
+ g: 255,
119
+ b: 255
120
+ }
101
121
  }
102
- // Add more categories as needed
103
122
  };
104
123
  var darkTheme = {
105
124
  primary: {
@@ -133,6 +152,14 @@ var darkTheme = {
133
152
  g: 255,
134
153
  b: 255
135
154
  }
155
+ },
156
+ textButton: {
157
+ hex: '#FFFFFF',
158
+ rgb: {
159
+ r: 255,
160
+ g: 255,
161
+ b: 255
162
+ }
136
163
  }
137
164
  // Add more categories as needed
138
165
  };
@@ -236,9 +263,9 @@ var ThemeToggle = function ThemeToggle() {
236
263
  toggleTheme = _a.toggleTheme;
237
264
  var isDarkMode = theme.colors === darkTheme;
238
265
  return /*#__PURE__*/React.createElement(reactNative.View, {
239
- style: styles$1.container
266
+ style: styles$2.container
240
267
  }, /*#__PURE__*/React.createElement(reactNative.Text, {
241
- style: [styles$1.text, {
268
+ style: [styles$2.text, {
242
269
  color: theme.colors.text.hex
243
270
  }]
244
271
  }, "Dark Mode"), /*#__PURE__*/React.createElement(reactNative.Switch, {
@@ -251,7 +278,7 @@ var ThemeToggle = function ThemeToggle() {
251
278
  thumbColor: isDarkMode ? darkTheme.secondary.hex : lightTheme.primary.hex
252
279
  }));
253
280
  };
254
- var styles$1 = reactNative.StyleSheet.create({
281
+ var styles$2 = reactNative.StyleSheet.create({
255
282
  container: {
256
283
  marginTop: 20,
257
284
  flexDirection: 'row',
@@ -264,7 +291,14 @@ var styles$1 = reactNative.StyleSheet.create({
264
291
  });
265
292
 
266
293
  // src/components/Button.tsx
267
- // Function to determine the styles based on the button type and whether it is disabled
294
+ /**
295
+ * Determines the styles based on the button type and whether it is disabled.
296
+ *
297
+ * @param type - The type of the button ('submit', 'button', 'cancel').
298
+ * @param disabled - Whether the button is disabled.
299
+ * @param themeColors - The theme colors.
300
+ * @returns The computed style for the button.
301
+ */
268
302
  function typeStyles(type, disabled, themeColors) {
269
303
  switch (type) {
270
304
  case 'submit':
@@ -289,7 +323,18 @@ function typeStyles(type, disabled, themeColors) {
289
323
  return {};
290
324
  }
291
325
  }
292
- // Button component definition
326
+ /**
327
+ * Button component that adapts its styles based on the current theme.
328
+ * Supports dynamic styling, full-width option, rounded corners, and different types.
329
+ *
330
+ * @param disabled - If true, the button is disabled and not pressable.
331
+ * @param isFullWidth - If true, the button expands to full width of its container.
332
+ * @param children - Text content of the button.
333
+ * @param onPress - Function to call when the button is pressed.
334
+ * @param rounded - If true, the button has rounded corners.
335
+ * @param borderRadius - Custom border radius value. Overrides the `rounded` prop if provided.
336
+ * @param type - Specifies the button type for styling ('submit', 'button', 'cancel').
337
+ */
293
338
  var Button = function Button(_a) {
294
339
  var children = _a.children,
295
340
  _b = _a.disabled,
@@ -303,24 +348,19 @@ var Button = function Button(_a) {
303
348
  _f = _a.isFullWidth,
304
349
  isFullWidth = _f === void 0 ? false : _f,
305
350
  onPress = _a.onPress;
306
- // Access the current theme from ThemeContext
307
351
  var theme = React.useContext(ThemeContext).theme;
308
- var colors = theme.colors; // Extract colors from the theme
309
- // Use useMemo to memoize the computed styles
352
+ var colors = theme.colors;
310
353
  var computedStyles = React.useMemo(function () {
311
- return reactNative.StyleSheet.flatten([styles.button, typeStyles(type, disabled, colors),
312
- // Use colors directly
313
- rounded && {
354
+ return reactNative.StyleSheet.flatten([styles$1.button, typeStyles(type, disabled, colors), rounded && {
314
355
  borderRadius: borderRadius
315
356
  }, isFullWidth && {
316
357
  width: '100%'
317
- }, disabled && styles.disabled]);
358
+ }, disabled && styles$1.disabled]);
318
359
  }, [type, disabled, rounded, borderRadius, isFullWidth, colors]);
319
- // Determine text color based on button type and theme
320
360
  var textColor = React.useMemo(function () {
321
361
  return {
322
- color: colors.text.hex
323
- }; // Access text color from the theme
362
+ color: colors.textButton.hex
363
+ };
324
364
  }, [type, colors]);
325
365
  return /*#__PURE__*/React.createElement(reactNative.TouchableOpacity, {
326
366
  style: computedStyles,
@@ -331,8 +371,7 @@ var Button = function Button(_a) {
331
371
  style: textColor
332
372
  }, Array.isArray(children) ? children.join('').toUpperCase() : children === null || children === void 0 ? void 0 : children.toUpperCase()));
333
373
  };
334
- // Define basic styles for the button
335
- var styles = reactNative.StyleSheet.create({
374
+ var styles$1 = reactNative.StyleSheet.create({
336
375
  button: {
337
376
  justifyContent: 'center',
338
377
  alignItems: 'center',
@@ -344,7 +383,91 @@ var styles = reactNative.StyleSheet.create({
344
383
  }
345
384
  });
346
385
 
386
+ // src/cards/Card.tsx
387
+ /**
388
+ * Card component that adapts its styles based on the current theme.
389
+ * Supports dynamic styling, shadows, and press animations.
390
+ *
391
+ * @param children - The content to be displayed inside the Card.
392
+ * @param style - Additional styles to apply to the Card.
393
+ * @param onPress - Function to execute when the Card is pressed.
394
+ * @param pressable - Determines if the Card is pressable. Defaults to false.
395
+ * @param borderRadius - Border radius of the Card. Defaults to 12.
396
+ * @param elevation - Elevation for Android shadow. Overrides default.
397
+ * @param shadowProps - Custom shadow properties for iOS. Overrides defaults.
398
+ */
399
+ var Card = function Card(_a) {
400
+ var children = _a.children,
401
+ style = _a.style,
402
+ onPress = _a.onPress,
403
+ _b = _a.pressable,
404
+ pressable = _b === void 0 ? false : _b,
405
+ _c = _a.borderRadius,
406
+ borderRadius = _c === void 0 ? 12 : _c,
407
+ _d = _a.elevation,
408
+ elevation = _d === void 0 ? 4 : _d,
409
+ _e = _a.shadowProps,
410
+ shadowProps = _e === void 0 ? {} : _e;
411
+ var theme = React.useContext(ThemeContext).theme;
412
+ var colors = theme.colors;
413
+ // Animation state
414
+ var scale = Animated.useSharedValue(1);
415
+ var animatedStyle = Animated.useAnimatedStyle(function () {
416
+ return {
417
+ transform: [{
418
+ scale: scale.value
419
+ }]
420
+ };
421
+ });
422
+ var handlePressIn = function handlePressIn() {
423
+ scale.value = Animated.withSpring(0.95);
424
+ };
425
+ var handlePressOut = function handlePressOut() {
426
+ scale.value = Animated.withSpring(1);
427
+ };
428
+ // Default shadow styles
429
+ var defaultShadow = reactNative.Platform.select({
430
+ ios: __assign({
431
+ shadowColor: colors.text.hex,
432
+ shadowOffset: {
433
+ width: 0,
434
+ height: 2
435
+ },
436
+ shadowOpacity: 0.1,
437
+ shadowRadius: 4
438
+ }, shadowProps),
439
+ android: {
440
+ elevation: elevation
441
+ }
442
+ });
443
+ return pressable ? (/*#__PURE__*/React.createElement(reactNative.TouchableOpacity, {
444
+ activeOpacity: 0.8,
445
+ onPress: onPress,
446
+ onPressIn: handlePressIn,
447
+ onPressOut: handlePressOut,
448
+ style: [styles.container, {
449
+ borderRadius: borderRadius,
450
+ backgroundColor: colors.background.hex
451
+ }, defaultShadow, style]
452
+ }, /*#__PURE__*/React.createElement(Animated.View, {
453
+ style: [animatedStyle]
454
+ }, children))) : (/*#__PURE__*/React.createElement(reactNative.View, {
455
+ style: [styles.container, {
456
+ borderRadius: borderRadius,
457
+ backgroundColor: colors.background.hex
458
+ }, defaultShadow, style]
459
+ }, children));
460
+ };
461
+ var styles = reactNative.StyleSheet.create({
462
+ container: {
463
+ padding: 16,
464
+ borderRadius: 12
465
+ // Shadows are handled dynamically based on platform
466
+ }
467
+ });
468
+
347
469
  exports.Button = Button;
470
+ exports.Card = Card;
348
471
  exports.ThemeContext = ThemeContext;
349
472
  exports.ThemeProvider = ThemeProvider;
350
473
  exports.ThemeToggle = ThemeToggle;
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sources":["../node_modules/tslib/tslib.es6.js","../src/styles/colors.ts","../src/theme/ThemeContext.tsx","../src/theme/ThemeToggle.tsx","../src/components/Button.tsx"],"sourcesContent":["/******************************************************************************\r\nCopyright (c) Microsoft Corporation.\r\n\r\nPermission to use, copy, modify, and/or distribute this software for any\r\npurpose with or without fee is hereby granted.\r\n\r\nTHE SOFTWARE IS PROVIDED \"AS IS\" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH\r\nREGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY\r\nAND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT,\r\nINDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM\r\nLOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR\r\nOTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR\r\nPERFORMANCE OF THIS SOFTWARE.\r\n***************************************************************************** */\r\n/* global Reflect, Promise, SuppressedError, Symbol, Iterator */\r\n\r\nvar extendStatics = function(d, b) {\r\n extendStatics = Object.setPrototypeOf ||\r\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\r\n function (d, b) { for (var p in b) if (Object.prototype.hasOwnProperty.call(b, p)) d[p] = b[p]; };\r\n return extendStatics(d, b);\r\n};\r\n\r\nexport function __extends(d, b) {\r\n if (typeof b !== \"function\" && b !== null)\r\n throw new TypeError(\"Class extends value \" + String(b) + \" is not a constructor or null\");\r\n extendStatics(d, b);\r\n function __() { this.constructor = d; }\r\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\r\n}\r\n\r\nexport var __assign = function() {\r\n __assign = Object.assign || function __assign(t) {\r\n for (var s, i = 1, n = arguments.length; i < n; i++) {\r\n s = arguments[i];\r\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p)) t[p] = s[p];\r\n }\r\n return t;\r\n }\r\n return __assign.apply(this, arguments);\r\n}\r\n\r\nexport function __rest(s, e) {\r\n var t = {};\r\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0)\r\n t[p] = s[p];\r\n if (s != null && typeof Object.getOwnPropertySymbols === \"function\")\r\n for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {\r\n if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i]))\r\n t[p[i]] = s[p[i]];\r\n }\r\n return t;\r\n}\r\n\r\nexport function __decorate(decorators, target, key, desc) {\r\n var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;\r\n if (typeof Reflect === \"object\" && typeof Reflect.decorate === \"function\") r = Reflect.decorate(decorators, target, key, desc);\r\n else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;\r\n return c > 3 && r && Object.defineProperty(target, key, r), r;\r\n}\r\n\r\nexport function __param(paramIndex, decorator) {\r\n return function (target, key) { decorator(target, key, paramIndex); }\r\n}\r\n\r\nexport function __esDecorate(ctor, descriptorIn, decorators, contextIn, initializers, extraInitializers) {\r\n function accept(f) { if (f !== void 0 && typeof f !== \"function\") throw new TypeError(\"Function expected\"); return f; }\r\n var kind = contextIn.kind, key = kind === \"getter\" ? \"get\" : kind === \"setter\" ? \"set\" : \"value\";\r\n var target = !descriptorIn && ctor ? contextIn[\"static\"] ? ctor : ctor.prototype : null;\r\n var descriptor = descriptorIn || (target ? Object.getOwnPropertyDescriptor(target, contextIn.name) : {});\r\n var _, done = false;\r\n for (var i = decorators.length - 1; i >= 0; i--) {\r\n var context = {};\r\n for (var p in contextIn) context[p] = p === \"access\" ? {} : contextIn[p];\r\n for (var p in contextIn.access) context.access[p] = contextIn.access[p];\r\n context.addInitializer = function (f) { if (done) throw new TypeError(\"Cannot add initializers after decoration has completed\"); extraInitializers.push(accept(f || null)); };\r\n var result = (0, decorators[i])(kind === \"accessor\" ? { get: descriptor.get, set: descriptor.set } : descriptor[key], context);\r\n if (kind === \"accessor\") {\r\n if (result === void 0) continue;\r\n if (result === null || typeof result !== \"object\") throw new TypeError(\"Object expected\");\r\n if (_ = accept(result.get)) descriptor.get = _;\r\n if (_ = accept(result.set)) descriptor.set = _;\r\n if (_ = accept(result.init)) initializers.unshift(_);\r\n }\r\n else if (_ = accept(result)) {\r\n if (kind === \"field\") initializers.unshift(_);\r\n else descriptor[key] = _;\r\n }\r\n }\r\n if (target) Object.defineProperty(target, contextIn.name, descriptor);\r\n done = true;\r\n};\r\n\r\nexport function __runInitializers(thisArg, initializers, value) {\r\n var useValue = arguments.length > 2;\r\n for (var i = 0; i < initializers.length; i++) {\r\n value = useValue ? initializers[i].call(thisArg, value) : initializers[i].call(thisArg);\r\n }\r\n return useValue ? value : void 0;\r\n};\r\n\r\nexport function __propKey(x) {\r\n return typeof x === \"symbol\" ? x : \"\".concat(x);\r\n};\r\n\r\nexport function __setFunctionName(f, name, prefix) {\r\n if (typeof name === \"symbol\") name = name.description ? \"[\".concat(name.description, \"]\") : \"\";\r\n return Object.defineProperty(f, \"name\", { configurable: true, value: prefix ? \"\".concat(prefix, \" \", name) : name });\r\n};\r\n\r\nexport function __metadata(metadataKey, metadataValue) {\r\n if (typeof Reflect === \"object\" && typeof Reflect.metadata === \"function\") return Reflect.metadata(metadataKey, metadataValue);\r\n}\r\n\r\nexport function __awaiter(thisArg, _arguments, P, generator) {\r\n function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }\r\n return new (P || (P = Promise))(function (resolve, reject) {\r\n function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }\r\n function rejected(value) { try { step(generator[\"throw\"](value)); } catch (e) { reject(e); } }\r\n function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }\r\n step((generator = generator.apply(thisArg, _arguments || [])).next());\r\n });\r\n}\r\n\r\nexport function __generator(thisArg, body) {\r\n var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g = Object.create((typeof Iterator === \"function\" ? Iterator : Object).prototype);\r\n return g.next = verb(0), g[\"throw\"] = verb(1), g[\"return\"] = verb(2), typeof Symbol === \"function\" && (g[Symbol.iterator] = function() { return this; }), g;\r\n function verb(n) { return function (v) { return step([n, v]); }; }\r\n function step(op) {\r\n if (f) throw new TypeError(\"Generator is already executing.\");\r\n while (g && (g = 0, op[0] && (_ = 0)), _) try {\r\n if (f = 1, y && (t = op[0] & 2 ? y[\"return\"] : op[0] ? y[\"throw\"] || ((t = y[\"return\"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;\r\n if (y = 0, t) op = [op[0] & 2, t.value];\r\n switch (op[0]) {\r\n case 0: case 1: t = op; break;\r\n case 4: _.label++; return { value: op[1], done: false };\r\n case 5: _.label++; y = op[1]; op = [0]; continue;\r\n case 7: op = _.ops.pop(); _.trys.pop(); continue;\r\n default:\r\n if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }\r\n if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }\r\n if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }\r\n if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }\r\n if (t[2]) _.ops.pop();\r\n _.trys.pop(); continue;\r\n }\r\n op = body.call(thisArg, _);\r\n } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }\r\n if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };\r\n }\r\n}\r\n\r\nexport var __createBinding = Object.create ? (function(o, m, k, k2) {\r\n if (k2 === undefined) k2 = k;\r\n var desc = Object.getOwnPropertyDescriptor(m, k);\r\n if (!desc || (\"get\" in desc ? !m.__esModule : desc.writable || desc.configurable)) {\r\n desc = { enumerable: true, get: function() { return m[k]; } };\r\n }\r\n Object.defineProperty(o, k2, desc);\r\n}) : (function(o, m, k, k2) {\r\n if (k2 === undefined) k2 = k;\r\n o[k2] = m[k];\r\n});\r\n\r\nexport function __exportStar(m, o) {\r\n for (var p in m) if (p !== \"default\" && !Object.prototype.hasOwnProperty.call(o, p)) __createBinding(o, m, p);\r\n}\r\n\r\nexport function __values(o) {\r\n var s = typeof Symbol === \"function\" && Symbol.iterator, m = s && o[s], i = 0;\r\n if (m) return m.call(o);\r\n if (o && typeof o.length === \"number\") return {\r\n next: function () {\r\n if (o && i >= o.length) o = void 0;\r\n return { value: o && o[i++], done: !o };\r\n }\r\n };\r\n throw new TypeError(s ? \"Object is not iterable.\" : \"Symbol.iterator is not defined.\");\r\n}\r\n\r\nexport function __read(o, n) {\r\n var m = typeof Symbol === \"function\" && o[Symbol.iterator];\r\n if (!m) return o;\r\n var i = m.call(o), r, ar = [], e;\r\n try {\r\n while ((n === void 0 || n-- > 0) && !(r = i.next()).done) ar.push(r.value);\r\n }\r\n catch (error) { e = { error: error }; }\r\n finally {\r\n try {\r\n if (r && !r.done && (m = i[\"return\"])) m.call(i);\r\n }\r\n finally { if (e) throw e.error; }\r\n }\r\n return ar;\r\n}\r\n\r\n/** @deprecated */\r\nexport function __spread() {\r\n for (var ar = [], i = 0; i < arguments.length; i++)\r\n ar = ar.concat(__read(arguments[i]));\r\n return ar;\r\n}\r\n\r\n/** @deprecated */\r\nexport function __spreadArrays() {\r\n for (var s = 0, i = 0, il = arguments.length; i < il; i++) s += arguments[i].length;\r\n for (var r = Array(s), k = 0, i = 0; i < il; i++)\r\n for (var a = arguments[i], j = 0, jl = a.length; j < jl; j++, k++)\r\n r[k] = a[j];\r\n return r;\r\n}\r\n\r\nexport function __spreadArray(to, from, pack) {\r\n if (pack || arguments.length === 2) for (var i = 0, l = from.length, ar; i < l; i++) {\r\n if (ar || !(i in from)) {\r\n if (!ar) ar = Array.prototype.slice.call(from, 0, i);\r\n ar[i] = from[i];\r\n }\r\n }\r\n return to.concat(ar || Array.prototype.slice.call(from));\r\n}\r\n\r\nexport function __await(v) {\r\n return this instanceof __await ? (this.v = v, this) : new __await(v);\r\n}\r\n\r\nexport function __asyncGenerator(thisArg, _arguments, generator) {\r\n if (!Symbol.asyncIterator) throw new TypeError(\"Symbol.asyncIterator is not defined.\");\r\n var g = generator.apply(thisArg, _arguments || []), i, q = [];\r\n return i = Object.create((typeof AsyncIterator === \"function\" ? AsyncIterator : Object).prototype), verb(\"next\"), verb(\"throw\"), verb(\"return\", awaitReturn), i[Symbol.asyncIterator] = function () { return this; }, i;\r\n function awaitReturn(f) { return function (v) { return Promise.resolve(v).then(f, reject); }; }\r\n function verb(n, f) { if (g[n]) { i[n] = function (v) { return new Promise(function (a, b) { q.push([n, v, a, b]) > 1 || resume(n, v); }); }; if (f) i[n] = f(i[n]); } }\r\n function resume(n, v) { try { step(g[n](v)); } catch (e) { settle(q[0][3], e); } }\r\n function step(r) { r.value instanceof __await ? Promise.resolve(r.value.v).then(fulfill, reject) : settle(q[0][2], r); }\r\n function fulfill(value) { resume(\"next\", value); }\r\n function reject(value) { resume(\"throw\", value); }\r\n function settle(f, v) { if (f(v), q.shift(), q.length) resume(q[0][0], q[0][1]); }\r\n}\r\n\r\nexport function __asyncDelegator(o) {\r\n var i, p;\r\n return i = {}, verb(\"next\"), verb(\"throw\", function (e) { throw e; }), verb(\"return\"), i[Symbol.iterator] = function () { return this; }, i;\r\n function verb(n, f) { i[n] = o[n] ? function (v) { return (p = !p) ? { value: __await(o[n](v)), done: false } : f ? f(v) : v; } : f; }\r\n}\r\n\r\nexport function __asyncValues(o) {\r\n if (!Symbol.asyncIterator) throw new TypeError(\"Symbol.asyncIterator is not defined.\");\r\n var m = o[Symbol.asyncIterator], i;\r\n return m ? m.call(o) : (o = typeof __values === \"function\" ? __values(o) : o[Symbol.iterator](), i = {}, verb(\"next\"), verb(\"throw\"), verb(\"return\"), i[Symbol.asyncIterator] = function () { return this; }, i);\r\n function verb(n) { i[n] = o[n] && function (v) { return new Promise(function (resolve, reject) { v = o[n](v), settle(resolve, reject, v.done, v.value); }); }; }\r\n function settle(resolve, reject, d, v) { Promise.resolve(v).then(function(v) { resolve({ value: v, done: d }); }, reject); }\r\n}\r\n\r\nexport function __makeTemplateObject(cooked, raw) {\r\n if (Object.defineProperty) { Object.defineProperty(cooked, \"raw\", { value: raw }); } else { cooked.raw = raw; }\r\n return cooked;\r\n};\r\n\r\nvar __setModuleDefault = Object.create ? (function(o, v) {\r\n Object.defineProperty(o, \"default\", { enumerable: true, value: v });\r\n}) : function(o, v) {\r\n o[\"default\"] = v;\r\n};\r\n\r\nexport function __importStar(mod) {\r\n if (mod && mod.__esModule) return mod;\r\n var result = {};\r\n if (mod != null) for (var k in mod) if (k !== \"default\" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);\r\n __setModuleDefault(result, mod);\r\n return result;\r\n}\r\n\r\nexport function __importDefault(mod) {\r\n return (mod && mod.__esModule) ? mod : { default: mod };\r\n}\r\n\r\nexport function __classPrivateFieldGet(receiver, state, kind, f) {\r\n if (kind === \"a\" && !f) throw new TypeError(\"Private accessor was defined without a getter\");\r\n if (typeof state === \"function\" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError(\"Cannot read private member from an object whose class did not declare it\");\r\n return kind === \"m\" ? f : kind === \"a\" ? f.call(receiver) : f ? f.value : state.get(receiver);\r\n}\r\n\r\nexport function __classPrivateFieldSet(receiver, state, value, kind, f) {\r\n if (kind === \"m\") throw new TypeError(\"Private method is not writable\");\r\n if (kind === \"a\" && !f) throw new TypeError(\"Private accessor was defined without a setter\");\r\n if (typeof state === \"function\" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError(\"Cannot write private member to an object whose class did not declare it\");\r\n return (kind === \"a\" ? f.call(receiver, value) : f ? f.value = value : state.set(receiver, value)), value;\r\n}\r\n\r\nexport function __classPrivateFieldIn(state, receiver) {\r\n if (receiver === null || (typeof receiver !== \"object\" && typeof receiver !== \"function\")) throw new TypeError(\"Cannot use 'in' operator on non-object\");\r\n return typeof state === \"function\" ? receiver === state : state.has(receiver);\r\n}\r\n\r\nexport function __addDisposableResource(env, value, async) {\r\n if (value !== null && value !== void 0) {\r\n if (typeof value !== \"object\" && typeof value !== \"function\") throw new TypeError(\"Object expected.\");\r\n var dispose, inner;\r\n if (async) {\r\n if (!Symbol.asyncDispose) throw new TypeError(\"Symbol.asyncDispose is not defined.\");\r\n dispose = value[Symbol.asyncDispose];\r\n }\r\n if (dispose === void 0) {\r\n if (!Symbol.dispose) throw new TypeError(\"Symbol.dispose is not defined.\");\r\n dispose = value[Symbol.dispose];\r\n if (async) inner = dispose;\r\n }\r\n if (typeof dispose !== \"function\") throw new TypeError(\"Object not disposable.\");\r\n if (inner) dispose = function() { try { inner.call(this); } catch (e) { return Promise.reject(e); } };\r\n env.stack.push({ value: value, dispose: dispose, async: async });\r\n }\r\n else if (async) {\r\n env.stack.push({ async: true });\r\n }\r\n return value;\r\n\r\n}\r\n\r\nvar _SuppressedError = typeof SuppressedError === \"function\" ? SuppressedError : function (error, suppressed, message) {\r\n var e = new Error(message);\r\n return e.name = \"SuppressedError\", e.error = error, e.suppressed = suppressed, e;\r\n};\r\n\r\nexport function __disposeResources(env) {\r\n function fail(e) {\r\n env.error = env.hasError ? new _SuppressedError(e, env.error, \"An error was suppressed during disposal.\") : e;\r\n env.hasError = true;\r\n }\r\n var r, s = 0;\r\n function next() {\r\n while (r = env.stack.pop()) {\r\n try {\r\n if (!r.async && s === 1) return s = 0, env.stack.push(r), Promise.resolve().then(next);\r\n if (r.dispose) {\r\n var result = r.dispose.call(r.value);\r\n if (r.async) return s |= 2, Promise.resolve(result).then(next, function(e) { fail(e); return next(); });\r\n }\r\n else s |= 1;\r\n }\r\n catch (e) {\r\n fail(e);\r\n }\r\n }\r\n if (s === 1) return env.hasError ? Promise.reject(env.error) : Promise.resolve();\r\n if (env.hasError) throw env.error;\r\n }\r\n return next();\r\n}\r\n\r\nexport default {\r\n __extends: __extends,\r\n __assign: __assign,\r\n __rest: __rest,\r\n __decorate: __decorate,\r\n __param: __param,\r\n __metadata: __metadata,\r\n __awaiter: __awaiter,\r\n __generator: __generator,\r\n __createBinding: __createBinding,\r\n __exportStar: __exportStar,\r\n __values: __values,\r\n __read: __read,\r\n __spread: __spread,\r\n __spreadArrays: __spreadArrays,\r\n __spreadArray: __spreadArray,\r\n __await: __await,\r\n __asyncGenerator: __asyncGenerator,\r\n __asyncDelegator: __asyncDelegator,\r\n __asyncValues: __asyncValues,\r\n __makeTemplateObject: __makeTemplateObject,\r\n __importStar: __importStar,\r\n __importDefault: __importDefault,\r\n __classPrivateFieldGet: __classPrivateFieldGet,\r\n __classPrivateFieldSet: __classPrivateFieldSet,\r\n __classPrivateFieldIn: __classPrivateFieldIn,\r\n __addDisposableResource: __addDisposableResource,\r\n __disposeResources: __disposeResources,\r\n};\r\n","// src/styles/colors.ts\n\nexport interface RGB {\n r: number;\n g: number;\n b: number;\n}\n\nexport interface Color {\n hex: string;\n rgb: RGB;\n}\n\nexport interface ThemeColors {\n primary: Color;\n secondary: Color;\n background: Color;\n text: Color;\n // Add more categories as needed\n}\n\nexport const lightTheme: ThemeColors = {\n primary: {\n hex: '#1A73E8',\n rgb: { r: 26, g: 115, b: 232 },\n },\n secondary: {\n hex: '#F0F6FF',\n rgb: { r: 240, g: 246, b: 255 },\n },\n background: {\n hex: '#FFFFFF',\n rgb: { r: 255, g: 255, b: 255 },\n },\n text: {\n hex: '#000000',\n rgb: { r: 0, g: 0, b: 0 },\n },\n // Add more categories as needed\n};\n\nexport const darkTheme: ThemeColors = {\n primary: {\n hex: '#BB86FC',\n rgb: { r: 187, g: 134, b: 252 },\n },\n secondary: {\n hex: '#03DAC6',\n rgb: { r: 3, g: 218, b: 198 },\n },\n background: {\n hex: '#121212',\n rgb: { r: 18, g: 18, b: 18 },\n },\n text: {\n hex: '#FFFFFF',\n rgb: { r: 255, g: 255, b: 255 },\n },\n // Add more categories as needed\n};\n","import React, { createContext, useState, useEffect, ReactNode } from 'react';\nimport { Appearance, ColorSchemeName } from 'react-native';\nimport { useAsyncStorage } from '@react-native-async-storage/async-storage'; // Import useAsyncStorage\nimport { lightTheme, darkTheme } from '../styles/colors';\nimport { Theme } from '../styles/theme';\n\n/**\n * Interface for the properties provided by ThemeContext.\n */\ninterface ThemeContextProps {\n /**\n * The current theme, containing color definitions.\n */\n theme: Theme;\n\n /**\n * Function to toggle between light and dark themes.\n */\n toggleTheme: () => void;\n}\n\n/**\n * React context for managing theme-related data and functions.\n */\nexport const ThemeContext = createContext<ThemeContextProps>({\n theme: { colors: lightTheme },\n toggleTheme: () => {},\n});\n\n/**\n * Props for the ThemeProvider component.\n */\ninterface ThemeProviderProps {\n /**\n * Child components that will have access to the theme context.\n */\n children: ReactNode;\n\n /**\n * Optional initial theme. Defaults to system preference if not provided.\n */\n initialTheme?: 'light' | 'dark';\n}\n\n/**\n * ThemeProvider component that manages and provides theme data to its children.\n *\n * @param children - The child components that will consume the theme context.\n * @param initialTheme - Optional prop to set the initial theme.\n */\n\nexport const ThemeProvider: React.FC<ThemeProviderProps> = ({ children, initialTheme }) => {\n const [colorScheme, setColorScheme] = useState<ColorSchemeName | null>(null);\n \n // Use useAsyncStorage hook for managing the theme storage\n const { getItem, setItem } = useAsyncStorage('theme');\n\n useEffect(() => {\n const loadTheme = async () => {\n try {\n // const storedTheme = await getItem();\n // if (storedTheme === 'dark' || storedTheme === 'light') {\n // setColorScheme(storedTheme);\n //} \n if (initialTheme) {\n setColorScheme(initialTheme);\n } else {\n const systemTheme = Appearance.getColorScheme();\n setColorScheme(systemTheme);\n }\n } catch (error) {\n console.error('Failed to load theme.', error);\n setColorScheme(Appearance.getColorScheme());\n }\n };\n\n loadTheme();\n\n const subscription = Appearance.addChangeListener(({ colorScheme }) => {\n if (!colorScheme) return; // Prevent setting null\n setColorScheme(colorScheme);\n });\n\n return () => subscription.remove();\n }, [initialTheme, getItem]);\n\n const toggleTheme = async () => {\n try {\n const newTheme = colorScheme === 'dark' ? 'light' : 'dark';\n setColorScheme(newTheme);\n await setItem(newTheme); // Use setItem from useAsyncStorage\n } catch (error) {\n console.error('Failed to toggle theme.', error);\n }\n };\n\n const theme: Theme = {\n colors: colorScheme === 'dark' ? darkTheme : lightTheme,\n };\n\n return (\n <ThemeContext.Provider value={{ theme, toggleTheme }}>\n {children}\n </ThemeContext.Provider>\n );\n};\n","import React, { useContext } from 'react';\nimport { Switch, View, Text, StyleSheet } from 'react-native';\nimport { ThemeContext } from './ThemeContext';\nimport { darkTheme, lightTheme } from '../styles/colors';\n\nconst ThemeToggle: React.FC = () => {\n const { theme, toggleTheme } = useContext(ThemeContext);\n const isDarkMode = theme.colors === darkTheme;\n\n return (\n <View style={styles.container}>\n <Text style={[styles.text, { color: theme.colors.text.hex }]}>Dark Mode</Text>\n <Switch\n value={isDarkMode}\n onValueChange={toggleTheme}\n trackColor={{ false: lightTheme.secondary.hex, true: darkTheme.primary.hex }}\n thumbColor={isDarkMode ? darkTheme.secondary.hex : lightTheme.primary.hex}\n />\n </View>\n );\n};\n\nconst styles = StyleSheet.create({\n container: {\n marginTop: 20,\n flexDirection: 'row',\n alignItems: 'center',\n },\n text: {\n marginRight: 10,\n fontSize: 16,\n },\n});\n\nexport default ThemeToggle;\n","// src/components/Button.tsx\n\nimport React, { useMemo, useContext } from 'react';\nimport { Text, ViewStyle, StyleSheet, TouchableOpacity } from 'react-native';\nimport { ThemeContext } from '../theme/ThemeContext'; // Adjust path to your ThemeContext\nimport { ThemeColors } from '../styles/colors';\n\n// Define the interface for the props that the Button component will accept\ninterface ButtonProps {\n disabled?: boolean; // Optional: Disables the button if true\n isFullWidth?: boolean; // Optional: Expands the button to full width if true\n children?: string; // Optional: Text content of the button\n onPress?: () => void; // Optional: Function to call when the button is pressed\n rounded?: boolean; // Optional: Adds border radius if true\n borderRadius?: number; // Optional: Custom border radius value\n type?: 'submit' | 'button' | 'cancel'; // Optional: Specifies the button type for styling\n}\n\n// Function to determine the styles based on the button type and whether it is disabled\nfunction typeStyles(type?: string, disabled?: boolean, themeColors?: ThemeColors): ViewStyle {\n switch (type) {\n case 'submit':\n return {\n backgroundColor: `rgba(${themeColors?.primary.rgb.r}, ${themeColors?.primary.rgb.g}, ${themeColors?.primary.rgb.b}, ${\n disabled ? 0.5 : 1\n })`,\n borderWidth: 2,\n borderColor: themeColors?.primary.hex,\n };\n case 'button':\n return {\n backgroundColor: themeColors?.primary.hex,\n borderColor: themeColors?.secondary.hex,\n opacity: disabled ? 0.5 : 1,\n borderWidth: 2,\n };\n case 'cancel':\n return {\n backgroundColor: themeColors?.background.hex,\n borderWidth: 0,\n };\n default:\n return {};\n }\n}\n\n// Button component definition\nconst Button: React.FC<ButtonProps> = ({\n children,\n disabled = false,\n type = 'button',\n rounded = true,\n borderRadius = 30,\n isFullWidth = false,\n onPress,\n}) => {\n // Access the current theme from ThemeContext\n const { theme } = useContext(ThemeContext);\n const { colors } = theme; // Extract colors from the theme\n\n // Use useMemo to memoize the computed styles\n const computedStyles = useMemo(() => {\n return StyleSheet.flatten([\n styles.button,\n typeStyles(type, disabled, colors), // Use colors directly\n rounded && { borderRadius },\n isFullWidth && { width: '100%' },\n disabled && styles.disabled,\n ]);\n }, [type, disabled, rounded, borderRadius, isFullWidth, colors]);\n\n // Determine text color based on button type and theme\n const textColor = useMemo(() => {\n return { color: colors.text.hex }; // Access text color from the theme\n }, [type, colors]);\n\n return (\n <TouchableOpacity\n style={computedStyles as ViewStyle}\n disabled={disabled}\n onPress={onPress}\n activeOpacity={0.7}\n >\n <Text style={textColor}>\n {Array.isArray(children) ? children.join('').toUpperCase() : children?.toUpperCase()}\n </Text>\n </TouchableOpacity>\n );\n};\n\n// Define basic styles for the button\nconst styles = StyleSheet.create({\n button: {\n justifyContent: 'center',\n alignItems: 'center',\n paddingVertical: 10,\n paddingHorizontal: 20,\n },\n disabled: {\n opacity: 0.6,\n },\n});\n\nexport default Button;\n"],"names":["lightTheme","primary","hex","rgb","r","g","b","secondary","background","text","darkTheme","ThemeContext","createContext","theme","colors","toggleTheme","ThemeProvider","_a","children","initialTheme","_b","useState","colorScheme","setColorScheme","_c","useAsyncStorage","getItem","setItem","useEffect","loadTheme","__awaiter","systemTheme","Appearance","getColorScheme","error","console","subscription","addChangeListener","remove","newTheme","sent","error_1","React","createElement","Provider","value","ThemeToggle","useContext","isDarkMode","View","style","styles","container","Text","color","Switch","onValueChange","trackColor","thumbColor","StyleSheet","create","marginTop","flexDirection","alignItems","marginRight","fontSize","typeStyles","type","disabled","themeColors","backgroundColor","concat","borderWidth","borderColor","opacity","Button","_d","rounded","_e","borderRadius","_f","isFullWidth","onPress","computedStyles","useMemo","flatten","button","width","textColor","TouchableOpacity","activeOpacity","Array","isArray","join","toUpperCase","justifyContent","paddingVertical","paddingHorizontal"],"mappings":"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","x_google_ignoreList":[0]}
1
+ {"version":3,"file":"index.js","sources":["../node_modules/tslib/tslib.es6.js","../src/styles/colors.ts","../src/theme/ThemeContext.tsx","../src/theme/ThemeToggle.tsx","../src/components/Button.tsx","../src/cards/Card.tsx"],"sourcesContent":["/******************************************************************************\r\nCopyright (c) Microsoft Corporation.\r\n\r\nPermission to use, copy, modify, and/or distribute this software for any\r\npurpose with or without fee is hereby granted.\r\n\r\nTHE SOFTWARE IS PROVIDED \"AS IS\" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH\r\nREGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY\r\nAND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT,\r\nINDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM\r\nLOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR\r\nOTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR\r\nPERFORMANCE OF THIS SOFTWARE.\r\n***************************************************************************** */\r\n/* global Reflect, Promise, SuppressedError, Symbol, Iterator */\r\n\r\nvar extendStatics = function(d, b) {\r\n extendStatics = Object.setPrototypeOf ||\r\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\r\n function (d, b) { for (var p in b) if (Object.prototype.hasOwnProperty.call(b, p)) d[p] = b[p]; };\r\n return extendStatics(d, b);\r\n};\r\n\r\nexport function __extends(d, b) {\r\n if (typeof b !== \"function\" && b !== null)\r\n throw new TypeError(\"Class extends value \" + String(b) + \" is not a constructor or null\");\r\n extendStatics(d, b);\r\n function __() { this.constructor = d; }\r\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\r\n}\r\n\r\nexport var __assign = function() {\r\n __assign = Object.assign || function __assign(t) {\r\n for (var s, i = 1, n = arguments.length; i < n; i++) {\r\n s = arguments[i];\r\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p)) t[p] = s[p];\r\n }\r\n return t;\r\n }\r\n return __assign.apply(this, arguments);\r\n}\r\n\r\nexport function __rest(s, e) {\r\n var t = {};\r\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0)\r\n t[p] = s[p];\r\n if (s != null && typeof Object.getOwnPropertySymbols === \"function\")\r\n for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {\r\n if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i]))\r\n t[p[i]] = s[p[i]];\r\n }\r\n return t;\r\n}\r\n\r\nexport function __decorate(decorators, target, key, desc) {\r\n var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;\r\n if (typeof Reflect === \"object\" && typeof Reflect.decorate === \"function\") r = Reflect.decorate(decorators, target, key, desc);\r\n else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;\r\n return c > 3 && r && Object.defineProperty(target, key, r), r;\r\n}\r\n\r\nexport function __param(paramIndex, decorator) {\r\n return function (target, key) { decorator(target, key, paramIndex); }\r\n}\r\n\r\nexport function __esDecorate(ctor, descriptorIn, decorators, contextIn, initializers, extraInitializers) {\r\n function accept(f) { if (f !== void 0 && typeof f !== \"function\") throw new TypeError(\"Function expected\"); return f; }\r\n var kind = contextIn.kind, key = kind === \"getter\" ? \"get\" : kind === \"setter\" ? \"set\" : \"value\";\r\n var target = !descriptorIn && ctor ? contextIn[\"static\"] ? ctor : ctor.prototype : null;\r\n var descriptor = descriptorIn || (target ? Object.getOwnPropertyDescriptor(target, contextIn.name) : {});\r\n var _, done = false;\r\n for (var i = decorators.length - 1; i >= 0; i--) {\r\n var context = {};\r\n for (var p in contextIn) context[p] = p === \"access\" ? {} : contextIn[p];\r\n for (var p in contextIn.access) context.access[p] = contextIn.access[p];\r\n context.addInitializer = function (f) { if (done) throw new TypeError(\"Cannot add initializers after decoration has completed\"); extraInitializers.push(accept(f || null)); };\r\n var result = (0, decorators[i])(kind === \"accessor\" ? { get: descriptor.get, set: descriptor.set } : descriptor[key], context);\r\n if (kind === \"accessor\") {\r\n if (result === void 0) continue;\r\n if (result === null || typeof result !== \"object\") throw new TypeError(\"Object expected\");\r\n if (_ = accept(result.get)) descriptor.get = _;\r\n if (_ = accept(result.set)) descriptor.set = _;\r\n if (_ = accept(result.init)) initializers.unshift(_);\r\n }\r\n else if (_ = accept(result)) {\r\n if (kind === \"field\") initializers.unshift(_);\r\n else descriptor[key] = _;\r\n }\r\n }\r\n if (target) Object.defineProperty(target, contextIn.name, descriptor);\r\n done = true;\r\n};\r\n\r\nexport function __runInitializers(thisArg, initializers, value) {\r\n var useValue = arguments.length > 2;\r\n for (var i = 0; i < initializers.length; i++) {\r\n value = useValue ? initializers[i].call(thisArg, value) : initializers[i].call(thisArg);\r\n }\r\n return useValue ? value : void 0;\r\n};\r\n\r\nexport function __propKey(x) {\r\n return typeof x === \"symbol\" ? x : \"\".concat(x);\r\n};\r\n\r\nexport function __setFunctionName(f, name, prefix) {\r\n if (typeof name === \"symbol\") name = name.description ? \"[\".concat(name.description, \"]\") : \"\";\r\n return Object.defineProperty(f, \"name\", { configurable: true, value: prefix ? \"\".concat(prefix, \" \", name) : name });\r\n};\r\n\r\nexport function __metadata(metadataKey, metadataValue) {\r\n if (typeof Reflect === \"object\" && typeof Reflect.metadata === \"function\") return Reflect.metadata(metadataKey, metadataValue);\r\n}\r\n\r\nexport function __awaiter(thisArg, _arguments, P, generator) {\r\n function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }\r\n return new (P || (P = Promise))(function (resolve, reject) {\r\n function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }\r\n function rejected(value) { try { step(generator[\"throw\"](value)); } catch (e) { reject(e); } }\r\n function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }\r\n step((generator = generator.apply(thisArg, _arguments || [])).next());\r\n });\r\n}\r\n\r\nexport function __generator(thisArg, body) {\r\n var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g = Object.create((typeof Iterator === \"function\" ? Iterator : Object).prototype);\r\n return g.next = verb(0), g[\"throw\"] = verb(1), g[\"return\"] = verb(2), typeof Symbol === \"function\" && (g[Symbol.iterator] = function() { return this; }), g;\r\n function verb(n) { return function (v) { return step([n, v]); }; }\r\n function step(op) {\r\n if (f) throw new TypeError(\"Generator is already executing.\");\r\n while (g && (g = 0, op[0] && (_ = 0)), _) try {\r\n if (f = 1, y && (t = op[0] & 2 ? y[\"return\"] : op[0] ? y[\"throw\"] || ((t = y[\"return\"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;\r\n if (y = 0, t) op = [op[0] & 2, t.value];\r\n switch (op[0]) {\r\n case 0: case 1: t = op; break;\r\n case 4: _.label++; return { value: op[1], done: false };\r\n case 5: _.label++; y = op[1]; op = [0]; continue;\r\n case 7: op = _.ops.pop(); _.trys.pop(); continue;\r\n default:\r\n if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }\r\n if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }\r\n if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }\r\n if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }\r\n if (t[2]) _.ops.pop();\r\n _.trys.pop(); continue;\r\n }\r\n op = body.call(thisArg, _);\r\n } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }\r\n if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };\r\n }\r\n}\r\n\r\nexport var __createBinding = Object.create ? (function(o, m, k, k2) {\r\n if (k2 === undefined) k2 = k;\r\n var desc = Object.getOwnPropertyDescriptor(m, k);\r\n if (!desc || (\"get\" in desc ? !m.__esModule : desc.writable || desc.configurable)) {\r\n desc = { enumerable: true, get: function() { return m[k]; } };\r\n }\r\n Object.defineProperty(o, k2, desc);\r\n}) : (function(o, m, k, k2) {\r\n if (k2 === undefined) k2 = k;\r\n o[k2] = m[k];\r\n});\r\n\r\nexport function __exportStar(m, o) {\r\n for (var p in m) if (p !== \"default\" && !Object.prototype.hasOwnProperty.call(o, p)) __createBinding(o, m, p);\r\n}\r\n\r\nexport function __values(o) {\r\n var s = typeof Symbol === \"function\" && Symbol.iterator, m = s && o[s], i = 0;\r\n if (m) return m.call(o);\r\n if (o && typeof o.length === \"number\") return {\r\n next: function () {\r\n if (o && i >= o.length) o = void 0;\r\n return { value: o && o[i++], done: !o };\r\n }\r\n };\r\n throw new TypeError(s ? \"Object is not iterable.\" : \"Symbol.iterator is not defined.\");\r\n}\r\n\r\nexport function __read(o, n) {\r\n var m = typeof Symbol === \"function\" && o[Symbol.iterator];\r\n if (!m) return o;\r\n var i = m.call(o), r, ar = [], e;\r\n try {\r\n while ((n === void 0 || n-- > 0) && !(r = i.next()).done) ar.push(r.value);\r\n }\r\n catch (error) { e = { error: error }; }\r\n finally {\r\n try {\r\n if (r && !r.done && (m = i[\"return\"])) m.call(i);\r\n }\r\n finally { if (e) throw e.error; }\r\n }\r\n return ar;\r\n}\r\n\r\n/** @deprecated */\r\nexport function __spread() {\r\n for (var ar = [], i = 0; i < arguments.length; i++)\r\n ar = ar.concat(__read(arguments[i]));\r\n return ar;\r\n}\r\n\r\n/** @deprecated */\r\nexport function __spreadArrays() {\r\n for (var s = 0, i = 0, il = arguments.length; i < il; i++) s += arguments[i].length;\r\n for (var r = Array(s), k = 0, i = 0; i < il; i++)\r\n for (var a = arguments[i], j = 0, jl = a.length; j < jl; j++, k++)\r\n r[k] = a[j];\r\n return r;\r\n}\r\n\r\nexport function __spreadArray(to, from, pack) {\r\n if (pack || arguments.length === 2) for (var i = 0, l = from.length, ar; i < l; i++) {\r\n if (ar || !(i in from)) {\r\n if (!ar) ar = Array.prototype.slice.call(from, 0, i);\r\n ar[i] = from[i];\r\n }\r\n }\r\n return to.concat(ar || Array.prototype.slice.call(from));\r\n}\r\n\r\nexport function __await(v) {\r\n return this instanceof __await ? (this.v = v, this) : new __await(v);\r\n}\r\n\r\nexport function __asyncGenerator(thisArg, _arguments, generator) {\r\n if (!Symbol.asyncIterator) throw new TypeError(\"Symbol.asyncIterator is not defined.\");\r\n var g = generator.apply(thisArg, _arguments || []), i, q = [];\r\n return i = Object.create((typeof AsyncIterator === \"function\" ? AsyncIterator : Object).prototype), verb(\"next\"), verb(\"throw\"), verb(\"return\", awaitReturn), i[Symbol.asyncIterator] = function () { return this; }, i;\r\n function awaitReturn(f) { return function (v) { return Promise.resolve(v).then(f, reject); }; }\r\n function verb(n, f) { if (g[n]) { i[n] = function (v) { return new Promise(function (a, b) { q.push([n, v, a, b]) > 1 || resume(n, v); }); }; if (f) i[n] = f(i[n]); } }\r\n function resume(n, v) { try { step(g[n](v)); } catch (e) { settle(q[0][3], e); } }\r\n function step(r) { r.value instanceof __await ? Promise.resolve(r.value.v).then(fulfill, reject) : settle(q[0][2], r); }\r\n function fulfill(value) { resume(\"next\", value); }\r\n function reject(value) { resume(\"throw\", value); }\r\n function settle(f, v) { if (f(v), q.shift(), q.length) resume(q[0][0], q[0][1]); }\r\n}\r\n\r\nexport function __asyncDelegator(o) {\r\n var i, p;\r\n return i = {}, verb(\"next\"), verb(\"throw\", function (e) { throw e; }), verb(\"return\"), i[Symbol.iterator] = function () { return this; }, i;\r\n function verb(n, f) { i[n] = o[n] ? function (v) { return (p = !p) ? { value: __await(o[n](v)), done: false } : f ? f(v) : v; } : f; }\r\n}\r\n\r\nexport function __asyncValues(o) {\r\n if (!Symbol.asyncIterator) throw new TypeError(\"Symbol.asyncIterator is not defined.\");\r\n var m = o[Symbol.asyncIterator], i;\r\n return m ? m.call(o) : (o = typeof __values === \"function\" ? __values(o) : o[Symbol.iterator](), i = {}, verb(\"next\"), verb(\"throw\"), verb(\"return\"), i[Symbol.asyncIterator] = function () { return this; }, i);\r\n function verb(n) { i[n] = o[n] && function (v) { return new Promise(function (resolve, reject) { v = o[n](v), settle(resolve, reject, v.done, v.value); }); }; }\r\n function settle(resolve, reject, d, v) { Promise.resolve(v).then(function(v) { resolve({ value: v, done: d }); }, reject); }\r\n}\r\n\r\nexport function __makeTemplateObject(cooked, raw) {\r\n if (Object.defineProperty) { Object.defineProperty(cooked, \"raw\", { value: raw }); } else { cooked.raw = raw; }\r\n return cooked;\r\n};\r\n\r\nvar __setModuleDefault = Object.create ? (function(o, v) {\r\n Object.defineProperty(o, \"default\", { enumerable: true, value: v });\r\n}) : function(o, v) {\r\n o[\"default\"] = v;\r\n};\r\n\r\nexport function __importStar(mod) {\r\n if (mod && mod.__esModule) return mod;\r\n var result = {};\r\n if (mod != null) for (var k in mod) if (k !== \"default\" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);\r\n __setModuleDefault(result, mod);\r\n return result;\r\n}\r\n\r\nexport function __importDefault(mod) {\r\n return (mod && mod.__esModule) ? mod : { default: mod };\r\n}\r\n\r\nexport function __classPrivateFieldGet(receiver, state, kind, f) {\r\n if (kind === \"a\" && !f) throw new TypeError(\"Private accessor was defined without a getter\");\r\n if (typeof state === \"function\" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError(\"Cannot read private member from an object whose class did not declare it\");\r\n return kind === \"m\" ? f : kind === \"a\" ? f.call(receiver) : f ? f.value : state.get(receiver);\r\n}\r\n\r\nexport function __classPrivateFieldSet(receiver, state, value, kind, f) {\r\n if (kind === \"m\") throw new TypeError(\"Private method is not writable\");\r\n if (kind === \"a\" && !f) throw new TypeError(\"Private accessor was defined without a setter\");\r\n if (typeof state === \"function\" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError(\"Cannot write private member to an object whose class did not declare it\");\r\n return (kind === \"a\" ? f.call(receiver, value) : f ? f.value = value : state.set(receiver, value)), value;\r\n}\r\n\r\nexport function __classPrivateFieldIn(state, receiver) {\r\n if (receiver === null || (typeof receiver !== \"object\" && typeof receiver !== \"function\")) throw new TypeError(\"Cannot use 'in' operator on non-object\");\r\n return typeof state === \"function\" ? receiver === state : state.has(receiver);\r\n}\r\n\r\nexport function __addDisposableResource(env, value, async) {\r\n if (value !== null && value !== void 0) {\r\n if (typeof value !== \"object\" && typeof value !== \"function\") throw new TypeError(\"Object expected.\");\r\n var dispose, inner;\r\n if (async) {\r\n if (!Symbol.asyncDispose) throw new TypeError(\"Symbol.asyncDispose is not defined.\");\r\n dispose = value[Symbol.asyncDispose];\r\n }\r\n if (dispose === void 0) {\r\n if (!Symbol.dispose) throw new TypeError(\"Symbol.dispose is not defined.\");\r\n dispose = value[Symbol.dispose];\r\n if (async) inner = dispose;\r\n }\r\n if (typeof dispose !== \"function\") throw new TypeError(\"Object not disposable.\");\r\n if (inner) dispose = function() { try { inner.call(this); } catch (e) { return Promise.reject(e); } };\r\n env.stack.push({ value: value, dispose: dispose, async: async });\r\n }\r\n else if (async) {\r\n env.stack.push({ async: true });\r\n }\r\n return value;\r\n\r\n}\r\n\r\nvar _SuppressedError = typeof SuppressedError === \"function\" ? SuppressedError : function (error, suppressed, message) {\r\n var e = new Error(message);\r\n return e.name = \"SuppressedError\", e.error = error, e.suppressed = suppressed, e;\r\n};\r\n\r\nexport function __disposeResources(env) {\r\n function fail(e) {\r\n env.error = env.hasError ? new _SuppressedError(e, env.error, \"An error was suppressed during disposal.\") : e;\r\n env.hasError = true;\r\n }\r\n var r, s = 0;\r\n function next() {\r\n while (r = env.stack.pop()) {\r\n try {\r\n if (!r.async && s === 1) return s = 0, env.stack.push(r), Promise.resolve().then(next);\r\n if (r.dispose) {\r\n var result = r.dispose.call(r.value);\r\n if (r.async) return s |= 2, Promise.resolve(result).then(next, function(e) { fail(e); return next(); });\r\n }\r\n else s |= 1;\r\n }\r\n catch (e) {\r\n fail(e);\r\n }\r\n }\r\n if (s === 1) return env.hasError ? Promise.reject(env.error) : Promise.resolve();\r\n if (env.hasError) throw env.error;\r\n }\r\n return next();\r\n}\r\n\r\nexport default {\r\n __extends: __extends,\r\n __assign: __assign,\r\n __rest: __rest,\r\n __decorate: __decorate,\r\n __param: __param,\r\n __metadata: __metadata,\r\n __awaiter: __awaiter,\r\n __generator: __generator,\r\n __createBinding: __createBinding,\r\n __exportStar: __exportStar,\r\n __values: __values,\r\n __read: __read,\r\n __spread: __spread,\r\n __spreadArrays: __spreadArrays,\r\n __spreadArray: __spreadArray,\r\n __await: __await,\r\n __asyncGenerator: __asyncGenerator,\r\n __asyncDelegator: __asyncDelegator,\r\n __asyncValues: __asyncValues,\r\n __makeTemplateObject: __makeTemplateObject,\r\n __importStar: __importStar,\r\n __importDefault: __importDefault,\r\n __classPrivateFieldGet: __classPrivateFieldGet,\r\n __classPrivateFieldSet: __classPrivateFieldSet,\r\n __classPrivateFieldIn: __classPrivateFieldIn,\r\n __addDisposableResource: __addDisposableResource,\r\n __disposeResources: __disposeResources,\r\n};\r\n","// src/styles/colors.ts\n\nexport interface RGB {\n r: number;\n g: number;\n b: number;\n}\n\nexport interface Color {\n hex: string;\n rgb: RGB;\n}\n\nexport interface ThemeColors {\n primary: Color;\n secondary: Color;\n background: Color;\n text: Color;\n textButton: Color;\n // Add more categories as needed\n}\n\nexport const lightTheme: ThemeColors = {\n primary: {\n hex: '#1A73E8',\n rgb: { r: 26, g: 115, b: 232 },\n },\n secondary: {\n hex: '#F0F6FF',\n rgb: { r: 240, g: 246, b: 255 },\n },\n background: {\n hex: '#FFFFFF',\n rgb: { r: 255, g: 255, b: 255 },\n },\n text: {\n hex: '#000000',\n rgb: { r: 0, g: 0, b: 0 },\n },\n textButton: {\n hex: '#FFFFFF',\n rgb: { r: 255, g: 255, b: 255 },\n },\n};\n\nexport const darkTheme: ThemeColors = {\n primary: {\n hex: '#BB86FC',\n rgb: { r: 187, g: 134, b: 252 },\n },\n secondary: {\n hex: '#03DAC6',\n rgb: { r: 3, g: 218, b: 198 },\n },\n background: {\n hex: '#121212',\n rgb: { r: 18, g: 18, b: 18 },\n },\n text: {\n hex: '#FFFFFF',\n rgb: { r: 255, g: 255, b: 255 },\n },\n textButton: {\n hex: '#FFFFFF',\n rgb: { r: 255, g: 255, b: 255 },\n },\n // Add more categories as needed\n};\n","import React, { createContext, useState, useEffect, ReactNode } from 'react';\nimport { Appearance, ColorSchemeName } from 'react-native';\nimport { useAsyncStorage } from '@react-native-async-storage/async-storage'; // Import useAsyncStorage\nimport { lightTheme, darkTheme } from '../styles/colors';\nimport { Theme } from '../styles/theme';\n\n/**\n * Interface for the properties provided by ThemeContext.\n */\ninterface ThemeContextProps {\n /**\n * The current theme, containing color definitions.\n */\n theme: Theme;\n\n /**\n * Function to toggle between light and dark themes.\n */\n toggleTheme: () => void;\n}\n\n/**\n * React context for managing theme-related data and functions.\n */\nexport const ThemeContext = createContext<ThemeContextProps>({\n theme: { colors: lightTheme },\n toggleTheme: () => {},\n});\n\n/**\n * Props for the ThemeProvider component.\n */\ninterface ThemeProviderProps {\n /**\n * Child components that will have access to the theme context.\n */\n children: ReactNode;\n\n /**\n * Optional initial theme. Defaults to system preference if not provided.\n */\n initialTheme?: 'light' | 'dark';\n}\n\n/**\n * ThemeProvider component that manages and provides theme data to its children.\n *\n * @param children - The child components that will consume the theme context.\n * @param initialTheme - Optional prop to set the initial theme.\n */\n\nexport const ThemeProvider: React.FC<ThemeProviderProps> = ({ children, initialTheme }) => {\n const [colorScheme, setColorScheme] = useState<ColorSchemeName | null>(null);\n \n // Use useAsyncStorage hook for managing the theme storage\n const { getItem, setItem } = useAsyncStorage('theme');\n\n useEffect(() => {\n const loadTheme = async () => {\n try {\n // const storedTheme = await getItem();\n // if (storedTheme === 'dark' || storedTheme === 'light') {\n // setColorScheme(storedTheme);\n //} \n if (initialTheme) {\n setColorScheme(initialTheme);\n } else {\n const systemTheme = Appearance.getColorScheme();\n setColorScheme(systemTheme);\n }\n } catch (error) {\n console.error('Failed to load theme.', error);\n setColorScheme(Appearance.getColorScheme());\n }\n };\n\n loadTheme();\n\n const subscription = Appearance.addChangeListener(({ colorScheme }) => {\n if (!colorScheme) return; // Prevent setting null\n setColorScheme(colorScheme);\n });\n\n return () => subscription.remove();\n }, [initialTheme, getItem]);\n\n const toggleTheme = async () => {\n try {\n const newTheme = colorScheme === 'dark' ? 'light' : 'dark';\n setColorScheme(newTheme);\n await setItem(newTheme); // Use setItem from useAsyncStorage\n } catch (error) {\n console.error('Failed to toggle theme.', error);\n }\n };\n\n const theme: Theme = {\n colors: colorScheme === 'dark' ? darkTheme : lightTheme,\n };\n\n return (\n <ThemeContext.Provider value={{ theme, toggleTheme }}>\n {children}\n </ThemeContext.Provider>\n );\n};\n","import React, { useContext } from 'react';\nimport { Switch, View, Text, StyleSheet } from 'react-native';\nimport { ThemeContext } from './ThemeContext';\nimport { darkTheme, lightTheme } from '../styles/colors';\n\nconst ThemeToggle: React.FC = () => {\n const { theme, toggleTheme } = useContext(ThemeContext);\n const isDarkMode = theme.colors === darkTheme;\n\n return (\n <View style={styles.container}>\n <Text style={[styles.text, { color: theme.colors.text.hex }]}>Dark Mode</Text>\n <Switch\n value={isDarkMode}\n onValueChange={toggleTheme}\n trackColor={{ false: lightTheme.secondary.hex, true: darkTheme.primary.hex }}\n thumbColor={isDarkMode ? darkTheme.secondary.hex : lightTheme.primary.hex}\n />\n </View>\n );\n};\n\nconst styles = StyleSheet.create({\n container: {\n marginTop: 20,\n flexDirection: 'row',\n alignItems: 'center',\n },\n text: {\n marginRight: 10,\n fontSize: 16,\n },\n});\n\nexport default ThemeToggle;\n","// src/components/Button.tsx\n\nimport React, { useMemo, useContext } from 'react';\nimport { Text, ViewStyle, StyleSheet, TouchableOpacity } from 'react-native';\nimport { ThemeContext } from '../theme/ThemeContext';\nimport { ThemeColors } from '../styles/colors';\n\n/**\n * Interface for the props that the Button component accepts.\n */\ninterface ButtonProps {\n /**\n * If true, the button is disabled and not pressable.\n */\n disabled?: boolean;\n\n /**\n * If true, the button expands to full width of its container.\n */\n isFullWidth?: boolean;\n\n /**\n * Text content of the button.\n */\n children?: string;\n\n /**\n * Function to call when the button is pressed.\n */\n onPress?: () => void;\n\n /**\n * If true, the button has rounded corners.\n */\n rounded?: boolean;\n\n /**\n * Custom border radius value. Overrides the `rounded` prop if provided.\n */\n borderRadius?: number;\n\n /**\n * Specifies the button type for styling. Can be 'submit', 'button', or 'cancel'.\n */\n type?: 'submit' | 'button' | 'cancel';\n}\n\n/**\n * Determines the styles based on the button type and whether it is disabled.\n *\n * @param type - The type of the button ('submit', 'button', 'cancel').\n * @param disabled - Whether the button is disabled.\n * @param themeColors - The theme colors.\n * @returns The computed style for the button.\n */\nfunction typeStyles(\n type?: string,\n disabled?: boolean,\n themeColors?: ThemeColors\n): ViewStyle {\n switch (type) {\n case 'submit':\n return {\n backgroundColor: `rgba(${themeColors?.primary.rgb.r}, ${themeColors?.primary.rgb.g}, ${themeColors?.primary.rgb.b}, ${\n disabled ? 0.5 : 1\n })`,\n borderWidth: 2,\n borderColor: themeColors?.primary.hex,\n };\n case 'button':\n return {\n backgroundColor: themeColors?.primary.hex,\n borderColor: themeColors?.secondary.hex,\n opacity: disabled ? 0.5 : 1,\n borderWidth: 2,\n };\n case 'cancel':\n return {\n backgroundColor: themeColors?.background.hex,\n borderWidth: 0,\n };\n default:\n return {};\n }\n}\n\n/**\n * Button component that adapts its styles based on the current theme.\n * Supports dynamic styling, full-width option, rounded corners, and different types.\n *\n * @param disabled - If true, the button is disabled and not pressable.\n * @param isFullWidth - If true, the button expands to full width of its container.\n * @param children - Text content of the button.\n * @param onPress - Function to call when the button is pressed.\n * @param rounded - If true, the button has rounded corners.\n * @param borderRadius - Custom border radius value. Overrides the `rounded` prop if provided.\n * @param type - Specifies the button type for styling ('submit', 'button', 'cancel').\n */\nconst Button: React.FC<ButtonProps> = ({\n children,\n disabled = false,\n type = 'button',\n rounded = true,\n borderRadius = 30,\n isFullWidth = false,\n onPress,\n}) => {\n const { theme } = useContext(ThemeContext);\n const { colors } = theme;\n\n const computedStyles = useMemo(() => {\n return StyleSheet.flatten([\n styles.button,\n typeStyles(type, disabled, colors),\n rounded && { borderRadius },\n isFullWidth && { width: '100%' },\n disabled && styles.disabled,\n ]);\n }, [type, disabled, rounded, borderRadius, isFullWidth, colors]);\n\n const textColor = useMemo(() => {\n return { color: colors.textButton.hex };\n }, [type, colors]);\n\n return (\n <TouchableOpacity\n style={computedStyles as ViewStyle}\n disabled={disabled}\n onPress={onPress}\n activeOpacity={0.7}\n >\n <Text style={textColor}>\n {Array.isArray(children) ? children.join('').toUpperCase() : children?.toUpperCase()}\n </Text>\n </TouchableOpacity>\n );\n};\n\nconst styles = StyleSheet.create({\n button: {\n justifyContent: 'center',\n alignItems: 'center',\n paddingVertical: 10,\n paddingHorizontal: 20,\n },\n disabled: {\n opacity: 0.6,\n },\n});\n\nexport default Button;\n","// src/cards/Card.tsx\n\nimport React, { useContext } from 'react';\nimport {\n View,\n StyleSheet,\n StyleProp,\n ViewStyle,\n Platform,\n TouchableOpacity,\n GestureResponderEvent,\n} from 'react-native';\nimport { ThemeContext } from '../theme/ThemeContext';\nimport { ThemeColors } from '../styles/colors';\nimport Animated, { useAnimatedStyle, useSharedValue, withSpring } from 'react-native-reanimated';\n\n/**\n * Interface for the props that the Card component accepts.\n */\ninterface CardProps {\n /**\n * Content to be rendered inside the Card.\n */\n children: React.ReactNode;\n\n /**\n * Style to be applied to the Card container.\n */\n style?: StyleProp<ViewStyle>;\n\n /**\n * Function to call when the Card is pressed.\n */\n onPress?: (event: GestureResponderEvent) => void;\n\n /**\n * Whether the Card is pressable. Defaults to false.\n */\n pressable?: boolean;\n\n /**\n * Border radius of the Card. Defaults to 12.\n */\n borderRadius?: number;\n\n /**\n * Elevation of the Card (Android only).\n */\n elevation?: number;\n\n /**\n * Shadow properties for iOS.\n */\n shadowProps?: {\n shadowColor?: string;\n shadowOffset?: { width: number; height: number };\n shadowOpacity?: number;\n shadowRadius?: number;\n };\n}\n\n/**\n * Card component that adapts its styles based on the current theme.\n * Supports dynamic styling, shadows, and press animations.\n *\n * @param children - The content to be displayed inside the Card.\n * @param style - Additional styles to apply to the Card.\n * @param onPress - Function to execute when the Card is pressed.\n * @param pressable - Determines if the Card is pressable. Defaults to false.\n * @param borderRadius - Border radius of the Card. Defaults to 12.\n * @param elevation - Elevation for Android shadow. Overrides default.\n * @param shadowProps - Custom shadow properties for iOS. Overrides defaults.\n */\nconst Card: React.FC<CardProps> = ({\n children,\n style,\n onPress,\n pressable = false,\n borderRadius = 12,\n elevation = 4,\n shadowProps = {},\n}) => {\n const { theme } = useContext(ThemeContext);\n const { colors } = theme;\n\n // Animation state\n const scale = useSharedValue(1);\n\n const animatedStyle = useAnimatedStyle(() => ({\n transform: [{ scale: scale.value }],\n }));\n\n const handlePressIn = () => {\n scale.value = withSpring(0.95);\n };\n\n const handlePressOut = () => {\n scale.value = withSpring(1);\n };\n\n // Default shadow styles\n const defaultShadow = Platform.select({\n ios: {\n shadowColor: colors.text.hex,\n shadowOffset: { width: 0, height: 2 },\n shadowOpacity: 0.1,\n shadowRadius: 4,\n ...shadowProps,\n },\n android: {\n elevation: elevation,\n },\n });\n\n return pressable ? (\n <TouchableOpacity\n activeOpacity={0.8}\n onPress={onPress}\n onPressIn={handlePressIn}\n onPressOut={handlePressOut}\n style={[styles.container, { borderRadius, backgroundColor: colors.background.hex }, defaultShadow, style]}\n >\n <Animated.View style={[animatedStyle]}>\n {children}\n </Animated.View>\n </TouchableOpacity>\n ) : (\n <View style={[styles.container, { borderRadius, backgroundColor: colors.background.hex }, defaultShadow, style]}>\n {children}\n </View>\n );\n};\n\nconst styles = StyleSheet.create({\n container: {\n padding: 16,\n borderRadius: 12,\n // Shadows are handled dynamically based on platform\n },\n});\n\nexport default Card;\n"],"names":["lightTheme","primary","hex","rgb","r","g","b","secondary","background","text","textButton","darkTheme","ThemeContext","createContext","theme","colors","toggleTheme","ThemeProvider","_a","children","initialTheme","_b","useState","colorScheme","setColorScheme","_c","useAsyncStorage","getItem","setItem","useEffect","loadTheme","__awaiter","systemTheme","Appearance","getColorScheme","error","console","subscription","addChangeListener","remove","newTheme","sent","error_1","React","createElement","Provider","value","ThemeToggle","useContext","isDarkMode","View","style","styles","container","Text","color","Switch","onValueChange","trackColor","thumbColor","StyleSheet","create","marginTop","flexDirection","alignItems","marginRight","fontSize","typeStyles","type","disabled","themeColors","backgroundColor","concat","borderWidth","borderColor","opacity","Button","_d","rounded","_e","borderRadius","_f","isFullWidth","onPress","computedStyles","useMemo","flatten","button","width","textColor","TouchableOpacity","activeOpacity","Array","isArray","join","toUpperCase","justifyContent","paddingVertical","paddingHorizontal","Card","pressable","elevation","shadowProps","scale","useSharedValue","animatedStyle","useAnimatedStyle","transform","handlePressIn","withSpring","handlePressOut","defaultShadow","Platform","select","ios","__assign","shadowColor","shadowOffset","height","shadowOpacity","shadowRadius","android","onPressIn","onPressOut","Animated","padding"],"mappings":"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","x_google_ignoreList":[0]}
@@ -12,6 +12,7 @@ export interface ThemeColors {
12
12
  secondary: Color;
13
13
  background: Color;
14
14
  text: Color;
15
+ textButton: Color;
15
16
  }
16
17
  export declare const lightTheme: ThemeColors;
17
18
  export declare const darkTheme: ThemeColors;
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "aport-tools",
3
- "version": "4.0.1",
3
+ "version": "4.0.21",
4
4
  "description": "Aport mobile Tools with modern and minimalistic design",
5
5
  "main": "dist/index.js",
6
6
  "module": "dist/index.esm.js",
@@ -9,9 +9,14 @@
9
9
  "types": "dist/index.d.ts",
10
10
  "type": "module",
11
11
  "exports": {
12
- "./Theme": "./dist/theme/index.js",
13
- "./buttons": "./dist/buttons/index.js"
12
+ ".": "./dist/index.js",
13
+ "./buttons": "./dist/buttons/index.js",
14
+ "./theme": "./dist/theme/index.js",
15
+ "./cards": "./dist/cards/index.js"
14
16
  },
17
+ "files": [
18
+ "dist"
19
+ ],
15
20
  "scripts": {
16
21
  "build": "rollup -c rollup.config.mjs",
17
22
  "prepare": "npm run build",
@@ -48,5 +53,8 @@
48
53
  "@react-native-async-storage/async-storage": "^1.23.1",
49
54
  "react": "^16.8.0 || ^17.0.0 || ^18.0.0",
50
55
  "react-native": ">=0.60"
56
+ },
57
+ "dependencies": {
58
+ "react-native-reanimated": "^3.10.1"
51
59
  }
52
60
  }
package/.babelrc DELETED
@@ -1,7 +0,0 @@
1
- {
2
- "presets": [
3
- "@babel/preset-env",
4
- "@babel/preset-react",
5
- "@babel/preset-typescript"
6
- ]
7
- }
package/.expo/README.md DELETED
@@ -1,15 +0,0 @@
1
- > Why do I have a folder named ".expo" in my project?
2
-
3
- The ".expo" folder is created when an Expo project is started using "expo start" command.
4
-
5
- > What do the files contain?
6
-
7
- - "devices.json": contains information about devices that have recently opened this project. This is used to populate the "Development sessions" list in your development builds.
8
- - "packager-info.json": contains port numbers and process PIDs that are used to serve the application to the mobile device/simulator.
9
- - "settings.json": contains the server configuration that is used to serve the application manifest.
10
-
11
- > Should I commit the ".expo" folder?
12
-
13
- No, you should not share the ".expo" folder. It does not contain any information that is relevant for other developers working on the project, it is specific to your machine.
14
-
15
- Upon project creation, the ".expo" folder is already added to your ".gitignore" file.
@@ -1,3 +0,0 @@
1
- {
2
- "devices": []
3
- }
@@ -1,8 +0,0 @@
1
- {
2
- "hostType": "lan",
3
- "lanType": "ip",
4
- "dev": true,
5
- "minify": false,
6
- "urlRandomness": null,
7
- "https": false
8
- }
package/App.tsx DELETED
@@ -1,41 +0,0 @@
1
- // src/App.tsx
2
-
3
- import React from 'react';
4
- import { SafeAreaView, StatusBar, Text, StyleSheet, AppRegistry } from 'react-native';
5
- import { ThemeProvider, ThemeContext } from './src/theme/ThemeContext';
6
- import ThemeToggle from './src/theme/ThemeToggle'; // Import ThemeToggle
7
- import { name as appName } from './app.json'; // Ensure this path is correct
8
-
9
- const App: React.FC = () => {
10
- return (
11
- <ThemeProvider>
12
- <ThemeContext.Consumer>
13
- {({ theme }) => (
14
- <SafeAreaView style={[styles.container, { backgroundColor: theme.colors.background.hex }]}>
15
- <StatusBar barStyle={theme.colors.text.hex === '#FFFFFF' ? 'light-content' : 'dark-content'} />
16
- <Text style={[styles.text, { color: theme.colors.text.hex }]}>
17
- Current Theme: {theme.colors.primary.hex === '#1A73E8' ? 'Light' : 'Dark'}
18
- </Text>
19
- <ThemeToggle />
20
- </SafeAreaView>
21
- )}
22
- </ThemeContext.Consumer>
23
- </ThemeProvider>
24
- );
25
- };
26
-
27
- const styles = StyleSheet.create({
28
- container: {
29
- flex: 1,
30
- alignItems: 'center',
31
- justifyContent: 'center',
32
- padding: 20,
33
- },
34
- text: {
35
- fontSize: 24,
36
- marginBottom: 20,
37
- },
38
- });
39
-
40
-
41
- export default App;
package/app.json DELETED
@@ -1,5 +0,0 @@
1
- {
2
- "name": "aport-tools",
3
- "displayName": "Aport Tools"
4
- }
5
-
package/rollup.config.mjs DELETED
@@ -1,53 +0,0 @@
1
- // rollup.config.mjs
2
-
3
- import babel from '@rollup/plugin-babel';
4
- import json from '@rollup/plugin-json';
5
- import typescript from '@rollup/plugin-typescript';
6
- import commonjs from '@rollup/plugin-commonjs';
7
- import resolve from '@rollup/plugin-node-resolve';
8
- import peerDepsExternal from 'rollup-plugin-peer-deps-external';
9
- import pkg from './package.json' assert { type: 'json' };
10
-
11
- export default {
12
- input: 'src/index.ts',
13
- output: [
14
- {
15
- file: pkg.main,
16
- format: 'cjs',
17
- sourcemap: true,
18
- exports: 'named',
19
- banner: `/*! ${pkg.name} v${pkg.version} | ${pkg.license} */`,
20
- },
21
- {
22
- file: pkg.module,
23
- format: 'esm',
24
- sourcemap: true,
25
- banner: `/*! ${pkg.name} v${pkg.version} | ${pkg.license} */`,
26
- },
27
- ],
28
- plugins: [
29
- peerDepsExternal(),
30
- resolve({
31
- extensions: ['.js', '.jsx', '.ts', '.tsx'],
32
- }),
33
- commonjs(),
34
- babel({
35
- extensions: ['.js', '.jsx', '.ts', '.tsx'],
36
- babelHelpers: 'bundled',
37
- include: ['src/**/*'],
38
- presets: ['@babel/preset-env', '@babel/preset-react', '@babel/preset-typescript'],
39
- }),
40
- json(), // Handles JSON imports like package.json
41
- typescript({
42
- tsconfig: './tsconfig.json',
43
- declaration: true,
44
- declarationDir: 'dist',
45
- emitDeclarationOnly: false,
46
- }),
47
- ],
48
- external: [
49
- 'react',
50
- 'react-native',
51
- '@react-native-async-storage/async-storage',
52
- ],
53
- };