@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
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@voxel51/voodo",
3
- "version": "1.4.0-dev.0",
3
+ "version": "2.1.0",
4
4
  "description": "Voxel51's official design ontology (VOODO) system",
5
5
  "type": "module",
6
6
  "author": "Voxel Engineering <engineering@voxel51.com>",
@@ -29,14 +29,25 @@
29
29
  },
30
30
  "./theme.css": "./dist/voodo.css"
31
31
  },
32
+ "typesVersions": {
33
+ "*": {
34
+ "tokens": [
35
+ "./dist/tokens.d.ts"
36
+ ]
37
+ }
38
+ },
39
+ "bin": {
40
+ "voodo": "bin/voodo.mjs"
41
+ },
32
42
  "files": [
43
+ "bin",
33
44
  "dist",
34
45
  "NOTICE"
35
46
  ],
36
47
  "scripts": {
37
48
  "dev": "vite build --watch",
38
49
  "build": "tsc && vite build",
39
- "build:lib": "npm run prepublish && mkdir -p build/lib && npm pack --pack-destination build/lib/",
50
+ "build:lib": "npm run build && mkdir -p build/lib && npm pack --pack-destination build/lib/",
40
51
  "format": "prettier --write '**/*.{ts,tsx}'",
41
52
  "format:check": "prettier --check '**/*.{ts,tsx}'",
42
53
  "generate-icons": "tsx utils/generate-icons.ts && prettier --write src/components/Icons/icons.tsx --log-level warn",
@@ -1,32 +0,0 @@
1
- import { FC, HTMLAttributes, ReactNode } from 'react';
2
- export interface CodeBlockProps extends Omit<HTMLAttributes<HTMLDivElement>, "children"> {
3
- children?: ReactNode;
4
- code: string;
5
- copyable?: boolean;
6
- lineNumbers?: boolean;
7
- }
8
- /**
9
- * A block of code, with copying it one click away.
10
- *
11
- * The block renders `code` as written. A caller that highlights its own code
12
- * passes the marked-up result as `children`; `code` is still what the copy
13
- * control puts on the clipboard, so a highlighter's markup never reaches it.
14
- *
15
- * @example
16
- * ```tsx
17
- * <CodeBlock code={'print("hello")'} />
18
- *
19
- * <CodeBlock code={source}>
20
- * <Highlighted source={source} language="python" />
21
- * </CodeBlock>
22
- * ```
23
- *
24
- * @param children Optional marked-up rendering of `code`, such as a highlighter's output.
25
- * @param className `class` overrides to apply to the component.
26
- * @param code The code to display, and what the copy control copies.
27
- * @param copyable Whether the block offers a copy control.
28
- * @param lineNumbers Whether the block is numbered down its left edge.
29
- * @param props Additional HTML properties to apply to the component.
30
- */
31
- export declare const CodeBlock: FC<CodeBlockProps>;
32
- //# sourceMappingURL=CodeBlock.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"CodeBlock.d.ts","sourceRoot":"","sources":["../../../src/components/CodeBlock/CodeBlock.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,EAAE,EAAE,cAAc,EAAE,SAAS,EAAE,MAAM,OAAO,CAAC;AAqB3D,MAAM,WAAW,cAAe,SAAQ,IAAI,CAC1C,cAAc,CAAC,cAAc,CAAC,EAC9B,UAAU,CACX;IACC,QAAQ,CAAC,EAAE,SAAS,CAAC;IACrB,IAAI,EAAE,MAAM,CAAC;IACb,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,WAAW,CAAC,EAAE,OAAO,CAAC;CACvB;AAED;;;;;;;;;;;;;;;;;;;;;;GAsBG;AACH,eAAO,MAAM,SAAS,EAAE,EAAE,CAAC,cAAc,CA0ExC,CAAC"}
@@ -1,2 +0,0 @@
1
- export * from './CodeBlock';
2
- //# sourceMappingURL=index.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/components/CodeBlock/index.ts"],"names":[],"mappings":"AAAA,cAAc,aAAa,CAAC"}
@@ -1,28 +0,0 @@
1
- import { FC, HTMLAttributes, ReactNode } from 'react';
2
- import { TextColor, TextVariant } from '../../types';
3
- export interface LoadingScreenProps extends HTMLAttributes<HTMLDivElement> {
4
- color?: TextColor;
5
- text: ReactNode;
6
- variant?: TextVariant;
7
- }
8
- /**
9
- * A region that is still filling: the whole area, with what it is waiting on
10
- * centered in it.
11
- *
12
- * Where {@link LoadingDots} marks a piece of text as resolving, this stands in
13
- * for content that has not arrived. Two of these at two sizes read as two
14
- * different screens, so a product gives every wait the same one.
15
- *
16
- * @example
17
- * ```tsx
18
- * <LoadingScreen text="Loading" />
19
- * ```
20
- *
21
- * @param className `class` overrides to apply to the component.
22
- * @param color Text color. See {@link TextColor}.
23
- * @param text What the region is waiting on.
24
- * @param variant Text size. See {@link TextVariant}.
25
- * @param props Additional HTML properties to apply to the component.
26
- */
27
- export declare const LoadingScreen: FC<LoadingScreenProps>;
28
- //# sourceMappingURL=LoadingScreen.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"LoadingScreen.d.ts","sourceRoot":"","sources":["../../../src/components/LoadingScreen/LoadingScreen.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,EAAE,EAAE,cAAc,EAAE,SAAS,EAAE,MAAM,OAAO,CAAC;AAI3D,OAAO,EAAkB,SAAS,EAAE,WAAW,EAAE,MAAM,SAAS,CAAC;AAGjE,MAAM,WAAW,kBAAmB,SAAQ,cAAc,CAAC,cAAc,CAAC;IACxE,KAAK,CAAC,EAAE,SAAS,CAAC;IAClB,IAAI,EAAE,SAAS,CAAC;IAChB,OAAO,CAAC,EAAE,WAAW,CAAC;CACvB;AAED;;;;;;;;;;;;;;;;;;GAkBG;AACH,eAAO,MAAM,aAAa,EAAE,EAAE,CAAC,kBAAkB,CAehD,CAAC"}
@@ -1,2 +0,0 @@
1
- export * from './LoadingScreen';
2
- //# sourceMappingURL=index.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/components/LoadingScreen/index.ts"],"names":[],"mappings":"AAAA,cAAc,iBAAiB,CAAC"}
@@ -1,479 +0,0 @@
1
- const e = {
2
- neutral: {
3
- 0: "#FFFFFF",
4
- 25: "#FFF9F5",
5
- 50: "#F9F8F7",
6
- 75: "#F2F1F0",
7
- 100: "#EEEDEC",
8
- 125: "#E8E7E6",
9
- 150: "#E0DEDC",
10
- 200: "#D0CECC",
11
- 250: "#C0BEBC",
12
- 300: "#B5B3B1",
13
- 350: "#A0A09E",
14
- 400: "#9C9896",
15
- 450: "#8F8D8B",
16
- 500: "#6E6C6A",
17
- 550: "#6B6968",
18
- 600: "#4A4C4E",
19
- 650: "#4A4847",
20
- 700: "#3E4244",
21
- 750: "#2F3234",
22
- 800: "#2A2B2C",
23
- 825: "#232526",
24
- 850: "#1F2021",
25
- 875: "#1E1F20",
26
- 900: "#1C1D1E",
27
- 925: "#18191A",
28
- 950: "#141618",
29
- 1e3: "#000000"
30
- },
31
- orange: {
32
- 300: "#FFD098",
33
- 400: "#FF9950",
34
- 500: "#FF6D04",
35
- 600: "#D05700",
36
- 700: "#9B4200"
37
- },
38
- green: {
39
- 300: "#7AB87C",
40
- 400: "#4CA05A",
41
- 500: "#1E7D45",
42
- 600: "#166638",
43
- 700: "#0E4E2B"
44
- },
45
- red: {
46
- 300: "#FF9999",
47
- 400: "#FF6767",
48
- 500: "#C33636",
49
- 600: "#9B2727",
50
- 700: "#751D1D"
51
- },
52
- blue: {
53
- 300: "#86B5F6",
54
- 400: "#4F8BEF",
55
- 500: "#2563EB",
56
- 600: "#1D4EBA",
57
- 700: "#153A8A"
58
- },
59
- yellow: {
60
- 300: "#FCCB58",
61
- 400: "#ECAB2E",
62
- 500: "#D97706",
63
- 600: "#B26003",
64
- 700: "#8A4A02"
65
- },
66
- purple: {
67
- 300: "#CBA6FF",
68
- 400: "#AB81FB",
69
- 500: "#8B5CF6",
70
- 600: "#6F42C1",
71
- 700: "#532E91"
72
- },
73
- pink: {
74
- 300: "#F988B4",
75
- 400: "#EF5793",
76
- 500: "#DB2777",
77
- 600: "#AF1D5E",
78
- 700: "#851547"
79
- },
80
- teal: {
81
- 300: "#5EC6B9",
82
- 400: "#32ADA0",
83
- 500: "#0D9488",
84
- 600: "#0A766C",
85
- 700: "#075951"
86
- }
87
- }, a = {
88
- common: {
89
- brand: {
90
- primary: e.orange[500],
91
- accent: e.orange[400]
92
- },
93
- semantic: {
94
- success: e.green[500],
95
- destructive: e.red[500],
96
- info: e.blue[500],
97
- warning: e.yellow[500]
98
- }
99
- },
100
- dark: {
101
- content: {
102
- bg: {
103
- background: e.neutral[925],
104
- card: {
105
- 1: e.neutral[875],
106
- 2: e.neutral[825],
107
- elevated: e.neutral[750]
108
- },
109
- muted: e.neutral[850],
110
- popover: e.neutral[950],
111
- secondary: e.neutral[900],
112
- selected: "#FF6D041E",
113
- raised: e.neutral[750]
114
- },
115
- text: {
116
- fg: e.neutral[25],
117
- primary: e.neutral[0],
118
- secondary: e.neutral[450],
119
- tertiary: e.neutral[500],
120
- muted: e.neutral[400],
121
- placeholder: e.neutral[550],
122
- success: e.green[300],
123
- destructive: e.red[400],
124
- info: e.blue[300],
125
- warning: e.yellow[300],
126
- accent: e.orange[400],
127
- decorative: e.orange[300]
128
- },
129
- border: {
130
- default: e.neutral[750],
131
- strong: e.neutral[700],
132
- hover: e.neutral[600],
133
- focus: e.neutral[500],
134
- subtle: e.neutral[875],
135
- active: e.orange[500],
136
- error: e.red[400],
137
- success: e.green[300],
138
- warning: e.yellow[300],
139
- disabled: e.neutral[875],
140
- input: e.neutral[750],
141
- "input-hover": e.neutral[600],
142
- "input-focus": e.neutral[500]
143
- },
144
- status: {
145
- approved: e.green[300],
146
- review: e.orange[400],
147
- progress: e.purple[300],
148
- default: e.neutral[450],
149
- failed: e.red[400]
150
- },
151
- icon: {
152
- default: e.neutral[450],
153
- subtle: e.neutral[500],
154
- emphasis: e.neutral[0],
155
- muted: e.neutral[550],
156
- disabled: e.neutral[550],
157
- decorative: e.orange[400],
158
- brand: e.orange[500],
159
- dark: e.neutral[925],
160
- "brand-accent": e.orange[400],
161
- success: e.green[300],
162
- destructive: e.red[400],
163
- warning: e.yellow[300],
164
- info: e.blue[300]
165
- },
166
- overlay: {
167
- default: `color-mix(in srgb, ${e.neutral[1e3]} 60%, transparent)`,
168
- light: `color-mix(in srgb, ${e.neutral[1e3]} 40%, transparent)`,
169
- heavy: `color-mix(in srgb, ${e.neutral[1e3]} 80%, transparent)`
170
- },
171
- focus: {
172
- ring: `color-mix(in srgb, ${e.orange[500]} 50%, transparent)`
173
- },
174
- link: {
175
- default: e.blue[300],
176
- hover: e.blue[400],
177
- visited: e.purple[400]
178
- },
179
- palette: {
180
- 1: e.orange[500],
181
- 2: e.blue[500],
182
- 3: e.green[500],
183
- 4: e.purple[500],
184
- 5: e.pink[500],
185
- 6: e.yellow[500],
186
- 7: e.teal[500],
187
- 8: e.purple[600],
188
- 9: e.purple[700],
189
- 10: e.red[500],
190
- 11: e.yellow[600],
191
- 12: e.green[600],
192
- orange: e.orange[500],
193
- blue: e.blue[500],
194
- green: e.green[500],
195
- purple: e.purple[500],
196
- pink: e.pink[500],
197
- yellow: e.yellow[500],
198
- teal: e.teal[500],
199
- red: e.red[500]
200
- },
201
- skeleton: {
202
- base: e.neutral[825],
203
- shimmer: e.neutral[750]
204
- },
205
- tooltip: {
206
- bg: e.neutral[800],
207
- text: e.neutral[25]
208
- },
209
- code: {
210
- bg: e.neutral[950],
211
- text: e.orange[400],
212
- border: e.neutral[750]
213
- },
214
- scrollbar: {
215
- track: e.neutral[925],
216
- thumb: e.neutral[700],
217
- "thumb-hover": e.neutral[600]
218
- },
219
- selection: {
220
- bg: `color-mix(in srgb, ${e.orange[500]} 30%, transparent)`,
221
- text: e.neutral[0]
222
- }
223
- },
224
- action: {
225
- primary: {
226
- primary: e.orange[500],
227
- secondary: e.orange[600],
228
- tertiary: e.orange[700],
229
- text: e.neutral[0]
230
- },
231
- secondary: {
232
- primary: e.neutral[825],
233
- secondary: e.neutral[800],
234
- tertiary: e.neutral[875],
235
- text: e.neutral[0]
236
- },
237
- success: {
238
- primary: e.green[500],
239
- secondary: e.green[600],
240
- tertiary: e.green[700],
241
- text: e.neutral[0]
242
- },
243
- danger: {
244
- primary: e.red[500],
245
- secondary: e.red[600],
246
- tertiary: e.red[700],
247
- text: e.neutral[0]
248
- }
249
- }
250
- },
251
- light: {
252
- content: {
253
- bg: {
254
- background: e.neutral[50],
255
- card: {
256
- 1: e.neutral[0],
257
- 2: e.neutral[75],
258
- elevated: e.neutral[0]
259
- },
260
- muted: e.neutral[100],
261
- popover: e.neutral[0],
262
- secondary: e.neutral[125],
263
- selected: "#FF6D041E",
264
- // provisional light value (Figma is dark-authored); verify against
265
- // light-mode Figma when available
266
- raised: e.neutral[125]
267
- },
268
- text: {
269
- fg: e.neutral[1e3],
270
- primary: e.neutral[925],
271
- secondary: e.neutral[650],
272
- tertiary: e.neutral[550],
273
- muted: e.neutral[450],
274
- placeholder: e.neutral[300],
275
- success: e.green[600],
276
- destructive: e.red[600],
277
- info: e.blue[600],
278
- warning: e.yellow[700],
279
- accent: e.yellow[500],
280
- decorative: e.orange[400]
281
- },
282
- border: {
283
- default: e.neutral[150],
284
- strong: e.neutral[200],
285
- hover: e.neutral[250],
286
- focus: e.neutral[350],
287
- subtle: e.neutral[100],
288
- active: e.orange[500],
289
- error: e.red[500],
290
- success: e.green[500],
291
- warning: e.yellow[500],
292
- disabled: e.neutral[100],
293
- input: e.neutral[200],
294
- "input-hover": e.neutral[250],
295
- "input-focus": e.neutral[350]
296
- },
297
- status: {
298
- approved: e.green[500],
299
- review: e.orange[600],
300
- progress: e.purple[500],
301
- default: e.neutral[550],
302
- failed: e.red[500]
303
- },
304
- icon: {
305
- default: e.neutral[550],
306
- subtle: e.neutral[450],
307
- emphasis: e.neutral[925],
308
- muted: e.neutral[300],
309
- disabled: e.neutral[300],
310
- decorative: e.orange[600],
311
- brand: e.orange[500],
312
- dark: e.neutral[925],
313
- "brand-accent": e.orange[400],
314
- success: e.green[500],
315
- destructive: e.red[500],
316
- warning: e.yellow[500],
317
- info: e.blue[500]
318
- },
319
- overlay: {
320
- default: `color-mix(in srgb, ${e.neutral[1e3]} 50%, transparent)`,
321
- light: `color-mix(in srgb, ${e.neutral[1e3]} 30%, transparent)`,
322
- heavy: `color-mix(in srgb, ${e.neutral[1e3]} 70%, transparent)`
323
- },
324
- focus: {
325
- ring: `color-mix(in srgb, ${e.orange[500]} 50%, transparent)`
326
- },
327
- link: {
328
- default: e.blue[500],
329
- hover: e.blue[600],
330
- visited: e.purple[600]
331
- },
332
- palette: {
333
- 1: e.orange[500],
334
- 2: e.blue[500],
335
- 3: e.green[500],
336
- 4: e.purple[500],
337
- 5: e.pink[500],
338
- 6: e.yellow[500],
339
- 7: e.teal[500],
340
- 8: e.purple[600],
341
- 9: e.purple[700],
342
- 10: e.red[500],
343
- 11: e.yellow[600],
344
- 12: e.green[600],
345
- orange: e.orange[500],
346
- blue: e.blue[500],
347
- green: e.green[500],
348
- purple: e.purple[500],
349
- pink: e.pink[500],
350
- yellow: e.yellow[500],
351
- teal: e.teal[500],
352
- red: e.red[500]
353
- },
354
- skeleton: {
355
- base: e.neutral[100],
356
- shimmer: e.neutral[150]
357
- },
358
- tooltip: {
359
- bg: e.neutral[925],
360
- text: e.neutral[25]
361
- },
362
- code: {
363
- bg: e.neutral[75],
364
- text: e.orange[600],
365
- border: e.neutral[150]
366
- },
367
- scrollbar: {
368
- track: e.neutral[75],
369
- thumb: e.neutral[200],
370
- "thumb-hover": e.neutral[250]
371
- },
372
- selection: {
373
- bg: `color-mix(in srgb, ${e.orange[500]} 20%, transparent)`,
374
- text: e.neutral[1e3]
375
- }
376
- },
377
- action: {
378
- primary: {
379
- primary: e.orange[500],
380
- secondary: e.orange[600],
381
- tertiary: e.orange[700],
382
- text: e.neutral[0]
383
- },
384
- secondary: {
385
- primary: e.neutral[100],
386
- secondary: e.neutral[150],
387
- tertiary: e.neutral[200],
388
- text: e.neutral[1e3]
389
- },
390
- success: {
391
- primary: e.green[500],
392
- secondary: e.green[600],
393
- tertiary: e.green[700],
394
- text: e.neutral[0]
395
- },
396
- danger: {
397
- primary: e.red[500],
398
- secondary: e.red[600],
399
- tertiary: e.red[700],
400
- text: e.neutral[0]
401
- }
402
- }
403
- }
404
- }, o = {
405
- /**
406
- * Duration tokens — semantic names for how long an animation takes.
407
- *
408
- * instant (0ms) Use for state that should feel truly immediate.
409
- * fast (100ms) Micro-interactions: hover highlights, icon swaps.
410
- * normal (200ms) Default: color, border, and opacity changes.
411
- * moderate (300ms) Slightly heavier state changes: panel reveals, tooltips.
412
- * slow (500ms) Deliberate motion: drawers, slide-in panels.
413
- * deliberate(700ms) Page-level or dramatic transitions.
414
- */
415
- duration: {
416
- instant: "0ms",
417
- fast: "100ms",
418
- normal: "200ms",
419
- moderate: "300ms",
420
- slow: "500ms",
421
- deliberate: "700ms"
422
- },
423
- /**
424
- * Easing (timing-function) tokens.
425
- *
426
- * linear Constant speed. Mechanical feel; suits progress bars/loaders.
427
- * in Starts slow, accelerates. Best for exits / elements leaving the screen.
428
- * out Starts fast, decelerates. Best for entrances / elements arriving.
429
- * in-out Slow start and end. Best for general UI state changes.
430
- * spring Slight overshoot then settles. Adds energy to interactive elements.
431
- * sharp Quick in, gradual out. Crisp, snappy feel for menus/overlays.
432
- */
433
- easing: {
434
- linear: "linear",
435
- in: "cubic-bezier(0.4, 0, 1, 1)",
436
- out: "cubic-bezier(0, 0, 0.2, 1)",
437
- "in-out": "cubic-bezier(0.4, 0, 0.2, 1)",
438
- spring: "cubic-bezier(0.34, 1.56, 0.64, 1)",
439
- sharp: "cubic-bezier(0.4, 0, 0.6, 1)"
440
- },
441
- /**
442
- * Pre-composed transition shorthands for common UI patterns.
443
- * These bake in the right duration + easing for each context so
444
- * component authors pick semantics, not numbers.
445
- *
446
- * colors Background, text, border, fill, and stroke color changes.
447
- * opacity Fade in/out.
448
- * transform Scale, translate, and rotate.
449
- * shadow Box-shadow elevation changes.
450
- * menu Dropdown / context menu appear and disappear.
451
- * panel Drawers and slide-in sheets.
452
- * overlay Modal backdrop fade.
453
- * all General-purpose catch-all.
454
- */
455
- preset: {
456
- 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)",
457
- opacity: "opacity 200ms cubic-bezier(0.4, 0, 0.2, 1)",
458
- transform: "transform 200ms cubic-bezier(0, 0, 0.2, 1)",
459
- shadow: "box-shadow 200ms cubic-bezier(0.4, 0, 0.2, 1)",
460
- menu: "opacity 100ms cubic-bezier(0, 0, 0.2, 1), transform 100ms cubic-bezier(0, 0, 0.2, 1)",
461
- panel: "transform 300ms cubic-bezier(0, 0, 0.2, 1)",
462
- overlay: "opacity 200ms cubic-bezier(0.4, 0, 0.2, 1)",
463
- all: "all 200ms cubic-bezier(0.4, 0, 0.2, 1)"
464
- }
465
- }, n = (t) => Object.keys(t).filter((r) => /^\d+$/.test(r)).sort((r, u) => Number(r) - Number(u)), l = (t) => n(t).map((r) => t[r]), i = {
466
- dark: n(a.dark.content.palette),
467
- light: n(a.light.content.palette)
468
- }, s = {
469
- dark: l(a.dark.content.palette),
470
- light: l(a.light.content.palette)
471
- };
472
- export {
473
- i as a,
474
- e as b,
475
- a as c,
476
- s as p,
477
- o as t
478
- };
479
- //# sourceMappingURL=palette-B91vdbSd.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"palette-B91vdbSd.js","sources":["../src/theme/tokens/colors.ts","../src/theme/tokens/transitions.ts","../src/theme/tokens/palette.ts"],"sourcesContent":["/**\n * Color tokens.\n *\n * Two-tier system mirroring the Figma variables:\n * - `primitives`: raw color scales (neutral/orange/green/red/blue/yellow/\n * purple/pink/teal). Not emitted as CSS vars directly.\n * - `colors.{common,dark,light}`: semantic tokens that reference primitives.\n * These are flattened to CSS custom properties by the theme generator.\n *\n * Values are sourced from the Figma \"Theme\" variable collection (both modes).\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: \"#FFD098\",\n 400: \"#FF9950\",\n 500: \"#FF6D04\",\n 600: \"#D05700\",\n 700: \"#9B4200\",\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} 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 background: primitives.neutral[925],\n card: {\n 1: primitives.neutral[875],\n 2: primitives.neutral[825],\n elevated: primitives.neutral[750],\n },\n muted: primitives.neutral[850],\n popover: primitives.neutral[950],\n secondary: primitives.neutral[900],\n selected: \"#FF6D041E\",\n raised: primitives.neutral[750],\n },\n text: {\n fg: primitives.neutral[25],\n primary: primitives.neutral[0],\n secondary: primitives.neutral[450],\n tertiary: primitives.neutral[500],\n muted: primitives.neutral[400],\n placeholder: primitives.neutral[550],\n success: primitives.green[300],\n destructive: primitives.red[400],\n info: primitives.blue[300],\n warning: primitives.yellow[300],\n accent: primitives.orange[400],\n decorative: primitives.orange[300],\n },\n border: {\n default: primitives.neutral[750],\n strong: primitives.neutral[700],\n hover: primitives.neutral[600],\n focus: primitives.neutral[500],\n subtle: primitives.neutral[875],\n active: primitives.orange[500],\n error: primitives.red[400],\n success: primitives.green[300],\n warning: primitives.yellow[300],\n disabled: primitives.neutral[875],\n input: primitives.neutral[750],\n \"input-hover\": primitives.neutral[600],\n \"input-focus\": primitives.neutral[500],\n },\n status: {\n approved: primitives.green[300],\n review: primitives.orange[400],\n progress: primitives.purple[300],\n default: primitives.neutral[450],\n failed: primitives.red[400],\n },\n icon: {\n default: primitives.neutral[450],\n subtle: primitives.neutral[500],\n emphasis: primitives.neutral[0],\n muted: primitives.neutral[550],\n disabled: primitives.neutral[550],\n decorative: primitives.orange[400],\n brand: primitives.orange[500],\n dark: primitives.neutral[925],\n \"brand-accent\": primitives.orange[400],\n success: primitives.green[300],\n destructive: primitives.red[400],\n warning: primitives.yellow[300],\n info: primitives.blue[300],\n },\n overlay: {\n default: `color-mix(in srgb, ${primitives.neutral[1000]} 60%, transparent)`,\n light: `color-mix(in srgb, ${primitives.neutral[1000]} 40%, transparent)`,\n heavy: `color-mix(in srgb, ${primitives.neutral[1000]} 80%, transparent)`,\n },\n focus: {\n ring: `color-mix(in srgb, ${primitives.orange[500]} 50%, transparent)`,\n },\n link: {\n default: primitives.blue[300],\n hover: primitives.blue[400],\n visited: primitives.purple[400],\n },\n palette: {\n 1: primitives.orange[500],\n 2: primitives.blue[500],\n 3: primitives.green[500],\n 4: primitives.purple[500],\n 5: primitives.pink[500],\n 6: primitives.yellow[500],\n 7: primitives.teal[500],\n 8: primitives.purple[600],\n 9: primitives.purple[700],\n 10: primitives.red[500],\n 11: primitives.yellow[600],\n 12: primitives.green[600],\n orange: primitives.orange[500],\n blue: primitives.blue[500],\n green: primitives.green[500],\n purple: primitives.purple[500],\n pink: primitives.pink[500],\n yellow: primitives.yellow[500],\n teal: primitives.teal[500],\n red: primitives.red[500],\n },\n skeleton: {\n base: primitives.neutral[825],\n shimmer: primitives.neutral[750],\n },\n tooltip: {\n bg: primitives.neutral[800],\n text: primitives.neutral[25],\n },\n code: {\n bg: primitives.neutral[950],\n text: primitives.orange[400],\n border: primitives.neutral[750],\n },\n scrollbar: {\n track: primitives.neutral[925],\n thumb: primitives.neutral[700],\n \"thumb-hover\": primitives.neutral[600],\n },\n selection: {\n bg: `color-mix(in srgb, ${primitives.orange[500]} 30%, transparent)`,\n text: primitives.neutral[0],\n },\n },\n action: {\n primary: {\n primary: primitives.orange[500],\n secondary: primitives.orange[600],\n tertiary: primitives.orange[700],\n text: primitives.neutral[0],\n },\n secondary: {\n primary: primitives.neutral[825],\n secondary: primitives.neutral[800],\n tertiary: primitives.neutral[875],\n text: primitives.neutral[0],\n },\n success: {\n primary: primitives.green[500],\n secondary: primitives.green[600],\n tertiary: primitives.green[700],\n text: primitives.neutral[0],\n },\n danger: {\n primary: primitives.red[500],\n secondary: primitives.red[600],\n tertiary: primitives.red[700],\n text: primitives.neutral[0],\n },\n },\n },\n light: {\n content: {\n bg: {\n background: primitives.neutral[50],\n card: {\n 1: primitives.neutral[0],\n 2: primitives.neutral[75],\n elevated: primitives.neutral[0],\n },\n muted: primitives.neutral[100],\n popover: primitives.neutral[0],\n secondary: primitives.neutral[125],\n selected: \"#FF6D041E\",\n // provisional light value (Figma is dark-authored); verify against\n // light-mode Figma when available\n raised: primitives.neutral[125],\n },\n text: {\n fg: primitives.neutral[1000],\n primary: primitives.neutral[925],\n secondary: primitives.neutral[650],\n tertiary: primitives.neutral[550],\n muted: primitives.neutral[450],\n placeholder: primitives.neutral[300],\n success: primitives.green[600],\n destructive: primitives.red[600],\n info: primitives.blue[600],\n warning: primitives.yellow[700],\n accent: primitives.yellow[500],\n decorative: primitives.orange[400],\n },\n border: {\n default: primitives.neutral[150],\n strong: primitives.neutral[200],\n hover: primitives.neutral[250],\n focus: primitives.neutral[350],\n subtle: primitives.neutral[100],\n active: primitives.orange[500],\n error: primitives.red[500],\n success: primitives.green[500],\n warning: primitives.yellow[500],\n disabled: primitives.neutral[100],\n input: primitives.neutral[200],\n \"input-hover\": primitives.neutral[250],\n \"input-focus\": primitives.neutral[350],\n },\n status: {\n approved: primitives.green[500],\n review: primitives.orange[600],\n progress: primitives.purple[500],\n default: primitives.neutral[550],\n failed: primitives.red[500],\n },\n icon: {\n default: primitives.neutral[550],\n subtle: primitives.neutral[450],\n emphasis: primitives.neutral[925],\n muted: primitives.neutral[300],\n disabled: primitives.neutral[300],\n decorative: primitives.orange[600],\n brand: primitives.orange[500],\n dark: primitives.neutral[925],\n \"brand-accent\": primitives.orange[400],\n success: primitives.green[500],\n destructive: primitives.red[500],\n warning: primitives.yellow[500],\n info: primitives.blue[500],\n },\n overlay: {\n default: `color-mix(in srgb, ${primitives.neutral[1000]} 50%, transparent)`,\n light: `color-mix(in srgb, ${primitives.neutral[1000]} 30%, transparent)`,\n heavy: `color-mix(in srgb, ${primitives.neutral[1000]} 70%, transparent)`,\n },\n focus: {\n ring: `color-mix(in srgb, ${primitives.orange[500]} 50%, transparent)`,\n },\n link: {\n default: primitives.blue[500],\n hover: primitives.blue[600],\n visited: primitives.purple[600],\n },\n palette: {\n 1: primitives.orange[500],\n 2: primitives.blue[500],\n 3: primitives.green[500],\n 4: primitives.purple[500],\n 5: primitives.pink[500],\n 6: primitives.yellow[500],\n 7: primitives.teal[500],\n 8: primitives.purple[600],\n 9: primitives.purple[700],\n 10: primitives.red[500],\n 11: primitives.yellow[600],\n 12: primitives.green[600],\n orange: primitives.orange[500],\n blue: primitives.blue[500],\n green: primitives.green[500],\n purple: primitives.purple[500],\n pink: primitives.pink[500],\n yellow: primitives.yellow[500],\n teal: primitives.teal[500],\n red: primitives.red[500],\n },\n skeleton: {\n base: primitives.neutral[100],\n shimmer: primitives.neutral[150],\n },\n tooltip: {\n bg: primitives.neutral[925],\n text: primitives.neutral[25],\n },\n code: {\n bg: primitives.neutral[75],\n text: primitives.orange[600],\n border: primitives.neutral[150],\n },\n scrollbar: {\n track: primitives.neutral[75],\n thumb: primitives.neutral[200],\n \"thumb-hover\": primitives.neutral[250],\n },\n selection: {\n bg: `color-mix(in srgb, ${primitives.orange[500]} 20%, transparent)`,\n text: primitives.neutral[1000],\n },\n },\n action: {\n primary: {\n primary: primitives.orange[500],\n secondary: primitives.orange[600],\n tertiary: primitives.orange[700],\n text: primitives.neutral[0],\n },\n secondary: {\n primary: primitives.neutral[100],\n secondary: primitives.neutral[150],\n tertiary: primitives.neutral[200],\n text: primitives.neutral[1000],\n },\n success: {\n primary: primitives.green[500],\n secondary: primitives.green[600],\n tertiary: primitives.green[700],\n text: primitives.neutral[0],\n },\n danger: {\n primary: primitives.red[500],\n secondary: primitives.red[600],\n tertiary: primitives.red[700],\n text: primitives.neutral[0],\n },\n },\n },\n};\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 palette pool — the ordered colors handed out when something needs a\n * series of distinguishable colors (label coloring, chart series, legends).\n *\n * A palette is N colors, not a fixed count: the slots are whatever numbered\n * keys the tokens define, read in ascending numeric order. Adding\n * `palette.13` to the tokens extends the pool with no code change here, and\n * the named aliases (`orange`, `teal`, …) are deliberately excluded — they are\n * for naming a specific hue, not for handing out.\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/** Numbered slot keys for a palette, in ascending numeric order. */\nconst slotKeys = (palette: Record<string, string>): string[] =>\n Object.keys(palette)\n .filter((key) => /^\\d+$/.test(key))\n .sort((a, b) => Number(a) - Number(b));\n\nconst pool = (palette: Record<string, string>): string[] =>\n slotKeys(palette).map((key) => palette[key]);\n\nexport const paletteSlots = {\n dark: slotKeys(colors.dark.content.palette),\n light: slotKeys(colors.light.content.palette),\n} as const;\n\nexport const palettePool = {\n dark: pool(colors.dark.content.palette),\n light: pool(colors.light.content.palette),\n} as const;\n"],"names":["primitives","colors","transitions","slotKeys","palette","key","a","b","pool","paletteSlots","palettePool"],"mappings":"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"}