aport-tools 4.0.1 → 4.0.4

Sign up to get free protection for your applications and to get access to all the features.
@@ -1 +1 @@
1
- export { default as Button } from '../components/Button';
1
+ export { Button } from '../components/Button';
@@ -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
+ export declare const Card: React.FC<CardProps>;
57
+ export {};
@@ -0,0 +1 @@
1
+ export { 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
  }
11
- declare const Button: React.FC<ButtonProps>;
12
- export default Button;
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
+ */
47
+ export declare const Button: React.FC<ButtonProps>;
48
+ export {};
@@ -0,0 +1,2 @@
1
+ import Animated, { useAnimatedStyle, useSharedValue, withSpring } from 'react-native-reanimated';
2
+ export { Animated as useAnimated, useAnimatedStyle, useSharedValue, withSpring };
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,6 +1,6 @@
1
- /*! aport-tools v4.0.1 | ISC */
1
+ /*! aport-tools v4.0.4 | 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
5
 
6
6
  /******************************************************************************
@@ -96,8 +96,15 @@ var lightTheme = {
96
96
  g: 0,
97
97
  b: 0
98
98
  }
99
+ },
100
+ textButton: {
101
+ hex: '#FFFFFF',
102
+ rgb: {
103
+ r: 255,
104
+ g: 255,
105
+ b: 255
106
+ }
99
107
  }
100
- // Add more categories as needed
101
108
  };
102
109
  var darkTheme = {
103
110
  primary: {
@@ -131,6 +138,14 @@ var darkTheme = {
131
138
  g: 255,
132
139
  b: 255
133
140
  }
141
+ },
142
+ textButton: {
143
+ hex: '#FFFFFF',
144
+ rgb: {
145
+ r: 255,
146
+ g: 255,
147
+ b: 255
148
+ }
134
149
  }
135
150
  // Add more categories as needed
136
151
  };
@@ -234,9 +249,9 @@ var ThemeToggle = function ThemeToggle() {
234
249
  toggleTheme = _a.toggleTheme;
235
250
  var isDarkMode = theme.colors === darkTheme;
236
251
  return /*#__PURE__*/React.createElement(View, {
237
- style: styles$1.container
252
+ style: styles$2.container
238
253
  }, /*#__PURE__*/React.createElement(Text, {
239
- style: [styles$1.text, {
254
+ style: [styles$2.text, {
240
255
  color: theme.colors.text.hex
241
256
  }]
242
257
  }, "Dark Mode"), /*#__PURE__*/React.createElement(Switch, {
@@ -249,7 +264,7 @@ var ThemeToggle = function ThemeToggle() {
249
264
  thumbColor: isDarkMode ? darkTheme.secondary.hex : lightTheme.primary.hex
250
265
  }));
251
266
  };
252
- var styles$1 = StyleSheet.create({
267
+ var styles$2 = StyleSheet.create({
253
268
  container: {
254
269
  marginTop: 20,
255
270
  flexDirection: 'row',
@@ -262,7 +277,14 @@ var styles$1 = StyleSheet.create({
262
277
  });
263
278
 
264
279
  // src/components/Button.tsx
265
- // Function to determine the styles based on the button type and whether it is disabled
280
+ /**
281
+ * Determines the styles based on the button type and whether it is disabled.
282
+ *
283
+ * @param type - The type of the button ('submit', 'button', 'cancel').
284
+ * @param disabled - Whether the button is disabled.
285
+ * @param themeColors - The theme colors.
286
+ * @returns The computed style for the button.
287
+ */
266
288
  function typeStyles(type, disabled, themeColors) {
267
289
  switch (type) {
268
290
  case 'submit':
@@ -287,7 +309,18 @@ function typeStyles(type, disabled, themeColors) {
287
309
  return {};
288
310
  }
289
311
  }
290
- // Button component definition
312
+ /**
313
+ * Button component that adapts its styles based on the current theme.
314
+ * Supports dynamic styling, full-width option, rounded corners, and different types.
315
+ *
316
+ * @param disabled - If true, the button is disabled and not pressable.
317
+ * @param isFullWidth - If true, the button expands to full width of its container.
318
+ * @param children - Text content of the button.
319
+ * @param onPress - Function to call when the button is pressed.
320
+ * @param rounded - If true, the button has rounded corners.
321
+ * @param borderRadius - Custom border radius value. Overrides the `rounded` prop if provided.
322
+ * @param type - Specifies the button type for styling ('submit', 'button', 'cancel').
323
+ */
291
324
  var Button = function Button(_a) {
292
325
  var children = _a.children,
293
326
  _b = _a.disabled,
@@ -301,24 +334,19 @@ var Button = function Button(_a) {
301
334
  _f = _a.isFullWidth,
302
335
  isFullWidth = _f === void 0 ? false : _f,
303
336
  onPress = _a.onPress;
304
- // Access the current theme from ThemeContext
305
337
  var theme = useContext(ThemeContext).theme;
306
- var colors = theme.colors; // Extract colors from the theme
307
- // Use useMemo to memoize the computed styles
338
+ var colors = theme.colors;
308
339
  var computedStyles = useMemo(function () {
309
- return StyleSheet.flatten([styles.button, typeStyles(type, disabled, colors),
310
- // Use colors directly
311
- rounded && {
340
+ return StyleSheet.flatten([styles$1.button, typeStyles(type, disabled, colors), rounded && {
312
341
  borderRadius: borderRadius
313
342
  }, isFullWidth && {
314
343
  width: '100%'
315
- }, disabled && styles.disabled]);
344
+ }, disabled && styles$1.disabled]);
316
345
  }, [type, disabled, rounded, borderRadius, isFullWidth, colors]);
317
- // Determine text color based on button type and theme
318
346
  var textColor = useMemo(function () {
319
347
  return {
320
- color: colors.text.hex
321
- }; // Access text color from the theme
348
+ color: colors.textButton.hex
349
+ };
322
350
  }, [type, colors]);
323
351
  return /*#__PURE__*/React.createElement(TouchableOpacity, {
324
352
  style: computedStyles,
@@ -329,8 +357,7 @@ var Button = function Button(_a) {
329
357
  style: textColor
330
358
  }, Array.isArray(children) ? children.join('').toUpperCase() : children === null || children === void 0 ? void 0 : children.toUpperCase()));
331
359
  };
332
- // Define basic styles for the button
333
- var styles = StyleSheet.create({
360
+ var styles$1 = StyleSheet.create({
334
361
  button: {
335
362
  justifyContent: 'center',
336
363
  alignItems: 'center',
@@ -342,5 +369,72 @@ var styles = StyleSheet.create({
342
369
  }
343
370
  });
344
371
 
345
- export { Button, ThemeContext, ThemeProvider, ThemeToggle };
372
+ // src/cards/Card.tsx
373
+ /**
374
+ * Card component that adapts its styles based on the current theme.
375
+ * Supports dynamic styling, shadows, and press animations.
376
+ *
377
+ * @param children - The content to be displayed inside the Card.
378
+ * @param style - Additional styles to apply to the Card.
379
+ * @param onPress - Function to execute when the Card is pressed.
380
+ * @param pressable - Determines if the Card is pressable. Defaults to false.
381
+ * @param borderRadius - Border radius of the Card. Defaults to 12.
382
+ * @param elevation - Elevation for Android shadow. Overrides default.
383
+ * @param shadowProps - Custom shadow properties for iOS. Overrides defaults.
384
+ */
385
+ var Card = function Card(_a) {
386
+ var children = _a.children,
387
+ style = _a.style,
388
+ onPress = _a.onPress,
389
+ _b = _a.pressable,
390
+ pressable = _b === void 0 ? false : _b,
391
+ _c = _a.borderRadius,
392
+ borderRadius = _c === void 0 ? 12 : _c,
393
+ _d = _a.elevation,
394
+ elevation = _d === void 0 ? 4 : _d,
395
+ _e = _a.shadowProps,
396
+ shadowProps = _e === void 0 ? {} : _e;
397
+ var theme = useContext(ThemeContext).theme;
398
+ var colors = theme.colors;
399
+ // Animation state for pressable effect
400
+ // Default shadow styles (improved platform-specific handling)
401
+ var defaultShadow = Platform.select({
402
+ ios: {
403
+ shadowColor: (shadowProps === null || shadowProps === void 0 ? void 0 : shadowProps.shadowColor) || colors.text.hex,
404
+ // Defaulting to theme text color
405
+ shadowOffset: (shadowProps === null || shadowProps === void 0 ? void 0 : shadowProps.shadowOffset) || {
406
+ width: 0,
407
+ height: 2
408
+ },
409
+ shadowOpacity: (shadowProps === null || shadowProps === void 0 ? void 0 : shadowProps.shadowOpacity) || 0.1,
410
+ shadowRadius: (shadowProps === null || shadowProps === void 0 ? void 0 : shadowProps.shadowRadius) || 4
411
+ },
412
+ android: {
413
+ elevation: elevation // Only applies to Android
414
+ }
415
+ });
416
+ var cardStyles = [styles.container, {
417
+ borderRadius: borderRadius,
418
+ backgroundColor: colors.background.hex
419
+ }, defaultShadow,
420
+ // Dynamic shadows based on platform
421
+ style // External styles
422
+ ];
423
+ return pressable ? (/*#__PURE__*/React.createElement(TouchableOpacity, {
424
+ activeOpacity: 0.8,
425
+ onPress: onPress,
426
+ style: cardStyles
427
+ }, children)) : (/*#__PURE__*/React.createElement(View, {
428
+ style: cardStyles
429
+ }, children));
430
+ };
431
+ var styles = StyleSheet.create({
432
+ container: {
433
+ padding: 16,
434
+ borderRadius: 12
435
+ // Shadows handled dynamically with platform logic
436
+ }
437
+ });
438
+
439
+ export { Button, Card, ThemeContext, ThemeProvider, ThemeToggle };
346
440
  //# 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 */\nexport const 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\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';\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 */\nexport const 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 for pressable effect\n // Default shadow styles (improved platform-specific handling)\n const defaultShadow = Platform.select({\n ios: {\n shadowColor: shadowProps?.shadowColor || colors.text.hex, // Defaulting to theme text color\n shadowOffset: shadowProps?.shadowOffset || { width: 0, height: 2 },\n shadowOpacity: shadowProps?.shadowOpacity || 0.1,\n shadowRadius: shadowProps?.shadowRadius || 4,\n },\n android: {\n elevation: elevation, // Only applies to Android\n },\n });\n \n const cardStyles = [\n styles.container,\n { borderRadius, backgroundColor: colors.background.hex },\n defaultShadow, // Dynamic shadows based on platform\n style, // External styles\n ];\n \n return pressable ? (\n <TouchableOpacity\n activeOpacity={0.8}\n onPress={onPress}\n \n style={cardStyles}\n >\n \n {children}\n </TouchableOpacity>\n ) : (\n <View style={cardStyles}>\n {children}\n </View>\n );\n };\n \n const styles = StyleSheet.create({\n container: {\n padding: 16,\n borderRadius: 12,\n // Shadows handled dynamically with platform logic\n },\n });\n\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","defaultShadow","Platform","select","ios","shadowColor","shadowOffset","height","shadowOpacity","shadowRadius","android","cardStyles","padding"],"mappings":"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","x_google_ignoreList":[0]}
package/dist/index.js CHANGED
@@ -1,4 +1,4 @@
1
- /*! aport-tools v4.0.1 | ISC */
1
+ /*! aport-tools v4.0.4 | ISC */
2
2
  'use strict';
3
3
 
4
4
  var React = require('react');
@@ -98,8 +98,15 @@ var lightTheme = {
98
98
  g: 0,
99
99
  b: 0
100
100
  }
101
+ },
102
+ textButton: {
103
+ hex: '#FFFFFF',
104
+ rgb: {
105
+ r: 255,
106
+ g: 255,
107
+ b: 255
108
+ }
101
109
  }
102
- // Add more categories as needed
103
110
  };
104
111
  var darkTheme = {
105
112
  primary: {
@@ -133,6 +140,14 @@ var darkTheme = {
133
140
  g: 255,
134
141
  b: 255
135
142
  }
143
+ },
144
+ textButton: {
145
+ hex: '#FFFFFF',
146
+ rgb: {
147
+ r: 255,
148
+ g: 255,
149
+ b: 255
150
+ }
136
151
  }
137
152
  // Add more categories as needed
138
153
  };
@@ -236,9 +251,9 @@ var ThemeToggle = function ThemeToggle() {
236
251
  toggleTheme = _a.toggleTheme;
237
252
  var isDarkMode = theme.colors === darkTheme;
238
253
  return /*#__PURE__*/React.createElement(reactNative.View, {
239
- style: styles$1.container
254
+ style: styles$2.container
240
255
  }, /*#__PURE__*/React.createElement(reactNative.Text, {
241
- style: [styles$1.text, {
256
+ style: [styles$2.text, {
242
257
  color: theme.colors.text.hex
243
258
  }]
244
259
  }, "Dark Mode"), /*#__PURE__*/React.createElement(reactNative.Switch, {
@@ -251,7 +266,7 @@ var ThemeToggle = function ThemeToggle() {
251
266
  thumbColor: isDarkMode ? darkTheme.secondary.hex : lightTheme.primary.hex
252
267
  }));
253
268
  };
254
- var styles$1 = reactNative.StyleSheet.create({
269
+ var styles$2 = reactNative.StyleSheet.create({
255
270
  container: {
256
271
  marginTop: 20,
257
272
  flexDirection: 'row',
@@ -264,7 +279,14 @@ var styles$1 = reactNative.StyleSheet.create({
264
279
  });
265
280
 
266
281
  // src/components/Button.tsx
267
- // Function to determine the styles based on the button type and whether it is disabled
282
+ /**
283
+ * Determines the styles based on the button type and whether it is disabled.
284
+ *
285
+ * @param type - The type of the button ('submit', 'button', 'cancel').
286
+ * @param disabled - Whether the button is disabled.
287
+ * @param themeColors - The theme colors.
288
+ * @returns The computed style for the button.
289
+ */
268
290
  function typeStyles(type, disabled, themeColors) {
269
291
  switch (type) {
270
292
  case 'submit':
@@ -289,7 +311,18 @@ function typeStyles(type, disabled, themeColors) {
289
311
  return {};
290
312
  }
291
313
  }
292
- // Button component definition
314
+ /**
315
+ * Button component that adapts its styles based on the current theme.
316
+ * Supports dynamic styling, full-width option, rounded corners, and different types.
317
+ *
318
+ * @param disabled - If true, the button is disabled and not pressable.
319
+ * @param isFullWidth - If true, the button expands to full width of its container.
320
+ * @param children - Text content of the button.
321
+ * @param onPress - Function to call when the button is pressed.
322
+ * @param rounded - If true, the button has rounded corners.
323
+ * @param borderRadius - Custom border radius value. Overrides the `rounded` prop if provided.
324
+ * @param type - Specifies the button type for styling ('submit', 'button', 'cancel').
325
+ */
293
326
  var Button = function Button(_a) {
294
327
  var children = _a.children,
295
328
  _b = _a.disabled,
@@ -303,24 +336,19 @@ var Button = function Button(_a) {
303
336
  _f = _a.isFullWidth,
304
337
  isFullWidth = _f === void 0 ? false : _f,
305
338
  onPress = _a.onPress;
306
- // Access the current theme from ThemeContext
307
339
  var theme = React.useContext(ThemeContext).theme;
308
- var colors = theme.colors; // Extract colors from the theme
309
- // Use useMemo to memoize the computed styles
340
+ var colors = theme.colors;
310
341
  var computedStyles = React.useMemo(function () {
311
- return reactNative.StyleSheet.flatten([styles.button, typeStyles(type, disabled, colors),
312
- // Use colors directly
313
- rounded && {
342
+ return reactNative.StyleSheet.flatten([styles$1.button, typeStyles(type, disabled, colors), rounded && {
314
343
  borderRadius: borderRadius
315
344
  }, isFullWidth && {
316
345
  width: '100%'
317
- }, disabled && styles.disabled]);
346
+ }, disabled && styles$1.disabled]);
318
347
  }, [type, disabled, rounded, borderRadius, isFullWidth, colors]);
319
- // Determine text color based on button type and theme
320
348
  var textColor = React.useMemo(function () {
321
349
  return {
322
- color: colors.text.hex
323
- }; // Access text color from the theme
350
+ color: colors.textButton.hex
351
+ };
324
352
  }, [type, colors]);
325
353
  return /*#__PURE__*/React.createElement(reactNative.TouchableOpacity, {
326
354
  style: computedStyles,
@@ -331,8 +359,7 @@ var Button = function Button(_a) {
331
359
  style: textColor
332
360
  }, Array.isArray(children) ? children.join('').toUpperCase() : children === null || children === void 0 ? void 0 : children.toUpperCase()));
333
361
  };
334
- // Define basic styles for the button
335
- var styles = reactNative.StyleSheet.create({
362
+ var styles$1 = reactNative.StyleSheet.create({
336
363
  button: {
337
364
  justifyContent: 'center',
338
365
  alignItems: 'center',
@@ -344,7 +371,75 @@ var styles = reactNative.StyleSheet.create({
344
371
  }
345
372
  });
346
373
 
374
+ // src/cards/Card.tsx
375
+ /**
376
+ * Card component that adapts its styles based on the current theme.
377
+ * Supports dynamic styling, shadows, and press animations.
378
+ *
379
+ * @param children - The content to be displayed inside the Card.
380
+ * @param style - Additional styles to apply to the Card.
381
+ * @param onPress - Function to execute when the Card is pressed.
382
+ * @param pressable - Determines if the Card is pressable. Defaults to false.
383
+ * @param borderRadius - Border radius of the Card. Defaults to 12.
384
+ * @param elevation - Elevation for Android shadow. Overrides default.
385
+ * @param shadowProps - Custom shadow properties for iOS. Overrides defaults.
386
+ */
387
+ var Card = function Card(_a) {
388
+ var children = _a.children,
389
+ style = _a.style,
390
+ onPress = _a.onPress,
391
+ _b = _a.pressable,
392
+ pressable = _b === void 0 ? false : _b,
393
+ _c = _a.borderRadius,
394
+ borderRadius = _c === void 0 ? 12 : _c,
395
+ _d = _a.elevation,
396
+ elevation = _d === void 0 ? 4 : _d,
397
+ _e = _a.shadowProps,
398
+ shadowProps = _e === void 0 ? {} : _e;
399
+ var theme = React.useContext(ThemeContext).theme;
400
+ var colors = theme.colors;
401
+ // Animation state for pressable effect
402
+ // Default shadow styles (improved platform-specific handling)
403
+ var defaultShadow = reactNative.Platform.select({
404
+ ios: {
405
+ shadowColor: (shadowProps === null || shadowProps === void 0 ? void 0 : shadowProps.shadowColor) || colors.text.hex,
406
+ // Defaulting to theme text color
407
+ shadowOffset: (shadowProps === null || shadowProps === void 0 ? void 0 : shadowProps.shadowOffset) || {
408
+ width: 0,
409
+ height: 2
410
+ },
411
+ shadowOpacity: (shadowProps === null || shadowProps === void 0 ? void 0 : shadowProps.shadowOpacity) || 0.1,
412
+ shadowRadius: (shadowProps === null || shadowProps === void 0 ? void 0 : shadowProps.shadowRadius) || 4
413
+ },
414
+ android: {
415
+ elevation: elevation // Only applies to Android
416
+ }
417
+ });
418
+ var cardStyles = [styles.container, {
419
+ borderRadius: borderRadius,
420
+ backgroundColor: colors.background.hex
421
+ }, defaultShadow,
422
+ // Dynamic shadows based on platform
423
+ style // External styles
424
+ ];
425
+ return pressable ? (/*#__PURE__*/React.createElement(reactNative.TouchableOpacity, {
426
+ activeOpacity: 0.8,
427
+ onPress: onPress,
428
+ style: cardStyles
429
+ }, children)) : (/*#__PURE__*/React.createElement(reactNative.View, {
430
+ style: cardStyles
431
+ }, children));
432
+ };
433
+ var styles = reactNative.StyleSheet.create({
434
+ container: {
435
+ padding: 16,
436
+ borderRadius: 12
437
+ // Shadows handled dynamically with platform logic
438
+ }
439
+ });
440
+
347
441
  exports.Button = Button;
442
+ exports.Card = Card;
348
443
  exports.ThemeContext = ThemeContext;
349
444
  exports.ThemeProvider = ThemeProvider;
350
445
  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 */\nexport const 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\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';\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 */\nexport const 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 for pressable effect\n // Default shadow styles (improved platform-specific handling)\n const defaultShadow = Platform.select({\n ios: {\n shadowColor: shadowProps?.shadowColor || colors.text.hex, // Defaulting to theme text color\n shadowOffset: shadowProps?.shadowOffset || { width: 0, height: 2 },\n shadowOpacity: shadowProps?.shadowOpacity || 0.1,\n shadowRadius: shadowProps?.shadowRadius || 4,\n },\n android: {\n elevation: elevation, // Only applies to Android\n },\n });\n \n const cardStyles = [\n styles.container,\n { borderRadius, backgroundColor: colors.background.hex },\n defaultShadow, // Dynamic shadows based on platform\n style, // External styles\n ];\n \n return pressable ? (\n <TouchableOpacity\n activeOpacity={0.8}\n onPress={onPress}\n \n style={cardStyles}\n >\n \n {children}\n </TouchableOpacity>\n ) : (\n <View style={cardStyles}>\n {children}\n </View>\n );\n };\n \n const styles = StyleSheet.create({\n container: {\n padding: 16,\n borderRadius: 12,\n // Shadows handled dynamically with platform logic\n },\n });\n\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","defaultShadow","Platform","select","ios","shadowColor","shadowOffset","height","shadowOpacity","shadowRadius","android","cardStyles","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.4",
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",
@@ -42,11 +47,15 @@
42
47
  "@types/react-native": "^0.73.0",
43
48
  "rollup": "^4.22.5",
44
49
  "rollup-plugin-peer-deps-external": "^2.2.4",
45
- "typescript": "^5.6.2"
50
+ "typescript": "^5.6.2",
51
+ "react-native-reanimated": "^3.10.1"
46
52
  },
47
53
  "peerDependencies": {
48
54
  "@react-native-async-storage/async-storage": "^1.23.1",
49
55
  "react": "^16.8.0 || ^17.0.0 || ^18.0.0",
50
- "react-native": ">=0.60"
56
+ "react-native": ">=0.60",
57
+ "react-native-reanimated": "^3.10.1"
58
+ },
59
+ "dependencies": {
51
60
  }
52
61
  }
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/dist/Button.d.ts DELETED
@@ -1,12 +0,0 @@
1
- import React from 'react';
2
- interface ButtonProps {
3
- disabled?: boolean;
4
- isFullWidth?: boolean;
5
- children?: string;
6
- onPress?: () => void;
7
- rounded?: boolean;
8
- borderRadius?: number;
9
- type?: 'submit' | 'button' | 'cancel';
10
- }
11
- declare const Button: React.FC<ButtonProps>;
12
- export default Button;
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
- };
File without changes
File without changes
File without changes