aha-components 1.8.4 โ 1.8.5
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/Avatar.esm.js +1 -1
- package/dist/Avatar.esm.js.map +1 -1
- package/dist/Avatar.js +1 -1
- package/dist/Avatar.js.map +1 -1
- package/dist/Badge.esm.js +1 -1
- package/dist/Badge.esm.js.map +1 -1
- package/dist/Badge.js +1 -1
- package/dist/Badge.js.map +1 -1
- package/dist/Button.esm.js +1 -1
- package/dist/Button.esm.js.map +1 -1
- package/dist/Button.js +1 -1
- package/dist/Button.js.map +1 -1
- package/dist/Checkbox.esm.js +1 -1
- package/dist/Checkbox.esm.js.map +1 -1
- package/dist/Checkbox.js +1 -1
- package/dist/Checkbox.js.map +1 -1
- package/dist/Input.esm.js +1 -1
- package/dist/Input.esm.js.map +1 -1
- package/dist/Input.js +1 -1
- package/dist/Input.js.map +1 -1
- package/dist/Loading.esm.js +1 -1
- package/dist/Loading.esm.js.map +1 -1
- package/dist/Loading.js +1 -1
- package/dist/Loading.js.map +1 -1
- package/dist/Pagination.esm.js +1 -1
- package/dist/Pagination.esm.js.map +1 -1
- package/dist/Pagination.js +1 -1
- package/dist/Pagination.js.map +1 -1
- package/dist/Popover.esm.js +1 -1
- package/dist/Popover.esm.js.map +1 -1
- package/dist/Popover.js +1 -1
- package/dist/Popover.js.map +1 -1
- package/dist/Radio.esm.js +1 -1
- package/dist/Radio.esm.js.map +1 -1
- package/dist/Radio.js +1 -1
- package/dist/Radio.js.map +1 -1
- package/dist/Table.esm.js +1 -1
- package/dist/Table.esm.js.map +1 -1
- package/dist/Table.js +1 -1
- package/dist/Table.js.map +1 -1
- package/dist/Textarea.esm.js +1 -1
- package/dist/Textarea.esm.js.map +1 -1
- package/dist/Textarea.js +1 -1
- package/dist/Textarea.js.map +1 -1
- package/dist/components/Badge/index.d.ts +2 -1
- package/dist/components/shared/badgeColors.d.ts +25 -0
- package/dist/components/shared/buttonStyles.d.ts +18 -0
- package/dist/components/shared/colorUtils.d.ts +6 -0
- package/dist/components/shared/controlStyles.d.ts +27 -0
- package/dist/components/shared/fieldStyles.d.ts +37 -0
- package/dist/index.css +1924 -0
- package/dist/index.d.ts +26 -1
- package/dist/index.esm.css +1924 -0
- package/dist/index.esm.js +1 -1
- package/dist/index.esm.js.map +1 -1
- package/dist/index.js +1 -1
- package/dist/index.js.map +1 -1
- package/dist/tokens.d.ts +14 -14
- package/package.json +1 -1
package/dist/Button.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Button.js","sources":["../node_modules/.pnpm/@rollup+plugin-typescript@11.1.6_rollup@3.30.0_tslib@2.8.1_typescript@5.9.3/node_modules/tslib/tslib.es6.js","../src/theme/ThemeContext.tsx","../src/components/Button/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\n/**\n * ๅฏน้ฝ Figma: Untitled UI v7 โ Buttons\n * ็ปดๅบฆ๏ผSize ร Hierarchy ร State ร Icon only\n * Size: sm(36) / md(40) / lg(44) / xl(48)\n * Hierarchy: primary / secondary / tertiary / link-color / link-gray\n * State: default / hover / focused / disabled / loading\n * Icon only: boolean\n */\n\nexport type ButtonHierarchy =\n | 'default'\n | 'primary'\n | 'secondary'\n | 'tertiary'\n | 'link-color'\n | 'link-gray'\n | 'destructive-primary'\n | 'destructive-secondary'\n | 'destructive-tertiary'\n | 'destructive-link';\n\nexport type ButtonSize =\n | 'sm'\n | 'md'\n | 'lg'\n | 'xl'\n // legacy aliases\n | 'small'\n | 'mediumSmall'\n | 'medium'\n | 'large';\n\nexport type ButtonType = ButtonHierarchy;\n\nexport interface ButtonProps {\n children?: React.ReactNode;\n /** ๆ้ฎๅฑ็บงใ`default` ไธบๅธฆ่พนๆก็ฝๅบ๏ผๅฏน้ฝ antd๏ผ๏ผ`secondary` ไธบ Figma ๆ ่พนๆก skeuomorphic ๆ ทๅผ */\n type?: ButtonHierarchy;\n /** ๆ้ฎๅฐบๅฏธ๏ผๅฏนๅบ Figma Size๏ผใๆงๅไผๆ ๅฐๅฐๆฐๅฐบๅฏธ */\n size?: ButtonSize;\n disabled?: boolean;\n loading?: boolean;\n /** ไป
ๅพๆ ๆ้ฎใไธไผ `children`ใไป
ไผ `icon` ๆถ่ชๅจๅผๅฏ */\n iconOnly?: boolean;\n /** ๅๆง็ Focused ่ง่งๆ๏ผ็จไบ Storybook ้ข่ง่ฎพ่ฎก็จฟ๏ผ็ๅฎ้ฎ็็ฆ็น็ฑ :focus-visible ๅค็ */\n focused?: boolean;\n onClick?: (e: React.MouseEvent<HTMLButtonElement>) => void;\n htmlType?: 'button' | 'submit' | 'reset';\n className?: string;\n style?: React.CSSProperties;\n icon?: React.ReactNode;\n iconPosition?: 'left' | 'right';\n [key: string]: any;\n}\n\ntype NormalizedSize = 'sm' | 'md' | 'lg' | 'xl';\ntype NormalizedHierarchy = 'default' | 'primary' | 'secondary' | 'tertiary' | 'link-color' | 'link-gray' | 'destructive-primary' | 'destructive-secondary' | 'destructive-tertiary' | 'destructive-link';\n\nconst SIZE_ALIAS: Record<ButtonSize, NormalizedSize> = {\n sm: 'sm',\n md: 'md',\n lg: 'lg',\n xl: 'xl',\n small: 'sm',\n mediumSmall: 'sm',\n medium: 'md',\n large: 'xl',\n};\n\nconst HIERARCHY_ALIAS: Record<ButtonHierarchy, NormalizedHierarchy> = {\n default: 'default',\n primary: 'primary',\n secondary: 'secondary',\n tertiary: 'tertiary',\n 'link-color': 'link-color',\n 'link-gray': 'link-gray',\n 'destructive-primary': 'destructive-primary',\n 'destructive-secondary': 'destructive-secondary',\n 'destructive-tertiary': 'destructive-tertiary',\n 'destructive-link': 'destructive-link',\n};\n\n/** Figma ๆ ๆณจ็ๅฐบๅฏธๅๆฐ๏ผ้ซๅบฆใๅ
่พน่ทใๅญๅท/่ก้ซใๅพๆ ๅฐบๅฏธใ้ด่ท */\nconst SIZE_TOKENS: Record<\n NormalizedSize,\n {\n height: number;\n paddingX: number;\n paddingXLg: number; // lg/xl ๅคงๅทๅ
่พน่ท๏ผไธๅพๆ ๆผๆฅๆถ็จๅคง๏ผ\n fontSize: number;\n lineHeight: number;\n iconSize: number;\n gap: number;\n iconOnlyPad: number;\n }\n> = {\n sm: { height: 36, paddingX: 12, paddingXLg: 12, fontSize: 14, lineHeight: 20, iconSize: 20, gap: 4, iconOnlyPad: 8 },\n md: { height: 40, paddingX: 14, paddingXLg: 14, fontSize: 14, lineHeight: 20, iconSize: 20, gap: 4, iconOnlyPad: 10 },\n lg: { height: 44, paddingX: 16, paddingXLg: 16, fontSize: 16, lineHeight: 24, iconSize: 20, gap: 6, iconOnlyPad: 12 },\n xl: { height: 48, paddingX: 18, paddingXLg: 18, fontSize: 16, lineHeight: 24, iconSize: 20, gap: 6, iconOnlyPad: 14 },\n};\n\nconst LoadingSpinner: React.FC<{ size: number; color: string }> = ({ size, color }) => (\n <>\n <style>{`@keyframes aha-button-spin{from{transform:rotate(0)}to{transform:rotate(360deg)}}`}</style>\n <svg\n width={size}\n height={size}\n viewBox=\"0 0 24 24\"\n fill=\"none\"\n aria-hidden\n style={{ animation: 'aha-button-spin 1s linear infinite', flexShrink: 0 }}\n >\n <circle cx=\"12\" cy=\"12\" r=\"10\" stroke={color} strokeWidth=\"2\" opacity=\"0.25\" />\n <path\n d=\"M22 12a10 10 0 0 1-10 10\"\n stroke={color}\n strokeWidth=\"2\"\n strokeLinecap=\"round\"\n fill=\"none\"\n />\n </svg>\n </>\n);\n\nconst Button: React.FC<ButtonProps> = ({\n children,\n type = 'default',\n size = 'md',\n disabled = false,\n loading = false,\n iconOnly,\n focused = false,\n onClick,\n htmlType = 'button',\n className = '',\n style,\n icon,\n iconPosition = 'left',\n ...rest\n}) => {\n const { primaryColor } = useTheme();\n const [isHovered, setIsHovered] = useState(false);\n const [isPressed, setIsPressed] = useState(false);\n\n const hierarchy = HIERARCHY_ALIAS[type] || 'default';\n const s = SIZE_TOKENS[SIZE_ALIAS[size] || 'md'];\n\n const isIconOnly = iconOnly ?? (!!icon && children == null);\n const isLink = hierarchy === 'link-color' || hierarchy === 'link-gray' || hierarchy === 'destructive-link';\n const isDisabled = disabled || loading;\n const showFocusRing = focused;\n\n const themeBrand = primaryColor; // ๅ
่ฎธ ThemeProvider ่ฆ็ไธป่ฒ\n\n /** ๆ นๆฎ hierarchy+state ่ฎก็ฎ่ง่ง token */\n const getVisuals = (): {\n bg: string;\n color: string;\n iconColor: string;\n border: string;\n boxShadow: string;\n textDecoration?: string;\n } => {\n // Disabled โ ๆๆๅฑ็บงๅ
ฑไบซไธๅฅใ็ฐๆใ๏ผไฝ link/tertiary ๆ ่พนๆก/้ดๅฝฑ\n if (disabled) {\n if (hierarchy === 'default' || hierarchy === 'primary' || hierarchy === 'secondary' || hierarchy === 'destructive-primary' || hierarchy === 'destructive-secondary') {\n return {\n bg: 'var(--color-bg-disabled, #f5f5f4)',\n color: 'var(--color-fg-disabled, #a9a29d)',\n iconColor: 'var(--color-fg-disabled, #a9a29d)',\n border: '1px solid var(--color-border-disabled_subtle, #e7e5e4)',\n boxShadow: 'none',\n };\n }\n return {\n bg: 'transparent',\n color: 'var(--color-fg-disabled, #a9a29d)',\n iconColor: 'var(--color-fg-disabled, #a9a29d)',\n border: 'none',\n boxShadow: 'none',\n };\n }\n\n const interactive = isHovered || isPressed;\n\n if (hierarchy === 'default') {\n return {\n bg: interactive\n ? 'var(--color-bg-primary_hover, #fafaf9)'\n : 'var(--color-bg-primary, #ffffff)',\n color: interactive\n ? 'var(--color-text-brand-secondary, #ec470a)'\n : 'var(--color-text-secondary, #44403c)',\n iconColor: interactive\n ? 'var(--color-fg-brand-secondary_alt, #fb6011)'\n : 'var(--color-fg-quaternary, #a9a29d)',\n border: interactive\n ? '1px solid var(--color-border-brand, #fb6011)'\n : '1px solid var(--color-border-primary, #d7d3d0)',\n boxShadow: 'none',\n };\n }\n\n if (hierarchy === 'primary') {\n const bg = interactive\n ? 'var(--color-bg-brand-solid_hover, #ec470a)'\n : themeBrand || 'var(--color-bg-brand-solid, #fb6011)';\n return {\n bg,\n color: 'var(--color-text-white, #ffffff)',\n iconColor: 'var(--color-brand-300, #feb073)',\n border: 'none',\n boxShadow: 'var(--shadow-xs-skeuomorphic, 0 1px 2px 0 rgba(10,13,18,.05))',\n };\n }\n\n if (hierarchy === 'secondary') {\n return {\n bg: interactive\n ? 'var(--color-bg-primary_hover, #fafaf9)'\n : 'var(--color-bg-primary, #ffffff)',\n color: interactive\n ? 'var(--color-text-secondary_hover, #292524)'\n : 'var(--color-text-secondary, #44403c)',\n iconColor: interactive\n ? 'var(--color-fg-quaternary_hover, #79716b)'\n : 'var(--color-fg-quaternary, #a9a29d)',\n border: 'none',\n boxShadow: 'var(--shadow-xs-skeuomorphic)',\n };\n }\n\n if (hierarchy === 'tertiary') {\n return {\n bg: interactive ? 'var(--color-bg-primary_hover, #fafaf9)' : 'transparent',\n color: interactive\n ? 'var(--color-text-tertiary_hover, #44403c)'\n : 'var(--color-text-tertiary, #57534e)',\n iconColor: interactive\n ? 'var(--color-fg-quaternary_hover, #79716b)'\n : 'var(--color-fg-quaternary, #a9a29d)',\n border: 'none',\n boxShadow: 'none',\n };\n }\n\n if (hierarchy === 'link-color') {\n return {\n bg: 'transparent',\n color: interactive\n ? 'var(--color-text-brand-secondary_hover, #c4330a)'\n : 'var(--color-text-brand-secondary, #ec470a)',\n iconColor: 'var(--color-fg-brand-secondary_alt, #fb6011)',\n border: 'none',\n boxShadow: 'none',\n textDecoration: interactive ? 'underline' : 'none',\n };\n }\n\n if (hierarchy === 'link-gray') {\n return {\n bg: 'transparent',\n color: interactive\n ? 'var(--color-text-tertiary_hover, #44403c)'\n : 'var(--color-text-tertiary, #57534e)',\n iconColor: 'var(--color-fg-quaternary, #a9a29d)',\n border: 'none',\n boxShadow: 'none',\n textDecoration: interactive ? 'underline' : 'none',\n };\n }\n\n if (hierarchy === 'destructive-primary') {\n return {\n bg: interactive\n ? 'var(--color-error-600)'\n : 'var(--color-error-500)',\n color: 'var(--color-text-white)',\n iconColor: interactive\n ? 'var(--color-error-200)'\n : 'var(--color-error-300)',\n border: 'none',\n boxShadow: 'var(--shadow-xs-skeuomorphic)',\n };\n }\n\n if (hierarchy === 'destructive-secondary') {\n return {\n bg: interactive\n ? 'var(--color-bg-error-primary)'\n : 'var(--color-bg-primary)',\n color: 'var(--color-text-error-primary)',\n iconColor: 'var(--color-fg-error-secondary)',\n border: 'none',\n // ็จ error border ่ฒๆฟๆข skeuomorphic ไธญ็ๆ่ฒ inset๏ผไฟๆไธ secondary ไธ่ด็ shadow ็ปๆ\n boxShadow: 'inset 0 0 0 1px var(--color-border-error_subtle), inset 0 -2px 0 0 rgba(10,13,18,0.05), 0 1px 2px 0 rgba(10,13,18,0.05)',\n };\n }\n\n if (hierarchy === 'destructive-tertiary') {\n return {\n bg: interactive ? 'var(--color-bg-error-primary)' : 'transparent',\n color: 'var(--color-text-error-primary)',\n iconColor: 'var(--color-fg-error-secondary)',\n border: 'none',\n boxShadow: 'none',\n };\n }\n\n // destructive-link\n return {\n bg: 'transparent',\n color: interactive\n ? 'var(--color-text-error-primary_hover)'\n : 'var(--color-text-error-primary)',\n iconColor: 'var(--color-fg-error-secondary)',\n border: 'none',\n boxShadow: 'none',\n textDecoration: interactive ? 'underline' : 'none',\n };\n };\n\n const visuals = getVisuals();\n\n /** focus ring: primary/secondary ไฝฟ็จ skeuomorphic ็ๆฌๅ ๅ ๅบ็ก้ดๅฝฑ๏ผๅ
ถไฝไฝฟ็จ็บฏ็ฏ */\n const focusShadow = (() => {\n if (!showFocusRing) return undefined;\n const isDestructive = hierarchy === 'destructive-primary' || hierarchy === 'destructive-secondary' || hierarchy === 'destructive-tertiary' || hierarchy === 'destructive-link';\n if (isDestructive) {\n if (hierarchy === 'destructive-primary' || hierarchy === 'destructive-secondary') {\n return 'var(--focus-ring-error-shadow-xs-skeuomorphic)';\n }\n return 'var(--focus-ring-error)';\n }\n if (hierarchy === 'primary' || hierarchy === 'secondary') {\n return 'var(--focus-ring-shadow-xs-skeuomorphic, 0 0 0 2px #fff, 0 0 0 4px #fb6011)';\n }\n return 'var(--focus-ring, 0 0 0 2px #fff, 0 0 0 4px #fb6011)';\n })();\n\n const buttonStyle: React.CSSProperties = {\n position: 'relative',\n display: 'inline-flex',\n alignItems: 'center',\n justifyContent: 'center',\n gap: s.gap,\n fontFamily: 'var(--font-family-body, \"DM Sans\", system-ui, sans-serif)',\n fontWeight: 600,\n fontSize: s.fontSize,\n lineHeight: `${s.lineHeight}px`,\n cursor: isDisabled ? 'not-allowed' : 'pointer',\n outline: 'none',\n transition: 'background-color .15s ease, color .15s ease, box-shadow .15s ease',\n userSelect: 'none',\n WebkitTapHighlightColor: 'transparent',\n whiteSpace: 'nowrap',\n backgroundColor: visuals.bg,\n color: visuals.color,\n border: visuals.border,\n boxShadow: focusShadow ?? visuals.boxShadow,\n textDecoration: visuals.textDecoration,\n ...style,\n };\n\n if (isLink) {\n // Link ็ฑป๏ผไฟ็ไธๅๅฐบๅฏธๆ้ฎไธ่ด็้ซๅบฆๅๆจชๅๅ
่พน่ท๏ผๆ ่ๆฏใๆ ่พนๆก\n buttonStyle.borderRadius = '4px';\n buttonStyle.overflow = 'hidden';\n if (isIconOnly) {\n buttonStyle.width = s.height;\n buttonStyle.height = s.height;\n buttonStyle.padding = 0;\n } else {\n buttonStyle.height = s.height;\n buttonStyle.paddingLeft = s.paddingX;\n buttonStyle.paddingRight = s.paddingX;\n }\n } else {\n buttonStyle.borderRadius = 'var(--radius-md, 8px)';\n if (isIconOnly) {\n buttonStyle.width = s.height;\n buttonStyle.height = s.height;\n buttonStyle.padding = 0;\n } else {\n buttonStyle.height = s.height;\n buttonStyle.paddingLeft = s.paddingX;\n buttonStyle.paddingRight = s.paddingX;\n }\n }\n\n const handleClick = (e: React.MouseEvent<HTMLButtonElement>) => {\n if (isDisabled) {\n e.preventDefault();\n return;\n }\n onClick?.(e);\n };\n\n const renderIcon = () => {\n if (loading) {\n return <LoadingSpinner size={s.iconSize} color={visuals.iconColor} />;\n }\n if (!icon) return null;\n return (\n <span\n aria-hidden\n style={{\n display: 'inline-flex',\n alignItems: 'center',\n justifyContent: 'center',\n width: s.iconSize,\n height: s.iconSize,\n color: visuals.iconColor,\n flexShrink: 0,\n }}\n >\n {icon}\n </span>\n );\n };\n\n const showLeftIcon = loading || (icon && iconPosition === 'left');\n const showRightIcon = !loading && icon && iconPosition === 'right';\n\n return (\n <button\n type={htmlType}\n className={[\n 'aha-button',\n `aha-button--${hierarchy}`,\n `aha-button--${SIZE_ALIAS[size] || 'md'}`,\n isIconOnly && 'aha-button--icon-only',\n isDisabled && 'aha-button--disabled',\n loading && 'aha-button--loading',\n showFocusRing && 'aha-button--focused',\n className,\n ]\n .filter(Boolean)\n .join(' ')}\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 {showLeftIcon && renderIcon()}\n {!isIconOnly && children}\n {showRightIcon && renderIcon()}\n {/* icon-only ไธๆฒกไผ icon ๆถ๏ผๅ
่ฎธ children ไฝไธบๅพๆ */}\n {isIconOnly && !icon && !loading && children}\n </button>\n );\n};\n\nButton.displayName = 'Button';\n\nexport default Button;\n"],"names":["__assign","Object","assign","t","s","i","n","arguments","length","p","prototype","hasOwnProperty","call","apply","this","SuppressedError","defaultTheme","primaryColor","ThemeContext","createContext","SIZE_ALIAS","sm","md","lg","xl","small","mediumSmall","medium","large","HIERARCHY_ALIAS","default","primary","secondary","tertiary","SIZE_TOKENS","height","paddingX","paddingXLg","fontSize","lineHeight","iconSize","gap","iconOnlyPad","LoadingSpinner","_a","size","color","_jsxs","jsxs","_Fragment","Fragment","children","_jsx","jsx","width","viewBox","fill","style","animation","flexShrink","cx","cy","r","stroke","strokeWidth","opacity","d","strokeLinecap","Button","_b","type","_c","_d","disabled","_e","loading","iconOnly","_f","focused","onClick","_g","htmlType","_h","className","icon","_j","iconPosition","rest","e","indexOf","getOwnPropertySymbols","propertyIsEnumerable","__rest","useContext","_k","useState","isHovered","setIsHovered","_l","isPressed","setIsPressed","hierarchy","isIconOnly","isLink","isDisabled","showFocusRing","themeBrand","visuals","bg","iconColor","border","boxShadow","interactive","textDecoration","getVisuals","focusShadow","buttonStyle","position","display","alignItems","justifyContent","fontFamily","fontWeight","concat","cursor","outline","transition","userSelect","WebkitTapHighlightColor","whiteSpace","backgroundColor","borderRadius","overflow","padding","paddingLeft","paddingRight","renderIcon","showLeftIcon","showRightIcon","filter","Boolean","join","preventDefault","onMouseEnter","onMouseLeave","onMouseDown","onMouseUp","displayName"],"mappings":"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","x_google_ignoreList":[0]}
|
|
1
|
+
{"version":3,"file":"Button.js","sources":["../node_modules/.pnpm/@rollup+plugin-typescript@11.1.6_rollup@3.30.0_tslib@2.8.1_typescript@5.9.3/node_modules/tslib/tslib.es6.js","../src/theme/ThemeContext.tsx","../src/tokens.ts","../src/components/shared/colorUtils.ts","../src/components/shared/buttonStyles.ts","../src/components/Button/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","/**\n * Aha Components โ Design Tokens (TypeScript)\n * Source: Untitled UI (Tokens Studio export), brand: Orange (#fb6011)\n * Synced with tokens.json / theme.css\n */\n\n// โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ\n// Primitives: Base\n// โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ\nexport const colorBase = {\n white: '#ffffff',\n black: '#000000',\n} as const;\n\n// โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ\n// Primitives: Brand (Orange)\n// โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ\nexport const colorBrandScale = {\n 25: '#fff9f2',\n 50: '#fff6ed',\n 100: '#ffead5',\n 200: '#ffd1a9',\n 300: '#feb073',\n 400: '#fd843a',\n 500: '#fb6011',\n 600: '#ec470a',\n 700: '#c4330a',\n 800: '#9b2911',\n 900: '#7d2511',\n 950: '#441006',\n} as const;\n\n// โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ\n// Primitives: Error\n// โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ\nexport const colorErrorScale = {\n 25: '#fffbfa',\n 50: '#fef3f2',\n 100: '#fee4e2',\n 200: '#fecdca',\n 300: '#fda29b',\n 400: '#f97066',\n 500: '#f04438',\n 600: '#d92d20',\n 700: '#b42318',\n 800: '#912018',\n 900: '#7a271a',\n 950: '#55160c',\n} as const;\n\n// โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ\n// Primitives: Warning\n// โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ\nexport const colorWarningScale = {\n 25: '#fffcf5',\n 50: '#fffaeb',\n 100: '#fef0c7',\n 200: '#fedf89',\n 300: '#fec84b',\n 400: '#fdb022',\n 500: '#f79009',\n 600: '#dc6803',\n 700: '#b54708',\n 800: '#93370d',\n 900: '#7a2e0e',\n 950: '#4e1d09',\n} as const;\n\n// โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ\n// Primitives: Success\n// โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ\nexport const colorSuccessScale = {\n 25: '#f6fef9',\n 50: '#ecfdf3',\n 100: '#dcfae6',\n 200: '#abefc6',\n 300: '#75e0a7',\n 400: '#47cd89',\n 500: '#17b26a',\n 600: '#079455',\n 700: '#067647',\n 800: '#085d3a',\n 900: '#074d31',\n 950: '#053321',\n} as const;\n\n// โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ\n// Primitives: Gray (warm gray โ neutral scale)\n// โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ\nexport const colorGray = {\n 25: '#fdfdfc',\n 50: '#fafaf9',\n 100: '#f5f5f4',\n 200: '#e7e5e4',\n 300: '#d7d3d0',\n 400: '#a9a29d',\n 500: '#79716b',\n 600: '#57534e',\n 700: '#44403c',\n 800: '#292524',\n 900: '#1c1917',\n 950: '#171412',\n} as const;\n\n// Backward-compat alias (components use colorNeutral[200] etc.)\nexport const colorNeutral = colorGray;\n\n// โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ\n// Primitives: Gray Blue\n// โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ\nexport const colorGrayBlue = {\n 25: '#fcfcfd',\n 50: '#f8f9fc',\n 100: '#eaecf5',\n 200: '#d5d9eb',\n 300: '#b3b8db',\n 400: '#717bbc',\n 500: '#4e5ba6',\n 600: '#3e4784',\n 700: '#363f72',\n 800: '#293056',\n 900: '#101323',\n 950: '#0d0f1c',\n} as const;\n\n// โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ\n// Primitives: Moss\n// โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ\nexport const colorMoss = {\n 25: '#fafdf7',\n 50: '#f5fbee',\n 100: '#e6f4d7',\n 200: '#ceeab0',\n 300: '#acdc79',\n 400: '#86cb3c',\n 500: '#669f2a',\n 600: '#4f7a21',\n 700: '#3f621a',\n 800: '#335015',\n 900: '#2b4212',\n 950: '#1a280b',\n} as const;\n\n// โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ\n// Primitives: Green Light\n// โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ\nexport const colorGreenLight = {\n 25: '#fafef5',\n 50: '#f3fee7',\n 100: '#e3fbcc',\n 200: '#d0f8ab',\n 300: '#a6ef67',\n 400: '#85e13a',\n 500: '#66c61c',\n 600: '#4ca30d',\n 700: '#3b7c0f',\n 800: '#326212',\n 900: '#2b5314',\n 950: '#15290a',\n} as const;\n\n// โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ\n// Primitives: Green\n// โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ\nexport const colorGreen = {\n 25: '#f6fef9',\n 50: '#edfcf2',\n 100: '#d3f8df',\n 200: '#aaf0c4',\n 300: '#73e2a3',\n 400: '#3ccb7f',\n 500: '#16b364',\n 600: '#099250',\n 700: '#087443',\n 800: '#095c37',\n 900: '#084c2e',\n 950: '#052e1c',\n} as const;\n\n// โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ\n// Primitives: Teal\n// โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ\nexport const colorTeal = {\n 25: '#f6fefc',\n 50: '#f0fdf9',\n 100: '#ccfbef',\n 200: '#99f6e0',\n 300: '#5fe9d0',\n 400: '#2ed3b7',\n 500: '#15b79e',\n 600: '#0e9384',\n 700: '#107569',\n 800: '#125d56',\n 900: '#134e48',\n 950: '#0a2926',\n} as const;\n\n// โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ\n// Primitives: Cyan\n// โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ\nexport const colorCyan = {\n 25: '#f5feff',\n 50: '#ecfdff',\n 100: '#cff9fe',\n 200: '#a5f0fc',\n 300: '#67e3f9',\n 400: '#22ccee',\n 500: '#06aed4',\n 600: '#088ab2',\n 700: '#0e7090',\n 800: '#155b75',\n 900: '#164c63',\n 950: '#0d2d3a',\n} as const;\n\n// โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ\n// Primitives: Blue Light\n// โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ\nexport const colorBlueLight = {\n 25: '#f5fbff',\n 50: '#f0f9ff',\n 100: '#e0f2fe',\n 200: '#b9e6fe',\n 300: '#7cd4fd',\n 400: '#36bffa',\n 500: '#0ba5ec',\n 600: '#0086c9',\n 700: '#026aa2',\n 800: '#065986',\n 900: '#0b4a6f',\n 950: '#062c41',\n} as const;\n\n// โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ\n// Primitives: Blue\n// โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ\nexport const colorBlue = {\n 25: '#f5faff',\n 50: '#eff8ff',\n 100: '#d1e9ff',\n 200: '#b2ddff',\n 300: '#84caff',\n 400: '#53b1fd',\n 500: '#2e90fa',\n 600: '#1570ef',\n 700: '#175cd3',\n 800: '#1849a9',\n 900: '#194185',\n 950: '#102a56',\n} as const;\n\n// โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ\n// Primitives: Blue Dark\n// โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ\nexport const colorBlueDark = {\n 25: '#f5f8ff',\n 50: '#eff4ff',\n 100: '#d1e0ff',\n 200: '#b2ccff',\n 300: '#84adff',\n 400: '#528bff',\n 500: '#2970ff',\n 600: '#155eef',\n 700: '#004eeb',\n 800: '#0040c1',\n 900: '#00359e',\n 950: '#002266',\n} as const;\n\n// โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ\n// Primitives: Indigo\n// โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ\nexport const colorIndigo = {\n 25: '#f5f8ff',\n 50: '#eef4ff',\n 100: '#e0eaff',\n 200: '#c7d7fe',\n 300: '#a4bcfd',\n 400: '#8098f9',\n 500: '#6172f3',\n 600: '#444ce7',\n 700: '#3538cd',\n 800: '#2d31a6',\n 900: '#2d3282',\n 950: '#1f235b',\n} as const;\n\n// โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ\n// Primitives: Violet\n// โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ\nexport const colorViolet = {\n 25: '#fbfaff',\n 50: '#f5f3ff',\n 100: '#ece9fe',\n 200: '#ddd6fe',\n 300: '#c3b5fd',\n 400: '#a48afb',\n 500: '#875bf7',\n 600: '#7839ee',\n 700: '#6927da',\n 800: '#5720b7',\n 900: '#491c96',\n 950: '#2e125e',\n} as const;\n\n// โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ\n// Primitives: Purple\n// โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ\nexport const colorPurple = {\n 25: '#fafaff',\n 50: '#f4f3ff',\n 100: '#ebe9fe',\n 200: '#d9d6fe',\n 300: '#bdb4fe',\n 400: '#9b8afb',\n 500: '#7a5af8',\n 600: '#6938ef',\n 700: '#5925dc',\n 800: '#4a1fb8',\n 900: '#3e1c96',\n 950: '#27115f',\n} as const;\n\n// โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ\n// Primitives: Fuchsia\n// โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ\nexport const colorFuchsia = {\n 25: '#fefaff',\n 50: '#fdf4ff',\n 100: '#fbe8ff',\n 200: '#f6d0fe',\n 300: '#eeaafd',\n 400: '#e478fa',\n 500: '#d444f1',\n 600: '#ba24d5',\n 700: '#9f1ab1',\n 800: '#821890',\n 900: '#6f1877',\n 950: '#47104c',\n} as const;\n\n// โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ\n// Primitives: Pink\n// โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ\nexport const colorPink = {\n 25: '#fef6fb',\n 50: '#fdf2fa',\n 100: '#fce7f6',\n 200: '#fcceee',\n 300: '#faa7e0',\n 400: '#f670c7',\n 500: '#ee46bc',\n 600: '#dd2590',\n 700: '#c11574',\n 800: '#9e165f',\n 900: '#851651',\n 950: '#4e0d30',\n} as const;\n\n// โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ\n// Primitives: Rose\n// โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ\nexport const colorRose = {\n 25: '#fff5f6',\n 50: '#fff1f3',\n 100: '#ffe4e8',\n 200: '#fecdd6',\n 300: '#fea3b4',\n 400: '#fd6f8e',\n 500: '#f63d68',\n 600: '#e31b54',\n 700: '#c01048',\n 800: '#a11043',\n 900: '#89123e',\n 950: '#510b24',\n} as const;\n\n// โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ\n// Primitives: Orange Dark\n// โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ\nexport const colorOrangeDark = {\n 25: '#fff9f5',\n 50: '#fff4ed',\n 100: '#ffe6d5',\n 200: '#ffd6ae',\n 300: '#ff9c66',\n 400: '#ff692e',\n 500: '#ff4405',\n 600: '#e62e05',\n 700: '#bc1b06',\n 800: '#97180c',\n 900: '#771a0d',\n 950: '#57130a',\n} as const;\n\n// โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ\n// Primitives: Orange\n// โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ\nexport const colorOrange = {\n 25: '#fefaf5',\n 50: '#fef6ee',\n 100: '#fdead7',\n 200: '#f9dbaf',\n 300: '#f7b27a',\n 400: '#f38744',\n 500: '#ef6820',\n 600: '#e04f16',\n 700: '#b93815',\n 800: '#932f19',\n 900: '#772917',\n 950: '#511c10',\n} as const;\n\n// โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ\n// Primitives: Yellow\n// โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ\nexport const colorYellow = {\n 25: '#fefdf0',\n 50: '#fefbe8',\n 100: '#fef7c3',\n 200: '#feee95',\n 300: '#fde272',\n 400: '#fac515',\n 500: '#eaaa08',\n 600: '#ca8504',\n 700: '#a15c07',\n 800: '#854a0e',\n 900: '#713b12',\n 950: '#542c0d',\n} as const;\n\n// โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ\n// Backward-compat: colorBrand (used by components)\n// โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ\nexport const colorBrand = {\n primary: colorBrandScale[500], // #fb6011\n hover: colorBrandScale[400], // #fd843a\n pressed: colorBrandScale[600], // #ec470a\n} as const;\n\n// โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ\n// Backward-compat: colorSemantic (used by components)\n// โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ\nexport const colorSemantic = {\n success: {\n bg: colorSuccessScale[50], // #ecfdf3\n text: colorSuccessScale[600], // #079455\n border: colorSuccessScale[200], // #abefc6\n fill: colorSuccessScale[500], // #17b26a\n icon: colorSuccessScale[600], // #079455\n },\n error: {\n bg: colorErrorScale[50], // #fef3f2\n text: colorErrorScale[700], // #b42318\n border: colorErrorScale[200], // #fecdca\n strong: colorErrorScale[500], // #f04438 (used for input error border)\n fill: colorErrorScale[600], // #d92d20\n icon: colorErrorScale[500], // #f04438\n },\n warning: {\n bg: colorWarningScale[50], // #fffaeb\n text: colorWarningScale[600], // #dc6803\n border: colorWarningScale[200], // #fedf89\n fill: colorWarningScale[400], // #fdb022\n icon: colorWarningScale[600], // #dc6803\n },\n info: {\n bg: colorBlue[50], // #eff8ff\n text: colorBlue[700], // #175cd3\n border: colorBlue[200], // #b2ddff\n fill: colorBlue[500], // #2e90fa\n icon: colorBlue[600], // #1570ef\n },\n} as const;\n\n// โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ\n// Backward-compat: colorDecorative (Tag ็ณปๅ)\n// โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ\nexport const colorDecorative = {\n Green: { bg: colorSuccessScale[50], text: colorSuccessScale[700], border: colorSuccessScale[200], fill: colorSuccessScale[500], icon: colorSuccessScale[600] },\n Red: { bg: colorErrorScale[50], text: colorErrorScale[800], border: colorErrorScale[200], fill: colorErrorScale[500], icon: colorErrorScale[600] },\n Orange: { bg: colorBrandScale[50], text: colorBrandScale[800], border: colorBrandScale[200], fill: colorBrandScale[500], icon: colorBrandScale[700] },\n Cyan: { bg: colorCyan[50], text: colorCyan[700], border: colorCyan[200], fill: colorCyan[500], icon: colorCyan[600] },\n Violet: { bg: colorViolet[50], text: colorViolet[700], border: colorViolet[200], fill: colorViolet[500], icon: colorViolet[600] },\n Pink: { bg: colorPink[50], text: colorPink[700], border: colorPink[200], fill: colorPink[500], icon: colorPink[600] },\n Yellow: { bg: colorWarningScale[50], text: colorWarningScale[700], border: colorWarningScale[200], fill: colorWarningScale[400], icon: colorWarningScale[600] },\n Blue: { bg: colorBlue[50], text: colorBlue[700], border: colorBlue[200], fill: colorBlue[500], icon: colorBlue[600] },\n Gray: { bg: colorGray[100], text: colorGray[700], border: colorGray[200], fill: colorGray[700], icon: colorGray[600] },\n} as const;\n\nexport type DecorativeColor = keyof typeof colorDecorative;\n\n// โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ\n// Semantic tokens โ Light mode\n// โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ\nexport const semanticText = {\n primary: '#1c1917',\n secondary: '#44403c',\n tertiary: '#57534e',\n quaternary: '#79716b',\n disabled: '#79716b',\n placeholder: '#79716b',\n placeholderSubtle: '#d7d3d0',\n white: '#ffffff',\n brandPrimary: '#7d2511',\n brandSecondary: '#ec470a',\n brandTertiary: '#fb6011',\n errorPrimary: '#d92d20',\n warningPrimary: '#dc6803',\n successPrimary: '#079455',\n} as const;\n\nexport const semanticBorder = {\n primary: '#d7d3d0',\n secondary: '#e7e5e4',\n tertiary: '#f5f5f4',\n brand: '#fb6011',\n error: '#f04438',\n errorSubtle: '#fda29b',\n disabled: '#d7d3d0',\n disabledSubtle: '#e7e5e4',\n} as const;\n\nexport const semanticBg = {\n primary: '#ffffff',\n secondary: '#fafaf9',\n tertiary: '#f5f5f4',\n quaternary: '#e7e5e4',\n disabled: '#f5f5f4',\n disabledSubtle: '#fafaf9',\n overlay: '#171412',\n brandPrimary: '#fff6ed',\n brandSecondary: '#ffead5',\n brandSolid: '#fb6011',\n brandSolidHover: '#ec470a',\n errorPrimary: '#fef3f2',\n errorSolid: '#d92d20',\n warningPrimary: '#fffaeb',\n warningSolid: '#dc6803',\n successPrimary: '#ecfdf3',\n successSolid: '#079455',\n} as const;\n\nexport const semanticFg = {\n primary: '#1c1917',\n secondary: '#44403c',\n tertiary: '#57534e',\n quaternary: '#a9a29d',\n disabled: '#a9a29d',\n disabledSubtle: '#d7d3d0',\n white: '#ffffff',\n brandPrimary: '#fb6011',\n brandSecondary: '#fb6011',\n errorPrimary: '#d92d20',\n errorSecondary: '#f04438',\n warningPrimary: '#dc6803',\n warningSecondary: '#f79009',\n successPrimary: '#079455',\n successSecondary: '#17b26a',\n} as const;\n\n// โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ\n// Typography\n// โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ\nexport const typography = {\n fontFamily: {\n display: '\"DM Sans\", system-ui, -apple-system, sans-serif',\n body: '\"DM Sans\", system-ui, -apple-system, sans-serif',\n base: '\"DM Sans\", system-ui, -apple-system, sans-serif',\n },\n fontSize: {\n // Text\n xs: '12px',\n sm: '14px',\n base: '16px',\n md: '16px',\n lg: '18px',\n xl: '20px',\n // Display\n displayXs: '24px',\n displaySm: '30px',\n displayMd: '36px',\n displayLg: '48px',\n displayXl: '60px',\n display2xl: '72px',\n },\n fontWeight: {\n regular: 400,\n medium: 500,\n semibold: 600,\n bold: 700,\n },\n lineHeight: {\n // Text\n xs: '18px',\n sm: '20px',\n base: '24px',\n md: '24px',\n lg: '28px',\n xl: '30px',\n // Display\n displayXs: '32px',\n displaySm: '38px',\n displayMd: '44px',\n displayLg: '60px',\n displayXl: '72px',\n display2xl: '90px',\n },\n} as const;\n\n// โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ\n// Spacing (named scale)\n// โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ\nexport const spacing = {\n none: '0px',\n xxs: '2px',\n xs: '4px',\n sm: '6px',\n md: '8px',\n lg: '12px',\n xl: '16px',\n '2xl': '20px',\n '3xl': '24px',\n '4xl': '32px',\n '5xl': '40px',\n '6xl': '48px',\n '7xl': '64px',\n '8xl': '80px',\n '9xl': '96px',\n '10xl': '128px',\n '11xl': '160px',\n // Legacy numeric aliases\n 0: '0px',\n 1: '4px',\n 2: '8px',\n 3: '12px',\n 4: '16px',\n 5: '20px',\n} as const;\n\n// โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ\n// Radius\n// โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ\nexport const radius = {\n none: '0px',\n xxs: '2px',\n xs: '4px',\n sm: '6px',\n md: '8px',\n lg: '10px',\n xl: '12px',\n '2xl': '16px',\n '3xl': '20px',\n '4xl': '24px',\n full: '9999px',\n} as const;\n\n// โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ\n// Component Sizing (project-specific)\n// โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ\nexport const sizing = {\n tag: {\n sm: '20px',\n lg: '24px',\n },\n field: {\n sm: '32px',\n ms: '36px',\n md: '40px',\n lg: '48px',\n },\n icon: {\n sm: '14px',\n md: '16px',\n lg: '18px',\n xl: '20px',\n },\n} as const;\n\n// โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ\n// Border\n// โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ\nexport const border = {\n radius: {\n sm: radius.sm, // 6px โ Alert, Tag\n md: radius.md, // 8px โ Button, Input (default)\n lg: radius.lg, // 10px\n xl: radius.xl, // 12px\n full: radius.full,\n },\n width: '1px',\n color: {\n default: semanticBorder.secondary, // #e7e5e4\n hover: semanticBorder.primary, // #d7d3d0\n focus: semanticBorder.brand, // #fb6011\n error: semanticBorder.error, // #f04438\n disabled: semanticBorder.disabled, // #d7d3d0\n },\n} as const;\n\n// โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ\n// Shadow\n// โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ\nexport const shadow = {\n xs: '0px 1px 2px 0px #0a0d120d',\n xsSkeuomorphic: 'inset 0px 0px 0px 1px #0a0d122e, inset 0px -2px 0px 0px #0a0d120d, 0px 1px 2px 0px #0a0d120d',\n sm: '0px 1px 3px 0px #0a0d121a, 0px 1px 2px -1px #0a0d121a',\n md: '0px 4px 6px -1px #0a0d121a, 0px 2px 4px -2px #0a0d120f',\n lg: '0px 12px 16px -4px #0a0d1214, 0px 4px 6px -2px #0a0d1208, 0px 2px 2px -1px #0a0d120a',\n xl: '0px 20px 24px -4px #0a0d1214, 0px 8px 8px -4px #0a0d1208, 0px 3px 3px -1.5px #0a0d120a',\n '2xl': '0px 24px 48px -12px #0a0d122e, 0px 4px 4px -2px #0a0d120a',\n '3xl': '0px 32px 64px -12px #0a0d1224, 0px 5px 5px -2.5px #0a0d120a',\n} as const;\n\n// โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ\n// Focus Rings\n// โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ\nexport const focusRing = {\n default: `0px 0px 0px 2px #ffffff, 0px 0px 0px 4px ${colorBrandScale[500]}`,\n shadowXs: `0px 1px 2px 0px #0a0d120d, 0px 0px 0px 2px #ffffff, 0px 0px 0px 4px ${colorBrandScale[500]}`,\n shadowXsSkeuomorphic: `inset 0px 0px 0px 1px #0a0d122e, inset 0px -2px 0px 0px #0a0d120d, 0px 1px 2px 0px #0a0d120d, 0px 0px 0px 2px #ffffff, 0px 0px 0px 4px ${colorBrandScale[500]}`,\n shadowSm: `0px 1px 3px 0px #0a0d121a, 0px 1px 2px 0px #0a0d121a, 0px 0px 0px 2px #ffffff, 0px 0px 0px 4px ${colorBrandScale[500]}`,\n error: `0px 0px 0px 2px #ffffff, 0px 0px 0px 4px ${colorErrorScale[500]}`,\n errorShadowXs: `0px 1px 2px 0px #0a0d120d, 0px 0px 0px 2px #ffffff, 0px 0px 0px 4px ${colorErrorScale[500]}`,\n errorShadowXsSkeuomorphic: `inset 0px 0px 0px 1px #0a0d122e, inset 0px -2px 0px 0px #0a0d120d, 0px 1px 2px 0px #0a0d120d, 0px 0px 0px 2px #ffffff, 0px 0px 0px 4px ${colorErrorScale[500]}`,\n} as const;\n\n// โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ\n// Backdrop Blur\n// โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ\nexport const backdropBlur = {\n sm: 'blur(8px)',\n md: 'blur(16px)',\n lg: 'blur(24px)',\n xl: 'blur(40px)',\n} as const;\n\n// โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ\n// Motion\n// โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ\nexport const motion = {\n duration: { base: '0.2s' },\n easing: { base: 'ease' },\n transition: { base: 'all 0.2s ease' },\n} as const;\n\n// โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ\n// ้ป่ฎค Export๏ผๅ
จ้๏ผ\n// โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ\nconst tokens = {\n color: {\n base: colorBase,\n brand: colorBrandScale,\n error: colorErrorScale,\n warning: colorWarningScale,\n success: colorSuccessScale,\n gray: colorGray,\n grayBlue: colorGrayBlue,\n moss: colorMoss,\n greenLight: colorGreenLight,\n green: colorGreen,\n teal: colorTeal,\n cyan: colorCyan,\n blueLight: colorBlueLight,\n blue: colorBlue,\n blueDark: colorBlueDark,\n indigo: colorIndigo,\n violet: colorViolet,\n purple: colorPurple,\n fuchsia: colorFuchsia,\n pink: colorPink,\n rose: colorRose,\n orangeDark: colorOrangeDark,\n orange: colorOrange,\n yellow: colorYellow,\n // semantic\n semantic: {\n text: semanticText,\n border: semanticBorder,\n bg: semanticBg,\n fg: semanticFg,\n },\n // backward-compat\n neutral: colorNeutral,\n decorative: colorDecorative,\n },\n typography,\n spacing,\n radius,\n sizing,\n border,\n shadow,\n focusRing,\n backdropBlur,\n motion,\n} as const;\n\nexport default tokens;\n","import { colorBrandScale } from '../../tokens';\n\n/** ้ป่ฎคๅ็่ฒ๏ผไธ ThemeProvider ้ป่ฎคๅผไธ่ด๏ผๅฟฝ็ฅๅคงๅฐๅ๏ผ */\nexport const DEFAULT_BRAND_COLOR = colorBrandScale[500];\n\nexport function isDefaultBrandColor(color?: string): boolean {\n if (!color) return true;\n return color.toLowerCase() === DEFAULT_BRAND_COLOR.toLowerCase();\n}\n\nexport function resolveBrandColor(color?: string): string {\n return color || DEFAULT_BRAND_COLOR;\n}\n\n/** ๅ็ hover ่ฒ๏ผไธๆง็ CSS ๅ้ fallback `--color-bg-brand-solid_hover` ไฟๆไธ่ด */\nexport const BRAND_HOVER_COLOR = colorBrandScale[600];\n","import {\n colorBrandScale,\n colorErrorScale,\n focusRing,\n radius,\n semanticBg,\n semanticBorder,\n semanticFg,\n semanticText,\n shadow,\n typography,\n} from '../../tokens';\nimport { BRAND_HOVER_COLOR, isDefaultBrandColor, resolveBrandColor } from './colorUtils';\n\nconst DEFAULT_BRAND_ICON = colorBrandScale[500];\n\nexport type ButtonNormalizedHierarchy =\n | 'default'\n | 'primary'\n | 'secondary'\n | 'tertiary'\n | 'link-color'\n | 'link-gray'\n | 'destructive-primary'\n | 'destructive-secondary'\n | 'destructive-tertiary'\n | 'destructive-link';\n\nexport interface ButtonVisuals {\n bg: string;\n color: string;\n iconColor: string;\n border: string;\n boxShadow: string;\n textDecoration?: string;\n}\n\nexport function getButtonVisuals(options: {\n hierarchy: ButtonNormalizedHierarchy;\n disabled: boolean;\n interactive: boolean;\n brandColor?: string;\n}): ButtonVisuals {\n const { hierarchy, disabled, interactive } = options;\n const brand = resolveBrandColor(options.brandColor);\n const brandHover = BRAND_HOVER_COLOR;\n const brandText = colorBrandScale[600];\n const brandTextHover = colorBrandScale[700];\n\n if (disabled) {\n if (\n hierarchy === 'default' ||\n hierarchy === 'primary' ||\n hierarchy === 'secondary' ||\n hierarchy === 'destructive-primary' ||\n hierarchy === 'destructive-secondary'\n ) {\n return {\n bg: semanticBg.disabled,\n color: semanticFg.disabled,\n iconColor: semanticFg.disabled,\n border: `1px solid ${semanticBorder.disabledSubtle}`,\n boxShadow: 'none',\n };\n }\n return {\n bg: 'transparent',\n color: semanticFg.disabled,\n iconColor: semanticFg.disabled,\n border: 'none',\n boxShadow: 'none',\n };\n }\n\n if (hierarchy === 'default') {\n return {\n bg: interactive ? semanticBg.secondary : semanticBg.primary,\n color: interactive ? brandText : semanticText.secondary,\n iconColor: interactive ? DEFAULT_BRAND_ICON : semanticFg.quaternary,\n border: interactive ? `1px solid ${DEFAULT_BRAND_ICON}` : `1px solid ${semanticBorder.primary}`,\n boxShadow: 'none',\n };\n }\n\n if (hierarchy === 'primary') {\n return {\n bg: interactive ? brandHover : brand,\n color: semanticText.white,\n iconColor: colorBrandScale[300],\n border: 'none',\n boxShadow: shadow.xsSkeuomorphic,\n };\n }\n\n if (hierarchy === 'secondary') {\n return {\n bg: interactive ? semanticBg.secondary : semanticBg.primary,\n color: interactive ? colorGrayHoverText() : semanticText.secondary,\n iconColor: interactive ? '#79716b' : semanticFg.quaternary,\n border: 'none',\n boxShadow: shadow.xsSkeuomorphic,\n };\n }\n\n if (hierarchy === 'tertiary') {\n return {\n bg: interactive ? semanticBg.secondary : 'transparent',\n color: interactive ? colorGray700Text() : semanticText.tertiary,\n iconColor: interactive ? '#79716b' : semanticFg.quaternary,\n border: 'none',\n boxShadow: 'none',\n };\n }\n\n if (hierarchy === 'link-color') {\n return {\n bg: 'transparent',\n color: interactive ? brandTextHover : brandText,\n iconColor: DEFAULT_BRAND_ICON,\n border: 'none',\n boxShadow: 'none',\n textDecoration: interactive ? 'underline' : 'none',\n };\n }\n\n if (hierarchy === 'link-gray') {\n return {\n bg: 'transparent',\n color: interactive ? colorGray700Text() : semanticText.tertiary,\n iconColor: semanticFg.quaternary,\n border: 'none',\n boxShadow: 'none',\n textDecoration: interactive ? 'underline' : 'none',\n };\n }\n\n if (hierarchy === 'destructive-primary') {\n return {\n bg: interactive ? colorErrorScale[600] : colorErrorScale[500],\n color: semanticText.white,\n iconColor: interactive ? colorErrorScale[200] : colorErrorScale[300],\n border: 'none',\n boxShadow: shadow.xsSkeuomorphic,\n };\n }\n\n if (hierarchy === 'destructive-secondary') {\n return {\n bg: interactive ? semanticBg.errorPrimary : semanticBg.primary,\n color: semanticText.errorPrimary,\n iconColor: semanticFg.errorSecondary,\n border: 'none',\n boxShadow: `inset 0 0 0 1px ${semanticBorder.errorSubtle}, inset 0 -2px 0 0 rgba(10,13,18,0.05), 0 1px 2px 0 rgba(10,13,18,0.05)`,\n };\n }\n\n if (hierarchy === 'destructive-tertiary') {\n return {\n bg: interactive ? semanticBg.errorPrimary : 'transparent',\n color: semanticText.errorPrimary,\n iconColor: semanticFg.errorSecondary,\n border: 'none',\n boxShadow: 'none',\n };\n }\n\n return {\n bg: 'transparent',\n color: interactive ? colorErrorScale[700] : semanticText.errorPrimary,\n iconColor: semanticFg.errorSecondary,\n border: 'none',\n boxShadow: 'none',\n textDecoration: interactive ? 'underline' : 'none',\n };\n}\n\nfunction colorGrayHoverText() {\n return '#292524';\n}\n\nfunction colorGray700Text() {\n return '#44403c';\n}\n\nexport function getButtonFocusShadow(\n hierarchy: ButtonNormalizedHierarchy,\n showFocusRing: boolean,\n brandColor?: string,\n): string | undefined {\n if (!showFocusRing) return undefined;\n\n const isDestructive =\n hierarchy === 'destructive-primary' ||\n hierarchy === 'destructive-secondary' ||\n hierarchy === 'destructive-tertiary' ||\n hierarchy === 'destructive-link';\n\n if (isDestructive) {\n if (hierarchy === 'destructive-primary' || hierarchy === 'destructive-secondary') {\n return focusRing.errorShadowXsSkeuomorphic;\n }\n return focusRing.error;\n }\n\n if (hierarchy === 'primary' || hierarchy === 'secondary') {\n if (isDefaultBrandColor(brandColor)) {\n return focusRing.shadowXsSkeuomorphic;\n }\n return `${shadow.xsSkeuomorphic}, 0px 0px 0px 2px #ffffff, 0px 0px 0px 4px ${brandColor}`;\n }\n\n if (isDefaultBrandColor(brandColor)) {\n return focusRing.default;\n }\n return `0px 0px 0px 2px #ffffff, 0px 0px 0px 4px ${brandColor}`;\n}\n\nexport const buttonFontFamily = typography.fontFamily.body;\nexport const buttonRadiusMd = radius.md;\n","import React, { useState } from 'react';\nimport { useTheme } from '../../theme/ThemeContext';\nimport {\n buttonFontFamily,\n buttonRadiusMd,\n getButtonFocusShadow,\n getButtonVisuals,\n} from '../shared/buttonStyles';\n\n/**\n * ๅฏน้ฝ Figma: Untitled UI v7 โ Buttons\n * ็ปดๅบฆ๏ผSize ร Hierarchy ร State ร Icon only\n * Size: sm(36) / md(40) / lg(44) / xl(48)\n * Hierarchy: primary / secondary / tertiary / link-color / link-gray\n * State: default / hover / focused / disabled / loading\n * Icon only: boolean\n */\n\nexport type ButtonHierarchy =\n | 'default'\n | 'primary'\n | 'secondary'\n | 'tertiary'\n | 'link-color'\n | 'link-gray'\n | 'destructive-primary'\n | 'destructive-secondary'\n | 'destructive-tertiary'\n | 'destructive-link';\n\nexport type ButtonSize =\n | 'sm'\n | 'md'\n | 'lg'\n | 'xl'\n // legacy aliases\n | 'small'\n | 'mediumSmall'\n | 'medium'\n | 'large';\n\nexport type ButtonType = ButtonHierarchy;\n\nexport interface ButtonProps {\n children?: React.ReactNode;\n /** ๆ้ฎๅฑ็บงใ`default` ไธบๅธฆ่พนๆก็ฝๅบ๏ผๅฏน้ฝ antd๏ผ๏ผ`secondary` ไธบ Figma ๆ ่พนๆก skeuomorphic ๆ ทๅผ */\n type?: ButtonHierarchy;\n /** ๆ้ฎๅฐบๅฏธ๏ผๅฏนๅบ Figma Size๏ผใๆงๅไผๆ ๅฐๅฐๆฐๅฐบๅฏธ */\n size?: ButtonSize;\n disabled?: boolean;\n loading?: boolean;\n /** ไป
ๅพๆ ๆ้ฎใไธไผ `children`ใไป
ไผ `icon` ๆถ่ชๅจๅผๅฏ */\n iconOnly?: boolean;\n /** ๅๆง็ Focused ่ง่งๆ๏ผ็จไบ Storybook ้ข่ง่ฎพ่ฎก็จฟ๏ผ็ๅฎ้ฎ็็ฆ็น็ฑ :focus-visible ๅค็ */\n focused?: boolean;\n onClick?: (e: React.MouseEvent<HTMLButtonElement>) => void;\n htmlType?: 'button' | 'submit' | 'reset';\n className?: string;\n style?: React.CSSProperties;\n icon?: React.ReactNode;\n iconPosition?: 'left' | 'right';\n [key: string]: any;\n}\n\ntype NormalizedSize = 'sm' | 'md' | 'lg' | 'xl';\ntype NormalizedHierarchy = 'default' | 'primary' | 'secondary' | 'tertiary' | 'link-color' | 'link-gray' | 'destructive-primary' | 'destructive-secondary' | 'destructive-tertiary' | 'destructive-link';\n\nconst SIZE_ALIAS: Record<ButtonSize, NormalizedSize> = {\n sm: 'sm',\n md: 'md',\n lg: 'lg',\n xl: 'xl',\n small: 'sm',\n mediumSmall: 'sm',\n medium: 'md',\n large: 'xl',\n};\n\nconst HIERARCHY_ALIAS: Record<ButtonHierarchy, NormalizedHierarchy> = {\n default: 'default',\n primary: 'primary',\n secondary: 'secondary',\n tertiary: 'tertiary',\n 'link-color': 'link-color',\n 'link-gray': 'link-gray',\n 'destructive-primary': 'destructive-primary',\n 'destructive-secondary': 'destructive-secondary',\n 'destructive-tertiary': 'destructive-tertiary',\n 'destructive-link': 'destructive-link',\n};\n\n/** Figma ๆ ๆณจ็ๅฐบๅฏธๅๆฐ๏ผ้ซๅบฆใๅ
่พน่ทใๅญๅท/่ก้ซใๅพๆ ๅฐบๅฏธใ้ด่ท */\nconst SIZE_TOKENS: Record<\n NormalizedSize,\n {\n height: number;\n paddingX: number;\n paddingXLg: number; // lg/xl ๅคงๅทๅ
่พน่ท๏ผไธๅพๆ ๆผๆฅๆถ็จๅคง๏ผ\n fontSize: number;\n lineHeight: number;\n iconSize: number;\n gap: number;\n iconOnlyPad: number;\n }\n> = {\n sm: { height: 36, paddingX: 12, paddingXLg: 12, fontSize: 14, lineHeight: 20, iconSize: 20, gap: 4, iconOnlyPad: 8 },\n md: { height: 40, paddingX: 14, paddingXLg: 14, fontSize: 14, lineHeight: 20, iconSize: 20, gap: 4, iconOnlyPad: 10 },\n lg: { height: 44, paddingX: 16, paddingXLg: 16, fontSize: 16, lineHeight: 24, iconSize: 20, gap: 6, iconOnlyPad: 12 },\n xl: { height: 48, paddingX: 18, paddingXLg: 18, fontSize: 16, lineHeight: 24, iconSize: 20, gap: 6, iconOnlyPad: 14 },\n};\n\nconst LoadingSpinner: React.FC<{ size: number; color: string }> = ({ size, color }) => (\n <>\n <style>{`@keyframes aha-button-spin{from{transform:rotate(0)}to{transform:rotate(360deg)}}`}</style>\n <svg\n width={size}\n height={size}\n viewBox=\"0 0 24 24\"\n fill=\"none\"\n aria-hidden\n style={{ animation: 'aha-button-spin 1s linear infinite', flexShrink: 0 }}\n >\n <circle cx=\"12\" cy=\"12\" r=\"10\" stroke={color} strokeWidth=\"2\" opacity=\"0.25\" />\n <path\n d=\"M22 12a10 10 0 0 1-10 10\"\n stroke={color}\n strokeWidth=\"2\"\n strokeLinecap=\"round\"\n fill=\"none\"\n />\n </svg>\n </>\n);\n\nconst Button: React.FC<ButtonProps> = ({\n children,\n type = 'default',\n size = 'md',\n disabled = false,\n loading = false,\n iconOnly,\n focused = false,\n onClick,\n htmlType = 'button',\n className = '',\n style,\n icon,\n iconPosition = 'left',\n ...rest\n}) => {\n const { primaryColor } = useTheme();\n const [isHovered, setIsHovered] = useState(false);\n const [isPressed, setIsPressed] = useState(false);\n\n const hierarchy = HIERARCHY_ALIAS[type] || 'default';\n const s = SIZE_TOKENS[SIZE_ALIAS[size] || 'md'];\n\n const isIconOnly = iconOnly ?? (!!icon && children == null);\n const isLink = hierarchy === 'link-color' || hierarchy === 'link-gray' || hierarchy === 'destructive-link';\n const isDisabled = disabled || loading;\n const showFocusRing = focused;\n\n const themeBrand = primaryColor;\n\n const visuals = getButtonVisuals({\n hierarchy,\n disabled,\n interactive: isHovered || isPressed,\n brandColor: themeBrand,\n });\n\n const focusShadow = getButtonFocusShadow(hierarchy, showFocusRing, themeBrand);\n\n const buttonStyle: React.CSSProperties = {\n position: 'relative',\n display: 'inline-flex',\n alignItems: 'center',\n justifyContent: 'center',\n gap: s.gap,\n fontFamily: buttonFontFamily,\n fontWeight: 600,\n fontSize: s.fontSize,\n lineHeight: `${s.lineHeight}px`,\n cursor: isDisabled ? 'not-allowed' : 'pointer',\n outline: 'none',\n transition: 'background-color .15s ease, color .15s ease, box-shadow .15s ease',\n userSelect: 'none',\n WebkitTapHighlightColor: 'transparent',\n whiteSpace: 'nowrap',\n backgroundColor: visuals.bg,\n color: visuals.color,\n border: visuals.border,\n boxShadow: focusShadow ?? visuals.boxShadow,\n textDecoration: visuals.textDecoration,\n ...style,\n };\n\n if (isLink) {\n // Link ็ฑป๏ผไฟ็ไธๅๅฐบๅฏธๆ้ฎไธ่ด็้ซๅบฆๅๆจชๅๅ
่พน่ท๏ผๆ ่ๆฏใๆ ่พนๆก\n buttonStyle.borderRadius = '4px';\n buttonStyle.overflow = 'hidden';\n if (isIconOnly) {\n buttonStyle.width = s.height;\n buttonStyle.height = s.height;\n buttonStyle.padding = 0;\n } else {\n buttonStyle.height = s.height;\n buttonStyle.paddingLeft = s.paddingX;\n buttonStyle.paddingRight = s.paddingX;\n }\n } else {\n buttonStyle.borderRadius = buttonRadiusMd;\n if (isIconOnly) {\n buttonStyle.width = s.height;\n buttonStyle.height = s.height;\n buttonStyle.padding = 0;\n } else {\n buttonStyle.height = s.height;\n buttonStyle.paddingLeft = s.paddingX;\n buttonStyle.paddingRight = s.paddingX;\n }\n }\n\n const handleClick = (e: React.MouseEvent<HTMLButtonElement>) => {\n if (isDisabled) {\n e.preventDefault();\n return;\n }\n onClick?.(e);\n };\n\n const renderIcon = () => {\n if (loading) {\n return <LoadingSpinner size={s.iconSize} color={visuals.iconColor} />;\n }\n if (!icon) return null;\n return (\n <span\n aria-hidden\n style={{\n display: 'inline-flex',\n alignItems: 'center',\n justifyContent: 'center',\n width: s.iconSize,\n height: s.iconSize,\n color: visuals.iconColor,\n flexShrink: 0,\n }}\n >\n {icon}\n </span>\n );\n };\n\n const showLeftIcon = loading || (icon && iconPosition === 'left');\n const showRightIcon = !loading && icon && iconPosition === 'right';\n\n return (\n <button\n type={htmlType}\n className={[\n 'aha-button',\n `aha-button--${hierarchy}`,\n `aha-button--${SIZE_ALIAS[size] || 'md'}`,\n isIconOnly && 'aha-button--icon-only',\n isDisabled && 'aha-button--disabled',\n loading && 'aha-button--loading',\n showFocusRing && 'aha-button--focused',\n className,\n ]\n .filter(Boolean)\n .join(' ')}\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 {showLeftIcon && renderIcon()}\n {!isIconOnly && children}\n {showRightIcon && renderIcon()}\n {/* icon-only ไธๆฒกไผ icon ๆถ๏ผๅ
่ฎธ children ไฝไธบๅพๆ */}\n {isIconOnly && !icon && !loading && children}\n </button>\n );\n};\n\nButton.displayName = 'Button';\n\nexport default Button;\n"],"names":["__assign","Object","assign","t","s","i","n","arguments","length","p","prototype","hasOwnProperty","call","apply","this","SuppressedError","defaultTheme","primaryColor","ThemeContext","createContext","colorBrandScale","colorErrorScale","semanticText","semanticBorder","semanticBg","semanticFg","shadow","focusRing","default","concat","shadowXs","shadowXsSkeuomorphic","shadowSm","error","errorShadowXs","errorShadowXsSkeuomorphic","DEFAULT_BRAND_COLOR","isDefaultBrandColor","color","toLowerCase","BRAND_HOVER_COLOR","DEFAULT_BRAND_ICON","getButtonVisuals","options","hierarchy","disabled","interactive","brand","brandColor","brandHover","brandText","brandTextHover","bg","iconColor","border","boxShadow","textDecoration","SIZE_ALIAS","sm","md","lg","xl","small","mediumSmall","medium","large","HIERARCHY_ALIAS","primary","secondary","tertiary","SIZE_TOKENS","height","paddingX","paddingXLg","fontSize","lineHeight","iconSize","gap","iconOnlyPad","LoadingSpinner","_a","size","_jsxs","jsxs","_Fragment","Fragment","children","_jsx","jsx","width","viewBox","fill","style","animation","flexShrink","cx","cy","r","stroke","strokeWidth","opacity","d","strokeLinecap","Button","_b","type","_c","_d","_e","loading","iconOnly","_f","focused","onClick","_g","htmlType","_h","className","icon","_j","iconPosition","rest","e","indexOf","getOwnPropertySymbols","propertyIsEnumerable","__rest","useContext","_k","useState","isHovered","setIsHovered","_l","isPressed","setIsPressed","isIconOnly","isLink","isDisabled","showFocusRing","themeBrand","visuals","focusShadow","getButtonFocusShadow","buttonStyle","position","display","alignItems","justifyContent","fontFamily","fontWeight","cursor","outline","transition","userSelect","WebkitTapHighlightColor","whiteSpace","backgroundColor","borderRadius","overflow","padding","paddingLeft","paddingRight","renderIcon","showLeftIcon","showRightIcon","filter","Boolean","join","preventDefault","onMouseEnter","onMouseLeave","onMouseDown","onMouseUp","displayName"],"mappings":"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","x_google_ignoreList":[0]}
|
package/dist/Checkbox.esm.js
CHANGED
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import{jsxs as e,jsx as
|
|
1
|
+
import{jsxs as e,jsx as p}from"react/jsx-runtime";import{createContext as n,useContext as o,useState as i}from"react";var r=function(){return r=Object.assign||function(e){for(var p,n=1,o=arguments.length;n<o;n++)for(var i in p=arguments[n])Object.prototype.hasOwnProperty.call(p,i)&&(e[i]=p[i]);return e},r.apply(this,arguments)};"function"==typeof SuppressedError&&SuppressedError;var t={primaryColor:"#FB6011"},x=n(t),a="#fb6011",s="#ec470a",d="#f04438",f="#44403c",l="#57534e",c="#79716b",u="#d7d3d0",h="#d7d3d0",m="#ffffff",y="#fafaf9",b="#fafaf9",g="#d7d3d0",v="#ffffff",k={display:'"DM Sans", system-ui, -apple-system, sans-serif',body:'"DM Sans", system-ui, -apple-system, sans-serif',base:'"DM Sans", system-ui, -apple-system, sans-serif'},S={xs:"12px",sm:"14px",base:"16px",md:"16px",lg:"18px",xl:"20px",displayXs:"24px",displaySm:"30px",displayMd:"36px",displayLg:"48px",displayXl:"60px",display2xl:"72px"},w={regular:400,medium:500,semibold:600,bold:700},C={xs:"18px",sm:"20px",base:"24px",md:"24px",lg:"28px",xl:"30px",displayXs:"32px",displaySm:"38px",displayMd:"44px",displayLg:"60px",displayXl:"72px",display2xl:"90px"},L="2px",z="8px",M="12px",X="4px",H="6px",j={default:"0px 0px 0px 2px #ffffff, 0px 0px 0px 4px ".concat(a),shadowXs:"0px 1px 2px 0px #0a0d120d, 0px 0px 0px 2px #ffffff, 0px 0px 0px 4px ".concat(a),shadowXsSkeuomorphic:"inset 0px 0px 0px 1px #0a0d122e, inset 0px -2px 0px 0px #0a0d120d, 0px 1px 2px 0px #0a0d120d, 0px 0px 0px 2px #ffffff, 0px 0px 0px 4px ".concat(a),shadowSm:"0px 1px 3px 0px #0a0d121a, 0px 1px 2px 0px #0a0d121a, 0px 0px 0px 2px #ffffff, 0px 0px 0px 4px ".concat(a),error:"0px 0px 0px 2px #ffffff, 0px 0px 0px 4px ".concat(d),errorShadowXs:"0px 1px 2px 0px #0a0d120d, 0px 0px 0px 2px #ffffff, 0px 0px 0px 4px ".concat(d),errorShadowXsSkeuomorphic:"inset 0px 0px 0px 1px #0a0d122e, inset 0px -2px 0px 0px #0a0d120d, 0px 1px 2px 0px #0a0d120d, 0px 0px 0px 2px #ffffff, 0px 0px 0px 4px ".concat(d)},D=a;var E=s,F=k.body,W=w.medium,B=w.regular;function I(e){return{fontSize:"sm"===e?S.sm:S.md,lineHeight:"sm"===e?C.sm:C.md,gap:"sm"===e?z:M,hintGap:"md"===e?L:"0"}}function N(e){var p=e.disabled,n=e.active,o=e.hovered,i=e.brandColor||D;return{bg:p?b:n?o?E:i:o?y:m,border:"1px solid ".concat(p?h:n?o?E:i:u)}}function O(e,p){return e?(n=p)&&n.toLowerCase()!==D.toLowerCase()?"0px 0px 0px 2px #ffffff, 0px 0px 0px 4px ".concat(p):j.default:"none";var n}function G(e){var p=I(e.size);return{fontSize:p.fontSize,lineHeight:p.lineHeight,fontWeight:W,fontFamily:F,color:e.disabled?c:f,userSelect:"none"}}function P(e){var p=I(e);return{fontSize:p.fontSize,lineHeight:p.lineHeight,fontWeight:B,fontFamily:F,color:l}}var T=function(n){var a=n.checked,s=void 0!==a&&a,d=n.indeterminate,f=void 0!==d&&d,l=n.disabled,c=void 0!==l&&l,u=n.onChange,h=n.className,m=void 0===h?"":h,y=n.style,b=n.children,k=n.size,S=void 0===k?"sm":k,w=n.hint,C=n.isFocused,L=(o(x)||t).primaryColor,z=i(!1),M=z[0],j=z[1],D=i(!1),E=D[0],F=D[1],W=s||f,B=null!=C?C:E,T=function(){c||(null==u||u({target:{checked:!s},currentTarget:{checked:!s}}))},K="sm"===S?"16px":"20px",R="sm"===S?"12px":"14px",q=function(e){return"sm"===e?X:H}(S),A=I(S),J=A.gap,Q=A.hintGap,U=N({disabled:c,active:W,hovered:M,brandColor:L}),V=U.bg,Y=U.border,Z=function(e,p){return e&&p?g:v}(c,W),$=b||w;return e("div",{className:"aha-checkbox ".concat(m),role:"checkbox","aria-checked":f?"mixed":s,"aria-disabled":c,tabIndex:c?-1:0,style:r({display:"inline-flex",alignItems:"flex-start",gap:J,cursor:c?"not-allowed":"pointer",outline:"none"},y),onClick:T,onKeyDown:function(e){" "!==e.key&&"Enter"!==e.key||(e.preventDefault(),T())},onMouseEnter:function(){return!c&&j(!0)},onMouseLeave:function(){return j(!1)},onFocus:function(){return!c&&F(!0)},onBlur:function(){return F(!1)},children:[e("div",{style:{position:"relative",width:K,height:K,minWidth:K,minHeight:K,flexShrink:0,borderRadius:q,border:Y,backgroundColor:V,display:"flex",alignItems:"center",justifyContent:"center",transition:"background-color 0.15s, border-color 0.15s, box-shadow 0.15s",boxSizing:"border-box",boxShadow:O(B,L),marginTop:$?"2px":"0"},children:[p("svg",{"aria-hidden":"true",viewBox:"0 0 14 14",fill:"none",style:{position:"absolute",width:R,height:R,color:Z,opacity:f?1:0,transition:"opacity 0.15s",pointerEvents:"none"},children:p("path",{d:"M2.91675 7H11.0834",stroke:"currentColor",strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round"})}),p("svg",{"aria-hidden":"true",viewBox:"0 0 14 14",fill:"none",style:{position:"absolute",width:R,height:R,color:Z,opacity:s&&!f?1:0,transition:"opacity 0.15s",pointerEvents:"none"},children:p("path",{d:"M11.6666 3.5L5.24992 9.91667L2.33325 7",stroke:"currentColor",strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round"})})]}),$&&e("div",{style:{display:"inline-flex",flexDirection:"column",gap:Q},children:[b&&p("span",{style:G({size:S,disabled:c}),children:b}),w&&p("span",{style:P(S),onClick:function(e){return e.stopPropagation()},children:w})]})]})};T.displayName="Checkbox";export{T as default};
|
|
2
2
|
//# sourceMappingURL=Checkbox.esm.js.map
|