@voxel51/voodo 1.4.0-dev.0 → 2.1.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 (205) hide show
  1. package/bin/voodo.mjs +127 -0
  2. package/dist/cli/reference.d.ts +79 -0
  3. package/dist/cli/reference.d.ts.map +1 -0
  4. package/dist/cli.cjs +11 -0
  5. package/dist/cli.cjs.map +1 -0
  6. package/dist/cli.d.ts +2 -0
  7. package/dist/cli.js +167 -0
  8. package/dist/cli.js.map +1 -0
  9. package/dist/components/ActivityToast/ActivityToast.d.ts +1 -1
  10. package/dist/components/ActivityToast/ActivityToast.d.ts.map +1 -1
  11. package/dist/components/Button/Button.d.ts +5 -3
  12. package/dist/components/Button/Button.d.ts.map +1 -1
  13. package/dist/components/Card/Card.d.ts +3 -3
  14. package/dist/components/Card/Card.d.ts.map +1 -1
  15. package/dist/components/Card/RichCard.d.ts +3 -1
  16. package/dist/components/Card/RichCard.d.ts.map +1 -1
  17. package/dist/components/Checkbox/Checkbox.d.ts +1 -0
  18. package/dist/components/Checkbox/Checkbox.d.ts.map +1 -1
  19. package/dist/components/Clickable/Clickable.d.ts +1 -1
  20. package/dist/components/Combobox/Combobox.d.ts +3 -3
  21. package/dist/components/Combobox/Combobox.d.ts.map +1 -1
  22. package/dist/components/ContextMenu/ContextMenu.d.ts +1 -1
  23. package/dist/components/Datepicker/DatePicker.d.ts +1 -1
  24. package/dist/components/Datepicker/DatepickerIconButton.d.ts.map +1 -1
  25. package/dist/components/Datepicker/DatepickerInput.d.ts.map +1 -1
  26. package/dist/components/Divider/Divider.d.ts +21 -14
  27. package/dist/components/Divider/Divider.d.ts.map +1 -1
  28. package/dist/components/Drawer/Drawer.d.ts +37 -0
  29. package/dist/components/Drawer/Drawer.d.ts.map +1 -1
  30. package/dist/components/Dropdown/Dropdown.d.ts +3 -3
  31. package/dist/components/Dropdown/Dropdown.d.ts.map +1 -1
  32. package/dist/components/Dropdown/DropdownTrigger.d.ts +2 -2
  33. package/dist/components/Dropzone/Dropzone.d.ts +34 -0
  34. package/dist/components/Dropzone/Dropzone.d.ts.map +1 -0
  35. package/dist/components/Dropzone/index.d.ts +2 -0
  36. package/dist/components/Dropzone/index.d.ts.map +1 -0
  37. package/dist/components/EmptyState/EmptyState.d.ts +11 -4
  38. package/dist/components/EmptyState/EmptyState.d.ts.map +1 -1
  39. package/dist/components/FormField/FormField.d.ts +4 -2
  40. package/dist/components/FormField/FormField.d.ts.map +1 -1
  41. package/dist/components/FormFieldGroup/FormFieldGroup.d.ts +4 -19
  42. package/dist/components/FormFieldGroup/FormFieldGroup.d.ts.map +1 -1
  43. package/dist/components/Heading/Heading.d.ts +1 -1
  44. package/dist/components/Heading/Heading.d.ts.map +1 -1
  45. package/dist/components/IconAction/IconAction.d.ts +26 -0
  46. package/dist/components/IconAction/IconAction.d.ts.map +1 -0
  47. package/dist/components/IconAction/index.d.ts +2 -0
  48. package/dist/components/IconAction/index.d.ts.map +1 -0
  49. package/dist/components/Icons/Icon.d.ts +4 -3
  50. package/dist/components/Icons/Icon.d.ts.map +1 -1
  51. package/dist/components/Icons/IconBase.d.ts +2 -0
  52. package/dist/components/Icons/IconBase.d.ts.map +1 -1
  53. package/dist/components/Icons/IconWrapper.d.ts +3 -1
  54. package/dist/components/Icons/IconWrapper.d.ts.map +1 -1
  55. package/dist/components/Icons/Spinner.d.ts.map +1 -1
  56. package/dist/components/Icons/icons.d.ts +9 -1
  57. package/dist/components/Icons/icons.d.ts.map +1 -1
  58. package/dist/components/ImageList/ImageList.d.ts +4 -4
  59. package/dist/components/ImageList/ImageList.d.ts.map +1 -1
  60. package/dist/components/Input/Input.d.ts +14 -19
  61. package/dist/components/Input/Input.d.ts.map +1 -1
  62. package/dist/components/Input/InputIcon.d.ts +1 -1
  63. package/dist/components/Input/InputIcon.d.ts.map +1 -1
  64. package/dist/components/Input/styles.d.ts +11 -12
  65. package/dist/components/Input/styles.d.ts.map +1 -1
  66. package/dist/components/ListItem/ListItem.d.ts +2 -2
  67. package/dist/components/ListItem/ListItem.d.ts.map +1 -1
  68. package/dist/components/LoadingDots/LoadingDots.d.ts +1 -1
  69. package/dist/components/Menu/MenuCheckItem.d.ts.map +1 -1
  70. package/dist/components/Menu/MenuIconTextItem.d.ts +4 -4
  71. package/dist/components/Menu/MenuIconTextItem.d.ts.map +1 -1
  72. package/dist/components/Menu/MenuSectionTitle.d.ts.map +1 -1
  73. package/dist/components/Menu/MenuTextItem.d.ts +3 -3
  74. package/dist/components/Menu/MenuTextItem.d.ts.map +1 -1
  75. package/dist/components/Menu/styles.d.ts.map +1 -1
  76. package/dist/components/Modal/Modal.d.ts +17 -9
  77. package/dist/components/Modal/Modal.d.ts.map +1 -1
  78. package/dist/components/Pill/Pill.d.ts +5 -4
  79. package/dist/components/Pill/Pill.d.ts.map +1 -1
  80. package/dist/components/Popover/Popover.d.ts +5 -5
  81. package/dist/components/Popover/styles.d.ts.map +1 -1
  82. package/dist/components/Progress/Progress.d.ts +8 -11
  83. package/dist/components/Progress/Progress.d.ts.map +1 -1
  84. package/dist/components/Radio/Radio.d.ts +15 -3
  85. package/dist/components/Radio/Radio.d.ts.map +1 -1
  86. package/dist/components/Radio/RadioGroup.d.ts +4 -4
  87. package/dist/components/Radio/RadioGroup.d.ts.map +1 -1
  88. package/dist/components/RichButton/RichButton.d.ts +2 -0
  89. package/dist/components/RichButton/RichButton.d.ts.map +1 -1
  90. package/dist/components/RichList/RichList.d.ts +14 -13
  91. package/dist/components/RichList/RichList.d.ts.map +1 -1
  92. package/dist/components/Select/Option.d.ts.map +1 -1
  93. package/dist/components/Select/Select.d.ts +17 -7
  94. package/dist/components/Select/Select.d.ts.map +1 -1
  95. package/dist/components/Sheet/Sheet.d.ts +9 -4
  96. package/dist/components/Sheet/Sheet.d.ts.map +1 -1
  97. package/dist/components/Slider/Slider.d.ts +15 -1
  98. package/dist/components/Slider/Slider.d.ts.map +1 -1
  99. package/dist/components/Slider/SliderBar.d.ts +1 -1
  100. package/dist/components/Slider/SliderKnob.d.ts +1 -1
  101. package/dist/components/Slider/SliderLabels.d.ts +1 -1
  102. package/dist/components/Spinner/Spinner.d.ts +1 -1
  103. package/dist/components/Spinner/Spinner.d.ts.map +1 -1
  104. package/dist/components/Stack/Stack.d.ts +3 -3
  105. package/dist/components/StepRail/StepRail.d.ts +36 -0
  106. package/dist/components/StepRail/StepRail.d.ts.map +1 -0
  107. package/dist/components/StepRail/index.d.ts +2 -0
  108. package/dist/components/StepRail/index.d.ts.map +1 -0
  109. package/dist/components/Table/Table.d.ts +82 -0
  110. package/dist/components/Table/Table.d.ts.map +1 -1
  111. package/dist/components/Tabs/Tab.d.ts +3 -0
  112. package/dist/components/Tabs/Tab.d.ts.map +1 -1
  113. package/dist/components/Text/Text.d.ts +7 -3
  114. package/dist/components/Text/Text.d.ts.map +1 -1
  115. package/dist/components/TextAction/TextAction.d.ts +29 -0
  116. package/dist/components/TextAction/TextAction.d.ts.map +1 -0
  117. package/dist/components/TextAction/index.d.ts +2 -0
  118. package/dist/components/TextAction/index.d.ts.map +1 -0
  119. package/dist/components/TextArea/TextArea.d.ts +7 -3
  120. package/dist/components/TextArea/TextArea.d.ts.map +1 -1
  121. package/dist/components/TextBadge/TextBadge.d.ts +3 -3
  122. package/dist/components/TextBadge/TextBadge.d.ts.map +1 -1
  123. package/dist/components/Toast/Toast.d.ts +7 -5
  124. package/dist/components/Toast/Toast.d.ts.map +1 -1
  125. package/dist/components/ToastContainer/ToastContainer.d.ts +9 -1
  126. package/dist/components/ToastContainer/ToastContainer.d.ts.map +1 -1
  127. package/dist/components/Toggle/Toggle.d.ts +2 -2
  128. package/dist/components/Toggle/Toggle.d.ts.map +1 -1
  129. package/dist/components/ToggleSwitch/ToggleSwitch.d.ts +12 -11
  130. package/dist/components/ToggleSwitch/ToggleSwitch.d.ts.map +1 -1
  131. package/dist/components/Toolbar/Toolbar.d.ts +14 -14
  132. package/dist/components/Toolbar/Toolbar.d.ts.map +1 -1
  133. package/dist/components/Toolbar/ToolbarGroup.d.ts +1 -1
  134. package/dist/components/Tooltip/Tooltip.d.ts +1 -1
  135. package/dist/components/Tooltip/Tooltip.d.ts.map +1 -1
  136. package/dist/components/Tree/TreeSelect.d.ts +1 -1
  137. package/dist/components/Tree/types.d.ts +2 -0
  138. package/dist/components/Tree/types.d.ts.map +1 -1
  139. package/dist/components/UnsetHint/UnsetHint.d.ts +2 -1
  140. package/dist/components/UnsetHint/UnsetHint.d.ts.map +1 -1
  141. package/dist/components/UploadList/UploadList.d.ts +36 -0
  142. package/dist/components/UploadList/UploadList.d.ts.map +1 -0
  143. package/dist/components/UploadList/index.d.ts +2 -0
  144. package/dist/components/UploadList/index.d.ts.map +1 -0
  145. package/dist/components/index.d.ts +5 -2
  146. package/dist/components/index.d.ts.map +1 -1
  147. package/dist/index.cjs +1 -2
  148. package/dist/index.cjs.map +1 -1
  149. package/dist/index.d.ts +1 -0
  150. package/dist/index.d.ts.map +1 -1
  151. package/dist/index.js +4915 -4257
  152. package/dist/index.js.map +1 -1
  153. package/dist/palette-Boxwxq4V.js +723 -0
  154. package/dist/palette-Boxwxq4V.js.map +1 -0
  155. package/dist/palette-DV12yAPS.cjs +2 -0
  156. package/dist/palette-DV12yAPS.cjs.map +1 -0
  157. package/dist/styles/color-classes.d.ts +1 -1
  158. package/dist/styles/color-classes.d.ts.map +1 -1
  159. package/dist/styles/text.d.ts +6 -0
  160. package/dist/styles/text.d.ts.map +1 -1
  161. package/dist/theme/cssVar.d.ts +128 -105
  162. package/dist/theme/cssVar.d.ts.map +1 -1
  163. package/dist/theme/mui.d.ts +15 -15
  164. package/dist/theme/mui.d.ts.map +1 -1
  165. package/dist/theme/tokens/colors.d.ts +297 -227
  166. package/dist/theme/tokens/colors.d.ts.map +1 -1
  167. package/dist/theme/tokens/gradients.d.ts +6 -0
  168. package/dist/theme/tokens/gradients.d.ts.map +1 -0
  169. package/dist/theme/tokens/index.d.ts +350 -220
  170. package/dist/theme/tokens/index.d.ts.map +1 -1
  171. package/dist/theme/tokens/palette.d.ts +64 -5
  172. package/dist/theme/tokens/palette.d.ts.map +1 -1
  173. package/dist/theme/tokens/spacing.d.ts +48 -0
  174. package/dist/theme/tokens/spacing.d.ts.map +1 -1
  175. package/dist/theme/tokens/typography.d.ts +203 -5
  176. package/dist/theme/tokens/typography.d.ts.map +1 -1
  177. package/dist/theme/useColorPalette.d.ts +16 -10
  178. package/dist/theme/useColorPalette.d.ts.map +1 -1
  179. package/dist/tokens.cjs +1 -1
  180. package/dist/tokens.cjs.map +1 -1
  181. package/dist/tokens.js +23 -38
  182. package/dist/tokens.js.map +1 -1
  183. package/dist/types/color.d.ts +272 -237
  184. package/dist/types/color.d.ts.map +1 -1
  185. package/dist/types/text.d.ts +43 -4
  186. package/dist/types/text.d.ts.map +1 -1
  187. package/dist/types/variant.d.ts +2 -0
  188. package/dist/types/variant.d.ts.map +1 -1
  189. package/dist/util/classes.d.ts.map +1 -1
  190. package/dist/util/formatBytes.d.ts +14 -0
  191. package/dist/util/formatBytes.d.ts.map +1 -0
  192. package/dist/voodo.css +1 -1
  193. package/package.json +13 -2
  194. package/dist/components/CodeBlock/CodeBlock.d.ts +0 -32
  195. package/dist/components/CodeBlock/CodeBlock.d.ts.map +0 -1
  196. package/dist/components/CodeBlock/index.d.ts +0 -2
  197. package/dist/components/CodeBlock/index.d.ts.map +0 -1
  198. package/dist/components/LoadingScreen/LoadingScreen.d.ts +0 -28
  199. package/dist/components/LoadingScreen/LoadingScreen.d.ts.map +0 -1
  200. package/dist/components/LoadingScreen/index.d.ts +0 -2
  201. package/dist/components/LoadingScreen/index.d.ts.map +0 -1
  202. package/dist/palette-B91vdbSd.js +0 -479
  203. package/dist/palette-B91vdbSd.js.map +0 -1
  204. package/dist/palette-dgN5vIc-.cjs +0 -2
  205. package/dist/palette-dgN5vIc-.cjs.map +0 -1
@@ -0,0 +1 @@
1
+ {"version":3,"file":"palette-Boxwxq4V.js","sources":["../src/theme/tokens/typography.ts","../src/theme/tokens/colors.ts","../src/theme/tokens/spacing.ts","../src/theme/tokens/transitions.ts","../src/theme/tokens/palette.ts"],"sourcesContent":["/**\n * Typography.\n *\n * Same two-tier split as spacing, and for the same reason: Figma re-keyed\n * `font-size` and `line-height` from t-shirt names to pixel values, and the\n * role names Tailwind emits (`text-sm`, `text-lg`) have to keep meaning what\n * they mean today.\n */\n\n/** The Figma `font-size/*` scale. Keys are pixel values. */\nexport const fontSize = {\n 9: \"9px\",\n 11: \"11px\",\n 12: \"12px\",\n 13: \"13px\",\n 14: \"14px\",\n 15: \"15px\",\n 16: \"16px\",\n 18: \"18px\",\n 23: \"23px\",\n} as const;\n\n/** The Figma `line-height/*` scale. Keys are pixel values. */\nexport const lineHeight = {\n 12: \"12px\",\n 16: \"16px\",\n 20: \"20px\",\n 24: \"24px\",\n 28: \"28px\",\n 36: \"36px\",\n 44: \"44px\",\n 52: \"52px\",\n} as const;\n\n/**\n * The Figma `type/*` tier — the twelve text roles every text layer in the\n * design file binds to. Each role pairs a size with its leading and weight,\n * which is the thing the size-only scale below could never express.\n *\n * Read live from the design file on 2026-09-30. `code-secondary` is 11px\n * there, not the 12px an earlier hand-off table recorded.\n */\nexport const textRole = {\n \"heading-xl\": {\n fontSize: fontSize[23],\n lineHeight: lineHeight[28],\n fontWeight: 400,\n },\n \"heading-lg\": {\n fontSize: fontSize[18],\n lineHeight: lineHeight[24],\n fontWeight: 500,\n },\n \"heading-md\": {\n fontSize: fontSize[16],\n lineHeight: lineHeight[20],\n fontWeight: 500,\n },\n \"heading-sm\": {\n fontSize: fontSize[14],\n lineHeight: lineHeight[20],\n fontWeight: 500,\n },\n \"heading-xs\": {\n fontSize: fontSize[12],\n lineHeight: lineHeight[16],\n fontWeight: 500,\n },\n \"body-primary\": {\n fontSize: fontSize[15],\n lineHeight: lineHeight[20],\n fontWeight: 400,\n },\n \"body-secondary\": {\n fontSize: fontSize[14],\n lineHeight: lineHeight[20],\n fontWeight: 400,\n },\n \"body-tertiary\": {\n fontSize: fontSize[12],\n lineHeight: lineHeight[16],\n fontWeight: 400,\n },\n label: {\n fontSize: fontSize[12],\n lineHeight: lineHeight[16],\n fontWeight: 600,\n },\n caption: {\n fontSize: fontSize[11],\n lineHeight: lineHeight[16],\n fontWeight: 400,\n },\n \"code-primary\": {\n fontSize: fontSize[12],\n lineHeight: lineHeight[16],\n fontWeight: 400,\n },\n \"code-secondary\": {\n fontSize: fontSize[11],\n lineHeight: lineHeight[16],\n fontWeight: 400,\n },\n} as const;\n\nexport type TextRole = keyof typeof textRole;\n\nexport const typography = {\n fontFamily: {\n sans: [\"Palanquin\", \"sans-serif\"],\n // Figma names a real face here. It was the generic `monospace` keyword,\n // which resolved to whatever the OS picked — so code blocks rendered\n // differently on every machine and never matched the design.\n mono: [\"Roboto Mono\", \"monospace\"],\n },\n\n /**\n * Named size roles — the public surface, and the only tier emitted as\n * `--text-*`.\n *\n * Emitting the numeric scale instead would leave `--text-sm` and `--text-lg`\n * undefined, and Tailwind would quietly fall back to its own built-in scale\n * across 41 call sites.\n *\n * Values are deliberately unchanged from the previous scale, so this tier is\n * a rename of nothing.\n *\n * Figma added `font-size/14` and `/16` and nothing consumes them yet. They\n * are almost certainly the new body and heading sizes, but re-pointing `md`\n * and `lg` at them in isolation makes type look worse, not better: the\n * line-heights these sizes are paired with are raw Tailwind numbers\n * (`text-md/5`), not tokens, so the size moves and the leading does not.\n * Size and leading have to be tokenised together, against Figma's 12 text\n * styles. Until then this tier holds still.\n */\n fontSize: {\n xxs: fontSize[9],\n xs: fontSize[11],\n sm: fontSize[12],\n md: fontSize[13],\n lg: fontSize[15],\n xl: fontSize[18],\n xxl: fontSize[23],\n },\n\n /**\n * The role tier, emitted as `--text-<role>` plus the `--line-height` and\n * `--font-weight` sub-properties Tailwind reads for the `text-<role>`\n * utility. This is what components bind to; the size-only tier above stays\n * for consumers that have not migrated.\n */\n textRole,\n\n /**\n * Figma's `font-weight/*` scale, verbatim.\n *\n * The previous map (light 300, normal 400, semibold 500, bold 600) matched\n * no Figma variable — `semibold` was a step light of Figma's, and `light`\n * had no counterpart at all. Nothing reads these: they are not emitted as\n * custom properties and the `font-*` utilities in use come from Tailwind's\n * own scale, so this corrects the data without moving any pixels.\n */\n fontWeight: {\n regular: 400,\n medium: 500,\n semibold: 600,\n bold: 700,\n },\n} as const;\n","/**\n * Color tokens — GENERATED from Figma's variable export by\n * kb/eng/projects/design-system-tokens/tools/build_colors.py.\n * Do not edit by hand; re-run the generator instead.\n *\n * Two tiers, mirroring the Figma collections:\n * - `primitives`: raw color scales. Not emitted as CSS vars directly.\n * - `colors.{dark,light}.content.*`: semantic tokens referencing them,\n * named exactly as the Figma variables are.\n */\nexport const primitives = {\n neutral: {\n 0: \"#FFFFFF\",\n 25: \"#FFF9F5\",\n 50: \"#F9F8F7\",\n 75: \"#F2F1F0\",\n 100: \"#EEEDEC\",\n 125: \"#E8E7E6\",\n 150: \"#E0DEDC\",\n 200: \"#D0CECC\",\n 250: \"#C0BEBC\",\n 300: \"#B5B3B1\",\n 350: \"#A0A09E\",\n 400: \"#9C9896\",\n 450: \"#8F8D8B\",\n 500: \"#6E6C6A\",\n 550: \"#6B6968\",\n 600: \"#4A4C4E\",\n 650: \"#4A4847\",\n 700: \"#3E4244\",\n 750: \"#2F3234\",\n 800: \"#2A2B2C\",\n 825: \"#232526\",\n 850: \"#1F2021\",\n 875: \"#1E1F20\",\n 900: \"#1C1D1E\",\n 925: \"#18191A\",\n 950: \"#141618\",\n 1000: \"#000000\",\n },\n orange: {\n 300: \"#FFB584\",\n 400: \"#FF8A3D\",\n 500: \"#FA5300\",\n 600: \"#C74200\",\n 700: \"#943100\",\n },\n green: {\n 300: \"#7AB87C\",\n 400: \"#4CA05A\",\n 500: \"#1E7D45\",\n 600: \"#166638\",\n 700: \"#0E4E2B\",\n },\n red: {\n 300: \"#FF9999\",\n 400: \"#FF6767\",\n 500: \"#C33636\",\n 600: \"#9B2727\",\n 700: \"#751D1D\",\n },\n blue: {\n 300: \"#86B5F6\",\n 400: \"#4F8BEF\",\n 500: \"#2563EB\",\n 600: \"#1D4EBA\",\n 700: \"#153A8A\",\n },\n yellow: {\n 300: \"#FCCB58\",\n 400: \"#ECAB2E\",\n 500: \"#D97706\",\n 600: \"#B26003\",\n 700: \"#8A4A02\",\n },\n purple: {\n 300: \"#CBA6FF\",\n 400: \"#AB81FB\",\n 500: \"#8B5CF6\",\n 600: \"#6F42C1\",\n 700: \"#532E91\",\n },\n pink: {\n 300: \"#F988B4\",\n 400: \"#EF5793\",\n 500: \"#DB2777\",\n 600: \"#AF1D5E\",\n 700: \"#851547\",\n },\n teal: {\n 300: \"#5EC6B9\",\n 400: \"#32ADA0\",\n 500: \"#0D9488\",\n 600: \"#0A766C\",\n 700: \"#075951\",\n },\n expressive: {\n \"orange-default\": \"#FA5300\",\n \"pink-default\": \"#DA3B72\",\n \"purple-default\": \"#B84DD9\",\n \"orange-hover\": \"#D14600\",\n \"pink-hover\": \"#C62B60\",\n \"purple-hover\": \"#9E37C0\",\n \"orange-pressed\": \"#A83800\",\n \"pink-pressed\": \"#A9214F\",\n \"purple-pressed\": \"#82299F\",\n },\n lime: {\n 300: \"#86C816\",\n 400: \"#6FA512\",\n 500: \"#57820E\",\n 600: \"#45670B\",\n 700: \"#334D08\",\n },\n magenta: {\n 300: \"#E9A0F0\",\n 400: \"#DB64E6\",\n 500: \"#C623D5\",\n 600: \"#9C1CA8\",\n 700: \"#75157E\",\n },\n} as const;\n\nexport const colors = {\n common: {\n brand: {\n primary: primitives.orange[500],\n accent: primitives.orange[400],\n },\n semantic: {\n success: primitives.green[500],\n destructive: primitives.red[500],\n info: primitives.blue[500],\n warning: primitives.yellow[500],\n },\n },\n dark: {\n content: {\n bg: {\n accent: primitives.orange[400],\n background: primitives.neutral[925],\n card: primitives.neutral[875],\n \"card-elevated\": primitives.neutral[750],\n \"card-nested\": primitives.neutral[825],\n failure: primitives.red[500],\n info: primitives.blue[500],\n muted: primitives.neutral[850],\n popover: primitives.neutral[950],\n primary: primitives.orange[500],\n secondary: primitives.neutral[900],\n selected: `color-mix(in srgb, ${primitives.orange[500]} 30%, transparent)`,\n success: primitives.green[500],\n warning: primitives.yellow[500],\n },\n border: {\n active: primitives.orange[500],\n default: primitives.neutral[750],\n disabled: primitives.neutral[875],\n error: primitives.red[400],\n focus: primitives.neutral[500],\n hover: primitives.neutral[600],\n input: primitives.neutral[750],\n \"input-focus\": primitives.neutral[500],\n \"input-hover\": primitives.neutral[600],\n strong: primitives.neutral[700],\n subtle: primitives.neutral[875],\n success: primitives.green[300],\n warning: primitives.yellow[300],\n },\n code: {\n bg: primitives.neutral[950],\n border: primitives.neutral[750],\n text: primitives.orange[400],\n },\n focus: {\n ring: `color-mix(in srgb, ${primitives.orange[500]} 50%, transparent)`,\n },\n icon: {\n brand: primitives.orange[500],\n dark: primitives.neutral[925],\n decorative: primitives.orange[400],\n default: primitives.neutral[450],\n disabled: primitives.neutral[550],\n emphasis: primitives.neutral[0],\n failure: primitives.red[400],\n info: primitives.blue[300],\n muted: primitives.neutral[550],\n subtle: primitives.neutral[500],\n success: primitives.green[300],\n warning: primitives.yellow[300],\n },\n interactive: {\n \"danger-default\": primitives.red[500],\n \"danger-hover\": primitives.red[600],\n \"danger-pressed\": primitives.red[700],\n \"expressive-default\": {\n end: primitives.expressive[\"purple-default\"],\n mid: primitives.expressive[\"pink-default\"],\n start: primitives.expressive[\"orange-default\"],\n },\n \"expressive-hover\": {\n end: primitives.expressive[\"purple-hover\"],\n mid: primitives.expressive[\"pink-hover\"],\n start: primitives.expressive[\"orange-hover\"],\n },\n \"expressive-pressed\": {\n end: primitives.expressive[\"purple-pressed\"],\n mid: primitives.expressive[\"pink-pressed\"],\n start: primitives.expressive[\"orange-pressed\"],\n },\n \"primary-default\": primitives.orange[500],\n \"primary-hover\": primitives.orange[600],\n \"primary-pressed\": primitives.orange[700],\n \"secondary-default\": primitives.neutral[825],\n \"secondary-hover\": primitives.neutral[800],\n \"secondary-pressed\": primitives.neutral[875],\n \"success-default\": primitives.green[500],\n \"success-hover\": primitives.green[600],\n \"success-pressed\": primitives.green[700],\n },\n link: {\n default: primitives.blue[300],\n hover: primitives.blue[400],\n visited: primitives.purple[400],\n },\n scrim: {\n default: `color-mix(in srgb, ${primitives.neutral[1000]} 60%, transparent)`,\n heavy: `color-mix(in srgb, ${primitives.neutral[1000]} 80%, transparent)`,\n light: `color-mix(in srgb, ${primitives.neutral[1000]} 40%, transparent)`,\n },\n scrollbar: {\n thumb: primitives.neutral[700],\n \"thumb-hover\": primitives.neutral[600],\n track: primitives.neutral[925],\n },\n selection: {\n bg: `color-mix(in srgb, ${primitives.orange[500]} 30%, transparent)`,\n text: primitives.neutral[0],\n },\n skeleton: {\n base: primitives.neutral[825],\n shimmer: primitives.neutral[750],\n },\n status: {\n approved: {\n bg: primitives.green[500],\n text: primitives.green[300],\n },\n draft: {\n bg: primitives.neutral[550],\n text: primitives.neutral[450],\n },\n failed: {\n bg: primitives.red[500],\n text: primitives.red[400],\n },\n progress: {\n bg: primitives.purple[500],\n text: primitives.purple[300],\n },\n review: {\n bg: primitives.orange[500],\n text: primitives.orange[400],\n },\n },\n text: {\n accent: primitives.orange[400],\n decorative: primitives.orange[400],\n failure: primitives.red[400],\n foreground: primitives.neutral[25],\n info: primitives.blue[300],\n inverse: primitives.neutral[900],\n muted: primitives.neutral[400],\n placeholder: primitives.neutral[550],\n primary: primitives.neutral[0],\n secondary: primitives.neutral[450],\n success: primitives.green[300],\n tertiary: primitives.neutral[500],\n warning: primitives.yellow[300],\n },\n tooltip: {\n bg: primitives.neutral[800],\n text: primitives.neutral[25],\n },\n \"viz-chart\": {\n blue: primitives.blue[400],\n green: primitives.green[400],\n lime: primitives.lime[400],\n magenta: primitives.magenta[400],\n neutral: primitives.neutral[400],\n pink: primitives.pink[400],\n purple: primitives.purple[400],\n red: primitives.red[400],\n teal: primitives.teal[400],\n yellow: primitives.yellow[400],\n },\n \"viz-overlay\": {\n blue: primitives.blue[400],\n green: primitives.green[400],\n lime: primitives.lime[400],\n magenta: primitives.magenta[400],\n neutral: primitives.neutral[400],\n pink: primitives.pink[400],\n purple: primitives.purple[400],\n red: primitives.red[400],\n teal: primitives.teal[400],\n yellow: primitives.yellow[400],\n },\n },\n },\n light: {\n content: {\n bg: {\n accent: primitives.orange[400],\n background: primitives.neutral[50],\n card: primitives.neutral[0],\n \"card-elevated\": primitives.neutral[0],\n \"card-nested\": primitives.neutral[75],\n failure: primitives.red[500],\n info: primitives.blue[500],\n muted: primitives.neutral[100],\n popover: primitives.neutral[0],\n primary: primitives.orange[500],\n secondary: primitives.neutral[125],\n selected: `color-mix(in srgb, ${primitives.orange[500]} 30%, transparent)`,\n success: primitives.green[500],\n warning: primitives.yellow[500],\n },\n border: {\n active: primitives.orange[500],\n default: primitives.neutral[150],\n disabled: primitives.neutral[100],\n error: primitives.red[500],\n focus: primitives.neutral[350],\n hover: primitives.neutral[250],\n input: primitives.neutral[200],\n \"input-focus\": primitives.neutral[350],\n \"input-hover\": primitives.neutral[250],\n strong: primitives.neutral[200],\n subtle: primitives.neutral[100],\n success: primitives.green[500],\n warning: primitives.yellow[500],\n },\n code: {\n bg: primitives.neutral[75],\n border: primitives.neutral[150],\n text: primitives.orange[700],\n },\n focus: {\n ring: `color-mix(in srgb, ${primitives.orange[500]} 50%, transparent)`,\n },\n icon: {\n brand: primitives.orange[500],\n dark: primitives.neutral[925],\n decorative: primitives.orange[500],\n default: primitives.neutral[550],\n disabled: primitives.neutral[300],\n emphasis: primitives.neutral[925],\n failure: primitives.red[500],\n info: primitives.blue[500],\n muted: primitives.neutral[300],\n subtle: primitives.neutral[450],\n success: primitives.green[500],\n warning: primitives.yellow[500],\n },\n interactive: {\n \"danger-default\": primitives.red[500],\n \"danger-hover\": primitives.red[600],\n \"danger-pressed\": primitives.red[700],\n \"expressive-default\": {\n end: primitives.expressive[\"purple-default\"],\n mid: primitives.expressive[\"pink-default\"],\n start: primitives.expressive[\"orange-default\"],\n },\n \"expressive-hover\": {\n end: primitives.expressive[\"purple-hover\"],\n mid: primitives.expressive[\"pink-hover\"],\n start: primitives.expressive[\"orange-hover\"],\n },\n \"expressive-pressed\": {\n end: primitives.expressive[\"purple-pressed\"],\n mid: primitives.expressive[\"pink-pressed\"],\n start: primitives.expressive[\"orange-pressed\"],\n },\n \"primary-default\": primitives.orange[500],\n \"primary-hover\": primitives.orange[600],\n \"primary-pressed\": primitives.orange[700],\n \"secondary-default\": primitives.neutral[100],\n \"secondary-hover\": primitives.neutral[150],\n \"secondary-pressed\": primitives.neutral[200],\n \"success-default\": primitives.green[500],\n \"success-hover\": primitives.green[600],\n \"success-pressed\": primitives.green[700],\n },\n link: {\n default: primitives.blue[500],\n hover: primitives.blue[600],\n visited: primitives.purple[600],\n },\n scrim: {\n default: `color-mix(in srgb, ${primitives.neutral[1000]} 50%, transparent)`,\n heavy: `color-mix(in srgb, ${primitives.neutral[1000]} 70%, transparent)`,\n light: `color-mix(in srgb, ${primitives.neutral[1000]} 30%, transparent)`,\n },\n scrollbar: {\n thumb: primitives.neutral[200],\n \"thumb-hover\": primitives.neutral[250],\n track: primitives.neutral[75],\n },\n selection: {\n bg: `color-mix(in srgb, ${primitives.orange[500]} 20%, transparent)`,\n text: primitives.neutral[1000],\n },\n skeleton: {\n base: primitives.neutral[100],\n shimmer: primitives.neutral[150],\n },\n status: {\n approved: {\n bg: primitives.green[500],\n text: primitives.green[600],\n },\n draft: {\n bg: primitives.neutral[550],\n text: primitives.neutral[600],\n },\n failed: {\n bg: primitives.red[500],\n text: primitives.red[600],\n },\n progress: {\n bg: primitives.purple[500],\n text: primitives.purple[600],\n },\n review: {\n bg: primitives.orange[500],\n text: primitives.orange[600],\n },\n },\n text: {\n accent: primitives.orange[500],\n decorative: primitives.orange[500],\n failure: primitives.red[600],\n foreground: primitives.neutral[1000],\n info: primitives.blue[600],\n inverse: primitives.neutral[0],\n muted: primitives.neutral[450],\n placeholder: primitives.neutral[300],\n primary: primitives.neutral[925],\n secondary: primitives.neutral[650],\n success: primitives.green[600],\n tertiary: primitives.neutral[550],\n warning: primitives.yellow[700],\n },\n tooltip: {\n bg: primitives.neutral[925],\n text: primitives.neutral[25],\n },\n \"viz-chart\": {\n blue: primitives.blue[500],\n green: primitives.green[500],\n lime: primitives.lime[500],\n magenta: primitives.magenta[500],\n neutral: primitives.neutral[500],\n pink: primitives.pink[500],\n purple: primitives.purple[500],\n red: primitives.red[500],\n teal: primitives.teal[500],\n yellow: primitives.yellow[500],\n },\n \"viz-overlay\": {\n blue: primitives.blue[400],\n green: primitives.green[400],\n lime: primitives.lime[400],\n magenta: primitives.magenta[400],\n neutral: primitives.neutral[400],\n pink: primitives.pink[400],\n purple: primitives.purple[400],\n red: primitives.red[400],\n teal: primitives.teal[400],\n yellow: primitives.yellow[400],\n },\n },\n },\n};\n","/**\n * Spacing.\n *\n * Two tiers, because Figma's names are values and Tailwind's are too.\n *\n * `spacing` mirrors the Figma `spacing/*` scale verbatim — Figma re-keyed it\n * from steps to raw pixels, so `spacing/16` means 16px and not the 64px that\n * the identically-named step used to mean.\n *\n * `spacingRole` is the tier Figma's Primitives collection does not have yet,\n * and is what consumers bind to. Only these reach CSS: see the note below.\n */\n\n/** The Figma `spacing/*` scale. Keys are pixel values, not steps. */\nexport const spacing = {\n 2: \"2px\",\n 4: \"4px\",\n 6: \"6px\",\n 8: \"8px\",\n 10: \"10px\",\n 12: \"12px\",\n 16: \"16px\",\n 20: \"20px\",\n 24: \"24px\",\n 32: \"32px\",\n 40: \"40px\",\n 48: \"48px\",\n 64: \"64px\",\n} as const;\n\n/**\n * Named spacing roles — the public surface.\n *\n * **These, and only these, are emitted as `--spacing-*` custom properties.**\n * Tailwind v4 derives every numeric spacing utility from a single multiplier\n * (`--spacing: 0.25rem`), so `py-2` is `calc(var(--spacing) * 2)` = 8px — but\n * only while `--spacing-2` is undefined. Emitting the numeric scale above\n * would define it, silently redefining `py-2` as 2px and doing the same to 71\n * other numeric utilities, with no error from tsc, eslint or the suite.\n *\n * Values are unchanged from the previous t-shirt scale, so this tier is a\n * rename of nothing.\n *\n * Kept in `rem`, not the `px` of the Figma scale above. These are the values\n * that reach the browser, and `rem` scales with the user's root font size --\n * emitting `4px` where `0.25rem` used to be would quietly opt every spacing\n * utility out of browser text-size settings. Converting the scale to `rem` is\n * a real decision about whether Figma's pixels are pixels or ratios, and it\n * belongs with the spacing audit, not here.\n */\nexport const spacingRole = {\n xs: \"0.25rem\",\n sm: \"0.5rem\",\n md: \"1rem\",\n lg: \"1.5rem\",\n xl: \"2rem\",\n} as const;\n","/**\n * Transition design tokens for the VOODO design system.\n *\n * Three layers:\n * 1. `duration` — how long a transition takes\n * 2. `easing` — the timing curve (how it accelerates / decelerates)\n * 3. `preset` — pre-composed shorthand values for common UI patterns\n *\n * These are compiled into CSS custom properties by the generate-tailwind-theme\n * script and consumed through the TypeScript helpers in `src/types/transition.ts`.\n */\nexport const transitions = {\n /**\n * Duration tokens — semantic names for how long an animation takes.\n *\n * instant (0ms) Use for state that should feel truly immediate.\n * fast (100ms) Micro-interactions: hover highlights, icon swaps.\n * normal (200ms) Default: color, border, and opacity changes.\n * moderate (300ms) Slightly heavier state changes: panel reveals, tooltips.\n * slow (500ms) Deliberate motion: drawers, slide-in panels.\n * deliberate(700ms) Page-level or dramatic transitions.\n */\n duration: {\n instant: \"0ms\",\n fast: \"100ms\",\n normal: \"200ms\",\n moderate: \"300ms\",\n slow: \"500ms\",\n deliberate: \"700ms\",\n },\n\n /**\n * Easing (timing-function) tokens.\n *\n * linear Constant speed. Mechanical feel; suits progress bars/loaders.\n * in Starts slow, accelerates. Best for exits / elements leaving the screen.\n * out Starts fast, decelerates. Best for entrances / elements arriving.\n * in-out Slow start and end. Best for general UI state changes.\n * spring Slight overshoot then settles. Adds energy to interactive elements.\n * sharp Quick in, gradual out. Crisp, snappy feel for menus/overlays.\n */\n easing: {\n linear: \"linear\",\n in: \"cubic-bezier(0.4, 0, 1, 1)\",\n out: \"cubic-bezier(0, 0, 0.2, 1)\",\n \"in-out\": \"cubic-bezier(0.4, 0, 0.2, 1)\",\n spring: \"cubic-bezier(0.34, 1.56, 0.64, 1)\",\n sharp: \"cubic-bezier(0.4, 0, 0.6, 1)\",\n },\n\n /**\n * Pre-composed transition shorthands for common UI patterns.\n * These bake in the right duration + easing for each context so\n * component authors pick semantics, not numbers.\n *\n * colors Background, text, border, fill, and stroke color changes.\n * opacity Fade in/out.\n * transform Scale, translate, and rotate.\n * shadow Box-shadow elevation changes.\n * menu Dropdown / context menu appear and disappear.\n * panel Drawers and slide-in sheets.\n * overlay Modal backdrop fade.\n * all General-purpose catch-all.\n */\n preset: {\n colors:\n \"color 200ms cubic-bezier(0.4, 0, 0.2, 1), background-color 200ms cubic-bezier(0.4, 0, 0.2, 1), border-color 200ms cubic-bezier(0.4, 0, 0.2, 1), fill 200ms cubic-bezier(0.4, 0, 0.2, 1), stroke 200ms cubic-bezier(0.4, 0, 0.2, 1)\",\n opacity: \"opacity 200ms cubic-bezier(0.4, 0, 0.2, 1)\",\n transform: \"transform 200ms cubic-bezier(0, 0, 0.2, 1)\",\n shadow: \"box-shadow 200ms cubic-bezier(0.4, 0, 0.2, 1)\",\n menu: \"opacity 100ms cubic-bezier(0, 0, 0.2, 1), transform 100ms cubic-bezier(0, 0, 0.2, 1)\",\n panel: \"transform 300ms cubic-bezier(0, 0, 0.2, 1)\",\n overlay: \"opacity 200ms cubic-bezier(0.4, 0, 0.2, 1)\",\n all: \"all 200ms cubic-bezier(0.4, 0, 0.2, 1)\",\n },\n} as const;\n","import { colors } from \"./colors\";\n\n/**\n * The visualization palettes — the colors handed out when something needs a\n * series of distinguishable colors.\n *\n * Figma splits these into two groups, and the distinction matters:\n *\n * - `viz-overlay` is **mode-independent** (identical in both themes). These\n * are marks drawn *on media* — looker's detection boxes, masks, keypoints.\n * The image behind them does not get lighter when the UI does, so neither\n * may they, or a label that read well over a dark photo stops reading.\n * - `viz-chart` **varies by mode**. These are marks drawn *on the UI* —\n * histograms, plots, legends — and must hold contrast against a surface\n * that does change.\n *\n * Pick by what the color is drawn onto, not by which list is nearer to hand.\n *\n * This module is pure data with no React or CSS dependency, so it is safe to\n * import from workers and other non-UI contexts via `@voxel51/voodo/tokens`.\n */\n\n/**\n * Pool order. **Code-side, not a Figma token.**\n *\n * Figma's `palette/1-brand … 18-mint` numbered the slots, so the order was the\n * design's to state and code just read the numbers off. `viz-chart` and\n * `viz-overlay` are keyed by hue with no ordering, so the sequence has to live\n * here until Figma expresses it again.\n *\n * Ordered for separation between *adjacent* slots, since a pool is consumed by\n * index and neighbours are what land side by side. `neutral` sorts last: it\n * reads as \"no category\" and should be the last color a dataset reaches for.\n * Brand orange is deliberately absent — Figma dropped it from both viz groups,\n * and a data series colored like the primary action is a real ambiguity.\n */\nconst POOL_ORDER = [\n \"blue\",\n \"green\",\n \"purple\",\n \"pink\",\n \"yellow\",\n \"teal\",\n \"red\",\n \"lime\",\n \"magenta\",\n \"neutral\",\n] as const;\n\nexport type VizHue = (typeof POOL_ORDER)[number];\n\ntype VizGroup = Record<VizHue, string>;\n\nconst pool = (group: VizGroup): readonly string[] =>\n POOL_ORDER.map((hue) => group[hue]);\n\n/**\n * Hue names in pool order. The slot list, for anything that labels slots.\n *\n * @deprecated This used to be `{ dark, light }` lists of Figma's numbered\n * `palette/*` slot keys. The viz groups are keyed by hue and carry no mode\n * split, so it is now a single flat list; callers indexing `.dark` / `.light`\n * need updating. Prefer {@link overlayPool} / {@link chartPool} with\n * {@link VizHue}.\n */\nexport const paletteSlots: readonly VizHue[] = POOL_ORDER;\n\n/**\n * Mode-independent overlay colors, in pool order. The right pool for anything\n * drawn over media.\n */\nexport const overlayPool: readonly string[] = pool(\n colors.dark.content[\"viz-overlay\"]\n);\n\n/** Chart colors in pool order, per mode. */\nexport const chartPool = {\n dark: pool(colors.dark.content[\"viz-chart\"]),\n light: pool(colors.light.content[\"viz-chart\"]),\n} as const;\n\n/**\n * @deprecated Figma's `palette/*` group was replaced by `viz-chart` and\n * `viz-overlay` in the 2026-09-05 token release. This alias keeps the old\n * import working and resolves to the **chart** pool; if the colors are drawn\n * over media, move to `overlayPool` instead — that is a behaviour change, not\n * a rename, and it is the one this split exists to make visible.\n */\nexport const palettePool = chartPool;\n"],"names":["fontSize","lineHeight","textRole","typography","primitives","colors","spacing","spacingRole","transitions","POOL_ORDER","pool","group","hue","paletteSlots","overlayPool","chartPool","palettePool"],"mappings":"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"}
@@ -0,0 +1,2 @@
1
+ "use strict";const r={9:"9px",11:"11px",12:"12px",13:"13px",14:"14px",15:"15px",16:"16px",18:"18px",23:"23px"},n={12:"12px",16:"16px",20:"20px",24:"24px",28:"28px",36:"36px",44:"44px",52:"52px"},u={"heading-xl":{fontSize:r[23],lineHeight:n[28],fontWeight:400},"heading-lg":{fontSize:r[18],lineHeight:n[24],fontWeight:500},"heading-md":{fontSize:r[16],lineHeight:n[20],fontWeight:500},"heading-sm":{fontSize:r[14],lineHeight:n[20],fontWeight:500},"heading-xs":{fontSize:r[12],lineHeight:n[16],fontWeight:500},"body-primary":{fontSize:r[15],lineHeight:n[20],fontWeight:400},"body-secondary":{fontSize:r[14],lineHeight:n[20],fontWeight:400},"body-tertiary":{fontSize:r[12],lineHeight:n[16],fontWeight:400},label:{fontSize:r[12],lineHeight:n[16],fontWeight:600},caption:{fontSize:r[11],lineHeight:n[16],fontWeight:400},"code-primary":{fontSize:r[12],lineHeight:n[16],fontWeight:400},"code-secondary":{fontSize:r[11],lineHeight:n[16],fontWeight:400}},p={fontFamily:{sans:["Palanquin","sans-serif"],mono:["Roboto Mono","monospace"]},fontSize:{xxs:r[9],xs:r[11],sm:r[12],md:r[13],lg:r[15],xl:r[18],xxl:r[23]},textRole:u,fontWeight:{regular:400,medium:500,semibold:600,bold:700}},e={neutral:{0:"#FFFFFF",25:"#FFF9F5",50:"#F9F8F7",75:"#F2F1F0",100:"#EEEDEC",125:"#E8E7E6",150:"#E0DEDC",200:"#D0CECC",250:"#C0BEBC",300:"#B5B3B1",350:"#A0A09E",400:"#9C9896",450:"#8F8D8B",500:"#6E6C6A",550:"#6B6968",600:"#4A4C4E",650:"#4A4847",700:"#3E4244",750:"#2F3234",800:"#2A2B2C",825:"#232526",850:"#1F2021",875:"#1E1F20",900:"#1C1D1E",925:"#18191A",950:"#141618",1e3:"#000000"},orange:{300:"#FFB584",400:"#FF8A3D",500:"#FA5300",600:"#C74200",700:"#943100"},green:{300:"#7AB87C",400:"#4CA05A",500:"#1E7D45",600:"#166638",700:"#0E4E2B"},red:{300:"#FF9999",400:"#FF6767",500:"#C33636",600:"#9B2727",700:"#751D1D"},blue:{300:"#86B5F6",400:"#4F8BEF",500:"#2563EB",600:"#1D4EBA",700:"#153A8A"},yellow:{300:"#FCCB58",400:"#ECAB2E",500:"#D97706",600:"#B26003",700:"#8A4A02"},purple:{300:"#CBA6FF",400:"#AB81FB",500:"#8B5CF6",600:"#6F42C1",700:"#532E91"},pink:{300:"#F988B4",400:"#EF5793",500:"#DB2777",600:"#AF1D5E",700:"#851547"},teal:{300:"#5EC6B9",400:"#32ADA0",500:"#0D9488",600:"#0A766C",700:"#075951"},expressive:{"orange-default":"#FA5300","pink-default":"#DA3B72","purple-default":"#B84DD9","orange-hover":"#D14600","pink-hover":"#C62B60","purple-hover":"#9E37C0","orange-pressed":"#A83800","pink-pressed":"#A9214F","purple-pressed":"#82299F"},lime:{300:"#86C816",400:"#6FA512",500:"#57820E",600:"#45670B",700:"#334D08"},magenta:{300:"#E9A0F0",400:"#DB64E6",500:"#C623D5",600:"#9C1CA8",700:"#75157E"}},t={common:{brand:{primary:e.orange[500],accent:e.orange[400]},semantic:{success:e.green[500],destructive:e.red[500],info:e.blue[500],warning:e.yellow[500]}},dark:{content:{bg:{accent:e.orange[400],background:e.neutral[925],card:e.neutral[875],"card-elevated":e.neutral[750],"card-nested":e.neutral[825],failure:e.red[500],info:e.blue[500],muted:e.neutral[850],popover:e.neutral[950],primary:e.orange[500],secondary:e.neutral[900],selected:`color-mix(in srgb, ${e.orange[500]} 30%, transparent)`,success:e.green[500],warning:e.yellow[500]},border:{active:e.orange[500],default:e.neutral[750],disabled:e.neutral[875],error:e.red[400],focus:e.neutral[500],hover:e.neutral[600],input:e.neutral[750],"input-focus":e.neutral[500],"input-hover":e.neutral[600],strong:e.neutral[700],subtle:e.neutral[875],success:e.green[300],warning:e.yellow[300]},code:{bg:e.neutral[950],border:e.neutral[750],text:e.orange[400]},focus:{ring:`color-mix(in srgb, ${e.orange[500]} 50%, transparent)`},icon:{brand:e.orange[500],dark:e.neutral[925],decorative:e.orange[400],default:e.neutral[450],disabled:e.neutral[550],emphasis:e.neutral[0],failure:e.red[400],info:e.blue[300],muted:e.neutral[550],subtle:e.neutral[500],success:e.green[300],warning:e.yellow[300]},interactive:{"danger-default":e.red[500],"danger-hover":e.red[600],"danger-pressed":e.red[700],"expressive-default":{end:e.expressive["purple-default"],mid:e.expressive["pink-default"],start:e.expressive["orange-default"]},"expressive-hover":{end:e.expressive["purple-hover"],mid:e.expressive["pink-hover"],start:e.expressive["orange-hover"]},"expressive-pressed":{end:e.expressive["purple-pressed"],mid:e.expressive["pink-pressed"],start:e.expressive["orange-pressed"]},"primary-default":e.orange[500],"primary-hover":e.orange[600],"primary-pressed":e.orange[700],"secondary-default":e.neutral[825],"secondary-hover":e.neutral[800],"secondary-pressed":e.neutral[875],"success-default":e.green[500],"success-hover":e.green[600],"success-pressed":e.green[700]},link:{default:e.blue[300],hover:e.blue[400],visited:e.purple[400]},scrim:{default:`color-mix(in srgb, ${e.neutral[1e3]} 60%, transparent)`,heavy:`color-mix(in srgb, ${e.neutral[1e3]} 80%, transparent)`,light:`color-mix(in srgb, ${e.neutral[1e3]} 40%, transparent)`},scrollbar:{thumb:e.neutral[700],"thumb-hover":e.neutral[600],track:e.neutral[925]},selection:{bg:`color-mix(in srgb, ${e.orange[500]} 30%, transparent)`,text:e.neutral[0]},skeleton:{base:e.neutral[825],shimmer:e.neutral[750]},status:{approved:{bg:e.green[500],text:e.green[300]},draft:{bg:e.neutral[550],text:e.neutral[450]},failed:{bg:e.red[500],text:e.red[400]},progress:{bg:e.purple[500],text:e.purple[300]},review:{bg:e.orange[500],text:e.orange[400]}},text:{accent:e.orange[400],decorative:e.orange[400],failure:e.red[400],foreground:e.neutral[25],info:e.blue[300],inverse:e.neutral[900],muted:e.neutral[400],placeholder:e.neutral[550],primary:e.neutral[0],secondary:e.neutral[450],success:e.green[300],tertiary:e.neutral[500],warning:e.yellow[300]},tooltip:{bg:e.neutral[800],text:e.neutral[25]},"viz-chart":{blue:e.blue[400],green:e.green[400],lime:e.lime[400],magenta:e.magenta[400],neutral:e.neutral[400],pink:e.pink[400],purple:e.purple[400],red:e.red[400],teal:e.teal[400],yellow:e.yellow[400]},"viz-overlay":{blue:e.blue[400],green:e.green[400],lime:e.lime[400],magenta:e.magenta[400],neutral:e.neutral[400],pink:e.pink[400],purple:e.purple[400],red:e.red[400],teal:e.teal[400],yellow:e.yellow[400]}}},light:{content:{bg:{accent:e.orange[400],background:e.neutral[50],card:e.neutral[0],"card-elevated":e.neutral[0],"card-nested":e.neutral[75],failure:e.red[500],info:e.blue[500],muted:e.neutral[100],popover:e.neutral[0],primary:e.orange[500],secondary:e.neutral[125],selected:`color-mix(in srgb, ${e.orange[500]} 30%, transparent)`,success:e.green[500],warning:e.yellow[500]},border:{active:e.orange[500],default:e.neutral[150],disabled:e.neutral[100],error:e.red[500],focus:e.neutral[350],hover:e.neutral[250],input:e.neutral[200],"input-focus":e.neutral[350],"input-hover":e.neutral[250],strong:e.neutral[200],subtle:e.neutral[100],success:e.green[500],warning:e.yellow[500]},code:{bg:e.neutral[75],border:e.neutral[150],text:e.orange[700]},focus:{ring:`color-mix(in srgb, ${e.orange[500]} 50%, transparent)`},icon:{brand:e.orange[500],dark:e.neutral[925],decorative:e.orange[500],default:e.neutral[550],disabled:e.neutral[300],emphasis:e.neutral[925],failure:e.red[500],info:e.blue[500],muted:e.neutral[300],subtle:e.neutral[450],success:e.green[500],warning:e.yellow[500]},interactive:{"danger-default":e.red[500],"danger-hover":e.red[600],"danger-pressed":e.red[700],"expressive-default":{end:e.expressive["purple-default"],mid:e.expressive["pink-default"],start:e.expressive["orange-default"]},"expressive-hover":{end:e.expressive["purple-hover"],mid:e.expressive["pink-hover"],start:e.expressive["orange-hover"]},"expressive-pressed":{end:e.expressive["purple-pressed"],mid:e.expressive["pink-pressed"],start:e.expressive["orange-pressed"]},"primary-default":e.orange[500],"primary-hover":e.orange[600],"primary-pressed":e.orange[700],"secondary-default":e.neutral[100],"secondary-hover":e.neutral[150],"secondary-pressed":e.neutral[200],"success-default":e.green[500],"success-hover":e.green[600],"success-pressed":e.green[700]},link:{default:e.blue[500],hover:e.blue[600],visited:e.purple[600]},scrim:{default:`color-mix(in srgb, ${e.neutral[1e3]} 50%, transparent)`,heavy:`color-mix(in srgb, ${e.neutral[1e3]} 70%, transparent)`,light:`color-mix(in srgb, ${e.neutral[1e3]} 30%, transparent)`},scrollbar:{thumb:e.neutral[200],"thumb-hover":e.neutral[250],track:e.neutral[75]},selection:{bg:`color-mix(in srgb, ${e.orange[500]} 20%, transparent)`,text:e.neutral[1e3]},skeleton:{base:e.neutral[100],shimmer:e.neutral[150]},status:{approved:{bg:e.green[500],text:e.green[600]},draft:{bg:e.neutral[550],text:e.neutral[600]},failed:{bg:e.red[500],text:e.red[600]},progress:{bg:e.purple[500],text:e.purple[600]},review:{bg:e.orange[500],text:e.orange[600]}},text:{accent:e.orange[500],decorative:e.orange[500],failure:e.red[600],foreground:e.neutral[1e3],info:e.blue[600],inverse:e.neutral[0],muted:e.neutral[450],placeholder:e.neutral[300],primary:e.neutral[925],secondary:e.neutral[650],success:e.green[600],tertiary:e.neutral[550],warning:e.yellow[700]},tooltip:{bg:e.neutral[925],text:e.neutral[25]},"viz-chart":{blue:e.blue[500],green:e.green[500],lime:e.lime[500],magenta:e.magenta[500],neutral:e.neutral[500],pink:e.pink[500],purple:e.purple[500],red:e.red[500],teal:e.teal[500],yellow:e.yellow[500]},"viz-overlay":{blue:e.blue[400],green:e.green[400],lime:e.lime[400],magenta:e.magenta[400],neutral:e.neutral[400],pink:e.pink[400],purple:e.purple[400],red:e.red[400],teal:e.teal[400],yellow:e.yellow[400]}}}},d={2:"2px",4:"4px",6:"6px",8:"8px",10:"10px",12:"12px",16:"16px",20:"20px",24:"24px",32:"32px",40:"40px",48:"48px",64:"64px"},g={xs:"0.25rem",sm:"0.5rem",md:"1rem",lg:"1.5rem",xl:"2rem"},c={duration:{instant:"0ms",fast:"100ms",normal:"200ms",moderate:"300ms",slow:"500ms",deliberate:"700ms"},easing:{linear:"linear",in:"cubic-bezier(0.4, 0, 1, 1)",out:"cubic-bezier(0, 0, 0.2, 1)","in-out":"cubic-bezier(0.4, 0, 0.2, 1)",spring:"cubic-bezier(0.34, 1.56, 0.64, 1)",sharp:"cubic-bezier(0.4, 0, 0.6, 1)"},preset:{colors:"color 200ms cubic-bezier(0.4, 0, 0.2, 1), background-color 200ms cubic-bezier(0.4, 0, 0.2, 1), border-color 200ms cubic-bezier(0.4, 0, 0.2, 1), fill 200ms cubic-bezier(0.4, 0, 0.2, 1), stroke 200ms cubic-bezier(0.4, 0, 0.2, 1)",opacity:"opacity 200ms cubic-bezier(0.4, 0, 0.2, 1)",transform:"transform 200ms cubic-bezier(0, 0, 0.2, 1)",shadow:"box-shadow 200ms cubic-bezier(0.4, 0, 0.2, 1)",menu:"opacity 100ms cubic-bezier(0, 0, 0.2, 1), transform 100ms cubic-bezier(0, 0, 0.2, 1)",panel:"transform 300ms cubic-bezier(0, 0, 0.2, 1)",overlay:"opacity 200ms cubic-bezier(0.4, 0, 0.2, 1)",all:"all 200ms cubic-bezier(0.4, 0, 0.2, 1)"}},l=["blue","green","purple","pink","yellow","teal","red","lime","magenta","neutral"],a=o=>l.map(s=>o[s]),b=l,m=a(t.dark.content["viz-overlay"]),i={dark:a(t.dark.content["viz-chart"]),light:a(t.light.content["viz-chart"])},x=i;exports.chartPool=i;exports.colors=t;exports.fontSize=r;exports.lineHeight=n;exports.overlayPool=m;exports.palettePool=x;exports.paletteSlots=b;exports.primitives=e;exports.spacing=d;exports.spacingRole=g;exports.transitions=c;exports.typography=p;
2
+ //# sourceMappingURL=palette-DV12yAPS.cjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"palette-DV12yAPS.cjs","sources":["../src/theme/tokens/typography.ts","../src/theme/tokens/colors.ts","../src/theme/tokens/spacing.ts","../src/theme/tokens/transitions.ts","../src/theme/tokens/palette.ts"],"sourcesContent":["/**\n * Typography.\n *\n * Same two-tier split as spacing, and for the same reason: Figma re-keyed\n * `font-size` and `line-height` from t-shirt names to pixel values, and the\n * role names Tailwind emits (`text-sm`, `text-lg`) have to keep meaning what\n * they mean today.\n */\n\n/** The Figma `font-size/*` scale. Keys are pixel values. */\nexport const fontSize = {\n 9: \"9px\",\n 11: \"11px\",\n 12: \"12px\",\n 13: \"13px\",\n 14: \"14px\",\n 15: \"15px\",\n 16: \"16px\",\n 18: \"18px\",\n 23: \"23px\",\n} as const;\n\n/** The Figma `line-height/*` scale. Keys are pixel values. */\nexport const lineHeight = {\n 12: \"12px\",\n 16: \"16px\",\n 20: \"20px\",\n 24: \"24px\",\n 28: \"28px\",\n 36: \"36px\",\n 44: \"44px\",\n 52: \"52px\",\n} as const;\n\n/**\n * The Figma `type/*` tier — the twelve text roles every text layer in the\n * design file binds to. Each role pairs a size with its leading and weight,\n * which is the thing the size-only scale below could never express.\n *\n * Read live from the design file on 2026-09-30. `code-secondary` is 11px\n * there, not the 12px an earlier hand-off table recorded.\n */\nexport const textRole = {\n \"heading-xl\": {\n fontSize: fontSize[23],\n lineHeight: lineHeight[28],\n fontWeight: 400,\n },\n \"heading-lg\": {\n fontSize: fontSize[18],\n lineHeight: lineHeight[24],\n fontWeight: 500,\n },\n \"heading-md\": {\n fontSize: fontSize[16],\n lineHeight: lineHeight[20],\n fontWeight: 500,\n },\n \"heading-sm\": {\n fontSize: fontSize[14],\n lineHeight: lineHeight[20],\n fontWeight: 500,\n },\n \"heading-xs\": {\n fontSize: fontSize[12],\n lineHeight: lineHeight[16],\n fontWeight: 500,\n },\n \"body-primary\": {\n fontSize: fontSize[15],\n lineHeight: lineHeight[20],\n fontWeight: 400,\n },\n \"body-secondary\": {\n fontSize: fontSize[14],\n lineHeight: lineHeight[20],\n fontWeight: 400,\n },\n \"body-tertiary\": {\n fontSize: fontSize[12],\n lineHeight: lineHeight[16],\n fontWeight: 400,\n },\n label: {\n fontSize: fontSize[12],\n lineHeight: lineHeight[16],\n fontWeight: 600,\n },\n caption: {\n fontSize: fontSize[11],\n lineHeight: lineHeight[16],\n fontWeight: 400,\n },\n \"code-primary\": {\n fontSize: fontSize[12],\n lineHeight: lineHeight[16],\n fontWeight: 400,\n },\n \"code-secondary\": {\n fontSize: fontSize[11],\n lineHeight: lineHeight[16],\n fontWeight: 400,\n },\n} as const;\n\nexport type TextRole = keyof typeof textRole;\n\nexport const typography = {\n fontFamily: {\n sans: [\"Palanquin\", \"sans-serif\"],\n // Figma names a real face here. It was the generic `monospace` keyword,\n // which resolved to whatever the OS picked — so code blocks rendered\n // differently on every machine and never matched the design.\n mono: [\"Roboto Mono\", \"monospace\"],\n },\n\n /**\n * Named size roles — the public surface, and the only tier emitted as\n * `--text-*`.\n *\n * Emitting the numeric scale instead would leave `--text-sm` and `--text-lg`\n * undefined, and Tailwind would quietly fall back to its own built-in scale\n * across 41 call sites.\n *\n * Values are deliberately unchanged from the previous scale, so this tier is\n * a rename of nothing.\n *\n * Figma added `font-size/14` and `/16` and nothing consumes them yet. They\n * are almost certainly the new body and heading sizes, but re-pointing `md`\n * and `lg` at them in isolation makes type look worse, not better: the\n * line-heights these sizes are paired with are raw Tailwind numbers\n * (`text-md/5`), not tokens, so the size moves and the leading does not.\n * Size and leading have to be tokenised together, against Figma's 12 text\n * styles. Until then this tier holds still.\n */\n fontSize: {\n xxs: fontSize[9],\n xs: fontSize[11],\n sm: fontSize[12],\n md: fontSize[13],\n lg: fontSize[15],\n xl: fontSize[18],\n xxl: fontSize[23],\n },\n\n /**\n * The role tier, emitted as `--text-<role>` plus the `--line-height` and\n * `--font-weight` sub-properties Tailwind reads for the `text-<role>`\n * utility. This is what components bind to; the size-only tier above stays\n * for consumers that have not migrated.\n */\n textRole,\n\n /**\n * Figma's `font-weight/*` scale, verbatim.\n *\n * The previous map (light 300, normal 400, semibold 500, bold 600) matched\n * no Figma variable — `semibold` was a step light of Figma's, and `light`\n * had no counterpart at all. Nothing reads these: they are not emitted as\n * custom properties and the `font-*` utilities in use come from Tailwind's\n * own scale, so this corrects the data without moving any pixels.\n */\n fontWeight: {\n regular: 400,\n medium: 500,\n semibold: 600,\n bold: 700,\n },\n} as const;\n","/**\n * Color tokens — GENERATED from Figma's variable export by\n * kb/eng/projects/design-system-tokens/tools/build_colors.py.\n * Do not edit by hand; re-run the generator instead.\n *\n * Two tiers, mirroring the Figma collections:\n * - `primitives`: raw color scales. Not emitted as CSS vars directly.\n * - `colors.{dark,light}.content.*`: semantic tokens referencing them,\n * named exactly as the Figma variables are.\n */\nexport const primitives = {\n neutral: {\n 0: \"#FFFFFF\",\n 25: \"#FFF9F5\",\n 50: \"#F9F8F7\",\n 75: \"#F2F1F0\",\n 100: \"#EEEDEC\",\n 125: \"#E8E7E6\",\n 150: \"#E0DEDC\",\n 200: \"#D0CECC\",\n 250: \"#C0BEBC\",\n 300: \"#B5B3B1\",\n 350: \"#A0A09E\",\n 400: \"#9C9896\",\n 450: \"#8F8D8B\",\n 500: \"#6E6C6A\",\n 550: \"#6B6968\",\n 600: \"#4A4C4E\",\n 650: \"#4A4847\",\n 700: \"#3E4244\",\n 750: \"#2F3234\",\n 800: \"#2A2B2C\",\n 825: \"#232526\",\n 850: \"#1F2021\",\n 875: \"#1E1F20\",\n 900: \"#1C1D1E\",\n 925: \"#18191A\",\n 950: \"#141618\",\n 1000: \"#000000\",\n },\n orange: {\n 300: \"#FFB584\",\n 400: \"#FF8A3D\",\n 500: \"#FA5300\",\n 600: \"#C74200\",\n 700: \"#943100\",\n },\n green: {\n 300: \"#7AB87C\",\n 400: \"#4CA05A\",\n 500: \"#1E7D45\",\n 600: \"#166638\",\n 700: \"#0E4E2B\",\n },\n red: {\n 300: \"#FF9999\",\n 400: \"#FF6767\",\n 500: \"#C33636\",\n 600: \"#9B2727\",\n 700: \"#751D1D\",\n },\n blue: {\n 300: \"#86B5F6\",\n 400: \"#4F8BEF\",\n 500: \"#2563EB\",\n 600: \"#1D4EBA\",\n 700: \"#153A8A\",\n },\n yellow: {\n 300: \"#FCCB58\",\n 400: \"#ECAB2E\",\n 500: \"#D97706\",\n 600: \"#B26003\",\n 700: \"#8A4A02\",\n },\n purple: {\n 300: \"#CBA6FF\",\n 400: \"#AB81FB\",\n 500: \"#8B5CF6\",\n 600: \"#6F42C1\",\n 700: \"#532E91\",\n },\n pink: {\n 300: \"#F988B4\",\n 400: \"#EF5793\",\n 500: \"#DB2777\",\n 600: \"#AF1D5E\",\n 700: \"#851547\",\n },\n teal: {\n 300: \"#5EC6B9\",\n 400: \"#32ADA0\",\n 500: \"#0D9488\",\n 600: \"#0A766C\",\n 700: \"#075951\",\n },\n expressive: {\n \"orange-default\": \"#FA5300\",\n \"pink-default\": \"#DA3B72\",\n \"purple-default\": \"#B84DD9\",\n \"orange-hover\": \"#D14600\",\n \"pink-hover\": \"#C62B60\",\n \"purple-hover\": \"#9E37C0\",\n \"orange-pressed\": \"#A83800\",\n \"pink-pressed\": \"#A9214F\",\n \"purple-pressed\": \"#82299F\",\n },\n lime: {\n 300: \"#86C816\",\n 400: \"#6FA512\",\n 500: \"#57820E\",\n 600: \"#45670B\",\n 700: \"#334D08\",\n },\n magenta: {\n 300: \"#E9A0F0\",\n 400: \"#DB64E6\",\n 500: \"#C623D5\",\n 600: \"#9C1CA8\",\n 700: \"#75157E\",\n },\n} as const;\n\nexport const colors = {\n common: {\n brand: {\n primary: primitives.orange[500],\n accent: primitives.orange[400],\n },\n semantic: {\n success: primitives.green[500],\n destructive: primitives.red[500],\n info: primitives.blue[500],\n warning: primitives.yellow[500],\n },\n },\n dark: {\n content: {\n bg: {\n accent: primitives.orange[400],\n background: primitives.neutral[925],\n card: primitives.neutral[875],\n \"card-elevated\": primitives.neutral[750],\n \"card-nested\": primitives.neutral[825],\n failure: primitives.red[500],\n info: primitives.blue[500],\n muted: primitives.neutral[850],\n popover: primitives.neutral[950],\n primary: primitives.orange[500],\n secondary: primitives.neutral[900],\n selected: `color-mix(in srgb, ${primitives.orange[500]} 30%, transparent)`,\n success: primitives.green[500],\n warning: primitives.yellow[500],\n },\n border: {\n active: primitives.orange[500],\n default: primitives.neutral[750],\n disabled: primitives.neutral[875],\n error: primitives.red[400],\n focus: primitives.neutral[500],\n hover: primitives.neutral[600],\n input: primitives.neutral[750],\n \"input-focus\": primitives.neutral[500],\n \"input-hover\": primitives.neutral[600],\n strong: primitives.neutral[700],\n subtle: primitives.neutral[875],\n success: primitives.green[300],\n warning: primitives.yellow[300],\n },\n code: {\n bg: primitives.neutral[950],\n border: primitives.neutral[750],\n text: primitives.orange[400],\n },\n focus: {\n ring: `color-mix(in srgb, ${primitives.orange[500]} 50%, transparent)`,\n },\n icon: {\n brand: primitives.orange[500],\n dark: primitives.neutral[925],\n decorative: primitives.orange[400],\n default: primitives.neutral[450],\n disabled: primitives.neutral[550],\n emphasis: primitives.neutral[0],\n failure: primitives.red[400],\n info: primitives.blue[300],\n muted: primitives.neutral[550],\n subtle: primitives.neutral[500],\n success: primitives.green[300],\n warning: primitives.yellow[300],\n },\n interactive: {\n \"danger-default\": primitives.red[500],\n \"danger-hover\": primitives.red[600],\n \"danger-pressed\": primitives.red[700],\n \"expressive-default\": {\n end: primitives.expressive[\"purple-default\"],\n mid: primitives.expressive[\"pink-default\"],\n start: primitives.expressive[\"orange-default\"],\n },\n \"expressive-hover\": {\n end: primitives.expressive[\"purple-hover\"],\n mid: primitives.expressive[\"pink-hover\"],\n start: primitives.expressive[\"orange-hover\"],\n },\n \"expressive-pressed\": {\n end: primitives.expressive[\"purple-pressed\"],\n mid: primitives.expressive[\"pink-pressed\"],\n start: primitives.expressive[\"orange-pressed\"],\n },\n \"primary-default\": primitives.orange[500],\n \"primary-hover\": primitives.orange[600],\n \"primary-pressed\": primitives.orange[700],\n \"secondary-default\": primitives.neutral[825],\n \"secondary-hover\": primitives.neutral[800],\n \"secondary-pressed\": primitives.neutral[875],\n \"success-default\": primitives.green[500],\n \"success-hover\": primitives.green[600],\n \"success-pressed\": primitives.green[700],\n },\n link: {\n default: primitives.blue[300],\n hover: primitives.blue[400],\n visited: primitives.purple[400],\n },\n scrim: {\n default: `color-mix(in srgb, ${primitives.neutral[1000]} 60%, transparent)`,\n heavy: `color-mix(in srgb, ${primitives.neutral[1000]} 80%, transparent)`,\n light: `color-mix(in srgb, ${primitives.neutral[1000]} 40%, transparent)`,\n },\n scrollbar: {\n thumb: primitives.neutral[700],\n \"thumb-hover\": primitives.neutral[600],\n track: primitives.neutral[925],\n },\n selection: {\n bg: `color-mix(in srgb, ${primitives.orange[500]} 30%, transparent)`,\n text: primitives.neutral[0],\n },\n skeleton: {\n base: primitives.neutral[825],\n shimmer: primitives.neutral[750],\n },\n status: {\n approved: {\n bg: primitives.green[500],\n text: primitives.green[300],\n },\n draft: {\n bg: primitives.neutral[550],\n text: primitives.neutral[450],\n },\n failed: {\n bg: primitives.red[500],\n text: primitives.red[400],\n },\n progress: {\n bg: primitives.purple[500],\n text: primitives.purple[300],\n },\n review: {\n bg: primitives.orange[500],\n text: primitives.orange[400],\n },\n },\n text: {\n accent: primitives.orange[400],\n decorative: primitives.orange[400],\n failure: primitives.red[400],\n foreground: primitives.neutral[25],\n info: primitives.blue[300],\n inverse: primitives.neutral[900],\n muted: primitives.neutral[400],\n placeholder: primitives.neutral[550],\n primary: primitives.neutral[0],\n secondary: primitives.neutral[450],\n success: primitives.green[300],\n tertiary: primitives.neutral[500],\n warning: primitives.yellow[300],\n },\n tooltip: {\n bg: primitives.neutral[800],\n text: primitives.neutral[25],\n },\n \"viz-chart\": {\n blue: primitives.blue[400],\n green: primitives.green[400],\n lime: primitives.lime[400],\n magenta: primitives.magenta[400],\n neutral: primitives.neutral[400],\n pink: primitives.pink[400],\n purple: primitives.purple[400],\n red: primitives.red[400],\n teal: primitives.teal[400],\n yellow: primitives.yellow[400],\n },\n \"viz-overlay\": {\n blue: primitives.blue[400],\n green: primitives.green[400],\n lime: primitives.lime[400],\n magenta: primitives.magenta[400],\n neutral: primitives.neutral[400],\n pink: primitives.pink[400],\n purple: primitives.purple[400],\n red: primitives.red[400],\n teal: primitives.teal[400],\n yellow: primitives.yellow[400],\n },\n },\n },\n light: {\n content: {\n bg: {\n accent: primitives.orange[400],\n background: primitives.neutral[50],\n card: primitives.neutral[0],\n \"card-elevated\": primitives.neutral[0],\n \"card-nested\": primitives.neutral[75],\n failure: primitives.red[500],\n info: primitives.blue[500],\n muted: primitives.neutral[100],\n popover: primitives.neutral[0],\n primary: primitives.orange[500],\n secondary: primitives.neutral[125],\n selected: `color-mix(in srgb, ${primitives.orange[500]} 30%, transparent)`,\n success: primitives.green[500],\n warning: primitives.yellow[500],\n },\n border: {\n active: primitives.orange[500],\n default: primitives.neutral[150],\n disabled: primitives.neutral[100],\n error: primitives.red[500],\n focus: primitives.neutral[350],\n hover: primitives.neutral[250],\n input: primitives.neutral[200],\n \"input-focus\": primitives.neutral[350],\n \"input-hover\": primitives.neutral[250],\n strong: primitives.neutral[200],\n subtle: primitives.neutral[100],\n success: primitives.green[500],\n warning: primitives.yellow[500],\n },\n code: {\n bg: primitives.neutral[75],\n border: primitives.neutral[150],\n text: primitives.orange[700],\n },\n focus: {\n ring: `color-mix(in srgb, ${primitives.orange[500]} 50%, transparent)`,\n },\n icon: {\n brand: primitives.orange[500],\n dark: primitives.neutral[925],\n decorative: primitives.orange[500],\n default: primitives.neutral[550],\n disabled: primitives.neutral[300],\n emphasis: primitives.neutral[925],\n failure: primitives.red[500],\n info: primitives.blue[500],\n muted: primitives.neutral[300],\n subtle: primitives.neutral[450],\n success: primitives.green[500],\n warning: primitives.yellow[500],\n },\n interactive: {\n \"danger-default\": primitives.red[500],\n \"danger-hover\": primitives.red[600],\n \"danger-pressed\": primitives.red[700],\n \"expressive-default\": {\n end: primitives.expressive[\"purple-default\"],\n mid: primitives.expressive[\"pink-default\"],\n start: primitives.expressive[\"orange-default\"],\n },\n \"expressive-hover\": {\n end: primitives.expressive[\"purple-hover\"],\n mid: primitives.expressive[\"pink-hover\"],\n start: primitives.expressive[\"orange-hover\"],\n },\n \"expressive-pressed\": {\n end: primitives.expressive[\"purple-pressed\"],\n mid: primitives.expressive[\"pink-pressed\"],\n start: primitives.expressive[\"orange-pressed\"],\n },\n \"primary-default\": primitives.orange[500],\n \"primary-hover\": primitives.orange[600],\n \"primary-pressed\": primitives.orange[700],\n \"secondary-default\": primitives.neutral[100],\n \"secondary-hover\": primitives.neutral[150],\n \"secondary-pressed\": primitives.neutral[200],\n \"success-default\": primitives.green[500],\n \"success-hover\": primitives.green[600],\n \"success-pressed\": primitives.green[700],\n },\n link: {\n default: primitives.blue[500],\n hover: primitives.blue[600],\n visited: primitives.purple[600],\n },\n scrim: {\n default: `color-mix(in srgb, ${primitives.neutral[1000]} 50%, transparent)`,\n heavy: `color-mix(in srgb, ${primitives.neutral[1000]} 70%, transparent)`,\n light: `color-mix(in srgb, ${primitives.neutral[1000]} 30%, transparent)`,\n },\n scrollbar: {\n thumb: primitives.neutral[200],\n \"thumb-hover\": primitives.neutral[250],\n track: primitives.neutral[75],\n },\n selection: {\n bg: `color-mix(in srgb, ${primitives.orange[500]} 20%, transparent)`,\n text: primitives.neutral[1000],\n },\n skeleton: {\n base: primitives.neutral[100],\n shimmer: primitives.neutral[150],\n },\n status: {\n approved: {\n bg: primitives.green[500],\n text: primitives.green[600],\n },\n draft: {\n bg: primitives.neutral[550],\n text: primitives.neutral[600],\n },\n failed: {\n bg: primitives.red[500],\n text: primitives.red[600],\n },\n progress: {\n bg: primitives.purple[500],\n text: primitives.purple[600],\n },\n review: {\n bg: primitives.orange[500],\n text: primitives.orange[600],\n },\n },\n text: {\n accent: primitives.orange[500],\n decorative: primitives.orange[500],\n failure: primitives.red[600],\n foreground: primitives.neutral[1000],\n info: primitives.blue[600],\n inverse: primitives.neutral[0],\n muted: primitives.neutral[450],\n placeholder: primitives.neutral[300],\n primary: primitives.neutral[925],\n secondary: primitives.neutral[650],\n success: primitives.green[600],\n tertiary: primitives.neutral[550],\n warning: primitives.yellow[700],\n },\n tooltip: {\n bg: primitives.neutral[925],\n text: primitives.neutral[25],\n },\n \"viz-chart\": {\n blue: primitives.blue[500],\n green: primitives.green[500],\n lime: primitives.lime[500],\n magenta: primitives.magenta[500],\n neutral: primitives.neutral[500],\n pink: primitives.pink[500],\n purple: primitives.purple[500],\n red: primitives.red[500],\n teal: primitives.teal[500],\n yellow: primitives.yellow[500],\n },\n \"viz-overlay\": {\n blue: primitives.blue[400],\n green: primitives.green[400],\n lime: primitives.lime[400],\n magenta: primitives.magenta[400],\n neutral: primitives.neutral[400],\n pink: primitives.pink[400],\n purple: primitives.purple[400],\n red: primitives.red[400],\n teal: primitives.teal[400],\n yellow: primitives.yellow[400],\n },\n },\n },\n};\n","/**\n * Spacing.\n *\n * Two tiers, because Figma's names are values and Tailwind's are too.\n *\n * `spacing` mirrors the Figma `spacing/*` scale verbatim — Figma re-keyed it\n * from steps to raw pixels, so `spacing/16` means 16px and not the 64px that\n * the identically-named step used to mean.\n *\n * `spacingRole` is the tier Figma's Primitives collection does not have yet,\n * and is what consumers bind to. Only these reach CSS: see the note below.\n */\n\n/** The Figma `spacing/*` scale. Keys are pixel values, not steps. */\nexport const spacing = {\n 2: \"2px\",\n 4: \"4px\",\n 6: \"6px\",\n 8: \"8px\",\n 10: \"10px\",\n 12: \"12px\",\n 16: \"16px\",\n 20: \"20px\",\n 24: \"24px\",\n 32: \"32px\",\n 40: \"40px\",\n 48: \"48px\",\n 64: \"64px\",\n} as const;\n\n/**\n * Named spacing roles — the public surface.\n *\n * **These, and only these, are emitted as `--spacing-*` custom properties.**\n * Tailwind v4 derives every numeric spacing utility from a single multiplier\n * (`--spacing: 0.25rem`), so `py-2` is `calc(var(--spacing) * 2)` = 8px — but\n * only while `--spacing-2` is undefined. Emitting the numeric scale above\n * would define it, silently redefining `py-2` as 2px and doing the same to 71\n * other numeric utilities, with no error from tsc, eslint or the suite.\n *\n * Values are unchanged from the previous t-shirt scale, so this tier is a\n * rename of nothing.\n *\n * Kept in `rem`, not the `px` of the Figma scale above. These are the values\n * that reach the browser, and `rem` scales with the user's root font size --\n * emitting `4px` where `0.25rem` used to be would quietly opt every spacing\n * utility out of browser text-size settings. Converting the scale to `rem` is\n * a real decision about whether Figma's pixels are pixels or ratios, and it\n * belongs with the spacing audit, not here.\n */\nexport const spacingRole = {\n xs: \"0.25rem\",\n sm: \"0.5rem\",\n md: \"1rem\",\n lg: \"1.5rem\",\n xl: \"2rem\",\n} as const;\n","/**\n * Transition design tokens for the VOODO design system.\n *\n * Three layers:\n * 1. `duration` — how long a transition takes\n * 2. `easing` — the timing curve (how it accelerates / decelerates)\n * 3. `preset` — pre-composed shorthand values for common UI patterns\n *\n * These are compiled into CSS custom properties by the generate-tailwind-theme\n * script and consumed through the TypeScript helpers in `src/types/transition.ts`.\n */\nexport const transitions = {\n /**\n * Duration tokens — semantic names for how long an animation takes.\n *\n * instant (0ms) Use for state that should feel truly immediate.\n * fast (100ms) Micro-interactions: hover highlights, icon swaps.\n * normal (200ms) Default: color, border, and opacity changes.\n * moderate (300ms) Slightly heavier state changes: panel reveals, tooltips.\n * slow (500ms) Deliberate motion: drawers, slide-in panels.\n * deliberate(700ms) Page-level or dramatic transitions.\n */\n duration: {\n instant: \"0ms\",\n fast: \"100ms\",\n normal: \"200ms\",\n moderate: \"300ms\",\n slow: \"500ms\",\n deliberate: \"700ms\",\n },\n\n /**\n * Easing (timing-function) tokens.\n *\n * linear Constant speed. Mechanical feel; suits progress bars/loaders.\n * in Starts slow, accelerates. Best for exits / elements leaving the screen.\n * out Starts fast, decelerates. Best for entrances / elements arriving.\n * in-out Slow start and end. Best for general UI state changes.\n * spring Slight overshoot then settles. Adds energy to interactive elements.\n * sharp Quick in, gradual out. Crisp, snappy feel for menus/overlays.\n */\n easing: {\n linear: \"linear\",\n in: \"cubic-bezier(0.4, 0, 1, 1)\",\n out: \"cubic-bezier(0, 0, 0.2, 1)\",\n \"in-out\": \"cubic-bezier(0.4, 0, 0.2, 1)\",\n spring: \"cubic-bezier(0.34, 1.56, 0.64, 1)\",\n sharp: \"cubic-bezier(0.4, 0, 0.6, 1)\",\n },\n\n /**\n * Pre-composed transition shorthands for common UI patterns.\n * These bake in the right duration + easing for each context so\n * component authors pick semantics, not numbers.\n *\n * colors Background, text, border, fill, and stroke color changes.\n * opacity Fade in/out.\n * transform Scale, translate, and rotate.\n * shadow Box-shadow elevation changes.\n * menu Dropdown / context menu appear and disappear.\n * panel Drawers and slide-in sheets.\n * overlay Modal backdrop fade.\n * all General-purpose catch-all.\n */\n preset: {\n colors:\n \"color 200ms cubic-bezier(0.4, 0, 0.2, 1), background-color 200ms cubic-bezier(0.4, 0, 0.2, 1), border-color 200ms cubic-bezier(0.4, 0, 0.2, 1), fill 200ms cubic-bezier(0.4, 0, 0.2, 1), stroke 200ms cubic-bezier(0.4, 0, 0.2, 1)\",\n opacity: \"opacity 200ms cubic-bezier(0.4, 0, 0.2, 1)\",\n transform: \"transform 200ms cubic-bezier(0, 0, 0.2, 1)\",\n shadow: \"box-shadow 200ms cubic-bezier(0.4, 0, 0.2, 1)\",\n menu: \"opacity 100ms cubic-bezier(0, 0, 0.2, 1), transform 100ms cubic-bezier(0, 0, 0.2, 1)\",\n panel: \"transform 300ms cubic-bezier(0, 0, 0.2, 1)\",\n overlay: \"opacity 200ms cubic-bezier(0.4, 0, 0.2, 1)\",\n all: \"all 200ms cubic-bezier(0.4, 0, 0.2, 1)\",\n },\n} as const;\n","import { colors } from \"./colors\";\n\n/**\n * The visualization palettes — the colors handed out when something needs a\n * series of distinguishable colors.\n *\n * Figma splits these into two groups, and the distinction matters:\n *\n * - `viz-overlay` is **mode-independent** (identical in both themes). These\n * are marks drawn *on media* — looker's detection boxes, masks, keypoints.\n * The image behind them does not get lighter when the UI does, so neither\n * may they, or a label that read well over a dark photo stops reading.\n * - `viz-chart` **varies by mode**. These are marks drawn *on the UI* —\n * histograms, plots, legends — and must hold contrast against a surface\n * that does change.\n *\n * Pick by what the color is drawn onto, not by which list is nearer to hand.\n *\n * This module is pure data with no React or CSS dependency, so it is safe to\n * import from workers and other non-UI contexts via `@voxel51/voodo/tokens`.\n */\n\n/**\n * Pool order. **Code-side, not a Figma token.**\n *\n * Figma's `palette/1-brand … 18-mint` numbered the slots, so the order was the\n * design's to state and code just read the numbers off. `viz-chart` and\n * `viz-overlay` are keyed by hue with no ordering, so the sequence has to live\n * here until Figma expresses it again.\n *\n * Ordered for separation between *adjacent* slots, since a pool is consumed by\n * index and neighbours are what land side by side. `neutral` sorts last: it\n * reads as \"no category\" and should be the last color a dataset reaches for.\n * Brand orange is deliberately absent — Figma dropped it from both viz groups,\n * and a data series colored like the primary action is a real ambiguity.\n */\nconst POOL_ORDER = [\n \"blue\",\n \"green\",\n \"purple\",\n \"pink\",\n \"yellow\",\n \"teal\",\n \"red\",\n \"lime\",\n \"magenta\",\n \"neutral\",\n] as const;\n\nexport type VizHue = (typeof POOL_ORDER)[number];\n\ntype VizGroup = Record<VizHue, string>;\n\nconst pool = (group: VizGroup): readonly string[] =>\n POOL_ORDER.map((hue) => group[hue]);\n\n/**\n * Hue names in pool order. The slot list, for anything that labels slots.\n *\n * @deprecated This used to be `{ dark, light }` lists of Figma's numbered\n * `palette/*` slot keys. The viz groups are keyed by hue and carry no mode\n * split, so it is now a single flat list; callers indexing `.dark` / `.light`\n * need updating. Prefer {@link overlayPool} / {@link chartPool} with\n * {@link VizHue}.\n */\nexport const paletteSlots: readonly VizHue[] = POOL_ORDER;\n\n/**\n * Mode-independent overlay colors, in pool order. The right pool for anything\n * drawn over media.\n */\nexport const overlayPool: readonly string[] = pool(\n colors.dark.content[\"viz-overlay\"]\n);\n\n/** Chart colors in pool order, per mode. */\nexport const chartPool = {\n dark: pool(colors.dark.content[\"viz-chart\"]),\n light: pool(colors.light.content[\"viz-chart\"]),\n} as const;\n\n/**\n * @deprecated Figma's `palette/*` group was replaced by `viz-chart` and\n * `viz-overlay` in the 2026-09-05 token release. This alias keeps the old\n * import working and resolves to the **chart** pool; if the colors are drawn\n * over media, move to `overlayPool` instead — that is a behaviour change, not\n * a rename, and it is the one this split exists to make visible.\n */\nexport const palettePool = chartPool;\n"],"names":["fontSize","lineHeight","textRole","typography","primitives","colors","spacing","spacingRole","transitions","POOL_ORDER","pool","group","hue","paletteSlots","overlayPool","chartPool","palettePool"],"mappings":"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"}