aha-components 1.2.2 → 1.3.1

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.
Files changed (102) hide show
  1. package/dist/Button.esm.js +1 -1
  2. package/dist/Button.esm.js.map +1 -1
  3. package/dist/Button.js +1 -1
  4. package/dist/Button.js.map +1 -1
  5. package/dist/Checkbox.esm.js +2 -0
  6. package/dist/Checkbox.esm.js.map +1 -0
  7. package/dist/Checkbox.js +2 -0
  8. package/dist/Checkbox.js.map +1 -0
  9. package/dist/Form.esm.js +2 -0
  10. package/dist/Form.esm.js.map +1 -0
  11. package/dist/Form.js +2 -0
  12. package/dist/Form.js.map +1 -0
  13. package/dist/Input.esm.js +1 -1
  14. package/dist/Input.esm.js.map +1 -1
  15. package/dist/Input.js +1 -1
  16. package/dist/Input.js.map +1 -1
  17. package/dist/MenuList.esm.js +2 -0
  18. package/dist/MenuList.esm.js.map +1 -0
  19. package/dist/MenuList.js +2 -0
  20. package/dist/MenuList.js.map +1 -0
  21. package/dist/Pagination.esm.js +2 -0
  22. package/dist/Pagination.esm.js.map +1 -0
  23. package/dist/Pagination.js +2 -0
  24. package/dist/Pagination.js.map +1 -0
  25. package/dist/Progress.esm.js +2 -0
  26. package/dist/Progress.esm.js.map +1 -0
  27. package/dist/Progress.js +2 -0
  28. package/dist/Progress.js.map +1 -0
  29. package/dist/Radio.esm.js +2 -0
  30. package/dist/Radio.esm.js.map +1 -0
  31. package/dist/Radio.js +2 -0
  32. package/dist/Radio.js.map +1 -0
  33. package/dist/Select.esm.js +2 -0
  34. package/dist/Select.esm.js.map +1 -0
  35. package/dist/Select.js +2 -0
  36. package/dist/Select.js.map +1 -0
  37. package/dist/Switch.esm.js +2 -0
  38. package/dist/Switch.esm.js.map +1 -0
  39. package/dist/Switch.js +2 -0
  40. package/dist/Switch.js.map +1 -0
  41. package/dist/Tab.esm.js +2 -0
  42. package/dist/Tab.esm.js.map +1 -0
  43. package/dist/Tab.js +2 -0
  44. package/dist/Tab.js.map +1 -0
  45. package/dist/Table.esm.js +2 -0
  46. package/dist/Table.esm.js.map +1 -0
  47. package/dist/Table.js +2 -0
  48. package/dist/Table.js.map +1 -0
  49. package/dist/Tag.esm.js +1 -1
  50. package/dist/Tag.esm.js.map +1 -1
  51. package/dist/Tag.js +1 -1
  52. package/dist/Tag.js.map +1 -1
  53. package/dist/Textarea.esm.js +2 -0
  54. package/dist/Textarea.esm.js.map +1 -0
  55. package/dist/Textarea.js +2 -0
  56. package/dist/Textarea.js.map +1 -0
  57. package/dist/Tooltip.esm.js +2 -0
  58. package/dist/Tooltip.esm.js.map +1 -0
  59. package/dist/Tooltip.js +2 -0
  60. package/dist/Tooltip.js.map +1 -0
  61. package/dist/components/Button/Button.stories.d.ts +8 -7
  62. package/dist/components/Button/index.d.ts +20 -5
  63. package/dist/components/Checkbox/Checkbox.stories.d.ts +12 -0
  64. package/dist/components/Checkbox/index.d.ts +12 -0
  65. package/dist/components/Form/Form.stories.d.ts +15 -0
  66. package/dist/components/Form/FormContext.d.ts +34 -0
  67. package/dist/components/Form/FormItem.d.ts +58 -0
  68. package/dist/components/Form/index.d.ts +57 -0
  69. package/dist/components/Input/Input.stories.d.ts +16 -0
  70. package/dist/components/Input/index.d.ts +36 -9
  71. package/dist/components/MenuList/MenuList.stories.d.ts +15 -0
  72. package/dist/components/MenuList/MenuList.test.d.ts +1 -0
  73. package/dist/components/MenuList/index.d.ts +76 -0
  74. package/dist/components/Pagination/Pagination.stories.d.ts +16 -0
  75. package/dist/components/Pagination/index.d.ts +27 -0
  76. package/dist/components/Progress/Progress.stories.d.ts +18 -0
  77. package/dist/components/Progress/Progress.test.d.ts +1 -0
  78. package/dist/components/Progress/index.d.ts +33 -0
  79. package/dist/components/Radio/Radio.stories.d.ts +10 -0
  80. package/dist/components/Radio/index.d.ts +13 -0
  81. package/dist/components/Select/Select.stories.d.ts +17 -0
  82. package/dist/components/Select/index.d.ts +74 -0
  83. package/dist/components/Switch/Switch.stories.d.ts +14 -0
  84. package/dist/components/Switch/index.d.ts +27 -0
  85. package/dist/components/Tab/Tab.stories.d.ts +15 -0
  86. package/dist/components/Tab/index.d.ts +25 -0
  87. package/dist/components/Table/Table.stories.d.ts +16 -0
  88. package/dist/components/Table/index.d.ts +166 -0
  89. package/dist/components/Textarea/Textarea.stories.d.ts +15 -0
  90. package/dist/components/Textarea/index.d.ts +38 -0
  91. package/dist/components/Tooltip/Tooltip.stories.d.ts +18 -0
  92. package/dist/components/Tooltip/index.d.ts +27 -0
  93. package/dist/icons/index.d.ts +33 -0
  94. package/dist/index.d.ts +695 -6
  95. package/dist/index.esm.js +1 -1
  96. package/dist/index.esm.js.map +1 -1
  97. package/dist/index.js +1 -1
  98. package/dist/index.js.map +1 -1
  99. package/dist/theme/Theme.stories.d.ts +10 -0
  100. package/dist/theme/ThemeContext.d.ts +11 -0
  101. package/dist/theme/utils.d.ts +10 -0
  102. package/package.json +28 -24
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Form.js","sources":["../node_modules/tslib/tslib.es6.js","../src/components/Form/FormContext.tsx","../src/icons/index.tsx","../src/components/Form/index.tsx","../src/components/Form/FormItem.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","import React, { createContext } from 'react';\n\nexport interface FieldData {\n value?: any;\n error?: string;\n touched?: boolean;\n validating?: boolean;\n rules?: any[];\n required?: boolean;\n}\n\nexport interface FormContextValue {\n // 字段管理\n fields: Record<string, FieldData>;\n // 获取字段值\n getFieldValue: (name: string) => any;\n // 设置字段值\n setFieldValue: (name: string, value: any) => void;\n // 获取字段错误\n getFieldError: (name: string) => string | undefined;\n // 设置字段错误\n setFieldError: (name: string, error: string | undefined) => void;\n // 是否字段被触摸\n isFieldTouched: (name: string) => boolean;\n // 设置字段触摸状态\n setFieldTouched: (name: string, touched: boolean) => void;\n // 是否字段正在校验\n isFieldValidating: (name: string) => boolean;\n // 设置字段校验状态\n setFieldValidating: (name: string, validating: boolean) => void;\n // 注册字段\n registerField: (name: string, options: { rules?: any[]; required?: boolean }) => void;\n // 注销字段\n unregisterField: (name: string) => void;\n // 校验字段\n validateField: (name: string) => Promise<string | undefined>;\n // 校验所有字段\n validateFields: (nameList?: string[]) => Promise<any>;\n // 重置字段\n resetFields: (nameList?: string[]) => void;\n // 获取所有字段值\n getFieldsValue: (nameList?: string[]) => any;\n // 设置所有字段值\n setFieldsValue: (values: Record<string, any>) => void;\n // 提交表单\n submit: () => Promise<any>;\n // 标签宽度\n labelWidth?: number | string;\n // 标签对齐\n labelAlign?: 'left' | 'right';\n}\n\nexport const FormContext = createContext<FormContextValue | null>(null);\n\n","import React from \"react\";\n\n// Checkbox 选中图标\nexport const CheckIcon: React.FC<{\n className?: string;\n style?: React.CSSProperties;\n}> = ({ className, style }) => (\n <svg\n width=\"14\"\n height=\"14\"\n viewBox=\"0 0 14 14\"\n fill=\"none\"\n xmlns=\"http://www.w3.org/2000/svg\"\n className={className}\n style={style}\n >\n <path\n d=\"M11.6666 3.5L5.24992 9.91667L2.33325 7\"\n stroke=\"white\"\n strokeWidth=\"2\"\n strokeLinecap=\"round\"\n strokeLinejoin=\"round\"\n />\n </svg>\n);\n\n// Checkbox 半选中图标(减号)\nexport const MinusIcon: React.FC<{\n className?: string;\n style?: React.CSSProperties;\n}> = ({ className, style }) => (\n <svg\n width=\"14\"\n height=\"14\"\n viewBox=\"0 0 14 14\"\n fill=\"none\"\n xmlns=\"http://www.w3.org/2000/svg\"\n className={className}\n style={style}\n >\n <path\n d=\"M3.5 7H10.5\"\n stroke=\"white\"\n strokeWidth=\"2\"\n strokeLinecap=\"round\"\n strokeLinejoin=\"round\"\n />\n </svg>\n);\n\n// Sort 图标\nexport const SortIcon: React.FC<{\n className?: string;\n style?: React.CSSProperties;\n}> = ({ className, style }) => (\n <svg\n width=\"12\"\n height=\"12\"\n viewBox=\"0 0 12 12\"\n fill=\"none\"\n xmlns=\"http://www.w3.org/2000/svg\"\n className={className}\n style={style}\n >\n <path\n d=\"M3.5 7.5L6 10L8.5 7.5M3.5 4.5L6 2L8.5 4.5\"\n stroke=\"#A9A29D\"\n strokeWidth=\"1.5\"\n strokeLinecap=\"round\"\n strokeLinejoin=\"round\"\n />\n </svg>\n);\n\n// Sort 图标 降序\nexport const SortDescIcon: React.FC<{\n className?: string;\n style?: React.CSSProperties;\n}> = ({ className, style }) => (\n <svg\n width=\"12\"\n height=\"12\"\n viewBox=\"0 0 12 12\"\n fill=\"none\"\n xmlns=\"http://www.w3.org/2000/svg\"\n className={className}\n style={style}\n >\n <path\n d=\"M3.5 4.5L6 2L8.5 4.5\"\n stroke=\"#A9A29D\"\n strokeWidth=\"1.5\"\n strokeLinecap=\"round\"\n strokeLinejoin=\"round\"\n />\n <path\n d=\"M3.5 7.5L6 10L8.5 7.5\"\n stroke=\"currentColor\"\n strokeWidth=\"1.5\"\n strokeLinecap=\"round\"\n strokeLinejoin=\"round\"\n />\n </svg>\n);\n\n// Sort 图标 升序\nexport const SortAscIcon: React.FC<{\n className?: string;\n style?: React.CSSProperties;\n}> = ({ className, style }) => (\n <svg\n width=\"12\"\n height=\"12\"\n viewBox=\"0 0 12 12\"\n fill=\"none\"\n xmlns=\"http://www.w3.org/2000/svg\"\n className={className}\n style={style}\n >\n <path\n d=\"M8.5 7.5L6 10L3.5 7.5\"\n stroke=\"#A9A29D\"\n strokeWidth=\"1.5\"\n strokeLinecap=\"round\"\n strokeLinejoin=\"round\"\n />\n <path\n d=\"M8.5 4.5L6 2L3.5 4.5\"\n stroke=\"currentColor\"\n strokeWidth=\"1.5\"\n strokeLinecap=\"round\"\n strokeLinejoin=\"round\"\n />\n </svg>\n);\n// 向左的箭头\nexport const LeftArrowIcon: React.FC<{\n className?: string;\n style?: React.CSSProperties;\n}> = ({ className, style }) => (\n <svg\n width=\"20\"\n height=\"20\"\n viewBox=\"0 0 20 20\"\n fill=\"none\"\n xmlns=\"http://www.w3.org/2000/svg\"\n className={className}\n style={style}\n >\n <path\n d=\"M15.8334 10H4.16675M4.16675 10L10.0001 15.8334M4.16675 10L10.0001 4.16669\"\n stroke=\"currentColor\"\n strokeWidth=\"1.66667\"\n strokeLinecap=\"round\"\n strokeLinejoin=\"round\"\n />\n </svg>\n);\n// 向右的箭头\nexport const RightArrowIcon: React.FC<{\n className?: string;\n style?: React.CSSProperties;\n}> = ({ className, style }) => (\n <svg\n width=\"20\"\n height=\"20\"\n viewBox=\"0 0 20 20\"\n fill=\"none\"\n xmlns=\"http://www.w3.org/2000/svg\"\n className={className}\n style={style}\n >\n <path\n d=\"M4.16675 10H15.8334M15.8334 10L10.0001 4.16669M15.8334 10L10.0001 15.8334\"\n stroke=\"currentColor\"\n strokeWidth=\"1.66667\"\n strokeLinecap=\"round\"\n strokeLinejoin=\"round\"\n />\n </svg>\n);\n// 提示信息图标\nexport const TooltipIcon: React.FC<{\n className?: string;\n style?: React.CSSProperties;\n}> = ({ className, style }) => (\n <svg\n width=\"16\"\n height=\"16\"\n viewBox=\"0 0 16 16\"\n fill=\"none\"\n xmlns=\"http://www.w3.org/2000/svg\"\n className={className}\n style={style}\n >\n <g clipPath=\"url(#clip0_54_1653)\">\n <path\n d=\"M6.06 6C6.21674 5.55444 6.5261 5.17873 6.9333 4.93942C7.34051 4.7001 7.81926 4.61262 8.28479 4.69247C8.75031 4.77232 9.17255 5.01434 9.47672 5.37568C9.78089 5.73702 9.94737 6.19434 9.94667 6.66666C9.94667 8 7.94667 8.66666 7.94667 8.66666M8 11.3333H8.00667M14.6667 8C14.6667 11.6819 11.6819 14.6667 8 14.6667C4.3181 14.6667 1.33333 11.6819 1.33333 8C1.33333 4.3181 4.3181 1.33333 8 1.33333C11.6819 1.33333 14.6667 4.3181 14.6667 8Z\"\n stroke=\"currentColor\"\n strokeWidth=\"1.33333\"\n strokeLinecap=\"round\"\n strokeLinejoin=\"round\"\n />\n </g>\n <defs>\n <clipPath id=\"clip0_54_1653\">\n <rect width=\"16\" height=\"16\" fill=\"currentColor\" />\n </clipPath>\n </defs>\n </svg>\n);\n","import React, { useRef, useCallback, useState, useImperativeHandle, useEffect, useMemo } from 'react';\nimport { FormContext, FormContextValue, FieldData } from './FormContext';\nimport FormItem from './FormItem';\n\nexport interface FormProps {\n /** 表单初始值 */\n initialValues?: Record<string, any>;\n /** 表单值变化回调 */\n onValuesChange?: (changedValues: Record<string, any>, allValues: Record<string, any>) => void;\n /** 表单提交回调 */\n onFinish?: (values: Record<string, any>) => void;\n /** 表单提交失败回调 */\n onFinishFailed?: (errorInfo: { values: Record<string, any>; errorFields: Array<{ name: string; errors: string[] }> }) => void;\n /** 标签宽度 */\n labelWidth?: number | string;\n /** 标签对齐方式 */\n labelAlign?: 'left' | 'right';\n /** 布局方式 */\n layout?: 'horizontal' | 'vertical' | 'inline';\n /** 尺寸 */\n size?: 'small' | 'medium' | 'large';\n /** 自定义类名 */\n className?: string;\n /** 自定义样式 */\n style?: React.CSSProperties;\n /** 子元素 */\n children?: React.ReactNode;\n}\n\nexport interface FormInstance {\n /** 获取字段值 */\n getFieldValue: (name: string) => any;\n /** 获取所有字段值 */\n getFieldsValue: (nameList?: string[]) => any;\n /** 设置字段值 */\n setFieldValue: (name: string, value: any) => void;\n /** 设置所有字段值 */\n setFieldsValue: (values: Record<string, any>) => void;\n /** 获取字段错误 */\n getFieldError: (name: string) => string | undefined;\n /** 校验字段 */\n validateField: (name: string) => Promise<string | undefined>;\n /** 校验所有字段 */\n validateFields: (nameList?: string[]) => Promise<any>;\n /** 重置字段 */\n resetFields: (nameList?: string[]) => void;\n /** 提交表单 */\n submit: () => Promise<any>;\n}\n\nconst Form = React.forwardRef<FormInstance, FormProps>(\n (\n {\n initialValues = {},\n onValuesChange,\n onFinish,\n onFinishFailed,\n labelWidth = '120px',\n labelAlign = 'right',\n layout = 'horizontal',\n size = 'medium',\n className = '',\n style,\n children,\n },\n ref\n ) => {\n const [fields, setFields] = useState<Record<string, FieldData>>(() => {\n const initialFields: Record<string, FieldData> = {};\n Object.keys(initialValues).forEach((key) => {\n initialFields[key] = {\n value: initialValues[key],\n error: undefined,\n touched: false,\n validating: false,\n };\n });\n return initialFields;\n });\n\n // 使用 ref 保存最新的 fields,避免闭包问题\n const fieldsRef = useRef(fields);\n useEffect(() => {\n fieldsRef.current = fields;\n }, [fields]);\n\n // 获取字段值 - 从 ref 读取,确保获取最新值\n const getFieldValue = useCallback((name: string) => {\n return fieldsRef.current[name]?.value;\n }, []);\n\n // 设置字段值\n const setFieldValue = useCallback((name: string, value: any) => {\n setFields((prev) => {\n const newFields = { ...prev };\n if (!newFields[name]) {\n newFields[name] = {\n value,\n error: undefined,\n touched: false,\n validating: false,\n };\n } else {\n newFields[name] = {\n ...newFields[name],\n value,\n };\n }\n\n // 同步更新 ref\n if (fieldsRef.current[name]) {\n fieldsRef.current[name] = {\n ...fieldsRef.current[name],\n value,\n };\n } else {\n fieldsRef.current[name] = {\n value,\n error: undefined,\n touched: false,\n validating: false,\n };\n }\n\n // 触发 onValuesChange\n if (onValuesChange) {\n const changedValues: Record<string, any> = {};\n changedValues[name] = value;\n const allValues: Record<string, any> = {};\n Object.keys(newFields).forEach((key) => {\n allValues[key] = newFields[key].value;\n });\n onValuesChange(changedValues, allValues);\n }\n\n return newFields;\n });\n }, [onValuesChange]);\n\n // 获取字段错误 - 从 ref 读取,确保获取最新值\n const getFieldError = useCallback((name: string) => {\n return fieldsRef.current[name]?.error;\n }, []);\n\n // 设置字段错误\n const setFieldError = useCallback((name: string, error: string | undefined) => {\n // 先更新 ref\n if (fieldsRef.current[name]) {\n fieldsRef.current[name] = {\n ...fieldsRef.current[name],\n error,\n };\n }\n \n // 然后更新 state\n setFields((prev) => {\n const newFields = { ...prev };\n if (!newFields[name]) {\n newFields[name] = {\n value: undefined,\n error,\n touched: false,\n validating: false,\n };\n } else {\n newFields[name] = {\n ...newFields[name],\n error,\n };\n }\n return newFields;\n });\n }, []);\n\n // 是否字段被触摸 - 从 ref 读取,确保获取最新值\n const isFieldTouched = useCallback((name: string) => {\n return fieldsRef.current[name]?.touched || false;\n }, []);\n\n // 设置字段触摸状态\n const setFieldTouched = useCallback((name: string, touched: boolean) => {\n // 先更新 ref\n if (fieldsRef.current[name]) {\n fieldsRef.current[name] = {\n ...fieldsRef.current[name],\n touched,\n };\n }\n \n // 然后更新 state\n setFields((prev) => {\n const newFields = { ...prev };\n if (!newFields[name]) {\n newFields[name] = {\n value: undefined,\n error: undefined,\n touched,\n validating: false,\n };\n } else {\n newFields[name] = {\n ...newFields[name],\n touched,\n };\n }\n return newFields;\n });\n }, []);\n\n // 是否字段正在校验 - 从 ref 读取,确保获取最新值\n const isFieldValidating = useCallback((name: string) => {\n return fieldsRef.current[name]?.validating || false;\n }, []);\n\n // 设置字段校验状态\n const setFieldValidating = useCallback((name: string, validating: boolean) => {\n // 先更新 ref\n if (fieldsRef.current[name]) {\n fieldsRef.current[name] = {\n ...fieldsRef.current[name],\n validating,\n };\n }\n \n // 然后更新 state\n setFields((prev) => {\n const newFields = { ...prev };\n if (!newFields[name]) {\n newFields[name] = {\n value: undefined,\n error: undefined,\n touched: false,\n validating,\n };\n } else {\n newFields[name] = {\n ...newFields[name],\n validating,\n };\n }\n return newFields;\n });\n }, []);\n\n // 使用 ref 存储 registerField 函数,避免依赖变化\n const registerFieldRef = useRef<(name: string, options: { rules?: any[]; required?: boolean }) => void>();\n \n registerFieldRef.current = (name: string, options: { rules?: any[]; required?: boolean }) => {\n setFields((prev) => {\n // 如果字段已存在且 rules 和 required 没有变化,不更新\n if (prev[name]) {\n const existingRules = prev[name].rules || [];\n const newRules = options.rules || [];\n \n // 深度比较 rules\n let rulesEqual = existingRules.length === newRules.length;\n if (rulesEqual && existingRules.length > 0) {\n for (let i = 0; i < existingRules.length; i++) {\n const existingRule = existingRules[i];\n const newRule = newRules[i];\n if (\n existingRule?.required !== newRule?.required ||\n existingRule?.message !== newRule?.message ||\n existingRule?.type !== newRule?.type ||\n existingRule?.pattern !== newRule?.pattern ||\n existingRule?.min !== newRule?.min ||\n existingRule?.max !== newRule?.max ||\n existingRule?.len !== newRule?.len ||\n existingRule?.whitespace !== newRule?.whitespace\n ) {\n rulesEqual = false;\n break;\n }\n }\n }\n \n if (rulesEqual && prev[name].required === options.required) {\n return prev; // 没有变化,返回原对象,避免触发重新渲染\n }\n }\n \n const newFields = { ...prev };\n if (!newFields[name]) {\n newFields[name] = {\n value: initialValues[name],\n error: undefined,\n touched: false,\n validating: false,\n rules: options.rules,\n required: options.required,\n };\n } else {\n newFields[name] = {\n ...newFields[name],\n rules: options.rules,\n required: options.required,\n };\n }\n return newFields;\n });\n };\n\n const registerField = useCallback((name: string, options: { rules?: any[]; required?: boolean }) => {\n registerFieldRef.current?.(name, options);\n }, []);\n\n // 注销字段\n const unregisterField = useCallback((name: string) => {\n setFields((prev) => {\n const newFields = { ...prev };\n delete newFields[name];\n return newFields;\n });\n }, []);\n\n // 校验单个字段\n const validateField = useCallback(async (name: string): Promise<string | undefined> => {\n // 使用 ref 获取最新的 fields 状态,避免闭包问题\n const field = fieldsRef.current[name];\n if (!field) {\n return undefined;\n }\n\n setFieldValidating(name, true);\n\n const rules = field.rules || [];\n let error: string | undefined;\n\n for (const rule of rules) {\n const value = field.value;\n\n // required 校验\n if (rule.required) {\n if (value === undefined || value === null || value === '') {\n error = rule.message || `${name} is required`;\n break;\n }\n }\n\n // type 校验\n if (rule.type && value !== undefined && value !== null && value !== '') {\n const typeMap: Record<string, (v: any) => boolean> = {\n string: (v) => typeof v === 'string',\n number: (v) => typeof v === 'number' && !isNaN(v),\n boolean: (v) => typeof v === 'boolean',\n email: (v) => /^[^\\s@]+@[^\\s@]+\\.[^\\s@]+$/.test(String(v)),\n url: (v) => {\n try {\n new URL(String(v));\n return true;\n } catch {\n return false;\n }\n },\n };\n\n const validator = typeMap[rule.type];\n if (validator && !validator(value)) {\n error = rule.message || `${name} must be a valid ${rule.type}`;\n break;\n }\n }\n\n // pattern 校验\n if (rule.pattern && value !== undefined && value !== null && value !== '') {\n if (!rule.pattern.test(String(value))) {\n error = rule.message || `${name} format is invalid`;\n break;\n }\n }\n\n // min 校验\n if (rule.min !== undefined && value !== undefined && value !== null && value !== '') {\n const numValue = typeof value === 'string' ? value.length : Number(value);\n if (numValue < rule.min) {\n error = rule.message || `${name} must be at least ${rule.min}`;\n break;\n }\n }\n\n // max 校验\n if (rule.max !== undefined && value !== undefined && value !== null && value !== '') {\n const numValue = typeof value === 'string' ? value.length : Number(value);\n if (numValue > rule.max) {\n error = rule.message || `${name} must be at most ${rule.max}`;\n break;\n }\n }\n\n // len 校验\n if (rule.len !== undefined && value !== undefined && value !== null && value !== '') {\n const lenValue = typeof value === 'string' ? value.length : Number(value);\n if (lenValue !== rule.len) {\n error = rule.message || `${name} must be exactly ${rule.len}`;\n break;\n }\n }\n\n // whitespace 校验\n if (rule.whitespace && typeof value === 'string' && value.trim() !== value) {\n error = rule.message || `${name} cannot be whitespace`;\n break;\n }\n\n // 自定义 validator\n if (rule.validator) {\n try {\n await rule.validator(rule, value);\n } catch (err: any) {\n error = err?.message || rule.message || `${name} validation failed`;\n break;\n }\n }\n }\n\n // 先同步更新 ref,确保立即可用\n if (fieldsRef.current[name]) {\n fieldsRef.current[name] = {\n ...fieldsRef.current[name],\n error,\n validating: false,\n touched: true,\n };\n } else {\n fieldsRef.current[name] = {\n value: field.value,\n error,\n touched: true,\n validating: false,\n rules: field.rules,\n required: field.required,\n };\n }\n\n // 然后更新 state - 使用函数式更新确保状态正确更新\n setFields((prev) => {\n const newFields = { ...prev };\n if (newFields[name]) {\n newFields[name] = {\n ...newFields[name],\n error,\n validating: false,\n touched: true,\n };\n } else {\n // 如果字段不存在,创建一个新字段\n newFields[name] = {\n value: field.value,\n error,\n touched: true,\n validating: false,\n rules: field.rules,\n required: field.required,\n };\n }\n return newFields;\n });\n\n // 返回错误信息\n return error;\n }, []);\n\n // 获取所有字段值\n const getFieldsValue = useCallback((nameList?: string[]) => {\n const currentFields = fieldsRef.current;\n const values: Record<string, any> = {};\n const fieldsToGet = nameList || Object.keys(currentFields);\n\n fieldsToGet.forEach((name) => {\n values[name] = currentFields[name]?.value;\n });\n\n return values;\n }, []);\n\n // 校验所有字段\n const validateFields = useCallback(async (nameList?: string[]): Promise<any> => {\n // 使用 ref 获取最新的 fields 状态\n const currentFields = fieldsRef.current;\n const fieldsToValidate = nameList || Object.keys(currentFields);\n const errors: Array<{ name: string; errors: string[] }> = [];\n\n // 并行校验所有字段,并收集错误\n const validationResults = await Promise.all(\n fieldsToValidate.map(async (name) => {\n const field = currentFields[name];\n // 如果字段存在且有 rules,才进行校验\n if (field && field.rules && field.rules.length > 0) {\n const error = await validateField(name);\n return { name, error };\n }\n return { name, error: undefined };\n })\n );\n\n // 收集所有错误\n validationResults.forEach(({ name, error }) => {\n if (error) {\n errors.push({\n name,\n errors: [error],\n });\n }\n });\n\n // 等待状态更新完成 - 使用 requestAnimationFrame 确保 DOM 更新\n await new Promise((resolve) => requestAnimationFrame(() => {\n setTimeout(resolve, 0);\n }));\n\n if (errors.length > 0) {\n const errorInfo = {\n values: getFieldsValue(),\n errorFields: errors,\n };\n onFinishFailed?.(errorInfo);\n throw errorInfo;\n }\n\n return getFieldsValue();\n }, [validateField, getFieldsValue, onFinishFailed]);\n\n // 重置字段\n const resetFields = useCallback((nameList?: string[]) => {\n setFields((prev) => {\n const newFields = { ...prev };\n const fieldsToReset = nameList || Object.keys(newFields);\n\n fieldsToReset.forEach((name) => {\n if (newFields[name]) {\n newFields[name] = {\n ...newFields[name],\n value: initialValues[name],\n error: undefined,\n touched: false,\n validating: false,\n };\n }\n });\n\n return newFields;\n });\n }, [initialValues]);\n\n // 设置所有字段值\n const setFieldsValue = useCallback((values: Record<string, any>) => {\n setFields((prev) => {\n const newFields = { ...prev };\n Object.keys(values).forEach((name) => {\n if (!newFields[name]) {\n newFields[name] = {\n value: values[name],\n error: undefined,\n touched: false,\n validating: false,\n };\n } else {\n newFields[name] = {\n ...newFields[name],\n value: values[name],\n };\n }\n });\n\n if (onValuesChange) {\n const allValues: Record<string, any> = {};\n Object.keys(newFields).forEach((key) => {\n allValues[key] = newFields[key].value;\n });\n onValuesChange(values, allValues);\n }\n\n return newFields;\n });\n }, [onValuesChange]);\n\n // 提交表单\n const submit = useCallback(async () => {\n try {\n const values = await validateFields();\n onFinish?.(values);\n return values;\n } catch (error) {\n throw error;\n }\n }, [validateFields, onFinish]);\n\n // 暴露方法给 ref\n useImperativeHandle(ref, () => ({\n getFieldValue,\n getFieldsValue,\n setFieldValue,\n setFieldsValue,\n getFieldError,\n validateField,\n validateFields,\n resetFields,\n submit,\n }));\n\n // 使用 useMemo 缓存 contextValue,但 fields 必须包含在依赖中,以便 FormItem 能重新渲染\n const contextValue: FormContextValue = useMemo(() => ({\n fields,\n getFieldValue,\n setFieldValue,\n getFieldError,\n setFieldError,\n isFieldTouched,\n setFieldTouched,\n isFieldValidating,\n setFieldValidating,\n registerField,\n unregisterField,\n validateField,\n validateFields,\n resetFields,\n getFieldsValue,\n setFieldsValue,\n submit,\n labelWidth,\n labelAlign,\n }), [\n fields, // fields 必须在依赖中,这样 FormItem 才能重新渲染显示错误\n getFieldValue,\n setFieldValue,\n getFieldError,\n setFieldError,\n isFieldTouched,\n setFieldTouched,\n isFieldValidating,\n setFieldValidating,\n registerField,\n unregisterField,\n validateField,\n validateFields,\n resetFields,\n getFieldsValue,\n setFieldsValue,\n submit,\n labelWidth,\n labelAlign,\n ]);\n\n const formStyle: React.CSSProperties = {\n ...style,\n };\n\n if (layout === 'vertical') {\n formStyle.display = 'flex';\n formStyle.flexDirection = 'column';\n } else if (layout === 'inline') {\n formStyle.display = 'inline-flex';\n formStyle.flexWrap = 'wrap';\n formStyle.gap = '16px';\n }\n\n return (\n <FormContext.Provider value={contextValue}>\n <form\n className={`aha-form ${className}`}\n style={formStyle}\n onSubmit={async (e) => {\n e.preventDefault();\n try {\n const values = await validateFields();\n // 只有校验通过才调用 onFinish\n onFinish?.(values);\n } catch (error) {\n // 校验失败,不调用 onFinish,错误信息已经通过 setFieldError 设置\n // 错误信息会显示在 FormItem 中\n // onFinishFailed 已经在 validateFields 中调用\n }\n }}\n >\n {children}\n </form>\n </FormContext.Provider>\n );\n }\n);\n\nForm.displayName = 'Form';\n\n// 导出 FormItem 作为 Form.Item\nconst FormWithItem = Form as typeof Form & {\n Item: typeof FormItem;\n};\nFormWithItem.Item = FormItem;\n\nexport default FormWithItem;\n\n","import React, { useContext, useEffect, useRef, useMemo } from 'react';\nimport { FormContext } from './FormContext';\nimport { TooltipIcon } from '../../icons';\n\nexport interface FormItemProps {\n /** 字段名 */\n name?: string;\n /** 标签 */\n label?: React.ReactNode;\n /** 标签的 HTML for 属性 */\n htmlFor?: string;\n /** 标签布局 */\n labelCol?: { span?: number; offset?: number };\n /** 输入控件布局 */\n wrapperCol?: { span?: number; offset?: number };\n /** 是否必填(显示红色星号) */\n required?: boolean;\n /** 校验规则 */\n rules?: Array<{\n required?: boolean;\n message?: string;\n validator?: (rule: any, value: any) => Promise<void> | void;\n pattern?: RegExp;\n min?: number;\n max?: number;\n len?: number;\n type?: 'string' | 'number' | 'boolean' | 'method' | 'regexp' | 'integer' | 'float' | 'array' | 'object' | 'enum' | 'date' | 'url' | 'hex' | 'email';\n whitespace?: boolean;\n [key: string]: any;\n }>;\n /** 是否显示校验信息 */\n hasFeedback?: boolean;\n /** 校验状态 */\n validateStatus?: 'success' | 'warning' | 'error' | 'validating';\n /** 帮助信息 */\n help?: React.ReactNode;\n /** 额外的提示信息 */\n extra?: React.ReactNode;\n /** 自定义类名 */\n className?: string;\n /** 自定义样式 */\n style?: React.CSSProperties;\n /** 子元素 */\n children?: React.ReactNode;\n /** 标签对齐方式 */\n labelAlign?: 'left' | 'right';\n /** 标签宽度 */\n labelWidth?: number | string;\n /** 是否隐藏 */\n hidden?: boolean;\n /** 标签提示信息(tooltip) */\n tooltip?: React.ReactNode;\n}\n\nconst FormItem: React.FC<FormItemProps> = ({\n name,\n label,\n htmlFor,\n labelCol,\n wrapperCol,\n required = false,\n rules = [],\n hasFeedback = false,\n validateStatus,\n help,\n extra,\n className = '',\n style,\n children,\n labelAlign = 'right',\n labelWidth,\n hidden = false,\n tooltip,\n}) => {\n const formContext = useContext(FormContext);\n const itemRef = useRef<HTMLDivElement>(null);\n\n // 从 Form 上下文获取字段值、错误信息等\n // 使用 formContext.fields 来触发重新渲染,当 fields 变化时组件会重新渲染\n const fields = formContext?.fields || {};\n const fieldValue = name && formContext ? formContext.getFieldValue(name) : undefined;\n const fieldError = name && formContext ? formContext.getFieldError(name) : undefined;\n const fieldTouched = name && formContext ? formContext.isFieldTouched(name) : false;\n const fieldValidating = name && formContext ? formContext.isFieldValidating(name) : false;\n \n // 使用 fields 来触发重新渲染,确保错误信息能显示\n // eslint-disable-next-line @typescript-eslint/no-unused-vars\n const _ = name ? fields[name] : undefined; // 读取 fields[name] 来建立依赖关系\n\n // 计算校验状态\n // 如果有错误就显示错误状态,不管是否 touched(提交时会强制校验)\n const computedValidateStatus =\n validateStatus ||\n (fieldError\n ? 'error'\n : fieldValidating\n ? 'validating'\n : fieldTouched && !fieldError\n ? 'success'\n : undefined);\n\n // 计算帮助信息 - 如果有错误就显示,不管是否 touched\n const computedHelp = help !== undefined ? help : (fieldError || undefined);\n\n // 使用 useRef 存储上一次的 rules 和 required,避免不必要的更新\n const prevRulesRef = useRef(rules);\n const prevRequiredRef = useRef(required);\n const isMountedRef = useRef(false);\n\n // 计算是否必填\n const isRequired = required || rules.some((rule) => rule.required);\n\n // 检查 rules 是否真的变化了(深度比较)\n const rulesChanged = useMemo(() => {\n if (!isMountedRef.current) {\n isMountedRef.current = true;\n return true; // 首次挂载时注册\n }\n \n if (prevRulesRef.current.length !== rules.length) {\n return true;\n }\n // 简单比较:如果引用相同,肯定没变化\n if (prevRulesRef.current === rules) {\n return false;\n }\n // 深度比较关键属性\n for (let i = 0; i < rules.length; i++) {\n const prevRule = prevRulesRef.current[i];\n const currRule = rules[i];\n if (\n prevRule?.required !== currRule?.required ||\n prevRule?.message !== currRule?.message ||\n prevRule?.type !== currRule?.type ||\n prevRule?.pattern !== currRule?.pattern ||\n prevRule?.min !== currRule?.min ||\n prevRule?.max !== currRule?.max ||\n prevRule?.len !== currRule?.len ||\n prevRule?.whitespace !== currRule?.whitespace\n ) {\n return true;\n }\n }\n return false;\n }, [rules]);\n\n // 注册字段到 Form - 只在 name 变化时注册,rules 和 required 通过内部比较\n useEffect(() => {\n if (!name || !formContext) return;\n\n // 检查是否需要更新\n const shouldUpdate = \n !prevRulesRef.current || // 首次注册\n rulesChanged || \n prevRequiredRef.current !== required;\n\n if (shouldUpdate) {\n prevRulesRef.current = rules;\n prevRequiredRef.current = required;\n\n formContext.registerField(name, {\n rules,\n required: isRequired,\n });\n }\n\n return () => {\n if (name && formContext) {\n formContext.unregisterField(name);\n }\n };\n // 只依赖 name,formContext 是稳定的,rules 和 required 通过 ref 比较\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [name]);\n\n // 克隆子元素,注入 value、onChange、error 等 props\n const cloneChild = (child: React.ReactElement) => {\n if (!React.isValidElement(child)) return child;\n\n const childProps: any = {\n ...(child.props as Record<string, any>),\n };\n\n // 注入 value 和 onChange\n if (name && formContext) {\n const fieldValue = formContext.getFieldValue(name);\n const setFieldValue = formContext.setFieldValue;\n\n if (!setFieldValue) {\n // 如果没有 formContext,直接返回原组件\n return child;\n }\n\n // 处理不同类型的组件\n if (child.type && typeof child.type === 'object' && 'displayName' in child.type) {\n const displayName = (child.type as any).displayName;\n\n // Input, Textarea\n if (displayName === 'Input' || displayName === 'Textarea') {\n childProps.value = fieldValue || '';\n const originalOnChange = (child.props as any)?.onChange;\n const originalOnBlur = (child.props as any)?.onBlur;\n childProps.onChange = (e: React.ChangeEvent<HTMLInputElement | HTMLTextAreaElement>) => {\n setFieldValue(name, e.target.value);\n originalOnChange?.(e);\n // 值变化时立即触发校验\n if (name && formContext) {\n // 使用 setTimeout 确保值已经更新\n setTimeout(() => {\n formContext.validateField(name);\n }, 0);\n }\n };\n childProps.onBlur = (e: React.FocusEvent<HTMLInputElement | HTMLTextAreaElement>) => {\n if (name && formContext) {\n formContext.setFieldTouched(name, true);\n formContext.validateField(name);\n }\n originalOnBlur?.(e);\n };\n childProps.error = computedValidateStatus === 'error';\n }\n // Select\n else if (displayName === 'Select') {\n childProps.value = fieldValue;\n const originalOnChange = (child.props as any)?.onChange;\n const originalOnBlur = (child.props as any)?.onBlur;\n childProps.onChange = (value: any, option: any) => {\n setFieldValue(name, value);\n originalOnChange?.(value, option);\n // 值变化时立即触发校验\n if (name && formContext) {\n formContext.setFieldTouched(name, true);\n // 使用 setTimeout 确保值已经更新\n setTimeout(() => {\n formContext.validateField(name);\n }, 0);\n }\n };\n childProps.onBlur = (e: React.FocusEvent) => {\n if (name && formContext) {\n formContext.setFieldTouched(name, true);\n formContext.validateField(name);\n }\n originalOnBlur?.(e);\n };\n childProps.error = computedValidateStatus === 'error';\n }\n // Switch\n else if (displayName === 'Switch') {\n childProps.checked = fieldValue || false;\n const originalOnChange = (child.props as any)?.onChange;\n childProps.onChange = (checked: boolean, event: any) => {\n setFieldValue(name, checked);\n originalOnChange?.(checked, event);\n // 值变化时立即触发校验\n if (name && formContext) {\n formContext.setFieldTouched(name, true);\n // 使用 setTimeout 确保值已经更新\n setTimeout(() => {\n formContext.validateField(name);\n }, 0);\n }\n };\n }\n // Checkbox\n else if (displayName === 'Checkbox') {\n childProps.checked = fieldValue || false;\n const originalOnChange = (child.props as any)?.onChange;\n childProps.onChange = (e: React.ChangeEvent<HTMLInputElement>) => {\n setFieldValue(name, e.target.checked);\n originalOnChange?.(e);\n // 值变化时立即触发校验\n if (name && formContext) {\n formContext.setFieldTouched(name, true);\n // 使用 setTimeout 确保值已经更新\n setTimeout(() => {\n formContext.validateField(name);\n }, 0);\n }\n };\n }\n // Radio\n else if (displayName === 'Radio') {\n // Radio 通常需要 Radio.Group,这里只处理单个 Radio\n const radioValue = (child.props as any)?.value;\n if (radioValue !== undefined) {\n childProps.checked = fieldValue === radioValue;\n const originalOnChange = (child.props as any)?.onChange;\n childProps.onChange = (e: React.ChangeEvent<HTMLInputElement>) => {\n setFieldValue(name, radioValue);\n originalOnChange?.(e);\n // 值变化时立即触发校验\n if (name && formContext) {\n formContext.setFieldTouched(name, true);\n // 使用 setTimeout 确保值已经更新\n setTimeout(() => {\n formContext.validateField(name);\n }, 0);\n }\n };\n }\n }\n } else {\n // 通用处理:尝试注入 value 和 onChange\n if (fieldValue !== undefined) {\n childProps.value = fieldValue;\n }\n const originalOnChange = (child.props as any)?.onChange;\n childProps.onChange = (e: any) => {\n const value = e?.target?.value ?? e;\n setFieldValue(name, value);\n originalOnChange?.(e);\n };\n }\n }\n\n // 注入 error 状态(如果组件支持)\n if (computedValidateStatus === 'error' && 'error' in childProps) {\n childProps.error = true;\n }\n\n return React.cloneElement(child, childProps);\n };\n\n if (hidden) return null;\n\n // Tooltip 组件(简单实现)\n const TooltipWrapper = ({ content }: { content: React.ReactNode }) => {\n const [showTooltip, setShowTooltip] = React.useState(false);\n const tooltipRef = React.useRef<HTMLDivElement>(null);\n\n React.useEffect(() => {\n const handleClickOutside = (event: MouseEvent) => {\n if (tooltipRef.current && !tooltipRef.current.contains(event.target as Node)) {\n setShowTooltip(false);\n }\n };\n\n if (showTooltip) {\n document.addEventListener('mousedown', handleClickOutside);\n return () => {\n document.removeEventListener('mousedown', handleClickOutside);\n };\n }\n }, [showTooltip]);\n\n return (\n <div style={{ position: 'relative', display: 'inline-block', marginLeft: '4px' }}>\n <div\n onClick={(e) => {\n e.stopPropagation();\n setShowTooltip(!showTooltip);\n }}\n style={{\n display: 'flex',\n alignItems: 'center',\n justifyContent: 'center',\n cursor: 'pointer',\n color: '#A9A29D',\n }}\n >\n <TooltipIcon />\n </div>\n {showTooltip && (\n <div\n ref={tooltipRef}\n style={{\n position: 'absolute',\n top: '100%',\n left: '50%',\n transform: 'translateX(-50%)',\n marginTop: '4px',\n padding: '8px 12px',\n backgroundColor: '#1C1917',\n color: '#FFFFFF',\n fontSize: '12px',\n lineHeight: '18px',\n fontFamily: \"DM Sans, sans-serif\",\n borderRadius: '6px',\n whiteSpace: 'nowrap',\n zIndex: 1000,\n boxShadow: '0 4px 12px rgba(0, 0, 0, 0.15)',\n }}\n >\n {content}\n <div\n style={{\n position: 'absolute',\n top: '-4px',\n left: '50%',\n transform: 'translateX(-50%)',\n width: 0,\n height: 0,\n borderLeft: '4px solid transparent',\n borderRight: '4px solid transparent',\n borderBottom: '4px solid #1C1917',\n }}\n />\n </div>\n )}\n </div>\n );\n };\n\n return (\n <div\n ref={itemRef}\n className={`aha-form-item ${className}`}\n style={{\n display: 'flex',\n flexDirection: 'column',\n marginBottom: '16px',\n ...style,\n }}\n >\n {label && (\n <label\n htmlFor={htmlFor}\n style={{\n display: 'flex',\n alignItems: 'center',\n marginBottom: '6px',\n fontSize: '14px', // text-sm\n lineHeight: '20px',\n color: '#44403C',\n fontFamily: \"DM Sans, sans-serif\",\n fontWeight: 500, // font-medium\n }}\n >\n {label}\n {isRequired && (\n <span\n style={{\n color: '#EC470A',\n marginLeft: '4px',\n }}\n >\n *\n </span>\n )}\n {tooltip && <TooltipWrapper content={tooltip} />}\n </label>\n )}\n <div style={{ width: '100%' }}>\n <div>\n {React.Children.map(children, (child) => {\n if (React.isValidElement(child)) {\n return cloneChild(child);\n }\n return child;\n })}\n </div>\n {computedHelp && (\n <div\n style={{\n marginTop: '6px',\n fontSize: '14px', // text-sm\n lineHeight: '20px',\n fontWeight: 400, // font-normal\n color:\n computedValidateStatus === 'error'\n ? '#D92D20'\n : computedValidateStatus === 'warning'\n ? '#F59E0B'\n : '#78716C',\n fontFamily: \"DM Sans, sans-serif\",\n }}\n >\n {computedHelp}\n </div>\n )}\n {extra && !computedHelp && (\n <div\n style={{\n marginTop: '4px',\n fontSize: '12px',\n lineHeight: '18px',\n color: '#78716C',\n fontFamily: \"DM Sans, sans-serif\",\n }}\n >\n {extra}\n </div>\n )}\n </div>\n </div>\n );\n};\n\nexport default FormItem;\n\n"],"names":["__assign","Object","assign","t","s","i","n","arguments","length","p","prototype","hasOwnProperty","call","apply","this","__awaiter","thisArg","_arguments","P","generator","Promise","resolve","reject","fulfilled","value","step","next","e","rejected","result","done","then","__generator","body","f","y","_","label","sent","trys","ops","g","create","Iterator","verb","Symbol","iterator","v","op","TypeError","pop","push","SuppressedError","FormContext","createContext","TooltipIcon","_a","className","style","_jsxs","jsxs","width","height","viewBox","fill","xmlns","children","_jsx","clipPath","jsx","d","stroke","strokeWidth","strokeLinecap","strokeLinejoin","id","Form","React","forwardRef","ref","_b","initialValues","onValuesChange","onFinish","onFinishFailed","_c","labelWidth","_d","labelAlign","_e","layout","size","_g","_h","useState","initialFields","keys","forEach","key","error","undefined","touched","validating","fields","setFields","fieldsRef","useRef","useEffect","current","getFieldValue","useCallback","name","setFieldValue","prev","newFields","changedValues","allValues_1","getFieldError","setFieldError","isFieldTouched","setFieldTouched","isFieldValidating","setFieldValidating","registerFieldRef","options","existingRules","rules","newRules","rulesEqual","existingRule","newRule","required","message","type","pattern","min","max","len","whitespace","registerField","unregisterField","validateField","field","_i","rules_1","rule","concat","validator","string","number","isNaN","boolean","email","test","String","url","URL","Number","trim","err_1","getFieldsValue","nameList","currentFields","values","validateFields","fieldsToValidate","errors","all","map","requestAnimationFrame","setTimeout","errorInfo","errorFields","resetFields","setFieldsValue","allValues_2","submit","useImperativeHandle","contextValue","useMemo","formStyle","display","flexDirection","flexWrap","gap","Provider","onSubmit","preventDefault","displayName","FormWithItem","Item","htmlFor","wrapperCol","hasFeedback","validateStatus","help","extra","hidden","tooltip","formContext","useContext","itemRef","fieldError","fieldTouched","fieldValidating","computedValidateStatus","computedHelp","prevRulesRef","prevRequiredRef","isMountedRef","isRequired","some","rulesChanged","prevRule","currRule","marginBottom","alignItems","fontSize","lineHeight","color","fontFamily","fontWeight","marginLeft","content","showTooltip","setShowTooltip","tooltipRef","handleClickOutside","event","contains","target","document","addEventListener","removeEventListener","position","onClick","stopPropagation","justifyContent","cursor","top","left","transform","marginTop","padding","backgroundColor","borderRadius","whiteSpace","zIndex","boxShadow","borderLeft","borderRight","borderBottom","Children","child","isValidElement","childProps","props","fieldValue_1","setFieldValue_1","originalOnChange_1","onChange","originalOnBlur_1","onBlur","originalOnChange_2","originalOnBlur_2","option","checked","originalOnChange_3","originalOnChange_4","_f","radioValue_1","originalOnChange_5","originalOnChange_6","_j","cloneElement","cloneChild"],"mappings":"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","x_google_ignoreList":[0]}
package/dist/Input.esm.js CHANGED
@@ -1,2 +1,2 @@
1
- import{jsx as o}from"react/jsx-runtime";var e=function(e){var a=e.value,t=void 0===a?"":a,r=e.placeholder,n=void 0===r?"":r,c=e.type,l=void 0===c?"text":c,u=e.disabled,i=void 0!==u&&u,d=e.onChange,s=e.onFocus,p=e.onBlur,m=e.className,g=void 0===m?"":m,v=e.size,b=void 0===v?"medium":v,x=i?"opacity-50 cursor-not-allowed bg-gray-100":"bg-white",f="".concat("border border-gray-300 rounded-md transition-colors focus:outline-none focus:ring-2 focus:ring-blue-500 focus:border-blue-500"," ").concat({small:"px-3 py-1.5 text-sm",medium:"px-4 py-2 text-base",large:"px-6 py-3 text-lg"}[b]," ").concat(x," ").concat(g);return o("input",{type:l,value:t,placeholder:n,disabled:i,onChange:function(o){d&&d(o.target.value)},onFocus:s,onBlur:p,className:f})};export{e as default};
1
+ import{jsxs as n,Fragment as e,jsx as t}from"react/jsx-runtime";import o,{createContext as r,useContext as a,forwardRef as i,useRef as p,useEffect as l}from"react";var u=function(){return u=Object.assign||function(n){for(var e,t=1,o=arguments.length;t<o;t++)for(var r in e=arguments[t])Object.prototype.hasOwnProperty.call(e,r)&&(n[r]=e[r]);return n},u.apply(this,arguments)};"function"==typeof SuppressedError&&SuppressedError;var d={primaryColor:"#FB6011"},s=r(d),c=i(function(r,i){var c=r.size,f=void 0===c?"medium":c,h=r.disabled,g=void 0!==h&&h,x=r.error,y=void 0!==x&&x,m=r.readOnly,v=void 0!==m&&m,w=r.prefix,b=r.suffix,C=r.allowClear,D=void 0!==C&&C,k=r.onClear,F=r.className,z=void 0===F?"":F,B=r.style,O=r.type,S=void 0===O?"text":O,j=r.placeholder,E=r.value,A=r.defaultValue,I=r.onChange,P=r.onFocus,T=r.onBlur,L=r.onPressEnter,M=function(n,e){var t={};for(var o in n)Object.prototype.hasOwnProperty.call(n,o)&&e.indexOf(o)<0&&(t[o]=n[o]);if(null!=n&&"function"==typeof Object.getOwnPropertySymbols){var r=0;for(o=Object.getOwnPropertySymbols(n);r<o.length;r++)e.indexOf(o[r])<0&&Object.prototype.propertyIsEnumerable.call(n,o[r])&&(t[o[r]]=n[o[r]])}return t}(r,["size","disabled","error","readOnly","prefix","suffix","allowClear","onClear","className","style","type","placeholder","value","defaultValue","onChange","onFocus","onBlur","onPressEnter"]),N=(a(s)||d).primaryColor,W=void 0===N?"#FB6011":N,K=p(null),R=o.useState(A||E||""),V=R[0],H=R[1],q=o.useState(!1),G=q[0],J=q[1];l(function(){"function"==typeof i?i(K.current):i&&(i.current=K.current)},[i]);var Q=void 0!==E,U=Q?E:V,X=function(n){var e;n.stopPropagation(),Q||H("");null==I||I({target:{value:""},currentTarget:{value:""}}),null==k||k(),null===(e=K.current)||void 0===e||e.focus()},Y=D&&U&&!g,Z={small:{height:"32px",paddingTop:"3px",paddingBottom:"3px"},mediumSmall:{height:"36px",paddingTop:"5px",paddingBottom:"5px"},medium:{height:"40px",paddingTop:"7px",paddingBottom:"7px"},large:{height:"48px",paddingTop:"11px",paddingBottom:"11px"}},$=b||Y?"40px":"12px",_=u({width:"100%",boxSizing:"border-box",fontFamily:"DM Sans, sans-serif",borderRadius:"8px",border:"1px solid ".concat(y?"#F04438":G?W:"#D7D3D0"),backgroundColor:g||v?"#FAFAF9":"#FFFFFF",color:g?"#98A2B3":"#1C1917",fontSize:"16px",fontWeight:400,lineHeight:"24px",paddingLeft:w?"40px":"12px",paddingRight:$,paddingTop:Z[f].paddingTop,paddingBottom:Z[f].paddingBottom,transition:"all 0.2s",outline:"none",WebkitAppearance:"none",MozAppearance:"textfield",appearance:"none"},B);return n(e,{children:[t("style",{children:'\n .aha-input-wrapper input::placeholder {\n color: #D7D3D0;\n font-size: 16px;\n font-weight: 400;\n opacity: 1;\n }\n .aha-input-wrapper input::-webkit-input-placeholder {\n color: #D7D3D0;\n font-size: 16px;\n font-weight: 400;\n opacity: 1;\n }\n .aha-input-wrapper input::-moz-placeholder {\n color: #D7D3D0;\n font-size: 16px;\n font-weight: 400;\n opacity: 1;\n }\n .aha-input-wrapper input:-ms-input-placeholder {\n color: #D7D3D0;\n font-size: 16px;\n font-weight: 400;\n opacity: 1;\n }\n /* 移动端优化 */\n .aha-input-wrapper input {\n -webkit-tap-highlight-color: transparent;\n -webkit-touch-callout: none;\n touch-action: manipulation;\n }\n /* 移除数字输入框的上下箭头 */\n .aha-input-wrapper input[type="number"]::-webkit-inner-spin-button,\n .aha-input-wrapper input[type="number"]::-webkit-outer-spin-button {\n -webkit-appearance: none;\n margin: 0;\n }\n .aha-input-wrapper input[type="number"] {\n -moz-appearance: textfield;\n }\n '}),n("div",{className:"aha-input-wrapper ".concat(z),style:{position:"relative",display:"inline-flex",alignItems:"center",width:"100%"},children:[w&&t("span",{style:{position:"absolute",left:"12px",display:"flex",alignItems:"center",color:g?"#98A2B3":"#78716C",zIndex:1,pointerEvents:"none"},children:w}),t("input",u({ref:K,type:S,value:U,placeholder:j,disabled:g,readOnly:v,onChange:function(n){Q||H(n.target.value),null==I||I(n)},onFocus:function(n){J(!0),null==P||P(n)},onBlur:function(n){J(!1),null==T||T(n)},onKeyDown:function(n){var e;"Enter"===n.key&&L&&L(n),null===(e=M.onKeyDown)||void 0===e||e.call(M,n)},style:_,autoComplete:M.autoComplete||"off",autoCorrect:M.autoCorrect||"off",autoCapitalize:M.autoCapitalize||"off",spellCheck:M.spellCheck||!1},M)),(b||Y)&&n("span",{style:{position:"absolute",right:"12px",display:"flex",alignItems:"center",gap:"4px",color:g?"#98A2B3":"#78716C",zIndex:1},children:[Y&&t(function(){return t("svg",{width:"16",height:"16",viewBox:"0 0 16 16",fill:"none",xmlns:"http://www.w3.org/2000/svg",onClick:X,style:{cursor:"pointer",flexShrink:0,color:"#78716C"},children:t("path",{d:"M12 4L4 12M4 4L12 12",stroke:"currentColor",strokeWidth:"1.5",strokeLinecap:"round",strokeLinejoin:"round"})})},{}),b&&t("span",{style:{pointerEvents:"none"},children:b})]})]})]})});c.displayName="Input";export{c as default};
2
2
  //# sourceMappingURL=Input.esm.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"Input.esm.js","sources":["../src/components/Input/index.tsx"],"sourcesContent":["import React from 'react';\n\nexport interface InputProps {\n value?: string;\n placeholder?: string;\n type?: 'text' | 'password' | 'email' | 'number';\n disabled?: boolean;\n onChange?: (value: string) => void;\n onFocus?: () => void;\n onBlur?: () => void;\n className?: string;\n size?: 'small' | 'medium' | 'large';\n}\n\nconst Input: React.FC<InputProps> = ({\n value = '',\n placeholder = '',\n type = 'text',\n disabled = false,\n onChange,\n onFocus,\n onBlur,\n className = '',\n size = 'medium',\n}) => {\n const baseClasses = 'border border-gray-300 rounded-md transition-colors focus:outline-none focus:ring-2 focus:ring-blue-500 focus:border-blue-500';\n \n const sizeClasses = {\n small: 'px-3 py-1.5 text-sm',\n medium: 'px-4 py-2 text-base',\n large: 'px-6 py-3 text-lg',\n };\n \n const disabledClasses = disabled ? 'opacity-50 cursor-not-allowed bg-gray-100' : 'bg-white';\n \n const classes = `${baseClasses} ${sizeClasses[size]} ${disabledClasses} ${className}`;\n \n const handleChange = (e: React.ChangeEvent<HTMLInputElement>) => {\n if (onChange) {\n onChange(e.target.value);\n }\n };\n \n return (\n <input\n type={type}\n value={value}\n placeholder={placeholder}\n disabled={disabled}\n onChange={handleChange}\n onFocus={onFocus}\n onBlur={onBlur}\n className={classes}\n />\n );\n};\n\nexport default Input; "],"names":["Input","_a","_b","value","_c","placeholder","_d","type","_e","disabled","onChange","onFocus","onBlur","_f","className","_g","size","disabledClasses","classes","concat","small","medium","large","_jsx","e","target"],"mappings":"wCAcM,IAAAA,EAA8B,SAACC,OACnCC,EAAUD,EAAAE,MAAVA,OAAQ,IAAAD,EAAA,KACRE,EAAAH,EAAAI,YAAAA,OAAc,IAAAD,EAAA,KACdE,EAAAL,EAAAM,KAAAA,OAAI,IAAAD,EAAG,OAAMA,EACbE,EAAgBP,EAAAQ,SAAhBA,OAAQ,IAAAD,GAAQA,EAChBE,EAAQT,EAAAS,SACRC,EAAOV,EAAAU,QACPC,EAAMX,EAAAW,OACNC,EAAAZ,EAAAa,UAAAA,OAAS,IAAAD,EAAG,GAAEA,EACdE,SAAAC,OAAO,IAAAD,EAAA,SAAQA,EAUTE,EAAkBR,EAAW,4CAA8C,WAE3ES,EAAU,GAAGC,OAVC,4IAEA,CAClBC,MAAO,sBACPC,OAAQ,sBACRC,MAAO,qBAKqCN,GAAS,KAAAG,OAAAF,EAAmB,KAAAE,OAAAL,GAQ1E,OACES,EAAA,QAAA,CACEhB,KAAMA,EACNJ,MAAOA,EACPE,YAAaA,EACbI,SAAUA,EACVC,SAZiB,SAACc,GAChBd,GACFA,EAASc,EAAEC,OAAOtB,MAEtB,EASIQ,QAASA,EACTC,OAAQA,EACRE,UAAWI,GAGjB"}
1
+ {"version":3,"file":"Input.esm.js","sources":["../node_modules/tslib/tslib.es6.js","../src/theme/ThemeContext.tsx","../src/components/Input/index.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","import React, { createContext, useContext, useMemo } from 'react';\n\nexport interface ThemeConfig {\n primaryColor?: string;\n}\n\nconst defaultTheme: ThemeConfig = {\n primaryColor: '#FB6011',\n};\n\nconst ThemeContext = createContext<ThemeConfig>(defaultTheme);\n\nexport interface ThemeProviderProps {\n theme?: ThemeConfig;\n children: React.ReactNode;\n}\n\nexport const ThemeProvider: React.FC<ThemeProviderProps> = ({ theme, children }) => {\n const themeValue = useMemo(() => {\n return {\n ...defaultTheme,\n ...theme,\n };\n }, [theme]);\n\n return (\n <ThemeContext.Provider value={themeValue}>\n {children}\n </ThemeContext.Provider>\n );\n};\n\nexport const useTheme = (): ThemeConfig => {\n const context = useContext(ThemeContext);\n if (!context) {\n // 如果没有 Provider,返回默认主题\n return defaultTheme;\n }\n return context;\n};\n\n// 导出默认主题色,供组件内部使用\nexport const getDefaultPrimaryColor = () => defaultTheme.primaryColor!;\n\n","import React, { forwardRef, useRef, useEffect } from 'react';\nimport { useTheme } from '../../theme/ThemeContext';\n\nexport interface InputProps\n extends Omit<React.InputHTMLAttributes<HTMLInputElement>, 'size' | 'prefix' | 'suffix'> {\n /** 输入框大小 */\n size?: 'small' | 'mediumSmall' | 'medium' | 'large';\n /** 是否禁用 */\n disabled?: boolean;\n /** 是否显示错误状态 */\n error?: boolean;\n /** 是否只读 */\n readOnly?: boolean;\n /** 输入框前缀图标 */\n prefix?: React.ReactNode;\n /** 输入框后缀图标 */\n suffix?: React.ReactNode;\n /** 允许清除 */\n allowClear?: boolean;\n /** 清除回调 */\n onClear?: () => void;\n /** 自定义类名 */\n className?: string;\n /** 自定义样式 */\n style?: React.CSSProperties;\n /** 输入框类型 */\n type?: string;\n /** 占位符 */\n placeholder?: string;\n /** 值 */\n value?: string;\n /** 默认值 */\n defaultValue?: string;\n /** 变化回调 */\n onChange?: (e: React.ChangeEvent<HTMLInputElement>) => void;\n /** 聚焦回调 */\n onFocus?: (e: React.FocusEvent<HTMLInputElement>) => void;\n /** 失焦回调 */\n onBlur?: (e: React.FocusEvent<HTMLInputElement>) => void;\n /** 按下回车回调 */\n onPressEnter?: (e: React.KeyboardEvent<HTMLInputElement>) => void;\n}\n\nconst Input = forwardRef<HTMLInputElement, InputProps>(\n (\n {\n size = 'medium',\n disabled = false,\n error = false,\n readOnly = false,\n prefix,\n suffix,\n allowClear = false,\n onClear,\n className = '',\n style,\n type = 'text',\n placeholder,\n value,\n defaultValue,\n onChange,\n onFocus,\n onBlur,\n onPressEnter,\n ...restProps\n },\n ref\n ) => {\n const { primaryColor = '#FB6011' } = useTheme();\n const inputRef = useRef<HTMLInputElement>(null);\n const [internalValue, setInternalValue] = React.useState(\n defaultValue || value || ''\n );\n const [focused, setFocused] = React.useState(false);\n\n // 合并 ref\n useEffect(() => {\n if (typeof ref === 'function') {\n ref(inputRef.current);\n } else if (ref) {\n (ref as React.MutableRefObject<HTMLInputElement | null>).current =\n inputRef.current;\n }\n }, [ref]);\n\n // 受控/非受控处理\n const isControlled = value !== undefined;\n const currentValue = isControlled ? value : internalValue;\n\n const handleChange = (e: React.ChangeEvent<HTMLInputElement>) => {\n if (!isControlled) {\n setInternalValue(e.target.value);\n }\n onChange?.(e);\n };\n\n const handleFocus = (e: React.FocusEvent<HTMLInputElement>) => {\n setFocused(true);\n onFocus?.(e);\n };\n\n const handleBlur = (e: React.FocusEvent<HTMLInputElement>) => {\n setFocused(false);\n onBlur?.(e);\n };\n\n const handleKeyDown = (e: React.KeyboardEvent<HTMLInputElement>) => {\n if (e.key === 'Enter' && onPressEnter) {\n onPressEnter(e);\n }\n restProps.onKeyDown?.(e);\n };\n\n const handleClear = (e: React.MouseEvent) => {\n e.stopPropagation();\n if (!isControlled) {\n setInternalValue('');\n }\n // 创建一个清除事件\n const syntheticEvent = {\n target: { value: '' },\n currentTarget: { value: '' },\n } as React.ChangeEvent<HTMLInputElement>;\n onChange?.(syntheticEvent);\n onClear?.();\n inputRef.current?.focus();\n };\n\n const showClear = allowClear && currentValue && !disabled;\n\n // 尺寸样式 - 高度包含边框(1px),实际内容区域需要减去上下边框(2px)\n // 字体 16px,line-height 24px,需要计算合适的 padding\n const sizeStyles = {\n small: {\n height: '32px', // 包含边框的实际高度\n paddingTop: '3px',\n paddingBottom: '3px',\n },\n mediumSmall: {\n height: '36px', // 包含边框的实际高度\n paddingTop: '5px',\n paddingBottom: '5px',\n },\n medium: {\n height: '40px', // 包含边框的实际高度\n paddingTop: '7px',\n paddingBottom: '7px',\n },\n large: {\n height: '48px', // 包含边框的实际高度\n paddingTop: '11px',\n paddingBottom: '11px',\n },\n };\n\n // 计算 padding-right\n const hasRightContent = suffix || showClear;\n const paddingRight = hasRightContent ? '40px' : '12px'; // 如果有后缀或清除按钮,右边留出空间\n\n const baseStyles: React.CSSProperties = {\n width: '100%',\n boxSizing: 'border-box',\n fontFamily: \"DM Sans, sans-serif\",\n borderRadius: '8px', // rounded-md (0.5rem)\n border: `1px solid ${error ? '#F04438' : focused ? primaryColor : '#D7D3D0'}`,\n backgroundColor: disabled ? '#FAFAF9' : readOnly ? '#FAFAF9' : '#FFFFFF',\n color: disabled ? '#98A2B3' : '#1C1917',\n fontSize: '16px', // text-base - 至少 16px 避免 iOS Safari 自动缩放\n fontWeight: 400,\n lineHeight: '24px',\n paddingLeft: prefix ? '40px' : '12px', // 所有情况下,如果没有前缀,padding-left 都是 12px\n paddingRight,\n paddingTop: sizeStyles[size].paddingTop,\n paddingBottom: sizeStyles[size].paddingBottom,\n transition: 'all 0.2s',\n outline: 'none',\n WebkitAppearance: 'none', // 移除 iOS Safari 默认样式\n MozAppearance: 'textfield', // 移除 Firefox 数字输入框的上下箭头\n appearance: 'none',\n ...style,\n };\n\n // 占位符样式通过 CSS 类名处理\n const placeholderStyles = `\n .aha-input-wrapper input::placeholder {\n color: #D7D3D0;\n font-size: 16px;\n font-weight: 400;\n opacity: 1;\n }\n .aha-input-wrapper input::-webkit-input-placeholder {\n color: #D7D3D0;\n font-size: 16px;\n font-weight: 400;\n opacity: 1;\n }\n .aha-input-wrapper input::-moz-placeholder {\n color: #D7D3D0;\n font-size: 16px;\n font-weight: 400;\n opacity: 1;\n }\n .aha-input-wrapper input:-ms-input-placeholder {\n color: #D7D3D0;\n font-size: 16px;\n font-weight: 400;\n opacity: 1;\n }\n /* 移动端优化 */\n .aha-input-wrapper input {\n -webkit-tap-highlight-color: transparent;\n -webkit-touch-callout: none;\n touch-action: manipulation;\n }\n /* 移除数字输入框的上下箭头 */\n .aha-input-wrapper input[type=\"number\"]::-webkit-inner-spin-button,\n .aha-input-wrapper input[type=\"number\"]::-webkit-outer-spin-button {\n -webkit-appearance: none;\n margin: 0;\n }\n .aha-input-wrapper input[type=\"number\"] {\n -moz-appearance: textfield;\n }\n `;\n\n // 清除图标\n const ClearIcon = () => (\n <svg\n width=\"16\"\n height=\"16\"\n viewBox=\"0 0 16 16\"\n fill=\"none\"\n xmlns=\"http://www.w3.org/2000/svg\"\n onClick={handleClear}\n style={{\n cursor: 'pointer',\n flexShrink: 0,\n color: '#78716C',\n }}\n >\n <path\n d=\"M12 4L4 12M4 4L12 12\"\n stroke=\"currentColor\"\n strokeWidth=\"1.5\"\n strokeLinecap=\"round\"\n strokeLinejoin=\"round\"\n />\n </svg>\n );\n\n return (\n <>\n <style>{placeholderStyles}</style>\n <div\n className={`aha-input-wrapper ${className}`}\n style={{\n position: 'relative',\n display: 'inline-flex',\n alignItems: 'center',\n width: '100%',\n }}\n >\n {prefix && (\n <span\n style={{\n position: 'absolute',\n left: '12px',\n display: 'flex',\n alignItems: 'center',\n color: disabled ? '#98A2B3' : '#78716C',\n zIndex: 1,\n pointerEvents: 'none',\n }}\n >\n {prefix}\n </span>\n )}\n <input\n ref={inputRef}\n type={type}\n value={currentValue}\n placeholder={placeholder}\n disabled={disabled}\n readOnly={readOnly}\n onChange={handleChange}\n onFocus={handleFocus}\n onBlur={handleBlur}\n onKeyDown={handleKeyDown}\n style={baseStyles}\n autoComplete={restProps.autoComplete || 'off'}\n autoCorrect={restProps.autoCorrect || 'off'}\n autoCapitalize={restProps.autoCapitalize || 'off'}\n spellCheck={restProps.spellCheck || false}\n {...restProps}\n />\n {(suffix || showClear) && (\n <span\n style={{\n position: 'absolute',\n right: '12px',\n display: 'flex',\n alignItems: 'center',\n gap: '4px',\n color: disabled ? '#98A2B3' : '#78716C',\n zIndex: 1,\n }}\n >\n {showClear && <ClearIcon />}\n {suffix && <span style={{ pointerEvents: 'none' }}>{suffix}</span>}\n </span>\n )}\n </div>\n </>\n );\n }\n);\n\nInput.displayName = 'Input';\n\nexport default Input;\n\n"],"names":["__assign","Object","assign","t","s","i","n","arguments","length","p","prototype","hasOwnProperty","call","apply","this","SuppressedError","defaultTheme","primaryColor","ThemeContext","createContext","Input","forwardRef","_a","ref","_b","size","_c","disabled","_d","error","_e","readOnly","prefix","suffix","_f","allowClear","onClear","_g","className","style","_h","type","placeholder","value","defaultValue","onChange","onFocus","onBlur","onPressEnter","restProps","e","indexOf","getOwnPropertySymbols","propertyIsEnumerable","__rest","_j","useContext","inputRef","useRef","_k","React","useState","internalValue","setInternalValue","_l","focused","setFocused","useEffect","current","isControlled","undefined","currentValue","handleClear","stopPropagation","target","currentTarget","focus","showClear","sizeStyles","small","height","paddingTop","paddingBottom","mediumSmall","medium","large","paddingRight","baseStyles","width","boxSizing","fontFamily","borderRadius","border","concat","backgroundColor","color","fontSize","fontWeight","lineHeight","paddingLeft","transition","outline","WebkitAppearance","MozAppearance","appearance","_jsxs","_Fragment","children","_jsx","position","display","alignItems","left","zIndex","pointerEvents","onKeyDown","key","autoComplete","autoCorrect","autoCapitalize","spellCheck","right","gap","viewBox","fill","xmlns","onClick","cursor","flexShrink","d","stroke","strokeWidth","strokeLinecap","strokeLinejoin","displayName"],"mappings":"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","x_google_ignoreList":[0]}
package/dist/Input.js CHANGED
@@ -1,2 +1,2 @@
1
- "use strict";var e=require("react/jsx-runtime");module.exports=function(o){var r=o.value,t=void 0===r?"":r,a=o.placeholder,n=void 0===a?"":a,u=o.type,c=void 0===u?"text":u,i=o.disabled,l=void 0!==i&&i,s=o.onChange,d=o.onFocus,p=o.onBlur,g=o.className,m=void 0===g?"":g,v=o.size,b=void 0===v?"medium":v,x=l?"opacity-50 cursor-not-allowed bg-gray-100":"bg-white",y="".concat("border border-gray-300 rounded-md transition-colors focus:outline-none focus:ring-2 focus:ring-blue-500 focus:border-blue-500"," ").concat({small:"px-3 py-1.5 text-sm",medium:"px-4 py-2 text-base",large:"px-6 py-3 text-lg"}[b]," ").concat(x," ").concat(m);return e.jsx("input",{type:c,value:t,placeholder:n,disabled:l,onChange:function(e){s&&s(e.target.value)},onFocus:d,onBlur:p,className:y})};
1
+ "use strict";Object.defineProperty(exports,"__esModule",{value:!0});var e=require("react/jsx-runtime"),n=require("react"),t=function(){return t=Object.assign||function(e){for(var n,t=1,o=arguments.length;t<o;t++)for(var r in n=arguments[t])Object.prototype.hasOwnProperty.call(n,r)&&(e[r]=n[r]);return e},t.apply(this,arguments)};"function"==typeof SuppressedError&&SuppressedError;var o={primaryColor:"#FB6011"},r=n.createContext(o),a=n.forwardRef(function(a,i){var p=a.size,l=void 0===p?"medium":p,u=a.disabled,s=void 0!==u&&u,d=a.error,c=void 0!==d&&d,f=a.readOnly,h=void 0!==f&&f,x=a.prefix,g=a.suffix,y=a.allowClear,m=void 0!==y&&y,v=a.onClear,w=a.className,b=void 0===w?"":w,C=a.style,j=a.type,D=void 0===j?"text":j,k=a.placeholder,F=a.value,O=a.defaultValue,z=a.onChange,B=a.onFocus,S=a.onBlur,E=a.onPressEnter,P=function(e,n){var t={};for(var o in e)Object.prototype.hasOwnProperty.call(e,o)&&n.indexOf(o)<0&&(t[o]=e[o]);if(null!=e&&"function"==typeof Object.getOwnPropertySymbols){var r=0;for(o=Object.getOwnPropertySymbols(e);r<o.length;r++)n.indexOf(o[r])<0&&Object.prototype.propertyIsEnumerable.call(e,o[r])&&(t[o[r]]=e[o[r]])}return t}(a,["size","disabled","error","readOnly","prefix","suffix","allowClear","onClear","className","style","type","placeholder","value","defaultValue","onChange","onFocus","onBlur","onPressEnter"]),A=(n.useContext(r)||o).primaryColor,I=void 0===A?"#FB6011":A,T=n.useRef(null),L=n.useState(O||F||""),M=L[0],N=L[1],R=n.useState(!1),W=R[0],q=R[1];n.useEffect(function(){"function"==typeof i?i(T.current):i&&(i.current=T.current)},[i]);var K=void 0!==F,V=K?F:M,_=function(e){var n;e.stopPropagation(),K||N("");null==z||z({target:{value:""},currentTarget:{value:""}}),null==v||v(),null===(n=T.current)||void 0===n||n.focus()},H=m&&V&&!s,G={small:{height:"32px",paddingTop:"3px",paddingBottom:"3px"},mediumSmall:{height:"36px",paddingTop:"5px",paddingBottom:"5px"},medium:{height:"40px",paddingTop:"7px",paddingBottom:"7px"},large:{height:"48px",paddingTop:"11px",paddingBottom:"11px"}},J=g||H?"40px":"12px",Q=t({width:"100%",boxSizing:"border-box",fontFamily:"DM Sans, sans-serif",borderRadius:"8px",border:"1px solid ".concat(c?"#F04438":W?I:"#D7D3D0"),backgroundColor:s||h?"#FAFAF9":"#FFFFFF",color:s?"#98A2B3":"#1C1917",fontSize:"16px",fontWeight:400,lineHeight:"24px",paddingLeft:x?"40px":"12px",paddingRight:J,paddingTop:G[l].paddingTop,paddingBottom:G[l].paddingBottom,transition:"all 0.2s",outline:"none",WebkitAppearance:"none",MozAppearance:"textfield",appearance:"none"},C);return e.jsxs(e.Fragment,{children:[e.jsx("style",{children:'\n .aha-input-wrapper input::placeholder {\n color: #D7D3D0;\n font-size: 16px;\n font-weight: 400;\n opacity: 1;\n }\n .aha-input-wrapper input::-webkit-input-placeholder {\n color: #D7D3D0;\n font-size: 16px;\n font-weight: 400;\n opacity: 1;\n }\n .aha-input-wrapper input::-moz-placeholder {\n color: #D7D3D0;\n font-size: 16px;\n font-weight: 400;\n opacity: 1;\n }\n .aha-input-wrapper input:-ms-input-placeholder {\n color: #D7D3D0;\n font-size: 16px;\n font-weight: 400;\n opacity: 1;\n }\n /* 移动端优化 */\n .aha-input-wrapper input {\n -webkit-tap-highlight-color: transparent;\n -webkit-touch-callout: none;\n touch-action: manipulation;\n }\n /* 移除数字输入框的上下箭头 */\n .aha-input-wrapper input[type="number"]::-webkit-inner-spin-button,\n .aha-input-wrapper input[type="number"]::-webkit-outer-spin-button {\n -webkit-appearance: none;\n margin: 0;\n }\n .aha-input-wrapper input[type="number"] {\n -moz-appearance: textfield;\n }\n '}),e.jsxs("div",{className:"aha-input-wrapper ".concat(b),style:{position:"relative",display:"inline-flex",alignItems:"center",width:"100%"},children:[x&&e.jsx("span",{style:{position:"absolute",left:"12px",display:"flex",alignItems:"center",color:s?"#98A2B3":"#78716C",zIndex:1,pointerEvents:"none"},children:x}),e.jsx("input",t({ref:T,type:D,value:V,placeholder:k,disabled:s,readOnly:h,onChange:function(e){K||N(e.target.value),null==z||z(e)},onFocus:function(e){q(!0),null==B||B(e)},onBlur:function(e){q(!1),null==S||S(e)},onKeyDown:function(e){var n;"Enter"===e.key&&E&&E(e),null===(n=P.onKeyDown)||void 0===n||n.call(P,e)},style:Q,autoComplete:P.autoComplete||"off",autoCorrect:P.autoCorrect||"off",autoCapitalize:P.autoCapitalize||"off",spellCheck:P.spellCheck||!1},P)),(g||H)&&e.jsxs("span",{style:{position:"absolute",right:"12px",display:"flex",alignItems:"center",gap:"4px",color:s?"#98A2B3":"#78716C",zIndex:1},children:[H&&e.jsx(function(){return e.jsx("svg",{width:"16",height:"16",viewBox:"0 0 16 16",fill:"none",xmlns:"http://www.w3.org/2000/svg",onClick:_,style:{cursor:"pointer",flexShrink:0,color:"#78716C"},children:e.jsx("path",{d:"M12 4L4 12M4 4L12 12",stroke:"currentColor",strokeWidth:"1.5",strokeLinecap:"round",strokeLinejoin:"round"})})},{}),g&&e.jsx("span",{style:{pointerEvents:"none"},children:g})]})]})]})});a.displayName="Input",exports.default=a;
2
2
  //# sourceMappingURL=Input.js.map
package/dist/Input.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"Input.js","sources":["../src/components/Input/index.tsx"],"sourcesContent":["import React from 'react';\n\nexport interface InputProps {\n value?: string;\n placeholder?: string;\n type?: 'text' | 'password' | 'email' | 'number';\n disabled?: boolean;\n onChange?: (value: string) => void;\n onFocus?: () => void;\n onBlur?: () => void;\n className?: string;\n size?: 'small' | 'medium' | 'large';\n}\n\nconst Input: React.FC<InputProps> = ({\n value = '',\n placeholder = '',\n type = 'text',\n disabled = false,\n onChange,\n onFocus,\n onBlur,\n className = '',\n size = 'medium',\n}) => {\n const baseClasses = 'border border-gray-300 rounded-md transition-colors focus:outline-none focus:ring-2 focus:ring-blue-500 focus:border-blue-500';\n \n const sizeClasses = {\n small: 'px-3 py-1.5 text-sm',\n medium: 'px-4 py-2 text-base',\n large: 'px-6 py-3 text-lg',\n };\n \n const disabledClasses = disabled ? 'opacity-50 cursor-not-allowed bg-gray-100' : 'bg-white';\n \n const classes = `${baseClasses} ${sizeClasses[size]} ${disabledClasses} ${className}`;\n \n const handleChange = (e: React.ChangeEvent<HTMLInputElement>) => {\n if (onChange) {\n onChange(e.target.value);\n }\n };\n \n return (\n <input\n type={type}\n value={value}\n placeholder={placeholder}\n disabled={disabled}\n onChange={handleChange}\n onFocus={onFocus}\n onBlur={onBlur}\n className={classes}\n />\n );\n};\n\nexport default Input; "],"names":["_a","_b","value","_c","placeholder","_d","type","_e","disabled","onChange","onFocus","onBlur","_f","className","_g","size","disabledClasses","classes","concat","small","medium","large","_jsx","jsx","e","target"],"mappings":"+DAcoC,SAACA,OACnCC,EAAUD,EAAAE,MAAVA,OAAQ,IAAAD,EAAA,KACRE,EAAAH,EAAAI,YAAAA,OAAc,IAAAD,EAAA,KACdE,EAAAL,EAAAM,KAAAA,OAAI,IAAAD,EAAG,OAAMA,EACbE,EAAgBP,EAAAQ,SAAhBA,OAAQ,IAAAD,GAAQA,EAChBE,EAAQT,EAAAS,SACRC,EAAOV,EAAAU,QACPC,EAAMX,EAAAW,OACNC,EAAAZ,EAAAa,UAAAA,OAAS,IAAAD,EAAG,GAAEA,EACdE,SAAAC,OAAO,IAAAD,EAAA,SAAQA,EAUTE,EAAkBR,EAAW,4CAA8C,WAE3ES,EAAU,GAAGC,OAVC,4IAEA,CAClBC,MAAO,sBACPC,OAAQ,sBACRC,MAAO,qBAKqCN,GAAS,KAAAG,OAAAF,EAAmB,KAAAE,OAAAL,GAQ1E,OACES,EAAAC,IAAA,QAAA,CACEjB,KAAMA,EACNJ,MAAOA,EACPE,YAAaA,EACbI,SAAUA,EACVC,SAZiB,SAACe,GAChBf,GACFA,EAASe,EAAEC,OAAOvB,MAEtB,EASIQ,QAASA,EACTC,OAAQA,EACRE,UAAWI,GAGjB"}
1
+ {"version":3,"file":"Input.js","sources":["../node_modules/tslib/tslib.es6.js","../src/theme/ThemeContext.tsx","../src/components/Input/index.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","import React, { createContext, useContext, useMemo } from 'react';\n\nexport interface ThemeConfig {\n primaryColor?: string;\n}\n\nconst defaultTheme: ThemeConfig = {\n primaryColor: '#FB6011',\n};\n\nconst ThemeContext = createContext<ThemeConfig>(defaultTheme);\n\nexport interface ThemeProviderProps {\n theme?: ThemeConfig;\n children: React.ReactNode;\n}\n\nexport const ThemeProvider: React.FC<ThemeProviderProps> = ({ theme, children }) => {\n const themeValue = useMemo(() => {\n return {\n ...defaultTheme,\n ...theme,\n };\n }, [theme]);\n\n return (\n <ThemeContext.Provider value={themeValue}>\n {children}\n </ThemeContext.Provider>\n );\n};\n\nexport const useTheme = (): ThemeConfig => {\n const context = useContext(ThemeContext);\n if (!context) {\n // 如果没有 Provider,返回默认主题\n return defaultTheme;\n }\n return context;\n};\n\n// 导出默认主题色,供组件内部使用\nexport const getDefaultPrimaryColor = () => defaultTheme.primaryColor!;\n\n","import React, { forwardRef, useRef, useEffect } from 'react';\nimport { useTheme } from '../../theme/ThemeContext';\n\nexport interface InputProps\n extends Omit<React.InputHTMLAttributes<HTMLInputElement>, 'size' | 'prefix' | 'suffix'> {\n /** 输入框大小 */\n size?: 'small' | 'mediumSmall' | 'medium' | 'large';\n /** 是否禁用 */\n disabled?: boolean;\n /** 是否显示错误状态 */\n error?: boolean;\n /** 是否只读 */\n readOnly?: boolean;\n /** 输入框前缀图标 */\n prefix?: React.ReactNode;\n /** 输入框后缀图标 */\n suffix?: React.ReactNode;\n /** 允许清除 */\n allowClear?: boolean;\n /** 清除回调 */\n onClear?: () => void;\n /** 自定义类名 */\n className?: string;\n /** 自定义样式 */\n style?: React.CSSProperties;\n /** 输入框类型 */\n type?: string;\n /** 占位符 */\n placeholder?: string;\n /** 值 */\n value?: string;\n /** 默认值 */\n defaultValue?: string;\n /** 变化回调 */\n onChange?: (e: React.ChangeEvent<HTMLInputElement>) => void;\n /** 聚焦回调 */\n onFocus?: (e: React.FocusEvent<HTMLInputElement>) => void;\n /** 失焦回调 */\n onBlur?: (e: React.FocusEvent<HTMLInputElement>) => void;\n /** 按下回车回调 */\n onPressEnter?: (e: React.KeyboardEvent<HTMLInputElement>) => void;\n}\n\nconst Input = forwardRef<HTMLInputElement, InputProps>(\n (\n {\n size = 'medium',\n disabled = false,\n error = false,\n readOnly = false,\n prefix,\n suffix,\n allowClear = false,\n onClear,\n className = '',\n style,\n type = 'text',\n placeholder,\n value,\n defaultValue,\n onChange,\n onFocus,\n onBlur,\n onPressEnter,\n ...restProps\n },\n ref\n ) => {\n const { primaryColor = '#FB6011' } = useTheme();\n const inputRef = useRef<HTMLInputElement>(null);\n const [internalValue, setInternalValue] = React.useState(\n defaultValue || value || ''\n );\n const [focused, setFocused] = React.useState(false);\n\n // 合并 ref\n useEffect(() => {\n if (typeof ref === 'function') {\n ref(inputRef.current);\n } else if (ref) {\n (ref as React.MutableRefObject<HTMLInputElement | null>).current =\n inputRef.current;\n }\n }, [ref]);\n\n // 受控/非受控处理\n const isControlled = value !== undefined;\n const currentValue = isControlled ? value : internalValue;\n\n const handleChange = (e: React.ChangeEvent<HTMLInputElement>) => {\n if (!isControlled) {\n setInternalValue(e.target.value);\n }\n onChange?.(e);\n };\n\n const handleFocus = (e: React.FocusEvent<HTMLInputElement>) => {\n setFocused(true);\n onFocus?.(e);\n };\n\n const handleBlur = (e: React.FocusEvent<HTMLInputElement>) => {\n setFocused(false);\n onBlur?.(e);\n };\n\n const handleKeyDown = (e: React.KeyboardEvent<HTMLInputElement>) => {\n if (e.key === 'Enter' && onPressEnter) {\n onPressEnter(e);\n }\n restProps.onKeyDown?.(e);\n };\n\n const handleClear = (e: React.MouseEvent) => {\n e.stopPropagation();\n if (!isControlled) {\n setInternalValue('');\n }\n // 创建一个清除事件\n const syntheticEvent = {\n target: { value: '' },\n currentTarget: { value: '' },\n } as React.ChangeEvent<HTMLInputElement>;\n onChange?.(syntheticEvent);\n onClear?.();\n inputRef.current?.focus();\n };\n\n const showClear = allowClear && currentValue && !disabled;\n\n // 尺寸样式 - 高度包含边框(1px),实际内容区域需要减去上下边框(2px)\n // 字体 16px,line-height 24px,需要计算合适的 padding\n const sizeStyles = {\n small: {\n height: '32px', // 包含边框的实际高度\n paddingTop: '3px',\n paddingBottom: '3px',\n },\n mediumSmall: {\n height: '36px', // 包含边框的实际高度\n paddingTop: '5px',\n paddingBottom: '5px',\n },\n medium: {\n height: '40px', // 包含边框的实际高度\n paddingTop: '7px',\n paddingBottom: '7px',\n },\n large: {\n height: '48px', // 包含边框的实际高度\n paddingTop: '11px',\n paddingBottom: '11px',\n },\n };\n\n // 计算 padding-right\n const hasRightContent = suffix || showClear;\n const paddingRight = hasRightContent ? '40px' : '12px'; // 如果有后缀或清除按钮,右边留出空间\n\n const baseStyles: React.CSSProperties = {\n width: '100%',\n boxSizing: 'border-box',\n fontFamily: \"DM Sans, sans-serif\",\n borderRadius: '8px', // rounded-md (0.5rem)\n border: `1px solid ${error ? '#F04438' : focused ? primaryColor : '#D7D3D0'}`,\n backgroundColor: disabled ? '#FAFAF9' : readOnly ? '#FAFAF9' : '#FFFFFF',\n color: disabled ? '#98A2B3' : '#1C1917',\n fontSize: '16px', // text-base - 至少 16px 避免 iOS Safari 自动缩放\n fontWeight: 400,\n lineHeight: '24px',\n paddingLeft: prefix ? '40px' : '12px', // 所有情况下,如果没有前缀,padding-left 都是 12px\n paddingRight,\n paddingTop: sizeStyles[size].paddingTop,\n paddingBottom: sizeStyles[size].paddingBottom,\n transition: 'all 0.2s',\n outline: 'none',\n WebkitAppearance: 'none', // 移除 iOS Safari 默认样式\n MozAppearance: 'textfield', // 移除 Firefox 数字输入框的上下箭头\n appearance: 'none',\n ...style,\n };\n\n // 占位符样式通过 CSS 类名处理\n const placeholderStyles = `\n .aha-input-wrapper input::placeholder {\n color: #D7D3D0;\n font-size: 16px;\n font-weight: 400;\n opacity: 1;\n }\n .aha-input-wrapper input::-webkit-input-placeholder {\n color: #D7D3D0;\n font-size: 16px;\n font-weight: 400;\n opacity: 1;\n }\n .aha-input-wrapper input::-moz-placeholder {\n color: #D7D3D0;\n font-size: 16px;\n font-weight: 400;\n opacity: 1;\n }\n .aha-input-wrapper input:-ms-input-placeholder {\n color: #D7D3D0;\n font-size: 16px;\n font-weight: 400;\n opacity: 1;\n }\n /* 移动端优化 */\n .aha-input-wrapper input {\n -webkit-tap-highlight-color: transparent;\n -webkit-touch-callout: none;\n touch-action: manipulation;\n }\n /* 移除数字输入框的上下箭头 */\n .aha-input-wrapper input[type=\"number\"]::-webkit-inner-spin-button,\n .aha-input-wrapper input[type=\"number\"]::-webkit-outer-spin-button {\n -webkit-appearance: none;\n margin: 0;\n }\n .aha-input-wrapper input[type=\"number\"] {\n -moz-appearance: textfield;\n }\n `;\n\n // 清除图标\n const ClearIcon = () => (\n <svg\n width=\"16\"\n height=\"16\"\n viewBox=\"0 0 16 16\"\n fill=\"none\"\n xmlns=\"http://www.w3.org/2000/svg\"\n onClick={handleClear}\n style={{\n cursor: 'pointer',\n flexShrink: 0,\n color: '#78716C',\n }}\n >\n <path\n d=\"M12 4L4 12M4 4L12 12\"\n stroke=\"currentColor\"\n strokeWidth=\"1.5\"\n strokeLinecap=\"round\"\n strokeLinejoin=\"round\"\n />\n </svg>\n );\n\n return (\n <>\n <style>{placeholderStyles}</style>\n <div\n className={`aha-input-wrapper ${className}`}\n style={{\n position: 'relative',\n display: 'inline-flex',\n alignItems: 'center',\n width: '100%',\n }}\n >\n {prefix && (\n <span\n style={{\n position: 'absolute',\n left: '12px',\n display: 'flex',\n alignItems: 'center',\n color: disabled ? '#98A2B3' : '#78716C',\n zIndex: 1,\n pointerEvents: 'none',\n }}\n >\n {prefix}\n </span>\n )}\n <input\n ref={inputRef}\n type={type}\n value={currentValue}\n placeholder={placeholder}\n disabled={disabled}\n readOnly={readOnly}\n onChange={handleChange}\n onFocus={handleFocus}\n onBlur={handleBlur}\n onKeyDown={handleKeyDown}\n style={baseStyles}\n autoComplete={restProps.autoComplete || 'off'}\n autoCorrect={restProps.autoCorrect || 'off'}\n autoCapitalize={restProps.autoCapitalize || 'off'}\n spellCheck={restProps.spellCheck || false}\n {...restProps}\n />\n {(suffix || showClear) && (\n <span\n style={{\n position: 'absolute',\n right: '12px',\n display: 'flex',\n alignItems: 'center',\n gap: '4px',\n color: disabled ? '#98A2B3' : '#78716C',\n zIndex: 1,\n }}\n >\n {showClear && <ClearIcon />}\n {suffix && <span style={{ pointerEvents: 'none' }}>{suffix}</span>}\n </span>\n )}\n </div>\n </>\n );\n }\n);\n\nInput.displayName = 'Input';\n\nexport default Input;\n\n"],"names":["__assign","Object","assign","t","s","i","n","arguments","length","p","prototype","hasOwnProperty","call","apply","this","SuppressedError","defaultTheme","primaryColor","ThemeContext","createContext","Input","forwardRef","_a","ref","_b","size","_c","disabled","_d","error","_e","readOnly","prefix","suffix","_f","allowClear","onClear","_g","className","style","_h","type","placeholder","value","defaultValue","onChange","onFocus","onBlur","onPressEnter","restProps","e","indexOf","getOwnPropertySymbols","propertyIsEnumerable","__rest","_j","useContext","inputRef","useRef","_k","React","useState","internalValue","setInternalValue","_l","focused","setFocused","useEffect","current","isControlled","undefined","currentValue","handleClear","stopPropagation","target","currentTarget","focus","showClear","sizeStyles","small","height","paddingTop","paddingBottom","mediumSmall","medium","large","paddingRight","baseStyles","width","boxSizing","fontFamily","borderRadius","border","concat","backgroundColor","color","fontSize","fontWeight","lineHeight","paddingLeft","transition","outline","WebkitAppearance","MozAppearance","appearance","_jsxs","_Fragment","children","_jsx","jsxs","position","display","alignItems","jsx","left","zIndex","pointerEvents","onKeyDown","key","autoComplete","autoCorrect","autoCapitalize","spellCheck","right","gap","viewBox","fill","xmlns","onClick","cursor","flexShrink","d","stroke","strokeWidth","strokeLinecap","strokeLinejoin","displayName"],"mappings":"0HA+BWA,EAAW,WAQlB,OAPAA,EAAWC,OAAOC,QAAU,SAAkBC,GAC1C,IAAK,IAAIC,EAAGC,EAAI,EAAGC,EAAIC,UAAUC,OAAQH,EAAIC,EAAGD,IAE5C,IAAK,IAAII,KADTL,EAAIG,UAAUF,GACOJ,OAAOS,UAAUC,eAAeC,KAAKR,EAAGK,KAAIN,EAAEM,GAAKL,EAAEK,IAE9E,OAAON,CACV,EACMH,EAASa,MAAMC,KAAMP,UAChC,EAgSkD,mBAApBQ,iBAAiCA,gBClU/D,IAAMC,EAA4B,CAChCC,aAAc,WAGVC,EAAeC,EAAAA,cAA2BH,GCiC1CI,EAAQC,EAAUA,WACtB,SACEC,EAqBAC,GApBE,IAAAC,SAAAC,aAAO,SAAQD,EACfE,EAAgBJ,EAAAK,SAAhBA,OAAQ,IAAAD,GAAQA,EAChBE,UAAAC,cAAaD,EACbE,EAAAR,EAAAS,SAAAA,OAAQ,IAAAD,GAAQA,EAChBE,EAAMV,EAAAU,OACNC,EAAMX,EAAAW,OACNC,EAAkBZ,EAAAa,WAAlBA,OAAa,IAAAD,KACbE,EAAOd,EAAAc,QACPC,cAAAC,aAAY,GAAED,EACdE,EAAKjB,EAAAiB,MACLC,EAAAlB,EAAAmB,KAAAA,OAAI,IAAAD,EAAG,OAAMA,EACbE,EAAWpB,EAAAoB,YACXC,EAAKrB,EAAAqB,MACLC,EAAYtB,EAAAsB,aACZC,EAAQvB,EAAAuB,SACRC,EAAOxB,EAAAwB,QACPC,EAAMzB,EAAAyB,OACNC,EAAY1B,EAAA0B,aACTC,EFtBF,SAAgB7C,EAAG8C,GACtB,IAAI/C,EAAI,CAAA,EACR,IAAK,IAAIM,KAAKL,EAAOH,OAAOS,UAAUC,eAAeC,KAAKR,EAAGK,IAAMyC,EAAEC,QAAQ1C,GAAK,IAC9EN,EAAEM,GAAKL,EAAEK,IACb,GAAS,MAALL,GAAqD,mBAAjCH,OAAOmD,sBACtB,KAAI/C,EAAI,EAAb,IAAgBI,EAAIR,OAAOmD,sBAAsBhD,GAAIC,EAAII,EAAED,OAAQH,IAC3D6C,EAAEC,QAAQ1C,EAAEJ,IAAM,GAAKJ,OAAOS,UAAU2C,qBAAqBzC,KAAKR,EAAGK,EAAEJ,MACvEF,EAAEM,EAAEJ,IAAMD,EAAEK,EAAEJ,IAF4B,CAItD,OAAOF,CACX,CEYkBmD,CAAAhC,EAnBd,8LAuBQiC,GDnCMC,aAAWtC,IAGlBF,GCgCwCC,aAAvCA,OAAY,IAAAsC,EAAG,UAASA,EAC1BE,EAAWC,SAAyB,MACpCC,EAAoCC,EAAMC,SAC9CjB,GAAgBD,GAAS,IADpBmB,OAAeC,OAGhBC,EAAwBJ,EAAMC,UAAS,GAAtCI,EAAOD,EAAA,GAAEE,OAGhBC,EAAAA,UAAU,WACW,mBAAR5C,EACTA,EAAIkC,EAASW,SACJ7C,IACRA,EAAwD6C,QACvDX,EAASW,QAEf,EAAG,CAAC7C,IAGJ,IAAM8C,OAAyBC,IAAV3B,EACf4B,EAAeF,EAAe1B,EAAQmB,EA0BtCU,EAAc,SAACtB,SACnBA,EAAEuB,kBACGJ,GACHN,EAAiB,IAOnBlB,SAAAA,EAJuB,CACrB6B,OAAQ,CAAE/B,MAAO,IACjBgC,cAAe,CAAEhC,MAAO,MAG1BP,SAAAA,IACkB,QAAlBd,EAAAmC,EAASW,eAAS,IAAA9C,GAAAA,EAAAsD,OACpB,EAEMC,EAAY1C,GAAcoC,IAAiB5C,EAI3CmD,EAAa,CACjBC,MAAO,CACLC,OAAQ,OACRC,WAAY,MACZC,cAAe,OAEjBC,YAAa,CACXH,OAAQ,OACRC,WAAY,MACZC,cAAe,OAEjBE,OAAQ,CACNJ,OAAQ,OACRC,WAAY,MACZC,cAAe,OAEjBG,MAAO,CACLL,OAAQ,OACRC,WAAY,OACZC,cAAe,SAMbI,EADkBrD,GAAU4C,EACK,OAAS,OAE1CU,KACJC,MAAO,OACPC,UAAW,aACXC,WAAY,sBACZC,aAAc,MACdC,OAAQ,aAAAC,OAAahE,EAAQ,UAAYoC,EAAUhD,EAAe,WAClE6E,gBAAiBnE,GAAuBI,EAAZ,UAAmC,UAC/DgE,MAAOpE,EAAW,UAAY,UAC9BqE,SAAU,OACVC,WAAY,IACZC,WAAY,OACZC,YAAanE,EAAS,OAAS,OAC/BsD,eACAL,WAAYH,EAAWrD,GAAMwD,WAC7BC,cAAeJ,EAAWrD,GAAMyD,cAChCkB,WAAY,WACZC,QAAS,OACTC,iBAAkB,OAClBC,cAAe,YACfC,WAAY,QACTjE,GAuEL,OACEkE,EAAAA,KAAAC,EAAAA,SAAA,CAAAC,SAAA,CACEC,MAAQ,QAAA,CAAAD,SArEc,+pCAsEtBF,EAAAI,KAAA,MAAA,CACEvE,UAAW,qBAAqBuD,OAAAvD,GAChCC,MAAO,CACLuE,SAAU,WACVC,QAAS,cACTC,WAAY,SACZxB,MAAO,QACRmB,SAAA,CAEA3E,GACC4E,EAAAK,IAAA,OAAA,CACE1E,MAAO,CACLuE,SAAU,WACVI,KAAM,OACNH,QAAS,OACTC,WAAY,SACZjB,MAAOpE,EAAW,UAAY,UAC9BwF,OAAQ,EACRC,cAAe,QAGhBT,SAAA3E,IAGL4E,EAAAA,eACErF,IAAKkC,EACLhB,KAAMA,EACNE,MAAO4B,EACP7B,YAAaA,EACbf,SAAUA,EACVI,SAAUA,EACVc,SAnMa,SAACK,GACfmB,GACHN,EAAiBb,EAAEwB,OAAO/B,OAE5BE,SAAAA,EAAWK,EACb,EA+LQJ,QA7LY,SAACI,GACnBgB,GAAW,GACXpB,SAAAA,EAAUI,EACZ,EA2LQH,OAzLW,SAACG,GAClBgB,GAAW,GACXnB,SAAAA,EAASG,EACX,EAuLQmE,UArLc,SAACnE,SACP,UAAVA,EAAEoE,KAAmBtE,GACvBA,EAAaE,GAEO,QAAtB5B,EAAA2B,EAAUoE,iBAAY,IAAA/F,GAAAA,EAAAV,KAAAqC,EAAAC,EACxB,EAiLQX,MAAOgD,EACPgC,aAActE,EAAUsE,cAAgB,MACxCC,YAAavE,EAAUuE,aAAe,MACtCC,eAAgBxE,EAAUwE,gBAAkB,MAC5CC,WAAYzE,EAAUyE,aAAc,GAChCzE,KAEJhB,GAAU4C,IACV4B,EAAAA,KACE,OAAA,CAAAlE,MAAO,CACLuE,SAAU,WACVa,MAAO,OACPZ,QAAS,OACTC,WAAY,SACZY,IAAK,MACL7B,MAAOpE,EAAW,UAAY,UAC9BwF,OAAQ,GAGTR,SAAA,CAAA9B,GAAa+B,MAjFN,WAAM,OACtBA,EAAAK,IAAA,MAAA,CACEzB,MAAM,KACNR,OAAO,KACP6C,QAAQ,YACRC,KAAK,OACLC,MAAM,6BACNC,QAASxD,EACTjC,MAAO,CACL0F,OAAQ,UACRC,WAAY,EACZnC,MAAO,WAGTY,SAAAC,EAAAA,IAAA,OAAA,CACEuB,EAAE,uBACFC,OAAO,eACPC,YAAY,MACZC,cAAc,QACdC,eAAe,aA8Da,CAAA,GACvBtG,GAAU2E,MAAM,OAAA,CAAArE,MAAO,CAAE6E,cAAe,QAAQT,SAAG1E,YAMhE,GAGFb,EAAMoH,YAAc","x_google_ignoreList":[0]}
@@ -0,0 +1,2 @@
1
+ import{jsxs as e,jsx as r}from"react/jsx-runtime";import n,{createContext as i,useContext as t,useRef as l,useState as o,useCallback as a}from"react";var s=function(){return s=Object.assign||function(e){for(var r,n=1,i=arguments.length;n<i;n++)for(var t in r=arguments[n])Object.prototype.hasOwnProperty.call(r,t)&&(e[t]=r[t]);return e},s.apply(this,arguments)};function d(e,r,n){if(n||2===arguments.length)for(var i,t=0,l=r.length;t<l;t++)!i&&t in r||(i||(i=Array.prototype.slice.call(r,0,t)),i[t]=r[t]);return e.concat(i||Array.prototype.slice.call(r))}"function"==typeof SuppressedError&&SuppressedError;var c={primaryColor:"#FB6011"},p=i(c),u=function(i){var u=i.items,y=void 0===u?[]:u,f=i.userProfile,h=i.selectedKeys,v=i.defaultSelectedKeys,m=void 0===v?[]:v,x=i.onSelect,g=i.onDeselect,k=i.className,b=void 0===k?"":k,F=i.style,C=i.width,w=void 0===C?320:C;(t(p)||c).primaryColor;var S=l(null),A=l({}),E=void 0!==h,N=o(m),B=N[0],D=N[1],M=E?h:B,j=function(e){return"children"in e&&Array.isArray(e.children)},O=a(function(e,r,n){void 0===n&&(n=[]);for(var i=0,t=r;i<t.length;i++){var l=t[i];if(j(l)){var o=O(e,l.children,n);if(o)return o}else{var a=l,s=d(d([],n,!0),[a.key],!1);if(a.key===e)return s}}return null},[]),P=a(function(e){var r;if(!e.disabled){var n,i=O(e.key,y)||[e.key];M.includes(e.key)?(n=M.filter(function(r){return r!==e.key}),null==g||g({key:e.key,keyPath:i,selectedKeys:n})):(n=[e.key],null==x||x({key:e.key,keyPath:i,selectedKeys:n})),E||D(n),null===(r=e.onClick)||void 0===r||r.call(e,{key:e.key,keyPath:i})}},[M,E,x,g,y,O]),z=function(n){var i=M.includes(n.key);if(n.render)return r("div",{className:n.className,style:n.style,children:n.render(n,i)},n.key);var t=s({display:"flex",alignItems:"center",padding:"10px 16px",cursor:n.disabled?"not-allowed":"pointer",fontSize:"14px",lineHeight:"20px",fontFamily:"DM Sans, sans-serif",color:n.disabled?"#98A2B3":n.danger?"#DC2626":"#101828",backgroundColor:"transparent",transition:"background-color 0.15s",opacity:n.disabled?.5:1},n.style);return e("div",{ref:function(e){A.current[n.key]=e},className:"aha-menu-item ".concat(n.className||""),style:t,onClick:function(){return P(n)},onMouseEnter:function(e){n.disabled||(e.currentTarget.style.backgroundColor="#F9FAFB")},onMouseLeave:function(e){e.currentTarget.style.backgroundColor="transparent"},children:[n.icon&&r("div",{style:{display:"flex",alignItems:"center",justifyContent:"center",width:"20px",height:"20px",marginRight:"12px",flexShrink:0,color:n.disabled?"#98A2B3":n.danger?"#DC2626":"#101828"},children:n.icon}),r("span",{style:{flex:1},children:n.label})]},n.key)},I=s({width:"number"==typeof w?"".concat(w,"px"):w,backgroundColor:"#FFFFFF",borderRadius:"12px",boxShadow:"0px 10px 38px rgba(22, 23, 24, 0.35), 0px 10px 20px rgba(22, 23, 24, 0.2)",overflow:"hidden",fontFamily:"DM Sans, sans-serif"},F),K=function(e,r){if(0===e)return!1;var n=r[e],i=r[e-1];return!!j(i)||!(!j(n)||j(i))};return e("div",{ref:S,className:"aha-menu-list ".concat(b),style:I,children:[f&&(f?f.render?f.render(f):r("div",{onClick:f.onClick,style:{padding:"16px",cursor:f.onClick?"pointer":"default",borderBottom:"1px solid #E7E5E4"},children:e("div",{style:{display:"flex",alignItems:"center",gap:"12px"},children:[e("div",{style:{position:"relative",flexShrink:0},children:[f.avatar||r("div",{style:{width:"40px",height:"40px",borderRadius:"50%",backgroundColor:"#F5F5F4",display:"flex",alignItems:"center",justifyContent:"center",fontSize:"16px",color:"#78716C"},children:"string"==typeof f.name?f.name.charAt(0).toUpperCase():"U"}),void 0!==f.online&&r("div",{style:{position:"absolute",bottom:"0",right:"0",width:"12px",height:"12px",borderRadius:"50%",backgroundColor:f.online?"#10B981":"#9CA3AF",border:"2px solid #FFFFFF"}})]}),e("div",{style:{flex:1,minWidth:0},children:[r("div",{style:{fontSize:"14px",fontWeight:500,lineHeight:"20px",color:"#101828",fontFamily:"DM Sans, sans-serif",marginBottom:"2px",overflow:"hidden",textOverflow:"ellipsis",whiteSpace:"nowrap"},children:f.name}),f.email&&r("div",{style:{fontSize:"14px",lineHeight:"20px",color:"#78716C",fontFamily:"DM Sans, sans-serif",overflow:"hidden",textOverflow:"ellipsis",whiteSpace:"nowrap"},children:f.email})]})]})}):null),r("div",{children:y.map(function(i,t){return e(n.Fragment,{children:[K(t,y)&&r("div",{style:{height:"1px",backgroundColor:"#E7E5E4",margin:"4px 0"}}),j(i)?(l=i,r("div",{className:"aha-menu-group ".concat(l.className||""),children:l.children.map(function(e){return z(e)})},"group-".concat(l.title))):z(i)]},t);var l})})]})};u.displayName="MenuList";export{u as default};
2
+ //# sourceMappingURL=MenuList.esm.js.map