aport-tools 4.2.4 → 4.2.6

Sign up to get free protection for your applications and to get access to all the features.
@@ -64,6 +64,11 @@ interface InputListProps {
64
64
  * @type {number}
65
65
  */
66
66
  maxSelection?: number;
67
+ /**
68
+ * Callback function called when the selection changes. Useful for conditional field enabling.
69
+ * @param {Option | Option[] | null} selection - The updated selection.
70
+ */
71
+ onChange?: (selection: Option | Option[] | null) => void;
67
72
  }
68
73
  /**
69
74
  * InputList component - A custom dropdown list component for React Native with multi-selection support,
package/dist/index.esm.js CHANGED
@@ -1,4 +1,4 @@
1
- /*! aport-tools v4.2.4 | ISC */
1
+ /*! aport-tools v4.2.6 | ISC */
2
2
  import React, { useContext, useState, createContext, useCallback, useMemo } from 'react';
3
3
  import { StyleSheet, Text as Text$1, View, TextInput, TouchableOpacity, Modal, Pressable, FlatList, Keyboard, ActivityIndicator, Platform } from 'react-native';
4
4
  import { ThemeContext } from 'aport-themes';
@@ -464,7 +464,8 @@ var InputList = function InputList(_a) {
464
464
  closeOnScroll = _f === void 0 ? false : _f,
465
465
  _g = _a.closeOnSelect,
466
466
  closeOnSelect = _g === void 0 ? true : _g,
467
- maxSelection = _a.maxSelection;
467
+ maxSelection = _a.maxSelection,
468
+ onChange = _a.onChange;
468
469
  var _h = useFormContext(),
469
470
  formValues = _h.formValues,
470
471
  setFormValue = _h.setFormValue;
@@ -483,24 +484,27 @@ var InputList = function InputList(_a) {
483
484
  * @param {Option} option - The selected option object.
484
485
  */
485
486
  var handleSelectOption = function handleSelectOption(option) {
487
+ var updatedSelections;
486
488
  if (multi) {
487
489
  var alreadySelected = selectedOptions.some(function (opt) {
488
490
  return opt.id === option.id;
489
491
  });
490
- // Add or remove item from selected options
491
- var updatedSelections = alreadySelected ? selectedOptions.filter(function (opt) {
492
+ updatedSelections = alreadySelected ? selectedOptions.filter(function (opt) {
492
493
  return opt.id !== option.id;
493
494
  }) : __spreadArray(__spreadArray([], selectedOptions, true), [option], false);
494
- // Close dropdown if max selection is reached after selecting
495
495
  if (!alreadySelected && maxSelection && updatedSelections.length >= maxSelection) {
496
496
  setIsDropdownVisible(false);
497
497
  }
498
- // Update form value
499
498
  setFormValue(name, updatedSelections);
500
499
  } else {
500
+ updatedSelections = option;
501
501
  setFormValue(name, option);
502
502
  if (closeOnSelect) setIsDropdownVisible(false);
503
503
  }
504
+ // Trigger onChange callback with the updated selection
505
+ if (onChange) {
506
+ onChange(updatedSelections);
507
+ }
504
508
  };
505
509
  /**
506
510
  * Renders selected options as a comma-separated string or the placeholder if none selected.
@@ -571,7 +575,9 @@ var InputList = function InputList(_a) {
571
575
  },
572
576
  style: [styles$2.optionItem, isSelected ? {
573
577
  backgroundColor: colors.primary.hex
574
- } : {}, isDisabled ? styles$2.disabledItem : {}],
578
+ } : {}, isDisabled ? {
579
+ backgroundColor: colors.placeHolder.hex
580
+ } : {}],
575
581
  disabled: !!isDisabled
576
582
  }, /*#__PURE__*/React.createElement(Text$1, {
577
583
  style: [isSelected ? {
@@ -613,9 +619,6 @@ var styles$2 = StyleSheet.create({
613
619
  optionItem: {
614
620
  padding: 12
615
621
  },
616
- disabledItem: {
617
- backgroundColor: '#f0f0f0'
618
- },
619
622
  disabledText: {
620
623
  color: '#999'
621
624
  },
@@ -1 +1 @@
1
- {"version":3,"file":"index.esm.js","sources":["../node_modules/tslib/tslib.es6.js","../src/forms/FormContext.tsx","../src/fonts/Text.tsx","../src/forms/ErrorList.tsx","../src/forms/Input.tsx","../src/forms/TextArea.tsx","../src/forms/Label.tsx","../src/forms/InputList.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/forms/FormContext.tsx\n\nimport React, { createContext, useState, ReactNode, useContext } from 'react';\n\ninterface FormContextProps {\n formValues: Record<string, any>;\n setFormValue: (name: string, value: any) => void;\n errors: Record<string, string[]>;\n setErrors: (errors: Record<string, string[]>) => void;\n handleSubmit: () => void;\n}\n\nconst FormContext = createContext<FormContextProps | undefined>(undefined);\n\nexport const useFormContext = () => {\n const context = useContext(FormContext);\n if (!context) {\n throw new Error(\"useFormContext must be used within a Form\");\n }\n return context;\n};\n\ninterface FormProps {\n children: ReactNode;\n onSubmit: (values: Record<string, any>) => Promise<Record<string, string[]>>; // Returns errors\n}\n\nexport const Form: React.FC<FormProps> = ({ children, onSubmit }) => {\n const [formValues, setFormValues] = useState<Record<string, any>>({});\n const [errors, setErrors] = useState<Record<string, string[]>>({});\n\n const setFormValue = (name: string, value: any) => {\n setFormValues(prev => ({ ...prev, [name]: value }));\n };\n\n const handleSubmit = async () => {\n const validationErrors = await onSubmit(formValues);\n \n // Set the validation errors in state\n setErrors(validationErrors);\n \n // Prevent submission if there are any errors\n if (Object.keys(validationErrors).length > 0) {\n return; // Prevent submission\n }\n \n };\n \n\n return (\n <FormContext.Provider value={{ formValues, setFormValue, errors, setErrors, handleSubmit }}>\n {children}\n </FormContext.Provider>\n );\n};\n","// src/fonts/Text.tsx\n\nimport { ThemeColors, ThemeContext, ThemeFonts } from 'aport-themes';\nimport React, { useContext } from 'react';\nimport { Text as RNText, StyleSheet, TextProps, TextStyle } from 'react-native';\n\ninterface CustomTextProps extends TextProps {\n /**\n * Content to be displayed inside the Text component.\n */\n children: React.ReactNode;\n\n /**\n * Size of the text. Defaults to 14.\n */\n size?: number;\n\n /**\n * If true, applies bold styling to the text.\n */\n b?: boolean;\n\n /**\n * If true, applies italic styling to the text.\n */\n i?: boolean;\n\n /**\n * If true, applies underline styling to the text.\n */\n u?: boolean;\n\n /**\n * Paragraph alignment. Can be 'left', 'center', or 'right'. Defaults to 'left'.\n */\n align?: 'left' | 'center' | 'right' | 'justify'; // Paragraph alignment\n\n /**\n * Text type. Defaults to 'text'. Should match the keys in ThemeColors.\n * This restricts type to known color keys like 'primary', 'error', etc.\n */\n type?: keyof ThemeColors;\n \n /**\n * Text font type. Defaults to 'body'. Should match the keys in ThemeFonts.\n * This restricts type to known fonts keys like 'primary', 'secundary', etc.\n */\n typeFont?: keyof ThemeFonts; // <-- New prop to select font type\n\n /**\n * Header level. Accepts 0 (none), 1, 2, or 3. Defaults to 0.\n */\n h?: 0 | 1 | 2 | 3;\n\n /**\n * Additional styles to apply to the Text component.\n */\n style?: TextStyle | TextStyle[];\n}\n\n/**\n * A dynamic Text component that supports HTML-like formatting.\n * Integrates with the Theme system for consistent styling.\n *\n * @param children - The content to be displayed inside the Text component.\n * @param size - Size of the text. Defaults to 'medium'.\n * @param b - If true, applies bold styling.\n * @param i - If true, applies italic styling.\n * @param type - Type of Text component. Defaults to 'text'.\n * @param typeFont - Type of Font component. Defaults to 'body'.\n * @param u - If true, applies underline styling.\n * @param align - Paragraph alignment. Defaults to 'left'.\n * @param h - Header level. Accepts 0 (none), 1, 2, or 3. Defaults to 0.\n * @param style - Additional styles to apply.\n */\nexport const Text: React.FC<CustomTextProps> = ({\n children,\n size = 14,\n b = false,\n i = false,\n u = false,\n align = 'left',\n type = 'text',\n typeFont = 'body',\n h = 0,\n style,\n}) => {\n const { theme } = useContext(ThemeContext);\n const { colors, fonts } = theme;\n\n // Determine font family and size based on 'typeFont'\n const fontSettings = fonts[typeFont] || fonts.body;\n const fontFamily = fontSettings.fontFamily;\n let fontSize = fontSettings.fontSize || size;\n\n // Calculate header size based on 'h' prop\n if (h === 1) fontSize = 32;\n else if (h === 2) fontSize = 24;\n else if (h === 3) fontSize = 18;\n \n // Define font weight based on bold prop\n const fontWeight = b ? '700' : fontSettings.fontWeight || '400';\n\n // Define font style based on italic prop\n const fontStyle = i ? 'italic' : 'normal';\n\n // Define text decoration based on underline prop\n const textDecorationLine = u ? 'underline' : 'none';\n\n // Define text alignment\n const textAlign: TextStyle['textAlign'] = align;\n // Map the 'type' prop to the correct color from the theme\n const textColor = colors[type]?.hex || colors.text.hex;\n \n // Combine all styles\n const textStyles: TextStyle = {\n fontSize,\n fontWeight,\n fontFamily,\n fontStyle,\n textDecorationLine,\n textAlign,\n color: textColor,\n };\n\n \n return (\n <RNText style={[textStyles, style]}>\n {children}\n </RNText>\n );\n};\n\nconst styles = StyleSheet.create({\n // Define any default styles if needed\n});\n\n","// src/forms/ErrorList.tsx\n\nimport React, { useContext } from 'react';\nimport { View, StyleSheet } from 'react-native';\nimport { Text } from '../fonts/Text';\nimport { ThemeContext } from 'aport-themes';\n\ninterface ErrorListProps {\n errors: string[];\n}\n\nconst ErrorList: React.FC<ErrorListProps> = ({ errors }) => {\n const { theme } = useContext(ThemeContext);\n const { colors } = theme;\n\n return (\n <View style={styles.container}>\n {errors.map((error, index) => (\n <View key={index} style={styles.errorItem}>\n <Text style={[styles.bullet, { color: colors.error.hex }]}>•</Text>\n <Text style={[styles.errorText, { color: colors.error.hex }]}>{error}</Text>\n </View>\n ))}\n </View>\n );\n};\n\nconst styles = StyleSheet.create({\n container: {\n marginTop: 4,\n },\n errorItem: {\n flexDirection: 'row',\n alignItems: 'flex-start',\n marginBottom: 2,\n },\n bullet: {\n marginRight: 4,\n fontSize: 12,\n },\n errorText: {\n flex: 1,\n fontSize: 12,\n },\n});\n\nexport default ErrorList;\n","// src/forms/Input.tsx\n\nimport React, { useContext } from \"react\";\nimport {\n TextInput,\n StyleSheet,\n View,\n TextInputProps,\n} from \"react-native\";\nimport { useFormContext } from \"./FormContext\";\nimport { Text } from \"../fonts/Text\";\nimport ErrorList from \"./ErrorList\";\nimport { ThemeContext } from \"aport-themes\";\n\n/**\n * Defines the props for the Input component.\n */\ninterface InputProps extends TextInputProps {\n /**\n * The unique identifier for the input field, used to manage its state within the form.\n */\n name: string;\n\n /**\n * The text label displayed above the input field.\n */\n label: string;\n\n /**\n * Specifies the type of input and applies corresponding formatting.\n * - 'phone': Formats input as a phone number (xxx-xxx-xxxx).\n * - 'id': Converts all input characters to uppercase (useful for IDs, passports).\n * - 'uppercase': Forces all input characters to uppercase (useful for codes).\n * - 'numeric': Restricts input to numeric characters only.\n */\n inputType?: \"phone\" | \"id\" | \"uppercase\" | \"numeric\";\n}\n\n/**\n * Input component that supports labels, error messages, and integrates with the Theme system.\n *\n * @param {InputProps} props - Props passed to the component.\n * @returns {JSX.Element} The rendered Input component.\n *\n * @example\n * <Input\n * name=\"email\"\n * label=\"Email\"\n * keyboardType=\"email-address\"\n * inputType=\"id\"\n * />\n */\nexport const Input: React.FC<InputProps> = ({\n name,\n label,\n inputType,\n style,\n ...rest\n}) => {\n const { formValues, setFormValue, errors: formErrors } = useFormContext();\n const { theme } = useContext(ThemeContext);\n const { colors } = theme;\n\n /**\n * Handles text changes in the input field, applying formatting based on the inputType.\n *\n * @param {string} text - The current text input by the user.\n */\n const handleChange = (text: string) => {\n let formattedText = text;\n\n // Apply different formatting based on inputType\n switch (inputType) {\n case \"phone\":\n // Remove all non-digit characters\n formattedText = text.replace(/\\D/g, \"\");\n // Insert hyphens to format as xxx-xxx-xxxx\n if (formattedText.length > 3 && formattedText.length <= 6) {\n formattedText = `${formattedText.slice(0, 3)}-${formattedText.slice(3)}`;\n } else if (formattedText.length > 6) {\n formattedText = `${formattedText.slice(0, 3)}-${formattedText.slice(\n 3,\n 6\n )}-${formattedText.slice(6, 10)}`;\n }\n break;\n case \"id\":\n case \"uppercase\":\n // Convert all input to uppercase\n formattedText = text.toUpperCase();\n break;\n case \"numeric\":\n // Allow only numeric input\n formattedText = text.replace(/\\D/g, \"\");\n break;\n default:\n break;\n }\n\n setFormValue(name, formattedText);\n };\n\n return (\n <View style={styles.container}>\n {/* Label */}\n <Text style={[styles.label, { color: colors.text.hex }]}>{label}</Text>\n\n {/* Input Field */}\n <TextInput\n style={[\n styles.input,\n {\n backgroundColor: colors.body.hex,\n borderColor: formErrors[name] ? colors.error.hex : \"#CCC\",\n color: colors.text.hex,\n },\n style,\n ]}\n value={formValues[name] || \"\"}\n onChangeText={handleChange}\n placeholder={label}\n placeholderTextColor={colors.placeHolder.hex} // Can use a lighter version if needed\n {...rest}\n />\n\n {/* Display errors only if form has been submitted and there are errors */}\n {formErrors[name] && formErrors[name].length > 0 && (\n <ErrorList errors={formErrors[name]} />\n )}\n </View>\n );\n};\n\nconst styles = StyleSheet.create({\n container: {\n marginBottom: 16,\n },\n label: {\n marginBottom: 4,\n fontSize: 14,\n },\n input: {\n height: 40,\n borderWidth: 1,\n borderRadius: 4,\n paddingHorizontal: 8,\n },\n});\n","// src/forms/TextArea.tsx\n\nimport React from 'react';\nimport { TextInput, StyleSheet, View, TextInputProps } from 'react-native';\nimport { useFormContext } from './FormContext';\nimport { Text } from '../fonts/Text'; // Assuming the Text component is exported from fonts\nimport ErrorList from './ErrorList';\n\ninterface TextAreaProps extends TextInputProps {\n name: string;\n label: string;\n errors?: string[]; // Optional prop to directly pass errors\n}\n\nconst TextArea: React.FC<TextAreaProps> = ({ name, label, errors, style, ...rest }) => {\n const { formValues, setFormValue, errors: formErrors } = useFormContext();\n\n const handleChange = (text: string) => {\n setFormValue(name, text);\n };\n\n return (\n <View style={styles.container}>\n <Text style={styles.label}>{label}</Text>\n <TextInput\n style={[\n styles.textArea,\n style,\n ]}\n value={formValues[name] || ''}\n onChangeText={handleChange}\n placeholder={label}\n placeholderTextColor=\"#888\" // Can be themed if needed\n multiline\n numberOfLines={4}\n textAlignVertical=\"top\"\n {...rest}\n />\n {/* Display errors only if form has been submitted and there are errors */}\n {formErrors[name] && formErrors[name].length > 0 && (\n <ErrorList errors={formErrors[name]} />\n )}\n </View>\n );\n};\n\nconst styles = StyleSheet.create({\n container: {\n marginBottom: 16,\n },\n label: {\n marginBottom: 4,\n color: '#000', // Should be themed\n },\n textArea: {\n height: 100,\n borderColor: '#CCC', // Should be themed\n borderWidth: 1,\n borderRadius: 4,\n paddingHorizontal: 8,\n paddingVertical: 8,\n backgroundColor: '#FFFFFF', // Should use 'body' color from theme\n color: '#000', // Should use 'text' color from theme\n },\n});\n\nexport default TextArea;\n","// src/forms/Label.tsx\n\nimport React, { useContext } from 'react';\nimport { StyleSheet } from 'react-native';\nimport { Text } from '../fonts/Text';\nimport { ThemeContext } from 'aport-themes';\n\ninterface LabelProps {\n text: string;\n style?: any;\n}\n\nconst Label: React.FC<LabelProps> = ({ text, style }) => {\n const { theme } = useContext(ThemeContext);\n const { colors } = theme;\n return <Text style={[styles.label, style, { color: colors.text.hex }]}>{text}</Text>;\n};\n\nconst styles = StyleSheet.create({\n label: {\n marginBottom: 4,\n fontWeight: '500',\n },\n});\n\nexport default Label;\n","import React, { useState, useRef, useCallback, useContext } from 'react';\nimport { View, Text, TouchableOpacity, FlatList, TextInput, StyleSheet, Modal, Pressable, Keyboard } from 'react-native';\nimport { ThemeContext } from \"aport-themes\";\nimport { useFormContext } from '../forms/FormContext';\n\ninterface Option {\n id: number | string;\n label: string;\n value: any;\n}\n\ninterface InputListProps {\n name: string;\n /**\n * Placeholder text displayed in the input box when no selection is made.\n * @type {string}\n * @default \"Choose value/s\"\n */\n placeholder?: string;\n \n /**\n * Custom styles for the component.\n * @type {object}\n */\n style?: object;\n\n /**\n * Array of options to display in the dropdown. Each option should have an id, label, and value.\n * @type {Option[]}\n */\n options: Option[];\n\n /**\n * Enables multi-selection mode when true. If enabled, users can select multiple values.\n * @type {boolean}\n * @default false\n */\n multi?: boolean;\n\n /**\n * Disables the dropdown input when true.\n * @type {boolean}\n * @default false\n */\n disabled?: boolean;\n\n /**\n * Key used to sort options in the dropdown (e.g., by 'id', 'label').\n * @type {keyof Option}\n */\n sortBy?: keyof Option;\n\n /**\n * If true, displays a separator line between each option.\n * @type {boolean}\n * @default false\n */\n separator?: boolean;\n\n /**\n * Closes the dropdown if the user scrolls the list.\n * @type {boolean}\n * @default false\n */\n closeOnScroll?: boolean;\n\n /**\n * Closes the dropdown after selecting an item if true (only relevant when multi is false).\n * @type {boolean}\n * @default true\n */\n closeOnSelect?: boolean;\n\n /**\n * Limits the maximum number of items that can be selected when multi is true.\n * Once the limit is reached, the dropdown closes, and no further selections can be made until\n * an item is deselected.\n * @type {number}\n */\n maxSelection?: number;\n}\n\n/**\n * InputList component - A custom dropdown list component for React Native with multi-selection support,\n * customizable styling, sorting, and configurable close behavior on selection or scrolling.\n *\n * @param {string} placeholder - Placeholder text for the input.\n * @param {object} style - Custom styles for the component.\n * @param {Option[]} options - Array of options to display in the dropdown.\n * @param {boolean} multi - Enables multi-selection mode.\n * @param {boolean} disabled - Disables the dropdown input.\n * @param {keyof Option} sortBy - Key to sort options by (e.g., 'id').\n * @param {boolean} separator - If true, adds a separator line between options.\n * @param {boolean} closeOnScroll - Closes the dropdown if the user scrolls the list.\n * @param {boolean} closeOnSelect - Closes the dropdown on selection in single-select mode.\n * @param {number} maxSelection - Maximum number of items selectable in multi-select mode.\n */\nexport const InputList: React.FC<InputListProps> = ({\n name,\n placeholder = \"Choose value/s\",\n style,\n options,\n multi = false,\n disabled = false,\n sortBy,\n separator = false,\n closeOnScroll = false,\n closeOnSelect = true,\n maxSelection,\n}) => {\n const { formValues, setFormValue } = useFormContext();\n const [isDropdownVisible, setIsDropdownVisible] = useState(false);\n \n const selectedOptions = formValues[name] || (multi ? [] : null);\n const sortedOptions = sortBy ? [...options].sort((a, b) => (a[sortBy] > b[sortBy] ? 1 : -1)) : options;\n const { theme } = useContext(ThemeContext);\n const { colors } = theme;\n\n /**\n * Handles selection of an option. Adds or removes the option from selectedOptions based on\n * multi-selection and maxSelection criteria.\n * @param {Option} option - The selected option object.\n */\n const handleSelectOption = (option: Option) => {\n if (multi) {\n const alreadySelected = selectedOptions.some((opt: Option) => opt.id === option.id);\n\n // Add or remove item from selected options\n const updatedSelections = alreadySelected\n ? selectedOptions.filter((opt: Option) => opt.id !== option.id)\n : [...selectedOptions, option];\n\n // Close dropdown if max selection is reached after selecting\n if (!alreadySelected && maxSelection && updatedSelections.length >= maxSelection) {\n setIsDropdownVisible(false);\n }\n\n // Update form value\n setFormValue(name, updatedSelections);\n } else {\n setFormValue(name, option);\n if (closeOnSelect) setIsDropdownVisible(false);\n }\n };\n\n\n /**\n * Renders selected options as a comma-separated string or the placeholder if none selected.\n * @returns {string} - The display text for selected options or placeholder.\n */\n const renderSelectedText = () => {\n if (multi) return selectedOptions.map((opt: Option) => opt.label).join(', ') || placeholder;\n return selectedOptions?.label || placeholder;\n };\n\n /**\n * Toggles dropdown visibility. Disables toggle if the component is disabled.\n */\n const toggleDropdown = () => {\n if (!disabled) {\n setIsDropdownVisible(!isDropdownVisible);\n if (!isDropdownVisible) Keyboard.dismiss();\n }\n };\n\n /**\n * Closes the dropdown when pressing outside.\n */\n const handleCloseDropdown = useCallback(() => {\n if (isDropdownVisible) setIsDropdownVisible(false);\n }, [isDropdownVisible]);\n\n // Conditionally render item as disabled if max selection reached and item is unselected\n const isItemDisabled = (option: Option) => {\n return (\n multi &&\n maxSelection &&\n selectedOptions.length >= maxSelection &&\n !selectedOptions.some((opt: Option) => opt.id === option.id)\n );\n };\n\n\n return (\n <View style={[styles.container, style]}>\n <TouchableOpacity style={styles.inputContainer} onPress={toggleDropdown} disabled={disabled}>\n <Text style={{color: colors.text.hex}}>{renderSelectedText()}</Text>\n </TouchableOpacity>\n \n <Modal visible={isDropdownVisible} transparent animationType=\"fade\">\n <Pressable style={styles.overlay} onPress={handleCloseDropdown} />\n <View style={[styles.dropdownContainer,{backgroundColor: colors.body.hex,\n}]}>\n <FlatList\n data={sortedOptions}\n keyExtractor={(item) => item.id.toString()}\n renderItem={({ item }) => {\nconst isSelected = multi\n ? (selectedOptions as Option[]).some((opt: Option) => opt.id === item.id)\n : selectedOptions?.id === item.id;\n const isDisabled = isItemDisabled(item);\n\n return (\n <TouchableOpacity\n onPress={() => handleSelectOption(item)}\n style={[\n styles.optionItem,\n isSelected ? {backgroundColor: colors.primary.hex} : {},\n isDisabled ? styles.disabledItem : {},\n ]}\n disabled={!!isDisabled} // Ensure disabled prop is a boolean\n >\n <Text style={[isSelected ? {color: colors.background.hex}: {color: colors.text.hex}, isDisabled ? styles.disabledText : {}]}>\n {item.label}\n </Text>\n </TouchableOpacity>\n );\n }}\n ItemSeparatorComponent={() => (separator ? <View style={styles.separator} /> : null)}\n scrollEnabled={!closeOnScroll}\n />\n </View>\n </Modal>\n </View>\n );\n};\n\nconst styles = StyleSheet.create({\n container: { padding: 8 },\n inputContainer: { padding: 12, borderWidth: 1, borderColor: '#ccc', borderRadius: 5 },\n dropdownContainer: {\n position: 'absolute',\n top: '30%', // Center the dropdown vertically\n alignSelf: 'center',\n width: '90%',\n backgroundColor: '#fff',\n borderRadius: 8,\n elevation: 5,\n paddingVertical: 10,\n },\n optionItem: { padding: 12 },\n disabledItem: { backgroundColor: '#f0f0f0' },\n disabledText: { color: '#999' },\n separator: { height: 1, backgroundColor: '#ddd', marginHorizontal: 8 },\n overlay: { flex: 1, backgroundColor: 'rgba(0,0,0,0.3)' },\n});\n","// src/components/Button.tsx\n\nimport React, { useMemo, useContext } from 'react';\nimport { Text, ViewStyle, StyleSheet, TouchableOpacity, ActivityIndicator } from 'react-native';\nimport { useFormContext } from '../forms';\nimport { ThemeColors, ThemeContext } from 'aport-themes';\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 * If true, a loading spinner is shown and the button is disabled.\n */\n loading?: boolean;\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 loading = false,\n onPress,\n}) => {\n const { theme } = useContext(ThemeContext);\n const { colors } = theme;\n const { handleSubmit } = useFormContext();\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 || loading) && styles.disabled,\n ]);\n }, [type, disabled, loading, rounded, borderRadius, isFullWidth, colors]);\n\n const textColor = useMemo(() => {\n return type === \"cancel\" ? { color: colors.text.hex } : { color: colors.textButton.hex };\n }, [type, colors]);\n\n const handlePress = () => {\n if (type === 'submit') {\n handleSubmit(); // Call the form's submit handler\n } else if (onPress) {\n onPress(); // Call a custom handler if needed\n }\n };\n\n\n return (\n <TouchableOpacity\n style={computedStyles as ViewStyle}\n disabled={disabled || loading}\n onPress={handlePress}\n activeOpacity={0.7}\n >\n {loading ? ( // Show loading spinner if loading\n <ActivityIndicator size=\"small\" color={colors.textButton.hex} />\n ) : (\n <Text style={textColor}>\n {Array.isArray(children) ? children.join('').toUpperCase() : children?.toUpperCase()}\n </Text>\n )}\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 { ThemeContext } from 'aport-themes';\nimport React, { useContext } from 'react';\nimport {\n View,\n StyleSheet,\n StyleProp,\n ViewStyle,\n Platform,\n TouchableOpacity,\n GestureResponderEvent,\n} from 'react-native';\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":["FormContext","createContext","undefined","useFormContext","context","useContext","Error","Form","_a","children","onSubmit","_b","useState","formValues","setFormValues","_c","errors","setErrors","setFormValue","name","value","prev","handleSubmit","__awaiter","validationErrors","sent","Object","keys","length","React","createElement","Provider","Text","size","_d","b","_e","i","_f","u","_g","align","_h","type","_j","typeFont","_k","h","style","theme","ThemeContext","colors","fonts","fontSettings","body","fontFamily","fontSize","fontWeight","fontStyle","textDecorationLine","textAlign","textColor","hex","text","textStyles","color","RNText","StyleSheet","create","ErrorList","View","styles","container","map","error","index","key","errorItem","bullet","errorText","marginTop","flexDirection","alignItems","marginBottom","marginRight","flex","Input","label","inputType","rest","__rest","formErrors","handleChange","formattedText","replace","concat","slice","toUpperCase","TextInput","__assign","input","backgroundColor","borderColor","onChangeText","placeholder","placeholderTextColor","placeHolder","height","borderWidth","borderRadius","paddingHorizontal","TextArea","textArea","multiline","numberOfLines","textAlignVertical","paddingVertical","Label","InputList","options","multi","disabled","sortBy","separator","closeOnScroll","closeOnSelect","maxSelection","isDropdownVisible","setIsDropdownVisible","selectedOptions","sortedOptions","__spreadArray","sort","a","handleSelectOption","option","alreadySelected","some","opt","id","updatedSelections","filter","renderSelectedText","join","toggleDropdown","Keyboard","dismiss","handleCloseDropdown","useCallback","isItemDisabled","TouchableOpacity","inputContainer","onPress","Modal","visible","transparent","animationType","Pressable","overlay","dropdownContainer","FlatList","data","keyExtractor","item","toString","renderItem","isSelected","isDisabled","optionItem","primary","disabledItem","background","disabledText","ItemSeparatorComponent","scrollEnabled","padding","position","top","alignSelf","width","elevation","marginHorizontal","typeStyles","themeColors","rgb","r","g","secondary","opacity","Button","rounded","isFullWidth","loading","computedStyles","useMemo","flatten","button","textButton","handlePress","activeOpacity","ActivityIndicator","Array","isArray","justifyContent","Card","pressable","shadowProps","defaultShadow","Platform","select","ios","shadowColor","shadowOffset","shadowOpacity","shadowRadius","android","cardStyles"],"mappings":"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","x_google_ignoreList":[0]}
1
+ {"version":3,"file":"index.esm.js","sources":["../node_modules/tslib/tslib.es6.js","../src/forms/FormContext.tsx","../src/fonts/Text.tsx","../src/forms/ErrorList.tsx","../src/forms/Input.tsx","../src/forms/TextArea.tsx","../src/forms/Label.tsx","../src/forms/InputList.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/forms/FormContext.tsx\n\nimport React, { createContext, useState, ReactNode, useContext } from 'react';\n\ninterface FormContextProps {\n formValues: Record<string, any>;\n setFormValue: (name: string, value: any) => void;\n errors: Record<string, string[]>;\n setErrors: (errors: Record<string, string[]>) => void;\n handleSubmit: () => void;\n}\n\nconst FormContext = createContext<FormContextProps | undefined>(undefined);\n\nexport const useFormContext = () => {\n const context = useContext(FormContext);\n if (!context) {\n throw new Error(\"useFormContext must be used within a Form\");\n }\n return context;\n};\n\ninterface FormProps {\n children: ReactNode;\n onSubmit: (values: Record<string, any>) => Promise<Record<string, string[]>>; // Returns errors\n}\n\nexport const Form: React.FC<FormProps> = ({ children, onSubmit }) => {\n const [formValues, setFormValues] = useState<Record<string, any>>({});\n const [errors, setErrors] = useState<Record<string, string[]>>({});\n\n const setFormValue = (name: string, value: any) => {\n setFormValues(prev => ({ ...prev, [name]: value }));\n };\n\n const handleSubmit = async () => {\n const validationErrors = await onSubmit(formValues);\n \n // Set the validation errors in state\n setErrors(validationErrors);\n \n // Prevent submission if there are any errors\n if (Object.keys(validationErrors).length > 0) {\n return; // Prevent submission\n }\n \n };\n \n\n return (\n <FormContext.Provider value={{ formValues, setFormValue, errors, setErrors, handleSubmit }}>\n {children}\n </FormContext.Provider>\n );\n};\n","// src/fonts/Text.tsx\n\nimport { ThemeColors, ThemeContext, ThemeFonts } from 'aport-themes';\nimport React, { useContext } from 'react';\nimport { Text as RNText, StyleSheet, TextProps, TextStyle } from 'react-native';\n\ninterface CustomTextProps extends TextProps {\n /**\n * Content to be displayed inside the Text component.\n */\n children: React.ReactNode;\n\n /**\n * Size of the text. Defaults to 14.\n */\n size?: number;\n\n /**\n * If true, applies bold styling to the text.\n */\n b?: boolean;\n\n /**\n * If true, applies italic styling to the text.\n */\n i?: boolean;\n\n /**\n * If true, applies underline styling to the text.\n */\n u?: boolean;\n\n /**\n * Paragraph alignment. Can be 'left', 'center', or 'right'. Defaults to 'left'.\n */\n align?: 'left' | 'center' | 'right' | 'justify'; // Paragraph alignment\n\n /**\n * Text type. Defaults to 'text'. Should match the keys in ThemeColors.\n * This restricts type to known color keys like 'primary', 'error', etc.\n */\n type?: keyof ThemeColors;\n \n /**\n * Text font type. Defaults to 'body'. Should match the keys in ThemeFonts.\n * This restricts type to known fonts keys like 'primary', 'secundary', etc.\n */\n typeFont?: keyof ThemeFonts; // <-- New prop to select font type\n\n /**\n * Header level. Accepts 0 (none), 1, 2, or 3. Defaults to 0.\n */\n h?: 0 | 1 | 2 | 3;\n\n /**\n * Additional styles to apply to the Text component.\n */\n style?: TextStyle | TextStyle[];\n}\n\n/**\n * A dynamic Text component that supports HTML-like formatting.\n * Integrates with the Theme system for consistent styling.\n *\n * @param children - The content to be displayed inside the Text component.\n * @param size - Size of the text. Defaults to 'medium'.\n * @param b - If true, applies bold styling.\n * @param i - If true, applies italic styling.\n * @param type - Type of Text component. Defaults to 'text'.\n * @param typeFont - Type of Font component. Defaults to 'body'.\n * @param u - If true, applies underline styling.\n * @param align - Paragraph alignment. Defaults to 'left'.\n * @param h - Header level. Accepts 0 (none), 1, 2, or 3. Defaults to 0.\n * @param style - Additional styles to apply.\n */\nexport const Text: React.FC<CustomTextProps> = ({\n children,\n size = 14,\n b = false,\n i = false,\n u = false,\n align = 'left',\n type = 'text',\n typeFont = 'body',\n h = 0,\n style,\n}) => {\n const { theme } = useContext(ThemeContext);\n const { colors, fonts } = theme;\n\n // Determine font family and size based on 'typeFont'\n const fontSettings = fonts[typeFont] || fonts.body;\n const fontFamily = fontSettings.fontFamily;\n let fontSize = fontSettings.fontSize || size;\n\n // Calculate header size based on 'h' prop\n if (h === 1) fontSize = 32;\n else if (h === 2) fontSize = 24;\n else if (h === 3) fontSize = 18;\n \n // Define font weight based on bold prop\n const fontWeight = b ? '700' : fontSettings.fontWeight || '400';\n\n // Define font style based on italic prop\n const fontStyle = i ? 'italic' : 'normal';\n\n // Define text decoration based on underline prop\n const textDecorationLine = u ? 'underline' : 'none';\n\n // Define text alignment\n const textAlign: TextStyle['textAlign'] = align;\n // Map the 'type' prop to the correct color from the theme\n const textColor = colors[type]?.hex || colors.text.hex;\n \n // Combine all styles\n const textStyles: TextStyle = {\n fontSize,\n fontWeight,\n fontFamily,\n fontStyle,\n textDecorationLine,\n textAlign,\n color: textColor,\n };\n\n \n return (\n <RNText style={[textStyles, style]}>\n {children}\n </RNText>\n );\n};\n\nconst styles = StyleSheet.create({\n // Define any default styles if needed\n});\n\n","// src/forms/ErrorList.tsx\n\nimport React, { useContext } from 'react';\nimport { View, StyleSheet } from 'react-native';\nimport { Text } from '../fonts/Text';\nimport { ThemeContext } from 'aport-themes';\n\ninterface ErrorListProps {\n errors: string[];\n}\n\nconst ErrorList: React.FC<ErrorListProps> = ({ errors }) => {\n const { theme } = useContext(ThemeContext);\n const { colors } = theme;\n\n return (\n <View style={styles.container}>\n {errors.map((error, index) => (\n <View key={index} style={styles.errorItem}>\n <Text style={[styles.bullet, { color: colors.error.hex }]}>•</Text>\n <Text style={[styles.errorText, { color: colors.error.hex }]}>{error}</Text>\n </View>\n ))}\n </View>\n );\n};\n\nconst styles = StyleSheet.create({\n container: {\n marginTop: 4,\n },\n errorItem: {\n flexDirection: 'row',\n alignItems: 'flex-start',\n marginBottom: 2,\n },\n bullet: {\n marginRight: 4,\n fontSize: 12,\n },\n errorText: {\n flex: 1,\n fontSize: 12,\n },\n});\n\nexport default ErrorList;\n","// src/forms/Input.tsx\n\nimport React, { useContext } from \"react\";\nimport {\n TextInput,\n StyleSheet,\n View,\n TextInputProps,\n} from \"react-native\";\nimport { useFormContext } from \"./FormContext\";\nimport { Text } from \"../fonts/Text\";\nimport ErrorList from \"./ErrorList\";\nimport { ThemeContext } from \"aport-themes\";\n\n/**\n * Defines the props for the Input component.\n */\ninterface InputProps extends TextInputProps {\n /**\n * The unique identifier for the input field, used to manage its state within the form.\n */\n name: string;\n\n /**\n * The text label displayed above the input field.\n */\n label: string;\n\n /**\n * Specifies the type of input and applies corresponding formatting.\n * - 'phone': Formats input as a phone number (xxx-xxx-xxxx).\n * - 'id': Converts all input characters to uppercase (useful for IDs, passports).\n * - 'uppercase': Forces all input characters to uppercase (useful for codes).\n * - 'numeric': Restricts input to numeric characters only.\n */\n inputType?: \"phone\" | \"id\" | \"uppercase\" | \"numeric\";\n}\n\n/**\n * Input component that supports labels, error messages, and integrates with the Theme system.\n *\n * @param {InputProps} props - Props passed to the component.\n * @returns {JSX.Element} The rendered Input component.\n *\n * @example\n * <Input\n * name=\"email\"\n * label=\"Email\"\n * keyboardType=\"email-address\"\n * inputType=\"id\"\n * />\n */\nexport const Input: React.FC<InputProps> = ({\n name,\n label,\n inputType,\n style,\n ...rest\n}) => {\n const { formValues, setFormValue, errors: formErrors } = useFormContext();\n const { theme } = useContext(ThemeContext);\n const { colors } = theme;\n\n /**\n * Handles text changes in the input field, applying formatting based on the inputType.\n *\n * @param {string} text - The current text input by the user.\n */\n const handleChange = (text: string) => {\n let formattedText = text;\n\n // Apply different formatting based on inputType\n switch (inputType) {\n case \"phone\":\n // Remove all non-digit characters\n formattedText = text.replace(/\\D/g, \"\");\n // Insert hyphens to format as xxx-xxx-xxxx\n if (formattedText.length > 3 && formattedText.length <= 6) {\n formattedText = `${formattedText.slice(0, 3)}-${formattedText.slice(3)}`;\n } else if (formattedText.length > 6) {\n formattedText = `${formattedText.slice(0, 3)}-${formattedText.slice(\n 3,\n 6\n )}-${formattedText.slice(6, 10)}`;\n }\n break;\n case \"id\":\n case \"uppercase\":\n // Convert all input to uppercase\n formattedText = text.toUpperCase();\n break;\n case \"numeric\":\n // Allow only numeric input\n formattedText = text.replace(/\\D/g, \"\");\n break;\n default:\n break;\n }\n\n setFormValue(name, formattedText);\n };\n\n return (\n <View style={styles.container}>\n {/* Label */}\n <Text style={[styles.label, { color: colors.text.hex }]}>{label}</Text>\n\n {/* Input Field */}\n <TextInput\n style={[\n styles.input,\n {\n backgroundColor: colors.body.hex,\n borderColor: formErrors[name] ? colors.error.hex : \"#CCC\",\n color: colors.text.hex,\n },\n style,\n ]}\n value={formValues[name] || \"\"}\n onChangeText={handleChange}\n placeholder={label}\n placeholderTextColor={colors.placeHolder.hex} // Can use a lighter version if needed\n {...rest}\n />\n\n {/* Display errors only if form has been submitted and there are errors */}\n {formErrors[name] && formErrors[name].length > 0 && (\n <ErrorList errors={formErrors[name]} />\n )}\n </View>\n );\n};\n\nconst styles = StyleSheet.create({\n container: {\n marginBottom: 16,\n },\n label: {\n marginBottom: 4,\n fontSize: 14,\n },\n input: {\n height: 40,\n borderWidth: 1,\n borderRadius: 4,\n paddingHorizontal: 8,\n },\n});\n","// src/forms/TextArea.tsx\n\nimport React from 'react';\nimport { TextInput, StyleSheet, View, TextInputProps } from 'react-native';\nimport { useFormContext } from './FormContext';\nimport { Text } from '../fonts/Text'; // Assuming the Text component is exported from fonts\nimport ErrorList from './ErrorList';\n\ninterface TextAreaProps extends TextInputProps {\n name: string;\n label: string;\n errors?: string[]; // Optional prop to directly pass errors\n}\n\nconst TextArea: React.FC<TextAreaProps> = ({ name, label, errors, style, ...rest }) => {\n const { formValues, setFormValue, errors: formErrors } = useFormContext();\n\n const handleChange = (text: string) => {\n setFormValue(name, text);\n };\n\n return (\n <View style={styles.container}>\n <Text style={styles.label}>{label}</Text>\n <TextInput\n style={[\n styles.textArea,\n style,\n ]}\n value={formValues[name] || ''}\n onChangeText={handleChange}\n placeholder={label}\n placeholderTextColor=\"#888\" // Can be themed if needed\n multiline\n numberOfLines={4}\n textAlignVertical=\"top\"\n {...rest}\n />\n {/* Display errors only if form has been submitted and there are errors */}\n {formErrors[name] && formErrors[name].length > 0 && (\n <ErrorList errors={formErrors[name]} />\n )}\n </View>\n );\n};\n\nconst styles = StyleSheet.create({\n container: {\n marginBottom: 16,\n },\n label: {\n marginBottom: 4,\n color: '#000', // Should be themed\n },\n textArea: {\n height: 100,\n borderColor: '#CCC', // Should be themed\n borderWidth: 1,\n borderRadius: 4,\n paddingHorizontal: 8,\n paddingVertical: 8,\n backgroundColor: '#FFFFFF', // Should use 'body' color from theme\n color: '#000', // Should use 'text' color from theme\n },\n});\n\nexport default TextArea;\n","// src/forms/Label.tsx\n\nimport React, { useContext } from 'react';\nimport { StyleSheet } from 'react-native';\nimport { Text } from '../fonts/Text';\nimport { ThemeContext } from 'aport-themes';\n\ninterface LabelProps {\n text: string;\n style?: any;\n}\n\nconst Label: React.FC<LabelProps> = ({ text, style }) => {\n const { theme } = useContext(ThemeContext);\n const { colors } = theme;\n return <Text style={[styles.label, style, { color: colors.text.hex }]}>{text}</Text>;\n};\n\nconst styles = StyleSheet.create({\n label: {\n marginBottom: 4,\n fontWeight: '500',\n },\n});\n\nexport default Label;\n","import React, { useState, useRef, useCallback, useContext } from 'react';\nimport { View, Text, TouchableOpacity, FlatList, TextInput, StyleSheet, Modal, Pressable, Keyboard } from 'react-native';\nimport { ThemeContext } from \"aport-themes\";\nimport { useFormContext } from '../forms/FormContext';\n\ninterface Option {\n id: number | string;\n label: string;\n value: any;\n}\n\ninterface InputListProps {\n name: string;\n /**\n * Placeholder text displayed in the input box when no selection is made.\n * @type {string}\n * @default \"Choose value/s\"\n */\n placeholder?: string;\n \n /**\n * Custom styles for the component.\n * @type {object}\n */\n style?: object;\n\n /**\n * Array of options to display in the dropdown. Each option should have an id, label, and value.\n * @type {Option[]}\n */\n options: Option[];\n\n /**\n * Enables multi-selection mode when true. If enabled, users can select multiple values.\n * @type {boolean}\n * @default false\n */\n multi?: boolean;\n\n /**\n * Disables the dropdown input when true.\n * @type {boolean}\n * @default false\n */\n disabled?: boolean;\n\n /**\n * Key used to sort options in the dropdown (e.g., by 'id', 'label').\n * @type {keyof Option}\n */\n sortBy?: keyof Option;\n\n /**\n * If true, displays a separator line between each option.\n * @type {boolean}\n * @default false\n */\n separator?: boolean;\n\n /**\n * Closes the dropdown if the user scrolls the list.\n * @type {boolean}\n * @default false\n */\n closeOnScroll?: boolean;\n\n /**\n * Closes the dropdown after selecting an item if true (only relevant when multi is false).\n * @type {boolean}\n * @default true\n */\n closeOnSelect?: boolean;\n\n /**\n * Limits the maximum number of items that can be selected when multi is true.\n * Once the limit is reached, the dropdown closes, and no further selections can be made until\n * an item is deselected.\n * @type {number}\n */\n maxSelection?: number;\n\n /**\n * Callback function called when the selection changes. Useful for conditional field enabling.\n * @param {Option | Option[] | null} selection - The updated selection.\n */\n onChange?: (selection: Option | Option[] | null) => void;\n}\n\n/**\n * InputList component - A custom dropdown list component for React Native with multi-selection support,\n * customizable styling, sorting, and configurable close behavior on selection or scrolling.\n *\n * @param {string} placeholder - Placeholder text for the input.\n * @param {object} style - Custom styles for the component.\n * @param {Option[]} options - Array of options to display in the dropdown.\n * @param {boolean} multi - Enables multi-selection mode.\n * @param {boolean} disabled - Disables the dropdown input.\n * @param {keyof Option} sortBy - Key to sort options by (e.g., 'id').\n * @param {boolean} separator - If true, adds a separator line between options.\n * @param {boolean} closeOnScroll - Closes the dropdown if the user scrolls the list.\n * @param {boolean} closeOnSelect - Closes the dropdown on selection in single-select mode.\n * @param {number} maxSelection - Maximum number of items selectable in multi-select mode.\n */\nexport const InputList: React.FC<InputListProps> = ({\n name,\n placeholder = \"Choose value/s\",\n style,\n options,\n multi = false,\n disabled = false,\n sortBy,\n separator = false,\n closeOnScroll = false,\n closeOnSelect = true,\n maxSelection,\n onChange,\n}) => {\n const { formValues, setFormValue } = useFormContext();\n const [isDropdownVisible, setIsDropdownVisible] = useState(false);\n \n const selectedOptions = formValues[name] || (multi ? [] : null);\n const sortedOptions = sortBy ? [...options].sort((a, b) => (a[sortBy] > b[sortBy] ? 1 : -1)) : options;\n const { theme } = useContext(ThemeContext);\n const { colors } = theme;\n\n /**\n * Handles selection of an option. Adds or removes the option from selectedOptions based on\n * multi-selection and maxSelection criteria.\n * @param {Option} option - The selected option object.\n */\n const handleSelectOption = (option: Option) => {\n let updatedSelections;\n\n if (multi) {\n const alreadySelected = selectedOptions.some((opt: Option) => opt.id === option.id);\n updatedSelections = alreadySelected\n ? selectedOptions.filter((opt: Option) => opt.id !== option.id)\n : [...selectedOptions, option];\n\n if (!alreadySelected && maxSelection && updatedSelections.length >= maxSelection) {\n setIsDropdownVisible(false);\n }\n\n setFormValue(name, updatedSelections);\n } else {\n updatedSelections = option;\n setFormValue(name, option);\n if (closeOnSelect) setIsDropdownVisible(false);\n }\n\n // Trigger onChange callback with the updated selection\n if (onChange) {\n onChange(updatedSelections);\n }\n };\n\n\n\n /**\n * Renders selected options as a comma-separated string or the placeholder if none selected.\n * @returns {string} - The display text for selected options or placeholder.\n */\n const renderSelectedText = () => {\n if (multi) return selectedOptions.map((opt: Option) => opt.label).join(', ') || placeholder;\n return selectedOptions?.label || placeholder;\n };\n\n /**\n * Toggles dropdown visibility. Disables toggle if the component is disabled.\n */\n const toggleDropdown = () => {\n if (!disabled) {\n setIsDropdownVisible(!isDropdownVisible);\n if (!isDropdownVisible) Keyboard.dismiss();\n }\n };\n\n /**\n * Closes the dropdown when pressing outside.\n */\n const handleCloseDropdown = useCallback(() => {\n if (isDropdownVisible) setIsDropdownVisible(false);\n }, [isDropdownVisible]);\n\n // Conditionally render item as disabled if max selection reached and item is unselected\n const isItemDisabled = (option: Option) => {\n return (\n multi &&\n maxSelection &&\n selectedOptions.length >= maxSelection &&\n !selectedOptions.some((opt: Option) => opt.id === option.id)\n );\n };\n\n\n return (\n <View style={[styles.container, style]}>\n <TouchableOpacity style={styles.inputContainer} onPress={toggleDropdown} disabled={disabled}>\n <Text style={{color: colors.text.hex}}>{renderSelectedText()}</Text>\n </TouchableOpacity>\n \n <Modal visible={isDropdownVisible} transparent animationType=\"fade\">\n <Pressable style={styles.overlay} onPress={handleCloseDropdown} />\n <View style={[styles.dropdownContainer,{backgroundColor: colors.body.hex,\n}]}>\n <FlatList\n data={sortedOptions}\n keyExtractor={(item) => item.id.toString()}\n renderItem={({ item }) => {\nconst isSelected = multi\n ? (selectedOptions as Option[]).some((opt: Option) => opt.id === item.id)\n : selectedOptions?.id === item.id;\n const isDisabled = isItemDisabled(item);\n\n return (\n <TouchableOpacity\n onPress={() => handleSelectOption(item)}\n style={[\n styles.optionItem,\n isSelected ? {backgroundColor: colors.primary.hex} : {},\n isDisabled ? {backgroundColor: colors.placeHolder.hex} : {},\n ]}\n disabled={!!isDisabled} // Ensure disabled prop is a boolean\n >\n <Text style={[isSelected ? {color: colors.background.hex}: {color: colors.text.hex}, isDisabled ? styles.disabledText : {}]}>\n {item.label}\n </Text>\n </TouchableOpacity>\n );\n }}\n ItemSeparatorComponent={() => (separator ? <View style={styles.separator} /> : null)}\n scrollEnabled={!closeOnScroll}\n />\n </View>\n </Modal>\n </View>\n );\n};\n\nconst styles = StyleSheet.create({\n container: { padding: 8 },\n inputContainer: { padding: 12, borderWidth: 1, borderColor: '#ccc', borderRadius: 5 },\n dropdownContainer: {\n position: 'absolute',\n top: '30%', // Center the dropdown vertically\n alignSelf: 'center',\n width: '90%',\n backgroundColor: '#fff',\n borderRadius: 8,\n elevation: 5,\n paddingVertical: 10,\n },\n optionItem: { padding: 12 },\n disabledText: { color: '#999' },\n separator: { height: 1, backgroundColor: '#ddd', marginHorizontal: 8 },\n overlay: { flex: 1, backgroundColor: 'rgba(0,0,0,0.3)' },\n});\n","// src/components/Button.tsx\n\nimport React, { useMemo, useContext } from 'react';\nimport { Text, ViewStyle, StyleSheet, TouchableOpacity, ActivityIndicator } from 'react-native';\nimport { useFormContext } from '../forms';\nimport { ThemeColors, ThemeContext } from 'aport-themes';\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 * If true, a loading spinner is shown and the button is disabled.\n */\n loading?: boolean;\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 loading = false,\n onPress,\n}) => {\n const { theme } = useContext(ThemeContext);\n const { colors } = theme;\n const { handleSubmit } = useFormContext();\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 || loading) && styles.disabled,\n ]);\n }, [type, disabled, loading, rounded, borderRadius, isFullWidth, colors]);\n\n const textColor = useMemo(() => {\n return type === \"cancel\" ? { color: colors.text.hex } : { color: colors.textButton.hex };\n }, [type, colors]);\n\n const handlePress = () => {\n if (type === 'submit') {\n handleSubmit(); // Call the form's submit handler\n } else if (onPress) {\n onPress(); // Call a custom handler if needed\n }\n };\n\n\n return (\n <TouchableOpacity\n style={computedStyles as ViewStyle}\n disabled={disabled || loading}\n onPress={handlePress}\n activeOpacity={0.7}\n >\n {loading ? ( // Show loading spinner if loading\n <ActivityIndicator size=\"small\" color={colors.textButton.hex} />\n ) : (\n <Text style={textColor}>\n {Array.isArray(children) ? children.join('').toUpperCase() : children?.toUpperCase()}\n </Text>\n )}\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 { ThemeContext } from 'aport-themes';\nimport React, { useContext } from 'react';\nimport {\n View,\n StyleSheet,\n StyleProp,\n ViewStyle,\n Platform,\n TouchableOpacity,\n GestureResponderEvent,\n} from 'react-native';\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":["FormContext","createContext","undefined","useFormContext","context","useContext","Error","Form","_a","children","onSubmit","_b","useState","formValues","setFormValues","_c","errors","setErrors","setFormValue","name","value","prev","handleSubmit","__awaiter","validationErrors","sent","Object","keys","length","React","createElement","Provider","Text","size","_d","b","_e","i","_f","u","_g","align","_h","type","_j","typeFont","_k","h","style","theme","ThemeContext","colors","fonts","fontSettings","body","fontFamily","fontSize","fontWeight","fontStyle","textDecorationLine","textAlign","textColor","hex","text","textStyles","color","RNText","StyleSheet","create","ErrorList","View","styles","container","map","error","index","key","errorItem","bullet","errorText","marginTop","flexDirection","alignItems","marginBottom","marginRight","flex","Input","label","inputType","rest","__rest","formErrors","handleChange","formattedText","replace","concat","slice","toUpperCase","TextInput","__assign","input","backgroundColor","borderColor","onChangeText","placeholder","placeholderTextColor","placeHolder","height","borderWidth","borderRadius","paddingHorizontal","TextArea","textArea","multiline","numberOfLines","textAlignVertical","paddingVertical","Label","InputList","options","multi","disabled","sortBy","separator","closeOnScroll","closeOnSelect","maxSelection","onChange","isDropdownVisible","setIsDropdownVisible","selectedOptions","sortedOptions","__spreadArray","sort","a","handleSelectOption","option","updatedSelections","alreadySelected","some","opt","id","filter","renderSelectedText","join","toggleDropdown","Keyboard","dismiss","handleCloseDropdown","useCallback","isItemDisabled","TouchableOpacity","inputContainer","onPress","Modal","visible","transparent","animationType","Pressable","overlay","dropdownContainer","FlatList","data","keyExtractor","item","toString","renderItem","isSelected","isDisabled","optionItem","primary","background","disabledText","ItemSeparatorComponent","scrollEnabled","padding","position","top","alignSelf","width","elevation","marginHorizontal","typeStyles","themeColors","rgb","r","g","secondary","opacity","Button","rounded","isFullWidth","loading","computedStyles","useMemo","flatten","button","textButton","handlePress","activeOpacity","ActivityIndicator","Array","isArray","justifyContent","Card","pressable","shadowProps","defaultShadow","Platform","select","ios","shadowColor","shadowOffset","shadowOpacity","shadowRadius","android","cardStyles"],"mappings":"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","x_google_ignoreList":[0]}
package/dist/index.js CHANGED
@@ -1,4 +1,4 @@
1
- /*! aport-tools v4.2.4 | ISC */
1
+ /*! aport-tools v4.2.6 | ISC */
2
2
  'use strict';
3
3
 
4
4
  var React = require('react');
@@ -466,7 +466,8 @@ var InputList = function InputList(_a) {
466
466
  closeOnScroll = _f === void 0 ? false : _f,
467
467
  _g = _a.closeOnSelect,
468
468
  closeOnSelect = _g === void 0 ? true : _g,
469
- maxSelection = _a.maxSelection;
469
+ maxSelection = _a.maxSelection,
470
+ onChange = _a.onChange;
470
471
  var _h = useFormContext(),
471
472
  formValues = _h.formValues,
472
473
  setFormValue = _h.setFormValue;
@@ -485,24 +486,27 @@ var InputList = function InputList(_a) {
485
486
  * @param {Option} option - The selected option object.
486
487
  */
487
488
  var handleSelectOption = function handleSelectOption(option) {
489
+ var updatedSelections;
488
490
  if (multi) {
489
491
  var alreadySelected = selectedOptions.some(function (opt) {
490
492
  return opt.id === option.id;
491
493
  });
492
- // Add or remove item from selected options
493
- var updatedSelections = alreadySelected ? selectedOptions.filter(function (opt) {
494
+ updatedSelections = alreadySelected ? selectedOptions.filter(function (opt) {
494
495
  return opt.id !== option.id;
495
496
  }) : __spreadArray(__spreadArray([], selectedOptions, true), [option], false);
496
- // Close dropdown if max selection is reached after selecting
497
497
  if (!alreadySelected && maxSelection && updatedSelections.length >= maxSelection) {
498
498
  setIsDropdownVisible(false);
499
499
  }
500
- // Update form value
501
500
  setFormValue(name, updatedSelections);
502
501
  } else {
502
+ updatedSelections = option;
503
503
  setFormValue(name, option);
504
504
  if (closeOnSelect) setIsDropdownVisible(false);
505
505
  }
506
+ // Trigger onChange callback with the updated selection
507
+ if (onChange) {
508
+ onChange(updatedSelections);
509
+ }
506
510
  };
507
511
  /**
508
512
  * Renders selected options as a comma-separated string or the placeholder if none selected.
@@ -573,7 +577,9 @@ var InputList = function InputList(_a) {
573
577
  },
574
578
  style: [styles$2.optionItem, isSelected ? {
575
579
  backgroundColor: colors.primary.hex
576
- } : {}, isDisabled ? styles$2.disabledItem : {}],
580
+ } : {}, isDisabled ? {
581
+ backgroundColor: colors.placeHolder.hex
582
+ } : {}],
577
583
  disabled: !!isDisabled
578
584
  }, /*#__PURE__*/React.createElement(reactNative.Text, {
579
585
  style: [isSelected ? {
@@ -615,9 +621,6 @@ var styles$2 = reactNative.StyleSheet.create({
615
621
  optionItem: {
616
622
  padding: 12
617
623
  },
618
- disabledItem: {
619
- backgroundColor: '#f0f0f0'
620
- },
621
624
  disabledText: {
622
625
  color: '#999'
623
626
  },
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sources":["../node_modules/tslib/tslib.es6.js","../src/forms/FormContext.tsx","../src/fonts/Text.tsx","../src/forms/ErrorList.tsx","../src/forms/Input.tsx","../src/forms/TextArea.tsx","../src/forms/Label.tsx","../src/forms/InputList.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/forms/FormContext.tsx\n\nimport React, { createContext, useState, ReactNode, useContext } from 'react';\n\ninterface FormContextProps {\n formValues: Record<string, any>;\n setFormValue: (name: string, value: any) => void;\n errors: Record<string, string[]>;\n setErrors: (errors: Record<string, string[]>) => void;\n handleSubmit: () => void;\n}\n\nconst FormContext = createContext<FormContextProps | undefined>(undefined);\n\nexport const useFormContext = () => {\n const context = useContext(FormContext);\n if (!context) {\n throw new Error(\"useFormContext must be used within a Form\");\n }\n return context;\n};\n\ninterface FormProps {\n children: ReactNode;\n onSubmit: (values: Record<string, any>) => Promise<Record<string, string[]>>; // Returns errors\n}\n\nexport const Form: React.FC<FormProps> = ({ children, onSubmit }) => {\n const [formValues, setFormValues] = useState<Record<string, any>>({});\n const [errors, setErrors] = useState<Record<string, string[]>>({});\n\n const setFormValue = (name: string, value: any) => {\n setFormValues(prev => ({ ...prev, [name]: value }));\n };\n\n const handleSubmit = async () => {\n const validationErrors = await onSubmit(formValues);\n \n // Set the validation errors in state\n setErrors(validationErrors);\n \n // Prevent submission if there are any errors\n if (Object.keys(validationErrors).length > 0) {\n return; // Prevent submission\n }\n \n };\n \n\n return (\n <FormContext.Provider value={{ formValues, setFormValue, errors, setErrors, handleSubmit }}>\n {children}\n </FormContext.Provider>\n );\n};\n","// src/fonts/Text.tsx\n\nimport { ThemeColors, ThemeContext, ThemeFonts } from 'aport-themes';\nimport React, { useContext } from 'react';\nimport { Text as RNText, StyleSheet, TextProps, TextStyle } from 'react-native';\n\ninterface CustomTextProps extends TextProps {\n /**\n * Content to be displayed inside the Text component.\n */\n children: React.ReactNode;\n\n /**\n * Size of the text. Defaults to 14.\n */\n size?: number;\n\n /**\n * If true, applies bold styling to the text.\n */\n b?: boolean;\n\n /**\n * If true, applies italic styling to the text.\n */\n i?: boolean;\n\n /**\n * If true, applies underline styling to the text.\n */\n u?: boolean;\n\n /**\n * Paragraph alignment. Can be 'left', 'center', or 'right'. Defaults to 'left'.\n */\n align?: 'left' | 'center' | 'right' | 'justify'; // Paragraph alignment\n\n /**\n * Text type. Defaults to 'text'. Should match the keys in ThemeColors.\n * This restricts type to known color keys like 'primary', 'error', etc.\n */\n type?: keyof ThemeColors;\n \n /**\n * Text font type. Defaults to 'body'. Should match the keys in ThemeFonts.\n * This restricts type to known fonts keys like 'primary', 'secundary', etc.\n */\n typeFont?: keyof ThemeFonts; // <-- New prop to select font type\n\n /**\n * Header level. Accepts 0 (none), 1, 2, or 3. Defaults to 0.\n */\n h?: 0 | 1 | 2 | 3;\n\n /**\n * Additional styles to apply to the Text component.\n */\n style?: TextStyle | TextStyle[];\n}\n\n/**\n * A dynamic Text component that supports HTML-like formatting.\n * Integrates with the Theme system for consistent styling.\n *\n * @param children - The content to be displayed inside the Text component.\n * @param size - Size of the text. Defaults to 'medium'.\n * @param b - If true, applies bold styling.\n * @param i - If true, applies italic styling.\n * @param type - Type of Text component. Defaults to 'text'.\n * @param typeFont - Type of Font component. Defaults to 'body'.\n * @param u - If true, applies underline styling.\n * @param align - Paragraph alignment. Defaults to 'left'.\n * @param h - Header level. Accepts 0 (none), 1, 2, or 3. Defaults to 0.\n * @param style - Additional styles to apply.\n */\nexport const Text: React.FC<CustomTextProps> = ({\n children,\n size = 14,\n b = false,\n i = false,\n u = false,\n align = 'left',\n type = 'text',\n typeFont = 'body',\n h = 0,\n style,\n}) => {\n const { theme } = useContext(ThemeContext);\n const { colors, fonts } = theme;\n\n // Determine font family and size based on 'typeFont'\n const fontSettings = fonts[typeFont] || fonts.body;\n const fontFamily = fontSettings.fontFamily;\n let fontSize = fontSettings.fontSize || size;\n\n // Calculate header size based on 'h' prop\n if (h === 1) fontSize = 32;\n else if (h === 2) fontSize = 24;\n else if (h === 3) fontSize = 18;\n \n // Define font weight based on bold prop\n const fontWeight = b ? '700' : fontSettings.fontWeight || '400';\n\n // Define font style based on italic prop\n const fontStyle = i ? 'italic' : 'normal';\n\n // Define text decoration based on underline prop\n const textDecorationLine = u ? 'underline' : 'none';\n\n // Define text alignment\n const textAlign: TextStyle['textAlign'] = align;\n // Map the 'type' prop to the correct color from the theme\n const textColor = colors[type]?.hex || colors.text.hex;\n \n // Combine all styles\n const textStyles: TextStyle = {\n fontSize,\n fontWeight,\n fontFamily,\n fontStyle,\n textDecorationLine,\n textAlign,\n color: textColor,\n };\n\n \n return (\n <RNText style={[textStyles, style]}>\n {children}\n </RNText>\n );\n};\n\nconst styles = StyleSheet.create({\n // Define any default styles if needed\n});\n\n","// src/forms/ErrorList.tsx\n\nimport React, { useContext } from 'react';\nimport { View, StyleSheet } from 'react-native';\nimport { Text } from '../fonts/Text';\nimport { ThemeContext } from 'aport-themes';\n\ninterface ErrorListProps {\n errors: string[];\n}\n\nconst ErrorList: React.FC<ErrorListProps> = ({ errors }) => {\n const { theme } = useContext(ThemeContext);\n const { colors } = theme;\n\n return (\n <View style={styles.container}>\n {errors.map((error, index) => (\n <View key={index} style={styles.errorItem}>\n <Text style={[styles.bullet, { color: colors.error.hex }]}>•</Text>\n <Text style={[styles.errorText, { color: colors.error.hex }]}>{error}</Text>\n </View>\n ))}\n </View>\n );\n};\n\nconst styles = StyleSheet.create({\n container: {\n marginTop: 4,\n },\n errorItem: {\n flexDirection: 'row',\n alignItems: 'flex-start',\n marginBottom: 2,\n },\n bullet: {\n marginRight: 4,\n fontSize: 12,\n },\n errorText: {\n flex: 1,\n fontSize: 12,\n },\n});\n\nexport default ErrorList;\n","// src/forms/Input.tsx\n\nimport React, { useContext } from \"react\";\nimport {\n TextInput,\n StyleSheet,\n View,\n TextInputProps,\n} from \"react-native\";\nimport { useFormContext } from \"./FormContext\";\nimport { Text } from \"../fonts/Text\";\nimport ErrorList from \"./ErrorList\";\nimport { ThemeContext } from \"aport-themes\";\n\n/**\n * Defines the props for the Input component.\n */\ninterface InputProps extends TextInputProps {\n /**\n * The unique identifier for the input field, used to manage its state within the form.\n */\n name: string;\n\n /**\n * The text label displayed above the input field.\n */\n label: string;\n\n /**\n * Specifies the type of input and applies corresponding formatting.\n * - 'phone': Formats input as a phone number (xxx-xxx-xxxx).\n * - 'id': Converts all input characters to uppercase (useful for IDs, passports).\n * - 'uppercase': Forces all input characters to uppercase (useful for codes).\n * - 'numeric': Restricts input to numeric characters only.\n */\n inputType?: \"phone\" | \"id\" | \"uppercase\" | \"numeric\";\n}\n\n/**\n * Input component that supports labels, error messages, and integrates with the Theme system.\n *\n * @param {InputProps} props - Props passed to the component.\n * @returns {JSX.Element} The rendered Input component.\n *\n * @example\n * <Input\n * name=\"email\"\n * label=\"Email\"\n * keyboardType=\"email-address\"\n * inputType=\"id\"\n * />\n */\nexport const Input: React.FC<InputProps> = ({\n name,\n label,\n inputType,\n style,\n ...rest\n}) => {\n const { formValues, setFormValue, errors: formErrors } = useFormContext();\n const { theme } = useContext(ThemeContext);\n const { colors } = theme;\n\n /**\n * Handles text changes in the input field, applying formatting based on the inputType.\n *\n * @param {string} text - The current text input by the user.\n */\n const handleChange = (text: string) => {\n let formattedText = text;\n\n // Apply different formatting based on inputType\n switch (inputType) {\n case \"phone\":\n // Remove all non-digit characters\n formattedText = text.replace(/\\D/g, \"\");\n // Insert hyphens to format as xxx-xxx-xxxx\n if (formattedText.length > 3 && formattedText.length <= 6) {\n formattedText = `${formattedText.slice(0, 3)}-${formattedText.slice(3)}`;\n } else if (formattedText.length > 6) {\n formattedText = `${formattedText.slice(0, 3)}-${formattedText.slice(\n 3,\n 6\n )}-${formattedText.slice(6, 10)}`;\n }\n break;\n case \"id\":\n case \"uppercase\":\n // Convert all input to uppercase\n formattedText = text.toUpperCase();\n break;\n case \"numeric\":\n // Allow only numeric input\n formattedText = text.replace(/\\D/g, \"\");\n break;\n default:\n break;\n }\n\n setFormValue(name, formattedText);\n };\n\n return (\n <View style={styles.container}>\n {/* Label */}\n <Text style={[styles.label, { color: colors.text.hex }]}>{label}</Text>\n\n {/* Input Field */}\n <TextInput\n style={[\n styles.input,\n {\n backgroundColor: colors.body.hex,\n borderColor: formErrors[name] ? colors.error.hex : \"#CCC\",\n color: colors.text.hex,\n },\n style,\n ]}\n value={formValues[name] || \"\"}\n onChangeText={handleChange}\n placeholder={label}\n placeholderTextColor={colors.placeHolder.hex} // Can use a lighter version if needed\n {...rest}\n />\n\n {/* Display errors only if form has been submitted and there are errors */}\n {formErrors[name] && formErrors[name].length > 0 && (\n <ErrorList errors={formErrors[name]} />\n )}\n </View>\n );\n};\n\nconst styles = StyleSheet.create({\n container: {\n marginBottom: 16,\n },\n label: {\n marginBottom: 4,\n fontSize: 14,\n },\n input: {\n height: 40,\n borderWidth: 1,\n borderRadius: 4,\n paddingHorizontal: 8,\n },\n});\n","// src/forms/TextArea.tsx\n\nimport React from 'react';\nimport { TextInput, StyleSheet, View, TextInputProps } from 'react-native';\nimport { useFormContext } from './FormContext';\nimport { Text } from '../fonts/Text'; // Assuming the Text component is exported from fonts\nimport ErrorList from './ErrorList';\n\ninterface TextAreaProps extends TextInputProps {\n name: string;\n label: string;\n errors?: string[]; // Optional prop to directly pass errors\n}\n\nconst TextArea: React.FC<TextAreaProps> = ({ name, label, errors, style, ...rest }) => {\n const { formValues, setFormValue, errors: formErrors } = useFormContext();\n\n const handleChange = (text: string) => {\n setFormValue(name, text);\n };\n\n return (\n <View style={styles.container}>\n <Text style={styles.label}>{label}</Text>\n <TextInput\n style={[\n styles.textArea,\n style,\n ]}\n value={formValues[name] || ''}\n onChangeText={handleChange}\n placeholder={label}\n placeholderTextColor=\"#888\" // Can be themed if needed\n multiline\n numberOfLines={4}\n textAlignVertical=\"top\"\n {...rest}\n />\n {/* Display errors only if form has been submitted and there are errors */}\n {formErrors[name] && formErrors[name].length > 0 && (\n <ErrorList errors={formErrors[name]} />\n )}\n </View>\n );\n};\n\nconst styles = StyleSheet.create({\n container: {\n marginBottom: 16,\n },\n label: {\n marginBottom: 4,\n color: '#000', // Should be themed\n },\n textArea: {\n height: 100,\n borderColor: '#CCC', // Should be themed\n borderWidth: 1,\n borderRadius: 4,\n paddingHorizontal: 8,\n paddingVertical: 8,\n backgroundColor: '#FFFFFF', // Should use 'body' color from theme\n color: '#000', // Should use 'text' color from theme\n },\n});\n\nexport default TextArea;\n","// src/forms/Label.tsx\n\nimport React, { useContext } from 'react';\nimport { StyleSheet } from 'react-native';\nimport { Text } from '../fonts/Text';\nimport { ThemeContext } from 'aport-themes';\n\ninterface LabelProps {\n text: string;\n style?: any;\n}\n\nconst Label: React.FC<LabelProps> = ({ text, style }) => {\n const { theme } = useContext(ThemeContext);\n const { colors } = theme;\n return <Text style={[styles.label, style, { color: colors.text.hex }]}>{text}</Text>;\n};\n\nconst styles = StyleSheet.create({\n label: {\n marginBottom: 4,\n fontWeight: '500',\n },\n});\n\nexport default Label;\n","import React, { useState, useRef, useCallback, useContext } from 'react';\nimport { View, Text, TouchableOpacity, FlatList, TextInput, StyleSheet, Modal, Pressable, Keyboard } from 'react-native';\nimport { ThemeContext } from \"aport-themes\";\nimport { useFormContext } from '../forms/FormContext';\n\ninterface Option {\n id: number | string;\n label: string;\n value: any;\n}\n\ninterface InputListProps {\n name: string;\n /**\n * Placeholder text displayed in the input box when no selection is made.\n * @type {string}\n * @default \"Choose value/s\"\n */\n placeholder?: string;\n \n /**\n * Custom styles for the component.\n * @type {object}\n */\n style?: object;\n\n /**\n * Array of options to display in the dropdown. Each option should have an id, label, and value.\n * @type {Option[]}\n */\n options: Option[];\n\n /**\n * Enables multi-selection mode when true. If enabled, users can select multiple values.\n * @type {boolean}\n * @default false\n */\n multi?: boolean;\n\n /**\n * Disables the dropdown input when true.\n * @type {boolean}\n * @default false\n */\n disabled?: boolean;\n\n /**\n * Key used to sort options in the dropdown (e.g., by 'id', 'label').\n * @type {keyof Option}\n */\n sortBy?: keyof Option;\n\n /**\n * If true, displays a separator line between each option.\n * @type {boolean}\n * @default false\n */\n separator?: boolean;\n\n /**\n * Closes the dropdown if the user scrolls the list.\n * @type {boolean}\n * @default false\n */\n closeOnScroll?: boolean;\n\n /**\n * Closes the dropdown after selecting an item if true (only relevant when multi is false).\n * @type {boolean}\n * @default true\n */\n closeOnSelect?: boolean;\n\n /**\n * Limits the maximum number of items that can be selected when multi is true.\n * Once the limit is reached, the dropdown closes, and no further selections can be made until\n * an item is deselected.\n * @type {number}\n */\n maxSelection?: number;\n}\n\n/**\n * InputList component - A custom dropdown list component for React Native with multi-selection support,\n * customizable styling, sorting, and configurable close behavior on selection or scrolling.\n *\n * @param {string} placeholder - Placeholder text for the input.\n * @param {object} style - Custom styles for the component.\n * @param {Option[]} options - Array of options to display in the dropdown.\n * @param {boolean} multi - Enables multi-selection mode.\n * @param {boolean} disabled - Disables the dropdown input.\n * @param {keyof Option} sortBy - Key to sort options by (e.g., 'id').\n * @param {boolean} separator - If true, adds a separator line between options.\n * @param {boolean} closeOnScroll - Closes the dropdown if the user scrolls the list.\n * @param {boolean} closeOnSelect - Closes the dropdown on selection in single-select mode.\n * @param {number} maxSelection - Maximum number of items selectable in multi-select mode.\n */\nexport const InputList: React.FC<InputListProps> = ({\n name,\n placeholder = \"Choose value/s\",\n style,\n options,\n multi = false,\n disabled = false,\n sortBy,\n separator = false,\n closeOnScroll = false,\n closeOnSelect = true,\n maxSelection,\n}) => {\n const { formValues, setFormValue } = useFormContext();\n const [isDropdownVisible, setIsDropdownVisible] = useState(false);\n \n const selectedOptions = formValues[name] || (multi ? [] : null);\n const sortedOptions = sortBy ? [...options].sort((a, b) => (a[sortBy] > b[sortBy] ? 1 : -1)) : options;\n const { theme } = useContext(ThemeContext);\n const { colors } = theme;\n\n /**\n * Handles selection of an option. Adds or removes the option from selectedOptions based on\n * multi-selection and maxSelection criteria.\n * @param {Option} option - The selected option object.\n */\n const handleSelectOption = (option: Option) => {\n if (multi) {\n const alreadySelected = selectedOptions.some((opt: Option) => opt.id === option.id);\n\n // Add or remove item from selected options\n const updatedSelections = alreadySelected\n ? selectedOptions.filter((opt: Option) => opt.id !== option.id)\n : [...selectedOptions, option];\n\n // Close dropdown if max selection is reached after selecting\n if (!alreadySelected && maxSelection && updatedSelections.length >= maxSelection) {\n setIsDropdownVisible(false);\n }\n\n // Update form value\n setFormValue(name, updatedSelections);\n } else {\n setFormValue(name, option);\n if (closeOnSelect) setIsDropdownVisible(false);\n }\n };\n\n\n /**\n * Renders selected options as a comma-separated string or the placeholder if none selected.\n * @returns {string} - The display text for selected options or placeholder.\n */\n const renderSelectedText = () => {\n if (multi) return selectedOptions.map((opt: Option) => opt.label).join(', ') || placeholder;\n return selectedOptions?.label || placeholder;\n };\n\n /**\n * Toggles dropdown visibility. Disables toggle if the component is disabled.\n */\n const toggleDropdown = () => {\n if (!disabled) {\n setIsDropdownVisible(!isDropdownVisible);\n if (!isDropdownVisible) Keyboard.dismiss();\n }\n };\n\n /**\n * Closes the dropdown when pressing outside.\n */\n const handleCloseDropdown = useCallback(() => {\n if (isDropdownVisible) setIsDropdownVisible(false);\n }, [isDropdownVisible]);\n\n // Conditionally render item as disabled if max selection reached and item is unselected\n const isItemDisabled = (option: Option) => {\n return (\n multi &&\n maxSelection &&\n selectedOptions.length >= maxSelection &&\n !selectedOptions.some((opt: Option) => opt.id === option.id)\n );\n };\n\n\n return (\n <View style={[styles.container, style]}>\n <TouchableOpacity style={styles.inputContainer} onPress={toggleDropdown} disabled={disabled}>\n <Text style={{color: colors.text.hex}}>{renderSelectedText()}</Text>\n </TouchableOpacity>\n \n <Modal visible={isDropdownVisible} transparent animationType=\"fade\">\n <Pressable style={styles.overlay} onPress={handleCloseDropdown} />\n <View style={[styles.dropdownContainer,{backgroundColor: colors.body.hex,\n}]}>\n <FlatList\n data={sortedOptions}\n keyExtractor={(item) => item.id.toString()}\n renderItem={({ item }) => {\nconst isSelected = multi\n ? (selectedOptions as Option[]).some((opt: Option) => opt.id === item.id)\n : selectedOptions?.id === item.id;\n const isDisabled = isItemDisabled(item);\n\n return (\n <TouchableOpacity\n onPress={() => handleSelectOption(item)}\n style={[\n styles.optionItem,\n isSelected ? {backgroundColor: colors.primary.hex} : {},\n isDisabled ? styles.disabledItem : {},\n ]}\n disabled={!!isDisabled} // Ensure disabled prop is a boolean\n >\n <Text style={[isSelected ? {color: colors.background.hex}: {color: colors.text.hex}, isDisabled ? styles.disabledText : {}]}>\n {item.label}\n </Text>\n </TouchableOpacity>\n );\n }}\n ItemSeparatorComponent={() => (separator ? <View style={styles.separator} /> : null)}\n scrollEnabled={!closeOnScroll}\n />\n </View>\n </Modal>\n </View>\n );\n};\n\nconst styles = StyleSheet.create({\n container: { padding: 8 },\n inputContainer: { padding: 12, borderWidth: 1, borderColor: '#ccc', borderRadius: 5 },\n dropdownContainer: {\n position: 'absolute',\n top: '30%', // Center the dropdown vertically\n alignSelf: 'center',\n width: '90%',\n backgroundColor: '#fff',\n borderRadius: 8,\n elevation: 5,\n paddingVertical: 10,\n },\n optionItem: { padding: 12 },\n disabledItem: { backgroundColor: '#f0f0f0' },\n disabledText: { color: '#999' },\n separator: { height: 1, backgroundColor: '#ddd', marginHorizontal: 8 },\n overlay: { flex: 1, backgroundColor: 'rgba(0,0,0,0.3)' },\n});\n","// src/components/Button.tsx\n\nimport React, { useMemo, useContext } from 'react';\nimport { Text, ViewStyle, StyleSheet, TouchableOpacity, ActivityIndicator } from 'react-native';\nimport { useFormContext } from '../forms';\nimport { ThemeColors, ThemeContext } from 'aport-themes';\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 * If true, a loading spinner is shown and the button is disabled.\n */\n loading?: boolean;\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 loading = false,\n onPress,\n}) => {\n const { theme } = useContext(ThemeContext);\n const { colors } = theme;\n const { handleSubmit } = useFormContext();\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 || loading) && styles.disabled,\n ]);\n }, [type, disabled, loading, rounded, borderRadius, isFullWidth, colors]);\n\n const textColor = useMemo(() => {\n return type === \"cancel\" ? { color: colors.text.hex } : { color: colors.textButton.hex };\n }, [type, colors]);\n\n const handlePress = () => {\n if (type === 'submit') {\n handleSubmit(); // Call the form's submit handler\n } else if (onPress) {\n onPress(); // Call a custom handler if needed\n }\n };\n\n\n return (\n <TouchableOpacity\n style={computedStyles as ViewStyle}\n disabled={disabled || loading}\n onPress={handlePress}\n activeOpacity={0.7}\n >\n {loading ? ( // Show loading spinner if loading\n <ActivityIndicator size=\"small\" color={colors.textButton.hex} />\n ) : (\n <Text style={textColor}>\n {Array.isArray(children) ? children.join('').toUpperCase() : children?.toUpperCase()}\n </Text>\n )}\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 { ThemeContext } from 'aport-themes';\nimport React, { useContext } from 'react';\nimport {\n View,\n StyleSheet,\n StyleProp,\n ViewStyle,\n Platform,\n TouchableOpacity,\n GestureResponderEvent,\n} from 'react-native';\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":["FormContext","createContext","undefined","useFormContext","context","useContext","Error","Form","_a","children","onSubmit","_b","useState","formValues","setFormValues","_c","errors","setErrors","setFormValue","name","value","prev","handleSubmit","__awaiter","validationErrors","sent","Object","keys","length","React","createElement","Provider","Text","size","_d","b","_e","i","_f","u","_g","align","_h","type","_j","typeFont","_k","h","style","theme","ThemeContext","colors","fonts","fontSettings","body","fontFamily","fontSize","fontWeight","fontStyle","textDecorationLine","textAlign","textColor","hex","text","textStyles","color","RNText","StyleSheet","create","ErrorList","View","styles","container","map","error","index","key","errorItem","bullet","errorText","marginTop","flexDirection","alignItems","marginBottom","marginRight","flex","Input","label","inputType","rest","__rest","formErrors","handleChange","formattedText","replace","concat","slice","toUpperCase","TextInput","__assign","input","backgroundColor","borderColor","onChangeText","placeholder","placeholderTextColor","placeHolder","height","borderWidth","borderRadius","paddingHorizontal","TextArea","textArea","multiline","numberOfLines","textAlignVertical","paddingVertical","Label","InputList","options","multi","disabled","sortBy","separator","closeOnScroll","closeOnSelect","maxSelection","isDropdownVisible","setIsDropdownVisible","selectedOptions","sortedOptions","__spreadArray","sort","a","handleSelectOption","option","alreadySelected","some","opt","id","updatedSelections","filter","renderSelectedText","join","toggleDropdown","Keyboard","dismiss","handleCloseDropdown","useCallback","isItemDisabled","TouchableOpacity","inputContainer","onPress","Modal","visible","transparent","animationType","Pressable","overlay","dropdownContainer","FlatList","data","keyExtractor","item","toString","renderItem","isSelected","isDisabled","optionItem","primary","disabledItem","background","disabledText","ItemSeparatorComponent","scrollEnabled","padding","position","top","alignSelf","width","elevation","marginHorizontal","typeStyles","themeColors","rgb","r","g","secondary","opacity","Button","rounded","isFullWidth","loading","computedStyles","useMemo","flatten","button","textButton","handlePress","activeOpacity","ActivityIndicator","Array","isArray","justifyContent","Card","pressable","shadowProps","defaultShadow","Platform","select","ios","shadowColor","shadowOffset","shadowOpacity","shadowRadius","android","cardStyles"],"mappings":"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","x_google_ignoreList":[0]}
1
+ {"version":3,"file":"index.js","sources":["../node_modules/tslib/tslib.es6.js","../src/forms/FormContext.tsx","../src/fonts/Text.tsx","../src/forms/ErrorList.tsx","../src/forms/Input.tsx","../src/forms/TextArea.tsx","../src/forms/Label.tsx","../src/forms/InputList.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/forms/FormContext.tsx\n\nimport React, { createContext, useState, ReactNode, useContext } from 'react';\n\ninterface FormContextProps {\n formValues: Record<string, any>;\n setFormValue: (name: string, value: any) => void;\n errors: Record<string, string[]>;\n setErrors: (errors: Record<string, string[]>) => void;\n handleSubmit: () => void;\n}\n\nconst FormContext = createContext<FormContextProps | undefined>(undefined);\n\nexport const useFormContext = () => {\n const context = useContext(FormContext);\n if (!context) {\n throw new Error(\"useFormContext must be used within a Form\");\n }\n return context;\n};\n\ninterface FormProps {\n children: ReactNode;\n onSubmit: (values: Record<string, any>) => Promise<Record<string, string[]>>; // Returns errors\n}\n\nexport const Form: React.FC<FormProps> = ({ children, onSubmit }) => {\n const [formValues, setFormValues] = useState<Record<string, any>>({});\n const [errors, setErrors] = useState<Record<string, string[]>>({});\n\n const setFormValue = (name: string, value: any) => {\n setFormValues(prev => ({ ...prev, [name]: value }));\n };\n\n const handleSubmit = async () => {\n const validationErrors = await onSubmit(formValues);\n \n // Set the validation errors in state\n setErrors(validationErrors);\n \n // Prevent submission if there are any errors\n if (Object.keys(validationErrors).length > 0) {\n return; // Prevent submission\n }\n \n };\n \n\n return (\n <FormContext.Provider value={{ formValues, setFormValue, errors, setErrors, handleSubmit }}>\n {children}\n </FormContext.Provider>\n );\n};\n","// src/fonts/Text.tsx\n\nimport { ThemeColors, ThemeContext, ThemeFonts } from 'aport-themes';\nimport React, { useContext } from 'react';\nimport { Text as RNText, StyleSheet, TextProps, TextStyle } from 'react-native';\n\ninterface CustomTextProps extends TextProps {\n /**\n * Content to be displayed inside the Text component.\n */\n children: React.ReactNode;\n\n /**\n * Size of the text. Defaults to 14.\n */\n size?: number;\n\n /**\n * If true, applies bold styling to the text.\n */\n b?: boolean;\n\n /**\n * If true, applies italic styling to the text.\n */\n i?: boolean;\n\n /**\n * If true, applies underline styling to the text.\n */\n u?: boolean;\n\n /**\n * Paragraph alignment. Can be 'left', 'center', or 'right'. Defaults to 'left'.\n */\n align?: 'left' | 'center' | 'right' | 'justify'; // Paragraph alignment\n\n /**\n * Text type. Defaults to 'text'. Should match the keys in ThemeColors.\n * This restricts type to known color keys like 'primary', 'error', etc.\n */\n type?: keyof ThemeColors;\n \n /**\n * Text font type. Defaults to 'body'. Should match the keys in ThemeFonts.\n * This restricts type to known fonts keys like 'primary', 'secundary', etc.\n */\n typeFont?: keyof ThemeFonts; // <-- New prop to select font type\n\n /**\n * Header level. Accepts 0 (none), 1, 2, or 3. Defaults to 0.\n */\n h?: 0 | 1 | 2 | 3;\n\n /**\n * Additional styles to apply to the Text component.\n */\n style?: TextStyle | TextStyle[];\n}\n\n/**\n * A dynamic Text component that supports HTML-like formatting.\n * Integrates with the Theme system for consistent styling.\n *\n * @param children - The content to be displayed inside the Text component.\n * @param size - Size of the text. Defaults to 'medium'.\n * @param b - If true, applies bold styling.\n * @param i - If true, applies italic styling.\n * @param type - Type of Text component. Defaults to 'text'.\n * @param typeFont - Type of Font component. Defaults to 'body'.\n * @param u - If true, applies underline styling.\n * @param align - Paragraph alignment. Defaults to 'left'.\n * @param h - Header level. Accepts 0 (none), 1, 2, or 3. Defaults to 0.\n * @param style - Additional styles to apply.\n */\nexport const Text: React.FC<CustomTextProps> = ({\n children,\n size = 14,\n b = false,\n i = false,\n u = false,\n align = 'left',\n type = 'text',\n typeFont = 'body',\n h = 0,\n style,\n}) => {\n const { theme } = useContext(ThemeContext);\n const { colors, fonts } = theme;\n\n // Determine font family and size based on 'typeFont'\n const fontSettings = fonts[typeFont] || fonts.body;\n const fontFamily = fontSettings.fontFamily;\n let fontSize = fontSettings.fontSize || size;\n\n // Calculate header size based on 'h' prop\n if (h === 1) fontSize = 32;\n else if (h === 2) fontSize = 24;\n else if (h === 3) fontSize = 18;\n \n // Define font weight based on bold prop\n const fontWeight = b ? '700' : fontSettings.fontWeight || '400';\n\n // Define font style based on italic prop\n const fontStyle = i ? 'italic' : 'normal';\n\n // Define text decoration based on underline prop\n const textDecorationLine = u ? 'underline' : 'none';\n\n // Define text alignment\n const textAlign: TextStyle['textAlign'] = align;\n // Map the 'type' prop to the correct color from the theme\n const textColor = colors[type]?.hex || colors.text.hex;\n \n // Combine all styles\n const textStyles: TextStyle = {\n fontSize,\n fontWeight,\n fontFamily,\n fontStyle,\n textDecorationLine,\n textAlign,\n color: textColor,\n };\n\n \n return (\n <RNText style={[textStyles, style]}>\n {children}\n </RNText>\n );\n};\n\nconst styles = StyleSheet.create({\n // Define any default styles if needed\n});\n\n","// src/forms/ErrorList.tsx\n\nimport React, { useContext } from 'react';\nimport { View, StyleSheet } from 'react-native';\nimport { Text } from '../fonts/Text';\nimport { ThemeContext } from 'aport-themes';\n\ninterface ErrorListProps {\n errors: string[];\n}\n\nconst ErrorList: React.FC<ErrorListProps> = ({ errors }) => {\n const { theme } = useContext(ThemeContext);\n const { colors } = theme;\n\n return (\n <View style={styles.container}>\n {errors.map((error, index) => (\n <View key={index} style={styles.errorItem}>\n <Text style={[styles.bullet, { color: colors.error.hex }]}>•</Text>\n <Text style={[styles.errorText, { color: colors.error.hex }]}>{error}</Text>\n </View>\n ))}\n </View>\n );\n};\n\nconst styles = StyleSheet.create({\n container: {\n marginTop: 4,\n },\n errorItem: {\n flexDirection: 'row',\n alignItems: 'flex-start',\n marginBottom: 2,\n },\n bullet: {\n marginRight: 4,\n fontSize: 12,\n },\n errorText: {\n flex: 1,\n fontSize: 12,\n },\n});\n\nexport default ErrorList;\n","// src/forms/Input.tsx\n\nimport React, { useContext } from \"react\";\nimport {\n TextInput,\n StyleSheet,\n View,\n TextInputProps,\n} from \"react-native\";\nimport { useFormContext } from \"./FormContext\";\nimport { Text } from \"../fonts/Text\";\nimport ErrorList from \"./ErrorList\";\nimport { ThemeContext } from \"aport-themes\";\n\n/**\n * Defines the props for the Input component.\n */\ninterface InputProps extends TextInputProps {\n /**\n * The unique identifier for the input field, used to manage its state within the form.\n */\n name: string;\n\n /**\n * The text label displayed above the input field.\n */\n label: string;\n\n /**\n * Specifies the type of input and applies corresponding formatting.\n * - 'phone': Formats input as a phone number (xxx-xxx-xxxx).\n * - 'id': Converts all input characters to uppercase (useful for IDs, passports).\n * - 'uppercase': Forces all input characters to uppercase (useful for codes).\n * - 'numeric': Restricts input to numeric characters only.\n */\n inputType?: \"phone\" | \"id\" | \"uppercase\" | \"numeric\";\n}\n\n/**\n * Input component that supports labels, error messages, and integrates with the Theme system.\n *\n * @param {InputProps} props - Props passed to the component.\n * @returns {JSX.Element} The rendered Input component.\n *\n * @example\n * <Input\n * name=\"email\"\n * label=\"Email\"\n * keyboardType=\"email-address\"\n * inputType=\"id\"\n * />\n */\nexport const Input: React.FC<InputProps> = ({\n name,\n label,\n inputType,\n style,\n ...rest\n}) => {\n const { formValues, setFormValue, errors: formErrors } = useFormContext();\n const { theme } = useContext(ThemeContext);\n const { colors } = theme;\n\n /**\n * Handles text changes in the input field, applying formatting based on the inputType.\n *\n * @param {string} text - The current text input by the user.\n */\n const handleChange = (text: string) => {\n let formattedText = text;\n\n // Apply different formatting based on inputType\n switch (inputType) {\n case \"phone\":\n // Remove all non-digit characters\n formattedText = text.replace(/\\D/g, \"\");\n // Insert hyphens to format as xxx-xxx-xxxx\n if (formattedText.length > 3 && formattedText.length <= 6) {\n formattedText = `${formattedText.slice(0, 3)}-${formattedText.slice(3)}`;\n } else if (formattedText.length > 6) {\n formattedText = `${formattedText.slice(0, 3)}-${formattedText.slice(\n 3,\n 6\n )}-${formattedText.slice(6, 10)}`;\n }\n break;\n case \"id\":\n case \"uppercase\":\n // Convert all input to uppercase\n formattedText = text.toUpperCase();\n break;\n case \"numeric\":\n // Allow only numeric input\n formattedText = text.replace(/\\D/g, \"\");\n break;\n default:\n break;\n }\n\n setFormValue(name, formattedText);\n };\n\n return (\n <View style={styles.container}>\n {/* Label */}\n <Text style={[styles.label, { color: colors.text.hex }]}>{label}</Text>\n\n {/* Input Field */}\n <TextInput\n style={[\n styles.input,\n {\n backgroundColor: colors.body.hex,\n borderColor: formErrors[name] ? colors.error.hex : \"#CCC\",\n color: colors.text.hex,\n },\n style,\n ]}\n value={formValues[name] || \"\"}\n onChangeText={handleChange}\n placeholder={label}\n placeholderTextColor={colors.placeHolder.hex} // Can use a lighter version if needed\n {...rest}\n />\n\n {/* Display errors only if form has been submitted and there are errors */}\n {formErrors[name] && formErrors[name].length > 0 && (\n <ErrorList errors={formErrors[name]} />\n )}\n </View>\n );\n};\n\nconst styles = StyleSheet.create({\n container: {\n marginBottom: 16,\n },\n label: {\n marginBottom: 4,\n fontSize: 14,\n },\n input: {\n height: 40,\n borderWidth: 1,\n borderRadius: 4,\n paddingHorizontal: 8,\n },\n});\n","// src/forms/TextArea.tsx\n\nimport React from 'react';\nimport { TextInput, StyleSheet, View, TextInputProps } from 'react-native';\nimport { useFormContext } from './FormContext';\nimport { Text } from '../fonts/Text'; // Assuming the Text component is exported from fonts\nimport ErrorList from './ErrorList';\n\ninterface TextAreaProps extends TextInputProps {\n name: string;\n label: string;\n errors?: string[]; // Optional prop to directly pass errors\n}\n\nconst TextArea: React.FC<TextAreaProps> = ({ name, label, errors, style, ...rest }) => {\n const { formValues, setFormValue, errors: formErrors } = useFormContext();\n\n const handleChange = (text: string) => {\n setFormValue(name, text);\n };\n\n return (\n <View style={styles.container}>\n <Text style={styles.label}>{label}</Text>\n <TextInput\n style={[\n styles.textArea,\n style,\n ]}\n value={formValues[name] || ''}\n onChangeText={handleChange}\n placeholder={label}\n placeholderTextColor=\"#888\" // Can be themed if needed\n multiline\n numberOfLines={4}\n textAlignVertical=\"top\"\n {...rest}\n />\n {/* Display errors only if form has been submitted and there are errors */}\n {formErrors[name] && formErrors[name].length > 0 && (\n <ErrorList errors={formErrors[name]} />\n )}\n </View>\n );\n};\n\nconst styles = StyleSheet.create({\n container: {\n marginBottom: 16,\n },\n label: {\n marginBottom: 4,\n color: '#000', // Should be themed\n },\n textArea: {\n height: 100,\n borderColor: '#CCC', // Should be themed\n borderWidth: 1,\n borderRadius: 4,\n paddingHorizontal: 8,\n paddingVertical: 8,\n backgroundColor: '#FFFFFF', // Should use 'body' color from theme\n color: '#000', // Should use 'text' color from theme\n },\n});\n\nexport default TextArea;\n","// src/forms/Label.tsx\n\nimport React, { useContext } from 'react';\nimport { StyleSheet } from 'react-native';\nimport { Text } from '../fonts/Text';\nimport { ThemeContext } from 'aport-themes';\n\ninterface LabelProps {\n text: string;\n style?: any;\n}\n\nconst Label: React.FC<LabelProps> = ({ text, style }) => {\n const { theme } = useContext(ThemeContext);\n const { colors } = theme;\n return <Text style={[styles.label, style, { color: colors.text.hex }]}>{text}</Text>;\n};\n\nconst styles = StyleSheet.create({\n label: {\n marginBottom: 4,\n fontWeight: '500',\n },\n});\n\nexport default Label;\n","import React, { useState, useRef, useCallback, useContext } from 'react';\nimport { View, Text, TouchableOpacity, FlatList, TextInput, StyleSheet, Modal, Pressable, Keyboard } from 'react-native';\nimport { ThemeContext } from \"aport-themes\";\nimport { useFormContext } from '../forms/FormContext';\n\ninterface Option {\n id: number | string;\n label: string;\n value: any;\n}\n\ninterface InputListProps {\n name: string;\n /**\n * Placeholder text displayed in the input box when no selection is made.\n * @type {string}\n * @default \"Choose value/s\"\n */\n placeholder?: string;\n \n /**\n * Custom styles for the component.\n * @type {object}\n */\n style?: object;\n\n /**\n * Array of options to display in the dropdown. Each option should have an id, label, and value.\n * @type {Option[]}\n */\n options: Option[];\n\n /**\n * Enables multi-selection mode when true. If enabled, users can select multiple values.\n * @type {boolean}\n * @default false\n */\n multi?: boolean;\n\n /**\n * Disables the dropdown input when true.\n * @type {boolean}\n * @default false\n */\n disabled?: boolean;\n\n /**\n * Key used to sort options in the dropdown (e.g., by 'id', 'label').\n * @type {keyof Option}\n */\n sortBy?: keyof Option;\n\n /**\n * If true, displays a separator line between each option.\n * @type {boolean}\n * @default false\n */\n separator?: boolean;\n\n /**\n * Closes the dropdown if the user scrolls the list.\n * @type {boolean}\n * @default false\n */\n closeOnScroll?: boolean;\n\n /**\n * Closes the dropdown after selecting an item if true (only relevant when multi is false).\n * @type {boolean}\n * @default true\n */\n closeOnSelect?: boolean;\n\n /**\n * Limits the maximum number of items that can be selected when multi is true.\n * Once the limit is reached, the dropdown closes, and no further selections can be made until\n * an item is deselected.\n * @type {number}\n */\n maxSelection?: number;\n\n /**\n * Callback function called when the selection changes. Useful for conditional field enabling.\n * @param {Option | Option[] | null} selection - The updated selection.\n */\n onChange?: (selection: Option | Option[] | null) => void;\n}\n\n/**\n * InputList component - A custom dropdown list component for React Native with multi-selection support,\n * customizable styling, sorting, and configurable close behavior on selection or scrolling.\n *\n * @param {string} placeholder - Placeholder text for the input.\n * @param {object} style - Custom styles for the component.\n * @param {Option[]} options - Array of options to display in the dropdown.\n * @param {boolean} multi - Enables multi-selection mode.\n * @param {boolean} disabled - Disables the dropdown input.\n * @param {keyof Option} sortBy - Key to sort options by (e.g., 'id').\n * @param {boolean} separator - If true, adds a separator line between options.\n * @param {boolean} closeOnScroll - Closes the dropdown if the user scrolls the list.\n * @param {boolean} closeOnSelect - Closes the dropdown on selection in single-select mode.\n * @param {number} maxSelection - Maximum number of items selectable in multi-select mode.\n */\nexport const InputList: React.FC<InputListProps> = ({\n name,\n placeholder = \"Choose value/s\",\n style,\n options,\n multi = false,\n disabled = false,\n sortBy,\n separator = false,\n closeOnScroll = false,\n closeOnSelect = true,\n maxSelection,\n onChange,\n}) => {\n const { formValues, setFormValue } = useFormContext();\n const [isDropdownVisible, setIsDropdownVisible] = useState(false);\n \n const selectedOptions = formValues[name] || (multi ? [] : null);\n const sortedOptions = sortBy ? [...options].sort((a, b) => (a[sortBy] > b[sortBy] ? 1 : -1)) : options;\n const { theme } = useContext(ThemeContext);\n const { colors } = theme;\n\n /**\n * Handles selection of an option. Adds or removes the option from selectedOptions based on\n * multi-selection and maxSelection criteria.\n * @param {Option} option - The selected option object.\n */\n const handleSelectOption = (option: Option) => {\n let updatedSelections;\n\n if (multi) {\n const alreadySelected = selectedOptions.some((opt: Option) => opt.id === option.id);\n updatedSelections = alreadySelected\n ? selectedOptions.filter((opt: Option) => opt.id !== option.id)\n : [...selectedOptions, option];\n\n if (!alreadySelected && maxSelection && updatedSelections.length >= maxSelection) {\n setIsDropdownVisible(false);\n }\n\n setFormValue(name, updatedSelections);\n } else {\n updatedSelections = option;\n setFormValue(name, option);\n if (closeOnSelect) setIsDropdownVisible(false);\n }\n\n // Trigger onChange callback with the updated selection\n if (onChange) {\n onChange(updatedSelections);\n }\n };\n\n\n\n /**\n * Renders selected options as a comma-separated string or the placeholder if none selected.\n * @returns {string} - The display text for selected options or placeholder.\n */\n const renderSelectedText = () => {\n if (multi) return selectedOptions.map((opt: Option) => opt.label).join(', ') || placeholder;\n return selectedOptions?.label || placeholder;\n };\n\n /**\n * Toggles dropdown visibility. Disables toggle if the component is disabled.\n */\n const toggleDropdown = () => {\n if (!disabled) {\n setIsDropdownVisible(!isDropdownVisible);\n if (!isDropdownVisible) Keyboard.dismiss();\n }\n };\n\n /**\n * Closes the dropdown when pressing outside.\n */\n const handleCloseDropdown = useCallback(() => {\n if (isDropdownVisible) setIsDropdownVisible(false);\n }, [isDropdownVisible]);\n\n // Conditionally render item as disabled if max selection reached and item is unselected\n const isItemDisabled = (option: Option) => {\n return (\n multi &&\n maxSelection &&\n selectedOptions.length >= maxSelection &&\n !selectedOptions.some((opt: Option) => opt.id === option.id)\n );\n };\n\n\n return (\n <View style={[styles.container, style]}>\n <TouchableOpacity style={styles.inputContainer} onPress={toggleDropdown} disabled={disabled}>\n <Text style={{color: colors.text.hex}}>{renderSelectedText()}</Text>\n </TouchableOpacity>\n \n <Modal visible={isDropdownVisible} transparent animationType=\"fade\">\n <Pressable style={styles.overlay} onPress={handleCloseDropdown} />\n <View style={[styles.dropdownContainer,{backgroundColor: colors.body.hex,\n}]}>\n <FlatList\n data={sortedOptions}\n keyExtractor={(item) => item.id.toString()}\n renderItem={({ item }) => {\nconst isSelected = multi\n ? (selectedOptions as Option[]).some((opt: Option) => opt.id === item.id)\n : selectedOptions?.id === item.id;\n const isDisabled = isItemDisabled(item);\n\n return (\n <TouchableOpacity\n onPress={() => handleSelectOption(item)}\n style={[\n styles.optionItem,\n isSelected ? {backgroundColor: colors.primary.hex} : {},\n isDisabled ? {backgroundColor: colors.placeHolder.hex} : {},\n ]}\n disabled={!!isDisabled} // Ensure disabled prop is a boolean\n >\n <Text style={[isSelected ? {color: colors.background.hex}: {color: colors.text.hex}, isDisabled ? styles.disabledText : {}]}>\n {item.label}\n </Text>\n </TouchableOpacity>\n );\n }}\n ItemSeparatorComponent={() => (separator ? <View style={styles.separator} /> : null)}\n scrollEnabled={!closeOnScroll}\n />\n </View>\n </Modal>\n </View>\n );\n};\n\nconst styles = StyleSheet.create({\n container: { padding: 8 },\n inputContainer: { padding: 12, borderWidth: 1, borderColor: '#ccc', borderRadius: 5 },\n dropdownContainer: {\n position: 'absolute',\n top: '30%', // Center the dropdown vertically\n alignSelf: 'center',\n width: '90%',\n backgroundColor: '#fff',\n borderRadius: 8,\n elevation: 5,\n paddingVertical: 10,\n },\n optionItem: { padding: 12 },\n disabledText: { color: '#999' },\n separator: { height: 1, backgroundColor: '#ddd', marginHorizontal: 8 },\n overlay: { flex: 1, backgroundColor: 'rgba(0,0,0,0.3)' },\n});\n","// src/components/Button.tsx\n\nimport React, { useMemo, useContext } from 'react';\nimport { Text, ViewStyle, StyleSheet, TouchableOpacity, ActivityIndicator } from 'react-native';\nimport { useFormContext } from '../forms';\nimport { ThemeColors, ThemeContext } from 'aport-themes';\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 * If true, a loading spinner is shown and the button is disabled.\n */\n loading?: boolean;\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 loading = false,\n onPress,\n}) => {\n const { theme } = useContext(ThemeContext);\n const { colors } = theme;\n const { handleSubmit } = useFormContext();\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 || loading) && styles.disabled,\n ]);\n }, [type, disabled, loading, rounded, borderRadius, isFullWidth, colors]);\n\n const textColor = useMemo(() => {\n return type === \"cancel\" ? { color: colors.text.hex } : { color: colors.textButton.hex };\n }, [type, colors]);\n\n const handlePress = () => {\n if (type === 'submit') {\n handleSubmit(); // Call the form's submit handler\n } else if (onPress) {\n onPress(); // Call a custom handler if needed\n }\n };\n\n\n return (\n <TouchableOpacity\n style={computedStyles as ViewStyle}\n disabled={disabled || loading}\n onPress={handlePress}\n activeOpacity={0.7}\n >\n {loading ? ( // Show loading spinner if loading\n <ActivityIndicator size=\"small\" color={colors.textButton.hex} />\n ) : (\n <Text style={textColor}>\n {Array.isArray(children) ? children.join('').toUpperCase() : children?.toUpperCase()}\n </Text>\n )}\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 { ThemeContext } from 'aport-themes';\nimport React, { useContext } from 'react';\nimport {\n View,\n StyleSheet,\n StyleProp,\n ViewStyle,\n Platform,\n TouchableOpacity,\n GestureResponderEvent,\n} from 'react-native';\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":["FormContext","createContext","undefined","useFormContext","context","useContext","Error","Form","_a","children","onSubmit","_b","useState","formValues","setFormValues","_c","errors","setErrors","setFormValue","name","value","prev","handleSubmit","__awaiter","validationErrors","sent","Object","keys","length","React","createElement","Provider","Text","size","_d","b","_e","i","_f","u","_g","align","_h","type","_j","typeFont","_k","h","style","theme","ThemeContext","colors","fonts","fontSettings","body","fontFamily","fontSize","fontWeight","fontStyle","textDecorationLine","textAlign","textColor","hex","text","textStyles","color","RNText","StyleSheet","create","ErrorList","View","styles","container","map","error","index","key","errorItem","bullet","errorText","marginTop","flexDirection","alignItems","marginBottom","marginRight","flex","Input","label","inputType","rest","__rest","formErrors","handleChange","formattedText","replace","concat","slice","toUpperCase","TextInput","__assign","input","backgroundColor","borderColor","onChangeText","placeholder","placeholderTextColor","placeHolder","height","borderWidth","borderRadius","paddingHorizontal","TextArea","textArea","multiline","numberOfLines","textAlignVertical","paddingVertical","Label","InputList","options","multi","disabled","sortBy","separator","closeOnScroll","closeOnSelect","maxSelection","onChange","isDropdownVisible","setIsDropdownVisible","selectedOptions","sortedOptions","__spreadArray","sort","a","handleSelectOption","option","updatedSelections","alreadySelected","some","opt","id","filter","renderSelectedText","join","toggleDropdown","Keyboard","dismiss","handleCloseDropdown","useCallback","isItemDisabled","TouchableOpacity","inputContainer","onPress","Modal","visible","transparent","animationType","Pressable","overlay","dropdownContainer","FlatList","data","keyExtractor","item","toString","renderItem","isSelected","isDisabled","optionItem","primary","background","disabledText","ItemSeparatorComponent","scrollEnabled","padding","position","top","alignSelf","width","elevation","marginHorizontal","typeStyles","themeColors","rgb","r","g","secondary","opacity","Button","rounded","isFullWidth","loading","computedStyles","useMemo","flatten","button","textButton","handlePress","activeOpacity","ActivityIndicator","Array","isArray","justifyContent","Card","pressable","shadowProps","defaultShadow","Platform","select","ios","shadowColor","shadowOffset","shadowOpacity","shadowRadius","android","cardStyles"],"mappings":"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","x_google_ignoreList":[0]}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "aport-tools",
3
- "version": "4.2.4",
3
+ "version": "4.2.6",
4
4
  "description": "Aport mobile Tools with modern and minimalistic design",
5
5
  "main": "dist/index.js",
6
6
  "module": "dist/index.esm.js",