@common-origin/design-system 2.0.0 → 2.2.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.
Files changed (29) hide show
  1. package/dist/components/atoms/Chip/shared/ChipBase.d.ts +1 -1
  2. package/dist/components/atoms/Chip/shared/utils.d.ts +1 -1
  3. package/dist/components/atoms/DateFormatter/DateFormatter.d.ts +3 -0
  4. package/dist/components/atoms/MoneyDisplay/MoneyDisplay.d.ts +26 -0
  5. package/dist/components/atoms/MoneyDisplay/index.d.ts +2 -0
  6. package/dist/components/atoms/index.d.ts +1 -0
  7. package/dist/components/molecules/AccountCard/AccountCard.d.ts +44 -0
  8. package/dist/components/molecules/AccountCard/index.d.ts +2 -0
  9. package/dist/components/molecules/Checkbox/SelectableInputBase.d.ts +1 -2
  10. package/dist/components/molecules/DateGroup/DateGroup.d.ts +34 -0
  11. package/dist/components/molecules/DateGroup/index.d.ts +2 -0
  12. package/dist/components/molecules/EmptyState/EmptyState.d.ts +32 -0
  13. package/dist/components/molecules/EmptyState/index.d.ts +2 -0
  14. package/dist/components/molecules/TextField/InputBase.d.ts +0 -1
  15. package/dist/components/molecules/TransactionListItem/TransactionListItem.d.ts +39 -0
  16. package/dist/components/molecules/TransactionListItem/index.d.ts +2 -0
  17. package/dist/components/molecules/index.d.ts +4 -0
  18. package/dist/index.d.ts +8 -0
  19. package/dist/index.esm.js +866 -190
  20. package/dist/index.esm.js.map +1 -1
  21. package/dist/index.js +869 -188
  22. package/dist/index.js.map +1 -1
  23. package/dist/styles/tokens.json +8 -0
  24. package/dist/tokens/index.esm.js +8 -0
  25. package/dist/tokens/index.esm.js.map +1 -1
  26. package/dist/tokens/index.js +8 -0
  27. package/dist/tokens/index.js.map +1 -1
  28. package/dist/tokens/tokens.d.ts +8 -0
  29. package/package.json +3 -4
@@ -1 +1 @@
1
- {"version":3,"file":"index.esm.js","sources":["../node_modules/@babel/runtime/helpers/esm/extends.js","../node_modules/tslib/tslib.es6.js","../src/components/atoms/Avatar/Avatar.tsx","../src/components/atoms/Typography/Typography.tsx","../src/components/atoms/Badge/Badge.tsx","../src/components/atoms/Box/Box.tsx","../src/components/atoms/Icon/Icon.tsx","../src/components/atoms/Button/Button.tsx","../src/components/atoms/Chip/shared/utils.ts","../src/components/atoms/Chip/shared/ChipBase.tsx","../src/components/atoms/Chip/Chip.tsx","../src/components/atoms/Chip/FilterChip.tsx","../src/components/atoms/Chip/BooleanChip.tsx","../src/lib/styleUtils.ts","../src/components/atoms/Container/Container.tsx","../src/components/atoms/Picture/Picture.tsx","../src/components/atoms/DateFormatter/DateFormatter.tsx","../src/components/atoms/IconButton/IconButton.tsx","../src/components/atoms/ProgressBar/ProgressBar.tsx","../src/components/atoms/Divider/Divider.tsx","../src/components/atoms/Stack/Stack.tsx","../src/components/atoms/Tag/Tag.tsx","../src/components/molecules/Alert/Alert.tsx","../src/components/molecules/Breadcrumbs/Breadcrumbs.tsx","../src/components/molecules/CardSmall/CardSmall.tsx","../src/components/molecules/CardLarge/CardLarge.tsx","../src/components/molecules/Checkbox/SelectableInputBase.tsx","../src/components/molecules/Checkbox/Checkbox.tsx","../src/components/molecules/ChipGroup/ChipGroup.tsx","../src/components/molecules/CodeBlock/CodeBlock.tsx","../src/components/molecules/FeatureBlock/FeatureBlock.tsx","../src/components/molecules/Dropdown/Dropdown.tsx","../src/components/molecules/List/List.tsx","../src/components/molecules/List/ListItem.tsx","../src/components/molecules/TextField/InputBase.tsx","../src/components/molecules/NumberInput/NumberInput.tsx","../src/components/molecules/PageTitle/PageTitle.tsx","../src/components/molecules/PasswordField/PasswordField.tsx","../src/components/molecules/Sheet/Sheet.tsx","../src/components/molecules/Slider/Slider.tsx","../src/components/molecules/TextField/TextField.tsx","../src/components/layout/GridSystem/GridSystem.tsx","../src/index.ts"],"sourcesContent":["function _extends() {\n return _extends = Object.assign ? Object.assign.bind() : function (n) {\n for (var e = 1; e < arguments.length; e++) {\n var t = arguments[e];\n for (var r in t) ({}).hasOwnProperty.call(t, r) && (n[r] = t[r]);\n }\n return n;\n }, _extends.apply(null, arguments);\n}\nexport { _extends as default };","/******************************************************************************\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, { useState } from 'react'\nimport styled from 'styled-components'\nimport tokens from '@/styles/tokens.json'\n\nexport interface AvatarProps {\n name: string\n picture?: string\n size?: 'xs' | 'sm' | 'md' | 'lg' | 'xl'\n 'data-testid'?: string\n}\n\ninterface StyledAvatarProps {\n $size: 'xs' | 'sm' | 'md' | 'lg' | 'xl'\n}\n\nconst AvatarContainer = styled.div.withConfig({\n shouldForwardProp: (prop) => !prop.startsWith('$')\n})<StyledAvatarProps>`\n position: relative;\n display: inline-flex;\n align-items: center;\n justify-content: center;\n width: ${({ $size }) => tokens.semantic.size.avatar[$size]};\n height: ${({ $size }) => tokens.semantic.size.avatar[$size]};\n border-radius: ${tokens.base.border.radius.circle};\n background-color: ${tokens.semantic.color.background.surface};\n overflow: hidden;\n flex-shrink: 0;\n`\n\nconst AvatarImage = styled.img.withConfig({\n shouldForwardProp: (prop) => !prop.startsWith('$')\n})<StyledAvatarProps>`\n width: 100%;\n height: 100%;\n object-fit: cover;\n border-radius: ${tokens.base.border.radius.circle};\n /* Remove the img role since the container already has role=\"img\" */\n`\n\nconst AvatarInitials = styled.span.withConfig({\n shouldForwardProp: (prop) => !prop.startsWith('$')\n})<StyledAvatarProps>`\n font-family: ${tokens.base.fontFamily.body};\n font-weight: ${tokens.base.fontWeight[3]};\n font-size: ${({ $size }) => {\n const sizeMap = {\n xs: tokens.base.fontSize[1],\n sm: tokens.base.fontSize[2],\n md: tokens.base.fontSize[3],\n lg: tokens.base.fontSize[4],\n xl: tokens.base.fontSize[5]\n }\n return sizeMap[$size]\n }};\n color: ${tokens.semantic.color.text.default};\n line-height: 1;\n text-transform: uppercase;\n user-select: none;\n`\n\n// Helper function to get initials from name\nconst getInitials = (name: string): string => {\n return name\n .split(' ')\n .map(word => word.charAt(0))\n .join('')\n .slice(0, 2)\n .toUpperCase()\n}\n\nexport const Avatar: React.FC<AvatarProps> = ({ \n name, \n picture, \n size = 'md',\n 'data-testid': dataTestId,\n ...props \n}) => {\n // Remove styled-only props from the rest\n const { $size, ...htmlProps } = props as Record<string, any>\n const [imageError, setImageError] = useState(false)\n const [imageLoaded, setImageLoaded] = useState(false)\n\n const handleImageError = () => {\n setImageError(true)\n }\n\n const handleImageLoad = () => {\n setImageLoaded(true)\n }\n\n const showImage = picture && !imageError\n const initials = getInitials(name)\n\n return (\n <AvatarContainer \n $size={size}\n data-testid={dataTestId}\n data-size={size}\n role=\"img\"\n aria-label={`Avatar for ${name}`}\n {...htmlProps}\n >\n {showImage ? (\n <AvatarImage\n $size={size}\n src={picture}\n alt={`Avatar of ${name}`}\n onError={handleImageError}\n onLoad={handleImageLoad}\n data-state={imageLoaded ? 'loaded' : 'loading'}\n />\n ) : (\n <AvatarInitials \n $size={size}\n data-initials={initials}\n aria-hidden=\"true\"\n >\n {initials}\n </AvatarInitials>\n )}\n </AvatarContainer>\n )\n}","import React from 'react'\nimport styled from 'styled-components'\nimport tokens from '@/styles/tokens.json'\n\nconst { semantic: { typography, color } } = tokens\n\nexport type TypographyVariant = \n | 'display' \n | 'h1' \n | 'h2' \n | 'h3' \n | 'h4' \n | 'h5' \n | 'h6' \n | 'subtitle' \n | 'body' \n | 'small' \n | 'overline' \n | 'caption' \n | 'button1' \n | 'button2' \n | 'button3' \n | 'label'\n\nexport type TypographyColor = \"default\" | \"emphasis\" | \"subdued\" | \"inverse\" | \"disabled\" | \"interactive\" | \"error\" | \"success\" | \"warning\"\n\nexport interface TypographyProps {\n /** Typography variant defining the semantic meaning and style */\n variant?: TypographyVariant\n /** Color variant for the text */\n color?: TypographyColor\n /** Content to render */\n children: React.ReactNode\n /** HTML element to render as (overrides default semantic element) */\n as?: React.ElementType\n /** Data test id for testing */\n 'data-testid'?: string\n}\n\ninterface StyledTypographyProps {\n $variant: TypographyVariant\n $color: TypographyColor\n}\n\nconst getTypographyStyles = (variant: TypographyVariant) => {\n const styles = {\n display: `font: ${typography.display}; letter-spacing: ${tokens.base.letterSpacing[0]};`,\n h1: `font: ${typography.h1}; letter-spacing: ${tokens.base.letterSpacing[0]};`,\n h2: `font: ${typography.h2}; letter-spacing: ${tokens.base.letterSpacing[1]};`,\n h3: `font: ${typography.h3}; letter-spacing: ${tokens.base.letterSpacing[1]};`,\n h4: `font: ${typography.h4}; letter-spacing: ${tokens.base.letterSpacing[1]};`,\n h5: `font: ${typography.h5}; letter-spacing: ${tokens.base.letterSpacing[2]};`,\n h6: `font: ${typography.h6}; letter-spacing: ${tokens.base.letterSpacing[2]};`,\n subtitle: `font: ${typography.subtitle};`,\n body: `font: ${typography.body};`,\n small: `font: ${typography.small};`,\n overline: `font: ${typography.overline};`,\n caption: `font: ${typography.caption}; text-transform: uppercase;`,\n button1: `font: ${typography.button1};`,\n button2: `font: ${typography.button2};`,\n button3: `font: ${typography.button3};`,\n label: `font: ${typography.label};`,\n }\n \n return styles[variant] || styles.body\n}\n\nconst getTextColor = (colorVariant: TypographyColor) => {\n const colorMap = {\n default: color.text.default,\n emphasis: color.text.emphasis,\n subdued: color.text.subdued,\n inverse: color.text.inverse,\n disabled: color.text.disabled,\n interactive: color.text.interactive,\n error: color.text.error,\n success: color.text.success,\n warning: color.text.warning,\n }\n \n return colorMap[colorVariant] || colorMap.default\n}\n\nconst getDefaultElement = (variant: TypographyVariant): React.ElementType => {\n const elementMap: Record<TypographyVariant, React.ElementType> = {\n display: 'h1',\n h1: 'h1',\n h2: 'h2',\n h3: 'h3',\n h4: 'h4',\n h5: 'h5',\n h6: 'h6',\n subtitle: 'p',\n body: 'p',\n small: 'span',\n overline: 'span',\n caption: 'span',\n button1: 'span',\n button2: 'span',\n button3: 'span',\n label: 'span',\n }\n \n return elementMap[variant] || 'span'\n}\n\nconst StyledTypography = styled.span.withConfig({\n shouldForwardProp: (prop) => !prop.startsWith('$')\n})<StyledTypographyProps>`\n ${({ $variant }) => getTypographyStyles($variant)}\n color: ${({ $color }) => getTextColor($color)};\n margin: 0;\n \n /* Ensure proper line height for readability */\n ${({ $variant }) => {\n if (['body', 'subtitle', 'small'].includes($variant)) {\n return 'line-height: 1.5;'\n }\n return ''\n }}\n`\n\n/**\n * Typography is an atomic component for rendering text with semantic meaning and consistent styling.\n * \n * Features:\n * - Semantic variants (h1-h6, body, subtitle, etc.)\n * - Color variants for different contexts\n * - Automatic semantic HTML element selection\n * - Manual element override support\n * - Direct semantic token usage (no component tokens needed)\n * - Full accessibility support\n * \n * @example\n * ```tsx\n * <Typography variant=\"h1\">Main Heading</Typography>\n * <Typography variant=\"body\" color=\"subdued\">Body text</Typography>\n * <Typography variant=\"caption\" as=\"figcaption\">Image caption</Typography>\n * ```\n */\nexport const Typography: React.FC<TypographyProps> = ({ \n variant = 'body', \n children, \n color = 'default',\n as,\n 'data-testid': dataTestId\n}) => {\n // $variant and $color are only used for styled-components prop filtering\n const defaultElement = getDefaultElement(variant)\n const elementType = as || defaultElement\n\n return (\n <StyledTypography \n as={elementType}\n $variant={variant}\n $color={color}\n data-testid={dataTestId}\n >\n {children}\n </StyledTypography>\n )\n}\n","import React from 'react'\nimport styled, { keyframes } from 'styled-components'\nimport tokens from '@/styles/tokens.json'\nimport { Typography } from '../Typography'\n\nconst { semantic: { color }, base: { shadow } } = tokens\n\nexport interface BadgeProps {\n /** Content to wrap with the badge */\n children: React.ReactNode\n /** Number to display in the badge. If 0, badge is hidden */\n count?: number\n /** Maximum number to display before showing \"99+\" */\n max?: number\n /** Visual variant of the badge */\n variant?: 'default' | 'primary' | 'error' | 'warning' | 'success'\n /** Show only a dot indicator instead of count */\n dot?: boolean\n /** Screen reader label for the badge */\n 'aria-label'?: string\n /** Additional CSS class */\n className?: string\n}\n\nconst scaleIn = keyframes`\n from {\n transform: scale(0.8);\n opacity: 0;\n }\n to {\n transform: scale(1);\n opacity: 1;\n }\n`\n\nconst BadgeWrapper = styled.span`\n position: relative;\n display: inline-flex;\n vertical-align: middle;\n flex-shrink: 0;\n`\n\nconst BadgeIndicator = styled.span.withConfig({\n shouldForwardProp: (prop) => !prop.startsWith('$')\n})<{ $variant: string; $isDot: boolean; $isVisible: boolean }>`\n position: absolute;\n top: 0;\n right: 0;\n transform: translate(50%, -50%);\n display: ${props => props.$isVisible ? 'flex' : 'none'};\n align-items: center;\n justify-content: center;\n min-width: ${props => props.$isDot ? '8px' : '16px'};\n height: ${props => props.$isDot ? '8px' : '16px'};\n padding: ${props => props.$isDot ? '0' : '0 4px'};\n border-radius: ${tokens.base.border.radius.circle};\n line-height: 1;\n white-space: nowrap;\n box-shadow: 0 0 0 2px ${color.background.default};\n animation: ${scaleIn} 0.2s ease-out;\n \n ${props => {\n switch (props.$variant) {\n case 'primary':\n return `\n background-color: ${color.background.interactive};\n color: ${color.text.inverse};\n `\n case 'error':\n return `\n background-color: ${color.background.error};\n color: ${color.text.inverse};\n `\n case 'warning':\n return `\n background-color: ${color.background.warning};\n color: ${color.text.inverse};\n `\n case 'success':\n return `\n background-color: ${color.background.success};\n color: ${color.text.inverse};\n `\n default:\n return `\n background-color: ${color.background.emphasis};\n color: ${color.text.inverse};\n `\n }\n }}\n`\n\nconst ScreenReaderOnly = styled.span`\n position: absolute;\n width: 1px;\n height: 1px;\n padding: 0;\n margin: -1px;\n overflow: hidden;\n clip: rect(0, 0, 0, 0);\n white-space: nowrap;\n border-width: 0;\n`\n\nexport const Badge: React.FC<BadgeProps> = ({\n children,\n count = 0,\n max = 99,\n variant = 'default',\n dot = false,\n 'aria-label': ariaLabel,\n className\n}) => {\n const isVisible = dot || count > 0\n const displayCount = count > max ? `${max}+` : count.toString()\n \n // Generate default aria-label if not provided\n const defaultAriaLabel = dot \n ? 'New notification indicator'\n : count === 1 \n ? '1 notification' \n : `${count} notifications`\n \n const label = ariaLabel || defaultAriaLabel\n\n return (\n <BadgeWrapper className={className}>\n {children}\n <BadgeIndicator\n $variant={variant}\n $isDot={dot}\n $isVisible={isVisible}\n role=\"status\"\n aria-live=\"polite\"\n >\n {!dot && (\n <Typography variant=\"caption\" color=\"inverse\">\n {displayCount}\n </Typography>\n )}\n <ScreenReaderOnly>{label}</ScreenReaderOnly>\n </BadgeIndicator>\n </BadgeWrapper>\n )\n}\n","import React from 'react'\nimport styled, { css } from 'styled-components'\nimport tokens from '../../../styles/tokens.json'\n\n// Public props interface (without $ prefix, following atomic pattern)\nexport interface BoxProps {\n // Display\n display?: 'block' | 'inline' | 'inline-block' | 'flex' | 'inline-flex' | 'none'\n \n // Flexbox\n flexDirection?: 'row' | 'column' | 'row-reverse' | 'column-reverse'\n justifyContent?: 'flex-start' | 'flex-end' | 'center' | 'space-between' | 'space-around' | 'space-evenly'\n alignItems?: 'flex-start' | 'flex-end' | 'center' | 'stretch' | 'baseline'\n flexWrap?: 'nowrap' | 'wrap' | 'wrap-reverse'\n gap?: keyof typeof tokens.semantic.spacing.layout\n \n // Spacing (using semantic layout tokens)\n m?: keyof typeof tokens.semantic.spacing.layout\n mt?: keyof typeof tokens.semantic.spacing.layout\n mr?: keyof typeof tokens.semantic.spacing.layout\n mb?: keyof typeof tokens.semantic.spacing.layout\n ml?: keyof typeof tokens.semantic.spacing.layout\n mx?: keyof typeof tokens.semantic.spacing.layout\n my?: keyof typeof tokens.semantic.spacing.layout\n p?: keyof typeof tokens.semantic.spacing.layout\n pt?: keyof typeof tokens.semantic.spacing.layout\n pr?: keyof typeof tokens.semantic.spacing.layout\n pb?: keyof typeof tokens.semantic.spacing.layout\n pl?: keyof typeof tokens.semantic.spacing.layout\n px?: keyof typeof tokens.semantic.spacing.layout\n py?: keyof typeof tokens.semantic.spacing.layout\n \n // Size\n width?: string\n height?: string\n maxWidth?: string\n maxHeight?: string\n minWidth?: string\n minHeight?: string\n \n // Position\n position?: 'static' | 'relative' | 'absolute' | 'fixed' | 'sticky'\n top?: string\n right?: string\n bottom?: string\n left?: string\n \n // Borders\n borderRadius?: keyof typeof tokens.base.border.radius\n border?: keyof typeof tokens.semantic.color.border\n borderTop?: keyof typeof tokens.semantic.color.border\n borderRight?: keyof typeof tokens.semantic.color.border\n borderBottom?: keyof typeof tokens.semantic.color.border\n borderLeft?: keyof typeof tokens.semantic.color.border\n \n // Background & Color\n bg?: keyof typeof tokens.semantic.color.background\n color?: keyof typeof tokens.semantic.color.text\n \n // Overflow\n overflow?: 'visible' | 'hidden' | 'scroll' | 'auto'\n overflowX?: 'visible' | 'hidden' | 'scroll' | 'auto'\n overflowY?: 'visible' | 'hidden' | 'scroll' | 'auto'\n \n // Polymorphic component support\n as?: React.ElementType\n \n // Standard props\n children?: React.ReactNode\n id?: string\n style?: React.CSSProperties\n 'data-testid'?: string\n}\n\n// Internal styled props interface (with $ prefix)\ninterface StyledBoxProps {\n $display?: BoxProps['display']\n $flexDirection?: BoxProps['flexDirection']\n $justifyContent?: BoxProps['justifyContent']\n $alignItems?: BoxProps['alignItems']\n $flexWrap?: BoxProps['flexWrap']\n $gap?: BoxProps['gap']\n $m?: BoxProps['m']\n $mt?: BoxProps['mt']\n $mr?: BoxProps['mr']\n $mb?: BoxProps['mb']\n $ml?: BoxProps['ml']\n $mx?: BoxProps['mx']\n $my?: BoxProps['my']\n $p?: BoxProps['p']\n $pt?: BoxProps['pt']\n $pr?: BoxProps['pr']\n $pb?: BoxProps['pb']\n $pl?: BoxProps['pl']\n $px?: BoxProps['px']\n $py?: BoxProps['py']\n $width?: BoxProps['width']\n $height?: BoxProps['height']\n $maxWidth?: BoxProps['maxWidth']\n $maxHeight?: BoxProps['maxHeight']\n $minWidth?: BoxProps['minWidth']\n $minHeight?: BoxProps['minHeight']\n $position?: BoxProps['position']\n $top?: BoxProps['top']\n $right?: BoxProps['right']\n $bottom?: BoxProps['bottom']\n $left?: BoxProps['left']\n $borderRadius?: BoxProps['borderRadius']\n $border?: BoxProps['border']\n $borderTop?: BoxProps['borderTop']\n $borderRight?: BoxProps['borderRight']\n $borderBottom?: BoxProps['borderBottom']\n $borderLeft?: BoxProps['borderLeft']\n $bg?: BoxProps['bg']\n $color?: BoxProps['color']\n $overflow?: BoxProps['overflow']\n $overflowX?: BoxProps['overflowX']\n $overflowY?: BoxProps['overflowY']\n}\n\nconst StyledBox = styled.div.withConfig({\n shouldForwardProp: (prop) => !prop.startsWith('$'),\n})<StyledBoxProps>`\n ${props => props.$display && css`display: ${props.$display};`}\n \n // Flexbox\n ${props => props.$flexDirection && css`flex-direction: ${props.$flexDirection};`}\n ${props => props.$justifyContent && css`justify-content: ${props.$justifyContent};`}\n ${props => props.$alignItems && css`align-items: ${props.$alignItems};`}\n ${props => props.$flexWrap && css`flex-wrap: ${props.$flexWrap};`}\n ${props => props.$gap && css`gap: ${tokens.semantic.spacing.layout[props.$gap]};`}\n \n // Margin\n ${props => props.$m && css`margin: ${tokens.semantic.spacing.layout[props.$m]};`}\n ${props => props.$mt && css`margin-top: ${tokens.semantic.spacing.layout[props.$mt]};`}\n ${props => props.$mr && css`margin-right: ${tokens.semantic.spacing.layout[props.$mr]};`}\n ${props => props.$mb && css`margin-bottom: ${tokens.semantic.spacing.layout[props.$mb]};`}\n ${props => props.$ml && css`margin-left: ${tokens.semantic.spacing.layout[props.$ml]};`}\n ${props => props.$mx && css`\n margin-left: ${tokens.semantic.spacing.layout[props.$mx]};\n margin-right: ${tokens.semantic.spacing.layout[props.$mx]};\n `}\n ${props => props.$my && css`\n margin-top: ${tokens.semantic.spacing.layout[props.$my]};\n margin-bottom: ${tokens.semantic.spacing.layout[props.$my]};\n `}\n \n // Padding\n ${props => props.$p && css`padding: ${tokens.semantic.spacing.layout[props.$p]};`}\n ${props => props.$pt && css`padding-top: ${tokens.semantic.spacing.layout[props.$pt]};`}\n ${props => props.$pr && css`padding-right: ${tokens.semantic.spacing.layout[props.$pr]};`}\n ${props => props.$pb && css`padding-bottom: ${tokens.semantic.spacing.layout[props.$pb]};`}\n ${props => props.$pl && css`padding-left: ${tokens.semantic.spacing.layout[props.$pl]};`}\n ${props => props.$px && css`\n padding-left: ${tokens.semantic.spacing.layout[props.$px]};\n padding-right: ${tokens.semantic.spacing.layout[props.$px]};\n `}\n ${props => props.$py && css`\n padding-top: ${tokens.semantic.spacing.layout[props.$py]};\n padding-bottom: ${tokens.semantic.spacing.layout[props.$py]};\n `}\n \n // Size\n ${props => props.$width && css`width: ${props.$width};`}\n ${props => props.$height && css`height: ${props.$height};`}\n ${props => props.$maxWidth && css`max-width: ${props.$maxWidth};`}\n ${props => props.$maxHeight && css`max-height: ${props.$maxHeight};`}\n ${props => props.$minWidth && css`min-width: ${props.$minWidth};`}\n ${props => props.$minHeight && css`min-height: ${props.$minHeight};`}\n \n // Position\n ${props => props.$position && css`position: ${props.$position};`}\n ${props => props.$top && css`top: ${props.$top};`}\n ${props => props.$right && css`right: ${props.$right};`}\n ${props => props.$bottom && css`bottom: ${props.$bottom};`}\n ${props => props.$left && css`left: ${props.$left};`}\n \n // Borders\n ${props => props.$borderRadius && css`border-radius: ${tokens.base.border.radius[props.$borderRadius]};`}\n ${props => props.$border && css`border: 1px solid ${tokens.semantic.color.border[props.$border]};`}\n ${props => props.$borderTop && css`border-top: 1px solid ${tokens.semantic.color.border[props.$borderTop]};`}\n ${props => props.$borderRight && css`border-right: 1px solid ${tokens.semantic.color.border[props.$borderRight]};`}\n ${props => props.$borderBottom && css`border-bottom: 1px solid ${tokens.semantic.color.border[props.$borderBottom]};`}\n ${props => props.$borderLeft && css`border-left: 1px solid ${tokens.semantic.color.border[props.$borderLeft]};`}\n \n // Background & Color\n ${props => props.$bg && css`background-color: ${tokens.semantic.color.background[props.$bg]};`}\n ${props => props.$color && css`color: ${tokens.semantic.color.text[props.$color]};`}\n \n // Overflow\n ${props => props.$overflow && css`overflow: ${props.$overflow};`}\n ${props => props.$overflowX && css`overflow-x: ${props.$overflowX};`}\n ${props => props.$overflowY && css`overflow-y: ${props.$overflowY};`}\n`\n\n// Transform component that maps clean props to $-prefixed props for styled-components\nconst BoxTransform: React.FC<BoxProps> = (props) => {\n const {\n // Display\n display,\n \n // Flexbox\n flexDirection,\n justifyContent,\n alignItems,\n flexWrap,\n gap,\n \n // Spacing\n m,\n mt,\n mr,\n mb,\n ml,\n mx,\n my,\n p,\n pt,\n pr,\n pb,\n pl,\n px,\n py,\n \n // Size\n width,\n height,\n maxWidth,\n maxHeight,\n minWidth,\n minHeight,\n \n // Position\n position,\n top,\n right,\n bottom,\n left,\n \n // Borders\n borderRadius,\n border,\n borderTop,\n borderRight,\n borderBottom,\n borderLeft,\n \n // Background & Color\n bg,\n color,\n \n // Overflow\n overflow,\n overflowX,\n overflowY,\n \n // Standard props\n as,\n children,\n 'data-testid': dataTestId,\n ...rest\n } = props\n\n return (\n <StyledBox\n as={as}\n data-testid={dataTestId}\n $display={display}\n $flexDirection={flexDirection}\n $justifyContent={justifyContent}\n $alignItems={alignItems}\n $flexWrap={flexWrap}\n $gap={gap}\n $m={m}\n $mt={mt}\n $mr={mr}\n $mb={mb}\n $ml={ml}\n $mx={mx}\n $my={my}\n $p={p}\n $pt={pt}\n $pr={pr}\n $pb={pb}\n $pl={pl}\n $px={px}\n $py={py}\n $width={width}\n $height={height}\n $maxWidth={maxWidth}\n $maxHeight={maxHeight}\n $minWidth={minWidth}\n $minHeight={minHeight}\n $position={position}\n $top={top}\n $right={right}\n $bottom={bottom}\n $left={left}\n $borderRadius={borderRadius}\n $border={border}\n $borderTop={borderTop}\n $borderRight={borderRight}\n $borderBottom={borderBottom}\n $borderLeft={borderLeft}\n $bg={bg}\n $color={color}\n $overflow={overflow}\n $overflowX={overflowX}\n $overflowY={overflowY}\n {...rest}\n >\n {children}\n </StyledBox>\n )\n}\n\nexport const Box = BoxTransform\n","import React, { FC, ReactElement } from 'react'\nimport styled from 'styled-components'\nimport tokens from '@/styles/tokens.json'\nimport iconsData from '@/styles/icons.json'\nimport { type IconName } from '../../../types/icons'\n\nexport type { IconName }\n\nexport interface IconProps {\n name: IconName\n size?: 'xs' | 'sm' | 'md' | 'lg' | 'xl' | '2xl'\n iconColor?: 'default' | 'emphasis' | 'subdued' | 'disabled' | 'inverse' | 'interactive' | 'error' | 'success' | 'warning' | 'inherit'\n 'data-testid'?: string\n}\n\ninterface StyledIconProps {\n $size: 'xs' | 'sm' | 'md' | 'lg' | 'xl' | '2xl'\n $iconColor: 'default' | 'emphasis' | 'subdued' | 'disabled' | 'inverse' | 'interactive' | 'error' | 'success' | 'warning' | 'inherit'\n}\n\nconst IconStyled = styled.span.withConfig({\n shouldForwardProp: (prop) => !prop.startsWith('$')\n})<StyledIconProps>`\n display: inline-flex;\n align-items: center;\n justify-content: center;\n width: ${({ $size }) => tokens.semantic.size.icon[$size]};\n height: ${({ $size }) => tokens.semantic.size.icon[$size]};\n \n svg {\n width: 100%;\n height: 100%;\n display: block;\n }\n \n /* Use semantic icon colors */\n color: ${({ $iconColor }) => {\n switch ($iconColor) {\n case 'default':\n return tokens.semantic.color.icon.default\n case 'emphasis':\n return tokens.semantic.color.icon.emphasis\n case 'subdued':\n return tokens.semantic.color.icon.subdued\n case 'disabled':\n return tokens.semantic.color.icon.disabled\n case 'inverse':\n return tokens.semantic.color.icon.inverse\n case 'interactive':\n return tokens.semantic.color.icon.interactive\n case 'error':\n return tokens.semantic.color.icon.error\n case 'success':\n return tokens.semantic.color.icon.success\n case 'warning':\n return tokens.semantic.color.icon.warning\n case 'inherit':\n return 'currentColor'\n default:\n return tokens.semantic.color.icon.default\n }\n }};\n`\n\nexport const Icon: FC<IconProps> = ({\n name,\n size = 'lg',\n iconColor = 'default',\n 'data-testid': dataTestId\n}): ReactElement => {\n // Get the icon data from the JSON file\n const iconData = iconsData[name]\n \n if (!iconData) {\n console.warn(`Icon \"${name}\" not found in icons.json`)\n return <IconStyled $size={size} $iconColor={iconColor} data-testid={dataTestId} />\n }\n \n return (\n <IconStyled $size={size} $iconColor={iconColor} data-testid={dataTestId}>\n <svg\n viewBox=\"0 0 24 24\"\n fill=\"currentColor\"\n xmlns=\"http://www.w3.org/2000/svg\"\n role=\"img\"\n aria-label={iconData.name}\n >\n <path d={iconData.path} />\n </svg>\n </IconStyled>\n )\n}\n\nexport default Icon","import React from 'react'\nimport styled from 'styled-components'\nimport tokens from '@/styles/tokens.json'\nimport { Icon, type IconName } from '../Icon'\n\nconst { component: { button }, semantic } = tokens\n\n// Base props shared between button and link\nexport interface BaseButtonProps {\n variant?: 'primary' | 'secondary' | 'naked'\n size?: 'small' | 'medium' | 'large'\n url?: string\n purpose?: 'button' | 'link'\n target?: string\n children: React.ReactNode\n iconName?: IconName\n id?: string\n 'data-testid'?: string\n /**\n * Custom link component (e.g., Next.js Link, React Router Link)\n * Receives href, children, and other props\n * @example linkComponent={NextLink} or linkComponent={ReactRouterLink}\n */\n linkComponent?: React.ComponentType<any>\n}\n\n// Button-specific props\nexport interface ButtonProps extends BaseButtonProps, Omit<React.ButtonHTMLAttributes<HTMLButtonElement>, keyof BaseButtonProps> {\n purpose?: 'button'\n}\n\n// Link-specific props\nexport interface LinkProps extends BaseButtonProps, Omit<React.AnchorHTMLAttributes<HTMLAnchorElement>, keyof BaseButtonProps> {\n purpose: 'link'\n}\n\n// Union type for the component\ntype CustomButtonProps = ButtonProps | LinkProps\n\ninterface StyledButtonProps {\n $variant: 'primary' | 'secondary' | 'naked'\n $size: 'small' | 'medium' | 'large'\n}\n\n// Base styles shared between button and link\nconst baseButtonStyles = `\n box-sizing: border-box;\n display: inline-flex;\n align-items: center;\n justify-content: center;\n gap: ${tokens.semantic.spacing.layout.xs};\n height: max-content;\n cursor: pointer;\n border: none;\n text-decoration: none;\n transition: ${semantic.motion.hover};\n white-space: nowrap;\n user-select: none;\n \n &:focus {\n outline: ${button.focus.outline};\n outline-offset: ${button.focus.outlineOffset};\n }\n\n &:disabled {\n cursor: not-allowed;\n }\n`\n\n// Dynamic variant styles using component tokens\nconst getVariantStyles = ({ $variant }: StyledButtonProps) => `\n background-color: ${\n $variant === 'primary' \n ? button.primary.backgroundColor \n : $variant === 'secondary'\n ? button.variants.secondary.backgroundColor\n : button.variants.naked.backgroundColor\n };\n color: ${\n $variant === 'primary' \n ? button.primary.textColor \n : $variant === 'secondary'\n ? button.variants.secondary.textColor\n : button.variants.naked.textColor\n };\n \n &:hover:not(:disabled) {\n background-color: ${\n $variant === 'primary' \n ? button.hover.backgroundColor \n : $variant === 'secondary'\n ? button.variants.secondary.hover.backgroundColor\n : button.variants.naked.hover.backgroundColor\n };\n }\n\n &:active:not(:disabled) {\n background-color: ${\n $variant === 'primary' \n ? button.active.backgroundColor \n : $variant === 'secondary'\n ? button.variants.secondary.active.backgroundColor\n : button.variants.naked.active.backgroundColor\n };\n }\n\n &:disabled {\n background-color: ${\n $variant === 'primary' \n ? button.disabled.backgroundColor \n : $variant === 'secondary'\n ? button.variants.secondary.disabled.backgroundColor\n : button.variants.naked.disabled.backgroundColor\n };\n color: ${\n $variant === 'primary' \n ? button.disabled.textColor \n : $variant === 'secondary'\n ? button.variants.secondary.disabled.textColor\n : button.variants.naked.disabled.textColor\n };\n }\n`\n\n// Dynamic size styles using component tokens\nconst getSizeStyles = ({ $size }: StyledButtonProps) => {\n switch ($size) {\n case 'small':\n return `\n font: ${button.sizes.small.font};\n padding: ${button.sizes.small.padding};\n `\n case 'medium':\n return `\n font: ${button.sizes.medium.font};\n padding: ${button.sizes.medium.padding};\n `\n case 'large':\n return `\n font: ${button.sizes.large.font};\n padding: ${button.sizes.large.padding};\n `\n default:\n return `\n font: ${button.sizes.large.font};\n padding: ${button.sizes.large.padding};\n `\n }\n}\n\nconst StyledButton = styled.button.withConfig({\n shouldForwardProp: (prop) => !prop.startsWith('$')\n})<StyledButtonProps>`\n ${baseButtonStyles}\n border-radius: ${button.primary.borderRadius};\n \n ${getVariantStyles}\n ${getSizeStyles}\n`\n\nconst StyledLink = styled.a.withConfig({\n shouldForwardProp: (prop) => !prop.startsWith('$')\n})<StyledButtonProps>`\n ${baseButtonStyles}\n border-radius: ${button.primary.borderRadius};\n \n ${getVariantStyles}\n ${getSizeStyles}\n`\n\n// Helper function to get icon size based on button size\nconst getIconSize = (buttonSize?: 'small' | 'medium' | 'large'): 'xs' | 'sm' | 'md' => {\n switch (buttonSize) {\n case 'small':\n return 'xs'\n case 'medium':\n return 'sm'\n case 'large':\n return 'md'\n default:\n return 'md'\n }\n}\n\n// Helper function to render button content with optional icon\nconst renderButtonContent = (children: React.ReactNode, iconName?: IconName, size?: 'small' | 'medium' | 'large') => {\n if (!iconName) return children\n \n const iconSize = getIconSize(size)\n \n return (\n <>\n <Icon name={iconName} size={iconSize} iconColor=\"inherit\" />\n {children}\n </>\n )\n}\n\nexport const Button: React.FC<CustomButtonProps> = ({ \n variant = \"primary\", \n size = \"large\", \n url, \n purpose = 'button', \n children, \n target,\n iconName,\n linkComponent: LinkComponent,\n 'data-testid': dataTestId,\n ...rest \n}) => {\n // For links with custom link component (e.g., Next.js Link, React Router Link)\n if (purpose === 'link' && url && LinkComponent) {\n return (\n <LinkComponent href={url}>\n <StyledLink \n as=\"span\"\n $variant={variant} \n $size={size} \n data-testid={dataTestId}\n >\n {renderButtonContent(children, iconName, size)}\n </StyledLink>\n </LinkComponent>\n )\n }\n \n // For standard links (external or without custom component)\n if (purpose === 'link' && url) {\n const linkProps = rest as Omit<React.AnchorHTMLAttributes<HTMLAnchorElement>, keyof BaseButtonProps>\n return (\n <StyledLink \n href={url} \n target={target} \n $variant={variant} \n $size={size}\n data-testid={dataTestId}\n {...linkProps}\n >\n {renderButtonContent(children, iconName, size)}\n </StyledLink>\n )\n }\n \n // For button with URL (legacy support)\n if (purpose === 'button' && url) {\n const buttonProps = rest as Omit<React.ButtonHTMLAttributes<HTMLButtonElement>, keyof BaseButtonProps>\n const handleClick = (e: React.MouseEvent<HTMLButtonElement>) => {\n // Call any existing onClick handler first\n if (buttonProps.onClick) {\n buttonProps.onClick(e)\n }\n \n // Handle navigation\n if (url.startsWith('http') || target) {\n window.open(url, target || '_self')\n } else {\n window.location.href = url\n }\n }\n \n return (\n <StyledButton \n {...buttonProps}\n $variant={variant} \n $size={size}\n data-testid={dataTestId}\n onClick={handleClick}\n >\n {renderButtonContent(children, iconName, size)}\n </StyledButton>\n )\n }\n \n // Regular button\n const buttonProps = rest as Omit<React.ButtonHTMLAttributes<HTMLButtonElement>, keyof BaseButtonProps>\n return (\n <StyledButton \n $variant={variant} \n $size={size}\n data-testid={dataTestId}\n {...buttonProps}\n >\n {renderButtonContent(children, iconName, size)}\n </StyledButton>\n )\n}\n","import tokens from '../../../../styles/tokens.json'\nimport { ChipVariant, BaseChipProps } from './types'\n\nconst { component: { chip } } = tokens\n\n// Helper function to get variant styles as objects for CSS custom properties\nexport const getVariantStylesAsObject = (variant: ChipVariant, selected?: boolean) => {\n // Boolean chips with selected state get special background\n if (selected) {\n return {\n backgroundColor: tokens.semantic.color.background['interactive-subtle'],\n color: chip.default.textColor\n }\n }\n \n switch (variant) {\n case 'emphasis':\n return {\n backgroundColor: chip.variants.emphasis.backgroundColor,\n color: chip.variants.emphasis.textColor\n }\n case 'subtle':\n return {\n backgroundColor: chip.variants.subtle.backgroundColor,\n color: chip.variants.subtle.textColor\n }\n case 'interactive':\n return {\n backgroundColor: chip.variants.interactive.backgroundColor,\n color: chip.variants.interactive.textColor\n }\n case 'default':\n default:\n return {\n backgroundColor: chip.default.backgroundColor,\n color: chip.default.textColor\n }\n }\n}\n\n// Helper function to get size styles as objects for CSS custom properties\nexport const getSizeStylesAsObject = (size: BaseChipProps['size']) => {\n switch (size) {\n case 'small':\n return {\n font: chip.sizes.small.font,\n padding: chip.sizes.small.padding\n }\n case 'medium':\n default:\n return {\n font: chip.sizes.medium.font,\n padding: chip.sizes.medium.padding\n }\n }\n}\n\n// Export chip tokens for reuse\nexport { chip as chipTokens }\n","import React from 'react'\nimport styled from 'styled-components'\nimport tokens from '../../../../styles/tokens.json'\nimport { InternalStyledProps } from './types'\nimport { getVariantStylesAsObject, getSizeStylesAsObject, chipTokens } from './utils'\n\n// Base styled component using CSS variables to avoid prop leaking\nexport const BaseChipStyled = styled.span.withConfig({\n shouldForwardProp: (prop) => !prop.startsWith('$')\n})`\n display: inline-flex;\n align-items: center;\n justify-content: center;\n width: fit-content;\n height: max-content;\n border-radius: 12px;\n box-sizing: border-box;\n user-select: none;\n white-space: nowrap;\n transition: width ${tokens.semantic.motion.interactive};\n \n /* Use CSS custom properties set by wrapper */\n background-color: var(--chip-bg-color);\n color: var(--chip-text-color);\n font: var(--chip-font);\n padding: var(--chip-padding);\n opacity: var(--chip-opacity, 1);\n cursor: var(--chip-cursor, default);\n \n &:hover {\n opacity: var(--chip-hover-opacity, var(--chip-opacity, 1));\n }\n \n &:active {\n opacity: var(--chip-active-opacity, var(--chip-opacity, 1));\n }\n \n &:focus-visible {\n outline: 2px solid ${chipTokens.variants.interactive.backgroundColor};\n outline-offset: 2px;\n }\n`\n\n// Icon container for selected indicator or leading icons\nexport const IconContainer = styled.span`\n display: inline-flex;\n align-items: center;\n margin-right: ${tokens.semantic.spacing.layout.sm};\n`\n\n// Close button for dismissible chips\nexport const CloseButton = styled.button.withConfig({\n shouldForwardProp: (prop) => !prop.startsWith('$')\n})<{ $disabled?: boolean }>`\n display: inline-flex;\n align-items: center;\n justify-content: center;\n margin-left: ${tokens.semantic.spacing.layout.sm};\n background: transparent;\n border: none;\n padding: 0;\n cursor: ${props => props.$disabled ? 'not-allowed' : 'pointer'};\n opacity: ${props => props.$disabled ? '0.6' : '1'};\n color: inherit;\n transition: ${tokens.semantic.motion.transition.fast};\n \n &:hover:not(:disabled) {\n opacity: 0.7;\n }\n \n &:active:not(:disabled) {\n opacity: 0.9;\n }\n \n &:focus-visible {\n outline: 2px solid ${chipTokens.variants.interactive.backgroundColor};\n outline-offset: 2px;\n border-radius: 2px;\n }\n`\n\n// Wrapper component that applies styles via CSS custom properties\nexport const StyledChipWrapper: React.FC<React.PropsWithChildren<InternalStyledProps & React.HTMLAttributes<HTMLSpanElement>>> = ({\n $variant,\n $size,\n $disabled,\n $clickable,\n $selected,\n children,\n style,\n ...htmlProps\n}) => {\n // Get styles for variant and size\n const variantStyles = getVariantStylesAsObject($variant, $selected)\n const sizeStyles = getSizeStylesAsObject($size)\n \n // Create CSS custom properties object\n const cssProps = {\n '--chip-bg-color': variantStyles.backgroundColor,\n '--chip-text-color': variantStyles.color,\n '--chip-font': sizeStyles.font,\n '--chip-padding': sizeStyles.padding,\n '--chip-opacity': $disabled ? '0.6' : '1',\n '--chip-cursor': $disabled ? 'not-allowed' : ($clickable ? 'pointer' : 'default'),\n '--chip-hover-opacity': $disabled ? '0.6' : ($clickable ? '0.8' : '1'),\n '--chip-active-opacity': $disabled ? '0.6' : ($clickable ? '0.9' : '1')\n }\n \n return (\n <BaseChipStyled\n style={{ ...cssProps, ...style }}\n {...htmlProps}\n >\n {children}\n </BaseChipStyled>\n )\n}\n","import React from 'react'\nimport { BaseChipProps, ChipVariant, LegacyVariant } from './shared/types'\nimport { StyledChipWrapper } from './shared/ChipBase'\n\nexport interface ChipProps extends BaseChipProps {\n /** Visual style variant */\n variant?: ChipVariant | LegacyVariant\n /** Click handler for interactive chips */\n onClick?: () => void\n /** Custom ARIA role override */\n role?: string\n /** Legacy title prop for backward compatibility */\n title?: string\n}\n\n/**\n * Chip - Compact element for displaying tags, categories, and labels\n * \n * Use this component for static display chips or simple interactive chips.\n * For specialized filtering patterns, use:\n * - FilterChip: Dismissible chips for showing applied filters\n * - BooleanChip: Toggleable chips for quick filter controls\n * \n * Variants:\n * - default: Standard gray background\n * - emphasis: High-contrast dark background\n * - subtle: Light background for secondary info\n * - interactive: Blue background with hover states\n */\nexport const Chip: React.FC<ChipProps> = ({\n children,\n variant = 'default',\n size = 'medium',\n onClick,\n disabled = false,\n 'data-testid': dataTestId,\n 'aria-label': ariaLabel,\n 'aria-describedby': ariaDescribedBy,\n role,\n title,\n ...props\n}) => {\n const isClickable = Boolean(onClick && !disabled)\n \n // Map legacy variants to new variants\n const normalizedVariant: ChipVariant = \n variant === 'light' ? 'default' :\n variant === 'dark' ? 'emphasis' :\n variant as ChipVariant\n \n // Support legacy title prop\n const content = children !== undefined ? children : title\n \n const handleClick = () => {\n if (onClick && !disabled) {\n onClick()\n }\n }\n \n const handleKeyDown = (event: React.KeyboardEvent) => {\n if (isClickable && (event.key === 'Enter' || event.key === ' ')) {\n event.preventDefault()\n handleClick()\n }\n }\n \n return (\n <StyledChipWrapper\n $variant={normalizedVariant}\n $size={size}\n $disabled={disabled || undefined}\n $clickable={isClickable || undefined}\n onClick={isClickable ? handleClick : undefined}\n onKeyDown={handleKeyDown}\n tabIndex={isClickable ? 0 : undefined}\n role={role || (isClickable ? 'button' : undefined)}\n aria-label={ariaLabel}\n aria-describedby={ariaDescribedBy}\n aria-disabled={disabled ? 'true' : undefined}\n data-testid={dataTestId}\n {...props}\n >\n {content}\n </StyledChipWrapper>\n )\n}\n\n// Legacy component for backward compatibility\nexport interface LegacyChipProps {\n title: string\n variant?: LegacyVariant\n}\n\nexport const LegacyChip: React.FC<LegacyChipProps> = ({ title, variant = 'light' }) => {\n const newVariant = variant === 'dark' ? 'emphasis' : 'default'\n return <Chip variant={newVariant}>{title}</Chip>\n}\n","import React from 'react'\nimport { Icon } from '../Icon'\nimport { BaseChipProps } from './shared/types'\nimport { StyledChipWrapper, IconContainer, CloseButton } from './shared/ChipBase'\n\nexport interface FilterChipProps extends BaseChipProps {\n /** Whether the filter is in selected/applied state */\n selected?: boolean\n /** Callback function when the chip is dismissed via close button or keyboard */\n onDismiss?: () => void\n /** Custom ARIA role override */\n role?: string\n}\n\n/**\n * FilterChip - Chip for displaying filters with selected state and optional dismissal\n * \n * Use this component to show filters that can be selected/deselected.\n * When selected, displays a checkmark and light blue background.\n * Optionally dismissible when onDismiss is provided.\n * \n * Features:\n * - Shows checkmark icon when selected\n * - Light blue background when selected\n * - Optional close (×) button when onDismiss is provided\n * - Keyboard dismissal with Delete or Backspace keys (when dismissible)\n * - Non-clickable body (only close button is interactive when present)\n * - Uses subtle/interactive background styling based on selected state\n * - Announces as \"status\" to screen readers\n */\nexport const FilterChip: React.FC<FilterChipProps> = ({\n children,\n selected = false,\n onDismiss,\n size = 'medium',\n disabled = false,\n 'data-testid': dataTestId,\n 'aria-label': ariaLabel,\n 'aria-describedby': ariaDescribedBy,\n role,\n ...props\n}) => {\n const isDismissible = Boolean(onDismiss)\n \n const handleDismiss = (event: React.MouseEvent) => {\n event.stopPropagation() // Prevent event bubbling\n if (!disabled && onDismiss) {\n onDismiss()\n }\n }\n \n const handleKeyDown = (event: React.KeyboardEvent) => {\n // Handle dismiss with Delete or Backspace (only when dismissible)\n if (!disabled && isDismissible && onDismiss && (event.key === 'Delete' || event.key === 'Backspace')) {\n event.preventDefault()\n onDismiss()\n }\n }\n \n const handleCloseKeyDown = (event: React.KeyboardEvent) => {\n if (event.key === 'Enter' || event.key === ' ') {\n event.preventDefault()\n if (!disabled && onDismiss) onDismiss()\n }\n }\n \n // Generate accessible label for close button\n const closeButtonLabel = typeof children === 'string' ? `Remove ${children}` : 'Remove filter'\n \n return (\n <StyledChipWrapper\n $variant=\"subtle\"\n $size={size}\n $disabled={disabled || undefined}\n $clickable={false}\n $selected={selected}\n onKeyDown={handleKeyDown}\n role={role || 'status'}\n aria-label={ariaLabel}\n aria-describedby={ariaDescribedBy}\n aria-disabled={disabled ? 'true' : undefined}\n data-testid={dataTestId}\n {...props}\n >\n {/* Show selected indicator when selected */}\n {selected && (\n <IconContainer aria-hidden=\"true\">\n <Icon name=\"check\" size=\"sm\" />\n </IconContainer>\n )}\n \n {children}\n \n {/* Show close button only when dismissible */}\n {isDismissible && (\n <CloseButton\n type=\"button\"\n onClick={handleDismiss}\n onKeyDown={handleCloseKeyDown}\n disabled={disabled}\n $disabled={disabled}\n aria-label={closeButtonLabel}\n tabIndex={0}\n data-testid={dataTestId ? `${dataTestId}-close` : undefined}\n >\n <Icon name=\"close\" size=\"sm\" />\n </CloseButton>\n )}\n </StyledChipWrapper>\n )\n}\n","import React from 'react'\nimport { Icon } from '../Icon'\nimport { BaseChipProps } from './shared/types'\nimport { StyledChipWrapper, IconContainer } from './shared/ChipBase'\n\nexport interface BooleanChipProps extends BaseChipProps {\n /** Whether the chip is in selected state */\n selected: boolean\n /** Callback function when the chip is clicked/toggled */\n onClick: () => void\n}\n\n/**\n * BooleanChip - Toggleable chip for quick filter controls\n * \n * Use this component for multi-select filter controls where users can\n * see which options are active. Common in table filtering patterns where\n * users toggle filters on/off.\n * \n * Features:\n * - Shows checkmark icon when selected\n * - Entire chip is clickable to toggle\n * - Keyboard activation with Space or Enter\n * - Uses checkbox role with aria-checked\n * - Visual background change when selected\n */\nexport const BooleanChip: React.FC<BooleanChipProps> = ({\n children,\n selected,\n onClick,\n size = 'medium',\n disabled = false,\n 'data-testid': dataTestId,\n 'aria-label': ariaLabel,\n 'aria-describedby': ariaDescribedBy,\n ...props\n}) => {\n const handleClick = () => {\n if (!disabled) {\n onClick()\n }\n }\n \n const handleKeyDown = (event: React.KeyboardEvent) => {\n // Handle activation with Space or Enter\n if (event.key === 'Enter' || event.key === ' ') {\n event.preventDefault()\n handleClick()\n }\n }\n \n return (\n <StyledChipWrapper\n $variant=\"subtle\"\n $size={size}\n $disabled={disabled || undefined}\n $clickable={!disabled}\n $selected={selected}\n onClick={handleClick}\n onKeyDown={handleKeyDown}\n tabIndex={disabled ? undefined : 0}\n role=\"checkbox\"\n aria-checked={selected ? 'true' : 'false'}\n aria-label={ariaLabel}\n aria-describedby={ariaDescribedBy}\n aria-disabled={disabled ? 'true' : undefined}\n data-testid={dataTestId}\n {...props}\n >\n {/* Show selected indicator when selected */}\n {selected && (\n <IconContainer aria-hidden=\"true\">\n <Icon name=\"check\" size=\"sm\" />\n </IconContainer>\n )}\n \n {children}\n </StyledChipWrapper>\n )\n}\n","import tokens from '../styles/tokens.json'\n\n// Breakpoints using base tokens\nexport const breakpoints = {\n xs: tokens.base.breakpoint.xs,\n sm: tokens.base.breakpoint.sm,\n md: tokens.base.breakpoint.md,\n lg: tokens.base.breakpoint.lg,\n xl: tokens.base.breakpoint.xl,\n '2xl': tokens.base.breakpoint['2xl'],\n}\n\n// Media query helpers\nexport const media = {\n xs: `@media (min-width: ${breakpoints.xs})`,\n sm: `@media (min-width: ${breakpoints.sm})`,\n md: `@media (min-width: ${breakpoints.md})`,\n lg: `@media (min-width: ${breakpoints.lg})`,\n xl: `@media (min-width: ${breakpoints.xl})`,\n '2xl': `@media (min-width: ${breakpoints['2xl']})`,\n}\n\n// Re-export tokens for convenience\nexport { tokens }\nexport default tokens\n","import React from 'react'\nimport styled from 'styled-components'\nimport { media } from '../../../lib/styleUtils'\nimport tokens from '@/styles/tokens.json'\n\nconst { semantic: { spacing } } = tokens\n\nexport type ContainerProps = {\n children?: React.ReactNode\n 'data-testid'?: string\n} & React.HTMLAttributes<HTMLDivElement>\n\nconst StyledContainer = styled.div`\n width: 100%;\n margin-left: auto;\n margin-right: auto;\n padding-left: ${spacing.layout['2xl']};\n padding-right: ${spacing.layout['2xl']};\n \n ${media.sm} {\n max-width: 640px;\n }\n \n ${media.md} {\n max-width: 768px;\n }\n \n ${media.lg} {\n max-width: 1024px;\n }\n \n ${media.xl} {\n max-width: 1280px;\n }\n \n ${media['2xl']} {\n max-width: 1536px;\n }\n`\n\nexport const Container = ({ children, ...props }: ContainerProps) => {\n return <StyledContainer {...props}>{children}</StyledContainer>\n}","import React from 'react'\nimport styled from 'styled-components'\nimport tokens from '@/styles/tokens.json'\nimport { media } from '../../../lib/styleUtils'\n\nconst { base } = tokens\n\ntype PictureProps = {\n title: string\n src: string\n width?: number\n height?: number\n onClick?: () => void\n href?: string\n 'data-testid'?: string\n}\n\nconst PictureWrapper = styled.div`\n margin: 0 auto;\n \n ${media.sm} {\n margin-left: 0;\n margin-right: 0;\n }\n`\n\nconst ImageLink = styled.a`\n display: block;\n cursor: pointer;\n transition: opacity ${base.duration.normal} ${base.easing.easeInOut};\n \n &:hover {\n opacity: 0.8;\n }\n`\n\nconst ImageButton = styled.button`\n border: none;\n background: none;\n padding: 0;\n cursor: pointer;\n display: block;\n width: 100%;\n transition: opacity ${base.duration.normal} ${base.easing.easeInOut};\n \n &:hover {\n opacity: 0.8;\n }\n`\n\nconst StyledImage = styled.img`\n width: 100%;\n height: auto;\n border-radius: ${base.border.radius[2]};\n display: block;\n`\n\nexport const Picture: React.FC<PictureProps> = ({ \n title, \n src, \n width = 1300, \n height = 630,\n onClick,\n href,\n 'data-testid': dataTestId\n}) => {\n const image = (\n <StyledImage\n src={src}\n alt={title}\n width={width}\n height={height}\n />\n )\n\n return (\n <PictureWrapper data-testid={dataTestId}>\n {href ? (\n <ImageLink href={href} aria-label={`Read more about ${title}`}>\n {image}\n </ImageLink>\n ) : onClick ? (\n <ImageButton onClick={onClick} aria-label={`Read more about ${title}`}>\n {image}\n </ImageButton>\n ) : (\n image\n )}\n </PictureWrapper>\n )\n}\n","import React from 'react'\nimport { parseISO, format } from 'date-fns'\nimport styled from 'styled-components'\nimport tokens from '@/styles/tokens.json'\n\nconst { semantic: { typography, color } } = tokens\n\nexport interface DateFormatterProps {\n /** ISO date string to format */\n dateString: string\n /** Format pattern (defaults to 'yyyy') */\n formatString?: string\n /** Optional data-testid for testing */\n 'data-testid'?: string\n}\n\nconst TimeStyled = styled.time`\n font: ${typography.label};\n color: ${color.text.subdued};\n`\n\nexport const DateFormatter: React.FC<DateFormatterProps> = ({ \n dateString, \n formatString = 'yyyy',\n 'data-testid': dataTestId\n}) => {\n const date = parseISO(dateString)\n return (\n <TimeStyled dateTime={dateString} data-testid={dataTestId}>\n {format(date, formatString)}\n </TimeStyled>\n )\n}","import React from 'react'\nimport styled from 'styled-components'\nimport { Icon, type IconName } from '../Icon'\nimport tokens from '@/styles/tokens.json'\n\nconst { semantic: { motion }, component: { iconButton } } = tokens\n\nexport interface IconButtonProps extends Omit<React.ButtonHTMLAttributes<HTMLButtonElement>, 'onClick'> {\n variant: 'primary' | 'secondary' | 'naked'\n size?: 'small' | 'medium' | 'large'\n iconName: IconName\n url?: string\n onClick?: () => void\n // Accessibility props\n 'aria-label': string // Required for screen readers\n 'aria-describedby'?: string\n 'aria-expanded'?: boolean\n 'aria-pressed'?: boolean\n 'data-testid'?: string\n}\n\ninterface StyledButtonProps {\n $variant: 'primary' | 'secondary' | 'naked'\n $size: 'small' | 'medium' | 'large'\n}\n\nconst IconButtonStyled = styled.button.withConfig({\n shouldForwardProp: (prop) => !prop.startsWith('$')\n})<StyledButtonProps>`\n background-color: ${({ $variant }) => {\n switch ($variant) {\n case 'primary':\n return iconButton.primary.backgroundColor\n case 'secondary':\n return iconButton.variants.secondary.backgroundColor\n case 'naked':\n return iconButton.variants.naked.backgroundColor\n default:\n return iconButton.primary.backgroundColor\n }\n }};\n border: none;\n border-radius: ${iconButton.primary.borderRadius};\n transition: ${motion.transition.normal};\n box-sizing: border-box;\n display: ${iconButton.primary.display};\n justify-content: ${iconButton.primary.justifyContent};\n align-items: ${iconButton.primary.alignItems};\n height: max-content;\n cursor: pointer;\n position: relative;\n\n /* Size-specific dimensions from component tokens */\n min-width: ${({ $size }) => iconButton.sizes[$size].minWidth};\n min-height: ${({ $size }) => iconButton.sizes[$size].minHeight};\n padding: ${({ $size }) => iconButton.sizes[$size].padding};\n\n &:hover {\n background-color: ${({ $variant }) => {\n switch ($variant) {\n case 'primary':\n return iconButton.hover.backgroundColor\n case 'secondary':\n return iconButton.variants.secondary.hover.backgroundColor\n case 'naked':\n return iconButton.variants.naked.hover.backgroundColor\n default:\n return iconButton.hover.backgroundColor\n }\n }};\n }\n\n &:active {\n background-color: ${iconButton.active.backgroundColor};\n }\n\n &:focus {\n outline: ${iconButton.focus.outline};\n outline-offset: ${iconButton.focus.outlineOffset};\n }\n\n &:disabled {\n background-color: ${iconButton.disabled.backgroundColor};\n cursor: not-allowed;\n }\n\n /* High contrast mode support */\n @media (prefers-contrast: high) {\n border: 1px solid;\n }\n\n /* Reduced motion support */\n @media (prefers-reduced-motion: reduce) {\n transition: none;\n }\n`\n\nexport const IconButton: React.FC<IconButtonProps> = ({ \n variant, \n size = 'medium', \n url, \n iconName = 'close',\n onClick,\n 'aria-label': ariaLabel,\n 'aria-describedby': ariaDescribedBy,\n 'aria-expanded': ariaExpanded,\n 'aria-pressed': ariaPressed,\n 'data-testid': dataTestId,\n disabled,\n type = 'button',\n ...htmlProps \n}) => {\n const handleClick = (event: React.MouseEvent<HTMLButtonElement>) => {\n // Prevent default if disabled\n if (disabled) {\n event.preventDefault()\n return\n }\n\n if (onClick) {\n onClick()\n } else if (url && url.trim() !== '') {\n // Use proper navigation instead of direct href assignment\n if (url.startsWith('http') || url.startsWith('//')) {\n window.open(url, '_blank', 'noopener,noreferrer')\n } else {\n window.location.assign(url)\n }\n }\n }\n\n const handleKeyDown = (event: React.KeyboardEvent<HTMLButtonElement>) => {\n // Handle keyboard activation (Enter and Space)\n if (disabled) return\n \n if (event.key === 'Enter' || event.key === ' ') {\n event.preventDefault()\n handleClick(event as any)\n }\n }\n\n const iconSize = size === 'large' ? 'lg' : size === 'small' ? 'sm' : 'md'\n \n const getIconColor = (variant: 'primary' | 'secondary' | 'naked') => {\n switch (variant) {\n case 'primary':\n return 'inverse'\n case 'secondary':\n return 'default'\n case 'naked':\n return 'default'\n default:\n return 'default'\n }\n }\n\n return (\n <IconButtonStyled \n $variant={variant} \n $size={size} \n onClick={handleClick}\n onKeyDown={handleKeyDown}\n disabled={disabled}\n type={type}\n role=\"button\"\n aria-label={ariaLabel}\n aria-describedby={ariaDescribedBy}\n aria-expanded={ariaExpanded}\n aria-pressed={ariaPressed}\n aria-disabled={disabled}\n tabIndex={disabled ? -1 : 0}\n data-testid={dataTestId}\n {...htmlProps}\n >\n <Icon \n name={iconName} \n size={iconSize} \n iconColor={getIconColor(variant)}\n aria-hidden=\"true\" // Hide icon from screen readers since button has aria-label\n />\n </IconButtonStyled>\n )\n}\n","import React from 'react'\nimport styled, { css } from 'styled-components'\nimport tokens from '../../../styles/tokens.json'\n\nexport interface ProgressBarProps {\n /** Progress value from 0 to 100 */\n value: number\n /** Orientation of the progress bar */\n variant?: 'horizontal' | 'vertical'\n /** Color variant for the progress bar */\n color?: 'success' | 'error' | 'default'\n /** Height size for horizontal progress bar (default: md) */\n height?: 'sm' | 'md' | 'lg' | 'xl'\n /** Width size for vertical progress bar (default: md) */\n width?: 'sm' | 'md' | 'lg' | 'xl'\n /** Data attribute for testing */\n 'data-testid'?: string\n}\n\ninterface StyledProgressBarContainerProps {\n $variant: 'horizontal' | 'vertical'\n $height?: 'sm' | 'md' | 'lg' | 'xl'\n $width?: 'sm' | 'md' | 'lg' | 'xl'\n}\n\ninterface StyledProgressBarFillProps {\n $value: number\n $variant: 'horizontal' | 'vertical'\n $color: 'success' | 'error' | 'default'\n}\n\nconst ProgressBarContainer = styled.div.withConfig({\n shouldForwardProp: (prop) => !prop.startsWith('$')\n})<StyledProgressBarContainerProps>`\n background-color: ${tokens.semantic.color.background.disabled};\n border-radius: ${tokens.base.border.radius[1]};\n overflow: hidden;\n\n ${props => props.$variant === 'horizontal' && css`\n width: 100%;\n height: ${props.$height ? tokens.component.progressBar.sizes[props.$height].height : tokens.component.progressBar.sizes.md.height};\n `}\n\n ${props => props.$variant === 'vertical' && css`\n width: ${props.$width ? tokens.component.progressBar.sizes[props.$width].height : tokens.component.progressBar.sizes.md.height};\n height: 100%;\n `}\n`\n\nconst ProgressBarFill = styled.div.withConfig({\n shouldForwardProp: (prop) => !prop.startsWith('$')\n})<StyledProgressBarFillProps>`\n height: 100%;\n transition: ${tokens.semantic.motion.transition.normal};\n\n ${props => {\n let backgroundColor\n switch (props.$color) {\n case 'success':\n backgroundColor = tokens.semantic.color.background.success\n break\n case 'error':\n backgroundColor = tokens.semantic.color.background.error\n break\n case 'default':\n default:\n backgroundColor = tokens.semantic.color.background.interactive\n break\n }\n return css`background-color: ${backgroundColor};`\n }}\n\n ${props => props.$variant === 'horizontal' && css`\n width: ${Math.min(100, Math.max(0, props.$value))}%;\n `}\n\n ${props => props.$variant === 'vertical' && css`\n width: 100%;\n height: ${Math.min(100, Math.max(0, props.$value))}%;\n `}\n`\n\nexport const ProgressBar: React.FC<ProgressBarProps> = ({\n value,\n variant = 'horizontal',\n color = 'default',\n height,\n width,\n 'data-testid': dataTestId,\n}) => {\n return (\n <ProgressBarContainer\n $variant={variant}\n $height={height}\n $width={width}\n data-testid={dataTestId}\n role=\"progressbar\"\n aria-valuenow={Math.min(100, Math.max(0, value))}\n aria-valuemin={0}\n aria-valuemax={100}\n >\n <ProgressBarFill\n $value={value}\n $variant={variant}\n $color={color}\n />\n </ProgressBarContainer>\n )\n}\n\nexport default ProgressBar\n","import React from 'react'\nimport styled from 'styled-components'\nimport tokens from '@/styles/tokens.json'\n\nexport interface DividerProps {\n /** Variant style of the divider */\n variant?: 'default' | 'strong' | 'minimal'\n /** Size variation affecting spacing */\n size?: 'small' | 'medium' | 'large' | 'xlarge'\n /** Orientation of the divider */\n orientation?: 'horizontal' | 'vertical'\n /** Data test id for testing */\n 'data-testid'?: string\n}\n\ninterface StyledDividerProps {\n $variant: DividerProps['variant']\n $size: DividerProps['size']\n $orientation: DividerProps['orientation']\n}\n\nconst StyledDivider = styled.div.withConfig({\n shouldForwardProp: (prop) => !prop.startsWith('$')\n})<StyledDividerProps>`\n border: none;\n \n /* Apply orientation */\n ${({ $orientation = 'horizontal' }) => {\n if ($orientation === 'vertical') {\n return `\n display: inline-block;\n height: auto;\n align-self: stretch;\n border-left: 1px solid;\n border-top: none;\n `\n }\n return `border-top: 1px solid;`\n }}\n \n /* Apply variant styles */\n ${({ $variant = 'default', $orientation = 'horizontal' }) => {\n const borderProperty = $orientation === 'vertical' ? 'border-left' : 'border-top'\n switch ($variant) {\n case 'strong':\n return `${borderProperty}: ${tokens.component.separator.variants.strong.border};`\n case 'minimal':\n return `${borderProperty}: ${tokens.component.separator.variants.minimal.border};`\n case 'default':\n default:\n return `${borderProperty}: ${tokens.component.separator.variants.default.border};`\n }\n }}\n \n /* Apply size styles (spacing) */\n ${({ $size = 'large', $variant = 'default', $orientation = 'horizontal' }) => {\n if ($variant === 'minimal' && $orientation === 'horizontal') {\n // Minimal variant always uses its predefined spacing for horizontal\n return `margin: ${tokens.component.separator.variants.minimal.margin};`\n }\n \n if ($orientation === 'vertical') {\n // Vertical orientation uses horizontal margins (left/right)\n switch ($size) {\n case 'small':\n return `margin: 0 ${tokens.semantic.spacing.separator.sm};`\n case 'medium':\n return `margin: 0 ${tokens.semantic.spacing.separator.md};`\n case 'xlarge':\n return `margin: 0 ${tokens.semantic.spacing.separator.xl};`\n case 'large':\n default:\n return `margin: 0 ${tokens.semantic.spacing.separator.lg};`\n }\n }\n \n // Horizontal orientation uses vertical margins (top/bottom)\n switch ($size) {\n case 'small':\n return `margin: ${tokens.component.separator.sizes.small.margin};`\n case 'medium':\n return `margin: ${tokens.component.separator.sizes.medium.margin};`\n case 'xlarge':\n return `margin: ${tokens.component.separator.sizes.xlarge.margin};`\n case 'large':\n default:\n return `margin: ${tokens.component.separator.sizes.large.margin};`\n }\n }}\n`\n\n/**\n * Divider is an atomic component that provides visual separation between content sections.\n * \n * Features:\n * - Multiple variants (default, strong, minimal)\n * - Size variations for different spacing needs\n * - Horizontal and vertical orientations\n * - Semantic token usage for consistent styling\n * - Full accessibility support\n * \n * @example\n * ```tsx\n * <Divider />\n * <Divider variant=\"strong\" size=\"xlarge\" />\n * <Divider variant=\"minimal\" />\n * <Divider orientation=\"vertical\" />\n * ```\n */\nexport const Divider: React.FC<DividerProps> = ({\n variant = 'default',\n size = 'large',\n orientation = 'horizontal',\n 'data-testid': dataTestId,\n}) => {\n return (\n <StyledDivider\n $variant={variant}\n $size={size}\n $orientation={orientation}\n data-testid={dataTestId}\n role=\"separator\"\n aria-orientation={orientation}\n />\n )\n}\n","import React from 'react'\nimport styled from 'styled-components'\nimport tokens from '@/styles/tokens.json'\n\nexport type StackDirection = 'column' | 'row'\nexport type StackAlign = 'center' | 'flex-start' | 'flex-end' | 'stretch' | 'baseline'\nexport type StackJustify = 'center' | 'flex-start' | 'flex-end' | 'space-between' | 'space-around' | 'space-evenly'\nexport type StackGap = 'none' | 'xs' | 'sm' | 'md' | 'lg' | 'xl' | '2xl' | '3xl' | '4xl' | '5xl' | '6xl'\n\nexport interface StackProps {\n children: React.ReactNode\n direction?: StackDirection\n alignItems?: StackAlign\n justifyContent?: StackJustify\n gap?: StackGap\n wrap?: boolean\n 'data-testid'?: string\n}\n\ninterface StyledStackProps {\n $direction: StackDirection\n $alignItems?: StackAlign\n $justifyContent?: StackJustify\n $gap: string\n $wrap: boolean\n}\n\nconst StyledStack = styled.div.withConfig({\n shouldForwardProp: (prop) => !prop.startsWith('$')\n})`\n display: flex;\n flex-direction: var(--stack-direction);\n align-items: var(--stack-align-items);\n justify-content: var(--stack-justify-content);\n gap: var(--stack-gap);\n flex-wrap: var(--stack-wrap);\n`\n\n// Helper function to convert gap prop to CSS value\nconst getGapValue = (gap: StackGap): string => {\n // Get semantic layout spacing token\n const semanticSpacing = tokens.semantic.spacing.layout as Record<string, string>\n \n if (gap in semanticSpacing) {\n return semanticSpacing[gap as keyof typeof semanticSpacing]\n }\n \n // Fallback to medium layout spacing if token not found\n return tokens.semantic.spacing.layout.md\n}\n\nexport const Stack: React.FC<StackProps> = ({ \n children, \n direction = 'row', \n gap = 'md', \n alignItems, \n justifyContent,\n wrap = false,\n 'data-testid': dataTestId\n}) => {\n const gapValue = getGapValue(gap)\n \n // Create CSS custom properties object with proper typing\n const cssProps: React.CSSProperties = {\n '--stack-direction': direction,\n '--stack-align-items': alignItems || 'initial',\n '--stack-justify-content': justifyContent || 'initial',\n '--stack-gap': gapValue,\n '--stack-wrap': wrap ? 'wrap' : 'nowrap'\n } as React.CSSProperties\n \n return (\n <StyledStack \n style={cssProps}\n data-testid={dataTestId}\n >\n {children}\n </StyledStack>\n )\n}\n\nexport default Stack\n","import React from 'react'\nimport styled from 'styled-components'\nimport tokens from '@/styles/tokens.json'\n\nconst { semantic } = tokens\n\nexport interface TagProps {\n /**\n * Text content to display in the tag\n */\n children: React.ReactNode\n \n /**\n * Visual variant of the tag based on semantic meaning\n * @default 'default'\n */\n variant?: 'default' | 'interactive' | 'success' | 'warning' | 'error' | 'emphasis'\n \n /**\n * Whether to show a border\n * @default true\n */\n border?: boolean\n \n /**\n * Test identifier for automated testing\n */\n 'data-testid'?: string\n}\n\ninterface StyledTagProps {\n $variant: TagProps['variant']\n $border: boolean\n}\n\nconst StyledTag = styled.span.withConfig({\n shouldForwardProp: (prop) => !prop.startsWith('$')\n})<StyledTagProps>`\n display: inline-flex;\n align-items: center;\n justify-content: center;\n border-radius: ${tokens.base.border.radius[2]};\n user-select: none;\n white-space: nowrap;\n max-height: ${tokens.semantic.size.icon.lg || '2rem'};\n \n /* Size - fixed to small */\n padding: ${tokens.base.spacing[1]} ${tokens.base.spacing[2]};\n font: ${tokens.semantic.typography.button3};\n \n /* Variant styles */\n background-color: ${({ $variant }) => {\n switch ($variant) {\n case 'interactive':\n return semantic.color.background['interactive-subtle']\n case 'success':\n return semantic.color.background['success-subtle']\n case 'warning':\n return semantic.color.background['warning-subtle']\n case 'error':\n return semantic.color.background['error-subtle']\n case 'emphasis':\n return semantic.color.background.emphasis\n default:\n return semantic.color.background.surface\n }\n }};\n \n color: ${({ $variant }) => {\n switch ($variant) {\n case 'interactive':\n return semantic.color.text.interactive\n case 'success':\n return semantic.color.text.success\n case 'warning':\n return semantic.color.text.warning\n case 'error':\n return semantic.color.text.error\n case 'emphasis':\n return semantic.color.text.inverse\n default:\n return semantic.color.text.default\n }\n }};\n \n border: ${({ $variant, $border }) => {\n if (!$border) return 'none'\n \n switch ($variant) {\n case 'interactive':\n return `1px solid ${semantic.color.border.interactive}`\n case 'success':\n return `1px solid ${semantic.color.border.success}`\n case 'warning':\n return `1px solid ${semantic.color.border.warning}`\n case 'error':\n return `1px solid ${semantic.color.border.error}`\n case 'emphasis':\n return `1px solid ${semantic.color.background.emphasis}`\n default:\n return `1px solid ${semantic.color.border.default}`\n }\n }};\n`\n\n/**\n * Tag component for categorizing and labeling content\n * \n * A static, non-interactive label used to categorize elements or objects in the UI.\n * Tags help users quickly identify and understand content classification.\n */\nexport const Tag: React.FC<TagProps> = ({\n children,\n variant = 'default',\n border = true,\n 'data-testid': dataTestId,\n ...props\n}) => {\n return (\n <StyledTag\n $variant={variant}\n $border={border}\n data-testid={dataTestId}\n data-variant={variant}\n data-border={border}\n role=\"status\"\n aria-label={typeof children === 'string' ? `Tag: ${children}` : undefined}\n {...props}\n >\n {children}\n </StyledTag>\n )\n}\n","import React from 'react'\nimport styled from 'styled-components'\nimport tokens from '@/styles/tokens.json'\nimport { Icon } from '../../atoms/Icon'\nimport { IconButton } from '../../atoms/IconButton'\nimport type { IconName } from '../../../types/icons'\nimport { Typography } from '@/page-components'\n\nconst { semantic, base } = tokens\n\nexport interface AlertProps {\n /**\n * Visual style variant affecting background, border, and icon colors\n * - error: Critical issues, validation errors (crossCircle icon)\n * - warning: Cautions, potential issues (bell icon)\n * - info: Tips, helper text, neutral information (info icon)\n * - success: Confirmations, successful operations (checkRing icon)\n * @default 'info'\n */\n variant?: 'error' | 'warning' | 'info' | 'success'\n \n /**\n * Alert message content\n */\n children: React.ReactNode\n \n /**\n * Optional title/heading for the alert\n */\n title?: string\n \n /**\n * Show close/dismiss button\n * @default false\n */\n dismissible?: boolean\n \n /**\n * Callback function when alert is dismissed\n */\n onDismiss?: () => void\n \n /**\n * Optional action button or component\n */\n action?: React.ReactNode\n \n /**\n * Compact inline variant with reduced padding\n * @default false\n */\n inline?: boolean\n \n /**\n * ARIA live region behavior\n * - polite: Non-urgent announcements\n * - assertive: Important, time-sensitive information\n * - off: Not announced\n * @default 'polite'\n */\n ariaLive?: 'polite' | 'assertive' | 'off'\n \n /**\n * Test identifier for automated testing\n */\n 'data-testid'?: string\n}\n\n// Default icons by variant\nconst variantIcons: Record<string, IconName> = {\n error: 'crossCircle',\n warning: 'bell',\n info: 'info',\n success: 'checkRing'\n}\n\n// Icon colors by variant (using semantic icon color tokens)\nconst variantIconColors: Record<string, 'error' | 'warning' | 'success' | 'interactive'> = {\n error: 'error',\n warning: 'warning',\n info: 'interactive',\n success: 'success'\n}\n\n// Title colors by variant (using semantic text color tokens)\nconst variantTitleColors: Record<string, 'error' | 'warning' | 'success' | 'interactive'> = {\n error: 'error',\n warning: 'warning',\n info: 'interactive',\n success: 'success'\n}\n\nconst StyledAlert = styled.div.withConfig({\n shouldForwardProp: (prop) => !prop.startsWith('$')\n})<{\n $variant: AlertProps['variant']\n $inline: boolean\n}>`\n display: flex;\n align-items: ${({ $inline }) => ($inline ? 'center' : 'flex-start')};\n gap: ${({ $inline }) =>\n $inline ? semantic.spacing.layout.sm : semantic.spacing.layout.md};\n padding: ${({ $inline }) =>\n $inline ? semantic.spacing.layout.sm : semantic.spacing.layout.md};\n border-radius: ${base.border.radius[2]};\n border: 1px solid;\n position: relative;\n width: 100%;\n \n /* Variant-specific colors */\n ${({ $variant }) => {\n switch ($variant) {\n case 'error':\n return `\n background-color: ${semantic.color.background['error-subtle']};\n border-color: ${semantic.color.border.error};\n color: ${semantic.color.text.error};\n `\n case 'warning':\n return `\n background-color: ${semantic.color.background['warning-subtle']};\n border-color: ${semantic.color.border.warning};\n color: ${semantic.color.text.warning};\n `\n case 'success':\n return `\n background-color: ${semantic.color.background['success-subtle']};\n border-color: ${semantic.color.border.success};\n color: ${semantic.color.text.success};\n `\n case 'info':\n default:\n return `\n background-color: ${semantic.color.background['interactive-subtle']};\n border-color: ${semantic.color.border.interactive};\n color: ${semantic.color.text.interactive};\n `\n }\n }}\n \n /* Responsive adjustments */\n @media (min-width: ${base.breakpoint.md}) {\n padding: ${({ $inline }) =>\n $inline\n ? semantic.spacing.layout.sm\n : semantic.spacing.layout.lg};\n }\n`\n\nconst StyledIconContainer = styled.div`\n display: flex;\n align-items: center;\n flex-shrink: 0;\n`\n\nconst StyledContent = styled.div`\n flex: 1;\n display: flex;\n flex-direction: column;\n gap: ${semantic.spacing.layout.xs};\n min-width: 0; /* Allow text wrapping */\n`\n\nconst StyledTitle = styled.span`\n font: ${semantic.typography.h6};\n font-weight: 600 !important;\n margin: 0;\n\tline-height: 1.125;\n`\n\nconst StyledMessage = styled.span`\n font: ${semantic.typography.body};\n\tline-height: 1.25;\n`\n\nconst StyledActions = styled.div`\n display: flex;\n align-items: center;\n gap: ${semantic.spacing.layout.sm};\n flex-shrink: 0;\n margin-left: auto;\n`\n\nconst StyledDismissButton = styled(IconButton)`\n margin-left: ${semantic.spacing.layout.xs};\n\tposition: absolute;\n\tright: 8px;\n\ttop: 10px;\n`\n\nexport const Alert = ({\n variant = 'info',\n children,\n title,\n dismissible = false,\n onDismiss,\n action,\n inline = false,\n ariaLive = 'polite',\n 'data-testid': dataTestId,\n ...props\n}: AlertProps) => {\n const [isVisible, setIsVisible] = React.useState(true)\n\n const handleDismiss = () => {\n setIsVisible(false)\n onDismiss?.()\n }\n\n if (!isVisible) {\n return null\n }\n\n // Get the icon for the current variant\n const iconName = variantIcons[variant]\n const alertIconColor = variantIconColors[variant]\n const alertTitleColor = variantTitleColors[variant]\n\n // Determine ARIA role based on variant and aria-live\n const role = variant === 'error' ? 'alert' : 'status'\n\n return (\n <StyledAlert\n role={role}\n aria-live={ariaLive}\n $variant={variant}\n $inline={inline}\n data-testid={dataTestId}\n {...props}\n >\n <StyledIconContainer aria-hidden=\"true\">\n <Icon name={iconName} size=\"md\" iconColor={alertIconColor} />\n </StyledIconContainer>\n\n <StyledContent>\n {title && <StyledTitle role=\"heading\" aria-level={6} color={alertTitleColor}>{title}</StyledTitle>}\n <StyledMessage>{children}</StyledMessage>\n </StyledContent>\n\n {(action || dismissible) && (\n <StyledActions>\n {action}\n {dismissible && (\n <StyledDismissButton\n iconName=\"close\"\n size=\"small\"\n variant=\"naked\"\n onClick={handleDismiss}\n aria-label=\"Dismiss alert\"\n data-testid={dataTestId ? `${dataTestId}-dismiss` : undefined}\n />\n )}\n </StyledActions>\n )}\n </StyledAlert>\n )\n}\n\nAlert.displayName = 'Alert'\n","import React from 'react'\nimport styled from 'styled-components'\nimport { Container } from '../../atoms/Container'\nimport { Typography } from '../../atoms/Typography'\nimport tokens from '@/styles/tokens.json'\n\ninterface Breadcrumb {\n label: string\n url: string\n}\n\ninterface BreadcrumbsProps {\n breadcrumbs: Breadcrumb[]\n 'data-testid'?: string\n /**\n * Custom link component (e.g., Next.js Link)\n * @example linkComponent={NextLink}\n */\n linkComponent?: React.ComponentType<any>\n}\n\nconst BreadcrumbNavStyled = styled.nav`\n border-bottom: ${tokens.semantic?.border?.default || '0.0625rem solid #e9ecef'};\n\n ol {\n display: flex;\n align-items: center;\n list-style: none;\n margin: 0;\n padding: 0;\n }\n`\n\nconst BreadcrumbStyled = styled.li`\n text-transform: uppercase;\n display: inline-block;\n margin-right: ${tokens.base?.spacing?.['2'] || '0.5rem'};\n padding: ${tokens.base?.spacing?.['2'] || '0.5rem'};\n position: relative;\n\n &:not(:last-of-type)::before {\n content: '';\n background-image: url('/assets/icons/caret.svg');\n background-size: contain;\n background-repeat: no-repeat;\n background-position: center;\n background-color: transparent;\n opacity: 0.5;\n display: inline-block;\n width: ${tokens.base?.spacing?.['4'] || '1rem'};\n height: ${tokens.base?.spacing?.['4'] || '1rem'};\n right: -${tokens.base?.spacing?.['3'] || '0.75rem'};\n position: absolute;\n }\n\n &:last-of-type a {\n text-decoration: none;\n color: ${tokens.semantic.color.text.subdued};\n }\n\n &:last-of-type p {\n overflow: hidden;\n text-overflow: ellipsis;\n white-space: nowrap;\n max-width: 180px;\n }\n\n > a {\n text-decoration: underline;\n color: ${tokens.semantic.color.text.default};\n }\n`\n\nconst isInternalUrl = (url: string) => {\n return url.startsWith('/') && !url.startsWith('http')\n}\n\nexport const Breadcrumbs: React.FC<BreadcrumbsProps> = ({ \n breadcrumbs, \n linkComponent: LinkComponent \n}) => {\n return (\n <Container>\n <BreadcrumbNavStyled aria-label=\"breadcrumb\">\n <ol>\n {breadcrumbs.map((breadcrumb, index) => (\n <BreadcrumbStyled key={index}>\n {index === breadcrumbs.length - 1 ? (\n <Typography variant=\"caption\">{breadcrumb.label}</Typography>\n ) : LinkComponent && isInternalUrl(breadcrumb.url) ? (\n <LinkComponent href={breadcrumb.url}>\n <Typography variant=\"caption\">{breadcrumb.label}</Typography>\n </LinkComponent>\n ) : (\n <a \n href={breadcrumb.url} \n {...(!isInternalUrl(breadcrumb.url) && { \n target: \"_blank\", \n rel: \"noopener noreferrer\" \n })}\n >\n <Typography variant=\"caption\">{breadcrumb.label}</Typography>\n </a>\n )}\n </BreadcrumbStyled>\n ))}\n </ol>\n </BreadcrumbNavStyled>\n </Container>\n )\n}\n","import React from 'react'\nimport styled from 'styled-components'\nimport { Stack } from '../../atoms/Stack'\nimport { Typography } from '../../atoms/Typography'\nimport { Picture } from '../../atoms/Picture/Picture'\nimport tokens from '@/styles/tokens.json'\n\nexport type CardSmallProps = {\n title: string\n picture?: string\n subtitle?: string\n meta?: string\n href?: string\n /**\n * Custom link component (e.g., Next.js Link)\n * @example linkComponent={NextLink}\n */\n linkComponent?: React.ComponentType<any>\n}\n\nconst CardSmallStyled = styled.div`\n a {\n text-decoration: none;\n }\n\n img {\n border-radius: ${tokens.base.border.radius[2]};\n transition: ease opacity 0.2s;\n width: 100%;\n height: auto;\n display: block;\n }\n\n &:hover {\n img {\n opacity: 0.8;\n }\n }\n\n &:focus-within {\n outline: none;\n box-shadow: 0 0 0 2px ${tokens.semantic.color.border.strong};\n }\n`\n\nexport const CardSmall: React.FC<CardSmallProps> = ({\n title,\n picture,\n subtitle,\n meta,\n href,\n linkComponent: LinkComponent,\n}) => {\n if (!picture || !meta) {\n return null\n }\n\n const content = (\n <Stack direction=\"column\" gap='sm'>\n <Picture\n title={title}\n src={picture}\n width={300}\n height={300}\n />\n <Stack direction=\"column\" gap='xs'>\n <Typography variant=\"small\">{title}</Typography>\n <Stack direction=\"column\" gap='none'>\n {subtitle && <Typography variant=\"label\" color=\"subdued\">{subtitle}</Typography>}\n {meta && <Typography variant=\"label\" color=\"subdued\">{meta}</Typography>}\n </Stack>\n </Stack>\n </Stack>\n )\n\n return (\n <CardSmallStyled>\n {LinkComponent && href ? (\n <LinkComponent href={href} aria-label={title}>\n {content}\n </LinkComponent>\n ) : (\n <a href={href || '#'} aria-label={title}>\n {content}\n </a>\n )}\n </CardSmallStyled>\n )\n}\n","import styled from 'styled-components'\nimport { Chip } from '../../atoms/Chip'\nimport { Picture } from '../../atoms/Picture'\nimport { Stack } from '../../atoms/Stack'\nimport { Typography } from '../../atoms/Typography'\nimport tokens from '@/styles/tokens.json'\n\nconst { base: { border } } = tokens\n\nexport type CardLargeProps = {\n title: string\n excerpt: string\n subtitle?: string\n labels?: string[]\n picture: string\n onImageClick?: () => void\n imageHref?: string\n}\n\nconst CardLargeStyled = styled.div`\n max-width: 768px;\n\n a {\n text-decoration: none;\n }\n\n &:hover {\n img {\n opacity: 0.8;\n }\n }\n\n img {\n border-radius: ${border.radius[6]};\n transition: ease opacity 0.2s;\n width: 100%;\n }\n`\n\nexport const CardLarge = ({\n title,\n excerpt,\n subtitle,\n labels = [],\n picture,\n onImageClick,\n imageHref,\n}: CardLargeProps) => {\n return (\n <CardLargeStyled>\n <Stack direction=\"column\" gap=\"md\">\n <Picture \n title={title} \n src={picture} \n onClick={onImageClick}\n href={imageHref}\n />\n <Stack direction=\"row\" alignItems=\"flex-start\" justifyContent=\"space-between\" gap=\"xs\">\n <Stack direction=\"column\" gap=\"xs\">\n <Typography variant=\"h5\">{title}</Typography>\n {subtitle && (\n <Typography variant=\"small\" color=\"subdued\">{subtitle}</Typography>\n )}\n {excerpt && (\n <Typography variant=\"body\">{excerpt}</Typography>\n )}\n </Stack>\n <Stack direction=\"row\" alignItems=\"center\" gap=\"xs\">\n {Array.isArray(labels) && labels.map((label, index) => (\n <Chip key={index} title={label} variant=\"default\" />\n ))}\n </Stack>\n </Stack>\n </Stack>\n </CardLargeStyled>\n )\n}\n","import styled from 'styled-components'\nimport tokens from '@/styles/tokens.json'\n\nexport type SelectableInputState = 'default' | 'error' | 'disabled'\n\ninterface StyledCheckboxInputProps {\n $state: SelectableInputState\n $checked: boolean\n $indeterminate?: boolean\n}\n\n/**\n * Hidden native checkbox input for accessibility\n * Maintains keyboard navigation and screen reader support\n */\nexport const HiddenCheckboxInput = styled.input.withConfig({\n shouldForwardProp: (prop) => !prop.startsWith('$'),\n})<StyledCheckboxInputProps>`\n position: absolute;\n opacity: 0;\n width: 0;\n height: 0;\n pointer-events: none;\n`\n\n/**\n * Custom checkbox visual component\n * 24px × 24px for 8px grid alignment\n * Uses component.input.* tokens for consistency with TextField\n */\nexport const StyledCheckbox = styled.span.withConfig({\n shouldForwardProp: (prop) => !prop.startsWith('$'),\n})<StyledCheckboxInputProps>`\n position: relative;\n display: inline-flex;\n align-items: center;\n justify-content: center;\n width: 20px;\n height: 20px;\n min-width: 20px;\n min-height: 20px;\n border-radius: ${tokens.component.input.default.borderRadius};\n border: ${tokens.component.input.default.borderWidth} solid;\n background-color: ${(props) =>\n props.$checked || props.$indeterminate\n ? tokens.semantic.color.background.inverse\n : tokens.component.input.default.backgroundColor};\n border-color: ${(props) => {\n if (props.$state === 'error') return tokens.component.input.error.borderColor\n if (props.$checked || props.$indeterminate)\n return tokens.semantic.border.strong\n return tokens.component.input.default.borderColor\n }};\n cursor: ${(props) => (props.$state === 'disabled' ? 'not-allowed' : 'pointer')};\n transition: all 150ms ease-out;\n flex-shrink: 0;\n\n /* Hover state */\n ${HiddenCheckboxInput}:not(:disabled):hover + & {\n border-color: ${(props) =>\n props.$state === 'error'\n ? tokens.component.input.error.hover.borderColor\n : props.$checked || props.$indeterminate\n ? tokens.semantic.border.strong\n : tokens.component.input.hover.borderColor};\n }\n\n /* Focus state */\n ${HiddenCheckboxInput}:focus-visible + & {\n outline: ${tokens.component.input.focus.outline};\n outline-offset: ${tokens.component.input.focus.outlineOffset};\n border-color: ${(props) =>\n props.$state === 'error'\n ? tokens.component.input.error.focus.borderColor\n : tokens.component.input.focus.borderColor};\n }\n\n /* Disabled state */\n ${(props) =>\n props.$state === 'disabled' &&\n `\n background-color: ${tokens.component.input.disabled.backgroundColor};\n border-color: ${tokens.component.input.disabled.borderColor};\n `}\n\n /* Checkmark icon */\n &::after {\n content: '';\n position: absolute;\n display: ${(props) => (props.$checked ? 'block' : 'none')};\n left: 6px;\n top: 3px;\n width: 4px;\n height: 8px;\n border: solid ${tokens.semantic.color.text.inverse};\n border-width: 0 2px 2px 0;\n transform: rotate(45deg);\n }\n\n /* Indeterminate icon (horizontal line) */\n &::before {\n content: '';\n position: absolute;\n display: ${(props) => (props.$indeterminate ? 'block' : 'none')};\n left: 4px;\n top: 8px;\n width: 10px;\n height: 2px;\n background-color: ${tokens.semantic.color.text.inverse};\n }\n`\n\n/**\n * Container for checkbox with proper spacing and alignment\n * 48px min-height for touch target (8px grid aligned)\n */\nexport const StyledCheckboxContainer = styled.label.withConfig({\n shouldForwardProp: (prop) => !prop.startsWith('$'),\n})<{ $disabled: boolean; $labelPosition: 'left' | 'right' }>`\n display: inline-flex;\n align-items: center;\n gap: ${tokens.base.spacing[3]};\n cursor: ${(props) => (props.$disabled ? 'not-allowed' : 'pointer')};\n min-height: 32px;\n flex-direction: ${(props) => (props.$labelPosition === 'left' ? 'row-reverse' : 'row')};\n user-select: none;\n`\n\n/**\n * Label text with proper typography\n */\nexport const StyledCheckboxLabel = styled.span.withConfig({\n shouldForwardProp: (prop) => !prop.startsWith('$'),\n})<{ $disabled: boolean }>`\n font: ${tokens.component.input.default.font};\n color: ${(props) =>\n props.$disabled\n ? tokens.component.input.disabled.textColor\n : tokens.component.input.default.textColor};\n`\n","import React, { forwardRef, useId, InputHTMLAttributes } from 'react'\nimport styled from 'styled-components'\nimport tokens from '@/styles/tokens.json'\nimport {\n HiddenCheckboxInput,\n StyledCheckbox,\n StyledCheckboxContainer,\n StyledCheckboxLabel,\n type SelectableInputState,\n} from './SelectableInputBase'\n\nexport interface CheckboxProps extends Omit<InputHTMLAttributes<HTMLInputElement>, 'type' | 'size'> {\n /**\n * The label text for the checkbox\n */\n label: string\n /**\n * Whether the checkbox is checked\n */\n checked?: boolean\n /**\n * Whether the checkbox is in an indeterminate state\n * Useful for \"select all\" scenarios where some but not all items are selected\n */\n indeterminate?: boolean\n /**\n * Position of the label relative to the checkbox\n * @default 'right'\n */\n labelPosition?: 'left' | 'right'\n /**\n * Helper text displayed below the checkbox\n */\n helperText?: string\n /**\n * Error message to display. When provided, checkbox enters error state\n */\n error?: string\n /**\n * Whether the checkbox is disabled\n */\n disabled?: boolean\n /**\n * Callback fired when the checkbox state changes\n */\n onChange?: (event: React.ChangeEvent<HTMLInputElement>) => void\n /**\n * Additional ARIA description for accessibility\n */\n 'aria-describedby'?: string\n}\n\nconst StyledFieldContainer = styled.div`\n display: inline-flex;\n flex-direction: column;\n gap: ${tokens.base.spacing[1]};\n`\n\nconst StyledHelperText = styled.span<{ $error?: boolean }>`\n font: ${tokens.semantic.typography.small};\n color: ${(props) =>\n props.$error\n ? tokens.semantic.color.text.error\n : tokens.semantic.color.text.subdued};\n margin-left: ${tokens.base.spacing[9]}; /* Align with label text after checkbox */\n display: block;\n`\n\n/**\n * Checkbox component for binary selection with WCAG 2.2 AA compliance\n *\n * Features:\n * - Custom styled checkbox with clear visual states\n * - Integrated label with configurable positioning\n * - Helper text and error messaging\n * - Indeterminate state support\n * - Full keyboard navigation (Space to toggle)\n * - ARIA attributes for screen readers\n * - 8px grid aligned (48px touch target)\n *\n * @example\n * ```tsx\n * <Checkbox\n * label=\"Accept terms and conditions\"\n * checked={accepted}\n * onChange={(e) => setAccepted(e.target.checked)}\n * required\n * />\n * ```\n */\nexport const Checkbox = forwardRef<HTMLInputElement, CheckboxProps>(\n (\n {\n label,\n checked = false,\n indeterminate = false,\n labelPosition = 'right',\n helperText,\n error,\n disabled = false,\n onChange,\n id: providedId,\n 'aria-describedby': ariaDescribedby,\n ...rest\n },\n ref\n ) => {\n const generatedId = useId()\n const id = providedId || generatedId\n const helperTextId = `${id}-helper-text`\n const errorId = `${id}-error`\n\n // Determine the state for styling\n const state: SelectableInputState = disabled ? 'disabled' : error ? 'error' : 'default'\n\n // Set up ARIA describedby\n const describedBy = [\n ariaDescribedby,\n helperText ? helperTextId : undefined,\n error ? errorId : undefined,\n ]\n .filter(Boolean)\n .join(' ')\n\n // Update indeterminate property on the input element\n const inputRef = React.useRef<HTMLInputElement>(null)\n React.useImperativeHandle(ref, () => inputRef.current!)\n\n React.useEffect(() => {\n if (inputRef.current) {\n inputRef.current.indeterminate = indeterminate\n }\n }, [indeterminate])\n\n return (\n <StyledFieldContainer>\n <StyledCheckboxContainer $disabled={disabled} $labelPosition={labelPosition}>\n <HiddenCheckboxInput\n ref={inputRef}\n type=\"checkbox\"\n id={id}\n checked={checked}\n disabled={disabled}\n onChange={onChange}\n aria-describedby={describedBy || undefined}\n aria-invalid={error ? true : undefined}\n $state={state}\n $checked={checked}\n $indeterminate={indeterminate}\n {...rest}\n />\n <StyledCheckbox\n $state={state}\n $checked={checked}\n $indeterminate={indeterminate}\n aria-hidden=\"true\"\n />\n <StyledCheckboxLabel $disabled={disabled}>{label}</StyledCheckboxLabel>\n </StyledCheckboxContainer>\n\n {helperText && !error && (\n <StyledHelperText id={helperTextId}>{helperText}</StyledHelperText>\n )}\n\n {error && (\n <StyledHelperText id={errorId} $error role=\"alert\" aria-live=\"polite\">\n {error}\n </StyledHelperText>\n )}\n </StyledFieldContainer>\n )\n }\n)\n\nCheckbox.displayName = 'Checkbox'\n","import React from 'react'\nimport styled from 'styled-components'\nimport { Chip, Stack } from '@/components/atoms'\n\nexport type ChipGroupProps = {\n labels: string[]\n variant?: 'default' | 'dark'\n 'data-testid'?: string\n}\n\nconst ChipGroupWrapper = styled.div`\n > div {\n display: flex;\n flex-wrap: wrap;\n }\n`\n\nexport const ChipGroup: React.FC<ChipGroupProps> = ({ \n labels, \n variant = 'default', \n 'data-testid': dataTestId \n}) => {\n return (\n <ChipGroupWrapper data-testid={dataTestId}>\n <Stack direction=\"row\" gap=\"sm\">\n {labels && labels.map((title, index) => (\n <Chip key={index} title={title} variant={variant} />\n ))}\n </Stack>\n </ChipGroupWrapper>\n )\n}\n","import React, { useState, useRef, useEffect } from 'react'\nimport styled from 'styled-components'\nimport { Button } from '../../atoms/Button'\nimport tokens from '@/styles/tokens.json'\n\nconst { semantic: { color, border, spacing } } = tokens\n\nexport interface CodeBlockProps {\n children: string\n showCopyButton?: boolean\n onCopy?: () => void\n 'data-testid'?: string\n}\n\nconst StyledCodeBlock = styled.pre`\n background-color: ${color.background.subtle};\n border: ${border.subtle};\n border-radius: ${tokens.base.border.radius[2]};\n padding: ${spacing.layout.md};\n font-family: ${tokens.base.fontFamily.monospace};\n font-size: ${tokens.base.fontSize[1]};\n line-height: ${tokens.base.lineHeight[3]};\n color: ${color.text.default};\n overflow-x: auto;\n margin: ${spacing.layout.sm} 0;\n position: relative;\n`\n\nconst CodeBlockWrapper = styled.div`\n position: relative;\n display: inline-block;\n width: 100%;\n`\n\nconst CopyButtonWrapper = styled.div`\n position: absolute;\n bottom: ${spacing.layout.lg};\n right: ${spacing.layout.sm};\n`\n\nconst CopyButton: React.FC<{ text: string; onCopy?: () => void }> = ({ text, onCopy }) => {\n const [copied, setCopied] = useState(false)\n const timeoutRef = useRef<NodeJS.Timeout | null>(null)\n \n const handleCopy = async () => {\n try {\n await navigator.clipboard.writeText(text)\n setCopied(true)\n onCopy?.()\n \n // Clear any existing timeout\n if (timeoutRef.current) {\n clearTimeout(timeoutRef.current)\n }\n \n // Set new timeout\n timeoutRef.current = setTimeout(() => {\n setCopied(false)\n timeoutRef.current = null\n }, 2000)\n } catch (err) {\n console.error('Failed to copy text: ', err)\n }\n }\n \n // Cleanup timeout on unmount\n useEffect(() => {\n return () => {\n if (timeoutRef.current) {\n clearTimeout(timeoutRef.current)\n }\n }\n }, [])\n \n return (\n <CopyButtonWrapper>\n <Button \n variant=\"secondary\" \n size=\"small\" \n iconName=\"copy\"\n onClick={handleCopy}\n data-testid=\"copy-button\"\n >\n {copied ? 'Copied!' : 'Copy'}\n </Button>\n </CopyButtonWrapper>\n )\n}\n\n/**\n * CodeBlock component for displaying formatted code with optional copy functionality\n * \n * @param children - The code content to display\n * @param showCopyButton - Whether to show the copy button (default: true)\n * @param onCopy - Optional callback when code is copied\n * @param data-testid - Test identifier for the code block\n */\nexport const CodeBlock: React.FC<CodeBlockProps> = ({ \n children, \n showCopyButton = true, \n onCopy, \n 'data-testid': testId \n}) => {\n return (\n <CodeBlockWrapper>\n <StyledCodeBlock data-testid={testId}>\n {children}\n </StyledCodeBlock>\n {showCopyButton && (\n <CopyButton text={children} onCopy={onCopy} />\n )}\n </CodeBlockWrapper>\n )\n}\n\nexport default CodeBlock\n","import React from 'react'\nimport styled from 'styled-components'\nimport { Chip } from '../../atoms/Chip'\nimport { Button } from '../../atoms/Button'\nimport { Picture } from '../../atoms/Picture'\nimport { Divider } from '../../atoms/Divider'\nimport { Stack } from '../../atoms/Stack'\nimport { Typography } from '../../atoms/Typography'\nimport { DateFormatter } from '../../atoms/DateFormatter'\nimport tokens from '@/styles/tokens.json'\n\nconst { base: { spacing, border } } = tokens\n\nexport type FeatureBlockProps = {\n title: string\n excerpt: string\n labels: string[]\n coverImage: string\n date: string\n onReadMore?: () => void\n readMoreHref?: string\n readMoreText?: string\n}\n\nconst FeatureBlockStyled = styled.div`\n @media (min-width: ${tokens.base.breakpoint.md}) {\n display: grid;\n grid-template-columns: repeat(12, 1fr);\n }\n\n @media (min-width: ${tokens.base.breakpoint.lg}) {\n gap: ${spacing[12]};\n }\n\n img {\n border-radius: ${border.radius[6]};\n transition: ease opacity 0.2s;\n\n &:hover {\n opacity: 0.8;\n }\n }\n\n a {\n text-decoration: none;\n }\n`\n\nconst ImageWrapper = styled.div`\n grid-column: span 12;\n\n @media (min-width: ${tokens.base.breakpoint.lg}) {\n grid-column: span 6;\n }\n`\n\nconst ContentSection = styled.div`\n grid-column: span 12;\n margin-top: ${spacing[6]};\n\n @media (min-width: ${tokens.base.breakpoint.lg}) {\n grid-column: span 6;\n margin-top: 0;\n padding-right: ${spacing[8]};\n }\n\n @media (min-width: ${tokens.base.breakpoint.xl}) {\n padding-right: ${spacing[24]};\n }\n`\n\nconst ButtonWrapper = styled.div`\n button {\n margin-top: ${spacing[4]};\n }\n`\n\nconst ContentWrapper = styled.div`\n display: flex;\n flex-direction: column;\n justify-content: center;\n height: 100%;\n`\n\n\n\nexport const FeatureBlock: React.FC<FeatureBlockProps> = ({\n title,\n excerpt,\n labels = [],\n coverImage,\n date,\n onReadMore,\n readMoreHref,\n readMoreText = \"Read more\",\n}) => {\n return (\n <>\n <FeatureBlockStyled>\n <ImageWrapper>\n <Picture title={title} src={coverImage} />\n </ImageWrapper>\n <ContentSection>\n <ContentWrapper>\n <Stack direction=\"column\" gap=\"md\">\n <Typography variant=\"h3\">{title}</Typography>\n <DateFormatter dateString={date} />\n <Typography variant=\"small\">{excerpt}</Typography>\n <Stack direction=\"row\" gap=\"xs\">\n {Array.isArray(labels) && labels.map((label, index) => (\n <Chip key={index} title={label} variant=\"default\" />\n ))}\n </Stack>\n {(onReadMore || readMoreHref) && (\n <ButtonWrapper>\n {readMoreHref ? (\n <Button purpose=\"link\" url={readMoreHref}>\n {readMoreText}\n </Button>\n ) : (\n <Button onClick={onReadMore}>\n {readMoreText}\n </Button>\n )}\n </ButtonWrapper>\n )}\n </Stack>\n </ContentWrapper>\n </ContentSection>\n </FeatureBlockStyled>\n <Divider />\n </>\n )\n}\n","import React, { useState, useRef, useEffect } from 'react'\nimport styled from 'styled-components'\nimport tokens from '@/styles/tokens.json'\nimport { Icon } from '../../atoms/Icon'\nimport { Typography } from '../../atoms/Typography'\n\nconst { base: { spacing, shadow, zIndex }, semantic: { color, typography, border }, component: { input } } = tokens\n\ninterface DropdownOption {\n id: string\n label: string\n value?: any\n}\n\nexport interface DropdownProps {\n options: DropdownOption[]\n value: string\n onChange: (value: string) => void\n placeholder?: string\n disabled?: boolean\n className?: string\n label?: string\n helperText?: string\n error?: string\n}\n\nconst DropdownContainer = styled.div`\n position: relative;\n width: 100%;\n`\n\nconst DropdownTrigger = styled.button.withConfig({\n shouldForwardProp: (prop) => !prop.startsWith('$')\n})<{ $isOpen: boolean; $hasError?: boolean }>`\n width: 100%;\n display: flex;\n align-items: center;\n justify-content: space-between;\n padding: ${input.default.paddingY} ${input.default.paddingX};\n background-color: ${input.default.backgroundColor};\n border: ${input.default.borderWidth} solid ${({ $hasError }) =>\n $hasError ? input.error.borderColor : input.default.borderColor\n };\n border-radius: ${input.default.borderRadius};\n font: ${input.default.font};\n color: ${input.default.textColor};\n cursor: pointer;\n transition: border-color 200ms ease-in-out, \n outline 200ms ease-in-out;\n \n &:hover:not(:disabled) {\n border-color: ${({ $hasError }) =>\n $hasError ? input.error.hover.borderColor : input.hover.borderColor\n };\n }\n \n &:focus {\n border-color: ${({ $hasError }) =>\n $hasError ? input.error.focus.borderColor : input.focus.borderColor\n };\n outline: ${input.focus.outline};\n outline-offset: ${input.focus.outlineOffset};\n }\n \n &:disabled {\n background-color: ${input.disabled.backgroundColor};\n color: ${input.disabled.textColor};\n border-color: ${input.disabled.borderColor};\n cursor: ${input.disabled.cursor};\n }\n \n ${({ $isOpen, $hasError }) => $isOpen && `\n border-color: ${$hasError ? input.error.focus.borderColor : input.focus.borderColor};\n `}\n`\n\nconst DropdownIcon = styled.div.withConfig({\n shouldForwardProp: (prop) => !prop.startsWith('$')\n})<{ $isOpen: boolean }>`\n display: flex;\n align-items: center;\n margin-left: ${spacing[2]};\n transition: transform 0.15s ease;\n \n ${({ $isOpen }) => $isOpen && `\n transform: rotate(180deg);\n `}\n`\n\nconst DropdownMenu = styled.div.withConfig({\n shouldForwardProp: (prop) => !prop.startsWith('$')\n})<{ $isOpen: boolean }>`\n position: absolute;\n top: 100%;\n left: 0;\n right: 0;\n z-index: ${zIndex[3]};\n background-color: ${input.default.backgroundColor};\n border: ${input.default.borderWidth} solid ${input.default.borderColor};\n border-radius: ${input.default.borderRadius};\n box-shadow: ${shadow[3]};\n margin-top: ${spacing[1]};\n overflow: hidden;\n opacity: ${({ $isOpen }) => ($isOpen ? 1 : 0)};\n visibility: ${({ $isOpen }) => ($isOpen ? 'visible' : 'hidden')};\n transform: ${({ $isOpen }) => ($isOpen ? 'translateY(0)' : 'translateY(-8px)')};\n transition: all 0.15s ease;\n max-height: 300px;\n overflow-y: auto;\n`\n\nconst DropdownOption = styled.button.withConfig({\n shouldForwardProp: (prop) => !prop.startsWith('$')\n})<{ $isSelected: boolean; $isFocused: boolean }>`\n width: 100%;\n display: block;\n padding: ${input.default.paddingY} ${input.default.paddingX};\n background-color: ${({ $isSelected, $isFocused }) => {\n if ($isFocused) return color.background.surface\n if ($isSelected) return color.background.surface\n return 'transparent'\n }};\n border: none;\n font: ${input.default.font};\n color: ${input.default.textColor};\n text-align: left;\n cursor: pointer;\n transition: background-color 0.15s ease;\n \n &:hover {\n background-color: ${color.background.surface};\n }\n \n &:focus {\n outline: none;\n background-color: ${color.background.surface};\n }\n \n &:not(:last-child) {\n border-bottom: ${border.subtle};\n }\n`\n\nconst StyledHelperText = styled.div<{ $hasError?: boolean }>`\n font: ${typography.caption};\n color: ${({ $hasError }) => \n $hasError \n ? color.text.error \n : color.text.subdued\n };\n margin-top: ${spacing[2]};\n`\n\n\nexport const Dropdown: React.FC<DropdownProps> = ({\n options,\n value,\n onChange,\n placeholder = 'Select an option',\n disabled = false,\n className,\n label,\n helperText,\n error\n}) => {\n const [isOpen, setIsOpen] = useState(false)\n const [focusedIndex, setFocusedIndex] = useState(-1)\n const dropdownRef = useRef<HTMLDivElement>(null)\n \n // Generate unique ID for accessibility\n const dropdownId = useRef(`dropdown-${Math.random().toString(36).substr(2, 9)}`).current\n \n const selectedOption = options.find(option => option.id === value)\n \n const hasError = Boolean(error)\n const errorId = error ? `${dropdownId}-error` : undefined\n const helperId = helperText && !error ? `${dropdownId}-helper` : undefined\n const describedBy = [errorId, helperId].filter(Boolean).join(' ') || undefined\n\n \n // Close dropdown when clicking outside\n useEffect(() => {\n const handleClickOutside = (event: MouseEvent) => {\n if (dropdownRef.current && !dropdownRef.current.contains(event.target as Node)) {\n setIsOpen(false)\n }\n }\n \n document.addEventListener('mousedown', handleClickOutside)\n return () => document.removeEventListener('mousedown', handleClickOutside)\n }, [])\n \n // Close dropdown on escape key and handle arrow navigation\n useEffect(() => {\n const handleKeyDown = (event: KeyboardEvent) => {\n if (!isOpen) return\n\n switch (event.key) {\n case 'Escape':\n setIsOpen(false)\n setFocusedIndex(-1)\n // Return focus to trigger button\n if (dropdownRef.current) {\n const trigger = dropdownRef.current.querySelector('button') as HTMLButtonElement\n trigger?.focus()\n }\n break\n \n case 'ArrowDown':\n event.preventDefault()\n setFocusedIndex(prev => {\n const newIndex = prev < options.length - 1 ? prev + 1 : 0\n return newIndex\n })\n break\n \n case 'ArrowUp':\n event.preventDefault()\n setFocusedIndex(prev => {\n const newIndex = prev > 0 ? prev - 1 : options.length - 1\n return newIndex\n })\n break\n \n case 'Enter':\n case ' ':\n event.preventDefault()\n if (focusedIndex >= 0 && focusedIndex < options.length) {\n handleOptionClick(options[focusedIndex].id)\n }\n break\n \n case 'Home':\n event.preventDefault()\n setFocusedIndex(0)\n break\n \n case 'End':\n event.preventDefault()\n setFocusedIndex(options.length - 1)\n break\n }\n }\n \n if (isOpen) {\n document.addEventListener('keydown', handleKeyDown)\n return () => document.removeEventListener('keydown', handleKeyDown)\n }\n \n return undefined\n }, [isOpen, focusedIndex, options])\n \n const handleTriggerClick = () => {\n if (!disabled) {\n setIsOpen(!isOpen)\n if (!isOpen) {\n // When opening, set focus to the currently selected option or first option\n const selectedIndex = options.findIndex(option => option.id === value)\n setFocusedIndex(selectedIndex >= 0 ? selectedIndex : 0)\n } else {\n // When closing, reset focus\n setFocusedIndex(-1)\n }\n }\n }\n \n const handleOptionClick = (optionId: string) => {\n onChange(optionId)\n setIsOpen(false)\n setFocusedIndex(-1)\n }\n \n return (\n <DropdownContainer ref={dropdownRef} className={className}>\n {label && (\n <label htmlFor={dropdownId} style={{ display: 'block', marginBottom: spacing[2] }}>\n <Typography variant=\"label\">{label}</Typography>\n </label>\n )}\n <DropdownTrigger\n id={dropdownId}\n $isOpen={isOpen}\n $hasError={hasError}\n onClick={handleTriggerClick}\n disabled={disabled}\n aria-expanded={isOpen}\n aria-haspopup=\"listbox\"\n aria-invalid={hasError}\n aria-describedby={describedBy}\n >\n <span>{selectedOption ? selectedOption.label : placeholder}</span>\n <DropdownIcon $isOpen={isOpen}>\n <Icon name=\"arrowDown\" iconColor={disabled ? 'disabled' : 'subdued'} />\n </DropdownIcon>\n </DropdownTrigger>\n \n <DropdownMenu $isOpen={isOpen} role=\"listbox\" aria-labelledby={dropdownId}>{options.map((option, index) => (\n <DropdownOption\n key={option.id}\n $isSelected={option.id === value}\n $isFocused={index === focusedIndex}\n onClick={() => handleOptionClick(option.id)}\n role=\"option\"\n aria-selected={option.id === value}\n >\n {option.label}\n </DropdownOption>\n ))}\n </DropdownMenu>\n \n {error && (\n <StyledHelperText\n id={errorId}\n role=\"alert\"\n aria-live=\"polite\"\n $hasError={true}\n >\n {error}\n </StyledHelperText>\n )}\n \n {helperText && !error && (\n <StyledHelperText id={helperId}>\n {helperText}\n </StyledHelperText>\n )}\n </DropdownContainer>\n )\n}\n","import React from 'react'\nimport styled from 'styled-components'\nimport tokens from '@/styles/tokens.json'\n\nconst { semantic } = tokens\n\nexport interface ListProps {\n /**\n * ListItem components\n */\n children: React.ReactNode\n \n /**\n * Show dividers between items\n * @default true\n */\n dividers?: boolean\n \n /**\n * Vertical spacing between items\n * @default 'comfortable'\n */\n spacing?: 'compact' | 'comfortable'\n \n /**\n * Additional CSS class name\n */\n className?: string\n \n /**\n * Test identifier for automated testing\n */\n 'data-testid'?: string\n}\n\nconst StyledList = styled.ul.withConfig({\n shouldForwardProp: (prop) => !prop.startsWith('$')\n})<{\n $dividers: boolean\n $spacing: 'compact' | 'comfortable'\n}>`\n list-style: none;\n margin: 0;\n padding: 0;\n width: 100%;\n \n /* Divider styles */\n ${({ $dividers }) => $dividers && `\n > li:not(:last-child) {\n border-bottom: 1px solid ${semantic.color.border.default};\n }\n `}\n`\n\nexport const List = ({\n children,\n dividers = true,\n spacing = 'comfortable',\n className,\n 'data-testid': dataTestId,\n ...props\n}: ListProps) => {\n return (\n <StyledList\n $dividers={dividers}\n $spacing={spacing}\n className={className}\n data-testid={dataTestId}\n role=\"list\"\n {...props}\n >\n {children}\n </StyledList>\n )\n}\n\nList.displayName = 'List'\n","import React, { useState } from 'react'\nimport styled from 'styled-components'\nimport tokens from '@/styles/tokens.json'\nimport { Icon } from '../../atoms/Icon'\nimport { Typography } from '../../atoms/Typography'\nimport { Stack } from '../../atoms/Stack'\n\nconst { semantic, base } = tokens\n\nexport interface ListItemProps {\n /**\n * Main text/content\n */\n primary: React.ReactNode\n \n /**\n * Secondary text (smaller, subdued color)\n */\n secondary?: React.ReactNode\n \n /**\n * Badge/chip component on the right\n */\n badge?: React.ReactNode\n \n /**\n * Left icon or avatar component\n */\n icon?: React.ReactNode\n \n /**\n * Can be expanded to show children content\n * @default false\n */\n expandable?: boolean\n \n /**\n * Expansion state (controlled)\n * @default false\n */\n expanded?: boolean\n \n /**\n * Called when expansion is toggled\n */\n onToggle?: () => void\n \n /**\n * Enable hover/click interactive states\n * @default false\n */\n interactive?: boolean\n \n /**\n * Click handler for interactive items\n */\n onClick?: () => void\n \n /**\n * Disabled state\n * @default false\n */\n disabled?: boolean\n \n /**\n * Selected/active state\n * @default false\n */\n selected?: boolean\n \n /**\n * Spacing variant from parent List\n * @default 'comfortable'\n */\n spacing?: 'compact' | 'comfortable'\n \n /**\n * Expanded content (shown when expanded=true)\n */\n children?: React.ReactNode\n \n /**\n * Additional CSS class name\n */\n className?: string\n \n /**\n * Test identifier for automated testing\n */\n 'data-testid'?: string\n}\n\nconst StyledListItem = styled.li.withConfig({\n shouldForwardProp: (prop) => !prop.startsWith('$')\n})<{\n $interactive: boolean\n $disabled: boolean\n $selected: boolean\n $spacing: 'compact' | 'comfortable'\n}>`\n display: flex;\n flex-direction: column;\n min-height: 44px; /* Touch target minimum */\n position: relative;\n \n /* Disable user selection for interactive items */\n ${({ $interactive }) => $interactive && 'user-select: none;'}\n \n /* Disabled state */\n ${({ $disabled }) => $disabled && `\n opacity: ${base.opacity[50]};\n cursor: not-allowed;\n pointer-events: none;\n `}\n`\n\nconst StyledItemContent = styled.div.withConfig({\n shouldForwardProp: (prop) => !prop.startsWith('$')\n})<{\n $interactive: boolean\n $disabled: boolean\n $selected: boolean\n $spacing: 'compact' | 'comfortable'\n}>`\n display: flex;\n align-items: flex-start;\n gap: ${semantic.spacing.layout.md};\n padding: ${({ $spacing }) =>\n $spacing === 'compact'\n ? `${semantic.spacing.layout.sm} ${semantic.spacing.layout.md}`\n : `${semantic.spacing.layout.md} ${semantic.spacing.layout.lg}`};\n border-radius: ${base.border.radius[2]};\n background-color: ${({ $selected }) =>\n $selected ? semantic.color.background['interactive-subtle'] : 'transparent'};\n transition: background-color 150ms ease;\n cursor: ${({ $interactive, $disabled }) => {\n if ($disabled) return 'not-allowed'\n if ($interactive) return 'pointer'\n return 'default'\n }};\n \n /* Interactive hover states */\n ${({ $interactive, $disabled, $selected }) => !$disabled && $interactive && `\n &:hover {\n background-color: ${\n $selected \n ? tokens.component.button.variants.secondary.backgroundColor\n : tokens.component.button.variants.secondary.backgroundColor\n };\n }\n \n &:active {\n background-color: ${tokens.component.button.variants.naked.backgroundColor};\n }\n `}\n \n /* Focus visible */\n &:focus-visible {\n outline: 2px solid ${semantic.color.border.interactive};\n outline-offset: 2px;\n }\n`\n\nconst StyledIconContainer = styled.div`\n display: flex;\n align-items: center;\n flex-shrink: 0;\n width: 24px;\n height: 24px;\n`\n\nconst StyledTextContent = styled.div`\n flex: 1;\n display: flex;\n flex-direction: column;\n gap: ${semantic.spacing.layout.xs};\n min-width: 0; /* Allow text truncation */\n`\n\nconst StyledRightContent = styled.div`\n display: flex;\n align-items: center;\n gap: ${semantic.spacing.layout.sm};\n flex-shrink: 0;\n margin-left: auto;\n`\n\nconst StyledChevronIcon = styled.div.withConfig({\n shouldForwardProp: (prop) => !prop.startsWith('$')\n})<{\n $expanded: boolean\n}>`\n display: flex;\n align-items: center;\n justify-content: center;\n width: 24px;\n height: 24px;\n color: ${semantic.color.icon.subdued};\n transition: transform 200ms ease;\n transform: rotate(${({ $expanded }) => ($expanded ? '180deg' : '0deg')});\n pointer-events: none;\n`\n\nconst StyledExpandedContent = styled.div.withConfig({\n shouldForwardProp: (prop) => !prop.startsWith('$')\n})<{\n $spacing: 'compact' | 'comfortable'\n $expanded: boolean\n}>`\n overflow: hidden;\n transition: max-height 200ms ease-out, opacity 200ms ease-out;\n max-height: ${({ $expanded }) => ($expanded ? '1000px' : '0')};\n opacity: ${({ $expanded }) => ($expanded ? '1' : '0')};\n \n ${({ $expanded, $spacing }) => $expanded && `\n padding: ${\n $spacing === 'compact'\n ? `${semantic.spacing.layout.sm} ${semantic.spacing.layout.md} ${semantic.spacing.layout.sm} 48px`\n : `${semantic.spacing.layout.sm} ${semantic.spacing.layout.lg} ${semantic.spacing.layout.md} 60px`\n };\n background-color: ${semantic.color.background['subtle']};\n border-radius: ${base.border.radius[2]};\n margin: 0 ${\n $spacing === 'compact' \n ? semantic.spacing.layout.md \n : semantic.spacing.layout.lg\n } ${\n $spacing === 'compact'\n ? semantic.spacing.layout.sm\n : semantic.spacing.layout.md\n };\n `}\n`\n\nexport const ListItem = ({\n primary,\n secondary,\n badge,\n icon,\n expandable = false,\n expanded = false,\n onToggle,\n interactive = false,\n onClick,\n disabled = false,\n selected = false,\n spacing = 'comfortable',\n children,\n className,\n 'data-testid': dataTestId,\n ...props\n}: ListItemProps) => {\n const isInteractive = interactive || expandable\n const role = isInteractive ? 'button' : undefined\n const ariaExpanded = expandable ? expanded : undefined\n const ariaDisabled = disabled ? true : undefined\n const ariaCurrent = selected ? 'true' : undefined\n \n const handleClick = () => {\n if (disabled) return\n \n if (expandable && onToggle) {\n onToggle()\n } else if (onClick) {\n onClick()\n }\n }\n \n const handleKeyDown = (event: React.KeyboardEvent) => {\n if (disabled) return\n \n if (event.key === 'Enter' || event.key === ' ') {\n event.preventDefault()\n handleClick()\n }\n }\n \n return (\n <StyledListItem\n $interactive={isInteractive}\n $disabled={disabled}\n $selected={selected}\n $spacing={spacing}\n className={className}\n data-testid={dataTestId}\n role=\"listitem\"\n {...props}\n >\n <StyledItemContent\n $interactive={isInteractive}\n $disabled={disabled}\n $selected={selected}\n $spacing={spacing}\n role={role}\n aria-expanded={ariaExpanded}\n aria-disabled={ariaDisabled}\n aria-current={ariaCurrent}\n tabIndex={isInteractive && !disabled ? 0 : undefined}\n onClick={handleClick}\n onKeyDown={handleKeyDown}\n >\n {icon && (\n <StyledIconContainer aria-hidden=\"true\">\n {icon}\n </StyledIconContainer>\n )}\n \n <StyledTextContent>\n <Typography variant=\"body\" color=\"default\">\n {primary}\n </Typography>\n {secondary && (\n <Typography variant=\"small\" color=\"subdued\">\n {secondary}\n </Typography>\n )}\n </StyledTextContent>\n \n <StyledRightContent>\n {badge}\n {expandable && (\n <StyledChevronIcon $expanded={expanded} aria-hidden=\"true\">\n <Icon name=\"caretDown\" size=\"sm\" />\n </StyledChevronIcon>\n )}\n </StyledRightContent>\n </StyledItemContent>\n \n {expandable && children && (\n <StyledExpandedContent\n $spacing={spacing}\n $expanded={expanded}\n aria-hidden={!expanded}\n >\n {children}\n </StyledExpandedContent>\n )}\n </StyledListItem>\n )\n}\n\nListItem.displayName = 'ListItem'\n","import styled from 'styled-components'\nimport tokens from '@/styles/tokens.json'\n\nconst { component: { input } } = tokens\n\n/**\n * Shared input states for text-based form controls\n */\nexport type InputState = 'default' | 'focus' | 'error' | 'disabled'\n\n/**\n * Base styled input component with all common styling\n * Reusable across TextField, TextArea, PasswordInput, NumberInput\n */\ninterface StyledInputBaseProps {\n $hasError?: boolean\n $disabled?: boolean\n}\n\nexport const StyledInputBase = styled.input.withConfig({\n shouldForwardProp: (prop) => !prop.startsWith('$')\n})<StyledInputBaseProps>`\n /* Typography */\n font: ${input.default.font};\n color: ${({ $disabled }) => \n $disabled \n ? input.disabled.textColor \n : input.default.textColor\n };\n \n /* Layout */\n width: 100%;\n padding: ${input.default.paddingY} ${input.default.paddingX};\n \n /* Visual styling */\n background-color: ${({ $disabled }) => \n $disabled \n ? input.disabled.backgroundColor \n : input.default.backgroundColor\n };\n \n border: ${input.default.borderWidth} solid ${({ $hasError, $disabled }) => {\n if ($disabled) return input.disabled.borderColor\n if ($hasError) return input.error.borderColor\n return input.default.borderColor\n }};\n \n border-radius: ${input.default.borderRadius};\n \n /* Remove default appearance */\n appearance: none;\n outline: none;\n \n /* Transitions */\n transition: border-color 200ms ease-in-out, \n outline 200ms ease-in-out;\n \n /* Placeholder */\n &::placeholder {\n color: ${input.placeholder.textColor};\n opacity: 1;\n }\n \n /* Focus state */\n &:focus {\n border-color: ${({ $hasError }) => \n $hasError \n ? input.error.focus.borderColor \n : input.focus.borderColor\n };\n outline: ${input.focus.outline};\n outline-offset: ${input.focus.outlineOffset};\n }\n \n /* Hover state (only when not disabled) */\n &:hover:not(:disabled) {\n border-color: ${({ $hasError }) => \n $hasError \n ? input.error.hover.borderColor \n : input.hover.borderColor\n };\n }\n \n /* Disabled state */\n &:disabled {\n cursor: ${input.disabled.cursor};\n }\n \n /* Remove number input spinners */\n &[type='number']::-webkit-inner-spin-button,\n &[type='number']::-webkit-outer-spin-button {\n -webkit-appearance: none;\n margin: 0;\n }\n \n &[type='number'] {\n -moz-appearance: textfield;\n }\n`\n\n/**\n * Base styled textarea with shared styling\n */\nexport const StyledTextAreaBase = styled.textarea.withConfig({\n shouldForwardProp: (prop) => !prop.startsWith('$')\n})<StyledInputBaseProps>`\n /* Inherit all input base styles */\n ${StyledInputBase}\n \n /* TextArea specific */\n min-height: 120px;\n resize: vertical;\n font-family: inherit;\n line-height: 1.5;\n`\n","import { InputHTMLAttributes, forwardRef, useId, useState, useCallback, ChangeEvent, KeyboardEvent } from 'react'\nimport styled from 'styled-components'\nimport { StyledInputBase } from '../TextField/InputBase'\nimport { Typography } from '../../atoms/Typography/Typography'\nimport { IconButton } from '../../atoms/IconButton/IconButton'\nimport tokens from '@/styles/tokens.json'\n\nconst { semantic, base } = tokens\n\n/**\n * Props for the NumberInput component\n */\nexport interface NumberInputProps extends Omit<InputHTMLAttributes<HTMLInputElement>, 'type' | 'onChange' | 'value' | 'defaultValue'> {\n /**\n * Label text for the input\n */\n label?: string\n \n /**\n * Helper text displayed below the input\n */\n helperText?: string\n \n /**\n * Error message to display\n */\n error?: string\n \n /**\n * Whether the field is required\n * @default false\n */\n required?: boolean\n \n /**\n * Whether the input is disabled\n * @default false\n */\n disabled?: boolean\n \n /**\n * Minimum allowed value\n */\n min?: number\n \n /**\n * Maximum allowed value\n */\n max?: number\n \n /**\n * Step increment/decrement value\n * @default 1\n */\n step?: number\n \n /**\n * Current value (controlled)\n */\n value?: number | ''\n \n /**\n * Default value (uncontrolled)\n */\n defaultValue?: number | ''\n \n /**\n * Callback fired when value changes\n */\n onChange?: (value: number | '', event: ChangeEvent<HTMLInputElement>) => void\n \n /**\n * Unique identifier for the input\n * Generated automatically if not provided\n */\n id?: string\n \n /**\n * Test identifier for automated testing\n */\n 'data-testid'?: string\n}\n\nconst StyledFieldContainer = styled.div`\n display: flex;\n flex-direction: column;\n gap: ${base.spacing[2]};\n width: 100%;\n`\n\nconst StyledLabel = styled.label`\n display: flex;\n align-items: center;\n gap: ${base.spacing[1]};\n font: ${semantic.typography.label};\n color: ${semantic.color.text.default};\n \n &[data-disabled='true'] {\n color: ${semantic.color.text.disabled};\n }\n`\n\nconst StyledRequiredIndicator = styled.span`\n color: ${semantic.color.text.error};\n font-weight: ${base.fontWeight[5]};\n`\n\nconst StyledInputWrapper = styled.div`\n position: relative;\n display: flex;\n align-items: center;\n`\n\nconst StyledNumberInput = styled(StyledInputBase)`\n /* Add padding on the right to make room for stepper buttons */\n padding-right: ${base.spacing[10]};\n`\n\nconst StyledStepperContainer = styled.div`\n position: absolute;\n right: ${base.spacing[2]};\n display: flex;\n flex-direction: row;\n gap: ${base.spacing[2]};\n`\n\nconst StyledHelperText = styled.div<{ $isError?: boolean }>`\n font: ${semantic.typography.small};\n color: ${({ $isError }) => \n $isError \n ? semantic.color.text.error \n : semantic.color.text.subdued\n };\n`\n\n/**\n * NumberInput component for numeric input with stepper buttons and WCAG 2.2 AA compliance\n * \n * Features:\n * - Stepper buttons for increment/decrement\n * - Keyboard arrow up/down support\n * - Min/max value constraints\n * - Custom step values\n * - Decimal and integer support\n * - Full accessibility with ARIA attributes\n * \n * @example\n * ```tsx\n * <NumberInput \n * label=\"Quantity\"\n * min={0}\n * max={100}\n * step={1}\n * value={value}\n * onChange={(newValue) => setValue(newValue)}\n * />\n * ```\n */\nexport const NumberInput = forwardRef<HTMLInputElement, NumberInputProps>(\n (\n {\n label,\n helperText,\n error,\n required = false,\n disabled = false,\n min,\n max,\n step = 1,\n value,\n defaultValue,\n onChange,\n id: providedId,\n 'data-testid': testId,\n placeholder,\n 'aria-label': ariaLabel,\n 'aria-describedby': ariaDescribedBy,\n ...rest\n },\n ref\n ) => {\n const generatedId = useId()\n const id = providedId || generatedId\n const helperId = `${id}-helper`\n const errorId = `${id}-error`\n \n // Parse string value to number or empty string\n const parseValue = useCallback((val: string): number | '' => {\n if (val === '' || val === '-') return ''\n const parsed = parseFloat(val)\n return isNaN(parsed) ? '' : parsed\n }, [])\n \n // Format number to string for display\n const formatValue = useCallback((val: number | ''): string => {\n return val === '' ? '' : String(val)\n }, [])\n \n // Handle increment\n const handleIncrement = useCallback(() => {\n if (disabled) return\n \n const inputElement = (ref as React.RefObject<HTMLInputElement>)?.current\n const currentValue = value !== undefined ? value : parseValue(inputElement?.value || '')\n const numValue = currentValue === '' ? (min !== undefined ? min : 0) : currentValue\n const newValue = numValue + step\n \n // Check max constraint\n if (max !== undefined && newValue > max) return\n \n // Update input value directly for both controlled and uncontrolled\n if (inputElement) {\n inputElement.value = String(newValue)\n }\n \n // Create synthetic event\n const syntheticEvent = {\n target: inputElement || { value: String(newValue) },\n currentTarget: inputElement || { value: String(newValue) }\n } as ChangeEvent<HTMLInputElement>\n \n onChange?.(newValue, syntheticEvent)\n }, [disabled, value, min, max, step, onChange, parseValue, ref])\n \n // Handle decrement\n const handleDecrement = useCallback(() => {\n if (disabled) return\n \n const inputElement = (ref as React.RefObject<HTMLInputElement>)?.current\n const currentValue = value !== undefined ? value : parseValue(inputElement?.value || '')\n const numValue = currentValue === '' ? (max !== undefined ? max : 0) : currentValue\n const newValue = numValue - step\n \n // Check min constraint\n if (min !== undefined && newValue < min) return\n \n // Update input value directly for both controlled and uncontrolled\n if (inputElement) {\n inputElement.value = String(newValue)\n }\n \n // Create synthetic event\n const syntheticEvent = {\n target: inputElement || { value: String(newValue) },\n currentTarget: inputElement || { value: String(newValue) }\n } as ChangeEvent<HTMLInputElement>\n \n onChange?.(newValue, syntheticEvent)\n }, [disabled, value, min, max, step, onChange, parseValue, ref])\n \n // Handle input change\n const handleChange = useCallback((e: ChangeEvent<HTMLInputElement>) => {\n const inputValue = e.target.value\n \n // Allow empty, negative sign, or valid number (including decimals)\n if (inputValue === '' || inputValue === '-' || /^-?\\d*\\.?\\d*$/.test(inputValue)) {\n const parsedValue = parseValue(inputValue)\n onChange?.(parsedValue, e)\n } else {\n // Prevent invalid input by not updating\n e.preventDefault()\n e.target.value = formatValue(value !== undefined ? value : '')\n }\n }, [onChange, parseValue, value, formatValue])\n \n // Handle keyboard navigation\n const handleKeyDown = useCallback((e: KeyboardEvent<HTMLInputElement>) => {\n if (e.key === 'ArrowUp') {\n e.preventDefault()\n handleIncrement()\n } else if (e.key === 'ArrowDown') {\n e.preventDefault()\n handleDecrement()\n }\n }, [handleIncrement, handleDecrement])\n \n // Check if buttons should be disabled\n const isIncrementDisabled = disabled || (max !== undefined && value !== '' && typeof value === 'number' && value >= max)\n const isDecrementDisabled = disabled || (min !== undefined && value !== '' && typeof value === 'number' && value <= min)\n \n // Build aria-describedby\n const ariaDescribedByIds = [\n ariaDescribedBy,\n helperText ? helperId : null,\n error ? errorId : null,\n ].filter(Boolean).join(' ') || undefined\n \n return (\n <StyledFieldContainer>\n {label && (\n <StyledLabel \n htmlFor={id}\n data-disabled={disabled}\n >\n {label}\n {required && <StyledRequiredIndicator aria-label=\"required\">*</StyledRequiredIndicator>}\n </StyledLabel>\n )}\n \n <StyledInputWrapper>\n <StyledNumberInput\n ref={ref}\n id={id}\n type=\"text\"\n inputMode=\"decimal\"\n value={value !== undefined ? formatValue(value) : undefined}\n defaultValue={defaultValue !== undefined ? formatValue(defaultValue) : undefined}\n onChange={handleChange}\n onKeyDown={handleKeyDown}\n disabled={disabled}\n required={required}\n placeholder={placeholder}\n $hasError={!!error}\n $disabled={disabled}\n aria-label={ariaLabel || label}\n aria-invalid={!!error}\n aria-describedby={ariaDescribedByIds}\n aria-required={required}\n data-testid={testId}\n role=\"spinbutton\"\n aria-valuemin={min}\n aria-valuemax={max}\n aria-valuenow={typeof value === 'number' ? value : undefined}\n {...rest}\n />\n \n <StyledStepperContainer>\n <IconButton\n iconName=\"caretUp\"\n variant=\"secondary\"\n size=\"small\"\n onClick={handleIncrement}\n disabled={isIncrementDisabled}\n aria-label=\"Increment value\"\n tabIndex={-1}\n type=\"button\"\n />\n <IconButton\n iconName=\"caretDown\"\n variant=\"secondary\"\n size=\"small\"\n onClick={handleDecrement}\n disabled={isDecrementDisabled}\n aria-label=\"Decrement value\"\n tabIndex={-1}\n type=\"button\"\n />\n </StyledStepperContainer>\n </StyledInputWrapper>\n \n {(helperText || error) && (\n <StyledHelperText \n id={error ? errorId : helperId}\n $isError={!!error}\n role={error ? 'alert' : undefined}\n aria-live={error ? 'polite' : undefined}\n >\n {error || helperText}\n </StyledHelperText>\n )}\n </StyledFieldContainer>\n )\n }\n)\n\nNumberInput.displayName = 'NumberInput'\n","import React, { FC } from 'react'\nimport styled from 'styled-components'\nimport { IconButton } from '../../atoms/IconButton'\nimport { Stack } from '../../atoms/Stack'\nimport { Typography } from '../../atoms/Typography'\nimport tokens from '@/styles/tokens.json'\n\ninterface PageTitleProps {\n title: string\n hasBackButton?: boolean\n subtitle?: string\n}\n\ninterface StyledPageTitleProps {\n $hasBackButton: boolean\n}\n\nconst PageTitleStyled = styled.div.withConfig({\n shouldForwardProp: (prop) => !prop.startsWith('$')\n})<StyledPageTitleProps>`\n margin-bottom: ${tokens.base.spacing[6]};\n margin-top: ${({ $hasBackButton }) => $hasBackButton ? tokens.base.spacing[0] : tokens.base.spacing[12]};\n`\n\nexport const PageTitle: FC<PageTitleProps> = ({ title, hasBackButton = false, subtitle }) => {\n return (\n <PageTitleStyled $hasBackButton={hasBackButton}>\n {hasBackButton && <IconButton iconName='back' size='large' variant='naked' url='/music' aria-label='Go back to music page' />}\n <Stack direction='column' gap=\"md\">\n <Typography variant=\"h1\">{title}</Typography>\n {subtitle && <Typography variant='caption' color='subdued'>{subtitle}</Typography>}\n </Stack>\n </PageTitleStyled>\n )\n}\n","import { InputHTMLAttributes, forwardRef, useId, useState } from 'react'\nimport styled from 'styled-components'\nimport { StyledInputBase } from '../TextField/InputBase'\nimport { Typography } from '../../atoms/Typography/Typography'\nimport { IconButton } from '../../atoms/IconButton/IconButton'\nimport tokens from '@/styles/tokens.json'\n\nconst { semantic, base } = tokens\n\n/**\n * Props for the PasswordField component\n */\nexport interface PasswordFieldProps extends Omit<InputHTMLAttributes<HTMLInputElement>, 'size' | 'type'> {\n /**\n * Label text for the input\n */\n label?: string\n \n /**\n * Helper text displayed below the input\n */\n helperText?: string\n \n /**\n * Error message to display\n */\n error?: string\n \n /**\n * Whether the field is required\n * @default false\n */\n required?: boolean\n \n /**\n * Whether the input is disabled\n * @default false\n */\n disabled?: boolean\n \n /**\n * Unique identifier for the input\n * Generated automatically if not provided\n */\n id?: string\n \n /**\n * Test identifier for automated testing\n */\n 'data-testid'?: string\n \n /**\n * Whether to show the password visibility toggle button\n * @default true\n */\n showToggle?: boolean\n}\n\nconst StyledFieldContainer = styled.div`\n display: flex;\n flex-direction: column;\n gap: ${base.spacing[2]};\n width: 100%;\n`\n\nconst StyledLabel = styled.label`\n display: flex;\n align-items: center;\n gap: ${base.spacing[1]};\n font: ${semantic.typography.label};\n color: ${semantic.color.text.default};\n \n &[data-disabled='true'] {\n color: ${semantic.color.text.disabled};\n }\n`\n\nconst StyledRequiredIndicator = styled.span`\n color: ${semantic.color.text.error};\n font-weight: ${base.fontWeight[5]};\n`\n\nconst StyledHelperText = styled.div<{ $hasError?: boolean }>`\n font: ${semantic.typography.caption};\n color: ${({ $hasError }) => \n $hasError \n ? semantic.color.text.error \n : semantic.color.text.subdued\n };\n`\n\nconst StyledInputWrapper = styled.div`\n position: relative;\n width: 100%;\n`\n\nconst StyledToggleButton = styled.div`\n position: absolute;\n right: ${base.spacing[2]};\n top: 50%;\n transform: translateY(-50%);\n`\n\n/**\n * PasswordField component for secure password input with visibility toggle\n * \n * @example\n * ```tsx\n * <PasswordField \n * label=\"Password\" \n * helperText=\"Must be at least 8 characters\"\n * required\n * />\n * ```\n */\nexport const PasswordField = forwardRef<HTMLInputElement, PasswordFieldProps>(\n (\n {\n label,\n helperText,\n error,\n required = false,\n disabled = false,\n id: providedId,\n 'data-testid': dataTestId,\n showToggle = true,\n ...inputProps\n },\n ref\n ) => {\n // Generate unique ID if not provided\n const generatedId = useId()\n const id = providedId || generatedId\n \n // Password visibility state\n const [showPassword, setShowPassword] = useState(false)\n \n // IDs for ARIA relationships\n const errorId = error ? `${id}-error` : undefined\n const helperId = helperText && !error ? `${id}-helper` : undefined\n const describedBy = [errorId, helperId].filter(Boolean).join(' ') || undefined\n \n const hasError = Boolean(error)\n \n const togglePasswordVisibility = () => {\n setShowPassword(!showPassword)\n }\n \n return (\n <StyledFieldContainer>\n {label && (\n <StyledLabel \n htmlFor={id}\n data-disabled={disabled}\n >\n {label}\n {required && (\n <StyledRequiredIndicator aria-label=\"required\">\n *\n </StyledRequiredIndicator>\n )}\n </StyledLabel>\n )}\n \n <StyledInputWrapper>\n <StyledInputBase\n ref={ref}\n id={id}\n type={showPassword ? 'text' : 'password'}\n disabled={disabled}\n required={required}\n aria-required={required}\n aria-invalid={hasError}\n aria-describedby={describedBy}\n $hasError={hasError}\n $disabled={disabled}\n data-testid={dataTestId}\n style={{ paddingRight: showToggle ? '3rem' : undefined }}\n {...inputProps}\n />\n \n {showToggle && (\n <StyledToggleButton>\n <IconButton\n variant=\"naked\"\n size=\"small\"\n iconName={showPassword ? 'viewHide' : 'view'}\n onClick={togglePasswordVisibility}\n disabled={disabled}\n aria-label={showPassword ? 'Hide password' : 'Show password'}\n aria-pressed={showPassword}\n type=\"button\"\n tabIndex={-1}\n />\n </StyledToggleButton>\n )}\n </StyledInputWrapper>\n \n {error && (\n <StyledHelperText\n id={errorId}\n role=\"alert\"\n aria-live=\"polite\"\n $hasError={true}\n >\n {error}\n </StyledHelperText>\n )}\n \n {helperText && !error && (\n <StyledHelperText id={helperId}>\n {helperText}\n </StyledHelperText>\n )}\n </StyledFieldContainer>\n )\n }\n)\n\nPasswordField.displayName = 'PasswordField'\n","import { useEffect, useRef, ReactNode, KeyboardEvent } from 'react'\nimport styled, { keyframes, css } from 'styled-components'\nimport tokens from '@/styles/tokens.json'\n\nconst { semantic, base } = tokens\n\n/**\n * Props for the Sheet component\n */\nexport interface SheetProps {\n /**\n * Whether the sheet is open\n */\n isOpen: boolean\n \n /**\n * Callback fired when the sheet should close\n */\n onClose: () => void\n \n /**\n * Position of the sheet\n * @default 'right'\n */\n position?: 'top' | 'right' | 'bottom' | 'left'\n \n /**\n * Variant of the sheet\n * - 'sheet': Full height/width edge-to-edge\n * - 'drawer': Floating with rounded corners and margin\n * @default 'sheet'\n */\n variant?: 'sheet' | 'drawer'\n \n /**\n * Width of the sheet (for left/right positions)\n * @default '400px'\n */\n width?: string\n \n /**\n * Height of the sheet (for top/bottom positions)\n * @default '400px'\n */\n height?: string\n \n /**\n * Content to display in the sheet\n */\n children?: ReactNode\n \n /**\n * Whether clicking the overlay should close the sheet\n * @default true\n */\n closeOnOverlayClick?: boolean\n \n /**\n * Whether pressing Escape should close the sheet\n * @default true\n */\n closeOnEscape?: boolean\n \n /**\n * Optional title for the sheet (improves accessibility)\n */\n title?: string\n \n /**\n * Test identifier for automated testing\n */\n 'data-testid'?: string\n \n /**\n * Accessible label for the sheet\n */\n 'aria-label'?: string\n \n /**\n * ID of element describing the sheet\n */\n 'aria-describedby'?: string\n}\n\n// Fade in animation for overlay\nconst fadeIn = keyframes`\n from {\n opacity: 0;\n }\n to {\n opacity: 1;\n }\n`\n\n// Slide animations for each position\nconst slideInRight = keyframes`\n from {\n transform: translateX(100%);\n }\n to {\n transform: translateX(0);\n }\n`\n\nconst slideInLeft = keyframes`\n from {\n transform: translateX(-100%);\n }\n to {\n transform: translateX(0);\n }\n`\n\nconst slideInTop = keyframes`\n from {\n transform: translateY(-100%);\n }\n to {\n transform: translateY(0);\n }\n`\n\nconst slideInBottom = keyframes`\n from {\n transform: translateY(100%);\n }\n to {\n transform: translateY(0);\n }\n`\n\nconst StyledOverlay = styled.div.withConfig({\n shouldForwardProp: (prop) => !prop.startsWith('$')\n})<{ $isOpen: boolean }>`\n position: fixed;\n top: 0;\n left: 0;\n right: 0;\n bottom: 0;\n background-color: rgba(0, 0, 0, 0.5);\n z-index: 1000;\n ${css`animation: ${fadeIn} 200ms ease-in-out;`}\n display: ${({ $isOpen }) => ($isOpen ? 'block' : 'none')};\n`\n\nconst StyledSheet = styled.div.withConfig({\n shouldForwardProp: (prop) => !prop.startsWith('$')\n})<{\n $position: 'top' | 'right' | 'bottom' | 'left'\n $variant: 'sheet' | 'drawer'\n $width: string\n $height: string\n $isOpen: boolean\n}>`\n position: fixed;\n background-color: ${semantic.color.background.default};\n box-shadow: ${base.shadow[4]};\n z-index: 1001;\n overflow-y: auto;\n \n /* Position-specific styles */\n ${({ $position, $variant, $width, $height }) => {\n const isDrawer = $variant === 'drawer'\n const margin = isDrawer ? base.spacing[4] : '0'\n const borderRadius = isDrawer ? base.border.radius[3] : '0'\n \n switch ($position) {\n case 'right':\n return css`\n top: ${margin};\n right: ${margin};\n bottom: ${margin};\n width: ${$width};\n max-width: calc(100vw - ${isDrawer ? `${base.spacing[4]} * 2` : '0px'});\n border-radius: ${borderRadius} 0 0 ${borderRadius};\n animation: ${slideInRight} 200ms ease-in-out;\n `\n case 'left':\n return css`\n top: ${margin};\n left: ${margin};\n bottom: ${margin};\n width: ${$width};\n max-width: calc(100vw - ${isDrawer ? `${base.spacing[4]} * 2` : '0px'});\n border-radius: 0 ${borderRadius} ${borderRadius} 0;\n animation: ${slideInLeft} 200ms ease-in-out;\n `\n case 'top':\n return css`\n top: ${margin};\n left: ${margin};\n right: ${margin};\n height: ${$height};\n max-height: calc(100vh - ${isDrawer ? `${base.spacing[4]} * 2` : '0px'});\n border-radius: 0 0 ${borderRadius} ${borderRadius};\n animation: ${slideInTop} 200ms ease-in-out;\n `\n case 'bottom':\n return css`\n bottom: ${margin};\n left: ${margin};\n right: ${margin};\n height: ${$height};\n max-height: calc(100vh - ${isDrawer ? `${base.spacing[4]} * 2` : '0px'});\n border-radius: ${borderRadius} ${borderRadius} 0 0;\n animation: ${slideInBottom} 200ms ease-in-out;\n `\n }\n }}\n \n /* Focus trap styling */\n &:focus {\n outline: none;\n }\n \n /* Scrollbar styling */\n &::-webkit-scrollbar {\n width: ${base.spacing[2]};\n }\n \n &::-webkit-scrollbar-track {\n background: ${semantic.color.background.subtle};\n }\n \n &::-webkit-scrollbar-thumb {\n background: ${semantic.color.border.default};\n border-radius: ${base.border.radius.circle};\n }\n \n &::-webkit-scrollbar-thumb:hover {\n background: ${semantic.color.border.strong};\n }\n`\n\nconst StyledSheetContent = styled.div`\n padding: ${base.spacing[6]};\n min-height: 100%;\n`\n\n/**\n * Sheet component for side panels and drawers\n * \n * Provides a sliding panel that appears from any edge of the screen.\n * Can be used for navigation menus, filters, forms, or additional content.\n * \n * @example\n * ```tsx\n * // Right-positioned sheet (default)\n * <Sheet isOpen={isOpen} onClose={() => setIsOpen(false)}>\n * <h2>Sheet Content</h2>\n * <p>Your content here</p>\n * </Sheet>\n * \n * // Drawer variant from bottom\n * <Sheet \n * isOpen={isOpen} \n * onClose={() => setIsOpen(false)}\n * position=\"bottom\"\n * variant=\"drawer\"\n * height=\"60vh\"\n * >\n * <h2>Mobile Menu</h2>\n * </Sheet>\n * ```\n */\nexport const Sheet = ({\n isOpen,\n onClose,\n position = 'right',\n variant = 'sheet',\n width = '400px',\n height = '400px',\n children,\n closeOnOverlayClick = true,\n closeOnEscape = true,\n title,\n 'data-testid': dataTestId,\n 'aria-label': ariaLabel,\n 'aria-describedby': ariaDescribedBy,\n}: SheetProps) => {\n const sheetRef = useRef<HTMLDivElement>(null)\n const previousFocusRef = useRef<HTMLElement | null>(null)\n \n // Focus management\n useEffect(() => {\n if (isOpen) {\n // Store previous focus\n previousFocusRef.current = document.activeElement as HTMLElement\n \n // Focus sheet\n setTimeout(() => {\n sheetRef.current?.focus()\n }, 100) // Small delay to allow animation to start\n \n // Prevent body scroll\n document.body.style.overflow = 'hidden'\n } else {\n // Restore previous focus\n if (previousFocusRef.current) {\n previousFocusRef.current.focus()\n }\n \n // Restore body scroll\n document.body.style.overflow = ''\n }\n \n return () => {\n document.body.style.overflow = ''\n }\n }, [isOpen])\n \n // Keyboard handling\n const handleKeyDown = (event: KeyboardEvent<HTMLDivElement>) => {\n if (closeOnEscape && event.key === 'Escape') {\n event.preventDefault()\n onClose()\n }\n \n // Focus trap\n if (event.key === 'Tab') {\n const focusableElements = sheetRef.current?.querySelectorAll(\n 'button, [href], input, select, textarea, [tabindex]:not([tabindex=\"-1\"])'\n )\n \n if (!focusableElements || focusableElements.length === 0) return\n \n const firstElement = focusableElements[0] as HTMLElement\n const lastElement = focusableElements[focusableElements.length - 1] as HTMLElement\n \n if (event.shiftKey && document.activeElement === firstElement) {\n event.preventDefault()\n lastElement.focus()\n } else if (!event.shiftKey && document.activeElement === lastElement) {\n event.preventDefault()\n firstElement.focus()\n }\n }\n }\n \n // Overlay click handling\n const handleOverlayClick = (event: React.MouseEvent<HTMLDivElement>) => {\n if (closeOnOverlayClick && event.target === event.currentTarget) {\n onClose()\n }\n }\n \n if (!isOpen) return null\n \n return (\n <>\n <StyledOverlay\n $isOpen={isOpen}\n onClick={handleOverlayClick}\n data-testid={dataTestId ? `${dataTestId}-overlay` : 'sheet-overlay'}\n />\n \n <StyledSheet\n ref={sheetRef}\n role=\"dialog\"\n aria-modal=\"true\"\n aria-label={ariaLabel || title || 'Sheet dialog'}\n aria-describedby={ariaDescribedBy}\n tabIndex={-1}\n $position={position}\n $variant={variant}\n $width={width}\n $height={height}\n $isOpen={isOpen}\n onKeyDown={handleKeyDown}\n data-testid={dataTestId}\n >\n <StyledSheetContent>\n {children}\n </StyledSheetContent>\n </StyledSheet>\n </>\n )\n}\n\nSheet.displayName = 'Sheet'\n","import { useRef, useState, useEffect, useId, KeyboardEvent } from 'react'\nimport styled from 'styled-components'\nimport tokens from '@/styles/tokens.json'\n\nconst { semantic, base } = tokens\n\n/**\n * Props for the Slider component\n */\nexport interface SliderProps {\n /**\n * Minimum value of the slider\n * @default 0\n */\n min?: number\n \n /**\n * Maximum value of the slider\n * @default 100\n */\n max?: number\n \n /**\n * Step increment for value changes\n * @default 1\n */\n step?: number\n \n /**\n * Current value for single slider\n */\n value?: number\n \n /**\n * Default value for uncontrolled single slider\n */\n defaultValue?: number\n \n /**\n * Current values for range slider [min, max]\n */\n rangeValue?: [number, number]\n \n /**\n * Default values for uncontrolled range slider [min, max]\n */\n defaultRangeValue?: [number, number]\n \n /**\n * Callback fired when value changes (single slider)\n */\n onChange?: (value: number) => void\n \n /**\n * Callback fired when range values change (range slider)\n */\n onRangeChange?: (values: [number, number]) => void\n \n /**\n * Whether the slider is disabled\n * @default false\n */\n disabled?: boolean\n \n /**\n * Label for the slider\n */\n label?: string\n \n /**\n * Whether to show value labels\n * @default true\n */\n showValueLabel?: boolean\n \n /**\n * Custom formatter for value labels\n */\n formatValue?: (value: number) => string\n \n /**\n * Test identifier for automated testing\n */\n 'data-testid'?: string\n \n /**\n * Accessible name for the slider\n */\n 'aria-label'?: string\n \n /**\n * ID of element describing the slider\n */\n 'aria-describedby'?: string\n}\n\nconst StyledSliderContainer = styled.div`\n display: flex;\n flex-direction: column;\n gap:0;\n width: 100%;\n`\n\nconst StyledLabel = styled.label<{ $disabled?: boolean }>`\n font: ${semantic.typography.label};\n color: ${({ $disabled }) => \n $disabled ? semantic.color.text.disabled : semantic.color.text.default\n };\n margin-bottom: ${semantic.spacing.layout.lg};\n`\n\nconst StyledSliderTrackContainer = styled.div`\n position: relative;\n width: 100%;\n height: ${base.spacing[10]};\n display: flex;\n align-items: center;\n`\n\nconst StyledTrack = styled.div<{ $disabled?: boolean }>`\n position: relative;\n width: 100%;\n height: ${base.spacing[1]};\n background-color: ${({ $disabled }) =>\n $disabled \n ? semantic.color.background.disabled\n : semantic.color.border.default\n };\n border-radius: ${base.border.radius.circle};\n cursor: ${({ $disabled }) => $disabled ? 'not-allowed' : 'pointer'};\n`\n\nconst StyledTrackFill = styled.div<{ $disabled?: boolean }>`\n position: absolute;\n height: 100%;\n background-color: ${({ $disabled }) =>\n $disabled\n ? semantic.color.border.default\n : semantic.color.background.emphasis\n };\n border-radius: ${base.border.radius.circle};\n pointer-events: none;\n`\n\nconst StyledThumb = styled.div<{ \n $disabled?: boolean\n $active?: boolean\n}>`\n position: absolute;\n width: ${base.spacing[5]};\n height: ${base.spacing[5]};\n top: -${semantic.spacing.layout.sm};\n background-color: ${({ $disabled }) =>\n $disabled\n ? semantic.color.background.disabled\n : semantic.color.background.subtle\n };\n border: ${base.border.width[2]} solid ${({ $disabled }) =>\n $disabled\n ? semantic.color.border.default\n : semantic.color.background.emphasis\n };\n border-radius: ${base.border.radius.circle};\n cursor: ${({ $disabled }) => $disabled ? 'not-allowed' : 'grab'};\n transform: translateX(-50%);\n transition: ${semantic.motion.transition.fast};\n box-shadow: ${base.shadow[2]};\n \n &:hover:not([aria-disabled=\"true\"]) {\n transform: translateX(-50%) scale(1.1);\n box-shadow: ${base.shadow[3]};\n }\n \n &:focus-visible {\n outline: ${base.border.width[2]} solid ${semantic.color.border.interactive};\n outline-offset: ${base.spacing[1]};\n }\n \n &:active:not([aria-disabled=\"true\"]) {\n cursor: grabbing;\n transform: translateX(-50%) scale(0.95);\n }\n \n ${({ $active }) => $active && `\n transform: translateX(-50%) scale(1.1);\n box-shadow: ${base.shadow[4]};\n `}\n`\n\nconst StyledValueLabel = styled.div<{ $disabled?: boolean }>`\n position: absolute;\n top: -${base.spacing[8]};\n left: ${semantic.spacing.layout.sm};\n transform: translateX(-50%);\n padding: ${base.spacing[1]} ${base.spacing[2]};\n background-color: ${semantic.color.background.emphasis};\n color: ${semantic.color.text.inverse};\n font: ${semantic.typography.caption};\n border-radius: ${base.border.radius[2]};\n white-space: nowrap;\n pointer-events: none;\n opacity: ${({ $disabled }) => $disabled ? base.opacity[50] : base.opacity[100]};\n \n &::after {\n content: '';\n position: absolute;\n top: 100%;\n left: 50%;\n transform: translateX(-50%);\n width: 0;\n height: 0;\n border-left: ${base.spacing[1]} solid transparent;\n border-right: ${base.spacing[1]} solid transparent;\n border-top: ${base.spacing[1]} solid ${semantic.color.background.emphasis};\n }\n`\n\nconst StyledMinMaxLabels = styled.div`\n display: flex;\n justify-content: space-between;\n font: ${semantic.typography.body};\n color: ${semantic.color.text.subdued};\n margin-top: ${base.spacing[1]};\n`\n\n/**\n * Slider component for single value or range selection\n * \n * @example\n * ```tsx\n * // Single value slider\n * <Slider \n * label=\"Volume\"\n * min={0}\n * max={100}\n * value={50}\n * onChange={(value) => console.log(value)}\n * />\n * \n * // Range slider\n * <Slider \n * label=\"Budget Range\"\n * min={0}\n * max={1000}\n * rangeValue={[200, 800]}\n * onRangeChange={(values) => console.log(values)}\n * />\n * ```\n */\nexport const Slider = ({\n min = 0,\n max = 100,\n step = 1,\n value: controlledValue,\n defaultValue,\n rangeValue: controlledRangeValue,\n defaultRangeValue,\n onChange,\n onRangeChange,\n disabled = false,\n label,\n showValueLabel = true,\n formatValue = (val) => val.toString(),\n 'data-testid': dataTestId,\n 'aria-label': ariaLabel,\n 'aria-describedby': ariaDescribedBy,\n}: SliderProps) => {\n const generatedId = useId()\n const trackRef = useRef<HTMLDivElement>(null)\n const [activeThumb, setActiveThumb] = useState<'single' | 'min' | 'max' | null>(null)\n \n // Determine if this is a range slider\n const isRange = controlledRangeValue !== undefined || defaultRangeValue !== undefined || onRangeChange !== undefined\n \n // State for single slider\n const [internalValue, setInternalValue] = useState(defaultValue ?? min)\n const currentValue = controlledValue ?? internalValue\n \n // State for range slider\n const [internalRangeValue, setInternalRangeValue] = useState<[number, number]>(\n defaultRangeValue ?? [min, min + (max - min) / 4]\n )\n const currentRangeValue = controlledRangeValue ?? internalRangeValue\n \n // Clamp value to min/max and nearest step\n const clampValue = (val: number): number => {\n const clamped = Math.max(min, Math.min(max, val))\n const stepped = Math.round((clamped - min) / step) * step + min\n return Math.min(max, stepped)\n }\n \n // Convert pixel position to value\n const positionToValue = (clientX: number): number => {\n if (!trackRef.current) return min\n \n const rect = trackRef.current.getBoundingClientRect()\n const percent = (clientX - rect.left) / rect.width\n const rawValue = min + percent * (max - min)\n return clampValue(rawValue)\n }\n \n // Convert value to percentage for positioning\n const valueToPercent = (val: number): number => {\n return ((val - min) / (max - min)) * 100\n }\n \n // Handle single slider change\n const handleSingleChange = (newValue: number) => {\n const clampedValue = clampValue(newValue)\n setInternalValue(clampedValue)\n onChange?.(clampedValue)\n }\n \n // Handle range slider change\n const handleRangeChange = (newMin: number, newMax: number) => {\n const clampedMin = clampValue(newMin)\n const clampedMax = clampValue(newMax)\n \n // Ensure min <= max\n const orderedMin = Math.min(clampedMin, clampedMax)\n const orderedMax = Math.max(clampedMin, clampedMax)\n \n setInternalRangeValue([orderedMin, orderedMax])\n onRangeChange?.([orderedMin, orderedMax])\n }\n \n // Mouse/touch handlers\n const handleTrackClick = (event: React.MouseEvent<HTMLDivElement>) => {\n if (disabled) return\n \n const newValue = positionToValue(event.clientX)\n \n if (isRange) {\n const [minVal, maxVal] = currentRangeValue\n const distToMin = Math.abs(newValue - minVal)\n const distToMax = Math.abs(newValue - maxVal)\n \n if (distToMin < distToMax) {\n handleRangeChange(newValue, maxVal)\n } else {\n handleRangeChange(minVal, newValue)\n }\n } else {\n handleSingleChange(newValue)\n }\n }\n \n const handleThumbMouseDown = (thumb: 'single' | 'min' | 'max') => (event: React.MouseEvent) => {\n if (disabled) return\n event.preventDefault()\n setActiveThumb(thumb)\n \n const handleMouseMove = (e: MouseEvent) => {\n const newValue = positionToValue(e.clientX)\n \n if (isRange) {\n const [minVal, maxVal] = currentRangeValue\n if (thumb === 'min') {\n handleRangeChange(newValue, maxVal)\n } else {\n handleRangeChange(minVal, newValue)\n }\n } else {\n handleSingleChange(newValue)\n }\n }\n \n const handleMouseUp = () => {\n setActiveThumb(null)\n document.removeEventListener('mousemove', handleMouseMove)\n document.removeEventListener('mouseup', handleMouseUp)\n }\n \n document.addEventListener('mousemove', handleMouseMove)\n document.addEventListener('mouseup', handleMouseUp)\n }\n \n // Keyboard navigation\n const handleKeyDown = (thumb: 'single' | 'min' | 'max') => (event: KeyboardEvent<HTMLDivElement>) => {\n if (disabled) return\n \n let valueChange = 0\n \n switch (event.key) {\n case 'ArrowRight':\n case 'ArrowUp':\n valueChange = step\n event.preventDefault()\n break\n case 'ArrowLeft':\n case 'ArrowDown':\n valueChange = -step\n event.preventDefault()\n break\n case 'PageUp':\n valueChange = step * 10\n event.preventDefault()\n break\n case 'PageDown':\n valueChange = -step * 10\n event.preventDefault()\n break\n case 'Home':\n if (isRange) {\n const [minVal, maxVal] = currentRangeValue\n if (thumb === 'min') {\n handleRangeChange(min, maxVal)\n } else {\n handleRangeChange(minVal, min)\n }\n } else {\n handleSingleChange(min)\n }\n event.preventDefault()\n return\n case 'End':\n if (isRange) {\n const [minVal, maxVal] = currentRangeValue\n if (thumb === 'min') {\n handleRangeChange(max, maxVal)\n } else {\n handleRangeChange(minVal, max)\n }\n } else {\n handleSingleChange(max)\n }\n event.preventDefault()\n return\n default:\n return\n }\n \n if (isRange) {\n const [minVal, maxVal] = currentRangeValue\n if (thumb === 'min') {\n handleRangeChange(minVal + valueChange, maxVal)\n } else {\n handleRangeChange(minVal, maxVal + valueChange)\n }\n } else {\n handleSingleChange(currentValue + valueChange)\n }\n }\n \n // Calculate positions\n const singlePercent = valueToPercent(currentValue)\n const [minPercent, maxPercent] = [\n valueToPercent(currentRangeValue[0]),\n valueToPercent(currentRangeValue[1])\n ]\n \n return (\n <StyledSliderContainer data-testid={dataTestId}>\n {label && (\n <StyledLabel htmlFor={generatedId} $disabled={disabled}>\n {label}\n </StyledLabel>\n )}\n \n <StyledSliderTrackContainer>\n <StyledTrack\n ref={trackRef}\n onClick={handleTrackClick}\n $disabled={disabled}\n >\n {isRange ? (\n <StyledTrackFill\n $disabled={disabled}\n style={{\n left: `${minPercent}%`,\n width: `${maxPercent - minPercent}%`,\n }}\n />\n ) : (\n <StyledTrackFill\n $disabled={disabled}\n style={{\n left: 0,\n width: `${singlePercent}%`,\n }}\n />\n )}\n \n {isRange ? (\n <>\n {/* Min thumb */}\n <StyledThumb\n role=\"slider\"\n tabIndex={disabled ? -1 : 0}\n aria-label={ariaLabel ? `${ariaLabel} minimum` : 'Minimum value'}\n aria-valuemin={min}\n aria-valuemax={max}\n aria-valuenow={currentRangeValue[0]}\n aria-valuetext={formatValue(currentRangeValue[0])}\n aria-disabled={disabled}\n aria-describedby={ariaDescribedBy}\n $disabled={disabled}\n $active={activeThumb === 'min'}\n style={{ left: `${minPercent}%` }}\n onMouseDown={handleThumbMouseDown('min')}\n onKeyDown={handleKeyDown('min')}\n >\n {showValueLabel && (\n <StyledValueLabel $disabled={disabled}>\n {formatValue(currentRangeValue[0])}\n </StyledValueLabel>\n )}\n </StyledThumb>\n \n {/* Max thumb */}\n <StyledThumb\n role=\"slider\"\n tabIndex={disabled ? -1 : 0}\n aria-label={ariaLabel ? `${ariaLabel} maximum` : 'Maximum value'}\n aria-valuemin={min}\n aria-valuemax={max}\n aria-valuenow={currentRangeValue[1]}\n aria-valuetext={formatValue(currentRangeValue[1])}\n aria-disabled={disabled}\n aria-describedby={ariaDescribedBy}\n $disabled={disabled}\n $active={activeThumb === 'max'}\n style={{ left: `${maxPercent}%` }}\n onMouseDown={handleThumbMouseDown('max')}\n onKeyDown={handleKeyDown('max')}\n >\n {showValueLabel && (\n <StyledValueLabel $disabled={disabled}>\n {formatValue(currentRangeValue[1])}\n </StyledValueLabel>\n )}\n </StyledThumb>\n </>\n ) : (\n <StyledThumb\n role=\"slider\"\n tabIndex={disabled ? -1 : 0}\n aria-label={ariaLabel || label || 'Slider value'}\n aria-valuemin={min}\n aria-valuemax={max}\n aria-valuenow={currentValue}\n aria-valuetext={formatValue(currentValue)}\n aria-disabled={disabled}\n aria-describedby={ariaDescribedBy}\n $disabled={disabled}\n $active={activeThumb === 'single'}\n style={{ left: `${singlePercent}%` }}\n onMouseDown={handleThumbMouseDown('single')}\n onKeyDown={handleKeyDown('single')}\n >\n {showValueLabel && (\n <StyledValueLabel $disabled={disabled}>\n {formatValue(currentValue)}\n </StyledValueLabel>\n )}\n </StyledThumb>\n )}\n </StyledTrack>\n </StyledSliderTrackContainer>\n \n <StyledMinMaxLabels>\n <span>{formatValue(min)}</span>\n <span>{formatValue(max)}</span>\n </StyledMinMaxLabels>\n </StyledSliderContainer>\n )\n}\n\nSlider.displayName = 'Slider'\n","import { ReactNode, InputHTMLAttributes, forwardRef, useId } from 'react'\nimport styled from 'styled-components'\nimport { StyledInputBase } from './InputBase'\nimport { Typography } from '../../atoms/Typography/Typography'\nimport { Stack } from '../../atoms/Stack/Stack'\nimport tokens from '@/styles/tokens.json'\n\nconst { semantic, base } = tokens\n\n/**\n * Props for the TextField component\n */\nexport interface TextFieldProps extends Omit<InputHTMLAttributes<HTMLInputElement>, 'size'> {\n /**\n * Label text for the input\n */\n label?: string\n \n /**\n * Helper text displayed below the input\n */\n helperText?: string\n \n /**\n * Error message to display\n */\n error?: string\n \n /**\n * Whether the field is required\n * @default false\n */\n required?: boolean\n \n /**\n * Whether the input is disabled\n * @default false\n */\n disabled?: boolean\n \n /**\n * Input type\n * @default 'text'\n */\n type?: 'text' | 'email' | 'tel' | 'url' | 'search'\n \n /**\n * Unique identifier for the input\n * Generated automatically if not provided\n */\n id?: string\n \n /**\n * Test identifier for automated testing\n */\n 'data-testid'?: string\n}\n\nconst StyledFieldContainer = styled.div`\n display: flex;\n flex-direction: column;\n gap: ${base.spacing[2]};\n width: 100%;\n`\n\nconst StyledLabel = styled.label`\n display: flex;\n align-items: center;\n gap: ${base.spacing[1]};\n font: ${semantic.typography.label};\n color: ${semantic.color.text.default};\n \n &[data-disabled='true'] {\n color: ${semantic.color.text.disabled};\n }\n`\n\nconst StyledRequiredIndicator = styled.span`\n color: ${semantic.color.text.error};\n font-weight: ${base.fontWeight[5]};\n`\n\nconst StyledHelperText = styled.div<{ $hasError?: boolean }>`\n font: ${semantic.typography.caption};\n color: ${({ $hasError }) => \n $hasError \n ? semantic.color.text.error \n : semantic.color.text.subdued\n };\n`\n\n/**\n * TextField component for text input with label, helper text, and error states\n * \n * @example\n * ```tsx\n * <TextField \n * label=\"Email\" \n * type=\"email\"\n * helperText=\"We'll never share your email\"\n * required\n * />\n * ```\n */\nexport const TextField = forwardRef<HTMLInputElement, TextFieldProps>(\n (\n {\n label,\n helperText,\n error,\n required = false,\n disabled = false,\n type = 'text',\n id: providedId,\n 'data-testid': dataTestId,\n ...inputProps\n },\n ref\n ) => {\n // Generate unique ID if not provided\n const generatedId = useId()\n const id = providedId || generatedId\n \n // IDs for ARIA relationships\n const errorId = error ? `${id}-error` : undefined\n const helperId = helperText && !error ? `${id}-helper` : undefined\n const describedBy = [errorId, helperId].filter(Boolean).join(' ') || undefined\n \n const hasError = Boolean(error)\n \n return (\n <StyledFieldContainer data-testid={dataTestId}>\n {label && (\n <StyledLabel \n htmlFor={id}\n data-disabled={disabled}\n >\n {label}\n {required && (\n <StyledRequiredIndicator aria-label=\"required\">\n *\n </StyledRequiredIndicator>\n )}\n </StyledLabel>\n )}\n \n <StyledInputBase\n ref={ref}\n id={id}\n type={type}\n disabled={disabled}\n required={required}\n aria-required={required}\n aria-invalid={hasError}\n aria-describedby={describedBy}\n $hasError={hasError}\n $disabled={disabled}\n {...inputProps}\n />\n \n {error && (\n <StyledHelperText\n id={errorId}\n role=\"alert\"\n aria-live=\"polite\"\n $hasError={true}\n >\n {error}\n </StyledHelperText>\n )}\n \n {helperText && !error && (\n <StyledHelperText id={helperId}>\n {helperText}\n </StyledHelperText>\n )}\n </StyledFieldContainer>\n )\n }\n)\n\nTextField.displayName = 'TextField'\n","import React from 'react'\nimport styled, { css } from 'styled-components'\nimport tokens from '@/styles/tokens.json'\n\n// Breakpoints using base tokens\nconst breakpoints = {\n xs: tokens.base.breakpoint.xs,\n sm: tokens.base.breakpoint.sm,\n md: tokens.base.breakpoint.md,\n lg: tokens.base.breakpoint.lg,\n xl: tokens.base.breakpoint.xl,\n '2xl': tokens.base.breakpoint['2xl'],\n}\n\n// Media query helpers\nconst media = {\n xs: `@media (min-width: ${breakpoints.xs})`,\n sm: `@media (min-width: ${breakpoints.sm})`,\n md: `@media (min-width: ${breakpoints.md})`,\n lg: `@media (min-width: ${breakpoints.lg})`,\n xl: `@media (min-width: ${breakpoints.xl})`,\n '2xl': `@media (min-width: ${breakpoints['2xl']})`,\n}\n\n// Base Grid Container\ninterface GridProps {\n cols?: number\n gap?: keyof typeof tokens.base.spacing\n gapX?: keyof typeof tokens.base.spacing\n gapY?: keyof typeof tokens.base.spacing\n className?: string\n children: React.ReactNode\n}\n\nconst GridContainer = styled.div.withConfig({\n shouldForwardProp: (prop) => !prop.startsWith('$')\n})<{\n $cols: number\n $gap?: string\n $gapX?: string\n $gapY?: string\n}>`\n display: grid;\n grid-template-columns: repeat(${props => props.$cols}, minmax(0, 1fr));\n \n ${props => props.$gap && css`gap: ${props.$gap};`}\n ${props => props.$gapX && css`column-gap: ${props.$gapX};`}\n ${props => props.$gapY && css`row-gap: ${props.$gapY};`}\n`\n\nexport const Grid: React.FC<GridProps> = ({ \n cols = 12, \n gap, \n gapX, \n gapY, \n className, \n children \n}) => (\n <GridContainer\n $cols={cols}\n $gap={gap ? tokens.base.spacing[gap] : undefined}\n $gapX={gapX ? tokens.base.spacing[gapX] : undefined}\n $gapY={gapY ? tokens.base.spacing[gapY] : undefined}\n className={className}\n >\n {children}\n </GridContainer>\n)\n\n// Grid Column Component\ninterface GridColProps {\n span?: number\n spanSm?: number\n spanMd?: number\n spanLg?: number\n spanXl?: number\n order?: number\n orderSm?: number\n orderMd?: number\n orderLg?: number\n orderXl?: number\n className?: string\n children: React.ReactNode\n}\n\nconst GridColContainer = styled.div.withConfig({\n shouldForwardProp: (prop) => !prop.startsWith('$')\n})<{\n $span?: number\n $spanSm?: number\n $spanMd?: number\n $spanLg?: number\n $spanXl?: number\n $order?: number\n $orderSm?: number\n $orderMd?: number\n $orderLg?: number\n $orderXl?: number\n}>`\n ${props => props.$span && css`grid-column: span ${props.$span} / span ${props.$span};`}\n ${props => props.$order && css`order: ${props.$order};`}\n \n ${props => props.$spanSm && css`\n ${media.sm} {\n grid-column: span ${props.$spanSm} / span ${props.$spanSm};\n }\n `}\n \n ${props => props.$spanMd && css`\n ${media.md} {\n grid-column: span ${props.$spanMd} / span ${props.$spanMd};\n }\n `}\n \n ${props => props.$spanLg && css`\n ${media.lg} {\n grid-column: span ${props.$spanLg} / span ${props.$spanLg};\n }\n `}\n \n ${props => props.$spanXl && css`\n ${media.xl} {\n grid-column: span ${props.$spanXl} / span ${props.$spanXl};\n }\n `}\n \n ${props => props.$orderSm && css`\n ${media.sm} {\n order: ${props.$orderSm};\n }\n `}\n \n ${props => props.$orderMd && css`\n ${media.md} {\n order: ${props.$orderMd};\n }\n `}\n \n ${props => props.$orderLg && css`\n ${media.lg} {\n order: ${props.$orderLg};\n }\n `}\n \n ${props => props.$orderXl && css`\n ${media.xl} {\n order: ${props.$orderXl};\n }\n `}\n`\n\nexport const GridCol: React.FC<GridColProps> = ({ \n span, \n spanSm, \n spanMd, \n spanLg, \n spanXl,\n order,\n orderSm,\n orderMd,\n orderLg,\n orderXl,\n className, \n children \n}) => (\n <GridColContainer\n $span={span}\n $spanSm={spanSm}\n $spanMd={spanMd}\n $spanLg={spanLg}\n $spanXl={spanXl}\n $order={order}\n $orderSm={orderSm}\n $orderMd={orderMd}\n $orderLg={orderLg}\n $orderXl={orderXl}\n className={className}\n >\n {children}\n </GridColContainer>\n)\n\n// Responsive Grid (replaces the common grid-cols-1 md:grid-cols-2 xl:grid-cols-3 pattern)\ninterface ResponsiveGridProps {\n cols: number\n colsSm?: number\n colsMd?: number\n colsLg?: number\n colsXl?: number\n gap?: keyof typeof tokens.base.spacing\n gapSm?: keyof typeof tokens.base.spacing\n gapMd?: keyof typeof tokens.base.spacing\n gapLg?: keyof typeof tokens.base.spacing\n gapXl?: keyof typeof tokens.base.spacing\n gapX?: keyof typeof tokens.base.spacing\n gapXSm?: keyof typeof tokens.base.spacing\n gapXMd?: keyof typeof tokens.base.spacing\n gapXLg?: keyof typeof tokens.base.spacing\n gapXXl?: keyof typeof tokens.base.spacing\n gapY?: keyof typeof tokens.base.spacing\n gapYSm?: keyof typeof tokens.base.spacing\n gapYMd?: keyof typeof tokens.base.spacing\n gapYLg?: keyof typeof tokens.base.spacing\n gapYXl?: keyof typeof tokens.base.spacing\n className?: string\n children: React.ReactNode\n}\n\nconst ResponsiveGridContainer = styled.div.withConfig({\n shouldForwardProp: (prop) => !prop.startsWith('$')\n})<{\n $cols: number\n $colsSm?: number\n $colsMd?: number\n $colsLg?: number\n $colsXl?: number\n $gap?: string\n $gapSm?: string\n $gapMd?: string\n $gapLg?: string\n $gapXl?: string\n $gapX?: string\n $gapXSm?: string\n $gapXMd?: string\n $gapXLg?: string\n $gapXXl?: string\n $gapY?: string\n $gapYSm?: string\n $gapYMd?: string\n $gapYLg?: string\n $gapYXl?: string\n}>`\n display: grid;\n grid-template-columns: repeat(${props => props.$cols}, minmax(0, 1fr));\n \n ${props => props.$gap && css`gap: ${props.$gap};`}\n ${props => props.$gapX && css`column-gap: ${props.$gapX};`}\n ${props => props.$gapY && css`row-gap: ${props.$gapY};`}\n \n ${props => props.$colsSm && css`\n ${media.sm} {\n grid-template-columns: repeat(${props.$colsSm}, minmax(0, 1fr));\n }\n `}\n \n ${props => props.$colsMd && css`\n ${media.md} {\n grid-template-columns: repeat(${props.$colsMd}, minmax(0, 1fr));\n }\n `}\n \n ${props => props.$colsLg && css`\n ${media.lg} {\n grid-template-columns: repeat(${props.$colsLg}, minmax(0, 1fr));\n }\n `}\n \n ${props => props.$colsXl && css`\n ${media.xl} {\n grid-template-columns: repeat(${props.$colsXl}, minmax(0, 1fr));\n }\n `}\n \n // Responsive gap support\n ${props => props.$gapSm && css`\n ${media.sm} {\n gap: ${props.$gapSm};\n }\n `}\n \n ${props => props.$gapMd && css`\n ${media.md} {\n gap: ${props.$gapMd};\n }\n `}\n \n ${props => props.$gapLg && css`\n ${media.lg} {\n gap: ${props.$gapLg};\n }\n `}\n \n ${props => props.$gapXl && css`\n ${media.xl} {\n gap: ${props.$gapXl};\n }\n `}\n \n // Responsive column gap support\n ${props => props.$gapXSm && css`\n ${media.sm} {\n column-gap: ${props.$gapXSm};\n }\n `}\n \n ${props => props.$gapXMd && css`\n ${media.md} {\n column-gap: ${props.$gapXMd};\n }\n `}\n \n ${props => props.$gapXLg && css`\n ${media.lg} {\n column-gap: ${props.$gapXLg};\n }\n `}\n \n ${props => props.$gapXXl && css`\n ${media.xl} {\n column-gap: ${props.$gapXXl};\n }\n `}\n \n // Responsive row gap support\n ${props => props.$gapYSm && css`\n ${media.sm} {\n row-gap: ${props.$gapYSm};\n }\n `}\n \n ${props => props.$gapYMd && css`\n ${media.md} {\n row-gap: ${props.$gapYMd};\n }\n `}\n \n ${props => props.$gapYLg && css`\n ${media.lg} {\n row-gap: ${props.$gapYLg};\n }\n `}\n \n ${props => props.$gapYXl && css`\n ${media.xl} {\n row-gap: ${props.$gapYXl};\n }\n `}\n`\n\nexport const ResponsiveGrid: React.FC<ResponsiveGridProps> = ({ \n cols,\n colsSm,\n colsMd, \n colsLg, \n colsXl,\n gap, \n gapSm,\n gapMd,\n gapLg,\n gapXl,\n gapX, \n gapXSm,\n gapXMd,\n gapXLg,\n gapXXl,\n gapY, \n gapYSm,\n gapYMd,\n gapYLg,\n gapYXl,\n className, \n children \n}) => (\n <ResponsiveGridContainer\n $cols={cols}\n $colsSm={colsSm}\n $colsMd={colsMd}\n $colsLg={colsLg}\n $colsXl={colsXl}\n $gap={gap ? tokens.base.spacing[gap] : undefined}\n $gapSm={gapSm ? tokens.base.spacing[gapSm] : undefined}\n $gapMd={gapMd ? tokens.base.spacing[gapMd] : undefined}\n $gapLg={gapLg ? tokens.base.spacing[gapLg] : undefined}\n $gapXl={gapXl ? tokens.base.spacing[gapXl] : undefined}\n $gapX={gapX ? tokens.base.spacing[gapX] : undefined}\n $gapXSm={gapXSm ? tokens.base.spacing[gapXSm] : undefined}\n $gapXMd={gapXMd ? tokens.base.spacing[gapXMd] : undefined}\n $gapXLg={gapXLg ? tokens.base.spacing[gapXLg] : undefined}\n $gapXXl={gapXXl ? tokens.base.spacing[gapXXl] : undefined}\n $gapY={gapY ? tokens.base.spacing[gapY] : undefined}\n $gapYSm={gapYSm ? tokens.base.spacing[gapYSm] : undefined}\n $gapYMd={gapYMd ? tokens.base.spacing[gapYMd] : undefined}\n $gapYLg={gapYLg ? tokens.base.spacing[gapYLg] : undefined}\n $gapYXl={gapYXl ? tokens.base.spacing[gapYXl] : undefined}\n className={className}\n >\n {children}\n </ResponsiveGridContainer>\n)\n","// Main design system exports\nexport * from './components'\n\n// Export tokens with proper types\nimport tokensData from './styles/tokens.json'\nexport const tokens = tokensData\n\n// Export token types\nexport type {\n Tokens,\n TokensBase,\n TokensSemantic,\n TokensComponent\n} from './styles/tokens.d'\n\n// Export icons data and types for external use\nexport { iconsData, type IconName } from './types/icons'"],"names":["AvatarContainer","styled","div","withConfig","shouldForwardProp","prop","startsWith","displayName","componentId","templateObject_1","__makeTemplateObject","_a","$size","tokens","semantic","size","avatar","base","border","radius","circle","color","background","surface","AvatarImage","img","templateObject_2","AvatarInitials","span","templateObject_3","fontFamily","body","fontWeight","sizeMap","xs","fontSize","sm","md","lg","xl","text","getInitials","name","split","map","word","charAt","join","slice","toUpperCase","Avatar","picture","_b","dataTestId","props","__rest","_c","htmlProps","_d","useState","imageError","setImageError","_e","imageLoaded","setImageLoaded","handleImageError","handleImageLoad","showImage","initials","React","createElement","_extends","role","concat","src","alt","onError","onLoad","typography","getTypographyStyles","variant","styles","display","letterSpacing","h1","h2","h3","h4","h5","h6","subtitle","small","overline","caption","button1","button2","button3","label","getTextColor","colorVariant","colorMap","emphasis","subdued","inverse","disabled","interactive","error","success","warning","getDefaultElement","elementMap","StyledTypography","$variant","$color","includes","Typography","children","as","defaultElement","elementType","shadow","scaleIn","keyframes","BadgeWrapper","BadgeIndicator","$isVisible","$isDot","ScreenReaderOnly","templateObject_4","Badge","count","max","dot","ariaLabel","className","isVisible","displayCount","toString","defaultAriaLabel","StyledBox","$display","css","$flexDirection","$justifyContent","$alignItems","$flexWrap","templateObject_5","$gap","templateObject_6","spacing","layout","$m","templateObject_7","$mt","templateObject_8","$mr","templateObject_9","$mb","templateObject_10","$ml","templateObject_11","$mx","templateObject_12","$my","templateObject_13","$p","templateObject_14","$pt","templateObject_15","$pr","templateObject_16","$pb","templateObject_17","$pl","templateObject_18","$px","templateObject_19","$py","templateObject_20","$width","templateObject_21","$height","templateObject_22","$maxWidth","templateObject_23","$maxHeight","templateObject_24","$minWidth","templateObject_25","$minHeight","templateObject_26","$position","templateObject_27","$top","templateObject_28","$right","templateObject_29","$bottom","templateObject_30","$left","templateObject_31","$borderRadius","templateObject_32","$border","templateObject_33","$borderTop","templateObject_34","$borderRight","templateObject_35","$borderBottom","templateObject_36","$borderLeft","templateObject_37","$bg","templateObject_38","templateObject_39","$overflow","templateObject_40","$overflowX","templateObject_41","$overflowY","templateObject_42","BoxTransform","flexDirection","justifyContent","alignItems","flexWrap","gap","m","mt","mr","mb","ml","mx","my","p","pt","pr","pb","pl","px","py","width","height","maxWidth","maxHeight","minWidth","minHeight","position","top","right","bottom","left","borderRadius","borderTop","borderRight","borderBottom","borderLeft","bg","overflow","overflowX","overflowY","rest","Box","IconStyled","icon","$iconColor","Icon","iconColor","iconData","iconsData","console","warn","viewBox","fill","xmlns","d","path","button","component","baseButtonStyles","motion","hover","focus","outline","outlineOffset","getVariantStyles","primary","backgroundColor","variants","secondary","naked","textColor","active","getSizeStyles","sizes","font","padding","medium","large","StyledButton","StyledLink","a","getIconSize","buttonSize","renderButtonContent","iconName","iconSize","Fragment","Button","url","purpose","target","LinkComponent","linkComponent","href","linkProps","buttonProps_1","handleClick","e","onClick","window","open","location","buttonProps","chip","getVariantStylesAsObject","selected","subtle","getSizeStylesAsObject","BaseChipStyled","chipTokens","IconContainer","CloseButton","$disabled","transition","fast","StyledChipWrapper","$clickable","$selected","style","variantStyles","sizeStyles","cssProps","__assign","Chip","ariaDescribedBy","title","isClickable","Boolean","normalizedVariant","content","undefined","handleKeyDown","event","key","preventDefault","onKeyDown","tabIndex","LegacyChip","newVariant","FilterChip","onDismiss","isDismissible","handleDismiss","stopPropagation","handleCloseKeyDown","closeButtonLabel","type","BooleanChip","breakpoints","breakpoint","media","StyledContainer","Container","PictureWrapper","ImageLink","duration","normal","easing","easeInOut","ImageButton","StyledImage","Picture","image","TimeStyled","time","DateFormatter","dateString","formatString","date","parseISO","dateTime","format","iconButton","IconButtonStyled","IconButton","ariaExpanded","ariaPressed","trim","assign","getIconColor","ProgressBarContainer","progressBar","ProgressBarFill","Math","min","$value","ProgressBar","value","StyledDivider","$orientation","borderProperty","separator","strong","minimal","margin","xlarge","Divider","orientation","StyledStack","getGapValue","semanticSpacing","Stack","direction","wrap","gapValue","StyledTag","Tag","variantIcons","info","variantIconColors","variantTitleColors","StyledAlert","$inline","StyledIconContainer","StyledContent","StyledTitle","StyledMessage","StyledActions","StyledDismissButton","Alert","dismissible","action","inline","ariaLive","_f","setIsVisible","alertIconColor","alertTitleColor","BreadcrumbNavStyled","nav","BreadcrumbStyled","li","_h","_g","_k","_j","_m","_l","isInternalUrl","Breadcrumbs","breadcrumbs","breadcrumb","index","length","rel","CardSmallStyled","CardSmall","meta","CardLargeStyled","CardLarge","excerpt","labels","onImageClick","imageHref","Array","isArray","HiddenCheckboxInput","input","StyledCheckbox","borderWidth","$checked","$indeterminate","$state","borderColor","StyledCheckboxContainer","$labelPosition","StyledCheckboxLabel","StyledFieldContainer","StyledHelperText","$error","Checkbox","forwardRef","ref","checked","indeterminate","labelPosition","helperText","onChange","providedId","id","ariaDescribedby","generatedId","useId","helperTextId","errorId","state","describedBy","filter","inputRef","useRef","useImperativeHandle","current","useEffect","ChipGroupWrapper","ChipGroup","StyledCodeBlock","pre","monospace","lineHeight","CodeBlockWrapper","CopyButtonWrapper","CopyButton","onCopy","copied","setCopied","timeoutRef","handleCopy","__awaiter","navigator","clipboard","writeText","sent","clearTimeout","setTimeout","err_1","CodeBlock","showCopyButton","testId","FeatureBlockStyled","ImageWrapper","ContentSection","ButtonWrapper","ContentWrapper","FeatureBlock","coverImage","onReadMore","readMoreHref","readMoreText","zIndex","DropdownContainer","DropdownTrigger","paddingY","paddingX","$hasError","cursor","$isOpen","DropdownIcon","DropdownMenu","DropdownOption","$isSelected","$isFocused","Dropdown","options","placeholder","isOpen","setIsOpen","focusedIndex","setFocusedIndex","dropdownRef","dropdownId","random","substr","selectedOption","find","option","hasError","helperId","handleClickOutside","contains","document","addEventListener","removeEventListener","trigger","querySelector","prev","newIndex","handleOptionClick","handleTriggerClick","selectedIndex","findIndex","optionId","htmlFor","marginBottom","StyledList","ul","$dividers","List","dividers","$spacing","StyledListItem","$interactive","opacity","StyledItemContent","StyledTextContent","StyledRightContent","StyledChevronIcon","$expanded","StyledExpandedContent","ListItem","badge","expandable","expanded","onToggle","isInteractive","ariaDisabled","ariaCurrent","StyledInputBase","StyledTextAreaBase","textarea","StyledLabel","StyledRequiredIndicator","StyledInputWrapper","StyledNumberInput","StyledStepperContainer","$isError","NumberInput","required","step","defaultValue","parseValue","useCallback","val","parsed","parseFloat","isNaN","formatValue","String","handleIncrement","inputElement","currentValue","numValue","newValue","syntheticEvent","currentTarget","handleDecrement","handleChange","inputValue","test","parsedValue","isIncrementDisabled","isDecrementDisabled","ariaDescribedByIds","inputMode","PageTitleStyled","$hasBackButton","PageTitle","hasBackButton","StyledToggleButton","PasswordField","showToggle","inputProps","showPassword","setShowPassword","togglePasswordVisibility","paddingRight","fadeIn","slideInRight","slideInLeft","slideInTop","slideInBottom","StyledOverlay","StyledSheet","isDrawer","StyledSheetContent","Sheet","onClose","closeOnOverlayClick","closeOnEscape","sheetRef","previousFocusRef","activeElement","focusableElements","querySelectorAll","firstElement","lastElement","shiftKey","handleOverlayClick","StyledSliderContainer","StyledSliderTrackContainer","StyledTrack","StyledTrackFill","StyledThumb","$active","StyledValueLabel","StyledMinMaxLabels","Slider","controlledValue","controlledRangeValue","rangeValue","defaultRangeValue","onRangeChange","showValueLabel","trackRef","activeThumb","setActiveThumb","isRange","internalValue","setInternalValue","internalRangeValue","setInternalRangeValue","currentRangeValue","clampValue","clamped","stepped","round","positionToValue","clientX","rect","getBoundingClientRect","percent","rawValue","valueToPercent","handleSingleChange","clampedValue","handleRangeChange","newMin","newMax","clampedMin","clampedMax","orderedMin","orderedMax","handleTrackClick","minVal","maxVal","distToMin","abs","distToMax","handleThumbMouseDown","thumb","handleMouseMove","handleMouseUp","valueChange","singlePercent","minPercent","maxPercent","onMouseDown","TextField","GridContainer","$cols","$gapX","$gapY","Grid","cols","gapX","gapY","GridColContainer","$span","$order","$spanSm","$spanMd","$spanLg","$spanXl","$orderSm","$orderMd","$orderLg","$orderXl","GridCol","spanSm","spanMd","spanLg","spanXl","order","orderSm","orderMd","orderLg","orderXl","ResponsiveGridContainer","$colsSm","$colsMd","$colsLg","$colsXl","$gapSm","$gapMd","$gapLg","$gapXl","$gapXSm","$gapXMd","$gapXLg","$gapXXl","$gapYSm","$gapYMd","$gapYLg","$gapYXl","ResponsiveGrid","colsSm","colsMd","colsLg","colsXl","gapSm","gapMd","gapLg","gapXl","gapXSm","gapXMd","gapXLg","gapXXl","gapYSm","gapYMd","gapYLg","gapYXl","tokensData"],"mappings":"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","x_google_ignoreList":[0,1]}
1
+ {"version":3,"file":"index.esm.js","sources":["../node_modules/@babel/runtime/helpers/esm/extends.js","../node_modules/tslib/tslib.es6.js","../src/components/atoms/Avatar/Avatar.tsx","../src/components/atoms/Typography/Typography.tsx","../src/components/atoms/Badge/Badge.tsx","../src/components/atoms/Box/Box.tsx","../src/components/atoms/Icon/Icon.tsx","../src/components/atoms/Button/Button.tsx","../src/components/atoms/Chip/shared/utils.ts","../src/components/atoms/Chip/shared/ChipBase.tsx","../src/components/atoms/Chip/Chip.tsx","../src/components/atoms/Chip/FilterChip.tsx","../src/components/atoms/Chip/BooleanChip.tsx","../src/lib/styleUtils.ts","../src/components/atoms/Container/Container.tsx","../src/components/atoms/Picture/Picture.tsx","../src/components/atoms/DateFormatter/DateFormatter.tsx","../src/components/atoms/IconButton/IconButton.tsx","../src/components/atoms/MoneyDisplay/MoneyDisplay.tsx","../src/components/atoms/ProgressBar/ProgressBar.tsx","../src/components/atoms/Divider/Divider.tsx","../src/components/atoms/Stack/Stack.tsx","../src/components/atoms/Tag/Tag.tsx","../src/components/molecules/AccountCard/AccountCard.tsx","../src/components/molecules/Alert/Alert.tsx","../src/components/molecules/Breadcrumbs/Breadcrumbs.tsx","../src/components/molecules/CardSmall/CardSmall.tsx","../src/components/molecules/CardLarge/CardLarge.tsx","../src/components/molecules/Checkbox/SelectableInputBase.tsx","../src/components/molecules/Checkbox/Checkbox.tsx","../src/components/molecules/ChipGroup/ChipGroup.tsx","../src/components/molecules/CodeBlock/CodeBlock.tsx","../src/components/molecules/DateGroup/DateGroup.tsx","../src/components/molecules/EmptyState/EmptyState.tsx","../src/components/molecules/FeatureBlock/FeatureBlock.tsx","../src/components/molecules/Dropdown/Dropdown.tsx","../src/components/molecules/List/List.tsx","../src/components/molecules/List/ListItem.tsx","../src/components/molecules/TextField/InputBase.tsx","../src/components/molecules/NumberInput/NumberInput.tsx","../src/components/molecules/PageTitle/PageTitle.tsx","../src/components/molecules/PasswordField/PasswordField.tsx","../src/components/molecules/Sheet/Sheet.tsx","../src/components/molecules/Slider/Slider.tsx","../src/components/molecules/TextField/TextField.tsx","../src/components/molecules/TransactionListItem/TransactionListItem.tsx","../src/components/layout/GridSystem/GridSystem.tsx","../src/index.ts"],"sourcesContent":["function _extends() {\n return _extends = Object.assign ? Object.assign.bind() : function (n) {\n for (var e = 1; e < arguments.length; e++) {\n var t = arguments[e];\n for (var r in t) ({}).hasOwnProperty.call(t, r) && (n[r] = t[r]);\n }\n return n;\n }, _extends.apply(null, arguments);\n}\nexport { _extends as default };","/******************************************************************************\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, { useState } from 'react'\nimport styled from 'styled-components'\nimport tokens from '@/styles/tokens.json'\n\nexport interface AvatarProps {\n name: string\n picture?: string\n size?: 'xs' | 'sm' | 'md' | 'lg' | 'xl'\n 'data-testid'?: string\n}\n\ninterface StyledAvatarProps {\n $size: 'xs' | 'sm' | 'md' | 'lg' | 'xl'\n}\n\nconst AvatarContainer = styled.div.withConfig({\n shouldForwardProp: (prop) => !prop.startsWith('$')\n})<StyledAvatarProps>`\n position: relative;\n display: inline-flex;\n align-items: center;\n justify-content: center;\n width: ${({ $size }) => tokens.semantic.size.avatar[$size]};\n height: ${({ $size }) => tokens.semantic.size.avatar[$size]};\n border-radius: ${tokens.base.border.radius.circle};\n background-color: ${tokens.semantic.color.background.surface};\n overflow: hidden;\n flex-shrink: 0;\n`\n\nconst AvatarImage = styled.img.withConfig({\n shouldForwardProp: (prop) => !prop.startsWith('$')\n})<StyledAvatarProps>`\n width: 100%;\n height: 100%;\n object-fit: cover;\n border-radius: ${tokens.base.border.radius.circle};\n /* Remove the img role since the container already has role=\"img\" */\n`\n\nconst AvatarInitials = styled.span.withConfig({\n shouldForwardProp: (prop) => !prop.startsWith('$')\n})<StyledAvatarProps>`\n font-family: ${tokens.base.fontFamily.body};\n font-weight: ${tokens.base.fontWeight[3]};\n font-size: ${({ $size }) => {\n const sizeMap = {\n xs: tokens.base.fontSize[1],\n sm: tokens.base.fontSize[2],\n md: tokens.base.fontSize[3],\n lg: tokens.base.fontSize[4],\n xl: tokens.base.fontSize[5]\n }\n return sizeMap[$size]\n }};\n color: ${tokens.semantic.color.text.default};\n line-height: 1;\n text-transform: uppercase;\n user-select: none;\n`\n\n// Helper function to get initials from name\nconst getInitials = (name: string): string => {\n return name\n .split(' ')\n .map(word => word.charAt(0))\n .join('')\n .slice(0, 2)\n .toUpperCase()\n}\n\nexport const Avatar: React.FC<AvatarProps> = ({ \n name, \n picture, \n size = 'md',\n 'data-testid': dataTestId,\n ...props \n}) => {\n // Remove styled-only props from the rest\n const { $size, ...htmlProps } = props as Record<string, any>\n const [imageError, setImageError] = useState(false)\n const [imageLoaded, setImageLoaded] = useState(false)\n\n const handleImageError = () => {\n setImageError(true)\n }\n\n const handleImageLoad = () => {\n setImageLoaded(true)\n }\n\n const showImage = picture && !imageError\n const initials = getInitials(name)\n\n return (\n <AvatarContainer \n $size={size}\n data-testid={dataTestId}\n data-size={size}\n role=\"img\"\n aria-label={`Avatar for ${name}`}\n {...htmlProps}\n >\n {showImage ? (\n <AvatarImage\n $size={size}\n src={picture}\n alt={`Avatar of ${name}`}\n onError={handleImageError}\n onLoad={handleImageLoad}\n data-state={imageLoaded ? 'loaded' : 'loading'}\n />\n ) : (\n <AvatarInitials \n $size={size}\n data-initials={initials}\n aria-hidden=\"true\"\n >\n {initials}\n </AvatarInitials>\n )}\n </AvatarContainer>\n )\n}","import React from 'react'\nimport styled from 'styled-components'\nimport tokens from '@/styles/tokens.json'\n\nconst { semantic: { typography, color } } = tokens\n\nexport type TypographyVariant = \n | 'display' \n | 'h1' \n | 'h2' \n | 'h3' \n | 'h4' \n | 'h5' \n | 'h6' \n | 'subtitle' \n | 'body' \n | 'small' \n | 'overline' \n | 'caption' \n | 'button1' \n | 'button2' \n | 'button3' \n | 'label'\n\nexport type TypographyColor = \"default\" | \"emphasis\" | \"subdued\" | \"inverse\" | \"disabled\" | \"interactive\" | \"error\" | \"success\" | \"warning\"\n\nexport interface TypographyProps {\n /** Typography variant defining the semantic meaning and style */\n variant?: TypographyVariant\n /** Color variant for the text */\n color?: TypographyColor\n /** Content to render */\n children: React.ReactNode\n /** HTML element to render as (overrides default semantic element) */\n as?: React.ElementType\n /** Data test id for testing */\n 'data-testid'?: string\n}\n\ninterface StyledTypographyProps {\n $variant: TypographyVariant\n $color: TypographyColor\n}\n\nconst getTypographyStyles = (variant: TypographyVariant) => {\n const styles = {\n display: `font: ${typography.display}; letter-spacing: ${tokens.base.letterSpacing[0]};`,\n h1: `font: ${typography.h1}; letter-spacing: ${tokens.base.letterSpacing[0]};`,\n h2: `font: ${typography.h2}; letter-spacing: ${tokens.base.letterSpacing[1]};`,\n h3: `font: ${typography.h3}; letter-spacing: ${tokens.base.letterSpacing[1]};`,\n h4: `font: ${typography.h4}; letter-spacing: ${tokens.base.letterSpacing[1]};`,\n h5: `font: ${typography.h5}; letter-spacing: ${tokens.base.letterSpacing[2]};`,\n h6: `font: ${typography.h6}; letter-spacing: ${tokens.base.letterSpacing[2]};`,\n subtitle: `font: ${typography.subtitle};`,\n body: `font: ${typography.body};`,\n small: `font: ${typography.small};`,\n overline: `font: ${typography.overline};`,\n caption: `font: ${typography.caption}; text-transform: uppercase;`,\n button1: `font: ${typography.button1};`,\n button2: `font: ${typography.button2};`,\n button3: `font: ${typography.button3};`,\n label: `font: ${typography.label};`,\n }\n \n return styles[variant] || styles.body\n}\n\nconst getTextColor = (colorVariant: TypographyColor) => {\n const colorMap = {\n default: color.text.default,\n emphasis: color.text.emphasis,\n subdued: color.text.subdued,\n inverse: color.text.inverse,\n disabled: color.text.disabled,\n interactive: color.text.interactive,\n error: color.text.error,\n success: color.text.success,\n warning: color.text.warning,\n }\n \n return colorMap[colorVariant] || colorMap.default\n}\n\nconst getDefaultElement = (variant: TypographyVariant): React.ElementType => {\n const elementMap: Record<TypographyVariant, React.ElementType> = {\n display: 'h1',\n h1: 'h1',\n h2: 'h2',\n h3: 'h3',\n h4: 'h4',\n h5: 'h5',\n h6: 'h6',\n subtitle: 'p',\n body: 'p',\n small: 'span',\n overline: 'span',\n caption: 'span',\n button1: 'span',\n button2: 'span',\n button3: 'span',\n label: 'span',\n }\n \n return elementMap[variant] || 'span'\n}\n\nconst StyledTypography = styled.span.withConfig({\n shouldForwardProp: (prop) => !prop.startsWith('$')\n})<StyledTypographyProps>`\n ${({ $variant }) => getTypographyStyles($variant)}\n color: ${({ $color }) => getTextColor($color)};\n margin: 0;\n \n /* Ensure proper line height for readability */\n ${({ $variant }) => {\n if (['body', 'subtitle', 'small'].includes($variant)) {\n return 'line-height: 1.5;'\n }\n return ''\n }}\n`\n\n/**\n * Typography is an atomic component for rendering text with semantic meaning and consistent styling.\n * \n * Features:\n * - Semantic variants (h1-h6, body, subtitle, etc.)\n * - Color variants for different contexts\n * - Automatic semantic HTML element selection\n * - Manual element override support\n * - Direct semantic token usage (no component tokens needed)\n * - Full accessibility support\n * \n * @example\n * ```tsx\n * <Typography variant=\"h1\">Main Heading</Typography>\n * <Typography variant=\"body\" color=\"subdued\">Body text</Typography>\n * <Typography variant=\"caption\" as=\"figcaption\">Image caption</Typography>\n * ```\n */\nexport const Typography: React.FC<TypographyProps> = ({ \n variant = 'body', \n children, \n color = 'default',\n as,\n 'data-testid': dataTestId\n}) => {\n // $variant and $color are only used for styled-components prop filtering\n const defaultElement = getDefaultElement(variant)\n const elementType = as || defaultElement\n\n return (\n <StyledTypography \n as={elementType}\n $variant={variant}\n $color={color}\n data-testid={dataTestId}\n >\n {children}\n </StyledTypography>\n )\n}\n","import React from 'react'\nimport styled, { keyframes } from 'styled-components'\nimport tokens from '@/styles/tokens.json'\nimport { Typography } from '../Typography'\n\nconst { semantic: { color }, base: { shadow } } = tokens\n\nexport interface BadgeProps {\n /** Content to wrap with the badge */\n children: React.ReactNode\n /** Number to display in the badge. If 0, badge is hidden */\n count?: number\n /** Maximum number to display before showing \"99+\" */\n max?: number\n /** Visual variant of the badge */\n variant?: 'default' | 'primary' | 'error' | 'warning' | 'success'\n /** Show only a dot indicator instead of count */\n dot?: boolean\n /** Screen reader label for the badge */\n 'aria-label'?: string\n /** Additional CSS class */\n className?: string\n}\n\nconst scaleIn = keyframes`\n from {\n transform: scale(0.8);\n opacity: 0;\n }\n to {\n transform: scale(1);\n opacity: 1;\n }\n`\n\nconst BadgeWrapper = styled.span`\n position: relative;\n display: inline-flex;\n vertical-align: middle;\n flex-shrink: 0;\n`\n\nconst BadgeIndicator = styled.span.withConfig({\n shouldForwardProp: (prop) => !prop.startsWith('$')\n})<{ $variant: string; $isDot: boolean; $isVisible: boolean }>`\n position: absolute;\n top: 0;\n right: 0;\n transform: translate(50%, -50%);\n display: ${props => props.$isVisible ? 'flex' : 'none'};\n align-items: center;\n justify-content: center;\n min-width: ${props => props.$isDot ? '8px' : '16px'};\n height: ${props => props.$isDot ? '8px' : '16px'};\n padding: ${props => props.$isDot ? '0' : '0 4px'};\n border-radius: ${tokens.base.border.radius.circle};\n line-height: 1;\n white-space: nowrap;\n box-shadow: 0 0 0 2px ${color.background.default};\n animation: ${scaleIn} 0.2s ease-out;\n \n ${props => {\n switch (props.$variant) {\n case 'primary':\n return `\n background-color: ${color.background.interactive};\n color: ${color.text.inverse};\n `\n case 'error':\n return `\n background-color: ${color.background.error};\n color: ${color.text.inverse};\n `\n case 'warning':\n return `\n background-color: ${color.background.warning};\n color: ${color.text.inverse};\n `\n case 'success':\n return `\n background-color: ${color.background.success};\n color: ${color.text.inverse};\n `\n default:\n return `\n background-color: ${color.background.emphasis};\n color: ${color.text.inverse};\n `\n }\n }}\n`\n\nconst ScreenReaderOnly = styled.span`\n position: absolute;\n width: 1px;\n height: 1px;\n padding: 0;\n margin: -1px;\n overflow: hidden;\n clip: rect(0, 0, 0, 0);\n white-space: nowrap;\n border-width: 0;\n`\n\nexport const Badge: React.FC<BadgeProps> = ({\n children,\n count = 0,\n max = 99,\n variant = 'default',\n dot = false,\n 'aria-label': ariaLabel,\n className\n}) => {\n const isVisible = dot || count > 0\n const displayCount = count > max ? `${max}+` : count.toString()\n \n // Generate default aria-label if not provided\n const defaultAriaLabel = dot \n ? 'New notification indicator'\n : count === 1 \n ? '1 notification' \n : `${count} notifications`\n \n const label = ariaLabel || defaultAriaLabel\n\n return (\n <BadgeWrapper className={className}>\n {children}\n <BadgeIndicator\n $variant={variant}\n $isDot={dot}\n $isVisible={isVisible}\n role=\"status\"\n aria-live=\"polite\"\n >\n {!dot && (\n <Typography variant=\"caption\" color=\"inverse\">\n {displayCount}\n </Typography>\n )}\n <ScreenReaderOnly>{label}</ScreenReaderOnly>\n </BadgeIndicator>\n </BadgeWrapper>\n )\n}\n","import React from 'react'\nimport styled, { css } from 'styled-components'\nimport tokens from '../../../styles/tokens.json'\n\n// Public props interface (without $ prefix, following atomic pattern)\nexport interface BoxProps {\n // Display\n display?: 'block' | 'inline' | 'inline-block' | 'flex' | 'inline-flex' | 'none'\n \n // Flexbox\n flexDirection?: 'row' | 'column' | 'row-reverse' | 'column-reverse'\n justifyContent?: 'flex-start' | 'flex-end' | 'center' | 'space-between' | 'space-around' | 'space-evenly'\n alignItems?: 'flex-start' | 'flex-end' | 'center' | 'stretch' | 'baseline'\n flexWrap?: 'nowrap' | 'wrap' | 'wrap-reverse'\n gap?: keyof typeof tokens.semantic.spacing.layout\n \n // Spacing (using semantic layout tokens)\n m?: keyof typeof tokens.semantic.spacing.layout\n mt?: keyof typeof tokens.semantic.spacing.layout\n mr?: keyof typeof tokens.semantic.spacing.layout\n mb?: keyof typeof tokens.semantic.spacing.layout\n ml?: keyof typeof tokens.semantic.spacing.layout\n mx?: keyof typeof tokens.semantic.spacing.layout\n my?: keyof typeof tokens.semantic.spacing.layout\n p?: keyof typeof tokens.semantic.spacing.layout\n pt?: keyof typeof tokens.semantic.spacing.layout\n pr?: keyof typeof tokens.semantic.spacing.layout\n pb?: keyof typeof tokens.semantic.spacing.layout\n pl?: keyof typeof tokens.semantic.spacing.layout\n px?: keyof typeof tokens.semantic.spacing.layout\n py?: keyof typeof tokens.semantic.spacing.layout\n \n // Size\n width?: string\n height?: string\n maxWidth?: string\n maxHeight?: string\n minWidth?: string\n minHeight?: string\n \n // Position\n position?: 'static' | 'relative' | 'absolute' | 'fixed' | 'sticky'\n top?: string\n right?: string\n bottom?: string\n left?: string\n \n // Borders\n borderRadius?: keyof typeof tokens.base.border.radius\n border?: keyof typeof tokens.semantic.color.border\n borderTop?: keyof typeof tokens.semantic.color.border\n borderRight?: keyof typeof tokens.semantic.color.border\n borderBottom?: keyof typeof tokens.semantic.color.border\n borderLeft?: keyof typeof tokens.semantic.color.border\n \n // Background & Color\n bg?: keyof typeof tokens.semantic.color.background\n color?: keyof typeof tokens.semantic.color.text\n \n // Overflow\n overflow?: 'visible' | 'hidden' | 'scroll' | 'auto'\n overflowX?: 'visible' | 'hidden' | 'scroll' | 'auto'\n overflowY?: 'visible' | 'hidden' | 'scroll' | 'auto'\n \n // Polymorphic component support\n as?: React.ElementType\n \n // Standard props\n children?: React.ReactNode\n id?: string\n style?: React.CSSProperties\n 'data-testid'?: string\n}\n\n// Internal styled props interface (with $ prefix)\ninterface StyledBoxProps {\n $display?: BoxProps['display']\n $flexDirection?: BoxProps['flexDirection']\n $justifyContent?: BoxProps['justifyContent']\n $alignItems?: BoxProps['alignItems']\n $flexWrap?: BoxProps['flexWrap']\n $gap?: BoxProps['gap']\n $m?: BoxProps['m']\n $mt?: BoxProps['mt']\n $mr?: BoxProps['mr']\n $mb?: BoxProps['mb']\n $ml?: BoxProps['ml']\n $mx?: BoxProps['mx']\n $my?: BoxProps['my']\n $p?: BoxProps['p']\n $pt?: BoxProps['pt']\n $pr?: BoxProps['pr']\n $pb?: BoxProps['pb']\n $pl?: BoxProps['pl']\n $px?: BoxProps['px']\n $py?: BoxProps['py']\n $width?: BoxProps['width']\n $height?: BoxProps['height']\n $maxWidth?: BoxProps['maxWidth']\n $maxHeight?: BoxProps['maxHeight']\n $minWidth?: BoxProps['minWidth']\n $minHeight?: BoxProps['minHeight']\n $position?: BoxProps['position']\n $top?: BoxProps['top']\n $right?: BoxProps['right']\n $bottom?: BoxProps['bottom']\n $left?: BoxProps['left']\n $borderRadius?: BoxProps['borderRadius']\n $border?: BoxProps['border']\n $borderTop?: BoxProps['borderTop']\n $borderRight?: BoxProps['borderRight']\n $borderBottom?: BoxProps['borderBottom']\n $borderLeft?: BoxProps['borderLeft']\n $bg?: BoxProps['bg']\n $color?: BoxProps['color']\n $overflow?: BoxProps['overflow']\n $overflowX?: BoxProps['overflowX']\n $overflowY?: BoxProps['overflowY']\n}\n\nconst StyledBox = styled.div.withConfig({\n shouldForwardProp: (prop) => !prop.startsWith('$'),\n})<StyledBoxProps>`\n ${props => props.$display && css`display: ${props.$display};`}\n \n // Flexbox\n ${props => props.$flexDirection && css`flex-direction: ${props.$flexDirection};`}\n ${props => props.$justifyContent && css`justify-content: ${props.$justifyContent};`}\n ${props => props.$alignItems && css`align-items: ${props.$alignItems};`}\n ${props => props.$flexWrap && css`flex-wrap: ${props.$flexWrap};`}\n ${props => props.$gap && css`gap: ${tokens.semantic.spacing.layout[props.$gap]};`}\n \n // Margin\n ${props => props.$m && css`margin: ${tokens.semantic.spacing.layout[props.$m]};`}\n ${props => props.$mt && css`margin-top: ${tokens.semantic.spacing.layout[props.$mt]};`}\n ${props => props.$mr && css`margin-right: ${tokens.semantic.spacing.layout[props.$mr]};`}\n ${props => props.$mb && css`margin-bottom: ${tokens.semantic.spacing.layout[props.$mb]};`}\n ${props => props.$ml && css`margin-left: ${tokens.semantic.spacing.layout[props.$ml]};`}\n ${props => props.$mx && css`\n margin-left: ${tokens.semantic.spacing.layout[props.$mx]};\n margin-right: ${tokens.semantic.spacing.layout[props.$mx]};\n `}\n ${props => props.$my && css`\n margin-top: ${tokens.semantic.spacing.layout[props.$my]};\n margin-bottom: ${tokens.semantic.spacing.layout[props.$my]};\n `}\n \n // Padding\n ${props => props.$p && css`padding: ${tokens.semantic.spacing.layout[props.$p]};`}\n ${props => props.$pt && css`padding-top: ${tokens.semantic.spacing.layout[props.$pt]};`}\n ${props => props.$pr && css`padding-right: ${tokens.semantic.spacing.layout[props.$pr]};`}\n ${props => props.$pb && css`padding-bottom: ${tokens.semantic.spacing.layout[props.$pb]};`}\n ${props => props.$pl && css`padding-left: ${tokens.semantic.spacing.layout[props.$pl]};`}\n ${props => props.$px && css`\n padding-left: ${tokens.semantic.spacing.layout[props.$px]};\n padding-right: ${tokens.semantic.spacing.layout[props.$px]};\n `}\n ${props => props.$py && css`\n padding-top: ${tokens.semantic.spacing.layout[props.$py]};\n padding-bottom: ${tokens.semantic.spacing.layout[props.$py]};\n `}\n \n // Size\n ${props => props.$width && css`width: ${props.$width};`}\n ${props => props.$height && css`height: ${props.$height};`}\n ${props => props.$maxWidth && css`max-width: ${props.$maxWidth};`}\n ${props => props.$maxHeight && css`max-height: ${props.$maxHeight};`}\n ${props => props.$minWidth && css`min-width: ${props.$minWidth};`}\n ${props => props.$minHeight && css`min-height: ${props.$minHeight};`}\n \n // Position\n ${props => props.$position && css`position: ${props.$position};`}\n ${props => props.$top && css`top: ${props.$top};`}\n ${props => props.$right && css`right: ${props.$right};`}\n ${props => props.$bottom && css`bottom: ${props.$bottom};`}\n ${props => props.$left && css`left: ${props.$left};`}\n \n // Borders\n ${props => props.$borderRadius && css`border-radius: ${tokens.base.border.radius[props.$borderRadius]};`}\n ${props => props.$border && css`border: 1px solid ${tokens.semantic.color.border[props.$border]};`}\n ${props => props.$borderTop && css`border-top: 1px solid ${tokens.semantic.color.border[props.$borderTop]};`}\n ${props => props.$borderRight && css`border-right: 1px solid ${tokens.semantic.color.border[props.$borderRight]};`}\n ${props => props.$borderBottom && css`border-bottom: 1px solid ${tokens.semantic.color.border[props.$borderBottom]};`}\n ${props => props.$borderLeft && css`border-left: 1px solid ${tokens.semantic.color.border[props.$borderLeft]};`}\n \n // Background & Color\n ${props => props.$bg && css`background-color: ${tokens.semantic.color.background[props.$bg]};`}\n ${props => props.$color && css`color: ${tokens.semantic.color.text[props.$color]};`}\n \n // Overflow\n ${props => props.$overflow && css`overflow: ${props.$overflow};`}\n ${props => props.$overflowX && css`overflow-x: ${props.$overflowX};`}\n ${props => props.$overflowY && css`overflow-y: ${props.$overflowY};`}\n`\n\n// Transform component that maps clean props to $-prefixed props for styled-components\nconst BoxTransform: React.FC<BoxProps> = (props) => {\n const {\n // Display\n display,\n \n // Flexbox\n flexDirection,\n justifyContent,\n alignItems,\n flexWrap,\n gap,\n \n // Spacing\n m,\n mt,\n mr,\n mb,\n ml,\n mx,\n my,\n p,\n pt,\n pr,\n pb,\n pl,\n px,\n py,\n \n // Size\n width,\n height,\n maxWidth,\n maxHeight,\n minWidth,\n minHeight,\n \n // Position\n position,\n top,\n right,\n bottom,\n left,\n \n // Borders\n borderRadius,\n border,\n borderTop,\n borderRight,\n borderBottom,\n borderLeft,\n \n // Background & Color\n bg,\n color,\n \n // Overflow\n overflow,\n overflowX,\n overflowY,\n \n // Standard props\n as,\n children,\n 'data-testid': dataTestId,\n ...rest\n } = props\n\n return (\n <StyledBox\n as={as}\n data-testid={dataTestId}\n $display={display}\n $flexDirection={flexDirection}\n $justifyContent={justifyContent}\n $alignItems={alignItems}\n $flexWrap={flexWrap}\n $gap={gap}\n $m={m}\n $mt={mt}\n $mr={mr}\n $mb={mb}\n $ml={ml}\n $mx={mx}\n $my={my}\n $p={p}\n $pt={pt}\n $pr={pr}\n $pb={pb}\n $pl={pl}\n $px={px}\n $py={py}\n $width={width}\n $height={height}\n $maxWidth={maxWidth}\n $maxHeight={maxHeight}\n $minWidth={minWidth}\n $minHeight={minHeight}\n $position={position}\n $top={top}\n $right={right}\n $bottom={bottom}\n $left={left}\n $borderRadius={borderRadius}\n $border={border}\n $borderTop={borderTop}\n $borderRight={borderRight}\n $borderBottom={borderBottom}\n $borderLeft={borderLeft}\n $bg={bg}\n $color={color}\n $overflow={overflow}\n $overflowX={overflowX}\n $overflowY={overflowY}\n {...rest}\n >\n {children}\n </StyledBox>\n )\n}\n\nexport const Box = BoxTransform\n","import React, { FC, ReactElement } from 'react'\nimport styled from 'styled-components'\nimport tokens from '@/styles/tokens.json'\nimport iconsData from '@/styles/icons.json'\nimport { type IconName } from '../../../types/icons'\n\nexport type { IconName }\n\nexport interface IconProps {\n name: IconName\n size?: 'xs' | 'sm' | 'md' | 'lg' | 'xl' | '2xl'\n iconColor?: 'default' | 'emphasis' | 'subdued' | 'disabled' | 'inverse' | 'interactive' | 'error' | 'success' | 'warning' | 'inherit'\n 'data-testid'?: string\n}\n\ninterface StyledIconProps {\n $size: 'xs' | 'sm' | 'md' | 'lg' | 'xl' | '2xl'\n $iconColor: 'default' | 'emphasis' | 'subdued' | 'disabled' | 'inverse' | 'interactive' | 'error' | 'success' | 'warning' | 'inherit'\n}\n\nconst IconStyled = styled.span.withConfig({\n shouldForwardProp: (prop) => !prop.startsWith('$')\n})<StyledIconProps>`\n display: inline-flex;\n align-items: center;\n justify-content: center;\n width: ${({ $size }) => tokens.semantic.size.icon[$size]};\n height: ${({ $size }) => tokens.semantic.size.icon[$size]};\n \n svg {\n width: 100%;\n height: 100%;\n display: block;\n }\n \n /* Use semantic icon colors */\n color: ${({ $iconColor }) => {\n switch ($iconColor) {\n case 'default':\n return tokens.semantic.color.icon.default\n case 'emphasis':\n return tokens.semantic.color.icon.emphasis\n case 'subdued':\n return tokens.semantic.color.icon.subdued\n case 'disabled':\n return tokens.semantic.color.icon.disabled\n case 'inverse':\n return tokens.semantic.color.icon.inverse\n case 'interactive':\n return tokens.semantic.color.icon.interactive\n case 'error':\n return tokens.semantic.color.icon.error\n case 'success':\n return tokens.semantic.color.icon.success\n case 'warning':\n return tokens.semantic.color.icon.warning\n case 'inherit':\n return 'currentColor'\n default:\n return tokens.semantic.color.icon.default\n }\n }};\n`\n\nexport const Icon: FC<IconProps> = ({\n name,\n size = 'lg',\n iconColor = 'default',\n 'data-testid': dataTestId\n}): ReactElement => {\n // Get the icon data from the JSON file\n const iconData = iconsData[name]\n \n if (!iconData) {\n console.warn(`Icon \"${name}\" not found in icons.json`)\n return <IconStyled $size={size} $iconColor={iconColor} data-testid={dataTestId} />\n }\n \n return (\n <IconStyled $size={size} $iconColor={iconColor} data-testid={dataTestId}>\n <svg\n viewBox=\"0 0 24 24\"\n fill=\"currentColor\"\n xmlns=\"http://www.w3.org/2000/svg\"\n role=\"img\"\n aria-label={iconData.name}\n >\n <path d={iconData.path} />\n </svg>\n </IconStyled>\n )\n}\n\nexport default Icon","import React from 'react'\nimport styled from 'styled-components'\nimport tokens from '@/styles/tokens.json'\nimport { Icon, type IconName } from '../Icon'\n\nconst { component: { button }, semantic } = tokens\n\n// Base props shared between button and link\nexport interface BaseButtonProps {\n variant?: 'primary' | 'secondary' | 'naked'\n size?: 'small' | 'medium' | 'large'\n url?: string\n purpose?: 'button' | 'link'\n target?: string\n children: React.ReactNode\n iconName?: IconName\n id?: string\n 'data-testid'?: string\n /**\n * Custom link component (e.g., Next.js Link, React Router Link)\n * Receives href, children, and other props\n * @example linkComponent={NextLink} or linkComponent={ReactRouterLink}\n */\n linkComponent?: React.ComponentType<any>\n}\n\n// Button-specific props\nexport interface ButtonProps extends BaseButtonProps, Omit<React.ButtonHTMLAttributes<HTMLButtonElement>, keyof BaseButtonProps> {\n purpose?: 'button'\n}\n\n// Link-specific props\nexport interface LinkProps extends BaseButtonProps, Omit<React.AnchorHTMLAttributes<HTMLAnchorElement>, keyof BaseButtonProps> {\n purpose: 'link'\n}\n\n// Union type for the component\ntype CustomButtonProps = ButtonProps | LinkProps\n\ninterface StyledButtonProps {\n $variant: 'primary' | 'secondary' | 'naked'\n $size: 'small' | 'medium' | 'large'\n}\n\n// Base styles shared between button and link\nconst baseButtonStyles = `\n box-sizing: border-box;\n display: inline-flex;\n align-items: center;\n justify-content: center;\n gap: ${tokens.semantic.spacing.layout.xs};\n height: max-content;\n cursor: pointer;\n border: none;\n text-decoration: none;\n transition: ${semantic.motion.hover};\n white-space: nowrap;\n user-select: none;\n \n &:focus {\n outline: ${button.focus.outline};\n outline-offset: ${button.focus.outlineOffset};\n }\n\n &:disabled {\n cursor: not-allowed;\n }\n`\n\n// Dynamic variant styles using component tokens\nconst getVariantStyles = ({ $variant }: StyledButtonProps) => `\n background-color: ${\n $variant === 'primary' \n ? button.primary.backgroundColor \n : $variant === 'secondary'\n ? button.variants.secondary.backgroundColor\n : button.variants.naked.backgroundColor\n };\n color: ${\n $variant === 'primary' \n ? button.primary.textColor \n : $variant === 'secondary'\n ? button.variants.secondary.textColor\n : button.variants.naked.textColor\n };\n \n &:hover:not(:disabled) {\n background-color: ${\n $variant === 'primary' \n ? button.hover.backgroundColor \n : $variant === 'secondary'\n ? button.variants.secondary.hover.backgroundColor\n : button.variants.naked.hover.backgroundColor\n };\n }\n\n &:active:not(:disabled) {\n background-color: ${\n $variant === 'primary' \n ? button.active.backgroundColor \n : $variant === 'secondary'\n ? button.variants.secondary.active.backgroundColor\n : button.variants.naked.active.backgroundColor\n };\n }\n\n &:disabled {\n background-color: ${\n $variant === 'primary' \n ? button.disabled.backgroundColor \n : $variant === 'secondary'\n ? button.variants.secondary.disabled.backgroundColor\n : button.variants.naked.disabled.backgroundColor\n };\n color: ${\n $variant === 'primary' \n ? button.disabled.textColor \n : $variant === 'secondary'\n ? button.variants.secondary.disabled.textColor\n : button.variants.naked.disabled.textColor\n };\n }\n`\n\n// Dynamic size styles using component tokens\nconst getSizeStyles = ({ $size }: StyledButtonProps) => {\n switch ($size) {\n case 'small':\n return `\n font: ${button.sizes.small.font};\n padding: ${button.sizes.small.padding};\n `\n case 'medium':\n return `\n font: ${button.sizes.medium.font};\n padding: ${button.sizes.medium.padding};\n `\n case 'large':\n return `\n font: ${button.sizes.large.font};\n padding: ${button.sizes.large.padding};\n `\n default:\n return `\n font: ${button.sizes.large.font};\n padding: ${button.sizes.large.padding};\n `\n }\n}\n\nconst StyledButton = styled.button.withConfig({\n shouldForwardProp: (prop) => !prop.startsWith('$')\n})<StyledButtonProps>`\n ${baseButtonStyles}\n border-radius: ${button.primary.borderRadius};\n \n ${getVariantStyles}\n ${getSizeStyles}\n`\n\nconst StyledLink = styled.a.withConfig({\n shouldForwardProp: (prop) => !prop.startsWith('$')\n})<StyledButtonProps>`\n ${baseButtonStyles}\n border-radius: ${button.primary.borderRadius};\n \n ${getVariantStyles}\n ${getSizeStyles}\n`\n\n// Helper function to get icon size based on button size\nconst getIconSize = (buttonSize?: 'small' | 'medium' | 'large'): 'xs' | 'sm' | 'md' => {\n switch (buttonSize) {\n case 'small':\n return 'xs'\n case 'medium':\n return 'sm'\n case 'large':\n return 'md'\n default:\n return 'md'\n }\n}\n\n// Helper function to render button content with optional icon\nconst renderButtonContent = (children: React.ReactNode, iconName?: IconName, size?: 'small' | 'medium' | 'large') => {\n if (!iconName) return children\n \n const iconSize = getIconSize(size)\n \n return (\n <>\n <Icon name={iconName} size={iconSize} iconColor=\"inherit\" />\n {children}\n </>\n )\n}\n\nexport const Button: React.FC<CustomButtonProps> = ({ \n variant = \"primary\", \n size = \"large\", \n url, \n purpose = 'button', \n children, \n target,\n iconName,\n linkComponent: LinkComponent,\n 'data-testid': dataTestId,\n ...rest \n}) => {\n // For links with custom link component (e.g., Next.js Link, React Router Link)\n if (purpose === 'link' && url && LinkComponent) {\n return (\n <LinkComponent href={url}>\n <StyledLink \n as=\"span\"\n $variant={variant} \n $size={size} \n data-testid={dataTestId}\n >\n {renderButtonContent(children, iconName, size)}\n </StyledLink>\n </LinkComponent>\n )\n }\n \n // For standard links (external or without custom component)\n if (purpose === 'link' && url) {\n const linkProps = rest as Omit<React.AnchorHTMLAttributes<HTMLAnchorElement>, keyof BaseButtonProps>\n return (\n <StyledLink \n href={url} \n target={target} \n $variant={variant} \n $size={size}\n data-testid={dataTestId}\n {...linkProps}\n >\n {renderButtonContent(children, iconName, size)}\n </StyledLink>\n )\n }\n \n // For button with URL (legacy support)\n if (purpose === 'button' && url) {\n const buttonProps = rest as Omit<React.ButtonHTMLAttributes<HTMLButtonElement>, keyof BaseButtonProps>\n const handleClick = (e: React.MouseEvent<HTMLButtonElement>) => {\n // Call any existing onClick handler first\n if (buttonProps.onClick) {\n buttonProps.onClick(e)\n }\n \n // Handle navigation\n if (url.startsWith('http') || target) {\n window.open(url, target || '_self')\n } else {\n window.location.href = url\n }\n }\n \n return (\n <StyledButton \n {...buttonProps}\n $variant={variant} \n $size={size}\n data-testid={dataTestId}\n onClick={handleClick}\n >\n {renderButtonContent(children, iconName, size)}\n </StyledButton>\n )\n }\n \n // Regular button\n const buttonProps = rest as Omit<React.ButtonHTMLAttributes<HTMLButtonElement>, keyof BaseButtonProps>\n return (\n <StyledButton \n $variant={variant} \n $size={size}\n data-testid={dataTestId}\n {...buttonProps}\n >\n {renderButtonContent(children, iconName, size)}\n </StyledButton>\n )\n}\n","import tokens from '../../../../styles/tokens.json'\nimport { ChipVariant, BaseChipProps } from './types'\n\nconst { component: { chip } } = tokens\n\n// Helper function to get variant styles as objects for CSS custom properties\nexport const getVariantStylesAsObject = (variant: ChipVariant, selected?: boolean) => {\n // Boolean chips with selected state get special background\n if (selected) {\n return {\n backgroundColor: tokens.semantic.color.background['interactive-subtle'],\n color: chip.default.textColor\n }\n }\n \n switch (variant) {\n case 'emphasis':\n return {\n backgroundColor: chip.variants.emphasis.backgroundColor,\n color: chip.variants.emphasis.textColor\n }\n case 'subtle':\n return {\n backgroundColor: chip.variants.subtle.backgroundColor,\n color: chip.variants.subtle.textColor\n }\n case 'interactive':\n return {\n backgroundColor: chip.variants.interactive.backgroundColor,\n color: chip.variants.interactive.textColor\n }\n case 'default':\n default:\n return {\n backgroundColor: chip.default.backgroundColor,\n color: chip.default.textColor\n }\n }\n}\n\n// Helper function to get size styles as objects for CSS custom properties\nexport const getSizeStylesAsObject = (size: BaseChipProps['size']) => {\n switch (size) {\n case 'small':\n return {\n font: chip.sizes.small.font,\n padding: chip.sizes.small.padding\n }\n case 'medium':\n default:\n return {\n font: chip.sizes.medium.font,\n padding: chip.sizes.medium.padding\n }\n }\n}\n\n// Export chip tokens for reuse\nexport { chip as chipTokens }\n","import React from 'react'\nimport styled from 'styled-components'\nimport tokens from '../../../../styles/tokens.json'\nimport { InternalStyledProps } from './types'\nimport { getVariantStylesAsObject, getSizeStylesAsObject, chipTokens } from './utils'\n\n// Base styled component using CSS variables to avoid prop leaking\nexport const BaseChipStyled = styled.span.withConfig({\n shouldForwardProp: (prop) => !prop.startsWith('$')\n})`\n display: inline-flex;\n align-items: center;\n justify-content: center;\n width: fit-content;\n height: max-content;\n border-radius: 12px;\n box-sizing: border-box;\n user-select: none;\n white-space: nowrap;\n transition: width ${tokens.semantic.motion.interactive};\n \n /* Use CSS custom properties set by wrapper */\n background-color: var(--chip-bg-color);\n color: var(--chip-text-color);\n font: var(--chip-font);\n padding: var(--chip-padding);\n opacity: var(--chip-opacity, 1);\n cursor: var(--chip-cursor, default);\n \n &:hover {\n opacity: var(--chip-hover-opacity, var(--chip-opacity, 1));\n }\n \n &:active {\n opacity: var(--chip-active-opacity, var(--chip-opacity, 1));\n }\n \n &:focus-visible {\n outline: 2px solid ${chipTokens.variants.interactive.backgroundColor};\n outline-offset: 2px;\n }\n`\n\n// Icon container for selected indicator or leading icons\nexport const IconContainer = styled.span`\n display: inline-flex;\n align-items: center;\n margin-right: ${tokens.semantic.spacing.layout.sm};\n`\n\n// Close button for dismissible chips\nexport const CloseButton = styled.button.withConfig({\n shouldForwardProp: (prop) => !prop.startsWith('$')\n})<{ $disabled?: boolean }>`\n display: inline-flex;\n align-items: center;\n justify-content: center;\n margin-left: ${tokens.semantic.spacing.layout.sm};\n background: transparent;\n border: none;\n padding: 0;\n cursor: ${props => props.$disabled ? 'not-allowed' : 'pointer'};\n opacity: ${props => props.$disabled ? '0.6' : '1'};\n color: inherit;\n transition: ${tokens.semantic.motion.transition.fast};\n \n &:hover:not(:disabled) {\n opacity: 0.7;\n }\n \n &:active:not(:disabled) {\n opacity: 0.9;\n }\n \n &:focus-visible {\n outline: 2px solid ${chipTokens.variants.interactive.backgroundColor};\n outline-offset: 2px;\n border-radius: 2px;\n }\n`\n\n// Wrapper component that applies styles via CSS custom properties\nexport const StyledChipWrapper: React.FC<React.PropsWithChildren<InternalStyledProps & React.HTMLAttributes<HTMLSpanElement>>> = ({\n $variant,\n $size,\n $disabled,\n $clickable,\n $selected,\n children,\n style,\n ...htmlProps\n}) => {\n // Get styles for variant and size\n const variantStyles = getVariantStylesAsObject($variant, $selected)\n const sizeStyles = getSizeStylesAsObject($size)\n \n // Create CSS custom properties object\n const cssProps = {\n '--chip-bg-color': variantStyles.backgroundColor,\n '--chip-text-color': variantStyles.color,\n '--chip-font': sizeStyles.font,\n '--chip-padding': sizeStyles.padding,\n '--chip-opacity': $disabled ? '0.6' : '1',\n '--chip-cursor': $disabled ? 'not-allowed' : ($clickable ? 'pointer' : 'default'),\n '--chip-hover-opacity': $disabled ? '0.6' : ($clickable ? '0.8' : '1'),\n '--chip-active-opacity': $disabled ? '0.6' : ($clickable ? '0.9' : '1')\n }\n \n return (\n <BaseChipStyled\n style={{ ...cssProps, ...style }}\n {...htmlProps}\n >\n {children}\n </BaseChipStyled>\n )\n}\n","import React from 'react'\nimport { BaseChipProps, ChipVariant, LegacyVariant } from './shared/types'\nimport { StyledChipWrapper } from './shared/ChipBase'\n\nexport interface ChipProps extends BaseChipProps {\n /** Visual style variant */\n variant?: ChipVariant | LegacyVariant\n /** Click handler for interactive chips */\n onClick?: () => void\n /** Custom ARIA role override */\n role?: string\n /** Legacy title prop for backward compatibility */\n title?: string\n}\n\n/**\n * Chip - Compact element for displaying tags, categories, and labels\n * \n * Use this component for static display chips or simple interactive chips.\n * For specialized filtering patterns, use:\n * - FilterChip: Dismissible chips for showing applied filters\n * - BooleanChip: Toggleable chips for quick filter controls\n * \n * Variants:\n * - default: Standard gray background\n * - emphasis: High-contrast dark background\n * - subtle: Light background for secondary info\n * - interactive: Blue background with hover states\n */\nexport const Chip: React.FC<ChipProps> = ({\n children,\n variant = 'default',\n size = 'medium',\n onClick,\n disabled = false,\n 'data-testid': dataTestId,\n 'aria-label': ariaLabel,\n 'aria-describedby': ariaDescribedBy,\n role,\n title,\n ...props\n}) => {\n const isClickable = Boolean(onClick && !disabled)\n \n // Map legacy variants to new variants\n const normalizedVariant: ChipVariant = \n variant === 'light' ? 'default' :\n variant === 'dark' ? 'emphasis' :\n variant as ChipVariant\n \n // Support legacy title prop\n const content = children !== undefined ? children : title\n \n const handleClick = () => {\n if (onClick && !disabled) {\n onClick()\n }\n }\n \n const handleKeyDown = (event: React.KeyboardEvent) => {\n if (isClickable && (event.key === 'Enter' || event.key === ' ')) {\n event.preventDefault()\n handleClick()\n }\n }\n \n return (\n <StyledChipWrapper\n $variant={normalizedVariant}\n $size={size}\n $disabled={disabled || undefined}\n $clickable={isClickable || undefined}\n onClick={isClickable ? handleClick : undefined}\n onKeyDown={handleKeyDown}\n tabIndex={isClickable ? 0 : undefined}\n role={role || (isClickable ? 'button' : undefined)}\n aria-label={ariaLabel}\n aria-describedby={ariaDescribedBy}\n aria-disabled={disabled ? 'true' : undefined}\n data-testid={dataTestId}\n {...props}\n >\n {content}\n </StyledChipWrapper>\n )\n}\n\n// Legacy component for backward compatibility\nexport interface LegacyChipProps {\n title: string\n variant?: LegacyVariant\n}\n\nexport const LegacyChip: React.FC<LegacyChipProps> = ({ title, variant = 'light' }) => {\n const newVariant = variant === 'dark' ? 'emphasis' : 'default'\n return <Chip variant={newVariant}>{title}</Chip>\n}\n","import React from 'react'\nimport { Icon } from '../Icon'\nimport { BaseChipProps } from './shared/types'\nimport { StyledChipWrapper, IconContainer, CloseButton } from './shared/ChipBase'\n\nexport interface FilterChipProps extends BaseChipProps {\n /** Whether the filter is in selected/applied state */\n selected?: boolean\n /** Callback function when the chip is dismissed via close button or keyboard */\n onDismiss?: () => void\n /** Custom ARIA role override */\n role?: string\n}\n\n/**\n * FilterChip - Chip for displaying filters with selected state and optional dismissal\n * \n * Use this component to show filters that can be selected/deselected.\n * When selected, displays a checkmark and light blue background.\n * Optionally dismissible when onDismiss is provided.\n * \n * Features:\n * - Shows checkmark icon when selected\n * - Light blue background when selected\n * - Optional close (×) button when onDismiss is provided\n * - Keyboard dismissal with Delete or Backspace keys (when dismissible)\n * - Non-clickable body (only close button is interactive when present)\n * - Uses subtle/interactive background styling based on selected state\n * - Announces as \"status\" to screen readers\n */\nexport const FilterChip: React.FC<FilterChipProps> = ({\n children,\n selected = false,\n onDismiss,\n size = 'medium',\n disabled = false,\n 'data-testid': dataTestId,\n 'aria-label': ariaLabel,\n 'aria-describedby': ariaDescribedBy,\n role,\n ...props\n}) => {\n const isDismissible = Boolean(onDismiss)\n \n const handleDismiss = (event: React.MouseEvent) => {\n event.stopPropagation() // Prevent event bubbling\n if (!disabled && onDismiss) {\n onDismiss()\n }\n }\n \n const handleKeyDown = (event: React.KeyboardEvent) => {\n // Handle dismiss with Delete or Backspace (only when dismissible)\n if (!disabled && isDismissible && onDismiss && (event.key === 'Delete' || event.key === 'Backspace')) {\n event.preventDefault()\n onDismiss()\n }\n }\n \n const handleCloseKeyDown = (event: React.KeyboardEvent) => {\n if (event.key === 'Enter' || event.key === ' ') {\n event.preventDefault()\n if (!disabled && onDismiss) onDismiss()\n }\n }\n \n // Generate accessible label for close button\n const closeButtonLabel = typeof children === 'string' ? `Remove ${children}` : 'Remove filter'\n \n return (\n <StyledChipWrapper\n $variant=\"subtle\"\n $size={size}\n $disabled={disabled || undefined}\n $clickable={false}\n $selected={selected}\n onKeyDown={handleKeyDown}\n role={role || 'status'}\n aria-label={ariaLabel}\n aria-describedby={ariaDescribedBy}\n aria-disabled={disabled ? 'true' : undefined}\n data-testid={dataTestId}\n {...props}\n >\n {/* Show selected indicator when selected */}\n {selected && (\n <IconContainer aria-hidden=\"true\">\n <Icon name=\"check\" size=\"sm\" />\n </IconContainer>\n )}\n \n {children}\n \n {/* Show close button only when dismissible */}\n {isDismissible && (\n <CloseButton\n type=\"button\"\n onClick={handleDismiss}\n onKeyDown={handleCloseKeyDown}\n disabled={disabled}\n $disabled={disabled}\n aria-label={closeButtonLabel}\n tabIndex={0}\n data-testid={dataTestId ? `${dataTestId}-close` : undefined}\n >\n <Icon name=\"close\" size=\"sm\" />\n </CloseButton>\n )}\n </StyledChipWrapper>\n )\n}\n","import React from 'react'\nimport { Icon } from '../Icon'\nimport { BaseChipProps } from './shared/types'\nimport { StyledChipWrapper, IconContainer } from './shared/ChipBase'\n\nexport interface BooleanChipProps extends BaseChipProps {\n /** Whether the chip is in selected state */\n selected: boolean\n /** Callback function when the chip is clicked/toggled */\n onClick: () => void\n}\n\n/**\n * BooleanChip - Toggleable chip for quick filter controls\n * \n * Use this component for multi-select filter controls where users can\n * see which options are active. Common in table filtering patterns where\n * users toggle filters on/off.\n * \n * Features:\n * - Shows checkmark icon when selected\n * - Entire chip is clickable to toggle\n * - Keyboard activation with Space or Enter\n * - Uses checkbox role with aria-checked\n * - Visual background change when selected\n */\nexport const BooleanChip: React.FC<BooleanChipProps> = ({\n children,\n selected,\n onClick,\n size = 'medium',\n disabled = false,\n 'data-testid': dataTestId,\n 'aria-label': ariaLabel,\n 'aria-describedby': ariaDescribedBy,\n ...props\n}) => {\n const handleClick = () => {\n if (!disabled) {\n onClick()\n }\n }\n \n const handleKeyDown = (event: React.KeyboardEvent) => {\n // Handle activation with Space or Enter\n if (event.key === 'Enter' || event.key === ' ') {\n event.preventDefault()\n handleClick()\n }\n }\n \n return (\n <StyledChipWrapper\n $variant=\"subtle\"\n $size={size}\n $disabled={disabled || undefined}\n $clickable={!disabled}\n $selected={selected}\n onClick={handleClick}\n onKeyDown={handleKeyDown}\n tabIndex={disabled ? undefined : 0}\n role=\"checkbox\"\n aria-checked={selected ? 'true' : 'false'}\n aria-label={ariaLabel}\n aria-describedby={ariaDescribedBy}\n aria-disabled={disabled ? 'true' : undefined}\n data-testid={dataTestId}\n {...props}\n >\n {/* Show selected indicator when selected */}\n {selected && (\n <IconContainer aria-hidden=\"true\">\n <Icon name=\"check\" size=\"sm\" />\n </IconContainer>\n )}\n \n {children}\n </StyledChipWrapper>\n )\n}\n","import tokens from '../styles/tokens.json'\n\n// Breakpoints using base tokens\nexport const breakpoints = {\n xs: tokens.base.breakpoint.xs,\n sm: tokens.base.breakpoint.sm,\n md: tokens.base.breakpoint.md,\n lg: tokens.base.breakpoint.lg,\n xl: tokens.base.breakpoint.xl,\n '2xl': tokens.base.breakpoint['2xl'],\n}\n\n// Media query helpers\nexport const media = {\n xs: `@media (min-width: ${breakpoints.xs})`,\n sm: `@media (min-width: ${breakpoints.sm})`,\n md: `@media (min-width: ${breakpoints.md})`,\n lg: `@media (min-width: ${breakpoints.lg})`,\n xl: `@media (min-width: ${breakpoints.xl})`,\n '2xl': `@media (min-width: ${breakpoints['2xl']})`,\n}\n\n// Re-export tokens for convenience\nexport { tokens }\nexport default tokens\n","import React from 'react'\nimport styled from 'styled-components'\nimport { media } from '../../../lib/styleUtils'\nimport tokens from '@/styles/tokens.json'\n\nconst { semantic: { spacing } } = tokens\n\nexport type ContainerProps = {\n children?: React.ReactNode\n 'data-testid'?: string\n} & React.HTMLAttributes<HTMLDivElement>\n\nconst StyledContainer = styled.div`\n width: 100%;\n margin-left: auto;\n margin-right: auto;\n padding-left: ${spacing.layout['2xl']};\n padding-right: ${spacing.layout['2xl']};\n \n ${media.sm} {\n max-width: 640px;\n }\n \n ${media.md} {\n max-width: 768px;\n }\n \n ${media.lg} {\n max-width: 1024px;\n }\n \n ${media.xl} {\n max-width: 1280px;\n }\n \n ${media['2xl']} {\n max-width: 1536px;\n }\n`\n\nexport const Container = ({ children, ...props }: ContainerProps) => {\n return <StyledContainer {...props}>{children}</StyledContainer>\n}","import React from 'react'\nimport styled from 'styled-components'\nimport tokens from '@/styles/tokens.json'\nimport { media } from '../../../lib/styleUtils'\n\nconst { base } = tokens\n\ntype PictureProps = {\n title: string\n src: string\n width?: number\n height?: number\n onClick?: () => void\n href?: string\n 'data-testid'?: string\n}\n\nconst PictureWrapper = styled.div`\n margin: 0 auto;\n \n ${media.sm} {\n margin-left: 0;\n margin-right: 0;\n }\n`\n\nconst ImageLink = styled.a`\n display: block;\n cursor: pointer;\n transition: opacity ${base.duration.normal} ${base.easing.easeInOut};\n \n &:hover {\n opacity: 0.8;\n }\n`\n\nconst ImageButton = styled.button`\n border: none;\n background: none;\n padding: 0;\n cursor: pointer;\n display: block;\n width: 100%;\n transition: opacity ${base.duration.normal} ${base.easing.easeInOut};\n \n &:hover {\n opacity: 0.8;\n }\n`\n\nconst StyledImage = styled.img`\n width: 100%;\n height: auto;\n border-radius: ${base.border.radius[2]};\n display: block;\n`\n\nexport const Picture: React.FC<PictureProps> = ({ \n title, \n src, \n width = 1300, \n height = 630,\n onClick,\n href,\n 'data-testid': dataTestId\n}) => {\n const image = (\n <StyledImage\n src={src}\n alt={title}\n width={width}\n height={height}\n />\n )\n\n return (\n <PictureWrapper data-testid={dataTestId}>\n {href ? (\n <ImageLink href={href} aria-label={`Read more about ${title}`}>\n {image}\n </ImageLink>\n ) : onClick ? (\n <ImageButton onClick={onClick} aria-label={`Read more about ${title}`}>\n {image}\n </ImageButton>\n ) : (\n image\n )}\n </PictureWrapper>\n )\n}\n","import React from 'react'\nimport { parseISO, format, isToday, isYesterday, isThisWeek, startOfWeek } from 'date-fns'\nimport styled from 'styled-components'\nimport tokens from '@/styles/tokens.json'\n\nconst { semantic: { typography, color } } = tokens\n\nexport type DateFormatMode = 'absolute' | 'relative' | 'smart'\n\nexport interface DateFormatterProps {\n /** ISO date string to format */\n dateString: string\n /** Format pattern (defaults to 'yyyy') */\n formatString?: string\n /** Date formatting mode: 'absolute' uses formatString, 'relative' shows \"Today\"/\"Yesterday\", 'smart' combines both */\n mode?: DateFormatMode\n /** Optional data-testid for testing */\n 'data-testid'?: string\n}\n\nconst TimeStyled = styled.time`\n font: ${typography.label};\n color: ${color.text.subdued};\n`\n\n/**\n * Formats a date with smart relative/absolute logic\n */\nconst formatDateSmart = (date: Date, customFormat?: string): string => {\n // Relative labels for recent dates\n if (isToday(date)) return 'Today'\n if (isYesterday(date)) return 'Yesterday'\n \n // Show day name for dates within this week\n if (isThisWeek(date, { weekStartsOn: 1 })) {\n return format(date, 'EEEE') // \"Monday\", \"Tuesday\", etc.\n }\n \n // Fall back to custom format or default full date format\n return format(date, customFormat || 'MMMM dd, yyyy')\n}\n\nexport const DateFormatter: React.FC<DateFormatterProps> = ({ \n dateString, \n formatString,\n mode = 'absolute',\n 'data-testid': dataTestId\n}) => {\n const date = parseISO(dateString)\n \n let displayText: string\n \n switch (mode) {\n case 'relative':\n // Always use relative labels (Today/Yesterday) or fall back to day name\n displayText = formatDateSmart(date, formatString)\n break\n case 'smart':\n // Smart mode: relative for recent, absolute for older\n displayText = formatDateSmart(date, formatString)\n break\n case 'absolute':\n default:\n // Always use the format string (default 'yyyy')\n displayText = format(date, formatString || 'yyyy')\n break\n }\n \n return (\n <TimeStyled dateTime={dateString} data-testid={dataTestId}>\n {displayText}\n </TimeStyled>\n )\n}","import React from 'react'\nimport styled from 'styled-components'\nimport { Icon, type IconName } from '../Icon'\nimport tokens from '@/styles/tokens.json'\n\nconst { semantic: { motion }, component: { iconButton } } = tokens\n\nexport interface IconButtonProps extends Omit<React.ButtonHTMLAttributes<HTMLButtonElement>, 'onClick'> {\n variant: 'primary' | 'secondary' | 'naked'\n size?: 'small' | 'medium' | 'large'\n iconName: IconName\n url?: string\n onClick?: () => void\n // Accessibility props\n 'aria-label': string // Required for screen readers\n 'aria-describedby'?: string\n 'aria-expanded'?: boolean\n 'aria-pressed'?: boolean\n 'data-testid'?: string\n}\n\ninterface StyledButtonProps {\n $variant: 'primary' | 'secondary' | 'naked'\n $size: 'small' | 'medium' | 'large'\n}\n\nconst IconButtonStyled = styled.button.withConfig({\n shouldForwardProp: (prop) => !prop.startsWith('$')\n})<StyledButtonProps>`\n background-color: ${({ $variant }) => {\n switch ($variant) {\n case 'primary':\n return iconButton.primary.backgroundColor\n case 'secondary':\n return iconButton.variants.secondary.backgroundColor\n case 'naked':\n return iconButton.variants.naked.backgroundColor\n default:\n return iconButton.primary.backgroundColor\n }\n }};\n border: none;\n border-radius: ${iconButton.primary.borderRadius};\n transition: ${motion.transition.normal};\n box-sizing: border-box;\n display: ${iconButton.primary.display};\n justify-content: ${iconButton.primary.justifyContent};\n align-items: ${iconButton.primary.alignItems};\n height: max-content;\n cursor: pointer;\n position: relative;\n\n /* Size-specific dimensions from component tokens */\n min-width: ${({ $size }) => iconButton.sizes[$size].minWidth};\n min-height: ${({ $size }) => iconButton.sizes[$size].minHeight};\n padding: ${({ $size }) => iconButton.sizes[$size].padding};\n\n &:hover {\n background-color: ${({ $variant }) => {\n switch ($variant) {\n case 'primary':\n return iconButton.hover.backgroundColor\n case 'secondary':\n return iconButton.variants.secondary.hover.backgroundColor\n case 'naked':\n return iconButton.variants.naked.hover.backgroundColor\n default:\n return iconButton.hover.backgroundColor\n }\n }};\n }\n\n &:active {\n background-color: ${iconButton.active.backgroundColor};\n }\n\n &:focus {\n outline: ${iconButton.focus.outline};\n outline-offset: ${iconButton.focus.outlineOffset};\n }\n\n &:disabled {\n background-color: ${iconButton.disabled.backgroundColor};\n cursor: not-allowed;\n }\n\n /* High contrast mode support */\n @media (prefers-contrast: high) {\n border: 1px solid;\n }\n\n /* Reduced motion support */\n @media (prefers-reduced-motion: reduce) {\n transition: none;\n }\n`\n\nexport const IconButton: React.FC<IconButtonProps> = ({ \n variant, \n size = 'medium', \n url, \n iconName = 'close',\n onClick,\n 'aria-label': ariaLabel,\n 'aria-describedby': ariaDescribedBy,\n 'aria-expanded': ariaExpanded,\n 'aria-pressed': ariaPressed,\n 'data-testid': dataTestId,\n disabled,\n type = 'button',\n ...htmlProps \n}) => {\n const handleClick = (event: React.MouseEvent<HTMLButtonElement>) => {\n // Prevent default if disabled\n if (disabled) {\n event.preventDefault()\n return\n }\n\n if (onClick) {\n onClick()\n } else if (url && url.trim() !== '') {\n // Use proper navigation instead of direct href assignment\n if (url.startsWith('http') || url.startsWith('//')) {\n window.open(url, '_blank', 'noopener,noreferrer')\n } else {\n window.location.assign(url)\n }\n }\n }\n\n const handleKeyDown = (event: React.KeyboardEvent<HTMLButtonElement>) => {\n // Handle keyboard activation (Enter and Space)\n if (disabled) return\n \n if (event.key === 'Enter' || event.key === ' ') {\n event.preventDefault()\n handleClick(event as any)\n }\n }\n\n const iconSize = size === 'large' ? 'lg' : size === 'small' ? 'sm' : 'md'\n \n const getIconColor = (variant: 'primary' | 'secondary' | 'naked') => {\n switch (variant) {\n case 'primary':\n return 'inverse'\n case 'secondary':\n return 'default'\n case 'naked':\n return 'default'\n default:\n return 'default'\n }\n }\n\n return (\n <IconButtonStyled \n $variant={variant} \n $size={size} \n onClick={handleClick}\n onKeyDown={handleKeyDown}\n disabled={disabled}\n type={type}\n role=\"button\"\n aria-label={ariaLabel}\n aria-describedby={ariaDescribedBy}\n aria-expanded={ariaExpanded}\n aria-pressed={ariaPressed}\n aria-disabled={disabled}\n tabIndex={disabled ? -1 : 0}\n data-testid={dataTestId}\n {...htmlProps}\n >\n <Icon \n name={iconName} \n size={iconSize} \n iconColor={getIconColor(variant)}\n aria-hidden=\"true\" // Hide icon from screen readers since button has aria-label\n />\n </IconButtonStyled>\n )\n}\n","import React from 'react'\nimport styled from 'styled-components'\nimport { Typography, type TypographyVariant, type TypographyColor } from '../Typography'\n\nexport type MoneyDisplayVariant = 'default' | 'positive' | 'negative' | 'neutral'\nexport type MoneyDisplaySize = 'small' | 'medium' | 'large' | 'xlarge'\nexport type MoneyDisplayWeight = 'regular' | 'medium' | 'bold'\nexport type MoneyDisplayAlign = 'left' | 'center' | 'right'\n\nexport interface MoneyDisplayProps {\n /** The monetary amount to display */\n amount: number\n /** Currency code (ISO 4217) */\n currency?: string\n /** Visual variant affecting color and style */\n variant?: MoneyDisplayVariant\n /** Show +/- sign prefix */\n showSign?: boolean\n /** Size of the amount display */\n size?: MoneyDisplaySize\n /** Font weight */\n weight?: MoneyDisplayWeight\n /** Locale for number formatting */\n locale?: string\n /** Align text */\n align?: MoneyDisplayAlign\n /** Data test id for testing */\n 'data-testid'?: string\n}\n\ninterface StyledWrapperProps {\n $align: MoneyDisplayAlign\n $weight: MoneyDisplayWeight\n}\n\nconst StyledWrapper = styled.span.withConfig({\n shouldForwardProp: (prop) => !prop.startsWith('$')\n})<StyledWrapperProps>`\n display: inline-block;\n text-align: ${({ $align }) => $align};\n font-weight: ${({ $weight }) => \n $weight === 'regular' ? 400 : \n $weight === 'medium' ? 500 : \n 700\n };\n`\n\n// Map size to Typography variant\nconst sizeToTypographyVariant: Record<MoneyDisplaySize, TypographyVariant> = {\n small: 'caption',\n medium: 'body',\n large: 'h3',\n xlarge: 'h2'\n}\n\n// Map MoneyDisplay variant to Typography color\nconst variantToTypographyColor: Record<MoneyDisplayVariant, TypographyColor> = {\n default: 'default',\n positive: 'success', // Green color for credits/income\n negative: 'error', // Red color for debits/expenses\n neutral: 'subdued' // Gray color for informational\n}\n\n/**\n * Generates aria-label with spelled out amount\n */\nconst generateAriaLabel = (amount: number, currency: string, locale: string): string => {\n const formatter = new Intl.NumberFormat(locale, {\n style: 'currency',\n currency: currency,\n minimumFractionDigits: 2,\n maximumFractionDigits: 2,\n })\n \n // Get parts to spell out the amount\n const parts = formatter.formatToParts(Math.abs(amount))\n const integerPart = parts.find(p => p.type === 'integer')?.value || '0'\n const fractionPart = parts.find(p => p.type === 'fraction')?.value || '00'\n \n const sign = amount < 0 ? 'negative ' : ''\n return `${sign}${integerPart} dollars and ${fractionPart} cents`\n}\n\nexport const MoneyDisplay: React.FC<MoneyDisplayProps> = ({\n amount,\n currency = 'AUD',\n variant = 'default',\n showSign = false,\n size = 'medium',\n weight = 'regular',\n locale = 'en-AU',\n align = 'left',\n 'data-testid': dataTestId\n}) => {\n // Format the number with Intl.NumberFormat\n const formatter = new Intl.NumberFormat(locale, {\n style: 'currency',\n currency: currency,\n minimumFractionDigits: 2,\n maximumFractionDigits: 2,\n })\n \n const formattedAmount = formatter.format(Math.abs(amount))\n \n // Add sign if needed\n let displayText = formattedAmount\n if (showSign && amount !== 0) {\n const signSymbol = amount > 0 ? '+' : '−' // Using minus sign character, not hyphen\n displayText = signSymbol + formattedAmount\n } else if (amount < 0 && !showSign) {\n // Still show negative sign even without showSign\n displayText = '−' + formattedAmount\n }\n \n // Generate accessibility label\n const ariaLabel = generateAriaLabel(amount, currency, locale)\n \n // Get typography variant and color\n const typographyVariant = sizeToTypographyVariant[size]\n const typographyColor = variantToTypographyColor[variant]\n \n return (\n <StyledWrapper \n $align={align} \n $weight={weight}\n aria-label={ariaLabel}\n data-testid={dataTestId}\n >\n <Typography\n variant={typographyVariant}\n color={typographyColor}\n as=\"span\"\n >\n {displayText}\n </Typography>\n </StyledWrapper>\n )\n}\n","import React from 'react'\nimport styled, { css } from 'styled-components'\nimport tokens from '../../../styles/tokens.json'\n\nexport interface ProgressBarProps {\n /** Progress value from 0 to 100 */\n value: number\n /** Orientation of the progress bar */\n variant?: 'horizontal' | 'vertical'\n /** Color variant for the progress bar */\n color?: 'success' | 'error' | 'default'\n /** Height size for horizontal progress bar (default: md) */\n height?: 'sm' | 'md' | 'lg' | 'xl'\n /** Width size for vertical progress bar (default: md) */\n width?: 'sm' | 'md' | 'lg' | 'xl'\n /** Data attribute for testing */\n 'data-testid'?: string\n}\n\ninterface StyledProgressBarContainerProps {\n $variant: 'horizontal' | 'vertical'\n $height?: 'sm' | 'md' | 'lg' | 'xl'\n $width?: 'sm' | 'md' | 'lg' | 'xl'\n}\n\ninterface StyledProgressBarFillProps {\n $value: number\n $variant: 'horizontal' | 'vertical'\n $color: 'success' | 'error' | 'default'\n}\n\nconst ProgressBarContainer = styled.div.withConfig({\n shouldForwardProp: (prop) => !prop.startsWith('$')\n})<StyledProgressBarContainerProps>`\n background-color: ${tokens.semantic.color.background.disabled};\n border-radius: ${tokens.base.border.radius[1]};\n overflow: hidden;\n\n ${props => props.$variant === 'horizontal' && css`\n width: 100%;\n height: ${props.$height ? tokens.component.progressBar.sizes[props.$height].height : tokens.component.progressBar.sizes.md.height};\n `}\n\n ${props => props.$variant === 'vertical' && css`\n width: ${props.$width ? tokens.component.progressBar.sizes[props.$width].height : tokens.component.progressBar.sizes.md.height};\n height: 100%;\n `}\n`\n\nconst ProgressBarFill = styled.div.withConfig({\n shouldForwardProp: (prop) => !prop.startsWith('$')\n})<StyledProgressBarFillProps>`\n height: 100%;\n transition: ${tokens.semantic.motion.transition.normal};\n\n ${props => {\n let backgroundColor\n switch (props.$color) {\n case 'success':\n backgroundColor = tokens.semantic.color.background.success\n break\n case 'error':\n backgroundColor = tokens.semantic.color.background.error\n break\n case 'default':\n default:\n backgroundColor = tokens.semantic.color.background.interactive\n break\n }\n return css`background-color: ${backgroundColor};`\n }}\n\n ${props => props.$variant === 'horizontal' && css`\n width: ${Math.min(100, Math.max(0, props.$value))}%;\n `}\n\n ${props => props.$variant === 'vertical' && css`\n width: 100%;\n height: ${Math.min(100, Math.max(0, props.$value))}%;\n `}\n`\n\nexport const ProgressBar: React.FC<ProgressBarProps> = ({\n value,\n variant = 'horizontal',\n color = 'default',\n height,\n width,\n 'data-testid': dataTestId,\n}) => {\n return (\n <ProgressBarContainer\n $variant={variant}\n $height={height}\n $width={width}\n data-testid={dataTestId}\n role=\"progressbar\"\n aria-valuenow={Math.min(100, Math.max(0, value))}\n aria-valuemin={0}\n aria-valuemax={100}\n >\n <ProgressBarFill\n $value={value}\n $variant={variant}\n $color={color}\n />\n </ProgressBarContainer>\n )\n}\n\nexport default ProgressBar\n","import React from 'react'\nimport styled from 'styled-components'\nimport tokens from '@/styles/tokens.json'\n\nexport interface DividerProps {\n /** Variant style of the divider */\n variant?: 'default' | 'strong' | 'minimal'\n /** Size variation affecting spacing */\n size?: 'small' | 'medium' | 'large' | 'xlarge'\n /** Orientation of the divider */\n orientation?: 'horizontal' | 'vertical'\n /** Data test id for testing */\n 'data-testid'?: string\n}\n\ninterface StyledDividerProps {\n $variant: DividerProps['variant']\n $size: DividerProps['size']\n $orientation: DividerProps['orientation']\n}\n\nconst StyledDivider = styled.div.withConfig({\n shouldForwardProp: (prop) => !prop.startsWith('$')\n})<StyledDividerProps>`\n border: none;\n \n /* Apply orientation */\n ${({ $orientation = 'horizontal' }) => {\n if ($orientation === 'vertical') {\n return `\n display: inline-block;\n height: auto;\n align-self: stretch;\n border-left: 1px solid;\n border-top: none;\n `\n }\n return `border-top: 1px solid;`\n }}\n \n /* Apply variant styles */\n ${({ $variant = 'default', $orientation = 'horizontal' }) => {\n const borderProperty = $orientation === 'vertical' ? 'border-left' : 'border-top'\n switch ($variant) {\n case 'strong':\n return `${borderProperty}: ${tokens.component.separator.variants.strong.border};`\n case 'minimal':\n return `${borderProperty}: ${tokens.component.separator.variants.minimal.border};`\n case 'default':\n default:\n return `${borderProperty}: ${tokens.component.separator.variants.default.border};`\n }\n }}\n \n /* Apply size styles (spacing) */\n ${({ $size = 'large', $variant = 'default', $orientation = 'horizontal' }) => {\n if ($variant === 'minimal' && $orientation === 'horizontal') {\n // Minimal variant always uses its predefined spacing for horizontal\n return `margin: ${tokens.component.separator.variants.minimal.margin};`\n }\n \n if ($orientation === 'vertical') {\n // Vertical orientation uses horizontal margins (left/right)\n switch ($size) {\n case 'small':\n return `margin: 0 ${tokens.semantic.spacing.separator.sm};`\n case 'medium':\n return `margin: 0 ${tokens.semantic.spacing.separator.md};`\n case 'xlarge':\n return `margin: 0 ${tokens.semantic.spacing.separator.xl};`\n case 'large':\n default:\n return `margin: 0 ${tokens.semantic.spacing.separator.lg};`\n }\n }\n \n // Horizontal orientation uses vertical margins (top/bottom)\n switch ($size) {\n case 'small':\n return `margin: ${tokens.component.separator.sizes.small.margin};`\n case 'medium':\n return `margin: ${tokens.component.separator.sizes.medium.margin};`\n case 'xlarge':\n return `margin: ${tokens.component.separator.sizes.xlarge.margin};`\n case 'large':\n default:\n return `margin: ${tokens.component.separator.sizes.large.margin};`\n }\n }}\n`\n\n/**\n * Divider is an atomic component that provides visual separation between content sections.\n * \n * Features:\n * - Multiple variants (default, strong, minimal)\n * - Size variations for different spacing needs\n * - Horizontal and vertical orientations\n * - Semantic token usage for consistent styling\n * - Full accessibility support\n * \n * @example\n * ```tsx\n * <Divider />\n * <Divider variant=\"strong\" size=\"xlarge\" />\n * <Divider variant=\"minimal\" />\n * <Divider orientation=\"vertical\" />\n * ```\n */\nexport const Divider: React.FC<DividerProps> = ({\n variant = 'default',\n size = 'large',\n orientation = 'horizontal',\n 'data-testid': dataTestId,\n}) => {\n return (\n <StyledDivider\n $variant={variant}\n $size={size}\n $orientation={orientation}\n data-testid={dataTestId}\n role=\"separator\"\n aria-orientation={orientation}\n />\n )\n}\n","import React from 'react'\nimport styled from 'styled-components'\nimport tokens from '@/styles/tokens.json'\n\nexport type StackDirection = 'column' | 'row'\nexport type StackAlign = 'center' | 'flex-start' | 'flex-end' | 'stretch' | 'baseline'\nexport type StackJustify = 'center' | 'flex-start' | 'flex-end' | 'space-between' | 'space-around' | 'space-evenly'\nexport type StackGap = 'none' | 'xs' | 'sm' | 'md' | 'lg' | 'xl' | '2xl' | '3xl' | '4xl' | '5xl' | '6xl'\n\nexport interface StackProps {\n children: React.ReactNode\n direction?: StackDirection\n alignItems?: StackAlign\n justifyContent?: StackJustify\n gap?: StackGap\n wrap?: boolean\n 'data-testid'?: string\n}\n\ninterface StyledStackProps {\n $direction: StackDirection\n $alignItems?: StackAlign\n $justifyContent?: StackJustify\n $gap: string\n $wrap: boolean\n}\n\nconst StyledStack = styled.div.withConfig({\n shouldForwardProp: (prop) => !prop.startsWith('$')\n})`\n display: flex;\n flex-direction: var(--stack-direction);\n align-items: var(--stack-align-items);\n justify-content: var(--stack-justify-content);\n gap: var(--stack-gap);\n flex-wrap: var(--stack-wrap);\n`\n\n// Helper function to convert gap prop to CSS value\nconst getGapValue = (gap: StackGap): string => {\n // Get semantic layout spacing token\n const semanticSpacing = tokens.semantic.spacing.layout as Record<string, string>\n \n if (gap in semanticSpacing) {\n return semanticSpacing[gap as keyof typeof semanticSpacing]\n }\n \n // Fallback to medium layout spacing if token not found\n return tokens.semantic.spacing.layout.md\n}\n\nexport const Stack: React.FC<StackProps> = ({ \n children, \n direction = 'row', \n gap = 'md', \n alignItems, \n justifyContent,\n wrap = false,\n 'data-testid': dataTestId\n}) => {\n const gapValue = getGapValue(gap)\n \n // Create CSS custom properties object with proper typing\n const cssProps: React.CSSProperties = {\n '--stack-direction': direction,\n '--stack-align-items': alignItems || 'initial',\n '--stack-justify-content': justifyContent || 'initial',\n '--stack-gap': gapValue,\n '--stack-wrap': wrap ? 'wrap' : 'nowrap'\n } as React.CSSProperties\n \n return (\n <StyledStack \n style={cssProps}\n data-testid={dataTestId}\n >\n {children}\n </StyledStack>\n )\n}\n\nexport default Stack\n","import React from 'react'\nimport styled from 'styled-components'\nimport tokens from '@/styles/tokens.json'\n\nconst { semantic } = tokens\n\nexport interface TagProps {\n /**\n * Text content to display in the tag\n */\n children: React.ReactNode\n \n /**\n * Visual variant of the tag based on semantic meaning\n * @default 'default'\n */\n variant?: 'default' | 'interactive' | 'success' | 'warning' | 'error' | 'emphasis'\n \n /**\n * Whether to show a border\n * @default true\n */\n border?: boolean\n \n /**\n * Test identifier for automated testing\n */\n 'data-testid'?: string\n}\n\ninterface StyledTagProps {\n $variant: TagProps['variant']\n $border: boolean\n}\n\nconst StyledTag = styled.span.withConfig({\n shouldForwardProp: (prop) => !prop.startsWith('$')\n})<StyledTagProps>`\n display: inline-flex;\n align-items: center;\n justify-content: center;\n border-radius: ${tokens.base.border.radius[2]};\n user-select: none;\n white-space: nowrap;\n max-height: ${tokens.semantic.size.icon.lg || '2rem'};\n \n /* Size - fixed to small */\n padding: ${tokens.base.spacing[1]} ${tokens.base.spacing[2]};\n font: ${tokens.semantic.typography.button3};\n \n /* Variant styles */\n background-color: ${({ $variant }) => {\n switch ($variant) {\n case 'interactive':\n return semantic.color.background['interactive-subtle']\n case 'success':\n return semantic.color.background['success-subtle']\n case 'warning':\n return semantic.color.background['warning-subtle']\n case 'error':\n return semantic.color.background['error-subtle']\n case 'emphasis':\n return semantic.color.background.emphasis\n default:\n return semantic.color.background.surface\n }\n }};\n \n color: ${({ $variant }) => {\n switch ($variant) {\n case 'interactive':\n return semantic.color.text.interactive\n case 'success':\n return semantic.color.text.success\n case 'warning':\n return semantic.color.text.warning\n case 'error':\n return semantic.color.text.error\n case 'emphasis':\n return semantic.color.text.inverse\n default:\n return semantic.color.text.default\n }\n }};\n \n border: ${({ $variant, $border }) => {\n if (!$border) return 'none'\n \n switch ($variant) {\n case 'interactive':\n return `1px solid ${semantic.color.border.interactive}`\n case 'success':\n return `1px solid ${semantic.color.border.success}`\n case 'warning':\n return `1px solid ${semantic.color.border.warning}`\n case 'error':\n return `1px solid ${semantic.color.border.error}`\n case 'emphasis':\n return `1px solid ${semantic.color.background.emphasis}`\n default:\n return `1px solid ${semantic.color.border.default}`\n }\n }};\n`\n\n/**\n * Tag component for categorizing and labeling content\n * \n * A static, non-interactive label used to categorize elements or objects in the UI.\n * Tags help users quickly identify and understand content classification.\n */\nexport const Tag: React.FC<TagProps> = ({\n children,\n variant = 'default',\n border = true,\n 'data-testid': dataTestId,\n ...props\n}) => {\n return (\n <StyledTag\n $variant={variant}\n $border={border}\n data-testid={dataTestId}\n data-variant={variant}\n data-border={border}\n role=\"status\"\n aria-label={typeof children === 'string' ? `Tag: ${children}` : undefined}\n {...props}\n >\n {children}\n </StyledTag>\n )\n}\n","import React from 'react'\nimport styled from 'styled-components'\nimport { Stack } from '../../atoms/Stack'\nimport { Box } from '../../atoms/Box'\nimport { Icon, IconName } from '../../atoms/Icon'\nimport { Typography } from '../../atoms/Typography'\nimport { MoneyDisplay } from '../../atoms/MoneyDisplay'\nimport { Button } from '../../atoms/Button'\nimport tokens from '../../../styles/tokens.json'\n\nexport type AccountType = 'checking' | 'savings' | 'credit' | 'investment' | 'loan'\nexport type TrendDirection = 'up' | 'down' | 'neutral'\n\nexport interface AccountCardAction {\n label: string\n onClick: () => void\n icon?: IconName\n variant?: 'primary' | 'secondary' | 'naked'\n}\n\nexport interface AccountCardProps {\n /** Type of account */\n accountType: AccountType\n \n /** Display name of the account */\n accountName: string\n \n /** Account balance */\n balance: number\n \n /** Optional account number (last 4 digits) */\n accountNumber?: string\n \n /** Trend direction for balance change */\n trend?: TrendDirection\n \n /** Trend value (e.g., percentage or amount) */\n trendValue?: string\n \n /** Primary action button */\n action?: AccountCardAction\n \n /** Secondary action button */\n secondaryAction?: AccountCardAction\n \n /** Currency code */\n currency?: string\n \n /** Whether the card should be interactive (clickable) */\n onClick?: () => void\n \n /** Test identifier for automated testing */\n 'data-testid'?: string\n}\n\ninterface StyledCardProps {\n $clickable?: boolean\n}\n\nconst StyledCard = styled.div<StyledCardProps>`\n min-width: 300px;\n min-height: 200px;\n padding: ${tokens.semantic.spacing.layout.lg};\n background-color: ${tokens.semantic.color.background.surface};\n border: 1px solid ${tokens.semantic.color.border.default};\n border-radius: ${tokens.base.border.radius[5]};\n box-shadow: ${tokens.base.shadow[3]};\n transition: all 0.2s ease;\n \n ${({ $clickable }) => $clickable && `\n cursor: pointer;\n \n &:hover {\n box-shadow: ${tokens.base.shadow[4]};\n transform: translateY(-2px);\n }\n \n &:active {\n transform: translateY(0);\n }\n \n &:focus-visible {\n outline: 2px solid ${tokens.semantic.color.border.interactive};\n outline-offset: 2px;\n }\n `}\n`\n\nconst StyledHeader = styled.div`\n display: flex;\n align-items: flex-start;\n justify-content: space-between;\n margin-bottom: ${tokens.semantic.spacing.layout.md};\n`\n\nconst StyledIconWrapper = styled.div`\n width: 40px;\n height: 40px;\n display: flex;\n align-items: center;\n justify-content: center;\n background-color: ${tokens.semantic.color.background.interactive};\n border-radius: ${tokens.base.border.radius[3]};\n color: ${tokens.semantic.color.icon.interactive};\n`\n\nconst StyledBalanceSection = styled.div`\n margin-bottom: ${tokens.semantic.spacing.layout.lg};\n`\n\nconst StyledTrendSection = styled.div`\n display: flex;\n align-items: center;\n gap: ${tokens.semantic.spacing.layout.xs};\n margin-top: ${tokens.semantic.spacing.layout.sm};\n`\n\nconst StyledActions = styled.div`\n display: flex;\n gap: ${tokens.semantic.spacing.layout.sm};\n margin-top: auto;\n \n & > * {\n flex: 1;\n }\n`\n\nconst StyledStackWrapper = styled.div`\n height: 100%;\n min-height: 168px;\n`\n\n// Map account types to icon names (using placeholders)\nconst accountTypeToIcon: Record<AccountType, IconName> = {\n checking: 'paper', // Will use bank icon\n savings: 'star', // Will use piggyBank icon\n credit: 'paper', // Will use creditCard icon\n investment: 'star', // Will use chartLine icon\n loan: 'paper' // Will use document icon\n}\n\n// Map trend direction to icon and color\nconst trendToIcon: Record<TrendDirection, IconName> = {\n up: 'arrowUp',\n down: 'arrowDown',\n neutral: 'arrowRight'\n}\n\n/**\n * AccountCard component\n * \n * Displays account information in a card format with account type icon,\n * name, balance, optional trend indicator, and action buttons. Minimum\n * 300x200px with elevation and hover effects.\n * \n * Composes: Stack, Box, Icon, Typography, MoneyDisplay, Button\n */\nexport const AccountCard: React.FC<AccountCardProps> = ({\n accountType,\n accountName,\n balance,\n accountNumber,\n trend,\n trendValue,\n action,\n secondaryAction,\n currency = 'AUD',\n onClick,\n 'data-testid': dataTestId\n}) => {\n const isClickable = !!onClick\n \n // Get account type icon\n const accountIcon = accountTypeToIcon[accountType]\n \n // Get trend icon and color\n const trendIcon = trend ? trendToIcon[trend] : undefined\n const trendColor = trend === 'up' ? 'success' : trend === 'down' ? 'error' : 'subdued'\n \n const handleClick = () => {\n if (isClickable && onClick) {\n onClick()\n }\n }\n \n const handleKeyDown = (e: React.KeyboardEvent) => {\n if (isClickable && (e.key === 'Enter' || e.key === ' ')) {\n e.preventDefault()\n onClick?.()\n }\n }\n \n return (\n <StyledCard\n $clickable={isClickable}\n onClick={handleClick}\n onKeyDown={handleKeyDown}\n tabIndex={isClickable ? 0 : undefined}\n role={isClickable ? 'button' : 'article'}\n aria-label={isClickable ? `${accountName} account, balance ${balance}` : undefined}\n data-testid={dataTestId}\n >\n <StyledStackWrapper>\n <Stack direction=\"column\" gap=\"none\">\n <StyledHeader>\n <Stack direction=\"row\" gap=\"md\" alignItems=\"center\">\n <StyledIconWrapper aria-label={`${accountType} account`} role=\"img\">\n <Icon \n name={accountIcon} \n size=\"md\" \n />\n </StyledIconWrapper>\n <Stack direction=\"column\" gap=\"xs\">\n <Typography variant=\"h4\">\n {accountName}\n </Typography>\n {accountNumber && (\n <Typography variant=\"caption\" color=\"subdued\">\n •••• {accountNumber}\n </Typography>\n )}\n </Stack>\n </Stack>\n </StyledHeader>\n \n <StyledBalanceSection>\n <Stack direction=\"column\" gap=\"xs\">\n <Typography variant=\"caption\" color=\"subdued\">\n Balance\n </Typography>\n <MoneyDisplay\n amount={balance}\n currency={currency}\n size=\"xlarge\"\n weight=\"bold\"\n data-testid={dataTestId ? `${dataTestId}-balance` : undefined}\n />\n </Stack>\n \n {trend && trendValue && (\n <StyledTrendSection aria-label={`Trend ${trend}`} role=\"img\">\n <Icon \n name={trendIcon!} \n size=\"xs\" \n iconColor={trendColor}\n />\n <Typography variant=\"caption\" color={trendColor}>\n {trendValue}\n </Typography>\n </StyledTrendSection>\n )}\n </StyledBalanceSection>\n \n {(action || secondaryAction) && (\n <StyledActions>\n {action && (\n <Button\n onClick={(e) => {\n e.stopPropagation()\n action.onClick()\n }}\n variant={action.variant || 'primary'}\n iconName={action.icon}\n data-testid={dataTestId ? `${dataTestId}-action` : undefined}\n >\n {action.label}\n </Button>\n )}\n {secondaryAction && (\n <Button\n onClick={(e) => {\n e.stopPropagation()\n secondaryAction.onClick()\n }}\n variant={secondaryAction.variant || 'naked'}\n iconName={secondaryAction.icon}\n data-testid={dataTestId ? `${dataTestId}-secondary-action` : undefined}\n >\n {secondaryAction.label}\n </Button>\n )}\n </StyledActions>\n )}\n </Stack>\n </StyledStackWrapper>\n </StyledCard>\n )\n}\n","import React from 'react'\nimport styled from 'styled-components'\nimport tokens from '@/styles/tokens.json'\nimport { Icon } from '../../atoms/Icon'\nimport { IconButton } from '../../atoms/IconButton'\nimport type { IconName } from '../../../types/icons'\nimport { Typography } from '@/page-components'\n\nconst { semantic, base } = tokens\n\nexport interface AlertProps {\n /**\n * Visual style variant affecting background, border, and icon colors\n * - error: Critical issues, validation errors (crossCircle icon)\n * - warning: Cautions, potential issues (bell icon)\n * - info: Tips, helper text, neutral information (info icon)\n * - success: Confirmations, successful operations (checkRing icon)\n * @default 'info'\n */\n variant?: 'error' | 'warning' | 'info' | 'success'\n \n /**\n * Alert message content\n */\n children: React.ReactNode\n \n /**\n * Optional title/heading for the alert\n */\n title?: string\n \n /**\n * Show close/dismiss button\n * @default false\n */\n dismissible?: boolean\n \n /**\n * Callback function when alert is dismissed\n */\n onDismiss?: () => void\n \n /**\n * Optional action button or component\n */\n action?: React.ReactNode\n \n /**\n * Compact inline variant with reduced padding\n * @default false\n */\n inline?: boolean\n \n /**\n * ARIA live region behavior\n * - polite: Non-urgent announcements\n * - assertive: Important, time-sensitive information\n * - off: Not announced\n * @default 'polite'\n */\n ariaLive?: 'polite' | 'assertive' | 'off'\n \n /**\n * Test identifier for automated testing\n */\n 'data-testid'?: string\n}\n\n// Default icons by variant\nconst variantIcons: Record<string, IconName> = {\n error: 'crossCircle',\n warning: 'bell',\n info: 'info',\n success: 'checkRing'\n}\n\n// Icon colors by variant (using semantic icon color tokens)\nconst variantIconColors: Record<string, 'error' | 'warning' | 'success' | 'interactive'> = {\n error: 'error',\n warning: 'warning',\n info: 'interactive',\n success: 'success'\n}\n\n// Title colors by variant (using semantic text color tokens)\nconst variantTitleColors: Record<string, 'error' | 'warning' | 'success' | 'interactive'> = {\n error: 'error',\n warning: 'warning',\n info: 'interactive',\n success: 'success'\n}\n\nconst StyledAlert = styled.div.withConfig({\n shouldForwardProp: (prop) => !prop.startsWith('$')\n})<{\n $variant: AlertProps['variant']\n $inline: boolean\n}>`\n display: flex;\n align-items: ${({ $inline }) => ($inline ? 'center' : 'flex-start')};\n gap: ${({ $inline }) =>\n $inline ? semantic.spacing.layout.sm : semantic.spacing.layout.md};\n padding: ${({ $inline }) =>\n $inline ? semantic.spacing.layout.sm : semantic.spacing.layout.md};\n border-radius: ${base.border.radius[2]};\n border: 1px solid;\n position: relative;\n width: 100%;\n \n /* Variant-specific colors */\n ${({ $variant }) => {\n switch ($variant) {\n case 'error':\n return `\n background-color: ${semantic.color.background['error-subtle']};\n border-color: ${semantic.color.border.error};\n color: ${semantic.color.text.error};\n `\n case 'warning':\n return `\n background-color: ${semantic.color.background['warning-subtle']};\n border-color: ${semantic.color.border.warning};\n color: ${semantic.color.text.warning};\n `\n case 'success':\n return `\n background-color: ${semantic.color.background['success-subtle']};\n border-color: ${semantic.color.border.success};\n color: ${semantic.color.text.success};\n `\n case 'info':\n default:\n return `\n background-color: ${semantic.color.background['interactive-subtle']};\n border-color: ${semantic.color.border.interactive};\n color: ${semantic.color.text.interactive};\n `\n }\n }}\n \n /* Responsive adjustments */\n @media (min-width: ${base.breakpoint.md}) {\n padding: ${({ $inline }) =>\n $inline\n ? semantic.spacing.layout.sm\n : semantic.spacing.layout.lg};\n }\n`\n\nconst StyledIconContainer = styled.div`\n display: flex;\n align-items: center;\n flex-shrink: 0;\n`\n\nconst StyledContent = styled.div`\n flex: 1;\n display: flex;\n flex-direction: column;\n gap: ${semantic.spacing.layout.xs};\n min-width: 0; /* Allow text wrapping */\n`\n\nconst StyledTitle = styled.span`\n font: ${semantic.typography.h6};\n font-weight: 600 !important;\n margin: 0;\n\tline-height: 1.125;\n`\n\nconst StyledMessage = styled.span`\n font: ${semantic.typography.body};\n\tline-height: 1.25;\n`\n\nconst StyledActions = styled.div`\n display: flex;\n align-items: center;\n gap: ${semantic.spacing.layout.sm};\n flex-shrink: 0;\n margin-left: auto;\n`\n\nconst StyledDismissButton = styled(IconButton)`\n margin-left: ${semantic.spacing.layout.xs};\n\tposition: absolute;\n\tright: 8px;\n\ttop: 10px;\n`\n\nexport const Alert = ({\n variant = 'info',\n children,\n title,\n dismissible = false,\n onDismiss,\n action,\n inline = false,\n ariaLive = 'polite',\n 'data-testid': dataTestId,\n ...props\n}: AlertProps) => {\n const [isVisible, setIsVisible] = React.useState(true)\n\n const handleDismiss = () => {\n setIsVisible(false)\n onDismiss?.()\n }\n\n if (!isVisible) {\n return null\n }\n\n // Get the icon for the current variant\n const iconName = variantIcons[variant]\n const alertIconColor = variantIconColors[variant]\n const alertTitleColor = variantTitleColors[variant]\n\n // Determine ARIA role based on variant and aria-live\n const role = variant === 'error' ? 'alert' : 'status'\n\n return (\n <StyledAlert\n role={role}\n aria-live={ariaLive}\n $variant={variant}\n $inline={inline}\n data-testid={dataTestId}\n {...props}\n >\n <StyledIconContainer aria-hidden=\"true\">\n <Icon name={iconName} size=\"md\" iconColor={alertIconColor} />\n </StyledIconContainer>\n\n <StyledContent>\n {title && <StyledTitle role=\"heading\" aria-level={6} color={alertTitleColor}>{title}</StyledTitle>}\n <StyledMessage>{children}</StyledMessage>\n </StyledContent>\n\n {(action || dismissible) && (\n <StyledActions>\n {action}\n {dismissible && (\n <StyledDismissButton\n iconName=\"close\"\n size=\"small\"\n variant=\"naked\"\n onClick={handleDismiss}\n aria-label=\"Dismiss alert\"\n data-testid={dataTestId ? `${dataTestId}-dismiss` : undefined}\n />\n )}\n </StyledActions>\n )}\n </StyledAlert>\n )\n}\n\nAlert.displayName = 'Alert'\n","import React from 'react'\nimport styled from 'styled-components'\nimport { Container } from '../../atoms/Container'\nimport { Typography } from '../../atoms/Typography'\nimport tokens from '@/styles/tokens.json'\n\ninterface Breadcrumb {\n label: string\n url: string\n}\n\ninterface BreadcrumbsProps {\n breadcrumbs: Breadcrumb[]\n 'data-testid'?: string\n /**\n * Custom link component (e.g., Next.js Link)\n * @example linkComponent={NextLink}\n */\n linkComponent?: React.ComponentType<any>\n}\n\nconst BreadcrumbNavStyled = styled.nav`\n border-bottom: ${tokens.semantic?.border?.default || '0.0625rem solid #e9ecef'};\n\n ol {\n display: flex;\n align-items: center;\n list-style: none;\n margin: 0;\n padding: 0;\n }\n`\n\nconst BreadcrumbStyled = styled.li`\n text-transform: uppercase;\n display: inline-block;\n margin-right: ${tokens.base?.spacing?.['2'] || '0.5rem'};\n padding: ${tokens.base?.spacing?.['2'] || '0.5rem'};\n position: relative;\n\n &:not(:last-of-type)::before {\n content: '';\n background-image: url('/assets/icons/caret.svg');\n background-size: contain;\n background-repeat: no-repeat;\n background-position: center;\n background-color: transparent;\n opacity: 0.5;\n display: inline-block;\n width: ${tokens.base?.spacing?.['4'] || '1rem'};\n height: ${tokens.base?.spacing?.['4'] || '1rem'};\n right: -${tokens.base?.spacing?.['3'] || '0.75rem'};\n position: absolute;\n }\n\n &:last-of-type a {\n text-decoration: none;\n color: ${tokens.semantic.color.text.subdued};\n }\n\n &:last-of-type p {\n overflow: hidden;\n text-overflow: ellipsis;\n white-space: nowrap;\n max-width: 180px;\n }\n\n > a {\n text-decoration: underline;\n color: ${tokens.semantic.color.text.default};\n }\n`\n\nconst isInternalUrl = (url: string) => {\n return url.startsWith('/') && !url.startsWith('http')\n}\n\nexport const Breadcrumbs: React.FC<BreadcrumbsProps> = ({ \n breadcrumbs, \n linkComponent: LinkComponent \n}) => {\n return (\n <Container>\n <BreadcrumbNavStyled aria-label=\"breadcrumb\">\n <ol>\n {breadcrumbs.map((breadcrumb, index) => (\n <BreadcrumbStyled key={index}>\n {index === breadcrumbs.length - 1 ? (\n <Typography variant=\"caption\">{breadcrumb.label}</Typography>\n ) : LinkComponent && isInternalUrl(breadcrumb.url) ? (\n <LinkComponent href={breadcrumb.url}>\n <Typography variant=\"caption\">{breadcrumb.label}</Typography>\n </LinkComponent>\n ) : (\n <a \n href={breadcrumb.url} \n {...(!isInternalUrl(breadcrumb.url) && { \n target: \"_blank\", \n rel: \"noopener noreferrer\" \n })}\n >\n <Typography variant=\"caption\">{breadcrumb.label}</Typography>\n </a>\n )}\n </BreadcrumbStyled>\n ))}\n </ol>\n </BreadcrumbNavStyled>\n </Container>\n )\n}\n","import React from 'react'\nimport styled from 'styled-components'\nimport { Stack } from '../../atoms/Stack'\nimport { Typography } from '../../atoms/Typography'\nimport { Picture } from '../../atoms/Picture/Picture'\nimport tokens from '@/styles/tokens.json'\n\nexport type CardSmallProps = {\n title: string\n picture?: string\n subtitle?: string\n meta?: string\n href?: string\n /**\n * Custom link component (e.g., Next.js Link)\n * @example linkComponent={NextLink}\n */\n linkComponent?: React.ComponentType<any>\n}\n\nconst CardSmallStyled = styled.div`\n a {\n text-decoration: none;\n }\n\n img {\n border-radius: ${tokens.base.border.radius[2]};\n transition: ease opacity 0.2s;\n width: 100%;\n height: auto;\n display: block;\n }\n\n &:hover {\n img {\n opacity: 0.8;\n }\n }\n\n &:focus-within {\n outline: none;\n box-shadow: 0 0 0 2px ${tokens.semantic.color.border.strong};\n }\n`\n\nexport const CardSmall: React.FC<CardSmallProps> = ({\n title,\n picture,\n subtitle,\n meta,\n href,\n linkComponent: LinkComponent,\n}) => {\n if (!picture || !meta) {\n return null\n }\n\n const content = (\n <Stack direction=\"column\" gap='sm'>\n <Picture\n title={title}\n src={picture}\n width={300}\n height={300}\n />\n <Stack direction=\"column\" gap='xs'>\n <Typography variant=\"small\">{title}</Typography>\n <Stack direction=\"column\" gap='none'>\n {subtitle && <Typography variant=\"label\" color=\"subdued\">{subtitle}</Typography>}\n {meta && <Typography variant=\"label\" color=\"subdued\">{meta}</Typography>}\n </Stack>\n </Stack>\n </Stack>\n )\n\n return (\n <CardSmallStyled>\n {LinkComponent && href ? (\n <LinkComponent href={href} aria-label={title}>\n {content}\n </LinkComponent>\n ) : (\n <a href={href || '#'} aria-label={title}>\n {content}\n </a>\n )}\n </CardSmallStyled>\n )\n}\n","import styled from 'styled-components'\nimport { Chip } from '../../atoms/Chip'\nimport { Picture } from '../../atoms/Picture'\nimport { Stack } from '../../atoms/Stack'\nimport { Typography } from '../../atoms/Typography'\nimport tokens from '@/styles/tokens.json'\n\nconst { base: { border } } = tokens\n\nexport type CardLargeProps = {\n title: string\n excerpt: string\n subtitle?: string\n labels?: string[]\n picture: string\n onImageClick?: () => void\n imageHref?: string\n}\n\nconst CardLargeStyled = styled.div`\n max-width: 768px;\n\n a {\n text-decoration: none;\n }\n\n &:hover {\n img {\n opacity: 0.8;\n }\n }\n\n img {\n border-radius: ${border.radius[6]};\n transition: ease opacity 0.2s;\n width: 100%;\n }\n`\n\nexport const CardLarge = ({\n title,\n excerpt,\n subtitle,\n labels = [],\n picture,\n onImageClick,\n imageHref,\n}: CardLargeProps) => {\n return (\n <CardLargeStyled>\n <Stack direction=\"column\" gap=\"md\">\n <Picture \n title={title} \n src={picture} \n onClick={onImageClick}\n href={imageHref}\n />\n <Stack direction=\"row\" alignItems=\"flex-start\" justifyContent=\"space-between\" gap=\"xs\">\n <Stack direction=\"column\" gap=\"xs\">\n <Typography variant=\"h5\">{title}</Typography>\n {subtitle && (\n <Typography variant=\"small\" color=\"subdued\">{subtitle}</Typography>\n )}\n {excerpt && (\n <Typography variant=\"body\">{excerpt}</Typography>\n )}\n </Stack>\n <Stack direction=\"row\" alignItems=\"center\" gap=\"xs\">\n {Array.isArray(labels) && labels.map((label, index) => (\n <Chip key={index} title={label} variant=\"default\" />\n ))}\n </Stack>\n </Stack>\n </Stack>\n </CardLargeStyled>\n )\n}\n","import styled from 'styled-components'\nimport tokens from '@/styles/tokens.json'\n\nexport type SelectableInputState = 'default' | 'error' | 'disabled'\n\ninterface StyledCheckboxInputProps {\n $state: SelectableInputState\n $checked: boolean\n $indeterminate?: boolean\n}\n\n/**\n * Hidden native checkbox input for accessibility\n * Maintains keyboard navigation and screen reader support\n */\nexport const HiddenCheckboxInput = styled.input.withConfig({\n shouldForwardProp: (prop) => !prop.startsWith('$'),\n})<StyledCheckboxInputProps>`\n position: absolute;\n opacity: 0;\n width: 0;\n height: 0;\n pointer-events: none;\n`\n\n/**\n * Custom checkbox visual component\n * 24px × 24px for 8px grid alignment\n * Uses component.input.* tokens for consistency with TextField\n */\nexport const StyledCheckbox = styled.span.withConfig({\n shouldForwardProp: (prop) => !prop.startsWith('$'),\n})<StyledCheckboxInputProps>`\n position: relative;\n display: inline-flex;\n align-items: center;\n justify-content: center;\n width: 20px;\n height: 20px;\n min-width: 20px;\n min-height: 20px;\n border-radius: ${tokens.component.input.default.borderRadius};\n border: ${tokens.component.input.default.borderWidth} solid;\n background-color: ${(props) =>\n props.$checked || props.$indeterminate\n ? tokens.semantic.color.background.inverse\n : tokens.component.input.default.backgroundColor};\n border-color: ${(props) => {\n if (props.$state === 'error') return tokens.component.input.error.borderColor\n if (props.$checked || props.$indeterminate)\n return tokens.semantic.border.strong\n return tokens.component.input.default.borderColor\n }};\n cursor: ${(props) => (props.$state === 'disabled' ? 'not-allowed' : 'pointer')};\n transition: all 150ms ease-out;\n flex-shrink: 0;\n\n /* Hover state */\n ${HiddenCheckboxInput}:not(:disabled):hover + & {\n border-color: ${(props) =>\n props.$state === 'error'\n ? tokens.component.input.error.hover.borderColor\n : props.$checked || props.$indeterminate\n ? tokens.semantic.border.strong\n : tokens.component.input.hover.borderColor};\n }\n\n /* Focus state */\n ${HiddenCheckboxInput}:focus-visible + & {\n outline: ${tokens.component.input.focus.outline};\n outline-offset: ${tokens.component.input.focus.outlineOffset};\n border-color: ${(props) =>\n props.$state === 'error'\n ? tokens.component.input.error.focus.borderColor\n : tokens.component.input.focus.borderColor};\n }\n\n /* Disabled state */\n ${(props) =>\n props.$state === 'disabled' &&\n `\n background-color: ${tokens.component.input.disabled.backgroundColor};\n border-color: ${tokens.component.input.disabled.borderColor};\n `}\n\n /* Checkmark icon */\n &::after {\n content: '';\n position: absolute;\n display: ${(props) => (props.$checked ? 'block' : 'none')};\n left: 6px;\n top: 3px;\n width: 4px;\n height: 8px;\n border: solid ${tokens.semantic.color.text.inverse};\n border-width: 0 2px 2px 0;\n transform: rotate(45deg);\n }\n\n /* Indeterminate icon (horizontal line) */\n &::before {\n content: '';\n position: absolute;\n display: ${(props) => (props.$indeterminate ? 'block' : 'none')};\n left: 4px;\n top: 8px;\n width: 10px;\n height: 2px;\n background-color: ${tokens.semantic.color.text.inverse};\n }\n`\n\n/**\n * Container for checkbox with proper spacing and alignment\n * 48px min-height for touch target (8px grid aligned)\n */\nexport const StyledCheckboxContainer = styled.label.withConfig({\n shouldForwardProp: (prop) => !prop.startsWith('$'),\n})<{ $disabled: boolean; $labelPosition: 'left' | 'right' }>`\n display: inline-flex;\n align-items: center;\n gap: ${tokens.base.spacing[3]};\n cursor: ${(props) => (props.$disabled ? 'not-allowed' : 'pointer')};\n min-height: 32px;\n flex-direction: ${(props) => (props.$labelPosition === 'left' ? 'row-reverse' : 'row')};\n user-select: none;\n`\n\n/**\n * Label text with proper typography\n */\nexport const StyledCheckboxLabel = styled.span.withConfig({\n shouldForwardProp: (prop) => !prop.startsWith('$'),\n})<{ $disabled: boolean }>`\n font: ${tokens.component.input.default.font};\n color: ${(props) =>\n props.$disabled\n ? tokens.component.input.disabled.textColor\n : tokens.component.input.default.textColor};\n`\n","import React, { forwardRef, useId, InputHTMLAttributes } from 'react'\nimport styled from 'styled-components'\nimport tokens from '@/styles/tokens.json'\nimport {\n HiddenCheckboxInput,\n StyledCheckbox,\n StyledCheckboxContainer,\n StyledCheckboxLabel,\n type SelectableInputState,\n} from './SelectableInputBase'\n\nexport interface CheckboxProps extends Omit<InputHTMLAttributes<HTMLInputElement>, 'type' | 'size'> {\n /**\n * The label text for the checkbox\n */\n label: string\n /**\n * Whether the checkbox is checked\n */\n checked?: boolean\n /**\n * Whether the checkbox is in an indeterminate state\n * Useful for \"select all\" scenarios where some but not all items are selected\n */\n indeterminate?: boolean\n /**\n * Position of the label relative to the checkbox\n * @default 'right'\n */\n labelPosition?: 'left' | 'right'\n /**\n * Helper text displayed below the checkbox\n */\n helperText?: string\n /**\n * Error message to display. When provided, checkbox enters error state\n */\n error?: string\n /**\n * Whether the checkbox is disabled\n */\n disabled?: boolean\n /**\n * Callback fired when the checkbox state changes\n */\n onChange?: (event: React.ChangeEvent<HTMLInputElement>) => void\n /**\n * Additional ARIA description for accessibility\n */\n 'aria-describedby'?: string\n}\n\nconst StyledFieldContainer = styled.div`\n display: inline-flex;\n flex-direction: column;\n gap: ${tokens.base.spacing[1]};\n`\n\nconst StyledHelperText = styled.span<{ $error?: boolean }>`\n font: ${tokens.semantic.typography.small};\n color: ${(props) =>\n props.$error\n ? tokens.semantic.color.text.error\n : tokens.semantic.color.text.subdued};\n margin-left: ${tokens.base.spacing[9]}; /* Align with label text after checkbox */\n display: block;\n`\n\n/**\n * Checkbox component for binary selection with WCAG 2.2 AA compliance\n *\n * Features:\n * - Custom styled checkbox with clear visual states\n * - Integrated label with configurable positioning\n * - Helper text and error messaging\n * - Indeterminate state support\n * - Full keyboard navigation (Space to toggle)\n * - ARIA attributes for screen readers\n * - 8px grid aligned (48px touch target)\n *\n * @example\n * ```tsx\n * <Checkbox\n * label=\"Accept terms and conditions\"\n * checked={accepted}\n * onChange={(e) => setAccepted(e.target.checked)}\n * required\n * />\n * ```\n */\nexport const Checkbox = forwardRef<HTMLInputElement, CheckboxProps>(\n (\n {\n label,\n checked = false,\n indeterminate = false,\n labelPosition = 'right',\n helperText,\n error,\n disabled = false,\n onChange,\n id: providedId,\n 'aria-describedby': ariaDescribedby,\n ...rest\n },\n ref\n ) => {\n const generatedId = useId()\n const id = providedId || generatedId\n const helperTextId = `${id}-helper-text`\n const errorId = `${id}-error`\n\n // Determine the state for styling\n const state: SelectableInputState = disabled ? 'disabled' : error ? 'error' : 'default'\n\n // Set up ARIA describedby\n const describedBy = [\n ariaDescribedby,\n helperText ? helperTextId : undefined,\n error ? errorId : undefined,\n ]\n .filter(Boolean)\n .join(' ')\n\n // Update indeterminate property on the input element\n const inputRef = React.useRef<HTMLInputElement>(null)\n React.useImperativeHandle(ref, () => inputRef.current!)\n\n React.useEffect(() => {\n if (inputRef.current) {\n inputRef.current.indeterminate = indeterminate\n }\n }, [indeterminate])\n\n return (\n <StyledFieldContainer>\n <StyledCheckboxContainer $disabled={disabled} $labelPosition={labelPosition}>\n <HiddenCheckboxInput\n ref={inputRef}\n type=\"checkbox\"\n id={id}\n checked={checked}\n disabled={disabled}\n onChange={onChange}\n aria-describedby={describedBy || undefined}\n aria-invalid={error ? true : undefined}\n $state={state}\n $checked={checked}\n $indeterminate={indeterminate}\n {...rest}\n />\n <StyledCheckbox\n $state={state}\n $checked={checked}\n $indeterminate={indeterminate}\n aria-hidden=\"true\"\n />\n <StyledCheckboxLabel $disabled={disabled}>{label}</StyledCheckboxLabel>\n </StyledCheckboxContainer>\n\n {helperText && !error && (\n <StyledHelperText id={helperTextId}>{helperText}</StyledHelperText>\n )}\n\n {error && (\n <StyledHelperText id={errorId} $error role=\"alert\" aria-live=\"polite\">\n {error}\n </StyledHelperText>\n )}\n </StyledFieldContainer>\n )\n }\n)\n\nCheckbox.displayName = 'Checkbox'\n","import React from 'react'\nimport styled from 'styled-components'\nimport { Chip, Stack } from '@/components/atoms'\n\nexport type ChipGroupProps = {\n labels: string[]\n variant?: 'default' | 'dark'\n 'data-testid'?: string\n}\n\nconst ChipGroupWrapper = styled.div`\n > div {\n display: flex;\n flex-wrap: wrap;\n }\n`\n\nexport const ChipGroup: React.FC<ChipGroupProps> = ({ \n labels, \n variant = 'default', \n 'data-testid': dataTestId \n}) => {\n return (\n <ChipGroupWrapper data-testid={dataTestId}>\n <Stack direction=\"row\" gap=\"sm\">\n {labels && labels.map((title, index) => (\n <Chip key={index} title={title} variant={variant} />\n ))}\n </Stack>\n </ChipGroupWrapper>\n )\n}\n","import React, { useState, useRef, useEffect } from 'react'\nimport styled from 'styled-components'\nimport { Button } from '../../atoms/Button'\nimport tokens from '@/styles/tokens.json'\n\nconst { semantic: { color, border, spacing } } = tokens\n\nexport interface CodeBlockProps {\n children: string\n showCopyButton?: boolean\n onCopy?: () => void\n 'data-testid'?: string\n}\n\nconst StyledCodeBlock = styled.pre`\n background-color: ${color.background.subtle};\n border: ${border.subtle};\n border-radius: ${tokens.base.border.radius[2]};\n padding: ${spacing.layout.md};\n font-family: ${tokens.base.fontFamily.monospace};\n font-size: ${tokens.base.fontSize[1]};\n line-height: ${tokens.base.lineHeight[3]};\n color: ${color.text.default};\n overflow-x: auto;\n margin: ${spacing.layout.sm} 0;\n position: relative;\n`\n\nconst CodeBlockWrapper = styled.div`\n position: relative;\n display: inline-block;\n width: 100%;\n`\n\nconst CopyButtonWrapper = styled.div`\n position: absolute;\n bottom: ${spacing.layout.lg};\n right: ${spacing.layout.sm};\n`\n\nconst CopyButton: React.FC<{ text: string; onCopy?: () => void }> = ({ text, onCopy }) => {\n const [copied, setCopied] = useState(false)\n const timeoutRef = useRef<NodeJS.Timeout | null>(null)\n \n const handleCopy = async () => {\n try {\n await navigator.clipboard.writeText(text)\n setCopied(true)\n onCopy?.()\n \n // Clear any existing timeout\n if (timeoutRef.current) {\n clearTimeout(timeoutRef.current)\n }\n \n // Set new timeout\n timeoutRef.current = setTimeout(() => {\n setCopied(false)\n timeoutRef.current = null\n }, 2000)\n } catch (err) {\n console.error('Failed to copy text: ', err)\n }\n }\n \n // Cleanup timeout on unmount\n useEffect(() => {\n return () => {\n if (timeoutRef.current) {\n clearTimeout(timeoutRef.current)\n }\n }\n }, [])\n \n return (\n <CopyButtonWrapper>\n <Button \n variant=\"secondary\" \n size=\"small\" \n iconName=\"copy\"\n onClick={handleCopy}\n data-testid=\"copy-button\"\n >\n {copied ? 'Copied!' : 'Copy'}\n </Button>\n </CopyButtonWrapper>\n )\n}\n\n/**\n * CodeBlock component for displaying formatted code with optional copy functionality\n * \n * @param children - The code content to display\n * @param showCopyButton - Whether to show the copy button (default: true)\n * @param onCopy - Optional callback when code is copied\n * @param data-testid - Test identifier for the code block\n */\nexport const CodeBlock: React.FC<CodeBlockProps> = ({ \n children, \n showCopyButton = true, \n onCopy, \n 'data-testid': testId \n}) => {\n return (\n <CodeBlockWrapper>\n <StyledCodeBlock data-testid={testId}>\n {children}\n </StyledCodeBlock>\n {showCopyButton && (\n <CopyButton text={children} onCopy={onCopy} />\n )}\n </CodeBlockWrapper>\n )\n}\n\nexport default CodeBlock\n","import React from 'react'\nimport styled from 'styled-components'\nimport { DateFormatter, DateFormatMode } from '../../atoms/DateFormatter'\nimport { MoneyDisplay, MoneyDisplayVariant } from '../../atoms/MoneyDisplay'\nimport { Stack } from '../../atoms/Stack'\nimport { Typography } from '../../atoms/Typography'\nimport tokens from '../../../styles/tokens.json'\n\nexport interface DateGroupProps {\n /** The date for this group (used for formatting the header) */\n date: Date | string\n \n /** Children to render under the date header (typically transactions) */\n children: React.ReactNode\n \n /** Format mode for date display */\n format?: DateFormatMode\n \n /** Whether to show total amount for this date group */\n showTotal?: boolean\n \n /** Total amount for this date group (shown if showTotal is true) */\n totalAmount?: number\n \n /** Whether to show count of items in this group */\n showCount?: boolean\n \n /** Count of items in this group (shown if showCount is true) */\n count?: number\n \n /** Whether to make the header sticky (useful for scrolling lists) */\n sticky?: boolean\n \n /** Currency for total amount display */\n currency?: string\n \n /** Test identifier for automated testing */\n 'data-testid'?: string\n}\n\ninterface StyledHeaderProps {\n $sticky?: boolean\n}\n\nconst StyledHeader = styled.div<StyledHeaderProps>`\n display: flex;\n align-items: center;\n justify-content: space-between;\n padding: ${tokens.semantic.spacing.layout.md} ${tokens.semantic.spacing.layout.sm};\n background-color: ${tokens.semantic.color.background.default};\n border-bottom: 1px solid ${tokens.semantic.color.border.default};\n \n ${({ $sticky }) => $sticky && `\n position: sticky;\n top: 0;\n z-index: 10;\n box-shadow: ${tokens.base.shadow[2]};\n `}\n`\n\nconst StyledLeftSection = styled.div`\n display: flex;\n align-items: center;\n gap: ${tokens.semantic.spacing.layout.sm};\n`\n\nconst StyledRightSection = styled.div`\n display: flex;\n align-items: center;\n gap: ${tokens.semantic.spacing.layout.md};\n`\n\nconst StyledContent = styled.div`\n /* Content area for children */\n`\n\n/**\n * DateGroup component\n * \n * Groups related content (typically transactions) under a formatted date header\n * with optional total amount and item count displays. Supports sticky headers\n * for scrolling lists.\n * \n * Composes: DateFormatter, MoneyDisplay, Stack, Typography\n */\nexport const DateGroup: React.FC<DateGroupProps> = ({\n date,\n children,\n format = 'smart',\n showTotal = false,\n totalAmount,\n showCount = false,\n count,\n sticky = false,\n currency = 'AUD',\n 'data-testid': dataTestId\n}) => {\n // Determine total variant based on amount (positive = income, negative = expense)\n const totalVariant: MoneyDisplayVariant = totalAmount && totalAmount !== 0\n ? totalAmount > 0 ? 'positive' : 'negative'\n : 'default'\n\n return (\n <div data-testid={dataTestId} role=\"group\" aria-label={`Transactions for ${date}`}>\n <StyledHeader $sticky={sticky} data-testid={dataTestId ? `${dataTestId}-header` : undefined}>\n <StyledLeftSection>\n <DateFormatter \n dateString={typeof date === 'string' ? date : date.toISOString()} \n mode={format}\n data-testid={dataTestId ? `${dataTestId}-date` : undefined}\n />\n {showCount && count !== undefined && (\n <Typography \n variant=\"caption\" \n color=\"subdued\"\n data-testid={dataTestId ? `${dataTestId}-count` : undefined}\n >\n ({count} {count === 1 ? 'item' : 'items'})\n </Typography>\n )}\n </StyledLeftSection>\n \n <StyledRightSection>\n {showTotal && totalAmount !== undefined && (\n <MoneyDisplay\n amount={totalAmount}\n currency={currency}\n variant={totalVariant}\n size=\"small\"\n weight=\"medium\"\n showSign\n data-testid={dataTestId ? `${dataTestId}-total` : undefined}\n />\n )}\n </StyledRightSection>\n </StyledHeader>\n \n <StyledContent data-testid={dataTestId ? `${dataTestId}-content` : undefined}>\n {children}\n </StyledContent>\n </div>\n )\n}\n","import React from 'react'\nimport styled from 'styled-components'\nimport tokens from '@/styles/tokens.json'\nimport { Stack } from '../../atoms/Stack'\nimport { Box } from '../../atoms/Box'\nimport { Typography } from '../../atoms/Typography'\nimport { Button } from '../../atoms/Button'\nimport { Icon } from '../../atoms/Icon'\nimport { type IconName } from '../../../types/icons'\n\nconst { semantic } = tokens\n\nexport type EmptyStateIllustration = 'search' | 'transactions' | 'notifications' | 'empty' | 'error' | 'custom'\nexport type EmptyStateVariant = 'default' | 'error' | 'success'\nexport type EmptyStateSize = 'small' | 'medium' | 'large'\n\nexport interface EmptyStateAction {\n label: string\n onClick: () => void\n variant?: 'primary' | 'secondary'\n icon?: IconName\n}\n\nexport interface EmptyStateProps {\n /** Predefined illustration type */\n illustration?: EmptyStateIllustration\n /** Custom illustration (SVG string or React node) */\n customIllustration?: React.ReactNode\n /** Main heading */\n title: string\n /** Descriptive text */\n description: string\n /** Primary call-to-action */\n action?: EmptyStateAction\n /** Secondary action */\n secondaryAction?: EmptyStateAction\n /** Visual variant */\n variant?: EmptyStateVariant\n /** Size of the component */\n size?: EmptyStateSize\n /** Data test id for testing */\n 'data-testid'?: string\n}\n\ninterface StyledContainerProps {\n $size: EmptyStateSize\n}\n\nconst StyledContainer = styled.div.withConfig({\n shouldForwardProp: (prop) => !prop.startsWith('$')\n})<StyledContainerProps>`\n display: flex;\n flex-direction: column;\n align-items: center;\n text-align: center;\n max-width: 400px;\n margin: 0 auto;\n padding: ${({ $size }) => \n $size === 'small' ? semantic.spacing.layout['4xl'] :\n $size === 'large' ? semantic.spacing.layout['8xl'] :\n semantic.spacing.layout['6xl']\n };\n`\n\ninterface StyledIllustrationProps {\n $size: EmptyStateSize\n $variant: EmptyStateVariant\n}\n\nconst StyledIllustration = styled.div.withConfig({\n shouldForwardProp: (prop) => !prop.startsWith('$')\n})<StyledIllustrationProps>`\n width: ${({ $size }) =>\n $size === 'small' ? '80px' :\n $size === 'large' ? '200px' :\n '120px'\n };\n height: ${({ $size }) =>\n $size === 'small' ? '80px' :\n $size === 'large' ? '200px' :\n '120px'\n };\n display: flex;\n align-items: center;\n justify-content: center;\n margin-bottom: ${semantic.spacing.layout['2xl']};\n color: ${({ $variant }) =>\n $variant === 'error' ? semantic.color.icon.error :\n $variant === 'success' ? semantic.color.icon.success :\n semantic.color.icon.subdued\n };\n`\n\nconst StyledTextContainer = styled.div`\n max-width: 360px;\n margin-bottom: ${semantic.spacing.layout['2xl']};\n`\n\n// Map illustration type to icon name\nconst illustrationToIcon: Record<Exclude<EmptyStateIllustration, 'custom'>, IconName> = {\n search: 'search',\n transactions: 'paper', // Placeholder - will use custom icon when available\n notifications: 'bell',\n empty: 'paper',\n error: 'crossCircle'\n}\n\nexport const EmptyState: React.FC<EmptyStateProps> = ({\n illustration = 'empty',\n customIllustration,\n title,\n description,\n action,\n secondaryAction,\n variant = 'default',\n size = 'medium',\n 'data-testid': dataTestId\n}) => {\n // Determine what to show for illustration\n const renderIllustration = () => {\n if (customIllustration) {\n return customIllustration\n }\n \n if (illustration !== 'custom') {\n const iconName = illustrationToIcon[illustration]\n return <Icon name={iconName} size=\"2xl\" />\n }\n \n return null\n }\n\n return (\n <StyledContainer \n $size={size}\n data-testid={dataTestId}\n role=\"status\"\n aria-label={`Empty state: ${title}`}\n >\n <StyledIllustration $size={size} $variant={variant} aria-hidden=\"true\">\n {renderIllustration()}\n </StyledIllustration>\n\n <StyledTextContainer>\n <Typography \n variant={size === 'small' ? 'h4' : size === 'large' ? 'h2' : 'h3'}\n color={variant === 'error' ? 'error' : 'default'}\n as={size === 'small' ? 'h4' : size === 'large' ? 'h2' : 'h3'}\n >\n {title}\n </Typography>\n \n <div style={{ marginTop: semantic.spacing.layout.md }}>\n <Typography variant=\"body\" color=\"subdued\">\n {description}\n </Typography>\n </div>\n </StyledTextContainer>\n\n {(action || secondaryAction) && (\n <Box width=\"100%\" maxWidth=\"300px\">\n <Stack direction=\"column\" gap=\"sm\">\n {action && (\n <Button\n variant={action.variant || 'primary'}\n onClick={action.onClick}\n iconName={action.icon}\n data-testid={dataTestId ? `${dataTestId}-primary-action` : undefined}\n >\n {action.label}\n </Button>\n )}\n \n {secondaryAction && (\n <Button\n variant=\"naked\"\n onClick={secondaryAction.onClick}\n data-testid={dataTestId ? `${dataTestId}-secondary-action` : undefined}\n >\n {secondaryAction.label}\n </Button>\n )}\n </Stack>\n </Box>\n )}\n </StyledContainer>\n )\n}\n","import React from 'react'\nimport styled from 'styled-components'\nimport { Chip } from '../../atoms/Chip'\nimport { Button } from '../../atoms/Button'\nimport { Picture } from '../../atoms/Picture'\nimport { Divider } from '../../atoms/Divider'\nimport { Stack } from '../../atoms/Stack'\nimport { Typography } from '../../atoms/Typography'\nimport { DateFormatter } from '../../atoms/DateFormatter'\nimport tokens from '@/styles/tokens.json'\n\nconst { base: { spacing, border } } = tokens\n\nexport type FeatureBlockProps = {\n title: string\n excerpt: string\n labels: string[]\n coverImage: string\n date: string\n onReadMore?: () => void\n readMoreHref?: string\n readMoreText?: string\n}\n\nconst FeatureBlockStyled = styled.div`\n @media (min-width: ${tokens.base.breakpoint.md}) {\n display: grid;\n grid-template-columns: repeat(12, 1fr);\n }\n\n @media (min-width: ${tokens.base.breakpoint.lg}) {\n gap: ${spacing[12]};\n }\n\n img {\n border-radius: ${border.radius[6]};\n transition: ease opacity 0.2s;\n\n &:hover {\n opacity: 0.8;\n }\n }\n\n a {\n text-decoration: none;\n }\n`\n\nconst ImageWrapper = styled.div`\n grid-column: span 12;\n\n @media (min-width: ${tokens.base.breakpoint.lg}) {\n grid-column: span 6;\n }\n`\n\nconst ContentSection = styled.div`\n grid-column: span 12;\n margin-top: ${spacing[6]};\n\n @media (min-width: ${tokens.base.breakpoint.lg}) {\n grid-column: span 6;\n margin-top: 0;\n padding-right: ${spacing[8]};\n }\n\n @media (min-width: ${tokens.base.breakpoint.xl}) {\n padding-right: ${spacing[24]};\n }\n`\n\nconst ButtonWrapper = styled.div`\n button {\n margin-top: ${spacing[4]};\n }\n`\n\nconst ContentWrapper = styled.div`\n display: flex;\n flex-direction: column;\n justify-content: center;\n height: 100%;\n`\n\n\n\nexport const FeatureBlock: React.FC<FeatureBlockProps> = ({\n title,\n excerpt,\n labels = [],\n coverImage,\n date,\n onReadMore,\n readMoreHref,\n readMoreText = \"Read more\",\n}) => {\n return (\n <>\n <FeatureBlockStyled>\n <ImageWrapper>\n <Picture title={title} src={coverImage} />\n </ImageWrapper>\n <ContentSection>\n <ContentWrapper>\n <Stack direction=\"column\" gap=\"md\">\n <Typography variant=\"h3\">{title}</Typography>\n <DateFormatter dateString={date} />\n <Typography variant=\"small\">{excerpt}</Typography>\n <Stack direction=\"row\" gap=\"xs\">\n {Array.isArray(labels) && labels.map((label, index) => (\n <Chip key={index} title={label} variant=\"default\" />\n ))}\n </Stack>\n {(onReadMore || readMoreHref) && (\n <ButtonWrapper>\n {readMoreHref ? (\n <Button purpose=\"link\" url={readMoreHref}>\n {readMoreText}\n </Button>\n ) : (\n <Button onClick={onReadMore}>\n {readMoreText}\n </Button>\n )}\n </ButtonWrapper>\n )}\n </Stack>\n </ContentWrapper>\n </ContentSection>\n </FeatureBlockStyled>\n <Divider />\n </>\n )\n}\n","import React, { useState, useRef, useEffect } from 'react'\nimport styled from 'styled-components'\nimport tokens from '@/styles/tokens.json'\nimport { Icon } from '../../atoms/Icon'\nimport { Typography } from '../../atoms/Typography'\n\nconst { base: { spacing, shadow, zIndex }, semantic: { color, typography, border }, component: { input } } = tokens\n\ninterface DropdownOption {\n id: string\n label: string\n value?: any\n}\n\nexport interface DropdownProps {\n options: DropdownOption[]\n value: string\n onChange: (value: string) => void\n placeholder?: string\n disabled?: boolean\n className?: string\n label?: string\n helperText?: string\n error?: string\n}\n\nconst DropdownContainer = styled.div`\n position: relative;\n width: 100%;\n`\n\nconst DropdownTrigger = styled.button.withConfig({\n shouldForwardProp: (prop) => !prop.startsWith('$')\n})<{ $isOpen: boolean; $hasError?: boolean }>`\n width: 100%;\n display: flex;\n align-items: center;\n justify-content: space-between;\n padding: ${input.default.paddingY} ${input.default.paddingX};\n background-color: ${input.default.backgroundColor};\n border: ${input.default.borderWidth} solid ${({ $hasError }) =>\n $hasError ? input.error.borderColor : input.default.borderColor\n };\n border-radius: ${input.default.borderRadius};\n font: ${input.default.font};\n color: ${input.default.textColor};\n cursor: pointer;\n transition: border-color 200ms ease-in-out, \n outline 200ms ease-in-out;\n \n &:hover:not(:disabled) {\n border-color: ${({ $hasError }) =>\n $hasError ? input.error.hover.borderColor : input.hover.borderColor\n };\n }\n \n &:focus {\n border-color: ${({ $hasError }) =>\n $hasError ? input.error.focus.borderColor : input.focus.borderColor\n };\n outline: ${input.focus.outline};\n outline-offset: ${input.focus.outlineOffset};\n }\n \n &:disabled {\n background-color: ${input.disabled.backgroundColor};\n color: ${input.disabled.textColor};\n border-color: ${input.disabled.borderColor};\n cursor: ${input.disabled.cursor};\n }\n \n ${({ $isOpen, $hasError }) => $isOpen && `\n border-color: ${$hasError ? input.error.focus.borderColor : input.focus.borderColor};\n `}\n`\n\nconst DropdownIcon = styled.div.withConfig({\n shouldForwardProp: (prop) => !prop.startsWith('$')\n})<{ $isOpen: boolean }>`\n display: flex;\n align-items: center;\n margin-left: ${spacing[2]};\n transition: transform 0.15s ease;\n \n ${({ $isOpen }) => $isOpen && `\n transform: rotate(180deg);\n `}\n`\n\nconst DropdownMenu = styled.div.withConfig({\n shouldForwardProp: (prop) => !prop.startsWith('$')\n})<{ $isOpen: boolean }>`\n position: absolute;\n top: 100%;\n left: 0;\n right: 0;\n z-index: ${zIndex[3]};\n background-color: ${input.default.backgroundColor};\n border: ${input.default.borderWidth} solid ${input.default.borderColor};\n border-radius: ${input.default.borderRadius};\n box-shadow: ${shadow[3]};\n margin-top: ${spacing[1]};\n overflow: hidden;\n opacity: ${({ $isOpen }) => ($isOpen ? 1 : 0)};\n visibility: ${({ $isOpen }) => ($isOpen ? 'visible' : 'hidden')};\n transform: ${({ $isOpen }) => ($isOpen ? 'translateY(0)' : 'translateY(-8px)')};\n transition: all 0.15s ease;\n max-height: 300px;\n overflow-y: auto;\n`\n\nconst DropdownOption = styled.button.withConfig({\n shouldForwardProp: (prop) => !prop.startsWith('$')\n})<{ $isSelected: boolean; $isFocused: boolean }>`\n width: 100%;\n display: block;\n padding: ${input.default.paddingY} ${input.default.paddingX};\n background-color: ${({ $isSelected, $isFocused }) => {\n if ($isFocused) return color.background.surface\n if ($isSelected) return color.background.surface\n return 'transparent'\n }};\n border: none;\n font: ${input.default.font};\n color: ${input.default.textColor};\n text-align: left;\n cursor: pointer;\n transition: background-color 0.15s ease;\n \n &:hover {\n background-color: ${color.background.surface};\n }\n \n &:focus {\n outline: none;\n background-color: ${color.background.surface};\n }\n \n &:not(:last-child) {\n border-bottom: ${border.subtle};\n }\n`\n\nconst StyledHelperText = styled.div<{ $hasError?: boolean }>`\n font: ${typography.caption};\n color: ${({ $hasError }) => \n $hasError \n ? color.text.error \n : color.text.subdued\n };\n margin-top: ${spacing[2]};\n`\n\n\nexport const Dropdown: React.FC<DropdownProps> = ({\n options,\n value,\n onChange,\n placeholder = 'Select an option',\n disabled = false,\n className,\n label,\n helperText,\n error\n}) => {\n const [isOpen, setIsOpen] = useState(false)\n const [focusedIndex, setFocusedIndex] = useState(-1)\n const dropdownRef = useRef<HTMLDivElement>(null)\n \n // Generate unique ID for accessibility\n const dropdownId = useRef(`dropdown-${Math.random().toString(36).substr(2, 9)}`).current\n \n const selectedOption = options.find(option => option.id === value)\n \n const hasError = Boolean(error)\n const errorId = error ? `${dropdownId}-error` : undefined\n const helperId = helperText && !error ? `${dropdownId}-helper` : undefined\n const describedBy = [errorId, helperId].filter(Boolean).join(' ') || undefined\n\n \n // Close dropdown when clicking outside\n useEffect(() => {\n const handleClickOutside = (event: MouseEvent) => {\n if (dropdownRef.current && !dropdownRef.current.contains(event.target as Node)) {\n setIsOpen(false)\n }\n }\n \n document.addEventListener('mousedown', handleClickOutside)\n return () => document.removeEventListener('mousedown', handleClickOutside)\n }, [])\n \n // Close dropdown on escape key and handle arrow navigation\n useEffect(() => {\n const handleKeyDown = (event: KeyboardEvent) => {\n if (!isOpen) return\n\n switch (event.key) {\n case 'Escape':\n setIsOpen(false)\n setFocusedIndex(-1)\n // Return focus to trigger button\n if (dropdownRef.current) {\n const trigger = dropdownRef.current.querySelector('button') as HTMLButtonElement\n trigger?.focus()\n }\n break\n \n case 'ArrowDown':\n event.preventDefault()\n setFocusedIndex(prev => {\n const newIndex = prev < options.length - 1 ? prev + 1 : 0\n return newIndex\n })\n break\n \n case 'ArrowUp':\n event.preventDefault()\n setFocusedIndex(prev => {\n const newIndex = prev > 0 ? prev - 1 : options.length - 1\n return newIndex\n })\n break\n \n case 'Enter':\n case ' ':\n event.preventDefault()\n if (focusedIndex >= 0 && focusedIndex < options.length) {\n handleOptionClick(options[focusedIndex].id)\n }\n break\n \n case 'Home':\n event.preventDefault()\n setFocusedIndex(0)\n break\n \n case 'End':\n event.preventDefault()\n setFocusedIndex(options.length - 1)\n break\n }\n }\n \n if (isOpen) {\n document.addEventListener('keydown', handleKeyDown)\n return () => document.removeEventListener('keydown', handleKeyDown)\n }\n \n return undefined\n }, [isOpen, focusedIndex, options])\n \n const handleTriggerClick = () => {\n if (!disabled) {\n setIsOpen(!isOpen)\n if (!isOpen) {\n // When opening, set focus to the currently selected option or first option\n const selectedIndex = options.findIndex(option => option.id === value)\n setFocusedIndex(selectedIndex >= 0 ? selectedIndex : 0)\n } else {\n // When closing, reset focus\n setFocusedIndex(-1)\n }\n }\n }\n \n const handleOptionClick = (optionId: string) => {\n onChange(optionId)\n setIsOpen(false)\n setFocusedIndex(-1)\n }\n \n return (\n <DropdownContainer ref={dropdownRef} className={className}>\n {label && (\n <label htmlFor={dropdownId} style={{ display: 'block', marginBottom: spacing[2] }}>\n <Typography variant=\"label\">{label}</Typography>\n </label>\n )}\n <DropdownTrigger\n id={dropdownId}\n $isOpen={isOpen}\n $hasError={hasError}\n onClick={handleTriggerClick}\n disabled={disabled}\n aria-expanded={isOpen}\n aria-haspopup=\"listbox\"\n aria-invalid={hasError}\n aria-describedby={describedBy}\n >\n <span>{selectedOption ? selectedOption.label : placeholder}</span>\n <DropdownIcon $isOpen={isOpen}>\n <Icon name=\"arrowDown\" iconColor={disabled ? 'disabled' : 'subdued'} />\n </DropdownIcon>\n </DropdownTrigger>\n \n <DropdownMenu $isOpen={isOpen} role=\"listbox\" aria-labelledby={dropdownId}>{options.map((option, index) => (\n <DropdownOption\n key={option.id}\n $isSelected={option.id === value}\n $isFocused={index === focusedIndex}\n onClick={() => handleOptionClick(option.id)}\n role=\"option\"\n aria-selected={option.id === value}\n >\n {option.label}\n </DropdownOption>\n ))}\n </DropdownMenu>\n \n {error && (\n <StyledHelperText\n id={errorId}\n role=\"alert\"\n aria-live=\"polite\"\n $hasError={true}\n >\n {error}\n </StyledHelperText>\n )}\n \n {helperText && !error && (\n <StyledHelperText id={helperId}>\n {helperText}\n </StyledHelperText>\n )}\n </DropdownContainer>\n )\n}\n","import React from 'react'\nimport styled from 'styled-components'\nimport tokens from '@/styles/tokens.json'\n\nconst { semantic } = tokens\n\nexport interface ListProps {\n /**\n * ListItem components\n */\n children: React.ReactNode\n \n /**\n * Show dividers between items\n * @default true\n */\n dividers?: boolean\n \n /**\n * Vertical spacing between items\n * @default 'comfortable'\n */\n spacing?: 'compact' | 'comfortable'\n \n /**\n * Additional CSS class name\n */\n className?: string\n \n /**\n * Test identifier for automated testing\n */\n 'data-testid'?: string\n}\n\nconst StyledList = styled.ul.withConfig({\n shouldForwardProp: (prop) => !prop.startsWith('$')\n})<{\n $dividers: boolean\n $spacing: 'compact' | 'comfortable'\n}>`\n list-style: none;\n margin: 0;\n padding: 0;\n width: 100%;\n \n /* Divider styles */\n ${({ $dividers }) => $dividers && `\n > li:not(:last-child) {\n border-bottom: 1px solid ${semantic.color.border.default};\n }\n `}\n`\n\nexport const List = ({\n children,\n dividers = true,\n spacing = 'comfortable',\n className,\n 'data-testid': dataTestId,\n ...props\n}: ListProps) => {\n return (\n <StyledList\n $dividers={dividers}\n $spacing={spacing}\n className={className}\n data-testid={dataTestId}\n role=\"list\"\n {...props}\n >\n {children}\n </StyledList>\n )\n}\n\nList.displayName = 'List'\n","import React, { useState } from 'react'\nimport styled from 'styled-components'\nimport tokens from '@/styles/tokens.json'\nimport { Icon } from '../../atoms/Icon'\nimport { Typography } from '../../atoms/Typography'\nimport { Stack } from '../../atoms/Stack'\n\nconst { semantic, base } = tokens\n\nexport interface ListItemProps {\n /**\n * Main text/content\n */\n primary: React.ReactNode\n \n /**\n * Secondary text (smaller, subdued color)\n */\n secondary?: React.ReactNode\n \n /**\n * Badge/chip component on the right\n */\n badge?: React.ReactNode\n \n /**\n * Left icon or avatar component\n */\n icon?: React.ReactNode\n \n /**\n * Can be expanded to show children content\n * @default false\n */\n expandable?: boolean\n \n /**\n * Expansion state (controlled)\n * @default false\n */\n expanded?: boolean\n \n /**\n * Called when expansion is toggled\n */\n onToggle?: () => void\n \n /**\n * Enable hover/click interactive states\n * @default false\n */\n interactive?: boolean\n \n /**\n * Click handler for interactive items\n */\n onClick?: () => void\n \n /**\n * Disabled state\n * @default false\n */\n disabled?: boolean\n \n /**\n * Selected/active state\n * @default false\n */\n selected?: boolean\n \n /**\n * Spacing variant from parent List\n * @default 'comfortable'\n */\n spacing?: 'compact' | 'comfortable'\n \n /**\n * Expanded content (shown when expanded=true)\n */\n children?: React.ReactNode\n \n /**\n * Additional CSS class name\n */\n className?: string\n \n /**\n * Test identifier for automated testing\n */\n 'data-testid'?: string\n}\n\nconst StyledListItem = styled.li.withConfig({\n shouldForwardProp: (prop) => !prop.startsWith('$')\n})<{\n $interactive: boolean\n $disabled: boolean\n $selected: boolean\n $spacing: 'compact' | 'comfortable'\n}>`\n display: flex;\n flex-direction: column;\n min-height: 44px; /* Touch target minimum */\n position: relative;\n \n /* Disable user selection for interactive items */\n ${({ $interactive }) => $interactive && 'user-select: none;'}\n \n /* Disabled state */\n ${({ $disabled }) => $disabled && `\n opacity: ${base.opacity[50]};\n cursor: not-allowed;\n pointer-events: none;\n `}\n`\n\nconst StyledItemContent = styled.div.withConfig({\n shouldForwardProp: (prop) => !prop.startsWith('$')\n})<{\n $interactive: boolean\n $disabled: boolean\n $selected: boolean\n $spacing: 'compact' | 'comfortable'\n}>`\n display: flex;\n align-items: flex-start;\n gap: ${semantic.spacing.layout.md};\n padding: ${({ $spacing }) =>\n $spacing === 'compact'\n ? `${semantic.spacing.layout.sm} ${semantic.spacing.layout.md}`\n : `${semantic.spacing.layout.md} ${semantic.spacing.layout.lg}`};\n border-radius: ${base.border.radius[2]};\n background-color: ${({ $selected }) =>\n $selected ? semantic.color.background['interactive-subtle'] : 'transparent'};\n transition: background-color 150ms ease;\n cursor: ${({ $interactive, $disabled }) => {\n if ($disabled) return 'not-allowed'\n if ($interactive) return 'pointer'\n return 'default'\n }};\n \n /* Interactive hover states */\n ${({ $interactive, $disabled, $selected }) => !$disabled && $interactive && `\n &:hover {\n background-color: ${\n $selected \n ? tokens.component.button.variants.secondary.backgroundColor\n : tokens.component.button.variants.secondary.backgroundColor\n };\n }\n \n &:active {\n background-color: ${tokens.component.button.variants.naked.backgroundColor};\n }\n `}\n \n /* Focus visible */\n &:focus-visible {\n outline: 2px solid ${semantic.color.border.interactive};\n outline-offset: 2px;\n }\n`\n\nconst StyledIconContainer = styled.div`\n display: flex;\n align-items: center;\n flex-shrink: 0;\n width: 24px;\n height: 24px;\n`\n\nconst StyledTextContent = styled.div`\n flex: 1;\n display: flex;\n flex-direction: column;\n gap: ${semantic.spacing.layout.xs};\n min-width: 0; /* Allow text truncation */\n`\n\nconst StyledRightContent = styled.div`\n display: flex;\n align-items: center;\n gap: ${semantic.spacing.layout.sm};\n flex-shrink: 0;\n margin-left: auto;\n`\n\nconst StyledChevronIcon = styled.div.withConfig({\n shouldForwardProp: (prop) => !prop.startsWith('$')\n})<{\n $expanded: boolean\n}>`\n display: flex;\n align-items: center;\n justify-content: center;\n width: 24px;\n height: 24px;\n color: ${semantic.color.icon.subdued};\n transition: transform 200ms ease;\n transform: rotate(${({ $expanded }) => ($expanded ? '180deg' : '0deg')});\n pointer-events: none;\n`\n\nconst StyledExpandedContent = styled.div.withConfig({\n shouldForwardProp: (prop) => !prop.startsWith('$')\n})<{\n $spacing: 'compact' | 'comfortable'\n $expanded: boolean\n}>`\n overflow: hidden;\n transition: max-height 200ms ease-out, opacity 200ms ease-out;\n max-height: ${({ $expanded }) => ($expanded ? '1000px' : '0')};\n opacity: ${({ $expanded }) => ($expanded ? '1' : '0')};\n \n ${({ $expanded, $spacing }) => $expanded && `\n padding: ${\n $spacing === 'compact'\n ? `${semantic.spacing.layout.sm} ${semantic.spacing.layout.md} ${semantic.spacing.layout.sm} 48px`\n : `${semantic.spacing.layout.sm} ${semantic.spacing.layout.lg} ${semantic.spacing.layout.md} 60px`\n };\n background-color: ${semantic.color.background['subtle']};\n border-radius: ${base.border.radius[2]};\n margin: 0 ${\n $spacing === 'compact' \n ? semantic.spacing.layout.md \n : semantic.spacing.layout.lg\n } ${\n $spacing === 'compact'\n ? semantic.spacing.layout.sm\n : semantic.spacing.layout.md\n };\n `}\n`\n\nexport const ListItem = ({\n primary,\n secondary,\n badge,\n icon,\n expandable = false,\n expanded = false,\n onToggle,\n interactive = false,\n onClick,\n disabled = false,\n selected = false,\n spacing = 'comfortable',\n children,\n className,\n 'data-testid': dataTestId,\n ...props\n}: ListItemProps) => {\n const isInteractive = interactive || expandable\n const role = isInteractive ? 'button' : undefined\n const ariaExpanded = expandable ? expanded : undefined\n const ariaDisabled = disabled ? true : undefined\n const ariaCurrent = selected ? 'true' : undefined\n \n const handleClick = () => {\n if (disabled) return\n \n if (expandable && onToggle) {\n onToggle()\n } else if (onClick) {\n onClick()\n }\n }\n \n const handleKeyDown = (event: React.KeyboardEvent) => {\n if (disabled) return\n \n if (event.key === 'Enter' || event.key === ' ') {\n event.preventDefault()\n handleClick()\n }\n }\n \n return (\n <StyledListItem\n $interactive={isInteractive}\n $disabled={disabled}\n $selected={selected}\n $spacing={spacing}\n className={className}\n data-testid={dataTestId}\n role=\"listitem\"\n {...props}\n >\n <StyledItemContent\n $interactive={isInteractive}\n $disabled={disabled}\n $selected={selected}\n $spacing={spacing}\n role={role}\n aria-expanded={ariaExpanded}\n aria-disabled={ariaDisabled}\n aria-current={ariaCurrent}\n tabIndex={isInteractive && !disabled ? 0 : undefined}\n onClick={handleClick}\n onKeyDown={handleKeyDown}\n >\n {icon && (\n <StyledIconContainer aria-hidden=\"true\">\n {icon}\n </StyledIconContainer>\n )}\n \n <StyledTextContent>\n <Typography variant=\"body\" color=\"default\">\n {primary}\n </Typography>\n {secondary && (\n <Typography variant=\"small\" color=\"subdued\">\n {secondary}\n </Typography>\n )}\n </StyledTextContent>\n \n <StyledRightContent>\n {badge}\n {expandable && (\n <StyledChevronIcon $expanded={expanded} aria-hidden=\"true\">\n <Icon name=\"caretDown\" size=\"sm\" />\n </StyledChevronIcon>\n )}\n </StyledRightContent>\n </StyledItemContent>\n \n {expandable && children && (\n <StyledExpandedContent\n $spacing={spacing}\n $expanded={expanded}\n aria-hidden={!expanded}\n >\n {children}\n </StyledExpandedContent>\n )}\n </StyledListItem>\n )\n}\n\nListItem.displayName = 'ListItem'\n","import styled from 'styled-components'\nimport tokens from '@/styles/tokens.json'\n\nconst { component: { input } } = tokens\n\n/**\n * Shared input states for text-based form controls\n */\nexport type InputState = 'default' | 'focus' | 'error' | 'disabled'\n\n/**\n * Base styled input component with all common styling\n * Reusable across TextField, TextArea, PasswordInput, NumberInput\n */\ninterface StyledInputBaseProps {\n $hasError?: boolean\n $disabled?: boolean\n}\n\nexport const StyledInputBase = styled.input.withConfig({\n shouldForwardProp: (prop) => !prop.startsWith('$')\n})<StyledInputBaseProps>`\n /* Typography */\n font: ${input.default.font};\n color: ${({ $disabled }) => \n $disabled \n ? input.disabled.textColor \n : input.default.textColor\n };\n \n /* Layout */\n width: 100%;\n padding: ${input.default.paddingY} ${input.default.paddingX};\n \n /* Visual styling */\n background-color: ${({ $disabled }) => \n $disabled \n ? input.disabled.backgroundColor \n : input.default.backgroundColor\n };\n \n border: ${input.default.borderWidth} solid ${({ $hasError, $disabled }) => {\n if ($disabled) return input.disabled.borderColor\n if ($hasError) return input.error.borderColor\n return input.default.borderColor\n }};\n \n border-radius: ${input.default.borderRadius};\n \n /* Remove default appearance */\n appearance: none;\n outline: none;\n \n /* Transitions */\n transition: border-color 200ms ease-in-out, \n outline 200ms ease-in-out;\n \n /* Placeholder */\n &::placeholder {\n color: ${input.placeholder.textColor};\n opacity: 1;\n }\n \n /* Focus state */\n &:focus {\n border-color: ${({ $hasError }) => \n $hasError \n ? input.error.focus.borderColor \n : input.focus.borderColor\n };\n outline: ${input.focus.outline};\n outline-offset: ${input.focus.outlineOffset};\n }\n \n /* Hover state (only when not disabled) */\n &:hover:not(:disabled) {\n border-color: ${({ $hasError }) => \n $hasError \n ? input.error.hover.borderColor \n : input.hover.borderColor\n };\n }\n \n /* Disabled state */\n &:disabled {\n cursor: ${input.disabled.cursor};\n }\n \n /* Remove number input spinners */\n &[type='number']::-webkit-inner-spin-button,\n &[type='number']::-webkit-outer-spin-button {\n -webkit-appearance: none;\n margin: 0;\n }\n \n &[type='number'] {\n -moz-appearance: textfield;\n }\n`\n\n/**\n * Base styled textarea with shared styling\n */\nexport const StyledTextAreaBase = styled.textarea.withConfig({\n shouldForwardProp: (prop) => !prop.startsWith('$')\n})<StyledInputBaseProps>`\n /* Inherit all input base styles */\n ${StyledInputBase}\n \n /* TextArea specific */\n min-height: 120px;\n resize: vertical;\n font-family: inherit;\n line-height: 1.5;\n`\n","import { InputHTMLAttributes, forwardRef, useId, useState, useCallback, ChangeEvent, KeyboardEvent } from 'react'\nimport styled from 'styled-components'\nimport { StyledInputBase } from '../TextField/InputBase'\nimport { Typography } from '../../atoms/Typography/Typography'\nimport { IconButton } from '../../atoms/IconButton/IconButton'\nimport tokens from '@/styles/tokens.json'\n\nconst { semantic, base } = tokens\n\n/**\n * Props for the NumberInput component\n */\nexport interface NumberInputProps extends Omit<InputHTMLAttributes<HTMLInputElement>, 'type' | 'onChange' | 'value' | 'defaultValue'> {\n /**\n * Label text for the input\n */\n label?: string\n \n /**\n * Helper text displayed below the input\n */\n helperText?: string\n \n /**\n * Error message to display\n */\n error?: string\n \n /**\n * Whether the field is required\n * @default false\n */\n required?: boolean\n \n /**\n * Whether the input is disabled\n * @default false\n */\n disabled?: boolean\n \n /**\n * Minimum allowed value\n */\n min?: number\n \n /**\n * Maximum allowed value\n */\n max?: number\n \n /**\n * Step increment/decrement value\n * @default 1\n */\n step?: number\n \n /**\n * Current value (controlled)\n */\n value?: number | ''\n \n /**\n * Default value (uncontrolled)\n */\n defaultValue?: number | ''\n \n /**\n * Callback fired when value changes\n */\n onChange?: (value: number | '', event: ChangeEvent<HTMLInputElement>) => void\n \n /**\n * Unique identifier for the input\n * Generated automatically if not provided\n */\n id?: string\n \n /**\n * Test identifier for automated testing\n */\n 'data-testid'?: string\n}\n\nconst StyledFieldContainer = styled.div`\n display: flex;\n flex-direction: column;\n gap: ${base.spacing[2]};\n width: 100%;\n`\n\nconst StyledLabel = styled.label`\n display: flex;\n align-items: center;\n gap: ${base.spacing[1]};\n font: ${semantic.typography.label};\n color: ${semantic.color.text.default};\n \n &[data-disabled='true'] {\n color: ${semantic.color.text.disabled};\n }\n`\n\nconst StyledRequiredIndicator = styled.span`\n color: ${semantic.color.text.error};\n font-weight: ${base.fontWeight[5]};\n`\n\nconst StyledInputWrapper = styled.div`\n position: relative;\n display: flex;\n align-items: center;\n`\n\nconst StyledNumberInput = styled(StyledInputBase)`\n /* Add padding on the right to make room for stepper buttons */\n padding-right: ${base.spacing[10]};\n`\n\nconst StyledStepperContainer = styled.div`\n position: absolute;\n right: ${base.spacing[2]};\n display: flex;\n flex-direction: row;\n gap: ${base.spacing[2]};\n`\n\nconst StyledHelperText = styled.div<{ $isError?: boolean }>`\n font: ${semantic.typography.small};\n color: ${({ $isError }) => \n $isError \n ? semantic.color.text.error \n : semantic.color.text.subdued\n };\n`\n\n/**\n * NumberInput component for numeric input with stepper buttons and WCAG 2.2 AA compliance\n * \n * Features:\n * - Stepper buttons for increment/decrement\n * - Keyboard arrow up/down support\n * - Min/max value constraints\n * - Custom step values\n * - Decimal and integer support\n * - Full accessibility with ARIA attributes\n * \n * @example\n * ```tsx\n * <NumberInput \n * label=\"Quantity\"\n * min={0}\n * max={100}\n * step={1}\n * value={value}\n * onChange={(newValue) => setValue(newValue)}\n * />\n * ```\n */\nexport const NumberInput = forwardRef<HTMLInputElement, NumberInputProps>(\n (\n {\n label,\n helperText,\n error,\n required = false,\n disabled = false,\n min,\n max,\n step = 1,\n value,\n defaultValue,\n onChange,\n id: providedId,\n 'data-testid': testId,\n placeholder,\n 'aria-label': ariaLabel,\n 'aria-describedby': ariaDescribedBy,\n ...rest\n },\n ref\n ) => {\n const generatedId = useId()\n const id = providedId || generatedId\n const helperId = `${id}-helper`\n const errorId = `${id}-error`\n \n // Parse string value to number or empty string\n const parseValue = useCallback((val: string): number | '' => {\n if (val === '' || val === '-') return ''\n const parsed = parseFloat(val)\n return isNaN(parsed) ? '' : parsed\n }, [])\n \n // Format number to string for display\n const formatValue = useCallback((val: number | ''): string => {\n return val === '' ? '' : String(val)\n }, [])\n \n // Handle increment\n const handleIncrement = useCallback(() => {\n if (disabled) return\n \n const inputElement = (ref as React.RefObject<HTMLInputElement>)?.current\n const currentValue = value !== undefined ? value : parseValue(inputElement?.value || '')\n const numValue = currentValue === '' ? (min !== undefined ? min : 0) : currentValue\n const newValue = numValue + step\n \n // Check max constraint\n if (max !== undefined && newValue > max) return\n \n // Update input value directly for both controlled and uncontrolled\n if (inputElement) {\n inputElement.value = String(newValue)\n }\n \n // Create synthetic event\n const syntheticEvent = {\n target: inputElement || { value: String(newValue) },\n currentTarget: inputElement || { value: String(newValue) }\n } as ChangeEvent<HTMLInputElement>\n \n onChange?.(newValue, syntheticEvent)\n }, [disabled, value, min, max, step, onChange, parseValue, ref])\n \n // Handle decrement\n const handleDecrement = useCallback(() => {\n if (disabled) return\n \n const inputElement = (ref as React.RefObject<HTMLInputElement>)?.current\n const currentValue = value !== undefined ? value : parseValue(inputElement?.value || '')\n const numValue = currentValue === '' ? (max !== undefined ? max : 0) : currentValue\n const newValue = numValue - step\n \n // Check min constraint\n if (min !== undefined && newValue < min) return\n \n // Update input value directly for both controlled and uncontrolled\n if (inputElement) {\n inputElement.value = String(newValue)\n }\n \n // Create synthetic event\n const syntheticEvent = {\n target: inputElement || { value: String(newValue) },\n currentTarget: inputElement || { value: String(newValue) }\n } as ChangeEvent<HTMLInputElement>\n \n onChange?.(newValue, syntheticEvent)\n }, [disabled, value, min, max, step, onChange, parseValue, ref])\n \n // Handle input change\n const handleChange = useCallback((e: ChangeEvent<HTMLInputElement>) => {\n const inputValue = e.target.value\n \n // Allow empty, negative sign, or valid number (including decimals)\n if (inputValue === '' || inputValue === '-' || /^-?\\d*\\.?\\d*$/.test(inputValue)) {\n const parsedValue = parseValue(inputValue)\n onChange?.(parsedValue, e)\n } else {\n // Prevent invalid input by not updating\n e.preventDefault()\n e.target.value = formatValue(value !== undefined ? value : '')\n }\n }, [onChange, parseValue, value, formatValue])\n \n // Handle keyboard navigation\n const handleKeyDown = useCallback((e: KeyboardEvent<HTMLInputElement>) => {\n if (e.key === 'ArrowUp') {\n e.preventDefault()\n handleIncrement()\n } else if (e.key === 'ArrowDown') {\n e.preventDefault()\n handleDecrement()\n }\n }, [handleIncrement, handleDecrement])\n \n // Check if buttons should be disabled\n const isIncrementDisabled = disabled || (max !== undefined && value !== '' && typeof value === 'number' && value >= max)\n const isDecrementDisabled = disabled || (min !== undefined && value !== '' && typeof value === 'number' && value <= min)\n \n // Build aria-describedby\n const ariaDescribedByIds = [\n ariaDescribedBy,\n helperText ? helperId : null,\n error ? errorId : null,\n ].filter(Boolean).join(' ') || undefined\n \n return (\n <StyledFieldContainer>\n {label && (\n <StyledLabel \n htmlFor={id}\n data-disabled={disabled}\n >\n {label}\n {required && <StyledRequiredIndicator aria-label=\"required\">*</StyledRequiredIndicator>}\n </StyledLabel>\n )}\n \n <StyledInputWrapper>\n <StyledNumberInput\n ref={ref}\n id={id}\n type=\"text\"\n inputMode=\"decimal\"\n value={value !== undefined ? formatValue(value) : undefined}\n defaultValue={defaultValue !== undefined ? formatValue(defaultValue) : undefined}\n onChange={handleChange}\n onKeyDown={handleKeyDown}\n disabled={disabled}\n required={required}\n placeholder={placeholder}\n $hasError={!!error}\n $disabled={disabled}\n aria-label={ariaLabel || label}\n aria-invalid={!!error}\n aria-describedby={ariaDescribedByIds}\n aria-required={required}\n data-testid={testId}\n role=\"spinbutton\"\n aria-valuemin={min}\n aria-valuemax={max}\n aria-valuenow={typeof value === 'number' ? value : undefined}\n {...rest}\n />\n \n <StyledStepperContainer>\n <IconButton\n iconName=\"caretUp\"\n variant=\"secondary\"\n size=\"small\"\n onClick={handleIncrement}\n disabled={isIncrementDisabled}\n aria-label=\"Increment value\"\n tabIndex={-1}\n type=\"button\"\n />\n <IconButton\n iconName=\"caretDown\"\n variant=\"secondary\"\n size=\"small\"\n onClick={handleDecrement}\n disabled={isDecrementDisabled}\n aria-label=\"Decrement value\"\n tabIndex={-1}\n type=\"button\"\n />\n </StyledStepperContainer>\n </StyledInputWrapper>\n \n {(helperText || error) && (\n <StyledHelperText \n id={error ? errorId : helperId}\n $isError={!!error}\n role={error ? 'alert' : undefined}\n aria-live={error ? 'polite' : undefined}\n >\n {error || helperText}\n </StyledHelperText>\n )}\n </StyledFieldContainer>\n )\n }\n)\n\nNumberInput.displayName = 'NumberInput'\n","import React, { FC } from 'react'\nimport styled from 'styled-components'\nimport { IconButton } from '../../atoms/IconButton'\nimport { Stack } from '../../atoms/Stack'\nimport { Typography } from '../../atoms/Typography'\nimport tokens from '@/styles/tokens.json'\n\ninterface PageTitleProps {\n title: string\n hasBackButton?: boolean\n subtitle?: string\n}\n\ninterface StyledPageTitleProps {\n $hasBackButton: boolean\n}\n\nconst PageTitleStyled = styled.div.withConfig({\n shouldForwardProp: (prop) => !prop.startsWith('$')\n})<StyledPageTitleProps>`\n margin-bottom: ${tokens.base.spacing[6]};\n margin-top: ${({ $hasBackButton }) => $hasBackButton ? tokens.base.spacing[0] : tokens.base.spacing[12]};\n`\n\nexport const PageTitle: FC<PageTitleProps> = ({ title, hasBackButton = false, subtitle }) => {\n return (\n <PageTitleStyled $hasBackButton={hasBackButton}>\n {hasBackButton && <IconButton iconName='back' size='large' variant='naked' url='/music' aria-label='Go back to music page' />}\n <Stack direction='column' gap=\"md\">\n <Typography variant=\"h1\">{title}</Typography>\n {subtitle && <Typography variant='caption' color='subdued'>{subtitle}</Typography>}\n </Stack>\n </PageTitleStyled>\n )\n}\n","import { InputHTMLAttributes, forwardRef, useId, useState } from 'react'\nimport styled from 'styled-components'\nimport { StyledInputBase } from '../TextField/InputBase'\nimport { Typography } from '../../atoms/Typography/Typography'\nimport { IconButton } from '../../atoms/IconButton/IconButton'\nimport tokens from '@/styles/tokens.json'\n\nconst { semantic, base } = tokens\n\n/**\n * Props for the PasswordField component\n */\nexport interface PasswordFieldProps extends Omit<InputHTMLAttributes<HTMLInputElement>, 'size' | 'type'> {\n /**\n * Label text for the input\n */\n label?: string\n \n /**\n * Helper text displayed below the input\n */\n helperText?: string\n \n /**\n * Error message to display\n */\n error?: string\n \n /**\n * Whether the field is required\n * @default false\n */\n required?: boolean\n \n /**\n * Whether the input is disabled\n * @default false\n */\n disabled?: boolean\n \n /**\n * Unique identifier for the input\n * Generated automatically if not provided\n */\n id?: string\n \n /**\n * Test identifier for automated testing\n */\n 'data-testid'?: string\n \n /**\n * Whether to show the password visibility toggle button\n * @default true\n */\n showToggle?: boolean\n}\n\nconst StyledFieldContainer = styled.div`\n display: flex;\n flex-direction: column;\n gap: ${base.spacing[2]};\n width: 100%;\n`\n\nconst StyledLabel = styled.label`\n display: flex;\n align-items: center;\n gap: ${base.spacing[1]};\n font: ${semantic.typography.label};\n color: ${semantic.color.text.default};\n \n &[data-disabled='true'] {\n color: ${semantic.color.text.disabled};\n }\n`\n\nconst StyledRequiredIndicator = styled.span`\n color: ${semantic.color.text.error};\n font-weight: ${base.fontWeight[5]};\n`\n\nconst StyledHelperText = styled.div<{ $hasError?: boolean }>`\n font: ${semantic.typography.caption};\n color: ${({ $hasError }) => \n $hasError \n ? semantic.color.text.error \n : semantic.color.text.subdued\n };\n`\n\nconst StyledInputWrapper = styled.div`\n position: relative;\n width: 100%;\n`\n\nconst StyledToggleButton = styled.div`\n position: absolute;\n right: ${base.spacing[2]};\n top: 50%;\n transform: translateY(-50%);\n`\n\n/**\n * PasswordField component for secure password input with visibility toggle\n * \n * @example\n * ```tsx\n * <PasswordField \n * label=\"Password\" \n * helperText=\"Must be at least 8 characters\"\n * required\n * />\n * ```\n */\nexport const PasswordField = forwardRef<HTMLInputElement, PasswordFieldProps>(\n (\n {\n label,\n helperText,\n error,\n required = false,\n disabled = false,\n id: providedId,\n 'data-testid': dataTestId,\n showToggle = true,\n ...inputProps\n },\n ref\n ) => {\n // Generate unique ID if not provided\n const generatedId = useId()\n const id = providedId || generatedId\n \n // Password visibility state\n const [showPassword, setShowPassword] = useState(false)\n \n // IDs for ARIA relationships\n const errorId = error ? `${id}-error` : undefined\n const helperId = helperText && !error ? `${id}-helper` : undefined\n const describedBy = [errorId, helperId].filter(Boolean).join(' ') || undefined\n \n const hasError = Boolean(error)\n \n const togglePasswordVisibility = () => {\n setShowPassword(!showPassword)\n }\n \n return (\n <StyledFieldContainer>\n {label && (\n <StyledLabel \n htmlFor={id}\n data-disabled={disabled}\n >\n {label}\n {required && (\n <StyledRequiredIndicator aria-label=\"required\">\n *\n </StyledRequiredIndicator>\n )}\n </StyledLabel>\n )}\n \n <StyledInputWrapper>\n <StyledInputBase\n ref={ref}\n id={id}\n type={showPassword ? 'text' : 'password'}\n disabled={disabled}\n required={required}\n aria-required={required}\n aria-invalid={hasError}\n aria-describedby={describedBy}\n $hasError={hasError}\n $disabled={disabled}\n data-testid={dataTestId}\n style={{ paddingRight: showToggle ? '3rem' : undefined }}\n {...inputProps}\n />\n \n {showToggle && (\n <StyledToggleButton>\n <IconButton\n variant=\"naked\"\n size=\"small\"\n iconName={showPassword ? 'viewHide' : 'view'}\n onClick={togglePasswordVisibility}\n disabled={disabled}\n aria-label={showPassword ? 'Hide password' : 'Show password'}\n aria-pressed={showPassword}\n type=\"button\"\n tabIndex={-1}\n />\n </StyledToggleButton>\n )}\n </StyledInputWrapper>\n \n {error && (\n <StyledHelperText\n id={errorId}\n role=\"alert\"\n aria-live=\"polite\"\n $hasError={true}\n >\n {error}\n </StyledHelperText>\n )}\n \n {helperText && !error && (\n <StyledHelperText id={helperId}>\n {helperText}\n </StyledHelperText>\n )}\n </StyledFieldContainer>\n )\n }\n)\n\nPasswordField.displayName = 'PasswordField'\n","import { useEffect, useRef, ReactNode, KeyboardEvent } from 'react'\nimport styled, { keyframes, css } from 'styled-components'\nimport tokens from '@/styles/tokens.json'\n\nconst { semantic, base } = tokens\n\n/**\n * Props for the Sheet component\n */\nexport interface SheetProps {\n /**\n * Whether the sheet is open\n */\n isOpen: boolean\n \n /**\n * Callback fired when the sheet should close\n */\n onClose: () => void\n \n /**\n * Position of the sheet\n * @default 'right'\n */\n position?: 'top' | 'right' | 'bottom' | 'left'\n \n /**\n * Variant of the sheet\n * - 'sheet': Full height/width edge-to-edge\n * - 'drawer': Floating with rounded corners and margin\n * @default 'sheet'\n */\n variant?: 'sheet' | 'drawer'\n \n /**\n * Width of the sheet (for left/right positions)\n * @default '400px'\n */\n width?: string\n \n /**\n * Height of the sheet (for top/bottom positions)\n * @default '400px'\n */\n height?: string\n \n /**\n * Content to display in the sheet\n */\n children?: ReactNode\n \n /**\n * Whether clicking the overlay should close the sheet\n * @default true\n */\n closeOnOverlayClick?: boolean\n \n /**\n * Whether pressing Escape should close the sheet\n * @default true\n */\n closeOnEscape?: boolean\n \n /**\n * Optional title for the sheet (improves accessibility)\n */\n title?: string\n \n /**\n * Test identifier for automated testing\n */\n 'data-testid'?: string\n \n /**\n * Accessible label for the sheet\n */\n 'aria-label'?: string\n \n /**\n * ID of element describing the sheet\n */\n 'aria-describedby'?: string\n}\n\n// Fade in animation for overlay\nconst fadeIn = keyframes`\n from {\n opacity: 0;\n }\n to {\n opacity: 1;\n }\n`\n\n// Slide animations for each position\nconst slideInRight = keyframes`\n from {\n transform: translateX(100%);\n }\n to {\n transform: translateX(0);\n }\n`\n\nconst slideInLeft = keyframes`\n from {\n transform: translateX(-100%);\n }\n to {\n transform: translateX(0);\n }\n`\n\nconst slideInTop = keyframes`\n from {\n transform: translateY(-100%);\n }\n to {\n transform: translateY(0);\n }\n`\n\nconst slideInBottom = keyframes`\n from {\n transform: translateY(100%);\n }\n to {\n transform: translateY(0);\n }\n`\n\nconst StyledOverlay = styled.div.withConfig({\n shouldForwardProp: (prop) => !prop.startsWith('$')\n})<{ $isOpen: boolean }>`\n position: fixed;\n top: 0;\n left: 0;\n right: 0;\n bottom: 0;\n background-color: rgba(0, 0, 0, 0.5);\n z-index: 1000;\n ${css`animation: ${fadeIn} 200ms ease-in-out;`}\n display: ${({ $isOpen }) => ($isOpen ? 'block' : 'none')};\n`\n\nconst StyledSheet = styled.div.withConfig({\n shouldForwardProp: (prop) => !prop.startsWith('$')\n})<{\n $position: 'top' | 'right' | 'bottom' | 'left'\n $variant: 'sheet' | 'drawer'\n $width: string\n $height: string\n $isOpen: boolean\n}>`\n position: fixed;\n background-color: ${semantic.color.background.default};\n box-shadow: ${base.shadow[4]};\n z-index: 1001;\n overflow-y: auto;\n \n /* Position-specific styles */\n ${({ $position, $variant, $width, $height }) => {\n const isDrawer = $variant === 'drawer'\n const margin = isDrawer ? base.spacing[4] : '0'\n const borderRadius = isDrawer ? base.border.radius[3] : '0'\n \n switch ($position) {\n case 'right':\n return css`\n top: ${margin};\n right: ${margin};\n bottom: ${margin};\n width: ${$width};\n max-width: calc(100vw - ${isDrawer ? `${base.spacing[4]} * 2` : '0px'});\n border-radius: ${borderRadius} 0 0 ${borderRadius};\n animation: ${slideInRight} 200ms ease-in-out;\n `\n case 'left':\n return css`\n top: ${margin};\n left: ${margin};\n bottom: ${margin};\n width: ${$width};\n max-width: calc(100vw - ${isDrawer ? `${base.spacing[4]} * 2` : '0px'});\n border-radius: 0 ${borderRadius} ${borderRadius} 0;\n animation: ${slideInLeft} 200ms ease-in-out;\n `\n case 'top':\n return css`\n top: ${margin};\n left: ${margin};\n right: ${margin};\n height: ${$height};\n max-height: calc(100vh - ${isDrawer ? `${base.spacing[4]} * 2` : '0px'});\n border-radius: 0 0 ${borderRadius} ${borderRadius};\n animation: ${slideInTop} 200ms ease-in-out;\n `\n case 'bottom':\n return css`\n bottom: ${margin};\n left: ${margin};\n right: ${margin};\n height: ${$height};\n max-height: calc(100vh - ${isDrawer ? `${base.spacing[4]} * 2` : '0px'});\n border-radius: ${borderRadius} ${borderRadius} 0 0;\n animation: ${slideInBottom} 200ms ease-in-out;\n `\n }\n }}\n \n /* Focus trap styling */\n &:focus {\n outline: none;\n }\n \n /* Scrollbar styling */\n &::-webkit-scrollbar {\n width: ${base.spacing[2]};\n }\n \n &::-webkit-scrollbar-track {\n background: ${semantic.color.background.subtle};\n }\n \n &::-webkit-scrollbar-thumb {\n background: ${semantic.color.border.default};\n border-radius: ${base.border.radius.circle};\n }\n \n &::-webkit-scrollbar-thumb:hover {\n background: ${semantic.color.border.strong};\n }\n`\n\nconst StyledSheetContent = styled.div`\n padding: ${base.spacing[6]};\n min-height: 100%;\n`\n\n/**\n * Sheet component for side panels and drawers\n * \n * Provides a sliding panel that appears from any edge of the screen.\n * Can be used for navigation menus, filters, forms, or additional content.\n * \n * @example\n * ```tsx\n * // Right-positioned sheet (default)\n * <Sheet isOpen={isOpen} onClose={() => setIsOpen(false)}>\n * <h2>Sheet Content</h2>\n * <p>Your content here</p>\n * </Sheet>\n * \n * // Drawer variant from bottom\n * <Sheet \n * isOpen={isOpen} \n * onClose={() => setIsOpen(false)}\n * position=\"bottom\"\n * variant=\"drawer\"\n * height=\"60vh\"\n * >\n * <h2>Mobile Menu</h2>\n * </Sheet>\n * ```\n */\nexport const Sheet = ({\n isOpen,\n onClose,\n position = 'right',\n variant = 'sheet',\n width = '400px',\n height = '400px',\n children,\n closeOnOverlayClick = true,\n closeOnEscape = true,\n title,\n 'data-testid': dataTestId,\n 'aria-label': ariaLabel,\n 'aria-describedby': ariaDescribedBy,\n}: SheetProps) => {\n const sheetRef = useRef<HTMLDivElement>(null)\n const previousFocusRef = useRef<HTMLElement | null>(null)\n \n // Focus management\n useEffect(() => {\n if (isOpen) {\n // Store previous focus\n previousFocusRef.current = document.activeElement as HTMLElement\n \n // Focus sheet\n setTimeout(() => {\n sheetRef.current?.focus()\n }, 100) // Small delay to allow animation to start\n \n // Prevent body scroll\n document.body.style.overflow = 'hidden'\n } else {\n // Restore previous focus\n if (previousFocusRef.current) {\n previousFocusRef.current.focus()\n }\n \n // Restore body scroll\n document.body.style.overflow = ''\n }\n \n return () => {\n document.body.style.overflow = ''\n }\n }, [isOpen])\n \n // Keyboard handling\n const handleKeyDown = (event: KeyboardEvent<HTMLDivElement>) => {\n if (closeOnEscape && event.key === 'Escape') {\n event.preventDefault()\n onClose()\n }\n \n // Focus trap\n if (event.key === 'Tab') {\n const focusableElements = sheetRef.current?.querySelectorAll(\n 'button, [href], input, select, textarea, [tabindex]:not([tabindex=\"-1\"])'\n )\n \n if (!focusableElements || focusableElements.length === 0) return\n \n const firstElement = focusableElements[0] as HTMLElement\n const lastElement = focusableElements[focusableElements.length - 1] as HTMLElement\n \n if (event.shiftKey && document.activeElement === firstElement) {\n event.preventDefault()\n lastElement.focus()\n } else if (!event.shiftKey && document.activeElement === lastElement) {\n event.preventDefault()\n firstElement.focus()\n }\n }\n }\n \n // Overlay click handling\n const handleOverlayClick = (event: React.MouseEvent<HTMLDivElement>) => {\n if (closeOnOverlayClick && event.target === event.currentTarget) {\n onClose()\n }\n }\n \n if (!isOpen) return null\n \n return (\n <>\n <StyledOverlay\n $isOpen={isOpen}\n onClick={handleOverlayClick}\n data-testid={dataTestId ? `${dataTestId}-overlay` : 'sheet-overlay'}\n />\n \n <StyledSheet\n ref={sheetRef}\n role=\"dialog\"\n aria-modal=\"true\"\n aria-label={ariaLabel || title || 'Sheet dialog'}\n aria-describedby={ariaDescribedBy}\n tabIndex={-1}\n $position={position}\n $variant={variant}\n $width={width}\n $height={height}\n $isOpen={isOpen}\n onKeyDown={handleKeyDown}\n data-testid={dataTestId}\n >\n <StyledSheetContent>\n {children}\n </StyledSheetContent>\n </StyledSheet>\n </>\n )\n}\n\nSheet.displayName = 'Sheet'\n","import { useRef, useState, useEffect, useId, KeyboardEvent } from 'react'\nimport styled from 'styled-components'\nimport tokens from '@/styles/tokens.json'\n\nconst { semantic, base } = tokens\n\n/**\n * Props for the Slider component\n */\nexport interface SliderProps {\n /**\n * Minimum value of the slider\n * @default 0\n */\n min?: number\n \n /**\n * Maximum value of the slider\n * @default 100\n */\n max?: number\n \n /**\n * Step increment for value changes\n * @default 1\n */\n step?: number\n \n /**\n * Current value for single slider\n */\n value?: number\n \n /**\n * Default value for uncontrolled single slider\n */\n defaultValue?: number\n \n /**\n * Current values for range slider [min, max]\n */\n rangeValue?: [number, number]\n \n /**\n * Default values for uncontrolled range slider [min, max]\n */\n defaultRangeValue?: [number, number]\n \n /**\n * Callback fired when value changes (single slider)\n */\n onChange?: (value: number) => void\n \n /**\n * Callback fired when range values change (range slider)\n */\n onRangeChange?: (values: [number, number]) => void\n \n /**\n * Whether the slider is disabled\n * @default false\n */\n disabled?: boolean\n \n /**\n * Label for the slider\n */\n label?: string\n \n /**\n * Whether to show value labels\n * @default true\n */\n showValueLabel?: boolean\n \n /**\n * Custom formatter for value labels\n */\n formatValue?: (value: number) => string\n \n /**\n * Test identifier for automated testing\n */\n 'data-testid'?: string\n \n /**\n * Accessible name for the slider\n */\n 'aria-label'?: string\n \n /**\n * ID of element describing the slider\n */\n 'aria-describedby'?: string\n}\n\nconst StyledSliderContainer = styled.div`\n display: flex;\n flex-direction: column;\n gap:0;\n width: 100%;\n`\n\nconst StyledLabel = styled.label<{ $disabled?: boolean }>`\n font: ${semantic.typography.label};\n color: ${({ $disabled }) => \n $disabled ? semantic.color.text.disabled : semantic.color.text.default\n };\n margin-bottom: ${semantic.spacing.layout.lg};\n`\n\nconst StyledSliderTrackContainer = styled.div`\n position: relative;\n width: 100%;\n height: ${base.spacing[10]};\n display: flex;\n align-items: center;\n`\n\nconst StyledTrack = styled.div<{ $disabled?: boolean }>`\n position: relative;\n width: 100%;\n height: ${base.spacing[1]};\n background-color: ${({ $disabled }) =>\n $disabled \n ? semantic.color.background.disabled\n : semantic.color.border.default\n };\n border-radius: ${base.border.radius.circle};\n cursor: ${({ $disabled }) => $disabled ? 'not-allowed' : 'pointer'};\n`\n\nconst StyledTrackFill = styled.div<{ $disabled?: boolean }>`\n position: absolute;\n height: 100%;\n background-color: ${({ $disabled }) =>\n $disabled\n ? semantic.color.border.default\n : semantic.color.background.emphasis\n };\n border-radius: ${base.border.radius.circle};\n pointer-events: none;\n`\n\nconst StyledThumb = styled.div<{ \n $disabled?: boolean\n $active?: boolean\n}>`\n position: absolute;\n width: ${base.spacing[5]};\n height: ${base.spacing[5]};\n top: -${semantic.spacing.layout.sm};\n background-color: ${({ $disabled }) =>\n $disabled\n ? semantic.color.background.disabled\n : semantic.color.background.subtle\n };\n border: ${base.border.width[2]} solid ${({ $disabled }) =>\n $disabled\n ? semantic.color.border.default\n : semantic.color.background.emphasis\n };\n border-radius: ${base.border.radius.circle};\n cursor: ${({ $disabled }) => $disabled ? 'not-allowed' : 'grab'};\n transform: translateX(-50%);\n transition: ${semantic.motion.transition.fast};\n box-shadow: ${base.shadow[2]};\n \n &:hover:not([aria-disabled=\"true\"]) {\n transform: translateX(-50%) scale(1.1);\n box-shadow: ${base.shadow[3]};\n }\n \n &:focus-visible {\n outline: ${base.border.width[2]} solid ${semantic.color.border.interactive};\n outline-offset: ${base.spacing[1]};\n }\n \n &:active:not([aria-disabled=\"true\"]) {\n cursor: grabbing;\n transform: translateX(-50%) scale(0.95);\n }\n \n ${({ $active }) => $active && `\n transform: translateX(-50%) scale(1.1);\n box-shadow: ${base.shadow[4]};\n `}\n`\n\nconst StyledValueLabel = styled.div<{ $disabled?: boolean }>`\n position: absolute;\n top: -${base.spacing[8]};\n left: ${semantic.spacing.layout.sm};\n transform: translateX(-50%);\n padding: ${base.spacing[1]} ${base.spacing[2]};\n background-color: ${semantic.color.background.emphasis};\n color: ${semantic.color.text.inverse};\n font: ${semantic.typography.caption};\n border-radius: ${base.border.radius[2]};\n white-space: nowrap;\n pointer-events: none;\n opacity: ${({ $disabled }) => $disabled ? base.opacity[50] : base.opacity[100]};\n \n &::after {\n content: '';\n position: absolute;\n top: 100%;\n left: 50%;\n transform: translateX(-50%);\n width: 0;\n height: 0;\n border-left: ${base.spacing[1]} solid transparent;\n border-right: ${base.spacing[1]} solid transparent;\n border-top: ${base.spacing[1]} solid ${semantic.color.background.emphasis};\n }\n`\n\nconst StyledMinMaxLabels = styled.div`\n display: flex;\n justify-content: space-between;\n font: ${semantic.typography.body};\n color: ${semantic.color.text.subdued};\n margin-top: ${base.spacing[1]};\n`\n\n/**\n * Slider component for single value or range selection\n * \n * @example\n * ```tsx\n * // Single value slider\n * <Slider \n * label=\"Volume\"\n * min={0}\n * max={100}\n * value={50}\n * onChange={(value) => console.log(value)}\n * />\n * \n * // Range slider\n * <Slider \n * label=\"Budget Range\"\n * min={0}\n * max={1000}\n * rangeValue={[200, 800]}\n * onRangeChange={(values) => console.log(values)}\n * />\n * ```\n */\nexport const Slider = ({\n min = 0,\n max = 100,\n step = 1,\n value: controlledValue,\n defaultValue,\n rangeValue: controlledRangeValue,\n defaultRangeValue,\n onChange,\n onRangeChange,\n disabled = false,\n label,\n showValueLabel = true,\n formatValue = (val) => val.toString(),\n 'data-testid': dataTestId,\n 'aria-label': ariaLabel,\n 'aria-describedby': ariaDescribedBy,\n}: SliderProps) => {\n const generatedId = useId()\n const trackRef = useRef<HTMLDivElement>(null)\n const [activeThumb, setActiveThumb] = useState<'single' | 'min' | 'max' | null>(null)\n \n // Determine if this is a range slider\n const isRange = controlledRangeValue !== undefined || defaultRangeValue !== undefined || onRangeChange !== undefined\n \n // State for single slider\n const [internalValue, setInternalValue] = useState(defaultValue ?? min)\n const currentValue = controlledValue ?? internalValue\n \n // State for range slider\n const [internalRangeValue, setInternalRangeValue] = useState<[number, number]>(\n defaultRangeValue ?? [min, min + (max - min) / 4]\n )\n const currentRangeValue = controlledRangeValue ?? internalRangeValue\n \n // Clamp value to min/max and nearest step\n const clampValue = (val: number): number => {\n const clamped = Math.max(min, Math.min(max, val))\n const stepped = Math.round((clamped - min) / step) * step + min\n return Math.min(max, stepped)\n }\n \n // Convert pixel position to value\n const positionToValue = (clientX: number): number => {\n if (!trackRef.current) return min\n \n const rect = trackRef.current.getBoundingClientRect()\n const percent = (clientX - rect.left) / rect.width\n const rawValue = min + percent * (max - min)\n return clampValue(rawValue)\n }\n \n // Convert value to percentage for positioning\n const valueToPercent = (val: number): number => {\n return ((val - min) / (max - min)) * 100\n }\n \n // Handle single slider change\n const handleSingleChange = (newValue: number) => {\n const clampedValue = clampValue(newValue)\n setInternalValue(clampedValue)\n onChange?.(clampedValue)\n }\n \n // Handle range slider change\n const handleRangeChange = (newMin: number, newMax: number) => {\n const clampedMin = clampValue(newMin)\n const clampedMax = clampValue(newMax)\n \n // Ensure min <= max\n const orderedMin = Math.min(clampedMin, clampedMax)\n const orderedMax = Math.max(clampedMin, clampedMax)\n \n setInternalRangeValue([orderedMin, orderedMax])\n onRangeChange?.([orderedMin, orderedMax])\n }\n \n // Mouse/touch handlers\n const handleTrackClick = (event: React.MouseEvent<HTMLDivElement>) => {\n if (disabled) return\n \n const newValue = positionToValue(event.clientX)\n \n if (isRange) {\n const [minVal, maxVal] = currentRangeValue\n const distToMin = Math.abs(newValue - minVal)\n const distToMax = Math.abs(newValue - maxVal)\n \n if (distToMin < distToMax) {\n handleRangeChange(newValue, maxVal)\n } else {\n handleRangeChange(minVal, newValue)\n }\n } else {\n handleSingleChange(newValue)\n }\n }\n \n const handleThumbMouseDown = (thumb: 'single' | 'min' | 'max') => (event: React.MouseEvent) => {\n if (disabled) return\n event.preventDefault()\n setActiveThumb(thumb)\n \n const handleMouseMove = (e: MouseEvent) => {\n const newValue = positionToValue(e.clientX)\n \n if (isRange) {\n const [minVal, maxVal] = currentRangeValue\n if (thumb === 'min') {\n handleRangeChange(newValue, maxVal)\n } else {\n handleRangeChange(minVal, newValue)\n }\n } else {\n handleSingleChange(newValue)\n }\n }\n \n const handleMouseUp = () => {\n setActiveThumb(null)\n document.removeEventListener('mousemove', handleMouseMove)\n document.removeEventListener('mouseup', handleMouseUp)\n }\n \n document.addEventListener('mousemove', handleMouseMove)\n document.addEventListener('mouseup', handleMouseUp)\n }\n \n // Keyboard navigation\n const handleKeyDown = (thumb: 'single' | 'min' | 'max') => (event: KeyboardEvent<HTMLDivElement>) => {\n if (disabled) return\n \n let valueChange = 0\n \n switch (event.key) {\n case 'ArrowRight':\n case 'ArrowUp':\n valueChange = step\n event.preventDefault()\n break\n case 'ArrowLeft':\n case 'ArrowDown':\n valueChange = -step\n event.preventDefault()\n break\n case 'PageUp':\n valueChange = step * 10\n event.preventDefault()\n break\n case 'PageDown':\n valueChange = -step * 10\n event.preventDefault()\n break\n case 'Home':\n if (isRange) {\n const [minVal, maxVal] = currentRangeValue\n if (thumb === 'min') {\n handleRangeChange(min, maxVal)\n } else {\n handleRangeChange(minVal, min)\n }\n } else {\n handleSingleChange(min)\n }\n event.preventDefault()\n return\n case 'End':\n if (isRange) {\n const [minVal, maxVal] = currentRangeValue\n if (thumb === 'min') {\n handleRangeChange(max, maxVal)\n } else {\n handleRangeChange(minVal, max)\n }\n } else {\n handleSingleChange(max)\n }\n event.preventDefault()\n return\n default:\n return\n }\n \n if (isRange) {\n const [minVal, maxVal] = currentRangeValue\n if (thumb === 'min') {\n handleRangeChange(minVal + valueChange, maxVal)\n } else {\n handleRangeChange(minVal, maxVal + valueChange)\n }\n } else {\n handleSingleChange(currentValue + valueChange)\n }\n }\n \n // Calculate positions\n const singlePercent = valueToPercent(currentValue)\n const [minPercent, maxPercent] = [\n valueToPercent(currentRangeValue[0]),\n valueToPercent(currentRangeValue[1])\n ]\n \n return (\n <StyledSliderContainer data-testid={dataTestId}>\n {label && (\n <StyledLabel htmlFor={generatedId} $disabled={disabled}>\n {label}\n </StyledLabel>\n )}\n \n <StyledSliderTrackContainer>\n <StyledTrack\n ref={trackRef}\n onClick={handleTrackClick}\n $disabled={disabled}\n >\n {isRange ? (\n <StyledTrackFill\n $disabled={disabled}\n style={{\n left: `${minPercent}%`,\n width: `${maxPercent - minPercent}%`,\n }}\n />\n ) : (\n <StyledTrackFill\n $disabled={disabled}\n style={{\n left: 0,\n width: `${singlePercent}%`,\n }}\n />\n )}\n \n {isRange ? (\n <>\n {/* Min thumb */}\n <StyledThumb\n role=\"slider\"\n tabIndex={disabled ? -1 : 0}\n aria-label={ariaLabel ? `${ariaLabel} minimum` : 'Minimum value'}\n aria-valuemin={min}\n aria-valuemax={max}\n aria-valuenow={currentRangeValue[0]}\n aria-valuetext={formatValue(currentRangeValue[0])}\n aria-disabled={disabled}\n aria-describedby={ariaDescribedBy}\n $disabled={disabled}\n $active={activeThumb === 'min'}\n style={{ left: `${minPercent}%` }}\n onMouseDown={handleThumbMouseDown('min')}\n onKeyDown={handleKeyDown('min')}\n >\n {showValueLabel && (\n <StyledValueLabel $disabled={disabled}>\n {formatValue(currentRangeValue[0])}\n </StyledValueLabel>\n )}\n </StyledThumb>\n \n {/* Max thumb */}\n <StyledThumb\n role=\"slider\"\n tabIndex={disabled ? -1 : 0}\n aria-label={ariaLabel ? `${ariaLabel} maximum` : 'Maximum value'}\n aria-valuemin={min}\n aria-valuemax={max}\n aria-valuenow={currentRangeValue[1]}\n aria-valuetext={formatValue(currentRangeValue[1])}\n aria-disabled={disabled}\n aria-describedby={ariaDescribedBy}\n $disabled={disabled}\n $active={activeThumb === 'max'}\n style={{ left: `${maxPercent}%` }}\n onMouseDown={handleThumbMouseDown('max')}\n onKeyDown={handleKeyDown('max')}\n >\n {showValueLabel && (\n <StyledValueLabel $disabled={disabled}>\n {formatValue(currentRangeValue[1])}\n </StyledValueLabel>\n )}\n </StyledThumb>\n </>\n ) : (\n <StyledThumb\n role=\"slider\"\n tabIndex={disabled ? -1 : 0}\n aria-label={ariaLabel || label || 'Slider value'}\n aria-valuemin={min}\n aria-valuemax={max}\n aria-valuenow={currentValue}\n aria-valuetext={formatValue(currentValue)}\n aria-disabled={disabled}\n aria-describedby={ariaDescribedBy}\n $disabled={disabled}\n $active={activeThumb === 'single'}\n style={{ left: `${singlePercent}%` }}\n onMouseDown={handleThumbMouseDown('single')}\n onKeyDown={handleKeyDown('single')}\n >\n {showValueLabel && (\n <StyledValueLabel $disabled={disabled}>\n {formatValue(currentValue)}\n </StyledValueLabel>\n )}\n </StyledThumb>\n )}\n </StyledTrack>\n </StyledSliderTrackContainer>\n \n <StyledMinMaxLabels>\n <span>{formatValue(min)}</span>\n <span>{formatValue(max)}</span>\n </StyledMinMaxLabels>\n </StyledSliderContainer>\n )\n}\n\nSlider.displayName = 'Slider'\n","import { ReactNode, InputHTMLAttributes, forwardRef, useId } from 'react'\nimport styled from 'styled-components'\nimport { StyledInputBase } from './InputBase'\nimport { Typography } from '../../atoms/Typography/Typography'\nimport { Stack } from '../../atoms/Stack/Stack'\nimport tokens from '@/styles/tokens.json'\n\nconst { semantic, base } = tokens\n\n/**\n * Props for the TextField component\n */\nexport interface TextFieldProps extends Omit<InputHTMLAttributes<HTMLInputElement>, 'size'> {\n /**\n * Label text for the input\n */\n label?: string\n \n /**\n * Helper text displayed below the input\n */\n helperText?: string\n \n /**\n * Error message to display\n */\n error?: string\n \n /**\n * Whether the field is required\n * @default false\n */\n required?: boolean\n \n /**\n * Whether the input is disabled\n * @default false\n */\n disabled?: boolean\n \n /**\n * Input type\n * @default 'text'\n */\n type?: 'text' | 'email' | 'tel' | 'url' | 'search'\n \n /**\n * Unique identifier for the input\n * Generated automatically if not provided\n */\n id?: string\n \n /**\n * Test identifier for automated testing\n */\n 'data-testid'?: string\n}\n\nconst StyledFieldContainer = styled.div`\n display: flex;\n flex-direction: column;\n gap: ${base.spacing[2]};\n width: 100%;\n`\n\nconst StyledLabel = styled.label`\n display: flex;\n align-items: center;\n gap: ${base.spacing[1]};\n font: ${semantic.typography.label};\n color: ${semantic.color.text.default};\n \n &[data-disabled='true'] {\n color: ${semantic.color.text.disabled};\n }\n`\n\nconst StyledRequiredIndicator = styled.span`\n color: ${semantic.color.text.error};\n font-weight: ${base.fontWeight[5]};\n`\n\nconst StyledHelperText = styled.div<{ $hasError?: boolean }>`\n font: ${semantic.typography.caption};\n color: ${({ $hasError }) => \n $hasError \n ? semantic.color.text.error \n : semantic.color.text.subdued\n };\n`\n\n/**\n * TextField component for text input with label, helper text, and error states\n * \n * @example\n * ```tsx\n * <TextField \n * label=\"Email\" \n * type=\"email\"\n * helperText=\"We'll never share your email\"\n * required\n * />\n * ```\n */\nexport const TextField = forwardRef<HTMLInputElement, TextFieldProps>(\n (\n {\n label,\n helperText,\n error,\n required = false,\n disabled = false,\n type = 'text',\n id: providedId,\n 'data-testid': dataTestId,\n ...inputProps\n },\n ref\n ) => {\n // Generate unique ID if not provided\n const generatedId = useId()\n const id = providedId || generatedId\n \n // IDs for ARIA relationships\n const errorId = error ? `${id}-error` : undefined\n const helperId = helperText && !error ? `${id}-helper` : undefined\n const describedBy = [errorId, helperId].filter(Boolean).join(' ') || undefined\n \n const hasError = Boolean(error)\n \n return (\n <StyledFieldContainer data-testid={dataTestId}>\n {label && (\n <StyledLabel \n htmlFor={id}\n data-disabled={disabled}\n >\n {label}\n {required && (\n <StyledRequiredIndicator aria-label=\"required\">\n *\n </StyledRequiredIndicator>\n )}\n </StyledLabel>\n )}\n \n <StyledInputBase\n ref={ref}\n id={id}\n type={type}\n disabled={disabled}\n required={required}\n aria-required={required}\n aria-invalid={hasError}\n aria-describedby={describedBy}\n $hasError={hasError}\n $disabled={disabled}\n {...inputProps}\n />\n \n {error && (\n <StyledHelperText\n id={errorId}\n role=\"alert\"\n aria-live=\"polite\"\n $hasError={true}\n >\n {error}\n </StyledHelperText>\n )}\n \n {helperText && !error && (\n <StyledHelperText id={helperId}>\n {helperText}\n </StyledHelperText>\n )}\n </StyledFieldContainer>\n )\n }\n)\n\nTextField.displayName = 'TextField'\n","import React from 'react'\nimport styled from 'styled-components'\nimport { Avatar } from '../../atoms/Avatar'\nimport { Badge } from '../../atoms/Badge'\nimport { MoneyDisplay, MoneyDisplayVariant } from '../../atoms/MoneyDisplay'\nimport { Icon, IconName } from '../../atoms/Icon'\nimport { DateFormatter } from '../../atoms/DateFormatter'\nimport { Typography } from '../../atoms/Typography'\nimport { Stack } from '../../atoms/Stack'\nimport tokens from '../../../styles/tokens.json'\n\nexport type TransactionStatus = 'completed' | 'pending' | 'failed'\nexport type TransactionCategory = 'shopping' | 'dining' | 'transport' | 'entertainment' | 'bills' | 'other'\n\nexport interface TransactionListItemProps {\n /** Merchant or transaction name */\n merchant: string\n \n /** Transaction amount (positive for income, negative for expense) */\n amount: number\n \n /** Transaction date */\n date: Date | string\n \n /** Transaction status */\n status?: TransactionStatus\n \n /** Transaction category */\n category?: TransactionCategory\n \n /** Optional merchant logo URL */\n merchantLogo?: string\n \n /** Optional description or note */\n description?: string\n \n /** Whether this transaction has a receipt attached */\n hasReceipt?: boolean\n \n /** Whether this transaction has notes attached */\n hasNote?: boolean\n \n /** Currency code */\n currency?: string\n \n /** Click handler for the transaction */\n onClick?: () => void\n \n /** Test identifier for automated testing */\n 'data-testid'?: string\n}\n\ninterface StyledContainerProps {\n $clickable?: boolean\n}\n\nconst StyledContainer = styled.div<StyledContainerProps>`\n display: flex;\n align-items: center;\n min-height: 72px;\n padding: ${tokens.semantic.spacing.layout.md} ${tokens.semantic.spacing.layout.md};\n background-color: ${tokens.semantic.color.background.default};\n border-bottom: 1px solid ${tokens.semantic.color.border.default};\n gap: ${tokens.semantic.spacing.layout.md};\n transition: background-color 0.2s ease;\n \n ${({ $clickable }) => $clickable && `\n cursor: pointer;\n \n &:hover {\n background-color: ${tokens.semantic.color.background['interactive-hover']};\n }\n \n &:active {\n background-color: ${tokens.semantic.color.background['interactive-active']};\n }\n \n &:focus-visible {\n outline: 2px solid ${tokens.semantic.color.border.interactive};\n outline-offset: -2px;\n }\n `}\n`\n\nconst StyledAvatarSection = styled.div`\n flex-shrink: 0;\n`\n\nconst StyledMainContent = styled.div`\n flex: 1;\n min-width: 0;\n display: flex;\n flex-direction: column;\n gap: ${tokens.semantic.spacing.layout.xs};\n`\n\nconst StyledTopRow = styled.div`\n display: flex;\n align-items: center;\n justify-content: space-between;\n gap: ${tokens.semantic.spacing.layout.sm};\n`\n\nconst StyledMerchantSection = styled.div`\n display: flex;\n align-items: center;\n gap: ${tokens.semantic.spacing.layout.xs};\n min-width: 0;\n flex: 1;\n`\n\nconst StyledBottomRow = styled.div`\n display: flex;\n align-items: center;\n justify-content: space-between;\n gap: ${tokens.semantic.spacing.layout.sm};\n`\n\nconst StyledMetadata = styled.div`\n display: flex;\n align-items: center;\n gap: ${tokens.semantic.spacing.layout.sm};\n`\n\nconst StyledIconIndicator = styled.div`\n display: flex;\n align-items: center;\n gap: ${tokens.semantic.spacing.layout.xs};\n color: ${tokens.semantic.color.icon.subdued};\n`\n\nconst StyledTruncatedText = styled.span`\n overflow: hidden;\n text-overflow: ellipsis;\n white-space: nowrap;\n`\n\n// Map categories to icon names (using placeholders until custom icons available)\nconst categoryToIcon: Record<TransactionCategory, IconName> = {\n shopping: 'paper', // Will use shopping bag icon\n dining: 'paper', // Will use restaurant icon\n transport: 'paper', // Will use car icon\n entertainment: 'star', // Will use ticket icon\n bills: 'paper', // Will use document icon\n other: 'paper'\n}\n\n// Map status to badge variant\nconst statusToBadgeVariant: Record<TransactionStatus, 'default' | 'primary' | 'error' | 'warning' | 'success'> = {\n completed: 'success',\n pending: 'warning',\n failed: 'error'\n}\n\n/**\n * TransactionListItem component\n * \n * Displays a single transaction in a list with merchant info, amount, date,\n * status, and optional metadata (category, receipt, notes). Minimum height 72px\n * with interactive states for clickable items.\n * \n * Composes: Avatar, Badge, MoneyDisplay, Icon, DateFormatter, Typography, Stack\n */\nexport const TransactionListItem: React.FC<TransactionListItemProps> = ({\n merchant,\n amount,\n date,\n status = 'completed',\n category,\n merchantLogo,\n description,\n hasReceipt = false,\n hasNote = false,\n currency = 'AUD',\n onClick,\n 'data-testid': dataTestId\n}) => {\n const isClickable = !!onClick\n \n // Determine amount variant\n const amountVariant: MoneyDisplayVariant = amount > 0 ? 'positive' : amount < 0 ? 'negative' : 'default'\n \n // Get category icon\n const categoryIcon = category ? categoryToIcon[category] : undefined\n \n // Get badge variant from status\n const badgeVariant = statusToBadgeVariant[status]\n \n const handleClick = () => {\n if (isClickable && onClick) {\n onClick()\n }\n }\n \n const handleKeyDown = (e: React.KeyboardEvent) => {\n if (isClickable && (e.key === 'Enter' || e.key === ' ')) {\n e.preventDefault()\n onClick?.()\n }\n }\n \n return (\n <StyledContainer\n $clickable={isClickable}\n onClick={handleClick}\n onKeyDown={handleKeyDown}\n tabIndex={isClickable ? 0 : undefined}\n role={isClickable ? 'button' : undefined}\n aria-label={isClickable ? `${merchant} transaction, ${amount < 0 ? 'expense' : 'income'} of ${Math.abs(amount)}` : undefined}\n data-testid={dataTestId}\n >\n <StyledAvatarSection>\n {status === 'pending' ? (\n <Badge variant={badgeVariant} dot aria-label=\"Pending transaction\">\n <Avatar \n name={merchant}\n picture={merchantLogo}\n size=\"md\"\n />\n </Badge>\n ) : (\n <Avatar \n name={merchant}\n picture={merchantLogo}\n size=\"md\"\n />\n )}\n </StyledAvatarSection>\n \n <StyledMainContent>\n <StyledTopRow>\n <StyledMerchantSection>\n {categoryIcon && (\n <span aria-label={`Category: ${category}`} role=\"img\">\n <Icon \n name={categoryIcon} \n size=\"sm\" \n iconColor=\"subdued\"\n />\n </span>\n )}\n <StyledTruncatedText>\n <Typography variant=\"body\">\n {merchant}\n </Typography>\n </StyledTruncatedText>\n {status === 'failed' && (\n <Badge variant=\"error\" dot aria-label=\"Failed transaction\">\n <span />\n </Badge>\n )}\n </StyledMerchantSection>\n \n <MoneyDisplay\n amount={amount}\n currency={currency}\n variant={amountVariant}\n size=\"medium\"\n weight=\"medium\"\n showSign\n data-testid={dataTestId ? `${dataTestId}-amount` : undefined}\n />\n </StyledTopRow>\n \n <StyledBottomRow>\n <StyledMetadata>\n <DateFormatter \n dateString={typeof date === 'string' ? date : date.toISOString()} \n mode=\"smart\"\n data-testid={dataTestId ? `${dataTestId}-date` : undefined}\n />\n {description && (\n <StyledTruncatedText>\n <Typography \n variant=\"caption\" \n color=\"subdued\"\n >\n • {description}\n </Typography>\n </StyledTruncatedText>\n )}\n </StyledMetadata>\n \n {(hasReceipt || hasNote) && (\n <StyledIconIndicator>\n {hasReceipt && (\n <span aria-label=\"Has receipt\" role=\"img\">\n <Icon \n name=\"fileDocSearch\" \n size=\"xs\" \n />\n </span>\n )}\n {hasNote && (\n <span aria-label=\"Has note\" role=\"img\">\n <Icon \n name=\"paper\" \n size=\"xs\" \n />\n </span>\n )}\n </StyledIconIndicator>\n )}\n </StyledBottomRow>\n </StyledMainContent>\n </StyledContainer>\n )\n}\n","import React from 'react'\nimport styled, { css } from 'styled-components'\nimport tokens from '@/styles/tokens.json'\n\n// Breakpoints using base tokens\nconst breakpoints = {\n xs: tokens.base.breakpoint.xs,\n sm: tokens.base.breakpoint.sm,\n md: tokens.base.breakpoint.md,\n lg: tokens.base.breakpoint.lg,\n xl: tokens.base.breakpoint.xl,\n '2xl': tokens.base.breakpoint['2xl'],\n}\n\n// Media query helpers\nconst media = {\n xs: `@media (min-width: ${breakpoints.xs})`,\n sm: `@media (min-width: ${breakpoints.sm})`,\n md: `@media (min-width: ${breakpoints.md})`,\n lg: `@media (min-width: ${breakpoints.lg})`,\n xl: `@media (min-width: ${breakpoints.xl})`,\n '2xl': `@media (min-width: ${breakpoints['2xl']})`,\n}\n\n// Base Grid Container\ninterface GridProps {\n cols?: number\n gap?: keyof typeof tokens.base.spacing\n gapX?: keyof typeof tokens.base.spacing\n gapY?: keyof typeof tokens.base.spacing\n className?: string\n children: React.ReactNode\n}\n\nconst GridContainer = styled.div.withConfig({\n shouldForwardProp: (prop) => !prop.startsWith('$')\n})<{\n $cols: number\n $gap?: string\n $gapX?: string\n $gapY?: string\n}>`\n display: grid;\n grid-template-columns: repeat(${props => props.$cols}, minmax(0, 1fr));\n \n ${props => props.$gap && css`gap: ${props.$gap};`}\n ${props => props.$gapX && css`column-gap: ${props.$gapX};`}\n ${props => props.$gapY && css`row-gap: ${props.$gapY};`}\n`\n\nexport const Grid: React.FC<GridProps> = ({ \n cols = 12, \n gap, \n gapX, \n gapY, \n className, \n children \n}) => (\n <GridContainer\n $cols={cols}\n $gap={gap ? tokens.base.spacing[gap] : undefined}\n $gapX={gapX ? tokens.base.spacing[gapX] : undefined}\n $gapY={gapY ? tokens.base.spacing[gapY] : undefined}\n className={className}\n >\n {children}\n </GridContainer>\n)\n\n// Grid Column Component\ninterface GridColProps {\n span?: number\n spanSm?: number\n spanMd?: number\n spanLg?: number\n spanXl?: number\n order?: number\n orderSm?: number\n orderMd?: number\n orderLg?: number\n orderXl?: number\n className?: string\n children: React.ReactNode\n}\n\nconst GridColContainer = styled.div.withConfig({\n shouldForwardProp: (prop) => !prop.startsWith('$')\n})<{\n $span?: number\n $spanSm?: number\n $spanMd?: number\n $spanLg?: number\n $spanXl?: number\n $order?: number\n $orderSm?: number\n $orderMd?: number\n $orderLg?: number\n $orderXl?: number\n}>`\n ${props => props.$span && css`grid-column: span ${props.$span} / span ${props.$span};`}\n ${props => props.$order && css`order: ${props.$order};`}\n \n ${props => props.$spanSm && css`\n ${media.sm} {\n grid-column: span ${props.$spanSm} / span ${props.$spanSm};\n }\n `}\n \n ${props => props.$spanMd && css`\n ${media.md} {\n grid-column: span ${props.$spanMd} / span ${props.$spanMd};\n }\n `}\n \n ${props => props.$spanLg && css`\n ${media.lg} {\n grid-column: span ${props.$spanLg} / span ${props.$spanLg};\n }\n `}\n \n ${props => props.$spanXl && css`\n ${media.xl} {\n grid-column: span ${props.$spanXl} / span ${props.$spanXl};\n }\n `}\n \n ${props => props.$orderSm && css`\n ${media.sm} {\n order: ${props.$orderSm};\n }\n `}\n \n ${props => props.$orderMd && css`\n ${media.md} {\n order: ${props.$orderMd};\n }\n `}\n \n ${props => props.$orderLg && css`\n ${media.lg} {\n order: ${props.$orderLg};\n }\n `}\n \n ${props => props.$orderXl && css`\n ${media.xl} {\n order: ${props.$orderXl};\n }\n `}\n`\n\nexport const GridCol: React.FC<GridColProps> = ({ \n span, \n spanSm, \n spanMd, \n spanLg, \n spanXl,\n order,\n orderSm,\n orderMd,\n orderLg,\n orderXl,\n className, \n children \n}) => (\n <GridColContainer\n $span={span}\n $spanSm={spanSm}\n $spanMd={spanMd}\n $spanLg={spanLg}\n $spanXl={spanXl}\n $order={order}\n $orderSm={orderSm}\n $orderMd={orderMd}\n $orderLg={orderLg}\n $orderXl={orderXl}\n className={className}\n >\n {children}\n </GridColContainer>\n)\n\n// Responsive Grid (replaces the common grid-cols-1 md:grid-cols-2 xl:grid-cols-3 pattern)\ninterface ResponsiveGridProps {\n cols: number\n colsSm?: number\n colsMd?: number\n colsLg?: number\n colsXl?: number\n gap?: keyof typeof tokens.base.spacing\n gapSm?: keyof typeof tokens.base.spacing\n gapMd?: keyof typeof tokens.base.spacing\n gapLg?: keyof typeof tokens.base.spacing\n gapXl?: keyof typeof tokens.base.spacing\n gapX?: keyof typeof tokens.base.spacing\n gapXSm?: keyof typeof tokens.base.spacing\n gapXMd?: keyof typeof tokens.base.spacing\n gapXLg?: keyof typeof tokens.base.spacing\n gapXXl?: keyof typeof tokens.base.spacing\n gapY?: keyof typeof tokens.base.spacing\n gapYSm?: keyof typeof tokens.base.spacing\n gapYMd?: keyof typeof tokens.base.spacing\n gapYLg?: keyof typeof tokens.base.spacing\n gapYXl?: keyof typeof tokens.base.spacing\n className?: string\n children: React.ReactNode\n}\n\nconst ResponsiveGridContainer = styled.div.withConfig({\n shouldForwardProp: (prop) => !prop.startsWith('$')\n})<{\n $cols: number\n $colsSm?: number\n $colsMd?: number\n $colsLg?: number\n $colsXl?: number\n $gap?: string\n $gapSm?: string\n $gapMd?: string\n $gapLg?: string\n $gapXl?: string\n $gapX?: string\n $gapXSm?: string\n $gapXMd?: string\n $gapXLg?: string\n $gapXXl?: string\n $gapY?: string\n $gapYSm?: string\n $gapYMd?: string\n $gapYLg?: string\n $gapYXl?: string\n}>`\n display: grid;\n grid-template-columns: repeat(${props => props.$cols}, minmax(0, 1fr));\n \n ${props => props.$gap && css`gap: ${props.$gap};`}\n ${props => props.$gapX && css`column-gap: ${props.$gapX};`}\n ${props => props.$gapY && css`row-gap: ${props.$gapY};`}\n \n ${props => props.$colsSm && css`\n ${media.sm} {\n grid-template-columns: repeat(${props.$colsSm}, minmax(0, 1fr));\n }\n `}\n \n ${props => props.$colsMd && css`\n ${media.md} {\n grid-template-columns: repeat(${props.$colsMd}, minmax(0, 1fr));\n }\n `}\n \n ${props => props.$colsLg && css`\n ${media.lg} {\n grid-template-columns: repeat(${props.$colsLg}, minmax(0, 1fr));\n }\n `}\n \n ${props => props.$colsXl && css`\n ${media.xl} {\n grid-template-columns: repeat(${props.$colsXl}, minmax(0, 1fr));\n }\n `}\n \n // Responsive gap support\n ${props => props.$gapSm && css`\n ${media.sm} {\n gap: ${props.$gapSm};\n }\n `}\n \n ${props => props.$gapMd && css`\n ${media.md} {\n gap: ${props.$gapMd};\n }\n `}\n \n ${props => props.$gapLg && css`\n ${media.lg} {\n gap: ${props.$gapLg};\n }\n `}\n \n ${props => props.$gapXl && css`\n ${media.xl} {\n gap: ${props.$gapXl};\n }\n `}\n \n // Responsive column gap support\n ${props => props.$gapXSm && css`\n ${media.sm} {\n column-gap: ${props.$gapXSm};\n }\n `}\n \n ${props => props.$gapXMd && css`\n ${media.md} {\n column-gap: ${props.$gapXMd};\n }\n `}\n \n ${props => props.$gapXLg && css`\n ${media.lg} {\n column-gap: ${props.$gapXLg};\n }\n `}\n \n ${props => props.$gapXXl && css`\n ${media.xl} {\n column-gap: ${props.$gapXXl};\n }\n `}\n \n // Responsive row gap support\n ${props => props.$gapYSm && css`\n ${media.sm} {\n row-gap: ${props.$gapYSm};\n }\n `}\n \n ${props => props.$gapYMd && css`\n ${media.md} {\n row-gap: ${props.$gapYMd};\n }\n `}\n \n ${props => props.$gapYLg && css`\n ${media.lg} {\n row-gap: ${props.$gapYLg};\n }\n `}\n \n ${props => props.$gapYXl && css`\n ${media.xl} {\n row-gap: ${props.$gapYXl};\n }\n `}\n`\n\nexport const ResponsiveGrid: React.FC<ResponsiveGridProps> = ({ \n cols,\n colsSm,\n colsMd, \n colsLg, \n colsXl,\n gap, \n gapSm,\n gapMd,\n gapLg,\n gapXl,\n gapX, \n gapXSm,\n gapXMd,\n gapXLg,\n gapXXl,\n gapY, \n gapYSm,\n gapYMd,\n gapYLg,\n gapYXl,\n className, \n children \n}) => (\n <ResponsiveGridContainer\n $cols={cols}\n $colsSm={colsSm}\n $colsMd={colsMd}\n $colsLg={colsLg}\n $colsXl={colsXl}\n $gap={gap ? tokens.base.spacing[gap] : undefined}\n $gapSm={gapSm ? tokens.base.spacing[gapSm] : undefined}\n $gapMd={gapMd ? tokens.base.spacing[gapMd] : undefined}\n $gapLg={gapLg ? tokens.base.spacing[gapLg] : undefined}\n $gapXl={gapXl ? tokens.base.spacing[gapXl] : undefined}\n $gapX={gapX ? tokens.base.spacing[gapX] : undefined}\n $gapXSm={gapXSm ? tokens.base.spacing[gapXSm] : undefined}\n $gapXMd={gapXMd ? tokens.base.spacing[gapXMd] : undefined}\n $gapXLg={gapXLg ? tokens.base.spacing[gapXLg] : undefined}\n $gapXXl={gapXXl ? tokens.base.spacing[gapXXl] : undefined}\n $gapY={gapY ? tokens.base.spacing[gapY] : undefined}\n $gapYSm={gapYSm ? tokens.base.spacing[gapYSm] : undefined}\n $gapYMd={gapYMd ? tokens.base.spacing[gapYMd] : undefined}\n $gapYLg={gapYLg ? tokens.base.spacing[gapYLg] : undefined}\n $gapYXl={gapYXl ? tokens.base.spacing[gapYXl] : undefined}\n className={className}\n >\n {children}\n </ResponsiveGridContainer>\n)\n","// Main design system exports\nexport * from './components'\n\n// Export tokens with proper types\nimport tokensData from './styles/tokens.json'\nexport const tokens = tokensData\n\n// Export token types\nexport type {\n Tokens,\n TokensBase,\n TokensSemantic,\n TokensComponent\n} from './styles/tokens.d'\n\n// Export icons data and types for external use\nexport { iconsData, type IconName } from './types/icons'"],"names":["AvatarContainer","styled","div","withConfig","shouldForwardProp","prop","startsWith","displayName","componentId","templateObject_1","__makeTemplateObject","_a","$size","tokens","semantic","size","avatar","base","border","radius","circle","color","background","surface","AvatarImage","img","templateObject_2","AvatarInitials","span","templateObject_3","fontFamily","body","fontWeight","sizeMap","xs","fontSize","sm","md","lg","xl","text","getInitials","name","split","map","word","charAt","join","slice","toUpperCase","Avatar","picture","_b","dataTestId","props","__rest","_c","htmlProps","_d","useState","imageError","setImageError","_e","imageLoaded","setImageLoaded","handleImageError","handleImageLoad","showImage","initials","React","createElement","_extends","role","concat","src","alt","onError","onLoad","typography","getTypographyStyles","variant","styles","display","letterSpacing","h1","h2","h3","h4","h5","h6","subtitle","small","overline","caption","button1","button2","button3","label","getTextColor","colorVariant","colorMap","emphasis","subdued","inverse","disabled","interactive","error","success","warning","getDefaultElement","elementMap","StyledTypography","$variant","$color","includes","Typography","children","as","defaultElement","elementType","shadow","scaleIn","keyframes","BadgeWrapper","BadgeIndicator","$isVisible","$isDot","ScreenReaderOnly","templateObject_4","Badge","count","max","dot","ariaLabel","className","isVisible","displayCount","toString","defaultAriaLabel","StyledBox","$display","css","$flexDirection","$justifyContent","$alignItems","$flexWrap","templateObject_5","$gap","templateObject_6","spacing","layout","$m","templateObject_7","$mt","templateObject_8","$mr","templateObject_9","$mb","templateObject_10","$ml","templateObject_11","$mx","templateObject_12","$my","templateObject_13","$p","templateObject_14","$pt","templateObject_15","$pr","templateObject_16","$pb","templateObject_17","$pl","templateObject_18","$px","templateObject_19","$py","templateObject_20","$width","templateObject_21","$height","templateObject_22","$maxWidth","templateObject_23","$maxHeight","templateObject_24","$minWidth","templateObject_25","$minHeight","templateObject_26","$position","templateObject_27","$top","templateObject_28","$right","templateObject_29","$bottom","templateObject_30","$left","templateObject_31","$borderRadius","templateObject_32","$border","templateObject_33","$borderTop","templateObject_34","$borderRight","templateObject_35","$borderBottom","templateObject_36","$borderLeft","templateObject_37","$bg","templateObject_38","templateObject_39","$overflow","templateObject_40","$overflowX","templateObject_41","$overflowY","templateObject_42","BoxTransform","flexDirection","justifyContent","alignItems","flexWrap","gap","m","mt","mr","mb","ml","mx","my","p","pt","pr","pb","pl","px","py","width","height","maxWidth","maxHeight","minWidth","minHeight","position","top","right","bottom","left","borderRadius","borderTop","borderRight","borderBottom","borderLeft","bg","overflow","overflowX","overflowY","rest","Box","IconStyled","icon","$iconColor","Icon","iconColor","iconData","iconsData","console","warn","viewBox","fill","xmlns","d","path","button","component","baseButtonStyles","motion","hover","focus","outline","outlineOffset","getVariantStyles","primary","backgroundColor","variants","secondary","naked","textColor","active","getSizeStyles","sizes","font","padding","medium","large","StyledButton","StyledLink","a","getIconSize","buttonSize","renderButtonContent","iconName","iconSize","Fragment","Button","url","purpose","target","LinkComponent","linkComponent","href","linkProps","buttonProps_1","handleClick","e","onClick","window","open","location","buttonProps","chip","getVariantStylesAsObject","selected","subtle","getSizeStylesAsObject","BaseChipStyled","chipTokens","IconContainer","CloseButton","$disabled","transition","fast","StyledChipWrapper","$clickable","$selected","style","variantStyles","sizeStyles","cssProps","__assign","Chip","ariaDescribedBy","title","isClickable","Boolean","normalizedVariant","content","undefined","handleKeyDown","event","key","preventDefault","onKeyDown","tabIndex","LegacyChip","newVariant","FilterChip","onDismiss","isDismissible","handleDismiss","stopPropagation","handleCloseKeyDown","closeButtonLabel","type","BooleanChip","breakpoints","breakpoint","media","StyledContainer","Container","PictureWrapper","ImageLink","duration","normal","easing","easeInOut","ImageButton","StyledImage","Picture","image","TimeStyled","time","formatDateSmart","date","customFormat","isToday","isYesterday","isThisWeek","weekStartsOn","format","DateFormatter","dateString","formatString","mode","parseISO","displayText","dateTime","iconButton","IconButtonStyled","IconButton","ariaExpanded","ariaPressed","trim","assign","getIconColor","StyledWrapper","$align","$weight","sizeToTypographyVariant","xlarge","variantToTypographyColor","positive","negative","neutral","generateAriaLabel","amount","currency","locale","formatter","Intl","NumberFormat","minimumFractionDigits","maximumFractionDigits","parts","formatToParts","Math","abs","integerPart","find","value","fractionPart","sign","MoneyDisplay","showSign","_f","weight","_g","_h","align","formattedAmount","signSymbol","typographyVariant","typographyColor","ProgressBarContainer","progressBar","ProgressBarFill","min","$value","ProgressBar","StyledDivider","$orientation","borderProperty","separator","strong","minimal","margin","Divider","orientation","StyledStack","getGapValue","semanticSpacing","Stack","direction","wrap","gapValue","StyledTag","Tag","StyledCard","StyledHeader","StyledIconWrapper","StyledBalanceSection","StyledTrendSection","StyledActions","StyledStackWrapper","accountTypeToIcon","checking","savings","credit","investment","loan","trendToIcon","up","down","AccountCard","accountType","accountName","balance","accountNumber","trend","trendValue","action","secondaryAction","accountIcon","trendIcon","trendColor","variantIcons","info","variantIconColors","variantTitleColors","StyledAlert","$inline","StyledIconContainer","StyledContent","StyledTitle","StyledMessage","StyledDismissButton","Alert","dismissible","inline","ariaLive","setIsVisible","alertIconColor","alertTitleColor","BreadcrumbNavStyled","nav","BreadcrumbStyled","li","_k","_j","_m","_l","isInternalUrl","Breadcrumbs","breadcrumbs","breadcrumb","index","length","rel","CardSmallStyled","CardSmall","meta","CardLargeStyled","CardLarge","excerpt","labels","onImageClick","imageHref","Array","isArray","HiddenCheckboxInput","input","StyledCheckbox","borderWidth","$checked","$indeterminate","$state","borderColor","StyledCheckboxContainer","$labelPosition","StyledCheckboxLabel","StyledFieldContainer","StyledHelperText","$error","Checkbox","forwardRef","ref","checked","indeterminate","labelPosition","helperText","onChange","providedId","id","ariaDescribedby","generatedId","useId","helperTextId","errorId","state","describedBy","filter","inputRef","useRef","useImperativeHandle","current","useEffect","ChipGroupWrapper","ChipGroup","StyledCodeBlock","pre","monospace","lineHeight","CodeBlockWrapper","CopyButtonWrapper","CopyButton","onCopy","copied","setCopied","timeoutRef","handleCopy","__awaiter","navigator","clipboard","writeText","sent","clearTimeout","setTimeout","err_1","CodeBlock","showCopyButton","testId","$sticky","StyledLeftSection","StyledRightSection","DateGroup","showTotal","totalAmount","showCount","sticky","totalVariant","toISOString","StyledIllustration","StyledTextContainer","illustrationToIcon","search","transactions","notifications","empty","EmptyState","illustration","customIllustration","description","renderIllustration","marginTop","FeatureBlockStyled","ImageWrapper","ContentSection","ButtonWrapper","ContentWrapper","FeatureBlock","coverImage","onReadMore","readMoreHref","readMoreText","zIndex","DropdownContainer","DropdownTrigger","paddingY","paddingX","$hasError","cursor","$isOpen","DropdownIcon","DropdownMenu","DropdownOption","$isSelected","$isFocused","Dropdown","options","placeholder","isOpen","setIsOpen","focusedIndex","setFocusedIndex","dropdownRef","dropdownId","random","substr","selectedOption","option","hasError","helperId","handleClickOutside","contains","document","addEventListener","removeEventListener","trigger","querySelector","prev","newIndex","handleOptionClick","handleTriggerClick","selectedIndex","findIndex","optionId","htmlFor","marginBottom","StyledList","ul","$dividers","List","dividers","$spacing","StyledListItem","$interactive","opacity","StyledItemContent","StyledTextContent","StyledRightContent","StyledChevronIcon","$expanded","StyledExpandedContent","ListItem","badge","expandable","expanded","onToggle","isInteractive","ariaDisabled","ariaCurrent","StyledInputBase","StyledTextAreaBase","textarea","StyledLabel","StyledRequiredIndicator","StyledInputWrapper","StyledNumberInput","StyledStepperContainer","$isError","NumberInput","required","step","defaultValue","parseValue","useCallback","val","parsed","parseFloat","isNaN","formatValue","String","handleIncrement","inputElement","currentValue","numValue","newValue","syntheticEvent","currentTarget","handleDecrement","handleChange","inputValue","test","parsedValue","isIncrementDisabled","isDecrementDisabled","ariaDescribedByIds","inputMode","PageTitleStyled","$hasBackButton","PageTitle","hasBackButton","StyledToggleButton","PasswordField","showToggle","inputProps","showPassword","setShowPassword","togglePasswordVisibility","paddingRight","fadeIn","slideInRight","slideInLeft","slideInTop","slideInBottom","StyledOverlay","StyledSheet","isDrawer","StyledSheetContent","Sheet","onClose","closeOnOverlayClick","closeOnEscape","sheetRef","previousFocusRef","activeElement","focusableElements","querySelectorAll","firstElement","lastElement","shiftKey","handleOverlayClick","StyledSliderContainer","StyledSliderTrackContainer","StyledTrack","StyledTrackFill","StyledThumb","$active","StyledValueLabel","StyledMinMaxLabels","Slider","controlledValue","controlledRangeValue","rangeValue","defaultRangeValue","onRangeChange","showValueLabel","trackRef","activeThumb","setActiveThumb","isRange","internalValue","setInternalValue","internalRangeValue","setInternalRangeValue","currentRangeValue","clampValue","clamped","stepped","round","positionToValue","clientX","rect","getBoundingClientRect","percent","rawValue","valueToPercent","handleSingleChange","clampedValue","handleRangeChange","newMin","newMax","clampedMin","clampedMax","orderedMin","orderedMax","handleTrackClick","minVal","maxVal","distToMin","distToMax","handleThumbMouseDown","thumb","handleMouseMove","handleMouseUp","valueChange","singlePercent","minPercent","maxPercent","onMouseDown","TextField","StyledAvatarSection","StyledMainContent","StyledTopRow","StyledMerchantSection","StyledBottomRow","StyledMetadata","StyledIconIndicator","StyledTruncatedText","categoryToIcon","shopping","dining","transport","entertainment","bills","other","statusToBadgeVariant","completed","pending","failed","TransactionListItem","merchant","status","category","merchantLogo","hasReceipt","hasNote","amountVariant","categoryIcon","badgeVariant","GridContainer","$cols","$gapX","$gapY","Grid","cols","gapX","gapY","GridColContainer","$span","$order","$spanSm","$spanMd","$spanLg","$spanXl","$orderSm","$orderMd","$orderLg","$orderXl","GridCol","spanSm","spanMd","spanLg","spanXl","order","orderSm","orderMd","orderLg","orderXl","ResponsiveGridContainer","$colsSm","$colsMd","$colsLg","$colsXl","$gapSm","$gapMd","$gapLg","$gapXl","$gapXSm","$gapXMd","$gapXLg","$gapXXl","$gapYSm","$gapYMd","$gapYLg","$gapYXl","ResponsiveGrid","colsSm","colsMd","colsLg","colsXl","gapSm","gapMd","gapLg","gapXl","gapXSm","gapXMd","gapXLg","gapXXl","gapYSm","gapYMd","gapYLg","gapYXl","tokensData"],"mappings":"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","x_google_ignoreList":[0,1]}