jattac.libs.web.zest-textbox 0.2.9 → 0.2.11
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/index.esm.js +17 -32
- package/dist/index.esm.js.map +1 -1
- package/dist/index.js +17 -32
- package/dist/index.js.map +1 -1
- package/package.json +1 -1
package/dist/index.esm.js
CHANGED
|
@@ -312,10 +312,6 @@ var defaultResolvedZestProps = {
|
|
|
312
312
|
};
|
|
313
313
|
var useZestTextboxConfig = function (componentZestProps, inputType) {
|
|
314
314
|
var contextDefaultZestProps = useZestTextboxConfig$1().defaultZestProps; // Pass generic T
|
|
315
|
-
// Debugging: Log context and component props
|
|
316
|
-
console.log("useZestTextboxConfig: contextDefaultZestProps", contextDefaultZestProps);
|
|
317
|
-
console.log("useZestTextboxConfig: componentZestProps", componentZestProps);
|
|
318
|
-
console.log("useZestTextboxConfig: inputType", inputType);
|
|
319
315
|
var _a = useState(defaultResolvedZestProps), resolvedZestProps = _a[0], setResolvedZestProps = _a[1]; // Cast to generic type
|
|
320
316
|
// Memoize the merged props to avoid unnecessary re-renders
|
|
321
317
|
var mergedZestProps = useMemo(function () {
|
|
@@ -334,8 +330,6 @@ var useZestTextboxConfig = function (componentZestProps, inputType) {
|
|
|
334
330
|
}
|
|
335
331
|
// Apply component-level props (highest precedence)
|
|
336
332
|
currentMergedProps = __assign(__assign({}, currentMergedProps), componentZestProps);
|
|
337
|
-
// Debugging: Log merged props
|
|
338
|
-
console.log("useZestTextboxConfig: mergedZestProps", currentMergedProps);
|
|
339
333
|
return currentMergedProps;
|
|
340
334
|
}, [contextDefaultZestProps, componentZestProps, inputType]); // Added inputType to dependencies
|
|
341
335
|
useEffect(function () {
|
|
@@ -385,9 +379,6 @@ var useZestTextboxConfig = function (componentZestProps, inputType) {
|
|
|
385
379
|
return [4 /*yield*/, resolveZestConfigValue(mergedZestProps.validator, defaultResolvedZestProps.validator)];
|
|
386
380
|
case 9:
|
|
387
381
|
_j.validator = _k.sent();
|
|
388
|
-
// Debugging: Log newResolvedProps before setting state
|
|
389
|
-
console.log("useZestTextboxConfig: newResolvedProps", newResolvedProps);
|
|
390
|
-
console.log("useZestTextboxConfig: current resolvedZestProps", resolvedZestProps);
|
|
391
382
|
setResolvedZestProps(newResolvedProps);
|
|
392
383
|
return [2 /*return*/];
|
|
393
384
|
}
|
|
@@ -404,14 +395,25 @@ var useParsedAndValidatedInput = function (_a) {
|
|
|
404
395
|
var _c = useState(true), isValid = _c[0], setIsValid = _c[1];
|
|
405
396
|
var _d = useState(undefined), validationMessage = _d[0], setValidationMessage = _d[1];
|
|
406
397
|
useEffect(function () {
|
|
398
|
+
// --- OPTION 2 IMPLEMENTATION ---
|
|
399
|
+
// If no custom parser or validator is provided, and it's not a number type
|
|
400
|
+
// where default parsers/validators would be injected,
|
|
401
|
+
// then simply pass the raw value and bypass complex logic.
|
|
402
|
+
// This assumes that if parser/validator are undefined, the consumer expects raw string.
|
|
403
|
+
var isNumericType = inputType === "number" || inputType === "tel";
|
|
404
|
+
if (!parser && !validator && !isNumericType) {
|
|
405
|
+
setParsedValue(rawValue); // Cast raw string to T
|
|
406
|
+
setIsValid(true);
|
|
407
|
+
setValidationMessage(undefined);
|
|
408
|
+
if (onParsedAndValidatedChange) {
|
|
409
|
+
onParsedAndValidatedChange(rawValue); // Pass raw string as T
|
|
410
|
+
}
|
|
411
|
+
return; // Bypass the rest of the useEffect logic
|
|
412
|
+
}
|
|
413
|
+
// --- END OPTION 2 IMPLEMENTATION ---
|
|
407
414
|
var currentParsedValue = undefined;
|
|
408
415
|
var currentIsValid = true;
|
|
409
416
|
var currentValidationMessage = undefined;
|
|
410
|
-
// Debugging: Log validator's state
|
|
411
|
-
console.log("useParsedAndValidatedInput: rawValue", rawValue);
|
|
412
|
-
console.log("useParsedAndValidatedInput: inputType", inputType);
|
|
413
|
-
console.log("useParsedAndValidatedInput: validator", validator);
|
|
414
|
-
console.log("useParsedAndValidatedInput: typeof validator", typeof validator);
|
|
415
417
|
// 1. Parse the raw value
|
|
416
418
|
if (parser) {
|
|
417
419
|
currentParsedValue = parser(rawValue, inputType);
|
|
@@ -420,7 +422,6 @@ var useParsedAndValidatedInput = function (_a) {
|
|
|
420
422
|
currentParsedValue = rawValue;
|
|
421
423
|
}
|
|
422
424
|
// 2. Validate the parsed value
|
|
423
|
-
// Robust check: ensure validator is a function before calling
|
|
424
425
|
if (typeof validator === "function") {
|
|
425
426
|
var validationResult = validator(currentParsedValue, inputType);
|
|
426
427
|
if (typeof validationResult === "string") {
|
|
@@ -434,10 +435,6 @@ var useParsedAndValidatedInput = function (_a) {
|
|
|
434
435
|
}
|
|
435
436
|
}
|
|
436
437
|
}
|
|
437
|
-
else if (validator !== undefined && validator !== null) {
|
|
438
|
-
// This case should ideally not happen if types are correct, but good for debugging
|
|
439
|
-
console.error("useParsedAndValidatedInput: 'validator' is not a function but not undefined/null:", validator);
|
|
440
|
-
}
|
|
441
438
|
setParsedValue(currentParsedValue);
|
|
442
439
|
setIsValid(currentIsValid);
|
|
443
440
|
setValidationMessage(currentValidationMessage);
|
|
@@ -452,12 +449,8 @@ var useParsedAndValidatedInput = function (_a) {
|
|
|
452
449
|
var ZestTextbox = function (props) {
|
|
453
450
|
var _a = props.className, className = _a === void 0 ? "" : _a, maxLength = props.maxLength, onChange = props.onChange, type = props.type, zest = props.zest, // Destructure the new zest prop
|
|
454
451
|
rest = __rest(props, ["className", "maxLength", "onChange", "type", "zest"]);
|
|
455
|
-
// Debugging: Log ZestTextbox props
|
|
456
|
-
console.log("ZestTextbox Props:", { className: className, maxLength: maxLength, type: type, zest: zest, rest: rest });
|
|
457
452
|
var resolvedZestProps = useZestTextboxConfig(zest, type);
|
|
458
453
|
var zSize = resolvedZestProps.zSize, fullWidth = resolvedZestProps.stretch, showProgressBar = resolvedZestProps.showProgressBar, animatedCounter = resolvedZestProps.animatedCounter, theme = resolvedZestProps.theme, helperTextConfig = resolvedZestProps.helperTextConfig, onTextChanged = resolvedZestProps.onTextChanged, isMultiline = resolvedZestProps.isMultiline, parser = resolvedZestProps.parser, validator = resolvedZestProps.validator;
|
|
459
|
-
// Debugging: Log resolvedZestProps
|
|
460
|
-
console.log("ZestTextbox Resolved Zest Props:", resolvedZestProps);
|
|
461
454
|
var _b = useState(""), value = _b[0], setValue = _b[1];
|
|
462
455
|
var isDark = useThemeDetector(theme);
|
|
463
456
|
var isPassword = type === "password";
|
|
@@ -469,9 +462,7 @@ var ZestTextbox = function (props) {
|
|
|
469
462
|
parser: parser,
|
|
470
463
|
validator: validator,
|
|
471
464
|
onParsedAndValidatedChange: onTextChanged,
|
|
472
|
-
}),
|
|
473
|
-
// Debugging: Log parsed and validated input
|
|
474
|
-
console.log("ZestTextbox Parsed/Validated:", { parsedValue: parsedValue, isValid: isValid, validationMessage: validationMessage });
|
|
465
|
+
}), isValid = _e.isValid, validationMessage = _e.validationMessage;
|
|
475
466
|
// Prioritize validation message over regular helper text
|
|
476
467
|
var finalHelperTextNode = validationMessage ? (jsx("span", { style: { color: "red" }, children: validationMessage })) : useHelperText(value, helperTextConfig);
|
|
477
468
|
var classList = [
|
|
@@ -486,20 +477,14 @@ var ZestTextbox = function (props) {
|
|
|
486
477
|
.join(" ");
|
|
487
478
|
var handleInputChange = function (e) {
|
|
488
479
|
var newValue = e.target.value;
|
|
489
|
-
// Debugging: Log new value from input change
|
|
490
|
-
console.log("ZestTextbox handleInputChange: raw newValue", newValue);
|
|
491
480
|
var isNumeric = type === "number" || type === "tel";
|
|
492
481
|
if (isNumeric) {
|
|
493
482
|
newValue = filterNumericInput(newValue);
|
|
494
|
-
// Debugging: Log newValue after numeric filter
|
|
495
|
-
console.log("ZestTextbox handleInputChange: newValue after numeric filter", newValue);
|
|
496
483
|
}
|
|
497
484
|
if (maxLength !== undefined && newValue.length > maxLength) {
|
|
498
|
-
console.log("ZestTextbox handleInputChange: maxLength exceeded, not updating value");
|
|
499
485
|
return;
|
|
500
486
|
}
|
|
501
487
|
setValue(newValue);
|
|
502
|
-
console.log("ZestTextbox handleInputChange: setValue to", newValue);
|
|
503
488
|
if (onChange)
|
|
504
489
|
onChange(e);
|
|
505
490
|
// onTextChanged is now handled by useParsedAndValidatedInput
|
package/dist/index.esm.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.esm.js","sources":["../node_modules/tslib/tslib.es6.js","../node_modules/style-inject/dist/style-inject.es.js","../UI/utils/numericInputFilter.ts","../UI/hooks/useThemeDetector.ts","../UI/hooks/usePasswordVisibility.ts","../UI/hooks/useCharacterCounter.ts","../UI/hooks/useHelperText.ts","../UI/IconEyeOpen.tsx","../UI/IconEyeSlashed.tsx","../UI/components/PasswordToggleButton.tsx","../UI/components/CharacterCounter.tsx","../UI/components/ProgressBar.tsx","../UI/components/HelperTextDisplay.tsx","../UI/contexts/ZestTextboxConfigContext.tsx","../UI/utils/defaultParsersAndValidators.ts","../UI/hooks/useZestTextboxConfig.ts","../UI/hooks/useParsedAndValidatedInput.ts","../UI/ZestTextbox.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\nvar ownKeys = function(o) {\r\n ownKeys = Object.getOwnPropertyNames || function (o) {\r\n var ar = [];\r\n for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;\r\n return ar;\r\n };\r\n return ownKeys(o);\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 = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== \"default\") __createBinding(result, mod, k[i]);\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 function __rewriteRelativeImportExtension(path, preserveJsx) {\r\n if (typeof path === \"string\" && /^\\.\\.?\\//.test(path)) {\r\n return path.replace(/\\.(tsx)$|((?:\\.d)?)((?:\\.[^./]+?)?)\\.([cm]?)ts$/i, function (m, tsx, d, ext, cm) {\r\n return tsx ? preserveJsx ? \".jsx\" : \".js\" : d && (!ext || !cm) ? m : (d + ext + \".\" + cm.toLowerCase() + \"js\");\r\n });\r\n }\r\n return path;\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 __esDecorate: __esDecorate,\r\n __runInitializers: __runInitializers,\r\n __propKey: __propKey,\r\n __setFunctionName: __setFunctionName,\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 __rewriteRelativeImportExtension: __rewriteRelativeImportExtension,\r\n};\r\n","function styleInject(css, ref) {\n if ( ref === void 0 ) ref = {};\n var insertAt = ref.insertAt;\n\n if (!css || typeof document === 'undefined') { return; }\n\n var head = document.head || document.getElementsByTagName('head')[0];\n var style = document.createElement('style');\n style.type = 'text/css';\n\n if (insertAt === 'top') {\n if (head.firstChild) {\n head.insertBefore(style, head.firstChild);\n } else {\n head.appendChild(style);\n }\n } else {\n head.appendChild(style);\n }\n\n if (style.styleSheet) {\n style.styleSheet.cssText = css;\n } else {\n style.appendChild(document.createTextNode(css));\n }\n}\n\nexport default styleInject;\n","export const filterNumericInput = (value: string): string => {\n // Allow digits, a single leading hyphen, and a single decimal point\n const parts = value.split('.');\n let integerPart = parts[0].replace(/[^0-9-]/g, '');\n let decimalPart = parts.length > 1 ? '.' + parts[1].replace(/[^0-9]/g, '') : '';\n\n // Ensure only one leading hyphen\n if (integerPart.startsWith('-')) {\n integerPart = '-' + integerPart.substring(1).replace(/-/g, '');\n } else {\n integerPart = integerPart.replace(/-/g, '');\n }\n\n let newValue = integerPart + decimalPart;\n\n // Prevent multiple decimal points\n if (newValue.indexOf('.') !== -1 && newValue.indexOf('.') !== newValue.lastIndexOf('.')) {\n newValue = newValue.substring(0, newValue.lastIndexOf('.'));\n }\n\n return newValue;\n};\n","import { useState, useEffect } from \"react\";\nimport { ZestProps } from \"../types\";\n\nexport const useThemeDetector = (theme: ZestProps['theme'] = \"system\") => {\n const [isDark, setIsDark] = useState(false);\n\n useEffect(() => {\n if (theme === \"dark\") {\n setIsDark(true);\n return;\n }\n if (theme === \"light\") {\n setIsDark(false);\n return;\n }\n\n // System theme\n const mediaQuery = window.matchMedia(\"(prefers-color-scheme: dark)\");\n const handleChange = () => setIsDark(mediaQuery.matches);\n\n handleChange(); // Set initial theme\n mediaQuery.addEventListener(\"change\", handleChange);\n\n return () => mediaQuery.removeEventListener(\"change\", handleChange);\n }, [theme]);\n\n return isDark;\n};\n","import { useState } from \"react\";\n\nexport const usePasswordVisibility = (isPasswordType: boolean) => {\n const [isPasswordVisible, setIsPasswordVisible] = useState(false);\n\n const togglePasswordVisibility = () => {\n if (isPasswordType) {\n setIsPasswordVisible((prev) => !prev);\n }\n };\n\n return { isPasswordVisible, togglePasswordVisibility };\n};\n","import { useMemo } from \"react\";\nimport styles from \"../../Styles/ZestTextbox.module.css\";\n\nexport const useCharacterCounter = (\n value: string,\n maxLength: number | undefined,\n animatedCounter: boolean\n) => {\n const currentLength = value.length;\n const showCounter = typeof maxLength === \"number\";\n const charPercentage = showCounter ? (currentLength / maxLength) * 100 : 0;\n\n const counterColorClass = useMemo(() => {\n if (!animatedCounter || !showCounter) return \"\";\n\n if (charPercentage > 90) {\n return styles.counterOrange;\n } else if (charPercentage > 70) {\n return styles.counterYellow;\n }\n return \"\";\n }, [animatedCounter, showCounter, charPercentage]);\n\n return { currentLength, charPercentage, counterColorClass, showCounter };\n};\n","import { useState, useEffect, ReactNode } from \"react\";\nimport { HelperTextConfig } from \"../types\";\n\nexport const useHelperText = (\n value: string,\n helperTextConfig: HelperTextConfig | undefined\n) => {\n const [helperTextNode, setHelperTextNode] = useState<ReactNode>(null);\n\n useEffect(() => {\n if (!helperTextConfig) {\n setHelperTextNode(null);\n return;\n }\n\n const formatted = helperTextConfig.formatter\n ? helperTextConfig.formatter(value)\n : value;\n\n const finalNode = helperTextConfig.templater\n ? helperTextConfig.templater(formatted)\n : formatted;\n\n setHelperTextNode(finalNode);\n }, [value, helperTextConfig]);\n\n return helperTextNode;\n};\n","import React from 'react';\n\nexport const IconEyeOpen: React.FC<React.SVGProps<SVGSVGElement>> = (props) => (\n <svg xmlns=\"http://www.w3.org/2000/svg\" width=\"16\" height=\"16\" fill=\"currentColor\" viewBox=\"0 0 16 16\" {...props}>\n <path d=\"M16 8s-3-5.5-8-5.5S0 8 0 8s3 5.5 8 5.5S16 8 16 8M1.173 8a13 13 0 0 1 1.66-2.043C4.12 4.668 5.88 3.5 8 3.5s3.879 1.168 5.168 2.457A13 13 0 0 1 14.828 8q-.086.13-.195.288c-.335.48-.83 1.12-1.465 1.755C11.879 11.332 10.119 12.5 8 12.5s-3.879-1.168-5.168-2.457A13 13 0 0 1 1.172 8z\"/>\n <path d=\"M8 5.5a2.5 2.5 0 1 0 0 5 2.5 2.5 0 0 0 0-5M4.5 8a3.5 3.5 0 1 1 7 0 3.5 3.5 0 0 1-7 0\"/>\n </svg>\n);\n","import React from 'react';\n\nexport const IconEyeSlashed: React.FC<React.SVGProps<SVGSVGElement>> = (props) => (\n <svg xmlns=\"http://www.w3.org/2000/svg\" width=\"16\" height=\"16\" fill=\"currentColor\" viewBox=\"0 0 16 16\" {...props}>\n <path d=\"M13.359 11.238C15.06 9.72 16 8 16 8s-3-5.5-8-5.5a7.028 7.028 0 0 0-2.79.588l.77.771A5.944 5.944 0 0 1 8 3.5c2.12 0 3.879 1.168 5.168 2.457A13.134 13.134 0 0 1 14.828 8c-.058.087-.122.183-.195.288-.335.48-.83 1.12-1.465 1.755-.165.165-.337.328-.517.486l.708.709z\"/>\n <path d=\"M11.297 9.176a3.5 3.5 0 0 0-4.474-4.474l.823.823a2.5 2.5 0 0 1 2.829 2.829l.822.822zm-2.943 1.288.822.822.073.073.026.026a3.5 3.5 0 0 1-4.474-4.474l.823.823a2.5 2.5 0 0 0 2.829 2.829l.822.822zm-2.943-1.288.822.822.073.073.026.026a3.5 3.5 0 0 1-4.474-4.474l.823.823a2.5 2.5 0 0 0 2.829 2.829l.822.822z\"/>\n <path d=\"M3.35 5.47c-.18.16-.353.322-.518.487A13.134 13.134 0 0 0 1.172 8l.195.288c.335.48.83 1.12 1.465 1.755C4.121 11.332 5.88 12.5 8 12.5c.716 0 1.39-.133 2.02-.36l.77.772A7.029 7.029 0 0 1 8 13.5C3 13.5 0 8 0 8s.939-1.721 2.641-3.238l.708.709zm10.296 6.854-12-12 .708-.708 12 12-.708.708z\"/>\n </svg>\n);\n","import React from \"react\";\nimport styles from \"../../Styles/ZestTextbox.module.css\";\nimport { IconEyeOpen } from \"../IconEyeOpen\";\nimport { IconEyeSlashed } from \"../IconEyeSlashed\";\n\ninterface PasswordToggleButtonProps {\n isPassword: boolean;\n isPasswordVisible: boolean;\n onToggle: () => void;\n}\n\nexport const PasswordToggleButton: React.FC<PasswordToggleButtonProps> = ({\n isPassword,\n isPasswordVisible,\n onToggle,\n}) => {\n if (!isPassword) return null;\n\n return (\n <div className={styles.passwordToggle} onClick={onToggle}>\n <div className={styles.tooltip}>\n {isPasswordVisible ? \"Hide password\" : \"Show password\"}\n </div>\n {isPasswordVisible ? (\n <IconEyeOpen className={styles.eyeIcon} />\n ) : (\n <IconEyeSlashed className={styles.eyeIcon} />\n )}\n </div>\n );\n};\n","import React from \"react\";\nimport styles from \"../../Styles/ZestTextbox.module.css\";\n\ninterface CharacterCounterProps {\n showCounter: boolean;\n currentLength: number;\n maxLength: number | undefined;\n counterColorClass: string;\n}\n\nexport const CharacterCounter: React.FC<CharacterCounterProps> = ({\n showCounter,\n currentLength,\n maxLength,\n counterColorClass,\n}) => {\n if (!showCounter) return null;\n\n return (\n <div className={`${styles.counter} ${counterColorClass}`}>\n {currentLength} / {maxLength}\n </div>\n );\n};\n","import React from \"react\";\nimport styles from \"../../Styles/ZestTextbox.module.css\";\n\ninterface ProgressBarProps {\n showProgressBar: boolean;\n showCounter: boolean;\n charPercentage: number;\n counterColorClass: string;\n}\n\nexport const ProgressBar: React.FC<ProgressBarProps> = ({\n showProgressBar,\n showCounter,\n charPercentage,\n counterColorClass,\n}) => {\n if (!showProgressBar || !showCounter) return null;\n\n return (\n <div className={styles.progressBarContainer}>\n <div\n className={`${styles.progressBar} ${counterColorClass}`}\n style={{ width: `${charPercentage}%` }}\n />\n </div>\n );\n};\n","import React, { ReactNode } from \"react\";\nimport styles from \"../../Styles/ZestTextbox.module.css\";\n\ninterface HelperTextDisplayProps {\n helperTextNode: ReactNode;\n className?: string;\n}\n\nexport const HelperTextDisplay: React.FC<HelperTextDisplayProps> = ({\n helperTextNode,\n className,\n}) => {\n if (!helperTextNode) return null;\n\n return (\n <div\n key={String(helperTextNode)} // Force re-mount to trigger animation\n className={`${styles.helperText} ${className || \"\"}`}\n >\n {helperTextNode}\n </div>\n );\n};\n","import React, { createContext, useContext, ReactNode } from \"react\";\nimport { ZestProps } from \"../types\";\n\n// Define the shape of the context value\ninterface ZestTextboxConfigContextType<T = string> { // Made generic\n defaultZestProps: ZestProps<T>; // Uses generic T\n}\n\n// Create the context with a default empty object\nconst ZestTextboxConfigContext = createContext<\n ZestTextboxConfigContextType<any> | undefined // Use any for context default to avoid circular dependency issues\n>(undefined);\n\n// Create a provider component\ninterface ZestTextboxConfigProviderProps<T = string> { // Made generic\n children: ReactNode;\n value?: ZestProps<T>; // Uses generic T\n}\n\nexport const ZestTextboxConfigProvider: React.FC<\n ZestTextboxConfigProviderProps<any> // Use any for provider to allow flexibility\n> = ({ children, value = {} }) => {\n return (\n <ZestTextboxConfigContext.Provider value={{ defaultZestProps: value as ZestProps<any> }}>\n {children}\n </ZestTextboxConfigContext.Provider>\n );\n};\n\n// Custom hook to use the ZestTextboxConfigContext\nexport const useZestTextboxConfig = <T = string>() => { // Made generic\n const context = useContext(ZestTextboxConfigContext);\n if (context === undefined) {\n // This error will be caught by the useZestTextboxConfig hook in ZestTextbox.tsx\n // if the component is used outside of a provider.\n return { defaultZestProps: {} as ZestProps<T> }; // Cast to generic T\n }\n return context as ZestTextboxConfigContextType<T>; // Cast to generic T\n};","import { InputParser, InputValidator, HtmlInputType } from \"../types\";\n\nexport const defaultNumberParser: InputParser<number> = (value: string, inputType?: HtmlInputType) => {\n if (inputType !== \"number\" && inputType !== \"tel\") {\n // If not a number type, don't parse as number\n return undefined;\n }\n const parsed = parseFloat(value);\n return isNaN(parsed) ? undefined : parsed;\n};\n\nexport const defaultNumberValidator: InputValidator<number> = (value: number | undefined, inputType?: HtmlInputType) => {\n if (inputType !== \"number\" && inputType !== \"tel\") {\n // If not a number type, always consider valid for this validator\n return true;\n }\n if (value === undefined) {\n return \"Invalid number format.\";\n }\n return true;\n};\n\n// You can add more default parsers/validators here for other types like 'email', 'date', etc.","import { useEffect, useState, useMemo } from \"react\";\nimport { ZestProps, ZestConfigValue, ZestTextboxSize, HelperTextConfig, ResolvedZestProps, InputParser, InputValidator, HtmlInputType } from \"../types\";\nimport { useZestTextboxConfig as useZestTextboxContext } from \"../contexts/ZestTextboxConfigContext\";\nimport { defaultNumberParser, defaultNumberValidator } from \"../utils/defaultParsersAndValidators\"; // Import defaults\n\n// Helper function to resolve a ZestConfigValue\nasync function resolveZestConfigValue<V>(\n configValue: ZestConfigValue<V> | undefined,\n defaultValue: V\n): Promise<V> {\n if (configValue === undefined) {\n return defaultValue;\n }\n if (typeof configValue === \"function\") {\n const result = (configValue as () => V | Promise<V>)();\n return result instanceof Promise ? await result : result;\n }\n return configValue;\n}\n\nconst defaultResolvedZestProps = { // Removed explicit type here, will be inferred\n zSize: \"md\",\n stretch: false,\n showProgressBar: false,\n animatedCounter: false,\n theme: \"system\",\n isMultiline: false,\n onTextChanged: undefined,\n helperTextConfig: undefined,\n parser: undefined,\n validator: undefined,\n};\n\nexport const useZestTextboxConfig = <T = string>(componentZestProps: ZestProps<T> | undefined, inputType?: HtmlInputType) => { // Made generic\n const { defaultZestProps: contextDefaultZestProps } = useZestTextboxContext<T>(); // Pass generic T\n\n // Debugging: Log context and component props\n console.log(\"useZestTextboxConfig: contextDefaultZestProps\", contextDefaultZestProps);\n console.log(\"useZestTextboxConfig: componentZestProps\", componentZestProps);\n console.log(\"useZestTextboxConfig: inputType\", inputType);\n\n\n const [resolvedZestProps, setResolvedZestProps] = useState<ResolvedZestProps<T>>(defaultResolvedZestProps as ResolvedZestProps<T>); // Cast to generic type\n\n // Memoize the merged props to avoid unnecessary re-renders\n const mergedZestProps = useMemo(() => {\n // Start with hardcoded defaults\n let currentMergedProps: ZestProps<T> = { ...defaultResolvedZestProps as ZestProps<T> }; // Cast\n\n // Apply context defaults\n currentMergedProps = { ...currentMergedProps, ...contextDefaultZestProps }; // No longer need cast here\n\n // Apply type-specific defaults if not already overridden by context\n if (inputType === \"number\") {\n if (currentMergedProps.parser === undefined) {\n currentMergedProps.parser = defaultNumberParser as InputParser<T>; // Cast\n }\n if (currentMergedProps.validator === undefined) {\n currentMergedProps.validator = defaultNumberValidator as InputValidator<T>; // Cast\n }\n }\n\n // Apply component-level props (highest precedence)\n currentMergedProps = { ...currentMergedProps, ...componentZestProps };\n\n // Debugging: Log merged props\n console.log(\"useZestTextboxConfig: mergedZestProps\", currentMergedProps);\n\n return currentMergedProps;\n }, [contextDefaultZestProps, componentZestProps, inputType]); // Added inputType to dependencies\n\n useEffect(() => {\n const resolveProps = async () => {\n const newResolvedProps: ResolvedZestProps<T> = { ...defaultResolvedZestProps as ResolvedZestProps<T> }; // Initialize with defaults and cast\n\n // Resolve each property that can be a ZestConfigValue\n newResolvedProps.zSize = await resolveZestConfigValue(\n mergedZestProps.zSize,\n (defaultResolvedZestProps.zSize as ZestTextboxSize)\n );\n newResolvedProps.stretch = await resolveZestConfigValue(\n mergedZestProps.stretch,\n (defaultResolvedZestProps.stretch as boolean)\n );\n newResolvedProps.showProgressBar = await resolveZestConfigValue(\n mergedZestProps.showProgressBar,\n (defaultResolvedZestProps.showProgressBar as boolean)\n );\n newResolvedProps.animatedCounter = await resolveZestConfigValue(\n mergedZestProps.animatedCounter,\n (defaultResolvedZestProps.animatedCounter as boolean)\n );\n newResolvedProps.theme = await resolveZestConfigValue(\n mergedZestProps.theme,\n (defaultResolvedZestProps.theme as \"light\" | \"dark\" | \"system\")\n );\n newResolvedProps.isMultiline = await resolveZestConfigValue(\n mergedZestProps.isMultiline,\n (defaultResolvedZestProps.isMultiline as boolean)\n );\n // onTextChanged is no longer a ZestConfigValue, so it's directly assigned\n newResolvedProps.onTextChanged = mergedZestProps.onTextChanged;\n\n newResolvedProps.helperTextConfig = await resolveZestConfigValue(\n mergedZestProps.helperTextConfig,\n (defaultResolvedZestProps.helperTextConfig as HelperTextConfig | undefined)\n );\n newResolvedProps.parser = await resolveZestConfigValue(\n mergedZestProps.parser,\n (defaultResolvedZestProps.parser as InputParser<T> | undefined)\n );\n newResolvedProps.validator = await resolveZestConfigValue(\n mergedZestProps.validator,\n (defaultResolvedZestProps.validator as InputValidator<T> | undefined)\n );\n\n // Debugging: Log newResolvedProps before setting state\n console.log(\"useZestTextboxConfig: newResolvedProps\", newResolvedProps);\n console.log(\"useZestTextboxConfig: current resolvedZestProps\", resolvedZestProps);\n\n\n setResolvedZestProps(newResolvedProps);\n };\n\n resolveProps();\n }, [mergedZestProps]); // Re-run effect if merged props change\n\n return resolvedZestProps;\n};","import { useState, useEffect, useCallback } from \"react\";\nimport { InputParser, InputValidator, HtmlInputType } from \"../types\";\n\ninterface UseParsedAndValidatedInputArgs<T> {\n rawValue: string;\n inputType?: HtmlInputType;\n parser: InputParser<T> | undefined;\n validator: InputValidator<T> | undefined;\n onParsedAndValidatedChange: ((value: T | undefined) => void) | undefined;\n}\n\nexport const useParsedAndValidatedInput = <T>({\n rawValue,\n inputType,\n parser,\n validator,\n onParsedAndValidatedChange,\n}: UseParsedAndValidatedInputArgs<T>) => {\n const [parsedValue, setParsedValue] = useState<T | undefined>(undefined);\n const [isValid, setIsValid] = useState(true);\n const [validationMessage, setValidationMessage] = useState<string | undefined>(undefined);\n\n useEffect(() => {\n let currentParsedValue: T | undefined = undefined;\n let currentIsValid = true;\n let currentValidationMessage: string | undefined = undefined;\n\n // Debugging: Log validator's state\n console.log(\"useParsedAndValidatedInput: rawValue\", rawValue);\n console.log(\"useParsedAndValidatedInput: inputType\", inputType);\n console.log(\"useParsedAndValidatedInput: validator\", validator);\n console.log(\"useParsedAndValidatedInput: typeof validator\", typeof validator);\n\n\n // 1. Parse the raw value\n if (parser) {\n currentParsedValue = parser(rawValue, inputType);\n } else {\n currentParsedValue = rawValue as unknown as T;\n }\n\n // 2. Validate the parsed value\n // Robust check: ensure validator is a function before calling\n if (typeof validator === \"function\") {\n const validationResult = validator(currentParsedValue, inputType);\n if (typeof validationResult === \"string\") {\n currentIsValid = false;\n currentValidationMessage = validationResult;\n } else {\n currentIsValid = validationResult;\n if (!currentIsValid) {\n currentValidationMessage = \"Invalid input.\";\n }\n }\n } else if (validator !== undefined && validator !== null) {\n // This case should ideally not happen if types are correct, but good for debugging\n console.error(\"useParsedAndValidatedInput: 'validator' is not a function but not undefined/null:\", validator);\n }\n\n\n setParsedValue(currentParsedValue);\n setIsValid(currentIsValid);\n setValidationMessage(currentValidationMessage);\n\n if (onParsedAndValidatedChange && currentIsValid) {\n onParsedAndValidatedChange(currentParsedValue);\n }\n }, [rawValue, inputType, parser, validator, onParsedAndValidatedChange]);\n\n return { parsedValue, isValid, validationMessage };\n};\n","import React, { useState } from \"react\";\nimport styles from \"../Styles/ZestTextbox.module.css\";\nimport { IconEyeOpen } from \"./IconEyeOpen\";\nimport { IconEyeSlashed } from \"./IconEyeSlashed\";\n\nimport { ZestTextboxSize, HelperTextConfig, ZestProps, HtmlInputType, ZestTextboxProps } from \"./types\";\n\nimport { filterNumericInput } from \"./utils/numericInputFilter\";\nimport { useThemeDetector } from \"./hooks/useThemeDetector\";\nimport { usePasswordVisibility } from \"./hooks/usePasswordVisibility\";\nimport { useCharacterCounter } from \"./hooks/useCharacterCounter\";\nimport { useHelperText } from \"./hooks/useHelperText\";\nimport { PasswordToggleButton } from \"./components/PasswordToggleButton\";\nimport { CharacterCounter } from \"./components/CharacterCounter\";\nimport { ProgressBar } from \"./components/ProgressBar\";\nimport { HelperTextDisplay } from \"./components/HelperTextDisplay\";\nimport { useZestTextboxConfig } from \"./hooks/useZestTextboxConfig\";\nimport { useParsedAndValidatedInput } from \"./hooks/useParsedAndValidatedInput\";\n\n// ... other imports\n\nconst ZestTextbox = <T = string>(props: ZestTextboxProps<T>) => {\n const {\n className = \"\",\n maxLength,\n onChange,\n type,\n zest, // Destructure the new zest prop\n ...rest\n } = props;\n\n // Debugging: Log ZestTextbox props\n console.log(\"ZestTextbox Props:\", { className, maxLength, type, zest, rest });\n\n\n const resolvedZestProps = useZestTextboxConfig(zest, type);\n const {\n zSize,\n stretch: fullWidth,\n showProgressBar,\n animatedCounter,\n theme,\n helperTextConfig,\n onTextChanged,\n isMultiline,\n parser,\n validator,\n } = resolvedZestProps;\n\n // Debugging: Log resolvedZestProps\n console.log(\"ZestTextbox Resolved Zest Props:\", resolvedZestProps);\n\n\n const [value, setValue] = useState(\"\");\n\n const isDark = useThemeDetector(theme);\n const isPassword = type === \"password\";\n const { isPasswordVisible, togglePasswordVisibility } = usePasswordVisibility(isPassword);\n const { currentLength, charPercentage, counterColorClass, showCounter } = useCharacterCounter(value, maxLength, animatedCounter);\n\n const {\n parsedValue,\n isValid,\n validationMessage,\n } = useParsedAndValidatedInput({\n rawValue: value,\n inputType: type, // Pass the type prop here\n parser: parser,\n validator: validator,\n onParsedAndValidatedChange: onTextChanged,\n });\n\n // Debugging: Log parsed and validated input\n console.log(\"ZestTextbox Parsed/Validated:\", { parsedValue, isValid, validationMessage });\n\n\n // Prioritize validation message over regular helper text\n const finalHelperTextNode = validationMessage ? (\n <span style={{ color: \"red\" }}>{validationMessage}</span>\n ) : useHelperText(value, helperTextConfig);\n\n\n const classList = [\n styles.textbox,\n styles[zSize],\n fullWidth ? styles.fullWidth : \"\",\n className,\n isDark ? styles.dark : \"\",\n !isValid ? styles.error : \"\", // Add error class if not valid\n ]\n .filter(Boolean)\n .join(\" \");\n\n const handleInputChange = (\n e: React.ChangeEvent<HTMLInputElement | HTMLTextAreaElement>\n ) => {\n let newValue = e.target.value;\n\n // Debugging: Log new value from input change\n console.log(\"ZestTextbox handleInputChange: raw newValue\", newValue);\n\n\n const isNumeric = type === \"number\" || type === \"tel\";\n if (isNumeric) {\n newValue = filterNumericInput(newValue);\n // Debugging: Log newValue after numeric filter\n console.log(\"ZestTextbox handleInputChange: newValue after numeric filter\", newValue);\n }\n\n if (maxLength !== undefined && newValue.length > maxLength) {\n console.log(\"ZestTextbox handleInputChange: maxLength exceeded, not updating value\");\n return;\n }\n\n setValue(newValue);\n console.log(\"ZestTextbox handleInputChange: setValue to\", newValue);\n\n\n if (onChange) onChange(e as never);\n // onTextChanged is now handled by useParsedAndValidatedInput\n };\n\n const isNumeric = type === \"number\" || type === \"tel\";\n const inputType = isPassword && isPasswordVisible ? \"text\" : isNumeric ? \"tel\" : type;\n\n const commonProps = {\n className: classList,\n maxLength,\n onChange: handleInputChange,\n value,\n type: inputType,\n ...rest,\n };\n\n return (\n <div className={styles.wrapper}>\n {isMultiline ? ( // Use isMultiline from zest\n <textarea\n {...(commonProps as React.TextareaHTMLAttributes<HTMLTextAreaElement>)}\n />\n ) : (\n <input\n {...(commonProps as React.InputHTMLAttributes<HTMLInputElement>)}\n />\n )}\n\n <HelperTextDisplay\n helperTextNode={finalHelperTextNode}\n className={helperTextConfig?.className || ''}\n />\n\n <CharacterCounter\n showCounter={showCounter}\n currentLength={currentLength}\n maxLength={maxLength}\n counterColorClass={counterColorClass}\n />\n\n <PasswordToggleButton\n isPassword={isPassword}\n isPasswordVisible={isPasswordVisible}\n onToggle={togglePasswordVisibility}\n />\n\n <ProgressBar\n showProgressBar={showProgressBar}\n showCounter={showCounter}\n charPercentage={charPercentage}\n counterColorClass={counterColorClass}\n />\n </div>\n );\n};\n\nexport default ZestTextbox;"],"names":["_jsxs","_jsx","useZestTextboxConfig","useZestTextboxContext"],"mappings":"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","x_google_ignoreList":[0,1]}
|
|
1
|
+
{"version":3,"file":"index.esm.js","sources":["../node_modules/tslib/tslib.es6.js","../node_modules/style-inject/dist/style-inject.es.js","../UI/utils/numericInputFilter.ts","../UI/hooks/useThemeDetector.ts","../UI/hooks/usePasswordVisibility.ts","../UI/hooks/useCharacterCounter.ts","../UI/hooks/useHelperText.ts","../UI/IconEyeOpen.tsx","../UI/IconEyeSlashed.tsx","../UI/components/PasswordToggleButton.tsx","../UI/components/CharacterCounter.tsx","../UI/components/ProgressBar.tsx","../UI/components/HelperTextDisplay.tsx","../UI/contexts/ZestTextboxConfigContext.tsx","../UI/utils/defaultParsersAndValidators.ts","../UI/hooks/useZestTextboxConfig.ts","../UI/hooks/useParsedAndValidatedInput.ts","../UI/ZestTextbox.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\nvar ownKeys = function(o) {\r\n ownKeys = Object.getOwnPropertyNames || function (o) {\r\n var ar = [];\r\n for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;\r\n return ar;\r\n };\r\n return ownKeys(o);\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 = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== \"default\") __createBinding(result, mod, k[i]);\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 function __rewriteRelativeImportExtension(path, preserveJsx) {\r\n if (typeof path === \"string\" && /^\\.\\.?\\//.test(path)) {\r\n return path.replace(/\\.(tsx)$|((?:\\.d)?)((?:\\.[^./]+?)?)\\.([cm]?)ts$/i, function (m, tsx, d, ext, cm) {\r\n return tsx ? preserveJsx ? \".jsx\" : \".js\" : d && (!ext || !cm) ? m : (d + ext + \".\" + cm.toLowerCase() + \"js\");\r\n });\r\n }\r\n return path;\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 __esDecorate: __esDecorate,\r\n __runInitializers: __runInitializers,\r\n __propKey: __propKey,\r\n __setFunctionName: __setFunctionName,\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 __rewriteRelativeImportExtension: __rewriteRelativeImportExtension,\r\n};\r\n","function styleInject(css, ref) {\n if ( ref === void 0 ) ref = {};\n var insertAt = ref.insertAt;\n\n if (!css || typeof document === 'undefined') { return; }\n\n var head = document.head || document.getElementsByTagName('head')[0];\n var style = document.createElement('style');\n style.type = 'text/css';\n\n if (insertAt === 'top') {\n if (head.firstChild) {\n head.insertBefore(style, head.firstChild);\n } else {\n head.appendChild(style);\n }\n } else {\n head.appendChild(style);\n }\n\n if (style.styleSheet) {\n style.styleSheet.cssText = css;\n } else {\n style.appendChild(document.createTextNode(css));\n }\n}\n\nexport default styleInject;\n","export const filterNumericInput = (value: string): string => {\n // Allow digits, a single leading hyphen, and a single decimal point\n const parts = value.split('.');\n let integerPart = parts[0].replace(/[^0-9-]/g, '');\n let decimalPart = parts.length > 1 ? '.' + parts[1].replace(/[^0-9]/g, '') : '';\n\n // Ensure only one leading hyphen\n if (integerPart.startsWith('-')) {\n integerPart = '-' + integerPart.substring(1).replace(/-/g, '');\n } else {\n integerPart = integerPart.replace(/-/g, '');\n }\n\n let newValue = integerPart + decimalPart;\n\n // Prevent multiple decimal points\n if (newValue.indexOf('.') !== -1 && newValue.indexOf('.') !== newValue.lastIndexOf('.')) {\n newValue = newValue.substring(0, newValue.lastIndexOf('.'));\n }\n\n return newValue;\n};\n","import { useState, useEffect } from \"react\";\nimport { ZestProps } from \"../types\";\n\nexport const useThemeDetector = (theme: ZestProps['theme'] = \"system\") => {\n const [isDark, setIsDark] = useState(false);\n\n useEffect(() => {\n if (theme === \"dark\") {\n setIsDark(true);\n return;\n }\n if (theme === \"light\") {\n setIsDark(false);\n return;\n }\n\n // System theme\n const mediaQuery = window.matchMedia(\"(prefers-color-scheme: dark)\");\n const handleChange = () => setIsDark(mediaQuery.matches);\n\n handleChange(); // Set initial theme\n mediaQuery.addEventListener(\"change\", handleChange);\n\n return () => mediaQuery.removeEventListener(\"change\", handleChange);\n }, [theme]);\n\n return isDark;\n};\n","import { useState } from \"react\";\n\nexport const usePasswordVisibility = (isPasswordType: boolean) => {\n const [isPasswordVisible, setIsPasswordVisible] = useState(false);\n\n const togglePasswordVisibility = () => {\n if (isPasswordType) {\n setIsPasswordVisible((prev) => !prev);\n }\n };\n\n return { isPasswordVisible, togglePasswordVisibility };\n};\n","import { useMemo } from \"react\";\nimport styles from \"../../Styles/ZestTextbox.module.css\";\n\nexport const useCharacterCounter = (\n value: string,\n maxLength: number | undefined,\n animatedCounter: boolean\n) => {\n const currentLength = value.length;\n const showCounter = typeof maxLength === \"number\";\n const charPercentage = showCounter ? (currentLength / maxLength) * 100 : 0;\n\n const counterColorClass = useMemo(() => {\n if (!animatedCounter || !showCounter) return \"\";\n\n if (charPercentage > 90) {\n return styles.counterOrange;\n } else if (charPercentage > 70) {\n return styles.counterYellow;\n }\n return \"\";\n }, [animatedCounter, showCounter, charPercentage]);\n\n return { currentLength, charPercentage, counterColorClass, showCounter };\n};\n","import { useState, useEffect, ReactNode } from \"react\";\nimport { HelperTextConfig } from \"../types\";\n\nexport const useHelperText = (\n value: string,\n helperTextConfig: HelperTextConfig | undefined\n) => {\n const [helperTextNode, setHelperTextNode] = useState<ReactNode>(null);\n\n useEffect(() => {\n if (!helperTextConfig) {\n setHelperTextNode(null);\n return;\n }\n\n const formatted = helperTextConfig.formatter\n ? helperTextConfig.formatter(value)\n : value;\n\n const finalNode = helperTextConfig.templater\n ? helperTextConfig.templater(formatted)\n : formatted;\n\n setHelperTextNode(finalNode);\n }, [value, helperTextConfig]);\n\n return helperTextNode;\n};\n","import React from 'react';\n\nexport const IconEyeOpen: React.FC<React.SVGProps<SVGSVGElement>> = (props) => (\n <svg xmlns=\"http://www.w3.org/2000/svg\" width=\"16\" height=\"16\" fill=\"currentColor\" viewBox=\"0 0 16 16\" {...props}>\n <path d=\"M16 8s-3-5.5-8-5.5S0 8 0 8s3 5.5 8 5.5S16 8 16 8M1.173 8a13 13 0 0 1 1.66-2.043C4.12 4.668 5.88 3.5 8 3.5s3.879 1.168 5.168 2.457A13 13 0 0 1 14.828 8q-.086.13-.195.288c-.335.48-.83 1.12-1.465 1.755C11.879 11.332 10.119 12.5 8 12.5s-3.879-1.168-5.168-2.457A13 13 0 0 1 1.172 8z\"/>\n <path d=\"M8 5.5a2.5 2.5 0 1 0 0 5 2.5 2.5 0 0 0 0-5M4.5 8a3.5 3.5 0 1 1 7 0 3.5 3.5 0 0 1-7 0\"/>\n </svg>\n);\n","import React from 'react';\n\nexport const IconEyeSlashed: React.FC<React.SVGProps<SVGSVGElement>> = (props) => (\n <svg xmlns=\"http://www.w3.org/2000/svg\" width=\"16\" height=\"16\" fill=\"currentColor\" viewBox=\"0 0 16 16\" {...props}>\n <path d=\"M13.359 11.238C15.06 9.72 16 8 16 8s-3-5.5-8-5.5a7.028 7.028 0 0 0-2.79.588l.77.771A5.944 5.944 0 0 1 8 3.5c2.12 0 3.879 1.168 5.168 2.457A13.134 13.134 0 0 1 14.828 8c-.058.087-.122.183-.195.288-.335.48-.83 1.12-1.465 1.755-.165.165-.337.328-.517.486l.708.709z\"/>\n <path d=\"M11.297 9.176a3.5 3.5 0 0 0-4.474-4.474l.823.823a2.5 2.5 0 0 1 2.829 2.829l.822.822zm-2.943 1.288.822.822.073.073.026.026a3.5 3.5 0 0 1-4.474-4.474l.823.823a2.5 2.5 0 0 0 2.829 2.829l.822.822zm-2.943-1.288.822.822.073.073.026.026a3.5 3.5 0 0 1-4.474-4.474l.823.823a2.5 2.5 0 0 0 2.829 2.829l.822.822z\"/>\n <path d=\"M3.35 5.47c-.18.16-.353.322-.518.487A13.134 13.134 0 0 0 1.172 8l.195.288c.335.48.83 1.12 1.465 1.755C4.121 11.332 5.88 12.5 8 12.5c.716 0 1.39-.133 2.02-.36l.77.772A7.029 7.029 0 0 1 8 13.5C3 13.5 0 8 0 8s.939-1.721 2.641-3.238l.708.709zm10.296 6.854-12-12 .708-.708 12 12-.708.708z\"/>\n </svg>\n);\n","import React from \"react\";\nimport styles from \"../../Styles/ZestTextbox.module.css\";\nimport { IconEyeOpen } from \"../IconEyeOpen\";\nimport { IconEyeSlashed } from \"../IconEyeSlashed\";\n\ninterface PasswordToggleButtonProps {\n isPassword: boolean;\n isPasswordVisible: boolean;\n onToggle: () => void;\n}\n\nexport const PasswordToggleButton: React.FC<PasswordToggleButtonProps> = ({\n isPassword,\n isPasswordVisible,\n onToggle,\n}) => {\n if (!isPassword) return null;\n\n return (\n <div className={styles.passwordToggle} onClick={onToggle}>\n <div className={styles.tooltip}>\n {isPasswordVisible ? \"Hide password\" : \"Show password\"}\n </div>\n {isPasswordVisible ? (\n <IconEyeOpen className={styles.eyeIcon} />\n ) : (\n <IconEyeSlashed className={styles.eyeIcon} />\n )}\n </div>\n );\n};\n","import React from \"react\";\nimport styles from \"../../Styles/ZestTextbox.module.css\";\n\ninterface CharacterCounterProps {\n showCounter: boolean;\n currentLength: number;\n maxLength: number | undefined;\n counterColorClass: string;\n}\n\nexport const CharacterCounter: React.FC<CharacterCounterProps> = ({\n showCounter,\n currentLength,\n maxLength,\n counterColorClass,\n}) => {\n if (!showCounter) return null;\n\n return (\n <div className={`${styles.counter} ${counterColorClass}`}>\n {currentLength} / {maxLength}\n </div>\n );\n};\n","import React from \"react\";\nimport styles from \"../../Styles/ZestTextbox.module.css\";\n\ninterface ProgressBarProps {\n showProgressBar: boolean;\n showCounter: boolean;\n charPercentage: number;\n counterColorClass: string;\n}\n\nexport const ProgressBar: React.FC<ProgressBarProps> = ({\n showProgressBar,\n showCounter,\n charPercentage,\n counterColorClass,\n}) => {\n if (!showProgressBar || !showCounter) return null;\n\n return (\n <div className={styles.progressBarContainer}>\n <div\n className={`${styles.progressBar} ${counterColorClass}`}\n style={{ width: `${charPercentage}%` }}\n />\n </div>\n );\n};\n","import React, { ReactNode } from \"react\";\nimport styles from \"../../Styles/ZestTextbox.module.css\";\n\ninterface HelperTextDisplayProps {\n helperTextNode: ReactNode;\n className?: string;\n}\n\nexport const HelperTextDisplay: React.FC<HelperTextDisplayProps> = ({\n helperTextNode,\n className,\n}) => {\n if (!helperTextNode) return null;\n\n return (\n <div\n key={String(helperTextNode)} // Force re-mount to trigger animation\n className={`${styles.helperText} ${className || \"\"}`}\n >\n {helperTextNode}\n </div>\n );\n};\n","import React, { createContext, useContext, ReactNode } from \"react\";\nimport { ZestProps } from \"../types\";\n\n// Define the shape of the context value\ninterface ZestTextboxConfigContextType<T = string> { // Made generic\n defaultZestProps: ZestProps<T>; // Uses generic T\n}\n\n// Create the context with a default empty object\nconst ZestTextboxConfigContext = createContext<\n ZestTextboxConfigContextType<any> | undefined // Use any for context default to avoid circular dependency issues\n>(undefined);\n\n// Create a provider component\ninterface ZestTextboxConfigProviderProps<T = string> { // Made generic\n children: ReactNode;\n value?: ZestProps<T>; // Uses generic T\n}\n\nexport const ZestTextboxConfigProvider: React.FC<\n ZestTextboxConfigProviderProps<any> // Use any for provider to allow flexibility\n> = ({ children, value = {} }) => {\n return (\n <ZestTextboxConfigContext.Provider value={{ defaultZestProps: value as ZestProps<any> }}>\n {children}\n </ZestTextboxConfigContext.Provider>\n );\n};\n\n// Custom hook to use the ZestTextboxConfigContext\nexport const useZestTextboxConfig = <T = string>() => { // Made generic\n const context = useContext(ZestTextboxConfigContext);\n if (context === undefined) {\n // This error will be caught by the useZestTextboxConfig hook in ZestTextbox.tsx\n // if the component is used outside of a provider.\n return { defaultZestProps: {} as ZestProps<T> }; // Cast to generic T\n }\n return context as ZestTextboxConfigContextType<T>; // Cast to generic T\n};","import { InputParser, InputValidator, HtmlInputType } from \"../types\";\n\nexport const defaultNumberParser: InputParser<number> = (value: string, inputType?: HtmlInputType) => {\n if (inputType !== \"number\" && inputType !== \"tel\") {\n // If not a number type, don't parse as number\n return undefined;\n }\n const parsed = parseFloat(value);\n return isNaN(parsed) ? undefined : parsed;\n};\n\nexport const defaultNumberValidator: InputValidator<number> = (value: number | undefined, inputType?: HtmlInputType) => {\n if (inputType !== \"number\" && inputType !== \"tel\") {\n // If not a number type, always consider valid for this validator\n return true;\n }\n if (value === undefined) {\n return \"Invalid number format.\";\n }\n return true;\n};\n\n// You can add more default parsers/validators here for other types like 'email', 'date', etc.","import { useEffect, useState, useMemo } from \"react\";\nimport { ZestProps, ZestConfigValue, ZestTextboxSize, HelperTextConfig, ResolvedZestProps, InputParser, InputValidator, HtmlInputType } from \"../types\";\nimport { useZestTextboxConfig as useZestTextboxContext } from \"../contexts/ZestTextboxConfigContext\";\nimport { defaultNumberParser, defaultNumberValidator } from \"../utils/defaultParsersAndValidators\"; // Import defaults\n\n// Helper function to resolve a ZestConfigValue\nasync function resolveZestConfigValue<V>(\n configValue: ZestConfigValue<V> | undefined,\n defaultValue: V\n): Promise<V> {\n if (configValue === undefined) {\n return defaultValue;\n }\n if (typeof configValue === \"function\") {\n const result = (configValue as () => V | Promise<V>)();\n return result instanceof Promise ? await result : result;\n }\n return configValue;\n}\n\nconst defaultResolvedZestProps = { // Removed explicit type here, will be inferred\n zSize: \"md\",\n stretch: false,\n showProgressBar: false,\n animatedCounter: false,\n theme: \"system\",\n isMultiline: false,\n onTextChanged: undefined,\n helperTextConfig: undefined,\n parser: undefined,\n validator: undefined,\n};\n\nexport const useZestTextboxConfig = <T = string>(componentZestProps: ZestProps<T> | undefined, inputType?: HtmlInputType) => { // Made generic\n const { defaultZestProps: contextDefaultZestProps } = useZestTextboxContext<T>(); // Pass generic T\n\n const [resolvedZestProps, setResolvedZestProps] = useState<ResolvedZestProps<T>>(defaultResolvedZestProps as ResolvedZestProps<T>); // Cast to generic type\n\n // Memoize the merged props to avoid unnecessary re-renders\n const mergedZestProps = useMemo(() => {\n // Start with hardcoded defaults\n let currentMergedProps: ZestProps<T> = { ...defaultResolvedZestProps as ZestProps<T> }; // Cast\n\n // Apply context defaults\n currentMergedProps = { ...currentMergedProps, ...contextDefaultZestProps }; // No longer need cast here\n\n // Apply type-specific defaults if not already overridden by context\n if (inputType === \"number\") {\n if (currentMergedProps.parser === undefined) {\n currentMergedProps.parser = defaultNumberParser as InputParser<T>; // Cast\n }\n if (currentMergedProps.validator === undefined) {\n currentMergedProps.validator = defaultNumberValidator as InputValidator<T>; // Cast\n }\n }\n\n // Apply component-level props (highest precedence)\n currentMergedProps = { ...currentMergedProps, ...componentZestProps };\n\n return currentMergedProps;\n }, [contextDefaultZestProps, componentZestProps, inputType]); // Added inputType to dependencies\n\n useEffect(() => {\n const resolveProps = async () => {\n const newResolvedProps: ResolvedZestProps<T> = { ...defaultResolvedZestProps as ResolvedZestProps<T> }; // Initialize with defaults and cast\n\n // Resolve each property that can be a ZestConfigValue\n newResolvedProps.zSize = await resolveZestConfigValue(\n mergedZestProps.zSize,\n (defaultResolvedZestProps.zSize as ZestTextboxSize)\n );\n newResolvedProps.stretch = await resolveZestConfigValue(\n mergedZestProps.stretch,\n (defaultResolvedZestProps.stretch as boolean)\n );\n newResolvedProps.showProgressBar = await resolveZestConfigValue(\n mergedZestProps.showProgressBar,\n (defaultResolvedZestProps.showProgressBar as boolean)\n );\n newResolvedProps.animatedCounter = await resolveZestConfigValue(\n mergedZestProps.animatedCounter,\n (defaultResolvedZestProps.animatedCounter as boolean)\n );\n newResolvedProps.theme = await resolveZestConfigValue(\n mergedZestProps.theme,\n (defaultResolvedZestProps.theme as \"light\" | \"dark\" | \"system\")\n );\n newResolvedProps.isMultiline = await resolveZestConfigValue(\n mergedZestProps.isMultiline,\n (defaultResolvedZestProps.isMultiline as boolean)\n );\n // onTextChanged is no longer a ZestConfigValue, so it's directly assigned\n newResolvedProps.onTextChanged = mergedZestProps.onTextChanged;\n\n newResolvedProps.helperTextConfig = await resolveZestConfigValue(\n mergedZestProps.helperTextConfig,\n (defaultResolvedZestProps.helperTextConfig as HelperTextConfig | undefined)\n );\n newResolvedProps.parser = await resolveZestConfigValue(\n mergedZestProps.parser,\n (defaultResolvedZestProps.parser as InputParser<T> | undefined)\n );\n newResolvedProps.validator = await resolveZestConfigValue(\n mergedZestProps.validator,\n (defaultResolvedZestProps.validator as InputValidator<T> | undefined)\n );\n\n setResolvedZestProps(newResolvedProps);\n };\n\n resolveProps();\n }, [mergedZestProps]); // Re-run effect if merged props change\n\n return resolvedZestProps;\n};\n","import { useState, useEffect, useCallback } from \"react\";\nimport { InputParser, InputValidator, HtmlInputType } from \"../types\";\n\ninterface UseParsedAndValidatedInputArgs<T> {\n rawValue: string;\n inputType?: HtmlInputType;\n parser: InputParser<T> | undefined;\n validator: InputValidator<T> | undefined;\n onParsedAndValidatedChange: ((value: T | undefined) => void) | undefined;\n}\n\nexport const useParsedAndValidatedInput = <T>({\n rawValue,\n inputType,\n parser,\n validator,\n onParsedAndValidatedChange,\n}: UseParsedAndValidatedInputArgs<T>) => {\n const [parsedValue, setParsedValue] = useState<T | undefined>(undefined);\n const [isValid, setIsValid] = useState(true);\n const [validationMessage, setValidationMessage] = useState<string | undefined>(undefined);\n\n useEffect(() => {\n // --- OPTION 2 IMPLEMENTATION ---\n // If no custom parser or validator is provided, and it's not a number type\n // where default parsers/validators would be injected,\n // then simply pass the raw value and bypass complex logic.\n // This assumes that if parser/validator are undefined, the consumer expects raw string.\n const isNumericType = inputType === \"number\" || inputType === \"tel\";\n if (!parser && !validator && !isNumericType) {\n setParsedValue(rawValue as unknown as T); // Cast raw string to T\n setIsValid(true);\n setValidationMessage(undefined);\n if (onParsedAndValidatedChange) {\n onParsedAndValidatedChange(rawValue as unknown as T); // Pass raw string as T\n }\n return; // Bypass the rest of the useEffect logic\n }\n // --- END OPTION 2 IMPLEMENTATION ---\n\n let currentParsedValue: T | undefined = undefined;\n let currentIsValid = true;\n let currentValidationMessage: string | undefined = undefined;\n\n // 1. Parse the raw value\n if (parser) {\n currentParsedValue = parser(rawValue, inputType);\n } else {\n currentParsedValue = rawValue as unknown as T;\n }\n\n // 2. Validate the parsed value\n if (typeof validator === \"function\") {\n const validationResult = validator(currentParsedValue, inputType);\n if (typeof validationResult === \"string\") {\n currentIsValid = false;\n currentValidationMessage = validationResult;\n } else {\n currentIsValid = validationResult;\n if (!currentIsValid) {\n currentValidationMessage = \"Invalid input.\";\n }\n }\n }\n\n\n setParsedValue(currentParsedValue);\n setIsValid(currentIsValid);\n setValidationMessage(currentValidationMessage);\n\n if (onParsedAndValidatedChange && currentIsValid) {\n onParsedAndValidatedChange(currentParsedValue);\n }\n }, [rawValue, inputType, parser, validator, onParsedAndValidatedChange]);\n\n return { parsedValue, isValid, validationMessage };\n};\n","import React, { useState } from \"react\";\nimport styles from \"../Styles/ZestTextbox.module.css\";\nimport { IconEyeOpen } from \"./IconEyeOpen\";\nimport { IconEyeSlashed } from \"./IconEyeSlashed\";\n\nimport { ZestTextboxSize, HelperTextConfig, ZestProps, HtmlInputType, ZestTextboxProps } from \"./types\";\n\nimport { filterNumericInput } from \"./utils/numericInputFilter\";\nimport { useThemeDetector } from \"./hooks/useThemeDetector\";\nimport { usePasswordVisibility } from \"./hooks/usePasswordVisibility\";\nimport { useCharacterCounter } from \"./hooks/useCharacterCounter\";\nimport { useHelperText } from \"./hooks/useHelperText\";\nimport { PasswordToggleButton } from \"./components/PasswordToggleButton\";\nimport { CharacterCounter } from \"./components/CharacterCounter\";\nimport { ProgressBar } from \"./components/ProgressBar\";\nimport { HelperTextDisplay } from \"./components/HelperTextDisplay\";\nimport { useZestTextboxConfig } from \"./hooks/useZestTextboxConfig\";\nimport { useParsedAndValidatedInput } from \"./hooks/useParsedAndValidatedInput\";\n\n// ... other imports\n\nconst ZestTextbox = <T = string>(props: ZestTextboxProps<T>) => {\n const {\n className = \"\",\n maxLength,\n onChange,\n type,\n zest, // Destructure the new zest prop\n ...rest\n } = props;\n\n const resolvedZestProps = useZestTextboxConfig(zest, type);\n const {\n zSize,\n stretch: fullWidth,\n showProgressBar,\n animatedCounter,\n theme,\n helperTextConfig,\n onTextChanged,\n isMultiline,\n parser,\n validator,\n } = resolvedZestProps;\n\n const [value, setValue] = useState(\"\");\n\n const isDark = useThemeDetector(theme);\n const isPassword = type === \"password\";\n const { isPasswordVisible, togglePasswordVisibility } = usePasswordVisibility(isPassword);\n const { currentLength, charPercentage, counterColorClass, showCounter } = useCharacterCounter(value, maxLength, animatedCounter);\n\n const {\n parsedValue,\n isValid,\n validationMessage,\n } = useParsedAndValidatedInput({\n rawValue: value,\n inputType: type, // Pass the type prop here\n parser: parser,\n validator: validator,\n onParsedAndValidatedChange: onTextChanged,\n });\n\n // Prioritize validation message over regular helper text\n const finalHelperTextNode = validationMessage ? (\n <span style={{ color: \"red\" }}>{validationMessage}</span>\n ) : useHelperText(value, helperTextConfig);\n\n\n const classList = [\n styles.textbox,\n styles[zSize],\n fullWidth ? styles.fullWidth : \"\",\n className,\n isDark ? styles.dark : \"\",\n !isValid ? styles.error : \"\", // Add error class if not valid\n ]\n .filter(Boolean)\n .join(\" \");\n\n const handleInputChange = (\n e: React.ChangeEvent<HTMLInputElement | HTMLTextAreaElement>\n ) => {\n let newValue = e.target.value;\n\n const isNumeric = type === \"number\" || type === \"tel\";\n if (isNumeric) {\n newValue = filterNumericInput(newValue);\n }\n\n if (maxLength !== undefined && newValue.length > maxLength) {\n return;\n }\n\n setValue(newValue);\n\n if (onChange) onChange(e as never);\n // onTextChanged is now handled by useParsedAndValidatedInput\n };\n\n const isNumeric = type === \"number\" || type === \"tel\";\n const inputType = isPassword && isPasswordVisible ? \"text\" : isNumeric ? \"tel\" : type;\n\n const commonProps = {\n className: classList,\n maxLength,\n onChange: handleInputChange,\n value,\n type: inputType,\n ...rest,\n };\n\n return (\n <div className={styles.wrapper}>\n {isMultiline ? ( // Use isMultiline from zest\n <textarea\n {...(commonProps as React.TextareaHTMLAttributes<HTMLTextAreaElement>)}\n />\n ) : (\n <input\n {...(commonProps as React.InputHTMLAttributes<HTMLInputElement>)}\n />\n )}\n\n <HelperTextDisplay\n helperTextNode={finalHelperTextNode}\n className={helperTextConfig?.className || ''}\n />\n\n <CharacterCounter\n showCounter={showCounter}\n currentLength={currentLength}\n maxLength={maxLength}\n counterColorClass={counterColorClass}\n />\n\n <PasswordToggleButton\n isPassword={isPassword}\n isPasswordVisible={isPasswordVisible}\n onToggle={togglePasswordVisibility}\n />\n\n <ProgressBar\n showProgressBar={showProgressBar}\n showCounter={showCounter}\n charPercentage={charPercentage}\n counterColorClass={counterColorClass}\n />\n </div>\n );\n};\n\nexport default ZestTextbox;"],"names":["_jsxs","_jsx","useZestTextboxConfig","useZestTextboxContext"],"mappings":"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","x_google_ignoreList":[0,1]}
|
package/dist/index.js
CHANGED
|
@@ -314,10 +314,6 @@ var defaultResolvedZestProps = {
|
|
|
314
314
|
};
|
|
315
315
|
var useZestTextboxConfig = function (componentZestProps, inputType) {
|
|
316
316
|
var contextDefaultZestProps = useZestTextboxConfig$1().defaultZestProps; // Pass generic T
|
|
317
|
-
// Debugging: Log context and component props
|
|
318
|
-
console.log("useZestTextboxConfig: contextDefaultZestProps", contextDefaultZestProps);
|
|
319
|
-
console.log("useZestTextboxConfig: componentZestProps", componentZestProps);
|
|
320
|
-
console.log("useZestTextboxConfig: inputType", inputType);
|
|
321
317
|
var _a = react.useState(defaultResolvedZestProps), resolvedZestProps = _a[0], setResolvedZestProps = _a[1]; // Cast to generic type
|
|
322
318
|
// Memoize the merged props to avoid unnecessary re-renders
|
|
323
319
|
var mergedZestProps = react.useMemo(function () {
|
|
@@ -336,8 +332,6 @@ var useZestTextboxConfig = function (componentZestProps, inputType) {
|
|
|
336
332
|
}
|
|
337
333
|
// Apply component-level props (highest precedence)
|
|
338
334
|
currentMergedProps = __assign(__assign({}, currentMergedProps), componentZestProps);
|
|
339
|
-
// Debugging: Log merged props
|
|
340
|
-
console.log("useZestTextboxConfig: mergedZestProps", currentMergedProps);
|
|
341
335
|
return currentMergedProps;
|
|
342
336
|
}, [contextDefaultZestProps, componentZestProps, inputType]); // Added inputType to dependencies
|
|
343
337
|
react.useEffect(function () {
|
|
@@ -387,9 +381,6 @@ var useZestTextboxConfig = function (componentZestProps, inputType) {
|
|
|
387
381
|
return [4 /*yield*/, resolveZestConfigValue(mergedZestProps.validator, defaultResolvedZestProps.validator)];
|
|
388
382
|
case 9:
|
|
389
383
|
_j.validator = _k.sent();
|
|
390
|
-
// Debugging: Log newResolvedProps before setting state
|
|
391
|
-
console.log("useZestTextboxConfig: newResolvedProps", newResolvedProps);
|
|
392
|
-
console.log("useZestTextboxConfig: current resolvedZestProps", resolvedZestProps);
|
|
393
384
|
setResolvedZestProps(newResolvedProps);
|
|
394
385
|
return [2 /*return*/];
|
|
395
386
|
}
|
|
@@ -406,14 +397,25 @@ var useParsedAndValidatedInput = function (_a) {
|
|
|
406
397
|
var _c = react.useState(true), isValid = _c[0], setIsValid = _c[1];
|
|
407
398
|
var _d = react.useState(undefined), validationMessage = _d[0], setValidationMessage = _d[1];
|
|
408
399
|
react.useEffect(function () {
|
|
400
|
+
// --- OPTION 2 IMPLEMENTATION ---
|
|
401
|
+
// If no custom parser or validator is provided, and it's not a number type
|
|
402
|
+
// where default parsers/validators would be injected,
|
|
403
|
+
// then simply pass the raw value and bypass complex logic.
|
|
404
|
+
// This assumes that if parser/validator are undefined, the consumer expects raw string.
|
|
405
|
+
var isNumericType = inputType === "number" || inputType === "tel";
|
|
406
|
+
if (!parser && !validator && !isNumericType) {
|
|
407
|
+
setParsedValue(rawValue); // Cast raw string to T
|
|
408
|
+
setIsValid(true);
|
|
409
|
+
setValidationMessage(undefined);
|
|
410
|
+
if (onParsedAndValidatedChange) {
|
|
411
|
+
onParsedAndValidatedChange(rawValue); // Pass raw string as T
|
|
412
|
+
}
|
|
413
|
+
return; // Bypass the rest of the useEffect logic
|
|
414
|
+
}
|
|
415
|
+
// --- END OPTION 2 IMPLEMENTATION ---
|
|
409
416
|
var currentParsedValue = undefined;
|
|
410
417
|
var currentIsValid = true;
|
|
411
418
|
var currentValidationMessage = undefined;
|
|
412
|
-
// Debugging: Log validator's state
|
|
413
|
-
console.log("useParsedAndValidatedInput: rawValue", rawValue);
|
|
414
|
-
console.log("useParsedAndValidatedInput: inputType", inputType);
|
|
415
|
-
console.log("useParsedAndValidatedInput: validator", validator);
|
|
416
|
-
console.log("useParsedAndValidatedInput: typeof validator", typeof validator);
|
|
417
419
|
// 1. Parse the raw value
|
|
418
420
|
if (parser) {
|
|
419
421
|
currentParsedValue = parser(rawValue, inputType);
|
|
@@ -422,7 +424,6 @@ var useParsedAndValidatedInput = function (_a) {
|
|
|
422
424
|
currentParsedValue = rawValue;
|
|
423
425
|
}
|
|
424
426
|
// 2. Validate the parsed value
|
|
425
|
-
// Robust check: ensure validator is a function before calling
|
|
426
427
|
if (typeof validator === "function") {
|
|
427
428
|
var validationResult = validator(currentParsedValue, inputType);
|
|
428
429
|
if (typeof validationResult === "string") {
|
|
@@ -436,10 +437,6 @@ var useParsedAndValidatedInput = function (_a) {
|
|
|
436
437
|
}
|
|
437
438
|
}
|
|
438
439
|
}
|
|
439
|
-
else if (validator !== undefined && validator !== null) {
|
|
440
|
-
// This case should ideally not happen if types are correct, but good for debugging
|
|
441
|
-
console.error("useParsedAndValidatedInput: 'validator' is not a function but not undefined/null:", validator);
|
|
442
|
-
}
|
|
443
440
|
setParsedValue(currentParsedValue);
|
|
444
441
|
setIsValid(currentIsValid);
|
|
445
442
|
setValidationMessage(currentValidationMessage);
|
|
@@ -454,12 +451,8 @@ var useParsedAndValidatedInput = function (_a) {
|
|
|
454
451
|
var ZestTextbox = function (props) {
|
|
455
452
|
var _a = props.className, className = _a === void 0 ? "" : _a, maxLength = props.maxLength, onChange = props.onChange, type = props.type, zest = props.zest, // Destructure the new zest prop
|
|
456
453
|
rest = __rest(props, ["className", "maxLength", "onChange", "type", "zest"]);
|
|
457
|
-
// Debugging: Log ZestTextbox props
|
|
458
|
-
console.log("ZestTextbox Props:", { className: className, maxLength: maxLength, type: type, zest: zest, rest: rest });
|
|
459
454
|
var resolvedZestProps = useZestTextboxConfig(zest, type);
|
|
460
455
|
var zSize = resolvedZestProps.zSize, fullWidth = resolvedZestProps.stretch, showProgressBar = resolvedZestProps.showProgressBar, animatedCounter = resolvedZestProps.animatedCounter, theme = resolvedZestProps.theme, helperTextConfig = resolvedZestProps.helperTextConfig, onTextChanged = resolvedZestProps.onTextChanged, isMultiline = resolvedZestProps.isMultiline, parser = resolvedZestProps.parser, validator = resolvedZestProps.validator;
|
|
461
|
-
// Debugging: Log resolvedZestProps
|
|
462
|
-
console.log("ZestTextbox Resolved Zest Props:", resolvedZestProps);
|
|
463
456
|
var _b = react.useState(""), value = _b[0], setValue = _b[1];
|
|
464
457
|
var isDark = useThemeDetector(theme);
|
|
465
458
|
var isPassword = type === "password";
|
|
@@ -471,9 +464,7 @@ var ZestTextbox = function (props) {
|
|
|
471
464
|
parser: parser,
|
|
472
465
|
validator: validator,
|
|
473
466
|
onParsedAndValidatedChange: onTextChanged,
|
|
474
|
-
}),
|
|
475
|
-
// Debugging: Log parsed and validated input
|
|
476
|
-
console.log("ZestTextbox Parsed/Validated:", { parsedValue: parsedValue, isValid: isValid, validationMessage: validationMessage });
|
|
467
|
+
}), isValid = _e.isValid, validationMessage = _e.validationMessage;
|
|
477
468
|
// Prioritize validation message over regular helper text
|
|
478
469
|
var finalHelperTextNode = validationMessage ? (jsxRuntime.jsx("span", { style: { color: "red" }, children: validationMessage })) : useHelperText(value, helperTextConfig);
|
|
479
470
|
var classList = [
|
|
@@ -488,20 +479,14 @@ var ZestTextbox = function (props) {
|
|
|
488
479
|
.join(" ");
|
|
489
480
|
var handleInputChange = function (e) {
|
|
490
481
|
var newValue = e.target.value;
|
|
491
|
-
// Debugging: Log new value from input change
|
|
492
|
-
console.log("ZestTextbox handleInputChange: raw newValue", newValue);
|
|
493
482
|
var isNumeric = type === "number" || type === "tel";
|
|
494
483
|
if (isNumeric) {
|
|
495
484
|
newValue = filterNumericInput(newValue);
|
|
496
|
-
// Debugging: Log newValue after numeric filter
|
|
497
|
-
console.log("ZestTextbox handleInputChange: newValue after numeric filter", newValue);
|
|
498
485
|
}
|
|
499
486
|
if (maxLength !== undefined && newValue.length > maxLength) {
|
|
500
|
-
console.log("ZestTextbox handleInputChange: maxLength exceeded, not updating value");
|
|
501
487
|
return;
|
|
502
488
|
}
|
|
503
489
|
setValue(newValue);
|
|
504
|
-
console.log("ZestTextbox handleInputChange: setValue to", newValue);
|
|
505
490
|
if (onChange)
|
|
506
491
|
onChange(e);
|
|
507
492
|
// onTextChanged is now handled by useParsedAndValidatedInput
|
package/dist/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sources":["../node_modules/tslib/tslib.es6.js","../node_modules/style-inject/dist/style-inject.es.js","../UI/utils/numericInputFilter.ts","../UI/hooks/useThemeDetector.ts","../UI/hooks/usePasswordVisibility.ts","../UI/hooks/useCharacterCounter.ts","../UI/hooks/useHelperText.ts","../UI/IconEyeOpen.tsx","../UI/IconEyeSlashed.tsx","../UI/components/PasswordToggleButton.tsx","../UI/components/CharacterCounter.tsx","../UI/components/ProgressBar.tsx","../UI/components/HelperTextDisplay.tsx","../UI/contexts/ZestTextboxConfigContext.tsx","../UI/utils/defaultParsersAndValidators.ts","../UI/hooks/useZestTextboxConfig.ts","../UI/hooks/useParsedAndValidatedInput.ts","../UI/ZestTextbox.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\nvar ownKeys = function(o) {\r\n ownKeys = Object.getOwnPropertyNames || function (o) {\r\n var ar = [];\r\n for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;\r\n return ar;\r\n };\r\n return ownKeys(o);\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 = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== \"default\") __createBinding(result, mod, k[i]);\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 function __rewriteRelativeImportExtension(path, preserveJsx) {\r\n if (typeof path === \"string\" && /^\\.\\.?\\//.test(path)) {\r\n return path.replace(/\\.(tsx)$|((?:\\.d)?)((?:\\.[^./]+?)?)\\.([cm]?)ts$/i, function (m, tsx, d, ext, cm) {\r\n return tsx ? preserveJsx ? \".jsx\" : \".js\" : d && (!ext || !cm) ? m : (d + ext + \".\" + cm.toLowerCase() + \"js\");\r\n });\r\n }\r\n return path;\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 __esDecorate: __esDecorate,\r\n __runInitializers: __runInitializers,\r\n __propKey: __propKey,\r\n __setFunctionName: __setFunctionName,\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 __rewriteRelativeImportExtension: __rewriteRelativeImportExtension,\r\n};\r\n","function styleInject(css, ref) {\n if ( ref === void 0 ) ref = {};\n var insertAt = ref.insertAt;\n\n if (!css || typeof document === 'undefined') { return; }\n\n var head = document.head || document.getElementsByTagName('head')[0];\n var style = document.createElement('style');\n style.type = 'text/css';\n\n if (insertAt === 'top') {\n if (head.firstChild) {\n head.insertBefore(style, head.firstChild);\n } else {\n head.appendChild(style);\n }\n } else {\n head.appendChild(style);\n }\n\n if (style.styleSheet) {\n style.styleSheet.cssText = css;\n } else {\n style.appendChild(document.createTextNode(css));\n }\n}\n\nexport default styleInject;\n","export const filterNumericInput = (value: string): string => {\n // Allow digits, a single leading hyphen, and a single decimal point\n const parts = value.split('.');\n let integerPart = parts[0].replace(/[^0-9-]/g, '');\n let decimalPart = parts.length > 1 ? '.' + parts[1].replace(/[^0-9]/g, '') : '';\n\n // Ensure only one leading hyphen\n if (integerPart.startsWith('-')) {\n integerPart = '-' + integerPart.substring(1).replace(/-/g, '');\n } else {\n integerPart = integerPart.replace(/-/g, '');\n }\n\n let newValue = integerPart + decimalPart;\n\n // Prevent multiple decimal points\n if (newValue.indexOf('.') !== -1 && newValue.indexOf('.') !== newValue.lastIndexOf('.')) {\n newValue = newValue.substring(0, newValue.lastIndexOf('.'));\n }\n\n return newValue;\n};\n","import { useState, useEffect } from \"react\";\nimport { ZestProps } from \"../types\";\n\nexport const useThemeDetector = (theme: ZestProps['theme'] = \"system\") => {\n const [isDark, setIsDark] = useState(false);\n\n useEffect(() => {\n if (theme === \"dark\") {\n setIsDark(true);\n return;\n }\n if (theme === \"light\") {\n setIsDark(false);\n return;\n }\n\n // System theme\n const mediaQuery = window.matchMedia(\"(prefers-color-scheme: dark)\");\n const handleChange = () => setIsDark(mediaQuery.matches);\n\n handleChange(); // Set initial theme\n mediaQuery.addEventListener(\"change\", handleChange);\n\n return () => mediaQuery.removeEventListener(\"change\", handleChange);\n }, [theme]);\n\n return isDark;\n};\n","import { useState } from \"react\";\n\nexport const usePasswordVisibility = (isPasswordType: boolean) => {\n const [isPasswordVisible, setIsPasswordVisible] = useState(false);\n\n const togglePasswordVisibility = () => {\n if (isPasswordType) {\n setIsPasswordVisible((prev) => !prev);\n }\n };\n\n return { isPasswordVisible, togglePasswordVisibility };\n};\n","import { useMemo } from \"react\";\nimport styles from \"../../Styles/ZestTextbox.module.css\";\n\nexport const useCharacterCounter = (\n value: string,\n maxLength: number | undefined,\n animatedCounter: boolean\n) => {\n const currentLength = value.length;\n const showCounter = typeof maxLength === \"number\";\n const charPercentage = showCounter ? (currentLength / maxLength) * 100 : 0;\n\n const counterColorClass = useMemo(() => {\n if (!animatedCounter || !showCounter) return \"\";\n\n if (charPercentage > 90) {\n return styles.counterOrange;\n } else if (charPercentage > 70) {\n return styles.counterYellow;\n }\n return \"\";\n }, [animatedCounter, showCounter, charPercentage]);\n\n return { currentLength, charPercentage, counterColorClass, showCounter };\n};\n","import { useState, useEffect, ReactNode } from \"react\";\nimport { HelperTextConfig } from \"../types\";\n\nexport const useHelperText = (\n value: string,\n helperTextConfig: HelperTextConfig | undefined\n) => {\n const [helperTextNode, setHelperTextNode] = useState<ReactNode>(null);\n\n useEffect(() => {\n if (!helperTextConfig) {\n setHelperTextNode(null);\n return;\n }\n\n const formatted = helperTextConfig.formatter\n ? helperTextConfig.formatter(value)\n : value;\n\n const finalNode = helperTextConfig.templater\n ? helperTextConfig.templater(formatted)\n : formatted;\n\n setHelperTextNode(finalNode);\n }, [value, helperTextConfig]);\n\n return helperTextNode;\n};\n","import React from 'react';\n\nexport const IconEyeOpen: React.FC<React.SVGProps<SVGSVGElement>> = (props) => (\n <svg xmlns=\"http://www.w3.org/2000/svg\" width=\"16\" height=\"16\" fill=\"currentColor\" viewBox=\"0 0 16 16\" {...props}>\n <path d=\"M16 8s-3-5.5-8-5.5S0 8 0 8s3 5.5 8 5.5S16 8 16 8M1.173 8a13 13 0 0 1 1.66-2.043C4.12 4.668 5.88 3.5 8 3.5s3.879 1.168 5.168 2.457A13 13 0 0 1 14.828 8q-.086.13-.195.288c-.335.48-.83 1.12-1.465 1.755C11.879 11.332 10.119 12.5 8 12.5s-3.879-1.168-5.168-2.457A13 13 0 0 1 1.172 8z\"/>\n <path d=\"M8 5.5a2.5 2.5 0 1 0 0 5 2.5 2.5 0 0 0 0-5M4.5 8a3.5 3.5 0 1 1 7 0 3.5 3.5 0 0 1-7 0\"/>\n </svg>\n);\n","import React from 'react';\n\nexport const IconEyeSlashed: React.FC<React.SVGProps<SVGSVGElement>> = (props) => (\n <svg xmlns=\"http://www.w3.org/2000/svg\" width=\"16\" height=\"16\" fill=\"currentColor\" viewBox=\"0 0 16 16\" {...props}>\n <path d=\"M13.359 11.238C15.06 9.72 16 8 16 8s-3-5.5-8-5.5a7.028 7.028 0 0 0-2.79.588l.77.771A5.944 5.944 0 0 1 8 3.5c2.12 0 3.879 1.168 5.168 2.457A13.134 13.134 0 0 1 14.828 8c-.058.087-.122.183-.195.288-.335.48-.83 1.12-1.465 1.755-.165.165-.337.328-.517.486l.708.709z\"/>\n <path d=\"M11.297 9.176a3.5 3.5 0 0 0-4.474-4.474l.823.823a2.5 2.5 0 0 1 2.829 2.829l.822.822zm-2.943 1.288.822.822.073.073.026.026a3.5 3.5 0 0 1-4.474-4.474l.823.823a2.5 2.5 0 0 0 2.829 2.829l.822.822zm-2.943-1.288.822.822.073.073.026.026a3.5 3.5 0 0 1-4.474-4.474l.823.823a2.5 2.5 0 0 0 2.829 2.829l.822.822z\"/>\n <path d=\"M3.35 5.47c-.18.16-.353.322-.518.487A13.134 13.134 0 0 0 1.172 8l.195.288c.335.48.83 1.12 1.465 1.755C4.121 11.332 5.88 12.5 8 12.5c.716 0 1.39-.133 2.02-.36l.77.772A7.029 7.029 0 0 1 8 13.5C3 13.5 0 8 0 8s.939-1.721 2.641-3.238l.708.709zm10.296 6.854-12-12 .708-.708 12 12-.708.708z\"/>\n </svg>\n);\n","import React from \"react\";\nimport styles from \"../../Styles/ZestTextbox.module.css\";\nimport { IconEyeOpen } from \"../IconEyeOpen\";\nimport { IconEyeSlashed } from \"../IconEyeSlashed\";\n\ninterface PasswordToggleButtonProps {\n isPassword: boolean;\n isPasswordVisible: boolean;\n onToggle: () => void;\n}\n\nexport const PasswordToggleButton: React.FC<PasswordToggleButtonProps> = ({\n isPassword,\n isPasswordVisible,\n onToggle,\n}) => {\n if (!isPassword) return null;\n\n return (\n <div className={styles.passwordToggle} onClick={onToggle}>\n <div className={styles.tooltip}>\n {isPasswordVisible ? \"Hide password\" : \"Show password\"}\n </div>\n {isPasswordVisible ? (\n <IconEyeOpen className={styles.eyeIcon} />\n ) : (\n <IconEyeSlashed className={styles.eyeIcon} />\n )}\n </div>\n );\n};\n","import React from \"react\";\nimport styles from \"../../Styles/ZestTextbox.module.css\";\n\ninterface CharacterCounterProps {\n showCounter: boolean;\n currentLength: number;\n maxLength: number | undefined;\n counterColorClass: string;\n}\n\nexport const CharacterCounter: React.FC<CharacterCounterProps> = ({\n showCounter,\n currentLength,\n maxLength,\n counterColorClass,\n}) => {\n if (!showCounter) return null;\n\n return (\n <div className={`${styles.counter} ${counterColorClass}`}>\n {currentLength} / {maxLength}\n </div>\n );\n};\n","import React from \"react\";\nimport styles from \"../../Styles/ZestTextbox.module.css\";\n\ninterface ProgressBarProps {\n showProgressBar: boolean;\n showCounter: boolean;\n charPercentage: number;\n counterColorClass: string;\n}\n\nexport const ProgressBar: React.FC<ProgressBarProps> = ({\n showProgressBar,\n showCounter,\n charPercentage,\n counterColorClass,\n}) => {\n if (!showProgressBar || !showCounter) return null;\n\n return (\n <div className={styles.progressBarContainer}>\n <div\n className={`${styles.progressBar} ${counterColorClass}`}\n style={{ width: `${charPercentage}%` }}\n />\n </div>\n );\n};\n","import React, { ReactNode } from \"react\";\nimport styles from \"../../Styles/ZestTextbox.module.css\";\n\ninterface HelperTextDisplayProps {\n helperTextNode: ReactNode;\n className?: string;\n}\n\nexport const HelperTextDisplay: React.FC<HelperTextDisplayProps> = ({\n helperTextNode,\n className,\n}) => {\n if (!helperTextNode) return null;\n\n return (\n <div\n key={String(helperTextNode)} // Force re-mount to trigger animation\n className={`${styles.helperText} ${className || \"\"}`}\n >\n {helperTextNode}\n </div>\n );\n};\n","import React, { createContext, useContext, ReactNode } from \"react\";\nimport { ZestProps } from \"../types\";\n\n// Define the shape of the context value\ninterface ZestTextboxConfigContextType<T = string> { // Made generic\n defaultZestProps: ZestProps<T>; // Uses generic T\n}\n\n// Create the context with a default empty object\nconst ZestTextboxConfigContext = createContext<\n ZestTextboxConfigContextType<any> | undefined // Use any for context default to avoid circular dependency issues\n>(undefined);\n\n// Create a provider component\ninterface ZestTextboxConfigProviderProps<T = string> { // Made generic\n children: ReactNode;\n value?: ZestProps<T>; // Uses generic T\n}\n\nexport const ZestTextboxConfigProvider: React.FC<\n ZestTextboxConfigProviderProps<any> // Use any for provider to allow flexibility\n> = ({ children, value = {} }) => {\n return (\n <ZestTextboxConfigContext.Provider value={{ defaultZestProps: value as ZestProps<any> }}>\n {children}\n </ZestTextboxConfigContext.Provider>\n );\n};\n\n// Custom hook to use the ZestTextboxConfigContext\nexport const useZestTextboxConfig = <T = string>() => { // Made generic\n const context = useContext(ZestTextboxConfigContext);\n if (context === undefined) {\n // This error will be caught by the useZestTextboxConfig hook in ZestTextbox.tsx\n // if the component is used outside of a provider.\n return { defaultZestProps: {} as ZestProps<T> }; // Cast to generic T\n }\n return context as ZestTextboxConfigContextType<T>; // Cast to generic T\n};","import { InputParser, InputValidator, HtmlInputType } from \"../types\";\n\nexport const defaultNumberParser: InputParser<number> = (value: string, inputType?: HtmlInputType) => {\n if (inputType !== \"number\" && inputType !== \"tel\") {\n // If not a number type, don't parse as number\n return undefined;\n }\n const parsed = parseFloat(value);\n return isNaN(parsed) ? undefined : parsed;\n};\n\nexport const defaultNumberValidator: InputValidator<number> = (value: number | undefined, inputType?: HtmlInputType) => {\n if (inputType !== \"number\" && inputType !== \"tel\") {\n // If not a number type, always consider valid for this validator\n return true;\n }\n if (value === undefined) {\n return \"Invalid number format.\";\n }\n return true;\n};\n\n// You can add more default parsers/validators here for other types like 'email', 'date', etc.","import { useEffect, useState, useMemo } from \"react\";\nimport { ZestProps, ZestConfigValue, ZestTextboxSize, HelperTextConfig, ResolvedZestProps, InputParser, InputValidator, HtmlInputType } from \"../types\";\nimport { useZestTextboxConfig as useZestTextboxContext } from \"../contexts/ZestTextboxConfigContext\";\nimport { defaultNumberParser, defaultNumberValidator } from \"../utils/defaultParsersAndValidators\"; // Import defaults\n\n// Helper function to resolve a ZestConfigValue\nasync function resolveZestConfigValue<V>(\n configValue: ZestConfigValue<V> | undefined,\n defaultValue: V\n): Promise<V> {\n if (configValue === undefined) {\n return defaultValue;\n }\n if (typeof configValue === \"function\") {\n const result = (configValue as () => V | Promise<V>)();\n return result instanceof Promise ? await result : result;\n }\n return configValue;\n}\n\nconst defaultResolvedZestProps = { // Removed explicit type here, will be inferred\n zSize: \"md\",\n stretch: false,\n showProgressBar: false,\n animatedCounter: false,\n theme: \"system\",\n isMultiline: false,\n onTextChanged: undefined,\n helperTextConfig: undefined,\n parser: undefined,\n validator: undefined,\n};\n\nexport const useZestTextboxConfig = <T = string>(componentZestProps: ZestProps<T> | undefined, inputType?: HtmlInputType) => { // Made generic\n const { defaultZestProps: contextDefaultZestProps } = useZestTextboxContext<T>(); // Pass generic T\n\n // Debugging: Log context and component props\n console.log(\"useZestTextboxConfig: contextDefaultZestProps\", contextDefaultZestProps);\n console.log(\"useZestTextboxConfig: componentZestProps\", componentZestProps);\n console.log(\"useZestTextboxConfig: inputType\", inputType);\n\n\n const [resolvedZestProps, setResolvedZestProps] = useState<ResolvedZestProps<T>>(defaultResolvedZestProps as ResolvedZestProps<T>); // Cast to generic type\n\n // Memoize the merged props to avoid unnecessary re-renders\n const mergedZestProps = useMemo(() => {\n // Start with hardcoded defaults\n let currentMergedProps: ZestProps<T> = { ...defaultResolvedZestProps as ZestProps<T> }; // Cast\n\n // Apply context defaults\n currentMergedProps = { ...currentMergedProps, ...contextDefaultZestProps }; // No longer need cast here\n\n // Apply type-specific defaults if not already overridden by context\n if (inputType === \"number\") {\n if (currentMergedProps.parser === undefined) {\n currentMergedProps.parser = defaultNumberParser as InputParser<T>; // Cast\n }\n if (currentMergedProps.validator === undefined) {\n currentMergedProps.validator = defaultNumberValidator as InputValidator<T>; // Cast\n }\n }\n\n // Apply component-level props (highest precedence)\n currentMergedProps = { ...currentMergedProps, ...componentZestProps };\n\n // Debugging: Log merged props\n console.log(\"useZestTextboxConfig: mergedZestProps\", currentMergedProps);\n\n return currentMergedProps;\n }, [contextDefaultZestProps, componentZestProps, inputType]); // Added inputType to dependencies\n\n useEffect(() => {\n const resolveProps = async () => {\n const newResolvedProps: ResolvedZestProps<T> = { ...defaultResolvedZestProps as ResolvedZestProps<T> }; // Initialize with defaults and cast\n\n // Resolve each property that can be a ZestConfigValue\n newResolvedProps.zSize = await resolveZestConfigValue(\n mergedZestProps.zSize,\n (defaultResolvedZestProps.zSize as ZestTextboxSize)\n );\n newResolvedProps.stretch = await resolveZestConfigValue(\n mergedZestProps.stretch,\n (defaultResolvedZestProps.stretch as boolean)\n );\n newResolvedProps.showProgressBar = await resolveZestConfigValue(\n mergedZestProps.showProgressBar,\n (defaultResolvedZestProps.showProgressBar as boolean)\n );\n newResolvedProps.animatedCounter = await resolveZestConfigValue(\n mergedZestProps.animatedCounter,\n (defaultResolvedZestProps.animatedCounter as boolean)\n );\n newResolvedProps.theme = await resolveZestConfigValue(\n mergedZestProps.theme,\n (defaultResolvedZestProps.theme as \"light\" | \"dark\" | \"system\")\n );\n newResolvedProps.isMultiline = await resolveZestConfigValue(\n mergedZestProps.isMultiline,\n (defaultResolvedZestProps.isMultiline as boolean)\n );\n // onTextChanged is no longer a ZestConfigValue, so it's directly assigned\n newResolvedProps.onTextChanged = mergedZestProps.onTextChanged;\n\n newResolvedProps.helperTextConfig = await resolveZestConfigValue(\n mergedZestProps.helperTextConfig,\n (defaultResolvedZestProps.helperTextConfig as HelperTextConfig | undefined)\n );\n newResolvedProps.parser = await resolveZestConfigValue(\n mergedZestProps.parser,\n (defaultResolvedZestProps.parser as InputParser<T> | undefined)\n );\n newResolvedProps.validator = await resolveZestConfigValue(\n mergedZestProps.validator,\n (defaultResolvedZestProps.validator as InputValidator<T> | undefined)\n );\n\n // Debugging: Log newResolvedProps before setting state\n console.log(\"useZestTextboxConfig: newResolvedProps\", newResolvedProps);\n console.log(\"useZestTextboxConfig: current resolvedZestProps\", resolvedZestProps);\n\n\n setResolvedZestProps(newResolvedProps);\n };\n\n resolveProps();\n }, [mergedZestProps]); // Re-run effect if merged props change\n\n return resolvedZestProps;\n};","import { useState, useEffect, useCallback } from \"react\";\nimport { InputParser, InputValidator, HtmlInputType } from \"../types\";\n\ninterface UseParsedAndValidatedInputArgs<T> {\n rawValue: string;\n inputType?: HtmlInputType;\n parser: InputParser<T> | undefined;\n validator: InputValidator<T> | undefined;\n onParsedAndValidatedChange: ((value: T | undefined) => void) | undefined;\n}\n\nexport const useParsedAndValidatedInput = <T>({\n rawValue,\n inputType,\n parser,\n validator,\n onParsedAndValidatedChange,\n}: UseParsedAndValidatedInputArgs<T>) => {\n const [parsedValue, setParsedValue] = useState<T | undefined>(undefined);\n const [isValid, setIsValid] = useState(true);\n const [validationMessage, setValidationMessage] = useState<string | undefined>(undefined);\n\n useEffect(() => {\n let currentParsedValue: T | undefined = undefined;\n let currentIsValid = true;\n let currentValidationMessage: string | undefined = undefined;\n\n // Debugging: Log validator's state\n console.log(\"useParsedAndValidatedInput: rawValue\", rawValue);\n console.log(\"useParsedAndValidatedInput: inputType\", inputType);\n console.log(\"useParsedAndValidatedInput: validator\", validator);\n console.log(\"useParsedAndValidatedInput: typeof validator\", typeof validator);\n\n\n // 1. Parse the raw value\n if (parser) {\n currentParsedValue = parser(rawValue, inputType);\n } else {\n currentParsedValue = rawValue as unknown as T;\n }\n\n // 2. Validate the parsed value\n // Robust check: ensure validator is a function before calling\n if (typeof validator === \"function\") {\n const validationResult = validator(currentParsedValue, inputType);\n if (typeof validationResult === \"string\") {\n currentIsValid = false;\n currentValidationMessage = validationResult;\n } else {\n currentIsValid = validationResult;\n if (!currentIsValid) {\n currentValidationMessage = \"Invalid input.\";\n }\n }\n } else if (validator !== undefined && validator !== null) {\n // This case should ideally not happen if types are correct, but good for debugging\n console.error(\"useParsedAndValidatedInput: 'validator' is not a function but not undefined/null:\", validator);\n }\n\n\n setParsedValue(currentParsedValue);\n setIsValid(currentIsValid);\n setValidationMessage(currentValidationMessage);\n\n if (onParsedAndValidatedChange && currentIsValid) {\n onParsedAndValidatedChange(currentParsedValue);\n }\n }, [rawValue, inputType, parser, validator, onParsedAndValidatedChange]);\n\n return { parsedValue, isValid, validationMessage };\n};\n","import React, { useState } from \"react\";\nimport styles from \"../Styles/ZestTextbox.module.css\";\nimport { IconEyeOpen } from \"./IconEyeOpen\";\nimport { IconEyeSlashed } from \"./IconEyeSlashed\";\n\nimport { ZestTextboxSize, HelperTextConfig, ZestProps, HtmlInputType, ZestTextboxProps } from \"./types\";\n\nimport { filterNumericInput } from \"./utils/numericInputFilter\";\nimport { useThemeDetector } from \"./hooks/useThemeDetector\";\nimport { usePasswordVisibility } from \"./hooks/usePasswordVisibility\";\nimport { useCharacterCounter } from \"./hooks/useCharacterCounter\";\nimport { useHelperText } from \"./hooks/useHelperText\";\nimport { PasswordToggleButton } from \"./components/PasswordToggleButton\";\nimport { CharacterCounter } from \"./components/CharacterCounter\";\nimport { ProgressBar } from \"./components/ProgressBar\";\nimport { HelperTextDisplay } from \"./components/HelperTextDisplay\";\nimport { useZestTextboxConfig } from \"./hooks/useZestTextboxConfig\";\nimport { useParsedAndValidatedInput } from \"./hooks/useParsedAndValidatedInput\";\n\n// ... other imports\n\nconst ZestTextbox = <T = string>(props: ZestTextboxProps<T>) => {\n const {\n className = \"\",\n maxLength,\n onChange,\n type,\n zest, // Destructure the new zest prop\n ...rest\n } = props;\n\n // Debugging: Log ZestTextbox props\n console.log(\"ZestTextbox Props:\", { className, maxLength, type, zest, rest });\n\n\n const resolvedZestProps = useZestTextboxConfig(zest, type);\n const {\n zSize,\n stretch: fullWidth,\n showProgressBar,\n animatedCounter,\n theme,\n helperTextConfig,\n onTextChanged,\n isMultiline,\n parser,\n validator,\n } = resolvedZestProps;\n\n // Debugging: Log resolvedZestProps\n console.log(\"ZestTextbox Resolved Zest Props:\", resolvedZestProps);\n\n\n const [value, setValue] = useState(\"\");\n\n const isDark = useThemeDetector(theme);\n const isPassword = type === \"password\";\n const { isPasswordVisible, togglePasswordVisibility } = usePasswordVisibility(isPassword);\n const { currentLength, charPercentage, counterColorClass, showCounter } = useCharacterCounter(value, maxLength, animatedCounter);\n\n const {\n parsedValue,\n isValid,\n validationMessage,\n } = useParsedAndValidatedInput({\n rawValue: value,\n inputType: type, // Pass the type prop here\n parser: parser,\n validator: validator,\n onParsedAndValidatedChange: onTextChanged,\n });\n\n // Debugging: Log parsed and validated input\n console.log(\"ZestTextbox Parsed/Validated:\", { parsedValue, isValid, validationMessage });\n\n\n // Prioritize validation message over regular helper text\n const finalHelperTextNode = validationMessage ? (\n <span style={{ color: \"red\" }}>{validationMessage}</span>\n ) : useHelperText(value, helperTextConfig);\n\n\n const classList = [\n styles.textbox,\n styles[zSize],\n fullWidth ? styles.fullWidth : \"\",\n className,\n isDark ? styles.dark : \"\",\n !isValid ? styles.error : \"\", // Add error class if not valid\n ]\n .filter(Boolean)\n .join(\" \");\n\n const handleInputChange = (\n e: React.ChangeEvent<HTMLInputElement | HTMLTextAreaElement>\n ) => {\n let newValue = e.target.value;\n\n // Debugging: Log new value from input change\n console.log(\"ZestTextbox handleInputChange: raw newValue\", newValue);\n\n\n const isNumeric = type === \"number\" || type === \"tel\";\n if (isNumeric) {\n newValue = filterNumericInput(newValue);\n // Debugging: Log newValue after numeric filter\n console.log(\"ZestTextbox handleInputChange: newValue after numeric filter\", newValue);\n }\n\n if (maxLength !== undefined && newValue.length > maxLength) {\n console.log(\"ZestTextbox handleInputChange: maxLength exceeded, not updating value\");\n return;\n }\n\n setValue(newValue);\n console.log(\"ZestTextbox handleInputChange: setValue to\", newValue);\n\n\n if (onChange) onChange(e as never);\n // onTextChanged is now handled by useParsedAndValidatedInput\n };\n\n const isNumeric = type === \"number\" || type === \"tel\";\n const inputType = isPassword && isPasswordVisible ? \"text\" : isNumeric ? \"tel\" : type;\n\n const commonProps = {\n className: classList,\n maxLength,\n onChange: handleInputChange,\n value,\n type: inputType,\n ...rest,\n };\n\n return (\n <div className={styles.wrapper}>\n {isMultiline ? ( // Use isMultiline from zest\n <textarea\n {...(commonProps as React.TextareaHTMLAttributes<HTMLTextAreaElement>)}\n />\n ) : (\n <input\n {...(commonProps as React.InputHTMLAttributes<HTMLInputElement>)}\n />\n )}\n\n <HelperTextDisplay\n helperTextNode={finalHelperTextNode}\n className={helperTextConfig?.className || ''}\n />\n\n <CharacterCounter\n showCounter={showCounter}\n currentLength={currentLength}\n maxLength={maxLength}\n counterColorClass={counterColorClass}\n />\n\n <PasswordToggleButton\n isPassword={isPassword}\n isPasswordVisible={isPasswordVisible}\n onToggle={togglePasswordVisibility}\n />\n\n <ProgressBar\n showProgressBar={showProgressBar}\n showCounter={showCounter}\n charPercentage={charPercentage}\n counterColorClass={counterColorClass}\n />\n </div>\n );\n};\n\nexport default ZestTextbox;"],"names":["useState","useEffect","useMemo","_jsxs","_jsx","createContext","useZestTextboxConfig","useContext","useZestTextboxContext"],"mappings":"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","x_google_ignoreList":[0,1]}
|
|
1
|
+
{"version":3,"file":"index.js","sources":["../node_modules/tslib/tslib.es6.js","../node_modules/style-inject/dist/style-inject.es.js","../UI/utils/numericInputFilter.ts","../UI/hooks/useThemeDetector.ts","../UI/hooks/usePasswordVisibility.ts","../UI/hooks/useCharacterCounter.ts","../UI/hooks/useHelperText.ts","../UI/IconEyeOpen.tsx","../UI/IconEyeSlashed.tsx","../UI/components/PasswordToggleButton.tsx","../UI/components/CharacterCounter.tsx","../UI/components/ProgressBar.tsx","../UI/components/HelperTextDisplay.tsx","../UI/contexts/ZestTextboxConfigContext.tsx","../UI/utils/defaultParsersAndValidators.ts","../UI/hooks/useZestTextboxConfig.ts","../UI/hooks/useParsedAndValidatedInput.ts","../UI/ZestTextbox.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\nvar ownKeys = function(o) {\r\n ownKeys = Object.getOwnPropertyNames || function (o) {\r\n var ar = [];\r\n for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;\r\n return ar;\r\n };\r\n return ownKeys(o);\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 = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== \"default\") __createBinding(result, mod, k[i]);\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 function __rewriteRelativeImportExtension(path, preserveJsx) {\r\n if (typeof path === \"string\" && /^\\.\\.?\\//.test(path)) {\r\n return path.replace(/\\.(tsx)$|((?:\\.d)?)((?:\\.[^./]+?)?)\\.([cm]?)ts$/i, function (m, tsx, d, ext, cm) {\r\n return tsx ? preserveJsx ? \".jsx\" : \".js\" : d && (!ext || !cm) ? m : (d + ext + \".\" + cm.toLowerCase() + \"js\");\r\n });\r\n }\r\n return path;\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 __esDecorate: __esDecorate,\r\n __runInitializers: __runInitializers,\r\n __propKey: __propKey,\r\n __setFunctionName: __setFunctionName,\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 __rewriteRelativeImportExtension: __rewriteRelativeImportExtension,\r\n};\r\n","function styleInject(css, ref) {\n if ( ref === void 0 ) ref = {};\n var insertAt = ref.insertAt;\n\n if (!css || typeof document === 'undefined') { return; }\n\n var head = document.head || document.getElementsByTagName('head')[0];\n var style = document.createElement('style');\n style.type = 'text/css';\n\n if (insertAt === 'top') {\n if (head.firstChild) {\n head.insertBefore(style, head.firstChild);\n } else {\n head.appendChild(style);\n }\n } else {\n head.appendChild(style);\n }\n\n if (style.styleSheet) {\n style.styleSheet.cssText = css;\n } else {\n style.appendChild(document.createTextNode(css));\n }\n}\n\nexport default styleInject;\n","export const filterNumericInput = (value: string): string => {\n // Allow digits, a single leading hyphen, and a single decimal point\n const parts = value.split('.');\n let integerPart = parts[0].replace(/[^0-9-]/g, '');\n let decimalPart = parts.length > 1 ? '.' + parts[1].replace(/[^0-9]/g, '') : '';\n\n // Ensure only one leading hyphen\n if (integerPart.startsWith('-')) {\n integerPart = '-' + integerPart.substring(1).replace(/-/g, '');\n } else {\n integerPart = integerPart.replace(/-/g, '');\n }\n\n let newValue = integerPart + decimalPart;\n\n // Prevent multiple decimal points\n if (newValue.indexOf('.') !== -1 && newValue.indexOf('.') !== newValue.lastIndexOf('.')) {\n newValue = newValue.substring(0, newValue.lastIndexOf('.'));\n }\n\n return newValue;\n};\n","import { useState, useEffect } from \"react\";\nimport { ZestProps } from \"../types\";\n\nexport const useThemeDetector = (theme: ZestProps['theme'] = \"system\") => {\n const [isDark, setIsDark] = useState(false);\n\n useEffect(() => {\n if (theme === \"dark\") {\n setIsDark(true);\n return;\n }\n if (theme === \"light\") {\n setIsDark(false);\n return;\n }\n\n // System theme\n const mediaQuery = window.matchMedia(\"(prefers-color-scheme: dark)\");\n const handleChange = () => setIsDark(mediaQuery.matches);\n\n handleChange(); // Set initial theme\n mediaQuery.addEventListener(\"change\", handleChange);\n\n return () => mediaQuery.removeEventListener(\"change\", handleChange);\n }, [theme]);\n\n return isDark;\n};\n","import { useState } from \"react\";\n\nexport const usePasswordVisibility = (isPasswordType: boolean) => {\n const [isPasswordVisible, setIsPasswordVisible] = useState(false);\n\n const togglePasswordVisibility = () => {\n if (isPasswordType) {\n setIsPasswordVisible((prev) => !prev);\n }\n };\n\n return { isPasswordVisible, togglePasswordVisibility };\n};\n","import { useMemo } from \"react\";\nimport styles from \"../../Styles/ZestTextbox.module.css\";\n\nexport const useCharacterCounter = (\n value: string,\n maxLength: number | undefined,\n animatedCounter: boolean\n) => {\n const currentLength = value.length;\n const showCounter = typeof maxLength === \"number\";\n const charPercentage = showCounter ? (currentLength / maxLength) * 100 : 0;\n\n const counterColorClass = useMemo(() => {\n if (!animatedCounter || !showCounter) return \"\";\n\n if (charPercentage > 90) {\n return styles.counterOrange;\n } else if (charPercentage > 70) {\n return styles.counterYellow;\n }\n return \"\";\n }, [animatedCounter, showCounter, charPercentage]);\n\n return { currentLength, charPercentage, counterColorClass, showCounter };\n};\n","import { useState, useEffect, ReactNode } from \"react\";\nimport { HelperTextConfig } from \"../types\";\n\nexport const useHelperText = (\n value: string,\n helperTextConfig: HelperTextConfig | undefined\n) => {\n const [helperTextNode, setHelperTextNode] = useState<ReactNode>(null);\n\n useEffect(() => {\n if (!helperTextConfig) {\n setHelperTextNode(null);\n return;\n }\n\n const formatted = helperTextConfig.formatter\n ? helperTextConfig.formatter(value)\n : value;\n\n const finalNode = helperTextConfig.templater\n ? helperTextConfig.templater(formatted)\n : formatted;\n\n setHelperTextNode(finalNode);\n }, [value, helperTextConfig]);\n\n return helperTextNode;\n};\n","import React from 'react';\n\nexport const IconEyeOpen: React.FC<React.SVGProps<SVGSVGElement>> = (props) => (\n <svg xmlns=\"http://www.w3.org/2000/svg\" width=\"16\" height=\"16\" fill=\"currentColor\" viewBox=\"0 0 16 16\" {...props}>\n <path d=\"M16 8s-3-5.5-8-5.5S0 8 0 8s3 5.5 8 5.5S16 8 16 8M1.173 8a13 13 0 0 1 1.66-2.043C4.12 4.668 5.88 3.5 8 3.5s3.879 1.168 5.168 2.457A13 13 0 0 1 14.828 8q-.086.13-.195.288c-.335.48-.83 1.12-1.465 1.755C11.879 11.332 10.119 12.5 8 12.5s-3.879-1.168-5.168-2.457A13 13 0 0 1 1.172 8z\"/>\n <path d=\"M8 5.5a2.5 2.5 0 1 0 0 5 2.5 2.5 0 0 0 0-5M4.5 8a3.5 3.5 0 1 1 7 0 3.5 3.5 0 0 1-7 0\"/>\n </svg>\n);\n","import React from 'react';\n\nexport const IconEyeSlashed: React.FC<React.SVGProps<SVGSVGElement>> = (props) => (\n <svg xmlns=\"http://www.w3.org/2000/svg\" width=\"16\" height=\"16\" fill=\"currentColor\" viewBox=\"0 0 16 16\" {...props}>\n <path d=\"M13.359 11.238C15.06 9.72 16 8 16 8s-3-5.5-8-5.5a7.028 7.028 0 0 0-2.79.588l.77.771A5.944 5.944 0 0 1 8 3.5c2.12 0 3.879 1.168 5.168 2.457A13.134 13.134 0 0 1 14.828 8c-.058.087-.122.183-.195.288-.335.48-.83 1.12-1.465 1.755-.165.165-.337.328-.517.486l.708.709z\"/>\n <path d=\"M11.297 9.176a3.5 3.5 0 0 0-4.474-4.474l.823.823a2.5 2.5 0 0 1 2.829 2.829l.822.822zm-2.943 1.288.822.822.073.073.026.026a3.5 3.5 0 0 1-4.474-4.474l.823.823a2.5 2.5 0 0 0 2.829 2.829l.822.822zm-2.943-1.288.822.822.073.073.026.026a3.5 3.5 0 0 1-4.474-4.474l.823.823a2.5 2.5 0 0 0 2.829 2.829l.822.822z\"/>\n <path d=\"M3.35 5.47c-.18.16-.353.322-.518.487A13.134 13.134 0 0 0 1.172 8l.195.288c.335.48.83 1.12 1.465 1.755C4.121 11.332 5.88 12.5 8 12.5c.716 0 1.39-.133 2.02-.36l.77.772A7.029 7.029 0 0 1 8 13.5C3 13.5 0 8 0 8s.939-1.721 2.641-3.238l.708.709zm10.296 6.854-12-12 .708-.708 12 12-.708.708z\"/>\n </svg>\n);\n","import React from \"react\";\nimport styles from \"../../Styles/ZestTextbox.module.css\";\nimport { IconEyeOpen } from \"../IconEyeOpen\";\nimport { IconEyeSlashed } from \"../IconEyeSlashed\";\n\ninterface PasswordToggleButtonProps {\n isPassword: boolean;\n isPasswordVisible: boolean;\n onToggle: () => void;\n}\n\nexport const PasswordToggleButton: React.FC<PasswordToggleButtonProps> = ({\n isPassword,\n isPasswordVisible,\n onToggle,\n}) => {\n if (!isPassword) return null;\n\n return (\n <div className={styles.passwordToggle} onClick={onToggle}>\n <div className={styles.tooltip}>\n {isPasswordVisible ? \"Hide password\" : \"Show password\"}\n </div>\n {isPasswordVisible ? (\n <IconEyeOpen className={styles.eyeIcon} />\n ) : (\n <IconEyeSlashed className={styles.eyeIcon} />\n )}\n </div>\n );\n};\n","import React from \"react\";\nimport styles from \"../../Styles/ZestTextbox.module.css\";\n\ninterface CharacterCounterProps {\n showCounter: boolean;\n currentLength: number;\n maxLength: number | undefined;\n counterColorClass: string;\n}\n\nexport const CharacterCounter: React.FC<CharacterCounterProps> = ({\n showCounter,\n currentLength,\n maxLength,\n counterColorClass,\n}) => {\n if (!showCounter) return null;\n\n return (\n <div className={`${styles.counter} ${counterColorClass}`}>\n {currentLength} / {maxLength}\n </div>\n );\n};\n","import React from \"react\";\nimport styles from \"../../Styles/ZestTextbox.module.css\";\n\ninterface ProgressBarProps {\n showProgressBar: boolean;\n showCounter: boolean;\n charPercentage: number;\n counterColorClass: string;\n}\n\nexport const ProgressBar: React.FC<ProgressBarProps> = ({\n showProgressBar,\n showCounter,\n charPercentage,\n counterColorClass,\n}) => {\n if (!showProgressBar || !showCounter) return null;\n\n return (\n <div className={styles.progressBarContainer}>\n <div\n className={`${styles.progressBar} ${counterColorClass}`}\n style={{ width: `${charPercentage}%` }}\n />\n </div>\n );\n};\n","import React, { ReactNode } from \"react\";\nimport styles from \"../../Styles/ZestTextbox.module.css\";\n\ninterface HelperTextDisplayProps {\n helperTextNode: ReactNode;\n className?: string;\n}\n\nexport const HelperTextDisplay: React.FC<HelperTextDisplayProps> = ({\n helperTextNode,\n className,\n}) => {\n if (!helperTextNode) return null;\n\n return (\n <div\n key={String(helperTextNode)} // Force re-mount to trigger animation\n className={`${styles.helperText} ${className || \"\"}`}\n >\n {helperTextNode}\n </div>\n );\n};\n","import React, { createContext, useContext, ReactNode } from \"react\";\nimport { ZestProps } from \"../types\";\n\n// Define the shape of the context value\ninterface ZestTextboxConfigContextType<T = string> { // Made generic\n defaultZestProps: ZestProps<T>; // Uses generic T\n}\n\n// Create the context with a default empty object\nconst ZestTextboxConfigContext = createContext<\n ZestTextboxConfigContextType<any> | undefined // Use any for context default to avoid circular dependency issues\n>(undefined);\n\n// Create a provider component\ninterface ZestTextboxConfigProviderProps<T = string> { // Made generic\n children: ReactNode;\n value?: ZestProps<T>; // Uses generic T\n}\n\nexport const ZestTextboxConfigProvider: React.FC<\n ZestTextboxConfigProviderProps<any> // Use any for provider to allow flexibility\n> = ({ children, value = {} }) => {\n return (\n <ZestTextboxConfigContext.Provider value={{ defaultZestProps: value as ZestProps<any> }}>\n {children}\n </ZestTextboxConfigContext.Provider>\n );\n};\n\n// Custom hook to use the ZestTextboxConfigContext\nexport const useZestTextboxConfig = <T = string>() => { // Made generic\n const context = useContext(ZestTextboxConfigContext);\n if (context === undefined) {\n // This error will be caught by the useZestTextboxConfig hook in ZestTextbox.tsx\n // if the component is used outside of a provider.\n return { defaultZestProps: {} as ZestProps<T> }; // Cast to generic T\n }\n return context as ZestTextboxConfigContextType<T>; // Cast to generic T\n};","import { InputParser, InputValidator, HtmlInputType } from \"../types\";\n\nexport const defaultNumberParser: InputParser<number> = (value: string, inputType?: HtmlInputType) => {\n if (inputType !== \"number\" && inputType !== \"tel\") {\n // If not a number type, don't parse as number\n return undefined;\n }\n const parsed = parseFloat(value);\n return isNaN(parsed) ? undefined : parsed;\n};\n\nexport const defaultNumberValidator: InputValidator<number> = (value: number | undefined, inputType?: HtmlInputType) => {\n if (inputType !== \"number\" && inputType !== \"tel\") {\n // If not a number type, always consider valid for this validator\n return true;\n }\n if (value === undefined) {\n return \"Invalid number format.\";\n }\n return true;\n};\n\n// You can add more default parsers/validators here for other types like 'email', 'date', etc.","import { useEffect, useState, useMemo } from \"react\";\nimport { ZestProps, ZestConfigValue, ZestTextboxSize, HelperTextConfig, ResolvedZestProps, InputParser, InputValidator, HtmlInputType } from \"../types\";\nimport { useZestTextboxConfig as useZestTextboxContext } from \"../contexts/ZestTextboxConfigContext\";\nimport { defaultNumberParser, defaultNumberValidator } from \"../utils/defaultParsersAndValidators\"; // Import defaults\n\n// Helper function to resolve a ZestConfigValue\nasync function resolveZestConfigValue<V>(\n configValue: ZestConfigValue<V> | undefined,\n defaultValue: V\n): Promise<V> {\n if (configValue === undefined) {\n return defaultValue;\n }\n if (typeof configValue === \"function\") {\n const result = (configValue as () => V | Promise<V>)();\n return result instanceof Promise ? await result : result;\n }\n return configValue;\n}\n\nconst defaultResolvedZestProps = { // Removed explicit type here, will be inferred\n zSize: \"md\",\n stretch: false,\n showProgressBar: false,\n animatedCounter: false,\n theme: \"system\",\n isMultiline: false,\n onTextChanged: undefined,\n helperTextConfig: undefined,\n parser: undefined,\n validator: undefined,\n};\n\nexport const useZestTextboxConfig = <T = string>(componentZestProps: ZestProps<T> | undefined, inputType?: HtmlInputType) => { // Made generic\n const { defaultZestProps: contextDefaultZestProps } = useZestTextboxContext<T>(); // Pass generic T\n\n const [resolvedZestProps, setResolvedZestProps] = useState<ResolvedZestProps<T>>(defaultResolvedZestProps as ResolvedZestProps<T>); // Cast to generic type\n\n // Memoize the merged props to avoid unnecessary re-renders\n const mergedZestProps = useMemo(() => {\n // Start with hardcoded defaults\n let currentMergedProps: ZestProps<T> = { ...defaultResolvedZestProps as ZestProps<T> }; // Cast\n\n // Apply context defaults\n currentMergedProps = { ...currentMergedProps, ...contextDefaultZestProps }; // No longer need cast here\n\n // Apply type-specific defaults if not already overridden by context\n if (inputType === \"number\") {\n if (currentMergedProps.parser === undefined) {\n currentMergedProps.parser = defaultNumberParser as InputParser<T>; // Cast\n }\n if (currentMergedProps.validator === undefined) {\n currentMergedProps.validator = defaultNumberValidator as InputValidator<T>; // Cast\n }\n }\n\n // Apply component-level props (highest precedence)\n currentMergedProps = { ...currentMergedProps, ...componentZestProps };\n\n return currentMergedProps;\n }, [contextDefaultZestProps, componentZestProps, inputType]); // Added inputType to dependencies\n\n useEffect(() => {\n const resolveProps = async () => {\n const newResolvedProps: ResolvedZestProps<T> = { ...defaultResolvedZestProps as ResolvedZestProps<T> }; // Initialize with defaults and cast\n\n // Resolve each property that can be a ZestConfigValue\n newResolvedProps.zSize = await resolveZestConfigValue(\n mergedZestProps.zSize,\n (defaultResolvedZestProps.zSize as ZestTextboxSize)\n );\n newResolvedProps.stretch = await resolveZestConfigValue(\n mergedZestProps.stretch,\n (defaultResolvedZestProps.stretch as boolean)\n );\n newResolvedProps.showProgressBar = await resolveZestConfigValue(\n mergedZestProps.showProgressBar,\n (defaultResolvedZestProps.showProgressBar as boolean)\n );\n newResolvedProps.animatedCounter = await resolveZestConfigValue(\n mergedZestProps.animatedCounter,\n (defaultResolvedZestProps.animatedCounter as boolean)\n );\n newResolvedProps.theme = await resolveZestConfigValue(\n mergedZestProps.theme,\n (defaultResolvedZestProps.theme as \"light\" | \"dark\" | \"system\")\n );\n newResolvedProps.isMultiline = await resolveZestConfigValue(\n mergedZestProps.isMultiline,\n (defaultResolvedZestProps.isMultiline as boolean)\n );\n // onTextChanged is no longer a ZestConfigValue, so it's directly assigned\n newResolvedProps.onTextChanged = mergedZestProps.onTextChanged;\n\n newResolvedProps.helperTextConfig = await resolveZestConfigValue(\n mergedZestProps.helperTextConfig,\n (defaultResolvedZestProps.helperTextConfig as HelperTextConfig | undefined)\n );\n newResolvedProps.parser = await resolveZestConfigValue(\n mergedZestProps.parser,\n (defaultResolvedZestProps.parser as InputParser<T> | undefined)\n );\n newResolvedProps.validator = await resolveZestConfigValue(\n mergedZestProps.validator,\n (defaultResolvedZestProps.validator as InputValidator<T> | undefined)\n );\n\n setResolvedZestProps(newResolvedProps);\n };\n\n resolveProps();\n }, [mergedZestProps]); // Re-run effect if merged props change\n\n return resolvedZestProps;\n};\n","import { useState, useEffect, useCallback } from \"react\";\nimport { InputParser, InputValidator, HtmlInputType } from \"../types\";\n\ninterface UseParsedAndValidatedInputArgs<T> {\n rawValue: string;\n inputType?: HtmlInputType;\n parser: InputParser<T> | undefined;\n validator: InputValidator<T> | undefined;\n onParsedAndValidatedChange: ((value: T | undefined) => void) | undefined;\n}\n\nexport const useParsedAndValidatedInput = <T>({\n rawValue,\n inputType,\n parser,\n validator,\n onParsedAndValidatedChange,\n}: UseParsedAndValidatedInputArgs<T>) => {\n const [parsedValue, setParsedValue] = useState<T | undefined>(undefined);\n const [isValid, setIsValid] = useState(true);\n const [validationMessage, setValidationMessage] = useState<string | undefined>(undefined);\n\n useEffect(() => {\n // --- OPTION 2 IMPLEMENTATION ---\n // If no custom parser or validator is provided, and it's not a number type\n // where default parsers/validators would be injected,\n // then simply pass the raw value and bypass complex logic.\n // This assumes that if parser/validator are undefined, the consumer expects raw string.\n const isNumericType = inputType === \"number\" || inputType === \"tel\";\n if (!parser && !validator && !isNumericType) {\n setParsedValue(rawValue as unknown as T); // Cast raw string to T\n setIsValid(true);\n setValidationMessage(undefined);\n if (onParsedAndValidatedChange) {\n onParsedAndValidatedChange(rawValue as unknown as T); // Pass raw string as T\n }\n return; // Bypass the rest of the useEffect logic\n }\n // --- END OPTION 2 IMPLEMENTATION ---\n\n let currentParsedValue: T | undefined = undefined;\n let currentIsValid = true;\n let currentValidationMessage: string | undefined = undefined;\n\n // 1. Parse the raw value\n if (parser) {\n currentParsedValue = parser(rawValue, inputType);\n } else {\n currentParsedValue = rawValue as unknown as T;\n }\n\n // 2. Validate the parsed value\n if (typeof validator === \"function\") {\n const validationResult = validator(currentParsedValue, inputType);\n if (typeof validationResult === \"string\") {\n currentIsValid = false;\n currentValidationMessage = validationResult;\n } else {\n currentIsValid = validationResult;\n if (!currentIsValid) {\n currentValidationMessage = \"Invalid input.\";\n }\n }\n }\n\n\n setParsedValue(currentParsedValue);\n setIsValid(currentIsValid);\n setValidationMessage(currentValidationMessage);\n\n if (onParsedAndValidatedChange && currentIsValid) {\n onParsedAndValidatedChange(currentParsedValue);\n }\n }, [rawValue, inputType, parser, validator, onParsedAndValidatedChange]);\n\n return { parsedValue, isValid, validationMessage };\n};\n","import React, { useState } from \"react\";\nimport styles from \"../Styles/ZestTextbox.module.css\";\nimport { IconEyeOpen } from \"./IconEyeOpen\";\nimport { IconEyeSlashed } from \"./IconEyeSlashed\";\n\nimport { ZestTextboxSize, HelperTextConfig, ZestProps, HtmlInputType, ZestTextboxProps } from \"./types\";\n\nimport { filterNumericInput } from \"./utils/numericInputFilter\";\nimport { useThemeDetector } from \"./hooks/useThemeDetector\";\nimport { usePasswordVisibility } from \"./hooks/usePasswordVisibility\";\nimport { useCharacterCounter } from \"./hooks/useCharacterCounter\";\nimport { useHelperText } from \"./hooks/useHelperText\";\nimport { PasswordToggleButton } from \"./components/PasswordToggleButton\";\nimport { CharacterCounter } from \"./components/CharacterCounter\";\nimport { ProgressBar } from \"./components/ProgressBar\";\nimport { HelperTextDisplay } from \"./components/HelperTextDisplay\";\nimport { useZestTextboxConfig } from \"./hooks/useZestTextboxConfig\";\nimport { useParsedAndValidatedInput } from \"./hooks/useParsedAndValidatedInput\";\n\n// ... other imports\n\nconst ZestTextbox = <T = string>(props: ZestTextboxProps<T>) => {\n const {\n className = \"\",\n maxLength,\n onChange,\n type,\n zest, // Destructure the new zest prop\n ...rest\n } = props;\n\n const resolvedZestProps = useZestTextboxConfig(zest, type);\n const {\n zSize,\n stretch: fullWidth,\n showProgressBar,\n animatedCounter,\n theme,\n helperTextConfig,\n onTextChanged,\n isMultiline,\n parser,\n validator,\n } = resolvedZestProps;\n\n const [value, setValue] = useState(\"\");\n\n const isDark = useThemeDetector(theme);\n const isPassword = type === \"password\";\n const { isPasswordVisible, togglePasswordVisibility } = usePasswordVisibility(isPassword);\n const { currentLength, charPercentage, counterColorClass, showCounter } = useCharacterCounter(value, maxLength, animatedCounter);\n\n const {\n parsedValue,\n isValid,\n validationMessage,\n } = useParsedAndValidatedInput({\n rawValue: value,\n inputType: type, // Pass the type prop here\n parser: parser,\n validator: validator,\n onParsedAndValidatedChange: onTextChanged,\n });\n\n // Prioritize validation message over regular helper text\n const finalHelperTextNode = validationMessage ? (\n <span style={{ color: \"red\" }}>{validationMessage}</span>\n ) : useHelperText(value, helperTextConfig);\n\n\n const classList = [\n styles.textbox,\n styles[zSize],\n fullWidth ? styles.fullWidth : \"\",\n className,\n isDark ? styles.dark : \"\",\n !isValid ? styles.error : \"\", // Add error class if not valid\n ]\n .filter(Boolean)\n .join(\" \");\n\n const handleInputChange = (\n e: React.ChangeEvent<HTMLInputElement | HTMLTextAreaElement>\n ) => {\n let newValue = e.target.value;\n\n const isNumeric = type === \"number\" || type === \"tel\";\n if (isNumeric) {\n newValue = filterNumericInput(newValue);\n }\n\n if (maxLength !== undefined && newValue.length > maxLength) {\n return;\n }\n\n setValue(newValue);\n\n if (onChange) onChange(e as never);\n // onTextChanged is now handled by useParsedAndValidatedInput\n };\n\n const isNumeric = type === \"number\" || type === \"tel\";\n const inputType = isPassword && isPasswordVisible ? \"text\" : isNumeric ? \"tel\" : type;\n\n const commonProps = {\n className: classList,\n maxLength,\n onChange: handleInputChange,\n value,\n type: inputType,\n ...rest,\n };\n\n return (\n <div className={styles.wrapper}>\n {isMultiline ? ( // Use isMultiline from zest\n <textarea\n {...(commonProps as React.TextareaHTMLAttributes<HTMLTextAreaElement>)}\n />\n ) : (\n <input\n {...(commonProps as React.InputHTMLAttributes<HTMLInputElement>)}\n />\n )}\n\n <HelperTextDisplay\n helperTextNode={finalHelperTextNode}\n className={helperTextConfig?.className || ''}\n />\n\n <CharacterCounter\n showCounter={showCounter}\n currentLength={currentLength}\n maxLength={maxLength}\n counterColorClass={counterColorClass}\n />\n\n <PasswordToggleButton\n isPassword={isPassword}\n isPasswordVisible={isPasswordVisible}\n onToggle={togglePasswordVisibility}\n />\n\n <ProgressBar\n showProgressBar={showProgressBar}\n showCounter={showCounter}\n charPercentage={charPercentage}\n counterColorClass={counterColorClass}\n />\n </div>\n );\n};\n\nexport default ZestTextbox;"],"names":["useState","useEffect","useMemo","_jsxs","_jsx","createContext","useZestTextboxConfig","useContext","useZestTextboxContext"],"mappings":"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","x_google_ignoreList":[0,1]}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "jattac.libs.web.zest-textbox",
|
|
3
|
-
"version": "0.2.
|
|
3
|
+
"version": "0.2.11",
|
|
4
4
|
"description": "A delightful, feature-rich, and highly customizable React textbox component. Packed with features like automatic theme detection, password visibility toggle, character counters, and engaging animations.",
|
|
5
5
|
"main": "dist/index.js",
|
|
6
6
|
"module": "dist/index.esm.js",
|