aha-components 1.2.1 → 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 (104) 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/Tag/Tag.stories.d.ts +1 -0
  90. package/dist/components/Tag/index.d.ts +1 -1
  91. package/dist/components/Textarea/Textarea.stories.d.ts +15 -0
  92. package/dist/components/Textarea/index.d.ts +38 -0
  93. package/dist/components/Tooltip/Tooltip.stories.d.ts +18 -0
  94. package/dist/components/Tooltip/index.d.ts +27 -0
  95. package/dist/icons/index.d.ts +33 -0
  96. package/dist/index.d.ts +696 -7
  97. package/dist/index.esm.js +1 -1
  98. package/dist/index.esm.js.map +1 -1
  99. package/dist/index.js +1 -1
  100. package/dist/index.js.map +1 -1
  101. package/dist/theme/Theme.stories.d.ts +10 -0
  102. package/dist/theme/ThemeContext.d.ts +11 -0
  103. package/dist/theme/utils.d.ts +10 -0
  104. package/package.json +28 -24
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Pagination.js","sources":["../node_modules/tslib/tslib.es6.js","../src/theme/ThemeContext.tsx","../src/components/Button/index.tsx","../src/icons/index.tsx","../src/components/Pagination/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, { useState } from 'react';\nimport { useTheme } from '../../theme/ThemeContext';\n\nexport type ButtonType = 'default' | 'primary';\nexport type ButtonSize = 'small' | 'mediumSmall' | 'medium' | 'large';\n\nexport interface ButtonProps {\n /** 按钮内容 */\n children?: React.ReactNode;\n /** 按钮类型 */\n type?: ButtonType;\n /** 按钮尺寸 */\n size?: ButtonSize;\n /** 是否禁用 */\n disabled?: boolean;\n /** 是否加载中 */\n loading?: boolean;\n /** 点击事件 */\n onClick?: (e: React.MouseEvent<HTMLButtonElement, MouseEvent>) => void;\n /** 按钮原生type */\n htmlType?: 'button' | 'submit' | 'reset';\n /** 自定义类名 */\n className?: string;\n /** 自定义样式 */\n style?: React.CSSProperties;\n /** 图标 */\n icon?: React.ReactNode;\n /** 图标位置 */\n iconPosition?: 'left' | 'right';\n [key: string]: any;\n}\n\n// 尺寸配置:高度分别为 32、36、40、48px\nconst SIZE_CONFIG = {\n small: {\n height: '32px',\n paddingLeft: '12px',\n paddingRight: '12px',\n fontSize: '14px',\n lineHeight: '20px',\n iconSize: '16px',\n gap: '6px',\n },\n mediumSmall: {\n height: '36px',\n paddingLeft: '14px',\n paddingRight: '14px',\n fontSize: '14px',\n lineHeight: '20px',\n iconSize: '16px',\n gap: '6px',\n },\n medium: {\n height: '40px',\n paddingLeft: '16px',\n paddingRight: '16px',\n fontSize: '14px',\n lineHeight: '20px',\n iconSize: '18px',\n gap: '8px',\n },\n large: {\n height: '48px',\n paddingLeft: '20px',\n paddingRight: '20px',\n fontSize: '16px',\n lineHeight: '24px',\n iconSize: '20px',\n gap: '8px',\n },\n};\n\n// Loading 图标组件\nconst LoadingIcon: React.FC<{ size: number; color: string }> = ({ size, color }) => {\n // 使用 React 方式注入样式,避免在模块顶层操作 DOM\n const loadingStyles = `\n @keyframes aha-button-spin {\n from { transform: rotate(0deg); }\n to { transform: rotate(360deg); }\n }\n `;\n\n return (\n <>\n <style>{loadingStyles}</style>\n <svg\n width={size}\n height={size}\n viewBox=\"0 0 24 24\"\n fill=\"none\"\n style={{\n animation: 'aha-button-spin 1s linear infinite',\n }}\n >\n <circle\n cx=\"12\"\n cy=\"12\"\n r=\"10\"\n stroke={color}\n strokeWidth=\"2\"\n strokeLinecap=\"round\"\n strokeDasharray=\"32\"\n strokeDashoffset=\"24\"\n opacity=\"0.3\"\n />\n <circle\n cx=\"12\"\n cy=\"12\"\n r=\"10\"\n stroke={color}\n strokeWidth=\"2\"\n strokeLinecap=\"round\"\n strokeDasharray=\"32\"\n strokeDashoffset=\"16\"\n />\n </svg>\n </>\n );\n};\n\nconst Button: React.FC<ButtonProps> = ({\n children,\n type = 'default',\n size = 'medium',\n disabled = false,\n loading = false,\n onClick,\n htmlType = 'button',\n className = '',\n style,\n icon,\n iconPosition = 'left',\n ...rest\n}) => {\n const { primaryColor = '#FB6011' } = useTheme();\n const [isHovered, setIsHovered] = useState(false);\n const [isPressed, setIsPressed] = useState(false);\n\n const sizeConfig = SIZE_CONFIG[size];\n const isDisabled = disabled || loading;\n\n // 计算按钮样式\n const getButtonStyles = (): React.CSSProperties => {\n const baseStyle: React.CSSProperties = {\n position: 'relative',\n display: 'inline-flex',\n alignItems: 'center',\n justifyContent: 'center',\n gap: sizeConfig.gap,\n height: sizeConfig.height,\n paddingLeft: sizeConfig.paddingLeft,\n paddingRight: sizeConfig.paddingRight,\n fontSize: sizeConfig.fontSize,\n lineHeight: sizeConfig.lineHeight,\n fontWeight: 500,\n fontFamily: 'DM Sans, sans-serif',\n borderRadius: '8px',\n border: 'none',\n cursor: isDisabled ? 'not-allowed' : 'pointer',\n outline: 'none',\n transition: 'all 0.2s',\n userSelect: 'none',\n WebkitTapHighlightColor: 'transparent',\n ...style,\n };\n\n if (type === 'primary') {\n // Primary 按钮:使用主题色,所有状态下文字都是白色\n baseStyle.color = '#FFFFFF';\n baseStyle.backgroundColor = primaryColor;\n if (disabled) {\n // disabled状态:保持primary样式,通过降低透明度表示禁用\n baseStyle.opacity = 0.4;\n baseStyle.cursor = 'not-allowed';\n } else if (loading) {\n // loading状态:保持primary样式(主题色背景)\n baseStyle.backgroundColor = primaryColor;\n } else if (isPressed) {\n baseStyle.backgroundColor = '#EC470A'; // 按下时的深色\n } else if (isHovered) {\n baseStyle.backgroundColor = '#FD843A'; // hover时的浅色\n }\n } else {\n // Default 按钮:白色背景,灰色边框\n if (disabled) {\n // disabled状态:灰色背景,灰色文字\n baseStyle.backgroundColor = '#FAFAF9';\n baseStyle.color = '#D6D3D1';\n baseStyle.border = '1px solid #E7E5E4';\n } else if (loading) {\n // loading状态:保持default样式(白色背景+边框)\n baseStyle.backgroundColor = '#FFFFFF';\n baseStyle.color = '#101828';\n baseStyle.border = '1px solid #E7E5E4';\n baseStyle.boxShadow = '0px 1px 2px 0px rgba(12, 10, 9, 0.05)';\n } else if (isPressed) {\n baseStyle.backgroundColor = '#F5F5F4';\n baseStyle.color = '#101828';\n baseStyle.border = '1px solid #D7D3D0';\n baseStyle.boxShadow = '0px 1px 2px 0px rgba(12, 10, 9, 0.05)';\n } else if (isHovered) {\n // Hover 状态:浅灰色背景,边框稍微变深,增强阴影\n baseStyle.backgroundColor = '#FAFAF9';\n baseStyle.color = '#101828';\n baseStyle.border = '1px solid #D7D3D0';\n baseStyle.boxShadow = '0px 2px 4px 0px rgba(12, 10, 9, 0.08)';\n } else {\n baseStyle.backgroundColor = '#FFFFFF';\n baseStyle.color = '#101828';\n baseStyle.border = '1px solid #E7E5E4';\n baseStyle.boxShadow = '0px 1px 2px 0px rgba(12, 10, 9, 0.05)';\n }\n }\n\n return baseStyle;\n };\n\n // 处理点击事件\n const handleClick = (e: React.MouseEvent<HTMLButtonElement, MouseEvent>) => {\n if (isDisabled) {\n e.preventDefault();\n return;\n }\n onClick?.(e);\n };\n\n // 渲染图标\n const renderIcon = () => {\n if (loading) {\n // loading时,根据按钮类型确定颜色\n // primary按钮:白色图标;default按钮:黑色图标\n const iconColor = type === 'primary' ? '#FFFFFF' : '#101828';\n const iconSize = parseInt(sizeConfig.iconSize.replace('px', ''));\n return <LoadingIcon size={iconSize} color={iconColor} />;\n }\n if (icon) {\n return (\n <span\n style={{\n display: 'inline-flex',\n alignItems: 'center',\n justifyContent: 'center',\n width: sizeConfig.iconSize,\n height: sizeConfig.iconSize,\n flexShrink: 0,\n }}\n >\n {icon}\n </span>\n );\n }\n return null;\n };\n\n const buttonStyle = getButtonStyles();\n\n return (\n <button\n type={htmlType}\n className={`aha-button aha-button--${type} aha-button--${size} ${isDisabled ? 'aha-button--disabled' : ''} ${loading ? 'aha-button--loading' : ''} ${className}`}\n disabled={isDisabled}\n onClick={handleClick}\n onMouseEnter={() => !isDisabled && setIsHovered(true)}\n onMouseLeave={() => {\n setIsHovered(false);\n setIsPressed(false);\n }}\n onMouseDown={() => !isDisabled && setIsPressed(true)}\n onMouseUp={() => setIsPressed(false)}\n style={buttonStyle}\n {...rest}\n >\n {/* loading时,图标总是在左侧显示,忽略iconPosition */}\n {loading && renderIcon()}\n {!loading && iconPosition === 'left' && renderIcon()}\n {children && <span style={{ display: 'inline-block' }}>{children}</span>}\n {!loading && iconPosition === 'right' && renderIcon()}\n </button>\n );\n};\n\nButton.displayName = 'Button';\n\nexport default Button;\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, { useState, useEffect, useMemo } from \"react\";\nimport { useTheme } from \"../../theme/ThemeContext\";\nimport Button from \"../Button\";\nimport { LeftArrowIcon, RightArrowIcon } from \"../../icons\";\n\nexport interface PaginationProps {\n current?: number;\n defaultCurrent?: number;\n total?: number;\n pageSize?: number;\n defaultPageSize?: number;\n showSizeChanger?: boolean;\n pageSizeOptions?: string[];\n showQuickJumper?: boolean | { goButton?: React.ReactNode };\n showTotal?: (total: number, range: [number, number]) => React.ReactNode;\n onChange?: (page: number, pageSize?: number) => void;\n onShowSizeChange?: (current: number, size: number) => void;\n simple?: boolean;\n disabled?: boolean;\n hideOnSinglePage?: boolean;\n className?: string;\n style?: React.CSSProperties;\n size?: \"default\" | \"small\";\n responsive?: boolean;\n showLessItems?: boolean;\n itemRender?: (\n page: number,\n type: \"page\" | \"prev\" | \"next\" | \"jump-prev\" | \"jump-next\",\n originalElement: React.ReactNode\n ) => React.ReactNode;\n}\n\nconst Pagination: React.FC<PaginationProps> = ({\n current: controlledCurrent,\n defaultCurrent = 1,\n total = 0,\n pageSize: controlledPageSize,\n defaultPageSize = 10,\n showSizeChanger = false,\n pageSizeOptions = [\"10\", \"20\", \"50\", \"100\"],\n showQuickJumper = false,\n showTotal,\n onChange,\n onShowSizeChange,\n simple = false,\n disabled = false,\n hideOnSinglePage = false,\n className = \"\",\n style,\n size = \"default\",\n responsive = false,\n showLessItems = false,\n itemRender,\n}) => {\n const { primaryColor = \"#FB6011\" } = useTheme();\n const [internalCurrent, setInternalCurrent] = useState(defaultCurrent);\n const [internalPageSize, setInternalPageSize] = useState(defaultPageSize);\n const [jumpToPage, setJumpToPage] = useState(\"\");\n\n const current = controlledCurrent ?? internalCurrent;\n const pageSize = controlledPageSize ?? internalPageSize;\n\n const totalPages = useMemo(\n () => Math.ceil(total / pageSize),\n [total, pageSize]\n );\n\n useEffect(() => {\n if (controlledCurrent !== undefined) {\n setInternalCurrent(controlledCurrent);\n }\n }, [controlledCurrent]);\n\n useEffect(() => {\n if (controlledPageSize !== undefined) {\n setInternalPageSize(controlledPageSize);\n }\n }, [controlledPageSize]);\n\n const handlePageChange = (page: number) => {\n if (page < 1 || page > totalPages || page === current || disabled) return;\n\n if (controlledCurrent === undefined) {\n setInternalCurrent(page);\n }\n onChange?.(page, pageSize);\n };\n\n const handlePageSizeChange = (newPageSize: number) => {\n const newTotalPages = Math.ceil(total / newPageSize);\n const newCurrent = current > newTotalPages ? newTotalPages : current;\n\n if (controlledPageSize === undefined) {\n setInternalPageSize(newPageSize);\n }\n if (controlledCurrent === undefined) {\n setInternalCurrent(newCurrent);\n }\n\n onShowSizeChange?.(newCurrent, newPageSize);\n onChange?.(newCurrent, newPageSize);\n };\n\n const handleJumpTo = () => {\n const page = parseInt(jumpToPage, 10);\n if (page >= 1 && page <= totalPages) {\n handlePageChange(page);\n setJumpToPage(\"\");\n }\n };\n\n const getPageNumbers = (): (number | string)[] => {\n if (totalPages <= 7) {\n return Array.from({ length: totalPages }, (_, i) => i + 1);\n }\n\n const pages: (number | string)[] = [];\n\n if (current <= 4) {\n for (let i = 1; i <= 5; i++) {\n pages.push(i);\n }\n pages.push(\"jump-next\");\n pages.push(totalPages);\n } else if (current >= totalPages - 3) {\n pages.push(1);\n pages.push(\"jump-prev\");\n for (let i = totalPages - 4; i <= totalPages; i++) {\n pages.push(i);\n }\n } else {\n pages.push(1);\n pages.push(\"jump-prev\");\n for (let i = current - 1; i <= current + 1; i++) {\n pages.push(i);\n }\n pages.push(\"jump-next\");\n pages.push(totalPages);\n }\n\n return pages;\n };\n\n const renderItem = (\n item: number | string,\n index: number\n ): React.ReactNode => {\n if (typeof item === \"number\") {\n const isActive = item === current;\n const element = (\n <Button\n key={item}\n onClick={() => handlePageChange(item)}\n disabled={disabled}\n type=\"default\"\n size={size === \"default\" ? \"medium\" : \"small\"}\n style={{\n minWidth: size === \"small\" ? \"32px\" : \"36px\",\n height: size === \"small\" ? \"32px\" : \"36px\",\n padding: \"0 12px\",\n margin: 0,\n fontWeight: isActive ? 500 : 400,\n border: \"none\",\n background: isActive ? \"#FAFAF9\" : \"white\",\n backgroundColor: isActive ? \"#FAFAF9\" : \"white\",\n color: isActive ? primaryColor : \"#79716B\",\n boxShadow: \"none\",\n borderRadius: \"8px\",\n }}\n >\n {item}\n </Button>\n );\n\n return itemRender ? itemRender(item, \"page\", element) : element;\n }\n\n if (item === \"jump-prev\") {\n const element = (\n <Button\n key=\"jump-prev\"\n onClick={() => handlePageChange(Math.max(1, current - 5))}\n disabled={disabled}\n type=\"default\"\n size={size === \"default\" ? \"medium\" : \"small\"}\n style={{\n minWidth: size === \"small\" ? \"32px\" : \"36px\",\n height: size === \"small\" ? \"32px\" : \"36px\",\n padding: \"0 12px\",\n margin: 0,\n border: \"1px solid #EAECF0\",\n boxShadow: \"none\",\n borderRadius: \"8px\",\n }}\n >\n •••\n </Button>\n );\n\n return itemRender\n ? itemRender(current - 5, \"jump-prev\", element)\n : element;\n }\n\n if (item === \"jump-next\") {\n const element = (\n <Button\n key=\"jump-next\"\n onClick={() => handlePageChange(Math.min(totalPages, current + 5))}\n disabled={disabled}\n type=\"default\"\n size={size === \"default\" ? \"medium\" : \"small\"}\n style={{\n minWidth: size === \"small\" ? \"32px\" : \"36px\",\n height: size === \"small\" ? \"32px\" : \"36px\",\n padding: \"0 12px\",\n margin: 0,\n border: \"1px solid #EAECF0\",\n boxShadow: \"none\",\n borderRadius: \"8px\",\n }}\n >\n •••\n </Button>\n );\n\n return itemRender\n ? itemRender(current + 5, \"jump-next\", element)\n : element;\n }\n\n return null;\n };\n\n if (hideOnSinglePage && totalPages <= 1) {\n return null;\n }\n\n if (simple) {\n return (\n <div\n className={`aha-pagination aha-pagination-simple ${className}`}\n style={style}\n >\n <Button\n onClick={() => handlePageChange(current - 1)}\n disabled={disabled || current === 1}\n type=\"default\"\n size={size === \"default\" ? \"medium\" : \"small\"}\n style={{\n marginRight: \"8px\",\n border: \"1px solid #EAECF0\",\n boxShadow: \"none\",\n borderRadius: \"8px\",\n }}\n >\n 上一页\n </Button>\n <span\n style={{\n margin: \"0 8px\",\n fontSize: \"14px\",\n lineHeight: \"20px\",\n color: \"#475467\",\n fontFamily: \"DM Sans, sans-serif\",\n }}\n >\n {current} / {totalPages}\n </span>\n <Button\n onClick={() => handlePageChange(current + 1)}\n disabled={disabled || current === totalPages}\n type=\"default\"\n size={size === \"default\" ? \"medium\" : \"small\"}\n style={{\n marginLeft: \"8px\",\n border: \"1px solid #EAECF0\",\n boxShadow: \"none\",\n borderRadius: \"8px\",\n }}\n >\n 下一页\n </Button>\n </div>\n );\n }\n\n const start = (current - 1) * pageSize + 1;\n const end = Math.min(current * pageSize, total);\n\n return (\n <div\n className={`aha-pagination w-full ${className}`}\n style={{\n display: \"flex\",\n alignItems: \"center\",\n justifyContent: \"space-between\",\n flexWrap: responsive ? \"wrap\" : \"nowrap\",\n fontFamily: \"DM Sans, sans-serif\",\n ...style,\n }}\n >\n {showTotal && (\n <div className=\"justify-start text-Text-text-secondary text-sm font-medium font-['DM_Sans'] leading-5\">\n {showTotal(total, [start, end])}\n </div>\n )}\n\n <div\n style={{\n display: \"flex\",\n alignItems: \"center\",\n gap: \"12px\",\n }}\n >\n {itemRender ? (\n itemRender(\n current - 1,\n \"prev\",\n <Button\n onClick={() => handlePageChange(current - 1)}\n disabled={disabled || current === 1}\n type=\"default\"\n size={size === \"default\" ? \"medium\" : \"small\"}\n style={{\n height: size === \"small\" ? \"32px\" : \"36px\",\n padding: \"0 12px\",\n gap: \"4px\",\n border: \"1px solid #EAECF0\",\n boxShadow: \"none\",\n borderRadius: \"8px\",\n }}\n >\n <div className=\"flex items-center gap-1\">\n <LeftArrowIcon /> <span>Previous</span>\n </div>\n </Button>\n )\n ) : (\n <Button\n onClick={() => handlePageChange(current - 1)}\n disabled={disabled || current === 1}\n type=\"default\"\n size={size === \"default\" ? \"medium\" : \"small\"}\n style={{\n height: size === \"small\" ? \"32px\" : \"36px\",\n padding: \"0 12px\",\n gap: \"4px\",\n border: \"1px solid #EAECF0\",\n boxShadow: \"none\",\n borderRadius: \"8px\",\n }}\n >\n <div className=\"flex items-center gap-1\">\n <LeftArrowIcon /> <span>Previous</span>\n </div>\n </Button>\n )}\n\n <div style={{ display: \"flex\", alignItems: \"center\", gap: 0 }}>\n {getPageNumbers().map((item, index) => renderItem(item, index))}\n </div>\n\n {itemRender ? (\n itemRender(\n current + 1,\n \"next\",\n <Button\n onClick={() => handlePageChange(current + 1)}\n disabled={disabled || current === totalPages}\n type=\"default\"\n size={size === \"default\" ? \"medium\" : \"small\"}\n style={{\n height: size === \"small\" ? \"32px\" : \"36px\",\n padding: \"0 12px\",\n gap: \"4px\",\n border: \"1px solid #EAECF0\",\n boxShadow: \"none\",\n borderRadius: \"8px\",\n }}\n >\n <div className=\"flex items-center gap-1\">\n <span>Next</span> <RightArrowIcon />\n </div>\n </Button>\n )\n ) : (\n <Button\n onClick={() => handlePageChange(current + 1)}\n disabled={disabled || current === totalPages}\n type=\"default\"\n size={size === \"default\" ? \"medium\" : \"small\"}\n style={{\n height: size === \"small\" ? \"32px\" : \"36px\",\n padding: \"0 12px\",\n gap: \"4px\",\n border: \"1px solid #EAECF0\",\n boxShadow: \"none\",\n borderRadius: \"8px\",\n }}\n >\n <div className=\"flex items-center gap-1\">\n <span>Next</span> <RightArrowIcon />\n </div>\n </Button>\n )}\n\n {showSizeChanger && (\n <select\n value={pageSize}\n onChange={(e) => handlePageSizeChange(Number(e.target.value))}\n disabled={disabled}\n style={{\n padding: size === \"small\" ? \"6px 12px\" : \"8px 12px\",\n border: \"1px solid #EAECF0\",\n borderRadius: \"8px\",\n fontSize: size === \"small\" ? \"12px\" : \"14px\",\n lineHeight: size === \"small\" ? \"18px\" : \"20px\",\n color: \"#101828\",\n fontFamily: \"DM Sans, sans-serif\",\n cursor: disabled ? \"not-allowed\" : \"pointer\",\n backgroundColor: \"white\",\n outline: \"none\",\n transition: \"all 0.2s\",\n }}\n onMouseEnter={(e) => {\n if (!disabled) {\n e.currentTarget.style.borderColor = primaryColor;\n }\n }}\n onMouseLeave={(e) => {\n e.currentTarget.style.borderColor = \"#EAECF0\";\n }}\n >\n {pageSizeOptions.map((size) => (\n <option key={size} value={size}>\n {size} 条/页\n </option>\n ))}\n </select>\n )}\n\n {showQuickJumper && (\n <div\n style={{\n display: \"flex\",\n alignItems: \"center\",\n gap: \"8px\",\n fontFamily: \"DM Sans, sans-serif\",\n }}\n >\n <span\n style={{\n fontSize: \"14px\",\n lineHeight: \"20px\",\n color: \"#475467\",\n }}\n >\n 跳至\n </span>\n <input\n type=\"number\"\n min=\"1\"\n value={jumpToPage}\n onChange={(e) => setJumpToPage(e.target.value)}\n onKeyPress={(e) => e.key === \"Enter\" && handleJumpTo()}\n disabled={disabled}\n style={{\n width: \"56px\",\n height: size === \"small\" ? \"28px\" : \"36px\",\n padding: \"0 8px\",\n border: \"1px solid #EAECF0\",\n borderRadius: \"8px\",\n fontSize: \"14px\",\n lineHeight: \"20px\",\n color: \"#101828\",\n fontFamily: \"DM Sans, sans-serif\",\n outline: \"none\",\n transition: \"all 0.2s\",\n }}\n onFocus={(e) => {\n e.currentTarget.style.borderColor = primaryColor;\n }}\n onBlur={(e) => {\n e.currentTarget.style.borderColor = \"#EAECF0\";\n }}\n />\n <span\n style={{\n fontSize: \"14px\",\n lineHeight: \"20px\",\n color: \"#475467\",\n }}\n >\n 页\n </span>\n {typeof showQuickJumper === \"object\" && showQuickJumper.goButton ? (\n <Button\n onClick={handleJumpTo}\n disabled={disabled}\n type=\"default\"\n size={size === \"default\" ? \"medium\" : \"small\"}\n style={{\n border: \"1px solid #EAECF0\",\n boxShadow: \"none\",\n borderRadius: \"8px\",\n }}\n >\n {showQuickJumper.goButton}\n </Button>\n ) : (\n <Button\n onClick={handleJumpTo}\n disabled={disabled}\n type=\"default\"\n size={size === \"default\" ? \"medium\" : \"small\"}\n style={{\n border: \"1px solid #EAECF0\",\n boxShadow: \"none\",\n borderRadius: \"8px\",\n }}\n >\n 确定\n </Button>\n )}\n </div>\n )}\n </div>\n </div>\n );\n};\n\nexport default Pagination;\n"],"names":["__assign","Object","assign","t","s","i","n","arguments","length","p","prototype","hasOwnProperty","call","apply","this","SuppressedError","defaultTheme","primaryColor","ThemeContext","createContext","useTheme","context","useContext","SIZE_CONFIG","small","height","paddingLeft","paddingRight","fontSize","lineHeight","iconSize","gap","mediumSmall","medium","large","LoadingIcon","_a","size","color","_jsxs","jsxs","_Fragment","children","_jsx","width","viewBox","fill","style","animation","jsx","cx","cy","r","stroke","strokeWidth","strokeLinecap","strokeDasharray","strokeDashoffset","opacity","Button","baseStyle","_b","type","_c","_d","disabled","_e","loading","onClick","_f","htmlType","_g","className","icon","_h","iconPosition","rest","e","indexOf","getOwnPropertySymbols","propertyIsEnumerable","__rest","_j","_k","useState","isHovered","setIsHovered","_l","isPressed","setIsPressed","sizeConfig","isDisabled","renderIcon","iconColor","parseInt","replace","display","alignItems","justifyContent","flexShrink","buttonStyle","position","fontWeight","fontFamily","borderRadius","border","cursor","outline","transition","userSelect","WebkitTapHighlightColor","backgroundColor","boxShadow","concat","preventDefault","onMouseEnter","onMouseLeave","onMouseDown","onMouseUp","displayName","LeftArrowIcon","xmlns","d","strokeLinejoin","RightArrowIcon","controlledCurrent","current","defaultCurrent","total","controlledPageSize","pageSize","defaultPageSize","showSizeChanger","pageSizeOptions","showQuickJumper","showTotal","onChange","onShowSizeChange","simple","hideOnSinglePage","_m","_o","responsive","showLessItems","itemRender","_q","_r","internalCurrent","setInternalCurrent","_s","internalPageSize","setInternalPageSize","_t","jumpToPage","setJumpToPage","totalPages","useMemo","Math","ceil","useEffect","undefined","handlePageChange","page","handleJumpTo","marginRight","margin","marginLeft","start","end","min","flexWrap","padding","Array","from","_","pages","push","getPageNumbers","map","item","index","isActive","element","minWidth","background","max","renderItem","value","newPageSize","Number","target","newTotalPages","newCurrent","currentTarget","borderColor","onKeyPress","key","onFocus","onBlur","goButton"],"mappings":"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","x_google_ignoreList":[0]}
@@ -0,0 +1,2 @@
1
+ import{jsx as t,jsxs as e,Fragment as n}from"react/jsx-runtime";import{createContext as o,useContext as i,useRef as r,useState as s,useEffect as a}from"react";var c=function(){return c=Object.assign||function(t){for(var e,n=1,o=arguments.length;n<o;n++)for(var i in e=arguments[n])Object.prototype.hasOwnProperty.call(e,i)&&(t[i]=e[i]);return t},c.apply(this,arguments)};"function"==typeof SuppressedError&&SuppressedError;var l={primaryColor:"#FB6011"},f=o(l),d=function(o){var d=o.percent,p=void 0===d?0:d,h=o.type,u=void 0===h?"circle":h,y=o.width,m=void 0===y?120:y,g=o.title,v=o.titlePosition,x=o.showPercent,k=void 0===x||x,M=o.animated,S=void 0!==M&&M,b=o.status,w=void 0===b?"normal":b,D=o.className,F=void 0===D?"":D,C=o.style,O=o.strokeColor,P=o.trailColor,j=void 0===P?"#F5F5F4":P,A=function(t,e){var n={};for(var o in t)Object.prototype.hasOwnProperty.call(t,o)&&e.indexOf(o)<0&&(n[o]=t[o]);if(null!=t&&"function"==typeof Object.getOwnPropertySymbols){var i=0;for(o=Object.getOwnPropertySymbols(t);i<o.length;i++)e.indexOf(o[i])<0&&Object.prototype.propertyIsEnumerable.call(t,o[i])&&(n[o[i]]=t[o[i]])}return n}(o,["percent","type","width","title","titlePosition","showPercent","animated","status","className","style","strokeColor","trailColor"]),z=(i(f)||l).primaryColor,H=Math.min(100,Math.max(0,p)),W=r(!0),I=s(!1),E=I[0],B=I[1],L=s(0),T=L[0],N=L[1];a(function(){if(S&&W.current&&H>0){W.current=!1,N(0),B(!0),requestAnimationFrame(function(){requestAnimationFrame(function(){N(H)})});var t=setTimeout(function(){B(!1),N(H)},300);return function(){return clearTimeout(t)}}W.current?(W.current=!1,B(!1),N(H)):N(H)},[S,H]);var q=O||z||"#FB6011";"success"===w?q="#00BC7D":"exception"===w&&(q="#FB2C36");var X=v||"inside",G=Math.max(4,Math.round(.06*m)),J=(m-G)/2,K="semicircle"===u?m/2:m,Q="14px",R="12px",U=function(){var o=g&&"outside"===X?m+4+18+4:m,i=2*Math.PI*J,r=i-(E?T:H)/100*i;return e("div",{style:{position:"relative",width:m,height:o,display:"flex",alignItems:"center",justifyContent:"center"},children:[e("svg",{width:m,height:m,style:{position:"absolute",top:0,left:0},children:[t("circle",{cx:m/2,cy:m/2,r:J,fill:"none",stroke:j,strokeWidth:G,strokeLinecap:"round"}),t("circle",{cx:m/2,cy:m/2,r:J,fill:"none",stroke:q,strokeWidth:G,strokeLinecap:"round",strokeDasharray:i,strokeDashoffset:r,transform:"rotate(-90 ".concat(m/2," ").concat(m/2,")"),style:{transition:E?"stroke-dashoffset 0.3s ease":"none"}})]}),g&&"inside"===X?e("div",{style:{position:"absolute",left:"50%",top:"50%",transform:"translate(-50%, -50%)",textAlign:"center",display:"flex",flexDirection:"column",alignItems:"center",justifyContent:"center",gap:6},children:[t("div",{style:{fontSize:Q,color:"#292524",fontFamily:"DM Sans, sans-serif",lineHeight:1},children:g}),k&&t("div",{style:{fontSize:R,fontWeight:600,color:"#1C1917",fontFamily:"DM Sans, sans-serif",lineHeight:1},children:"".concat(Math.round(H),"%")})]}):e(n,{children:[k&&t("div",{style:{position:"absolute",left:"50%",top:"".concat(m/2,"px"),transform:"translate(-50%, -50%)",textAlign:"center",fontSize:R,fontWeight:600,color:"#1C1917",fontFamily:"DM Sans, sans-serif",lineHeight:1},children:"".concat(Math.round(H),"%")}),g&&"outside"===X&&t("div",{style:{position:"absolute",left:"50%",top:"".concat(m,"px"),transform:"translateX(-50%)",marginTop:"4px",textAlign:"center",fontSize:Q,color:"#57534E",fontFamily:"DM Sans, sans-serif",lineHeight:"18px"},children:g})]})]})},V=c({display:"inline-flex",flexDirection:"column",alignItems:"center",width:m},C);return t("div",c({className:"aha-progress aha-progress--".concat(u," ").concat(F),style:V},A,{children:function(){switch(u){case"circle":return U();case"semicircle":return i=G/2,r=m-G/2,s=(o=K+G)-G/2,a=K/2+G/2+G/2,c=g&&"outside"===X?o+4+18+4:o,l=Math.PI*J,f=l-(E?T:H)/100*l,e("div",{style:{position:"relative",width:m,height:c,overflow:"hidden"},children:[e("svg",{width:m,height:o,viewBox:"0 0 ".concat(m," ").concat(o),style:{position:"absolute",top:0,left:0},children:[t("path",{d:"M ".concat(i," ").concat(s," A ").concat(J," ").concat(J," 0 0 1 ").concat(r," ").concat(s),fill:"none",stroke:j,strokeWidth:G,strokeLinecap:"round"}),t("path",{d:"M ".concat(i," ").concat(s," A ").concat(J," ").concat(J," 0 0 1 ").concat(r," ").concat(s),fill:"none",stroke:q,strokeWidth:G,strokeLinecap:"round",strokeDasharray:l,strokeDashoffset:f,style:{transition:E?"stroke-dashoffset 0.3s ease":"none"}})]}),g&&"inside"===X?e("div",{style:{position:"absolute",left:"50%",top:"".concat(a,"px"),transform:"translate(-50%, -50%)",textAlign:"center",display:"flex",flexDirection:"column",alignItems:"center",justifyContent:"center",gap:6},children:[t("div",{style:{fontSize:Q,color:"#57534E",fontFamily:"DM Sans, sans-serif",lineHeight:1},children:g}),k&&t("div",{style:{fontSize:R,fontWeight:600,color:"#1C1917",fontFamily:"DM Sans, sans-serif",lineHeight:1},children:"".concat(Math.round(H),"%")})]}):e(n,{children:[k&&t("div",{style:{position:"absolute",left:"50%",top:"".concat(a,"px"),transform:"translate(-50%, -50%)",textAlign:"center",fontSize:R,fontWeight:600,color:"#1C1917",fontFamily:"DM Sans, sans-serif",lineHeight:1},children:"".concat(Math.round(H),"%")}),g&&"outside"===X&&t("div",{style:{position:"absolute",left:"50%",top:"".concat(o,"px"),transform:"translateX(-50%)",marginTop:"4px",textAlign:"center",fontSize:Q,color:"#57534E",fontFamily:"DM Sans, sans-serif",lineHeight:"18px"},children:g})]})]});default:return console.warn('Progress type "'.concat(u,'" is not supported yet, using "circle" as fallback')),U()}var o,i,r,s,a,c,l,f}()}))};export{d as default};
2
+ //# sourceMappingURL=Progress.esm.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Progress.esm.js","sources":["../node_modules/tslib/tslib.es6.js","../src/theme/ThemeContext.tsx","../src/components/Progress/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, { useRef, useEffect, useState } from 'react';\nimport { useTheme } from '../../theme/ThemeContext';\n\nexport type ProgressType = 'circle' | 'semicircle' | string;\nexport type ProgressStatus = 'normal' | 'success' | 'exception' | 'active';\nexport type TitlePosition = 'inside' | 'outside';\n\nexport interface ProgressProps {\n /** 进度百分比,范围 0-100 */\n percent?: number;\n /** 进度条类型,目前支持 circle(圆形)和 semicircle(半圆) */\n type?: ProgressType;\n /** 进度条宽度(尺寸),单位 px */\n width?: number;\n /** 标题文本 */\n title?: string;\n /** 标题位置,圆内(inside)或圆外(outside),圆外时显示在圆下方 */\n titlePosition?: TitlePosition;\n /** 是否显示百分比 */\n showPercent?: boolean;\n /** 是否启用动画效果 */\n animated?: boolean;\n /** 进度条状态 */\n status?: ProgressStatus;\n /** 自定义类名 */\n className?: string;\n /** 自定义样式 */\n style?: React.CSSProperties;\n /** 进度条颜色,不设置则使用主题色 */\n strokeColor?: string;\n /** 进度条轨道颜色 */\n trailColor?: string;\n [key: string]: any;\n}\n\n// 获取标题位置:默认圆内\nconst getTitlePosition = (userPosition?: TitlePosition): TitlePosition => {\n return userPosition || 'inside';\n};\n\n// 计算标题字体大小:统一使用 text-sm (14px)\nconst getTitleFontSize = () => {\n return '14px'; // text-sm\n};\n\n// 计算百分比字体大小:统一使用 text-xs (12px)\nconst getPercentFontSize = () => {\n return '12px'; // text-xs\n};\n\nconst Progress: React.FC<ProgressProps> = ({\n percent = 0,\n type = 'circle',\n width = 120,\n title,\n titlePosition: userTitlePosition,\n showPercent = true,\n animated = false,\n status = 'normal',\n className = '',\n style,\n strokeColor,\n trailColor = '#F5F5F4',\n ...rest\n}) => {\n const { primaryColor } = useTheme();\n \n // 确保 percent 在 0-100 范围内\n const normalizedPercent = Math.min(100, Math.max(0, percent));\n \n // 跟踪是否是首次渲染,动画只在首次渲染时执行一次\n const isFirstRender = useRef(true);\n const [shouldAnimate, setShouldAnimate] = useState(false);\n const [animatingPercent, setAnimatingPercent] = useState(0); // 动画中的百分比\n \n useEffect(() => {\n if (animated && isFirstRender.current && normalizedPercent > 0) {\n // 首次渲染且启用了动画且 percent > 0 时,启用动画\n isFirstRender.current = false;\n // 初始设置为 0,然后启用动画,让它过渡到目标值\n setAnimatingPercent(0);\n setShouldAnimate(true);\n // 使用 requestAnimationFrame 确保在下一个渲染周期更新到目标值\n requestAnimationFrame(() => {\n requestAnimationFrame(() => {\n setAnimatingPercent(normalizedPercent);\n });\n });\n // 动画结束后(0.3s)禁用动画,确保只执行一次\n const timer = setTimeout(() => {\n setShouldAnimate(false);\n setAnimatingPercent(normalizedPercent); // 确保最终值是目标值\n }, 300);\n return () => clearTimeout(timer);\n } else if (isFirstRender.current) {\n // 首次渲染但不需要动画,直接标记为已渲染\n isFirstRender.current = false;\n setShouldAnimate(false);\n setAnimatingPercent(normalizedPercent);\n } else {\n // 非首次渲染,直接更新到目标值,无动画\n setAnimatingPercent(normalizedPercent);\n }\n }, [animated, normalizedPercent]);\n \n // 计算实际使用的颜色\n let finalStrokeColor = strokeColor || primaryColor || '#FB6011';\n \n // 根据状态调整颜色\n if (status === 'success') {\n finalStrokeColor = '#00BC7D';\n } else if (status === 'exception') {\n finalStrokeColor = '#FB2C36';\n }\n \n // 计算标题位置:默认圆内\n const titlePosition = getTitlePosition(userTitlePosition);\n \n // 计算圆环宽度(strokeWidth),根据 width 成比例,最小 4px\n const strokeWidth = Math.max(4, Math.round(width * 0.06));\n \n // 半径(用于 SVG 绘制)\n const radius = (width - strokeWidth) / 2;\n \n // 半圆的高度是宽度的一半\n const semicircleHeight = type === 'semicircle' ? width / 2 : width;\n \n // 标题字体大小:统一使用 14px (text-sm)\n const titleFontSize = getTitleFontSize();\n // 百分比字体大小:统一使用 12px (text-xs)\n const percentFontSize = getPercentFontSize();\n \n // 渲染圆形进度\n const renderCircleProgress = () => {\n // 计算容器高度\n const containerHeight = title && titlePosition === 'outside' \n ? width + 4 + 18 + 4\n : width;\n \n // 圆形进度计算\n const circumference = 2 * Math.PI * radius;\n // 如果正在动画,使用动画中的百分比,否则使用目标百分比\n const currentPercent = shouldAnimate ? animatingPercent : normalizedPercent;\n const offset = circumference - (currentPercent / 100) * circumference;\n \n return (\n <div\n style={{\n position: 'relative',\n width: width,\n height: containerHeight,\n display: 'flex',\n alignItems: 'center',\n justifyContent: 'center',\n }}\n >\n {/* SVG 绘制圆形进度,支持圆角 */}\n <svg\n width={width}\n height={width}\n style={{\n position: 'absolute',\n top: 0,\n left: 0,\n }}\n >\n {/* 背景轨道 */}\n <circle\n cx={width / 2}\n cy={width / 2}\n r={radius}\n fill=\"none\"\n stroke={trailColor}\n strokeWidth={strokeWidth}\n strokeLinecap=\"round\"\n />\n {/* 进度条:从上方开始,顺时针 */}\n <circle\n cx={width / 2}\n cy={width / 2}\n r={radius}\n fill=\"none\"\n stroke={finalStrokeColor}\n strokeWidth={strokeWidth}\n strokeLinecap=\"round\"\n strokeDasharray={circumference}\n strokeDashoffset={offset}\n transform={`rotate(-90 ${width / 2} ${width / 2})`}\n style={{\n transition: shouldAnimate ? 'stroke-dashoffset 0.3s ease' : 'none',\n }}\n />\n </svg>\n \n {/* 内容:百分比和标题 */}\n {title && titlePosition === 'inside' ? (\n <div\n style={{\n position: 'absolute',\n left: '50%',\n top: '50%',\n transform: 'translate(-50%, -50%)',\n textAlign: 'center',\n display: 'flex',\n flexDirection: 'column',\n alignItems: 'center',\n justifyContent: 'center',\n gap: 6,\n }}\n >\n <div\n style={{\n fontSize: titleFontSize,\n color: '#292524',\n fontFamily: 'DM Sans, sans-serif',\n lineHeight: 1,\n }}\n >\n {title}\n </div>\n {showPercent && (\n <div\n style={{\n fontSize: percentFontSize,\n fontWeight: 600,\n color: '#1C1917',\n fontFamily: 'DM Sans, sans-serif',\n lineHeight: 1,\n }}\n >\n {`${Math.round(normalizedPercent)}%`}\n </div>\n )}\n </div>\n ) : (\n <>\n {showPercent && (\n <div\n style={{\n position: 'absolute',\n left: '50%',\n top: `${width / 2}px`, // 相对于圆的位置,不是容器\n transform: 'translate(-50%, -50%)',\n textAlign: 'center',\n fontSize: percentFontSize,\n fontWeight: 600,\n color: '#1C1917',\n fontFamily: 'DM Sans, sans-serif',\n lineHeight: 1,\n }}\n >\n {`${Math.round(normalizedPercent)}%`}\n </div>\n )}\n {title && titlePosition === 'outside' && (\n <div\n style={{\n position: 'absolute',\n left: '50%',\n top: `${width}px`,\n transform: 'translateX(-50%)',\n marginTop: '4px',\n textAlign: 'center',\n fontSize: titleFontSize,\n color: '#57534E',\n fontFamily: 'DM Sans, sans-serif',\n lineHeight: '18px',\n }}\n >\n {title}\n </div>\n )}\n </>\n )}\n </div>\n );\n };\n \n // 渲染半圆进度\n const renderSemicircleProgress = () => {\n // 半圆弧形的起始点和结束点\n // 为了确保上方不被裁剪,把半圆弧形往下移\n // 在 SVG 顶部留出圆角空间,让弧形从顶部向下偏移\n \n const topPadding = strokeWidth; // 顶部留出圆角空间\n const svgHeight = semicircleHeight + topPadding; // SVG 总高度(包含顶部空间)\n \n const startX = strokeWidth / 2;\n const endX = width - strokeWidth / 2;\n // 底部位置:往下移,底部在 svgHeight - strokeWidth / 2\n const bottomY = svgHeight - strokeWidth / 2;\n \n // 半圆的中心点(用于文字定位)- 文字也相应往下移\n // 为了让文字更居中,需要适当往下移一些\n const textCenterY = (semicircleHeight / 2) + topPadding / 2 + strokeWidth / 2; // 在弧形中心位置,适当往下移\n \n // 计算容器高度:半圆的标准高度(width / 2),加上顶部空间\n // 如果 title 在圆外,再加 title 空间\n const baseContainerHeight = svgHeight; // 容器高度包含完整的 SVG(包括顶部空间)\n const containerHeight = title && titlePosition === 'outside' \n ? baseContainerHeight + 4 + 18 + 4\n : baseContainerHeight;\n \n // 半圆进度计算\n const semicircleCircumference = Math.PI * radius;\n // 如果正在动画,使用动画中的百分比,否则使用目标百分比\n const currentPercent = shouldAnimate ? animatingPercent : normalizedPercent;\n const semicircleOffset = semicircleCircumference - (currentPercent / 100) * semicircleCircumference;\n \n return (\n <div\n style={{\n position: 'relative',\n width: width,\n height: containerHeight,\n overflow: 'hidden', // 最外层设置 overflow: hidden,只裁剪底部\n }}\n >\n {/* SVG 绘制半圆进度,支持圆角(包括底部两个端点) */}\n <svg\n width={width}\n height={svgHeight}\n viewBox={`0 0 ${width} ${svgHeight}`}\n style={{\n position: 'absolute',\n top: 0,\n left: 0,\n }}\n >\n {/* 背景轨道(半圆) */}\n <path\n d={`M ${startX} ${bottomY} A ${radius} ${radius} 0 0 1 ${endX} ${bottomY}`}\n fill=\"none\"\n stroke={trailColor}\n strokeWidth={strokeWidth}\n strokeLinecap=\"round\"\n />\n {/* 进度条(半圆):从底部左侧开始,顺时针 */}\n <path\n d={`M ${startX} ${bottomY} A ${radius} ${radius} 0 0 1 ${endX} ${bottomY}`}\n fill=\"none\"\n stroke={finalStrokeColor}\n strokeWidth={strokeWidth}\n strokeLinecap=\"round\"\n strokeDasharray={semicircleCircumference}\n strokeDashoffset={semicircleOffset}\n style={{\n transition: shouldAnimate ? 'stroke-dashoffset 0.3s ease' : 'none',\n }}\n />\n </svg>\n \n {/* 内容:百分比和标题 */}\n {title && titlePosition === 'inside' ? (\n <div\n style={{\n position: 'absolute',\n left: '50%',\n top: `${textCenterY}px`,\n transform: 'translate(-50%, -50%)',\n textAlign: 'center',\n display: 'flex',\n flexDirection: 'column',\n alignItems: 'center',\n justifyContent: 'center',\n gap: 6,\n }}\n >\n <div\n style={{\n fontSize: titleFontSize,\n color: '#57534E',\n fontFamily: 'DM Sans, sans-serif',\n lineHeight: 1,\n }}\n >\n {title}\n </div>\n {showPercent && (\n <div\n style={{\n fontSize: percentFontSize,\n fontWeight: 600,\n color: '#1C1917',\n fontFamily: 'DM Sans, sans-serif',\n lineHeight: 1,\n }}\n >\n {`${Math.round(normalizedPercent)}%`}\n </div>\n )}\n </div>\n ) : (\n <>\n {showPercent && (\n <div\n style={{\n position: 'absolute',\n left: '50%',\n top: `${textCenterY}px`, // 相对于半圆的位置,不是容器\n transform: 'translate(-50%, -50%)',\n textAlign: 'center',\n fontSize: percentFontSize,\n fontWeight: 600,\n color: '#1C1917',\n fontFamily: 'DM Sans, sans-serif',\n lineHeight: 1,\n }}\n >\n {`${Math.round(normalizedPercent)}%`}\n </div>\n )}\n {title && titlePosition === 'outside' && (\n <div\n style={{\n position: 'absolute',\n left: '50%',\n top: `${svgHeight}px`, // 相对于 SVG 底部的位置\n transform: 'translateX(-50%)',\n marginTop: '4px',\n textAlign: 'center',\n fontSize: titleFontSize,\n color: '#57534E',\n fontFamily: 'DM Sans, sans-serif',\n lineHeight: '18px',\n }}\n >\n {title}\n </div>\n )}\n </>\n )}\n </div>\n );\n };\n \n const containerStyle: React.CSSProperties = {\n display: 'inline-flex',\n flexDirection: 'column',\n alignItems: 'center',\n width: width,\n ...style,\n };\n \n // 根据类型渲染不同的进度条\n const renderProgress = () => {\n switch (type) {\n case 'circle':\n return renderCircleProgress();\n case 'semicircle':\n return renderSemicircleProgress();\n default:\n console.warn(`Progress type \"${type}\" is not supported yet, using \"circle\" as fallback`);\n return renderCircleProgress();\n }\n };\n \n return (\n <div\n className={`aha-progress aha-progress--${type} ${className}`}\n style={containerStyle}\n {...rest}\n >\n {renderProgress()}\n </div>\n );\n};\n\nexport default Progress;\n"],"names":["__assign","Object","assign","t","s","i","n","arguments","length","p","prototype","hasOwnProperty","call","apply","this","SuppressedError","defaultTheme","primaryColor","ThemeContext","createContext","Progress","_a","_b","percent","_c","type","_d","width","title","userTitlePosition","titlePosition","_e","showPercent","_f","animated","_g","status","_h","className","style","strokeColor","_j","trailColor","rest","e","indexOf","getOwnPropertySymbols","propertyIsEnumerable","__rest","useContext","normalizedPercent","Math","min","max","isFirstRender","useRef","_k","useState","shouldAnimate","setShouldAnimate","_l","animatingPercent","setAnimatingPercent","useEffect","current","requestAnimationFrame","timer_1","setTimeout","clearTimeout","finalStrokeColor","strokeWidth","round","radius","semicircleHeight","titleFontSize","percentFontSize","renderCircleProgress","containerHeight","circumference","PI","offset","_jsxs","position","height","display","alignItems","justifyContent","children","top","left","_jsx","cx","cy","r","fill","stroke","strokeLinecap","strokeDasharray","strokeDashoffset","transform","concat","transition","textAlign","flexDirection","gap","fontSize","color","fontFamily","lineHeight","fontWeight","_Fragment","marginTop","containerStyle","startX","endX","bottomY","svgHeight","textCenterY","semicircleCircumference","semicircleOffset","overflow","viewBox","d","console","warn","renderProgress"],"mappings":"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","x_google_ignoreList":[0]}
@@ -0,0 +1,2 @@
1
+ "use strict";Object.defineProperty(exports,"__esModule",{value:!0});var t=require("react/jsx-runtime"),e=require("react"),n=function(){return n=Object.assign||function(t){for(var e,n=1,o=arguments.length;n<o;n++)for(var r in e=arguments[n])Object.prototype.hasOwnProperty.call(e,r)&&(t[r]=e[r]);return t},n.apply(this,arguments)};"function"==typeof SuppressedError&&SuppressedError;var o={primaryColor:"#FB6011"},r=e.createContext(o);exports.default=function(i){var s=i.percent,a=void 0===s?0:s,c=i.type,l=void 0===c?"circle":c,f=i.width,d=void 0===f?120:f,u=i.title,p=i.titlePosition,h=i.showPercent,x=void 0===h||h,y=i.animated,m=void 0!==y&&y,g=i.status,v=void 0===g?"normal":g,j=i.className,S=void 0===j?"":j,k=i.style,M=i.strokeColor,b=i.trailColor,F=void 0===b?"#F5F5F4":b,w=function(t,e){var n={};for(var o in t)Object.prototype.hasOwnProperty.call(t,o)&&e.indexOf(o)<0&&(n[o]=t[o]);if(null!=t&&"function"==typeof Object.getOwnPropertySymbols){var r=0;for(o=Object.getOwnPropertySymbols(t);r<o.length;r++)e.indexOf(o[r])<0&&Object.prototype.propertyIsEnumerable.call(t,o[r])&&(n[o[r]]=t[o[r]])}return n}(i,["percent","type","width","title","titlePosition","showPercent","animated","status","className","style","strokeColor","trailColor"]),C=(e.useContext(r)||o).primaryColor,D=Math.min(100,Math.max(0,a)),O=e.useRef(!0),P=e.useState(!1),A=P[0],z=P[1],H=e.useState(0),W=H[0],E=H[1];e.useEffect(function(){if(m&&O.current&&D>0){O.current=!1,E(0),z(!0),requestAnimationFrame(function(){requestAnimationFrame(function(){E(D)})});var t=setTimeout(function(){z(!1),E(D)},300);return function(){return clearTimeout(t)}}O.current?(O.current=!1,z(!1),E(D)):E(D)},[m,D]);var I=M||C||"#FB6011";"success"===v?I="#00BC7D":"exception"===v&&(I="#FB2C36");var B=p||"inside",q=Math.max(4,Math.round(.06*d)),L=(d-q)/2,T="semicircle"===l?d/2:d,N="14px",X="12px",_=function(){var e=u&&"outside"===B?d+4+18+4:d,n=2*Math.PI*L,o=n-(A?W:D)/100*n;return t.jsxs("div",{style:{position:"relative",width:d,height:e,display:"flex",alignItems:"center",justifyContent:"center"},children:[t.jsxs("svg",{width:d,height:d,style:{position:"absolute",top:0,left:0},children:[t.jsx("circle",{cx:d/2,cy:d/2,r:L,fill:"none",stroke:F,strokeWidth:q,strokeLinecap:"round"}),t.jsx("circle",{cx:d/2,cy:d/2,r:L,fill:"none",stroke:I,strokeWidth:q,strokeLinecap:"round",strokeDasharray:n,strokeDashoffset:o,transform:"rotate(-90 ".concat(d/2," ").concat(d/2,")"),style:{transition:A?"stroke-dashoffset 0.3s ease":"none"}})]}),u&&"inside"===B?t.jsxs("div",{style:{position:"absolute",left:"50%",top:"50%",transform:"translate(-50%, -50%)",textAlign:"center",display:"flex",flexDirection:"column",alignItems:"center",justifyContent:"center",gap:6},children:[t.jsx("div",{style:{fontSize:N,color:"#292524",fontFamily:"DM Sans, sans-serif",lineHeight:1},children:u}),x&&t.jsx("div",{style:{fontSize:X,fontWeight:600,color:"#1C1917",fontFamily:"DM Sans, sans-serif",lineHeight:1},children:"".concat(Math.round(D),"%")})]}):t.jsxs(t.Fragment,{children:[x&&t.jsx("div",{style:{position:"absolute",left:"50%",top:"".concat(d/2,"px"),transform:"translate(-50%, -50%)",textAlign:"center",fontSize:X,fontWeight:600,color:"#1C1917",fontFamily:"DM Sans, sans-serif",lineHeight:1},children:"".concat(Math.round(D),"%")}),u&&"outside"===B&&t.jsx("div",{style:{position:"absolute",left:"50%",top:"".concat(d,"px"),transform:"translateX(-50%)",marginTop:"4px",textAlign:"center",fontSize:N,color:"#57534E",fontFamily:"DM Sans, sans-serif",lineHeight:"18px"},children:u})]})]})},R=n({display:"inline-flex",flexDirection:"column",alignItems:"center",width:d},k);return t.jsx("div",n({className:"aha-progress aha-progress--".concat(l," ").concat(S),style:R},w,{children:function(){switch(l){case"circle":return _();case"semicircle":return n=q/2,o=d-q/2,r=(e=T+q)-q/2,i=T/2+q/2+q/2,s=u&&"outside"===B?e+4+18+4:e,a=Math.PI*L,c=a-(A?W:D)/100*a,t.jsxs("div",{style:{position:"relative",width:d,height:s,overflow:"hidden"},children:[t.jsxs("svg",{width:d,height:e,viewBox:"0 0 ".concat(d," ").concat(e),style:{position:"absolute",top:0,left:0},children:[t.jsx("path",{d:"M ".concat(n," ").concat(r," A ").concat(L," ").concat(L," 0 0 1 ").concat(o," ").concat(r),fill:"none",stroke:F,strokeWidth:q,strokeLinecap:"round"}),t.jsx("path",{d:"M ".concat(n," ").concat(r," A ").concat(L," ").concat(L," 0 0 1 ").concat(o," ").concat(r),fill:"none",stroke:I,strokeWidth:q,strokeLinecap:"round",strokeDasharray:a,strokeDashoffset:c,style:{transition:A?"stroke-dashoffset 0.3s ease":"none"}})]}),u&&"inside"===B?t.jsxs("div",{style:{position:"absolute",left:"50%",top:"".concat(i,"px"),transform:"translate(-50%, -50%)",textAlign:"center",display:"flex",flexDirection:"column",alignItems:"center",justifyContent:"center",gap:6},children:[t.jsx("div",{style:{fontSize:N,color:"#57534E",fontFamily:"DM Sans, sans-serif",lineHeight:1},children:u}),x&&t.jsx("div",{style:{fontSize:X,fontWeight:600,color:"#1C1917",fontFamily:"DM Sans, sans-serif",lineHeight:1},children:"".concat(Math.round(D),"%")})]}):t.jsxs(t.Fragment,{children:[x&&t.jsx("div",{style:{position:"absolute",left:"50%",top:"".concat(i,"px"),transform:"translate(-50%, -50%)",textAlign:"center",fontSize:X,fontWeight:600,color:"#1C1917",fontFamily:"DM Sans, sans-serif",lineHeight:1},children:"".concat(Math.round(D),"%")}),u&&"outside"===B&&t.jsx("div",{style:{position:"absolute",left:"50%",top:"".concat(e,"px"),transform:"translateX(-50%)",marginTop:"4px",textAlign:"center",fontSize:N,color:"#57534E",fontFamily:"DM Sans, sans-serif",lineHeight:"18px"},children:u})]})]});default:return console.warn('Progress type "'.concat(l,'" is not supported yet, using "circle" as fallback')),_()}var e,n,o,r,i,s,a,c}()}))};
2
+ //# sourceMappingURL=Progress.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Progress.js","sources":["../node_modules/tslib/tslib.es6.js","../src/theme/ThemeContext.tsx","../src/components/Progress/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, { useRef, useEffect, useState } from 'react';\nimport { useTheme } from '../../theme/ThemeContext';\n\nexport type ProgressType = 'circle' | 'semicircle' | string;\nexport type ProgressStatus = 'normal' | 'success' | 'exception' | 'active';\nexport type TitlePosition = 'inside' | 'outside';\n\nexport interface ProgressProps {\n /** 进度百分比,范围 0-100 */\n percent?: number;\n /** 进度条类型,目前支持 circle(圆形)和 semicircle(半圆) */\n type?: ProgressType;\n /** 进度条宽度(尺寸),单位 px */\n width?: number;\n /** 标题文本 */\n title?: string;\n /** 标题位置,圆内(inside)或圆外(outside),圆外时显示在圆下方 */\n titlePosition?: TitlePosition;\n /** 是否显示百分比 */\n showPercent?: boolean;\n /** 是否启用动画效果 */\n animated?: boolean;\n /** 进度条状态 */\n status?: ProgressStatus;\n /** 自定义类名 */\n className?: string;\n /** 自定义样式 */\n style?: React.CSSProperties;\n /** 进度条颜色,不设置则使用主题色 */\n strokeColor?: string;\n /** 进度条轨道颜色 */\n trailColor?: string;\n [key: string]: any;\n}\n\n// 获取标题位置:默认圆内\nconst getTitlePosition = (userPosition?: TitlePosition): TitlePosition => {\n return userPosition || 'inside';\n};\n\n// 计算标题字体大小:统一使用 text-sm (14px)\nconst getTitleFontSize = () => {\n return '14px'; // text-sm\n};\n\n// 计算百分比字体大小:统一使用 text-xs (12px)\nconst getPercentFontSize = () => {\n return '12px'; // text-xs\n};\n\nconst Progress: React.FC<ProgressProps> = ({\n percent = 0,\n type = 'circle',\n width = 120,\n title,\n titlePosition: userTitlePosition,\n showPercent = true,\n animated = false,\n status = 'normal',\n className = '',\n style,\n strokeColor,\n trailColor = '#F5F5F4',\n ...rest\n}) => {\n const { primaryColor } = useTheme();\n \n // 确保 percent 在 0-100 范围内\n const normalizedPercent = Math.min(100, Math.max(0, percent));\n \n // 跟踪是否是首次渲染,动画只在首次渲染时执行一次\n const isFirstRender = useRef(true);\n const [shouldAnimate, setShouldAnimate] = useState(false);\n const [animatingPercent, setAnimatingPercent] = useState(0); // 动画中的百分比\n \n useEffect(() => {\n if (animated && isFirstRender.current && normalizedPercent > 0) {\n // 首次渲染且启用了动画且 percent > 0 时,启用动画\n isFirstRender.current = false;\n // 初始设置为 0,然后启用动画,让它过渡到目标值\n setAnimatingPercent(0);\n setShouldAnimate(true);\n // 使用 requestAnimationFrame 确保在下一个渲染周期更新到目标值\n requestAnimationFrame(() => {\n requestAnimationFrame(() => {\n setAnimatingPercent(normalizedPercent);\n });\n });\n // 动画结束后(0.3s)禁用动画,确保只执行一次\n const timer = setTimeout(() => {\n setShouldAnimate(false);\n setAnimatingPercent(normalizedPercent); // 确保最终值是目标值\n }, 300);\n return () => clearTimeout(timer);\n } else if (isFirstRender.current) {\n // 首次渲染但不需要动画,直接标记为已渲染\n isFirstRender.current = false;\n setShouldAnimate(false);\n setAnimatingPercent(normalizedPercent);\n } else {\n // 非首次渲染,直接更新到目标值,无动画\n setAnimatingPercent(normalizedPercent);\n }\n }, [animated, normalizedPercent]);\n \n // 计算实际使用的颜色\n let finalStrokeColor = strokeColor || primaryColor || '#FB6011';\n \n // 根据状态调整颜色\n if (status === 'success') {\n finalStrokeColor = '#00BC7D';\n } else if (status === 'exception') {\n finalStrokeColor = '#FB2C36';\n }\n \n // 计算标题位置:默认圆内\n const titlePosition = getTitlePosition(userTitlePosition);\n \n // 计算圆环宽度(strokeWidth),根据 width 成比例,最小 4px\n const strokeWidth = Math.max(4, Math.round(width * 0.06));\n \n // 半径(用于 SVG 绘制)\n const radius = (width - strokeWidth) / 2;\n \n // 半圆的高度是宽度的一半\n const semicircleHeight = type === 'semicircle' ? width / 2 : width;\n \n // 标题字体大小:统一使用 14px (text-sm)\n const titleFontSize = getTitleFontSize();\n // 百分比字体大小:统一使用 12px (text-xs)\n const percentFontSize = getPercentFontSize();\n \n // 渲染圆形进度\n const renderCircleProgress = () => {\n // 计算容器高度\n const containerHeight = title && titlePosition === 'outside' \n ? width + 4 + 18 + 4\n : width;\n \n // 圆形进度计算\n const circumference = 2 * Math.PI * radius;\n // 如果正在动画,使用动画中的百分比,否则使用目标百分比\n const currentPercent = shouldAnimate ? animatingPercent : normalizedPercent;\n const offset = circumference - (currentPercent / 100) * circumference;\n \n return (\n <div\n style={{\n position: 'relative',\n width: width,\n height: containerHeight,\n display: 'flex',\n alignItems: 'center',\n justifyContent: 'center',\n }}\n >\n {/* SVG 绘制圆形进度,支持圆角 */}\n <svg\n width={width}\n height={width}\n style={{\n position: 'absolute',\n top: 0,\n left: 0,\n }}\n >\n {/* 背景轨道 */}\n <circle\n cx={width / 2}\n cy={width / 2}\n r={radius}\n fill=\"none\"\n stroke={trailColor}\n strokeWidth={strokeWidth}\n strokeLinecap=\"round\"\n />\n {/* 进度条:从上方开始,顺时针 */}\n <circle\n cx={width / 2}\n cy={width / 2}\n r={radius}\n fill=\"none\"\n stroke={finalStrokeColor}\n strokeWidth={strokeWidth}\n strokeLinecap=\"round\"\n strokeDasharray={circumference}\n strokeDashoffset={offset}\n transform={`rotate(-90 ${width / 2} ${width / 2})`}\n style={{\n transition: shouldAnimate ? 'stroke-dashoffset 0.3s ease' : 'none',\n }}\n />\n </svg>\n \n {/* 内容:百分比和标题 */}\n {title && titlePosition === 'inside' ? (\n <div\n style={{\n position: 'absolute',\n left: '50%',\n top: '50%',\n transform: 'translate(-50%, -50%)',\n textAlign: 'center',\n display: 'flex',\n flexDirection: 'column',\n alignItems: 'center',\n justifyContent: 'center',\n gap: 6,\n }}\n >\n <div\n style={{\n fontSize: titleFontSize,\n color: '#292524',\n fontFamily: 'DM Sans, sans-serif',\n lineHeight: 1,\n }}\n >\n {title}\n </div>\n {showPercent && (\n <div\n style={{\n fontSize: percentFontSize,\n fontWeight: 600,\n color: '#1C1917',\n fontFamily: 'DM Sans, sans-serif',\n lineHeight: 1,\n }}\n >\n {`${Math.round(normalizedPercent)}%`}\n </div>\n )}\n </div>\n ) : (\n <>\n {showPercent && (\n <div\n style={{\n position: 'absolute',\n left: '50%',\n top: `${width / 2}px`, // 相对于圆的位置,不是容器\n transform: 'translate(-50%, -50%)',\n textAlign: 'center',\n fontSize: percentFontSize,\n fontWeight: 600,\n color: '#1C1917',\n fontFamily: 'DM Sans, sans-serif',\n lineHeight: 1,\n }}\n >\n {`${Math.round(normalizedPercent)}%`}\n </div>\n )}\n {title && titlePosition === 'outside' && (\n <div\n style={{\n position: 'absolute',\n left: '50%',\n top: `${width}px`,\n transform: 'translateX(-50%)',\n marginTop: '4px',\n textAlign: 'center',\n fontSize: titleFontSize,\n color: '#57534E',\n fontFamily: 'DM Sans, sans-serif',\n lineHeight: '18px',\n }}\n >\n {title}\n </div>\n )}\n </>\n )}\n </div>\n );\n };\n \n // 渲染半圆进度\n const renderSemicircleProgress = () => {\n // 半圆弧形的起始点和结束点\n // 为了确保上方不被裁剪,把半圆弧形往下移\n // 在 SVG 顶部留出圆角空间,让弧形从顶部向下偏移\n \n const topPadding = strokeWidth; // 顶部留出圆角空间\n const svgHeight = semicircleHeight + topPadding; // SVG 总高度(包含顶部空间)\n \n const startX = strokeWidth / 2;\n const endX = width - strokeWidth / 2;\n // 底部位置:往下移,底部在 svgHeight - strokeWidth / 2\n const bottomY = svgHeight - strokeWidth / 2;\n \n // 半圆的中心点(用于文字定位)- 文字也相应往下移\n // 为了让文字更居中,需要适当往下移一些\n const textCenterY = (semicircleHeight / 2) + topPadding / 2 + strokeWidth / 2; // 在弧形中心位置,适当往下移\n \n // 计算容器高度:半圆的标准高度(width / 2),加上顶部空间\n // 如果 title 在圆外,再加 title 空间\n const baseContainerHeight = svgHeight; // 容器高度包含完整的 SVG(包括顶部空间)\n const containerHeight = title && titlePosition === 'outside' \n ? baseContainerHeight + 4 + 18 + 4\n : baseContainerHeight;\n \n // 半圆进度计算\n const semicircleCircumference = Math.PI * radius;\n // 如果正在动画,使用动画中的百分比,否则使用目标百分比\n const currentPercent = shouldAnimate ? animatingPercent : normalizedPercent;\n const semicircleOffset = semicircleCircumference - (currentPercent / 100) * semicircleCircumference;\n \n return (\n <div\n style={{\n position: 'relative',\n width: width,\n height: containerHeight,\n overflow: 'hidden', // 最外层设置 overflow: hidden,只裁剪底部\n }}\n >\n {/* SVG 绘制半圆进度,支持圆角(包括底部两个端点) */}\n <svg\n width={width}\n height={svgHeight}\n viewBox={`0 0 ${width} ${svgHeight}`}\n style={{\n position: 'absolute',\n top: 0,\n left: 0,\n }}\n >\n {/* 背景轨道(半圆) */}\n <path\n d={`M ${startX} ${bottomY} A ${radius} ${radius} 0 0 1 ${endX} ${bottomY}`}\n fill=\"none\"\n stroke={trailColor}\n strokeWidth={strokeWidth}\n strokeLinecap=\"round\"\n />\n {/* 进度条(半圆):从底部左侧开始,顺时针 */}\n <path\n d={`M ${startX} ${bottomY} A ${radius} ${radius} 0 0 1 ${endX} ${bottomY}`}\n fill=\"none\"\n stroke={finalStrokeColor}\n strokeWidth={strokeWidth}\n strokeLinecap=\"round\"\n strokeDasharray={semicircleCircumference}\n strokeDashoffset={semicircleOffset}\n style={{\n transition: shouldAnimate ? 'stroke-dashoffset 0.3s ease' : 'none',\n }}\n />\n </svg>\n \n {/* 内容:百分比和标题 */}\n {title && titlePosition === 'inside' ? (\n <div\n style={{\n position: 'absolute',\n left: '50%',\n top: `${textCenterY}px`,\n transform: 'translate(-50%, -50%)',\n textAlign: 'center',\n display: 'flex',\n flexDirection: 'column',\n alignItems: 'center',\n justifyContent: 'center',\n gap: 6,\n }}\n >\n <div\n style={{\n fontSize: titleFontSize,\n color: '#57534E',\n fontFamily: 'DM Sans, sans-serif',\n lineHeight: 1,\n }}\n >\n {title}\n </div>\n {showPercent && (\n <div\n style={{\n fontSize: percentFontSize,\n fontWeight: 600,\n color: '#1C1917',\n fontFamily: 'DM Sans, sans-serif',\n lineHeight: 1,\n }}\n >\n {`${Math.round(normalizedPercent)}%`}\n </div>\n )}\n </div>\n ) : (\n <>\n {showPercent && (\n <div\n style={{\n position: 'absolute',\n left: '50%',\n top: `${textCenterY}px`, // 相对于半圆的位置,不是容器\n transform: 'translate(-50%, -50%)',\n textAlign: 'center',\n fontSize: percentFontSize,\n fontWeight: 600,\n color: '#1C1917',\n fontFamily: 'DM Sans, sans-serif',\n lineHeight: 1,\n }}\n >\n {`${Math.round(normalizedPercent)}%`}\n </div>\n )}\n {title && titlePosition === 'outside' && (\n <div\n style={{\n position: 'absolute',\n left: '50%',\n top: `${svgHeight}px`, // 相对于 SVG 底部的位置\n transform: 'translateX(-50%)',\n marginTop: '4px',\n textAlign: 'center',\n fontSize: titleFontSize,\n color: '#57534E',\n fontFamily: 'DM Sans, sans-serif',\n lineHeight: '18px',\n }}\n >\n {title}\n </div>\n )}\n </>\n )}\n </div>\n );\n };\n \n const containerStyle: React.CSSProperties = {\n display: 'inline-flex',\n flexDirection: 'column',\n alignItems: 'center',\n width: width,\n ...style,\n };\n \n // 根据类型渲染不同的进度条\n const renderProgress = () => {\n switch (type) {\n case 'circle':\n return renderCircleProgress();\n case 'semicircle':\n return renderSemicircleProgress();\n default:\n console.warn(`Progress type \"${type}\" is not supported yet, using \"circle\" as fallback`);\n return renderCircleProgress();\n }\n };\n \n return (\n <div\n className={`aha-progress aha-progress--${type} ${className}`}\n style={containerStyle}\n {...rest}\n >\n {renderProgress()}\n </div>\n );\n};\n\nexport default Progress;\n"],"names":["__assign","Object","assign","t","s","i","n","arguments","length","p","prototype","hasOwnProperty","call","apply","this","SuppressedError","defaultTheme","primaryColor","ThemeContext","createContext","_a","_b","percent","_c","type","_d","width","title","userTitlePosition","titlePosition","_e","showPercent","_f","animated","_g","status","_h","className","style","strokeColor","_j","trailColor","rest","e","indexOf","getOwnPropertySymbols","propertyIsEnumerable","__rest","useContext","normalizedPercent","Math","min","max","isFirstRender","useRef","_k","useState","shouldAnimate","setShouldAnimate","_l","animatingPercent","setAnimatingPercent","useEffect","current","requestAnimationFrame","timer_1","setTimeout","clearTimeout","finalStrokeColor","strokeWidth","round","radius","semicircleHeight","titleFontSize","percentFontSize","renderCircleProgress","containerHeight","circumference","PI","offset","_jsxs","jsxs","position","height","display","alignItems","justifyContent","children","top","left","_jsx","cx","cy","r","fill","stroke","strokeLinecap","jsx","strokeDasharray","strokeDashoffset","transform","concat","transition","textAlign","flexDirection","gap","fontSize","color","fontFamily","lineHeight","fontWeight","_Fragment","Fragment","marginTop","containerStyle","startX","endX","bottomY","svgHeight","textCenterY","semicircleCircumference","semicircleOffset","overflow","viewBox","d","console","warn","renderProgress"],"mappings":"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","x_google_ignoreList":[0]}
@@ -0,0 +1,2 @@
1
+ import{jsxs as e,jsx as i}from"react/jsx-runtime";import{createContext as r,useContext as t}from"react";var n=function(){return n=Object.assign||function(e){for(var i,r=1,t=arguments.length;r<t;r++)for(var n in i=arguments[r])Object.prototype.hasOwnProperty.call(i,n)&&(e[n]=i[n]);return e},n.apply(this,arguments)};"function"==typeof SuppressedError&&SuppressedError;var o={primaryColor:"#FB6011"},a=r(o),l=function(r){var l=r.checked,d=void 0!==l&&l,s=r.disabled,p=void 0!==s&&s,c=r.onChange,h=r.className,u=void 0===h?"":h,x=r.style,y=r.children,g=r.value,m=r.name,v=(t(a)||o).primaryColor,f=void 0===v?"#FB6011":v,b=p?"#FAFAF9":d?f:"white",F=p?"#FAFAF9":d?f:"#D7D3D0";return e("div",{className:"aha-radio ".concat(u),style:n({display:"inline-flex",alignItems:"center",gap:"8px",cursor:p?"not-allowed":"pointer"},x),onClick:function(e){p||(null==c||c({target:{checked:!d,value:g},currentTarget:{checked:!d,value:g}}))},children:[i("div",{style:{position:"relative",width:"20px",height:"20px",minWidth:"20px",minHeight:"20px",borderRadius:"50%",border:"1px solid ".concat(F),backgroundColor:b,display:"flex",alignItems:"center",justifyContent:"center",transition:"all 0.2s",flexShrink:0,boxSizing:"border-box"},children:i("div",{style:{width:"8px",height:"8px",minWidth:"8px",minHeight:"8px",borderRadius:"50%",backgroundColor:"white",opacity:d?1:0,transition:"opacity 0.2s",pointerEvents:"none",boxSizing:"border-box"}})}),y&&i("span",{style:{fontSize:"14px",lineHeight:"20px",color:p?"#98A2B3":"#101828",fontFamily:"DM Sans, sans-serif"},children:y}),i("input",{type:"radio",checked:d,onChange:c,disabled:p,value:g,name:m,style:{position:"absolute",opacity:0,width:0,height:0,pointerEvents:"none"},"aria-hidden":"true"})]})};l.displayName="Radio";export{l as default};
2
+ //# sourceMappingURL=Radio.esm.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Radio.esm.js","sources":["../node_modules/tslib/tslib.es6.js","../src/theme/ThemeContext.tsx","../src/components/Radio/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 from 'react';\nimport { useTheme } from '../../theme/ThemeContext';\n\nexport interface RadioProps {\n checked?: boolean;\n disabled?: boolean;\n onChange?: (e: React.ChangeEvent<HTMLInputElement>) => void;\n className?: string;\n style?: React.CSSProperties;\n children?: React.ReactNode;\n value?: any;\n name?: string;\n}\n\nconst Radio: React.FC<RadioProps> = ({\n checked = false,\n disabled = false,\n onChange,\n className = '',\n style,\n children,\n value,\n name,\n}) => {\n const { primaryColor = '#FB6011' } = useTheme();\n \n const handleClick = (e: React.MouseEvent<HTMLDivElement>) => {\n if (disabled) return;\n // 创建一个合成事件来触发 onChange\n const syntheticEvent = {\n target: { checked: !checked, value },\n currentTarget: { checked: !checked, value },\n } as React.ChangeEvent<HTMLInputElement>;\n onChange?.(syntheticEvent);\n };\n\n const backgroundColor = disabled\n ? '#FAFAF9'\n : checked\n ? primaryColor\n : 'white';\n const borderColor = disabled \n ? '#FAFAF9' \n : checked \n ? primaryColor \n : '#D7D3D0';\n\n return (\n <div\n className={`aha-radio ${className}`}\n style={{\n display: 'inline-flex',\n alignItems: 'center',\n gap: '8px',\n cursor: disabled ? 'not-allowed' : 'pointer',\n ...style,\n }}\n onClick={handleClick}\n >\n <div\n style={{\n position: 'relative',\n width: '20px',\n height: '20px',\n minWidth: '20px',\n minHeight: '20px',\n borderRadius: '50%',\n border: `1px solid ${borderColor}`,\n backgroundColor,\n display: 'flex',\n alignItems: 'center',\n justifyContent: 'center',\n transition: 'all 0.2s',\n flexShrink: 0,\n boxSizing: 'border-box',\n }}\n >\n <div\n style={{\n width: '8px',\n height: '8px',\n minWidth: '8px',\n minHeight: '8px',\n borderRadius: '50%',\n backgroundColor: 'white',\n opacity: checked ? 1 : 0,\n transition: 'opacity 0.2s',\n pointerEvents: 'none',\n boxSizing: 'border-box',\n }}\n />\n </div>\n {children && (\n <span\n style={{\n fontSize: '14px',\n lineHeight: '20px',\n color: disabled ? '#98A2B3' : '#101828',\n fontFamily: 'DM Sans, sans-serif',\n }}\n >\n {children}\n </span>\n )}\n <input\n type=\"radio\"\n checked={checked}\n onChange={onChange}\n disabled={disabled}\n value={value}\n name={name}\n style={{\n position: 'absolute',\n opacity: 0,\n width: 0,\n height: 0,\n pointerEvents: 'none',\n }}\n aria-hidden=\"true\"\n />\n </div>\n );\n};\n\nRadio.displayName = 'Radio';\n\nexport default Radio;\n\n"],"names":["__assign","Object","assign","t","s","i","n","arguments","length","p","prototype","hasOwnProperty","call","apply","this","SuppressedError","defaultTheme","primaryColor","ThemeContext","createContext","Radio","_a","_b","checked","_c","disabled","onChange","_d","className","style","children","value","name","_e","useContext","backgroundColor","borderColor","_jsxs","concat","display","alignItems","gap","cursor","onClick","e","target","currentTarget","_jsx","position","width","height","minWidth","minHeight","borderRadius","border","justifyContent","transition","flexShrink","boxSizing","opacity","pointerEvents","fontSize","lineHeight","color","fontFamily","type","displayName"],"mappings":"wGA+BO,IAAIA,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,EAA2BH,GCI1CI,EAA8B,SAACC,GACnC,IAAAC,EAAAD,EAAAE,QAAAA,OAAU,IAAAD,KACVE,EAAAH,EAAAI,SAAAA,OAAW,IAAAD,GAAKA,EAChBE,EAAQL,EAAAK,SACRC,EAAcN,EAAAO,UAAdA,OAAS,IAAAD,EAAG,GAAEA,EACdE,EAAKR,EAAAQ,MACLC,aACAC,EAAKV,EAAAU,MACLC,EAAIX,EAAAW,KAEIC,GDSQC,EAAWhB,IAGlBF,GCZsCC,aAAvCA,OAAY,IAAAgB,EAAG,UAASA,EAY1BE,EAAkBV,EACpB,UACAF,EACAN,EACA,QACEmB,EAAcX,EAChB,UACAF,EACAN,EACA,UAEJ,OACEoB,EACE,MAAA,CAAAT,UAAW,aAAaU,OAAAV,GACxBC,SACEU,QAAS,cACTC,WAAY,SACZC,IAAK,MACLC,OAAQjB,EAAW,cAAgB,WAChCI,GAELc,QA/BgB,SAACC,GACfnB,IAMJC,SAAAA,EAJuB,CACrBmB,OAAQ,CAAEtB,SAAUA,EAASQ,MAAKA,GAClCe,cAAe,CAAEvB,SAAUA,EAASQ,MAAKA,KAG7C,EAyBID,SAAA,CAAAiB,EAAA,MAAA,CACElB,MAAO,CACLmB,SAAU,WACVC,MAAO,OACPC,OAAQ,OACRC,SAAU,OACVC,UAAW,OACXC,aAAc,MACdC,OAAQ,aAAahB,OAAAF,GACrBD,gBAAeA,EACfI,QAAS,OACTC,WAAY,SACZe,eAAgB,SAChBC,WAAY,WACZC,WAAY,EACZC,UAAW,cAGb5B,SAAAiB,EAAA,MAAA,CACElB,MAAO,CACLoB,MAAO,MACPC,OAAQ,MACRC,SAAU,MACVC,UAAW,MACXC,aAAc,MACdlB,gBAAiB,QACjBwB,QAASpC,EAAU,EAAI,EACvBiC,WAAY,eACZI,cAAe,OACfF,UAAW,kBAIhB5B,GACCiB,EAAA,OAAA,CACElB,MAAO,CACLgC,SAAU,OACVC,WAAY,OACZC,MAAOtC,EAAW,UAAY,UAC9BuC,WAAY,uBACblC,SAEAA,IAGLiB,EACE,QAAA,CAAAkB,KAAK,QACL1C,QAASA,EACTG,SAAUA,EACVD,SAAUA,EACVM,MAAOA,EACPC,KAAMA,EACNH,MAAO,CACLmB,SAAU,WACVW,QAAS,EACTV,MAAO,EACPC,OAAQ,EACRU,cAAe,QAChB,cACW,WAIpB,EAEAxC,EAAM8C,YAAc","x_google_ignoreList":[0]}
package/dist/Radio.js ADDED
@@ -0,0 +1,2 @@
1
+ "use strict";Object.defineProperty(exports,"__esModule",{value:!0});var e=require("react/jsx-runtime"),i=require("react"),t=function(){return t=Object.assign||function(e){for(var i,t=1,r=arguments.length;t<r;t++)for(var n in i=arguments[t])Object.prototype.hasOwnProperty.call(i,n)&&(e[n]=i[n]);return e},t.apply(this,arguments)};"function"==typeof SuppressedError&&SuppressedError;var r={primaryColor:"#FB6011"},n=i.createContext(r),o=function(o){var a=o.checked,s=void 0!==a&&a,l=o.disabled,d=void 0!==l&&l,c=o.onChange,p=o.className,u=void 0===p?"":p,h=o.style,x=o.children,y=o.value,v=o.name,g=(i.useContext(n)||r).primaryColor,b=void 0===g?"#FB6011":g,f=d?"#FAFAF9":s?b:"white",m=d?"#FAFAF9":s?b:"#D7D3D0";return e.jsxs("div",{className:"aha-radio ".concat(u),style:t({display:"inline-flex",alignItems:"center",gap:"8px",cursor:d?"not-allowed":"pointer"},h),onClick:function(e){d||(null==c||c({target:{checked:!s,value:y},currentTarget:{checked:!s,value:y}}))},children:[e.jsx("div",{style:{position:"relative",width:"20px",height:"20px",minWidth:"20px",minHeight:"20px",borderRadius:"50%",border:"1px solid ".concat(m),backgroundColor:f,display:"flex",alignItems:"center",justifyContent:"center",transition:"all 0.2s",flexShrink:0,boxSizing:"border-box"},children:e.jsx("div",{style:{width:"8px",height:"8px",minWidth:"8px",minHeight:"8px",borderRadius:"50%",backgroundColor:"white",opacity:s?1:0,transition:"opacity 0.2s",pointerEvents:"none",boxSizing:"border-box"}})}),x&&e.jsx("span",{style:{fontSize:"14px",lineHeight:"20px",color:d?"#98A2B3":"#101828",fontFamily:"DM Sans, sans-serif"},children:x}),e.jsx("input",{type:"radio",checked:s,onChange:c,disabled:d,value:y,name:v,style:{position:"absolute",opacity:0,width:0,height:0,pointerEvents:"none"},"aria-hidden":"true"})]})};o.displayName="Radio",exports.default=o;
2
+ //# sourceMappingURL=Radio.js.map