@common-origin/design-system 2.4.0 → 2.4.2

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.
@@ -1 +1 @@
1
- {"version":3,"file":"index.esm.js","sources":["../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/CategoryBadge/CategoryBadge.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/StatusBadge/StatusBadge.tsx","../src/components/atoms/Tag/Tag.tsx","../src/components/molecules/AccountCard/AccountCard.tsx","../src/components/molecules/ActionSheet/ActionSheet.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/SearchField/SearchField.tsx","../src/components/molecules/Sheet/Sheet.tsx","../src/components/molecules/Slider/Slider.tsx","../src/components/molecules/TabBar/TabBar.tsx","../src/components/molecules/TextField/TextField.tsx","../src/components/molecules/TransactionListItem/TransactionListItem.tsx","../src/components/layout/GridSystem/GridSystem.tsx","../src/index.ts"],"sourcesContent":["/******************************************************************************\r\nCopyright (c) Microsoft Corporation.\r\n\r\nPermission to use, copy, modify, and/or distribute this software for any\r\npurpose with or without fee is hereby granted.\r\n\r\nTHE SOFTWARE IS PROVIDED \"AS IS\" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH\r\nREGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY\r\nAND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT,\r\nINDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM\r\nLOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR\r\nOTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR\r\nPERFORMANCE OF THIS SOFTWARE.\r\n***************************************************************************** */\r\n/* global Reflect, Promise, SuppressedError, Symbol, Iterator */\r\n\r\nvar extendStatics = function(d, b) {\r\n extendStatics = Object.setPrototypeOf ||\r\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\r\n function (d, b) { for (var p in b) if (Object.prototype.hasOwnProperty.call(b, p)) d[p] = b[p]; };\r\n return extendStatics(d, b);\r\n};\r\n\r\nexport function __extends(d, b) {\r\n if (typeof b !== \"function\" && b !== null)\r\n throw new TypeError(\"Class extends value \" + String(b) + \" is not a constructor or null\");\r\n extendStatics(d, b);\r\n function __() { this.constructor = d; }\r\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\r\n}\r\n\r\nexport var __assign = function() {\r\n __assign = Object.assign || function __assign(t) {\r\n for (var s, i = 1, n = arguments.length; i < n; i++) {\r\n s = arguments[i];\r\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p)) t[p] = s[p];\r\n }\r\n return t;\r\n }\r\n return __assign.apply(this, arguments);\r\n}\r\n\r\nexport function __rest(s, e) {\r\n var t = {};\r\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0)\r\n t[p] = s[p];\r\n if (s != null && typeof Object.getOwnPropertySymbols === \"function\")\r\n for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {\r\n if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i]))\r\n t[p[i]] = s[p[i]];\r\n }\r\n return t;\r\n}\r\n\r\nexport function __decorate(decorators, target, key, desc) {\r\n var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;\r\n if (typeof Reflect === \"object\" && typeof Reflect.decorate === \"function\") r = Reflect.decorate(decorators, target, key, desc);\r\n else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;\r\n return c > 3 && r && Object.defineProperty(target, key, r), r;\r\n}\r\n\r\nexport function __param(paramIndex, decorator) {\r\n return function (target, key) { decorator(target, key, paramIndex); }\r\n}\r\n\r\nexport function __esDecorate(ctor, descriptorIn, decorators, contextIn, initializers, extraInitializers) {\r\n function accept(f) { if (f !== void 0 && typeof f !== \"function\") throw new TypeError(\"Function expected\"); return f; }\r\n var kind = contextIn.kind, key = kind === \"getter\" ? \"get\" : kind === \"setter\" ? \"set\" : \"value\";\r\n var target = !descriptorIn && ctor ? contextIn[\"static\"] ? ctor : ctor.prototype : null;\r\n var descriptor = descriptorIn || (target ? Object.getOwnPropertyDescriptor(target, contextIn.name) : {});\r\n var _, done = false;\r\n for (var i = decorators.length - 1; i >= 0; i--) {\r\n var context = {};\r\n for (var p in contextIn) context[p] = p === \"access\" ? {} : contextIn[p];\r\n for (var p in contextIn.access) context.access[p] = contextIn.access[p];\r\n context.addInitializer = function (f) { if (done) throw new TypeError(\"Cannot add initializers after decoration has completed\"); extraInitializers.push(accept(f || null)); };\r\n var result = (0, decorators[i])(kind === \"accessor\" ? { get: descriptor.get, set: descriptor.set } : descriptor[key], context);\r\n if (kind === \"accessor\") {\r\n if (result === void 0) continue;\r\n if (result === null || typeof result !== \"object\") throw new TypeError(\"Object expected\");\r\n if (_ = accept(result.get)) descriptor.get = _;\r\n if (_ = accept(result.set)) descriptor.set = _;\r\n if (_ = accept(result.init)) initializers.unshift(_);\r\n }\r\n else if (_ = accept(result)) {\r\n if (kind === \"field\") initializers.unshift(_);\r\n else descriptor[key] = _;\r\n }\r\n }\r\n if (target) Object.defineProperty(target, contextIn.name, descriptor);\r\n done = true;\r\n};\r\n\r\nexport function __runInitializers(thisArg, initializers, value) {\r\n var useValue = arguments.length > 2;\r\n for (var i = 0; i < initializers.length; i++) {\r\n value = useValue ? initializers[i].call(thisArg, value) : initializers[i].call(thisArg);\r\n }\r\n return useValue ? value : void 0;\r\n};\r\n\r\nexport function __propKey(x) {\r\n return typeof x === \"symbol\" ? x : \"\".concat(x);\r\n};\r\n\r\nexport function __setFunctionName(f, name, prefix) {\r\n if (typeof name === \"symbol\") name = name.description ? \"[\".concat(name.description, \"]\") : \"\";\r\n return Object.defineProperty(f, \"name\", { configurable: true, value: prefix ? \"\".concat(prefix, \" \", name) : name });\r\n};\r\n\r\nexport function __metadata(metadataKey, metadataValue) {\r\n if (typeof Reflect === \"object\" && typeof Reflect.metadata === \"function\") return Reflect.metadata(metadataKey, metadataValue);\r\n}\r\n\r\nexport function __awaiter(thisArg, _arguments, P, generator) {\r\n function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }\r\n return new (P || (P = Promise))(function (resolve, reject) {\r\n function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }\r\n function rejected(value) { try { step(generator[\"throw\"](value)); } catch (e) { reject(e); } }\r\n function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }\r\n step((generator = generator.apply(thisArg, _arguments || [])).next());\r\n });\r\n}\r\n\r\nexport function __generator(thisArg, body) {\r\n var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g = Object.create((typeof Iterator === \"function\" ? Iterator : Object).prototype);\r\n return g.next = verb(0), g[\"throw\"] = verb(1), g[\"return\"] = verb(2), typeof Symbol === \"function\" && (g[Symbol.iterator] = function() { return this; }), g;\r\n function verb(n) { return function (v) { return step([n, v]); }; }\r\n function step(op) {\r\n if (f) throw new TypeError(\"Generator is already executing.\");\r\n while (g && (g = 0, op[0] && (_ = 0)), _) try {\r\n if (f = 1, y && (t = op[0] & 2 ? y[\"return\"] : op[0] ? y[\"throw\"] || ((t = y[\"return\"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;\r\n if (y = 0, t) op = [op[0] & 2, t.value];\r\n switch (op[0]) {\r\n case 0: case 1: t = op; break;\r\n case 4: _.label++; return { value: op[1], done: false };\r\n case 5: _.label++; y = op[1]; op = [0]; continue;\r\n case 7: op = _.ops.pop(); _.trys.pop(); continue;\r\n default:\r\n if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }\r\n if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }\r\n if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }\r\n if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }\r\n if (t[2]) _.ops.pop();\r\n _.trys.pop(); continue;\r\n }\r\n op = body.call(thisArg, _);\r\n } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }\r\n if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };\r\n }\r\n}\r\n\r\nexport var __createBinding = Object.create ? (function(o, m, k, k2) {\r\n if (k2 === undefined) k2 = k;\r\n var desc = Object.getOwnPropertyDescriptor(m, k);\r\n if (!desc || (\"get\" in desc ? !m.__esModule : desc.writable || desc.configurable)) {\r\n desc = { enumerable: true, get: function() { return m[k]; } };\r\n }\r\n Object.defineProperty(o, k2, desc);\r\n}) : (function(o, m, k, k2) {\r\n if (k2 === undefined) k2 = k;\r\n o[k2] = m[k];\r\n});\r\n\r\nexport function __exportStar(m, o) {\r\n for (var p in m) if (p !== \"default\" && !Object.prototype.hasOwnProperty.call(o, p)) __createBinding(o, m, p);\r\n}\r\n\r\nexport function __values(o) {\r\n var s = typeof Symbol === \"function\" && Symbol.iterator, m = s && o[s], i = 0;\r\n if (m) return m.call(o);\r\n if (o && typeof o.length === \"number\") return {\r\n next: function () {\r\n if (o && i >= o.length) o = void 0;\r\n return { value: o && o[i++], done: !o };\r\n }\r\n };\r\n throw new TypeError(s ? \"Object is not iterable.\" : \"Symbol.iterator is not defined.\");\r\n}\r\n\r\nexport function __read(o, n) {\r\n var m = typeof Symbol === \"function\" && o[Symbol.iterator];\r\n if (!m) return o;\r\n var i = m.call(o), r, ar = [], e;\r\n try {\r\n while ((n === void 0 || n-- > 0) && !(r = i.next()).done) ar.push(r.value);\r\n }\r\n catch (error) { e = { error: error }; }\r\n finally {\r\n try {\r\n if (r && !r.done && (m = i[\"return\"])) m.call(i);\r\n }\r\n finally { if (e) throw e.error; }\r\n }\r\n return ar;\r\n}\r\n\r\n/** @deprecated */\r\nexport function __spread() {\r\n for (var ar = [], i = 0; i < arguments.length; i++)\r\n ar = ar.concat(__read(arguments[i]));\r\n return ar;\r\n}\r\n\r\n/** @deprecated */\r\nexport function __spreadArrays() {\r\n for (var s = 0, i = 0, il = arguments.length; i < il; i++) s += arguments[i].length;\r\n for (var r = Array(s), k = 0, i = 0; i < il; i++)\r\n for (var a = arguments[i], j = 0, jl = a.length; j < jl; j++, k++)\r\n r[k] = a[j];\r\n return r;\r\n}\r\n\r\nexport function __spreadArray(to, from, pack) {\r\n if (pack || arguments.length === 2) for (var i = 0, l = from.length, ar; i < l; i++) {\r\n if (ar || !(i in from)) {\r\n if (!ar) ar = Array.prototype.slice.call(from, 0, i);\r\n ar[i] = from[i];\r\n }\r\n }\r\n return to.concat(ar || Array.prototype.slice.call(from));\r\n}\r\n\r\nexport function __await(v) {\r\n return this instanceof __await ? (this.v = v, this) : new __await(v);\r\n}\r\n\r\nexport function __asyncGenerator(thisArg, _arguments, generator) {\r\n if (!Symbol.asyncIterator) throw new TypeError(\"Symbol.asyncIterator is not defined.\");\r\n var g = generator.apply(thisArg, _arguments || []), i, q = [];\r\n return i = Object.create((typeof AsyncIterator === \"function\" ? AsyncIterator : Object).prototype), verb(\"next\"), verb(\"throw\"), verb(\"return\", awaitReturn), i[Symbol.asyncIterator] = function () { return this; }, i;\r\n function awaitReturn(f) { return function (v) { return Promise.resolve(v).then(f, reject); }; }\r\n function verb(n, f) { if (g[n]) { i[n] = function (v) { return new Promise(function (a, b) { q.push([n, v, a, b]) > 1 || resume(n, v); }); }; if (f) i[n] = f(i[n]); } }\r\n function resume(n, v) { try { step(g[n](v)); } catch (e) { settle(q[0][3], e); } }\r\n function step(r) { r.value instanceof __await ? Promise.resolve(r.value.v).then(fulfill, reject) : settle(q[0][2], r); }\r\n function fulfill(value) { resume(\"next\", value); }\r\n function reject(value) { resume(\"throw\", value); }\r\n function settle(f, v) { if (f(v), q.shift(), q.length) resume(q[0][0], q[0][1]); }\r\n}\r\n\r\nexport function __asyncDelegator(o) {\r\n var i, p;\r\n return i = {}, verb(\"next\"), verb(\"throw\", function (e) { throw e; }), verb(\"return\"), i[Symbol.iterator] = function () { return this; }, i;\r\n function verb(n, f) { i[n] = o[n] ? function (v) { return (p = !p) ? { value: __await(o[n](v)), done: false } : f ? f(v) : v; } : f; }\r\n}\r\n\r\nexport function __asyncValues(o) {\r\n if (!Symbol.asyncIterator) throw new TypeError(\"Symbol.asyncIterator is not defined.\");\r\n var m = o[Symbol.asyncIterator], i;\r\n return m ? m.call(o) : (o = typeof __values === \"function\" ? __values(o) : o[Symbol.iterator](), i = {}, verb(\"next\"), verb(\"throw\"), verb(\"return\"), i[Symbol.asyncIterator] = function () { return this; }, i);\r\n function verb(n) { i[n] = o[n] && function (v) { return new Promise(function (resolve, reject) { v = o[n](v), settle(resolve, reject, v.done, v.value); }); }; }\r\n function settle(resolve, reject, d, v) { Promise.resolve(v).then(function(v) { resolve({ value: v, done: d }); }, reject); }\r\n}\r\n\r\nexport function __makeTemplateObject(cooked, raw) {\r\n if (Object.defineProperty) { Object.defineProperty(cooked, \"raw\", { value: raw }); } else { cooked.raw = raw; }\r\n return cooked;\r\n};\r\n\r\nvar __setModuleDefault = Object.create ? (function(o, v) {\r\n Object.defineProperty(o, \"default\", { enumerable: true, value: v });\r\n}) : function(o, v) {\r\n o[\"default\"] = v;\r\n};\r\n\r\nvar ownKeys = function(o) {\r\n ownKeys = Object.getOwnPropertyNames || function (o) {\r\n var ar = [];\r\n for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;\r\n return ar;\r\n };\r\n return ownKeys(o);\r\n};\r\n\r\nexport function __importStar(mod) {\r\n if (mod && mod.__esModule) return mod;\r\n var result = {};\r\n if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== \"default\") __createBinding(result, mod, k[i]);\r\n __setModuleDefault(result, mod);\r\n return result;\r\n}\r\n\r\nexport function __importDefault(mod) {\r\n return (mod && mod.__esModule) ? mod : { default: mod };\r\n}\r\n\r\nexport function __classPrivateFieldGet(receiver, state, kind, f) {\r\n if (kind === \"a\" && !f) throw new TypeError(\"Private accessor was defined without a getter\");\r\n if (typeof state === \"function\" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError(\"Cannot read private member from an object whose class did not declare it\");\r\n return kind === \"m\" ? f : kind === \"a\" ? f.call(receiver) : f ? f.value : state.get(receiver);\r\n}\r\n\r\nexport function __classPrivateFieldSet(receiver, state, value, kind, f) {\r\n if (kind === \"m\") throw new TypeError(\"Private method is not writable\");\r\n if (kind === \"a\" && !f) throw new TypeError(\"Private accessor was defined without a setter\");\r\n if (typeof state === \"function\" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError(\"Cannot write private member to an object whose class did not declare it\");\r\n return (kind === \"a\" ? f.call(receiver, value) : f ? f.value = value : state.set(receiver, value)), value;\r\n}\r\n\r\nexport function __classPrivateFieldIn(state, receiver) {\r\n if (receiver === null || (typeof receiver !== \"object\" && typeof receiver !== \"function\")) throw new TypeError(\"Cannot use 'in' operator on non-object\");\r\n return typeof state === \"function\" ? receiver === state : state.has(receiver);\r\n}\r\n\r\nexport function __addDisposableResource(env, value, async) {\r\n if (value !== null && value !== void 0) {\r\n if (typeof value !== \"object\" && typeof value !== \"function\") throw new TypeError(\"Object expected.\");\r\n var dispose, inner;\r\n if (async) {\r\n if (!Symbol.asyncDispose) throw new TypeError(\"Symbol.asyncDispose is not defined.\");\r\n dispose = value[Symbol.asyncDispose];\r\n }\r\n if (dispose === void 0) {\r\n if (!Symbol.dispose) throw new TypeError(\"Symbol.dispose is not defined.\");\r\n dispose = value[Symbol.dispose];\r\n if (async) inner = dispose;\r\n }\r\n if (typeof dispose !== \"function\") throw new TypeError(\"Object not disposable.\");\r\n if (inner) dispose = function() { try { inner.call(this); } catch (e) { return Promise.reject(e); } };\r\n env.stack.push({ value: value, dispose: dispose, async: async });\r\n }\r\n else if (async) {\r\n env.stack.push({ async: true });\r\n }\r\n return value;\r\n\r\n}\r\n\r\nvar _SuppressedError = typeof SuppressedError === \"function\" ? SuppressedError : function (error, suppressed, message) {\r\n var e = new Error(message);\r\n return e.name = \"SuppressedError\", e.error = error, e.suppressed = suppressed, e;\r\n};\r\n\r\nexport function __disposeResources(env) {\r\n function fail(e) {\r\n env.error = env.hasError ? new _SuppressedError(e, env.error, \"An error was suppressed during disposal.\") : e;\r\n env.hasError = true;\r\n }\r\n var r, s = 0;\r\n function next() {\r\n while (r = env.stack.pop()) {\r\n try {\r\n if (!r.async && s === 1) return s = 0, env.stack.push(r), Promise.resolve().then(next);\r\n if (r.dispose) {\r\n var result = r.dispose.call(r.value);\r\n if (r.async) return s |= 2, Promise.resolve(result).then(next, function(e) { fail(e); return next(); });\r\n }\r\n else s |= 1;\r\n }\r\n catch (e) {\r\n fail(e);\r\n }\r\n }\r\n if (s === 1) return env.hasError ? Promise.reject(env.error) : Promise.resolve();\r\n if (env.hasError) throw env.error;\r\n }\r\n return next();\r\n}\r\n\r\nexport function __rewriteRelativeImportExtension(path, preserveJsx) {\r\n if (typeof path === \"string\" && /^\\.\\.?\\//.test(path)) {\r\n return path.replace(/\\.(tsx)$|((?:\\.d)?)((?:\\.[^./]+?)?)\\.([cm]?)ts$/i, function (m, tsx, d, ext, cm) {\r\n return tsx ? preserveJsx ? \".jsx\" : \".js\" : d && (!ext || !cm) ? m : (d + ext + \".\" + cm.toLowerCase() + \"js\");\r\n });\r\n }\r\n return path;\r\n}\r\n\r\nexport default {\r\n __extends: __extends,\r\n __assign: __assign,\r\n __rest: __rest,\r\n __decorate: __decorate,\r\n __param: __param,\r\n __esDecorate: __esDecorate,\r\n __runInitializers: __runInitializers,\r\n __propKey: __propKey,\r\n __setFunctionName: __setFunctionName,\r\n __metadata: __metadata,\r\n __awaiter: __awaiter,\r\n __generator: __generator,\r\n __createBinding: __createBinding,\r\n __exportStar: __exportStar,\r\n __values: __values,\r\n __read: __read,\r\n __spread: __spread,\r\n __spreadArrays: __spreadArrays,\r\n __spreadArray: __spreadArray,\r\n __await: __await,\r\n __asyncGenerator: __asyncGenerator,\r\n __asyncDelegator: __asyncDelegator,\r\n __asyncValues: __asyncValues,\r\n __makeTemplateObject: __makeTemplateObject,\r\n __importStar: __importStar,\r\n __importDefault: __importDefault,\r\n __classPrivateFieldGet: __classPrivateFieldGet,\r\n __classPrivateFieldSet: __classPrivateFieldSet,\r\n __classPrivateFieldIn: __classPrivateFieldIn,\r\n __addDisposableResource: __addDisposableResource,\r\n __disposeResources: __disposeResources,\r\n __rewriteRelativeImportExtension: __rewriteRelativeImportExtension,\r\n};\r\n","import React, { 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 // Shadow\n shadow?: keyof typeof tokens.base.shadow\n \n // Cursor\n cursor?: 'auto' | 'default' | 'pointer' | 'wait' | 'text' | 'move' | 'help' | 'not-allowed'\n \n // Transition\n transition?: string\n \n // Hover states\n hoverShadow?: keyof typeof tokens.base.shadow\n hoverTransform?: string\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 onClick?: (event: React.MouseEvent) => void\n onKeyDown?: (event: React.KeyboardEvent) => void\n tabIndex?: number\n role?: string\n 'aria-label'?: string\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 $shadow?: BoxProps['shadow']\n $cursor?: BoxProps['cursor']\n $transition?: BoxProps['transition']\n $hoverShadow?: BoxProps['hoverShadow']\n $hoverTransform?: BoxProps['hoverTransform']\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 // Shadow\n ${props => props.$shadow && css`box-shadow: ${tokens.base.shadow[props.$shadow]};`}\n \n // Cursor\n ${props => props.$cursor && css`cursor: ${props.$cursor};`}\n \n // Transition\n ${props => props.$transition && css`transition: ${props.$transition};`}\n \n // Hover states\n ${props => (props.$hoverShadow || props.$hoverTransform) && css`\n &:hover {\n ${props.$hoverShadow && css`box-shadow: ${tokens.base.shadow[props.$hoverShadow]};`}\n ${props.$hoverTransform && css`transform: ${props.$hoverTransform};`}\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 // 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 // Shadow\n shadow,\n \n // Cursor\n cursor,\n \n // Transition\n transition,\n \n // Hover states\n hoverShadow,\n hoverTransform,\n \n // Overflow\n overflow,\n overflowX,\n overflowY,\n \n // Standard props\n as,\n children,\n onClick,\n onKeyDown,\n tabIndex,\n role,\n 'aria-label': ariaLabel,\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 $shadow={shadow}\n $cursor={cursor}\n $transition={transition}\n $hoverShadow={hoverShadow}\n $hoverTransform={hoverTransform}\n $overflow={overflow}\n $overflowX={overflowX}\n $overflowY={overflowY}\n onClick={onClick}\n onKeyDown={onKeyDown}\n tabIndex={tabIndex}\n role={role}\n aria-label={ariaLabel}\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 { ReactNode, KeyboardEvent } from 'react'\nimport styled from 'styled-components'\nimport { Icon } from '../Icon/Icon'\nimport type { IconName } from '../../../types/icons'\nimport tokens from '@/styles/tokens.json'\n\nconst { semantic, base } = tokens\n\n/**\n * Category color options for CategoryBadge\n */\nexport type CategoryColor = \n | 'blue' \n | 'purple' \n | 'pink' \n | 'yellow' \n | 'green' \n | 'red' \n | 'orange' \n | 'gray'\n\n/**\n * Visual variant options for CategoryBadge\n */\nexport type CategoryVariant = 'filled' | 'outlined' | 'minimal'\n\n/**\n * Size options for CategoryBadge\n */\nexport type CategorySize = 'small' | 'medium'\n\n/**\n * Props for the CategoryBadge component\n */\nexport interface CategoryBadgeProps {\n /**\n * The category text to display\n */\n children: ReactNode\n \n /**\n * Color scheme for the badge\n * @default 'blue'\n */\n color?: CategoryColor\n \n /**\n * Visual variant of the badge\n * @default 'filled'\n */\n variant?: CategoryVariant\n \n /**\n * Size of the badge\n * @default 'medium'\n */\n size?: CategorySize\n \n /**\n * Optional icon name to display\n */\n icon?: IconName\n \n /**\n * Optional click handler (makes badge interactive)\n */\n onClick?: () => void\n \n /**\n * Whether the badge is disabled\n * @default false\n */\n disabled?: boolean\n \n /**\n * Test identifier for automated testing\n */\n 'data-testid'?: string\n \n /**\n * Accessible label for the badge\n */\n 'aria-label'?: string\n}\n\ninterface StyledBadgeProps {\n $color: CategoryColor\n $variant: CategoryVariant\n $size: CategorySize\n $clickable: boolean\n $disabled: boolean\n}\n\nconst getColorStyles = (color: CategoryColor, variant: CategoryVariant) => {\n const colorKey = color as keyof typeof semantic.color.category\n \n if (variant === 'filled') {\n return {\n backgroundColor: semantic.color.category[`${colorKey}-emphasis` as keyof typeof semantic.color.category],\n color: semantic.color.text.inverse,\n borderColor: 'transparent'\n }\n }\n \n if (variant === 'outlined') {\n return {\n backgroundColor: 'transparent',\n color: semantic.color.category[colorKey],\n borderColor: semantic.color.category[colorKey]\n }\n }\n \n // minimal\n return {\n backgroundColor: semantic.color.category[`${colorKey}-subtle` as keyof typeof semantic.color.category],\n color: semantic.color.category[colorKey],\n borderColor: 'transparent'\n }\n}\n\nconst getSizeStyles = (size: CategorySize) => {\n if (size === 'small') {\n return {\n height: '24px',\n padding: `${base.spacing[1]} ${base.spacing[2]}`,\n font: semantic.typography.caption,\n gap: base.spacing[1],\n iconSize: 'xs' as const\n }\n }\n \n // medium\n return {\n height: '32px',\n padding: `${base.spacing[2]} ${base.spacing[3]}`,\n font: semantic.typography.small,\n gap: base.spacing[1],\n iconSize: 'sm' as const\n }\n}\n\nconst StyledCategoryBadge = styled.span.withConfig({\n shouldForwardProp: (prop) => !prop.startsWith('$')\n})<StyledBadgeProps>`\n display: inline-flex;\n align-items: center;\n justify-content: center;\n border-radius: ${base.border.radius.circle};\n font-weight: ${base.fontWeight[3]};\n white-space: nowrap;\n user-select: none;\n transition: ${semantic.motion.hover};\n border-width: ${base.border.width[1]};\n border-style: solid;\n \n /* Apply CSS custom properties */\n background-color: var(--category-badge-bg);\n color: var(--category-badge-color);\n border-color: var(--category-badge-border);\n height: var(--category-badge-height);\n padding: var(--category-badge-padding);\n font: var(--category-badge-font);\n gap: var(--category-badge-gap);\n opacity: var(--category-badge-opacity);\n cursor: var(--category-badge-cursor);\n \n /* Hover state for clickable badges */\n ${props => props.$clickable && !props.$disabled && `\n &:hover {\n opacity: 0.85;\n transform: translateY(-1px);\n }\n \n &:active {\n transform: translateY(0);\n opacity: 0.95;\n }\n `}\n \n /* Focus state */\n &:focus-visible {\n outline: ${base.border.width[2]} solid ${semantic.color.border.strong};\n outline-offset: ${base.spacing[1]};\n }\n`\n\n/**\n * CategoryBadge component for displaying transaction categories\n * \n * Supports 8 color options, 3 visual variants, optional icons, and interactive behavior.\n * Perfect for categorizing financial transactions or content.\n * \n * @example\n * ```tsx\n * <CategoryBadge color=\"orange\" icon=\"restaurant\">\n * Food & Dining\n * </CategoryBadge>\n * \n * <CategoryBadge \n * color=\"blue\" \n * variant=\"outlined\" \n * size=\"small\"\n * onClick={() => filterByCategory('travel')}\n * >\n * Travel\n * </CategoryBadge>\n * ```\n */\nexport const CategoryBadge: React.FC<CategoryBadgeProps> = ({\n children,\n color = 'blue',\n variant = 'filled',\n size = 'medium',\n icon,\n onClick,\n disabled = false,\n 'data-testid': dataTestId,\n 'aria-label': ariaLabel\n}) => {\n const hasClickHandler = Boolean(onClick)\n const isClickable = hasClickHandler && !disabled\n \n const colorStyles = getColorStyles(color, variant)\n const sizeStyles = getSizeStyles(size)\n \n const cssProps = {\n '--category-badge-bg': colorStyles.backgroundColor,\n '--category-badge-color': colorStyles.color,\n '--category-badge-border': colorStyles.borderColor,\n '--category-badge-height': sizeStyles.height,\n '--category-badge-padding': sizeStyles.padding,\n '--category-badge-font': sizeStyles.font,\n '--category-badge-gap': sizeStyles.gap,\n '--category-badge-opacity': disabled ? '0.6' : '1',\n '--category-badge-cursor': disabled ? 'not-allowed' : (isClickable ? 'pointer' : 'default')\n } as React.CSSProperties\n \n const handleClick = () => {\n if (isClickable) {\n onClick?.()\n }\n }\n \n const handleKeyDown = (event: KeyboardEvent<HTMLSpanElement>) => {\n if (isClickable && (event.key === 'Enter' || event.key === ' ')) {\n event.preventDefault()\n onClick?.()\n }\n }\n \n return (\n <StyledCategoryBadge\n $color={color}\n $variant={variant}\n $size={size}\n $clickable={isClickable}\n $disabled={disabled}\n onClick={handleClick}\n onKeyDown={handleKeyDown}\n tabIndex={hasClickHandler ? 0 : undefined}\n role={hasClickHandler ? 'button' : undefined}\n aria-label={ariaLabel}\n aria-disabled={disabled}\n data-testid={dataTestId}\n style={cssProps}\n >\n {icon && (\n <Icon \n name={icon} \n size={sizeStyles.iconSize}\n iconColor={variant === 'filled' ? 'inverse' : 'inherit'}\n aria-hidden=\"true\"\n />\n )}\n {children}\n </StyledCategoryBadge>\n )\n}\n\nCategoryBadge.displayName = 'CategoryBadge'\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 { ReactNode } from 'react'\nimport styled, { keyframes } from 'styled-components'\nimport { Icon } from '../Icon/Icon'\nimport type { IconName } from '../../../types/icons'\nimport tokens from '@/styles/tokens.json'\n\nconst { semantic, base } = tokens\n\n/**\n * Status type options for StatusBadge\n */\nexport type StatusType = \n | 'pending' \n | 'completed' \n | 'failed' \n | 'cancelled' \n | 'processing' \n | 'scheduled'\n\n/**\n * Size options for StatusBadge\n */\nexport type StatusSize = 'small' | 'medium'\n\n/**\n * Props for the StatusBadge component\n */\nexport interface StatusBadgeProps {\n /**\n * The status type to display\n */\n status: StatusType\n \n /**\n * Optional custom label (defaults to status name)\n */\n label?: string\n \n /**\n * Size of the badge\n * @default 'medium'\n */\n size?: StatusSize\n \n /**\n * Whether to show the icon\n * @default true\n */\n showIcon?: boolean\n \n /**\n * Whether status changes should be announced to screen readers\n * @default true\n */\n liveRegion?: boolean\n \n /**\n * Test identifier for automated testing\n */\n 'data-testid'?: string\n \n /**\n * Accessible label override\n */\n 'aria-label'?: string\n}\n\ninterface StyledStatusBadgeProps {\n $status: StatusType\n $size: StatusSize\n}\n\nconst scaleIn = keyframes`\n from {\n opacity: 0;\n transform: scale(0.8);\n }\n to {\n opacity: 1;\n transform: scale(1);\n }\n`\n\nconst getStatusConfig = (status: StatusType) => {\n const configs: Record<StatusType, { color: string; bgColor: string; icon: IconName; label: string }> = {\n pending: {\n color: semantic.color.status.pending,\n bgColor: semantic.color.status['pending-bg'],\n icon: 'refresh', // Fallback until 'clock' icon is added\n label: 'Pending'\n },\n completed: {\n color: semantic.color.status.completed,\n bgColor: semantic.color.status['completed-bg'],\n icon: 'check',\n label: 'Completed'\n },\n failed: {\n color: semantic.color.status.failed,\n bgColor: semantic.color.status['failed-bg'],\n icon: 'close',\n label: 'Failed'\n },\n cancelled: {\n color: semantic.color.status.cancelled,\n bgColor: semantic.color.status['cancelled-bg'],\n icon: 'cancel',\n label: 'Cancelled'\n },\n processing: {\n color: semantic.color.status.processing,\n bgColor: semantic.color.status['processing-bg'],\n icon: 'refresh',\n label: 'Processing'\n },\n scheduled: {\n color: semantic.color.status.scheduled,\n bgColor: semantic.color.status['scheduled-bg'],\n icon: 'bell', // Fallback until 'calendar' icon is added\n label: 'Scheduled'\n }\n }\n \n return configs[status]\n}\n\nconst getSizeStyles = (size: StatusSize) => {\n if (size === 'small') {\n return {\n height: '20px',\n padding: `${base.spacing[1]} ${base.spacing[2]}`,\n font: semantic.typography.caption,\n gap: base.spacing[1],\n iconSize: 'xs' as const\n }\n }\n \n // medium\n return {\n height: '24px',\n padding: `${base.spacing[1]} ${base.spacing[2]}`,\n font: semantic.typography.small,\n gap: base.spacing[1],\n iconSize: 'sm' as const\n }\n}\n\nconst StyledStatusBadge = styled.span.withConfig({\n shouldForwardProp: (prop) => !prop.startsWith('$')\n})<StyledStatusBadgeProps>`\n display: inline-flex;\n align-items: center;\n justify-content: center;\n border-radius: ${base.border.radius.circle};\n font-weight: ${base.fontWeight[3]};\n white-space: nowrap;\n user-select: none;\n animation: ${scaleIn} 0.2s ease-out;\n \n /* Apply CSS custom properties */\n background-color: var(--status-badge-bg);\n color: var(--status-badge-color);\n height: var(--status-badge-height);\n padding: var(--status-badge-padding);\n font: var(--status-badge-font);\n gap: var(--status-badge-gap);\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\n/**\n * StatusBadge component for displaying transaction or task status\n * \n * Displays status with appropriate color, icon, and supports live updates for screen readers.\n * Maps to 6 common status types with semantic color tokens.\n * \n * @example\n * ```tsx\n * <StatusBadge status=\"completed\" />\n * \n * <StatusBadge \n * status=\"pending\" \n * label=\"Awaiting approval\"\n * size=\"small\" \n * />\n * \n * <StatusBadge \n * status=\"failed\" \n * showIcon={false}\n * liveRegion={true}\n * />\n * ```\n */\nexport const StatusBadge: React.FC<StatusBadgeProps> = ({\n status,\n label,\n size = 'medium',\n showIcon = true,\n liveRegion = true,\n 'data-testid': dataTestId,\n 'aria-label': ariaLabel\n}) => {\n const statusConfig = getStatusConfig(status)\n const sizeStyles = getSizeStyles(size)\n const displayLabel = label || statusConfig.label\n \n const cssProps = {\n '--status-badge-bg': statusConfig.bgColor,\n '--status-badge-color': statusConfig.color,\n '--status-badge-height': sizeStyles.height,\n '--status-badge-padding': sizeStyles.padding,\n '--status-badge-font': sizeStyles.font,\n '--status-badge-gap': sizeStyles.gap\n } as React.CSSProperties\n \n return (\n <StyledStatusBadge\n $status={status}\n $size={size}\n role=\"status\"\n aria-label={ariaLabel || `Status: ${displayLabel}`}\n aria-live={liveRegion ? 'polite' : undefined}\n aria-atomic={liveRegion ? 'true' : undefined}\n data-testid={dataTestId}\n style={cssProps}\n >\n {showIcon && (\n <Icon \n name={statusConfig.icon} \n size={sizeStyles.iconSize}\n iconColor=\"inherit\"\n aria-hidden=\"true\"\n />\n )}\n {displayLabel}\n <ScreenReaderOnly>\n {status} status\n </ScreenReaderOnly>\n </StyledStatusBadge>\n )\n}\n\nStatusBadge.displayName = 'StatusBadge'\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\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.inverse};\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 <Box\n minWidth=\"300px\"\n minHeight=\"200px\"\n p=\"lg\"\n bg=\"surface\"\n border=\"default\"\n borderRadius=\"5\"\n shadow=\"3\"\n transition=\"all 0.2s ease\"\n cursor={isClickable ? 'pointer' : 'default'}\n hoverShadow={isClickable ? '4' : undefined}\n hoverTransform={isClickable ? 'translateY(-2px)' : undefined}\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 iconColor=\"inverse\"\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 </Box>\n )\n}\n","import { \n useState, \n useEffect, \n useRef, \n ReactNode, \n KeyboardEvent,\n MouseEvent,\n ButtonHTMLAttributes\n} from 'react'\nimport { createPortal } from 'react-dom'\nimport styled, { keyframes } from 'styled-components'\nimport { Icon } from '../../atoms/Icon/Icon'\nimport { type IconName } from '../../../types/icons'\nimport { Stack } from '../../atoms/Stack/Stack'\nimport { Typography } from '../../atoms/Typography/Typography'\nimport tokens from '@/styles/tokens.json'\n\nconst { semantic, base } = tokens\n\n/**\n * Action item for the action sheet\n */\nexport interface Action {\n /**\n * Unique identifier\n */\n id: string\n \n /**\n * Display label\n */\n label: string\n \n /**\n * Optional icon\n */\n icon?: IconName\n \n /**\n * Whether this is a destructive action (shown in red)\n * @default false\n */\n destructive?: boolean\n \n /**\n * Whether this action is disabled\n * @default false\n */\n disabled?: boolean\n \n /**\n * Callback when action is selected\n */\n onSelect: () => void\n}\n\n/**\n * Props for the ActionSheet component\n */\nexport interface ActionSheetProps {\n /**\n * Whether the action sheet is open\n */\n isOpen: boolean\n \n /**\n * Callback when the action sheet should close\n */\n onClose: () => void\n \n /**\n * Title of the action sheet\n */\n title?: string\n \n /**\n * Optional description\n */\n description?: string\n \n /**\n * Array of actions\n */\n actions: Action[]\n \n /**\n * Whether to close on overlay click\n * @default true\n */\n closeOnOverlayClick?: boolean\n \n /**\n * Whether to close on Escape key\n * @default true\n */\n closeOnEscape?: boolean\n \n /**\n * Show close button in header\n * @default true\n */\n showCloseButton?: boolean\n \n /**\n * Test identifier\n */\n 'data-testid'?: string\n}\n\nconst slideUp = keyframes`\n from {\n transform: translateY(100%);\n }\n to {\n transform: translateY(0);\n }\n`\n\nconst fadeIn = keyframes`\n from {\n opacity: 0;\n }\n to {\n opacity: 1;\n }\n`\n\nconst StyledOverlay = styled.div`\n position: fixed;\n inset: 0;\n background-color: rgba(0, 0, 0, 0.5);\n z-index: 9999;\n animation: ${fadeIn} 0.2s ease-out;\n`\n\nconst StyledActionSheet = styled.div`\n position: fixed;\n bottom: 0;\n left: 0;\n right: 0;\n background-color: ${semantic.color.background.subtle};\n border-top-left-radius: ${base.border.radius[4]};\n border-top-right-radius: ${base.border.radius[4]};\n box-shadow: ${base.shadow[4]};\n max-height: 90vh;\n overflow-y: auto;\n z-index: 10000;\n animation: ${slideUp} 0.3s ease-out;\n`\n\nconst StyledHeader = styled.div`\n display: flex;\n align-items: flex-start;\n justify-content: space-between;\n padding: ${base.spacing[4]} ${base.spacing[4]} ${base.spacing[3]};\n border-bottom: ${base.border.width[1]} solid ${semantic.color.border.default};\n`\n\nconst StyledHeaderContent = styled.div`\n flex: 1;\n`\n\nconst StyledCloseButton = styled.button`\n display: flex;\n align-items: center;\n justify-content: center;\n padding: ${base.spacing[2]};\n border: none;\n background: transparent;\n color: ${semantic.color.icon.subdued};\n cursor: pointer;\n border-radius: ${base.border.radius[2]};\n transition: ${semantic.motion.hover};\n margin-left: ${base.spacing[2]};\n \n &:hover {\n color: ${semantic.color.icon.default};\n background-color: ${semantic.color.background.surface};\n }\n \n &:focus-visible {\n outline: ${base.border.width[2]} solid ${semantic.color.border.strong};\n outline-offset: ${base.spacing[1]};\n }\n`\n\nconst StyledActionsList = styled.div`\n padding: ${base.spacing[2]} 0;\n`\n\ninterface StyledActionButtonProps {\n $destructive: boolean\n $disabled: boolean\n}\n\nconst StyledActionButton = styled.button<StyledActionButtonProps>`\n display: flex;\n align-items: center;\n gap: ${base.spacing[3]};\n width: 100%;\n padding: ${base.spacing[3]} ${base.spacing[4]};\n border: none;\n background: transparent;\n font: ${semantic.typography.body};\n text-align: left;\n cursor: pointer;\n transition: ${semantic.motion.hover};\n \n ${props => props.$destructive && `\n color: ${semantic.color.text.error};\n `}\n \n ${props => props.$disabled && `\n color: ${semantic.color.text.disabled};\n cursor: not-allowed;\n `}\n \n &:hover:not(:disabled) {\n background-color: ${semantic.color.background['interactive-subtle']};\n }\n \n &:focus-visible {\n outline: ${base.border.width[2]} solid ${semantic.color.border.strong};\n outline-offset: -${base.spacing[1]};\n }\n \n &:active:not(:disabled) {\n background-color: ${semantic.color.background.surface};\n }\n`\n\nconst StyledDivider = styled.div`\n height: ${base.border.width[1]};\n background-color: ${semantic.color.border.default};\n margin: ${base.spacing[2]} ${base.spacing[4]};\n`\n\n/**\n * ActionSheet component for bottom sheet modals\n * \n * Displays a modal action sheet that slides up from the bottom,\n * providing a list of actions for the user to choose from.\n * Includes focus trapping, keyboard navigation, and accessibility features.\n * \n * @example\n * ```tsx\n * const [isOpen, setIsOpen] = useState(false)\n * \n * <ActionSheet\n * isOpen={isOpen}\n * onClose={() => setIsOpen(false)}\n * title=\"Choose an action\"\n * actions={[\n * {\n * id: 'edit',\n * label: 'Edit',\n * icon: 'edit',\n * onSelect: () => console.log('Edit')\n * },\n * {\n * id: 'delete',\n * label: 'Delete',\n * icon: 'trash',\n * destructive: true,\n * onSelect: () => console.log('Delete')\n * }\n * ]}\n * />\n * ```\n */\nexport const ActionSheet = ({\n isOpen,\n onClose,\n title,\n description,\n actions,\n closeOnOverlayClick = true,\n closeOnEscape = true,\n showCloseButton = true,\n 'data-testid': dataTestId\n}: ActionSheetProps) => {\n const sheetRef = useRef<HTMLDivElement>(null)\n const previousActiveElement = useRef<HTMLElement | null>(null)\n \n // Store the element that had focus when sheet opened\n useEffect(() => {\n if (isOpen) {\n previousActiveElement.current = document.activeElement as HTMLElement\n }\n }, [isOpen])\n \n // Focus management and escape key handling\n useEffect(() => {\n if (!isOpen) return\n \n const handleKeyDown = (e: globalThis.KeyboardEvent) => {\n if (e.key === 'Escape' && closeOnEscape) {\n e.preventDefault()\n onClose()\n }\n \n // Focus trap\n if (e.key === 'Tab' && sheetRef.current) {\n const focusableElements = sheetRef.current.querySelectorAll<HTMLElement>(\n 'button:not(:disabled), [href], input:not(:disabled), select:not(:disabled), textarea:not(:disabled), [tabindex]:not([tabindex=\"-1\"])'\n )\n \n const firstElement = focusableElements[0]\n const lastElement = focusableElements[focusableElements.length - 1]\n \n if (e.shiftKey && document.activeElement === firstElement) {\n e.preventDefault()\n lastElement?.focus()\n } else if (!e.shiftKey && document.activeElement === lastElement) {\n e.preventDefault()\n firstElement?.focus()\n }\n }\n }\n \n document.addEventListener('keydown', handleKeyDown)\n \n // Focus first focusable element\n requestAnimationFrame(() => {\n const firstButton = sheetRef.current?.querySelector<HTMLElement>('button:not(:disabled)')\n firstButton?.focus()\n })\n \n // Prevent body scroll\n const originalOverflow = document.body.style.overflow\n document.body.style.overflow = 'hidden'\n \n return () => {\n document.removeEventListener('keydown', handleKeyDown)\n document.body.style.overflow = originalOverflow\n \n // Return focus to previous element\n if (previousActiveElement.current) {\n previousActiveElement.current.focus()\n }\n }\n }, [isOpen, onClose, closeOnEscape])\n \n const handleOverlayClick = (e: MouseEvent<HTMLDivElement>) => {\n if (closeOnOverlayClick && e.target === e.currentTarget) {\n onClose()\n }\n }\n \n const handleActionClick = (action: Action) => {\n if (!action.disabled) {\n action.onSelect()\n onClose()\n }\n }\n \n if (!isOpen) return null\n \n // Find if there are any destructive actions to add divider\n const destructiveIndex = actions.findIndex(a => a.destructive)\n const hasDestructive = destructiveIndex >= 0\n \n return createPortal(\n <>\n <StyledOverlay onClick={handleOverlayClick} />\n <StyledActionSheet\n ref={sheetRef}\n role=\"dialog\"\n aria-modal=\"true\"\n aria-labelledby={title ? 'action-sheet-title' : undefined}\n aria-describedby={description ? 'action-sheet-description' : undefined}\n data-testid={dataTestId}\n >\n {(title || description || showCloseButton) && (\n <StyledHeader>\n <StyledHeaderContent>\n <Stack direction=\"column\" gap={description && title ? 'xs' : 'none'}>\n {title && (\n <div id=\"action-sheet-title\">\n <Typography variant=\"h3\">\n {title}\n </Typography>\n </div>\n )}\n {description && (\n <div id=\"action-sheet-description\">\n <Typography variant=\"body\" color=\"subdued\">\n {description}\n </Typography>\n </div>\n )}\n </Stack>\n </StyledHeaderContent>\n {showCloseButton && (\n <StyledCloseButton\n type=\"button\"\n onClick={onClose}\n aria-label=\"Close\"\n >\n <Icon name=\"close\" size=\"sm\" iconColor=\"subdued\" />\n </StyledCloseButton>\n )}\n </StyledHeader>\n )}\n \n <StyledActionsList>\n {actions.map((action, index) => (\n <div key={action.id}>\n {hasDestructive && index === destructiveIndex && index > 0 && (\n <StyledDivider />\n )}\n <StyledActionButton\n type=\"button\"\n onClick={() => handleActionClick(action)}\n disabled={action.disabled}\n $destructive={action.destructive || false}\n $disabled={action.disabled || false}\n aria-label={action.label}\n >\n {action.icon && (\n <Icon\n name={action.icon}\n size=\"md\"\n iconColor={\n action.disabled\n ? 'disabled'\n : action.destructive\n ? 'error'\n : 'default'\n }\n />\n )}\n <Typography variant=\"body\">{action.label}</Typography>\n </StyledActionButton>\n </div>\n ))}\n </StyledActionsList>\n </StyledActionSheet>\n </>,\n document.body\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 /**\n * Custom ARIA role (e.g., 'option' for combobox)\n * @default 'listitem'\n */\n role?: string\n \n /**\n * ARIA selected state (for role=\"option\")\n */\n 'aria-selected'?: boolean\n \n /**\n * Custom ID for ARIA references\n */\n id?: string\n \n /**\n * Custom tabIndex for focus management\n */\n tabIndex?: number\n \n /**\n * Keyboard event handler\n */\n onKeyDown?: (e: React.KeyboardEvent) => void\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 role: customRole,\n 'aria-selected': ariaSelected,\n id,\n tabIndex: customTabIndex,\n onKeyDown: customOnKeyDown,\n ...props\n}: ListItemProps) => {\n const isInteractive = interactive || expandable || customRole === 'option'\n const contentRole = customRole === 'option' ? undefined : (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 (customOnKeyDown) {\n customOnKeyDown(event)\n return\n }\n \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={customRole || 'listitem'}\n id={id}\n aria-selected={ariaSelected}\n {...props}\n >\n <StyledItemContent\n $interactive={isInteractive}\n $disabled={disabled}\n $selected={selected}\n $spacing={spacing}\n role={contentRole}\n aria-expanded={ariaExpanded}\n aria-disabled={ariaDisabled}\n aria-current={ariaCurrent}\n tabIndex={customTabIndex !== undefined ? customTabIndex : (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 { \n useState, \n useRef, \n useEffect, \n useMemo, \n KeyboardEvent, \n ChangeEvent, \n FocusEvent,\n InputHTMLAttributes,\n forwardRef\n} from 'react'\nimport styled from 'styled-components'\nimport { Icon } from '../../atoms/Icon/Icon'\nimport { IconButton } from '../../atoms/IconButton/IconButton'\nimport { Stack } from '../../atoms/Stack/Stack'\nimport { Typography } from '../../atoms/Typography/Typography'\nimport { ListItem } from '../List/ListItem'\nimport tokens from '@/styles/tokens.json'\n\nconst { semantic, base, component } = tokens\n\n/**\n * Suggestion item for autocomplete\n */\nexport interface Suggestion {\n /**\n * Unique identifier\n */\n id: string\n \n /**\n * Display text\n */\n label: string\n \n /**\n * Optional secondary text\n */\n description?: string\n \n /**\n * Optional category for grouping\n */\n category?: string\n}\n\n/**\n * Props for the SearchField component\n */\nexport interface SearchFieldProps extends Omit<InputHTMLAttributes<HTMLInputElement>, 'size' | 'onChange'> {\n /**\n * Current search value\n */\n value: string\n \n /**\n * Callback when value changes\n */\n onChange: (value: string) => void\n \n /**\n * Suggestions to display\n */\n suggestions?: Suggestion[]\n \n /**\n * Whether to show recent searches\n * @default true\n */\n showRecentSearches?: boolean\n \n /**\n * Array of recent search terms\n */\n recentSearches?: string[]\n \n /**\n * Callback when a suggestion is selected\n */\n onSuggestionSelect?: (suggestion: Suggestion | string) => void\n \n /**\n * Callback to clear recent searches\n */\n onClearRecentSearches?: () => void\n \n /**\n * Debounce delay in milliseconds\n * @default 300\n */\n debounceMs?: number\n \n /**\n * Placeholder text\n * @default 'Search...'\n */\n placeholder?: string\n \n /**\n * Whether the field is disabled\n * @default false\n */\n disabled?: boolean\n \n /**\n * Whether to show loading state\n * @default false\n */\n loading?: boolean\n \n /**\n * Accessible label\n */\n 'aria-label'?: string\n \n /**\n * Test identifier\n */\n 'data-testid'?: string\n}\n\ninterface StyledSearchContainerProps {\n $isFocused: boolean\n $disabled: boolean\n}\n\ninterface StyledSuggestionItemProps {\n $isHighlighted: boolean\n $isRecent: boolean\n}\n\nconst StyledSearchContainer = styled.div<StyledSearchContainerProps>`\n position: relative;\n width: 100%;\n`\n\nconst StyledInputWrapper = styled.div<StyledSearchContainerProps>`\n display: flex;\n align-items: center;\n gap: ${base.spacing[2]};\n padding: ${base.spacing[2]} ${base.spacing[3]};\n background-color: ${component.input.default.backgroundColor};\n border: ${component.input.default.borderWidth} solid ${component.input.default.borderColor};\n border-radius: ${component.input.default.borderRadius};\n transition: border-color 200ms ease-in-out, outline 200ms ease-in-out;\n \n ${props => props.$isFocused && `\n border-color: ${component.input.focus.borderColor};\n outline: ${component.input.focus.outline};\n outline-offset: ${component.input.focus.outlineOffset};\n `}\n \n ${props => props.$disabled && `\n background-color: ${component.input.disabled.backgroundColor};\n border-color: ${component.input.disabled.borderColor};\n cursor: not-allowed;\n `}\n \n &:hover:not([data-disabled='true']) {\n border-color: ${component.input.hover.borderColor};\n }\n`\n\nconst StyledInput = styled.input`\n flex: 1;\n border: none;\n background: transparent;\n font: ${semantic.typography.body};\n color: ${semantic.color.text.default};\n outline: none;\n \n &::placeholder {\n color: ${semantic.color.text.subdued};\n }\n \n &:disabled {\n color: ${semantic.color.text.disabled};\n cursor: not-allowed;\n }\n`\n\nconst StyledSuggestionsList = styled.ul`\n position: absolute;\n top: calc(100% + ${base.spacing[1]});\n left: 0;\n right: 0;\n max-height: 300px;\n overflow-y: auto;\n background-color: ${semantic.color.background.subtle};\n border: ${base.border.width[1]} solid ${semantic.color.border.default};\n border-radius: ${base.border.radius[3]};\n box-shadow: ${base.shadow[3]};\n list-style: none;\n padding: ${base.spacing[1]} 0;\n margin: 0;\n z-index: 1000;\n`\n\nconst StyledSectionHeader = styled.div`\n padding: ${base.spacing[2]} ${base.spacing[3]};\n font: ${semantic.typography.caption};\n color: ${semantic.color.text.subdued};\n text-transform: uppercase;\n letter-spacing: ${base.letterSpacing[4]};\n`\n\nconst debounce = <T extends (...args: any[]) => any>(\n func: T,\n wait: number\n): ((...args: Parameters<T>) => void) => {\n let timeout: NodeJS.Timeout | null = null\n \n return (...args: Parameters<T>) => {\n if (timeout) clearTimeout(timeout)\n timeout = setTimeout(() => func(...args), wait)\n }\n}\n\n/**\n * SearchField component with autocomplete and recent searches\n * \n * Provides intelligent search with debouncing, keyboard navigation,\n * suggestions, and recent search history. Fully accessible with ARIA.\n * \n * @example\n * ```tsx\n * const [search, setSearch] = useState('')\n * const [suggestions] = useState([\n * { id: '1', label: 'Apple', category: 'Fruit' },\n * { id: '2', label: 'Banana', category: 'Fruit' }\n * ])\n * \n * <SearchField\n * value={search}\n * onChange={setSearch}\n * suggestions={suggestions}\n * recentSearches={['coffee', 'tea']}\n * onSuggestionSelect={(item) => console.log('Selected:', item)}\n * />\n * ```\n */\nexport const SearchField = forwardRef<HTMLInputElement, SearchFieldProps>(\n (\n {\n value,\n onChange,\n suggestions = [],\n showRecentSearches = true,\n recentSearches = [],\n onSuggestionSelect,\n onClearRecentSearches,\n debounceMs = 300,\n placeholder = 'Search...',\n disabled = false,\n loading = false,\n 'aria-label': ariaLabel = 'Search',\n 'data-testid': dataTestId,\n ...inputProps\n },\n ref\n ) => {\n const [isFocused, setIsFocused] = useState(false)\n const [showSuggestions, setShowSuggestions] = useState(false)\n const [highlightedIndex, setHighlightedIndex] = useState(-1)\n const [debouncedValue, setDebouncedValue] = useState(value)\n const inputRef = useRef<HTMLInputElement>(null)\n const listRef = useRef<HTMLUListElement>(null)\n \n // Combine refs\n useEffect(() => {\n if (ref) {\n if (typeof ref === 'function') {\n ref(inputRef.current)\n } else {\n ref.current = inputRef.current\n }\n }\n }, [ref])\n \n // Debounced search\n const debouncedOnChange = useMemo(\n () =>\n debounce((newValue: string) => {\n setDebouncedValue(newValue)\n }, debounceMs),\n [debounceMs]\n )\n \n useEffect(() => {\n debouncedOnChange(value)\n }, [value, debouncedOnChange])\n \n // Combined list of suggestions and recent searches\n const displayItems = useMemo(() => {\n const items: Array<{ type: 'suggestion' | 'recent' | 'clear'; data: Suggestion | string }> = []\n \n if (value.trim()) {\n // Show matching suggestions\n suggestions.forEach(s => items.push({ type: 'suggestion', data: s }))\n } else if (showRecentSearches && recentSearches.length > 0) {\n // Show recent searches when empty\n recentSearches.forEach(r => items.push({ type: 'recent', data: r }))\n if (onClearRecentSearches) {\n items.push({ type: 'clear', data: 'clear' })\n }\n }\n \n return items\n }, [value, suggestions, recentSearches, showRecentSearches, onClearRecentSearches])\n \n const handleInputChange = (e: ChangeEvent<HTMLInputElement>) => {\n const newValue = e.target.value\n onChange(newValue)\n setShowSuggestions(true)\n setHighlightedIndex(-1)\n }\n \n const handleFocus = (e: FocusEvent<HTMLInputElement>) => {\n setIsFocused(true)\n setShowSuggestions(true)\n inputProps.onFocus?.(e)\n }\n \n const handleBlur = (e: FocusEvent<HTMLInputElement>) => {\n // Delay to allow click events on suggestions\n setTimeout(() => {\n setIsFocused(false)\n setShowSuggestions(false)\n setHighlightedIndex(-1)\n }, 200)\n inputProps.onBlur?.(e)\n }\n \n const handleSuggestionClick = (item: typeof displayItems[0]) => {\n if (item.type === 'clear') {\n onClearRecentSearches?.()\n return\n }\n \n const suggestion = item.data\n if (typeof suggestion === 'string') {\n onChange(suggestion)\n onSuggestionSelect?.(suggestion)\n } else {\n onChange(suggestion.label)\n onSuggestionSelect?.(suggestion)\n }\n setShowSuggestions(false)\n inputRef.current?.focus()\n }\n \n const handleClear = () => {\n onChange('')\n setShowSuggestions(false)\n inputRef.current?.focus()\n }\n \n const handleKeyDown = (e: KeyboardEvent<HTMLInputElement>) => {\n if (!showSuggestions || displayItems.length === 0) return\n \n switch (e.key) {\n case 'ArrowDown':\n e.preventDefault()\n setHighlightedIndex(prev =>\n prev < displayItems.length - 1 ? prev + 1 : prev\n )\n break\n \n case 'ArrowUp':\n e.preventDefault()\n setHighlightedIndex(prev => (prev > 0 ? prev - 1 : -1))\n break\n \n case 'Enter':\n e.preventDefault()\n if (highlightedIndex >= 0 && highlightedIndex < displayItems.length) {\n handleSuggestionClick(displayItems[highlightedIndex])\n }\n break\n \n case 'Escape':\n e.preventDefault()\n setShowSuggestions(false)\n setHighlightedIndex(-1)\n break\n }\n \n inputProps.onKeyDown?.(e)\n }\n \n // Scroll highlighted item into view\n useEffect(() => {\n if (highlightedIndex >= 0 && listRef.current) {\n const items = listRef.current.querySelectorAll('li')\n items[highlightedIndex]?.scrollIntoView({ block: 'nearest' })\n }\n }, [highlightedIndex])\n \n const showClearButton = value.length > 0 && !disabled\n const hasItems = displayItems.length > 0\n \n return (\n <StyledSearchContainer\n $isFocused={isFocused}\n $disabled={disabled}\n data-testid={dataTestId}\n >\n <StyledInputWrapper \n $isFocused={isFocused} \n $disabled={disabled}\n data-disabled={disabled}\n >\n <Icon\n name=\"search\"\n size=\"sm\"\n iconColor=\"subdued\"\n aria-hidden=\"true\"\n />\n \n <StyledInput\n ref={inputRef}\n type=\"text\"\n value={value}\n onChange={handleInputChange}\n onFocus={handleFocus}\n onBlur={handleBlur}\n onKeyDown={handleKeyDown}\n placeholder={placeholder}\n disabled={disabled}\n aria-label={ariaLabel}\n aria-autocomplete=\"list\"\n aria-controls={showSuggestions && hasItems ? 'search-suggestions' : undefined}\n aria-expanded={showSuggestions && hasItems}\n aria-activedescendant={\n highlightedIndex >= 0 ? `suggestion-${highlightedIndex}` : undefined\n }\n role=\"combobox\"\n {...inputProps}\n />\n \n {loading && (\n <Icon\n name=\"refresh\"\n size=\"sm\"\n iconColor=\"subdued\"\n aria-label=\"Loading\"\n />\n )}\n \n {showClearButton && (\n <IconButton\n iconName=\"close\"\n size=\"small\"\n variant=\"naked\"\n onClick={handleClear}\n aria-label=\"Clear search\"\n tabIndex={-1}\n />\n )}\n </StyledInputWrapper>\n \n {showSuggestions && hasItems && (\n <StyledSuggestionsList\n ref={listRef}\n id=\"search-suggestions\"\n role=\"listbox\"\n >\n {!value.trim() && showRecentSearches && recentSearches.length > 0 && (\n <StyledSectionHeader>Recent Searches</StyledSectionHeader>\n )}\n \n {displayItems.map((item, index) => {\n if (item.type === 'clear') {\n return (\n <ListItem\n key=\"clear\"\n role=\"option\"\n primary=\"Clear recent searches\"\n interactive\n spacing=\"compact\"\n onClick={() => handleSuggestionClick(item)}\n onKeyDown={(e) => {\n if (e.key === 'Enter' || e.key === ' ') {\n e.preventDefault()\n handleSuggestionClick(item)\n }\n }}\n />\n )\n }\n \n const suggestion = item.data\n const isString = typeof suggestion === 'string'\n const label = isString ? suggestion : suggestion.label\n const description = !isString ? suggestion.description : undefined\n \n return (\n <ListItem\n key={isString ? suggestion : suggestion.id}\n id={`suggestion-${index}`}\n role=\"option\"\n aria-selected={index === highlightedIndex}\n primary={label}\n secondary={description}\n icon={item.type === 'recent' ? <Icon name=\"refresh\" size=\"xs\" aria-hidden=\"true\" /> : undefined}\n interactive\n selected={index === highlightedIndex}\n spacing=\"compact\"\n onClick={() => handleSuggestionClick(item)}\n />\n )\n })}\n </StyledSuggestionsList>\n )}\n </StyledSearchContainer>\n )\n }\n)\n\nSearchField.displayName = 'SearchField'\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, useState, useRef, useEffect, KeyboardEvent, MouseEvent } from 'react'\nimport styled from 'styled-components'\nimport tokens from '@/styles/tokens.json'\n\nconst { semantic, base } = tokens\n\n/**\n * Tab variant options for TabBar\n */\nexport type TabVariant = 'default' | 'pills' | 'underline'\n\n/**\n * Individual tab configuration\n */\nexport interface Tab {\n /**\n * Unique identifier for the tab\n */\n id: string\n \n /**\n * Tab label text\n */\n label: string\n \n /**\n * Optional badge count to display\n */\n badge?: number\n \n /**\n * Whether this tab is disabled\n * @default false\n */\n disabled?: boolean\n}\n\n/**\n * Props for the TabBar component\n */\nexport interface TabBarProps {\n /**\n * Array of tab configurations\n */\n tabs: Tab[]\n \n /**\n * Currently active tab ID\n */\n activeTab: string\n \n /**\n * Callback when tab changes\n */\n onTabChange: (tabId: string) => void\n \n /**\n * Visual variant of the tabs\n * @default 'default'\n */\n variant?: TabVariant\n \n /**\n * Accessible label for the tab list\n */\n 'aria-label'?: string\n \n /**\n * Test identifier for automated testing\n */\n 'data-testid'?: string\n}\n\ninterface StyledTabListProps {\n $variant: TabVariant\n}\n\ninterface StyledTabProps {\n $variant: TabVariant\n $isActive: boolean\n $disabled: boolean\n}\n\nconst StyledTabList = styled.div.withConfig({\n shouldForwardProp: (prop) => !prop.startsWith('$')\n})<StyledTabListProps>`\n display: flex;\n align-items: center;\n gap: ${props => props.$variant === 'pills' ? base.spacing[2] : '0'};\n border-bottom: ${props => \n props.$variant === 'underline' \n ? `${base.border.width[1]} solid ${semantic.color.border.subtle}` \n : 'none'\n };\n overflow-x: auto;\n overflow-y: hidden;\n -webkit-overflow-scrolling: touch;\n scrollbar-width: thin;\n \n &::-webkit-scrollbar {\n height: 4px;\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[2]};\n }\n`\n\nconst StyledTab = styled.button.withConfig({\n shouldForwardProp: (prop) => !prop.startsWith('$')\n})<StyledTabProps>`\n display: inline-flex;\n align-items: center;\n gap: ${base.spacing[2]};\n padding: ${base.spacing[3]} ${base.spacing[4]};\n font: ${semantic.typography.button2};\n white-space: nowrap;\n cursor: ${props => props.$disabled ? 'not-allowed' : 'pointer'};\n border: none;\n background: transparent;\n transition: ${semantic.motion.hover};\n position: relative;\n \n /* Variant-specific styles */\n ${props => {\n if (props.$variant === 'pills') {\n return `\n border-radius: ${base.border.radius.circle};\n background-color: ${props.$isActive \n ? semantic.color.background.interactive \n : semantic.color.background.subtle\n };\n color: ${props.$isActive \n ? semantic.color.text.inverse \n : semantic.color.text.default\n };\n \n &:hover:not(:disabled) {\n background-color: ${props.$isActive \n ? semantic.color.background['interactive-hover']\n : semantic.color.background.surface\n };\n }\n `\n }\n \n if (props.$variant === 'underline') {\n return `\n color: ${props.$isActive \n ? semantic.color.text.interactive \n : semantic.color.text.subdued\n };\n \n &::after {\n content: '';\n position: absolute;\n bottom: -1px;\n left: 0;\n right: 0;\n height: ${base.border.width[2]};\n background-color: ${props.$isActive \n ? semantic.color.background.interactive \n : 'transparent'\n };\n transition: ${semantic.motion.hover};\n }\n \n &:hover:not(:disabled) {\n color: ${semantic.color.text.interactive};\n }\n `\n }\n \n // default variant\n return `\n border-radius: ${base.border.radius[2]} ${base.border.radius[2]} 0 0;\n background-color: ${props.$isActive \n ? semantic.color.background.subtle \n : semantic.color.background.default\n };\n color: ${props.$isActive \n ? semantic.color.text.default \n : semantic.color.text.subdued\n };\n border: ${base.border.width[1]} solid ${semantic.color.border.default};\n border-bottom: ${props.$isActive ? 'none' : `${base.border.width[1]} solid ${semantic.color.border.default}`};\n margin-bottom: ${props.$isActive ? '-1px' : '0'};\n \n &:hover:not(:disabled) {\n background-color: ${semantic.color.background.surface};\n color: ${semantic.color.text.default};\n }\n `\n }}\n \n /* Disabled state */\n opacity: ${props => props.$disabled ? '0.5' : '1'};\n \n /* Focus state */\n &:focus-visible {\n outline: ${base.border.width[2]} solid ${semantic.color.border.strong};\n outline-offset: ${base.spacing[1]};\n z-index: 1;\n }\n \n /* Active/pressed state */\n &:active:not(:disabled) {\n transform: translateY(1px);\n }\n`\n\nconst StyledBadge = styled.span.withConfig({\n shouldForwardProp: (prop) => !prop.startsWith('$')\n})<{ $variant: TabVariant; $isActive: boolean }>`\n display: inline-flex;\n align-items: center;\n justify-content: center;\n min-width: 20px;\n height: 20px;\n padding: 0 ${base.spacing[1]};\n font: ${semantic.typography.caption};\n font-weight: ${base.fontWeight[5]};\n border-radius: ${base.border.radius.circle};\n background-color: ${props => {\n if (props.$variant === 'pills') {\n return props.$isActive \n ? 'rgba(255, 255, 255, 0.2)'\n : semantic.color.background.interactive\n }\n return semantic.color.background.interactive\n }};\n color: ${props => props.$variant === 'pills' && props.$isActive \n ? semantic.color.text.inverse\n : semantic.color.text.inverse\n };\n`\n\n/**\n * TabBar component for tabbed navigation\n * \n * Provides accessible tab navigation with 3 visual variants, keyboard support,\n * and optional badge counts. Follows ARIA tablist pattern.\n * \n * @example\n * ```tsx\n * const [activeTab, setActiveTab] = useState('all')\n * \n * <TabBar\n * tabs={[\n * { id: 'all', label: 'All', badge: 42 },\n * { id: 'pending', label: 'Pending', badge: 5 },\n * { id: 'completed', label: 'Completed' }\n * ]}\n * activeTab={activeTab}\n * onTabChange={setActiveTab}\n * variant=\"pills\"\n * />\n * ```\n */\nexport const TabBar: React.FC<TabBarProps> = ({\n tabs,\n activeTab,\n onTabChange,\n variant = 'default',\n 'aria-label': ariaLabel = 'Tab navigation',\n 'data-testid': dataTestId\n}) => {\n const tabRefs = useRef<(HTMLButtonElement | null)[]>([])\n const [focusedIndex, setFocusedIndex] = useState<number>(() => \n tabs.findIndex(tab => tab.id === activeTab)\n )\n \n // Update focused index when active tab changes externally\n useEffect(() => {\n const newIndex = tabs.findIndex(tab => tab.id === activeTab)\n if (newIndex !== -1) {\n setFocusedIndex(newIndex)\n }\n }, [activeTab, tabs])\n \n const handleTabClick = (tab: Tab, index: number) => {\n if (!tab.disabled) {\n onTabChange(tab.id)\n setFocusedIndex(index)\n }\n }\n \n const handleKeyDown = (event: KeyboardEvent<HTMLButtonElement>, index: number) => {\n let newIndex = index\n \n switch (event.key) {\n case 'ArrowLeft':\n event.preventDefault()\n // Find previous non-disabled tab\n newIndex = index - 1\n while (newIndex >= 0 && tabs[newIndex].disabled) {\n newIndex--\n }\n if (newIndex < 0) {\n // Wrap to last non-disabled tab\n newIndex = tabs.length - 1\n while (newIndex > index && tabs[newIndex].disabled) {\n newIndex--\n }\n }\n break\n \n case 'ArrowRight':\n event.preventDefault()\n // Find next non-disabled tab\n newIndex = index + 1\n while (newIndex < tabs.length && tabs[newIndex].disabled) {\n newIndex++\n }\n if (newIndex >= tabs.length) {\n // Wrap to first non-disabled tab\n newIndex = 0\n while (newIndex < index && tabs[newIndex].disabled) {\n newIndex++\n }\n }\n break\n \n case 'Home':\n event.preventDefault()\n // Focus first non-disabled tab\n newIndex = 0\n while (newIndex < tabs.length && tabs[newIndex].disabled) {\n newIndex++\n }\n break\n \n case 'End':\n event.preventDefault()\n // Focus last non-disabled tab\n newIndex = tabs.length - 1\n while (newIndex >= 0 && tabs[newIndex].disabled) {\n newIndex--\n }\n break\n \n default:\n return\n }\n \n if (newIndex !== index && newIndex >= 0 && newIndex < tabs.length) {\n setFocusedIndex(newIndex)\n tabRefs.current[newIndex]?.focus()\n }\n }\n \n return (\n <StyledTabList\n $variant={variant}\n role=\"tablist\"\n aria-label={ariaLabel}\n data-testid={dataTestId}\n >\n {tabs.map((tab, index) => (\n <StyledTab\n key={tab.id}\n ref={el => { tabRefs.current[index] = el }}\n $variant={variant}\n $isActive={tab.id === activeTab}\n $disabled={tab.disabled || false}\n role=\"tab\"\n aria-selected={tab.id === activeTab}\n aria-disabled={tab.disabled || false}\n tabIndex={index === focusedIndex ? 0 : -1}\n disabled={tab.disabled}\n onClick={() => handleTabClick(tab, index)}\n onKeyDown={(e) => handleKeyDown(e, index)}\n data-testid={`${dataTestId}-tab-${tab.id}`}\n >\n {tab.label}\n {typeof tab.badge === 'number' && tab.badge > 0 && (\n <StyledBadge \n $variant={variant}\n $isActive={tab.id === activeTab}\n aria-label={`${tab.badge} items`}\n >\n {tab.badge > 99 ? '99+' : tab.badge}\n </StyledBadge>\n )}\n </StyledTab>\n ))}\n </StyledTabList>\n )\n}\n\nTabBar.displayName = 'TabBar'\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 { CategoryBadge, CategoryColor } from '../../atoms/CategoryBadge'\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.subtle};\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: none;\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.sm};\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 CategoryBadge configurations\nconst categoryConfig: Record<TransactionCategory, { color: CategoryColor; icon: IconName; label: string }> = {\n shopping: { color: 'purple', icon: 'paper', label: 'Shopping' },\n dining: { color: 'orange', icon: 'paper', label: 'Dining' },\n transport: { color: 'blue', icon: 'paper', label: 'Transport' },\n entertainment: { color: 'pink', icon: 'star', label: 'Entertainment' },\n bills: { color: 'red', icon: 'paper', label: 'Bills' },\n other: { color: 'gray', icon: 'paper', label: 'Other' }\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 configuration\n const categoryData = category ? categoryConfig[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 <StyledTruncatedText>\n <Typography variant=\"body\">\n {merchant}\n </Typography>\n </StyledTruncatedText>\n {categoryData && (\n <CategoryBadge\n color={categoryData.color}\n icon={categoryData.icon}\n size=\"small\"\n variant=\"minimal\"\n aria-label={`Category: ${categoryData.label}`}\n >\n {categoryData.label}\n </CategoryBadge>\n )}\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=\"small\" \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","_jsx","__assign","role","concat","children","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","as","defaultElement","elementType","shadow","scaleIn","keyframes","BadgeWrapper","BadgeIndicator","$isVisible","$isDot","ScreenReaderOnly","templateObject_4","Badge","count","max","dot","ariaLabel","className","isVisible","displayCount","toString","defaultAriaLabel","_jsxs","StyledBox","templateObject_49","$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","$mx","$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","$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","$shadow","templateObject_40","$cursor","templateObject_41","$transition","templateObject_42","$hoverShadow","$hoverTransform","templateObject_45","templateObject_44","$overflow","templateObject_46","$overflowX","templateObject_47","$overflowY","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","cursor","transition","hoverShadow","hoverTransform","overflow","overflowX","overflowY","onClick","onKeyDown","tabIndex","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","Button","url","purpose","target","LinkComponent","linkComponent","href","linkProps","buttonProps_1","handleClick","e","window","open","location","buttonProps","getColorStyles","colorKey","category","borderColor","StyledCategoryBadge","$clickable","$disabled","strong","CategoryBadge","hasClickHandler","Boolean","isClickable","colorStyles","sizeStyles","cssProps","handleKeyDown","event","key","preventDefault","undefined","style","chip","getVariantStylesAsObject","selected","subtle","getSizeStylesAsObject","BaseChipStyled","chipTokens","IconContainer","CloseButton","fast","StyledChipWrapper","$selected","variantStyles","Chip","ariaDescribedBy","title","normalizedVariant","content","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","minimal","margin","Divider","orientation","StyledStack","getGapValue","semanticSpacing","Stack","direction","wrap","gapValue","getStatusConfig","status","configs","pending","bgColor","completed","failed","cancelled","processing","scheduled","StyledStatusBadge","StatusBadge","showIcon","liveRegion","statusConfig","displayLabel","StyledTag","Tag","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","slideUp","fadeIn","StyledOverlay","StyledActionSheet","StyledHeaderContent","StyledCloseButton","StyledActionsList","StyledActionButton","$destructive","ActionSheet","isOpen","onClose","description","actions","closeOnOverlayClick","closeOnEscape","showCloseButton","sheetRef","useRef","previousActiveElement","useEffect","current","document","activeElement","focusableElements","querySelectorAll","firstElement","lastElement","length","shiftKey","addEventListener","requestAnimationFrame","firstButton","querySelector","originalOverflow","removeEventListener","handleOverlayClick","currentTarget","handleActionClick","onSelect","destructiveIndex","findIndex","destructive","hasDestructive","createPortal","_Fragment","ref","id","index","variantIcons","info","variantIconColors","variantTitleColors","StyledAlert","$inline","StyledIconContainer","StyledContent","StyledTitle","StyledMessage","StyledDismissButton","Alert","dismissible","inline","ariaLive","React","setIsVisible","alertIconColor","alertTitleColor","BreadcrumbNavStyled","nav","BreadcrumbStyled","li","_k","_j","_m","_l","isInternalUrl","Breadcrumbs","breadcrumbs","breadcrumb","rel","CardSmallStyled","CardSmall","meta","CardLargeStyled","CardLarge","excerpt","labels","onImageClick","imageHref","Array","isArray","HiddenCheckboxInput","input","StyledCheckbox","borderWidth","$checked","$indeterminate","$state","StyledCheckboxContainer","$labelPosition","StyledCheckboxLabel","StyledFieldContainer","StyledHelperText","$error","Checkbox","forwardRef","checked","indeterminate","labelPosition","helperText","onChange","providedId","ariaDescribedby","generatedId","useId","helperTextId","errorId","state","describedBy","filter","inputRef","useImperativeHandle","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","renderIllustration","marginTop","FeatureBlockStyled","ImageWrapper","ContentSection","ButtonWrapper","ContentWrapper","FeatureBlock","coverImage","onReadMore","readMoreHref","readMoreText","zIndex","DropdownContainer","DropdownTrigger","paddingY","paddingX","$hasError","$isOpen","DropdownIcon","DropdownMenu","DropdownOption","$isSelected","$isFocused","Dropdown","options","placeholder","setIsOpen","focusedIndex","setFocusedIndex","dropdownRef","dropdownId","random","substr","selectedOption","option","hasError","helperId","handleClickOutside","contains","trigger","prev","newIndex","handleOptionClick","handleTriggerClick","selectedIndex","optionId","htmlFor","marginBottom","StyledList","ul","$dividers","List","dividers","StyledListItem","$interactive","opacity","StyledItemContent","$spacing","StyledTextContent","StyledRightContent","StyledChevronIcon","$expanded","StyledExpandedContent","ListItem","badge","expandable","expanded","onToggle","customRole","ariaSelected","customTabIndex","customOnKeyDown","isInteractive","contentRole","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","handleDecrement","handleChange","inputValue","test","parsedValue","isIncrementDisabled","isDecrementDisabled","ariaDescribedByIds","inputMode","PageTitleStyled","$hasBackButton","PageTitle","hasBackButton","StyledToggleButton","PasswordField","showToggle","inputProps","showPassword","setShowPassword","togglePasswordVisibility","paddingRight","StyledSearchContainer","StyledInput","StyledSuggestionsList","StyledSectionHeader","debounce","func","wait","timeout","args","_i","arguments","apply","SearchField","suggestions","showRecentSearches","recentSearches","onSuggestionSelect","onClearRecentSearches","debounceMs","loading","isFocused","setIsFocused","showSuggestions","setShowSuggestions","highlightedIndex","setHighlightedIndex","_o","debouncedValue","setDebouncedValue","listRef","debouncedOnChange","useMemo","displayItems","items","forEach","s","push","data","r","handleInputChange","handleFocus","onFocus","call","handleBlur","onBlur","handleSuggestionClick","item","suggestion","handleClear","scrollIntoView","block","showClearButton","hasItems","isString","slideInRight","slideInLeft","slideInTop","slideInBottom","StyledSheet","templateObject_12","isDrawer","StyledSheetContent","Sheet","previousFocusRef","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","StyledTabList","StyledTab","$isActive","StyledBadge","TabBar","tabs","activeTab","onTabChange","tabRefs","tab","handleTabClick","el","TextField","StyledAvatarSection","StyledMainContent","StyledTopRow","StyledMerchantSection","StyledBottomRow","StyledMetadata","StyledIconIndicator","StyledTruncatedText","categoryConfig","shopping","dining","transport","entertainment","bills","other","statusToBadgeVariant","TransactionListItem","merchant","merchantLogo","hasReceipt","hasNote","amountVariant","categoryData","badgeVariant","GridContainer","$cols","$gapX","$gapY","Grid","cols","gapX","gapY","GridColContainer","$span","$order","$spanSm","$spanMd","$spanLg","$spanXl","$orderSm","templateObject_11","$orderMd","$orderLg","$orderXl","GridCol","spanSm","spanMd","spanLg","spanXl","order","orderSm","orderMd","orderLg","orderXl","ResponsiveGridContainer","$colsSm","$colsMd","$colsLg","$colsXl","$gapSm","$gapMd","$gapLg","$gapXl","$gapXSm","templateObject_27","$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
+ {"version":3,"file":"index.esm.js","sources":["../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/CategoryBadge/CategoryBadge.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/StatusBadge/StatusBadge.tsx","../src/components/atoms/Tag/Tag.tsx","../src/components/molecules/AccountCard/AccountCard.tsx","../src/components/molecules/ActionSheet/ActionSheet.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/SearchField/SearchField.tsx","../src/components/molecules/Sheet/Sheet.tsx","../src/components/molecules/Slider/Slider.tsx","../src/components/molecules/TabBar/TabBar.tsx","../src/components/molecules/TextField/TextField.tsx","../src/components/molecules/TransactionListItem/TransactionListItem.tsx","../src/components/layout/GridSystem/GridSystem.tsx","../src/index.ts"],"sourcesContent":["/******************************************************************************\r\nCopyright (c) Microsoft Corporation.\r\n\r\nPermission to use, copy, modify, and/or distribute this software for any\r\npurpose with or without fee is hereby granted.\r\n\r\nTHE SOFTWARE IS PROVIDED \"AS IS\" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH\r\nREGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY\r\nAND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT,\r\nINDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM\r\nLOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR\r\nOTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR\r\nPERFORMANCE OF THIS SOFTWARE.\r\n***************************************************************************** */\r\n/* global Reflect, Promise, SuppressedError, Symbol, Iterator */\r\n\r\nvar extendStatics = function(d, b) {\r\n extendStatics = Object.setPrototypeOf ||\r\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\r\n function (d, b) { for (var p in b) if (Object.prototype.hasOwnProperty.call(b, p)) d[p] = b[p]; };\r\n return extendStatics(d, b);\r\n};\r\n\r\nexport function __extends(d, b) {\r\n if (typeof b !== \"function\" && b !== null)\r\n throw new TypeError(\"Class extends value \" + String(b) + \" is not a constructor or null\");\r\n extendStatics(d, b);\r\n function __() { this.constructor = d; }\r\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\r\n}\r\n\r\nexport var __assign = function() {\r\n __assign = Object.assign || function __assign(t) {\r\n for (var s, i = 1, n = arguments.length; i < n; i++) {\r\n s = arguments[i];\r\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p)) t[p] = s[p];\r\n }\r\n return t;\r\n }\r\n return __assign.apply(this, arguments);\r\n}\r\n\r\nexport function __rest(s, e) {\r\n var t = {};\r\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0)\r\n t[p] = s[p];\r\n if (s != null && typeof Object.getOwnPropertySymbols === \"function\")\r\n for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {\r\n if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i]))\r\n t[p[i]] = s[p[i]];\r\n }\r\n return t;\r\n}\r\n\r\nexport function __decorate(decorators, target, key, desc) {\r\n var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;\r\n if (typeof Reflect === \"object\" && typeof Reflect.decorate === \"function\") r = Reflect.decorate(decorators, target, key, desc);\r\n else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;\r\n return c > 3 && r && Object.defineProperty(target, key, r), r;\r\n}\r\n\r\nexport function __param(paramIndex, decorator) {\r\n return function (target, key) { decorator(target, key, paramIndex); }\r\n}\r\n\r\nexport function __esDecorate(ctor, descriptorIn, decorators, contextIn, initializers, extraInitializers) {\r\n function accept(f) { if (f !== void 0 && typeof f !== \"function\") throw new TypeError(\"Function expected\"); return f; }\r\n var kind = contextIn.kind, key = kind === \"getter\" ? \"get\" : kind === \"setter\" ? \"set\" : \"value\";\r\n var target = !descriptorIn && ctor ? contextIn[\"static\"] ? ctor : ctor.prototype : null;\r\n var descriptor = descriptorIn || (target ? Object.getOwnPropertyDescriptor(target, contextIn.name) : {});\r\n var _, done = false;\r\n for (var i = decorators.length - 1; i >= 0; i--) {\r\n var context = {};\r\n for (var p in contextIn) context[p] = p === \"access\" ? {} : contextIn[p];\r\n for (var p in contextIn.access) context.access[p] = contextIn.access[p];\r\n context.addInitializer = function (f) { if (done) throw new TypeError(\"Cannot add initializers after decoration has completed\"); extraInitializers.push(accept(f || null)); };\r\n var result = (0, decorators[i])(kind === \"accessor\" ? { get: descriptor.get, set: descriptor.set } : descriptor[key], context);\r\n if (kind === \"accessor\") {\r\n if (result === void 0) continue;\r\n if (result === null || typeof result !== \"object\") throw new TypeError(\"Object expected\");\r\n if (_ = accept(result.get)) descriptor.get = _;\r\n if (_ = accept(result.set)) descriptor.set = _;\r\n if (_ = accept(result.init)) initializers.unshift(_);\r\n }\r\n else if (_ = accept(result)) {\r\n if (kind === \"field\") initializers.unshift(_);\r\n else descriptor[key] = _;\r\n }\r\n }\r\n if (target) Object.defineProperty(target, contextIn.name, descriptor);\r\n done = true;\r\n};\r\n\r\nexport function __runInitializers(thisArg, initializers, value) {\r\n var useValue = arguments.length > 2;\r\n for (var i = 0; i < initializers.length; i++) {\r\n value = useValue ? initializers[i].call(thisArg, value) : initializers[i].call(thisArg);\r\n }\r\n return useValue ? value : void 0;\r\n};\r\n\r\nexport function __propKey(x) {\r\n return typeof x === \"symbol\" ? x : \"\".concat(x);\r\n};\r\n\r\nexport function __setFunctionName(f, name, prefix) {\r\n if (typeof name === \"symbol\") name = name.description ? \"[\".concat(name.description, \"]\") : \"\";\r\n return Object.defineProperty(f, \"name\", { configurable: true, value: prefix ? \"\".concat(prefix, \" \", name) : name });\r\n};\r\n\r\nexport function __metadata(metadataKey, metadataValue) {\r\n if (typeof Reflect === \"object\" && typeof Reflect.metadata === \"function\") return Reflect.metadata(metadataKey, metadataValue);\r\n}\r\n\r\nexport function __awaiter(thisArg, _arguments, P, generator) {\r\n function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }\r\n return new (P || (P = Promise))(function (resolve, reject) {\r\n function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }\r\n function rejected(value) { try { step(generator[\"throw\"](value)); } catch (e) { reject(e); } }\r\n function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }\r\n step((generator = generator.apply(thisArg, _arguments || [])).next());\r\n });\r\n}\r\n\r\nexport function __generator(thisArg, body) {\r\n var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g = Object.create((typeof Iterator === \"function\" ? Iterator : Object).prototype);\r\n return g.next = verb(0), g[\"throw\"] = verb(1), g[\"return\"] = verb(2), typeof Symbol === \"function\" && (g[Symbol.iterator] = function() { return this; }), g;\r\n function verb(n) { return function (v) { return step([n, v]); }; }\r\n function step(op) {\r\n if (f) throw new TypeError(\"Generator is already executing.\");\r\n while (g && (g = 0, op[0] && (_ = 0)), _) try {\r\n if (f = 1, y && (t = op[0] & 2 ? y[\"return\"] : op[0] ? y[\"throw\"] || ((t = y[\"return\"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;\r\n if (y = 0, t) op = [op[0] & 2, t.value];\r\n switch (op[0]) {\r\n case 0: case 1: t = op; break;\r\n case 4: _.label++; return { value: op[1], done: false };\r\n case 5: _.label++; y = op[1]; op = [0]; continue;\r\n case 7: op = _.ops.pop(); _.trys.pop(); continue;\r\n default:\r\n if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }\r\n if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }\r\n if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }\r\n if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }\r\n if (t[2]) _.ops.pop();\r\n _.trys.pop(); continue;\r\n }\r\n op = body.call(thisArg, _);\r\n } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }\r\n if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };\r\n }\r\n}\r\n\r\nexport var __createBinding = Object.create ? (function(o, m, k, k2) {\r\n if (k2 === undefined) k2 = k;\r\n var desc = Object.getOwnPropertyDescriptor(m, k);\r\n if (!desc || (\"get\" in desc ? !m.__esModule : desc.writable || desc.configurable)) {\r\n desc = { enumerable: true, get: function() { return m[k]; } };\r\n }\r\n Object.defineProperty(o, k2, desc);\r\n}) : (function(o, m, k, k2) {\r\n if (k2 === undefined) k2 = k;\r\n o[k2] = m[k];\r\n});\r\n\r\nexport function __exportStar(m, o) {\r\n for (var p in m) if (p !== \"default\" && !Object.prototype.hasOwnProperty.call(o, p)) __createBinding(o, m, p);\r\n}\r\n\r\nexport function __values(o) {\r\n var s = typeof Symbol === \"function\" && Symbol.iterator, m = s && o[s], i = 0;\r\n if (m) return m.call(o);\r\n if (o && typeof o.length === \"number\") return {\r\n next: function () {\r\n if (o && i >= o.length) o = void 0;\r\n return { value: o && o[i++], done: !o };\r\n }\r\n };\r\n throw new TypeError(s ? \"Object is not iterable.\" : \"Symbol.iterator is not defined.\");\r\n}\r\n\r\nexport function __read(o, n) {\r\n var m = typeof Symbol === \"function\" && o[Symbol.iterator];\r\n if (!m) return o;\r\n var i = m.call(o), r, ar = [], e;\r\n try {\r\n while ((n === void 0 || n-- > 0) && !(r = i.next()).done) ar.push(r.value);\r\n }\r\n catch (error) { e = { error: error }; }\r\n finally {\r\n try {\r\n if (r && !r.done && (m = i[\"return\"])) m.call(i);\r\n }\r\n finally { if (e) throw e.error; }\r\n }\r\n return ar;\r\n}\r\n\r\n/** @deprecated */\r\nexport function __spread() {\r\n for (var ar = [], i = 0; i < arguments.length; i++)\r\n ar = ar.concat(__read(arguments[i]));\r\n return ar;\r\n}\r\n\r\n/** @deprecated */\r\nexport function __spreadArrays() {\r\n for (var s = 0, i = 0, il = arguments.length; i < il; i++) s += arguments[i].length;\r\n for (var r = Array(s), k = 0, i = 0; i < il; i++)\r\n for (var a = arguments[i], j = 0, jl = a.length; j < jl; j++, k++)\r\n r[k] = a[j];\r\n return r;\r\n}\r\n\r\nexport function __spreadArray(to, from, pack) {\r\n if (pack || arguments.length === 2) for (var i = 0, l = from.length, ar; i < l; i++) {\r\n if (ar || !(i in from)) {\r\n if (!ar) ar = Array.prototype.slice.call(from, 0, i);\r\n ar[i] = from[i];\r\n }\r\n }\r\n return to.concat(ar || Array.prototype.slice.call(from));\r\n}\r\n\r\nexport function __await(v) {\r\n return this instanceof __await ? (this.v = v, this) : new __await(v);\r\n}\r\n\r\nexport function __asyncGenerator(thisArg, _arguments, generator) {\r\n if (!Symbol.asyncIterator) throw new TypeError(\"Symbol.asyncIterator is not defined.\");\r\n var g = generator.apply(thisArg, _arguments || []), i, q = [];\r\n return i = Object.create((typeof AsyncIterator === \"function\" ? AsyncIterator : Object).prototype), verb(\"next\"), verb(\"throw\"), verb(\"return\", awaitReturn), i[Symbol.asyncIterator] = function () { return this; }, i;\r\n function awaitReturn(f) { return function (v) { return Promise.resolve(v).then(f, reject); }; }\r\n function verb(n, f) { if (g[n]) { i[n] = function (v) { return new Promise(function (a, b) { q.push([n, v, a, b]) > 1 || resume(n, v); }); }; if (f) i[n] = f(i[n]); } }\r\n function resume(n, v) { try { step(g[n](v)); } catch (e) { settle(q[0][3], e); } }\r\n function step(r) { r.value instanceof __await ? Promise.resolve(r.value.v).then(fulfill, reject) : settle(q[0][2], r); }\r\n function fulfill(value) { resume(\"next\", value); }\r\n function reject(value) { resume(\"throw\", value); }\r\n function settle(f, v) { if (f(v), q.shift(), q.length) resume(q[0][0], q[0][1]); }\r\n}\r\n\r\nexport function __asyncDelegator(o) {\r\n var i, p;\r\n return i = {}, verb(\"next\"), verb(\"throw\", function (e) { throw e; }), verb(\"return\"), i[Symbol.iterator] = function () { return this; }, i;\r\n function verb(n, f) { i[n] = o[n] ? function (v) { return (p = !p) ? { value: __await(o[n](v)), done: false } : f ? f(v) : v; } : f; }\r\n}\r\n\r\nexport function __asyncValues(o) {\r\n if (!Symbol.asyncIterator) throw new TypeError(\"Symbol.asyncIterator is not defined.\");\r\n var m = o[Symbol.asyncIterator], i;\r\n return m ? m.call(o) : (o = typeof __values === \"function\" ? __values(o) : o[Symbol.iterator](), i = {}, verb(\"next\"), verb(\"throw\"), verb(\"return\"), i[Symbol.asyncIterator] = function () { return this; }, i);\r\n function verb(n) { i[n] = o[n] && function (v) { return new Promise(function (resolve, reject) { v = o[n](v), settle(resolve, reject, v.done, v.value); }); }; }\r\n function settle(resolve, reject, d, v) { Promise.resolve(v).then(function(v) { resolve({ value: v, done: d }); }, reject); }\r\n}\r\n\r\nexport function __makeTemplateObject(cooked, raw) {\r\n if (Object.defineProperty) { Object.defineProperty(cooked, \"raw\", { value: raw }); } else { cooked.raw = raw; }\r\n return cooked;\r\n};\r\n\r\nvar __setModuleDefault = Object.create ? (function(o, v) {\r\n Object.defineProperty(o, \"default\", { enumerable: true, value: v });\r\n}) : function(o, v) {\r\n o[\"default\"] = v;\r\n};\r\n\r\nvar ownKeys = function(o) {\r\n ownKeys = Object.getOwnPropertyNames || function (o) {\r\n var ar = [];\r\n for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;\r\n return ar;\r\n };\r\n return ownKeys(o);\r\n};\r\n\r\nexport function __importStar(mod) {\r\n if (mod && mod.__esModule) return mod;\r\n var result = {};\r\n if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== \"default\") __createBinding(result, mod, k[i]);\r\n __setModuleDefault(result, mod);\r\n return result;\r\n}\r\n\r\nexport function __importDefault(mod) {\r\n return (mod && mod.__esModule) ? mod : { default: mod };\r\n}\r\n\r\nexport function __classPrivateFieldGet(receiver, state, kind, f) {\r\n if (kind === \"a\" && !f) throw new TypeError(\"Private accessor was defined without a getter\");\r\n if (typeof state === \"function\" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError(\"Cannot read private member from an object whose class did not declare it\");\r\n return kind === \"m\" ? f : kind === \"a\" ? f.call(receiver) : f ? f.value : state.get(receiver);\r\n}\r\n\r\nexport function __classPrivateFieldSet(receiver, state, value, kind, f) {\r\n if (kind === \"m\") throw new TypeError(\"Private method is not writable\");\r\n if (kind === \"a\" && !f) throw new TypeError(\"Private accessor was defined without a setter\");\r\n if (typeof state === \"function\" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError(\"Cannot write private member to an object whose class did not declare it\");\r\n return (kind === \"a\" ? f.call(receiver, value) : f ? f.value = value : state.set(receiver, value)), value;\r\n}\r\n\r\nexport function __classPrivateFieldIn(state, receiver) {\r\n if (receiver === null || (typeof receiver !== \"object\" && typeof receiver !== \"function\")) throw new TypeError(\"Cannot use 'in' operator on non-object\");\r\n return typeof state === \"function\" ? receiver === state : state.has(receiver);\r\n}\r\n\r\nexport function __addDisposableResource(env, value, async) {\r\n if (value !== null && value !== void 0) {\r\n if (typeof value !== \"object\" && typeof value !== \"function\") throw new TypeError(\"Object expected.\");\r\n var dispose, inner;\r\n if (async) {\r\n if (!Symbol.asyncDispose) throw new TypeError(\"Symbol.asyncDispose is not defined.\");\r\n dispose = value[Symbol.asyncDispose];\r\n }\r\n if (dispose === void 0) {\r\n if (!Symbol.dispose) throw new TypeError(\"Symbol.dispose is not defined.\");\r\n dispose = value[Symbol.dispose];\r\n if (async) inner = dispose;\r\n }\r\n if (typeof dispose !== \"function\") throw new TypeError(\"Object not disposable.\");\r\n if (inner) dispose = function() { try { inner.call(this); } catch (e) { return Promise.reject(e); } };\r\n env.stack.push({ value: value, dispose: dispose, async: async });\r\n }\r\n else if (async) {\r\n env.stack.push({ async: true });\r\n }\r\n return value;\r\n\r\n}\r\n\r\nvar _SuppressedError = typeof SuppressedError === \"function\" ? SuppressedError : function (error, suppressed, message) {\r\n var e = new Error(message);\r\n return e.name = \"SuppressedError\", e.error = error, e.suppressed = suppressed, e;\r\n};\r\n\r\nexport function __disposeResources(env) {\r\n function fail(e) {\r\n env.error = env.hasError ? new _SuppressedError(e, env.error, \"An error was suppressed during disposal.\") : e;\r\n env.hasError = true;\r\n }\r\n var r, s = 0;\r\n function next() {\r\n while (r = env.stack.pop()) {\r\n try {\r\n if (!r.async && s === 1) return s = 0, env.stack.push(r), Promise.resolve().then(next);\r\n if (r.dispose) {\r\n var result = r.dispose.call(r.value);\r\n if (r.async) return s |= 2, Promise.resolve(result).then(next, function(e) { fail(e); return next(); });\r\n }\r\n else s |= 1;\r\n }\r\n catch (e) {\r\n fail(e);\r\n }\r\n }\r\n if (s === 1) return env.hasError ? Promise.reject(env.error) : Promise.resolve();\r\n if (env.hasError) throw env.error;\r\n }\r\n return next();\r\n}\r\n\r\nexport function __rewriteRelativeImportExtension(path, preserveJsx) {\r\n if (typeof path === \"string\" && /^\\.\\.?\\//.test(path)) {\r\n return path.replace(/\\.(tsx)$|((?:\\.d)?)((?:\\.[^./]+?)?)\\.([cm]?)ts$/i, function (m, tsx, d, ext, cm) {\r\n return tsx ? preserveJsx ? \".jsx\" : \".js\" : d && (!ext || !cm) ? m : (d + ext + \".\" + cm.toLowerCase() + \"js\");\r\n });\r\n }\r\n return path;\r\n}\r\n\r\nexport default {\r\n __extends: __extends,\r\n __assign: __assign,\r\n __rest: __rest,\r\n __decorate: __decorate,\r\n __param: __param,\r\n __esDecorate: __esDecorate,\r\n __runInitializers: __runInitializers,\r\n __propKey: __propKey,\r\n __setFunctionName: __setFunctionName,\r\n __metadata: __metadata,\r\n __awaiter: __awaiter,\r\n __generator: __generator,\r\n __createBinding: __createBinding,\r\n __exportStar: __exportStar,\r\n __values: __values,\r\n __read: __read,\r\n __spread: __spread,\r\n __spreadArrays: __spreadArrays,\r\n __spreadArray: __spreadArray,\r\n __await: __await,\r\n __asyncGenerator: __asyncGenerator,\r\n __asyncDelegator: __asyncDelegator,\r\n __asyncValues: __asyncValues,\r\n __makeTemplateObject: __makeTemplateObject,\r\n __importStar: __importStar,\r\n __importDefault: __importDefault,\r\n __classPrivateFieldGet: __classPrivateFieldGet,\r\n __classPrivateFieldSet: __classPrivateFieldSet,\r\n __classPrivateFieldIn: __classPrivateFieldIn,\r\n __addDisposableResource: __addDisposableResource,\r\n __disposeResources: __disposeResources,\r\n __rewriteRelativeImportExtension: __rewriteRelativeImportExtension,\r\n};\r\n","import React, { 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 // Shadow\n shadow?: keyof typeof tokens.base.shadow\n \n // Cursor\n cursor?: 'auto' | 'default' | 'pointer' | 'wait' | 'text' | 'move' | 'help' | 'not-allowed'\n \n // Transition\n transition?: string\n \n // Hover states\n hoverShadow?: keyof typeof tokens.base.shadow\n hoverTransform?: string\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 onClick?: (event: React.MouseEvent) => void\n onKeyDown?: (event: React.KeyboardEvent) => void\n tabIndex?: number\n role?: string\n 'aria-label'?: string\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 $shadow?: BoxProps['shadow']\n $cursor?: BoxProps['cursor']\n $transition?: BoxProps['transition']\n $hoverShadow?: BoxProps['hoverShadow']\n $hoverTransform?: BoxProps['hoverTransform']\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 // Shadow\n ${props => props.$shadow && css`box-shadow: ${tokens.base.shadow[props.$shadow]};`}\n \n // Cursor\n ${props => props.$cursor && css`cursor: ${props.$cursor};`}\n \n // Transition\n ${props => props.$transition && css`transition: ${props.$transition};`}\n \n // Hover states\n ${props => (props.$hoverShadow || props.$hoverTransform) && css`\n &:hover {\n ${props.$hoverShadow && css`box-shadow: ${tokens.base.shadow[props.$hoverShadow]};`}\n ${props.$hoverTransform && css`transform: ${props.$hoverTransform};`}\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 // 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 // Shadow\n shadow,\n \n // Cursor\n cursor,\n \n // Transition\n transition,\n \n // Hover states\n hoverShadow,\n hoverTransform,\n \n // Overflow\n overflow,\n overflowX,\n overflowY,\n \n // Standard props\n as,\n children,\n onClick,\n onKeyDown,\n tabIndex,\n role,\n 'aria-label': ariaLabel,\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 $shadow={shadow}\n $cursor={cursor}\n $transition={transition}\n $hoverShadow={hoverShadow}\n $hoverTransform={hoverTransform}\n $overflow={overflow}\n $overflowX={overflowX}\n $overflowY={overflowY}\n onClick={onClick}\n onKeyDown={onKeyDown}\n tabIndex={tabIndex}\n role={role}\n aria-label={ariaLabel}\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 { ReactNode, KeyboardEvent } from 'react'\nimport styled from 'styled-components'\nimport { Icon } from '../Icon/Icon'\nimport type { IconName } from '../../../types/icons'\nimport tokens from '@/styles/tokens.json'\n\nconst { semantic, base } = tokens\n\n/**\n * Category color options for CategoryBadge\n */\nexport type CategoryColor = \n | 'blue' \n | 'purple' \n | 'pink' \n | 'yellow' \n | 'green' \n | 'red' \n | 'orange' \n | 'gray'\n\n/**\n * Visual variant options for CategoryBadge\n */\nexport type CategoryVariant = 'filled' | 'outlined' | 'minimal'\n\n/**\n * Size options for CategoryBadge\n */\nexport type CategorySize = 'small' | 'medium'\n\n/**\n * Props for the CategoryBadge component\n */\nexport interface CategoryBadgeProps {\n /**\n * The category text to display\n */\n children: ReactNode\n \n /**\n * Color scheme for the badge\n * @default 'blue'\n */\n color?: CategoryColor\n \n /**\n * Visual variant of the badge\n * @default 'filled'\n */\n variant?: CategoryVariant\n \n /**\n * Size of the badge\n * @default 'medium'\n */\n size?: CategorySize\n \n /**\n * Optional icon name to display\n */\n icon?: IconName\n \n /**\n * Optional click handler (makes badge interactive)\n */\n onClick?: () => void\n \n /**\n * Whether the badge is disabled\n * @default false\n */\n disabled?: boolean\n \n /**\n * Test identifier for automated testing\n */\n 'data-testid'?: string\n \n /**\n * Accessible label for the badge\n */\n 'aria-label'?: string\n}\n\ninterface StyledBadgeProps {\n $color: CategoryColor\n $variant: CategoryVariant\n $size: CategorySize\n $clickable: boolean\n $disabled: boolean\n}\n\nconst getColorStyles = (color: CategoryColor, variant: CategoryVariant) => {\n const colorKey = color as keyof typeof semantic.color.category\n \n if (variant === 'filled') {\n return {\n backgroundColor: semantic.color.category[`${colorKey}-emphasis` as keyof typeof semantic.color.category],\n color: semantic.color.text.inverse,\n borderColor: 'transparent'\n }\n }\n \n if (variant === 'outlined') {\n return {\n backgroundColor: 'transparent',\n color: semantic.color.category[colorKey],\n borderColor: semantic.color.category[colorKey]\n }\n }\n \n // minimal\n return {\n backgroundColor: semantic.color.category[`${colorKey}-subtle` as keyof typeof semantic.color.category],\n color: semantic.color.category[colorKey],\n borderColor: 'transparent'\n }\n}\n\nconst getSizeStyles = (size: CategorySize) => {\n if (size === 'small') {\n return {\n height: '24px',\n padding: `${base.spacing[1]} ${base.spacing[2]}`,\n font: semantic.typography.caption,\n gap: base.spacing[1],\n iconSize: 'xs' as const\n }\n }\n \n // medium\n return {\n height: '32px',\n padding: `${base.spacing[2]} ${base.spacing[3]}`,\n font: semantic.typography.small,\n gap: base.spacing[1],\n iconSize: 'sm' as const\n }\n}\n\nconst StyledCategoryBadge = styled.span.withConfig({\n shouldForwardProp: (prop) => !prop.startsWith('$')\n})<StyledBadgeProps>`\n display: inline-flex;\n align-items: center;\n justify-content: center;\n border-radius: ${base.border.radius.circle};\n font-weight: ${base.fontWeight[3]};\n white-space: nowrap;\n user-select: none;\n transition: ${semantic.motion.hover};\n border-width: ${base.border.width[1]};\n border-style: solid;\n \n /* Apply CSS custom properties */\n background-color: var(--category-badge-bg);\n color: var(--category-badge-color);\n border-color: var(--category-badge-border);\n height: var(--category-badge-height);\n padding: var(--category-badge-padding);\n font: var(--category-badge-font);\n gap: var(--category-badge-gap);\n opacity: var(--category-badge-opacity);\n cursor: var(--category-badge-cursor);\n \n /* Hover state for clickable badges */\n ${props => props.$clickable && !props.$disabled && `\n &:hover {\n opacity: 0.85;\n transform: translateY(-1px);\n }\n \n &:active {\n transform: translateY(0);\n opacity: 0.95;\n }\n `}\n \n /* Focus state */\n &:focus-visible {\n outline: ${base.border.width[2]} solid ${semantic.color.border.strong};\n outline-offset: ${base.spacing[1]};\n }\n`\n\n/**\n * CategoryBadge component for displaying transaction categories\n * \n * Supports 8 color options, 3 visual variants, optional icons, and interactive behavior.\n * Perfect for categorizing financial transactions or content.\n * \n * @example\n * ```tsx\n * <CategoryBadge color=\"orange\" icon=\"restaurant\">\n * Food & Dining\n * </CategoryBadge>\n * \n * <CategoryBadge \n * color=\"blue\" \n * variant=\"outlined\" \n * size=\"small\"\n * onClick={() => filterByCategory('travel')}\n * >\n * Travel\n * </CategoryBadge>\n * ```\n */\nexport const CategoryBadge: React.FC<CategoryBadgeProps> = ({\n children,\n color = 'blue',\n variant = 'filled',\n size = 'medium',\n icon,\n onClick,\n disabled = false,\n 'data-testid': dataTestId,\n 'aria-label': ariaLabel\n}) => {\n const hasClickHandler = Boolean(onClick)\n const isClickable = hasClickHandler && !disabled\n \n const colorStyles = getColorStyles(color, variant)\n const sizeStyles = getSizeStyles(size)\n \n const cssProps = {\n '--category-badge-bg': colorStyles.backgroundColor,\n '--category-badge-color': colorStyles.color,\n '--category-badge-border': colorStyles.borderColor,\n '--category-badge-height': sizeStyles.height,\n '--category-badge-padding': sizeStyles.padding,\n '--category-badge-font': sizeStyles.font,\n '--category-badge-gap': sizeStyles.gap,\n '--category-badge-opacity': disabled ? '0.6' : '1',\n '--category-badge-cursor': disabled ? 'not-allowed' : (isClickable ? 'pointer' : 'default')\n } as React.CSSProperties\n \n const handleClick = () => {\n if (isClickable) {\n onClick?.()\n }\n }\n \n const handleKeyDown = (event: KeyboardEvent<HTMLSpanElement>) => {\n if (isClickable && (event.key === 'Enter' || event.key === ' ')) {\n event.preventDefault()\n onClick?.()\n }\n }\n \n return (\n <StyledCategoryBadge\n $color={color}\n $variant={variant}\n $size={size}\n $clickable={isClickable}\n $disabled={disabled}\n onClick={handleClick}\n onKeyDown={handleKeyDown}\n tabIndex={hasClickHandler ? 0 : undefined}\n role={hasClickHandler ? 'button' : undefined}\n aria-label={ariaLabel}\n aria-disabled={disabled}\n data-testid={dataTestId}\n style={cssProps}\n >\n {icon && (\n <Icon \n name={icon} \n size={sizeStyles.iconSize}\n iconColor={variant === 'filled' ? 'inverse' : 'inherit'}\n aria-hidden=\"true\"\n />\n )}\n {children}\n </StyledCategoryBadge>\n )\n}\n\nCategoryBadge.displayName = 'CategoryBadge'\n","import tokens from '../../../../styles/tokens.json'\nimport { ChipVariant, BaseChipProps } from './types'\n\nconst { component: { chip } } = tokens\n\ninterface StyledChipProps {\n $variant: ChipVariant\n $size: BaseChipProps['size']\n $disabled?: boolean\n $clickable?: boolean\n $selected?: boolean\n}\n\n// Helper function to get variant styles matching Button's approach\nexport const getVariantStyles = ({ $variant, $selected }: StyledChipProps) => {\n // Boolean chips with selected state get special background\n if ($selected) {\n return `\n background-color: ${tokens.semantic.color.background['interactive-subtle']};\n color: ${chip.default.textColor};\n `\n }\n \n switch ($variant) {\n case 'emphasis':\n return `\n background-color: ${chip.variants.emphasis.backgroundColor};\n color: ${chip.variants.emphasis.textColor};\n `\n case 'subtle':\n return `\n background-color: ${chip.variants.subtle.backgroundColor};\n color: ${chip.variants.subtle.textColor};\n `\n case 'interactive':\n return `\n background-color: ${chip.variants.interactive.backgroundColor};\n color: ${chip.variants.interactive.textColor};\n `\n case 'default':\n default:\n return `\n background-color: ${chip.default.backgroundColor};\n color: ${chip.default.textColor};\n `\n }\n}\n\n// Helper function to get size styles matching Button's approach\nexport const getSizeStyles = ({ $size }: StyledChipProps) => {\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 styled from 'styled-components'\nimport tokens from '../../../../styles/tokens.json'\nimport { InternalStyledProps } from './types'\nimport { getVariantStyles, getSizeStyles, chipTokens } from './utils'\n\n// Base styled component using direct prop interpolation like Button\nexport const StyledChip = styled.span.withConfig({\n shouldForwardProp: (prop) => !prop.startsWith('$')\n})<InternalStyledProps>`\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}, background-color ${tokens.semantic.motion.hover};\n cursor: ${props => props.$disabled ? 'not-allowed' : (props.$clickable ? 'pointer' : 'default')};\n opacity: ${props => props.$disabled ? '0.6' : '1'};\n \n ${getVariantStyles}\n ${getSizeStyles}\n \n &:hover {\n opacity: ${props => props.$disabled ? '0.6' : (props.$clickable ? '0.8' : '1')};\n }\n \n &:active {\n opacity: ${props => props.$disabled ? '0.6' : (props.$clickable ? '0.9' : '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","import React from 'react'\nimport { BaseChipProps, ChipVariant, LegacyVariant } from './shared/types'\nimport { StyledChip } 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 <StyledChip\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 </StyledChip>\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 { StyledChip, 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 <StyledChip\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 </StyledChip>\n )\n}\n","import React from 'react'\nimport { Icon } from '../Icon'\nimport { BaseChipProps } from './shared/types'\nimport { StyledChip, 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 <StyledChip\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 </StyledChip>\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 { ReactNode } from 'react'\nimport styled, { keyframes } from 'styled-components'\nimport { Icon } from '../Icon/Icon'\nimport type { IconName } from '../../../types/icons'\nimport tokens from '@/styles/tokens.json'\n\nconst { semantic, base } = tokens\n\n/**\n * Status type options for StatusBadge\n */\nexport type StatusType = \n | 'pending' \n | 'completed' \n | 'failed' \n | 'cancelled' \n | 'processing' \n | 'scheduled'\n\n/**\n * Size options for StatusBadge\n */\nexport type StatusSize = 'small' | 'medium'\n\n/**\n * Props for the StatusBadge component\n */\nexport interface StatusBadgeProps {\n /**\n * The status type to display\n */\n status: StatusType\n \n /**\n * Optional custom label (defaults to status name)\n */\n label?: string\n \n /**\n * Size of the badge\n * @default 'medium'\n */\n size?: StatusSize\n \n /**\n * Whether to show the icon\n * @default true\n */\n showIcon?: boolean\n \n /**\n * Whether status changes should be announced to screen readers\n * @default true\n */\n liveRegion?: boolean\n \n /**\n * Test identifier for automated testing\n */\n 'data-testid'?: string\n \n /**\n * Accessible label override\n */\n 'aria-label'?: string\n}\n\ninterface StyledStatusBadgeProps {\n $status: StatusType\n $size: StatusSize\n}\n\nconst scaleIn = keyframes`\n from {\n opacity: 0;\n transform: scale(0.8);\n }\n to {\n opacity: 1;\n transform: scale(1);\n }\n`\n\nconst getStatusConfig = (status: StatusType) => {\n const configs: Record<StatusType, { color: string; bgColor: string; icon: IconName; label: string }> = {\n pending: {\n color: semantic.color.status.pending,\n bgColor: semantic.color.status['pending-bg'],\n icon: 'refresh', // Fallback until 'clock' icon is added\n label: 'Pending'\n },\n completed: {\n color: semantic.color.status.completed,\n bgColor: semantic.color.status['completed-bg'],\n icon: 'check',\n label: 'Completed'\n },\n failed: {\n color: semantic.color.status.failed,\n bgColor: semantic.color.status['failed-bg'],\n icon: 'close',\n label: 'Failed'\n },\n cancelled: {\n color: semantic.color.status.cancelled,\n bgColor: semantic.color.status['cancelled-bg'],\n icon: 'cancel',\n label: 'Cancelled'\n },\n processing: {\n color: semantic.color.status.processing,\n bgColor: semantic.color.status['processing-bg'],\n icon: 'refresh',\n label: 'Processing'\n },\n scheduled: {\n color: semantic.color.status.scheduled,\n bgColor: semantic.color.status['scheduled-bg'],\n icon: 'bell', // Fallback until 'calendar' icon is added\n label: 'Scheduled'\n }\n }\n \n return configs[status]\n}\n\nconst getSizeStyles = (size: StatusSize) => {\n if (size === 'small') {\n return {\n height: '20px',\n padding: `${base.spacing[1]} ${base.spacing[2]}`,\n font: semantic.typography.caption,\n gap: base.spacing[1],\n iconSize: 'xs' as const\n }\n }\n \n // medium\n return {\n height: '24px',\n padding: `${base.spacing[1]} ${base.spacing[2]}`,\n font: semantic.typography.small,\n gap: base.spacing[1],\n iconSize: 'sm' as const\n }\n}\n\nconst StyledStatusBadge = styled.span.withConfig({\n shouldForwardProp: (prop) => !prop.startsWith('$')\n})<StyledStatusBadgeProps>`\n display: inline-flex;\n align-items: center;\n justify-content: center;\n border-radius: ${base.border.radius.circle};\n font-weight: ${base.fontWeight[3]};\n white-space: nowrap;\n user-select: none;\n animation: ${scaleIn} 0.2s ease-out;\n \n /* Apply CSS custom properties */\n background-color: var(--status-badge-bg);\n color: var(--status-badge-color);\n height: var(--status-badge-height);\n padding: var(--status-badge-padding);\n font: var(--status-badge-font);\n gap: var(--status-badge-gap);\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\n/**\n * StatusBadge component for displaying transaction or task status\n * \n * Displays status with appropriate color, icon, and supports live updates for screen readers.\n * Maps to 6 common status types with semantic color tokens.\n * \n * @example\n * ```tsx\n * <StatusBadge status=\"completed\" />\n * \n * <StatusBadge \n * status=\"pending\" \n * label=\"Awaiting approval\"\n * size=\"small\" \n * />\n * \n * <StatusBadge \n * status=\"failed\" \n * showIcon={false}\n * liveRegion={true}\n * />\n * ```\n */\nexport const StatusBadge: React.FC<StatusBadgeProps> = ({\n status,\n label,\n size = 'medium',\n showIcon = true,\n liveRegion = true,\n 'data-testid': dataTestId,\n 'aria-label': ariaLabel\n}) => {\n const statusConfig = getStatusConfig(status)\n const sizeStyles = getSizeStyles(size)\n const displayLabel = label || statusConfig.label\n \n const cssProps = {\n '--status-badge-bg': statusConfig.bgColor,\n '--status-badge-color': statusConfig.color,\n '--status-badge-height': sizeStyles.height,\n '--status-badge-padding': sizeStyles.padding,\n '--status-badge-font': sizeStyles.font,\n '--status-badge-gap': sizeStyles.gap\n } as React.CSSProperties\n \n return (\n <StyledStatusBadge\n $status={status}\n $size={size}\n role=\"status\"\n aria-label={ariaLabel || `Status: ${displayLabel}`}\n aria-live={liveRegion ? 'polite' : undefined}\n aria-atomic={liveRegion ? 'true' : undefined}\n data-testid={dataTestId}\n style={cssProps}\n >\n {showIcon && (\n <Icon \n name={statusConfig.icon} \n size={sizeStyles.iconSize}\n iconColor=\"inherit\"\n aria-hidden=\"true\"\n />\n )}\n {displayLabel}\n <ScreenReaderOnly>\n {status} status\n </ScreenReaderOnly>\n </StyledStatusBadge>\n )\n}\n\nStatusBadge.displayName = 'StatusBadge'\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\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.inverse};\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 <Box\n minWidth=\"300px\"\n minHeight=\"200px\"\n p=\"lg\"\n bg=\"surface\"\n border=\"default\"\n borderRadius=\"5\"\n shadow=\"3\"\n transition=\"all 0.2s ease\"\n cursor={isClickable ? 'pointer' : 'default'}\n hoverShadow={isClickable ? '4' : undefined}\n hoverTransform={isClickable ? 'translateY(-2px)' : undefined}\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 iconColor=\"inverse\"\n size=\"md\" \n />\n </StyledIconWrapper>\n <Stack direction=\"column\" gap=\"none\">\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 </Box>\n )\n}\n","import { \n useState, \n useEffect, \n useRef, \n ReactNode, \n KeyboardEvent,\n MouseEvent,\n ButtonHTMLAttributes\n} from 'react'\nimport { createPortal } from 'react-dom'\nimport styled, { keyframes } from 'styled-components'\nimport { Icon } from '../../atoms/Icon/Icon'\nimport { type IconName } from '../../../types/icons'\nimport { Stack } from '../../atoms/Stack/Stack'\nimport { Typography } from '../../atoms/Typography/Typography'\nimport tokens from '@/styles/tokens.json'\n\nconst { semantic, base } = tokens\n\n/**\n * Action item for the action sheet\n */\nexport interface Action {\n /**\n * Unique identifier\n */\n id: string\n \n /**\n * Display label\n */\n label: string\n \n /**\n * Optional icon\n */\n icon?: IconName\n \n /**\n * Whether this is a destructive action (shown in red)\n * @default false\n */\n destructive?: boolean\n \n /**\n * Whether this action is disabled\n * @default false\n */\n disabled?: boolean\n \n /**\n * Callback when action is selected\n */\n onSelect: () => void\n}\n\n/**\n * Props for the ActionSheet component\n */\nexport interface ActionSheetProps {\n /**\n * Whether the action sheet is open\n */\n isOpen: boolean\n \n /**\n * Callback when the action sheet should close\n */\n onClose: () => void\n \n /**\n * Title of the action sheet\n */\n title?: string\n \n /**\n * Optional description\n */\n description?: string\n \n /**\n * Array of actions\n */\n actions: Action[]\n \n /**\n * Whether to close on overlay click\n * @default true\n */\n closeOnOverlayClick?: boolean\n \n /**\n * Whether to close on Escape key\n * @default true\n */\n closeOnEscape?: boolean\n \n /**\n * Show close button in header\n * @default true\n */\n showCloseButton?: boolean\n \n /**\n * Test identifier\n */\n 'data-testid'?: string\n}\n\nconst slideUp = keyframes`\n from {\n transform: translateY(100%);\n }\n to {\n transform: translateY(0);\n }\n`\n\nconst fadeIn = keyframes`\n from {\n opacity: 0;\n }\n to {\n opacity: 1;\n }\n`\n\nconst StyledOverlay = styled.div`\n position: fixed;\n inset: 0;\n background-color: rgba(0, 0, 0, 0.5);\n z-index: 9999;\n animation: ${fadeIn} 0.2s ease-out;\n`\n\nconst StyledActionSheet = styled.div`\n position: fixed;\n bottom: 0;\n left: 0;\n right: 0;\n background-color: ${semantic.color.background.subtle};\n border-top-left-radius: ${base.border.radius[4]};\n border-top-right-radius: ${base.border.radius[4]};\n box-shadow: ${base.shadow[4]};\n max-height: 90vh;\n overflow-y: auto;\n z-index: 10000;\n animation: ${slideUp} 0.3s ease-out;\n`\n\nconst StyledHeader = styled.div`\n display: flex;\n align-items: flex-start;\n justify-content: space-between;\n padding: ${base.spacing[4]} ${base.spacing[4]} ${base.spacing[3]};\n border-bottom: ${base.border.width[1]} solid ${semantic.color.border.default};\n`\n\nconst StyledHeaderContent = styled.div`\n flex: 1;\n`\n\nconst StyledCloseButton = styled.button`\n display: flex;\n align-items: center;\n justify-content: center;\n padding: ${base.spacing[2]};\n border: none;\n background: transparent;\n color: ${semantic.color.icon.subdued};\n cursor: pointer;\n border-radius: ${base.border.radius[2]};\n transition: ${semantic.motion.hover};\n margin-left: ${base.spacing[2]};\n \n &:hover {\n color: ${semantic.color.icon.default};\n background-color: ${semantic.color.background.surface};\n }\n \n &:focus-visible {\n outline: ${base.border.width[2]} solid ${semantic.color.border.strong};\n outline-offset: ${base.spacing[1]};\n }\n`\n\nconst StyledActionsList = styled.div`\n padding: ${base.spacing[2]} 0;\n`\n\ninterface StyledActionButtonProps {\n $destructive: boolean\n $disabled: boolean\n}\n\nconst StyledActionButton = styled.button<StyledActionButtonProps>`\n display: flex;\n align-items: center;\n gap: ${base.spacing[3]};\n width: 100%;\n padding: ${base.spacing[3]} ${base.spacing[4]};\n border: none;\n background: transparent;\n font: ${semantic.typography.body};\n text-align: left;\n cursor: pointer;\n transition: ${semantic.motion.hover};\n \n ${props => props.$destructive && `\n color: ${semantic.color.text.error};\n `}\n \n ${props => props.$disabled && `\n color: ${semantic.color.text.disabled};\n cursor: not-allowed;\n `}\n \n &:hover:not(:disabled) {\n background-color: ${semantic.color.background['interactive-subtle']};\n }\n \n &:focus-visible {\n outline: ${base.border.width[2]} solid ${semantic.color.border.strong};\n outline-offset: -${base.spacing[1]};\n }\n \n &:active:not(:disabled) {\n background-color: ${semantic.color.background.surface};\n }\n`\n\nconst StyledDivider = styled.div`\n height: ${base.border.width[1]};\n background-color: ${semantic.color.border.default};\n margin: ${base.spacing[2]} ${base.spacing[4]};\n`\n\n/**\n * ActionSheet component for bottom sheet modals\n * \n * Displays a modal action sheet that slides up from the bottom,\n * providing a list of actions for the user to choose from.\n * Includes focus trapping, keyboard navigation, and accessibility features.\n * \n * @example\n * ```tsx\n * const [isOpen, setIsOpen] = useState(false)\n * \n * <ActionSheet\n * isOpen={isOpen}\n * onClose={() => setIsOpen(false)}\n * title=\"Choose an action\"\n * actions={[\n * {\n * id: 'edit',\n * label: 'Edit',\n * icon: 'edit',\n * onSelect: () => console.log('Edit')\n * },\n * {\n * id: 'delete',\n * label: 'Delete',\n * icon: 'trash',\n * destructive: true,\n * onSelect: () => console.log('Delete')\n * }\n * ]}\n * />\n * ```\n */\nexport const ActionSheet = ({\n isOpen,\n onClose,\n title,\n description,\n actions,\n closeOnOverlayClick = true,\n closeOnEscape = true,\n showCloseButton = true,\n 'data-testid': dataTestId\n}: ActionSheetProps) => {\n const sheetRef = useRef<HTMLDivElement>(null)\n const previousActiveElement = useRef<HTMLElement | null>(null)\n \n // Store the element that had focus when sheet opened\n useEffect(() => {\n if (isOpen) {\n previousActiveElement.current = document.activeElement as HTMLElement\n }\n }, [isOpen])\n \n // Focus management and escape key handling\n useEffect(() => {\n if (!isOpen) return\n \n const handleKeyDown = (e: globalThis.KeyboardEvent) => {\n if (e.key === 'Escape' && closeOnEscape) {\n e.preventDefault()\n onClose()\n }\n \n // Focus trap\n if (e.key === 'Tab' && sheetRef.current) {\n const focusableElements = sheetRef.current.querySelectorAll<HTMLElement>(\n 'button:not(:disabled), [href], input:not(:disabled), select:not(:disabled), textarea:not(:disabled), [tabindex]:not([tabindex=\"-1\"])'\n )\n \n const firstElement = focusableElements[0]\n const lastElement = focusableElements[focusableElements.length - 1]\n \n if (e.shiftKey && document.activeElement === firstElement) {\n e.preventDefault()\n lastElement?.focus()\n } else if (!e.shiftKey && document.activeElement === lastElement) {\n e.preventDefault()\n firstElement?.focus()\n }\n }\n }\n \n document.addEventListener('keydown', handleKeyDown)\n \n // Focus first focusable element\n requestAnimationFrame(() => {\n const firstButton = sheetRef.current?.querySelector<HTMLElement>('button:not(:disabled)')\n firstButton?.focus()\n })\n \n // Prevent body scroll\n const originalOverflow = document.body.style.overflow\n document.body.style.overflow = 'hidden'\n \n return () => {\n document.removeEventListener('keydown', handleKeyDown)\n document.body.style.overflow = originalOverflow\n \n // Return focus to previous element\n if (previousActiveElement.current) {\n previousActiveElement.current.focus()\n }\n }\n }, [isOpen, onClose, closeOnEscape])\n \n const handleOverlayClick = (e: MouseEvent<HTMLDivElement>) => {\n if (closeOnOverlayClick && e.target === e.currentTarget) {\n onClose()\n }\n }\n \n const handleActionClick = (action: Action) => {\n if (!action.disabled) {\n action.onSelect()\n onClose()\n }\n }\n \n if (!isOpen) return null\n \n // Find if there are any destructive actions to add divider\n const destructiveIndex = actions.findIndex(a => a.destructive)\n const hasDestructive = destructiveIndex >= 0\n \n return createPortal(\n <>\n <StyledOverlay onClick={handleOverlayClick} />\n <StyledActionSheet\n ref={sheetRef}\n role=\"dialog\"\n aria-modal=\"true\"\n aria-labelledby={title ? 'action-sheet-title' : undefined}\n aria-describedby={description ? 'action-sheet-description' : undefined}\n data-testid={dataTestId}\n >\n {(title || description || showCloseButton) && (\n <StyledHeader>\n <StyledHeaderContent>\n <Stack direction=\"column\" gap={description && title ? 'xs' : 'none'}>\n {title && (\n <div id=\"action-sheet-title\">\n <Typography variant=\"h3\">\n {title}\n </Typography>\n </div>\n )}\n {description && (\n <div id=\"action-sheet-description\">\n <Typography variant=\"body\" color=\"subdued\">\n {description}\n </Typography>\n </div>\n )}\n </Stack>\n </StyledHeaderContent>\n {showCloseButton && (\n <StyledCloseButton\n type=\"button\"\n onClick={onClose}\n aria-label=\"Close\"\n >\n <Icon name=\"close\" size=\"sm\" iconColor=\"subdued\" />\n </StyledCloseButton>\n )}\n </StyledHeader>\n )}\n \n <StyledActionsList>\n {actions.map((action, index) => (\n <div key={action.id}>\n {hasDestructive && index === destructiveIndex && index > 0 && (\n <StyledDivider />\n )}\n <StyledActionButton\n type=\"button\"\n onClick={() => handleActionClick(action)}\n disabled={action.disabled}\n $destructive={action.destructive || false}\n $disabled={action.disabled || false}\n aria-label={action.label}\n >\n {action.icon && (\n <Icon\n name={action.icon}\n size=\"md\"\n iconColor={\n action.disabled\n ? 'disabled'\n : action.destructive\n ? 'error'\n : 'default'\n }\n />\n )}\n <Typography variant=\"body\">{action.label}</Typography>\n </StyledActionButton>\n </div>\n ))}\n </StyledActionsList>\n </StyledActionSheet>\n </>,\n document.body\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 { Icon } from '../../atoms/Icon'\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-flex;\n align-items: center;\n gap: ${tokens.base?.spacing?.['2'] || '0.5rem'};\n padding: ${tokens.base?.spacing?.['2'] || '0.5rem'};\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 display: inline-flex;\n align-items: center;\n text-decoration: underline;\n color: ${tokens.semantic.color.text.default};\n }\n`\n\nconst BreadcrumbSeparator = styled.span`\n display: inline-flex;\n align-items: center;\n opacity: 0.5;\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 <React.Fragment key={index}>\n <BreadcrumbStyled>\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 {index < breadcrumbs.length - 1 && (\n <BreadcrumbSeparator aria-hidden=\"true\">\n <Icon name=\"arrowRight\" size=\"xs\" iconColor=\"subdued\" />\n </BreadcrumbSeparator>\n )}\n </React.Fragment>\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, useId } 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 (SSR-safe)\n const dropdownId = useId()\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 /**\n * Custom ARIA role (e.g., 'option' for combobox)\n * @default 'listitem'\n */\n role?: string\n \n /**\n * ARIA selected state (for role=\"option\")\n */\n 'aria-selected'?: boolean\n \n /**\n * Custom ID for ARIA references\n */\n id?: string\n \n /**\n * Custom tabIndex for focus management\n */\n tabIndex?: number\n \n /**\n * Keyboard event handler\n */\n onKeyDown?: (e: React.KeyboardEvent) => void\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 role: customRole,\n 'aria-selected': ariaSelected,\n id,\n tabIndex: customTabIndex,\n onKeyDown: customOnKeyDown,\n ...props\n}: ListItemProps) => {\n const isInteractive = interactive || expandable || customRole === 'option'\n const contentRole = customRole === 'option' ? undefined : (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 (customOnKeyDown) {\n customOnKeyDown(event)\n return\n }\n \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={customRole || 'listitem'}\n id={id}\n aria-selected={ariaSelected}\n {...props}\n >\n <StyledItemContent\n $interactive={isInteractive}\n $disabled={disabled}\n $selected={selected}\n $spacing={spacing}\n role={contentRole}\n aria-expanded={ariaExpanded}\n aria-disabled={ariaDisabled}\n aria-current={ariaCurrent}\n tabIndex={customTabIndex !== undefined ? customTabIndex : (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 { \n useState, \n useRef, \n useEffect, \n useMemo, \n KeyboardEvent, \n ChangeEvent, \n FocusEvent,\n InputHTMLAttributes,\n forwardRef\n} from 'react'\nimport styled from 'styled-components'\nimport { Icon } from '../../atoms/Icon/Icon'\nimport { IconButton } from '../../atoms/IconButton/IconButton'\nimport { Stack } from '../../atoms/Stack/Stack'\nimport { Typography } from '../../atoms/Typography/Typography'\nimport { ListItem } from '../List/ListItem'\nimport tokens from '@/styles/tokens.json'\n\nconst { semantic, base, component } = tokens\n\n/**\n * Suggestion item for autocomplete\n */\nexport interface Suggestion {\n /**\n * Unique identifier\n */\n id: string\n \n /**\n * Display text\n */\n label: string\n \n /**\n * Optional secondary text\n */\n description?: string\n \n /**\n * Optional category for grouping\n */\n category?: string\n}\n\n/**\n * Props for the SearchField component\n */\nexport interface SearchFieldProps extends Omit<InputHTMLAttributes<HTMLInputElement>, 'size' | 'onChange'> {\n /**\n * Current search value\n */\n value: string\n \n /**\n * Callback when value changes\n */\n onChange: (value: string) => void\n \n /**\n * Suggestions to display\n */\n suggestions?: Suggestion[]\n \n /**\n * Whether to show recent searches\n * @default true\n */\n showRecentSearches?: boolean\n \n /**\n * Array of recent search terms\n */\n recentSearches?: string[]\n \n /**\n * Callback when a suggestion is selected\n */\n onSuggestionSelect?: (suggestion: Suggestion | string) => void\n \n /**\n * Callback to clear recent searches\n */\n onClearRecentSearches?: () => void\n \n /**\n * Debounce delay in milliseconds\n * @default 300\n */\n debounceMs?: number\n \n /**\n * Placeholder text\n * @default 'Search...'\n */\n placeholder?: string\n \n /**\n * Whether the field is disabled\n * @default false\n */\n disabled?: boolean\n \n /**\n * Whether to show loading state\n * @default false\n */\n loading?: boolean\n \n /**\n * Accessible label\n */\n 'aria-label'?: string\n \n /**\n * Test identifier\n */\n 'data-testid'?: string\n}\n\ninterface StyledSearchContainerProps {\n $isFocused: boolean\n $disabled: boolean\n}\n\ninterface StyledSuggestionItemProps {\n $isHighlighted: boolean\n $isRecent: boolean\n}\n\nconst StyledSearchContainer = styled.div<StyledSearchContainerProps>`\n position: relative;\n width: 100%;\n`\n\nconst StyledInputWrapper = styled.div<StyledSearchContainerProps>`\n display: flex;\n align-items: center;\n gap: ${base.spacing[2]};\n padding: ${base.spacing[2]} ${base.spacing[3]};\n background-color: ${component.input.default.backgroundColor};\n border: ${component.input.default.borderWidth} solid ${component.input.default.borderColor};\n border-radius: ${component.input.default.borderRadius};\n transition: border-color 200ms ease-in-out, outline 200ms ease-in-out;\n \n ${props => props.$isFocused && `\n border-color: ${component.input.focus.borderColor};\n outline: ${component.input.focus.outline};\n outline-offset: ${component.input.focus.outlineOffset};\n `}\n \n ${props => props.$disabled && `\n background-color: ${component.input.disabled.backgroundColor};\n border-color: ${component.input.disabled.borderColor};\n cursor: not-allowed;\n `}\n \n &:hover:not([data-disabled='true']) {\n border-color: ${component.input.hover.borderColor};\n }\n`\n\nconst StyledInput = styled.input`\n flex: 1;\n border: none;\n background: transparent;\n font: ${semantic.typography.body};\n color: ${semantic.color.text.default};\n outline: none;\n \n &::placeholder {\n color: ${semantic.color.text.subdued};\n }\n \n &:disabled {\n color: ${semantic.color.text.disabled};\n cursor: not-allowed;\n }\n`\n\nconst StyledSuggestionsList = styled.ul`\n position: absolute;\n top: calc(100% + ${base.spacing[1]});\n left: 0;\n right: 0;\n max-height: 300px;\n overflow-y: auto;\n background-color: ${semantic.color.background.subtle};\n border: ${base.border.width[1]} solid ${semantic.color.border.default};\n border-radius: ${base.border.radius[3]};\n box-shadow: ${base.shadow[3]};\n list-style: none;\n padding: ${base.spacing[1]} 0;\n margin: 0;\n z-index: 1000;\n`\n\nconst StyledSectionHeader = styled.div`\n padding: ${base.spacing[2]} ${base.spacing[3]};\n font: ${semantic.typography.caption};\n color: ${semantic.color.text.subdued};\n text-transform: uppercase;\n letter-spacing: ${base.letterSpacing[4]};\n`\n\nconst debounce = <T extends (...args: any[]) => any>(\n func: T,\n wait: number\n): ((...args: Parameters<T>) => void) => {\n let timeout: NodeJS.Timeout | null = null\n \n return (...args: Parameters<T>) => {\n if (timeout) clearTimeout(timeout)\n timeout = setTimeout(() => func(...args), wait)\n }\n}\n\n/**\n * SearchField component with autocomplete and recent searches\n * \n * Provides intelligent search with debouncing, keyboard navigation,\n * suggestions, and recent search history. Fully accessible with ARIA.\n * \n * @example\n * ```tsx\n * const [search, setSearch] = useState('')\n * const [suggestions] = useState([\n * { id: '1', label: 'Apple', category: 'Fruit' },\n * { id: '2', label: 'Banana', category: 'Fruit' }\n * ])\n * \n * <SearchField\n * value={search}\n * onChange={setSearch}\n * suggestions={suggestions}\n * recentSearches={['coffee', 'tea']}\n * onSuggestionSelect={(item) => console.log('Selected:', item)}\n * />\n * ```\n */\nexport const SearchField = forwardRef<HTMLInputElement, SearchFieldProps>(\n (\n {\n value,\n onChange,\n suggestions = [],\n showRecentSearches = true,\n recentSearches = [],\n onSuggestionSelect,\n onClearRecentSearches,\n debounceMs = 300,\n placeholder = 'Search...',\n disabled = false,\n loading = false,\n 'aria-label': ariaLabel = 'Search',\n 'data-testid': dataTestId,\n ...inputProps\n },\n ref\n ) => {\n const [isFocused, setIsFocused] = useState(false)\n const [showSuggestions, setShowSuggestions] = useState(false)\n const [highlightedIndex, setHighlightedIndex] = useState(-1)\n const [debouncedValue, setDebouncedValue] = useState(value)\n const inputRef = useRef<HTMLInputElement>(null)\n const listRef = useRef<HTMLUListElement>(null)\n \n // Combine refs\n useEffect(() => {\n if (ref) {\n if (typeof ref === 'function') {\n ref(inputRef.current)\n } else {\n ref.current = inputRef.current\n }\n }\n }, [ref])\n \n // Debounced search\n const debouncedOnChange = useMemo(\n () =>\n debounce((newValue: string) => {\n setDebouncedValue(newValue)\n }, debounceMs),\n [debounceMs]\n )\n \n useEffect(() => {\n debouncedOnChange(value)\n }, [value, debouncedOnChange])\n \n // Combined list of suggestions and recent searches\n const displayItems = useMemo(() => {\n const items: Array<{ type: 'suggestion' | 'recent' | 'clear'; data: Suggestion | string }> = []\n \n if (value.trim()) {\n // Show matching suggestions\n suggestions.forEach(s => items.push({ type: 'suggestion', data: s }))\n } else if (showRecentSearches && recentSearches.length > 0) {\n // Show recent searches when empty\n recentSearches.forEach(r => items.push({ type: 'recent', data: r }))\n if (onClearRecentSearches) {\n items.push({ type: 'clear', data: 'clear' })\n }\n }\n \n return items\n }, [value, suggestions, recentSearches, showRecentSearches, onClearRecentSearches])\n \n const handleInputChange = (e: ChangeEvent<HTMLInputElement>) => {\n const newValue = e.target.value\n onChange(newValue)\n setShowSuggestions(true)\n setHighlightedIndex(-1)\n }\n \n const handleFocus = (e: FocusEvent<HTMLInputElement>) => {\n setIsFocused(true)\n setShowSuggestions(true)\n inputProps.onFocus?.(e)\n }\n \n const handleBlur = (e: FocusEvent<HTMLInputElement>) => {\n // Delay to allow click events on suggestions\n setTimeout(() => {\n setIsFocused(false)\n setShowSuggestions(false)\n setHighlightedIndex(-1)\n }, 200)\n inputProps.onBlur?.(e)\n }\n \n const handleSuggestionClick = (item: typeof displayItems[0]) => {\n if (item.type === 'clear') {\n onClearRecentSearches?.()\n return\n }\n \n const suggestion = item.data\n if (typeof suggestion === 'string') {\n onChange(suggestion)\n onSuggestionSelect?.(suggestion)\n } else {\n onChange(suggestion.label)\n onSuggestionSelect?.(suggestion)\n }\n setShowSuggestions(false)\n inputRef.current?.focus()\n }\n \n const handleClear = () => {\n onChange('')\n setShowSuggestions(false)\n inputRef.current?.focus()\n }\n \n const handleKeyDown = (e: KeyboardEvent<HTMLInputElement>) => {\n if (!showSuggestions || displayItems.length === 0) return\n \n switch (e.key) {\n case 'ArrowDown':\n e.preventDefault()\n setHighlightedIndex(prev =>\n prev < displayItems.length - 1 ? prev + 1 : prev\n )\n break\n \n case 'ArrowUp':\n e.preventDefault()\n setHighlightedIndex(prev => (prev > 0 ? prev - 1 : -1))\n break\n \n case 'Enter':\n e.preventDefault()\n if (highlightedIndex >= 0 && highlightedIndex < displayItems.length) {\n handleSuggestionClick(displayItems[highlightedIndex])\n }\n break\n \n case 'Escape':\n e.preventDefault()\n setShowSuggestions(false)\n setHighlightedIndex(-1)\n break\n }\n \n inputProps.onKeyDown?.(e)\n }\n \n // Scroll highlighted item into view\n useEffect(() => {\n if (highlightedIndex >= 0 && listRef.current) {\n const items = listRef.current.querySelectorAll('li')\n items[highlightedIndex]?.scrollIntoView({ block: 'nearest' })\n }\n }, [highlightedIndex])\n \n const showClearButton = value.length > 0 && !disabled\n const hasItems = displayItems.length > 0\n \n return (\n <StyledSearchContainer\n $isFocused={isFocused}\n $disabled={disabled}\n data-testid={dataTestId}\n >\n <StyledInputWrapper \n $isFocused={isFocused} \n $disabled={disabled}\n data-disabled={disabled}\n >\n <Icon\n name=\"search\"\n size=\"sm\"\n iconColor=\"subdued\"\n aria-hidden=\"true\"\n />\n \n <StyledInput\n ref={inputRef}\n type=\"text\"\n value={value}\n onChange={handleInputChange}\n onFocus={handleFocus}\n onBlur={handleBlur}\n onKeyDown={handleKeyDown}\n placeholder={placeholder}\n disabled={disabled}\n aria-label={ariaLabel}\n aria-autocomplete=\"list\"\n aria-controls={showSuggestions && hasItems ? 'search-suggestions' : undefined}\n aria-expanded={showSuggestions && hasItems}\n aria-activedescendant={\n highlightedIndex >= 0 ? `suggestion-${highlightedIndex}` : undefined\n }\n role=\"combobox\"\n {...inputProps}\n />\n \n {loading && (\n <Icon\n name=\"refresh\"\n size=\"sm\"\n iconColor=\"subdued\"\n aria-label=\"Loading\"\n />\n )}\n \n {showClearButton && (\n <IconButton\n iconName=\"close\"\n size=\"small\"\n variant=\"naked\"\n onClick={handleClear}\n aria-label=\"Clear search\"\n tabIndex={-1}\n />\n )}\n </StyledInputWrapper>\n \n {showSuggestions && hasItems && (\n <StyledSuggestionsList\n ref={listRef}\n id=\"search-suggestions\"\n role=\"listbox\"\n >\n {!value.trim() && showRecentSearches && recentSearches.length > 0 && (\n <StyledSectionHeader>Recent Searches</StyledSectionHeader>\n )}\n \n {displayItems.map((item, index) => {\n if (item.type === 'clear') {\n return (\n <ListItem\n key=\"clear\"\n role=\"option\"\n primary=\"Clear recent searches\"\n interactive\n spacing=\"compact\"\n onClick={() => handleSuggestionClick(item)}\n onKeyDown={(e) => {\n if (e.key === 'Enter' || e.key === ' ') {\n e.preventDefault()\n handleSuggestionClick(item)\n }\n }}\n />\n )\n }\n \n const suggestion = item.data\n const isString = typeof suggestion === 'string'\n const label = isString ? suggestion : suggestion.label\n const description = !isString ? suggestion.description : undefined\n \n return (\n <ListItem\n key={isString ? suggestion : suggestion.id}\n id={`suggestion-${index}`}\n role=\"option\"\n aria-selected={index === highlightedIndex}\n primary={label}\n secondary={description}\n icon={item.type === 'recent' ? <Icon name=\"refresh\" size=\"xs\" aria-hidden=\"true\" /> : undefined}\n interactive\n selected={index === highlightedIndex}\n spacing=\"compact\"\n onClick={() => handleSuggestionClick(item)}\n />\n )\n })}\n </StyledSuggestionsList>\n )}\n </StyledSearchContainer>\n )\n }\n)\n\nSearchField.displayName = 'SearchField'\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, useState, useRef, useEffect, KeyboardEvent, MouseEvent } from 'react'\nimport styled from 'styled-components'\nimport tokens from '@/styles/tokens.json'\n\nconst { semantic, base } = tokens\n\n/**\n * Tab variant options for TabBar\n */\nexport type TabVariant = 'default' | 'pills' | 'underline'\n\n/**\n * Individual tab configuration\n */\nexport interface Tab {\n /**\n * Unique identifier for the tab\n */\n id: string\n \n /**\n * Tab label text\n */\n label: string\n \n /**\n * Optional badge count to display\n */\n badge?: number\n \n /**\n * Whether this tab is disabled\n * @default false\n */\n disabled?: boolean\n}\n\n/**\n * Props for the TabBar component\n */\nexport interface TabBarProps {\n /**\n * Array of tab configurations\n */\n tabs: Tab[]\n \n /**\n * Currently active tab ID\n */\n activeTab: string\n \n /**\n * Callback when tab changes\n */\n onTabChange: (tabId: string) => void\n \n /**\n * Visual variant of the tabs\n * @default 'default'\n */\n variant?: TabVariant\n \n /**\n * Accessible label for the tab list\n */\n 'aria-label'?: string\n \n /**\n * Test identifier for automated testing\n */\n 'data-testid'?: string\n}\n\ninterface StyledTabListProps {\n $variant: TabVariant\n}\n\ninterface StyledTabProps {\n $variant: TabVariant\n $isActive: boolean\n $disabled: boolean\n}\n\nconst StyledTabList = styled.div.withConfig({\n shouldForwardProp: (prop) => !prop.startsWith('$')\n})<StyledTabListProps>`\n display: flex;\n align-items: center;\n gap: ${props => props.$variant === 'pills' ? base.spacing[2] : '0'};\n border-bottom: ${props => \n props.$variant === 'underline' \n ? `${base.border.width[1]} solid ${semantic.color.border.subtle}` \n : 'none'\n };\n overflow-x: auto;\n overflow-y: hidden;\n -webkit-overflow-scrolling: touch;\n scrollbar-width: thin;\n \n &::-webkit-scrollbar {\n height: 4px;\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[2]};\n }\n`\n\nconst StyledTab = styled.button.withConfig({\n shouldForwardProp: (prop) => !prop.startsWith('$')\n})<StyledTabProps>`\n display: inline-flex;\n align-items: center;\n gap: ${base.spacing[2]};\n padding: ${base.spacing[3]} ${base.spacing[4]};\n font: ${semantic.typography.button2};\n white-space: nowrap;\n cursor: ${props => props.$disabled ? 'not-allowed' : 'pointer'};\n border: none;\n background: transparent;\n transition: ${semantic.motion.hover};\n position: relative;\n \n /* Variant-specific styles */\n ${props => {\n if (props.$variant === 'pills') {\n return `\n border-radius: ${base.border.radius.circle};\n background-color: ${props.$isActive \n ? semantic.color.background.interactive \n : semantic.color.background.subtle\n };\n color: ${props.$isActive \n ? semantic.color.text.inverse \n : semantic.color.text.default\n };\n \n &:hover:not(:disabled) {\n background-color: ${props.$isActive \n ? semantic.color.background['interactive-hover']\n : semantic.color.background.surface\n };\n }\n `\n }\n \n if (props.$variant === 'underline') {\n return `\n color: ${props.$isActive \n ? semantic.color.text.interactive \n : semantic.color.text.subdued\n };\n \n &::after {\n content: '';\n position: absolute;\n bottom: -1px;\n left: 0;\n right: 0;\n height: ${base.border.width[2]};\n background-color: ${props.$isActive \n ? semantic.color.background.interactive \n : 'transparent'\n };\n transition: ${semantic.motion.hover};\n }\n \n &:hover:not(:disabled) {\n color: ${semantic.color.text.interactive};\n }\n `\n }\n \n // default variant\n return `\n border-radius: ${base.border.radius[2]} ${base.border.radius[2]} 0 0;\n background-color: ${props.$isActive \n ? semantic.color.background.subtle \n : semantic.color.background.default\n };\n color: ${props.$isActive \n ? semantic.color.text.default \n : semantic.color.text.subdued\n };\n border: ${base.border.width[1]} solid ${semantic.color.border.default};\n border-bottom: ${props.$isActive ? 'none' : `${base.border.width[1]} solid ${semantic.color.border.default}`};\n margin-bottom: ${props.$isActive ? '-1px' : '0'};\n \n &:hover:not(:disabled) {\n background-color: ${semantic.color.background.surface};\n color: ${semantic.color.text.default};\n }\n `\n }}\n \n /* Disabled state */\n opacity: ${props => props.$disabled ? '0.5' : '1'};\n \n /* Focus state */\n &:focus-visible {\n outline: ${base.border.width[2]} solid ${semantic.color.border.strong};\n outline-offset: ${base.spacing[1]};\n z-index: 1;\n }\n \n /* Active/pressed state */\n &:active:not(:disabled) {\n transform: translateY(1px);\n }\n`\n\nconst StyledBadge = styled.span.withConfig({\n shouldForwardProp: (prop) => !prop.startsWith('$')\n})<{ $variant: TabVariant; $isActive: boolean }>`\n display: inline-flex;\n align-items: center;\n justify-content: center;\n min-width: 20px;\n height: 20px;\n padding: 0 ${base.spacing[1]};\n font: ${semantic.typography.caption};\n font-weight: ${base.fontWeight[5]};\n border-radius: ${base.border.radius.circle};\n background-color: ${props => {\n if (props.$variant === 'pills') {\n return props.$isActive \n ? 'rgba(255, 255, 255, 0.2)'\n : semantic.color.background.interactive\n }\n return semantic.color.background.interactive\n }};\n color: ${props => props.$variant === 'pills' && props.$isActive \n ? semantic.color.text.inverse\n : semantic.color.text.inverse\n };\n`\n\n/**\n * TabBar component for tabbed navigation\n * \n * Provides accessible tab navigation with 3 visual variants, keyboard support,\n * and optional badge counts. Follows ARIA tablist pattern.\n * \n * @example\n * ```tsx\n * const [activeTab, setActiveTab] = useState('all')\n * \n * <TabBar\n * tabs={[\n * { id: 'all', label: 'All', badge: 42 },\n * { id: 'pending', label: 'Pending', badge: 5 },\n * { id: 'completed', label: 'Completed' }\n * ]}\n * activeTab={activeTab}\n * onTabChange={setActiveTab}\n * variant=\"pills\"\n * />\n * ```\n */\nexport const TabBar: React.FC<TabBarProps> = ({\n tabs,\n activeTab,\n onTabChange,\n variant = 'default',\n 'aria-label': ariaLabel = 'Tab navigation',\n 'data-testid': dataTestId\n}) => {\n const tabRefs = useRef<(HTMLButtonElement | null)[]>([])\n const [focusedIndex, setFocusedIndex] = useState<number>(() => \n tabs.findIndex(tab => tab.id === activeTab)\n )\n \n // Update focused index when active tab changes externally\n useEffect(() => {\n const newIndex = tabs.findIndex(tab => tab.id === activeTab)\n if (newIndex !== -1) {\n setFocusedIndex(newIndex)\n }\n }, [activeTab, tabs])\n \n const handleTabClick = (tab: Tab, index: number) => {\n if (!tab.disabled) {\n onTabChange(tab.id)\n setFocusedIndex(index)\n }\n }\n \n const handleKeyDown = (event: KeyboardEvent<HTMLButtonElement>, index: number) => {\n let newIndex = index\n \n switch (event.key) {\n case 'ArrowLeft':\n event.preventDefault()\n // Find previous non-disabled tab\n newIndex = index - 1\n while (newIndex >= 0 && tabs[newIndex].disabled) {\n newIndex--\n }\n if (newIndex < 0) {\n // Wrap to last non-disabled tab\n newIndex = tabs.length - 1\n while (newIndex > index && tabs[newIndex].disabled) {\n newIndex--\n }\n }\n break\n \n case 'ArrowRight':\n event.preventDefault()\n // Find next non-disabled tab\n newIndex = index + 1\n while (newIndex < tabs.length && tabs[newIndex].disabled) {\n newIndex++\n }\n if (newIndex >= tabs.length) {\n // Wrap to first non-disabled tab\n newIndex = 0\n while (newIndex < index && tabs[newIndex].disabled) {\n newIndex++\n }\n }\n break\n \n case 'Home':\n event.preventDefault()\n // Focus first non-disabled tab\n newIndex = 0\n while (newIndex < tabs.length && tabs[newIndex].disabled) {\n newIndex++\n }\n break\n \n case 'End':\n event.preventDefault()\n // Focus last non-disabled tab\n newIndex = tabs.length - 1\n while (newIndex >= 0 && tabs[newIndex].disabled) {\n newIndex--\n }\n break\n \n default:\n return\n }\n \n if (newIndex !== index && newIndex >= 0 && newIndex < tabs.length) {\n setFocusedIndex(newIndex)\n tabRefs.current[newIndex]?.focus()\n }\n }\n \n return (\n <StyledTabList\n $variant={variant}\n role=\"tablist\"\n aria-label={ariaLabel}\n data-testid={dataTestId}\n >\n {tabs.map((tab, index) => (\n <StyledTab\n key={tab.id}\n ref={el => { tabRefs.current[index] = el }}\n $variant={variant}\n $isActive={tab.id === activeTab}\n $disabled={tab.disabled || false}\n role=\"tab\"\n aria-selected={tab.id === activeTab}\n aria-disabled={tab.disabled || false}\n tabIndex={index === focusedIndex ? 0 : -1}\n disabled={tab.disabled}\n onClick={() => handleTabClick(tab, index)}\n onKeyDown={(e) => handleKeyDown(e, index)}\n data-testid={`${dataTestId}-tab-${tab.id}`}\n >\n {tab.label}\n {typeof tab.badge === 'number' && tab.badge > 0 && (\n <StyledBadge \n $variant={variant}\n $isActive={tab.id === activeTab}\n aria-label={`${tab.badge} items`}\n >\n {tab.badge > 99 ? '99+' : tab.badge}\n </StyledBadge>\n )}\n </StyledTab>\n ))}\n </StyledTabList>\n )\n}\n\nTabBar.displayName = 'TabBar'\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 { CategoryBadge, CategoryColor } from '../../atoms/CategoryBadge'\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.subtle};\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: none;\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.sm};\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 CategoryBadge configurations\nconst categoryConfig: Record<TransactionCategory, { color: CategoryColor; icon: IconName; label: string }> = {\n shopping: { color: 'purple', icon: 'paper', label: 'Shopping' },\n dining: { color: 'orange', icon: 'paper', label: 'Dining' },\n transport: { color: 'blue', icon: 'paper', label: 'Transport' },\n entertainment: { color: 'pink', icon: 'star', label: 'Entertainment' },\n bills: { color: 'red', icon: 'paper', label: 'Bills' },\n other: { color: 'gray', icon: 'paper', label: 'Other' }\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 configuration\n const categoryData = category ? categoryConfig[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 <StyledTruncatedText>\n <Typography variant=\"body\">\n {merchant}\n </Typography>\n </StyledTruncatedText>\n {categoryData && (\n <CategoryBadge\n color={categoryData.color}\n icon={categoryData.icon}\n size=\"small\"\n variant=\"minimal\"\n aria-label={`Category: ${categoryData.label}`}\n >\n {categoryData.label}\n </CategoryBadge>\n )}\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=\"small\" \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","_jsx","__assign","role","concat","children","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","as","defaultElement","elementType","shadow","scaleIn","keyframes","BadgeWrapper","BadgeIndicator","$isVisible","$isDot","ScreenReaderOnly","templateObject_4","Badge","count","max","dot","ariaLabel","className","isVisible","displayCount","toString","defaultAriaLabel","_jsxs","StyledBox","templateObject_49","$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","$mx","$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","$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","$shadow","templateObject_40","$cursor","templateObject_41","$transition","templateObject_42","$hoverShadow","$hoverTransform","templateObject_45","templateObject_44","$overflow","templateObject_46","$overflowX","templateObject_47","$overflowY","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","cursor","transition","hoverShadow","hoverTransform","overflow","overflowX","overflowY","onClick","onKeyDown","tabIndex","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","Button","url","purpose","target","LinkComponent","linkComponent","href","linkProps","buttonProps_1","handleClick","e","window","open","location","buttonProps","getColorStyles","colorKey","category","borderColor","StyledCategoryBadge","$clickable","$disabled","strong","CategoryBadge","hasClickHandler","Boolean","isClickable","colorStyles","sizeStyles","cssProps","handleKeyDown","event","key","preventDefault","undefined","style","chip","$selected","subtle","StyledChip","chipTokens","IconContainer","CloseButton","fast","Chip","ariaDescribedBy","title","normalizedVariant","content","LegacyChip","newVariant","FilterChip","selected","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","minimal","margin","Divider","orientation","StyledStack","getGapValue","semanticSpacing","Stack","direction","wrap","gapValue","getStatusConfig","status","configs","pending","bgColor","completed","failed","cancelled","processing","scheduled","StyledStatusBadge","StatusBadge","showIcon","liveRegion","statusConfig","displayLabel","StyledTag","Tag","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","slideUp","fadeIn","StyledOverlay","StyledActionSheet","StyledHeaderContent","StyledCloseButton","StyledActionsList","StyledActionButton","$destructive","ActionSheet","isOpen","onClose","description","actions","closeOnOverlayClick","closeOnEscape","showCloseButton","sheetRef","useRef","previousActiveElement","useEffect","current","document","activeElement","focusableElements","querySelectorAll","firstElement","lastElement","length","shiftKey","addEventListener","requestAnimationFrame","firstButton","querySelector","originalOverflow","removeEventListener","handleOverlayClick","currentTarget","handleActionClick","onSelect","destructiveIndex","findIndex","destructive","hasDestructive","createPortal","_Fragment","ref","id","index","variantIcons","info","variantIconColors","variantTitleColors","StyledAlert","$inline","StyledIconContainer","StyledContent","StyledTitle","StyledMessage","StyledDismissButton","Alert","dismissible","inline","ariaLive","React","setIsVisible","alertIconColor","alertTitleColor","BreadcrumbNavStyled","nav","BreadcrumbStyled","li","BreadcrumbSeparator","isInternalUrl","Breadcrumbs","breadcrumbs","breadcrumb","Fragment","rel","CardSmallStyled","CardSmall","meta","CardLargeStyled","CardLarge","excerpt","labels","onImageClick","imageHref","Array","isArray","HiddenCheckboxInput","input","StyledCheckbox","borderWidth","$checked","$indeterminate","$state","StyledCheckboxContainer","$labelPosition","StyledCheckboxLabel","StyledFieldContainer","StyledHelperText","$error","Checkbox","forwardRef","checked","indeterminate","labelPosition","helperText","onChange","providedId","ariaDescribedby","generatedId","useId","helperTextId","errorId","state","describedBy","filter","inputRef","useImperativeHandle","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","renderIllustration","marginTop","FeatureBlockStyled","ImageWrapper","ContentSection","ButtonWrapper","ContentWrapper","FeatureBlock","coverImage","onReadMore","readMoreHref","readMoreText","zIndex","DropdownContainer","DropdownTrigger","paddingY","paddingX","$hasError","$isOpen","DropdownIcon","DropdownMenu","DropdownOption","$isSelected","$isFocused","Dropdown","options","placeholder","setIsOpen","focusedIndex","setFocusedIndex","dropdownRef","dropdownId","selectedOption","option","hasError","helperId","handleClickOutside","contains","trigger","prev","newIndex","handleOptionClick","handleTriggerClick","selectedIndex","optionId","htmlFor","marginBottom","StyledList","ul","$dividers","List","dividers","StyledListItem","$interactive","opacity","StyledItemContent","$spacing","StyledTextContent","StyledRightContent","StyledChevronIcon","$expanded","StyledExpandedContent","ListItem","badge","expandable","expanded","onToggle","customRole","ariaSelected","customTabIndex","customOnKeyDown","isInteractive","contentRole","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","handleDecrement","handleChange","inputValue","test","parsedValue","isIncrementDisabled","isDecrementDisabled","ariaDescribedByIds","inputMode","PageTitleStyled","$hasBackButton","PageTitle","hasBackButton","StyledToggleButton","PasswordField","showToggle","inputProps","showPassword","setShowPassword","togglePasswordVisibility","paddingRight","StyledSearchContainer","StyledInput","StyledSuggestionsList","StyledSectionHeader","debounce","func","wait","timeout","args","_i","arguments","apply","SearchField","suggestions","showRecentSearches","recentSearches","onSuggestionSelect","onClearRecentSearches","debounceMs","loading","_j","_k","isFocused","setIsFocused","_l","showSuggestions","setShowSuggestions","_m","highlightedIndex","setHighlightedIndex","_o","debouncedValue","setDebouncedValue","listRef","debouncedOnChange","useMemo","displayItems","items","forEach","s","push","data","r","handleInputChange","handleFocus","onFocus","call","handleBlur","onBlur","handleSuggestionClick","item","suggestion","handleClear","scrollIntoView","block","showClearButton","hasItems","isString","slideInRight","slideInLeft","slideInTop","slideInBottom","StyledSheet","templateObject_12","isDrawer","StyledSheetContent","Sheet","previousFocusRef","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","StyledTabList","StyledTab","$isActive","StyledBadge","TabBar","tabs","activeTab","onTabChange","tabRefs","tab","handleTabClick","el","TextField","StyledAvatarSection","StyledMainContent","StyledTopRow","StyledMerchantSection","StyledBottomRow","StyledMetadata","StyledIconIndicator","StyledTruncatedText","categoryConfig","shopping","dining","transport","entertainment","bills","other","statusToBadgeVariant","TransactionListItem","merchant","merchantLogo","hasReceipt","hasNote","amountVariant","categoryData","badgeVariant","GridContainer","$cols","$gapX","$gapY","Grid","cols","gapX","gapY","GridColContainer","$span","$order","$spanSm","$spanMd","$spanLg","$spanXl","$orderSm","templateObject_11","$orderMd","$orderLg","$orderXl","GridCol","spanSm","spanMd","spanLg","spanXl","order","orderSm","orderMd","orderLg","orderXl","ResponsiveGridContainer","$colsSm","$colsMd","$colsLg","$colsXl","$gapSm","$gapMd","$gapLg","$gapXl","$gapXSm","templateObject_27","$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]}