@duro-app/ui 0.12.1 → 0.14.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (134) hide show
  1. package/dist/components/PageShell/PageShell.d.ts +15 -0
  2. package/dist/components/PageShell/PageShell.d.ts.map +1 -0
  3. package/dist/components/PageShell/index.d.ts +3 -0
  4. package/dist/components/PageShell/index.d.ts.map +1 -0
  5. package/dist/components/PageShell/styles.css.d.ts +41 -0
  6. package/dist/components/PageShell/styles.css.d.ts.map +1 -0
  7. package/dist/components/ThemeProvider/ThemeProvider.d.ts.map +1 -1
  8. package/dist/index.css +1 -1
  9. package/dist/index.d.ts +1 -2
  10. package/dist/index.d.ts.map +1 -1
  11. package/dist/index.js +3283 -3434
  12. package/dist/index.js.map +1 -1
  13. package/package.json +4 -4
  14. package/src/components/Alert/Alert.stories.tsx +76 -0
  15. package/src/components/Alert/Alert.tsx +45 -0
  16. package/src/components/Alert/styles.css.ts +50 -0
  17. package/src/components/Badge/Badge.stories.tsx +94 -0
  18. package/src/components/Badge/Badge.tsx +21 -0
  19. package/src/components/Badge/styles.css.ts +51 -0
  20. package/src/components/Button/Button.stories.tsx +130 -0
  21. package/src/components/Button/Button.tsx +48 -0
  22. package/src/components/Button/styles.css.ts +107 -0
  23. package/src/components/Callout/Callout.stories.tsx +97 -0
  24. package/src/components/Callout/Callout.tsx +39 -0
  25. package/src/components/Callout/index.ts +1 -0
  26. package/src/components/Callout/styles.css.ts +45 -0
  27. package/src/components/Card/Card.stories.tsx +119 -0
  28. package/src/components/Card/Card.tsx +35 -0
  29. package/src/components/Card/styles.css.ts +67 -0
  30. package/src/components/Checkbox/Checkbox.stories.tsx +88 -0
  31. package/src/components/Checkbox/Checkbox.tsx +73 -0
  32. package/src/components/Checkbox/styles.css.ts +57 -0
  33. package/src/components/Cluster/Cluster.stories.tsx +92 -0
  34. package/src/components/Cluster/Cluster.tsx +43 -0
  35. package/src/components/Cluster/styles.css.ts +25 -0
  36. package/src/components/EmptyState/EmptyState.stories.tsx +54 -0
  37. package/src/components/EmptyState/EmptyState.tsx +19 -0
  38. package/src/components/EmptyState/styles.css.ts +25 -0
  39. package/src/components/Field/Field.stories.tsx +92 -0
  40. package/src/components/Field/Field.tsx +80 -0
  41. package/src/components/Field/FieldContext.ts +14 -0
  42. package/src/components/Field/styles.css.ts +25 -0
  43. package/src/components/Fieldset/Fieldset.stories.tsx +85 -0
  44. package/src/components/Fieldset/Fieldset.tsx +48 -0
  45. package/src/components/Fieldset/index.ts +1 -0
  46. package/src/components/Fieldset/styles.css.ts +33 -0
  47. package/src/components/Grid/Grid.stories.tsx +107 -0
  48. package/src/components/Grid/Grid.tsx +41 -0
  49. package/src/components/Grid/styles.css.ts +25 -0
  50. package/src/components/Heading/Heading.tsx +48 -0
  51. package/src/components/Heading/styles.css.ts +26 -0
  52. package/src/components/Icon/Icon.tsx +168 -0
  53. package/src/components/Icon/index.ts +2 -0
  54. package/src/components/Inline/Inline.stories.tsx +88 -0
  55. package/src/components/Inline/Inline.tsx +45 -0
  56. package/src/components/Inline/styles.css.ts +27 -0
  57. package/src/components/Input/Input.stories.tsx +89 -0
  58. package/src/components/Input/Input.tsx +77 -0
  59. package/src/components/Input/styles.css.ts +60 -0
  60. package/src/components/InputGroup/InputGroup.stories.tsx +119 -0
  61. package/src/components/InputGroup/InputGroup.tsx +60 -0
  62. package/src/components/InputGroup/InputGroupContext.ts +11 -0
  63. package/src/components/InputGroup/styles.css.ts +61 -0
  64. package/src/components/LinkButton/LinkButton.stories.tsx +91 -0
  65. package/src/components/LinkButton/LinkButton.tsx +42 -0
  66. package/src/components/LinkButton/styles.css.ts +56 -0
  67. package/src/components/Menu/Menu.stories.tsx +146 -0
  68. package/src/components/Menu/Menu.tsx +151 -0
  69. package/src/components/Menu/MenuContext.ts +20 -0
  70. package/src/components/Menu/styles.css.ts +89 -0
  71. package/src/components/Menu/useMenuRoot.ts +136 -0
  72. package/src/components/PageShell/PageShell.tsx +45 -0
  73. package/src/components/PageShell/index.ts +2 -0
  74. package/src/components/PageShell/styles.css.ts +26 -0
  75. package/src/components/ScrollArea/ScrollArea.stories.tsx +82 -0
  76. package/src/components/ScrollArea/ScrollArea.tsx +170 -0
  77. package/src/components/ScrollArea/ScrollAreaContext.ts +21 -0
  78. package/src/components/ScrollArea/styles.css.ts +81 -0
  79. package/src/components/ScrollArea/useScrollAreaRoot.ts +72 -0
  80. package/src/components/Select/Select.stories.tsx +144 -0
  81. package/src/components/Select/Select.tsx +183 -0
  82. package/src/components/Select/SelectContext.ts +24 -0
  83. package/src/components/Select/styles.css.ts +97 -0
  84. package/src/components/Select/useSelectRoot.ts +178 -0
  85. package/src/components/SideNav/SideNav.stories.tsx +77 -0
  86. package/src/components/SideNav/SideNav.tsx +172 -0
  87. package/src/components/SideNav/SideNavContext.ts +18 -0
  88. package/src/components/SideNav/styles.css.ts +95 -0
  89. package/src/components/Spinner/Spinner.stories.tsx +59 -0
  90. package/src/components/Spinner/Spinner.tsx +24 -0
  91. package/src/components/Spinner/styles.css.ts +47 -0
  92. package/src/components/Stack/Stack.stories.tsx +103 -0
  93. package/src/components/Stack/Stack.tsx +33 -0
  94. package/src/components/Stack/styles.css.ts +21 -0
  95. package/src/components/StatusIcon/StatusIcon.stories.tsx +81 -0
  96. package/src/components/StatusIcon/StatusIcon.tsx +24 -0
  97. package/src/components/StatusIcon/styles.css.ts +27 -0
  98. package/src/components/Switch/Switch.stories.tsx +88 -0
  99. package/src/components/Switch/Switch.tsx +78 -0
  100. package/src/components/Switch/styles.css.ts +71 -0
  101. package/src/components/Table/Table.stories.tsx +308 -0
  102. package/src/components/Table/Table.tsx +179 -0
  103. package/src/components/Table/styles.css.ts +97 -0
  104. package/src/components/Tabs/Tabs.stories.tsx +142 -0
  105. package/src/components/Tabs/Tabs.tsx +210 -0
  106. package/src/components/Tabs/TabsContext.ts +20 -0
  107. package/src/components/Tabs/styles.css.ts +98 -0
  108. package/src/components/Tabs/useTabsRoot.ts +42 -0
  109. package/src/components/Text/Text.tsx +52 -0
  110. package/src/components/Text/styles.css.ts +57 -0
  111. package/src/components/Textarea/Textarea.stories.tsx +80 -0
  112. package/src/components/Textarea/Textarea.tsx +50 -0
  113. package/src/components/Textarea/styles.css.ts +56 -0
  114. package/src/components/ThemeProvider/ThemeProvider.stories.tsx +163 -0
  115. package/src/components/ThemeProvider/ThemeProvider.tsx +33 -0
  116. package/src/components/Toggle/Toggle.stories.tsx +84 -0
  117. package/src/components/Toggle/Toggle.tsx +85 -0
  118. package/src/components/Toggle/styles.css.ts +66 -0
  119. package/src/components/ToggleGroup/ToggleGroup.stories.tsx +159 -0
  120. package/src/components/ToggleGroup/ToggleGroup.tsx +63 -0
  121. package/src/components/ToggleGroup/ToggleGroupContext.ts +18 -0
  122. package/src/components/ToggleGroup/styles.css.ts +17 -0
  123. package/src/components/Tooltip/Tooltip.stories.tsx +127 -0
  124. package/src/components/Tooltip/Tooltip.tsx +97 -0
  125. package/src/components/Tooltip/styles.css.ts +56 -0
  126. package/src/docs/Spacing.mdx +80 -0
  127. package/src/docs/Spacing.stories.tsx +202 -0
  128. package/src/docs/Typography.mdx +93 -0
  129. package/src/docs/Typography.stories.tsx +211 -0
  130. package/src/docs/helpers.tsx +135 -0
  131. package/src/hooks/useContainerQuery.ts +54 -0
  132. package/src/hooks/useControllableValue.ts +18 -0
  133. package/src/index.ts +56 -0
  134. package/src/stubs/assets-registry.ts +3 -0
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sources":["../../../node_modules/.pnpm/react-strict-dom@0.0.55_postcss@8.5.6_react-dom@19.2.4_react@19.2.4__react-native@0.84._1278be21509893d955b57d0db9435779/node_modules/react-strict-dom/dist/web/runtime.js","../../../node_modules/.pnpm/react@19.2.4/node_modules/react/cjs/react-compiler-runtime.production.js","../../../node_modules/.pnpm/react@19.2.4/node_modules/react/cjs/react-compiler-runtime.development.js","../../../node_modules/.pnpm/react@19.2.4/node_modules/react/compiler-runtime.js","../src/components/Icon/Icon.tsx","../src/components/Alert/styles.css.ts","../src/components/Alert/Alert.tsx","../src/components/Badge/styles.css.ts","../src/components/Badge/Badge.tsx","../src/components/Button/styles.css.ts","../src/components/Button/Button.tsx","../src/components/Callout/styles.css.ts","../src/components/Callout/Callout.tsx","../src/components/Card/styles.css.ts","../src/components/Card/Card.tsx","../src/components/Checkbox/styles.css.ts","../src/components/Checkbox/Checkbox.tsx","../src/components/EmptyState/styles.css.ts","../src/components/EmptyState/EmptyState.tsx","../../tokens/src/tokens/type-presets.css.ts","../src/components/Heading/styles.css.ts","../src/components/Heading/Heading.tsx","../src/components/Field/FieldContext.ts","../src/components/Field/styles.css.ts","../src/components/Field/Field.tsx","../src/components/Fieldset/styles.css.ts","../src/components/Fieldset/Fieldset.tsx","../src/components/InputGroup/InputGroupContext.ts","../src/components/Input/styles.css.ts","../src/components/Input/Input.tsx","../src/components/InputGroup/styles.css.ts","../src/components/InputGroup/InputGroup.tsx","../src/components/LinkButton/styles.css.ts","../src/components/LinkButton/LinkButton.tsx","../src/components/Menu/styles.css.ts","../src/components/Menu/MenuContext.ts","../src/components/Menu/useMenuRoot.ts","../src/components/Menu/Menu.tsx","../src/components/ScrollArea/styles.css.ts","../src/components/ScrollArea/ScrollAreaContext.ts","../src/components/ScrollArea/useScrollAreaRoot.ts","../src/components/ScrollArea/ScrollArea.tsx","../src/components/Select/styles.css.ts","../src/components/Select/SelectContext.ts","../src/hooks/useControllableValue.ts","../src/components/Select/useSelectRoot.ts","../src/components/Select/Select.tsx","../src/components/SideNav/styles.css.ts","../src/components/SideNav/SideNavContext.ts","../src/components/SideNav/SideNav.tsx","../src/components/Spinner/styles.css.ts","../src/components/Spinner/Spinner.tsx","../src/components/StatusIcon/styles.css.ts","../src/components/StatusIcon/StatusIcon.tsx","../../../node_modules/.pnpm/react-strict-dom@0.0.55_postcss@8.5.6_react-dom@19.2.4_react@19.2.4__react-native@0.84._1278be21509893d955b57d0db9435779/node_modules/react-strict-dom/dist/web/index.js","../src/components/Table/styles.css.ts","../src/components/Table/Table.tsx","../src/components/Tabs/styles.css.ts","../src/components/Tabs/TabsContext.ts","../src/components/Tabs/useTabsRoot.ts","../src/components/Tabs/Tabs.tsx","../src/components/Textarea/styles.css.ts","../src/components/Textarea/Textarea.tsx","../../tokens/dist/index.js","../src/components/ThemeProvider/ThemeProvider.tsx","../src/components/Text/styles.css.ts","../src/components/Text/Text.tsx","../src/components/ToggleGroup/ToggleGroupContext.ts","../src/components/Toggle/styles.css.ts","../src/components/Toggle/Toggle.tsx","../src/components/ToggleGroup/styles.css.ts","../src/components/ToggleGroup/ToggleGroup.tsx","../src/components/Tooltip/styles.css.ts","../src/components/Tooltip/Tooltip.tsx","../src/components/Switch/styles.css.ts","../src/components/Switch/Switch.tsx","../src/components/Stack/styles.css.ts","../src/components/Stack/Stack.tsx","../src/components/Inline/styles.css.ts","../src/components/Inline/Inline.tsx","../src/components/Cluster/styles.css.ts","../src/components/Cluster/Cluster.tsx","../src/components/Grid/styles.css.ts","../src/components/Grid/Grid.tsx","../src/hooks/useContainerQuery.ts"],"sourcesContent":["/**\n * @license react-strict-dom\n * Copyright (c) Meta Platforms, Inc. and affiliates.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n\n'use strict';\nimport * as stylex from '@stylexjs/stylex';\n\nvar styleq$1 = {};\n\nObject.defineProperty(styleq$1, \"__esModule\", {\n value: true\n});\nvar styleq_2 = styleq$1.styleq = void 0;\nvar cache = new WeakMap();\nvar compiledKey = '$$css';\nfunction createStyleq(options) {\n var disableCache;\n var disableMix;\n var transform;\n if (options != null) {\n disableCache = options.disableCache === true;\n disableMix = options.disableMix === true;\n transform = options.transform;\n }\n return function styleq() {\n var definedProperties = [];\n var className = '';\n var inlineStyle = null;\n var debugString = '';\n var nextCache = disableCache ? null : cache;\n var styles = new Array(arguments.length);\n for (var i = 0; i < arguments.length; i++) {\n styles[i] = arguments[i];\n }\n while (styles.length > 0) {\n var possibleStyle = styles.pop();\n if (possibleStyle == null || possibleStyle === false) {\n continue;\n }\n if (Array.isArray(possibleStyle)) {\n for (var _i = 0; _i < possibleStyle.length; _i++) {\n styles.push(possibleStyle[_i]);\n }\n continue;\n }\n var style = transform != null ? transform(possibleStyle) : possibleStyle;\n if (style.$$css != null) {\n var classNameChunk = '';\n if (nextCache != null && nextCache.has(style)) {\n var cacheEntry = nextCache.get(style);\n if (cacheEntry != null) {\n classNameChunk = cacheEntry[0];\n debugString = cacheEntry[2];\n definedProperties.push.apply(definedProperties, cacheEntry[1]);\n nextCache = cacheEntry[3];\n }\n } else {\n var definedPropertiesChunk = [];\n for (var prop in style) {\n var value = style[prop];\n if (prop === compiledKey) {\n var compiledKeyValue = style[prop];\n if (compiledKeyValue !== true) {\n debugString = debugString ? compiledKeyValue + '; ' + debugString : compiledKeyValue;\n }\n continue;\n }\n if (typeof value === 'string' || value === null) {\n if (!definedProperties.includes(prop)) {\n definedProperties.push(prop);\n if (nextCache != null) {\n definedPropertiesChunk.push(prop);\n }\n if (typeof value === 'string') {\n classNameChunk += classNameChunk ? ' ' + value : value;\n }\n }\n } else {\n console.error(\"styleq: \".concat(prop, \" typeof \").concat(String(value), \" is not \\\"string\\\" or \\\"null\\\".\"));\n }\n }\n if (nextCache != null) {\n var weakMap = new WeakMap();\n nextCache.set(style, [classNameChunk, definedPropertiesChunk, debugString, weakMap]);\n nextCache = weakMap;\n }\n }\n if (classNameChunk) {\n className = className ? classNameChunk + ' ' + className : classNameChunk;\n }\n } else {\n if (disableMix) {\n if (inlineStyle == null) {\n inlineStyle = {};\n }\n inlineStyle = Object.assign({}, style, inlineStyle);\n } else {\n var subStyle = null;\n for (var _prop in style) {\n var _value = style[_prop];\n if (_value !== undefined) {\n if (!definedProperties.includes(_prop)) {\n if (_value != null) {\n if (inlineStyle == null) {\n inlineStyle = {};\n }\n if (subStyle == null) {\n subStyle = {};\n }\n subStyle[_prop] = _value;\n }\n definedProperties.push(_prop);\n nextCache = null;\n }\n }\n }\n if (subStyle != null) {\n inlineStyle = Object.assign(subStyle, inlineStyle);\n }\n }\n }\n }\n var styleProps = [className, inlineStyle, debugString];\n return styleProps;\n };\n}\nvar styleq = styleq_2 = styleq$1.styleq = createStyleq();\nstyleq.factory = createStyleq;\n\nconst optimizedStyleq = styleq_2.factory({\n disableMix: true\n});\nfunction merge(...styles) {\n const [className, style, dataStyleSrc] = optimizedStyleq(styles);\n const result = {};\n if (className != null && className !== '') {\n result.className = className;\n }\n if (style != null) {\n result.style = style;\n }\n if (dataStyleSrc != null && dataStyleSrc !== '') {\n const chunks = dataStyleSrc.split(';');\n const pathsMap = {};\n for (const chunk of chunks) {\n const trimmed = chunk.trim();\n const [path, line] = trimmed.split(':');\n if (line != null) {\n pathsMap[path] = pathsMap[path] != null ? `${pathsMap[path]},${line}` : line;\n }\n }\n result['data-style-src'] = Object.keys(pathsMap).map(path => `${path}:${pathsMap[path]}`).join('; ');\n }\n return result;\n}\n\nconst styles = stylex.create({\n block: {\n margin: 0,\n padding: 0\n },\n inline: {\n margin: 0,\n padding: 0,\n textDecoration: 'none',\n textAlign: 'inherit',\n wordWrap: 'break-word'\n },\n inlineblock: {\n borderStyle: 'solid',\n margin: 0,\n padding: 0\n },\n button: {\n borderWidth: 1\n },\n codePre: {\n fontFamily: 'monospace, \"monospace\"',\n fontSize: '1em',\n overflow: 'auto'\n },\n heading: {\n fontSize: '1.5rem',\n wordWrap: 'break-word'\n },\n hr: {\n backgroundColor: 'black',\n borderStyle: 'none',\n borderWidth: 0,\n boxSizing: 'border-box',\n height: 1\n },\n img: {\n aspectRatio: 'attr(width) / attr(height)',\n height: 'auto',\n maxWidth: '100%'\n },\n input: {\n borderWidth: 1,\n borderStyle: 'solid'\n },\n list: {\n listStyle: 'none'\n },\n strong: {\n fontWeight: 'bold'\n },\n textarea: {\n borderWidth: 1,\n borderStyle: 'solid',\n resize: 'vertical'\n }\n});\nconst a = styles.inline;\nconst article = styles.block;\nconst aside = styles.block;\nconst b = styles.inline;\nconst bdi = styles.inline;\nconst bdo = styles.inline;\nconst blockquote = styles.block;\nconst br = null;\nconst button = [styles.inlineblock, styles.button];\nconst code = [styles.inline, styles.codePre];\nconst del = null;\nconst div = styles.block;\nconst em = styles.inline;\nconst fieldset = styles.block;\nconst footer = styles.block;\nconst form = styles.block;\nconst heading = [styles.block, styles.heading];\nconst header = styles.block;\nconst hr = [styles.block, styles.hr];\nconst i = styles.inline;\nconst img = styles.img;\nconst input = [styles.inlineblock, styles.input];\nconst ins = null;\nconst kbd = null;\nconst label = styles.inline;\nconst li = styles.block;\nconst main = styles.block;\nconst mark = styles.inline;\nconst nav = styles.block;\nconst ol = [styles.list, styles.block];\nconst optgroup = null;\nconst option = null;\nconst p = styles.block;\nconst pre = [styles.block, styles.codePre];\nconst s = null;\nconst section = styles.block;\nconst select = styles.inlineblock;\nconst span = styles.inline;\nconst strong = [styles.inline, styles.strong];\nconst sub = styles.inline;\nconst sup = styles.inline;\nconst textarea = [styles.inlineblock, styles.textarea];\nconst u = null;\nconst ul = [styles.list, styles.block];\nconst defaultStyles = {\n a: a,\n article: article,\n aside: aside,\n b: b,\n bdi: bdi,\n bdo: bdo,\n blockquote: blockquote,\n br: br,\n button: button,\n code: code,\n del: del,\n div: div,\n em: em,\n fieldset: fieldset,\n footer: footer,\n form: form,\n h1: heading,\n h2: heading,\n h3: heading,\n h4: heading,\n h5: heading,\n h6: heading,\n header: header,\n hr: hr,\n i: i,\n img: img,\n input: input,\n ins: ins,\n kbd: kbd,\n label: label,\n li: li,\n main: main,\n mark: mark,\n nav: nav,\n ol: ol,\n optgroup: optgroup,\n option: option,\n p: p,\n pre: pre,\n s: s,\n section: section,\n select: select,\n span: span,\n strong: strong,\n sub: sub,\n sup: sup,\n textarea: textarea,\n u: u,\n ul: ul\n};\n\nexport { defaultStyles, merge };\n","/**\n * @license React\n * react-compiler-runtime.production.js\n *\n * Copyright (c) Meta Platforms, Inc. and affiliates.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n\n\"use strict\";\nvar ReactSharedInternals =\n require(\"react\").__CLIENT_INTERNALS_DO_NOT_USE_OR_WARN_USERS_THEY_CANNOT_UPGRADE;\nexports.c = function (size) {\n return ReactSharedInternals.H.useMemoCache(size);\n};\n","/**\n * @license React\n * react-compiler-runtime.development.js\n *\n * Copyright (c) Meta Platforms, Inc. and affiliates.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n\n\"use strict\";\n\"production\" !== process.env.NODE_ENV &&\n (function () {\n var ReactSharedInternals =\n require(\"react\").__CLIENT_INTERNALS_DO_NOT_USE_OR_WARN_USERS_THEY_CANNOT_UPGRADE;\n exports.c = function (size) {\n var dispatcher = ReactSharedInternals.H;\n null === dispatcher &&\n console.error(\n \"Invalid hook call. Hooks can only be called inside of the body of a function component. This could happen for one of the following reasons:\\n1. You might have mismatching versions of React and the renderer (such as React DOM)\\n2. You might be breaking the Rules of Hooks\\n3. You might have more than one copy of React in the same app\\nSee https://react.dev/link/invalid-hook-call for tips about how to debug and fix this problem.\"\n );\n return dispatcher.useMemoCache(size);\n };\n })();\n","/**\n * Copyright (c) Meta Platforms, Inc. and affiliates.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n\n'use strict';\n\nif (process.env.NODE_ENV === 'production') {\n module.exports = require('./cjs/react-compiler-runtime.production.js');\n} else {\n module.exports = require('./cjs/react-compiler-runtime.development.js');\n}\n","import type {ReactNode} from 'react'\n\nexport type IconName =\n | 'x-circle'\n | 'check-circle'\n | 'check-done'\n | 'clock'\n | 'forbidden'\n | 'info-circle'\n | 'alert-triangle'\n | 'shield'\n | 'lock'\n | 'key'\n // Filled variants (solid shape with cutout symbol)\n | 'info-circle-filled'\n | 'alert-triangle-filled'\n | 'check-circle-filled'\n | 'x-circle-filled'\n | 'shield-filled'\n | 'lock-filled'\n\n/** Stroke-based icons (Feather/Lucide style) */\nconst strokeIcons: Partial<Record<IconName, ReactNode>> = {\n 'x-circle': (\n <>\n <circle cx=\"12\" cy=\"12\" r=\"10\" />\n <line x1=\"15\" y1=\"9\" x2=\"9\" y2=\"15\" />\n <line x1=\"9\" y1=\"9\" x2=\"15\" y2=\"15\" />\n </>\n ),\n 'check-circle': (\n <>\n <circle cx=\"12\" cy=\"12\" r=\"10\" />\n <polyline points=\"16 10 11 15 8 12\" />\n </>\n ),\n 'check-done': (\n <>\n <path d=\"M22 11.08V12a10 10 0 1 1-5.93-9.14\" />\n <polyline points=\"22 4 12 14.01 9 11.01\" />\n </>\n ),\n clock: (\n <>\n <circle cx=\"12\" cy=\"12\" r=\"10\" />\n <polyline points=\"12 6 12 12 16 14\" />\n </>\n ),\n forbidden: (\n <>\n <circle cx=\"12\" cy=\"12\" r=\"10\" />\n <line x1=\"4.93\" y1=\"4.93\" x2=\"19.07\" y2=\"19.07\" />\n </>\n ),\n 'info-circle': (\n <>\n <circle cx=\"12\" cy=\"12\" r=\"10\" />\n <line x1=\"12\" y1=\"16\" x2=\"12\" y2=\"12\" />\n <line x1=\"12\" y1=\"8\" x2=\"12.01\" y2=\"8\" />\n </>\n ),\n 'alert-triangle': (\n <>\n <path d=\"M10.29 3.86L1.82 18a2 2 0 0 0 1.71 3h16.94a2 2 0 0 0 1.71-3L13.71 3.86a2 2 0 0 0-3.42 0z\" />\n <line x1=\"12\" y1=\"9\" x2=\"12\" y2=\"13\" />\n <line x1=\"12\" y1=\"17\" x2=\"12.01\" y2=\"17\" />\n </>\n ),\n shield: <path d=\"M12 22s8-4 8-10V5l-8-3-8 3v7c0 6 8 10 8 10z\" />,\n lock: (\n <>\n <rect x=\"3\" y=\"11\" width=\"18\" height=\"11\" rx=\"2\" ry=\"2\" />\n <path d=\"M7 11V7a5 5 0 0 1 10 0v4\" />\n </>\n ),\n key: (\n <>\n <path d=\"M21 2l-2 2m-7.61 7.61a5.5 5.5 0 1 1-7.78 7.78 5.5 5.5 0 0 1 7.78-7.78zm0 0L15.5 7.5m0 0l3 3L22 7l-3-3m-3.5 3.5L19 4\" />\n </>\n ),\n}\n\n/**\n * Filled icons — solid shape with evenodd cutout for the inner symbol.\n * The cutout reveals the background color, so they work on any theme.\n * Uses fill=\"currentColor\" only, no stroke.\n */\nconst filledIcons: Partial<Record<IconName, ReactNode>> = {\n // Filled circle with \"i\" cutout (dot + line)\n 'info-circle-filled': (\n <path\n fillRule=\"evenodd\"\n d=\"M12 2C6.477 2 2 6.477 2 12s4.477 10 10 10 10-4.477 10-10S17.523 2 12 2zm-.75 6a.75.75 0 1 1 1.5 0 .75.75 0 0 1-1.5 0zM11 11a1 1 0 1 1 2 0v5a1 1 0 1 1-2 0v-5z\"\n />\n ),\n // Filled triangle with \"!\" cutout\n 'alert-triangle-filled': (\n <path\n fillRule=\"evenodd\"\n d=\"M10.29 3.86L1.82 18a2 2 0 0 0 1.71 3h16.94a2 2 0 0 0 1.71-3L13.71 3.86a2 2 0 0 0-3.42 0zM11 10a1 1 0 1 1 2 0v3a1 1 0 1 1-2 0v-3zm.25 6a.75.75 0 1 1 1.5 0 .75.75 0 0 1-1.5 0z\"\n />\n ),\n // Filled circle with checkmark cutout\n 'check-circle-filled': (\n <path\n fillRule=\"evenodd\"\n d=\"M12 2C6.477 2 2 6.477 2 12s4.477 10 10 10 10-4.477 10-10S17.523 2 12 2zm4.707 8.707a1 1 0 0 0-1.414-1.414L11 13.586l-2.293-2.293a1 1 0 0 0-1.414 1.414l3 3a1 1 0 0 0 1.414 0l5-5z\"\n />\n ),\n // Filled circle with X cutout\n 'x-circle-filled': (\n <path\n fillRule=\"evenodd\"\n d=\"M12 2C6.477 2 2 6.477 2 12s4.477 10 10 10 10-4.477 10-10S17.523 2 12 2zM9.707 8.293a1 1 0 0 0-1.414 1.414L10.586 12l-2.293 2.293a1 1 0 1 0 1.414 1.414L12 13.414l2.293 2.293a1 1 0 0 0 1.414-1.414L13.414 12l2.293-2.293a1 1 0 0 0-1.414-1.414L12 10.586 9.707 8.293z\"\n />\n ),\n // Filled shield with checkmark cutout\n 'shield-filled': (\n <path\n fillRule=\"evenodd\"\n d=\"M12 1L3 5v7c0 6.5 8.5 10.5 9 10.73.5-.23 9-4.23 9-10.73V5l-9-4zm3.707 8.707a1 1 0 0 0-1.414-1.414L11 11.586l-1.293-1.293a1 1 0 0 0-1.414 1.414l2 2a1 1 0 0 0 1.414 0l4-4z\"\n />\n ),\n // Filled lock body with stroke shackle\n 'lock-filled': (\n <>\n <path\n d=\"M7 11V7a5 5 0 0 1 10 0v4\"\n fill=\"none\"\n stroke=\"currentColor\"\n strokeWidth=\"2\"\n strokeLinecap=\"round\"\n />\n <rect x=\"3\" y=\"11\" width=\"18\" height=\"11\" rx=\"2\" ry=\"2\" />\n </>\n ),\n}\n\ninterface IconProps {\n name: IconName\n size?: number\n}\n\nexport function Icon({name, size = 24}: IconProps) {\n const filled = filledIcons[name]\n if (filled) {\n return (\n <svg viewBox=\"0 0 24 24\" fill=\"currentColor\" width={size} height={size}>\n {filled}\n </svg>\n )\n }\n\n return (\n <svg\n viewBox=\"0 0 24 24\"\n fill=\"none\"\n stroke=\"currentColor\"\n strokeWidth={2}\n strokeLinecap=\"round\"\n strokeLinejoin=\"round\"\n width={size}\n height={size}\n >\n {strokeIcons[name]}\n </svg>\n )\n}\n","import {css} from 'react-strict-dom'\nimport {colors} from '@duro-app/tokens/tokens/colors.css'\nimport {spacing, radii} from '@duro-app/tokens/tokens/spacing.css'\nimport {typography} from '@duro-app/tokens/tokens/typography.css'\n\nexport const styles = css.create({\n base: {\n display: 'flex',\n flexDirection: 'row',\n alignItems: 'flex-start',\n gap: spacing.sm,\n padding: spacing.md,\n borderRadius: radii.sm,\n borderWidth: 1,\n borderStyle: 'solid',\n fontSize: typography.fontSizeSm,\n lineHeight: typography.lineHeight,\n },\n iconWrap: {\n flexShrink: 0,\n display: 'flex',\n alignItems: 'center',\n justifyContent: 'center',\n paddingTop: 1,\n },\n content: {\n flex: 1,\n minWidth: 0,\n },\n error: {\n backgroundColor: colors.errorBg,\n borderColor: colors.errorBorder,\n color: colors.errorText,\n },\n success: {\n backgroundColor: colors.successBg,\n borderColor: colors.successBorder,\n color: colors.successText,\n },\n warning: {\n backgroundColor: colors.warningBg,\n borderColor: colors.warningBorder,\n color: colors.warningText,\n },\n info: {\n backgroundColor: colors.infoBg,\n borderColor: colors.infoBorder,\n color: colors.infoText,\n },\n})\n","import type {ReactNode} from 'react'\nimport {html} from 'react-strict-dom'\nimport {Icon} from '../Icon'\nimport type {IconName} from '../Icon'\nimport {styles} from './styles.css'\n\nexport type AlertVariant = 'error' | 'success' | 'warning' | 'info'\n\nconst defaultIcons: Record<AlertVariant, IconName> = {\n info: 'info-circle-filled',\n warning: 'alert-triangle-filled',\n success: 'check-circle-filled',\n error: 'x-circle-filled',\n}\n\ninterface AlertProps {\n variant?: AlertVariant\n /** Built-in icon name, custom ReactNode, or false to hide. Defaults to variant icon. */\n icon?: IconName | ReactNode | false\n children: ReactNode\n}\n\nfunction resolveIcon(icon: AlertProps['icon'], variant: AlertVariant): ReactNode | null {\n if (icon === false) return null\n if (icon === undefined) return <Icon name={defaultIcons[variant]} size={18} />\n if (typeof icon === 'string') return <Icon name={icon as IconName} size={18} />\n return icon\n}\n\nexport function Alert({variant = 'info', icon, children}: AlertProps) {\n const resolvedIcon = resolveIcon(icon, variant)\n\n return (\n <html.div role=\"alert\" style={[styles.base, styles[variant]]}>\n {resolvedIcon ? (\n <>\n <html.div style={styles.iconWrap}>{resolvedIcon}</html.div>\n <html.div style={styles.content}>{children}</html.div>\n </>\n ) : (\n children\n )}\n </html.div>\n )\n}\n","import {css} from 'react-strict-dom'\nimport {colors} from '@duro-app/tokens/tokens/colors.css'\nimport {spacing, radii} from '@duro-app/tokens/tokens/spacing.css'\nimport {typography} from '@duro-app/tokens/tokens/typography.css'\n\nexport const styles = css.create({\n base: {\n display: 'inline-flex',\n alignItems: 'center',\n justifyContent: 'center',\n fontFamily: typography.fontFamily,\n fontWeight: typography.fontWeightMedium,\n lineHeight: 1,\n borderRadius: radii.full,\n whiteSpace: 'nowrap',\n },\n sizeMd: {\n paddingTop: spacing.xs,\n paddingBottom: spacing.xs,\n paddingLeft: spacing.sm,\n paddingRight: spacing.sm,\n fontSize: typography.fontSizeXs,\n },\n sizeSm: {\n paddingTop: 2,\n paddingBottom: 2,\n paddingLeft: spacing.xs,\n paddingRight: spacing.xs,\n fontSize: '0.625rem',\n },\n default: {\n backgroundColor: colors.bgCardHover,\n color: colors.textMuted,\n },\n success: {\n backgroundColor: colors.successBg,\n color: colors.successText,\n },\n warning: {\n backgroundColor: colors.warningBg,\n color: colors.warningText,\n },\n error: {\n backgroundColor: colors.errorBg,\n color: colors.errorText,\n },\n info: {\n backgroundColor: colors.infoBg,\n color: colors.infoText,\n },\n})\n","import type {ReactNode} from 'react'\nimport {html} from 'react-strict-dom'\nimport {styles} from './styles.css'\n\nexport type BadgeVariant = 'default' | 'success' | 'warning' | 'error' | 'info'\nexport type BadgeSize = 'sm' | 'md'\n\ninterface BadgeProps {\n variant?: BadgeVariant\n size?: BadgeSize\n children: ReactNode\n}\n\nconst sizeMap = {\n sm: styles.sizeSm,\n md: styles.sizeMd,\n} as const\n\nexport function Badge({variant = 'default', size = 'md', children}: BadgeProps) {\n return <html.span style={[styles.base, sizeMap[size], styles[variant]]}>{children}</html.span>\n}\n","import {css} from 'react-strict-dom'\nimport {colors} from '@duro-app/tokens/tokens/colors.css'\nimport {spacing, radii} from '@duro-app/tokens/tokens/spacing.css'\nimport {typography} from '@duro-app/tokens/tokens/typography.css'\n\nexport const styles = css.create({\n base: {\n display: 'inline-flex',\n alignItems: 'center',\n justifyContent: 'center',\n gap: spacing.sm,\n fontFamily: typography.fontFamily,\n fontSize: typography.fontSizeSm,\n fontWeight: typography.fontWeightMedium,\n lineHeight: typography.lineHeight,\n borderRadius: radii.sm,\n borderWidth: 1,\n borderStyle: 'solid',\n cursor: 'pointer',\n transitionProperty: 'background-color, border-color, color, opacity',\n transitionDuration: '150ms',\n transitionTimingFunction: 'ease',\n textDecoration: 'none',\n outlineWidth: {\n default: 0,\n ':focus-visible': 2,\n },\n outlineStyle: {\n default: 'none',\n ':focus-visible': 'solid',\n },\n outlineColor: {\n default: 'transparent',\n ':focus-visible': colors.accent,\n },\n outlineOffset: {\n default: 0,\n ':focus-visible': 2,\n },\n },\n sizeDefault: {\n paddingTop: spacing.sm,\n paddingBottom: spacing.sm,\n paddingLeft: spacing.md,\n paddingRight: spacing.md,\n },\n sizeSmall: {\n paddingTop: spacing.xs,\n paddingBottom: spacing.xs,\n paddingLeft: spacing.sm,\n paddingRight: spacing.sm,\n fontSize: typography.fontSizeXs,\n },\n primary: {\n backgroundColor: {\n default: colors.accent,\n ':hover': colors.accentHover,\n ':active': colors.accentHover,\n },\n borderColor: {\n default: colors.accent,\n ':hover': colors.accentHover,\n },\n color: colors.accentContrast,\n },\n secondary: {\n backgroundColor: {\n default: 'transparent',\n ':hover': colors.bgCardHover,\n },\n borderColor: colors.border,\n color: colors.textMuted,\n },\n link: {\n backgroundColor: 'transparent',\n borderColor: 'transparent',\n color: {\n default: colors.accent,\n ':hover': colors.accentHover,\n },\n textDecoration: {\n default: 'none',\n ':hover': 'underline',\n },\n paddingLeft: 0,\n paddingRight: 0,\n },\n danger: {\n backgroundColor: {\n default: colors.error,\n ':hover': colors.errorHover,\n ':active': colors.errorHover,\n },\n borderColor: {\n default: colors.error,\n ':hover': colors.errorHover,\n },\n color: colors.errorContrast,\n },\n fullWidth: {\n width: '100%',\n },\n disabled: {\n opacity: 0.5,\n cursor: 'not-allowed',\n },\n})\n","import type {ReactNode} from 'react'\nimport {html} from 'react-strict-dom'\nimport {styles} from './styles.css'\n\nexport type ButtonVariant = 'primary' | 'secondary' | 'link' | 'danger'\nexport type ButtonSize = 'default' | 'small'\n\ninterface ButtonProps {\n variant?: ButtonVariant\n size?: ButtonSize\n fullWidth?: boolean\n disabled?: boolean\n type?: 'button' | 'submit'\n onClick?: () => void\n children: ReactNode\n}\n\nconst sizeMap = {\n default: styles.sizeDefault,\n small: styles.sizeSmall,\n} as const\n\nexport function Button({\n variant = 'primary',\n size = 'default',\n fullWidth = false,\n disabled = false,\n type = 'button',\n onClick,\n children,\n}: ButtonProps) {\n return (\n <html.button\n type={type}\n disabled={disabled}\n onClick={onClick}\n style={[\n styles.base,\n sizeMap[size],\n styles[variant],\n fullWidth && styles.fullWidth,\n disabled && styles.disabled,\n ]}\n >\n {children}\n </html.button>\n )\n}\n","import {css} from 'react-strict-dom'\nimport {colors} from '@duro-app/tokens/tokens/colors.css'\nimport {spacing, radii} from '@duro-app/tokens/tokens/spacing.css'\nimport {typography} from '@duro-app/tokens/tokens/typography.css'\n\nexport const styles = css.create({\n base: {\n padding: spacing.md,\n borderRadius: radii.sm,\n borderWidth: 1,\n borderStyle: 'solid',\n fontSize: typography.fontSizeSm,\n lineHeight: typography.lineHeight,\n overflow: 'hidden', // contain the float\n },\n icon: {\n float: 'left',\n marginRight: spacing.sm,\n marginBottom: spacing.xs,\n marginTop: 2,\n display: 'inline-flex',\n alignItems: 'center',\n justifyContent: 'center',\n },\n error: {\n backgroundColor: colors.errorBg,\n borderColor: colors.errorBorder,\n color: colors.errorText,\n },\n success: {\n backgroundColor: colors.successBg,\n borderColor: colors.successBorder,\n color: colors.successText,\n },\n warning: {\n backgroundColor: colors.warningBg,\n borderColor: colors.warningBorder,\n color: colors.warningText,\n },\n info: {\n backgroundColor: colors.infoBg,\n borderColor: colors.infoBorder,\n color: colors.infoText,\n },\n})\n","import type {ReactNode} from 'react'\nimport {html} from 'react-strict-dom'\nimport {Icon} from '../Icon'\nimport type {IconName} from '../Icon'\nimport {styles} from './styles.css'\n\nexport type CalloutVariant = 'error' | 'success' | 'warning' | 'info'\n\nconst defaultIcons: Record<CalloutVariant, IconName> = {\n info: 'info-circle-filled',\n warning: 'alert-triangle-filled',\n success: 'check-circle-filled',\n error: 'x-circle-filled',\n}\n\ninterface CalloutProps {\n variant?: CalloutVariant\n /** Built-in icon name, custom ReactNode, or false to hide. Defaults to variant icon. */\n icon?: IconName | ReactNode | false\n children: ReactNode\n}\n\nfunction resolveIcon(icon: CalloutProps['icon'], variant: CalloutVariant): ReactNode | null {\n if (icon === false) return null\n if (icon === undefined) return <Icon name={defaultIcons[variant]} size={36} />\n if (typeof icon === 'string') return <Icon name={icon as IconName} size={36} />\n return icon\n}\n\nexport function Callout({variant = 'info', icon, children}: CalloutProps) {\n const resolvedIcon = resolveIcon(icon, variant)\n\n return (\n <html.div role=\"note\" style={[styles.base, styles[variant]]}>\n {resolvedIcon && <html.span style={styles.icon}>{resolvedIcon}</html.span>}\n {children}\n </html.div>\n )\n}\n","import {css} from 'react-strict-dom'\nimport {colors} from '@duro-app/tokens/tokens/colors.css'\nimport {spacing, radii} from '@duro-app/tokens/tokens/spacing.css'\nimport {typography} from '@duro-app/tokens/tokens/typography.css'\nimport {shadows} from '@duro-app/tokens/tokens/shadows.css'\n\nexport const styles = css.create({\n base: {\n backgroundColor: colors.bgCard,\n color: colors.text,\n fontFamily: typography.fontFamily,\n },\n // Variants\n elevated: {\n borderRadius: radii.lg,\n borderWidth: 1,\n borderStyle: 'solid',\n borderColor: colors.border,\n boxShadow: shadows.md,\n },\n outlined: {\n borderRadius: radii.md,\n borderWidth: 1,\n borderStyle: 'solid',\n borderColor: colors.border,\n },\n filled: {\n borderRadius: radii.md,\n },\n interactive: {\n borderRadius: radii.md,\n borderWidth: 1,\n borderStyle: 'solid',\n borderColor: {\n default: colors.border,\n ':hover': colors.accent,\n },\n backgroundColor: {\n default: colors.bgCard,\n ':hover': colors.bgCardHover,\n },\n cursor: 'pointer',\n transitionProperty: 'background-color, border-color, transform',\n transitionDuration: '150ms',\n transitionTimingFunction: 'ease',\n transform: {\n default: 'translateY(0)',\n ':hover': 'translateY(-2px)',\n },\n },\n // Sizes (padding)\n sizeDefault: {\n padding: spacing.lg,\n },\n sizeCompact: {\n padding: spacing.md,\n },\n sizeFull: {\n padding: spacing.xl,\n },\n // Header\n header: {\n fontSize: typography.fontSizeLg,\n fontWeight: typography.fontWeightSemibold,\n marginBottom: spacing.md,\n },\n})\n","import type {ReactNode} from 'react'\nimport {html} from 'react-strict-dom'\nimport {styles} from './styles.css'\n\nexport type CardVariant = 'elevated' | 'outlined' | 'filled' | 'interactive'\nexport type CardSize = 'default' | 'compact' | 'full'\n\ninterface CardProps {\n variant?: CardVariant\n size?: CardSize\n header?: string\n onClick?: () => void\n children: ReactNode\n}\n\nconst sizeMap = {\n default: styles.sizeDefault,\n compact: styles.sizeCompact,\n full: styles.sizeFull,\n} as const\n\nexport function Card({\n variant = 'outlined',\n size = 'default',\n header,\n onClick,\n children,\n}: CardProps) {\n return (\n <html.div onClick={onClick} style={[styles.base, styles[variant], sizeMap[size]]}>\n {header && <html.div style={styles.header}>{header}</html.div>}\n {children}\n </html.div>\n )\n}\n","import {css} from 'react-strict-dom'\nimport {colors} from '@duro-app/tokens/tokens/colors.css'\nimport {spacing, radii} from '@duro-app/tokens/tokens/spacing.css'\nimport {typography} from '@duro-app/tokens/tokens/typography.css'\n\nexport const styles = css.create({\n root: {\n display: 'inline-flex',\n alignItems: 'center',\n gap: spacing.sm,\n cursor: 'pointer',\n fontSize: typography.fontSizeSm,\n color: colors.text,\n lineHeight: typography.lineHeight,\n },\n rootDisabled: {\n opacity: 0.5,\n cursor: 'not-allowed',\n },\n box: {\n width: 18,\n height: 18,\n borderWidth: 1,\n borderStyle: 'solid',\n borderRadius: radii.sm,\n display: 'inline-flex',\n alignItems: 'center',\n justifyContent: 'center',\n flexShrink: 0,\n transitionProperty: 'background-color, border-color',\n transitionDuration: '150ms',\n transitionTimingFunction: 'ease',\n },\n boxUnchecked: {\n backgroundColor: colors.bg,\n borderColor: {\n default: colors.border,\n ':hover': colors.textMuted,\n },\n },\n boxChecked: {\n backgroundColor: colors.accent,\n borderColor: colors.accent,\n },\n check: {\n width: 12,\n height: 12,\n color: colors.accentContrast,\n },\n input: {\n position: 'absolute',\n width: 1,\n height: 1,\n opacity: 0,\n overflow: 'hidden',\n },\n})\n","import {type ReactNode, useState, useCallback} from 'react'\nimport {html} from 'react-strict-dom'\nimport {styles} from './styles.css'\n\ninterface CheckboxProps {\n name?: string\n value?: string\n checked?: boolean\n defaultChecked?: boolean\n disabled?: boolean\n onChange?: (e: React.ChangeEvent<HTMLInputElement>) => void\n children?: ReactNode\n}\n\nexport function Checkbox({\n name,\n value,\n checked: controlledChecked,\n defaultChecked = false,\n disabled = false,\n onChange,\n children,\n}: CheckboxProps) {\n const isControlled = controlledChecked !== undefined\n const [internalChecked, setInternalChecked] = useState(defaultChecked)\n const isChecked = isControlled ? controlledChecked : internalChecked\n\n const handleChange = useCallback(\n (e: React.ChangeEvent<HTMLInputElement>) => {\n if (!isControlled) {\n setInternalChecked(e.target.checked)\n }\n onChange?.(e)\n },\n [isControlled, onChange],\n )\n\n return (\n <html.label style={[styles.root, disabled && styles.rootDisabled]}>\n <html.input\n type=\"checkbox\"\n name={name}\n value={value}\n checked={isControlled ? controlledChecked : undefined}\n defaultChecked={!isControlled ? defaultChecked : undefined}\n disabled={disabled}\n onChange={handleChange}\n style={styles.input}\n />\n <html.span\n style={[styles.box, isChecked ? styles.boxChecked : styles.boxUnchecked]}\n aria-hidden\n >\n <svg\n width={12}\n height={12}\n viewBox=\"0 0 12 12\"\n fill=\"none\"\n style={{opacity: isChecked ? 1 : 0}}\n >\n <polyline\n points=\"2.5 6 5 8.5 9.5 3.5\"\n stroke=\"currentColor\"\n strokeWidth={1.5}\n strokeLinecap=\"round\"\n strokeLinejoin=\"round\"\n />\n </svg>\n </html.span>\n {children && <html.span>{children}</html.span>}\n </html.label>\n )\n}\n","import {css} from 'react-strict-dom'\nimport {colors} from '@duro-app/tokens/tokens/colors.css'\nimport {spacing} from '@duro-app/tokens/tokens/spacing.css'\nimport {typography} from '@duro-app/tokens/tokens/typography.css'\n\nexport const styles = css.create({\n root: {\n display: 'flex',\n flexDirection: 'column',\n alignItems: 'center',\n justifyContent: 'center',\n gap: spacing.sm,\n paddingTop: spacing.xl,\n paddingBottom: spacing.xl,\n textAlign: 'center',\n },\n message: {\n fontSize: typography.fontSizeSm,\n color: colors.textMuted,\n lineHeight: typography.lineHeight,\n },\n action: {\n marginTop: spacing.sm,\n },\n})\n","import type {ReactNode} from 'react'\nimport {html} from 'react-strict-dom'\nimport {styles} from './styles.css'\n\ninterface EmptyStateProps {\n message: string\n icon?: ReactNode\n action?: ReactNode\n}\n\nexport function EmptyState({message, icon, action}: EmptyStateProps) {\n return (\n <html.div style={styles.root}>\n {icon}\n <html.p style={styles.message}>{message}</html.p>\n {action && <html.div style={styles.action}>{action}</html.div>}\n </html.div>\n )\n}\n","import {css} from 'react-strict-dom'\nimport {typography, typeScale} from './typography.css'\n\nexport const typePresets = css.create({\n // Body\n bodySm: {\n fontFamily: typography.fontFamily,\n fontSize: typeScale.fontSize3,\n lineHeight: typeScale.lineHeight3,\n fontWeight: typography.fontWeightNormal,\n letterSpacing: typeScale.letterSpacingNormal,\n },\n bodyMd: {\n fontFamily: typography.fontFamily,\n fontSize: typeScale.fontSize4,\n lineHeight: typeScale.lineHeight4,\n fontWeight: typography.fontWeightNormal,\n letterSpacing: typeScale.letterSpacingNormal,\n },\n bodyLg: {\n fontFamily: typography.fontFamily,\n fontSize: typeScale.fontSize5,\n lineHeight: typeScale.lineHeight5,\n fontWeight: typography.fontWeightNormal,\n letterSpacing: typeScale.letterSpacingNormal,\n },\n\n // UI\n caption: {\n fontFamily: typography.fontFamily,\n fontSize: typeScale.fontSize1,\n lineHeight: typeScale.lineHeight1,\n fontWeight: typography.fontWeightNormal,\n letterSpacing: typeScale.letterSpacingWide,\n },\n label: {\n fontFamily: typography.fontFamily,\n fontSize: typeScale.fontSize3,\n lineHeight: typeScale.lineHeight3,\n fontWeight: typography.fontWeightMedium,\n letterSpacing: typeScale.letterSpacingNormal,\n },\n code: {\n fontFamily: typography.fontFamilyMono,\n fontSize: typeScale.fontSize3,\n lineHeight: typeScale.lineHeight3,\n fontWeight: typography.fontWeightNormal,\n letterSpacing: typeScale.letterSpacingNormal,\n },\n overline: {\n fontFamily: typography.fontFamily,\n fontSize: typeScale.fontSize1,\n lineHeight: typeScale.lineHeight1,\n fontWeight: typography.fontWeightSemibold,\n letterSpacing: typeScale.letterSpacingWide,\n textTransform: 'uppercase' as const,\n },\n\n // Heading\n headingSm: {\n fontFamily: typography.fontFamily,\n fontSize: typeScale.fontSize6,\n lineHeight: typeScale.lineHeight6,\n fontWeight: typography.fontWeightSemibold,\n letterSpacing: typeScale.letterSpacingTight,\n },\n headingMd: {\n fontFamily: typography.fontFamily,\n fontSize: typeScale.fontSize7,\n lineHeight: typeScale.lineHeight7,\n fontWeight: typography.fontWeightSemibold,\n letterSpacing: typeScale.letterSpacingTight,\n },\n headingLg: {\n fontFamily: typography.fontFamily,\n fontSize: typeScale.fontSize8,\n lineHeight: typeScale.lineHeight8,\n fontWeight: typography.fontWeightBold,\n letterSpacing: typeScale.letterSpacingTight,\n },\n headingXl: {\n fontFamily: typography.fontFamily,\n fontSize: typeScale.fontSize9,\n lineHeight: typeScale.lineHeight9,\n fontWeight: typography.fontWeightBold,\n letterSpacing: typeScale.letterSpacingTight,\n },\n\n // Display (fluid)\n displaySm: {\n fontFamily: typography.fontFamily,\n fontSize: typeScale.displaySm,\n lineHeight: 1.2,\n fontWeight: typography.fontWeightBold,\n letterSpacing: typeScale.letterSpacingTight,\n },\n displayMd: {\n fontFamily: typography.fontFamily,\n fontSize: typeScale.displayMd,\n lineHeight: 1.15,\n fontWeight: typography.fontWeightBold,\n letterSpacing: typeScale.letterSpacingTight,\n },\n displayLg: {\n fontFamily: typography.fontFamily,\n fontSize: typeScale.displayLg,\n lineHeight: 1.1,\n fontWeight: typography.fontWeightBold,\n letterSpacing: typeScale.letterSpacingTight,\n },\n})\n","import {css} from 'react-strict-dom'\nimport {colors} from '@duro-app/tokens/tokens/colors.css'\n\nexport const styles = css.create({\n // Colors\n default: {\n color: colors.text,\n },\n muted: {\n color: colors.textMuted,\n },\n accent: {\n color: colors.accent,\n },\n\n // Alignment\n alignStart: {\n textAlign: 'start',\n },\n alignCenter: {\n textAlign: 'center',\n },\n alignEnd: {\n textAlign: 'end',\n },\n})\n","import type {ReactNode} from 'react'\nimport {html} from 'react-strict-dom'\nimport {typePresets} from '@duro-app/tokens/tokens/type-presets.css'\nimport {styles} from './styles.css'\n\nexport type HeadingVariant =\n | 'displayLg'\n | 'displayMd'\n | 'displaySm'\n | 'headingXl'\n | 'headingLg'\n | 'headingMd'\n | 'headingSm'\n\ninterface HeadingProps {\n level: 1 | 2 | 3 | 4 | 5 | 6\n variant?: HeadingVariant\n color?: 'default' | 'muted' | 'accent'\n align?: 'start' | 'center' | 'end'\n children: ReactNode\n}\n\nconst defaultVariantMap: Record<number, HeadingVariant> = {\n 1: 'headingXl',\n 2: 'headingLg',\n 3: 'headingMd',\n 4: 'headingSm',\n 5: 'headingSm',\n 6: 'headingSm',\n}\n\nconst alignMap = {\n start: styles.alignStart,\n center: styles.alignCenter,\n end: styles.alignEnd,\n} as const\n\nexport function Heading({level, variant, color = 'default', align, children}: HeadingProps) {\n const resolvedVariant = variant ?? defaultVariantMap[level]\n const style = [typePresets[resolvedVariant], styles[color], align && alignMap[align]]\n\n if (level === 1) return <html.h1 style={style}>{children}</html.h1>\n if (level === 2) return <html.h2 style={style}>{children}</html.h2>\n if (level === 3) return <html.h3 style={style}>{children}</html.h3>\n if (level === 4) return <html.h4 style={style}>{children}</html.h4>\n if (level === 5) return <html.h5 style={style}>{children}</html.h5>\n return <html.h6 style={style}>{children}</html.h6>\n}\n","import {createContext, useContext} from 'react'\n\ninterface FieldContextValue {\n controlId: string\n descriptionId: string\n errorId: string\n invalid: boolean\n}\n\nexport const FieldContext = createContext<FieldContextValue | null>(null)\n\nexport function useFieldContext() {\n return useContext(FieldContext)\n}\n","import {css} from 'react-strict-dom'\nimport {colors} from '@duro-app/tokens/tokens/colors.css'\nimport {spacing} from '@duro-app/tokens/tokens/spacing.css'\nimport {typography} from '@duro-app/tokens/tokens/typography.css'\n\nexport const styles = css.create({\n root: {\n display: 'flex',\n flexDirection: 'column',\n gap: spacing.xs,\n },\n label: {\n fontSize: typography.fontSizeSm,\n fontWeight: typography.fontWeightMedium,\n color: colors.text,\n },\n description: {\n fontSize: typography.fontSizeXs,\n color: colors.textMuted,\n },\n error: {\n fontSize: typography.fontSizeXs,\n color: colors.error,\n },\n})\n","import {type ReactNode, useId, useMemo} from 'react'\nimport {html} from 'react-strict-dom'\nimport {FieldContext, useFieldContext} from './FieldContext'\nimport {styles} from './styles.css'\n\n// --- Root ---\ninterface RootProps {\n invalid?: boolean\n children: ReactNode\n}\n\nfunction Root({invalid = false, children}: RootProps) {\n const id = useId()\n const ctx = useMemo(\n () => ({\n controlId: `${id}-control`,\n descriptionId: `${id}-description`,\n errorId: `${id}-error`,\n invalid,\n }),\n [id, invalid],\n )\n\n return (\n <FieldContext.Provider value={ctx}>\n <html.div style={styles.root}>{children}</html.div>\n </FieldContext.Provider>\n )\n}\n\n// --- Label ---\ninterface LabelProps {\n children: ReactNode\n}\n\nfunction Label({children}: LabelProps) {\n const ctx = useFieldContext()\n return (\n <html.label for={ctx?.controlId} style={styles.label}>\n {children}\n </html.label>\n )\n}\n\n// --- Description ---\ninterface DescriptionProps {\n children: ReactNode\n}\n\nfunction Description({children}: DescriptionProps) {\n const ctx = useFieldContext()\n return (\n <html.span id={ctx?.descriptionId} style={styles.description}>\n {children}\n </html.span>\n )\n}\n\n// --- Error ---\ninterface ErrorProps {\n children?: ReactNode\n}\n\nfunction Error({children}: ErrorProps) {\n const ctx = useFieldContext()\n if (!ctx?.invalid && !children) return null\n\n return (\n <html.span id={ctx?.errorId} role=\"alert\" style={styles.error}>\n {children}\n </html.span>\n )\n}\n\nexport const Field = {\n Root,\n Label,\n Description,\n Error,\n}\n","import {css} from 'react-strict-dom'\nimport {colors} from '@duro-app/tokens/tokens/colors.css'\nimport {spacing} from '@duro-app/tokens/tokens/spacing.css'\nimport {typography} from '@duro-app/tokens/tokens/typography.css'\n\nexport const styles = css.create({\n root: {\n display: 'flex',\n flexDirection: 'column',\n // Reset native fieldset chrome\n borderWidth: 0,\n margin: 0,\n padding: 0,\n minWidth: 0,\n },\n legend: {\n // Reset native legend quirks\n padding: 0,\n fontSize: typography.fontSizeSm,\n fontWeight: typography.fontWeightMedium,\n color: colors.text,\n },\n disabled: {\n opacity: 0.5,\n cursor: 'not-allowed',\n },\n gapXs: {gap: spacing.xs},\n gapSm: {gap: spacing.sm},\n gapMs: {gap: spacing.ms},\n gapMd: {gap: spacing.md},\n gapLg: {gap: spacing.lg},\n gapXl: {gap: spacing.xl},\n})\n","import type {ReactNode} from 'react'\nimport {html} from 'react-strict-dom'\nimport {styles} from './styles.css'\n\nexport type FieldsetGap = 'xs' | 'sm' | 'ms' | 'md' | 'lg' | 'xl'\n\nconst gapMap = {\n xs: styles.gapXs,\n sm: styles.gapSm,\n ms: styles.gapMs,\n md: styles.gapMd,\n lg: styles.gapLg,\n xl: styles.gapXl,\n} as const\n\n// --- Root ---\ninterface RootProps {\n /** Disables all form controls within the fieldset */\n disabled?: boolean\n /** Gap between child elements */\n gap?: FieldsetGap\n children: ReactNode\n}\n\nfunction Root({disabled = false, gap = 'md', children}: RootProps) {\n return (\n <html.fieldset\n disabled={disabled}\n style={[styles.root, gapMap[gap], disabled && styles.disabled]}\n >\n {children}\n </html.fieldset>\n )\n}\n\n// --- Legend ---\ninterface LegendProps {\n children: ReactNode\n}\n\nfunction Legend({children}: LegendProps) {\n return <html.legend style={styles.legend}>{children}</html.legend>\n}\n\nexport const Fieldset = {\n Root,\n Legend,\n}\n","import {createContext, useContext} from 'react'\n\ninterface InputGroupContextValue {\n inGroup: boolean\n}\n\nexport const InputGroupContext = createContext<InputGroupContextValue | null>(null)\n\nexport function useInputGroupContext() {\n return useContext(InputGroupContext)\n}\n","import {css} from 'react-strict-dom'\nimport {colors} from '@duro-app/tokens/tokens/colors.css'\nimport {spacing, radii} from '@duro-app/tokens/tokens/spacing.css'\nimport {typography} from '@duro-app/tokens/tokens/typography.css'\n\nexport const styles = css.create({\n base: {\n boxSizing: 'border-box',\n width: '100%',\n paddingTop: spacing.sm,\n paddingBottom: spacing.sm,\n paddingLeft: spacing.md,\n paddingRight: spacing.md,\n fontFamily: typography.fontFamily,\n fontSize: typography.fontSizeSm,\n lineHeight: typography.lineHeight,\n color: colors.text,\n backgroundColor: colors.bg,\n borderWidth: 1,\n borderStyle: 'solid',\n borderRadius: radii.sm,\n transitionProperty: 'border-color',\n transitionDuration: '150ms',\n transitionTimingFunction: 'ease',\n outlineWidth: {\n default: 0,\n ':focus-visible': 2,\n },\n outlineStyle: {\n default: 'none',\n ':focus-visible': 'solid',\n },\n outlineColor: {\n default: 'transparent',\n ':focus-visible': colors.accent,\n },\n outlineOffset: {\n default: 0,\n ':focus-visible': 1,\n },\n },\n default: {\n borderColor: {\n default: colors.border,\n ':hover': colors.textMuted,\n ':focus': colors.accent,\n },\n },\n error: {\n borderColor: {\n default: colors.error,\n ':focus': colors.error,\n },\n },\n inGroup: {\n borderWidth: 0,\n borderRadius: 0,\n outlineWidth: 0,\n },\n})\n","import {html} from 'react-strict-dom'\nimport {useFieldContext} from '../Field/FieldContext'\nimport {useInputGroupContext} from '../InputGroup/InputGroupContext'\nimport {styles} from './styles.css'\n\ntype StrictInputProps = React.ComponentProps<typeof html.input>\nexport type InputType = NonNullable<StrictInputProps['type']>\n\nexport type InputVariant = 'default' | 'error'\n\ninterface InputProps {\n variant?: InputVariant\n type?: InputType\n name?: string\n placeholder?: string\n required?: boolean\n minLength?: number\n pattern?: string\n autoComplete?:\n | 'on'\n | 'off'\n | 'email'\n | 'username'\n | 'current-password'\n | 'new-password'\n | 'name'\n | 'tel'\n | 'url'\n value?: string\n defaultValue?: string\n disabled?: boolean\n onChange?: (e: React.ChangeEvent<HTMLInputElement>) => void\n}\n\nexport function Input({\n variant = 'default',\n type = 'text',\n name,\n placeholder,\n required,\n minLength,\n pattern,\n autoComplete,\n value,\n defaultValue,\n disabled,\n onChange,\n}: InputProps) {\n const ctx = useFieldContext()\n const groupCtx = useInputGroupContext()\n\n // react-strict-dom omits web-only `pattern` from its types, but the\n // underlying DOM element supports it. Type-assert to pass it through.\n const extraProps = pattern !== undefined ? {pattern} : undefined\n\n return (\n <html.input\n id={ctx?.controlId}\n type={type}\n name={name}\n placeholder={placeholder}\n required={required}\n minLength={minLength}\n autoComplete={autoComplete}\n value={value}\n defaultValue={defaultValue}\n disabled={disabled}\n aria-describedby={\n ctx ? `${ctx.descriptionId} ${ctx.invalid ? ctx.errorId : ''}`.trim() : undefined\n }\n aria-invalid={ctx?.invalid || variant === 'error' || undefined}\n onChange={onChange}\n style={[styles.base, styles[variant], groupCtx?.inGroup && styles.inGroup]}\n {...(extraProps as Record<string, unknown>)}\n />\n )\n}\n","import {css} from 'react-strict-dom'\nimport {colors} from '@duro-app/tokens/tokens/colors.css'\nimport {spacing, radii} from '@duro-app/tokens/tokens/spacing.css'\nimport {typography} from '@duro-app/tokens/tokens/typography.css'\n\nexport const styles = css.create({\n wrapper: {\n display: 'flex',\n alignItems: 'stretch',\n borderWidth: 1,\n borderStyle: 'solid',\n borderColor: {\n default: colors.border,\n ':focus-within': colors.accent,\n },\n borderRadius: radii.sm,\n overflow: 'hidden',\n transitionProperty: 'border-color',\n transitionDuration: '150ms',\n transitionTimingFunction: 'ease',\n },\n addon: {\n display: 'inline-flex',\n alignItems: 'center',\n justifyContent: 'center',\n flexShrink: 0,\n paddingLeft: spacing.md,\n paddingRight: spacing.md,\n backgroundColor: colors.bgCardHover,\n fontFamily: typography.fontFamily,\n fontSize: typography.fontSizeSm,\n color: colors.textMuted,\n userSelect: 'none',\n borderWidth: 0,\n },\n addonStart: {\n borderRightWidth: 1,\n borderRightStyle: 'solid',\n borderRightColor: colors.border,\n },\n addonEnd: {\n borderLeftWidth: 1,\n borderLeftStyle: 'solid',\n borderLeftColor: colors.border,\n },\n addonClickable: {\n cursor: 'pointer',\n backgroundColor: {\n default: colors.bgCardHover,\n ':hover': colors.bgCard,\n ':active': colors.bg,\n },\n transitionProperty: 'background-color',\n transitionDuration: '150ms',\n transitionTimingFunction: 'ease',\n },\n addonDisabled: {\n opacity: 0.4,\n cursor: 'not-allowed',\n },\n})\n","import type {ReactNode} from 'react'\nimport {useMemo} from 'react'\nimport {css, html} from 'react-strict-dom'\nimport {InputGroupContext} from './InputGroupContext'\nimport {styles} from './styles.css'\n\n// --- Root ---\ninterface RootProps {\n children: ReactNode\n}\n\nfunction Root({children}: RootProps) {\n const ctx = useMemo(() => ({inGroup: true}), [])\n\n return (\n <InputGroupContext.Provider value={ctx}>\n <html.div style={styles.wrapper}>{children}</html.div>\n </InputGroupContext.Provider>\n )\n}\n\n// --- Addon ---\nconst dynamicStyles = css.create({\n minWidth: (value: number | string) => ({minWidth: value}),\n})\n\ninterface AddonProps {\n position?: 'start' | 'end'\n onClick?: () => void\n disabled?: boolean\n /** Optional minimum width to prevent layout shift (e.g. Copy → Copied!) */\n minWidth?: number | string\n children: ReactNode\n}\n\nfunction Addon({position = 'end', onClick, disabled, minWidth, children}: AddonProps) {\n const positionStyle = position === 'start' ? styles.addonStart : styles.addonEnd\n const style = [\n styles.addon,\n positionStyle,\n onClick && !disabled && styles.addonClickable,\n disabled && styles.addonDisabled,\n minWidth != null && dynamicStyles.minWidth(minWidth),\n ]\n\n if (onClick) {\n return (\n <html.button type=\"button\" onClick={onClick} disabled={disabled} style={style}>\n {children}\n </html.button>\n )\n }\n\n return <html.span style={style}>{children}</html.span>\n}\n\nexport const InputGroup = {\n Root,\n Addon,\n}\n","import {css} from 'react-strict-dom'\nimport {colors} from '@duro-app/tokens/tokens/colors.css'\nimport {spacing, radii} from '@duro-app/tokens/tokens/spacing.css'\nimport {typography} from '@duro-app/tokens/tokens/typography.css'\n\nexport const styles = css.create({\n base: {\n display: 'inline-flex',\n alignItems: 'center',\n justifyContent: 'center',\n gap: spacing.sm,\n fontFamily: typography.fontFamily,\n fontSize: typography.fontSizeSm,\n fontWeight: typography.fontWeightMedium,\n lineHeight: typography.lineHeight,\n borderRadius: radii.sm,\n cursor: 'pointer',\n textDecoration: 'none',\n transitionProperty: 'background-color, border-color, color',\n transitionDuration: '150ms',\n transitionTimingFunction: 'ease',\n },\n sizeDefault: {\n paddingTop: spacing.sm,\n paddingBottom: spacing.sm,\n paddingLeft: spacing.md,\n paddingRight: spacing.md,\n },\n sizeSmall: {\n paddingTop: spacing.xs,\n paddingBottom: spacing.xs,\n paddingLeft: spacing.sm,\n paddingRight: spacing.sm,\n fontSize: typography.fontSizeXs,\n },\n primary: {\n backgroundColor: {\n default: colors.accent,\n ':hover': colors.accentHover,\n },\n color: colors.accentContrast,\n },\n secondary: {\n backgroundColor: {\n default: 'transparent',\n ':hover': colors.bgCardHover,\n },\n borderWidth: 1,\n borderStyle: 'solid',\n borderColor: colors.border,\n color: colors.textMuted,\n },\n fullWidth: {\n width: '100%',\n },\n})\n","import type {ReactNode} from 'react'\nimport {html} from 'react-strict-dom'\nimport {styles} from './styles.css'\n\nexport type LinkButtonVariant = 'primary' | 'secondary'\nexport type LinkButtonSize = 'default' | 'small'\n\ninterface LinkButtonProps {\n href: string\n variant?: LinkButtonVariant\n size?: LinkButtonSize\n fullWidth?: boolean\n target?: '_blank' | '_self'\n rel?: string\n children: ReactNode\n}\n\nconst sizeMap = {\n default: styles.sizeDefault,\n small: styles.sizeSmall,\n} as const\n\nexport function LinkButton({\n href,\n variant = 'primary',\n size = 'default',\n fullWidth = false,\n target,\n rel,\n children,\n}: LinkButtonProps) {\n return (\n <html.a\n href={href}\n target={target}\n rel={rel}\n style={[styles.base, sizeMap[size], styles[variant], fullWidth && styles.fullWidth]}\n >\n {children}\n </html.a>\n )\n}\n","import {css} from 'react-strict-dom'\nimport {colors} from '@duro-app/tokens/tokens/colors.css'\nimport {spacing, radii} from '@duro-app/tokens/tokens/spacing.css'\nimport {typography} from '@duro-app/tokens/tokens/typography.css'\nimport {shadows} from '@duro-app/tokens/tokens/shadows.css'\n\nexport const styles = css.create({\n root: {\n position: 'relative',\n display: 'inline-flex',\n },\n trigger: {\n display: 'inline-flex',\n alignItems: 'center',\n gap: spacing.sm,\n paddingTop: spacing.sm,\n paddingBottom: spacing.sm,\n paddingLeft: spacing.md,\n paddingRight: spacing.md,\n fontFamily: typography.fontFamily,\n fontSize: typography.fontSizeSm,\n color: colors.text,\n backgroundColor: {\n default: 'transparent',\n ':hover': colors.bgCardHover,\n },\n borderWidth: 1,\n borderStyle: 'solid',\n borderColor: colors.border,\n borderRadius: radii.sm,\n cursor: 'pointer',\n transitionProperty: 'background-color, border-color',\n transitionDuration: '150ms',\n },\n backdrop: {\n position: 'fixed',\n top: 0,\n left: 0,\n right: 0,\n bottom: 0,\n zIndex: 49,\n },\n popup: {\n position: 'absolute',\n top: '100%',\n left: 0,\n marginTop: spacing.xs,\n backgroundColor: colors.bgCard,\n borderWidth: 1,\n borderStyle: 'solid',\n borderColor: colors.border,\n borderRadius: radii.sm,\n boxShadow: shadows.md,\n paddingTop: spacing.xs,\n paddingBottom: spacing.xs,\n minWidth: 160,\n zIndex: 50,\n },\n popupEnd: {\n left: 'auto',\n right: 0,\n },\n item: {\n display: 'flex',\n alignItems: 'center',\n paddingTop: spacing.sm,\n paddingBottom: spacing.sm,\n paddingLeft: spacing.md,\n paddingRight: spacing.md,\n fontSize: typography.fontSizeSm,\n fontFamily: typography.fontFamily,\n color: colors.text,\n borderRadius: radii.sm,\n cursor: 'pointer',\n backgroundColor: 'transparent',\n transitionProperty: 'background-color',\n transitionDuration: '150ms',\n },\n itemHighlighted: {\n backgroundColor: colors.bgCardHover,\n },\n linkItem: {\n textDecoration: 'none',\n color: {\n default: colors.text,\n ':hover': colors.text,\n },\n },\n})\n","import {createContext, useContext} from 'react'\n\nexport interface MenuContextValue {\n open: boolean\n toggle: () => void\n close: () => void\n menuId: string\n highlightedId: string | null\n setHighlightedId: (id: string | null) => void\n registerItem: (id: string, element: HTMLElement) => () => void\n triggerRef: React.RefObject<HTMLButtonElement | null>\n}\n\nexport const MenuContext = createContext<MenuContextValue | null>(null)\n\nexport function useMenu() {\n const ctx = useContext(MenuContext)\n if (!ctx) throw new Error('Menu compound components must be used within Menu.Root')\n return ctx\n}\n","import {useState, useCallback, useRef, useId, useEffect} from 'react'\nimport type {MenuContextValue} from './MenuContext'\n\nexport function useMenuRoot() {\n const [open, setOpen] = useState(false)\n const [highlightedId, setHighlightedId] = useState<string | null>(null)\n const menuId = useId()\n const rootRef = useRef<HTMLDivElement>(null)\n const triggerRef = useRef<HTMLButtonElement | null>(null)\n const itemsRef = useRef(new Map<string, HTMLElement>())\n const orderRef = useRef<string[]>([])\n const needsInitialHighlightRef = useRef(false)\n\n const close = useCallback(() => {\n setOpen(false)\n setHighlightedId(null)\n needsInitialHighlightRef.current = false\n triggerRef.current?.focus()\n }, [])\n\n const toggle = useCallback(() => {\n setOpen((prev) => {\n if (!prev) {\n needsInitialHighlightRef.current = true\n } else {\n setHighlightedId(null)\n needsInitialHighlightRef.current = false\n }\n return !prev\n })\n }, [])\n\n // Highlight the first item after items register on open.\n // Child effects (item registration) run before this parent effect,\n // so orderRef is populated by the time this runs.\n useEffect(() => {\n if (open && needsInitialHighlightRef.current) {\n needsInitialHighlightRef.current = false\n const order = orderRef.current\n if (order.length > 0) {\n setHighlightedId(order[0])\n }\n }\n }, [open])\n\n const registerItem = useCallback((id: string, element: HTMLElement) => {\n itemsRef.current.set(id, element)\n const map = itemsRef.current\n const ids = [...map.keys()]\n ids.sort((a, b) => {\n const elA = map.get(a)\n const elB = map.get(b)\n if (!elA || !elB) return 0\n return elA.compareDocumentPosition(elB) & Node.DOCUMENT_POSITION_FOLLOWING ? -1 : 1\n })\n orderRef.current = ids\n return () => {\n itemsRef.current.delete(id)\n orderRef.current = orderRef.current.filter((i) => i !== id)\n }\n }, [])\n\n // Native keydown for full KeyboardEvent access (preventDefault)\n useEffect(() => {\n const root = rootRef.current\n if (!root || !open) return\n\n function handleKeyDown(e: KeyboardEvent) {\n const order = orderRef.current\n if (order.length === 0) return\n\n switch (e.key) {\n case 'ArrowDown': {\n e.preventDefault()\n setHighlightedId((prev) => {\n const idx = prev ? order.indexOf(prev) : -1\n return order[(idx + 1) % order.length]\n })\n break\n }\n case 'ArrowUp': {\n e.preventDefault()\n setHighlightedId((prev) => {\n const idx = prev ? order.indexOf(prev) : 0\n return order[(idx - 1 + order.length) % order.length]\n })\n break\n }\n case 'Home': {\n e.preventDefault()\n setHighlightedId(order[0])\n break\n }\n case 'End': {\n e.preventDefault()\n setHighlightedId(order[order.length - 1])\n break\n }\n case 'Enter':\n case ' ': {\n e.preventDefault()\n const items = itemsRef.current\n setHighlightedId((prev) => {\n if (prev) {\n const el = items.get(prev)\n el?.click()\n }\n return prev\n })\n break\n }\n case 'Escape':\n case 'Tab': {\n close()\n break\n }\n }\n }\n\n root.addEventListener('keydown', handleKeyDown)\n return () => root.removeEventListener('keydown', handleKeyDown)\n }, [open, close])\n\n const ctx: MenuContextValue = {\n open,\n toggle,\n close,\n menuId,\n highlightedId,\n setHighlightedId,\n registerItem,\n triggerRef,\n }\n\n return {ctx, rootRef}\n}\n","import {type ReactNode, useRef, useId, useEffect} from 'react'\nimport {html} from 'react-strict-dom'\nimport {styles} from './styles.css'\nimport {MenuContext, useMenu} from './MenuContext'\nimport {useMenuRoot} from './useMenuRoot'\n\n// --- Root ---\ninterface RootProps {\n children: ReactNode\n}\n\nfunction Root({children}: RootProps) {\n const {ctx, rootRef} = useMenuRoot()\n\n return (\n <MenuContext.Provider value={ctx}>\n <html.div ref={rootRef} style={styles.root}>\n {children}\n </html.div>\n </MenuContext.Provider>\n )\n}\n\n// --- Trigger ---\nfunction Trigger({children}: {children: ReactNode}) {\n const {open, toggle, menuId, triggerRef} = useMenu()\n const localRef = useRef<HTMLButtonElement>(null)\n\n // Sync local ref to context triggerRef\n useEffect(() => {\n triggerRef.current = localRef.current\n })\n\n return (\n <html.button\n ref={localRef}\n type=\"button\"\n onClick={toggle}\n aria-expanded={open}\n aria-haspopup=\"menu\"\n aria-controls={open ? menuId : undefined}\n style={styles.trigger}\n >\n {children}\n </html.button>\n )\n}\n\n// --- Popup ---\ninterface PopupProps {\n children: ReactNode\n align?: 'start' | 'end'\n}\n\nfunction Popup({children, align = 'start'}: PopupProps) {\n const {open, close, menuId, highlightedId} = useMenu()\n\n if (!open) return null\n\n return (\n <>\n <html.div style={styles.backdrop} onClick={close} />\n <html.div\n id={menuId}\n role=\"menu\"\n aria-activedescendant={highlightedId ?? undefined}\n style={[styles.popup, align === 'end' && styles.popupEnd]}\n >\n {children}\n </html.div>\n </>\n )\n}\n\n// --- Item ---\ninterface ItemProps {\n onClick?: () => void\n children: ReactNode\n}\n\nfunction Item({onClick, children}: ItemProps) {\n const {close, highlightedId, setHighlightedId, registerItem} = useMenu()\n const id = useId()\n const ref = useRef<HTMLDivElement>(null)\n const isHighlighted = highlightedId === id\n\n useEffect(() => {\n const el = ref.current\n if (!el) return\n return registerItem(id, el)\n }, [id, registerItem])\n\n const handleClick = () => {\n onClick?.()\n close()\n }\n\n return (\n <html.div\n ref={ref}\n id={id}\n role=\"menuitem\"\n onClick={handleClick}\n onPointerEnter={() => setHighlightedId(id)}\n style={[styles.item, isHighlighted && styles.itemHighlighted]}\n >\n {children}\n </html.div>\n )\n}\n\n// --- LinkItem ---\ninterface LinkItemProps {\n href: string\n children: ReactNode\n}\n\nfunction LinkItem({href, children}: LinkItemProps) {\n const {close, highlightedId, setHighlightedId, registerItem} = useMenu()\n const id = useId()\n const ref = useRef<HTMLAnchorElement>(null)\n const isHighlighted = highlightedId === id\n\n useEffect(() => {\n const el = ref.current\n if (!el) return\n return registerItem(id, el)\n }, [id, registerItem])\n\n return (\n <html.a\n ref={ref}\n id={id}\n href={href}\n onClick={close}\n role=\"menuitem\"\n onPointerEnter={() => setHighlightedId(id)}\n style={[styles.item, styles.linkItem, isHighlighted && styles.itemHighlighted]}\n >\n {children}\n </html.a>\n )\n}\n\nexport const Menu = {\n Root,\n Trigger,\n Popup,\n Item,\n LinkItem,\n}\n","import {css} from 'react-strict-dom'\nimport {colors} from '@duro-app/tokens/tokens/colors.css'\nimport {radii} from '@duro-app/tokens/tokens/spacing.css'\n\nexport const styles = css.create({\n root: {\n position: 'relative',\n overflow: 'hidden',\n },\n viewport: {\n width: '100%',\n height: '100%',\n overflowX: 'auto',\n overflowY: 'auto',\n // Hide native scrollbar\n scrollbarWidth: 'none',\n },\n content: {\n minWidth: '100%',\n minHeight: '100%',\n },\n scrollbar: {\n position: 'absolute',\n zIndex: 1,\n display: 'flex',\n touchAction: 'none',\n userSelect: 'none',\n transitionProperty: 'opacity',\n transitionDuration: '200ms',\n transitionTimingFunction: 'ease',\n },\n scrollbarVertical: {\n top: 0,\n right: 0,\n bottom: 0,\n width: 8,\n flexDirection: 'column',\n paddingTop: 2,\n paddingBottom: 2,\n paddingRight: 2,\n },\n scrollbarHorizontal: {\n left: 0,\n right: 0,\n bottom: 0,\n height: 8,\n flexDirection: 'row',\n paddingLeft: 2,\n paddingRight: 2,\n paddingBottom: 2,\n },\n scrollbarHidden: {\n opacity: 0,\n },\n scrollbarVisible: {\n opacity: 1,\n },\n thumb: {\n position: 'relative',\n flex: 1,\n backgroundColor: {\n default: colors.border,\n ':hover': colors.textMuted,\n },\n borderRadius: radii.full,\n transitionProperty: 'background-color',\n transitionDuration: '150ms',\n },\n // Dynamic styles — simple identifier params only (StyleX constraint)\n viewportMaxHeight: (maxHeight: number | string) => ({\n maxHeight,\n }),\n thumbVertical: (height: string, transform: string) => ({\n height,\n transform,\n }),\n thumbHorizontal: (width: string, transform: string) => ({\n width,\n transform,\n }),\n})\n","import {createContext, useContext} from 'react'\n\nexport interface ScrollAreaContextValue {\n viewportRef: React.RefObject<HTMLDivElement | null>\n contentRef: React.RefObject<HTMLDivElement | null>\n scrollTop: number\n scrollLeft: number\n scrollHeight: number\n scrollWidth: number\n clientHeight: number\n clientWidth: number\n scrolling: boolean\n}\n\nexport const ScrollAreaContext = createContext<ScrollAreaContextValue | null>(null)\n\nexport function useScrollArea() {\n const ctx = useContext(ScrollAreaContext)\n if (!ctx) throw new Error('ScrollArea compound components must be used within ScrollArea.Root')\n return ctx\n}\n","import {useState, useCallback, useRef, useEffect} from 'react'\nimport type {ScrollAreaContextValue} from './ScrollAreaContext'\n\nexport function useScrollAreaRoot(): ScrollAreaContextValue {\n const viewportRef = useRef<HTMLDivElement | null>(null)\n const contentRef = useRef<HTMLDivElement | null>(null)\n const [scrollTop, setScrollTop] = useState(0)\n const [scrollLeft, setScrollLeft] = useState(0)\n const [scrollHeight, setScrollHeight] = useState(0)\n const [scrollWidth, setScrollWidth] = useState(0)\n const [clientHeight, setClientHeight] = useState(0)\n const [clientWidth, setClientWidth] = useState(0)\n const [scrolling, setScrolling] = useState(false)\n const scrollTimerRef = useRef<ReturnType<typeof setTimeout> | null>(null)\n\n const handleScroll = useCallback(() => {\n const vp = viewportRef.current\n if (!vp) return\n\n setScrollTop(vp.scrollTop)\n setScrollLeft(vp.scrollLeft)\n setScrollHeight(vp.scrollHeight)\n setScrollWidth(vp.scrollWidth)\n setClientHeight(vp.clientHeight)\n setClientWidth(vp.clientWidth)\n setScrolling(true)\n\n if (scrollTimerRef.current) clearTimeout(scrollTimerRef.current)\n scrollTimerRef.current = setTimeout(() => setScrolling(false), 1000)\n }, [])\n\n // Observe viewport size changes\n useEffect(() => {\n const vp = viewportRef.current\n if (!vp) return\n\n const observer = new ResizeObserver(() => {\n setScrollHeight(vp.scrollHeight)\n setScrollWidth(vp.scrollWidth)\n setClientHeight(vp.clientHeight)\n setClientWidth(vp.clientWidth)\n })\n observer.observe(vp)\n // Initial measurement\n setScrollHeight(vp.scrollHeight)\n setScrollWidth(vp.scrollWidth)\n setClientHeight(vp.clientHeight)\n setClientWidth(vp.clientWidth)\n\n return () => observer.disconnect()\n }, [])\n\n // Attach scroll listener directly to ensure we capture it\n useEffect(() => {\n const vp = viewportRef.current\n if (!vp) return\n vp.addEventListener('scroll', handleScroll, {passive: true})\n return () => vp.removeEventListener('scroll', handleScroll)\n }, [handleScroll])\n\n return {\n viewportRef,\n contentRef,\n scrollTop,\n scrollLeft,\n scrollHeight,\n scrollWidth,\n clientHeight,\n clientWidth,\n scrolling,\n }\n}\n","import {type ReactNode, useRef, useCallback} from 'react'\nimport {html} from 'react-strict-dom'\nimport {styles} from './styles.css'\nimport {ScrollAreaContext, useScrollArea} from './ScrollAreaContext'\nimport {useScrollAreaRoot} from './useScrollAreaRoot'\n\n// --- Root ---\n\ninterface RootProps {\n children: ReactNode\n}\n\nfunction Root({children}: RootProps) {\n const ctx = useScrollAreaRoot()\n\n return (\n <ScrollAreaContext.Provider value={ctx}>\n <html.div style={styles.root}>{children}</html.div>\n </ScrollAreaContext.Provider>\n )\n}\n\n// --- Viewport ---\n\ninterface ViewportProps {\n children: ReactNode\n maxHeight?: number | string\n}\n\nfunction Viewport({children, maxHeight}: ViewportProps) {\n const {viewportRef} = useScrollArea()\n\n return (\n <html.div\n ref={viewportRef}\n style={[styles.viewport, maxHeight != null && styles.viewportMaxHeight(maxHeight)]}\n >\n {children}\n </html.div>\n )\n}\n\n// --- Content ---\n\ninterface ContentProps {\n children: ReactNode\n}\n\nfunction Content({children}: ContentProps) {\n const {contentRef} = useScrollArea()\n return (\n <html.div ref={contentRef} style={styles.content}>\n {children}\n </html.div>\n )\n}\n\n// --- Scrollbar ---\n\ntype ScrollbarOrientation = 'vertical' | 'horizontal'\n\ninterface ScrollbarProps {\n orientation?: ScrollbarOrientation\n children: ReactNode\n}\n\nfunction Scrollbar({orientation = 'vertical', children}: ScrollbarProps) {\n const {scrolling, scrollHeight, scrollWidth, clientHeight, clientWidth} = useScrollArea()\n\n // Hide scrollbar when content fits\n const hasOverflow =\n orientation === 'vertical' ? scrollHeight > clientHeight : scrollWidth > clientWidth\n\n if (!hasOverflow) return null\n\n return (\n <html.div\n style={[\n styles.scrollbar,\n orientation === 'vertical' ? styles.scrollbarVertical : styles.scrollbarHorizontal,\n scrolling ? styles.scrollbarVisible : styles.scrollbarHidden,\n ]}\n >\n {children}\n </html.div>\n )\n}\n\n// --- Thumb ---\n\ninterface ThumbProps {\n orientation?: ScrollbarOrientation\n}\n\nfunction Thumb({orientation = 'vertical'}: ThumbProps) {\n const {viewportRef, scrollTop, scrollLeft, scrollHeight, scrollWidth, clientHeight, clientWidth} =\n useScrollArea()\n const draggingRef = useRef(false)\n const startPosRef = useRef(0)\n const startScrollRef = useRef(0)\n\n const isVertical = orientation === 'vertical'\n\n const thumbSizePercent = isVertical\n ? Math.max((clientHeight / scrollHeight) * 100, 10)\n : Math.max((clientWidth / scrollWidth) * 100, 10)\n\n const maxScroll = isVertical ? scrollHeight - clientHeight : scrollWidth - clientWidth\n const trackSize = isVertical ? clientHeight : clientWidth\n const thumbPixelSize = (thumbSizePercent / 100) * trackSize\n const scrollOffset = isVertical ? scrollTop : scrollLeft\n const thumbOffset = maxScroll > 0 ? (scrollOffset / maxScroll) * (trackSize - thumbPixelSize) : 0\n\n const thumbStyle = isVertical\n ? styles.thumbVertical(`${thumbSizePercent}%`, `translateY(${thumbOffset}px)`)\n : styles.thumbHorizontal(`${thumbSizePercent}%`, `translateX(${thumbOffset}px)`)\n\n const handlePointerDown = useCallback(\n (e: React.PointerEvent) => {\n e.preventDefault()\n draggingRef.current = true\n startPosRef.current = isVertical ? e.clientY : e.clientX\n startScrollRef.current = isVertical\n ? (viewportRef.current?.scrollTop ?? 0)\n : (viewportRef.current?.scrollLeft ?? 0)\n ;(e.target as HTMLElement).setPointerCapture(e.pointerId)\n },\n [isVertical, viewportRef],\n )\n\n const handlePointerMove = useCallback(\n (e: React.PointerEvent) => {\n if (!draggingRef.current) return\n const vp = viewportRef.current\n if (!vp) return\n\n const delta = (isVertical ? e.clientY : e.clientX) - startPosRef.current\n const scrollRatio = maxScroll / (trackSize - thumbPixelSize)\n const scrollDelta = delta * scrollRatio\n\n if (isVertical) {\n vp.scrollTop = startScrollRef.current + scrollDelta\n } else {\n vp.scrollLeft = startScrollRef.current + scrollDelta\n }\n },\n [isVertical, maxScroll, trackSize, thumbPixelSize, viewportRef],\n )\n\n const handlePointerUp = useCallback(() => {\n draggingRef.current = false\n }, [])\n\n return (\n <html.div\n onPointerDown={handlePointerDown}\n onPointerMove={handlePointerMove}\n onPointerUp={handlePointerUp}\n style={[styles.thumb, thumbStyle]}\n />\n )\n}\n\nexport const ScrollArea = {\n Root,\n Viewport,\n Content,\n Scrollbar,\n Thumb,\n}\n","import {css} from 'react-strict-dom'\nimport {colors} from '@duro-app/tokens/tokens/colors.css'\nimport {spacing, radii} from '@duro-app/tokens/tokens/spacing.css'\nimport {typography} from '@duro-app/tokens/tokens/typography.css'\nimport {shadows} from '@duro-app/tokens/tokens/shadows.css'\n\nexport const styles = css.create({\n root: {\n position: 'relative',\n display: 'inline-flex',\n },\n trigger: {\n display: 'inline-flex',\n alignItems: 'center',\n justifyContent: 'space-between',\n gap: spacing.sm,\n paddingTop: spacing.sm,\n paddingBottom: spacing.sm,\n paddingLeft: spacing.md,\n paddingRight: spacing.md,\n fontFamily: typography.fontFamily,\n fontSize: typography.fontSizeSm,\n color: colors.text,\n backgroundColor: colors.bgCard,\n borderWidth: 1,\n borderStyle: 'solid',\n borderColor: {\n default: colors.border,\n ':hover': colors.accent,\n },\n borderRadius: radii.sm,\n cursor: 'pointer',\n transitionProperty: 'border-color',\n transitionDuration: '150ms',\n },\n value: {\n color: colors.text,\n },\n placeholder: {\n color: colors.textMuted,\n },\n icon: {\n display: 'flex',\n alignItems: 'center',\n color: colors.textMuted,\n },\n backdrop: {\n position: 'fixed',\n top: 0,\n left: 0,\n right: 0,\n bottom: 0,\n zIndex: 49,\n },\n popup: {\n position: 'absolute',\n top: '100%',\n left: 0,\n marginTop: spacing.xs,\n backgroundColor: colors.bgCard,\n borderWidth: 1,\n borderStyle: 'solid',\n borderColor: colors.border,\n borderRadius: radii.sm,\n boxShadow: shadows.md,\n paddingTop: spacing.xs,\n paddingBottom: spacing.xs,\n minWidth: 120,\n zIndex: 50,\n },\n item: {\n display: 'flex',\n alignItems: 'center',\n paddingTop: spacing.sm,\n paddingBottom: spacing.sm,\n paddingLeft: spacing.md,\n paddingRight: spacing.md,\n fontSize: typography.fontSizeSm,\n fontFamily: typography.fontFamily,\n color: colors.text,\n borderRadius: radii.sm,\n cursor: 'pointer',\n backgroundColor: 'transparent',\n transitionProperty: 'background-color',\n transitionDuration: '150ms',\n },\n itemSelected: {\n color: colors.accent,\n fontWeight: typography.fontWeightMedium,\n },\n itemHighlighted: {\n backgroundColor: colors.bgCardHover,\n },\n hidden: {\n display: 'none',\n },\n})\n","import {createContext, useContext} from 'react'\n\nexport interface SelectContextValue {\n open: boolean\n toggle: () => void\n close: () => void\n value: string | null\n setValue: (value: string) => void\n labels: Record<string, string>\n registerLabel: (value: string, label: string) => void\n listboxId: string\n highlightedId: string | null\n setHighlightedId: (id: string | null) => void\n registerItem: (id: string, value: string, element: HTMLElement) => () => void\n triggerRef: React.RefObject<HTMLButtonElement | null>\n}\n\nexport const SelectContext = createContext<SelectContextValue | null>(null)\n\nexport function useSelect() {\n const ctx = useContext(SelectContext)\n if (!ctx) throw new Error('Select compound components must be used within Select.Root')\n return ctx\n}\n","import {useState, useCallback} from 'react'\n\nexport function useControllableValue<T>(\n controlledValue: T | undefined,\n defaultValue: T,\n onChange?: (value: T) => void,\n) {\n const [internal, setInternal] = useState(defaultValue)\n const value = controlledValue !== undefined ? controlledValue : internal\n const setValue = useCallback(\n (v: T) => {\n if (controlledValue === undefined) setInternal(v)\n onChange?.(v)\n },\n [controlledValue, onChange],\n )\n return [value, setValue] as const\n}\n","import {useState, useCallback, useMemo, useRef, useId, useEffect} from 'react'\nimport {useControllableValue} from '../../hooks/useControllableValue'\nimport type {SelectContextValue} from './SelectContext'\n\ninterface UseSelectRootOptions {\n defaultValue?: string\n value?: string\n onValueChange?: (value: string | null) => void\n initialLabels?: Record<string, string>\n}\n\nexport function useSelectRoot({\n defaultValue,\n value: controlledValue,\n onValueChange,\n initialLabels,\n}: UseSelectRootOptions) {\n const [value, setValue] = useControllableValue<string | null>(\n controlledValue,\n defaultValue ?? null,\n onValueChange,\n )\n const [open, setOpen] = useState(false)\n const [labels, setLabels] = useState<Record<string, string>>(initialLabels ?? {})\n const [highlightedId, setHighlightedId] = useState<string | null>(null)\n const listboxId = useId()\n const rootRef = useRef<HTMLDivElement>(null)\n const triggerRef = useRef<HTMLButtonElement | null>(null)\n const itemsRef = useRef(new Map<string, {value: string; element: HTMLElement}>())\n const orderRef = useRef<string[]>([])\n\n const close = useCallback(() => {\n setOpen(false)\n setHighlightedId(null)\n triggerRef.current?.focus()\n }, [])\n\n const toggle = useCallback(() => {\n setOpen((prev) => {\n if (!prev) {\n const items = itemsRef.current\n const order = orderRef.current\n let found: string | null = null\n for (const id of order) {\n const item = items.get(id)\n if (item && item.value === value) {\n found = id\n break\n }\n }\n setHighlightedId(found ?? (order.length > 0 ? order[0] : null))\n } else {\n setHighlightedId(null)\n }\n return !prev\n })\n }, [value])\n\n const registerLabel = useCallback((v: string, label: string) => {\n setLabels((prev) => {\n if (prev[v] === label) return prev\n return {...prev, [v]: label}\n })\n }, [])\n\n const registerItem = useCallback((id: string, itemValue: string, element: HTMLElement) => {\n itemsRef.current.set(id, {value: itemValue, element})\n const map = itemsRef.current\n const ids = [...map.keys()]\n ids.sort((a, b) => {\n const elA = map.get(a)?.element\n const elB = map.get(b)?.element\n if (!elA || !elB) return 0\n return elA.compareDocumentPosition(elB) & Node.DOCUMENT_POSITION_FOLLOWING ? -1 : 1\n })\n orderRef.current = ids\n return () => {\n itemsRef.current.delete(id)\n orderRef.current = orderRef.current.filter((i) => i !== id)\n }\n }, [])\n\n // Native keydown for full KeyboardEvent access (preventDefault)\n useEffect(() => {\n const root = rootRef.current\n if (!root || !open) return\n\n function handleKeyDown(e: KeyboardEvent) {\n const order = orderRef.current\n const items = itemsRef.current\n if (order.length === 0) return\n\n switch (e.key) {\n case 'ArrowDown': {\n e.preventDefault()\n setHighlightedId((prev) => {\n const idx = prev ? order.indexOf(prev) : -1\n return order[(idx + 1) % order.length]\n })\n break\n }\n case 'ArrowUp': {\n e.preventDefault()\n setHighlightedId((prev) => {\n const idx = prev ? order.indexOf(prev) : 0\n return order[(idx - 1 + order.length) % order.length]\n })\n break\n }\n case 'Home': {\n e.preventDefault()\n setHighlightedId(order[0])\n break\n }\n case 'End': {\n e.preventDefault()\n setHighlightedId(order[order.length - 1])\n break\n }\n case 'Enter':\n case ' ': {\n e.preventDefault()\n setHighlightedId((prev) => {\n if (prev) {\n const item = items.get(prev)\n if (item) {\n setValue(item.value)\n close()\n }\n }\n return prev\n })\n break\n }\n case 'Escape':\n case 'Tab': {\n close()\n break\n }\n }\n }\n\n root.addEventListener('keydown', handleKeyDown)\n return () => root.removeEventListener('keydown', handleKeyDown)\n }, [open, close, setValue])\n\n const ctx: SelectContextValue = useMemo(\n () => ({\n open,\n toggle,\n close,\n value,\n setValue,\n labels,\n registerLabel,\n listboxId,\n highlightedId,\n setHighlightedId,\n registerItem,\n triggerRef,\n }),\n [\n open,\n toggle,\n close,\n value,\n setValue,\n labels,\n registerLabel,\n listboxId,\n highlightedId,\n setHighlightedId,\n registerItem,\n ],\n )\n\n return {ctx, rootRef}\n}\n","import {type ReactNode, useRef, useId, useEffect} from 'react'\nimport {html} from 'react-strict-dom'\nimport {styles} from './styles.css'\nimport {SelectContext, useSelect} from './SelectContext'\nimport {useSelectRoot} from './useSelectRoot'\n\n// --- Root ---\ninterface RootProps {\n name?: string\n defaultValue?: string\n value?: string\n onValueChange?: (value: string | null) => void\n initialLabels?: Record<string, string>\n children: ReactNode\n}\n\nfunction Root({name, defaultValue, value, onValueChange, initialLabels, children}: RootProps) {\n const {ctx, rootRef} = useSelectRoot({defaultValue, value, onValueChange, initialLabels})\n\n return (\n <SelectContext.Provider value={ctx}>\n <html.div ref={rootRef} style={styles.root}>\n {name && <html.input type=\"hidden\" name={name} value={ctx.value ?? ''} />}\n {children}\n </html.div>\n </SelectContext.Provider>\n )\n}\n\n// --- Trigger ---\nfunction Trigger({children}: {children: ReactNode}) {\n const {open, toggle, listboxId, highlightedId, triggerRef} = useSelect()\n const localRef = useRef<HTMLButtonElement>(null)\n\n // Sync local ref to context triggerRef\n useEffect(() => {\n triggerRef.current = localRef.current\n })\n\n return (\n <html.button\n ref={localRef}\n type=\"button\"\n role={'combobox' as 'listbox'}\n onClick={toggle}\n aria-expanded={open}\n aria-haspopup=\"listbox\"\n aria-controls={open ? listboxId : undefined}\n aria-activedescendant={highlightedId ?? undefined}\n style={styles.trigger}\n >\n {children}\n </html.button>\n )\n}\n\n// --- Value ---\nfunction Value({placeholder}: {placeholder?: string}) {\n const {value, labels} = useSelect()\n const display = value ? (labels[value] ?? value) : null\n\n return (\n <html.span style={display ? styles.value : styles.placeholder}>\n {display ?? placeholder}\n </html.span>\n )\n}\n\n// --- Icon ---\nfunction Icon({children}: {children?: ReactNode}) {\n return (\n <html.span style={styles.icon}>\n {children ?? (\n <svg\n width=\"12\"\n height=\"12\"\n viewBox=\"0 0 24 24\"\n fill=\"none\"\n stroke=\"currentColor\"\n strokeWidth=\"2\"\n strokeLinecap=\"round\"\n strokeLinejoin=\"round\"\n aria-hidden=\"true\"\n >\n <path d=\"M6 9l6 6 6-6\" />\n </svg>\n )}\n </html.span>\n )\n}\n\n// --- Popup ---\nfunction Popup({children}: {children: ReactNode}) {\n const {open, close, listboxId} = useSelect()\n\n return (\n <>\n {open && <html.div style={styles.backdrop} onClick={close} />}\n <html.div\n id={listboxId}\n role=\"listbox\"\n aria-hidden={!open}\n style={[styles.popup, !open && styles.hidden]}\n >\n {children}\n </html.div>\n </>\n )\n}\n\n// --- Item ---\ninterface ItemProps {\n value: string\n children: ReactNode\n}\n\nfunction Item({value: itemValue, children}: ItemProps) {\n const {\n value: selectedValue,\n setValue,\n close,\n registerLabel,\n highlightedId,\n setHighlightedId,\n registerItem,\n } = useSelect()\n const id = useId()\n const ref = useRef<HTMLDivElement>(null)\n const isSelected = selectedValue === itemValue\n const isHighlighted = highlightedId === id\n\n // Register label from DOM text content (works with both string and JSX children)\n useEffect(() => {\n const el = ref.current\n if (!el) return\n const text = el.textContent\n if (text) registerLabel(itemValue, text)\n }, [itemValue, registerLabel])\n\n useEffect(() => {\n const el = ref.current\n if (!el) return\n return registerItem(id, itemValue, el)\n }, [id, itemValue, registerItem])\n\n const handleClick = () => {\n setValue(itemValue)\n close()\n }\n\n return (\n <html.div\n ref={ref}\n id={id}\n role=\"option\"\n aria-selected={isSelected}\n onClick={handleClick}\n onPointerEnter={() => setHighlightedId(id)}\n style={[\n styles.item,\n isSelected && styles.itemSelected,\n isHighlighted && styles.itemHighlighted,\n ]}\n >\n {children}\n </html.div>\n )\n}\n\n// --- ItemText ---\nfunction ItemText({children}: {children: ReactNode}) {\n return <html.span>{children}</html.span>\n}\n\nexport const Select = {\n Root,\n Trigger,\n Value,\n Icon,\n Popup,\n Item,\n ItemText,\n}\n","import {css} from 'react-strict-dom'\nimport {colors} from '@duro-app/tokens/tokens/colors.css'\nimport {spacing, radii} from '@duro-app/tokens/tokens/spacing.css'\nimport {typography} from '@duro-app/tokens/tokens/typography.css'\n\nexport const styles = css.create({\n root: {\n display: 'flex',\n flexDirection: 'column',\n gap: 0,\n },\n group: {\n display: 'flex',\n flexDirection: 'column',\n },\n groupTrigger: {\n display: 'flex',\n alignItems: 'center',\n gap: spacing.xs,\n paddingTop: spacing.sm,\n paddingBottom: spacing.sm,\n paddingLeft: spacing.md,\n paddingRight: spacing.md,\n fontFamily: typography.fontFamily,\n fontSize: typography.fontSizeXs,\n fontWeight: typography.fontWeightSemibold,\n textTransform: 'uppercase' as const,\n letterSpacing: '0.05em',\n color: {\n default: colors.textMuted,\n ':hover': colors.text,\n },\n backgroundColor: 'transparent',\n borderWidth: 0,\n cursor: 'pointer',\n transitionProperty: 'color',\n transitionDuration: '150ms',\n transitionTimingFunction: 'ease',\n },\n groupTriggerActive: {\n color: colors.text,\n },\n chevron: {\n display: 'inline-flex',\n alignItems: 'center',\n transitionProperty: 'transform',\n transitionDuration: '150ms',\n transitionTimingFunction: 'ease',\n },\n chevronOpen: {\n transform: 'rotate(90deg)',\n },\n item: {\n display: 'flex',\n alignItems: 'center',\n paddingTop: '6px',\n paddingBottom: '6px',\n paddingLeft: spacing.lg,\n paddingRight: spacing.md,\n fontFamily: typography.fontFamily,\n fontSize: typography.fontSizeSm,\n fontWeight: typography.fontWeightNormal,\n color: {\n default: colors.textMuted,\n ':hover': colors.text,\n },\n backgroundColor: {\n default: 'transparent',\n ':hover': colors.bgCardHover,\n },\n borderWidth: 0,\n borderRadius: radii.sm,\n cursor: 'pointer',\n transitionProperty: 'color, background-color',\n transitionDuration: '150ms',\n transitionTimingFunction: 'ease',\n textAlign: 'left' as const,\n outlineWidth: {\n default: 0,\n ':focus-visible': 2,\n },\n outlineStyle: {\n default: 'none',\n ':focus-visible': 'solid',\n },\n outlineColor: {\n default: 'transparent',\n ':focus-visible': colors.accent,\n },\n },\n itemActive: {\n color: colors.accent,\n fontWeight: typography.fontWeightMedium,\n },\n})\n","import {createContext, useContext} from 'react'\n\nexport interface SideNavContextValue {\n activeValue: string | null\n onSelect: (value: string) => void\n expandedGroups: Set<string>\n toggleGroup: (group: string) => void\n registerItem: (value: string) => () => void\n orderRef: React.RefObject<string[]>\n}\n\nexport const SideNavContext = createContext<SideNavContextValue | null>(null)\n\nexport function useSideNav() {\n const ctx = useContext(SideNavContext)\n if (!ctx) throw new Error('SideNav compound components must be used within SideNav.Root')\n return ctx\n}\n","import {type ReactNode, useState, useCallback, useRef, useEffect} from 'react'\nimport {html} from 'react-strict-dom'\nimport {styles} from './styles.css'\nimport {useControllableValue} from '../../hooks/useControllableValue'\nimport {SideNavContext, useSideNav} from './SideNavContext'\n\n// --- Root ---\n\ninterface RootProps {\n children: ReactNode\n value?: string\n defaultValue?: string\n onValueChange?: (value: string) => void\n}\n\nfunction Root({children, value: controlledValue, defaultValue, onValueChange}: RootProps) {\n const [activeValue, onSelect] = useControllableValue<string | null>(\n controlledValue,\n defaultValue ?? null,\n onValueChange\n ? (v) => {\n if (v !== null) onValueChange(v)\n }\n : undefined,\n )\n const [expandedGroups, setExpandedGroups] = useState<Set<string>>(new Set())\n const orderRef = useRef<string[]>([])\n\n const toggleGroup = useCallback((group: string) => {\n setExpandedGroups((prev) => {\n const next = new Set(prev)\n if (next.has(group)) {\n next.delete(group)\n } else {\n next.add(group)\n }\n return next\n })\n }, [])\n\n const registerItem = useCallback((value: string) => {\n if (!orderRef.current.includes(value)) {\n orderRef.current.push(value)\n }\n return () => {\n orderRef.current = orderRef.current.filter((v) => v !== value)\n }\n }, [])\n\n // Auto-expand group containing active value\n useEffect(() => {\n if (activeValue) {\n setExpandedGroups((prev) => {\n // We don't know which group it belongs to here — Group handles this\n return prev\n })\n }\n }, [activeValue])\n\n return (\n <SideNavContext.Provider\n value={{activeValue, onSelect, expandedGroups, toggleGroup, registerItem, orderRef}}\n >\n <html.nav role=\"navigation\" style={styles.root}>\n {children}\n </html.nav>\n </SideNavContext.Provider>\n )\n}\n\n// --- Group ---\n\ninterface GroupProps {\n children: ReactNode\n label: string\n groupKey?: string\n defaultExpanded?: boolean\n}\n\nfunction Group({children, label, groupKey, defaultExpanded}: GroupProps) {\n const key = groupKey ?? label\n const {expandedGroups, toggleGroup, activeValue} = useSideNav()\n const isExpanded = expandedGroups.has(key)\n const groupRef = useRef<HTMLDivElement>(null)\n\n // Auto-expand if this group contains the active item\n useEffect(() => {\n if (!activeValue || expandedGroups.has(key)) return\n const el = groupRef.current\n if (!el) return\n const activeBtn = el.querySelector(`[data-nav-value=\"${activeValue}\"]`)\n if (activeBtn) {\n toggleGroup(key)\n }\n }, [activeValue, key, expandedGroups, toggleGroup])\n\n // Expand on first render if defaultExpanded\n useEffect(() => {\n if (defaultExpanded && !expandedGroups.has(key)) {\n toggleGroup(key)\n }\n // Only run on mount\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [])\n\n const hasActiveChild = (() => {\n if (!activeValue || !groupRef.current) return false\n return !!groupRef.current.querySelector(`[data-nav-value=\"${activeValue}\"]`)\n })()\n\n return (\n <html.div ref={groupRef} style={styles.group}>\n <html.button\n type=\"button\"\n onClick={() => toggleGroup(key)}\n style={[styles.groupTrigger, hasActiveChild && styles.groupTriggerActive]}\n aria-expanded={isExpanded}\n >\n <html.span style={[styles.chevron, isExpanded && styles.chevronOpen]}>\n <svg\n width={10}\n height={10}\n viewBox=\"0 0 24 24\"\n fill=\"none\"\n stroke=\"currentColor\"\n strokeWidth={2.5}\n strokeLinecap=\"round\"\n strokeLinejoin=\"round\"\n >\n <path d=\"M9 18l6-6-6-6\" />\n </svg>\n </html.span>\n {label}\n </html.button>\n {isExpanded && children}\n </html.div>\n )\n}\n\n// --- Item ---\n\ninterface ItemProps {\n value: string\n children: ReactNode\n}\n\nfunction Item({value, children}: ItemProps) {\n const {activeValue, onSelect, registerItem} = useSideNav()\n const isActive = activeValue === value\n\n useEffect(() => {\n return registerItem(value)\n }, [value, registerItem])\n\n return (\n <html.button\n type=\"button\"\n data-nav-value={value}\n onClick={() => onSelect(value)}\n style={[styles.item, isActive && styles.itemActive]}\n aria-current={isActive ? 'page' : undefined}\n >\n {children}\n </html.button>\n )\n}\n\nexport const SideNav = {\n Root,\n Group,\n Item,\n}\n","import {css} from 'react-strict-dom'\nimport {colors} from '@duro-app/tokens/tokens/colors.css'\n\nconst spin = css.keyframes({\n '0%': {transform: 'rotate(0deg)'},\n '100%': {transform: 'rotate(360deg)'},\n})\n\nexport const styles = css.create({\n root: {\n display: 'inline-flex',\n alignItems: 'center',\n justifyContent: 'center',\n },\n spinner: {\n borderRadius: '50%',\n borderStyle: 'solid',\n borderColor: colors.border,\n borderTopColor: colors.accent,\n animationName: spin,\n animationDuration: '0.6s',\n animationTimingFunction: 'linear',\n animationIterationCount: 'infinite',\n },\n sm: {\n width: 16,\n height: 16,\n borderWidth: 2,\n },\n md: {\n width: 24,\n height: 24,\n borderWidth: 2,\n },\n lg: {\n width: 40,\n height: 40,\n borderWidth: 3,\n },\n srOnly: {\n position: 'absolute',\n width: 1,\n height: 1,\n overflow: 'hidden',\n clip: 'rect(0, 0, 0, 0)',\n },\n})\n","import {html} from 'react-strict-dom'\nimport {styles} from './styles.css'\n\nexport type SpinnerSize = 'sm' | 'md' | 'lg'\n\ninterface SpinnerProps {\n size?: SpinnerSize\n label?: string\n}\n\nconst sizeMap = {\n sm: styles.sm,\n md: styles.md,\n lg: styles.lg,\n} as const\n\nexport function Spinner({size = 'md', label = 'Loading'}: SpinnerProps) {\n return (\n <html.div role=\"status\" style={styles.root}>\n <html.div style={[styles.spinner, sizeMap[size]]} aria-hidden />\n <html.span style={styles.srOnly}>{label}</html.span>\n </html.div>\n )\n}\n","import {css} from 'react-strict-dom'\nimport {colors} from '@duro-app/tokens/tokens/colors.css'\nimport {spacing} from '@duro-app/tokens/tokens/spacing.css'\n\nexport const styles = css.create({\n root: {\n display: 'inline-flex',\n alignItems: 'center',\n justifyContent: 'center',\n marginBottom: spacing.md,\n },\n error: {\n color: colors.error,\n },\n success: {\n color: colors.success,\n },\n warning: {\n color: colors.warning,\n },\n info: {\n color: colors.info,\n },\n muted: {\n color: colors.textMuted,\n },\n})\n","import {html} from 'react-strict-dom'\nimport {Icon} from '../Icon'\nimport type {IconName} from '../Icon'\nimport {styles} from './styles.css'\n\nexport type StatusIconName = Extract<\n IconName,\n 'x-circle' | 'check-circle' | 'check-done' | 'clock' | 'forbidden'\n>\nexport type StatusIconVariant = 'error' | 'success' | 'warning' | 'info' | 'muted'\n\ninterface StatusIconProps {\n name: StatusIconName\n size?: number\n variant?: StatusIconVariant\n}\n\nexport function StatusIcon({name, size = 48, variant = 'muted'}: StatusIconProps) {\n return (\n <html.div style={[styles.root, styles[variant]]}>\n <Icon name={name} size={size} />\n </html.div>\n )\n}\n","/**\n * @license react-strict-dom\n * Copyright (c) Meta Platforms, Inc. and affiliates.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n\n'use strict';\nimport { jsx } from 'react/jsx-runtime';\nimport * as stylex from '@stylexjs/stylex';\nexport { stylex as css };\n\nconst loggedMessages = {};\nfunction errorMsg(msg) {\n if (process.env.NODE_ENV !== 'test' && loggedMessages[msg]) {\n return;\n }\n loggedMessages[msg] = true;\n console.error(`[error] React Strict DOM: ${msg}`);\n}\n\nconst strictAttributeSet = new Set(['alt', 'aria-activedescendant', 'aria-atomic', 'aria-autocomplete', 'aria-busy', 'aria-checked', 'aria-colcount', 'aria-colindex', 'aria-colindextext', 'aria-colspan', 'aria-controls', 'aria-current', 'aria-describedby', 'aria-details', 'aria-disabled', 'aria-errormessage', 'aria-expanded', 'aria-flowto', 'aria-haspopup', 'aria-hidden', 'aria-invalid', 'aria-keyshortcuts', 'aria-label', 'aria-labelledby', 'aria-level', 'aria-live', 'aria-modal', 'aria-multiline', 'aria-multiselectable', 'aria-orientation', 'aria-owns', 'aria-placeholder', 'aria-posinset', 'aria-pressed', 'aria-readonly', 'aria-required', 'aria-roledescription', 'aria-rowcount', 'aria-rowindex', 'aria-rowindextext', 'aria-rowspan', 'aria-selected', 'aria-setsize', 'aria-sort', 'aria-valuemax', 'aria-valuemin', 'aria-valuenow', 'aria-valuetext', 'autoCapitalize', 'autoComplete', 'autoFocus', 'checked', 'children', 'crossOrigin', 'decoding', 'defaultChecked', 'defaultValue', 'dir', 'disabled', 'download', 'draggable', 'elementTiming', 'enterKeyHint', 'fetchPriority', 'for', 'height', 'hidden', 'href', 'id', 'inert', 'inputMode', 'label', 'lang', 'loading', 'max', 'maxLength', 'min', 'minLength', 'multiple', 'name', 'onAuxClick', 'onBeforeInput', 'onBlur', 'onChange', 'onClick', 'onContextMenu', 'onCopy', 'onCut', 'onError', 'onFocus', 'onFocusIn', 'onFocusOut', 'onFullscreenChange', 'onFullscreenError', 'onGotPointerCapture', 'onInput', 'onInvalid', 'onKeyDown', 'onKeyUp', 'onLoad', 'onLostPointerCapture', 'onPaste', 'onPointerCancel', 'onPointerDown', 'onPointerEnter', 'onPointerLeave', 'onPointerMove', 'onPointerOut', 'onPointerOver', 'onPointerUp', 'onScroll', 'onSelect', 'onSelectionChange', 'onWheel', 'placeholder', 'readOnly', 'referrerPolicy', 'rel', 'required', 'role', 'rows', 'selected', 'spellCheck', 'src', 'srcSet', 'step', 'style', 'tabIndex', 'target', 'type', 'value', 'width', 'suppressHydrationWarning', 'onMouseDown', 'onMouseEnter', 'onMouseLeave', 'onMouseMove', 'onMouseOut', 'onMouseOver', 'onMouseUp', 'onTouchCancel', 'onTouchEnd', 'onTouchMove', 'onTouchStart']);\nfunction isPropAllowed(key) {\n return strictAttributeSet.has(key) || key.indexOf('data-') > -1;\n}\n\nvar styleq$1 = {};\n\nObject.defineProperty(styleq$1, \"__esModule\", {\n value: true\n});\nvar styleq_2 = styleq$1.styleq = void 0;\nvar cache = new WeakMap();\nvar compiledKey = '$$css';\nfunction createStyleq(options) {\n var disableCache;\n var disableMix;\n var transform;\n if (options != null) {\n disableCache = options.disableCache === true;\n disableMix = options.disableMix === true;\n transform = options.transform;\n }\n return function styleq() {\n var definedProperties = [];\n var className = '';\n var inlineStyle = null;\n var debugString = '';\n var nextCache = disableCache ? null : cache;\n var styles = new Array(arguments.length);\n for (var i = 0; i < arguments.length; i++) {\n styles[i] = arguments[i];\n }\n while (styles.length > 0) {\n var possibleStyle = styles.pop();\n if (possibleStyle == null || possibleStyle === false) {\n continue;\n }\n if (Array.isArray(possibleStyle)) {\n for (var _i = 0; _i < possibleStyle.length; _i++) {\n styles.push(possibleStyle[_i]);\n }\n continue;\n }\n var style = transform != null ? transform(possibleStyle) : possibleStyle;\n if (style.$$css != null) {\n var classNameChunk = '';\n if (nextCache != null && nextCache.has(style)) {\n var cacheEntry = nextCache.get(style);\n if (cacheEntry != null) {\n classNameChunk = cacheEntry[0];\n debugString = cacheEntry[2];\n definedProperties.push.apply(definedProperties, cacheEntry[1]);\n nextCache = cacheEntry[3];\n }\n } else {\n var definedPropertiesChunk = [];\n for (var prop in style) {\n var value = style[prop];\n if (prop === compiledKey) {\n var compiledKeyValue = style[prop];\n if (compiledKeyValue !== true) {\n debugString = debugString ? compiledKeyValue + '; ' + debugString : compiledKeyValue;\n }\n continue;\n }\n if (typeof value === 'string' || value === null) {\n if (!definedProperties.includes(prop)) {\n definedProperties.push(prop);\n if (nextCache != null) {\n definedPropertiesChunk.push(prop);\n }\n if (typeof value === 'string') {\n classNameChunk += classNameChunk ? ' ' + value : value;\n }\n }\n } else {\n console.error(\"styleq: \".concat(prop, \" typeof \").concat(String(value), \" is not \\\"string\\\" or \\\"null\\\".\"));\n }\n }\n if (nextCache != null) {\n var weakMap = new WeakMap();\n nextCache.set(style, [classNameChunk, definedPropertiesChunk, debugString, weakMap]);\n nextCache = weakMap;\n }\n }\n if (classNameChunk) {\n className = className ? classNameChunk + ' ' + className : classNameChunk;\n }\n } else {\n if (disableMix) {\n if (inlineStyle == null) {\n inlineStyle = {};\n }\n inlineStyle = Object.assign({}, style, inlineStyle);\n } else {\n var subStyle = null;\n for (var _prop in style) {\n var _value = style[_prop];\n if (_value !== undefined) {\n if (!definedProperties.includes(_prop)) {\n if (_value != null) {\n if (inlineStyle == null) {\n inlineStyle = {};\n }\n if (subStyle == null) {\n subStyle = {};\n }\n subStyle[_prop] = _value;\n }\n definedProperties.push(_prop);\n nextCache = null;\n }\n }\n }\n if (subStyle != null) {\n inlineStyle = Object.assign(subStyle, inlineStyle);\n }\n }\n }\n }\n var styleProps = [className, inlineStyle, debugString];\n return styleProps;\n };\n}\nvar styleq = styleq_2 = styleq$1.styleq = createStyleq();\nstyleq.factory = createStyleq;\n\nconst optimizedStyleq = styleq_2.factory({\n disableMix: true\n});\nfunction merge(...styles) {\n const [className, style, dataStyleSrc] = optimizedStyleq(styles);\n const result = {};\n if (className != null && className !== '') {\n result.className = className;\n }\n if (style != null) {\n result.style = style;\n }\n if (dataStyleSrc != null && dataStyleSrc !== '') {\n const chunks = dataStyleSrc.split(';');\n const pathsMap = {};\n for (const chunk of chunks) {\n const trimmed = chunk.trim();\n const [path, line] = trimmed.split(':');\n if (line != null) {\n pathsMap[path] = pathsMap[path] != null ? `${pathsMap[path]},${line}` : line;\n }\n }\n result['data-style-src'] = Object.keys(pathsMap).map(path => `${path}:${pathsMap[path]}`).join('; ');\n }\n return result;\n}\n\nfunction validateStrictProps(props) {\n Object.keys(props).forEach(key => {\n const isValid = isPropAllowed(key);\n if (!isValid) {\n errorMsg(`invalid prop \"${key}\"`);\n delete props[key];\n }\n });\n}\nfunction createStrictDOMComponent(TagName, defaultStyle) {\n const debugStyle = {\n $$css: true,\n 'debug::name': `html-${TagName}`\n };\n function Component({\n ref,\n ...props\n }) {\n const {\n for: htmlFor,\n style,\n ...restProps\n } = props;\n const hostProps = restProps;\n validateStrictProps(hostProps);\n if (htmlFor != null) {\n hostProps.htmlFor = htmlFor;\n }\n if (props.role != null) {\n hostProps.role = props.role === 'none' ? 'presentation' : props.role;\n }\n if (TagName === 'button') {\n hostProps.type = hostProps.type ? hostProps.type : 'button';\n } else if (TagName === 'input' || TagName === 'textarea') {\n hostProps.dir = hostProps.dir ? hostProps.dir : 'auto';\n }\n const hostStyleProps = merge([debugStyle, defaultStyle, style]);\n const element = jsx(TagName, {\n ...hostProps,\n ...hostStyleProps,\n ref: ref\n });\n return element;\n }\n Component.displayName = `html.${TagName}`;\n return Component;\n}\n\nconst styles = stylex.create({\n block: {\n margin: 0,\n padding: 0\n },\n inline: {\n margin: 0,\n padding: 0,\n textDecoration: 'none',\n textAlign: 'inherit',\n wordWrap: 'break-word'\n },\n inlineblock: {\n borderStyle: 'solid',\n margin: 0,\n padding: 0\n },\n button: {\n borderWidth: 1\n },\n codePre: {\n fontFamily: 'monospace, \"monospace\"',\n fontSize: '1em',\n overflow: 'auto'\n },\n heading: {\n fontSize: '1.5rem',\n wordWrap: 'break-word'\n },\n hr: {\n backgroundColor: 'black',\n borderStyle: 'none',\n borderWidth: 0,\n boxSizing: 'border-box',\n height: 1\n },\n img: {\n aspectRatio: 'attr(width) / attr(height)',\n height: 'auto',\n maxWidth: '100%'\n },\n input: {\n borderWidth: 1,\n borderStyle: 'solid'\n },\n list: {\n listStyle: 'none'\n },\n strong: {\n fontWeight: 'bold'\n },\n textarea: {\n borderWidth: 1,\n borderStyle: 'solid',\n resize: 'vertical'\n }\n});\nconst a$1 = styles.inline;\nconst article$1 = styles.block;\nconst aside$1 = styles.block;\nconst b$1 = styles.inline;\nconst bdi$1 = styles.inline;\nconst bdo$1 = styles.inline;\nconst blockquote$1 = styles.block;\nconst br$1 = null;\nconst button$1 = [styles.inlineblock, styles.button];\nconst code$1 = [styles.inline, styles.codePre];\nconst del$1 = null;\nconst div$1 = styles.block;\nconst em$1 = styles.inline;\nconst fieldset$1 = styles.block;\nconst footer$1 = styles.block;\nconst form$1 = styles.block;\nconst heading = [styles.block, styles.heading];\nconst header$1 = styles.block;\nconst hr$1 = [styles.block, styles.hr];\nconst i$1 = styles.inline;\nconst img$1 = styles.img;\nconst input$1 = [styles.inlineblock, styles.input];\nconst ins$1 = null;\nconst kbd$1 = null;\nconst label$1 = styles.inline;\nconst li$1 = styles.block;\nconst main$1 = styles.block;\nconst mark$1 = styles.inline;\nconst nav$1 = styles.block;\nconst ol$1 = [styles.list, styles.block];\nconst optgroup$1 = null;\nconst option$1 = null;\nconst p$1 = styles.block;\nconst pre$1 = [styles.block, styles.codePre];\nconst s$1 = null;\nconst section$1 = styles.block;\nconst select$1 = styles.inlineblock;\nconst span$1 = styles.inline;\nconst strong$1 = [styles.inline, styles.strong];\nconst sub$1 = styles.inline;\nconst sup$1 = styles.inline;\nconst textarea$1 = [styles.inlineblock, styles.textarea];\nconst u$1 = null;\nconst ul$1 = [styles.list, styles.block];\nconst defaultStyles = {\n a: a$1,\n article: article$1,\n aside: aside$1,\n b: b$1,\n bdi: bdi$1,\n bdo: bdo$1,\n blockquote: blockquote$1,\n br: br$1,\n button: button$1,\n code: code$1,\n del: del$1,\n div: div$1,\n em: em$1,\n fieldset: fieldset$1,\n footer: footer$1,\n form: form$1,\n h1: heading,\n h2: heading,\n h3: heading,\n h4: heading,\n h5: heading,\n h6: heading,\n header: header$1,\n hr: hr$1,\n i: i$1,\n img: img$1,\n input: input$1,\n ins: ins$1,\n kbd: kbd$1,\n label: label$1,\n li: li$1,\n main: main$1,\n mark: mark$1,\n nav: nav$1,\n ol: ol$1,\n optgroup: optgroup$1,\n option: option$1,\n p: p$1,\n pre: pre$1,\n s: s$1,\n section: section$1,\n select: select$1,\n span: span$1,\n strong: strong$1,\n sub: sub$1,\n sup: sup$1,\n textarea: textarea$1,\n u: u$1,\n ul: ul$1\n};\n\nconst a = createStrictDOMComponent('a', defaultStyles.a);\nconst article = createStrictDOMComponent('article', defaultStyles.article);\nconst aside = createStrictDOMComponent('aside', defaultStyles.aside);\nconst b = createStrictDOMComponent('b', defaultStyles.b);\nconst bdi = createStrictDOMComponent('bdi', defaultStyles.bdi);\nconst bdo = createStrictDOMComponent('bdo', defaultStyles.bdo);\nconst blockquote = createStrictDOMComponent('blockquote', defaultStyles.blockquote);\nconst br = createStrictDOMComponent('br', defaultStyles.br);\nconst button = createStrictDOMComponent('button', defaultStyles.button);\nconst code = createStrictDOMComponent('code', defaultStyles.code);\nconst del = createStrictDOMComponent('del', defaultStyles.del);\nconst div = createStrictDOMComponent('div', defaultStyles.div);\nconst em = createStrictDOMComponent('em', defaultStyles.em);\nconst fieldset = createStrictDOMComponent('fieldset', defaultStyles.fieldset);\nconst footer = createStrictDOMComponent('footer', defaultStyles.footer);\nconst form = createStrictDOMComponent('form', defaultStyles.form);\nconst h1 = createStrictDOMComponent('h1', defaultStyles.h1);\nconst h2 = createStrictDOMComponent('h2', defaultStyles.h2);\nconst h3 = createStrictDOMComponent('h3', defaultStyles.h3);\nconst h4 = createStrictDOMComponent('h4', defaultStyles.h4);\nconst h5 = createStrictDOMComponent('h5', defaultStyles.h5);\nconst h6 = createStrictDOMComponent('h6', defaultStyles.h6);\nconst header = createStrictDOMComponent('header', defaultStyles.header);\nconst hr = createStrictDOMComponent('hr', defaultStyles.hr);\nconst i = createStrictDOMComponent('i', defaultStyles.i);\nconst img = createStrictDOMComponent('img', defaultStyles.img);\nconst input = createStrictDOMComponent('input', defaultStyles.input);\nconst ins = createStrictDOMComponent('ins', defaultStyles.ins);\nconst kbd = createStrictDOMComponent('kbd', defaultStyles.kbd);\nconst label = createStrictDOMComponent('label', defaultStyles.label);\nconst li = createStrictDOMComponent('li', defaultStyles.li);\nconst main = createStrictDOMComponent('main', defaultStyles.main);\nconst mark = createStrictDOMComponent('mark', defaultStyles.mark);\nconst nav = createStrictDOMComponent('nav', defaultStyles.nav);\nconst ol = createStrictDOMComponent('ol', defaultStyles.ol);\nconst optgroup = createStrictDOMComponent('optgroup', defaultStyles.optgroup);\nconst option = createStrictDOMComponent('option', defaultStyles.option);\nconst p = createStrictDOMComponent('p', defaultStyles.p);\nconst pre = createStrictDOMComponent('pre', defaultStyles.pre);\nconst s = createStrictDOMComponent('s', defaultStyles.s);\nconst section = createStrictDOMComponent('section', defaultStyles.section);\nconst select = createStrictDOMComponent('select', defaultStyles.select);\nconst span = createStrictDOMComponent('span', defaultStyles.span);\nconst strong = createStrictDOMComponent('strong', defaultStyles.strong);\nconst sub = createStrictDOMComponent('sub', defaultStyles.sub);\nconst sup = createStrictDOMComponent('sup', defaultStyles.sup);\nconst textarea = createStrictDOMComponent('textarea', defaultStyles.textarea);\nconst u = createStrictDOMComponent('u', defaultStyles.u);\nconst ul = createStrictDOMComponent('ul', defaultStyles.ul);\n\nvar html = /*#__PURE__*/Object.freeze({\n __proto__: null,\n a: a,\n article: article,\n aside: aside,\n b: b,\n bdi: bdi,\n bdo: bdo,\n blockquote: blockquote,\n br: br,\n button: button,\n code: code,\n del: del,\n div: div,\n em: em,\n fieldset: fieldset,\n footer: footer,\n form: form,\n h1: h1,\n h2: h2,\n h3: h3,\n h4: h4,\n h5: h5,\n h6: h6,\n header: header,\n hr: hr,\n i: i,\n img: img,\n input: input,\n ins: ins,\n kbd: kbd,\n label: label,\n li: li,\n main: main,\n mark: mark,\n nav: nav,\n ol: ol,\n optgroup: optgroup,\n option: option,\n p: p,\n pre: pre,\n s: s,\n section: section,\n select: select,\n span: span,\n strong: strong,\n sub: sub,\n sup: sup,\n textarea: textarea,\n u: u,\n ul: ul\n});\n\nexport { html };\n","import {css} from 'react-strict-dom'\nimport {colors} from '@duro-app/tokens/tokens/colors.css'\nimport {spacing, radii} from '@duro-app/tokens/tokens/spacing.css'\nimport {typography} from '@duro-app/tokens/tokens/typography.css'\n\nexport const styles = css.create({\n // Root\n root: {\n borderWidth: 1,\n borderStyle: 'solid',\n borderColor: colors.border,\n borderRadius: radii.md,\n overflow: 'hidden',\n backgroundColor: colors.bgCard,\n fontFamily: typography.fontFamily,\n color: colors.text,\n },\n\n // Header group\n header: {\n backgroundColor: colors.bgCard,\n },\n\n // Row\n row: {\n display: 'grid',\n borderBottomWidth: 1,\n borderBottomStyle: 'solid',\n borderBottomColor: colors.border,\n },\n rowLastChild: {\n borderBottomWidth: 0,\n },\n bodyRow: {\n backgroundColor: {\n default: 'transparent',\n ':hover': colors.bgCardHover,\n },\n transitionProperty: 'background-color',\n transitionDuration: '150ms',\n transitionTimingFunction: 'ease',\n },\n\n // Header cell\n headerCell: {\n fontWeight: typography.fontWeightSemibold,\n color: colors.textMuted,\n textAlign: 'start',\n },\n\n // Body cell\n cell: {\n color: colors.text,\n display: 'flex',\n alignItems: 'center',\n },\n\n // Size: sm\n cellSm: {\n paddingTop: spacing.xs,\n paddingBottom: spacing.xs,\n paddingLeft: spacing.sm,\n paddingRight: spacing.sm,\n fontSize: typography.fontSizeXs,\n },\n // Size: md\n cellMd: {\n paddingTop: spacing.sm,\n paddingBottom: spacing.sm,\n paddingLeft: spacing.md,\n paddingRight: spacing.md,\n fontSize: typography.fontSizeSm,\n },\n\n // Variant: striped (even body rows)\n stripedEven: {\n backgroundColor: {\n default: colors.bgCardHover,\n ':hover': colors.bgCardHover,\n },\n },\n\n // Variant: bordered (cells get side borders)\n borderedCell: {\n borderRightWidth: 1,\n borderRightStyle: 'solid',\n borderRightColor: colors.border,\n },\n borderedCellLast: {\n borderRightWidth: 0,\n },\n\n // Dynamic styles — simple identifier params only (StyleX constraint)\n gridColumns: (columns: number) => ({\n gridTemplateColumns: `repeat(${columns}, 1fr)`,\n }),\n})\n","import {type ReactNode, createContext, useContext, Children} from 'react'\nimport {html} from 'react-strict-dom'\nimport {styles} from './styles.css'\n\n// --- Types ---\n\nexport type TableVariant = 'default' | 'striped' | 'bordered'\nexport type TableSize = 'sm' | 'md'\n\n// --- Context ---\n\ninterface TableContextValue {\n variant: TableVariant\n size: TableSize\n columns: number\n isHeader: boolean\n}\n\nconst TableContext = createContext<TableContextValue | null>(null)\n\nfunction useTable() {\n const ctx = useContext(TableContext)\n if (!ctx) throw new Error('Table compound components must be used within Table.Root')\n return ctx\n}\n\n// --- HeaderContext (to distinguish header vs body rowgroup) ---\n\nconst HeaderContext = createContext(false)\n\n// --- Root ---\n\ninterface RootProps {\n children: ReactNode\n variant?: TableVariant\n size?: TableSize\n columns: number\n}\n\nfunction Root({children, variant = 'default', size = 'md', columns}: RootProps) {\n return (\n <TableContext.Provider value={{variant, size, columns, isHeader: false}}>\n <html.div role=\"table\" style={styles.root}>\n {children}\n </html.div>\n </TableContext.Provider>\n )\n}\n\n// --- Header ---\n\nfunction Header({children}: {children: ReactNode}) {\n return (\n <HeaderContext.Provider value={true}>\n <html.div role=\"rowgroup\" style={styles.header}>\n {children}\n </html.div>\n </HeaderContext.Provider>\n )\n}\n\n// --- Body ---\n\nfunction Body({children}: {children: ReactNode}) {\n const {variant} = useTable()\n const childArray = Children.toArray(children)\n\n return (\n <HeaderContext.Provider value={false}>\n <html.div role=\"rowgroup\">\n {childArray.map((child, index) => {\n if (variant === 'striped') {\n return (\n <RowIndexContext.Provider key={index} value={index}>\n {child}\n </RowIndexContext.Provider>\n )\n }\n return child\n })}\n </html.div>\n </HeaderContext.Provider>\n )\n}\n\n// Row index context for striped variant\nconst RowIndexContext = createContext<number>(-1)\n\n// --- Row ---\n\nfunction Row({children}: {children: ReactNode}) {\n const {variant, columns} = useTable()\n const isHeader = useContext(HeaderContext)\n const rowIndex = useContext(RowIndexContext)\n const isEvenRow = rowIndex >= 0 && rowIndex % 2 === 1\n const childArray = Children.toArray(children)\n const isLastRow = false // handled by CSS or parent\n\n return (\n <html.div\n role=\"row\"\n style={[\n styles.row,\n styles.gridColumns(columns),\n !isHeader && styles.bodyRow,\n !isHeader && variant === 'striped' && isEvenRow && styles.stripedEven,\n ]}\n >\n {variant === 'bordered'\n ? childArray.map((child, index) => (\n <CellIndexContext.Provider key={index} value={{index, total: childArray.length}}>\n {child}\n </CellIndexContext.Provider>\n ))\n : children}\n </html.div>\n )\n}\n\n// Cell index context for bordered variant\nconst CellIndexContext = createContext<{index: number; total: number}>({\n index: 0,\n total: 0,\n})\n\n// --- HeaderCell ---\n\nfunction HeaderCell({children}: {children: ReactNode}) {\n const {size, variant} = useTable()\n const {index, total} = useContext(CellIndexContext)\n const isLast = variant === 'bordered' && index === total - 1\n\n return (\n <html.div\n role=\"columnheader\"\n style={[\n styles.headerCell,\n size === 'sm' ? styles.cellSm : styles.cellMd,\n variant === 'bordered' && styles.borderedCell,\n isLast && styles.borderedCellLast,\n ]}\n >\n {children}\n </html.div>\n )\n}\n\n// --- Cell ---\n\nfunction Cell({children}: {children: ReactNode}) {\n const {size, variant} = useTable()\n const {index, total} = useContext(CellIndexContext)\n const isLast = variant === 'bordered' && index === total - 1\n\n return (\n <html.div\n role=\"cell\"\n style={[\n styles.cell,\n size === 'sm' ? styles.cellSm : styles.cellMd,\n variant === 'bordered' && styles.borderedCell,\n isLast && styles.borderedCellLast,\n ]}\n >\n {children}\n </html.div>\n )\n}\n\n// --- Export ---\n\nexport const Table = {\n Root,\n Header,\n Body,\n Row,\n HeaderCell,\n Cell,\n}\n","import {css} from 'react-strict-dom'\nimport {colors} from '@duro-app/tokens/tokens/colors.css'\nimport {spacing, radii} from '@duro-app/tokens/tokens/spacing.css'\nimport {typography} from '@duro-app/tokens/tokens/typography.css'\n\nexport const styles = css.create({\n root: {\n display: 'flex',\n flexDirection: 'column',\n },\n rootVertical: {\n flexDirection: 'row',\n },\n list: {\n display: 'flex',\n flexDirection: 'row',\n borderBottomWidth: 1,\n borderBottomStyle: 'solid',\n borderBottomColor: colors.border,\n gap: spacing.xs,\n },\n listVertical: {\n flexDirection: 'column',\n borderBottomWidth: 0,\n borderRightWidth: 1,\n borderRightStyle: 'solid',\n borderRightColor: colors.border,\n gap: 0,\n },\n tab: {\n display: 'inline-flex',\n alignItems: 'center',\n justifyContent: 'center',\n paddingTop: spacing.sm,\n paddingBottom: spacing.sm,\n paddingLeft: spacing.md,\n paddingRight: spacing.md,\n fontFamily: typography.fontFamily,\n fontSize: typography.fontSizeSm,\n fontWeight: typography.fontWeightMedium,\n color: {\n default: colors.textMuted,\n ':hover': colors.text,\n },\n backgroundColor: 'transparent',\n borderWidth: 0,\n borderBottomWidth: 2,\n borderBottomStyle: 'solid',\n borderBottomColor: 'transparent',\n cursor: 'pointer',\n transitionProperty: 'color, border-color',\n transitionDuration: '150ms',\n transitionTimingFunction: 'ease',\n outlineWidth: {\n default: 0,\n ':focus-visible': 2,\n },\n outlineStyle: {\n default: 'none',\n ':focus-visible': 'solid',\n },\n outlineColor: {\n default: 'transparent',\n ':focus-visible': colors.accent,\n },\n outlineOffset: {\n default: 0,\n ':focus-visible': -2,\n },\n },\n tabVertical: {\n justifyContent: 'flex-start',\n borderBottomWidth: 0,\n borderRightWidth: 2,\n borderRightStyle: 'solid',\n borderRightColor: 'transparent',\n },\n tabActiveHorizontal: {\n color: colors.text,\n borderBottomColor: colors.accent,\n },\n tabActiveVertical: {\n color: colors.text,\n borderRightColor: colors.accent,\n },\n tabDisabled: {\n opacity: 0.5,\n cursor: 'not-allowed',\n color: colors.textMuted,\n },\n panel: {\n paddingTop: spacing.md,\n },\n panelVertical: {\n paddingTop: 0,\n paddingLeft: spacing.md,\n },\n})\n","import {createContext, useContext} from 'react'\n\nexport type Orientation = 'horizontal' | 'vertical'\n\nexport interface TabsContextValue {\n activeValue: string | null\n onSelect: (value: string) => void\n orientation: Orientation\n registerTab: (value: string, disabled: boolean) => () => void\n tabsRef: React.RefObject<Map<string, boolean>>\n orderRef: React.RefObject<string[]>\n}\n\nexport const TabsContext = createContext<TabsContextValue | null>(null)\n\nexport function useTabs() {\n const ctx = useContext(TabsContext)\n if (!ctx) throw new Error('Tabs compound components must be used within Tabs.Root')\n return ctx\n}\n","import {useCallback, useRef} from 'react'\nimport {useControllableValue} from '../../hooks/useControllableValue'\nimport type {Orientation, TabsContextValue} from './TabsContext'\n\ninterface UseTabsRootOptions {\n value?: string\n defaultValue?: string\n onValueChange?: (value: string) => void\n orientation?: Orientation\n}\n\nexport function useTabsRoot({\n value: controlledValue,\n defaultValue,\n onValueChange,\n orientation = 'horizontal',\n}: UseTabsRootOptions): TabsContextValue {\n const [activeValue, onSelect] = useControllableValue<string | null>(\n controlledValue,\n defaultValue ?? null,\n onValueChange\n ? (v) => {\n if (v !== null) onValueChange(v)\n }\n : undefined,\n )\n const tabsRef = useRef(new Map<string, boolean>())\n const orderRef = useRef<string[]>([])\n\n const registerTab = useCallback((value: string, disabled: boolean) => {\n tabsRef.current.set(value, disabled)\n if (!orderRef.current.includes(value)) {\n orderRef.current.push(value)\n }\n return () => {\n tabsRef.current.delete(value)\n orderRef.current = orderRef.current.filter((v) => v !== value)\n }\n }, [])\n\n return {activeValue, onSelect, orientation, registerTab, tabsRef, orderRef}\n}\n","import {type ReactNode, useRef, useId, useEffect} from 'react'\nimport {html} from 'react-strict-dom'\nimport {styles} from './styles.css'\nimport {TabsContext, useTabs} from './TabsContext'\nimport {useTabsRoot} from './useTabsRoot'\n\n// --- Root ---\n\ninterface RootProps {\n children: ReactNode\n value?: string\n defaultValue?: string\n onValueChange?: (value: string) => void\n orientation?: 'horizontal' | 'vertical'\n}\n\nfunction Root({\n children,\n value,\n defaultValue,\n onValueChange,\n orientation = 'horizontal',\n}: RootProps) {\n const ctx = useTabsRoot({value, defaultValue, onValueChange, orientation})\n\n return (\n <TabsContext.Provider value={ctx}>\n <html.div style={[styles.root, orientation === 'vertical' && styles.rootVertical]}>\n {children}\n </html.div>\n </TabsContext.Provider>\n )\n}\n\n// --- List ---\n\ninterface ListProps {\n children: ReactNode\n}\n\nfunction List({children}: ListProps) {\n const {orientation, activeValue, onSelect, tabsRef, orderRef} = useTabs()\n const listRef = useRef<HTMLDivElement>(null)\n\n useEffect(() => {\n const el = listRef.current\n if (!el) return\n\n function handleKeyDown(this: HTMLElement, e: KeyboardEvent) {\n const order = orderRef.current\n const tabs = tabsRef.current\n if (order.length === 0) return\n const listEl = this\n\n const prevKey = orientation === 'horizontal' ? 'ArrowLeft' : 'ArrowUp'\n const nextKey = orientation === 'horizontal' ? 'ArrowRight' : 'ArrowDown'\n\n let targetValue: string | null = null\n\n switch (e.key) {\n case nextKey: {\n e.preventDefault()\n const currentIdx = activeValue ? order.indexOf(activeValue) : -1\n for (let i = 1; i <= order.length; i++) {\n const idx = (currentIdx + i) % order.length\n const val = order[idx]\n if (!tabs.get(val)) {\n targetValue = val\n break\n }\n }\n break\n }\n case prevKey: {\n e.preventDefault()\n const currentIdx = activeValue ? order.indexOf(activeValue) : 0\n for (let i = 1; i <= order.length; i++) {\n const idx = (currentIdx - i + order.length) % order.length\n const val = order[idx]\n if (!tabs.get(val)) {\n targetValue = val\n break\n }\n }\n break\n }\n case 'Home': {\n e.preventDefault()\n for (const val of order) {\n if (!tabs.get(val)) {\n targetValue = val\n break\n }\n }\n break\n }\n case 'End': {\n e.preventDefault()\n for (let i = order.length - 1; i >= 0; i--) {\n if (!tabs.get(order[i])) {\n targetValue = order[i]\n break\n }\n }\n break\n }\n }\n\n if (targetValue) {\n onSelect(targetValue)\n // Focus the newly activated tab button\n const tabEl = listEl.querySelector(\n `[data-tab-value=\"${targetValue}\"]`,\n ) as HTMLElement | null\n tabEl?.focus()\n }\n }\n\n el.addEventListener('keydown', handleKeyDown)\n return () => el.removeEventListener('keydown', handleKeyDown)\n }, [orientation, activeValue, onSelect, tabsRef, orderRef])\n\n return (\n <html.div\n ref={listRef}\n role=\"tablist\"\n aria-orientation={orientation}\n style={[styles.list, orientation === 'vertical' && styles.listVertical]}\n >\n {children}\n </html.div>\n )\n}\n\n// --- Tab ---\n\ninterface TabProps {\n value: string\n disabled?: boolean\n children: ReactNode\n}\n\nfunction Tab({value, disabled = false, children}: TabProps) {\n const {activeValue, onSelect, orientation, registerTab} = useTabs()\n const isActive = activeValue === value\n const tabId = useId()\n const panelId = `${tabId}-panel`\n\n useEffect(() => {\n return registerTab(value, disabled)\n }, [value, disabled, registerTab])\n\n const handleClick = () => {\n if (!disabled) {\n onSelect(value)\n }\n }\n\n return (\n <html.button\n type=\"button\"\n role=\"tab\"\n id={tabId}\n aria-selected={isActive}\n aria-controls={panelId}\n aria-disabled={disabled || undefined}\n data-tab-value={value}\n tabIndex={isActive ? 0 : -1}\n onClick={handleClick}\n style={[\n styles.tab,\n orientation === 'vertical' && styles.tabVertical,\n isActive &&\n (orientation === 'vertical' ? styles.tabActiveVertical : styles.tabActiveHorizontal),\n disabled && styles.tabDisabled,\n ]}\n >\n {children}\n </html.button>\n )\n}\n\n// --- Panel ---\n\ninterface PanelProps {\n value: string\n children: ReactNode\n}\n\nfunction Panel({value, children}: PanelProps) {\n const {activeValue, orientation} = useTabs()\n\n if (activeValue !== value) return null\n\n return (\n <html.div\n role=\"tabpanel\"\n style={[styles.panel, orientation === 'vertical' && styles.panelVertical]}\n >\n {children}\n </html.div>\n )\n}\n\nexport const Tabs = {\n Root,\n List,\n Tab,\n Panel,\n}\n","import {css} from 'react-strict-dom'\nimport {colors} from '@duro-app/tokens/tokens/colors.css'\nimport {spacing, radii} from '@duro-app/tokens/tokens/spacing.css'\nimport {typography} from '@duro-app/tokens/tokens/typography.css'\n\nexport const styles = css.create({\n base: {\n boxSizing: 'border-box',\n width: '100%',\n paddingTop: spacing.sm,\n paddingBottom: spacing.sm,\n paddingLeft: spacing.md,\n paddingRight: spacing.md,\n fontFamily: typography.fontFamily,\n fontSize: typography.fontSizeSm,\n lineHeight: typography.lineHeight,\n color: colors.text,\n backgroundColor: colors.bg,\n borderWidth: 1,\n borderStyle: 'solid',\n borderRadius: radii.sm,\n resize: 'vertical' as const,\n transitionProperty: 'border-color',\n transitionDuration: '150ms',\n transitionTimingFunction: 'ease',\n outlineWidth: {\n default: 0,\n ':focus-visible': 2,\n },\n outlineStyle: {\n default: 'none',\n ':focus-visible': 'solid',\n },\n outlineColor: {\n default: 'transparent',\n ':focus-visible': colors.accent,\n },\n outlineOffset: {\n default: 0,\n ':focus-visible': 1,\n },\n },\n default: {\n borderColor: {\n default: colors.border,\n ':hover': colors.textMuted,\n ':focus': colors.accent,\n },\n },\n error: {\n borderColor: {\n default: colors.error,\n ':focus': colors.error,\n },\n },\n})\n","import {html} from 'react-strict-dom'\nimport {useFieldContext} from '../Field/FieldContext'\nimport {styles} from './styles.css'\n\nexport type TextareaVariant = 'default' | 'error'\n\ninterface TextareaProps {\n variant?: TextareaVariant\n name?: string\n placeholder?: string\n required?: boolean\n rows?: number\n value?: string\n defaultValue?: string\n disabled?: boolean\n onChange?: (e: React.ChangeEvent<HTMLTextAreaElement>) => void\n}\n\nexport function Textarea({\n variant = 'default',\n name,\n placeholder,\n required,\n rows = 3,\n value,\n defaultValue,\n disabled,\n onChange,\n}: TextareaProps) {\n const ctx = useFieldContext()\n\n return (\n <html.textarea\n id={ctx?.controlId}\n name={name}\n placeholder={placeholder}\n required={required}\n rows={rows}\n value={value}\n defaultValue={defaultValue}\n disabled={disabled}\n aria-describedby={\n ctx ? `${ctx.descriptionId} ${ctx.invalid ? ctx.errorId : ''}`.trim() : undefined\n }\n aria-invalid={ctx?.invalid || variant === 'error' || undefined}\n onChange={onChange}\n style={[styles.base, styles[variant]]}\n />\n )\n}\n","const e = {\n bg: \"var(--bg-xqkwqtp)\",\n bgCard: \"var(--bgCard-xj2l5r)\",\n bgCardHover: \"var(--bgCardHover-xlxk7vw)\",\n text: \"var(--text-xlpbogt)\",\n textMuted: \"var(--textMuted-x651nu9)\",\n accent: \"var(--accent-xw7wp3v)\",\n accentHover: \"var(--accentHover-x18fqoz)\",\n accentContrast: \"var(--accentContrast-x3gzxyp)\",\n border: \"var(--border-x1drj1pb)\",\n error: \"var(--error-x13gdhh0)\",\n errorHover: \"var(--errorHover-x7eyu03)\",\n errorBg: \"var(--errorBg-xrl8836)\",\n errorBorder: \"var(--errorBorder-x1a6pjl)\",\n errorText: \"var(--errorText-xf51nwe)\",\n errorContrast: \"var(--errorContrast-x1lvjkah)\",\n success: \"var(--success-x197pe5n)\",\n successBg: \"var(--successBg-xzjukav)\",\n successBorder: \"var(--successBorder-x1my3ygc)\",\n successText: \"var(--successText-x46dg9e)\",\n warning: \"var(--warning-x1gq0pyw)\",\n warningBg: \"var(--warningBg-xtnxqss)\",\n warningBorder: \"var(--warningBorder-x1ev2mr5)\",\n warningText: \"var(--warningText-x1lgjghx)\",\n info: \"var(--info-x97ho0r)\",\n infoBg: \"var(--infoBg-xho8jir)\",\n infoBorder: \"var(--infoBorder-xnevk3x)\",\n infoText: \"var(--infoText-x19pseus)\",\n __varGroupHash__: \"xjvd03b\"\n}, t = {\n xs: \"var(--xs-xxfyjsd)\",\n sm: \"var(--sm-xbh8y7f)\",\n ms: \"var(--ms-x13y09zs)\",\n md: \"var(--md-x3pkb85)\",\n lg: \"var(--lg-x34mutn)\",\n xl: \"var(--xl-xttpygj)\",\n xxl: \"var(--xxl-xbe9eha)\",\n xxxl: \"var(--xxxl-xroalp5)\",\n __varGroupHash__: \"x6uc9q\"\n}, n = {\n sm: \"var(--sm-x1bhtfs5)\",\n md: \"var(--md-xx2g89g)\",\n lg: \"var(--lg-xwd56yl)\",\n full: \"var(--full-x9vxdtd)\",\n __varGroupHash__: \"xw3ffwm\"\n}, i = {\n stackXs: \"var(--stackXs-x1qfrfo2)\",\n stackSm: \"var(--stackSm-x2rk1ut)\",\n stackMd: \"var(--stackMd-xhblkt4)\",\n stackLg: \"var(--stackLg-xeue779)\",\n stackXl: \"var(--stackXl-x7sbbgu)\",\n inlineXs: \"var(--inlineXs-xq4tp4f)\",\n inlineSm: \"var(--inlineSm-x2o8bbf)\",\n inlineMd: \"var(--inlineMd-x1oalkxi)\",\n inlineLg: \"var(--inlineLg-xz69o43)\",\n containerSm: \"var(--containerSm-x3nosus)\",\n containerMd: \"var(--containerMd-x170dvin)\",\n containerLg: \"var(--containerLg-x1n6aasq)\",\n __varGroupHash__: \"x16nfoyr\"\n}, r = {\n fontFamily: \"var(--fontFamily-xvrmnat)\",\n fontFamilyMono: \"var(--fontFamilyMono-x1bzqfky)\",\n fontSizeXs: \"var(--fontSizeXs-x1w5m325)\",\n fontSizeSm: \"var(--fontSizeSm-x1bjjs4u)\",\n fontSizeMd: \"var(--fontSizeMd-xq8d99q)\",\n fontSizeLg: \"var(--fontSizeLg-x18ngplw)\",\n fontSizeXl: \"var(--fontSizeXl-x1b1mqsu)\",\n fontSizeHeading: \"var(--fontSizeHeading-x1stydh2)\",\n fontWeightNormal: \"var(--fontWeightNormal-x1y1cayu)\",\n fontWeightMedium: \"var(--fontWeightMedium-xaw13ft)\",\n fontWeightSemibold: \"var(--fontWeightSemibold-xg6c7xe)\",\n fontWeightBold: \"var(--fontWeightBold-x1pjkvwg)\",\n lineHeight: \"var(--lineHeight-x1gubzd5)\",\n __varGroupHash__: \"xs62swl\"\n}, a = {\n fontSize1: \"var(--fontSize1-xx27tux)\",\n fontSize2: \"var(--fontSize2-x5hag8h)\",\n fontSize3: \"var(--fontSize3-x1mf6j39)\",\n fontSize4: \"var(--fontSize4-xh0hch2)\",\n fontSize5: \"var(--fontSize5-xcllv62)\",\n fontSize6: \"var(--fontSize6-xo5veds)\",\n fontSize7: \"var(--fontSize7-x1j85tz8)\",\n fontSize8: \"var(--fontSize8-x17zhits)\",\n fontSize9: \"var(--fontSize9-xveysf7)\",\n lineHeight1: \"var(--lineHeight1-x17o1wol)\",\n lineHeight2: \"var(--lineHeight2-xinpx5n)\",\n lineHeight3: \"var(--lineHeight3-x1163vpm)\",\n lineHeight4: \"var(--lineHeight4-x1y0jdbp)\",\n lineHeight5: \"var(--lineHeight5-xjln4cz)\",\n lineHeight6: \"var(--lineHeight6-x1h1b5wo)\",\n lineHeight7: \"var(--lineHeight7-xx3gx0p)\",\n lineHeight8: \"var(--lineHeight8-xk1f09j)\",\n lineHeight9: \"var(--lineHeight9-xshcxhh)\",\n displaySm: \"var(--displaySm-x5inqzv)\",\n displayMd: \"var(--displayMd-x1oektom)\",\n displayLg: \"var(--displayLg-x6qsr1u)\",\n letterSpacingTight: \"var(--letterSpacingTight-xmavxfk)\",\n letterSpacingNormal: \"var(--letterSpacingNormal-x1ih41v1)\",\n letterSpacingWide: \"var(--letterSpacingWide-xt8z9rj)\",\n __varGroupHash__: \"x4cj49w\"\n}, o = {\n bodySm: {\n \"fontFamily-kMv6JI\": \"fontFamily-xce2pww\",\n \"fontSize-kGuDYH\": \"fontSize-x1hn3ytp\",\n \"lineHeight-kLWn49\": \"lineHeight-xzs5d81\",\n \"fontWeight-k63SB2\": \"fontWeight-xrec02b\",\n \"letterSpacing-kb6lSQ\": \"letterSpacing-x2e73ve\",\n $$css: \"tokens/type-presets.css.ts:6\"\n },\n bodyMd: {\n \"fontFamily-kMv6JI\": \"fontFamily-xce2pww\",\n \"fontSize-kGuDYH\": \"fontSize-xfzcsg9\",\n \"lineHeight-kLWn49\": \"lineHeight-x80sjjd\",\n \"fontWeight-k63SB2\": \"fontWeight-xrec02b\",\n \"letterSpacing-kb6lSQ\": \"letterSpacing-x2e73ve\",\n $$css: \"tokens/type-presets.css.ts:13\"\n },\n bodyLg: {\n \"fontFamily-kMv6JI\": \"fontFamily-xce2pww\",\n \"fontSize-kGuDYH\": \"fontSize-x1kws70c\",\n \"lineHeight-kLWn49\": \"lineHeight-x1487en2\",\n \"fontWeight-k63SB2\": \"fontWeight-xrec02b\",\n \"letterSpacing-kb6lSQ\": \"letterSpacing-x2e73ve\",\n $$css: \"tokens/type-presets.css.ts:20\"\n },\n caption: {\n \"fontFamily-kMv6JI\": \"fontFamily-xce2pww\",\n \"fontSize-kGuDYH\": \"fontSize-x19zw8p8\",\n \"lineHeight-kLWn49\": \"lineHeight-xsnwo96\",\n \"fontWeight-k63SB2\": \"fontWeight-xrec02b\",\n \"letterSpacing-kb6lSQ\": \"letterSpacing-x121swot\",\n $$css: \"tokens/type-presets.css.ts:29\"\n },\n label: {\n \"fontFamily-kMv6JI\": \"fontFamily-xce2pww\",\n \"fontSize-kGuDYH\": \"fontSize-x1hn3ytp\",\n \"lineHeight-kLWn49\": \"lineHeight-xzs5d81\",\n \"fontWeight-k63SB2\": \"fontWeight-x120ksxs\",\n \"letterSpacing-kb6lSQ\": \"letterSpacing-x2e73ve\",\n $$css: \"tokens/type-presets.css.ts:36\"\n },\n code: {\n \"fontFamily-kMv6JI\": \"fontFamily-x1kygxdj\",\n \"fontSize-kGuDYH\": \"fontSize-x1hn3ytp\",\n \"lineHeight-kLWn49\": \"lineHeight-xzs5d81\",\n \"fontWeight-k63SB2\": \"fontWeight-xrec02b\",\n \"letterSpacing-kb6lSQ\": \"letterSpacing-x2e73ve\",\n $$css: \"tokens/type-presets.css.ts:43\"\n },\n overline: {\n \"fontFamily-kMv6JI\": \"fontFamily-xce2pww\",\n \"fontSize-kGuDYH\": \"fontSize-x19zw8p8\",\n \"lineHeight-kLWn49\": \"lineHeight-xsnwo96\",\n \"fontWeight-k63SB2\": \"fontWeight-x1x12jc5\",\n \"letterSpacing-kb6lSQ\": \"letterSpacing-x121swot\",\n \"textTransform-kP9fke\": \"textTransform-xtvhhri\",\n $$css: \"tokens/type-presets.css.ts:50\"\n },\n headingSm: {\n \"fontFamily-kMv6JI\": \"fontFamily-xce2pww\",\n \"fontSize-kGuDYH\": \"fontSize-xtv95mj\",\n \"lineHeight-kLWn49\": \"lineHeight-xyb71hx\",\n \"fontWeight-k63SB2\": \"fontWeight-x1x12jc5\",\n \"letterSpacing-kb6lSQ\": \"letterSpacing-xql2p2a\",\n $$css: \"tokens/type-presets.css.ts:60\"\n },\n headingMd: {\n \"fontFamily-kMv6JI\": \"fontFamily-xce2pww\",\n \"fontSize-kGuDYH\": \"fontSize-x1qndi8g\",\n \"lineHeight-kLWn49\": \"lineHeight-x17ovj3u\",\n \"fontWeight-k63SB2\": \"fontWeight-x1x12jc5\",\n \"letterSpacing-kb6lSQ\": \"letterSpacing-xql2p2a\",\n $$css: \"tokens/type-presets.css.ts:67\"\n },\n headingLg: {\n \"fontFamily-kMv6JI\": \"fontFamily-xce2pww\",\n \"fontSize-kGuDYH\": \"fontSize-xo0rcgw\",\n \"lineHeight-kLWn49\": \"lineHeight-x18micsl\",\n \"fontWeight-k63SB2\": \"fontWeight-xhkckuk\",\n \"letterSpacing-kb6lSQ\": \"letterSpacing-xql2p2a\",\n $$css: \"tokens/type-presets.css.ts:74\"\n },\n headingXl: {\n \"fontFamily-kMv6JI\": \"fontFamily-xce2pww\",\n \"fontSize-kGuDYH\": \"fontSize-x6ugw34\",\n \"lineHeight-kLWn49\": \"lineHeight-x1f79cfb\",\n \"fontWeight-k63SB2\": \"fontWeight-xhkckuk\",\n \"letterSpacing-kb6lSQ\": \"letterSpacing-xql2p2a\",\n $$css: \"tokens/type-presets.css.ts:81\"\n },\n displaySm: {\n \"fontFamily-kMv6JI\": \"fontFamily-xce2pww\",\n \"fontSize-kGuDYH\": \"fontSize-x1lwaixd\",\n \"lineHeight-kLWn49\": \"lineHeight-x1u7k74\",\n \"fontWeight-k63SB2\": \"fontWeight-xhkckuk\",\n \"letterSpacing-kb6lSQ\": \"letterSpacing-xql2p2a\",\n $$css: \"tokens/type-presets.css.ts:90\"\n },\n displayMd: {\n \"fontFamily-kMv6JI\": \"fontFamily-xce2pww\",\n \"fontSize-kGuDYH\": \"fontSize-xrqn33v\",\n \"lineHeight-kLWn49\": \"lineHeight-x1uo3zyz\",\n \"fontWeight-k63SB2\": \"fontWeight-xhkckuk\",\n \"letterSpacing-kb6lSQ\": \"letterSpacing-xql2p2a\",\n $$css: \"tokens/type-presets.css.ts:97\"\n },\n displayLg: {\n \"fontFamily-kMv6JI\": \"fontFamily-xce2pww\",\n \"fontSize-kGuDYH\": \"fontSize-x1s08cw3\",\n \"lineHeight-kLWn49\": \"lineHeight-x1159mfc\",\n \"fontWeight-k63SB2\": \"fontWeight-xhkckuk\",\n \"letterSpacing-kb6lSQ\": \"letterSpacing-xql2p2a\",\n $$css: \"tokens/type-presets.css.ts:104\"\n }\n}, s = {\n sm: \"var(--sm-x17hhtln)\",\n md: \"var(--md-x1oyt0aw)\",\n lg: \"var(--lg-x1mxd62i)\",\n __varGroupHash__: \"x13v825q\"\n}, x = {\n xjvd03b: \"xrtwk39 xjvd03b\",\n $$css: !0\n}, l = {\n x13v825q: \"xv9ibj0 x13v825q\",\n $$css: !0\n}, g = {\n xjvd03b: \"xaveibd xjvd03b\",\n $$css: !0\n}, c = {\n x13v825q: \"x15e39jv x13v825q\",\n $$css: !0\n};\nexport {\n e as colors,\n c as highContrastShadows,\n g as highContrastTheme,\n i as layoutSpacing,\n l as lightShadows,\n x as lightTheme,\n n as radii,\n s as shadows,\n t as spacing,\n o as typePresets,\n a as typeScale,\n r as typography\n};\n//# sourceMappingURL=index.js.map\n","import type {ReactNode} from 'react'\nimport {css, html} from 'react-strict-dom'\nimport {lightTheme, lightShadows, highContrastTheme, highContrastShadows} from '@duro-app/tokens'\n\nexport type ThemeName = 'dark' | 'light' | 'high-contrast'\n\ninterface ThemeProviderProps {\n theme?: ThemeName\n children: ReactNode\n}\n\nconst themeMap: Partial<Record<ThemeName, readonly [typeof lightTheme, typeof lightShadows]>> = {\n light: [lightTheme, lightShadows],\n 'high-contrast': [highContrastTheme, highContrastShadows],\n}\n\nconst styles = css.create({\n root: {\n display: 'contents',\n },\n})\n\n// react-strict-dom's style prop rejects Theme<VarGroup<{named keys}>> because the\n// concrete VarGroup lacks the generic index signature. This is a known typing gap.\ntype DivStyle = Parameters<typeof html.div>[0]['style']\n\nexport function ThemeProvider({theme = 'dark', children}: ThemeProviderProps) {\n const overrides = themeMap[theme]\n const themeStyles = [overrides?.[0], overrides?.[1], styles.root] as DivStyle\n\n return <html.div style={themeStyles}>{children}</html.div>\n}\n","import {css} from 'react-strict-dom'\nimport {colors} from '@duro-app/tokens/tokens/colors.css'\nimport {typography} from '@duro-app/tokens/tokens/typography.css'\n\nexport const styles = css.create({\n // Colors\n default: {\n color: colors.text,\n },\n muted: {\n color: colors.textMuted,\n },\n accent: {\n color: colors.accent,\n },\n error: {\n color: colors.errorText,\n },\n success: {\n color: colors.successText,\n },\n warning: {\n color: colors.warningText,\n },\n\n // Weight overrides\n weightNormal: {\n fontWeight: typography.fontWeightNormal,\n },\n weightMedium: {\n fontWeight: typography.fontWeightMedium,\n },\n weightSemibold: {\n fontWeight: typography.fontWeightSemibold,\n },\n weightBold: {\n fontWeight: typography.fontWeightBold,\n },\n\n // Alignment\n alignStart: {\n textAlign: 'start',\n },\n alignCenter: {\n textAlign: 'center',\n },\n alignEnd: {\n textAlign: 'end',\n },\n\n // Truncate\n truncate: {\n overflow: 'hidden',\n textOverflow: 'ellipsis',\n whiteSpace: 'nowrap',\n },\n})\n","import type {ReactNode} from 'react'\nimport {html} from 'react-strict-dom'\nimport {typePresets} from '@duro-app/tokens/tokens/type-presets.css'\nimport {styles} from './styles.css'\n\nexport type TextVariant = 'bodySm' | 'bodyMd' | 'bodyLg' | 'caption' | 'label' | 'code' | 'overline'\nexport type TextColor = 'default' | 'muted' | 'accent' | 'error' | 'success' | 'warning'\n\ninterface TextProps {\n variant?: TextVariant\n color?: TextColor\n weight?: 'normal' | 'medium' | 'semibold' | 'bold'\n align?: 'start' | 'center' | 'end'\n truncate?: boolean\n as?: 'span' | 'p' | 'div'\n children: ReactNode\n}\n\nconst weightMap = {\n normal: styles.weightNormal,\n medium: styles.weightMedium,\n semibold: styles.weightSemibold,\n bold: styles.weightBold,\n} as const\n\nconst alignMap = {\n start: styles.alignStart,\n center: styles.alignCenter,\n end: styles.alignEnd,\n} as const\n\nexport function Text({\n variant = 'bodyMd',\n color = 'default',\n weight,\n align,\n truncate,\n as = 'span',\n children,\n}: TextProps) {\n const style = [\n typePresets[variant],\n styles[color],\n weight && weightMap[weight],\n align && alignMap[align],\n truncate && styles.truncate,\n ]\n\n if (as === 'p') return <html.p style={style}>{children}</html.p>\n if (as === 'div') return <html.div style={style}>{children}</html.div>\n return <html.span style={style}>{children}</html.span>\n}\n","import {createContext, useContext} from 'react'\nimport type {ToggleSize} from '../Toggle/Toggle'\n\nexport type Orientation = 'horizontal' | 'vertical'\n\nexport interface ToggleGroupContextValue {\n value: string[]\n toggle: (itemValue: string) => void\n disabled: boolean\n orientation: Orientation\n size: ToggleSize\n}\n\nexport const ToggleGroupContext = createContext<ToggleGroupContextValue | null>(null)\n\nexport function useToggleGroup() {\n return useContext(ToggleGroupContext)\n}\n","import {css} from 'react-strict-dom'\nimport {colors} from '@duro-app/tokens/tokens/colors.css'\nimport {spacing, radii} from '@duro-app/tokens/tokens/spacing.css'\nimport {typography} from '@duro-app/tokens/tokens/typography.css'\n\nexport const styles = css.create({\n base: {\n display: 'inline-flex',\n alignItems: 'center',\n justifyContent: 'center',\n borderWidth: 1,\n borderStyle: 'solid',\n cursor: 'pointer',\n fontFamily: typography.fontFamily,\n fontWeight: typography.fontWeightMedium,\n transitionProperty: 'background-color, border-color, color, opacity',\n transitionDuration: '150ms',\n transitionTimingFunction: 'ease',\n outlineWidth: {default: 0, ':focus-visible': 2},\n outlineStyle: 'solid',\n outlineColor: colors.accent,\n outlineOffset: 2,\n },\n sizeDefault: {\n padding: `${spacing.sm} ${spacing.md}`,\n fontSize: typography.fontSizeSm,\n borderRadius: radii.sm,\n gap: spacing.sm,\n },\n sizeSmall: {\n padding: `${spacing.xs} ${spacing.sm}`,\n fontSize: typography.fontSizeXs,\n borderRadius: radii.sm,\n gap: spacing.xs,\n },\n unpressed: {\n backgroundColor: {\n default: 'transparent',\n ':hover': colors.bgCardHover,\n },\n borderColor: {\n default: colors.border,\n ':hover': colors.textMuted,\n },\n color: colors.textMuted,\n },\n pressed: {\n backgroundColor: {\n default: colors.accent,\n ':hover': colors.accentHover,\n },\n borderColor: colors.accent,\n color: colors.accentContrast,\n },\n grouped: {\n borderWidth: 0,\n borderRadius: 0,\n borderRightWidth: 1,\n borderRightStyle: 'solid',\n borderRightColor: colors.border,\n },\n disabled: {\n opacity: 0.5,\n cursor: 'not-allowed',\n },\n})\n","import {type ReactNode, useCallback} from 'react'\nimport {html} from 'react-strict-dom'\nimport {useControllableValue} from '../../hooks/useControllableValue'\nimport {useToggleGroup} from '../ToggleGroup/ToggleGroupContext'\nimport {styles} from './styles.css'\n\nexport type ToggleSize = 'default' | 'small'\n\ninterface ToggleProps {\n /** Controlled pressed state (standalone usage). */\n pressed?: boolean\n /** Initial pressed state (uncontrolled, standalone usage). */\n defaultPressed?: boolean\n /** Callback fired when the pressed state changes (standalone usage). */\n onPressedChange?: (pressed: boolean) => void\n /** Unique value when used inside a ToggleGroup. */\n value?: string\n /** Prevents user interaction. */\n disabled?: boolean\n /** Size variant (overridden by ToggleGroup when grouped). */\n size?: ToggleSize\n 'aria-label'?: string\n children: ReactNode\n}\n\nconst sizeMap = {\n default: styles.sizeDefault,\n small: styles.sizeSmall,\n} as const\n\nexport function Toggle({\n pressed: controlledPressed,\n defaultPressed = false,\n onPressedChange,\n value,\n disabled: disabledProp = false,\n size: sizeProp = 'default',\n 'aria-label': ariaLabel,\n children,\n}: ToggleProps) {\n const group = useToggleGroup()\n\n // When inside a ToggleGroup, derive pressed state from group context\n const groupPressed = group && value !== undefined ? group.value.includes(value) : undefined\n const isGrouped = group !== null\n const disabled = disabledProp || (group?.disabled ?? false)\n const size = group?.size ?? sizeProp\n\n const [standalonePressed, setStandalonePressed] = useControllableValue(\n controlledPressed,\n defaultPressed,\n onPressedChange,\n )\n\n const pressed = groupPressed ?? standalonePressed\n\n const handleClick = useCallback(() => {\n if (disabled) return\n if (isGrouped && value !== undefined) {\n group.toggle(value)\n } else {\n setStandalonePressed(!pressed)\n }\n }, [disabled, isGrouped, value, group, pressed, setStandalonePressed])\n\n return (\n <html.button\n type=\"button\"\n aria-pressed={pressed}\n aria-label={ariaLabel}\n disabled={disabled}\n onClick={handleClick}\n data-pressed={pressed ? '' : undefined}\n style={[\n styles.base,\n sizeMap[size],\n pressed ? styles.pressed : styles.unpressed,\n isGrouped && styles.grouped,\n disabled && styles.disabled,\n ]}\n >\n {children}\n </html.button>\n )\n}\n","import {css} from 'react-strict-dom'\nimport {colors} from '@duro-app/tokens/tokens/colors.css'\nimport {radii} from '@duro-app/tokens/tokens/spacing.css'\n\nexport const styles = css.create({\n root: {\n display: 'inline-flex',\n borderRadius: radii.sm,\n borderWidth: 1,\n borderStyle: 'solid',\n borderColor: colors.border,\n overflow: 'hidden',\n },\n vertical: {\n flexDirection: 'column',\n },\n})\n","import {type ReactNode, useCallback} from 'react'\nimport {html} from 'react-strict-dom'\nimport {useControllableValue} from '../../hooks/useControllableValue'\nimport type {ToggleSize} from '../Toggle/Toggle'\nimport {ToggleGroupContext, type Orientation} from './ToggleGroupContext'\nimport {styles} from './styles.css'\n\ninterface ToggleGroupProps {\n /** Controlled value — array of pressed item values. */\n value?: string[]\n /** Initial value (uncontrolled). */\n defaultValue?: string[]\n /** Callback fired when the set of pressed values changes. */\n onValueChange?: (value: string[]) => void\n /** When false, at most one item can be pressed at a time. */\n multiple?: boolean\n /** Prevents interaction with all items. */\n disabled?: boolean\n /** Layout direction. */\n orientation?: Orientation\n /** Size applied to all child toggles. */\n size?: ToggleSize\n children: ReactNode\n}\n\nexport function ToggleGroup({\n value: controlledValue,\n defaultValue = [],\n onValueChange,\n multiple = false,\n disabled = false,\n orientation = 'horizontal',\n size = 'default',\n children,\n}: ToggleGroupProps) {\n const [value, setValue] = useControllableValue(controlledValue, defaultValue, onValueChange)\n\n const toggle = useCallback(\n (itemValue: string) => {\n const nextPressed = !value.includes(itemValue)\n let next: string[]\n if (multiple) {\n next = nextPressed ? [...value, itemValue] : value.filter((v) => v !== itemValue)\n } else {\n next = nextPressed ? [itemValue] : []\n }\n setValue(next)\n },\n [value, multiple, setValue],\n )\n\n return (\n <ToggleGroupContext.Provider value={{value, toggle, disabled, orientation, size}}>\n <html.div\n role=\"group\"\n aria-orientation={orientation}\n style={[styles.root, orientation === 'vertical' && styles.vertical]}\n >\n {children}\n </html.div>\n </ToggleGroupContext.Provider>\n )\n}\n","import {css} from 'react-strict-dom'\nimport {colors} from '@duro-app/tokens/tokens/colors.css'\nimport {spacing, radii} from '@duro-app/tokens/tokens/spacing.css'\nimport {typography} from '@duro-app/tokens/tokens/typography.css'\nimport {shadows} from '@duro-app/tokens/tokens/shadows.css'\n\nexport const styles = css.create({\n root: {\n position: 'relative',\n display: 'inline-flex',\n },\n popup: {\n position: 'absolute',\n zIndex: 50,\n paddingTop: spacing.xs,\n paddingBottom: spacing.xs,\n paddingLeft: spacing.sm,\n paddingRight: spacing.sm,\n backgroundColor: colors.bgCard,\n color: colors.text,\n fontFamily: typography.fontFamily,\n fontSize: typography.fontSizeXs,\n lineHeight: typography.lineHeight,\n borderRadius: radii.sm,\n borderWidth: 1,\n borderStyle: 'solid',\n borderColor: colors.border,\n boxShadow: shadows.md,\n whiteSpace: 'nowrap',\n pointerEvents: 'none',\n },\n top: {\n bottom: '100%',\n left: '50%',\n transform: 'translateX(-50%)',\n marginBottom: spacing.xs,\n },\n bottom: {\n top: '100%',\n left: '50%',\n transform: 'translateX(-50%)',\n marginTop: spacing.xs,\n },\n left: {\n right: '100%',\n top: '50%',\n transform: 'translateY(-50%)',\n marginRight: spacing.xs,\n },\n right: {\n left: '100%',\n top: '50%',\n transform: 'translateY(-50%)',\n marginLeft: spacing.xs,\n },\n})\n","import {\n type ReactNode,\n createContext,\n useContext,\n useState,\n useRef,\n useCallback,\n useId,\n} from 'react'\nimport {html} from 'react-strict-dom'\nimport {styles} from './styles.css'\n\n// --- Context ---\n\ntype Placement = 'top' | 'bottom' | 'left' | 'right'\n\ninterface TooltipContextValue {\n open: boolean\n show: () => void\n hide: () => void\n tooltipId: string\n placement: Placement\n}\n\nconst TooltipContext = createContext<TooltipContextValue | null>(null)\n\nfunction useTooltip() {\n const ctx = useContext(TooltipContext)\n if (!ctx) throw new Error('Tooltip compound components must be used within Tooltip.Root')\n return ctx\n}\n\n// --- Root ---\n\ninterface RootProps {\n children: ReactNode\n content: ReactNode\n placement?: Placement\n delay?: number\n}\n\nfunction Root({children, content, placement = 'top', delay = 300}: RootProps) {\n const [open, setOpen] = useState(false)\n const tooltipId = useId()\n const timerRef = useRef<ReturnType<typeof setTimeout> | null>(null)\n\n const show = useCallback(() => {\n if (timerRef.current) clearTimeout(timerRef.current)\n timerRef.current = setTimeout(() => setOpen(true), delay)\n }, [delay])\n\n const hide = useCallback(() => {\n if (timerRef.current) clearTimeout(timerRef.current)\n timerRef.current = null\n setOpen(false)\n }, [])\n\n return (\n <TooltipContext.Provider value={{open, show, hide, tooltipId, placement}}>\n <html.div style={styles.root}>\n {children}\n {open && (\n <html.div id={tooltipId} role=\"tooltip\" style={[styles.popup, styles[placement]]}>\n {content}\n </html.div>\n )}\n </html.div>\n </TooltipContext.Provider>\n )\n}\n\n// --- Trigger ---\n\ninterface TriggerProps {\n children: ReactNode\n}\n\nfunction Trigger({children}: TriggerProps) {\n const {open, show, hide, tooltipId} = useTooltip()\n\n return (\n <html.div\n onPointerEnter={show}\n onPointerLeave={hide}\n onFocus={show}\n onBlur={hide}\n aria-describedby={open ? tooltipId : undefined}\n >\n {children}\n </html.div>\n )\n}\n\nexport const Tooltip = {\n Root,\n Trigger,\n}\n","import {css} from 'react-strict-dom'\nimport {colors} from '@duro-app/tokens/tokens/colors.css'\nimport {spacing, radii} from '@duro-app/tokens/tokens/spacing.css'\nimport {typography} from '@duro-app/tokens/tokens/typography.css'\n\nexport const styles = css.create({\n root: {\n display: 'inline-flex',\n alignItems: 'center',\n gap: spacing.sm,\n cursor: 'pointer',\n fontSize: typography.fontSizeSm,\n color: colors.text,\n lineHeight: typography.lineHeight,\n },\n rootDisabled: {\n opacity: 0.5,\n cursor: 'not-allowed',\n },\n track: {\n position: 'relative',\n width: 36,\n height: 20,\n borderRadius: radii.full,\n borderWidth: 0,\n padding: 0,\n cursor: 'inherit',\n transitionProperty: 'background-color',\n transitionDuration: '150ms',\n transitionTimingFunction: 'ease',\n outlineWidth: {default: 0, ':focus-visible': 2},\n outlineStyle: 'solid',\n outlineColor: colors.accent,\n outlineOffset: 2,\n flexShrink: 0,\n },\n trackUnchecked: {\n backgroundColor: {\n default: colors.border,\n ':hover': colors.textMuted,\n },\n },\n trackChecked: {\n backgroundColor: {\n default: colors.accent,\n ':hover': colors.accentHover,\n },\n },\n thumb: {\n position: 'absolute',\n top: 2,\n left: 2,\n width: 16,\n height: 16,\n borderRadius: radii.full,\n backgroundColor: '#fff',\n transitionProperty: 'transform',\n transitionDuration: '150ms',\n transitionTimingFunction: 'ease',\n },\n thumbChecked: {\n transform: 'translateX(16px)',\n },\n input: {\n position: 'absolute',\n width: 1,\n height: 1,\n opacity: 0,\n overflow: 'hidden',\n },\n})\n","import {type ReactNode, useCallback, useRef} from 'react'\nimport {html} from 'react-strict-dom'\nimport {useControllableValue} from '../../hooks/useControllableValue'\nimport {styles} from './styles.css'\n\ninterface SwitchProps {\n /** Controlled checked state. */\n checked?: boolean\n /** Initial checked state (uncontrolled). */\n defaultChecked?: boolean\n /** Callback fired when the checked state changes. */\n onCheckedChange?: (checked: boolean) => void\n /** Prevents user interaction. */\n disabled?: boolean\n /** Form field name for the hidden input. */\n name?: string\n /** Value submitted when checked. */\n value?: string\n /** Label content rendered beside the switch. */\n children?: ReactNode\n}\n\nexport function Switch({\n checked: controlledChecked,\n defaultChecked = false,\n onCheckedChange,\n disabled = false,\n name,\n value,\n children,\n}: SwitchProps) {\n const [checked, setChecked] = useControllableValue(\n controlledChecked,\n defaultChecked,\n onCheckedChange,\n )\n const inputRef = useRef<HTMLInputElement>(null)\n\n const handleClick = useCallback(() => {\n if (disabled) return\n setChecked(!checked)\n // Keep hidden input in sync for form submission\n if (inputRef.current) {\n inputRef.current.checked = !checked\n }\n }, [disabled, checked, setChecked])\n\n return (\n <html.label style={[styles.root, disabled && styles.rootDisabled]}>\n <html.input\n ref={inputRef}\n type=\"checkbox\"\n role=\"switch\"\n name={name}\n value={value}\n checked={controlledChecked !== undefined ? controlledChecked : undefined}\n defaultChecked={controlledChecked === undefined ? defaultChecked : undefined}\n disabled={disabled}\n aria-checked={checked}\n onChange={(e: React.ChangeEvent<HTMLInputElement>) => {\n onCheckedChange?.(e.target.checked)\n }}\n style={styles.input}\n />\n <html.button\n type=\"button\"\n tabIndex={-1}\n aria-hidden\n disabled={disabled}\n onClick={handleClick}\n style={[styles.track, checked ? styles.trackChecked : styles.trackUnchecked]}\n >\n <html.span style={[styles.thumb, checked && styles.thumbChecked]} />\n </html.button>\n {children && <html.span>{children}</html.span>}\n </html.label>\n )\n}\n","import {css} from 'react-strict-dom'\nimport {spacing} from '@duro-app/tokens/tokens/spacing.css'\n\nexport const styles = css.create({\n base: {\n display: 'flex',\n flexDirection: 'column',\n },\n alignStart: {alignItems: 'flex-start'},\n alignCenter: {alignItems: 'center'},\n alignEnd: {alignItems: 'flex-end'},\n alignStretch: {alignItems: 'stretch'},\n gapXs: {gap: spacing.xs},\n gapSm: {gap: spacing.sm},\n gapMs: {gap: spacing.ms},\n gapMd: {gap: spacing.md},\n gapLg: {gap: spacing.lg},\n gapXl: {gap: spacing.xl},\n gapXxl: {gap: spacing.xxl},\n gapXxxl: {gap: spacing.xxxl},\n})\n","import type {ReactNode} from 'react'\nimport {html} from 'react-strict-dom'\nimport {styles} from './styles.css'\n\nexport type SpacingKey = 'xs' | 'sm' | 'ms' | 'md' | 'lg' | 'xl' | 'xxl' | 'xxxl'\n\ninterface StackProps {\n gap?: SpacingKey\n align?: 'start' | 'center' | 'end' | 'stretch'\n children: ReactNode\n}\n\nconst gapMap = {\n xs: styles.gapXs,\n sm: styles.gapSm,\n ms: styles.gapMs,\n md: styles.gapMd,\n lg: styles.gapLg,\n xl: styles.gapXl,\n xxl: styles.gapXxl,\n xxxl: styles.gapXxxl,\n} as const\n\nconst alignMap = {\n start: styles.alignStart,\n center: styles.alignCenter,\n end: styles.alignEnd,\n stretch: styles.alignStretch,\n} as const\n\nexport function Stack({gap = 'md', align = 'stretch', children}: StackProps) {\n return <html.div style={[styles.base, gapMap[gap], alignMap[align]]}>{children}</html.div>\n}\n","import {css} from 'react-strict-dom'\nimport {spacing} from '@duro-app/tokens/tokens/spacing.css'\n\nexport const styles = css.create({\n base: {\n display: 'flex',\n flexDirection: 'row',\n flexWrap: 'nowrap',\n },\n alignStart: {alignItems: 'flex-start'},\n alignCenter: {alignItems: 'center'},\n alignEnd: {alignItems: 'flex-end'},\n alignBaseline: {alignItems: 'baseline'},\n alignStretch: {alignItems: 'stretch'},\n justifyStart: {justifyContent: 'flex-start'},\n justifyCenter: {justifyContent: 'center'},\n justifyEnd: {justifyContent: 'flex-end'},\n justifyBetween: {justifyContent: 'space-between'},\n gapXs: {gap: spacing.xs},\n gapSm: {gap: spacing.sm},\n gapMs: {gap: spacing.ms},\n gapMd: {gap: spacing.md},\n gapLg: {gap: spacing.lg},\n gapXl: {gap: spacing.xl},\n gapXxl: {gap: spacing.xxl},\n gapXxxl: {gap: spacing.xxxl},\n})\n","import type {ReactNode} from 'react'\nimport {html} from 'react-strict-dom'\nimport {styles} from './styles.css'\nimport type {SpacingKey} from '../Stack/Stack'\n\ninterface InlineProps {\n gap?: SpacingKey\n align?: 'start' | 'center' | 'end' | 'baseline' | 'stretch'\n justify?: 'start' | 'center' | 'end' | 'between'\n children: ReactNode\n}\n\nconst gapMap = {\n xs: styles.gapXs,\n sm: styles.gapSm,\n ms: styles.gapMs,\n md: styles.gapMd,\n lg: styles.gapLg,\n xl: styles.gapXl,\n xxl: styles.gapXxl,\n xxxl: styles.gapXxxl,\n} as const\n\nconst alignMap = {\n start: styles.alignStart,\n center: styles.alignCenter,\n end: styles.alignEnd,\n baseline: styles.alignBaseline,\n stretch: styles.alignStretch,\n} as const\n\nconst justifyMap = {\n start: styles.justifyStart,\n center: styles.justifyCenter,\n end: styles.justifyEnd,\n between: styles.justifyBetween,\n} as const\n\nexport function Inline({gap = 'sm', align = 'center', justify = 'start', children}: InlineProps) {\n return (\n <html.div style={[styles.base, gapMap[gap], alignMap[align], justifyMap[justify]]}>\n {children}\n </html.div>\n )\n}\n","import {css} from 'react-strict-dom'\nimport {spacing} from '@duro-app/tokens/tokens/spacing.css'\n\nexport const styles = css.create({\n base: {\n display: 'flex',\n flexDirection: 'row',\n flexWrap: 'wrap',\n },\n alignStart: {alignItems: 'flex-start'},\n alignCenter: {alignItems: 'center'},\n alignEnd: {alignItems: 'flex-end'},\n justifyStart: {justifyContent: 'flex-start'},\n justifyCenter: {justifyContent: 'center'},\n justifyEnd: {justifyContent: 'flex-end'},\n justifyBetween: {justifyContent: 'space-between'},\n gapXs: {gap: spacing.xs},\n gapSm: {gap: spacing.sm},\n gapMs: {gap: spacing.ms},\n gapMd: {gap: spacing.md},\n gapLg: {gap: spacing.lg},\n gapXl: {gap: spacing.xl},\n gapXxl: {gap: spacing.xxl},\n gapXxxl: {gap: spacing.xxxl},\n})\n","import type {ReactNode} from 'react'\nimport {html} from 'react-strict-dom'\nimport {styles} from './styles.css'\nimport type {SpacingKey} from '../Stack/Stack'\n\ninterface ClusterProps {\n gap?: SpacingKey\n align?: 'start' | 'center' | 'end'\n justify?: 'start' | 'center' | 'end' | 'between'\n children: ReactNode\n}\n\nconst gapMap = {\n xs: styles.gapXs,\n sm: styles.gapSm,\n ms: styles.gapMs,\n md: styles.gapMd,\n lg: styles.gapLg,\n xl: styles.gapXl,\n xxl: styles.gapXxl,\n xxxl: styles.gapXxxl,\n} as const\n\nconst alignMap = {\n start: styles.alignStart,\n center: styles.alignCenter,\n end: styles.alignEnd,\n} as const\n\nconst justifyMap = {\n start: styles.justifyStart,\n center: styles.justifyCenter,\n end: styles.justifyEnd,\n between: styles.justifyBetween,\n} as const\n\nexport function Cluster({gap = 'sm', align = 'start', justify = 'start', children}: ClusterProps) {\n return (\n <html.div style={[styles.base, gapMap[gap], alignMap[align], justifyMap[justify]]}>\n {children}\n </html.div>\n )\n}\n","import {css} from 'react-strict-dom'\nimport {spacing} from '@duro-app/tokens/tokens/spacing.css'\n\nexport const styles = css.create({\n base: {\n display: 'grid',\n },\n col1: {gridTemplateColumns: '1fr'},\n col2: {gridTemplateColumns: 'repeat(2, 1fr)'},\n col3: {gridTemplateColumns: 'repeat(3, 1fr)'},\n col4: {gridTemplateColumns: 'repeat(4, 1fr)'},\n col5: {gridTemplateColumns: 'repeat(5, 1fr)'},\n col6: {gridTemplateColumns: 'repeat(6, 1fr)'},\n autoFit: (minWidth: string) => ({\n gridTemplateColumns: `repeat(auto-fit, minmax(${minWidth}, 1fr))`,\n }),\n gapXs: {gap: spacing.xs},\n gapSm: {gap: spacing.sm},\n gapMs: {gap: spacing.ms},\n gapMd: {gap: spacing.md},\n gapLg: {gap: spacing.lg},\n gapXl: {gap: spacing.xl},\n gapXxl: {gap: spacing.xxl},\n gapXxxl: {gap: spacing.xxxl},\n})\n","import type {ReactNode} from 'react'\nimport {html} from 'react-strict-dom'\nimport {styles} from './styles.css'\nimport type {SpacingKey} from '../Stack/Stack'\n\ninterface GridProps {\n gap?: SpacingKey\n columns?: 1 | 2 | 3 | 4 | 5 | 6\n minColumnWidth?: string\n children: ReactNode\n}\n\nconst gapMap = {\n xs: styles.gapXs,\n sm: styles.gapSm,\n ms: styles.gapMs,\n md: styles.gapMd,\n lg: styles.gapLg,\n xl: styles.gapXl,\n xxl: styles.gapXxl,\n xxxl: styles.gapXxxl,\n} as const\n\nconst columnsMap = {\n 1: styles.col1,\n 2: styles.col2,\n 3: styles.col3,\n 4: styles.col4,\n 5: styles.col5,\n 6: styles.col6,\n} as const\n\nexport function Grid({gap = 'md', columns, minColumnWidth, children}: GridProps) {\n const columnStyle = minColumnWidth\n ? styles.autoFit(minColumnWidth)\n : columns\n ? columnsMap[columns]\n : undefined\n\n return <html.div style={[styles.base, gapMap[gap], columnStyle]}>{children}</html.div>\n}\n","import {useRef, useState, useEffect} from 'react'\n\nexport type ContainerSize = 'compact' | 'default' | 'spacious'\n\ninterface UseContainerQueryOptions {\n compactBelow?: number\n spaciousAbove?: number\n}\n\nexport function useContainerQuery<T extends HTMLElement = HTMLElement>(\n options: UseContainerQueryOptions = {},\n): {\n ref: React.RefObject<T | null>\n size: ContainerSize\n} {\n const {compactBelow = 480, spaciousAbove = 768} = options\n const ref = useRef<T | null>(null)\n const [size, setSize] = useState<ContainerSize>('default')\n\n useEffect(() => {\n const element = ref.current\n if (!element) return\n\n let rafId: number | null = null\n\n const observer = new ResizeObserver((entries) => {\n if (rafId !== null) cancelAnimationFrame(rafId)\n\n rafId = requestAnimationFrame(() => {\n const entry = entries[0]\n if (!entry) return\n\n const width = entry.contentBoxSize?.[0]?.inlineSize ?? entry.contentRect.width\n\n if (width < compactBelow) {\n setSize('compact')\n } else if (width >= spaciousAbove) {\n setSize('spacious')\n } else {\n setSize('default')\n }\n })\n })\n\n observer.observe(element)\n\n return () => {\n observer.disconnect()\n if (rafId !== null) cancelAnimationFrame(rafId)\n }\n }, [compactBelow, spaciousAbove])\n\n return {ref, size}\n}\n"],"names":["styleq$1","styleq_2","cache","compiledKey","createStyleq","options","disableCache","disableMix","transform","definedProperties","className","inlineStyle","debugString","nextCache","styles","i","possibleStyle","_i","style","classNameChunk","cacheEntry","definedPropertiesChunk","prop","value","compiledKeyValue","weakMap","subStyle","_prop","_value","styleProps","styleq","optimizedStyleq","merge","dataStyleSrc","result","chunks","pathsMap","chunk","trimmed","path","line","a","button","div","fieldset","heading","input","label","nav","p","span","textarea","defaultStyles","ReactSharedInternals","require$$0","reactCompilerRuntime_production","size","reactCompilerRuntime_development","dispatcher","compilerRuntimeModule","require$$1","strokeIcons","jsxs","Fragment","jsx","clock","forbidden","shield","lock","key","filledIcons","Icon","t0","$","_c","name","t1","undefined","filled","t2","t3","base","k1xSpc","kXwgrk","kGNEyG","kOIVth","kmVPX3","kaIpWk","kMzoRj","ksu8eU","kGuDYH","kLWn49","$$css","iconWrap","kmuXW","kjj79g","kLKAdn","content","kUk6DE","k7Eaqz","error","kWkggS","kVAM5u","kMwMTN","success","warning","info","defaultIcons","resolveIcon","icon","variant","Alert","children","resolvedIcon","t4","t5","_rsdMerge","_rsdDefaultStyles","t6","kMv6JI","k63SB2","khDVqt","sizeMd","kGO01o","kE3dHu","kpe85a","sizeSm","default","sizeMap","sm","md","Badge","kkrTdU","k1ekBW","kIyJzY","kAMwcw","kybGjl","kMeerF","k3XXqK","kjBf7l","kInvED","sizeDefault","sizeSmall","primary","secondary","link","danger","fullWidth","kzqmXN","disabled","kSiTet","small","Button","type","onClick","t7","t8","t9","t10","t11","kVQacm","kyUFMd","km5ZXQ","k1K539","keoZOQ","Callout","elevated","kGVxlE","outlined","interactive","k3aq6I","sizeCompact","sizeFull","header","compact","full","Card","root","rootDisabled","box","kZKoxP","boxUnchecked","boxChecked","kVAEAm","Checkbox","checked","controlledChecked","defaultChecked","onChange","isControlled","internalChecked","setInternalChecked","useState","isChecked","e","target","handleChange","t12","opacity","t13","Symbol","for","t14","t15","t16","t17","k9WMMc","message","action","EmptyState","typePresets","bodySm","kb6lSQ","bodyMd","bodyLg","caption","code","overline","kP9fke","headingSm","headingMd","headingLg","headingXl","displaySm","displayMd","displayLg","muted","accent","alignStart","alignCenter","alignEnd","defaultVariantMap","alignMap","start","center","end","Heading","level","color","align","resolvedVariant","h1","h2","h3","h4","h5","h6","FieldContext","createContext","useFieldContext","useContext","description","Root","invalid","id","useId","controlId","descriptionId","errorId","ctx","Label","Description","Error","Field","kogj98","legend","gapXs","gapSm","gapMs","gapMd","gapLg","gapXl","gapMap","xs","ms","lg","xl","gap","Legend","Fieldset","InputGroupContext","useInputGroupContext","kB7OPa","inGroup","Input","placeholder","required","minLength","pattern","autoComplete","defaultValue","groupCtx","extraProps","trim","wrapper","addon","kfSwDN","addonStart","kWqL5O","kSWEuD","k26BEO","addonEnd","kZ1KPB","k4WBpm","kaZRDh","addonClickable","addonDisabled","dynamicStyles","minWidth","val","Addon","position","positionStyle","InputGroup","LinkButton","href","rel","trigger","backdrop","k87sOh","kbCHJM","kCIrl2","krVfgx","kY2c9j","popup","popupEnd","item","itemHighlighted","linkItem","MenuContext","useMenu","useMenuRoot","open","setOpen","highlightedId","setHighlightedId","menuId","rootRef","useRef","triggerRef","Map","itemsRef","orderRef","needsInitialHighlightRef","current","focus","close","prev","toggle","order","length","useEffect","element","set","map","ids","keys","sort","b","elA","get","elB","compareDocumentPosition","Node","DOCUMENT_POSITION_FOLLOWING","delete","filter","registerItem","handleKeyDown","order_0","bb54","preventDefault","prev_2","idx_0","indexOf","idx","prev_1","items","prev_0","click","addEventListener","removeEventListener","Trigger","localRef","Popup","Item","ref","isHighlighted","el","handleClick","LinkItem","Menu","viewport","kXHlph","kORKVm","k5wCbM","kAzted","scrollbar","kFalU9","scrollbarVertical","scrollbarHorizontal","scrollbarHidden","scrollbarVisible","thumb","viewportMaxHeight","maxHeight","kskxy","thumbVertical","height","thumbHorizontal","width","ScrollAreaContext","useScrollArea","useScrollAreaRoot","viewportRef","contentRef","scrollTop","setScrollTop","scrollLeft","setScrollLeft","scrollHeight","setScrollHeight","scrollWidth","setScrollWidth","clientHeight","setClientHeight","clientWidth","setClientWidth","scrolling","setScrolling","scrollTimerRef","vp","clearTimeout","setTimeout","handleScroll","vp_0","observer","ResizeObserver","observe","disconnect","vp_1","passive","Viewport","Content","Scrollbar","orientation","Thumb","draggingRef","startPosRef","startScrollRef","isVertical","thumbSizePercent","Math","max","maxScroll","trackSize","thumbPixelSize","scrollOffset","thumbOffset","thumbStyle","clientY","clientX","setPointerCapture","pointerId","handlePointerDown","e_0","delta","scrollRatio","scrollDelta","handlePointerMove","handlePointerUp","ScrollArea","itemSelected","hidden","SelectContext","useSelect","useControllableValue","controlledValue","internal","setInternal","v","setValue","useSelectRoot","onValueChange","initialLabels","labels","setLabels","listboxId","found","registerLabel","id_0","itemValue","items_0","bb86","prev_3","item_0","Value","display","selectedValue","isSelected","text","textContent","el_0","ItemText","Select","group","groupTrigger","groupTriggerActive","chevron","chevronOpen","itemActive","SideNavContext","useSideNav","activeValue","onSelect","Set","expandedGroups","setExpandedGroups","next","has","add","toggleGroup","includes","push","v_0","_temp","Group","groupKey","defaultExpanded","isExpanded","groupRef","querySelector","hasActiveChild","isActive","SideNav","spinner","kLZC3w","kKVMdj","k44tkh","kyAemX","ko0y90","srOnly","kMcinP","Spinner","StatusIcon","loggedMessages","errorMsg","msg","strictAttributeSet","isPropAllowed","validateStrictProps","props","createStrictDOMComponent","TagName","defaultStyle","debugStyle","Component","htmlFor","restProps","hostProps","hostStyleProps","a$1","article$1","aside$1","b$1","bdi$1","bdo$1","blockquote$1","br$1","button$1","code$1","del$1","div$1","em$1","fieldset$1","footer$1","form$1","header$1","hr$1","i$1","img$1","input$1","ins$1","kbd$1","label$1","li$1","main$1","mark$1","nav$1","ol$1","optgroup$1","option$1","p$1","pre$1","s$1","section$1","select$1","span$1","strong$1","sub$1","sup$1","textarea$1","u$1","ul$1","article","aside","bdi","bdo","blockquote","br","del","em","footer","form","hr","img","ins","kbd","li","main","mark","ol","optgroup","option","pre","s","section","select","strong","sub","sup","u","ul","html","kumcoG","row","kt9PQ7","kfdmCh","kL6WhQ","rowLastChild","bodyRow","headerCell","cell","cellSm","cellMd","stripedEven","borderedCell","borderedCellLast","gridColumns","columns","TableContext","useTable","HeaderContext","isHeader","Header","Body","T0","T1","childArray","Children","toArray","Provider","child","index","RowIndexContext","Row","rowIndex","isEvenRow","CellIndexContext","total","HeaderCell","isLast","Cell","Table","rootVertical","list","listVertical","tab","tabVertical","tabActiveHorizontal","tabActiveVertical","tabDisabled","panel","panelVertical","TabsContext","useTabs","useTabsRoot","tabsRef","registerTab","List","listRef","tabs","listEl","prevKey","nextKey","targetValue","currentIdx","Tab","tabId","panelId","Panel","Tabs","kHenm0","Textarea","rows","bg","bgCard","bgCardHover","textMuted","accentHover","accentContrast","border","errorHover","errorBg","errorBorder","errorText","errorContrast","successBg","successBorder","successText","warningBg","warningBorder","warningText","infoBg","infoBorder","infoText","__varGroupHash__","themeMap","light","lightTheme","lightShadows","highContrastTheme","highContrastShadows","ThemeProvider","theme","overrides","themeStyles","weightNormal","weightMedium","weightSemibold","weightBold","truncate","kg5iWk","weightMap","normal","medium","semibold","bold","Text","weight","as","ToggleGroupContext","useToggleGroup","unpressed","pressed","grouped","Toggle","controlledPressed","defaultPressed","onPressedChange","ariaLabel","disabledProp","sizeProp","groupPressed","isGrouped","standalonePressed","setStandalonePressed","vertical","ToggleGroup","multiple","nextPressed","kfzvcC","top","bottom","left","right","koQZXg","TooltipContext","useTooltip","placement","delay","tooltipId","timerRef","show","hide","Tooltip","track","trackUnchecked","trackChecked","thumbChecked","Switch","onCheckedChange","setChecked","inputRef","alignStretch","gapXxl","gapXxxl","xxl","xxxl","stretch","Stack","kwnvtZ","alignBaseline","justifyStart","justifyCenter","justifyEnd","justifyBetween","baseline","justifyMap","between","Inline","justify","Cluster","col1","col2","col3","col4","col5","col6","autoFit","columnsMap","Grid","minColumnWidth","columnStyle","useContainerQuery","compactBelow","spaciousAbove","setSize","rafId","entries","cancelAnimationFrame","requestAnimationFrame","entry","contentBoxSize","inlineSize","contentRect"],"mappings":"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","x_google_ignoreList":[0,1,2,3,54]}
1
+ {"version":3,"file":"index.js","sources":["../../../node_modules/.pnpm/react-strict-dom@0.0.55_postcss@8.5.6_react-dom@19.2.4_react@19.2.4__react-native@0.84._1278be21509893d955b57d0db9435779/node_modules/react-strict-dom/dist/web/runtime.js","../../../node_modules/.pnpm/react@19.2.4/node_modules/react/cjs/react-compiler-runtime.production.js","../../../node_modules/.pnpm/react@19.2.4/node_modules/react/cjs/react-compiler-runtime.development.js","../../../node_modules/.pnpm/react@19.2.4/node_modules/react/compiler-runtime.js","../src/components/Icon/Icon.tsx","../src/components/Alert/styles.css.ts","../src/components/Alert/Alert.tsx","../src/components/Badge/styles.css.ts","../src/components/Badge/Badge.tsx","../src/components/Button/styles.css.ts","../src/components/Button/Button.tsx","../src/components/Callout/styles.css.ts","../src/components/Callout/Callout.tsx","../src/components/Card/styles.css.ts","../src/components/Card/Card.tsx","../src/components/Checkbox/styles.css.ts","../src/components/Checkbox/Checkbox.tsx","../src/components/EmptyState/styles.css.ts","../src/components/EmptyState/EmptyState.tsx","../../tokens/src/tokens/type-presets.css.ts","../src/components/Heading/styles.css.ts","../src/components/Heading/Heading.tsx","../src/components/Field/FieldContext.ts","../src/components/Field/styles.css.ts","../src/components/Field/Field.tsx","../src/components/Fieldset/styles.css.ts","../src/components/Fieldset/Fieldset.tsx","../src/components/InputGroup/InputGroupContext.ts","../src/components/Input/styles.css.ts","../src/components/Input/Input.tsx","../src/components/InputGroup/styles.css.ts","../src/components/InputGroup/InputGroup.tsx","../src/components/LinkButton/styles.css.ts","../src/components/LinkButton/LinkButton.tsx","../src/components/Menu/styles.css.ts","../src/components/Menu/MenuContext.ts","../src/components/Menu/useMenuRoot.ts","../src/components/Menu/Menu.tsx","../src/components/ScrollArea/styles.css.ts","../src/components/ScrollArea/ScrollAreaContext.ts","../src/components/ScrollArea/useScrollAreaRoot.ts","../src/components/ScrollArea/ScrollArea.tsx","../src/components/Select/styles.css.ts","../src/components/Select/SelectContext.ts","../src/hooks/useControllableValue.ts","../src/components/Select/useSelectRoot.ts","../src/components/Select/Select.tsx","../src/components/SideNav/styles.css.ts","../src/components/SideNav/SideNavContext.ts","../src/components/SideNav/SideNav.tsx","../src/components/Spinner/styles.css.ts","../src/components/Spinner/Spinner.tsx","../src/components/StatusIcon/styles.css.ts","../src/components/StatusIcon/StatusIcon.tsx","../../../node_modules/.pnpm/react-strict-dom@0.0.55_postcss@8.5.6_react-dom@19.2.4_react@19.2.4__react-native@0.84._1278be21509893d955b57d0db9435779/node_modules/react-strict-dom/dist/web/index.js","../src/components/Table/styles.css.ts","../src/components/Table/Table.tsx","../src/components/Tabs/styles.css.ts","../src/components/Tabs/TabsContext.ts","../src/components/Tabs/useTabsRoot.ts","../src/components/Tabs/Tabs.tsx","../src/components/Textarea/styles.css.ts","../src/components/Textarea/Textarea.tsx","../../tokens/src/themes/light.css.ts","../../tokens/src/themes/high-contrast.css.ts","../src/components/ThemeProvider/ThemeProvider.tsx","../src/components/Text/styles.css.ts","../src/components/Text/Text.tsx","../src/components/ToggleGroup/ToggleGroupContext.ts","../src/components/Toggle/styles.css.ts","../src/components/Toggle/Toggle.tsx","../src/components/ToggleGroup/styles.css.ts","../src/components/ToggleGroup/ToggleGroup.tsx","../src/components/Tooltip/styles.css.ts","../src/components/Tooltip/Tooltip.tsx","../src/components/Switch/styles.css.ts","../src/components/Switch/Switch.tsx","../src/components/Stack/styles.css.ts","../src/components/Stack/Stack.tsx","../src/components/Inline/styles.css.ts","../src/components/Inline/Inline.tsx","../src/components/Cluster/styles.css.ts","../src/components/Cluster/Cluster.tsx","../src/components/Grid/styles.css.ts","../src/components/Grid/Grid.tsx","../src/components/PageShell/styles.css.ts","../src/components/PageShell/PageShell.tsx","../src/hooks/useContainerQuery.ts"],"sourcesContent":["/**\n * @license react-strict-dom\n * Copyright (c) Meta Platforms, Inc. and affiliates.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n\n'use strict';\nimport * as stylex from '@stylexjs/stylex';\n\nvar styleq$1 = {};\n\nObject.defineProperty(styleq$1, \"__esModule\", {\n value: true\n});\nvar styleq_2 = styleq$1.styleq = void 0;\nvar cache = new WeakMap();\nvar compiledKey = '$$css';\nfunction createStyleq(options) {\n var disableCache;\n var disableMix;\n var transform;\n if (options != null) {\n disableCache = options.disableCache === true;\n disableMix = options.disableMix === true;\n transform = options.transform;\n }\n return function styleq() {\n var definedProperties = [];\n var className = '';\n var inlineStyle = null;\n var debugString = '';\n var nextCache = disableCache ? null : cache;\n var styles = new Array(arguments.length);\n for (var i = 0; i < arguments.length; i++) {\n styles[i] = arguments[i];\n }\n while (styles.length > 0) {\n var possibleStyle = styles.pop();\n if (possibleStyle == null || possibleStyle === false) {\n continue;\n }\n if (Array.isArray(possibleStyle)) {\n for (var _i = 0; _i < possibleStyle.length; _i++) {\n styles.push(possibleStyle[_i]);\n }\n continue;\n }\n var style = transform != null ? transform(possibleStyle) : possibleStyle;\n if (style.$$css != null) {\n var classNameChunk = '';\n if (nextCache != null && nextCache.has(style)) {\n var cacheEntry = nextCache.get(style);\n if (cacheEntry != null) {\n classNameChunk = cacheEntry[0];\n debugString = cacheEntry[2];\n definedProperties.push.apply(definedProperties, cacheEntry[1]);\n nextCache = cacheEntry[3];\n }\n } else {\n var definedPropertiesChunk = [];\n for (var prop in style) {\n var value = style[prop];\n if (prop === compiledKey) {\n var compiledKeyValue = style[prop];\n if (compiledKeyValue !== true) {\n debugString = debugString ? compiledKeyValue + '; ' + debugString : compiledKeyValue;\n }\n continue;\n }\n if (typeof value === 'string' || value === null) {\n if (!definedProperties.includes(prop)) {\n definedProperties.push(prop);\n if (nextCache != null) {\n definedPropertiesChunk.push(prop);\n }\n if (typeof value === 'string') {\n classNameChunk += classNameChunk ? ' ' + value : value;\n }\n }\n } else {\n console.error(\"styleq: \".concat(prop, \" typeof \").concat(String(value), \" is not \\\"string\\\" or \\\"null\\\".\"));\n }\n }\n if (nextCache != null) {\n var weakMap = new WeakMap();\n nextCache.set(style, [classNameChunk, definedPropertiesChunk, debugString, weakMap]);\n nextCache = weakMap;\n }\n }\n if (classNameChunk) {\n className = className ? classNameChunk + ' ' + className : classNameChunk;\n }\n } else {\n if (disableMix) {\n if (inlineStyle == null) {\n inlineStyle = {};\n }\n inlineStyle = Object.assign({}, style, inlineStyle);\n } else {\n var subStyle = null;\n for (var _prop in style) {\n var _value = style[_prop];\n if (_value !== undefined) {\n if (!definedProperties.includes(_prop)) {\n if (_value != null) {\n if (inlineStyle == null) {\n inlineStyle = {};\n }\n if (subStyle == null) {\n subStyle = {};\n }\n subStyle[_prop] = _value;\n }\n definedProperties.push(_prop);\n nextCache = null;\n }\n }\n }\n if (subStyle != null) {\n inlineStyle = Object.assign(subStyle, inlineStyle);\n }\n }\n }\n }\n var styleProps = [className, inlineStyle, debugString];\n return styleProps;\n };\n}\nvar styleq = styleq_2 = styleq$1.styleq = createStyleq();\nstyleq.factory = createStyleq;\n\nconst optimizedStyleq = styleq_2.factory({\n disableMix: true\n});\nfunction merge(...styles) {\n const [className, style, dataStyleSrc] = optimizedStyleq(styles);\n const result = {};\n if (className != null && className !== '') {\n result.className = className;\n }\n if (style != null) {\n result.style = style;\n }\n if (dataStyleSrc != null && dataStyleSrc !== '') {\n const chunks = dataStyleSrc.split(';');\n const pathsMap = {};\n for (const chunk of chunks) {\n const trimmed = chunk.trim();\n const [path, line] = trimmed.split(':');\n if (line != null) {\n pathsMap[path] = pathsMap[path] != null ? `${pathsMap[path]},${line}` : line;\n }\n }\n result['data-style-src'] = Object.keys(pathsMap).map(path => `${path}:${pathsMap[path]}`).join('; ');\n }\n return result;\n}\n\nconst styles = stylex.create({\n block: {\n margin: 0,\n padding: 0\n },\n inline: {\n margin: 0,\n padding: 0,\n textDecoration: 'none',\n textAlign: 'inherit',\n wordWrap: 'break-word'\n },\n inlineblock: {\n borderStyle: 'solid',\n margin: 0,\n padding: 0\n },\n button: {\n borderWidth: 1\n },\n codePre: {\n fontFamily: 'monospace, \"monospace\"',\n fontSize: '1em',\n overflow: 'auto'\n },\n heading: {\n fontSize: '1.5rem',\n wordWrap: 'break-word'\n },\n hr: {\n backgroundColor: 'black',\n borderStyle: 'none',\n borderWidth: 0,\n boxSizing: 'border-box',\n height: 1\n },\n img: {\n aspectRatio: 'attr(width) / attr(height)',\n height: 'auto',\n maxWidth: '100%'\n },\n input: {\n borderWidth: 1,\n borderStyle: 'solid'\n },\n list: {\n listStyle: 'none'\n },\n strong: {\n fontWeight: 'bold'\n },\n textarea: {\n borderWidth: 1,\n borderStyle: 'solid',\n resize: 'vertical'\n }\n});\nconst a = styles.inline;\nconst article = styles.block;\nconst aside = styles.block;\nconst b = styles.inline;\nconst bdi = styles.inline;\nconst bdo = styles.inline;\nconst blockquote = styles.block;\nconst br = null;\nconst button = [styles.inlineblock, styles.button];\nconst code = [styles.inline, styles.codePre];\nconst del = null;\nconst div = styles.block;\nconst em = styles.inline;\nconst fieldset = styles.block;\nconst footer = styles.block;\nconst form = styles.block;\nconst heading = [styles.block, styles.heading];\nconst header = styles.block;\nconst hr = [styles.block, styles.hr];\nconst i = styles.inline;\nconst img = styles.img;\nconst input = [styles.inlineblock, styles.input];\nconst ins = null;\nconst kbd = null;\nconst label = styles.inline;\nconst li = styles.block;\nconst main = styles.block;\nconst mark = styles.inline;\nconst nav = styles.block;\nconst ol = [styles.list, styles.block];\nconst optgroup = null;\nconst option = null;\nconst p = styles.block;\nconst pre = [styles.block, styles.codePre];\nconst s = null;\nconst section = styles.block;\nconst select = styles.inlineblock;\nconst span = styles.inline;\nconst strong = [styles.inline, styles.strong];\nconst sub = styles.inline;\nconst sup = styles.inline;\nconst textarea = [styles.inlineblock, styles.textarea];\nconst u = null;\nconst ul = [styles.list, styles.block];\nconst defaultStyles = {\n a: a,\n article: article,\n aside: aside,\n b: b,\n bdi: bdi,\n bdo: bdo,\n blockquote: blockquote,\n br: br,\n button: button,\n code: code,\n del: del,\n div: div,\n em: em,\n fieldset: fieldset,\n footer: footer,\n form: form,\n h1: heading,\n h2: heading,\n h3: heading,\n h4: heading,\n h5: heading,\n h6: heading,\n header: header,\n hr: hr,\n i: i,\n img: img,\n input: input,\n ins: ins,\n kbd: kbd,\n label: label,\n li: li,\n main: main,\n mark: mark,\n nav: nav,\n ol: ol,\n optgroup: optgroup,\n option: option,\n p: p,\n pre: pre,\n s: s,\n section: section,\n select: select,\n span: span,\n strong: strong,\n sub: sub,\n sup: sup,\n textarea: textarea,\n u: u,\n ul: ul\n};\n\nexport { defaultStyles, merge };\n","/**\n * @license React\n * react-compiler-runtime.production.js\n *\n * Copyright (c) Meta Platforms, Inc. and affiliates.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n\n\"use strict\";\nvar ReactSharedInternals =\n require(\"react\").__CLIENT_INTERNALS_DO_NOT_USE_OR_WARN_USERS_THEY_CANNOT_UPGRADE;\nexports.c = function (size) {\n return ReactSharedInternals.H.useMemoCache(size);\n};\n","/**\n * @license React\n * react-compiler-runtime.development.js\n *\n * Copyright (c) Meta Platforms, Inc. and affiliates.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n\n\"use strict\";\n\"production\" !== process.env.NODE_ENV &&\n (function () {\n var ReactSharedInternals =\n require(\"react\").__CLIENT_INTERNALS_DO_NOT_USE_OR_WARN_USERS_THEY_CANNOT_UPGRADE;\n exports.c = function (size) {\n var dispatcher = ReactSharedInternals.H;\n null === dispatcher &&\n console.error(\n \"Invalid hook call. Hooks can only be called inside of the body of a function component. This could happen for one of the following reasons:\\n1. You might have mismatching versions of React and the renderer (such as React DOM)\\n2. You might be breaking the Rules of Hooks\\n3. You might have more than one copy of React in the same app\\nSee https://react.dev/link/invalid-hook-call for tips about how to debug and fix this problem.\"\n );\n return dispatcher.useMemoCache(size);\n };\n })();\n","/**\n * Copyright (c) Meta Platforms, Inc. and affiliates.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n\n'use strict';\n\nif (process.env.NODE_ENV === 'production') {\n module.exports = require('./cjs/react-compiler-runtime.production.js');\n} else {\n module.exports = require('./cjs/react-compiler-runtime.development.js');\n}\n","import type {ReactNode} from 'react'\n\nexport type IconName =\n | 'x-circle'\n | 'check-circle'\n | 'check-done'\n | 'clock'\n | 'forbidden'\n | 'info-circle'\n | 'alert-triangle'\n | 'shield'\n | 'lock'\n | 'key'\n // Filled variants (solid shape with cutout symbol)\n | 'info-circle-filled'\n | 'alert-triangle-filled'\n | 'check-circle-filled'\n | 'x-circle-filled'\n | 'shield-filled'\n | 'lock-filled'\n\n/** Stroke-based icons (Feather/Lucide style) */\nconst strokeIcons: Partial<Record<IconName, ReactNode>> = {\n 'x-circle': (\n <>\n <circle cx=\"12\" cy=\"12\" r=\"10\" />\n <line x1=\"15\" y1=\"9\" x2=\"9\" y2=\"15\" />\n <line x1=\"9\" y1=\"9\" x2=\"15\" y2=\"15\" />\n </>\n ),\n 'check-circle': (\n <>\n <circle cx=\"12\" cy=\"12\" r=\"10\" />\n <polyline points=\"16 10 11 15 8 12\" />\n </>\n ),\n 'check-done': (\n <>\n <path d=\"M22 11.08V12a10 10 0 1 1-5.93-9.14\" />\n <polyline points=\"22 4 12 14.01 9 11.01\" />\n </>\n ),\n clock: (\n <>\n <circle cx=\"12\" cy=\"12\" r=\"10\" />\n <polyline points=\"12 6 12 12 16 14\" />\n </>\n ),\n forbidden: (\n <>\n <circle cx=\"12\" cy=\"12\" r=\"10\" />\n <line x1=\"4.93\" y1=\"4.93\" x2=\"19.07\" y2=\"19.07\" />\n </>\n ),\n 'info-circle': (\n <>\n <circle cx=\"12\" cy=\"12\" r=\"10\" />\n <line x1=\"12\" y1=\"16\" x2=\"12\" y2=\"12\" />\n <line x1=\"12\" y1=\"8\" x2=\"12.01\" y2=\"8\" />\n </>\n ),\n 'alert-triangle': (\n <>\n <path d=\"M10.29 3.86L1.82 18a2 2 0 0 0 1.71 3h16.94a2 2 0 0 0 1.71-3L13.71 3.86a2 2 0 0 0-3.42 0z\" />\n <line x1=\"12\" y1=\"9\" x2=\"12\" y2=\"13\" />\n <line x1=\"12\" y1=\"17\" x2=\"12.01\" y2=\"17\" />\n </>\n ),\n shield: <path d=\"M12 22s8-4 8-10V5l-8-3-8 3v7c0 6 8 10 8 10z\" />,\n lock: (\n <>\n <rect x=\"3\" y=\"11\" width=\"18\" height=\"11\" rx=\"2\" ry=\"2\" />\n <path d=\"M7 11V7a5 5 0 0 1 10 0v4\" />\n </>\n ),\n key: (\n <>\n <path d=\"M21 2l-2 2m-7.61 7.61a5.5 5.5 0 1 1-7.78 7.78 5.5 5.5 0 0 1 7.78-7.78zm0 0L15.5 7.5m0 0l3 3L22 7l-3-3m-3.5 3.5L19 4\" />\n </>\n ),\n}\n\n/**\n * Filled icons — solid shape with evenodd cutout for the inner symbol.\n * The cutout reveals the background color, so they work on any theme.\n * Uses fill=\"currentColor\" only, no stroke.\n */\nconst filledIcons: Partial<Record<IconName, ReactNode>> = {\n // Filled circle with \"i\" cutout (dot + line)\n 'info-circle-filled': (\n <path\n fillRule=\"evenodd\"\n d=\"M12 2C6.477 2 2 6.477 2 12s4.477 10 10 10 10-4.477 10-10S17.523 2 12 2zm-.75 6a.75.75 0 1 1 1.5 0 .75.75 0 0 1-1.5 0zM11 11a1 1 0 1 1 2 0v5a1 1 0 1 1-2 0v-5z\"\n />\n ),\n // Filled triangle with \"!\" cutout\n 'alert-triangle-filled': (\n <path\n fillRule=\"evenodd\"\n d=\"M10.29 3.86L1.82 18a2 2 0 0 0 1.71 3h16.94a2 2 0 0 0 1.71-3L13.71 3.86a2 2 0 0 0-3.42 0zM11 10a1 1 0 1 1 2 0v3a1 1 0 1 1-2 0v-3zm.25 6a.75.75 0 1 1 1.5 0 .75.75 0 0 1-1.5 0z\"\n />\n ),\n // Filled circle with checkmark cutout\n 'check-circle-filled': (\n <path\n fillRule=\"evenodd\"\n d=\"M12 2C6.477 2 2 6.477 2 12s4.477 10 10 10 10-4.477 10-10S17.523 2 12 2zm4.707 8.707a1 1 0 0 0-1.414-1.414L11 13.586l-2.293-2.293a1 1 0 0 0-1.414 1.414l3 3a1 1 0 0 0 1.414 0l5-5z\"\n />\n ),\n // Filled circle with X cutout\n 'x-circle-filled': (\n <path\n fillRule=\"evenodd\"\n d=\"M12 2C6.477 2 2 6.477 2 12s4.477 10 10 10 10-4.477 10-10S17.523 2 12 2zM9.707 8.293a1 1 0 0 0-1.414 1.414L10.586 12l-2.293 2.293a1 1 0 1 0 1.414 1.414L12 13.414l2.293 2.293a1 1 0 0 0 1.414-1.414L13.414 12l2.293-2.293a1 1 0 0 0-1.414-1.414L12 10.586 9.707 8.293z\"\n />\n ),\n // Filled shield with checkmark cutout\n 'shield-filled': (\n <path\n fillRule=\"evenodd\"\n d=\"M12 1L3 5v7c0 6.5 8.5 10.5 9 10.73.5-.23 9-4.23 9-10.73V5l-9-4zm3.707 8.707a1 1 0 0 0-1.414-1.414L11 11.586l-1.293-1.293a1 1 0 0 0-1.414 1.414l2 2a1 1 0 0 0 1.414 0l4-4z\"\n />\n ),\n // Filled lock body with stroke shackle\n 'lock-filled': (\n <>\n <path\n d=\"M7 11V7a5 5 0 0 1 10 0v4\"\n fill=\"none\"\n stroke=\"currentColor\"\n strokeWidth=\"2\"\n strokeLinecap=\"round\"\n />\n <rect x=\"3\" y=\"11\" width=\"18\" height=\"11\" rx=\"2\" ry=\"2\" />\n </>\n ),\n}\n\ninterface IconProps {\n name: IconName\n size?: number\n}\n\nexport function Icon({name, size = 24}: IconProps) {\n const filled = filledIcons[name]\n if (filled) {\n return (\n <svg viewBox=\"0 0 24 24\" fill=\"currentColor\" width={size} height={size}>\n {filled}\n </svg>\n )\n }\n\n return (\n <svg\n viewBox=\"0 0 24 24\"\n fill=\"none\"\n stroke=\"currentColor\"\n strokeWidth={2}\n strokeLinecap=\"round\"\n strokeLinejoin=\"round\"\n width={size}\n height={size}\n >\n {strokeIcons[name]}\n </svg>\n )\n}\n","import {css} from 'react-strict-dom'\nimport {colors} from '@duro-app/tokens/tokens/colors.css'\nimport {spacing, radii} from '@duro-app/tokens/tokens/spacing.css'\nimport {typography} from '@duro-app/tokens/tokens/typography.css'\n\nexport const styles = css.create({\n base: {\n display: 'flex',\n flexDirection: 'row',\n alignItems: 'flex-start',\n gap: spacing.sm,\n padding: spacing.md,\n borderRadius: radii.sm,\n borderWidth: 1,\n borderStyle: 'solid',\n fontSize: typography.fontSizeSm,\n lineHeight: typography.lineHeight,\n },\n iconWrap: {\n flexShrink: 0,\n display: 'flex',\n alignItems: 'center',\n justifyContent: 'center',\n paddingTop: 1,\n },\n content: {\n flex: 1,\n minWidth: 0,\n },\n error: {\n backgroundColor: colors.errorBg,\n borderColor: colors.errorBorder,\n color: colors.errorText,\n },\n success: {\n backgroundColor: colors.successBg,\n borderColor: colors.successBorder,\n color: colors.successText,\n },\n warning: {\n backgroundColor: colors.warningBg,\n borderColor: colors.warningBorder,\n color: colors.warningText,\n },\n info: {\n backgroundColor: colors.infoBg,\n borderColor: colors.infoBorder,\n color: colors.infoText,\n },\n})\n","import type {ReactNode} from 'react'\nimport {html} from 'react-strict-dom'\nimport {Icon} from '../Icon'\nimport type {IconName} from '../Icon'\nimport {styles} from './styles.css'\n\nexport type AlertVariant = 'error' | 'success' | 'warning' | 'info'\n\nconst defaultIcons: Record<AlertVariant, IconName> = {\n info: 'info-circle-filled',\n warning: 'alert-triangle-filled',\n success: 'check-circle-filled',\n error: 'x-circle-filled',\n}\n\ninterface AlertProps {\n variant?: AlertVariant\n /** Built-in icon name, custom ReactNode, or false to hide. Defaults to variant icon. */\n icon?: IconName | ReactNode | false\n children: ReactNode\n}\n\nfunction resolveIcon(icon: AlertProps['icon'], variant: AlertVariant): ReactNode | null {\n if (icon === false) return null\n if (icon === undefined) return <Icon name={defaultIcons[variant]} size={18} />\n if (typeof icon === 'string') return <Icon name={icon as IconName} size={18} />\n return icon\n}\n\nexport function Alert({variant = 'info', icon, children}: AlertProps) {\n const resolvedIcon = resolveIcon(icon, variant)\n\n return (\n <html.div role=\"alert\" style={[styles.base, styles[variant]]}>\n {resolvedIcon ? (\n <>\n <html.div style={styles.iconWrap}>{resolvedIcon}</html.div>\n <html.div style={styles.content}>{children}</html.div>\n </>\n ) : (\n children\n )}\n </html.div>\n )\n}\n","import {css} from 'react-strict-dom'\nimport {colors} from '@duro-app/tokens/tokens/colors.css'\nimport {spacing, radii} from '@duro-app/tokens/tokens/spacing.css'\nimport {typography} from '@duro-app/tokens/tokens/typography.css'\n\nexport const styles = css.create({\n base: {\n display: 'inline-flex',\n alignItems: 'center',\n justifyContent: 'center',\n fontFamily: typography.fontFamily,\n fontWeight: typography.fontWeightMedium,\n lineHeight: 1,\n borderRadius: radii.full,\n whiteSpace: 'nowrap',\n },\n sizeMd: {\n paddingTop: spacing.xs,\n paddingBottom: spacing.xs,\n paddingLeft: spacing.sm,\n paddingRight: spacing.sm,\n fontSize: typography.fontSizeXs,\n },\n sizeSm: {\n paddingTop: 2,\n paddingBottom: 2,\n paddingLeft: spacing.xs,\n paddingRight: spacing.xs,\n fontSize: '0.625rem',\n },\n default: {\n backgroundColor: colors.bgCardHover,\n color: colors.textMuted,\n },\n success: {\n backgroundColor: colors.successBg,\n color: colors.successText,\n },\n warning: {\n backgroundColor: colors.warningBg,\n color: colors.warningText,\n },\n error: {\n backgroundColor: colors.errorBg,\n color: colors.errorText,\n },\n info: {\n backgroundColor: colors.infoBg,\n color: colors.infoText,\n },\n})\n","import type {ReactNode} from 'react'\nimport {html} from 'react-strict-dom'\nimport {styles} from './styles.css'\n\nexport type BadgeVariant = 'default' | 'success' | 'warning' | 'error' | 'info'\nexport type BadgeSize = 'sm' | 'md'\n\ninterface BadgeProps {\n variant?: BadgeVariant\n size?: BadgeSize\n children: ReactNode\n}\n\nconst sizeMap = {\n sm: styles.sizeSm,\n md: styles.sizeMd,\n} as const\n\nexport function Badge({variant = 'default', size = 'md', children}: BadgeProps) {\n return <html.span style={[styles.base, sizeMap[size], styles[variant]]}>{children}</html.span>\n}\n","import {css} from 'react-strict-dom'\nimport {colors} from '@duro-app/tokens/tokens/colors.css'\nimport {spacing, radii} from '@duro-app/tokens/tokens/spacing.css'\nimport {typography} from '@duro-app/tokens/tokens/typography.css'\n\nexport const styles = css.create({\n base: {\n display: 'inline-flex',\n alignItems: 'center',\n justifyContent: 'center',\n gap: spacing.sm,\n fontFamily: typography.fontFamily,\n fontSize: typography.fontSizeSm,\n fontWeight: typography.fontWeightMedium,\n lineHeight: typography.lineHeight,\n borderRadius: radii.sm,\n borderWidth: 1,\n borderStyle: 'solid',\n cursor: 'pointer',\n transitionProperty: 'background-color, border-color, color, opacity',\n transitionDuration: '150ms',\n transitionTimingFunction: 'ease',\n textDecoration: 'none',\n outlineWidth: {\n default: 0,\n ':focus-visible': 2,\n },\n outlineStyle: {\n default: 'none',\n ':focus-visible': 'solid',\n },\n outlineColor: {\n default: 'transparent',\n ':focus-visible': colors.accent,\n },\n outlineOffset: {\n default: 0,\n ':focus-visible': 2,\n },\n },\n sizeDefault: {\n paddingTop: spacing.sm,\n paddingBottom: spacing.sm,\n paddingLeft: spacing.md,\n paddingRight: spacing.md,\n },\n sizeSmall: {\n paddingTop: spacing.xs,\n paddingBottom: spacing.xs,\n paddingLeft: spacing.sm,\n paddingRight: spacing.sm,\n fontSize: typography.fontSizeXs,\n },\n primary: {\n backgroundColor: {\n default: colors.accent,\n ':hover': colors.accentHover,\n ':active': colors.accentHover,\n },\n borderColor: {\n default: colors.accent,\n ':hover': colors.accentHover,\n },\n color: colors.accentContrast,\n },\n secondary: {\n backgroundColor: {\n default: 'transparent',\n ':hover': colors.bgCardHover,\n },\n borderColor: colors.border,\n color: colors.textMuted,\n },\n link: {\n backgroundColor: 'transparent',\n borderColor: 'transparent',\n color: {\n default: colors.accent,\n ':hover': colors.accentHover,\n },\n textDecoration: {\n default: 'none',\n ':hover': 'underline',\n },\n paddingLeft: 0,\n paddingRight: 0,\n },\n danger: {\n backgroundColor: {\n default: colors.error,\n ':hover': colors.errorHover,\n ':active': colors.errorHover,\n },\n borderColor: {\n default: colors.error,\n ':hover': colors.errorHover,\n },\n color: colors.errorContrast,\n },\n fullWidth: {\n width: '100%',\n },\n disabled: {\n opacity: 0.5,\n cursor: 'not-allowed',\n },\n})\n","import type {ReactNode} from 'react'\nimport {html} from 'react-strict-dom'\nimport {styles} from './styles.css'\n\nexport type ButtonVariant = 'primary' | 'secondary' | 'link' | 'danger'\nexport type ButtonSize = 'default' | 'small'\n\ninterface ButtonProps {\n variant?: ButtonVariant\n size?: ButtonSize\n fullWidth?: boolean\n disabled?: boolean\n type?: 'button' | 'submit'\n onClick?: () => void\n children: ReactNode\n}\n\nconst sizeMap = {\n default: styles.sizeDefault,\n small: styles.sizeSmall,\n} as const\n\nexport function Button({\n variant = 'primary',\n size = 'default',\n fullWidth = false,\n disabled = false,\n type = 'button',\n onClick,\n children,\n}: ButtonProps) {\n return (\n <html.button\n type={type}\n disabled={disabled}\n onClick={onClick}\n style={[\n styles.base,\n sizeMap[size],\n styles[variant],\n fullWidth && styles.fullWidth,\n disabled && styles.disabled,\n ]}\n >\n {children}\n </html.button>\n )\n}\n","import {css} from 'react-strict-dom'\nimport {colors} from '@duro-app/tokens/tokens/colors.css'\nimport {spacing, radii} from '@duro-app/tokens/tokens/spacing.css'\nimport {typography} from '@duro-app/tokens/tokens/typography.css'\n\nexport const styles = css.create({\n base: {\n padding: spacing.md,\n borderRadius: radii.sm,\n borderWidth: 1,\n borderStyle: 'solid',\n fontSize: typography.fontSizeSm,\n lineHeight: typography.lineHeight,\n overflow: 'hidden', // contain the float\n },\n icon: {\n float: 'left',\n marginRight: spacing.sm,\n marginBottom: spacing.xs,\n marginTop: 2,\n display: 'inline-flex',\n alignItems: 'center',\n justifyContent: 'center',\n },\n error: {\n backgroundColor: colors.errorBg,\n borderColor: colors.errorBorder,\n color: colors.errorText,\n },\n success: {\n backgroundColor: colors.successBg,\n borderColor: colors.successBorder,\n color: colors.successText,\n },\n warning: {\n backgroundColor: colors.warningBg,\n borderColor: colors.warningBorder,\n color: colors.warningText,\n },\n info: {\n backgroundColor: colors.infoBg,\n borderColor: colors.infoBorder,\n color: colors.infoText,\n },\n})\n","import type {ReactNode} from 'react'\nimport {html} from 'react-strict-dom'\nimport {Icon} from '../Icon'\nimport type {IconName} from '../Icon'\nimport {styles} from './styles.css'\n\nexport type CalloutVariant = 'error' | 'success' | 'warning' | 'info'\n\nconst defaultIcons: Record<CalloutVariant, IconName> = {\n info: 'info-circle-filled',\n warning: 'alert-triangle-filled',\n success: 'check-circle-filled',\n error: 'x-circle-filled',\n}\n\ninterface CalloutProps {\n variant?: CalloutVariant\n /** Built-in icon name, custom ReactNode, or false to hide. Defaults to variant icon. */\n icon?: IconName | ReactNode | false\n children: ReactNode\n}\n\nfunction resolveIcon(icon: CalloutProps['icon'], variant: CalloutVariant): ReactNode | null {\n if (icon === false) return null\n if (icon === undefined) return <Icon name={defaultIcons[variant]} size={36} />\n if (typeof icon === 'string') return <Icon name={icon as IconName} size={36} />\n return icon\n}\n\nexport function Callout({variant = 'info', icon, children}: CalloutProps) {\n const resolvedIcon = resolveIcon(icon, variant)\n\n return (\n <html.div role=\"note\" style={[styles.base, styles[variant]]}>\n {resolvedIcon && <html.span style={styles.icon}>{resolvedIcon}</html.span>}\n {children}\n </html.div>\n )\n}\n","import {css} from 'react-strict-dom'\nimport {colors} from '@duro-app/tokens/tokens/colors.css'\nimport {spacing, radii} from '@duro-app/tokens/tokens/spacing.css'\nimport {typography} from '@duro-app/tokens/tokens/typography.css'\nimport {shadows} from '@duro-app/tokens/tokens/shadows.css'\n\nexport const styles = css.create({\n base: {\n backgroundColor: colors.bgCard,\n color: colors.text,\n fontFamily: typography.fontFamily,\n },\n // Variants\n elevated: {\n borderRadius: radii.lg,\n borderWidth: 1,\n borderStyle: 'solid',\n borderColor: colors.border,\n boxShadow: shadows.md,\n },\n outlined: {\n borderRadius: radii.md,\n borderWidth: 1,\n borderStyle: 'solid',\n borderColor: colors.border,\n },\n filled: {\n borderRadius: radii.md,\n },\n interactive: {\n borderRadius: radii.md,\n borderWidth: 1,\n borderStyle: 'solid',\n borderColor: {\n default: colors.border,\n ':hover': colors.accent,\n },\n backgroundColor: {\n default: colors.bgCard,\n ':hover': colors.bgCardHover,\n },\n cursor: 'pointer',\n transitionProperty: 'background-color, border-color, transform',\n transitionDuration: '150ms',\n transitionTimingFunction: 'ease',\n transform: {\n default: 'translateY(0)',\n ':hover': 'translateY(-2px)',\n },\n },\n // Sizes (padding)\n sizeDefault: {\n padding: spacing.lg,\n },\n sizeCompact: {\n padding: spacing.md,\n },\n sizeFull: {\n padding: spacing.xl,\n },\n // Header\n header: {\n fontSize: typography.fontSizeLg,\n fontWeight: typography.fontWeightSemibold,\n marginBottom: spacing.md,\n },\n})\n","import type {ReactNode} from 'react'\nimport {html} from 'react-strict-dom'\nimport {styles} from './styles.css'\n\nexport type CardVariant = 'elevated' | 'outlined' | 'filled' | 'interactive'\nexport type CardSize = 'default' | 'compact' | 'full'\n\ninterface CardProps {\n variant?: CardVariant\n size?: CardSize\n header?: string\n onClick?: () => void\n children: ReactNode\n}\n\nconst sizeMap = {\n default: styles.sizeDefault,\n compact: styles.sizeCompact,\n full: styles.sizeFull,\n} as const\n\nexport function Card({\n variant = 'outlined',\n size = 'default',\n header,\n onClick,\n children,\n}: CardProps) {\n return (\n <html.div onClick={onClick} style={[styles.base, styles[variant], sizeMap[size]]}>\n {header && <html.div style={styles.header}>{header}</html.div>}\n {children}\n </html.div>\n )\n}\n","import {css} from 'react-strict-dom'\nimport {colors} from '@duro-app/tokens/tokens/colors.css'\nimport {spacing, radii} from '@duro-app/tokens/tokens/spacing.css'\nimport {typography} from '@duro-app/tokens/tokens/typography.css'\n\nexport const styles = css.create({\n root: {\n display: 'inline-flex',\n alignItems: 'center',\n gap: spacing.sm,\n cursor: 'pointer',\n fontSize: typography.fontSizeSm,\n color: colors.text,\n lineHeight: typography.lineHeight,\n },\n rootDisabled: {\n opacity: 0.5,\n cursor: 'not-allowed',\n },\n box: {\n width: 18,\n height: 18,\n borderWidth: 1,\n borderStyle: 'solid',\n borderRadius: radii.sm,\n display: 'inline-flex',\n alignItems: 'center',\n justifyContent: 'center',\n flexShrink: 0,\n transitionProperty: 'background-color, border-color',\n transitionDuration: '150ms',\n transitionTimingFunction: 'ease',\n },\n boxUnchecked: {\n backgroundColor: colors.bg,\n borderColor: {\n default: colors.border,\n ':hover': colors.textMuted,\n },\n },\n boxChecked: {\n backgroundColor: colors.accent,\n borderColor: colors.accent,\n },\n check: {\n width: 12,\n height: 12,\n color: colors.accentContrast,\n },\n input: {\n position: 'absolute',\n width: 1,\n height: 1,\n opacity: 0,\n overflow: 'hidden',\n },\n})\n","import {type ReactNode, useState, useCallback} from 'react'\nimport {html} from 'react-strict-dom'\nimport {styles} from './styles.css'\n\ninterface CheckboxProps {\n name?: string\n value?: string\n checked?: boolean\n defaultChecked?: boolean\n disabled?: boolean\n onChange?: (e: React.ChangeEvent<HTMLInputElement>) => void\n children?: ReactNode\n}\n\nexport function Checkbox({\n name,\n value,\n checked: controlledChecked,\n defaultChecked = false,\n disabled = false,\n onChange,\n children,\n}: CheckboxProps) {\n const isControlled = controlledChecked !== undefined\n const [internalChecked, setInternalChecked] = useState(defaultChecked)\n const isChecked = isControlled ? controlledChecked : internalChecked\n\n const handleChange = useCallback(\n (e: React.ChangeEvent<HTMLInputElement>) => {\n if (!isControlled) {\n setInternalChecked(e.target.checked)\n }\n onChange?.(e)\n },\n [isControlled, onChange],\n )\n\n return (\n <html.label style={[styles.root, disabled && styles.rootDisabled]}>\n <html.input\n type=\"checkbox\"\n name={name}\n value={value}\n checked={isControlled ? controlledChecked : undefined}\n defaultChecked={!isControlled ? defaultChecked : undefined}\n disabled={disabled}\n onChange={handleChange}\n style={styles.input}\n />\n <html.span\n style={[styles.box, isChecked ? styles.boxChecked : styles.boxUnchecked]}\n aria-hidden\n >\n <svg\n width={12}\n height={12}\n viewBox=\"0 0 12 12\"\n fill=\"none\"\n style={{opacity: isChecked ? 1 : 0}}\n >\n <polyline\n points=\"2.5 6 5 8.5 9.5 3.5\"\n stroke=\"currentColor\"\n strokeWidth={1.5}\n strokeLinecap=\"round\"\n strokeLinejoin=\"round\"\n />\n </svg>\n </html.span>\n {children && <html.span>{children}</html.span>}\n </html.label>\n )\n}\n","import {css} from 'react-strict-dom'\nimport {colors} from '@duro-app/tokens/tokens/colors.css'\nimport {spacing} from '@duro-app/tokens/tokens/spacing.css'\nimport {typography} from '@duro-app/tokens/tokens/typography.css'\n\nexport const styles = css.create({\n root: {\n display: 'flex',\n flexDirection: 'column',\n alignItems: 'center',\n justifyContent: 'center',\n gap: spacing.sm,\n paddingTop: spacing.xl,\n paddingBottom: spacing.xl,\n textAlign: 'center',\n },\n message: {\n fontSize: typography.fontSizeSm,\n color: colors.textMuted,\n lineHeight: typography.lineHeight,\n },\n action: {\n marginTop: spacing.sm,\n },\n})\n","import type {ReactNode} from 'react'\nimport {html} from 'react-strict-dom'\nimport {styles} from './styles.css'\n\ninterface EmptyStateProps {\n message: string\n icon?: ReactNode\n action?: ReactNode\n}\n\nexport function EmptyState({message, icon, action}: EmptyStateProps) {\n return (\n <html.div style={styles.root}>\n {icon}\n <html.p style={styles.message}>{message}</html.p>\n {action && <html.div style={styles.action}>{action}</html.div>}\n </html.div>\n )\n}\n","import {css} from 'react-strict-dom'\nimport {typography, typeScale} from './typography.css'\n\nexport const typePresets = css.create({\n // Body\n bodySm: {\n fontFamily: typography.fontFamily,\n fontSize: typeScale.fontSize3,\n lineHeight: typeScale.lineHeight3,\n fontWeight: typography.fontWeightNormal,\n letterSpacing: typeScale.letterSpacingNormal,\n },\n bodyMd: {\n fontFamily: typography.fontFamily,\n fontSize: typeScale.fontSize4,\n lineHeight: typeScale.lineHeight4,\n fontWeight: typography.fontWeightNormal,\n letterSpacing: typeScale.letterSpacingNormal,\n },\n bodyLg: {\n fontFamily: typography.fontFamily,\n fontSize: typeScale.fontSize5,\n lineHeight: typeScale.lineHeight5,\n fontWeight: typography.fontWeightNormal,\n letterSpacing: typeScale.letterSpacingNormal,\n },\n\n // UI\n caption: {\n fontFamily: typography.fontFamily,\n fontSize: typeScale.fontSize1,\n lineHeight: typeScale.lineHeight1,\n fontWeight: typography.fontWeightNormal,\n letterSpacing: typeScale.letterSpacingWide,\n },\n label: {\n fontFamily: typography.fontFamily,\n fontSize: typeScale.fontSize3,\n lineHeight: typeScale.lineHeight3,\n fontWeight: typography.fontWeightMedium,\n letterSpacing: typeScale.letterSpacingNormal,\n },\n code: {\n fontFamily: typography.fontFamilyMono,\n fontSize: typeScale.fontSize3,\n lineHeight: typeScale.lineHeight3,\n fontWeight: typography.fontWeightNormal,\n letterSpacing: typeScale.letterSpacingNormal,\n },\n overline: {\n fontFamily: typography.fontFamily,\n fontSize: typeScale.fontSize1,\n lineHeight: typeScale.lineHeight1,\n fontWeight: typography.fontWeightSemibold,\n letterSpacing: typeScale.letterSpacingWide,\n textTransform: 'uppercase' as const,\n },\n\n // Heading\n headingSm: {\n fontFamily: typography.fontFamily,\n fontSize: typeScale.fontSize6,\n lineHeight: typeScale.lineHeight6,\n fontWeight: typography.fontWeightSemibold,\n letterSpacing: typeScale.letterSpacingTight,\n },\n headingMd: {\n fontFamily: typography.fontFamily,\n fontSize: typeScale.fontSize7,\n lineHeight: typeScale.lineHeight7,\n fontWeight: typography.fontWeightSemibold,\n letterSpacing: typeScale.letterSpacingTight,\n },\n headingLg: {\n fontFamily: typography.fontFamily,\n fontSize: typeScale.fontSize8,\n lineHeight: typeScale.lineHeight8,\n fontWeight: typography.fontWeightBold,\n letterSpacing: typeScale.letterSpacingTight,\n },\n headingXl: {\n fontFamily: typography.fontFamily,\n fontSize: typeScale.fontSize9,\n lineHeight: typeScale.lineHeight9,\n fontWeight: typography.fontWeightBold,\n letterSpacing: typeScale.letterSpacingTight,\n },\n\n // Display (fluid)\n displaySm: {\n fontFamily: typography.fontFamily,\n fontSize: typeScale.displaySm,\n lineHeight: 1.2,\n fontWeight: typography.fontWeightBold,\n letterSpacing: typeScale.letterSpacingTight,\n },\n displayMd: {\n fontFamily: typography.fontFamily,\n fontSize: typeScale.displayMd,\n lineHeight: 1.15,\n fontWeight: typography.fontWeightBold,\n letterSpacing: typeScale.letterSpacingTight,\n },\n displayLg: {\n fontFamily: typography.fontFamily,\n fontSize: typeScale.displayLg,\n lineHeight: 1.1,\n fontWeight: typography.fontWeightBold,\n letterSpacing: typeScale.letterSpacingTight,\n },\n})\n","import {css} from 'react-strict-dom'\nimport {colors} from '@duro-app/tokens/tokens/colors.css'\n\nexport const styles = css.create({\n // Colors\n default: {\n color: colors.text,\n },\n muted: {\n color: colors.textMuted,\n },\n accent: {\n color: colors.accent,\n },\n\n // Alignment\n alignStart: {\n textAlign: 'start',\n },\n alignCenter: {\n textAlign: 'center',\n },\n alignEnd: {\n textAlign: 'end',\n },\n})\n","import type {ReactNode} from 'react'\nimport {html} from 'react-strict-dom'\nimport {typePresets} from '@duro-app/tokens/tokens/type-presets.css'\nimport {styles} from './styles.css'\n\nexport type HeadingVariant =\n | 'displayLg'\n | 'displayMd'\n | 'displaySm'\n | 'headingXl'\n | 'headingLg'\n | 'headingMd'\n | 'headingSm'\n\ninterface HeadingProps {\n level: 1 | 2 | 3 | 4 | 5 | 6\n variant?: HeadingVariant\n color?: 'default' | 'muted' | 'accent'\n align?: 'start' | 'center' | 'end'\n children: ReactNode\n}\n\nconst defaultVariantMap: Record<number, HeadingVariant> = {\n 1: 'headingXl',\n 2: 'headingLg',\n 3: 'headingMd',\n 4: 'headingSm',\n 5: 'headingSm',\n 6: 'headingSm',\n}\n\nconst alignMap = {\n start: styles.alignStart,\n center: styles.alignCenter,\n end: styles.alignEnd,\n} as const\n\nexport function Heading({level, variant, color = 'default', align, children}: HeadingProps) {\n const resolvedVariant = variant ?? defaultVariantMap[level]\n const style = [typePresets[resolvedVariant], styles[color], align && alignMap[align]]\n\n if (level === 1) return <html.h1 style={style}>{children}</html.h1>\n if (level === 2) return <html.h2 style={style}>{children}</html.h2>\n if (level === 3) return <html.h3 style={style}>{children}</html.h3>\n if (level === 4) return <html.h4 style={style}>{children}</html.h4>\n if (level === 5) return <html.h5 style={style}>{children}</html.h5>\n return <html.h6 style={style}>{children}</html.h6>\n}\n","import {createContext, useContext} from 'react'\n\ninterface FieldContextValue {\n controlId: string\n descriptionId: string\n errorId: string\n invalid: boolean\n}\n\nexport const FieldContext = createContext<FieldContextValue | null>(null)\n\nexport function useFieldContext() {\n return useContext(FieldContext)\n}\n","import {css} from 'react-strict-dom'\nimport {colors} from '@duro-app/tokens/tokens/colors.css'\nimport {spacing} from '@duro-app/tokens/tokens/spacing.css'\nimport {typography} from '@duro-app/tokens/tokens/typography.css'\n\nexport const styles = css.create({\n root: {\n display: 'flex',\n flexDirection: 'column',\n gap: spacing.xs,\n },\n label: {\n fontSize: typography.fontSizeSm,\n fontWeight: typography.fontWeightMedium,\n color: colors.text,\n },\n description: {\n fontSize: typography.fontSizeXs,\n color: colors.textMuted,\n },\n error: {\n fontSize: typography.fontSizeXs,\n color: colors.error,\n },\n})\n","import {type ReactNode, useId, useMemo} from 'react'\nimport {html} from 'react-strict-dom'\nimport {FieldContext, useFieldContext} from './FieldContext'\nimport {styles} from './styles.css'\n\n// --- Root ---\ninterface RootProps {\n invalid?: boolean\n children: ReactNode\n}\n\nfunction Root({invalid = false, children}: RootProps) {\n const id = useId()\n const ctx = useMemo(\n () => ({\n controlId: `${id}-control`,\n descriptionId: `${id}-description`,\n errorId: `${id}-error`,\n invalid,\n }),\n [id, invalid],\n )\n\n return (\n <FieldContext.Provider value={ctx}>\n <html.div style={styles.root}>{children}</html.div>\n </FieldContext.Provider>\n )\n}\n\n// --- Label ---\ninterface LabelProps {\n children: ReactNode\n}\n\nfunction Label({children}: LabelProps) {\n const ctx = useFieldContext()\n return (\n <html.label for={ctx?.controlId} style={styles.label}>\n {children}\n </html.label>\n )\n}\n\n// --- Description ---\ninterface DescriptionProps {\n children: ReactNode\n}\n\nfunction Description({children}: DescriptionProps) {\n const ctx = useFieldContext()\n return (\n <html.span id={ctx?.descriptionId} style={styles.description}>\n {children}\n </html.span>\n )\n}\n\n// --- Error ---\ninterface ErrorProps {\n children?: ReactNode\n}\n\nfunction Error({children}: ErrorProps) {\n const ctx = useFieldContext()\n if (!ctx?.invalid && !children) return null\n\n return (\n <html.span id={ctx?.errorId} role=\"alert\" style={styles.error}>\n {children}\n </html.span>\n )\n}\n\nexport const Field = {\n Root,\n Label,\n Description,\n Error,\n}\n","import {css} from 'react-strict-dom'\nimport {colors} from '@duro-app/tokens/tokens/colors.css'\nimport {spacing} from '@duro-app/tokens/tokens/spacing.css'\nimport {typography} from '@duro-app/tokens/tokens/typography.css'\n\nexport const styles = css.create({\n root: {\n display: 'flex',\n flexDirection: 'column',\n // Reset native fieldset chrome\n borderWidth: 0,\n margin: 0,\n padding: 0,\n minWidth: 0,\n },\n legend: {\n // Reset native legend quirks\n padding: 0,\n fontSize: typography.fontSizeSm,\n fontWeight: typography.fontWeightMedium,\n color: colors.text,\n },\n disabled: {\n opacity: 0.5,\n cursor: 'not-allowed',\n },\n gapXs: {gap: spacing.xs},\n gapSm: {gap: spacing.sm},\n gapMs: {gap: spacing.ms},\n gapMd: {gap: spacing.md},\n gapLg: {gap: spacing.lg},\n gapXl: {gap: spacing.xl},\n})\n","import type {ReactNode} from 'react'\nimport {html} from 'react-strict-dom'\nimport {styles} from './styles.css'\n\nexport type FieldsetGap = 'xs' | 'sm' | 'ms' | 'md' | 'lg' | 'xl'\n\nconst gapMap = {\n xs: styles.gapXs,\n sm: styles.gapSm,\n ms: styles.gapMs,\n md: styles.gapMd,\n lg: styles.gapLg,\n xl: styles.gapXl,\n} as const\n\n// --- Root ---\ninterface RootProps {\n /** Disables all form controls within the fieldset */\n disabled?: boolean\n /** Gap between child elements */\n gap?: FieldsetGap\n children: ReactNode\n}\n\nfunction Root({disabled = false, gap = 'md', children}: RootProps) {\n return (\n <html.fieldset\n disabled={disabled}\n style={[styles.root, gapMap[gap], disabled && styles.disabled]}\n >\n {children}\n </html.fieldset>\n )\n}\n\n// --- Legend ---\ninterface LegendProps {\n children: ReactNode\n}\n\nfunction Legend({children}: LegendProps) {\n return <html.legend style={styles.legend}>{children}</html.legend>\n}\n\nexport const Fieldset = {\n Root,\n Legend,\n}\n","import {createContext, useContext} from 'react'\n\ninterface InputGroupContextValue {\n inGroup: boolean\n}\n\nexport const InputGroupContext = createContext<InputGroupContextValue | null>(null)\n\nexport function useInputGroupContext() {\n return useContext(InputGroupContext)\n}\n","import {css} from 'react-strict-dom'\nimport {colors} from '@duro-app/tokens/tokens/colors.css'\nimport {spacing, radii} from '@duro-app/tokens/tokens/spacing.css'\nimport {typography} from '@duro-app/tokens/tokens/typography.css'\n\nexport const styles = css.create({\n base: {\n boxSizing: 'border-box',\n width: '100%',\n paddingTop: spacing.sm,\n paddingBottom: spacing.sm,\n paddingLeft: spacing.md,\n paddingRight: spacing.md,\n fontFamily: typography.fontFamily,\n fontSize: typography.fontSizeSm,\n lineHeight: typography.lineHeight,\n color: colors.text,\n backgroundColor: colors.bg,\n borderWidth: 1,\n borderStyle: 'solid',\n borderRadius: radii.sm,\n transitionProperty: 'border-color',\n transitionDuration: '150ms',\n transitionTimingFunction: 'ease',\n outlineWidth: {\n default: 0,\n ':focus-visible': 2,\n },\n outlineStyle: {\n default: 'none',\n ':focus-visible': 'solid',\n },\n outlineColor: {\n default: 'transparent',\n ':focus-visible': colors.accent,\n },\n outlineOffset: {\n default: 0,\n ':focus-visible': 1,\n },\n },\n default: {\n borderColor: {\n default: colors.border,\n ':hover': colors.textMuted,\n ':focus': colors.accent,\n },\n },\n error: {\n borderColor: {\n default: colors.error,\n ':focus': colors.error,\n },\n },\n inGroup: {\n borderWidth: 0,\n borderRadius: 0,\n outlineWidth: 0,\n },\n})\n","import {html} from 'react-strict-dom'\nimport {useFieldContext} from '../Field/FieldContext'\nimport {useInputGroupContext} from '../InputGroup/InputGroupContext'\nimport {styles} from './styles.css'\n\ntype StrictInputProps = React.ComponentProps<typeof html.input>\nexport type InputType = NonNullable<StrictInputProps['type']>\n\nexport type InputVariant = 'default' | 'error'\n\ninterface InputProps {\n variant?: InputVariant\n type?: InputType\n name?: string\n placeholder?: string\n required?: boolean\n minLength?: number\n pattern?: string\n autoComplete?:\n | 'on'\n | 'off'\n | 'email'\n | 'username'\n | 'current-password'\n | 'new-password'\n | 'name'\n | 'tel'\n | 'url'\n value?: string\n defaultValue?: string\n disabled?: boolean\n onChange?: (e: React.ChangeEvent<HTMLInputElement>) => void\n}\n\nexport function Input({\n variant = 'default',\n type = 'text',\n name,\n placeholder,\n required,\n minLength,\n pattern,\n autoComplete,\n value,\n defaultValue,\n disabled,\n onChange,\n}: InputProps) {\n const ctx = useFieldContext()\n const groupCtx = useInputGroupContext()\n\n // react-strict-dom omits web-only `pattern` from its types, but the\n // underlying DOM element supports it. Type-assert to pass it through.\n const extraProps = pattern !== undefined ? {pattern} : undefined\n\n return (\n <html.input\n id={ctx?.controlId}\n type={type}\n name={name}\n placeholder={placeholder}\n required={required}\n minLength={minLength}\n autoComplete={autoComplete}\n value={value}\n defaultValue={defaultValue}\n disabled={disabled}\n aria-describedby={\n ctx ? `${ctx.descriptionId} ${ctx.invalid ? ctx.errorId : ''}`.trim() : undefined\n }\n aria-invalid={ctx?.invalid || variant === 'error' || undefined}\n onChange={onChange}\n style={[styles.base, styles[variant], groupCtx?.inGroup && styles.inGroup]}\n {...(extraProps as Record<string, unknown>)}\n />\n )\n}\n","import {css} from 'react-strict-dom'\nimport {colors} from '@duro-app/tokens/tokens/colors.css'\nimport {spacing, radii} from '@duro-app/tokens/tokens/spacing.css'\nimport {typography} from '@duro-app/tokens/tokens/typography.css'\n\nexport const styles = css.create({\n wrapper: {\n display: 'flex',\n alignItems: 'stretch',\n borderWidth: 1,\n borderStyle: 'solid',\n borderColor: {\n default: colors.border,\n ':focus-within': colors.accent,\n },\n borderRadius: radii.sm,\n overflow: 'hidden',\n transitionProperty: 'border-color',\n transitionDuration: '150ms',\n transitionTimingFunction: 'ease',\n },\n addon: {\n display: 'inline-flex',\n alignItems: 'center',\n justifyContent: 'center',\n flexShrink: 0,\n paddingLeft: spacing.md,\n paddingRight: spacing.md,\n backgroundColor: colors.bgCardHover,\n fontFamily: typography.fontFamily,\n fontSize: typography.fontSizeSm,\n color: colors.textMuted,\n userSelect: 'none',\n borderWidth: 0,\n },\n addonStart: {\n borderRightWidth: 1,\n borderRightStyle: 'solid',\n borderRightColor: colors.border,\n },\n addonEnd: {\n borderLeftWidth: 1,\n borderLeftStyle: 'solid',\n borderLeftColor: colors.border,\n },\n addonClickable: {\n cursor: 'pointer',\n backgroundColor: {\n default: colors.bgCardHover,\n ':hover': colors.bgCard,\n ':active': colors.bg,\n },\n transitionProperty: 'background-color',\n transitionDuration: '150ms',\n transitionTimingFunction: 'ease',\n },\n addonDisabled: {\n opacity: 0.4,\n cursor: 'not-allowed',\n },\n})\n","import type {ReactNode} from 'react'\nimport {useMemo} from 'react'\nimport {css, html} from 'react-strict-dom'\nimport {InputGroupContext} from './InputGroupContext'\nimport {styles} from './styles.css'\n\n// --- Root ---\ninterface RootProps {\n children: ReactNode\n}\n\nfunction Root({children}: RootProps) {\n const ctx = useMemo(() => ({inGroup: true}), [])\n\n return (\n <InputGroupContext.Provider value={ctx}>\n <html.div style={styles.wrapper}>{children}</html.div>\n </InputGroupContext.Provider>\n )\n}\n\n// --- Addon ---\nconst dynamicStyles = css.create({\n minWidth: (value: number | string) => ({minWidth: value}),\n})\n\ninterface AddonProps {\n position?: 'start' | 'end'\n onClick?: () => void\n disabled?: boolean\n /** Optional minimum width to prevent layout shift (e.g. Copy → Copied!) */\n minWidth?: number | string\n children: ReactNode\n}\n\nfunction Addon({position = 'end', onClick, disabled, minWidth, children}: AddonProps) {\n const positionStyle = position === 'start' ? styles.addonStart : styles.addonEnd\n const style = [\n styles.addon,\n positionStyle,\n onClick && !disabled && styles.addonClickable,\n disabled && styles.addonDisabled,\n minWidth != null && dynamicStyles.minWidth(minWidth),\n ]\n\n if (onClick) {\n return (\n <html.button type=\"button\" onClick={onClick} disabled={disabled} style={style}>\n {children}\n </html.button>\n )\n }\n\n return <html.span style={style}>{children}</html.span>\n}\n\nexport const InputGroup = {\n Root,\n Addon,\n}\n","import {css} from 'react-strict-dom'\nimport {colors} from '@duro-app/tokens/tokens/colors.css'\nimport {spacing, radii} from '@duro-app/tokens/tokens/spacing.css'\nimport {typography} from '@duro-app/tokens/tokens/typography.css'\n\nexport const styles = css.create({\n base: {\n display: 'inline-flex',\n alignItems: 'center',\n justifyContent: 'center',\n gap: spacing.sm,\n fontFamily: typography.fontFamily,\n fontSize: typography.fontSizeSm,\n fontWeight: typography.fontWeightMedium,\n lineHeight: typography.lineHeight,\n borderRadius: radii.sm,\n cursor: 'pointer',\n textDecoration: 'none',\n transitionProperty: 'background-color, border-color, color',\n transitionDuration: '150ms',\n transitionTimingFunction: 'ease',\n },\n sizeDefault: {\n paddingTop: spacing.sm,\n paddingBottom: spacing.sm,\n paddingLeft: spacing.md,\n paddingRight: spacing.md,\n },\n sizeSmall: {\n paddingTop: spacing.xs,\n paddingBottom: spacing.xs,\n paddingLeft: spacing.sm,\n paddingRight: spacing.sm,\n fontSize: typography.fontSizeXs,\n },\n primary: {\n backgroundColor: {\n default: colors.accent,\n ':hover': colors.accentHover,\n },\n color: colors.accentContrast,\n },\n secondary: {\n backgroundColor: {\n default: 'transparent',\n ':hover': colors.bgCardHover,\n },\n borderWidth: 1,\n borderStyle: 'solid',\n borderColor: colors.border,\n color: colors.textMuted,\n },\n fullWidth: {\n width: '100%',\n },\n})\n","import type {ReactNode} from 'react'\nimport {html} from 'react-strict-dom'\nimport {styles} from './styles.css'\n\nexport type LinkButtonVariant = 'primary' | 'secondary'\nexport type LinkButtonSize = 'default' | 'small'\n\ninterface LinkButtonProps {\n href: string\n variant?: LinkButtonVariant\n size?: LinkButtonSize\n fullWidth?: boolean\n target?: '_blank' | '_self'\n rel?: string\n children: ReactNode\n}\n\nconst sizeMap = {\n default: styles.sizeDefault,\n small: styles.sizeSmall,\n} as const\n\nexport function LinkButton({\n href,\n variant = 'primary',\n size = 'default',\n fullWidth = false,\n target,\n rel,\n children,\n}: LinkButtonProps) {\n return (\n <html.a\n href={href}\n target={target}\n rel={rel}\n style={[styles.base, sizeMap[size], styles[variant], fullWidth && styles.fullWidth]}\n >\n {children}\n </html.a>\n )\n}\n","import {css} from 'react-strict-dom'\nimport {colors} from '@duro-app/tokens/tokens/colors.css'\nimport {spacing, radii} from '@duro-app/tokens/tokens/spacing.css'\nimport {typography} from '@duro-app/tokens/tokens/typography.css'\nimport {shadows} from '@duro-app/tokens/tokens/shadows.css'\n\nexport const styles = css.create({\n root: {\n position: 'relative',\n display: 'inline-flex',\n },\n trigger: {\n display: 'inline-flex',\n alignItems: 'center',\n gap: spacing.sm,\n paddingTop: spacing.sm,\n paddingBottom: spacing.sm,\n paddingLeft: spacing.md,\n paddingRight: spacing.md,\n fontFamily: typography.fontFamily,\n fontSize: typography.fontSizeSm,\n color: colors.text,\n backgroundColor: {\n default: 'transparent',\n ':hover': colors.bgCardHover,\n },\n borderWidth: 1,\n borderStyle: 'solid',\n borderColor: colors.border,\n borderRadius: radii.sm,\n cursor: 'pointer',\n transitionProperty: 'background-color, border-color',\n transitionDuration: '150ms',\n },\n backdrop: {\n position: 'fixed',\n top: 0,\n left: 0,\n right: 0,\n bottom: 0,\n zIndex: 49,\n },\n popup: {\n position: 'absolute',\n top: '100%',\n left: 0,\n marginTop: spacing.xs,\n backgroundColor: colors.bgCard,\n borderWidth: 1,\n borderStyle: 'solid',\n borderColor: colors.border,\n borderRadius: radii.sm,\n boxShadow: shadows.md,\n paddingTop: spacing.xs,\n paddingBottom: spacing.xs,\n minWidth: 160,\n zIndex: 50,\n },\n popupEnd: {\n left: 'auto',\n right: 0,\n },\n item: {\n display: 'flex',\n alignItems: 'center',\n paddingTop: spacing.sm,\n paddingBottom: spacing.sm,\n paddingLeft: spacing.md,\n paddingRight: spacing.md,\n fontSize: typography.fontSizeSm,\n fontFamily: typography.fontFamily,\n color: colors.text,\n borderRadius: radii.sm,\n cursor: 'pointer',\n backgroundColor: 'transparent',\n transitionProperty: 'background-color',\n transitionDuration: '150ms',\n },\n itemHighlighted: {\n backgroundColor: colors.bgCardHover,\n },\n linkItem: {\n textDecoration: 'none',\n color: {\n default: colors.text,\n ':hover': colors.text,\n },\n },\n})\n","import {createContext, useContext} from 'react'\n\nexport interface MenuContextValue {\n open: boolean\n toggle: () => void\n close: () => void\n menuId: string\n highlightedId: string | null\n setHighlightedId: (id: string | null) => void\n registerItem: (id: string, element: HTMLElement) => () => void\n triggerRef: React.RefObject<HTMLButtonElement | null>\n}\n\nexport const MenuContext = createContext<MenuContextValue | null>(null)\n\nexport function useMenu() {\n const ctx = useContext(MenuContext)\n if (!ctx) throw new Error('Menu compound components must be used within Menu.Root')\n return ctx\n}\n","import {useState, useCallback, useRef, useId, useEffect} from 'react'\nimport type {MenuContextValue} from './MenuContext'\n\nexport function useMenuRoot() {\n const [open, setOpen] = useState(false)\n const [highlightedId, setHighlightedId] = useState<string | null>(null)\n const menuId = useId()\n const rootRef = useRef<HTMLDivElement>(null)\n const triggerRef = useRef<HTMLButtonElement | null>(null)\n const itemsRef = useRef(new Map<string, HTMLElement>())\n const orderRef = useRef<string[]>([])\n const needsInitialHighlightRef = useRef(false)\n\n const close = useCallback(() => {\n setOpen(false)\n setHighlightedId(null)\n needsInitialHighlightRef.current = false\n triggerRef.current?.focus()\n }, [])\n\n const toggle = useCallback(() => {\n setOpen((prev) => {\n if (!prev) {\n needsInitialHighlightRef.current = true\n } else {\n setHighlightedId(null)\n needsInitialHighlightRef.current = false\n }\n return !prev\n })\n }, [])\n\n // Highlight the first item after items register on open.\n // Child effects (item registration) run before this parent effect,\n // so orderRef is populated by the time this runs.\n useEffect(() => {\n if (open && needsInitialHighlightRef.current) {\n needsInitialHighlightRef.current = false\n const order = orderRef.current\n if (order.length > 0) {\n setHighlightedId(order[0])\n }\n }\n }, [open])\n\n const registerItem = useCallback((id: string, element: HTMLElement) => {\n itemsRef.current.set(id, element)\n const map = itemsRef.current\n const ids = [...map.keys()]\n ids.sort((a, b) => {\n const elA = map.get(a)\n const elB = map.get(b)\n if (!elA || !elB) return 0\n return elA.compareDocumentPosition(elB) & Node.DOCUMENT_POSITION_FOLLOWING ? -1 : 1\n })\n orderRef.current = ids\n return () => {\n itemsRef.current.delete(id)\n orderRef.current = orderRef.current.filter((i) => i !== id)\n }\n }, [])\n\n // Native keydown for full KeyboardEvent access (preventDefault)\n useEffect(() => {\n const root = rootRef.current\n if (!root || !open) return\n\n function handleKeyDown(e: KeyboardEvent) {\n const order = orderRef.current\n if (order.length === 0) return\n\n switch (e.key) {\n case 'ArrowDown': {\n e.preventDefault()\n setHighlightedId((prev) => {\n const idx = prev ? order.indexOf(prev) : -1\n return order[(idx + 1) % order.length]\n })\n break\n }\n case 'ArrowUp': {\n e.preventDefault()\n setHighlightedId((prev) => {\n const idx = prev ? order.indexOf(prev) : 0\n return order[(idx - 1 + order.length) % order.length]\n })\n break\n }\n case 'Home': {\n e.preventDefault()\n setHighlightedId(order[0])\n break\n }\n case 'End': {\n e.preventDefault()\n setHighlightedId(order[order.length - 1])\n break\n }\n case 'Enter':\n case ' ': {\n e.preventDefault()\n const items = itemsRef.current\n setHighlightedId((prev) => {\n if (prev) {\n const el = items.get(prev)\n el?.click()\n }\n return prev\n })\n break\n }\n case 'Escape':\n case 'Tab': {\n close()\n break\n }\n }\n }\n\n root.addEventListener('keydown', handleKeyDown)\n return () => root.removeEventListener('keydown', handleKeyDown)\n }, [open, close])\n\n const ctx: MenuContextValue = {\n open,\n toggle,\n close,\n menuId,\n highlightedId,\n setHighlightedId,\n registerItem,\n triggerRef,\n }\n\n return {ctx, rootRef}\n}\n","import {type ReactNode, useRef, useId, useEffect} from 'react'\nimport {html} from 'react-strict-dom'\nimport {styles} from './styles.css'\nimport {MenuContext, useMenu} from './MenuContext'\nimport {useMenuRoot} from './useMenuRoot'\n\n// --- Root ---\ninterface RootProps {\n children: ReactNode\n}\n\nfunction Root({children}: RootProps) {\n const {ctx, rootRef} = useMenuRoot()\n\n return (\n <MenuContext.Provider value={ctx}>\n <html.div ref={rootRef} style={styles.root}>\n {children}\n </html.div>\n </MenuContext.Provider>\n )\n}\n\n// --- Trigger ---\nfunction Trigger({children}: {children: ReactNode}) {\n const {open, toggle, menuId, triggerRef} = useMenu()\n const localRef = useRef<HTMLButtonElement>(null)\n\n // Sync local ref to context triggerRef\n useEffect(() => {\n triggerRef.current = localRef.current\n })\n\n return (\n <html.button\n ref={localRef}\n type=\"button\"\n onClick={toggle}\n aria-expanded={open}\n aria-haspopup=\"menu\"\n aria-controls={open ? menuId : undefined}\n style={styles.trigger}\n >\n {children}\n </html.button>\n )\n}\n\n// --- Popup ---\ninterface PopupProps {\n children: ReactNode\n align?: 'start' | 'end'\n}\n\nfunction Popup({children, align = 'start'}: PopupProps) {\n const {open, close, menuId, highlightedId} = useMenu()\n\n if (!open) return null\n\n return (\n <>\n <html.div style={styles.backdrop} onClick={close} />\n <html.div\n id={menuId}\n role=\"menu\"\n aria-activedescendant={highlightedId ?? undefined}\n style={[styles.popup, align === 'end' && styles.popupEnd]}\n >\n {children}\n </html.div>\n </>\n )\n}\n\n// --- Item ---\ninterface ItemProps {\n onClick?: () => void\n children: ReactNode\n}\n\nfunction Item({onClick, children}: ItemProps) {\n const {close, highlightedId, setHighlightedId, registerItem} = useMenu()\n const id = useId()\n const ref = useRef<HTMLDivElement>(null)\n const isHighlighted = highlightedId === id\n\n useEffect(() => {\n const el = ref.current\n if (!el) return\n return registerItem(id, el)\n }, [id, registerItem])\n\n const handleClick = () => {\n onClick?.()\n close()\n }\n\n return (\n <html.div\n ref={ref}\n id={id}\n role=\"menuitem\"\n onClick={handleClick}\n onPointerEnter={() => setHighlightedId(id)}\n style={[styles.item, isHighlighted && styles.itemHighlighted]}\n >\n {children}\n </html.div>\n )\n}\n\n// --- LinkItem ---\ninterface LinkItemProps {\n href: string\n children: ReactNode\n}\n\nfunction LinkItem({href, children}: LinkItemProps) {\n const {close, highlightedId, setHighlightedId, registerItem} = useMenu()\n const id = useId()\n const ref = useRef<HTMLAnchorElement>(null)\n const isHighlighted = highlightedId === id\n\n useEffect(() => {\n const el = ref.current\n if (!el) return\n return registerItem(id, el)\n }, [id, registerItem])\n\n return (\n <html.a\n ref={ref}\n id={id}\n href={href}\n onClick={close}\n role=\"menuitem\"\n onPointerEnter={() => setHighlightedId(id)}\n style={[styles.item, styles.linkItem, isHighlighted && styles.itemHighlighted]}\n >\n {children}\n </html.a>\n )\n}\n\nexport const Menu = {\n Root,\n Trigger,\n Popup,\n Item,\n LinkItem,\n}\n","import {css} from 'react-strict-dom'\nimport {colors} from '@duro-app/tokens/tokens/colors.css'\nimport {radii} from '@duro-app/tokens/tokens/spacing.css'\n\nexport const styles = css.create({\n root: {\n position: 'relative',\n overflow: 'hidden',\n },\n viewport: {\n width: '100%',\n height: '100%',\n overflowX: 'auto',\n overflowY: 'auto',\n // Hide native scrollbar\n scrollbarWidth: 'none',\n },\n content: {\n minWidth: '100%',\n minHeight: '100%',\n },\n scrollbar: {\n position: 'absolute',\n zIndex: 1,\n display: 'flex',\n touchAction: 'none',\n userSelect: 'none',\n transitionProperty: 'opacity',\n transitionDuration: '200ms',\n transitionTimingFunction: 'ease',\n },\n scrollbarVertical: {\n top: 0,\n right: 0,\n bottom: 0,\n width: 8,\n flexDirection: 'column',\n paddingTop: 2,\n paddingBottom: 2,\n paddingRight: 2,\n },\n scrollbarHorizontal: {\n left: 0,\n right: 0,\n bottom: 0,\n height: 8,\n flexDirection: 'row',\n paddingLeft: 2,\n paddingRight: 2,\n paddingBottom: 2,\n },\n scrollbarHidden: {\n opacity: 0,\n },\n scrollbarVisible: {\n opacity: 1,\n },\n thumb: {\n position: 'relative',\n flex: 1,\n backgroundColor: {\n default: colors.border,\n ':hover': colors.textMuted,\n },\n borderRadius: radii.full,\n transitionProperty: 'background-color',\n transitionDuration: '150ms',\n },\n // Dynamic styles — simple identifier params only (StyleX constraint)\n viewportMaxHeight: (maxHeight: number | string) => ({\n maxHeight,\n }),\n thumbVertical: (height: string, transform: string) => ({\n height,\n transform,\n }),\n thumbHorizontal: (width: string, transform: string) => ({\n width,\n transform,\n }),\n})\n","import {createContext, useContext} from 'react'\n\nexport interface ScrollAreaContextValue {\n viewportRef: React.RefObject<HTMLDivElement | null>\n contentRef: React.RefObject<HTMLDivElement | null>\n scrollTop: number\n scrollLeft: number\n scrollHeight: number\n scrollWidth: number\n clientHeight: number\n clientWidth: number\n scrolling: boolean\n}\n\nexport const ScrollAreaContext = createContext<ScrollAreaContextValue | null>(null)\n\nexport function useScrollArea() {\n const ctx = useContext(ScrollAreaContext)\n if (!ctx) throw new Error('ScrollArea compound components must be used within ScrollArea.Root')\n return ctx\n}\n","import {useState, useCallback, useRef, useEffect} from 'react'\nimport type {ScrollAreaContextValue} from './ScrollAreaContext'\n\nexport function useScrollAreaRoot(): ScrollAreaContextValue {\n const viewportRef = useRef<HTMLDivElement | null>(null)\n const contentRef = useRef<HTMLDivElement | null>(null)\n const [scrollTop, setScrollTop] = useState(0)\n const [scrollLeft, setScrollLeft] = useState(0)\n const [scrollHeight, setScrollHeight] = useState(0)\n const [scrollWidth, setScrollWidth] = useState(0)\n const [clientHeight, setClientHeight] = useState(0)\n const [clientWidth, setClientWidth] = useState(0)\n const [scrolling, setScrolling] = useState(false)\n const scrollTimerRef = useRef<ReturnType<typeof setTimeout> | null>(null)\n\n const handleScroll = useCallback(() => {\n const vp = viewportRef.current\n if (!vp) return\n\n setScrollTop(vp.scrollTop)\n setScrollLeft(vp.scrollLeft)\n setScrollHeight(vp.scrollHeight)\n setScrollWidth(vp.scrollWidth)\n setClientHeight(vp.clientHeight)\n setClientWidth(vp.clientWidth)\n setScrolling(true)\n\n if (scrollTimerRef.current) clearTimeout(scrollTimerRef.current)\n scrollTimerRef.current = setTimeout(() => setScrolling(false), 1000)\n }, [])\n\n // Observe viewport size changes\n useEffect(() => {\n const vp = viewportRef.current\n if (!vp) return\n\n const observer = new ResizeObserver(() => {\n setScrollHeight(vp.scrollHeight)\n setScrollWidth(vp.scrollWidth)\n setClientHeight(vp.clientHeight)\n setClientWidth(vp.clientWidth)\n })\n observer.observe(vp)\n // Initial measurement\n setScrollHeight(vp.scrollHeight)\n setScrollWidth(vp.scrollWidth)\n setClientHeight(vp.clientHeight)\n setClientWidth(vp.clientWidth)\n\n return () => observer.disconnect()\n }, [])\n\n // Attach scroll listener directly to ensure we capture it\n useEffect(() => {\n const vp = viewportRef.current\n if (!vp) return\n vp.addEventListener('scroll', handleScroll, {passive: true})\n return () => vp.removeEventListener('scroll', handleScroll)\n }, [handleScroll])\n\n return {\n viewportRef,\n contentRef,\n scrollTop,\n scrollLeft,\n scrollHeight,\n scrollWidth,\n clientHeight,\n clientWidth,\n scrolling,\n }\n}\n","import {type ReactNode, useRef, useCallback} from 'react'\nimport {html} from 'react-strict-dom'\nimport {styles} from './styles.css'\nimport {ScrollAreaContext, useScrollArea} from './ScrollAreaContext'\nimport {useScrollAreaRoot} from './useScrollAreaRoot'\n\n// --- Root ---\n\ninterface RootProps {\n children: ReactNode\n}\n\nfunction Root({children}: RootProps) {\n const ctx = useScrollAreaRoot()\n\n return (\n <ScrollAreaContext.Provider value={ctx}>\n <html.div style={styles.root}>{children}</html.div>\n </ScrollAreaContext.Provider>\n )\n}\n\n// --- Viewport ---\n\ninterface ViewportProps {\n children: ReactNode\n maxHeight?: number | string\n}\n\nfunction Viewport({children, maxHeight}: ViewportProps) {\n const {viewportRef} = useScrollArea()\n\n return (\n <html.div\n ref={viewportRef}\n style={[styles.viewport, maxHeight != null && styles.viewportMaxHeight(maxHeight)]}\n >\n {children}\n </html.div>\n )\n}\n\n// --- Content ---\n\ninterface ContentProps {\n children: ReactNode\n}\n\nfunction Content({children}: ContentProps) {\n const {contentRef} = useScrollArea()\n return (\n <html.div ref={contentRef} style={styles.content}>\n {children}\n </html.div>\n )\n}\n\n// --- Scrollbar ---\n\ntype ScrollbarOrientation = 'vertical' | 'horizontal'\n\ninterface ScrollbarProps {\n orientation?: ScrollbarOrientation\n children: ReactNode\n}\n\nfunction Scrollbar({orientation = 'vertical', children}: ScrollbarProps) {\n const {scrolling, scrollHeight, scrollWidth, clientHeight, clientWidth} = useScrollArea()\n\n // Hide scrollbar when content fits\n const hasOverflow =\n orientation === 'vertical' ? scrollHeight > clientHeight : scrollWidth > clientWidth\n\n if (!hasOverflow) return null\n\n return (\n <html.div\n style={[\n styles.scrollbar,\n orientation === 'vertical' ? styles.scrollbarVertical : styles.scrollbarHorizontal,\n scrolling ? styles.scrollbarVisible : styles.scrollbarHidden,\n ]}\n >\n {children}\n </html.div>\n )\n}\n\n// --- Thumb ---\n\ninterface ThumbProps {\n orientation?: ScrollbarOrientation\n}\n\nfunction Thumb({orientation = 'vertical'}: ThumbProps) {\n const {viewportRef, scrollTop, scrollLeft, scrollHeight, scrollWidth, clientHeight, clientWidth} =\n useScrollArea()\n const draggingRef = useRef(false)\n const startPosRef = useRef(0)\n const startScrollRef = useRef(0)\n\n const isVertical = orientation === 'vertical'\n\n const thumbSizePercent = isVertical\n ? Math.max((clientHeight / scrollHeight) * 100, 10)\n : Math.max((clientWidth / scrollWidth) * 100, 10)\n\n const maxScroll = isVertical ? scrollHeight - clientHeight : scrollWidth - clientWidth\n const trackSize = isVertical ? clientHeight : clientWidth\n const thumbPixelSize = (thumbSizePercent / 100) * trackSize\n const scrollOffset = isVertical ? scrollTop : scrollLeft\n const thumbOffset = maxScroll > 0 ? (scrollOffset / maxScroll) * (trackSize - thumbPixelSize) : 0\n\n const thumbStyle = isVertical\n ? styles.thumbVertical(`${thumbSizePercent}%`, `translateY(${thumbOffset}px)`)\n : styles.thumbHorizontal(`${thumbSizePercent}%`, `translateX(${thumbOffset}px)`)\n\n const handlePointerDown = useCallback(\n (e: React.PointerEvent) => {\n e.preventDefault()\n draggingRef.current = true\n startPosRef.current = isVertical ? e.clientY : e.clientX\n startScrollRef.current = isVertical\n ? (viewportRef.current?.scrollTop ?? 0)\n : (viewportRef.current?.scrollLeft ?? 0)\n ;(e.target as HTMLElement).setPointerCapture(e.pointerId)\n },\n [isVertical, viewportRef],\n )\n\n const handlePointerMove = useCallback(\n (e: React.PointerEvent) => {\n if (!draggingRef.current) return\n const vp = viewportRef.current\n if (!vp) return\n\n const delta = (isVertical ? e.clientY : e.clientX) - startPosRef.current\n const scrollRatio = maxScroll / (trackSize - thumbPixelSize)\n const scrollDelta = delta * scrollRatio\n\n if (isVertical) {\n vp.scrollTop = startScrollRef.current + scrollDelta\n } else {\n vp.scrollLeft = startScrollRef.current + scrollDelta\n }\n },\n [isVertical, maxScroll, trackSize, thumbPixelSize, viewportRef],\n )\n\n const handlePointerUp = useCallback(() => {\n draggingRef.current = false\n }, [])\n\n return (\n <html.div\n onPointerDown={handlePointerDown}\n onPointerMove={handlePointerMove}\n onPointerUp={handlePointerUp}\n style={[styles.thumb, thumbStyle]}\n />\n )\n}\n\nexport const ScrollArea = {\n Root,\n Viewport,\n Content,\n Scrollbar,\n Thumb,\n}\n","import {css} from 'react-strict-dom'\nimport {colors} from '@duro-app/tokens/tokens/colors.css'\nimport {spacing, radii} from '@duro-app/tokens/tokens/spacing.css'\nimport {typography} from '@duro-app/tokens/tokens/typography.css'\nimport {shadows} from '@duro-app/tokens/tokens/shadows.css'\n\nexport const styles = css.create({\n root: {\n position: 'relative',\n display: 'inline-flex',\n },\n trigger: {\n display: 'inline-flex',\n alignItems: 'center',\n justifyContent: 'space-between',\n gap: spacing.sm,\n paddingTop: spacing.sm,\n paddingBottom: spacing.sm,\n paddingLeft: spacing.md,\n paddingRight: spacing.md,\n fontFamily: typography.fontFamily,\n fontSize: typography.fontSizeSm,\n color: colors.text,\n backgroundColor: colors.bgCard,\n borderWidth: 1,\n borderStyle: 'solid',\n borderColor: {\n default: colors.border,\n ':hover': colors.accent,\n },\n borderRadius: radii.sm,\n cursor: 'pointer',\n transitionProperty: 'border-color',\n transitionDuration: '150ms',\n },\n value: {\n color: colors.text,\n },\n placeholder: {\n color: colors.textMuted,\n },\n icon: {\n display: 'flex',\n alignItems: 'center',\n color: colors.textMuted,\n },\n backdrop: {\n position: 'fixed',\n top: 0,\n left: 0,\n right: 0,\n bottom: 0,\n zIndex: 49,\n },\n popup: {\n position: 'absolute',\n top: '100%',\n left: 0,\n marginTop: spacing.xs,\n backgroundColor: colors.bgCard,\n borderWidth: 1,\n borderStyle: 'solid',\n borderColor: colors.border,\n borderRadius: radii.sm,\n boxShadow: shadows.md,\n paddingTop: spacing.xs,\n paddingBottom: spacing.xs,\n minWidth: 120,\n zIndex: 50,\n },\n item: {\n display: 'flex',\n alignItems: 'center',\n paddingTop: spacing.sm,\n paddingBottom: spacing.sm,\n paddingLeft: spacing.md,\n paddingRight: spacing.md,\n fontSize: typography.fontSizeSm,\n fontFamily: typography.fontFamily,\n color: colors.text,\n borderRadius: radii.sm,\n cursor: 'pointer',\n backgroundColor: 'transparent',\n transitionProperty: 'background-color',\n transitionDuration: '150ms',\n },\n itemSelected: {\n color: colors.accent,\n fontWeight: typography.fontWeightMedium,\n },\n itemHighlighted: {\n backgroundColor: colors.bgCardHover,\n },\n hidden: {\n display: 'none',\n },\n})\n","import {createContext, useContext} from 'react'\n\nexport interface SelectContextValue {\n open: boolean\n toggle: () => void\n close: () => void\n value: string | null\n setValue: (value: string) => void\n labels: Record<string, string>\n registerLabel: (value: string, label: string) => void\n listboxId: string\n highlightedId: string | null\n setHighlightedId: (id: string | null) => void\n registerItem: (id: string, value: string, element: HTMLElement) => () => void\n triggerRef: React.RefObject<HTMLButtonElement | null>\n}\n\nexport const SelectContext = createContext<SelectContextValue | null>(null)\n\nexport function useSelect() {\n const ctx = useContext(SelectContext)\n if (!ctx) throw new Error('Select compound components must be used within Select.Root')\n return ctx\n}\n","import {useState, useCallback} from 'react'\n\nexport function useControllableValue<T>(\n controlledValue: T | undefined,\n defaultValue: T,\n onChange?: (value: T) => void,\n) {\n const [internal, setInternal] = useState(defaultValue)\n const value = controlledValue !== undefined ? controlledValue : internal\n const setValue = useCallback(\n (v: T) => {\n if (controlledValue === undefined) setInternal(v)\n onChange?.(v)\n },\n [controlledValue, onChange],\n )\n return [value, setValue] as const\n}\n","import {useState, useCallback, useMemo, useRef, useId, useEffect} from 'react'\nimport {useControllableValue} from '../../hooks/useControllableValue'\nimport type {SelectContextValue} from './SelectContext'\n\ninterface UseSelectRootOptions {\n defaultValue?: string\n value?: string\n onValueChange?: (value: string | null) => void\n initialLabels?: Record<string, string>\n}\n\nexport function useSelectRoot({\n defaultValue,\n value: controlledValue,\n onValueChange,\n initialLabels,\n}: UseSelectRootOptions) {\n const [value, setValue] = useControllableValue<string | null>(\n controlledValue,\n defaultValue ?? null,\n onValueChange,\n )\n const [open, setOpen] = useState(false)\n const [labels, setLabels] = useState<Record<string, string>>(initialLabels ?? {})\n const [highlightedId, setHighlightedId] = useState<string | null>(null)\n const listboxId = useId()\n const rootRef = useRef<HTMLDivElement>(null)\n const triggerRef = useRef<HTMLButtonElement | null>(null)\n const itemsRef = useRef(new Map<string, {value: string; element: HTMLElement}>())\n const orderRef = useRef<string[]>([])\n\n const close = useCallback(() => {\n setOpen(false)\n setHighlightedId(null)\n triggerRef.current?.focus()\n }, [])\n\n const toggle = useCallback(() => {\n setOpen((prev) => {\n if (!prev) {\n const items = itemsRef.current\n const order = orderRef.current\n let found: string | null = null\n for (const id of order) {\n const item = items.get(id)\n if (item && item.value === value) {\n found = id\n break\n }\n }\n setHighlightedId(found ?? (order.length > 0 ? order[0] : null))\n } else {\n setHighlightedId(null)\n }\n return !prev\n })\n }, [value])\n\n const registerLabel = useCallback((v: string, label: string) => {\n setLabels((prev) => {\n if (prev[v] === label) return prev\n return {...prev, [v]: label}\n })\n }, [])\n\n const registerItem = useCallback((id: string, itemValue: string, element: HTMLElement) => {\n itemsRef.current.set(id, {value: itemValue, element})\n const map = itemsRef.current\n const ids = [...map.keys()]\n ids.sort((a, b) => {\n const elA = map.get(a)?.element\n const elB = map.get(b)?.element\n if (!elA || !elB) return 0\n return elA.compareDocumentPosition(elB) & Node.DOCUMENT_POSITION_FOLLOWING ? -1 : 1\n })\n orderRef.current = ids\n return () => {\n itemsRef.current.delete(id)\n orderRef.current = orderRef.current.filter((i) => i !== id)\n }\n }, [])\n\n // Native keydown for full KeyboardEvent access (preventDefault)\n useEffect(() => {\n const root = rootRef.current\n if (!root || !open) return\n\n function handleKeyDown(e: KeyboardEvent) {\n const order = orderRef.current\n const items = itemsRef.current\n if (order.length === 0) return\n\n switch (e.key) {\n case 'ArrowDown': {\n e.preventDefault()\n setHighlightedId((prev) => {\n const idx = prev ? order.indexOf(prev) : -1\n return order[(idx + 1) % order.length]\n })\n break\n }\n case 'ArrowUp': {\n e.preventDefault()\n setHighlightedId((prev) => {\n const idx = prev ? order.indexOf(prev) : 0\n return order[(idx - 1 + order.length) % order.length]\n })\n break\n }\n case 'Home': {\n e.preventDefault()\n setHighlightedId(order[0])\n break\n }\n case 'End': {\n e.preventDefault()\n setHighlightedId(order[order.length - 1])\n break\n }\n case 'Enter':\n case ' ': {\n e.preventDefault()\n setHighlightedId((prev) => {\n if (prev) {\n const item = items.get(prev)\n if (item) {\n setValue(item.value)\n close()\n }\n }\n return prev\n })\n break\n }\n case 'Escape':\n case 'Tab': {\n close()\n break\n }\n }\n }\n\n root.addEventListener('keydown', handleKeyDown)\n return () => root.removeEventListener('keydown', handleKeyDown)\n }, [open, close, setValue])\n\n const ctx: SelectContextValue = useMemo(\n () => ({\n open,\n toggle,\n close,\n value,\n setValue,\n labels,\n registerLabel,\n listboxId,\n highlightedId,\n setHighlightedId,\n registerItem,\n triggerRef,\n }),\n [\n open,\n toggle,\n close,\n value,\n setValue,\n labels,\n registerLabel,\n listboxId,\n highlightedId,\n setHighlightedId,\n registerItem,\n ],\n )\n\n return {ctx, rootRef}\n}\n","import {type ReactNode, useRef, useId, useEffect} from 'react'\nimport {html} from 'react-strict-dom'\nimport {styles} from './styles.css'\nimport {SelectContext, useSelect} from './SelectContext'\nimport {useSelectRoot} from './useSelectRoot'\n\n// --- Root ---\ninterface RootProps {\n name?: string\n defaultValue?: string\n value?: string\n onValueChange?: (value: string | null) => void\n initialLabels?: Record<string, string>\n children: ReactNode\n}\n\nfunction Root({name, defaultValue, value, onValueChange, initialLabels, children}: RootProps) {\n const {ctx, rootRef} = useSelectRoot({defaultValue, value, onValueChange, initialLabels})\n\n return (\n <SelectContext.Provider value={ctx}>\n <html.div ref={rootRef} style={styles.root}>\n {name && <html.input type=\"hidden\" name={name} value={ctx.value ?? ''} />}\n {children}\n </html.div>\n </SelectContext.Provider>\n )\n}\n\n// --- Trigger ---\nfunction Trigger({children}: {children: ReactNode}) {\n const {open, toggle, listboxId, highlightedId, triggerRef} = useSelect()\n const localRef = useRef<HTMLButtonElement>(null)\n\n // Sync local ref to context triggerRef\n useEffect(() => {\n triggerRef.current = localRef.current\n })\n\n return (\n <html.button\n ref={localRef}\n type=\"button\"\n role={'combobox' as 'listbox'}\n onClick={toggle}\n aria-expanded={open}\n aria-haspopup=\"listbox\"\n aria-controls={open ? listboxId : undefined}\n aria-activedescendant={highlightedId ?? undefined}\n style={styles.trigger}\n >\n {children}\n </html.button>\n )\n}\n\n// --- Value ---\nfunction Value({placeholder}: {placeholder?: string}) {\n const {value, labels} = useSelect()\n const display = value ? (labels[value] ?? value) : null\n\n return (\n <html.span style={display ? styles.value : styles.placeholder}>\n {display ?? placeholder}\n </html.span>\n )\n}\n\n// --- Icon ---\nfunction Icon({children}: {children?: ReactNode}) {\n return (\n <html.span style={styles.icon}>\n {children ?? (\n <svg\n width=\"12\"\n height=\"12\"\n viewBox=\"0 0 24 24\"\n fill=\"none\"\n stroke=\"currentColor\"\n strokeWidth=\"2\"\n strokeLinecap=\"round\"\n strokeLinejoin=\"round\"\n aria-hidden=\"true\"\n >\n <path d=\"M6 9l6 6 6-6\" />\n </svg>\n )}\n </html.span>\n )\n}\n\n// --- Popup ---\nfunction Popup({children}: {children: ReactNode}) {\n const {open, close, listboxId} = useSelect()\n\n return (\n <>\n {open && <html.div style={styles.backdrop} onClick={close} />}\n <html.div\n id={listboxId}\n role=\"listbox\"\n aria-hidden={!open}\n style={[styles.popup, !open && styles.hidden]}\n >\n {children}\n </html.div>\n </>\n )\n}\n\n// --- Item ---\ninterface ItemProps {\n value: string\n children: ReactNode\n}\n\nfunction Item({value: itemValue, children}: ItemProps) {\n const {\n value: selectedValue,\n setValue,\n close,\n registerLabel,\n highlightedId,\n setHighlightedId,\n registerItem,\n } = useSelect()\n const id = useId()\n const ref = useRef<HTMLDivElement>(null)\n const isSelected = selectedValue === itemValue\n const isHighlighted = highlightedId === id\n\n // Register label from DOM text content (works with both string and JSX children)\n useEffect(() => {\n const el = ref.current\n if (!el) return\n const text = el.textContent\n if (text) registerLabel(itemValue, text)\n }, [itemValue, registerLabel])\n\n useEffect(() => {\n const el = ref.current\n if (!el) return\n return registerItem(id, itemValue, el)\n }, [id, itemValue, registerItem])\n\n const handleClick = () => {\n setValue(itemValue)\n close()\n }\n\n return (\n <html.div\n ref={ref}\n id={id}\n role=\"option\"\n aria-selected={isSelected}\n onClick={handleClick}\n onPointerEnter={() => setHighlightedId(id)}\n style={[\n styles.item,\n isSelected && styles.itemSelected,\n isHighlighted && styles.itemHighlighted,\n ]}\n >\n {children}\n </html.div>\n )\n}\n\n// --- ItemText ---\nfunction ItemText({children}: {children: ReactNode}) {\n return <html.span>{children}</html.span>\n}\n\nexport const Select = {\n Root,\n Trigger,\n Value,\n Icon,\n Popup,\n Item,\n ItemText,\n}\n","import {css} from 'react-strict-dom'\nimport {colors} from '@duro-app/tokens/tokens/colors.css'\nimport {spacing, radii} from '@duro-app/tokens/tokens/spacing.css'\nimport {typography} from '@duro-app/tokens/tokens/typography.css'\n\nexport const styles = css.create({\n root: {\n display: 'flex',\n flexDirection: 'column',\n gap: 0,\n },\n group: {\n display: 'flex',\n flexDirection: 'column',\n },\n groupTrigger: {\n display: 'flex',\n alignItems: 'center',\n gap: spacing.xs,\n paddingTop: spacing.sm,\n paddingBottom: spacing.sm,\n paddingLeft: spacing.md,\n paddingRight: spacing.md,\n fontFamily: typography.fontFamily,\n fontSize: typography.fontSizeXs,\n fontWeight: typography.fontWeightSemibold,\n textTransform: 'uppercase' as const,\n letterSpacing: '0.05em',\n color: {\n default: colors.textMuted,\n ':hover': colors.text,\n },\n backgroundColor: 'transparent',\n borderWidth: 0,\n cursor: 'pointer',\n transitionProperty: 'color',\n transitionDuration: '150ms',\n transitionTimingFunction: 'ease',\n },\n groupTriggerActive: {\n color: colors.text,\n },\n chevron: {\n display: 'inline-flex',\n alignItems: 'center',\n transitionProperty: 'transform',\n transitionDuration: '150ms',\n transitionTimingFunction: 'ease',\n },\n chevronOpen: {\n transform: 'rotate(90deg)',\n },\n item: {\n display: 'flex',\n alignItems: 'center',\n paddingTop: '6px',\n paddingBottom: '6px',\n paddingLeft: spacing.lg,\n paddingRight: spacing.md,\n fontFamily: typography.fontFamily,\n fontSize: typography.fontSizeSm,\n fontWeight: typography.fontWeightNormal,\n color: {\n default: colors.textMuted,\n ':hover': colors.text,\n },\n backgroundColor: {\n default: 'transparent',\n ':hover': colors.bgCardHover,\n },\n borderWidth: 0,\n borderRadius: radii.sm,\n cursor: 'pointer',\n transitionProperty: 'color, background-color',\n transitionDuration: '150ms',\n transitionTimingFunction: 'ease',\n textAlign: 'left' as const,\n outlineWidth: {\n default: 0,\n ':focus-visible': 2,\n },\n outlineStyle: {\n default: 'none',\n ':focus-visible': 'solid',\n },\n outlineColor: {\n default: 'transparent',\n ':focus-visible': colors.accent,\n },\n },\n itemActive: {\n color: colors.accent,\n fontWeight: typography.fontWeightMedium,\n },\n})\n","import {createContext, useContext} from 'react'\n\nexport interface SideNavContextValue {\n activeValue: string | null\n onSelect: (value: string) => void\n expandedGroups: Set<string>\n toggleGroup: (group: string) => void\n registerItem: (value: string) => () => void\n orderRef: React.RefObject<string[]>\n}\n\nexport const SideNavContext = createContext<SideNavContextValue | null>(null)\n\nexport function useSideNav() {\n const ctx = useContext(SideNavContext)\n if (!ctx) throw new Error('SideNav compound components must be used within SideNav.Root')\n return ctx\n}\n","import {type ReactNode, useState, useCallback, useRef, useEffect} from 'react'\nimport {html} from 'react-strict-dom'\nimport {styles} from './styles.css'\nimport {useControllableValue} from '../../hooks/useControllableValue'\nimport {SideNavContext, useSideNav} from './SideNavContext'\n\n// --- Root ---\n\ninterface RootProps {\n children: ReactNode\n value?: string\n defaultValue?: string\n onValueChange?: (value: string) => void\n}\n\nfunction Root({children, value: controlledValue, defaultValue, onValueChange}: RootProps) {\n const [activeValue, onSelect] = useControllableValue<string | null>(\n controlledValue,\n defaultValue ?? null,\n onValueChange\n ? (v) => {\n if (v !== null) onValueChange(v)\n }\n : undefined,\n )\n const [expandedGroups, setExpandedGroups] = useState<Set<string>>(new Set())\n const orderRef = useRef<string[]>([])\n\n const toggleGroup = useCallback((group: string) => {\n setExpandedGroups((prev) => {\n const next = new Set(prev)\n if (next.has(group)) {\n next.delete(group)\n } else {\n next.add(group)\n }\n return next\n })\n }, [])\n\n const registerItem = useCallback((value: string) => {\n if (!orderRef.current.includes(value)) {\n orderRef.current.push(value)\n }\n return () => {\n orderRef.current = orderRef.current.filter((v) => v !== value)\n }\n }, [])\n\n // Auto-expand group containing active value\n useEffect(() => {\n if (activeValue) {\n setExpandedGroups((prev) => {\n // We don't know which group it belongs to here — Group handles this\n return prev\n })\n }\n }, [activeValue])\n\n return (\n <SideNavContext.Provider\n value={{activeValue, onSelect, expandedGroups, toggleGroup, registerItem, orderRef}}\n >\n <html.nav role=\"navigation\" style={styles.root}>\n {children}\n </html.nav>\n </SideNavContext.Provider>\n )\n}\n\n// --- Group ---\n\ninterface GroupProps {\n children: ReactNode\n label: string\n groupKey?: string\n defaultExpanded?: boolean\n}\n\nfunction Group({children, label, groupKey, defaultExpanded}: GroupProps) {\n const key = groupKey ?? label\n const {expandedGroups, toggleGroup, activeValue} = useSideNav()\n const isExpanded = expandedGroups.has(key)\n const groupRef = useRef<HTMLDivElement>(null)\n\n // Auto-expand if this group contains the active item\n useEffect(() => {\n if (!activeValue || expandedGroups.has(key)) return\n const el = groupRef.current\n if (!el) return\n const activeBtn = el.querySelector(`[data-nav-value=\"${activeValue}\"]`)\n if (activeBtn) {\n toggleGroup(key)\n }\n }, [activeValue, key, expandedGroups, toggleGroup])\n\n // Expand on first render if defaultExpanded\n useEffect(() => {\n if (defaultExpanded && !expandedGroups.has(key)) {\n toggleGroup(key)\n }\n // Only run on mount\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [])\n\n const hasActiveChild = (() => {\n if (!activeValue || !groupRef.current) return false\n return !!groupRef.current.querySelector(`[data-nav-value=\"${activeValue}\"]`)\n })()\n\n return (\n <html.div ref={groupRef} style={styles.group}>\n <html.button\n type=\"button\"\n onClick={() => toggleGroup(key)}\n style={[styles.groupTrigger, hasActiveChild && styles.groupTriggerActive]}\n aria-expanded={isExpanded}\n >\n <html.span style={[styles.chevron, isExpanded && styles.chevronOpen]}>\n <svg\n width={10}\n height={10}\n viewBox=\"0 0 24 24\"\n fill=\"none\"\n stroke=\"currentColor\"\n strokeWidth={2.5}\n strokeLinecap=\"round\"\n strokeLinejoin=\"round\"\n >\n <path d=\"M9 18l6-6-6-6\" />\n </svg>\n </html.span>\n {label}\n </html.button>\n {isExpanded && children}\n </html.div>\n )\n}\n\n// --- Item ---\n\ninterface ItemProps {\n value: string\n children: ReactNode\n}\n\nfunction Item({value, children}: ItemProps) {\n const {activeValue, onSelect, registerItem} = useSideNav()\n const isActive = activeValue === value\n\n useEffect(() => {\n return registerItem(value)\n }, [value, registerItem])\n\n return (\n <html.button\n type=\"button\"\n data-nav-value={value}\n onClick={() => onSelect(value)}\n style={[styles.item, isActive && styles.itemActive]}\n aria-current={isActive ? 'page' : undefined}\n >\n {children}\n </html.button>\n )\n}\n\nexport const SideNav = {\n Root,\n Group,\n Item,\n}\n","import {css} from 'react-strict-dom'\nimport {colors} from '@duro-app/tokens/tokens/colors.css'\n\nconst spin = css.keyframes({\n '0%': {transform: 'rotate(0deg)'},\n '100%': {transform: 'rotate(360deg)'},\n})\n\nexport const styles = css.create({\n root: {\n display: 'inline-flex',\n alignItems: 'center',\n justifyContent: 'center',\n },\n spinner: {\n borderRadius: '50%',\n borderStyle: 'solid',\n borderColor: colors.border,\n borderTopColor: colors.accent,\n animationName: spin,\n animationDuration: '0.6s',\n animationTimingFunction: 'linear',\n animationIterationCount: 'infinite',\n },\n sm: {\n width: 16,\n height: 16,\n borderWidth: 2,\n },\n md: {\n width: 24,\n height: 24,\n borderWidth: 2,\n },\n lg: {\n width: 40,\n height: 40,\n borderWidth: 3,\n },\n srOnly: {\n position: 'absolute',\n width: 1,\n height: 1,\n overflow: 'hidden',\n clip: 'rect(0, 0, 0, 0)',\n },\n})\n","import {html} from 'react-strict-dom'\nimport {styles} from './styles.css'\n\nexport type SpinnerSize = 'sm' | 'md' | 'lg'\n\ninterface SpinnerProps {\n size?: SpinnerSize\n label?: string\n}\n\nconst sizeMap = {\n sm: styles.sm,\n md: styles.md,\n lg: styles.lg,\n} as const\n\nexport function Spinner({size = 'md', label = 'Loading'}: SpinnerProps) {\n return (\n <html.div role=\"status\" style={styles.root}>\n <html.div style={[styles.spinner, sizeMap[size]]} aria-hidden />\n <html.span style={styles.srOnly}>{label}</html.span>\n </html.div>\n )\n}\n","import {css} from 'react-strict-dom'\nimport {colors} from '@duro-app/tokens/tokens/colors.css'\nimport {spacing} from '@duro-app/tokens/tokens/spacing.css'\n\nexport const styles = css.create({\n root: {\n display: 'inline-flex',\n alignItems: 'center',\n justifyContent: 'center',\n marginBottom: spacing.md,\n },\n error: {\n color: colors.error,\n },\n success: {\n color: colors.success,\n },\n warning: {\n color: colors.warning,\n },\n info: {\n color: colors.info,\n },\n muted: {\n color: colors.textMuted,\n },\n})\n","import {html} from 'react-strict-dom'\nimport {Icon} from '../Icon'\nimport type {IconName} from '../Icon'\nimport {styles} from './styles.css'\n\nexport type StatusIconName = Extract<\n IconName,\n 'x-circle' | 'check-circle' | 'check-done' | 'clock' | 'forbidden'\n>\nexport type StatusIconVariant = 'error' | 'success' | 'warning' | 'info' | 'muted'\n\ninterface StatusIconProps {\n name: StatusIconName\n size?: number\n variant?: StatusIconVariant\n}\n\nexport function StatusIcon({name, size = 48, variant = 'muted'}: StatusIconProps) {\n return (\n <html.div style={[styles.root, styles[variant]]}>\n <Icon name={name} size={size} />\n </html.div>\n )\n}\n","/**\n * @license react-strict-dom\n * Copyright (c) Meta Platforms, Inc. and affiliates.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n\n'use strict';\nimport { jsx } from 'react/jsx-runtime';\nimport * as stylex from '@stylexjs/stylex';\nexport { stylex as css };\n\nconst loggedMessages = {};\nfunction errorMsg(msg) {\n if (process.env.NODE_ENV !== 'test' && loggedMessages[msg]) {\n return;\n }\n loggedMessages[msg] = true;\n console.error(`[error] React Strict DOM: ${msg}`);\n}\n\nconst strictAttributeSet = new Set(['alt', 'aria-activedescendant', 'aria-atomic', 'aria-autocomplete', 'aria-busy', 'aria-checked', 'aria-colcount', 'aria-colindex', 'aria-colindextext', 'aria-colspan', 'aria-controls', 'aria-current', 'aria-describedby', 'aria-details', 'aria-disabled', 'aria-errormessage', 'aria-expanded', 'aria-flowto', 'aria-haspopup', 'aria-hidden', 'aria-invalid', 'aria-keyshortcuts', 'aria-label', 'aria-labelledby', 'aria-level', 'aria-live', 'aria-modal', 'aria-multiline', 'aria-multiselectable', 'aria-orientation', 'aria-owns', 'aria-placeholder', 'aria-posinset', 'aria-pressed', 'aria-readonly', 'aria-required', 'aria-roledescription', 'aria-rowcount', 'aria-rowindex', 'aria-rowindextext', 'aria-rowspan', 'aria-selected', 'aria-setsize', 'aria-sort', 'aria-valuemax', 'aria-valuemin', 'aria-valuenow', 'aria-valuetext', 'autoCapitalize', 'autoComplete', 'autoFocus', 'checked', 'children', 'crossOrigin', 'decoding', 'defaultChecked', 'defaultValue', 'dir', 'disabled', 'download', 'draggable', 'elementTiming', 'enterKeyHint', 'fetchPriority', 'for', 'height', 'hidden', 'href', 'id', 'inert', 'inputMode', 'label', 'lang', 'loading', 'max', 'maxLength', 'min', 'minLength', 'multiple', 'name', 'onAuxClick', 'onBeforeInput', 'onBlur', 'onChange', 'onClick', 'onContextMenu', 'onCopy', 'onCut', 'onError', 'onFocus', 'onFocusIn', 'onFocusOut', 'onFullscreenChange', 'onFullscreenError', 'onGotPointerCapture', 'onInput', 'onInvalid', 'onKeyDown', 'onKeyUp', 'onLoad', 'onLostPointerCapture', 'onPaste', 'onPointerCancel', 'onPointerDown', 'onPointerEnter', 'onPointerLeave', 'onPointerMove', 'onPointerOut', 'onPointerOver', 'onPointerUp', 'onScroll', 'onSelect', 'onSelectionChange', 'onWheel', 'placeholder', 'readOnly', 'referrerPolicy', 'rel', 'required', 'role', 'rows', 'selected', 'spellCheck', 'src', 'srcSet', 'step', 'style', 'tabIndex', 'target', 'type', 'value', 'width', 'suppressHydrationWarning', 'onMouseDown', 'onMouseEnter', 'onMouseLeave', 'onMouseMove', 'onMouseOut', 'onMouseOver', 'onMouseUp', 'onTouchCancel', 'onTouchEnd', 'onTouchMove', 'onTouchStart']);\nfunction isPropAllowed(key) {\n return strictAttributeSet.has(key) || key.indexOf('data-') > -1;\n}\n\nvar styleq$1 = {};\n\nObject.defineProperty(styleq$1, \"__esModule\", {\n value: true\n});\nvar styleq_2 = styleq$1.styleq = void 0;\nvar cache = new WeakMap();\nvar compiledKey = '$$css';\nfunction createStyleq(options) {\n var disableCache;\n var disableMix;\n var transform;\n if (options != null) {\n disableCache = options.disableCache === true;\n disableMix = options.disableMix === true;\n transform = options.transform;\n }\n return function styleq() {\n var definedProperties = [];\n var className = '';\n var inlineStyle = null;\n var debugString = '';\n var nextCache = disableCache ? null : cache;\n var styles = new Array(arguments.length);\n for (var i = 0; i < arguments.length; i++) {\n styles[i] = arguments[i];\n }\n while (styles.length > 0) {\n var possibleStyle = styles.pop();\n if (possibleStyle == null || possibleStyle === false) {\n continue;\n }\n if (Array.isArray(possibleStyle)) {\n for (var _i = 0; _i < possibleStyle.length; _i++) {\n styles.push(possibleStyle[_i]);\n }\n continue;\n }\n var style = transform != null ? transform(possibleStyle) : possibleStyle;\n if (style.$$css != null) {\n var classNameChunk = '';\n if (nextCache != null && nextCache.has(style)) {\n var cacheEntry = nextCache.get(style);\n if (cacheEntry != null) {\n classNameChunk = cacheEntry[0];\n debugString = cacheEntry[2];\n definedProperties.push.apply(definedProperties, cacheEntry[1]);\n nextCache = cacheEntry[3];\n }\n } else {\n var definedPropertiesChunk = [];\n for (var prop in style) {\n var value = style[prop];\n if (prop === compiledKey) {\n var compiledKeyValue = style[prop];\n if (compiledKeyValue !== true) {\n debugString = debugString ? compiledKeyValue + '; ' + debugString : compiledKeyValue;\n }\n continue;\n }\n if (typeof value === 'string' || value === null) {\n if (!definedProperties.includes(prop)) {\n definedProperties.push(prop);\n if (nextCache != null) {\n definedPropertiesChunk.push(prop);\n }\n if (typeof value === 'string') {\n classNameChunk += classNameChunk ? ' ' + value : value;\n }\n }\n } else {\n console.error(\"styleq: \".concat(prop, \" typeof \").concat(String(value), \" is not \\\"string\\\" or \\\"null\\\".\"));\n }\n }\n if (nextCache != null) {\n var weakMap = new WeakMap();\n nextCache.set(style, [classNameChunk, definedPropertiesChunk, debugString, weakMap]);\n nextCache = weakMap;\n }\n }\n if (classNameChunk) {\n className = className ? classNameChunk + ' ' + className : classNameChunk;\n }\n } else {\n if (disableMix) {\n if (inlineStyle == null) {\n inlineStyle = {};\n }\n inlineStyle = Object.assign({}, style, inlineStyle);\n } else {\n var subStyle = null;\n for (var _prop in style) {\n var _value = style[_prop];\n if (_value !== undefined) {\n if (!definedProperties.includes(_prop)) {\n if (_value != null) {\n if (inlineStyle == null) {\n inlineStyle = {};\n }\n if (subStyle == null) {\n subStyle = {};\n }\n subStyle[_prop] = _value;\n }\n definedProperties.push(_prop);\n nextCache = null;\n }\n }\n }\n if (subStyle != null) {\n inlineStyle = Object.assign(subStyle, inlineStyle);\n }\n }\n }\n }\n var styleProps = [className, inlineStyle, debugString];\n return styleProps;\n };\n}\nvar styleq = styleq_2 = styleq$1.styleq = createStyleq();\nstyleq.factory = createStyleq;\n\nconst optimizedStyleq = styleq_2.factory({\n disableMix: true\n});\nfunction merge(...styles) {\n const [className, style, dataStyleSrc] = optimizedStyleq(styles);\n const result = {};\n if (className != null && className !== '') {\n result.className = className;\n }\n if (style != null) {\n result.style = style;\n }\n if (dataStyleSrc != null && dataStyleSrc !== '') {\n const chunks = dataStyleSrc.split(';');\n const pathsMap = {};\n for (const chunk of chunks) {\n const trimmed = chunk.trim();\n const [path, line] = trimmed.split(':');\n if (line != null) {\n pathsMap[path] = pathsMap[path] != null ? `${pathsMap[path]},${line}` : line;\n }\n }\n result['data-style-src'] = Object.keys(pathsMap).map(path => `${path}:${pathsMap[path]}`).join('; ');\n }\n return result;\n}\n\nfunction validateStrictProps(props) {\n Object.keys(props).forEach(key => {\n const isValid = isPropAllowed(key);\n if (!isValid) {\n errorMsg(`invalid prop \"${key}\"`);\n delete props[key];\n }\n });\n}\nfunction createStrictDOMComponent(TagName, defaultStyle) {\n const debugStyle = {\n $$css: true,\n 'debug::name': `html-${TagName}`\n };\n function Component({\n ref,\n ...props\n }) {\n const {\n for: htmlFor,\n style,\n ...restProps\n } = props;\n const hostProps = restProps;\n validateStrictProps(hostProps);\n if (htmlFor != null) {\n hostProps.htmlFor = htmlFor;\n }\n if (props.role != null) {\n hostProps.role = props.role === 'none' ? 'presentation' : props.role;\n }\n if (TagName === 'button') {\n hostProps.type = hostProps.type ? hostProps.type : 'button';\n } else if (TagName === 'input' || TagName === 'textarea') {\n hostProps.dir = hostProps.dir ? hostProps.dir : 'auto';\n }\n const hostStyleProps = merge([debugStyle, defaultStyle, style]);\n const element = jsx(TagName, {\n ...hostProps,\n ...hostStyleProps,\n ref: ref\n });\n return element;\n }\n Component.displayName = `html.${TagName}`;\n return Component;\n}\n\nconst styles = stylex.create({\n block: {\n margin: 0,\n padding: 0\n },\n inline: {\n margin: 0,\n padding: 0,\n textDecoration: 'none',\n textAlign: 'inherit',\n wordWrap: 'break-word'\n },\n inlineblock: {\n borderStyle: 'solid',\n margin: 0,\n padding: 0\n },\n button: {\n borderWidth: 1\n },\n codePre: {\n fontFamily: 'monospace, \"monospace\"',\n fontSize: '1em',\n overflow: 'auto'\n },\n heading: {\n fontSize: '1.5rem',\n wordWrap: 'break-word'\n },\n hr: {\n backgroundColor: 'black',\n borderStyle: 'none',\n borderWidth: 0,\n boxSizing: 'border-box',\n height: 1\n },\n img: {\n aspectRatio: 'attr(width) / attr(height)',\n height: 'auto',\n maxWidth: '100%'\n },\n input: {\n borderWidth: 1,\n borderStyle: 'solid'\n },\n list: {\n listStyle: 'none'\n },\n strong: {\n fontWeight: 'bold'\n },\n textarea: {\n borderWidth: 1,\n borderStyle: 'solid',\n resize: 'vertical'\n }\n});\nconst a$1 = styles.inline;\nconst article$1 = styles.block;\nconst aside$1 = styles.block;\nconst b$1 = styles.inline;\nconst bdi$1 = styles.inline;\nconst bdo$1 = styles.inline;\nconst blockquote$1 = styles.block;\nconst br$1 = null;\nconst button$1 = [styles.inlineblock, styles.button];\nconst code$1 = [styles.inline, styles.codePre];\nconst del$1 = null;\nconst div$1 = styles.block;\nconst em$1 = styles.inline;\nconst fieldset$1 = styles.block;\nconst footer$1 = styles.block;\nconst form$1 = styles.block;\nconst heading = [styles.block, styles.heading];\nconst header$1 = styles.block;\nconst hr$1 = [styles.block, styles.hr];\nconst i$1 = styles.inline;\nconst img$1 = styles.img;\nconst input$1 = [styles.inlineblock, styles.input];\nconst ins$1 = null;\nconst kbd$1 = null;\nconst label$1 = styles.inline;\nconst li$1 = styles.block;\nconst main$1 = styles.block;\nconst mark$1 = styles.inline;\nconst nav$1 = styles.block;\nconst ol$1 = [styles.list, styles.block];\nconst optgroup$1 = null;\nconst option$1 = null;\nconst p$1 = styles.block;\nconst pre$1 = [styles.block, styles.codePre];\nconst s$1 = null;\nconst section$1 = styles.block;\nconst select$1 = styles.inlineblock;\nconst span$1 = styles.inline;\nconst strong$1 = [styles.inline, styles.strong];\nconst sub$1 = styles.inline;\nconst sup$1 = styles.inline;\nconst textarea$1 = [styles.inlineblock, styles.textarea];\nconst u$1 = null;\nconst ul$1 = [styles.list, styles.block];\nconst defaultStyles = {\n a: a$1,\n article: article$1,\n aside: aside$1,\n b: b$1,\n bdi: bdi$1,\n bdo: bdo$1,\n blockquote: blockquote$1,\n br: br$1,\n button: button$1,\n code: code$1,\n del: del$1,\n div: div$1,\n em: em$1,\n fieldset: fieldset$1,\n footer: footer$1,\n form: form$1,\n h1: heading,\n h2: heading,\n h3: heading,\n h4: heading,\n h5: heading,\n h6: heading,\n header: header$1,\n hr: hr$1,\n i: i$1,\n img: img$1,\n input: input$1,\n ins: ins$1,\n kbd: kbd$1,\n label: label$1,\n li: li$1,\n main: main$1,\n mark: mark$1,\n nav: nav$1,\n ol: ol$1,\n optgroup: optgroup$1,\n option: option$1,\n p: p$1,\n pre: pre$1,\n s: s$1,\n section: section$1,\n select: select$1,\n span: span$1,\n strong: strong$1,\n sub: sub$1,\n sup: sup$1,\n textarea: textarea$1,\n u: u$1,\n ul: ul$1\n};\n\nconst a = createStrictDOMComponent('a', defaultStyles.a);\nconst article = createStrictDOMComponent('article', defaultStyles.article);\nconst aside = createStrictDOMComponent('aside', defaultStyles.aside);\nconst b = createStrictDOMComponent('b', defaultStyles.b);\nconst bdi = createStrictDOMComponent('bdi', defaultStyles.bdi);\nconst bdo = createStrictDOMComponent('bdo', defaultStyles.bdo);\nconst blockquote = createStrictDOMComponent('blockquote', defaultStyles.blockquote);\nconst br = createStrictDOMComponent('br', defaultStyles.br);\nconst button = createStrictDOMComponent('button', defaultStyles.button);\nconst code = createStrictDOMComponent('code', defaultStyles.code);\nconst del = createStrictDOMComponent('del', defaultStyles.del);\nconst div = createStrictDOMComponent('div', defaultStyles.div);\nconst em = createStrictDOMComponent('em', defaultStyles.em);\nconst fieldset = createStrictDOMComponent('fieldset', defaultStyles.fieldset);\nconst footer = createStrictDOMComponent('footer', defaultStyles.footer);\nconst form = createStrictDOMComponent('form', defaultStyles.form);\nconst h1 = createStrictDOMComponent('h1', defaultStyles.h1);\nconst h2 = createStrictDOMComponent('h2', defaultStyles.h2);\nconst h3 = createStrictDOMComponent('h3', defaultStyles.h3);\nconst h4 = createStrictDOMComponent('h4', defaultStyles.h4);\nconst h5 = createStrictDOMComponent('h5', defaultStyles.h5);\nconst h6 = createStrictDOMComponent('h6', defaultStyles.h6);\nconst header = createStrictDOMComponent('header', defaultStyles.header);\nconst hr = createStrictDOMComponent('hr', defaultStyles.hr);\nconst i = createStrictDOMComponent('i', defaultStyles.i);\nconst img = createStrictDOMComponent('img', defaultStyles.img);\nconst input = createStrictDOMComponent('input', defaultStyles.input);\nconst ins = createStrictDOMComponent('ins', defaultStyles.ins);\nconst kbd = createStrictDOMComponent('kbd', defaultStyles.kbd);\nconst label = createStrictDOMComponent('label', defaultStyles.label);\nconst li = createStrictDOMComponent('li', defaultStyles.li);\nconst main = createStrictDOMComponent('main', defaultStyles.main);\nconst mark = createStrictDOMComponent('mark', defaultStyles.mark);\nconst nav = createStrictDOMComponent('nav', defaultStyles.nav);\nconst ol = createStrictDOMComponent('ol', defaultStyles.ol);\nconst optgroup = createStrictDOMComponent('optgroup', defaultStyles.optgroup);\nconst option = createStrictDOMComponent('option', defaultStyles.option);\nconst p = createStrictDOMComponent('p', defaultStyles.p);\nconst pre = createStrictDOMComponent('pre', defaultStyles.pre);\nconst s = createStrictDOMComponent('s', defaultStyles.s);\nconst section = createStrictDOMComponent('section', defaultStyles.section);\nconst select = createStrictDOMComponent('select', defaultStyles.select);\nconst span = createStrictDOMComponent('span', defaultStyles.span);\nconst strong = createStrictDOMComponent('strong', defaultStyles.strong);\nconst sub = createStrictDOMComponent('sub', defaultStyles.sub);\nconst sup = createStrictDOMComponent('sup', defaultStyles.sup);\nconst textarea = createStrictDOMComponent('textarea', defaultStyles.textarea);\nconst u = createStrictDOMComponent('u', defaultStyles.u);\nconst ul = createStrictDOMComponent('ul', defaultStyles.ul);\n\nvar html = /*#__PURE__*/Object.freeze({\n __proto__: null,\n a: a,\n article: article,\n aside: aside,\n b: b,\n bdi: bdi,\n bdo: bdo,\n blockquote: blockquote,\n br: br,\n button: button,\n code: code,\n del: del,\n div: div,\n em: em,\n fieldset: fieldset,\n footer: footer,\n form: form,\n h1: h1,\n h2: h2,\n h3: h3,\n h4: h4,\n h5: h5,\n h6: h6,\n header: header,\n hr: hr,\n i: i,\n img: img,\n input: input,\n ins: ins,\n kbd: kbd,\n label: label,\n li: li,\n main: main,\n mark: mark,\n nav: nav,\n ol: ol,\n optgroup: optgroup,\n option: option,\n p: p,\n pre: pre,\n s: s,\n section: section,\n select: select,\n span: span,\n strong: strong,\n sub: sub,\n sup: sup,\n textarea: textarea,\n u: u,\n ul: ul\n});\n\nexport { html };\n","import {css} from 'react-strict-dom'\nimport {colors} from '@duro-app/tokens/tokens/colors.css'\nimport {spacing, radii} from '@duro-app/tokens/tokens/spacing.css'\nimport {typography} from '@duro-app/tokens/tokens/typography.css'\n\nexport const styles = css.create({\n // Root\n root: {\n borderWidth: 1,\n borderStyle: 'solid',\n borderColor: colors.border,\n borderRadius: radii.md,\n overflow: 'hidden',\n backgroundColor: colors.bgCard,\n fontFamily: typography.fontFamily,\n color: colors.text,\n },\n\n // Header group\n header: {\n backgroundColor: colors.bgCard,\n },\n\n // Row\n row: {\n display: 'grid',\n borderBottomWidth: 1,\n borderBottomStyle: 'solid',\n borderBottomColor: colors.border,\n },\n rowLastChild: {\n borderBottomWidth: 0,\n },\n bodyRow: {\n backgroundColor: {\n default: 'transparent',\n ':hover': colors.bgCardHover,\n },\n transitionProperty: 'background-color',\n transitionDuration: '150ms',\n transitionTimingFunction: 'ease',\n },\n\n // Header cell\n headerCell: {\n fontWeight: typography.fontWeightSemibold,\n color: colors.textMuted,\n textAlign: 'start',\n },\n\n // Body cell\n cell: {\n color: colors.text,\n display: 'flex',\n alignItems: 'center',\n },\n\n // Size: sm\n cellSm: {\n paddingTop: spacing.xs,\n paddingBottom: spacing.xs,\n paddingLeft: spacing.sm,\n paddingRight: spacing.sm,\n fontSize: typography.fontSizeXs,\n },\n // Size: md\n cellMd: {\n paddingTop: spacing.sm,\n paddingBottom: spacing.sm,\n paddingLeft: spacing.md,\n paddingRight: spacing.md,\n fontSize: typography.fontSizeSm,\n },\n\n // Variant: striped (even body rows)\n stripedEven: {\n backgroundColor: {\n default: colors.bgCardHover,\n ':hover': colors.bgCardHover,\n },\n },\n\n // Variant: bordered (cells get side borders)\n borderedCell: {\n borderRightWidth: 1,\n borderRightStyle: 'solid',\n borderRightColor: colors.border,\n },\n borderedCellLast: {\n borderRightWidth: 0,\n },\n\n // Dynamic styles — simple identifier params only (StyleX constraint)\n gridColumns: (columns: number) => ({\n gridTemplateColumns: `repeat(${columns}, 1fr)`,\n }),\n})\n","import {type ReactNode, createContext, useContext, Children} from 'react'\nimport {html} from 'react-strict-dom'\nimport {styles} from './styles.css'\n\n// --- Types ---\n\nexport type TableVariant = 'default' | 'striped' | 'bordered'\nexport type TableSize = 'sm' | 'md'\n\n// --- Context ---\n\ninterface TableContextValue {\n variant: TableVariant\n size: TableSize\n columns: number\n isHeader: boolean\n}\n\nconst TableContext = createContext<TableContextValue | null>(null)\n\nfunction useTable() {\n const ctx = useContext(TableContext)\n if (!ctx) throw new Error('Table compound components must be used within Table.Root')\n return ctx\n}\n\n// --- HeaderContext (to distinguish header vs body rowgroup) ---\n\nconst HeaderContext = createContext(false)\n\n// --- Root ---\n\ninterface RootProps {\n children: ReactNode\n variant?: TableVariant\n size?: TableSize\n columns: number\n}\n\nfunction Root({children, variant = 'default', size = 'md', columns}: RootProps) {\n return (\n <TableContext.Provider value={{variant, size, columns, isHeader: false}}>\n <html.div role=\"table\" style={styles.root}>\n {children}\n </html.div>\n </TableContext.Provider>\n )\n}\n\n// --- Header ---\n\nfunction Header({children}: {children: ReactNode}) {\n return (\n <HeaderContext.Provider value={true}>\n <html.div role=\"rowgroup\" style={styles.header}>\n {children}\n </html.div>\n </HeaderContext.Provider>\n )\n}\n\n// --- Body ---\n\nfunction Body({children}: {children: ReactNode}) {\n const {variant} = useTable()\n const childArray = Children.toArray(children)\n\n return (\n <HeaderContext.Provider value={false}>\n <html.div role=\"rowgroup\">\n {childArray.map((child, index) => {\n if (variant === 'striped') {\n return (\n <RowIndexContext.Provider key={index} value={index}>\n {child}\n </RowIndexContext.Provider>\n )\n }\n return child\n })}\n </html.div>\n </HeaderContext.Provider>\n )\n}\n\n// Row index context for striped variant\nconst RowIndexContext = createContext<number>(-1)\n\n// --- Row ---\n\nfunction Row({children}: {children: ReactNode}) {\n const {variant, columns} = useTable()\n const isHeader = useContext(HeaderContext)\n const rowIndex = useContext(RowIndexContext)\n const isEvenRow = rowIndex >= 0 && rowIndex % 2 === 1\n const childArray = Children.toArray(children)\n const isLastRow = false // handled by CSS or parent\n\n return (\n <html.div\n role=\"row\"\n style={[\n styles.row,\n styles.gridColumns(columns),\n !isHeader && styles.bodyRow,\n !isHeader && variant === 'striped' && isEvenRow && styles.stripedEven,\n ]}\n >\n {variant === 'bordered'\n ? childArray.map((child, index) => (\n <CellIndexContext.Provider key={index} value={{index, total: childArray.length}}>\n {child}\n </CellIndexContext.Provider>\n ))\n : children}\n </html.div>\n )\n}\n\n// Cell index context for bordered variant\nconst CellIndexContext = createContext<{index: number; total: number}>({\n index: 0,\n total: 0,\n})\n\n// --- HeaderCell ---\n\nfunction HeaderCell({children}: {children: ReactNode}) {\n const {size, variant} = useTable()\n const {index, total} = useContext(CellIndexContext)\n const isLast = variant === 'bordered' && index === total - 1\n\n return (\n <html.div\n role=\"columnheader\"\n style={[\n styles.headerCell,\n size === 'sm' ? styles.cellSm : styles.cellMd,\n variant === 'bordered' && styles.borderedCell,\n isLast && styles.borderedCellLast,\n ]}\n >\n {children}\n </html.div>\n )\n}\n\n// --- Cell ---\n\nfunction Cell({children}: {children: ReactNode}) {\n const {size, variant} = useTable()\n const {index, total} = useContext(CellIndexContext)\n const isLast = variant === 'bordered' && index === total - 1\n\n return (\n <html.div\n role=\"cell\"\n style={[\n styles.cell,\n size === 'sm' ? styles.cellSm : styles.cellMd,\n variant === 'bordered' && styles.borderedCell,\n isLast && styles.borderedCellLast,\n ]}\n >\n {children}\n </html.div>\n )\n}\n\n// --- Export ---\n\nexport const Table = {\n Root,\n Header,\n Body,\n Row,\n HeaderCell,\n Cell,\n}\n","import {css} from 'react-strict-dom'\nimport {colors} from '@duro-app/tokens/tokens/colors.css'\nimport {spacing, radii} from '@duro-app/tokens/tokens/spacing.css'\nimport {typography} from '@duro-app/tokens/tokens/typography.css'\n\nexport const styles = css.create({\n root: {\n display: 'flex',\n flexDirection: 'column',\n },\n rootVertical: {\n flexDirection: 'row',\n },\n list: {\n display: 'flex',\n flexDirection: 'row',\n borderBottomWidth: 1,\n borderBottomStyle: 'solid',\n borderBottomColor: colors.border,\n gap: spacing.xs,\n },\n listVertical: {\n flexDirection: 'column',\n borderBottomWidth: 0,\n borderRightWidth: 1,\n borderRightStyle: 'solid',\n borderRightColor: colors.border,\n gap: 0,\n },\n tab: {\n display: 'inline-flex',\n alignItems: 'center',\n justifyContent: 'center',\n paddingTop: spacing.sm,\n paddingBottom: spacing.sm,\n paddingLeft: spacing.md,\n paddingRight: spacing.md,\n fontFamily: typography.fontFamily,\n fontSize: typography.fontSizeSm,\n fontWeight: typography.fontWeightMedium,\n color: {\n default: colors.textMuted,\n ':hover': colors.text,\n },\n backgroundColor: 'transparent',\n borderWidth: 0,\n borderBottomWidth: 2,\n borderBottomStyle: 'solid',\n borderBottomColor: 'transparent',\n cursor: 'pointer',\n transitionProperty: 'color, border-color',\n transitionDuration: '150ms',\n transitionTimingFunction: 'ease',\n outlineWidth: {\n default: 0,\n ':focus-visible': 2,\n },\n outlineStyle: {\n default: 'none',\n ':focus-visible': 'solid',\n },\n outlineColor: {\n default: 'transparent',\n ':focus-visible': colors.accent,\n },\n outlineOffset: {\n default: 0,\n ':focus-visible': -2,\n },\n },\n tabVertical: {\n justifyContent: 'flex-start',\n borderBottomWidth: 0,\n borderRightWidth: 2,\n borderRightStyle: 'solid',\n borderRightColor: 'transparent',\n },\n tabActiveHorizontal: {\n color: colors.text,\n borderBottomColor: colors.accent,\n },\n tabActiveVertical: {\n color: colors.text,\n borderRightColor: colors.accent,\n },\n tabDisabled: {\n opacity: 0.5,\n cursor: 'not-allowed',\n color: colors.textMuted,\n },\n panel: {\n paddingTop: spacing.md,\n },\n panelVertical: {\n paddingTop: 0,\n paddingLeft: spacing.md,\n },\n})\n","import {createContext, useContext} from 'react'\n\nexport type Orientation = 'horizontal' | 'vertical'\n\nexport interface TabsContextValue {\n activeValue: string | null\n onSelect: (value: string) => void\n orientation: Orientation\n registerTab: (value: string, disabled: boolean) => () => void\n tabsRef: React.RefObject<Map<string, boolean>>\n orderRef: React.RefObject<string[]>\n}\n\nexport const TabsContext = createContext<TabsContextValue | null>(null)\n\nexport function useTabs() {\n const ctx = useContext(TabsContext)\n if (!ctx) throw new Error('Tabs compound components must be used within Tabs.Root')\n return ctx\n}\n","import {useCallback, useRef} from 'react'\nimport {useControllableValue} from '../../hooks/useControllableValue'\nimport type {Orientation, TabsContextValue} from './TabsContext'\n\ninterface UseTabsRootOptions {\n value?: string\n defaultValue?: string\n onValueChange?: (value: string) => void\n orientation?: Orientation\n}\n\nexport function useTabsRoot({\n value: controlledValue,\n defaultValue,\n onValueChange,\n orientation = 'horizontal',\n}: UseTabsRootOptions): TabsContextValue {\n const [activeValue, onSelect] = useControllableValue<string | null>(\n controlledValue,\n defaultValue ?? null,\n onValueChange\n ? (v) => {\n if (v !== null) onValueChange(v)\n }\n : undefined,\n )\n const tabsRef = useRef(new Map<string, boolean>())\n const orderRef = useRef<string[]>([])\n\n const registerTab = useCallback((value: string, disabled: boolean) => {\n tabsRef.current.set(value, disabled)\n if (!orderRef.current.includes(value)) {\n orderRef.current.push(value)\n }\n return () => {\n tabsRef.current.delete(value)\n orderRef.current = orderRef.current.filter((v) => v !== value)\n }\n }, [])\n\n return {activeValue, onSelect, orientation, registerTab, tabsRef, orderRef}\n}\n","import {type ReactNode, useRef, useId, useEffect} from 'react'\nimport {html} from 'react-strict-dom'\nimport {styles} from './styles.css'\nimport {TabsContext, useTabs} from './TabsContext'\nimport {useTabsRoot} from './useTabsRoot'\n\n// --- Root ---\n\ninterface RootProps {\n children: ReactNode\n value?: string\n defaultValue?: string\n onValueChange?: (value: string) => void\n orientation?: 'horizontal' | 'vertical'\n}\n\nfunction Root({\n children,\n value,\n defaultValue,\n onValueChange,\n orientation = 'horizontal',\n}: RootProps) {\n const ctx = useTabsRoot({value, defaultValue, onValueChange, orientation})\n\n return (\n <TabsContext.Provider value={ctx}>\n <html.div style={[styles.root, orientation === 'vertical' && styles.rootVertical]}>\n {children}\n </html.div>\n </TabsContext.Provider>\n )\n}\n\n// --- List ---\n\ninterface ListProps {\n children: ReactNode\n}\n\nfunction List({children}: ListProps) {\n const {orientation, activeValue, onSelect, tabsRef, orderRef} = useTabs()\n const listRef = useRef<HTMLDivElement>(null)\n\n useEffect(() => {\n const el = listRef.current\n if (!el) return\n\n function handleKeyDown(this: HTMLElement, e: KeyboardEvent) {\n const order = orderRef.current\n const tabs = tabsRef.current\n if (order.length === 0) return\n const listEl = this\n\n const prevKey = orientation === 'horizontal' ? 'ArrowLeft' : 'ArrowUp'\n const nextKey = orientation === 'horizontal' ? 'ArrowRight' : 'ArrowDown'\n\n let targetValue: string | null = null\n\n switch (e.key) {\n case nextKey: {\n e.preventDefault()\n const currentIdx = activeValue ? order.indexOf(activeValue) : -1\n for (let i = 1; i <= order.length; i++) {\n const idx = (currentIdx + i) % order.length\n const val = order[idx]\n if (!tabs.get(val)) {\n targetValue = val\n break\n }\n }\n break\n }\n case prevKey: {\n e.preventDefault()\n const currentIdx = activeValue ? order.indexOf(activeValue) : 0\n for (let i = 1; i <= order.length; i++) {\n const idx = (currentIdx - i + order.length) % order.length\n const val = order[idx]\n if (!tabs.get(val)) {\n targetValue = val\n break\n }\n }\n break\n }\n case 'Home': {\n e.preventDefault()\n for (const val of order) {\n if (!tabs.get(val)) {\n targetValue = val\n break\n }\n }\n break\n }\n case 'End': {\n e.preventDefault()\n for (let i = order.length - 1; i >= 0; i--) {\n if (!tabs.get(order[i])) {\n targetValue = order[i]\n break\n }\n }\n break\n }\n }\n\n if (targetValue) {\n onSelect(targetValue)\n // Focus the newly activated tab button\n const tabEl = listEl.querySelector(\n `[data-tab-value=\"${targetValue}\"]`,\n ) as HTMLElement | null\n tabEl?.focus()\n }\n }\n\n el.addEventListener('keydown', handleKeyDown)\n return () => el.removeEventListener('keydown', handleKeyDown)\n }, [orientation, activeValue, onSelect, tabsRef, orderRef])\n\n return (\n <html.div\n ref={listRef}\n role=\"tablist\"\n aria-orientation={orientation}\n style={[styles.list, orientation === 'vertical' && styles.listVertical]}\n >\n {children}\n </html.div>\n )\n}\n\n// --- Tab ---\n\ninterface TabProps {\n value: string\n disabled?: boolean\n children: ReactNode\n}\n\nfunction Tab({value, disabled = false, children}: TabProps) {\n const {activeValue, onSelect, orientation, registerTab} = useTabs()\n const isActive = activeValue === value\n const tabId = useId()\n const panelId = `${tabId}-panel`\n\n useEffect(() => {\n return registerTab(value, disabled)\n }, [value, disabled, registerTab])\n\n const handleClick = () => {\n if (!disabled) {\n onSelect(value)\n }\n }\n\n return (\n <html.button\n type=\"button\"\n role=\"tab\"\n id={tabId}\n aria-selected={isActive}\n aria-controls={panelId}\n aria-disabled={disabled || undefined}\n data-tab-value={value}\n tabIndex={isActive ? 0 : -1}\n onClick={handleClick}\n style={[\n styles.tab,\n orientation === 'vertical' && styles.tabVertical,\n isActive &&\n (orientation === 'vertical' ? styles.tabActiveVertical : styles.tabActiveHorizontal),\n disabled && styles.tabDisabled,\n ]}\n >\n {children}\n </html.button>\n )\n}\n\n// --- Panel ---\n\ninterface PanelProps {\n value: string\n children: ReactNode\n}\n\nfunction Panel({value, children}: PanelProps) {\n const {activeValue, orientation} = useTabs()\n\n if (activeValue !== value) return null\n\n return (\n <html.div\n role=\"tabpanel\"\n style={[styles.panel, orientation === 'vertical' && styles.panelVertical]}\n >\n {children}\n </html.div>\n )\n}\n\nexport const Tabs = {\n Root,\n List,\n Tab,\n Panel,\n}\n","import {css} from 'react-strict-dom'\nimport {colors} from '@duro-app/tokens/tokens/colors.css'\nimport {spacing, radii} from '@duro-app/tokens/tokens/spacing.css'\nimport {typography} from '@duro-app/tokens/tokens/typography.css'\n\nexport const styles = css.create({\n base: {\n boxSizing: 'border-box',\n width: '100%',\n paddingTop: spacing.sm,\n paddingBottom: spacing.sm,\n paddingLeft: spacing.md,\n paddingRight: spacing.md,\n fontFamily: typography.fontFamily,\n fontSize: typography.fontSizeSm,\n lineHeight: typography.lineHeight,\n color: colors.text,\n backgroundColor: colors.bg,\n borderWidth: 1,\n borderStyle: 'solid',\n borderRadius: radii.sm,\n resize: 'vertical' as const,\n transitionProperty: 'border-color',\n transitionDuration: '150ms',\n transitionTimingFunction: 'ease',\n outlineWidth: {\n default: 0,\n ':focus-visible': 2,\n },\n outlineStyle: {\n default: 'none',\n ':focus-visible': 'solid',\n },\n outlineColor: {\n default: 'transparent',\n ':focus-visible': colors.accent,\n },\n outlineOffset: {\n default: 0,\n ':focus-visible': 1,\n },\n },\n default: {\n borderColor: {\n default: colors.border,\n ':hover': colors.textMuted,\n ':focus': colors.accent,\n },\n },\n error: {\n borderColor: {\n default: colors.error,\n ':focus': colors.error,\n },\n },\n})\n","import {html} from 'react-strict-dom'\nimport {useFieldContext} from '../Field/FieldContext'\nimport {styles} from './styles.css'\n\nexport type TextareaVariant = 'default' | 'error'\n\ninterface TextareaProps {\n variant?: TextareaVariant\n name?: string\n placeholder?: string\n required?: boolean\n rows?: number\n value?: string\n defaultValue?: string\n disabled?: boolean\n onChange?: (e: React.ChangeEvent<HTMLTextAreaElement>) => void\n}\n\nexport function Textarea({\n variant = 'default',\n name,\n placeholder,\n required,\n rows = 3,\n value,\n defaultValue,\n disabled,\n onChange,\n}: TextareaProps) {\n const ctx = useFieldContext()\n\n return (\n <html.textarea\n id={ctx?.controlId}\n name={name}\n placeholder={placeholder}\n required={required}\n rows={rows}\n value={value}\n defaultValue={defaultValue}\n disabled={disabled}\n aria-describedby={\n ctx ? `${ctx.descriptionId} ${ctx.invalid ? ctx.errorId : ''}`.trim() : undefined\n }\n aria-invalid={ctx?.invalid || variant === 'error' || undefined}\n onChange={onChange}\n style={[styles.base, styles[variant]]}\n />\n )\n}\n","import {css} from 'react-strict-dom'\nimport {colors} from '../tokens/colors.css'\nimport {shadows} from '../tokens/shadows.css'\n\nexport const lightTheme = css.createTheme(colors, {\n bg: '#ffffff',\n bgCard: '#f5f5f5',\n bgCardHover: '#ebebeb',\n text: '#1a1a1a',\n textMuted: '#4a4a4a',\n accent: '#1e40af',\n accentHover: '#1a3799',\n accentContrast: '#ffffff',\n border: '#d4d4d4',\n error: '#991b1b',\n errorHover: '#7f1d1d',\n errorBg: 'rgba(153, 27, 27, 0.08)',\n errorBorder: 'rgba(153, 27, 27, 0.3)',\n errorText: '#7f1d1d',\n errorContrast: '#ffffff',\n success: '#166534',\n successBg: 'rgba(22, 101, 52, 0.08)',\n successBorder: 'rgba(22, 101, 52, 0.3)',\n successText: '#14532d',\n warning: '#92400e',\n warningBg: 'rgba(146, 64, 14, 0.08)',\n warningBorder: 'rgba(146, 64, 14, 0.3)',\n warningText: '#78350f',\n info: '#1e40af',\n infoBg: 'rgba(30, 64, 175, 0.08)',\n infoBorder: 'rgba(30, 64, 175, 0.3)',\n infoText: '#1e40af',\n})\n\nexport const lightShadows = css.createTheme(shadows, {\n sm: '0 2px 4px rgba(0, 0, 0, 0.08)',\n md: '0 4px 12px rgba(0, 0, 0, 0.12)',\n lg: '0 8px 24px rgba(0, 0, 0, 0.16)',\n})\n","import {css} from 'react-strict-dom'\nimport {colors} from '../tokens/colors.css'\nimport {shadows} from '../tokens/shadows.css'\n\nexport const highContrastTheme = css.createTheme(colors, {\n bg: '#000000',\n bgCard: '#111111',\n bgCardHover: '#1a1a1a',\n text: '#ffffff',\n textMuted: '#b0b0b0',\n accent: '#60a5fa',\n accentHover: '#93c5fd',\n accentContrast: '#000000',\n border: '#555555',\n error: '#f87171',\n errorHover: '#fca5a5',\n errorBg: 'rgba(248, 113, 113, 0.15)',\n errorBorder: 'rgba(248, 113, 113, 0.5)',\n errorText: '#fca5a5',\n errorContrast: '#000000',\n success: '#4ade80',\n successBg: 'rgba(74, 222, 128, 0.15)',\n successBorder: 'rgba(74, 222, 128, 0.5)',\n successText: '#86efac',\n warning: '#fcd34d',\n warningBg: 'rgba(252, 211, 77, 0.15)',\n warningBorder: 'rgba(252, 211, 77, 0.5)',\n warningText: '#fef08a',\n info: '#60a5fa',\n infoBg: 'rgba(96, 165, 250, 0.15)',\n infoBorder: 'rgba(96, 165, 250, 0.5)',\n infoText: '#bfdbfe',\n})\n\nexport const highContrastShadows = css.createTheme(shadows, {\n sm: '0 2px 4px rgba(0, 0, 0, 0.6)',\n md: '0 4px 12px rgba(0, 0, 0, 0.7)',\n lg: '0 8px 24px rgba(0, 0, 0, 0.8)',\n})\n","import type {ReactNode} from 'react'\nimport {css, html} from 'react-strict-dom'\nimport {lightTheme, lightShadows} from '@duro-app/tokens/themes/light.css'\nimport {highContrastTheme, highContrastShadows} from '@duro-app/tokens/themes/high-contrast.css'\n\nexport type ThemeName = 'dark' | 'light' | 'high-contrast'\n\ninterface ThemeProviderProps {\n theme?: ThemeName\n children: ReactNode\n}\n\nconst themeMap: Partial<Record<ThemeName, readonly [typeof lightTheme, typeof lightShadows]>> = {\n light: [lightTheme, lightShadows],\n 'high-contrast': [highContrastTheme, highContrastShadows],\n}\n\nconst styles = css.create({\n root: {\n display: 'contents',\n },\n})\n\n// react-strict-dom's style prop rejects Theme<VarGroup<{named keys}>> because the\n// concrete VarGroup lacks the generic index signature. This is a known typing gap.\ntype DivStyle = Parameters<typeof html.div>[0]['style']\n\nexport function ThemeProvider({theme = 'dark', children}: ThemeProviderProps) {\n const overrides = themeMap[theme]\n const themeStyles = [overrides?.[0], overrides?.[1], styles.root] as DivStyle\n\n return <html.div style={themeStyles}>{children}</html.div>\n}\n","import {css} from 'react-strict-dom'\nimport {colors} from '@duro-app/tokens/tokens/colors.css'\nimport {typography} from '@duro-app/tokens/tokens/typography.css'\n\nexport const styles = css.create({\n // Colors\n default: {\n color: colors.text,\n },\n muted: {\n color: colors.textMuted,\n },\n accent: {\n color: colors.accent,\n },\n error: {\n color: colors.errorText,\n },\n success: {\n color: colors.successText,\n },\n warning: {\n color: colors.warningText,\n },\n\n // Weight overrides\n weightNormal: {\n fontWeight: typography.fontWeightNormal,\n },\n weightMedium: {\n fontWeight: typography.fontWeightMedium,\n },\n weightSemibold: {\n fontWeight: typography.fontWeightSemibold,\n },\n weightBold: {\n fontWeight: typography.fontWeightBold,\n },\n\n // Alignment\n alignStart: {\n textAlign: 'start',\n },\n alignCenter: {\n textAlign: 'center',\n },\n alignEnd: {\n textAlign: 'end',\n },\n\n // Truncate\n truncate: {\n overflow: 'hidden',\n textOverflow: 'ellipsis',\n whiteSpace: 'nowrap',\n },\n})\n","import type {ReactNode} from 'react'\nimport {html} from 'react-strict-dom'\nimport {typePresets} from '@duro-app/tokens/tokens/type-presets.css'\nimport {styles} from './styles.css'\n\nexport type TextVariant = 'bodySm' | 'bodyMd' | 'bodyLg' | 'caption' | 'label' | 'code' | 'overline'\nexport type TextColor = 'default' | 'muted' | 'accent' | 'error' | 'success' | 'warning'\n\ninterface TextProps {\n variant?: TextVariant\n color?: TextColor\n weight?: 'normal' | 'medium' | 'semibold' | 'bold'\n align?: 'start' | 'center' | 'end'\n truncate?: boolean\n as?: 'span' | 'p' | 'div'\n children: ReactNode\n}\n\nconst weightMap = {\n normal: styles.weightNormal,\n medium: styles.weightMedium,\n semibold: styles.weightSemibold,\n bold: styles.weightBold,\n} as const\n\nconst alignMap = {\n start: styles.alignStart,\n center: styles.alignCenter,\n end: styles.alignEnd,\n} as const\n\nexport function Text({\n variant = 'bodyMd',\n color = 'default',\n weight,\n align,\n truncate,\n as = 'span',\n children,\n}: TextProps) {\n const style = [\n typePresets[variant],\n styles[color],\n weight && weightMap[weight],\n align && alignMap[align],\n truncate && styles.truncate,\n ]\n\n if (as === 'p') return <html.p style={style}>{children}</html.p>\n if (as === 'div') return <html.div style={style}>{children}</html.div>\n return <html.span style={style}>{children}</html.span>\n}\n","import {createContext, useContext} from 'react'\nimport type {ToggleSize} from '../Toggle/Toggle'\n\nexport type Orientation = 'horizontal' | 'vertical'\n\nexport interface ToggleGroupContextValue {\n value: string[]\n toggle: (itemValue: string) => void\n disabled: boolean\n orientation: Orientation\n size: ToggleSize\n}\n\nexport const ToggleGroupContext = createContext<ToggleGroupContextValue | null>(null)\n\nexport function useToggleGroup() {\n return useContext(ToggleGroupContext)\n}\n","import {css} from 'react-strict-dom'\nimport {colors} from '@duro-app/tokens/tokens/colors.css'\nimport {spacing, radii} from '@duro-app/tokens/tokens/spacing.css'\nimport {typography} from '@duro-app/tokens/tokens/typography.css'\n\nexport const styles = css.create({\n base: {\n display: 'inline-flex',\n alignItems: 'center',\n justifyContent: 'center',\n borderWidth: 1,\n borderStyle: 'solid',\n cursor: 'pointer',\n fontFamily: typography.fontFamily,\n fontWeight: typography.fontWeightMedium,\n transitionProperty: 'background-color, border-color, color, opacity',\n transitionDuration: '150ms',\n transitionTimingFunction: 'ease',\n outlineWidth: {default: 0, ':focus-visible': 2},\n outlineStyle: 'solid',\n outlineColor: colors.accent,\n outlineOffset: 2,\n },\n sizeDefault: {\n padding: `${spacing.sm} ${spacing.md}`,\n fontSize: typography.fontSizeSm,\n borderRadius: radii.sm,\n gap: spacing.sm,\n },\n sizeSmall: {\n padding: `${spacing.xs} ${spacing.sm}`,\n fontSize: typography.fontSizeXs,\n borderRadius: radii.sm,\n gap: spacing.xs,\n },\n unpressed: {\n backgroundColor: {\n default: 'transparent',\n ':hover': colors.bgCardHover,\n },\n borderColor: {\n default: colors.border,\n ':hover': colors.textMuted,\n },\n color: colors.textMuted,\n },\n pressed: {\n backgroundColor: {\n default: colors.accent,\n ':hover': colors.accentHover,\n },\n borderColor: colors.accent,\n color: colors.accentContrast,\n },\n grouped: {\n borderWidth: 0,\n borderRadius: 0,\n borderRightWidth: 1,\n borderRightStyle: 'solid',\n borderRightColor: colors.border,\n },\n disabled: {\n opacity: 0.5,\n cursor: 'not-allowed',\n },\n})\n","import {type ReactNode, useCallback} from 'react'\nimport {html} from 'react-strict-dom'\nimport {useControllableValue} from '../../hooks/useControllableValue'\nimport {useToggleGroup} from '../ToggleGroup/ToggleGroupContext'\nimport {styles} from './styles.css'\n\nexport type ToggleSize = 'default' | 'small'\n\ninterface ToggleProps {\n /** Controlled pressed state (standalone usage). */\n pressed?: boolean\n /** Initial pressed state (uncontrolled, standalone usage). */\n defaultPressed?: boolean\n /** Callback fired when the pressed state changes (standalone usage). */\n onPressedChange?: (pressed: boolean) => void\n /** Unique value when used inside a ToggleGroup. */\n value?: string\n /** Prevents user interaction. */\n disabled?: boolean\n /** Size variant (overridden by ToggleGroup when grouped). */\n size?: ToggleSize\n 'aria-label'?: string\n children: ReactNode\n}\n\nconst sizeMap = {\n default: styles.sizeDefault,\n small: styles.sizeSmall,\n} as const\n\nexport function Toggle({\n pressed: controlledPressed,\n defaultPressed = false,\n onPressedChange,\n value,\n disabled: disabledProp = false,\n size: sizeProp = 'default',\n 'aria-label': ariaLabel,\n children,\n}: ToggleProps) {\n const group = useToggleGroup()\n\n // When inside a ToggleGroup, derive pressed state from group context\n const groupPressed = group && value !== undefined ? group.value.includes(value) : undefined\n const isGrouped = group !== null\n const disabled = disabledProp || (group?.disabled ?? false)\n const size = group?.size ?? sizeProp\n\n const [standalonePressed, setStandalonePressed] = useControllableValue(\n controlledPressed,\n defaultPressed,\n onPressedChange,\n )\n\n const pressed = groupPressed ?? standalonePressed\n\n const handleClick = useCallback(() => {\n if (disabled) return\n if (isGrouped && value !== undefined) {\n group.toggle(value)\n } else {\n setStandalonePressed(!pressed)\n }\n }, [disabled, isGrouped, value, group, pressed, setStandalonePressed])\n\n return (\n <html.button\n type=\"button\"\n aria-pressed={pressed}\n aria-label={ariaLabel}\n disabled={disabled}\n onClick={handleClick}\n data-pressed={pressed ? '' : undefined}\n style={[\n styles.base,\n sizeMap[size],\n pressed ? styles.pressed : styles.unpressed,\n isGrouped && styles.grouped,\n disabled && styles.disabled,\n ]}\n >\n {children}\n </html.button>\n )\n}\n","import {css} from 'react-strict-dom'\nimport {colors} from '@duro-app/tokens/tokens/colors.css'\nimport {radii} from '@duro-app/tokens/tokens/spacing.css'\n\nexport const styles = css.create({\n root: {\n display: 'inline-flex',\n borderRadius: radii.sm,\n borderWidth: 1,\n borderStyle: 'solid',\n borderColor: colors.border,\n overflow: 'hidden',\n },\n vertical: {\n flexDirection: 'column',\n },\n})\n","import {type ReactNode, useCallback} from 'react'\nimport {html} from 'react-strict-dom'\nimport {useControllableValue} from '../../hooks/useControllableValue'\nimport type {ToggleSize} from '../Toggle/Toggle'\nimport {ToggleGroupContext, type Orientation} from './ToggleGroupContext'\nimport {styles} from './styles.css'\n\ninterface ToggleGroupProps {\n /** Controlled value — array of pressed item values. */\n value?: string[]\n /** Initial value (uncontrolled). */\n defaultValue?: string[]\n /** Callback fired when the set of pressed values changes. */\n onValueChange?: (value: string[]) => void\n /** When false, at most one item can be pressed at a time. */\n multiple?: boolean\n /** Prevents interaction with all items. */\n disabled?: boolean\n /** Layout direction. */\n orientation?: Orientation\n /** Size applied to all child toggles. */\n size?: ToggleSize\n children: ReactNode\n}\n\nexport function ToggleGroup({\n value: controlledValue,\n defaultValue = [],\n onValueChange,\n multiple = false,\n disabled = false,\n orientation = 'horizontal',\n size = 'default',\n children,\n}: ToggleGroupProps) {\n const [value, setValue] = useControllableValue(controlledValue, defaultValue, onValueChange)\n\n const toggle = useCallback(\n (itemValue: string) => {\n const nextPressed = !value.includes(itemValue)\n let next: string[]\n if (multiple) {\n next = nextPressed ? [...value, itemValue] : value.filter((v) => v !== itemValue)\n } else {\n next = nextPressed ? [itemValue] : []\n }\n setValue(next)\n },\n [value, multiple, setValue],\n )\n\n return (\n <ToggleGroupContext.Provider value={{value, toggle, disabled, orientation, size}}>\n <html.div\n role=\"group\"\n aria-orientation={orientation}\n style={[styles.root, orientation === 'vertical' && styles.vertical]}\n >\n {children}\n </html.div>\n </ToggleGroupContext.Provider>\n )\n}\n","import {css} from 'react-strict-dom'\nimport {colors} from '@duro-app/tokens/tokens/colors.css'\nimport {spacing, radii} from '@duro-app/tokens/tokens/spacing.css'\nimport {typography} from '@duro-app/tokens/tokens/typography.css'\nimport {shadows} from '@duro-app/tokens/tokens/shadows.css'\n\nexport const styles = css.create({\n root: {\n position: 'relative',\n display: 'inline-flex',\n },\n popup: {\n position: 'absolute',\n zIndex: 50,\n paddingTop: spacing.xs,\n paddingBottom: spacing.xs,\n paddingLeft: spacing.sm,\n paddingRight: spacing.sm,\n backgroundColor: colors.bgCard,\n color: colors.text,\n fontFamily: typography.fontFamily,\n fontSize: typography.fontSizeXs,\n lineHeight: typography.lineHeight,\n borderRadius: radii.sm,\n borderWidth: 1,\n borderStyle: 'solid',\n borderColor: colors.border,\n boxShadow: shadows.md,\n whiteSpace: 'nowrap',\n pointerEvents: 'none',\n },\n top: {\n bottom: '100%',\n left: '50%',\n transform: 'translateX(-50%)',\n marginBottom: spacing.xs,\n },\n bottom: {\n top: '100%',\n left: '50%',\n transform: 'translateX(-50%)',\n marginTop: spacing.xs,\n },\n left: {\n right: '100%',\n top: '50%',\n transform: 'translateY(-50%)',\n marginRight: spacing.xs,\n },\n right: {\n left: '100%',\n top: '50%',\n transform: 'translateY(-50%)',\n marginLeft: spacing.xs,\n },\n})\n","import {\n type ReactNode,\n createContext,\n useContext,\n useState,\n useRef,\n useCallback,\n useId,\n} from 'react'\nimport {html} from 'react-strict-dom'\nimport {styles} from './styles.css'\n\n// --- Context ---\n\ntype Placement = 'top' | 'bottom' | 'left' | 'right'\n\ninterface TooltipContextValue {\n open: boolean\n show: () => void\n hide: () => void\n tooltipId: string\n placement: Placement\n}\n\nconst TooltipContext = createContext<TooltipContextValue | null>(null)\n\nfunction useTooltip() {\n const ctx = useContext(TooltipContext)\n if (!ctx) throw new Error('Tooltip compound components must be used within Tooltip.Root')\n return ctx\n}\n\n// --- Root ---\n\ninterface RootProps {\n children: ReactNode\n content: ReactNode\n placement?: Placement\n delay?: number\n}\n\nfunction Root({children, content, placement = 'top', delay = 300}: RootProps) {\n const [open, setOpen] = useState(false)\n const tooltipId = useId()\n const timerRef = useRef<ReturnType<typeof setTimeout> | null>(null)\n\n const show = useCallback(() => {\n if (timerRef.current) clearTimeout(timerRef.current)\n timerRef.current = setTimeout(() => setOpen(true), delay)\n }, [delay])\n\n const hide = useCallback(() => {\n if (timerRef.current) clearTimeout(timerRef.current)\n timerRef.current = null\n setOpen(false)\n }, [])\n\n return (\n <TooltipContext.Provider value={{open, show, hide, tooltipId, placement}}>\n <html.div style={styles.root}>\n {children}\n {open && (\n <html.div id={tooltipId} role=\"tooltip\" style={[styles.popup, styles[placement]]}>\n {content}\n </html.div>\n )}\n </html.div>\n </TooltipContext.Provider>\n )\n}\n\n// --- Trigger ---\n\ninterface TriggerProps {\n children: ReactNode\n}\n\nfunction Trigger({children}: TriggerProps) {\n const {open, show, hide, tooltipId} = useTooltip()\n\n return (\n <html.div\n onPointerEnter={show}\n onPointerLeave={hide}\n onFocus={show}\n onBlur={hide}\n aria-describedby={open ? tooltipId : undefined}\n >\n {children}\n </html.div>\n )\n}\n\nexport const Tooltip = {\n Root,\n Trigger,\n}\n","import {css} from 'react-strict-dom'\nimport {colors} from '@duro-app/tokens/tokens/colors.css'\nimport {spacing, radii} from '@duro-app/tokens/tokens/spacing.css'\nimport {typography} from '@duro-app/tokens/tokens/typography.css'\n\nexport const styles = css.create({\n root: {\n display: 'inline-flex',\n alignItems: 'center',\n gap: spacing.sm,\n cursor: 'pointer',\n fontSize: typography.fontSizeSm,\n color: colors.text,\n lineHeight: typography.lineHeight,\n },\n rootDisabled: {\n opacity: 0.5,\n cursor: 'not-allowed',\n },\n track: {\n position: 'relative',\n width: 36,\n height: 20,\n borderRadius: radii.full,\n borderWidth: 0,\n padding: 0,\n cursor: 'inherit',\n transitionProperty: 'background-color',\n transitionDuration: '150ms',\n transitionTimingFunction: 'ease',\n outlineWidth: {default: 0, ':focus-visible': 2},\n outlineStyle: 'solid',\n outlineColor: colors.accent,\n outlineOffset: 2,\n flexShrink: 0,\n },\n trackUnchecked: {\n backgroundColor: {\n default: colors.border,\n ':hover': colors.textMuted,\n },\n },\n trackChecked: {\n backgroundColor: {\n default: colors.accent,\n ':hover': colors.accentHover,\n },\n },\n thumb: {\n position: 'absolute',\n top: 2,\n left: 2,\n width: 16,\n height: 16,\n borderRadius: radii.full,\n backgroundColor: '#fff',\n transitionProperty: 'transform',\n transitionDuration: '150ms',\n transitionTimingFunction: 'ease',\n },\n thumbChecked: {\n transform: 'translateX(16px)',\n },\n input: {\n position: 'absolute',\n width: 1,\n height: 1,\n opacity: 0,\n overflow: 'hidden',\n },\n})\n","import {type ReactNode, useCallback, useRef} from 'react'\nimport {html} from 'react-strict-dom'\nimport {useControllableValue} from '../../hooks/useControllableValue'\nimport {styles} from './styles.css'\n\ninterface SwitchProps {\n /** Controlled checked state. */\n checked?: boolean\n /** Initial checked state (uncontrolled). */\n defaultChecked?: boolean\n /** Callback fired when the checked state changes. */\n onCheckedChange?: (checked: boolean) => void\n /** Prevents user interaction. */\n disabled?: boolean\n /** Form field name for the hidden input. */\n name?: string\n /** Value submitted when checked. */\n value?: string\n /** Label content rendered beside the switch. */\n children?: ReactNode\n}\n\nexport function Switch({\n checked: controlledChecked,\n defaultChecked = false,\n onCheckedChange,\n disabled = false,\n name,\n value,\n children,\n}: SwitchProps) {\n const [checked, setChecked] = useControllableValue(\n controlledChecked,\n defaultChecked,\n onCheckedChange,\n )\n const inputRef = useRef<HTMLInputElement>(null)\n\n const handleClick = useCallback(() => {\n if (disabled) return\n setChecked(!checked)\n // Keep hidden input in sync for form submission\n if (inputRef.current) {\n inputRef.current.checked = !checked\n }\n }, [disabled, checked, setChecked])\n\n return (\n <html.label style={[styles.root, disabled && styles.rootDisabled]}>\n <html.input\n ref={inputRef}\n type=\"checkbox\"\n role=\"switch\"\n name={name}\n value={value}\n checked={controlledChecked !== undefined ? controlledChecked : undefined}\n defaultChecked={controlledChecked === undefined ? defaultChecked : undefined}\n disabled={disabled}\n aria-checked={checked}\n onChange={(e: React.ChangeEvent<HTMLInputElement>) => {\n onCheckedChange?.(e.target.checked)\n }}\n style={styles.input}\n />\n <html.button\n type=\"button\"\n tabIndex={-1}\n aria-hidden\n disabled={disabled}\n onClick={handleClick}\n style={[styles.track, checked ? styles.trackChecked : styles.trackUnchecked]}\n >\n <html.span style={[styles.thumb, checked && styles.thumbChecked]} />\n </html.button>\n {children && <html.span>{children}</html.span>}\n </html.label>\n )\n}\n","import {css} from 'react-strict-dom'\nimport {spacing} from '@duro-app/tokens/tokens/spacing.css'\n\nexport const styles = css.create({\n base: {\n display: 'flex',\n flexDirection: 'column',\n },\n alignStart: {alignItems: 'flex-start'},\n alignCenter: {alignItems: 'center'},\n alignEnd: {alignItems: 'flex-end'},\n alignStretch: {alignItems: 'stretch'},\n gapXs: {gap: spacing.xs},\n gapSm: {gap: spacing.sm},\n gapMs: {gap: spacing.ms},\n gapMd: {gap: spacing.md},\n gapLg: {gap: spacing.lg},\n gapXl: {gap: spacing.xl},\n gapXxl: {gap: spacing.xxl},\n gapXxxl: {gap: spacing.xxxl},\n})\n","import type {ReactNode} from 'react'\nimport {html} from 'react-strict-dom'\nimport {styles} from './styles.css'\n\nexport type SpacingKey = 'xs' | 'sm' | 'ms' | 'md' | 'lg' | 'xl' | 'xxl' | 'xxxl'\n\ninterface StackProps {\n gap?: SpacingKey\n align?: 'start' | 'center' | 'end' | 'stretch'\n children: ReactNode\n}\n\nconst gapMap = {\n xs: styles.gapXs,\n sm: styles.gapSm,\n ms: styles.gapMs,\n md: styles.gapMd,\n lg: styles.gapLg,\n xl: styles.gapXl,\n xxl: styles.gapXxl,\n xxxl: styles.gapXxxl,\n} as const\n\nconst alignMap = {\n start: styles.alignStart,\n center: styles.alignCenter,\n end: styles.alignEnd,\n stretch: styles.alignStretch,\n} as const\n\nexport function Stack({gap = 'md', align = 'stretch', children}: StackProps) {\n return <html.div style={[styles.base, gapMap[gap], alignMap[align]]}>{children}</html.div>\n}\n","import {css} from 'react-strict-dom'\nimport {spacing} from '@duro-app/tokens/tokens/spacing.css'\n\nexport const styles = css.create({\n base: {\n display: 'flex',\n flexDirection: 'row',\n flexWrap: 'nowrap',\n },\n alignStart: {alignItems: 'flex-start'},\n alignCenter: {alignItems: 'center'},\n alignEnd: {alignItems: 'flex-end'},\n alignBaseline: {alignItems: 'baseline'},\n alignStretch: {alignItems: 'stretch'},\n justifyStart: {justifyContent: 'flex-start'},\n justifyCenter: {justifyContent: 'center'},\n justifyEnd: {justifyContent: 'flex-end'},\n justifyBetween: {justifyContent: 'space-between'},\n gapXs: {gap: spacing.xs},\n gapSm: {gap: spacing.sm},\n gapMs: {gap: spacing.ms},\n gapMd: {gap: spacing.md},\n gapLg: {gap: spacing.lg},\n gapXl: {gap: spacing.xl},\n gapXxl: {gap: spacing.xxl},\n gapXxxl: {gap: spacing.xxxl},\n})\n","import type {ReactNode} from 'react'\nimport {html} from 'react-strict-dom'\nimport {styles} from './styles.css'\nimport type {SpacingKey} from '../Stack/Stack'\n\ninterface InlineProps {\n gap?: SpacingKey\n align?: 'start' | 'center' | 'end' | 'baseline' | 'stretch'\n justify?: 'start' | 'center' | 'end' | 'between'\n children: ReactNode\n}\n\nconst gapMap = {\n xs: styles.gapXs,\n sm: styles.gapSm,\n ms: styles.gapMs,\n md: styles.gapMd,\n lg: styles.gapLg,\n xl: styles.gapXl,\n xxl: styles.gapXxl,\n xxxl: styles.gapXxxl,\n} as const\n\nconst alignMap = {\n start: styles.alignStart,\n center: styles.alignCenter,\n end: styles.alignEnd,\n baseline: styles.alignBaseline,\n stretch: styles.alignStretch,\n} as const\n\nconst justifyMap = {\n start: styles.justifyStart,\n center: styles.justifyCenter,\n end: styles.justifyEnd,\n between: styles.justifyBetween,\n} as const\n\nexport function Inline({gap = 'sm', align = 'center', justify = 'start', children}: InlineProps) {\n return (\n <html.div style={[styles.base, gapMap[gap], alignMap[align], justifyMap[justify]]}>\n {children}\n </html.div>\n )\n}\n","import {css} from 'react-strict-dom'\nimport {spacing} from '@duro-app/tokens/tokens/spacing.css'\n\nexport const styles = css.create({\n base: {\n display: 'flex',\n flexDirection: 'row',\n flexWrap: 'wrap',\n },\n alignStart: {alignItems: 'flex-start'},\n alignCenter: {alignItems: 'center'},\n alignEnd: {alignItems: 'flex-end'},\n justifyStart: {justifyContent: 'flex-start'},\n justifyCenter: {justifyContent: 'center'},\n justifyEnd: {justifyContent: 'flex-end'},\n justifyBetween: {justifyContent: 'space-between'},\n gapXs: {gap: spacing.xs},\n gapSm: {gap: spacing.sm},\n gapMs: {gap: spacing.ms},\n gapMd: {gap: spacing.md},\n gapLg: {gap: spacing.lg},\n gapXl: {gap: spacing.xl},\n gapXxl: {gap: spacing.xxl},\n gapXxxl: {gap: spacing.xxxl},\n})\n","import type {ReactNode} from 'react'\nimport {html} from 'react-strict-dom'\nimport {styles} from './styles.css'\nimport type {SpacingKey} from '../Stack/Stack'\n\ninterface ClusterProps {\n gap?: SpacingKey\n align?: 'start' | 'center' | 'end'\n justify?: 'start' | 'center' | 'end' | 'between'\n children: ReactNode\n}\n\nconst gapMap = {\n xs: styles.gapXs,\n sm: styles.gapSm,\n ms: styles.gapMs,\n md: styles.gapMd,\n lg: styles.gapLg,\n xl: styles.gapXl,\n xxl: styles.gapXxl,\n xxxl: styles.gapXxxl,\n} as const\n\nconst alignMap = {\n start: styles.alignStart,\n center: styles.alignCenter,\n end: styles.alignEnd,\n} as const\n\nconst justifyMap = {\n start: styles.justifyStart,\n center: styles.justifyCenter,\n end: styles.justifyEnd,\n between: styles.justifyBetween,\n} as const\n\nexport function Cluster({gap = 'sm', align = 'start', justify = 'start', children}: ClusterProps) {\n return (\n <html.div style={[styles.base, gapMap[gap], alignMap[align], justifyMap[justify]]}>\n {children}\n </html.div>\n )\n}\n","import {css} from 'react-strict-dom'\nimport {spacing} from '@duro-app/tokens/tokens/spacing.css'\n\nexport const styles = css.create({\n base: {\n display: 'grid',\n },\n col1: {gridTemplateColumns: '1fr'},\n col2: {gridTemplateColumns: 'repeat(2, 1fr)'},\n col3: {gridTemplateColumns: 'repeat(3, 1fr)'},\n col4: {gridTemplateColumns: 'repeat(4, 1fr)'},\n col5: {gridTemplateColumns: 'repeat(5, 1fr)'},\n col6: {gridTemplateColumns: 'repeat(6, 1fr)'},\n autoFit: (minWidth: string) => ({\n gridTemplateColumns: `repeat(auto-fill, minmax(${minWidth}, 1fr))`,\n }),\n gapXs: {gap: spacing.xs},\n gapSm: {gap: spacing.sm},\n gapMs: {gap: spacing.ms},\n gapMd: {gap: spacing.md},\n gapLg: {gap: spacing.lg},\n gapXl: {gap: spacing.xl},\n gapXxl: {gap: spacing.xxl},\n gapXxxl: {gap: spacing.xxxl},\n})\n","import type {ReactNode} from 'react'\nimport {html} from 'react-strict-dom'\nimport {styles} from './styles.css'\nimport type {SpacingKey} from '../Stack/Stack'\n\ninterface GridProps {\n gap?: SpacingKey\n columns?: 1 | 2 | 3 | 4 | 5 | 6\n minColumnWidth?: string\n children: ReactNode\n}\n\nconst gapMap = {\n xs: styles.gapXs,\n sm: styles.gapSm,\n ms: styles.gapMs,\n md: styles.gapMd,\n lg: styles.gapLg,\n xl: styles.gapXl,\n xxl: styles.gapXxl,\n xxxl: styles.gapXxxl,\n} as const\n\nconst columnsMap = {\n 1: styles.col1,\n 2: styles.col2,\n 3: styles.col3,\n 4: styles.col4,\n 5: styles.col5,\n 6: styles.col6,\n} as const\n\nexport function Grid({gap = 'md', columns, minColumnWidth, children}: GridProps) {\n const columnStyle = minColumnWidth\n ? styles.autoFit(minColumnWidth)\n : columns\n ? columnsMap[columns]\n : undefined\n\n return <html.div style={[styles.base, gapMap[gap], columnStyle]}>{children}</html.div>\n}\n","import {css} from 'react-strict-dom'\nimport {layoutSpacing} from '@duro-app/tokens/tokens/layout-spacing.css'\nimport {spacing} from '@duro-app/tokens/tokens/spacing.css'\n\nexport const styles = css.create({\n root: {\n width: '100%',\n },\n container: {\n width: '100%',\n marginLeft: 'auto',\n marginRight: 'auto',\n boxSizing: 'border-box',\n },\n // Max-width presets\n maxSm: {maxWidth: 600},\n maxMd: {maxWidth: 800},\n maxLg: {maxWidth: 1200},\n // Horizontal padding\n padSm: {paddingLeft: layoutSpacing.containerSm, paddingRight: layoutSpacing.containerSm},\n padMd: {paddingLeft: layoutSpacing.containerMd, paddingRight: layoutSpacing.containerMd},\n padLg: {paddingLeft: layoutSpacing.containerLg, paddingRight: layoutSpacing.containerLg},\n // Vertical spacing\n headerPadding: {paddingTop: spacing.lg},\n mainPadding: {paddingTop: spacing.xl, paddingBottom: spacing.xl},\n})\n","import type {ReactNode} from 'react'\nimport {html} from 'react-strict-dom'\nimport {styles} from './styles.css'\n\nexport type PageShellMaxWidth = 'sm' | 'md' | 'lg' | 'full'\nexport type PageShellPadding = 'sm' | 'md' | 'lg'\n\ninterface PageShellProps {\n /** Max-width preset: sm (600), md (800), lg (1200), full (none). Default: 'lg' */\n maxWidth?: PageShellMaxWidth\n /** Horizontal padding preset. Default: 'md' (24px) */\n padding?: PageShellPadding\n /** Header element rendered above the main content with same constraints */\n header?: ReactNode\n children: ReactNode\n}\n\nconst maxWidthMap = {\n sm: styles.maxSm,\n md: styles.maxMd,\n lg: styles.maxLg,\n full: null,\n} as const\n\nconst paddingMap = {\n sm: styles.padSm,\n md: styles.padMd,\n lg: styles.padLg,\n} as const\n\nexport function PageShell({maxWidth = 'lg', padding = 'md', header, children}: PageShellProps) {\n const mw = maxWidthMap[maxWidth]\n const pad = paddingMap[padding]\n\n return (\n <html.div style={styles.root}>\n {header != null && (\n <html.header style={[styles.container, styles.maxLg, pad, styles.headerPadding]}>\n {header}\n </html.header>\n )}\n <html.main style={[styles.container, mw, pad, styles.mainPadding]}>{children}</html.main>\n </html.div>\n )\n}\n","import {useRef, useState, useEffect} from 'react'\n\nexport type ContainerSize = 'compact' | 'default' | 'spacious'\n\ninterface UseContainerQueryOptions {\n compactBelow?: number\n spaciousAbove?: number\n}\n\nexport function useContainerQuery<T extends HTMLElement = HTMLElement>(\n options: UseContainerQueryOptions = {},\n): {\n ref: React.RefObject<T | null>\n size: ContainerSize\n} {\n const {compactBelow = 480, spaciousAbove = 768} = options\n const ref = useRef<T | null>(null)\n const [size, setSize] = useState<ContainerSize>('default')\n\n useEffect(() => {\n const element = ref.current\n if (!element) return\n\n let rafId: number | null = null\n\n const observer = new ResizeObserver((entries) => {\n if (rafId !== null) cancelAnimationFrame(rafId)\n\n rafId = requestAnimationFrame(() => {\n const entry = entries[0]\n if (!entry) return\n\n const width = entry.contentBoxSize?.[0]?.inlineSize ?? entry.contentRect.width\n\n if (width < compactBelow) {\n setSize('compact')\n } else if (width >= spaciousAbove) {\n setSize('spacious')\n } else {\n setSize('default')\n }\n })\n })\n\n observer.observe(element)\n\n return () => {\n observer.disconnect()\n if (rafId !== null) cancelAnimationFrame(rafId)\n }\n }, [compactBelow, spaciousAbove])\n\n return {ref, size}\n}\n"],"names":["styleq$1","styleq_2","cache","compiledKey","createStyleq","options","disableCache","disableMix","transform","definedProperties","className","inlineStyle","debugString","nextCache","styles","i","possibleStyle","_i","style","classNameChunk","cacheEntry","definedPropertiesChunk","prop","value","compiledKeyValue","weakMap","subStyle","_prop","_value","styleProps","styleq","optimizedStyleq","merge","dataStyleSrc","result","chunks","pathsMap","chunk","trimmed","path","line","a","button","div","fieldset","heading","header","input","label","main","nav","p","span","textarea","defaultStyles","ReactSharedInternals","require$$0","reactCompilerRuntime_production","size","reactCompilerRuntime_development","dispatcher","compilerRuntimeModule","require$$1","strokeIcons","jsxs","Fragment","jsx","clock","forbidden","shield","lock","key","filledIcons","Icon","t0","$","_c","name","t1","undefined","filled","t2","t3","base","$$css","iconWrap","content","error","success","warning","info","defaultIcons","resolveIcon","icon","variant","Alert","children","resolvedIcon","t4","t5","_rsdMerge","_rsdDefaultStyles","t6","sizeMd","sizeSm","default","sizeMap","sm","md","Badge","sizeDefault","sizeSmall","primary","secondary","link","danger","fullWidth","disabled","small","Button","type","onClick","t7","t8","t9","t10","t11","Callout","elevated","outlined","interactive","sizeCompact","sizeFull","compact","full","Card","root","rootDisabled","box","boxUnchecked","boxChecked","Checkbox","checked","controlledChecked","defaultChecked","onChange","isControlled","internalChecked","setInternalChecked","useState","isChecked","e","target","handleChange","t12","opacity","t13","Symbol","for","t14","t15","t16","t17","message","action","EmptyState","typePresets","bodySm","bodyMd","bodyLg","caption","code","overline","headingSm","headingMd","headingLg","headingXl","displaySm","displayMd","displayLg","muted","accent","alignStart","alignCenter","alignEnd","defaultVariantMap","alignMap","start","center","end","Heading","level","color","align","resolvedVariant","h1","h2","h3","h4","h5","h6","FieldContext","createContext","useFieldContext","useContext","description","Root","invalid","id","useId","controlId","descriptionId","errorId","ctx","Label","Description","Error","Field","legend","gapXs","gapSm","gapMs","gapMd","gapLg","gapXl","gapMap","xs","ms","lg","xl","gap","Legend","Fieldset","InputGroupContext","useInputGroupContext","inGroup","Input","placeholder","required","minLength","pattern","autoComplete","defaultValue","groupCtx","extraProps","trim","wrapper","addon","addonStart","addonEnd","addonClickable","addonDisabled","dynamicStyles","minWidth","val","Addon","position","positionStyle","InputGroup","LinkButton","href","rel","trigger","backdrop","popup","popupEnd","item","itemHighlighted","linkItem","MenuContext","useMenu","useMenuRoot","open","setOpen","highlightedId","setHighlightedId","menuId","rootRef","useRef","triggerRef","Map","itemsRef","orderRef","needsInitialHighlightRef","current","focus","close","prev","toggle","order","length","useEffect","element","set","map","ids","keys","sort","b","elA","get","elB","compareDocumentPosition","Node","DOCUMENT_POSITION_FOLLOWING","delete","filter","registerItem","handleKeyDown","order_0","bb54","preventDefault","prev_2","idx_0","indexOf","idx","prev_1","items","prev_0","click","addEventListener","removeEventListener","Trigger","localRef","Popup","Item","ref","isHighlighted","el","handleClick","LinkItem","Menu","viewport","scrollbar","scrollbarVertical","scrollbarHorizontal","scrollbarHidden","scrollbarVisible","thumb","viewportMaxHeight","maxHeight","thumbVertical","height","thumbHorizontal","width","ScrollAreaContext","useScrollArea","useScrollAreaRoot","viewportRef","contentRef","scrollTop","setScrollTop","scrollLeft","setScrollLeft","scrollHeight","setScrollHeight","scrollWidth","setScrollWidth","clientHeight","setClientHeight","clientWidth","setClientWidth","scrolling","setScrolling","scrollTimerRef","vp","clearTimeout","setTimeout","handleScroll","vp_0","observer","ResizeObserver","observe","disconnect","vp_1","passive","Viewport","Content","Scrollbar","orientation","Thumb","draggingRef","startPosRef","startScrollRef","isVertical","thumbSizePercent","Math","max","maxScroll","trackSize","thumbPixelSize","scrollOffset","thumbOffset","thumbStyle","clientY","clientX","setPointerCapture","pointerId","handlePointerDown","e_0","delta","scrollRatio","scrollDelta","handlePointerMove","handlePointerUp","ScrollArea","itemSelected","hidden","SelectContext","useSelect","useControllableValue","controlledValue","internal","setInternal","v","setValue","useSelectRoot","onValueChange","initialLabels","labels","setLabels","listboxId","found","registerLabel","id_0","itemValue","items_0","bb86","prev_3","item_0","Value","display","selectedValue","isSelected","text","textContent","el_0","ItemText","Select","group","groupTrigger","groupTriggerActive","chevron","chevronOpen","itemActive","SideNavContext","useSideNav","activeValue","onSelect","Set","expandedGroups","setExpandedGroups","next","has","add","toggleGroup","includes","push","v_0","_temp","Group","groupKey","defaultExpanded","isExpanded","groupRef","querySelector","hasActiveChild","isActive","SideNav","spinner","srOnly","Spinner","StatusIcon","loggedMessages","errorMsg","msg","strictAttributeSet","isPropAllowed","validateStrictProps","props","createStrictDOMComponent","TagName","defaultStyle","debugStyle","Component","htmlFor","restProps","hostProps","hostStyleProps","a$1","article$1","aside$1","b$1","bdi$1","bdo$1","blockquote$1","br$1","button$1","code$1","del$1","div$1","em$1","fieldset$1","footer$1","form$1","header$1","hr$1","i$1","img$1","input$1","ins$1","kbd$1","label$1","li$1","main$1","mark$1","nav$1","ol$1","optgroup$1","option$1","p$1","pre$1","s$1","section$1","select$1","span$1","strong$1","sub$1","sup$1","textarea$1","u$1","ul$1","article","aside","bdi","bdo","blockquote","br","del","em","footer","form","hr","img","ins","kbd","li","mark","ol","optgroup","option","pre","s","section","select","strong","sub","sup","u","ul","html","row","rowLastChild","bodyRow","headerCell","cell","cellSm","cellMd","stripedEven","borderedCell","borderedCellLast","gridColumns","columns","TableContext","useTable","HeaderContext","isHeader","Header","Body","T0","T1","childArray","Children","toArray","Provider","child","index","RowIndexContext","Row","rowIndex","isEvenRow","CellIndexContext","total","HeaderCell","isLast","Cell","Table","rootVertical","list","listVertical","tab","tabVertical","tabActiveHorizontal","tabActiveVertical","tabDisabled","panel","panelVertical","TabsContext","useTabs","useTabsRoot","tabsRef","registerTab","List","listRef","tabs","listEl","prevKey","nextKey","targetValue","currentIdx","Tab","tabId","panelId","Panel","Tabs","Textarea","rows","lightTheme","xjvd03b","lightShadows","x13v825q","highContrastTheme","highContrastShadows","themeMap","light","ThemeProvider","theme","overrides","themeStyles","weightNormal","weightMedium","weightSemibold","weightBold","truncate","weightMap","normal","medium","semibold","bold","Text","weight","as","ToggleGroupContext","useToggleGroup","unpressed","pressed","grouped","Toggle","controlledPressed","defaultPressed","onPressedChange","ariaLabel","disabledProp","sizeProp","groupPressed","isGrouped","standalonePressed","setStandalonePressed","vertical","ToggleGroup","multiple","nextPressed","top","bottom","left","right","TooltipContext","useTooltip","placement","delay","tooltipId","timerRef","show","hide","Tooltip","track","trackUnchecked","trackChecked","thumbChecked","Switch","onCheckedChange","setChecked","inputRef","alignStretch","gapXxl","gapXxxl","xxl","xxxl","stretch","Stack","alignBaseline","justifyStart","justifyCenter","justifyEnd","justifyBetween","baseline","justifyMap","between","Inline","justify","Cluster","col1","col2","col3","col4","col5","col6","autoFit","columnsMap","Grid","minColumnWidth","columnStyle","container","maxSm","maxMd","maxLg","padSm","padMd","padLg","headerPadding","mainPadding","maxWidthMap","paddingMap","PageShell","maxWidth","padding","mw","pad","useContainerQuery","compactBelow","spaciousAbove","setSize","rafId","entries","cancelAnimationFrame","requestAnimationFrame","entry","contentBoxSize","inlineSize","contentRect"],"mappings":"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","x_google_ignoreList":[0,1,2,3,54]}