@polyxd/react 0.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 (63) hide show
  1. package/LICENSE +202 -0
  2. package/NOTICE +177 -0
  3. package/README.md +39 -0
  4. package/dist/components/avatar.d.ts +10 -0
  5. package/dist/components/avatar.js +47 -0
  6. package/dist/components/avatar.js.map +1 -0
  7. package/dist/components/chart.d.ts +5 -0
  8. package/dist/components/chart.js +98 -0
  9. package/dist/components/chart.js.map +1 -0
  10. package/dist/components/content.d.ts +23 -0
  11. package/dist/components/content.js +108 -0
  12. package/dist/components/content.js.map +1 -0
  13. package/dist/components/filter.d.ts +9 -0
  14. package/dist/components/filter.js +97 -0
  15. package/dist/components/filter.js.map +1 -0
  16. package/dist/components/flow.d.ts +22 -0
  17. package/dist/components/flow.js +143 -0
  18. package/dist/components/flow.js.map +1 -0
  19. package/dist/components/index.d.ts +10 -0
  20. package/dist/components/index.js +19 -0
  21. package/dist/components/index.js.map +1 -0
  22. package/dist/components/inputs.d.ts +38 -0
  23. package/dist/components/inputs.js +230 -0
  24. package/dist/components/inputs.js.map +1 -0
  25. package/dist/components/navigation.d.ts +8 -0
  26. package/dist/components/navigation.js +51 -0
  27. package/dist/components/navigation.js.map +1 -0
  28. package/dist/components/structure.d.ts +25 -0
  29. package/dist/components/structure.js +58 -0
  30. package/dist/components/structure.js.map +1 -0
  31. package/dist/components/table.d.ts +9 -0
  32. package/dist/components/table.js +144 -0
  33. package/dist/components/table.js.map +1 -0
  34. package/dist/context.d.ts +93 -0
  35. package/dist/context.js +42 -0
  36. package/dist/context.js.map +1 -0
  37. package/dist/data.d.ts +26 -0
  38. package/dist/data.js +52 -0
  39. package/dist/data.js.map +1 -0
  40. package/dist/format.d.ts +12 -0
  41. package/dist/format.js +51 -0
  42. package/dist/format.js.map +1 -0
  43. package/dist/index.d.ts +5 -0
  44. package/dist/index.js +6 -0
  45. package/dist/index.js.map +1 -0
  46. package/dist/surface.d.ts +37 -0
  47. package/dist/surface.js +80 -0
  48. package/dist/surface.js.map +1 -0
  49. package/package.json +53 -0
  50. package/src/styles.css +2182 -0
  51. package/themes/antd.css +300 -0
  52. package/themes/bootstrap.css +300 -0
  53. package/themes/carbon.css +310 -0
  54. package/themes/chakra.css +300 -0
  55. package/themes/fluent.css +300 -0
  56. package/themes/govuk.css +150 -0
  57. package/themes/mantine.css +300 -0
  58. package/themes/material3.css +300 -0
  59. package/themes/polaris.css +300 -0
  60. package/themes/primer.css +300 -0
  61. package/themes/radix.css +300 -0
  62. package/themes/shadcn.css +300 -0
  63. package/themes/spectrum.css +300 -0
@@ -0,0 +1,300 @@
1
+ /* Generated by @polyxd/react scripts/build-themes.ts from the mantine pack. Do not edit. */
2
+
3
+ [data-pxd-theme="mantine"]:not([data-pxd-mode]),
4
+ [data-pxd-theme="mantine"][data-pxd-mode="light"] {
5
+ --pxd-color-surface-default: #fff;
6
+ --pxd-color-surface-subtle: #f8f9fa;
7
+ --pxd-color-surface-raised: #fff;
8
+ --pxd-color-surface-overlay: #fff;
9
+ --pxd-color-surface-inverse: #000;
10
+ --pxd-color-scrim: rgba(0, 0, 0, 0.6);
11
+ --pxd-color-text-default: #000;
12
+ --pxd-color-text-muted: #495057;
13
+ --pxd-color-text-inverse: #fff;
14
+ --pxd-color-text-link: #1971c2;
15
+ --pxd-color-border-default: #ced4da;
16
+ --pxd-color-border-strong: #868e96;
17
+ --pxd-color-border-focus: #228be6;
18
+ --pxd-color-action-primary-background: #1971c2;
19
+ --pxd-color-action-primary-foreground: #fff;
20
+ --pxd-color-action-secondary-background: #fff;
21
+ --pxd-color-action-secondary-foreground: #000;
22
+ --pxd-color-action-secondary-border: #ced4da;
23
+ --pxd-color-action-danger-background: #e03131;
24
+ --pxd-color-action-danger-foreground: #fff;
25
+ --pxd-color-selection-background: #d0ebff;
26
+ --pxd-color-selection-foreground: #1864ab;
27
+ --pxd-color-status-info-background: #d0ebff;
28
+ --pxd-color-status-info-foreground: #1864ab;
29
+ --pxd-color-status-info-emphasis: #228be6;
30
+ --pxd-color-status-success-background: #d3f9d8;
31
+ --pxd-color-status-success-foreground: #000;
32
+ --pxd-color-status-success-emphasis: #2f9e44;
33
+ --pxd-color-status-warning-background: #fff3bf;
34
+ --pxd-color-status-warning-foreground: #000;
35
+ --pxd-color-status-warning-emphasis: #000;
36
+ --pxd-color-status-danger-background: #ffe3e3;
37
+ --pxd-color-status-danger-foreground: #c92a2a;
38
+ --pxd-color-status-danger-emphasis: #fa5252;
39
+ --pxd-color-data-categorical-1: #228be6;
40
+ --pxd-color-data-categorical-2: #0ca678;
41
+ --pxd-color-data-categorical-3: #be4bdb;
42
+ --pxd-color-data-categorical-4: #f76707;
43
+ --pxd-color-data-categorical-5: #e64980;
44
+ --pxd-color-data-categorical-6: #1098ad;
45
+ --pxd-color-data-positive: #2f9e44;
46
+ --pxd-color-data-negative: #fa5252;
47
+ --pxd-color-data-neutral: #868e96;
48
+ --pxd-type-title-page-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Helvetica, Arial, sans-serif, "Apple Color Emoji", "Segoe UI Emoji";
49
+ --pxd-type-title-page-size: 20px;
50
+ --pxd-type-title-page-weight: 700;
51
+ --pxd-type-title-page-line-height: 1.45;
52
+ --pxd-type-title-page-letter-spacing: 0px;
53
+ --pxd-type-title-section-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Helvetica, Arial, sans-serif, "Apple Color Emoji", "Segoe UI Emoji";
54
+ --pxd-type-title-section-size: 18px;
55
+ --pxd-type-title-section-weight: 600;
56
+ --pxd-type-title-section-line-height: 1.45;
57
+ --pxd-type-title-section-letter-spacing: 0px;
58
+ --pxd-type-title-item-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Helvetica, Arial, sans-serif, "Apple Color Emoji", "Segoe UI Emoji";
59
+ --pxd-type-title-item-size: 16px;
60
+ --pxd-type-title-item-weight: 600;
61
+ --pxd-type-title-item-line-height: 1.55;
62
+ --pxd-type-title-item-letter-spacing: 0px;
63
+ --pxd-type-body-default-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Helvetica, Arial, sans-serif, "Apple Color Emoji", "Segoe UI Emoji";
64
+ --pxd-type-body-default-size: 16px;
65
+ --pxd-type-body-default-weight: 400;
66
+ --pxd-type-body-default-line-height: 1.55;
67
+ --pxd-type-body-default-letter-spacing: 0px;
68
+ --pxd-type-body-small-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Helvetica, Arial, sans-serif, "Apple Color Emoji", "Segoe UI Emoji";
69
+ --pxd-type-body-small-size: 14px;
70
+ --pxd-type-body-small-weight: 400;
71
+ --pxd-type-body-small-line-height: 1.55;
72
+ --pxd-type-body-small-letter-spacing: 0px;
73
+ --pxd-type-label-default-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Helvetica, Arial, sans-serif, "Apple Color Emoji", "Segoe UI Emoji";
74
+ --pxd-type-label-default-size: 14px;
75
+ --pxd-type-label-default-weight: 500;
76
+ --pxd-type-label-default-line-height: 1.55;
77
+ --pxd-type-label-default-letter-spacing: 0px;
78
+ --pxd-type-label-small-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Helvetica, Arial, sans-serif, "Apple Color Emoji", "Segoe UI Emoji";
79
+ --pxd-type-label-small-size: 12px;
80
+ --pxd-type-label-small-weight: 500;
81
+ --pxd-type-label-small-line-height: 1.55;
82
+ --pxd-type-label-small-letter-spacing: 0px;
83
+ --pxd-type-numeric-display-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Helvetica, Arial, sans-serif, "Apple Color Emoji", "Segoe UI Emoji";
84
+ --pxd-type-numeric-display-size: 20px;
85
+ --pxd-type-numeric-display-weight: 700;
86
+ --pxd-type-numeric-display-line-height: 1.45;
87
+ --pxd-type-numeric-display-letter-spacing: 0px;
88
+ --pxd-space-inset-compact: 10px;
89
+ --pxd-space-inset-default: 16px;
90
+ --pxd-space-inset-comfortable: 20px;
91
+ --pxd-space-stack-tight: 10px;
92
+ --pxd-space-stack-default: 12px;
93
+ --pxd-space-stack-loose: 16px;
94
+ --pxd-space-stack-section: 32px;
95
+ --pxd-space-inline-tight: 10px;
96
+ --pxd-space-inline-default: 12px;
97
+ --pxd-space-inline-loose: 16px;
98
+ --pxd-size-target-min: 44px;
99
+ --pxd-size-icon-small: 14px;
100
+ --pxd-size-icon-default: 18px;
101
+ --pxd-radius-small: 2px;
102
+ --pxd-radius-control: 4px;
103
+ --pxd-radius-default: 8px;
104
+ --pxd-radius-large: 16px;
105
+ --pxd-radius-full: 9999px;
106
+ --pxd-border-width-default: 1px;
107
+ --pxd-border-width-strong: 2px;
108
+ --pxd-focus-ring-width: 2px;
109
+ --pxd-focus-ring-offset: 2px;
110
+ --pxd-measure-max: 65;
111
+ --pxd-opacity-state-hover: 0.06;
112
+ --pxd-opacity-state-pressed: 0.12;
113
+ --pxd-opacity-state-focus: 0.12;
114
+ --pxd-opacity-state-disabled: 0.4;
115
+ --pxd-shadow-raised: 0px 1px 3px 0px rgba(0, 0, 0, 0.05), 0px 10px 15px 0px rgba(0, 0, 0, 0.05), 0px 7px 7px 0px rgba(0, 0, 0, 0.04);
116
+ --pxd-shadow-overlay: 0px 1px 3px 0px rgba(0, 0, 0, 0.05), 0px 28px 23px 0px rgba(0, 0, 0, 0.05), 0px 12px 12px 0px rgba(0, 0, 0, 0.04);
117
+ --pxd-motion-duration-instant: 100ms;
118
+ --pxd-motion-duration-short: 150ms;
119
+ --pxd-motion-duration-medium: 200ms;
120
+ --pxd-motion-duration-long: 300ms;
121
+ --pxd-motion-easing-standard: cubic-bezier(0.4, 0, 0.2, 1);
122
+ --pxd-motion-easing-enter: cubic-bezier(0, 0, 0.2, 1);
123
+ --pxd-motion-easing-exit: cubic-bezier(0.4, 0, 1, 1);
124
+
125
+ /* shadcn/ui variable names, so shadcn components follow this pack too */
126
+ --background: var(--pxd-color-surface-default);
127
+ --foreground: var(--pxd-color-text-default);
128
+ --card: var(--pxd-color-surface-raised);
129
+ --card-foreground: var(--pxd-color-text-default);
130
+ --popover: var(--pxd-color-surface-overlay);
131
+ --popover-foreground: var(--pxd-color-text-default);
132
+ --primary: var(--pxd-color-action-primary-background);
133
+ --primary-foreground: var(--pxd-color-action-primary-foreground);
134
+ --secondary: var(--pxd-color-action-secondary-background);
135
+ --secondary-foreground: var(--pxd-color-action-secondary-foreground);
136
+ --muted: var(--pxd-color-surface-subtle);
137
+ --muted-foreground: var(--pxd-color-text-muted);
138
+ --accent: var(--pxd-color-selection-background);
139
+ --accent-foreground: var(--pxd-color-selection-foreground);
140
+ --destructive: var(--pxd-color-action-danger-background);
141
+ --border: var(--pxd-color-border-default);
142
+ --input: var(--pxd-color-border-strong);
143
+ --ring: var(--pxd-color-border-focus);
144
+ --radius: var(--pxd-radius-default);
145
+ --chart-1: var(--pxd-color-data-categorical-1);
146
+ --chart-2: var(--pxd-color-data-categorical-2);
147
+ --chart-3: var(--pxd-color-data-categorical-3);
148
+ --chart-4: var(--pxd-color-data-categorical-4);
149
+ --chart-5: var(--pxd-color-data-categorical-5);
150
+ color-scheme: light;
151
+ }
152
+
153
+ [data-pxd-theme="mantine"][data-pxd-mode="dark"] {
154
+ --pxd-color-surface-default: #242424;
155
+ --pxd-color-surface-subtle: #3b3b3b;
156
+ --pxd-color-surface-raised: #2e2e2e;
157
+ --pxd-color-surface-overlay: #2e2e2e;
158
+ --pxd-color-surface-inverse: #c9c9c9;
159
+ --pxd-color-scrim: rgba(0, 0, 0, 0.6);
160
+ --pxd-color-text-default: #c9c9c9;
161
+ --pxd-color-text-muted: #ced4da;
162
+ --pxd-color-text-inverse: #242424;
163
+ --pxd-color-text-link: #339af0;
164
+ --pxd-color-border-default: #424242;
165
+ --pxd-color-border-strong: #adb5bd;
166
+ --pxd-color-border-focus: #1971c2;
167
+ --pxd-color-action-primary-background: #1971c2;
168
+ --pxd-color-action-primary-foreground: #fff;
169
+ --pxd-color-action-secondary-background: #2e2e2e;
170
+ --pxd-color-action-secondary-foreground: #c9c9c9;
171
+ --pxd-color-action-secondary-border: #424242;
172
+ --pxd-color-action-danger-background: #e03131;
173
+ --pxd-color-action-danger-foreground: #fff;
174
+ --pxd-color-selection-background: rgba(12, 50, 86, 1);
175
+ --pxd-color-selection-foreground: #e7f5ff;
176
+ --pxd-color-status-info-background: rgba(12, 50, 86, 1);
177
+ --pxd-color-status-info-foreground: #e7f5ff;
178
+ --pxd-color-status-info-emphasis: #339af0;
179
+ --pxd-color-status-success-background: rgba(22, 69, 31, 1);
180
+ --pxd-color-status-success-foreground: #ebfbee;
181
+ --pxd-color-status-success-emphasis: #51cf66;
182
+ --pxd-color-status-warning-background: rgba(115, 60, 0, 1);
183
+ --pxd-color-status-warning-foreground: #fff9db;
184
+ --pxd-color-status-warning-emphasis: #fcc419;
185
+ --pxd-color-status-danger-background: rgba(101, 21, 21, 1);
186
+ --pxd-color-status-danger-foreground: #fff5f5;
187
+ --pxd-color-status-danger-emphasis: #ff6b6b;
188
+ --pxd-color-data-categorical-1: #339af0;
189
+ --pxd-color-data-categorical-2: #20c997;
190
+ --pxd-color-data-categorical-3: #cc5de8;
191
+ --pxd-color-data-categorical-4: #ff922b;
192
+ --pxd-color-data-categorical-5: #f06595;
193
+ --pxd-color-data-categorical-6: #22b8cf;
194
+ --pxd-color-data-positive: #51cf66;
195
+ --pxd-color-data-negative: #ff6b6b;
196
+ --pxd-color-data-neutral: #adb5bd;
197
+ --pxd-type-title-page-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Helvetica, Arial, sans-serif, "Apple Color Emoji", "Segoe UI Emoji";
198
+ --pxd-type-title-page-size: 20px;
199
+ --pxd-type-title-page-weight: 700;
200
+ --pxd-type-title-page-line-height: 1.45;
201
+ --pxd-type-title-page-letter-spacing: 0px;
202
+ --pxd-type-title-section-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Helvetica, Arial, sans-serif, "Apple Color Emoji", "Segoe UI Emoji";
203
+ --pxd-type-title-section-size: 18px;
204
+ --pxd-type-title-section-weight: 600;
205
+ --pxd-type-title-section-line-height: 1.45;
206
+ --pxd-type-title-section-letter-spacing: 0px;
207
+ --pxd-type-title-item-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Helvetica, Arial, sans-serif, "Apple Color Emoji", "Segoe UI Emoji";
208
+ --pxd-type-title-item-size: 16px;
209
+ --pxd-type-title-item-weight: 600;
210
+ --pxd-type-title-item-line-height: 1.55;
211
+ --pxd-type-title-item-letter-spacing: 0px;
212
+ --pxd-type-body-default-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Helvetica, Arial, sans-serif, "Apple Color Emoji", "Segoe UI Emoji";
213
+ --pxd-type-body-default-size: 16px;
214
+ --pxd-type-body-default-weight: 400;
215
+ --pxd-type-body-default-line-height: 1.55;
216
+ --pxd-type-body-default-letter-spacing: 0px;
217
+ --pxd-type-body-small-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Helvetica, Arial, sans-serif, "Apple Color Emoji", "Segoe UI Emoji";
218
+ --pxd-type-body-small-size: 14px;
219
+ --pxd-type-body-small-weight: 400;
220
+ --pxd-type-body-small-line-height: 1.55;
221
+ --pxd-type-body-small-letter-spacing: 0px;
222
+ --pxd-type-label-default-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Helvetica, Arial, sans-serif, "Apple Color Emoji", "Segoe UI Emoji";
223
+ --pxd-type-label-default-size: 14px;
224
+ --pxd-type-label-default-weight: 500;
225
+ --pxd-type-label-default-line-height: 1.55;
226
+ --pxd-type-label-default-letter-spacing: 0px;
227
+ --pxd-type-label-small-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Helvetica, Arial, sans-serif, "Apple Color Emoji", "Segoe UI Emoji";
228
+ --pxd-type-label-small-size: 12px;
229
+ --pxd-type-label-small-weight: 500;
230
+ --pxd-type-label-small-line-height: 1.55;
231
+ --pxd-type-label-small-letter-spacing: 0px;
232
+ --pxd-type-numeric-display-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Helvetica, Arial, sans-serif, "Apple Color Emoji", "Segoe UI Emoji";
233
+ --pxd-type-numeric-display-size: 20px;
234
+ --pxd-type-numeric-display-weight: 700;
235
+ --pxd-type-numeric-display-line-height: 1.45;
236
+ --pxd-type-numeric-display-letter-spacing: 0px;
237
+ --pxd-space-inset-compact: 10px;
238
+ --pxd-space-inset-default: 16px;
239
+ --pxd-space-inset-comfortable: 20px;
240
+ --pxd-space-stack-tight: 10px;
241
+ --pxd-space-stack-default: 12px;
242
+ --pxd-space-stack-loose: 16px;
243
+ --pxd-space-stack-section: 32px;
244
+ --pxd-space-inline-tight: 10px;
245
+ --pxd-space-inline-default: 12px;
246
+ --pxd-space-inline-loose: 16px;
247
+ --pxd-size-target-min: 44px;
248
+ --pxd-size-icon-small: 14px;
249
+ --pxd-size-icon-default: 18px;
250
+ --pxd-radius-small: 2px;
251
+ --pxd-radius-control: 4px;
252
+ --pxd-radius-default: 8px;
253
+ --pxd-radius-large: 16px;
254
+ --pxd-radius-full: 9999px;
255
+ --pxd-border-width-default: 1px;
256
+ --pxd-border-width-strong: 2px;
257
+ --pxd-focus-ring-width: 2px;
258
+ --pxd-focus-ring-offset: 2px;
259
+ --pxd-measure-max: 65;
260
+ --pxd-opacity-state-hover: 0.06;
261
+ --pxd-opacity-state-pressed: 0.12;
262
+ --pxd-opacity-state-focus: 0.12;
263
+ --pxd-opacity-state-disabled: 0.4;
264
+ --pxd-shadow-raised: 0px 1px 3px 0px rgba(0, 0, 0, 0.05), 0px 10px 15px 0px rgba(0, 0, 0, 0.05), 0px 7px 7px 0px rgba(0, 0, 0, 0.04);
265
+ --pxd-shadow-overlay: 0px 1px 3px 0px rgba(0, 0, 0, 0.05), 0px 28px 23px 0px rgba(0, 0, 0, 0.05), 0px 12px 12px 0px rgba(0, 0, 0, 0.04);
266
+ --pxd-motion-duration-instant: 100ms;
267
+ --pxd-motion-duration-short: 150ms;
268
+ --pxd-motion-duration-medium: 200ms;
269
+ --pxd-motion-duration-long: 300ms;
270
+ --pxd-motion-easing-standard: cubic-bezier(0.4, 0, 0.2, 1);
271
+ --pxd-motion-easing-enter: cubic-bezier(0, 0, 0.2, 1);
272
+ --pxd-motion-easing-exit: cubic-bezier(0.4, 0, 1, 1);
273
+
274
+ /* shadcn/ui variable names, so shadcn components follow this pack too */
275
+ --background: var(--pxd-color-surface-default);
276
+ --foreground: var(--pxd-color-text-default);
277
+ --card: var(--pxd-color-surface-raised);
278
+ --card-foreground: var(--pxd-color-text-default);
279
+ --popover: var(--pxd-color-surface-overlay);
280
+ --popover-foreground: var(--pxd-color-text-default);
281
+ --primary: var(--pxd-color-action-primary-background);
282
+ --primary-foreground: var(--pxd-color-action-primary-foreground);
283
+ --secondary: var(--pxd-color-action-secondary-background);
284
+ --secondary-foreground: var(--pxd-color-action-secondary-foreground);
285
+ --muted: var(--pxd-color-surface-subtle);
286
+ --muted-foreground: var(--pxd-color-text-muted);
287
+ --accent: var(--pxd-color-selection-background);
288
+ --accent-foreground: var(--pxd-color-selection-foreground);
289
+ --destructive: var(--pxd-color-action-danger-background);
290
+ --border: var(--pxd-color-border-default);
291
+ --input: var(--pxd-color-border-strong);
292
+ --ring: var(--pxd-color-border-focus);
293
+ --radius: var(--pxd-radius-default);
294
+ --chart-1: var(--pxd-color-data-categorical-1);
295
+ --chart-2: var(--pxd-color-data-categorical-2);
296
+ --chart-3: var(--pxd-color-data-categorical-3);
297
+ --chart-4: var(--pxd-color-data-categorical-4);
298
+ --chart-5: var(--pxd-color-data-categorical-5);
299
+ color-scheme: dark;
300
+ }
@@ -0,0 +1,300 @@
1
+ /* Generated by @polyxd/react scripts/build-themes.ts from the material3 pack. Do not edit. */
2
+
3
+ [data-pxd-theme="material3"]:not([data-pxd-mode]),
4
+ [data-pxd-theme="material3"][data-pxd-mode="light"] {
5
+ --pxd-color-surface-default: #fdf7ff;
6
+ --pxd-color-surface-subtle: #f2ecf4;
7
+ --pxd-color-surface-raised: #f8f2fa;
8
+ --pxd-color-surface-overlay: #ece6ee;
9
+ --pxd-color-surface-inverse: #322f35;
10
+ --pxd-color-scrim: rgb(0 0 0 / 0.32);
11
+ --pxd-color-text-default: #1d1b20;
12
+ --pxd-color-text-muted: #49454e;
13
+ --pxd-color-text-inverse: #f5eff7;
14
+ --pxd-color-text-link: #65558f;
15
+ --pxd-color-border-default: #cac4cf;
16
+ --pxd-color-border-strong: #7a757f;
17
+ --pxd-color-border-focus: #625b71;
18
+ --pxd-color-action-primary-background: #65558f;
19
+ --pxd-color-action-primary-foreground: #ffffff;
20
+ --pxd-color-action-secondary-background: #e8def8;
21
+ --pxd-color-action-secondary-foreground: #4a4458;
22
+ --pxd-color-action-secondary-border: #7a757f;
23
+ --pxd-color-action-danger-background: #ba1a1a;
24
+ --pxd-color-action-danger-foreground: #ffffff;
25
+ --pxd-color-selection-background: #e8def8;
26
+ --pxd-color-selection-foreground: #4a4458;
27
+ --pxd-color-status-info-background: #cee5ff;
28
+ --pxd-color-status-info-foreground: #004a75;
29
+ --pxd-color-status-info-emphasis: #00639a;
30
+ --pxd-color-status-success-background: #a3f69c;
31
+ --pxd-color-status-success-foreground: #005312;
32
+ --pxd-color-status-success-emphasis: #1b6d24;
33
+ --pxd-color-status-warning-background: #ffddb5;
34
+ --pxd-color-status-warning-foreground: #643f00;
35
+ --pxd-color-status-warning-emphasis: #835400;
36
+ --pxd-color-status-danger-background: #ffdad6;
37
+ --pxd-color-status-danger-foreground: #93000a;
38
+ --pxd-color-status-danger-emphasis: #ba1a1a;
39
+ --pxd-color-data-categorical-1: #6750a4;
40
+ --pxd-color-data-categorical-2: #006b5a;
41
+ --pxd-color-data-categorical-3: #904d00;
42
+ --pxd-color-data-categorical-4: #00658f;
43
+ --pxd-color-data-categorical-5: #586400;
44
+ --pxd-color-data-categorical-6: #984062;
45
+ --pxd-color-data-positive: #1b6d24;
46
+ --pxd-color-data-negative: #ba1a1a;
47
+ --pxd-color-data-neutral: #7a757f;
48
+ --pxd-type-title-page-family: Roboto, system-ui, sans-serif;
49
+ --pxd-type-title-page-size: 32px;
50
+ --pxd-type-title-page-weight: 400;
51
+ --pxd-type-title-page-line-height: 1.25;
52
+ --pxd-type-title-page-letter-spacing: 0px;
53
+ --pxd-type-title-section-family: Roboto, system-ui, sans-serif;
54
+ --pxd-type-title-section-size: 22px;
55
+ --pxd-type-title-section-weight: 400;
56
+ --pxd-type-title-section-line-height: 1.2727;
57
+ --pxd-type-title-section-letter-spacing: 0px;
58
+ --pxd-type-title-item-family: Roboto, system-ui, sans-serif;
59
+ --pxd-type-title-item-size: 16px;
60
+ --pxd-type-title-item-weight: 500;
61
+ --pxd-type-title-item-line-height: 1.5;
62
+ --pxd-type-title-item-letter-spacing: 0.15px;
63
+ --pxd-type-body-default-family: Roboto, system-ui, sans-serif;
64
+ --pxd-type-body-default-size: 16px;
65
+ --pxd-type-body-default-weight: 400;
66
+ --pxd-type-body-default-line-height: 1.5;
67
+ --pxd-type-body-default-letter-spacing: 0.5px;
68
+ --pxd-type-body-small-family: Roboto, system-ui, sans-serif;
69
+ --pxd-type-body-small-size: 14px;
70
+ --pxd-type-body-small-weight: 400;
71
+ --pxd-type-body-small-line-height: 1.4286;
72
+ --pxd-type-body-small-letter-spacing: 0.25px;
73
+ --pxd-type-label-default-family: Roboto, system-ui, sans-serif;
74
+ --pxd-type-label-default-size: 14px;
75
+ --pxd-type-label-default-weight: 500;
76
+ --pxd-type-label-default-line-height: 1.4286;
77
+ --pxd-type-label-default-letter-spacing: 0.1px;
78
+ --pxd-type-label-small-family: Roboto, system-ui, sans-serif;
79
+ --pxd-type-label-small-size: 12px;
80
+ --pxd-type-label-small-weight: 500;
81
+ --pxd-type-label-small-line-height: 1.3333;
82
+ --pxd-type-label-small-letter-spacing: 0.5px;
83
+ --pxd-type-numeric-display-family: Roboto, system-ui, sans-serif;
84
+ --pxd-type-numeric-display-size: 36px;
85
+ --pxd-type-numeric-display-weight: 400;
86
+ --pxd-type-numeric-display-line-height: 1.2222;
87
+ --pxd-type-numeric-display-letter-spacing: 0px;
88
+ --pxd-space-inset-compact: 8px;
89
+ --pxd-space-inset-default: 16px;
90
+ --pxd-space-inset-comfortable: 24px;
91
+ --pxd-space-stack-tight: 4px;
92
+ --pxd-space-stack-default: 8px;
93
+ --pxd-space-stack-loose: 16px;
94
+ --pxd-space-stack-section: 32px;
95
+ --pxd-space-inline-tight: 4px;
96
+ --pxd-space-inline-default: 8px;
97
+ --pxd-space-inline-loose: 16px;
98
+ --pxd-size-target-min: 48px;
99
+ --pxd-size-icon-small: 18px;
100
+ --pxd-size-icon-default: 24px;
101
+ --pxd-radius-small: 4px;
102
+ --pxd-radius-control: 9999px;
103
+ --pxd-radius-default: 12px;
104
+ --pxd-radius-large: 28px;
105
+ --pxd-radius-full: 9999px;
106
+ --pxd-border-width-default: 1px;
107
+ --pxd-border-width-strong: 2px;
108
+ --pxd-focus-ring-width: 3px;
109
+ --pxd-focus-ring-offset: 2px;
110
+ --pxd-measure-max: 65;
111
+ --pxd-opacity-state-hover: 0.08;
112
+ --pxd-opacity-state-pressed: 0.12;
113
+ --pxd-opacity-state-focus: 0.12;
114
+ --pxd-opacity-state-disabled: 0.38;
115
+ --pxd-shadow-raised: 0px 1px 2px 0px rgb(0 0 0 / 0.3), 0px 1px 3px 1px rgb(0 0 0 / 0.15);
116
+ --pxd-shadow-overlay: 0px 1px 3px 0px rgb(0 0 0 / 0.3), 0px 4px 8px 3px rgb(0 0 0 / 0.15);
117
+ --pxd-motion-duration-instant: 50ms;
118
+ --pxd-motion-duration-short: 200ms;
119
+ --pxd-motion-duration-medium: 300ms;
120
+ --pxd-motion-duration-long: 500ms;
121
+ --pxd-motion-easing-standard: cubic-bezier(0.2, 0, 0, 1);
122
+ --pxd-motion-easing-enter: cubic-bezier(0.05, 0.7, 0.1, 1);
123
+ --pxd-motion-easing-exit: cubic-bezier(0.3, 0, 0.8, 0.15);
124
+
125
+ /* shadcn/ui variable names, so shadcn components follow this pack too */
126
+ --background: var(--pxd-color-surface-default);
127
+ --foreground: var(--pxd-color-text-default);
128
+ --card: var(--pxd-color-surface-raised);
129
+ --card-foreground: var(--pxd-color-text-default);
130
+ --popover: var(--pxd-color-surface-overlay);
131
+ --popover-foreground: var(--pxd-color-text-default);
132
+ --primary: var(--pxd-color-action-primary-background);
133
+ --primary-foreground: var(--pxd-color-action-primary-foreground);
134
+ --secondary: var(--pxd-color-action-secondary-background);
135
+ --secondary-foreground: var(--pxd-color-action-secondary-foreground);
136
+ --muted: var(--pxd-color-surface-subtle);
137
+ --muted-foreground: var(--pxd-color-text-muted);
138
+ --accent: var(--pxd-color-selection-background);
139
+ --accent-foreground: var(--pxd-color-selection-foreground);
140
+ --destructive: var(--pxd-color-action-danger-background);
141
+ --border: var(--pxd-color-border-default);
142
+ --input: var(--pxd-color-border-strong);
143
+ --ring: var(--pxd-color-border-focus);
144
+ --radius: var(--pxd-radius-default);
145
+ --chart-1: var(--pxd-color-data-categorical-1);
146
+ --chart-2: var(--pxd-color-data-categorical-2);
147
+ --chart-3: var(--pxd-color-data-categorical-3);
148
+ --chart-4: var(--pxd-color-data-categorical-4);
149
+ --chart-5: var(--pxd-color-data-categorical-5);
150
+ color-scheme: light;
151
+ }
152
+
153
+ [data-pxd-theme="material3"][data-pxd-mode="dark"] {
154
+ --pxd-color-surface-default: #141218;
155
+ --pxd-color-surface-subtle: #211f24;
156
+ --pxd-color-surface-raised: #1d1b20;
157
+ --pxd-color-surface-overlay: #2b292f;
158
+ --pxd-color-surface-inverse: #e6e0e9;
159
+ --pxd-color-scrim: rgb(0 0 0 / 0.32);
160
+ --pxd-color-text-default: #e6e0e9;
161
+ --pxd-color-text-muted: #cac4cf;
162
+ --pxd-color-text-inverse: #322f35;
163
+ --pxd-color-text-link: #cfbdfe;
164
+ --pxd-color-border-default: #49454e;
165
+ --pxd-color-border-strong: #948f99;
166
+ --pxd-color-border-focus: #cbc2db;
167
+ --pxd-color-action-primary-background: #cfbdfe;
168
+ --pxd-color-action-primary-foreground: #36275d;
169
+ --pxd-color-action-secondary-background: #4a4458;
170
+ --pxd-color-action-secondary-foreground: #e8def8;
171
+ --pxd-color-action-secondary-border: #948f99;
172
+ --pxd-color-action-danger-background: #ffb4ab;
173
+ --pxd-color-action-danger-foreground: #690005;
174
+ --pxd-color-selection-background: #4a4458;
175
+ --pxd-color-selection-foreground: #e8def8;
176
+ --pxd-color-status-info-background: #004a75;
177
+ --pxd-color-status-info-foreground: #cee5ff;
178
+ --pxd-color-status-info-emphasis: #96ccff;
179
+ --pxd-color-status-success-background: #005312;
180
+ --pxd-color-status-success-foreground: #a3f69c;
181
+ --pxd-color-status-success-emphasis: #88d982;
182
+ --pxd-color-status-warning-background: #643f00;
183
+ --pxd-color-status-warning-foreground: #ffddb5;
184
+ --pxd-color-status-warning-emphasis: #ffb957;
185
+ --pxd-color-status-danger-background: #93000a;
186
+ --pxd-color-status-danger-foreground: #ffdad6;
187
+ --pxd-color-status-danger-emphasis: #ffb4ab;
188
+ --pxd-color-data-categorical-1: #cfbcff;
189
+ --pxd-color-data-categorical-2: #5adbbf;
190
+ --pxd-color-data-categorical-3: #ffb77b;
191
+ --pxd-color-data-categorical-4: #85cfff;
192
+ --pxd-color-data-categorical-5: #bfcf61;
193
+ --pxd-color-data-categorical-6: #ffb0c9;
194
+ --pxd-color-data-positive: #88d982;
195
+ --pxd-color-data-negative: #ffb4ab;
196
+ --pxd-color-data-neutral: #948f99;
197
+ --pxd-type-title-page-family: Roboto, system-ui, sans-serif;
198
+ --pxd-type-title-page-size: 32px;
199
+ --pxd-type-title-page-weight: 400;
200
+ --pxd-type-title-page-line-height: 1.25;
201
+ --pxd-type-title-page-letter-spacing: 0px;
202
+ --pxd-type-title-section-family: Roboto, system-ui, sans-serif;
203
+ --pxd-type-title-section-size: 22px;
204
+ --pxd-type-title-section-weight: 400;
205
+ --pxd-type-title-section-line-height: 1.2727;
206
+ --pxd-type-title-section-letter-spacing: 0px;
207
+ --pxd-type-title-item-family: Roboto, system-ui, sans-serif;
208
+ --pxd-type-title-item-size: 16px;
209
+ --pxd-type-title-item-weight: 500;
210
+ --pxd-type-title-item-line-height: 1.5;
211
+ --pxd-type-title-item-letter-spacing: 0.15px;
212
+ --pxd-type-body-default-family: Roboto, system-ui, sans-serif;
213
+ --pxd-type-body-default-size: 16px;
214
+ --pxd-type-body-default-weight: 400;
215
+ --pxd-type-body-default-line-height: 1.5;
216
+ --pxd-type-body-default-letter-spacing: 0.5px;
217
+ --pxd-type-body-small-family: Roboto, system-ui, sans-serif;
218
+ --pxd-type-body-small-size: 14px;
219
+ --pxd-type-body-small-weight: 400;
220
+ --pxd-type-body-small-line-height: 1.4286;
221
+ --pxd-type-body-small-letter-spacing: 0.25px;
222
+ --pxd-type-label-default-family: Roboto, system-ui, sans-serif;
223
+ --pxd-type-label-default-size: 14px;
224
+ --pxd-type-label-default-weight: 500;
225
+ --pxd-type-label-default-line-height: 1.4286;
226
+ --pxd-type-label-default-letter-spacing: 0.1px;
227
+ --pxd-type-label-small-family: Roboto, system-ui, sans-serif;
228
+ --pxd-type-label-small-size: 12px;
229
+ --pxd-type-label-small-weight: 500;
230
+ --pxd-type-label-small-line-height: 1.3333;
231
+ --pxd-type-label-small-letter-spacing: 0.5px;
232
+ --pxd-type-numeric-display-family: Roboto, system-ui, sans-serif;
233
+ --pxd-type-numeric-display-size: 36px;
234
+ --pxd-type-numeric-display-weight: 400;
235
+ --pxd-type-numeric-display-line-height: 1.2222;
236
+ --pxd-type-numeric-display-letter-spacing: 0px;
237
+ --pxd-space-inset-compact: 8px;
238
+ --pxd-space-inset-default: 16px;
239
+ --pxd-space-inset-comfortable: 24px;
240
+ --pxd-space-stack-tight: 4px;
241
+ --pxd-space-stack-default: 8px;
242
+ --pxd-space-stack-loose: 16px;
243
+ --pxd-space-stack-section: 32px;
244
+ --pxd-space-inline-tight: 4px;
245
+ --pxd-space-inline-default: 8px;
246
+ --pxd-space-inline-loose: 16px;
247
+ --pxd-size-target-min: 48px;
248
+ --pxd-size-icon-small: 18px;
249
+ --pxd-size-icon-default: 24px;
250
+ --pxd-radius-small: 4px;
251
+ --pxd-radius-control: 9999px;
252
+ --pxd-radius-default: 12px;
253
+ --pxd-radius-large: 28px;
254
+ --pxd-radius-full: 9999px;
255
+ --pxd-border-width-default: 1px;
256
+ --pxd-border-width-strong: 2px;
257
+ --pxd-focus-ring-width: 3px;
258
+ --pxd-focus-ring-offset: 2px;
259
+ --pxd-measure-max: 65;
260
+ --pxd-opacity-state-hover: 0.08;
261
+ --pxd-opacity-state-pressed: 0.12;
262
+ --pxd-opacity-state-focus: 0.12;
263
+ --pxd-opacity-state-disabled: 0.38;
264
+ --pxd-shadow-raised: 0px 1px 2px 0px rgb(0 0 0 / 0.3), 0px 1px 3px 1px rgb(0 0 0 / 0.15);
265
+ --pxd-shadow-overlay: 0px 1px 3px 0px rgb(0 0 0 / 0.3), 0px 4px 8px 3px rgb(0 0 0 / 0.15);
266
+ --pxd-motion-duration-instant: 50ms;
267
+ --pxd-motion-duration-short: 200ms;
268
+ --pxd-motion-duration-medium: 300ms;
269
+ --pxd-motion-duration-long: 500ms;
270
+ --pxd-motion-easing-standard: cubic-bezier(0.2, 0, 0, 1);
271
+ --pxd-motion-easing-enter: cubic-bezier(0.05, 0.7, 0.1, 1);
272
+ --pxd-motion-easing-exit: cubic-bezier(0.3, 0, 0.8, 0.15);
273
+
274
+ /* shadcn/ui variable names, so shadcn components follow this pack too */
275
+ --background: var(--pxd-color-surface-default);
276
+ --foreground: var(--pxd-color-text-default);
277
+ --card: var(--pxd-color-surface-raised);
278
+ --card-foreground: var(--pxd-color-text-default);
279
+ --popover: var(--pxd-color-surface-overlay);
280
+ --popover-foreground: var(--pxd-color-text-default);
281
+ --primary: var(--pxd-color-action-primary-background);
282
+ --primary-foreground: var(--pxd-color-action-primary-foreground);
283
+ --secondary: var(--pxd-color-action-secondary-background);
284
+ --secondary-foreground: var(--pxd-color-action-secondary-foreground);
285
+ --muted: var(--pxd-color-surface-subtle);
286
+ --muted-foreground: var(--pxd-color-text-muted);
287
+ --accent: var(--pxd-color-selection-background);
288
+ --accent-foreground: var(--pxd-color-selection-foreground);
289
+ --destructive: var(--pxd-color-action-danger-background);
290
+ --border: var(--pxd-color-border-default);
291
+ --input: var(--pxd-color-border-strong);
292
+ --ring: var(--pxd-color-border-focus);
293
+ --radius: var(--pxd-radius-default);
294
+ --chart-1: var(--pxd-color-data-categorical-1);
295
+ --chart-2: var(--pxd-color-data-categorical-2);
296
+ --chart-3: var(--pxd-color-data-categorical-3);
297
+ --chart-4: var(--pxd-color-data-categorical-4);
298
+ --chart-5: var(--pxd-color-data-categorical-5);
299
+ color-scheme: dark;
300
+ }